IP Library Granted Patent US 9,930,116
Granted Patent B2
US 9,930,116 · App. 14/727,779 · Granted Mar 27, 2018

Method and system for selecting a transport mechanism and a storage process

Inventors: Sachin N. Dhamdhere (Southborough, MA); Nirav Gandhi (Lexington, MA); Drupad Panchal (Pelham, NH); Alexander Hamilton (Beverly Hills, CA); Jonathan Klein (Emerald Hills, CA); Parmeet Arora (Foster City, CA)
Assignee: Oracle International Corporation
H04L67/1097H04L69/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,930,116
App. No.
14/727,779
Granted
Mar 27, 2018
Kind
B2
Abstract

A system includes a transmitting agent configured to select a transport mechanism for transmitting a data item, and a receiving agent configured to select one or more data repositories and a storage process for storing the data item. One storage process includes storing the data item temporarily in the second data repository, and subsequently transferring the data item from the second data repository into the first data repository. Another storage process includes storing the data item into a first data repository without temporarily storing the data item in the second data repository.

Claims (53)

1. A system comprising:

a transmitting agent configured to perform a first set of operations comprising:

determining a first set of one or more characteristics of a first data item to be transmitted from the transmitting agent to a receiving agent;

determining a second set of one or more characteristics of a second data item to be transmitted from the transmitting agent to the receiving agent;

based on the first set of characteristics of the first data item, selecting a first transport mechanism from a plurality of transport mechanisms to transport the first data item from the transmitting agent to the receiving agent;

based on the second set of characteristics of the second data item, selecting a second transport mechanism from the plurality of transport mechanisms to transport the second data item from the transmitting agent to the receiving agent, wherein the first transport mechanism is different than the second transport mechanism;

transmitting the first data item to the receiving agent using the first transport mechanism and the second data item to the receiving agent using the second transport mechanism; and

the receiving agent configured to perform a second set of operations comprising:

responsive to receiving the first data item from the transmitting agent via the first transport mechanism:

causing storing of the first data item into a first data repository without temporarily storing the first data item in a second data repository;

responsive to receiving the second data item from the transmitting agent via the second transport mechanism:

based on a third set of one or more characteristics of the second data item, determining to perform and performing one of:

causing storing of the second data item into the first data repository without temporarily storing the second data item in the second data repository; or

causing storing of the second data item temporarily into the second data repository and causing transferring of the second data item from the second data repository into the first data repository.

2. The system of claim 1 , wherein the transmitting agent is executing on a client device and the receiving agent is executing on a server different than the client device.

3. The system of claim 1 , wherein the second set of characteristics and the third set of characteristics are identical.

4. The system of claim 1 , wherein the second set of characteristics and the third set of characteristics are mutually exclusive.

5. The system of claim 1 , wherein the first set of characteristics indicates a size of the first data item, and the first transport mechanism is selected by the transmitting agent for transmitting the first data item if the size of the first data item is greater than a threshold value.

6. The system of claim 1 , wherein the first transport mechanism uses a different communications protocol than the second transport mechanism.

7. The system of claim 1 , wherein transmitting the first data item using the first transport mechanism comprises:

partitioning the first data item into a plurality of portions, each portion identified by a respective identifier, and each portion comprising a respective plurality of packets;

transmitting each portion of the first data item from the transmitting agent to the receiving agent,

wherein the receiving agent aggregates the plurality of portions, received via the first transport mechanism, to obtain the first data item.

8. The system of claim 1 , wherein transmitting the second data item using the second transport mechanism comprises transmitting the second data item using a HyperText Transfer Protocol (HTTP) POST request.

9. The system of claim 1 , wherein the first set of operations further comprise:

prior to transmitting the first data item using the first transport mechanism:

transmitting, by the transmitting agent to the receiving agent, a notification identifying the first transport mechanism to be used for transmitting the first data item.

10. The system of claim 1 , wherein the first set of operations further comprise:

prior to transmitting the first data item using the first transport mechanism:

transmitting, by the transmitting agent to the receiving agent, a HyperText Transfer Protocol (HTTP) header identifying the first transport mechanism to be used for transmitting the first data item.

11. The system of claim 1 , wherein the first data item includes a header that indicates the first transport mechanism is being used for transmitting the first data item.

12. The system of claim 1 , wherein the first data repository comprises non-volatile memory and the second data repository comprises volatile memory.

13. The system of claim 1 , wherein the first data repository comprises a Hard Disk File System (HDFS) and the second data repository comprises an in-memory buffer implemented on a same device as the receiving agent.

14. The system of claim 1 , wherein the second set of operations further comprise:

causing transferring of the second data item from the second data repository into the first data repository responsive to:

determining that an amount of data stored in the second data repository is above a threshold value.

15. A method comprising:

determining, by a transmitting agent, a first set of one or more characteristics of a first data item to be transmitted from the transmitting agent to a receiving agent;

determining, by the transmitting agent, a second set of one or more characteristics of a second data item to be transmitted from the transmitting agent to the receiving agent;

based on the first set of characteristics of the first data item, selecting a first transport mechanism from a plurality of transport mechanisms to transport the first data item from the transmitting agent to the receiving agent;

based on the second set of characteristics of the second data item, selecting a second transport mechanism from the plurality of transport mechanisms to transport the second data item from the transmitting agent to the receiving agent, wherein the first transport mechanism is different than the second transport mechanism;

transmitting, from the transmitting agent to the receiving agent, the first data item using the first transport mechanism and the second data item using the second transport mechanism;

responsive to receiving the first data item from the transmitting agent at the receiving agent via the first transport mechanism:

causing, by the receiving agent, storing of the first data item into a first data repository without temporarily storing the first data item in a second data repository; and

responsive to receiving the second data item from the transmitting agent at the receiving agent via the second transport mechanism:

based on a third set of one or more characteristics of the second data item, determining to perform and performing one of:

causing, by the receiving agent, storing of the second data item into the first data repository without temporarily storing the second data item in the second data repository; or

causing, by the receiving agent, storing of the second data item temporarily into the second data repository and causing transferring of the second data item from the second data repository into the first data repository.

16. The method of claim 15 , wherein the transmitting agent is executing on a client device and the receiving agent is executing on a server different than the client device.

17. The method of claim 15 , wherein the second set of characteristics and the third set of characteristics are identical.

18. The method of claim 15 , wherein the second set of characteristics and the third set of characteristics are mutually exclusive.

19. The method of claim 15 , wherein the first set of characteristics indicates a size of the first data item, and the first transport mechanism is selected by the transmitting agent for transmitting the first data item if the size of the first data item is greater than a threshold value.

20. The method of claim 15 , wherein the first transport mechanism uses a different communications protocol than the second transport mechanism.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2015
From: DHAMDHERE, SACHIN N.; GANDHI, NIRAV; PANCHAL, DRUPAD; HAMILTON, ALEXANDER; KLEIN, JONATHAN; ARORA, PARMEET
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 035876/0558 →
Continuity (1)
Related Publication 20160352833A1 · Dec 1, 2016