JP2002244873A - Communication processing method and recording medium with communication processing program recorded thereon - Google Patents

Communication processing method and recording medium with communication processing program recorded thereon

Info

Publication number
JP2002244873A
JP2002244873A JP2001042692A JP2001042692A JP2002244873A JP 2002244873 A JP2002244873 A JP 2002244873A JP 2001042692 A JP2001042692 A JP 2001042692A JP 2001042692 A JP2001042692 A JP 2001042692A JP 2002244873 A JP2002244873 A JP 2002244873A
Authority
JP
Japan
Prior art keywords
communication
information processing
connection
processing device
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.)
Pending
Application number
JP2001042692A
Other languages
Japanese (ja)
Inventor
Shin Kameyama
伸 亀山
Toshiaki Tarui
俊明 垂井
Tsuneyuki Imaki
常之 今木
Shinichi Kawamoto
真一 川本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001042692A priority Critical patent/JP2002244873A/en
Publication of JP2002244873A publication Critical patent/JP2002244873A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To realize a similar function to FORK of UNIX(R) by continuing communications by spontaneously rebuilding a communication line between a client-side process and a server side process (parent process) communicating via user-space direct transfer without an intervening OS, into a communication line between the client-side process and another server-side process (child process). SOLUTION: The communication processing method has a function where while a first process on a server side and a second process on a client side communicate via a first communication line, the first process requests suspension of the communication from the second process and the second process reports having suspended to the first process, a function where the first process requests the building of an interconnection via a second communication line from the second process and a third process on the server side generated by a process generating function, and a function where if the first process has already received data from the second process before the building of the connection, the data are copied into the third process. The second communication can thus succeed the first communication correctly.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、TCP/IPの
ソケット通信におけるforkをエミュレートする通信
処理方法に係り、特にOSの介在なしにユーザ空間転送
を行う情報処理システムにおいて、forkで生成され
た子プロセスが親プロセスとクライアント間のネットワ
ーク接続を引き継ぐ通信処理方法に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a communication processing method for emulating a fork in TCP / IP socket communication, and more particularly to an information processing system that performs user space transfer without the intervention of an OS. The present invention relates to a communication processing method in which a child process takes over a network connection between a parent process and a client.

【0002】[0002]

【従来の技術】サーバ・クライアントモデルの分散型情
報処理システムにおいて、TCP/IPによるソケット
通信はごく一般的であり、莫大なソフトウェア資産が存
在する。図2にサーバ・クライアントモデルの情報処理
システムの例を示す。この例ではホスト210とホスト
260が通信回線30で結合しており、サーバアプリケ
ーション211とクライアントアプリケーション261
がソケット通信を行う。従来のソケット通信では、クラ
イアントアプリケーション261のプロセス262から
の要求をサーバアプリケーション211の親プロセス2
12が受けた場合、親プロセス212がUNIXのfo
rk機能によって子プロセス213を生成し、子プロセ
ス213がプロセス262からの要求を処理する。しか
しながらソケット通信では通信データを一旦OS空間内
のバッファ(バッファ231やバッファ281)でバッ
ファリングするために、スループットの向上に限界があ
った。これに対して近年、ユーザ空間で直接データ転送
を行いOS空間へのコピーを不要とするVIA(Vir
tual Interface Architectu
re)等の次世代高速IO方式が提案されている。公知
の技術としては例えばSteven H. Rodri
gues他による“High−Performance
Local Area Communication
With Fast Socket”(Procee
dings of the USENIX、1997)
がある。該技術によると高速ネットワークでサーバとク
ライアント間を接続することで性能向上を実現すること
が可能になり、かつソケット通信の一部の機能を該高速
ネットワークのAPIでエミュレートすることでこれま
でのソフトウェア資産を有効活用することが可能にな
る。このエミュレートに関してはUNIXのリネーム機
能によって本来の関数を新しい関数で置き換えて実現で
きることは周知の技術である。
2. Description of the Related Art In a distributed information processing system of a server / client model, socket communication using TCP / IP is very common, and there are huge software resources. FIG. 2 shows an example of a server-client model information processing system. In this example, the host 210 and the host 260 are connected by the communication line 30, and the server application 211 and the client application 261 are connected.
Performs socket communication. In the conventional socket communication, a request from the process 262 of the client application 261 is transmitted to the parent process 2 of the server application 211.
12, the parent process 212 has a UNIX fo
A child process 213 is generated by the rk function, and the child process 213 processes a request from the process 262. However, in socket communication, since communication data is temporarily buffered in a buffer (buffer 231 or buffer 281) in the OS space, there is a limit to improvement in throughput. On the other hand, in recent years, VIA (Vir) that directly transfers data in the user space and does not need to copy the data to the OS space is required.
Tual Interface Architect
re) etc. are proposed. Known techniques include, for example, Steven H. Rodri
"High-Performance"
Local Area Communication
With Fast Socket ”(Procee
dings of the USENIX, 1997)
There is. According to this technology, it is possible to improve performance by connecting a server and a client on a high-speed network, and to emulate some functions of socket communication by the API of the high-speed network, thereby improving performance. Software assets can be used effectively. It is a well-known technique that this emulation can be realized by replacing the original function with a new function by the UNIX renaming function.

【0003】[0003]

【発明が解決しようとする課題】ところで図2に示すよ
うに、ソケット通信における端点の一方はサーバ側(ホ
スト210)のプロセスが保持し(ソケット221)、
他方はクライアント側(ホスト260)のプロセスが保
持する(ソケット271)。またサーバ側ではfork
によって子プロセス213を生成する際に、親プロセス
が保持するソケットの属性も子プロセスにコピーするた
め、親プロセスと子プロセスで同一のソケット221を
共有して利用することが可能である。すなわちfork
によって生成された子プロセス213はそのままでクラ
イアントとの通信が可能である。しかしながら図3に示
すように、VIAではプロセス間の通信回線の端点(V
Irtual Interface:以後VIと記す)
はそれぞれのプロセスのローカルな資源であり、for
kで子プロセス313を生成しても親プロセス312の
VI331は共有できないという制限がある。そのため
forkによって子プロセスを生成してもクライアント
とのVIの接続が確立できないのでクライアントとの通
信ができないという問題が生じる。したがって、VIA
でソケット通信のforkをエミュレートするためには
生成された子プロセス313とホスト360のクライア
ントアプリケーション361との間でVIの接続を確立
することが課題になる。またアプリケーションによって
は子プロセス313とプロセス362間でVIの接続が
確立する前に親プロセス312とプロセス362間で通
信が発生する場合もあり得る。この場合には親プロセス
312とプロセス362間で発生した通信を確実に子プ
ロセス313とプロセス362間で引き継ぐことが課題
になる。したがって、本発明の一つの目的は、FORK
をエミュレートするようにサーバの親プロセスとクライ
アントのプロセス間のVI接続をサーバの子プロセスと
クライアントのプロセス間に張り替えて、子プロセスが
親プロセスの通信を継続する方法を提供することにあ
る。さらに、この発明の別の目的は、親プロセス312
と子プロセス313が共有メモリ領域を持ち、子プロセ
ス313とプロセス362と間で通信が発生した場合に
は、子プロセスが前記共有メモリを介して、親プロセス
312とクライアントのプロセス362との間の通信を
利用する方法を提供することである。
As shown in FIG. 2, one of the end points in the socket communication is held by a process on the server side (host 210) (socket 221).
The other is held by the process on the client side (host 260) (socket 271). Fork on the server side
When the child process 213 is generated, the attribute of the socket held by the parent process is also copied to the child process, so that the parent process and the child process can share and use the same socket 221. That is, fork
The child process 213 generated by this can communicate with the client as it is. However, as shown in FIG. 3, in VIA, the end point (V
Actual Interface: hereinafter referred to as VI)
Are the local resources of each process, for
Even if a child process 313 is generated with k, there is a restriction that the VI 331 of the parent process 312 cannot be shared. For this reason, even if a child process is generated by fork, a problem arises in that a VI connection with the client cannot be established, and communication with the client cannot be performed. Therefore, VIA
In order to emulate the fork of the socket communication, it is necessary to establish a VI connection between the generated child process 313 and the client application 361 of the host 360. Further, depending on the application, communication may occur between the parent process 312 and the process 362 before a VI connection is established between the child process 313 and the process 362. In this case, the problem is to reliably transfer the communication generated between the parent process 312 and the process 362 between the child process 313 and the process 362. Therefore, one object of the present invention is to provide a FORM
The present invention provides a method in which a VI connection between a parent process of a server and a process of a client is replaced between a child process of a server and a process of a client so as to emulate the above, and the child process continues communication of the parent process. Further, another object of the present invention is to provide a parent process 312.
When the child process 313 has a shared memory area and communication occurs between the child process 313 and the process 362, the child process communicates between the parent process 312 and the client process 362 via the shared memory. It is to provide a method of utilizing communication.

【0004】[0004]

