[BACK]Return to ox-rfc-104.oxw CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Annotation of OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw, Revision 1.4

1.4     ! takayama    1: $OpenXM: OpenXM/doc/OpenXM-specs/ox-rfc-104.oxw,v 1.3 2004/10/14 07:05:21 takayama Exp $
1.1       takayama    2: /*&C
1.2       takayama    3:
1.1       takayama    4: OX-RFC: 104                                    Nobuki Takayama
1.3       takayama    5:                                                October 14, 2004
1.1       takayama    6:
                      7: */
                      8:
1.2       takayama    9: //&en  OX-RFC100  over HTTP protocol
1.4     ! takayama   10: //&ja  HTTP protocol で包むことによる OX-RFC 100 形式の通信方法
1.1       takayama   11:
                     12: /*&C
                     13:
                     14: Status of this memo
                     15:   This is an experimental specification of sending OpenXM 100 packets
1.2       takayama   16:   over http (GET) and https.
1.1       takayama   17:   Distribution of this memo is unlimited.
                     18:
                     19: Copyright Notice
                     20:   OpenXM.org, 2004
                     21:
                     22: */
                     23:
1.4     ! takayama   24: //&ja @@要約
1.2       takayama   25: //&en @@Abstract
1.1       takayama   26: /*&ja
                     27:
1.4     ! takayama   28:   OpenXM 100 形式の通信を HTTP GET (または POST) で wrap する方法を定義
        !            29:   する.  この wrapping により, 次のことを実現することを目標とする.
        !            30:   1. OpenXM 100 対応のサーバを容易に CGI サービス化する.
        !            31:   2. OpenXM のサービスを http を基本にグリッド化する.
1.2       takayama   32:
1.4     ! takayama   33:   OpenXM 100 ではサーバを立ち上げるには "login" することが一般に必要である.
        !            34:   OpenXM-100 over HTTP GET  (以下 OoHG  と略記) は次のように login不要,
        !            35:   login必要の二つの動作モードをもつ.
        !            36:   1. 不特定人が一度のみの計算利用をするような場合に login 不要で動作する.
        !            37:   2. OpenXM 100 と同様に login して session を維持することも可能である.
1.1       takayama   38:
1.4     ! takayama   39:   このメモでは HTTP GET (POST) と HTTPS しか既存技術は利用していない.
        !            40:   Web 技術に関して現在研究中や実用化初期段階のさまざまなプロトコルを活用して
        !            41:   このメモと同等かそれ以上のことを実現することは可能であろう.
        !            42:   我々は単純で必要十分な仕様を与えたいと思っている.
        !            43:   その条件に合致する限り Web 技術に関して現在研究中や実用化初期段階の
        !            44:   さまざまなプロトコルを活用することを否定するものではない.
        !            45:   別のアプローチも試みよりよいプロトコルを作っていきたい.
1.1       takayama   46:
                     47: */
                     48:
1.2       takayama   49:
1.4     ! takayama   50: //&ja @@OX-RFC-100 (OpenXM 100) 形式の通信の復習
1.2       takayama   51: //&en @@Review of OX-RFC-100 for this memo.
1.1       takayama   52: /*&ja
                     53:
1.4     ! takayama   54: OpenXM 100 およびその派生形式の通信は以下のような仕組みで行われる.
1.1       takayama   55:
                     56:  client                                            server
                     57:
                     58:      ---------------- step 1 ----------------------->
1.4     ! takayama   59:      ssh による server への login.
        !            60:      localhost では ox100start/ox などの launcher が直接起動される.
        !            61:      controle server, engine server との接続を確立するための
        !            62:      ポート番号および      -control= ... , -data=...
        !            63:      認証方法および        -authtype=NONE | <<oneTimePassword>>
        !            64:      認証パスワード        -passControl=... , -passData=...
        !            65:      も送信される.
        !            66:      認証パスワードの暗号  -authEncoding=<<NONE>> | file | RSA
        !            67:      化方法の指定.
        !            68:      << >> は src/kxx/ox の標準値
1.1       takayama   69:
                     70:
                     71:     <----------------  step 2 -------------------------->
1.4     ! takayama   72:        -reverse の場合は <--- の向きに TCP/IP 接続が確立される.
        !            73:        そうでないときは ---> の向きに TCP/IP 接続が確立される.
1.1       takayama   74:
                     75:     <----------------  step 3 -------------------------->
1.4     ! takayama   76:        -authtype=oneTimePassword の時.
        !            77:        connect した側が accept した側へ oneTimePassword を送る.
1.1       takayama   78:
1.4     ! takayama   79:     以下 launcher の仕事は終了して, engine と control に制御が移る.
1.1       takayama   80:     <----------------  step 4 -------------------------->
1.4     ! takayama   81:        engine の byte order を設定.
1.1       takayama   82:
                     83:     <---------------------------------------------------->
1.4     ! takayama   84:        OpenXM のパケット交換
1.1       takayama   85:
1.4     ! takayama   86:     詳しくは OX-RFC-100, OX-RFC 103 (OX-RFC 100 補遺) を見よ.
1.1       takayama   87:
                     88: */
                     89:
