IP Library Granted Patent US 10,965,738
Granted Patent B2
US 10,965,738 · App. 16/463,481 · Granted Mar 30, 2021

Correlating and load balancing IMS traffic in a visibility network

Inventors: Senthil Kumar Ramakrishnan (Bangalore, IN); Shivaprasad Masanapura Nanjaiah (Bangalore, IN)
Assignee: Extreme Networks, Inc.
H04L67/1002H04L43/12H04L65/1006H04L65/1016
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,965,738
App. No.
16/463,481
Granted
Mar 30, 2021
Kind
B2
Abstract

Techniques for correlating and load balancing IMS traffic in a visibility network are provided. According to one set of embodiments, a packet broker of the visibility network can receive IMS traffic replicated from an IMS core network and identify control/data packets in the IMS traffic that are part of the same IMS session based on FROM and TO user identities included in the packets. The packet broker can then generate a unique session identifier for the IMS session and add the generated session identifier to the packets. In certain embodiments, the packet broker can further provide the generated session identifier as input to a load balancing algorithm or rule set. The load balancing algorithm or rule set can output an egress port of the packet broker through which the control/data packets should be forwarded based on the session identifier.

Claims (61)

1. A method comprising:

receiving, by a packet broker of a visibility network, a first Internet Protocol (IP) Multimedia Subsystem (IMS) packet replicated from an IMS core network;

adding, by the packet broker, a mapping between a public identity and a private identity associated with the first IMS packet to an identity table;

receiving, by the packet broker, a second IMS packet replicated from the IMS core network;

identifying, by the packet broker, that the second IMS packet belongs to a new IMS session, wherein the identifying comprises:

resolving FROM and TO public identities of the second IMS packet into corresponding FROM and TO private identities using the identity table; and

in response to the resolving, determining that a combination of the FROM private identity, the TO private identity, and a call-ID associated with the second IMS packet is unique using a mapping table;

generating, by the packet broker, a unique session identifier for the new IMS session for the second received IMS packet in response to the identifying;

adding, by the packet broker, a combination of the FROM public identity, the TO public identity, the call-ID, and the generated unique session identifier to the mapping table; and

adding, by the packet broker, the generated unique session identifier to the second received IMS packet.

2. The method of claim 1 , further comprising:

upon generating the unique session identifier for the new IMS session, providing the generated unique session identifier as input to a load balancing algorithm or rule set, wherein the load balancing algorithm or rule set is configured to output an egress port of the packet broker through which control packets and data packets are forwarded.

3. The method of claim 2 , wherein the load balancing algorithm or rule set comprises one or more user-defined rules for assigning IMS sessions to particular analytic probes or tools connected to the packet broker.

4. The method of claim 3 , wherein the one or more user-defined rules are based on characteristics of the IMS sessions.

5. The method of claim 1 , further comprising:

determining whether the first IMS packet is an initial registration, a re-registration, or a de-registration.

6. The method of claim 1 , wherein the private identity is extracted from a user name header of the first IMS packet.

7. The method of claim 1 , wherein the public identity is extracted from a response message for the first IMS packet.

8. The method of claim 1 , wherein the identifying further comprises:

determining whether the second IMS packet is an invite message or another type of call message.

9. The method of claim 1 , further comprising:

extracting the FROM public identity, the TO public identity, and the call-ID from the second IMS packet, wherein the extracting the FROM public identify comprises:

in response to a FROM header of the second IMS packet including a valid public identity, extracting the FROM public identity from the FROM header;

in response to the FROM header of the second IMS packet not including a valid public identity and the second IMS packet including a P-Asserted Identity field, extracting the FROM public identity from the P-Asserted Identity field; and

in response to the FROM header of the second IMS packet not including a valid public identity and the second IMS packet not including a P-Asserted Identity field, extracting the FROM public identity from a P-Preferred Identity field.

10. The method of claim 1 , wherein the unique session identifier is added to a subsequent IMS control packet or a subsequent IMS data packet that is determined to be part of the new IMS session based on FROM and TO public identities included in the subsequent IMS control packet or the subsequent IMS data packet.

11. The method of claim 1 , further comprising:

determining, by the packet broker, the first IMS packet is a Session Initiation Protocol (SIP) registration message.

12. A non-transitory computer readable storage medium having stored thereon program code executable by a packet broker in a visibility network, the program code causing the packet broker to:

receive a first Internet Protocol (IP) Multimedia Subsystem (IMS) packet replicated from an IMS core network;

add a mapping between a public identity and a private identity associated with the first IMS packet to an identity table;

receive a second IMS packet replicated from the IMS core network;

identify that the second IMS packet belongs to a new IMS session, wherein to identify the program code further causes the packet broker to:

resolve FROM and TO public identities of the second IMS packet into corresponding FROM and TO private identities using the identity table; and

in response to the resolving, determine that a combination of the FROM private identity, the TO private identity, and a call-ID associated with the second IMS packet is unique using a mapping table;

generate a unique session identifier for the new IMS session for the second received IMS packet in response to the identifying;

add a combination of the FROM public identity, the TO public identity, the call-ID, and the generated unique session identifier to the mapping table; and

add the generated unique session identifier to the second received IMS packet.

13. The non-transitory computer readable storage medium of claim 12 , wherein the program code further causes the packet broker to, upon generating the unique session identifier for the new IMS session:

provide the generated unique session identifier as input to a load balancing algorithm or rule set, wherein the load balancing algorithm or rule set is configured to output an egress port of the packet broker through which control packets and data packets are forwarded.

14. The non-transitory computer readable storage medium of claim 12 , wherein the private identity is extracted from a user name header of the first IMS packet.

15. The non-transitory computer readable storage medium of claim 12 , wherein the public identity is extracted from a response message for the first IMS packet.

16. The non-transitory computer readable storage medium of claim 12 , wherein the program code further causes the packet broker to determine whether the second IMS packet is an invite message or another type of call message.

17. A packet broker comprising:

a processor; and

a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to:

receive a first Internet Protocol (IP) Multimedia Subsystem (IMS) packet replicated from an IMS core network;

add a mapping between a public identity and a private identity associated with the first IMS packet to an identity table;

receive a second IMS packet replicated from the IMS core network;

determine the second IMS packet is a Session Initiation Protocol (SIP) call message;

identify that the second IMS packet belongs to a new IMS session, wherein to identify further causes the processor to:

resolve FROM and TO public identities of the second IMS packet into corresponding FROM and TO private identities using the identity table; and

in response to the resolving, determine that a combination of the FROM private identity, the TO private identity, and a call-ID associated with the second IMS packet is unique using a mapping table;

generate a unique session identifier for the new IMS session for the second received IMS packet in response to the identifying;

add a combination of the FROM public identity, the TO public identity, the call-ID, and the generated unique session identifier to the mapping table; and

add the generated unique session identifier to the second received IMS packet.

18. The packet broker of claim 17 , wherein the program code further causes the processor to, upon generating the unique session identifier for the new IMS session:

provide the generated unique session identifier as input to a load balancing algorithm or rule set, wherein the load balancing algorithm or rule set is configured to output an egress port of the packet broker through which control packets and data packets are forwarded.

19. The packet broker of claim 17 , wherein the private identity is extracted from a user name header of the first IMS packet.

20. The packet broker of claim 17 , wherein the public identity is extracted from a response message for the first IMS packet.

21. The packet broker of claim 17 , wherein the program code further causes the processor to determine whether the second IMS packet is an invite message or another type of call message.

Assignments (3)
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: RAMAKRISHNAN, SENTHIL KUMAR; NANJAIAH, SHIVAPRASAD MASANAPURA
To: EXTREME NETWORKS, INC.
Reel/Frame 052953/0684 →
SECURITY INTEREST Recorded Aug 12, 2019
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 050023/0001 →
Priority Claims (1)
IN 201641040328 · Nov 25, 2016 · national
Continuity (1)
Related Publication 20190364101A1 · Nov 28, 2019