In a client-server environment having a server group including one or more
participating servers and one or more controller servers, where each
participating server can communicate with at least one controller server,
a method for coordinating actions among the servers in the server group
comprising the steps of: (1) communicating between a client and at least
one of the servers in the server group using a protocol that has limited
or no defined procedures for passing state information between the client
and the servers; (2) transmitting a request for an action from the client
to one of the servers; and (3) communicating among a plurality of servers
with at least one controller server coordinating actions of at least some
of the servers in response to the request. A preferred embodiment of the
method includes providing client identification information once by the
client during a conversation, verifying the client identification
information by one or more controller servers, generating client
authentication information by one or more controller servers that is
preserved in the conversation, and using the preserved client
authentication information to automatically authenticate the client
during the remainder of the conversation. Another preferred embodiment of
the method includes transmitting a request by a client requiring
participation by a plurality of servers and communicating among the
servers with at least one controller server coordinating the actions of a
plurality of servers in response to the request from the client.