Scalability of providing packet flow management
First Claim
1. A gateway in a communication network for communicating with users and for routing incoming packets comprising:
- one or more process instances each of which is configured to (i) cache information relating to sessions the respective process instance is handling, wherein the information is cached in a computer readable medium in the gateway, and (ii) to route incoming packets to destination addresses;
a network processing unit (NPU) having one or more NPU flows, wherein a NPU flow is a module implemented on the NPU configured to route incoming packets relating to a first session to a first process instance from the one or more process instances that corresponds to the first session based on a match between the incoming packets and information cached at the NPU flow, and wherein the NPU is configured to route incoming packets to the demux manager if the incoming packets do not match the information cached at any of the one or more NPU flows; and
a demux manager configured to;
(i) route incoming packets received from the NPU relating to a second session to a second process instance from the one or more process instances that corresponds to the second session based on a match between the incoming packets received from the NPU and information cached at the demux manager,(ii) receive registration requests from an unregistered mobile node, assign the mobile node to a third process instance from the one or more process instances, and cache information related to the unregistered mobile node at the demux manager, wherein the demux manager is configured to perform load balancing by assigning the mobile node based on load information of the one or more process instances, and(iii) dynamically add new process instances depending on the load information of the one or more process instances,wherein the NPU flows reduce load on the demux manager by relieving the demux manager from having to inspect each incoming 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.
-
Citations
20 Claims
-
1. A gateway in a communication network for communicating with users and for routing incoming packets comprising:
-
one or more process instances each of which is configured to (i) cache information relating to sessions the respective process instance is handling, wherein the information is cached in a computer readable medium in the gateway, and (ii) to route incoming packets to destination addresses; a network processing unit (NPU) having one or more NPU flows, wherein a NPU flow is a module implemented on the NPU configured to route incoming packets relating to a first session to a first process instance from the one or more process instances that corresponds to the first session based on a match between the incoming packets and information cached at the NPU flow, and wherein the NPU is configured to route incoming packets to the demux manager if the incoming packets do not match the information cached at any of the one or more NPU flows; and a demux manager configured to; (i) route incoming packets received from the NPU relating to a second session to a second process instance from the one or more process instances that corresponds to the second session based on a match between the incoming packets received from the NPU and information cached at the demux manager, (ii) receive registration requests from an unregistered mobile node, assign the mobile node to a third process instance from the one or more process instances, and cache information related to the unregistered mobile node at the demux manager, wherein the demux manager is configured to perform load balancing by assigning the mobile node based on load information of the one or more process instances, and (iii) dynamically add new process instances depending on the load information of the one or more process instances, wherein the NPU flows reduce load on the demux manager by relieving the demux manager from having to inspect each incoming packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of processing packets comprising:
-
receiving a packet corresponding to a session at a network processing unit (NPU) residing on a gateway; if the packet matches an NPU flow, sending the packet from the NPU to a first process instance corresponding to the session, the first process instance belonging to a set of one or more process instances; if the packet does not match an NPU flow, sending the packet from the NPU to a demux manager; analyzing the packet at the demux manager to determine if the session is a previously established session; if the session is a previously established session, sending the packet from the demux manager to a second process instance corresponding to the session, the second process instance belonging to the set of process instances; if the session is not a previously established session; assigning the packet to a third process instance based on load information of at least some process instances in the set of process instances, the third process instance belonging to the set of process instances, sending the packet from the demux manager to the third process instance, storing contact information relating to the packet in a cache at the demux manager, and setting up a new NPU flow in the NPU with the contact information; and dynamically adding a new process instance to the set of process instances depending on the load information; thereby reducing load on the demux manager by relieving the demux manager from having to analyze each incoming packet. - View Dependent Claims (13, 14, 15, 16)
-
-
17. Logic encoded in one or more non-transitory media for execution and when executed operable to:
-
receive a packet corresponding to a session at a network processing unit (NPU) residing on a gateway; if the packet matches an NPU flow, send the packet from the NPU to a first process instance corresponding to the session, the first process instance belonging to a set of one or more process instances; if the packet does not match an NPU flow, send the packet from the NPU to a demux manager; analyze the packet at the demux manager to determine if the session is a previously established session; if the session is a previously established session, send the packet from the demux manager to a second process instance corresponding to the session, the second process instance belonging to the set of process instances; if the session is not a previously established session; assign the packet to a third process instance based on load information of at least some process instances in the set of process instances, the third process instance belonging to the set of process instances, send the packet from the demux manager to the third process instance, store contact information relating to the packet in a cache at the demux manager, and set up a new NPU flow in the NPU with the contact information; and dynamically add a new process instance to the set of process instances depending on the load information; thereby reducing load on the demux manager by relieving the demux manager from having to analyze each incoming packet. - View Dependent Claims (18, 19, 20)
-
Specification