Nova Patents
EP3198822B1

Computer network packet flow controller

Abstract

This record has no abstract on file.

EP3198822B1, drawing sheet 1
Sheet 1 of 12

Term

8.9 yearsleft in the term

Expires 12 August 2035.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

20 claims: 20 independent, 0 dependent

  1. 1
    A packet routing method for directing packets (214) of a session from an originating node toward a destination node in an IP network, the packets (214) of the session including a lead packet and a plurality of subsequent packets originating at the originating node, the packets (214) of the session having a unique session identifier, the method comprising:an intermediate augmented IP router, AIPR obtaining the lead packet of the session, said AIPR being able to identify and modify said packets of the session;modifying the lead packet to include an intermediate AIPR IP address and an intermediate AIPR port number associated with the session;forwarding the modified lead packet toward the destination node through an intermediate AIPR electronic output interface to the IP network, the electronic output interface being in communication with the IP network;receiving, through an electronic input interface of the intermediate AIPR, a backward message from a next AIPR, the next AIPR having a next AIPR IP address, the backward message including the next AIPR IP address, a next AIPR port number associated with the session, and the session identifier, the electronic input interface being in communication with the IP network;forming an association between the next AIPR IP address, the next AIPR port number, and the session identifier;storing, in memory, the association to maintain state information for the session;obtaining the subsequent packets (214) of the session;modifying the subsequent packets (214) using the stored association by modifying a destination address of the subsequent packets (214) to be the next AIPR IP address and modifying a destination port of the subsequent packets (214) to be the next AIPR port number;and forwarding, through the electronic output interface of the intermediate AIPR, the modified subsequent packets toward the next AIPR such that the modified subsequent packets (214) of the session traverse the next AIPR as a waypoint on their way to the destination node.
  2. 2
    The packet routing method as defined by claim 1 wherein forwarding the modified lead packet toward the destination node comprises accessing a routing information based having routing information and forwarding the modified lead packet based on the routing information.
  3. 3
    The packet routing method as defined by claim 2 wherein the routing information identifies the next AIPR including the next AIPR IP address, and wherein forwarding the modified lead packet toward the destination node comprises forwarding the modified lead packet toward the next AIPR using the next AIPR IP address.
  4. 4
    The packet routing method as defined by claim 1 further comprising:determining a prior AIPR (1104) through which the lead packet traversed, the prior AIPR having a prior AIPR IP address;forming a return association (1106) between the prior AIPR IP address and the session identifier;and storing (1108), in the memory, the return association to maintain state information for the session.
  5. 5
    The packet routing method as defined by claim 4 further comprising:receiving a plurality of packets (214) in a return session (1124) from the destination node, the return session (1126) being addressed toward the originating node;and forwarding, through the electronic output interface, the plurality of packets in the return session (1126) toward the prior AIPR using the stored return association.
  6. 6
    The packet routing method as defined by claim 1 wherein the intermediate AIPR has a routing table (1202), and wherein forwarding the modified lead packet (1112) toward the destination node comprises using the routing table (1202) to forward the modified lead packet (1112) toward the destination node.
  7. 7
    The packet routing method as defined by claim 1 wherein the modified lead packet is addressed so that a plurality of network devices receive the modified lead packet after it is forwarded and before the next AIPR receives the lead packet.
  8. 8
    An intermediate augmented IP router, AIPR, for directing packets (214) of a session from an originating node toward a destination node in an IP network, said AIPR being able to identify and modify said packets of the session, the packets of the session including a lead packet and a plurality of subsequent packets originating at the originating node, the packets (214) of the session having a unique session identifier, the intermediate routing device comprising:an electronic input interface for receiving IP packets (214) from the IP network;an electronic output interface for forwarding IP packets (214) on the IP network;state memory for storing session state information;a lead packet identifier (806) operatively coupled with the electronic input interface, the lead packet identifier (806) configured to identify a lead packet of a plurality of packets (214) in a session;a lead packet modifier (812, 818) operatively coupled with the lead packet identifier (806), the lead packet modifier (812, 818) being configured to modify the lead packet to include an intermediate AIPR IP address and an intermediate AIPR port number (940, 942) associated with the session;a packet router (814) operatively coupled with the electronic output interface, the router being configured to forward the modified lead packet toward the destination node through the electronic output interface;an downstream controller (816) operatively coupled with the electronic input interface, the downstream controller (816) being configured to: a) receive a backward message from a next AIPR having a next AIPR IP address, the backward message including the next AIPR IP address, a next AIPR port number associated with the session, and the session identifier, b) form an association between the next AIPR IP address, the next AIPR port number, and the session identifier, and c) store in the state memory the association to maintain state information for the session;and a subsequent packet modifier configured to modify the subsequent packets using the stored association by modifying a destination address of the subsequent packets to be the next AIPR IP address and modifying a destination port of the subsequent packets to be the next AIPR port number, the packet router also being configured to forward, through the electronic output interface, the modified subsequent packets toward the next AIPR such that the modified subsequent packets of the session traverse the next AIPR as a waypoint on their way to the destination node.
  9. 9
    The intermediate AIPR as defined by claim 8 wherein the packet router (814) is configured to access a routing information base having routing information and forward the modified lead packet based on the routing information.
  10. 10
    The intermediate AIPR as defined by claim 9 wherein the routing information identifies the next AIPR including the next AIPR IP address, and wherein the packet router is configured to forward the modified lead packet toward the next AIPR using the next AIPR IP address.
  11. 11
    The intermediate AIPR as defined by claim 8 wherein the downstream controller (816) is further configured to 1) determine a prior AIPR (1104) through which the lead packet traversed, the prior AIPR having a prior AIPR IP address, 2) form a return association between the prior AIPR IP address and the session identifier, and 3) store the return association in the state memory to maintain state information for the session.
  12. 12
    The intermediate AIPR as defined by claim 11 wherein the packet router (814) is configured to forward, through the electronic output interface, packets in a return session toward the prior AIPR using the stored return association, the packets in the return session being received from the destination node and addressed toward the originating node.
  13. 13
    The intermediate AIPR as defined by claim 8 further comprising a routing table, the packet router (814) being configured to forward the lead packet toward the destination node using the routing table.
  14. 14
    A computer program product for use on a computer system for directing packets (214) of a session from an originating node toward a destination node in an IP network, the packets (214) of the session including a lead packet and a plurality of subsequent packets originating at the originating node, the packets of the session having a unique session identifier, the computer program product comprising a tangible, non-transient computer usable medium having computer readable program code thereon, the computer readable program code comprising:program code for causing an intermediate augmented IP router, AIPR, able to identify and modify said packet of the session, to obtain the lead packet of the session;program code for modifying the lead packet to include an intermediate AIPR IP address and an intermediate AIPR port number associated with the session;program code for forwarding the modified lead packet (1000) toward the destination node through an intermediate AIPR electronic output interface to the IP network, the electronic output interface being in communication with the IP network;program code for receiving, through an electronic input interface of the intermediate AIPR, a backward message from a next AIPR, the next AIPR having a next AIPR IP address, the backward message including the next AIPR IP address, a next AIPR port number associated with the session, and the session identifier, the electronic input interface being in communication with the IP network;program code for forming an association between the next AIPR IP address, the next AIPR port number, and the session identifier;program code for storing, in memory, the association to maintain state information for the session;program code for obtaining the subsequent packets of the session;program code for modifying the subsequent packets using the stored association by modifying a destination address of the subsequent packets to be the next AIPR IP address and modifying a destination port of the subsequent packets to be the next AIPR port number;and program code for forwarding, through the electronic output interface of the intermediate AIPR, the modified subsequent packets of the session toward the next AIPR such that the modified subsequent packets of the session traverse the next AIPR as a waypoint on their way to the destination node.
  15. 15
    The computer program product as defined by claim 14 wherein the program code for forwarding the modified lead packet toward the destination node comprises program code for accessing a routing information base having routing information and forwarding the modified lead packet based on the routing information.
  16. 16
    The computer program product as defined by claim 15 wherein the routing information identifies the next AIPR including the next AIPR IP address, and wherein the program code for forwarding the modified lead packet toward the destination node comprises program code for forwarding the modified lead packet toward the next AIPR using the next AIPR IP address.
  17. 17
    The computer program product as defined by claim 14 further comprising:program code for determining a prior AIPR through which the lead packet traversed, the prior AIPR having a prior AIPR IP address;program code for forming a return association between the prior AIPR IP address and the session identifier;and program code for storing, in the memory, the return association to maintain state information for the session.
  18. 18
    The computer program product as defined by claim 17 further comprising:program code for receiving a plurality of packets in a return session from the destination node, the return session being addressed toward the originating node;and program code for forwarding, through the electronic output interface, the plurality of packets (214) in the return session toward the prior AIPR using the stored return association.
  19. 19
    The computer program product as defined by claim 14 wherein the intermediate AIPR has a routing table, and wherein the program code for forwarding the modified lead packet toward the destination node comprises program code for using the routing table to forward the modified lead packet toward the destination node.
  20. 20
    The computer program product as defined by claim 14 wherein the modified lead packet is addressed so that a plurality of network devices receive the modified lead packet after it is forwarded toward the next AIPR and before the next AIPR receives the lead packet.
Independent claims20