【課題を解決するための手段】本発明の一つの態様によ
れば、第1の情報処理装置上で実行されるプロセスと第
2の情報処理装置上で実行されるプロセスが互いにユー
ザ空間直接転送により通信を行う機能を有する情報処理
システムにおいて、前記第1の情報処理装置上の第1の
プロセスと前記第2の情報処理装置上の第2のプロセス
との間の第1の接続による通信を、前記第1の情報処理
装置上の第3のプロセスと前記第2のプロセスとの間の
第2の接続によって引き継いで通信を継続する。その特
徴は前記第1のプロセスと前記第2のプロセスが前記第
1の接続による通信を中断する第1の機能と、前記第3
のプロセスと前記第2のプロセスが前記第1のプロセス
の要求により新たに第2の接続を確立する第2の機能
と、前記第1のプロセスの要求により前記第2の接続が
前記第1の接続による通信を引き継いで通信を継続する
第3の機能と、を有する点にある。
According to one aspect of the present invention, a process executed on a first information processing device and a process executed on a second information processing device are directly transferred to a user space. In an information processing system having a function of performing communication according to the first method, communication by a first connection between a first process on the first information processing device and a second process on the second information processing device is performed. The communication is continued by taking over by a second connection between a third process on the first information processing apparatus and the second process. Its features are a first function in which the first process and the second process interrupt communication through the first connection;
And the second function in which the second process newly establishes a second connection in response to a request from the first process, and the second connection causes the second connection in response to the request in the first process. And a third function of taking over communication by connection and continuing communication.

【0005】また、前記第3のプロセスがプロセス生成
機能により生成されることを特徴とする。更に、前記第
1の機能は前記第1のプロセスが前記第2のプロセスに
対してデータ転送の中断要求を行う機能と、前記第2の
プロセスは前記中断要求に応じて前記第1のプロセスに
対するデータ転送を中断し、中断完了後に前記第1のプ
ロセスに対して中断完了報告を行う機能と、を具備する
ことを特徴とする。また本発明の別の態様は、上記に加
え、前記第2の機能は前記第2の接続が確立されたこと
を前記第2または前記第3のいずれか、または両方のプ
ロセスが前記第1のプロセスに報告する機能を具備する
ことを特徴とする。また、前記第2の機能は前記第1の
プロセスで発生した自発的事象を契機に第2の接続の確
立を要求することを特徴とする。また、前記第2の機能
は前記第1のプロセスで発生した突発的事象を契機に第
2の接続の確率を要求することを特徴とする。また、前
記第3の機能は前記第2の接続が確立するまでに前記第
1のプロセスが該プロセスにおいてデータ受信処理が発
生したことを検出し記憶する手段を具備することを特徴
とする。また本発明の通信処理方法は、前記第2の接続
が確立するまでに前記第1のプロセスが該プロセスにお
いてデータ受信処理が発生したことを検出した場合、前
記第3のプロセスに対して通知する手段を具備すること
を特徴とする。また本発明の通信処理方法は、前記第2
の接続が確立するまでに前記第1のプロセスが該プロセ
スにおいてデータ受信処理が発生したことを検出し、前
記第3のプロセスに対して通知した場合、前記第1のプ
ロセスと前記第3のプロセスが強調して該データを前記
第1のプロセスから前記第3のプロセスにコピーする手
段を具備することを特徴とする。また本発明の別の態様
は、ソケット通信の機能をエミュレートするようにプロ
グラムされたエミュレーションライブラリで実現され、
前記第1の情報処理装置と前記第2の情報処理装置でそ
れぞれ前記エミュレーションライブラリを実行すること
により、前記第1の情報処理装置と前記第2の情報処理
装置のそれぞれで実行するソケット通信のためのユーザ
プログラムを何ら変更することなく通信が可能であるこ
とを特徴とする。また本発明の別の態様によれば、第1
の情報処理装置上で実行されるプロセスと第2の情報処
理装置上で実行されるプロセスが互いのユーザ空間同士
の直接転送により通信を行う機能を有する情報処理シス
テムにおいて、前記第1の情報処理装置上の第1のプロ
セスと前記第2の情報処理装置上の第2のプロセスとの
間の第1の接続による通信を用いて、前記第1の情報処
理装置上の第3のプロセスが前記第2のプロセスとの間
で通信を行う機能を、有する。また前記第1のプロセス
と前記第3のプロセスが共有メモリを有し、前記共有メ
モリ上には、前記第3のプロセスから前記第2のプロセ
スに対してデータ転送の要求があることを前記第3のプ
ロセスが前記第1のプロセスに通知するための領域を、
有する点にある。また前記第1のプロセスと前記第3の
プロセスが共有メモリを有し、前記共有メモリ上には、
前記第2のプロセスから前記第3のプロセスに対してデ
ータ転送の要求があることを前記第1のプロセスが前記
第3のプロセスに通知するための領域を、有する点にあ
る。また前記第1のプロセスと前記第3のプロセスが共
有メモリを有し、前記共有メモリ上には、前記第2のプ
ロセスから前記第3のプロセスに対して転送するデータ
を前記第1のプロセスが記憶するための領域を有する点
にある。
The third process is generated by a process generation function. Further, the first function is a function in which the first process issues a data transfer interruption request to the second process, and the second process responds to the first process in response to the interruption request. A function of interrupting the data transfer and notifying the first process of the interruption completion after the interruption is completed. Further, in another aspect of the present invention, in addition to the above, the second function is that the second or one of the third or both processes is performed when the second connection is established. It has the function of reporting to the process. The second function requests establishment of a second connection triggered by a spontaneous event occurring in the first process. Further, the second function requests the probability of the second connection in response to a sudden event occurring in the first process. Further, the third function is characterized in that the first process includes means for detecting and storing that the data reception processing has occurred in the first process before the second connection is established. Further, in the communication processing method according to the present invention, when the first process detects that the data reception process has occurred in the process before the second connection is established, the communication is notified to the third process. Means is provided. Further, the communication processing method of the present invention is characterized in that the second
When the first process detects that the data reception process has occurred in the process before the connection is established, and notifies the third process, the first process and the third process And means for emphasizing the copying of the data from the first process to the third process. Another aspect of the present invention is realized by an emulation library programmed to emulate the function of socket communication,
By executing the emulation library in each of the first information processing apparatus and the second information processing apparatus, a socket communication executed in each of the first information processing apparatus and the second information processing apparatus is performed. The communication can be performed without any change in the user program. According to another aspect of the present invention, the first
An information processing system having a function in which a process executed on one information processing device and a process executed on a second information processing device communicate with each other by direct transfer between user spaces. The third process on the first information processing device uses the communication through the first connection between the first process on the device and the second process on the second information processing device to A function of performing communication with the second process. In addition, the first process and the third process have a shared memory, and the shared memory has a request for data transfer from the third process to the second process. Area for the third process to notify the first process,
It has a point. Further, the first process and the third process have a shared memory, and on the shared memory,
It is characterized in that the first process has an area for notifying the third process that there is a data transfer request from the second process to the third process. Further, the first process and the third process have a shared memory, and the first process transfers data to be transferred from the second process to the third process on the shared memory. It has an area for storing.

【0006】また、前記第1のプロセスと前記第3のプ
ロセスが共有メモリを有し、前記共有メモリ上には、前
記第3のプロセスから前記第2のプロセスに対して転送
するデータを前記第1のプロセスが記憶するための領域
を有する点である。
Further, the first process and the third process have a shared memory, and data to be transferred from the third process to the second process is stored on the shared memory. The point is that one process has an area for storing.

【0007】また、第1の情報処理装置と第2の情報処
理装置とがネットワークで接続された情報処理装置で構
成されている点にある。
[0007] Further, the first information processing apparatus and the second information processing apparatus are constituted by information processing apparatuses connected by a network.

【0008】また、本発明の別の態様によれば、第1の
情報処理装置と第2の情報処理装置とが単一の情報処理
装置で構成されている。
According to another aspect of the present invention, the first information processing device and the second information processing device are constituted by a single information processing device.

【0009】[0009]

【発明の実施の形態】図1に本発明の実施形態のサーバ
・クライアントシステムを示す。
FIG. 1 shows a server / client system according to an embodiment of the present invention.

