IP Library Granted Patent US 9,894,139
Granted Patent B2
US 9,894,139 · App. 14/663,484 · Granted Feb 13, 2018

Asynchronous data protocol

Inventors: Kenneth Carbone (Annandale, VA); Robert D. Greenlee (Leesburg, VA); Marc A. Katchay (Washington, DC); Harry G. Morgan (Leesburg, VA); Scott A. Quillen (Middleburg, VA)
Assignee: Oath Inc.
H04L67/06G06F11/073G06F11/0709G06F17/3087H04L47/10H04L47/193H04L51/00H04L51/06H04L67/10H04L67/1095H04L67/18
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,894,139
App. No.
14/663,484
Granted
Feb 13, 2018
Kind
B2
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 (50)

1. A computer-implemented method of asynchronously transferring data objects, the method comprising the following operations performed by one or more processors:

transmitting, from a first device to a second device, a request data frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred between the first device and the second device;

receiving, from the second device, a plurality of identifiers, each identifier corresponding to one of the data objects to be transferred; and

sending, from the first device to the second device, a transfer data frame including at least one assigned identifier and at least a portion of a corresponding data object, wherein the identifier is used by the second device to store the portion of the data object in a storage device.

2. The method of claim 1 , further comprising sending, from the first device to the second device, a second transfer data frame including at least one second assigned identifier and at least a second portion of a corresponding data object, the transfer data frame indicating that the second portion is the last portion of the corresponding data object.

3. The method of claim 1 , wherein the first device is a client and the second device comprises at least one server.

4. The method of claim 1 , wherein the plurality of identifiers is assigned by the second device.

5. The method of claim 1 , further comprising:

receiving a frame from the second device including change information relating to at least one of routing, transfer data frame size, or number of transfer data frames; and

sending a second transfer data frame that complies with the received change information.

6. A computer-implemented method of asynchronously transferring data objects, the method comprising the following operations performed by one or more processors:

receiving, by a second device from a first device, a request data frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred between the first device and the second device;

sending, by the second device, a plurality of identifiers, each identifier corresponding to one of the data objects to be transferred; and

receiving, from the first device, a transfer data frame including at least one assigned identifier and at least a portion of a corresponding data object, wherein the identifier is used by the second device to store the portion of the data object in a storage device.

7. The method of claim 6 , further comprising assigning, by the second device, the plurality of identifiers to the data objects.

8. The method of claim 6 , wherein the first device is a client and the second device comprises at least one server.

9. The method of claim 6 , wherein the data objects comprise data associated with electronic mail.

10. The method of claim 6 , further comprising:

determining resource availability of the second device;

generating, by the second device, a Previously Presented data frame including change information relating to at least one of routing, transfer data frame size, or number of transfer data frames;

sending the Previously Presented data frame to the first device; and

receiving a second transfer frame that complies with the change information.

11. A system comprising:

one or more processors;

a network communications device; and

a storage medium comprising instructions configured to, when executed by the one or more processors, perform a computer-implemented method comprising the following operations:

transmitting, from the system to a first device using the network communications device, a request data frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred between the system and the first device;

receiving, from the first device using the network communications device, a plurality of identifiers, each identifier corresponding to one of the data objects to be transferred; and

sending, to the first device using the network communications device, a transfer data frame including at least one assigned identifier and at least a portion of a corresponding data object, wherein the identifier is used by the first device to store the portion of the data object in a storage device.

12. The system of claim 11 , wherein the instructions are further configured to cause the one or more processors to send, to the first device, a second transfer data frame including at least one second assigned identifier and at least a second portion of a corresponding data object, the transfer data frame indicating that the second portion is the last portion of the corresponding data object.

13. The system of claim 11 , wherein the system is a client and the first device comprises at least one server.

14. The system of claim 11 , wherein the plurality of identifiers is assigned by the first device.

15. The system of claim 11 , further comprising:

receiving, using the network communications device, a frame from the first device including change information relating to at least one of routing, transfer data frame size, or number of transfer data frames; and

sending, from the system using the network communications device, a second transfer data frame that complies with the received change information.

16. A system, comprising:

one or more processors;

a network communications device; and

a storage medium comprising instructions configured to, when executed by the one or more processors, perform a computer-implemented method comprising the following operations:

receiving, at the system from a first device using the network communications device, a request data frame including a transfer type and a plurality of segments that each identify one of the data objects to be transferred between the first device and the system;

sending, to the first device using the network communications device, a plurality of identifiers, each identifier corresponding to one of the data objects to be transferred; and

receiving, from the first device using the network communications device, a transfer data frame including at least one assigned identifier and at least a portion of a corresponding data object, wherein the identifier is used by the system to store the portion of the data object in a storage device.

17. The system of claim 16 , wherein the instructions are further configured to cause the one or more processors to perform operations comprising assigning, by the system, the plurality of identifiers to the data objects.

18. The system of claim 16 , wherein the first device is a client and the system comprises at least one server.

19. The system of claim 16 , wherein the instructions are further configured to cause the one or more processors to perform operations comprising:

determining resource availability of the system;

generating, by the system, a Previously Presented data frame including change information relating to at least one of routing, transfer data frame size, or number of transfer data frames;

sending the Previously Presented data frame to the first device; and

receiving a second transfer frame that complies with the change information.

20. The system of claim 16 , wherein the data objects comprise data associated with electronic mail.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2023
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 063118/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
CHANGE OF NAME Recorded Aug 24, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043672/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2015
From: AOL LLC
To: AOL INC.
Reel/Frame 035216/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2015
From: CARBONE, KENNETH; GREENLEE, ROBERT D; KATCHAY, MARC A; MORGAN, HARRY G; QUILLEN, SCOTT A
To: AMERICA ONLINE, INC
Reel/Frame 035217/0115 →
CHANGE OF NAME Recorded Mar 20, 2015
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 035242/0123 →
Continuity (4)
Continuation 09582297
Provisional Application 60070617 · Jan 6, 1998
Provisional Application 60068868 · Dec 24, 1997
Related Publication 20150195339A1 · Jul 9, 2015