Decentralized adaptive management of distributed resource replicas in a peer-to-peer network based on QoS
First Claim
1. A method for distributing a plurality of replicas of a resource entity in a peer-to-peer node network for enhanced quality of service access by a resource entity requestor, comprising:
- providing a first plurality of replicas of the resource entity in selected nodes of a first plurality of nodes;
designating the selected nodes by hashing a resource entity replica identifier to generate a distributed hash table correspondence between the selected nodes and hashed resource entity replica identifiers;
requesting by the requester for a requested resource entity from a selected one node, including;
communicating a local copy count of the requestor for a number of replicas to the selected one node,estimating an extent of awareness of a current total number N of replicas by observing an awareness of local requests, and,assessing by the selected one node whether the requestor is aware of the current total number N of replicas; and
,responding to the request, including;
locally assessing a quality of service measure to the request by the selected one node,when the quality of service measure meets a predetermined standard, replicating or removing the resource entity at a non-requesting node to provide a second plurality of replicas of the resource entity in additional or fewer ones of the nodes, respectively, for enhanced distributed access thereto, and,appending a variable number identifier associated with each corresponding replica of the first plurality of replicas after and in response to the replicating or the removing of the resource entity;
wherein the variable number identifier is based on a value of the current total number (N) of replicas.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided relating to a decentralized algorithm for managing replicas of a resource in a peer-to-peer network to satisfy quality of service requirements. Individual nodes within the network storing a resource replica continually monitor the node performance against quality of service (QoS) parameters and when necessary, take appropriate action to either add or delete the resource, all the while informing the other nodes within the network that maintain a replica of the resource of the particular action for dynamic fluctuation of the count of resource replicas therein.
60 Citations
21 Claims
-
1. A method for distributing a plurality of replicas of a resource entity in a peer-to-peer node network for enhanced quality of service access by a resource entity requestor, comprising:
-
providing a first plurality of replicas of the resource entity in selected nodes of a first plurality of nodes; designating the selected nodes by hashing a resource entity replica identifier to generate a distributed hash table correspondence between the selected nodes and hashed resource entity replica identifiers; requesting by the requester for a requested resource entity from a selected one node, including; communicating a local copy count of the requestor for a number of replicas to the selected one node, estimating an extent of awareness of a current total number N of replicas by observing an awareness of local requests, and, assessing by the selected one node whether the requestor is aware of the current total number N of replicas; and
,responding to the request, including; locally assessing a quality of service measure to the request by the selected one node, when the quality of service measure meets a predetermined standard, replicating or removing the resource entity at a non-requesting node to provide a second plurality of replicas of the resource entity in additional or fewer ones of the nodes, respectively, for enhanced distributed access thereto, and, appending a variable number identifier associated with each corresponding replica of the first plurality of replicas after and in response to the replicating or the removing of the resource entity; wherein the variable number identifier is based on a value of the current total number (N) of replicas. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for adjusting a number N of replicas of a resource within a distributed network wherein a network node dynamically and independently adds or deletes a replica based on demand for the resource,
wherein addition of the replica is performed when a response time exceeds a predetermined threshold, the addition including: -
appending a current total number N of replicas of a resource to a new total number N+1; finding a service provider for an N+1 replica using a hashing function; duplicating service on a new node; notifying other replicas to increment their local replica count by 1; and
,delaying updating the local replica count at a requester to the new total number N+1 until after a request is made; wherein deletion of the replica is performed when the response time does not exceed the predetermined threshold, the deletion including; decreasing a minimum replica count requirement; marking for removal the replicas having indexes higher than the requirement, wherein the marked replicas are included at a node other than a requesting node initiating a decrement request; delaying a removal of the marked replicas until an instance when services compete for resources of the marked replicas; and
,decrementing the local replica count at the nodes storing the marked.
-
-
21. A distributed network of peer-to-peer nodes wherein a variable identifier based on a current total number N′
- of replicas of a resource is stored in a selected set of the nodes and wherein each of the selected set of the nodes associates the number N with the resource stored therein, the system comprising;
(a) identifying by a requester a resource name and a local count of replicas N within a network (b) randomly selecting by the requestor a first instance number i, wherein the first instance number is selected between 1 and N (c) sending by the requestor a request to a first node in the set; (d) updating a local knowledge of the requestor if the first node is maintaining copy of the resource, including; appending i to modify the resource name, hashing the modified resource name, returning to the requestor the resource and a current total number N′
of available replicas, and,replacing the local count of replicas N with the current total number N′
of available replicas; and
,(e) responding to a failure to supply the resource and the current total number N′
if the first node is not maintaining a copy of the resource, including;randomly selecting by the requestor a second instance number i2, wherein the second instance number i2, corresponds to a closest integer less than an average of the first instance number i and 1; sending by the requestor the request to a second node of the set, and, repeating actions (d) and (e) for the second node.
- of replicas of a resource is stored in a selected set of the nodes and wherein each of the selected set of the nodes associates the number N with the resource stored therein, the system comprising;
Specification