(57)【特許請求の範囲】
【請求項１】
記憶対象の属性情報と該属性情報に対応する識別情報を有する索引情報を分散記憶する複数のインデックスサーバと、該インデックスサーバに対して検索を行う検索装置と、該記憶対象の該識別情報と該記憶対象の該属性情報とを対応付けて記憶する登録サーバとを有するデータベースシステムの制御方法において、
該検索装置から検索要求を受信すると、該検索要求に対応する索引情報を記憶するインデックスサーバの変更頻度が所定値以上であるか否かを該インデックスサーバが判定し、
該変更頻度が所定値以上である場合、該変更頻度が所定値以上になった該索引情報に対応する属性情報を該登録サーバから該インデックスサーバが受信する
ことを特徴とするデータベースシステムの制御方法。
【請求項２】
該登録サーバの属性情報が更新されると、該更新された属性情報に対応する識別情報を有する索引情報の更新処理を該登録サーバが実行し、該更新された属性情報に応じて該更新された属性情報に対応する識別情報を有する索引情報を記憶するインデックスサーバを該複数のインデックスサーバの中から該登録サーバが決定し、該変更頻度を該登録サーバが受信し、該変更頻度が所定値以上になった場合、該登録サーバが該更新処理を中止することを特徴とする請求項１記載のデータベースシステムの制御方法。
【請求項３】
該登録サーバから受信した属性情報に基づいて該変更頻度が所定値以上になった該識別情報が属するインデックスサーバを該検索装置から該検索要求を受信したインデックスサーバが決定することを特徴とする請求項１記載のデータベースシステムの制御方法。
【請求項４】
該インデックスサーバが該登録サーバから属性情報を受信する受信頻度を測定し、該受信頻度に応じて、該登録サーバが該更新処理を再開することを特徴とする請求項２記載のデータベースシステムの制御方法。
【請求項５】
該変更頻度と該受信頻度との比率に応じて該登録サーバが該更新処理を再開することを特徴とする請求項４記載のデータベースシステムの制御方法。
【請求項６】
検索を行う検索装置と、記憶対象の識別情報と該記憶対象の属性情報とを対応付けて記憶する登録サーバとに通信し、該記憶対象の該属性情報と該属性情報に対応する該識別情報を有する索引情報を分散記憶するインデックスサーバにおいて、
該検索装置から検索要求を受信すると、該検索要求に対応する索引情報を記憶するインデックスサーバの変更頻度が所定値以上であるか否かを判定する判定部と、
該変更頻度が所定値以上である場合、該変更頻度が所定値以上になった該索引情報に対応する属性情報を該登録サーバから受信する受信部と、
を有することを特徴とするインデックスサーバ。
【請求項７】
検索を行う検索装置と、記憶対象の識別情報と該記憶対象の属性情報とを対応付けて記憶する登録サーバとに通信し、該記憶対象の該属性情報と該属性情報に対応する該識別情報を有する索引情報を分散記憶するインデックスサーバを制御するプログラムであって、該インデックスサーバを、
該検索装置から検索要求を受信すると、該検索要求に対応する索引情報を記憶するインデックスサーバの変更頻度が所定値以上であるか否かを判定する判定手段、
該変更頻度が所定値以上である場合、該変更頻度が所定値以上になった該索引情報に対応する属性情報を該登録サーバから受信する受信手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースシステムの制御方法、インデックスサーバ及びプログラムに関する。
【背景技術】
【０００２】
大規模データベースシステムは、複数のデータベースと、複数のインデックスサーバを有し、データベース及びインデックスサーバを分散管理する。データベースは管理対象物の識別情報と属性情報を登録する。インデックスサーバは、属性情報をキー情報として、属性情報と識別情報とを対応付けたインデックス情報を管理する。
【０００３】
インデックスサーバは、検索装置から検索要求を受信すると、インデックス情報を参照して、検索要求に含まれるキー情報としての属性情報に対応する識別情報を取得し、検索装置に送信する。また、インデックス情報は属性情報の更新を反映させて更新しなければならず、属性情報の変更に応じて、変更された属性情報を管理するインデックスサーバに新たにインデックス情報を登録する必要がある。
【０００４】
属性情報の更新が頻繁に起こるインデックス情報に関しては、データベースシステムにかかる更新負荷が大きくなる。検索やインデックス管理処理の負荷分散のためにインデックスサーバを多重化して分散管理している場合には、インデックス情報のインデックスサーバ間での移動が必要になることがあり、更新負荷はさらに大きくなる。この時、インデックス情報の登録・削除処理によるインデックスサーバと登録サーバ間の通信量も多くなる。
【０００５】
先行技術文献としては下記のものがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１８５０１９号公報
【特許文献２】特開２００７−１２２３０２号公報
【特許文献３】特開２００８−１２３４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の課題は、索引情報の分散管理を行うデータベースシステムにて、インデックスサーバと、登録サーバとの間での索引情報の更新処理による通信量を低減することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、記憶対象の属性情報と該属性情報に対応する識別情報を有する索引情報を分散記憶する複数のインデックスサーバと、該インデックスサーバに対して検索を行う検索装置と、該記憶対象の該識別情報と該記憶対象の該属性情報とを対応付けて記憶する登録サーバとを有するデータベースシステムの制御方法は、該検索装置から検索要求を受信すると、該検索要求に対応する索引情報を記憶するインデックスサーバの変更頻度が所定値以上であるか否かを該インデックスサーバが判定し、該変更頻度が所定値以上である場合、該変更頻度が所定値以上になった該索引情報に対応する属性情報を該登録サーバから該インデックスサーバが受信する。
【発明の効果】
【０００９】
本実施形態の一側面によれば、索引情報を記憶するインデックスサーバの変更頻度が所定値以上である場合、該変更頻度が所定値以上になった該索引情報に対応する属性情報を登録サーバから該インデックスサーバが受信する。そのため、インデックスサーバと、登録サーバとの間での索引情報の更新処理による通信量を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】データベースシステム全体構成を表す図である。
【図２】インデックスサーバの構成を表す図である。
【図３】登録サーバの構成を表す図である。
【図４】本実施形態におけるインデックス登録を表す図である。
【図５】インデックス登録の一例を表す図である。
【図６】登録サーバのデータ登録処理を表すフローチャートである。
【図７】インデックスサーバのデータ登録処理を表すフローチャートである。
【図８】インデックスサーバの検索処理を表すフローチャートである。
【図９】登録サーバの多重登録中止処理を表すフローチャートである。
【発明を実施するための形態】
【００１１】
図１を用いて、データベースシステム全体構成について説明する。データベースシステム０は、複数の登録サーバ、複数のインデックスサーバを有する。本実施形態では、データベースシステム０は、４つのインデックスサーバ１００Ａ、１００Ｂ、１００Ｃ及び１００Ｄ、２つの登録サーバ２００Ａ及び２００Ｂ、ユーザによって、入力された情報に基づいてインデックスサーバ１００Ａ、１００Ｂ、１００Ｃ及び１００Ｄに対して検索を行う検索装置によって実行される検索アプリケーション１Ａ、１Ｂ及び１Ｃ、センサ２Ａ、２Ｂ及び２Ｃを有する。センサ２Ａ、２Ｂ及び２Ｃは、例えば温度センサであり、測定対象物に備えられる。なお、ここで、登録サーバは第一装置であり、インデックスサーバは第二装置である。
【００１２】
インデックスサーバ１００Ａ、１００Ｂ、１００Ｃ及び１００Ｄは、属性情報とその属性情報に対応する識別情報が記述されたインデックス情報を管理する。ここで、本実施形態における属性情報とは、例えば、センサ２Ａ、２Ｂ及び２Ｃが取得する温度情報等の検索条件となり得る性質の情報である。各インデックスサーバは、検索アプリケーション１Ａ、１Ｂ及び１Ｃから検索要求を受信する。
【００１３】
各登録サーバには直接、またはＬＡＮ、ＷＡＮやＰＡＮなどの図示しないネットワークを介してセンサが接続される。本実施形態では、センサ２Ａ及びセンサ２Ｂが登録サーバ２００Ａに接続され、センサ２Ｃが登録サーバ２００Ｂに接続される。登録サーバ２００Ａ及び２００Ｂは、センサ２Ａ、２Ｂ及び２Ｃから属性情報である温度情報を受信する。登録サーバ２００Ａ及び２００Ｂは、受信した温度情報を自装置が有するデータベースに登録する。また、登録サーバ２００Ａ及び２００Ｂは、受信した温度情報を管理するインデックスサーバに対して、インデックス情報の登録を行う。なお、インデックスサーバ１００の数及び登録サーバ２００等の数はこれらに限定されない。
【００１４】
本実施形態におけるデータベースシステム０は、分散型ハッシュテーブル(ＤＨＴ：Ｄｉｓｔｒｉｂｕｔｅｄ  Ｈａｓｈ  Ｔａｂｌｅ)による検索用インデックスの自律分散管理を行う。ＤＨＴでは、管理対象となる各インデックスに対して、その管理を行うインデックスサーバを所定のハッシュ関数を用いて定め、検索やインデックス管理処理を分散させることができる。検索用インデックスを管理する各インデックスサーバは、自律的にハッシュ値の管理範囲を把握する。各インデックスサーバは、各インデックスサーバが管理する範囲に含まれる属性情報の検索用インデックスを管理する。各インデックスサーバは、検索アプリケーションからデータ検索要求を受信すると、自装置が把握しているハッシュ値の管理範囲を参照して、インデックスサーバ間で検索メッセージの転送を行う。そして、インデックスサーバ１００は、インデックスの中から検索条件に一致するＩＤを取得する。また、本実施形態では、部屋に設置された温度センサを用い、例えば、建物内の部屋の中から、ユーザが所定温度の部屋を検索する場合について説明する。
【００１５】
図２を用いて、インデックスサーバ１００について説明する。インデックスサーバ１００は、登録サーバ２００から登録されるインデックス情報の管理機能を有する。インデックスサーバ１００は、検索頻度監視部１０２、検索-値更新頻度比較部１０４、検索部１０６、最新値参照部１０８、インデックス管理部１１０及びインデックス情報格納部１１２を有する。
【００１６】
インデックス管理部１１０は、インデックス情報格納部１１２に対してデータの登録及び削除を行う。インデックス情報格納部１１２は、多重登録データテーブル１１２Ａと通常データテーブル１１２Ｂの２種類のインデックス情報を管理する。多重登録データテーブル１１２Ａは、属性情報である温度情報が頻繁に変化するために、インデックス情報を管理するインデックスサーバが頻繁に変わるＩＤ及びＩＤに関する情報を有する。通常データテーブル１１２Ｂは、インデックス情報を管理するインデックスサーバが頻繁に変わらないＩＤ及びＩＤに関する情報を有する。
【００１７】
多重登録データテーブル１１２Ａは、多重登録データ１１２１、登録サーバ情報１１２２、検索頻度１１２３及び検索ログ１１２４を有する。多重登録データ１１２１には、多重登録を行うデータのＩＤが記録される。登録サーバ情報１１２２には、多重登録を行うデータのＩＤに対応する値を管理する登録サーバの宛先（ＩＰアドレス、ポート番号など）が記録される。検索頻度１１２３には、多重登録データが一定時間内に検索された回数が記録される。本実施形態では、例えば、１時間に検索された回数が記録される。検索ログ１１２４には、多重登録データが検索された時刻情報が記録される。
【００１８】
一方、通常データテーブル１１２Ｂは、登録データ１１２５、登録サーバ情報１１２６及び最新値１１２７を有する。登録データ１１２５には、登録を行うデータのＩＤが記録される。登録サーバ情報１１２６には、登録を行うデータのＩＤに対応する値を管理する登録サーバの宛先が記録される。最新値１１２７には、登録データ１１２５に記録されたＩＤに対応する最新値が記録される。
【００１９】
また、多重登録データ１１２１は、最新値が変動することによって、複数のインデックスサーバ間を頻繁に移動するデータである。本実施形態では、多重登録データの最新値はインデックスサーバでは管理しないため、インデックスサーバ１００が検索要求受信時に、多重登録データ１１２１のＩＤに対応する最新値を登録サーバ２００から取得することで、多重登録データ１１２１が検索対象に該当するか否かを判定する。
【００２０】
検索部１０６は、検索アプリケーションからの検索要求に応え、インデックス情報格納部１１２に対して検索を行う。検索頻度監視部１０２は、多重登録データ１１２１の検索頻度を取得する。検索-値更新頻度比較部１０４は、特定のインデックスに対する検索頻度と値更新頻度を比較し、所定の比率以上であるか否かを判定する。最新値参照部１０８は、登録サーバ２００から、多重登録されているＩＤに対応する最新値を取得する。
【００２１】
図３を用いて、登録サーバ２００について説明する。登録サーバ２００は、センサから受信するデータの登録機能と、各データのインデックス情報を通常登録する機能及び多重登録する機能を有する。登録サーバ２００は、データ登録部２０２、多重登録禁止指示受信部２０４、インデックス通常登録部２０６、インデックス多重登録部２０８、登録データテーブル２１０、多重登録禁止テーブル２１２、インデックス変更頻度判定部２１４及び値更新頻度判定部２１６を有する。
【００２２】
データ登録部２０２は、センサから受信したデータを登録する。インデックス通常登録部２０６は、インデックスサーバ１００の通常データテーブル１１２Ｂに対してデータの登録を行う。インデックス多重登録部２０８は、複数のインデックスサーバ１００の多重登録データテーブル１１２Ａに対して、データの登録を行う。
【００２３】
多重登録禁止テーブル２１２は、多重登録禁止データ２１２１及び検索頻度２１２２を有する。多重登録禁止データ２１２１には、多重登録を禁止されたデータのＩＤが記録される。検索頻度２１２２には、多重登録禁止データが一定時間内に検索された回数が記録される。
【００２４】
一方、登録データテーブル２１０は、登録データ２１０１、インデックスサーバ情報２１０２、最新値２１０３、値更新頻度２１０４、インデックス変更頻度２１０５及び値更新ログ２１０６を有する。登録データ２１０１には、多重登録を行うデータのＩＤが記録される。インデックスサーバ情報２１０２には、データの登録を行うインデックスサーバの宛先が記録される。多重登録を行う場合は、多重登録を行う全てのインデックスサーバの宛先が記録される。最新値２１０３には、登録データ２１０１に記録されたＩＤに対応する最新値が記録される。値更新頻度２１０４には、登録データ２１０１に記録されたＩＤに対応する値の一定時間内の変更頻度が記録される。インデックス変更頻度２１０５には、登録データ２１０１に記録されたＩＤに対応する値が一定時間内にインデックスサーバ間を移動した回数が記録される。値更新ログ２１０６には、最新値が更新された時刻情報が記録される。
【００２５】
インデックス変更頻度判定部２１４は、各データのインデックスサーバ間の移動頻度を計算し、算出した値を登録データテーブル２１０のインデックス変更頻度２１０５に記録する。移動頻度とは、属性情報が変動することによって、インデックス情報を管理するインデックスサーバが変わる頻度のことである。値更新頻度判定部２１６は、各データの値変更頻度を計算し、算出した値を登録データテーブル２１０の値更新頻度２１０４に記録する。
【００２６】
多重登録禁止指示受信部２０４は、インデックスサーバ１００からの多重登録禁止指示を受信する。
【００２７】
また、登録データテーブル２１０に新しい項目を加えてセンサに関する付加情報、例えば、センサが設置されている場所等を記録しても良い。
【００２８】
図４を用いて本実施形態におけるインデックス登録について説明する。センサ２Ａは、最新値２０．８℃を取得すると、最新値を登録サーバ２００Ａに送信する。登録サーバ２００Ａは、センサ２Ａから最新値を受信すると、登録データテーブル２１０に２０．８℃を登録する。登録サーバ２００Ａは、２０℃〜２１℃を管理するインデックスサーバ１００Ｂにインデックス情報の登録を行う。
【００２９】
センサ２Ａは、最新値２１．２℃を取得すると、最新値を登録サーバ２００Ａに送信する。登録サーバ２００Ａは、センサから最新値を受信すると、登録データテーブル２１０に２１．２℃を登録する。登録サーバ２００Ａは、２１℃〜２２℃を管理するインデックスサーバ１００Ａにインデックス情報の登録を行う前に、インデックスサーバ１００Ｂからインデックスサーバ１００Ａへのインデックス情報の移動頻度を判定する。移動頻度が所定値以下の場合、登録サーバ２００Ａは、インデックスサーバ１００Ｂに対してインデックス情報の削除を行い、インデックスサーバ１００Ａに対してインデックス情報の登録を行う。
【００３０】
センサ２Ａは、最新値２１．０℃を取得すると、最新値を登録サーバ２００Ａに送信する。登録サーバ２００Ａは、センサ２Ａから最新値を受信すると、登録データテーブル２１０に２１．０℃を登録する。登録サーバ２００Ａは、２１℃〜２２℃を管理するインデックスサーバ１００Ａに登録したインデックス情報の値更新を行う。
【００３１】
センサ２Ａは、最新値２０．９℃を取得すると、最新値を登録サーバ２００Ａに送信する。登録サーバ２００Ａは、センサ２Ａから最新値を受信すると、登録データテーブル２１０に２０．９℃を登録する。２０．９℃は、インデックスサーバ１００Ｂが管理するデータ範囲であるため、登録サーバ２００Ａは、インデックス情報のインデックスサーバ１００Ａからインデックスサーバ１００Ｂへの移動頻度を判定する。移動頻度が所定値以上の場合、登録サーバ２００Ａは、インデックスサーバ１００Ａ及びインデックスサーバ１００Ｂに対して多重登録を行う。
【００３２】
以降、登録サーバ２００Ａは、例えば、センサ２Ａから最新値２０．８℃を受信しても、インデックス情報の移動頻度が所定値以上と判定し、インデックスサーバ１００Ａ及びインデックスサーバ１００Ｂに対して、インデックス情報の最新値の登録を行わない。また、登録サーバ２００Ａは、例えば、センサ２Ａから最新値２１．１℃を受信しても、インデックスサーバ１００Ａ及びインデックスサーバ１００Ｂに対して、インデックス情報の登録・削除処理を行わない。
【００３３】
このように、本実施形態では、図５に表したインデックス情報の登録処理のようにインデックスサーバが変更する毎に、インデックス情報の登録・削除処理を行わなくても良いため、インデックス情報の登録・削除処理にかかる通信量を減らすことができる。
【００３４】
図６を用いて、登録サーバ２００のデータ登録処理について説明する。ステップＳ１０１において、データ登録部２０２は、センサからデータ更新通知を受信する。データ登録部２０２は、センサから受信したデータ更新通知に従って、登録データテーブル２１０にデータを記録する。処理はステップＳ１０２に移行する。
【００３５】
ステップＳ１０２において、データ登録部２０２は、登録データテーブル２１０を参照して、更新データが多重登録対象であるか否かを判定する。更新データが多重登録対象である場合、処理はステップＳ１１０に移行する。一方、更新データが多重登録対象でない場合、処理はステップＳ１０３に移行する。
【００３６】
ステップＳ１０３において、インデックス通常登録部２０６は、受信した更新データに対応するインデックスサーバを算出し決定する。ここで、インデックスサーバの算出処理とは、例えば、所定のハッシュ関数を用いて更新データのハッシュ値を計算し、そのハッシュ値を管理するインデックスサーバを算出する処理のことである。処理はステップＳ１０４に移行する。
【００３７】
ステップＳ１０４において、インデックス通常登録部２０６は、更新データの属性情報を参照して、インデックスサーバが変更されるか否かを判定する。インデックスサーバが変更される場合、処理はステップＳ１０５に移行する。一方、インデックスサーバが変更されない場合、処理はステップＳ１０６に移行する。
【００３８】
ステップＳ１０６において、インデックス通常登録部２０６は、インデックス情報を登録中のインデックスサーバに対してインデックスが有する属性情報の最新値を通知する。処理は終了する。
【００３９】
ステップＳ１０５において、インデックス変更頻度判定部２１４は、インデックス情報のインデックスサーバ間の移動頻度が所定値以上か否かを判定する。インデックス情報のインデックスサーバ間の移動頻度が所定値以上の場合、処理はステップＳ１０７に移行する。一方、インデックス情報のインデックスサーバ間の移動頻度が所定値以上でない場合、処理はステップＳ１０８に移行する。なお、所定値は、例えば、データベースシステム０をテスト稼働させて、インデックスサーバ間を移動してのインデックス情報の登録・削除処理がデータベースシステム０に与える負荷を算出して決定すれば良い。
【００４０】
ステップＳ１０７において、インデックス多重登録部２０８は、変更前と変更後のインデックスサーバに対して、インデックス情報の多重登録要求を送信する。これによれば、インデックス情報のインデックスサーバ間の移動頻度が所定値以上の場合、登録サーバ２００はインデックス情報の更新処理を中止する。そのため、更新処理による負荷を低減することができる。処理は終了する。
【００４１】
ステップＳ１０８において、インデックス通常登録部２０６は、変更前のインデックスサーバにインデックス情報の削除要求を送信する。処理はステップＳ１０９に移行する。
【００４２】
ステップＳ１０９において、インデックス通常登録部２０６は、変更後のインデックスサーバにインデックス情報の通常登録要求を送信する。処理は終了する。
【００４３】
ここで、再び、ステップＳ１１０に戻る。ステップＳ１１０において、値更新頻度判定部２１６は、登録データテーブル２１０を参照して、インデックス情報の属性情報の更新頻度が所定値以下になったか否かを判定する。インデックス情報の属性情報の更新頻度が所定値以下になった場合、処理はステップＳ１１１に移行する。一方、インデックスの属性情報の更新頻度が所定値以下になっていない場合、処理はステップＳ１１３に移行する。
【００４４】
ステップＳ１１１において、インデックス通常登録部２０６は、全ての登録中インデックスサーバへインデックス情報の削除要求を送信する。処理はステップＳ１１２に移行する。
【００４５】
ステップＳ１１２において、インデックス通常登録部２０６は、最新値に対応するインデックスサーバにインデックス情報の通常登録要求を送信する。処理は終了する。
【００４６】
ステップＳ１１３において、インデックス通常登録部２０６は、最新値は登録中のインデックスサーバの管理範囲内か否かを判定する。最新値が登録中のインデックスサーバの管理範囲内である場合、ステップＳ１０７で説明した通り、インデックス情報の更新処理を中止しているため、そのまま処理は終了する。一方、最新値が登録中のインデックスサーバの管理範囲内でない場合、処理はステップＳ１１４に移行する。
【００４７】
ステップＳ１１４において、インデックス多重登録部２０８は、最新値を管理するインデックスサーバにインデックス情報の多重登録要求を送信する。処理は終了する。
【００４８】
図７を用いて、インデックスサーバ１００のデータ登録処理について説明する。ステップＳ２０１において、インデックス管理部１１０は、登録サーバ２００からインデックス情報の登録要求を受信する。インデックス情報の登録要求が、通常登録要求であれば、「ＩＤ：ＩＤ−２３４５」、「最新値：２０．４℃」及び「登録サーバ:１０．０．０．３４：９０９０」の情報が登録サーバ２００からインデックスサーバ１００に送信される。一方、インデックス情報の登録要求が、多重登録要求であれば、「ＩＤ：ＩＤ−２３４４」及び「登録サーバ:１０．０．０．３４：９０９０」の情報が登録サーバ２００からインデックスサーバ１００に送信される。処理はステップＳ２０２に移行する。
【００４９】
ステップＳ２０２において、インデックス管理部１１０は、インデックス情報格納部１１２を参照して、登録データが多重登録データであるか否かを判定する。登録データが多重登録データである場合、処理はステップＳ２０４に移行する。一方、登録データが多重登録データでない場合、処理はステップＳ２０３に移行する。
【００５０】
ステップＳ２０４において、インデックス管理部１１０は、多重登録データテーブル１１２ＡにデータのＩＤ及び登録サーバを記録する。処理は終了する。
【００５１】
ステップＳ２０３において、インデックス管理部１１０は、通常データテーブル１１２ＢにデータのＩＤ、登録サーバ及び最新値を記録する。処理は終了する。
【００５２】
図８を用いて、インデックスサーバ１００の検索処理について説明する。ステップＳ３０１において、検索部１０６は、検索アプリケーションから検索要求を受信する。ユーザは検索アプリケーションを用いて、例えば、「温度＝２１．ｘ℃」と検索を行う。処理はステップＳ３０２に移行する。
【００５３】
ステップＳ３０２において、検索部１０６は、インデックス情報格納部１１２を参照して、検索結果に多重登録データがあるか否かを判定する。検索結果に多重登録データがある場合、処理はステップＳ３０３に移行する。一方、検索結果に多重登録データがない場合、処理はステップＳ３０４に移行する。
【００５４】
ステップＳ３０３において、最新値参照部１０８は、多重登録データの最新値、値更新頻度及びインデックス情報の移動頻度を登録サーバ２００から取得する。最新値参照部１０８は、メモリ上に多重登録データの最新値を記録し、処理はステップＳ３０４に移行する。
【００５５】
ステップＳ３０４において、検索部１０６は、通常登録データの最新値と、ステップS303にて取得した多重登録データの最新値を元に、「温度＝２１．ｘ℃」に対応するＩＤリストを作成し、検索アプリケーションに返答する。処理はステップＳ３０５に移行する。
【００５６】
ステップＳ３０５において、インデックス管理部１１０は、多重登録データテーブル１１２Ａの検索頻度１１２３を更新する。処理はステップＳ３０６に移行する。
【００５７】
ステップＳ３０６において、検索-値更新頻度比較部１０４は、最新値と共に取得した更新頻度と検索頻度との比率が所定値以上であった場合には、登録サーバ２００に対してそのＩＤのデータの多重登録中止指示を送信する。処理は終了する。
【００５８】
ここで、更新頻度と検索頻度との比率について説明する。多重登録が有効なのは、登録サーバ２００の「インデックスサーバ更新頻度×(インデックス情報の登録＋削除処理負荷)」より、検索サーバ１００の「検索頻度×最新値取得負荷」が小さいケースである。多重登録を行う場合は、検索サーバ１００が登録サーバ２００から最新値を取得しなければならない。そのため、多重登録を行わない場合と比較して、最新値取得負荷が生じてしまう。そこで、検索サーバ１００の最新値取得負荷と登録サーバ２００インデックス情報の登録・削除処理負荷の比率をデータベースシステム全体で取得し、検索サーバ１００の最新値取得負荷が登録サーバ２００インデックス情報の登録・削除処理負荷よりも大きくなった場合、多重登録を中止する。
【００５９】
図９を用いて、登録サーバ２００の多重登録中止処理について説明する。ステップＳ４０１において、多重登録禁止指示受信部２０４は、インデックスサーバから受信した多重登録中止指示を参照し、データ管理情報を更新する。多重登録中止指示には、「ＩＤ：ＩＤ−２３４４」及び「検索頻度：４０回／ｈｏｕｒ」が含まれる。処理はステップＳ４０２に移行する。
【００６０】
ステップＳ４０２において、多重登録禁止指示受信部２０４は、該当データを登録しているインデックスサーバに、登録削除要求指示を送信する。登録削除要求指示には、「ＩＤ：ＩＤ−２３４４」が含まれる。処理はステップＳ４０３に移行する。
【００６１】
ステップＳ４０３において、インデックス通常登録部２０６は、該当データの最新値に
対応するインデックスサーバに、通常登録要求指示を送信する。通常登録要求指示には、「ＩＤ：ＩＤ−２３４４」、「最新値：２０．４℃」及び「登録サーバ：１０．０．０．３４：９０９０」が含まれる。処理はステップＳ４０４に移行する。
【００６２】
ステップＳ４０４において、多重登録禁止指示受信部２０４は、多重登録禁止テーブルに、対象データのＩＤと検索頻度を記録する。多重登録禁止テーブルへの対象データのＩＤの記録によって、以後そのデータに対して多重登録は行われないようになる。
【００６３】
本実施形態では、部屋に設置された温度センサを用い、例えば、建物内の部屋の中から、温度が２０℃の部屋を検索する場合について説明したが、温度の代わりにＲＦＩＤによる位置検出情報を用いてもよい。ＲＦＩＤによる位置検出情報を用いる場合、ＲＦＩＤを取り付けた機器の位置情報データベースを管理することが想定される。例えば川崎市の情報を管理するインデックスサーバと、横浜市の情報を管理する同サーバがあるとした場合、市境を頻繁に行き来する機器の情報は、従来技術では両サーバ間で頻繁に登録・削除を繰り返す必要があるが、本実施形態によって、登録・削除を低減することができる。
【符号の説明】
【００６４】
１Ａ、１Ｂ、１Ｃ  検索アプリケーション
２Ａ、２Ｂ、２Ｃ  センサ
１００、１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ  インデックスサーバ
１０２  検索頻度監視部
１０４  検索-値更新頻度比較部
１０６  検索部
１０８  最新値参照部
１１０  インデックス管理部
１１２  インデックス情報格納部
１１２Ａ  多重登録データテーブル
１１２Ｂ  通常データテーブル
２００、２００Ａ、２００Ｂ  登録サーバ
２０２  データ登録部
２０４  多重登録禁止指示受信部
２０６  インデックス通常登録部
２０８  インデックス多重登録部
２１０  登録データテーブル
２１２  多重登録禁止テーブル
２１４  インデックス変更頻度判定
２１６  値更新頻度判定
１１２１  多重登録データ
１１２２  登録サーバ情報
１１２３  検索頻度
１１２４  検索ログ
１１２５  登録データ
１１２６  登録サーバ情報
１１２７  最新値
２１０１  登録データ
２１０２  インデックスサーバ情報
２１０３  最新値
２１０４  値更新頻度
２１０５  インデックス変更頻度
２１０６  値更新ログ
２１２１  多重登録禁止データ
２１２２  検索頻度
【図１】
0005381535.tif 000002
【図２】
0005381535.tif 000003
【図３】
0005381535.tif 000004
【図４】
0005381535.tif 000005
【図５】
0005381535.tif 000006
【図６】
0005381535.tif 000007
【図７】
0005381535.tif 000008
【図８】
0005381535.tif 000009
【図９】
0005381535.tif 000010