【0010】図1においてホスト110のメモリ(図示
しない)上にはサーバアプリケーション111、TCP
/IPソケットエミュレータモジュール120、VIA
モジュール130が格納されている。またホスト160
のメモリ(図示しない)上には同様にクライアントアプ
リケーション161、TCP/IPソケットエミュレー
タモジュール170、VIAモジュール180が格納さ
れている。ホスト110とホスト160はネットワーク
1で接続されており、サーバアプリケーション111と
クライアントアプリケーション161は通信回線(1
0、20)を介してパケットの送受で通信を行う。TC
P/IPソケットエミュレータモジュール120および
170は、前記公知例と同様にVIAのAPIによって
TCP/IPのソケット通信の機能をエミュレートした
関数群を含み、特に図10に示した関数群に関しては、
関数本来の機能に加え、本発明を実現するための機能を
追加して該関数をエミュレートしている。VIAモジュ
ール130および180はVIAドライバ(図示せず)
を含んでいる。またVIAによる通信回線の端点である
VI(131、132、181、182)を構成する。
サーバアプリケーション111において親プロセス11
2はFORK()をエミュレートした図10の参照符号
F1示すEMU_FORK()F1によって子プロセス
115を生成する。EMU_FORK()F1では子プ
ロセスを生成する機能に、親プロセス112および子プ
ロセス115がプロセス間通信を行うために共有メモリ
117を生成し、共有メモリ117に張替え要求フラグ
P118、張替え要求フラグC119およびコピー発生
フラグ140を生成する機能が追加されている。また親
プロセス112内にデータ既受信フラグ113、張替え
完了フラグ123および張替え要求監視スレッド114
を生成する。さらに、子プロセス115内に張替え要求
監視スレッド116およびコピー要求監視スレッド14
1を生成する。張替え要求フラグP118は親プロセス
112によって書き込まれ、その書き込みを張替え要求
監視スレッド116が監視する。コピー発生フラグ14
0は親プロセス112によって書き込まれ、その書き込
みをコピー要求監視スレッド141が監視する。張替え
要求フラグC119は子プロセス115によって書き込
まれ、その書き込みを張替え要求監視スレッド114が
監視する。クライアントアプリケーション161におい
ては、プロセス162がCONNECT()をエミュレ
ートした図10の参照符号F2に示すEMU_CONN
ECT()でもってサーバアプリケーション111に対
して通信回線の確立を要求する。EMU_CONNEC
T()F2には、接続が許可されるとプロセス162内に
中断要求フラグ163と中断要求監視スレッド164を
生成する機能が追加してある。中断要求フラグ163は
サーバアプリケーション111から送られてくるパケッ
トによって書き込まれ、その書き込みを中断要求監視ス
レッド164が監視する。図4、図5および図6は、本
実施態様における親プロセス112、子プロセス11
5、およびプロセス162の処理手順をそれぞれ示すフ
ローチャートである。以降、図を用いてVIの張替え処
理の詳細を説明する。まず、図4に示すフローチャート
によって親プロセス112の処理の流れ説明する。親プ
ロセス112は、ステップS2ではクライアントアプリ
ケーション161上のプロセス162からの接続要求を
聴取する。次に、ステップS3ではプロセス162から
の接続要求に対して接続許可を出す。次に、ステップS
4ではEMU_FORK()F1によって子プロセスを
生成する。ステップS5ではVIの張替えが既に行われ
ているかを張替え完了フラグ123を見てチェックす
る。張替え完了フラグ123はステップS13において
書き込まれる。既に張替えが行われている場合(張替え
完了フラグ123が1の場合)はステップS14に進
む。張替えが行われていない場合(張替え完了フラグ1
23が0の場合)はステップS6へ進む。ステップS6
では親プロセス112は、自プロセスでのVI張替え要
求トリガの発生の有無をチェックする。子プロセスはス
テップS4で生成されているが、その時点(ステップS
4)ではまだVIの張替えは行わない。なぜならばVI
の張替えは多大なオーバヘッドを伴う高価な処理であ
り、また子プロセスを生成しても必ずしも該子プロセス
がクライアントと通信を行うわけではないからである。
そのため図7に示すように、実際に子プロセス115と
プロセス162の通信を発生させるようなイベントをV
I張替え処理開始のトリガとする。図7において、トリ
ガT1は親プロセス112による通信回線10のCLO
SEである。該トリガは自発的なトリガである。通信回
線10のCLOSE後はプロセス162の通信相手は子
プロセス115になる。トリガT2は親プロセス112
の消滅である。該トリガは自発的な場合と突発的な場合
がある。消滅後は子プロセス115が通信可能の状態で
なければならない。トリガT3は子プロセス115の受
信動作(RECV)の発生である。該トリガは自発的な
トリガである。子プロセス115はプロセス162から
の通信を期待しているので通信可能の状態でなければな
らない。トリガT4は子プロセス115の送信動作(S
END)の発生である。該トリガは自発的なトリガであ
る。子プロセス115がプロセス162へデータを送信
するため通信可能の状態でなければならない。ステップ
S6では、親プロセス112は該トリガの発生がなけれ
ばステップS14に進んで、サーバプログラムを継続し
て実行する。ステップS6において該トリガの発生があ
る場合は親プロセス112が実行している通常の処理を
一旦休止し、VI張替え処理のルーチンであるステップ
S7に進む。ステップS7では親プロセス112はプロ
セス162に対してデータ転送の中断を要求する。その
後、ステップS8でプロセス162からのデータ転送中
断完了報告を待つ。データ転送中断完了報告があると親
プロセスはステップS9に進み、VI張替え前に親プロ
セス112とプロセス162の間で通信が発生し親プロ
セス112が既にデータを受け取っているか否かをチェ
ックする。チェックはデータ既受信フラグ113を見て
行う。データ既受信フラグ113はステップS16で書
き込まれる。既にデータを受け取っている場合(データ
既受信フラグ113が1の場合)はステップS10に進
む。データを受け取っていない場合(データ既受信フラ
グ113が0の場合)はステップS11に進む。ステッ
プS10では、親プロセス112はコピー発生フラグ1
40を立てて子プロセス115にデータコピーの発生を
通知する。続いて親プロセス112と子プロセス115
が強調して親プロセス112のアドレス空間を子プロセ
ス115にコピーし、親プロセス112が既に受信して
いるデータを子プロセス115に漏れなく引き継がせ
る。ステップS11では子プロセス115およびプロセ
ス162に対して互いにVIを張替えるよう要求する。
親プロセス112と子プロセス115は共有メモリ11
7を介して通信し、張替え要求フラグP118を立てる
ことで子プロセス115に対してVIの張替えを要求す
る。親プロセス112とプロセス162は通信回線10
を介して通信し、親プロセス112がプロセス162に
対してVI張替え要求用パケットを送信し張替え要求フ
ラグ163を立てることでVIの張替えを要求する。ス
テップS12ではプロセス162からの張替え完了報告
を待つ。ステップS13では張替え完了フラグ123を
立てる。張替え完了フラグ123を立てることにより、
以後張替え要求トリガを発行させるイベントが発生した
場合でも、二重に張替え要求が発行されること防ぐ。ス
テップS14ではVI張替え処理のルーチンから復帰す
る場合は、休止していた親プロセス112の処理を再開
し、そうでなければ通常の処理の実行する。ステップS
15では親プロセス112の通常の処理において、プロ
セス162からのデータを受信したか否かをチェックす
る。この処理はRECV()をエミュレートした図10
に示すEMU_REDV()F5において実行される。
ステップS15においてデータ受信が発生した場合はス
テップS16に進む。データ受信が発生していない場合
はステップS17へ進む。ステップS16ではデータ既
受信フラグ113を立てる。データ既受信フラグ113
を立てることにより、子プロセス115にコピーすべき
データの受信が発生したことを親プロセス112は知
る。ステップS17では親プロセス112の通常の処理
において該プロセスが終了するか否かをチェックする。
終了する場合はステップS18へ進み該プロセスは終了
する。終了しない場合は再度ステップS5へ進み、これ
までのステップを繰り返す。以上がVI張替えの際の親
プロセス112の動作である。次に、図5に示すフロー
チャートによって子プロセス115の処理の流れを説明
する。ステップS21ではEMU_FORK()F1に
よって子プロセス115が生成されて処理が開始され
る。ステップS22では子プロセス115は自身におけ
るVI張替え要求トリガの発生の有無をチェックする。
ステップS22においてトリガT3またはトリガT4が
発生していればステップS23に進む。該トリガが発生
していなければステップS26に進む。ステップS23
では子プロセス115は張替え要求フラグC119を立
て、親プロセス112に対して子プロセス115におい
て張替え要求トリガが発生したことを報告する。親プロ
セス112は張替え要求フラグC119をスレッド11
4で監視して該トリガの発生を知る。ステップS24で
は子プロセス115は親プロセス112からのデータコ
ピー要求の有無をチェックする。該チェックはコピー要
求監視スレッド141によってコピー発生フラグ140
を監視することで行われる。ステップS24においてデ
ータコピー要求がある場合(コピー発生フラグ140が
1の場合)は、子プロセス115が実行している通常の
処理を一旦休止し、ステップS25に進む。ステップS
24においてデータコピー要求が無い場合(コピー発生
フラグ140が0の場合)はステップS26に進む。ス
テップS25では子プロセス115は親プロセス112
のアドレス空間が子プロセス115へコピーされる。ス
テップS26では子プロセス115は親プロセス112
からのVI張替え要求の有無をチェックする。該チェッ
クはスレッド116によって張替え要求フラグP118
を監視することで行われる。ステップS26において張
替え要求がある場合(張替え要求フラグP118が1の
場合)は、VI張替え処理のルーチンであるステップS
25に進む。ステップS26において張替え要求が無い
場合(張替え要求フラグP118が0の場合)はステッ
プS29に進む。ステップS27では子プロセス115
はクライアントアプリケーション161上のプロセス1
62からの接続要求を聴取する。ステップS28では子
プロセス115はプロセス162からの接続要求に対し
て接続許可を出す。ステップS29ではVI張替え処理
のルーチンから復帰する場合は、休止していた子プロセ
ス115の処理を再開し、そうでなければ通常の処理の
実行する。ステップS30では子プロセス115の通常
の処理において該プロセスが終了するか否かをチェック
する。終了する場合はステップS31へ進み該プロセス
は終了する。終了しない場合は再度ステップS22へ進
み、これまでのステップを繰り返す。以上がVI張替え
の際の子プロセス115の動作である。最後に、図6に
示すフローチャートでプロセス162の処理の流れを説
明する。ステップS41で開始されたプロセス162は
ステップS42において親プロセス112に対してVI
の接続要求を行う。プロセス162はステップS43で
は接続が許可されるのを待つ。ステップS44では親プ
ロセス112からのデータ転送中断要求の有無をチェッ
クする。該チェックは中断要求監視スレッド164によ
って中断要求フラグ163を監視することで行われる。
ステップS44において中断要求がある場合(中断要求
フラグ163が1の場合)は、プロセス162が実行し
ている通常の処理を一旦休止し、ステップS45へ進
む。ステップS44において中断要求が無い場合(中断
要求フラグ163が0の場合)はステップS52へ進
む。ステップS45ではデータ転送中断のための処理を
行う。ステップS46ではデータ転送中断が完了したか
否かをチェックする。終了していなければステップS4
5に戻る。終了していればステップS47に進む。ステ
ップS47では親プロセス112に対してパケット通信
によりデータ転送中断完了の報告を行う。ステップS4
8ではプロセス162は親プロセス112からのVI張
替え要求の有無をチェックする。該チェックはスレッド
164によって張替え要求フラグ163を監視すること
で行われる。ステップS48において張替え要求がある
場合(張替え要求フラグ163が1の場合)は、プロセ
ス162が実行している通常の処理を一旦休止し、VI
張替え処理のルーチンであるステップS49へ進む。ス
テップS48において張替え要求が無い場合(張替え要
求フラグ163が0の場合)はステップS52へ進む。
ステップS49ではプロセス162は子プロセス115
に対してVIの接続要求を行う。次にステップS50で
は接続が許可されるのを待つ。接続が許可されると、プ
ロセス162はステップS51で親プロセス112に対
してVIの張替えが完了したことを報告する。該報告は
親プロセス112に対して張替え完了報告用パケットを
送信し張替え完了フラグ123を立てることにより行
う。次にステップS52ではプロセス162はVI張替
え処理のルーチンから復帰する場合は、休止していたプ
ロセス162の処理を再開し、そうでなければ通常の処
理の実行する。ステップS53ではプロセス162の通
常の処理において該プロセスが終了するか否かをチェッ
クする。終了する場合はステップS54へ進み該プロセ
スは終了する。終了しない場合は再度ステップS44へ
進み、これまでのステップを繰り返す。以上がVI張替
えの際のプロセス162の動作である。以上で説明した
親プロセス112および子プロセス115およびプロセ
ス162におけるそれぞれの処理が全体として時系列で
どのように動作するかを図9に示すタイムチャートを用
いて説明する。まず時点aにおいてクライアントからサ
ーバ上の親プロセスに対して接続要求910を発行し、
該親プロセスは時点Aでそれを受け取る。なお図中、処
理名称の始めに表記した括弧内の字句は該クライアント
に対する処理の対象がサーバ上の親プロセスであるか子
プロセスであるかを示す。以下同様である。続いて該親
プロセスは時点Bで該クライアントに対して接続許可9
11を発行し、該クライアントは時点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張替え処
理が完了する。ここで該親プロセスは時点B以降データ
受信可能状態であり、該子プロセスは時点G以降データ
受信可能状態である。また時点bc間および時点h以降
が該クライアントがデータ送信可能時間であり、時点d
g間が送信中断時間である。もし該クライアントが時点
bでデータの送信を開始した場合、時点B´において該
親プロセスが該データを受信可能になる。しかし該親プ
ロセスは中断完了報告913を受け取ることにより、該
親プロセスは時点D以降データの受信が無いことを知
る。したがってVIの張替えの前に該親プロセスがデー
タを受け取る可能性のある時間は時点B´D間であり、
その間にデータを受け取った場合に該データを該子プロ
セスにコピーする。その結果、VI張替え完了後に該子
プロセスが正しく該親プロセスの通信を引き継ぐことが
可能になる。一方図8は、データ転送の中断を行わなか
った場合のタイムチャートである。図8を用いて本発明
の有効性を示す。まず図9と同様に該親プロセスは時点
B以降データ受信可能状態であり、該子プロセスは時点
G以降データ受信可能状態である。また時点bc間およ
び時点h以降が該クライアントがデータ送信可能時間で
あり、時点dg間が送信中断時間である。しかしながら
該親プロセスは該クライアントが送信を中断し、それが
サーバ側に反映される時点E´を知ることはできない。
すなわち該親プロセスは該クライアントからのデータが
いつまで送信されるかを知ることができない。したがっ
て該親プロセスはどの時点で該子プロセスに対して既受
信データのコピーを行えばよいかわからず、コピーが正
しく行われる保証ができない。これに対し、本実施態様
では、先に図9で説明した通り、サーバ上の親プロセス
はクライアント上のプロセスにデータ転送中断要求を出
し、クライアント側から中断完了が返送されることによ
って、それまでに受信したデータを子プロセスにコピー
すれば良いことが分かる。よってVI張替えを行った場
合に正しく通信を継続することを保証される。以上述べ
た実施形態においては、プロセス間の通信は共有メモリ
を用いて実行しているが、その他のPIPE等の手段を使用
してもよい。またホスト間の通信はパケット通信によっ
て実行しているが、その他の手段を用いても良い。さら
に第1のホストと第2のホストは物理的に分離されてい
る必要はなく、同一情報処理装置上で実行されているプ
ロセスにおいてもこの発明が適用されることは自明であ
る。次に、図10を用いて本発明の第2の実施の形態を
説明する。図11においてホスト1110のメモリ(図
示しない)上にはサーバアプリケーション1111、T
CP/IPソケットエミュレータモジュール1120、
VIAモジュール1130が格納されている。ホスト1
110の親プロセス1112は図3のホスト360と同
様の構成のクライアントホスト(図示しない)上のプロ
セスとソケット通信をエミュレートした方法で通信を行
う。この場合、クライアントホストとの通信のための通
信リソースを有していない子プロセス1113は以下の
方法でクライアントホストと通信を行う。サーバアプリ
ケーション上の1140は親プロセス1112と子プロ
セス1113が共有する共有メモリである。共有メモリ
1140上には子プロセス1113が親プロセス111
2に対して、クライアントホストからのデータを受信す
るように通知するための受信要求フラグ1141、同様
にクライアントホストにデータを送信するよう通知する
ための送信要求フラグ、送受信用データを格納するため
のデータバッファ1143、および親プロセス1112
が子プロセス1113へのデータをクライアントホスト
から受信したことを子プロセス1113に通知するため
のデータ受信フラグ1144、親プロセス1112が子
プロセス1113からのデータをクライアントホストに
送信したことを子プロセス1113に通知するためのデ
ータ送信フラグ1145の領域がある。共有メモリ11
40は親プロセス1112がFORK()により子プロ
セス1113を生成する際に同時に作成する。まずソケ
ット通信のRECVに相当する、子プロセス1113が
クライアントのプロセスからデータを受信する場合を説
明する。子プロセス1113がクライアントからデータ
を受信する場合、受信要求フラグ1141を立てる。親
プロセス1112は常時受信要求フラグ1141を監視
しており、受信要求フラグ1141が立ったことを検出
すると、クライアントホストのプロセスからのデータの
受信待ち状態になる。親プロセス1112が該データを
受信すると、該データをデータバッファ1143にコピ
ーし、続いてデータ受信フラグ1144を立てる。子プ
ロセス1113は常時データ受信フラグを監視してお
り、データ受信フラグ1144が立ったことを検出する
と、データバッファ1143のデータをコピーしデータ
受信が完了する。次にソケット通信のSENDに相当す
る、子プロセス1113からクライアントのプロセスに
データを送信する場合を説明する。子プロセス1113
がクライアントへデータを送信する場合、まずデータバ
ッファ1143に送信すべきデータをコピーし、続いて
送信要求フラグ1142を立てる。親プロセス1112
は常時送信要求フラグ1142を監視しており、送信要
求フラグ1142が立ったことを検出すると、クライア
ントホストのプロセスに対してデータバッファ1143
のデータを送信し、送信が完了するとデータ送信フラグ
1145を立てる。子プロセス1113は常時データ送
信フラグ1145を監視しており、データ送信フラグ1
145が立ったことを検出すると、データ送信が完了す
る。以上述べた第2の実施形態においては、ソケット通
信のRECVとSENDをエミュレートする方法のみを
説明したが、サーバアプリケーションとクライアントア
プリケーションの間で発生するいかなる通信も、対応す
るフラグおよびデータ領域を共有メモリ上に持つことで
エミュレートが可能であることは自明である。また、サ
ーバアプリケーションとクライアントアプリケーション
がそれぞれ物理的に分離され、ネットワークで接続され
たホスト上で実行されていても、また同一情報処理装置
上で実行されていてもこの発明が適用されることは自明
である。さらにサーバアプリケーション上の子プロセス
は一つに限定される必要はなく、複数の子プロセスが存
在する場合でも、親プロセスと子プロセスがそれぞれ共
有メモリを有し、それぞれの共有メモリをソケットデス
クリプタ等の識別子で識別することで、この発明が適用
される。なお、共有メモリを用いた通信において発生す
る同期問題の解決方法は周知の技術である。
In FIG. 1, a server application 111 and a TCP are stored in a memory (not shown) of the host 110.
/ IP socket emulator module 120, VIA
A module 130 is stored. Also host 160
A client application 161, a TCP / IP socket emulator module 170, and a VIA module 180 are stored in a memory (not shown) of the same. The host 110 and the host 160 are connected via the network 1, and the server application 111 and the client application 161 communicate with each other via a communication line (1
0, 20) to perform communication by transmitting and receiving packets. TC
The P / IP socket emulator modules 120 and 170 include a function group emulating the function of the TCP / IP socket communication by the API of the VIA in the same manner as the above-mentioned known example. In particular, regarding the function group shown in FIG.
The function is emulated by adding a function for realizing the present invention in addition to the function inherent in the function. VIA modules 130 and 180 are VIA drivers (not shown)
Contains. Also, VIs (131, 132, 181, and 182), which are end points of a communication line based on the VIA, are configured.
Parent process 11 in server application 111
2 generates a child process 115 by using EMU_FORK () F1 indicated by reference numeral F1 in FIG. 10 that emulates FORK (). In the EMU_FORK () F 1, the parent process 112 and the child process 115 generate a shared memory 117 for performing a process-to-process communication in the function of generating a child process. A function of generating the occurrence flag 140 has been added. Also, in the parent process 112, the data received flag 113, the replacement completion flag 123, and the replacement request monitoring thread 114
Generate Further, the re-scheduling request monitoring thread 116 and the copy request monitoring thread 14
1 is generated. The transfer request flag P118 is written by the parent process 112, and the writing is monitored by the transfer request monitoring thread 116. Copy occurrence flag 14
0 is written by the parent process 112 and the copy request monitoring thread 141 monitors the writing. The relocation request flag C119 is written by the child process 115, and the rewriting request monitoring thread 114 monitors the writing. In the client application 161, the process 162 emulates CONNECT () and the EMU_CONN indicated by reference numeral F2 in FIG. 10.
ECT () is used to request the server application 111 to establish a communication line. EMU_CONNECT
T () F2 has a function of generating an interrupt request flag 163 and an interrupt request monitoring thread 164 in the process 162 when the connection is permitted. The interruption request flag 163 is written by a packet sent from the server application 111, and the writing is monitored by the interruption request monitoring thread 164. FIGS. 4, 5 and 6 illustrate the parent process 112 and the child process 11 in this embodiment.
5 and a flowchart showing the processing procedure of a process 162, respectively. Hereinafter, the details of the VI reassignment process will be described with reference to the drawings. First, the processing flow of the parent process 112 will be described with reference to the flowchart shown in FIG. In step S2, the parent process 112 listens for a connection request from the process 162 on the client application 161. Next, in step S3, connection permission is issued in response to a connection request from the process 162. Next, step S
In step 4, a child process is generated by EMU_FORK () F1. In step S5, it is checked whether the VI has already been replaced by looking at the replacement completion flag 123. The reassignment completion flag 123 is written in step S13. If the replacement has already been performed (when the replacement completion flag 123 is 1), the process proceeds to step S14. When the re-transfer has not been performed (re-transfer completed flag 1
If (23 is 0), the process proceeds to step S6. Step S6
Then, the parent process 112 checks whether or not a VI reconnection request trigger has occurred in its own process. The child process has been created in step S4, but at that time (step S4).
In 4), VI reassignment is not yet performed. Because VI
Is a costly process involving a great deal of overhead, and even if a child process is created, the child process does not necessarily communicate with the client.
Therefore, as shown in FIG. 7, an event that actually causes communication between the child process 115 and the process 162 is generated by V
This is used as a trigger to start the I reassignment process. In FIG. 7, the trigger T1 is the CLO of the communication line 10 by the parent process 112.
SE. The trigger is a spontaneous trigger. After CLOSE of the communication line 10, the communication partner of the process 162 becomes the child process 115. Trigger T2 is the parent process 112
Is annihilation. The trigger may be spontaneous or sudden. After the extinction, the child process 115 must be in a communicable state. The trigger T3 is the occurrence of the receiving operation (RECV) of the child process 115. The trigger is a spontaneous trigger. Since the child process 115 expects communication from the process 162, the child process 115 must be in a communicable state. The trigger T4 is a transmission operation of the child process 115 (S
END). The trigger is a spontaneous trigger. The child process 115 must be communicable to transmit data to the process 162. In step S6, if the trigger has not been generated, the parent process 112 proceeds to step S14 to continuously execute the server program. When the trigger is generated in step S6, the normal process executed by the parent process 112 is temporarily stopped, and the process proceeds to step S7 which is a routine of the VI reconnection process. In step S7, the parent process 112 requests the process 162 to suspend the data transfer. Thereafter, in step S8, a data transfer interruption completion report from the process 162 is waited for. If there is a data transfer interruption completion report, the parent process proceeds to step S9, and checks whether or not communication has occurred between the parent process 112 and the process 162 before the VI reconnection and the parent process 112 has already received data. The check is performed by looking at the data already received flag 113. The data received flag 113 is written in step S16. When the data has already been received (when the data already received flag 113 is 1), the process proceeds to step S10. If data has not been received (the data received flag 113 is 0), the process proceeds to step S11. In step S10, the parent process 112 sets the copy occurrence flag 1
40 is set to notify the child process 115 of the occurrence of data copy. Subsequently, the parent process 112 and the child process 115
Emphasizes that the address space of the parent process 112 is copied to the child process 115, and the data already received by the parent process 112 is succeeded to the child process 115 without omission. In step S11, a request is made to the child process 115 and the process 162 to transfer the VI to each other.
The parent process 112 and the child process 115 are shared memory 11
7, and sets the relocation request flag P118 to request the child process 115 to reconnect the VI. The parent process 112 and the process 162 are connected to the communication line 10
The parent process 112 transmits a VI reassignment request packet to the process 162 and sets the reassignment request flag 163 to request the VI reassignment. In step S12, the process waits for a re-completion report from the process 162. In step S13, the reassignment completion flag 123 is set. By setting the refill completion flag 123,
Thereafter, even if an event for issuing a reassignment request trigger occurs, it is prevented that a reassignment request is issued twice. In step S14, when returning from the VI reconnection process routine, the process of the parent process 112 that has been suspended is restarted, and otherwise, normal processing is executed. Step S
At 15, it is checked whether or not data from the process 162 has been received in the normal processing of the parent process 112. This process emulates RECV ().
Is executed in EMU_REDV () F5 shown in FIG.
If data reception has occurred in step S15, the process proceeds to step S16. If the data has not been received, the process proceeds to step S17. In step S16, the data reception flag 113 is set. Data already received flag 113
The parent process 112 knows that the reception of data to be copied to the child process 115 has occurred. In step S17, it is checked whether or not the normal process of the parent process 112 ends.
If the process is to be ended, the process proceeds to step S18, and the process ends. If not, the process proceeds to step S5 again, and the previous steps are repeated. The above is the operation of the parent process 112 at the time of VI reconnection. Next, the processing flow of the child process 115 will be described with reference to the flowchart shown in FIG. In step S21, the child process 115 is generated by EMU_FORK () F1, and the process is started. In step S22, the child process 115 checks whether a VI reconnection request trigger has occurred in itself.
If the trigger T3 or the trigger T4 has occurred in step S22, the process proceeds to step S23. If the trigger has not been generated, the process proceeds to step S26. Step S23
Then, the child process 115 sets the reassignment request flag C119 and reports to the parent process 112 that the reassignment request trigger has occurred in the child process 115. The parent process 112 sets the replacement request flag C119 to the thread 11
4 to monitor the occurrence of the trigger. In step S24, the child process 115 checks whether there is a data copy request from the parent process 112. The check is performed by the copy request monitoring thread 141 by the copy occurrence flag 140.
It is done by monitoring. When there is a data copy request in step S24 (when the copy occurrence flag 140 is 1), the normal process executed by the child process 115 is temporarily suspended, and the process proceeds to step S25. Step S
If there is no data copy request at 24 (when the copy occurrence flag 140 is 0), the process proceeds to step S26. In step S25, the child process 115 becomes the parent process 112.
Is copied to the child process 115. In step S26, the child process 115 becomes the parent process 112.
Is checked for a VI reconnection request. The check is performed by the thread 116 by the rescheduling request flag P118.
It is done by monitoring. If there is a transfer request in step S26 (when the transfer request flag P118 is 1), step S, which is a routine of the VI transfer process, is performed.
Proceed to 25. If there is no change request in step S26 (if the change request flag P118 is 0), the process proceeds to step S29. In step S27, the child process 115
Is the process 1 on the client application 161
Listen for a connection request from 62. In step S28, the child process 115 issues a connection permission in response to a connection request from the process 162. In step S29, when returning from the VI reconnection processing routine, the processing of the suspended child process 115 is restarted, and otherwise, normal processing is executed. In step S30, it is checked whether or not the child process 115 ends in the normal processing. When ending, the process proceeds to step S31, and the process ends. If not, the process proceeds to step S22 again and repeats the previous steps. The above is the operation of the child process 115 at the time of VI reconnection. Finally, the flow of the process 162 will be described with reference to the flowchart shown in FIG. The process 162 started in step S41 is executed by the parent process 112 in step S42.
Make a connection request. The process 162 waits for the connection to be permitted in step S43. In step S44, it is checked whether there is a data transfer interruption request from the parent process 112. This check is performed by monitoring the suspension request flag 163 by the suspension request monitoring thread 164.
If there is an interruption request in step S44 (if the interruption request flag 163 is 1), the normal processing executed by the process 162 is temporarily suspended, and the process proceeds to step S45. If there is no interruption request in step S44 (if the interruption request flag 163 is 0), the process proceeds to step S52. In step S45, processing for interrupting data transfer is performed. In step S46, it is checked whether or not the data transfer interruption has been completed. If not, step S4
Return to 5. If it has been completed, the process proceeds to step S47. In step S47, a data transfer interruption completion report is made to the parent process 112 by packet communication. Step S4
In step 8, the process 162 checks whether or not there is a VI reconnection request from the parent process 112. This check is performed by monitoring the reassignment request flag 163 by the thread 164. If there is a relocation request in step S48 (if the relocation request flag 163 is 1), the normal processing being executed by the process 162 is temporarily suspended, and VI
The process proceeds to step S49, which is a routine of the replacement process. If there is no relocation request in step S48 (if the relocation request flag 163 is 0), the process proceeds to step S52.
In step S49, the process 162 is a child process 115
Request a VI connection. Next, in step S50, the process waits until the connection is permitted. When the connection is permitted, the process 162 reports to the parent process 112 that the VI reassignment has been completed in step S51. This report is made by transmitting a retransmission completion report packet to the parent process 112 and setting a relocation completion flag 123. Next, in step S52, when the process 162 returns from the VI reconnection process routine, the process of the suspended process 162 is restarted, and otherwise, the normal process is executed. In step S53, it is checked whether or not the process ends in the normal process of the process 162. When ending, the process proceeds to step S54, and the process ends. If not, the process proceeds to step S44 again and repeats the previous steps. The above is the operation of the process 162 at the time of VI reconnection. How the respective processes of the parent process 112, the child process 115, and the process 162 described above operate as a whole in chronological order will be described with reference to a time chart shown in FIG. First, at time point a, the client issues a connection request 910 to the parent process on the server,
The parent process receives it at time A. In the figure, the words in parentheses described at the beginning of the processing name indicate whether the processing target for the client is a parent process or a child process on the server. The same applies hereinafter. Subsequently, the parent process permits the client to connect 9 at time B.
11 and the client receives it at time b. At time X, the parent process is EMU_FOR
A child process is created by K () 918. At time C, the parent process issues a data transfer suspension request 912 to the client, and the client receives it at time c. After the time point c, the client performs a data transfer interruption process (not shown), and at the time point d when the interruption process is completed, an interruption completion report 913 to the parent process.
Issue The parent process reports the interruption completion report 9 at time D.
13 and then, at time Y, copy 922 the already received data to the child process. Subsequently, at time E, the parent process issues a reassignment request 914 to the client, and the client receives it at time e. At time f, the client issues a connection request 915 to the child process, and the child process receives it at time F. Subsequently, at time point G, the child process grants the client 91
6 and the client receives it at time g. Finally, at time point h, the client issues a relocation completion report 917 to the parent process, and the parent process receives it at time point H, and a series of VI relocation processing is completed. Here, the parent process is in a data receivable state after time B, and the child process is in a data receivable state after time G. The time between the time bc and the time after the time h is the data transmittable time of the client, and the time d
The interval between g is the transmission suspension time. If the client starts transmitting data at time b, the parent process can receive the data at time B '. However, by receiving the suspension completion report 913, the parent process knows that no data has been received since time D. Therefore, the time during which the parent process may receive the data before the VI reassignment is between the time points B′D,
If data is received during that time, the data is copied to the child process. As a result, it becomes possible for the child process to correctly take over the communication of the parent process after the VI reconnection is completed. On the other hand, FIG. 8 is a time chart when the data transfer is not interrupted. FIG. 8 shows the effectiveness of the present invention. First, similarly to FIG. 9, the parent process is in a data receivable state after time B, and the child process is in a data receivable state after time G. The time between the time points bc and after the time point h is the data transmittable time of the client, and the time point between the time points dg is the transmission suspension time. However, the parent process cannot know the time point E 'when the client interrupts the transmission and it is reflected on the server side.
That is, the parent process cannot know how long data from the client will be transmitted. Therefore, the parent process does not know when to copy the received data to the child process, and cannot guarantee that the copying is performed correctly. On the other hand, in the present embodiment, as described above with reference to FIG. 9, the parent process on the server issues a data transfer suspension request to the process on the client, and the completion of suspension is returned from the client side. It can be seen that the received data should be copied to the child process. Therefore, it is ensured that communication is correctly continued when VI reconnection is performed. In the embodiment described above, communication between processes is executed using the shared memory, but other means such as PIPE may be used. Although communication between the hosts is performed by packet communication, other means may be used. Further, the first host and the second host do not need to be physically separated, and it is obvious that the present invention is also applied to a process executed on the same information processing apparatus. Next, a second embodiment of the present invention will be described with reference to FIG. In FIG. 11, a server application 1111 and a T
CP / IP socket emulator module 1120,
The VIA module 1130 is stored. Host 1
The parent process 1112 of 110 communicates with a process on a client host (not shown) having the same configuration as the host 360 of FIG. 3 by a method emulating socket communication. In this case, the child process 1113 that does not have a communication resource for communication with the client host communicates with the client host in the following manner. Reference numeral 1140 on the server application is a shared memory shared by the parent process 1112 and the child process 1113. On the shared memory 1140, the child process 1113
2, a transmission request flag for notifying the client host to receive data from the client host, a transmission request flag for notifying the client host to transmit data, and a transmission request flag for storing transmission / reception data. Data buffer 1143 and parent process 1112
A data reception flag 1144 for notifying the child process 1113 that the data to the child process 1113 has been received from the client host, and informing the child process 1113 that the parent process 1112 has transmitted the data from the child process 1113 to the client host. There is an area for a data transmission flag 1145 for notification. Shared memory 11
40 is created at the same time when the parent process 1112 generates the child process 1113 by FORM (). First, a case where the child process 1113 corresponding to the RECV of the socket communication receives data from the client process will be described. When the child process 1113 receives data from a client, it sets a reception request flag 1141. The parent process 1112 constantly monitors the reception request flag 1141, and upon detecting that the reception request flag 1141 has been set, enters a state of waiting for data reception from the process of the client host. When the parent process 1112 receives the data, the parent process 1112 copies the data to the data buffer 1143 and subsequently sets a data reception flag 1144. The child process 1113 constantly monitors the data reception flag, and upon detecting that the data reception flag 1144 has been set, copies the data in the data buffer 1143 and completes the data reception. Next, a case where data is transmitted from the child process 1113 to the client process, which corresponds to SEND of socket communication, will be described. Child process 1113
When transmitting data to the client, first, the data to be transmitted is copied to the data buffer 1143, and then the transmission request flag 1142 is set. Parent process 1112
Monitors the transmission request flag 1142 at all times, and when it detects that the transmission request flag 1142 has been set, the data buffer 1143 is transmitted to the client host process.
Is transmitted, and when transmission is completed, a data transmission flag 1145 is set. The child process 1113 constantly monitors the data transmission flag 1145, and
When it is detected that 145 has been set, the data transmission is completed. In the second embodiment described above, only the method of emulating RECV and SEND of socket communication has been described. However, any communication that occurs between the server application and the client application shares the corresponding flag and data area. It is obvious that emulation is possible by having it on the memory. Further, it is obvious that the present invention is applicable even if the server application and the client application are physically separated from each other and are executed on a host connected by a network, or are executed on the same information processing apparatus. It is. Further, the number of child processes on the server application does not need to be limited to one. Even when there are a plurality of child processes, the parent process and the child process each have a shared memory, and each shared memory has a shared The present invention is applied by identifying by an identifier. The solution to the synchronization problem that occurs in communication using a shared memory is a known technique.

