Method and system for locking resources in a distributed environment
AssigneeMicrosoft Corporation
InventorJonathan S. Goldick
Life of this patent
Estimating the term…
Abstract
A method and system that creates and maintains lock properties for a resource or object in a distributed environment. The lock properties provide other client computer systems limited availability to the locked resource. Limited availability relates to being able to only read, write or delete the resource, or any combination thereof. Additionally, these lock properties allow other client computer systems to simultaneously hold or share equivalent locks. Other lock properties relate to advisory or mandatory status for the lock. Advisory locks may be honored or ignored by other client computer systems.
Claims12
A method of locking a resource in a distributed environment communicating in a Distributed Authoring and Versioning (DAV) protocol, wherein the DAV protocol is an extension of Hypertext Markup Language (HTTP), the method comprising:
- receiving a request in the DAV protocol to access the resource, wherein the request originates from a requesting client computer system;
- in response to the request, creating a lock having a predetermined type, wherein the predetermined type is one or more of the following:
- nosharewrite, noshareread, and nosharedelete;
- returning a lock token upon the creation of the lock to the requesting client computer system;
- and
- performing the requested access.
A method of maintaining an advisory lock on a resource in a distributed environment communicating in a Distributed Authoring and Versioning (DAV) protocol, wherein the DAV protocol is an extension of Hypertext Markup Language (HTTP), the method comprising:
- receiving an access request in the DAV protocol for the resource from a requesting client computer system;
- determining whether the resource is locked with an advisory lock by another computer system;
- if the resource is locked by another computer system with a conflicting advisory lock then denying access if the requesting client computer system honors advisory locks;
- and
- if the requesting client computer system does not honor the advisory lock or if the resource is not locked with a conflicting lock, then creating a lock, returning a lock token upon creation of the lock, and performing the access.
Dependencies are inferred from the claim text.