# US 11,445,422 B2 · Adaptable network communications

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

- Number: US 11,445,422 B2
- Document ID: US11445422B2
- Status: Granted
- Kind: B2
- Application number: 16/218,756
- Filed: 2018-12-13
- Published: 2020-06-18
- Granted: 2022-09-13
- Earliest claimed: 2018-12-13
- Assignees: AT&T Intellectual Property I, L.P.; AT&T Global Network Services France SAS; AT&T Intellectual Property II, L.P.
- Applicants: AT&T Intellectual Property I, L.P.; AT&T Global Network Services France, SAS; AT&T Intellectual Property II, L.P.
- Inventors: Miguel R. Martinez-Heath; Aurélien Bruno; Scott Sayers; Keylor Eng
- Web page: https://patentgrep.com/patent/US11445422B2

## CPC

- H04W 36/26: by agreed or negotiated communication parameters
- H04L 43/04: Processing captured monitoring data, e.g. for logfile generation
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 45/302: Route determination based on requested QoS
- H04L 45/70: {Routing based on monitoring results}
- H04L 47/24: Traffic characterised by specific attributes, e.g. priority or QoS
- H04M 1/725: Cordless telephones (user interfaces specially adapted therefor H04M1/724)
- H04W 28/0268: {using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR] (negotiating SLA or negotiating QoS H04W28/24)}
- H04W 36/30: by measured or perceived connection quality data
- H04W 40/12: based on transmission quality or channel quality
- H04M 1/72454: according to context-related or environment-related conditions
- H04W 76/22: Manipulation of transport tunnels
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

In one example, a method includes monitoring conditions in a telecommunication service provider network, selecting a first path by which to connect a communication session between a first endpoint and a second endpoint, wherein the first path is a path through the network that is expected to satisfy a predefined level of performance for the communication session based on the conditions, connecting the first endpoint and the second endpoint via the first path, detecting a change in the conditions that results in the first path failing to satisfy the predefined level of performance, selecting a second path by which to connect the communication session, wherein the second path is a path through the network that is expected to satisfy the predefined level of performance for the communication session based on the conditions as changed, and initiating a handoff of the communication session from the first path to the second path.

## Claims

### Claim 1

A method comprising:
obtaining, by a processor of a first user endpoint device, conditions in a telecommunication service provider network from a server of the telecommunication service provider network via an over-the-top web real-time communication application of the first user endpoint device operating in a background of the first user endpoint device on an ongoing basis, wherein the conditions comprise at least one of: latency, bandwidth, throughput, or jitter;
selecting, by the processor, a first path by which to connect a communication session between the first user endpoint device and a second user endpoint device, wherein the first path is a path through the telecommunication service provider network that is expected to satisfy a predefined level of performance for the communication session based on the conditions, wherein the communication session comprises a web real-time communication session;
connecting, by the processor, the communication session between the first user endpoint device and the second user endpoint device via the first path;
detecting, by the processor, a change in the conditions that results in the first path failing to satisfy the predefined level of performance, wherein the detecting of the change in conditions comprises obtaining the change in the conditions from the server of the telecommunication service provider network via the over-the-top web real-time communication application of the first user endpoint device;
selecting, by the processor, a second path by which to connect the communication session, wherein the second path is a path through the telecommunication service provider network that is expected to satisfy the predefined level of performance for the communication session based on the conditions as changed, wherein the first path is established via a first type of network communication technology, and wherein the second path is established via a second type of network communication technology that is different from the first type of network communication technology; and
initiating, by the processor, a handoff of the communication session from the first path to the second path.

### Claim 2 (depends on 1)

The method of claim 1, wherein the server computes the conditions based on raw data from network elements of the telecommunication service provider network.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
detecting, by the processor, an initiation of the communication session by a user of the first user endpoint device; and
identifying, by the processor, a modality of the communication session.

### Claim 4 (depends on 3)

The method of claim 3, wherein the modality comprises a voice call.

### Claim 5 (depends on 3)

The method of claim 3, wherein the modality comprises a video call.

### Claim 6 (depends on 3)

The method of claim 3, wherein the modality comprises a text message.

### Claim 7 (depends on 3)

The method of claim 3, wherein the predefined level of performance varies depending on the modality.

### Claim 8 (depends on 3)

The method of claim 3, wherein the initiation of the communication session is detected through a launch of an application for establishing the communication session on the first user endpoint device.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
detecting, by the processor, an initiation of the communication session by a user of the second user endpoint device; and
identifying, by the processor, a modality of the communication session.

### Claim 10 (depends on 1)

The method of claim 1, wherein the selecting the first path comprises:
ranking, by the processor, a plurality of potential paths comprising at least the first path and the second path, wherein each path of the plurality of potential paths is ranked according to an expected performance of the each path under the conditions; and
selecting, by the processor, the first path as a path of the plurality of potential paths whose expected performance is best.

### Claim 11 (depends on 1)

The method of claim 1, wherein the selecting the first path comprises:
ranking, by the processor, a plurality of potential paths comprising at least the first path and the second path, wherein each path of the plurality of potential paths is ranked according to an expected performance of the each path under the conditions;
presenting, by the processor, a number of paths from the plurality of potential paths whose expected performance is best to a user of the first user endpoint device; and
receiving, by the processor, a selection of the first path of the number of paths from the user of the first user endpoint device.

### Claim 12 (depends on 1)

The method of claim 1, wherein the handoff is initiated in a manner that is transparent to a user of the first user endpoint device and a user of the second user endpoint device.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
saving, by the processor, information about the communication session, after the communication session is terminated.

### Claim 14 (depends on 13)

The method of claim 13, wherein the information comprises a modality of the communication session.

### Claim 15 (depends on 13)

The method of claim 13, wherein the information comprises respective performances of the first path and the second path.

### Claim 16 (depends on 13)

The method of claim 13, wherein the information is used to select a path for a future communication session.

### Claim 17 (depends on 1)

The method of claim 1, wherein the first user endpoint device is a mobile phone.

### Claim 18

A non-transitory computer-readable medium storing instructions which, when executed by a processor of a first user endpoint device, cause the processor to perform operations, the operations comprising:
obtaining conditions in a telecommunication service provider network from a server of the telecommunication service provider network via an over-the-top web real-time communication application of the first user endpoint device operating in a background of the first user endpoint device on an ongoing basis, wherein the conditions comprise at least one of: latency, bandwidth, throughput, or jitter;
selecting a first path by which to connect a communication session between the first user endpoint device and a second user endpoint device, wherein the first path is a path through the telecommunication service provider network that is expected to satisfy a predefined level of performance for the communication session based on the conditions, wherein the communication session comprises a web real-time communication session;
connecting the communication session between the first user endpoint device and the second user endpoint device via the first path;
detecting a change in the conditions that results in the first path failing to satisfy the predefined level of performance, wherein the detecting of the change in conditions comprises obtaining the change in the conditions from the server of the telecommunication service provider network via the over-the-top web real-time communication application of the first user endpoint device;
selecting a second path by which to connect the communication session, wherein the second path is a path through the telecommunication service provider network that is expected to satisfy the predefined level of performance for the communication session based on the conditions as changed, wherein the first path is established via a first type of network communication technology, and wherein the second path is established via a second type of network communication technology that is different from the first type of network communication technology; and
initiating a handoff of the communication session from the first path to the second path.

### Claim 19

A first user endpoint device comprising:
a processor; and
a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:
obtaining conditions in a telecommunication service provider network from a server of the telecommunication service provider network via an over-the-top web real-time communication application of the first user endpoint device operating in a background of the first user endpoint device on an ongoing basis, wherein the conditions comprise at least one of: latency, bandwidth, throughput, or jitter;
selecting a first path by which to connect a communication session between the first user endpoint device and a second user endpoint device, wherein the first path is a path through the telecommunication service provider network that is expected to satisfy a predefined level of performance for the communication session based on the conditions, wherein the communication session comprises a web real-time communication session;
connecting the communication session between the first user endpoint device and the second user endpoint device via the first path;
detecting a change in the conditions that results in the first path failing to satisfy the predefined level of performance, wherein the detecting of the change in conditions comprises obtaining the change in the conditions from the server of the telecommunication service provider network via the over-the-top web real-time communication application of the first user endpoint device;
selecting a second path by which to connect the communication session, wherein the second path is a path through the telecommunication service provider network that is expected to satisfy the predefined level of performance for the communication session based on the conditions as changed, wherein the first path is established via a first type of network communication technology, and wherein the second path is established via a second type of network communication technology that is different from the first type of network communication technology; and
initiating a handoff of the communication session from the first path to the second path.

### Claim 20 (depends on 19)

The first user endpoint device of claim 19, the operations further comprising:
detecting an initiation of the communication session by a user of the first user endpoint device; and
identifying a modality of the communication session.
