US PATENT SUBCLASS 709 / 107
.~.~ Multitasking, time sharing


Current as of: June, 1999
Click HD for Main Headings
Click for All Classes

Internet Version by PATENTEC © 1999      Terms of Use



709 /   HD   ELECTRICAL COMPUTERS AND DIGITAL PROCESSING SYSTEMS: MULTIPLE COMPUTER OR PROCESS COORDINATING

100  DF  TASK MANAGEMENT OR CONTROL {2}
102  DF  .~ Process scheduling {5}
107.~.~ Multitasking, time sharing {1}
108  DF  .~.~.~> Context switching


DEFINITION

Classification: 709/107

Multitasking, time sharing:

(under subclass 102) Subject matter comprising means or steps for dividing processor time of a computer or digital data processing system between multiple executing programs or processes.

(1) Note. This subclass is directed to multitasking systems characterized by operating system means or steps for managing or supervising a switch between two or a plurality of discrete executing processes or tasks. For the purpose of this definition, each process or task has its own instruction data pointer and an address space comprised of code, data and

free memory, and may include other data necessary to restore a process undergoing a context switch. Since each process has its own instruction data pointer and an address space comprised of code, data and free memory, every process at any given point in time has a state or context defined by the contents of its instruction data pointer and address space. Multitasking systems classified here facilitate the switching from one context to another. Recovering a digital data processing system or computer process combined with the detection of a fault, however is classified elsewhere. See the SEE OR SEARCH CLASS notes below.

(2) Note. Preemptive multitasking (also called "time slicing") is included under this subclass. For clarification, preemptive multitasking is characterized by an operating system periodically (i.e., according to a set schedule) interrupting the execution of a process and passing control to another waiting process and performing a context switch after which the context for the next pending process is restored, and the next process is executed for the duration of its time slice or "quantum". Instruction processing related to context switching and mode switching is classified elsewhere. See the SEE OR SEARCH CLASS notes below.

(3) Note. Nonpreemptive and cooperative multitasking are included under this subclass. Nonpreemptive multitasking is where a currently executing task yields control to another task when it is ready, rather than being forcibly preempted by an operating system. Cooperative multitasking is where one or more background tasks are given processing time during idle times in the foreground task. In contrast, user-implemented task or context switching between two or more applications programs which are both resident in memory at the same time where only the foreground application is given processing time and a user may manually activate a background task by bringing the window or screen of the background task to the front is classified elsewhere. See the SEE OR SEARCH THIS CLASS, SUBCLASS notes below.

(4) Note. For clarity, time-sharing is a form of multitasking. Time-sharing is generally characterized by multiple users executing programs on a client-server system. A client-server system is characterized by at least one server computer and a plurality of clients or users which operate from terminals or computers programmed to emulate terminals. Examples of time sharing systems are systems which implement the UNIX (TM) or Windows NT (TM) operating systems. On a time sharing system the processing time allotted to each user program is interleaved by the operating system, privileged users can be assigned higher priority and will receive more processing time than nonprivileged users. Access control determination for process arbitration, per se, is classified elsewhere in this class. See the SEE OR SEARCH THIS CLASS, SUBCLASS notes below.

SEE OR SEARCH THIS CLASS, SUBCLASS: 100+, for access control determination for process arbitration, especially subclass 101, for batch computer and transaction computer where complete programs are executed in their entirety from start to finish.

SEE OR SEARCH CLASS

364, Electrical Computers and Data Processing Systems,

131, 136 for generic data computer control systems including plural processors and fault recovery.

712, Electrical Computers and Digital Processing Systems: Processing Architecture and Instruction Processing (e.g. Processors),

228, and 229 for instruction and register level context preserving, context swapping, mode switching and mode swapping.

714, Electrical Computers and Digital Processing Systems: Error Detection/Correction and Fault Detection/Recovery,

2+, for fault recovery, per se, in computer systems and digital data computer systems, subclasses 15+ for recovery from detected faults in a process or data file using stored state data and history logs, and subclass 23 for resetting a processor combined with fault detection.