Abstract: A system and method provide a messaging architecture for real time, asynchronous data exchange and request handling by multiple client applications in a network. Each client application effectively, simultaneously, send messages to and receive messages from, any number of other client applications on the network while maintaining only a single network connection to a server. The message architecture provides for multiplexed aggregation of messages being sent to client applications, thereby maximizing network efficiency, and reducing bandwidth requirements. The messaging architecture is fully asynchronous so that client applications need not pend on the receipt or handling of their messages by other client applications.
Abstract: An object for use in a computer memory and for transmission between computers flexibly stores a large variety of different types of data, in such a manner as to allow easy and efficient transfer and copying of the data between computers. The object includes any number of data elements, each of which is self-describing using type coding. Certain data elements may include other data elements, thereby providing for arbitrarily complex hierarchical arrangements of data in memory. The type codes may be based on the frequency of the types or values of data operated upon, such that the data itself may be used as a type code for at least one type of data, thereby reducing the memory and bandwidth requirements for handling the object. The object is capable of creating a data stream output for copying and transmission that preserves the semantic structure of the object, particularly its hierarchical organization, and is further capable of reconstituting the hierarchical arrangements.