IP Library Granted Patent US 11,954,529
Granted Patent B2
US 11,954,529 · App. 16/937,891 · Granted Apr 9, 2024

Method, device and computer program product for tracking lock

Inventors: Ming Zhang (Beijing, CN); Huan Chen (Beijing, CN); Chen Gong (Beijing, CN); Shuo Lv (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F9/5027G06F9/30047G06F9/3009G06F9/526G06F2209/5011G06F2209/508
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 11,954,529
App. No.
16/937,891
Granted
Apr 9, 2024
Kind
B2
Abstract

Techniques for tracking a lock involve creating an event comprising object information, and extracting the object information in the event through a thread in a thread pool. Such techniques further involve recording lock information comprising the object information according to a determination that the thread executes a lock operation. Such a lock tracking technique for a threading model can record lock information of an object when a thread performs locking and unlocking, and realize tracking of a lock operation and generating a lock analysis report.

Claims (99)

1. A method for tracking a lock which restricts access to a computerized resource of a computerized apparatus having limited storage resources, comprising:

placing an event into an event queue of the computerized apparatus, the event comprising object information;

extracting the object information in the event through a thread in a thread pool;

recording lock information comprising the object information according to a determination that the thread executes a lock operation which operates a lock on the computerized resource of the computerized apparatus;

monitoring a utilization rate of a storage pool of the computerized apparatus;

determining whether the utilization rate is greater than a predetermined threshold; and

switching, according to a determination that the utilization rate is greater than the predetermined threshold, a tracking system to a bypass mode in which the lock information is recorded but not analyzed;

wherein recording the lock information comprises:

distributing a standby repository from a usable pool in the storage pool to a kernel, the standby repository comprising a plurality of storage units for recording lock information;

recording the lock information in the standby repository to form a used repository; and

transferring the used repository from the kernel to a used pool in the storage pool.

2. The method of claim 1 , wherein the object information comprises an object address, and

wherein recording the lock information comprising the object information further comprises:

generating an object lock information packet for a life cycle of an object, the packet comprising creation information and locking and unlocking information of the object, as well as destruction information of the object.

3. The method of claim 1 , further comprising:

receiving a forced flush command for analysis; and

transferring in-use repositories and used repositories of a plurality of kernels to the used pool.

4. The method of claim 1 , further comprising:

obtaining a plurality of used repositories recording the lock information;

analyzing the lock information in the plurality of used repositories; and

recycling the plurality of used repositories to the usable pool in the storage pool.

5. The method of claim 4 , wherein analyzing the lock information in the plurality of used repositories comprises:

classifying, based on a hash of an object address, the lock information in the plurality of used repositories into a plurality of storage buckets;

compressing each of the plurality of storage buckets; and

further classifying the plurality of compressed storage buckets, so that each storage bucket comprises an object address packet.

6. The method of claim 5 , wherein analyzing the lock information in the plurality of used repositories further comprises:

checking the integrity of each object address packet; and

generating an analysis report of each object address packet, the analysis report indicating whether there is a lock abnormality.

7. The method of claim 1 , wherein extracting the object information in the event through the thread comprises:

reading the object information from the event and loading the object information in the thread.

8. An electronic device, comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions, wherein when executed by the processing unit, the instructions perform the following actions:

placing an event into an event queue of the electronic device, the event comprising object information;

extracting the object information in the event through a thread in a thread pool;

recording lock information comprising the object information according to a determination that the thread executes a lock operation which operates a lock on a computerized resource of the electronic device;

monitoring a utilization rate of a storage pool of the electronic device;

determining whether the utilization rate is greater than a predetermined threshold; and

switching, according to a determination that the utilization rate is greater than the predetermined threshold, a tracking system to a bypass mode in which the lock information is recorded but not analyzed;

wherein recording the lock information comprises:

distributing a standby repository from a usable pool in the storage pool to a kernel, the standby repository comprising a plurality of storage units for recording lock information;

recording the lock information in the standby repository to form a used repository; and

transferring the used repository from the kernel to a used pool in the storage pool.

9. The device of claim 8 , wherein the object information comprises an object address, and

wherein recording the lock information comprising the object information further comprises:

generating an object lock information packet for a life cycle of an object, the packet comprising creation information and locking and unlocking information of the object, as well as destruction information of the object.

10. The device of claim 8 , wherein the actions further comprise:

receiving a forced flush command for analysis; and

transferring in-use repositories and used repositories of a plurality of kernels to the used pool.

11. The device of claim 8 , wherein the actions further comprise:

obtaining a plurality of used repositories recording the lock information;

analyzing the lock information in the plurality of used repositories; and

recycling the plurality of used repositories to the usable pool in the storage pool.

12. The device of claim 11 , wherein analyzing the lock information in the plurality of used repositories comprises:

classifying, based on a hash of an object address, the lock information in the plurality of used repositories into a plurality of storage buckets;

compressing each of the plurality of storage buckets; and

further classifying the plurality of compressed storage buckets, so that each storage bucket comprises an object address packet.

13. The device of claim 12 , wherein analyzing the lock information in the plurality of used repositories further comprises:

checking the integrity of each object address packet; and

generating an analysis report of each object address packet, the analysis report indicating whether there is a lock abnormality.

14. A computer program product having a non-transitory computer readable medium which stores a set of instructions to track a lock which restricts access to a computerized resource of a computerized apparatus having limited storage resources; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

placing an event into an event queue of the computerized apparatus, the event comprising object information;

extracting the object information in the event through a thread in a thread pool;

recording lock information comprising the object information according to a determination that the thread executes a lock operation which operates a lock on the computerized resource of the computerized apparatus;

monitoring a utilization rate of a storage pool of the computerized apparatus;

determining whether the utilization rate is greater than a predetermined threshold; and

switching, according to a determination that the utilization rate is greater than the predetermined threshold, a tracking system to a bypass mode in which the lock information is recorded but not analyzed;

wherein recording the lock information comprises:

distributing a standby repository from a usable pool in the storage pool to a kernel, the standby repository comprising a plurality of storage units for recording lock information;

recording the lock information in the standby repository to form a used repository; and

transferring the used repository from the kernel to a used pool in the storage pool.

15. The computer program product of claim 14 , wherein the object information comprises an object address, and

wherein recording the lock information comprising the object information further comprises:

generating an object lock information packet for a life cycle of an object, the packet comprising creation information and locking and unlocking information of the object, as well as destruction information of the object.

16. The computer program product of claim 14 , further comprising:

receiving a forced flush command for analysis; and

transferring in-use repositories and used repositories of a plurality of kernels to the used pool.

17. The computer program product of claim 14 , further comprising:

obtaining a plurality of used repositories recording the lock information;

analyzing the lock information in the plurality of used repositories; and

recycling the plurality of used repositories to the usable pool in the storage pool.

18. The computer program product of claim 17 , wherein analyzing the lock information in the plurality of used repositories comprises:

classifying, based on a hash of an object address, the lock information in the plurality of used repositories into a plurality of storage buckets;

compressing each of the plurality of storage buckets; and

further classifying the plurality of compressed storage buckets, so that each storage bucket comprises an object address packet.

19. The computer program product of claim 18 , wherein analyzing the lock information in the plurality of used repositories further comprises:

checking the integrity of each object address packet; and

generating an analysis report of each object address packet, the analysis report indicating whether there is a lock abnormality.

20. A method for tracking a lock which restricts access to a computerized resource of a computerized apparatus having limited storage resources, comprising:

placing an event into an event queue of the computerized apparatus, the event comprising object information;

extracting the object information in the event through a thread in a thread pool; and

recording lock information comprising the object information according to a determination that the thread executes a lock operation;

obtaining a plurality of used repositories recording the lock information;

analyzing the lock information in the plurality of used repositories; and

recycling the plurality of used repositories to a usable pool in a storage pool;

wherein analyzing the lock information in the plurality of used repositories comprises:

classifying, based on a hash of an object address, the lock information in the plurality of used repositories into a plurality of storage buckets;

compressing each of the plurality of storage buckets to generate a plurality of compressed storage buckets that removes at least part of the lock information from subsequent processing when analyzing the lock information and that frees storage space of the plurality of used repositories to recycle to the usable pool in the storage pool; and

further classifying the plurality of compressed storage buckets, so that each storage bucket comprises an object address packet.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2020
From: ZHANG, MING; CHEN, HUAN; GONG, CHEN; LV, SHUO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053540/0449 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
Priority Claims (1)
CN 202010286424.4 · Apr 13, 2020 · national
Continuity (1)
Related Publication 20210318910A1 · Oct 14, 2021