(57)【要約】      （修正有）【課題】自計算機上に存在しないデータベースへのデータ参照および更新を無駄なリソースを使用せずに高速に行い、データベースへアクセスする計算機に関係なくデータ更新に連動した処理を即時に行うことを可能とする。【解決手段】リモート計算機Ｃ−Ｒからマスター計算機Ｃ−Ｍのデータを参照および更新し、更新内容によりイベント通知を行うようにした複数計算機間のデータ管理方法において、各リモート計算機の前記モード管理手段１１Ｒは、マスター計算機からのマスター計算機情報により、送信元がマスター計算機であることの認識を行い、リモート計算機のテーブル管理手段１３Ｒは、自計算機内のアプリケーション１９Ｒがデータにアクセスしたとき、当該要求データがデータベース１２Ｒに存在しない場合にはダウンロードし、更に、ダウンロードしたテーブルデータがアプリケーションによって利用されていない場合には当該データを削除する。【選択図】図１
2007025781.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数の計算機のうち、特定の計算機をマスターモードで運用するマスター計算機とし、その他の計算機をリモートモードで運用するリモート計算機とし、前記マスター計算機およびリモート計算機の双方にモード管理手段、データベース、テーブルデータ送受信手段、キャッシュデータ処理手段、マスター更新通信手段、イベント管理手段、レプリケーション送受信手段およびアプリケーションをそれぞれ備え、かつ、リモート計算機には更にテーブル管理手段を備えることにより、前記リモート計算機から前記マスター計算機のデータを参照および更新し、更新内容によりイベント通知を行うようにした複数計算機間のデータ管理方法において、
前記各リモート計算機の前記モード管理手段は、前記マスター計算機の前記モード管理手段から送信されてくるマスター計算機情報により、送信元がマスター計算機であることの認識を行い、
前記リモート計算機の前記テーブル管理手段は、自計算機内のアプリケーションがデータにアクセスしたとき、自計算機のデータベースに当該要求されたデータが存在するか否かを判断し、当該要求データが存在しない場合には、前記テーブルデータ送受信手段によりダウンロードし、更に、当該ダウンロードしたテーブルデータがアプリケーションによって利用されているか否かを管理し、利用されていない場合には当該データを削除し、
前記マスター計算機の前記キャッシュデータ処理手段は、更新キャッシュを前記レプリケーション送受信手段により前記各リモート計算機に送信し、
前記リモート計算機の前記キャッシュデータ処理手段は、アプリケーションがデータ更新したデータ内容を更新キャッシュとして保持し、アプリケーションからのコミット要求を受けて、当該更新キャッシュを前記マスター更新通信手段によりマスター計算機に送り、マスター計算機からの応答を受けた後に、前記データベース内のテーブルデータへ書き込み、レプリケーション受信またはマスター更新受信応答に合わせて、データの更新内容を各アプリケーションに通知する前記イベント管理手段へ通知を行うことにより、リモート計算機でマスター計算機と同等にアプリケーションがデータを参照または更新し更新内容を利用できるようにしたことを特徴とする複数計算機間のデータ管理方法。
【請求項２】
リモート計算機の前記テーブル管理手段は、リモート計算機でのデータの利用頻度、データサイズを含むデータの利用状況に合わせて判断し、ダウンロードされたデータの抹消タイミングを決定することを特徴とする請求項１記載の複数計算機間のデータ管理方法。
【請求項３】
リモート計算機の前記キャッシュデータ処理手段は、マスター計算機からの受信応答後、リモート計算機のデータベースに更新内容を反映するタイミングで前記イベント管理手段に更新詳細内容を通知し、マスター計算機での更新結果としてのレプリケーションを受信したとき、リモート計算機側の状態によってレプリケーションからの更新内容をイベント処理手段に通知するか否かを判断することを特徴とする請求項１または２記載の複数計算機間のデータ管理方法。
【請求項４】
前記キャッシュデータ処理手段は、レプリケーション反映時にレプリケーションの更新内容をイベント管理手段に通知するか否かの判断を行う際、既にあるデータの値とレプリケーションで反映するデータとが同一のときはイベント処理を行わないことを特徴とする請求項３記載の複数計算機間のデータ管理方法。
【請求項５】
前記キャッシュデータ処理手段は、レプリケーション反映時にレプリケーションの更新内容をイベント管理手段に通知するか否かの判断を行う際、既にリモート計算機としてマスター計算機からの応答受信時にイベント処理しているデータ更新の場合はイベント処理を行わないことを特徴とする請求項３記載の複数計算機間のデータ管理方法。
【請求項６】
前記キャッシュデータ処理手段は、前記イベント管理手段に更新詳細内容を通知するとき、マスター計算機からの受信応答後のリモート計算機のデータベースに更新内容を反映するタイミングでイベント管理に更新詳細内容を通知せず、マスター計算機で更新された結果としてレプリケーションを受信しデータ反映するイベント管理手段にイベントを通知することを特徴とする請求項１または２記載の複数計算機間のデータ管理方法。
【請求項７】
ネットワークを介して接続された複数の計算機のうち、特定の計算機をマスターモードで運用するマスター計算機とし、その他の計算機をリモートモードで運用するリモート計算機とし、前記マスター計算機およびリモート計算機の双方にモード管理手段、データベース、テーブルデータ送受信手段、キャッシュデータ処理手段、マスター更新通信手段、イベント管理手段、レプリケーション送受信手段およびアプリケーションをそれぞれ備え、かつ、リモート計算機には更にテーブル管理手段を備えることにより、前記リモート計算機から前記マスター計算機のデータを参照および更新し、更新内容によりイベント通知を行うようにした複数計算機間のデータ管理システムにおいて、
前記各リモート計算機の前記モード管理手段は、前記マスター計算機の前記モード管理手段から送信されてくるマスター計算機情報により、送信元がマスター計算機であることの認識を行い、
前記リモート計算機の前記テーブル管理手段は、自計算機内のアプリケーションがデータにアクセスしたとき、自計算機のデータベースに当該要求されたデータが存在するか否かを判断し、当該要求データが存在しない場合には、前記テーブルデータ送受信手段によりダウンロードし、更に、当該ダウンロードしたテーブルデータがアプリケーションによって利用されているか否かを管理し、利用されていない場合には当該データを削除し、
前記マスター計算機の前記キャッシュデータ処理手段は、更新キャッシュを前記レプリケーション送受信手段により前記各リモート計算機に送信し、
前記リモート計算機の前記キャッシュデータ処理手段は、アプリケーションがデータ更新したデータ内容を更新キャッシュとして保持し、アプリケーションからのコミット要求を受けて、当該更新キャッシュを前記マスター更新通信手段によりマスター計算機に送り、マスター計算機からの応答を受けた後に、前記データベース内のテーブルデータへ書き込み、レプリケーション受信またはマスター更新受信応答に合わせて、データの更新内容を各アプリケーションに通知する前記イベント管理手段へ通知を行うことにより、リモート計算機でマスター計算機と同等にアプリケーションがデータを参照または更新し更新内容を利用できるようにしたことを特徴とする複数計算機間のデータ管理システム。
【請求項８】
リモート計算機の前記キャッシュデータ処理部は、マスター計算機からの受信応答後、リモート計算機のデータベースに更新内容を反映するタイミングで前記イベント管理手段に更新詳細内容を通知し、マスター計算機での更新結果としてのレプリケーションを受信したとき、リモート計算機側の状態によってレプリケーションからの更新内容をイベント処理手段に通知するか否かを判断することを特徴とする請求項７記載の複数計算機間のデータ管理システム。
【請求項９】
前記キャッシュデータ処理部は、前記イベント管理部に更新詳細内容を通知するとき、マスター計算機からの受信応答後のリモート計算機のデータベースに更新内容を反映するタイミングでイベント管理に更新詳細内容を通知せず、マスター計算機で更新された結果としてレプリケーションを受信しデータ反映するイベント管理部にイベントを通知することを特徴とする請求項７記載の複数計算機間のデータ管理システム。
【請求項１０】
ネットワークを介して接続された複数の計算機のうち、特定の計算機をマスターモードで運用するマスター計算機とし、その他の計算機をリモートモードで運用するリモート計算機とし、前記リモート計算機から前記マスター計算機のデータを参照および更新し、更新内容によりイベント通知を行うようにした複数計算機間のデータ管理システムにおけるマスター計算機およびリモート計算機を、
マスター計算機から送信されてくるマスター計算機情報により、送信元がマスター計算機であることの認識を行う各リモート計算機側モード管理手段、
自計算機内のアプリケーションがデータにアクセスしたとき、自計算機のデータベースに当該要求されたデータが存在するか否かを判断し、当該要求データが存在しない場合にはダウンロードし、更に、当該ダウンロードしたテーブルデータがアプリケーションによって利用されているか否かを管理し、利用されていない場合には当該データを削除するリモート計算機側テーブル管理手段、
更新キャッシュを各リモート計算機に送信するマスター計算機側キャッシュデータ処理手段、
アプリケーションがデータ更新したデータ内容を更新キャッシュとして保持し、アプリケーションからのコミット要求を受けて、当該更新キャッシュを前記マスター更新通信手段によりマスター計算機に送り、マスター計算機からの応答を受けた後に、前記データベース内のテーブルデータへ書き込み、レプリケーション受信またはマスター更新受信応答に合わせて、データの更新内容を各アプリケーションに通知する前記イベント管理手段へ通知を行い、リモート計算機でマスター計算機と同等にアプリケーションがデータを参照または更新し更新内容を利用できるようにするリモート計算機側キャッシュデータ処理手段、
として機能させるための複数計算機間のデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された複数計算機間でデータ内容を同一に保つためのデータ管理方法およびシステム、ならびにそのプログラムに係り、特に、複数計算機のうちの特定の計算機をマスターモード、他の計算機をリモートモードとしてそれぞれ運用する場合におけるリモート計算機のデータ管理方法およびシステム、ならびにそのプログラムに関する。
【背景技術】
【０００２】
ネットワークを介して互いに接続された複数の計算機間でデータ内容を同一に保つ分散データ等価システムにおいては、一般にレプリカ計算機と称するいわゆるリモート計算機でのデータ更新が可能であり、リモート計算機はマスター計算機で保持しているデータを全て保持し、マスター計算機でのデータ変更分をリモート計算機にレプリケーションすることでデータの内容を同一に保つようにしている。それと同時にリモート計算機でのデータ更新要求が発生した場合、マスター計算機へデータ更新要求を転送し、更新要求に対するマスター計算機のデータ更新およびレプリケーション完了によりリモート計算機側のデータ更新を行うようにしている（例えば、特許文献１参照）。
【特許文献１】特開２００２−２９７４２８公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前記特許文献１に記載の手法では、リモート計算機は、マスター計算機内の全データを保持するため、リモート計算機で使用しないデータも存在し、無駄なリソースを使用していた。また、マスター計算機およびリモート計算機の両方でデータ更新を行うことが可能であるが、リモート計算機でのデータ更新時は、レプリケーション通信により発生する遅延時間だけリモート計算機のデータ更新完了が遅れていた。
【０００４】
分散データ管理システムでは、マスター計算機またはリモート計算機でのデータ更新に連動したアプリケーションが要望されている。そのため、リモート計算機でのリモート更新の投機実行またはマスター計算機でのデータ更新に即時に連動してイベントを発生させる必要がある。その際、リモート計算機で発生するイベントについては、リモート計算機のデータの更新状況に応じて発生させる必要がある。
【０００５】
そこで、本発明の目的は、上述した従来技術の課題を解決するためになされたもので、自計算機上に存在しないデータベースへのデータ参照および更新を無駄なリソースを使用せずに高速に行い、データベースへアクセスする計算機に関係なくデータ更新に連動した処理を即時に行うことが可能な複数計算機間のデータ管理方法およびシステム、ならびにそのプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、請求項１に係る複数計算機間のデータ管理方法の発明は、ネットワークを介して接続された複数の計算機のうち、特定の計算機をマスターモードで運用するマスター計算機とし、その他の計算機をリモートモードで運用するリモート計算機とし、前記マスター計算機およびリモート計算機の双方にモード管理手段、データベース、テーブルデータ送受信手段、キャッシュデータ処理手段、マスター更新通信手段、イベント管理手段、レプリケーション送受信手段およびアプリケーションをそれぞれ備え、かつ、リモート計算機には更にテーブル管理手段を備えることにより、前記リモート計算機から前記マスター計算機のデータを参照および更新し、更新内容によりイベント通知を行うようにした複数計算機間のデータ管理方法において、前記各リモート計算機の前記モード管理手段は、前記マスター計算機の前記モード管理手段から送信されてくるマスター計算機情報により、送信元がマスター計算機であることの認識を行い、前記リモート計算機の前記テーブル管理手段は、自計算機内のアプリケーションがデータにアクセスしたとき、自計算機のデータベースに当該要求されたデータが存在するか否かを判断し、当該要求データが存在しない場合には、前記テーブルデータ送受信手段によりダウンロードし、更に、当該ダウンロードしたテーブルデータがアプリケーションによって利用されているか否かを管理し、利用されていない場合には当該データを削除し、前記マスター計算機の前記キャッシュデータ処理手段は、更新キャッシュを前記レプリケーション送受信手段により前記各リモート計算機に送信し、前記リモート計算機の前記キャッシュデータ処理手段は、アプリケーションがデータ更新したデータ内容を更新キャッシュとして保持し、アプリケーションからのコミット要求を受けて、当該更新キャッシュを前記マスター更新通信手段によりマスター計算機に送り、マスター計算機からの応答を受けた後に、前記データベース内のテーブルデータへ書き込み、レプリケーション受信またはマスター更新受信応答に合わせて、データの更新内容を各アプリケーションに通知する前記イベント管理手段へ通知を行うことにより、リモート計算機でマスター計算機と同等にアプリケーションがデータを参照または更新し更新内容を利用できるようにしたことを特徴とする。
【０００７】
また、請求項７に係る複数計算機間のデータ管理システムの発明は、ネットワークを介して接続された複数の計算機のうち、特定の計算機をマスターモードで運用するマスター計算機とし、その他の計算機をリモートモードで運用するリモート計算機とし、前記マスター計算機およびリモート計算機の双方にモード管理手段、データベース、テーブルデータ送受信手段、キャッシュデータ処理手段、マスター更新通信手段、イベント管理手段、レプリケーション送受信手段およびアプリケーションをそれぞれ備え、かつ、リモート計算機には更にテーブル管理手段を備えることにより、前記リモート計算機から前記マスター計算機のデータを参照および更新し、更新内容によりイベント通知を行うようにした複数計算機間のデータ管理システムにおいて、前記各リモート計算機の前記モード管理手段は、前記マスター計算機の前記モード管理手段から送信されてくるマスター計算機情報により、送信元がマスター計算機であることの認識を行い、前記リモート計算機の前記テーブル管理手段は、自計算機内のアプリケーションがデータにアクセスしたとき、自計算機のデータベースに当該要求されたデータが存在するか否かを判断し、当該要求データが存在しない場合には、前記テーブルデータ送受信手段によりダウンロードし、更に、当該ダウンロードしたテーブルデータがアプリケーションによって利用されているか否かを管理し、利用されていない場合には当該データを削除し、前記マスター計算機の前記キャッシュデータ処理手段は、更新キャッシュを前記レプリケーション送受信手段により前記各リモート計算機に送信し、前記リモート計算機の前記キャッシュデータ処理手段は、アプリケーションがデータ更新したデータ内容を更新キャッシュとして保持し、アプリケーションからのコミット要求を受けて、当該更新キャッシュを前記マスター更新通信手段によりマスター計算機に送り、マスター計算機からの応答を受けた後に、前記データベース内のテーブルデータへ書き込み、レプリケーション受信またはマスター更新受信応答に合わせて、データの更新内容を各アプリケーションに通知する前記イベント管理手段へ通知を行うことにより、リモート計算機でマスター計算機と同等にアプリケーションがデータを参照または更新し更新内容を利用できるようにしたことを特徴とする。
【０００８】
更に、請求項１０に係る複数計算機間のデータ管理プログラムの発明は、ネットワークを介して接続された複数の計算機のうち、特定の計算機をマスターモードで運用するマスター計算機とし、その他の計算機をリモートモードで運用するリモート計算機とし、前記リモート計算機から前記マスター計算機のデータを参照および更新し、更新内容によりイベント通知を行うようにした複数計算機間のデータ管理システムにおけるマスター計算機およびリモート計算機を、マスター計算機から送信されてくるマスター計算機情報により、送信元がマスター計算機であることの認識を行う各リモート計算機側モード管理手段、自計算機内のアプリケーションがデータにアクセスしたとき、自計算機のデータベースに当該要求されたデータが存在するか否かを判断し、当該要求データが存在しない場合にはダウンロードし、更に、当該ダウンロードしたテーブルデータがアプリケーションによって利用されているか否かを管理し、利用されていない場合には当該データを削除するリモート計算機側テーブル管理手段、更新キャッシュを各リモート計算機に送信するマスター計算機側キャッシュデータ処理手段、アプリケーションがデータ更新したデータ内容を更新キャッシュとして保持し、アプリケーションからのコミット要求を受けて、当該更新キャッシュを前記マスター更新通信手段によりマスター計算機に送り、マスター計算機からの応答を受けた後に、前記データベース内のテーブルデータへ書き込み、レプリケーション受信またはマスター更新受信応答に合わせて、データの更新内容を各アプリケーションに通知する前記イベント管理手段へ通知を行い、リモート計算機でマスター計算機と同等にアプリケーションがデータを参照または更新し更新内容を利用できるようにするリモート計算機側キャッシュデータ処理手段、として機能させることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、リモート計算機ではアプリケーションが必要とするテーブルデータのみをマスター計算機よりダウンロードし、不要となったテーブルデータは削除する。またアプリケーションからのコミット要求を受けた場合には、マスター計算機に更新キャッシュを送り、マスター計算機からの応答を受け、データベース内のテーブルデータへの書き込み及びイベント通知を行うため、マスター計算機からのレプリケーション受信前にデータベース内のテーブルデータへの書き込み及びイベント通知を行うことができるので、自計算機上に存在しないデータベースへのデータ参照および更新を無駄なリソースを使用せずに高速に行い、データベースへアクセスする計算機に関係なくデータ更新に連動した処理を即時に行うことが可能な複数計算機間のデータ管理方法およびシステム、ならびにそのプログラムを得ることができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明に係る複数計算機間のデータ管理方法およびシステム、ならびにそのプログラムの実施の形態について説明する。なお、各実施の形態において、同一部分には同一の符号を付し、重複する説明は省略する。
【００１１】
まず、発明の実施の形態の説明に入る前に、本明細書中で使用する重要な用語について説明する。
【００１２】
（１）「マスター計算機」；データベースの更新権限を持つ計算機のことを指す。
通常は、ネットワークで接続されたシステムの中で特定の１台がマスター計算機として運用される。
【００１３】
（２）「リモート計算機」；マスター計算機のデータベースの複製を保持している計算機のことを指す。
この計算機は、データベース内の一部または全体のデータをマスター計算機から取得し、操作する。
【００１４】
（３）「リモートデータ」；ネットワークで接続された複数の計算機のうち、他計算機上にあるデータを指し、自計算機上にあるデータを指す「ローカルデータ」に対応した呼称である。
【００１５】
（４）「更新キャッシュ」；アプリケーションで行われたデータ更新内容を差分情報として溜めておく領域およびそのデータ内容を指す。
【００１６】
（５）「データ更新」；アプリケーションによるデータ更新とは、データの書き換え、追加、削除等の操作を指す。
【００１７】
これらの操作を行うと、通常は、一旦更新キャッシュに溜められるので、即座にデータファイルに変更が加えられることがない。１つのアプリケーションがデータ更新したとき、コミット無しでは、他のアプリケーションには、データ更新した結果が見えない。
【００１８】
（６）「コミット」；更新キャッシュに溜められたデータ更新の結果を、複数のアプリケーションが共有するデータファイルに反映することを指す。
コミットして初めて、他のアプリケーションにもデータ更新結果が見える。
【００１９】
（７）「レプリケーション」；マスター計算機にてデータファイルが変更されたとき、変更内容を１つまたは複数のリモート計算機に送信することを指す。同一の送信内容を複数の計算機に同時送信する。
【００２０】
（８）「一斉同報通信」；複数の計算機に対して送信を同時一斉に行うことを指す。
受信側の受信状況に拘わらず送信する一方的な通信である。複数の計算機が、特定のグループである場合と、不特定多数である場合がある。ＩＰ網では、マルチキャスト通信、マルチブロードキャスト通信が実際例である。
【００２１】
（９）「イベント」；データベース内容に変更が行われた際に、アプリケーションへ変更が行われたこと及び、変更されたデータの情報を通知することを指す。
【００２２】
次に各発明に係る実施の形態について説明する。
（実施の形態１）
[構成]
図１ないし図９、および図１７を参照して本発明の実施の形態１について説明する。  
図１７は、複数の計算機をネットワーク回線を介して接続した状態を表す構成図である。図１７において、ネットワーク回線を介して接続された複数の計算機のうち、特定の計算機Ｃ−Ｍをマスターモードで運用するマスター計算機とし、残りの計算機Ｃ−Ｒ１、Ｃ−Ｒ２、・・・Ｃ−Ｒｎをリモートモードで運用するリモート計算機とし、マスター計算機にはデータが格納されていて、リモート計算機からマスター計算機のデータを参照および更新することにより、マスター計算機、リモート計算機間でデータ内容を同一に保つようにしている。
【００２３】
図１は、本実施の形態１によるリモートデータ参照および更新、イベント処理方法を説明するためのマスター計算機およびリモート計算機の構成図である。なお、リモート計算機は複数台描くと図面が煩雑になるので、ここでは１台のみ描いている。
【００２４】
図１において、マスター計算機Ｃ−Ｍは、モード管理部１１Ｍと、データベース１２Ｍと、テーブルデータ送受信部１４Ｍと、キャッシュデータ処理部１５Ｍと、マスター更新通信部１６Ｍと、イベント管理部１７Ｍと、レプリケーション送受信部１８Ｍと、アプリケーション１９Ｍとを備えている。
【００２５】
一方、リモート計算機Ｃ−Ｒは、モード管理部１１Ｒと、データベース１２Ｒと、テーブル管理部１３Ｒと、テーブルデータ送受信部１４Ｒと、キャッシュデータ処理部１５Ｒと、マスター更新通信部１６Ｒと、イベント管理部１７Ｒと、レプリケーション送受信部１８Ｒと、アプリケーション１９Ｒとを備えている。
【００２６】
次に、図１に記載の各構成要件の機能について説明する。  
マスター計算機Ｃ−Ｍのモード管理部１１Ｍは、自計算機がマスター計算機である旨の情報を、ネットワーク回線ＮＷを介して一斉同報通信により不特定多数のリモート計算機Ｃ−Ｒへ送信する。これに対して各リモート計算機Ｃ−Ｒでは、マスター計算機Ｃ−Ｍから送信されてきた情報をモード管理部１１Ｒで受信することによって送信元がマスター計算機Ｃ−Ｍであるとの認識を行い、そして受信したマスター計算機情報をテーブル管理部１３Ｒ、マスター更新通信部１６Ｒおよびレプリケーション送受信部１８Ｒに通知する。
【００２７】
ところで、データベース１２Ｍ、１２Ｒ内には、１または複数のデータが格納されている。図２はデータベース内に格納されているデータ構造の例を示す図であり、図２（ａ）はテーブルＡを、また図２（ｂ）はテーブルＢをそれぞれ格納している様子を示している。各テーブルＡ、Ｂは共に行と列とからなる表形式データであり、計算機間で一意に識別するための名称を与えられており、この名称により個々のテーブルの識別を行うことができるようになっている。この名称はテーブルを一意に識別できるものであればよく、番号を与えることでも良い。
【００２８】
本実施の形態ではデータベース１２Ｍ、１２Ｒ内のデータは表形式のテーブルとしているが、データは表形式のテーブルデータに限らず、データ内容の追加、削除、更新、参照を行うことが可能な形式であれば他の表現形式のデータ例えば、ネットワーク型データやオブジェクト指向型データ等の他の表現形式のデータでもよい。
【００２９】
テーブル管理部１３Ｒは、リモート計算機Ｃ−Ｒ内にのみに設けてあり、図３に示すようなテーブル状態表を管理する。テーブル状態表には、テーブル名称（例えば、テーブルＡ、Ｂ、Ｄ）と各テーブルの参照数（例えば、３、１、５）が記載されている。テーブル管理部１３Ｒは、自計算機Ｃ−Ｒ内のアプリケーション１９Ｒからの要求を受け、自計算機Ｃ−Ｒのデータベース１２Ｒ内に要求されたテーブルが存在するか否かを確認する。テーブル管理部１３Ｒは、当該要求テーブルがデータベース１２Ｒに存在しないことを確認した場合には、テーブルデータ送受信部１４Ｒ、ネットワーク回線ＮＷを介してテーブルデータ送受信部１４Ｍにテーブルデータ取得要求を行い、マスター計算機Ｃ−Ｍ内のデータベース１２Ｍから必要なテーブルデータを取得し、データベース１２Ｒ内に格納する。そして、アプリケーション１９Ｒが利用しなくなったテーブルをデータベース１２Ｒから削除する。
【００３０】
マスター計算機Ｃ−Ｍのテーブルデータ送受信部１４Ｍは、ネットワーク回線ＮＷを介してテーブルデータ送受信部１４Ｒからのテーブルデータ取得要求を受けることによって、当該取得要求を受けたテーブルデータをデータベース１２Ｍから取得する。そして取得したテーブルデータをネットワーク回線ＮＷを介してテーブルデータ送受信部１４Ｒに送信する。
【００３１】
リモート計算機Ｃ−Ｒのテーブルデータ送受信部１４Ｒは、テーブル管理部１３Ｒからの要求を受け、マスター計算機Ｃ−Ｍのテーブルデータ送受信部１４Ｍに対するテーブルデータ取得要求、およびテーブルデータ取得を行う。
【００３２】
リモート計算機Ｃ−Ｒのキャッシュデータ処理部１５Ｒは、アプリケーション１９Ｒがデータ更新したデータ内容を図４に示すような更新キャッシュとして保持する。更新キャッシュはテーブル名称（例えば、テーブルＡ、Ａ、Ｂ、Ｂ、Ｂ）、行番号（２、３、２、２、３）、列番号（２、２、１、２、１）、シリアル番号値、変更後データ値により管理されるようになっている。
【００３３】
マスター計算機Ｃ−Ｍのキャッシュデータ処理部１５Ｍは、アプリケーション１９Ｍ及びマスター更新通信部１６Ｍからのコミット要求を受けてデータベース１２Ｍ内の該当テーブルに更新キャッシュを反映させるとともに、更新情報をイベント管理部１７Ｍに通知し、更にレプリケーション送受信部１８Ｍ、ネットワーク回線ＮＷを介して各リモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒへレプリケーション送信する。
【００３４】
リモート計算機Ｃ−Ｒのキャッシュデータ処理部１５Ｒは、アプリケーション１９Ｒからのコミット要求を受けて、更新キャッシュをマスター更新通信部１６Ｒに通知する。そして、マスター更新通信部１６Ｒからの応答を受けた後に、データベース１２Ｒ内のテーブルデータへのデータ反映を行い、イベント管理部１７Ｒへ通知を行う。また、キャッシュデータ処理部１５Ｒはレプリケーション送受信部１８Ｒからレプリケーションされた更新キャッシュデータをデータベース１２Ｒ内の該当テーブルに反映させ、イベント管理部１７Ｒへ通知を行う。
【００３５】
マスター計算機Ｃ−Ｍのマスター更新通信部１６Ｍは、リモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒからの投機実行要求を受け、応答を返すと共に受信した更新キャッシュをキャッシュデータ処理部１５Ｍへ渡す。リモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒは、キャッシュデータ処理部１５Ｒからの要求を受け、マスター計算機Ｃ−Ｍのマスター更新通信部１６Ｍへ更新キャッシュを送信し投機実行要求を行い、マスター計算機Ｃ−Ｍからの応答を待つ。しかる後マスター計算機Ｃ−Ｍからの応答を受けてキャッシュデータ処理部１５Ｒへ通知する。
イベント管理部１７Ｒはキャッシュデータ処理部１５Ｒより通知を受けた更新情報をイベント情報として管理すると共に、通知の必要なアプリケーション１９Ｒへ通知する。
【００３６】
マスター計算機Ｃ−Ｍのレプリケーション送受信部１８Ｍは、キャッシュデータ処理部１５Ｍからの要求を受けてリモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒへレプリケーションデータとして送信する。リモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒは、マスター計算機Ｃ−Ｍのレプリケーション送受信部１８Ｍよりレプリケーションデータを受信し、受信したレプリケーションデータをキャッシュデータ処理部１５Ｒへ通知する。
【００３７】
[作用]
次に、図５ないし図９のフローチャートを更に参照して本実施の形態１における通常時の動作、すなわち、リモートデータ参照/更新およびイベント処理方法について説明する。
図５はリモート計算機Ｃ−Ｒのデータベース１２Ｒ内のテーブルファイルを操作する際の開始処理を示すフローチャートである。
【００３８】
初期時にはリモート計算機Ｃ−Ｒのデータベース１２Ｒ内には、テーブルデータが１つもない状態にあるものとする。
この状態において、まず、アプリケーション１９Ｒがテーブル管理部１３Ｒへテーブルファイル取得要求を行う。すると、テーブル管理部１３Ｒは図３のテーブル状態表を参照して当該テーブルを既に取得済か否かを確認する（S501）。当該テーブルを既に取得済である場合（S501の“Yes”）は、テーブル状態表の当該テーブルのエントリについて参照数を１加算する（S502）。
【００３９】
しかし、当該テーブルが取得済みでない場合（S501の“No”）にはテーブル管理部１３Ｒはテーブルデータ送受信部１４Ｒに対して当該テーブルのダウンロード要求を行う。テーブルデータ送受信部１４Ｒは、ネットワーク回線ＮＷを介してマスター計算機Ｃ−Ｍのテーブルデータ送受信部１４Ｍへ当該テーブルデータの取得要求を行う。マスター計算機Ｃ−Ｍでは、テーブルデータ送受信部１４Ｍがこの取得要求を受信してデータベース１２Ｍにアクセスし、共有データ中から当該テーブルのデータを取得する。そして、ネットワーク回線ＮＷを介してデータをリモート計算機Ｃ−Ｒのテーブルデータ送受信部１４Ｒに送信する。リモート計算機Ｃ−Ｒのテーブルデータ送受信部１４Ｒはマスター計算機Ｃ−Ｍのテーブルデータを受信し、そのデータ内容をテーブル管理部１３Ｒへ通知する（S503）。
【００４０】
テーブル管理部１３Ｒはテーブルデータ送受信部１４Ｒより通知されたダウンロード要求を行ったテーブルデータをデータベース１２Ｒへ共有データとして保存する（S504）。そして、図３のテーブル状態表に新規エントリとしてテーブル名のエントリを追加し、そのエントリの参照数を１とする（S505）。  
更に、アプリケーション１９Ｒはデータベース１２Ｒ内の該当テーブルをオープンする(S506)。
【００４１】
次に、図６のフローチャートを参照してリモート計算機Ｃ−Ｒ内のデータベース１２Ｒのテーブル操作終了処理について説明する。  
アプリケーション１９Ｒは今までオープンしていた対象テーブルをクローズさせ、その旨テーブル管理部１３Ｒへ通知する(S601)。テーブル管理部１３Ｒはクローズの通知を受けたことにより、図３のテーブル状態表における該当テーブルの参照数を１減算する（S602）。そして、テーブル参照数が０でない場合 (S603の“No”) には処理終了となる。処理ステップ（S602）で参照数を１減算した結果、テーブル参照数が０となった場合 (S603の“Yes”) には、テーブル状態表から該当テーブル名のエントリを削除し（S604）、続けて、データベース１２Ｒ内から該当テーブルデータの削除を行う(S605)。
【００４２】
次に図７のフローチャートを参照してリモート計算機Ｃ−Ｒ内のコミット処理について説明する。  
キャッシュデータ処理部１５Ｒは、アプリケーション１９Ｒからコミット要求を受けると、更新キャッシュ内に更新キャッシュデータが存在するか否かを確認する（S701）。更新キャッシュデータが存在しない場合（S701の“No”）は、処理を終了する。
【００４３】
更新キャッシュ内に更新キャッシュデータが存在する場合（S701の“Yes”）は、キャッシュデータ処理部１５Ｒはマスター更新通信部１６Ｒに対して更新キャッシュデータと共にマスター計算機Ｃ−Ｍへの投機実行要求を行う。これを受けたマスター更新通信部１６Ｒはネットワーク回線ＮＷを介してマスター計算機Ｃ−Ｍのマスター更新通信部１６Ｍへ更新キャッシュデータを送信し、投機実行要求を行う（S702）。
【００４４】
マスター計算機Ｃ−Ｍのマスター更新通信部１６Ｍは、投機実行要求を受信した後ネットワーク回線ＮＷを介して投機実行要求元のリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒに対して受理応答を返す。受理応答を受けたリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒは、キャッシュデータ処理部１５Ｒへ受理応答受信を通知する（S703）。
【００４５】
マスター更新通信部１６Ｒから受理応答受信の通知を受けたキャッシュデータ処理部１５Ｒは、更新キャッシュデータをデータベース１２Ｒ内の該当テーブルへ反映させ（S704）、更に、変更データ情報をイベント管理部１７Ｒへ通知する（S705）。
【００４６】
次に、図８のフローチャートを参照してマスター計算機Ｃ−Ｍにおける投機実行受付処理について説明する。  
マスター計算機Ｃ−Ｍのマスター更新通信部１６Ｍは、ネットワーク回線ＮＷを介して投機実行要求元のリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒから要求を受付けると、まず、ネットワーク回線ＮＷを介してリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒへ受理応答を行い(S801)、投機実行要求として受信した更新キャッシュデータを自計算機のキャッシュデータ処理部１５Ｍへ通知する。
【００４７】
更新キャッシュデータを受けたキャッシュデータ処理部１５Ｍはデータベース１２Ｍ内の対象テーブルに更新キャッシュデータを反映させ（S802）、変更データ情報をイベント管理部１７Ｍへ通知する（S803）。キャッシュデータ処理部１５Ｍはイベント管理部１７Ｍへの通知後、更に、変更データ情報の送信要求をレプリケーション送受信部１８Ｍへ行う。レプリケーション送受信部１８Ｍはこの変更データ情報をレプリケーションデータとしてネットワーク回線ＮＷを介してリモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒへ送信する（S804）。
【００４８】
次に、図９のフローチャートを参照してリモート計算機Ｃ−Ｒにおけるレプリケーション受信処理について説明する。  
リモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒは、ネットワーク回線ＮＷを介してマスター計算機Ｃ−Ｍのレプリケーション送受信部１８Ｍからのレプリケーションデータを受信すると、受信した旨キャッシュデータ処理部１５Ｒへ通知する。通知を受けたキャッシュデータ処理部１５Ｒは、レプリケーションデータをデータベース１２Ｒへ反映させ（S901）、変更データ情報をイベント管理部１７Ｒへ通知する（S902）。
【００４９】
[効果]
以上述べたように、本実施の形態１によれば、リモート計算機Ｃ−Ｒのアプリケーション１９Ｒがアクセスしているテーブルデータのみをマスター計算機Ｃ−Ｍよりダウンロードし、アプリケーション１９Ｒによってアクセスされなくなったテーブルデータは削除される。この結果、リモート計算機Ｃ−Ｒにおけるリソース使用量を削減することができる。
【００５０】
また、リモート計算機Ｃ−Ｒにてコミット実行時にマスター計算機Ｃ−Ｍへの投機実行要求を行い、マスター計算機Ｃ−Ｍからの応答を受けた後に変更データを反映し、イベントを通知するようにしたので、マスター計算機Ｃ−Ｍでのデータ更新、レプリケーション受信後のデータ反映によりイベント通知をする場合と比較し、リモート計算機Ｃ−Ｒでの更新内容が即座にテーブルデータに反映されるとともに、イベントの通知が行われるので、アプリケーションを作成する際にマスター計算機Ｃ−Ｍ上、リモート計算機Ｃ−Ｒのいずれで動作するかを区別することなく作成することが可能である。
【００５１】
（実施の形態２）
図１、図１０ないし図１２を参照して本発明の実施の形態２について説明する。  
[構成]
本実施の形態２のブロック構成図は、前述した実施の形態１で用いた図１を援用する。本実施の形態２と実施の形態１との相違点は、テーブル管理部１３Ｒが管理するテーブル状態表を図３に替えて図１０を採用した点にある。
【００５２】
図１０（ａ）のテーブル状態表;例１は、図３のテーブル状態表に対して「最終アクセス時刻」を付加しており、図１０（ｂ）のテーブル状態表;例２は、図３のテーブル状態表に対して「総参照回数合計」を付加しており、また、図１０（ｃ）のテーブル状態表;例３は、図３のテーブル状態表に対して「最終アクセス時刻」及び「テーブル属性」を付加しており、そして図１０（ｄ）のテーブル状態表;例４は、図３のテーブル状態表に対して「総参照回数合計」及び「テーブル属性」を付加している。しかも、図１０（ｃ）および（ｄ）の「テーブル属性」はテーブルファイルの属性値として常駐および非常駐、または数値による優先度値を持ち、データベース１２Ｍ、１２Ｒ内の個々のテーブルファイルに格納されている。
【００５３】
テーブル管理部１３Ｒはデータベース１２Ｒからテーブルデータを削除するか否かの判断を行う際、参照数に加えて図１０（ａ）のようにテーブル状態表に「最終アクセス時刻」のみ付加されている場合は「最終アクセス時刻」を用い、図１０（ｂ）のように「総参照回数合計」のみ付加されている場合は、「総参照回数合計」を用い、そして図１０（ｃ）、（ｄ）のように「テーブル属性」が付加されている場合には、第１条件として「テーブル属性」を使用し、同一の「テーブル属性」を持つレコードが複数ある場合には、第２条件として図１０（ｃ）では「最終アクセス時刻」を用い、図１０（ｄ）では「総参照回数合計」を用いる。
【００５４】
なお、「最終アクセス時刻」にはアプリケーション１９Ｒが該当テーブルデータの操作開始または終了処理を行った際の時刻が記録され、また、「総参照回数合計」にはアプリケーション１９Ｒが該当テーブルデータの操作開始を行った回数が記録されるようになっている。
【００５５】
[作用]
次に、図１１、図１２も参照して本実施の形態２における通常時の動作、すなわち、リモートデータ参照/更新およびイベント処理方法について説明する。
まず、図１１のフローチャートを参照してリモート計算機Ｃ−Ｒ内のデータベース１２Ｒのテーブルファイルを操作する際の開始処理から説明する。
【００５６】
まず、アプリケーション１９Ｒがテーブル管理部１３Ｒへテーブルファイル取得要求を行う。すると、テーブル管理部１３Ｒはテーブル状態表（図１０（ａ）〜（ｄ）のうちのいずれか）を参照して当該テーブルを既に取得済か否かを確認する（S1101）。当該テーブルを取得済である場合（S1101の“Yes”）には、テーブル状態表の当該テーブルのエントリについて参照数を１加算し、利用状況の登録として最終アクセス時刻または総参照回数合計を更新する（S1102）。
【００５７】
当該テーブルが取得済みでない場合（S1101の“No”）には、テーブル管理部１３Ｒはテーブル状態表のエントリ数が予め決められた取得テーブル最大数または、データベース１２Ｒ内のテーブルデータサイズが予め決められているサイズを超えているか否かを確認する(S1103)。
【００５８】
取得テーブル最大数またはサイズを超えていた場合（S1103の“Yes”）には、テーブル状態表の参照数が０であるエントリの中で利用状況の低いテーブルを１または複数選択する。利用状況の低いテーブルの判断は、テーブル状態表にテーブル属性がある場合にはテーブル属性が非常駐であり、かつ最終アクセス時刻が最も過去の時間であるもの、または総参照回数合計が最も小さいものといった利用頻度に基づいて決定する。このようにして決定されたテーブルについてテーブル状態表から該当テーブルのエントリを削除（S1104）し、データベース１２Ｒから該当テーブルデータを削除する(S1105)。
【００５９】
取得テーブル最大数またはサイズを超えていなかった場合（S1103の“No”）及びデータベース１２Ｒからの該当テーブルデータ削除後(S1105完了後)にテーブル管理部１３Ｒよりテーブルデータ送受信部１４Ｒへ当該テーブルのダウンロード要求を行う(S1106)。
【００６０】
テーブルデータ送受信部１４Ｒはネットワーク回線ＮＷを介してマスター計算機Ｃ−Ｍのテーブルデータ送受信部１４Ｍへ当該テーブルデータの取得要求を行う。マスター計算機Ｃ−Ｍのテーブルデータ送受信部１４Ｍはデータベース１２Ｍより当該テーブルのデータを取得し、ネットワーク回線ＮＷを介してリモート計算機Ｃ−Ｒへ送信する。リモート計算機Ｃ−Ｒのテーブルデータ送受信部１４Ｒはテーブルデータを受信し、データ内容をテーブル管理部１３Ｒへ通知する。
【００６１】
テーブル管理部１３Ｒはテーブルデータ送受信部１４Ｒより通知されたダウンロード要求を行ったテーブルデータをデータベース１２Ｒへ保存し（S1107）、テーブル状態表に新規エントリとしてテーブル名のエントリを追加し、そのエントリの参照数を１とすると共に、利用状況の登録として最終アクセス時刻または総参照回数合計、テーブル属性を記録する（S1108）。
【００６２】
この時点でアプリケーション１９Ｒよりテーブル管理部１３Ｒへ取得要求を行ったテーブルはデータベース１２Ｒ内に保存され、アプリケーション１９Ｒはデータベース１２Ｒ内の該当テーブルをオープンする(S1109)。
【００６３】
次に図１２のフローチャートを参照してリモート計算機Ｃ−Ｒのデータベース１２Ｒ内のテーブル操作終了処理について説明する。  
アプリケーション１９Ｒはデータベース１２Ｒ内の対象テーブルのクローズを行い、テーブル管理部１３Ｒへその旨通知する(S1201)。テーブル管理部１３Ｒはこの通知を受けてテーブル状態表の該当テーブルのエントリ参照数を１減算し、利用状況の登録として最終アクセス時刻または総参照回数合計を更新する（S1202）。
【００６４】
[効果]
本実施の形態２によれば、リモート計算機Ｃ−Ｒにおいてアプリケーション１９Ｒで利用されなくなったテーブルを即座に削除するのではなく、一定のテーブル数またはテーブルデータの合計サイズまで保存し、一定時間後あるいは利用頻度に応じて削除するため、頻繁にアクセスされるテーブルについてのマスター計算機Ｃ−Ｍからのダウンロード回数が削減されることによりネットワークリソースの使用量を削減することができる。
【００６５】
また利用頻度は高くないが、テーブルデータサイズが大きくダウンロード時のネットワークリソースを大量に利用するテーブル等については、テーブル属性として常駐属性等の優先度を持たせ、属性値が常駐であるテーブルについては削除対象にしないようにすることでテーブルデータサイズが大きいテーブルのダウンロード回数が削減され、それによってネットワークリソースの使用量を削減することができる。
【００６６】
（実施の形態３）
図１および図１３を参照して本発明の実施の形態３について説明する。  
[構成]
本実施の形態３の場合もブロック構成図は実施の形態１で使用した図１を援用する。
【００６７】
本実施の形態３と実施の形態１との相違点は、リモート計算機Ｃ−Ｒにてレプリケーション送受信部１８Ｒからレプリケーションデータを受けた際のキャッシュデータ処理部１５Ｒの動作である。すなわち、キャッシュデータ処理部１５Ｒはレプリケーションデータを受けた際、即座にデータベース１２Ｒへデータ反映を行うのではなく、同一値か否かのチェックをまず行い、同一値で無い場合にのみ、データベース１２Ｒへのデータ反映とイベント管理部１７Ｒへの通知を行うようにした点が相違する。
【００６８】
[作用]
次に、図１３のフローチャートを参照して本実施の形態３における通常時の動作、すなわち、リモートデータ参照/更新およびイベント処理方法について説明する。  
図１３はリモート計算機Ｃ−Ｒでのレプリケーション受信処理を示すフローチャートである。リモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒは、ネットワーク回線ＮＷを介してマスター計算機Ｃ−Ｍのレプリケーション送受信部１８Ｍからレプリケーションデータを受信し、キャッシュデータ処理部１５Ｒへ通知を行う。通知を受けたキャッシュデータ処理部１５Ｒはレプリケーションデータ内の変更データ値とデータベース１２Ｒ内の変更対象値との比較を行う（S1301）。
【００６９】
比較の結果、同一値だった場合には（S1302の“Yes”）処理終了する。比較の結果同一値で無かった場合には（S1302の“No”）レプリケーションデータの変更値をデータベース１２Ｒへ反映し（S1303）、変更データ情報をイベント管理部１７Ｒへ通知する（S1304）。
【００７０】
[効果]
本実施の形態３によれば、リモート計算機Ｃ−Ｒにてレプリケーション反映を行う際に、同値への変更となるレプリケーションデータの場合にはイベント通知を行わない。これにより、リモート計算機Ｃ−Ｒにてデータ更新を行った後に、そのデータ更新レプリケーションを受信した場合にはイベント通知を行わず、その他のレプリケーションを受信した場合にはデータ反映及びイベント通知が行われ、リモート計算機Ｃ−Ｒでのデータ更新順にイベント通知を行う。  
このため、本実施の形態３は実施の形態１に比べて同値変更となる不要なイベント通知発生数が削減されるという長所を有する。
【００７１】
（実施の形態４）
図１、図１４および図１５を参照して本発明の実施の形態４について説明する。  
[構成]
本実施の形態４の場合も構成図は実施の形態１で使用した図１を援用する。本実施の形態４が実施の形態１と相違する点は、マスター計算機Ｃ−Ｍ内のマスター更新通信部１６Ｍが、リモート計算機Ｃ−Ｒ側のマスター更新通信部１６Ｒから投機実行要求を受けて、キャッシュデータ処理部１５Ｍへ更新データを渡す際に、要求を行ったリモート計算機Ｃ−Ｒを一意に特定できるコミット発行元計算機情報（リモート計算機Ｃ−ＲのＩＰアドレス等）と共に渡すようにした点、マスター計算機Ｃ−Ｍのキャッシュデータ処理部１５Ｍは、マスター更新通信部１６Ｍから受けた更新情報と共にコミット発行元計算機情報をレプリケーション送受信部１８Ｍへ送信要求する点、リモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒは受信した更新情報とコミット発行元計算機情報とをキャッシュデータ処理部１５Ｒへ渡す点、およびリモート計算機Ｃ−Ｒのキャッシュデータ処理部１５Ｒがレプリケーションデータのコミット発行元計算機情報を自計算機の情報と比較し、データベース１２Ｒへのデータ反映及びイベント管理部１７Ｒへの通知を行うか否かを判断する点にある。
【００７２】
[作用]
次に、図１４のフローチャートを参照して本実施の形態４における通常時の動作、すなわち、リモートデータ参照/更新およびイベント処理方法について説明する。  
図１４はマスター計算機Ｃ−Ｍが行う投機実行受付処理を示すフローチャートである。
【００７３】
マスター計算機Ｃ−Ｍにおいて、マスター更新通信部１６Ｍはネットワーク回線ＮＷを介してリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒから投機実行要求を受付けると、ネットワーク回線ＮＷを介してリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒへ受理応答を行う（S1401）。
【００７４】
そして、マスター更新通信部１６Ｍは、投機実行要求として受信した更新キャッシュデータとコミット発行元計算機情報としてのリモート計算機Ｃ−ＲのＩＰアドレスをキャッシュデータ処理部１５Ｍへ通知する。キャッシュデータ処理部１５Ｍは更新キャッシュデータをデータベース１２Ｍ内の対象テーブルへデータ反映し（S1402）、変更データ情報をイベント管理部１７Ｍへ通知する（S1403）。
【００７５】
キャッシュデータ処理部１５Ｍは、イベント管理部１７Ｍへ通知後に変更データ情報とコミット発行元計算機情報の送信要求をレプリケーション送受信部１８Ｍに対して行う。これを受けたレプリケーション送受信部１８Ｍは、変更データ情報とコミット発行元計算機情報とをレプリケーションデータとして、ネットワーク回線ＮＷを介してリモート計算機Ｃ−Ｒのレプリケーション送受信部１８Ｒに送信する（S1404）。
【００７６】
図１５はリモート計算機Ｃ−Ｒでのレプリケーション受信処理を示すフローチャートである。  
リモート計算機Ｃ−Ｒにおいて、レプリケーション送受信部１８Ｒはマスター計算機Ｃ−Ｍのレプリケーション送受信部１８Ｍからのレプリケーションデータとして、変更データ情報およびコミット発行元計算機情報を受信し、その旨キャッシュデータ処理部１５Ｒへ通知する。通知を受けたキャッシュデータ処理部１５Ｒは変更データ内容をデータベース１２Ｒに反映する（S1501）。キャッシュデータ処理部１５Ｒは、データベース１２Ｒにデータ反映後にレプリケーション送受信部１８Ｒから通知を受けたコミット発行元計算機情報と自計算機の情報との比較を行い（S1502）、自計算機の情報と同じ場合（S1502の“Yes”）は処理を終了し、自計算機の情報と異なる場合（S1502の“No”）にのみイベント管理部１７Ｒへ変更データ情報の通知を行う（S1503）。
【００７７】
[効果]
本実施の形態４によれば、マスター計算機Ｃ−Ｍは投機実行要求を受付けた際に、その要求発行元の計算機情報を記憶する。そしてこの記憶したコミット発行元計算機情報をレプリケーションデータとして変更情報と共にリモート計算機Ｃ−Ｒへレプリケーションすることで、レプリケーションデータを受信したリモート計算機Ｃ−Ｒでは、そのレプリケーションデータの生成の元となる更新処理を行った計算機が自計算機であるか否かの判別を行うことができる。
【００７８】
この結果、リモート計算機Ｃ−Ｒでは自計算機で既に発行済みのイベントについてレプリケーション受信時に発行することはなく、マスター計算機Ｃ−Ｍでの更新回数と同数のイベントを発生することができるとともに、自身の発行した更新処理に対してのイベント発生については遅延時間なく発行することができる。
【００７９】
（実施の形態５）
次に、図１および図１６を参照して本発明の実施の形態５について説明する。  
[構成]
本実施の形態５の構成図は実施の形態１で使用した図１を援用する。
本実施の形態５と実施の形態１との相違点は、リモート計算機Ｃ−Ｒでのコミット処理におけるキャッシュデータ処理部１５Ｒの作用である。
【００８０】
すなわち、実施の形態１では図７で示すようにコミット処理時にキャッシュデータ処理部１５Ｒよりイベント管理部１７Ｒへの通知を行うようにしたが、本実施の形態５では、図１５のようにマスター計算機Ｃ−Ｍからのレプリケーションデータを受信し、データ反映を行う際のみイベント通知を行うが、コミット処理時には図１６のようにイベント管理部１７Ｒへの通知を行わないようにした点で異なる。
【００８１】
[作用]
次に、図１６のフローチャートを参照し本実施例５における通常時の動作、すなわち、リモートデータ参照/更新およびイベント処理方法について説明する。  
図１６はリモート計算機Ｃ−Ｒでのコミット処理を示すフローチャートである。
【００８２】
キャッシュデータ処理部１５Ｒは、アプリケーション１９Ｒからのコミット要求を受けると更新キャッシュ内に更新キャッシュデータが存在するか否かを確認する（S1601）。キャッシュデータ処理部１５Ｒは、確認の結果、更新キャッシュ内に更新キャッシュデータが存在しない場合（S1601の“No”）にはコミット処理を終了し、更新キャッシュデータが存在する場合（S1601の“Yes”）には、マスター更新通信部１６Ｒへ更新キャッシュデータと共にマスター計算機Ｃ−Ｍに対する投機実行要求を行う。
【００８３】
この投機実行要求を受けたマスター更新通信部１６Ｒは、ネットワーク回線ＮＷを介してマスター計算機Ｃ−Ｍのマスター更新通信部１６Ｍへ更新キャッシュデータを送信し、投機実行要求を行う（S1602）。
【００８４】
マスター計算機Ｃ−Ｍのマスター更新通信部１６Ｍは、投機実行要求を受信した後、ネットワーク回線ＮＷを介して要求元のリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒへ受理応答を返す。
【００８５】
受理応答を受けたリモート計算機Ｃ−Ｒのマスター更新通信部１６Ｒはキャッシュデータ処理部１５Ｒへ受理応答受信を通知する（S1603）。受理応答を受けたキャッシュデータ処理部１５Ｒは、更新キャッシュデータをデータベース１２Ｒ内の該当テーブルへ反映する（S1604）。
【００８６】
[効果]
本実施の形態５によれば、リモート計算機Ｃ−Ｒでのコミット処理実施時にはイベント通知が行われず、マスター計算機Ｃ−Ｍからのレプリケーションデータを受信し、データ反映を行う際のみにイベント通知が行われる。
【００８７】
これによりマスター計算機Ｃ−Ｍでのデータ更新処理順にリモート計算機Ｃ−Ｒにてイベント通知を行うことができるので、コミット処理を実施したリモート計算機Ｃ−Ｒ、マスター計算機Ｃ−Ｍ、コミット処理を実施していない他のリモート計算機Ｃ−Ｒのいずれにおいても同一順番でアプリケーションにイベント通知が行われるという効果がある。
【図面の簡単な説明】
【００８８】
【図１】発明の実施の形態１ないし５に共通な複数計算機によるリモートデータ参照/更新およびイベント処理システムを示すブロック構成図。
【図２】発明の実施の形態１におけるテーブルデータのデータ構造の一例を示す図。
【図３】発明の実施の形態１におけるテーブル状態表のデータ構造の一例を示す図。
【図４】発明の実施の形態１における更新データキャッシュのデータ構造の一例を示す図。
【図５】発明の実施の形態１におけるテーブル操作開始処理手順の概要を示すフローチャート。
【図６】発明の実施の形態１におけるテーブル操作終了処理手順の概要を示すフローチャート。
【図７】発明の実施の形態１におけるコミット処理手順の概要を示すフローチャート。
【図８】発明の実施の形態１における投機実行受付処理手順の概要を示すフローチャート。
【図９】発明の実施の形態１におけるレプリケーション受信処理手順の概要を示すフローチャート。
【図１０】発明の実施の形態２におけるテーブル状態表のデータ構造の一例を示す図。
【図１１】発明の実施の形態２におけるテーブル操作開始処理手順の概要を示すフローチャート。
【図１２】発明の実施の形態２におけるテーブル操作終了処理手順の概要を示すフローチャート。
【図１３】発明の実施の形態３におけるレプリケーション受信処理手順の概要を示すフローチャート。
【図１４】発明の実施の形態４における投機実行受付処理手順の概要を示すフローチャート。
【図１５】発明の実施の形態４におけるレプリケーション受信処理手順の概要を示すフローチャート。
【図１６】発明の実施の形態５におけるコミット処理手順の概要を示すフローチャート。
【図１７】複数計算機をネットワーク回線を介して接続した状態を表す構成図。
【符号の説明】
【００８９】
Ｃ−Ｍ；マスター計算機、  Ｃ−Ｒ、Ｃ−Ｒ１〜Ｃ−Ｒｎ；リモート計算機、ＮＷ；ネットワーク回線、  １１Ｍ、１１Ｒ；モード管理部、１２Ｍ、１２Ｒ；データベース、  １３Ｒ；テーブル管理部、  １４Ｍ、１４Ｒ；テーブルデータ送受信部、１５Ｍ、１５Ｒ；キャッシュデータ処理部、  １６Ｍ、１６Ｒ；マスター更新通信部、１７Ｍ、１７Ｒ；イベント管理部、  １８Ｍ、１８Ｒ；レプリケーション送受信部、１９Ｍ、１９Ｒ；アプリケーション。
【図１】
2007025781.tif 000003
【図２】
2007025781.tif 000004
【図３】
2007025781.tif 000005
【図４】
2007025781.tif 000006
【図５】
2007025781.tif 000007
【図６】
2007025781.tif 000008
【図７】
2007025781.tif 000009
【図８】
2007025781.tif 000010
【図９】
2007025781.tif 000011
【図１０】
2007025781.tif 000012
【図１１】
2007025781.tif 000013
【図１２】
2007025781.tif 000014
【図１３】
2007025781.tif 000015
【図１４】
2007025781.tif 000016
【図１５】
2007025781.tif 000017
【図１６】
2007025781.tif 000018
【図１７】
2007025781.tif 000019