# US 10,122,582 B2 · System and method for efficient bandwidth allocation for forked communication sessions

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

- Number: US 10,122,582 B2
- Document ID: US10122582B2
- Status: Granted
- Kind: B2
- Application number: 15/163,472
- Filed: 2016-05-24
- Published: 2017-11-30
- Granted: 2018-11-06
- Earliest claimed: 2016-05-24
- Assignees: Avaya Inc.
- Applicants: Avaya Inc.
- Inventors: Puneet Kumar; Tibor Lukac
- Web page: https://patentgrep.com/patent/US10122582B2

## CPC

- H04L 41/0896: Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76)
- H04L 65/1104: Session initiation protocol [SIP]
- H04L 67/142: Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A request for a communication session is received by a system. For example, a request to establish a voice communication session is received by the system. The system determines whether the request for the communication session is to be forked to a plurality of communication endpoints. If the communication session is to be forked, a highest bandwidth requirement for the forked communication session is determined. The determined highest bandwidth requirement for the forked communication session is based on a highest bandwidth requirement of one or more codecs that are defined in the received request for the communication session. The determined highest bandwidth requirement for the forked communication session is allocated so that the forked communication session can be established.

## Claims

### Claim 1

A system comprising:
a microprocessor; and
a computer readable medium, coupled with the microprocessor and comprising microprocessor readable and executable instructions that program the microprocessor to:
receive a request to establish a communication session;
determine that the request to establish the communication session is to be forked to a plurality of communication endpoints;
in response to determining that the communication session is to be forked to the plurality of communication endpoints, determine a highest bandwidth requirement for the forked communication session, wherein the determined highest bandwidth requirement for the forked communication session is a highest bandwidth requirement of one or more codecs that are defined in the received request to establish the communication session; and
allocate the determined highest bandwidth requirement for the forked communication session.

### Claim 2 (depends on 1)

The system of claim 1, wherein the determined highest bandwidth requirement for the forked communication session is more than a currently available bandwidth for a network, wherein the one or more codecs defined in the received request to establish the communication session comprises a plurality of codecs, and wherein the microprocessor removes one or more of the plurality of codecs from the received request to establish the communication session.

### Claim 3 (depends on 2)

The system of claim 2, wherein the request to establish the communication session is a Session Initiation Protocol (SIP) INVITE message with a Session Description Protocol (SDP) offer, wherein the microprocessor removes the one or more of the plurality of codecs from the SDP offer.

### Claim 4 (depends on 1)

The system of claim 1, wherein the determined highest bandwidth requirement for the forked communication session is more than a currently available bandwidth for a network, wherein the one or more codecs defined in the received request to establish the communication session comprises a plurality of codecs, and wherein the microprocessor adds a maximum bandwidth field to the received request to establish the communication session.

### Claim 5 (depends on 4)

The system of claim 4, wherein the request to establish the communication session is a Session Initiation Protocol (SIP) INVITE message with a Session Description Protocol (SDP) offer and wherein the microprocessor adds the maximum bandwidth field in a SDP b=line field in the SDP offer.

### Claim 6 (depends on 5)

The system of claim 5, wherein the forked communication session is a video communication session, wherein the SDP b=line field is used to limit a frame rate in the forked video communication session.

### Claim 7 (depends on 1)

The system of claim 1, wherein the forked communication session is forked in a plurality of physical communication links and wherein the microprocessor:
identifies a highest bandwidth requirement for each of the plurality of physical communication links based on a highest bandwidth requirement for all the forks of the communication session in an individual physical communication link; and
allocates the highest bandwidth requirement for each of the individual physical communication links.

### Claim 8 (depends on 7)

The system of claim 7, wherein a highest bandwidth requirement for one of the plurality of physical communication links is more than a currently available bandwidth for the one of the plurality of physical communication links, wherein the one or more codecs comprises a plurality of codecs, and wherein the microprocessor removes one or more of the plurality of codecs from the request to establish the communication session for all the forks of the communication in the one of the plurality of physical communication links.

### Claim 9 (depends on 7)

