Rendezvousing resource requests with corresponding resources
First Claim
Patent Images
1. In a federation infrastructure, a method for routing a message towards a destination node, the method comprising:
- an act of a receiving node receiving a message along with a destination identifier indicating a destination and a partially ordered list of proximity criterion, the receiving node being included in a root ring of nodes configured for bi-directional routing as well as a plurality of sub-rings of nodes defined by the proximity criterion, the partially ordered list of proximity criterion defining a plurality of classes of nodes in a hierarchy of node classes, the receiving node being part of a plurality of classes of nodes in the hierarchy of node classes corresponding to the plurality of sub-rings, including a current class of nodes selected from among the one or more classes of nodes in the hierarchy of node classes corresponding to a current sub-ring;
an act of determining a next appropriate node that is to receive the message based on the position of the receiving node in the plurality of sub-rings of nodes and the partially ordered list of proximity criterion, the next appropriate node being numerically closer to the destination than other routing nodes in a routing table at the receiving node while still being within the current class of nodes defined by the partially ordered list or proximity criterion, the routing table representing separate routing information for the root ring of nodes and for each of the plurality of sub-rings of nodes, including at least a logarithmic index of other nodes in each ring of nodes, the routing table being populated at least based on the number base utilized to generate the identifier space for generating identifiers in the federation infrastructure, the receiving node having a symmetric relationship with nodes in the receiving node'"'"'s routing table;
an act of sending the message to the next appropriate node; and
an act of sending a previously received status message back to the node that sent the received message to the receiving node, the status message related to the received message.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for rendezvousing resource requests with corresponding resources. Doubly linked sorted lists are traversed using modulo arithmetic in both directions. Sorted lists can be partitioned based on a multiple proximity metrics. Node routing tables provide a logarithmic index to nodes within the ID space of the federation infrastructure to facilitate more efficient routing. Messages can be routed to nodes within a ring and proximally routed to nodes in other partitioned rings.
116 Citations
34 Claims
-
1. In a federation infrastructure, a method for routing a message towards a destination node, the method comprising:
-
an act of a receiving node receiving a message along with a destination identifier indicating a destination and a partially ordered list of proximity criterion, the receiving node being included in a root ring of nodes configured for bi-directional routing as well as a plurality of sub-rings of nodes defined by the proximity criterion, the partially ordered list of proximity criterion defining a plurality of classes of nodes in a hierarchy of node classes, the receiving node being part of a plurality of classes of nodes in the hierarchy of node classes corresponding to the plurality of sub-rings, including a current class of nodes selected from among the one or more classes of nodes in the hierarchy of node classes corresponding to a current sub-ring; an act of determining a next appropriate node that is to receive the message based on the position of the receiving node in the plurality of sub-rings of nodes and the partially ordered list of proximity criterion, the next appropriate node being numerically closer to the destination than other routing nodes in a routing table at the receiving node while still being within the current class of nodes defined by the partially ordered list or proximity criterion, the routing table representing separate routing information for the root ring of nodes and for each of the plurality of sub-rings of nodes, including at least a logarithmic index of other nodes in each ring of nodes, the routing table being populated at least based on the number base utilized to generate the identifier space for generating identifiers in the federation infrastructure, the receiving node having a symmetric relationship with nodes in the receiving node'"'"'s routing table; an act of sending the message to the next appropriate node; and an act of sending a previously received status message back to the node that sent the received message to the receiving node, the status message related to the received message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 33, 34)
-
-
24. At a node in a federation infrastructure including a hierarchy of partitioned node classes, a method for routing a message towards a destination node based on proximity criteria, the method comprising:
-
an act of a receiving a message along with a destination identifier that was sent from another node; an act of accessing a previously defined partially ordered list of proximity criterion, the partially ordered list of proximity criterion defining a plurality of classes of nodes in a hierarchy of node classes, the node being part of a plurality of classes of nodes in the hierarchy of node classes, including a current class of nodes selected from among the one or more classes of nodes in the hierarchy of node classes; an act of identifying an appropriate node from a routing table at the node, the appropriate node being numerically closer to the destination than other routing nodes in the routing table while still being within the current class of nodes defined by the partially ordered list of proximity criterion, the routing table representing separate routing information for a root ring of nodes and for each of a plurality of sub-rings of nodes corresponding to the plurality of classes of nodes, including at least a logarithmic index of other nodes in each ring of nodes corresponding to the plurality of classes of nodes defined by proximity criterion that was populated based on the number base utilized to generate the ID space for the federation infrastructure; an act of sending the message to the next appropriate node; and an act of sending a previously received status message back to the other node, the status message related to the received message. - View Dependent Claims (25)
-
-
26. At a node in a federation infrastructure including a hierarchy of partitioned node classes, a method for routing a message to a sufficient destination node, the method comprising:
-
an act of a receiving a message along with a destination identifier that was sent from another node; an act of accessing a partially ordered list of proximity criterion, the partially ordered list of proximity criterion defining a highest class of nodes within a plurality of classes of nodes in a hierarchy of node classes, the node being part of at least the highest class of nodes and a current class of nodes selected from the plurality of classes of nodes in the hierarchy of node classes, the current class of nodes selected from among the one or more classes of nodes in the hierarchy of node classes; an act of identifying a sufficient destination node for the message from a routing table at the node representing separate routing information for a root ring of nodes and at least two sub-rings of nodes corresponding to the highest class of nodes and the current class of nodes, the sufficient destination node being a member of the highest class of nodes defined by the received partially ordered list of proximity criterion, the sufficient destination node being in the neighborhood of the destination identifier in the highest class of nodes; an act of sending the message to the sufficient destination node; and an act of sending a previously received status message back to the other node, the status message related to the received message. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. A computer program product for use at a node in a federation infrastructure including a hierarchy of partitioned node classes, the computer program product of implement a method for routing a message towards a destination node based on proximity criteria, the computer program product comprising one or more computer storage devices having stored thereon computer-executable instructions that, when executed at a processor, cause the node to perform the method, including the following:
-
receive a message along with a destination identifier that was sent from another node in the federation infrastructure; access a previously defined partially ordered list of proximity criterion, the partially ordered list of proximity criterion defining a plurality of classes of nodes in a hierarchy of node classes, the node being part of a plurality of classes of nodes in the hierarchy of node classes, including a current class of nodes selected from among the plurality of classes of nodes in the hierarchy of node classes; identify an appropriate node from a routing table at the node, the appropriate node being numerically closer to the destination than other routing nodes in the routing table while still being within the current class of nodes defined by the partially ordered list of proximity criterion, the routing table representing separate routing information for a root ring of nodes and for each of a plurality of sub-rings of nodes corresponding to the plurality of classes of nodes, including at least a logarithmic index of other nodes in each ring of nodes corresponding to the plurality of classes of nodes defined by proximity criterion that was populated based on the number base utilized to generate the ID space for the federation infrastructure; an act of sending the message to the next appropriate node; and an act of sending a previously received status message back to the other node, the status message related to the received message.
-
Specification