Patent ID: 9553951
Date: 2017-01-24
CPC Classifications: H04L

Claim:
1. A distributed system, comprising a plurality of computing devices configured to implement: a distributed application including a plurality of client processes; and a state manager accessible to the distributed application, wherein the state manager comprises a plurality of server nodes configured to coordinate access to a set of objects defined in a namespace associated with the distributed application; wherein the state manager is configured to: implement a set of programmatic interfaces, accessible to the plurality of client processes, defining operations on a semaphore mechanism, wherein an instance of the semaphore mechanism is identified by an object in the namespace; and wherein a particular client process of the plurality of client processes is configured to: submit, to the state manager via a programmatic interface of the set, a permit request to obtain access to a resource protected by an instance of the semaphore mechanism; receive, in response to the permit request, an indication of one or more permit records, including a particular permit record corresponding to the permit request, wherein each permit record of the one or more permit records comprises a global timestamp generated by the state manager indicative of an order in which one or more permit requests to obtain access to the resource were processed by the state manager; determine, based at least in part on the indication of the one or more permit records, whether the particular client process is granted access to the resource; and in response to a determination that the particular client process is granted access to the resource, perform one or more operations associated with the resource.