【0011】[0011]

【発明の効果】上述のように、本発明によれば、ユーザ
空間直接転送によりOSの介在なしに通信を行っているク
ライアント側のプロセスとサーバ側のプロセス(親プロ
セス)との間の通信回線を、自発的にサーバ側の別のプ
ロセス(子プロセス)との間の通信回線に張替えて通信
を継続させ、UNIXのFORK()と同様の機能を実
現することが出来る。また本発明の第2の実施例によれ
ば、共有メモリを用いることでクライアント側のプロセ
スとサーバ側の子プロセスとの間で通信回線を張り替え
なくても、親クライアント側のプロセスと親プロセスと
の間の通信回線によって、子プロセスがクライアント側
のプロセスと通信することが可能になる。
As described above, according to the present invention, a communication line between a client-side process and a server-side process (parent process) performing communication by user space direct transfer without the intervention of an OS. Can be spontaneously replaced by a communication line with another process (child process) on the server side to continue the communication and realize the same function as UNIX FORK (). Further, according to the second embodiment of the present invention, by using the shared memory, the process on the parent client side and the process on the parent side can be performed without changing the communication line between the process on the client side and the child process on the server side. Allows the child process to communicate with the client-side process.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態のサーバ・クライアントシ
ステムのブロック図である。
FIG. 1 is a block diagram of a server-client system according to an embodiment of the present invention.

