IP Library Granted Patent US 8,560,572
Granted Patent B2
US 8,560,572 · App. 13/161,580 · Granted Oct 15, 2013

System for lightweight 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 8,560,572
App. No.
13/161,580
Granted
Oct 15, 2013
Kind
B2
Abstract

Creating an object is disclosed. An instance of a sharable type is created. An instance of a lightweight type is created. The sharable type is designated as a parent of the lightweight type. The instance of the sharable type is designated as a parent of the instance of the lightweight type. The instance of the sharable type may be shared by one or more other instances of the lightweight type.

Claims (51)

1. A system for storing a lightweight type, comprising:

memory; and

a processor configured to

store an instance of a lightweight type and an instance of a sharable type;

clone an instance of the sharable type to create a new instance of a sharable type;

determine whether the sharable type associated with the lightweight type is available;

in an event that the sharable type is not available, create in the memory the sharable type;

create in the memory the lightweight type, wherein the instance of sharable type is designated as a parent of lightweight instance;

remove the instance of sharable type from being designated as the parent of the lightweight instance; and

designate the new instance of the sharable type as being a parent of the lightweight instance,

wherein the instance of the sharable type is shared by a first instance and a second instance of the lightweight type, the first instance of the lightweight type being separate from the second instance of the lightweight type;

wherein the first instance and the second instance of the lightweight type inherit behavior from the instance of the sharable type;

wherein a lightweight composite object instance comprises the instance of sharable type and one of the first instance and the second instance of the lightweight type; and

wherein the lightweight type, the sharable type, the instance of sharable type, and the first instance and the second instance of the lightweight type are stored in a database.

2. The system as in claim 1 , wherein creating the sharable type comprises creating a new sharable type.

3. The system as in claim 1 , wherein creating the sharable type comprises modifying a previously declared non-sharable type.

4. The system as in claim 1 , wherein the processor is further configured to receive an indication to create an object of the lightweight type.

5. The system as in claim 1 , wherein declaring the lightweight type comprises creating a new lightweight type.

6. The system as in claim 1 , wherein declaring the lightweight type comprises modifying a previously declared heavyweight type.

7. The system as in claim 1 , wherein declaring the lightweight type comprises creating a subtype of another lightweight type.

8. The system as in claim 1 , wherein the processor is further configured to store in a database the sharable type.

9. The system as in claim 1 , wherein the processor is further configured to create in the memory an instance of the sharable type.

10. The system as in claim 9 , wherein the instance of the sharable type is stored in a database.

11. The system as in claim 1 , wherein the processor is further configured to store in a database an instance of the lightweight type.

12. The system as in claim 11 , wherein the instance of the lightweight type is stored in a database.

13. The system as in claim 1 , wherein the lightweight type is one of a plurality of lightweight types, wherein each of the plurality of lightweight types have the sharable type designated as a parent.

14. The system as in claim 1 , wherein the instance of the sharable type has identical data for each of the first instance and the second instance of the lightweight type.

15. A method for storing a lightweight type, comprising:

storing an instance of a lightweight type and an instance of a sharable type;

cloning an instance of the sharable type to create a new instance of a sharable type;

determining whether the sharable type associated with the lightweight type is available;

in an event that the sharable type is not available, creating in memory the sharable type;

creating in the memory the lightweight type, wherein the instance of sharable type is designated as a parent of lightweight instance;

removing the instance of sharable type from being designated as the parent of the lightweight instance; and

designating the new instance of the sharable type as being a parent of the lightweight instance,

wherein the instance of the sharable type is shared by a first instance and a second instance of the lightweight type, the first instance of the lightweight type being separate from the second instance of the lightweight type;

wherein the first instance and the second instance of the lightweight type inherit behavior from the instance of the sharable type;

wherein a lightweight composite object instance comprises the instance of sharable type and one of the first instance and the second instance of the lightweight type; and

wherein the lightweight type, the sharable type, the instance of sharable type, and the first instance and the second instance of the lightweight type are stored in a database.

16. A computer program product for storing a lightweight type, the computer program product comprising a non-transitory computer readable medium stored thereon computer instructions for:

storing an instance of a lightweight type and an instance of a sharable type;

cloning an instance of the sharable type to create a new instance of a sharable type;

determining whether the sharable type associated with the lightweight type is available;

in an event that the sharable type is not available, creating in memory the sharable type;

creating in the memory the lightweight type, wherein the instance of sharable type is designated as a parent of lightweight instance;

removing the instance of sharable type from being designated as the parent of the lightweight instance; and

designating the new instance of the sharable type as being a parent of the lightweight instance,

wherein the instance of the sharable type is shared by a first instance and a second instance of the lightweight type, the first instance of the lightweight type being separate from the second instance of the lightweight type;

wherein the first instance and the second instance of the lightweight type inherit behavior from the instance of the sharable type;

wherein a lightweight composite object instance comprises the instance of sharable type and one of the first instance and the second instance of the lightweight type; and

wherein the lightweight type, the sharable type, the instance of sharable type, and the first instance and the second instance of the lightweight type are stored in a database.

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 Jun 16, 2011
From: WEI, SHU-SHANG SAM; KILDAY, ROGER W.; SPIVAK, VICTOR; AMIEL, MEIR; CHANDRASEKARAN, VENKAT; LI, YIK-PING; BUCCOLA, DAVID
To: EMC CORPORATION
Reel/Frame 026478/0893 →