Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
First Claim
1. A machine-implementable method for operating a computing system, including plural central electronic complexes processing work units of one or more programs concurrently to control access to data resources shared by at least two central electronic complexes with minimum communication of sharing control parameters, comprising the steps of:
- maintaining within each complex the interest state of each complex in each of a plurality of resource congruence classes, with a complex having an interest in a congruence class if it has previously granted or waited access to a data resource which is a member of the congruence class;
generating within a first complex a first request for access to a resource having a resource key and a resource congruence class;
determining the interest state of said first complex and of a second complex in the resource congruence class of the first access request;
responsive to the determination that the first complex has an interest and the second complex does not have an interest in the resource congruence class of the first access request, processing the first access request within the first complex;
responsive to the second complex having an interest in the resource congruence class of the first access request, communicating the first access request to the second complex for additional processing;
responsive to neither complex having an interest in the resource congruence class of the first access request, communicating the new interest state of the first complex in the resource congruence class of the first access request to the second complex, and processing the first access request within the first complex; and
the processing of the first access request selectively granting, denying, or waiting access to the resource.
1 Assignment
0 Petitions
Accused Products
Abstract
Data resources are shared by applications executing on a plurality of central electronic complexes. Each complex of a pair includes a resource lock manager (IRLM) which maintains the hold and wait locks for applications executing on the complex and selected wait locks for the other complex. Selective communication of lock request information is controlled by hash tables maintained in synchronization in each IRLM, which denote the interest of each complex in each hash class of data resources.
-
Citations
8 Claims
-
1. A machine-implementable method for operating a computing system, including plural central electronic complexes processing work units of one or more programs concurrently to control access to data resources shared by at least two central electronic complexes with minimum communication of sharing control parameters, comprising the steps of:
-
maintaining within each complex the interest state of each complex in each of a plurality of resource congruence classes, with a complex having an interest in a congruence class if it has previously granted or waited access to a data resource which is a member of the congruence class; generating within a first complex a first request for access to a resource having a resource key and a resource congruence class; determining the interest state of said first complex and of a second complex in the resource congruence class of the first access request; responsive to the determination that the first complex has an interest and the second complex does not have an interest in the resource congruence class of the first access request, processing the first access request within the first complex; responsive to the second complex having an interest in the resource congruence class of the first access request, communicating the first access request to the second complex for additional processing; responsive to neither complex having an interest in the resource congruence class of the first access request, communicating the new interest state of the first complex in the resource congruence class of the first access request to the second complex, and processing the first access request within the first complex; and the processing of the first access request selectively granting, denying, or waiting access to the resource. - View Dependent Claims (2, 3)
-
-
4. A method for operating a general purpose computing system to selectively hold and wait locks on shared resources logically organized in congruence classes, the computing system including at least two central electronic complexes interconnected by a communication link and sharing access to the resources, the method comprising the steps of:
-
maintaining in each complex an interest vector denoting the interest of each complex in each congruence class; maintaining in each complex, held lock records corresponding to locks held for work units associated with the complex, and wait lock records corresponding to locks waited for work units associated with the complex and selectively for other complexes; and responsive to a request from work unit for a lock having an access state on a resource of a congruence class, processing the lock request within the one or more complexes determined according to the interest vector. - View Dependent Claims (5, 6, 7)
-
-
8. Shared resource locking means operable in a multiprocessing/multiprogramming computing environment including at least two central electronic complexes interconnected by a communication link and sharing access to a set of resources organized in at least two congruence classes, comprising:
-
interest vector means in a first complex for storing the private use and interest of each complex in each congruence class; means within said first complex responsive to said interest vector means and to a request for a resource in a congruence class in which said first complex has private use for selectively granting or waiting the request based upon the lock records maintained within the first complex; and means within said first complex responsive to said interest vector means and to a request for a resource in a congruence class in which a second complex has interest for communicating the request to the second complex and selectively granting or waiting the request based upon lock records maintained with the first or second complexes.
-
Specification