Stateful load balancing in a stateless network
First Claim
1. A packet routing method for directing packets of a session between an originating node and a destination node in an IP network, the method comprising an intermediate node that includes a processor configured to perform the steps of:
- obtaining a lead packet of a plurality of packets in a given session, the intermediate node having an electronic interface in communication with the IP network, the intermediate node obtaining the lead packet through the electronic interface;
after obtaining the lead packet, assigning a session identifier to the given session, the session identifier being sufficient to enable the intermediate node to identify subsequent packets of the given session;
storing the session identifier in a routing database;
forwarding the lead packet toward the destination node, there being no predetermined path the lead packet will take between the originating node and the destination node;
after the lead packet has been forwarded by the intermediate node and obtained by another node, receiving an identification of the other node;
storing the identification of the other node in the routing database, in association with the session identifier, thereby adding the other node to a respective stateful ordered path of nodes between the source node and the destination node;
receiving a plurality of additional packets;
accessing the routing database to identify, among the plurality of additional packets, subsequent packets that originated at the originating node and are of the given session;
for each identified packet of the given session;
accessing the routing database to determine the other node associated with the given session; and
forwarding the packet toward the destination node, along the stateful ordered path, via the other node.
2 Assignments
0 Petitions
Accused Products
Abstract
A packet routing method for directing packets of a session in an IP network causes an intermediate node to obtain a lead packet of a plurality of packets in a given session. The intermediate node has an electronic interface in communication with the IP network and obtains the lead packet through that same interface. The method maintains, in a routing database, state information relating to a plurality of sessions in the IP network. Each session includes a single stateful session path formed by an ordered plurality of nodes in the IP network, and the state information includes information about the ordered plurality of nodes in the sessions. The method further accesses the routing database to determine the state of a plurality of sessions, and forms a stateful given path for packets of the given session across the IP network as a function of the state information in the routing database.
89 Citations
29 Claims
-
1. A packet routing method for directing packets of a session between an originating node and a destination node in an IP network, the method comprising an intermediate node that includes a processor configured to perform the steps of:
-
obtaining a lead packet of a plurality of packets in a given session, the intermediate node having an electronic interface in communication with the IP network, the intermediate node obtaining the lead packet through the electronic interface; after obtaining the lead packet, assigning a session identifier to the given session, the session identifier being sufficient to enable the intermediate node to identify subsequent packets of the given session; storing the session identifier in a routing database; forwarding the lead packet toward the destination node, there being no predetermined path the lead packet will take between the originating node and the destination node; after the lead packet has been forwarded by the intermediate node and obtained by another node, receiving an identification of the other node; storing the identification of the other node in the routing database, in association with the session identifier, thereby adding the other node to a respective stateful ordered path of nodes between the source node and the destination node; receiving a plurality of additional packets; accessing the routing database to identify, among the plurality of additional packets, subsequent packets that originated at the originating node and are of the given session; for each identified packet of the given session; accessing the routing database to determine the other node associated with the given session; and forwarding the packet toward the destination node, along the stateful ordered path, via the other node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A routing device for directing packets of a session between an originating node and a destination node in an IP network, the router comprising:
-
an electronic interface configured to receive a lead packet of a plurality of packets in a given session, the electronic interface being configured to be connectable to the IP network; a lead packet identifier configured to, after the electronic interface receives the lead packet, assign a session identifier to the given session, the session identifier being sufficient to enable the routing device to identify subsequent packets of the given session; a routing database, the routing database being configured to store information relating to a plurality of sessions in the IP network, the information about each session including a session identifier and an identification of a next node in the stateful ordered path; a packet series manager configured to store the session identifier in the routing database; a router configured to forward the lead packet via the electronic interface toward the destination node, there being no predetermined path the lead packet will take between the originating node and the destination node; a downstream controller identifier configured to, after the lead packet has been forwarded by the router and obtained by another node, receive an identification of the other node and store the identification of the other node in the routing database, in association with the session identifier, thereby adding the other node to a respective stateful ordered path of nodes between the source node and the destination node; and a subsequent packet modifier configured to receive, via the electronic interface, a plurality of additional packets, access the routing database to identify, among the plurality of additional packets, subsequent packets that are of the given session and that originated at the originating node and, for each identified packet of the given session; access the routing database to determine the other node associated with the given session; and forward, using the router, the packet toward the destination node, along the stateful ordered path, via the other node. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A non-transitory computer-readable medium encoded with instructions that, when executed by a processor, establish processes for directing packets of a session between an originating node and a destination node in an IP network, the processes comprising:
-
a process configured to control an electronic interface of a routing device in an intermediate node to obtain a lead packet of a plurality of packets in a given session, the electronic interface being connectible with the IP network; a process in the intermediate node configured to, after obtaining the lead packet, assign a session identifier to the given session, the session identifier being sufficient to enable the intermediate node to identify subsequent packets of the given session; a process in the intermediate node configured to store the session identifier in a routing database; a process in the intermediate node configured to forward the lead packet toward the destination node, there being no predetermined path the lead packet will take between the originating node and the destination node; a process in the intermediate node configured to, after the lead packet has been forwarded by the intermediate node and obtained by another node, receive an identification of the other node; a process in the intermediate node configured to store the identification of the other node in the routing database, in association with the session identifier, thereby adding the other node to a stateful ordered path of nodes between the source node and the destination node; a process in the intermediate node configured to receiving a plurality of additional packets; a process in the intermediate node configured to access the routing database to identify, among the plurality of additional packets, subsequent packets that originated at the originating node and are of the given session; and a process in the intermediate node configured to, for each identified packet of the given session; access the routing database to determine the other node associated with the given session; and forward the packet toward the destination node, along the stateful ordered path, via the other node. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
Specification