1.2       takayama   90: //&en @@Data structure of OoHG
1.4     ! takayama   91: //&ja @@OoHG のデータ形式.
1.2       takayama   92:
1.1       takayama   93: /*&ja
                     94:
1.4     ! takayama   95: OoHG での通信は送信, 受信で非対称である.
        !            96: GET を利用するためデータの形式は RFC 2396 で指定されている
        !            97: いわゆる URL エンコーディング方法を用いる.
        !            98: GET の利用の代わりに POST method を利用してもよい.
        !            99: 送信データは
        !           100:     キーワード = 値
        !           101: を & で区切ったものである. キーワードは英数字と _ をもちいるものとする.
        !           102: キーワードと値の組は入れ子構造となってもよい.
1.1       takayama  103:
1.4     ! takayama  104: 受信データは次の形式で送信する.
1.2       takayama  105:
1.4     ! takayama  106:  OX100-OVER-HTTP-GET0-に下のキーワードをつないだもの : URL エンコードされた値
1.2       takayama  107:
1.4     ! takayama  108: 以下キーワードを列挙する.
1.1       takayama  109:
1.4     ! takayama  110: oxMessageBody:       OpenXM のパケット. 複数の OX パケットを一度に送ってよい.
1.1       takayama  111:
1.4     ! takayama  112: oxMessageEncoding:   OpenXM のパケットの encoding 方法の指定.
        !           113:                     <<text_executeString_popString>> が省略時の値.
        !           114:                      方法は以下のとおり.
        !           115:                      1. xml_ox100  (OX-RFC100 に定義された XML 表現)
        !           116:                      2. lisplike_ox100 (OX-RFC100 に定義された Lisp風表現)
        !           117:                      3. binary_ox100 (OX-RFC100 に定義された binary 表現)
1.1       takayama  118:                      4. text_executeString_popString
1.4     ! takayama  119:                           これは一度のみの実行を想定している.
        !           120:                           executeString に与える引数を text 形式で与える.
        !           121:                      補助的な値として次のものがある.
        !           122:                      a. 3DES   Body を 3DES で暗号化する.
        !           123:                      b. RSA    Body を RSA で暗号化する.
        !           124:                      なお oxMessageEncoding キーワードの値は二つ以上存在して
        !           125:                      よい.  この場合 and として扱われる. たとえば
1.2       takayama  126:                      oxMessageEncoding=xml_ox100,3DES
1.4     ! takayama  127:                      の場合 xml_ox100 形式の情報が 3DES で暗号化されて
        !           128:                      送られる. ("," は URL encoding される.)
1.1       takayama  129:
1.4     ! takayama  130: dataChannelId:      data ポートの番号に相当.
        !           131: controlChannelId:   control ポートの番号に相当.
        !           132: sessionKeyFor3Des:  64 bit x 3  3Des 用の Des Key.  サーバ側が生成し,
        !           133:                     RSA で暗号化されサーバより送信される.
        !           134: channelKey:         サーバより一つ前の HTTP トランズアクションで与えられる
        !           135:                     キー. 第3者が session に割り込むのを禁止するため.
        !           136:                     10 桁以上の数字で与える.
        !           137:                     サーバが与えるキーは nextChannelKey (Cookie に相当).
        !           138:                   (ネットワークが盗聴されているときは, この方法は無力である.
        !           139:                    https か 次の channelKeyIn3Des, nextChannelKeyIn3Des
        !           140:                    を用いるべきである.)
        !           141:
        !           142: channelKeyIn3Des:     3Des で暗号化された channelKey.
        !           143: nextChannelKeyIn3Des: 3Des で暗号化された nextChannelKey.
        !           144:
        !           145: responseEncoding:   サーバの返答の encoding 方法.
        !           146:                     省略時には oxMessageEncoding に対応した方法で
        !           147:                     本体部分は送られる.
        !           148:                     nextChannelKey 等の情報は特に指定しない場合
        !           149:                     OX100-OVER-HTTP-GET-nextChannelKey: による
        !           150:                     header を用いた返答を行う.
        !           151:                     text_execute_popString の時は text 形式で送信される.
        !           152:                     詳細後述.
        !           153:                     その他.
1.1       takayama  154:                     1. presentation_html
                    155:
1.4     ! takayama  156: loginRSA:           RSA 認証による login. challenge , challenge-response は
        !           157:                     お互いの public key を用いて送信される. 下の例参照.
        !           158:                     RSA については OX-RFC-103 を見よ.
1.1       takayama  159: logout:             logout
                    160:
                    161:
                    162: sessionTimeOut:
                    163:
                    164: controlChannelKey:
                    165: nextControlChannelKey:
                    166: challenge:
                    167: challenge-response:
                    168:
1.4     ! takayama  169: 以下のキーワードについては後述.
1.2       takayama  170: doSignature:
                    171: response-doSignature:
                    172: getMathCap2:
                    173: grepDirectoryInfo:
                    174: sendPublicKey:
                    175:
1.1       takayama  176: */
                    177:
