=================================================================== RCS file: /home/cvs/OpenXM/doc/issac2000/session-management.tex,v retrieving revision 1.11 retrieving revision 1.13 diff -u -p -r1.11 -r1.13 --- OpenXM/doc/issac2000/session-management.tex 2000/01/17 06:10:41 1.11 +++ OpenXM/doc/issac2000/session-management.tex 2000/01/17 08:50:57 1.13 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/doc/issac2000/session-management.tex,v 1.10 2000/01/17 01:24:27 noro Exp $ +% $OpenXM: OpenXM/doc/issac2000/session-management.tex,v 1.12 2000/01/17 07:15:52 noro Exp $ \section{Session Management} \label{secsession} @@ -11,7 +11,7 @@ OpenXM. We assume that various clients and servers establish connections dynamically and communicate to each other. Therefore it is necessary to give a dynamical and unified method to start servers and to establish connections. -In addition to that, interruption of executions and +In addition to that, interruption of execution and debugging facilities are necessary for interactive distributed computation. @@ -51,7 +51,7 @@ setting the data channel appropriately. After finishing the above task as a launcher, the launcher process acts as a control server and controls the server process created by -itself. As to the control server see Section \ref{control}. +itself. As to the details of the control server see Section \ref{control}. As the data channel is used to exchange binary data, the byte order conversion is necessary when a @@ -78,8 +78,8 @@ server. The launcher introduced in Section \ref{launch is used as a control process. We call such a process a {\it control server}. In contrast, we call a server for computation an {\it engine}. As the control server and the engine runs on the -same machine, it is easy to manipulate the engine, especially to -send a signal from the control server. A control server is also an +same machine, it is easy to send a signal from the control server. +A control server is also an OpenXM stack machine and it accepts {\tt SM\_control\_*} commands to send signals to a server or to terminate a server. @@ -93,7 +93,7 @@ To reset an engine safely the following are required. \begin{enumerate} \item Any OX message must be a synchronized object in the sense of Java. -As an {\tt OX} message is sent as a combination of several {\tt CMO} +As an OX message is sent as a combination of several {\tt CMO} data, a global exit without sending all may generate broken data. \item After restarting an engine, a request from a client @@ -103,18 +103,18 @@ An incorrect correspondence occurs if some data remain after restarting an engine. \end{enumerate} -{\tt SM\_control\_reset\_connection} is an {\tt SM} command to +{\tt SM\_control\_reset\_connection} is a stack machine command to initiate a safe resetting of an engine. The control server sends {\tt SIGUSR1} to the engine if it receives {\tt SM\_control\_reset\_connection} from the client. -Under the OpenXM reset protocol an engine and a client act as follows. +Under the OpenXM reset protocol, an engine and a client act as follows. \vskip 2mm \noindent {\it Client side} \begin{enumerate} \item After sending {\tt SM\_control\_reset\_connection} to the -control server, the client enters the resetting state. It skips all {\tt +control server, the client enters the resetting state. It discards all {\tt OX} messages from the engine until it receives {\tt OX\_SYNC\_BALL}. \item After receiving {\tt OX\_SYNC\_BALL} the client sends {\tt OX\_SYNC\_BALL} to the engine and returns to the usual state. @@ -129,7 +129,7 @@ the engine enters the resetting state. The engine sends {\tt OX\_SYNC\_BALL} to the client. The operation does not block because the client is now in the resetting state. -\item The engine skips all {\tt OX} messages from the engine until it +\item The engine discards all OX messages from the engine until it receives {\tt OX\_SYNC\_BALL}. After receiving {\tt OX\_SYNC\_BALL} the engine returns to the usual state. \end{enumerate} @@ -158,7 +158,7 @@ We provide two methods to help debugging on X window s window; 2. the engine can pop up a window to input debug commands. For example {\tt ox\_asir}, which is -the OpenXM server of {\tt Risa/Asir}, can pop up a window to input +the OpenXM server of Risa/Asir, can pop up a window to input debug commands and the debugging similar to that on usual terminals is possible. One can also send {\tt SIGINT} by using {\tt SM\_control\_to\_debug\_mode} and it provides a similar functionality to entering the debugging