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

Annotation of OpenXM/doc/issac2000/ox-messages.tex, Revision 1.1

1.1     ! takayama    1: %%$OpenXM$
        !             2:
        !             3: \section{OX messages}  (Ohara)
        !             4:
        !             5: An OX message for TCP/IP is a byte stream consisting of
        !             6: a header and a body.
        !             7: \begin{center}
        !             8: \begin{tabular}{|c|c|}
        !             9: \hline
        !            10: Header & \hspace{10mm} Body \hspace{10mm} \\
        !            11: \hline
        !            12: \end{tabular}
        !            13: \end{center}
        !            14: The header consists of two signed 32 bit integers.
        !            15: The first one is an OX tag
        !            16: and the second one is a serial number of the OX message.
        !            17: Negative numbers are expressed by the two's complement.
        !            18: Several byte orders including the network byte order
        !            19: are allowed and the byte order is determined as a part of
        !            20: the establishment of a connection.
        !            21:
        !            22: The OX messages are classifed into three types:
        !            23: DATA, COMMAND, and others.
        !            24: We have the following main tags for the OX messages.
        !            25: \begin{verbatim}
        !            26: #define        OX_COMMAND               513  // COMMAND
        !            27: #define        OX_DATA                  514  // DATA
        !            28: #define OX_SYNC_BALL             515  // others
        !            29: #define OX_DATA_WITH_LENGTH      521  // DATA
        !            30: #define OX_DATA_OPENMATH_XML     523  // DATA
        !            31: #define OX_DATA_OPENMATH_BINARY  524  // DATA
        !            32: #define OX_DATA_MP               525  // DATA
        !            33: \end{verbatim}
        !            34:
        !            35: New OX tags may be added.
        !            36: The new tag should be classified into DATA or COMMAND.
        !            37: For example, \verb+ OX_DATA_ASIR_BINARY +  was added a few month ago
        !            38: to send internal serialized objects of asir via OpenXM protocol.
        !            39: This is a tag classifed to DATA.
        !            40: See the home page of OpenXM to add a new tag.
        !            41:
        !            42: In OpenXM, a distributed computation is done as follows:
        !            43: \begin{enumerate}
        !            44: \item A client requests something to a server.
        !            45: \item The server does works according to the request.
        !            46: \item The client requests to send data to the server.
        !            47: \item The server sends the data to the client and the client gets the data.
        !            48: \end{enumerate}
        !            49: The server is a stack machine.
        !            50: That is OX data message sent by the client
        !            51: are pushed to the stack of the server.
        !            52: If the server gets a OX command message, then the data are
        !            53: popped form the stack and they are used as arguments of a function call.
        !            54: For example, the asir command
        !            55: \verb+ ox_push_cmo(P,1) +
        !            56: sends an OX data message
        !            57: (OX\_DATA,(CMO\_ZZ,1)) to the server $P$.
        !            58: Here,
        !            59: OX\_DATA stands for OX\_DATA header and
        !            60: (CMO\_ZZ,1) is a body standing for $1$ expressed in CMO data encoding format.
        !            61:
        !            62:
        !            63:
        !            64:
        !            65:

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