JP2002163122A - 通信処理方法ならびに通信処理プログラムが記録される記録媒体 - Google Patents
通信処理方法ならびに通信処理プログラムが記録される記録媒体Info
- Publication number
- JP2002163122A JP2002163122A JP2000364542A JP2000364542A JP2002163122A JP 2002163122 A JP2002163122 A JP 2002163122A JP 2000364542 A JP2000364542 A JP 2000364542A JP 2000364542 A JP2000364542 A JP 2000364542A JP 2002163122 A JP2002163122 A JP 2002163122A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- connection
- information processing
- request
- processing method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 108
- 230000006854 communication Effects 0.000 title claims abstract description 108
- 238000003672 processing method Methods 0.000 title claims description 22
- 238000000034 method Methods 0.000 claims abstract description 380
- 230000008569 process Effects 0.000 claims abstract description 368
- 238000012546 transfer Methods 0.000 claims abstract description 30
- 230000010365 information processing Effects 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 8
- 230000002269 spontaneous effect Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 30
- 238000012545 processing Methods 0.000 description 21
- 238000012544 monitoring process Methods 0.000 description 14
- 239000000725 suspension Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012508 change request Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
を行っているクライアント側のプロセスと(親プロセ
ス)サーバ側のプロセスとの間の通信回線を、自発的に
サーバ側の別のプロセス(子プロセス)との間の通信回
線に張替えて通信を継続させる。 【解決手段】サーバ側の第1のプロセスとクライアント
側の第2のプロセスが第1の通信回線によって通信中
に、第1のプロセスが第2のプロセスに対して通信の中
断を要求し、第2のプロセスは第1のプロセスに中断完
了の報告を行う機能と、第1のプロセスがプロセス生成
機能により生成したサーバ側の第3のプロセスと第2の
プロセスに対して互いに第2の通信回線の接続を確立す
るように要求する機能と、前記接続を確立するまでに第
1のプロセスがすでに第2のプロセスからのデータを受
信している場合は該データを第3のプロセスにコピーす
る機能とを持つことで第2の通信が正しく第1の通信を
引き継ぐことが出来る。
Description
ソケット通信におけるforkをエミュレートする通信
処理方法に係り、特にOSの介在なしにユーザ空間転送
を行う情報処理システムにおいて、forkで生成され
た子プロセスが親プロセスとクライアント間のネットワ
ーク接続を引き継ぐ通信処理方法に関する。
報処理システムにおいて、TCP/IPによるソケット
通信はごく一般的であり、莫大なソフトウェア資産が存
在する。図2にサーバ・クライアントモデルの情報処理
システムの例を示す。この例ではホスト210とホスト
260が通信回線30で結合しており、サーバアプリケ
ーション211とクライアントアプリケーション261
がソケット通信を行う。
プリケーション261のプロセス262からの要求をサ
ーバアプリケーション211の親プロセス212が受け
た場合、親プロセス212がUNIX(登録商標)のf
ork機能によって子プロセス213を生成し、子プロ
セス213がプロセス262からの要求を処理する。し
かしながらソケット通信では通信データを一旦OS空間
内のバッファ(バッファ231やバッファ281)でバ
ッファリングするために、スループットの向上に限界が
あった。
タ転送を行いOS空間へのコピーを不要とするVIA
(Virtual Interface Archit
ecture)等の次世代高速IO方式が提案されてい
る。公知の技術としては例えばSteven H. R
odrigues他による“High−Perform
ance Local Area Communica
tion With Fast Socket”(Pr
oceedings of the USENIX、1
997)がある。該技術によると高速ネットワークでサ
ーバとクライアント間を接続することで性能向上を実現
することが可能になり、かつソケット通信の一部の機能
を該高速ネットワークのAPIでエミュレートすること
でこれまでのソフトウェア資産を有効活用することが可
能になる。このエミュレートに関してはUNIXのリネ
ーム機能によって本来の関数を新しい関数で置き換えて
実現できることは周知の技術である。
うに、ソケット通信における端点の一方はサーバ側(ホ
スト210)のプロセスが保持し(ソケット221)、
他方はクライアント側(ホスト260)のプロセスが保
持する(ソケット271)。
セス213を生成する際に、親プロセスが保持するソケ
ットの属性も子プロセスにコピーするため、親プロセス
と子プロセスで同一のソケット221を共有して利用す
ることが可能である。すなわちforkによって生成さ
れた子プロセス213はそのままでクライアントとの通
信が可能である。
はプロセス間の通信回線の端点(VIrtual In
terface:以後VIと記す)はそれぞれのプロセ
スのローカルな資源であり、forkで子プロセス31
3を生成しても親プロセス312のVI331は共有で
きないという制限がある。
成してもクライアントとのVIの接続が確立できないの
でクライアントとの通信ができないという問題が生じ
る。したがって、VIAでソケット通信のforkをエ
ミュレートするためには生成された子プロセス313と
ホスト360のクライアントアプリケーション361と
の間でVIの接続を確立することが課題になる。
ス313とプロセス362間でVIの接続が確立する前
に親プロセス312とプロセス362間で通信が発生す
る場合もあり得る。この場合には親プロセス312とプ
ロセス362間で発生した通信を確実に子プロセス31
3とプロセス362間で引き継ぐことが課題になる。
RKをエミュレートするようにサーバの親プロセスとク
ライアントのプロセス間のVI接続をサーバの子プロセ
スとクライアントのプロセス間に張り替えて、子プロセ
スが親プロセスの通信を継続する方法を提供することに
ある。
れば、第1の情報処理装置上で実行されるプロセスと第
2の情報処理装置上で実行されるプロセスが互いにユー
ザ空間直接転送により通信を行う機能を有する情報処理
システムにおいて、前記第1の情報処理装置上の第1の
プロセスと前記第2の情報処理装置上の第2のプロセス
との間の第1の接続による通信を、前記第1の情報処理
装置上の第3のプロセスと前記第2のプロセスとの間の
第2の接続によって引き継いで通信を継続する。その特
徴は前記第1のプロセスと前記第2のプロセスが前記第
1の接続による通信を中断する第1の機能と、前記第3
のプロセスと前記第2のプロセスが前記第1のプロセス
の要求により新たに第2の接続を確立する第2の機能
と、前記第1のプロセスの要求により前記第2の接続が
前記第1の接続による通信を引き継いで通信を継続する
第3の機能と、を有する点にある。
機能により生成されることを特徴とする。
スが前記第2のプロセスに対してデータ転送の中断要求
を行う機能と、前記第2のプロセスは前記中断要求に応
じて前記第1のプロセスに対するデータ転送を中断し、
中断完了後に前記第1のプロセスに対して中断完了報告
を行う機能と、を具備することを特徴とする。
記第2の機能は前記第2の接続が確立されたことを前記
第2または前記第3のいずれか、または両方のプロセス
が前記第1のプロセスに報告する機能を具備することを
特徴とする。
スで発生した自発的事象を契機に第2の接続の確立を要
求することを特徴とする。
スで発生した突発的事象を契機に第2の接続の確率を要
求することを特徴とする。
確立するまでに前記第1のプロセスが該プロセスにおい
てデータ受信処理が発生したことを検出し記憶する手段
を具備することを特徴とする。
接続が確立するまでに前記第1のプロセスが該プロセス
においてデータ受信処理が発生したことを検出した場
合、前記第3のプロセスに対して通知する手段を具備す
ることを特徴とする。
接続が確立するまでに前記第1のプロセスが該プロセス
においてデータ受信処理が発生したことを検出し、前記
第3のプロセスに対して通知した場合、前記第1のプロ
セスと前記第3のプロセスが強調して該データを前記第
1のプロセスから前記第3のプロセスにコピーする手段
を具備することを特徴とする。
機能をエミュレートするようにプログラムされたエミュ
レーションライブラリで実現され、前記第1の情報処理
装置と前記第2の情報処理装置でそれぞれ前記エミュレ
ーションライブラリを実行することにより、前記第1の
情報処理装置と前記第2の情報処理装置のそれぞれで実
行するソケット通信のためのユーザプログラムを何ら変
更することなく通信が可能であることを特徴とする。
・クライアントシステムを示す。
しない)上にはサーバアプリケーション111、TCP
/IPソケットエミュレータモジュール120、VIA
モジュール130が格納されている。またホスト160
のメモリ(図示しない)上には同様にクライアントアプ
リケーション161、TCP/IPソケットエミュレー
タモジュール170、VIAモジュール180が格納さ
れている。
ク1で接続されており、サーバアプリケーション111
とクライアントアプリケーション161は通信回線(1
0、20)を介してパケットの送受で通信を行う。
ール120および170は、前記公知例と同様にVIA
のAPIによってTCP/IPのソケット通信の機能を
エミュレートした関数群を含み、特に図10に示した関
数群に関しては、関数本来の機能に加え、本発明を実現
するための機能を追加して該関数をエミュレートしてい
る。
IAドライバ(図示せず)を含んでいる。またVIAに
よる通信回線の端点であるVI(131、132、18
1、182)を構成する。
プロセス112はFORK()をエミュレートした図1
0の参照符号F1示すEMU_FORK()F1によっ
て子プロセス115を生成する。EMU_FORK()
F1では子プロセスを生成する機能に、親プロセス11
2および子プロセス115がプロセス間通信を行うため
に共有メモリ117を生成し、共有メモリ117に張替
え要求フラグP118、張替え要求フラグC119およ
びコピー発生フラグ140を生成する機能が追加されて
いる。また親プロセス112内にデータ既受信フラグ1
13、張替え完了フラグ123および張替え要求監視ス
レッド114を生成する。さらに、子プロセス115内
に張替え要求監視スレッド116およびコピー要求監視
スレッド141を生成する。張替え要求フラグP118
は親プロセス112によって書き込まれ、その書き込み
を張替え要求監視スレッド116が監視する。コピー発
生フラグ140は親プロセス112によって書き込ま
れ、その書き込みをコピー要求監視スレッド141が監
視する。張替え要求フラグC119は子プロセス115
によって書き込まれ、その書き込みを張替え要求監視ス
レッド114が監視する。
いては、プロセス162がCONNECT()をエミュ
レートした図10の参照符号F2に示すEMU_CON
NECT()でもってサーバアプリケーション111に
対して通信回線の確立を要求する。EMU_CONNE
CT()F2には、接続が許可されるとプロセス162内
に中断要求フラグ163と中断要求監視スレッド164
を生成する機能が追加してある。中断要求フラグ163
はサーバアプリケーション111から送られてくるパケ
ットによって書き込まれ、その書き込みを中断要求監視
スレッド164が監視する。
ける親プロセス112、子プロセス115、およびプロ
セス162の処理手順をそれぞれ示すフローチャートで
ある。以降、図を用いてVIの張替え処理の詳細を説明
する。
親プロセス112の処理の流れ説明する。
ライアントアプリケーション161上のプロセス162
からの接続要求を聴取する。次に、ステップS3ではプ
ロセス162からの接続要求に対して接続許可を出す。
次に、ステップS4ではEMU_FORK()F1によ
って子プロセスを生成する。ステップS5ではVIの張
替えが既に行われているかを張替え完了フラグ123を
見てチェックする。張替え完了フラグ123はステップ
S13において書き込まれる。
了フラグ123が1の場合)はステップS14に進む。
張替えが行われていない場合(張替え完了フラグ123
が0の場合)はステップS6へ進む。
プロセスでのVI張替え要求トリガの発生の有無をチェ
ックする。子プロセスはステップS4で生成されている
が、その時点(ステップS4)ではまだVIの張替えは
行わない。なぜならばVIの張替えは多大なオーバヘッ
ドを伴う高価な処理であり、また子プロセスを生成して
も必ずしも該子プロセスがクライアントと通信を行うわ
けではないからである。そのため図7に示すように、実
際に子プロセス115とプロセス162の通信を発生さ
せるようなイベントをVI張替え処理開始のトリガとす
る。
12による通信回線10のCLOSEである。該トリガ
は自発的なトリガである。通信回線10のCLOSE後
はプロセス162の通信相手は子プロセス115にな
る。
る。該トリガは自発的な場合と突発的な場合がある。消
滅後は子プロセス115が通信可能の状態でなければな
らない。
(RECV)の発生である。該トリガは自発的なトリガ
である。子プロセス115はプロセス162からの通信
を期待しているので通信可能の状態でなければならな
い。トリガT4は子プロセス115の送信動作(SEN
D)の発生である。該トリガは自発的なトリガである。
子プロセス115がプロセス162へデータを送信する
ため通信可能の状態でなければならない。
トリガの発生がなければステップS14に進んで、サー
バプログラムを継続して実行する。ステップS6におい
て該トリガの発生がある場合は親プロセス112が実行
している通常の処理を一旦休止し、VI張替え処理のル
ーチンであるステップS7に進む。
セス162に対してデータ転送の中断を要求する。その
後、ステップS8でプロセス162からのデータ転送中
断完了報告を待つ。データ転送中断完了報告があると親
プロセスはステップS9に進み、VI張替え前に親プロ
セス112とプロセス162の間で通信が発生し親プロ
セス112が既にデータを受け取っているか否かをチェ
ックする。チェックはデータ既受信フラグ113を見て
行う。データ既受信フラグ113はステップS16で書
き込まれる。既にデータを受け取っている場合(データ
既受信フラグ113が1の場合)はステップS10に進
む。データを受け取っていない場合(データ既受信フラ
グ113が0の場合)はステップS11に進む。
コピー発生フラグ140を立てて子プロセス115にデ
ータコピーの発生を通知する。続いて親プロセス112
と子プロセス115が強調して親プロセス112のアド
レス空間を子プロセス115にコピーし、親プロセス1
12が既に受信しているデータを子プロセス115に漏
れなく引き継がせる。
びプロセス162に対して互いにVIを張替えるよう要
求する。親プロセス112と子プロセス115は共有メ
モリ117を介して通信し、張替え要求フラグP118
を立てることで子プロセス115に対してVIの張替え
を要求する。
回線10を介して通信し、親プロセス112がプロセス
162に対してVI張替え要求用パケットを送信し張替
え要求フラグ163を立てることでVIの張替えを要求
する。ステップS12ではプロセス162からの張替え
完了報告を待つ。
3を立てる。張替え完了フラグ123を立てることによ
り、以後張替え要求トリガを発行させるイベントが発生
した場合でも、二重に張替え要求が発行されること防
ぐ。ステップS14ではVI張替え処理のルーチンから
復帰する場合は、休止していた親プロセス112の処理
を再開し、そうでなければ通常の処理の実行する。
常の処理において、プロセス162からのデータを受信
したか否かをチェックする。この処理はRECV()を
エミュレートした図10に示すEMU_REDV()F
5において実行される。ステップS15においてデータ
受信が発生した場合はステップS16に進む。データ受
信が発生していない場合はステップS17へ進む。
13を立てる。データ既受信フラグ113を立てること
により、子プロセス115にコピーすべきデータの受信
が発生したことを親プロセス112は知る。
常の処理において該プロセスが終了するか否かをチェッ
クする。終了する場合はステップS18へ進み該プロセ
スは終了する。終了しない場合は再度ステップS5へ進
み、これまでのステップを繰り返す。
の動作である。
子プロセス115の処理の流れを説明する。
F1によって子プロセス115が生成されて処理が開始
される。
身におけるVI張替え要求トリガの発生の有無をチェッ
クする。ステップS22においてトリガT3またはトリ
ガT4が発生していればステップS23に進む。該トリ
ガが発生していなければステップS26に進む。
替え要求フラグC119を立て、親プロセス112に対
して子プロセス115において張替え要求トリガが発生
したことを報告する。親プロセス112は張替え要求フ
ラグC119をスレッド114で監視して該トリガの発
生を知る。
プロセス112からのデータコピー要求の有無をチェッ
クする。該チェックはコピー要求監視スレッド141に
よってコピー発生フラグ140を監視することで行われ
る。ステップS24においてデータコピー要求がある場
合(コピー発生フラグ140が1の場合)は、子プロセ
ス115が実行している通常の処理を一旦休止し、ステ
ップS25に進む。ステップS24においてデータコピ
ー要求が無い場合(コピー発生フラグ140が0の場
合)はステップS26に進む。
プロセス112のアドレス空間が子プロセス115へコ
ピーされる。
プロセス112からのVI張替え要求の有無をチェック
する。該チェックはスレッド116によって張替え要求
フラグP118を監視することで行われる。ステップS
26において張替え要求がある場合(張替え要求フラグ
P118が1の場合)は、VI張替え処理のルーチンで
あるステップS25に進む。ステップS26において張
替え要求が無い場合(張替え要求フラグP118が0の
場合)はステップS29に進む。
ライアントアプリケーション161上のプロセス162
からの接続要求を聴取する。
ロセス162からの接続要求に対して接続許可を出す。
チンから復帰する場合は、休止していた子プロセス11
5の処理を再開し、そうでなければ通常の処理の実行す
る。
常の処理において該プロセスが終了するか否かをチェッ
クする。終了する場合はステップS31へ進み該プロセ
スは終了する。終了しない場合は再度ステップS22へ
進み、これまでのステップを繰り返す。
の動作である。
セス162の処理の流れを説明する。
2はステップS42において親プロセス112に対して
VIの接続要求を行う。
が許可されるのを待つ。
のデータ転送中断要求の有無をチェックする。該チェッ
クは中断要求監視スレッド164によって中断要求フラ
グ163を監視することで行われる。ステップS44に
おいて中断要求がある場合(中断要求フラグ163が1
の場合)は、プロセス162が実行している通常の処理
を一旦休止し、ステップS45へ進む。ステップS44
において中断要求が無い場合(中断要求フラグ163が
0の場合)はステップS52へ進む。
の処理を行う。
したか否かをチェックする。終了していなければステッ
プS45に戻る。終了していればステップS47に進
む。
してパケット通信によりデータ転送中断完了の報告を行
う。
ロセス112からのVI張替え要求の有無をチェックす
る。該チェックはスレッド164によって張替え要求フ
ラグ163を監視することで行われる。ステップS48
において張替え要求がある場合(張替え要求フラグ16
3が1の場合)は、プロセス162が実行している通常
の処理を一旦休止し、VI張替え処理のルーチンである
ステップS49へ進む。ステップS48において張替え
要求が無い場合(張替え要求フラグ163が0の場合)
はステップS52へ進む。
ロセス115に対してVIの接続要求を行う。次にステ
ップS50では接続が許可されるのを待つ。
テップS51で親プロセス112に対してVIの張替え
が完了したことを報告する。該報告は親プロセス112
に対して張替え完了報告用パケットを送信し張替え完了
フラグ123を立てることにより行う。
VI張替え処理のルーチンから復帰する場合は、休止し
ていたプロセス162の処理を再開し、そうでなければ
通常の処理の実行する。
の処理において該プロセスが終了するか否かをチェック
する。終了する場合はステップS54へ進み該プロセス
は終了する。終了しない場合は再度ステップS44へ進
み、これまでのステップを繰り返す。
動作である。
プロセス115およびプロセス162におけるそれぞれ
の処理が全体として時系列でどのように動作するかを図
9に示すタイムチャートを用いて説明する。
バ上の親プロセスに対して接続要求910を発行し、該
親プロセスは時点Aでそれを受け取る。なお図中、処理
名称の始めに表記した括弧内の字句は該クライアントに
対する処理の対象がサーバ上の親プロセスであるか子プ
ロセスであるかを示す。以下同様である。続いて該親プ
ロセスは時点Bで該クライアントに対して接続許可91
1を発行し、該クライアントは時点bでそれを受け取
る。時点Xにおいて該親プロセスはEMU_FOR
K()918によって子プロセスを生成する。時点Cに
おいて該親プロセスは該クライアントに対してデータ転
送中断要求912を発行し、該クライアントは時点cで
それを受け取る。時点c以降該クライアントはデータ転
送中断処理(図示せず)を行い、中断処理が完了した時
点dにおいて該親プロセスに対して中断完了報告913
を発行する。該親プロセスは時点Dで該中断完了報告9
13を受け取り、その後時点Yにおいて該子プロセスへ
の既受信データのコピー922を行う。続いて時点Eに
おいて該親プロセスは該クライアントに対して張替え要
求914を発行し、該クライアントは時点eにおいてそ
れを受け取る。時点fにおいて該クライアントは該子プ
ロセスに対して接続要求915を発行し、該子プロセス
は時点Fにおいてそれを受け取る。続いて時点Gにおい
て該子プロセスは該クライアントに対して接続許可91
6を発行し、該クライアントは時点gにおいてそれを受
け取る。最後に時点hにおいて該クライアントは該親プ
ロセスに対して張替え完了報告917を発行し、該親プ
ロセスは時点Hでそれを受け取り、一連のVI張替え処
理が完了する。
信可能状態であり、該子プロセスは時点G以降データ受
信可能状態である。また時点bc間および時点h以降が
該クライアントがデータ送信可能時間であり、時点dg
間が送信中断時間である。もし該クライアントが時点b
でデータの送信を開始した場合、時点B´において該親
プロセスが該データを受信可能になる。しかし該親プロ
セスは中断完了報告913を受け取ることにより、該親
プロセスは時点D以降データの受信が無いことを知る。
したがってVIの張替えの前に該親プロセスがデータを
受け取る可能性のある時間は時点B´D間であり、その
間にデータを受け取った場合に該データを該子プロセス
にコピーする。その結果、VI張替え完了後に該子プロ
セスが正しく該親プロセスの通信を引き継ぐことが可能
になる。
った場合のタイムチャートである。図8を用いて本発明
の有効性を示す。
降データ受信可能状態であり、該子プロセスは時点G以
降データ受信可能状態である。また時点bc間および時
点h以降が該クライアントがデータ送信可能時間であ
り、時点dg間が送信中断時間である。しかしながら該
親プロセスは該クライアントが送信を中断し、それがサ
ーバ側に反映される時点E´を知ることはできない。す
なわち該親プロセスは該クライアントからのデータがい
つまで送信されるかを知ることができない。したがって
該親プロセスはどの時点で該子プロセスに対して既受信
データのコピーを行えばよいかわからず、コピーが正し
く行われる保証ができない。
説明した通り、サーバ上の親プロセスはクライアント上
のプロセスにデータ転送中断要求を出し、クライアント
側から中断完了が返送されることによって、それまでに
受信したデータを子プロセスにコピーすれば良いことが
分かる。よってVI張替えを行った場合に正しく通信を
継続することを保証される。
間の通信は共有メモリを用いて実行しているが、その他
のPIPE等の手段を使用してもよい。またホスト間の通信
はパケット通信によって実行しているが、その他の手段
を用いても良い。さらに第1のホストと第2のホストは
物理的に分離されている必要はなく、同一情報処理装置
上で実行されているプロセスにおいてもこの発明が適用
されることは自明である。
空間直接転送によりOSの介在なしに通信を行っているク
ライアント側のプロセスとサーバ側のプロセス(親プロ
セス)との間の通信回線を、自発的にサーバ側の別のプ
ロセス(子プロセス)との間の通信回線に張替えて通信
を継続させ、UNIXのFORK()と同様の機能を実
現することが出来る。
ステムのブロック図である。
概念を示す概念図である。
アントシステムシステムにける通信の状態を示すブロッ
ク図である。
ーバ側の親プロセスの処理を示すフローチャート。
ーバ側の子プロセスの処理を示すフローチャート。
ライアント側のプロセスの処理を示すフローチャート。
るイベントを示す図。
サーバ側の親プロセスがクライアント側のプロセスに対
してデータ転送の中断を要求しない場合の処理の進行を
示すタイムチャート。
示すタイムチャート。
60…ホスト、111…サーバアプリケーション、11
2…親プロセス、116…子プロセス、120,170
…TCP/IPソケット通信エミュレータブロック、1
30,180…VIAモジュール、131,132,1
81,182…VI、161…クライアントアプリケー
ション、162…プロセス。
Claims (14)
- 【請求項1】第1の情報処理装置上で実行されるプロセ
スと第2の情報処理装置上で実行されるプロセスが互い
のユーザ空間同士の直接転送により通信を行う機能を有
する情報処理システムにおいて、前記第1の情報処理装
置上の第1のプロセスと前記第2の情報処理装置上の第
2のプロセスとの間の第1の接続による通信を、前記第
1の情報処理装置上の第3のプロセスと前記第2のプロ
セスとの間の第2の接続によって引き継いで通信を継続
する通信処理方法であって、前記第1のプロセスと前記
第2のプロセスが前記第1の接続による通信を中断する
第1のステップと、前記第1のプロセスの要求により前
記第3のプロセスと前記第2のプロセスが新たに第2の
接続を確立する第2のステップと、前記第1のプロセス
の要求により前記第2の接続が前記第1の接続による通
信を引き継いで通信を継続する第3のステップとを有す
ることを特徴とする通信処理方法。 - 【請求項2】前記第3のプロセスがプロセス生成機能に
より生成されることを特徴とする請求項1記載の通信処
理方法。 - 【請求項3】前記第1のステップは前記第1のプロセス
が前記第2のプロセスに対してデータ転送の中断要求を
行うこと、第2のプロセスが前記中断要求に応じて前記
前記第1のプロセスに対するデータ転送を中断し、中断
完了後に前記第1のプロセスに対して中断完了報告を行
うこと、との手順を有することを特徴とする請求項1記
載の通信処理方法。 - 【請求項4】前記第1のプロセスにて、前記第2のプロ
セスに中断要求を行ってからデータ受信処理があったこ
と記憶し、前記中断完了報告を受けた時点以降該データ
受信処理で受信したデータをに前記第3のプロセスにコ
ピーすることを特徴とする請求項3の通信処理方法。 - 【請求項5】前記第2のステップは、前記第2の接続が
確立されたことを前記第2のプロセスと前記第3のプロ
セスのいずれか一方、または両方が前記第1のプロセス
に報告する手順を含むことを特徴とする請求項1記載の
通信処理方法。 - 【請求項6】前記第2のステップにおける前記第2の接
続の確立の要求は、前記第1のプロセスにて自発的事象
が発生したことを契機に発せられることを特徴とする請
求項1記載の通信処理方法。 - 【請求項7】前記第2のステップにおける前記第2の接
続の確率の要求は、前記第1のプロセスにて突発的事象
が発生したことを契機に発せられることを特徴とする請
求項1記載の通信処理方法。 - 【請求項8】前記第2の接続が確立するまでに前記第1
のプロセスが該プロセスにおいてデータ受信処理が発生
したことを検出し記憶することを特徴とする請求項1記
載の通信処理方法。 - 【請求項9】前記第2の接続が確立するまでに前記第1
のプロセスが該プロセスにおいてデータ受信処理が発生
したことを検出した場合、前記第3のプロセスに対して
通知することを特徴とする請求項7記載の通信処理方
法。 - 【請求項10】前記第2の接続が確立するまでに前記第
1のプロセスが該プロセスにおいてデータ受信処理が発
生したことを検出し、前記第3のプロセスに対して通知
した場合、前記第1のプロセスと前記第3のプロセスが
強調して該データを前記第1のプロセスから前記第3の
プロセスにコピーすることを特徴とする請求項7記載の
通信処理方法。 - 【請求項11】前記第2の接続の確立の完了後に前記第
1の接続を切断することを特徴とする請求項1記載の通
信処理方法。 - 【請求項12】ネットワークで相互に接続された第1の
情報処理装置と第2の情報処理装置とを有し、該第1の
情報処理装置上で実行されるプロセスと第2の情報処理
装置上で実行されるプロセスが互いのユーザ空間同士の
直接転送により通信を行う機能を有する情報処理システ
ムにおいて、前記第1のプロセスと前記第2のプロセス
が前記第1の接続による通信を中断する第1の手段と、
前記第1のプロセスの要求により前記第3のプロセスと
前記第2のプロセスが新たに第2の接続を確立する第2
の手段と、前記第1のプロセスの要求により前記第2の
接続が前記第1の接続による通信を引き継いで通信を継
続する第3の手段と有することを特徴とする情報処理シ
ステム。 - 【請求項13】請求項1記載の通信処理方法がソケット
通信の機能をエミュレートするようにプログラムされた
エミュレーションライブラリで実現され、前記第1の情
報処理装置と前記第2の情報処理装置でそれぞれ前記エ
ミュレーションライブラリを実行することにより、前記
第1の情報処理装置と前記第2の情報処理装置のそれぞ
れで実行するソケット通信のためのユーザプログラムを
何ら変更することなく通信を可能とした請求項1記載の
通信処理方法。 - 【請求項14】第1の情報処理装置上の第1のプロセス
と前記第2の情報処理装置上の第2のプロセスとの間の
第1の接続による通信を、前記第1の情報処理装置上の
第3のプロセスと前記第2のプロセスとの間の第2の接
続によって引き継いで通信を継続する通信処理方法であ
って、前記第1のプロセスと前記第2のプロセスが前記
第1の接続による通信を中断する第1のステップと、前
記第1のプロセスの要求により前記第3のプロセスと前
記第2のプロセスが新たに第2の接続を確立する第2の
ステップと、前記第1のプロセスの要求により前記第2
の接続が前記第1の接続による通信を引き継いで通信を
継続する第3のステップとを有することを通信処理方法
を実行するエミュレーションライブラリが記録された計
算機利用可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000364542A JP4123712B2 (ja) | 2000-11-27 | 2000-11-27 | 通信処理方法ならびに通信処理プログラムが記録される記録媒体 |
US09/940,506 US7139832B2 (en) | 2000-11-27 | 2001-08-29 | Data transfer and intermission between parent and child process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000364542A JP4123712B2 (ja) | 2000-11-27 | 2000-11-27 | 通信処理方法ならびに通信処理プログラムが記録される記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002163122A true JP2002163122A (ja) | 2002-06-07 |
JP2002163122A5 JP2002163122A5 (ja) | 2006-04-20 |
JP4123712B2 JP4123712B2 (ja) | 2008-07-23 |
Family
ID=18835466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000364542A Expired - Fee Related JP4123712B2 (ja) | 2000-11-27 | 2000-11-27 | 通信処理方法ならびに通信処理プログラムが記録される記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7139832B2 (ja) |
JP (1) | JP4123712B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676549B2 (en) * | 2005-05-27 | 2010-03-09 | Microsoft Corporation | Techniques for providing accessibility options in remote terminal sessions |
US7856618B2 (en) * | 2005-08-04 | 2010-12-21 | International Business Machines Corporation | Adaptively generating code for a computer program |
US20070033592A1 (en) * | 2005-08-04 | 2007-02-08 | International Business Machines Corporation | Method, apparatus, and computer program product for adaptive process dispatch in a computer system having a plurality of processors |
GB2507339A (en) | 2012-10-29 | 2014-04-30 | Ibm | Accessing privileged objects in a server by means of semi privileged instruction |
US11449601B2 (en) * | 2020-01-08 | 2022-09-20 | Red Hat, Inc. | Proof of code compliance and protected integrity using a trusted execution environment |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2086636T3 (es) * | 1991-05-22 | 1996-07-01 | Philips Electronics Nv | Sistema de proceso de datos de distribucion multinodal para uso en un vehiculo de superficie. |
GB2272085A (en) * | 1992-10-30 | 1994-05-04 | Tao Systems Ltd | Data processing system and operating system. |
US5325530A (en) * | 1993-01-29 | 1994-06-28 | International Business Machines Corporation | Controller for sequential programming tools executed in a parallel computing environment |
US5444766A (en) * | 1993-10-01 | 1995-08-22 | At&T Corp. | Mobile-synchronized handoff in a wireless communications system |
US6216127B1 (en) * | 1994-02-22 | 2001-04-10 | Oracle Corporation | Method and apparatus for processing electronic mail in parallel |
US6769119B1 (en) * | 1994-03-24 | 2004-07-27 | International Business Machines Corporation | System, method, and computer program product for scoping operating system semantics in a computing environment supporting multi-enclave processes |
US5717926A (en) * | 1995-02-28 | 1998-02-10 | International Business Machines Corporation | Efficient forking of a process |
US5721876A (en) * | 1995-03-30 | 1998-02-24 | Bull Hn Information Systems Inc. | Sockets application program mechanism for proprietary based application programs running in an emulation environment |
US5870585A (en) * | 1995-10-10 | 1999-02-09 | Advanced Micro Devices, Inc. | Design for a simulation module using an object-oriented programming language |
US6170018B1 (en) * | 1995-11-27 | 2001-01-02 | Sun Microsystems, Inc. | Remote procedure calling using an existing descriptor mechanism |
US6311265B1 (en) * | 1996-03-25 | 2001-10-30 | Torrent Systems, Inc. | Apparatuses and methods for programming parallel computers |
US5909681A (en) * | 1996-03-25 | 1999-06-01 | Torrent Systems, Inc. | Computer system and computerized method for partitioning data for parallel processing |
US5867789A (en) * | 1996-12-30 | 1999-02-02 | Motorola, Inc. | Method and system for real-time channel management in a radio telecommunications system |
US6424988B2 (en) * | 1997-02-19 | 2002-07-23 | Unisys Corporation | Multicomputer system |
US6111894A (en) * | 1997-08-26 | 2000-08-29 | International Business Machines Corporation | Hardware interface between a switch adapter and a communications subsystem in a data processing system |
US6247041B1 (en) * | 1997-08-29 | 2001-06-12 | International Business Machines Corporation | Multiprocessor computer system with user specifiable process placement |
US6167430A (en) * | 1998-05-12 | 2000-12-26 | Unisys Corporation | Multicomputer with distributed directory and operating system |
JP3620010B2 (ja) * | 1998-05-22 | 2005-02-16 | 富士通株式会社 | 無線通信システムで用いられる装置とプログラム記録媒体 |
JP3037271B2 (ja) * | 1998-06-25 | 2000-04-24 | 日本電気株式会社 | 移動体電話通信システムと移動体電話端末電界測定制御方法 |
KR100336069B1 (ko) * | 1998-06-30 | 2002-10-11 | 삼성전자 주식회사 | 그래픽사용자인터페이스프로그래밍환경에서네트워크관리시스템운영방법및이를위한통신장치 |
US6314567B1 (en) * | 1998-11-13 | 2001-11-06 | Hewlett-Packard Company | Apparatus and method for transferring state data when performing on-line replacement of a running program code and data |
US6609159B1 (en) * | 1998-11-30 | 2003-08-19 | Semyon Dukach | Methods, systems, and machine readable programming for interposing front end servers between servers and clients |
US6434594B1 (en) * | 1999-03-09 | 2002-08-13 | Talk2 Technology, Inc. | Virtual processing network enabler |
US6430164B1 (en) * | 1999-06-17 | 2002-08-06 | Cellport Systems, Inc. | Communications involving disparate protocol network/bus and device subsystems |
US6801938B1 (en) * | 1999-06-18 | 2004-10-05 | Torrent Systems, Inc. | Segmentation and processing of continuous data streams using transactional semantics |
US6976258B1 (en) * | 1999-11-30 | 2005-12-13 | Ensim Corporation | Providing quality of service guarantees to virtual hosts |
-
2000
- 2000-11-27 JP JP2000364542A patent/JP4123712B2/ja not_active Expired - Fee Related
-
2001
- 2001-08-29 US US09/940,506 patent/US7139832B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4123712B2 (ja) | 2008-07-23 |
US7139832B2 (en) | 2006-11-21 |
US20020065934A1 (en) | 2002-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6687817B1 (en) | Configuration of a network device via the network | |
US8316139B2 (en) | Systems and methods for integrating local systems with cloud computing resources | |
US6874147B1 (en) | Apparatus and method for networking driver protocol enhancement | |
US7089311B2 (en) | Methods, systems and computer program products for resuming SNA application-client communications after loss of an IP network connection | |
JPH1069449A (ja) | サーバとクライアントとの間のセッションを回復するための装置および方法 | |
US8793384B2 (en) | Recovery of disconnected channels over a reliable protocol | |
KR19980703864A (ko) | 통신 링크를 통해 전송되는 데이타를 줄이는 방법 및 장치와 컴퓨터 프로그램 제품 | |
US5526483A (en) | Fast network file system running over a hybrid connectionless transport | |
US6880013B2 (en) | Permanent TCP connections across system reboots | |
EP0586129B1 (en) | Session oriented connectionless data transfer for a computer network | |
JPH11340986A (ja) | 無線通信システムで用いられる装置とプログラム記録媒体 | |
US6401123B1 (en) | Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol | |
US10180853B2 (en) | Session reliability for a redirected mass storage device | |
EP2015190B1 (en) | Technique of controlling communication of installed apparatus with outside by means of proxy server | |
JP2002163122A (ja) | 通信処理方法ならびに通信処理プログラムが記録される記録媒体 | |
CN113849127A (zh) | 基于san存储双活网络的仲裁方法、装置及电子设备 | |
EP1122924B1 (en) | Method and apparatus for providing local path I/O in a distributed file system | |
CN110798366B (zh) | 任务逻辑的处理方法、装置及设备 | |
JP3628514B2 (ja) | 計算機間データ送受信方法 | |
US7895344B2 (en) | Method and apparatus for remote management | |
JP2002244873A (ja) | 通信処理方法ならびに通信処理プログラムが記録される記録媒体 | |
JPH11112609A (ja) | 通信システムにおける通信障害回復方法ならびに同方法がプログラムされ記録される記録媒体 | |
CN117527458B (zh) | 一种多播数据分发方法、装置、电子设备及存储介质 | |
CN113608686A (zh) | 一种远程内存直接访问方法及相关装置 | |
Zhu et al. | Mechanisms for high volume data transfer in grids |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060303 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060303 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060418 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080415 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080428 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |