IP Library Granted Patent US 7,987,470
Granted Patent B1
US 7,987,470 · App. 11/906,184 · Granted Jul 26, 2011

Converting heavyweight objects to lightwight objects

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 7,987,470
App. No.
11/906,184
Granted
Jul 26, 2011
Kind
B1
Abstract

Converting heavyweight instances to lightweight instances is disclosed. An indication is received to convert one or more heavyweight instances to corresponding one or more lightweight instances. One or more sharable parent instances is/are created. One or more lightweight instances is/are created. For each lightweight instance, one of the one or more sharable parent instances is/are designated as a parent to create a lightweight composite instance. Each of at least a subset of the one or more sharable parent instances is shared by two or more lightweight instances. And, the created lightweight composite instances are configured to provide the functionality provided by the one or more heavyweight instances.

Claims (62)

1. A method for converting heavyweight instances to lightweight instances, comprising:

receiving an indication to convert one or more heavyweight instances to corresponding one or more lightweight instances;

creating, using a processor, one or more sharable parent instances;

creating one or more lightweight instances;

for each lightweight instance, designating one of the one or more sharable parent instances as a parent to create a lightweight composite instance;

wherein each of at least a subset of the one or more sharable parent instances is shared by two or more lightweight instances and the created lightweight composite instances are configured to provide the functionality provided by the one or more heavyweight instances.

2. A method as in claim 1 , further comprising receiving a selection of heavyweight instances.

3. A method as in claim 2 , further comprising altering one or more sharable parent types identified from one or more heavyweight types associated with the selected heavyweight instances.

4. A method as in claim 2 , further comprising altering one or more lightweight types identified from one or more heavyweight types associated with the selected heavyweight instances.

5. A method as in claim 2 , further comprising:

altering one or more sharable parent types identified from one or more heavyweight types associated with the selected heavyweight instances;

altering one or more lightweight types identified from one or more heavyweight types associated with the selected heavyweight instances; and

for each lightweight type, designating one of the one or more sharable parent types as parent.

6. A method as in claim 1 , wherein creating the one or more sharable parent instances includes identifying one or more sharable parent instances from a plurality of heavyweight instances.

7. A method as in claim 1 , further comprising switching to use of the one or more lightweight instances.

8. A method as in claim 7 , further comprising preserving the one or more heavyweight instances prior to switching to use of the one or more lightweight instances.

9. A method as in claim 1 , further comprising validating use of the one or more lightweight instances.

10. A method as in claim 1 , further comprising committing to use of the one or more lightweight instances.

11. A method as in claim 10 , wherein committing includes one or more of the following: deleting the one or more selected heavyweight instances, deleting one or more heavyweight types associated with the one or more selected heavyweight instances, archiving the one or more selected heavyweight instances, and archiving one or more heavyweight types associated with the one or more selected heavyweight instances.

12. A method as in claim 1 , wherein validating includes determining if the one or more lightweight instances perform similar to the selected heavy weight instances.

13. A computer program product for converting heavyweight instances to lightweight instances, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving an indication to convert one or more heavyweight instances to corresponding one or more lightweight instances;

creating one or more sharable parent instances;

creating one or more lightweight instances;

for each lightweight instance, designating one of the one or more sharable parent instances as a parent to create a lightweight composite instance;

wherein each of at least a subset of the one or more sharable parent instances is shared by two or more lightweight instances and the created lightweight composite instances are configured to provide the functionality provided by the one or more heavyweight instances.

14. A computer program product as in claim 13 , further comprising receiving a selection of heavyweight instances.

15. A computer program product as in claim 14 , further comprising altering one or more sharable parent types identified from one or more heavyweight types associated with the selected heavyweight instances.

16. A computer program product as in claim 14 , further comprising altering one or more lightweight types identified from one or more heavyweight types associated with the selected heavyweight instances.

17. A computer program product as in claim 14 , further comprising:

altering one or more sharable parent types identified from one or more heavyweight types associated with the selected heavyweight instances;

