Characteristic routing
First Claim
1. A method for routing a packet from over a network including multiple nodes, said method comprising steps of:
- receiving a packet from a sender node over said network, wherein said packet is intended for at least one destination node having a plurality of defined characteristics, said plurality of defined characteristics being determinable by said sender node, and wherein said packet includes information on said plurality of defined characteristics;
said receiving step occurring at said at least one destination node having said plurality of defined characteristics;
wherein said plurality of defined characteristics is a subset of or a total set of multiple, arbitrary characteristics describing aspects of said multiple nodes in said network;
discovering a topology of said network based on said total set of multiple arbitrary characteristics, wherein said network couples said sender node, said at least one destination node, and at least one routing node, and wherein said discovering step is performed proactively before said packet is sent from said sender node and before said packet is received at said at least one destination node;
forwarding to said sender node a routing table including entries based on said particular characteristics of each node in network portions, wherein said routing table is not configured at each routing node; and
sending a copy of said packet based on said entries in said routing table.
4 Assignments
0 Petitions
Accused Products
Abstract
A routing protocol, called characteristic routing, which allows data to be transported multi-hop through an internetwork from a sender to a set of receiver nodes using a description of the receiver nodes in the form of multiple arbitrary identifying descriptive names (called characteristics). Host nodes can have multiple dynamic characteristics. Characteristic routing is optimized to make the multiple-name case operate in a fast manner. In particular, characteristic routing creates an efficient routing table index using bit vectors and compression techniques. Using characteristic routing, the sender can choose whether the receiver nodes need to exactly match the characteristic routing address or certain characteristics in the routing address, or whether the receiver nodes can be simply “similar” to the characteristic routing address, or whether the receiver nodes have desired ranges of characteristics.
-
Citations
48 Claims
-
1. A method for routing a packet from over a network including multiple nodes, said method comprising steps of:
-
receiving a packet from a sender node over said network, wherein said packet is intended for at least one destination node having a plurality of defined characteristics, said plurality of defined characteristics being determinable by said sender node, and wherein said packet includes information on said plurality of defined characteristics;
said receiving step occurring at said at least one destination node having said plurality of defined characteristics;
wherein said plurality of defined characteristics is a subset of or a total set of multiple, arbitrary characteristics describing aspects of said multiple nodes in said network;
discovering a topology of said network based on said total set of multiple arbitrary characteristics, wherein said network couples said sender node, said at least one destination node, and at least one routing node, and wherein said discovering step is performed proactively before said packet is sent from said sender node and before said packet is received at said at least one destination node;
forwarding to said sender node a routing table including entries based on said particular characteristics of each node in network portions, wherein said routing table is not configured at each routing node; and
sending a copy of said packet based on said entries in said routing table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 45)
-
-
9. A method for routing a packet over a network including multiple nodes, said method comprising steps of:
-
sending a packet from a sender node over said network, wherein said packet is intended for at least one destination node having a plurality of defined characteristics, said plurality of defined characteristics being determinable by said sender node, and wherein said packet includes information on said plurality of defined characteristics, wherein said plurality of defined characteristics is a subset of or a total set of multiple, arbitrary characteristics describing aspects of said multiple nodes in said network;
discovering a topology of said network based on said total set of multiple arbitrary characteristics, wherein said network couples said sender node, said at least one destination node, and at least one routing node, and wherein said discovering step is performed reactively after said packet is sent from said sender node and said packet is received at the first of said routing nodes;
configuring a routing table in soft state at each routing node of said topology of network portions intermediate respective to said first of said routing nodes, said routing table including entries based on said particular characteristics of each node in said network portions; and
sending a copy of said packet based on said entries in said routing table to said at least one destination node having said plurality of defined characteristics. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 44, 46, 47)
-
-
24. A method for efficient hierarchical routing in a low bandwidth network or in an unreliable network, said method comprising steps of:
-
representing a set of characteristics for a characteristic destination as a bit vector;
approximating the set of characteristics to provide a limit on an overall size of the bit vector representing the set of characteristics, said approximating step comprising utilizing a compression technique comprising Bloom filters; and
transmitting over the network a message utilizing the approximated set of characteristics. - View Dependent Claims (25, 26, 27, 28, 48)
-
-
29. A method of automatically configuring a characteristic network into a hierarchical organization, said characteristic network including a plurality of characteristic routers and a plurality of nodes, said method comprising the steps of:
-
discovering a topology of said characteristic network using a routing algorithm at each characteristic router, said routing algorithm including choosing a plurality of non-overlapping groups of characteristic routers that are connected and contiguous such that each characteristic router in said characteristic network belongs to exactly one group;
determining membership of particular characteristic routers in particular non-overlapping groups by inspecting relationships between said characteristic routers; and
regulating a size of each of said plurality of non-overlapping groups as individual characteristic routers either join or leave said characteristic network. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification