IP Library Granted Patent US 10,747,735
Granted Patent B2
US 10,747,735 · App. 15/957,802 · Granted Aug 18, 2020

System and method of dynamic data object upgrades

Inventors: Jeroen Van Rotterdam (Berkeley, CA); Mark Polman (Rotterdam, NL)
Assignee: EMC Corporation
G06F16/219G06F16/235G06F16/289G06F16/2471G06F16/27G06F16/9574
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,747,735
App. No.
15/957,802
Granted
Aug 18, 2020
Kind
B2
Abstract

A method, article of manufacture, and apparatus for managing a cloud computing environment. In some embodiments, this includes modifying an object or a component of an object at runtime and storing the modified object or modified component of an object in a storage device. In some embodiments, components of an object such as data structures are modified. In some embodiments, objects may have more than one version.

Claims (41)

1. A system for updating one or more data objects stored in a data repository, comprising:

a processor configured to:

determine that a type definition associated with a first data object is not a most recent version of the first data object's current data structure; and

modify, based at least in part on one or more update policies, the first data object's current data structure in accordance with the most recent version of the first data object's data structure, wherein one or more intermediate versions of the first data object's data structure are stored in the data repository, wherein the one or more intermediate versions of the first data object's data structure were stored in the data repository after the first object's data structure and before the most recent version of the first data object's data structure, each of one or more intermediate versions of the first data object's data structure has a corresponding update policy, wherein to modify, based at least in part on one or more update policies, the first data object's data structure in accordance with the most recent version of the first data object's data structure, the processor is further configured to:

identify update policies available from the data repository that effect the most recent version of the first data object's data,

determine an optimal order of the identified update policies needed to effect the update of the first data object's data structure from its current version to the most recent version of the first data object's data structure, wherein the optimal order includes skipping at least one of the one or more intermediate versions of the first data object's data structure, and

apply the one or more update policies of the determined optimal order to the first data object's data structure; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the processor is further configured to detect a user interaction with the first data object that includes the type definition.

3. The system of claim 1 , wherein the first data object's current data structure is determined at least in part based on a current version identifier associated with the first data object.

4. The system of claim 1 , wherein the processor is further configured to:

obtain a serialized form of the first data object from the data repository; and

store the serialized form of the first data object in the data repository.

5. The system of claim 1 , wherein the data structure of the first data object includes services.

6. The system of claim 1 , wherein the processor is further configured to:

select at least one of the identified update policies in order to minimize a number of update policies which must be applied to the first data object in order to effect compliance with an upgraded type definition.

7. The system of claim 1 , wherein to modify, based at least in part on one or more update policies, the processor is configured to select and apply a smallest number of update policies necessary to effect update of the object's data structure.

8. The system of claim 1 , wherein to access the first data object comprises accessing a serialized form of the object.

9. The system of claim 8 , wherein the processor is further configured to store the modified first data object in serialized form.

10. The system of claim 1 , wherein the processor is further configured to apply the update policies based at least in part on an availability of computer resources.

11. The system of claim 1 , wherein to determine the optimal order of the identified update policies needed to effect the update of the first data object's data structure from its current version to the most recent version of the first data object's data structure further, the processor is configured to identify a subset of the identified update policies that provides the optimal order.

12. The system of claim 1 , wherein the optimal order is a non-sequential order of the one or more update policies.

13. The system of claim 1 , wherein the identified update policies of the determined optimal order are applied to the first data object's data structure based at least in part on a version order.

14. A method for updating one or more data objects stored in a data repository, comprising:

determining that a type definition associated with a first data object is not a most recent version of the first data object's current data structure;

modifying, based at least in part on one or more update policies, the first data object's current data structure in accordance with the most recent version of the first data object's data structure, wherein one or more intermediate versions of the first data object's data structure are stored in the data repository, wherein the one or more intermediate versions of the first data object's data structure were stored in the data repository after the first object's data structure and before the most recent version of the first data object's data structure, each of one or more intermediate versions of the first data object's data structure has a corresponding update policy, wherein modifying, based at least in part on one or more update policies, the first data object's data structure in accordance with the most recent version of the first data object's data structure comprises:

identifying update policies available from the data repository that effect the most recent version of the first data object's data,

determining an optimal order of the identified update policies needed to effect the update of the first data object's data structure from its current version to the most recent version of the first data object's data structure, wherein the optimal order includes skipping at least one of the one or more intermediate versions of the first data object's data structure, and

applying the one or more update policies of the determined optimal order to the first data object's data structure.

15. The method of claim 14 , wherein the first data object's current data structure is determined at least in part based on a current version identifier associated with the first data object.

16. The method of claim 14 , further comprising:

obtaining a serialized form of the first data object from the data repository; and

storing the serialized form of the first data object in the data repository.

17. The method of claim 14 , further comprising select at least one of the identified update policies in order to minimize a number of update policies which must be applied to the first data object in order to effect compliance with an upgraded type definition.

18. The method of claim 14 , wherein the optimal order comprises a fewest number of the one or more update policies available from the data repository.

19. The method of claim 14 , wherein determining the optimal order of the identified update policies needed to effect the update of the first data object's data structure from its current version to the most recent version of the first data object's data structure further includes identifying a subset of the identified update policies that provides the optimal order.

20. A computer program product, the computer program product being embodied in a tangible non-transitory computer readable medium and comprising computer instructions for:

determining that a type definition associated with a first data object is not a most recent version of the first data object's current data structure; and

modifying, based at least in part on one or more update policies, the first data object's current data structure in accordance with the most recent version of the first data object's data structure, wherein one or more intermediate versions of the first data object's data structure are stored in the data repository, wherein the one or more intermediate versions of the first data object's data structure were stored in the data repository after the first object's data structure and before the most recent version of the first data object's data structure, each of one or more intermediate versions of the first data object's data structure has a corresponding update policy, wherein modifying, based at least in part on one or more update policies, the first data object's data structure in accordance with the most recent version of the first data object's data structure comprises:

identifying update policies available from a data repository that effect the most recent version of the first data object's data, determining an optimal order of the identified update policies needed to effect the update of the first data object's data structure from its current version to the most recent version of the first data object's data structure, wherein the optimal order includes skipping at least one of the one or more intermediate versions of the first data object's data structure, and

applying the one or more update policies of the determined optimal order to the first data object's data structure.

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 (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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2018
From: VAN ROTTERDAM, JEROEN; POLMAN, MARK
To: EMC CORPORATION
Reel/Frame 045593/0827 →