JP5488587B2 - 情報処理システムと方法 - Google Patents

情報処理システムと方法 Download PDF

Info

Publication number
JP5488587B2
JP5488587B2 JP2011502785A JP2011502785A JP5488587B2 JP 5488587 B2 JP5488587 B2 JP 5488587B2 JP 2011502785 A JP2011502785 A JP 2011502785A JP 2011502785 A JP2011502785 A JP 2011502785A JP 5488587 B2 JP5488587 B2 JP 5488587B2
Authority
JP
Japan
Prior art keywords
information
data
information storage
processing
format
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.)
Active
Application number
JP2011502785A
Other languages
English (en)
Other versions
JPWO2010101189A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011502785A priority Critical patent/JP5488587B2/ja
Publication of JPWO2010101189A1 publication Critical patent/JPWO2010101189A1/ja
Application granted granted Critical
Publication of JP5488587B2 publication Critical patent/JP5488587B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

[関連出願の記載]
本発明は、日本国特許出願:特願2009−053587号(2009年3月6日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、情報処理技術に関し、特に、情報格納形式を変更するシステムと方法に関する。
近年、処理対象とされる情報量は増大し続け、これらを格納するシステムや、格納されている情報を利用して処理を行うシステムの必要性が増加している。
<メタ情報の定義>
このようなシステムに格納する情報(データ)は、次の2つに分けて考えることが出来る。
情報(データ)本体と、情報(データ)についての情報(データ)、すなわちメタ情報(メタデータ)である。
一般的なメタ情報の例としては、
・オフィス文書の著者名や作成日時、
・図書館における書誌情報
等が挙げられる。
また、情報格納システムの一例であるファイルシステムソフトウェアであれば、
・ファイルの存在場所を示すファイルパス、
・ファイルの所有者を示すユーザやアクセスタイム
等がメタ情報の例といえる。
本書では、これらのメタ情報として一般的な例の他に、情報自体から抽出又は作成/加工することで得られる情報についてもメタ情報として扱うこととする。この種の情報自体から得れるメタ情報の例として、情報検索システムにおけるインデックスの為の情報(文書から抽出された索引語とその出現位置、出現箇所、またその他の情報から演算されるスコア情報等)が挙げられる。
また、情報を格納するシステムで、データを管理するために必要な情報も、情報についての情報としてメタ情報として扱われる。
例えば、ファイルシステム等において、
・ファイルの記録場所を示す情報、
・アクセスコントロールのための情報
等が挙げられる。
このように、これらのメタ情報は、ユーザが利用・参照するだけではなく、情報格納システム自体も利用する。
そのため、性能を維持するため等の理由で、情報本体とは別の方法で管理・格納されていることが多い。
従来の情報格納システムの一例として、特許文献1には、記録媒体とCPUを含んだ処理装置をネットワークを介して複数接続し、それらが互いに連動しながら並列計算処理を実行する並列計算システムに関し、特に、その中でも、複数の処理装置の記録媒体にそれぞれ記録された複数のデータファイルを管理するデータ管理システムに関する。当該サーバ装置は、複数の処理装置に記録された複数のデータファイルのそれぞれに対して、パス情報を含んだ管理ファイルを生成し保持することによって、ユーザまたはプログラムに対して各処理装置に存在するデータファイルへのアクセスを可能にしている。
また、非特許文献1に記載の技術でも、同様に、メタデータとしてファイル名からチャンクの存在箇所を格納する管理サーバを用意している。非特許文献1には、高速化のために、メタデータを半導体メモリ上に格納する構成が開示されている。
一般に、半導体メモリは容量が磁気ディスク等の記憶装置と比較して小さいため、メタデータとして格納する情報としては、ファイルのディレクトリーツリーの情報や、チャンクの存在箇所等の限られたメタ情報に制限されている。
特開2005−63214号公報
Sanjay Ghemawat, Howard Gobioff, and Shun−Tak Leung, The Google File System, 19th ACM Symposium on Operating Systems Principles, LakeGeorge, NY, October, 2003.
以下の分析は、本発明によって与えられたものである。
以下に本発明による関連技術の分析を与える。
メタデータ管理サーバで管理する情報は、サーバのシステム設計時に決定される。このため、メタ情報の利用は、システム設計時に想定した用途に制限される。
特許文献1や非特許文献1に記載されている情報システムにおいては、ファイル内の情報に対してアクセスするためには、必ず、管理ファイル(又は管理サーバ)へアクセスし、実体のファイル情報が格納されている場所を明らかにして、その後に、実体のファイル情報へアクセスしなければならない。
しかしながら、実体のファイル情報全体へのアクセスを必ずしも必要としない処理が、システムの利用時に起こる可能性がある。例えば、任意の指定されたファイルの容量を調査する例について考える。
メタ情報として各ファイルの容量が記録されるように、システム設計を行うことで、ファイルの容量の調査を、メタ情報へのアクセスによって実現することができる。
しかし、このような処理(ファイルの容量の調査)があまり起きないという前提で設計されたシステムにおいては、メタ情報としてファイル容量を管理することはない。このため、この情報システムにおいて、ファイルの容量を調査する場合、ファイルの実体にアクセスしてファイル容量を調査しなければならない。
上記の如く、システムの設計時点で情報格納形式が決定される場合、情報格納形式がその情報が実際に利用される形態に適したものになっていないことがある。
したがって、本発明の目的は、情報格納形式をデータの利用形態に適した形式に変更自在な情報処理システム、方法を提供することにある。
本発明によれば、互いに異なる複数の情報格納形式に対応可能とされ、データを前記データに対応する情報格納形式で格納する情報格納手段と、データに対する情報処理の履歴を記憶する処理履歴記憶手段と、前記処理履歴記憶手段に記憶された処理履歴の情報に基づき、データの情報格納形式を制御する情報格納形式制御手段と、を備えたシステムが提供される。
本発明によれば、互いに異なる複数の情報格納形式に対応可能とされる情報格納手段が、データを前記データに対応する情報格納形式で格納し、
データに対する情報処理の履歴を処理履歴記憶手段に記憶し、
前記処理履歴記憶手段に記憶された処理履歴の情報に基づき、データの情報格納形式を変更する方法が提供される。
本発明によれば、互いに異なる複数の情報格納形式に対応可能とされる情報格納手段により、データを前記データに対応する情報格納形式で格納する処理と、
データに対する情報処理の履歴を処理履歴記憶手段に記憶する処理と、
前記処理履歴記憶手段に記憶された処理履歴の情報に基づき、データの情報格納形式を変更する処理と、をコンピュータに実行させるプログラムが提供される。
本発明によれば、情報格納形式をデータの利用形態に適した形式に変更することを可能としている。
本発明の第1の実施の形態の構成を示す図である。 本発明の第1の実施の形態における処理履歴記憶手段の構成を示す図である。 本発明の第1の実施の形態の動作を示す流れ図である。 本発明の第1の実施の形態の流れを示す流れ図である。 本発明の第1の実施の形態の動作を示す流れ図である。 本発明の第2実施の形態の構成を示す図である。 本発明の第1の実施の形態における処理履歴記録内容の一例を示す図である。 本発明の第1の実施の形態における情報格納形式記憶部の内容の一例を示す図である。 本発明の第1の実施の形態における情報格納形式記憶部の内容の一例を示す図である。 本発明の第1の実施の形態における情報格納形式記憶部の内容の一例を示す図である。
本発明の実施の形態について説明する。はじめに、本願で扱う情報格納形式について説明しておく。なお、以下に説明する情報格納形式は、あくまで、後述する実施例の理解を容易とするためのものであり、本発明を制限するためのものと解すべきでないことは勿論である。
情報格納形式は、任意のデータを記録する際の記録媒体(例えば磁気ディスク(HDD)、半導体メモリ、SSD(ソリッドステートディスク)など)、記録フォーマット、記録のための手順、およびソフトウェアの少なくとも1つ又は組み合せをいう。ソフトウェアとしては、ファイルシステム、データベース、検索エンジン等が挙げられる。異なる情報格納形式とは、これらのうち少なくとも1つが異なることをいう。例えば、データをデータベースで保持する場合と、データをファイルで保持する場合とでは情報格納形式が互いに異なる。
以下では、オフィス向けの文書ドキュメントファイルを例に挙げて説明する。この文書ドキュメントファイルのデータを保持する方法として、本発明を特に制限するものではないが、例えば下記のような形式がある。
(A1)MicrosoftWord(登録商標)等に代表されるような文書を扱うアプリケーション向けのバイナリ形式ファイル。
(A2)文書内の文字列を抽出したテキストファイル。
(A3)構造情報を共に保持するhtml形式やxml形式のテキストファイル。
(A4)データベースのレコード(例えば、各メタ情報をデータベースの各フィールドに格納し、文書中身のデータをBLOB(Binary Large OBject)形式のフィールドに格納する)。
(A5)検索エンジンのインデックス。
例えば文書内の文字列を単語などで分割し、文書内の単語の出現回数や出現位置を検索エンジンの転置ファイル形式で格納する。
これらは、いずれも、情報格納形式の一例であり、同一の情報と同等か任意の一部を元の形式とは別の形式で格納することを「情報格納形式の変換」と呼ぶ。また、他の例として、C言語の構造体のような、複数のデータの組み合わせからなるデータを挙げる。
Parameter1 int[] = {1,2,3,4,5,3,6,23,10}
Parameter2 string = "name"
Parameter3 int = 8;
Parameter4 int = 1;
Parameter5 int = 3;
...
(なお、intは整数型、stringは文字列を表す)
上記のような複数のデータを1つのデータとして保持する方法として、幾つかの方法がある。本発明を特に制限するものではないが、例えば、次のような形式がある。
(B1)数値を予め定められたフォーマットで格納する(例えば、12345362310name813、という内容が記録されたファイル)。
(B2)1つ目の配列を予めソートした状態のフォーマットで格納する(例えば23106543321name813,といった内容が記録されたファイル)。
(B3)1つ目の配列を合計した数値を共に記録する(例えば57, 12345362310name813)。
(B4)データベースのレコードとして記録する。例えばParameter1〜5のフィールドがあり、それぞれに分けて全体の1レコードとして記録する。あるいは、例えばParameter1の配列要素1つずつを別のレコードとして保持し、他のフィールドは上と同様に格納することで、全体で9個のレコードとして記録する。
(B5)一部のデータだけ別の形式で記録する。例えばParameter2だけデータベースに格納し、他のデータを前述したようなファイル形式として格納する。
上記の如く、様々なバリエーション(変形例)が存在するのは、そのデータの利用のされ方によって、適切な保存形態が存在するためである。
例えば、1つ目の配列に対してアクセスする際に、合計値を必要とするケースが多ければ、一番目の(B1)の形式よりも、三番目の(B3)の形式のほうが効率的といえる。
また、複数のデータを参照して、Parameter3に5より大きく、Parameter4に2より小さい値が入っているデータに対して処理をする、という場合には、データベースのレコードとして記録することが効率的であると言える。
また、Parameter2に入っている文字列が条件を満たしたデータに対して処理を行う場合には、Parameter2だけをデータベースに保持して、他のデータの格納先を共に記録するような形式のほうが適切な場合がある。
そこで、本発明においては、後述される実施の形態(第2の実施の形態)において、Parameter2を、情報格納形式記録部(22)に格納し、それ以外のデータを、情報記憶部(6)に格納している。
本発明は、様々な方法が混在するデータの保持形式を、アプリケーションによるデータの利用形態に応じて、適切な形に変換して効率的なシステムを提供するものである。システム設計時点でデータの利用のされ方が分かっていれば、比較的容易に効率化されたシステムを提供することが出来る。システムの設計時点でデータの利用のされ方が不明であるか、あるいは、システムの設計時点とは利用形態が変わってしまう場合、情報格納形式が実際の利用形態に適したものになっていないことがある。
そこで、本発明は、システムの設計時点でデータの利用のされ方が不明であるか、あるいは、システムの設計時点とは当該データの利用形態が変わってしまう場合にも、対応可能としたシステムを提供するものである。
<実施形態1>
図1は、本発明の第1の実施の形態の構成を示す図である。図1を参照すると、本発明の第1の実施の形態のシステムは、情報処理手段1と、情報アクセス手段2と、処理履歴記憶手段3と、情報格納手段4〜5と、情報記憶部6〜7と、情報格納形式制御手段8と、を備えている。図1において、情報格納手段4、5、情報記憶部6、7を2つ備えた構成とされるが、情報格納手段、情報記憶部の個数はいずれも2つに制限されるものでないことは勿論であり、任意としてよい。
情報処理手段1は、情報記憶部6、7に格納されているデータ(情報)を用いて行う演算処理、又は処理結果を情報記憶部6、7に格納する演算処理を実現するソフトウェア(プログラム)を含む。具体的には、情報処理手段1は、任意のプログラミング言語で記述されたロジック(ソースコード)を実行する環境である。処理履歴記憶手段3への情報に対する処理履歴の記録を実現することができるものであれば、任意のOS(Operating System)上で動作する実行バイナリであってもよいし、情報処理手段1内でソースコードをコンパイルして実行バイナリを生成してもよい。
また、ソースコードを情報処理手段1でコンパイルする際(またはそれ以前に)、処理履歴記憶手段3への記録機能を持つよう変換しても良い。
情報アクセス手段2は、情報アクセス送受信手段20と、アクセス先特定手段21と、情報格納形式記憶部22と、を備え、情報処理手段1による情報記憶部6、7に対する読み出し又は書き出しの機能を提供する。
情報アクセス送受信手段20は、情報処理手段1による任意の情報(データ)へのアクセス要求を受け付け、また結果を応答する。
アクセス先特定手段21は、情報処理手段1が指定するデータ(情報)が、情報記憶部6、7のどこに格納されているかを判断し、格納先の情報格納手段に対してアクセス要求を発行する。
情報処理手段1が指定するデータ(情報)が、情報記憶部6、7のいずれに格納されているか否かを、アクセス先特定手段21で判断するための情報(メタ情報)は、情報格納形式記憶部22に記憶保持されている。
情報格納形式記憶部22は、単数のデータ(情報)又は複数のデータ群(情報群)が、どの情報記憶部に存在するか、についての情報(メタ情報)を記憶する。
情報格納形式記憶部22は、例えば、分散ファイルシステムにおけるメタサーバとして構成され、記憶装置及び該記憶装置を該サーバとして機能させるソフトウェアによって実現される。情報格納形式記憶部22は、具体的には、非特許文献1に記載されるデータ管理システム等で実現される。情報格納形式記憶部22を実現するソフトウェアとしては、任意の手法で実現してよいが、高速な検索性能、応答性能が求められるため、本実施の形態では、データベース・ソフトウェアや検索エンジン・ソフトウェアが用いられる。情報格納形式記憶部22の記憶装置は、磁気ディスク装置や半導体メモリ装置等を用いる。
処理履歴記憶手段3は、情報処理手段1によって行われた情報に対するアクセスの履歴を記録する。
処理履歴記憶手段3において、このアクセスの履歴は、
・ファイルに順次追記していくログファイル形式で保持してもよいし、あるいは、
・任意の形式でデータベースとして保持してもよい。
処理履歴記憶手段3は、
・情報処理手段1によってアクセスされた情報を特定する情報(例えばデータのユニークなIDや、ファイルパスに相当する情報等が当てはまる)と、
・該情報に対して行われた処理の内容(種類)と
を少なくとも記録する。
該情報に対して行われた処理の内容(種類)としては、例えば、
・リードに類する処理であることを示す情報、
・ライトに類する処理であることを示す情報、
・プログラム内で呼び出された関数名(メソッド名)を示す情報、
・アクセスの特性を示す情報(例えばランダムアクセス、シーケンシャルアクセス、新規作成、更新処理等)、
が挙げられる。
また、処理履歴記憶手段3には、単にアクセスされた、ということだけを記録しても良い。これらのいずれかの任意の情報を処理履歴記憶手段3に対して格納する。
また、処理履歴記憶手段3に対して格納される情報は途中で消去(又は削除)しても良い。例えば、一定サイズを超えたら古い情報を消去するよう動作してもよいし、後述する情報形式の変更処理が行われたらその情報に対する履歴を消去しても良い。
情報格納手段4、5は、それぞれ情報記憶部6、7に対して情報の読み出しおよび書き出しを行うソフトウェアを含む。情報格納手段4、5は、それぞれの情報記憶部6、7に対して、異なる手法で情報の読み出しおよび書き出しを行う。
具体例として、例えば、
情報格納手段4は、ファイルシステム・ソフトウェア、
情報格納手段5は、データベース・ソフトウェア、
をそれぞれ含む。
また、情報格納手段4、5は、ファイルシステム・ソフトウェアや、データベース・ソフトウェア等を用いて、情報の読み出しおよび書き出し機能を実装したソフトウェアを含むものであってもよい。また、それぞれの情報格納手段4、5単独で、任意の情報に対して複数の情報格納形態を備えても良い。例えば、データベース・ソフトウェアの場合では、同じ情報に対して、異なるスキーマによって格納する。また、ファイルシステムの場合においても、オフィス文書アプリケーション向けのバイナリ・ファイルとして格納する場合と、テキスト部分を抽出してテキスト・ファイルとして格納することを使い分けたり、テキスト・ファイルであっても、内部の格納順序を変更したり(例えば、先頭文字列でソートする)することが当てはまる。
また、任意の複数の情報を単一のファイルやデータベーステーブル等に格納することと、それぞれ情報単独で別のファイルやデータベーステーブルとして格納することも、本発明における情報格納形式の使い分けに該当する。
情報記憶部6、7は、情報の実記憶部として動作する。情報記憶部6、7は、磁気記憶装置等の任意の記憶素子を備えた任意の数の装置が用いられる。情報記憶部6、7は、更に具体的には、ディスクアレイ装置や、演算装置を備えファイルシステムが動作するファイルサーバ、半導体メモリを利用した記憶装置等が用いられる。情報格納手段と情報記憶部の構成を変更してもよい。
図1に示す例では、情報格納手段4と情報記憶部6、情報格納手段5と情報記憶部7という組み合わせとされているが、本発明はこのような構成に限定されるものではないことは勿論である。情報記憶部6、7は、同じ装置又はシステムとして実現し、複数の情報格納手段によって共有されてもよい。
また、逆に、複数の情報記憶部を単一の情報格納手段が利用する形となってもよい。情報格納形式記憶部22と情報記憶部6、7の同一としてもよい。また、任意の情報記憶部を情報格納形式記憶部22と同一のものとして扱っても良い。つまり、情報格納形式記憶部22に格納される情報を、情報記憶部6、7内に格納してもよい。また、処理履歴記憶手段3の記録内容を、情報記憶部6、7に格納してもよいし、情報格納形式記憶部22に格納しても良い。
情報格納形式制御手段8は、処理履歴記憶手段3に記述された履歴情報を用いて、任意の情報に対する情報格納形式の変更を行う。つまり、情報格納形式制御手段8は、情報格納手段4によって格納されていた情報に対して、情報格納手段5によって格納するように変換する役割を果たす。また、情報格納形式制御手段8は、情報に対して情報格納形式を変更する条件を記録する記憶手段を備えていてもよい。
図2は、図1の処理履歴記憶手段3の構成例を示す図である。図2を参照すると、処理履歴記憶手段3は、情報受付手段32と、情報記録手段33と、記録媒体31を備えている。
情報受付手段32は、情報処理手段1から
・情報処理手段1が行う演算の種類、および、
・該演算に利用するデータを特定するための情報の種類
を受ける。
前述したように、情報処理手段1が行う演算の種類を示す情報の例として例えば次のものがあげられる。
(C1)アクセスすることを示す情報。
(C2)リードに類する処理であることを示す情報(Read)。
(C3)ライトに類する処理であることを示す情報(Write)。
(C4)アクセスの特性を示す情報(例えば、
ランダムアクセス(Random-Read、Random-Write)、
シーケンシャルアクセス(Sequential-Write、Sequential-Read)、
新規作成(Create)、
更新処理(Update)等)。
(C5)プログラム内で呼び出された関数名(メソッド名)を示す情報(例えば、
Class#methodname, sort, join, ...、あるいは、fopen, ・・等)。
これらの情報を用いて、情報格納形式制御手段8は、情報格納形式の変更を行うか否か、また変更の種類について判断する。記録する情報の粒度については、本発明を実現するシステムが任意に設定して良い。ただし、情報格納形式制御手段8が行う判断に必要とする情報にとって十分な精度が必要である。
例えば、アクセスがリードであるかライトであるか、その回数、頻度だけによって形式変更の判断を行う場合には、例(C2)、(C3)の情報で十分である。より細かい精度の情報を利用する場合には、例(C5)に挙げたような、プログラム内での呼ばれ方やメソッド名までを記録する必要がある。
情報処理手段1が行う演算に利用するデータを特定するための情報(この情報は情報受付手段32で利用される)の例としては、本発明を特に制限するものでないが、下記のものがある。
(D1)データのファイルパス(例えば /home/user/~~~.dat 等)。
(D2)データのファイルパスおよびデータが格納されているホスト名(IPアドレス)(例えば、 /home/user/~~~.dat, host1.abc.com、 IPアドレス:10.**.**.**等)。
(D3)データのID(データを特定するためのID情報:例えば、120321)。
(D4)データのハッシュ値(例えば、5a579238e591f8b95569613f8cdc5b26)。
(D5)データのメタ情報 (例えばデータの所有者=○○、作成日時=YY/MM/DD/hh/mm等)。
これらの情報から、当該データの配置場所(どの情報記憶部(情報格納手段4、5))に格納されているかを、情報格納形式制御手段8が特定することが出来る必要がある。
例えば、演算に利用するデータを特定するための情報が、「データのファイルパスおよびデータが格納されているホスト名(IPアドレス)」である場合、処理履歴記憶手段3に格納されている情報によってデータの配置場所を特定できる。
また、情報格納形式制御手段8が情報アクセス手段2に問い合わせることによりデータの配置場所を特定するようにしてもよい(情報格納形式記憶部22の保持する情報と合わせて解決する)。
例えば、「データのファイルパス」や「データのID」、「データのハッシュ値」であれば、情報アクセス手段2が「データのファイルパス」や「データのID」、「データのハッシュ値」などの情報からデータの配置場所を応答する機能を具備していれば、情報アクセス手段2に問い合わせることにより、データの配置場所を特定できる。同様に、「メタ情報」から問い合わせて、データの配置場所を特定するようにしてもよい。
また、情報格納形式制御手段8が単独でデータの配置場所を特定するようにしてもよい。例えば、「データのハッシュ値」や「データのID」から、Consistent Hashing(コンシステント・ハッシュ法)などの手法を用いることにより、データの配置場所を算出することが出来る。
情報記録手段33は、情報受付手段32が受けとった情報を記録媒体31に記録する。記録媒体31は、磁気ディスクや半導体メモリなどの記憶装置によって実現される。記録媒体31に記録するフォーマットは任意の方法によって実現できる。本発明を特に制限するものでないが、ログファイルとして、例えば次のような手法が用いられる。
処理履歴記憶手段3において、データの処理履歴をログファイルに記録する場合について説明する。例えばログメッセージをIPネットワークに転送する標準規格(ロギングの標準)であるSyslogなどに代表されるログ形式でファイルの末尾に追記する。例えば次のような形式である(“_”はスペースを示す)。
Date(日時情報)_server名(情報処理手段1の名前など)_ Read (情報処理手段1が行う演算の種類を示す情報)_ /home/user/A.dat (データを特定するための情報)
Date_server名_ Read_ /home/user/A.dat
Date_server名_ Write_ /home/user/B.dat
Date_server名_ Read_ /home/user/B.dat
この例のログの場合、A.datというファイルにReadが2回、B.datにWriteが1回、Readが1回起きたことが記録されていることが分かる。
情報記録手段33は、情報受付手段32の受け取った情報を解釈し、ログフォーマットの形式で情報を作成し、ログファイルの末尾に追記する。
次に処理履歴記憶手段3において、データの処理履歴を、データベースで管理する場合について説明する。この場合、処理履歴記憶手段3では、データベース管理ソフトウェア(データベース管理ソフトウェアは図2の情報記録手段33を構成する)等を用いて、データベースの表形式として記録する。
例えば、図7に示すようなテーブルによって情報を記録する。図7は、処理履歴記憶手段3において、データの処理履歴をデータベースで管理した場合のデータベースのテーブル構成の一例を示す図である。
図7に示した例の場合、データのidが「1」のデータに対して、sort(ソート)処理が1回行われ、analysis(分析)処理が3回行われたことが記録されていることが分かる。同様に、データのidが「2」のデータに対して、get(検索)処理が3回行われたことが記録されていることが分かる。
情報記録手段33は、情報受付手段32の受け取った情報を解釈し、テーブルの必要箇所を更新する。必要ならば、レコード(行)を追加したり、カラム(列)を追加したりしてもよい。
また、情報格納形式制御手段8のアクセス特性に応じて、インデックスを作成してもよい。例えば、主としてsort回数により、情報格納形式の変更を判断する場合には、sort回数のカラムに、インデックスを作成するテーブル構成とする。
また、メモリ上にハッシュテーブル等による連想配列として保持してもよい。例えば、データのidをkeyとし、演算が実行された回数をValueとして保持する。
また、ログファイル、データベース、連想配列らの形式の1つあるいは複数の形式で記録媒体31に記録することが可能である。例えば、ログ形式とデータベースのテーブル形式の2つを持つ等の構成としてもよい。
あるいは、前述したように、コンパイラ型による実現を採っても良い。この場合、情報受付手段32、情報記録手段33が果たす機能は、情報処理手段1において実現され、情報処理手段1が記録媒体31に対する書き出し機能を提供する。
次に、本実施形態における情報格納形式記憶部22についてその詳細な一例を説明する。情報処理手段1が、データに対してアクセスするためには、アクセスしたいデータの格納先を知る必要がある。図1においては、データは、情報記憶部6あるいは情報記憶部7のいずれか(または両方に)格納されている。
情報アクセス手段2は、情報処理手段1が情報記憶部6あるいは7のいずれにアクセスすればよいかを回答する役割を果たす。具体的には、情報処理手段1のアクセス対象のデータ(情報)が、情報記憶部6、7のいずれにあるか、あるいは、両方に格納されている場合にはどちらにアクセスすべきかを応答として情報処理手段1に返す。なお、図1の構成において、情報処理手段1は、常に、情報アクセス手段2を介して情報格納手段4又は5にアクセスする構成とされているが、情報処理手段1側でアクセス対象のデータの格納先について既に知っている場合(例えば以前に特定済みである当等の理由により)、情報処理手段1は、情報格納手段4又は5に直接アクセスする構成としてもよい。この場合、情報アクセス手段2は、情報処理手段1からのアクセス要求をスルーさせる。
情報格納形式記憶部22は、情報アクセス手段2が情報処理手段1に対して、アクセス対象データの格納先を応答する機能を果たす際に必要な記憶部の役割を果たす。情報格納形式記憶部22で保持される情報としては、少なくとも次の2つが必要である。
(E)データを特定するための情報;
(F)データの格納先を特定するための情報。
データを特定するための情報の例は、本発明を特に制限するものではないが、前記と同一のものが挙げられる。
(E1)データのファイルパス;
(E2)データのファイルパスおよびデータが格納されているホスト名(IPアドレス);
(E3)データのID;
(E4)データのハッシュ値;
(E5)データのメタ情報;
(E6)データの中に含まれるキーワード、出現単語(例えば“秘密文書”や“ストレージ”等)。
データの格納先を特定するための情報の例として、本発明を特に制限するものではないが、次のものがある。
(F1)データの格納先となるホストの名称、IPアドレスなど(例えばホスト名:host1、IPアドレス:192.168.0.1等)。
(F2)データの格納先となる仮想ボリュームの名称(例えば 、/shared/vol1)。
(F3)データの格納先となるデータベース名称、テーブル名称、ユニークレコードIDなど(例えばデータベース名称:metadatabase、テーブル名称:hosttable、ユニークレコードID: 123)。
(F4)データの格納先となるファイル名、パス名(例えば /home/data/123.obj、host1, /home/data/123.obj等)。
(F5)データのID、ハッシュ値など(例えばデータのID:123、ハッシュ値: 5a579238e591f8b95569613f8cdc5b26)。
(F6)データ形式(例えばdatabase形式、plane file、 sorted file)。
これらの情報を格納する方法としては、データベースを用いる方法や、検索エンジンを用いる方法が適用可能である。
本発明を特に制限するものではないが、本実施例では、データベースを用いる方法の例について説明する。
図8、図9、図10は、図1の情報格納形式記憶部22としてデータベースを用いた場合のテーブル構成例を示す図である。
図8は、データを特定するためのID(id)から、データの格納先を探索するためのテーブルの例を示す図である。図8に示す例では、データのidによってインデックスを作成しておく構成を前提とする。すなわち、データベースには、ホスト名とファイルパス情報、形式(ファイルかデータベースか)とからなるデータの格納先情報(レコード)がデータのidと関連付けて格納されている。
アクセス先特定手段21は、アクセスしたいデータのidが分かれば、図8のテーブルを用いて、そのレコードを取得することにより、データの格納先を得ることが出来る。
この例の場合、データのidが「1」のデータの格納先は、host1の/home/data/1.objで通常のファイルとして格納されていることがわかる。このとき、host1のサーバ上で動作するファイルシステムなどのソフトウェアが、情報格納手段4の例であり、記憶媒体(/home/data/1.objが記録されるハードディスク(HDD)など)が情報記憶部6の例である。
また、データのidが「1」の例のように、データのidが「1」であれば/home/data/1.objとfile pathを自動的に算出できる場合には、この情報は必ずしも必要ないことは明かである。
ホスト名(Host name)についてもデータのidからconsistent hashing(コンシステントハッシュ法)のような手法で、自動的に格納先のホストを決定する手法を取る場合には必要がない。形式についても、情報格納手段4に実際にアクセスするまで知る必要がないなどには必要がない。
情報格納形式記憶部22に、図8の情報しか存在しない場合には、情報処理手段1は、データのidによってデータの格納先にアクセスする。
図9、図10は、データのid以外の情報によりデータにアクセスする場合のテーブル構成の例を示す図である。図9に示す例では、データの特定するための情報として、メタ情報(データの作成年月日)と、データの格納先を特定する情報(id)とが対応させて格納されている。
情報格納形式記憶部22が、図9に示したテーブルを備えている場合、メタ情報としてデータの作成日付を有する。このメタ情報によって、データを特定してアクセスするシステムを実現することができる。
例えば、作成日付(年月日)2008.10.1に作成したデータにアクセスしたい場合、idが「1」、「3」、「5」のデータに対してアクセスすればよい。
idが「1」、「3」、「5」のデータは、それぞれ、図8のテーブルを用いて当該データの格納先を得ることが出来る。ただし、データのidだけでデータの格納先が分かる場合には、図8のテーブルを検索する必要はない。また、図9のテーブルを、図8の右3列分のカラムデータをidの代わりに列挙するような形としてもよい。すなわち、データの特定するための情報としてメタ情報(データの作成年月日)と、ホスト名とファイルパス情報、形式(ファイルかデータベースか)とからなるデータの格納先情報(レコード)とが互いに関連付けて格納されている構成としてもよい。
図10は、情報処理手段1からみたファイルパスからデータの実格納先を得る場合に必要な、情報格納形式記憶部22のテーブル構成の例を示す図である。データを特定するための情報としてファイル名と、データ格納先を特定する情報としてデータのidが関連付けて格納されている。
例えば、情報処理手段1から、
/home/hoge/テストデータ.dat
というファイルにアクセスしたいという要求があった場合、アクセス先特定手段21は、情報格納形式記憶部22のテーブル(図10)を用いて、idが「1」であるデータにアクセスすればよいことが分かる。
また、図8のテーブルを用いることにより、
/home/hoge/テストデータ.dat
というファイルはidが「1」の
host1の/home/data/1.obj
であることがわかる。
図9、図10に示したテーブルの例のように、情報格納形式記憶部22に、データを特定する際に用いたい情報とデータの格納先を特定する情報とを組み合わせて(関連付けて)保持することにより、柔軟な形式でデータにアクセスすることが出来るシステムを構築することが出来る。
例えば、データの作成者のような他のメタ情報でデータにアクセスしたい場合には、データの作成者とidの組み合わせを関連付けるテーブルを情報格納形式記憶部22に保持すればよい。
また、検索エンジンの転置インデックスのように、データの中身に含まれる単語情報を、データを特定するための情報として保持し、その単語を含むデータのidを、データの格納先を特定する情報として記録すれば、検索エンジンのように中身のデータの内容でデータに対してアクセスすることが出来る。
図3は、本実施の形態の情報処理システム上で、情報記憶部6、7に格納されている情報を用いて行う演算処理又は処理結果を、情報記憶部6、7に格納する演算処理を行う手順を示すフローチャートである。次に、図1、図3を参照して、本実施例の全体の動作について詳細に説明する。
まず、情報処理手段1が、情報処理システム上で動作させるソフトウェアの実行バイナリ又はソースコードを読み出し、ソフトウェア実行処理を開始する(図3のステップS101)。この実行バイナリ又はソースコードは、情報処理手段1が記憶手段を備えて保持していてもよいし、本実施の形態のいずれかの記憶部から読み出しても良いし、あるいは本実施の形態以外のシステム又はユーザから受け取っても良い。
次に、情報処理手段1は、ソフトウェア内の演算処理がデータ(情報)に対する処理であるか否かを確認する(ステップS102)。データに対する処理ではない場合(データ操作を伴わない処理)、この処理(データ操作を伴わない)を実行し(ステップS104)、ステップS106へ進む。
データに対する処理であった場合、情報処理手段1は、このデータ操作を伴う処理を実行し(ステップS103)、データに対する処理の内容と対象データを識別できる情報を、処理履歴記憶手段3に記録する(ステップS105)。
なお、情報処理手段1において、ステップS103とステップS105は入れ替えて実行してもよいし、同時に並列に実行しても良い。また、ステップS105は、処理履歴を完全に記録することを保障する必要は無いため、情報処理手段1において、ステップS103を終え、ステップS105の完了を待たずに、次の処理(ステップS106)に進むよう動作してもよい。
ステップS106では、情報処理手段1は、該ソフトウェアで行う実行処理が完了したか否かについて確認する。完了している場合には、終了となる。完了してない場合には、次の処理へ進み(ステップS107)、情報処理手段1は、次の処理の内容がデータに対する処理か否かについて確認する(ステップS102)。このように実行ソフトウェア内の処理ステップについて繰り返す。
図3のフローチャートにおいて、「処理」とは、
・機械語命令等の計算機に対する実行命令、
・システムコール等を含む関数、
・ソースコード内で定義された関数、
・ソースコード内の任意の範囲(ブロック)、
・ソースコード内の文の任意の数、
等を処理単位として扱ってよい。
また、ステップS102において、情報処理手段1が、データ(情報)に対する処理であるか否かを識別する際に、実行命令やソースコードを解析する代わりに、
・ソースコード記述者に、ソースコード内に任意の予め決められたアノテーションを付けて貰う)、
・予め決められた関数を、データ処理として自動的に扱う(予め決められた関数を検出時、データ処理として認識する)、
・予め任意に決められた関数名の処理を、データ処理として扱う、
等の方法を取っても良い。このようにすることで、データ処理か否かを識別するのが容易になり、処理が高速化されるという効果がある。
また、図3は、実行時に、判断および記録を行う手順とされているが、コンパイル時に次のような手順で行っても良い。
まず、情報処理手段1がソースコードの読み込みを行い、コンパイル時のソースコードの解析(Lexical Analysis Phase等)時点において、データに対する処理部分を抽出する。
そして、情報処理手段1で実行されるコンパイラは、実行命令(バイナリ形式)の生成処理時に、処理履歴記憶手段3への記録命令の実行コードの生成処理を行う。
このようにすることにより、情報処理手段1において、コンパイルされリンクされたソフトウェア(実行モジュール)を実行時に、図3に示したようなチェック処理(ステップS102)を実行することは不要となり、情報処理手段1は、通常の実行基盤としてプログラムの実行バイナリを動作させればよい。このため、処理が高速化するという効果を奏する。
また、コンパイル処理で実行命令を生成するのではなく、ソースコードの字句解析を行うプリコンパイラとして、ソースコードを入力して、処理履歴記憶手段3への記録処理が追加されたソースコードを出力するような形で実現しても良い。この場合も、図2のフローチャートのようなチェック処理を行う必要がないため、処理が高速化するという効果がある。また、コンパイルには任意の別のコンパイラが利用できる、という効果もある。
図4は、図3のフローチャートにおけるステップS103の手順を示す流れ図である。図1及び図4を参照して、図3のフローチャートにおけるステップS103のデータ操作を伴う処理の動作について説明する。
まず、情報処理手段1からデータへのアクセス命令を、情報アクセス手段2へ発行する(図4のステップS301)。ステップS301では、情報アクセス手段2内の情報アクセス送受信手段20がアクセス命令を受け取る。
次に、情報アクセス手段2において、アクセス先特定手段21が情報格納形式記憶部22に格納されている情報から、処理対象のデータの格納先(格納手段)を特定できる情報を取得する(ステップS302)。データの読み出し処理等、既にいずれかの情報格納先(格納手段)にデータが存在する場合には、前述したように行うことができる。
データの新規書き出し処理(例えば新しいファイルを作成してデータを書き出す)等、書き出し先のデータがいずれかの情報格納先(格納手段)に無い場合には、アクセス先特定手段21が新しいファイルの情報格納先を決定し、格納先情報を、情報格納形式記憶部22へ書き出す。
新しいファイルを作成してデータを書き出す場合、例えば、新しいファイル名(ファイルパス)を情報格納手段4へ保存したことを示す情報を、任意の形式で、情報格納形式記憶部22へ記録すればよい。ここで、任意の形式とは、例えば、
・ファイル名をキーとし、
・格納先情報(情報格納手段4の計算機のIPアドレスなどのファイルの保持場所を特定する情報)を値としたハッシュテーブル等が当てはまる。
ステップS302で、処理対象のデータのアクセス先を特定した後に、当該アクセス先の情報格納手段に対して、情報アクセス命令を発行する(ステップS303)。
次に、アクセス先の情報格納手段4又は5が、指定データへのアクセス命令を実行する(ステップS304)。
そして、アクセス先の情報格納手段4又は5は、処理対象のデータのアクセスの結果を、情報アクセス手段2へ応答する(ステップS305)。
最後に、情報アクセス手段2は、情報処理手段1へ受け取った結果を応答する(ステップS306)。
なお、ステップS305において、アクセス先の情報格納手段4又は5は、結果を情報アクセス手段2へ応答せず、直接、情報処理手段1へ応答するようにしてもよい。この場合、ステップS306が不要であるため、性能(アクセス時間)が向上する。
また、ステップS304において、情報の更新を行う伴う際に、情報格納形式記憶部22に対して更新が必要になった際には、情報格納形式記憶部22への情報の更新を情報アクセス手段2(または任意の他の手段)が行う。
図5は、情報格納形式制御手段8による、情報格納形式の変更処理手順を示すフローチャートである。図1及び図5のフローチャートを用いて、情報格納形式制御手段8による、情報格納形式の変更処理について説明する。
情報格納形式制御手段8は、任意の契機によって情報格納形式の変換処理を開始する。そして、変換処理の最初に、処理履歴記憶手段3から処理履歴情報を取得する(図5のステップS401)。
次に、処理履歴記憶手段3の処理履歴情報から、処理対象の情報を選定する(ステップS402)。なお、変換処理開始時に処理対象となる情報が決まっている場合には、ステップS402の処理は不要であり、ステップS401で、処理対象の情報に関する処理履歴情報を取得すればよい。
次に、処理対象の情報(データ)の情報格納先(データ格納先)を情報格納形式記憶部22から取得する(ステップS403)。
次に、データ格納先の情報格納手段から、処理対象の情報(データ)を取得する(ステップS404)。
次に、処理対象の情報(データ)を、変換先の情報格納手段向けに変形して格納する(ステップS405)。
最後に、情報格納形式記憶部22に格納されている、処理対象の情報(データ)のデータ格納先情報を更新する(ステップS406)。
次に、情報格納形式制御手段8が、図5のフローチャートによる情報格納形式の変更処理を行う契機について説明する。本実施例において、情報格納形式の変更処理を行う契機を次のような時点に基づいて実行するようにしてもよい。
(G1)処理履歴記憶手段3に格納されている処理履歴の情報が任意の条件を超えた時、図5に示したような実行フローチャートで処理を行う。
(G2)一定時間経過毎(定期的)に、図5に示したような実行フローチャートで処理を行う。
まず、(G1)の「処理履歴記憶手段3に格納されている処理履歴の情報が任意の条件を超えた時」について説明する。
これは、図3のフローチャートのステップS105において、処理情報を記録した際に、処理履歴記憶手段3に格納された処理対象の情報の履歴情報を確認し、任意の条件(以降、「情報格納形式変更条件」という)を満たした際に、情報格納形式の変更処理を開始する。
ここで、情報格納形式変更条件として、「任意の情報に対して、情報格納手段4に格納されている情報が3度以上情報処理手段1によって読み出された場合に、情報格納手段5に変更する」という条件が予め定められているものとする。この条件は、情報格納形式制御手段8が保持するか、処理履歴記憶手段3の情報変化に応じて、情報格納形式制御手段8に通知する役割を持つ手段(例えば処理履歴記憶手段3を管理するソフトウェア)が保持しているものとする。
情報格納形式変更条件を満たしたことを示す(ここでは、3度目以上の情報処理手段1からの情報の読み出し処理が情報格納形式変更条件)履歴情報が、処理履歴記憶手段3に格納されたときに、該情報に対する情報格納形式制御手段8による情報格納形式の変更処理を行う。その際、この条件で、該情報が情報格納手段4により格納されていることを確認する必要がある。この確認としては、情報格納形式記憶部22にアクセスして確認してもよいし、処理履歴記憶手段3の処理履歴情報として、該情報が情報格納手段4により格納されていることを示す情報を記録するようにしてもよい。
この時、情報格納形式制御手段8の動作フローによって、該情報の情報格納手段4から情報格納手段5への変更処理が行われる。この時点で、図5のステップS401〜403までについては完了しているので、情報格納形式制御手段8は、ステップS404〜406の手順を実行すればよい。
次に、(G2)の一定時間経過毎に、図5に示した実行フローチャートにより、情報格納形式制御手段8による変更処理を行う場合について説明する。これは、情報格納形式制御手段8が、任意の時間経過毎に、変更処理(図5のフローチャート参照)の実行を行う。
まず、処理履歴記憶手段3に格納されている任意の情報に対して、情報格納形式変更条件を満たしているか否か確認する。具体的には、例えばデータベース(図7参照)等で処理履歴記憶手段3に処理履歴が格納されており、該データベースへ接続し(図5のステップS401)、該データベース内に格納されている情報を1つ選び(ステップS402)、選択された情報の情報格納先を取得する(ステップS403)。
情報格納形式変更条件を満たしていれば、情報格納形式制御手段8は、図5のステップS404〜S406の処理を実行する。情報格納形式変更条件を満たしていなければ、情報格納形式制御手段8は、ステップS402で他の情報を選び、対象情報の情報格納先を取得する(ステップS403)。
そして、情報格納形式制御手段8は、再度、情報格納形式変更条件の判定を行う。このように処理を繰り返して処理履歴情報内の情報について、情報格納形式変更条件を満たしているか否か確認して変更処理を行うよう動作する。
また、情報格納形式変更条件として、情報記憶部6、7のような情報記憶部の容量といった情報を用いてもよい。
あるいは、任意の情報に対して、情報処理手段1のアクセス方法に応じて情報格納手段を切り替えて動作させるようにしてもよい。アクセス先特定手段21において、この切り替え処理を実現する。例えば、読み込みに類する処理は、情報格納手段5が行い、書き込みに類する処理は、情報格納手段4が行う。そして、情報格納形式変更条件として、情報格納手段4に対して任意の回数書き込み処理が行われた際に、情報格納手段4に格納されている情報の内容を、情報格納手段5に格納するよう動作する。
このように動作させ、情報格納手段5では読み込みに適した形式に情報を保持させ、情報格納手段4では書き込みに適した形式に情報を保持することによって、書き込み性能を高く維持しつつ、読み込みは最新ではないが高速性を維持する情報格納システムを実現することが出来る。
また、ある情報の全体の情報を、情報格納手段4に格納し、情報の中の任意の情報や、任意の種類のメタ情報だけを情報格納手段5へ格納するよう動作してもよい。
情報処理手段1により書き込みに類する情報アクセスが行われる際に、両方の情報格納手段4、5へ格納するよう動作しても良いし、情報処理手段1による情報アクセス実行時には、情報格納手段4に対して書き込み動作を行い、情報格納手段5への情報格納は、情報格納形式制御手段8の情報変換処理によって行うよう動作してもよい。このように動作することによって、情報格納手段5への情報格納性能の良し悪しに関係なく、情報格納手段4へ情報格納を行うことで、情報処理手段1の情報アクセス処理を完了させることが出来る。
次に、情報格納形式制御手段8の処理について説明する。情報格納形式制御手段8は、処理履歴記憶手段3に格納されている履歴情報を用いて情報格納形式を変換する。履歴情報として図7に示した内容が記録されているものとする。
以下では、変換ルールとして、sort処理が3回以上発生すると、plane fileからsorted fileに変換するというルールがある場合の変換処理について説明する。
ここで、plane fileの例としては、“数値を予め決められたフォーマットで格納する”とする。
Sorted fileの例としては、“1つ目の配列を予めソートした状態のフォーマットで格納する”とする。
まず、処理履歴記憶手段3からsort処理が3回以上起きているデータを特定する。
図7のテーブルを用いて、sort処理が3回以上あるデータ(処理ルールに適合しているデータ)を検索すると、id:3のデータが適合することがわかる(図5のステップS401,402)。
id:3は、図8のテーブルを参照すると、id:3のデータの格納先と現在の形式がplane fileであることがわかる(図5のステップS403)。
変換ルールよりplane fileであった場合には、plane fileからsort fileへ変更する必要があることから、host3から3.objファイルを読み込み、sort fileへ変換し、host3へ保存する(host3へこのような処理をするよう指示をだしてもよい)(図5のステップS404,S405)。そして、図8のid:3の形式のレコードを変更する(図5のステップS406)。
このような変換を行うことにより、sortが頻繁に行われるデータに関しては、データを予めsortされた後の形式に変換して保持する。このため、その後のsort処理に関しては実際にsortを行わずに、データを読むだけで行うことが出来る。その結果、システムの性能が向上し効率性が向上する、という効果が得られる。また、システムの動作に応じて変換するので、データに対するアクセス状態が分からなくても、sortアクセスが増えたらその時点で変換するような適応的なシステムを提供することが出来る。
<実施形態2>
次に、本発明の第2の実施形態について説明する。図5は、本発明の第2の実施形態の構成を示す図である。前記実施例の構成のうち、情報格納手段5の情報記憶先となる情報記憶部6が情報格納形式記憶部22と同一となる構成である。本実施形態は、第1の実施の形態と同様に動作する。
本実施形態において、アクセス先特定手段21では情報格納形式記憶部22の更新を行わず、情報格納手段5が更新を行うよう動作しても良い。さらに、情報を、常に情報格納手段4に格納するようにしておき、情報格納形式記憶部22は、情報格納形式制御手段8による更新で行うようにしても良い。このように動作することによって、情報格納形式記憶部22に格納される情報の更新が伴う処理に対して、情報格納手段4による更新によって更新処理が完了するため、処理が高速化できる。
本発明は、情報処理システムや情報格納システムに適用して好適とされる。
なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
上記した本発明、実施形態は以下に付記としてまとめることができる。
(付記1)
互いに異なる複数の情報格納形式に対応可能とされ、データを前記データに対応する情報格納形式で格納する情報格納手段と、
データに対する情報処理の履歴を記憶する処理履歴記憶手段と、
前記処理履歴記憶手段に記憶された処理履歴の情報に基づき、前記データの情報格納形式を制御する情報格納形式制御手段と、
を備えた、ことを特徴とする情報処理システム。
(付記2)
前記情報格納手段に保持される前記データに対して所定の処理を行い、前記処理履歴記憶手段に、前記データに対する処理履歴を格納する情報処理手段を備えた、ことを特徴とする付記1記載の情報処理システム。
(付記3)
前記情報処理手段がデータに対してアクセスする際に、アクセス対象の前記データに対応する情報格納手段を特定し、
前記情報処理手段からの前記アクセス要求を、前記特定した情報格納手段に振り分ける情報アクセス手段を含む、ことを特徴とする付記2記載の情報処理システム。
(付記4)
前記情報アクセス手段が、前記データと前記データの情報格納形式を特定する情報とを関連付けて保持する情報格納形式記憶部を含む、ことを特徴とする付記3記載の情報処理システム。
(付記5)
前記情報格納形式制御手段が、前記データの情報格納形式を変更するための条件を保持し、
前記処理履歴記憶手段の処理履歴の情報に基づいて前記情報格納形式を変更の条件判定を行い、
前記判定結果に基づき、前記データの情報格納形式の変更処理を行う、ことを特徴とする付記1乃至4のいずれか一に記載の情報処理システム。
(付記6)
前記情報処理手段が、前記データに対する処理を検出し、前記処理履歴記憶手段に、前記データに対する処理履歴情報を格納する、ことを特徴とする付記2記載の情報処理システム。
(付記7)
前記情報処理手段が、前記データに対する処理を処理実行時に検出する、ことを特徴とする付記6記載の情報処理システム。
(付記8)
前記情報処理手段が、処理を記述したプログラムソースコードを実行命令群に変換する手段を備え、
前記データに対する処理を実行する命令と共に、前記処理履歴記憶手段へ、前記データに対する処理履歴の情報を格納する命令を生成する、ことを特徴とする付記6記載の情報処理システム。
(付記9)
前記情報処理手段上で実行されるプログラムに対して、前記処理履歴記憶手段へ処理履歴情報を格納するプログラムコードを付与する手段を備えた、ことを特徴とする付記6記載の情報処理システム。
(付記10)
前記情報格納手段が実現する複数の情報格納形式のうち少なくとも1つが前記情報格納形式記憶部を含む、ことを特徴とする付記1又は4記載の情報処理システム。
(付記11)
前記情報格納手段は、互いに異なる複数の情報格納形式にそれぞれ関連付けられる複数の情報記憶媒体を含む、ことを特徴とする付記5記載の情報処理システム。
(付記12)
前記情報格納形式制御手段が、前記データの情報格納形式を変更するための条件として、情報記憶媒体の容量を用いる、ことを特徴とする付記11記載の情報処理システム。
(付記13)
前記情報アクセス手段が、データに対するアクセスの種類に応じて、前記情報格納手段を選定する、付記3記載の情報処理システム。
(付記14)
互いに異なる複数の情報格納形式に対応可能とされる情報格納手段が、データを前記データに対応する情報格納形式で格納し、
データに対する情報処理の履歴を処理履歴記憶手段に記憶し、
前記処理履歴記憶手段に記憶された処理履歴の情報に基づき、データの情報格納形式を変更する、ことを特徴とする情報処理方法。
(付記15)
前記情報格納手段に保持される前記データに対して所定の処理を行い、前記処理履歴記憶手段に前記データに対する処理履歴の情報を記録する、ことを特徴とする付記14記載の情報処理方法。
(付記16)
データに対してアクセスする際に、アクセス対象の前記データに対応する情報格納手段を特定し、
前記アクセス要求を、前記特定した情報格納手段に振り分ける、ことを特徴とする付記15記載の情報処理方法。
(付記17)
前記データと前記データの情報格納形式を特定する情報とを関連付けて情報格納形式記憶部に保持する、ことを特徴とする付記16記載の情報処理方法。
(付記18)
前記データの情報格納形式を変更するための条件を保持し、
前記処理履歴記憶手段に記憶された処理履歴の情報に基づいて情報格納形式の変更の条件判定を行い、
前記判定結果に基づき、前記データの情報格納形式の変更処理を行う、ことを特徴とする、付記14乃至17のいずれか一に記載の情報処理方法。
(付記19)
前記データに対する情報処理を検出し、前記データに対する情報処理の処理履歴情報を前記処理履歴記憶手段に格納する、ことを特徴とする付記15記載の情報処理方法。
(付記20)
前記データに対する情報処理を、処理実行時に検出する、ことを特徴とする付記19記載の情報処理方法。
(付記21)
前記データに対する情報処理を記述したプログラムソースコードを、実行命令群に変換し、
前記データに対する情報処理を実行する命令と共に、前記処理履歴記憶手段へ処理履歴情報を格納する命令を生成する、ことを特徴とする付記19記載の情報処理方法。
(付記22)
実行するプログラムに対して、前記処理履歴記憶手段へ処理履歴情報を格納するプログラムコードを付与する、ことを特徴とする付記19記載の情報処理方法。
(付記23)
前記情報格納手段が実現する複数の情報格納形式のうち、少なくとも1つが前記情報格納形式記憶部を含む、ことを特徴とする付記14又は17記載の情報処理方法。
(付記24)
前記複数の情報格納形式を実現する前記情報格納手段が、互いに異なる複数の情報格納形式にそれぞれ関連付けられる複数の情報記憶媒体を含む、ことを特徴とする付記18記載の情報処理方法。
(付記25)
前記情報格納形式を制御するにあたり、前記データの情報格納形式を変更するための条件として、情報記憶媒体の容量を用いる、ことを特徴とする付記21記載の情報処理方法。
(付記26)
前記データに対するアクセスの種類に応じて前記データを格納する情報格納手段を選定する、ことを特徴とする付記25記載の情報処理方法。
(付記27)
互いに異なる複数の情報格納形式に対応可能とされる情報格納手段により、データを前記データに対応する情報格納形式で格納する処理と、
データに対する情報処理の履歴を処理履歴記憶手段に記憶する処理と、
前記処理履歴記憶手段に記憶された処理履歴の情報に基づき、前記データの情報格納形式を変更する処理と、
をコンピュータに実行させるプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記28)
前記情報格納手段に保持される前記データに対して所定の処理を行い、前記処理履歴記憶手段に、前記データに対する処理履歴の情報を格納する処理を、前記コンピュータに実行させる付記27記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記29)
データに対してアクセスする際に、アクセス対象の前記データに対応する情報格納手段を特定し、該アクセス要求を前記特定した情報格納手段に振り分ける処理を、前記コンピュータに実行させる付記28記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記30)
前記データと前記データの情報格納形式を特定する情報とを関連付けて情報格納形式記憶部に保持する処理を、前記コンピュータに実行させる付記29記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記31)
前記データの情報格納形式を変更するための条件を保持し、
前記処理履歴記憶手段の処理履歴のデータに基づいて情報格納形式の変更の条件判定を行い、
前記判定結果に基づき、前記データの情報格納形式の変更を行う処理を、前記コンピュータに実行させる付記27乃至30のいずれか1項に記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記32)
前記データに対する処理を検出し、前記処理履歴記憶手段に、前記データに対する処理履歴を格納する処理を、前記コンピュータに実行させる付記28記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記33)
前記データに対する処理を処理実行時に検出する処理を、前記コンピュータに実行させる付記32記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記34)
プログラムソースコードを実行命令群に変換する処理と、
前記データに対する処理を実行する命令と共に、前記処理履歴記憶手段へ処理履歴情報を格納する命令を生成する処理と、前記コンピュータに実行させる付記32記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記35)
実行するプログラムに対して、前記処理履歴記憶手段へ処理履歴情報を格納するプログラムコードを付与する処理を、前記コンピュータに実行させる付記32記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記36)
前記情報格納手段が実現する複数の情報格納形式のうち少なくとも1つが、前記情報格納形式記憶部を含む、付記29記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記37)
前記複数の情報格納形式を実現する情報格納手段が、互いに異なる複数の情報格納形式にそれぞれ関連付けられる複数の情報記憶媒体を備える、付記31記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記38)
前記データの情報格納形式を変更するための条件として、情報記憶媒体の容量を用いる、付記37記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
(付記39)
前記データに対するアクセスの種類に応じて前記情報格納手段を選定する、付記29記載のプログラム(又は該プログラムを記録したコンピュータ読み出し可能な記録媒体)。
1 情報処理手段
2 情報アクセス手段
3 処理履歴記憶手段
4 情報格納手段
5 情報格納手段
6 情報記憶部
7 情報記憶部
8 情報格納形式制御手段
20 情報アクセス送受信手段
21 アクセス先特定手段
22 情報格納形式記憶部
31 記録媒体
32 情報受付手段
33 情報記録手段

