US6032267A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Apparatus and method for efficient modularity in a parallel, fault tolerant, message based operating system
Assignee: Hewlett Packard Development Co LP
•
Filing: 1997-08-14
•
Granted: 2000-02-29
•
Expires: 2017-08-14
Abstract
Abstract A parallel, fault-tolerant computer system in which data is transferred between processes in a single CPU by two methods. In a first method, the data is copied each time it is transferred. In a second method, the data is not copied, but is passed through a shared memory, queueing system. The first method is used to ensure fault-tolerance and linear expandability. The second method is used to minimize the time required for inter-process communication. Use of the shared memory queueing system allows for increased vertical and horizontal modularity for processes executing in a same CPU.
Inventors
- 👤 Leonard Richard Fishler
- 👤 Thomas Marshall Clark
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 11:29
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/544; G06F11/00; G06F11/07; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1443; G06F9/546
Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
205 words
A method of transferring data between first and second processes in a fault-tolerant data processing system having at least a first and a second processor, comprising the steps of: dividing a function to be performed by the fault-tolerant data processing system between the first process and the second process so that a transfer of data is required between the first and second processes; creating an input queue for the second process in a memory segment shared by the first and second processes, the input queue having a data field describing whether the second process should be awakened; and determining whether the transfer of data between the first and second processes requires checkpointing; responsive to a positive determination that the transfer of data requires checkpointing: checkpointing the data to be transferred, the step of checkpointing comprising the step of copying the data to be transferred; responsive to a negative determination that the transfer of data requires checkpointing: storing, by the first process in the input queue of the second process, a pointer in the shared memory segment pointing to the data to be transferred; and consuming, by the second process, the data pointed to by the pointer stored in the input queue of the second process.
Claim 2
Independent Claim
205 words
A method of transferring data between first and second processes in a fault-tolerant data processing system having at least a first and a second processor, comprising the steps of: dividing a function to be performed by the fault-tolerant data processing system between the first process and the second process so that a transfer of data is required between the first and second processes; creating an input queue for the second process in a memory segment shared by the first and second processes, the input queue having a data field describing whether the second process should be awakened; and determining whether the transfer of data between the first and second processes requires checkpointing; responsive to a positive determination that the transfer of data requires checkpointing: checkpointing the data to be transferred, the step of checkpointing comprising the step of copying the data to be transferred; responsive to a negative determination that the transfer of data requires checkpointing: storing, by the first process in the input queue of the second process, a pointer in the shared memory segment pointing to the data to be transferred; and consuming, by the second process, the data pointed to by the pointer stored in the input queue of the second process.
Claim 3
Dependent Claim
38 words
The method of claim 1, wherein the determination that the transfer of data between the first and second processes requires checkpointing is positive when the first and second processes are respectively executing on the first and second processors.
Claim 4
Dependent Claim
36 words
The method of claim 1, wherein the determination that the transfer of data between the first and second processes requires checkpointing is negative when the first and second processes are both executing on the first processor.
Claim 5
Dependent Claim
38 words
The method of claim 1 wherein the determination that the transfer of data between the first and second processes requires checkpointing is negative when the first and second processes are engaged in Local Area Network (LAN) protocol processing.
Claim 6
Independent Claim
165 words
A method for improving the speed and efficiency of a fault-tolerant computing system having a plurality of processors, comprising the steps of: dividing a function to be performed by the fault-tolerant computing system between a first process and a second process; providing a shared memory space accessible to the first and second processes; creating an input queue in the shared memory space for the second process the input queue having a data field describing whether the second process should be awakened; duplicating data transferred from the first to the second process when the first and second processes are executing on separate processors of the plurality of processors; and sending pointers to data located in the shared memory space to transfer data from the first to the second process when the first and second processes are executing on the same processor of the plurality of processors by storing pointers to the data located in the shared memory space in the input queue for the second process.
Claim 7
Independent Claim
165 words
A method for improving the speed and efficiency of a fault-tolerant computing system having a plurality of processors, comprising the steps of: dividing a function to be performed by the fault-tolerant computing system between a first process and a second process; providing a shared memory space accessible to the first and second processes; creating an input queue in the shared memory space for the second process the input queue having a data field describing whether the second process should be awakened; duplicating data transferred from the first to the second process when the first and second processes are executing on separate processors of the plurality of processors; and sending pointers to data located in the shared memory space to transfer data from the first to the second process when the first and second processes are executing on the same processor of the plurality of processors by storing pointers to the data located in the shared memory space in the input queue for the second process.
Claim 8
Dependent Claim
49 words
The method of claim 5, wherein the step of duplicating data transferred between the first and second processes comprises the steps of: creating a second input queue for the second process; and copying the duplicate data from the first process into the second input queue for the second process.
Claim 9
Independent Claim
115 words
A method for increasing the modularity and efficiency of a process performed by a fault-tolerant computer having a processor, comprising the steps of: dividing the process into a plurality of sub-processes in communication with each other and executing on the processor; providing a common memory space accessible to the plurality of sub-processes; creating a plurality of input queues in the common memory space wherein an input queue is associated with each of the plurality of sub-processes and each input queue has a data field describing whether the sub-process should be awakened; and storing a pointer to data in the common memory space to be transferred to a sub-process in an input queue of the sub-process.
Claim 10
Independent Claim
115 words
A method for increasing the modularity and efficiency of a process performed by a fault-tolerant computer having a processor, comprising the steps of: dividing the process into a plurality of sub-processes in communication with each other and executing on the processor; providing a common memory space accessible to the plurality of sub-processes; creating a plurality of input queues in the common memory space wherein an input queue is associated with each of the plurality of sub-processes and each input queue has a data field describing whether the sub-process should be awakened; and storing a pointer to data in the common memory space to be transferred to a sub-process in an input queue of the sub-process.
Claim 11
Dependent Claim
18 words
The method of claim 7, further comprising the step of: communicating among the plurality of sub-processes in series.
Claim 12
Dependent Claim
34 words
The method of claim 7, wherein a lower-level process is also executing on the processor and further comprising the step of: arranging the plurality of sub-processes to communicate in parallel with the lower-level process.
Claim 13
Dependent Claim
23 words
The method of claim 9, wherein the sub-processes communicating in parallel comprise an implementation of an open systems interconnect (OSI) seven-layer communication protocol.
References Cited (Backward Citations)
US4817091A
Cited
US4402431A
Cited
US4649473A
Cited
US5093920A
Cited
US5257374A
Cited
US4956771A
Cited
US5235700A
Cited
EP0444376A1
Cited
US5357612A
Cited
US5245704A
Cited
WO1991017504A1
Cited
US5224215A
Cited
US5327570A
Cited
EP0537401A1
Cited
US5408649A
Cited
US5649092A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-02-28 | 2003-08-30 | 2004-02-29 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-02-28 | 2007-08-30 | 2008-02-29 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-02-28 | 2011-08-30 | 2012-02-29 | $7700.00 | Window Closed / Lapsed |