Adaptive and dynamic replication management in cloud computing
First Claim
1. A system for communicating information among a plurality of nodes of a network, comprising:
- a plurality of disseminating modules installed in a plurality of nodes of a network which hosts a plurality of replicas of data having a plurality of objects, each said disseminating module has access to a dataset defining a plurality of write request dissemination topologies;
wherein each said disseminating module is defined to receive a write request from a client, to select dynamically one of said plurality of write request dissemination topologies according to at least one parameter of said client, and to disseminate said write request according to said selected write request dissemination topology;
wherein each of said plurality of nodes is set to receive a read request to read a selected object of a plurality of objects of said data and to retrieve a copy of said object from a respective of said plurality of replicas;
wherein each of said plurality of nodes manages a dataset indicative of which of said plurality of objects has been updated by said write request and not acknowledged by a common tail node;
wherein each of said plurality of nodes forwards said read request to said common tail node if according to said dataset said selected object has been updated said write request and not acknowledged by said common tail node.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for communicating information among a plurality of nodes of a network. The system comprises a plurality of disseminating modules installed in a plurality of nodes of a network which hosts a plurality of replicas of data having a plurality of objects, each the disseminating module has access to a dataset defining a plurality of write request dissemination topologies. Each disseminating module is defined to receive a write request from a client, to select dynamically one of the write request dissemination topologies according to at least one parameter of the client, and to disseminate the write request according to the selected write request dissemination topology.
-
Citations
25 Claims
-
1. A system for communicating information among a plurality of nodes of a network, comprising:
-
a plurality of disseminating modules installed in a plurality of nodes of a network which hosts a plurality of replicas of data having a plurality of objects, each said disseminating module has access to a dataset defining a plurality of write request dissemination topologies; wherein each said disseminating module is defined to receive a write request from a client, to select dynamically one of said plurality of write request dissemination topologies according to at least one parameter of said client, and to disseminate said write request according to said selected write request dissemination topology; wherein each of said plurality of nodes is set to receive a read request to read a selected object of a plurality of objects of said data and to retrieve a copy of said object from a respective of said plurality of replicas; wherein each of said plurality of nodes manages a dataset indicative of which of said plurality of objects has been updated by said write request and not acknowledged by a common tail node; wherein each of said plurality of nodes forwards said read request to said common tail node if according to said dataset said selected object has been updated said write request and not acknowledged by said common tail node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for communicating information among a plurality of nodes of a network, comprising:
-
a plurality of disseminating modules installed in a plurality of nodes of a network which hosts a plurality of replicas of data having a plurality of objects, each said disseminating module has access to a dataset defining a plurality of write request dissemination topologies; wherein each said disseminating module is defined to receive a write request from a client, to select dynamically one of said plurality of write request dissemination topologies according to at least one parameter of said client, and to disseminate said write request according to said selected write request dissemination topology;
wherein said disseminating module is defined to disseminate said write request in association with an indicator of said selected write request dissemination topology so as to allow any of other of said plurality of disseminating modules to further disseminate said write request in said network according to said selected write request dissemination topology;
wherein each said disseminating module forwards an acknowledge message to indicate a compliance with said write request to a common tail node in a reverse version of said selected write request dissemination topology;
wherein said common tail node sends a write request acknowledgment message to said client after receiving said acknowledgment message from at least some of said plurality of disseminating modules.
-
-
11. A method for communicating information among a plurality of nodes of a network, comprising:
-
managing a plurality of replicas of data, said plurality of replicas being stored in a plurality of nodes of a network with one of a plurality of disseminating modules; and at any of said plurality of nodes a respective disseminating module is defined for; receiving a write request from a client; dynamically selecting one of a plurality of write request dissemination topologies according to at least one parameter of at least one of said client, said network and said write request; and disseminating said write request according to said selected write request dissemination topology; wherein each of said plurality of write request dissemination topologies defines one of said plurality of nodes as a tail node to which each other node which receives said write request sends a respective acknowledge message. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer program product for communicating information among a plurality of nodes of a network, comprising:
-
a non-transitory computer readable storage medium; first program instructions to manage a plurality of replicas of data, said plurality of replicas being stored in a plurality of nodes of a network with one of a plurality of disseminating modules; and second program instructions to be used by any of said plurality of disseminating modules for; receiving a write request from a client; dynamically selecting one of a plurality of write request dissemination topologies according to at least one parameter of at least one of said client, said network and said write request; and disseminating said write request according to said selected write request dissemination topology; wherein said first and second program instructions are stored on said non transitory computer readable storage medium; wherein each of said plurality of nodes is set to receive a read request to read a selected object of a plurality of objects of said data and to retrieve a copy of said object from a respective of said plurality of replicas; wherein each of said plurality of nodes manages a dataset indicative of which of said plurality of objects has been updated by said write request and not acknowledged by a common tail node; wherein each of said plurality of nodes forwards said read request to said common tail node if according to said dataset said selected object has been updated said write request and not acknowledged by said common tail node.
-
-
21. A method for communicating information among a plurality of nodes of a network, comprising:
-
storing a replica of data in a node of a network having a plurality of nodes storing a plurality of replicas; receiving a write request to update said data at said node from a client; dynamically selecting a write request dissemination topology from a plurality of write request dissemination topologies according to at least one parameter of at least one of said client, said network, and said write request; and disseminating said write request among said plurality of nodes according to said selected write request dissemination topology in association with an indicator of said selected write request dissemination topology; wherein each of said plurality of write request dissemination topologies defines one of said plurality of nodes as a tail node to which each other node which receives said write request sends a respective acknowledge message. - View Dependent Claims (22, 23, 24)
-
-
25. A computer program product for communicating information among a plurality of nodes of a network, comprising:
-
a non transitory computer readable storage medium; first program instructions to store a replica of data in a node of a network having a plurality of nodes; second program instructions to receive a write request to update said data at said node from a client; third program instructions to dynamically select a write request dissemination topology from a plurality of write request dissemination topologies according to at least one parameter of at least one of said client, said network, and said write request; and fourth program instructions to disseminate said write request among said plurality of nodes according to said selected write request dissemination topology in association with an indicator of said selected write request dissemination topology; wherein said first, second, third, and fourth program instructions are stored on said non transitory computer readable storage medium; wherein each of said plurality of write request dissemination topologies defines one of said plurality of nodes as a tail node to which each other node which receives said write request sends a respective acknowledge message.
-
Specification