Back to results
US 8,396,904 B2Granted
Utilizing information from garbage collector in serialization of large cyclic data structures
AssigneeClausal Computing Oy
InventorTatu J Ylonen
Life of this patent
Estimating the term…
Abstract
A method for serializing cyclic or shared data structures using information from the garbage collector to determine that some objects in the data structure being serialized cannot have more than one reference.
Claims11
A method for serializing a shared or cyclic data structure, the method comprising:
- encoding, by a processor, an object contained in a shared or cyclic data structure being serialized without looking up whether the object has been previously visited, in response to information available from a garbage collector indicating that the object has at most one reference;
- when the information from the garbage collector does not indicate that the object has at most one reference, looking up whether the object has been previously visited;
- and
- if the object has been previously visited, encoding the object using an encoding that comprises a reference to a previously encoded instance of the same object, and otherwise adding information about the object to a data structure indicating that the object has been visited and encoding the object.
1 more element
A computer comprising:
- a first means for determining, during serialization of a shared or cyclic data structure, using information available from a garbage collector, whether an object contained in the data structure has at most one reference;
- a second means for looking up whether the object has been previously visited;
- a third means for encoding the object;
- and
- a fourth means for encoding the object using an encoding that comprises a reference to an instance of the same object;
- wherein the first means is connected to the second means and third means for causing the third means to be used for at least one object without using the second means for that object, in response to the first means determining that the object has at most one reference;
- and wherein the fourth means is used for at least one object for which the first means does not determine that the object has at most one reference and for which the second means indicates that the object has not been previously visited.
4 more elements
A computer program product, stored on a non-transitory machine-readable medium, the computer program product configured to cause a computer to serialize a shared or cyclic data structure, causing the computer to:
- encode an object contained in a shared or cyclic data structure being serialized without looking up whether the object has been previously visited, in response to information available from a garbage collector indicating that the object has at most one reference;
- when the information from the garbage collector does not indicate that the object has at most one reference, look up whether the object has been previously visited;
- and
- if the object has been previously visited, encode the object using an encoding that comprises a reference to a previously encoded instance of the same object, and otherwise adding information about the object to a data structure indicating that the object has been visited and encoding the object.
1 more element
Dependencies are inferred from the claim text.