【図2】一般的なTCP/IPにおけるソケット通信の
概念を示す概念図である。
FIG. 2 is a conceptual diagram showing the concept of socket communication in general TCP / IP.

【図3】ユーザ空間直接転送で通信するサーバ・クライ
アントシステムシステムにける通信の状態を示すブロッ
ク図である。
FIG. 3 is a block diagram showing a state of communication in a server / client system that communicates by direct user space transfer.

【図4】上記実施態様における通信路を張替える際のサ
ーバ側の親プロセスの処理を示すフローチャート。
FIG. 4 is a flowchart illustrating processing of a parent process on the server side when a communication path is switched in the embodiment.

【図5】上記実施態様における通信路を張替える際のサ
ーバ側の子プロセスの処理を示すフローチャート。
FIG. 5 is a flowchart illustrating processing of a child process on the server side when a communication path is switched in the embodiment.

【図6】上記実施態様における通信路を張替える際のク
ライアント側のプロセスの処理を示すフローチャート。
FIG. 6 is a flowchart illustrating processing of a process on the client side when a communication path is switched in the embodiment.

【図7】上記実施態様にて通信路を張替えるトリガとな
るイベントを示す図。
FIG. 7 is a diagram showing an event serving as a trigger for changing a communication channel in the embodiment.

