System and method for coordinating access to data for a distributed application
First Claim
1. A server computer operable to process requests sent by a plurality of client processes executing on a plurality of client computers, the server computer comprising:
- a first memory storing program instructions;
a first processor coupled to the first memory;
wherein the first processor is operable to execute program instructions stored in the first memory to implement a manager service;
wherein the manager service is operable to receive the requests sent by the plurality of processes executing on the plurality of client computers, wherein each request includes a request to acquire access to a data object from a plurality of data objects;
wherein the manager service is operable to respond to the requests by coordinating access rights for the plurality of data objects such that, at any given time, one of the following conditions is met for each data object;
a) One or more client processes currently have read access rights to the data object and no client processes currently have write access rights to the data object;
or b) One client process currently ha s write access rights to the data object and no other client process currently has read or write access rights to the data object.
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.
109 Citations
34 Claims
-
1. A server computer operable to process requests sent by a plurality of client processes executing on a plurality of client computers, the server computer comprising:
-
a first memory storing program instructions;
a first processor coupled to the first memory;
wherein the first processor is operable to execute program instructions stored in the first memory to implement a manager service;
wherein the manager service is operable to receive the requests sent by the plurality of processes executing on the plurality of client computers, wherein each request includes a request to acquire access to a data object from a plurality of data objects;
wherein the manager service is operable to respond to the requests by coordinating access rights for the plurality of data objects such that, at any given time, one of the following conditions is met for each data object;
a) One or more client processes currently have read access rights to the data object and no client processes currently have write access rights to the data object;
orb) One client process currently ha s write access rights to the data object and no other client process currently has read or write access rights to the data object. - 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 manager service to acquire access rights for accessing data objects stored on a first computer;
wherein the manager service is operable to respond to the requests sent by the client processes to coordinate access rights for the data objects such that, at any given time, one of the following conditions is met for each data object;
a) One or more client processes currently have read access rights to the data object and no client processes currently have write access rights to the data object;
orb) One client process currently has write access rights to the data object and no other client process currently has read or write access rights to the data object. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A method for coordinating access to a data object utilized in a distributed software application, the method comprising:
-
a first client computer sending a first request to a server computer to acquire access rights for accessing the data object;
the server computer granting the access rights to the first client computer in response to the first request; and
the first client computer accessing the data object. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for coordinating access to a data object utilized in a distributed software application, the method comprising:
-
a first process executing on a first client computer calling a first method to acquire access rights for accessing the data object;
the first client computer communicating with a server computer to acquire the access rights in response to said first process calling the first method;
the first process executing on the first client computer accessing the data object;
the first process executing on a first client computer calling a second method to release the access rights; and
the first client computer releasing the access rights in response to said first process calling the second method, wherein said releasing the access rights does not comprise the first client computer communicating with the server computer. - View Dependent Claims (31, 32)
-
-
33. A system for executing a web application, the system comprising:
-
a client computer operable to transmit HTTP requests;
a web server computer coupled to the client computer;
a plurality of application server computers coupled to the web server computer;
wherein the web server computer is operable to receive HTTP requests from the client computer 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 a manager service to acquire access rights for HTTP session data for the client computer;
accessing the HTTP session data to process the request; and
communicating with the manager service to release the access rights for the HTTP session data for the client computer. - View Dependent Claims (34)
-
Specification