# US 2018/0026875 A1 · Multipath Communication in a Network

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

- Number: US 2018/0026875 A1
- Document ID: US20180026875A1
- Status: Published application
- Kind: A1
- Application number: 15/454,825
- Filed: 2017-03-09
- Published: 2018-01-25
- Earliest claimed: 2012-12-19
- Assignees: Comcast Cable Communications, LLC
- Applicants: Comcast Cable Communications, LLC
- Inventors: Ross Gilson
- Web page: https://patentgrep.com/patent/US20180026875A1

## CPC

- H04L 45/24: Multipath
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Ways of sending data over a network over a single path or over multiple parallel paths on an as-needed basis depending upon network conditions, and/or other factors, are described. For example, if a computing device detects sufficient jitter and/or latency at one or more network interfaces, the data may be sent over two or more communication paths using two or more network interfaces.

## Claims

### Claim 1

(canceled)

### Claim 2

A system comprising:
a first computing device comprising:
one or more first processors; and
memory storing instructions that, when executed by the one or more first processors, cause the first computing device to:
determine that first data is to be replicated, wherein determining that the first data is to be replicated is based at least in part on:
a priority of the first data, and
a comparison of a destination of the first data with information comprising a plurality of destinations, wherein the information associates each of the plurality of destinations with an indication of whether data is to be replicated;
replicate, responsive to determining that the first data is to be replicated, the first data to generate second data;
determine a first communication path to the destination of the first data;
determine a second communication path to the destination of the first data, different from the first communication path;
send, via the first communication path and to the destination of the first data, the first data; and
send, via the second communication path and to the destination of the first data, the second data; and
a second computing device comprising:
one or more second processors; and
memory storing instructions that, when executed by the one or more second processors, cause the second computing device to:
receive, via the first communication path, the first data; and
receive, via the second communication path, the second data.

### Claim 3 (depends on 2)

The system of claim 2, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to:
determine a condition of a network; and
determine, based at least in part on the condition of the network, that the first data is to be replicated.

### Claim 4 (depends on 3)

The system of claim 3, wherein the network comprises the first communication path.

### Claim 5 (depends on 2)

The system of claim 2, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to:
determine a condition of the first communication path; and
determine, based at least in part on the condition of the first communication path, that the first data is to be replicated.

### Claim 6 (depends on 2)

The system of claim 2, wherein the first communication path is a wired communication path and the second communication path is a wireless communication path.

### Claim 7 (depends on 2)

The system of claim 2, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to send the first data and send the second data substantially simultaneously.

### Claim 8 (depends on 2)

The system of claim 2, wherein the first data is labeled with a first source identifier, and wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to label the second data with a second source identifier different from the first source identifier.

### Claim 9 (depends on 2)

The system of claim 2, wherein the destination of the first data comprises a network address.

### Claim 10 (depends on 2)

The system of claim 2, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to determine, based at least in part on whether the first data comprises multimedia, that the first data is to be replicated.

### Claim 11 (depends on 2)

The system of claim 2, wherein the first communication path comprises a coaxial cable and the second communication path is a wireless communication path.

### Claim 12 (depends on 2)

The system of claim 2, wherein the instructions stored in the memory of the second computing device, when executed by the one or more second processors, further cause the second computing device to:
record, in a log, an indicator that the first data was received; and
delete the second data in response to determining, based on the log, that the first data was received.

### Claim 13

A system comprising:
a first computing device comprising:
one or more first processors; and
memory storing instructions that, when executed by the one or more first processors, cause the first computing device to:
determine that data is to be replicated, wherein determining that the data is to be replicated is based at least in part on:
a priority of the data, and
a comparison of a destination of the data with information comprising a plurality of destinations, wherein the information associates each of the plurality of destinations with an indication of whether data is to be replicated;
in response to determining that the data is to be replicated, replicate the data to generate replicated data; and
transmit, via a plurality of different communication paths and to a second computing device, the data and the replicated data, wherein the second computing device is one of the plurality of destinations; and
the second computing device, wherein the second computing device comprises:
one or more second processors, and
memory storing instructions that, when executed by the one or more second processors, cause the second computing device to:
receive, via the plurality of different communication paths, the data and the replicated data.

### Claim 14 (depends on 13)

The system of claim 13, wherein the plurality of different communication paths comprises a wired communication path and a wireless communication path.

### Claim 15 (depends on 13)

The system of claim 13, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to transmit the data and the replicated data by transmitting the data and the replicated data substantially simultaneously.

### Claim 16 (depends on 13)

The system of claim 13, wherein the data is labeled with a source identifier, and wherein the instructions stored in memory of the first computing device, when executed by the one or more first processors, cause the first computing device to label the replicated data with one or more source identifiers different from the source identifier of the data.

### Claim 17 (depends on 13)

The system of claim 13, wherein each of the plurality of destinations corresponds to a different network address.

### Claim 18 (depends on 13)

The system of claim 13, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to:
determine a number of times to replicate the data,
wherein the replicating the data to generate replicated data comprises replicating the data the number of times.

### Claim 19 (depends on 18)

The system of claim 18, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, cause the first computing device to determine the number of times to replicate the data by determining, based at least in part on an amount of jitter or an amount of latency, the number of times.

### Claim 20

A system comprising:
a first computing device comprising:
one or more first processors; and
memory storing instructions that, when executed by the one or more first processors, cause the first computing device to:
determine that a first data packet is to be replicated, wherein determining that the first data packet is to be replicated is based at least in part on:
a quality of service designation indicated in the first data packet, and
a comparison of a destination of the first data packet with information comprising a plurality of destinations, wherein the information associates each of the plurality of destinations with an indication of whether data is to be replicated;
replicate, responsive to determining that the first data packet is to be replicated, at least a portion of the first data packet to generate a second data packet;
determine, based on a network address of the first data packet, a first communication path;
determine, based on the network address of the first data packet, a second communication path different from the first communication path;
send, to the network address of the first data packet via the first communication path, the first data packet; and
send, to the network address of the first data packet via the second communication path, the second data packet; and
a second computing device comprising:
one or more second processors; and
memory storing instructions that, when executed by the one or more second processors, cause the second computing device to:
receive, via the first communication path, the first data packet; and
receive, via the second communication path, the second data packet.

### Claim 21 (depends on 20)

The system of claim 20, wherein the instructions stored in the memory of the first computing device, when executed by the one or more first processors, further cause the first computing device to:
determine a condition of a network; and
determine, based at least in part on the condition of the network, that the first data packet is to be replicated.
