(57)【特許請求の範囲】
【請求項１】
受け付けたデータ要求の履歴に関する履歴情報に基づき、複数の記憶装置のいずれかに記憶された、データ要求を受けたデータ間のデータ要求における連続性を関連性とみなす関連性情報を生成し、
前記関連性情報に基づき、前記データ要求を受けたデータをグループ化するグループ化情報を更新し、
前記グループ化情報に基づき、特定のグループに属するデータを、前記複数の記憶装置に含まれる特定の記憶装置に配置し、
前記関連性情報の生成において、前記履歴情報、および、前記グループ化情報に基づき、前記関連性情報を更新するか否かを判定することを特徴とする、データ管理方法。
データ管理方法。
【請求項２】
前記特定のグループに属するデータがメモリ装置にコピーされる際は、前記特定のグループの単位で前記特定の記憶装置より前記メモリ装置にコピーされることを特徴とする、請求項１記載のデータ管理方法。
【請求項３】
受け付けたデータ要求の履歴に関する履歴情報に基づき、複数の記憶装置のいずれかに記憶された、データ要求を受けたデータ間のデータ要求における連続性を関連性とみなす関連性情報を生成し、前記関連性情報に基づき、前記データ要求を受けたデータをグループ化するグループ化情報を更新する解析部と、
前記グループ化情報に基づき、特定のグループに属するデータを、前記複数の記憶装置に含まれる特定の記憶装置に配置する管理部と、
を備え、
前記解析部は、前記履歴情報、および、前記グループ化情報に基づき、前記関連性情報を更新するか否かを判定することを特徴とする、データ管理装置。
【請求項４】
前記特定のグループに属するデータがメモリ装置にコピーされる際は、前記特定のグループの単位で前記特定の記憶装置より前記メモリ装置にコピーされることを特徴とする、請求項３記載のデータ管理装置。
【請求項５】
コンピュータに、
受け付けたデータ要求の履歴に関する履歴情報に基づき、複数の記憶装置のいずれかに記憶された、データ要求を受けたデータ間のデータ要求における連続性を関連性とみなす関連性情報を生成する生成処理と、
前記関連性情報に基づき、前記データ要求を受けたデータをグループ化するグループ化情報を更新する更新処理と、
前記グループ化情報に基づき、特定のグループに属するデータを、前記複数の記憶装置に含まれる特定の記憶装置に配置する配置処理と、
を実行させ、
前記更新処理は、前記履歴情報、および、前記グループ化情報に基づき、前記関連性情報を更新するか否かを判定することを特徴とする、データ管理プログラム。
【請求項６】
前記特定のグループに属するデータがメモリ装置にコピーされる際は、前記特定のグループの単位で前記特定の記憶装置より前記メモリ装置にコピーされることを特徴とする、請求項５記載のデータ管理プログラム。
【請求項７】
データを記憶する第１の記憶部と、
前記第１の記憶部に比して高速にアクセス可能な記憶部であって、データを記憶する第２の記憶部と、
入力されたデータ要求に応じたデータを前記第１又は第２の記憶部から読み出して出力する入出力管理部と、
前記入出力管理部に対してなされたデータ要求の履歴に基づき前記第１又は第２の記憶部に記憶されたデータ間のデータ要求における連続性を解析し、該解析の結果に基づき前記第１又は第２の記憶部に記憶されたデータをグループ分けする解析部と、
該解析部によりグループ分けされたグループ毎に前記第２の記憶部にデータを記憶させる管理部と、を備え、
前記解析部は、前記入出力管理部に対してなされたデータ要求の履歴に基づき同一のデータの組が連続して要求された回数を集計し、グループ分けによって異なるグループに属することになるデータの組についての前記集計した回数が小さくなるように、前記第１又は第２の記憶部に記憶されたデータをグループ分けすることを特徴とする、データ管理装置。
【請求項８】
前記第２の記憶部は、複数の物理的な記憶部を含み、
前記管理部は、同一のグループに属するデータを同一の物理的な記憶部に記憶させることを特徴とする、
請求項７記載のデータ管理装置。
【請求項９】
データを記憶する第１の記憶部と、前記第１の記憶部に比して高速にアクセス可能な記憶部であって、データを記憶する第２の記憶部と、を有するデータ管理装置が、
入力されたデータ要求に応じたデータを前記第１又は第２の記憶部から読み出して出力し、
前記入力されたデータ要求の履歴に基づき前記第１又は第２の記憶部に記憶されたデータ間のデータ要求における連続性を解析し、該解析の結果に基づき前記第１又は第２の記憶部に記憶されたデータをグループ分けし、
該グループ分けされたグループ毎に前記第２の記憶部にデータを記憶させ、
前記グループ分けする処理は、前記入力されたデータ要求の履歴に基づき同一のデータの組が連続して要求された回数を集計し、グループ分けによって異なるグループに属することになるデータの組についての前記集計した回数が小さくなるように、前記第１又は第２の記憶部に記憶されたデータをグループ分けする処理であることを特徴とする、データ管理方法。
【請求項１０】
前記第２の記憶部は、複数の物理的な記憶部を含み、
前記グループ分けされたグループ毎に前記第２の記憶部にデータを記憶させる処理は、同一のグループに属するデータを同一の物理的な記憶部に記憶させる処理であることを特徴とする、
請求項９記載のデータ管理方法。
【請求項１１】
データを記憶する第１の記憶部と、前記第１の記憶部に比して高速にアクセス可能な記憶部であって、データを記憶する第２の記憶部と、を有するデータ管理装置に、
入力されたデータ要求に応じたデータを前記第１又は第２の記憶部から読み出して出力させ、
前記入力されたデータ要求の履歴に基づき前記第１又は第２の記憶部に記憶されたデータ間のデータ要求における連続性を解析させ、該解析の結果に基づき前記第１又は第２の記憶部に記憶されたデータをグループ分けさせ、
該グループ分けされたグループ毎に前記第２の記憶部にデータを記憶させ、
前記グループ分けさせる処理は、前記入力されたデータ要求の履歴に基づき同一のデータの組が連続して要求された回数を集計し、グループ分けによって異なるグループに属することになるデータの組についての前記集計した回数が小さくなるように、前記第１又は第２の記憶部に記憶されたデータをグループ分けさせる処理であることを特徴とする、のデータ管理プログラム。
【請求項１２】
前記第２の記憶部は、複数の物理的な記憶部を含み、
前記グループ分けされたグループ毎に前記第２の記憶部にデータを記憶させる処理は、同一のグループに属するデータを同一の物理的な記憶部に記憶させる処理であることを特徴とする、
請求項１１記載のデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理装置、データ管理方法、データ管理プログラムに関する。
【背景技術】
【０００２】
従来、文書データを記憶する低速記憶装置および高速記憶装置を備えた文書処理システムの文書一覧表示方法が知られている。この方法では、各文書データがいずれの記憶装置に格納されているかを管理する管理テーブルを設け、利用者からの文書一覧情報要求で指定された文書データが低速記憶装置および高速記憶装置のいずれに格納されているかを、管理テーブルを参照して調べている。また、この方法では、要求された文書データの一覧を記憶装置別に区別して表示した後、文書データ一覧の中で低速記憶装置に格納されている文書データの詳細を、特定の文書データの詳細表示処理と並行して高速記憶装置に複写している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−３１９９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の方法は、文書一覧情報要求で指定された文書データを、その都度、高速記憶装置に複写するのに過ぎないため、データ出力の高速化を十分に図ることができない場合がある。
【０００５】
一つの側面では、本発明は、要求されたデータを高速に出力可能なデータ管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明の一態様は、
受け付けたデータ要求の履歴に関する履歴情報に基づき、複数の記憶装置のいずれかに記憶された、データ要求を受けたデータ間のデータ要求における連続性を関連性とみなす関連性情報を生成し、
前記関連性情報に基づき、前記データ要求を受けたデータをグループ化するグループ化情報を更新し、
前記グループ化情報に基づき、特定のグループに属するデータを、前記複数の記憶装置に含まれる特定の記憶装置に配置し、
前記関連性情報の生成において、前記履歴情報、および、前記グループ化情報に基づき、前記関連性情報を更新するか否かを判定することを特徴とする、
データ管理方法である。
【発明の効果】
【０００７】
一実施態様によれば、要求されたデータを高速に出力可能なデータ管理装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施例に係るデータ管理装置１のハードウエア構成例である。
【図２】本発明の第１実施例に係るデータ管理装置１の機能構成例である。
【図３】データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。
【図４】図３の状態に続き、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。
【図５】図４の状態に続き、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。
【図６】関連性解析部２３により実行される関連性解析処理の流れを示すフローチャートの一例である。
【図７】図５に示す状態において関連性解析部２３がセグメントを変更する前後のセグメント配置を示す図である。
【図８】セグメント配置部２４により変更された後のセグメント配置を示す図である。
【図９】図８の状態に続き、データ管理装置１に対してデータ要求Ｒｑが複数回なされた状態を示す図である。
【図１０】図９の状態に続き、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。
【図１１】図１０の状態において関連性解析部２３がセグメントを決定する前後のセグメント配置を示す図である。
【図１２】データ管理装置１によって実行される処理の流れを示すフローチャートの一例である。
【図１３】非分散型データ管理装置において参考手法による処理が行われる様子を模式的に示す図である。
【図１４】本実施例のデータ管理装置１によってデータＡ、Ｂに対する処理が行われる様子を模式的に示す図である。
【図１５】本発明の第２実施例に係るデータ管理装置２のハードウエア構成例である。
【図１６】本発明の第２実施例に係るデータ管理装置２の機能構成例である。
【図１７】データ管理装置２に対してデータ要求Ｒｑがなされた状態を示す図である。
【図１８】図１７の状態に続き、データ管理装置２に対してデータ要求Ｒｑがなされた状態を示す図である。
【図１９】図１８の状態に続き、データ管理装置２に対してデータ要求Ｒｑがなされた状態を示す図である。
【図２０】セグメント配置部２４＃２により変更された後のセグメント配置を示す図である。
【図２１】図２０の状態に続き、データ管理装置２に対してデータ要求Ｒｑが複数回なされた状態を示す図である。
【図２２】図２１の状態に続き、データ管理装置２に対してデータ要求Ｒｑがなされた状態を示す図である。
【図２３】データ管理装置２の各ノード１０によって実行される処理の流れを示すフローチャートの一例である。
【図２４】分散型データ管理装置において参考手法による処理が行われる様子を模式的に示す図である。
【図２５】本実施例のデータ管理装置２によってデータＡ、Ｂに対する処理が行われる様子を模式的に示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１０】
＜第１実施例＞
以下、図面を参照し、本発明の第１実施例に係るデータ管理装置、データ管理方法、データ管理プログラム、及び情報処理装置について説明する。
【００１１】
［ハードウエア構成］
図１は、本発明の第１実施例に係るデータ管理装置１のハードウエア構成例である。データ管理装置１は、図示するような態様の非分散型データ管理装置である。データ管理装置１は、例えばＣＰＵ（Central  Processing  Unit）２０と、メモリ装置３０と、記憶装置４０とを備える。また、データ管理装置１は、ネットワーク６０を介して情報処理装置の一例であるクライアントコンピュータ７０に接続されている。
【００１２】
ＣＰＵ２０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有する演算処理装置としてのプロセッサである。
【００１３】
メモリ装置３０は、記憶装置４０に比して高速にアクセス可能な記憶装置である。メモリ装置３０と記憶装置４０の組み合わせとしては、以下のようにＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＨＤＤ（Hard  Disk  Drive）等を組み合わせたものが採用され得る。
・メモリ装置３０：ＲＡＭ            −  記憶装置４０：ＨＤＤ
・メモリ装置３０：ＲＡＭ            −  記憶装置４０：フラッシュメモリ
・メモリ装置３０：ＲＡＭ            −  記憶装置４０：テープ
・メモリ装置３０：ＲＡＭ            −  記憶装置４０：ＤＶＤ
・メモリ装置３０：ＲＡＭ            −  記憶装置４０：ＣＤ
・メモリ装置３０：ＲＡＭ            −  記憶装置４０：Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ
・メモリ装置３０：フラッシュメモリ  −  記憶装置４０：ＨＤＤ
・メモリ装置３０：フラッシュメモリ  −  記憶装置４０：テープ
・メモリ装置３０：フラッシュメモリ  −  記憶装置４０：ＤＶＤ
・メモリ装置３０：フラッシュメモリ  −  記憶装置４０：ＣＤ
・メモリ装置３０：フラッシュメモリ  −  記憶装置４０：Ｂｌｕ−ｒａｙ  Ｄｉｓｃ
記憶装置４０には、データ管理装置１が提供するデータがセグメント単位で記憶されている。セグメントとは、データ要求の履歴により関連性が認められるデータのグループであり、後述するようにＣＰＵ２０の処理によって内容が更新される。
【００１４】
メモリ装置３０は、例えば記憶装置４０に格納されたセグメントのうち高頻度にアクセスされるセグメントが記憶装置４０からコピーされる。これによって、データ管理装置１は、入力されたデータ要求に対して高速にデータを出力することができる。
【００１５】
データ管理装置１は、上記の構成に加えて、ＢＩＯＳを格納したＲＯＭ、プログラムメモリ等を有する。ＣＰＵ２０が実行するプログラムは、ネットワーク６０を介して取得されてもよいし、可搬型メモリがデータ管理装置１に装着されることにより取得されてもよい。
【００１６】
［機能構成］
図２は、本発明の第１実施例に係るデータ管理装置１の機能構成例である。データ管理装置１は、ＣＰＵ２０がプログラムを実行することにより機能する機能部として、入出力管理部２１と、解析要否判断部２２と、関連性解析部２３と、セグメント配置部２４と、を備える。
【００１７】
入出力管理部２１は、クライアントコンピュータ７０等の要求元から入力されたデータ要求に応じてメモリ装置３０及び記憶装置４０を検索し、要求されたデータを要求元に送信する。なお、データ要求は、クライアントコンピュータ７０が送信するだけでなく、データ管理装置１において実行されているプロセスその他の主体がデータ要求の発行元となる場合もあり得る。また、データ管理装置１に入出力装置が接続されていれば、ユーザが入出力装置に対してデータ要求を入力することも想定される。
【００１８】
データ要求が入力されると、入出力管理部２１は、まずメモリ装置３０を検索し、データ要求が指定するデータがメモリ装置３０上に存在する場合に、データをメモリ装置３０から読み出して要求元に返信する。また、入出力管理部２１は、データ要求が指定するデータがメモリ装置３０上に存在しない場合には、記憶装置４０を検索し、データ要求が指定するデータが記憶装置４０上に存在する場合に、データを記憶装置４０から読み出して要求元に返信する。この際に入出力管理部２１は、読み出したデータの属するセグメントを記憶装置４０からメモリ装置３０のセグメント管理庫３０Ａにコピーする。
【００１９】
なお、入出力管理部２１は、記憶装置４０からセグメント管理庫３０Ａへのセグメントのコピーを、データ要求があったデータについて無条件に行ってもよいし、一定期間のアクセス頻度を取得してアクセス頻度が高いセグメントを優先的にコピーしてもよい。
【００２０】
解析要否判断部２２は、データ要求とセグメントの関係に基づいて、関連性解析部２３に関連性の解析を行わせるか否かを決定する。関連性解析部２３は、自ノード及び他ノードのメモリ装置３０に格納された関連性保管庫３０Ｂに、入出力管理部２１に入力されたデータ要求を加えたデータについて関連性を解析し、解析結果に基づいてセグメントの決定を行う。セグメント配置部２４は、関連性解析部２３の決定に従い、セグメントの配置を更新する。解析要否判断部２２、関連性解析部２３、セグメント配置部２４の詳細な処理内容については後述する。
【００２１】
［データ変化の具体例］
以下、セグメント管理庫３０Ａ、及び関連性保管庫３０Ｂに格納されるデータが、入出力管理部２１に入力されたデータ要求に応じて変化する様子について説明する。
【００２２】
図３は、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。図３の状態では、Ｒｅａｄ（Ａ，Ｎｏｎｅ）すなわちデータＡを読み込む要求が入出力管理部２１に対してなされた。
【００２３】
ここで、データ管理装置１に入力されるデータ要求Ｒｑには、同じ要求元が前回のデータ要求で要求した前回データを識別可能な情報が記述されているものとする。この前回データの情報は、例えばクライアントコンピュータ７０が自ら把握してもよいし、データ管理装置１側で要求元毎に把握することもできる。この場合、データ管理装置１は、いずれかのメモリ装置３０やレジスタ等に要求元毎のデータ要求の履歴を保存しておく。
【００２４】
入出力管理部２１は、セグメント管理庫３０ＡからデータＡを読み出して要求元に出力する。
【００２５】
また、入出力管理部２１は、前回データの情報を参照して関連性保管庫３０Ｂを更新する。図３に示す状態では、前回値３０ＣがＮｏｎｅすなわち存在しない状態であるので、入出力管理部２１は、関連性保管庫３０Ｂを更新しない。
【００２６】
図４は、図３の状態に続き、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。本図では、図３と同じ要求元から（以下同様）Ｒｅａｄ（Ｂ，Ａ）すなわちデータＢを読み込む要求がデータ管理装置１に対してなされた。前回データはＡである。
【００２７】
入出力管理部２１は、セグメント管理庫３０ＢからデータＢを読み出して要求元に送信する。
【００２８】
また、入出力管理部２１は、前回データを参照して関連性保管庫３０Ｂを更新する。図４に示す状態では、前回データがＡであるので、入出力管理部２１は関連性保管庫３０Ｂにおける今回データ、すなわちＢの欄に、データＡを示す値を一回分書き込む。
【００２９】
関連性保管庫３０Ｂが更新されると、解析要否判断部２２が、関連性解析部２３による関連性解析が必要か否かを判断する。図４に示す状態では、今回データＢと前回データＡが同じセグメントＳ１に属するため、解析要否判断部２２は関連性解析が不要と判断する。
【００３０】
図５は、図４の状態に続き、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。本図では、Ｒｅａｄ（Ｃ，Ｂ）すなわちデータＣを読み込む要求がデータ管理装置１に対してなされた。前回データはＢである。
【００３１】
入出力管理部２１は、セグメント管理庫３０ＢからデータＣを読み出して要求元に送信する。
【００３２】
また、入出力管理部２１は、前回データを参照して関連性保管庫３０Ｂを更新する。図５に示す状態では、前回データがＢであるので、入出力管理部２１は関連性保管庫３０Ｂにおける今回データ、すなわちＣの欄に、データＢを示す値を一回分書き込む。
【００３３】
関連性保管庫３０Ｂが更新されると、解析要否判断部２２が、関連性解析部２３による関連性解析が必要か否かを判断する。図５に示す状態では、今回データＣと前回データＢが異なるセグメントに属するため、解析要否判断部２２は関連性解析が必要と判断する。
【００３４】
関連性解析部２３は、例えばグラフ分割の手法を用いてデータ間の関連性を解析する。図６は、関連性解析部２３により実行される関連性解析処理の流れを示すフローチャートの一例である。
【００３５】
まず、関連性解析部２３は、今回データの属するセグメントと、前回データの属するセグメントの双方に含まれるデータを全て読み込む（Ｓ１００）。
【００３６】
次に、関連性解析部２３は、読み込んだデータから二つのデータｉ、ｊを取り出してＳ１０２〜Ｓ１０６の処理を行うことを、全てのｉ，ｊの組み合わせ（ｉ≠ｊ）について行う。図中、ｍは、Ｓ１００において読み込んだデータの種類の数である。
【００３７】
関連性解析部２３は、今回対象となるノード（１０＃１、１０＃２）の関連性保管庫３０Ｂに格納されたデータｉ欄の履歴におけるデータｊの数Ｃｉｊ*をカウントする（Ｓ１０２）。
【００３８】
次に、関連性解析部２３は、今回対象となるノードの関連性保管庫３０Ｂに格納されたデータｊ欄の履歴におけるデータｉの数Ｃｊｉ*をカウントする（Ｓ１０４）。
【００３９】
次に、関連性解析部２３は、Ｃｉｊ*とＣｊｉ*を加算してデータｉとｊの関連性を示す指標値Ｃｉｊを算出する（Ｓ１０６）。
【００４０】
関連性解析部２３は、全てのｉ，ｊについてＳ１０２〜Ｓ１０６の処理を行うと、セグメント内の最大データ数（例えば３個）を満たす範囲内で、データ数ｍを分割する全てのセグメントパターンを設定する（Ｓ１０８）。図５の例ではデータの個数が４個であり、最大データ数が３個であるとすると、セグメントパターンは、３：１で分けた場合には４通り、２：２で分けた場合には６通りであるため、全部で１０通りのセグメントパターンが設定される。
【００４１】
次に、関連性解析部２３は、各セグメントパターンを採用した場合に、異なるセグメントに属することになったデータ同士の指標値Ｃｉｊを全て抽出して合計する（Ｓ１１０）。
【００４２】
そして、関連性解析部２３は、異なるセグメントに属することになるデータの組についての指標値Ｃｉｊの合計が最も小さいセグメントパターンを選択し、新たなセグメントを決定する（Ｓ１１２）。
【００４３】
図７は、図５に示す状態において関連性解析部２３がセグメントを変更する前後のセグメント配置を示す図である。図中、矢印の元側が変更前のセグメントを示し、矢印の先側が変更後のセグメントを示す。図中、データＡ、Ｂ等を結ぶ実線の数が指標値Ｃｉｊに相当し、破線がセグメントの境界線を示している。前述した「異なるセグメントに属することになるデータの組についての指標値Ｃｉｊの合計」は、指標値Ｃｉｊを仮想的な結合線の数とみなしたときに、切断される結合線の数に相当する。図７の場合、セグメント｛Ａ、Ｂ、Ｃ｝とセグメント｛Ｄ｝の境界線によって切断される実線の数はゼロであり、このセグメント分けにおける指標値Ｃｉｊの合計はゼロであることが分かる。
【００４４】
関連性解析部２３が新たなセグメントを決定すると、セグメント配置部２４が、データとセグメントの対応付けを変更する。図８は、セグメント配置部２４により変更された後のデータとセグメントの対応付けを示す図である。
【００４５】
図９は、図８の状態に続き、データ管理装置１に対してデータ要求Ｒｑが複数回なされた状態を示す図である。図９に示すデータ要求Ｒｑは、いずれも今回データと前回データが同じセグメントに属するものであるため、関連性保管庫３０Ｂが更新されるのみであり、関連性解析及びデータとセグメントの対応付けの変更は行われない。
【００４６】
図１０は、図９の状態に続き、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。この状態において解析要否判断部２２は、今回データＤと前回データＡが異なるセグメントに属するため、関連性解析が必要と判断する。
【００４７】
図１０の状態では、既にデータＡ、Ｂ、Ｃの間で関連性保管庫に複数の履歴が蓄積されている。従って、Ａ−Ｂ間、Ａ−Ｃ間、Ｂ−Ｃ間の指標値Ｃｉｊは比較的大きく算出され、Ａ−Ｄ間の指標値Ｃｉｊは比較的小さく算出されることになる。この結果、図１１に示すように、関連性解析部２３はデータとセグメントの対応付けを変更しない。図１１は、図１０の状態において関連性解析部２３がセグメントを決定する前後のセグメント配置を示す図である。
【００４８】
［全体処理フロー］
図１２は、データ管理装置１によって実行される処理の流れを示すフローチャートの一例である。本フローチャートは、データ管理装置１に対してデータ要求がなされる度に実行される。
【００４９】
まず、入出力管理部２１が、データ要求が指定するデータをメモリ装置３０又は記憶装置４０から読み出して要求元に送信する（Ｓ２００）。
【００５０】
次に、入出力管理部２１は、データ要求に含まれる前回データを参照して関連性保管庫３０Ｂを更新する（Ｓ２０２）。
【００５１】
関連性保管庫３０Ｂが更新されると、解析要否判断部２２が、関連性解析部２３による関連性解析が必要か否かを判断する（Ｓ２０４）。関連性解析が不要と判断された場合、データ管理装置１は本フローチャートの処理を終了する。
【００５２】
関連性解析が必要と判断されると、関連性解析部２３がデータの関連性を解析する（Ｓ２０６）。
【００５３】
次に、セグメント配置部２４が、関連性解析部２３の解析結果に基づき、データとセグメントの対応付けの変更が必要か否かを判断する（Ｓ２０８）。データとセグメントの対応付けの変更が不要と判断された場合、データ管理装置１は本フローチャートの処理を終了する。
【００５４】
データとセグメントの対応付けの変更が必要と判断すると、セグメント配置部２４は、データとセグメントの対応付けを変更する（Ｓ２１０）。
【００５５】
［参考手法との比較］
以下、本実施例のデータ管理装置１による処理と、セグメント単位でデータを管理しない参考手法による処理との比較について説明する。一般的にＲＡＭやフラッシュメモリ等のメモリ装置３０は、ＨＤＤ等の記憶装置４０に比して高速にアクセスが可能である反面、記憶容量が小さいことが多い。このため、元データを記憶装置４０に記憶させておき、アクセス頻度の高いデータを必要に応じてメモリ装置３０に記憶させて、応答速度を向上させるといった処理が行われ得る。
【００５６】
図１３は、非分散型データ管理装置において参考手法による処理が行われる様子を模式的に示す図である。参考手法では、例えばデータ個数を平準化するために、データのハッシュ値等に基づいてデータの記憶場所が決定される。この結果、データ間の関連性に拘わらずデータが分散配置されるため、参考手法を採用した装置は効率的にデータをメモリ装置３０に記憶させる処理を行うことができない場合がある。図１３に示す例では、データＡ、Ｂが記憶装置４０にのみ記憶されているとすると、データＡのシーク時間Ｔｓとリード時間Ｔｒ、データＢのシーク時間Ｔｓとリード時間Ｔｒがそれぞれ必要となる。この結果、合計で２Ｔｓ＋２Ｔｒの時間が必要となる。シーク時間Ｔｓはメモリ装置３０及び記憶装置４０を検索するのに必要な時間であり、例えば１０［ｍｓｅｃ］程度の固定時間となる。また、リード時間Ｔｒは記憶装置４０からデータを読み出すのに必要な時間であり、例えば１ＭＢあたり１０［ｍｓｅｃ］程度の時間となる。メモリ装置３０からデータを読み出す時間は、これらの時間に比して十分に小さいものである。アクセスがあったデータＡ、Ｂは、クライアントコンピュータ７０に出力された後、メモリ装置３０にコピーされることになるが、今回のデータ要求に関してはデータＡ、Ｂの双方についてシーク時間Ｔｓとリード時間Ｔｒを要することになる。
【００５７】
これに対し、本実施例のデータ管理装置１では、関連性のあるデータＡ、Ｂを同じセグメントとして管理しているため、データＡを記憶装置４０から読み出す際には、データＡ、Ｂが、セグメントごとメモリ装置３０に記憶されることになる。図１４は、本実施例のデータ管理装置１によってデータＡ、Ｂに対する処理が行われる様子を模式的に示す図である。
【００５８】
本実施例の場合、データＡの出力にはシーク時間Ｔｓとリード時間Ｔｒが必要となるが、データＡを出力する際にデータＡ、Ｂを含むセグメントがメモリ装置３０にコピーされるため、データＢの出力にはリード時間Ｔｒに相当する時間が必要とされない。従って、データＡ、Ｂの双方を出力するのに必要な時間は、ほぼ２Ｔｓ＋Ｔｒとなり、参考手法に比して要求されたデータを高速に出力することができる。
【００５９】
［まとめ］
以上説明した本実施例のデータ管理装置、データ管理方法、及びデータ管理プログラムによれば、要求されたデータを高速に出力することができる。
【００６０】
また、以上説明した本実施例の情報処理装置によれば、前回データを識別可能な情報を今回の要求データに付与してデータ管理装置に送信するため、要求したデータをデータ管理装置に高速に出力させることができる。
【００６１】
＜第２実施例＞
以下、図面を参照し、本発明の第２実施例に係るデータ管理装置、データ管理方法、データ管理プログラム、及び情報処理装置について説明する。
【００６２】
［ハードウエア構成］
図１５は、本発明の第２実施例に係るデータ管理装置２のハードウエア構成例である。データ管理装置２は、図示するような態様の分散型データ管理装置である。データ管理装置２は、複数のノード１０＃１、１０＃２、…１０＃ｎを備え、これらのノードは物理スイッチ５０等を介して接続されている。ノードの数には特段の制限は存在しない。物理スイッチ５０と各ノードの間では、例えばＴＣＰ／ＩＰ（Transmission  Control  Protocol／Internet  Protocol）に基づく通信が行われる。物理スイッチ５０には、例えばネットワーク６０を介して情報処理装置の一例であるクライアントコンピュータ７０等が接続される。
【００６３】
ノード１０＃１は、例えばＣＰＵ２０＃１と、メモリ装置３０＃１と、記憶装置４０＃１とを備える。同様に、ノード１０＃２は、例えばＣＰＵ２０＃２と、メモリ装置３０＃２と、記憶装置４０＃２とを備え、ノード１０＃ｎは、例えばＣＰＵ２０＃ｎと、メモリ装置３０＃ｎと、記憶装置４０＃ｎとを備える。
【００６４】
以下、ノードを区別せずに説明するときは、ノードの識別子である＃以下の符号を省略する。
【００６５】
ＣＰＵ２０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ、汎用レジスタ等を有する演算処理装置としてのプロセッサである。
【００６６】
メモリ装置３０は、記憶装置４０に比して高速にアクセス可能な記憶装置である。メモリ装置３０と記憶装置４０の組み合わせとしては、第１実施例と同様、ＲＡＭ、フラッシュメモリ、ＨＤＤ等を組み合わせたものが採用され得る。
【００６７】
記憶装置４０には、データ管理装置２が提供するデータがセグメント単位で記憶されている。セグメントとは、データ要求の履歴により関連性が認められるデータのグループであり、後述するようにＣＰＵ２０の処理によって内容が更新される。
【００６８】
メモリ装置３０は、例えば記憶装置４０に格納されたセグメントのうち高頻度にアクセスされるセグメントが記憶装置４０からコピーされる。これによって、データ管理装置２は、入力されたデータ要求に対して高速にデータを出力することができる。
【００６９】
ノード１０は、上記の構成に加えて、物理スイッチ５０との通信を行うためのＮＩＣ（Network  Interface  Card）、ＢＩＯＳ（Basic  Input/Output  System）を格納したＲＯＭ、プログラムメモリ等を有する。ＣＰＵ２０が実行するプログラムは、ネットワーク６０を介して取得されてもよいし、可搬型メモリがデータ管理装置２に装着されることにより取得されてもよい。
【００７０】
［機能構成］
図１６は、本発明の第２実施例に係るデータ管理装置２の機能構成例である。各ノード１０は、ＣＰＵ２０がプログラムを実行することにより機能する機能部として、入出力管理部２１と、解析要否判断部２２と、関連性解析部２３と、セグメント配置部２４と、を備える。
【００７１】
入出力管理部２１は、物理スイッチ５０から入力されたデータ要求に応じてメモリ装置３０及び記憶装置４０を検索し、要求されたデータを物理スイッチ５０に出力する。データ要求は、例えばクライアントコンピュータ７０からデータ管理装置２に対して送信される。なお、データ要求に関しては、クライアントコンピュータ７０が送信するだけでなく、ノード１０において実行されているプロセスその他の主体がデータ要求の発行元となる場合もあり得る。また、データ管理装置２に入出力装置が接続されていれば、ユーザが入出力装置に対してデータ要求を入力することも想定される。
【００７２】
クライアントコンピュータ７０がデータ管理装置２に対してデータ要求を送信すると、物理スイッチ５０は、例えばブロードキャスト送信によりデータ要求を各ノード１０に転送する。各ノード１０の入出力管理部２１は、まずメモリ装置３０を検索し、データ要求に応じたデータがメモリ装置３０に存在する場合に、データをメモリ装置３０から読み出して物理スイッチ５０に返信する。また、入出力管理部２１は、データ要求に応じたデータがメモリ装置３０に存在しない場合には、記憶装置４０を検索し、データ要求に応じたデータが記憶装置４０に存在する場合に、データを記憶装置４０から読み出して物理スイッチ５０に返信する。物理スイッチ５０は、各ノード１０から受信したデータをクライアントコンピュータ７０に転送する。この際に入出力管理部２１は、読み出したデータの属するセグメントを記憶装置４０からメモリ装置３０のセグメント管理庫３０Ａにコピーする。
【００７３】
なお、入出力管理部２１は、記憶装置４０からセグメント管理庫３０Ａへのセグメントのコピーを、データ要求があったデータについて無条件に行ってもよいし、一定期間のアクセス頻度を取得してアクセス頻度が高いセグメントを優先的にコピーしてもよい。
【００７４】
解析要否判断部２２は、データ要求とセグメントの関係に基づいて、関連性解析部２３に関連性の解析を行わせるか否かを決定する。関連性解析部２３は、自ノード及び他ノードのメモリ装置３０に格納された関連性保管庫３０Ｂに、入出力管理部２１に入力されたデータ要求を加えたデータについて関連性を解析し、解析結果に基づいてセグメントの決定を行う。セグメント配置部２４は、関連性解析部２３の決定に従い、セグメントの配置を更新する。解析要否判断部２２、関連性解析部２３、セグメント配置部２４の詳細な処理内容については後述する。
【００７５】
［データ変化の具体例］
以下、セグメント管理庫３０Ａ、及び関連性保管庫３０Ｂに格納されるデータが、入出力管理部２１に入力されたデータ要求に応じて変化する様子について説明する。
【００７６】
図１７は、データ管理装置２に対してデータ要求Ｒｑがなされた状態を示す図である。ここでは、データＡがノード１０＃１のメモリ装置３０＃１に記憶されているため、ノード１０＃１がデータ要求Ｒｑに応答する。なお、データ管理装置２では、メモリ装置３０＃１に記憶されているデータは記憶装置４０にも記憶されているものとする。いずれのノード１０のメモリ装置３０上にもデータが存在しない場合、該当するデータが記憶装置４０上に存在するノード１０が、データ要求Ｒｑに応答する。
【００７７】
図１７の状態では、Ｒｅａｄ（Ａ，Ｎｏｎｅ）すなわちデータＡを読み込む要求が入出力管理部２１＃１に対してなされた。
【００７８】
ここで、データ管理装置２に入力されるデータ要求Ｒｑには、同じ要求元が前回のデータ要求で要求した前回データ（上記の場合、「Ｎｏｎｅ」すなわち存在しない）を識別可能な情報が記述されているものとする。この前回データの情報は、例えばクライアントコンピュータ７０が自ら把握してもよいし、物理スイッチ５０がポート番号やＩＰアドレス等から要求元を識別し、内部の記憶装置に記憶させておいたものが付与されてもよい。
【００７９】
また、前回データの情報は、データ管理装置２側で要求元毎に把握することもできる。この場合、データ管理装置２は、いずれかのメモリ装置３０やレジスタ等に要求元毎のデータ要求の履歴を保存しておく。
【００８０】
入出力管理部２１＃１は、セグメント管理庫３０Ａ（＃１）からデータＡを読み出して物理スイッチ５０に出力する。
【００８１】
また、入出力管理部２１＃１は、前回データを参照して関連性保管庫３０Ｂ（＃１）を更新する。図１７に示す状態では、前回値３０ＣがＮｏｎｅすなわち存在しない状態であるので、関連性保管庫３０Ｂ（＃１）を更新しない。
【００８２】
図１８は、図１７の状態に続き、データ管理装置１に対してデータ要求Ｒｑがなされた状態を示す図である。本図では、図１７と同じ要求元から（以下同様）Ｒｅａｄ（Ｂ，Ａ）すなわちデータＢを読み込む要求がデータ管理装置２に対してなされた。ここでも、データＢがノード１０＃１のメモリ装置３０＃１に記憶されているため、ノード１０＃１がデータ要求Ｒｑに応答する。前回データはＡである。
【００８３】
入出力管理部２１＃１は、セグメント管理庫３０Ａ（＃１）からデータＢを読み出して物理スイッチ５０に出力する。
【００８４】
また、入出力管理部２１＃１は、前回データを参照して関連性保管庫３０Ｂ（＃１）を更新する。図１８に示す状態では、前回データがＡであるので、入出力管理部２１＃１は関連性保管庫３０Ｂ（＃１）における今回データ、すなわちＢの欄に、データＡを示す値を一回分書き込む。
【００８５】
関連性保管庫３０Ｂ（＃１）が更新されると、解析要否判断部２２＃１が、関連性解析部２３＃１による関連性解析が必要か否かを判断する。図１８に示す状態では、今回データＢと前回データＡが同じセグメントＳ１に属するため、解析要否判断部２２＃１は関連性解析が不要と判断する。
【００８６】
図１９は、図１８の状態に続き、データ管理装置２に対してデータ要求Ｒｑがなされた状態を示す図である。本図では、Ｒｅａｄ（Ｃ，Ｂ）すなわちデータＣを読み込む要求がデータ管理装置２に対してなされた。ここでは、データＣがノード１０＃２のメモリ装置３０＃２に記憶されているため、ノード１０＃２がデータ要求Ｒｑに応答する。前回データはＢである。
【００８７】
入出力管理部２１＃２は、セグメント管理庫３０Ｂ（＃２）からデータＣを読み出して物理スイッチ５０に出力する。
【００８８】
また、入出力管理部２１＃２は、前回データを参照して関連性保管庫３０Ｂ（＃２）を更新する。図１８に示す状態では、前回データがＢであるので、入出力管理部２１＃２は関連性保管庫３０Ｂ（＃２）における今回データ、すなわちＣの欄に、データＢを示す値を一回分書き込む。
【００８９】
関連性保管庫３０Ｂ（＃２）が更新されると、解析要否判断部２２＃２が、関連性解析部２３＃２による関連性解析が必要か否かを判断する。図１９に示す状態では、今回データＣと前回データＢが異なるセグメントに属するため、解析要否判断部２２＃２は関連性解析が必要と判断する。
【００９０】
関連性解析部２３＃２は、例えばグラフ分割の手法を用いてデータ間の関連性を解析する。関連性解析部２３＃２による関連性解析については第１実施例と同様であるため、図６を参照することとし、説明を省略する。また、図１９に示す状態からの解析結果についても図７に示すものと同様になるため、説明を省略する。
【００９１】
関連性解析部２３＃２が新たなセグメントを決定すると、セグメント配置部２４＃２が、同一のセグメントに属するデータが同一のメモリ装置３０に記憶されるように、セグメントの配置を変更する。図１９に示す状態から、セグメント配置部２４＃２は、セグメント｛Ａ、Ｂ、Ｃ｝とセグメント｛Ｄ｝のそれぞれが一まとまりとして各ノード１０のセグメント管理庫３０Ａに記憶されるようにセグメント配置を変更する。図２０は、セグメント配置部２４＃２により変更された後のセグメント配置を示す図である。なお、セグメント配置部２４＃２は、セグメント配置の変更に伴い、関連性保管庫３０Ｂ＃２に記憶されたデータＣの履歴を関連性保管庫３０Ｂ＃１に移動させる。セグメント配置部２４＃２は、これらの変更・移動を実行するように、ノード１０＃１に要求信号及びデータを送信する。
【００９２】
セグメント配置部２４は、上記「同一のセグメントに属するデータが同一のメモリ装置３０に記憶される」という規則に従いつつ、セグメントを自ノードのメモリ装置３０に記憶させるか、他ノードのメモリ装置３０に記憶させるかを任意に決定することができる。従って、セグメント配置部２４は、例えば各ノード１０のメモリ装置３０の空き容量等を考慮してセグメントの配置を適切に決定する。
【００９３】
また、セグメント配置部２４は、メモリ装置３０におけるセグメントの配置を変更すると、記憶装置４０におけるセグメントの配置も併せて変更する。図２０に示す状態では、セグメント配置部２４は、データＣが記憶装置４０＃１上のセグメントＳ１に格納されるように、ノード１０＃１に要求信号及びデータを送信する。係る処理を行うのは、ノード１０＃１においてセグメントＳ１のアクセス頻度が低下したときに、メモリ装置３０＃１からセグメントＳ１が削除され、記憶装置４０＃１上にのみ存在することになる場面があり得るからである。一方、メモリ装置３０＃２におけるデータＣが記憶された領域は、上書き可能なフラグ等を設定し、実質的に解放状態とされる。
【００９４】
図２１は、図２０の状態に続き、データ管理装置２に対してデータ要求Ｒｑが複数回なされた状態を示す図である。図２１に示すデータ要求Ｒｑは、いずれも今回データと前回データが同じセグメントに属するものであるため、関連性保管庫３０Ｂ（＃１）が更新されるのみであり、関連性解析及びセグメント配置の変更は行われない。
【００９５】
図２２は、図２１の状態に続き、データ管理装置２に対してデータ要求Ｒｑがなされた状態を示す図である。この状態において解析要否判断部２２＃２は、今回データＤと前回データＡが異なるセグメントに属するため、関連性解析が必要と判断する。
【００９６】
図２２の状態では、既にデータＡ、Ｂ、Ｃの間で関連性保管庫３０Ｂ（＃１）に複数の履歴が蓄積されている。従って、Ａ−Ｂ間、Ａ−Ｃ間、Ｂ−Ｃ間の指標値Ｃｉｊは比較的大きく算出され、Ａ−Ｄ間の指標値Ｃｉｊは比較的小さく算出されることになる。この結果、第１実施例の図１１で示したように、セグメントの境界線によって切断される結合線の数が最も少ないセグメント配置は、関連性解析部２３＃２が解析を行う前の｛Ａ，Ｂ，Ｃ｝−｛Ｄ｝から変化せず、関連性解析部２３＃２はセグメントを変更しない。
【００９７】
［全体処理フロー］
図２３は、各ノード１０によって実行される処理の流れを示すフローチャートの一例である。本フローチャートは、ノード１０に対してデータ要求がなされる度に実行される。
【００９８】
まず、入出力管理部２１が、データ要求が指定するデータ（上記の説明では今回データ）が自ノードのメモリ装置３０又は記憶装置４０に記憶されているか否かを判定する（Ｓ３００）。データ要求が指定するデータが自ノードのメモリ装置３０又は記憶装置４０に記憶されていない場合、当該ノード１０は本フローチャートの処理を終了する。
【００９９】
データ要求が指定するデータが自ノードのメモリ装置３０又は記憶装置４０に記憶されている場合、入出力管理部２１は、データ要求が指定するデータをメモリ装置３０又は記憶装置４０から読み出して物理スイッチ５０に出力する（Ｓ３０２）。
【０１００】
次に、入出力管理部２１は、データ要求に含まれる前回データを参照して関連性保管庫３０Ｂを更新する（Ｓ３０４）。
【０１０１】
関連性保管庫３０Ｂが更新されると、解析要否判断部２２が、関連性解析部２３による関連性解析が必要か否かを判断する（Ｓ３０６）。関連性解析が不要と判断された場合、当該ノード１０は本フローチャートの処理を終了する。
【０１０２】
関連性解析が必要と判断されると、関連性解析部２３がデータの関連性を解析する（Ｓ３０８）。
【０１０３】
次に、セグメント配置部２４が、関連性解析部２３の解析結果に基づき、セグメント配置の変更が必要か否かを判断する（Ｓ３１０）。セグメント配置の変更が不要と判断された場合、当該ノード１０は本フローチャートの処理を終了する。
【０１０４】
セグメント配置の変更が必要と判断すると、セグメント配置部２４は、同一のセグメントに属するデータが同一のメモリ装置３０に記憶されるように、セグメントの配置を変更する（Ｓ３１２）。また、セグメント配置部２４は、関連性保管庫３０Ｂに格納されたデータをセグメント配置の変更に伴って移動させる（Ｓ３１４）。
【０１０５】
［参考手法との比較］
以下、本実施例のデータ管理装置２による処理と、セグメント単位でデータを管理しない参考手法による処理との比較について説明する。一般的にＲＡＭやフラッシュメモリ等のメモリ装置３０は、ＨＤＤ等の記憶装置４０に比して高速にアクセスが可能である反面、記憶容量が小さいことが多い。このため、元データを記憶装置４０に記憶させておき、アクセス頻度の高いデータを必要に応じてメモリ装置３０に記憶させて、応答速度を向上させるといった処理が行われ得る。
【０１０６】
図２４は、分散型データ管理装置において参考手法による処理が行われる様子を模式的に示す図である。参考手法では、例えばデータ個数を平準化するために、データのハッシュ値等に基づいてデータの記憶場所が決定される。この結果、データ間の関連性に拘わらずデータが分散配置されるため、参考手法を採用した装置は効率的にデータをメモリ装置３０に記憶させる処理を行うことができない場合がある。図２４に示す例では、データＡ、Ｂがそれぞれ記憶装置４０＃１、４０＃２にのみ記憶されているとすると、データＡのシーク時間Ｔｓとリード時間Ｔｒ、データＢのシーク時間Ｔｓとリード時間Ｔｒがそれぞれ必要となる。この結果、合計で２Ｔｓ＋２Ｔｒの時間が必要となる。シーク時間Ｔｓはメモリ装置３０及び記憶装置４０を検索するのに必要な時間であり、例えば１０［ｍｓｅｃ］程度の固定時間となる。また、リード時間Ｔｒは記憶装置４０からデータを読み出すのに必要な時間であり、例えば１ＭＢあたり１０［ｍｓｅｃ］程度の時間となる。メモリ装置３０からデータを読み出す時間は、これらの時間に比して十分に小さいものである。アクセスがあったデータＡ、Ｂは、クライアントコンピュータ７０に出力された後、メモリ装置３０にコピーされることになるが、今回のデータ要求に関してはデータＡ、Ｂの双方についてシーク時間Ｔｓとリード時間Ｔｒを要することになる。
【０１０７】
これに対し、本実施例のデータ管理装置２では、関連性のあるデータＡ、Ｂを同じセグメントとして管理しているため、データＡを記憶装置４０から読み出す際には、データＡ、Ｂが、セグメントごとメモリ装置３０に記憶されることになる。図２５は、本実施例のデータ管理装置２によってデータＡ、Ｂに対する処理が行われる様子を模式的に示す図である。
【０１０８】
本実施例の場合、データＡの出力にはシーク時間Ｔｓとリード時間Ｔｒが必要となるが、データＡを出力する際にデータＡ、Ｂを含むセグメントがメモリ装置３０にコピーされるため、データＢの出力にはリード時間Ｔｒに相当する時間が必要とされない。従って、データＡ、Ｂの双方を出力するのに必要な時間は、ほぼ２Ｔｓ＋Ｔｒとなり、参考手法に比して要求されたデータを高速に出力することができる。
【０１０９】
［まとめ］
以上説明した本実施例のデータ管理装置、データ管理方法、及びデータ管理プログラムによれば、要求されたデータを高速に出力することができる。
【０１１０】
また、以上説明した本実施例の情報処理装置によれば、前回データを識別可能な情報を今回の要求データに付与してデータ管理装置に送信するため、要求したデータをデータ管理装置に高速に出力させることができる。
【０１１１】
＜その他＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１１２】
例えば、上記各実施例では、関連性解析部２３によるデータ間の関連性解析は、データ要求の連続性にのみ着目して行うことを例示したが、これに限定されるものではない。例えば、関連性解析部２３は、データ要求の時間的間隔を把握し、例えば時間的間隔の逆数を乗じた履歴数をカウントする等、短時間で連続して要求されたデータ間について指標値Ｃｉｊを大きく算出するようなロジックを採用してもよい。こうすれば、関連性解析部２３が、より正確にデータ間の関連性を解析することができる。また、同様の理由により、前回のデータ要求から一定時間経過した場合は関連性保管庫３０Ｂに追加しない、クライアントコンピュータ７０がシャットダウンされた前後のデータ要求については関連性保管庫３０Ｂに追加しない等の例外的な処理が行われてよい。
【０１１３】
また、関連性解析部２３は、グラフ構造のデータを扱う場合、リンク元やリンク先に相当するデータを関連性があるものとして扱ってもよい。
【０１１４】
また、記憶装置４０に記憶されたデータは、セグメント単位で管理されるものとしたが、単体で記憶されるデータも存在して構わない。
【産業上の利用可能性】
【０１１５】
本発明は、データ提供サービス産業、コンピュータ製造産業、コンピュータソフトウエア産業等に利用することができる。
【符号の説明】
【０１１６】
１、２  データ管理装置
１０    ノード
２０    ＣＰＵ
２１    入出力管理部
２２    解析要否判断部
２３    関連性解析部
２４    セグメント配置部
３０    メモリ装置
３０Ａ  セグメント管理庫
３０Ｂ  関連性保管庫
４０  記憶装置
５０  物理スイッチ
６０  ネットワーク
７０  クライアントコンピュータ
【図１】
0005958474.tif 000002
【図２】
0005958474.tif 000003
【図３】
0005958474.tif 000004
【図４】
0005958474.tif 000005
【図５】
0005958474.tif 000006
【図６】
0005958474.tif 000007
【図７】
0005958474.tif 000008
【図８】
0005958474.tif 000009
【図９】
0005958474.tif 000010
【図１０】
0005958474.tif 000011
【図１１】
0005958474.tif 000012
【図１２】
0005958474.tif 000013
【図１３】
0005958474.tif 000014
【図１４】
0005958474.tif 000015
【図１５】
0005958474.tif 000016
【図１６】
0005958474.tif 000017
【図１７】
0005958474.tif 000018
【図１８】
0005958474.tif 000019
【図１９】
0005958474.tif 000020
【図２０】
0005958474.tif 000021
【図２１】
0005958474.tif 000022
【図２２】
0005958474.tif 000023
【図２３】
0005958474.tif 000024
【図２４】
0005958474.tif 000025
【図２５】
0005958474.tif 000026