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

Method for maintaining data coherency using thread activity summaries in a multicomputer system

Assignee: International Business Machines Corp
•
Filing: 1995-06-07
•
Granted: 1997-03-04
•
Expires: 2015-06-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A substantially zero overhead mutual-exclusion apparatus and method (90, 120) is provided that allows concurrent reading and updating data while maintaining data coherency. That is, a data reading process executes the same sequence of instructions that would be executed if the data were never updated. Rather than depending exclusively on overhead-imposing locks, this mutual-exclusion mechanism tracks an execution history (138) of a thread (16, 112) to determine safe times for processing a current generation (108, 130, 131) of data updates while a next generation (110, 132, 133) of data updates is concurrently being saved. A thread is any locus of control, such as a processor. A summary of thread activity (106, 122) tracks which threads have passed through a quiescent state after the current generation of updates was started. When the last thread related to the current generation passes through a quiescent state, the summary of thread activity signals a callback processor (104, 124) that it is safe to end the current generation of updates. The callback processor then processes and erases all updates in the current generation. The next generation of updates then becomes the current generation of updates. The callback processor restarts the summary of thread activity and initiates a new next generation of updates. All data-updating threads pass through a quiescent state between the time they attempt to update data and the time the data are actually updated.

Inventors

  • 👤 John D. Slingwine
  • 👤 Paul E. McKenney

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 23:53
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/526

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 139 words
A method for maintaining data coherency of a shared data structure having first and second copies thereof stored in respective first and second computers, comprising the steps of: storing in the first and second computers respective first and second mutual-exclusion mechanisms each having a thread activity summary and an update processor that processes data structure updates in response to the thread activity summary; updating the first copy of the data structure with the first mutual-exclusion mechanism, thereby rendering the first and second copies of the data structure incoherent; transferring the updated first copy of the data structure no the second computer; and using the second mutual-exclusion mechanism to replace the second copy of the data structure with the updated first copy of the data structure, thereby restoring the coherency of the first and second copies of the data structure.
Claim 2
Independent Claim 139 words
A method for maintaining data coherency of a shared data structure having first and second copies thereof stored in respective first and second computers, comprising the steps of: storing in the first and second computers respective first and second mutual-exclusion mechanisms each having a thread activity summary and an update processor that processes data structure updates in response to the thread activity summary; updating the first copy of the data structure with the first mutual-exclusion mechanism, thereby rendering the first and second copies of the data structure incoherent; transferring the updated first copy of the data structure no the second computer; and using the second mutual-exclusion mechanism to replace the second copy of the data structure with the updated first copy of the data structure, thereby restoring the coherency of the first and second copies of the data structure.
Claim 3
Dependent Claim 31 words
The method of claim 1 further comprising the step of reading an associated copy of the data structure concurrently with either updating or replacing the associated copy of the data structure.
Claim 4
Dependent Claim 34 words
The method of claim 1 in which the transferring step is accomplished by any of a physical storage medium, a LAN, a WAN, a system bus, a multi-port memory, or a switched interconnection network.
Claim 5
Dependent Claim 37 words
The method of claim 1 in which each of the first and second mutual-exclusion mechanisms has a summary of thread activity configuration that accounts for a computer system architecture of the computer in which it is installed.
Claim 6
Dependent Claim 44 words
The method of claim 1 in which each of the first and second mutual-exclusion mechanism operates in a UNIX® operating system environment, and in which the threads are processors and the thread activity summaries monitor a quiescent state of the respective UNIX® operating system.
Claim 7
Dependent Claim 21 words
The method of claim 1 in which the data structure is one of LAN or WAN data packet distributing data structures.
Claim 8
Dependent Claim 19 words
The method of claim 1 in which the data structure is of a distributed lock managing data structure type.
Claim 9
Dependent Claim 17 words
The method of claim 7 in which the lock managing data structure includes a lock handle table.
Claim 10
Dependent Claim 11 words
The method of claim 8 further including a free handle list.
Claim 11
Dependent Claim 15 words
The method of claim 1 wherein the data structure is a packet distributing data structure.
Claim 12
Dependent Claim 22 words
The method of claim 1 wherein the shared data structure is adapted to map a handle to the handle's associated data structure.
Claim 13
Dependent Claim 17 words
A computer-readable medium for storing a computer program comprising instructions for executing the method of claim 1.
Claim 14
Dependent Claim 11 words
A computer system in accordance with the method of claim 1.

References Cited (Backward Citations)

US4747043A Cited
US5027316A Cited
US5214766A Cited
US5241664A Cited
US5226143A Cited
US5469549A Cited
US5249283A Cited
US5303362A Cited
US5185861A Cited
US5261053A Cited
US5428761A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag