IP Library Granted Patent US 9,887,899
Granted Patent B2
US 9,887,899 · App. 13/737,793 · Granted Feb 6, 2018

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 9,887,899
App. No.
13/737,793
Granted
Feb 6, 2018
Kind
B2
Abstract

Embodiments as disclosed provided methods or systems for transmitting data over a network. Specifically, in certain embodiments, data for transmission 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 transmission 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 transmitted 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 (63)

1. A system, comprising:

a computing device coupled to a network, including:

a processor; and

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

accessing data for transmission in a memory at the computing device;

determining if the data is streamed data or transactional data,

creating, at the computing device, a datagram comprising at least a portion of the data, wherein a type of the datagram created is based on the determination if the data is streamed data or transactional data,

sending the datagram from the computing device to a terminal using an unreliable protocol,

creating, at the computing device, a request for control data,

sending the request for control data from the computing device to the terminal using the unreliable protocol,

receiving, at the computing device, control data from the terminal, wherein the control data was sent using the unreliable protocol and the control data was sent from the terminal in response to the request, and

adjusting the sending of the data from the computing device to the terminal based on the control data.

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

3. The system of claim 2 , wherein the control data comprises a heartbeat datagram, an acknowledgement datagram or a latency datagram.

4. The system of claim 3 , wherein the control data was sent from the terminal in response to a setting in a header of the datagram and the setting was set based on the determination if the data was streamed data or transactional data.

5. The system of claim 2 , wherein adjusting the sending of the data to the terminal comprises determining a data transmission rate corresponding to the terminal based on the control data and sending the data according to the data transmission rate.

6. The system of claim 5 , wherein determining the data transmission rate comprises determining a heartbeat rate associated with the terminal based on the control data.

7. The system of claim 6 , wherein the heartbeat rate is a maximum interval between the sending of the datagram and a subsequent datagram to the terminal.

8. The system of claim 1 , wherein the request is part of the datagram, the request is created when creating the datagram and the request is sent when sending the datagram.

9. A method for data transmission, comprising:

accessing data for transmission in a memory at a computing device;

determining if the data is streamed data or transactional data;

creating, at the computing device, a datagrann comprising at least a portion of the data, wherein a type of the datagram created is based on the determination if the data is streamed data or transactional data;

sending the datagram from the computing device to a terminal using an unreliable protocol;

creating, at the computing device, a request for control data,

sending the request for control data from the computing device to the terminal using the unreliable protocol;

receiving, at the computing device, control data from the terminal, wherein the control data was sent using the unreliable protocol and the control data was sent from the terminal in response to the request; and

adjusting the sending of the data from the computing device to the terminal based on the control data.

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

11. The method of claim 10 , wherein the control data comprises a heartbeat datagram, an acknowledgement datagram or a latency datagram.

12. The method of claim 11 , wherein the control data was sent from the terminal in response to a setting in a header of the datagram and the setting was set based on the determination if the data was streamed data or transactional data.

13. The method of claim 10 , wherein adjusting the sending of the data to the terminal comprises determining a data transmission rate corresponding to the terminal based on the control data and sending the data according to the data transmission rate.

14. The method of claim 13 , wherein determining the data transmission rate comprises determining a heartbeat rate associated with the terminal based on the control data.

15. The method of claim 14 , wherein the heartbeat rate is a maximum interval between the sending of the datagram and a subsequent datagram to the terminal.

16. The method of claim 9 , wherein the request is part of the datagram, the request is created when creating the datagram and the request is sent when sending the datagram.

17. A non-transitory computer readable medium, comprising instructions executable by a processor for:

accessing data for transmission in a memory at a computing device;

determining if the data is streamed data or transactional data;

creating, at the computing device, a datagram comprising at least a portion of the data, wherein a type of the datagram created is based on the determination if the data is streamed data or transactional data;

sending the datagram from the computing device to a terminal using an unreliable protocol;

creating, at the computing device, a request for control data,

sending the request for control data from the computing device to the terminal using the unreliable protocol;

receiving, at the computing device, control data from the terminal, wherein the control data was sent using the unreliable protocol and the control data was sent from the terminal in response to the request; and

adjusting the sending of he data from the computing device to the terminal based on the control data.

18. The computer readable medium of claim 17 , wherein the unreliable protocol is UDP.

19. The computer readable medium of claim 18 , wherein the control data comprises a heartbeat datagram, an acknowledgement datagram or a latency datagram.

20. The computer readable medium of claim 19 , wherein the control data was sent from the terminal in response to a setting in a header of the datagram and the setting was set based on the determination if the data was streamed data or transactional data.

21. The computer readable medium of claim 18 , wherein adjusting the sending of the data to the terminal comprises determining a data transmission rate corresponding to the terminal based on the control data and sending the data according to the data transmission rate.

22. The computer readable medium of claim 21 , wherein determining the data transmission rate comprises determining a heartbeat rate associated with the terminal based on the control data.

23. The computer readable medium of claim 22 , wherein the heartbeat rate is a maximum interval between the sending of the datagram and a subsequent datagram to the terminal.

24. The computer readable medium of claim 17 , wherein the request is part of the datagram, the request is created when creating the datagram and the request is sent when sending the datagram.

25. A system, comprising:

a computing device coupled to a network, including:

a processor; and

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

accessing data for transmission in a memory at the computing device;

determining if the data is streamed data or transactional data,

creating, at the computing device, a datagram comprising at least a portion of the data,

sending the datagram from the computing device to a terminal using an unreliable protocol,

creating, at the computing device, a request for control data,

sending the request for control data from the computing device to the terminal using the unreliable protocol,

receiving, at the computing device, control data from the terminal, wherein the control data was sent using the unreliable protocol and the control data was sent from the terminal in response to the request, and

adjusting the sending of the data from the computing device to the terminal based on the control data.

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 CONTINUANCE Recorded Aug 30, 2016
From: OT IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 039986/0689 →
CERTIFICATE OF AMALGAMATION Recorded Aug 30, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 039872/0662 →
IP BUSINESS SALE AGREEMENT Recorded Aug 30, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 039872/0605 →
OFFICER'S CERTIFICATE Recorded Jan 17, 2013
From: WECOMM LIMITED
To: OPEN TEXT S.A.
Reel/Frame 029662/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2013
From: STURROCK, OLIVER; WENTFORD, TIMOTHY JOHN
To: WECOMM LIMITED
Reel/Frame 029646/0215 →