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

Multiprocessing computer system with exit logic and method for maintaining resource integrity

Assignee: International Business Machines Corp
•
Filing: 1989-10-17
•
Granted: 1992-08-11
•
Expires: 2009-10-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In order to maintain resource integrity in a multiprocessing computer system wherein a local variable which is accessible by a single process and a global variable which is accessible by a plurality of processes and is dependent on the local variable are updated sequentially and wherein the process may be terminated between the updating of the local and global variables, the expected value of the local variable and global variables are stored in first and second storage locations respectively before the local and global variables themselves are updated. If then, the process is terminated, a determination of whether the process was terminated between the updating of the local and global variables can be made by comparing the content of the first storage means to that of the local variable and by comparing the content of the second storage means to that of the global variable and, if necessary, remedial action can be undertaken to correct the values of the variables.

Inventors

  • 👤 Gregory P. Loten

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 22:14
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F11/00; G06F11/07; G06F11/14; G06F11/1402

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 270 words
A multiprocessing computer system in which each of a plurality of processes has access to at least one system resource, the multiprocessing computer system comprising: local count means for each process to maintain a count of permits for that process to access said resource; global count means to maintain a count of permits for all processes to access said resource; update logic for sequentially updating an appropriate local count means and the global count means each time a process requests or relinquishes use of the resource; exit logic for terminating a process including means for resetting the global count means, characterized in that: the local and global count means maintain a count of permits to read a resource; the update logic additionally comprises logic for storing expected local and global count values in first and second storage means respectively, before either of the appropriate local count means or the global count means are updated where the expected value of the local count stored in the first storage means is the current local read count plus an intended local count increment and the expected value of the global count stored in the second temporary storage means is the current global count plus an intended global count increment; and the exit logic additionally comprises logic for comparing the content of the first storage means to that of the appropriate local count means and for comparing the content of the second storage means to the global count means and, in dependence on the results of the comparisons, determining whether the process was terminated between the updating of the local and global count means.
Claim 2
Dependent Claim 270 words
A multiprocessing computer system in which each of a plurality of processes has access to at least one system resource, the multiprocessing computer system comprising: local count means for each process to maintain a count of permits for that process to access said resource; global count means to maintain a count of permits for all processes to access said resource; update logic for sequentially updating an appropriate local count means and the global count means each time a process requests or relinquishes use of the resource; exit logic for terminating a process including means for resetting the global count means, characterized in that: the local and global count means maintain a count of permits to read a resource; the update logic additionally comprises logic for storing expected local and global count values in first and second storage means respectively, before either of the appropriate local count means or the global count means are updated where the expected value of the local count stored in the first storage means is the current local read count plus an intended local count increment and the expected value of the global count stored in the second temporary storage means is the current global count plus an intended global count increment; and the exit logic additionally comprises logic for comparing the content of the first storage means to that of the appropriate local count means and for comparing the content of the second storage means to the global count means and, in dependence on the results of the comparisons, determining whether the process was terminated between the updating of the local and global count means.
Claim 3
Dependent Claim 29 words
A system as claimed in claim 1 comprising semaphore means for ensuring that access may be had to the global count means by only one process at a time.
Claim 4
Dependent Claim 96 words
A system as claimed in claim 1 wherein the update logic updates the local count means before the global count means and wherein the exit logic tests whether the content of the first storage means is the same as that of the local count means and whether the content of the second storage means is different from that of the global count means, and, if both conditions are true, decrements the content of the local count means by the numerical difference between the content of the second storage means and that of the global count means.
Claim 5
Dependent Claim 96 words
A system as claimed in claim 1 wherein the update logic updates the global count means before the local count means and wherein the exit logic tests whether the content of the second storage means is the same as that of the global count means and whether the content of the first storage means is different from that of the local count means and, if both conditions are true, decrements the content of the global count means by the numerical difference between the content of the first storage means and that of the local count means.
Claim 6
Dependent Claim 45 words
A system as claimed in claim 3 wherein the update logic stores the expected value of the local count and the global count in the first and second storage means, respectively, in the same chronological order as it updates the local and global count means.
Claim 7
Dependent Claim 53 words
A system as claimed in claim 1 wherein the update logic additionally comprises logic for bracketing a section of logic including that for updating the local and global count means and wherein the exit logic additionally comprises logic for testing whether a process was terminated during execution of the bracketed section of logic.
Claim 8
Dependent Claim 97 words
A system as claimed in claim 6 wherein: the bracketing logic sets the content of at least one of the first and the second storage means to an invalid value before said expected values are stored therein and resets the content of said at least one of the first and second storage means to an invalid value after the local and global count means have been updated; and the logic for testing the bracketed section of logic tests whether the content of said at least one of the first and second storage means has a valid value.
Claim 9
Dependent Claim 86 words
A system as claimed in claim 6 wherein: the bracketing logic, after storing the expected values, sets the content of a third storage means to the value of a unique identifier for the resource and which, after the updating of the local and global variables, resets the third storage means to an invalid value; and the logic for testing the bracketed section of logic tests whether the content of the third storage means corresponds to that of a valid identifier, and if so identifies that resource.
Claim 10
Independent Claim 245 words
A method of maintaining resource integrity in a multiprocessing computer system wherein a local variable which is accessible by a single process and a global variable which is accessible by a plurality of processes and is dependent on the local variable are updated sequentially, said local and global variables are read counts for maintaining a count of read access permits to a resource, and wherein the process may be terminated between the updating of the local and global variables, said method comprising the steps of: a) storing the expected value of the local variable in a first storage means and the expected value of the global variable in a second storage means where the expected value of the local variable stored in the first storage means is the current local read count plus an intended local read count increment and the expected value of the global variable stored in the second temporary storage means is the current global read count plus an intended global read count increment; and then b) updating the local variable and the global variable sequentially, and c) if said process is terminated, determining whether the process was terminated between the updating of the local and global variables by comparing the content of the first storage means to that of the local variable and by comparing the content of the second storage means to that of the global variable and, if necessary, undertaking remedial action to correct the values of the variables.
Claim 11
Independent Claim 245 words
A method of maintaining resource integrity in a multiprocessing computer system wherein a local variable which is accessible by a single process and a global variable which is accessible by a plurality of processes and is dependent on the local variable are updated sequentially, said local and global variables are read counts for maintaining a count of read access permits to a resource, and wherein the process may be terminated between the updating of the local and global variables, said method comprising the steps of: a) storing the expected value of the local variable in a first storage means and the expected value of the global variable in a second storage means where the expected value of the local variable stored in the first storage means is the current local read count plus an intended local read count increment and the expected value of the global variable stored in the second temporary storage means is the current global read count plus an intended global read count increment; and then b) updating the local variable and the global variable sequentially, and c) if said process is terminated, determining whether the process was terminated between the updating of the local and global variables by comparing the content of the first storage means to that of the local variable and by comparing the content of the second storage means to that of the global variable and, if necessary, undertaking remedial action to correct the values of the variables.
Claim 12
Dependent Claim 20 words
A method as claimed in claim 9 wherein a semaphore is associated with the global variable for serializing access thereto.
Claim 13
Dependent Claim 95 words
A method as claimed in claim 9 wherein: in step (b) the local variable is updated before the global variable; and step (c) comprises the sub-steps of: (i) testing whether the content of the first storage means is the same as that of the local variable and whether the content of the second storage means is different from that of the global variable, and if both conditions are true; (ii) decrementing the content of the local variable by the numerical difference between the content of the second storage means and that of the global variable.
Claim 14
Dependent Claim 95 words
A method as claimed in claim 9 wherein: in step (b) the global variable is updated before the local variable; and step (c) comprises the sub-steps of: (i) testing whether the content of the second storage means is the same as that of the global variable and whether the content of the first storage means is different from that of the local variable, and if both conditions are true; (ii) decrementing the content of the global variable by the numerical difference between the content of the second storage means and that of the local variable.
Claim 15
Dependent Claim 48 words
A method as claimed in claim 9 wherein, in step (a). the expected values of the local variable and the global variable are stored in the first and second storage means respectively, in the same chronological order as the local and global variables are updated in step (b).
Claim 16
Dependent Claim 37 words
A method as claimed in claim 9 additionally comprising steps for bracketing a section of the method and wherein step (c) additionally comprises a sub-step of testing whether a process was terminated during execution of that section.
Claim 17
Dependent Claim 107 words
A method as claimed in claim 14 wherein: the steps for bracketing comprise, in step (a), a sub-step of initially setting the content of at least one of the first and the second storage means to an invalid value before said expected values are stored therein and, in step (b), a sub-step of resetting the content of said at least one of the first and second storage means to an invalid value after the local and global variables have been updated; and the sub-step of testing comprises testing whether the content of said at least one of said first and second storage means has a valid value.
Claim 18
Dependent Claim 102 words
A method as claimed in claim 14 wherein: the steps for bracketing comprise, in step (a), the sub-step of setting content of a third storage means to the value of an identifier associated with the global variable after the storing the expected values in the first and second storage means and, in step (b), the sub-step of resetting the third storage means to an invalid value after the updating of the local and global variables; and the sub-step of testing comprises testing whether the content of the third storage means corresponds to that of a valid identifier, and if so, which identifier.

References Cited (Backward Citations)

US4393500A Cited
US4819154A Cited
US4658351A Cited
US4860228A Cited
US4922456A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-08-11 1996-02-10 1996-08-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-08-11 2000-02-10 2000-08-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-08-11 2004-02-10 2004-08-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag