US12443629B2ActiveUtilityA1
System for lightweight objects
Est. expirySep 28, 2027(~1.2 yrs left)· nominal 20-yr term from priority
Inventors:Shu-Shang Sam WeiRoger W. KildayVictor SpivakMeir AmielVenkat ChandrasekaranYik-Ping LiDavid Buccola
G06F 16/28G06F 16/289
81
PatentIndex Score
0
Cited by
14
References
17
Claims
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 shared by one or more other instances of the lightweight type.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
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.
2. The system of claim 1 , wherein the computer-executable instructions comprise instructions for:
processing a request to create a first new lightweight instance, comprising:
determining that there is no shareable object of a second shareable type;
based on a determination that there is no shareable object of the second shareable type, creating a second shareable object, wherein the second shareable object is of the second shareable type;
creating a first new lightweight object;
designating the second shareable object as a parent of the first new lightweight object; and
storing a first new lightweight composite object, wherein the first new lightweight composite object comprises:
the first new lightweight object; and
the second shareable object;
processing a request to create a second new lightweight instance, comprising:
creating a second new lightweight object;
determining that the second shareable object of the second shareable type exists, and designating the second shareable object as a parent of the second new lightweight object; and
storing a second new lightweight composite object without duplicating the second shareable object, wherein the second new lightweight composite object comprises:
the second new lightweight object; and
the second shareable object, wherein the second new lightweight composite object and first new lightweight composite object share the second shareable object.
3. The system of claim 2 , wherein the first new lightweight composite object comprises at least a base class instance and a first subclass instance;
wherein the base class instance is a single base class instance that is shared by the first new lightweight composite object and the second new lightweight composite object; and
wherein the first subclass instance of the first new lightweight composite object is not shared by the second new lightweight composite object.
4. The system of claim 3 , wherein the first new lightweight composite object comprises a second subclass instance, wherein the second subclass instance inherits a behavior and other data from the first subclass instance.
5. The system of claim 4 , wherein the second subclass instance comprises different data than the first subclass instance.
6. The system of claim 1 , wherein the plurality of lightweight composite objects are stored in the computer-readable memory operatively coupled to the hardware processor.
7. A computer program product, the computer program product being embodied in a non-transitory computer readable medium and comprising computer-executable 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 of the plurality of lightweight objects, wherein each of 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 object comprises the shareable object and a respective lightweight object from the plurality of light 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 computer readable memory for any one of the plurality of lightweight composite objects that include the shareable object.
8. The computer program product of claim 7 , wherein the computer-executable instructions comprise instructions for:
processing a request to create a first new lightweight instance, comprising:
determining that there is no shareable object of a second shareable type;
based on a determination that there is no object of the second shareable type, creating a second shareable object, wherein the second shareable object is of the second shareable type;
creating a first new lightweight object;
designating the second shareable object as a parent of the first new lightweight object; and
storing a first new lightweight composite object, wherein the first new lightweight composite object comprises:
the first new lightweight object; and
the second shareable object;
processing a request to create a second new lightweight instance, comprising:
creating a second new lightweight object;
determining that the second shareable object of the shareable type exists, and designating the second shareable object as a parent of the second new lightweight object; and
storing a second new lightweight composite object without duplicating the second shareable object, wherein the second new lightweight composite object comprises:
the second new lightweight object; and
the second shareable object, wherein the first new lightweight composite object and second new lightweight composite object share the second shareable object.
9. The computer program product of claim 8 , wherein the first new lightweight composite object comprises at least a base class instance and a first subclass instance;
wherein the base class instance is a single base class instance that is shared by the first new lightweight composite object and the second new lightweight composite object; and
wherein the first subclass instance of the first new lightweight composite object is not shared by the second new lightweight composite object.
10. The computer program product of claim 9 , wherein the first new lightweight composite object comprises a second subclass instance, wherein the second subclass instance inherits a behavior and other data from the first subclass instance.
11. The computer program product of claim 10 , wherein the second subclass instance comprises different data than the first subclass instance.
12. The computer program product of claim 7 , wherein the plurality of lightweight composite objects are stored in the non-transitory computer readable medium.
13. A computer-implemented method comprising:
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 of the plurality of lightweight objects, wherein each of 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 a respective lightweight object from the plurality of lightweight objects and the shareable object, 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 computer readable memory for any one of the plurality of lightweight composite objects that share the shareable object.
14. The computer-implemented method of claim 13 , further comprising:
processing a request to create a first new lightweight instance, comprising:
determining that there is no shareable object of a second shareable type;
based on a determination that there is no shareable object of the second shareable type, creating a second shareable object, where the second shareable object is of the second shareable type;
creating a first new lightweight object that is a second instance of the first lightweight type;
designating the second shareable object as a parent of the first new lightweight object; and
storing a first new lightweight composite object, wherein the first new lightweight composite object comprises:
the first new lightweight object; and
the second shareable object;
processing a request to create a second new lightweight instance, comprising:
creating a second new lightweight object;
determining that the second shareable object of the shareable type exists, and designating the second shareable object as a parent of the second new lightweight object; and
storing a second new lightweight composite object without duplicating the second shareable object, wherein the second new lightweight composite object comprises:
the second new lightweight object; and
the second shareable object, wherein the first new lightweight composite object and second new lightweight composite object share the second shareable object.
15. The computer-implemented method of claim 14 , wherein the first new lightweight composite object comprises at least a base class instance and a first subclass instance;
wherein the base class instance is a single base class instance that is shared by the first new lightweight composite object and the second new lightweight composite object; and
wherein the first subclass instance is not shared by the second new lightweight composite object.
16. The computer-implemented method of claim 15 , wherein the first new lightweight composite object comprises a second subclass instance, wherein the second subclass instance inherits a behavior and other data from the first subclass instance.
17. The computer-implemented method of claim 16 , wherein the second subclass instance comprises different data than the first subclass instance.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.