IP Library Granted Patent US 7,159,056
Granted Patent B2
US 7,159,056 · App. 10/856,266 · Granted Jan 2, 2007

Method and system for locking multiple resources in a distributed environment

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 7,159,056
App. No.
10/856,266
Granted
Jan 2, 2007
Kind
B2
Abstract

A method and system that creates and maintains lock properties for a resource or object in a distributed environment. The method and system creates and/or updates lock objects to relate to multiple locks, i.e., multiple resources. The method and system creates and maintains lock properties for a resource or object in a distributed environment.

Claims (35)

1. A method of locking a resource in a distributed environment, the method comprising:

receiving a request to access a particular resource, wherein the request originates from a requesting client computer system;

determining whether the resource is locked;

if the resource is locked, determining whether an additional lock object may be associated with the resource;

if an additional lock object may be associated with the resource, creating another lock object; and

providing a lock token related to the created lock to the requesting client computer system.

2. A method as defined in claim 1 wherein a lock request may request that only a predetermined number of additional lock objects be associated with the resource.

3. A method of locking resources in a distributed environment, the method comprising:

receiving a request to access more than one resource, wherein the request originates from a requesting client computer system, and wherein the access request comprises a list of universal resource identifiers for at least two unrelated resources to be locked; as a result of a said reqeust,

locking the requested resources; and

providing a lock token related to the created lock to the requesting client computer system.

4. A method as defined in claim 3 wherein the act of locking the requested resources comprises creating a lock object for the requested resources.

5. A method as defined in claim 3 wherein the act of locking the requested resources comprises updating an existing lock object to lock the requested resources.

6. A method as defined in claim 3 wherein a predetermined number of resources may be locked on one lock object.

7. A method as defined in claim 3 wherein the request further comprises information related to the type of access desired and a resource list of resources to be locked, said method further comprising:

determining whether other resources should be locked; and

if other resources should be locked; adding those resources to the resource list and locking those resources.

8. A computer program product readable by a computer and encoding instructions for executing the method recited in claim 5 .

9. A method as defined in claim 3 further comprising deadlock resolution acts in response to conflicting lock requests; said deadlock resolution acts comprising:

receiving at least one other request to access more than one resource, wherein the other request originates from a second client computer system;

determining that at least two requests for multiple resources include requests for the same resources such that simultaneous locking may result in deadlock; and

satisfying at least one lock request to thereby prevent deadlock.

10. A method as defined in claim 4 further comprising:

prior to the act of creating a lock, determining whether the resources are locked by one or more other client computer systems; and wherein

the act of creating a lock only occurs if no existing lock conflicts with the type of access requested or the type of lock requested.

11. A method as defined in claim 5 further comprising:

prior to the act of updating a lock, determining whether the resources are locked by one or more other client computer systems; and wherein

the act of updating a lock only occurs if no existing lock conflicts with the type of access requested or the type of lock requested.

12. A method as defined in claim 9 wherein the act of satisfying at least one lock request further comprises the act of granting each resource lock portion prior to attempting any lock portion for the other lock request.

13. A method as defined in claim 11 wherein the method further comprises:

determining whether other resources should be locked; and

if other resources should be locked; locking those resources.

14. A method as defined in claim 13 wherein the method further comprises:

prior to determining whether other resources should be locked, determining whether the client application program making the lock request is the owner of the existing lock; and

denying any update to the existing lock if the client application is not the owner.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2005
From: GOLDICK, JONATHAN S.
To: MICROSOFT CORPORATION
Reel/Frame 016439/0015 →