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.

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.