Claims (15)

  1. 情報格納手段を介して情報記憶部に保持されるデータにアクセスし前記データに対して所定の演算処理を行う情報処理手段と、
    互いに異なる複数の情報格納形式に対応可能とされ、データに対応した所定の情報格納形式で前記データを前記情報記憶部に格納する前記情報格納手段と、
    前記情報処理手段によるデータに対するアクセス及び演算処理の履歴を記憶する処理履歴記憶手段と、
    前記処理履歴記憶手段に記憶された前記アクセス及び前記演算処理の履歴情報に基づき、前記情報格納手段によって格納されるデータの情報格納形式を変更し、前記情報処理手段で行われるデータの演算操作に適した情報格納形式となるように制御する情報格納形式制御手段と、
    を備えたことを特徴とする情報処理システム。
  2. 前記情報処理手段がデータに対してアクセスする際に、アクセス対象の前記データに対応する情報格納手段を特定し、前記情報処理手段からの前記アクセス要求を、前記特定した情報格納手段に振り分ける情報アクセス手段を含む、ことを特徴とする請求項記載の情報処理システム。
  3. 前記情報アクセス手段が、前記データと、前記データの情報格納形式を特定する情報とを関連付けて保持する情報格納形式記憶部を含む、ことを特徴とする請求項記載の情報処理システム。
  4. 前記情報格納形式制御手段が、
    前記データの情報格納形式を変更するための条件を保持し、
    前記処理履歴記憶手段に記憶された前記アクセス及び前記演算処理の履歴情報に基づいて前記情報格納形式の変更の条件判定を行い、
    前記判定結果に基づき、前記データの情報格納形式の変更処理を行う、ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理システム。
  5. 前記情報処理手段が、前記データに対する処理を検出し、前記処理履歴記憶手段に、前記データに対する処理の履歴情報を格納する、ことを特徴とする請求項記載の情報処理システム。
  6. 前記情報処理手段が、前記データに対する処理を処理実行時に検出する、ことを特徴とする請求項記載の情報処理システム。
  7. 前記情報処理手段が、処理を記述したプログラムソースコードを実行命令群に変換する手段を備え、
    前記データに対する処理を実行する命令と共に、前記処理履歴記憶手段へ、前記データに対する処理の履歴情報を格納する命令を生成する、ことを特徴とする請求項記載の情報処理システム。
  8. 前記情報処理手段上で実行されるプログラムに対して、前記処理履歴記憶手段へ処理の履歴情報を格納するプログラムコードを付与する手段を備えた、ことを特徴とする請求項記載の情報処理システム。
  9. 前記情報格納手段が実現する複数の情報格納形式のうち少なくとも1つが前記情報格納形式記憶部を含む、ことを特徴とする請求項記載の情報処理システム。
  10. 前記情報格納手段は、互いに異なる複数の情報格納形式にそれぞれ関連付けられる複数の情報記憶媒体を含む、ことを特徴とする請求項5記載の情報処理システム。
  11. 前記情報格納形式制御手段が、前記データの情報格納形式を変更するための条件として、情報記憶媒体の容量を用いる、ことを特徴とする請求項1記載の情報処理システム。
  12. 前記情報アクセス手段が、データに対するアクセスの種類に応じて、前記情報格納手段を選定する、ことを特徴とする請求項記載の情報処理システム。
  13. 1つ又は複数の前記情報記憶部と、
    1つ又は複数の前記情報格納手段と、
    前記情報処理手段からのデータのアクセス要求を受ける情報アクセス手段であって、
    アクセス対象の前記データが前記情報記憶部のどこに記憶されているか特定し、前記情報処理手段からのアクセス要求を、対応する前記情報格納手段に対して発行するアクセス先特定手段と、データを特定するための第1の情報と前記データの格納先を特定する第2の情報とを関連付けて保持する情報格納形式記憶部と、を含む情報アクセス手段と、
    を備え、
    前記情報アクセス手段の前記情報格納形式記憶部は、
    前記第1の情報としてデータのID、前記第2の情報としてデータ格納先を関連付けて保持するテーブルと、
    前記第1の情報としてメタ情報、前記第2の情報としてデータのIDを関連付けて保持するテーブル、又は、
    前記第1の情報としてデータの中身に含まれる単語情報、前記第2の情報として前記データのIDを関連付けて保持するテーブルを含み、
    前記情報格納形式制御手段は、情報格納形式を変更する場合、処理対象のデータの格納先を、前記情報格納形式記憶部から取得し、対応する前記情報格納手段を介して前記情報記憶部から処理対象のデータを取得し、
    処理対象のデータを、変換先の前記情報格納手段向けに変形して前記情報格納手段を介して前記情報記憶部に格納し、
    前記情報格納形式記憶部に記憶されている前記処理対象のデータのデータ格納先を更新する、ことを特徴とする請求項1記載の情報処理システム。
  14. 情報格納手段を介して情報記憶部に保持されるデータにアクセスし前記データに対して所定の演算処理を行う情報処理手段による前記データに対するアクセス及び演算処理の履歴を処理履歴記憶手段に記憶し、
    前記情報格納手段は、互いに異なる複数の情報格納形式に対応可能とされ、データに対応した所定の情報格納形式で前記データを前記情報記憶部に格納し、
    情報格納形式制御手段は、前記処理履歴記憶手段に記憶された前記アクセス及び前記演算処理の履歴情報に基づき、前記情報格納手段によって格納されるデータの情報格納形式を変更し、前記情報処理手段で行われるデータの演算操作に適した情報格納形式となるように制御する、ことを特徴とする情報処理方法。
  15. 前記情報処理手段がデータに対してアクセスする際に、アクセス対象の前記データに対応する情報格納手段を特定し、前記情報処理手段からの前記アクセス要求を、前記特定した情報格納手段に振り分ける情報アクセス手段を含み、
    前記情報アクセス手段は、データに対するアクセスの種類及び演算処理に応じて、前記情報処理手段がいずれの情報格納手段で情報処理記憶部にアクセスすればよいかを選定する、ことを特徴とする請求項1記載の情報処理システム。
JP2011502785A 2009-03-06 2010-03-03 情報処理システムと方法 Active JP5488587B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011502785A JP5488587B2 (ja) 2009-03-06 2010-03-03 情報処理システムと方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009053587 2009-03-06
JP2009053587 2009-03-06
JP2011502785A JP5488587B2 (ja) 2009-03-06 2010-03-03 情報処理システムと方法
PCT/JP2010/053450 WO2010101189A1 (ja) 2009-03-06 2010-03-03 情報処理システムと方法

Publications (2)

Publication Number Publication Date
JPWO2010101189A1 JPWO2010101189A1 (ja) 2012-09-10
JP5488587B2 true JP5488587B2 (ja) 2014-05-14

Family

ID=42709744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011502785A Active JP5488587B2 (ja) 2009-03-06 2010-03-03 情報処理システムと方法

Country Status (5)

Country Link
US (1) US8775746B2 (ja)
EP (1) EP2405360A4 (ja)
JP (1) JP5488587B2 (ja)
CN (1) CN102341791B (ja)
WO (1) WO2010101189A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013018808A1 (ja) * 2011-08-02 2013-02-07 日本電気株式会社 分散ストレージシステムおよび方法
WO2013073020A1 (ja) * 2011-11-16 2013-05-23 株式会社日立製作所 計算機システム、データ管理方法及びプログラム
JPWO2014122732A1 (ja) * 2013-02-06 2017-01-26 株式会社日立製作所 計算機システム、メタデータ管理方法及び記録媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345632A (ja) * 2002-05-23 2003-12-05 Hitachi Ltd ストレージ機器管理方法、システム、およびプログラム
JP2004295457A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 記憶装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19534819B4 (de) * 1995-09-20 2004-07-08 International Business Machines Corp. Verfahren und Vorrichtung zum Konfigurieren einer Datenbank
JP4335492B2 (ja) * 2002-03-05 2009-09-30 キヤノン株式会社 動画像管理方法及び装置
JP4238318B2 (ja) 2003-08-15 2009-03-18 独立行政法人産業技術総合研究所 データ管理装置
US7483918B2 (en) * 2004-08-10 2009-01-27 Microsoft Corporation Dynamic physical database design
US7580941B2 (en) * 2006-06-13 2009-08-25 Microsoft Corporation Automated logical database design tuning
JP2009053587A (ja) 2007-08-29 2009-03-12 Seiko Epson Corp 液晶装置の製造装置及び液晶装置の製造方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345632A (ja) * 2002-05-23 2003-12-05 Hitachi Ltd ストレージ機器管理方法、システム、およびプログラム
JP2004295457A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 記憶装置

