PingDirectory

Server component architecture

This section provides an overview of the process flow between the PingDirectory server components for a simple proxy deployment and an entry-balancing deployment.

Architecture of a simple PingDirectory server deployment

A simple PingDirectory server deployment is illustrated in the following figure.

An illustration of the process flow of a simple PingDirectory Proxy server deployment. The process starts with a client request represented by a person at a desktop computer. The flow moves with a series of down arrows between boxes in the order described in the topic text. The last step of the process is represented by three servers lined up side-by-side

Processing steps

  1. A client request is initiated.

  2. The client connection policy processes the client request.

  3. The client connection policy contains a subtree view, which defines the portion of the directory information tree (DIT) available to clients and determines if the DIT is available.

  4. After the PingDirectory server determines that the DIT is available, it passes the request to the request processor, which defines the logic for processing the request.

  5. The request processor passes the request to a load-balancing algorithm, which determines the server in a set of servers responsible for handling the request.

  6. The request is passed to the LDAP external server.

    The LDAP external server contains properties that define the server’s location in a topology and the health checks used to determine if the server is functioning properly.

    This information can be used by the load-balancing algorithm for determining how to route requests.

Architecture of an entry-balancing PingDirectory server deployment

Entry balancing is used when the data set is too large to fully cache on a single server or when the write performance requirements of an environment are higher than can be achieved with a single replicated set of servers. In such cases, the data can be split across multiple sets of servers, increasing the memory available for caching and the overall write performance in proportion to the number of server sets.

The following figure shows how a client request is treated in an entry-balancing PingDirectory server deployment.

An illustration of the process flow of an entry-balancing PingDirectory server deployment. The process starts with a client request represented by a person at a desktop computer. The flow moves with a series of down arrows splitting in two directions and forming two separate flows between boxes in the order described in the topic text. The last step of the process for each of the two separate flows is represented by three servers lined up side-by-side
  1. A client request is initiated.

  2. The client connection policy processes the client request.

  3. The client connection policy contains a subtree view, which determines how the PingDirectoryProxy server communicates with a set of clients. It contains a subtree view that represents the base distinguished name (DN) for the entire deployment. The data set splits beneath this base DN.

  4. The PingDirectory server passes the request to the entry-balancing request processor.

    The entry-balancing request processor contains a global attribute index property, which helps the request processor determine which server set contains the entry and how to properly route the request. It also contains a placement algorithm, which helps it select the server set in which to place new entries created by add requests.

  5. The entry-balancing request processor has beneath it multiple proxying request processors that handle multiple unique sets of data.

  6. The proxying request processors passes the request to a load-balancing algorithm, which determines which LDAP external server should handle the request.

    As with a simple proxy deployment, this LDAP external server contains properties that define the server’s location and the health checks that determine if the server is functioning properly.

  7. The request is passed to the LDAP external server.

For information about entry-balancing replication, see Overview of replication in an entry-balancing environment.