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.