IP Library Granted Patent US 9,916,343
Granted Patent B2
US 9,916,343 · App. 14/677,965 · Granted Mar 13, 2018

Efficient tracking of an alternate global update and read values using exception lists

Inventor: Robert W. Lyle (Morgan Hill, CA)
Assignee: International Business Machines Corporation
G06F17/30371G06F9/5011G06F17/3023G06F17/30165
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,916,343
App. No.
14/677,965
Granted
Mar 13, 2018
Kind
B2
Abstract

Optimizing approximation of an earliest access time of objects in a datasharing environment by maintaining a global exception list for objects that are accessed by transactions that commit infrequently. The global exception list comprises a time value representing the earliest access time for each object in the global exception list, and an object identifier. The system references the global exception list to determine whether the object is in the global exception list. If the object is in the global exception list, the system uses the time value associated with the object when determining the earliest access time for the object. If not, the system approximates the earliest access time of the object by selecting the most recent access time value from the global exception list, providing more recent access times for objects accessed by transactions that commit frequently.

Claims (35)

1. A computer program product for optimizing access to resources for objects in a datasharing environment, the datasharing environment comprising a plurality of members, the computer program product comprising:

a computer readable storage medium having computer readable program code embodied therewith, the program code executable by at least one computing processor to:

create a plurality of exception lists by the plurality of members, each of the plurality of exception lists comprising a plurality of objects accessed by currently active transactions that run longer than other transactions running against other objects such that the currently active transactions degrade performances of the other transactions, each of the plurality of objects being associated with an object identifier and an earliest access time value;

create a global exception list by merging the plurality of exception lists from the plurality of members;

in response to a request for a lock for a given object associated with a given object identifier, reference the global exception list to determine whether the given object identifier is in the global exception list;

if the given object identifier is in the global exception list, determine a given earliest access time associated with the given object identifier and use the given earliest access time to determine whether to grant the request for the lock to optimize an acquiring and releasing of locks between the currently active transactions and the other transactions;

if the given object identifier is not in the global exception list, select a most recent access time value from the global exception list and use the most recent access time value to determine whether to grant the request for the lock to optimize the acquiring and releasing of locks between the currently active transactions and the other transactions.

2. The computer program product of claim 1 further configured to:

make the global exception list available to the plurality of members of the datasharing environment.

3. The computer program product of claim 1 wherein the computer readable program code configured to create the global exception list by merging the plurality of exception lists from the plurality of members is further configured to:

read the plurality of exception lists created by the plurality of members at periodic intervals.

4. The computer program product of claim 3 further configured to:

tune the periodic intervals to optimize at least one of:

i) overhead of the datasharing environment; and

ii) currency of the global exception list.

5. The computer program product of claim 3 further configured to:

create the global exception list from oldest values in the plurality of exception lists created by the plurality of members.

6. The computer program product of claim 5 further configured to:

tune a number of objects in the global exception list to optimize approximation of the given earliest access time.

7. A system comprising:

a computing processor; and

a computer readable storage medium operationally coupled to the processor, the computer readable storage medium having computer readable program code embodied therewith to be executed by the computing processor, the computer readable program code configured to:

create a plurality of exception lists by a plurality of members in a datasharing environment, each of the plurality of exception lists comprising a plurality of objects accessed by currently active transactions that run longer than other transactions running against other objects such that the currently active transactions degrade performances of the other transactions, each of the plurality of objects being associated with an object identifier and an earliest access time value;

create a global exception list by merging the plurality of exception lists from the plurality of members;

in response to a request for a lock for a given object associated with a given object identifier, reference the global exception list to determine whether the given object identifier is in the global exception list;

if the given object identifier is in the global exception list, determine a given earliest access time associated with the given object identifier and use the given earliest access time to determine whether to grant the request for the lock to optimize an acquiring and releasing of locks between the currently active transactions and the other transactions; and

if the given object identifier is not in the global exception list, select a most recent access time value from the global exception list and use the most recent access time value to determine whether to grant the request for the lock to optimize an acquiring and releasing of locks between the currently active transactions and the other transactions.

8. The system of claim 7 further configured to:

make the global exception list available to the plurality of members of the datasharing environment.

9. The system of claim 7 wherein the computer readable program code configured to create the global exception list by merging the plurality of exception lists from the plurality of members is further configured to:

read the plurality of exception lists created by the plurality of members at periodic intervals.

10. The system of claim 9 further configured to:

tune the periodic intervals to optimize at least one of:

i) overhead of the datasharing environment; and

ii) currency of the global exception list.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2015
From: LYLE, ROBERT W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035364/0280 →
Continuity (1)
Related Publication 20160292156A1 · Oct 6, 2016