CLASS 719, | ELECTRICAL COMPUTERS AND DIGITAL PROCESSING SYSTEMS: INTERPROGRAM COMMUNICATION OR INTERPROCESS COMMUNICATION (IPC) |
Click here for a printable version of this file |
SECTION I - CLASS DEFINITION
GENERAL STATEMENT OF THE CLASS SUBJECT MATTER
This class provides for an electrical computer or digital data processing system or corresponding data processing method including apparatus or steps for exchanging data or messages between two executing programs or processes, independent of the hardware used in the communication.
(1) Note. Classification herein requires more than nominal recitation of the data or message exchange between two executing programs or processes. |
(2) Note. If the programs or processes are drawn to specific processing environments such as database/file processing, business processing, or networking, these programs or processes are classified elsewhere. |
SCOPE OF THE CLASS
This class is limited to digital data processing systems and functions for communication between programs or processes.
Hardware mechanisms such as bus transaction processing and data transfer between computers and digital data processing systems are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
LINES WITH OTHER CLASSES
A. Electrical Computers and Data Processing Systems, Related Systems and Functions in General
This class is for communication between programs or processes. Communication between computers or digital data processing systems and peripherals is classified elsewhere. See the SEE OR SEARCH CLASS notes below.
B. Communication Classes
The basic distinctions between this class and the communications classes are:
(A) The subclasses here include a digital data processing system or computer, rather than other data communications devices, and
(B) The communication herein is between programs or processes in a digital data processing system or computer. See the SEE OR SEARCH CLASS notes below.
Overall combinations directed to a system for performing communications functions only is classified in the appropriate communication class. See the SEE OR SEARCH CLASS notes below for examples.
Preprocessing or postprocessing of signals in a data transfer to effect a particular communications method (e.g., modulating, demodulating, encoding, decoding, or phase locking) is classified in the appropriate communications class. See the SEE OR SEARCH CLASS notes below for examples.
C. Other Classes
Subject matter relating to transmission or interconnection systems not classifiable herein and not appropriate for the communication classes should be classified in the residual class for all transmission or interconnection systems. See the SEE OR SEARCH CLASS notes below.
SECTION II - REFERENCES TO OTHER CLASSES
SEE OR SEARCH CLASS:
235, | Registers, appropriate subclassesfor basic machines and associated indicating mechanisms for ascertaining the number of movements of various devices and machines, plus machines made from these basic machines alone (e.g., cash registers, voting machines), and in combination with various perfecting features, such as printers and recording means, and for various data bearing record controlled systems. |
307, | Electrical Transmission or Interconnection Systems, appropriate subclassesfor a residual transmission or interconnection system not classifiable elsewhere, including interconnection systems, per se. |
326, | Electronic Digital Logic Circuitry, appropriate subclassesfor generic digital logic devices, circuitry, and subcombinations thereof, wherein operations other than arithmetical are performed upon discrete electrical signals representing a value normally described by numerical digits. |
329, | Demodulators, appropriate subclassesfor data demodulators. |
332, | Modulators, appropriate subclassesfor data modulators. |
340, | Communications: Electrical, subclasses 1.1 through 16.1 for controlling one or more devices to obtain a plurality of results by transmission of a designated one of plural distinctive control signals over a smaller number of communication lines or channels, particularly subclasses 2.1 through 2.8for path selection, subclass 2.81 for tree or cascade selective communication, subclasses 3.1-3.9 for communication systems where status of a controlled device is communicated, subclasses 4.2 and 4.21 for synchronizing selective communication systems, subclasses 9.1-9.17 for addressing, and subclasses 12.1-12.55 for pulse responsive actuation in selective communication. |
341, | Coded Data Generation or Conversion, subclasses 50 through 172for electrical pulse and digit code converters (e.g., systems for originating or emitting a coded set of discrete signals or translating one code into another code wherein the meaning of the data remains the same but the formats may differ). |
342, | Communications: Directive Radio Wave Systems and Devices (e.g., Radar, Radio Navigation), appropriate subclassesfor systems and processes for transmission or reception of radio wave energy for obtaining or utilizing information (using radio wave transmitters or receivers), as to an object, or as to the directional characteristics of the radio wave energy, per se. |
345, | Computer Graphics Processing and Selective Visual Display Systems, subclasses 530 through 574for visual display, subclasses 30 through 111 for the selective control of two or more light generating or light controlling display elements in accordance with a received image signal, and sublcasses 804-805 for interwindow links and communication. |
358, | Facsimile and Static Presentation Processing, various subclassesfor the recordation, reproduction and transmission of images of arbitrary composition. |
360, | Dynamic Magnetic Information Storage or Retrieval, appropriate subclassesfor record carriers and systems wherein information is stored and retrieved by interaction with a magnetic medium and there is relative motion between said magnetic medium and a transducer, for example, a magnetic disk drive device, and control thereof, per se. |
365, | Static Information Storage and Retrieval, appropriate subclassesfor addressable static singular storage elements or plural singular storage elements of the same type (i.e., the internal elements of memory, per se). |
369, | Dynamic Information Storage or Retrieval, appropriate subclassesfor record carriers and systems wherein information is stored and retrieved by interaction with a medium and there is relative motion between a medium and a transducer. |
370, | Multiplex Communications, appropriate subclasses for the simultaneous transmission of two or more signals over a common medium, particularly subclasses 351 through 430for multiplex switching. |
375, | Pulse or Digital Communications, appropriate subclassesfor generic pulse or digital communication systems and synchronization of clocking signals from input data. |
377, | Electrical Pulse Counters, Pulse Dividers, or Shift Registers: Circuits and Systems, appropriate subclassesfor generic electric circuits for pulse counting. |
379, | Telephonic Communications, appropriate subclassesfor two-way electrical communication of intelligible audio information of arbitrary content over a communication link. |
380, | Cryptography, appropriate subclassesfor cryptographic apparatus or process in general which includes electric signal modification. |
381, | Electrical Audio Signal Processing Systems and Devices, appropriate subclassesfor wired one-way audio systems, per se. |
382, | Image Analysis, appropriate subclassesfor operations performed on image data with the aim of measuring a characteristic of an image, detecting variations, detecting structures, or transforming the image data, and for procedures for analyzing and categorizing patterns present in image data. |
388, | Electricity: Motor Control Systems, cross-reference art collection 907.5for computer or processor control of DC motor acceleration or speed. |
455, | Telecommunications, appropriate subclasses for modulated carrier wave communication, per se, and subclass 26.1 for subject matter which blocks access to a signal source or otherwise limits usage of modulated carrier equipment. |
700, | Data Processing: Generic Controls Systems or Specific Applications, subclasses 1 through 89for generic data processing control system, apparatus, or process, particularly subclasses 2 through 7 for plural processors in a digital control system application, and subclasses 90 through 306 for applications of computers in various environments where there is significant claim recitation of the data computer system or calculating computer and only nominal recitation of an external art environment (where significant structure of an external device is claimed, classification is in the appropriate device class). |
701, | Data Processing: Vehicles, Navigation, and Relative Location, appropriate subclassesfor applications of computers in vehicular and navigational environments. |
702, | Data Processing: Measuring, Calibrating, or Testing, appropriate subclassesfor applications of computers in measuring and testing. |
704, | Data Processing: Speech Signal Processing, Linguistics, Language Translation, and Audio Compression/Decompression, subclasses 1 through 10for applications of computers in linguistics, subclasses 200-278 for applications of computers in speech signal processing, and subclasses 500-504 for applications of computers in audio compression/decompression. |
705, | Data Processing: Financial, Business Practice, Management, or Cost/Price Determination, appropriate subclassesfor applications of computers and calculators in business and management environments. |
706, | Data Processing: Artificial Intelligence, appropriate subclassesfor subject matter directed to artificial intelligence data computer which is disclosed or claimed in plural diverse arts both in combination and in the alternative (e.g., digital data computer system for use in image analysis or electrical audio signal computer, and for artificial intelligence per se). |
707, | Data Processing: Database, Data Mining, and File Management or Data Structures, particularly subclasses 609 through 686for database maintenance including backup synchronization, subclasses 687 through 704 for database integrity, subclasses 781 through 789 for access control to a database or file in a computer environment, subclasses 790 through 812 for database design including data structures and database structure management, subclasses 813 through 820 for garbage collection in database environments, and subclasses 821 through 831 for file management, file systems, and file directory structures. |
708, | Electrical Computers: Arithmetic Processing and Calculating, subclasses 1 through 9for hybrid computers; subclasses 100-714 for calculators, digital signal computer, and arithmetical and logical computer, per se; and subclasses 800-854 for electric analog computers. |
709, | Electrical Computers and Digital Processing Systems: Multicomputer Data Transferring, appropriate subclassesfor transferring data or instruction information between a plurality of computers wherein the computers employ the data or instructions before or after transferring and the employing affects said transfer of data or instruction information and for the synchronization of plural processors even if the transferring employs peripherals, e.g., modems, or line adaptors. |
710, | Electrical Computers and Digital Data Processing Systems: Input/Output, subclasses 1 through 74for transferring data from one or more peripherals to one or more computers for the latter to process, store, or further transfer or for transferring data from the computers to the peripherals, and subclasses 100 - 132 for data transferring among memories, processors, and buses of a computer. |
711, | Electrical Computers and Digital Processing Systems: Memory, subclasses 100 through 173for accessing or controlling memories that are peripherals. |
712, | Electrical Computers and Digital Processing Systems: Processing Architecture and Instruction Processing (e.g., Processors), subclasses 1 through 43for digital data computer system architectures such as multiple instruction multiple data (MIMD) computers, vector and array computers, and single-chip computers. |
713, | Electrical Computers and Digital Processing Systems: Support, subclasses 1 and 2 for digital processing system initialization and configuration (e.g., initializing, set-up, resetting, etc.); subclass 100 for reconfiguring digital data computer system (e.g., changing system settings, etc.); subclasses 150-181 for multiple computer communication protection by cryptography; subclass 187 for computer program modification detection by cryptography; subclass 188 for computer virus detection by cryptography; subclasses 300-340 for computer power control; subclasses 400 and 401 for synchronization of computer clocks, data timing signals, or pulses; and subclasses 500-503 for computer clock, pulse, or timing signal or analysis. |
714, | Error Detection/Correction and Fault Detection/Recovery, subclasses 1 through 57for methods and apparatus for increasing the probability of a system performing correctly, and subclasses 746-797 for correcting errors in the transmitted data such as parity checking and cyclical redundancy checking. |
715, | Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing, appropriate subclassesfor document processing. |
718, | Electrical Computers and Digital Processing Systems: Virtual Machine Task or Process Management or Task Management/Control, appropriate subclassesfor administering over processor or job execution in a digital data processing system. |
726, | Information Security, subclasses 1 through 36for information security in computers or digital processing system. |
SECTION III - GLOSSARY
ACCESS
To obtain entry to, or to locate, read into memory, and make ready for, some operation, for example, regarding disks, files, records, and network entry procedures.
APPLICAITON PROGRAM
A computer program designed to perform a certain type of work, such as an application to manipulate text, numbers, graphics, or a combination of these elements. An application differs from an operating system (which runs a computer), a utility (which performs maintenance or general-purpose chores), and a language (with which computer programs are created).
BUS
A conductor used for transferring data, signals, or power.
COMPUTER
A machine that inputs data, processes data, stores data, and outputs data.
DATA
A representation of information in a coded manner suitable for communication, interpretation, or processing.
Address data: data that represent or identify a source or destination.
Instruction data: data that represent an operation and identify its operands, if any.
Status data: data that represent conditions of data, digital data processing systems, computers, peripherals, memory, etc.
Streamed data: data consisting of a more-or-less continuous series of bits, bytes, or other small, structurally uniform units.
User data: data other than address data, instruction data, or status data.
DATA PROCESSING
See PROCESSING, below.
DIGITAL DATA PROCESSING SYSTEM
An arrangement of processor(s) in combination with either memory or peripherals, or both, performing data processing.
eNTITY
A computer or process that can be treated as a unit and, often, as a member of a particular category or type.
ENVIRONMENT
A set of resources made available to the user of a system which defines specifications such as the command path (where to look for files), the system prompt and, sometimes, the location of resources or working files.
INFORMATION
Meaning that a human being assigns to data by means of the conventions applied to that data.
INTERFACE
A connection between two elements so that they can work with one another.
MEMORY
A functional unit to which data can be stored and from which data can be retrieved.
MULTITASKING
A mode of operation in which a computer works on more than one task at a time.
NETWORK
A group of computers and associated devices that are connected by communications facilities which exists to provide computer users with the means of communicating and transferring information electronically. Some types of communication are simple user-to-user messages; others, of the type known as distributed processes, can involve several computers and the sharing of workloads or cooperative efforts in performing a task.
OBJECT
A variable comprising routines and data that is treated as a discrete entity.
OPERATING SYSTEM
Software responsible for controlling the allocation and usage of hardware resources such as memory, central processing unit (CPU) time, disk space, and peripheral devices. The operating system is the foundation on which applications programs (e.g., word processing, spreadsheets) are built.
PERIPHERAL
A functional unit that transmits data to or receives data from a computer to which it is coupled.
PROCESS
A coherent sequence of steps undertaken by a program to manipulate data such as an internal or external data-transfer operation, handling an interrupt, or evaluation of a function.
PROCESSING
Methods or apparatus performing systematic operations upon data or information exemplified by functions such as data or information transferring, merging, sorting, and computing (e.g., arithmetic operations or logical operations).
(1) Note. In this class, the glossary term data is used to modify processing in the term data processing; whereas the term digital data processing system refers to a machine performing data processing. |
(2) Note. In an effort to avoid redundant constructions, in this class, where appropriate, the term address data processing is used in place of address data data processing. |
PROCESSOR
A functional unit that interprets and executes instruction data.
PROTOCOL
A set of rules or processes which enable computers to exchange information with as little error as possible.
RESOURCE
Any part of computer system or a network, such as a disk drive, printer, or memory, that can be allotted to a program or process while it is running. In programming, a resource can be used by more than one program or in more than one place in a program. For example, dialog boxes, bitmaps, and fonts are resources in many windowing programs.
ROUTING
Receiving transmitted messages within a network and forwarding them to their correct destinations over a available route selected according to a predetermined criteria.
SERVER
A computer running administrative software that controls access to all or part of a network and its resources (such as disk drives and printers). A computer acting as a server makes resources available to computers acting as workstations on the network.
SYNCHRONIZATION
Matching of timing between separate computers or among the components of a system so that all are coordinated.
TASK
A standalone application or a subprogram that is run as an independent entity.
THREAD
A path of processing execution within a larger process or program.
TRANSFER
The movement of data from one location to another or the passing of program control from one portion of a program to another.
SUBCLASSES
310 | MISCELLANEOUS: | ||
This subclass is indented under the class definition. Subject matter not provided for in any of the above subclasses
of this class.
SEE OR SEARCH CLASS:
| |||
311 | COMMON GATEWAY INTERFACE PROGRAM COMMUNICATION: | ||
This subclass is indented under the class definition. Subject matter wherein a server program, or script is executed
at the request of a client program through a web browser.
| |||
312 | INTERPROGRAM COMMUNICATION USING SHARED MEMORY: |
This subclass is indented under the class definition. Subject matter comprising means or steps for communication between plural processes or application programs using a memory which can be shared between those processes or programs. | |
313 | INTERPROGRAM COMMUNICATION USING MESSAGE: | ||||||
This subclass is indented under the class definition. Subject matter comprising means or steps for communication
between processes or application programs using pieces of information which
suggest actions to be taken or indicate conditions or indicate that
an event has occurred.
SEE OR SEARCH THIS CLASS, SUBCLASS:
| |||||||
314 | Message using queue: | ||
This subclass is indented under subclass 313. Subject matter comprising means or steps for communication
between processes or application programs using messages that are
lined up in a particular order.
| |||
315 | Object oriented message: | ||||||||||||||||||||||||||||||||||
This subclass is indented under subclass 313. Subject matter comprising means or steps for communication
between objects (e.g., a message
tells a receiving object what to do) wherein a method or
member function of a receiving object is invoked or called by a
sending method of a sending object and the message passing may involve
passing actual parameters (e.g., either
by reference or by value) to the target object.
SEE OR SEARCH CLASS:
| |||||||||||||||||||||||||||||||||||
316 | Managed object system: | ||
This subclass is indented under subclass 315. Subject matter comprising means or steps for managing an
object system that may include distributed object systems or distributed
object models.
SEE OR SEARCH CLASS:
| |||
317 | Agent: |
This subclass is indented under subclass 313. Subject matter comprising means or steps for using a software program that automatically performs some information gathering or processing task in the background on behalf of another entity which would otherwise require some form of manual or directed intervention. | |
318 | EVENT HANDLING OR EVENT NOTIFICATION: | ||
This subclass is indented under the class definition. Subject matter comprising means or steps for communication
of events between application programs or processes or within the
context of application programs or processes.
| |||
319 | DATA TRANSFER BETWEEN OPERATING SYSTEMS: | ||
This subclass is indented under the class definition. Subject matter comprising means or steps for communication
of data or messages between discrete operating systems.
| |||
320 | HIGH LEVEL APPLICATION CONTROL: | ||
This subclass is indented under the class definition. Subject matter comprising means or steps for communication
of data, commands, or messages between at least
one controlling script, macro or other high level controlling
program, and at least one controlled application program.
| |||
321 | DEVICE DRIVER COMMUNICATION: | ||||||||||
This subclass is indented under the class definition. Subject matter comprising means or steps for communication
between application programs or operating systems and callable interfacing
programs (i.e., device driver
programs) which further facilitate communication or control
of peripheral hardware devices such as printers, disk drives, tape
drives, CRT displays, etc.
SEE OR SEARCH CLASS:
| |||||||||||
322 | Multimedia device driver: |
This subclass is indented under subclass 321. Subject matter comprising means or steps for communication between application programs or operating systems and callable interfacing programs (i.e., device driver programs) which further facilitate communication or control of peripheral multimedia hardware devices, such as CD-ROM and audio peripheral devices. | |
323 | Video graphics device driver: |
This subclass is indented under subclass 321. Subject matter comprising means or steps for communication between application programs or operating systems and callable interfacing programs (i.e., device driver programs) which further facilitate communication or control of peripheral video graphics hardware devices. | |
324 | Virtual device driver (VxD): | ||
This subclass is indented under subclass 321. Subject matter comprising software which virtualizes physical
hardware by intercepting application requests to use the hardware
and arbitrating between requests to access physical hardware from
different applications.
| |||
325 | RAID metadriver: |
This subclass is indented under subclass 321. Subject matter comprising means or steps for communication between an operating system and meta device drivers associated with a RAID (Redundant Array of Independent Disks) disk drive array. | |
326 | SCSI device driver: |
This subclass is indented under subclass 321. Subject matter comprising means or steps for communication between application programs or operating systems and callable interfacing programs (i.e., device driver programs) which further facilitate communication or control of SCSI (Small Computer System Interface) peripheral devices. | |
327 | Device driver configuration: | ||||
This subclass is indented under subclass 321. Subject matter comprising means or steps for configuring
or matching a peripheral hardware device with its appropriate corresponding
software device driver using lists, device description
tables, device managers, device libraries, dynamic
matching techniques, device binding techniques, and
the like.
| |||||
328 | APPLICATION PROGRAM INTERFACE (API): | ||||||||||||||||||||||||
This subclass is indented under the class definition. Subject matter comprising a set of routines, procedures, or
interfaces which facilitate requests or calls from one or more application programs
to lower-level operating system routines.
SEE OR SEARCH CLASS:
| |||||||||||||||||||||||||
329 | Data transfer between application windows: | ||
This subclass is indented under subclass 328. Subject matter comprising means or steps for effecting
communication or data transfer between application programs or processes executing
within a graphical windowing environment.
SEE OR SEARCH CLASS:
| |||
330 | REMOTE PROCEDURE CALL (RPC): | ||||||||||||
This subclass is indented under the class definition. Subject matter comprising means or steps for invoking a
target procedure in a remote address space.
SEE OR SEARCH CLASS:
| |||||||||||||
331 | DYNAMIC LINKING, LATE BINDING: | ||||||
This subclass is indented under the class definition. Subject matter wherein functions contained within one or
more executable code libraries (e.g., a dynamic link library or
DLL) are called as needed at runtime by one or more application
programs.
SEE OR SEARCH CLASS:
| |||||||
332 | Object oriented dynamic linking, late binding: |
This subclass is indented under subclass 331. Subject matter wherein dynamic linking or binding occurs in the context of an object oriented environment. | |
FOR 168 | INTERPROGRAM COMMUNICATION, INTERPROCESS COMMUNICATION: |
Foreign art collection including subject matter comprising means or steps for exchanging data or messages between two executing programs or processes, independent of the hardware used in the communication. | |
FOR 169 | Device driver communication: |
Foreign art collection including subject matter comprising means or steps for communication between application programs or operating systems and callable interfacing programs (i.e., device driver programs) which further facilitate communication or control of peripheral hardware devices such as printers, disk drives, tape drives, CRT displays, etc. | |
FOR 170 | Application program interfacing (API): |
Foreign art collection including subject matter comprising a set of routines, procedures, or interfaces which facilitate requests or calls from one or more application programs to lower-level operating system routines. | |
FOR 171 | Object-oriented messaging: |
Foreign art collection including subject matter comprising means or steps for communication between objects (e.g., a message tells a receiving object what to do) wherein a method or member function of a receiving object is invoked or called by a sending method of a sending object and the message passing may involve passing actual parameters (i.e., for example, either by reference or by value) to the target object. | |
FOR 172 | Remote procedure calling (RPC): |
Foreign art collection including subject matter comprising means or steps for invoking a target procedure in a remote address space. | |
FOR 173 | Dynamic linking, late binding: |
Foreign art collection including subject matter wherein functions contained within one or more executable code libraries (e.g., a dynamic link library or DLL) are called as needed at runtime by one or more application programs. | |