System and method for unknown type serialization
AssigneeMicrosoft Corporation
InventorsCaleb L. Doise, Gopalakrishna R. Kakivaya
Life of this patent
Estimating the term…
Abstract
A method of serializing and deserializing unknown data types in a strongly typed model. The method includes serializing an object to a data stream at first node and communicating the data stream to a second node. The second node may be another process, machine or a file on a disk. The data stream is deserialized at a later time, and the data types within the data stream are determined. Objects are instantiated in accordance with known data types, and unknown objects are created to retain information related to each unknown data type in the data stream. These unknown objects are used to regenerate the unknown data type when a serialization operation is performed at the second node on an unknown object.
Claims18
A method of deserializing a data stream, comprising:
- receiving the data stream;
- determining data types within the data stream;
- instantiating objects in accordance with known data types;
- and
- creating unknown objects to retain information related to unknown data types in the data stream, said unknown objects being used to regenerate the retained information when a serialization operation is performed on said unknown objects.
A method of serializing objects to a data stream at a node, at least one of said objects being unknown to said node, said method comprising:
- mapping between the programming language types and an XML Schema;
- creating an instance of an output stream;
- if an object type was previously known to said node, then mapping the type to the XML schema from the object's class to the output stream;
- if the object type was not previously known by said node, then mapping the unknown type to the XML schema from an unknown object to reconstitute the data stream received by said node as the output stream.
A method for communicating serialized data between nodes in a distributed system having a strongly typed model, comprising:
- serializing an object to the data stream at first node;
- communicating the data stream to a second node;
- deserializing the data stream at the second node;
- determining data types within the data stream;
- instantiating objects in accordance with known data types;
- and
- creating unknown objects to retain information related to unknown data types in the data stream, said unknown objects being used to regenerate retained information when a serialization operation is performed at the second node on said unknown objects.
Dependencies are inferred from the claim text.