(57)【要約】【課題】高速アクセスとデータの保証の両方を実現すること。【解決手段】プロセス間のデータ受け渡し時にデータ取り出し側プロセスがデータを取り出せる状態にあるときにはメモリを介してデータを高速に受け渡し、データ取り出し側プロセスがデータを取り出せる状態に無い場合は、一旦ファイルにデータを書き出し、データ取り出し側プロセスがデータ受け取り可能となった際にファイルからデータを取り出す。【選択図】図１
2007249428.tif 000002
【特許請求の範囲】
【請求項１】
データ受け取り側プロセスの状態により、データ通信媒体をメモリとファイルに切り替えることを特徴とするプロセス間データ受渡し装置。
【請求項２】
データ受け取りプロセスがある場合にはメモリを経由し、データ受け取りプロセスがない場合にはファイルを経由してプロセス間のデータ受け渡しをすることを特徴とする請求項１記載のプロセス間データ受渡し装置。
【請求項３】
プロセス間のデータ受け渡し時にデータ取り出し側プロセスがデータを取り出せる状態にあるときにはメモリを介してデータを高速に受け渡し、前記データ取り出し側プロセスがデータを取り出せる状態に無い場合は、一旦ファイルにデータを書き出し、前記データ取り出し側プロセスがデータ受け取り可能となった際にファイルからデータを取り出すことを特徴とするプロセス間データ受渡し装置。
【請求項４】
ファイルへのデータ書き出し中にデータ取り出し側プロセスがデータを取り出せる状態に遷移した場合は、ただちにメモリ上のデータを前記データ取り出し側プロセスに受け渡すことを特徴とする請求項３記載のプロセス間データ受渡し装置。
【請求項５】
データ受け取り側プロセスの状態により、データ通信媒体をメモリとファイルに切り替えることを特徴とするプロセス間データ受渡し方法。
【請求項６】
データ受け取りプロセスがある場合にはメモリを経由し、データ受け取りプロセスがない場合にはファイルを経由してプロセス間のデータ受け渡しをすることを特徴とする請求項５記載のプロセス間データ受渡し方法。
【請求項７】
プロセス間のデータ受け渡し時にデータ取り出し側プロセスがデータを取り出せる状態にあるときにはメモリを介してデータを高速に受け渡し、前記データ取り出し側プロセスがデータを取り出せる状態に無い場合は、一旦ファイルにデータを書き出し、前記データ取り出し側プロセスがデータ受け取り可能となった際にファイルからデータを取り出すことを特徴とするプロセス間データ受渡し方法。
【請求項８】
ファイルへのデータ書き出し中にデータ取り出し側プロセスがデータを取り出せる状態に遷移した場合は、ただちにメモリ上のデータを前記データ取り出し側プロセスに受け渡すことを特徴とする請求項７記載のプロセス間データ受渡し方法。
【請求項９】
コンピュータに請求項１から４のいずれか１項に記載の機能を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス間データの受け渡し媒体にメモリとファイルの両方を使用する技術に関する。
【背景技術】
【０００２】
従来、プロセス間のデータの受け渡しにメモリを使い高速化することがなされている。
【０００３】
ここで、ホストコンピュータに、業務機能を行うプログラムを設け、プログラムには、メッセージ受信プログラムモジュール、メッセージ送信プログラムモジュールを内包させ、メインメモリにメモリファイル部を設け、ディスクにディスクファイルを設け、これに区画されたディスクファイル部を設けることで、プログラム間の通信を行い、メモリファイル部とディスクファイル部を相互連携するためのプログラムを設けることによって、プログラムが、高速で、大量な、かつ多量なメッセージの送受信を行うときに、メモリファイルとディスクファイルを相互連携させるプログラムを設けることで、複数のプログラム間でメッセージの送受信を行うことができるようにする技術が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平７−２４８９２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来例においては次のような問題点があった。
【０００５】
メモリのみを使用したプロセス間のデータ受け渡しの場合、コンピュータシステムがダウンした場合にプロセス間の受け渡しデータが保証されない。
【０００６】
また、ファイルのみを利用したプロセス間のデータ受け渡しの場合、メモリを使用したプロセス間のデータ受け渡しに比べて処理速度が遅いという問題があった。
【０００７】
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、高速アクセスとデータの保証の両方を実現することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、データ受け取り側プロセスの状態により、データ通信媒体をメモリとファイルに切り替えるプロセス間データ受渡し装置を提供する。
【０００９】
また、本発明は、プロセス間のデータ受け渡し時にデータ取り出し側プロセスがデータを取り出せる状態にあるときにはメモリを介してデータを高速に受け渡し、前記データ取り出し側プロセスがデータを取り出せる状態に無い場合は、一旦ファイルにデータを書き出し、前記データ取り出し側プロセスがデータ受け取り可能となった際にファイルからデータを取り出すプロセス間データ受渡し装置を提供する。
【００１０】
また、本発明は、データ受け取り側プロセスの状態により、データ通信媒体をメモリとファイルに切り替えるプロセス間データ受渡し方法を提供する。
【００１１】
また、本発明は、プロセス間のデータ受け渡し時にデータ取り出し側プロセスがデータを取り出せる状態にあるときにはメモリを介してデータを高速に受け渡し、前記データ取り出し側プロセスがデータを取り出せる状態に無い場合は、一旦ファイルにデータを書き出し、前記データ取り出し側プロセスがデータ受け取り可能となった際にファイルからデータを取り出すプロセス間データ受渡し方法を提供する。
【発明の効果】
【００１２】
本発明によれば、高速アクセスとデータの保証の両方を実現することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１４】
図１を参照すると、本実施の形態におけるプロセス間データ受渡し装置は、データ送信手段１と、メモリ制御手段２と、データ取り出し手段３と、バックアップ手段４とから構成されている。
【００１５】
ここで、データ送信手段１は、データ送信元プロセスからの要求を受け付け、メモリ制御手段２にデータを引き渡す。また、データ送信手段１はメモリ制御手段２からの処理完了通知をもらうまではデータ送信元プロセスに制御を戻さない。
【００１６】
メモリ制御手段２はデータの取り出しを待っているデータ取り出し手段３がある場合、データ取り出し手段３に取り出すべきデータがあることを通知する。また、データの取り出しを待っているデータ取り出し手段３が無い場合、メモリ制御手段２はバックアップ手段４に対してファイルへのデータの書き込みを通知する。
【００１７】
データ取り出し手段３はデータ取り出しプロセスの要求があった時点でメモリ制御手段２からデータの取り出しを行い、データ取り出しプロセスにデータの引き渡しが完了した時点で、メモリ制御手段２に処理の完了を通知する。
【００１８】
バックアップ手段４は、メモリ制御手段２からの通知をうけてデータをファイルに保存し、保存が完了した時点でメモリ制御手段２に対して処理完了を通知する。メモリ制御手段２は、データ取り出し手段３またはバックアップ手段４からの処理完了通知を受けて、データ送信手段１に処理完了通知を送る。
【００１９】
次に、本実施の形態の動作について図２を参照して説明する。
【００２０】
データ送信元プロセスからデータ送信手段１に対してデータ送信要求が発行される（ステップＡ１）。
【００２１】
データ送信手段１はメモリ制御手段２にデータを引き渡す（ステップＡ２）。
【００２２】
データ取り出し手段３がデータ取り出し待ち状態の場合、メモリ制御手段２は待ち状態のデータ取り出し手段３にデータを引き渡す（ステップＡ３）。
【００２３】
データ取り出し手段３はデータ取り出しプロセスにデータを引き渡し（ステップＡ４）、その後メモリ制御手段２に処理完了を通知する（ステップＡ５）。
【００２４】
メモリ制御手段２はデータ取り出し手段３の処理完了を受けてデータ送信手段１に対して処理完了を通知する（ステップＡ６）。
【００２５】
データ送信手段１はデータ送信元プロセスに制御を戻す（ステップＡ７）。
【００２６】
データ取り出し待ち状態のデータ取り出し手段３がない場合、メモリ制御手段２はバックアップ手段４にデータを引き渡す（ステップＡ８）。
【００２７】
バックアップ手段４はデータをファイルに書き込んだ後（ステップＡ９）、メモリ制御手段２に処理完了を通知する（ステップＡ１０）。
【００２８】
メモリ制御手段２はバックアップ手段４からの処理完了通知を受けてデータ送信手段１に対して処理完了を通知する（ステップＡ１１）。
【００２９】
データ送信手段１はデータ送信元プロセスに制御を戻す（ステップＡ１２）。
【００３０】
メモリ制御手段２がバックアップ手段４からの完了通知待ちの間（ステップＡ９処理中）に、データ取り出し手段３からの取り出し要求があった場合には、データ取り出し手段３に対してもデータを引き渡し、バックアップ手段４またはデータ取り出し手段３いずれかからの完了通知を受け取った時点でデータ送信手段１に対して処理の完了通知を行う。
【００３１】
上記の本実施の形態によれば、データ取り出し待ちプロセスがある場合は、メモリのみを使用することにより通常のメモリアクセスと同等の高速処理を実現する。データ取り出し待ちプロセスが無い場合はプロセス間通信データをファイルに保持することによりデータの保証を実現する。また、ファイルへの書き出し中であっても、プロセスからのデータ取り出し要求があれば即時にメモリからデータを受け渡すことにより、メモリアクセスと同等の応答速度を確保する。すなわち、データ取り出し側プロセスの有無によりメモリ方式／ファイル方式を切り替えることにより、高速アクセスとデータの保証の両方を実現することができる。
【００３２】
なお、本実施の形態では、データ送信元プロセスから送信されたデータが、取り出し側プロセスに引き渡されるか、バックアップ手段経由で外部記憶装置に退避されるかのいずれかの条件が満たされていなければ、データ送信元プロセスは次の処理を行うことができないのである。すなわち、データ送信元プロセスからみれば、データ送信手段１から制御が戻った時点で、送信したデータがシステム障害等により消失しないことが保障されている。
【００３３】
次に、本発明の第２の実施の形態について、図面を参照して説明する。
【００３４】
図３を参照すると、本実施形態は、図１に示された第１の実施の形態におけるデータ送信元プロセスが、データ送信元プロセスＡとデータ送信元プロセスＢの２つから構成さている。また、データ取り出しプロセスもデータ取り出しプロセスＸとデータ取り出しプロセスＹの２プロセスで構成されている。図３に示す通り本実施の形態では、データ送信元プロセス、データ受け取りプロセスが複数の場合においても効果がある。
【００３５】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、プロセス間データ受渡し装置の機能を実現するためのプログラムを本装置に読込ませて実行することにより各手段の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。
【００３６】
上述する各実施の形態は、プロセス間データ受渡し装置が１つのコンピュータシステムとして実現されている構成について説明したが、各機能毎に複数の装置などが追加された構成にも適用可能であることはもちろんである。
【００３７】
また、本発明は、マルチプロセスが可能であるオペレーティングシステムにおけるプロセス間のデータ通信に利用することが可能である。
【図面の簡単な説明】
【００３８】
【図１】本発明の第１の実施の形態におけるプロセス間データ受渡し装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態における処理動作を示すフローチャートである。
【図３】本発明の第２の実施の形態におけるプロセス間データ受渡し装置の構成を示すブロック図である。
【符号の説明】
【００３９】
１    データ送信手段
２    メモリ制御手段
３    データ取り出し手段
４    バックアップ手段
【図１】
2007249428.tif 000003
【図２】
2007249428.tif 000004
【図３】
2007249428.tif 000005