Also Published As

Publication number Publication date
CN102341791B (zh) 2015-03-04
EP2405360A4 (en) 2016-12-28
US8775746B2 (en) 2014-07-08
WO2010101189A1 (ja) 2010-09-10
US20110320750A1 (en) 2011-12-29
EP2405360A1 (en) 2012-01-11
JPWO2010101189A1 (ja) 2012-09-10
CN102341791A (zh) 2012-02-01

Similar Documents

Publication Publication Date Title
US11169978B2 (en) Distributed pipeline optimization for data preparation
US7689574B2 (en) Index and method for extending and querying index
Vora Hadoop-HBase for large-scale data
JP5589205B2 (ja) 計算機システム及びデータ管理方法
JP4944008B2 (ja) ファイルシステム内での効率的なファイルコンテンツをサーチするためのシステム、方法及びコンピュータアクセス可能な記録媒体
US20200210399A1 (en) Signature-based cache optimization for data preparation
US20060059204A1 (en) System and method for selectively indexing file system content
CN103890709A (zh) 基于缓存的键值数据库映射和复制
US10642815B2 (en) Step editor for data preparation
JP6598997B2 (ja) データ準備のためのキャッシュ最適化
US8037058B2 (en) Reducing access time for data in file systems when seek requests are received ahead of access requests
JP5488587B2 (ja) 情報処理システムと方法
JP2013073557A (ja) 情報検索システム、検索サーバ及びプログラム
Prasad et al. Improving the performance of processing for small files in Hadoop: A case study of weather data analytics
Kuć et al. ElasticSearch server
Gilheany Processing time of TFIDF and Naive Bayes on Spark 2.0, Hadoop 2.6 and Hadoop 2.7: Which Tool Is More Efficient?
JP2006146907A (ja) 電子ファイルシステムにおけるリストおよびその他の項目の管理
KR100912129B1 (ko) 객체 파일 시스템을 이용한 비정형 데이터 관리 방법 및장치
JP5906810B2 (ja) 全文検索装置、プログラム及び記録媒体
JP5441791B2 (ja) 検索機能付きファイルストレージ装置及びプログラム
US11288447B2 (en) Step editor for data preparation
US20220335030A1 (en) Cache optimization for data preparation
JP2007156844A (ja) データ登録・検索システムおよびデータ登録・検索方法
Park et al. KV-CSD: A Hardware-Accelerated Key-Value Store for Data-Intensive Applications
Alp Comparison of baseline inverted index compression techniques by using a new document similarity removal method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130812

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: 20140128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5488587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350