Application-based traffic control in multipath networks
US-2020007449-A1 · Jan 2, 2020 · US
US11012361B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11012361-B2 |
| Application number | US-201916554777-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2019 |
| Priority date | Aug 29, 2019 |
| Publication date | May 18, 2021 |
| Grant date | May 18, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A terrestrial terminal enables communications, over a network connection through a satellite, between a local host of one or more connected local hosts and a remote host. The terrestrial terminal is configured to perform operations comprising: receiving, from the remote host, a network packet for the local host; obtaining, from the network packet, an included TCP segment; determining, from the TCP segment, a receive window size advertised by the remote host; computing, using one or more characteristics of the network connection, a target receive window size; comparing the target receive window size with the advertised receive window size; and in response to determining that the target receive window size is different from the advertised receive window size: modifying the TCP segment by replacing the advertised receive window size with the target receive window size, and forwarding the network packet with the modified TCP segment to the local host.
Opening claim text (preview).
What is claimed is: 1. A system comprising: a terrestrial terminal configured to communicate with one or more connected local hosts, the terrestrial terminal enabling communications, over a network connection through a satellite, between a local host of the one or more connected local hosts and a remote host, wherein the terrestrial terminal is configured to perform operations comprising: receiving a network packet from the remote host destined for the local host; obtaining, from the network packet, an included Transmission Control Protocol (TCP) segment; determining, from the TCP segment, a receive window size advertised by the remote host; computing, using one or more characteristics corresponding to the network connection, a target receive window size for the network connection; modifying the TCP segment by replacing the advertised receive window size with the target receive window size; and forwarding the network packet with the modified TCP segment to the local host. 2. The system of claim 1 , wherein the operations comprise determining that the target receive window size is different from the advertised receive window size, and wherein modifying the TCP segment and forwarding the network packet with the modified TCP segment are performed in response to determining that the target receive window size is different from the advertised receive window size. 3. The system of claim 1 , wherein the network packet is received in response to sending, to the remote host, a TCP connection request, and wherein the TCP segment corresponds to a TCP SYN/ACK segment. 4. The system of claim 3 , wherein the operations further comprise: receiving, from the local host, a plurality of network packets, each network packet including a TCP data segment; determining whether an aggregate size of TCP data segments included in the plurality of network packets is within the advertised receive window size of the remote host; in response to determining that the aggregate size of the TCP data segments is greater than the advertised receive window size: sending, to the remote host over the network connection, a subset of the plurality of network packets, wherein an aggregate size of TCP data segments included in the subset is within the advertised receive window size, and buffering, in storage coupled to the terrestrial terminal, a remainder of the plurality of network packets; receiving, from the remote host, a new network packet including a TCP ACK segment, the TCP ACK segment acknowledging successful reception, by the remote host, of network packets sent from the local host; and in response to receiving the new network packet including the TCP ACK segment, sending, to the remote host over the network connection, one or more of the remainder of the plurality of network packets that are buffered in the storage. 5. The system of claim 3 , wherein the operations further comprise: receiving, from the local host, one or more network packets, each network packet including a TCP data segment; sending, to the remote host over the network connection, the one or more network packets; receiving, from the remote host, a new network packet including one of a TCP ACK segment or a TCP data segment, wherein the TCP ACK segment or the TCP data segment includes the advertised receive window size; in response to receiving the new network packet, computing, using the one or more characteristics corresponding to the network connection, a new target receive window size for the network connection; comparing the new target receive window size with the advertised receive window size; and in response to determining, based on the comparison, that the new target receive window size is different from the advertised receive window size: modifying the TCP ACK segment or the TCP data segment by replacing the advertised receive window size with the new target receive window size, and forwarding the network packet with the modified TCP ACK segment or the modified TCP data segment to the local host. 6. The system of claim 5 , wherein: the target receive window size is smaller than the advertised receive window size, and the new target receive window size is greater than the advertised receive window size. 7. The system of claim 5 , wherein: the target receive window size is greater than the advertised receive window size, and the new target receive window size is greater than the target receive window size. 8. The system of claim 3 , wherein the target receive window size is greater than the advertised receive window size, and wherein the operations further comprise: receiving, from the local host, one or more network packets, each network packet including a TCP data segment; sending, to the remote host over the network connection, the one or more network packets; identifying a local condition to reduce the target receive window size to the advertised receive window size; receiving, from the remote host, new network packets, each including one of a TCP ACK segment or a TCP data segment, wherein the TCP ACK segment or the TCP data segment includes the advertised receive window size; and forwarding, to the local host, the new network packets, including modifying the TCP ACK segment or the TCP data segment in each successive network packet by replacing the advertised receive window size with a successively lower target receive window size, until forwarding a network packet with the lowered target receive window size in a TCP ACK segment or a TCP data segment being equal to the advertised receive window size. 9. The system of claim 3 , wherein the operations further comprise: receiving, from the remote host over the network connection, one or more new network packets, each new network packet including a TCP data segment; forwarding, to the local host, the one or more new network packets; receiving, from the local host, a first network packet including a first TCP ACK segment, the first TCP ACK segment acknowledging successful reception, by the local host, of a new network packet sent from the remote host; buffering, in storage coupled to the terrestrial terminal, the first network packet; upon buffering the first network packet, starting a timer; before expiration of the timer, receiving, from the local host, a second network packet including a second TCP ACK segment, the second TCP ACK segment acknowledging successful reception, by the local host, of another new network packet sent from the remote host; and in response to receiving the second network packet before expiration of the timer: sending, to the remote host over the network connection, the second network packet including the second TCP ACK segment, and dropping the first network packet. 10. The system of claim 3 , wherein the operations further comprise: receiving, from the remote host over the network connection, one or more new network packets, each new network packet including a TCP data segment; forwarding, to the local host, the one or more new network packets; receiving, from the local host, a first network packet including a TCP ACK segment, the TCP ACK segment acknowledging successful reception, by the local host, of a new network packet sent from the remote host; buffering, in storage coupled to the terrestrial terminal, the first network packet; upon buffering the first network packet, starting a timer; determining whether another network packet is received from the local host before expiration of the timer; and upon expiration of the timer and in response to determining another network packet has not been received from the local host before expiration of the timer, sending, to the remote host over the network connection, the first net
Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable · CPC title
Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets · CPC title
In-band adaptation of TCP data exchange; In-band control procedures · CPC title
at the transport layer, e.g. TCP related · CPC title
Transmission in a satellite or space-based system · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.