System and method of reducing latency by transmitting duplicate packets over a network

US8964543B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-8964543-B1
Application numberUS-70634810-A
CountryUS
Kind codeB1
Filing dateFeb 16, 2010
Priority dateFeb 16, 2010
Publication dateFeb 24, 2015
Grant dateFeb 24, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method transmits data so as to reduce latency in the transmissions. In one aspect, a sending device may determine a minimum number N of packets necessary to transmit information to a receiving device. In accordance with this aspect, in addition to transmitting all or some of the N number of packets in a given series, the sending device may additionally transmit one or more duplicate packets, where each duplicate packet contains data duplicative of the data contained in the last or N th packet transmitted in the series.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of transmitting packets over a network comprising: receiving first data to be transmitted via the network to a client device; determining a first value with a processor, where the first value is based on the amount of the first data and a maximum data size of a data packet; generating a first series of data packets, each data packet in the first series containing a different portion of the first data that is determined based on the first value; determining, prior to receiving an indication from the client device for transmission of duplicate data packets, whether one or more duplicate data packets should be transmitted; based upon the determination, generating the one or more duplicate data packets, each of the duplicate data packets corresponding to one of the data packets in the first series; transmitting without delay, via the network, the one or more duplicate data packets contiguously with the first series of data packets to the client device; continuing to determine whether additional duplicate data packets should be transmitted contiguously with a second series of data packets based on whether a packet from at least one of the one or more duplicate data packets and the first series of data packets is lost during the transmission; and based upon the continued determination, transmitting the additional duplicate data packets contiguously with the second series of data packets. 2. The method of claim 1 , wherein the amount of first data in at least two of the plurality of data packets transmitted to the client device is less than the maximum data size. 3. The method of claim 1 , wherein the number of data packets transmitted in the first series to the client device is based on a congestion window value determined in accordance with the TCP protocol. 4. The method of claim 1 , wherein the indication from the client device that additional data packets may be sent is an acknowledgement packet received via the network in accordance with the TCP protocol. 5. The method of claim 1 , wherein the maximum data size of a data packet is based on an MSS value in accordance with the TCP protocol. 6. The method of claim 1 , wherein the first value is determined such that the amount of first data included in at least one of the plurality of data packets transmitted to the client device is equal to the maximum data size. 7. The method of claim 1 , wherein the first value is determined such that the amount of first data included in all but two of the plurality of data packets transmitted to the client device is equal to the maximum data size. 8. The method of claim 1 , wherein at least one of the one or more duplicate data packets transmitted to the client device is duplicative of a last packet transmitted in the first series. 9. A system comprising: a memory storing instructions and data, the data comprising first data to be transmitted over a network to a client device; a processor configured to: determine a first value based on the amount of the first data and a maximum data size of a data packet; generate a first series of data packets, each data packet in the first series containing a different portion of the first data that is determined based on the first value; determine, prior to receiving an indication from the client device for transmission of duplicate data packets, whether one or more duplicate data packets should be transmitted; based upon the determination, generate the one or more duplicate data packets, each of the duplicate data packets corresponding to one of the data packets in the first series; transmit without delay, via the network, the one or more duplicate data packets contiguously with the first series of data packets to the client device; continue to determine whether additional duplicate data packets should be transmitted contiguously with a second series of data packets based on whether a packet from at least one of the one or more duplicate data packets and the first series of data packets is lost during the transmission; and based upon the continued determination, transmit the additional duplicate data packets contiguously with the second series of data packets. 10. The system of claim 9 , wherein the amount of first data in at least two of the plurality of data packets transmitted to the client device is less than the maximum data size. 11. The system of claim 9 , wherein the number of data packets transmitted in the first series is based on a congestion window value determined in accordance with the TCP protocol. 12. The system of claim 9 , wherein the indication from the client device that additional data packets may be sent is an acknowledgement packet in accordance with the TCP protocol. 13. The system of claim 9 , wherein the maximum data size of a data packet is based on an MSS value in accordance with the TCP protocol. 14. The system of claim 9 , wherein the first value is determined such that the amount of first data included in at least one of the plurality of data packets transmitted to the client device is equal to the maximum data size. 15. The system of claim 9 , wherein the first value is determined such that the amount of first data included in all but two of the plurality of data packets transmitted to the client device is equal to the maximum data size. 16. The system of claim 9 , wherein at least one of the one or more duplicate data packets transmitted to the client device is duplicative of a last packet transmitted in the first series. 17. A system comprising: a first device at a first node of a network, the first device comprising a first memory storing a first set of instructions and a first processor that processes data in accordance with the first set of instructions; a second device at a second node of the network, the second device comprising a second memory storing a second set of instructions and a second processor that processes data in accordance with the second set of instructions; the first device having access to first data to be transmitted over the network to the second device; wherein the first set of instructions comprise: determining a first value based on the amount of the first data and a maximum data size of a data packet; generating a first series of data packets, each data packet in the first series containing a different portion of the first data that is determined based on the first value; determining, prior to receiving an indication from the second device for transmission of duplicate data packets, whether one or more duplicate data packets should be transmitted; based upon the determination, generating the one or more duplicate data packets, each of the duplicate data packets corresponding to one of the data packets in the first series; continuing to determine whether additional duplicate data packets should be transmitted contiguously with a second series of data packets based on whether a packet from at least one of the one or more duplicate data packets and the first series of data packets is lost during the transmission; based upon the continued determination, transmitting the additional duplicate data packets contiguously with the second series of data packets; and wherein the second set of instructions comprise: receiving one or more of the transmitted first series of data packets and the one or more duplicate data packets from the first device via the network; receiving one or more of the transmitted second series of data packets and the one or more additional duplicate data packets from the first device via the network; transmitt

Assignees

Inventors

Classifications

  • Loss aware scheduling · CPC title

  • Dynamic adaptation of the packet size · CPC title

  • at the transport layer, e.g. TCP related · CPC title

  • Real-time traffic · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US8964543B1 cover?
A system and method transmits data so as to reduce latency in the transmissions. In one aspect, a sending device may determine a minimum number N of packets necessary to transmit information to a receiving device. In accordance with this aspect, in addition to transmitting all or some of the N number of packets in a given series, the sending device may additionally transmit one or more duplicat…
Who is the assignee on this patent?
Roskind James, Belshe Michael A, Google Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/2416. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 24 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).