The system of claim 7, wherein a highest bandwidth requirement for one of the plurality of physical communication links is more than a currently available bandwidth for the one of the plurality of physical communication links and wherein the microprocessor adds a maximum bandwidth field to the request to establish the communication session sent in the one of the plurality of physical communication links.

### Claim 10 (depends on 1)

The system of claim 1, wherein determining the highest bandwidth requirement for the forked communication session causes the microprocessor to:
(i) get a codec from the request to establish the communication session;
(ii) determine a bandwidth for the codec;
(iii) compare the bandwidth of the codec to the highest bandwidth requirement;
(iv) copy the bandwidth of the codec to the highest bandwidth requirement if the bandwidth of the codec is higher; and
repeat elements (i), (ii), (iii), and (iv) for the remaining codecs in the request to establish the communication session.

### Claim 11 (depends on 1)

The system of claim 1, wherein the determined highest bandwidth requirement for the forked communication session is determined based on a plurality of codecs that support different medias.

### Claim 12 (depends on 1)

The system of claim 1, wherein the microprocessor readable and executable instructions program the microprocessor to:
determine if a network or link has multiple forks;
in response to the network or link having multiple forks, determining if the highest bandwidth requirement for the forked communication session is more than a stored bandwidth requirement of the network or link; and
in response to determining that the highest bandwidth requirement is more than the stored bandwidth requirement of the network or link, determining a highest bandwidth requirement for the network or link.

### Claim 13

A method comprising:
receiving, by a microprocessor, a request to establish a communication session;
determining, by the microprocessor, that the request to establish the communication session is to be forked to a plurality of communication endpoints;
in response to determining that the communication session is to be forked to the plurality of communication endpoints, determining, by the microprocessor, a highest bandwidth requirement for the forked communication session, wherein the determined highest bandwidth requirement for the forked communication session is a highest bandwidth requirement of one or more codecs that are defined in the received request to establish the communication session; and
allocating, by the microprocessor, the determined highest bandwidth requirement for the forked communication session.

### Claim 14 (depends on 13)

The method of claim 13, wherein the determined highest bandwidth requirement for the forked communication session is more than a currently available bandwidth for a network, wherein the one or more codecs defined in the received request to establish the communication session comprises a plurality of codecs, and wherein the microprocessor removes one or more of the plurality of codecs from the received request to establish the communication session.

### Claim 15 (depends on 13)

The method of claim 13, wherein the determined highest bandwidth requirement for the forked communication session is more than a currently available bandwidth for a network, wherein the one or more codecs defined in the received request to establish the communication session comprises a plurality of codecs, and wherein the microprocessor adds a maximum bandwidth field to the request to establish the communication session.

### Claim 16 (depends on 15)

The method of claim 15, wherein the request to establish the communication session is a Session Initiation Protocol (SIP) INVITE message with a Session Description Protocol (SDP) offer, wherein the microprocessor adds the maximum bandwidth field in a SDP b=line field in the SDP offer.

### Claim 17 (depends on 16)

The method of claim 16, wherein the forked communication session is a video communication session, wherein the SDP b=line field is used to limit a frame rate in the forked video communication session.

### Claim 18 (depends on 13)

The method of claim 13, wherein the forked communication session is forked in a plurality of physical communication links and wherein the microprocessor:
identifies a highest bandwidth requirement for each of the plurality of physical communication links based on a highest bandwidth requirement for all the forks of the communication session in an individual physical communication link; and
allocates the highest bandwidth requirement for each of the individual physical communication links.

### Claim 19 (depends on 18)

The method of claim 18, wherein a highest bandwidth requirement for one of the plurality of physical communication links is more than a currently available bandwidth for the one of the plurality of physical communication links, wherein the one or more codecs comprises a plurality of codecs, and wherein the microprocessor removes one or more of the plurality of codecs from the request to establish the communication session for all the forks of the communication in the one of the plurality of physical communication links.

### Claim 20 (depends on 18)

The method of claim 18, wherein a highest bandwidth requirement for one of the plurality of physical communication links is more than a currently available bandwidth for the one of the plurality of physical communication links and wherein the microprocessor adds a maximum bandwidth field to the request to establish the communication session sent in the one of the plurality of physical communication links.
