(57)【要約】【課題】効率的な同期処理を実現する。【解決手段】サーバの階層構造を有する情報処理システムにおいて、各サーバは、他から同期依頼を受け付けていない場合（Ｓ１０：否定）、階層内での自己の位置を識別し（Ｓ１２）、自己がルートサーバであれば（Ｓ２４：肯定）、同期設定テーブルから下へ同期する対象を抽出するとともに、抽出した同期対象から同期情報を抽出して（Ｓ２６）、下のサーバへ同期依頼し（Ｓ２８）、自己が末端サーバであれば、同期設定テーブルから上へ同期する対象を抽出するとともに、抽出した同期対象から同期情報を抽出して（Ｓ２０）、当該情報を上のサーバへ同期依頼する（Ｓ２２）。また、各サーバは、他から同期依頼を受け付けた場合（Ｓ１０：肯定）、同期依頼の内容から、同期方向を検出するとともに、同期依頼された情報を検出した同期方向のサーバへ同期依頼する（Ｓ３０）。【選択図】図６
2012174231.tif 000002
【特許請求の範囲】
【請求項１】
階層的に構築される装置で動作する同期処理プログラムであって、
他の装置から同期依頼を受け付けていない場合には、
前記階層内での自己の位置を識別し、
前記自己の位置が前記階層内の最も上位であれば、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼し、
前記自己の位置が前記階層内の最も下位であれば、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼し、
他の装置から同期依頼を受け付けた場合には、
前記同期依頼の内容から、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する
処理を、コンピュータに実行させることを特徴とする同期処理プログラム。
【請求項２】
前記同期する情報ごとに、前記同期する方向が規定されていることを特徴とする請求項１に記載の同期処理プログラム。
【請求項３】
階層的に構築される複数の装置それぞれにおいて実行される同期処理方法であって、
他の装置から同期依頼を受付けたか否かを判定する判定工程と、
前記判定工程で、前記他の装置から同期依頼を受け付けていないと判定された場合に、前記階層内での自己の位置を識別する識別工程と、
前記識別工程の結果、前記自己の位置が前記階層内の最も上位であった場合に、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼する第１同期処理工程と、
前記識別工程の結果、前記自己の位置が前記階層内の最も下位であった場合に、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼する第２同期処理工程と、
前記判定工程で、前記他の装置から同期依頼を受け付けたと判定された場合に、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する第３同期処理工程と、
をコンピュータが実行することを特徴とする同期処理方法。
【請求項４】
他の装置とともに階層構造を形成して動作する情報処理装置であって、
前記他の装置から同期依頼を受付けたか否かを判定する判定部と、
前記判定部による判定の結果、前記他の装置から同期依頼を受け付けていないと判定された場合に、前記階層内での自己の位置を識別する識別部と、
前記識別部による識別の結果、前記自己の位置が前記階層内の最も上位であった場合に、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼する第１同期処理部と、
前記識別部による識別の結果、前記自己の位置が前記階層内の最も下位であった場合に、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼する第２同期処理部と、
前記判定部による判定の結果、前記他の装置から同期依頼を受け付けた場合に、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する第３同期処理部と、
を備える情報処理装置。
【請求項５】
請求項４に記載の情報処理装置を複数備え、
前記複数の情報処理装置が階層構造を形成していることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、同期処理プログラム及び同期処理方法、並びに情報処理装置及び情報処理システムに関する。
【背景技術】
【０００２】
近年、多数の端末（ＰＣ）に対する資源配布処理（同期処理）では、５０００台を越えるような膨大な数のＰＣに資源を配布する例が出現してきている。このような場合、ＰＣに資源を配布する資源配布サーバの処理負荷を分散するため、多くの資源配布サーバを多階層に接続する方法が取られている。この方法では、階層の最上位の資源配布サーバ（ルートサーバ）に登録された資源を他の資源配布サーバにコピーして同期処理を実現する（例えば、特許文献１、２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７-１１５２４７号公報
【特許文献２】特開平６-３３２７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
同期処理においては、上記のような最上位のサーバからの資源配布のような同期処理のみならず、末端から資源配布が完了したことを示すデータを、逆方向にコピーする同期処理も必要となる。また、多数の資源配布サーバを備える大規模システムでは、多種多様な同期の対象（データベース更新、ファイル（ソフトウェア、データファイル）など）に対応する必要がある。
【０００５】
しかしながら、従来においては、これらの同期の方向や対象ごとに同期プログラムや設定ファイルなどを開発しなければならなかったため、効率が悪かった。
【０００６】
そこで本件は上記の課題に鑑みてなされたものであり、同期処理を効率的に実現可能な同期処理プログラム及び同期処理方法を提供することを目的とする。また、本件は、効率的な同期処理が可能な情報処理装置、情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本明細書に記載の同期処理プログラムは、階層的に構築される装置で動作する同期処理プログラムであって、他の装置から同期依頼を受け付けていない場合には、前記階層内での自己の位置を識別し、前記自己の位置が前記階層内の最も上位であれば、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼し、前記自己の位置が前記階層内の最も下位であれば、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼し、他の装置から同期依頼を受け付けた場合には、前記同期依頼の内容から、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する処理を、コンピュータに実行させる同期処理プログラムである。
【０００８】
本明細書に記載の同期処理方法は、階層的に構築される複数の装置それぞれにおいて実行される同期処理方法であって、他の装置から同期依頼を受付けたか否かを判定する判定工程と、前記判定工程で、前記他の装置から同期依頼を受け付けていないと判定された場合に、前記階層内での自己の位置を識別する識別工程と、前記識別工程の結果、前記自己の位置が前記階層内の最も上位であった場合に、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼する第１同期処理工程と、前記識別工程の結果、前記自己の位置が前記階層内の最も下位であった場合に、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼する第２同期処理工程と、前記判定工程で、前記他の装置から同期依頼を受け付けたと判定された場合に、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する第３同期処理工程と、をコンピュータが実行する同期処理方法である。
【０００９】
本明細書に記載の情報処理装置は、他の装置とともに階層構造を形成して動作する情報処理装置であって、前記他の装置から同期依頼を受付けたか否かを判定する判定部と、前記判定部による判定の結果、前記他の装置から同期依頼を受け付けていないと判定された場合に、前記階層内での自己の位置を識別する識別部と、前記識別部による識別の結果、前記自己の位置が前記階層内の最も上位であった場合に、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼する第１同期処理部と、前記識別部による識別の結果、前記自己の位置が前記階層内の最も下位であった場合に、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼する第２同期処理部と、前記判定部による判定の結果、前記他の装置から同期依頼を受け付けた場合に、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する第３同期処理部と、を備える情報処理装置である。
【００１０】
本明細書に記載の情報処理システムは、本明細書に記載の情報処理装置を複数備え、前記複数の情報処理装置が階層構造を形成している情報処理システムである。
【発明の効果】
【００１１】
本明細書に記載の同期処理プログラム及び同期処理方法は、同期処理を効率的に実現できるという効果を奏する。また、本明細書に記載の情報処理装置、情報処理システムは、効率的な同期処理が実現できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る情報処理システムの構成を概略的に示す図である。
【図２】サーバのハードウェア構成を示す図である。
【図３】サーバの機能ブロック図である。
【図４】同期設定テーブルを示す図である。
【図５】棚卸データベースの一例を示す図である。
【図６】サーバの処理の流れを示すフローチャートである。
【図７】図６のステップＳ３０の具体的な処理を示すフローチャートである。
【図８】下方向に同期させる情報の一例を示す図である。
【図９】図９（ａ），図９（ｂ）は、上方向に同期させる情報の一例を示す図であり、図９（ｃ）は、ルートサーバでの同期処理の結果を示す図である。
【図１０】情報処理システム１００における同期処理を説明するための図（その１）である。
【図１１】情報処理システム１００における同期処理を説明するための図（その２）である。
【図１２】情報処理システム１００における同期処理を説明するための図（その３）である。
【図１３】情報処理システム１００における同期処理を説明するための図（その４）である。
【図１４】情報処理システム１００における同期処理を説明するための図（その５）である。
【図１５】情報処理システム１００における同期処理を説明するための図（その６）である。
【発明を実施するための形態】
【００１３】
以下、一実施形態について、図１〜図１５に基づいて詳細に説明する。図１には、情報処理装置としてのサーバ１０が複数階層化された情報処理システム１００が概略的に示されている。この情報処理システム１００は、複数のサーバ１０と、複数のクライアント端末３０とを備える。なお、本実施形態では、クライアント端末３０は、ある小売業者の支店（Ａ店〜Ｈ店）に設置された端末（クライアントＡ〜Ｈと呼ぶ）であるものとする。
【００１４】
複数のサーバ１０は、階層構造を形成しており、その最上位のサーバ１０がルートサーバ、最下位のサーバが末端サーバＡ〜Ｄ、その他のサーバ１０が中間サーバとなっている。また、末端サーバＡ〜Ｄそれぞれに、各２つずつのクライアント端末３０が接続可能となっている。なお、図１の構成は情報処理システムの一例を示すものである。したがって、情報処理システム１００の階層構造は、図１と異なっていてもよく、例えば、中間サーバは、複数階層となっていてもよい。
【００１５】
図２には、各サーバ１０のハードウェア構成が示されている。図２に示すように、サーバ１０は、ＣＰＵ９０、ＲＯＭ９２、ＲＡＭ９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、ネットワークインタフェース９７及び可搬型記憶媒体用ドライブ９９等を備えている。サーバ１０の構成各部は、バス９８に接続されている。サーバ１０では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（同期処理プログラム）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（同期処理プログラム）をＣＰＵ９０が実行することにより、図３の各部の機能が実現される。
【００１６】
図３は、サーバ１０を機能ブロックにて示す図である。図３に示すように、サーバ１０は、ＣＰＵ９０が同期処理プログラムを実行することで、識別部１２、入力部１４、同期処理部１６としての機能を実現する。なお、図３では、ＲＯＭ９２やＨＤＤ９６等に格納される同期設定テーブル２８も図示されている。
【００１７】
識別部１２は、ルートサーバへの問い合わせにより、階層内での自己の位置を識別する。ルートサーバは、階層構造に関する情報を有しており、問い合わせしてきたサーバに対して、当該サーバの階層内での位置（ルートサーバであるか、中間サーバであるか、末端サーバであるか）を送信するものとする。
【００１８】
入力部１４は、他のサーバからの同期依頼を受付けたり、管理者から入力される資源や、クライアント端末３０から入力される情報を受付ける機能を有する。
【００１９】
同期処理部１６は、判定部２０と、第１同期処理部２２と、第２同期処理部２４と、第３同期処理部２６と、を有する。判定部２０は、入力部１４が他のサーバから同期依頼を受付けたか否かを判定する。
【００２０】
第１同期処理部２２は、識別部１２による識別の結果、自己（サーバ１０）の位置が階層内の最も上位であった場合（ルートサーバであった場合）に、同期設定テーブル２８から下位方向へ同期する対象（データベースやテーブル、ソフトウェア、データファイルなど）を抽出する。また、第１同期処理部２２は、抽出した同期する対象から同期する情報（データベースやテーブルの一部、ソフトウェア、データファイルの一部など）を抽出して、当該情報を下位のサーバ１０へ同期依頼する。
【００２１】
第２同期処理部２４は、識別部１２による識別の結果、自己（サーバ１０）の位置が階層内の最も下位の場合（末端サーバの場合）に、同期設定テーブル２８から上位方向へ同期する対象（データベースなど）を抽出する。また、第２同期処理部２４は、抽出した同期する対象から同期する情報（データベースの一部など）を抽出して、当該情報を上位のサーバ１０へ同期依頼する。
【００２２】
第３同期処理部２６は、判定部２０による判定の結果、入力部１４が他のサーバ１０から同期依頼を受け付けたと判定された場合に、同期依頼の内容から、同期する方向を検出する。また、第３同期処理部２６は、同期依頼された情報（データベースの一部など）を、検出した同期する方向に位置するサーバへ同期依頼する。
【００２３】
同期設定テーブル２８は、同期する対象と同期する方向とを対応づけるテーブルである。具体的には、図４に示すように、同期の名称に紐付けられて、同期の方向と同期対象とが対応付けられている。例えば、同期の名称が「棚卸データベースの同期」には、同期の方向として「下」が対応付けられるとともに、同期対象として「棚卸データベース」が対応付けられている。
【００２４】
図５には、棚卸データベースの一例が示されている。図５に示すように、棚卸データベースは、各店（Ａ〜Ｈ）における各商品（ａ〜ｅ）の在庫状況を格納するものである。この棚卸データベースの各情報（行方向の情報）には、同期方向を示すフラグが設定される。このフラグは、０〜３までの値をとる。値「０」は、同期しない情報（行）であることを意味し、値「１」は、上方向及び下方向に同期する情報（行）であることを意味するものとする。また、値「２」は、上方向に同期する情報（行）であることを意味し、値「３」は、下方向に同期する情報（行）であることを意味するものとする。なお、棚卸データベースには、商品の単価などの情報が含まれていてもよい。
【００２５】
次に、図６、図７のフローチャートに沿って、サーバ１０における処理について、具体的に説明する。この図６、図７の処理は、全てのサーバ１０が行う処理である。なお、以下の説明においては、処理を実行する主体となっているサーバを「実行サーバ１０」と呼ぶものとする。
【００２６】
図６の処理では、まず、ステップＳ１０において、判定部２０が、他のサーバ１０からの同期依頼があったか否かを判断する。ここでの判断が肯定された場合には、ステップＳ３０に移行するが、否定された場合には、ステップＳ１２に移行する。
【００２７】
ステップＳ１０の判断が否定され、ステップＳ１２に移行すると、識別部１２が、階層における自己の位置をルートサーバに問い合わせる。なお、実行サーバ１０がルートサーバの場合、自己に問い合わせることになる。
【００２８】
次いで、ステップＳ１４では、判定部２０が、同期設定テーブル２８の全ての同期の名称に対する処理が終了したか否かを判断する。ここでの判断が肯定された場合には、図６の全処理を終了するが、否定された場合には、ステップＳ１６に移行する。
【００２９】
ステップＳ１６に移行した場合、判定部２０が、同期設定テーブル１８のうちの１つの同期対象を特定し、当該同期対象の同期方向が上か否かを判断する。例えば、特定された同期対象の名称が図４の「資源の同期」や「棚卸データベースの同期」の場合には、同期方向が「下」であるので、ステップＳ１６の判断は否定され、ステップＳ２４に移行する。
【００３０】
ステップＳ２４に移行した場合、判定部２０が、自己（実行サーバ１０）がルートサーバであるか否かを判断する。このステップＳ２４における判断が否定された場合、すなわち、実行サーバ１０が中間サーバや末端サーバであった場合には、ステップＳ１４に戻る。すなわち、実行サーバ１０が中間サーバや末端サーバであった場合には、ステップＳ１６で特定された同期対象の処理は一切行わない。一方、ステップＳ２４における判断が肯定された場合、すなわち、実行サーバ１０がルートサーバであった場合には、ステップＳ２６に移行する。
【００３１】
ステップＳ２６では、第１同期処理部２２が、同期を開始する。ここでは、実行サーバ１０がルートサーバであるので、当該実行サーバ１０に管理者から現在の同期対象と同一の資源（データベースなど）が入力されていた場合に、その同期を開始する。例えば、同期対象が棚卸データベースであり、かつ、図５のようなデータベースが実行サーバ１０に入力されていた場合には、第１同期処理部２２は、図５の棚卸データベースから、フラグが「３」又は「１」の同期の情報（行）を抽出する。そして、第１同期処理部２２は、ステップＳ２８において、下位サーバに、抽出した同期の情報（行）の同期の開始を依頼する。具体的には、図８に示すデータベースを、下位のサーバに送信する。
【００３２】
なお、ステップＳ２６において同期対象が図４の「棚卸データベース」であったとしても、実行サーバ１０に対して管理者から棚卸データベースが送信されてきていない場合もある。このような場合には、ステップＳ２６、Ｓ２８の処理としては何も行うことなく、ステップＳ１４に戻る。
【００３３】
一方、図６のステップＳ１６において、例えば、特定された同期対象の名称が図４の「棚卸適用結果の収集」であった場合には、同期方向が「上」であるので、ここでの判断は肯定されて、ステップＳ１８に移行する。
【００３４】
ステップＳ１８に移行すると、判定部２０が、自己（実行サーバ１０）が末端のサーバであるか否かを判断する。このステップＳ１８の判断が否定された場合、すなわち、実行サーバ１０がルートサーバ又は中間サーバであった場合には、ステップＳ１４に戻る。すなわち、実行サーバ１０がルートサーバや中間サーバであった場合には、ステップＳ１６で特定された同期対象の処理は一切行わない。一方、実行サーバ１０が末端サーバであり、ステップＳ１８の判断が肯定された場合には、ステップＳ２０に移行する。
【００３５】
ステップＳ２０では、第２同期処理部２４が、同期を開始する。ここでは、実行サーバ１０が末端サーバであるので、当該実行サーバ１０にクライアント端末３０から現在の同期対象と同一の資源（データベースなど）が入力されていた場合に、その同期を開始する。例えば、同期の名称が「棚卸適用結果の収集」であり、かつ、図９（ａ）や図９（ｂ）のようなデータベース（図８のデータベースに在庫数を入力したもの）がクライアント端末３０から実行サーバ１０に入力されていた場合、第２同期処理部２４は、データベースから、フラグが「２」又は「１」のデータを同期の情報として抽出する。そして、第２同期処理部２４は、ステップＳ２２において、上位サーバに、抽出したデータの同期の開始を依頼する。具体的には、図９（ａ）や図９（ｂ）のデータベースを、上位のサーバに送信する。
【００３６】
なお、ステップＳ２０において同期の名称が「棚卸結果適用の収集」であったとしても、実行サーバ１０に対してクライアント端末３０から図９（ａ）、図９（ｂ）に示すような棚卸データベースが送信されてきていない場合もある。このような場合には、ステップＳ２０、Ｓ２２の処理としては何も行うことなく、ステップＳ１４に戻る。
【００３７】
ステップＳ１４に戻った後は、ステップＳ１４の判断が肯定されるまで、すなわち、同期設定テーブル２８に表示されている全ての同期対象をステップＳ１６にて特定するまで、上記処理（ステップＳ１６〜Ｓ２８）を繰り返す。
【００３８】
ところで、ステップＳ１０の判断が肯定された場合、すなわち、判定部２０が他のサーバ１０からの同期依頼があったと判断した場合には、ステップＳ３０に移行する。ステップＳ３０では、第３同期処理部２６が、同期依頼に対する処理を実行する。具体的には、図７のフローチャートに沿った処理が実行される。
【００３９】
図７の処理では、まず、ステップＳ４０において、第３同期処理部２６が、依頼内容の同期を開始する。
【００４０】
次いで、ステップＳ４２では、第３同期処理部２６が、依頼の同期方向が上か否かを判断する。ここでの判断が、肯定された場合には、ステップＳ４４に移行し、第３同期処理部２６は、上位サーバに同期の開始を依頼する。一方、ステップＳ４２の判断が否定された場合には、ステップＳ４６に移行し、第３同期処理部２６は、下位サーバに同期の開始を依頼する。
【００４１】
その後は、図６に戻るとともに、図６の全処理を終了する。
【００４２】
図６の処理が終了した後は、各サーバ１０では、所定時間経過後に、再度図６の処理がステップＳ１０から開始されることになる。
【００４３】
以上のような処理を全てのサーバ１０が実行することで、情報処理システム１００全体では、図１０〜図１５に示すような処理を行うことができる。すなわち、まず、図１０に示すように、ルートサーバに、管理者から棚卸データベース（図５と同一のデータベース）が入力され、同期依頼が出される。この場合、ルートサーバでは、図１１に示すように、中間サーバＡ，Ｂに、フラグが「１」又は「３」のデータ（行）を同期の情報として送信し同期依頼を出す。この処理は、ルートサーバが、図６のステップＳ２６、Ｓ２７の処理を実行することにより実現される。
【００４４】
次いで、中間サーバＡでは、ルートサーバからの同期依頼に基づいて、同期処理を行うとともに、図１２に示すように、末端サーバＡ，Ｂに対して同期依頼を出す。同様に、中間サーバＢでは、ルートサーバからの同期依頼に基づいて、同期処理を行うとともに、末端サーバＣ，Ｄに対して同期依頼を出す。この処理は、中間サーバＡ，Ｂが、図６のステップＳ３０を実行することにより実現される。
【００４５】
次いで、末端サーバＡ〜Ｄでは、中間サーバＡ又はＢからの同期依頼に基づいて、同期処理を行う。なお、末端サーバＡ〜Ｄには下位のサーバが無いので、図７のステップＳ４６の処理の実体はない。以上により、サーバが階層的に構築された情報処理システム１００における、下方向への同期処理が完了する。
【００４６】
上記同期処理により、末端サーバＡ〜ＤのＨＤＤ９６には、図８のデータベースが格納されるので、クライアントＡ〜Ｈを利用するユーザは、図８のデータベースを読み出して、棚卸結果を入力することが可能となる。例えば、Ａ店では、ユーザが、クライアントＡにおいて、棚卸結果としてデータベース上に図９（ａ）のようなデータ（数値等）を入力し、かつフラグ「３」を「２」に変更することで、棚卸結果をデータベース上に登録する（図１３）。また、Ｂ店では、ユーザが、クライアントＢにおいて、棚卸結果としてデータベース上に図９（ｂ）のようなデータを入力し、かつフラグ「３」を「２」に変更することで、棚卸結果をデータベース上に登録する（図１３）。その他のクライアントにおいても、同様の登録がなされる。
【００４７】
上記のようにして、棚卸結果が登録されると、末端サーバＡ〜Ｄでは、図１３に示すように、同期処理をするとともに、図１４に示すように、中間サーバＡ、Ｂに同期依頼を出す。また、中間サーバＡ、Ｂは、同期依頼に基づいて、図１５に示すように、同期処理を行うとともにルートサーバに対して同期依頼を出す。
【００４８】
そして、ルートサーバでは、中間サーバＡ、Ｂからの同期依頼に基づいて、同期処理を行う。ルートサーバでは、同期処理の結果、図９（ｃ）に示すようなデータベースを得ることができる。以上の処理により、サーバが階層的に構築された情報処理システム１００における、上方向への同期処理が完了することになる。これにより、管理者はルートサーバ上で各店舗での棚卸結果を参照することができるようになる。
【００４９】
なお、上記においては、同期の対象がデータベースである場合について説明したが、これに限られるものではない。例えば、同期の対象が、ソフトウェアや、データファイルであってもよい。同期の対象がソフトウェアやデータファイルである場合には、ソフトウェアやデータファイルのリストを予め作成しておき、リストの各項目にフラグを設定しておけば、上記と同様にして、同期処理を行うことが可能である。
【００５０】
以上、詳細に説明したように、本実施形態によると、他のサーバとともに階層構造を形成して動作する各サーバ１０が、他のサーバから同期依頼を受付けたか否かを判定する判定部２０と、判定部による判定の結果、他のサーバから同期依頼を受け付けていないと判定された場合に、階層内での自己の位置を識別する識別部１２とを備えている。また、各サーバ１０は、識別部１２による識別の結果、自己の位置が階層内の最も上位であった場合（ルートサーバであった場合）に、同期する対象（図４の同期対象）と同期する方向（上又は下）とを対応づける同期設定テーブル２８から下位方向へ同期する対象を抽出するとともに、抽出した同期する対象から同期する情報（フラグが１又は３の情報）を抽出して、当該情報を下位方向の装置へ同期依頼する第１同期処理部２２と、識別部１２による識別の結果、自己の位置が階層内の最も下位であった場合（末端サーバであった場合）に、同期設定テーブル２８から上位方向へ同期する対象を抽出するとともに、抽出した同期する対象から同期する情報（フラグが１又は２の情報）を抽出して、当該情報を上位方向の装置へ同期依頼する第２同期処理部２４とを備えている。更に、サーバ１０は、判定部２０による判定の結果、他のサーバから同期依頼を受け付けた場合に、同期する方向を検出するとともに、同期依頼された情報を検出した同期する方向のサーバへ同期依頼する第３同期処理部２６を備えている。これにより、各サーバ１０が第１〜第３同期処理部２２〜２６による処理を適宜行うことにより、サーバ１０の階層構造を有する情報処理システム１００において、効率的に（同期のケースごとに同期プログラムを作成したりすることなく）、各サーバでの情報の同期を行うことが可能となる。したがって、同期の対象がデータベースやテーブル、ソフトウェア、ファイルなど多岐にわたっていたり、同期の方向が上下のいずれかであったりする大規模システムなどにおいても、効率的に同期処理を行うことが可能である。この場合、同期の方向、同期の対象にかかわらず、１つの同期プログラムで同期処理を実現できる。これにより、同期の方向、同期の対象ごとに異なる同期プログラムを作成するような場合と比較して、プログラムの開発費、メンテナンス費用、管理の手間などの点において有利である。
【００５１】
また、本実施形態では、同期する情報ごとに、同期する方向がフラグ（０〜３）により規定されているので、各同期処理部２２〜２６は、簡易に同期する情報ごとの同期する方向を識別することが可能である。これにより、各同期処理部２２〜２６は、同期対象からの同期の情報の抽出を簡易に行うことが可能である。
【００５２】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００５３】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００５４】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００５５】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００５６】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  階層的に構築される装置で動作する同期処理プログラムであって、他の装置から同期依頼を受け付けていない場合には、前記階層内での自己の位置を識別し、前記自己の位置が前記階層内の最も上位であれば、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼し、前記自己の位置が前記階層内の最も下位であれば、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼し、他の装置から同期依頼を受け付けた場合には、前記同期依頼の内容から、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する処理を、コンピュータに実行させることを特徴とする同期処理プログラム。
（付記２）  前記同期する情報ごとに、前記同期する方向が規定されていることを特徴とする付記１に記載の同期処理プログラム。
（付記３）  階層的に構築される複数の装置それぞれにおいて実行される同期処理方法であって、他の装置から同期依頼を受付けたか否かを判定する判定工程と、前記判定工程で、前記他の装置から同期依頼を受け付けていないと判定された場合に、前記階層内での自己の位置を識別する識別工程と、前記識別工程の結果、前記自己の位置が前記階層内の最も上位であった場合に、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼する第１同期処理工程と、前記識別工程の結果、前記自己の位置が前記階層内の最も下位であった場合に、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼する第２同期処理工程と、前記判定工程で、前記他の装置から同期依頼を受け付けたと判定された場合に、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する第３同期処理工程と、をコンピュータが実行することを特徴とする同期処理方法。
（付記４）  前記同期する情報ごとに、前記同期する方向が規定されていることを特徴とする付記１に記載の同期処理方法。
（付記５）  他の装置とともに階層構造を形成して動作する情報処理装置であって、前記他の装置から同期依頼を受付けたか否かを判定する判定部と、前記判定部による判定の結果、前記他の装置から同期依頼を受け付けていないと判定された場合に、前記階層内での自己の位置を識別する識別部と、前記識別部による識別の結果、前記自己の位置が前記階層内の最も上位であった場合に、同期する対象と同期する方向とを対応づける同期設定テーブルから下位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を下位方向の装置へ同期依頼する第１同期処理部と、前記識別部による識別の結果、前記自己の位置が前記階層内の最も下位であった場合に、前記同期設定テーブルから上位方向へ同期する対象を抽出するとともに、前記抽出した同期する対象から同期する情報を抽出して、当該情報を上位方向の装置へ同期依頼する第２同期処理部と、前記判定部による判定の結果、前記他の装置から同期依頼を受け付けた場合に、同期する方向を検出するとともに、前記同期依頼された情報を前記検出した同期する方向の装置へ同期依頼する第３同期処理部と、を備える情報処理装置。
（付記６）  前記同期する情報ごとに、前記同期する方向が規定されていることを特徴とする付記５に記載の情報処理装置。
（付記７）  付記５又は６に記載の情報処理装置を複数備え、前記複数の情報処理装置が階層構造を形成していることを特徴とする情報処理システム。
【符号の説明】
【００５７】
１０  サーバ（情報処理装置）
１２  識別部
２０  判定部
２２  第１同期処理部
２４  第２同期処理部
２６  第３同期処理部
２８  同期設定テーブル
９０  ＣＰＵ（コンピュータ）
【図１】
2012174231.tif 000003
【図２】
2012174231.tif 000004
【図３】
2012174231.tif 000005
【図４】
2012174231.tif 000006
【図５】
2012174231.tif 000007
【図６】
2012174231.tif 000008
【図７】
2012174231.tif 000009
【図８】
2012174231.tif 000010
【図９】
2012174231.tif 000011
【図１０】
2012174231.tif 000012
【図１１】
2012174231.tif 000013
【図１２】
2012174231.tif 000014
【図１３】
2012174231.tif 000015
【図１４】
2012174231.tif 000016
【図１５】
2012174231.tif 000017