(57)【特許請求の範囲】
【請求項１】
ユーザにサービスを提供するサービス提供装置と、マスタデータベースを有するマスタデータベースサーバと、スレーブデータベースを有するスレーブデータベースサーバとを有する更新システムであって、
前記サービス提供装置は、前記マスタデータベースサーバと通信できない場合に、前記マスタデータベースサーバに代えて前記スレーブデータベースサーバに、前記スレーブデータベースのデータ参照を要求する参照要求を送信するデータ参照部を備え、
前記マスタデータベースサーバは、前記マスタデータベースのデータが更新された後、前記スレーブデータベースサーバにデータが更新されたレコードを送信する更新データ送信部を備え、
前記スレーブデータベースサーバは、前記サービス提供装置から前記参照要求を受信した際、前記スレーブデータベースのデータを該サービス提供装置に参照させ、データが参照されたレコードにスレーブ参照フラグを付与する参照データ管理部と、
前記マスタデータベースサーバからデータが更新されたレコードを受信した際、前記スレーブデータベースの対応するレコードのデータを、受信したデータに更新するとともに、当該対応するレコードに前記スレーブ参照フラグが付与されていれば、前記サービス提供装置にデータが更新された旨を通知する更新データ管理部と、を備える、
ことを特徴とする更新システム。
【請求項２】
前記更新データ管理部は、前記サービス提供装置に、データが更新された旨に加えて、あるいはデータが更新された旨に代えて、更新されたデータを通知することを特徴とする請求項１に記載の更新システム。
【請求項３】
ユーザにサービスを提供するサービス提供装置と、マスタデータベースを有するマスタデータベースサーバと、スレーブデータベースを有するスレーブデータベースサーバとを有する更新システムで実行される更新方法であって、
前記サービス提供装置における、前記マスタデータベースサーバと通信できない場合に、前記マスタデータベースサーバに代えて前記スレーブデータベースサーバに、前記スレーブデータベースのデータ参照を要求する参照要求を送信するデータ参照工程と、
前記マスタデータベースサーバにおける、前記マスタデータベースのデータが更新された後、前記スレーブデータベースサーバにデータが更新されたレコードを送信する更新データ送信工程と、
前記スレーブデータベースサーバにおける、前記サービス提供装置から前記参照要求を受信した際、前記スレーブデータベースのデータを該サービス提供装置に参照させ、データが参照されたレコードにスレーブ参照フラグを付与する参照データ管理工程と、
前記マスタデータベースサーバからデータが更新されたレコードを受信した際、前記スレーブデータベースの対応するレコードのデータを、受信したデータに更新するとともに、当該対応するレコードに前記スレーブ参照フラグが付与されていれば、前記サービス提供装置にデータが更新された旨を通知する更新データ管理工程と、
を含んだことを特徴とする更新方法。
【請求項４】
ユーザにサービスを提供するサービス提供装置と、マスタデータベースを有するマスタデータベースサーバと、スレーブデータベースを有するスレーブデータベースサーバとを有する更新システムであって、
前記サービス提供装置は、前記マスタデータベースサーバと通信できない場合に、前記マスタデータベースサーバに代えて前記スレーブデータベースサーバに、前記スレーブデータベースのデータ参照を要求する参照要求を送信し、
前記マスタデータベースサーバは、前記マスタデータベースのデータが更新された後、前記スレーブデータベースサーバにデータが更新されたレコードを送信する更新システムにおける前記スレーブデータベースサーバのコンピュータに、
前記サービス提供装置から前記参照要求を受信した際、前記スレーブデータベースのデータを該サービス提供装置に参照させ、データが参照されたレコードにスレーブ参照フラグを付与する参照データ管理ステップと、
前記マスタデータベースサーバからデータが更新されたレコードを受信した際、前記スレーブデータベースの対応するレコードのデータを、受信したデータに更新するとともに、当該対応するレコードに前記スレーブ参照フラグが付与されていれば、前記サービス提供装置にデータが更新された旨を通知する更新データ管理ステップと、
を実行させるための更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新システム、更新方法、および更新プログラムに関する。
【背景技術】
【０００２】
従来、マスタデータベース（ＤＢ）／スレーブデータベース（ＤＢ）によりデータベース（ＤＢ）が冗長化されたデータベース（ＤＢ）サーバシステムが知られている（特許文献１参照）。サービス提供装置は、通常、マスタＤＢのデータを参照してユーザにサービスを提供する。
【０００３】
このようなＤＢサーバシステムにおいては、ネットワーク障害等によりマスタＤＢとスレーブＤＢとを同期させることができず、マスタＤＢとスレーブＤＢとを入れ替えるいわゆるマスタ／スレーブ交代ができない状態であっても、サービスを継続して提供する必要がある。そこで、複数のＤＢサーバが同時に起動してしまういわゆるスプリットブレインの状態にならないことを前提に、スレーブＤＢのデータ参照をサービス提供装置に許容する場合がある。サービス提供装置は、参照したスレーブＤＢのデータをキャッシュメモリに保存して、サービス提供に利用する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５７０１２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の場合には、マスタＤＢとスレーブＤＢとが同期していないため、マスタＤＢのデータのみが更新されてスレーブＤＢのデータが更新されていない場合があり得る。そうすると、マスタＤＢおよびスレーブＤＢの次回の更新まで、あるいは、サービス提供装置が次にマスタＤＢのデータを参照するまで、更新前のデータが運用されることになる。
【０００６】
本発明は、上記に鑑みてなされたものであって、ネットワーク障害等が発生した場合にも可及的速やかに更新されたデータを運用することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係る更新システムは、ユーザにサービスを提供するサービス提供装置と、マスタデータベースを有するマスタデータベースサーバと、スレーブデータベースを有するスレーブデータベースサーバとを有する更新システムであって、前記サービス提供装置は、前記マスタデータベースサーバと通信できない場合に、前記マスタデータベースサーバに代えて前記スレーブデータベースサーバに、前記スレーブデータベースのデータ参照を要求する参照要求を送信するデータ参照部を備え、前記マスタデータベースサーバは、前記マスタデータベースのデータが更新された後、前記スレーブデータベースサーバにデータが更新されたレコードを送信する更新データ送信部を備え、前記スレーブデータベースサーバは、前記サービス提供装置から前記参照要求を受信した際、前記スレーブデータベースのデータを該サービス提供装置に参照させ、データが参照されたレコードにスレーブ参照フラグを付与する参照データ管理部と、前記マスタデータベースサーバからデータが更新されたレコードを受信した際、前記スレーブデータベースの対応するレコードのデータを、受信したデータに更新するとともに、対応するレコードに前記スレーブ参照フラグが付与されていれば、前記サービス提供装置にデータが更新された旨を通知する更新データ管理部と、を備える、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ネットワーク障害等が発生した場合にも可及的速やかに更新されたデータを運用することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の一実施形態に係る更新システムの概略構成を示す模式図である。
【図２】図２は、本実施形態のサービス提供装置の構成を例示する模式図である。
【図３】図３は、本実施形態のマスタＤＢサーバの構成を例示する模式図である。
【図４】図４は、本実施形態のマスタＤＢのデータ構成を例示する図である。
【図５】図５は、本実施形態のスレーブＤＢサーバの構成を例示する模式図である。
【図６】図６は、本実施形態のスレーブＤＢのデータ構成を例示する図である。
【図７Ａ】図７Ａは、本実施形態の更新処理を説明するための説明図である。
【図７Ｂ】図７Ｂは、本実施形態の更新処理を説明するための説明図である。
【図７Ｃ】図７Ｃは、本実施形態の更新処理を説明するための説明図である。
【図７Ｄ】図７Ｄは、本実施形態の更新処理を説明するための説明図である。
【図７Ｅ】図７Ｅは、本実施形態の更新処理を説明するための説明図である。
【図７Ｆ】図７Ｆは、本実施形態の更新処理を説明するための説明図である。
【図８】図８は、本実施形態の更新処理を説明するための説明図である。
【図９】図９は、本実施形態の更新処理手順を例示するシーケンス図である。
【図１０】図１０は、更新プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１１】
［更新システム］
図１は、本実施形態に係る更新システムの概略構成を示す模式図である。図１に示すように、更新システム１は、サービス提供装置１０と、マスタデータベース（ＤＢ）サーバ２０と、スレーブデータベース（ＤＢ）サーバ３０とが、互いに通信可能に接続されて構成される。
【００１２】
サービス提供装置１０は、ユーザにサービスを提供する。マスタＤＢサーバ２０は、サービス提供に必要なデータを記憶するマスタＤＢ２１を有する。スレーブＤＢサーバ３０は、マスタＤＢ２１の複製データを記憶するスレーブＤＢ３１を有する。
【００１３】
このような構成の更新システム１において、サービス提供装置１０は、平常時に、ユーザの要求に応じて、あるいは予め、マスタＤＢ２１にアクセスしてデータを参照し、参照したデータをキャッシュメモリに記憶するデータキャッシュを行う。そして、サービス提供装置１０は、このデータを用いてユーザにサービスを提供する。また、サービス提供装置１０は、ネットワーク障害等によりマスタＤＢサーバ２０と通信できない場合に、スレーブＤＢ３１にアクセスしてデータを参照し、データキャッシュを行って、このデータを用いてユーザにサービスを提供する。
【００１４】
マスタＤＢサーバ２０は、図示しない操作端末等によりマスタＤＢ２１のデータ更新が行われた場合に、更新されたデータをスレーブＤＢサーバ３０に通知して、マスタＤＢ２１とスレーブＤＢ３１とを同期させるレプリケーションを行う。マスタＤＢサーバ２０は、マスタＤＢ２１のデータ更新が行われた後、直ちに、あるいは、スレーブＤＢ３１との通信ができない場合には通信可能となった場合に直ちに、レプリケーションを行う。
【００１５】
本実施形態の更新システム１は、このマスタＤＢ２１のデータ更新とスレーブＤＢ３１と同期するまでの間に、サービス提供装置１０がスレーブＤＢ３１の更新前のデータを参照した場合に、可及的速やかにデータ更新があったことを通知して、更新後のデータを用いたサービス提供を可能とする。
【００１６】
［サービス提供装置］
図２は、サービス提供装置１０の構成を例示する模式図である。サービス提供装置１０は、ワークステーションやパソコン等の汎用コンピュータで実現され、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図２に例示するように、データ参照部１１およびサービス提供部１２として機能する。
【００１７】
データ参照部１１は、マスタＤＢサーバと通信できない場合に、マスタＤＢサーバ２０に代えてスレーブＤＢサーバ３０に、スレーブＤＢ３１のデータ参照を要求する参照要求を送信する。具体的に、データ参照部１１は、平常時、マスタＤＢサーバ２０にマスタＤＢ２１のデータ参照の参照要求を送信する。また、データ参照部１１は、ネットワーク障害等によりマスタＤＢサーバ２０にアクセスできない場合には、スレーブＤＢサーバ３０に、スレーブＤＢ３１のデータ参照の参照要求を送信する。
【００１８】
また、データ参照部１１は、参照要求に応答してマスタＤＢサーバ２０またはスレーブＤＢサーバ３０から返送された参照応答に含まれるデータを、キャッシュメモリに記憶する（以下、データキャッシュと称する）。
【００１９】
サービス提供部１２は、データキャッシュされたデータを用いて、ユーザにサービスを提供する。例えば、サービス提供部１２は、電話番号と宛先アドレスとを対応づけたデータを用いて、ユーザが指定した電話番号に対応する宛先アドレスをユーザに通知するサービスを提供する。
【００２０】
［マスタＤＢサーバの構成］
図３は、マスタＤＢサーバ２０の構成を例示する模式図である。マスタＤＢサーバ２０は、ワークステーションやパソコン等の汎用コンピュータで実現され、図３に示すように、マスタＤＢ２１と、入力部２２と、出力部２３と、通信制御部２４と、制御部２５とを備える。
【００２１】
入力部２２は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部２５に対して処理開始などの各種指示情報を入力する。出力部２３は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。
【００２２】
通信制御部２４は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネット等の電気通信回線を介したスレーブＤＢサーバ３０や上位ＯｐＳ（Operation  System）等の外部の装置と制御部２５との通信を制御する。
【００２３】
マスタＤＢ２１は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。なお、マスタＤＢ２１は、通信制御部２４を介して制御部２５と通信する構成としてもよい。
【００２４】
マスタＤＢ２１は、サービス提供装置１０が参照してサービス提供に用いるサービス情報を記憶する。サービス情報は、図４に例示するように、各レコードを識別するレコードＩＤと、情報内容を示すデータにより構成される。図４には、例えば、レコードＩＤが１であるレコードのデータがＡＡＡであることが例示されている。このサービス情報は、制御部２５の制御により、あるいは予め、通信制御部２４あるいは入力部２２を介して上位ＯｐＳ等から取得される。
【００２５】
制御部２５は、ＣＰＵ等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図３に例示するように、データ更新部２５１および更新データ送信部２５２として機能する。
【００２６】
データ更新部２５１は、上位ＯｐＳ等から更新用のデータが入力された際、マスタＤＢ２１のデータを更新する。具体的に、データ更新部２５１は、通信制御部２４あるいは入力部２２を介してサービス情報を更新するためのデータが入力された際、対応するレコードのデータを入力されたデータに更新する。
【００２７】
更新データ送信部２５２は、マスタＤＢ２１のデータが更新された後、スレーブＤＢサーバ３０にデータが更新されたレコードを送信する。具体的に、データ更新部２５１がサービス情報を更新した場合に、直ちに、あるいは所定のタイミングで、更新データ送信部２５２は、スレーブＤＢサーバ３０に、更新されたデータと対応するレコードＩＤとを含むレコードを含め、マスタＤＢ２１とスレーブＤＢ３１との同期を指示するレプリケーションを送信する。なお、ネットワーク障害等によりスレーブＤＢサーバ３０にアクセスできない場合には、更新データ送信部２５２は、スレーブＤＢサーバ３０にアクセスする通信回線が復旧した後、直ちに、あるいは所定のタイミングで、スレーブＤＢサーバ３０にデータが更新されたレコードを含め、レプリケーションを送信する。
【００２８】
［スレーブＤＢサーバ］
図５は、スレーブＤＢサーバ３０の概略構成を例示する模式図である。スレーブＤＢサーバ３０は、ワークステーションやパソコン等の汎用コンピュータで実現され、図５に示すように、スレーブＤＢ３１と、入力部３２と、出力部３３と、通信制御部３４と、制御部３５とを備える。
【００２９】
入力部３２は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部３５に対して処理開始などの各種指示情報を入力する。出力部３３は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。
【００３０】
通信制御部３４は、ＮＩＣ等で実現され、ＬＡＮやインターネットなどの電気通信回線を介したマスタＤＢサーバ２０やサービス提供装置１０等の外部の装置と制御部３５との通信を制御する。
【００３１】
スレーブＤＢ３１は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。なお、スレーブＤＢ３１は、通信制御部３４を介して制御部３５と通信する構成としてもよい。
【００３２】
スレーブＤＢ３１は、マスタＤＢ２１に記憶されるサービス情報を複製した冗長化情報を記憶する。なお、スレーブＤＢ３１のデータには、図６に例示するように、図４に例示したサービス情報の複製に加え、スレーブ参照フラグの項目が含まれる。後述する更新処理により、該当のレコードにスレーブ参照フラグが付与される場合に、このスレーブ参照フラグの項目にビットが立てられる。図６の例では、このスレーブ参照フラグの項目の値が１である場合に、ビットが立てられていること、すなわちスレーブ参照フラグが付与されていることが表されている。
【００３３】
制御部３５は、ＣＰＵ等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図５に例示するように、参照データ管理部３５１および更新データ管理部３５２として機能する。
【００３４】
参照データ管理部３５１は、サービス提供装置１０から参照要求を受信した際、スレーブＤＢ３１のデータを該サービス提供装置１０に参照させ、データが参照されたレコードにスレーブ参照フラグを付与する。具体的に、参照データ管理部３５１は、サービス提供装置１０とマスタＤＢサーバ２０との間のネットワーク障害等により、サービス提供装置１０から参照要求を受信する場合がある。その場合に、参照データ管理部３５１は、サービス提供装置１０にスレーブＤＢ３１の冗長化情報を参照させる。また、参照データ管理部３５１は、参照されたレコードにスレーブ参照フラグを付与する。
【００３５】
ここで、図７Ａ〜図７Ｃを参照して、参照データ管理部３５１の動作について具体的に説明する。平常時には、図７Ａに例示するように、サービス提供装置１０は、マスタＤＢサーバ２０に参照要求を送信し、マスタＤＢ２１のサービス情報を参照し、参照応答に含まれるデータをデータキャッシュする。また、マスタＤＢサーバ２０は、定期的に、あるいは、マスタＤＢ２１のデータが更新された場合に、スレーブＤＢサーバ３０にマスタＤＢ２１とスレーブＤＢ３１とを同期を指示するレプリケーションを送信する。
【００３６】
また、図７Ｂに例示するように、マスタＤＢ２１のデータが更新された後、マスタＤＢサーバ２０とスレーブＤＢサーバ３０との間のネットワーク（ＮＷ）障害等により、スレーブＤＢ３１のデータが更新されない場合、マスタＤＢ２１のデータとスレーブＤＢ３１のデータとに差異が生じる。図７Ｂの例では、マスタＤＢ２１のレコードＩＤが２，３のデータが更新された後、ネットワーク障害等により、更新されたデータすなわちレコードＩＤが２のデータＤＤＤとレコードＩＤが３のデータＥＥＥとがスレーブＤＢ３１に送信されていない。そのため、スレーブＤＢ３１のレコードＩＤが２のデータはＢＢＢ、レコードＩＤが３のデータはＣＣＣのままである。
【００３７】
続いて、図７Ｃに例示するように、サービス提供装置１０とマスタＤＢサーバ２０との間のネットワーク障害の場合等に、サービス提供装置１０からスレーブＤＢサーバ３０に参照要求が送信される。その場合に、参照データ管理部３５１は、スレーブＤＢ３１の参照されたデータに対応するレコードに、スレーブ参照フラグを付与する。また、参照応答に更新前のデータを含めてサービス提供装置１０に返信する。
【００３８】
図７Ｃの例では、レコードＩＤが２のデータを指定する参照要求を受信した際、参照データ管理部３５１は、レコードＩＤが２のレコードにスレーブ参照フラグを付与し、レコードＩＤが２の更新されていないデータＢＢＢを参照応答に含めてサービス提供装置１０に返信する。サービス提供装置１０では、レコードＩＤが２の更新されていないデータＢＢＢがデータキャッシュされる。
【００３９】
更新データ管理部３５２は、マスタＤＢサーバ２０からデータが更新されたレコードを受信した際、スレーブＤＢ３１の対応するレコードのデータを、受信したデータに更新する。また、更新データ管理部３５２は、対応するレコードにスレーブ参照フラグが付与されていれば、サービス提供装置１０にデータが更新された旨を通知する。
【００４０】
具体的に、マスタＤＢサーバ２０から、スレーブＤＢサーバ３０にデータが更新されたレコードを含んだレプリケーションを受信した際、更新データ管理部３５２は、スレーブＤＢ３１の対応するレコードのデータを、受信したデータに更新する。また、更新データ管理部３５２は、このレコードにスレーブ参照フラグが付与されている場合には、サービス提供装置１０にデータが更新された旨を通知する。併せて、スレーブ参照フラグを除去すなわち図６の例では０にする。これにより、サービス提供装置１０は、改めてマスタＤＢ２０あるいはスレーブＤＢ３０に参照要求を送信して、データキャッシュされているデータを更新することができる。
【００４１】
なお、更新データ管理部３５２は、データが更新された旨に加えて、あるいはデータが更新された旨に代えて、更新されたデータをサービス提供装置１０に通知してもよい。これにより、サービス提供装置１０は、改めてマスタＤＢ２０あるいはスレーブＤＢ３０のデータを参照しなくても、データキャッシュされているデータを更新することができる。
【００４２】
ここで、図７Ｄ〜図７Ｆを参照して、更新データ管理部３５２の動作について具体的に説明する。図７Ｄに例示するように、マスタＤＢサーバ２０は、スレーブＤＢサーバ３０との間の通信回線が復旧した後、スレーブＤＢサーバ３０に、データが更新されたレコードを含め、マスタＤＢ２１とスレーブＤＢ３１との同期を指示するレプリケーションを送信する。図７Ｄの例では、レコードＩＤが２の更新されたデータＤＤＤとレコードＩＤが３の更新されたデータＥＥＥとが、スレーブＤＢサーバ３０に送信される。
【００４３】
次に、図７Ｅに例示するように、データが更新されたレコードを受信した更新データ管理部３５２は、受信したレコードに対応するスレーブＤＢ３１のレコードのうち、スレーブ参照フラグが付与されているデータをチェックする。図７Ｅの例では、スレーブＤＢ３１のレコードＩＤが２のレコードにスレーブ参照フラグが付与されている。したがって、更新データ管理部３５２は、このレコードＩＤが２のデータＢＢＢが更新前のデータであって、サービス提供装置１０にデータキャッシュされていることがわかる。
【００４４】
そこで、更新データ管理部３５２は、図７Ｆに例示するように、まず、マスタＤＢサーバ２０から受信したデータでスレーブＤＢ３１のデータを更新する。さらに、更新データ管理部３５２は、サービス提供装置１０に、参照されたデータの更新後のデータを通知する。図７Ｆの例では、スレーブＤＢ３１について、レコードＩＤが２のデータがＤＤＤに、レコードＩＤが３のデータがＥＥＥに更新される。また、サービス提供装置１０に、レコードＩＤが２の更新されたデータＤＤＤが通知される。これにより、サービス提供装置１０は、データキャッシュされているデータを、ＢＢＢからＤＤＤに更新することができる。
【００４５】
次に、図８を参照して、参照データ管理部３５１および更新データ管理部３５２の処理についてまとめる。すなわち、スレーブＤＢ３１のレコードについて、レコードＩＤが１のレコードのデータＡＡＡについては、マスタＤＢ２１で更新されておらず、また、スレーブ参照フラグが付与されておらずサービス提供装置１０により参照されていないため、参照データ管理部３５１および更新データ管理部３５２の処理の対象外である。レコードＩＤが２のレコードのデータＢＢＢについては、サービス提供装置１０により参照されているが、マスタＤＢ２１で更新されていないので、やはり、参照データ管理部３５１および更新データ管理部３５２の処理の対象外である。レコードＩＤが３のレコードのデータＣＣＣについては、マスタＤＢ２１でＥＥＥに更新されているが、サービス提供装置１０により参照されていないので、更新データ管理部３５２によりデータが更新される。レコードＩＤが４のレコードのデータＤＤＤについては、マスタＤＢ２１でＦＦＦに更新され、また、サービス提供装置１０により参照されているので、更新データ管理部３５２によりデータが更新され、サービス提供装置１０にデータが更新されたことが通知される。
【００４６】
［更新処理］
次に、図９のシーケンス図を参照して、更新システム１における更新処理手順について説明する。図９の例では、マスタＤＢ２１およびスレーブＤＢ３１は、電話番号と宛先アドレスとを対応づけしたデータを記憶している。サービス提供装置１０は、マスタＤＢ２１またはスレーブＤＢ３１のデータを参照して、エンドユーザの電話番号を指定した宛先解決要求に応答し、電話番号に対応する宛先アドレスを宛先解決応答に含めて返信する。マスタＤＢ２１のデータ更新は上位ＯｐＳにより入力される。
【００４７】
上位ＯｐＳによりマスタＤＢ２１のデータが更新された場合（ステップＳ１）、平常時には、マスタＤＢサーバ２０は、スレーブＤＢサーバ３０に、データが更新されたレコードを含め、マスタＤＢ２１とスレーブＤＢ３１との同期を指示するレプリケーションを送信する（ステップＳ２）。これを受信したスレーブＤＢサーバ３０は、対応するレコードのデータを更新する（ステップＳ３）。
【００４８】
本実施形態では、ネットワーク障害等により、ステップＳ２〜Ｓ３の処理が行われていない場合が想定されている。例えば、マスタＤＢ２１のレコードＩＤが２のレコードのデータについて、電話番号０５０−３３３３−４４４４に対応する宛先アドレスが、０ｅ．０ｆ．０ｇ．０ｈから０ｎ．０ｏ．０ｐ．０ｑに更新されたとする。その場合にも、スレーブＤＢ３１のレコードＩＤが２のレコードのデータは、電話番号０５０−３３３３−４４４４と宛先アドレス０ｅ．０ｆ．０ｇ．０ｈとが対応付けされたものである。
【００４９】
サービス提供装置１０は、エンドユーザから電話番号（例えば０５０−３３３３−４４４４）を指定した宛先解決要求を受信した場合に（ステップＳ４）、この電話番号に対応するレコードがデータキャッシュされていなければ、まず、マスタＤＢサーバ２０に、この電話番号０５０−３３３３−４４４４を指定した参照要求を送信する（ステップＳ５）。ネットワーク障害等によりマスタＤＢサーバ２０にアクセスできない場合に、サービス提供装置１０は、スレーブＤＢサーバ３０にこの電話番号０５０−３３３３−４４４４を指定した参照要求を送信する（ステップＳ６）。
【００５０】
スレーブＤＢサーバ３０は、電話番号０５０−３３３３−４４４４に対応するレコードＩＤが２のレコードに、スレーブ参照フラグを付与する。また、スレーブＤＢサーバ３０は、電話番号０５０−３３３３−４４４４に対応する宛先アドレス０ｅ．０ｆ．０ｇ．０ｈを含む参照応答をサービス提供装置１０に返信する（ステップＳ７）。サービス提供装置１０は、電話番号と対応する宛先アドレスからなるデータのデータキャッシュを行う（ステップＳ８）。また、サービス提供装置１０は、エンドユーザに、電話番号０５０−３３３３−４４４４に対応する宛先アドレス０ｅ．０ｆ．０ｇ．０ｈを含む宛先解決応答を返信する（ステップＳ９）。この場合、エンドユーザは、更新された宛先アドレス０ｎ．０ｏ．０ｐ．０ｑに接続することができない。
【００５１】
マスタＤＢサーバ２０は、スレーブＤＢサーバ３０にアクセス可能に通信回線が復旧した後、スレーブＤＢサーバ３０に、データが更新されたレコードを含め、マスタＤＢ２１とスレーブＤＢ３１との同期を指示するレプリケーションを送信する（ステップＳ１０）。
【００５２】
これを受信したスレーブＤＢサーバ３０は、受信したレコードに対応するレコードのスレーブ参照フラグをチェックして（ステップＳ１１）、スレーブ参照フラグが付与されているレコードＩＤが２のデータすなわち電話番号０５０−３３３３−４４４４と宛先アドレス０ｎ．０ｏ．０ｐ．０ｑとが対応付けされたデータを、サービス提供装置１０に通知する（ステップＳ１２）。これにより、サービス提供装置１０は、ステップＳ８の処理でデータキャッシュされた電話番号０５０−３３３３−４４４４と宛先アドレス０ｅ．０ｆ．０ｇ．０ｈとが対応付けされたデータを更新する（ステップＳ１３）。
【００５３】
これにより、サービス提供装置１０は、以降のエンドユーザによる宛先解決要求に対して、更新された宛先アドレス０ｎ．０ｏ．０ｐ．０ｑを含む宛先解決応答を返信できる。したがって、エンドユーザは更新された宛先アドレス０ｎ．０ｏ．０ｐ．０ｑに接続することができる。このように、本実施形態によれば、エンドユーザに更新された宛先アドレス０ｎ．０ｏ．０ｐ．０ｑを通知することができるようになるまでの時間Ｔを短縮することができる。
【００５４】
以上、説明したように、本実施形態の更新システム１では、スレーブＤＢサーバ３０の参照データ管理部３５１が、サービス提供装置１０からデータ参照を要求する参照要求を受信した際、スレーブＤＢ３１のデータを該サービス提供装置１０に参照させ、データが参照されたレコードにスレーブ参照フラグを付与する。また、更新データ管理部３５２が、マスタＤＢサーバ２０からデータが更新されたレコードを受信した際、スレーブＤＢ３１の対応するレコードのデータを、受信したデータに更新するとともに、対応するレコードにスレーブ参照フラグが付与されていれば、サービス提供装置１０にデータが更新された旨を通知する。
【００５５】
これにより、サービス提供装置１０にデータが更新されたことが通知されるので、更新前のデータによる運用期間を短縮できる。また、更新されたデータが通知される場合には、サービス提供装置１０において短期間でデータ整合を図れる。したがって、ネットワーク障害等が発生した場合にも可及的速やかに更新されたデータを運用することができる。
【００５６】
［他の実施形態］
［プログラム］
上記実施形態に係る更新システム１を構成する各装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、係るプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、更新システム１と同様の機能を実現する更新プログラムを実行するコンピュータの一例を説明する。
【００５７】
図１０に示すように、更新プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００５８】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００５９】
ここで、図１０に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６０】
また、更新プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した更新システム１が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０３１に記憶される。
【００６１】
また、更新プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６２】
なお、更新プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ログ判定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６３】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００６４】
１    更新システム
１０  サービス提供装置
１１  データ参照部
１２  サービス提供部
２０  マスタデータベース（ＤＢ）サーバ
２１  マスタデータベース（ＤＢ）
２５１  データ更新部
２５２  更新データ送信部
３０  スレーブデータベース（ＤＢ）サーバ
３１  スレーブデータベース（ＤＢ）
３５１  参照データ管理部
３５２  更新データ管理部
【図１】
0006434385.tif 000002
【図２】
0006434385.tif 000003
【図３】
0006434385.tif 000004
【図４】
0006434385.tif 000005
【図５】
0006434385.tif 000006
【図６】
0006434385.tif 000007
【図７Ａ】
0006434385.tif 000008
【図７Ｂ】
0006434385.tif 000009
【図７Ｃ】
0006434385.tif 000010
【図７Ｄ】
0006434385.tif 000011
【図７Ｅ】
0006434385.tif 000012
【図７Ｆ】
0006434385.tif 000013
【図８】
0006434385.tif 000014
【図９】
0006434385.tif 000015
【図１０】
0006434385.tif 000016