IP Library Granted Patent US 9,009,731
Granted Patent B2
US 9,009,731 · App. 14/148,052 · Granted Apr 14, 2015

Conversion of lightweight object to a heavyweight object

Inventors: Shu-Shang Sam Wei (Danville, CA); Roger W. Kilday (Danville, CA); Victor Spivak (San Mateo, CA); Meir Amiel (Pleasanton, CA); Venkat Chandrasekaran (Pleasanton, CA); Yik-Ping Li (Fremont, CA); David Buccola (Pleasanton, CA)
Assignee: EMC Corporation
G06F9/4428G06F13/00G06F9/44G06F3/00
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,009,731
App. No.
14/148,052
Granted
Apr 14, 2015
Kind
B2
Abstract

Processing an object that shares a parent with another object is disclosed. An indication is received with respect to an object that shares a parent object instance with one or more other objects that a change associated with the object is to be made to a data comprising the shared parent object instance. The parent object instance is cloned to create a new parent object instance. The new parent object instance is designated as the parent of the object instance.

Claims (35)

1. A system for processing a lightweight composite object that shares a parent with another lightweight composite object, comprising:

a database for storing a lightweight composite object, one or more other lightweight composite objects, and a parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects share the parent object instance, wherein the lightweight composite object and the one or more other lightweight objects inherit data and behavior from the shared parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects each comprise a lightweight object instance and a link to the shared parent object instance, wherein the database stores one copy of the shared parent object instance;

an interface for receiving an indication that a change is to be made to data associated with the lightweight composite object, wherein the data comprises data of the shared parent object instance; and

a processor configured to:

clone the parent object instance to create a new parent object instance; and

designate the new parent object instance as the parent of the lightweight object instance corresponding to the lightweight composite object.

2. A system as in claim 1 , wherein the data comprises an attribute.

3. A system as in claim 1 , wherein the data comprises a behavior.

4. A system as in claim 1 , wherein the database stores one copy of the new parent object instance.

5. A system as in claim 1 , wherein the processor is further configured to remove the shared parent object instance as being designated as a parent of the lightweight object instance.

6. A method for processing a lightweight composite object that shares a parent with another lightweight composite object, comprising:

storing a lightweight composite object in a database, one or more other lightweight composite objects, and a parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects share the parent object instance, wherein the lightweight composite object and the one or more other lightweight objects inherit data and behavior from the shared parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects each comprise a lightweight object instance and a link to the shared parent object instance, wherein the database stores one copy of the shared parent object instance;

receiving an indication with respect to the lightweight composite object that a change is to be made to data associated with the lightweight composite object, wherein the data comprises data of the shared parent object instance;

cloning, using a processor, the parent object instance to create a new parent object instance; and

designating the new parent object instance as the parent of the lightweight object instance corresponding to the lightweight composite object.

7. A computer program product for processing a lightweight object instance that shares a parent with another lightweight composite object, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

storing a lightweight composite object in a database, one or more other lightweight composite objects, and a parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects share the parent object instance, wherein the lightweight composite object and the one or more other lightweight objects inherit data and behavior from the shared parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects each comprise a lightweight object instance and a link to the shared parent object instance, wherein the database stores one copy of the shared parent object instance;

receiving an indication that a change is to be made to data associated with the lightweight composite object, wherein the data comprises data of the shared parent object instance;

cloning the parent object instance to create a new parent object instance; and

designating the new parent object instance as the parent of the lightweight object instance corresponding to the lightweight composite object.

8. A system for processing a lightweight composite object that shares a parent with another lightweight composite object, comprising:

a database for storing a lightweight composite object, one or more other lightweight composite objects, and a parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects share the parent object instance, wherein the lightweight composite object and the one or more other lightweight objects inherit data and behavior from the shared parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects each comprise a lightweight object instance and a link to the shared parent object instance, wherein the database stores one copy of the shared parent object instance;

an interface for receiving an indication that a change is to be made to data associated with the lightweight composite object, wherein the data comprises data of the shared parent object instance; and

a processor configured to:

determine whether there is an existing appropriate parent object instance in the database; and

in the event that there is an existing appropriate parent object instance, designate the existing appropriate parent object instance as the parent of the lightweight object instance corresponding to the lightweight composite object.

9. A system as in claim 8 , wherein the processor is further configured to remove the shared parent object instance as being designated as a parent of the lightweight object instance.

10. A system as in claim 8 , wherein the data comprises an attribute.

11. A system as in claim 8 , wherein the data comprises a behavior.

12. A system as in claim 8 , wherein the databases stores one copy of the existing appropriate parent.

13. A method for processing a lightweight composite object that shares a parent with another lightweight composite object, comprising:

storing a lightweight composite object in a database, one or more other lightweight composite objects, and a parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects share the parent object instance, wherein the lightweight composite object and the one or more other lightweight objects inherit data and behavior from the shared parent object instance, wherein the lightweight composite object and the one or more other lightweight composite objects each comprise a lightweight object instance and a link to the shared parent object instance, wherein the database stores one copy of the shared parent object instance;

receiving an indication that a change is to be made to data associated with the lightweight composite object instance, wherein the data comprises data of the shared parent object instance;

determining, using a processor, whether there is an existing appropriate parent object instance; and

in the event that there is an existing appropriate parent object instance, designating the existing appropriate parent object instance as the parent of the lightweight object instance corresponding to the lightweight composite object.

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 Mar 21, 2014
From: WEI, SHU-SHANG SAM; KILDAY, ROGER W.; SPIVAK, VICTOR; AMIEL, MEIR; CHANDRASEKARAN, VENKAT; LI, YIK-PING; BUCCOLA, DAVID
To: EMC CORPORATION
Reel/Frame 032496/0064 →
Continuity (2)
Continuation 11906174 · Sep 28, 2007
Related Publication 20140189715A1 · Jul 3, 2014