IP Library Granted Patent US 10,977,016
Granted Patent B2
US 10,977,016 · App. 15/764,861 · Granted Apr 13, 2021

Management of data using templates

Inventors: Wenbin Lu (Shanghai, CN); Timothy Bruce (Carrollton, TX); Neil Li (Shanghai, CN); Leo Lei Wang (Shanghai, CN); Xiaofeng Luo (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F8/41
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,977,016
App. No.
15/764,861
Granted
Apr 13, 2021
Kind
B2
Abstract

A computing device includes a persistent storage and a processor. The persistent storage includes an asset. The processor obtains a computation request for the asset, instantiates an executable entity based on a computation prototype and a manifest associated with the asset, performs the computation request using the instantiated executable entity and metadata specified by the manifest associated with the asset to obtain a computation result; and provides the obtained computation result.

Claims (86)

1. A method of operating a computing device, comprising:

obtaining a computation request for an asset comprising a computation type;

instantiating an executable entity based on a matched computation prototype and a manifest associated with the asset;

performing, to obtain a computation result, the computation request using:

the instantiated executable entity,

and metadata specified by the manifest associated with the asset; and

providing the obtained computation result,

wherein before obtaining the computation request:

matching an asset type of the asset to a template of a template library based on an asset type specified by the template, wherein the template comprises the asset type, the matched computational prototype, and metadata definitions; and

instantiating the manifest based on the matched template, wherein the manifest comprises an identifier of the asset, metadata associated with the asset based on the metadata definitions of the template, an identifier of the matched template, and the matched computation prototype of a computation type specified by the computation request,

wherein instantiating the executable entity based on the matched computation prototype and the manifest associated with the asset comprises:

matching the computation type of the request to the matched computation prototype;

modify the matched computation prototype using metadata of the manifest associated with the asset; and

generate the executable entity using the modified matched computation prototype, and

wherein modifying the matched computation prototype using the metadata of the manifest associated with the asset comprises:

identifying a placeholder of the matched computation prototype;

matching the identified placeholder to an element of the metadata of the manifest associated with the asset; and

replacing the placeholder with the matched element of the metadata of the manifest associated with the asset.

2. The method of claim 1 , wherein generating the executable entity using the modified matched computation prototype comprises:

compiling machine code executable by the processor based on the modified matched computation prototype.

3. The method of claim 1 , wherein performing the computation request using the instantiated executable entity and metadata specified by the manifest associated with the asset to obtain a computation result comprises:

compiling the executable entity to obtain machine code; and

executing the machine code.

4. The method of claim 1 , wherein executable entity comprises a high-level language script.

5. The method of claim 1 , wherein the machine code executes using meta data of the manifest associated with the asset.

6. The method of claim 1 , wherein instantiating the manifest based on the matched template comprises:

identifying the metadata definition specified by the matched template; and

generating the metadata of the manifest based on the metadata definition.

7. A computing device, comprising:

a persistent storage comprising an asset; and

a processor programmed to:

obtain a computation request for the asset comprising a computation type;

instantiate an executable entity based on a matched computation prototype and a manifest associated with the asset;

perform the computation request using the instantiated executable entity and metadata specified by the manifest associated with the asset to obtain a computation result; and

providing the obtained computation result,

wherein before obtaining the computation request, the processor:

matches an asset type of the asset to a template of a template library based on an asset type specified by the template, wherein the template comprises the asset type, the matched computational prototype, and metadata definitions; and

instantiate the manifest based on the matched template, wherein the manifest comprises an identifier of the asset, metadata associated with the asset based on the metadata definitions of the template, an identifier of the matched template, and the matched computation prototype of a computation type specified by the computation request,

wherein instantiating the executable entity based on the matched computation prototype and the manifest associated with the asset comprises:

matching the computation type of the request to the matched computation prototype;

modify the matched computation prototype using metadata of the manifest associated with the asset; and

generate the executable entity using the modified matched computation prototype, and

wherein modifying the matched computation prototype using the metadata of the manifest associated with the asset comprises:

identifying a placeholder of the matched computation prototype;

matching the identified placeholder to an element of the metadata of the manifest associated with the asset; and

replacing the placeholder with the matched element of the metadata of the manifest associated with the asset.

8. The computing device of claim 1 , wherein generating the executable entity using the modified matched computation prototype comprises:

compiling machine code executable by the processor based on the modified matched computation prototype.

9. The computing device of claim 1 , wherein performing the computation request using the instantiated executable entity and metadata specified by the manifest associated with the asset to obtain a computation result comprises:

compiling the executable entity to obtain machine code; and

executing the machine code.

10. The computing device of claim 9 , wherein executable entity comprises a high-level language script.

11. The computing device of claim 9 , wherein the machine code executes using meta data of the manifest associated with the asset.

12. The computing device of claim 1 , wherein instantiating the manifest based on the matched template comprises:

identifying the metadata definition specified by the matched template; and

generating the metadata of the manifest based on the metadata definition.

13. The computing device of claim 1 , wherein the computing device is a computer cluster.

14. The computing device of claim 1 , wherein the computing device is a cloud computing system.

15. 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, the method comprising:

obtaining a computation request for an asset comprising a computation type;

instantiating an executable entity based on a matched computation prototype and a manifest associated with the asset;

performing, to obtain a computation result, the computation request using:

the instantiated executable entity,

and metadata specified by the manifest associated with the asset; and

providing the obtained computation result,

wherein before obtaining the computation request:

matching an asset type of the asset to a template of a template library based on an asset type specified by the template, wherein the template comprises the asset type, the matched computational prototype, and metadata definitions; and

instantiating the manifest based on the matched template, wherein the manifest comprises an identifier of the asset, metadata associated with the asset based on the metadata definitions of the template, an identifier of the matched template, and the matched computation prototype of a computation type specified by the computation request,

wherein instantiating the executable entity based on the matched computation prototype and the manifest associated with the asset comprises:

matching the computation type of the request to the matched computation prototype;

modify the matched computation prototype using metadata of the manifest associated with the asset; and

generate the executable entity using the modified matched computation prototype, and

wherein modifying the matched computation prototype using the metadata of the manifest associated with the asset comprises:

identifying a placeholder of the matched computation prototype;

matching the identified placeholder to an element of the metadata of the manifest associated with the asset; and

replacing the placeholder with the matched element of the metadata of the manifest associated with the asset.

16. The non-transitory computer readable medium of claim 15 , wherein generating the executable entity using the modified matched computation prototype comprises:

compiling machine code executable by the processor based on the modified matched computation prototype.

17. The non-transitory computer readable medium of claim 15 , wherein performing the computation request using the instantiated executable entity and metadata specified by the manifest associated with the asset to obtain a computation result comprises:

compiling the executable entity to obtain machine code; and

executing the machine code.

18. The non-transitory computer readable medium of claim 15 , wherein executable entity comprises a high-level language script.

19. The non-transitory computer readable medium of claim 15 , wherein the machine code executes using meta data of the manifest associated with the asset.

20. The non-transitory computer readable medium of claim 15 , wherein instantiating the manifest based on the matched template comprises:

identifying the metadata definition specified by the matched template; and

generating the metadata of the manifest based on the metadata definition.

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 (046366/0014) 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
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2018
From: LU, WENBIN; BRUCE, TIMOTHY; LI, NEIL; WANG, LEO LEI; LUO, XIAOFENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045434/0603 →