IP Library Granted Patent US 8,082,379
Granted Patent B2
US 8,082,379 · App. 12/409,377 · Granted Dec 20, 2011

Systems and methods for managing semantic locks

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 8,082,379
App. No.
12/409,377
Granted
Dec 20, 2011
Kind
B2
Abstract

In one embodiment, a system for managing semantic locks and semantic lock requests for a resource is provided. Access to the resource is controlled such that compatible lock requests can access the resource and incompatible lock requests are queued.

Claims (66)

1. A system for managing semantic locks and semantic lock requests for a resource, the system comprising:

a resource;

a resource lock information indicating existing locks on said resource;

a first lock compatibility table stored in a memory including information on a plurality of lock types, said information relating to the compatibility among the plurality of lock types; and

a software module configured to:

receive a first lock request;

access said first lock compatibility table and said resource lock information to determine whether said first lock request is compatible with existing locks on said resource; and

transmit a response indicating that said first lock request could be granted if said first lock request is compatible with the existing locks on said resource,

wherein said first lock request comprises priority information indicating whether said first lock request should be processed by said software module before a second pending lock request or after said second pending lock request.

2. The system of claim 1 , wherein said software module is further configured to transmit the response indicating that said first lock request could be granted if said first lock request is compatible with a second pending lock request.

3. The system of claim 1 , wherein said software module is associated with a second node, said second node assigned to said resource.

4. The system of claim 3 , wherein said first lock request originates from a first node remote from said second node.

5. The system of claim 4 , wherein said second node is configured to grant or deny said first lock request.

6. The system of claim 3 , wherein said second node tracks said resource lock information.

7. The system of claim 1 , wherein said resource lock information includes:

the types of locks on said resource; and

the types of locks that a third node should have on the resource in order to accommodate said first lock request.

8. The system of claim 1 , wherein said first lock compatibility table disallows equal lock types.

9. The system of claim 1 , wherein said first lock compatibility table is asymmetric.

10. The system of claim 1 , wherein said priority information indicates that said first lock request should be processed before said second pending lock request if said first lock request comprises a recursive lock request.

11. The system of claim 1 , wherein said priority information indicates that said first lock request should be processed before said second pending lock request if said first lock request comprises a conversion of an existing lock on said resource.

12. The system of claim 1 , wherein said software module is configured to determine, with at least said priority information, whether to place said first lock request at a front or at a back of a queue for pending lock requests.

13. The system of claim 1 , wherein said resource lock information comprises a representation of a number of owners of at least one type of existing lock on said resource, and said software module is configured to determine whether said first lock request is compatible with said existing locks on said resource using at least said representation.

14. The system of claim 13 , wherein said representation comprises said number of owners of each type of existing lock on said resource.

15. The system of claim 13 , wherein said resource lock information further comprises a representation of a number of pending lock requests for at least one type of lock on said resource.

16. The system of claim 13 , wherein said representation comprises a first data if said number of owners is zero, a second data if said number of owners is one, or a third data if said number of owners is greater than one.

17. The system of claim 16 , wherein said software module is configured to determine that said first lock request is compatible with said existing locks on said resource if said representation comprises said first data.

18. The system of claim 16 , wherein said second data indicates said one owner that owns said existing lock on said resource.

19. The system of claim 18 , wherein said second data comprises a device identifier of said one owner.

20. The system of claim 18 , wherein said software module is configured to determine that said first lock request is compatible with said existing locks on said resource if said representation comprises said second data and said owner that transmitted said first lock request is said one owner.

21. The system of claim 1 , wherein said resource lock information comprises a count information indicating a number of existing locks for each of said plurality of lock types, and said software module is configured to receive a lock release request, said lock release request comprising a release information indicating, for at least one type of existing lock, a number of existing locks that should be released.

22. The system of claim 21 , wherein said software module is further configured to update said count information using at least said release information.

23. The system of claim 22 , wherein said software module is further configured to transmit said response indicating that said first lock request could be granted if said count information indicates said number of existing locks is zero.

