IP Library Granted Patent US 11,720,607
Granted Patent B2
US 11,720,607 · App. 16/909,643 · Granted Aug 8, 2023

System for lightweight objects

Inventors: Shu-Shang Sam Wei (Danville, CA); Roger W. Kilday (Danville, CA); Victor Spivak (San Mateo, CA); Meir Amiel (Pleasanton, CA); Venkat Chandrasekaran (Newark, NJ); Yik-Ping Li (Fremont, CA); David Buccola (Pleasanton, CA)
Assignee: OPEN TEXT CORPORATION
G06F16/289G06F16/28
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 11,720,607
App. No.
16/909,643
Granted
Aug 8, 2023
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 is shareable by one or more other instances of the lightweight type.

Claims (40)

1. A system for managing content using lightweight objects, comprising a hardware processor operatively coupled to a computer-readable memory, wherein the processor is configured to:

store, in a computer-readable memory, a plurality of lightweight composite object instances as a plurality of lightweight object instances that refer to a shareable instance as a parent, wherein only a single copy of the shareable instance is stored in the computer-readable memory for the plurality of lightweight composite object instances, and not a copy for each of the plurality of lightweight composite object instances;

receive a request to delete a lightweight composite object instance, wherein the lightweight composite object instance comprises an instance of a lightweight type, the lightweight type having a shareable type designated as a parent of the lightweight type, wherein the lightweight type inherits one or more behaviors or data from the shareable type, the lightweight composite object instance having the shareable instance designated as a parent instance of the instance of the lightweight type, wherein the lightweight composite object instance inherits the one or more behaviors or data from the shareable instance;

responsive to the request:

delete the instance of the lightweight type;

determine whether the sharable instance is being shared by another lightweight composite object instance;

if the sharable instance is not being shared by another lightweight composite object instance, delete the sharable instance; and

if the sharable instance is being shared by another lightweight composite object instance, retain the sharable instance.

2. The system of claim 1 , wherein the lightweight composite object instance and the shareable instance are stored in a memory coupled to the hardware processor.

3. The system of claim 2 , wherein the memory comprises a data repository of a content server, and wherein the lightweight composite object instance and the shareable instance are stored in a database in the data repository.

4. The system of claim 1 , wherein the lightweight composite object instance comprises at least a base class instance and a subclass instance; wherein the base class instance is a single base class instance that is shared by each of a plurality of lightweight composite object instances; and wherein the subclass instance is not shared by each of the plurality of lightweight composite object instances.

5. The system of claim 1 , wherein the shareable type includes a set of higher class types that are common to each heavyweight type of a group of heavyweight types, and wherein the lightweight type includes a set of lower class types that are not common to each heavyweight type of the group of heavyweight types.

6. The system of claim 1 , wherein determining whether the sharable instance is being shared by another lightweight composite object instance comprises determining whether the shareable instance is being shared by a lightweight instance.

7. A computer program product comprising a non-transitory computer-readable memory having stored thereon instructions for:

storing, in a computer-readable memory, a plurality of lightweight composite object instances as a plurality of lightweight object instances that refer to a shareable instance as a parent, wherein only a single copy of the shareable instance is stored in the computer-readable memory for the plurality of lightweight composite object instances, and not a copy for each of the plurality of lightweight composite object instances;

receiving a request to delete a lightweight composite object instance, wherein the lightweight composite object instance comprises an instance of a lightweight type, the lightweight type having a shareable type designated as a parent of the lightweight type, wherein the lightweight type inherits one or more behaviors or data from the shareable type, the lightweight composite object instance having the shareable instance designated as a parent instance of the instance of the lightweight type, wherein the lightweight composite object instance inherits the one or more behaviors or data from the shareable instance;

responsive to the request:

deleting the instance of the lightweight type;

determining whether the sharable instance is being shared by another lightweight composite object instance;

