IP Library Granted Patent US 8,954,525
Granted Patent B2
US 8,954,525 · App. 14/304,946 · Granted Feb 10, 2015

Method and apparatus of performing remote computer file exchange

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 8,954,525
App. No.
14/304,946
Granted
Feb 10, 2015
Kind
B2
Abstract

Disclosed are an apparatus and method of exchanging data between a first computing device and a second computing device using a customized data transfer protocol. One example of operation may include establishing a control channel between the first computing device and the second computing device to exchange control information, negotiating a data transfer between the first and second computing devices, establishing a data channel between the first and second computing devices to transfer data, and transferring data from the first computing device to the second computing device over the data channel in parallel with control information being transferred over the control channel. The client devices may be a client and server configuration transferring data via a point-to-point data connection.

Claims (33)

1. A method, comprising:

establishing a control channel between a first computing device and a second computing device to exchange control information comprising streaming data initiation information regarding when streaming data should initiate, and streaming data termination information regarding when the streaming data should terminate, wherein the control information further comprises at least one of a proposed data rate and a proposed data compression level to be used during the data exchange between the first computing device and the second computing device;

establishing a data channel between the first and second computing devices; and

transferring data from the first computing device to the second computing device over the data channel in parallel with the control information being transferred over the control channel.

2. The method of claim 1 , wherein the first computing device is a client device and the second computing device is a server device, and wherein transferring data from the client device to the server device is performed uni-directionally over the data channel.

3. The method of claim 1 , wherein the control channel is separate from the data transfer channel.

4. The method of claim 1 , further comprising negotiating a data transfer between the first and second computing devices, wherein negotiating the data transfer further comprises negotiating at least one of resuming a data transfer and establishing checkpoints during the data transfer.

5. The method of claim 2 , wherein the data transfer between the client device and the server device is a point-to-point data transfer.

6. The method of claim 1 , wherein in the event of an interruption the data will resume transferring data at a last known good checkpoint based on at least one established checkpoint performed during the data transfer.

7. The method of claim 2 , further comprising:

authenticating the data transfer via a random 4-byte integer N generated by the client device to use in an authentication challenge; and

receiving a response by the server with an integer N+1.

8. An apparatus, comprising:

a transmitter and receiver pair configured to:

establish a control channel with a computing device to exchange control information regarding when data being streamed should initiate, and information regarding when the data being streamed should terminate, wherein the control information further comprises at least one of a proposed data rate and a proposed data compression level to be used during the data exchange;

establish a data channel with the computing device; and

transfer data to the computing device over the data channel in parallel with control information being transferred over the control channel.

9. The apparatus of claim 8 , wherein the apparatus is a client device and the computing device is a server device, and wherein transferring data from the client device to the server device is performed uni-directionally over the data channel.

10. The apparatus of claim 8 , wherein the control channel is separate from the data transfer channel.

11. The apparatus of claim 8 , further comprising a negotiation of data transfer with the computing device, wherein the negotiation of the data transfer further comprises the negotiation of at least one of a data transfer being resumed and checkpoints being established during the data transfer.

12. The apparatus of claim 9 , wherein the data transfer between the client device and the server device is a point-to-point data transfer.

13. The apparatus of claim 8 , wherein in the event of an interruption the data will resume the data transfer at a last known good checkpoint based on at least one established checkpoint performed during the data transfer.

14. The apparatus of claim 9 , further comprising:

a processor configured to perform authentication of the data transfer via a random 4-byte integer N generated by the client device to use in an authentication challenge, and wherein the receiver is configured to receive a response by the server with an integer N+1.

15. A non-transitory computer readable storage medium comprising instructions that when executed cause a processor to perform:

establishing a control channel between a first computing device and a second computing device to exchange control information comprising streaming data initiation information regarding when streaming data should initiate, and streaming data termination information regarding when the streaming data should terminate, wherein the control information further comprises at least one of a proposed data rate and a proposed data compression level to be used during the data exchange between the first computing device and the second computing device;

establishing a data channel between the first and second computing devices; and

transferring data from the first computing device to the second computing device over the data channel in parallel with control information being transferred over the control channel.

16. The non-transitory computer readable storage medium of claim 15 , wherein the first computing device is a client device and the second computing device is a server device, and wherein transferring data from the client device to the server device is performed uni-directionally over the data channel.

17. The non-transitory computer readable storage medium of claim 15 , wherein the control channel is separate from the data transfer channel.

18. The non-transitory computer readable storage medium of claim 15 , further comprising negotiating a data transfer between the first and second computing devices, wherein negotiating the data transfer further comprises negotiating at least one of resuming a data transfer and establishing checkpoints during the data transfer.

19. The non-transitory computer readable storage medium of claim 16 , wherein the data transfer between the client device and the server device is a point-to-point data transfer.

20. The non-transitory computer readable storage medium of claim 15 , wherein in the event of an interruption the data will resume transferring data at a last known good checkpoint based on at least one established checkpoint performed during the data transfer.

Assignments (11)
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Mar 24, 2025
From: KASEYA LIMITED
To: MORGAN STANLEY SENIOR FUNDING, INC., AS SECOND LIEN COLLATERAL AGENT
Reel/Frame 070608/0176 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Mar 21, 2025
From: KASEYA LIMITED
To: MORGAN STANLEY SENIOR FUNDING, INC., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 070586/0814 →
CHANGE OF NAME Recorded Oct 27, 2023
From: DATTO, INC.
To: DATTO, LLC
Reel/Frame 065385/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: RODRIGUES, DEREK
To: KASEYA INTERNATIONAL LIMITED
Reel/Frame 060295/0883 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: KASEYA LIMITED
Reel/Frame 049122/0181 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: VEEAM SOFTWARE LIMITED
To: KASEYA LUXEMBOURG HOLDINGS S.C.A.
Reel/Frame 049122/0138 →
SUBORDINATED SECOND LIEN US PATENT SECURITY AGREEMENT Recorded Jun 1, 2018
From: SPANNING CLOUD APPS LLC; UNITRENDS, INC.; KASEYA LIMITED; RAPIDFIRE TOOLS INC.
To: FABSTONE INVESTMENTS LLC
Reel/Frame 046286/0755 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT Recorded May 31, 2017
From: SILICON VALLEY BANK
To: KASEYA LIMITED
Reel/Frame 042642/0023 →
SECURITY INTEREST Recorded May 26, 2017
From: KASEYA LIMITED
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 042589/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2014
From: KASEYA INTERNATIONAL LIMITED
To: KASEYA LIMITED
Reel/Frame 033880/0921 →
SECURITY INTEREST Recorded Jul 14, 2014
From: KASEYA LIMITED
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 033312/0618 →