Skip over navigation
Outline
Indent Level
Color Curly Brackets (indicating CPC extensions to IPC)

CPC
COOPERATIVE PATENT CLASSIFICATION
Collapse
ELECTRICAL DIGITAL DATA PROCESSING( computers in which a part of the computation is effected hydraulically or pneumatically G06D; optically G06E; self-contained input or output peripheral equipment G06K; impedance networks using digital techniques H03H )
NOTE
-
In this subclass, the following terms or expressions are used with the meaning indicated:
- "handling" includes processing or transporting of data;
- "data processing equipment" means an association of an electric digital data processor classifiable under group G06F 7/00 , with one or more arrangements classifiable under groups G06F 1/00 to G06F 5/00 and G06F 9/00 to G06F 13/00 .

WARNING
-
The following IPC groups are not used in the CPC scheme. Subject matter covered by these groups is classified in the following CPC groups:
G06F3/18 covered by G06F 3/00 , G06K 11/00
G06F7/04 covered by G06F 7/02
G06F9/302 - G06F9/318 covered by G06F 9/30
- G06F9/40 covered by G06F 9/4425 and subgroups - G06F9/42 covered by G06F 9/4426 and subgroups - G06F9/45 covered by G06F 8/41 and subgroups

Collapse
Details of data-processing equipment not covered by groups G06F 3/00 to G06F 13/00 ,
{
e.g. cooling, packaging or power supply specially adapted for computer application( security arrangements for protecting computers or computer systems against unauthorised activity G06F 21/00 )
}
Collapse
G06F 1/02
.
Digital function generators
{
( evaluating functions by calculating only G06F 7/544 , G06F 7/60 ; generating sawtooth or staircase waveforms H03K 4/00 )
}
G06F 1/022
. .
{
Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
}
( G06F 1/025 , G06F 1/03 take precedence )
Collapse
G06F 1/025
. .
for functions having two-valued amplitude, e.g. Walsh functions
{
( generation of pulse trains in general H03K 3/00 )
}
G06F 1/0255
. . .
{
Walsh or analogous functions
}
Collapse
G06F 1/03
. .
working, at least partly, by table look-up( G06F 1/025 takes precedence )]
NOTE
-
In order to be classified in this group, the table must contain function values of the desired or an intermediate function, not merely coefficients.

G06F 1/0307
. . .
{
Logarithmic or exponential functions( G06F 1/0314 , G06F 1/035 take precedence )
}
G06F 1/0314
. . .
{
the table being stored on a peripheral device, e.g. papertape, drum
}
Collapse
G06F 1/0321
. . .
{
Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers( G06F 1/0314 , G06F 1/035 take precedence )
}
Collapse
G06F 1/0328
. . . .
{
in which the phase increment is adjustable, e.g. by using an adder-accumulator
}
G06F 1/0335
. . . . .
{
the phase increment itself being a composed function of two or more variables, e.g. frequency and phase
}
G06F 1/0342
. . . .
{
for generating simultaneously two or more related waveforms, e.g. with different phase angles only
}
Collapse
G06F 1/035
. . .
Reduction of table size
{
( G06F 1/0314 takes precedence )
}
G06F 1/0353
. . . .
{
by using symmetrical properties of the function, e.g. using most significant bits for quadrant control
}
G06F 1/0356
. . . .
{
by using two or more smaller tables, e.g. addressed by parts of the argument
}
Collapse
.
Generating or distributing clock signals or signals derived directly therefrom
G06F 1/06
. .
Clock generators producing several clock signals
{
( G06F 1/08 to G06F 1/14 take precedence )
}
G06F 1/08
. .
Clock generators with changeable or programmable clock frequency
Collapse
. .
Distribution of clock signals
{
e.g. skew
}
. . .
{
in which the distribution is at least partially optical
}
G06F 1/12
. .
Synchronisation of different clock signals
{
provided by a plurality of clock generators
}
G06F 1/14
. .
Time supervision arrangements, e.g. real time clock
Collapse
G06F 1/16
.
Constructional details or arrangements( instrument details G12B )
Collapse
G06F 1/1601
. .
{
Constructional details related to the housing of computer displays, e.g. of CRT monitors, of flat displays( constructional details related to flat displays integrated in a portable computer, e.g. laptop, handheld computer G06F 1/1637 ; constructional details related to television receivers H04N 5/64 )
}
. . .
{
Arrangements to protect the display from incident light, e.g. hoods
}
G06F 1/1605
. . .
{
Multimedia displays, e.g. with integrated or attached speakers, cameras, microphones
}
Collapse
. . .
{
Arrangements to support accessories mechanically attached to the display housing( G06F 1/1603 , G06F 1/1605 take precedence )
}
G06F 1/1609
. . . .
{
to support filters or lenses
}
G06F 1/1611
. . . .
{
to support document holders
}
Collapse
. .
{
for portable computers( cooling arrangements therefor G06F 1/203 ; constructional details or arrangements for pocket calculators, electronic agendas or books G06F 15/0216 ; constructional details of portable telephone sets: with several bodies H04M 1/0202 )
}
Collapse
. . .
{
with several enclosures having relative motions, each enclosure supporting at least one I/O or computing function( constructional details of portable telephones comprising a plurality of mechanically joined movable body parts H04M 1/0206 )
}
Collapse
. . . .
{
with folding flat displays, e.g. laptop computers or notebooks having a clamshell configuration, with body parts pivoting to an open position around an axis parallel to the plane they define in closed position
}
. . . . .
{
the display being foldable up to the back of the other housing with a single degree of freedom, e.g. by 360° rotation over the axis defined by the rear edge of the base enclosure
}
[1012]
. . . . .
{
changing, e.g. reversing, the face orientation of the screen with a two degrees of freedom mechanism, e.g. for folding into tablet PC like position or orienting towards the direction opposite to the user to show to a second user
}
. . . .
{
with enclosures rotating around an axis perpendicular to the plane they define or with ball-joint coupling, e.g. PDA with display enclosure orientation changeable between portrait and landscape by rotation with respect to a coplanar body enclosure
}
. . . .
{
with sliding enclosures, e.g. sliding keyboard or display
}
G06F 1/1626
. . .
{
with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs
}
]
. . .
{
Carrying enclosures containing additional elements, e.g. case for a laptop and a printer
}
. . .
{
Wearable computers, e.g. on a belt
}
. . .
{
External expansion units, e.g. docking stations
}
Collapse
. . .
{
Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F 1/1615 to G06F 1/1626
}
. . . .
{
Details related to the integration of battery packs and other power supplies such as fuel cells or integrated AC adapter( details of mounting batteries in general H01M 2/1022 )
}
Collapse
. . . .
{
Details related to the display arrangement, including those related to the mounting of the display in the housing( constructional details related to the housing of computer displays in general G06F 1/1601 )
}
G06F 1/1639
. . . . .
{
the display being based on projection
}
. . . . .
{
the display being formed by a plurality of foldable display components( G06F 1/1647 takes precedence )
}
G06F 1/1643
. . . . .
{
the display being associated to a digitizer, e.g. laptops that can be used as penpads( touchpads integrated in a laptop or similar computer G06F 1/169 ; secondary touch screen G06F 1/1692 ; details related to the relative motion of the display enclosure with respect to the body enclosure; e.g. to move between laptop and tablet PC configuration G06F 1/1615 )
}
G06F 1/1645
. . . . .
{
the display being suitable to be used in combination with an external overhead projector
}
Collapse
. . . . .
{
including at least an additional display( G06F 1/1692 takes precedence )
}
G06F 1/1649
. . . . . .
{
the additional display being independently orientable, e.g. for presenting information to a second user
}
. . . . . .
{
the additional display being small, e.g. for presenting status information
}
. . . . .
{
the display being flexible, e.g. mimicking a sheet of paper, or rollable
}
G06F 1/1654
. . . . .
{
the display being detachable, e.g. for remote use
}
Collapse
. . . .
{
Details related to functional adaptations of the enclosure, e.g. to provide protection against EMI, shock, water, or to host detachable peripherals like a mouse or removable expansions units like PCMCIA cards, or to provide access to internal components for maintenance or to removable storage supports like CDs or DVDs, or to mechanically mount accessories( mounting of accessories to a computer display G06F 1/1607 ; display hoods G06F 1/1603 ; cooling arrangements for portable computers G06F 1/203 )
}
. . . . .
{
related to the mounting of internal components, e.g. disc drive or any other functional module
}
G06F 1/166
. . . . .
{
related to integrated arrangements for adjusting the position of the main body with respect to the supporting surface, e.g. legs for adjusting the tilt angle
}
Collapse
. . . .
{
Details related to the integrated keyboard
}
G06F 1/1664
. . . . .
{
Arrangements for ergonomically adjusting the disposition of keys of the integrated keyboard
}
G06F 1/1666
. . . . .
{
Arrangements for reducing the size of the integrated keyboard for transport, e.g. foldable keyboards, keyboards with collapsible keys( G06F 1/1664 takes precedence )
}
G06F 1/1667
. . . . .
{
Arrangements for adjusting the tilt angle of the integrated keyboard independently from the main body( adjusting the tilt angle integrally with the main body G06F 1/166 )
}
G06F 1/1669
. . . . .
{
Detachable keyboards
}
G06F 1/1671
. . . . .
{
Special purpose buttons or auxiliary keyboards, e.g. retractable mini keypads, keypads or buttons that remain accessible at closed laptop( G06F 1/1666 takes precedence )
}
. . . . .
{
Arrangements for projecting a virtual keyboard
}
Collapse
. . . .
{
Miscellaneous details related to the relative movement between the different enclosures or enclosure parts which could be adopted independently from the movement typologies specified in G06F 1/1615 and subgroups
}
. . . . .
{
for detecting open or closed state or particular intermediate positions assumed by movable parts of the enclosure, e.g. detection of display lid position with respect to main body in a laptop, detection of opening of the cover of battery compartment
}
G06F 1/1679
. . . . .
{
for locking or maintaining the movable parts of the enclosure in a fixed position, e.g. latching mechanism at the edge of the display in a laptop or for the screen protective cover of a PDA( G06F 1/1681 takes precedence )
}
. . . . .
{
Details related solely to hinges( hinge details related to the transmission of signals or power are classified in G06F 1/1683 )
}
. . . . .
{
for the transmission of signal or power between the different housings, e.g. details of wired or wireless communication, passage of cabling
}
Collapse
G06F 1/1684
. . . .
{
Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F 1/1635 to G06F 1/1675
}
. . . . .
{
the I/O peripheral being an integrated camera
}
. . . . .
{
the I/O peripheral being integrated loudspeakers
}
Collapse
. . . . .
{
the I/O peripheral being an integrated pointing device, e.g. trackball in the palm rest area, mini-joystick integrated between keyboard keys, touch pads or touch stripes( G06F 1/1643 takes precedence; constructional details of pointing devices G06F 3/033 ; joysticks in general G05G 9/047 )
}
. . . . . .
{
the I/O peripheral being a secondary touch screen used as control interface, e.g. virtual buttons or sliders
}
. . . . .
{
the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
}
. . . . .
{
the I/O peripheral being a printing or scanning device
}
. . . . .
{
the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone( details of antennas disposed inside a computer H01Q 1/2266 )
}
Collapse
. .
Packaging or power distribution
{
( for electrical apparatus in general H05K , H02J )
}
Collapse
. . .
{
Enclosures( for electric apparatus in general H05K 5/00 ; for portable computers G06F 1/1613 )
}
. . . .
{
with special features, e.g. for use in industrial environments; grounding or shielding against radio frequency interference( RFI )or electromagnetical interference (EMI)( in general H05K 9/00 )
}
Collapse
. . .
{
Internal mounting support structures, e.g. for printed circuit boards( in general H05K 7/1422 ), internal connecting means( for buses G06F 13/409 )
}
G06F 1/184
. . . .
{
Mounting of motherboards( in general H05K 7/1429 )
}
. . . .
{
Mounting of expansion boards( in general H05K 7/1417 )
}
. . . .
{
Securing of expansion boards in correspondence to slots provided at the computer enclosure( in general H05K 7/1402 )
}
. . . .
{
Mounting of fixed and removable disk drives( constructional details of disk drives housings in general G11B 33/00 )
}
G06F 1/188
. . . .
{
Mounting of power supply units( power supply for computers, per se G06F 1/26 )
}
G06F 1/189
. . .
{
Power distribution
}
Collapse
G06F 1/20
. .
Cooling means
G06F 1/203
. . .
{
for portable computers, e.g. for laptops
}
. . .
{
comprising thermal management
}
G06F 1/22
.
Means for limiting or controlling the pin/gate ratio
G06F 1/24
.
Resetting means( micro-programme loading G06F 9/24 ; restoration from data faults G06F 11/00 )
Collapse
.
Power supply means, e.g. regulation thereof( for memories G11C;
{
regulation in general G05F
}
)
. .
{
Arrangements for using multiple switchable power supplies, e.g. battery and AC( G06F 1/30 takes precedence )
}
. .
{
Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
}
. .
Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
Collapse
G06F 1/30
. .
Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations( for resetting only G06F 1/24 ; involving the processing of data-words G06F 11/00 )
G06F 1/305
. . .
{
in the event of power-supply fluctuations
}
WARNING
-
Not complete, see also G06F 1/30

