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

System and method for shared latch serialization enhancement

Assignee: International Business Machines Corp
•
Filing: 1991-09-05
•
Granted: 1993-06-22
•
Expires: 2011-09-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for providing two or more contending processes with concurrent access to a shared resource having a primary list of elements and a list access count, with direct association between at least first and second consecutive elements each having a use counter, wherein resource access includes an obligation to perform an access completion operation. The method comprises the steps of marking the first element as ready to be deleted upon receiving a signal from a traversing one of the contending processes. Next, the first element ready to be deleted is placed on a delete list, is unchained from the primary list and is moved the delete list to an unchained list. A determination is made whether the list access counter is equal to zero: if not, the list access counter is decremented and the system waits for another contending process to access the primary list; if so, an obligation is passed to the traversing process to perform an access completion operation by: determining whether the second element's use counter is equal to zero: if not, the list access counter is decremented and the system waits for another contending process to access the primary list; if so, the first element can be released thereby completing its deletion or it can be put a free list, thereby indicating that the first element is ready to be released. Once all elements are moved from the unchained list and placed on the free list, the free list can be released in its entirety.

Inventors

  • 👤 Douglas M. Zobre
  • 👤 Linda Djohan

Bibliographic Details

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

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 280 words
A computer-based method for use in a computer platform including at least one central processing unit and a computer memory, said computer-based method for providing two or more contending processes with concurrent access to a shared computer memory resource within the computer memory, the shared computer memory resource having a primary list of elements and a list access count, with direct association between at least first and second consecutive elements each having a use counter, wherein resource access includes an obligation to perform an access completion operation, comprising the computer-based steps of: marking the first element in the computer memory resource as ready to be deleted when a traversing one of said contending processes requests the deletion of the first element from the primary list; placing the first element ready to be deleted on a delete list in the shared computer memory resource; unchaining the first element from the primary list; moving the first element from said delete list to an unchained list in the shared computer memory resource; and checking whether said list access counter is equal to zero; is so, passing the obligation to said traversing one of said contending processes to perform an access completion operation by: determining whether the second element's use counter is equal to zero; If so, performing one of: releasing the first element thereby completing it deletion; and putting the first element on a free list, thereby indicating that the first element is ready to be released; if not, decrementing the list access counter and waiting for another contending process to access the primary list; if not, decrementing the list access counter and waiting for another contending process to access the primary list.
Claim 2
Dependent Claim 280 words
A computer-based method for use in a computer platform including at least one central processing unit and a computer memory, said computer-based method for providing two or more contending processes with concurrent access to a shared computer memory resource within the computer memory, the shared computer memory resource having a primary list of elements and a list access count, with direct association between at least first and second consecutive elements each having a use counter, wherein resource access includes an obligation to perform an access completion operation, comprising the computer-based steps of: marking the first element in the computer memory resource as ready to be deleted when a traversing one of said contending processes requests the deletion of the first element from the primary list; placing the first element ready to be deleted on a delete list in the shared computer memory resource; unchaining the first element from the primary list; moving the first element from said delete list to an unchained list in the shared computer memory resource; and checking whether said list access counter is equal to zero; is so, passing the obligation to said traversing one of said contending processes to perform an access completion operation by: determining whether the second element's use counter is equal to zero; If so, performing one of: releasing the first element thereby completing it deletion; and putting the first element on a free list, thereby indicating that the first element is ready to be released; if not, decrementing the list access counter and waiting for another contending process to access the primary list; if not, decrementing the list access counter and waiting for another contending process to access the primary list.
Claim 3
Dependent Claim 56 words
A computer-based method wherein said free list comprises a plurality of elements having been placed thereon according to the computer-based method of claim 1, said computer-based method further comprising the step of: releasing said free list in its entirety after each element on said unchained list has been processed according to the method of claim 1.
Claim 4
Dependent Claim 112 words
A computer-based method according to claim 1, further comprising the computer-based step of: maintaining a shared latch control work area in the computer memory, comprising the computer-based steps of: (a) storing an anchor pointer for point to the primary list of elements, (b) storing an anchor pointer for pointing to sadi delete list, and (c) storing an anchor pointer for pointing to said unchained list of zero or more elements to be deleted, but not yet eligible to be released because of an association with an element in said primary list, and (d) storing an anchor pointer for pointing to said free list of zero or more elements eligible to be released.
Claim 5
Dependent Claim 91 words
A computer-based method according to claim 3, further comprising the steps of: maintaining one or more data structures, each data structure corresponding to one of the elements, comprising the steps of: (a) storing a first pointer for pointing to a next element in the primary list in the shared computer memory resource, (b) storing a second pointer for pointing to a next element iii one of said delete, unchained and free in the shared computer memory resource, and (c) storing data corresponding to that element in the shared computer memory resource.
Claim 6
Dependent Claim 41 words
A computer-based method according to claim 1, wherein said placing step further comprises the step of: storing a delete list anchor point in the shared computer memory resource for pointing to the first element thereby placing it on said delete list.
Claim 7
Dependent Claim 52 words
A method according to claim 5, wherein said moving step further comprises the step of: storing an unchained list anchor pointer in the shared computer memory resource for pointing to the first element, wherein the first element is not yet eligible to be released because of an association with the second element.
Claim 8
Dependent Claim 43 words
A computer-based method according to claim 6, wherein said putting step further comprises the steps of: storing a free list anchor pointer in the shared computer memory resource for pointing to the first element thereby indicating that it is eligible to be released.
Claim 9
Dependent Claim 78 words
A computer-based method according to claim 7, further comprising the steps of: maintaining one or more data structures in the computer memory, each data structure corresponding to one of the elements, comprising the steps of: (a) storing a first pointer for pointing to a next element in the primary list, (b) storing a second pointer for pointing to a next element in one of said deleted, unchained and free lists, and (c) storing data corresponding to that element.
Claim 10
Dependent Claim 253 words
A computer system for providing two or more contending processes with concurrent access to a shared computer memory resource, said computer system comprising: a shared computer memory resource having a free list, a primary list of elements and a list access counter, with direct association between at least a first and a second consecutive ones of said consecutive elements each having a use counter, and a central processing unit coupled to said shared computer memory resource, the contending processes being carried out by said central processing unit, said central processing unit having means for marking said first element as ready to be deleted upon receiving a signal from a traversing one of the contending processes, means for placing said first element ready to be deleted on a delete list in said shared computer memory resource, means for unchaining said first element from laid primary list means for moving said first element from said delete list to an unchained, and means for checking whether said list access counter is equal to zero, and if it is, then performing an access completion operation by determining whether said second element's use counter is equal to zero; if it is, putting said first element on said free list, thereby indicating that said first element is ready to be released; if not, then decrementing said list access counter and waiting for another contending processes to access said primary list; if not, then decrementing said list access counter and waiting for another contending process to access said primary list.
Claim 11
Dependent Claim 253 words
A computer system for providing two or more contending processes with concurrent access to a shared computer memory resource, said computer system comprising: a shared computer memory resource having a free list, a primary list of elements and a list access counter, with direct association between at least a first and a second consecutive ones of said consecutive elements each having a use counter, and a central processing unit coupled to said shared computer memory resource, the contending processes being carried out by said central processing unit, said central processing unit having means for marking said first element as ready to be deleted upon receiving a signal from a traversing one of the contending processes, means for placing said first element ready to be deleted on a delete list in said shared computer memory resource, means for unchaining said first element from laid primary list means for moving said first element from said delete list to an unchained, and means for checking whether said list access counter is equal to zero, and if it is, then performing an access completion operation by determining whether said second element's use counter is equal to zero; if it is, putting said first element on said free list, thereby indicating that said first element is ready to be released; if not, then decrementing said list access counter and waiting for another contending processes to access said primary list; if not, then decrementing said list access counter and waiting for another contending process to access said primary list.
Claim 12
Dependent Claim 22 words
A system according to claim 9 further including means for releasing all elements on said free list for use as general storage.
Claim 13
Dependent Claim 112 words
A system according to claim 9, wherein said shared computer memory resource further includes a shared latch control work area, having (a) a first anchor pointer for pointing to said primary list of elements, (b) a second anchor pointer for pointing to said delete list of zero or more elements to be deleted, and (C) a third anchor pointer for pointing to said unchained list of zero or more elements to be deleted, but not yet eligible to be released because of an association with an element in said primary list, and (d) a fourth anchor pointer for pointing to said free list of zero or more elements eligible to be released.
Claim 14
Dependent Claim 58 words
A system according to claim 11, wherein said shared computer memory resource further includes one or more data structures, each data structure corresponding to one of said elements, each of said data structures having a second pointer for pointing to a next element in one of said unchained, deleted and free lists, and data corresponding to that element.
Claim 15
Dependent Claim 31 words
A system according to claim 9, wherein said means for placing further comprises: a delete list anchor pointer for pointing to said first element thereby placing it on said delete list.
Claim 16
Dependent Claim 44 words
A system according to claim 13, wherein said means for moving further comprises: an unchained list anchor pointer for pointing to said first element, wherein said the first element is not yet eligible to be released because of an association with said second element.
Claim 17
Dependent Claim 33 words
A system according to claim 14, wherein said means for putting further comprises: a free list anchor pointer for pointing to the said element thereby indicating that it is eligible to be released.
Claim 18
Dependent Claim 65 words
A system according to claim 15, further comprising: one or more data structures, each data structure corresponding to one of said elements, each of said data structures having a first pointer for pointing to a next element in the primary list, a second pointer for pointing to a next element in one of said deleted, unchained and free lists, and data corresponding to that element.

References Cited (Backward Citations)

US4847754A Cited
US5109511A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-06-21 1996-12-21 1997-06-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-06-21 2000-12-21 2001-06-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-06-21 2004-12-21 2005-06-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag