# US 10,873,497 B2 · Systems and methods for maintaining communication links

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

- Number: US 10,873,497 B2
- Document ID: US10873497B2
- Status: Granted
- Kind: B2
- Application number: 16/731,157
- Filed: 2019-12-31
- Published: 2020-04-30
- Granted: 2020-12-22
- Earliest claimed: 2017-05-11
- Assignees: Verizon Patent and Licensing Inc.
- Applicants: Verizon Patent and Licensing Inc.
- Inventors: Ted Schroeder
- Web page: https://patentgrep.com/patent/US10873497B2

## CPC

- H04L 41/0654: using network fault recovery (ring fault isolation or reconfiguration in loop networks without recovery actions by a network management system H04L12/437)
- G06F 21/31: User authentication
- H04L 63/0281: {Proxies}
- H04L 63/0815: {providing single-sign-on or federations}
- H04L 63/102: {Entity profiles}
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The various embodiments described herein include methods, devices, and systems for maintaining communication links. In one aspect, a computing system includes: (1) a client agent communicatively coupled to a client device, the client agent configured to: (a) facilitate communication between the client device and a remote server via a communication channel including a first portion of the communication channel between the client device and the client agent; and (b) maintain the first portion of the communication channel during a communication outage in a different portion of the communication channel; and (2) a communications server distinct from the client device and the remote server, the communications server configured to: (a) enable communication between the client device and the remote server via the communication channel; and (b) reestablish the communication channel in the event of a communication outage between the client agent and the remote server.

## Claims

### Claim 1

A method, comprising
detecting, by a network device, a communication failure associated with a communication channel between a client device and a server device, the communication failure being in at least one of:
a first portion of the communication channel between the client device and the network device, or
a second portion of the communication channel between the network device and the server device, and
wherein the communication failure is a result of at least one of:
a network going offline,
a server switching to a new network, or
detecting a networking metric does not meet a threshold metric;
receiving, by the network device and from at least one of the client device or the server device, one or more network packets to be sent via the communication channel;
selectively:
providing, by the network device, during the communication failure, and when the one or more network packets are received from the client device, the client device with one or more client acknowledgments that correspond to each of the one or more network packets,
the one or more client acknowledgments providing the client device with no indication of the communication failure, or
providing, by the network device, during the communication failure, and when the one or more network packets are received from the server device, the server device with one or more server acknowledgments that correspond to each of the one or more network packets,
the one or more server acknowledgments providing the server device with no indication of the communication failure;
maintaining, by the network device and during the communication failure, the communication channel; and
reestablishing communications, by the network device and via the communication channel, while maintaining the communication channel.

### Claim 2 (depends on 1)

The method of claim 1, wherein reestablishing the communications comprises:
bypassing at least one of a validation procedure or an authentication procedure when reestablishing the communications.

### Claim 3 (depends on 1)

The method of claim 1, wherein providing the client device with the one or more client acknowledgments comprises:
providing the one or more client acknowledgments to a user agent application operating on the client device.

### Claim 4 (depends on 1)

The method of claim 1, wherein providing the server device with the one or more server acknowledgments comprises:
providing the one or more server acknowledgments to a server agent application associated with the server device.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
storing, in local storage and based on detecting the communication failure, the one or more network packets;
obtaining the one or more network packets from the local storage based on reestablishing the communications; and
providing the one or more network packets via the communication channel.

### Claim 6 (depends on 1)

The method of claim 1, wherein reestablishing the communications comprises:
performing an abbreviated validation process when reestablishing the communications.

### Claim 7 (depends on 1)

The method of claim 1, wherein the communication channel comprises an encrypted communication channel.

### Claim 8

A network device, comprising:
one or more memories; and
one or more processors communicatively coupled to the one or more memories, configured to:
detect a communication failure associated with a communication channel between a client device and a server device, the communication failure being in at least one of:
a first portion of the communication channel between the client device and the network device, or
a second portion of the communication channel between the network device and the server device, and
wherein the communication failure is a result of at least one of:
a network going offline,
a server switching to a new network, or
detect a networking metric does not meet a threshold metric;
receive, from at least one of the client device or the server device, one or more network packets to be sent via the communication channel;
selectively:
provide, during the communication failure and when the one or more network packets are received from the client device, the client device with one or more client acknowledgments that correspond to each of the one or more network packets,
the one or more client acknowledgments providing the client device with no indication of the communication failure, or
provide, during the communication failure and when the one or more network packets are received from the server device, the server device with one or more server acknowledgments that correspond to each of the one or more network packets,
the one or more server acknowledgments providing the server device with no indication of the communication failure;
maintain, during the communication failure, the communication channel; and
reestablish communications, via the communication channel, while maintaining the communication channel.

### Claim 9 (depends on 8)

The network device of claim 8, wherein the one or more processors, when reestablishing the communications, are configured to:
bypass at least one of a validation procedure or an authentication procedure when reestablishing the communications.

### Claim 10 (depends on 8)

The network device of claim 8, wherein the one or more processors, when providing the client device with the one or more client acknowledgments, are configured to:
provide the one or more client acknowledgments to a user agent application operating on the client device.

### Claim 11 (depends on 8)

The network device of claim 8, wherein the one or more processors, when providing the server device with the one or more server acknowledgments, are configured to:
provide the one or more server acknowledgments to a server agent application associated with the server device.

### Claim 12 (depends on 8)

The network device of claim 8, wherein the one or more processors are further configured to:
store, in local storage and based on detecting the communication failure, the one or more network packets;
obtain the one or more network packets from the local storage based on reestablishing the communications; and
provide the one or more network packets via the communication channel.

### Claim 13 (depends on 8)

The network device of claim 8, wherein the one or more processors, when reestablishing the communications, are configured to:
perform an abbreviated validation process when reestablishing the communications.

### Claim 14 (depends on 8)

The network device of claim 8, wherein the communication channel comprises an encrypted communication channel.

### Claim 15

A non-transitory computer-readable medium storing instructions, the instructions comprising:
one or more instructions that, when executed by one or more processors of a network device, cause the one or more processors to:
detect a communication failure associated with a communication channel between a client device and a server device, the communication failure being in at least one of:
a first portion of the communication channel between the client device and the network device, or
a second portion of the communication channel between the network device and the server device, and
wherein the communication failure is a result of at least one of:
a network going offline,
a server switching to a new network, or
detect a networking metric does not meet a threshold metric;
receive, from at least one of the client device or the server device, one or more network packets to be sent via the communication channel;
selectively:
provide, during the communication failure and when the one or more network packets are received from the client device, the client device with one or more client acknowledgments that correspond to each of the one or more network packets,
the one or more client acknowledgments providing the client device with no indication of the communication failure, or
provide, during the communication failure and when the one or more network packets are received from the server device, the server device with one or more server acknowledgments that correspond to each of the one or more network packets,
the one or more server acknowledgments providing the server device with no indication of the communication failure;
maintain, during the communication failure, the communication channel; and
reestablish communications, via the communication channel, while maintaining the communication channel.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the one or more processors to reestablish the communications, cause the one or more processors to:
bypass at least one of a validation procedure or an authentication procedure when reestablishing the communications.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the one or more processors to provide the client device with the one or more client acknowledgments, cause the one or more processors to:
provide the one or more client acknowledgments to a user agent application operating on the client device.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the one or more processors to provide the server device with the one or more server acknowledgments, cause the one or more processors to:
provide the one or more server acknowledgments to a server agent application associated with the server device.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, when executed by the one or more processors, further cause the one or more processors to:
store, in local storage and based on detecting the communication failure, the one or more network packets;
obtain the one or more network packets from the local storage based on reestablishing the communications; and
provide the one or more network packets via the communication channel.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the one or more processors to reestablish the communications, cause the one or more processors to:
perform an abbreviated validation process when reestablishing the communications.