24. A method for managing semantic locks and semantic lock requests for a resource, the method comprising:

receiving a first lock request for a resource;

accessing a first lock compatibility table and a resource lock information to determine whether said first lock request is compatible with existing locks on said resource, wherein:

the first lock compatibility table stores information relating to the compatibility among a plurality of lock types; and

the resource lock information indicates existing locks on said resource; and

transmitting a response indicating that said first lock request could be granted if said first lock request is compatible with the existing locks on said resource,

wherein said first lock request comprises priority information indicating whether said first lock request should be processed before a second pending lock request or after said second pending lock request.

25. The method of claim 24 , wherein the response is transmitted if said first lock request is compatible with a second pending lock request.

26. The method of claim 24 , wherein the first lock request is received at a second node, said second node assigned to said resource.

27. The method of claim 26 , wherein said first lock request originates from a first node remote from said second node.

28. The method of claim 27 , wherein said second node tracks said resource lock information.

29. The method of claim 27 , wherein said second node is configured to grant or deny said first lock request.

30. The method of claim 24 , wherein said resource lock information includes:

the types of locks on said resource; and

the types of locks that a third node should have on the resource in order to accommodate said first lock request.

31. The method of claim 24 , wherein said first lock compatibility table disallows equal lock types.

32. The method of claim 24 , wherein said lock compatibility table is asymmetric.

33. The method of claim 24 , wherein said priority information indicates that said first lock request should be processed before said second pending lock request if said first lock request comprises a recursive lock request.

34. The method of claim 24 , wherein said priority information indicates that said first lock request should be processed before said second pending lock request if said first lock request comprises a conversion of an existing lock on said resource.

35. The method of claim 24 , further comprising determining, with at least said priority information, whether to place said first lock request at a front or at a back of a queue for pending lock requests.

36. The method of claim 24 , wherein said resource lock information comprises a representation of a number of owners of at least one type of existing lock on said resource, and said accessing further comprises determining whether said first lock request is compatible with said existing locks on said resource using at least said representation.

37. The method of claim 36 , wherein said representation comprises said number of owners of each type of existing lock on said resource.

38. The method of claim 36 , wherein said resource lock information further comprises a representation of a number of pending lock requests for at least one type of lock on said resource.

39. The method of claim 36 , wherein said representation comprises a first data if said number of owners is zero, a second data if said number of owners is one, or a third data if said number of owners is greater than one.

40. The method of claim 39 , wherein determining whether said first lock request is compatible with said existing locks on said resource using at least said representation comprises determining whether said representation comprises said first data.

41. The method of claim 39 , wherein said second data indicates said one owner that owns said existing lock on said resource.

42. The method of claim 41 , wherein said second data comprises a device identifier of said one owner.

43. The method of claim 41 , wherein determining whether said first lock request is compatible with said existing locks on said resource using at least said representation comprises determining whether said representation comprises said second data and said owner that transmitted said first lock request is said one owner.

44. The method of claim 24 , further comprising:

receiving a lock release request, said lock release request comprising release information indicating, for at least one type of existing lock, a number of locks that should be released,

wherein said resource lock information comprises a count information indicating a number of existing locks for each of said plurality of lock types.

45. The method of claim 44 , further comprising updating said count information using at least said release information.

46. The method of claim 45 , wherein transmitting a response indicating that said first lock request could be granted further comprises transmitting said response if said count information indicates said number of existing locks is zero.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
MERGER Recorded May 12, 2011
From: ISILON SYSTEMS, INC.
To: ISILON SYSTEMS LLC
Reel/Frame 026268/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2011
From: IVY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 026267/0562 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2011
From: ISILON SYSTEMS LLC
To: IVY HOLDING, INC.
Reel/Frame 026267/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2011
From: FACHAN, NEAL T.; PASSEY, AARON J.
To: ISILON SYSTEMS, INC.
Reel/Frame 026260/0534 →