Patent US5873116A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5873116A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for controlling access to data structures without the use of locks

Assignee: International Business Machines Corp
•
Filing: 1996-11-22
•
Granted: 1999-02-16
•
Expires: 2016-11-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for altering data contained in a structure without requiring a lock to the structure itself. The method and apparatus retrieve a pointer to the structure from a location responsible for maintaining a pointer to the structure. The structure has a reference count for indicating processes that are currently using the data residing within the structure itself. The reference count is then atomically incremented and a new structure is obtained. The data contained in the structure, to be altered, is then copied to the new structure. The new structure also has a reference count for indicating processes that are currently using the data residing in the new structure. The reference count of the new structure is then set to indicate that a single process is accessing the new structure. Thereafter, the pointer in the responsible location for the structure, to be altered, is atomically replaced with a pointer to the new structure. The reference count of the new structure is then set to indicate that the single process is no longer accessing the new structure.

Inventors

  • 👤 James William Van Fleet

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 08:33
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99938

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 165 words
A method of altering data contained in a structure without locking the structure, the method comprising the steps of: retrieving a pointer to a structure from a location responsible for maintaining a pointer to the structure, the structure having a reference count for indicating processes that are currently using the data residing therein; copying the data contained in the structure to a new structure, the new structure having a reference count for indicating processes that are currently using the data residing therein; setting the reference count of the new structure to indicate a single process is accessing the new structure; altering the data in the new structure; replacing, while the reference count of the structure indicates that at least one process is using the data residing therein, the pointer in the responsible location for the structure with a pointer to the new structure; and setting the reference count of the new structure to indicate that the single process is no longer accessing the new structure.
Claim 2
Independent Claim 165 words
A method of altering data contained in a structure without locking the structure, the method comprising the steps of: retrieving a pointer to a structure from a location responsible for maintaining a pointer to the structure, the structure having a reference count for indicating processes that are currently using the data residing therein; copying the data contained in the structure to a new structure, the new structure having a reference count for indicating processes that are currently using the data residing therein; setting the reference count of the new structure to indicate a single process is accessing the new structure; altering the data in the new structure; replacing, while the reference count of the structure indicates that at least one process is using the data residing therein, the pointer in the responsible location for the structure with a pointer to the new structure; and setting the reference count of the new structure to indicate that the single process is no longer accessing the new structure.
Claim 3
Dependent Claim 18 words
The method of claim 1 further comprising the step of: atomically incrementing the reference count of the structure.
Claim 4
Dependent Claim 15 words
The method of claim 2 wherein the structure and new structure are both credential structures.
Claim 5
Independent Claim 174 words
An apparatus for altering data contained in a structure without locking the structure, the apparatus comprising: means for retrieving a pointer to a structure from a location responsible for maintaining a pointer to the structure, the structure having a reference count for indicating processes that are currently using the data residing therein; means for copying the data contained in the structure to a new structure, the new structure having a reference count for indicating processes that are currently using the data residing therein; means for setting the reference count of the new structure to indicate a single process is accessing the new structure; means for altering the data in the new structure; means for replacing, while the reference count of the structure indicates that at least one process is using the data residing therein, the pointer in the responsible location for the structure with a pointer to the new structure; and means for setting the reference count of the new structure to indicate that the single process is no longer accessing the new structure.
Claim 6
Independent Claim 174 words
An apparatus for altering data contained in a structure without locking the structure, the apparatus comprising: means for retrieving a pointer to a structure from a location responsible for maintaining a pointer to the structure, the structure having a reference count for indicating processes that are currently using the data residing therein; means for copying the data contained in the structure to a new structure, the new structure having a reference count for indicating processes that are currently using the data residing therein; means for setting the reference count of the new structure to indicate a single process is accessing the new structure; means for altering the data in the new structure; means for replacing, while the reference count of the structure indicates that at least one process is using the data residing therein, the pointer in the responsible location for the structure with a pointer to the new structure; and means for setting the reference count of the new structure to indicate that the single process is no longer accessing the new structure.
Claim 7
Dependent Claim 17 words
The apparatus of claim 4 further comprising: means for atomically incrementing the reference count of the structure.
Claim 8
Dependent Claim 16 words
The apparatus of claim 5 wherein the structure and new structure are both credential data structures.
Claim 9
Dependent Claim 192 words
A computer program product comprising: a computer usable medium having a computer readable program code means embodied therein for altering data contained in a structure without locking the structure, the computer readable program code means comprising: means for retrieving a pointer to a structure from a location responsible for maintaining a pointer to the structure, the structure having a reference count for indicating processes that are currently using the data residing therein; means for copying the data contained in the structure to a new structure, the new structure having a reference count for indicating processes that are currently using the data residing therein; means for setting the reference count of the new structure to indicate a single process in accessing the new structure; means for altering the data in the new structure; means for replacing, while the reference count of the structure indicates that at least one process is using the data residing therein, the pointer in the responsible location for the structure with a pointer to the new structure; and setting the reference count of the new structure to indicate that the single process is no longer accessing the new structure.
Claim 10
Dependent Claim 192 words
A computer program product comprising: a computer usable medium having a computer readable program code means embodied therein for altering data contained in a structure without locking the structure, the computer readable program code means comprising: means for retrieving a pointer to a structure from a location responsible for maintaining a pointer to the structure, the structure having a reference count for indicating processes that are currently using the data residing therein; means for copying the data contained in the structure to a new structure, the new structure having a reference count for indicating processes that are currently using the data residing therein; means for setting the reference count of the new structure to indicate a single process in accessing the new structure; means for altering the data in the new structure; means for replacing, while the reference count of the structure indicates that at least one process is using the data residing therein, the pointer in the responsible location for the structure with a pointer to the new structure; and setting the reference count of the new structure to indicate that the single process is no longer accessing the new structure.
Claim 11
Dependent Claim 26 words
The computer program product of claim 7 wherein the computer readable program code means further comprises: means for atomically incrementing the reference count of the structure.
Claim 12
Dependent Claim 18 words
The computer program product of claim 8 wherein the structure and new structure are both credential data structures.

References Cited (Backward Citations)

US4845624A Cited
US5089952A Cited
US5333310A Cited
US5263161A Cited
US5247672A Cited
US5495609A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-02-15 2002-08-17 2003-02-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-02-15 2006-08-17 2007-02-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-02-15 2010-08-17 2011-02-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag