IP Library Granted Patent US 10,505,863
Granted Patent B1
US 10,505,863 · App. 15/799,389 · Granted Dec 10, 2019

Multi-framework distributed computation

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 10,505,863
App. No.
15/799,389
Granted
Dec 10, 2019
Kind
B1
Abstract

A computing device of a data zone includes a persistent storage and a processor. The persistent storage includes a locked data batch of the data zone. The processor obtains an upstream computation request; instantiates a computation framework to process the locked data batch based on a global data batch specified in the upstream computation request; instantiates a downstream computation manager to manage a downstream computation; and instantiates, by the downstream computation manager, a second computation framework in a second computing device of a second data zone to process a second locked data batch of the second data zone.

Claims (69)

1. A computing device of a first data zone, comprising:

a persistent storage comprising a first locked data batch of the first data zone; and

a processor programmed to:

obtain an upstream computation request;

instantiate a first computation framework to process the first locked data batch based on a global data batch specified in the upstream computation request;

instantiate a downstream computation manager to manage a downstream computation;

instantiate, by the downstream computation manager, a second computation framework in a second computing device of a second data zone to process a second locked data batch of the second data zone;

obtain a first computation result from the second computation framework; and

generate a second computation result using:

the first computation framework,

the first locked data batch, and

the first computation result,

wherein the first locked data batch and the first computation result match a same grouping criteria.

2. The computing device of claim 1 , wherein the second locked data batch cannot be transmitted to the computing device.

3. The computing device of claim 1 , wherein the upstream computation request is a global computation request generated by a client.

4. The computing device of claim 1 , wherein the upstream computation request is a downstream computation request that was instantiated by a third computation framework.

5. The computing device of claim 1 , wherein the first computation framework comprises:

a local computation that generates a first computation result stored on the persistent storage,

wherein the local computation is based on the global data batch of the upstream computation request.

6. The computing device of claim 5 , wherein the global data batch specifies:

the first locked data batch, and

the second locked data batch.

7. The computing device of claim 5 , wherein the global data batch specifies a data type of the first locked data batch, wherein a data type of the second locked data batch is the same as the data type of the first locked data batch.

8. The computing device of claim 1 , wherein the processor is further programmed to:

before instantiating the second computation framework:

determine, by the downstream computation manager, a first computing resource cost of processing the second locked data batch using the second computing device;

determine, by the downstream computation manager, a second computing resource cost of processing the second locked data batch using a third computing device of a third data zone; and

select, by the downstream computation manager, to instantiate the second computing framework in the second computing device based on the first computing resource cost and the second computing resource cost.

9. The computing device of claim 1 , wherein instantiating, by the downstream computation manager, the second computation framework in the second computing device of the second data zone to process the second locked data batch of the second data zone comprises:

generating a downstream computation request; and

sending the generated downstream computation request to the second computing device.

10. The computing device of claim 9 , wherein the downstream computation request comprises a description of a second local computation to be performed by the second computing device.

11. The computing device of claim 9 , wherein the downstream computation request specifies a type of computation to be performed as a second local computation to be performed by the second computing device.

12. The computing device of claim 9 , wherein the downstream computation request specifies a plurality of types of computations, wherein the downstream computation request specifies that one of the plurality of types of computations is to be performed as a local computation of the second computing device.

13. The computing device of claim 1 , wherein instantiating the computation framework to process the first locked data batch based on the global data batch specified in the upstream computation request comprises:

determining a format of the first locked data batch;

determining a computational cost of each of a plurality of computation types for the format of the first locked data batch;

determining a computation type of the plurality of computation types that has a relatively low computation cost of the computational costs of each of the plurality of computation types; and

instantiating a local computation of the determined computation type using the locked data batch.

14. The computing device of claim 13 , wherein the local computation is one selected from a group consisting of a map/reduce computation, a split-apply-combine computation, and a partially parallel computation.

15. The computing device of claim 1 , wherein the first data zone is a first cloud computing environment comprising the computing device.

16. The computing device of claim 15 , wherein the second data zone is a second cloud computing environment comprising the second computing device.

17. The computing device of claim 1 , wherein generating the second computation result comprises:

generating a third computation result based on the first locked data batch;

generating the second computation result using the third computation result and the first computation result; and

marking the second computation result as being contemporaneous to the first computation result.

18. A method of operating a computing device of a first data zone, comprising:

obtaining, by the computing device, an upstream computation request;

instantiating, by the computing device, a first computation framework to process a first locked data batch based on a global data batch specified in the upstream computation request, wherein the first locked data batch is stored on a persistent storage of the computing device;

instantiating, by the computing device, a downstream computation manager on the computing device to manage a downstream computation;

instantiating, by the downstream computation manager of the computing device, a second computation framework in a second computing device of a second data zone to process a second locked data batch of the second data zone;

obtaining a first computation result from the second computation framework; and

generating a second computation result using:

the first computation framework,

the first locked data batch, and

the first computation result,

wherein the first locked data batch and the first computation result match a same grouping criteria.

19. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for operating a computing device of a first data zone, the method comprising:

obtaining, by the computing device, an upstream computation request;

instantiating, by the computing device, a first computation framework to process a first locked data batch based on a global data batch specified in the upstream computation request, wherein the first locked data batch is stored on a persistent storage of the computing device;

instantiating, by the computing device, a downstream computation manager on the computing device to manage a downstream computation;

instantiating, by the downstream computation manager of the computing device, a second computation framework in a second computing device of a second data zone to process a second locked data batch of the second data zone;

obtaining a first computation result from the second computation framework; and

generating a second computation result using:

the first computation framework,

the first locked data batch, and

the first computation result,

wherein the first locked data batch and the first computation result match a same grouping criteria.

20. The non-transitory computer readable medium of claim 19 , wherein the second locked data batch cannot be transmitted to the computing device.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2018
From: FLORISSI, PATRICIA GOMES SOARES; MASAD, OFRI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044614/0608 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →