Coordinator of Processes Service overview

The IBM® SPSS® Collaboration and Deployment Services architecture involves a variety of clients communicating with a number of servers. For example, IBM SPSS Collaboration and Deployment Services Repository integrates with execution servers to handle analytical processing tasks defined in jobs. In addition, some clients for those servers, such as IBM SPSS Statistics client or IBM SPSS Modeler client, are also IBM SPSS Collaboration and Deployment Services clients; users can store and retrieve files using the IBM SPSS Collaboration and Deployment Services Repository directly within the client application. After retrieving a file, the client connects to an analytical server to process the content and generate results.

The Coordinator of Processes (COP) provides server management capabilities designed to optimize client-server communication and processing. Services to be managed, such as IBM SPSS Statistics server or IBM SPSS Modeler server, register with the COP upon starting and periodically send updated status messages. Services can also store any necessary configuration files in the IBM SPSS Collaboration and Deployment Services Repository and retrieve them when initializing.

Figure 1. COP Architecture
This image shows the overall architecture for the product. The diagram has three primary components: the Coordinator of Processes (COP) in IBM SPSS Collaboration and Deployment Services Repository, COP clients, and services. The IBM SPSS Collaboration and Deployment Services Repository is connected to every other component using lines with arrowheads at both ends to represent bidirectional communication between the components and the repository server. The IBM SPSS Collaboration and Deployment Services Repository is connected to a database server storing the repository artifacts. Services corresponding to IBM SPSS Statistics and IBM SPSS Modeler servers communicate with the repository. Clients that interact with COP include IBM SPSS Deployment Manager, IBM SPSS Statistics and IBM SPSS Modeler.

Client applications use the COP to query for a list of available services to which to connect. Furthermore, services can be grouped into server clusters using the COP. When a client connects to a server cluster, the COP uses a load balancing algorithm to determine the optimal server in the cluster to be used for that client's requests.

The load balancing algorithm for routing server requests uses a weighted least-connection algorithm based on server scores and server loads. When a new connection to a cluster is requested, the system determines a score for each running server in the cluster by using the following formula:

Wi*Ci/(Ni+1)

The value of Wi is the weight associated with server i. The Ci value is the number of CPUs for server i. The value of Ni is the number of current and pending connections for server i.

Using the average server load, the system classifies each server as either available or busy. The new connection is assigned to the available server having the highest score. If there are no available servers, the connection is assigned to the busy server having the highest score. If multiple servers have the same score, the connection is assigned to the one that has the smallest server load.

If two servers in a cluster have the same number of CPUs and server load, the ratio of the number of connections for each will depend entirely on the server weights. For example, if server A has a weight that is twice the weight of server B, server A will handle twice the number of connections. Conversely, if two servers have the same weight and server load, the ratio of the number of connections for each will depend entirely on the number of CPUs for the servers. If server C has eight CPUs and server D has two, server C will handle four times the number of connections.

Notice that the server scores are based on both the number of current and pending connections. If many job steps initiate connections to a server cluster simultaneously, a server in the cluster may not be able to report new connections as current before another connection request is attempted. By including the pending connection count, the scores accurately reflect the impending server load allowing the algorithm to optimize the distribution of requests across all servers in the cluster. A configuration setting defines the time interval during which a connection is classified as pending. For information on modifying this value, consult the administrator documentation.

The Coordinator of Processes Service provides remote interaction with the COP server. Servers use the web service to store configuration files and status information in the IBM SPSS Collaboration and Deployment Services Repository. Clients can retrieve a list of available servers and server clusters for subsequent connections.