In
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
, a connection broker is a resource manager that manages a pool of connections to connection-based resources such as
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
s or
remote desktop
In computing, the term remote desktop refers to a software- or operating system feature that allows a personal computer's desktop environment to be run remotely off of one system (usually a PC, but the concept applies equally to a server or a ...
s, enabling rapid reuse of these connections by short-lived processes without the overhead of setting up a new connection each time.
Connection brokers are often used in systems using
N-tier architecture
In software engineering, multitier architecture (often referred to as ''n''-tier architecture) is a client–server architecture in which presentation, application processing and data management functions are physically separated. The most wide ...
s.
A remote desktop connection broker is software that allows clients to access various types of server-hosted desktops and applications. In hosted desktop environments, the remote desktop connection broker is the “middle” component, in-between the desktops in the data center (hosted virtual machines, shared
terminal server desktops, and blades) and the clients that are used to access the desktops (thin clients, soft clients, and mobile devices, among others).
Remote desktop connection brokers perform a variety of tasks, including:
* Checking user credentials.
* Assigning users to remote desktops.
* Turning remote desktops on and off as needed.
* Load balancing the servers that host the desktops.
* Managing desktop images.
* Redirecting multimedia processing to the client.
References
Distributed computing architecture
Software architecture
{{software-eng-stub