(57)【要約】  常時接続できない場合でも拠点間のDBの同期を取る。  本レプリ処理方法は、ユーザからDBの更新指示を受け付け、更新指示に従ってDBを更新し、少なくとも更新対象の領域を示す更新アドレスと更新後データとを第1アドレス表に格納する工程と、所定のタイミングで他拠点と接続し、他拠点における更新に係る更新アドレスと更新後データとを格納している第2アドレス表を取得し、他拠点との接続を終了する工程と、第1アドレス表及び第2アドレス表に同一の更新アドレスが格納されている場合、所定の規則に従って当該更新アドレスに対応し且つ第1アドレス表及び第2アドレス表に格納される更新後データのいずれかを当該更新アドレスに示され且つDB内の該当領域に反映すべきデータとして特定する工程と、反映すべきデータとして第2アドレス表に格納された更新後のデータが特定された場合、当該更新後データでDB内の該当領域を更新する工程とを含む。
2009107184.tif 000002
【特許請求の範囲】
【請求項１】
狭帯域回線を用いて拠点間の通信を行う場合におけるレプリ処理方法であって、
ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第１の更新アドレステーブルに格納する第１更新ステップと、
所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第２の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得ステップと、
前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定するステップと、
前記反映すべきデータとして前記第２の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第２更新ステップと、
を含み、コンピュータにより実行されるレプリ処理方法。
【請求項２】
前記第２更新ステップにより前記データベース内の該当する領域の更新がなされた場合、前記データベース内の該当する領域の更新を指示した前記ユーザに更新データの破棄を通知するステップ
をさらに含む請求項１記載のレプリ処理方法。
【請求項３】
前記所定のルールが、
更新回数の多い拠点を優先するルール、更新対象数の多い拠点を優先するルール、更新日時の遅い拠点を優先するルール、更新アドレスの差分の小さい拠点を優先するルール、又は、予め設定された優先度の高い拠点を優先するルールである
ことを特徴とする請求項１記載のレプリ処理方法。
【請求項４】
予め設定されたスケジュールに従って前記取得ステップ以降のステップを実行することを特徴とする請求項１記載のレプリ処理方法。
【請求項５】
前記狭帯域回線が従量制の回線であることを特徴とする請求項１記載のレプリ処理方法。
【請求項６】
狭帯域回線を用いて拠点間のデータベースの同期を取るためのプログラムであって、
ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第１の更新アドレステーブルに格納する第１更新ステップと、
所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第２の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得ステップと、
前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定するステップと、
前記反映すべきデータとして前記第２の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第２更新ステップと、
をコンピュータに実行させるためのレプリ処理プログラム。
【請求項７】
狭帯域回線を用いて拠点間のデータベースの同期を取るための管理装置であって、
ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第１の更新アドレステーブルに格納する第１更新手段と、
所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第２の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得手段と、
前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定する手段と、
前記反映すべきデータとして前記第２の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第２更新手段と、
を有する管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、狭帯域回線を用いて拠点間のデータベースの同期を取るための技術に関する。
【背景技術】
【０００２】
従来から、例えばバックアップシステムにおいて、データベースのレプリカを作成し、本体とレプリカとを同期させる技術が存在している。【０００３】
例えば特開２０００−０３５９１１号公報には、複数のサーバで構成された分散システムにおいて、自サーバの保有するデータベースと、他サーバの保有するデータベースとを等価させる技術が開示されている。具体的には、自サーバと他サーバとのデータベースが等価している状態で、他サーバを分散システムから切り離して再度接続する場合、他サーバが切り離されてから再接続するまでの間に、自サーバのデータベースにおいて変更のあったデータを他サーバに送信するようになっている。【０００４】
また例えば特開平１１−２５９３２４号公報には、主記憶装置の記憶内容の複写期間中の信頼性の低下、並びに処理能力の圧迫を極力軽減することができる二重化制御装置が開示されている。具体的には、二重化制御装置は、各チャネル制御装置の機能試験用に設けられ、ダイレクトメモリアクセス（ＤＭＡ）機能を具備する擬似入出力装置に、現用系の主記憶装置の記憶内容を、他系の主記憶装置に複写を要求するメモリ複写指令を受信・識別するメモリ複写指令受付手段と、メモリ複写指令受付手段が、現用系の中央制御装置からメモリ複写指令を受信した場合に、現用系の主記憶装置の各アドレスに格納されている単位データを順次抽出し、他系の主記憶装置の同一アドレスに格納するデータ複写動作を、主記憶装置の全記憶領域に就いて連続して実行した後、メモリ複写動作の実行完了を、現用系の中央制御装置に通知するメモリ複写動作制御手段とを備える。【０００５】
さらに例えば特開２００７−２３３５４３号公報には、正サイトと副サイト間のネットワークを狭帯域幅回線で構築しながらもデータベースの同期処理を現実的な時間で実現し、かつシステムの運用コストを抑制することができるデータベース管理システムが開示されている。具体的には、データベース管理システムは、データベースを格納するストレージ装置と、データベースの参照要求又は更新要求を受け付けて、ストレージ装置のデータベースを参照又は更新するデータベース管理サーバとから構成され、データベース管理サーバは、更新要求に基づいてストレージ装置のデータベースを読み込んでデータを更新する更新実行部と、更新を行ったデータ内の未使用領域を予め設定した文字又は値で連続的に上書きする不要情報除去部と、データをストレージ装置へ書き込む書込部とを備える。また、ストレージ装置は、ネットワークを介してデータベースの複製を格納する第２のストレージ装置に接続され、データベースを第２のストレージ装置へ転送するリモートコピー部を備える。そして、ストレージ装置のデータベースをネットワーク装置を介して転送する際に、当該ネットワーク装置において、連続した値を圧縮してデータベースを転送するようになっている。【０００６】
しかしながら、これらの公報に記載された技術は、いずれもがデータのバックアップに関する技術であって、複数のデータベースの各々が更新されるような場合については一切考慮されていない。【０００７】
なお、拠点毎にデータベースが設置され、各々のデータベースが更新されるような場合、例えば広帯域回線を用いて拠点間を常時接続して、ある拠点のデータベースを更新する場合には、他の拠点のデータベースを排他制御するなどして、拠点間で同期させる技術が従来から存在している。
【特許文献１】特開２０００−０３５９１１号公報
【特許文献２】特開平１１−２５９３２４号公報
【特許文献３】特開２００７−２３３５４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、常時接続サービスが利用できない地域（例えば電話局から離れた地域など）もあり、上記のような従来技術を採用することができない場合がある。また、このような地域において常時接続サービスを利用するためには、例えば専用線を導入する必要があり、設備投資及び通信料などのコストがかかってしまう。【０００９】
従って、本発明の目的は、拠点毎にデータベースが設置され、各々のデータベースが更新されるシステムにおいて、常時接続サービスが利用できない地域に拠点を有する場合であっても、コストを抑えつつ、拠点間のデータベースの同期を取るための技術を提供することである。【００１０】
また、本発明の他の目的は、データベースの更新漏れを防止するための技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明に係るレプリ処理方法は、狭帯域回線を用いて拠点間の通信を行う場合におけるレプリ処理方法であって、ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従ってデータベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第１の更新アドレステーブルに格納する第１更新ステップと、所定のタイミングにて、他拠点と接続して、他拠点における更新に係る更新アドレスと更新後のデータとを格納している第２の更新アドレステーブルを取得し、他拠点との接続を終了する取得ステップと、第１の更新アドレステーブル及び第２の更新アドレステーブルに同一の更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ第１の更新アドレステーブル及び第２の更新アドレステーブルに格納される更新後のデータのいずれかを、当該更新アドレスに示され且つデータベース内の該当する領域に反映すべきデータとして特定するステップと、反映すべきデータとして第２の更新アドレステーブルに格納された更新後のデータが特定された場合、当該更新後のデータでデータベース内の該当する領域を更新する第２更新ステップとを含む。【００１２】
このようにすれば、常時接続サービスが利用できない地域に拠点を有する場合であっても、例えばＩＳＤＮ（Integrated Services Digital Network）回線などの狭帯域回線を利用して拠点間のデータベースの同期を取ることができるようになる。また、例えば従量制の回線であれば、通信コストを最小限に抑えることができる。【００１３】
また、第２更新ステップによりデータベース内の該当する領域の更新がなされた場合、データベース内の該当する領域の更新を指示したユーザに更新データの破棄を通知するステップをさらに含むようにしてもよい。【００１４】
このようにすれば、自拠点と他拠点とにおいて同一箇所が更新され、他拠点のデータがデータベースに反映された場合には、ユーザに通知がなされるので、ユーザは再度更新することが可能となり、更新漏れを防止することができる。【００１５】
また、所定のルールが、更新回数の多い拠点を優先するルール、更新対象数の多い拠点を優先するルール、更新日時の遅い拠点を優先するルール、更新アドレスの差分の小さい拠点を優先するルール、又は、予め設定された優先度の高い拠点を優先するルールである場合もある。【００１６】
例えば、更新回数の多い拠点を優先するルール又は更新対象数の多い拠点を優先するルールに従って処理することで、更新頻度の多い拠点のデータを優先することができるようになる。また、更新日時の遅い拠点を優先するルールに従って処理することで、現状に近いデータをデータベースに反映することができるようになる。例えばデータベースに格納されているのが測定データであれば、最後に更新されたデータが現状に最も近いためである。さらに、更新アドレスの差分の小さい拠点を優先するルールに従って処理することで、複数領域に渡る更新を一連の更新としてデータベースに反映することができるようになる。例えば更新アドレスの差分が小さいほど連続して更新している可能性が高く、一連の更新としてデータベースに反映させた方がよいためである。また、予め設定された優先度の高い拠点を優先するルールに従って処理することで、例えば本社のデータを優先することができるようになる。【００１７】
また、予め設定されたスケジュールに従って取得ステップ以降のステップを実行する場合もある。さらに、狭帯域回線が従量制の回線である場合もある。例えば、システムの運用状況に応じて、更新頻度が高い場合には実行間隔を短くし、更新頻度が低い場合には実行間隔を高くするようなスケジュールを設定すればよい。【００１８】
なお、本発明に係るレプリ処理方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１９】
本発明によれば、拠点毎にデータベースが設置され、各々のデータベースが更新されるシステムにおいて、常時接続サービスが利用できない地域に拠点を有する場合であっても、コストを抑えつつ、拠点間のデータベースの同期を取ることができるようになる。【００２０】
本発明の他の側面によれば、データベースの更新漏れを防止することができるようになる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の実施の形態に係るシステム概要図である。
【図２】図２は、ユーザ情報格納部に格納されるデータの一例を示す図である。
【図３】図３は、更新アドレス表の一例を示す図である。
【図４】図４は、処理に必要なデータを登録する際の処理フローを示す図である。
【図５】図５は、データベースを更新する際の処理フローを示す図である。
【図６】図６は、本実施の形態における処理モードを説明するための図である。
【図７】図７は、処理モード（モード１）を説明するための図である。
【図８】図８は、処理モード（モード２）を説明するための図である。
【図９】図９は、処理モード（モード３）を説明するための図である。
【図１０】図１０は、処理モード（モード４）を説明するための図である。
【図１１】図１１は、処理モード（モード５）を説明するための図である。
【図１２】図１２は、レプリ処理の処理フローを示す図である。
【図１３】図１３は、同一アドレス更新処理の処理フローの第１の部分を示す図である。
【図１４】図１４は、同一アドレス更新処理の処理フローの第２の部分を示す図である。
【図１５】図１５は、コンピュータの機能ブロック図である。
【発明を実施するための最良の形態】
【００２２】
図１に本発明の一実施の形態に係るシステム概要を示す。図１の例では、拠点Ａと、拠点Ｂと、拠点Ｃとが、例えばＩＳＤＮ回線などの狭帯域回線により公衆回線網１に接続される。なお、ここでは、拠点Ａと拠点Ｂ及び拠点Ｃの少なくともいずれかが、電話局から遠く離れた地域に所在し、例えばＡＤＳＬ（Asymmetric Digital Subscriber Line）などの常時接続ができないか、あるいは経済的理由により常時接続を選択できないものとする。【００２３】
また、拠点Ａには、ＩＳＤＮ回線に接続される管理装置３と、同期の対象となるデータを格納するデータベース５と、ユーザ情報（例えば、ユーザＩＤ、ユーザ名及びメールアドレス）を格納するユーザ情報格納部７と、データベース５を他拠点と同期させるためのレプリ処理に関する情報（例えば、スケジュール及び処理モード）を格納するレプリ情報格納部９と、後で説明する更新アドレス表を格納する更新アドレス表格納部１１とが含まれる。データベース５、ユーザ情報格納部７、レプリ情報格納部９及び更新アドレス表格納部１１は、管理装置３により管理される。【００２４】
管理装置３は、ユーザからのデータ更新指示又はユーザ情報などの入力を受け付ける入力部３１と、公衆回線網１を介して他拠点とデータのやりとりをする通信部３３と、レプリ情報格納部９及び更新アドレス表格納部１１に格納されたデータに基づきレプリ処理を実施するレプリ制御部３５とを有する。さらにレプリ制御部３５は、レプリ情報格納部９に格納されたスケジュールを参照し、レプリ処理の実施時間に達したか判断するスケジュール管理部３５１と、他拠点の更新アドレス表を取得する更新アドレス表取得部３５２と、更新アドレス表格納部１１に格納された更新アドレス表と他拠点の更新アドレス表とに基づき、更新回数などを集計する集計処理部３５３と、レプリ情報格納部９に格納された処理モード及び集計処理部３５３の集計結果に基づき、優先すべき拠点を判定する判定部３５４と、ユーザからのデータ更新指示に従ってデータベース５を更新するＤＢ更新処理部３５５と、ユーザ情報格納部７に格納されたメールアドレスに基づき、更新破棄通知を送信する更新破棄通知部３５６とを含む。【００２５】
なお、図１の例では図示していないが、拠点Ｂ及び拠点Ｃは、拠点Ａと同じ構成を有する。また、図１では、拠点Ａ、拠点Ｂ及び拠点Ｃの３つの例を示しているが、拠点の数は３つに限定されない。以降では、拠点数が２つの場合を基本として説明する。【００２６】
図２に、ユーザ情報格納部７に格納されるデータの一例を示す。図２の例では、ユーザ情報格納部７には、ユーザＩＤの列と、ユーザ名の列と、メールアドレスの列とが含まれる。【００２７】
また、図３に、更新アドレス表格納部に格納される更新アドレス表の一例を示す。図３の例では、更新アドレス表には、更新アドレスの列と、操作内容の列と、旧データの列と、新データの列とが含まれる。更新アドレスの列には、更新対象の領域を指すアドレスが設定される。また、旧データの列には、更新前のデータが設定され、新データの列には、更新後のデータが設定される。なお、新データの列における「−」は、その領域のデータが削除されたことを表す。【００２８】
次に、図４乃至図１４を用いて、図１に示したシステムの処理について説明する。まず、図４を用いて、処理に必要なデータを登録する際の処理について説明する。例えば、ユーザは、管理装置３の表示装置に表示されたユーザ登録画面（図示せず）において、キーボードやマウスを操作して、ユーザ名及びメールアドレスを入力する。そして、管理装置３の入力部３１は、ユーザ名及びメールアドレスの入力を受け付け、ユーザ情報格納部７に登録する（図４：ステップＳ１）。このとき、管理装置３は、所定の規則によりユーザＩＤを付与し、ユーザ名及びメールアドレスに対応付けてユーザ情報格納部７に登録する。なお、既に登録済みのユーザの場合には、本ステップをスキップする。【００２９】
また、ユーザは、管理装置３の表示装置に表示されたスケジュール設定画面（図示せず）において、キーボードやマウスを操作して、レプリ処理のスケジュール（例えば、処理間隔など）を入力する。なお、レプリ処理のスケジュールについては、事前に、拠点間での合意が取れているものとする。そして、入力部３１は、レプリ処理のスケジュールの入力を受け付け、レプリ情報格納部９に登録する（ステップＳ３）。なお、レプリ処理のスケジュールが既に設定済みであり、変更がなければ、本ステップをスキップする。【００３０】
さらに、ユーザは、管理装置３の表示装置に表示された処理モード選択画面（図示せず）において、キーボードやマウスを操作して、予め用意された処理モードのうち、いずれかを選択する。なお、処理モードの詳細については、以下で説明する。また、いずれの処理モードを選択するかについても、事前に、拠点間での合意が取れているものとする。そして、入力部３１は、処理モードの選択入力を受け付け、レプリ情報格納部９に格納する（ステップＳ５）。すなわち、各拠点において、レプリ処理のスケジュール及び処理モードについては、同一の設定がなされる。なお、ステップＳ１乃至ステップＳ５において、ユーザが、管理装置３に接続されるユーザ端末を操作して、入力及び選択を行う場合もある。この場合には、ユーザ情報、スケジュール及び処理モードなどが、ユーザ端末から管理装置３に送信される。【００３１】
次に、図５を用いて、データベース５を更新する際の処理について説明する。まず、ユーザは、管理装置３の表示装置に表示されたＤＢ編集画面（図示せず）において、キーボードやマウスを操作して、データベース５のデータ更新を指示する。なお、既にログインなどが完了して、ユーザＩＤ等のデータを管理装置３が保持しているものとする。そして、管理装置３の入力部３１は、データ更新指示を受け付け、一旦記憶装置に格納する（図５：ステップＳ１１）。そして、入力部３１は、記憶装置に格納されたデータ更新指示に従ってデータベース５を更新する（ステップＳ１３）。この際、入力部３１は、更新前のデータを一旦記憶装置に格納する。また、入力部３１は、更新対象の領域を指すアドレスと、更新前のデータと、更新後のデータと、当該更新を指示したユーザのユーザＩＤと、更新日時とを含むレコードを生成し、更新アドレス表格納部１１に追加する（ステップＳ１５）。更新日時には現在日時を設定する。なお、ＤＢ編集画面において、複数の領域の更新が指示された場合には、領域毎にレコードを生成する。また、ステップＳ１１において、ユーザが、管理装置３に接続されるユーザ端末を操作して、データ更新を指示する場合もある。この場合には、データ更新指示が、ユーザ端末から管理装置３に送信される。【００３２】
図５のような処理を実施することにより、自拠点におけるデータ更新に関する情報を更新アドレス表格納部１１に登録することができる。【００３３】
次に、図６乃至図１４を用いて、本実施の形態におけるレプリ処理を説明する。具体的な処理フローを説明する前に、処理モードについて詳細に説明する。本実施の形態では、図６に示すような５つのモード（モード１乃至モード５）が用意され、レプリ処理において複数の拠点で同一領域を更新していると判断された場合、選択された処理モードに定義された優先条件に従って、どの拠点の更新内容を優先するかが決定される。以下、各処理モードについて説明する。【００３４】
モード１は、前回のレプリ処理から今回のレプリ処理までの間において、更新回数の多い方を優先するモードである。例えば、図７に示すように、拠点Ａにおいてアドレスα及びアドレスγの領域が更新（更新回数：３）され、拠点Ｂにおいてアドレスα及びアドレスβの領域が更新（更新回数：２）された場合、両拠点において更新がなされたアドレスαの領域については、更新回数の多い拠点Ａの更新内容を優先する。なお、アドレスβ及びアドレスγの領域は、一方の拠点においてのみ更新がなされているので、その更新内容を反映すればよい。すなわち、拠点Ａ及び拠点Ｂの各々において、アドレスα及びアドレスγの領域には、拠点Ａの更新内容を反映し（アドレスγの領域については２回目の更新内容）、アドレスβの領域には、拠点Ｂの更新内容を反映することにより、データベース５の同期が取られる。なお、一方の拠点においてのみ更新がなされている領域については、他のモードでも同じである。【００３５】
モード２は、前回のレプリ処理から今回のレプリ処理までの間において、更新対象数の多い方を優先するモードである。例えば、図８に示すように、拠点Ａにおいてアドレスα及びアドレスγの領域が更新（更新対象数：２）され、拠点Ｂにおいてアドレスα、アドレスβ及びアドレスδの領域が更新（更新対象数：３）された場合、両拠点において更新がなされたアドレスαの領域については、更新対象数の多い拠点Ｂの更新内容を優先する。すなわち、拠点Ａ及び拠点Ｂの各々において、アドレスγの領域には、拠点Ａの更新内容を反映し（２回目の更新内容）、アドレスα、アドレスβ及びアドレスδの領域には、拠点Ｂの更新内容を反映することにより、データベース５の同期が取られる。【００３６】
モード３は、更新日時を比較し、更新時間の遅い方を優先するモードである。例えば、図９に示すように、拠点Ａにおいてアドレスα及びアドレスβの領域が更新され、拠点Ｂにおいてアドレスα及びアドレスγの領域が更新された場合、両拠点において更新がなされたアドレスαの領域については、更新日時の遅い拠点Ｂの更新内容を優先する。すなわち、拠点Ａ及び拠点Ｂの各々において、アドレスβの領域には、拠点Ａの更新内容を反映し、アドレスα及びアドレスγの領域には、拠点Ｂの更新内容を反映することにより（アドレスγの領域については２回目の更新内容）、データベース５の同期が取られる。【００３７】
モード４は、更新アドレスの差分を比較し、更新アドレスの差分の小さい方を優先するモードである。例えば、図１０に示すように、拠点Ａにおいてアドレスα及びアドレスβの領域が更新（更新アドレスの差分＝｜アドレスα−アドレスβ｜）され、拠点Ｂにおいてアドレスα及びアドレスγの領域が更新（更新アドレスの差分＝｜アドレスα−アドレスγ｜）された場合、両拠点において更新がなされたアドレスαの領域については、更新アドレスの差分の小さい拠点Ａの更新内容を優先する。なお、ここでは、アドレスα＜アドレスβ＜アドレスγとする。すなわち、拠点Ａ及び拠点Ｂの各々において、アドレスα及びアドレスβの領域には、拠点Ａの更新内容を反映し、アドレスγの領域には、拠点Ｂの更新内容を反映することにより、データベース５の同期が取られる。【００３８】
モード５は、本社となる方（もしくは、拠点毎に設定された優先度の高い方）を優先するモードである。例えば、図１１に示すように、拠点Ａ（本社）においてアドレスα及びアドレスβの領域が更新され、拠点Ｂにおいてアドレスα及びアドレスγの領域が更新された場合、両拠点において更新がなされたアドレスαの領域については、拠点Ａ（本社）の更新内容を優先する。すなわち、拠点Ａ及び拠点Ｂの各々において、アドレスα及びアドレスβの領域には、拠点Ａの更新内容を反映し、アドレスγの領域には、拠点Ｂの更新内容を反映することにより、データベース５の同期が取られる。【００３９】
次に、図１２乃至図１４を用いて、本実施の形態におけるレプリ処理の具体的な処理フローを説明する。なお、ここでは、拠点Ａと拠点Ｂとでデータベース５を同期させる場合に、拠点Ａにおいて実施されるレプリ処理を例として説明する（以下、拠点Ａを自拠点と呼ぶ）。まず、レプリ制御部３５のスケジュール管理部３５１が、レプリ情報格納部９に格納されたスケジュールを参照し、レプリ処理の実施時間に達したか判断する。そして、レプリ処理の実施時間に達したと判断された場合、管理装置３は、図１２に示すような処理を実施する。なお、スケジュールについては、拠点間で合意が取れているため、他拠点においても同時にレプリ処理が開始される。【００４０】
まず、通信部３３が、例えばダイヤルアップ接続などの通信接続処理を実施し、公衆回線網を介して他拠点と接続する（図１２：ステップＳ２１）。そして、レプリ制御部３５の更新アドレス表取得部３５２が、他拠点の更新アドレス表格納部１１から更新アドレス表を取得し、記憶装置に格納する（ステップＳ２３）。この際、他拠点の更新アドレス表に格納された旧データ、操作内容、更新者情報を除いたデータ（すなわち、更新アドレス、新データ及び更新日時）を取得するようにしてもよい。また、選択された処理モードに応じて必要なデータを取得するようにしてもよい。その後、通信部３３は、通信切断処理を実施し、他拠点との接続を終了する（ステップＳ２５）。なお、拠点Ｂ（他拠点）においては、拠点Ａ（自拠点）から更新アドレス表を取得することになるが、各々の拠点において、相手拠点の更新アドレス表の取得が完了した後に接続を終了する。通信接続及び通信切断処理については、従来の処理と変わらないため、これ以上述べない。【００４１】
そして、レプリ制御部３５の判定部３５４は、自拠点の更新アドレス表及び他拠点の更新アドレス表に同一の更新アドレスが含まれるか判断する（ステップＳ２７）。自拠点の更新アドレス表及び他拠点の更新アドレス表に同一の更新アドレスが含まれると判断された場合（ステップＳ２７：Ｙｅｓルート）、すなわち、自拠点及び他拠点において同一領域を更新している場合、管理装置３は、同一アドレス更新処理を実施する（ステップＳ２９）。なお、ここでは、自拠点の更新アドレス表及び他拠点の更新アドレス表の両方に含まれる更新アドレスを「同一アドレス」と呼ぶ。【００４２】
同一アドレス更新処理については図１３及び図１４を用いて説明する。まず、レプリ制御部３５の集計処理部３５３は、自拠点及び他拠点の更新アドレス表を基に集計処理を実施する（図１３：ステップＳ４１）。具体的には、各拠点について、更新アドレスをキーとして更新アドレス表に含まれるレコードをソートし、更新回数及び更新対象数を集計し、集計結果を記憶装置に格納する。【００４３】
そして、レプリ制御部３５の判定部３５４は、レプリ情報格納部９から処理モードを取得し（ステップＳ４３）、処理モードが「モード１」に設定されているか判断する（ステップＳ４５）。処理モードが「モード１」に設定されている場合（ステップＳ４５：Ｙｅｓルート）、判定部３５４は、記憶装置に格納された、自拠点及び他拠点の各々の更新回数を抽出し、比較する（ステップＳ４７）。【００４４】
自拠点の更新回数が他拠点の更新回数より多い場合（ステップＳ４９：Ｙｅｓルート）、以下で説明するステップＳ５１乃至ステップＳ５５の処理をスキップし、元の処理に戻る。すなわち、自拠点の更新内容をデータベース５に反映することになるが、上で説明したステップＳ１３（図５）の処理においてデータベース５を既に更新しているため、ここでは特に処理は行わない。【００４５】
一方、自拠点の更新回数が他拠点の更新回数以下の場合（ステップＳ４９：Ｎｏルート）、レプリ制御部３５のＤＢ更新処理部３５５は、記憶装置に格納された他拠点の更新アドレス表に基づき、データベース５を更新する（ステップＳ５１）。すなわち、データベース５内の同一アドレスの指す領域に、他拠点の更新内容を反映する。また、レプリ制御部３５の更新破棄通知部３５６は、更新アドレス表格納部１１を参照し、自拠点において同一アドレスを更新したユーザを特定する（ステップＳ５３）。そして、レプリ制御部３５の更新破棄通知部３５６は、特定ユーザに対応するメールアドレスをユーザ情報格納部７から取得し、特定ユーザによる更新内容が破棄された旨のメールを特定ユーザ宛てに送信する（ステップＳ５５）。なお、更新対象を特定するための情報や更新日時などをメールに含めるようにしてもよい。そして、元の処理に戻る。【００４６】
一方、ステップＳ４５において、処理モードが「モード１」に設定されていなければ（ステップＳ４５：Ｎｏルート）、レプリ制御部３５の判定部３５４は、処理モードが「モード２」に設定されているか判断する（ステップＳ５７）。処理モードが「モード２」に設定されている場合（ステップＳ５７：Ｙｅｓルート）、レプリ制御部３５の判定部３５４は、記憶装置に格納された、自拠点及び他拠点の各々の更新対象数を抽出し、比較する（ステップＳ５９）。【００４７】
自拠点の更新対象数が他拠点の更新対象数より多い場合（ステップＳ６１：Ｙｅｓルート）、レプリ制御部３５のＤＢ更新処理部３５５は、上で説明したステップＳ５１乃至ステップＳ５５の処理をスキップし、元の処理に戻る。すなわち、自拠点の更新内容をデータベース５に反映することになるが、上で説明したステップＳ１３（図５）の処理においてデータベース５を既に更新しているため、ここでは特に処理は行わない。【００４８】
一方、自拠点の更新対象数が他拠点の更新対象数以下の場合（ステップＳ６１：Ｎｏルート）、レプリ制御部３５のＤＢ更新処理部３５５は、上で説明したステップＳ５１乃至ステップＳ５５の処理を実施する。なお、ステップＳ５１乃至ステップＳ５５の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。【００４９】
一方、ステップＳ５７において、処理モードが「モード２」に設定されていなければ（ステップＳ５７：Ｎｏルート）、端子Ａを介してステップＳ６３（図１４）の処理に移行する。【００５０】
図１４の処理の説明に移行して、端子Ａの後、レプリ制御部３５の判定部３５４は、処理モードが「モード３」に設定されているか判断する（図１４：ステップＳ６３）。処理モードが「モード３」に設定されている場合（ステップＳ６３：Ｙｅｓルート）、レプリ制御部３５の判定部３５４は、自拠点及び他拠点の更新アドレス表に基づき、同一アドレスのデータを最後に更新したのが自拠点であるか判断する（ステップＳ６５）。【００５１】
同一アドレスのデータを最後に更新したのが自拠点である場合（ステップＳ６５：Ｙｅｓルート）、端子Ｂを介して図１３の処理に戻り、上で説明したステップＳ５１乃至ステップＳ５５の処理をスキップして、元の処理に戻る。すなわち、自拠点の更新内容をデータベース５に反映することになるが、上で説明したステップＳ１３（図５）の処理においてデータベース５を既に更新しているため、ここでは特に処理は行わない。【００５２】
一方、同一アドレスのデータを最後に更新したのが他拠点である場合（ステップＳ６５：Ｎｏルート）、端子Ｃを介して図１３の処理に戻り、上で説明したステップＳ５１乃至ステップＳ５５の処理を実施する。なお、同一アドレスが複数存在する場合には、各同一アドレスについて、ステップＳ６５の処理と、ステップ５１乃至ステップ５５の処理（端子Ｃを介して図１３に戻った場合のみ）とを実施する。ステップＳ５１乃至ステップＳ５５の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。【００５３】
一方、ステップＳ６３において、処理モードが「モード３」に設定されていなければ（ステップＳ６３：Ｎｏルート）、レプリ制御部３５の判定部３５４は、処理モードが「モード４」に設定されているか判断する（ステップＳ６７）。処理モードが「モード４」に設定されている場合（ステップＳ６７：Ｙｅｓルート）、レプリ制御部３５の判定部３５４は、自拠点及び他拠点の各々について、同一アドレスと他の更新アドレスとの差分を算出し、差分同士を比較する（ステップＳ６９）。この際、差分が複数算出された場合には、自拠点において最も小さい差分と他拠点において最も小さい差分とを比較する。【００５４】
自拠点における差分が他拠点における差分より小さい場合（ステップＳ７１：Ｙｅｓルート）、端子Ｂを介して図１３の処理に戻り、上で説明したステップＳ５１乃至ステップＳ５５の処理をスキップして、元の処理に戻る。すなわち、自拠点の更新内容をデータベース５に反映することになるが、上で説明したステップＳ１３（図５）の処理においてデータベース５を既に更新しているため、ここでは特に処理は行わない。【００５５】
一方、自拠点における差分が他拠点における差分以上の場合（ステップＳ７１：Ｎｏルート）、端子Ｃを介して図１３の処理に戻り、上で説明したステップＳ５１乃至ステップＳ５５の処理を実施する。なお、同一アドレスが複数存在する場合には、各同一アドレスについて、ステップＳ６９及びステップＳ７１の処理と、ステップ５１乃至ステップ５５の処理（端子Ｃを介して図１３に戻った場合のみ）とを実施する。ステップＳ５１乃至ステップＳ５５の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。【００５６】
一方、ステップＳ６７において、処理モードが「モード４」に設定されていなければ（ステップＳ６７：Ｎｏルート）、すなわち処理モードが「モード５」に設定されている場合には、レプリ制御部３５の判定部３５４は、自拠点が本社であるか判断する（ステップＳ７３）。なお、拠点毎に優先度が設定されている場合には、優先度を比較し、自拠点の優先度が他拠点の優先度より高いか判断する場合もある。【００５７】
自拠点が本社である場合（ステップＳ７３：Ｙｅｓルート）、端子Ｂを介して図１３の処理に戻り、上で説明したステップＳ５１乃至ステップＳ５５の処理をスキップして、元の処理に戻る。すなわち、自拠点の更新内容をデータベース５に反映することになるが、上で説明したステップＳ１３（図５）の処理においてデータベース５を既に更新しているため、ここでは特に処理は行わない。【００５８】
一方、自拠点が本社でない場合（ステップＳ７３：Ｎｏルート）、端子Ｃを介して図１３の処理に戻り、上で説明したステップＳ５１乃至ステップＳ５５の処理を実施する。なお、ステップＳ５１乃至ステップＳ５５の処理は、上で説明した処理と変わらないため、ここでは説明を省略する。そして、元の処理に戻る。【００５９】
図１２の説明に戻って、ステップＳ２７において、自拠点の更新アドレス表及び他拠点の更新アドレス表に同一の更新アドレスが含まれないと判断された場合（ステップＳ２７：Ｎｏルート）、ステップＳ２９の処理をスキップする。【００６０】
そして、レプリ制御部３５の判定部３５４は、他拠点の更新アドレス表にのみ含まれる更新アドレスが存在するか判断する（ステップＳ３１）。他拠点の更新アドレス表にのみ含まれる更新アドレスが存在すると判断された場合（ステップＳ３１：Ｙｅｓルート）、レプリ制御部３５のＤＢ更新処理部３５５は、記憶装置に格納された他拠点の更新アドレス表に基づき、データベース５を更新する（ステップＳ３３）。すなわち、他拠点の更新内容をデータベース５に反映する。【００６１】
なお、自拠点においてのみ更新がなされている領域については、上で説明したステップＳ１３（図５）の処理において自拠点のデータベース５を既に更新しているため、ここでは特に処理は行わない。【００６２】
一方、他拠点の更新アドレス表にのみ含まれる更新アドレスが存在しなければ、ステップＳ３３の処理をスキップする。そして、レプリ制御部３５は、更新アドレス表格納部１１に格納された自拠点の更新アドレス表をリセットする（ステップＳ３５）。そして、本処理を終了する。【００６３】
以上のような処理を実施することにより、拠点毎にデータベースが設置され、各々のデータベースが更新されるシステムにおいて、常時接続サービスが利用できない地域に拠点を有する場合であっても、拠点間のデータベースの同期を取ることができる。また、公衆回線網１を利用するのは、他拠点の更新アドレス表を取得する間だけであるため、例えば従量制の回線であれば、通信コストを最小限に抑えることができる。さらに、自拠点と他拠点とで同一領域の更新がなされ、他拠点の更新内容をデータベース５に反映した場合には、自拠点において当該更新を指示したユーザに通知がなされるため、必要であれば、再度更新することが可能となる。【００６４】
以上本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、上で説明した機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。管理装置３は、１台のコンピュータではなく複数台のコンピュータで実現するようにしても良い。【００６５】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。【００６６】
また、上では、５つの処理モードを説明したが、モードの数は５つに限定されるものではない。例えば、ユーザ毎に優先度を設定しておき、優先度の高いユーザの更新内容を優先するようなモードを用意してもよい。【００６７】
また、上では、拠点Ａと拠点Ｂとでデータベース５を同期させる例を説明したが、拠点数が３以上の場合もある。この場合、基本的な処理フローは変わらないが、２以上の他拠点において同一領域の更新がなされている場合には、ステップＳ３１とステップＳ３３の間に、レプリ情報格納部９に格納された処理モードに従って、いずれの他拠点の更新内容を自拠点のデータベース５に反映するか判断する処理を追加し、判断結果に基づき、ステップＳ３３の処理を実施するようにすればよい。【００６８】
なお、管理装置３は、図１５のようなコンピュータ装置であって、メモリ２５０１（記憶装置）とＣＰＵ２５０３（処理装置）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本発明の実施の形態では、上で述べた処理を実施するためのアプリケーション・プログラムはリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【図１】
2009107184.tif 000003
【図２】
2009107184.tif 000004
【図３】
2009107184.tif 000005
【図４】
2009107184.tif 000006
【図５】
2009107184.tif 000007
【図６】
2009107184.tif 000008
【図７】
2009107184.tif 000009
【図８】
2009107184.tif 000010
【図９】
2009107184.tif 000011
【図１０】
2009107184.tif 000012
【図１１】
2009107184.tif 000013
【図１２】
2009107184.tif 000014
【図１３】
2009107184.tif 000015
【図１４】
2009107184.tif 000016
【図１５】
2009107184.tif 000017
【手続補正書】
【提出日】平成22年8月27日(2010.8.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
狭帯域回線を用いて拠点間の通信を行う場合におけるレプリ処理方法であって、
ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第１の更新アドレステーブルに格納する第１更新ステップと、
所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第２の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得ステップと、
前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定するステップと、
前記反映すべきデータとして前記第２の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第２更新ステップと、
を含み、
前記所定のルールが、
更新回数の多い拠点を優先するルール、更新対象数の多い拠点を優先するルール、更新日時の遅い拠点を優先するルール、又は、更新アドレスの差分の小さい拠点を優先するルールである、
コンピュータにより実行されるレプリ処理方法。
【請求項２】
前記第２更新ステップにより前記データベース内の該当する領域の更新がなされた場合、前記データベース内の該当する領域の更新を指示した前記ユーザに更新データの破棄を通知するステップ
をさらに含む請求項１記載のレプリ処理方法。
【請求項３】
予め設定されたスケジュールに従って前記取得ステップ以降のステップを実行することを特徴とする請求項１記載のレプリ処理方法。
【請求項４】
前記狭帯域回線が従量制の回線であることを特徴とする請求項１記載のレプリ処理方法。
【請求項５】
狭帯域回線を用いて拠点間のデータベースの同期を取るためのプログラムであって、
ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第１の更新アドレステーブルに格納する第１更新ステップと、
所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第２の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得ステップと、
前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定するステップと、
前記反映すべきデータとして前記第２の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第２更新ステップと、
をコンピュータに実行させ、
前記所定のルールが、
更新回数の多い拠点を優先するルール、更新対象数の多い拠点を優先するルール、更新日時の遅い拠点を優先するルール、又は、更新アドレスの差分の小さい拠点を優先するルールである、
レプリ処理プログラム。
【請求項６】
狭帯域回線を用いて拠点間のデータベースの同期を取るための管理装置であって、
ユーザからデータベースの更新指示を受け付けた場合、当該更新指示に従って前記データベースを更新すると共に、少なくとも更新対象の領域を示す更新アドレスと更新後のデータとを第１の更新アドレステーブルに格納する第１更新手段と、
所定のタイミングにて、他拠点と接続して、前記他拠点における更新に係る更新アドレスと更新後のデータとを格納している第２の更新アドレステーブルを取得し、前記他拠点との接続を終了する取得手段と、
前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに同一の前記更新アドレスが格納されている場合、所定のルールに従って、当該更新アドレスに対応し且つ前記第１の更新アドレステーブル及び前記第２の更新アドレステーブルに格納される前記更新後のデータのいずれかを、当該更新アドレスに示され且つ前記データベース内の該当する領域に反映すべきデータとして特定する手段と、
前記反映すべきデータとして前記第２の更新アドレステーブルに格納された前記更新後のデータが特定された場合、当該更新後のデータで前記データベース内の該当する領域を更新する第２更新手段と、
を有し、
前記所定のルールが、
更新回数の多い拠点を優先するルール、更新対象数の多い拠点を優先するルール、更新日時の遅い拠点を優先するルール、又は、更新アドレスの差分の小さい拠点を優先するルールである、
管理装置。
【国際調査報告】
2009107184.tif 000018
2009107184.tif 000019