JP2006330779A - 自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラム - Google Patents

自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラム Download PDF

Info

Publication number
JP2006330779A
JP2006330779A JP2005148905A JP2005148905A JP2006330779A JP 2006330779 A JP2006330779 A JP 2006330779A JP 2005148905 A JP2005148905 A JP 2005148905A JP 2005148905 A JP2005148905 A JP 2005148905A JP 2006330779 A JP2006330779 A JP 2006330779A
Authority
JP
Japan
Prior art keywords
block
content
error correction
storage device
blocks
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.)
Pending
Application number
JP2005148905A
Other languages
English (en)
Inventor
Toshihiro Uehara
年博 上原
Akira Taguchi
亮 田口
Haruo Yokota
治夫 横田
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.)
Tokyo Institute of Technology NUC
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Tokyo Institute of Technology NUC
Japan Broadcasting 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 Nippon Hoso Kyokai NHK, Tokyo Institute of Technology NUC, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2005148905A priority Critical patent/JP2006330779A/ja
Publication of JP2006330779A publication Critical patent/JP2006330779A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 自律ストレージシステムにおける、ある自律ストレージ装置に故障が発生した場合であっても、他の自律ストレージ装置によって、サービスを低下させることなく動作可能な自律ストレージ装置を提供する。
【解決手段】 自律ストレージ装置2は、コンテンツを、予め定めた分割数のコンテンツブロックに分割するコンテンツ分割手段21bと、コンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する誤り訂正符号ブロック生成手段21cと、ブロックを記憶するコンテンツ記憶手段30とを備え、コンテンツブロック及び誤り訂正符号ブロックの各ブロックを、自律ストレージ装置2並びに他の自律ストレージ装置に分散して記憶することを特徴とする。
【選択図】 図3

Description

本発明は、コンテンツ(データ)を分散して記憶するとともに、コンテンツの誤り訂正を可能にした自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラムに関する。
近年、コンピュータで利用するコンテンツのデータ量は増加し続けており、それに伴いコンテンツを記憶するハードディスク等の記憶装置(ストレージ)の容量も増大している。しかし、記憶装置は故障する可能性があるため、記憶装置の故障によるコンテンツの損失は、記憶装置の容量の増大に伴い大きくなっている。そこで、最近では、記憶装置の信頼性、安全性、可用性及び拡張性を向上させる技術として、自律ストレージシステムが提案されている(例えば、特許文献1参照)。
ここで、図11を参照して、従来の自律ストレージシステムにおけるコンテンツの記憶方法について説明する。図11は、従来の自律ストレージシステムにおけるコンテンツの記憶方法を模式的に示す図である。
図11に示すように、自律ストレージシステム1Dは、ここでは、ネットワークNに接続されたn台の自律ストレージ装置2D(2D1〜2Dn)で構成されている。この自律ストレージ装置2Dは、クライアントコンピュータ5等からデータの書き込み要求があったときに、各々の自律ストレージ装置2D(2D1〜2Dn)間でコンテンツの分散を行い、分散化されたコンテンツをコンテンツ記憶手段30D(30D1〜30Dn)に記憶するものである。
自律ストレージ装置2Dは、システム管理手段20Dとコンテンツ記憶手段30Dとで構成されている。
システム管理手段20Dは、CPUやメモリ等を備えたコンピュータであって、各システム管理手段20D(20D1〜20Dn)間で、コンテンツの分散や障害回復を行うものである。
コンテンツ記憶手段30Dは、ハードディスク等の一般的な記録媒体であって、ここでは、コンテンツの原データを蓄積するプライマリ領域Pと、コンテンツのバックアップデータを蓄積するバックアップ領域Bとに論理的に分割されている。
このように自律ストレージシステム1Dを構成することで、クライアントコンピュータ5等からコンテンツの書き込み要求があったときに、自律ストレージ装置2Dは、各システム管理手段20D(20D1〜20Dn)間でコンテンツの分散を行い、コンテンツ記憶手段30D(30D1〜30Dn)のプライマリ領域Pに原データ(P1〜Pn)を分散して書き込む。また、このとき、自律ストレージ装置2Dは、各システム管理手段20D(20D1〜20Dn)を介して、原データを蓄積した自律ストレージ装置とは異なる自律ストレージ装置のバックアップ領域Bに、コンテンツのバックアップデータ(B1〜Bn)を書き込む。例えば、自律ストレージ装置2D1のプライマリ領域Pに蓄積されている原データP1は、自律ストレージ装置2D1に論理的に隣接している自律ストレージ装置2D2のバックアップ領域BにバックアップデータB1として書き込まれる。
これによって、ある自律ストレージ装置2Dが故障した場合であっても、コンテンツの消失を防ぐことができる。
特開2003−1326668号公報(段落0004〜0006、図9)
前記した従来の自律ストレージシステムは、ある自律ストレージ装置が故障した場合であっても、バックアップデータを記憶しているため、自律ストレージシステム内で障害回復を行うことができ、システム全体の信頼性、安全性を高めることができる。
しかし、従来の自律ストレージシステムでは、1つのコンテンツに対して、同じデータ量のバックアップを生成する必要があるため、コンテンツを記憶するための記憶容量が2倍必要になり、自律ストレージシステムの導入コストを下げるための阻害要因となっていた。
また、従来の自律ストレージシステムでは、ある自律ストレージ装置が故障した場合、当該自律ストレージ装置に記憶されている原データが消失し、他の自律ストレージ装置にバックアップデータのみしか残らないことから、早急に障害回復処理を行う必要がある。また、この障害回復処理において、故障した自律ストレージ装置のバックアップデータを記憶している自律ストレージ装置において、バックアップデータを原データとして、その役割を変更させるとともに、その原データをさらに他の自律ストレージ装置にバックアップデータとして記憶(転送)させる必要がある。
このような障害回復処理を行う場合、自律ストレージ装置自体の処理とともに、ネットワークを介したデータ転送を伴うため、従来の自律ストレージシステムは、クライアントコンピュータ等に対するサービスを低下させてしまうという問題がある。
さらに、従来の自律ストレージシステムでは、原データを記憶している自律ストレージ装置と、そのバックアップデータを記憶している自律ストレージ装置とが同時に故障した場合、そのデータが回復できなくなるという問題がある。
なお、一般には、複数の記憶装置をまとめて1台の記憶装置として管理する技術として、RAID(Redundant Array of Inexpensive Disks)が知られている。しかし、このRAIDは、誤り訂正符号を例えば固定の記憶装置や、記憶装置の固定の物理領域に記憶するため、記憶装置に障害が発生した場合、その記憶装置全体を誤り訂正により回復させる必要があり、障害回復処理に時間がかかってしまうという問題がある。
本発明は、以上のような問題点に鑑みてなされたものであり、コンテンツの記憶容量を抑え、当該コンテンツを記憶している、ある記憶装置に故障が発生した場合であっても、サービスを低下させることなく動作し、複数の記憶装置に故障が発生した場合であっても動作を継続させることが可能で、さらに、障害回復処理の時間を短縮させることが可能な自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラムを提供することを目的とする。
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載のコンテンツ記憶装置は、コンテンツを複数の記憶装置に分散して記憶するコンテンツ記憶装置であって、コンテンツ分割手段と、誤り訂正符号ブロック生成手段と、複数の記憶装置とを備える構成とした。
かかる構成において、コンテンツ記憶装置は、コンテンツ分割手段によって、コンテンツを、予め定めた分割数のコンテンツブロックに分割する。そして、コンテンツ記憶装置は、誤り訂正符号ブロック生成手段によって、コンテンツ分割手段で分割されたコンテンツブロックにより、その分割されたすべてのコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する。この誤り訂正符号ブロックは、各コンテンツブロックの先頭ビット、先頭バイト等から順番に誤り訂正符号を生成し、ビット毎、バイト毎等のコンテンツブロックに対応するデータ毎に配列したデータである。なお、誤り訂正符号は、排他的論理和、リードソロモン符号等の一般的な符号を用いることができる。すなわち、誤り訂正符号ブロックは、その誤り訂正符号によって、1つのブロックである場合、あるいは、2つ以上のブロックとなる場合がある。
そして、コンテンツ記憶装置は、分割されたすべてコンテンツブロックと、1つ以上の誤り訂正符号ブロックとを、複数の記憶装置に分散して記憶する。
これによって、コンテンツブロックは、他のコンテンツブロックと誤り訂正符号ブロックとに基づいて回復が可能になり、コンテンツブロックが記憶装置から読み出せない等の障害があった場合でも、誤り訂正の範囲内で、コンテンツブロックの誤り訂正を行い、コンテンツブロックを回復させることができる。
また、請求項2に記載のコンテンツ記憶装置は、請求項1に記載のコンテンツ記憶装置において、ブロック誤り訂正手段と、ブロック結合手段とを備える構成とした。
かかる構成において、コンテンツ記憶装置は、コンテンツを回復させる場合、ブロック誤り訂正手段によって、複数の記憶装置に記憶されているコンテンツブロックと、誤り訂正符号ブロックとにより、コンテンツブロックの誤り訂正を行う。さらに、コンテンツ記憶装置は、ブロック結合手段によって、コンテンツブロックを結合してコンテンツを生成する(回復させる)。
これによって、コンテンツ記憶装置は、コンテンツブロックが記憶装置から読み出せない等の障害があった場合でも、動作中に、誤り訂正の範囲内で、コンテンツブロックの誤り訂正を行い、消失したコンテンツブロックを回復させることができる。
さらに、請求項3に記載の自律ストレージ装置は、ネットワークに複数接続されて、コンテンツを分散して記憶する自律ストレージ装置において、コンテンツ分割手段と、誤り訂正符号ブロック生成手段と、記憶先設定手段と、ブロック送信手段と、ブロック受信手段と、コンテンツ記憶手段とを備える構成とした。
かかる構成において、自律ストレージ装置は、コンテンツ分割手段によって、コンテンツを、予め定めた分割数のコンテンツブロックに分割する。そして、自律ストレージ装置は、誤り訂正符号ブロック生成手段によって、コンテンツ分割手段で分割されたコンテンツブロックにより、その分割されたすべてのコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する。
そして、自律ストレージ装置は、記憶先設定手段によって、予め定めた規則により、コンテンツブロック及び誤り訂正符号ブロックの各ブロックを、当該自律ストレージ装置に記憶するブロック、又は、他の自律ストレージ装置に記憶するブロックに設定する。なお、この規則は予め定めたものであれば特に内容を限定するものではない。例えば、先頭のコンテンツブロックを、当該自律ストレージ装置に記憶し、他のコンテンツブロック及び誤り訂正符号ブロックを、当該自律ストレージ装置に論理的に隣接する順番に他の自律ストレージ装置に記憶することとしてもよい。また、例えば、各自律ストレージ装置に記憶されているコンテンツの総容量を自律ストレージ装置間で交換し、その容量が最も少ない自律ストレージ装置に先頭のコンテンツブロックを記憶し、その自律ストレージ装置に論理的に隣接する順番に他のコンテンツブロック及び誤り訂正符号ブロックを記憶することとしてもよい。
そして、自律ストレージ装置は、ブロック送信手段によって、他の自律ストレージ装置に記憶するブロックとして設定されたブロックを、他の自律ストレージ装置に送信する。一方、他の自律ストレージ装置によって、当該自律ストレージ装置に記憶するブロックとして設定されたブロックは、ブロック受信手段によって、他の自律ストレージ装置から受信される。
そして、自律ストレージ装置は、当該自律ストレージ装置に記憶するブロックとして設定されたブロックと、ブロック受信手段で受信したブロックとをコンテンツ記憶手段に記憶する。
これによって、コンテンツは、ネットワークに接続された複数の自律ストレージ装置に、ブロック(コンテンツブロック及び誤り訂正符号ブロック)として分散して記憶され、自律ストレージ装置に障害等が発生した場合であっても、誤り訂正の範囲内で、コンテンツブロックの誤り訂正を行い、障害が発生した自律ストレージ装置に記憶させてあったコンテンツを回復させることができる。
また、請求項4に記載の自律ストレージ装置は、請求項3に記載の自律ストレージ装置において、ブロック収集手段と、ブロック誤り訂正手段と、ブロック結合手段とを備える構成とした。
かかる構成において、自律ストレージ装置は、コンテンツを回復させる場合、ブロック収集手段によって、コンテンツに対応する、他の自律ストレージ装置に記憶されているブロックを収集する。
そして、自律ストレージ装置は、ブロック誤り訂正手段によって、ブロック収集手段で収集されたブロックと、コンテンツ記憶手段に記憶されているブロックとにより、コンテンツブロックの誤り訂正を行う。さらに、自律ストレージ装置は、ブロック結合手段によって、誤り訂正がなされたコンテンツブロックを結合してコンテンツを生成する(回復させる)。
これによって、自律ストレージ装置は、他の自律ストレージ装置の障害等によって、コンテンツブロックが読み出せない場合でも、動作中に、誤り訂正の範囲内で、コンテンツブロックの誤り訂正を行い、消失したコンテンツブロックを回復させることができる。
さらに、請求項5に記載の自律ストレージ装置は、請求項3に記載の自律ストレージ装置において、ブロック分割手段と、誤り訂正符号サブブロック生成手段とを備え、コンテンツ記憶手段が複数の記憶装置を備える構成とした。
かかる構成において、自律ストレージ装置は、ブロック分割手段によって、当該自律ストレージ装置に記憶するブロックとして設定されたブロックと、ブロック受信手段で受信したブロックとの各ブロックを、予め定めた分割数のサブブロックであるデータサブブロックに分割する。
そして、自律ストレージ装置は、誤り訂正符号サブブロック生成手段によって、ブロック分割手段で分割されたすべてのデータサブブロックに対する誤り訂正符号からなる誤り訂正符号サブブロックを生成する。この誤り訂正符号サブブロックは、各データサブブロックの先頭ビット、先頭バイト等から順番に誤り訂正符号を生成し、ビット毎、バイト毎等のデータサブブロックに対応するデータ毎に配列したデータである。なお、誤り訂正符号は、誤り訂正符号ブロックと同様に、排他的論理和、リードソロモン符号等の一般的な符号を用いることができる。すなわち、誤り訂正符号サブブロックは、その誤り訂正符号によって、1つのサブブロックである場合、あるいは、2つ以上のサブブロックとなる場合がある。
そして、自律ストレージ装置は、分割されたすべてのデータサブブロックと、1つ以上の誤り訂正符号サブブロックとを、複数の記憶装置に分散して記憶する。
これによって、ブロックは、自律ストレージ装置内の複数の記憶装置に、サブブロック(データサブブロック及び誤り訂正符号サブブロック)として分散して記憶され、記憶装置に障害等が発生した場合であっても、誤り訂正の範囲内で、データサブブロックの誤り訂正を行い、障害が発生した記憶装置に記憶させてあったブロックを回復させることができる。
また、請求項6に記載の自律ストレージ装置は、請求項5に記載の自律ストレージ装置において、サブブロック誤り訂正手段と、サブブロック結合手段と、ブロック収集手段と、ブロック誤り訂正手段と、ブロック結合手段とを備える構成とした。
かかる構成において、自律ストレージ装置は、ブロックを回復させる場合、サブブロック誤り訂正手段によって、記憶装置に分散して記憶されているデータサブブロックと、誤り訂正符号サブブロックとに基づいて、データサブブロックの誤り訂正を行う。そして、自律ストレージ装置は、サブブロック結合手段によって、誤り訂正がなされたデータサブブロックを結合してブロックを生成する(回復させる)。
そして、自律ストレージ装置は、コンテンツを回復させる場合、ブロック収集手段によって、コンテンツに対応する、他の自律ストレージ装置に記憶されているブロックを収集する。
そして、自律ストレージ装置は、ブロック誤り訂正手段によって、ブロック収集手段で収集されたブロックと、コンテンツ記憶手段に記憶されているブロックとにより、コンテンツブロックの誤り訂正を行う。さらに、自律ストレージ装置は、ブロック結合手段によって、誤り訂正がなされたコンテンツブロックを結合してコンテンツを生成する(回復させる)。
さらに、請求項7に記載のコンテンツ分散プログラムは、コンテンツを複数の記憶装置に分散して記憶する自律ストレージ装置で、前記コンテンツを誤り訂正するために、コンピュータを、コンテンツ分割手段、誤り訂正符号ブロック生成手段、書き込み手段、読み出し手段、ブロック誤り訂正手段、ブロック結合手段として機能させる構成とした。
かかる構成において、コンテンツ分散プログラムは、コンテンツ分割手段によって、コンテンツを、予め定めた分割数のコンテンツブロックに分割する。そして、コンテンツ分散プログラムは、誤り訂正符号ブロック生成手段によって、コンテンツ分割手段で分割されたコンテンツブロックにより、その分割されたすべてのコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する。
そして、コンテンツ分散プログラムは、書き込み手段によって、分割されたすべてのコンテンツブロックと、1つ以上の誤り訂正符号ブロックとを、複数の記憶装置に分散して記憶する。
そして、コンテンツ分散プログラムは、コンテンツを回復させる場合、読み出し手段によって、複数の記憶装置に記憶されているコンテンツブロックと誤り訂正符号ブロックとを読み出す。そして、コンテンツ分散プログラムは、ブロック誤り訂正手段によって、コンテンツブロックと誤り訂正符号ブロックとにより、コンテンツブロックの誤り訂正を行い、ブロック結合手段によって、コンテンツブロックを結合してコンテンツを生成する(回復させる)。
また、請求項8に記載のコンテンツ分散プログラムは、ネットワークに複数接続されて、コンテンツを分散して記憶する自律ストレージ装置で、前記コンテンツを誤り訂正するために、コンピュータを、コンテンツ分割手段、誤り訂正符号ブロック生成手段、記憶先設定手段、ブロック送信手段、ブロック受信手段、書き込み手段、ブロック収集手段、読み出し手段、ブロック誤り訂正手段、ブロック結合手段として機能させる構成とした。
かかる構成において、コンテンツ分散プログラムは、コンテンツ分割手段によって、コンテンツを、予め定めた分割数のコンテンツブロックに分割する。そして、コンテンツ分散プログラムは、誤り訂正符号ブロック生成手段によって、コンテンツ分割手段で分割されたコンテンツブロックにより、その分割されたすべてのコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する。
そして、コンテンツ分散プログラムは、記憶先設定手段によって、予め定めた規則により、コンテンツブロック及び誤り訂正符号ブロックの各ブロックを、当該自律ストレージ装置に記憶するブロック、又は、他の自律ストレージ装置に記憶するブロックに設定する。
そして、コンテンツ分散プログラムは、ブロック送信手段によって、他の自律ストレージ装置に記憶するブロックとして設定されたブロックを、他の自律ストレージ装置に送信する。一方、他の自律ストレージ装置によって、当該自律ストレージ装置に記憶するブロックとして設定されたブロックは、ブロック受信手段によって、他の自律ストレージ装置から受信される。
そして、コンテンツ分散プログラムは、書き込み手段によって、当該自律ストレージ装置に記憶するブロックとして設定されたブロックと、ブロック受信手段で受信したブロックとをコンテンツ記憶手段に記憶する。
また、コンテンツ分散プログラムは、コンテンツを回復させる場合、ブロック収集手段によって、コンテンツに対応する、他の自律ストレージ装置に記憶されているブロックを収集する。
そして、コンテンツ分散プログラムは、読み出し手段によって、コンテンツに対応するブロックをコンテンツ記憶手段から読み出す。そして、コンテンツ分散プログラムは、ブロック誤り訂正手段によって、ブロック収集手段で収集されたブロックと、コンテンツ記憶手段から読み出されたブロックとにより、コンテンツブロックの誤り訂正を行う。そして、コンテンツ分散プログラムは、ブロック結合手段によって、誤り訂正がなされたコンテンツブロックを結合してコンテンツを生成する(回復させる)。
請求項1又は請求項7に記載の発明によれば、コンテンツを分割したコンテンツブロックと、そのコンテンツブロックから生成した誤り訂正符号ブロックとを、複数の記憶装置に分散して記憶するため、障害が発生した記憶装置に記憶させてあったコンテンツを回復させる場合に、従来のRAIDのように、障害が発生した記憶装置全体の記憶領域のデータを誤り訂正する必要がなく、コンテンツ単位で回復を行うことが可能になる。これによって、障害回復の時間を短くすることができる。
請求項2又は請求項7に記載の発明によれば、誤り訂正の範囲で、障害が発生した記憶装置に記憶されているブロックを回復させることができるので、動作を停止させることなく、サービスを継続して提供することが可能になる。
請求項3又は請求項8に記載の発明によれば、コンテンツを分割したコンテンツブロックと、そのコンテンツブロックから生成した誤り訂正符号ブロックとを、各自律ストレージ装置に分散して記憶するため、従来のようなすべてのコンテンツのバックアップデータを記憶する必要がなく、自律ストレージ装置の導入コストを低減させることが可能になる。
また、本発明によれば、コンテンツ単位で、誤り訂正符号ブロックを生成しているため、障害が発生した自律ストレージ装置に記憶させてあったコンテンツを回復させる場合に、従来のRAIDシステムのように、障害が発生した記憶装置全体の記憶領域のデータを誤り訂正する必要がなく、コンテンツ単位で回復を行うことが可能になる。これによって、障害回復の時間を短くすることができる。
請求項4又は請求項8に記載の発明によれば、誤り訂正の範囲で、障害が発生した自律ストレージ装置に記憶されているブロックを回復させることができるので、動作を停止させることなく、サービスを継続して提供することが可能になる。
請求項5に記載の発明によれば、ブロック単位で、誤り訂正符号サブブロックを生成しているため、障害が発生した記憶装置に記憶させてあったコンテンツを回復させる場合に、従来のRAIDのように、障害が発生した記憶装置全体の記憶領域のデータを誤り訂正する必要がなく、ブロック単位で回復を行うことが可能になる。これによって、障害回復の時間を短くすることができる。
請求項6に記載の発明によれば、誤り訂正の範囲で、障害が発生した記憶装置に記憶されているサブブロックを回復させることができるので、動作を停止させることなく、サービスを継続して提供することが可能になる。
また、本発明によれば、コンテンツを自律ストレージ装置間で分散するとともに、同一自律ストレージ装置内でも分散することによって、自律ストレージ装置間及び同一自律ストレージ装置内でそれぞれ誤り訂正を行うため、いずれか一方の誤り訂正が行えない場合であっても、他方の誤り訂正によって、コンテンツを回復させることができるため、コンテンツの安全性を高めることができる。
以下、本発明の実施の形態について図面を参照して説明する。
[自律ストレージシステムの構成]
まず、図1を参照して、本発明に係る自律ストレージシステムの構成について、その概要を説明する。図1は、本発明に係る自律ストレージシステムの構成を示す概略ブロック図である。
図1に示すように、自律ストレージシステム1は、ネットワークNに接続された複数(ここでは一例として11台)の自律ストレージ装置2(21〜211)を備えている。この自律ストレージシステム1は、各々の自律ストレージ装置2(21〜211)にコンテンツを分散して記憶し、同一のネットワークNに接続されたクライアントコンピュータ5等からコンテンツに対するアクセスである書き込み、読み出し等の要求に応答するものである。
なお、自律ストレージ装置2は、システム管理手段20と、コンテンツ記憶手段30とを備え(詳細な構成については後記する)、システム管理手段20によって、他の自律ストレージ装置との間で協働することで、コンテンツを分散してコンテンツ記憶手段30に記憶するものである。
ここで、自律ストレージシステム1は、クライアントコンピュータ5等からコンテンツの書き込み要求がなされた場合、いずれか1台の自律ストレージ装置2(例えば、自律ストレージ装置21)が、自律ストレージシステム1内のホストコンピュータとして機能し、他の自律ストレージ装置2(例えば、自律ストレージ装置22〜211)をホストコンピュータ以外のコンピュータ(非ホストコンピュータ)とし、コンテンツの記憶先を決定する。
なお、ホストコンピュータは、自律ストレージシステム1の予め定めた1台とすることとしてもよいし、クライアントコンピュータ5等から要求のあった自律ストレージ装置2が、ホストコンピュータとなって、他の自律ストレージ装置2と協働して、コンテンツの記憶先を決定することとしてもよい。
(コンテンツの分散記憶方法)
ここで、図1を参照して、自律ストレージシステム1におけるコンテンツの分散記憶方法について、その概要を説明する。
自律ストレージシステム1は、記憶するコンテンツを複数のブロック(コンテンツブロック)に分割するとともに、その分割したブロックに対する誤り訂正符号となるブロック(誤り訂正符号ブロック)を生成し、そのコンテンツブロック及び誤り訂正符号ブロックを、複数の自律ストレージ装置2に分散して記憶する。
例えば、図1の例では、自律ストレージシステム1は、コンテンツC1を、3つのコンテンツブロックC1-1,C1-2及びC1-3に分割し、そのコンテンツブロックに対する誤り訂正符号となる誤り訂正符号ブロックC1-Pを生成することで、各ブロック全体(C1-1,C1-2,C1-3及びC1-P)を1つのコンテンツC1としている。そして、自律ストレージシステム1は、コンテンツブロックC1-1を自律ストレージ装置21、コンテンツブロックC1-2を自律ストレージ装置22、コンテンツブロックC1-3を自律ストレージ装置23、誤り訂正符号ブロックC1-Pを自律ストレージ装置24にそれぞれ記憶している。
このように、誤り訂正符号ブロックを付加して、コンテンツを分散させることで、いずれかの自律ストレージ装置2に障害が発生した場合であっても、コンテンツを回復させることができる。
さらに、各自律ストレージ装置2は、図2に示すように、記憶するブロック(コンテンツブロック又は誤り訂正符号ブロック)を分割し、複数の記憶装置300に記憶することとしている。図2は、自律ストレージ装置2のコンテンツ記憶手段30の構成と、ブロックの記憶状態とを模式的に示した図である。
図2に示すように、自律ストレージ装置2は、コンテンツ記憶手段30として複数(ここでは一例として5台)の記憶装置300を備えている。そして、自律ストレージ装置2は、記憶するブロックを複数のサブブロック(データサブブロック)に分割するとともに、その分割したデータサブブロックに対する誤り訂正符号となるサブブロック(誤り訂正符号サブブロック)を生成し、そのデータサブブロック及び誤り訂正符号サブブロックを、複数の記憶装置300に分散して記憶する。
例えば、図2の例では、自律ストレージ装置2は、ブロック(コンテンツブロック)C1-1を、4つのデータサブブロックC1-1-1,C1-1-2,C1-1-3及びC1-1-4に分割し、そのデータサブブロックに対する誤り訂正符号となる誤り訂正符号サブブロックC1-1-Pを生成することで、各サブブロック全体(C1-1-1,C1-1-2,C1-1-3,C1-1-4及びC1-1-P)を1つのブロックC1-1としている。そして、自律ストレージ装置2は、データサブブロックC1-1-1を記憶装置3001、データサブブロックC1-1-2を記憶装置3002、データサブブロックC1-1-3を記憶装置3003、データサブブロックC1-1-4を記憶装置3004、誤り訂正符号サブブロックC1-1-Pを記憶装置3005にそれぞれ記憶している。
このように、誤り訂正符号サブブロックを付加して、ブロック(コンテンツブロック又は誤り訂正符号ブロック)を分散させることで、いずれかの記憶装置300に障害が発生した場合であっても、ブロックを回復させることができる。
(自律ストレージ装置の構成)
次に、図3を参照して、本発明に係る自律ストレージ装置の構成について詳細に説明する。図3は、本発明に係る自律ストレージ装置の構成を示すブロック図である。
図3に示すように、自律ストレージ装置2は、通信送受信手段10と、システム管理手段20と、コンテンツ記憶手段30とを備えている。
通信送受信手段10は、ネットワークNを介して、クライアントコンピュータや他の自律ストレージ装置(図1参照)と、データの送受信を行うものである。例えば、通信送受信手段10は、TCP/IP(Transmission Control Protocol/Internet Protocol)の通信プロトコルによってデータの送受信を行う通信ボードである。
システム管理手段20は、自律ストレージ装置2全体の制御を行うものである。例えば、システム管理手段20は、CPU(Central Processing Unit)やメモリ等を備えたコンピュータであって、他の自律ストレージ装置と協働して、コンテンツの分散管理を行うものである。ここでは、システム管理手段20は、コンテンツ格納手段21と、コンテンツ配信手段22と、制御情報受信手段23と、制御情報送信手段24と、コンテンツ管理手段25と、コンテンツ操作制御手段26と、読み出し手段27と、書き込み手段28とを備えている。
コンテンツ格納手段21は、通信送受信手段10を介して、コンテンツを取得し、コンテンツ記憶手段30に記憶するものである。ここでは、コンテンツ格納手段21は、コンテンツ受信手段21aと、コンテンツ分割手段21bと、誤り訂正符号ブロック生成手段21cと、ブロック分割手段21dと、誤り訂正符号サブブロック生成手段21eと、ブロック受信手段21fとを備えている。
コンテンツ受信手段21aは、通信送受信手段10を介して取得したコンテンツを受信するものである。このコンテンツ受信手段21aは、コンテンツ操作制御手段26から通知されるコンテンツの送信元(例えば、クライアントコンピュータ)から、通信送受信手段10を介してコンテンツを受信する。このコンテンツ受信手段21aで受信したコンテンツは、コンテンツ分割手段21bに出力される。
コンテンツ分割手段21bは、コンテンツを予め定めた分割数のブロック(コンテンツブロック)に分割するものである。例えば、図1に示したように、コンテンツC1を分割する場合、コンテンツ分割手段21bは、コンテンツC1を先頭のバイトデータから順番にバイト単位で3分割することで、コンテンツブロックC1-1,C1-2及びC1-3を生成する。このコンテンツ分割手段21bで分割されたコンテンツブロックは、誤り訂正符号ブロック生成手段21cに出力される。
なお、コンテンツ分割手段21bは、コンテンツを分割する分割数を、コンテンツ毎に定めることとしてもよい。
誤り訂正符号ブロック生成手段21cは、コンテンツ分割手段21bで分割されたコンテンツブロックに基づいて、分割されたすべてのコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成するものである。例えば、誤り訂正符号ブロック生成手段21cは、分割されたすべてのコンテンツブロックをバイト単位で排他的論理和(Exclusive−OR)演算を行い、その演算結果であるバイトデータ列を誤り訂正符号ブロックとする。
また、誤り訂正符号ブロック生成手段21cは、コンテンツ分割手段21bにおいて、コンテンツが等分に分割されなかった場合、例えば、図1において、コンテンツブロックC1-2及びC1-3又はコンテンツブロックC1-3のバイト長が、コンテンツブロックC1-1よりも1バイト短い場合、そのバイト長の短いコンテンツブロックに、値が“0x00”となる1バイト分のデータ(ダミーデータ)を付加して排他的論理和演算を行う。
なお、ここでは、バイト単位で誤り訂正符号を生成することとしたが、ビット単位で誤り訂正符号を生成することとしてもよい。
また、この誤り訂正符号には、一般的な誤り訂正符号を用いることが可能で、リードソロモン(RS)符号等を用いることとしてもよい。例えば、リードソロモン(n,k)符号を用いる場合、誤り訂正符号ブロック生成手段21cは、k個のコンテンツブロックに対して、(n−k)個の誤り訂正ブロックを生成する。これによって、(n−k)個のコンテンツブロックの消失に対して、コンテンツブロックの回復が可能になる。
また、誤り訂正符号ブロック生成手段21cは、コンテンツ操作制御手段26から通知されるブロックの記憶先(当該自律ストレージ装置21又は他の自律ストレージ装置)により、入力されたコンテンツブロック及び生成した誤り訂正符号ブロックの出力先を替える。ここでは、誤り訂正符号ブロック生成手段21cは、記憶先として当該自律ストレージ装置21が指示されたブロックをブロック分割手段21dに出力する。また、記憶先として他の自律ストレージ装置が指示されたブロックをコンテンツ配信手段22のブロック送信手段22fに出力する。
ブロック分割手段21dは、誤り訂正符号ブロック生成手段21cから出力されるブロック(コンテンツブロック又は誤り訂正符号ブロック)、又は、ブロック受信手段21fから出力されるブロックを、予め定めた分割数のサブブロック(データサブブロック)に分割するものである。例えば、図2に示したように、ブロックC1-1を分割する場合、ブロック分割手段21dは、ブロックC1-1を先頭のバイトデータから順番にバイト単位で4分割することで、データサブブロックC1-1-1,C1-1-2,C1-1-3及びC1-1-4を生成する。このブロック分割手段21dで分割されたデータサブブロックは、誤り訂正符号サブブロック生成手段21eに出力される。
なお、ブロック分割手段21dは、ブロックを分割する分割数を、ブロック毎に定めることとしてもよい。
誤り訂正符号サブブロック生成手段21eは、ブロック分割手段21dで分割されたデータサブブロックに基づいて、分割されたすべてのデータサブブロックに対する誤り訂正符号からなる誤り訂正符号サブブロックを生成するものである。例えば、誤り訂正符号サブブロック生成手段21eは、分割されたすべてのデータサブブロックを、誤り訂正符号ブロック生成手段21cと同様に、バイト単位で排他的論理和演算を行い、その演算結果であるバイトデータ列を誤り訂正符号サブブロックとする。
また、誤り訂正符号サブブロック生成手段21eは、ブロック分割手段21dにおいて、ブロックが等分に分割されなかった場合、データ長が短いデータサブブロックに値が“0x00”となる1バイト分のデータ(ダミーデータ)を付加して排他的論理和演算を行う。なお、ここでは、バイト単位で誤り訂正符号を生成することとしたが、ビット単位で誤り訂正符号を生成することとしてもよい。
また、この誤り訂正符号には、誤り訂正符号ブロック生成手段21cと同様に一般的な誤り訂正符号を用いることが可能で、リードソロモン符号等を用いることとしてもよい。例えば、リードソロモン(n,k)符号を用いる場合、誤り訂正符号サブブロック生成手段21eは、k個のデータサブブロックに対して、(n−k)個の誤り訂正符号サブブロックを生成する。これによって、(n−k)個のデータサブブロックの消失に対して、データサブブロックの回復が可能になる。
そして、誤り訂正符号サブブロック生成手段21eは、入力されたデータサブブロックと、生成した誤り訂正符号サブブロックとを、コンテンツ記憶手段30に記憶する。
なお、誤り訂正符号サブブロック生成手段21eは、コンテンツ操作制御手段26から通知されるサブブロック(データサブブロック及び誤り訂正符号サブブロック)の記憶先(記憶装置300)に基づいて、書き込み手段28を介して、サブブロックをコンテンツ記憶手段30の各記憶装置300に分散して記憶する。
ブロック受信手段21fは、他の自律ストレージ装置2から送信されるブロック(コンテンツブロック又は誤り訂正符号ブロック)を、通信送受信手段10を介して受信するものである。
なお、ブロック受信手段21fは、コンテンツ操作制御手段26から通知されるブロックの出力先により、受信したブロックの出力先を、ブロック分割手段21dかブロック誤り訂正手段22cかのいずれか一方に出力する。
すなわち、自律ストレージ装置21が非ホストコンピュータとして機能する場合に、ブロック受信手段21fがブロックをブロック分割手段21dに出力することを指示されることで、当該ブロックは自律ストレージ装置21内に記憶されることになる。
また、自律ストレージ装置21がホストコンピュータとして機能する場合に、ブロック受信手段21fがブロックをブロック誤り訂正手段22cに出力することを指示されることで、当該ブロックはコンテンツを回復させるために使用されることになる。
コンテンツ配信手段22は、通信送受信手段10を介して、コンテンツ記憶手段30に記憶されているコンテンツを、そのコンテンツを要求した要求元(例えば、クライアントコンピュータ)に配信したり、コンテンツ記憶手段30に記憶されているコンテンツを構成するブロックを、そのブロックを要求した要求元(他の自律ストレージ装置)に配信したりするものである。ここでは、コンテンツ配信手段22は、サブブロック誤り訂正手段22aと、サブブロック結合手段22bと、ブロック誤り訂正手段22cと、ブロック結合手段22dと、コンテンツ送信手段22eと、ブロック送信手段22fとを備えている。
サブブロック誤り訂正手段22aは、コンテンツ操作制御手段26から指定されるサブブロックの記憶元(記憶装置300)から、同じく指定されたサブブロック(データサブブロック及び誤り訂正符号サブブロック)を、読み出し手段27を介して読み出し、誤り訂正を行ったデータサブブロックを生成するものである。
例えば、誤り訂正符号サブブロックが、複数のデータサブブロックの排他的論理和演算によって生成されたものであって、あるデータサブブロックにおいて、データが消失した場合、あるいは、記憶装置300の障害等によってデータサブブロックが読み出せない場合、サブブロック誤り訂正手段22aは、正常に読み出せたデータサブブロックと、誤り訂正符号サブブロックとを排他的論理和演算することで、消失したデータサブブロック、あるいは、読み出せなかったデータサブブロックを回復させる。
このサブブロック誤り訂正手段22aにおいて、誤り訂正がなされたデータサブブロックは、サブブロック結合手段22bに出力される。
なお、サブブロック誤り訂正手段22aは、複数の記憶装置300の障害によって、データサブブロックの誤り訂正が行えない場合、その旨をサブブロック結合手段22bに出力する。
サブブロック結合手段22bは、サブブロック誤り訂正手段22aで誤り訂正がなされたデータサブブロックを結合し、ブロック(コンテンツブロック又は誤り訂正符号ブロック)を生成するものである。
なお、サブブロック結合手段22bは、コンテンツ操作制御手段26から通知される送信先により、ブロックの出力先を、ブロック誤り訂正手段22cかブロック送信手段22fかのいずれか一方に出力する。
すなわち、自律ストレージ装置21がホストコンピュータとして機能する場合、サブブロック結合手段22bがブロックをブロック誤り訂正手段22cに出力することを指示されることで、当該ブロックは当該自律ストレージ装置21でコンテンツを回復させるために使用されることになる。
また、自律ストレージ装置21が非ホストコンピュータとして機能する場合、サブブロック結合手段22bがブロックをブロック送信手段22fに出力することを指示されることで、当該ブロックはホストコンピュータ(他の自律ストレージ装置2)でコンテンツを回復させるために使用されることになる。
なお、サブブロック結合手段22bは、サブブロック誤り訂正手段22aにおいて、誤り訂正が行えなかった場合には、当該ブロックを障害ブロックとしてブロック誤り訂正手段22c又はブロック送信手段22fに出力する。
ブロック誤り訂正手段22cは、後記するコンテンツ管理手段25のブロック収集手段25cの指示によって、他の自律ストレージ装置2から収集した、ブロック受信手段21fで受信したブロック(コンテンツブロック又は誤り訂正符号ブロック)と、サブブロック結合手段22bで結合されたコンテンツ記憶手段30に記憶されているブロック(コンテンツブロック又は誤り訂正符号ブロック)とに基づいて、コンテンツブロックの誤り訂正を行うものである。
例えば、誤り訂正符号ブロックが、複数のコンテンツブロックの排他的論理和演算によって生成されたものであって、あるコンテンツブロックにおいて、当該ブロックが消失した場合(障害ブロックである場合)、あるいは、他の自律ストレージ装置2の障害等によってコンテンツブロックが受信できない場合、ブロック誤り訂正手段22cは、正常なコンテンツブロックと、誤り訂正符号ブロックとを排他的論理和演算することで、消失したコンテンツブロック、あるいは、受信できなかったコンテンツブロックを回復させる。
このブロック誤り訂正手段22cにおいて、誤り訂正がなされたコンテンツブロックは、ブロック結合手段22dに出力される。
なお、ブロック誤り訂正手段22cは、障害ブロックが複数あって、コンテンツブロックの誤り訂正が行えない場合、その旨をコンテンツ管理手段25に通知し、コンテンツを要求したクライアントコンピュータ等に通知する。
ブロック結合手段22dは、ブロック誤り訂正手段22cで誤り訂正がなされたコンテンツブロックを結合し、コンテンツを生成するものである。このブロック結合手段22dで生成されたコンテンツは、コンテンツ送信手段22eに出力される。
コンテンツ送信手段22eは、ブロック結合手段22dで生成されたコンテンツを、コンテンツ操作制御手段26から通知されるコンテンツの送信先(例えば、クライアントコンピュータ)に、通信送受信手段10を介して送信するものである。
ブロック送信手段22fは、誤り訂正符号ブロック生成手段21cで生成されたブロック、又は、サブブロック結合手段22bで生成されたブロックを、コンテンツ操作制御手段26から通知されるブロックの送信先(他の自律ストレージ装置等)に、通信送受信手段10を介して送信するものである。
制御情報受信手段23は、通信送受信手段10を介して、クライアントコンピュータ、他の自律ストレージ装置(図1参照)等から、コンテンツ以外のデータである制御情報を受信するものである。この制御情報受信手段23で受信した制御情報は、コンテンツ管理手段25に出力される。
制御情報送信手段24は、コンテンツ管理手段25から出力される制御情報を、通信送受信手段10を介して、クライアントコンピュータ、他の自律ストレージ装置(図1参照)等に送信するものである。
ここで、制御情報は、コンテンツを格納する(書き込む)旨を示すコンテンツ格納指示、コンテンツを配信する(読み出す)旨を示すコンテンツ配信指示、ブロックを格納する(書き込む)旨を示すブロック格納指示、ブロックを配信する(読み出す)旨を示すブロック配信指示等、あるいはこれらの指示に対する応答等である。
コンテンツ管理手段25は、制御情報受信手段23で受信した制御情報に基づいて、コンテンツの管理を行うものである。ここでは、コンテンツ管理手段25は、役割設定手段25aと、記憶先設定手段25bと、ブロック収集手段25cとを備えている。
役割設定手段25aは、当該自律ストレージ装置21をホストコンピュータとして機能させるか、非ホストコンピュータとして機能させるかを設定するものである。
なお、この役割設定手段25aは、例えば、クライアントコンピュータから、コンテンツ格納指示を制御情報として受信した場合、その制御情報を受信した自律ストレージ装置を、ホストコンピュータとして設定する。あるいは、他の自律ストレージ装置と協働し、コンテンツ記憶手段30に記憶されているコンテンツの量が最も少ない自律ストレージ装置をホストコンピュータとして設定することとしてもよい。
また、役割設定手段25aは、例えば、クライアントコンピュータから、コンテンツ配信指示を制御情報として受信した場合、その制御情報を受信した自律ストレージ装置を、ホストコンピュータとして設定する。あるいは、他の自律ストレージ装置と協働し、分割されたコンテンツブロックの先頭ブロックが記憶されている自律ストレージ装置をホストコンピュータとして設定することとしてもよい。
記憶先設定手段25bは、当該自律ストレージ装置21が、ホストコンピュータとして機能する場合に、予め定めた規則に基づいて、ブロック(コンテンツブロック及び誤り訂正符号ブロック)の記憶先を設定するものである。
例えば、コンテンツブロックの先頭となるブロックを、当該自律ストレージ装置21に記憶し、他のブロックを当該自律ストレージ装置21に論理的に隣接する(例えば、IPアドレスが昇順となる)自律ストレージ装置に順番に記憶するといった規則を予め定めておくことで、記憶先設定手段25bは、各ブロックの記憶先を設定する。
この記憶先設定手段25bで設定された記憶先は、コンテンツ記憶手段30のいずれか決められた記憶装置300になるとともに、コンテンツ操作制御手段26を介して、コンテンツ格納手段21に出力される。
なお、各ブロックは、必ずしも論理的に隣接する自律ストレージ装置の順番に記憶される必要はなく、予め規則として定めたものであれば、どの自律ストレージ装置に記憶されてもよい。
ブロック収集手段25cは、当該自律ストレージ装置21が、ホストコンピュータとして機能する場合に、他の自律ストレージ装置に記憶されているブロックを収集するものである。
このブロック収集手段25cは、コンテンツ配信指示を制御情報として受信した場合に、記憶先設定手段25bで設定された記憶先に基づいて、要求のあったコンテンツを構成するブロックを収集するための、ブロック配信指示を他の自律ストレージ装置に送信する。これによって、他の自律ストレージ装置に分散して記憶されているブロックが、当該自律ストレージ装置21に配信されることになる。
コンテンツ操作制御手段26は、コンテンツ管理手段25から出力される各種指示に基づいて、コンテンツの操作を行うものである。このコンテンツ操作制御手段26は、コンテンツ格納指示に基づいて、コンテンツ格納手段21及びコンテンツ配信手段22に対して、コンテンツの送信元と、コンテンツを分割した際のブロックの記憶先(当該自律ストレージ装置21又は他の自律ストレージ装置)とを通知することで、コンテンツの格納(記憶)を行う。また、コンテンツ操作制御手段26は、コンテンツ配信指示に基づいて、コンテンツ格納手段21及びコンテンツ配信手段22に対して、コンテンツの送信先と、分割されているブロックの記憶元を通知することで、コンテンツを回復させ、回復したコンテンツをクライアントコンピュータに配信する。
読み出し手段27は、コンテンツ記憶手段30に記憶されているブロック(コンテンツブロック及び誤り訂正符号ブロック)を読み出すものである。なお、ここでは、読み出し手段27は、コンテンツ記憶手段30の記憶装置300に分散して記憶されているサブブロック単位で、読み出し要求のあったブロックの読み出しを行い、サブブロック単位でコンテンツ配信手段22に出力する。
書き込み手段28は、コンテンツ格納手段21から出力されるブロックをコンテンツ記憶手段30に記憶するものである。なお、ここでは、書き込み手段28は、ブロックをコンテンツ格納手段21から出力されるサブブロック単位で、記憶装置300に分散して記憶する。
コンテンツ記憶手段30は、コンテンツを予め定めた分割数に分割したブロック単位で、記憶するものである。なお、ここでは、コンテンツ記憶手段30は、複数の記憶装置300を備え、さらにブロックを予め定めた分割数に分割したサブブロック単位で各記憶装置300に記憶することとしている。
記憶装置300は、サブブロックを記憶するもので、ハードディスク等の一般的な記憶装置である。
ここで、図4を参照して、コンテンツ記憶手段30及び記憶装置300に記憶するコンテンツの記憶状態について例を示して説明する。図4は、コンテンツ記憶手段及び記憶装置におけるコンテンツの記憶状態を模式的に示した図であって、(a)は誤り訂正符号を排他的論理和演算により生成した場合、(b)は誤り訂正符号をリードソロモン符号で生成した場合を示している。
図4(a)に示すように、誤り訂正符号を排他的論理和演算により生成した場合、コンテンツC1は、複数(ここでは3つ)のブロック(コンテンツブロック)C1-1,C1-2,C1-3に対して、1つの誤り訂正符号ブロックC1-Pが生成され、4台の自律ストレージ装置21,22,23,24に分散されて記憶される。
また、1つのブロックC1-1は、複数(ここでは3つ)のサブブロック(データサブブロック)C1-1-1,C1-1-2,C1-1-3に対して、1つの誤り訂正符号サブブロックC1-1-Pが生成され、自律ストレージ装置21のコンテンツ記憶手段30内の4台の記憶装置3001,3002,3003,3004に分散されて記憶される。
これによって、ブロック(コンテンツブロック)C1-1,C1-2,C1-3のいずれか1つ、あるいは、自律ストレージ装置21,22,23のいずれか1台に障害が発生し、1つのコンテンツブロックが読み出せない場合であっても、他の読み出し可能なコンテンツブロック及び誤り訂正符号ブロックによって、読み出し不可のコンテンツブロックを回復させることができる。
さらに、サブブロック(データサブブロック)C1-1-1,C1-1-2,C1-1-3において、コンテンツブロックと同様に、1つのデータサブブロックが読み出せない場合であっても、他の読み出し可能なデータサブブロック及び誤り訂正符号サブブロックによって、読み出し不可のデータサブブロックを回復させることができる。
また、図4(b)に示すように、誤り訂正符号をリードソロモン符号(ここでは、リードソロモン(5,3)符号)とした場合、コンテンツC1は、複数(ここでは3つ)のブロック(コンテンツブロック)C1-1,C1-2,C1-3に対して、2つの誤り訂正符号ブロックC1-P1,C1-P2が生成され、5台の自律ストレージ装置21,22,23,24,25に分散されて記憶される。
また、1つのブロックC1-1は、複数(ここでは3つ)のサブブロック(データサブブロック)C1-1-1,C1-1-2,C1-1-3に対して、2つの誤り訂正符号サブブロックC1-1-P1,C1-1-P2が生成され、自律ストレージ装置21のコンテンツ記憶手段30内の5台の記憶装置3001,3002,3003,3004,3005に分散されて記憶される。
これによって、ブロック(コンテンツブロック、誤り訂正符号ブロック)C1-1,C1-2,C1-3,C1-P1,C1-P2のいずれか2つ、あるいは、自律ストレージ装置21,22,23,24,25のいずれか2台に障害が発生し、いずれか2つのブロックが読み出せない場合であっても、他の読み出し可能なコンテンツブロック及び誤り訂正符号ブロックによって、読み出し不可のコンテンツブロックを回復させることができる。
さらに、サブブロック(データサブブロック、誤り訂正符号サブブロック)C1-1-1,C1-1-2,C1-1-3,C1-1-P1,C1-1-P2のいずれか2つ、あるいは、記憶装置3001,3002,3003,3004,3005のいずれか2台に障害が発生し、いずれか2つのサブブロックが読み出せない場合であっても、他の読み出し可能なデータサブブロック及び誤り訂正符号サブブロックによって、読み出し不可のデータサブブロックを回復させることができる。
以上、本発明に係る自律ストレージ装置2の構成について説明したが、本発明はこれに限定されるものではない。
例えば、自律ストレージ装置2は、コンテンツを分割したブロックを、サブブロックに分割せずにそのまま記憶することとしてもよい。すなわち、図5に示したように、図3の自律ストレージ装置2の構成から、ブロック分割手段21d及び誤り訂正符号サブブロック生成手段21eを省略したコンテンツ格納手段21B、サブブロック誤り訂正手段22a及びサブブロック結合手段22bを省略したコンテンツ配信手段22Bとし、コンテンツ記憶手段30の記憶装置300を1台とした簡略化した構成の自律ストレージ装置2Bとしてもよい。この場合であっても、コンテンツは、ブロック単位で複数の自律ストレージ装置に誤り訂正符号ブロックとともに分散されるため、いずれかの自律ストレージ装置に障害があった場合でも、コンテンツを回復させることができる。
また、例えば、自律ストレージ装置2は、コンテンツを分割したブロックを、他の自律ストレージ装置と協働せずに、単独で自装置内の複数の記憶装置300に分割して記憶することとしてもよい。すなわち、図6に示したように、図3の自律ストレージ装置2の構成から、ブロック分割手段21d、誤り訂正符号サブブロック生成手段21e及びブロック受信手段21fを省略したコンテンツ格納手段21C、サブブロック誤り訂正手段22a、サブブロック結合手段22b及びブロック送信手段22fを省略したコンテンツ配信手段22C、単独でコンテンツを記憶するコンテンツ記憶装置2Cとしてもよい。この場合、コンテンツを分割したコンテンツブロックと、そのコンテンツブロックから生成される誤り訂正符号ブロックとを、複数の記憶装置300に分散して記憶させることで、いずれかの記憶装置に障害があった場合でも、コンテンツを回復させることができる。
なお、自律ストレージ装置2、2Bや、コンテンツ記憶装置2Cにおいて、システム管理手段20、20B及び20Cは、一般的なコンピュータを、前記した各手段として機能させるコンテンツ分散プログラムによって動作させることとしてもよい。
[自律ストレージシステムの動作]
次に、図7及び図8を参照して、自律ストレージシステムの動作について説明する。図7は、自律ストレージシステムにおけるコンテンツの書き込み動作を示すフローチャートである。図8は、自律ストレージシステムにおけるコンテンツの読み出し動作を示すフローチャートである。
(コンテンツ書き込み動作)
最初に、図7を参照(適宜図1及び図3参照)して、自律ストレージシステムにおけるコンテンツの書き込み動作について説明する。
まず、自律ストレージシステム1内の任意の1台である自律ストレージ装置(ここでは、自律ストレージ装置21とする)が、制御情報受信手段23によって、クライアントコンピュータ5から、コンテンツを記憶する自律ストレージ装置を問い合わせる「コンテンツ転送先要求」を、通信送受信手段10を介して受信する(ステップS1)。
そして、自律ストレージ装置21は、コンテンツ管理手段25の役割設定手段25aによって、他の自律ストレージ装置(ここでは、自律ストレージ装置22〜211)と協働して、各自律ストレージ装置の役割を設定(決定)する(ステップS2,S2n)。例えば、役割設定手段25aは、コンテンツ記憶手段30に記憶されているコンテンツの量が最も少ない自律ストレージ装置をホストコンピュータとして設定する。ここでは、自律ストレージ装置21が、ホストコンピュータとして設定されたこととする。
続けて、ホストコンピュータとして設定された自律ストレージ装置21は、役割設定手段25aによって、どの自律ストレージ装置が、ホストコンピュータであるかを制御情報として、クライアントコンピュータ5に通知する(ステップS3)。
そして、自律ストレージ装置21は、コンテンツ格納手段21のコンテンツ受信手段21aによって、クライアントコンピュータ5から、通信送受信手段10を介してコンテンツを受信する(ステップS4)。
そして、自律ストレージ装置21は、コンテンツ分割手段21bによって、ステップS4で受信したコンテンツを、予め定めた分割数のブロック(コンテンツブロック)に分割する(ステップS5)。なお、ここでは、コンテンツを3分割することとする。
さらに、自律ストレージ装置21は、誤り訂正符号ブロック生成手段21cによって、ステップS5で分割されたコンテンツブロックに基づいて、その分割されたすべてのコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する(ステップS6)。
そして、自律ストレージ装置21は、記憶先設定手段25bによって、予め定めた規則に基づいて、ブロック(コンテンツブロック及び誤り訂正符号ブロック)の記憶先を設定(決定)し、各ブロックをその記憶先に送信する。ここでは、分割した先頭のブロックを自律ストレージ装置21内に記憶することとし、他のブロックを非ホストコンピュータである他の自律ストレージ装置22〜24に送信する(ステップS7)。
そして、自律ストレージ装置21は、ブロック分割手段21dによって、当該自律ストレージ装置21内に記憶するブロックを、予め定めた分割数のサブブロック(データサブブロック)に分割する(ステップS8)。
さらに、自律ストレージ装置21は、誤り訂正符号サブブロック生成手段21eによって、ステップS8で分割されたデータサブブロックに基づいて、その分割されたすべてのデータサブブロックに対する誤り訂正符号からなる誤り訂正符号サブブロックを生成する(ステップS9)。
そして、自律ストレージ装置21は、書き込み手段28によって、コンテンツ管理手段25が、コンテンツ操作制御手段26を介して、コンテンツ格納手段21に通知したサブブロックの記憶位置に基づいて、ステップS8で分割されたデータサブブロックと、ステップS9で生成された誤り訂正符号サブブロックとを、複数の記憶装置300に分散して記憶する(ステップS10)。
一方、非ホストコンピュータとして機能する自律ストレージ装置22は、ブロック受信手段21fによって、ホストコンピュータである自律ストレージ装置21から送信されるブロックを受信する(ステップS72)。
そして、自律ストレージ装置22は、ブロック分割手段21dによって、ステップS72で受信したブロックを、予め定めた分割数のサブブロック(データサブブロック)に分割する(ステップS82)。
さらに、自律ストレージ装置22は、誤り訂正符号サブブロック生成手段21eによって、ステップS82で分割されたデータサブブロックに基づいて、その分割されたすべてのデータサブブロックに対する誤り訂正符号からなる誤り訂正符号サブブロックを生成する(ステップS92)。
そして、自律ストレージ装置22は、書き込み手段28によって、ステップS82で分割されたデータサブブロックと、ステップS92で生成された誤り訂正符号サブブロックとを、コンテンツ記憶手段30内の複数の記憶装置300に分散して記憶する(ステップS102)。
なお、他の非ホストコンピュータとして機能する自律ストレージ装置23及び24の動作(ステップS73〜S103及びステップS74〜S104)は、自律ストレージ装置22の動作(ステップS72〜S102)と同一であるため、説明を省略する。
以上の動作によって、自律ストレージシステム1は、クライアントコンピュータ5から受信したコンテンツを、コンテンツブロックに分割し、誤り訂正符号ブロックとともに複数の自律ストレージ装置に分散する。そして、その分散されたブロックは、さらに自律ストレージ装置内で、データサブブロックに分割され、誤り訂正符号サブブロックとともに複数の記憶装置に分散されて記憶される。
(コンテンツ読み出し動作)
次に、図8を参照(構成については適宜図1及び図3参照)して、自律ストレージシステムにおけるコンテンツの読み出し動作について説明する。
まず、自律ストレージシステム1内の任意の1台である自律ストレージ装置(ここでは、自律ストレージ装置21とする)が、制御情報受信手段23によって、クライアントコンピュータ5から、コンテンツを記憶している自律ストレージ装置を問い合わせる「コンテンツ転送元要求」を、通信送受信手段10を介して受信する(ステップS11)。
そして、自律ストレージ装置21は、コンテンツ管理手段25の役割設定手段25aによって、他の自律ストレージ装置(ここでは、自律ストレージ装置22〜211)と協働して、各自律ストレージ装置の役割を設定(決定)する(ステップS12,S12n)。例えば、役割設定手段25aは、要求のあったコンテンツを記憶している自律ストレージ装置の中で、先頭のブロックを記憶している自律ストレージ装置をホストコンピュータとして設定する。ここでは、自律ストレージ装置21が、ホストコンピュータとして設定されたこととする。
続けて、ホストコンピュータとして設定された自律ストレージ装置21は、役割設定手段25aによって、どの自律ストレージ装置が、ホストコンピュータであるかを制御情報として、クライアントコンピュータ5に通知する(ステップS13)。
そして、自律ストレージ装置21は、制御情報受信手段23によって、クライアントコンピュータ5から、通信送受信手段10を介して、コンテンツの配信要求を示す「コンテンツ配信指示」を制御情報として受信する(ステップS14)。
そして、自律ストレージ装置21は、コンテンツ管理手段25のブロック収集手段25cによって、当該コンテンツに対応するブロックが記憶されている他の自律ストレージ装置(ここでは、自律ストレージ装置22〜24)に、ブロックの配信要求を示す「ブロック配信指示」を送信する(ステップS15)。
ここで、自律ストレージ装置22は、制御情報受信手段23によって、自律ストレージ装置21が送信した「ブロック配信指示」を受信する(ステップS152)。
そして、コンテンツ管理手段25が、コンテンツ操作制御手段26を介して、コンテンツ配信手段22に、ブロックを構成するサブブロックの記憶位置を通知する。
そして、自律ストレージ装置22は、コンテンツ配信手段22のサブブロック誤り訂正手段22aによって、コンテンツ記憶手段30内の記憶装置300からサブブロック(データサブブロック及び誤り訂正符号サブブロック)を、読み出し手段27を介して読み出し、データサブブロックの誤り訂正を行う(ステップS162)。
さらに、自律ストレージ装置22は、サブブロック結合手段22bによって、ステップS162で誤り訂正がなされたデータサブブロックを結合し、ブロック(コンテンツブロック又は誤り訂正符号ブロック)を生成する(ステップS172)。
そして、自律ストレージ装置22は、ブロック送信手段22fによって、ステップS172で生成されたブロックを、ホストコンピュータである自律ストレージ装置21に送信する(ステップS182)。
なお、他の非ホストコンピュータとして機能する自律ストレージ装置23及び24の動作(ステップS153〜S183及びステップS154〜S184)は、自律ストレージ装置22の動作(ステップS152〜S182)と同一であるため、説明を省略する。
一方、自律ストレージ装置21は、コンテンツ配信手段22のサブブロック誤り訂正手段22aによって、自律ストレージ装置21内の記憶装置300からサブブロック(データサブブロック及び誤り訂正符号サブブロック)を、読み出し手段27を介して読み出し、データサブブロックの誤り訂正を行う(ステップS16)。
さらに、自律ストレージ装置21は、サブブロック結合手段22bによって、ステップS16で誤り訂正がなされたデータサブブロックを結合し、ブロック(コンテンツブロック又は誤り訂正符号ブロック)を生成する(ステップS17)。
そして、自律ストレージ装置21は、ブロック受信手段21fによって、他の自律ストレージ装置22〜24が送信したブロックを受信する(ステップS18)。
そして、自律ストレージ装置21は、ブロック誤り訂正手段22cによって、ステップ17で生成したブロックと、ステップS18で受信したブロックとに基づいて、コンテンツブロックの誤り訂正を行う(ステップS19)。
さらに、自律ストレージ装置21は、ブロック結合手段22dによって、ステップS19で誤り訂正がなされたコンテンツブロックを結合し、コンテンツを生成する(ステップS20)。
そして、自律ストレージ装置21は、コンテンツ送信手段22eによって、ステップS20で生成されたコンテンツを、通信送受信手段10を介してクライアントコンピュータ5に送信する(ステップS21)。
以上の動作によって、自律ストレージシステム1は、コンテンツ記憶手段30に記憶されているブロック(すなわち、記憶装置300に記憶されているサブブロック)のデータが消失した場合や、コンテンツ記憶手段30(記憶装置300)自体に故障が発生した場合であっても、誤り訂正によってデータを復旧させコンテンツを回復させることができる。
また、自律ストレージシステム1は、誤り訂正が可能な範囲内であれば、データが消失した場合や、コンテンツ記憶手段30(記憶装置300)自体に故障が発生した場合であっても、動作を停止することなくサービスを提供することができる。
すなわち、本発明は、自律ストレージ装置内のいずれの記憶装置が故障してデータが消失した場合においても誤り訂正が可能であることから、障害が発生した自律ストレージ装置を交換する等の物理的な復旧を早急に行う必要はない。これらの物理的復旧は、例えば、夜間、休日等のサービスの提供を行わない日時に行えばよい。
[自律ストレージシステムの保守動作]
次に、自律ストレージシステム1の保守動作について説明する。
(自律ストレージ装置切り離し処理及び障害回復処理)
まず、図9を参照(適宜図1及び図3参照)して、障害が発生した自律ストレージ装置を自律ストレージシステム1から切り離す障害回復動作について説明する。なお、本動作は、自律ストレージ装置を保守するために切り離す場合も同様である。図9は、自律ストレージ装置の保守又は障害時に、自律ストレージ装置をシステムから切り離す動作を説明するための説明図であって、(a)は切り離し時におけるブロック移動、(b)は切り離し後(回復後)のブロックの記憶状態を模式的に示している。
ここでは、図9(a)に示すように、自律ストレージシステム1が11台の自律ストレージ装置21〜211で構成され、コンテンツが3つのデータコンテンツ(例えば、C2-1,C2-2及びC2-3)と1つの誤り訂正符号ブロック(例えば、C2-P)に分割されて、論理的に隣接する自律ストレージ装置に連続性を持って記憶されているものとする。また、ここでは、自律ストレージ装置25に障害が発生したとする。
ここで、障害が発生した自律ストレージ装置25に記憶されているブロックC2-1に着目すると、このブロックC2-1を、他の自律ストレージ装置上に移動(回復)させる場合、コンテンツを構成する他のブロックC2-2,C2-3及びC2-Pと論理的に隣接する自律ストレージ装置に移動させる必要がある。
例えば、ブロックC2-1を、自律ストレージ装置26に移動させると、それに伴って、ブロックC2-2,C2-3及びC2-Pをさらに隣接する自律ストレージ装置27〜29にそれぞれ移動させなければならない。
一方、ブロックC2-1を、自律ストレージ装置24に移動させると、他のブロック(C2-2,C2-3及びC2-P)を移動させることなく、ブロックの連続性を保つことができる。
そこで、ここでは、移動させるブロックの数を判定し、その数が最も少なくなるように、ブロックC2-1を自律ストレージ装置24に移動させることとする。
この規則によって、ブロックC4-Pを自律ストレージ装置26に移動させ、ブロックC7-3を自律ストレージ装置26、ブロックC7-Pを自律ストレージ装置27にそれぞれ移動させ、ブロックC10-2を自律ストレージ装置24、ブロックC10-1を自律ストレージ装置23にそれぞれ移動させる。
これによって、図9(b)に示すように、自律ストレージ装置25を切り離した状態で、コンテンツを構成するブロックが、論理的に隣接する自律ストレージ装置に連続性を持って記憶されることになる。
この障害回復処理は、自律ストレージシステム1が、いずれかの自律ストレージ装置2をホストコンピュータとし、例えば、障害が発生した自律ストレージ装置25に論理的に隣接する自律ストレージ装置26をホストコンピュータとして行うことができる。
図9(a)において、ブロックC2-1を移動(回復)させる場合、自律ストレージ装置26は、移動対象となるブロックを無効(アクセス禁止)とし、ブロック収集手段25cによって、自律ストレージ装置27及び28に対してブロックC2-2、C2-3及びC2-Pの配信要求を示す「ブロック配信指示」を送信する。
そして、自律ストレージ装置26は、ブロック受信手段21fによって、ブロックC2-3及びC2-Pを受信し、ブロック誤り訂正手段22cによって、受信したブロックC2-3及びC2-Pと自律ストレージ装置26自身が記憶しているブロックC2-2とにより、誤り訂正を行ったブロックC2-1を生成する。ここで、自律ストレージ装置26は、通常の動作時のようにブロックC2-1をブロック結合手段22dに出力せずに、ブロック送信手段22fに出力することで、ブロックC2-1を移動先の自律ストレージ装置24に送信する。
これによって、障害が発生した自律ストレージ装置25に記憶されていたブロックC2-1が、自律ストレージ装置24上に回復されたことになる。また、自律ストレージ装置25に記憶されていた他のブロック(C4-P,C7-3,C10-2)も同様に移動し回復させることができる。
なお、自律ストレージ装置26に記憶されているブロックC7-Pについては、自律ストレージ装置26が、自律ストレージ装置27に送信することで、自律ストレージ装置27にブロックC7-Pの複製を記憶する。また、自律ストレージ装置24に記憶されているC10-1については、自律ストレージ装置26が、自律ストレージ装置24に対してブロックC10-1を自律ストレージ装置23に配信する旨を示す「ブロック配信指示」を送信することで、自律ストレージ装置24が、ブロックC10-1を自律ストレージ装置23に送信し、その複製を自律ストレージ装置23に記憶する。
そして、ホストコンピュータである自律ストレージ装置26は、ブロックの回復及び複製が完了した段階で、ブロックを有効(アクセス可能)とする旨を各ブロックを記憶している自律ストレージ装置に通知し、複製元のブロックを削除する旨を複製元のブロックを記憶している自律ストレージ装置に通知する。
以上の動作によって、自律ストレージシステム1は、サービスを停止させることなく、障害回復を行うことが可能になる。
(自律ストレージ装置追加処理)
次に、図10を参照(適宜図1及び図3参照)して、自律ストレージシステム1に新規に自律ストレージ装置を追加する自律ストレージ装置追加処理動作について説明する。図10は、自律ストレージ装置追加処理動作を説明するための説明図であって、(a)は自律ストレージ装置追加時におけるブロック移動、(b)は自律ストレージ装置追加後のブロック記憶状態を模式的に示している。なお、図10(a)は、図9(b)の状態から、新規に自律ストレージ装置22Bを追加する例を示している。
ここで、ブロックC4-1,C4-2,C4-3及びC4-Pからなるコンテンツに着目すると、自律ストレージ装置22Bを追加することで、ブロックC4-1及びC4-2の間でブロックの連続性が断たれることになる。そこで、各ブロックが連続性を持つようにブロックを移動させる必要がある。
例えば、ブロックC4-2を自律ストレージ装置22Bに移動させると、それに伴って、ブロックC4-3及びC4-Pをさらに隣接する自律ストレージ装置23及び24にそれぞれ移動させなければならない。
一方、ブロックC4-1を、自律ストレージ装置22Bに移動させると、他のブロック(C4-2,C4-3及びC4-P)を移動させることなく、ブロックの連続性を保つことができる。
そこで、ここでは、移動させるブロックの数を判定し、その数が最も少なくなるように、ブロックC4-1を自律ストレージ装置22Bに移動させることとする。なお、移動させるブロックの数が等しい場合は、例えば、コンテンツの先頭ブロックを移動させないように、後方のブロックを移動させることとする。
この規則によって、ブロックC1-3を自律ストレージ装置22B、ブロックC1-Pを自律ストレージ装置23にそれぞれ移動させ、ブロックC9-Pを自律ストレージ装置22Bに移動させる。
これによって、図10(b)に示すように、自律ストレージ装置22Bを追加した状態で、コンテンツを構成するブロックが、論理的に隣接する自律ストレージ装置に連続性を持って記憶されることになる。
この自律ストレージ装置追加処理は、自律ストレージシステム1が、いずれかの自律ストレージ装置2をホストコンピュータとし、例えば、追加する自律ストレージ装置22Bをホストコンピュータとして行うことができる。
ここで、自律ストレージ装置22Bは、論理的に隣接する左右それぞれ2つの自律ストレージ装置21,22,23及び24から、制御情報受信手段23を介して、それぞれが記憶しているブロックの情報を取得する。そして、自律ストレージ装置22Bは、自律ストレージ装置22B自身に移動(追加)させるブロックの数が最も少なくなるように、コンテンツ管理手段25によって、ブロックの移動手順を決定する。
図10(a)において、ブロックC4-1を移動させる場合、自律ストレージ装置22Bは、移動対象となるブロックを無効(アクセス禁止)とし、ブロック収集手段25cによって、自律ストレージ装置22に対してブロックC4-1の配信要求を示す「ブロック配信指示」を送信する。
そして、自律ストレージ装置22Bは、ブロック受信手段21fによって、ブロックC4-1を受信し、ブロック分割手段21dに出力することで、サブブロックに分割されてコンテンツ記憶手段30にブロックC4-1の複製が記憶されることになる。また、自律ストレージ装置23に記憶されているブロックC1-3及びC9-Pについても同様に自律ストレージ装置23から取得し、自律ストレージ装置22B内にその複製を記憶する。なお、自律ストレージ装置24に記憶されているブロックC1-Pについては、自律ストレージ装置22Bが、自律ストレージ装置24に対してブロックC1-Pを自律ストレージ装置23に配信する旨を示す「ブロック配信指示」を送信することとする。これによって、ブロックC1-Pの複製が、自律ストレージ装置23に記憶されることになる。
そして、ホストコンピュータである自律ストレージ装置22Bは、すべてのブロックの複製を記憶した後、複製されたブロックを有効(アクセス可能)とする旨を各ブロックを記憶している自律ストレージ装置に通知し、複製元のブロックを削除する旨を複製元のブロックを記憶している自律ストレージ装置に通知する。
これによって、追加された自律ストレージ装置22Bによって連続性が断たれたコンテンツのブロックが、最小限の移動によってその連続性が回復することになる。
また、自律ストレージシステム1では、ある自律ストレージ装置の負荷や、コンテンツの容量が増大した場合、各自律ストレージ装置間で、協働し負荷や容量の分散を行うことが望ましい。この場合も、各自律ストレージ装置は、図9及び図10で説明したように、ブロックの連続性を保つようにブロックの移動(複製、削除)を行うこととする。
本発明に係る自律ストレージシステムの構成を示す概略ブロック図である。 自律ストレージ装置のコンテンツ記憶手段の構成と、ブロックの記憶状態とを模式的に示した図である。 本発明に係る自律ストレージ装置の構成を示すブロック図である。 コンテンツ記憶手段及び記憶装置におけるコンテンツの記憶状態を模式的に示した図であって、(a)は誤り訂正符号を排他的論理和演算により生成した場合、(b)は誤り訂正符号をリードソロモン符号で生成した場合を示している。 本発明に係る自律ストレージ装置の他の構成を示すブロック図である。 本発明に係るコンテンツ記憶装置の構成を示すブロック図である。 自律ストレージシステムにおけるコンテンツの書き込み動作を示すフローチャートである。 自律ストレージシステムにおけるコンテンツの読み出し動作を示すフローチャートである。 自律ストレージ装置の保守又は障害時に、自律ストレージ装置をシステムから切り離す動作を説明するための説明図であって、(a)は切り離し時におけるブロック移動、(b)は切り離し後(回復後)のブロックの記憶状態を模式的に示している。 自律ストレージ装置追加処理動作を説明するための説明図であって、(a)は自律ストレージ装置追加時におけるブロック移動、(b)は自律ストレージ装置追加後のブロック記憶状態を模式的に示している。 従来の自律ストレージシステムにおけるコンテンツの記憶方法を模式的に示す図である。
符号の説明
1 自律ストレージシステム
2、2B 自律ストレージ装置
2C コンテンツ記憶装置
10 通信送受信手段
20 システム管理手段
21 コンテンツ格納手段
21a コンテンツ受信手段
21b コンテンツ分割手段
21c 誤り訂正符号ブロック生成手段
21d ブロック分割手段
21e 誤り訂正符号サブブロック生成手段
22 コンテンツ配信手段
22a サブブロック誤り訂正手段
22b サブブロック結合手段
22c ブロック誤り訂正手段
22d ブロック結合手段
22e コンテンツ送信手段
22f ブロック送信手段
23 制御情報受信手段
24 制御情報送信手段
25 コンテンツ管理手段
25a 役割設定手段
25b 記憶先設定手段
25c ブロック収集手段
26 コンテンツ操作制御手段
27 読み出し手段
28 書き込み手段
30 コンテンツ記憶手段
300 記憶装置