【図8】実施態様と比較のための通信路を張替える際に
サーバ側の親プロセスがクライアント側のプロセスに対
してデータ転送の中断を要求しない場合の処理の進行を
示すタイムチャート。
FIG. 8 is a time chart showing the progress of processing when the parent process on the server side does not request the process on the client side to interrupt the data transfer when the communication path for comparison with the embodiment is changed.

【図9】実施態様の通信路を張替える際の処理の進行を
示すタイムチャート。
FIG. 9 is a time chart showing the progress of a process when changing a communication channel according to the embodiment.

【図10】実施態様にてソケット通信をエミュレートす
る際に本来の処理に付加される機能を示す図。
FIG. 10 is a diagram showing functions added to original processing when emulating socket communication in the embodiment.

【図11】第2の実施様態にて子プロセスがクライアン
ト側のプロセスと通信するために親プロセスとの間で共
有する共有メモリの概念を示す図。
FIG. 11 is a view showing the concept of a shared memory shared between a child process and a parent process in order for a child process to communicate with a client-side process in the second embodiment.

【符号の説明】[Explanation of symbols]

1…ネットワーク、10,20…通信回線、110,1
60…ホスト、111…サーバアプリケーション、11
2…親プロセス、116…子プロセス、120,170
…TCP/IPソケット通信エミュレータブロック、1
30,180…VIAモジュール、131,132,1
81,182…VI、161…クライアントアプリケー
ション、162…プロセス。
1: Network, 10, 20: Communication line, 110, 1
60 ... host, 111 ... server application, 11
2 ... parent process, 116 ... child process, 120, 170
... TCP / IP socket communication emulator block, 1
30, 180... VIA module, 131, 132, 1
81, 182... VI, 161... Client application, 162.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 今木 常之 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 川本 真一 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 Fターム(参考) 5B045 BB42 GG01 5B089 GA02 GB01 GB09 JA11 KG03 KG06 5B098 AA10 GA04 GC16 5K034 FF01 KK27 KK28 LL01 LL02 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Tsuneyuki Imaki 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd. F-term in Hitachi Central Research Laboratory (Reference) 5B045 BB42 GG01 5B089 GA02 GB01 GB09 JA11 KG03 KG06 5B098 AA10 GA04 GC16 5K034 FF01 KK27 KK28 LL01 LL02