if the sharable instance is not being shared by another lightweight composite object instance, deleting the sharable instance; and

if the sharable instance is being shared by another lightweight composite object instance, retaining the sharable instance.

8. The computer program product of claim 7 , further comprising instructions for, prior to deleting the lightweight composite object instance, storing the lightweight composite object instance and the shareable instance in a memory.

9. The computer program product of claim 8 , wherein the memory comprises a data repository of a content server, wherein storing the lightweight composite object instance comprises storing the lightweight composite object instance in a database in the data repository.

10. The computer program product of claim 7 , wherein the lightweight composite object instance comprises at least a base class instance and a subclass instance;

wherein the base class instance is a single base class instance that is shared by each of a plurality of lightweight composite object instances; and wherein the subclass instance is not shared by each of the plurality of lightweight composite object instances.

11. The computer program product of claim 7 , wherein the shareable type includes a set of higher class types that are common to each heavyweight type of a group of heavyweight types, and wherein the lightweight type includes a set of lower class types that are not common to each heavyweight type of the group of heavyweight types.

12. The computer program product of claim 7 , wherein determining whether the sharable instance is being shared by another lightweight composite object instance comprises determining whether the shareable instance is being shared by a lightweight instance.

13. A computer implemented method comprising:

storing, in a computer-readable memory, a plurality of lightweight composite object instances as a plurality of lightweight object instances that refer to a shareable instance as a parent, wherein only a single copy of the shareable instance is stored in the computer-readable memory for the plurality of lightweight composite object instances, and not a copy for each of the plurality of lightweight composite object instances;

receiving a request to delete a lightweight composite object instance, wherein the lightweight composite object instance comprises an instance of a lightweight type, the lightweight type having a shareable type designated as a parent of the lightweight type, wherein the lightweight type inherits one or more behaviors or data from the shareable type, the lightweight composite object instance having the shareable instance designated as a parent instance of the instance of the lightweight type, wherein the lightweight composite object instance inherits the one or more behaviors or data from the shareable instance;

responsive to the request:

deleting the instance of the lightweight type;

determining whether the sharable instance is being shared by another lightweight composite object instance;

if the sharable instance is not being shared by another lightweight composite object instance, deleting the sharable instance; and

if the sharable instance is being shared by another lightweight composite object instance, retaining the sharable instance.

14. The method of claim 13 , further comprising, prior to deleting the lightweight composite object instance, storing the lightweight composite object instance and the shareable instance in a memory.

15. The method of claim 14 , wherein the memory comprises a data repository of a content server, wherein storing the lightweight composite object instance comprises storing the lightweight composite object instance in a database in the data repository.

16. The method of claim 13 , wherein the lightweight composite object instance comprises at least a base class instance and a subclass instance; wherein the base class instance is a single base class instance that is shared by each of a plurality of lightweight composite object instances; and wherein the subclass instance is not shared of each of the plurality of lightweight composite object instances.

17. The method of claim 13 , wherein the shareable type includes a set of higher class types that are common to each heavyweight type of a group of heavyweight types, and wherein the lightweight type includes a set of lower class types that are not common to each heavyweight type of the group of heavyweight types.

18. The method of claim 13 , wherein determining whether the sharable instance is being shared by another lightweight composite object instance comprises determining whether the shareable instance is being shared by a lightweight instance.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: WEI, SHU-SHANG SAM; KILDAY, ROGER W.; SPIVAK, VICTOR; AMIEL, MEIR; CHANDRASEKARAN, VENKAT; LI, YIK-PING; BUCCOLA, DAVID
To: EMC CORPORATION
Reel/Frame 053836/0868 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 053836/0887 →
Continuity (5)
Continuation 15619318 · Jun 9, 2017
Continuation 13969101 · Aug 16, 2013
Continuation 13161580 · Jun 16, 2011
Continuation 11906185 · Sep 28, 2007
Related Publication 20200342008A1 · Oct 29, 2020