Claims (8)

  1. コンテンツを複数の記憶装置に分散して記憶するコンテンツ記憶装置であって、
    前記コンテンツを、予め定めた分割数のコンテンツブロックに分割するコンテンツ分割手段と、
    このコンテンツ分割手段で分割されたすべてのコンテンツブロックに基づいて、当該分割されたコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する誤り訂正符号ブロック生成手段と、
    前記コンテンツ分割手段で分割されたコンテンツブロックと、前記誤り訂正符号ブロック生成手段で生成された誤り訂正符号ブロックとを分散して記憶する前記複数の記憶装置と、
    を備えていることを特徴とするコンテンツ記憶装置。
  2. 前記複数の記憶装置に記憶されている前記コンテンツブロックと、前記誤り訂正符号ブロックとに基づいて、前記コンテンツブロックの誤り訂正を行うブロック誤り訂正手段と、
    このブロック誤り訂正手段で誤り訂正がなされた前記コンテンツブロックを結合し、前記コンテンツを生成するブロック結合手段と、
    を備えていることを特徴とする請求項1に記載のコンテンツ記憶装置。
  3. ネットワークに複数接続されて、コンテンツを分散して記憶する自律ストレージ装置において、
    前記コンテンツを、予め定めた分割数のコンテンツブロックに分割するコンテンツ分割手段と、
    このコンテンツ分割手段で分割されたすべてのコンテンツブロックに基づいて、当該分割されたコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する誤り訂正符号ブロック生成手段と、
    予め定めた規則に基づいて、前記分割されたコンテンツブロック及び前記誤り訂正符号ブロックの各ブロックを、当該自律ストレージ装置に記憶するブロック、又は、他の自律ストレージ装置に記憶するブロックに設定する記憶先設定手段と、
    この記憶先設定手段で他の自律ストレージ装置に記憶するブロックとして設定されたブロックを、前記他の自律ストレージ装置に送信するブロック送信手段と、
    前記他の自律ストレージ装置から、当該自律ストレージ装置に記憶するブロックとして設定されたブロックを、前記他の自律ストレージ装置から受信するブロック受信手段と、
    前記記憶先設定手段で当該自律ストレージ装置に記憶するブロックとして設定されたブロックと、前記ブロック受信手段で受信したブロックとを記憶するコンテンツ記憶手段と、
    を備えていることを特徴とする自律ストレージ装置。
  4. 前記規則に基づいて、前記コンテンツに対応する、他の自律ストレージ装置に記憶されているブロックを収集するブロック収集手段と、
    このブロック収集手段で収集されたブロックと、前記コンテンツに対応する、前記コンテンツ記憶手段に記憶されているブロックとに基づいて、前記コンテンツブロックの誤り訂正を行うブロック誤り訂正手段と、
    このブロック誤り訂正手段で誤り訂正がなされた前記コンテンツブロックを結合し、前記コンテンツを生成するブロック結合手段と、
    を備えていることを特徴とする請求項3に記載の自律ストレージ装置。
  5. 前記記憶先設定手段で当該自律ストレージ装置に記憶するブロックとして設定されたブロック及び前記ブロック受信手段で受信したブロックの各ブロックを、予め定めた分割数のサブブロックであるデータサブブロックに分割するブロック分割手段と、
    このブロック分割手段で分割されたすべてのデータサブブロックに対する誤り訂正符号からなる誤り訂正符号サブブロックを生成する誤り訂正符号サブブロック生成手段とを備え、
    前記コンテンツ記憶手段が、前記分割されたデータサブブロックと前記誤り訂正符号サブブロックとを分散して記憶する複数の記憶装置を備えていることを特徴とする請求項3に記載の自律ストレージ装置。
  6. 前記記憶装置に分散して記憶されている前記データサブブロックと前記誤り訂正符号サブブロックとに基づいて、前記データサブブロックの誤り訂正を行うサブブロック誤り訂正手段と、
    このサブブロック誤り訂正手段で誤り訂正がなされたデータサブブロックを結合し、前記ブロックを生成するサブブロック結合手段と、
    前記規則に基づいて、前記コンテンツに対応する、他の自律ストレージ装置に記憶されているブロックを収集するブロック収集手段と、
    このブロック収集手段で収集されたブロックと、前記サブブロック結合手段で生成されたブロックとに基づいて、前記コンテンツブロックの誤り訂正を行うブロック誤り訂正手段と、
    このブロック誤り訂正手段で誤り訂正がなされた前記コンテンツブロックを結合し、前記コンテンツを生成するブロック結合手段と、
    を備えていることを特徴とする請求項5に記載の自律ストレージ装置。
  7. コンテンツを複数の記憶装置に分散して記憶するコンテンツ記憶装置で、前記コンテンツを誤り訂正するために、コンピュータを、
    前記コンテンツを、予め定めた分割数のコンテンツブロックに分割するコンテンツ分割手段、
    このコンテンツ分割手段で分割されたすべてのコンテンツブロックに基づいて、当該分割されたコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する誤り訂正符号ブロック生成手段、
    前記コンテンツ分割手段で分割されたコンテンツブロックと、前記誤り訂正符号ブロック生成手段で生成された誤り訂正符号ブロックとを分散して前記複数の記憶装置に書き込む書き込み手段、
    前記複数の記憶装置に記憶されている前記コンテンツブロックと、前記誤り訂正符号ブロックとを、前記複数の記憶装置から読み出す読み出し手段、
    この読み出し手段で読み出されたコンテンツブロックと、誤り訂正符号ブロックとに基づいて、前記コンテンツブロックの誤り訂正を行うブロック誤り訂正手段、
    このブロック誤り訂正手段で誤り訂正がなされた前記コンテンツブロックを結合し、前記コンテンツを生成するブロック結合手段、
    として機能させることを特徴とするのコンテンツ分散プログラム。
  8. ネットワークに複数接続されて、コンテンツを分散して記憶する自律ストレージ装置で、前記コンテンツを誤り訂正するために、コンピュータを、
    前記コンテンツを、予め定めた分割数のコンテンツブロックに分割するコンテンツ分割手段、
    このコンテンツ分割手段で分割されたすべてのコンテンツブロックに基づいて、当該分割されたコンテンツブロックに対する誤り訂正符号からなる誤り訂正符号ブロックを生成する誤り訂正符号ブロック生成手段、
    予め定めた規則に基づいて、前記分割されたコンテンツブロック及び前記誤り訂正符号ブロックの各ブロックを、当該自律ストレージ装置に記憶するブロック、又は、他の自律ストレージ装置に記憶するブロックに設定する記憶先設定手段、
    この記憶先設定手段で他の自律ストレージ装置に記憶するブロックとして設定されたブロックを、前記他の自律ストレージ装置に送信するブロック送信手段、
    前記他の自律ストレージ装置から、当該自律ストレージ装置に記憶するブロックとして設定されたブロックを、前記他の自律ストレージ装置から受信するブロック受信手段、
    前記記憶先設定手段で当該自律ストレージ装置に記憶するブロックとして設定されたブロックと、前記ブロック受信手段で受信したブロックとをコンテンツ記憶手段に書き込む書き込み手段、
    前記規則に基づいて、前記コンテンツに対応する、他の自律ストレージ装置に記憶されているブロックを収集するブロック収集手段、
    前記コンテンツに対応するブロックを前記コンテンツ記憶手段から読み出す読み出し手段、
    前記ブロック収集手段で収集されたブロックと、前記読み出し手段で読み出されたブロックとに基づいて、前記コンテンツブロックの誤り訂正を行うブロック誤り訂正手段、
    このブロック誤り訂正手段で誤り訂正がなされた前記コンテンツブロックを結合し、前記コンテンツを生成するブロック結合手段、
    として機能させることを特徴とするコンテンツ分散プログラム。