1.4     ! takayama  178: //&ja @@始めての例
1.2       takayama  179: //&en @@The first example
1.1       takayama  180: /*&ja
                    181:
1.4     ! takayama  182: 例1.
        !           183: fctr(x^2-1); を fctr.cgi へ送信する.
1.2       takayama  184: */
1.1       takayama  185:
1.2       takayama  186: //&C     http://fctr.openxm.org/fctr.cgi?oxMessageBody=fctr(x%5E2-1)%3B
1.1       takayama  187:
1.2       takayama  188: /*&ja
1.4     ! takayama  189: oxMessageBody 以外の全てのキーワードが省略されているので,
        !           190: anonymous, 1 回のみの実行, executeString & popString, 返答は text 形式
        !           191: となり
1.2       takayama  192: */
                    193: //&C    [[1,1],[x-1],[x+2]]
                    194: /*&ja
1.4     ! takayama  195: が戻る.
1.2       takayama  196: */
1.1       takayama  197:
1.2       takayama  198: /*&ja
1.4     ! takayama  199: 例2.
        !           200: 同じ問題を session を確立してから実行する. URL encoding 部分は " ... " で記述.
        !           201: RSA 暗号化されてる部分は ' ... 'で記述.
1.2       takayama  202: */
                    203: /*&C
1.1       takayama  204:    --->
                    205:      http://fctr.openxm.org/fctr.cgi?loginRSA="takayama@hoge.org"
                    206:    <---
                    207:      OX100-OVER-HTTP-GET-controlChannelId: 4010
                    208:      OX100-OVER-HTTP-GET-dataChannelId: 4011
                    209:      OX100-OVER-HTTP-GET-challenge: '.............'
                    210:    --->
1.2       takayama  211:      http://fctr.openxm.org/fctr.cgi?chanllenge-response='..........'
1.1       takayama  212:    <---
                    213:      OX100-OVER-HTTP-GET-nextChannelKey: 143245
                    214:      OX100-OVER-HTTP-GET-nextControlChannelKey: 534256
                    215:    --->
                    216:      http://fctr.openxm.org/fctr.cgi?dataChannelId=4011&
                    217:                                      channelKey=143245&
                    218:                                      oxMessageEncoding="lisplike_ox100"&
                    219:                                      responseEncoding="text"
                    220:             oxMessageBody="(OX_DATA,(CMO_STRING,\"fctr(x^2-1);\"))
                    221:                            (OX_COMMAND,(SM_executeString))
                    222:                            (OX_COMMAND,(SM_popString))"
                    223:   <---
                    224:      Content-Type: text/plain
                    225:      OX100-OVER-HTTP-GET-nextChannelKey: 345137
                    226:
                    227:      [[1,1],[x-1],[x+2]]
                    228:   --->
                    229:      http://fctr.openxm.org/fctr.cgi?dataChannelId=4011&
                    230:                                      channelKey=345137&
                    231:                                      logout&
                    232: */
                    233:
                    234:
1.4     ! takayama  235: //&ja @@エラーコード一覧.
1.2       takayama  236:
                    237: /*&ja
                    238:
1.4     ! takayama  239: HTTP 準拠のエラーの他, CMO エラー object を responseEncoding に従い
        !           240: 送る.
1.2       takayama  241:
1.4     ! takayama  242: << 以下まだ検討してない >>
1.2       takayama  243:
                    244: */
                    245:
1.4     ! takayama  246: //&ja @@コントロールプロセスとの通信
1.2       takayama  247:
                    248: /*&ja
                    249:
1.4     ! takayama  250: 接続中の connection が切断された場合, エンジン, コントロールサーバともに
        !           251: 終了する.
        !           252: コントロールサーバに中断メッセージを送った場合, OX-RFC-103 の中断動作
        !           253: をおこなう.
        !           254: << 以下まだ書いてない >>
1.2       takayama  255:
                    256: */
                    257:
1.4     ! takayama  258: //&ja @@ホストのなりすましの防止
1.2       takayama  259:
                    260: /*&ja
1.4     ! takayama  261:  https を利用する場合はサーバが偽物でないことの証明は https の機能を用いて
        !           262:  実現される.  http の場合には RSA public キーを用いてサーバが偽物でない
        !           263:  ことを証明することが可能である.  このためのキーワードが doSignature
        !           264:  である.
1.2       takayama  265: */
                    266: //&C doSignature=anonymous@fctr.openxm.org,'challenge words encrypted'
                    267:
                    268: /*&ja
1.4     ! takayama  269:  'challenge words encrypted' は anonymous@fctr.openxm.org の public key
        !           270:  を用いて RSA  暗号化される. サーバは response-DoSignature
        !           271:  キーワードを用いて送られた words をクライアントに戻す.
1.2       takayama  272:
                    273: */
                    274:
1.4     ! takayama  275: //&ja @@OpenXM grid のサービス一覧提供方法.
1.2       takayama  276: //&en @@Directory service for OpenXM grid.
                    277:
                    278: //&C @@@mathCap2
                    279:
1.1       takayama  280: /*&ja
1.4     ! takayama  281:   mathCap2 は
        !           282:       キーワード = 値
        !           283:   形式で表現された mathCap である.  キーワードは以下のとおり.
1.2       takayama  284:
                    285:   systemName
                    286:   systemVersion
                    287:   acceptOXtags
                    288:   acceptSMtags
                    289:   acceptCMOtags
                    290:
                    291:   exportedCommands
1.4     ! takayama  292:      実行可能な関数名
1.3       takayama  293:
1.4     ! takayama  294:      値は
        !           295:      [名前,引数の数,引数1のデータ型, 引数2のデータ型, ...] 形式のリストである.
        !           296:      引数の数が -1 の場合引数は不定.
        !           297:      引数のデータ型は省略してもよい.
        !           298:
        !           299:      データ型の表現方法は XML name space の表記方法を用い, 文字列型で戻す.
        !           300:      なおPolymorphic な関数の場合は同じ関数名で表記してかまわない.
        !           301:      例:
1.3       takayama  302:       ["gcd", 2,
                    303:        "<cmo:cmo_int32 xmlns:cmo="http://www.openxm.org/ox-rfc-100.xml">",
                    304:        "<cmo:cmo_int32 xmlns:cmo="http://www.openxm.org/ox-rfc-100.xml">" ]
                    305:
1.1       takayama  306:
1.2       takayama  307:   resourceLimit
1.4     ! takayama  308:      [time,値], [memory,値] 等の リスト
1.1       takayama  309:
1.4     ! takayama  310:   注意: systemName, systemVersion,   acceptOXtags, acceptSMtags, acceptCMOtags
        !           311:    は現在の MathCap の戻す情報にほかならない.
1.3       takayama  312:
1.4     ! takayama  313:   注意:   ある一定のサーバでは変数に格納されたデータも関数として取り出す
1.3       takayama  314:
1.4     ! takayama  315:   systemName は Java の package の命名方法の真似をする.
        !           316:    例:  org.openxm.ox_sm1
1.3       takayama  317:         org.openxm.ox_polymake_2
                    318:
1.2       takayama  319: */
1.1       takayama  320:
1.2       takayama  321: //&C @@@SM_getMathCap2
                    322: /*&ja
1.4     ! takayama  323: SM_printMathCap2 はそのサーバの mathCap2 を CMO データとして戻す
        !           324: 新しいスタックマシンコマンドである.
        !           325: 何らかのサービスを提供するサーバは
1.1       takayama  326: */
1.2       takayama  327: //&C (OX_COMMAND,(SM_getMathCap2)) (OX_COMMAND,(SM_popCMO))
                    328: /*&ja
1.4     ! takayama  329: が実行可能であるべきである.   このコマンドは anonymous に実行を許す場合
        !           330: もあるので,  (OX_COMMAND,(SM_getMathCap2)) (OX_COMMAND,(SM_popCMO))
        !           331: の省略形式が OoHG のキーワード
1.2       takayama  332:              getMathCap2=1
1.4     ! takayama  333: として用意されている.
1.2       takayama  334: */
                    335:
                    336: //&C Example: http://fctr.openxm.org/fctr.cgi?getMathCap2=1
1.1       takayama  337:
1.4     ! takayama  338: //&C @@@ディレクトリサービス
1.1       takayama  339: /*&ja
1.4     ! takayama  340: OpenXM grid のディレクトリサービスは各サーバの mathCap2 の情報をもとに
        !           341: している.  信用のおけるディレクトリサービスを実現するためには
        !           342: サーバの RSA public key が必須である.  このキーがあると doSignature
        !           343: をもとにディジタル署名された mathCap2 情報を得ることが可能となる.
        !           344:
        !           345: OpenXM grid のディレクトリ情報は
        !           346:      キーワード=値
        !           347: の集合体である.
        !           348: この情報は次のいずれかの方法を用いて表現する.
        !           349: 1. キーワードを要素とする XML として表現.
        !           350:    XML の根要素は OpenXMnode.  OpenXMnode の集まりは OpenXMnodes.
        !           351: 2. CMO のリストとして キーワード, 値 のペアとして表現する.
1.2       takayama  352:
1.4     ! takayama  353: 必須のキーワード
1.2       takayama  354:    OpenXMnodeURL,  mathCap2,  listOfAnonymousPublicKeys
                    355:
1.4     ! takayama  356: OpenXM directory サーバはこれらの情報を検索して返答する.
        !           357: Directory サーバもまた OpenXM エンジンである.
        !           358: たとえば factor をキーワードとする
        !           359: grep 検索は以下のとおり.
1.3       takayama  360:    (OX_DATA,(CMO_STRING,"factor"))
1.2       takayama  361:    (OX_DATA,(CMO_INT32,1))
                    362:    (OX_DATA,(CMO_STRING,"ox104_grepDirectoryInfo"))
                    363:    (OX_COMMAND,(SM_execute))
                    364:    (XO_COMMAND,(SM_popCMO))
1.4     ! takayama  365: 同等な機能を実現する OoHG 用のキーワードとして
1.3       takayama  366:      grepDirectoryInfo
1.4     ! takayama  367: がある.
        !           368: 例:     grepDirectoryInfo="factor"
1.3       takayama  369:
                    370: */
                    371:
                    372: //&en @@@OX-104 Directory service
1.4     ! takayama  373: //&ja @@@OX-104 Directory サービス
1.3       takayama  374: /*&ja
1.1       takayama  375:
1.4     ! takayama  376: Directory サーバはいわゆる agent の一種である.
        !           377: Directory サーバは個人のローカルマシンで動作させてよいが,
        !           378: ox-rfc-104 では anonymous な計算サービスの検索のため,
        !           379: いわゆる根となるべき directory server を以下のように定義する.
        !           380: URLは以下のとおり.
1.3       takayama  381:    http://ox104_directory.openxm.org/cgi-bin/ox104_directory.sh
                    382:    http://ox104_directory.math.kobe-u.ac.jp/cgi-bin/ox104_directory.sh
                    383:    http://ox104_directory.math.kyushu-u.ac.jp/cgi-bin/ox104_directory.sh
                    384:    http://ox104_directory.s.kanazawa-u.ac.jp/cgi-bin/ox104_directory.sh
                    385:
1.4     ! takayama  386: OX-server ox104_directory は次の関数をもつ.
1.3       takayama  387:   1. ox104_findSystem(String systemName)
                    388:
1.4     ! takayama  389:       ox サーバを検索して戻す. 見付けたものを (cmo) リストとする.
        !           390:       例:
1.3       takayama  391:         ox104_findSystem("org.openxm.ox_polymake_2");
                    392:        [server=
                    393:         [url="http://polymake.math.kobe-u.ac.jp/cgi-bin/cgi-polymake.sh",
                    394:          protocol="org.openxm.ox-rfc-104",
1.4     ! takayama  395:          description="CGI 版の polymake サーバ. Version 2 ベース",
1.3       takayama  396:          version="??",
                    397:          loadAverage=0,
                    398:          cpuType=, memory=, anonymous=]]
                    399:
1.4     ! takayama  400:       なお directoryServer=[...] として情報が戻る場合は,
        !           401:       あらためてそのサーバに聞く必要がある.
1.3       takayama  402:
1.4     ! takayama  403:       例:
1.3       takayama  404:         ox104_findSystem("org.openxm.ox_sm1");
                    405:        [localServer=
                    406:         [path="/usr/local/OpenXM/bin/ox_sm1",
                    407:          protocol="org.openxm.ox-rfc-100"
                    408:         ]]
                    409:
                    410:   2. ox104_grepDirectoryInfo(String key)
1.4     ! takayama  411:        情報を grep して該当するサーバを戻す.
1.3       takayama  412:
1.4     ! takayama  413: OX-server ox104_directory は cash 機能を持つべきである.
        !           414: サーバは機能の制限をしている場合がある.
        !           415: その場合サーバに mathcap2 を問い合わせる必要がある.
1.3       takayama  416: */
1.1       takayama  417:
1.3       takayama  418: //&en @@@list of system names
1.4     ! takayama  419: //&ja @@@システム名のリスト
1.1       takayama  420:
1.3       takayama  421: /*&C
                    422:     org.openxm.ox_polymake_2
                    423:     org.openxm.ox_asir
                    424:     org.openxm.ox_sm1
                    425:     << It has not yet been completed. >>
1.1       takayama  426: */
                    427:
