US 12,443,629 B2
System for lightweight objects
Shu-Shang Sam Wei, Danville, CA (US); Roger W. Kilday, Danville, CA (US); Victor Spivak, San Mateo, CA (US); Meir Amiel, Pleasanton, CA (US); Venkat Chandrasekaran, Newark, CA (US); Yik-Ping Li, Fremont, CA (US); and David Buccola, Pleasanton, CA (US)
Assigned to OPEN TEXT CORPORATION, Waterloo (CA)
Filed by OPEN TEXT CORPORATION, Waterloo (CA)
Filed on Jun. 22, 2023, as Appl. No. 18/339,959.
Application 18/339,959 is a continuation of application No. 16/909,643, filed on Jun. 23, 2020, granted, now 11,720,607.
Application 16/909,643 is a continuation of application No. 15/619,318, filed on Jun. 9, 2017, granted, now 10,726,053, issued on Jul. 28, 2020.
Application 15/619,318 is a continuation of application No. 13/969,101, filed on Aug. 16, 2013, granted, now 9,760,623, issued on Sep. 12, 2017.
Application 13/969,101 is a continuation of application No. 13/161,580, filed on Jun. 16, 2011, granted, now 8,560,572, issued on Oct. 15, 2013.
Application 13/161,580 is a continuation of application No. 11/906,185, filed on Sep. 28, 2007, granted, now 7,987,210, issued on Jul. 26, 2011.
Prior Publication US 2023/0401241 A1, Dec. 14, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/20 (2019.01); G06F 16/28 (2019.01)
CPC G06F 16/289 (2019.01) [G06F 16/28 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A system for managing content using lightweight objects, comprising a hardware processor operatively coupled to a computer-readable memory, the computer-readable memory storing computer-executable instructions executable by the hardware processor, the computer-executable instructions comprising instructions for:
accessing a lightweight composite object type, the lightweight composite object type comprising a plurality of declared types, the plurality of declared types comprising:
a first lightweight type; and
a shareable type, the shareable type designated as a parent of the first lightweight type;
receiving a plurality of requests to create lightweight instances; and
processing the plurality of requests to create lightweight instances, wherein processing the plurality of requests comprises:
for a first request from the plurality of requests, determining that a shareable object that is an instance of the shareable type does not exist;
based on the determination that the shareable object of the shareable type does not exist, creating the shareable object of the shareable type;
creating a plurality of lightweight objects as lightweight object instances of the first lightweight type, each lightweight object in the plurality of lightweight objects corresponding to a respective request from the plurality of requests;
designating the shareable object as a parent of each lightweight object in the plurality of lightweight objects, wherein each lightweight object in the plurality of lightweight objects inherits one or more behaviors from the shareable object; and
storing a plurality of lightweight composite objects, wherein each of the plurality of lightweight composite objects comprises the shareable object and a respective lightweight object from the plurality of lightweight objects, wherein each of the plurality of lightweight composite objects is an instance of the lightweight composite object type, wherein only a single copy of the shareable object is stored in the computer-readable memory for any one of the plurality of lightweight composite objects that include the shareable object.