Collapse
. .
Means for saving power
Collapse
. . .
{
Power Management, i.e. event-based initiation of power-saving mode
}
Collapse
. . . .
{
Monitoring a parameter, a device or an event triggering a change in power modality
}
G06F 1/3209
. . . . .
{
Monitoring remote activity, e.g. over telephone line, network connection
}
G06F 1/3212
. . . . .
{
Monitoring battery level, i.e. power saving action initiated when battery voltage goes below a certain level
}
Collapse
. . . . .
{
Monitoring of peripheral devices
}
G06F 1/3218
. . . . . .
{
of display devices
}
G06F 1/3221
. . . . . .
{
of disk drive devices
}
G06F 1/3225
. . . . . .
{
of memory devices
}
. . . . .
{
Monitoring task completion, e.g. by use of idle timer, STOP command, WAIT command
}
. . . . .
{
Monitoring user presence or absence
}
Collapse
G06F 1/3234
. . . .
{
Action, measure or step performed to reduce power consumption
}
. . . . .
{
Power saving by disabling clock generation or distribution
}
G06F 1/324
. . . . .
{
Power saving by lowering clock frequency
}
. . . . .
{
Power saving in micro controller unit
}
G06F 1/3246
. . . . .
{
Power saving by software initiated power-off
}
Collapse
G06F 1/325
. . . . .
{
Power saving in peripheral device
}
G06F 1/3253
. . . . . .
{
Power saving in bus
}
. . . . . .
{
Power saving in optical drive
}
G06F 1/3259
. . . . . .
{
Power saving in cursor control device, e.g. mouse, joystick, trackball
}
G06F 1/3262
. . . . . .
{
Power saving in digitizer or tablet
}
G06F 1/3265
. . . . . .
{
Power saving in display device
}
. . . . . .
{
Power saving in hard disk drive
}
G06F 1/3271
. . . . . .
{
Power saving in keyboard
}
G06F 1/3275
. . . . . .
{
Power saving in memory, e.g. RAM, cache
}
G06F 1/3278
. . . . . .
{
Power saving in modem or I/O interface
}
G06F 1/3281
. . . . . .
{
Power saving in PCMCIA card
}
G06F 1/3284
. . . . . .
{
Power saving in printer
}
. . . . .
{
Power saving by switching off individual functional units in a computer system, i.e. selective power distribution
}
G06F 1/329
. . . . .
{
Power saving by task scheduling
}
G06F 1/3293
. . . . .
{
Power saving by switching to a less power consuming processor, e.g. sub-CPU
}
G06F 1/3296
. . . . .
{
Power saving by lowering supply or operating voltage
}
Collapse
Input arrangements for transferring data to be processed into a form capable of being handled by the computer ; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements( typewriters B41J; conversion of physical variables F15B 5/00 , G01; image acquisition G06T 1/00 , G06F 9/00 ; coding, decoding or code conversion in general H03M ; transmission of digital information H04L;
{
in regulating or control systems G05B
}
)
Collapse
.
{
Specific input/output arrangements not covered by G06F 3/02 to G06F 3/16 , e.g. facsimile, microfilm
}
( facsimile per se H04N 1/00 ; viewers photographic printing G03B ; electrography, magnetography G03G ; other optical apparatus G02B 27/00 )
. .
{
Input arrangements through a video camera
}
.
{
Digital input from or digital output to memories of the shift register type, e.g. magnetic bubble memories, CCD memories( magnetic bubble memories per se G11C 19/08 , CCD memories per se G11C 19/28 )
}
Collapse
.
Input arrangements or combined input and output arrangements for interaction between user and computer( G06F 3/16 takes precedence )
Collapse
. .
{
Arrangements for interaction with the human body, e.g. for user immersion in virtual reality( for handicapped people in general A61F 4/00 ; robot control B25J; tactile signalling G08B; blind teaching G09B 21/00 ; for electrophonic musical instruments G10H 1/344 ; electronic switches characterised by the way in which the control signals are generated H03K 17/94 )
}
. . .
{
Head tracking input arrangements
}
. . .
{
Eye tracking input arrangements( G06F 3/015 takes precedence )
}
. . .
{
Hand-worn input/output arrangements, e.g. data gloves
}
. . .
{
Input arrangements based on nervous system activity detection, e.g. brain waves (EEG) detection, electromyograms (EMG) detection, electrodermal response detection
}
. .
{
Input arrangements with force or tactile feedback as computer generated output to the user
}
. .
{
Gesture based interaction, e.g. based on a set of recognized hand gestures( interaction based on gestures traced on a digitiser G06F 3/04883 )
}
. .
{
Input/output arrangements for oriental characters
}
Collapse
. .
Input arrangements using manually operated switches, e.g. using keyboards or dials( keyboard switches per se H01H 13/70 ; electronic switches characterised by the way in which the control signals are generated H03K 17/94 )
Collapse
. . .
{
Constructional details or processes of manufacture of the input device
}
. . . .
{
Lever arrangements for operating keyboard cursor control keys in a joystick-like manner
}
. . . .
{
Arrangements for adjusting the tilt angle of a keyboard, e.g. pivoting legs( for keyboards integrated in a laptop computer G06F 1/1667 )
}
Collapse
. . . .
{
Arrangements integrating additional peripherals in a keyboard, e.g. card or barcode reader, optical scanner
}
. . . . .
{
Arrangements providing an integrated pointing device in a keyboard, e.g. trackball, mini-joystick( for pointing devices integrated in a laptop computer G06F 1/169 ; joysticks G05G 9/047 ; constructional details of pointing devices G06F 3/033 )
}
. . . .
{
Arrangements for ergonomically adjusting the disposition of keys of a keyboard( for keyboards integrated in a laptop computer G06F 1/1664 )
}
. . . .
{
Special purpose keyboards
}
. . . .
{
Arrangements for reducing keyboard size for transport or storage, e.g. foldable keyboards, keyboards with collapsible keys( G06F 3/0216 takes precedence; for keyboards integrated in a laptop computer G06F 1/1666 )
}
. . . .
{
Key guide holders
}
. . .
{
Cooperation and interconnection of the input arrangement with other functional units of a computer( G06F 3/023 to G06F 3/037 take precedence )
}
Collapse
. . .
Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes( coding in connection with keyboards or like devices in general H03M 11/00 )]
. . . .
{
Cordless keyboards
}
. . . .
{
Manual direct entries, e.g. key to main memory
}
Collapse
. . . .
{
Character input methods
}
. . . . .
{
using switches operable in different directions
}
. . . . .
{
using chord techniques( G06F 3/0234 takes precedence )
}
. . . . .
{
using selection techniques to select from displayed items
}
. . . . .
{
using prediction or retrieval techniques
}
. . . .
{
Programmable keyboards( key guide holders G06F 3/0224 )
}
. . . .
for insertion of decimal point
{
( display of decimal point G06F 3/1407 ; complete desk- top or hand- held calculators G06F 15/02 )
}
Collapse
. .
Arrangements for converting the position or the displacement of a member into a coded form
Collapse
. . .
{
Detection arrangements using opto-electronic means( constructional details of pointing devices not related to the detection arrangement using opto-electronic means G06F 3/033 and subgroups; optical digitisers G06F 3/042 )
}
WARNING
-
Groups G06F 3/0304 and G06F 3/0317 are not complete, pending a reorganisation. See also G06F 3/042 and subgroups

G06F 3/0308
. . . .
{
comprising a plurality of distinctive and separately oriented light emitters or reflectors associated to the pointing device, e.g. remote cursor controller with distinct and separately oriented LEDs at the tip whose radiations are captured by a photo-detector associated to the screen
}
G06F 3/0312
. . . .
{
for tracking the rotation of a spherical or circular member, e.g. optical rotary encoders used in mice or trackballs using a tracking ball or in mouse scroll wheels( tracking relative movement in co-operation with a regularly or irregularly patterned surface, e.g. as in optical mice G06F 3/0317 ; constructional details of scroll or thumb-wheels G06F3/03362 ; optical rotary encoders G01D 5/3473 ; thumb wheel switches H01H 19/001 )
}
Collapse
. . . .
{
in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
}
G06F 3/0321
. . . . .
{
by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet( constructional details of pen-shaped pointing devices G06F 3/03545 , G06F 3/03542 , G06F 3/037 )
}
G06F 3/0325
. . . .
{
using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
}
Collapse
. . .
Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks ; Accessories therefor
{
( constructional details of joysticks G05G 9/047 ; arrangement for interfacing a joystick to a computer G06F 3/038 )
}
G06F 3/0334
. . . .
{
Foot operated pointing devices
}
. . . .
with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
. . . .
with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
Collapse
G06F 3/0354
. . . .
with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
G06F 3/03541
. . . . .
{
Mouse/trackball convertible devices, in which the same ball is used to track the 2D relative movement
}
. . . . .
{
Light pens for emitting or receiving light
}
Collapse
. . . . .
{
Mice or pucks( G06F 3/03541 takes precedence )
}
G06F 3/03544
. . . . . .
{
having dual sensing arrangement, e.g. two balls or two coils used to track rotation of the pointing device
}
Collapse
. . . . .
{
Pens or stylus
}
G06F 3/03546
. . . . . .
{
using a rotatable ball at the tip as position detecting member
}
. . . . .
{
Touch pads, in which fingers can move on a surface
}
G06F 3/03548
. . . . .
{
Sliders, in which the moving part moves in a plane
}
. . . . .
{
Trackballs( G06F 3/03541 takes precedence )
}
. . . .
with detection of 1D translations or rotations of an operating part of the device, e.g. scroll wheels, sliders, knobs, rollers or belts
G06F 3/037
. . . .
using the raster scan of a cathode-ray tube (CRT) for detecting the position of the member, e.g. light pens cooperating with CRT monitors
Collapse
. . . .
Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
G06F 3/0383
. . . . .
{
Signal control means within the pointing device
}
. . . . .
{
for light pen
}
Collapse
. . . .
Accessories therefor, e.g. mouse pads( furniture aspects A47B 21/00 )
G06F 3/0395
. . . . .
{
Mouse pads
}
Collapse
. . .
Digitisers, e.g. for touch screens or touch pads, characterized by the transducing means
. . . .
{
Integrated displays and digitisers
}
. . . .
{
using force sensing means
}
Collapse
. . . .
{
Control and interface arrangements for touch screen
}
{
WARNING: Not complete, see G06F 3/0488
}
G06F 3/0418
. . . . .
{
for error correction or compensation, e.g. parallax, calibration, alignment
}
Collapse
. . . .
by opto-electronic means
{
( pens detecting optically their absolute position with respect to a coded surface G06F 3/0317 )
}
Collapse
. . . . .
{
by interrupting or reflecting a light beam, e.g. optical touch-screen
}
. . . . . .
{
using sweeping light beams, e.g. using rotating or vibrating mirror
}
Collapse
G06F 3/0425
. . . . .
{
using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected( tracking a projected light spot to determine a position on a display surface G06F 3/0386 )
}
G06F 3/0426
. . . . . .
{
tracking fingers with respect to a virtual keyboard projected or printed on the surface( virtual keyboards on touch screens G06F 3/04886 )
}
G06F 3/0428
. . . . .
{
by sensing at the edges of the touch surface the interruption of optical paths, e.g. an illumination plane, parallel to the touch surface which may be virtual( sensing beam interruptions in a planar beam grid of an optical touch-screen G06F 3/0421 )
}
Collapse
. . . .
using propagating acoustic waves
. . . . .
{
in which the acoustic waves are either generated by a movable member and propagated within a surface layer or propagated within a surface layer and captured by a movable member
}
. . . . .
{
in which generating transducers and detecting transducers are attached to a single acoustic waves transmission substrate
}
. . . .
by capacitive means
. . . .
using resistive elements, e.g. single continuous surface or two parallel surfaces put in contact
. . . .
by electromagnetic means
. . . .
using sets of wires, e.g. crossed wires
Collapse
. .
Interaction techniques based on graphical user interfaces [GUI]
NOTE
-

This group covers subject matter where the focus is placed on the way the user can interact with the displayed data. The mere presence of a standard GUI in the context of the disclosure of a specific software application or a specific device capable of processing data related to its specific function, should be in general classified in the appropriate subclasses related to those software applications or specific devices.


In this group, multi-aspect classification is applied, so that subject matter characterised by aspects covered by more than one of its groups, which is considered to represent information of interest for search, should be classified in each of those groups.


