IP Library Granted Patent US 9,614,937
Granted Patent B2
US 9,614,937 · App. 13/863,635 · Granted Apr 4, 2017

System and method for data transfer, including protocols for use in data transfer

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,614,937
App. No.
13/863,635
Granted
Apr 4, 2017
Kind
B2
Abstract

Embodiments of systems and methods for data transfer are presented herein. Specifically, embodiments of such a data transfer methodology may utilize one or more transmission channels for the transmission of the data to be transferred. In addition, a control channel in a different protocol than the transmission channels may be utilized to transmit control information between the sender and recipient. The rate at which data is sent on the transmission channels may be adjusted or the transmission of data on the transmission channel prioritized.

Claims (54)

1. A system, comprising:

a first computing device coupled to a network, including:

a processor; and

a computer readable medium comprising instructions executable to implement a first protocol module, wherein the first protocol module is configured to:

receive data for transmission,

transmit the data over a transmission channel utilizing a first protocol,

after a first portion of the data is transmitted over the transmission channel utilizing the first protocol, receive control data over a control channel utilizing a second protocol, wherein

the control channel was established over the network utilizing the second protocol and the control data is received over the control channel asynchronously to a transmission of a second portion of the data over the transmission channel utilizing the first protocol, and

in response to the control data received on the control channel utilizing the second protocol, adjust the transmission of data on the transmission channel based on the control data received on the control channel utilizing the second protocol to account for network effects associated with the transmission of data over the transmission channel utilizing the first protocol.

2. The system of claim 1 , wherein the first protocol module is further configured to:

establish the control channel with a second protocol module at a second computing device over the network; and

transmit the portion of the data utilizing the second protocol to the second protocol module at the second computer device.

3. The system of claim 2 , wherein the first protocol is UDP and the second protocol is TCP.

4. The system of claim 3 , wherein the data for transmission is received through an interface defined by TCP.

5. The system of claim 3 , wherein adjusting the transmission of data comprises determining a bandwidth for the transmission of data to the second computer device on the transmission channel.

6. The system of claim 5 , wherein the bandwidth is determined based on the control data and a user of TCP.

7. The system of claim 3 , wherein adjusting the transmission of data on the transmission channel comprises retransmitting a packet of the data over the transmission channel.

8. The system of claim 7 , wherein adjusting the transmission of data on the transmission channel comprises determining that the packet is lost based on a retransmit time.

9. The system of claim 3 , wherein the control data received over the control channel comprises an identifier for the packet of the data transmitted on the transmission channel and an acknowledgement (ACK) or a non-acknowledgement (NACK) associated with the identifier and adjusting the transmission of data comprises adjusting a send rate based on the control data and the portion of the data is transmitted on the transmission channel according to the send rate.

10. The system of claim 3 , wherein the control data includes a loss rate associated with the transmission of the portion of the data on the transmission channel and the first protocol module is further configured to compare the loss rate to a trigger, determine an occurrence of a measurement time interval before receipt of the control data, adjust a send rate based on the comparison or determination of the occurrence, and wherein the portion of the data is transmitted on the transmission channel according to the send rate.

11. A method for data transmission, comprising:

receiving data for transmission,

transmitting the data over a transmission channel utilizing a first protocol,

after a first portion of the data is transmitted over the transmission channel utilizing the first protocol, receiving control data over a control channel utilizing a second protocol, wherein

the control channel was established over the network utilizing the second protocol and the control data is received over the control channel asynchronously to a transmission of a second portion of the data over the transmission channel utilizing the first protocol; and

in response to the control data received on the control channel utilizing the second protocol, adjusting the transmission of data on the transmission channel based on the control data received on the control channel utilizing the second protocol to account for network effects associated with the transmission of data over the transmission channel utilizing the first protocol.

12. The method of claim 11 , further comprising:

establishing the control channel with a second protocol module at a second computing device over the network; and

transmitting the portion of the data utilizing the second protocol to the second protocol module at the second computer device.

13. The method of claim 12 , wherein the first protocol is UDP and the second protocol is TCP.

14. The method of claim 13 , wherein the data for transmission is received through an interface defined by TCP.

15. The method of claim 13 , wherein adjusting the transmission of data comprises determining a bandwidth for the transmission of data to the second computer device on the transmission channel.

16. The method of claim 15 , wherein the bandwidth is determined based on the control data and a user of TCP.

17. The method of claim 13 , wherein adjusting the transmission of data on the transmission channel comprises retransmitting a packet of the data over the transmission channel.

18. The method of claim 13 , wherein adjusting the transmission of data on the transmission channel comprises determining that the packet is lost based on a retransmit time.

