JP6167015B2 - 情報処理システム、管理プログラム、及びインデックス管理方法 - Google Patents

情報処理システム、管理プログラム、及びインデックス管理方法 Download PDF

Info

Publication number
JP6167015B2
JP6167015B2 JP2013225881A JP2013225881A JP6167015B2 JP 6167015 B2 JP6167015 B2 JP 6167015B2 JP 2013225881 A JP2013225881 A JP 2013225881A JP 2013225881 A JP2013225881 A JP 2013225881A JP 6167015 B2 JP6167015 B2 JP 6167015B2
Authority
JP
Japan
Prior art keywords
metadata
information processing
index
specified
types
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013225881A
Other languages
English (en)
Other versions
JP2015087953A (ja
Inventor
達夫 熊野
達夫 熊野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013225881A priority Critical patent/JP6167015B2/ja
Priority to US14/519,322 priority patent/US9858281B2/en
Publication of JP2015087953A publication Critical patent/JP2015087953A/ja
Application granted granted Critical
Publication of JP6167015B2 publication Critical patent/JP6167015B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Description

本発明は、データ、及びそのデータのメタデータを用いて検索用に構築されたインデックスを複数台の情報処理装置に分散させて管理させるための技術に関する。
コンピュータ等の情報処理装置に蓄積させるデータ量は増大傾向にある。そのため、現在では、大量のデータをより低コストで管理することが強く求められている。分散オブジェクトストレージは、大量のデータを低コストで管理可能な技術の1つとして着目されている。
分散オブジェクトストレージは、複数台のサーバを用いた情報処理システムとして構築される。分散オブジェクトストレージでは、データはオブジェクトとして管理され、オブジェクトは、分散オブジェクトストレージを構成するサーバに分散して保存される。オブジェクトの分散により、そのオブジェクトの保存、及び計算(処理)に利用可能な各リソース量は共に、サーバの台数に応じて向上することになる。そのため、分散オブジェクトストレージでは、サーバの追加により、記憶容量、及びパフォーマンスを共に向上させることができる。
オブジェクトの分散により、処理の負荷も分散させることができる。そのため、サーバに要求される性能も抑えられる。このことから、分散オブジェクトストレージでは、サーバの台数を増やすスケールアウトに要するコストを抑制することができる。
分散オブジェクトストレージでは、オブジェクトの管理にメタデータが用いられる。そのメタデータは、対応するオブジェクトに関連する情報であり、対応するオブジェクトの検索・抽出に用いられる。そのため、オブジェクトを検索・抽出するためのデータであるインデックスは、メタデータを用いて構築される。メタデータは、1つのオブジェクトに対し1つ以上、作成される。
分散オブジェクトストレージにおける検索は、インデックスを管理するサーバによって行われる。分散オブジェクトストレージにおけるインデックスの管理には、以下の方式が用いられている。
(a)特定の専用サーバ(例えば1台のサーバ)が全てのインデックスを集中管理する(以降「集中管理方式」と表記)
(b)インデックス毎に、異なるサーバが管理する(以降「個別管理方式」と表記)
(c)自身が保存するオブジェクトのインデックスも併せて管理する(以降「並行管理方式」と表記)
上記各管理方式には、それぞれ以下のような問題点がある。
集中管理方式では、検索、更にはインデックスの更新が専用サーバに集中する。インデックスを管理する専用サーバの台数は、通常、オブジェクトを管理するサーバの台数と比較して、非常に小さい。そのため、専用サーバの負荷が重くなり易い。重い負荷は検索性能を低下させる。
分散オブジェクトストレージは、通常、複数のメタデータを指定したアンド(AND)検索をサポートする。個別管理方式では、アンド検索の場合、指定されたメタデータ毎に、そのメタデータに対応するインデックスを管理するサーバに問い合わせを送信しなければならない。また、フロントエンド等において、各問い合わせによって特定された対象オブジェクトを各サーバから取得し、取得した対象オブジェクトのなかからアンド検索で指定の検索条件を満たす対象オブジェクトを抽出するといった処理を行わなければならない。このようなことから、個別管理方式では、データの転送量が大きくなり易く、高い検索性能は得られ難い。
並行管理方式でも、個別管理方式と同様に、アンド検索の場合、指定されたメタデータ毎に、そのメタデータに対応するインデックスを管理するサーバに問い合わせを送信しなければならない。そのため、高い検索性能は得られ難い。
上記のように、何れの管理方式も、アンド検索時には検索性能が低下し易いという問題点がある。オブジェクトを必要とするユーザにとっての利便性を考慮するならば、アンド検索時における検索性能の低下を抑えることが重要と思われる。
特開2012−168781号公報 特開昭62−121576号公報 特開2002−7641号公報 特開2012−48592号公報
一側面では、本発明は、分散オブジェクトストレージのような複数台の情報処理装置(サーバ)を用いて構築された情報処理システムにおけるアンド検索時の検索性能の低下を抑制するための技術を提供することを目的とする。
本発明を適用した1システムは、ネットワークを介して第1の情報処理装置と接続された複数台の第2の情報処理装置、及び管理装置を備え、複数台の第2の情報処理装置は、データ、及びデータのメタデータを用いて検索用に構築されたインデックスを分散して管理し、管理装置は、第1の情報処理装置から送信された検索リクエストを監視する監視部と同一の第2の情報処理装置にインデックスを管理させるべきメタデータの種類の組み合わせを、検索リクエストに含まれる検索条件におけるメタデータの種類の組み合わせについての共起率に基づいて特定すると共に、特定した組み合わせのメタデータの種類に基づいて同一の第2の情報処理装置を特定し、該特定した同一の第2の情報処理装置に、該特定した組み合わせのメタデータの種類のインデックスを管理させるインデックス管理部と、を有する。
本発明を適用した場合には、分散オブジェクトストレージのような複数台の情報処理装置(サーバ)を用いて構築された情報処理システムにおけるアンド検索時の検索性能の低下を抑制することができる。
本実施形態による管理装置を用いて構築された情報処理システムの構成例を説明する図である。 統計情報の構成例を説明する図である。 統計情報の更新例を説明する図である。 インデックスを管理させるストレージサーバ兼インデックス管理サーバの変更例を説明する図である。 統計情報更新処理のフローチャートである。 第1の計数処理のフローチャートである。 第2の計数処理のフローチャートである。 第2の計数処理の変形例のフローチャートである。 インデックス管理サーバ決定処理のフローチャートである。 サーバ決定処理のフローチャートである。 サーバ一連表の構成例を説明する図である。 本実施形態によるストレージサーバ兼インデックス管理サーバとして使用可能な情報処理装置の構成例を表す図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による管理装置を用いて構築された情報処理システムの構成例を説明する図である。
図1に表すように、情報処理システムは、ネットワーク1に、複数台のアプリケーションサーバ(図1中「アプリサーバ」と表記。以降この表記を用いる)2、及び複数台のストレージサーバ兼インデックス管理サーバ(以降「ストレージ・インデックス管理サーバ」と表記)3を接続させた構成となっている。
各ストレージ・インデックス管理サーバ3には、管理対象とするデータ、及びそのデータの検索用のデータであるインデックスを保存可能なディスク装置4が接続されている。このディスク装置4を管理する全てのストレージ・インデックス管理サーバ3をネットワーク1と接続することにより、分散オブジェクトストレージが構築されている。
ディスク装置4は、通常、複数台、各ストレージ・インデックス管理サーバ3に接続されるか、或いは1台のストレージである。ここでは、説明上、便宜的に、各ストレージ・インデックス管理サーバ3に接続されているディスク装置4は1台と想定する。
各アプリサーバ2は、不図示の別のネットワークと接続された端末装置を使用するユーザに対してサービスを提供するサーバである。各アプリサーバ2は、分散オブジェクトストレージが管理するデータ(オブジェクト)のなかで端末装置のユーザが要求するデータを提供するフロントエンドとして機能する。また、各アプリサーバ2は、分散オブジェクトストレージの保守、オブジェクトの追加、削除、メタデータの登録、削除、等にも用いることができる。
各ストレージ・インデックス管理サーバ3は、図1に表すように、機能構成として、ネットワーク入出力部31、データ読み書き部32、メタデータ読み書き部33、ディスク入出力部34、検索部35、統計情報取得部36、記憶部37、及びインデックス管理サーバ決定部38を備えている。
ネットワーク入出力部31は、ネットワーク1を介した通信を実現させる。他のストレージ・インデックス管理サーバ3、及び各アプリサーバ2との通信は、ネットワーク入出力部31を用いて行われる。
データ読み書き部32は、ディスク装置4からのオブジェクトの読み出し、ディスク装置4へのオブジェクトの書き込み、及びディスク装置4に格納されたオブジェクトの削除、等の操作のための機能である。実際の操作は、ディスク入出力部34によって行われる。
メタデータ読み書き部33は、ディスク装置4からのメタデータの読み出し、ディスク装置4へのメタデータの書き込み、及びディスク装置4に格納されたメタデータの削除、等の操作のための機能である。ディスク装置4には、メタデータはインデックスを構成する一部のデータとして格納されている。そのため、実際の操作は、ディスク入出力部34を用いたインデックスの更新のための操作として行われる。
このインデックスは、メタデータの種類毎に、そのメタデータを用いて構築される検索用のデータである。このインデックスは、メタデータの値(内容)毎に、その値をメタデータとして割り当てられたオブジェクトの保存先を表す保存先情報を備えている。そのインデックスでは、保存先情報からオブジェクトに割り当てられたメタデータの値を特定可能になっている。
各アプリサーバ2は、端末装置のユーザからの要求により、そのユーザがメタデータの値を入力して指定した検索条件に従って、その検索条件を満たすオブジェクトの保存先を確認するための検索リクエストを送信する。ネットワーク入出力部31は、自ストレージ・インデックス管理サーバ3宛に送信された検索リクエストを受信し、受信した検索リクエストを検索部35に渡す。検索部35は、渡された検索リクエスト中に格納されたメタデータの値を抽出し、インデックスに対する検索を行い、その検索結果をネットワーク入出力部31から送信させる。
記憶部37は、統計情報37aの保存に用いられる。その統計情報37aは、メタデータの種類(以降「メタデータ名」と表記)の組み合わせ毎に、その組み合わせで各値が指定された検索条件での検索を行った回数を表す情報である。
図2は、統計情報の構成例を説明する図である。図2中に表記の「メタデータ1」「メタデータ2」は、異なるメタデータ名を表している。「メタデータ」に付した「1」「2」の数値は、辞書に登録された順序、或いは識別用に割り当てられた番号を表している。ここでは、数値は辞書に登録された順序を表していると想定する。
図2では、統計情報の構成例をテーブル形式で表している。それにより、各欄は、回数を計数する1種類のメタデータ名、或いは2種類のメタデータ名の組み合わせを表している。
例えば行、列ともに「メタデータ1」の欄には、メタデータ名としてメタデータ1のみ値が指定された検索条件で検索を行った回数が格納される。例えば行が「メタデータ2」、列が「メタデータ1」の欄に表記されている「未使用」は、回数が格納されないことを表している。これは、2種類のメタデータ名の組み合わせで各値が指定された検索条件での検索では、辞書に登録された順序で2種類のメタデータ名の組み合わせを特定し、特定した組み合わせのみで回数を計数するからである。
図3(a)〜図3(c)は、統計情報の更新例を説明する図である。図3(a)〜図3(c)に表す例は、メタデータ1として「名前」、メタデータ2として「年齢」をそれぞれ想定した場合の例である。図3(b)は、図3(a)の状態の統計情報37aから1回の検索を行った後の状態、図3(c)は、図3(b)の状態の統計情報37aから1回の検索を行った後の状態、をそれぞれ表している。
図3(a)に表す状態は、統計情報37aがクリアされた状態で、例えば「名前=田中 AND 年齢=20」のような2種類のメタデータ名の値が指定された検索条件による検索を行った後の状態である。その検索条件では、1種類のメタデータ名として「名前」及び「年齢」が指定され、2種類のメタデータ名の組み合わせが「名前」及び「年齢」である。そのため、行、及び列が共に「名前」の欄、行、及び列が共に「年齢」の欄、並びに行が「名前」で列が「年齢」の欄の各回数は、それぞれ0から1に更新されている。
図3(b)に表す状態は、統計情報37aが図3(a)に表す状態時に、例えば「名前=山田」のような1種類のメタデータ名の値が指定された検索条件による検索を行った後の状態である。その検索条件では、行、及び列が共に「名前」の欄の回数が1から2に更新されている。
図3(c)に表す状態は、統計情報37aが図3(b)に表す状態時に、例えば「名前=上田 AND 年齢<30」のような2種類のメタデータ名の値が指定された検索条件による検索を行った後の状態である。その検索条件により、行、及び列が共に「名前」の欄では回数が2から3に更新されている。行、及び列が共に「年齢」の欄では回数が1から2に更新されている。行が「名前」で列が「年齢」の欄では、回数が1から2に更新されている。
本実施形態では、上記のように、1種類のメタデータ名の値(メタデータ)のみが検索条件に指定された検索、及び2種類のメタデータ名の組み合わせで各値が検索条件に指定された検索の両方で回数を計数し、各計数結果を統計情報37aとして保存している。3種類以上のメタデータ名の組み合わせは、2種類のメタデータ名の組み合わせに分解し、分解した組み合わせ毎に回数を計数するようにしている。この統計情報37aは、各ストレージ・インデックス管理サーバ3に管理させるべきメタデータ名のインデックスの決定に用いられる。
検索条件(AND検索)で値が指定された2種類のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3が管理している場合、そのストレージ・インデックス管理サーバ3は、その検索条件を満たすオブジェクトの保存先情報を全て抽出することができる。そのため、アンド検索の検索条件を格納した検索リクエストが送信されたアプリサーバ2は、その検索リクエストを送信したストレージ・インデックス管理サーバ3からのレスポンスにより、その検索条件を満たすオブジェクトを全て取得することができる。
1台のストレージ・インデックス管理サーバ3からのレスポンスにより、検索条件を満たすオブジェクトを全て取得できることは、ネットワーク1を介して送受信するオブジェクトの数を抑えられることを意味する。1台のストレージ・インデックス管理サーバ3は、他のストレージ・インデックス管理サーバ3との通信を行うことなく、送信すべきレスポンスを作成することができる。このようなことから、アンド検索時、検索条件で値が指定された複数のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3が管理している場合、データ送受信による遅延を最小限に抑えることが可能になる。
また、レスポンスは、ストレージ・インデックス管理サーバ3内の処理により作成されることから、ストレージ・インデックス管理サーバ3の計算リソースがより有効に活用することができる。これは、フロントエンドであるアプリサーバ2の負荷をより抑制できることを意味する。負荷の抑制により、アプリサーバ2はより迅速に検索結果としてのオブジェクトを端末装置のユーザに提示することができる。このようなことから、検索条件で値が指定された複数のメタデータ名のインデックスが同じストレージ・インデックス管理サーバ3に管理させている場合、単位時間当たりに実行可能な検索の件数はより多くなり、検索性能は事実上、向上する。
このように、アンド検索時の検索条件で値が指定される複数のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3に管理させることは、検索性能を向上させるうえで有効である。そのため、統計情報37aは、同じストレージ・インデックス管理サーバ3にインデックスを管理させるべきメタデータ名の組み合わせの特定に用いられる。
本実施形態では、図2に表すように、組み合わせるメタデータ名の数は2つとしている。これは、組み合わせるメタデータ名の数が多くなるほど、同じメタデータ名のインデックスを管理させるストレージ・インデックス管理サーバ3の台数も多くなり、各ストレージ・インデックス管理サーバ3に管理させるインデックスの数も多くなるからである。言い換えれば、ネットワーク1を介したデータの転送量の増大、及びストレージ・インデックス管理サーバ3における計算リソースの浪費の増大、等の影響が大きくなり易くなるためである。このことから、本実施形態では、2種類のメタデータ名の組み合わせのみに着目している。
上記検索部35は、ネットワーク入出力部31から渡された検索リクエストを統計情報取得部36に渡す。統計情報取得部36は、渡された検索リクエストから検索条件を抽出し、抽出した検索条件に該当する回数をインクリメントすることにより、統計情報37aを更新、つまり新しい統計情報37aを生成する。
インデックス管理サーバ決定部38は、統計情報37aを参照し、2種類のメタデータ名の組み合わせ毎に、その2種類のメタデータ名のインデックスを管理させるべきストレージ・インデックス管理サーバ3を決定する。インデックス管理サーバ決定部38は、その決定結果に従って、インデックスを管理させるストレージ・インデックス管理サーバ3を変更させる制御を行う。
本実施形態による管理装置は、各ストレージ・インデックス管理サーバ3に管理させるインデックスを動的に変更する制御を行う装置である。その管理装置は、インデックス管理サーバ決定部38によって実現されている。つまり、本実施形態による管理装置は、各ストレージ・インデックス管理サーバ3に搭載させる形で実現されている。
なお、管理装置は、各アプリサーバ2に搭載させても良い。また、ネットワーク1に接続させた別の情報処理装置(コンピュータ)を管理装置として用いても良い。その別の情報処理装置は、1台であっても良く、2台以上であっても良い。
図4は、インデックスを管理させるストレージサーバ兼インデックス管理サーバの変更例を説明する図である。
図4では、便宜的に、3台のストレージ・インデックス管理サーバ3(3−1〜3−3)のみがネットワーク1と接続されているシステム構成を想定している。図4の上方に表すシステム構成は、インデックスを管理させるストレージ・インデックス管理サーバ3を変更する前の状態である。図4の下方に表すシステム構成は、インデックスを管理させるストレージ・インデックス管理サーバ3を変更した後の状態である。各システム構成において、保存されているオブジェクトとしてオブジェクトA〜Cのみを表し、インデックスとしては、メタデータ名が「名前」「年齢」の2つのみを表している。
図4の上方に表すシステム構成では、3つのオブジェクトA〜Cはそれぞれストレージ・インデックス管理サーバ3−1〜3−3に保存されている。メタデータ名が「名前」のインデックスはストレージ・インデックス管理サーバ3−1で管理され、メタデータ名が「年齢」のインデックスはストレージ・インデックス管理サーバ3−3で管理されている。各インデックスは、共に、オブジェクトA〜Cの保存先の検索に用いられる。メタデータ名が「名前」のインデックスで内容例として表記の「田中:オブジェクトA」等、メタデータ名が「年齢」のインデックスで内容例として表記の「20:オブジェクトA」等は、そのことを表している。
図4の下方に表すシステム構成では、メタデータ名が「名前」及び「年齢」の2つのインデックスは、ストレージ・インデックス管理サーバ3−2に管理されている。それにより、ストレージ・インデックス管理サーバ3−1及び3−3は共に、管理するインデックスが存在しない状態となっている。
「名前」及び「年齢」は、検索条件でその値が同時に指定されたメタデータ名である。本実施形態では、設定された変更条件を満たす場合に、検索条件で値が同時に指定された2種類のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3に管理させるようにしている。その変更条件を設けることにより、本実施形態では、インデックスを管理させるストレージ・インデックス管理サーバ3の変更を制限している。
本実施形態では、この変更条件は、2種類のメタデータ名の値が検索条件で同時に指定される頻度に着目して設定している。より具体的には、変更条件は、閾値αを超える共起率rが得られることとしている。
共起率rは、2種類のメタデータ名の値が検索条件で同時に指定される割合のことである。2種類のメタデータ名の値のうちの一方、及び他方がそれぞれ検索条件で指定された回数をc、及びc、2種類のメタデータ名の値が検索条件で同時に指定された回数をcABと表す場合、共起率rは例えば以下の式を用いて計算される。
r = cAB/(c+c−cAB) ・・・ (1)
この共起率rは、以下の式を用いて計算しても良い。
r = cAB/C ・・・ (2)
ここで、Cは検索が行われた総回数である。
共起率rが低いことは、2種類のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3に管理させても、その2つのインデックスを対象にした検索を同時に行う頻度が小さいことを意味する。その2つのインデックスへの検索を同時に行わないのであれば、各インデックスをそれぞれ異なるストレージ・インデックス管理サーバ3に管理させることにより、2台のストレージ・インデックス管理サーバ3の計算リソースをより有効に利用することができる。このようなことから、本実施形態では、閾値αを設け、変更条件(r>αの関係)が満たされた2種類のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3に管理させるようにしている。閾値αとしては、例えば0.5の付近の値を設定することが考えられる。
インデックス管理サーバ決定部38は、統計情報37aを参照して、2種類のメタデータ名の組み合わせ毎に共起率rを算出する。インデックス管理サーバ決定部38は、2種類のメタデータ名の組み合わせ毎に、算出した共起率rからその2種類のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3に管理させるべきか否かを判定する。それにより、インデックス管理サーバ決定部38は、算出した共起率rが閾値αを超えている2種類のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3に管理させる。
インデックス管理サーバ決定部38が共起率rを算出する2種類のメタデータ名の組み合わせは、統計情報37aによってサポートされる、管理単位となる組み合わせである。統計情報37aを用いて回数が計数可能なメタデータ名は、自ストレージ・インデックス管理サーバ3に送信される検索リクエスト中の検索条件で値が指定されるメタデータ名に限定される。
本実施形態では、何れかのストレージ・インデックス管理サーバ3のインデックス管理サーバ決定部38の決定結果に従い、対象となるインデックスを管理させるストレージ・インデックス管理サーバ3を直ちに変更させるようにしている。インデックスを管理させるストレージ・インデックス管理サーバ3を変更させる場合、その変更が終了するまで、検索リクエストへの適切なレスポンスが行えない可能性がある。そのため、本実施形態では、インデックス管理サーバ決定部38は、外部からの指示により起動させ、インデックス管理サーバ決定部38を動作させている間、検索サービスを停止させるようにしている。
インデックス管理サーバ決定部38によって同じストレージ・インデックス管理サーバ3にインデックスを管理させるべきと判定された2種類のメタデータ名の組み合わせ結果(以降「インデックス管理情報」と表記)は、各ストレージ・インデックス管理サーバ3で共有される。そのため、インデックスを管理させるストレージ・インデックス管理サーバ3の変更は、インデックス管理情報に登録されていない組み合わせのみを対象に行われる。
図12は、本実施形態によるストレージサーバ兼インデックス管理サーバとして使用可能な情報処理装置の構成例を表す図である。ここで、図12を参照し、本実施形態によるストレージ・インデックス管理サーバ3として使用可能な情報処理装置例について具体的に説明する。
この情報処理装置は、図12に表すように、CPU(Central Processing Unit)51、FWH(Firm-Ware Hub)52、メモリ(メモリモジュール)53、NIC(Network Interface Card)54、ハードディスク装置(HD)55、ファン56、コントローラ57、及びBMC(Baseboard Management Controller)58を備えている。この構成は、1例であり、ストレージ・インデックス管理サーバ3として使用可能な情報処理装置の構成は、図12に表すようなものに限定されない。
FWH52は、ファームウェアを格納したメモリである。このファームウェアは、CPU51によってメモリ53に読み出され実行される。ハードディスク装置55には、OS(Operating System)、及び各種アプリケーション・プログラム(以降「アプリケーション」と略記)が格納されている。アプリケーションとしては、分散オブジェクトストレージを構成するノード(ストレージ・インデックス管理サーバ3)として機能させるためのもの(以降「分散オブジェクトストレージシステム」と表記)が含まれる。CPU51は、ファームウェアの起動が完了した後、コントローラ57を介してハードディスク装置55からOS、及び分散オブジェクトストレージシステムを読み出して実行することができる。NIC54を介した通信は、OSの起動によって可能となる。
この分散オブジェクトストレージシステムは、ハードディスク装置55以外のストレージ、或いは記録媒体に格納しても良い。ストレージ、或いは記録媒体は、NIC54がネットワークを介して通信可能な外部装置がアクセス可能なものであっても良い。このことから、分散オブジェクトストレージシステムは、外部装置から受信しても良い。
BMC58は、情報処理装置を管理するための専用の管理装置である。BMC58は、CPU51のオン/オフ、各構成要素に発生するエラーの監視、等を行う。コントローラ56は、図1に表すディスク装置4が接続可能なインターフェースである。
上記のような構成の情報処理装置では、ネットワーク入出力部31はNIC54である。ディスク入出力部34は、コントローラ57である。記憶部37は、例えばメモリ53、ハードディスク装置55、及びコントローラ57によって実現される。データ読み書き部32、メタデータ読み書き部33、検索部35、統計情報取得部36、及びインデックス管理サーバ決定部38は、共に、CPU51がOS上で分散オブジェクトシステムを実行することで実現される機能である。このことから、データ読み書き部32、メタデータ読み書き部33、検索部35、統計情報取得部36、及びインデックス管理サーバ決定部38は、共に、CPU51、FWH52、メモリ53、ハードディスク装置55、及びコントローラ57によって実現される。
上記分散オブジェクトストレージシステムは、CPU51に各種処理を実行させる。以降、図5〜図10に表す各種フローチャートを参照し、分散オブジェクトストレージシステムを実行することによるCPU51の動作について詳細に説明する。
図5は、統計情報更新処理のフローチャートである。この統計情報更新処理は、何れかのアプリサーバ2から検索を要求する検索リクエストをNIC54が受信することを契機に実行される処理であり、統計情報取得部36の機能の一部を実現させる。更新情報37aは、この統計情報更新処理の実行により、受信された検索リクエスト中の検索条件で値が指定されたメタデータ名に応じて更新される。始めに図5を参照し、統計情報更新処理について詳細に説明する。
先ず、CPU51は、検索リクエスト中の検索条件で値が指定されたメタデータ名毎に、その回数を更新するための第1の計数処理を実行する(S1)。その第1の計数処理の実行後、CPU51は、検索条件(図5中「検索式」と表記)に2種類以上のメタデータ名の値(メタデータ)が含まれているか否か判定する(S2)。検索条件で値が指定されたメタデータ名が2種類以上であった場合、S2の判定はyesとなってS5に移行する。検索条件で値が指定されたメタデータ名が1種類であった場合、S2の判定はnoとなり、ここで統計情報更新処理が終了する。
S5は処理ループであり、この処理ループS5内では、CPU51は、検索リクエスト中の検索条件で値が指定された2種類のメタデータ名の組み合わせ毎に、その回数を更新するための第2の計数処理を実行する(S6)。2種類のメタデータ名の組み合わせの全てで回数を更新した場合、処理ループS5が終了し、統計情報更新処理も終了する。
図6は、上記第1の計数処理のフローチャートであり、図7は、上記第2の計数処理のフローチャートである。ここで、図6、及び図7を参照し、上記統計情報更新処理内でS1、及びS6として実行される各サブルーチン処理について詳細に説明する。
S1として実行される第1の計数処理では、図6に表すように、検索リクエスト中の検索条件で値が指定されたメタデータ名毎に、その回数を更新するための処理ループS10が実行される。その処理ループS10では、先ず、CPU51は、検索条件で値が指定されたメタデータ名を取得する(S11)。次に、CPU51は、取得したメタデータ名に対応する回数を統計情報37aから抽出する(S12)。図6では、統計情報37aを「表」、回数を「行列」とそれぞれ表記している。
回数を抽出した後、CPU51は、その回数をインクリメントする(S13)。その回数のインクリメントにより、1メタデータ名に対する一連の処理が終了する。検索条件で値が指定された全てのメタデータ名を対象にしていた場合、一連の処理の終了後、処理ループS10が終了し、更に第1の計数処理が終了する。
S6として実行される第2の計数処理では、図7に表すように、先ず、CPU51は、検索条件で値が指定された2種類のメタデータ名を取得する(S21)。次に、CPU51は、取得した2種類のメタデータ名を辞書順に比較し、辞書順で小さい方、つまり前の方を第1のメタデータ名、残りを第2のメタデータ名とする(S22)。
続いてCPU51は、第1及び第2のメタデータ名の組み合わせに対応する回数を統計情報37a中から抽出する(S23)。その回数とは、図2において、第1のメタデータ名を行、第2のメタデータ名を列とする欄に格納されている回数である。回数を抽出した後、CPU51は、その回数をインクリメントする(S24)。その回数のインクリメントを行った後、第2の計数処理が終了する。
上記第1及び第2の計数処理が統計情報更新処理内で実行されることにより、検索リクエストが受信される度に、図3に例を表すように統計情報37aが更新される。
なお、本実施形態では、統計情報37a中からの2種類のメタデータ名の組み合わせに対応する回数の抽出を、メタデータ名が辞書に出現する順序の組で特定するようにしているが、回数の抽出は別の方法で行えるようにしても良い。具体的には、例えば統計情報37aは、ハッシュ値と回数を含む組の集合体としても良い。統計情報37aがハッシュ値と回数を含む組の集合体であった場合、第2の計数処理は、図8にフローチャートを表すような内容としても良い。
図8にフローチャートを表す第2の計数処理では、先ず、CPU51は、検索条件で値が指定された2種類のメタデータ名を取得する(S31)。次に、CPU51は、取得した2種類のメタデータ名を辞書順に比較し、辞書順で小さい方を第1のメタデータ名、残りを第2のメタデータ名とし、第1のメタデータ名、第2のメタデータ名の順に並べて結合したものを最終的なメタデータ名とする(S32)。
続いてCPU51は、最終的なメタデータ名を用いてハッシュ値を計算し、計算したハッシュ値を用いた統計情報37aの検索により、対応する回数を抽出する(S33)。回数を抽出した後、CPU51は、その回数をインクリメントする(S34)。その回数のインクリメントを行った後、変形例の第2の計数処理が終了する。
図9は、インデックス管理サーバ決定処理のフローチャートである。このインデックス管理サーバ決定処理では、同じストレージ・インデックス管理サーバ3にインデックスを管理させるべき2種類のメタデータ名の特定が行われる。また、このインデックス管理鯖決定処理では、特定した2種類のメタデータ名のインデックスを管理させるべきストレージ・インデックス管理サーバ3に保存させるための処理が行われる。インデックス管理サーバ決定部38は、このインデックス管理サーバ決定処理をCPU51が実行することで実現される。このインデックス管理サーバ決定処理は、外部、例えば何れかのアプリサーバ2からインデックスの管理を要求するリクエストの受信によって実行される。そのリクエストは、例えば情報処理システムを管理する管理者の指示、或いは設定によって送信される。
このインデックス管理サーバ決定処理では、2つの処理ループS40、及びS50がその順序で実行される。処理ループS40は、2種類のメタデータ名の組み合わせ毎に、その2つのインデックスを管理させるべきストレージ・インデックス管理サーバ3に管理させるための処理ループである。処理ループS50は、1種類のメタデータ名毎に、そのインデックスを管理させるべきストレージ・インデックス管理サーバ3に管理させるための処理ループである。
各ストレージ・インデックス管理サーバ3で回数の計数が可能なのは、そのストレージ・インデックス管理サーバ3が受信する検索リクエスト中の検索条件で値が指定されている1種類のメタデータ名、及び2種類のメタデータ名の組み合わせである。各アプリサーバ2は、通常、端末装置のユーザが値を指定したメタデータ名から、検索リクエストを送信すべきストレージ・インデックス管理サーバ3を特定し、特定したストレージ・インデックス管理サーバ3宛に検索リクエストを送信する。このことから、本実施形態では、各ストレージ・インデックス管理サーバ3で対象にさせるメタデータ名、及び2種類のメタデータ名の組み合わせは、検索条件で指定されたことのあるもの、つまり回数が1以上のものとしている。
処理ループS40では、先ず、CPU51は、統計情報37aを参照して、回数が1以上の2種類のメタデータ名の組み合わせの1つを抽出し、抽出した組み合わせの共起率rを計算して、計算した共起率rが閾値αより大きいか否か判定する(S41)。その組み合わせが同時に指定された検索が頻繁に要求されているような場合、S41の判定はyesとなってS42に移行する。その組み合わせが同時に指定された検索が頻繁に要求されていない場合、S41の判定はnoとなり、処理ループS40内の一連の処理が終了する。その結果、処理ループS40では、回数が1以上の2種類のメタデータ名の組み合わせのなかで抽出していないものが有るか否かの判定が行われる。抽出対象となる組み合わせが存在しない場合、処理ループS40が終了し、抽出対象となる組み合わせが残っている場合、S41が再度、実行されることとなる。
S41の判定処理には、実際には、上記インデックス管理情報が用いられる。そのインデックス管理情報には、例えばS41の判定が初めてyesとなった2種類のメタデータ名の組み合わせが登録される。それにより、インデックス管理情報に既に登録されている組み合わせは、共起率rの値に係わらず、S41でnoと判定される。
S42では、CPU51は、抽出した2種類のメタデータ名を辞書順に比較し、辞書順で小さい方を第1のメタデータ名、残りを第2のメタデータ名とし、第1のメタデータ名、第2のメタデータ名の順に並べて結合する。次にCPU51は、2種類のメタデータ名のインデックスを管理させるストレージ・インデックス管理サーバ3を決定し、決定したストレージ・インデックス管理サーバ3にその2つのインデックスを移動させるサーバ決定処理を実行する(S43)。そのサーバ決定処理を実行した後、処理ループS40内の一連の処理が終了する。S42で結合したメタデータ名は、2つのインデックスを管理させるストレージ・インデックス管理サーバ3の決定に用いられる。
図10は、サーバ決定処理のフローチャートである。ここで図10を参照し、上記S43、及び後述するS51で実行されるサーバ決定処理について詳細に説明する。インデックス管理サーバ決定処理は、このサーバ決定処理に対し、メタデータ名を引数として渡す。インデックスを管理させるストレージ・インデックス管理サーバ3の決定には、図11に表すようなサーバ一覧表が用いられる。
このサーバ一覧表は、例えば各アプリサーバ2、及び各ストレージ・インデックス管理サーバ3が保持する共有情報である。図11に表すように、サーバ一覧表には、ストレージ・インデックス管理サーバ3毎に、そのストレージ・インデックス管理サーバ3に割り当てられたハッシュ値の範囲が定義されている。それにより、インデックス管理サーバ決定処理から渡されるメタデータ名は、ハッシュ値の計算に用いられる。
先ず、CPU51は、インデックス管理サーバ決定処理から渡されたメタデータ名を用いてハッシュ値を計算する(S61)。次に、CPU51は、計算したハッシュ値を用いて、インデックスを管理させるストレージ・インデックス管理サーバ3を決定し、決定したストレージ・インデックス管理サーバ3にインデックスを移動させるための処理ループS70を実行する。
この処理ループS70では、先ず、CPU51は、サーバ一覧表中で対象とする1台のストレージ・インデックス管理サーバ3を選択し、計算したハッシュ値が、選択したストレージ・インデックス管理サーバ3に割り当てられたハッシュ値の範囲内か否か判定する(S71)。計算したハッシュ値がその範囲内であった場合、S71の判定はyesとなってS72に移行する。計算したハッシュ値がその範囲外であった場合、S71の判定はnoとなり、ここで処理ループS70内の一連の処理が終了する。このとき、選択の対象となるストレージ・インデックス管理サーバ3が存在しない場合、処理ループS70が終了し、その後にサーバ決定処理が終了する。
S72では、CPU51は、渡されたメタデータ名から特定されるインデックスを、現在、選択しているストレージ・インデックス管理サーバ3に移動させる処理を行う。その処理の実行後、処理ループS70内の一連の処理が終了する。
インデックス管理サーバ決定処理から渡されたメタデータ名は、1種類のメタデータ名か、或いは2種類のメタデータ名の結合体である。そのため、移動の対象となるインデックスは渡されたメタデータ名から特定することができる。
移動対象となるインデックスを管理しているストレージ・インデックス管理サーバ3は、サーバ一覧表から特定される。そのストレージ・インデックス管理サーバ3は、移動対象となるインデックスのメタデータ名を用いて計算されるハッシュ値が、割り当てられたハッシュ値の範囲内となっているストレージ・インデックス管理サーバ3である。それにより、CPU51は、移動対象となるインデックスを管理しているストレージ・インデックス管理サーバ3(以降「移動元サーバ3」と表記)が、計算したハッシュ値を範囲内とするストレージ・インデックス管理サーバ3(以降「移動先サーバ3」と表記)と異なる場合、インデックスを移動させなければならない。そのため、CPU51は、例えば移動元サーバ3に対し、移動先サーバ3、及び移動対象とするインデックスのメタデータ名等を送信して、移動対象とするインデックスの移動先サーバ3への送信を指示する。そのようにして、移動先サーバ3に、移動元サーバ3から送信されるインデックスを保存させる。
移動先サーバ3では、インデックスが増えたことにより、それまで送信されなかった検索リクエストがアプリサーバ3から送信される可能性が生じる。そのため、移動先サーバ3では、統計情報37aをクリアしている。
図9のインデックス管理サーバ決定処理の説明に戻る。
処理ループS40の終了により、処理ループS50が実行される。処理ループS40の実行により、同じストレージ・インデックス管理サーバ3に管理させるべき2種類のメタデータ名のインデックスは、管理させるべきストレージ・インデックス管理サーバ3に管理される。そのため、処理ループS50でインデックスを移動させる可能性のあるメタデータ名は、インデックス管理情報に登録されていないメタデータ名のみとなる。
その処理ループS50では、先ず、CPU51は、統計情報37aを参照して、回数が1以上の1種類のメタデータ名を抽出し、抽出したメタデータ名がインデックス管理情報に登録されていないか否か判定する(S51)。抽出したメタデータ名がインデックス管理情報に登録されていない場合、S51の判定はyesとなってS52のサーバ決定処理に移行する。このとき、抽出したメタデータ名は引数としてサーバ決定処理に渡される。抽出したメタデータ名がインデックス管理情報に登録されている場合、S51の判定はnoとなり、ここで処理ループS50内の一連の処理が終了する。
この一連の処理の終了時、抽出の対象となるメタデータ名が存在しない場合、処理ループS50が終了し、その後にインデックス管理サーバ決定処理が終了する。
1種類のメタデータ名のインデックスは、何れかのストレージ・インデックス管理サーバ3に保存させた後には、サーバ一覧表が更新されたといった特別の理由がない限り、移動させる必要はない。そのため、処理ループS50は、通常、実行されない。しかし、ここでは、1種類のメタデータ名のインデックスが最初に保存されるストレージ・インデックス管理サーバ3を明確にするために、処理ループS50を処理ループS40と共にフローチャートに表している。各アプリサーバ2は、図11に表すようなサーバ一連表、及びインデックス管理情報を参照することにより、検索リクエストを送信すべきストレージ・インデックス管理サーバ3を特定することができる。
なお、本実施形態では、2種類のメタデータ名のインデックスを同じストレージ・インデックス管理サーバ3に管理させるか否かの判定に共起率rを用いている。その判定には別の指標を用いても良い。或いは別の指標と組み合わせて用いても良い。例えばストレージ・インデックス管理サーバ3全体の負荷の重さと、検索時に同時に指定される2種類以上のメタデータ名との間にパターンが観測される場合、そのパターンをインデックスの管理に反映させても良い。共起率rの代わりの指標としては、例えば単位時間当たりの検索件数、が考えられる。共起率rの代わりの指標、或いは/及び、組み合わせが可能な別の指標としては、オブジェクト、或いはインデックスのデータ量、1件の検索に要する平均処理時間、1件の検索の平均的な負荷の重さ、等が考えられる。
共起率rは、サンプル数が少ない状況では、大きく変化し易い。サンプル数が少ない状況時に、共起率rが閾値αより大きくなって、実際には不要な2つのインデックスを同じストレージ・インデックス管理サーバ3に管理させることが有り得る。このことから、共起率rを計算する対象を制限するための条件を設けても良い。或いはインデックス管理情報に登録された2種類のメタデータ名の組み合わせのなかで、別のストレージ・インデックス管理サーバ3に管理させるべき組み合わせを特定し、インデックスの移動を行うようにしても良い。インデックスの移動の対象とする組み合わせは、閾値αより小さい別の閾値βを設定し、r<βの関係を満たすことを条件に、特定させることが考えられる。
また、本実施形態では、各ストレージ・インデックス管理サーバ3は、統計情報37aの生成・更新、及びインデックスを管理させるストレージ・インデックス管理サーバ3の決定を行えるようになっている。統計情報37aの生成・更新、及びインデックスを管理させるストレージ・インデックス管理サーバ3の決定は、それぞれ別の装置に行わせても良い。このことから、管理装置は、複数台の情報処理装置(コンピュータ)を用いて実現させても良い。
インデックスを移動させるストレージ・インデックス管理サーバ3は、各ストレージ・インデックス管理サーバ3の負荷の重さに着目して決定しても良い。また、インデックスの移動対象とさせるストレージ・インデックス管理サーバ3の優先順位を設定し、設定された優先順位に従って、インデックスを移動させるストレージ・インデックス管理サーバ3を決定するようにしても良い。
上記以外にも、様々な変形を行うことができる。
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ネットワークを介して第1の情報処理装置と接続された複数台の第2の情報処理装置、及び管理装置を備え、
前記複数台の第2の情報処理装置は、
データ、及び前記データのメタデータを用いて検索用に構築されたインデックスを分散して管理し、
前記管理装置は、
前記第1の情報処理装置から送信された検索リクエストを監視する監視部と、
前記監視部による監視結果を基に、同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせ、及び前記同一の第2の情報処理装置を特定し、該特定した前記同一の第2の情報処理装置に、該特定した前記組み合わせのメタデータの種類のインデックスを管理させるインデックス管理部と、を有する、
ことを特徴とする情報処理システム。
(付記2)
前記監視部が監視した前記検索リクエストで指定されているメタデータの種類の組み合わせ毎に、前記組み合わせでメタデータが同時に指定された結果を表す統計情報を生成する情報生成部、を有し、
前記インデックス管理部は、前記統計情報を基に、前記同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせを特定する、
ことを特徴とする付記1記載の情報処理システム。
(付記3)
前記情報生成部は、2種類のメタデータの組み合わせ毎に、前記2種類のメタデータが同時に指定された回数を計数して、前記統計情報を生成・更新し、
前記インデックス管理部は、前記2種類のメタデータのインデックスを管理単位として、前記同一の第2の情報処理装置に前記インデックスを管理させるべきか否かの判定を行う、
ことを特徴とする付記2記載の情報処理システム。
(付記4)
ネットワークを介して第1の情報処理装置と接続され、データ、及び前記データのメタデータを用いて検索用に構築されたインデックスを分散して管理する複数台の第2の情報処理装置に対し、前記第1の情報処理装置から送信された検索リクエストを監視する監視部と、
前記監視部による監視結果を基に、同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせ、及び前記同一の第2の情報処理装置を特定し、該特定した前記同一の第2の情報処理装置に、該特定した前記組み合わせのメタデータの種類のインデックスを管理させるインデックス管理部と、
を有することを特徴とする管理装置。
(付記5)
ネットワークと接続されたコンピュータに、
データ、及び前記データのメタデータを用いて検索用に構築されたインデックスを分散して管理する複数台の第2の情報処理装置に対し、前記ネットワークを介して第1の情報処理装置から送信された検索リクエストの監視を行い、
前記監視の結果を基に、同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせ、及び前記同一の第2の情報処理装置を特定し、該特定した前記同一の第2の情報処理装置に、該特定した前記組み合わせのメタデータの種類のインデックスを管理させる、
処理を実行させる管理プログラム。
(付記6)
ネットワークと接続されたコンピュータを用いて、
データ、及び前記データのメタデータを用いて検索用に構築されたインデックスを分散して管理する複数台の第2の情報処理装置に対し、前記ネットワークを介して第1の情報処理装置から送信された検索リクエストの監視を行い、
前記監視の結果を基に、同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせ、及び前記同一の第2の情報処理装置を特定し、該特定した前記同一の第2の情報処理装置に、該特定した前記組み合わせのメタデータの種類のインデックスを管理させる、
ことを特徴とするインデックス管理方法。
1 ネットワーク
2 アプリケーションサーバ(アプリサーバ)
3 ストレージサーバ兼インデックス管理サーバ(ストレージ・インデックス管理サーバ)
4 ディスク装置
31 ネットワーク入出力部
32 データ読み書き部
33 メタデータ読み書き部
34 ディスク入出力部
35 検索部
36 統計情報取得部
37 記憶部
37a 統計情報
38 インデックス管理サーバ決定部

Claims (5)

  1. ネットワークを介して第1の情報処理装置と接続された複数台の第2の情報処理装置、及び管理装置を備え、
    前記複数台の第2の情報処理装置は、
    データ、及び前記データのメタデータを用いて検索用に構築されたインデックスを分散して管理し、
    前記管理装置は、
    前記第1の情報処理装置から送信された検索リクエストを監視する監視部と
    同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせを、前記検索リクエストに含まれる検索条件における前記メタデータの種類の組み合わせについての共起率に基づいて特定すると共に、該特定した前記組み合わせのメタデータの種類に基づいて前記同一の第2の情報処理装置を特定し、該特定した前記同一の第2の情報処理装置に、該特定した前記組み合わせのメタデータの種類のインデックスを管理させるインデックス管理部と、を有する、
    ことを特徴とする情報処理システム。
  2. 前記監視部が監視した前記検索リクエストで指定されているメタデータの種類の組み合わせ毎に、前記組み合わせでメタデータが同時に指定された結果を表す統計情報を生成する情報生成部、を有し、
    前記インデックス管理部は、前記統計情報を基に、前記同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせを特定する、
    ことを特徴とする請求項1記載の情報処理システム。
  3. 前記情報生成部は、2種類のメタデータの組み合わせ毎に、前記2種類のメタデータが同時に指定された回数を計数して、前記統計情報を生成・更新し、
    前記インデックス管理部は、前記2種類のメタデータのインデックスを管理単位として、前記同一の第2の情報処理装置に前記インデックスを管理させるべきか否かの判定を行う、
    ことを特徴とする請求項2記載の情報処理システム。
  4. ネットワークと接続されたコンピュータに、
    データ、及び前記データのメタデータを用いて検索用に構築されたインデックスを分散して管理する複数台の第2の情報処理装置に対し、前記ネットワークを介して第1の情報処理装置から送信された検索リクエストの監視を行い
    同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせを、前記検索リクエストに含まれる検索条件における前記メタデータの種類の組み合わせについての共起率に基づいて特定すると共に、該特定した前記組み合わせのメタデータの種類に基づいて前記同一の第2の情報処理装置を特定し、該特定した前記同一の第2の情報処理装置に、該特定した前記組み合わせのメタデータの種類のインデックスを管理させる、
    処理を実行させる管理プログラム。
  5. ネットワークと接続されたコンピュータが、
    データ、及び前記データのメタデータを用いて検索用に構築されたインデックスを分散して管理する複数台の第2の情報処理装置に対し、前記ネットワークを介して第1の情報処理装置から送信された検索リクエストの監視を行い、
    同一の第2の情報処理装置に前記インデックスを管理させるべき前記メタデータの種類の組み合わせを、前記検索リクエストに含まれる検索条件における前記メタデータの種類の組み合わせについての共起率に基づいて特定すると共に、該特定した前記組み合わせのメタデータの種類に基づいて前記同一の第2の情報処理装置を特定し、該特定した前記同一の第2の情報処理装置に、該特定した前記組み合わせのメタデータの種類のインデックスを管理させる、
    ことを特徴とするインデックス管理方法。
JP2013225881A 2013-10-30 2013-10-30 情報処理システム、管理プログラム、及びインデックス管理方法 Expired - Fee Related JP6167015B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013225881A JP6167015B2 (ja) 2013-10-30 2013-10-30 情報処理システム、管理プログラム、及びインデックス管理方法
US14/519,322 US9858281B2 (en) 2013-10-30 2014-10-21 Information processing system, recording medium, and index management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013225881A JP6167015B2 (ja) 2013-10-30 2013-10-30 情報処理システム、管理プログラム、及びインデックス管理方法

Publications (2)

Publication Number Publication Date
JP2015087953A JP2015087953A (ja) 2015-05-07
JP6167015B2 true JP6167015B2 (ja) 2017-07-19

Family

ID=52996659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013225881A Expired - Fee Related JP6167015B2 (ja) 2013-10-30 2013-10-30 情報処理システム、管理プログラム、及びインデックス管理方法

Country Status (2)

Country Link
US (1) US9858281B2 (ja)
JP (1) JP6167015B2 (ja)

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62121576A (ja) 1985-11-22 1987-06-02 Toshiba Corp デ−タベ−スシステム
US4817050A (en) 1985-11-22 1989-03-28 Kabushiki Kaisha Toshiba Database system
US5724571A (en) * 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
JP2002007641A (ja) 2000-06-21 2002-01-11 Hitachi Ltd 資料の電子配布システム
JP2006004024A (ja) * 2004-06-16 2006-01-05 Fujitsu Ltd ディレクトリサーバに実行させるためのプログラム
JP2006185019A (ja) * 2004-12-27 2006-07-13 Fuji Xerox Co Ltd 検索システム、および情報配置構成決定方法、並びにコンピュータ・プログラム
US20080097821A1 (en) * 2006-10-24 2008-04-24 Microsoft Corporation Recommendations utilizing meta-data based pair-wise lift predictions
US9135340B2 (en) * 2007-09-12 2015-09-15 Datalaw, Inc. Research system and method with record builder
US7991756B2 (en) * 2008-08-12 2011-08-02 International Business Machines Corporation Adding low-latency updateable metadata to a text index
EP2353113A4 (en) * 2008-10-24 2016-01-06 Optuminsight Inc DEVICE, SYSTEM AND METHOD FOR FAST KOHORTENTESTUNG
US8594784B2 (en) * 2009-02-20 2013-11-26 Babric Life Science Innovations, Llc. Kits and methods for retrofitting and adapting common notebooks, laptop computers, and tablets, to enable each to be used as an automated external defibrillator (AED), and as a manual defibrillator
JP5257172B2 (ja) * 2009-03-16 2013-08-07 富士通株式会社 検索方法、検索プログラム及び検索装置
US8566555B2 (en) * 2009-03-30 2013-10-22 Nec Corporation Data insertion system, data control device, storage device, data insertion method, data control method, data storing method
WO2010147114A1 (ja) * 2009-06-15 2010-12-23 日本電気株式会社 検索式生成システム
JP5310399B2 (ja) * 2009-09-01 2013-10-09 富士通株式会社 索引管理装置の処理方法および索引管理装置
US10831837B2 (en) * 2009-10-30 2020-11-10 Ebay Inc. Population of sets using advanced queries
US20120254215A1 (en) * 2009-12-10 2012-10-04 Michitaro Miyata Distributed file system, data selection method thereof, and program
JP5485831B2 (ja) 2010-08-30 2014-05-07 株式会社日立ソリューションズ 検索用索引自動生成装置を有するファイル検索システム
JP2012168781A (ja) 2011-02-15 2012-09-06 Nippon Telegr & Teleph Corp <Ntt> 分散型データストアシステム及び分散型データストアシステムにおけるレコード管理方法
US8671111B2 (en) * 2011-05-31 2014-03-11 International Business Machines Corporation Determination of rules by providing data records in columnar data structures
US9348890B2 (en) * 2011-08-30 2016-05-24 Open Text S.A. System and method of search indexes using key-value attributes to searchable metadata
US9715560B2 (en) * 2012-04-24 2017-07-25 International Business Machines Corporation Optimizing sparse schema-less data in data stores
JP5843965B2 (ja) * 2012-07-13 2016-01-13 株式会社日立ソリューションズ 検索装置、検索装置の制御方法及び記録媒体
JP5769138B2 (ja) * 2013-04-22 2015-08-26 横河電機株式会社 イベント解析装置およびコンピュータプログラム

Also Published As

Publication number Publication date
US20150120752A1 (en) 2015-04-30
JP2015087953A (ja) 2015-05-07
US9858281B2 (en) 2018-01-02

Similar Documents

Publication Publication Date Title
US9304815B1 (en) Dynamic replica failure detection and healing
JP5719323B2 (ja) 分散処理システム、ディスパッチャおよび分散処理管理装置
US8832113B2 (en) Data management apparatus and system
JP5585140B2 (ja) 仮想計算機システムの管理プログラム,管理装置及び管理方法
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
CN106104526A (zh) 半结构化数据模式的透明发现
JP6269140B2 (ja) アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置
TW200915111A (en) Query optimization in a parallel computer system with multiple networks
JPWO2015118865A1 (ja) 情報処理装置、情報処理システム及びデータアクセス方法
JP5844895B2 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
JP2016051446A (ja) 計算機システム、計算機、負荷分散方法及びそのプログラム
JP6279816B2 (ja) ストレージ監視システムおよびその監視方法
JP6084700B2 (ja) 検索システム及び検索方法
JP5907251B2 (ja) データベース管理方法、プログラム、および情報処理装置
JP2011070257A (ja) ファイル検索システム
JP6167015B2 (ja) 情報処理システム、管理プログラム、及びインデックス管理方法
KR101648401B1 (ko) 데이터 관리 및 분석을 위한 데이터베이스 장치, 스토리지 유닛 및 그 방법
US20170161508A1 (en) Management device, method executed by the management device, and non-transitory computer-readable storage medium
JP6046523B2 (ja) インメモリ型分散データベース、データ分散方法及びプログラム
JP5732082B2 (ja) データ管理装置およびデータ管理プログラム
US20140365681A1 (en) Data management method, data management system, and data management apparatus
JP2013206233A (ja) メッセージ通信方法,メッセージ通信プログラムおよびコンピュータノード
JP5472885B2 (ja) プログラム、ストリームデータ処理方法及びストリームデータ処理計算機
KR20160050735A (ko) 대용량 공간 데이터 환경에서 공간분석을 위한 공간질의 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체
JP6193491B2 (ja) 計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R150 Certificate of patent or registration of utility model

Ref document number: 6167015

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees