Method and apparatus for managing connections for communication among objects in a distributed object system
First Claim
1. In a distributed object system in which a sever associated with a server process for use in a computer system communicates with a client across a computer connection between the server process and the client, a computer implemented method for deliberately terminating the connection between the server process and the client, the method comprising the computer controlled steps of:
- a) establishing a multiplexed connection between said server process and said client, wherein the multiplexed connection is arranged to enable said server associated with said server process and said client to pass data between each other using a single physical connection;
b) passing messages between said server process and said client across said multiplexed connection;
c) sending a connection end message from said server to said client across said multiplexed connection, said connection end message being effective to indicate to said client that said server will no longer respond to request messages from said client, wherein said connection end message includes one of a reconnect code or a rebind code;
d) checking a replies outstanding register to determine whether said server has received a request that it has not replied to and checking a requests outstanding register to determine where said client has issued a request that has not been responded to;
e) storing information regarding said multiplexed connection between said server and said client thereby enabling re-establishment of a second multiplexed connection; and
f) closing said multiplexed connection if the requests outstanding register and the replies outstanding register have zero values, thereby ensuring that said multiplexed connection is closed cleanly.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for managing connections between objects in a distributed object system includes a method and apparatus for terminating connections between objects. In one aspect, the method for terminating a connection, a connection end message is sent from a server to a client indicating to the client that the server will no longer accept requests before the connection is terminated. Preferably a connection end code is included with the connection end message. In another aspect, the invention includes a method for making connections between objects are formed by intelligently closing existing connections that meet the criteria of being established and across which no unfulfilled requests or unforwarded replies are pending. If several connections meet these criteria, the oldest unused connection is terminated. The methods and apparatus described provide for the creation and termination of connections efficiently and robustly by allowing the controlled shut down of connections between clients and servers without invoking an error state.
74 Citations
20 Claims
-
1. In a distributed object system in which a sever associated with a server process for use in a computer system communicates with a client across a computer connection between the server process and the client, a computer implemented method for deliberately terminating the connection between the server process and the client, the method comprising the computer controlled steps of:
-
a) establishing a multiplexed connection between said server process and said client, wherein the multiplexed connection is arranged to enable said server associated with said server process and said client to pass data between each other using a single physical connection;
b) passing messages between said server process and said client across said multiplexed connection;
c) sending a connection end message from said server to said client across said multiplexed connection, said connection end message being effective to indicate to said client that said server will no longer respond to request messages from said client, wherein said connection end message includes one of a reconnect code or a rebind code;
d) checking a replies outstanding register to determine whether said server has received a request that it has not replied to and checking a requests outstanding register to determine where said client has issued a request that has not been responded to;
e) storing information regarding said multiplexed connection between said server and said client thereby enabling re-establishment of a second multiplexed connection; and
f) closing said multiplexed connection if the requests outstanding register and the replies outstanding register have zero values, thereby ensuring that said multiplexed connection is closed cleanly. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In a distributed object system in which a server object associated with a server process communicates with a client across a multiplexed connection between the server process and the client, a system for deliberately terminating the connection between the server object and the client, the system comprising:
-
a) a first mechanism for opening a multiplexed connection between said server process and said client, therein said multiplexed connection is arranged to enable said server associated with said server process and said client to pass data using a single physical connection;
b) a messaging device operable for sending a connection end message from said server object to said client across said multiplexed connection, said connection end message being effective to indicate to said client that said server object will no longer respond to request messages from said client, wherein said connection end message includes one of a reconnect code or a rebind code;
c) a storage device for storing information regarding said multiplexed connection between said server and said client, thereby enabling re-establishment of a second multiplexed connection;
d) a register checker for checking a replies outstanding register to determine whether said server has received a request that it has not replied to and checking a requests outstanding register to determine whether said client has issued a request that has not been responded to;
e) a second mechanism for closing said multiplexed connection if the requests outstanding resister and the replies outstanding register have zero values, thereby ensuring that said multiplexed connection is closed cleanly. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
a) a central processing unit;
b) a memory accessible by said central processing unit; and
c) a server process as recited in claim 12.
-
-
20. A distributed object system comprising:
-
a) a plurality of computers as recited in claim 18; and
b) a computer network interconnecting said plurality of computers.
-
Specification