(57)【特許請求の範囲】
【請求項１】
マスタ情報を保持する第１の装置と、前記マスタ情報を利用する第２の装置と、を備える情報同期システムであって、
前記第１の装置は、前記マスタ情報を記憶する第１マスタ情報記憶部と、前記マスタ情報の更新処理を行う更新処理部と、前記マスタ情報の更新履歴を時系列で記憶する第１更新履歴記憶部と、前記第２の装置からの次回の更新の起点を示す起点時刻スタンプの時刻からの前記更新履歴を要求する更新履歴要求に対し、前記第１更新履歴記憶部に記憶された更新履歴を前記第２の装置に返す処理をする第１更新要求応答部と、前記マスタ情報の更新履歴において、互いに関連のある情報である意味的に不可分な一連の更新履歴を分解しないように、前記マスタ情報に登録されている更新履歴の時刻スタンプを終点時刻スタンプとして記憶する終点時刻スタンプ記憶部とを備え、
前記第２の装置は、前記マスタ情報と同期したデータである第２マスタ情報を記憶する第２マスタ情報記憶部と、前記起点時刻スタンプを記憶する起点時刻スタンプ記憶部と、第１の装置に対し前記起点時刻スタンプの時刻からの更新履歴を要求する更新履歴要求部と、前記更新履歴要求部が受信した更新履歴に基づいて、同期のための更新処理を行うとともに、同期が完了した最新の更新履歴の時刻スタンプを前記起点時刻スタンプとして前記起点時刻スタンプ記憶部に記憶させる同期更新処理部と、を備え、
前記第１の装置の前記第１更新要求応答部は、前記第２の装置からの更新履歴要求に対し、前記起点時刻スタンプおよび前記終点時刻スタンプに基づいて、前記第１更新履歴記憶部に記憶された更新履歴を前記第２の装置に返す処理をし、
前記第２の装置の前記同期更新処理部は、前記終点時刻スタンプで前記起点時刻スタンプを更新する
ことを特徴とする情報同期システム。
【請求項２】
前記第２の装置の前記更新履歴要求部は、前記第１の装置に対し所定のタイミングで更新履歴を要求する
ことを特徴とする請求項１に記載の情報同期システム。
【請求項３】
前記第２の装置の前記更新履歴要求部は、前記第１の装置に対し所定の情報種別の情報について更新履歴を要求する
ことを特徴とする請求項１に記載の情報同期システム。
【請求項４】
前記第２マスタ情報を利用する第３の装置をさらに備える請求項１に記載の情報同期システムであって、
前記第２の装置は、前記第２マスタ情報の更新履歴を時系列で記憶する第２更新履歴記憶部と、前記第３の装置からの更新履歴要求に対し、前記第３の装置から指定された起点時刻スタンプに基づいて、前記第２更新履歴記憶部に記憶された更新履歴を前記第３の装置に返す処理をする第２更新要求応答部と、をさらに備え、
前記第３の装置は、前記第２マスタ情報と同期したデータである第３マスタ情報を記憶する第３マスタ情報記憶部と、起点時刻スタンプを記憶する第２起点時刻スタンプ記憶部と、第２の装置に対し前記起点時刻スタンプからの更新履歴を要求する第２更新履歴要求部と、前記第２更新履歴要求部が受信した更新履歴に基づいて、同期のための更新処理を行うとともに、同期が完了した最新の更新履歴の時刻スタンプを前記第２起点時刻スタンプ記憶部に記憶された起点時刻スタンプである第２起点時刻スタンプとして前記起点時刻スタンプ記憶部に記憶させる第２同期更新処理部と、
を備えることを特徴とする情報同期システム。
【請求項５】
前記第２マスタ情報を利用する第３の装置をさらに備える請求項１に記載の情報同期システムであって、
前記第２の装置は、前記第２マスタ情報の更新履歴を時系列で記憶する第２更新履歴記憶部と、前記第３の装置からの更新履歴要求に対し、前記第３の装置から指定された起点時刻スタンプに基づいて、前記第２更新履歴記憶部に記憶された更新履歴を前記第３の装置に返す処理をする第２更新要求応答部と、前記マスタ情報の更新履歴において意味的に不可分な一連の更新履歴を分解しないように、更新履歴の時刻スタンプを第２終点時刻スタンプとして記憶する終点時刻スタンプ記憶部と、をさらに備え、
前記第３の装置は、前記第２マスタ情報と同期したデータである第３マスタ情報を記憶する第３マスタ情報記憶部と、起点時刻スタンプを記憶する第２起点時刻スタンプ記憶部と、第２の装置に対し前記起点時刻スタンプからの更新履歴を要求する第２更新履歴要求部と、前記第２更新履歴要求部が受信した更新履歴に基づいて、同期のための更新処理を行うとともに、同期が完了した最新の更新履歴の時刻スタンプを前記第２起点時刻スタンプ記憶部に記憶された起点時刻スタンプである第２起点時刻スタンプとして前記起点時刻スタンプ記憶部に記憶させる第２同期更新処理部と、を備え、
前記第２の装置の前記第２更新要求応答部は、前記第３の装置からの更新履歴要求に対し前記第２更新履歴記憶部に記憶された更新履歴のうち、前記第２起点時刻スタンプおよび前記第２終点時刻スタンプに基づいて更新履歴を前記第３の装置に返す処理をし、
前記第３の装置の前記第２同期更新処理部は、前記第２終点時刻スタンプで前記第２起点時刻スタンプを更新する
ことを特徴とする情報同期システム。
【請求項６】
前記第１の装置の前記更新処理部は、前記マスタ情報の更新処理の間に排他制御を行い、
前記第１の装置の前記第１更新要求応答部は、前記第２の装置からの更新履歴要求に対し、前記第２の装置から指定された起点時刻スタンプに基づいて、前記第１更新履歴記憶部に記憶された更新履歴を取得する処理の間に排他制御を行う
ことを特徴とする請求項１に記載の情報同期システム。
【請求項７】
前記第１の装置の前記更新処理部は、前記マスタ情報の更新処理の間に排他制御を行い、
前記第１の装置の前記第１更新要求応答部は、前記終点時刻スタンプを取得する処理の間に排他制御を行う
ことを特徴とする請求項１に記載の情報同期システム。
【請求項８】
更新履歴の時刻スタンプとして、時間的な前後を判定することができる情報を使用する
ことを特徴とする請求項１に記載の情報同期システム。
【請求項９】
マスタ情報を保持する第１の装置と、前記マスタ情報を利用する第２の装置と、を備える情報同期システムにおけるコンピュータを、
前記第１の装置において、前記マスタ情報を記憶する第１マスタ情報記憶部、前記マスタ情報の更新処理を行う更新処理部、前記マスタ情報の更新履歴を時系列で記憶する第１更新履歴記憶部、前記第２の装置からの次回の更新の起点を示す起点時刻スタンプの時刻からの前記更新履歴を要求する更新履歴要求に対し、前記第１更新履歴記憶部に記憶された更新履歴を前記第２の装置に返す処理をする第１更新要求応答部、前記マスタ情報の更新履歴において、互いに関連のある情報である意味的に不可分な一連の更新履歴を分解しないように、前記マスタ情報に登録されている更新履歴の時刻スタンプを終点時刻スタンプとして記憶する終点時刻スタンプ記憶部として機能させ、
前記第２の装置において、前記マスタ情報と同期したデータである第２マスタ情報を記憶する第２マスタ情報記憶部、前記起点時刻スタンプを記憶する起点時刻スタンプ記憶部、第１の装置に対し前記起点時刻スタンプの時刻からの更新履歴を要求する更新履歴要求部、前記更新履歴要求部が受信した更新履歴に基づいて、同期のための更新処理を行うとともに、同期が完了した最新の更新履歴の時刻スタンプを前記起点時刻スタンプとして前記起点時刻スタンプ記憶部に記憶させる同期更新処理部として機能させ、
前記第１の装置の前記第１更新要求応答部は、前記第２の装置からの更新履歴要求に対し、前記起点時刻スタンプおよび前記終点時刻スタンプに基づいて、前記第１更新履歴記憶部に記憶された更新履歴を前記第２の装置に返す処理をし、
前記第２の装置の前記同期更新処理部は、前記終点時刻スタンプで前記起点時刻スタンプを更新する
ための情報同期プログラム。
【請求項１０】
マスタ情報を保持する第１の装置と、前記マスタ情報を利用する第２の装置と、を備える情報同期システムにおける情報同期方法であって、
前記第１の装置において、前記マスタ情報を記憶する第１マスタ情報記憶ステップと、前記マスタ情報の更新処理を行う更新処理ステップと、前記マスタ情報の更新履歴を時系列で記憶する第１更新履歴記憶ステップと、前記第２の装置からの次回の更新の起点を示す起点時刻スタンプの時刻からの前記更新履歴を要求する更新履歴要求に対し、前記第１更新履歴記憶ステップで記憶された更新履歴を前記第２の装置に返す処理をする第１更新要求応答ステップと、前記マスタ情報の更新履歴において、互いに関連のある情報である意味的に不可分な一連の更新履歴を分解しないように、前記マスタ情報に登録されている更新履歴の時刻スタンプを終点時刻スタンプとして記憶する終点時刻スタンプ記憶ステップとを含み、
前記第２の装置において、前記マスタ情報と同期したデータである第２マスタ情報を記憶する第２マスタ情報記憶ステップと、前記起点時刻スタンプを記憶する起点時刻スタンプ記憶ステップと、第１の装置に対し前記起点時刻スタンプの時刻からの更新履歴を要求する更新履歴要求ステップと、前記更新履歴要求ステップで受信した更新履歴に基づいて、同期のための更新処理を行うとともに、同期が完了した最新の更新履歴の時刻スタンプを前記起点時刻スタンプとして記憶する同期更新処理ステップとを含み、
前記第１の装置の前記第１更新要求応答ステップは、前記第２の装置からの更新履歴要求に対し、前記起点時刻スタンプおよび前記終点時刻スタンプに基づいて、前記第１更新履歴記憶ステップで記憶された更新履歴を前記第２の装置に返す処理をし、
前記第２の装置の前記同期更新処理ステップは、前記終点時刻スタンプで前記起点時刻スタンプを更新する
ことを特徴とする情報同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を同期する処理において、装置の処理負荷を軽減することができる情報同期システム等の技術に関する。
【背景技術】
【０００２】
従来の一般的な情報配信または情報同期方式においては、図１２に示すように、情報サーバシステム１０１における更新処理部１１２がマスタ情報１１１を更新する時に、ネットワーク１０３を介して、マスタ情報１１１を利用する複数の情報クライアントシステム１０２の情報１２２に対し同様の更新を行う。
【０００３】
また、図１３に示すように、情報クライアントシステム１０２そのものがさらに情報サーバシステム２０１と情報クライアントシステム２０２（２０２Ａ、２０２Ｂ、…）とネットワーク２０３によって階層的に構成されることもある。このような場合にも、更新処理部１１２がマスタ情報１１１を更新する時に、ネットワーク１０３を介して、情報１２２Ａに対し同様の更新を行い、情報１２２Ａの更新がされた時に、ネットワーク２０３を介して、情報２２２（２２２Ａ、２２２Ｂ、…）に対し同様の更新が階層的に行われる。
【０００４】
また、特許文献１に開示された技術では、情報サーバシステムは、マスタ情報の情報ごとに更新時刻を保持し、情報クライアントシステムへの手動コピー開始時刻とマスタ情報の情報ごとの更新時刻を比較することにより、マスタ情報の当該情報の更新時刻の方が新しい場合には、マスタ情報の当該情報を更新した時に、情報クライアントシステムへコピーを行うことが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−８２００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述した方法では、情報サーバシステムにおけるマスタ情報が更新される時に、情報クライアントシステムの情報に対しても更新を行うと、例えば、情報クライアントシステムがその情報同期処理よりも優先度の高い処理を実行している場合、情報サーバシステムの更新同期要求がその優先度の高い処理を妨げるおそれがあるなどの問題がある。すなわち、上述した方法では、いずれも更新が発生した側の装置から更新要求をしていることが問題となっている。
【０００７】
また、階層的な構成の場合、従来の方法では、図１３に示すように、複数の情報クライアントシステム１０２（１０２Ａ、１０２Ｂ、…）の情報１２２（１２２Ａ、１２２Ｂ、…）は同期可能であるが、階層的な情報クライアントシステム２０２（２０２Ａ、２０２Ｂ、…）の情報２２２（２２２Ａ、２２２Ｂ、…）については、ネットワーク１０３とネットワーク２０３が同時に接続されていなければ情報同期することができないという問題がある。
【０００８】
そこで、本発明は、前記問題に鑑みてなされたものであり、情報を同期する処理において、装置の処理負荷を軽減することができる情報同期システム、情報同期プログラムおよび情報同期方法を提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明の情報同期システムは、マスタ情報を保持する第１の装置と、前記マスタ情報を利用する第２の装置と、を備える情報同期システムであって、前記第１の装置は、前記マスタ情報を記憶する第１マスタ情報記憶部と、前記マスタ情報の更新処理を行う更新処理部と、前記マスタ情報の更新履歴を時系列で記憶する第１更新履歴記憶部と、前記第２の装置からの次回の更新の起点を示す起点時刻スタンプの時刻からの前記更新履歴を要求する更新履歴要求に対し、前記第１更新履歴記憶部に記憶された更新履歴を前記第２の装置に返す処理をする第１更新要求応答部と、前記マスタ情報の更新履歴において、互いに関連のある情報である意味的に不可分な一連の更新履歴を分解しないように、前記マスタ情報に登録されている更新履歴の時刻スタンプを終点時刻スタンプとして記憶する終点時刻スタンプ記憶部とを備え、前記第２の装置は、前記マスタ情報と同期したデータである第２マスタ情報を記憶する第２マスタ情報記憶部と、前記起点時刻スタンプを記憶する起点時刻スタンプ記憶部と、第１の装置に対し前記起点時刻スタンプの時刻からの更新履歴を要求する更新履歴要求部と、前記更新履歴要求部が受信した更新履歴に基づいて、同期のための更新処理を行うとともに、同期が完了した最新の更新履歴の時刻スタンプを前記起点時刻スタンプとして前記起点時刻スタンプ記憶部に記憶させる同期更新処理部と、を備え、前記第１の装置の前記第１更新要求応答部は、前記第２の装置からの更新履歴要求に対し、前記起点時刻スタンプおよび前記終点時刻スタンプに基づいて、前記第１更新履歴記憶部に記憶された更新履歴を前記第２の装置に返す処理をし、前記第２の装置の前記同期更新処理部は、前記終点時刻スタンプで前記起点時刻スタンプを更新することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、情報を同期する処理において、装置の処理負荷を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係る情報同期システムの構成を示す図である。
【図２】本発明の情報同期システムにおける更新履歴の一例を示す図である。
【図３】本発明の情報同期システムの第１の装置の更新処理動作を示すフローチャートである。
【図４】本発明の第１実施形態に係る情報同期システムの動作を示すフローチャートである。
【図５】本発明の第１実施形態に係る更新要求応答処理を示すフローチャートである。
【図６】本発明の第１実施形態に係る同期更新処理を示すフローチャートである。
【図７】本発明の第２実施形態に係る情報同期システムの構成を示す図である。
【図８】本発明の第２実施形態に係る情報同期システムの動作を示すフローチャートである。
【図９】本発明の第２実施形態に係る終点時刻スタンプ返信処理を示すフローチャートである。
【図１０】本発明の第２実施形態に係る更新要求応答処理を示すフローチャートである。
【図１１】本発明の第２実施形態に係る同期更新処理を示すフローチャートである。
【図１２】従来の情報サーバシステムと情報クライアントシステムの構成を示す図である。
【図１３】従来の情報サーバシステムと情報クライアントシステムの階層的な構成を示す図である。
【発明を実施するための形態】
【００１２】
＜第１実施形態＞
以下、本発明の第１実施形態について、図１〜図６を参照して説明する。
[情報同期システム１の構成]
図１に示すように、情報同期システム１は、マスタ情報を保持する第１の装置１０と、そのマスタ情報を利用する第２の装置２０とを備えている。第１の装置は、例えば、情報サーバシステムであり、第２の装置は、例えば、情報クライアントシステムである。第２の装置２０は、ネットワーク３０を介して、第１の装置１０に接続されている。
【００１３】
[第１の装置１０の構成]
第１の装置１０は、第１マスタ情報記憶部１１と、更新処理部１２と、第１更新履歴記憶部１３と、第１更新要求応答部１４とを備えている。
【００１４】
第１マスタ情報記憶部１１は、マスタ情報を記憶するものである。マスタ情報とは、基本的な情報を集約したファイルやデータベースにおけるテーブル等のことである。
更新処理部１２は、マスタ情報の更新履歴を、後記する第１更新履歴記憶部１３に記憶させるとともに、第１マスタ情報記憶部１１に記憶されたマスタ情報を更新するものである。
【００１５】
第１更新履歴記憶部１３は、マスタ情報のすべての更新履歴を記憶するものである。
ここで、更新履歴について図２を参照して説明する。
図２に示すように、更新履歴４０は、例えば、更新種別４１と、情報種別４２と、更新履歴の時刻スタンプ４３と、更新内容４４とを含んでいる。
更新種別４１には、新規、変更および削除の種別がある。
情報種別４２には、典型的には１つのテーブルで管理される区分ごとの情報の種別がある。ここでは例えば、グループ情報、ユーザ情報、ＩＣカード情報およびＩＤ・パスワードである。
【００１６】
更新履歴の時刻スタンプ４３は、シーケンス番号で管理している。なお、更新履歴の時刻スタンプ４３は、日付時刻やシステム起点からの経過時間等、システム内における時間的な前後（新旧）を判定することができるものであれば任意の形式でよい。
更新内容４４は、マスタ情報を更新する内容であり、情報ラベルおよび更新内容等がある。なお、更新内容４４は、更新をする情報を特定するものと、その情報を更新する内容が記述されていれば、他の形式でもよい。
【００１７】
また、この更新履歴４０には、意味的に不可分な一連の更新履歴が入ってくることがある。意味的に不可分な一連の更新履歴とは、一斉に処理されるべき更新履歴である。
例えば、カードのユーザ名、そのユーザのカード情報およびそのカードのパスワードのデータがデータベースに保存されている場合に、ユーザ名だけが削除され、カード情報およびパスワードのデータが残っていると、第三者にカードを使われるなどの不都合が生じる。そのため、ユーザ名が削除されたときには、カード情報およびパスワードも同時に削除される必要がある。
シーケンス番号８から１０が示す更新履歴は、ユーザ情報、ＩＣカード情報およびＩＤ・パスワードの削除であるが、これらの削除処理は互いに関連のある情報を削除する処理であり、意味的にこれらの更新履歴は不可分であることがある。この場合、シーケンス番号８のみを処理した段階で、マスタ情報が他から参照されることがあってはならない。
【００１８】
図１に戻り、第１の装置１０の構成の続きを説明する。
第１更新要求応答部１４は、後記する第２の装置２０からの更新履歴要求に対し第１更新履歴記憶部１３に記憶された更新履歴のうち、第２の装置２０から指定された更新の起点を示す起点時刻スタンプより新しい更新履歴の時刻スタンプを持つ更新履歴を第２の装置２０に返すものである。
【００１９】
[第２の装置２０の構成]
第２の装置２０は、第２マスタ情報記憶部２１と、起点時刻スタンプ記憶部２２と、更新履歴要求部２３と、同期更新処理部２４とを備えている。
【００２０】
第２マスタ情報記憶部２１は、第１の装置１０のマスタ情報と同期したデータである第２マスタ情報を記憶するものである。
起点時刻スタンプ記憶部２２は、次回の更新の起点を示す起点時刻スタンプを記憶するものである。
更新履歴要求部２３は、第１の装置１０に対し起点時刻スタンプからの更新履歴を要求するものである。
同期更新処理部２４は、更新履歴要求部２３が取得した更新履歴に基づいて、第２マスタ情報記憶部２１に対し同期のための更新処理を行うとともに、同期が完了した最新の更新履歴の時刻スタンプを、起点時刻スタンプとして起点時刻スタンプ記憶部２２に記憶させるものである。
【００２１】
また、第２の装置２０そのものが、情報サーバシステム２０１と、情報クライアントシステム（第３の装置）２０２（２０２Ａ、２０２Ｂ、…）と、ネットワーク２０３とを階層的に備える場合もある。この場合には、第２の装置２０は、第２更新履歴記憶部２５と、第２更新要求応答部２６とをさらに備える。
第２更新履歴記憶部２５は、第２マスタ情報の更新履歴を第２更新履歴として記憶するものである。
第２更新要求応答部２６は、第３の装置２０２（２０２Ａ、２０２Ｂ、…）からの更新履歴要求に対し第２更新履歴記憶部２５に記憶された更新履歴のうち、第３の装置２０２（２０２Ａ、２０２Ｂ、…）から指定された更新の起点を示す起点時刻スタンプより新しい更新履歴の時刻スタンプを持つ更新履歴を第３の装置２０２（２０２Ａ、２０２Ｂ、…）に返すものである。
【００２２】
[第３の装置２０２（２０２Ａ、２０２Ｂ、…）の構成]
第３の装置２０２（２０２Ａ、２０２Ｂ、…）の構成は、図示を省略したが、第２マスタ情報記憶部２１に相当する第３マスタ情報記憶部と、起点時刻スタンプ記憶部２２に相当する第２起点時刻スタンプ記憶部と、更新履歴要求部２３に相当する第２更新履歴要求部と、同期更新処理部２４に相当する第２同期更新処理部とを備える。
【００２３】
[情報同期システム１の動作]
次に、情報同期システム１の動作について図３〜図６を参照して説明する。
[第１の装置１０の更新処理動作]
まず、第１の装置１０の更新処理動作について図３を参照して説明する。
図３のフローチャートに示すように、ステップＳ１１において、更新処理部１２は、第１マスタ情報記憶部１１の排他ロックを要求する。なお、排他ロックとは、他からのアクセスを禁止するものである。
【００２４】
ステップＳ１２において、更新処理部１２は、第１マスタ情報記憶部１１の排他ロックを取得したか否かを判定する。排他ロックを取得していない場合は（ステップＳ１２・Ｎｏ）、更新処理部１２は、第１マスタ情報記憶部１１の排他ロックの取得を待つ（ステップＳ１３）。次にステップＳ１１に戻る。
一方、排他ロックを取得した場合は（ステップＳ１２・Ｙｅｓ）、ステップＳ１４において、更新処理部１２は、マスタ情報の更新履歴を時系列で第１更新履歴記憶部１３に記憶させる。
【００２５】
ステップＳ１５において、更新処理部１２は、マスタ情報を更新する。
ステップＳ１６において、更新処理部１２は、第１マスタ情報記憶部１１の排他ロックを解放する。
【００２６】
なお、意味的に不可分な一連の更新履歴については、１回の排他ロック取得の中で、それらのマスタ情報を更新する必要がある。この場合、ステップＳ１４およびステップＳ１５を繰り返すこととなる。
また、図示していないが、ステップＳ１５において、更新処理部１２がマスタ情報の更新を失敗した場合は、更新処理部１２はステップＳ１４において記憶した更新履歴を破棄し、更新処理は終了する。
【００２７】
[情報同期システム１の同期処理動作]
次に、情報同期システム１の同期処理動作について図４を参照して説明する。
この同期処理は、第２の装置（情報クライアントシステム）２０の更新履歴要求部２３が自らの要件により定めたタイミングで開始する。例えば、第２の装置２０の処理負荷が高い時間帯は先延ばしにする等、周期的あるいは動的に、更新履歴要求部２３は、この同期処理を開始する。
【００２８】
図４のフローチャートに示すように、ステップＳ１において、更新履歴要求部２３は、起点時刻スタンプ記憶部２２に起点時刻スタンプが記憶されているか否かを判定する。起点時刻スタンプが記憶されていない場合には（ステップＳ１・Ｎｏ）、更新履歴要求部２３は、同期更新処理部２４を介して、起点時刻スタンプを、システム起点時刻、システム起点からの経過時間０またはシーケンス番号０で更新して起点時刻スタンプ記憶部２２に記憶する（ステップＳ２）。次にステップＳ３へ進む。
【００２９】
一方、起点時刻スタンプが記憶されている場合には（ステップＳ１・Ｙｅｓ）、ステップＳ３において、更新履歴要求部２３は、当該起点時刻スタンプからの更新履歴を第１の装置（情報サーバシステム）１０に対して要求する。ここで、更新履歴要求部２３は、第２の装置にとって必要な情報種別を指定して、その情報種別の更新履歴のみを要求してもよい。
ステップＳ４において、第１の装置１０の第１更新要求応答部１４は、第２の装置２０の更新履歴要求部２３からの更新履歴要求に対し、当該起点時刻スタンプに基づいて、第１更新履歴記憶部１３に記憶された更新履歴を第２の装置２０に返す。なお、このステップにおける処理は後に詳述する。
【００３０】
ステップＳ５において、更新履歴要求部２３は、第１更新要求応答部１４からの更新履歴を受信する。
ステップＳ６において、更新履歴要求部２３は、起点時刻スタンプ記憶部２２に起点時刻スタンプが記憶されているか否かを判定する。起点時刻スタンプが記憶されていない場合には（ステップＳ６・Ｎｏ）、更新履歴要求部２３は、同期更新処理部２４を介して、第２マスタ情報記憶部２１に記憶された第２マスタ情報と第２更新履歴記憶部２５に記憶された第２更新履歴をすべて破棄する（ステップＳ７）。次にステップＳ８へ進む。
【００３１】
一方、起点時刻スタンプが記憶されている場合には（ステップＳ６・Ｙｅｓ）、ステップＳ８において、同期更新処理部２４は、同期更新処理を行う。なお、このステップにおける処理は後に詳述する。
【００３２】
なお、図示していないが、ステップＳ５において、第１の装置１０またはネットワーク３０のいずれかの障害により、更新履歴要求部２３が更新履歴を受信できなかった場合は、同期処理は終了し、次の同期処理は、再度、ステップＳ１から行う。
【００３３】
ここで、起点時刻スタンプが記憶されていない場合（ステップＳ１・Ｎｏ、ステップＳ６・Ｎｏ）について補足説明する。なお、ステップＳ１でＮｏと判定されたときは、必ず、ステップＳ６でＮｏと判定される。
同期処理がこの流れに従って行われるのは、例えば、情報同期システムの電源を入れた直後であり、初めて同期処理を行う場合がある。あるいは、同期更新処理部２４が、第１の装置１０の第１マスタ情報記憶部１１に記憶されたマスタ情報と、第２の装置２０の第２マスタ情報記憶部２１に記憶された第２マスタ情報とが不整合であることを検出した場合がある。図示していないが、同期更新処理部２４は、不整合を検出したときは、起点時刻スタンプ記憶部２２に記憶された起点時刻スタンプを破棄する。これにより、同期処理がこの流れに従って行われるようになる。
【００３４】
ステップＳ２において、起点時刻スタンプを、システム起点時刻、システム起点からの経過時間０またはシーケンス番号０で更新しているのは、第１の装置１０の第１マスタ情報記憶部１１に記憶されたマスタ情報に対するすべての更新履歴の時刻スタンプより前の起点時刻スタンプとするためである。そうすると、ステップＳ５において、更新履歴要求部２３は、第１マスタ情報記憶部１１に記憶されたマスタ情報に対するすべての更新履歴を受信する。
ステップＳ７において、同期更新処理部２４は、第２マスタ情報記憶部２１に記憶された第２マスタ情報と、第２更新履歴記憶部２５に記憶された第２更新履歴とを破棄した上で、ステップＳ８において、同期更新処理を行うため、第２マスタ情報と第２更新履歴とを自動的に構築しなおすことができる。
【００３５】
[第１の装置１０における第１更新要求応答部１４の更新要求応答処理動作]
次に、第１の装置１０における第１更新要求応答部１４の更新要求応答処理（図４、ステップＳ４参照）動作について図５を参照して説明する。
図５のフローチャートに示すように、ステップＳ４１において、第１更新要求応答部１４は、更新処理部１２の排他ロックを要求する。
【００３６】
ステップＳ４２において、第１更新要求応答部１４は、更新処理部１２の排他ロックを取得したか否かを判定する。排他ロックを取得していない場合は（ステップＳ４２・Ｎｏ）、第１更新要求応答部１４は、更新処理部１２の排他ロックの取得を待つ（ステップＳ４３）。次にステップＳ４１に戻る。
一方、排他ロックを取得した場合は（ステップＳ４２・Ｙｅｓ）、ステップＳ４４において、第１更新要求応答部１４は、第１更新履歴記憶部１３に記憶されたすべての更新履歴のうち、第２の装置２０から指定された起点時刻スタンプより新しい時刻スタンプを持つ更新履歴を時系列に取得する。
【００３７】
ステップＳ４５において、第１更新要求応答部１４は、更新処理部１２の排他ロックを解放する。
ステップＳ４６において、第１更新要求応答部１４は、取得した更新履歴を第２の装置２０へ返す。
【００３８】
[第２の装置２０における同期更新処理部２４の同期更新処理動作]
次に、第２の装置２０における同期更新処理部２４の同期更新処理（図４、ステップＳ８参照）動作について図６を参照して説明する。なお、この同期更新処理の前のステップにおいて、第２の装置２０の更新履歴要求部２３は、自ら指定した起点時刻スタンプからの更新履歴を受信している（図４参照、ステップＳ５）。
【００３９】
図６のフローチャートに示すように、ステップＳ８１において、同期更新処理部２４は、更新履歴要求部２３が受信した更新履歴のうち、時刻スタンプが最も古いものから順に処理するために、受信した更新履歴の時刻スタンプを順次探索していく。同期更新処理部２４は、次の（未だ更新処理を行っていない）更新履歴が存在するか否かを判定する。
次の更新履歴が存在しない場合には（ステップＳ８１・Ｎｏ）、同期更新処理部２４は、同期更新処理を終了する。
【００４０】
一方、次の更新履歴が存在する場合には（ステップＳ８１・Ｙｅｓ）、ステップＳ８２において、同期更新処理部２４は、未だ更新処理を行っていない最も古い時刻スタンプを持つ更新履歴に基づいて、同期のための更新処理を第２マスタ情報記憶部２１に対して行う。
なお、ここで、同期が必要な情報種別の更新履歴のみについて更新処理を行ってもよい。
ステップＳ８３において、同期更新処理部２４は、起点時刻スタンプ記憶部２２に記憶されている起点時刻スタンプを、更新処理を行った更新履歴の時刻スタンプで更新する。
【００４１】
ステップＳ８４において、同期更新処理部２４は、自らを情報サーバシステムとして同期する情報クライアントシステムが階層的に存在するか否かを判定する。情報クライアントシステムが階層的に存在しない場合には（ステップＳ８４・Ｎｏ）、同期更新処理部２４は、ステップＳ８１に戻る。
一方、情報クライアントシステムが階層的に存在する場合には（ステップＳ８４・Ｙｅｓ）、同期更新処理部２４は、当該情報クライアントシステム（第３の装置２０２Ａ）に対する更新要求応答処理において更新履歴を取得できるように、更新履歴を時系列で第２更新履歴記憶部２５に記憶させる。次にステップＳ８１に戻る。
【００４２】
以上の動作によって、第２の装置２０の更新履歴要求部２３が自らの要件により定めたタイミングで同期処理を開始できるため、第２の装置２０が同期処理よりも優先度の高い処理を実行している場合は、第１の装置１０への更新履歴の要求を先延ばしにして、第２の装置２０の処理負荷を平準化することができる。
【００４３】
また、複数の第２の装置２０（２０Ａ、２０Ｂ、…）ごとに、情報の保持方法が異なる場合、例えば、データベース管理システム・リレーショナルデータベースあるいは階層型データベース等によって保持する場合、テキストファイル・バイナリファイルあるいは表計算ソフトウェア等の専用ファイルとして保持する場合、不揮発メモリや揮発メモリ上に独自の構造で保持する場合等、様々な保持方法がある。
このような場合、第１の装置１０と複数の第２の装置２０（２０Ａ、２０Ｂ、…）で構成された全システムがすでに稼働中に、新たな第２の装置２０Ｘ（図示せず）を情報同期対象として追加しようとすると、その追加する第２の装置２０Ｘの情報保持方法によっては、第１の装置１０の更新処理部１２の処理内容を変更する必要がある。更新処理部１２の変更を行っている時間は、マスタ情報の更新がすべての第２の装置２０へ同期されない。
よって、更新処理部１２の処理内容変更後に手動でコピーするか、またはその時間帯のマスタ情報の更新を禁止する必要がある。いずれの場合でもサービス停止期間が発生するという問題がある。
しかし、本発明によれば、実際に情報の同期を行うのは第２の装置２０であるため、第１の装置１０と複数の第２の装置２０で構成された全システムが稼働中でも、新たな第２の装置２０を情報同期対象に追加することができる。
【００４４】
また、第２の装置２０は、必要な情報種別の更新履歴のみについて同期を行うことにより、冗長な同期処理を防ぐことができる。
【００４５】
また、階層的な構成の場合、各段階における情報クライアントシステムは自らの情報同期先に対してのみ更新履歴の要求を行うため、マスタ情報を持つ情報サーバシステムが段階的な階層を構成するすべての情報クライアントシステムを管理する必要がない。それぞれの情報クライアントシステムが、自らの情報同期先のみを管理することで十分である。
【００４６】
さらに、従来の方法では、第１の装置１０は、複数あるすべての第２の装置２０（２０Ａ、２０Ｂ、…）の稼働状況を監視し、ある第２の装置２０Ｘ（図示せず）が不稼動状態の間のマスタ情報に対する更新については別途保存しておく必要がある。そして、第２の装置２０Ｘの再稼動後に第１の装置１０の更新処理部１２は、保存していた情報を第２の装置２０Ｘに対して更新する、あるいは、第１の装置のサービスを停止して手動でマスタ情報を第２の装置２０Ｘにコピーする等のリカバリーが必要である。
しかし、本発明によれば、第１の装置１０は、第２の装置２０からの要求により更新履歴を返すため、すべての第２の装置２０（２０Ａ、２０Ｂ、…）の稼働状況を監視する必要がない。すなわち、既存の第１の装置と既存の第２の装置は稼動させたまま新たな第２の装置２０Ｙ（図示せず）を同期対象に追加することも、既存の第２の装置を一時停止させることも、稼働中の第１の装置１０と稼働中の他の第２の装置２０に影響を与えることなく行うことができる。
【００４７】
＜第２実施形態＞
次に、本発明の第２実施形態について、図７〜図１１を参照して説明する。なお、同一の構成には同一の符号を付して、重複する説明は省略する。
[情報同期システム１ａの構成]
図７に示すように、第１の装置１０ａは、更新処理部１２ａと、第１更新要求応答部１４ａと、終点時刻スタンプ記憶部１５とを備えている。
第２の装置２０ａは、起点・終点時刻スタンプ記憶部２２ａを備えている。なお、階層的な構成は第１実施形態と同様である。
【００４８】
更新処理部１２ａは、第１実施形態における更新処理部１２の機能に加え、さらに意味的に不可分な一連の更新履歴を分解しない最新の更新履歴の時刻スタンプを終点時刻スタンプとして、後記する終点時刻スタンプ記憶部１５に記憶させるものである。
第１更新要求応答部１４ａは、第２の装置２０ａからの更新履歴要求に対し、起点時刻スタンプより新しく、かつ、終点時刻スタンプ以前の時刻スタンプを持つ、第１更新履歴記憶部１３に記憶された更新履歴を第２の装置２０ａに返すものである。
終点時刻スタンプ記憶部１５は、終点時刻スタンプを記憶するものである。
起点・終点時刻スタンプ記憶部２２ａは、起点時刻スタンプおよび終点時刻スタンプを記憶するものである。
【００４９】
[情報同期システム１ａの動作]
次に、情報同期システム１ａの動作について図８〜図１１を参照して説明する。
図８のフローチャートに示すように、ステップＳ１０１において、更新履歴要求部２３は、第１の装置１０ａの第１更新要求応答部１４ａに対し、終点時刻スタンプを要求する。
ステップＳ１０２において、第１更新要求応答部１４ａは、終点時刻スタンプ返信処理を行う。なお、このステップにおける処理は後に詳述する。
【００５０】
ステップＳ１０３において、更新履歴要求部２３は、終点時刻スタンプを受信し、起点・終点時刻スタンプ記憶部２２ａに終点時刻スタンプを記憶させる。
ステップＳ１０４において、更新履歴要求部２３は、起点・終点時刻スタンプ記憶部２２ａに起点時刻スタンプが記憶されているか否かを判定する。起点時刻スタンプが記憶されていない場合には（ステップＳ１０４・Ｎｏ）、更新履歴要求部２３は、同期更新処理部２４を介して、第２マスタ情報記憶部２１に記憶された第２マスタ情報と第２更新履歴記憶部２５に記憶された第２更新履歴をすべて破棄し、起点時刻スタンプを、システム起点時刻、システム起点からの経過時間０またはシーケンス番号０で更新して起点・終点時刻スタンプ記憶部２２ａに記憶する（ステップＳ１０５）。次にステップＳ１０６へ進む。
【００５１】
一方、起点時刻スタンプが記憶されている場合には（ステップＳ１０４・Ｙｅｓ）、ステップＳ１０６において、更新履歴要求部２３は、起点・終点時刻スタンプ記憶部２２ａに記憶された起点時刻スタンプ、終点時刻スタンプおよび情報種別を指定して、更新履歴を第１の装置１０ａに対して要求する。
ステップＳ１０７において、第１更新要求応答部１４ａは、更新要求応答処理を行う。なお、このステップにおける処理は後に詳述する。
【００５２】
ステップＳ１０８において、更新履歴要求部２３は、第１更新要求応答部１４ａからの更新履歴を受信する。
ステップＳ１０９において、同期更新処理部２４は、同期更新処理を行う。なお、このステップにおける処理は後に詳述する。
【００５３】
ステップＳ１１０において、更新履歴要求部２３は、他に更新が必要な情報種別が存在するか否かを判定する。他に更新が必要な情報種別が存在する場合には（ステップＳ１１０・Ｙｅｓ）、ステップＳ１０６に戻って、更新履歴要求部２３は、その情報種別を指定して更新履歴を要求する。
一方、他に更新が必要な情報種別が存在しない場合には（ステップＳ１１０・Ｎｏ）、ステップＳ１１１において、同期更新処理部２４は、起点時刻スタンプを終点時刻スタンプで更新する。
【００５４】
[第１の装置１０ａにおける第１更新要求応答部１４ａの終点時刻スタンプ返信処理動作]
次に、第１の装置１０ａにおける第１更新要求応答部１４ａの終点時刻スタンプ返信処理（図８、ステップＳ１０２参照）動作について図９を参照して説明する。
図９のフローチャートに示すように、ステップＳ１２１において、第１更新要求応答部１４ａは、更新処理部１２ａの排他ロックを要求する。
【００５５】
ステップＳ１２２において、第１更新要求応答部１４ａは、更新処理部１２ａの排他ロックを取得したか否かを判定する。排他ロックを取得していない場合は（ステップＳ１２２・Ｎｏ）、第１更新要求応答部１４ａは、更新処理部１２ａの排他ロックの取得を待つ（ステップＳ１２３）。次にステップＳ１２１に戻る。
一方、排他ロックを取得した場合は（ステップＳ１２２・Ｙｅｓ）、ステップＳ１２４において、第１更新要求応答部１４ａは、終点時刻スタンプ記憶部１５に記憶された終点時刻スタンプを取得する。
【００５６】
ステップＳ１２５において、第１更新要求応答部１４ａは、更新処理部１２ａの排他ロックを解放する。
ステップＳ１２６において、第１更新要求応答部１４ａは、取得した終点時刻スタンプを第２の装置２０ａへ返す。
【００５７】
[第１の装置１０ａにおける第１更新要求応答部１４ａの更新要求応答処理動作]
次に、第１の装置１０ａにおける第１更新要求応答部１４ａの更新要求応答処理（図８、ステップＳ１０７参照）動作について図１０を参照して説明する。
図１０のフローチャートに示すように、ステップＳ１７１において、第１更新要求応答部１４ａは、第１更新履歴記憶部１３に記憶されたすべての更新履歴のうち、第２の装置２０ａから指定された起点時刻スタンプより新しく、かつ、終点時刻スタンプ以前の時刻スタンプを持ち、かつ、指定された情報種別の更新履歴を時系列で取得する。
【００５８】
ステップＳ１７２において、第１更新要求応答部１４ａは、取得した更新履歴を第２の装置２０ａへ返す。
なお、第１実施形態と異なり、第１更新要求応答部１４ａが更新処理部１２ａの排他ロックを取得する必要がないのは、更新履歴を取得する際に終点時刻スタンプを範囲指定に使用しているからである。
【００５９】
[第２の装置２０ａにおける同期更新処理部２４の同期更新処理動作]
次に、第２の装置２０ａにおける同期更新処理部２４の同期更新処理（図８、ステップＳ１０９参照）動作について図１１を参照して説明する。なお、この同期更新処理の前のステップにおいて、第２の装置２０ａの更新履歴要求部２３は、第１の装置１０ａからの更新履歴を受信している（図８参照、ステップＳ１０８）。また、ここでは、第１実施形態における同期更新処理との違いについてのみ説明する。
【００６０】
第１実施形態における同期更新処理との違いは、ステップＳ１９２において同期のための更新処理を行った後、起点時刻スタンプを更新履歴の時刻スタンプで更新しないことである。
これは、第２実施形態では、更新処理ごとに起点時刻スタンプを更新するのではなく、意味的に不可分な一連の更新履歴を分解しない最新の更新履歴の時刻スタンプである終点時刻スタンプで、起点時刻スタンプを更新するためである（図８参照、ステップＳ１１１）。
【００６１】
以上の動作によって、第１実施形態と同様の効果の他、意味的に不可分な一連の更新履歴を分解するような更新要求を防ぐことができる。
【００６２】
なお、終点時刻スタンプを第２の装置２０ａにおいて記憶することを前提としたが、第１の装置１０ａにおいてのみ記憶し、第２の装置２０ａからの更新要求ごとに第１の装置１０ａに記憶された終点時刻スタンプを参照することにしてもよい。
【００６３】
また、ステップＳ１０５において、第２マスタ情報と第２更新履歴を破棄しているが、ステップＳ１０８の後で、更新履歴要求部２３は、第２マスタ情報と第２更新履歴を、受信した更新履歴の情報種別ごとに破棄してもよい。
【００６４】
以上、本発明の実施形態について説明したが、本発明はこれに限定されず、本発明の趣旨を逸脱しない範囲で、例えば次のように変更することができる。
第２の装置２０，２０ａは、複数接続されていてもよい。
また、第２の装置２０，２０ａそのものがさらに情報サーバシステム２０１と情報クライアントシステム２０２（２０２Ａ、２０２Ｂ、…）とネットワーク２０３によって構成される場合について、およびそれ以降も階層的に同様に構成される場合についても、各段階において、上述した処理を再帰的に行うことになる。
【符号の説明】
【００６５】
１      情報同期システム
１０    第１の装置
１１    第１マスタ情報記憶部
１２    更新処理部
１３    第１更新履歴記憶部
１４    第１更新要求応答部
１５    終点時刻スタンプ記憶部
２０    第２の装置
２１    第２マスタ情報記憶部
２２    起点時刻スタンプ記憶部
２３    更新履歴要求部
２４    同期更新処理部
２５    第２更新履歴記憶部
２６    第２更新要求応答部
【図１】
0005469573.tif 000002
【図２】
0005469573.tif 000003
【図３】
0005469573.tif 000004
【図４】
0005469573.tif 000005
【図５】
0005469573.tif 000006
【図６】
0005469573.tif 000007
【図７】
0005469573.tif 000008
【図８】
0005469573.tif 000009
【図９】
0005469573.tif 000010
【図１０】
0005469573.tif 000011
【図１１】
0005469573.tif 000012
【図１２】
0005469573.tif 000013
【図１３】
0005469573.tif 000014