19. The method of claim 13 , wherein the control data received over the control channel comprises an identifier for the packet of the data transmitted on the transmission channel and an acknowledgement (ACK) or a non-acknowledgement (NACK) associated with the identifier, wherein adjusting the transmission of data comprises adjusting a send rate based on the control data and the portion of the data is transmitted on the transmission channel according to the send rate.

20. The method of claim 13 , wherein the control data includes a loss rate associated with the transmission of the portion of the data on the transmission channel and the method further comprises comparing the loss rate to a trigger or determining an occurrence of a measurement time interval before receipt of the control data, and adjusting a send rate based on the comparison or determination of the occurrence, and wherein the portion of the data is transmitted on the transmission channel according to the send rate.

21. A non-transitory computer readable medium, comprising instructions for:

receiving data for transmission,

transmitting the data over a transmission channel utilizing a first protocol,

after a first portion of the data is transmitted over the transmission channel utilizing the first protocol, receiving control data over a control channel utilizing a second protocol, wherein

the control channel was established over the network utilizing the second protocol and the control data is received over the control channel asynchronously to a transmission of a second portion of the data over the transmission channel utilizing the first protocol; and

in response to the control data received on the control channel utilizing the second protocol, adjusting the transmission of data on the transmission channel based on the control data received on the control channel utilizing the second protocol to account for network effects associated with the transmission of data over the transmission channel utilizing the first protocol.

22. The computer readable medium of claim 21 , wherein the first protocol module is further configured to:

establish the control channel with a second protocol module at a second computing device over the network; and

transmit the portion of the data utilizing the second protocol to the second protocol module at the second computer device.

23. The computer readable medium of claim 22 , wherein the first protocol is UDP and the second protocol is TCP.

24. The computer readable medium of claim 23 , wherein the data for transmission is received through an interface defined by TCP.

25. The computer readable medium of claim 23 , wherein adjusting the transmission of data comprises determining a bandwidth for the transmission of data to the second computer device on the transmission channel.

26. The computer readable medium of claim 25 , wherein the bandwidth is determined based on the control data and a user of TCP.

27. The computer readable medium of claim 23 , wherein adjusting the transmission of data on the transmission channel comprises retransmitting a packet of the data over the transmission channel.

28. The computer readable medium of claim 27 , wherein adjusting the transmission of data on the transmission channel comprises determining that the packet is lost based on a retransmit time.

29. The computer readable medium of claim 23 , wherein the control data received over the control channel comprises an identifier for the packet of the data transmitted on the transmission channel and an acknowledgement (ACK) or a non-acknowledgement (NACK) associated with the identifier and wherein adjusting the transmission of data comprises adjusting a send rate based on the control data and the portion of the data is transmitted on the transmission channel according to the send rate.

30. The computer readable medium of claim 23 , wherein the control data includes a loss rate associated with the transmission of the portion of the data on the transmission channel and the instructions comprise instructions for comparing the loss rate to a trigger or determining an occurrence of a measurement time interval before receipt of the control data and adjusting a send rate based on the comparison or determination of the occurrence, and wherein the portion of the data is transmitted on the transmission channel according to the send rate.

Assignments (13)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 8, 2025
From: OPEN TEXT SA ULC
To: ROCKET SOFTWARE CANADA, INC. (SUCCESSOR BY AMALGAMATION WITH AMC CONNECTIVITY SOFTWARE (CANADA) ULC)
Reel/Frame 070770/0882 →
RELEASE OF SECURITY INTEREST Recorded May 16, 2024
From: THE BANK OF NEW YORK MELLON
To: OPEN TEXT SA ULC
Reel/Frame 067436/0581 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS(REEL/FRAME 063559/0628) Recorded May 1, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067289/0236 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS(REEL/FRAME 063559/0758) Recorded May 1, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067289/0273 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS(REEL/FRAME 063559/0647) Recorded May 1, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT SA ULC
Reel/Frame 067289/0305 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT SA ULC
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0256 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0758 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0628 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT SA ULC
To: BARCLAYS BANK PLC
Reel/Frame 063559/0647 →
IP BUSINESS SALE AGREEMENT Recorded Aug 30, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 039872/0605 →
CERTIFICATE OF AMALGAMATION Recorded Aug 30, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 039872/0662 →
CERTIFICATE OF CONTINUANCE Recorded Aug 30, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 039986/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2013
From: DAJANI, ALADIN; MATTHEWS, GLEN; CARROLL, JONATHAN; GUAN, CHENGXUAN; WIKTORCZYK, ROBERT
To: OPEN TEXT S.A.
Reel/Frame 030352/0409 →