(57)【特許請求の範囲】
【請求項１】
同時に実行されるプロセス間で行われるプロセス間通信において、送信プロセスが、メモリ上の送信情報格納域の、先に書き込まれた送信情報の書込済最終位置に連続する位置に送信情報を格納し、該書込済最終位置を更新して、受信プロセスを指定する情報とともに送信指示を行い、
前記送信指示に応じて、送信処理部が、前記送信情報格納域の、先に送信された送信情報の送信済最終位置に連続する位置から所定の長さに分割して送信情報を読み出し、前記受信プロセスを指定する情報と合わせてパケットを生成して送信し、該送信済最終位置を更新する、
プロセス間通信方法の送信方法。
【請求項２】
同時に実行されるプロセス間で行われるプロセス間通信において、受信処理部が、自プロセッサ宛のパケットの到着を検知すると、メモリ上の受信情報格納域の、先に受信された受信情報の受信済最終位置に連続する位置に該パケットに含まれる受信情報を格納し、該受信済最終位置を更新し、
受信プロセスが、前記受信情報格納域の先に読出された受信情報の読出済最終位置に連続する位置から受信情報を読出し、前記読出済最終位置を更新する、
プロセス間通信方法の受信方法。
【請求項３】
同時に実行されるプロセス間で行われるプロセス間通信において、パケットを送信するプロセス間通信システムの送信装置であって、
メモリ上の送信情報格納域の、先に書き込まれた送信情報の書込済最終位置に連続する位置に送信情報を格納し、該書込済最終位置を更新して、受信プロセスを指定する情報とともに送信指示を行う情報送信手段と、
前記送信指示に応じて、前記送信情報格納域の、先に送信された送信情報の送信済最終位置に連続する位置から所定の長さに分割して送信情報を読み出し、前記受信プロセスを指定する情報と合わせてパケットを生成して送信し、該送信済最終位置を更新する送信処理手段と、
から構成されるプロセス間通信システムの送信装置。
【請求項４】
同時に実行されるプロセス間で行われるプロセス間通信において、パケットを受信するプロセス間通信システムの受信装置であって、
自プロセッサ宛のパケットの到着を検知すると、メモリ上の受信情報格納域の、先に受信された受信情報の受信済最終位置に連続する位置に該パケットに含まれる受信情報を格納し、該受信済最終位置を更新する受信処理手段と、
前記受信情報格納域の先に読出された受信情報の読出済最終位置に連続する位置から受信情報を読出し、前記読出済最終位置を更新する情報受信手段と、
から構成されるプロセス間通信システムの受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同時に実行される、細分化された処理単位（以下、「プロセス」と略す）の間で情報を転送する情報処理のプロセス間通信に関する。
【０００２】
情報処理の方法には、プロセスをシリアルに処理する方法とパラレルに処理する方法とがある。
情報処理に要する時間は、プロセッサの所要時間と周辺装置の所要時間があり、シリアルに処理する場合、処理に要する時間はプロセスの各々がプロセッサで必要とする時間と周辺装置で必要とする時間の和として決まるため、短時間で情報を処理するためには高価な高速プロセッサが必要となる。
【０００３】
一方、パラレルに処理を行う場合は、プロセッサ処理の比率の高いプロセスと周辺装置処理の高いプロセスとを組み合わせて処理することが出来るため、処理に要する時間は同時に処理出来るプロセスの数とプロセス間で情報を転送するプロセス間通信に要する時間とにより決まり、高い処理能力を比較的低速のプロセッサを用いて安価に得ることが出来るが、プロセス間通信に要する時間を短縮することが必要となる。
【０００４】
また、複数の高速プロセッサを用いてプロセスをパラレルに処理することにより、シリアル処理では得られない高い処理能力を得ることが可能となる。
このため、高い処理能力を求めて、１台のプロセッサと１台の記憶回路とから構成される処理装置でプロセスをパラレルに処理したり、複数のプロセッサが１台の記憶装置を共有し、複数のプロセッサでプロセスをパラレルに処理したり、複数の処理装置を通信路で接続し、複数の処理装置でプロセスをパラレルに処理することが行われる。
【０００５】
従って、高い処理能力を安価に得るためにはプロセス間通信を効率良く行うことが必要である。
【０００６】
【従来の技術】
図８はパケットの形式図であり、図９はポインタの状態遷移図であり、図１０は従来例の構成図であり、図１１は従来例の送信フローチャート図（その１）であり、図１２は従来例の送信フローチャート図（その２）であり、図１３は従来例の受信フローチャート図である。
【０００７】
図８〜図１３を参照しながら、従来例について説明する。尚、以下の説明において、同一部分または相当部分については同一符号を付す。
パケットは、送信側のプロセスから受信側のプロセスへ送出される情報の組合せであって、図８に示される如く、送信情報が通信プロトコルで定められた情報長を越えない長さに分割された情報に、該情報の情報長と受信プロセスを指定する番号（この例の場合は、送信側と受信側の装置が異なるため、装置番号とプロセス番号）と該情報の送信情報中の分割順位を示す情報番号とが付加され生成されたものである。
【０００８】
図１０の従来例の構成図において、
１はプロセス間送信装置であり、１４はプロセッサであり、１５は記憶回路であり、３７は送信処理部であり、３８は送信プロセスであり、１９’は送信情報格納域であり、３１’は書込済ポインタであり、３２’は送信済ポインタであり、３９は送信バッファであり、１６は送信回路である。
【０００９】
また、２はプロセス間受信装置であり、４７は受信処理部であり、４８は受信プロセスであり、２９’は受信情報格納域であり、４１’は受信済ポインタであり、４２’は読出済ポインタであり、４９は受信バッファであり、２６は受信回路である。
【００１０】
プロセス間送信装置１は、記憶回路１５と接続されるプロセッサ１４と、プロセッサ１４及び送信回路１６と接続される記憶回路１５と、記憶回路１５と接続される送信回路１６とから構成され、プロセス間受信装置２に接続されて、プロセス間受信装置２に送信情報を送出し、受信完了の通知を受ける装置である。
【００１１】
プロセス間受信装置２は、記憶回路１５と接続されるプロセッサ１４と、プロセッサ１４及び受信回路２６と接続される記憶回路１５と、記憶回路１５と接続される受信回路２６とから構成され、プロセス間送信装置１に接続されて、プロセス間送信装置１から送出された送信情報を受信情報として受信し、受信完了の通知を送出する装置である。
【００１２】
プロセッサ１４は、記憶回路１５に格納されているプログラムが走行し、プログラムの指示する処理をする回路である。
記憶回路１５は、プログラムと情報が保持される回路である。
【００１３】
送信回路１６は、プロセス間受信装置２と接続するための回路である。
受信回路２６は、プロセス間送信装置１と接続するための回路である。
送信プロセス３８は、記憶回路１５に格納されるアプリケーションソフトウェア（以下、「ＡＰ」と略す）のプロセスであって、受信プロセスに送出する送信情報を送信情報格納域１９’に書込むプログラムである。
【００１４】
送信処理部３７は、記憶回路１５に格納されるオペレーティングシステム（以下、「ＯＳ」と略す）の一部であって、送信情報格納域１９’から送信情報を送信バッファ３９に転送して書込済ポインタ３１’を更新し、送信バッファ３９から送信情報を固定長に分割して読出し、パケットを生成して送信回路１６を介して送出し、受信完了の通知を受けて送信済ポインタ３２’を更新するプログラムである。
【００１５】
送信情報格納域１９’は、記憶回路１５の送信情報が保持される領域である。
送信バッファ３９は、記憶回路１５の送信情報が保持される領域であって、先に書き込まれた情報の最終位置（以下、「書込済位置」と略す）に連続する位置（以下、「書込位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、送信情報が書き込まれ、先に送信された情報の最終位置（以下、「送信済位置」と略す）に連続する位置（以下、「送信位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、情報が送信される領域である。
【００１６】
書込済ポインタ３１’は、記憶回路１５に保持され、送信バッファ３９の書込済位置を表示するポインタである。
送信済ポインタ３２’は、記憶回路１５に保持され、送信バッファ３９の送信済位置を表示するポインタである。
【００１７】
受信処理部４７は、記憶回路１５に格納されるＯＳの一部であって、自プロセス宛のパケットを受信し、受信バッファ４９にパケット中の情報を書込み、受信完了の通知を受信回路を介して送出すると共に、受信済ポインタ４１’を更新し、受信情報格納域２９’に受信情報を転送して読出済ポインタ４２’を更新するプログラムである。
【００１８】
受信プロセス４８は、記憶回路１５に格納されるＡＰのプロセスであって、受信情報を受信情報格納域２９’から読み出すプログラムである。
受信情報格納域２９’は、記憶回路１５の受信情報が保持される領域である。
【００１９】
受信バッファ４９は、記憶回路１５の受信情報が保持される領域であって、先に受信された情報の最終位置（以下、「受信済位置」と略す）に連続する位置（以下、「受信位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、受信情報が書き込まれ、先に読み出された情報の最終位置（以下、「読出済位置」と略す）に連続する位置（以下、「読出位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、情報が読み出される領域である。
【００２０】
受信済ポインタ４１’は、記憶回路１５に保持され、受信バッファ４９の受信済位置を表示するポインタである。
読出済ポインタ４２’は、記憶回路１５に保持され、受信バッファ４９の読出済位置を表示するポインタである。
【００２１】
図９のポインタの状態遷移図は、書込済ポインタ３１’と送信済ポインタ３２’と受信済ポインタ４１’と読出済ポインタ４２’の状態遷移を、書込済ポインタ３１’と送信済ポインタ３２’の初期状態が各々１０００で、受信済ポインタ４１’と読出済ポインタ４２’の初期状態が各々２０００であって、情報長１００の送信情報を情報長５０に分割し、２回に分けて送信プロセスから受信プロセスに転送する場合を示している。
【００２２】
従来例の送信の場合について、図１１〜図１２を参照しながら説明する。
プロセッサ１４上を走行する送信プロセス３８により、送信情報が送信情報格納域１９’に格納される。（ステップＳ１）
送信プロセス３８により、送信処理部３７が動作中か停止中かがチェックされ、停止中の場合には送信処理部３７が起動され、ステップＳ４に進む。（ステップＳ２，Ｓ３）
送信プロセス３８により、送信処理部３７に、受信プロセスを指定する情報（例えば、受信装置の装置番号と、受信プロセスのプロセス番号）と送信情報格納域１９’の先頭位置を示す情報（例えば、送信情報格納先ポインタ）と送信情報の情報長とが通知され、送信が指示される。（ステップＳ４）
プロセッサ１４上を走行する送信処理部３７により、書込済ポインタ３１’と送信済ポインタ３２’とが参照され、送信バッファ３９の書込可能領域が検出される。（ステップＳ５）
〔書込済ポインタ３１’と送信済ポインタ３２’とが等しい場合は、送信バッファ３９の全ての領域が書込可能領域であり、書込済ポインタ３１’が送信済ポインタ３２’より大きい場合は、書込位置から送信済位置までの領域が書込可能領域であり、書込済ポインタ３１’が送信済ポインタ３２’より小さい場合は、書込位置から送信済位置までの領域が書込可能領域である。〕
書込可能領域の領域長と、送信情報の情報長とが比較され、書込可能領域の領域長が送信情報の情報長より大きいか等しい場合はステップＳ８に進み、小さい場合にはステップＳ７に進む。（ステップＳ６）
送信処理部３７により、送信プロセス３８に送信バッファの書込可能領域の不足が通知され、処理が終了する。（ステップＳ７）
送信処理部３７により、送信情報格納域１９’から送信情報が読み出され、送信バッファ３９の書込位置から書き込まれ、書込済ポインタ３１’が書き込まれた情報長分更新される。（ステップＳ８）
送信処理部３７により、書込済ポインタ３１’と送信済ポインタ３２’とが比較され、等しい場合には処理を終了し、異なる場合にはステップＳ１０に進む。（ステップＳ９）
送信処理部３７により、送信バッファ３９に格納されている送信情報が固定長の情報に分割して読み出され、パケットが生成され送信回路１６を介して送出される。（ステップＳ１０）
送信処理部３７により、送信回路１６を介して受信完了の通知が監視され、一定時間たっても受信完了が通知されない場合にはステップＳ１０に戻り、受信完了が通知された場合にはステップＳ１２に進む。（ステップＳ１１）
送信処理部３７により、送信済ポインタ３２’がパケットとして送出された情報長分更新され、ステップＳ９に戻る。（ステップＳ１２）
次に、従来例の受信の場合について、図１３を参照しながら説明する。
【００２３】
プロセッサ１４上を走行する受信処理部４７により、自プロセス宛のパケットの到着が常時監視され、自プロセス宛のパケットが到着するとステップＳ２に進む。（ステップＳ１）
受信処理部４７により、受信済ポインタ４１’と読出済ポインタ４２’とが参照され、受信バッファ４９の受信可能領域が検出される。（ステップＳ２）
〔受信済ポインタ４１’と読出済ポインタ４２’が等しい場合は、受信バッファ４９の全ての領域が受信可能領域であり、受信済ポインタ４１’が読出済ポインタ４２’より大きい場合は、受信位置から読出済位置までの領域が書込可能領域であり、受信済ポインタ４１’が読出済ポインタ４２’より小さい場合は、受信位置から読出済位置までの領域が書込可能領域である。〕
受信可能領域の領域長と、パケット中の情報の情報長とが比較され、前記領域長が前記情報長より大きいか等しい場合はステップＳ４に進み、小さい場合にはパケットを放棄して処理を終了する。（ステップＳ３）
受信処理部４７により、受信バッファ４９の受信位置にパケット中の情報が格納され、受信済ポインタ４１’が格納された情報長分更新されると共に受信完了の通知が受信回路２６を介して送出される。（ステップＳ４）
受信処理部４７により、前記パケット中の情報番号が受信情報の最終を示しているか否かがチェックされ、最終を示している場合にはステップＳ６に進み、最終を示していない場合にはステップＳ１に戻る。（ステップＳ５）
受信処理部４７が受信プロセス４８から受信情報を待っている旨の通知を受けている、或いは受けた場合にはステップＳ７に進む。（ステップＳ６）
受信処理部４７により、受信バッファ４９の読出位置から受信情報が読み出されて受信情報格納域２９’に転送され、読出済ポインタ４２’が受信情報の情報長分更新され、処理を終了する。（ステップＳ７）
受信情報格納域２９’に格納された受信情報は受信プロセス４８によりこの後読み出される。
【００２４】
【発明が解決しようとする課題】
上述した様に、プロセス間通信の送信の場合には、送信プロセスが送信情報格納域格納した送信情報を送信処理部が送信バッファに書込み、その後でなければ受信プロセスへ送信できないという問題があり、受信の場合には、受信処理部が受信バッファに受信した受信情報を更に受信情報格納域に転送した後でなければ受信プロセスが読みだせないという問題があった。
【００２５】
本発明は、送信情報格納域から送信バッファへの送信情報の転送を不要とし、受信バッファから受信情報格納域への受信情報の転送を不要として、効率の良いプロセス間通信の方法を提供することを目的とする。
【００２６】
【課題を解決するための手段】
図１は本発明の原理図である。図１において、
１０は情報送信手段であり、１１ａは書込済位置表示手段であり、１１ｂは送信済位置表示手段であり、１２は送信情報保持手段であり、１３は送信処理手段であり、２０は情報受信手段であり、２１ａは受信済位置表示手段であり、２１ｂは読出済位置表示手段であり、２２は受信情報保持手段であり、２３は受信処理手段である。
【００２７】
情報送信手段１０は、書込済位置表示手段１１ａと送信済位置表示手段１１ｂとを参照し、送信情報保持手段１２の書込可能領域に送信情報を書き込み、書込済位置表示手段１１ａを送信情報の情報長分更新する手段である。
【００２８】
送信処理手段１３は、書込済位置表示手段１１ａと送信済位置表示手段１１ｂとを参照し、送信情報保持手段１２に書き込まれている送信情報を通信プロトコルで規定される長さに入るような情報に分割して書込済位置表示手段１１ａと送信済位置表示手段１１ｂが一致するまで繰り返して読みだし、その都度前記情報に前記情報の長さを表す情報長と受信プロセスを指定する情報と前記情報の送信情報中の分割順位を示す情報を付加してパケットを生成し、接続線を受信プロセスへ向けて送出し、受信完了の通知を受け、送信済位置表示手段１１ｂを前記情報長分更新する手段である。
【００２９】
送信情報保持手段１２は、送信情報が先端から後端へ順次書き込まれ、最後端に達した後は先端から上書きされて保持され、保持された送信情報が先端から後端へ順次読みだされ、最後端に達した後は先端から後端へ向けて再度読みだされる手段である。
【００３０】
書込済位置表示手段１１ａは、送信情報保持手段１２に保持される送信情報の最終位置を表示する手段である。
送信済位置表示手段１１ｂは、送信情報保持手段１２に保持される送信情報の送信済最終位置を表示する手段である。
【００３１】
受信処理手段２３は、受信済位置表示手段２１ａと読出済位置表示手段２１ｂとを参照し、受信情報保持手段２２の書込可能領域に通信プロトコルで規定される長さにに入るよう分割された情報を、前記情報の受信情報中の分割順位を示す情報が最終位置を示すまで繰り返して受信し、その都度受信完了の通知を送出すると共に受信済位置表示手段２１ａを前記情報長分更新する手段である。
【００３２】
情報受信手段１０は、読出済位置表示手段２１ｂを参照し、受信情報保持手段２２の読出済位置表示手段２１ｂに連続する位置から受信情報を読みだし、読出済位置表示手段２１ｂを受信情報の情報長分更新する手段である。
【００３３】
受信情報保持手段２２は、受信情報が先端から後端へ順次書き込まれ、最後端に達した後は先端から上書きされて保持され、保持された受信情報が先端から後端へ順次読みだされ、最後端に達した後は先端から後端へ向けて再度読みだされる手段である。
【００３４】
受信済位置表示手段２１ａは、受信情報保持手段２２に保持される受信情報の最終位置を表示する手段である。
読出済位置表示手段２１ｂは、受信情報保持手段２２に保持される受信情報の読出済最終位置を表示する手段である。
【００３５】
送信処理は以下の手順で行われる。
情報送信手段１０により、書込済位置表示手段１１ａと送信済位置表示手段１１ｂとが参照され、送信情報保持手段１２の書込可能領域が検出され、送信情報の情報長と書込可能領域長とが比較される。
【００３６】
書込可能領域長が送信情報の情報長より大きいか等しい場合には、情報送信手段１０により、送信情報が送信情報保持手段１２の書込済位置表示手段１１ａで指定される位置に連続する位置に書き込まれ、書込済位置表示手段１１ａが情報長分更新される。
【００３７】
送信処理手段１３が動作していない場合には、情報送信手段１０により送信処理手段１３が起動される。
送信処理手段１３が動作すると、情報送信手段１０により送信情報の指定された受信プロセスへの送信が送信処理手段１３に指示される。
【００３８】
次いで、送信処理手段１３により、送信情報保持手段１２の送信済位置表示手段１１ｂにより示される位置に連続する位置から送信情報が通信プロトコルで定められた長さに入るよう分割されて書込済位置表示手段１１ａで示される位置と送信済位置表示手段１１ｂで示される位置とが一致するまで繰り返し読みだされ、該情報の情報長と受信プロセスを指定する情報と該情報の分割された中での順位を示す情報番号とが付加されたパケットが生成され、接続線に送出される。
【００３９】
そして、接続線から受信完了が通知されると、送信処理手段１３により送信済位置表示手段１１ｂが前記情報長分更新され、書込済位置表示手段１１ａで示される位置と送信済位置表示手段１１ｂで示される位置とが一致すると、処理を終了する。
【００４０】
受信処理は以下の手順で行われる。
接続線に自プロセスを受信プロセスとして指定するパケットが検出されると、受信処理手段２３により、受信済位置表示手段２１ａと読出済位置表示手段２１ｂとにより受信情報保持手段２２の受信可能領域長が検出され、受信可能領域長とパケット中の情報の情報長とが比較される。
【００４１】
受信可能領域長が情報長より大きいか等しい場合には、受信処理手段２３により、パケット中の情報が受信情報保持手段２２の受信済位置表示手段２１ａにより示される位置に連続する位置に書き込まれ、受信済位置表示手段２１ａが情報長分更新されると共に受信完了が接続線に送出される。
【００４２】
更に、情報番号により該情報が送信情報の最後（即ち、受信情報の最後）をであることが判明し、情報受信手段２０が受信情報待ちの場合には受信処理手段２３により情報受信手段２０に情報を受信したことが通知される。
【００４３】
そして、情報受信手段２０により、受信情報保持手段２２の読出済位置表示手段２１ｂにより示される位置に連続する位置から受信済位置表示手段２１ａより示される位置までの情報が読みだされ、読出済位置表示手段２１ｂが読みだされた情報長分更新され、処理を終了する。
【００４４】
【発明の実施の形態】
図２は本発明の第１の実施の形態構成図であり、図３は本発明の第２の実施の形態構成図であり、図４は本発明の第３の実施の形態構成図であり、図５は本発明の実施の形態送信フローチャート図（その１）であり、図６は本発明の実施の形態送信フローチャート図（その２）であり、図７は本発明の実施の形態受信フローチャート図である。
【００４５】
尚、以下の説明において、同一部分または相当部分については同一符号を付す。
図２の本発明の第１の実施の形態構成図において、
１はプロセス間送信装置であり、１４はプロセッサであり、１５は記憶回路であり、１７は送信処理部であり、１８は送信プロセスであり、１９は送信情報格納域であり、３１は書込済ポインタであり、３２は送信済ポインタであり、１６は送信回路である。
【００４６】
また、２はプロセス間受信装置であり、２７は受信処理部であり、２８は受信プロセスであり、２９は受信情報格納域であり、４１は受信済ポインタであり、４２は読出済ポインタであり、２６は受信回路である。
【００４７】
プロセス間送信装置１は、記憶回路１５に接続されるプロセッサ１４と、プロセッサ１４及び送信回路１６と接続される記憶回路１５と、記憶回路１５と接続される送信回路１６とから構成され、接続線によりプロセス間受信装置２に接続されて、プロセス間受信装置２に送信情報を送出し、受信完了の通知を受ける装置である。
【００４８】
プロセス間受信装置２は、記憶回路１５と接続されるプロセッサ１４と、プロセッサ１４及び受信回路２６と接続される記憶回路１５と、記憶回路１５と接続される受信回路２６とから構成され、接続線によりプロセス間送信装置１に接続されて、プロセス間送信装置１から送出された送信情報を受信情報として受信し、受信完了の通知を送出する装置である。
【００４９】
図３の本発明の第２の実施の形態構成図において、
３はプロセス間送信装置であり、４はプロセス間受信装置であり、６は記憶装置である。
【００５０】
プロセス間送信装置３は、記憶回路１５に接続されるプロセッサ１４と、プロセッサ１４に接続される記憶回路１５とから構成され、接続線により接続される記憶装置６を介してプロセス間受信装置４と接続され、プロセス間受信装置４の使用する送信情報を送出し受信完了の通知を受ける装置である。
【００５１】
プロセス間受信装置４は、記憶回路１５に接続されるプロセッサ１４と、プロセッサ１４に接続される記憶回路１５とから構成され、接続線により接続される記憶装置６を介してプロセス間送信装置３と接続され、プロセス間送信装置３の送信する送信情報を受信し受信完了の通知を送出する装置である。
【００５２】
記憶装置６は、記憶回路１５から構成され、接続線によりプロセス間送信装置３とプロセス間受信装置４とに接続され、プロセス間送信装置３が送出する送信情報を保持し、プロセス間受信装置４が受信する受信情報を保持する装置である。
【００５３】
図４の本発明の第３の実施の形態構成図において、
５はプロセス間送受信装置であって、相互に接続されたプロセッサ１４と記憶回路１５とから構成され、自装置内部にある異なるプロセスの各々が、一方が送信プロセスとなって送信情報を送出し、他方が受信プロセスとなって前記送信情報を受信銃砲として受信する装置である。
【００５４】
図２〜図４において、
プロセッサ１４は、記憶回路１５に格納されているプログラムが走行し、プログラムの指示する処理をする回路である。
【００５５】
記憶回路１５は、プログラムと情報が保持される回路である。
送信回路１６は、プロセス間受信装置２と接続するための回路である。
受信回路２６は、プロセス間送信装置１と接続するための回路である。
【００５６】
送信プロセス１８は、プロセス間送信装置１またはプロセス間送信装置３またはプロセス間送受信装置５の記憶回路１５に格納されるＡＰのプロセスであって、受信プロセスに送出する送信情報を送信情報格納域１９に書込み、書込済ポインタ３１を更新するプログラムである。
【００５７】
送信処理部３７は、プロセス間送信装置１またはプロセス間送信装置３またはプロセス間送受信装置５の記憶回路１５に格納されるＯＳの一部であって、送信情報格納域１９から送信情報をプロトコルの定める長さに入るよう分割して読出し、パケットを生成して送信回路１６を介して送出し、受信完了の通知を受けて送信済ポインタ３２を更新するプログラムである。
【００５８】
送信情報格納域１９は、プロセス間送信装置１または記憶装置６またはプロセス間送受信装置５の記憶回路１５の送信情報が保持される領域であって、先に書き込まれた情報の最終位置（以下、「書込済位置」と略す）に連続する位置（以下、「書込位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、送信情報が書き込まれ、先に送信された情報の最終位置（以下、「送信済位置」と略す）に連続する位置（以下、「送信位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、情報が送信される領域である。
【００５９】
書込済ポインタ３１は、プロセス間送信装置１または記憶装置６またはプロセス間送受信装置５の記憶回路１５に保持され、送信情報格納域１９の書込済位置を表示するポインタである。
【００６０】
送信済ポインタ３２は、プロセス間送信装置１または記憶装置６またはプロセス間送受信装置５の記憶回路１５に保持され、送信情報格納域１９の送信済位置を表示するポインタである。
【００６１】
受信処理部４７は、プロセス間受信装置２またはプロセス間受信装置４またはプロセス間送受信装置５の記憶回路１５に格納されるＯＳの一部であって、自プロセス宛のパケットを受信し、受信情報格納域２９にパケット中の情報を書込み、受信完了の通知を受信回路を介して送出すると共に、受信済ポインタ４１を更新するプログラムである。
【００６２】
受信プロセス４８は、プロセス間受信装置２またはプロセス間受信装置４またはプロセス間送受信装置５の記憶回路１５に格納されるＡＰのプロセスであって、受信情報を受信情報格納域２９から読み出し、読出済ポインタ４２を更新するプログラムである。
【００６３】
受信情報格納域２９は、プロセス間受信装置２または記憶装置６またはプロセス間送受信装置５の記憶回路１５の受信情報が保持される領域であって、先に受信された情報の最終位置（以下、「受信済位置」と略す）に連続する位置（以下、「受信位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、受信情報が書き込まれ、先に読み出された情報の最終位置（以下、「読出済位置」と略す）に連続する位置（以下、「読出位置」と略す）から順次、領域の最終位置に達した場合には領域の先頭に戻って、情報が読み出される領域である。
【００６４】
受信済ポインタ４１は、プロセス間受信装置２または記憶装置６またはプロセス間送受信装置５の記憶回路１５に保持され、受信情報格納域２９の受信済位置を表示するポインタである。
【００６５】
読出済ポインタ４２は、プロセス間受信装置２または記憶装置６またはプロセス間送受信装置５の記憶回路１５に保持され、受信情報格納域２９の読出済位置を表示するポインタである。
【００６６】
本発明の実施の形態送信の場合について、図５〜図６を参照しながら説明する。
プロセッサ１４上を走行する送信プロセス１８により、書込済ポインタ３１と送信済ポインタ３２とが参照され、送信情報格納域１９の書込可能領域が検出される。（ステップＳ１）
〔書込済ポインタ３１と送信済ポインタ３２とが等しい場合は、送信情報格納域１９の全ての領域が書込可能領域であり、書込済ポインタ３１が送信済ポインタ３２より大きい場合は、書込位置から送信済位置までの領域が書込可能領域であり、書込済ポインタ３１が送信済ポインタ３２より小さい場合は、書込位置から送信済位置までの領域が書込可能領域である。〕
送信プロセス１８により、書込可能領域の領域長と送信情報の情報長とが比較され、前記領域長が前記情報長よりも大きいか等しい場合にはステップＳ３に進む。（ステップＳ２）
送信プロセス１８により、送信情報が送信情報格納域１９の送信位置に書き込まれ、書込済ポインタ３１が送信情報の情報長分更新される。（ステップＳ３）送信プロセス１８により、送信処理部１７が動作中か停止中かチェックされ、停止中の場合には送信処理部１７が起動され、ステップＳ６に進む。（ステップＳ４，Ｓ５）
送信プロセス１８により、送信処理部１７に受信プロセスを指定する情報（例えば、受信装置の装置番号，受信プロセスのプロセス番号等）が通知され、送信が指示される。（ステップＳ６）
プロセッサ１４上を走行する送信処理部１７により、書込済ポインタ３１と送信済ポインタ３２とが参照され、書込済ポインタ３１と送信済ポインタ３２とが等しい場合には処理を終了し、書込済ポインタ３１と送信済ポインタ３２とが異なる場合にはステップＳ８に進む。（ステップＳ７）
送信処理部１７により、送信情報格納域１９に書き込まれている送信情報が通信プロトコルの定める長さに入るよう分割された情報として読み出され、パケットが生成され送出される。（ステップＳ８）
送信処理部１７により、受信完了通知の有無が監視され、一定時間受信完了が通知されない場合にはステップＳ８に戻り、一定時間の間に受信完了が通知された場合にはステップＳ１０に進む。（ステップＳ９）
送信処理部１７により、送信済ポインタ３２がパケットで送出された情報の情報長分更新され、ステップＳ７に戻る。（ステップＳ１０）
次に、本発明の実施の形態送信の場合について、図７を参照しながら説明する。
【００６７】
プロセッサ１４上を走行する受信処理部２７により、自プロセス宛のパケットの到着が常時監視され、自プロセス宛のパケットが到着するとステップＳ２に進む。（ステップＳ１）
受信処理部２７により、受信済ポインタ４１と読出済ポインタ４２とが参照され、受信情報格納域２９の受信可能領域が検出される。（ステップＳ２）
〔受信済ポインタ４１と読出済ポインタ４２が等しい場合は、受信情報格納域２９の全ての領域が受信可能領域であり、受信済ポインタ４１が読出済ポインタ４２より大きい場合は、受信位置から読出済位置までの領域が書込可能領域であり、受信済ポインタ４１が読出済ポインタ４２より小さい場合は、受信位置から読出済位置までの領域が書込可能領域である。〕
受信可能領域の領域長と、パケット中の情報の情報長とが比較され、前記領域長が前記情報長より大きいか等しい場合はステップＳ４に進み、小さい場合にはパケットを放棄して処理を終了する。（ステップＳ３）
受信処理部２７により、受信情報格納域２９の受信位置にパケット中の情報が格納され、受信済ポインタ４１が格納された情報長分更新されると共に受信完了の通知が送出される。（ステップＳ４）
受信処理部２７により、前記パケット中の情報番号が受信情報の最終を示しているか否かがチェックされ、最終を示している場合にはステップＳ６に進み、最終を示していない場合にはステップＳ１に戻る。（ステップＳ５）
受信処理部２７が受信プロセス２８から受信情報を待っている旨の通知を受けている、或いは受けた場合にはステップＳ７に進む。（ステップＳ６）
プロセッサ１４上を走行する受信プロセスにより、受信情報格納域２９から受信情報が読み出され、読出済ポインタ４２が受信情報の情報長分更新され、処理を終了する。（ステップＳ７）
尚、本説明では、送信プロセス１８が送信処理部１７を起動し、送信準備完了を通知して送信を指示する場合を例として説明しているが、送信処理部１７が常時書込済ポインタ３１をチェックし、書込済ポインタ３１の状態の変化をもって送信の指示とする方法をとることも出来る。
【００６８】
また、本説明では、受信プロセス２８が受信情報を待っていることを受信処理部２７に通知し、受信処理部２７が受信情報を受信した場合に受信プロセス２８に受信情報を受信した旨の通知がなされる場合を例として説明しているが、受信プロセス２８が常時受信済ポインタ４１をチェックし、受信済ポインタ４１の状態の変化をもって受信の通知とする方法をとることも出来る。
【００６９】
また、送信情報格納域１９及び受信情報格納域２９の各々について、領域を循環的に使用する方法を例として説明しているが、必要に応じ領域を拡張する方法をとることによっても同等の効果を得ることができる。
【００７０】
【発明の効果】
以上説明した様に、本発明によれば送信プロセスから受信プロセスへ情報を送信する場合、送信プロセスが送信情報格納域に書き込んだ送信情報を送信バッファへ一旦格納することなく受信プロセスへ直接送信でき、受信処理部が受信情報を受信バッファへ一旦格納することなく受信情報格納域に直接書き込むことができるため、送信情報格納域から送信バッファへの送信情報の転送が不要となり、また、受信バッファから受信情報格納域への受信情報の転送が不要となり、プロセス間の通信処理に要する時間が短縮されるという著しい工業的効果がある。
【図面の簡単な説明】
【図１】  本発明の原理図
【図２】  本発明の第１の実施の形態構成図
【図３】  本発明の第２の実施の形態構成図
【図４】  本発明の第３の実施の形態構成図
【図５】  本発明の実施の形態送信フローチャート図（その１）
【図６】  本発明の実施の形態送信フローチャート図（その２）
【図７】  本発明の実施の形態受信フローチャート図
【図８】  パケットの形式図
【図９】  ポインタの状態遷移図
【図１０】  従来例の構成図
【図１１】  従来例の送信フローチャート図（その１）
【図１２】  従来例の送信フローチャート図（その２）
【図１３】  従来例の受信フローチャート図
【符号の説明】
１，３  プロセス間送信装置
２，４  プロセス間受信装置
５  プロセス間送受信装置
６  記憶装置
１０  情報送信手段
１１ａ  書込済位置表示手段
１１ｂ  送信済位置表示手段
１２  送信情報保持手段
１３  送信処理手段
１４  プロセッサ
１５  記憶回路
１６  送信回路
１７，３７  送信処理部
１８，３８  送信プロセス
１９，１９’  送信情報格納域
２０  情報受信手段
２１ａ  受信済位置表示手段
２１ｂ  読出済位置表示手段
２２  受信情報保持手段
２３  受信処理手段
２６  受信回路
２７，４７  受信処理部
２８，４８  受信プロセス
２９，２９’  受信情報格納域
３１，３１’  書込済ポインタ
３２，３２’  送信済ポインタ
３９  送信バッファ
４１，４１’  受信済ポインタ
４２，４２’  読出済ポインタ
４９  受信バッファ
【図１】
0004237831.tif 000002
【図２】
0004237831.tif 000003
【図３】
0004237831.tif 000004
【図４】
0004237831.tif 000005
【図５】
0004237831.tif 000006
【図６】
0004237831.tif 000007
【図７】
0004237831.tif 000008
【図８】
0004237831.tif 000009
【図９】
0004237831.tif 000010
【図１０】
0004237831.tif 000011
【図１１】
0004237831.tif 000012
【図１２】
0004237831.tif 000013
【図１３】
0004237831.tif 000014