JP2005148905A 2005-05-23 2005-05-23 自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラム Pending JP2006330779A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005148905A JP2006330779A (ja) 2005-05-23 2005-05-23 自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005148905A JP2006330779A (ja) 2005-05-23 2005-05-23 自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラム

Publications (1)

Publication Number Publication Date
JP2006330779A true JP2006330779A (ja) 2006-12-07

Family

ID=37552440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005148905A Pending JP2006330779A (ja) 2005-05-23 2005-05-23 自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラム

Country Status (1)

Country Link
JP (1) JP2006330779A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097156A (ja) * 2006-10-06 2008-04-24 Fujitsu Ltd 記憶制御装置、記憶制御方法および記憶制御プログラム
WO2013132877A1 (ja) * 2012-03-08 2013-09-12 株式会社 東芝 ビデオサーバ装置及びそのリビルド処理制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05314674A (ja) * 1991-04-01 1993-11-26 Hitachi Ltd 記憶装置の障害回復システム及びその方法
JP2001356882A (ja) * 2000-06-13 2001-12-26 Nec Corp データ読み書き制御方法及びディスクアレイ装置並びにデータ読み書き制御用プログラムを記憶した記録媒体
JP2004334739A (ja) * 2003-05-12 2004-11-25 Tokyo Institute Of Technology データのバックアップ方法及びバックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05314674A (ja) * 1991-04-01 1993-11-26 Hitachi Ltd 記憶装置の障害回復システム及びその方法
JP2001356882A (ja) * 2000-06-13 2001-12-26 Nec Corp データ読み書き制御方法及びディスクアレイ装置並びにデータ読み書き制御用プログラムを記憶した記録媒体
JP2004334739A (ja) * 2003-05-12 2004-11-25 Tokyo Institute Of Technology データのバックアップ方法及びバックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097156A (ja) * 2006-10-06 2008-04-24 Fujitsu Ltd 記憶制御装置、記憶制御方法および記憶制御プログラム
US8046630B2 (en) 2006-10-06 2011-10-25 Fujitsu Limited Storage control apparatus, storage control method, and computer product
WO2013132877A1 (ja) * 2012-03-08 2013-09-12 株式会社 東芝 ビデオサーバ装置及びそのリビルド処理制御方法
JP2013186752A (ja) * 2012-03-08 2013-09-19 Toshiba Corp ビデオサーバ装置及びそのリビルド処理制御方法