altering one or more lightweight types identified from one or more heavyweight types associated with the selected heavyweight instances; and

for each lightweight type, designating one of the one or more sharable parent types as parent.

18. A computer program product as in claim 13 , wherein creating the one or more sharable parent instances includes identifying one or more sharable parent instances from a plurality of heavyweight instances.

19. A computer program product as in claim 13 , further comprising switching to use of the one or more lightweight instances.

20. A computer program product as in claim 19 , further comprising preserving the one or more heavyweight instances prior to switching to use of the one or more lightweight instances.

21. A computer program product as in claim 13 , further comprising validating use of the one or more lightweight instances.

22. A computer program product as in claim 13 , further comprising committing to use of the one or more lightweight instances.

23. A computer program product as in claim 22 , wherein committing includes one or more of the following: deleting the one or more selected heavyweight instances, deleting one or more heavyweight types associated with the one or more selected heavyweight instances, archiving the one or more selected heavyweight instances, and archiving one or more heavyweight types associated with the one or more selected heavyweight instances.

24. A computer program product as in claim 13 , wherein validating includes determining if the one or more lightweight instances perform similar to the selected heavy weight instances.

25. A system for converting heavyweight instances to lightweight instances, comprising:

an interface for receiving an indication to convert one or more heavyweight instances to corresponding one or more lightweight instances;

a processor configured to:

create one or more sharable parent instances;

create one or more lightweight instances;

for each lightweight instance, designate one of the one or more sharable parent instances as a parent to create a lightweight composite instance;

wherein each of at least a subset of the one or more sharable parent instances is shared by two or more lightweight instances and the created lightweight composite instances are configured to provide the functionality provided by the one or more heavyweight instances; and

a database for storing the one or more lightweight instances and the one or more sharable parent instances.

26. A system as in claim 25 , further comprising the processor configured to receive a selection of heavyweight instances.

27. A system as in claim 26 , further comprising the processor configured to alter one or more sharable parent types identified from one or more heavyweight types associated with the selected heavyweight instances.

28. A system as in claim 26 , further comprising the processor configured to alter one or more lightweight types identified from one or more heavyweight types associated with the selected heavyweight instances.

29. A system as in claim 26 , further comprising the processor configured to:

alter one or more sharable parent types identified from one or more heavyweight types associated with the selected heavyweight instances;

alter one or more lightweight types identified from one or more heavyweight types associated with the selected heavyweight instances; and

for each lightweight type, designate one of the one or more sharable parent types as parent.

30. A system as in claim 25 , wherein the processor configured to create the one or more sharable parent instances includes identifying one or more sharable parent instances from a plurality of heavyweight instances.

31. A system as in claim 25 , further comprising the processor configured to switch to use of the one or more lightweight instances.

32. A system as in claim 31 , further comprising the processor configured to preserve the one or more heavyweight instances prior to switching to use of the one or more lightweight instances.

33. A system as in claim 25 , further comprising the processor configured to validate use of the one or more lightweight instances.

34. A system as in claim 25 , further comprising the processor configured to commit to use of the one or more lightweight instances.

35. A system as in claim 34 , wherein the processor configured to commit includes one or more of the following: delete the one or more selected heavyweight instances, delete one or more heavyweight types associated with the one or more selected heavyweight instances, archive the one or more selected heavyweight instances, and archive one or more heavyweight types associated with the one or more selected heavyweight instances.

36. A system as in claim 25 , wherein the processor configured to validate includes determining if the one or more lightweight instances perform similar to the selected heavy weight instances.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0805) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT CORPORATION
Reel/Frame 067807/0069 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT CORPORATION
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0008 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0805 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0831 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0839 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2008
From: WEI, SHU-SHANG SAM; KILDAY, ROGER W.; SPIVAK, VICTOR; AMIEL, MEIR; CHANDRASEKARAN, VENKAT; LI, YIK-PING; BUCCOLA, DAVID
To: EMC CORPORATION
Reel/Frame 020432/0001 →