Method and system for creating a peer-to-peer overlay network
First Claim
1. A method for creating from a network of existing nodes, a peer-to-peer overlay network having no centralized server, said method comprising:
- discovering a plurality of node characteristics for each node of a subset of said existing nodes;
scaling each of said discovered plurality of node characteristics to a value which is within a predetermined range of values;
generating a plurality of weighted values for each of said subset of existing nodes by applying a separate weighting function to each of said scaled values;
generating a node rank value for each of said subset of existing nodes by summing said plurality of weighted values;
determining which of said subset of said existing nodes are eligible nodes, wherein each of said eligible nodes have a node rank value that is greater than a dynamically programmable minimum node rank value;
determining a maximum number of nodes of said eligible nodes to establish a connection by generating a random number between zero and a dynamically programmable maximum number;
determining to which nodes of said eligible nodes to establish a connection by randomly selecting said maximum number of nodes from said eligible nodes; and
establishing a connection to said selected nodes.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and system for creating a peer-to-peer overlay network. The method includes discovering a set of node characteristics for each of a subset of existing nodes of a network. The method also includes scaling each of the discovered set of node characteristics to a value which is within a predetermined range of values. The method also includes generating a set of weighted values for each of the subset of nodes by applying a weighting function to each of the scaled values. In addition, the method includes generating a node rank value for each of the subset of nodes by summing the weighted values of each respective set of weighted values. Further, the method includes determining whether to connect to any of the subset of nodes based upon the node rank value.
-
Citations
28 Claims
-
1. A method for creating from a network of existing nodes, a peer-to-peer overlay network having no centralized server, said method comprising:
-
discovering a plurality of node characteristics for each node of a subset of said existing nodes; scaling each of said discovered plurality of node characteristics to a value which is within a predetermined range of values; generating a plurality of weighted values for each of said subset of existing nodes by applying a separate weighting function to each of said scaled values; generating a node rank value for each of said subset of existing nodes by summing said plurality of weighted values; determining which of said subset of said existing nodes are eligible nodes, wherein each of said eligible nodes have a node rank value that is greater than a dynamically programmable minimum node rank value; determining a maximum number of nodes of said eligible nodes to establish a connection by generating a random number between zero and a dynamically programmable maximum number; determining to which nodes of said eligible nodes to establish a connection by randomly selecting said maximum number of nodes from said eligible nodes; and establishing a connection to said selected nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 24, 25, 26, 27, 28)
-
-
12. A storage medium including program instructions executable by a processor to implement the method of:
-
discovering a plurality of node characteristics for each node of a subset of said existing nodes; scaling each of said discovered plurality of node characteristics to a value which is within a predetermined range of values; generating a plurality of weighted values for each of said subset of existing nodes by applying a separate weighting function to each of said scaled values; generating a node rank value for each of said subset of existing nodes by summing said plurality of weighted values; determining which of said subset of said existing nodes are eligible nodes, wherein each of said eligible nodes have a node rank value that is greater than a dynamically programmable minimum node rank value; determining a maximum number of nodes of said eligible nodes to establish a connection by generating a random number between zero and a dynamically programmable maximum number; determining to which nodes of said eligible nodes to establish a connection by randomly selecting said maximum number of nodes from said eligible nodes; and establishing a connection to said selected nodes. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
a plurality of nodes interconnected via a network, wherein each of said plurality of nodes includes; a processor; and a memory coupled to said processor, said memory including program instructions executable by the processor to; create from a subset of nodes of said plurality of nodes, a peer-to-peer overlay network having no centralized server discover a plurality of node characteristics for each node of a subset of said existing nodes; scale each of said discovered plurality of node characteristics to a value which is within a predetermined range of values; generate a plurality of weighted values for each of said subset of existing nodes by applying a separate weighting function to each of said scaled values; generate a node rank value for each of said subset of existing nodes by summing said plurality of weighted values; determine which of said subset of said existing nodes are eligible nodes, wherein each of said eligible nodes have a node rank value that is greater than a dynamically programmable minimum node rank value; determine a maximum number of nodes of said eligible nodes to establish a connection by generating a random number between zero and a dynamically programmable maximum number; determine to which nodes of said eligible nodes to establish a connection by randomly selecting said maximum number of nodes from said eligible nodes; and establish a connection to said selected nodes. - View Dependent Claims (20, 21)
-
22. A computer system comprising:
a plurality of nodes interconnected via a network, wherein each of said plurality of nodes includes; a processor; a memory coupled to said processor and configured to store instructions and data; and a network connection manager coupled to said processor and configured to create from a subset of nodes of said plurality of nodes, a peer-to-peer overlay network having no centralized server, wherein the network connection manager is further configured to; discover a plurality of node characteristics for each node of a subset of nodes of said plurality of nodes; scale each of said discovered plurality of node characteristics to a value which is within a predetermined range of values; generate a plurality of weighted values for each of said subset of nodes by applying a separate weighting function to each of said scaled values; generate a node rank value for each of said subset of nodes by summing said plurality of weighted values; determine which of said subset of said nodes are eligible nodes, wherein each of said eligible nodes have a node rank value that is greater than a dynamically programmable minimum node rank value; determine a maximum number of nodes of said eligible nodes to establish a connection by generating a random number between zero and a dynamically programmable maximum number; determine to which nodes of said eligible nodes to establish a connection by randomly selecting said maximum number of nodes from said eligible nodes; and establish a connection to said selected nodes.
-
23. A computer system comprising:
-
means for discovering a plurality of node characteristics for each of a subset of nodes of a plurality of nodes of a network; means for scaling each of said discovered plurality of node characteristics to a value which is within a predetermined range of values; means for generating a plurality of weighted values for each of said subset of nodes by applying a separate weighting function to each of said scaled values; means for generating a node rank value for each of said subset of nodes by summing said plurality of weighted values; means for determining which of said subset of said existing nodes are eligible nodes, wherein each of said eligible nodes have a node rank value that is greater than a dynamically programmable minimum node rank value; means for determining a maximum number of nodes of said eligible nodes to establish a connection by generating a random number between zero and a dynamically programmable maximum number; means for determining to which nodes of said eligible nodes to establish a connection by randomly selecting said maximum number of nodes from said eligible nodes; and means for establishing a connection to said selected nodes.
-
Specification