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

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 7,987,210
App. No.
11/906,185
Granted
Jul 26, 2011
Kind
B1
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 (41)

1. A method for creating an object, comprising:

receiving an indication to create an instance of a lightweight type for the object;

determining whether an associated sharable type is available;

in the event that an associated sharable type is not available, declaring a sharable type;

determining whether the lightweight type is available;

in the event that the lightweight type is not available, declaring the lightweight type, wherein the sharable type is designated as a parent of the lightweight type;

determining whether an instance of the sharable type is available;

in the event that the instance of the sharable type is not available, creating, in a memory, the instance of a sharable type;

creating, in the memory, an instance of a lightweight type, wherein the sharable type is designated as a parent of the lightweight type, wherein the lightweight type inherits behavior from the sharable type; wherein the instance of the lightweight type inherits behavior from the instance of the sharable type; wherein the instance of the sharable type is shared by one or more other instances of the lightweight type, and wherein the instance of the sharable type that is shared by the one or more other instances of the lightweight type has identical data for each of the one or more other instances of the lightweight type and for the instance of the sharable type; and

storing, in a database, the object comprising the instance of the lightweight type that is linked to a stored instance of the sharable type.

2. A method as in claim 1 , further comprising receiving an indication to create an object.

3. A method as in claim 1 , wherein declaring the sharable type comprises one of the following: creating a new sharable type or modifying a previously declared non-sharable type.

4. A method as in claim 1 , wherein declaring the lightweight type comprises one of the following: creating a new lightweight type, modifying a previously declared heavyweight type, or creating a subtype of another lightweight type.

5. A method as in claim 1 , further comprising storing one or more of the following in a database: the sharable type, and the lightweight type.

6. A method 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.

7. A computer program product for creating a lightweight instance, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer executable instructions for:

receiving an indication to create an instance of a lightweight type;

determining whether an associated sharable type is available;

in the event that an associated sharable type is not available, declaring a sharable type; determining whether the lightweight type is available;

in the event that the lightweight type is not available, declaring the lightweight type, wherein the sharable type is designated as a parent of the lightweight type;

determining whether an instance of the sharable type is available;

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

creating, in the memory, an instance of a lightweight type, wherein the sharable type is designated as a parent of the lightweight type, wherein the lightweight type inherits behavior from the sharable type; wherein the instance of the lightweight type inherits behavior from the instance of the sharable type; wherein the instance of the sharable type is shared by one or more other instances of the lightweight type, and wherein the instance of the sharable type that is shared by the one or more other instances of the lightweight type has identical data for each of the one or more other instances of the lightweight type and for the instance of the sharable type; and

storing, in a database, the object comprising the instance of the lightweight type that is linked to a stored instance of the sharable type.

8. A system for creating a lightweight instance, comprising:

a memory;

a processor configured to:

receive an indication to create an instance of a lightweight type;

determine whether an associated sharable type is available;

in the event that an associated sharable type is not available, declare a sharable type;

determine whether the lightweight type is available;

in the event that the lightweight type is not available, declare the lightweight type, wherein the sharable type is designated as a parent of the lightweight type;

determine whether an instance of the sharable type is available;

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

create, in the memory, an instance of a lightweight type, wherein the sharable type is designated as a parent of the lightweight type, wherein the lightweight type inherits behavior from the sharable type; wherein the instance of the lightweight type inherits behavior from the instance of the sharable type; wherein the instance of the sharable type is shared by one or more other instances of the lightweight type, and wherein the instance of the sharable type that is shared by the one or more other instances of the lightweight type has identical data for each of the one or more other instances of the lightweight type and for the instance of the sharable type; and

a database, wherein the object is stored, wherein the object comprises the instance of the lightweight type that is linked to a stored instance of the sharable type.

9. A system as in claim 8 , wherein the processor is further configured to receive an indication to create an object.

10. A system as in claim 8 , wherein declaring the sharable type comprises one of the following: creating a new sharable type or modifying a previously declared non-sharable type.

11. A system as in claim 8 , wherein declaring the lightweight type comprises one of the following: creating a new lightweight type, modifying a previously declared heavyweight type, or creating a subtype of another lightweight type.

12. A system as in claim 8 , wherein the processor is further configure to store one or more of the following in a database: the sharable type and the lightweight type.

13. A system as in claim 8 , 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.

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 23, 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 020404/0641 →