(57)【特許請求の範囲】
【請求項１】
データベースに格納された複数の商品データのうちアクセス頻度の高い特定の商品データをデータベースシステムにより抽出する特定商品データの抽出方法であって、
前記データベースシステムが、
所定周期毎に商品データへのアクセス回数を判定するための閾値“０”を閾値記憶部に設定する第１のステップと、
前記所定周期内における前記データベースの各商品データへのアクセス回数を商品データ名単位で測定する第２のステップと、
測定したアクセス回数が前記閾値記憶部に設定された閾値を超過したか否かを判定する第３のステップと、
第３のステップの結果、超過したならば該当商品データ名をセーブエリアに記憶した後、当該セーブエリアが満杯か否かを判定する第４のステップと、
満杯ならば当該セーブエリアに登録されている任意の１つの閾値超過商品データ名の現在のアクセス回数を新しい閾値として前記閾値記憶部に設定し、かつ当該セーブエリアを商品データ名が記憶されていない状態にする第５のステップとを備え、
前記第３のステップから第５のステップを前記所定周期内で商品データへのアクセス毎に繰り返し、前記セーブエリアに記憶されている商品データ名の商品データをアクセス頻度の高い特定の商品データとして抽出することを特徴とする特定商品データの抽出方法。
【請求項２】
前記セーブエリアに登録されている２つ以上の閾値超過商品データ名の中で現在のアクセス回数が最大の値を、前記新しい閾値として設定することを特徴とする請求項１に記載の特定商品データの抽出方法。
【請求項３】
データベースに格納された複数の商品データで示される商品のうち残量の少ない特定の商品の商品データをデータベースシステムにより抽出する特定商品データの抽出方法であって、
前記データベースシステムが、
所定周期毎に商品の受注に伴う残量を判定するための閾値として商品データの在庫数エリアで表現可能な最大の値を閾値記憶部に設定する第１のステップと、
前記所定周期内における前記データベースの商品データで示される商品の受注に伴う残量を商品データ名単位で測定する第２のステップと、
測定した残量が前記閾値記憶部に設定された閾値より少ないか否かを判定する第３のステップと、
第３ステップの結果、少ないならば該当商品データ名をセーブエリアに記憶した後、当該セーブエリアが満杯か否かを判定する第４のステップと、
満杯ならば当該セーブエリアに登録されている任意の１つの閾値降下商品データ名の商品残量を新しい閾値として前記閾値記憶部に設定し、かつ当該セーブエリアを商品データ名が記憶されていない状態にする第５のステップとを備え、
前記第３のステップから第５のステップを前記所定周期内で商品データへの受注毎に繰り返し、前記セーブエリアに記憶されている商品データ名の商品データを残量の少ない特定の商品データとして抽出することを特徴とする特定商品データの抽出方法。
【請求項４】
前記セーブエリアに登録されている２つ以上の閾値降下商品データ名の中で現在の残量が最小の値を、前記新しい閾値として設定することを特徴とする請求項３に記載の特定商品データの抽出方法。
【請求項５】
データベースに格納された複数の商品データのうち配信要求の多い特定の商品データをデータベースシステムにより抽出する特定商品データの抽出方法であって、
前記データベースシステムが、
所定周期毎に商品データへの配信要求回数を判定するための閾値“０”を閾値記憶部に設定する第１のステップと、
前記所定周期内における前記データベースの各商品データへの配信要求回数を商品データ名単位で測定する第２のステップと、
測定した配信要求回数が前記閾値記憶部に設定された閾値を超過したか否かを判定する第３のステップと、
第３のステップの結果、超過したならば該当商品データ名をセーブエリアに記憶した後、当該セーブエリアが満杯か否かを判定する第４のステップと、
満杯ならば当該セーブエリアに登録されている任意の１つの閾値超過商品データ名の現在の配信要求回数を新しい閾値として前記閾値記憶部に設定し、かつ当該セーブエリアを商品データ名が記憶されていない状態にする第５のステップとを備え、
前記第３のステップから第５のステップを前記所定周期内で商品データへの配信要求毎に繰り返し、前記セーブエリアに記憶されている商品データ名の商品データを配信要求頻度の高い特定の商品データとして抽出することを特徴とする特定商品データの抽出方法。
【請求項６】
前記セーブエリアに登録されている２つ以上の閾値超過商品データ名の中で現在の配信要求回数が最大の値を前記新しい閾値として設定することを特徴とする請求項５に記載の特定商品データの抽出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースに格納された複数の商品データのうちアクセス回数や配信要求の多い特定の商品データまたは在庫量（残量）の少ない商品の商品データを抽出する特定商品データの抽出方法に関するものである。
【０００２】
【従来の技術】
データベースに格納された複数の商品データのうちアクセス回数や配信要求の多い特定の商品データまたは在庫量（残量）の少ない商品の商品データを抽出する特定商品データの抽出方法については、ソート処理を使用するものが多いが、データベースのアクセス回数の多いデータを特定することについては、電話網の加入者情報のデータベースシステムが知られている。
電話網のような情報伝達網から高度通信サービス機能やそれに関連する通信網制御機能を階層的に分離し、サービス動作階層，サービス制御階層，サービス管理階層という３階層で構成されるインテリジェントネットワークでは、加入者がどのような条件でどのようなネットワークサービスを受けるかといったような加入者情報は、サービス制御階層のデータベースで管理され、それらのサービス制御階層のデータベースは分散データベースシステムとして構成されるのが一般的である。
【０００３】
インテリジェントネットワークのサービス制御階層を構成する分散データベースシステムにおいて、分散配置されるそれぞれの加入者情報を、どのデータベースシステムに配置するかを決定するにあたっては、それぞれの加入者に提供されるネットワークサービスの利用状況を予想して、特定の分散データベースシステムに負荷が集中しないように負荷バランスを考慮したデータ配置がなされる。
【０００４】
しかしながら、ネットワークサービスの利用状況を予想しての加入者情報配置では、当初予想されなかった利用状況が発生した時に、ある特定の分散データベースシステムに配置されている１つもしくは複数の特定加入者に対するサービス要求が同時期に集中してしまい、該特定の分散データベースシステムに負荷が集中して処理能力を圧迫してしまい、データ参照に遅延が生じて正常なネットワークサービスが受けられなくなるようなケースが発生する恐れがある。
【０００５】
この問題に対し、特開平５−１２３３８号公報では、運用中に各データベースに対するデータ参照回数及び平均参照時間を収集し、収集された情報からデータベースのデータ配置を変更する公知例が開示されている。
【０００６】
また、特開平６−１１９３８３号公報には、使用頻度の高いデータを使用頻度の高い複数のデータベースに多重配置し、参照の遅延時間を極力抑える公知例が開示されている。
【０００７】
これら公知例におけるデータ参照回数あるいは使用頻度といった、データに対するアクセス頻度に関し、アクセス頻度の高いデータを特定する方法の公知例として、特開平１−１７７６７３号公報に開示された方法がある。
【０００８】
図１９は、特開平１−１７７６７３号公報に開示された方法を実現するための頻度テーブルのレコード形式を示す図であり、第１フィールド１１０１がノードｉｄであり、データベースのそれぞれのデータ名に相当し、第２フィールド１１０２、第３フィールド１１０３、第４フィールド１１０４、第５フィールド１１０５はそれぞれ、ある期間内のアクセス回数で、例えば１週間を単位とし、第２フィールドが今週、第３フィールドが先週・・・のように、週単位が古くなるように構成され、第６フィールド１１０６が第２〜第５フィールド１１０２〜１１０５のアクセス回数の合計を表している。
【０００９】
このように構成された頻度テーブルからアクセス頻度の高いノードｉｄを特定する方法として、頻度テーブルの各レコードをアクセス回数合計（第６フィールド１１０６）の順にソートし、ソートしたレコードに対して、ある閾値でアクセス頻度の高いノードｉｄを選択する方法が開示されている。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記特開平１−１７７６７３号公報に開示されたアクセス頻度の高いノードｉｄを特定する方法にあっては、頻度テーブルのレコードをアクセス回数合計１１０６の順にソートする必要があるため、ソート対象となるレコード件数、つまりノードｉｄ１１０１の数が多くなると、ソートに要する処理が増大する。
【００１１】
インテリジェントネットワークを用いてネットワークサービスを受ける加入者の数は膨大であり、１つの分散データベースシステムに収容される加入者は数万〜数１０万といった数にのぼる。
【００１２】
このため、上記公知例をインテリジェントネットワークの分散データベースシステムに適用してアクセス頻度の高いデータの特定を行おうとすると、数万〜数１０万のデータに対するソート処理を行う必要がある。この結果、分散データベースシステムの処理能力へ与える影響が大きくなり、本来のデータベースアクセス処理を圧迫してしまうという問題がある。
【００１３】
この場合、ソートを行わずにアクセス頻度の高いデータを抽出する方法としては、アクセス回数がある閾値を超えたデータのみを登録するという方法があるが、閾値を小さく与えてしまうと登録用テーブルがすぐに満杯になってしまい、閾値を再設定する必要が生じたり、あるいは逆に閾値を大きく与えてしまうと閾値を超過するデータが発生するまでに時間がかかってしまい、ある特定の分散データベースシステムに負荷が集中している時に、負荷の集中要因となっているアクセス頻度の高いデータを負荷の少ない分散データベースシステムに再配置しようとしても、再配置対象とするアクセス頻度の高いデータを特定するのに時間がかかるという問題が生じる。
このような問題は、オンラインショッピングを実現するシステム等においても、どの商品へのアクセス頻度が多いか、または配信要求が多いのか、あるいはどの商品の在庫数が少なくなっているのかを特定する場合に同様に起こる。
【００１４】
本発明の目的は、特に、オンラインショッピングシステム等の商品データを格納しているデータベースを備えたシステムにおいて、ソート処理を不要とし、しかも予め閾値を設定しなくてもアクセス頻度の高い特定商品データや配信要求の多い特定商品データまたは在庫数の少ない特定商品を迅速に抽出することができる特定商品データの抽出方法を提供することにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、本発明は、データベースに格納された複数の商品データのうちアクセス頻度の高い特定の商品データをデータベースシステムにより抽出する特定商品データの抽出方法であって、前記データベースシステムが、
所定周期毎に商品データへのアクセス回数を判定するための閾値“０”を閾値記憶部に設定する第１のステップと、前記所定周期内における前記データベースの各商品データへのアクセス回数を商品データ名単位で測定する第２のステップと、測定したアクセス回数が前記閾値記憶部に設定された閾値を超過したか否かを判定する第３のステップと、第３のステップの結果、超過したならば該当商品データ名をセーブエリアに記憶した後、当該セーブエリアが満杯か否かを判定する第４のステップと、満杯ならば当該セーブエリアに登録されている任意の１つの閾値超過商品データ名の現在のアクセス回数を新しい閾値として前記閾値記憶部に設定し、かつ当該セーブエリアを商品データ名が記憶されていない状態にする第５のステップとを備え、前記第３のステップから第５のステップを前記所定周期内で商品データへのアクセス毎に繰り返し、前記セーブエリアに記憶されている商品データ名の商品データをアクセス頻度の高い特定の商品データとして抽出することを特徴とする。
また、前記セーブエリアに登録されている２つ以上の閾値超過商品データ名の中で現在のアクセス回数が最大の値を、前記新しい閾値として設定することを特徴とする。
【００１６】
また、データベースに格納された複数の商品データで示される商品のうち残量の少ない特定の商品の商品データをデータベースシステムにより抽出する特定商品データの抽出方法であって、前記データベースシステムが、
所定周期毎に商品の受注に伴う残量を判定するための閾値として商品データの在庫数エリアで表現可能な最大の値を閾値記憶部に設定する第１のステップと、前記所定周期内における前記データベースの商品データで示される商品の受注に伴う残量を商品データ名単位で測定する第２のステップと、測定した残量が前記閾値記憶部に設定された閾値より少ないか否かを判定する第３のステップと、第３ステップの結果、少ないならば該当商品データ名をセーブエリアに記憶した後、当該セーブエリアが満杯か否かを判定する第４のステップと、満杯ならば当該セーブエリアに登録されている任意の１つの閾値降下商品データ名の商品残量を新しい閾値として前記閾値記憶部に設定し、かつ当該セーブエリアを商品データ名が記憶されていない状態にする第５のステップとを備え、前記第３のステップから第５のステップを前記所定周期内で商品データへの受注毎に繰り返し、前記セーブエリアに記憶されている商品データ名の商品データを残量の少ない特定の商品データとして抽出することを特徴とする。
また、前記セーブエリアに登録されている２つ以上の閾値降下商品データ名の中で現在の残量が最小の値を、前記新しい閾値として設定することを特徴とする。
【００１７】
また、データベースに格納された複数の商品データのうち配信要求の多い特定の商品データをデータベースシステムにより抽出する特定商品データの抽出方法であって、
前記データベースシステムが、
所定周期毎に商品データへの配信要求回数を判定するための閾値“０”を閾値記憶部に設定する第１のステップと、前記所定周期内における前記データベースの各商品データへの配信要求回数を商品データ名単位で測定する第２のステップと、測定した配信要求回数が前記閾値記憶部に設定された閾値を超過したか否かを判定する第３のステップと、第３のステップの結果、超過したならば該当商品データ名をセーブエリアに記憶した後、当該セーブエリアが満杯か否かを判定する第４のステップと、満杯ならば当該セーブエリアに登録されている任意の１つの閾値超過商品データ名の現在の配信要求回数を新しい閾値として前記閾値記憶部に設定し、かつ当該セーブエリアを商品データ名が記憶されていない状態にする第５のステップとを備え、前記第３のステップから第５のステップを前記所定周期内で商品データへの配信要求毎に繰り返し、前記セーブエリアに記憶されている商品データ名の商品データを配信要求頻度の高い特定の商品データとして抽出することを特徴とする。
また、前記セーブエリアに登録されている２つ以上の閾値超過商品データ名の中で現在の配信要求回数が最大の値を前記新しい閾値として設定することを特徴とする。
【００１８】
上記手段によれば、閾値を動的に更新しながらアクセス頻度の高い商品データまたは配信要求の多い商品データあるいは在庫数の少ない商品データが時間の経過とともにセーブエリアに絞り込まれていく。
このため、アクセス頻度の高い商品データまたは配信要求の多い商品データあるいは在庫数の少ない商品データを抽出する際に、全ての商品データをサーチし、アクセス頻度等の順にソートするといった処理が不要となり、システムの処理能力へ与える影響を軽減することができる。
【００１９】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づき詳細に説明する。
【００２０】
図１は、本発明をインテリジェントネットワークにおける分散データベースのアクセス頻度の高いデータを特定する場合に適用した実施形態のブロック図である。
【００２１】
図１において、分散データベースシステム管理部１０１は、インテリジェントネットワークにおけるサービス管理階層１９０に該当し、複数の分散データベースシステム１０２と通信網１０３を介して接続される。
【００２２】
分散データベースシステム１０２は、インテリジェントネットワークにおけるサービス制御階層１９１に該当し、自システムに収容されるデータベース１０６へのアクセスを制御するデータベースアクセス部１０５と、データベース１０６へのアクセス頻度を収集するアクセス頻度収集部１０８と、分散データベースシステム管理部１０１あるいは他の分散データベースシステム１０２とを通信網１０３で接続するための通信制御部１０４と、通信制御部１０４，データベースアクセス部１０５，アクセス頻度収集部１０８の処理を実行する中央演算処理装置（以下、ＣＰＵと略す）の使用率を収集するＣＰＵ使用率測定部１０７から構成される。
【００２３】
ここで、ＣＰＵの使用率とは、単位時間当りの通信制御、データベースアクセス、アクセス頻度収集に割当てられるＣＰＵ時間の割合のことである。
【００２４】
本実施形態の分散データベースシステム管理部１０１は、従来構成と同一であり、その詳細な構成および動作の記述は省略するが、基本的には、データ配置変更の基礎情報として、分散データベースシステム１０２のＣＰＵ使用率と、その時のアクセス頻度の高いデータ名とを各分散データベースシステム１０２から受信し、その情報をもとに、ＣＰＵ使用率が低い分散データベースシステム１０２に対して、ＣＰＵ使用率が高い他の分散データベースシステム１０２に配置されているアクセス頻度の高いデータの配置変更を行う方法をとっている。
【００２５】
このために必要となるＣＰＵ使用率と、アクセス頻度の高いデータ名の収集とを、それぞれの分散データベースシステム１０２におけるアクセス頻度収集部１０８が行っている。
【００２６】
アクセス頻度収集部１０８は、それぞれのデータへのアクセス回数をカウントするアクセス回数加算部１０９、動的閾値変更部１１１で設定された閾値を超過したデータを格納する閾値超過情報記憶部１１０、閾値超過データ名セーブエリアが満杯になった時に、閾値を変更し直し、再びアクセス頻度の高いデータを収集するための新しい閾値を決定する動的閾値変更部１１１、一定周期で分散データベースシステム管理部１０１に、ＣＰＵ使用率とその時のアクセス頻度の高いデータ名とを通知し、通知終了後再びアクセス頻度の高いデータを収集するための処理を行う閾値超過情報定期送信部１１２とから構成される。
【００２７】
閾値超過情報記憶部１１０は、時々刻々変化する閾値情報あるいは閾値超過データ名を記憶するために必要となる各種情報をセーブするエリアであり、ここに格納される閾値測定情報２０１は、図２に示すように、アクセス頻度収集識別子２０２、閾値２０３、閾値超過識別子２０４、セーブエリア識別子２０５とから構成されている。
【００２８】
ここで、アクセス頻度収集識別子２０２は、一定時間のアクセス頻度収集が完了して、分散データベースシステム管理部１０１への通知が終わり、新たにアクセス頻度の収集を開始した際に、以前の収集と今回の収集とを区別するための情報である。
【００２９】
閾値２０３は、図４の閾値超過データ名セーブエリア４０１が満杯になるたびに、動的閾値変更部１１１により更新されていく現在の閾値である。
【００３０】
閾値超過識別子２０４は、各データのアクセス回数が閾値２０３を超過した時に、図４で示す閾値超過データ名セーブエリア４０１に既にセーブされているか否かを識別するための情報である。
【００３１】
また、セーブエリア識別子２０５は、図４で示すＡ面とＢ面から成る閾値超過データ名セーブエリア４０１のどちらを現在使用しているかを識別するための情報である。
【００３２】
図３は、データベース１０６に配置されるそれぞれのデータの構成を示しており、データ名３０１、閾値測定情報２０１のアクセス頻度収集識別子２０２をセーブするアクセス頻度収集識別子セーブ３０２、閾値測定情報２０１の閾値超過識別子２０４をセーブする閾値超過識別子セーブ３０３、アクセス回数をセーブするアクセス回数３０４、及び実データ３０５から構成される。
【００３３】
図４は、アクセス回数３０４が閾値２０３を超過した時に、そのデータ名を記憶するためのエリアを示し、閾値超過データ名セーブエリア４０１は、Ａ面及びＢ面の２面構成とし、それぞれ閾値測定情報２０１の閾値２０３をセーブする閾値セーブ４０２と、閾値超過データ名セーブエリア４０１に登録されている個数を示す登録個数４０３と、有限個（図４の場合はｎ個）のデータ名を格納する閾値超過データ名４０４とから構成される。
【００３４】
アクセス頻度収集部１０８のアクセス回数加算部１０９の処理概要を図５を用いて説明する。
【００３５】
データベース１０６へのアクセス要求発生時、データベースアクセス部１０５からアクセス回数加算部１０９へ制御を渡す。アクセス回数加算部１０９では、該当データのアクセス頻度収集識別子セーブ３０２をデータベース１０６から抽出する（ステップ５０１）。
【００３６】
抽出したアクセス頻度収集識別子セーブ３０２の値と、閾値測定情報２０１のアクセス頻度収集識別子２０２とが一致するかを判定する（ステップ５０２）。不一致の場合、アクセス頻度収集を新たに開始してから初めてのデータベースアクセス要求であるため、該当データのアクセス頻度収集識別子セーブ３０２に、閾値測定情報２０１のアクセス頻度収集識別子２０２を設定し（ステップ５０４）、該当データのアクセス回数３０４に”０”を設定し（ステップ５０５）、該当データのアクセス回数３０４に”１”を加算する（ステップ５０６）。
【００３７】
これにより、アクセス頻度収集を新たに開始してから初めてのデータベースアクセス要求として、アクセス回数３０４に”１”が設定される。
【００３８】
一方、ステップ５０２において一致と判定されると、アクセス頻度の収集を新たに開始してから、既に少なくとも１回は該当データへのアクセスがあったため、該当データのアクセス回数３０４に”１”を加算（ステップ５０６）することで、最新のアクセス回数３０４を設定する。
【００３９】
最後に、アクセス回数加算部１０９から、閾値超過情報記憶部１１０へ制御を渡す（ステップ５０８）。
【００４０】
アクセス頻度収集部１０８の閾値超過情報記憶部１１０の処理概要を図６を用いて説明する。
【００４１】
閾値超過情報記憶部１１０は、アクセス回数加算部１０９より制御が渡されると、アクセス回数加算部１０９で算出された該当データのアクセス回数３０４を抽出し（ステップ６０１）、抽出されたアクセス回数３０４と閾値測定情報２０１の閾値２０３とを比較する（ステップ６０２）。
【００４２】
アクセス回数３０４が閾値２０３を超過している場合、既に現在の閾値超過により、閾値超過データ名セーブエリア４０１に登録済みか否かを判断するため、該当データの閾値超過識別子セーブ３０３を抽出し（ステップ６０４）、抽出された閾値超過識別子セーブ３０３と閾値測定情報２０１の閾値超過識別子２０４とが一致するか否かを判定する（ステップ６０５）。
【００４３】
閾値超過識別子セーブ３０３と閾値測定情報２０１の閾値超過識別子２０４とが不一致の場合、新しい閾値に変更されてから初めてのデータベースアクセス要求であるため、セーブエリア識別子２０５に対応する閾値超過データ名セーブエリア４０１に、該当データのデータ名３０１を登録し、登録個数４０３を”１”加算し（ステップ６０７）、さらに該当データの閾値超過識別子セーブ３０４に、閾値測定情報２０１の閾値超過識別子２０４を設定する（ステップ６０８）。
【００４４】
その後、動的閾値変更部１１１に制御を渡す（ステップ６０９）。
【００４５】
一方、ステップ６０２で閾値非超過と判定された場合及びステップ６０５で既に閾値超過データ名セーブエリア４０１に登録済みであるとして一致と判定された場合は、アクセス頻度収集部１０８の処理を終了する（ステップ６１２）。
【００４６】
アクセス頻度収集部１０８の動的閾値変更部１１１の処理概要を図７を用いて説明する。
【００４７】
動的閾値変更部１１１は、閾値超過情報記憶部１１０より制御が渡されると、現在使用している閾値超過データ名セーブエリア４０１が登録エリア満杯となったか否かを判定する（ステップ７０１）。
【００４８】
登録エリア満杯の時は、閾値超過データ名セーブエリア４０１に登録されている任意の１つの閾値超過データ名４０４を抽出し（ステップ７０３）、抽出されたデータ名の現在のアクセス回数３０４を、新しい閾値として閾値測定情報２０１の閾値２０３に設定する（ステップ７０４）。
【００４９】
ステップ７０３で任意に選択する方法は、閾値超過データ名セーブエリア４０１の先頭に登録されている閾値超過データ名（１）４０４でも、ｉ番目に登録されている閾値超過データ名（ｉ）４０４であってもよい。
【００５０】
任意に選択されたデータは、閾値超過データ名セーブエリア４０１が満杯になり、動的閾値変更部１１１で閾値が更新されるまでは、データへのアクセス要求が何回あっても再び登録されることはなく、アクセス回数３０４のみが更新されていく。このため、ステップ７０３で選択された時点での該当データのアクセス回数３０４は、現在の閾値よりも大きな値となっている。
【００５１】
したがって、ステップ７０３で任意に選択されたデータが、アクセス頻度の高いデータであれば、更新される閾値は現在の閾値よりも大きな値が設定され、たとえアクセス頻度の低いデータであっても、少なくとも現在の閾値２０３より”１”大きい値が設定されることとなり、新しい閾値を使用してのアクセス頻度の高いデータの絞り込みが行われる。
【００５２】
次に、閾値超過識別子２０４を更新し（ステップ７０５）、さらにセーブエリア識別子２０５を変更し（ステップ７０６）、最後に、変更されたセーブエリア識別子２０５に対応した閾値超過データ名セーブエリア４０１の閾値セーブ４０２に新しい閾値２０３を、登録個数４０３に”０”をそれぞれ設定する（ステップ７０７）。
【００５３】
一方、ステップ７０１で登録エリアが満杯でない時は、閾値の変更は不要であるため、動的閾値変更処理を終了する。
【００５４】
アクセス頻度収集部１０８の閾値超過情報定期送信部１１２は、閾値超過情報記憶部１１０で収集している閾値超過データ名セーブエリア４０１に登録されている閾値超過データ名４０４を、システムで任意に予め設定されている一定時間間隔で、分散データベースシステム管理部１０１に通知する機能を実現している。
【００５５】
閾値超過情報定期送信部１１２の処理概要を図８と図９を用いて説明する。
【００５６】
図８の閾値超過データ名送信情報８０１は、分散データベースシステム管理部１０１に送信する情報の構成を示しており、ＣＰＵ使用率測定部１０７で従来技術を用いて測定されている一定時間内の平均ＣＰＵ使用率を格納するエリアであるＣＰＵ使用率８０２と、閾値超過データ名８０４と、送信時点の該当データへのアクセス回数を格納するアクセス回数８０５とから構成される。
【００５７】
閾値超過情報定期送信部１１２では、ＣＰＵ使用率測定部１０７からＣＰＵ使用率を収集し、閾値超過データ名送信情報８０１のＣＰＵ使用率８０２に設定し（ステップ９０１）、閾値超過データ名セーブエリア（Ａ面）４０１と、閾値超過データ名セーブエリア（Ｂ面）４０１に登録されているデータ名４０４の現在のアクセス回数３０４を収集し、データ名８０４とアクセス回数８０５と送信個数８０３とを設定する（ステップ９０２，９０３）。
【００５８】
次に、閾値超過データ名セーブエリア４０１の両面の登録個数４０３に”０”を設定し（ステップ９０４）、閾値測定情報２０１のアクセス頻度収集識別子２０２を更新し（ステップ９０５）、さらに閾値測定情報２０１の閾値２０３を”０”に初期設定し（ステップ９０６）、処理を終了する。
【００５９】
これにより、一定時間間隔でのアクセス頻度の高いデータの収集が再スタートされることになる。
【００６０】
図１０を用いて、閾値が動的に変更される具体例を説明する。
図１０の具体例では、閾値超過データ名セーブエリア４０１に登録できるデータ数を５個とし、すでにセーブエリアへの登録が行われ、あと１個のデータで現在セーブエリアとして使用しているＡ面の登録エリア４０１が満杯となり、閾値が更新される場合を示している。
【００６１】
データ名Ａ５に対するデータベースアクセス要求が発生すると、アクセス回数加算部１０９の処理が実施される。
【００６２】
すると、データ名Ａ５のアクセス頻度収集識別子セーブ１００４と閾値測定情報２０１のアクセス頻度収集識別子１００１とが一致するため、図５のステップ５０６の処理によりデータ名Ａ５のアクセス回数１００６が加算される。
【００６３】
閾値超過情報記憶部１１０では、データ名Ａ５のアクセス回数１０１７が閾値測定情報２０１の閾値１００２より大であるため、図６のステップ６０４の処理を実行する。また、データ名Ａ５の閾値超過識別子セーブ１００５が閾値測定情報２０１の閾値超過識別子１００３と不一致であるため、図６のステップ６０７の処理を実行し、現在セーブエリアとして使用されているＡ面の閾値超過データ名セーブエリア４０１の閾値超過データ名（５）１０１２にデータ名Ａ５を登録し、さらに登録個数１０１０を更新する。
【００６４】
次に、該当データＡ５の閾値超過識別子セーブ１０１６に閾値測定情報２０１の閾値超過識別子１００３が設定され、動的閾値変更部１１１へ制御が渡る。
【００６５】
動的閾値変更部１１１では、登録エリアが満杯であるため図７のステップ７０３以降の処理を実行し、新しい閾値の設定を行う。図７のステップ７０３の任意の閾値超過データ名の抽出方法として、図１０では登録エリアの先頭に登録されている閾値超過データ名を抽出する場合を例として示している。
【００６６】
図１０の例では、現在使用している閾値超過データ名セーブエリア４０１のＡ面の先頭１０１１には、データ名Ａ１が登録されており、データＡ１の現在のアクセス回数１０１５を新しい閾値として閾値測定情報２０１の閾値１００７に設定する。
【００６７】
次に、閾値超過識別子１００８を更新し、セーブエリア識別子１００９をＢ面に変更する。
最後に、Ｂ面の閾値超過データ名セーブエリア４０１の閾値セーブ１０１３に新しい閾値１００７を設定し、さらに登録個数１０１４を”０”に初期設定して動的閾値変更部１１１の処理を終了する。
【００６８】
図７で示した動的閾値更新部１１１の処理例では、任意の１つの閾値超過データ名４０４を抽出し（ステップ７０３）、その時点での該当データのアクセス回数３０４を新しい閾値２０３とする方法を述べたが、任意の複数個の閾値超過データ名４０４の中からその時点のアクセス回数３０４が最大のものを新しい閾値２０３としても良い。この方法によると、アクセス頻度のより高いデータのアクセス回数をもとに新しい閾値が更新されていくため、アクセス頻度の高いデータの絞り込みをより迅速に行うことができ、アクセス頻度の高いデータの特定を急ぐ場合により有効なものとなる。
【００６９】
また、図８および図９で示した閾値超過情報定期送信部１１２の処理例では、閾値超過データ名セーブエリア４０１に登録されている閾値超過データ名４０４の、その時点でのアクセス回数３０４を抽出して分散データベースシステム管理部１０１に送信する方法を述べたが、図４に示す２面の閾値超過データ名セーブエリア４０１をそのまま送信しても良い。
【００７０】
また、閾値２０３の初期設定を行う際（ステップ９０６）、”０”ではなく、現在の閾値２０３の”２分の１”といった条件で初期値を設定すると、初回の定期送信以降に行われるアクセス頻度の高いデータの絞り込みがより一層迅速に行える。
【００７１】
また、分散データベースシステム１０２で自律的にアクセス頻度の高いデータの特定を行い、その結果を定期的に送信するのではなく、分散データベースシステム管理部１０１からの指示でアクセス頻度の高いデータの特定を開始し、さらに分散データベースシステム管理部１０１からの指示でその結果を報告する方法をとっても良い。
【００７２】
図１１は、カタログ販売業者がオンラインのホーム・ショッピング・サービスいわゆる仮想ショッピングを実現するシステムの構成を示す図である。
カタログ販売業者１２０１は、ネットワーク１２０４を介して顧客１２０５の各々のクライアント１２０６から要求される、カタログに記載されている商品のより詳細な情報の請求、あるいは商品の発注をサーバ１２０２で処理し、データベース１２０３に記憶されている商品情報のクライアント１２０６への提供、あるいはクライアント１２０６からの発注に伴う在庫状況の更新を行う。
【００７３】
仮想ショッピングでは、顧客がどの商品の詳細情報により多くアクセスしてくるかといった商品別のアクセス数、あるいは商品別の受注数を正確に予測することは困難である。このため、顧客からのアクセスが多い商品を特定し、アクセスが多い商品の情報をより詳細にしたり、あるいはそれら商品の価格を安くしたりといったように、提供情報を適宜変更することができれば受注をより一層増やすといったことも可能である。
【００７４】
また、受注が集中して在庫が不足するといったケースをより早い段階で検出できれば、受注を断ったり、あるいは商品の発送が遅れたりといったことがなくなり、顧客に対するサービス性をより向上させることができる。
【００７５】
しかしながら、対象商品が多くなればなるほど、アクセス頻度の高い商品，受注が多くなり、在庫が少ない商品をリアルタイムで特定しようとすると、サーバ１２０２の処理能力に与える影響が大きくなってしまい、顧客１２０５へのレスポンスが遅れるといった問題が発生する。
【００７６】
そこで本発明を応用することにより、リアルタイムにアクセス頻度の高い商品を特定化し、さらに在庫が少ない商品を特定化するシステムを実現することができる。このようなシステムを実現する場合の閾値測定情報２０１の構成を図１２に、データベース１２０３の構成を図１３に、また、在庫が少ない商品をセーブするエリアの構成を図１４に示す。
【００７７】
図１２において、２０２〜２０５は図２で説明したのと同様の情報である。本実施形態では、この他に、在庫閾値１３０１、在庫閾値降下識別子１３０２、在庫閾値降下セーブエリア識別子１３０３が新たに設けられており、これらの情報はそれぞれアクセス頻度の高いデータを特定する際に使用する閾値２０３、閾値超過識別子２０４、セーブエリア識別子２０５に対応する。
【００７８】
図１３において、在庫数１４０２はクライアント１２０６からの受注で随時減算されていくデータであり、在庫閾値降下識別子セーブ１４０１は、各商品の在庫数１４０２が在庫閾値１３０１より小さい時に、図１４で示す在庫閾値降下データ名セーブエリア１５０１に既にセーブされているか否かを識別するための情報である。
【００７９】
なお、アクセス頻度の高い商品の特定化は図５，図６，図７，図９で述べた処理により実現できる。ただし、図９で記述しているＣＰＵ使用率の情報は不要である。
【００８０】
これに対し、在庫が少ない商品を特定するためには、在庫閾値を動的に小さくしていくことになるが、図１４で示す在庫閾値降下データ名セーブエリア１５０１が満杯になったときに、図７で示した動的閾値変更部１１１の処理フローと同じ流れで、在庫閾値降下データ名セーブエリア１５０１から任意に選択されたデータの現在の在庫数をもとに新しい在庫閾値１３０１を動的に更新していく。
【００８１】
すなわち、図１の実施例においては閾値をアクセス頻度に応じて増加させているが、在庫の少ない商品を特定する場合のように、特定対象の個数、回数、割合、所要時間などの測定可能な物理量が少ないものを特定する場合には、閾値を動的に小さい方向に更新する。
【００８２】
また、在庫閾値１３０１の初期値はデータベース１２０３の在庫数１４０２のエリア（バイト長・ビット長）で表現できる最大の値を使用する。あるいは、各商品毎に適正在庫数が予め分かっていれば、在庫数の代わりに、在庫数が適正在庫数に占める割合（％）を在庫閾値として設定することも可能であり、この場合は在庫閾値１３０１の初期値として”１００（％）”という値を使用すれば良い。
【００８３】
図１１のシステム構成において、図５，図６，図７，図９で述べた処理をサーバ１２０２で実行することにより、仮想ショッピングにおいて、サーバ１２０２に大きな負担をかけることなく、顧客がどの商品の詳細情報により多くアクセスしてくるかといった商品別のアクセス数、あるいは商品別の受注数を正確に測定することができる。この結果、アクセスが多い商品の情報をより詳細にしたり、あるいはそれら商品の価格を安くしたりすることにより、受注増に貢献することが可能になる。
【００８４】
また、受注が集中して在庫が不足している商品を早い段階で特定し、受注を断ったり、あるいは商品の発送が遅れたりといったことがなくなり、顧客に対するサービス性をより向上させることができる。
【００８５】
図１５は、特定の映像ソフト（以下、ビデオ・ストリームと略称する）にアクセスが集中した場合の負荷分散機能を有する分散処理構成をとるビデオ・サーバを使用してビデオ・オン・デマンド・サービス（以下、ＶＯＤサービスと略称する）を提供するシステムの構成を示す図である。
【００８６】
ＶＯＤサービス提供者１６０１は、顧客１６０９の各々のクライアント１６１０からの要求を、ネットワーク１６０８を介してビデオ・サーバ１６０２で受け付け、クライアントにビデオ・ストリームを配信する。ビデオ・サーバ１６０２は図１５の例では、負荷分散された３台のビデオ・ストリーム送信部１６０４と、１台のＶＯＤ管理部１６０６とから構成され、それぞれビデオ・ストリーム記憶部１６０３と、アクセス頻度を収集するためのアクセス頻度データベース１６０５を有し、ＶＯＤ管理部１６０６とビデオ・ストリーム送信部１６０４とはネットワーク１６０７により接続される。
【００８７】
負荷分散構成をとるビデオ・サーバ１６０２では、特定のビデオ・ストリームに要求が集中するケースが発生すると、要求が集中しているビデオ・ストリームを一番負荷が軽いビデオ・ストリーム送信部１６０４のビデオ・ストリーム記憶部１６０３に多重配置して、ビデオ・ストリーム送信部１６０４の負荷を分散させ、クライアント１６１０からの要求に応じられなくなる事態を前もって回避する機能を有している。
【００８８】
ＶＯＤサービスの場合も、顧客からの需要分布は一様ではなく、時々刻々変化し、社会的要因によっても特定のビデオ・ストリームに特定の日時に集中するといったケースがあり、ビデオ・ストリームの数が多くなればなるほど、アクセス頻度の高いビデオ・ストリームをリアルタイムで特定するのが困難になってくる。
【００８９】
そこで本発明を、この様な特性を有するビデオ・サーバに適用し、アクセス頻度の高いビデオ・ストリームを特定化する場合の閾値測定情報の構成を図１６に、閾値超過データ名セーブエリアの構成を図１７に、またアクセス頻度データべース１６０５の構成を図１８に示す。
【００９０】
図１６の閾値測定情報１７０１は、３台のビデオ・ストリーム送信部１６０４のそれぞれに対して、閾値２０３，閾値超過識別子２０４，セーブエリア識別子２０５及びビデオ・ストリーム送信部１６０４が送信したビデオ・ストリームの総数を計数する送信ストリーム総数１７０３から構成する。
【００９１】
Ａ面・Ｂ面の２面から構成される閾値超過データ名セーブエリア１８０１もやはり３台のビデオ・ストリーム送信部１６０４それぞれに対応させた構成とする。
また、ＶＯＤ管理部１６０６で管理するアクセス頻度データベース１６０５は、閾値超過識別子セーブ３０３とアクセス回数３０４とを、３台のビデオ・ストリーム送信部１６０４のそれぞれに対応させた構成とする。
【００９２】
アクセス頻度の高いビデオ・ストリームの特定化は、図５・図６・図７・図９で述べた処理を、３台のビデオ・ストリーム送信部毎に実施することで実現される。
【００９３】
ビデオ・ストリームの多重配置は、送信ストリーム総数１７０３が一番小さいビデオ・ストリーム送信部１６０４に対して、送信ストリーム総数１７０３が一番大きいビデオ・ストリーム送信部１６０４で特定された閾値超過データ名セーブエリア１８０１に登録されているアクセス頻度の一番高いビデオ・ストリームを多重配置することで実現できる。
【００９４】
これにより、特定のビデオ・ストリームに対するアクセスが特定の日時に集中するケースに迅速に対処し、ユーザに対するサービスを向上させることが可能になる。
【００９５】
なお、本発明は、上記実施例に限定されるものではなく、特定対象の個数、回数、割合、所要時間などの測定可能な物理量が少ないもの、あるいは多いものを特定する場合の全てに適用することができる。
【００９６】
【発明の効果】
以上のように、本発明によれば、オンラインショッピングシステム等の商品データを格納しているデータベースを備えたシステムにおいて、ソート処理を不要とし、しかも予め閾値を設定しなくてもアクセス頻度の高い特定商品データや配信要求の多い特定商品データまたは在庫数の少ない特定商品を迅速に抽出することができ、システムの処理能力の負担を軽減することが出来る。そして、抽出した商品データを参考にして、商品データの拡充や再配置、在庫量の補填などに役立てることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示す分散データベースシステムのブロック図である。
【図２】図１における閾値測定情報の構成を示す図である。
【図３】図１におけるデータベースの構成を示す図である。
【図４】図１における閾値超過データ名をセーブするエリアの構成を示す図である。
【図５】図１におけるアクセス回数加算部の処理手順を示すフローチャートである。
【図６】図１における閾値超過情報記憶部の処理手順を示すフローチャートである。
【図７】図１における動的閾値変更部の処理手順を示すフローチャートである。
【図８】図１における分散データベースシステム管理部に通知される情報の構成を示す図である。
【図９】図１における閾値超過情報定期送信部の処理手順を示すフローチャートである。
【図１０】本発明による動的閾値変更の具体例を示す説明図である。
【図１１】本発明を応用したオンラインショッピングサービスシステムの実施形態を示すブロック図である。
【図１２】図１１における閾値測定情報の構成を示す図である。
【図１３】図１１におけるデータベースの構成を示す図である。
【図１４】図１１における閾値超過データ名をセーブするエリアの構成を示す図である。
【図１５】本発明を応用したビデオオンデマンドサービスシステムの実施形態を示すブロック図である。
【図１６】図１５における閾値測定情報の構成を示す図である。
【図１７】図１５における閾値超過データ名をセーブするエリアの構成を示す図である。
【図１８】図１５におけるアクセス頻度データベースの構成を示す図である。
【図１９】従来のアクセス頻度テーブルの構成を示す図である。
【符号の説明】
１０８…アクセス頻度収集部、１０９…アクセス回数加算部、１１０…閾値超過情報記憶部、１１１…動的閾値変更部、１１２…閾値超過情報定期送信部、２０３…閾値、３０４…アクセス回数、４０１…閾値超過データ名セーブエリア。
【図１】
0003600985.tif 000002
【図２】
0003600985.tif 000003
【図３】
0003600985.tif 000004
【図４】
0003600985.tif 000005
【図５】
0003600985.tif 000006
【図６】
0003600985.tif 000007
【図７】
0003600985.tif 000008
【図８】
0003600985.tif 000009
【図９】
0003600985.tif 000010
【図１０】
0003600985.tif 000011
【図１１】
0003600985.tif 000012
【図１２】
0003600985.tif 000013
【図１３】
0003600985.tif 000014
【図１４】
0003600985.tif 000015
【図１５】
0003600985.tif 000016
【図１６】
0003600985.tif 000017
【図１７】
0003600985.tif 000018
【図１８】
0003600985.tif 000019
【図１９】
0003600985.tif 000020