Managing storage resources in decentralized networks
First Claim
1. A programmatic method of managing storage resources in a decentralized network, comprising steps of:
- creating, for each of a plurality of nodes in the decentralized network upon an initial entry of the node into the network, a unique persistent node identifier to uniquely identify the node across all of the node'"'"'s entries into the network even if a different network address is assigned to the node upon a subsequent entry into the network, wherein the unique persistent node identifier for each of the nodes comprises;
(i) an original network address assigned to the node upon the initial entry of the node into the network;
(ii) a date of the initial entry;
(iii) a time of the initial entry; and
(iv) an identifier of a network domain in which the initial entry occurred;
creating, for each of the nodes in the decentralized network, a mapping usable for resolving current network addresses to unique persistent node identifiers, wherein the mapping created for each of the nodes comprises an entry for each other one of the nodes in the network that is known to the each node and each of the entries specifies (i) the unique persistent node identifier of the other one and (ii) the current network address of the other one, and wherein the entries in the mapping for each of the nodes are revised when the each node learns that any of the known nodes has a changed current network address and when any additional node in the network becomes known to the each node;
dynamically evaluating behavior of storage-providing ones of the nodes, wherein the storage-providing nodes are those ones of the nodes that provide dynamic, on-demand allocation of available storage resources to storage-requesting ones of the nodes in the network;
maintaining on-going knowledge of the dynamically evaluated behavior of each of the storage-providing nodes;
consulting the mapping, by the storage-requesting nodes when presented with the current network address of at least one selected one of the storage-providing nodes, to obtain the unique persistent node identifier from the entry for each of the selected ones, such that the maintained on-going knowledge of the dynamically evaluated behavior of the selected ones of the storage-providing nodes can be determined, even if the current network address of the selected ones of the storage-providing nodes changes; and
using the maintained knowledge to access the storage resources of at least one of the selected storage-providing nodes, wherein the access uses the current network address of each of the at least one of the selected storage-providing nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer program products are disclosed for managing storage resources in decentralized networks. Persistent identifiers are defined for nodes, allowing nodes to be identified across sessions and invocations, even though they re-enter the network with a different network address. Paths taken by content resources as they traverse the network (e.g. which nodes forwarded the content) are persisted, along with reputation information about nodes (e.g. indicating how successful they are at answering queries from peers). Trust relationships can be derived using the persisted information. A tiered broadcast strategy is defined for reducing the number of messages exchanged. Preferred embodiments leverage a web services implementation model.
188 Citations
20 Claims
-
1. A programmatic method of managing storage resources in a decentralized network, comprising steps of:
-
creating, for each of a plurality of nodes in the decentralized network upon an initial entry of the node into the network, a unique persistent node identifier to uniquely identify the node across all of the node'"'"'s entries into the network even if a different network address is assigned to the node upon a subsequent entry into the network, wherein the unique persistent node identifier for each of the nodes comprises;
(i) an original network address assigned to the node upon the initial entry of the node into the network;
(ii) a date of the initial entry;
(iii) a time of the initial entry; and
(iv) an identifier of a network domain in which the initial entry occurred;creating, for each of the nodes in the decentralized network, a mapping usable for resolving current network addresses to unique persistent node identifiers, wherein the mapping created for each of the nodes comprises an entry for each other one of the nodes in the network that is known to the each node and each of the entries specifies (i) the unique persistent node identifier of the other one and (ii) the current network address of the other one, and wherein the entries in the mapping for each of the nodes are revised when the each node learns that any of the known nodes has a changed current network address and when any additional node in the network becomes known to the each node; dynamically evaluating behavior of storage-providing ones of the nodes, wherein the storage-providing nodes are those ones of the nodes that provide dynamic, on-demand allocation of available storage resources to storage-requesting ones of the nodes in the network; maintaining on-going knowledge of the dynamically evaluated behavior of each of the storage-providing nodes; consulting the mapping, by the storage-requesting nodes when presented with the current network address of at least one selected one of the storage-providing nodes, to obtain the unique persistent node identifier from the entry for each of the selected ones, such that the maintained on-going knowledge of the dynamically evaluated behavior of the selected ones of the storage-providing nodes can be determined, even if the current network address of the selected ones of the storage-providing nodes changes; and using the maintained knowledge to access the storage resources of at least one of the selected storage-providing nodes, wherein the access uses the current network address of each of the at least one of the selected storage-providing nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for managing storage resources in an ad hoc network, comprising:
-
an ad hoc network comprising a plurality of nodes; means for creating, for each of the plurality of nodes upon an initial entry of the node into the network, a unique persistent node identifier to uniquely identify the node across all of the node'"'"'s entries into the network even if a different network address is assigned to the node upon a subsequent entry into the network, wherein the unique persistent node identifier for each of the nodes comprises;
(i) an original network address assigned to the node upon the initial entry of the node into the network;
(ii) a date of the initial entry;
(iii) a time of the initial entry; and
(iv) an identifier of a network domain in which the initial entry occurred;means for creating, for each of the nodes in the decentralized network, a mapping usable for resolving current network addresses to unique persistent node identifiers, wherein the mapping created for each of the nodes comprises an entry for each other one of the nodes in the network that is known to the each node and each of the entries specifies (i) the unique persistent node identifier of the other one and (ii) the current network address of the other one, and wherein the entries in the mapping for each of the nodes are revised when the each node learns that any of the known nodes has a changed current network address and when any additional node in the network becomes known to the each node; means for dynamically evaluating behavior of storage-providing ones of the nodes, wherein the storage-providing nodes are those ones of the nodes that provide dynamic, on-demand allocation of available storage resources to storage-requesting ones of the nodes in the network; means for maintaining on-going knowledge of the dynamically evaluated behavior of each of the storage-providing nodes; means for consulting the mapping, by the storage-requesting nodes when presented with the current network address of at least one selected one of the storage-providing nodes, to obtain the unique persistent node identifier from the entry for each of the selected ones, such that the maintained on-going knowledge of the dynamically evaluated behavior of the selected ones of the storage-providing nodes can be determined, even if the current network address of the selected ones of the storage-providing nodes changes; and means for using the maintained knowledge to access the storage resources of at least one of the selected storage-providing nodes, wherein the access uses the current network address of each of the at least one of the selected storage-providing nodes. - View Dependent Claims (15, 16, 17)
-
-
18. A computer program product for managing storage resources in an ad hoc network, where a plurality of nodes making up the network may change over time, the computer program product embodied on one or more computer-readable media and comprising computer-readable program code that, when executed:
-
creates, for each of the plurality of nodes upon an initial entry of the node into the network, a unique persistent node identifier to uniquely identify the node across all of the node'"'"'s entries into the network even if a different network address is assigned to the node upon a subsequent entry into the network, wherein the unique persistent node identifier for each of the nodes comprises;
(i) an original network address assigned to the node upon the initial entry of the node into the network;
(ii) a date of the initial entry;
(iii) a time of the initial entry; and
(iv) an identifier of a network domain in which the initial entry occurred;creates, for each of the nodes in the decentralized network, a mapping usable for resolving current network addresses to unique persistent node identifiers, wherein the mapping created for each of the nodes comprises an entry for each other one of the nodes in the network that is known to the each node and each of the entries specifies (i) the unique persistent node identifier of the other one and (ii) the current network address of the other one, and wherein the entries in the mapping for each of the nodes are revised when the each node learns that any of the known nodes has a changed current network address and when any additional node in the network becomes known to the each node; dynamically evaluates behavior of storage-providing ones of the nodes, wherein the storage-providing nodes are those ones of the nodes that provide dynamic, on-demand allocation of available storage resources to storage-requesting ones of the nodes in the network; maintains on-going knowledge of the dynamically evaluated behavior of each of the storage-providing nodes; consults the mapping, by the storage-requesting nodes when presented with the current network address of at least one selected one of the storage-providing nodes, to obtain the unique persistent node identifier from the entry for each of the selected ones, such that the maintained on-going knowledge of the dynamically evaluated behavior of the selected ones of the storage-providing nodes can be determined, even if the current network address of the selected ones of the storage-providing nodes changes; and uses the maintained knowledge to access the storage resources of at least one of the selected storage-providing nodes, wherein the access uses the current network address of each of the at least one of the selected storage-providing nodes. - View Dependent Claims (19, 20)
-
Specification