Collapse
. . .
based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
. . . .
{
interaction techniques based on cursor appearance or behaviour being affected by the presence of displayed objects, e.g. visual feedback during interaction with elements of a graphical user interface through change in cursor appearance, constraint movement or attraction/repulsion with respect to a displayed object( interaction techniques based on cursor behaviour involving tactile or force feedback G06F 3/016 )
}
. . . .
{
Interaction with three-dimensional environments, e.g. control of viewpoint to navigate in the environment
}
. . . .
{
using icons( graphical programming languages using iconic symbols G06F 8/34 )
}
. . . .
interaction with lists of selectable items, e.g. menus
. . . .
interaction with page-structured environments, e.g. book metaphor
Collapse
. . .
for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
. . . .
{
Selection of a displayed object( G06F 3/0482 takes precedence )
}
. . . .
{
for image manipulation, e.g. dragging, rotation
}
G06F 3/04847
. . . .
{
Interaction techniques to control parameter settings, e.g. interaction with sliders, dials
}
Collapse
. . . .
Scrolling or panning
G06F 3/04855
. . . . .
{
Interaction with scrollbars
}
. . . .
Drag-and-drop
Collapse
. . .
using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
Collapse
. . . .
using a touch-screen or digitiser, e.g. input of commands through traced gestures
. . . . .
{
for entering handwritten data, e.g. gestures, text
}
. . . . .
{
by partitioning the screen or tablet into independently controllable areas, e.g. virtual keyboards, menus( G06F 3/04883 takes precedence )
}
Collapse
. . . .
using dedicated keyboard keys or combinations thereof
G06F 3/04892
. . . . .
{
Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key( arrangements for controlling cursor position based on coordinate signals G06F 3/038 )
}
G06F 3/04895
. . . . .
{
Guidance during keyboard input operation, e.g. prompting( help systems G06F 9/4446 )
}
G06F 3/04897
. . . . .
{
Special input arrangements or commands for improving display capability
}
G06F 3/05
.
Digital input using the sampling of an analogue quantity at regular intervals of time,
{
input from a/d converter or output to d/a converter
}
( analogue- digital conversion per se H03M 1/00 ; sampling per se H03K 17/00 ; sample- and- hold arrangements per se G11C 27/02 )
Collapse
.
Digital input from or digital output to record carriers,
{
e.g. RAID, emulated record carriers, networked record carriers( recording or reproducing devices per se G11B; error detection, error correction, monitoring per se regarding storage systems G06F 11/00; accessing or addressing within memory systems or architectures G06F 12/00; information retrieval G06F 17/30 )
}
Collapse
. .
{
Dedicated interfaces to storage systems
}
Collapse
. . .
{
specifically adapted to achieve a particular effect
}
Collapse
. . . .
{
Improving or facilitating administration, e.g. storage management
}
. . . . .
{
by facilitating the interaction with a user or administrator
}
. . . . .
{
by facilitating the process of upgrading existing storage systems
}
. . . .
{
Saving storage space on storage systems
}
Collapse
. . . .
{
Improving I/O performance
}
. . . . .
{
in relation to response time
}
. . . . .
{
in relation to throughput
}
Collapse
. . . .
{
Improving the reliability of storage systems
}
. . . . .
{
in relation to life time, e.g. increasing Mean Time Between Failures (MTBF)
}
. . . . .
{
in relation to availability
}
. . . . .
{
in relation to data integrity, e.g. data losses, bit errors
}
Collapse
. . . .
{
Securing storage systems
}
. . . . .
{
in relation to access
}
. . . . .
{
in relation to content
}
. . . .
{
Power saving in storage systems
}
. . . .
{
Reducing size or complexity of storage systems
}
Collapse
. . .
{
making use of a particular technique
}
Collapse
. . . .
{
Configuration or reconfiguration of storage systems
}
. . . . .
{
by allocating resources to storage systems
}
. . . . .
{
by initialisation or re-initialisation of storage systems
}
. . . . .
{
by changing the state or mode of one or more devices
}
. . . . .
{
by changing the path, e.g. traffic rerouting, path reconfiguration
}
. . . . .
{
Permissions
}
Collapse
. . . .
{
Organizing or formatting or addressing of data
}
Collapse
. . . . .
{
Management of blocks
}
. . . . . .
{
De-duplication techniques
}
. . . . .
{
Management of files
}
. . . . .
{
Management of space entities, e.g. partitions, extents, pools
}
Collapse
. . . .
{
Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
}
Collapse
. . . . .
{
Migration mechanisms
}
. . . . . .
{
Lifecycle management
}
. . . . .
{
Replication mechanisms
}
. . . . .
{
Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
}
. . . .
{
Monitoring storage devices or systems
}
Collapse
. . . .
{
Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
}
. . . . .
{
Data buffering arrangements
}
. . . . .
{
Controller construction arrangements
}
. . . . .
{
Command handling arrangements, e.g. command buffers, queues, command scheduling
}
. . . . .
{
Format or protocol conversion arrangements
}
Collapse
. . . .
{
Virtualisation aspects
}
. . . . .
{
at device level, e.g. emulation of a storage device or system
}
. . . . .
{
at area level, e.g. provisioning of virtual or logical volumes
}
. . . . .
{
at data level, e.g. file, record or object virtualisation
}
Collapse
. . .
{
adopting a particular infrastructure
}
. . . .
{
Distributed or networked storage systems, e.g. storage area networks [SAN
}
, network attached storage [NAS]]
Collapse
. . . .
{
In-line storage system
}
Collapse
. . . . .
{
Single storage device
}
Collapse
. . . . . .
{
Disk device
}
. . . . . . .
{
Magnetic disk device
}
. . . . . . .
{
Optical disk device, e.g. CD-ROM, DVD
}
. . . . . .
{
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP
}
]
. . . . . .
{
Hybrid storage device
}
. . . . . .
{
Tape device
}
Collapse
. . . . .
{
Plurality of storage devices
}
. . . . . .
{
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
}
. . . . . .
{
Libraries, e.g. tape libraries, jukebox
}
. . . . . .
{
Non-volatile semiconductor memory arrays
}
. . . . . .
{
Disk arrays, e.g. RAID, JBOD
}
G06F 2003/0691
. .
{
buffering arrangements
}
G06F 2003/0692
. .
{
digital I/O from or to direct access storage devices, e.g. magnetic, optical, magneto-optical disc
}
G06F 2003/0694
. .
{
emulating arrangements, e.g. RAM-disc
}
G06F 2003/0695
. .
{
formatting arrangements
}
G06F 2003/0697
. .
{
device management, e.g. handlers, drivers, I/O schedulers
}
G06F 2003/0698
. .
{
digital I/O from or to serial access storage devices, e.g. magnetic tape
}
. .
from or to individual record carriers, e.g. punched card,
{
memory card, integrated circuit( IC )card, smart card( record carriers for use with machines and with at least a part designed to carry digital markings G06K 19/00 ; coded identity card or credit card with a coded signal G07F 7/10 )
}
.
Digital output to typewriters
Collapse
G06F 3/12
.
Digital output to print unit,
{
e.g. line printer, chain printer
}
( digital output to typewriter G06F 3/09 ; printing of alphanumeric characters G06K 15/02 )
Collapse
. .
{
Dedicated interfaces to print systems
}
Collapse
. . .
{
specifically adapted to achieve a particular effect
}
Collapse
. . . .
{
Improving or facilitating administration, e.g. print management
}
. . . . .
{
resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
}
. . . . .
{
resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
}
. . . . .
{
resulting in increased flexibility in input data format or job format or job type
}
. . . . .
{
resulting in the user being informed about print result after a job submission
}
. . . . .
{
resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
}
. . . . .
{
resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
}
. . . .
{
Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
}
Collapse
. . . .
{
Improving printing performance
}
Collapse
. . . . .
{
achieving reduced delay between job submission and print start
}
. . . . . .
{
at an intermediate node or at the final node
}
. . . . . .
{
at the submitting node
}
. . . . .
{
achieving increased printing speed, i.e. reducing the time between printing start and printing end
}
. . . . .
{
achieving reduced idle time at the output device or increased asset utilization
}
Collapse
. . . .
{
Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
}
. . . . .
{
with regard to consumables, e.g. ink, toner, paper
}
. . . . .
{
with regard to computing resources, e.g. memory, CPU
}
. . . . .
{
with regard to power consumption
}
. . . .
{
Increasing security of the print job
}
Collapse
. . .
{
specifically adapted to use a particular technique
}
Collapse
. . . .
{
Client or server resources management
}
. . . . .
{
Software update, e.g. print driver, modules, plug-ins, fonts
}
. . . . .
{
Discovery of devices having required properties
}
. . . . .
{
Printer definition files
}
. . . . .
{
Printing driverless or using generic drivers
}
Collapse
. . . .
{
Printer resources management or printer maintenance, e.g. device status, power levels
}
. . . . .
{
Software or firmware update, e.g. device firmware management
}
. . . . .
{
Device related settings, e.g. IP address, Name, Identification
}
. . . . .
{
Transmitting printer device capabilities, e.g. upon request or periodically
}
Collapse
. . . . .
{
Errors handling and recovery, e.g. reprinting( G06F 3/1261 takes precedence )
}
. . . . . .
{
caused by end of consumables, e.g. paper, ink, toner
}
. . . .
{
Connection management
}
Collapse
. . . .
{
Print job management
}
. . . . .
{
Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
}
. . . . .
{
Restricting the usage of resources, e.g. usage or user levels, credit limit, consumables, special fonts
}
. . . . .
{
Parallel printing or parallel ripping
}
. . . . .
{
Dividing a job according to job requirements, e.g. black/white and colour pages, covers and body of books, tabs
}
Collapse
. . . . .
{
Image or content composition onto a page
}
. . . . . .
{
Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
}
Collapse
. . . . .
{
Job translation or job parsing, e.g. page banding
}
. . . . . .
{
by conversion to intermediate or common format
}
. . . . . .
{
by handling markup languages, e.g. XSL, XML, HTML
}
. . . . . .
{
by conversion to printer ready format
}
. . . . . .
{
by printer language recognition, e.g. PDL, PCL, PDF
}
Collapse
. . . . .
{
Page layout or assigning input pages onto output media, e.g. imposition
}
. . . . . .
{
for continuous media, e.g. web media, rolls
}
. . . . . .
{
for sheet based media
}
Collapse
. . . . .
{
Configuration of print job parameters, e.g. using UI at the client
}
. . . . . .
{
Automatic configuration, e.g. by driver
}
. . . . . .
{
Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
}
. . . . . .
{
User feedback, e.g. print preview, test print, proofing, pre-flight checks
}
. . . . . .
{
by using pre-stored settings, e.g. job templates, presets, print styles
}
. . . . . .
{
by updating job settings at the printer
}
. . . . .
{
Print job monitoring, e.g. job status
}
Collapse
. . . . .
{
Job scheduling, e.g. queuing, determine appropriate device
}
. . . . . .
{
by using alternate printing
}
. . . . . .
{
by grouping or ganging jobs
}
. . . . . .
{
based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
}
. . . . . .
{
by assigning post-processing resources
}
. . . . .
{
Printing by reference, e.g. retrieving document/image data for a job from a source mentioned in the job
}
. . . . .
{
Job repository, e.g. non-scheduled jobs, delay printing
}
Collapse
. . . . .
{
Job submission, e.g. submitting print job order or request not the print data itself
}
. . . . . .
{
by broadcasting server
}
. . . . . .
{
by using hot folders, e.g. folder for which print settings or print data management rules are set in advance
}
. . . . . .
{
Job submission at the printing node, e.g. creating a job from a data stored locally or remotely( G06F 3/1238 takes precedence )
}
. . . . . .
{
Digital storefront, e.g. e-ordering, web2print, submitting a job from a remote submission screen
}
. . . . .
{
Print job history, e.g. logging, accounting, tracking
}
. . . . .
{
Deleting of print job
}
Collapse
. . . .
{
Print workflow management, e.g. defining or changing a workflow, cross publishing
}
. . . . .
{
within a printer driver, e.g. driver resides either on a server or on a client
}
. . . . .
{
using filter pipeline, e.g. outside the driver, adding traps
}
Collapse
. . .
{
specifically adapted to adopt a particular infrastructure
}
. . . .
{
Controller construction, e.g. aspects of the interface hardware
}
. . . .
{
Direct printing, e.g. sending document file, using memory stick, printing from a camera
}
. . . .
{
Multi engine printer devices, e.g. one entity having multiple output engines
}
G06F 3/1282
. . . .
{
High volume printer device
}
G06F 3/1284
. . . .
{
Local printer device
}
Collapse
G06F 3/1285
. . . .
{
Remote printer device, e.g. being remote from client or server
}
G06F 3/1286
. . . . .
{
via local network
}
G06F 3/1287
. . . . .
{
via internet
}
G06F 3/1288
. . . . .
{
in client-server-printer device configuration
}
. . . . .
{
in server-client-printer device configuration, e.g. the server does not see the printer
}
. . . . .
{
in server-printer device-client configuration, e.g. print flow goes from server to printer and then bidirectional from printer to client, i.e. the client does not communicate with the server
}
G06F 3/1291
. . . .
{
Pool of printer devices: self-managing printing devices in a network, e.g. without a server
}
G06F 3/1292
. . . .
{
Mobile client, e.g. wireless printing
}
Collapse
G06F 3/1293
. .
{
Printer information exchange with computer
}
G06F 3/1294
. . .
{
Status or feedback related to information exchange
}
G06F 3/1295
. . .
{
Buffering means
}
G06F 3/1296
. .
{
Printer job scheduling or printer resource handling
}
Collapse
G06F 3/1297
. .
{
Printer code translation, conversion, emulation, compression; Configuration of printer parameters
}
G06F 3/1298
. . .
{
Printer language recognition, e.g. programme control language, page description language
}
G06F 3/13
.
Digital output to plotter;
{
Cooperation and interconnection of the plotter with other functional units
}
Collapse
.
Digital output to display device;
{
Cooperation and interconnection of the display device with other functional units
}
( control of display in general G09G; arrangements for producing a permanent visual presentation of the output data G06K 15/00 )
G06F 3/1407
. .
{
General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
}
. .
{
with means for detecting differences between the image stored in the host and the images displayed on the displays
}
Collapse
. .
{
controlling a plurality of local displays, e.g. CRT and flat panel display
}
. . .
{
using a single graphics controller
}
G06F 3/1438
. . .
{
using more than one graphics controller
}
. . .
{
display composed of modules, e.g. video walls
}
Collapse
. .
{
involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
}
. . .
{
with means for detecting differences between the image stored in the host and the images displayed on the remote displays
}
Collapse
. .
using display panels
. . .
{
with conversion of CRT control signals to flat panel control signals, e.g. adapting the palette memory
}
G06F 3/153
. .
using cathode-ray tubes
Collapse
.
Sound input ; Sound output( conversion of speech into digital information or vice versa G10L )
. .
{
Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
}
. .
{
Management of the audio stream, e.g. setting of volume, audio stream path
}
. .
{
Audio in a user interface, e.g. using voice commands for navigating, audio feedback
}
Collapse
Methods or arrangements for data conversion without changing the order or content of the data handled( by coding or decoding H03M )
Collapse
.
for shifting, e.g. justifying, scaling, normalising
{
( digital stores in which the information is moved stepwise, e.g. shift-registers G11C 19/00 ; digital stores in which the information circulates G11C 21/00 )
}
. .
{
in floating-point computations
}
. .
{
having at least two separately controlled shifting levels, e.g. using shifting matrices( G06F 5/012 takes precedence )
}
G06F 5/017
. .
{
using recirculating storage elements
}
Collapse
.
for changing the speed of data flow, i.e. speed regularising
{
or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor;( G06F 7/78 takes precedence )
}
. .
{
Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO`s
}
Collapse
. .
having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
{
( G06F 5/065 takes precedence; shift registers per se G11C 19/00 )
}
G06F 5/085
. . .
{
in which the data is recirculated
}
Collapse
. .
having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
{
( G06F 5/065 takes precedence )
}
Collapse
. . .
Means for monitoring the fill level ; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
. . . .
for overflow or underflow handling, e.g. full or empty flags
. .
Multiplexed systems, i.e. using two or more similar devices that are alternately accessed for enqueue and dequeue operations, e.g. ping pong buffers
Collapse
Methods or arrangements for processing data by operating upon the order or content of the data handled( logic circuits H03K 19/00 )
Collapse
.
Comparing digital values( G06F 7/06 ,
{
G06F 7/22 ,
}
G06F 7/38 take precedence; information retrieval G06F 17/30 ; comparing pulses H03K 5/22 )
G06F 7/023
. .
{
adaptive, e.g. self learning
}
. .
{
Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
}
WARNING
-
Not complete. For documents published before July 1970 see also G06F 7/02

Collapse
.
Arrangements for sorting, selecting, merging or comparing data on individual record carriers( sorting of postal letters B07C ; conveying record carriers from one station to another G06K 13/02 )
G06F 7/08
. .
Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry( by merging two or more sets of carriers in ordered sequence G06F 7/16 )
Collapse
G06F 7/10
. .
Selecting, i.e. obtaining data of one kind from those record carriers which are identifiable by data of a second kind from a mass of ordered or randomly- distributed record carriers
G06F 7/12
. . .
with provision for printing-out a list of selected items
Collapse
G06F 7/14
. .
Merging, i.e. combining at least two sets of record carriers each arranged in the same ordered sequence to produce a single set having the same ordered sequence
G06F 7/16
. . .
Combined merging and sorting
G06F 7/20
. .
Comparing separate sets of record carriers arranged in the same sequence to determine whether at least some of the data in one set is identical with that in the other set or sets
Collapse
.
Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
Collapse
G06F 7/24
. .
Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers
{
sorting methods in general
}
( G06F 7/36 takes precedence )
G06F 7/26
. . .
the sorted data being recorded on the original record carrier within the same space in which the data had been recorded prior to their sorting, without using intermediate storage
{
contains no documents, see G06F 7/24
}
G06F 7/32
. .
Merging, i.e. combining data contained in ordered sequence on at least two record carriers to produce a single carrier or set of carriers having all the original data in the ordered sequence
{
merging methods in general
}
( G06F 7/36 takes precedence )
G06F 7/36
. .
Combined merging and sorting
Collapse
.
Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
G06F 7/381
. .
{
using cryogenic components, e.g. Josephson gates
}
Collapse
G06F 7/383
. .
{
using magnetic or similar elements( parametric and other resonant circuits G06F 7/388 )
}
G06F 7/385
. . .
{
magnetic bubbles
}
G06F 7/386
. . .
{
decimal, radix 20 or 12( G06F 7/385 takes precedence )
}
G06F 7/388
. .
{
using other various devices such as electro-chemical, microwave, surface acoustic wave, neuristor, electron beam switching, resonant, e.g. parametric, ferro-resonant
}
Collapse
G06F 7/40
. .
using contact- making devices, e.g. electro- magnetic relay( G06F 7/46 takes precedence )
G06F 7/405
. . .
{
binary
}
G06F 7/42
. . .
Adding ; Subtracting
{
G06F 7/405 takes precedence
}
Collapse
G06F 7/44
. . .
Multiplying ; Dividing
{
G06F 7/405 takes precedence
}
G06F 7/443
. . . .
{
by successive additions or subtractions
}
G06F 7/446
. . . .
{
by partial product forming( with electric multiplication table )
}
Collapse
G06F 7/46
. .
using electromechanical counter-type accumulators
G06F 7/461
. . .
{
Adding; subtracting
}
Collapse
G06F 7/462
. . .
{
Multiplying; dividing
}
G06F 7/463
. . . .
{
by successive additions or subtractions
}
G06F 7/465
. . . .
{
by partial product forming( with electric multiplication table )
}
G06F 7/466
. . . .
{
by successive multiplication or division by 2
}
G06F 7/467
. . . .
{
by using preset multiples of the multiplicand or the divisor
}
G06F 7/468
. . .
{
for evaluating functions by calculation
}
Collapse
G06F 7/48
. .
using non-contact-making devices, e.g. tube, solid state device ; using unspecified devices
Collapse
G06F 7/4806
. . .
{
Computations with complex numbers
}
G06F 7/4812
. . . .
{
Complex multiplication
}
G06F 7/4818
. . . .
{
using coordinate rotation digital computer (CORDIC)
}
G06F 7/4824
. . .
{
using signed-digit representation
}
Collapse
G06F 7/483
. . .
Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system, floating-point numbers( conversion to or from floating-point codes H03M 7/24 )
{
( G06F 7/4806 , G06F 7/4824 , G06F 7/49 , G06F 7/491 , G06F 7/544 take precedence )
}
G06F 7/4833
. . . .
{
Logarithmic number system
}
G06F 7/4836
. . . .
{
Computations with rational numbers
}
G06F 7/485
. . . .
Adding ; Subtracting
{
( G06F 7/4833 , G06F 7/4836 take precedence )
}
Collapse
G06F 7/487
. . . .
Multiplying ; Dividing
{
( G06F 7/4833 , G06F 7/4836 take precedence )
}
G06F 7/4873
. . . . .
{
Dividing
}
G06F 7/4876
. . . . .
{
Multiplying
}
G06F 7/49
. . .
Computations with a radix, other than binary, 8, 16 or decimal, e.g. ternary, negative or imaginary radices, mixed radix
{
non-linear PCM( G06F 7/4824 takes precedence )
}
WARNING
-

Not complete. For radix 12 or 20 see provisionally also G06F 7/491 and subgroups

Collapse
G06F 7/491
. . .
Computations with decimal numbers
{
radix 12 or 20.( G06F 7/4824 takes precedence )
}
G06F 7/4912
. . . .
{
Adding; Subtracting( G06F 7/492 , G06F 7/498 take precedence )
}
Collapse
G06F 7/4915
. . . .
{
Multiplying; Dividing( G06F 7/492 , G06F 7/498 take precedence )
}
G06F 7/4917
. . . . .
{
Dividing
}
Collapse
G06F 7/492
. . . .
using a binary weighted representation within each denomination
{
G06F 7/498 takes precedence
}
G06F 7/4925
. . . . .
{
Adding; Subtracting( G06F 7/493 takes precedence )
}
Collapse
G06F 7/493
. . . . .
the representation being the natural binary coded representation, i.e. 8421-code
WARNING
-
Not complete. See provisionally also G06F 7/491

Collapse
G06F 7/494
. . . . . .
Adding ; Subtracting
WARNING
-
Not complete. See provisionally also G06F 7/4912

G06F 7/495
. . . . . . .
in digit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other
G06F 7/496
. . . . . .
Multiplying ; Dividing
WARNING
-
Not complete. See provisionally also G06F7/491B, G06F 7/4917

Collapse
G06F 7/498
. . . .
using counter-type accumulators
G06F 7/4981
. . . . .
{
Adding; Subtracting
}
Collapse
G06F 7/4983
. . . . .
{
Multiplying; Dividing
}
G06F 7/4985
. . . . . .
{
by successive additions or subtractions
}
G06F 7/4986
. . . . . .
{
by successive multiplication or division by 2
}
G06F 7/4988
. . . . . .
{
by table look-up
}
Collapse
G06F 7/499
. . .
Denomination or exception handling, e.g. rounding, overflow
{
Note: documents published before 12-2005 are not systematically classified in the sugroups of G06F 7/499 : See the relevant subgroup of G06F 7/48 and the ICOs G06F 7/499 +
}
Collapse
G06F 7/49905
. . . .
{
Exception handling
}
Collapse
G06F 7/4991
. . . . .
{
Overflow or underflow
}
G06F 7/49915
. . . . . .
{
Mantissa overflow or underflow in handling floating-point numbers
}
G06F 7/49921
. . . . . .
{
Saturation, i.e. clipping the result to a minimum or maximum value
}
G06F 7/49926
. . . . .
{
Division by zero
}
G06F 7/49931
. . . .
{
Modulo N reduction of final result
}
G06F 7/49936
. . . .
{
Normalisation mentioned as feature only
}
Collapse
G06F 7/49942
. . . .
{
Significance control
}
Collapse
G06F 7/49947
. . . . .
{
Rounding
}
G06F 7/49952
. . . . . .
{
Sticky bit
}
G06F 7/49957
. . . . . .
{
Implementation of IEEE-754 Standard
}
G06F 7/49963
. . . . . .
{
Rounding to nearest( G06F 7/49957 takes precedence )
}
G06F 7/49968
. . . . . .
{
Rounding towards positive infinity( G06F 7/49957 takes precedence )
}
G06F 7/49973
. . . . . .
{
Rounding towards negative infinity, e.g. truncation of two's complement numbers( G06F 7/49957 takes precedence )
}
G06F 7/49978
. . . . . .
{
Rounding towards zero( G06F 7/49957 takes precedence )
}
G06F 7/49984
. . . . . .
{
Rounding away from zero
}
G06F 7/49989
. . . . .
{
Interval arithmetic
}
G06F 7/49994
. . . .
{
Sign extension
}
Collapse
G06F 7/50
. . .
Adding ; Subtracting( G06F 7/483 to G06F 7/491 , G06F 7/544 take precedence )
Collapse
G06F 7/501
. . . .
Half or full adders, i.e. basic adder cells for one denomination( EXCLUSIVE-OR circuits H03K 19/21 )
G06F 7/5013
. . . . .
{
using algebraic addition of the input signals, e.g. Kirchhoff adders
}
G06F 7/5016
. . . . .
{
forming at least one of the output signals directly from the minterms of the input signals, i.e. with a minimum number of gate levels
}
G06F 7/502
. . . . .
Half adders ; Full adders consisting of two cascaded half adders
{
( G06F 7/5013 takes precedence )
}
G06F 7/503
. . . . .
using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
Collapse
G06F 7/504
. . . .
in bit-serial fashion, i.e. having a single digit-handling circuit treating all denominations after each other
G06F 7/5045
. . . . .
{
for multiple operands
}
Collapse
G06F 7/505
. . . .
{
in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination( half or full adders G06F 7/501 )
}
G06F 7/5052
. . . . .
{
using carry completion detection, either over all stages or at sample stages only
}
G06F 7/5055
. . . . .
{
in which one operand is a constant, i.e. incrementers or decrementers
}
G06F 7/5057
. . . . .
{
using table look-up
}
; using programmable logic arrays( G06F 7/509 takes precedence )
Collapse
G06F 7/506
. . . . .
with simultaneous carry generation for, or propagation over, two or more stages
G06F 7/507
. . . . . .
using selection between two conditionally calculated carry or sum values
G06F 7/508
. . . . . .
using carry look-ahead circuits
Collapse
G06F 7/509
. . . . .
for multiple operands, e.g. digital integrators
G06F 7/5095
. . . . . .
{
word-serial, i.e. with an accumulator-register
}
Collapse
G06F 7/52
. . .
Multiplying ; Dividing( G06F 7/483 to G06F 7/491 , G06F 7/544 take precedence )
Collapse
G06F 7/523
. . . .
Multiplying only
G06F 7/5235
. . . . .
{
using indirect methods, e.g. quarter square method, via logarithmic domain
}
G06F 7/525
. . . . .
in serial-serial fashion, i.e. both operands being entered serially( G06F 7/533 takes precedence )
Collapse
G06F 7/527
. . . . .
in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel( G06F 7/533 takes precedence )
Collapse
G06F 7/5272
. . . . . .
{
with row wise addition of partial products
}
G06F 7/5275
. . . . . . .
{
using carry save adders
}
G06F 7/5277
. . . . . .
{
with column wise addition of partial products
}
Collapse
G06F 7/53
. . . . .
in parallel-parallel fashion, i.e. both operands being entered in parallel( G06F 7/533 takes precedence )
Collapse
G06F 7/5306
. . . . . .
{
with row wise addition of partial products( G06F 7/5324 takes precedence )
}
G06F 7/5312
. . . . . . .
{
using carry save adders
}
G06F 7/5318
. . . . . .
{
with column wise addition of partial products, e.g. using Wallace tree, Dadda counters( G06F 7/5324 takes precedence )
}
G06F 7/5324
. . . . . .
{
partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
}
Collapse
G06F 7/533
. . . . .
Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
G06F 7/5332
. . . . . .
{
by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
}
Collapse
G06F 7/5334
. . . . . .
{
by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
}
Collapse
G06F 7/5336
. . . . . . .
{
overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
}
G06F 7/5338
. . . . . . . .
{
each bitgroup having two new bits, e.g. 2nd order MBA
}
Collapse
G06F 7/535
. . . .
Dividing only
Collapse
G06F 7/537
. . . . .
Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher (SRT) algorithm
{
not used, see G06F 7/535 or G06F 7/5375
}
G06F 7/5375
. . . . . .
{
Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT; WARNING: Not complete. Provisionally see G06F 7/535 + G06F 7/5375
}
Collapse
G06F 7/544
. . .
for evaluating functions by calculation(
{
G06F 7/4824 take precedence
}
; with a look-up table G06F 1/02 ;complex mathematical operations G06F 17/10 )
G06F 7/5443
. . . .
{
Sum of products( for applications thereof, see the relevant places, e.g. G06F 17/10 , H03H 17/00 )
}
G06F 7/5446
. . . .
{
using crossaddition algorithms, e.g. CORDIC
}
G06F 7/548
. . . .
Trigonometric functions ; Co-ordinate transformations
Collapse
G06F 7/552
. . . .
Powers or roots,
{
e.g. Pythagorean sums
}
G06F 7/5525
. . . . .
{
Roots or inverse roots of single operands
}
G06F 7/556
. . . .
Logarithmic or exponential functions
Collapse
G06F 7/57
. . .
Arithmetic logic units (ALU), i.e. arrangements or devices for performing two or more of the operations covered by groups G06F 7/483 - G06F 7/556 or for performing logical operations ( instruction execution G06F 9/30 )
{
G06F 7/49 , G06F 7/491 take precedence ( logic gate circuits H03K 19/00 )
}
G06F 7/575
. . . .
Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
Collapse
.
Random or pseudo-random number generators
{
( random pulse generators H03K 3/84 ; secret telegraphic communication H04L 9/00 ; lottery apparatus G07C 15/00 )
}
Collapse
G06F 7/582
. .
{
Pseudo-random number generators
}
G06F 7/584
. . .
{
using finite field arithmetic, e.g. using a linear feedback shift register
}
G06F 7/586
. . .
{
using an integer algorithm, e.g. using linear congruential method
}
G06F 7/588
. .
{
Random number generators, i.e. based on natural stochastic processes
}
Collapse
.
Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix ; Computing devices using combinations of denominational and non-denominational quantity representations,
{
e.g. using difunction pulse trains, STEELE computers, phase computers( conversion of digital data to or from non-denominational form H03M 5/00 , H03M 7/00 )
}
WARNING
-
Not complete: for computing devices using combinations of denominational and non-denominational quantity representations see also G06F 7/62

G06F 7/602
. .
{
using delta-sigma sequences
}
G06F 7/605
. .
{
Additive or subtractive mixing of two pulse rates into one( beat-frequency oscillators H03B 21/00 ; input circuits of electric counters, e.g. up-down counters H03K 21/00 )
}
G06F 7/607
. .
{
number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters( for applications thereof, see the relevant places, e.g. G06F 7/49 , G06F 7/5013 , G06F 7/509 , H03M 1/00 , H03M 7/20 )
}
G06F 7/62
. .
Performing operations exclusively by counting total number of pulses;
{
Multiplication, division or derived operations using combined denominational and incremental processing by counters, i.e. without column shift( G06F 7/68 takes precedence )
}
Collapse
G06F 7/64
. .
Digital differential analysers, i.e. computing devices for differentiation, integration or solving differential or integral equations, using pulses representing increments ; Other incremental computing devices for solving difference equations( G06F 7/70 takes precedence; differential analysers using hybrid computing techniques G06J 1/02 )
{
DDA application in numerical control G05B 19/18
}
G06F 7/66
. . .
wherein pulses represent unitary increments only
G06F 7/68
. .
using pulse rate multipliers or dividers
{
pulse rate multipliers or dividers per se
}
( G06F 7/70 takes precedence )
{
( frequency division in electronic watches G04G 3/02 ; frequency multiplication or division in oscillators H03B 19/00 ; frequency dividing counters per se H03K 23/00 to H03K 29/00 )
}
G06F 7/70
. .
using stochastic pulse trains, i.e. randomly occuring pulses the average pulse rates of which represent numbers
{
( conversion of analogue signals into stochastic pulse trains and vice-versa H03M 1/04 )
}
Collapse
. .
using residue arithmetic
G06F 7/721
. . .
{
Modular inversion, reciprocal or quotient calculation( G06F 7/724 , G06F 7/727 , G06F 7/728 take precedence )
}
G06F 7/722
. . .
{
Modular multiplication( G06F 7/724 , G06F 7/727 , G06F 7/728 take precedence )
}
G06F 7/723
. . .
{
Modular exponentiation( G06F 7/724 ),( G06F 7/727 ),( G06F 7/728 take precedence )
}
Collapse
G06F 7/724
. . .
{
Finite field arithmetic( for error detection or correction in general H03M 13/00 , in computers G06F 11/10 )
}
G06F 7/725
. . . .
{
over elliptic curves
}
G06F 7/726
. . . .
{
Inversion; Reciprocal calculation; Division of elements of a finite field
}
G06F 7/727
. . .
{
Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5( G06F 7/728 takes precedence )
}
G06F 7/728
. . .
{
using Montgomery reduction
}
G06F 7/729
. . .
{
using representation by a residue number system
}
.
Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
{
( with shifting G06F 5/01 )
}
Collapse
.
Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data( according to the content of the data G06F 7/06 , G06F 7/22 ; parallel / series conversion or vice versa H03M 9/00 )
G06F 7/762
. .
{
having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks( G06F 7/764 to G06F 7/768 take precedence )
}
G06F 7/764
. .
{
Masking
}
G06F 7/766
. .
{
Generation of all possible permutations
}
G06F 7/768
. .
{
Data position reversal, e.g. bit reversal, byte swapping
}
Collapse
. .
for changing the order of data flow, e.g. matrix transposition, LIFO buffers ; Overflow or underflow handling therefor
G06F 7/785
. . .
{
having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
}
Collapse
{
Arrangements for software engineering( execution of stored program G06F 9/06 ; testing or debugging G06F 11/36 ; hardware/software co-design G06F 17/50 ; software project management G06Q10/00C )
}
.
{
Requirements analysis; Specification techniques
}
Collapse
.
{
Software design
}
. .
{
Procedural
}
. .
{
Object oriented
}
Collapse
.
{
Creation or generation of source code
}
Collapse
. .
{
Programming languages or programming paradigms
}
. . .
{
Functional or applicative languages; Rewrite languages
}
. . .
{
List processing, e.g. LISP programming language
}
Collapse
. . .
{
Logic programming, e.g. PROLOG programming language
}
. . . .
{
Unification or backtracking
}
. . .
{
Parallel programming languages( G06F 8/313 takes precedence )
}
. . .
{
Object-oriented languages
}
. . .
{
Aspect-oriented programming techniques
}
. .
{
Intelligent editors( text processing G06F 17/21 )
}
. .
{
Graphical or visual programming( use of icons for interaction with graphical user interfaces G06F 3/048 )
}
Collapse
. .
{
Model driven
}
. . .
{
Round-trip engineering
}
. .
{
Software reuse
}
. .
{
Compiler construction; Parser generation
}
. .
{
to implement user interfaces( interaction techniques for graphical user interfaces G06F 3/048 )
}
Collapse
.
{
Transformations of program code
}
Collapse
. .
{
Compilation
}
Collapse
. . .
{
Syntactic analysis
}
. . . .
{
Preprocessors
}
. . . .
{
Lexical analysis
}
. . . .
{
Parsing
}
Collapse
. . .
{
Checking; Contextual analysis
}
Collapse
. . . .
{
Dependency analysis; Data or control flow analysis
}
. . . . .
{
Pointers; Aliasing
}
Collapse
. . . .
{
Semantic checking
}
. . . . .
{
Type checking
}
Collapse
. . .
{
Encoding
}
. . . .
{
Register allocation; Assignment of physical memory space to logical memory space
}
Collapse
. . . .
{
Optimisation
}
. . . . .
{
Reducing the energy consumption
}
Collapse
. . . . .
{
Reducing the memory space required by the program code( digital compression H03M 7/30 )
}
. . . . . .
{
Detection or removal of dead or redundant code
}
. . . . . .
{
Exlining; Procedural abstraction
}
Collapse
. . . . .
{
Reducing the execution time required by the program code
}
. . . . . .
{
Reducing the number of cache misses; Data prefetching( cache prefetching G06F 12/0862 )
}
. . . . . .
{
Inlining
}
Collapse
. . . .
{
Exploiting fine grain parallelism, i.e. parallelism at instruction level( run-time instruction scheduling G06F 9/3836 )
}
. . . . .
{
Avoiding pipeline stalls
}
. . . . .
{
Software pipelining
}
. . . .
{
Target code generation
}
Collapse
. . .
{
Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
}
Collapse
. . . .
{
Code distribution( considering CPU load at run-time G06F 9/505 ; load rebalancing G06F 9/5083 )
}
. . . . .
{
Loops
}
Collapse
. . . .
{
Data distribution
}
. . . . .
{
Consistency( cache consistency protocols in hierarchically structured memory systems G06F 12/0815 )
}
. . . .
{
Parallelism detection
}
. . . .
{
Communication( intertask communication G06F 9/54 )
}
. . . .
{
Synchronisation, e.g. post-wait, barriers, locks( synchronisation among tasks G06F 9/52 )
}
. . .
{
Retargetable compilers
}
. . .
{
Incremental compilation( software reuse G06F 8/36 )
}
. . .
{
Partial evaluation
}
. .
{
Source to source
}
. .
{
Binary to binary
}
. .
{
Decompilation; Disassembly
}
. .
{
Link editing before load time( link editing at or after load time G06F 9/44521 )
}
Collapse
.
{
Software deployment
}
Collapse
. .
{
Installation
}
. . .
{
Uninstallation
}
. . .
{
Image based installation; Cloning; Build to order
}
. . .
{
Retargetable
}
Collapse
. .
{
Update
}
. . .
{
of program stored in read-only memory [ROM
}
]
. . .
{
of program code stored in alterable solid state memory, e.g. EEPROM, flash
}
. . .
{
while running
}
. . .
{
Incremental; Differential
}
Collapse
.
{
Software maintenance or management
}
. .
{
Version control; Configuration management
}
. .
{
Code refactoring
}
. .
{
Program documentation
}
. .
{
Reverse engineering; Extracting design information from source code
}
Collapse
. .
{
Structural analysis for program understanding
}
. . .
{
Code clone detection
}
. .
{
Adapting program code to run in a different environment; Porting
}
. .
{
Software metrics
}
. .
{
Methods to solve the "Year 2000" [Y2K
}
problem]
Collapse
Arrangements for programme control, e.g. control unit( programme control for peripheral devices G06F 13/10 ; in regulating or control systems G05B )
.
using wired connections, e.g. plugboard
.
using record carriers containing only programme instructions( G06F 9/06 takes precedence )
Collapse
.
using stored programme, i.e. using internal store of processing equipment to receive and retain programme
Collapse
. .
Micro-control or micro-programme arrangements
. . .
{
Execution means for micro-instructions irrespective of the micro-instruction function, e.g. decoding of micro-instructions and nano-instructions; timing of micro instructions; programmable logic arrays; delays and fan-out problems
}
. . .
{
Micro instruction function e.g. input/output micro-instruction; diagnostic micro-instruction; micro-instruction format
}
. . .
Loading of the micro-programme
Collapse
. . .
Address formation of the next micro-instruction( G06F 9/28 takes precedence )
{
Microprogram storage or retrieval arrangements
}
. . . .
{
Micro-instruction address formation
}
Collapse
. . . .
{
Arrangements for next micro-instruction selection
}
Collapse
. . . . .
{
Micro-instruction selection based on results of processing
}
. . . . . .
{
by address selection on input of storage
}
. . . . . .
{
by instruction selection on output of storage
}
. . . . .
{
Micro-instruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
}
. . .
Enhancement of operational speed, e.g. by using several micro-control devices operating in parallel
Collapse
. .
Arrangements for executing machine-instructions, e.g. instruction decode( for executing micro-instructions G06F 9/22 ; for executing subprogrammes G06F9/40 )
Collapse
. . .
{
Arrangements for executing specific machine instructions
}
Collapse
. . . .
{
to perform operations on data operands
}
Collapse
. . . . .
{
Arithmetic instructions
}
. . . . . .
{
with variable precision
}
. . . . .
{
Bit or string instructions; instructions using a mask
}
. . . . .
{
Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
}
. . . . .
{
Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
}
. . . . .
{
Logical and Boolean instructions, e.g. XOR, NOT
}
. . . . .
{
Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
}
. . . . .
{
Instructions to perform operations on packed data, e.g. vector operations
}
Collapse
. . . .
{
to perform operations on memory
}
. . . . .
{
LOAD or STORE instructions; Clear instruction
}
. . . . .
{
Prefetch instructions; cache control instructions
}
Collapse
. . . .
{
to perform operations for flow control
}
. . . . .
{
Unconditional branch instructions
}
Collapse
. . . . .
{
Conditional branch instructions
}
. . . . . .
{
Multi-way branch instructions, e.g. CASE
}
. . . . .
{
Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
}
. . . . .
{
Instruction skipping instructions, e.g. SKIP
}
. . . .
{
to perform conditional operations, e.g. using guard
}
Collapse
. . . .
{
to perform miscellaneous control operations, e.g. NOP
}
. . . . .
{
Pipeline control instructions
}
. . . . .
{
Power or thermal control instructions
}
. . . . .
{
Synchronisation or serialisation instructions
}
. . . . .
{
Thread control instructions
}
. . .
{
Condition code generation, e.g. Carry, Zero flag
}
Collapse
. . .
{
Register arrangements
}
. . . .
{
Special purpose registers
}
Collapse
. . . .
{
Register structure
}
. . . . .
{
having multiple operands in a single register
}
. . . . .
{
for variable length data, e.g. single or double registers
}
. . . . .
{
Shadow registers, e.g. coupled registers, not forming part of the register space
}
Collapse
. . . .
{
Organisation of register space, e.g. banked or distributed register file
}
Collapse
. . . . .
{
according to context, e.g. thread buffers
}
. . . . . .
{
Register windows
}
. . . . .
{
according to data content, e.g. floating-point registers, address registers
}
. . . . .
{
Register stacks; shift registers
}
. . . . .
{
Extension of register space, e.g. register cache
}
. . . .
{
Implementation provisions of register files, e.g. ports
}
Collapse
. . .
{
Instruction analysis, e.g. decoding, instruction word fields
}
Collapse
. . . .
{
of variable length instructions
}
. . . . .
{
Determining start or end of instruction; determining instruction length
}
. . . .
{
Special purpose encoding of instructions, e.g. Gray coding
}
Collapse
. . . .
{
Decoding the operand specifier, e.g. specifier format
}
. . . . .
{
with implied specifier, e.g. top of stack
}
. . . . .
{
of immediate specifier, e.g. constants
}
Collapse
. . .
{
Runtime instruction translation, e.g. macros
}
. . . .
{
for non-native instruction set, e.g. Javabyte, legacy code
}
. . . .
{
of compressed or encrypted instructions
}
Collapse
. . .
{
Instruction operation extension or modification
}
. . . .
{
according to one or more bits in the instruction, e.g. prefix, sub-opcode
}
. . . .
{
according to execution mode, e.g. mode flag
}
. . . .
{
according to data descriptor, e.g. dynamic data typing
}
. . . .
{
using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
}
Collapse
. . .
Address formation of the next instruction, e.g. incrementing the instruction counter, jump( G06F 9/38 takes precedence; sub-programme jump G06F9/42 )
. . . .
{
Programme or instruction counter, e.g. incrementing
}
Collapse
. . . .
{
for non-sequential address
}
. . . . .
{
using program counter relative addressing
}
. . . . .
{
for loops, e.g. loop detection, loop counter
}
. . . . .
{
for interrupts
}
. . . . .
{
for runtime instruction patching
}
Collapse
. . .
Addressing or accessing the instruction operand or the result;
{
Formation of operand address; Addressing modes( address translation G06F 12/00 )
}
. . . .
{
Extension of operand address space
}
Collapse
. . . .
of multiple operands or results
{
( addressing multiple banks G06F 12/06 )
}
. . . . .
{
using stride
}
. . . .
Indirect addressing,
{
i.e. using single address operand, e.g. address register
}
Collapse
. . . .
Indexed addressing
{
i.e. using more than one address operand
}
. . . . .
{
using wraparound, e.g. modulo or circular addressing
}
. . . . .
{
using scaling, e.g. multiplication of index
}
. . . . .
{
using program counter as base address
}
Collapse
. . .
Concurrent instruction execution, e.g. pipeline, look ahead
Collapse
. . . .
{
Instruction prefetching
}
Collapse
. . . . .
{
for branches, e.g. hedging, branch folding
}
. . . . . .
{
using address prediction, e.g. return stack, branch history buffer
}
Collapse
. . . . .
{
for instruction reuse, e.g. trace cache, branch target cache
}
. . . . . .
{
Loop buffering
}
. . . . .
{
with instruction modification, e.g. store into instruction stream
}
. . . . .
{
Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
}
. . . . .
{
Instruction alignment, e.g. cache line crossing
}
Collapse
. . . .
{
Decoding for concurrent execution
}
. . . . .
{
Pipelined decoding, e.g. using predecoding
}
. . . . .
{
Parallel decoding, e.g. parallel decode units
}
Collapse
. . . .
{
Operand accessing
}
Collapse
. . . . .
{
Data result bypassing, e.g. locally between pipeline stages, within a pipeline stage
}
. . . . . .
{
with global bypass, e.g. between pipelines, between clusters
}
Collapse
. . . . .
{
Operand prefetching( cache prefetching G06F 12/0862 )
}
. . . . . .
{
Value prediction for operands; operand history buffers
}
. . . . .
{
Maintaining memory consistency( cache consistency protocols G06F 12/0815 )
}
Collapse
. . . .
{
Instruction issuing, e.g. dynamic instruction scheduling, out of order instruction execution
}
Collapse
. . . . .
{
Dependency mechanisms, e.g. register scoreboarding
}
. . . . . .
{
Register renaming
}
Collapse
. . . . .
{
Speculative instruction execution
}
. . . . . .
{
using dynamic prediction, e.g. branch history table
}
. . . . . .
{
using static prediction, e.g. branch taken strategy
}
. . . . . .
{
using hybrid branch prediction, e.g. selection between prediction techniques
}
. . . . .
{
from multiple instruction streams, e.g. multistreaming( initiation or dispatching of multiple tasks or threads G06F 9/48 )
}
. . . . .
{
of compound instructions
}
. . . . .
{
Reordering, e.g. using a queue, age tags
}
Collapse
. . . . .
{
Result writeback, i.e. updating the architectural state
}
. . . . . .
{
with result invalidation, e.g. nullification
}
Collapse
. . . .
{
Recovery, e.g. branch miss-prediction, exception handling( error detection or correction G06F 11/00 )
}
. . . . .
{
using multiple copies of the architectural state, e.g. shadow registers
}
. . . . .
{
using deferred exception handling, e.g. exception flags
}
Collapse
. . . .
{
using instruction pipelines
}
. . . . .
{
Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
}
. . . . .
{
Asynchronous instruction pipeline, e.g. using handshake signals between stages
}
. . . . .
{
Variable length pipelines, e.g. elastic pipeline
}
. . . . .
{
Pipelining a single stage, e.g. superpipelining
}
Collapse
. . . .
{
using a slave processor, e.g. coprocessor( peripheral processor G06F 13/12 ; vector processor G06F 15/8053 )
}
Collapse
. . . . .
{
for non-native instruction execution, e.g. executing a command; for Java instruction set
}
. . . . . .
{
Arrangements for communication of instructions and data
}
G06F 2009/3883
. . . . .
{
Two-engine architectures, i.e. stand-alone processor acting as a slave processor
}
Collapse
. . . .
{
using a plurality of independent parallel functional units
}
. . . . .
{
controlled by a single instruction, e.g. SIMD
}
Collapse
. . . . .
{
controlled by multiple instructions, e.g. MIMD, decoupled access or execute
}
. . . . . .
{
organised in groups of units sharing resources, e.g. clusters
}
Collapse
. . . . .
{
controlled in tandem, e.g. multiplier-accumulator
}
Collapse
. . . . . .
{
for complex operations, e.g. multidimensional or interleaved address generators, macros
}
. . . . . . .
{
with adaptable data path
}
Collapse
. .
Arrangements for executing specific programmes
Collapse
. . .
{
Bootstrapping( secure booting G06F 21/575 ; fault tolerant booting G06F 11/1417 ; resetting means G06F 1/24 ; power-on self test G06F 11/2284 )
}
. . . .
{
Processor initialisation
}
. . . .
{
of multiprocessor systems
}
Collapse
. . . .
{
Loading of operating system
}
. . . . .
{
Boot device selection
}
. . . . .
{
Multiboot arrangements, i.e. selecting an operating system to be loaded
}
Collapse
. . . .
{
Configuring for operating with peripheral devices; Loading of device drivers
}
Collapse
. . . . .
{
Plug-and-play (PnP)
}
. . . . . .
{
Self describing peripheral devices
}
. . . .
{
Network booting; Remote initial programme loading (RIPL)
}
. . . .
{
Suspend and resume; Hibernate and awake
}
. . . .
{
Shutdown
}
Collapse
. . .
{
Execution paradigms
}
Collapse
G06F 9/4423
. . . .
{
Procedural
}
Collapse
. . . . .
{
Executing sub-programmes
}
. . . . . .
{
Formation of sub-programme jump address
}
Collapse
. . . .
{
Object-oriented
}
Collapse
. . . . .
{
Object-oriented method invocation or resolution
}
. . . . . .
{
Optimising based on receiver type
}
. . . . .
{
Inheritance
}
. . . . .
{
Object persistence
}
. . . .
{
Data-driven
}
G06F 9/4438
. . . .
{
Unification in logic programming
}
G06F 9/444
. . . .
{
Finite state machines
}
G06F 2009/4441
. . .
{
Programme partitioning, e.g. concurrency or parallelism detection, programming parallel machines in general
}
Collapse
. . .
{
Execution mechanisms for user interfaces
}
. . . .
{
Remote windowing , e.g. X-Window System, desktop virtualisation( protocols for telewriting H04L 67/38 )
}
. . . .
{
Help systems
}
. . . .
{
Multi-language systems; Localisation; Internationalisation
}
Collapse
. . .
Programme loading or initiating
{
( bootstrapping G06F 9/4401 ; movement of software or configuration parameters for network-specific applications H04L 67/34 )
}
Collapse
. . . .
{
Configuring for programme initiating, e.g. using registry, configuration files
}
G06F 9/4451
. . . . .
{
User profiles, roaming( user profiles for network-specific applications H04L 67/306 )
}
G06F 2009/44515
. . . .
{
using non-volatile memory from which the program can be directly executed, e.g. EEPROM
}
Collapse
. . . .
{
Dynamic linking or loading; Link editing at or after load time; e.g. Java class loading
}
. . . . .
{
Plug-ins; Add-ons
}
G06F 2009/44531
. . . .
{
involving multiple processors
}
Collapse
. . . .
{
Selecting among different versions
}
Collapse
. . . . .
{
Retargetable
}
. . . . . .
{
Fat binaries
}
G06F 9/44552
. . . .
{
Conflict resolution, i.e. enabling coexistence of conflicting executables
}
Collapse
. . . .
{
Code layout in executable memory
}
G06F 9/44563
. . . . .
{
Sharing
}
Collapse
G06F 9/44568
. . . .
{
Immediately runnable code
}
. . . . .
{
Execute-in-place (XIP)
}
G06F 9/44578
. . . . .
{
Preparing or optimising for loading
}
. . . . .
{
Portable applications, i.e. making applications self-contained, e.g. U3 standard
}
. . . .
{
Programme code verification, e.g. Java bytecode verification, proof-carrying code( high-level semantic checks G06F 8/43 ; testing and debugging software G06F 11/36 )
}
. . . .
{
Unloading
}
Collapse
. . .
Emulation ; Software simulation
{
, i.e. virtualisation or emulation of application or operating system execution engines( instruction translation at instruction execution time G06F 9/3017 ; multiprogramming in general G06F 9/46 ; logical partitioning of resources or management or configuration of virtualized resources G06F 9/5077 ; in-circuit emulation G06F 11/3652 ; environments for testing or debugging software G06F 11/3664 )
}
Collapse
. . . .
{
Abstract machines for programme code execution, e.g Java virtual machine (JVM), interpreters, emulators
}
Collapse
. . . . .
{
Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
}
. . . . . .
{
Command shells
}
Collapse
. . . . .
{
Runtime code conversion or optimisation
}
. . . . . .
{
Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
}
G06F 9/45525
. . . . . .
{
Optimisation or modification within the same instruction set architecture, e.g. HP Dynamo
}
G06F 9/45529
. . . . .
{
Embedded in an application, e.g. JavaScript in a Web browser
}
Collapse
. . . .
{
Hypervisors; Virtual machine monitors
}
. . . . .
{
Provision of facilities of other operating environments, e.g. WINE( I/O emulation G06F 13/105 )
}
. . . . .
{
Bare-metal, i.e. hypervisor runs directly on hardware
}
. . . . .
{
Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
}
. . . . .
{
Para-virtualisation, i.e. guest operating system has to be modified
}
. . . . .
{
Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
}
Collapse
. . . . .
{
Hypervisor-specific management and integration aspects
}
G06F 2009/45562
. . . . . .
{
Creating, deleting, cloning virtual machine instances
}
G06F 2009/45566
. . . . . .
{
Nested virtual machines
}
G06F 2009/4557
. . . . . .
{
Distribution of virtual machine instances; Migration and load balancing aspects( load distribution or balancing G06F 9/505 , G06F 9/5083 ; Task migration G06F 9/4856 )
}
G06F 2009/45575
. . . . . .
{
Starting, stopping, suspending, resuming virtual machine instances( programme initiating G06F 9/445 ; task life-cycle in general G06F 9/485 )
}
G06F 2009/45579
. . . . . .
{
I/O management( device drivers, storage access )( internal functioning of device drivers G06F 13/102 , loading of device drivers G06F 9/4411 )
}
G06F 2009/45583
. . . . . .
{
Memory management, e.g. access, allocation( memory management in general G06F 12/00; allocation of memory to service a request G06F 9/5016 )
}
G06F 2009/45587
. . . . . .
{
Isolation or security of virtual machine instances( security arrangements G06F 21/00 )
}
G06F 2009/45591
. . . . . .
{
Monitoring or debugging support( monitoring and debugging in general in G06F 11/30 , G06F 11/36 )
}
G06F 2009/45595
. . . . . .
{
Network integration; enabling network access in virtual machine instances( network-specific arrangements for supporting networked applications H04L 67/00 )
}
Collapse
. .
Multiprogramming arrangements
Collapse
G06F 9/461
. . .
{
Saving or restoring of program or task context
}
G06F 9/462
. . . .
{
with multiple register sets
}
G06F 9/463
. . . .
{
Program control block organisation
}
G06F 9/465
. . .
{
Distributed object oriented systems( remote method invocation (RMI) G06F 9/548 )
}
Collapse
G06F 9/466
. . .
{
Transaction processing
}
G06F 9/467
. . . .
{
Transactional memory( G06F 9/528 takes precedence )
}
G06F 9/468
. . .
{
Specific access rights for resources, e.g. using capability register
}
Collapse
. . .
Programme initiating ; Programme switching, e.g. by interrupt
Collapse
G06F 9/4806
. . . .
{
Task transfer initiation or dispatching
}
Collapse
G06F 9/4812
. . . . .
{
by interrupt, e.g. masked
}
G06F 9/4818
. . . . . .
{
Priority circuits therefor
}
G06F 9/4825
. . . . . .
{
Interrupt from clock, e.g. time of day
}
Collapse
G06F 9/4831
. . . . . .
{
with variable priority
}
G06F 9/4837
. . . . . . .
{
time dependent
}
Collapse
G06F 9/4843
. . . . .
{
by program, e.g. task dispatcher, supervisor, operating system
}
Collapse
G06F 9/485
. . . . . .
{
Task life-cycle, e.g. stopping, restarting, resuming execution( G06F 9/4881 takes precedence )
}
Collapse
G06F 9/4856
. . . . . . .
{
resumption being on a different machine, e.g. task migration , virtual machine migration( G06F 9/5088 takes precedence )
}
Collapse
G06F 9/4862
. . . . . . . .
{
the task being a mobile agent, i.e. specifically designed to migrate
}
G06F 9/4868
. . . . . . . . .
{
with creation or replication
}
G06F 9/4875
. . . . . . . . .
{
with migration policy, e.g. auction, contract negotiation
}
Collapse
G06F 9/4881
. . . . . .
{
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
}
G06F 9/4887
. . . . . . .
{
involving deadlines, e.g. rate based, periodic
}
G06F 9/4893
. . . . . . .
{
taking into account power or heat criteria( power management in computers in general G06F 1/3203 ; thermal management in computers in general G06F 1/206 )
}
Collapse
. . .
Allocation of resources, e.g. of the central processing unit (CPU)
Collapse
G06F 9/5005
. . . .
{
to service a request
}
Collapse
G06F 9/5011
. . . . .
{
the resources being hardware resources other than CPUs, Servers and Terminals
}
G06F 9/5016
. . . . . .
{
the resource being the memory
}
G06F 9/5022
. . . . . .
{
Mechanisms to release resources
}
Collapse
G06F 9/5027
. . . . .
{
the resource being a machine, e.g. CPUs, Servers, Terminals
}
G06F 9/5033
. . . . . .
{
considering data affinity
}
G06F 9/5038
. . . . . .
{
considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration( scheduling strategies G06F 9/4881 and subgroups )
}
G06F 9/5044
. . . . . .
{
considering hardware capabilities
}
G06F 9/505
. . . . . .
{
considering the load
}
G06F 9/5055
. . . . . .
{
considering software capabilities, i.e. software resources associated or available to the machine
}
Collapse
G06F 9/5061
. . . .
{
Partitioning or combining of resources
}
G06F 9/5066
. . . . .
{
Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs( mappping at compile time, see G06F 8/451 )
}
G06F 9/5072
. . . . .
{
Grid computing
}
G06F 9/5077
. . . . .
{
Logical partitioning of resources; Management or configuration of virtualized resources( specific details on emulation or internal functioning of virtual machines G06F 9/455 )
}
Collapse
G06F 9/5083
. . . .
{
Techniques for rebalancing the load in a distributed system
}
G06F 9/5088
. . . . .
{
involving task migration
}
G06F 9/5094
. . . .
{
where the allocation takes into account power or heat criteria( power management in computers in general G06F 1/3203 ; thermal management in computers in general G06F 1/206 )
}
Collapse
. . .
Programme synchronisation ; Mutual exclusion, e.g. by means of semaphores;
{
Contention for resources among tasks
}
G06F 9/522
. . . .
{
Barrier synchronisation
}
G06F 9/524
. . . .
{
Deadlock detection or avoidance
}
Collapse
G06F 9/526
. . . .
{
Mutual exclusion algorithms
}
G06F 9/528
. . . . .
{
by using speculative mechanisms
}
Collapse
. . .
Interprogramme communication;
{
Intertask communication
}
G06F 9/541
. . . .
{
via adapters, e.g. between incompatible applications
}
G06F 9/542
. . . .
{
Event management; Broadcasting; Multicasting; Notifications
}
G06F 9/543
. . . .
{
User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE
}
, object linking and embedding [OLE] ]
G06F 9/544
. . . .
{
Buffers; Shared memory; Pipes
}
G06F 9/545
. . . .
{
where tasks reside in different layers, e.g. user- and kernel-space
}
G06F 9/546
. . . .
{
Message passing systems or structures, e.g. queues
}
Collapse
G06F 9/547
. . . .
{
Remote procedure calls [RPC
}
; Web services]
G06F 9/548
. . . . .
{
Object oriented; Remote method invocation [RMI
}
( non-remote method invocation G06F 9/443 )]
Collapse
Error detection ; Error correction ; Monitoring( methods or arrangements for verifying the correctness of marking on a record carrier G06K 5/00 ; in information storage based on relative movement between record carrier and transducer G11B , e.g. G11B 20/18 ; in static stores G11C ; coding, decoding or code conversion, for error detection or error correction, in general H03M 13/00 )
NOTE
-
In this group the indexing codes of G06F 1/00 to G06F 15/00 are added

.
{
protecting against parasitic influences, e.g. noise, temperatures
}
WARNING
-

This group is no longer used for the classification of new documents as from January 1, 2011. The documents are classified in G06F 11/07 and subgroups according to the features used for protecting

.
{
Error avoidance( G06F 11/07 and subgroups take precedence )
}
.
{
Identification( G06F 11/2289 takes precedence )
}
.
{
Reliability or availability analysis
}
Collapse
.
responding to the occurence of a fault, e.g. fault tolerance
Collapse
. .
{
Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
}
Collapse
G06F 11/0706
. . .
{
the processing taking place on a specific hardware platform or in a specific software environment
}
G06F 11/0709
. . . .
{
in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
}
G06F 11/0712
. . . .
{
in a virtual computing platform, e.g. logically partitioned systems
}
G06F 11/0715
. . . .
{
in a system implementing multitasking( multitasking per se G06F 9/46 )
}
G06F 11/0718
. . . .
{
in an object-oriented system
}
Collapse
G06F 11/0721
. . . .
{
within a central processing unit [CPU
}
]
G06F 11/0724
. . . . .
{
in a multiprocessor or a multi-core unit( multiprocessors per se G06F 15/80 )
}
G06F 11/0727
. . . .
{
in a storage system, e.g. in a DASD or network based storage system( circuits for error detection or correction within digital recording or reproducing units G11B 20/18 ; drivers for digital recording or reproducing units G06F 3/06 ; storage area networks H04L 29/08549 )
}
G06F 11/073
. . . .
{
in a memory management context, e.g. virtual memory or cache management( memory management G06F 12/00 ; testing of static memory units G11C 29/00 )
}
G06F 11/0733
. . . .
{
in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
}
Collapse
G06F 11/0736
. . . .
{
in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function( testing or monitoring of automated control systems G05B 23/02 )
}
G06F 11/0739
. . . . .
{
in a data processing system embedded in automotive or aircraft systems
}
G06F 11/0742
. . . . .
{
in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
}
G06F 11/0745
. . . .
{
in an input/output transactions management context( input/output processing in general G06F 13/00 )
}
G06F 11/0748
. . . .
{
in a remote unit communicating with a single-box computer node experiencing an error/fault( remote testing G06F 11/2294 )
}
Collapse
G06F 11/0751
. . .
{
Error or fault detection not based on redundancy( power supply failures G06F 1/30 ; network fault management H04L 12/2419 )
}
Collapse
G06F 11/0754
. . . .
{
by exceeding limits
}
G06F 11/0757
. . . . .
{
by exceeding a time limit, i.e. time-out, e.g. watchdogs
}
G06F 11/076
. . . . .
{
by exceeding a count or rate limit, e.g. word- or bit count limit
}
G06F 11/0763
. . . .
{
by bit configuration check, e.g. of formats or tags
}
Collapse
G06F 11/0766
. . .
{
Error or fault reporting or storing( reporting or storing of non-error data G06F 11/30 , G06F 11/34 )
}
G06F 11/0769
. . . .
{
Readable error formats, e.g. cross-platform generic formats, human understandable formats
}
G06F 11/0772
. . . .
{
Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
}
G06F 11/0775
. . . .
{
Content or structure details of the error report, e.g. specific table structure, specific error fields
}
G06F 11/0778
. . . .
{
Dumping, i.e. gathering error/state information after a fault for later diagnosis
}
G06F 11/0781
. . . .
{
Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level
}
G06F 11/0784
. . . .
{
Routing of error reports, e.g. with a specific transmission path or data flow
}
G06F 11/0787
. . . .
{
Storage of error reports, e.g. persistent data storage, storage using memory protection
}
G06F 11/079
. . .
{
Root cause analysis, i.e. error or fault diagnosis( in a hardware test environment G06F 11/22 ; in a software test environment G06F 11/36 )
}
G06F 11/0793
. . .
{
Remedial or corrective actions( by retry G06F 11/1402 ; recovery from an exception in an instruction pipeline G06F 9/3861 ; in a network context H04L 29/14 )
}
. .
{
Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
}
Collapse
. .
Error detection or correction by redundancy in data representation, e.g. by using checking codes
G06F 11/085
. . .
{
using codes with inherent redundancy, e.g. n-out-of-m codes
}
Collapse
. . .
Adding special bits or symbols to the coded information, e.g. parity check, casting out 9`s or 11`s
. . . .
{
to protect a block of data words, e.g. CRC or checksum( G06F 11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F 21/00 )
}
Collapse
. . . .
{
in individual solid state devices( G06F 11/1004 takes precedence )
}
Collapse
. . . . .
{
using codes or arrangements adapted for a specific type of error( G06F 11/1048 takes precedence )
}
. . . . . .
{
Error in accessing a memory location, i.e. addressing error
}
G06F 11/102
. . . . . .
{
Error in check bits
}
. . . . . .
{
Identification of the type of error
}
G06F 11/1028
. . . . . .
{
Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
}
. . . . . .
{
Simple parity
}
. . . . . .
{
Unidirectional errors
}
G06F 11/104
. . . . . .
{
using arithmetic codes i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check
}
. . . . .
{
with specific ECC/EDC distribution
}
Collapse
. . . . .
{
using arrangements adapted for a specific error detection or correction feature
}
. . . . . .
{
Bypassing or disabling error detection or correction
}
. . . . . .
{
Updating check bits on partial write, i.e. read/modify/write
}
. . . . . .
{
Correcting systematically all correctable errors, i.e. scrubbing
}
. . . . .
{
in cache or content addressable memories
}
. . . . .
{
in sector programmable memories, e.g. flash disk( G06F 11/1072 takes precedence )
}
. . . . .
{
in multilevel memories
}
Collapse
. . . .
{
Parity data used in redundant arrays of independent storages, e.g. in RAID systems
}
G06F 11/108
. . . . .
{
Parity data distribution in semiconductor storages, e.g. in SSD
}
. . . . .
{
Degraded mode, e.g. caused by single or multiple storage removals or disk failures
}
G06F 11/1088
. . . . .
{
Reconstruction on already foreseen single or plurality of spare disks
}
G06F 11/1092
. . . . .
{
Rebuilding, e.g. when physically replacing a failing disk
}
G06F 11/1096
. . . . .
{
Parity calculation or recalculation after configuration or reconfiguration of the system
}
Collapse
. .
Error detection or correction of the data by redundancy in operation( G06F 11/16 takes precedence )
Collapse
. . .
{
Saving, restoring, recovering or retrying
}
Collapse
. . . .
{
at machine instruction level
}
G06F 11/1407
. . . . .
{
Checkpointing the instruction stream
}
G06F 11/141
. . . . .
{
for bus or memory accesses
}
G06F 11/1412
. . . .
{
of data
}
Collapse
. . . .
{
at system level
}
. . . . .
{
Boot up procedures
}
Collapse
. . . . .
{
Reconfiguring to eliminate the error( group management mechanisms in a peer-to-peer network H04L 67/1044 )
}
. . . . . .
{
by reconfiguration of paths
}
G06F 11/1425
. . . . . .
{
by reconfiguration of node membership
}
G06F 11/1428
. . . . . .
{
with loss of hardware functionality
}
G06F 11/143
. . . . . .
{
with loss of software functionality
}
. . . . .
{
during software upgrading
}
. . . . .
{
using file system or storage system metadata
}
. . . . .
{
Restarting or rejuvenating
}
. . . . .
{
Resetting or repowering
}
. . . . .
{
Transmit or communication errors
}
Collapse
. . . .
{
Point-in-time backing up or restoration of persistent data
}
Collapse
. . . . .
{
Management of the data involved in backup or backup restore
}
. . . . . .
{
by selection of backup contents
}
. . . . . .
{
using de-duplication of the data
}
. . . . .
{
Hardware arrangements for backup
}
Collapse
. . . . .
{
Management of the backup or restore process
}
G06F 11/1461
. . . . . .
{
Backup scheduling policy
}
. . . . . .
{
for networked environments
}
. . . . . .
{
to make the backup process non-disruptive
}
. . . . . .
{
Backup restoration techniques
}
. . . .
{
involving logging of persistent data for recovery
}
. . . .
{
in transactions( G06F 17/30286 takes precedence )
}
G06F 11/1476
. . .
{
in neural networks
}
Collapse
. . .
{
Generic software techniques for error detection or fault masking
}
Collapse
. . . .
{
by means of middleware or OS functionality
}
G06F 11/1484
. . . . .
{
involving virtual machines
}
. . . .
{
using N-version programming
}
. . . .
{
through recovery blocks
}
Collapse
. . . .
{
by run-time replication performed by the application software
}
. . . . .
{
N-modular type
}
. . .
{
Details of time redundant execution on a single processing unit
}
Collapse
. .
Error detection or correction of the data by redundancy in hardware
. . .
{
where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
}
Collapse
G06F 11/1608
. . .
{
Error detection by comparing the output signals of redundant hardware( G06F 11/1629 , G06F 11/1666 take precedence; error detection or correction in information storage based on relative movement between record carrier and transducer G11B 20/18 ; checking static stores for correct operation G11C 29/00 ; for logic circuits H03K 19/003 , H03K 19/007 ; for pulse counters or frequency dividers H03K 21/40 )
}
G06F 11/1612
. . . .
{
where the redundant component is persistent storage
}
Collapse
G06F 11/1616
. . . .
{
where the redundant component is an I/O device or an adapter therefor
}
G06F 11/162
. . . . .
{
Displays
}
G06F 11/1625
. . . .
{
in communications, e.g. transmission, interfaces
}
Collapse
. . .
{
Error detection by comparing the output of redundant processing systems
}
. . . .
{
using mutual exchange of the output between the redundant processing components
}
. . . .
{
using additional compare functionality in one or some but not all of the redundant processing components
}
Collapse
. . . .
{
where the comparison is not performed by the redundant processing components
}
G06F 11/1645
. . . . .
{
and the comparison itself uses redundant hardware
}
. . . .
{
with continued operation after detection of the error
}
. . . .
{
where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
}
Collapse
. . .
{
Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
}
. . . .
{
the resynchronized component or unit being a persistent storage device( re-synchronization of failed mirror storage G06F 11/2082 ; rebuild or reconstruction of parity RAID storage G06F 11/1008 )
}
WARNING
-
Not complete pending a reclassification. See also G06F11/16D

Collapse
. . .
{
where the redundant component is memory or memory area
}
. . . .
{
Error detection by comparing the memory output
}
Collapse
. . .
{
Temporal synchronisation or re-synchronisation of redundant processing components
}
. . . .
{
at clock signal level
}
. . . .
{
at instruction level
}
. . . .
{
at event level, e.g. by interrupt or result of polling
}
. . . .
{
using a quantum
}
. . .
{
which are operating with time diversity
}
Collapse
. . .
{
using passive fault-masking of the redundant circuits( error detection by comparing the output of redundant processing systems with continued operation after detection of the error G06F 11/165 )
}
. . . .
{
Eliminating the failing redundant component
}
. . . .
{
based on mutual exchange of the output between redundant processing components
}
Collapse
. . . .
{
by voting, the voting not being performed by the redundant components
}
Collapse
G06F 11/184
. . . . .
{
where the redundant components implement processing functionality
}
G06F 11/185
. . . . . .
{
and the voting is itself performed redundantly
}
G06F 11/186
. . . .
{
Passive fault masking when reading multiple copies of the same data
}
Collapse
. . . .
{
Details of voting
}
. . . . .
{
where exact match is not required
}
Collapse
. . .
using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Collapse
. . . .
{
where interconnections or communication control functionality are redundant( flexible arrangements for bus networks involving redundancy H04L 12/40176 )
}
. . . . .
{
using redundant communication controllers
}
Collapse
. . . . .
{
using redundant communication media
}
. . . . . .
{
between storage system components
}
G06F 11/2012
. . . . .
{
and using different communication protocols
}
G06F 11/2015
. . . .
{
Redundant power supplies( power supply failure G06F 1/30 )
}
. . . .
{
where memory access, memory control or I/O control functionality is redundant( redundant communication control functionality G06F 11/2005 ; redundant storage control functionality G06F 11/2089 )
}
WARNING
-
Not complete pending a reclassification. See also G06F11/20L

Collapse
. . . .
{
where processing functionality is redundant( redundant communication control functionality G06F 11/2005 , redundant storage control functionality G06F 11/2089 )
}
Collapse
. . . . .
{
details of failing over
}
. . . . . .
{
using centralised failover control functionality
}
. . . . . .
{
eliminating a faulty processor or activating a spare
}
. . . . . .
{
using migration
}
. . . . . .
{
switching over of hardware resources
}
. . . . .
{
without idle spare hardware
}
. . . . .
{
with a single idle spare processing component
}
. . . . .
{
with more than one spare processing components
}
. . . . .
{
where the redundant components share a common memory address space
}
. . . . .
{
where the redundant components share persistent storage( G06F 11/2043 takes precedence )
}
G06F 11/2048
. . . . .
{
where the redundant components share neither address space nor persistent storage
}
G06F 11/2051
. . . . .
{
in regular structures
}
Collapse
. . . .
{
where persistent mass storage functionality or persistent mass storage control functionality is redundant( error detection or correction in information storage based on relative movement between record carrier and transducer G11B 20/18 )
}
Collapse
. . . . .
{
by mirroring
}
. . . . . .
{
using more than 2 mirrored copies
}
G06F 11/2061
. . . . . .
{
combined with de-clustering of data
}
. . . . . .
{
while ensuring consistency
}
. . . . . .
{
Optimisation of the communication load
}
G06F 11/2069
. . . . . .
{
Management of state, configuration or failover
}
Collapse
G06F 11/2071
. . . . . .
{
using a plurality of controllers
}
G06F 11/2074
. . . . . . .
{
Details of asynchronous techniques
}
G06F 11/2076
. . . . . . .
{
Details of synchronous techniques
}
. . . . . . .
{
Bidirectional techniques
}
. . . . . .
{
Data synchronisation
}
G06F 11/2084
. . . . . .
{
on the same storage unit
}
G06F 11/2087
. . . . . .
{
with a common controller
}
Collapse
. . . . .
{
Redundant storage control functionality
}
. . . . . .
{
Details of failing over between control units
}
. . . . .
{
Redundant storage or storage space( G06F 11/2056 takes precedence )
}
. . . .
{
maintaining the standby controller/processing unit updated( initialisation or re-synchronisation thereof G06F 11/1658 and subgroups )
}
Collapse
.
Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing( testing of digital circuits, e.g. of separate computer components G01R 31/317 )
Collapse
G06F 11/2205
. .
{
using arrangements specific to the hardware being tested
}
G06F 11/221
. . .
{
to test buses, lines or interfaces, e.g. stuck-at or open line faults
}
G06F 11/2215
. . .
{
to test error correction or detection circuits
}
G06F 11/2221
. . .
{
to test input/output devices or peripheral units
}
G06F 11/2226
. . .
{
to test ALU
}
G06F 11/2231
. . .
{
to test interrupt circuits
}
Collapse
G06F 11/2236
. . .
{
to test CPU or processors
}
G06F 11/2242
. . . .
{
in multi-processor systems, e.g. one processor becoming the test master( G06F 11/2736 takes precedence )
}
. .
{
Verification or detection of system hardware configuration
}
. .
{
using fault dictionaries
}
. .
{
using expert systems
}
. .
{
using neural networks
}
G06F 11/2268
. .
{
Logging of test results
}
Collapse
. .
{
Test methods
}
G06F 2011/2278
. . .
{
Power-On Test, e.g. POST
}
. .
{
by power-on test, e.g. power-on self test (POST)
}
. .
{
by configuration test
}
G06F 11/2294
. .
{
by remote test
}
G06F 11/24
. .
Marginal checking
{
or other specified testing methods not covered by G06F 11/26 , e.g. race tests
}
. .
Testing of logic operation, e.g. by logic analysers
Collapse
G06F 11/26
. .
Functional testing
. . .
{
by simulating additional hardware, e.g. fault simulation
}
Collapse
. . .
Generation of test inputs, e.g. test vectors, patterns or sequences;
{
with adaptation of the tested hardware for testability with external testers
}
G06F 11/2635
. . . .
{
using a storage for the test inputs, e.g. test ROM, script files
}
. . .
Reconfiguring circuits for testing, e.g. LSSD, partitioning
. . .
Built-in tests
Collapse
. . .
Tester hardware, i.e. output processing circuits
{
( G06F 11/263 takes precedence )
}
G06F 11/2733
. . . .
{
Test interface between tester and unit under test
}
G06F 11/2736
. . . .
{
using a dedicated service processor for test
}
. . . .
with comparison between actual response and known fault-free response
.
by checking the correct order of processing( G06F 11/08 to G06F 11/26 take precedence; monitoring patterns of pulse trains H03K 5/19 )
Collapse
.
Monitoring
Collapse
G06F 11/3003
. .
{
Monitoring arrangements specially adapted to the computing system or computing system component being monitored
}
G06F 11/3006
. . .
{
where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems( multiprogramming arrangements G06F 9/46 ; allocation of resources G06F 9/50 )
}
G06F 11/301
. . .
{
where the computing system is a virtual computing platform, e.g. logically partitioned systems( virtual machines G06F 9/45533 ; logical partitioning of resources G06F 9/5077 )
}
G06F 11/3013
. . .
{
where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems( testing or monitoring of control systems or parts thereof G05B 23/02 )
}
G06F 11/3017
. . .
{
where the computing system is implementing multitasking( multiprogramming arrangements G06F 9/46 ; allocation of resources G06F 9/50 )
}
G06F 11/302
. . .
{
where the computing system component is a software system
}
G06F 11/3024
. . .
{
where the computing system component is a central processing unit (CPU)
}
G06F 11/3027
. . .
{
where the computing system component is a bus
}
G06F 11/3031
. . .
{
where the computing system component is a motherboard or an expansion card
}
G06F 11/3034
. . .
{
where the computing system component is a storage system, e.g. DASD based or network based( digital recording or reproducing G11B 20/18 ; digital input from or digital output to record carriers G06F 3/06 ; arrangements and networking functions for distributed storage of data in a network H04L 29/08549 )
}
G06F 11/3037
. . .
{
where the computing system component is a memory, e.g. virtual memory, cache( accessing, addressing or allocating within memory systems or architectures G06F 12/00 ; checking stores for correct operation G11C 29/00 )
}
G06F 11/3041
. . .
{
where the computing system component is an input/output interface( interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units G06F 13/00 )
}
G06F 11/3044
. . .
{
where the computing system component is the mechanical casing of the computing system
}
G06F 11/3048
. . .
{
where the topology of the computing system or computing system component explicitly influences the monitoring activity, e.g. serial, hierarchical systems
}
G06F 11/3051
. .
{
Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs( verification or detection of system hardware configuration G06F 11/2247 )
}
G06F 11/3055
. .
{
Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available( error or fault processing without redundancy G06F 11/0703 ; error detection or correction by redundancy in data representation G06F 11/08 ; error detection or correction by redundancy in operation G06F 11/14 ; error detection or correction by redundancy in hardware G06F 11/16 )
}
Collapse
G06F 11/3058
. .
{
Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations( thermal management in cooling arrangements of a computing system G06F 1/206 )
}
G06F 11/3062
. . .
{
where the monitored property is the power consumption( power management in a computing system G06F 1/3203 )
}
Collapse
G06F 11/3065
. .
{
Monitoring arrangements determined by the means or processing involved in reporting the monitored data( error or fault reporting or logging G06F 11/0766 )
}
G06F 11/3068
. . .
{
where the reporting involves data format conversion
}
Collapse
G06F 11/3072
. . .
{
where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
}
G06F 11/3075
. . . .
{
the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
}
G06F 11/3079
. . . .
{
the data filtering being achieved by reporting only the changes of the monitored data
}
G06F 11/3082
. . . .
{
the data filtering being achieved by aggregating or compressing the monitored data
}
G06F 11/3086
. . .
{
where the reporting involves the use of self describing data formats, e.g. metadata, markup languages, human readable formats
}
Collapse
G06F 11/3089
. .
{
Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents( software debugging using additional hardware using a specific debug interface G06F 11/3656 ; performance evaluation by tracing or monitoring G06F 11/3466 )
}
G06F 11/3093
. . .
{
Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
}
G06F 11/3096
. . .
{
wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
}
Collapse
G06F 11/32
. .
with visual
{
or acoustical
}
indication of the functioning of the machine
Collapse
G06F 11/321
. . .
{
Display for diagnostics, e.g. diagnostic result display, self-test user interface
}
G06F 11/322
. . . .
{
Display of waveforms, e.g. of logic analysers( G06F 11/323 takes precedence )
}
G06F 11/323
. . .
{
Visualisation of programs or trace data
}
Collapse
G06F 11/324
. . .
{
Display of status information
}
Collapse
G06F 11/325
. . . .
{
by lamps or LED`s
}
G06F 11/326
. . . . .
{
for error or online/offline status
}
G06F 11/327
. . . .
{
Alarm or error message display
}
G06F 11/328
. . . .
{
Computer systems status display( G06F 11/327 takes precedence )
}
Collapse
. .
Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation;
{
Recording or statistical evaluation of user activity, e.g. usability assessment
}
. . .
{
for parallel or distributed programming
}
Collapse
. . .
{
for performance assessment
}
G06F 11/3414
. . . .
{
Workload generation, e.g. scripts, playback
}
Collapse
G06F 11/3419
. . . .
{
by assessing time
}
G06F 11/3423
. . . . .
{
where the assessed time is active or idle time
}
G06F 11/3428
. . . .
{
Benchmarking
}
. . . .
{
for load management
}
( allocation of a server based on load conditions G06F 9/505 ; load rebalancing G06F 9/5083 ; redistributing the load in a network by a load balancer H04L 67/1029 )
. . .
{
monitoring of user actions( checking the network activity of the user for network-specific applications H04L 67/22 )
}
. . .
{
for planning or managing the needed capacity
}
. . .
{
Performance evaluation by modeling
}
. . .
{
Performance evaluation by statistical analysis
}
Collapse
. . .
{
Performance evaluation by simulation
}
G06F 11/3461
. . . .
{
Trace driven simulation
}
Collapse
. . .
{
Performance evaluation by tracing or monitoring
}
. . . .
{
Address tracing
}
. . . .
{
Data logging( G06F 11/14 , G06F 11/2205 take precedence )
}
G06F 11/348
. . . .
{
Circuit details, i.e. tracer hardware
}
. . . .
{
for I/O devices
}
. . . .
{
for interfaces, buses
}
. . . .
{
for systems
}
Collapse
.
Preventing errors by testing or debugging software
Collapse
. .
{
Software analysis for verifying properties of programs( byte-code verification G06F 9/44589 )
}
. . .
{
using formal methods, e.g. model checking, abstract interpretation( theorem proving G06N 5/006 )
}
. . .
{
by runtime analysis( performance monitoring G06F 11/3466 )
}
. . .
{
using software metrics
}
Collapse
. .
{
Software debugging
}
. . .
{
by performing operations on the source code, e.g. via a compiler
}
. . .
{
of optimised code( optimisation G06F 8/443 )
}
. . .
{
of specific synchronisation aspects
}
Collapse
. . .
{
by tracing the execution of the program
}
. . . .
{
tracing values on a bus
}
. . .
{
by instrumenting at runtime
}
Collapse
. . .
{
using additional hardware
}
. . . .
{
in-circuit-emulation [ICE
}
arrangements]
. . . .
{
using a specific debug interface
}
. . .
{
using diagnostics( G06F 11/0703 takes precedence )
}
. .
{
Environments for testing or debugging software
}
Collapse
. .
{
Software testing( software testing in telephone exchanges H04M 3/242 , testing of hardware G06F 11/22 )
}
Collapse
. . .
{
Test management
}
. . . .
{
for coverage analysis
}
. . . .
{
for test version control, e.g. updating test cases to a new software version
}
. . . .
{
for test design, e.g. generating new test cases
}
. . . .
{
for test execution, e.g. scheduling of test suites
}
. . . .
{
for test results analysis
}
. . .
{
Methods or tools to render software testable
}
Collapse
Accessing, addressing or allocating within memory systems or architectures(
{
digital input or output to record carriers, e.g. to disc storage units G06F 3/06
}
; information storage in general G11 )
Collapse
.
Addressing or allocation ; Relocation( programme address sequencing G06F 9/00 ; arrangements for selecting an address in a digital store G11C 8/00 )
. .
{
with multidimensional access, e.g. row/column, matrix
}
. .
{
with look ahead addressing means
}
Collapse
. .
{
User address space allocation, e.g. contiguous or non contiguous base addressing
}
Collapse
. . .
{
Free address space management
}
Collapse
. . . .
{
in non-volatile memory
}
. . . . .
{
in block erasable memory, e.g. flash memory
}
Collapse
. . . .
{
Garbage collection, i.e. reclamation of unreferenced memory
}
G06F 12/0261
. . . . .
{
using reference counting
}
Collapse
G06F 12/0269
. . . . .
{
Incremental or concurrent garbage collection, e.g. in real-time systems( G06F 12/0261 takes precedence )
}
G06F 12/0276
. . . . . .
{
Generational garbage collection
}
. . .
{
Multiple user address space allocation, e.g. using different base addresses( interprocessor communication G06F 15/163 )
}
. . .
{
using tables or multilevel address translation means( G06F 12/023 takes precedence; address translation in virtual memory systems G06F 12/10 )
}
. .
Addressing variable-length words or parts of words
Collapse
. .
Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication( G06F 12/08 takes precedence )
NOTE
-
This group is limited to Module addressing or allocation; base addressing is classified in G06F 12/0223 .