Claims (24)

【特許請求の範囲】[Claims] 【請求項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のステップとを有す
ることを特徴とする通信処理方法。
An information processing system having a function in which a process executed on a first information processing device and a process executed on a second information processing device communicate with each other by direct transfer between user spaces. Communication between a first process on the first information processing device and a second process on the second information processing device by a first connection is performed by a first connection on the first information processing device. 3. A communication processing method for continuing communication by taking over a second connection between a third process and the second process, wherein the first process and the second process perform communication by the first connection. A second step in which the third process and the second process newly establish a second connection in response to a request from the first process; and On request Communication processing method 2 connection and having a third step to continue communication takes over the communication by the first connection.
【請求項2】前記第3のプロセスがプロセス生成機能に
より生成されることを特徴とする請求項1記載の通信処
理方法。
2. The communication processing method according to claim 1, wherein said third process is generated by a process generation function.
【請求項3】前記第1のステップは前記第1のプロセス
が前記第2のプロセスに対してデータ転送の中断要求を
行うこと、第2のプロセスが前記中断要求に応じて前記
前記第1のプロセスに対するデータ転送を中断し、中断
完了後に前記第1のプロセスに対して中断完了報告を行
うこと、との手順を有することを特徴とする請求項1記
載の通信処理方法。
3. The first step is that the first process issues a data transfer interruption request to the second process, and the second process responds to the interruption request by the first process. 2. The communication processing method according to claim 1, further comprising the steps of: interrupting data transfer to the process; and performing an interrupt completion report to the first process after the interrupt is completed.
【請求項4】前記第1のプロセスにて、前記第2のプロ
セスに中断要求を行ってからデータ受信処理があったこ
と記憶し、前記中断完了報告を受けた時点以降該データ
受信処理で受信したデータをに前記第3のプロセスにコ
ピーすることを特徴とする請求項3の通信処理方法。
4. The first process stores the fact that a data reception process has been performed after an interruption request has been made to the second process, and receives the data reception process after receiving the interruption completion report. 4. The communication processing method according to claim 3, wherein the copied data is copied to the third process.
【請求項5】前記第2のステップは、前記第2の接続が
確立されたことを前記第2のプロセスと前記第3のプロ
セスのいずれか一方、または両方が前記第1のプロセス
に報告する手順を含むことを特徴とする請求項1記載の
通信処理方法。
5. The second step, wherein either or both of the second process and the third process report that the second connection has been established to the first process. The communication processing method according to claim 1, further comprising a procedure.
【請求項6】前記第2のステップにおける前記第2の接
続の確立の要求は、前記第1のプロセスにて自発的事象
が発生したことを契機に発せられることを特徴とする請
求項1記載の通信処理方法。
6. The method according to claim 1, wherein the request for establishing the second connection in the second step is triggered by a spontaneous event occurring in the first process. Communication processing method.
【請求項7】前記第2のステップにおける前記第2の接
続の確立の要求は、前記第1のプロセスにて突発的事象
が発生したことを契機に発せられることを特徴とする請
求項1記載の通信処理方法。
7. The method according to claim 1, wherein the request for establishing the second connection in the second step is issued when an unexpected event occurs in the first process. Communication processing method.
【請求項8】前記第2の接続が確立するまでに前記第1
のプロセスが該プロセスにおいてデータ受信処理が発生
したことを検出し記憶することを特徴とする請求項1記
載の通信処理方法。
8. The method according to claim 1, wherein said first connection is established until said second connection is established.
2. The communication processing method according to claim 1, wherein said process detects and stores that a data reception process has occurred in said process.
【請求項9】前記第2の接続が確立するまでに前記第1
のプロセスが該プロセスにおいてデータ受信処理が発生
したことを検出した場合、前記第3のプロセスに対して
通知することを特徴とする請求項8記載の通信処理方
法。
9. The method according to claim 1, wherein said first connection is established before said second connection is established.
9. The communication processing method according to claim 8, wherein when said process detects that a data reception process has occurred in said process, said process is notified to said third process.
【請求項10】前記第2の接続が確立するまでに前記第
1のプロセスが該プロセスにおいてデータ受信処理が発
生したことを検出し、前記第3のプロセスに対して通知
した場合、前記第1のプロセスと前記第3のプロセスが
強調して該データを前記第1のプロセスから前記第3の
プロセスにコピーすることを特徴とする請求項8記載の
通信処理方法。
10. The method according to claim 1, wherein the first process detects that a data reception process has occurred in the process before the second connection is established, and notifies the third process of the first process. 9. The communication processing method according to claim 8, wherein said process and said third process emphasize and copy said data from said first process to said third process.
【請求項11】前記第2の接続の確立の完了後に前記第
1の接続を切断することを特徴とする請求項1記載の通
信処理方法。
11. The communication processing method according to claim 1, wherein the first connection is disconnected after the establishment of the second connection is completed.
【請求項12】ネットワークで相互に接続された第1の
情報処理装置と第2の情報処理装置とを有し、該第1の
情報処理装置上で実行されるプロセスと第2の情報処理
装置上で実行されるプロセスが互いのユーザ空間同士の
直接転送により通信を行う機能を有する情報処理システ
ムにおいて、前記第1のプロセスと前記第2のプロセス
が前記第1の接続による通信を中断する第1の手段と、
前記第1のプロセスの要求により前記第3のプロセスと
前記第2のプロセスが新たに第2の接続を確立する第2
の手段と、前記第1のプロセスの要求により前記第2の
接続が前記第1の接続による通信を引き継いで通信を継
続する第3の手段と有することを特徴とする情報処理シ
ステム。
12. A first information processing device and a second information processing device interconnected by a network, wherein a process executed on the first information processing device and a second information processing device are executed. In an information processing system having a function in which processes executed on each other perform communication by direct transfer between user spaces, the first process and the second process interrupt communication by the first connection. 1 means;
The second process establishes a second connection newly by the third process and the second process in response to a request from the first process.
An information processing system, comprising: a third means for, when requested by the first process, the second connection taking over the communication by the first connection and continuing the communication.
【請求項13】請求項1記載の通信処理方法がソケット
通信の機能をエミュレートするようにプログラムされた
エミュレーションライブラリで実現され、前記第1の情
報処理装置と前記第2の情報処理装置でそれぞれ前記エ
ミュレーションライブラリを実行することにより、前記
第1の情報処理装置と前記第2の情報処理装置のそれぞ
れで実行するソケット通信のためのユーザプログラムを
何ら変更することなく通信を可能とした請求項1記載の
通信処理方法。
13. A communication processing method according to claim 1, wherein said communication processing method is realized by an emulation library programmed to emulate a function of socket communication, and said first information processing apparatus and said second information processing apparatus respectively execute said emulation library. The communication is enabled without any change in a user program for socket communication executed in each of the first information processing device and the second information processing device by executing the emulation library. Communication processing method described.
【請求項14】第1の情報処理装置上の第1のプロセス
と前記第2の情報処理装置上の第2のプロセスとの間の
第1の接続による通信を、前記第1の情報処理装置上の
第3のプロセスと前記第2のプロセスとの間の第2の接
続によって引き継いで通信を継続する通信処理方法であ
って、前記第1のプロセスと前記第2のプロセスが前記
第1の接続による通信を中断する第1のステップと、前
記第1のプロセスの要求により前記第3のプロセスと前
記第2のプロセスが新たに第2の接続を確立する第2の
ステップと、前記第1のプロセスの要求により前記第2
の接続が前記第1の接続による通信を引き継いで通信を
継続する第3のステップとを有することを通信処理方法
を実行するエミュレーションライブラリが記録された計
算機利用可能な記録媒体。
14. Communication between a first process on a first information processing device and a second process on the second information processing device by a first connection is performed by the first information processing device. A communication processing method for taking over a second connection between a third process and the second process above to continue communication, wherein the first process and the second process are the first process. A first step of interrupting communication by a connection, a second step of newly establishing a second connection by the third process and the second process in response to a request of the first process, According to the requirements of the second process,
And a third step of continuing the communication by taking over the communication by the first connection. 3. A computer-usable recording medium in which an emulation library for executing a communication processing method is recorded.
【請求項15】前記第1の情報処理装置と前記第2の情
報処理装置とが単一の情報処理装置で構成されているこ
とを特徴とする請求項1記載の通信処理方法。
15. The communication processing method according to claim 1, wherein said first information processing device and said second information processing device are constituted by a single information processing device.
【請求項16】前記第1のプロセスにて、前記第2のプ
ロセスに中断要求を行ってからデータ受信処理があった
こと記憶し、前記中断完了報告を受けた時点以降該デー
タ受信処理で受信したデータを前記第3のプロセスにコ
ピーするために、前記第1のプロセスと前記第3のプロ
セスが共有メモリ空間を有することを特徴とする請求項
9記載の通信処理方法。
16. The first process stores that a data reception process has been performed after an interruption request has been made to the second process, and receives the data reception process after receiving the interruption completion report. 10. The communication processing method according to claim 9, wherein the first process and the third process have a shared memory space in order to copy the obtained data to the third process.
【請求項17】第1の情報処理装置上で実行されるプロ
セスと第2の情報処理装置上で実行されるプロセスが互
いのユーザ空間同士の直接転送により通信を行う機能を
有する情報処理システムにおいて、前記第1の情報処理
装置上の第1のプロセスと前記第2の情報処理装置上の
第2のプロセスとの間の第1の接続による通信を用い
て、前記第1の情報処理装置上の第3のプロセスが前記
第2のプロセスとの間で通信を行う機能を有することを
特徴とする通信処理方法。
17. An information processing system having a function in which a process executed on a first information processing device and a process executed on a second information processing device communicate with each other by direct transfer between user spaces. Using communication by a first connection between a first process on the first information processing device and a second process on the second information processing device, Wherein the third process has a function of communicating with the second process.
【請求項18】前記第1のプロセスと前記第3のプロセ
スが共有メモリを有し、前記共有メモリ上には、前記第
2のプロセスから前記第3のプロセスに対してデータ転
送の要求があることを前記第1のプロセスが前記第3の
プロセスに通知するための領域を有することを特徴とす
る請求項第17記載の通信処理方法。
18. The first process and the third process have a shared memory, and there is a data transfer request from the second process to the third process on the shared memory. 18. The communication processing method according to claim 17, wherein the first process has an area for notifying the third process of the fact.
【請求項19】前記第1のプロセスと前記第3のプロセ
スが共有メモリを有し、前記共有メモリ上には、前記第
3のプロセスから前記第2のプロセスに対してデータ転
送の要求があることを前記第3のプロセスが前記第1の
プロセスに通知するための領域を有することを特徴とす
る請求項第17記載の通信処理方法。
19. The first process and the third process have a shared memory, and there is a data transfer request from the third process to the second process on the shared memory. The communication processing method according to claim 17, wherein the third process has an area for notifying the first process of the fact.
【請求項20】前記第1のプロセスと前記第3のプロセ
スが共有メモリを有し、前記共有メモリ上には、前記第
2のプロセスから前記第3のプロセスに対して転送する
データを前記第1のプロセスが記憶するための領域を有
することを特徴とする請求項第17記載の通信処理方
法。
20. The first process and the third process have a shared memory, and data to be transferred from the second process to the third process is stored on the shared memory. 18. The communication processing method according to claim 17, wherein one process has an area for storing.
【請求項21】前記第1のプロセスと前記第3のプロセ
スが共有メモリを有し、前記共有メモリ上には、前記第
3のプロセスから前記第2のプロセスに対して転送する
データを前記第1のプロセスが記憶するための領域を有
することを特徴とする請求項第17記載の通信処理方
法。
21. The first process and the third process have a shared memory, and data to be transferred from the third process to the second process is stored on the shared memory. 18. The communication processing method according to claim 17, wherein one process has an area for storing.
【請求項22】第1の情報処理装置と第2の情報処理装
置とがネットワークで接続された情報処理装置で構成さ
れていることを特徴とする請求項17記載の通信処理方
法。
22. The communication processing method according to claim 17, wherein the first information processing device and the second information processing device are configured by an information processing device connected by a network.
【請求項23】第1の情報処理装置と第2の情報処理装
置とが単一の情報処理装置で構成されていることを特徴
とする請求項17記載の通信処理方法。
23. The communication processing method according to claim 17, wherein the first information processing device and the second information processing device are constituted by a single information processing device.
【請求項24】第1の情報処理装置上で実行されるプロ
セスと第2の情報処理装置上で実行されるプロセスが互
いのユーザ空間同士の直接転送により通信を行う機能を
有する情報処理システムにおいて、前記第1の情報処理
装置上の第1のプロセスと前記第2の情報処理装置上の
第2のプロセスとの間の第1の接続による通信を用い
て、前記第1の情報処理装置上の第3のプロセスが前記
第2のプロセスとの間で通信を行う通信処理方法が記録
された計算機利用可能な記録媒体。
24. An information processing system having a function in which a process executed on a first information processing apparatus and a process executed on a second information processing apparatus communicate with each other by direct transfer between user spaces. Using communication by a first connection between a first process on the first information processing device and a second process on the second information processing device, A computer-usable recording medium in which a communication processing method in which the third process communicates with the second process is recorded.
JP2001042692A 2001-02-20 2001-02-20 Communication processing method and recording medium with communication processing program recorded thereon Pending JP2002244873A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001042692A JP2002244873A (en) 2001-02-20 2001-02-20 Communication processing method and recording medium with communication processing program recorded thereon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001042692A JP2002244873A (en) 2001-02-20 2001-02-20 Communication processing method and recording medium with communication processing program recorded thereon

