← Back to Patent Explorer
EP0445954A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Synchronising concurrent processes in a computer system

Assignee: International Business Machines Corp
•
Filing: 1991-02-27
•
Granted: —
•
Expires: 2011-02-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method is provided for synchronising concurrent processes in a computer system. Each process has a virtual time. When messages are received and acted upon by a process, and such messages have a receive time greater than or equal to the current virtual time of the process, state consistency can be assumed. If quard checking is enabled, the guards preferably must still be satisfied before the message will be acted upon. If the time of receipt for the message is less than the current virtual time, further state consistency checks are made. Such consistency checks can include checking of variable versions and guards for consistency. If the process state is consistent with the contents of the message, the message can be processed even though the current virtual time is greater than the receive time of the message. The same general approach can also be used within a process having concurrent actions, with shared variables being checked for state consistency using virtual time stamps and variable versions.

Inventors

  • 👤 Yeturu Ashlad
  • 👤 Daniel T. Chang

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-04 23:34
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/546

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 97 words
A method of operating a computer system of the type adapted to run two or more concurrent processes, in which messages including variable data are transferred between processes, characterised by allocating a message time to each message sent by a sending process, comparing such message time with a local time maintained by a receiving processor and, if the message time is less than said local time, either processing the message if its contents are consistent with the current state of the receiving process or otherwise rolling the receiving process back to a state consistent with such contents.
Claim 2
Dependent Claim 78 words
A method as claimed in claim 1, in which the consistency or otherwise of said message contents is determined by comparing process variable versions of the receiving process with variable versions required to process the message; and defining the message contents to be inconsistent with the current state of the second process if the variable versions of the variables required to process the message are different from the current versions of the same variables for the second process.
Claim 3
Dependent Claim 70 words
A method as claimed in claim 2, including the steps, if the variable versions required to process the message are different from the current process variable versions of the receiving process, of determining the values of guard predicates for the process actions required to process the message; and defining the message contents to be inconsistent with the current state of the receiving process if the guard predicates are not satisfied.
Claim 4
Independent Claim 38 words
A method as claimed in any preceding claim comprising the further step, if the message time is larger than said local time setting said local time to the value of the message time when the message is processed.
Claim 5
Independent Claim 38 words
A method as claimed in any preceding claim wherein the step of processing the message comprises the steps of performing one or more process steps of the receiving process; and returning a result message to the sending process.
Claim 6
Dependent Claim 27 words
A method as claimed in claim 5, wherein the result message has a message time equal to the value of the message time of the original message.
Claim 7
Independent Claim 20 words
A method as claimed in any preceding claim wherein the first and second processes comprise objects in an object-oriented system.
Claim 8
Independent Claim 42 words
A method as claimed in any preceding claim wherein the allocated message time is an intended receive time, and wherein the message also contains a value indicating a local virtual time of the sending process at the time the message is sent.
Claim 9
Dependent Claim 22 words
A method as claimed in claim 8 wherein the intended receive time and the virtual time of sending have the same value.
Claim 10
Independent Claim 213 words
A method as claimed in any preceding claim, for ensuring consistency of concurrent actions within a process, comprising the steps, when a new version of a process variable is created, of associating a process virtual time and identity of a creating action with such variable wherein the creation time must be larger than the creation time of all existing versions of such variable; when a process action reads a variable, of causing the action to read the latest version of the variable having a virtual time less than or equal to the process virtual time when the action is performed, and adding an identifier of the action and a virtual time at which it is performed to a list associated with the variable version and, if a version of a variable is created having a virtual time less than any already existing versions, of rolling back all actions which created or read such already existing versions wherein only an action that created a particular version of a variable can modify that version, wherein such modification can only be made at the same process virtual time as such version was created, and wherein any actions identified in the reader list associated with the variable version are rolled back when such variable version is modified.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag