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

Diff for /OpenXM/doc/issac2000/ox-messages.tex between version 1.3 and 1.4

version 1.3, 2000/01/11 05:35:48 version 1.4, 2000/01/13 10:57:10
Line 1 
Line 1 
 %%$OpenXM: OpenXM/doc/issac2000/ox-messages.tex,v 1.2 2000/01/03 04:27:53 takayama Exp $  %%$OpenXM: OpenXM/doc/issac2000/ox-messages.tex,v 1.3 2000/01/11 05:35:48 noro Exp $
   
 \section{OX messages}  (Ohara)  \section{OX messages}
   
 An OX message for TCP/IP is a byte stream consisting of  An OX message for TCP/IP is a byte stream consisting of
 a header and a body.  a header and a body.
Line 19  Several byte orders including the network byte order
Line 19  Several byte orders including the network byte order
 are allowed and the byte order is determined as a part of  are allowed and the byte order is determined as a part of
 the establishment of a connection. See Section \ref{secsession}.  the establishment of a connection. See Section \ref{secsession}.
   
 The OX messages are classifed into three types:  The OX messages are classified into three types:
 DATA, COMMAND, and others.  DATA, COMMAND, and others.
 We have the following main tags for the OX messages.  We have the following main tags for the OX messages.
 \begin{verbatim}  \begin{verbatim}
Line 36  New OX tags may be added.
Line 36  New OX tags may be added.
 The new tag should be classified into DATA or COMMAND.  The new tag should be classified into DATA or COMMAND.
 For example, \verb+ OX_DATA_ASIR_LOCAL_BINARY +  was added a few month ago  For example, \verb+ OX_DATA_ASIR_LOCAL_BINARY +  was added a few month ago
 to send internal serialized objects of asir via the OpenXM protocol.  to send internal serialized objects of asir via the OpenXM protocol.
 This is a tag classifed to DATA.  This is a tag classified to DATA.
 See the home page of OpenXM to add a new tag.  See the web page of OpenXM to add a new tag.
   
 In OpenXM, a distributed computation is done as follows:  In OpenXM, a distributed computation is done as follows:
 \begin{enumerate}  \begin{enumerate}
Line 46  In OpenXM, a distributed computation is done as follow
Line 46  In OpenXM, a distributed computation is done as follow
 \item The client requests to send data to the server.  \item The client requests to send data to the server.
 \item The server sends the data to the client and the client gets the data.  \item The server sends the data to the client and the client gets the data.
 \end{enumerate}  \end{enumerate}
 The server is a stackmachine.  The server is a stack machine. (see Section~\ref{sec:ox-stackmachines}
   for detail)
 That is {\it OX data} message sent by the client  That is {\it OX data} message sent by the client
 are pushed to the stack of the server.  are pushed to the stack of the server.
 If the server gets an {\it OX command} message, then the data are  If the server gets an {\it OX command} message, then the server extract
 popped form the stack and they are used as arguments of a function call.  a stack machine code in the OX command message and interpret the code.
 For example, the asir command  For example, in case of SM\_executeFunction, some data are popped from
 \verb+ ox_push_cmo(P,1) + (push integer $1$ to the server P)  the stack and they are used as arguments of a function call.
   
   We explain an implementation of handling OX messages.
   For example, the asir command {\tt ox\_push\_cmo(P,1)}
   (push integer $1$ to the server $P$)
 sends an OX data message  sends an OX data message
 (OX\_DATA,(CMO\_ZZ,1)) to the server $P$.  {\tt (OX\_DATA,(CMO\_ZZ,1))} to the server $P$.
 Here,  Here,
 OX\_DATA stands for OX\_DATA header and  OX\_DATA stands for OX\_DATA header and
 (CMO\_ZZ,1) is a body standing for $1$ expressed  {\tt (CMO\_ZZ,1)} is a body standing for $1$ expressed
 in the CMO data encoding format.  in the CMO data encoding format.
   The server tranlates $(CMO\_ZZ, 1)$ to its own internal object fotrmat
   for integers and pushs the object to the stack.
   
   An OpenXM client admit that its own command sends some OX messages
   sequentially at once.
   
   For example, the asir command
   {\tt ox\_execute\_string(P, "Print[x+y]")} sends an OX data message
   {\tt (OX\_DATA, (CMO\_STRING, "Print[x+y]"))} and an OX command message
   {\tt (OX\_COMMAND, (SM\_executeStringByLocalParser))} to an OpenXM
   server.
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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