Tuple-based information space for data exchange between applications
First Claim
1. A method for information exchange and persistence, the method comprising the steps of:
- providing an information space distributed across multiple servers on a computer network for the distributed storage of tuples across the multiple servers; and
providing a coordination entity, the coordination entity configured to provide storage location information of a tuple stored on a first server to a second server over the computer network in response to a request for the storage location information of the tuple.
3 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for providing application-layer information persistence and exchange is provided. For an exemplary embodiment, an information space is constructed to span a group of one or more server systems. The information space is based on the tuple-space paradigm first introduced for the Linda coordination model. A coordination entity manages storage of tuples within the information space. Applications access tuples by consulting a local cache of known tuple locations. If the location of a tuple is known, access is directed to the known location. If the location is unknown, the coordination is queried to determine the correct tuple location. If a tuple has moved, the previously storing server generates a re-route exception. This causes the accessing application to query the coordination entity, retry the access, and update the local cache.
32 Citations
16 Claims
-
1. A method for information exchange and persistence, the method comprising the steps of:
-
providing an information space distributed across multiple servers on a computer network for the distributed storage of tuples across the multiple servers; and
providing a coordination entity, the coordination entity configured to provide storage location information of a tuple stored on a first server to a second server over the computer network in response to a request for the storage location information of the tuple. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for exchanging information between applications, the method comprising the steps of:
-
requesting, by a client application, the storage of a tuple in an information space distributed across multiple servers on a computer network for the distributed storage of tuples across a computer network;
receiving the request for the storage of a tuple in an information space from the client application at a proxy server;
transmitting a coordination entity request from the proxy server to the coordination entity over the computer network;
selecting, by a coordination entity, at least one of the servers for storage of the tuple. - View Dependent Claims (8, 9, 10, 11, 12, 13)
searching for the tuple location in a cache of known tuple locations;
requesting the tuple location from the coordination entity if the location of the tuple is not included in the cache; and
accessing the tuple at the location retrieved from the cache or the coordination entity.
-
-
9. A method as recited in claim 8 further comprising:
adding the location retrieved from the coordination entity to the cache of known tuple locations.
-
10. A method as recited in claim 8 further comprising the steps:
-
receiving a re-route exception; and
requesting the tuple location from the coordination entity in response to receiving the re-route exception.
-
-
11. A method as recited in claim 10 further comprising:
adding the location retrieved from the coordination entity to the cache of known tuple locations.
-
12. A method as recited in claim 8 wherein the step of accessing is performed using remote method invocation (RMI).
-
13. A method as recited in claim 7 wherein the coordination entity performs the step of selecting in a way that load balances the information space.
-
14. A method for information exchange and persistence, the method comprising:
-
requesting, by a client application, a stored tuple by transmitting a client request from a client device, over a computer network, to a first server;
determining by the first server whether a storage location associated with the stored tuple is stored at the first server;
forwarding the client request by the first server over the computer network to a server associated with the storage location if the first server determines that the storage location is stored at the first server;
transmitting a query to a coordination entity by the first server if the first server determines that the storage location is not stored at the first server;
receiving a query result from the coordination entity at the first server, the query result including storage location information associated with the stored tuple;
using the query result by the first server to request the stored tuple from a server associated with the storage location. - View Dependent Claims (15, 16)
-
Specification