Patent ID: 7631317
Filing Date: 2009-12-08
Classification: G06F

Abstract:
1. A system for performing asynchronous communications between computing devices, the system comprising: a) a first computing device comprising a first process serializing a self-descriptive dictionary object to the body of an asynchronous message intended for a message queue by invoking a save method contained in the self-descriptive dictionary object and passing the asynchronous message to the save method as a target location for the serialized self-descriptive dictionary object, wherein the serialized self-descriptive dictionary object comprises a field for maintaining a count of the number of elements in the serialized self-descriptive dictionary object, and wherein each element of the serialized self-descriptive dictionary object comprises a triplet comprising a name, a type indicator identifying a type of an element of the serialized self-descriptive dictionary object, and a value; b) the message queue for storing the serialized self-descriptive dictionary object until a recipient application is ready to receive the serialized self-descriptive dictionary object; c) a second computing device comprising a second process retrieving the asynchronous message from the message queue when the recipient application is ready to receive the asynchronous message, wherein the self-descriptive dictionary object provides information necessary for the second process to deserialize the self-descriptive dictionary object without relying upon an established convention between the first process and the second process to deserialize and extract a data object from the asynchronous message; and d) the recipient application on the second computing device receiving the deserialized self-descriptive dictionary object, extracting each element of the deserialized self-descriptive dictionary object, discovering the type of the element based upon the type indicator of the self-descriptive dictionary object, and instantiating the element based upon the discovered type, wherein the recipient application sends a remote query in response to a discovery of an unknown type indicator in the deserialized self-descriptive dictionary object.