[BACK]Return to control.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Diff for /OpenXM/doc/OpenXM-specs/control.tex between version 1.2 and 1.6

version 1.2, 2000/01/23 00:41:08 version 1.6, 2000/07/27 09:51:04
Line 1 
Line 1 
 %% $OpenXM: OpenXM/doc/OpenXM-specs/control.tex,v 1.1.1.1 2000/01/20 08:52:46 noro Exp $  %% $OpenXM: OpenXM/doc/OpenXM-specs/control.tex,v 1.5 2000/01/24 07:36:35 noro Exp $
 \section{Session Management}  \section{Session Management}
   
 \subsection{Control server}  \subsection{Control server}
Line 36  OpenXM stack machine and it accepts {\tt SM\_control\_
Line 36  OpenXM stack machine and it accepts {\tt SM\_control\_
 to send signals to a server or to terminate a server.  to send signals to a server or to terminate a server.
 */  */
   
   \subsection{New specification for OpenXM control servers}
   
   /*&jp
   
   我々は新しいコントロールサーバを提案する。そのサンプル実装として oxc が
   提供される。新しいコントロールサーバは以下の点で従来のものと異なる。
   \begin{enumerate}
   \item コントロールサーバは OpenXM スタックマシンであり、
   CMObject/Primitive および CMO\_ZZ をサポートする。
   \item 計算サーバの起動はスタックマシンコマンドを介して行う。
   \item 一つのコントロールサーバから複数の計算サーバを起動できる。
   \end{enumerate}
   
   oxc の導入により、いままでのサーバの起動手順はコントロールサーバの起動と
   計算サーバの起動に分離される。コントロールサーバを起動するには次の手順を
   取る。まず、適当なオプション(後述)をつけて、コントロールサーバを起動する
   と、コントロールサーバはソケットを作成し、connect する。クライアントは、
   listen, accept する。接続後、バイトオーダを決定する。バイトオーダの決定
   については???を見よ。その後、コントロールサーバは待機状態にはいる。コン
   トロールサーバは OpenXM スタックマシンであるから、mathcap の交換などの手
   続きに入ってもよい。
   
   計算サーバの起動は、oxc のローカル関数 oxc\_open による。oxc\_open は少
   なくとも 4 個の引数を持つ。すなわち、
   \begin{verbatim}
   oxc_open(計算サーバ名, ホスト名, ポート番号, モード, ...)
   \end{verbatim}
   という形式である。ここで、「計算サーバ名」、「ホスト名」は CMO\_STRING
   型のオブジェクト、「ポート番号」、「モード」は CMO\_INT32型 または
   CMO\_ZZ 型のオブジェクトである。ホスト名というのはOpenXMクライアントのホ
   スト名のことである。ローカル関数の実行は SM\_executeFunction による。す
   なわち各引数を順にスタックに積み、最後にSM\_executeFunction を実行する。
   SM\_executeStringByLocalParser は利用できないので注意する。
   
   oxc\_open は、計算サーバの起動に成功したら (CMO\_INT32, サーバID) を、失
   敗したらエラーオブジェクトをスタックに積む。例えば計算サーバが発見できな
   かった場合にはエラーオブジェクトを積むことになる。コントロールサーバは
   access(2) を用いて PATH から計算サーバを探す。もし見つからなければ、fork
   をせずに、エラーオブジェクトをスタックに積む。
   
   コントロールサーバの実行形式は以下のオプションを許す。
   \begin{verbatim}
        --pass
        --host
        --port
   \end{verbatim}
   */
   
   
   
 \subsection{OpenXM reset protocol}  \subsection{OpenXM reset protocol}
   
 /*&jp  /*&jp
Line 126  the engine returns to the usual state.
Line 176  the engine returns to the usual state.
 \end{enumerate}  \end{enumerate}
 */  */
   
 \begin{figure}[htbp]  
 \epsfxsize=17cm  
 \epsffile{reset.eps}  
 \caption{OpenXM reset procedure}  
 \label{reset}  
 \end{figure}  
   
 /*&eg  /*&eg
 Figure \ref{reset} illustrates the flow of data.  Figure \ref{reset} illustrates the flow of data.
 {\tt OX\_SYNC\_BALL} is a special OX message and  {\tt OX\_SYNC\_BALL} is a special OX message and
Line 149  I/O stream に残るデータの終りを示す. 
Line 192  I/O stream に残るデータの終りを示す. 
 後に続くクライアントからのリクエストと, エンジンからの返答が  後に続くクライアントからのリクエストと, エンジンからの返答が
 正しく対応する.  正しく対応する.
 */  */
   \begin{figure}[htbp]
   \epsfxsize=10cm
   \begin{center}
   \epsffile{reset.eps}
   \end{center}
   \caption{OpenXM reset procedure}
   \label{reset}
   \end{figure}
   
 \subsection{Control message (SMObject/TCPIP/Control)}  \subsection{Control message (SMObject/TCPIP/Control)}
   
 \begin{enumerate}  \begin{enumerate}
Line 195  Request:
Line 247  Request:
 \begin{tabular}{|c|c|}  \hline  \begin{tabular}{|c|c|}  \hline
 {\tt int32 OX\_COMMAND} & {\tt int32 SM\_control\_kill}  \\  {\tt int32 OX\_COMMAND} & {\tt int32 SM\_control\_kill}  \\
 \hline  \hline
 \end{tabular}  \end{tabular}\\
 Result: none.  Result: none.
 \end{enumerate}  \end{enumerate}
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

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