IP Library Granted Patent US 9,009,345
Granted Patent B1
US 9,009,345 · App. 09/582,297 · Granted Apr 14, 2015

Asynchronous data protocol

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,009,345
App. No.
09/582,297
Granted
Apr 14, 2015
Kind
B1
Abstract

A method of asynchronously transferring a plurality of files between client and host devices is provided. The method includes transmitting to a client device a plurality of identifiers for files and transferring between the host and client devices a data frame that includes an identifier and at least a portion of the corresponding file. Each identifier corresponds to a different one of the files to be transferred. The method also includes repeating the data frame transfers until the plurality of files has been transferred.

Claims (45)

1. A computer-implemented method of asynchronously transferring a plurality of data objects, the method comprising:

transmitting, from a client to a host, a request data frame for a data transfer session, the frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred between the client and the host;

receiving, from the host, a plurality of identifiers assigned by the host, each identifier corresponding to one of the data objects to be transferred; and

receiving, at either the client or the host, a transfer data frame including at least one assigned identifier and at least a portion of a corresponding data object, wherein the identifier is

(a) used by the host to store the portion of the data object in a storage device when the transfer data frame is received at the host, or

(b) used by the client to identify a transfer session corresponding to the portion of the data object when the transfer data frame is received at the client.

2. The method of claim 1 , wherein the transfer type is a download.

3. The method of claim 1 , wherein the transfer type is an upload.

4. The method of claim 1 , further comprising repeating the data frame transfers until the plurality of data objects have been transferred.

5. The method of claim 4 , further comprising interleaving the receiving of the transfer data frame corresponding to one data object with other transfer data frames corresponding to another data object.

6. The method of claim 4 , further comprising receiving, from the host, a frame count that indicates the number of data frames that the client device can transfer without request for more data.

7. The method of claim 4 , further comprising receiving, from the host, routing information to handle each of the plurality of data objects.

8. The method of claim 4 , wherein the repeating of the data frame transfers include transferring at least one end data frame comprising a command sequence indicating the last portion of data of the transfer session for at least one data object.

9. The method of claim 4 , wherein at least two sequential transfers of a data frame include transfers of frames with different identifiers.

10. The method of claim 1 , wherein the identifier is further used by the client to identify the type of the data object in the transfer data frame when the transfer data frame is received at the client.

11. A computer-implemented method of transferring a plurality of data objects with a client device, the method comprising:

transmitting, to a host, a request data frame for a data transfer session, the frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred between the client device and the host;

receiving a plurality of identifiers assigned by the host, each identifier corresponding to one of the data objects to be transferred;

when the transfer type is an upload, transmitting to the host an upload data frame including at least one assigned identifier and at least a portion of a corresponding data object, the identifier used by the host to store the portion of the data object in a storage device; and

when the transfer type is a download, receiving a download data frame including at least one assigned identifier and at least a portion of a corresponding data object, the identifier used by the client to identify the type of data object in the download data frame.

12. The method of claim 11 , further comprising transferring the upload data frames or the download data frames until the plurality of data objects have been transferred.

13. The method of claim 12 , further comprising interleaving the transferring of the upload data frames or the download data frames corresponding to one data object with other transfer data frames corresponding to another data object.

14. The method of claim 12 , wherein the identifier is used by the client to identify a transfer session corresponding to the portion of the data object when the download data frame is received at the client.

15. The method of claim 14 , further comprising interleaving the transferring the upload data frames or the download data frames with transferring upload data frames or download data frames corresponding to a different transfer session, respectively.

16. The method of claim 14 , further comprising interleaving the transferring the upload data frames or the download data frames with transferring download data frames or upload data frames corresponding to a different transfer session, respectively.

17. The method of claim 12 , further comprising receiving, from the host, a frame count that indicates the number of data frames that the client device can transfer without request for more data.

18. A computer-implemented method of transferring a plurality of data objects at a host, the method comprising:

receiving, from a client device, a request data frame for a data transfer session, the frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred;

assigning a plurality of identifiers, each identifier corresponding to one of the data objects to be transferred between the client device and the host;

transferring, to the client device, the plurality of identifiers;

when the transfer type is an upload, receiving at the host an upload data frame including at least one assigned identifier and at least a portion of a corresponding data object, the identifier used to store the portion of the data object in a storage device at the host;

when the transfer type is a download, transmitting a download data frame including at least one assigned identifier and at least a portion of a corresponding data object, the identifier used by the client to identify the type of the data object in the download data frame; and

repeating the data frame transfers until the plurality of data objects have been transferred.

19. The method of claim 18 , further comprising allocating host resources for the data transfer session.

20. The method of claim 18 , further comprising transmitting routing information for handling each of the plurality of data objects.

21. The method of claim 18 , wherein at least two sequential transfers of a data frame include transfers of frames with different identifiers.

22. The method of claim 18 , wherein the identifier is used by the client to identify a transfer session corresponding to the portion of the data object when the download data frame is received at the client.

23. The method of claim 22 , further comprising interleaving the transferring of the upload data frames or the download data frames with transferring upload data frames or download data frames corresponding to a different transfer session, respectively.

24. The method of claim 22 , further comprising interleaving the transferring the upload data frames or the download data frames with transferring download data frames or upload data frames corresponding to a different transfer session, respectively.

25. A non-transitory computer readable medium encoding a set of instructions to asynchronously transfer a plurality of data objects, the instructions being executable by at least one processor to cause the processor to perform the following steps:

transmitting, from a client to a host, a request data frame for a data transfer session, the frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred between the client and the host;

receiving, from the host, a plurality of identifiers assigned by the host, each identifier corresponding to one of the data objects to be transferred; and

receiving, at either the client or the host, a transfer data frame including at least one assigned identifier and at least a portion of a corresponding data object, wherein the identifier is

(a) used by the host to store the portion of the data object in a storage device when the transfer data frame is received at the host, or

(b) used by the client to identify the type of the data object in the transfer data frame when the transfer data frame is received at the client.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
CHANGE OF NAME Recorded Aug 24, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043672/0369 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011 Recorded Jul 1, 2015
From: JPMORGAN CHASE BANK, N.A.
To: AOL ADVERTISING INC.; AOL INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
Reel/Frame 036042/0053 →
SECURITY AGREEMENT Recorded Aug 2, 2013
From: AOL INC.; AOL ADVERTISING INC.; BUYSIGHT, INC.; MAPQUEST, INC.; PICTELA, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030936/0011 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 16, 2010
From: BANK OF AMERICA, N A
To: AOL INC; AOL ADVERTISING INC; GOING INC; LIGHTNINGCAST LLC; MAPQUEST, INC; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC; TACODA LLC; TRUVEO, INC; YEDDA, INC
Reel/Frame 025323/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2009
From: AOL LLC
To: AOL INC.
Reel/Frame 023723/0645 →
SECURITY AGREEMENT Recorded Dec 14, 2009
From: AOL INC.; AOL ADVERTISING INC.; BEBO, INC.; ICQ LLC; GOING, INC.; LIGHTNINGCAST LLC; MAPQUEST, INC.; NETSCAPE COMMUNICATIONS CORPORATION; QUIGO TECHNOLOGIES LLC; SPHERE SOURCE, INC.; TACODA LLC; TRUVEO, INC.; YEDDA, INC.
To: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT
Reel/Frame 023649/0061 →