Similar Documents

Publication Publication Date Title
US10318380B2 (en) Multi-stage slice recovery in a dispersed storage network
JP5285610B2 (ja) グローバルホットスペアディスクが存在するときに、故障したドライブを復元、及びコピーバックする最適化された方法
US10387249B2 (en) Migrating data slices within a dispersed storage network
US8464094B2 (en) Disk array system and control method thereof
US9442800B2 (en) Data migration between a raid memory and a dispersed storage network memory
US9135115B2 (en) Storing data in multiple formats including a dispersed storage format
US10142115B2 (en) Distributed storage network data revision control
JP5285611B2 (ja) グローバルホットスペアディスクが存在するときに、切断されたドライブを復元、及びコピーバックする最適化された方法
US20060190683A1 (en) Disk array apparatus and backup method of data
JP2008046986A (ja) ストレージシステム
JP5241117B2 (ja) Raidストレージ・システムのパリティ値を生成する方法及びアダプタを内蔵するraidストレージ・システム(エンクロージャベースのraidパリティ支援機構)
JP2006252126A (ja) ディスクアレイ装置及びその再構築方法
JP2012519318A (ja) 計算機システムとそのデータ制御方法
JP2006227964A (ja) ストレージシステム、処理方法及びプログラム
US10552341B2 (en) Zone storage—quickly returning to a state of consistency following an unexpected event
JP4144549B2 (ja) データ保存システムおよび該システムの制御方法
JP2006330779A (ja) 自律ストレージ装置、コンテンツ記憶装置及びコンテンツ分散プログラム
US20030204539A1 (en) Facility protection utilizing fault tolerant storage controllers
WO2010092634A1 (ja) ストレージシステム
JP4272465B2 (ja) バックアップデータ復旧方法、並びに、ネットワーク蓄積装置及びネットワーク蓄積プログラム
US10067998B2 (en) Distributed sync list
JP2009020780A (ja) ストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法
JP6536083B2 (ja) ストレージ装置、ストレージシステム、及びリカバリプログラム
JP2014041523A (ja) データ管理装置、及び、データ管理方法
JP5125722B2 (ja) ディスクアレイシステム、ディスク装置、筐体間ミラーリング方法およびプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20061227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080321

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705