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, the receiving node being included in a ring of nodes configured for bi-directional routing;
an act of determining the next appropriate node that is to receive the message based on the position of the receiving node in the ring of nodes, the next appropriate node being numerically closer to the destination than other routing nodes in the receiving node'"'"'s routing table, the routing table representing at least a logarithmic index of other nodes in the 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; and
an act of sending the message to the next appropriate component.
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.
148 Citations
51 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, the receiving node being included in a ring of nodes configured for bi-directional routing;
an act of determining the next appropriate node that is to receive the message based on the position of the receiving node in the ring of nodes, the next appropriate node being numerically closer to the destination than other routing nodes in the receiving node'"'"'s routing table, the routing table representing at least a logarithmic index of other nodes in the 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; and
an act of sending the message to the next appropriate component. - 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, 24, 25, 26, 27, 28)
-
-
29. 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 node receiving a message along with a destination identifier and a proximity criterion, the proximity criterion defining one or more classes of nodes in a hierarchy of node classes, the receiving node being part of a current class 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 an appropriate node from the receiving node'"'"'s routing table, the appropriate node being numerically closer to the destination than other routing nodes in the routing table while still being within the one or more classes of nodes defined by proximity criterion, the routing table representing at least a logarithmic index of other nodes in the one or more 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; and
an act of sending the message to the next appropriate node. - View Dependent Claims (30, 31, 32)
-
-
33. 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 node receiving a message along with a destination identifier and a proximity criterion, the proximity criterion defining a highest class of nodes within one or more classes of nodes in a hierarchy of node classes, the receiving node being part of at least a current class 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, the sufficient destination node being a member of the highest class of nodes defined by the received proximity criterion, the sufficient destination node being in the neighborhood of the destination identifier in the highest class of nodes; and
an act of sending the message to the sufficient destination node. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. A system including a plurality of hierarchically partitioned classes of nodes, the system comprising:
-
an upper ring of nodes, each node in the upper ring of nodes having a node identifier indicating a position in a sorted linked list nodes;
a first lower ring of nodes, each node in the first lower ring of nodes having a node identifier in a first sublist of nodes, the first sublist of nodes partitioned from the sorted linked list such that nodes in the first lower ring are also nodes in the upper ring, the first sublist being partitioned from the sorted linked list in accordance with a proximity criterion indicating how rings of nodes are to be classified, the first ring of nodes configured to allow routed message traffic to bypass at least some nodes included in the linked list when routed within the first ring of nodes; and
a second lower ring of nodes, each node in the second lower ring of nodes having a node identifier in a second different sublist of nodes, the second sublist of nodes partitioned from the sorted linked list such that nodes in the second lower ring are also nodes in the upper ring, the second sublist being partitioned from the sorted linked list in accordance with the proximity criterion such that the first lower ring and the second lower ring are classified equivalently with respect to the upper ring'"'"'s proximity criterion, the second ring of nodes configured to allow routed message traffic to bypass at least some nodes included in the first ring of nodes when routed within the second ring of nodes. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification