Scalability of providing packet flow management
First Claim
1. A method comprising:
- receiving a plurality of packets at a gateway;
in response to a determination, by a network processing unit (NPU) of the gateway, that a first hash lookup, for a first packet of the plurality of packets, produces a hit in a hash list, forwarding the packet to a first process instance of one or more process instances of the gateway, the first process instance corresponding to the hit in the hash list, wherein the first process instance is to store call state data including information about the states of sessions handled by the first process instance;
in response to a determination, by the NPU of the gateway, that a second hash lookup, for a second packet of the plurality of packets, does not produce a hit in the hash list, forwarding the second packet to a demux manager of the gateway;
in response to a determination, by the demux manager, that a third hash lookup, for the second packet, does not produce a hit in a second hash list, determining to add a second process instance to handle a new packet flow associated with the second packet, the determination based at least on load information of the first process instance, wherein the second process instance is configured to store call state data including information about the states of sessions handled by the second process instance;
routing, by the first process instance, the first packet towards a destination address of the first packet; and
routing, by the second process instance, the second packet towards a destination address of the second packet.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for managing packet flows in a communication network are provided. Packet information can be cached on different levels and used to avoid external queries. The cache information can also be correlated with other types of information, such as location information, to be able to serve that information quicker than if one or more external queries were to be made. A demux manager can provide routing and session setup, by routing packets that already have a session to the session manager and assigning packets to a session manager if they are not already assigned to a session. The tiered architecture also provides scalability to many users and minimizes delays even during high call volumes because the load can be distributed well across the gateway'"'"'s resources.
150 Citations
17 Claims
-
1. A method comprising:
-
receiving a plurality of packets at a gateway; in response to a determination, by a network processing unit (NPU) of the gateway, that a first hash lookup, for a first packet of the plurality of packets, produces a hit in a hash list, forwarding the packet to a first process instance of one or more process instances of the gateway, the first process instance corresponding to the hit in the hash list, wherein the first process instance is to store call state data including information about the states of sessions handled by the first process instance; in response to a determination, by the NPU of the gateway, that a second hash lookup, for a second packet of the plurality of packets, does not produce a hit in the hash list, forwarding the second packet to a demux manager of the gateway; in response to a determination, by the demux manager, that a third hash lookup, for the second packet, does not produce a hit in a second hash list, determining to add a second process instance to handle a new packet flow associated with the second packet, the determination based at least on load information of the first process instance, wherein the second process instance is configured to store call state data including information about the states of sessions handled by the second process instance; routing, by the first process instance, the first packet towards a destination address of the first packet; and routing, by the second process instance, the second packet towards a destination address of the second packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. At least one non-transitory media comprising logic that when executed is operable to:
-
receive a plurality of packets at a gateway; in response to a determination, by a network processing unit (NPU) of the gateway, that a first hash lookup, for a first packet of the plurality of packets, produces a hit in a hash list, forward the packet to a first process instance of one or more process instances of the gateway, the first process instance corresponding to the hit in the hash list, wherein the first process instance is to store call state data including information about the states of sessions handled by the first process instance; in response to a determination, by the NPU of the gateway, that a second hash lookup, for a second packet of the plurality of packets, does not produce a hit in the hash list, forward the second packet to a demux manager of the gateway; in response to a determination, by the demux manager, that a third hash lookup, for the second packet, does not produce a hit in a second hash list, determine to add a second process instance to handle a new packet flow associated with the second packet, the determination based at least on load information of the first process instance, wherein the second process instance is configured to store call state data including information about the state of sessions handled by the second process instance; route, by the first process instance, the first packet towards a destination address of the first packet; and route, by the second process instance, the second packet towards a destination address of the second packet. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A gateway comprising:
-
at least one interface; and at least one network processing unit (NPU) configured to; receive a plurality of packets from the at least one interface; in response to determining that a first hash lookup, for a first packet of the plurality of packets, produces a hit in a hash list, forward the packet to a first process instance of one or more process instances of the gateway, the first process instance corresponding to the hit in the hash list, wherein the first process instance is configured to store call state data including information about the states of sessions handled by the first process instance; in response to determining that a second hash lookup, for a second packet of the plurality of packets, does not produce a hit in the hash list, forward the second packet to a demux manager; wherein the demux manager is configured to, upon determining that a third hash lookup, for the second packet, does not produce a hit in a second hash list, determine to add a second process instance to handle a new packet flow associated with the second packet, the determination based at least on load information of the first process instance, wherein the second process instance is configured to store call state data including information about the states of sessions handled by the second process instance; wherein the first process instance is configured to route the first packet towards a destination address of the first packet; and wherein the second process instance is configured to route the second packet towards a destination address of the second packet.
-
Specification