Scalable resource discovery and reconfiguration for distributed computer networks
Abstract
A method is provided for discovering resources in a network of user nodes. According to the method, a resource request to be published is received at a first user node of the network, and it is determined (e.g., randomly) whether or not to send the resource request to a server node. When it is determined not to send the resource request to the server node, the resource request is forwarded to a second user node of the network through a direct connection. When it is determined to send the resource request to the server node, the resource request is sent to the server node for publication. Also provided is a user node for use in a computer network of the type that includes user nodes and at least one server node, with each user node being connected to at least one other user node through a direct connection.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for discovering resources in a network of user nodes, said method comprising the steps of:
receiving a resource request to be published at a first user node of the network; determining whether or not to send the resource request to a server node; forwarding the resource request to a second user node of the network through a direct connection, when it is determined not to send the resource request to the server node; and sending the resource request to the server node for publication, when it is determined to send the resource request to the server node.
2 . The method as defined in claim 1 , wherein in the determining step, the determination of whether or not to send the resource request to the server node is a random decision made by the first user node.
3 . The method as defined in claim 2 , wherein in the determining step, the random decision is made based on a weighting factor corresponding to the probability that the first user node will decide to send the resource request to the server node.
4 . The method as defined in claim 1 , wherein the forwarding step includes the sub-steps of:
randomly selecting one of the user nodes to which the first user node is connected to be the second user node; and forwarding the resource request from the first user node to the second user node through a direct connection.
5 . The method as defined in claim 1 , further comprising the step of publishing the resource request to at least some of the user nodes of the network via the server node.
6 . The method as defined in claim 5 , wherein in the publishing step, the server node publishes the resource request to all of the user nodes of the network that are subscribed to one or more selected resource request channels.
7 . The method as defined in claim 1 , further comprising the step of repeating the steps of determining and forwarding until in the determining step a user node that received the resource request decides to send the resource request to the server node.
8 . The method as defined in claim 1 , further comprising the steps of:
sending the resource request to be published from a requesting user node, which desires the request resource, to the first user node; and sending an identical resource request from the requesting user node to all of the user nodes to which the requesting user node is connected through direct connections.
9 . A machine-readable medium encoded with a program for discovering resources in a network of user nodes, said program containing instructions for performing the steps of:
receiving a resource request to be published at a first user node of the network; determining whether or not to send the resource request to a server node; forwarding the resource request to a second user node of the network through a direct connection, when it is determined not to send the resource request to the server node; and sending the resource request to the server node for publication, when it is determined to send the resource request to the server node.
10 . The machine-readable medium as defined in claim 9 , wherein in the determining step, the determination of whether or not to send the resource request to the server node is a random decision made by the first user node.
11 . The machine-readable medium as defined in claim 10 , wherein in the determining step, the random decision is made based on a weighting factor corresponding to the probability that the first user node will decide to send the resource request to the server node.
12 . The machine-readable medium as defined in claim 9 , wherein the forwarding step includes the sub-steps of:
randomly selecting one of the user nodes to which the first user node is connected to be the second user node; and forwarding the resource request from the first user node to the second user node through a direct connection.
13 . The machine-readable medium as defined in claim 9 , wherein said program further contains instructions for performing the step of publishing the resource request to at least some of the user nodes of the network via the server node.
14 . The machine-readable medium as defined in claim 13 , wherein in the publishing step, the server node publishes the resource request to all of the user nodes of the network that are subscribed to one or more selected resource request channels.
15 . The machine-readable medium as defined in claim 9 , wherein said program further contains instructions for performing the step of repeating the steps of determining and forwarding until in the determining step a user node that received the resource request decides to send the resource request to the server node.
16 . The machine-readable medium as defined in claim 9 , wherein said program further contains instructions for performing the steps of:
sending the resource request to be published from a requesting user node, which desires the request resource, to the first user node; and sending an identical resource request from the requesting user node to all of the user nodes to which the requesting user node is connected through direct connections.
17 . A user node for use in a computer network of the type that includes a plurality of user nodes and at least one server node, with each of the user nodes being connected to at least one other user node through a direct connection, said user node comprising:
a receiving interface for receiving a resource request to be published; control means for deciding whether or not to send the resource request to the server node; and at least one transmitting interface for selectively forwarding the resource request to a second user node of the network through a direct connection or sending the resource request to the server node for publication, wherein the transmitting interface forwards the resource request to the second user node when the control means decides not to send the resource request to the server node, and sends the resource request to the server node for publication when the control means decides to send the resource request to the server node.
18 . The user node as defined in claim 17 , wherein the control means randomly decides whether or not to send the resource request to the server node.
19 . The user node as defined in claim 18 , wherein the control means randomly decides based on a weighting factor.
20 . The user node as defined in claim 17 , wherein the control means randomly selects one of the other user nodes of the network to be the second user node to which the resource request is forwarded.Join the waitlist — get patent alerts
Track US2002165948A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.