A connection broker is normally a software application that acts as a liaison between a client and a server or between two or more peer clients. These concepts are primarily used in the areas of database connection management and for the implementation of remote desktops. Multi-tiered software architecture makes use of a connection broker to establish low-overhead, short-term connections between machines. Connection brokers play a pivotal role in remote desktop virtualization in particular. The practice of having an intermediary entity that manages all connections is widely used in the design of distributive computing architecture as well.
Developments in the field of software and operating system engineering have seen the advent of multi-tiered system architectures. Computer networks composed of such multi-tiered systems need connections that have multiple layers of abstraction. One layer, for example, handles the physical transfer of packets across the transmission medium, ensuring that each packet reaches the designated destination between network devices. Another layer solely handles communication between applications such as a web browser and a server. Since multi-tiered systems have numerous points of contact and can get complex in terms of communicating over a computer network, the existence of an entity like a connection broker is necessary.
Remote desktop virtualization allows a user on one machine to control a computer located remotely as if the user were physically present at the remote computer. A connection broker acts as an agent between the client machine and the remote machine, handling a multitude of background network tasks. The connection broker in desktop virtualization is responsible for authenticating the client machine and authorizing it to control the remote machine. It also is charged with the responsibility of making sure instructions between the host computer and the remotely controlled system are appropriately encoded. Remote desktop connection brokers also have the tremendous task of ensuring that communication between the two machines is synchronized.
Another recently developed approach to super-computing is distributive computing architecture, which makes heavy use of connection brokers to aid in the communication between systems. Many of the latest super-computers have been designed as grids composed of nodes that communicate with each other intelligently in order to distribute work. In such scenarios, a connection broker acts as an exchange of sorts, allocating work and managing connections and disconnections in the grid. Connection brokers also play an important role in super-computing. An efficient connection broker helps the super-computing grid squeeze out as much processing power as it possibly can without wasting central processing unit (CPU) cycles or causing transmission lags.