1.4     ! takayama  428: //&ja @@@anonymous@host の RSA public key の入手方法
1.1       takayama  429:
                    430: /*&ja
1.4     ! takayama  431:   anonymous@host の RSA public key は別の信頼できる情報源から入手するか,
        !           432:   "host" にたいして
1.2       takayama  433:       sendPublicKey="anonymous@host"
1.4     ! takayama  434:   要求を出すことにより入手する.
1.2       takayama  435: */
1.1       takayama  436:
1.2       takayama  437: /*&ja
1.1       takayama  438:
1.4     ! takayama  439: << 以下, まだ検討してない >>
1.1       takayama  440:
                    441: */
                    442:
1.4     ! takayama  443: //&ja @@共通関数名
1.2       takayama  444: //&en @@Common name of functions
                    445:
                    446: /*&ja
                    447:
1.4     ! takayama  448: 名前                引数の数
1.2       takayama  449: ox104_equal          2
                    450: ox104_add            2
                    451: ox104_sub            2
                    452: ox104_times          2
                    453: ox104_divide         2
                    454: ox104_power          2
                    455: ox104_inverse        1
                    456: ox104_translate      2
                    457:
                    458: */
                    459:
                    460:
1.4     ! takayama  461: //&ja @@関連する技術
1.2       takayama  462: //&en @@Related technologies
                    463:
                    464: /*&ja
                    465:
                    466:   IAMC  (symbolicnet.org)
                    467:
                    468: */
                    469:
1.4     ! takayama  470: //&ja @@貢献者および試験実装
1.2       takayama  471: //&en @@Contributors and sample implementations
                    472:
                    473:
                    474: /*&ja
1.4     ! takayama  475: まだサンプル実装はない.
1.2       takayama  476: */
                    477:
1.4     ! takayama  478: //&ja @@参考文献
1.2       takayama  479: //&en @@Bibliography
                    480:
                    481: /*&C
                    482:
                    483: [OpenXM-RFC-100]  Design and Implementation of OpenXM Client-Server Model
                    484:                  and Common Mathematical Object Format.  M.Noro, N.Takayama
                    485:
                    486: [OpenXM-RFC-101] Protocol to Start Engines.  K.Ohara
                    487:
                    488: [OpenXM-RFC-103] Supplement to OX-RFC-100
                    489:      --- Broadcasting in process trees and engine authentication.
                    490:                                               OpenXM committers.
                    491:
                    492: [RFC1945] Hypertext Transfer Protocol -- HTTP/1.0. T. Berners-Lee, R.
                    493:      Fielding, H. Frystyk. May 1996. (Format: TXT=137582 bytes) (Status:
                    494:      INFORMATIONAL)
                    495:
                    496: [RFC2660] The Secure HyperText Transfer Protocol. E. Rescorla, A.
                    497:      Schiffman. August 1999. (Format: TXT=95645 bytes) (Status:
                    498:      EXPERIMENTAL)
                    499: */
                    500:
                    501:
1.3       takayama  502: $Id: ox-rfc-104.oxw,v 1.14 2004/10/14 07:03:55 taka Exp $

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