← Back to Patent Explorer
US5790868A Expired / Lapsed US ⏱️ 0.0 years remaining

Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment

Assignee: Hewlett Packard Development Co LP
•
Filing: 1995-06-07
•
Granted: 1998-08-04
•
Expires: 2015-06-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A distributed computer system having a plurality of end user terminals and a plurality of loosely coupled server computers that share no resources with each other. A multiplicity of user application processes are distributed over the server computers. An Enq table is stored on a first one of the server computers. The Enq table includes Enq records, each representing a locked resource. When any user application process executes an Enq instruction naming a specific resource, if the Enq table does not already contain an Enq record for the specific resource an Enq record is generated and stored in the Enq table representing the specific resource as locked. The Enq record is stored in the same Enq table on the first server computer regardless of which server computer executes the Enq instruction. If the Enq table does already contain an Enq record for the specific resource, execution of the user application process that executed the Enq instruction is suspended. When any user application process executes a Deq instruction naming a specific resource, the corresponding Enq record, if any, is deleted. In addition, execution is resumed for any user application process that was suspended when it attempted to execute an Enq instruction on the same specific resource.

Inventors

  • 👤 Andreas E. Hotea
  • 👤 John S. de Roo
  • 👤 Mark Phillips

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-28 19:02
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 250 words
A distributed computer system, comprising: a plurality of end user terminals; a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; a plurality of resources distributed among a plurality of said server computers; a single Enq table, stored on a first single one of said server computers, storing Enq records, each Enq record representing a locked resource; each said user application process including means, responsive to execution of an Enq instruction naming a specific resource, for generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, and for suspending operation of said user application process that executed said Enq instruction when said Enq table already contains an Enq record for said specific resource; and each said user application process including means, responsive to execution of a Deq instruction naming a specific resource, for deleting said Enq record, if any, in said Enq table representing said specific resource and for resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored i n said Enq table on s aid first one of said server computers regardless of which one of said server computers executes said Enq instruction.
Claim 2
Dependent Claim 250 words
A distributed computer system, comprising: a plurality of end user terminals; a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; a plurality of resources distributed among a plurality of said server computers; a single Enq table, stored on a first single one of said server computers, storing Enq records, each Enq record representing a locked resource; each said user application process including means, responsive to execution of an Enq instruction naming a specific resource, for generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, and for suspending operation of said user application process that executed said Enq instruction when said Enq table already contains an Enq record for said specific resource; and each said user application process including means, responsive to execution of a Deq instruction naming a specific resource, for deleting said Enq record, if any, in said Enq table representing said specific resource and for resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored i n said Enq table on s aid first one of said server computers regardless of which one of said server computers executes said Enq instruction.
Claim 3
Dependent Claim 57 words
The system of claim 1, further including a file system, located on at least one of said server computers, for storing files and database tables and for providing access to said stored files and database tables to all of said user application processes without regard to which server computer each such user application processes is executed on.
Claim 4
Dependent Claim 292 words
A distributed computer system, comprising: a plurality of end user terminals; a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; a plurality of resources distributed among a plurality of said server computers; a single Enq table, stored on a first single one of said server computers, storing Enq records, each Enq record representing a locked resource; each said user application process including means, responsive to execution of an Enq instruction naming a specific resource, for generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, returning an EnqBusy message to said user application process that executed said Enq instruction when said Enq instruction includes a NoSuspend parameter and said Enq table already contains an Enq record for said specific resource, and suspending operation of said user application process that executed said Enq instruction when said Enq instruction does not include said NoSuspend parameter and said Enq table already contains an Enq record for said specific resource; and each said user application process including means, responsive to execution of a Deq instruction naming a specific resource, for deleting said Enq record, if any, in said Enq table representing said specific resource and for resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored in said Enq table on said first one of said server computers regardless of which one of said server computers executes said Enq instruction.
Claim 5
Dependent Claim 292 words
A distributed computer system, comprising: a plurality of end user terminals; a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; a plurality of resources distributed among a plurality of said server computers; a single Enq table, stored on a first single one of said server computers, storing Enq records, each Enq record representing a locked resource; each said user application process including means, responsive to execution of an Enq instruction naming a specific resource, for generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, returning an EnqBusy message to said user application process that executed said Enq instruction when said Enq instruction includes a NoSuspend parameter and said Enq table already contains an Enq record for said specific resource, and suspending operation of said user application process that executed said Enq instruction when said Enq instruction does not include said NoSuspend parameter and said Enq table already contains an Enq record for said specific resource; and each said user application process including means, responsive to execution of a Deq instruction naming a specific resource, for deleting said Enq record, if any, in said Enq table representing said specific resource and for resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored in said Enq table on said first one of said server computers regardless of which one of said server computers executes said Enq instruction.
Claim 6
Dependent Claim 59 words
The method of claim 3, further including: providing a file system, located on at least on e of said server computers, for storing files and database tables and for providing access to said stored files and database tables to all of said user application processes without regard to which server computer each such user application processes is executed on.
Claim 7
Independent Claim 252 words
A method of operating a distributed computer system having a plurality of end user terminals and a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; the steps of the method comprising: storing a single Enq table on a first single one of said server computers, said Enq table including Enq records, each Enq record representing a locked resource; providing a plurality of resources distributed among a plurality of said server computers; when any of user application processes executes an Enq instruction naming a specific resource, generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, and suspending operation of said user application process that executed said Enq instruction when said Enq table already contains an Enq record for said specific resource; and when any of said user application processes executes a Deq instruction naming a specific resource, deleting said Enq record, if any, in said Enq table representing said specific resource and resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored in said Enq table on said first one of said server computers regardless of which one of said server computers executes said Enq instruction.
Claim 8
Independent Claim 252 words
A method of operating a distributed computer system having a plurality of end user terminals and a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; the steps of the method comprising: storing a single Enq table on a first single one of said server computers, said Enq table including Enq records, each Enq record representing a locked resource; providing a plurality of resources distributed among a plurality of said server computers; when any of user application processes executes an Enq instruction naming a specific resource, generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, and suspending operation of said user application process that executed said Enq instruction when said Enq table already contains an Enq record for said specific resource; and when any of said user application processes executes a Deq instruction naming a specific resource, deleting said Enq record, if any, in said Enq table representing said specific resource and resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored in said Enq table on said first one of said server computers regardless of which one of said server computers executes said Enq instruction.
Claim 9
Independent Claim 296 words
A method of operating a distributed computer system having a plurality of end user terminals and a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; the steps of the method comprising: storing a single Enq table on a first single one of said server computers, said Enq table including Enq records, each Enq record representing a locked resource; providing a plurality of resources among a plurality of said server computers; when any of user application processes executes an Enq instruction naming a specific resource, generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, returning an EnqBusy message to said user application process that executed said Enq instruction when said Enq instruction includes a NoSuspend parameter and said Enq table already contains an Enq record for said specific resource, and suspending operation of said user application process that executed said Enq instruction when said Enq instruction does not include said NoSuspend parameter and said Enq table already contains an Enq record for said specific resource; and when any of said user application processes executes a Deq instruction naming a specific resource, deleting said Enq record, if any, in said Enq table representing said specific resource and resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored in said Enq table on said first one of said server computers regardless of which one of said server computers executes said Enq instruction.
Claim 10
Independent Claim 296 words
A method of operating a distributed computer system having a plurality of end user terminals and a plurality of server computers that share no resources with each other than data links interconnecting the plurality of server computers; said server computers including a multiplicity of user application processes distributed over said plurality of server computers; the steps of the method comprising: storing a single Enq table on a first single one of said server computers, said Enq table including Enq records, each Enq record representing a locked resource; providing a plurality of resources among a plurality of said server computers; when any of user application processes executes an Enq instruction naming a specific resource, generating and storing an Enq record in said Enq table representing said specific resource as locked when said Enq table does not already contain an Enq record for said specific resource, returning an EnqBusy message to said user application process that executed said Enq instruction when said Enq instruction includes a NoSuspend parameter and said Enq table already contains an Enq record for said specific resource, and suspending operation of said user application process that executed said Enq instruction when said Enq instruction does not include said NoSuspend parameter and said Enq table already contains an Enq record for said specific resource; and when any of said user application processes executes a Deq instruction naming a specific resource, deleting said Enq record, if any, in said Enq table representing said specific resource and resuming execution of any user application process which was suspended when it executed said Enq instruction specifying said specific resource; wherein said Enq record is stored in said Enq table on said first one of said server computers regardless of which one of said server computers executes said Enq instruction.

References Cited (Backward Citations)

US4817091A Cited
EP0278312A2 Cited
US5016166A Cited
US5136712A Cited
US5095421A Cited
EP0428006A2 Cited
EP0518639A2 Cited
US5504894A Cited
US5423044A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-03 2002-02-02 2002-08-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-03 2006-02-02 2006-08-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-03 2010-02-02 2010-08-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag