Distributed data system with process co-location and out -of -process communication
First Claim
1. A distributed data system, comprising:
- a plurality of nodes coupled together, wherein each one of the plurality of nodes is coupled to at least one other one of the plurality of nodes for communicating data between the nodes, wherein the plurality of nodes comprises;
at least one in-process node comprising;
an in-process client; and
and a distributed data manager, wherein the in-process client and the distributed data manager for the in-process node are configured to execute within the same computer process on the in-process node, and wherein the distributed data manager for the in-process node is configured to communicate data with the in-process client in a non-serialized format and communicate data with other ones of the plurality of nodes in a serialized format; and
at least one out-of-process node comprising an out-of-process client, wherein the out-of-process client is configured to execute within a different process than any distributed data manager, and wherein the out-of-process client is configured to communicate data with other processes or other ones of the nodes in a serialized format.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed system may include different nodes having different distributed data management configurations in the same distributed data system. A node may include a distributed data manager in a process space for handling requests for data storage and retrieval from clients to the distributed data system. A client may share the same process space in some nodes and may have a distinct process space from a distributed data manager in other nodes. The distributed data system enables the transmission of serialized data among nodes. Nodes in the same distributed data system may store distributed data in serialized or deserialized format depending on their configuration. Various functionalities, such as load balancing or high availability may be implemented using the distributed data system.
96 Citations
33 Claims
-
1. A distributed data system, comprising:
a plurality of nodes coupled together, wherein each one of the plurality of nodes is coupled to at least one other one of the plurality of nodes for communicating data between the nodes, wherein the plurality of nodes comprises;
at least one in-process node comprising;
an in-process client; and
and a distributed data manager, wherein the in-process client and the distributed data manager for the in-process node are configured to execute within the same computer process on the in-process node, and wherein the distributed data manager for the in-process node is configured to communicate data with the in-process client in a non-serialized format and communicate data with other ones of the plurality of nodes in a serialized format; and
at least one out-of-process node comprising an out-of-process client, wherein the out-of-process client is configured to execute within a different process than any distributed data manager, and wherein the out-of-process client is configured to communicate data with other processes or other ones of the nodes in a serialized format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A method, comprising:
-
an in-process client requesting data from a distributed data manager for an in-process node of a distributed data system, wherein the in-process client and the distributed data manager for the in-process node execute within the same process on the in-process node;
if the requested data is present in a data store managed by the distributed data manager for the in-process node;
the distributed data manager for the in-process node returning the requested data to the in-process client as an object without serializing the data;
if the requested data is not present in the data store managed by the distributed data manager for the in-process node;
the distributed data manager for the in-process node retrieving the requested data in a serialized format from another node of the distributed data system;
the distributed data manager for the in-process node de-serializing the data retrieved from another node into an object; and
the distributed data manager for the in-process node returning the requested data to the in-process client as the de-serialized object;
an out-of-process client requesting data from a node within the distributed data system; and
the out-of-process client receiving the requested data in a serialized format. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method, comprising:
-
an out-of-process client requesting data from a distributed data manager for an out-of-process node of a distributed data system, wherein the out-of-process client and the distributed data manager for the out-of-process node execute in two distinct processes;
if the requested data is present in a data store managed by the distributed data manager for the out-of-process node;
the distributed data manager for the out-of-process node returning the requested data to the out-of-process client as a serialized object;
if the requested data is not present in the data store managed by the distributed data manager for the out-of-process node;
the distributed data manager for the out-of-process node retrieving the requested data in a serialized format from another node of the distributed data system; and
the distributed data manager for the out-of-process node returning the requested data in a serialized format to the out-of-process client;
an in-process client requesting data from a distributed data manager for an in-process node of the distributed data system, wherein the in-process client and the distributed data manager for the in-process node execute within the same process on the in-process node; and
the in-process client receiving the requested data in de-serialized format. - View Dependent Claims (33)
-
Specification