(57)【特許請求の範囲】
【請求項１】
映像データまたは画像データであるストリームデータを、相対的に粗い粒度の複数の第１のデータに分割して第１のストレージ手段に蓄積するとともに、分割後の複数の第１のデータのそれぞれを識別する第１のメタ情報を保持する第１の蓄積手段と、
前記ストリームデータに含まれる一部のデータを、前記映像データ又は前記画像データ上に定義した座標軸上の座標に応じて、相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段に蓄積するとともに、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持する第２の蓄積手段と、を備える、
ことを特徴とするストレージシステム。
【請求項２】
前記一部のデータは、前記映像データまたは画像データが表す画面に含まれる一部の領域のデータである、
請求項１に記載のストレージシステム。
【請求項３】
前記第１の蓄積手段は、前記映像データまたは画像データを取得または撮影した時刻に応じて、前記映像データまたは画像データを複数の第１のデータに分割する、
請求項２に記載のストレージシステム。
【請求項４】
前記一部のデータは、前記映像データまたは画像データのうちの、前記映像データまたは画像データを取得または撮影した時刻が所定の期間内に含まれるデータであり、
前記第２の蓄積手段は、前記一部の領域のデータを前記座標に応じて複数の第２のデータに分割し、分割後の複数の第２のデータのそれぞれの座標を前記第２のメタ情報として保持する、
請求項２または３に記載のストレージシステム。
【請求項５】
前記一部のデータは、前記ストリームデータのうちの相対的に利用頻度が高いデータ、または、予め指定されたデータである、
請求項１ないし４のいずれか１項に記載のストレージシステム。
【請求項６】
前記第２の蓄積手段は、受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されているか否かを、前記第２のメタ情報を参照して判定する、
請求項１ないし５のいずれか１項に記載のストレージシステム。
【請求項７】
前記第２の蓄積手段は、受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されている場合、前記第２のストレージ手段から該データを読み出し、それ以外の場合、該データが前記第１のストレージ手段に蓄積されているかどうかを判定するように前記第１の蓄積手段に指示する、
請求項６に記載のストレージシステム。
【請求項８】
コンピュータが、映像データまたは画像データであるストリームデータを、相対的に粗い粒度の複数の第１のデータに分割して第１のストレージ手段に蓄積するとともに、分割後の複数の第１のデータのそれぞれを識別する第１のメタ情報を保持するステップと、
前記ストリームデータに含まれる一部のデータを、前記映像データ又は前記画像データ上に定義した座標軸上の座標に応じて、相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段に蓄積するとともに、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持するステップと、を含む、
ことを特徴とするストレージ方法。
【請求項９】
前記一部のデータは、前記映像データまたは画像データが表す画面に含まれる一部の領域のデータである、
請求項８に記載のストレージ方法。
【請求項１０】
映像データまたは画像データであるストリームデータを相対的に粗い粒度の複数の第１のデータに分割して第１のストレージ手段に蓄積するとともに、分割後の複数の第１のデータのそれぞれを識別する第１のメタ情報を保持する処理と、
前記ストリームデータに含まれる一部のデータを、前記映像データ又は前記画像データ上に定義した座標軸上の座標に応じて、相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段に蓄積するとともに、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持する処理と、をコンピュータに実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、ストレージ方法、および、プログラムに関し、特に、ストリームデータを蓄積するストレージシステム、ストレージ方法、および、プログラムに関する。
【背景技術】
【０００２】
大容量のデータを格納するとともに、データが必要とされた際には必要な分だけデータを提供するストレージシステムが知られている。かかるストレージシステムに対して、切れ目がないデータから成るストリームデータを格納する場合、ストリームデータの特性に合わせて、活用または蓄積し易いデータの単位を定義し、そのデータ単位にストリームデータを分割した後、データの蓄積が行われる。
【０００３】
ストリームデータとして、例えば、ある地点を撮影し続けた高精細な映像データ、または、連続撮影した高精細な画像データ群を考えた場合、これらのデータを活用する際、映像データまたは画像データ群の一部にフォーカスする動作が行われる。すなわち、映像データや画像データ上に定義した座標軸を用いて（例えば、緯度、経度を座標軸として定義するなど）データの一部分を切り出す動作が行われる。また、これらのデータを蓄積する場合、映像データであれば、撮影したデータの時間軸方向に対してある一定時間ごとにデータを分割してデータの蓄積が行われる。一方、画像データであれば、撮影画像を単位としてデータの蓄積が行われる。
【０００４】
上述のようなデータの蓄積ないし活用環境において、数年から数十年単位の長期間に亘って連続して撮影したデータを保存し続けると、データの総容量がテラバイトからペタバイトのオーダーになることがある。このような場合、データの保存先となるストレージシステムは、蓄積メディアのバイト単価を考慮すると、磁気テープドライブや安価で大容量なハードディスクによって構成されることになる。特に、撮影した映像データまたは高精細画像データを、撮影の時間軸に沿って連続して読み出す場合、磁気テープドライブやハードディスクからの読み出しは、読み出すストリームデータを頭出しした後、メディア上に連続して書き込まれたデータを読むことになる。したがって、データを高速に読み出すことが可能となる。
【０００５】
また、上記のようなストリームデータを活用する際、データ本体以外に管理しなければならないデータとして、例えば、撮影した緯度、経度といった地理的な座標軸に基づく位置情報、時間情報、撮影主体の識別子（ＩＤ：Identifier）等のデータの関連情報（以下、「メタデータ」という。）が存在する。メタデータは、ストリームデータを活用する際、どの部分のデータを読み出して活用するのかを特定するために必要とされる。例えば、上述のデータストレージシステムに保存されたストリームデータの頭出しの際に先頭となるデータを特定する場合や、時間軸方向にどれだけのデータを読み出すかといったデータの読み出し範囲を決定する際に、メタデータが必要とされる。
【０００６】
関連技術として、特許文献１には、データの利用頻度に見合う性能を有する装置にデータを格納する（例えば、頻繁に利用されるデータに対して高性能の記憶装置を提供し、稀にしか使用されないデータに対して低性能の記憶装置を提供する）技術が記載されている。
【０００７】
また、特許文献２には、センタ配信サーバに登録されているコンテンツの少なくとも一部について、各々、先頭部分を予めキャッシュ用ストレージに格納し、コンテンツデータを短い時間のファイルに時間帯毎に分割する技術が記載されている。
【０００８】
さらに、特許文献３には、地図データの管理方法として、所定の領域で区切った図形データを領域ごとに分割してファイル管理し、抽出指定範囲が与えられると、当該範囲に属しているファイルを検索して地図データを出力する方法が記載されている。
【０００９】
また、特許文献４には、物件の測量を支援する装置であって、現在位置の情報を取得し、取得した現在位置の情報に基づいて、現在位置が事前に設定された位置範囲内にあるか否かを判断し、現在位置が当該位置範囲内にあると判断されたときにのみ、現在位置の情報を蓄積する装置が記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特表２０１４−５００５４２号公報
【特許文献２】特開２０１３−０８９９７７号公報
【特許文献３】特開２００４−２８７９３１号公報
【特許文献４】特開２００２−２４３５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
以下の分析は、本発明者によってなされたものである。
【００１２】
前述のストリームデータの蓄積や、データの活用に伴うデータの読み出しの際、ストリームデータ読み出し単位は、ストリームデータ蓄積時に分割したデータ単位となる。例えば、ある地点を撮影し続けた映像データの場合、時間方向に分割したデータ単位が読み出しの単位となる。一方、連続撮影した画像データの場合、撮影データ単位がデータの読み出し単位となる。
【００１３】
しかし、データの活用時に必要とされるデータが、ある地点における一部の領域のデータのみであった場合、不必要な部分のデータも含めて、データを一旦ストレージシステムから読み出し、必要な部分のみを抽出するといった余分な処理が発生するという問題がある。このような余分な処理は、データ活用に伴うデータの処理時間を増大させるというデメリットがある。
【００１４】
かかる問題に対応するため、予めストリームデータの蓄積単位をより細粒度にすることが考えられる。例えば、上記の撮影データの場合において、撮影したデータの位置座標軸に応じてデータを複数に分割して保存することにより、データの読み出し単位の粒度を細かくすることで、データの読み出し要求に応じて必要なデータのみを読み出すことが可能となる。
【００１５】
しかし、数年から数十年単位の長期間におよぶ撮影データを保存し続けた場合、データを細粒度で蓄積することにより、データを管理するためのメタデータの量も増大する。したがって、データ読み出し効率を優先すると、ストレージへの使用容量の効率が低下するという問題がある。また、メタデータの量が増大することにより、必要なデータがどこに格納されているかを特定するためのメタデータの探索処理も複雑となるため、処理時間の低下を招くおそれもある。なお、特許文献１ないし４に記載された技術によると、これらの問題を解決することは困難である。
【００１６】
そこで、メタデータの増大を防ぎつつ、蓄積されたストリームデータの中から要求されたデータを迅速に読み出すことができるようにすることが課題となる。本発明の目的は、かかる課題解決に寄与するストレージシステム、ストレージ方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【００１７】
本発明の第１の態様に係るストレージシステムは、映像データまたは画像データであるストリームデータを、相対的に粗い粒度の複数の第１のデータに分割して第１のストレージ手段に蓄積するとともに、分割後の複数の第１のデータのそれぞれを識別する第１のメタ情報を保持する第１の蓄積手段と、前記ストリームデータに含まれる一部のデータを、前記映像データ又は前記画像データ上に定義した座標軸上の座標に応じて、相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段に蓄積するとともに、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持する第２の蓄積手段と、を備えている。
【００１８】
本発明の第２の態様に係るストレージ方法は、コンピュータが、映像データまたは画像データであるストリームデータを、相対的に粗い粒度の複数の第１のデータに分割して第１のストレージ手段に蓄積するとともに、分割後の複数の第１のデータのそれぞれを識別する第１のメタ情報を保持するステップと、前記ストリームデータに含まれる一部のデータを、前記映像データ又は前記画像データ上に定義した座標軸上の座標に応じて、相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段に蓄積するとともに、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持するステップと、を含む。
【００１９】
本発明の第３の態様に係るプログラムは、映像データまたは画像データであるストリームデータを、相対的に粗い粒度の複数の第１のデータに分割して第１のストレージ手段に蓄積するとともに、分割後の複数の第１のデータのそれぞれを識別する第１のメタ情報を保持する処理と、前記ストリームデータに含まれる一部のデータを、前記映像データ又は前記画像データ上に定義した座標軸上の座標に応じて、相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段に蓄積するとともに、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持する処理と、をコンピュータに実行させる。なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することもできる。
【発明の効果】
【００２０】
本発明に係るストレージシステム、ストレージ方法、および、プログラムによると、メタデータの増大を防ぎつつ、蓄積されたストリームデータの中から要求されたデータを迅速に読み出すことが可能となる。
【図面の簡単な説明】
【００２１】
【図１】一実施形態に係るストレージシステムの構成を例示するブロック図である。
【図２】第１の実施形態に係るストレージシステムの構成を例示するブロック図である。
【図３】第１の実施形態に係るストレージシステムにおけるエリアキャッシュ管理部の構成を例示するブロック図である。
【図４】第１の実施形態に係るストレージシステムにおけるアーカイブ保存手段の構成を例示するブロック図である。
【図５】ストリームデータのフォーマットを例示する図である。
【図６】キャッシュデータのフォーマットとエリアキャッシュ管理部が保持するメタ情報の内容を例示する図である。
【図７】アーカイブデータのフォーマットとアーカイブ保存手段が保持するメタ情報の内容を例示する図である。
【発明を実施するための形態】
【００２２】
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００２３】
図１は、一実施形態に係るストレージシステムの構成を例示するブロック図である。図２は、後述の実施形態に係るストレージシステムの構成を例示するブロック図である。図１を参照すると、ストレージシステムは、ストリームデータを相対的に粗い粒度の複数の第１のデータに分割して第１のストレージ手段１４（例えば、図２のアーカイブストレージ１０６）に蓄積するとともに、分割後の複数の第１のデータのそれぞれを識別する第１のメタ情報を保持する第１の蓄積手段１２（例えば、図２のアーカイブ保存手段１０４）と、ストリームデータに含まれる一部のデータを相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段１８（例えば、図２のキャッシュ１０５）に蓄積するとともに、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持する第２の蓄積手段１６（例えば、図２のエリアキャッシュ管理部１０２）と、を備えている。
【００２４】
ここで、上記ストリームデータは、映像データまたは画像データであり、上記一部のデータは、前記映像データまたは画像データが表す画面に含まれる一部の領域のデータであってもよい。このとき、第１の蓄積手段１２は、映像データまたは画像データを取得または撮影した時刻に応じて、映像データまたは画像データを複数の第１のデータに分割してもよい。
【００２５】
また、上記一部のデータは、映像データまたは画像データのうちの、映像データまたは画像データを取得または撮影した時刻が所定の期間内に含まれるデータであり、第２の蓄積手段１６は、上記一部の領域のデータを座標に応じて複数の第２のデータに分割し、分割後の複数の第２のデータのそれぞれの座標を第２のメタ情報として保持してもよい。
【００２６】
さらに、上記一部のデータは、ストリームデータのうちの相対的に利用頻度が高いデータ、または、予め指定されたデータであってもよい。
【００２７】
また、第２の蓄積手段１６は、受け付けた検索要求に含まれる時刻および座標に対応するデータが第２のストレージ手段１８に蓄積されているか否かを、第２のメタ情報を参照して判定してもよい。さらに、第２の蓄積手段１６は、受け付けた検索要求に含まれる時刻および座標に対応するデータが第２のストレージ手段１８に蓄積されている場合、第２のストレージ手段１８から該データを読み出し、それ以外の場合、該データが第１のストレージ手段１４に蓄積されているかどうかを判定するように第１の蓄積手段１２に指示するようにしてもよい。
【００２８】
かかるストレージシステムによると、メタデータの増大を防ぎつつ、蓄積されたストリームデータの中から要求されたデータを迅速に読み出すことが可能となる。なぜなら、ストリームデータに含まれる一部のデータについてのみ、相対的に細かい粒度の複数の第２のデータに分割して第２のストレージ手段１８に蓄積し、分割後の複数の第２のデータのそれぞれを識別する第２のメタ情報を保持するようにしたことで、ストリームデータの全体を細かい粒度のデータに分割した場合と比較してメタデータの増大を防ぐことができ、かつ、利用頻度の高いデータを上記一部のデータとすることで、蓄積されたストリームデータの中から所望のデータを迅速に読み出すことができるからである。
【００２９】
上記ストレージシステムは、さらに、ストリームデータを取得または撮影した際に、時間方向にのみ分割して蓄積する（例えば、ある地点を撮影した映像や画像データの場合、撮影時の映像や画像を位置座標軸で分割することなく蓄積する）アーカイブストレージと、所定の期間内に取得または撮影したストリームデータのみを、位置座標軸で区切ったデータとして細粒度に分割して蓄積するＩ／Ｏ向けストレージの２種類のストレージを連動させて動作させるストレージシステムとして実現することもできる。
【００３０】
かかるストレージシステムにおいては、アーカイブストレージには、取得または撮影したすべてのストリームデータが格納され、一方、Ｉ／Ｏ向けストレージには、ストリームデータの一部のデータが格納される。また、かかるストレージシステムにおいて、Ｉ／Ｏ向けストレージは、ストリームデータの一部のデータを位置座標軸で分割した細粒度データとして蓄積している。ただし、Ｉ／Ｏ向けストレージは、データの位置座標や時間範囲をデータの読み出し要求命令として受けることにより、指定された前記範囲に該当する細粒度データを複数組み合わせてデータの要求元に返送するようにしてもよい。
【００３１】
このように、アーカイブストレージとＩ／Ｏ向けストレージを連動させたストレージシステムとすることで、ストリームデータの蓄積におけるデータ数、メタデータ数、および、これらの容量を削減しつつ、ある時間範囲のデータに関しては、要求されたストリームデータの一部を効率よく読み出すことが可能となる。例えば、ストリームデータの要求形態として、より最新のストリームデータの要求確率が高い場合、最新のデータをＩ／Ｏ向けストレージへ優先的に蓄積することにより、要求の大多数をＩ／Ｏ向けストレージに蓄積されたデータで応答し、ストリームデータの読み出し効率を上げることが可能となる。
【００３２】
ストリームデータに対するアクセスの際、ストリーム全体を先頭から検索し、必要な情報が見つかるまで逐次処理を行うと、必要なデータにアクセスするまで長い時間を要するという問題がある。一方、データを細分化し、細分化したデータに対するメタ情報を付与する方法によると、ストリームデータの増加に伴い、メタ情報の容量が増大し、検索速度の低下を招くおそれがある。しかしながら、上述のストレージシステムのように、利用頻度が高い（例えば、最近の）データを高速な媒体にストアし、かつ、データの細分化を図り、アクセス頻度が低いデータに対しては元のストリームデータの状態でアーカイブストレージに蓄積（ストア）することで、効率的なストリームデータ管理手段を提供することが可能となる。
【００３３】
＜実施形態１＞
次に、図面を参照しながら、第１の実施形態に係るストレージシステムについて詳細に説明する。図２は、本実施形態に係るストレージシステムの構成を例示するブロック図である。
【００３４】
図２を参照すると、ストレージシステムは、データ受信部１０１、エリアキャッシュ管理部１０２、検索要求受付部１０３、アーカイブ保存手段１０４、および、キャッシュ１０５を備えている。また、ストレージシステムは、外部に設けられたアーカイブストレージ１０６とデータのやり取りが可能なように接続されている。なお、ストレージシステムは、アーカイブストレージ１０６を含んで構成されていてもよい。
【００３５】
データ受信部１０１は、外部から入力されたストリームデータを受信する。データ受信部１０１は、受信したストリームデータをエリアキャッシュ管理部１０２に転送する。
【００３６】
エリアキャッシュ管理部１０２は、ストリームデータがエリアキャッシュ管理部１０２に設定されている座標の範囲であるかどうかを判定する。設定されている座標の範囲である場合、エリアキャッシュ管理部１０２は、エリアキャッシュ管理部１０２に接続されているキャッシュ１０５にストリームデータを格納する。
【００３７】
キャッシュ１０５は、高速な記憶媒体である。キャッシュ１０５は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＳＤ（Solid State Drive）などのフラッシュメモリ、ＨＤＤ（Hard Disk Drive）などで構成される。
【００３８】
エリアキャッシュ管理部１０２は、キャッシュ１０５に格納する際、キャッシュ１０５の空き領域がなければ、古いデータから削除を行い、新たな領域を確保した上でストリームデータをキャッシュ１０５に格納する。また、エリアキャッシュ管理部１０２に対しては、キャッシュを行う座標が設定される。設定方法として、手動で特定領域の設定を行うか、または、頻度が高い領域の座標を設定するなどの方法を用いることができる。なお、キャッシュ１０５の容量が許す限り、複数の座標を設定することができる。エリアキャッシュ管理部１０２は、それぞれの座標に対して上位からのストリームデータの内容をチェックする。また、エリアキャッシュ管理部１０２に座標が設定されているか否かに依らず、エリアキャッシュ管理部１０２は、受信したストリームデータをアーカイブ保存手段１０４に転送する。
【００３９】
アーカイブ保存手段１０４は、受け取ったストリームデータをアーカイブデータとしてアーカイブストレージ１０６に格納する。
【００４０】
検索要求受付部１０３は、ホストコンピュータ（非図示）からのデータ検索の要求（リクエスト）を受信する。検索要求は、データ取り出しの座標と時間を含み、それぞれ一定の範囲での検索を可能とする。検索要求は、座標として、例えば、映像または地図平面上のＸ軸とＹ軸の範囲でのパラメータを持つ。また、検索要求は、時間として、年日時秒などの情報を持ち、開始時間と終了時間で指定するか、開始時間からの経過で示すなどの方法で指定してもよい。
【００４１】
検索要求受付部１０３は、ホストコンピュータからの検索要求に対して、検索要求で指定された座標範囲と時間範囲をエリアキャッシュ管理部１０２に送信する。エリアキャッシュ管理部１０２は、管理されている複数のキャッシュの内容の検索を行い、該当するデータがキャッシュ１０５に存在する場合、データを検索要求受付部１０３に送信する。検索要求受付部１０３は、データをホストコンピュータに送信し、検索を終了する。
【００４２】
一方、エリアキャッシュ管理部１０２は、該当するデータがキャッシュ１０５に存在しない場合、該当するデータの属するストリームデータを取得するため、アーカイブ保存手段１０４に当該検索要求を送信する。アーカイブ保存手段１０４は、受信した検索要求で示される座標、時間範囲に該当するストリームデータを読み込み、検索範囲に該当するデータを抜き出した後、エリアキャッシュ管理部１０２に送信する。エリアキャッシュ管理部１０２は、該データを検索要求受付部１０３に送信する。検索要求受付部１０３は、ホストコンピュータにデータを転送し、処理を完了する。
【００４３】
ストリームデータを保存するアーカイブストレージ１０６として、低速、かつ、バイト当たりのコストが低い記憶媒体を用いることができる。前述のように、アーカイブストレージ１０６として、テープ、光ディスク、または、高密度なハードディスクなどを用いることができる。
【００４４】
図３は、図２に示したエリアキャッシュ管理部１０２の構成を例示するブロック図である。図３を参照すると、エリアキャッシュ管理部１０２は、メタ情報管理部２０１、メタ情報２０２、および、キャッシュデータ制御部２０３を備えている。メタ情報管理部２０１は、図２の検索要求受付部１０３からの検索リクエストを受信し、メタ情報２０２に該当する座標、時間範囲のデータの有無を検索するようにキャッシュデータ制御部２０３に指示する。
【００４５】
メタ情報２０２は、一例として、図６のメタ情報５０６のフォーマットを有する。メタ情報５０６は、取得した時間毎、または、一定の時間間隔を１つのデータとしてマージしたデータ単位に対して定義される。図６においては、キャッシュデータ５０１は、データ単位１〜ｎに分割されている。メタ情報５０６は細分化されたデータへのポインタ５０８を持ち、ある時間のデータをキャッシュから直ぐに取り出せる構造を有している。具体的には、ストリームデータ全体５０３の領域からキャッシュすべき領域５０５を切り出し、それぞれの区分（ここでは、Ｇ、Ｈ、Ｋ、Ｌに相当）毎のポインタをメタ情報５０６上のポインタ５０８としてそれぞれ持つ。
【００４６】
図４は、図２に示したアーカイブ保存手段１０４の構成を例示するブロック図である。図４を参照すると、アーカイブ保存手段１０４は、メタ情報管理部３０１、メタ情報３０２、および、アーカイブデータ制御部３０３を備えている。
【００４７】
メタ情報管理部３０１は、エリアキャッシュ管理部１０２から転送されたストリームデータを、アーカイブデータとしてアーカイブストレージ１０６に格納するようにアーカイブデータ制御部３０３に指示する。また、メタ情報管理部３０１は、エリアキャッシュ管理部１０２から受信した検索要求で示される座標、時間範囲に該当するストリームデータをアーカイブストレージ１０６から読み込み、検索範囲に該当するデータを抜き出すようにアーカイブデータ制御部３０３に指示し、取得したデータをエリアキャッシュ管理部１０２に送信する。
【００４８】
メタ情報３０２は、一例として、図７に示したメタ情報６０３のような構造を持つ。メタ情報６０３は、アーカイブを行うストリーム毎に座標と時刻の範囲を持つ。また、メタ情報６０３のエントリは、それぞれ、ストリームデータへのポインタを持ち、座標範囲または時間範囲で検索を行い、必要なデータが見つかった場合、該当するストリームデータへのアクセスを容易にする。
【００４９】
以下、図面を参照しつつ、本実施形態に係るストレージシステムの動作について説明する。
【００５０】
図５は、外部から入力されるストリームデータ４０１を例示する。映像や画像のストリーム毎にストリームデータ４０１が定義される。ストリームデータ４０１は、ある瞬間の映像、または、ある時間の範囲のデータで構成される。映像の範囲は座標で示され、データはそれぞれＸ座標、Ｙ座標で指定することが可能である。ストリームデータ４０１自体は１つの大きな固まりであり、ポインタやインデックスなどの途中のデータにアクセスするための情報を持たない。したがって、ストリームデータ中のデータにアクセスするには、時間軸で古いデータから順次デコードを行いながらアクセスを行い、所望のデータまでデータをデコードする必要がある。したがって、ストリームデータの一部のデータにアクセスするには、他の形式のデータにアクセスする場合と比較して長い時間を要する。
【００５１】
データ受信部１０１は、外部から入力されたストリームデータを受信する。データ受信部１０１は、受信したストリームデータをエリアキャッシュ管理部１０２に転送する。エリアキャッシュ管理部１０２は、ストリームデータがエリアキャッシュ管理部１０２で設定されている座標の範囲であるか否かを判定する。
【００５２】
図６は、図２のキャッシュ１０５が保持するキャッシュデータ５０１と、図３のメタ情報２０２の構成を例示する。例えば、入力されたストリームデータを５０３のような座標の範囲とし、キャッシュとして取り込むデータはＧ、Ｈ、Ｋ、Ｌに該当するデータとする。このとき、エリアキャッシュ管理部１０２は、ストリームデータ中からＧ、Ｈ、Ｋ、Ｌのデータを取り出し、キャッシュデータ５０１の先頭データ５０２の前に新たなデータ格納領域を作成する。同様に、エリアキャッシュ管理部１０２は、メタ情報５０６の先頭５０７の前に新たなメタ情報の領域を作成し、前述のキャッシュ領域へのポインタを５０８上にそれぞれ記録する。さらに、エリアキャッシュ管理部１０２は、領域５０９に取得したデータの時間情報を記録し、キャッシュデータの更新を終了する。
【００５３】
これと平行して、ストレージシステムは、ストリームデータのアーカイブストレージ１０６への記録も行う。図２のエリアキャッシュ管理部１０２は、アーカイブデータをアーカイブ保存手段１０４に送信する。アーカイブデータは、図５のストリームデータ４０１をそのまま記録したものである。図４に示したアーカイブ保存手段１０４のメタ情報管理部３０１は、メタ情報３０２として、図７に示したメタ情報６０３を持つ。例えば、前述のキャッシュデータに登録されたＸ座標、Ｙ座標がＡ〜Ｐで示されるストリームデータはＸ座標の範囲が２０〜４０に相当し、Ｙ座標が３０〜５０に相当するとした場合、ストリーム２が当該ストリームデータに相当する。
【００５４】
メタ情報管理部３０１は、アーカイブストレージ１０６上のストリーム２の領域に新たなデータの格納領域を作成する。また、メタ情報管理部３０１は、メタ情報６０３のストリーム２の時間情報を今回の新たな情報に更新する。さらに、メタ情報管理部３０１は、先ほど追加で確保したデータ領域にデータを追記するようにアーカイブデータ制御部３０３に指示し、アーカイブを完了する。アーカイブデータのアーカイブストレージ１０６への追記は、キャッシュ１０５上に蓄積するか否かに関係なく行われる。
【００５５】
なお、メタ情報管理部２０１は、キャッシュ１０５にデータを登録する際に、新たなデータ格納領域が確保できない場合、図６のキャッシュデータ５０１の古いものから削除する。図６に示した例では、メタ情報管理部２０１は、キャッシュデータ５０１のうちの一番古い領域ｎのデータを削除するとともに、メタ情報５０６におけるｎに相当する領域を削除する。
【００５６】
検索要求受付部１０３は、ホストコンピュータからのデータ検索の要求（リクエスト）を受信する。検索要求は、データ取り出しの座標と時間を含み、それぞれ一定の範囲での検索を可能とする。検索要求は、座標として、例えば、映像または地図平面上のＸ軸とＹ軸の範囲でのパラメータを持つ。また、検索要求は、時間として、年日時秒などの情報を持ち、開始時間と終了時間で指定するか、開始時間からの経過で示すなどの方法で指定してもよい。検索要求受付部１０３は、ホストコンピュータからの検索要求に対して、検索要求で指定された座標範囲と時間範囲をエリアキャッシュ管理部１０２に送信する。
【００５７】
エリアキャッシュ管理部１０２は、管理されている複数のキャッシュの内容の検索を行う。ここでは、一例として、検索の内容を「Ｘ座標が３０〜３５、Ｙ座標が３５〜４０、時間の範囲が２０１２年４月１５日１３：００〜１４：００」とする。検索要求受付部１０３は、かかる検索要求を受信すると、エリアキャッシュ管理部１０２に検索情報を転送する。
【００５８】
図３のメタ情報管理部２０１は、メタ情報２０２上に該当する範囲のデータが存在するか否か検索する。ここでは、一例として、図６に示すようなキャッシュデータ５０１とメタ情報５０６であるとする。Ｘ座標が３０〜３５、Ｙ座標が３５〜４０のデータはＫに該当する。また、Ｋのデータのうち、時間の範囲が上記の条件に該当するデータとしてデータ１と２が存在する。メタ情報管理部２０１は、メタ情報５０６の１と２の領域のポインタを参照し、キャッシュ１０５に格納されているキャッシュデータ５０１の１と２のデータ中からＫの情報を取り出し、検索要求受付部１０３に転送する。検索要求受付部１０３は、転送されたデータをホストコンピュータに返し、処理を完了する。
【００５９】
次に、検索要求受付部１０３がホストコンピュータから「Ｘ座標が２０〜２５、Ｙ座標が３０〜３５、時間の範囲が２０１２年４月１５日１１：００のデータ」の検索要求を受け付けた場合を考える。かかる検索要求は、図６におけるＭの領域に対する要求であることが分かる。メタ情報５０６上には、Ｍに対するエントリは存在しない。そこで、メタ情報管理部２０１は、検索要求をアーカイブ保存手段１０４に転送する。
【００６０】
アーカイブ保存手段１０４のメタ情報管理部３０１は、当該検索要求のアーカイブデータがアーカイブストレージ１０６にないかどうか調べるため、メタ情報３０２を検索する。ここでは、メタ情報３０２は、図７に示すメタ情報６０３の形式を持つものとする。メタ情報管理部３０１は、Ｘ座標が２０〜２５、Ｙ座標が３０〜３５、２０１２年４月１５日１１：００のデータを持つストリームがないかどうか検索する。ここでは、ストリーム２が一致する。そこで、メタ情報検索部３０１は、メタ情報３０２に基づいて、アーカイブストレージ１０６に格納されているストリーム２のアーカイブデータの中から前述のデータに該当するデータがないか全検索を行うようにアーカイブデータ制御部３０３に指示する。メタ情報管理部３０１は、検索結果を検索要求受付部１０３に返し、一連の検索処理を完了する。
【００６１】
上記構成を備えた本実施形態のストレージシステムによると、利用頻度が高いストリームデータは細粒度に管理することが可能となり、ホストコンピュータからのアクセスを、メタ情報を開始ポインタとして処理することが可能となる。また、必要最小限の小粒度データに対するアクセスで済むため、ストリームデータの読み出し効率を上げることが可能となる。さらに、アクセス頻度が低いデータはアーカイブのみ保存し、かつ、大きなデータ単位で管理することができるため、メタ情報を大幅に増加させることなくアクセス性能を改善することが可能となる。
【００６２】
なお、本発明において、下記の形態が可能である。
［形態１］
上記第１の態様に係るストレージシステムのとおりである。
［形態２］
前記ストリームデータは、映像データまたは画像データであり、
前記一部のデータは、前記映像データまたは画像データが表す画面に含まれる一部の領域のデータである、
形態１に記載のストレージシステム。
［形態３］
前記第１の蓄積手段は、前記映像データまたは画像データを取得または撮影した時刻に応じて、前記映像データまたは画像データを複数の第１のデータに分割する、
形態２に記載のストレージシステム。
［形態４］
前記一部のデータは、前記映像データまたは画像データのうちの、前記映像データまたは画像データを取得または撮影した時刻が所定の期間内に含まれるデータであり、
前記第２の蓄積手段は、前記一部の領域のデータを座標に応じて複数の第２のデータに分割し、分割後の複数の第２のデータのそれぞれの座標を前記第２のメタ情報として保持する、
形態２または３に記載のストレージシステム。
［形態５］
前記一部のデータは、前記ストリームデータのうちの相対的に利用頻度が高いデータ、または、予め指定されたデータである、
形態１ないし４のいずれか一に記載のストレージシステム。
［形態６］
前記第２の蓄積手段は、受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されているか否かを、前記第２のメタ情報を参照して判定する、
形態１ないし５のいずれか一に記載のストレージシステム。
［形態７］
前記第２の蓄積手段は、受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されている場合、前記第２のストレージ手段から該データを読み出し、それ以外の場合、該データが前記第１のストレージ手段に蓄積されているかどうかを判定するように前記第１の蓄積手段に指示する、
形態６に記載のストレージシステム。
［形態８］
上記第２の態様に係るストレージ方法のとおりである。
［形態９］
前記ストリームデータは、映像データまたは画像データであり、
前記一部のデータは、前記映像データまたは画像データが表す画面に含まれる一部の領域のデータである、
形態８に記載のストレージ方法。
［形態１０］
前記コンピュータは、前記映像データまたは画像データを取得または撮影した時刻に応じて、前記映像データまたは画像データを複数の第１のデータに分割する、
形態９に記載のストレージ方法。
［形態１１］
前記一部のデータは、前記映像データまたは画像データのうちの、前記映像データまたは画像データを取得または撮影した時刻が所定の期間内に含まれるデータであり、
前記コンピュータは、前記一部の領域のデータを座標に応じて複数の第２のデータに分割し、分割後の複数の第２のデータのそれぞれの座標を前記第２のメタ情報として保持する、
形態９または１０に記載のストレージ方法。
［形態１２］
前記一部のデータは、前記ストリームデータのうちの相対的に利用頻度が高いデータ、または、予め指定されたデータである、
形態８ないし１１のいずれか一に記載のストレージ方法。
［形態１３］
前記コンピュータが、受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されているか否かを、前記第２のメタ情報を参照して判定するステップを含む、
形態８ないし１２のいずれか一に記載のストレージ方法。
［形態１４］
前記コンピュータが、受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されている場合、前記第２のストレージ手段から該データを読み出すステップと、
それ以外の場合、該データが前記第１のストレージ手段に蓄積されているかどうかを判定するステップと、を含む、
形態１３に記載のストレージ方法。
［形態１５］
上記第３の態様に係るプログラムのとおりである。
［形態１６］
前記ストリームデータは、映像データまたは画像データであり、
前記一部のデータは、前記映像データまたは画像データが表す画面に含まれる一部の領域のデータである、
形態１５に記載のプログラム。
［形態１７］
前記映像データまたは画像データを取得または撮影した時刻に応じて、前記映像データまたは画像データを複数の第１のデータに分割する処理を、前記コンピュータに実行させる、
形態１６に記載のプログラム。
［形態１８］
前記一部のデータは、前記映像データまたは画像データのうちの、前記映像データまたは画像データを取得または撮影した時刻が所定の期間内に含まれるデータであり、
前記一部の領域のデータを座標に応じて複数の第２のデータに分割し、分割後の複数の第２のデータのそれぞれの座標を前記第２のメタ情報として保持する処理を、前記コンピュータに実行させる、
形態１６または１７に記載のプログラム。
［形態１９］
前記一部のデータは、前記ストリームデータのうちの相対的に利用頻度が高いデータ、または、予め指定されたデータである、
形態１５ないし１８のいずれか一に記載のプログラム。
［形態２０］
受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されているか否かを、前記第２のメタ情報を参照して判定する処理を、前記コンピュータに実行させる、
形態１５ないし１９のいずれか一に記載のプログラム。
［形態２１］
受け付けた検索要求に含まれる時刻および座標に対応するデータが前記第２のストレージ手段に蓄積されている場合、前記第２のストレージ手段から該データを読み出す処理と、
それ以外の場合、該データが前記第１のストレージ手段に蓄積されているかどうかを判定する処理と、を前記コンピュータに実行させる、
形態２０に記載のプログラム。
【００６３】
なお、本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００６４】
１０    ストレージシステム
１２    第１の蓄積手段
１４    第１のストレージ手段
１６    第２の蓄積手段
１８    第２のストレージ手段
１０１    データ受信部
１０２    エリアキャッシュ管理部
１０３    検索要求受付部
１０４    アーカイブ保存手段
１０５    キャッシュ
１０６    アーカイブストレージ
２０１、３０１    メタ情報管理部
２０２、３０２    メタ情報
２０３    キャッシュデータ制御部
３０３    アーカイブデータ制御部
４０１    ストリームデータ
４０２    ストリームデータを構成するデータ
４０３    画面内の領域
５０１    キャッシュデータ
５０２    先頭データ
５０３    画面
５０４    画面内の領域
５０５    画面
５０６    メタ情報
５０７    メタ情報の先頭
５０８    ポインタ
５０９    領域
６０１    アーカイブデータ
６０２    ストリーム
６０３    メタ情報
６０４    ストリーム２に対するメタ情報
【図１】
0006390196.tif 000002
【図２】
0006390196.tif 000003
【図３】
0006390196.tif 000004
【図４】
0006390196.tif 000005
【図５】
0006390196.tif 000006
【図６】
0006390196.tif 000007
【図７】
0006390196.tif 000008