# US 10,771,377 B2 · System and method for real-time load balancing of network packets

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,377 B2
- Document ID: US10771377B2
- Status: Granted
- Kind: B2
- Application number: 15/849,965
- Filed: 2017-12-21
- Published: 2018-04-26
- Granted: 2020-09-08
- Earliest claimed: 2012-10-09
- Assignees: NetScout Systems, Inc.
- Applicants: NetScout Systems, Inc.
- Inventors: Bruce A. Kelley, Jr.
- Web page: https://patentgrep.com/patent/US10771377B2

## CPC

- H04L 45/24: Multipath
- H04W 28/088: among core entities
- H04L 61/2528: {Translation at a proxy}
- H04W 24/00: Supervisory, monitoring or testing arrangements
- H04W 24/08: Testing, {supervising or monitoring} using real traffic
- H04W 76/12: Setup of transport tunnels
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Internet protocol packets are statelessly identified as associated with a particular session-instance by identifying a key, or session-instance identifier, within the data (or payload) portion of a user plane packet. This identifier is specific to the session-instance and remains constant throughout the session-instance. Using this stateless identification, transmitted user plane packets are automatically routed at the transmission speed of the transmission link using a method that automatically balances the analysis processing load between network probes. The load is balanced by routing the user plane packet to a network probe that is either already analyzing the session-instance or by routing the user plane packet to a system that has processing capacity to analyze a new session-instance. The network probe then analyzes the user plane packet and the session-instance to measure the quality of the user experience of the session-instance and performance of the network.

## Claims

### Claim 1

A method for routing data packets at a packet flow switch, comprising:
determine if packets received from a monitored network is one of a control packet or one of a user plane packet utilizing a plurality of network probes each configured and operative to generate an ASI data set including key performance indicators and Adaptive Session Records;
responsive to determining the received packet is a control plane packet, causing the control plane packet to be distributed to each of the plurality of network probes;
responsive to identifying that a user plane packet is associated with a new session-instance not already monitored by a network probe, assigning the user plane packet to one of the plurality of network probes and updating a session-instance database to include an identified packet session-instance if determined a new session-instance, the assigning comprising:
selecting one of the network probes;
saving an identifier of the selected network probe and associating a packet session-instance identifier with the saved identifier of the selected network probe; and
sending the user plane packet to the selected network probe; and
purging a control packet from each of the probes it is distributed to contingent upon prescribed criteria; and
purging a packet session-instance from the session-instance database when a control plane packet associated with the packet session-instance is purged from each of the probes.

### Claim 2 (depends on 1)

The method of claim 1, wherein selecting one of the at least two network probes to receive the packet comprises using a round robin method.

### Claim 3 (depends on 1)

The method of claim 1, further comprising identifying a protocol of the user plane packet.

### Claim 4 (depends on 3)

The method of claim 3, wherein identifying the protocol of the user plane packet comprises determining that the payload of the packet includes at least one protocol identifying pattern.

### Claim 5 (depends on 1)

The method of claim 1, wherein associating the packet session-instance identifier comprises identifying the session-instance identifier of the received user plane packet using a value in a payload portion of the packet at a fixed number of bits from a first end of a header portion of the packet.

### Claim 6 (depends on 5)

The method of claim 5, wherein the value in the payload portion is a GTP field of the user plane packet.

### Claim 7 (depends on 1)

The method of claim 1, wherein associating the packet session-instance identifier comprises identifying the session-instance identifier of the received packet using a value in a payload portion at a variable number of bits from a first end of a header portion of the packet.

### Claim 8 (depends on 1)

The method of claim 1, wherein associating the packet session-instance identifier comprises identifying the session-instance identifier of the received user plane packet by determining a predetermined pattern of bits within a data portion of the user plane packet that specifically identifies a session-instance.
