IP Library Granted Patent US 9,350,493
Granted Patent B1
US 9,350,493 · App. 14/263,959 · Granted May 24, 2016

Multi-protocol data transfers

Inventors: Shankar Subramonian (Norcross, GA); Srikumar Subramanian (Suwanee, GA); Anandh Mahalingam (Duluth, GA); Jomy Maliakal (Duluth, GA)
Assignee: American Megatrends, Inc.
H04L1/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,350,493
App. No.
14/263,959
Granted
May 24, 2016
Kind
B1
Abstract

Technologies are described herein for performing a multi-protocol data transfer. A first protocol that guarantees reliability and in-order delivery of data packets is utilized to transmit control information for a data transfer. Once the control information has been transmitted and received at the destination, a second protocol is utilized to transfer the actual data. The second protocol does not guarantee data reliability or in-order delivery. If any data packets are not delivered to the destination using the second protocol, either the first protocol, the second protocol, or a combination can be utilized to retransmit the missing packets.

Claims (40)

1. A method for transmitting data using multiple data transmission protocols, the method comprising:

transmitting control information for the data to a destination using a first protocol;

transmitting a segment comprising a plurality of portions of the data to the destination using a second protocol;

re-ordering portions of the segment received at the destination using the control information transmitted to the destination using the first protocol;

determining, after re-ordering the portions of the segment received at the destination that one or more portions of the segment were not received at the destination;

receiving control information from the destination identifying the one or more portions of the segment that were not received at the destination;

adaptively selecting a resend protocol; and

transmitting the one or more portions of the segment that were not received at the destination to the destination using the selected resend protocol.

2. The method of claim 1 , wherein re-ordering the portions of the segment comprises re-ordering the portions of the segment into an order in which the portions of the segment were transmitted based on the control information.

3. The method of claim 1 , wherein the selected resend protocol is the second protocol if an amount of data to transmit is greater than a threshold value and the selected resend protocol is the first protocol if the amount of data to transmit is less than the threshold value.

4. The method of claim 1 , wherein the first protocol guarantees reliability and in-order delivery of data packets to the destination.

5. The method of claim 4 , wherein the second protocol does not guarantee reliability or in-order delivery of data packets to the destination.

6. The method of claim 1 , wherein the first protocol comprises the transmission control protocol (TCP).

7. The method of claim 6 , wherein the second protocol comprises the user datagram protocol (UDP).

8. The method of claim 1 , wherein the control information comprises a sequence table for a data file that comprises at least a portion of the data, wherein the sequence table identifies a sequence number for each of one or more a plurality of data packets in a segment of the data file to be transmitted from the source to the destination.

9. A non-transitory computer storage media having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:

transmit control information for the data to a destination using a first protocol;

transmit a segment of the data to a destination using a second protocol, the segment including a plurality of portions;

re-order portions of the segment received at the destination using the control information transmitted to the destination using the first protocol;

determine, after re-ordering the portions of the segment received at the destination that one or more portions of the segment were not received at the destination;

receive control information from the destination identifying the one or more portions of the segment that were not received at the destination;

adaptively select a resend protocol for transmitting the one or more portions of the segment that were not received at the destination to the destination; and

transmit the one or more portions of the segment that were not received at the destination to the destination using the selected resend protocol.

10. The non-transitory computer storage media having computer-executable instructions stored thereon of claim 9 , wherein re-ordering the portions of the segment comprises re-ordering the portions of the segment into an order in which the portions of the segment were transmitted based on the control information.

11. The non-transitory computer storage media having computer-executable instructions stored thereon of claim 9 , wherein the selected resend protocol is the second protocol if an amount of data to transmit is greater than a threshold value and the selected resend protocol is the first protocol if the amount of data to transmit is less than the threshold value.

12. A method for receiving data from a source at a destination using multiple data transmission protocols, the method comprising:

receiving control information for the data at the destination using a first protocol;

receiving a plurality of portions of a segment of the data at the destination using a second protocol;

re-ordering the portions of the segment using the control information transmitted to the destination using the first protocol;

determining after re-ordering the portions of the segment received at the destination whether all of the transmitted portions of the segment of the data were received;

transmitting control information to the source identifying one or more portions of the segment that were not received at the destination using the first protocol; and

receiving the portions of the segment that previously were not received from the source.

13. The method of claim 12 , wherein re-ordering the portions of the segment comprises re-ordering the portions of the segment into an order in which the portions of the segment were transmitted to the destination based on the control information.

14. The method of claim 12 , wherein receiving the portions of the segment that previously were not received from the source comprises receiving the portions of the segment that previously were not received from the source using a selected resend protocol.

15. The method of claim 12 , wherein the selected resend protocol is the second protocol if an amount of data to transmit is greater than a threshold value and the selected resend protocol is the first protocol if the amount of data to transmit is less than the threshold value.

16. The method of claim 12 , wherein the first protocol guarantees reliability and in-order delivery of data packets to the destination.

17. The method of claim 16 , wherein the second protocol does not guarantee reliability or in-order delivery of data packets to the destination.

18. The method of claim 12 , wherein the first protocol comprises the transmission control protocol (TCP).

19. The method of claim 12 , wherein the second protocol comprises the user datagram protocol (UDP).

20. The method of claim 12 , wherein the control information comprises a sequence table for a data file that comprises at least a portion of the data, wherein the sequence table identifies a sequence number for each of one or more a plurality of data packets in a segment of the data file to be transmitted from the source to the destination.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC,
To: AMZETTA TECHNOLOGIES, LLC,
Reel/Frame 053007/0151 →
CHANGE OF NAME Recorded Jun 22, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 053007/0233 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2014
From: SUBRAMONIAN, SHANKAR; SUBRAMANIAN, SRIKUMAR; MAHALINGAM, ANANDH; MALIAKAL, JOMY JOSE
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 033768/0842 →
Continuity (2)
Continuation 12175914 · Jul 18, 2008
Provisional Application 60950655 · Jul 19, 2007