Garbage collection of persistent objects with dynamic multikeys
First Claim
Patent Images
1. A method comprising:
- identifying a non-persistent object instance comprising;
a first field having a first value configured to be mirrored in a database; and
a mutable primary key that uniquely identifies the non-persistent object instance, wherein the mutable primary key is a mutable value that can change during a life of the non-persistent object instance;
identifying a first persistent object instance comprising;
a first immutable primary key associated with the mutable primary key of the non-persistent object instance; and
a foreign key;
identifying a second persistent object instance comprising;
a second immutable primary key associated with the foreign key; and
a second field having a second value mirroring the first value, wherein the second field is configured to further mirror the second value to the database;
destroying the second persistent object instance;
destroying the first persistent object instance after the second persistent object instance is destroyed;
clearing the mutable primary key from the non-persistent object instance after the first persistent object instance is destroyed; and
marking, via a processor, the non-persistent object instance for garbage collection after the mutable primary key is cleared.
25 Assignments
0 Petitions
Accused Products
Abstract
A mechanism is disclosed that enables garbage collection of object instances that have persistent data and a mutable key. A mutable key capability is advantageous in a variety of applications, such as monitoring a set of users and their login status on a plurality of media servers (e.g., an email server, an instant messaging server, a voice mail server, a video server, an audio-conferencing server, etc.). Implementations based on the Enterprise JavaBean specification are disclosed for three illustrative embodiments of the present invention. The illustrative embodiments of the present invention can also be implemented in accordance with object persistence mechanisms other than Enterprise JavaBeans.
47 Citations
21 Claims
-
1. A method comprising:
-
identifying a non-persistent object instance comprising; a first field having a first value configured to be mirrored in a database; and a mutable primary key that uniquely identifies the non-persistent object instance, wherein the mutable primary key is a mutable value that can change during a life of the non-persistent object instance; identifying a first persistent object instance comprising; a first immutable primary key associated with the mutable primary key of the non-persistent object instance; and a foreign key; identifying a second persistent object instance comprising; a second immutable primary key associated with the foreign key; and a second field having a second value mirroring the first value, wherein the second field is configured to further mirror the second value to the database; destroying the second persistent object instance; destroying the first persistent object instance after the second persistent object instance is destroyed; clearing the mutable primary key from the non-persistent object instance after the first persistent object instance is destroyed; and marking, via a processor, the non-persistent object instance for garbage collection after the mutable primary key is cleared. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage device storing instructions which, when executed by a processor, cause the processor to perform operations comprising:
-
identifying a non-persistent object instance comprising; a first field having a first value configured to be mirrored in a database; and a mutable primary key that uniquely identifies the non-persistent object instance, wherein the mutable primary key is a mutable value that can change during a life of the non-persistent object instance; identifying a first persistent object instance comprising; a first immutable primary key associated with the mutable primary key of the non-persistent object instance; and a foreign key; identifying a second persistent object instance comprising; a second immutable primary key associated with the foreign key; and a second field having a second value mirroring the first value, wherein the second field is configured to further mirror the second value to the database;
destroying the second persistent object instance;destroying the first persistent object instance after the second persistent object instance is destroyed; clearing the mutable primary key from the non-persistent object instance after the first persistent object instance is destroyed; and marking the non-persistent object instance for garbage collection after the mutable primary key is cleared. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
a processor; and a non-transitory computer-readable storage medium storing instructions which, when executed by the processor, cause the processor to perform operations comprising; identifying a non-persistent object instance, comprising; a first field having a first value configured to be mirrored in a database; and a mutable primary key that uniquely identifies the non-persistent object instance, wherein the mutable primary key is a mutable value that can change during a life of the non-persistent object instance; identifying a first persistent object instance comprising; a first immutable primary key associated with the mutable primary key of the non-persistent object instance; and a foreign key; identifying a second persistent object instance comprising; a second immutable primary key associated with the foreign key; and a second field having a second value mirroring the first value, wherein the second field is configured to further mirror the second value to the persistent store; destroying the second persistent object instance; destroying the first persistent object instance after the second persistent object instance is destroyed; clearing the mutable primary key from the non-transitory object instance after the first persistent object instance is destroyed; and marking the non-persistent object instance for garbage collection after the mutable primary key is cleared. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification