CORBA 2.6.1 Programmer's Guide for C++

There are two distinct types of server pool objects: stateless and stateful.
IORs for Stateless Objects in a Server Pool
A stateless request (that is, a request for an operation on a stateless object) can go to any free server process within a server pool.
The list below explains how NonStop CORBA creates and uses object references for stateless objects. In this scenario, the client can be local or
remote with respect to the server pool. If the client is remote, a Comm Server process obtains the link with the server pool on behalf of the client.
When the client program requests an operation on a stateless object, NonStop CORBA uses the TS/MP protocol-specific information in
the reference to establish a new TS/MP dialog between the client and the least busy server process in the server pool.
NonStop CORBA sends the request from the client to the target process and gets the reply from the target process back to the client.
NonStop CORBA breaks the TS/MP link between the client and the server process in the server pool after sending the reply
This behavior is similar to the CORBA process-per-request scenario. Because NonStop CORBA establishes a new TS/MP link to process each
request, load balancing occurs at the time of the request.
IORs for Stateful Objects in a Server Pool
A stateful request (that is, a request for an operation on a stateful object) must always go to the process where the object was created.
Therefore, NonStop CORBA generates a reference for a stateful object.
The list below explains how NonStop CORBA creates and uses object references for stateful objects. The client can be local or remote with
respect to the server pool. If the client is remote, a Comm Server process obtains the link with the server pool on behalf of the client.
When the client program requests creation of a stateful object in the server pool, NonStop CORBA generates and returns a reference
that uniquely identifies the server process within the server pool.
When the client program requests an operation on the stateful object, NonStop CORBA uses the file system to reach the specific server
process within the server pool.
NonStop CORBA sends the request from the client to the target process and gets the reply from the target process back to the client.
Once a stateful object is created, all operation requests go to the same server process rather than to the least busy server process in the server
pool. However, the request to create the stateful object itself is typically issued to a stateless object (a factory), and that request is sent to the
least busy server in the server pool. This approach tends to spread stateful objects among processes and therefore to provide a level of load
balancing across the server pool.
Appendix A. Architectural Walkthrough Appendix C. Servant Reference Counting in
NonStop
CORBA