# US 8,787,157 B2 · Multi-streaming multi-homing delay tolerant network protocol

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

- Number: US 8,787,157 B2
- Document ID: US8787157B2
- Status: Granted
- Kind: B2
- Application number: 13/167,111
- Filed: 2011-06-23
- Published: 2012-12-27
- Granted: 2014-07-22
- Earliest claimed: 2011-06-23
- Assignees: Honeywell International Inc.
- Applicants: Ronald Rundquist; Pablo Bandera; Yunjung Yi; Haowei Bai
- Inventors: Ronald Rundquist; Pablo Bandera; Yunjung Yi; Haowei Bai
- Web page: https://patentgrep.com/patent/US8787157B2

## CPC

- H04B 7/18582: {Arrangements for data linking, i.e. for data framing, for error recovery, for multiple access}
- H04L 47/10: Flow control; Congestion control
- H04L 49/90: Buffering arrangements
- H04J 3/1682: {Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers}
- H04W 72/569: {of the traffic information}
- H04B: TRANSMISSION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04J: MULTIPLEX COMMUNICATION (transmission in general H04B; peculiar to transmission of digital information H04L5/00; systems for the simultaneous or sequential transmission of more than one television signal H04N7/08; in exchanges H04Q11/00; stereophonic systems H04S)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

One exemplary embodiment is directed to a method for deep space communication. The method comprises generating a first packet, assigning a first priority level to the first packet, and selecting at least one communication link from a plurality of communication links for transmission of the first packet. Selecting is a function of a rule specifying which one or more communication links a packet of the first priority level is to be transmitted over. The method also includes transmitting the first packet over the at least one communication link.

## Claims

### Claim 1

A method for deep space communication, the method comprising:
generating a first packet;
assigning a first priority level to the first packet;
selecting at least one communication link from a plurality of communication links for transmission of the first packet, wherein selecting is a function of a rule specifying which one or more communication links a packet of the first priority level is to be transmitted over;
transmitting the first packet over the at least one communication link;
generating a plurality of packets;
assigning each of the plurality of packets to a stream of the plurality of streams;
if all communication links for transmission of one or more packets of the plurality of packets are unavailable, determining whether to store or discard the one or more packets, wherein determining whether to store or discard the one or more packets includes determining as a function of a stream to which the packet is assigned, wherein determining whether to store or discard the one or more packets includes determining as a function of a quantity of storage space available in the mass storage device;
storing a first at least one packet in a mass storage device, wherein the first at least one packet is stored with an indication of the stream assigned thereto;
discarding a second at least one packet; and
retrieving the first at least one packets from the mass storage device and transmitting the first at least one packets if a communication link for transmission of the first at least one packet becomes available.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
assigning the first packet to a first stream of a plurality of streams based on a rule specifying that packets of the first priority level are to be assigned to the first stream.

### Claim 3 (depends on 2)

The method of claim 2, wherein the rule specifying which one or more communication links a packet of the first priority level is to be transmitted over, specifies that packets from the first stream are to be transmitted over the at least one communication link.

### Claim 4 (depends on 1)

The method of claim 1, wherein transmitting the first at least one packets from the mass storage device includes transmitting the first at least one packets as a function of the stream to which the packet is assigned.

### Claim 5 (depends on 1)

The method of claim 1, comprising:
generating a second packet;
assigning a second priority level to the second packet; and
transmitting the second packet over any of the communication links as a function of rule that allows transmission of packets having the second priority level on any of the communication links.

### Claim 6 (depends on 5)

The method of claim 5, wherein the rule that allows transmission of packets having the second priority level on any of the communication links, specifies that a first communication link is to be used for transmission of packets instead of other communication links when the first communication link is available.

### Claim 7 (depends on 1)

The method of claim 1, wherein the plurality of communication links includes at least two of an optical link, a radio frequency link, and a microwave link.

### Claim 8 (depends on 1)

The method of claim 1, wherein assigning a first priority level includes assigning a first priority level as a function of a type of data to which the first packet corresponds, wherein types of data include command and control data and telemetry data.

### Claim 9

An apparatus for deep space communication, the apparatus comprising:
one or more processing devices;
a first transceiver coupled to the one or more processing devices and configured to transmit and receive signals over a first communication link;
a second transceiver coupled to the one or more processing device and configured to transmit and receive signals over a second communication link;
one or more mass storage devices coupled to the one or more processing devices; and
one or more memory devices coupled to the one or more processing devices, wherein the one or more memory devices includes instructions which, when executed by the one or more processing devices, cause the one or more processing devices to:
generate a first packet;
assign a first priority level to the first packet;
assign the first packet to a first stream of a plurality of streams based on a rule specifying that packets of the first priority level are to be assigned to the first stream;
select at least one communication link from a plurality of communication links for transmission of the first packet, wherein select is a function of a rule specifying which one or more communication links a packet of stream is to be transmitted over; and
transmit the first packet over the at least one communication link;
generate a plurality of packets;
assign each of the plurality of packets to a stream of the plurality of streams;
if all communication links for transmission of one or more packets of the plurality of packets are unavailable, determine whether to store or discard the one or more packets, wherein determine whether to store or discard the one or more packets includes determine as a function of a stream to which the packet is assigned, wherein determine whether to store or discard the one or more packets includes determine as a function of a quantity of storage space available in the mass storage device;
store a first at least one packet in a mass storage device, wherein the first at least one packet is stored with an indication of the stream assigned thereto;
discard a second at least one packet; and
retrieve the first at least one packets from the mass storage device and transmit the first at least one packets if a communication link for transmission of the first at least one packet becomes available.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein transmit the first at least one packets from the mass storage device includes transmit the first at least one packets as a function of the stream to which the packet is assigned.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the instructions, when executed by the one or more processing devices, cause the one or more processing devices to:
generate a second packet;
assign a second priority level to the second packet; and
transmit the second packet over any of the communication links as a function of rule that allows transmission of packets having the second priority level on any of the communication links, wherein the rule that allows transmission of packets having the second priority level on any of the communication links, specifies that a first communication link is to be used for transmission of packets instead of other communication links when the first communication link is available.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein the first transceiver is configured to transmit and receiver over an optical communication link and the second transceiver is configured to transmit and receive over one of a radio frequency communication link and a microwave communication link.

### Claim 13 (depends on 9)

The apparatus of claim 9, wherein assign a first priority level includes assign a first priority level as a function of a type of data to which the first packet corresponds, wherein types of data include command and control data and telemetry data.

### Claim 14

A non-transitory a processor-readable medium including instructions which, when executed by a processing device, cause the processing device to:
generate a first packet of a first type;
assign the first packet to a first stream of a plurality of streams based on a rule specifying that packets of the first type are to be assigned to the first stream;
select at least one communication link from a plurality of communication links for transmission of the first packet, wherein select is a function of a rule specifying which one or more communication links a packet of stream is to be transmitted over; and
transmit the first packet over the at least one communication link;
generate a plurality of packets;
assign each of the plurality of packets to a stream of the plurality of streams;
if all communication links for transmission of one or more packets of the plurality of packets are unavailable, determine whether to store or discard the one or more packets, wherein determine whether to store or discard the one or more packets includes determine as a function of a stream to which the packet is assigned, wherein determine whether to store or discard the one or more packets includes determine as a function of a quantity of storage space available in the mass storage device;
store a first at least one packet in a mass storage device, wherein the first at least one packet is stored with an indication of the stream assigned thereto;
discard a second at least one packet; and
retrieve the first at least one packets from the mass storage device and transmit the first at least one packets if a communication link for transmission of the first at least one packet becomes available.