G06F 12/0607
. . .
{
Interleaved addressing
}
Collapse
G06F 12/0615
. . .
{
Address space extension
}
G06F 12/0623
. . . .
{
for memory modules
}
G06F 12/063
. . . .
{
for I/O modules, e.g. memory mapped I/O( I/O protocol G06F 13/42 )
}
G06F 12/0638
. . .
{
Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module( address formation of the next micro-instruction G06F 9/26 ; masking faults in memories by using spares or by reconfiguring G11C 29/70 )
}
Collapse
G06F 12/0646
. . .
{
Configuration or reconfiguration
}
Collapse
G06F 12/0653
. . . .
{
with centralised address assignment
}
G06F 12/0661
. . . . .
{
and decentralised selection
}
Collapse
G06F 12/0669
. . . .
{
with decentralised address assignment
}
G06F 12/0676
. . . . .
{
the address being position dependent
}
G06F 12/0684
. . . .
{
with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
}
G06F 12/0692
. . . .
{
Multiconfiguration, e.g. local and global addressing
}
Collapse
. .
in hierarchically structured memory systems, e.g. virtual memory systems
Collapse
. . .
{
Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. cache
}
. . . .
{
with main memory updating( G06F 12/0806 takes precedence; see provisionally also G06F 12/12 )
}
Collapse
. . . .
{
Multiuser, multiprocessor, multiprocessing cache systems
}
G06F 12/0808
. . . . .
{
with cache invalidating means( G06F 12/0815 and subgroups take precedence )
}
G06F 12/0811
. . . . .
{
with multilevel cache hierarchies
}
G06F 12/0813
. . . . .
{
with a network or matrix configuration
}
Collapse
. . . . .
{
Cache consistency protocols
}
Collapse
G06F 12/0817
. . . . . .
{
using directory methods
}
G06F 12/082
. . . . . . .
{
Associative directories( G06F 12/0822 takes precedence )
}
G06F 12/0822
. . . . . . .
{
Copy directories( local copy tags for implementing a bus snooping protocol G06F 12/0831 )
}
G06F 12/0824
. . . . . . .
{
Distributed directories, e.g. linked lists of caches
}
G06F 12/0826
. . . . . . .
{
Limited pointers directories; State-only directories without pointers
}
G06F 12/0828
. . . . . . .
{
with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
}
Collapse
G06F 12/0831
. . . . . .
{
using a bus scheme( e.g. with bus monitoring or watching means )
}
G06F 12/0833
. . . . . . .
{
in combination with broadcast means( e.g. for invalidation or updating )
}
G06F 12/0835
. . . . . . .
{
for main memory peripheral accesses( e.g. I/O or DMA )
}
G06F 12/0837
. . . . . .
{
with software control( e.g. non-cacheable data )
}
G06F 12/084
. . . . .
{
with a shared cache
}
G06F 12/0842
. . . . .
{
for multiprocessing or multitasking
}
Collapse
. . . .
{
Multiple simultaneous or quasi-simultaneous cache accessing
}
Collapse
G06F 12/0846
. . . . .
{
Cache with multiple tag or data arrays being simultaneously accessible
}
G06F 12/0848
. . . . . .
{
Partitioned cache, e.g. separate instruction and operand caches
}
G06F 12/0851
. . . . . .
{
Cache with interleaved addressing
}
G06F 12/0853
. . . . .
{
Cache with multiport tag or data arrays
}
Collapse
G06F 12/0855
. . . . .
{
Overlapped cache accessing, e.g. pipeline( G06F 12/0846 takes precedence )
}
G06F 12/0857
. . . . . .
{
by multiple requestors
}
G06F 12/0859
. . . . . .
{
with reload from main memory
}
. . . .
{
with prefetch
}
. . . .
{
using pseudo-associative means, e.g. set-associative, hashing
}
Collapse
. . . .
{
for peripheral storage systems, e.g. disk cache
}
. . . . .
{
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
}
. . . . .
{
Allocation and management of cache space
}
. . . . .
{
Mapping of cache memory to specific storage devices or parts of a storage device
}
. . . .
{
with dedicated cache, e.g. instruction or stack
}
Collapse
. . . .
{
Cache access modes
}
G06F 12/0879
. . . . .
{
Burst mode
}
G06F 12/0882
. . . . .
{
Page mode
}
G06F 12/0884
. . . . .
{
Parallel mode, e.g. in parallel with main memory or CPU
}
G06F 12/0886
. . . . .
{
Variable-length word access( G06F 12/0851 takes precedence )
}
. . . .
{
using selective caching, e.g bypass
}
. . . .
{
using clearing, invalidating or resetting means
}
Collapse
. . . .
{
Organization and technology of caches
}
G06F 12/0895
. . . . .
{
of parts of caches, e.g. directory or tag array
}
G06F 12/0897
. . . . .
{
with a plurality of cache hierarchy levels( G06F 12/0811 takes precedence )
}
Collapse
. . .
Address translation
Collapse
G06F 12/1009
. . . .
{
using page tables, e.g. page table structures
}
G06F 12/1018
. . . . .
{
involving hashing techniques, e.g. inverted page tables
}
Collapse
. . . .
{
using associative or pseudo-associative address translation means, e.g. translation look-aside buffer (TLB)
}
G06F 12/1036
. . . . .
{
for multiple virtual address spaces, e.g. segmentation( G06F 12/1045 takes precedence )
}
Collapse
G06F 12/1045
. . . . .
{
associated with a data cache
}
G06F 12/1054
. . . . . .
{
the data cache being concurrently physically addressed
}
G06F 12/1063
. . . . . .
{
the data cache being concurrently virtually addressed
}
G06F 12/1072
. . . .
{
Decentralised address translation, e.g. in distributed shared memory systems
}
. . . .
{
for peripheral access to main memory, e.g. DMA
}
. . . .
{
for multiple virtual address spaces, e.g. segmentation
}
Collapse
. . .
Replacement control
Collapse
G06F 12/121
. . . .
{
using a replacement algorithm
}
G06F 12/122
. . . . .
{
of the least frequently used type, e.g. with individual count value
}
Collapse
G06F 12/123
. . . . .
{
with an age list, e.g. queue, MRU-LRU list
}
G06F 12/124
. . . . . .
{
being minimized, e.g. non MRU
}
G06F 12/125
. . . . . .
{
being generated by decoding an array or storage
}
Collapse
G06F 12/126
. . . . .
{
with special data handling, e.g. priority of data or instructions, pinning, errors
}
G06F 12/127
. . . . . .
{
using an additional replacement algorithm
}
G06F 12/128
. . . . .
{
adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
}
Collapse
.
Protection against unauthorised use of memory
{
or access to memory( security arrangements for protecting computers or computer systems against unauthorised activity G06F 21/00 ; multiprogramming arrangements G06F 9/46 )
}
. .
{
by using cryptography( for digital transmission H04L 9/00 )
}
Collapse
. .
{
by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights( G06F 12/1458 takes precedence )
}
Collapse
G06F 12/1425
. . .
{
the protection being physical, e.g. cell, word, block
}
G06F 12/1433
. . . .
{
for a module or a part of a module
}
G06F 12/1441
. . . .
{
for a range
}
G06F 12/145
. . .
{
the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
}
Collapse
. .
{
by checking the subject access rights
}
Collapse
G06F 12/1466
. . .
{
Key-lock mechanism
}
G06F 12/1475
. . . .
{
in a virtual system, e.g. with translation means
}
G06F 12/1483
. . .
{
using an access-table, e.g. matrix or list
}
G06F 12/1491
. . .
{
in a hierarchical protection system, e.g. privilege levels, memory rings
}
.
Protection against loss of memory contents
{
contains no material, see G06F 11/00
}
Collapse
Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units( interface circuits for specific input/output devices G06F 3/00 ; multiprocessor systems G06F 15/16 ; transmission of digital information in general H04L; selecting H04Q;
{
multiprogramme control therefor G06F 9/46
}
)
Collapse
G06F 13/10
.
Programme control for peripheral devices( G06F 13/14 to G06F 13/42 take precedence )
G06F 13/102
. .
{
where the programme performs an interfacing function, e.g. device driver( G06F 13/105 takes precedence; scheduling within device drivers G06F 9/52 ; contention policies within device drivers G06F 9/4881 )
}
Collapse
G06F 13/105
. .
{
where the programme performs an input/output emulation function
}
G06F 13/107
. . .
{
Terminal emulation
}
Collapse
G06F 13/12
. .
using hardware independent of the central processor, e.g. channel or peripheral processor
G06F 13/122
. . .
{
where hardware performs an I/O function other than control of data transfer
}
Collapse
G06F 13/124
. . .
{
where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
}
G06F 13/126
. . . .
{
and has means for transferring I/O instructions and statuses between control unit and main processor
}
G06F 13/128
. . . .
{
for dedicated transfers to a network( for protocol converters G06F 13/387 )
}
Collapse
G06F 13/14
.
Handling requests for interconnection or transfer
Collapse
G06F 13/16
. .
for access to memory bus( G06F 13/28 takes precedence )
Collapse
G06F 13/1605
. . .
{
based on arbitration( arbitration in handling access to a common bus or bus system G06F 13/36 )
}
Collapse
G06F 13/161
. . . .
{
with latency improvement
}
G06F 13/1615
. . . . .
{
using a concurrent pipeline structrure
}
G06F 13/1621
. . . . .
{
by maintaining request order
}
Collapse
G06F 13/1626
. . . . .
{
by reordering requests
}
G06F 13/1631
. . . . . .
{
through address comparison
}
G06F 13/1636
. . . . .
{
using refresh
}
G06F 13/1642
. . . .
{
with request queuing
}
G06F 13/1647
. . . .
{
with interleaved bank access
}
Collapse
G06F 13/1652
. . . .
{
in a multiprocessor architecture( interprocessor communication using common memory G06F 15/167 )
}
G06F 13/1657
. . . . .
{
Access to multiple memories
}
G06F 13/1663
. . . . .
{
Access to shared memory
}
Collapse
G06F 13/1668
. . .
{
Details of memory controller
}
G06F 13/1673
. . . .
{
using buffers
}
G06F 13/1678
. . . .
{
using bus width
}
G06F 13/1684
. . . .
{
using multiple buses
}
G06F 13/1689
. . . .
{
Synchronisation and timing concerns( synchronisation on a memory bus G06F 13/4234 )
}
G06F 13/1694
. . . .
{
Configuration of memory controller to different memory types
}
G06F 13/18
. . .
based on priority control( G06F 13/1605 takes precedence )
Collapse
G06F 13/20
. .
for access to input/output bus
Collapse
G06F 13/22
. . .
using successive scanning, e.g. polling( G06F 13/24 takes precedence )
G06F 13/225
. . . .
{
with priority control
}
Collapse
G06F 13/24
. . .
using interrupt( G06F 13/32 takes precedence )
G06F 13/26
. . . .
with priority control
Collapse
. . .
using burst mode transfer, e.g. direct memory access
{
DMA
}
, cycle steal( G06F 13/32 takes precedence )
G06F 13/282
. . . .
{
Cycle stealing DMA( G06F 13/30 takes precedence )
}
G06F 13/285
. . . .
{
Halt processor DMA( G06F 13/30 takes precedence )
}
G06F 13/287
. . . .
{
Multiplexed DMA( G06F 13/30 takes precedence )
}
G06F 13/30
. . . .
with priority control
Collapse
G06F 13/32
. . .
using combination of interrupt and burst mode transfer
G06F 13/34
. . . .
with priority control
Collapse
G06F 13/36
. .
for access to common bus or bus system
Collapse
G06F 13/362
. . .
with centralised access control
G06F 13/3625
. . . .
{
using a time dependent access
}
G06F 13/364
. . . .
using independent requests or grants, e.g. using separated request and grant lines
G06F 13/366
. . . .
using a centralised polling arbiter
Collapse
G06F 13/368
. . .
with decentralised access control
G06F 13/37
. . . .
using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
G06F 13/372
. . . .
using a time-dependent priority, e.g. individually loaded time counters or time slot
G06F 13/374
. . . .
using a self-select method with individual priority code comparator
G06F 13/376
. . . .
using a contention resolving method, e.g. collision detection, collision avoidance
G06F 13/378
. . . .
using a parallel poll method
Collapse
G06F 13/38
.
Information transfer, e.g. on bus( G06F 13/14 takes precedence )
Collapse
. .
{
using universal interface adapter
}
G06F 13/385
. . .
{
for adaptation of a particular data processing system to different peripheral devices
}
G06F 13/387
. . .
{
for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
}
Collapse
G06F 13/40
. .
Bus structure
{
( for computer networks G06F 15/163 ; for optical bus networks H04B10/20 )
}
Collapse
. . .
{
Coupling between buses
}
Collapse
G06F 13/4009
. . . .
{
with data restructuring
}
G06F 13/4013
. . . . .
{
with data re-ordering, e.g. Endian conversion
}
G06F 13/4018
. . . . .
{
with data-width conversion
}
G06F 13/4022
. . . .
{
using switching circuits, e.g. switching matrix, connection or expansion network( G06F 13/4009 takes precedence )
}
Collapse
G06F 13/4027
. . . .
{
using bus bridges( G06F 13/4022 takes precedence )
}
Collapse
G06F 13/4031
. . . . .
{
with arbitration
}
G06F 13/4036
. . . . . .
{
and deadlock prevention
}
G06F 13/404
. . . . .
{
with address mapping
}
G06F 13/4045
. . . . .
{
where the bus bridge performs an extender function
}
Collapse
G06F 13/405
. . . . .
{
where the bridge performs a synchronising function
}
G06F 13/4054
. . . . . .
{
where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
}
G06F 13/4059
. . . . . .
{
where the synchronisation uses buffers, e.g. for speed matching between buses
}
Collapse
. . .
{
Device-to-bus coupling
}
Collapse
G06F 13/4068
. . . .
{
Electrical coupling
}
Collapse
G06F 13/4072
. . . . .
{
Drivers or receivers( G06F 13/4086 takes precedence; for multistate logic circuits H03K 19/0002 )
}
G06F 13/4077
. . . . . .
{
Precharging or discharging
}
. . . . .
{
Live connection to bus, e.g. hot-plugging( current or voltage limitation during live insertion H02H 9/004 )
}
G06F 13/4086
. . . . .
{
Bus impedance matching, e.g. termination
}
Collapse
. . . .
{
Mechanical coupling( Back panels H05K 7/1438 )
}
G06F 13/4095
. . . . .
{
in incremental bus architectures, e.g. bus stacks
}
Collapse
G06F 13/42
. .
Bus transfer protocol, e.g. handshake ; Synchronisation( synchronisation in transmission of digital information in general H04L 7/00 )
Collapse
G06F 13/4204
. . .
{
on a parallel bus
}
Collapse
G06F 13/4208
. . . .
{
being a system bus, e.g. VME bus, Futurebus, Multibus
}
G06F 13/4213
. . . . .
{
with asynchronous protocol
}
G06F 13/4217
. . . . .
{
with synchronous protocol
}
Collapse
G06F 13/4221
. . . .
{
being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
}
G06F 13/4226
. . . . .
{
with asynchronous protocol
}
G06F 13/423
. . . . .
{
with synchronous protocol
}
Collapse
G06F 13/4234
. . . .
{
being a memory bus
}
G06F 13/4239
. . . . .
{
with asynchronous protocol
}
G06F 13/4243
. . . . .
{
with synchronous protocol
}
Collapse
G06F 13/4247
. . .
{
on a daisy chain bus
}
G06F 13/4252
. . . .
{
using a handshaking protocol
}
G06F 13/4256
. . . .
{
using a clocked protocol
}
G06F 13/426
. . . .
{
using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
}
Collapse
G06F 13/4265
. . .
{
on a point to point bus( G06F 13/4247 , G06F 13/4282 take precedence )
}
G06F 13/4269