Publications (1)

Publication Number Publication Date
JP2002244873A true JP2002244873A (en) 2002-08-30

Family

ID=18904951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001042692A Pending JP2002244873A (en) 2001-02-20 2001-02-20 Communication processing method and recording medium with communication processing program recorded thereon

Country Status (1)

Country Link
JP (1) JP2002244873A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036092A (en) * 2021-11-16 2022-02-11 深圳市联影高端医疗装备创新研究院 Medical equipment operation management system, method and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036092A (en) * 2021-11-16 2022-02-11 深圳市联影高端医疗装备创新研究院 Medical equipment operation management system, method and storage medium

Similar Documents

Publication Publication Date Title
US10698717B2 (en) Accelerator virtualization method and apparatus, and centralized resource manager
JP4886685B2 (en) Apparatus and method for supporting memory management in network protocol processing offload
US9054958B2 (en) System and method for reducing information loss in an aggregated information handling system
US7089311B2 (en) Methods, systems and computer program products for resuming SNA application-client communications after loss of an IP network connection
JP2006236391A (en) System and method for positive response of message reception on communication network of packet base
CN111277616A (en) RDMA (remote direct memory Access) -based data transmission method and distributed shared memory system
CN112631788B (en) Data transmission method and data transmission server
US6880013B2 (en) Permanent TCP connections across system reboots
US8352617B2 (en) Method and system for data processing
WO2022032984A1 (en) Mqtt protocol simulation method and simulation device
US5526483A (en) Fast network file system running over a hybrid connectionless transport
EP1570369A2 (en) An apparatus and method for receive transport protocol termination
EP0586129B1 (en) Session oriented connectionless data transfer for a computer network
US6401123B1 (en) Systems, methods and computer program products for employing presumptive negotiation in a data communications protocol
CN111212117A (en) Remote interaction method and device
CN113849127A (en) SAN storage dual-active network-based arbitration method and device and electronic equipment
CN113259408A (en) Data transmission method and system
JP4123712B2 (en) Communication processing method and recording medium on which communication processing program is recorded
CN110798366B (en) Task logic processing method, device and equipment
JP3628514B2 (en) Data transmission / reception method between computers
JP2002244873A (en) Communication processing method and recording medium with communication processing program recorded thereon
JP2000224260A (en) Communication controller
JP5128117B2 (en) Method for selectively initiating TCP / IP links and traffic, computer network system, and program storage device
CN117527458B (en) Multicast data distribution method and device, electronic equipment and storage medium
JPH0830523A (en) Method for communicating on-line message