System and method for coordinating access to data for a distributed application
First Claim
1. A server computer comprising:
- a first memory storing program instructions; and
a first processor coupled to the first memory;
wherein the first processor is operable to execute the program instructions stored in the first memory to implement a first manager service;
wherein the first manager service is operable to;
receive requests sent by a plurality of processes executing on a plurality of client computers, wherein each request includes a request to acquire read access and/or write access to a data object from a plurality of data objects;
coordinate read access rights and write access rights for the plurality of data objects in response to the requests;
store state information indicative of access rights acquired by each of the processes to the plurality of data objects; and
communicate with a first backup manager service on a second server computer in order to maintain a first mirror of the state information on the second server computer.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for controlling access to data in a distributed computer system. Distributed Token Manager (DTM) is a system-level service that coordinates read/write access of data objects (tokens) in a multi-process and multi-threaded environment. The DTM ensures that at any given time either: 1) One or more client processes or threads currently have read access rights to the data object, and no client processes or threads currently have write access rights to the data object; or 2) One client process or thread currently has write access to the data object and no other client processes or threads currently have read or write access rights to the data object. DTM also ensures that such coordination works smoothly even in the case of process/machine/network failure.
-
Citations
11 Claims
-
1. A server computer comprising:
-
a first memory storing program instructions; and a first processor coupled to the first memory; wherein the first processor is operable to execute the program instructions stored in the first memory to implement a first manager service; wherein the first manager service is operable to; receive requests sent by a plurality of processes executing on a plurality of client computers, wherein each request includes a request to acquire read access and/or write access to a data object from a plurality of data objects; coordinate read access rights and write access rights for the plurality of data objects in response to the requests; store state information indicative of access rights acquired by each of the processes to the plurality of data objects; and communicate with a first backup manager service on a second server computer in order to maintain a first mirror of the state information on the second server computer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A distributed system operable to coordinate access to shared data, the system comprising:
-
a plurality of client computers; wherein the client computers execute client processes operable to send requests to a first manager service on a first server computer to acquire read access rights and/or write access rights for accessing data objects stored on a first computer; wherein the first manager service is operable to; coordinate read access rights and write access rights for the data objects in response to the requests; store state information indicative of access rights acquired by each of the client processes to the data objects; and communicate with a first backup manager service on a second server computer in order to maintain a first mirror of the state information on the second server computer. - View Dependent Claims (9, 10)
-
-
11. A system for executing a web application, the system comprising:
-
a web server computer; and a plurality of application server computers coupled to the web server computer, wherein a first application server computer implements a first manager service, wherein a second application server computer implements a first backup manager service; wherein the web server computer is operable to receive HTTP requests from client computers and distribute the requests among the application server computers; wherein each application server computer is operable to respond to a request received from the web server computer by communicating with the first manager service on the first application server computer to acquire access rights for a portion of HTTP session data corresponding to the request; wherein the first manager service on the first application server computer stores state information indicative of access rights acquired by each of the application server computers to portions of HTTP session data; wherein the first manager service on the first application server computer communicates with the first backup manager service on the second application server computer in order to maintain a first mirror of the state information on the second application server computer.
-
Specification