Distributed intelligence when handling Queues and messages winthin Queues in pervasive client/server environments
Original Publication Date: 2000-Jul-01
Included in the Prior Art Database: 2003-Jun-18
Provided is a new commercial messaging product, which is specifically for pervasive devices (PDA's, phones, laptops, sensors, etc). The product allows low-end communications and data processing devices to join a heterogeneous messaging network. The product has features supporting mobility of devices and addressing the special problems of wireless communications (e.g. security, automatic recovery from link failures), and has a smaller code footprint than previous messaging products. Pervasive devices can use the new product for client-server or peer-to-peer, asynchronous or synchronous messaging via dynamically established, bi-directional communication channels. The characteristics of the dynamic channels are "pluggable" i.e. the logical connections which are established for sending or receiving data between message queue managers have characteristics such as authentication, encryption, compression, and transport protocol which are "negotiated" by the communication partners (i.e. determined using information exchanged between the communication partners when establishing a channel). Channel characteristics may differ according to the information to be exchanged or according to the target queue. Components within the new messaging product known as "Transporters" exploit channels to provide queue level communication. Transporter classes provide the functional code for processing messages either prior to transmission or upon receipt, and these Transporter classes include cryptors, authenticators, compressors, etc, implementing the channel characteristics as well as implementing other processing functions. Transporter classes are thus negotiated according to: the type of message being sent/received; and the target queue on the receiver device (which is specific to a particular application or set of applications) with reference to defined queue attributes and any other queue-specific processing instructions. If a required Transporter class is not currently available, it is downloaded as a step of the negotiation of communication characteristics. Previously available messaging products do not provide dynamic updating of the message processing capability of communication partners, by downloading code when a negotiation of communication characteristics is performed on a per-connection basis and determines that some required processing couldn't be performed without obtaining additional code. The negotiation of communication characteristics implemented by the new commercial messaging product triggers downloading of the required code. Any current products do not implement this combination of code download with a per-connection negotiation. The new product enables triggering of different processing operations for each specific target queue. Intelligence is applied at each end of the communication link in response to a negotiation, which is specific to the particular communication partners and the particular target queue. This intelligence is handled by the Transporter components. There is a client portion of the transporter and a server portion of the transporter and these can be created (programmed) by different people managing different criteria.