(57)【要約】【課題】  ＤＢを利用する通信端末に対して、動的にインデックスを設定することができる情報処理装置等を提供する。【解決手段】  情報処理装置は、データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、データベースの検索にあたるインデックスを決定する決定手段と、決定手段により決定されたインデックスを、通信端末による前記データベースの検索にあたるインデックスとして設定する設定手段とを備える。【選択図】      図１
2017129953.tif 000002
【特許請求の範囲】
【請求項１】
データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、前記データベースの検索にあたるインデックスを決定する決定手段と、
前記決定手段により決定された前記インデックスを、前記通信端末による前記データベースの検索にあたるインデックスとして設定する設定手段と
を備えた情報処理装置。
【請求項２】
前記決定手段は、前記通信端末からの要求のうち、前記ユーザ情報と前記検索対象情報が含まれている該要求の比率が、所定の閾値を上回った場合、前記検索対象情報を前記ユーザ情報に対応する、前記データベースの検索にあたる前記インデックスとして決定する
請求項１記載の情報処理装置。
【請求項３】
前記ユーザ情報は、前記データベースに対するアクセスの局所性を有する情報を含む
請求項１または請求項２記載の情報処理装置。
【請求項４】
前記設定手段は、前記通信端末からのレプリケーション要求に応じて、前記決定手段により決定された前記インデックスを、前記通信端末に送信する
請求項１乃至請求項３のいずれか１項記載の情報処理装置。
【請求項５】
前記設定手段は、前記決定手段により決定された前記インデックスの変更に応じて、該変更されたインデックスを前記通信端末に送信する
請求項４記載の情報処理装置。
【請求項６】
データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、前記データベースの検索にあたるインデックスを決定し、
前記決定された前記インデックスを、前記通信端末による前記データベースの検索にあたるインデックスとして設定する
インデックス設定方法。
【請求項７】
データベースを備えた情報処理装置と、前記情報処理装置に対して要求を送信する通信端末とを備えた情報処理システムであって、
前記情報処理装置は、
前記データベースに対する前記通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、前記データベースの検索にあたるインデックスを決定する決定手段と、
前記決定手段により決定された前記インデックスを、前記通信端末による前記データベースの検索にあたるインデックスとして設定する設定手段とを備え、
前記通信端末は、
前記情報処理装置の前記設定手段により設定された前記インデックスを介して前記データベースを検索するＤＢ制御手段を備えた
情報処理システム。
【請求項８】
前記情報処理装置の前記設定手段は、前記通信端末からのレプリケーション要求に応じて、前記決定手段により決定された前記インデックスを、前記通信端末に送信し、
前記通信端末の前記ＤＢ制御手段は、前記情報処理装置の前記設定手段から受信した前記インデックスを介して、前記レプリケーション要求に応じて取得したデータベースの情報に基づいて複製したデータベースを検索する
請求項７記載の情報処理システム。
【請求項９】
前記通信端末は、
前記情報処理装置に対して送信する前記要求から、前記ユーザ情報および前記検索対象情報を抽出すると共に格納し、該格納した前記ユーザ情報および前記検索対象情報を、任意のタイミングで前記情報処理装置に送信するアクセス監視手段をさらに備え、
前記情報処理装置の前記決定手段は、前記アクセス監視手段から送信された前記ユーザ情報および前記検索対象情報に基づいて、前記インデックスを決定する
請求項７または請求項８記載の情報処理システム。
【請求項１０】
データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、前記データベースの検索にあたるインデックスを決定する処理と、
前記決定された前記インデックスを、前記通信端末による前記データベースの検索にあたるインデックスとして設定する処理とを
コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの検索処理を高速化するインデックスの設定技術に関する。
【背景技術】
【０００２】
クラウドサービスやビッグデータを活用するサービスの台頭により、様々な機器から情報をサーバに収集し、ユーザに有用な情報を提供するサービスが増えている。例えば、コンピュータのような情報・通信機器だけでなく、世の中に存在する様々な物に通信機能を持たせ、インターネットに接続したり相互に通信したりすることにより、自動認識や自動制御、遠隔計測などを行うＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）と呼ばれる仕組みが活用されるようになってきている。
【０００３】
ＩｏＴにおいては、上記のような通信機能を持った機器（以降、「ＩｏＴ機器」とも称する）からは、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を用いた位置情報、温度計による温度情報、加速度センサによる加速度や速度、スマートメータによる電力消費量などがサーバに収集される。ＩｏＴでは、これらの膨大なデータを解析して、有用な情報をユーザに提供している。
【０００４】
このように、様々な機器から膨大なデータがサーバ側のデータベース（以降、「ＤＢ」とも称する）に格納されるので、上述のようなサービスにおいては、要求された情報を迅速に提供するために、ＤＢ検索の高速化が求められる。
【０００５】
これを解決する一般的な技術として、インデックス設定機能がある。例えば、よくアクセスされる情報など、適切なカラムにインデックスを設定することで検索を高速化することができる。
【０００６】
例えば、特許文献１には、ツリー部の構成を動的に変化させて、キー値やアクセスの片寄りに強い柔軟なインデックス管理を実現するインデックス管理方式が開示されている。
【０００７】
また、特許文献２には、設計者が、アクセスパターンの入力や、インデックスの絞り込み条件の入力等の操作を行うことなく、インデックスの生成および削除を自動的に行うことができるインデックス自動更新装置が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０５−３３４１５３号公報
【特許文献２】特開平０６−２１５０３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述のように、ＤＢに収集されたデータを、設定されたインデックスを介して検索する場合、膨大に収集されたデータについては、それぞれのデータ構造が一意に決まらないため、静的にインデックスを設定するのは困難であり、動的に設定する仕組みが求められる。
【００１０】
しかしながら、特許文献１および２では、アクセス頻度をもとにＤＢ検索にあたるインデックスを設定することはできるが、通信端末が新たにＤＢを利用する際等に、動的にインデックス情報を設定することができないという課題がある。
【００１１】
本願発明は、上記課題を鑑みてなされたものであり、通信端末が新たにＤＢを利用する際のインデックスを動的に設定することができる情報処理装置等を提供することを主要な目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の情報処理装置は、データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、前記データベースの検索にあたるインデックスを決定する決定手段と、前記決定手段により決定された前記インデックスを、前記通信端末による前記データベースの検索にあたるインデックスとして設定する設定手段とを備える。
【００１３】
本発明の第１のインデックス設定方法は、データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、前記データベースの検索にあたるインデックスを決定し、前記決定されたインデックスを、前記通信端末による前記データベースの検索にあたるインデックスとして設定する。
【００１４】
本発明の第１の情報処理システムは、データベースを備えた情報処理装置と、情報処理装置に対して要求を送信する通信端末とを備え、情報処理装置は、データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、前記データベースの検索にあたるインデックスを決定する決定手段と、前記決定手段により決定されたインデックスを、前記通信端末による前記データベースの検索にあたるインデックスとして設定する設定手段とを備え、通信端末は、情報処理装置の前記設定手段により設定された前記インデックスを介して前記データベースを検索するＤＢ制御手段を備える。
【００１５】
なお同目的は、上記の各構成を有するインデックス設定方法を、コンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１６】
本願発明によれば、通信端末が新たにＤＢを利用する際のインデックスを動的に設定することができるという効果が得られる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る情報処理システムの構成を示す図である。
【図２】本発明の第１の実施形態に係る情報処理システムのサーバのデータ格納ＤＢに格納されたデータの一例を示す図である。
【図３】本発明の第１の実施形態に係る情報処理システムの動作を示すフローチャートである。
【図４】本発明の第１の実施形態に係る情報処理システムのクライアントに提供するレスポンス情報の一例を示す図である。
【図５】本発明の第１の実施形態に係る情報処理システムのサーバのアクセス監視部が決定した推奨インデックス情報の一例を示す図である。
【図６】本発明の第１の実施形態に係る情報処理システムのクライアントからのＤＢのレプリケーション要求をサーバにおいて受信した場合の動作を説明するフローチャートである。
【図７】本発明の第１の実施形態に係る情報処理システムのクライアントに提供されるＤＢ情報と推奨インデックスを示す図である。
【図８】本発明の第２の実施形態に係る情報処理システムの構成を示す図である。
【図９】本発明の第３の実施形態に係る情報処理システムの構成を示す図である。
【図１０】各実施形態に係る情報処理装置のハードウエア構成を例示する図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１９】
第１の実施形態
図１は、本発明の第１の実施形態に係る情報処理システム１００の構成を示す図である。図１に示すように、情報処理システム１００は、サーバ１１０と、そのサーバ１１０と通信可能に接続された１または複数のクライアント１２０とを備える。
【００２０】
本実施形態では、ＩｏＴ機器から提供された各種データがサーバ１１０に格納され、クライアント１２０がそのＩｏＴ機器からのデータを取得するためにサーバ１１０にアクセス要求を送信する構成について説明する。
【００２１】
また、本実施形態では、クライアント１２０が、オフライン処理等のためにサーバ１１０のデータベースをレプリケーションする構成についても説明する。
【００２２】
サーバ１１０は、通信部１１１、アクセス監視部１１２、ＤＢ制御部１１３、推奨インデックス情報記憶部１１４およびデータ格納ＤＢ１１５を備える。
【００２３】
クライアント１２０は、通信部１２１、ＤＢ制御部１２２、インデックス情報記憶部１２３およびデータ格納ＤＢ１２４を備える。図１では、３台のクライアント１２０を示しているがこれに限定されない。
【００２４】
サーバ１１０の各構成要素の概略を説明する。
【００２５】
通信部１１１は、クライアント１２０の通信部１２１との通信を行う機能を有し、クライアント１２０からのアクセス要求を受信したり、データ格納ＤＢ１１５内のデータをクライアント１２０に提供したりする。アクセス監視部１１２は、通信部１１１が受信したアクセス要求の監視、例えば、データ格納ＤＢ１１５内のいずれのデータへのアクセス要求であるか等を監視すると共に、インデックス情報を決定する。ＤＢ制御部１１３は、データ格納ＤＢ１１５へのアクセスを行う。
【００２６】
推奨インデックス情報記憶部１１４は、アクセス監視部１１２が決定した、データ格納ＤＢ１１５の検索に推奨されるインデックスを格納する。データ格納ＤＢ１１５は、ＩｏＴ機器から受信した、サーバ１１０が提供するサービスに関連する各種データを格納する。
【００２７】
次に、クライアント１２０の各構成要素の概略を説明する。
【００２８】
通信部１２１は、サーバ１１０の通信部１１１との通信を行う機能を有し、サーバ１１０にアクセス要求を送信したり、サーバ１１０からインデックス情報を受信したりする。ＤＢ制御部１２２は、データ格納ＤＢ１２４へのアクセスを行ったり、サーバ１１０から受信したインデックス情報をインデックス情報記憶部１２３に格納したりする。
【００２９】
インデックス情報記憶部１２３は、サーバ１１０から取得したインデックス情報を格納する。データ格納ＤＢ１２４は、サーバ１１０から取得した各種データを格納する。
【００３０】
図２は、サーバ１１０のデータ格納ＤＢ１１５に格納されたデータの一例を示す図である。図２に示すように、例えば、データは、機器名、機器ＩＤ、温度情報および位置情報の各項目を含む。機器名は、データ送信元の機器の名称である。機器ＩＤは、データ送信元の機器の識別情報である。温度情報は、機器により測定された温度を示す情報である。位置情報は、機器の位置を示す情報であり、例えば緯度と経度とを含む。データのうち、位置情報や温度情報を含まないものがあってもよい。また、図２は、ＩｏＴ機器から提供されたデータの一例であって、他のデータ構造を有するデータであってもよい。
【００３１】
図３は、本発明の第１の実施形態に係る情報処理システム１００の動作を示すフローチャートである。図１乃至図３を参照して、情報処理システム１００のクライアント１２０が、サーバ１１０のデータ格納ＤＢ１１５に格納されたデータを要求する際の動作について説明する。
【００３２】
サーバ１１０およびクライアント１２０の各構成要素は、例えば、それぞれサーバ１１０およびクライアント１２０に電源が投入されると起動する（Ｓ２０１）。サーバ１１０のアクセス監視部１１２は、通信部１１１が受信する、クライアント１２０からの要求（リクエスト）を監視している（Ｓ２０２）。
【００３３】
本実施形態では、一例として、クライアント１２０は、例えばＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）  ＡＰＩでサーバ１１０にアクセス要求し、サーバ１１０からのレスポンスは、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）文字列で返される場合について説明する。
【００３４】
通信部１１１がアクセス要求を受信したとする（Ｓ２０３においてＹｅｓ）。例えば、アクセス要求は、「ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ａｄｍｉｎ？ｎａｍｅ＝ｄｅｖｉｃｅ＿Ａ」といった形式で送られる。このアクセス要求は、「機器名＝ｄｅｖｉｃｅ＿Ａ」であるデータを要求している。
【００３５】
通信部１１１は、受信したアクセス要求をＤＢ制御部１１３に通知する。ＤＢ制御部１１３は、上記アクセス要求に対して、「機器名＝ｄｅｖｉｃｅ＿Ａ」であるデータをデータ格納ＤＢ１１５から読み出して通信部１１１に通知する（Ｓ２０４）。通信部１１１は、アクセス元のクライアント１２０にデータ（レスポンス情報）を提供する（Ｓ２０５）。
【００３６】
図４は、クライアント１２０に提供するレスポンス情報の一例を示す図である。図４に示すように、例えばＪＳＯＮ文字列で「ｄｅｖｉｃｅ＿Ａ」に関するデータがクライアント１２０に送信される。
【００３７】
クライアント１２０は、通信部１２１においてデータを取得し（Ｓ２０６）、取得したデータをＤＢ制御部１２２によりデータ格納ＤＢ１２４に格納する（Ｓ２０７）。
【００３８】
上記のようなアクセス要求があったとき、アクセス監視部１１２は、ＤＢ検索に推奨するインデックス（推奨インデックス）を決定する。すなわち、アクセス監視部１１２は、通信部１１１を監視し、アクセス要求を検出した場合（Ｓ２０８においてＹｅｓ）、アクセス要求に含まれる、アクセス元のユーザ情報（ＩＤ：ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）と、検索対象情報とを抽出する（Ｓ２０９）。
【００３９】
上述したアクセス要求の場合、アクセス監視部１１２は、「ユーザ情報＝ａｄｍｉｎ（管理者）」、「検索対象情報＝ｎａｍｅ（機器名）」を抽出する。
【００４０】
そして、アクセス監視部１１２は、上述したアクセス要求の頻度、すなわち、上述した「ユーザ情報」と「検索対象情報」でＤＢを検索する比率を算出する（Ｓ２１０）。ここでは、アクセス監視部１１２は、「ユーザ情報＝管理者」が、「検索対象情報＝機器名」で、データ格納ＤＢ１１５を検索する比率を算出する。
【００４１】
そして、アクセス監視部１１２は、上記のように算出した比率が、所定の閾値を上回った場合、推奨インデックス情報を変更すると判断する（Ｓ２１１においてＹｅｓ）。なお、所定の閾値は予め任意の方法で設定され、例えば５０％であってもよい。
【００４２】
図５は、アクセス監視部１１２が決定した推奨インデックス情報の一例を示す図である。図５に示すように、例えば、推奨インデックス情報は、ユーザ情報と、そのユーザ情報に関連付けられた推奨インデックスとを含む。図５は、管理者は、機器名を用いてアクセス要求することが多いために管理者に対する推奨インデックスとして機器名が設定されていることを示す。すなわち、図５は、管理者がＤＢを検索する場合は、機器名でインデックスを設定すると、ＤＢの検索効率が高いことを意味する。同様に、一般ユーザに対する推奨インデックスとして、温度情報と位置情報が設定されていることを示す。
【００４３】
アクセス監視部１１２は、上記のように、管理者が機器名で検索する比率が、所定の閾値を上回った場合、推奨インデックス情報記憶部１１４に格納されている推奨インデックスを変更する（Ｓ２１２）。なお、上記のように算出された比率が、所定の閾値を上回った場合であって、そのユーザ情報に対応する推奨インデックスが格納されていない場合、アクセス監視部１１２は、そのユーザ情報により示されるユーザが検索した検索対象情報を、推奨インデックスとして格納する。
【００４４】
また、アクセス監視部１１２は、例えば、通信部１２１が受信した全てのアクセス要求のうちの、「ユーザ情報」（ここでは管理者）と「検索対象情報」（ここでは機器名）とを含むアクセス要求の比率を算出してもよいし、一定期間に受信したアクセス要求のうちの、「ユーザ情報」と「検索対象情報」とを含むアクセス要求の比率を算出してもよい。あるいは、アクセス監視部１１２は、通信部１２１が受信した「ユーザ情報」（ここでは管理者）を含むアクセス要求のうちの、「検索対象情報」（ここでは機器名）を含むアクセス要求の比率を算出してもよい。
【００４５】
以上の処理により、サーバ１１０は、クライアント１２０のユーザの特性に応じた推奨インデックスを決定することができる。
【００４６】
次に、サーバ１１０がクライアント１２０からＤＢのレプリケーション要求を受信した際の情報処理システム１００の動作について説明する。クライアント１２０にＤＢをレプリケーションすると、クライアント１２０は、サーバ１１０にアクセスしなくても、オフラインでＤＢにアクセスすることが可能である。
【００４７】
図６は、クライアント１２０からのＤＢのレプリケーション要求をサーバ１１０において受信した場合の動作を説明するフローチャートである。
【００４８】
サーバ１１０の通信部１１１は、起動した後（Ｓ３０１）、クライアント１２０からＤＢのレプリケーション要求を受信したとする（Ｓ３０２においてＹｅｓ）。レプリケーション要求は、例えば、「ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ａｄｍｉｎ？ｑ＝ｒｅｐｌｉｃａ」といった形式で送られる。通信部１１１は、取得したレプリケーション要求をＤＢ制御部１１３に通知する。ＤＢ制御部１１３は、データ格納ＤＢ１１５を複製するためのＤＢ情報をデータ格納ＤＢ１１５から取得する（Ｓ３０３）。
【００４９】
ＤＢ制御部１１３は、さらに、レプリケーション要求に基づいて、推奨インデックス情報記憶部１１４から対応する推奨インデックスを取得する（Ｓ３０４）。例えば、上記レプリケーション要求「ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｃｏｍ／ａｄｍｉｎ？ｑ＝ｒｅｐｌｉｃａ」に基づいて、ＤＢ制御部１１３は、「ａｄｍｉｎ」（＝管理者）からの要求であると判断し、管理者に対応する推奨インデックス（図５では「機器名」）を推奨インデックス情報記憶部１１４から取得する。
【００５０】
通信部１１１は、ＤＢ制御部１１３が取得したＤＢ情報と推奨インデックスを、アクセス元のクライアント１２０に提供する（Ｓ３０５）。図７は、クライアント１２０に提供されるＤＢ情報と推奨インデックスを示す図である。図７に示すように、推奨インデックスは「ｉｎｄｅｘ」に示され、ＤＢ情報は「ｏｂｊｅｃｔｓ」に示される。ここでは、「ｉｎｄｅｘ」に「ｎａｍｅ」が、「ｏｂｊｅｃｔｓ」に「ｄｅｖｉｃｅ＿Ａ」、「ｄｅｖｉｃｅ＿Ｂ」および「ｄｅｖｉｃｅ＿Ｃ」それぞれに関するデータが含まれる。このような形式で、ＤＢ情報と推奨インデックスがクライアント１２０に提供される。
【００５１】
クライアント１２０の通信部１２１は、上記ＤＢ情報と推奨インデックスを取得する（Ｓ３０６）。ＤＢ制御部１２２は、通信部１２１が取得したＤＢ情報を、データ格納ＤＢ１２４に格納する（Ｓ３０７）。ＤＢ制御部１２２はまた、通信部１２１が取得した推奨インデックスをインデックス情報記憶部１２３に格納すると共に、データ格納ＤＢ１２４の検索の際にその推奨インデックスを使用する（Ｓ３０８）。
【００５２】
以上のように、本第１の実施形態によれば、サーバ１１０のアクセス監視部１１２は、クライアント１２０からのアクセス要求に含まれる、ユーザ情報と検索対象情報でデータ格納ＤＢ１１５が検索される比率が、所定の閾値を上回ると、その検索対象情報をユーザ情報に対応する推奨インデックスとして推奨インデックス情報記憶部１１４に格納する。そして、クライアント１２０からのＤＢのレプリケーション要求に応じて、ＤＢ制御部１１３は、ＤＢ情報と共に、レプリケーション要求に含まれるユーザ情報に対応する推奨インデックスを、クライアント１２０に送信する。クライアント１２０のＤＢ制御部１２２は、受信した推奨インデックスを、サーバ１１０から複製したデータ格納ＤＢ１２４に設定する。
【００５３】
上記構成を採用することにより、本第１の実施形態によれば、サーバ１１０からレプリケーションしたＤＢを用いてクライアント１２０にてオフライン処理する場合等、クライアント１２０が新たにＤＢを利用する際に、クライアント１２０のユーザの特性に応じたインデックスを動的にＤＢに設定できるので、クライアント１２０によるＤＢ検索を高速化できるという効果が得られる。
【００５４】
なお、上記実施形態では、クライアント１２０からサーバ１１０に対してＤＢのレプリケーション要求が送信されたことに応じて、送信元のクライアント１２０にレプリケーションされたＤＢにインデックスを設定することを説明したが、これに限定されない。例えば、サーバ１１０にクライアント１２０ごとの仮想環境を用意してその仮想環境にアクセスさせるサービスにおいて、上記仮想環境のＤＢに、上述のように決定したインデックスをクライアント１２０ごとに設定してもよい。
【００５５】
第２の実施形態
図８は、本発明の第２の実施形態に係る情報処理システム２００の構成を示す図である。図８に示すように、情報処理システム２００は、第１の実施形態において説明した情報処理システム１００のクライアント１２０に加えて、アクセス監視部１２５とアクセス履歴記憶部１２６とを備える。
【００５６】
クライアント１２０のアクセス監視部１２５は、クライアント１２０における通信部１２１からサーバ１１０に送信するアクセス要求を監視する。アクセス履歴記憶部１２６は、アクセス監視部１２５による監視の結果、すなわち、アクセス監視部１２５が抽出した、送信したアクセス要求に含まれるユーザ情報と検索対象情報を格納する。本第２の実施形態では、上記第１の実施形態に係る情報処理システム１００と異なる動作について主に説明する。
【００５７】
第２の実施形態に係る情報処理システム２００では、クライアント１２０のアクセス監視部１２５は、アクセス履歴記憶部１２６に格納した、送信したアクセス要求に含まれるユーザ情報と検索対象情報とを、任意のタイミングで通信部１２１を介してサーバ１１０に送信する。
【００５８】
サーバ１１０は、通信部１１１においてユーザ情報と検索対象情報とを受信し、アクセス監視部１１２において、第１の実施形態にて図２の処理Ｓ２１０乃至Ｓ２１２を参照して説明した処理と同様に、ユーザ情報に対する推奨インデックスを決定し、推奨インデックス情報記憶部１１４に格納する。
【００５９】
以上のように、本第２の実施形態によれば、クライアント１２０がアクセス監視部１２５とアクセス履歴記憶部１２６を備え、サーバ１１０に送信するアクセス要求の監視をクライアント１２０側で行う構成としたので、サーバ１１０の負荷を低減させながら、上記第１の実施形態と同様の効果を得ることができるという効果が得られる。
【００６０】
第３の実施形態
図９は、本発明の第３の実施形態に係る情報処理装置３００の構成を示す図である。図９に示すように、第３の実施形態に係る情報処理装置３００は、決定部３１０および設定部３２０を備える。
【００６１】
決定部３１０は、データベースに対する通信端末からの要求を監視し、該要求に含まれるユーザ情報および検索対象情報に基づいて、データベースの検索にあたるインデックスを決定する。設定部３２０は、決定部３１０により決定されたインデックスを、通信端末によるデータベースの検索にあたるインデックスとして設定する。
【００６２】
なお、決定部３１０は、上記第１の実施形態におけるアクセス監視部１１２を含み、設定部３２０は、同じく通信部１１１およびＤＢ制御部１１３を含む。また、情報処理装置３００は、同じくサーバ１１０を含み、通信端末は、同じくクライアント１２０を含む。
【００６３】
上記構成を採用することにより、本第３の実施形態によれば、通信端末が新たにＤＢを利用する際のインデックスを、通信端末のユーザの特性に応じて動的にＤＢに設定できるので、通信端末によるＤＢ検索を高速化できるという効果が得られる。
【００６４】
なお、上記実施形態において、クライアント１２０からサーバ１１０へのアクセス要求に含まれるユーザ情報の例として、管理者か一般ユーザかの情報を付与することを示したが、これに限定されない。例えば、組織やグループの情報、年齢や性別の情報、趣味や嗜好の情報、端末情報、時間、ロケーションなどが考えられる。すなわち、ＤＢアクセスに局所性を有する情報が含まれればよい。また、これらの情報は、クライアント１２０における図示しないユーザ情報格納部に格納され、サーバ１１０へのアクセス要求の送信時にユーザ情報格納部から読み出されて送信されてもよい。
【００６５】
また、上記実施形態において、クライアント１２０からＲＥＳＴ  ＡＰＩでサーバ１１０にアクセス要求し、サーバ１１０からＪＳＯＮ文字列が返される例を示したが、これに限定されない。例えば、サーバ１１０からクライアント１２０にアプリケーションがダウンロードされてインストールされる際に、アプリケーションの属性情報や設定情報などにインデックスが記載され、それに基づきクライアント１２０側でアプリケーションが利用するＤＢに対してインデックスを設定する仕組みでもよい。
【００６６】
さらに、上記実施形態に加え、サーバ１１０に格納される推奨インデックス情報が変更された場合に、クライアント１２０にその旨を通知する仕組みを有してもよい。この場合、例えば、サーバ１１０から推奨インデックスがクライアント１２０にＰｕｓｈ配信され、クライアント１２０は通知された推奨インデックスをデータ格納ＤＢ１２４に設定する。
【００６７】
なお、図１等に示したサーバ１１０およびクライアント１２０の各部は、図１０に例示するハードウエア資源において実現される。すなわち、図１０に示す構成は、プロセッサ１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、外部接続インタフェース１３および記憶装置１４を備え、それらはバス１５により接続されている。
【００６８】
図１等に示したサーバ１１０における各ブロックに示す機能、すなわち、少なくとも１１２およびＤＢ制御部１１３、およびクライアント１２０における各ブロックに示す機能、すなわち、少なくともＤＢ制御部１２２は、図１０に示すプロセッサ１０がＲＯＭ１２または記憶装置１４に記憶された各種ソフトウエア・プログラム（コンピュータ・プログラム）を、ＲＡＭ１１に読み出して実行することにより、実現されてもよい。あるいは、図１等に示した上記機能は、一部または全部を、ハードウエアとして実現してもよい。
【００６９】
また、各実施形態を例に説明した本発明は、サーバ１１０またはクライアント１２０に対して、上記説明した機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、プロセッサ１０がＲＡＭ１１に読み出して実行することによって達成される。
【００７０】
係る供給されたコンピュータ・プログラムは、読み書き可能なメモリ（一時記憶媒体）またはハードディスク装置等のコンピュータ読み取り可能な記憶デバイスに格納すればよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムを表すコード或いは係るコンピュータ・プログラムを格納した記憶媒体によって構成されると捉えることができる。
【００７１】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００７２】
１００、２００  情報処理システム
１１０  サーバ
１１１  通信部
１１２  アクセス監視部
１１３  ＤＢ制御部
１１４  推奨インデックス情報記憶部
１１５、１２４  データ格納ＤＢ
１２０  クライアント
１２１  通信部
１２２  ＤＢ制御部
１２３  インデックス情報記憶部
１２５  アクセス監視部
１２６  アクセス履歴記憶部
【図１】
2017129953.tif 000003
【図２】
2017129953.tif 000004
【図３】
2017129953.tif 000005
【図４】
2017129953.tif 000006
【図５】
2017129953.tif 000007
【図６】
2017129953.tif 000008
【図７】
2017129953.tif 000009
【図８】
2017129953.tif 000010
【図９】
2017129953.tif 000011
【図１０】
2017129953.tif 000012