← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag