Patent ID: 7925736

Claim:
At a computer system including one or more processors and system memory, the computer system included in a group of computer systems, each computer system in the group of computer systems configured to implement instances of a workflow representing a service such that the group of computer systems can simultaneously implement a plurality of instances of the workflow to simultaneously provide a plurality of instances of the service to other client computer systems, the computer system including a visible messaging endpoint that is visible to client computer systems, the visible endpoint configured to receive messages from client computer systems, the computer system including a message redirector, the message redirector configured to intercept messages received at the visible endpoint, the message redirector including a redirect client endpoint for sending intercepted client messages to the service, the message redirector also including a redirect service endpoint for receiving redirected client messages initially sent to other computer systems, the service including an internal service endpoint for receiving messages from the message redirector, a computer implemented method for storing endpoint information for a lock owner of an instance of the workflow, the computer implemented method comprising: an act of the message redirector intercepting a client message that was received at the visible messaging endpoint, the client message received from a client computer system and directed to the service; an act of the message redirector outputting the client message on the redirect client endpoint to send the client message to the service; an act of the service receiving the client message on the internal service endpoint; an act of the service sending a lock request for a new instance of the workflow, the lock request sent to a shared database, the shared database being shared among the plurality of computer systems in the group of computer systems, the new instance of the workflow to provide an instance of the service to the client computer system; an act of the service receiving a lock reply from the shared database, the lock reply indicating that the service can lock a new instance of the workflow for the client computer system; and an act of the service inserting a lock entry into the shared database, the lock entry indicating that redirected client messages for the new instance of the workflow are to be sent to the redirect service endpoint, reference to the lock entry providing sufficient information to other computer systems to enable the other computer systems to send client messages for the new instance of the workflow to the computer system.