[BACK]Return to session-management.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / issac2000

Diff for /OpenXM/doc/issac2000/session-management.tex between version 1.11 and 1.13

version 1.11, 2000/01/17 06:10:41 version 1.13, 2000/01/17 08:50:57
Line 1 
Line 1 
 % $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}  \section{Session Management}
 \label{secsession}  \label{secsession}
Line 11  OpenXM.  We assume that various clients and servers
Line 11  OpenXM.  We assume that various clients and servers
 establish connections dynamically and communicate to each  establish connections dynamically and communicate to each
 other. Therefore it is necessary to give a dynamical and unified  other. Therefore it is necessary to give a dynamical and unified
 method to start servers and to establish connections.  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  debugging facilities
 are necessary for interactive distributed computation.  are necessary for interactive distributed computation.
   
Line 51  setting the data channel appropriately.
Line 51  setting the data channel appropriately.
   
 After finishing the above task as a launcher, the launcher process  After finishing the above task as a launcher, the launcher process
 acts as a control server and controls the server process created by  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,  As the data channel is used to exchange binary data,
 the byte order conversion is necessary when a  the byte order conversion is necessary when a
Line 78  server. The launcher introduced in Section \ref{launch
Line 78  server. The launcher introduced in Section \ref{launch
 is used as a control process. We call such a process a {\it  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  control server}. In contrast, we call a server for computation an {\it
 engine}. As the control server and the engine runs on the  engine}. As the control server and the engine runs on the
 same machine, it is easy to manipulate the engine, especially to  same machine, it is easy to send a signal from the control server.
 send a signal from the control server. A control server is also an  A control server is also an
 OpenXM stack machine and it accepts {\tt SM\_control\_*} commands  OpenXM stack machine and it accepts {\tt SM\_control\_*} commands
 to send signals to a server or to terminate a server.  to send signals to a server or to terminate a server.
   
Line 93  To reset an engine safely the following are required.
Line 93  To reset an engine safely the following are required.
 \begin{enumerate}  \begin{enumerate}
 \item Any OX message must be a synchronized object in the sense of Java.  \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.  data, a global exit without sending all may generate broken data.
   
 \item After restarting an engine, a request from a client  \item After restarting an engine, a request from a client
Line 103  An incorrect correspondence occurs if some data remain
Line 103  An incorrect correspondence occurs if some data remain
 after restarting an engine.  after restarting an engine.
 \end{enumerate}  \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.  initiate a safe resetting of an engine.
 The control server sends {\tt SIGUSR1} to the engine if it receives  The control server sends {\tt SIGUSR1} to the engine if it receives
 {\tt SM\_control\_reset\_connection} from the client.  {\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  \vskip 2mm
 \noindent  \noindent
 {\it Client side}  {\it Client side}
 \begin{enumerate}  \begin{enumerate}
 \item After sending {\tt SM\_control\_reset\_connection} to the  \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}.  OX} messages from the engine until it receives {\tt OX\_SYNC\_BALL}.
 \item After receiving {\tt OX\_SYNC\_BALL} the client sends  \item After receiving {\tt OX\_SYNC\_BALL} the client sends
 {\tt OX\_SYNC\_BALL} to the engine and returns to the usual state.  {\tt OX\_SYNC\_BALL} to the engine and returns to the usual state.
Line 129  the engine enters the resetting state.
Line 129  the engine enters the resetting state.
 The engine sends {\tt OX\_SYNC\_BALL} to the client.  The engine sends {\tt OX\_SYNC\_BALL} to the client.
 The operation does not block because  The operation does not block because
 the client is now in the resetting state.  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}  receives {\tt OX\_SYNC\_BALL}. After receiving {\tt OX\_SYNC\_BALL}
 the engine returns to the usual state.  the engine returns to the usual state.
 \end{enumerate}  \end{enumerate}
Line 158  We provide two methods to help debugging on X window s
Line 158  We provide two methods to help debugging on X window s
 window;  window;
 2. the engine can pop up a window to input debug commands.  2. the engine can pop up a window to input debug commands.
 For example {\tt ox\_asir}, which is  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.  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}  One can also send {\tt SIGINT} by using {\tt SM\_control\_to\_debug\_mode}
 and it provides a similar functionality to entering the debugging  and it provides a similar functionality to entering the debugging

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.13

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>