Traditional mainframe computer configurations provided for user interface to the computer through computer terminals which were directly connected by wires to ports of controllers connected by channels to the mainframe computer. As computing technology has evolved, processing power has typically evolved from a central processing center with a number of relatively low-processing power terminals to a distributed environment of networked processors. Examples of this shift in processing include local or wide area networks which interconnect individual work stations where each workstation has substantial independent processing capabilities. This shift may be further seen in the popularity of the Internet which interconnects many processors and networks of processors through devices such as, for example, routers.
At the same time that processing power was becoming more distributed there was also an increase in the popularity of mobile computing. The use of laptops, notebooks, Personal Digital/Communication Assistants (PDAs/PCAs) and other portable devices has led to an increase in demands for wireless communications. Wireless communication allows a user freedom to move within the wireless environment while remaining "connected" to a network. Furthermore, a wireless connection to a network allows a portable processor user the convenience of connecting to a network without having to plug into a docking station or use some other method of "hardwiring" to a network. However, wireless wide area networks, cellular communications and packet radio, suffer from common limitations such as the high cost per byte of communications, slow response time, low bandwidth and unreliability which all hamper use of wireless technology.
Even outside of the portable processing arena wireless communications have seen an increase in popularity. Thus, as a result of infrastructure limitations, cost or convenience, it is becoming more frequent that a network linking two devices wishing to communicate may include a low through-put component such as a wireless network link.
Communications between devices such as computers are typically disadvantaged particularly on lower through-put network legs, such as wireless legs (or highly congested legs which are effectively bandwidth limited), where bandwidth limitations result in slower response time for communications between the computers. In the extreme, protocol timeouts may even cause transmission errors and resulting retransmissions or even inability of the communication system to operate. Thus, utilizing wireless technology, or any low-speed communication technology, for data communication between applications executing on computers exacerbates the weaknesses of the wireless technology.
Communications are further complicated where a plurality of applications executing on a computer perform operations requiring transmission of data streams over a shared port to an external communication link, on occasion with interruptions in session connections. It is known to provide for this shared access using asynchronous message queuing systems such as International Business Machine Corporation's Message Queuing Series ("MQSeries"), Telecommunications Access Method ("TCAM"), or Information Management Systems ("IMS"), which enable applications to queue data for transport (transmission) to a partner destination computer device on an external communication link such as a network. Using asynchronous message queuing, the external connection between the source computer and the destination computer typically does not have to exist at the time of submission of a data stream message for transmission and the source or sending device is not required to synchronously wait for a response from the destination device. In other words, the transmitting application hands over responsibility for the message to the transport queuing application which takes on responsibility for eventually delivering the queued message. In general, any data object, including messages, files, images, containers, etc., can be transported using a message queuing system.
The message queue transport application reads messages from the queue and sends them to the destination devices over the network. The communication protocol between transmitting and receiving message queues provides for assumption of responsibility over a transmitted message by the receiving device. The source message queue transport application typically then frees the queue space occupied by a message once confirmation is received that the receiving device has assumed responsibility for the message.