IP Library Granted Patent US 10,277,495
Granted Patent B2
US 10,277,495 · App. 15/831,786 · Granted Apr 30, 2019

Method and system for data transmission

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 10,277,495
App. No.
15/831,786
Granted
Apr 30, 2019
Kind
B2
Abstract

Embodiments as disclosed provided methods or systems for sending data over a network. Specifically, in certain embodiments, data is received and a datagram comprising at least a portion of the data can be created and sent to a terminal. Control data can be received from the terminal and the sending of the data to the terminal adjusted based on the received control data. In certain embodiments both the datagram and the control data may be sent over an unreliable protocol. Thus, embodiments as disclosed may provide an increased level of reliability and adaptability to differing network conditions in conjunction with the use of an unreliable protocol.

Claims (36)

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 protocol module, the protocol module configured to:

receive a first packet from a second computing device over the network, wherein the first packet is received using an unreliable protocol;

determine that the first packet includes a request for control data;

in response to the reception of the first packet, generate, at the computing device, a second packet including the control data; and

send the second packet including the control data to the first computing device using the unreliable protocol in response to allow the first computing device to adjust the sending of data from the second computing device to the first computing device based on the control data sent in the second packet.

2. The system of claim 1 , wherein the unreliable protocol is UDP.

3. The system of claim 2 , wherein the control data comprises latency information.

4. The system of claim 3 , wherein the latency information is an acknowledgment of reception of the first packet.

5. The system of claim 3 , wherein generation of the second packet including the control data comprises modifying a header in the second packet.

6. The system of claim 5 , wherein the second packet was the next packet in an output queue at the first computing device that was to be sent to the second computing device.

7. The system of claim 6 , wherein adjusting the sending of the data to the first computing device comprises determining a data transmission rate corresponding to the first computing device based on a latency determined from the latency information and sending the data to the first computing device according to the data transmission rate.

8. A method, comprising:

receiving, at a protocol module on a first computing device, a first packet from a second computing device over a network, wherein the first packet is received using an unreliable protocol;

determining that the first packet includes a request for control data;

in response to the reception of the first packet, generating, at the computing device, a second packet including the control data; and

sending the second packet including the control data to the first computing device using the unreliable protocol in response to allow the first computing device to adjust the sending of data from the second computing device to the first computing device based on the control data sent in the second packet.

9. The method of claim 8 , wherein the unreliable protocol is UDP.

10. The method of claim 9 , wherein the control data comprises latency information.

11. The method of claim 10 , wherein the latency information is an acknowledgment of reception of the first packet.

12. The method of claim 10 , wherein generation of the second packet including the control data comprises modifying a header in the second packet.

13. The method of claim 12 , wherein the second packet was the next packet in an output queue at the first computing device that was to be sent to the second computing device.

14. The method of claim 13 , wherein adjusting the sending of the data to the first computing device comprises determining a data transmission rate corresponding to the first computing device based on a latency determined from the latency information and sending the data to the first computing device according to the data transmission rate.

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

receiving, at a protocol module on a first computing device, a first packet from a second computing device over a network, wherein the first packet is received using an unreliable protocol;

determining that the first packet includes a request for control data;

in response to the reception of the first packet, generating, at the computing device, a second packet including the control data; and

sending the second packet including the control data to the first computing device using the unreliable protocol in response to allow the first computing device to adjust the sending of data from the second computing device to the first computing device based on the control data sent in the second packet.

16. The non-transitory computer readable medium of claim 15 , wherein the unreliable protocol is UDP.

17. The non-transitory computer readable medium of claim 16 , wherein the control data comprises latency information.

18. The non-transitory computer readable medium of claim 17 , wherein the latency information is an acknowledgment of reception of the first packet.

19. The non-transitory computer readable medium of claim 17 , wherein generation of the second packet including the control data comprises modifying a header in the second packet.

20. The non-transitory computer readable medium of claim 19 , wherein the second packet was the next packet in an output queue at the first computing device that was to be sent to the second computing device.

21. The non-transitory computer readable medium of claim 20 , wherein adjusting the sending of the data to the first computing device comprises determining a data transmission rate corresponding to the first computing device based on a latency determined from the latency information and sending the data to the first computing device according to the data transmission rate.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2024
From: OPEN TEXT CORP.
To: CROWDSTRIKE, INC.
Reel/Frame 068122/0620 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2024
From: OPEN TEXT SA ULC
To: OPEN TEXT CORP.
Reel/Frame 067400/0102 →
CERTIFICATE OF AMALGAMATION Recorded Jan 25, 2018
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 045143/0250 →
OFFICER'S CERTIFICATE Recorded Jan 25, 2018
From: WECOMM LIMITED
To: OPEN TEXT S.A.
Reel/Frame 045143/0307 →
IP BUSINESS SALE AGREEMENT Recorded Jan 25, 2018
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 045143/0323 →
CERTIFICATE OF CONTINUANCE Recorded Jan 25, 2018
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 045143/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2018
From: STURROCK, OLIVER; WENTFORD, TIMOTHY JOHN
To: WECOMM LIMITED
Reel/Frame 044726/0950 →