(57)【要約】【課題】分散ストレージの利用効率を改善する。【解決手段】ファイルを断片化して複数のストレージ提供端末５に分散保存し、ファイルの総断片数以下の数の断片ファイルを用いて元ファイルを復号可能な秘密分散・データ分散システム１において、複数のストレージ提供端末５のうち少なくとも１つは記憶可能容量が他と異なり、複数のストレージ提供端末５の全ての記憶可能容量に応じてファイルの断片数を算出するファイル変換情報管理部１４と、算出したファイルの断片数でファイルを断片化するファイル・断片ファイル変換部１２と、断片化された複数の断片ファイルのうち互いに異なる一部を各ストレージ提供端末５の記憶可能容量に応じて各ストレージ提供端末５にそれぞれ転送する断片ファイル転送部１３と、を備える。【選択図】図１
2017130143.tif 000002
【特許請求の範囲】
【請求項１】
データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置において、
前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、
前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理部と、
算出した前記データの断片数でデータを断片化する変換部と、
断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送部と、
を備えることを特徴とするデータ分散装置。
【請求項２】
前記管理部は、
前記複数のストレージの各記憶可能容量の最大公約数、又は、前記複数のストレージの各記憶可能容量を一定の大きさの単位にまるめた値の最大公約数を断片データのサイズとすることを特徴とする請求項１に記載のデータ分散装置。
【請求項３】
前記管理部は、
前記複数のストレージの全ての記憶可能容量を前記最大公約数で除算することにより前記データの断片数を算出し、前記複数のストレージの全ての記憶可能容量から所定のストレージの記憶可能容量を減算した値を前記最大公約数で除算することにより元データの復号に必要な断片データの数を算出することを特徴とする請求項２に記載のデータ分散装置。
【請求項４】
前記管理部は、
前記複数のストレージのうち停止してもよいストレージと、停止してはいけないストレージとを用いて、前記停止してもよいストレージの全ての記憶可能容量を前記最大公約数で除算した値を前記データの断片数から減算することにより元データの復号に必要な断片データの数を算出することを特徴とする請求項２に記載のデータ分散装置。
【請求項５】
前記管理部は、
前記停止してもよいストレージと前記停止してはいけないストレージとの各数を変数とし、前記元データの復号に必要な断片データの数と前記最大公約数とを積算させることにより利用可能なストレージ容量を算出する算出式を用いて、前記算出式の計算結果が最大となるように前記停止してもよいストレージと前記停止してはいけないストレージとの各数をそれぞれ算出することを特徴とする請求項４に記載のデータ分散装置。
【請求項６】
前記管理部は、
前記停止してもよいストレージと前記停止してはいけないストレージとの各数を変数とし、前記停止してもよいストレージの全ての記憶可能容量を前記最大公約数で除算した値以上の数の断片データが転送され得るストレージが同時に故障する確率の最大値を１から減算した値に対して、前記停止してはいけないストレージの全ての稼働率の積算値を積算することによりストレージ稼働率を算出する算出式を用いて、当該算出式の計算結果が最大となるように前記停止してもよいストレージと前記停止してはいけないストレージとの各数をそれぞれ算出することを特徴とする請求項５に記載のデータ分散装置。
【請求項７】
前記利用可能なストレージ容量に基づくストレージ利用効率が高くなるストレージを追加推奨ストレージとして通知する連携部、
を更に備えることを特徴とする請求項５に記載のデータ分散装置。
【請求項８】
前記連携部は、
前記ストレージ利用効率が優先される場合、大容量の記憶可能容量を備えたサーバ装置のストレージを通知し、ストレージの稼働率が優先される場合、前記停止してもよいストレージのうち最も記憶可能容量の小さいストレージと同じ記憶可能容量を備えたクライアント端末のストレージを通知することを特徴とする請求項７に記載のデータ分散装置。
【請求項９】
データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置で行うデータ分散方法において、
前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、
前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理ステップと、
算出した前記データの断片数でデータを断片化する変換ステップと、
断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送ステップと、
を備えることを特徴とするデータ分散方法。
【請求項１０】
請求項１乃至８のいずれかに記載のデータ分散装置としてコンピュータを機能させることを特徴とするデータ分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを断片化して複数のストレージに分散保存する技術に関する。
【背景技術】
【０００２】
現在、データを断片化して複数のストレージに分散保存する技術がある。例えば、秘密分散技術やデータ分散技術である。かかる既存のデータ分散技術は、同一容量のストレージを複数用いることを前提に考えられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７６５４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
大規模なストレージシステムを構築する場合であれば、同一容量のストレージを複数用いることは比較的容易い。一方、オフィス等の小規模なユーザが上記データ分散技術を用いてストレージシステムを構築する場合、例えばオフィス内にＬＡＮ接続されたノートパソコン等、手持ち端末のストレージを用いることが考えられる。しかし、後者の場合、端末間でストレージの容量及び可用性に差異があるため、全ての容量のうち一部しか利用できず、ストレージリソースの利用に無駄が生じていた。即ち、既存のデータ分散技術において、容量に違いがあるストレージに断片化されたデータを分散保存する場合、ストレージの容量全体を無駄なく利用できる方法は考えられていなかった。
【０００５】
本発明は、上記のような問題点を鑑みてなされたものであり、分散ストレージの利用効率を改善することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、請求項１に記載のデータ分散装置は、データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置において、前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理部と、算出した前記データの断片数でデータを断片化する変換部と、断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送部と、を備えることを要旨とする。
【０００７】
又、請求項２に記載のデータ分散装置は、請求項１に記載のデータ分散装置において、前記管理部は、前記複数のストレージの各記憶可能容量の最大公約数、又は、前記複数のストレージの各記憶可能容量を一定の大きさの単位にまるめた値の最大公約数を断片データのサイズとすることを要旨とする。
【０００８】
又、請求項３に記載のデータ分散装置は、請求項２に記載のデータ分散装置において、前記管理部は、前記複数のストレージの全ての記憶可能容量を前記最大公約数で除算することにより前記データの断片数を算出し、前記複数のストレージの全ての記憶可能容量から所定のストレージの記憶可能容量を減算した値を前記最大公約数で除算することにより元データの復号に必要な断片データの数を算出することを要旨とする。
【０００９】
又、請求項４に記載のデータ分散装置は、請求項２に記載のデータ分散装置において、前記管理部は、前記複数のストレージのうち停止してもよいストレージと、停止してはいけないストレージとを用いて、前記停止してもよいストレージの全ての記憶可能容量を前記最大公約数で除算した値を前記データの断片数から減算することにより元データの復号に必要な断片データの数を算出することを要旨とする。
【００１０】
又、請求項５に記載のデータ分散装置は、請求項４に記載のデータ分散装置において、前記管理部は、前記停止してもよいストレージと前記停止してはいけないストレージとの各数を変数とし、前記元データの復号に必要な断片データの数と前記最大公約数とを積算させることにより利用可能なストレージ容量を算出する算出式を用いて、前記算出式の計算結果が最大となるように前記停止してもよいストレージと前記停止してはいけないストレージとの各数をそれぞれ算出することを要旨とする。
【００１１】
又、請求項６に記載のデータ分散装置は、請求項５に記載のデータ分散装置において、前記管理部は、前記停止してもよいストレージと前記停止してはいけないストレージとの各数を変数とし、前記停止してもよいストレージの全ての記憶可能容量を前記最大公約数で除算した値以上の数の断片データが転送され得るストレージが同時に故障する確率の最大値を１から減算した値に対して、前記停止してはいけないストレージの全ての稼働率の積算値を積算することによりストレージ稼働率を算出する算出式を用いて、当該算出式の計算結果が最大となるように前記停止してもよいストレージと前記停止してはいけないストレージとの各数をそれぞれ算出することを要旨とする。
【００１２】
又、請求項７に記載のデータ分散装置は、請求項５に記載のデータ分散装置において、前記利用可能なストレージ容量に基づくストレージ利用効率が高くなるストレージを追加推奨ストレージとして通知する連携部、を更に備えることを要旨とする。
【００１３】
又、請求項８に記載のデータ分散装置は、請求項７に記載のデータ分散装置において、前記連携部は、前記ストレージ利用効率が優先される場合、大容量の記憶可能容量を備えたサーバ装置のストレージを通知し、ストレージの稼働率が優先される場合、前記停止してもよいストレージのうち最も記憶可能容量の小さいストレージと同じ記憶可能容量を備えたクライアント端末のストレージを通知することを要旨とする。
【００１４】
又、請求項９に記載のデータ分散方法は、データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置で行うデータ分散方法において、前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理ステップと、算出した前記データの断片数でデータを断片化する変換ステップと、断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送ステップと、を備えることを要旨とする。
【００１５】
又、請求項９に記載のデータ分散プログラムは、請求項１乃至８のいずれかに記載のデータ分散装置としてコンピュータを機能させることを要旨とする。
【発明の効果】
【００１６】
本発明によれば、大規模ユーザと小規模ユーザのどちらにも適用可能であり、用意されたストレージを無駄なく利用できる分散ストレージサービスを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】秘密分散・データ分散システムの機能ブロック構成を示す図である。
【図２】ストレージの利用効率・可用性を示す図である。
【図３】ストレージの利用効率・可用性を示す図である。
【図４】ストレージの利用効率・可用性を示す図である。
【図５】ファイル変換情報の計算式を示す図である。
【図６】ストレージ情報を示す図である。
【図７】ストレージの容量・種別がストレージの利用効率に与える影響を示す図である。
【図８】追加ストレージの提案処理フローを示す図である。
【図９】初期設定時の処理フローを示す図である。
【図１０】秘密分散・データ分散時の処理フローを示す図である。
【図１１】ファイル提供時の処理フローを示す図である。
【発明を実施するための形態】
【００１８】
前述した課題を解決するため、本発明では、ストレージ間で記憶可能容量にばらつきがあっても全ての記憶可能容量を使い切れる手法、ストレージ間で可用性（稼働率）にばらつきがあってもシステム全体の可用性を定義できる手法を提案する。具体的には、（手法１）既存のデータ分散技術を利用した分散ストレージシステムにおいて、ストレージの可用性に対して意図的に制限を加え｛＝ストレージの可用性を犠牲にする（例えば、ＲＡＩＤや冗長化電源を利用しているストレージのダウン又は切断を無視する）｝、ストレージに対する断片データの保存数を増やすことにより、ストレージの利用効率を向上させる。その際、ストレージの利用効率と可用性の優先度をユーザに設定させることにより、求められる最大限の利用効率：可用性比を実現する。又、（手法２）手法１でユーザが設定する可用性に対する要件を自動的に求め、最適な設定値を決定することにより、ストレージの利用効率を更に向上させる。又、（手法３）手法１の分散ストレージシステムにストレージを追加する場合、ストレージの追加が分散ストレージシステム全体に与える影響を分析し、追加すべき有効なストレージの種別及び容量を提案する。以下、本発明を実施する一実施の形態について図面を用いて説明する。
【００１９】
＜第１の実施の形態：手法１＞
第１の実施の形態では、手法１について説明する。各実施の形態では、分散保存対象データの例としてファイルデータを用いる。
【００２０】
まず、既存のデータ分散技術について更に概説する。秘密分散技術及びデータ分散技術は、ファイルをｎ個の断片に分割して複数のストレージに分散保存し、ｎ個のうちｋ個（ｋ≦ｎ）の断片ファイルを用いて元のファイルを復号可能とする技術である。より具体的に定義すると、データ分散技術は、ストレージの可用性を保証するため、ファイルを複数の断片ファイルに分割し、特定のストレージがダウンし、又は特定のストレージとの間のネットワークが切断した場合でも、残りの断片ファイルより元のファイルを復号可能とする技術である。又、秘密分散技術は、データ分散技術の一種であり、断片ファイルから元の平文ファイルを推測できないように暗号化を行うことにより、可用性に加えて安全性も提供する技術である。
【００２１】
このような既存のデータ分散技術において、一般的には、「ファイルの断片数ｎ＝ストレージの総数」、「復号に必要なファイルの断片数ｋ＝可用性を提供するために最低限稼働している必要のあるストレージ数」である。これに対し、本実施の形態では、ｋ／ｎの値が１に近づくほどストレージの利用効率が高められることに着目し、ストレージに対する断片ファイルの分散配置の偏りを許す（＝ストレージの稼働率に制限を設ける）ことにより、ストレージの総数よりも大きい（ｎ，ｋ）のペアを用いることを可能とし、これによりストレージリソースを効率的に有効活用することを実現する。
【００２２】
図１は、本実施の形態に係る秘密分散・データ分散システムの機能ブロック構成を示す図である。各実施の形態では、データ分散技術の例として秘密分散技術を用いる。この秘密分散・データ分散システム１は、ファイル送受信部１１と、ファイル・断片ファイル変換部１２と、断片ファイル転送部１３と、ファイル変換情報管理部１４と、ストレージ情報管理部１５と、システムユーザ連携部１６と、を備えて構成される。
【００２３】
ファイル送受信部１１は、ストレージ利用クライアント端末３から秘密分散対象の平文ファイルを受信する。又、復号した元の平文ファイルをストレージ利用クライアント端末３に送信する。
【００２４】
ファイル・断片ファイル変換部１２は、ファイル変換情報管理部１４で決定されたファイルの断片数ｎと復号に必要なファイルの断片数ｋとを用いて平文ファイルを断片化し、断片化した各平文断片ファイルをそれぞれ暗号化する。又、各ストレージ提供端末５からそれぞれ収集した各暗号化断片ファイルをそれぞれ復号化し、復号化した各平文断片ファイルを用いて元の平文ファイルに復号する。
【００２５】
断片ファイル転送部１３は、ファイル変換情報管理部１４で決定されたファイルの分散配置方法に基づき各暗号化断片ファイルを各ストレージ提供端末５にそれぞれ転送する。又、各ストレージ提供端末５から各暗号化断片ファイルをそれぞれ収集する。
【００２６】
ファイル変換情報管理部１４は、秘密分散・データ分散システム１に接続されているストレージ提供端末５のパラメータ（総数Ｔ、容量Ｓ、稼働率Ｋ、種別Ｃ等）を用いて、ストレージ提供端末５に対する暗号化断片ファイルの分散配置の偏りを許容するようにファイルの断片数ｎと復号に必要なファイルの断片数ｋとを算出し、その場合に利用できる分散ストレージの容量Ｄとストレージの利用効率Ｒとを併せて算出し、更に分散配置方法を決定する。
【００２７】
ストレージ情報管理部１５は、秘密分散・データ分散システム１に接続又は非接続されているストレージ提供端末５の総数Ｔ、容量Ｓ、稼働率Ｋ、種別Ｃを各ストレージ提供端末５からそれぞれ収集し、ストレージ提供端末５毎に関連付けて記憶管理する。尚、ストレージの容量Ｓとは、ストレージが記憶可能な容量を指す。又、稼働率Ｋの代わりにストレージのエラー率Ｅ（≒１−稼働率Ｋ）を用いてもよい。
【００２８】
システムユーザ連携部１６は、秘密分散を行う際にユーザが使用する画面をストレージ利用クライアント端末３に提供する。例えば、ストレージ提供端末５の接続構成・稼働状態等を示す画面、ストレージパラメータ（同時に停止してもよいストレージ数Ａ，停止のリスクを無視するストレージ数Ｂ）をユーザに入力させる画面、ファイルの断片数ｎやその計算式等を表示する画面、追加推奨ストレージを表示する画面等である。
【００２９】
以上が秘密分散・データ分散システム１の機能例及び機能構成例である。補足するが、ストレージ利用クライアント端末３とは、秘密分散・データ分散システム１を活用したいユーザの利用端末である。秘密分散・データ分散システム１のファイルサーバプログラムにアクセスするための共有フォルダアクセスプログラムが動作している。又、ストレージ提供端末５とは、暗号化断片ファイルを分散して保存・保管するための分散ストレージである。複数のストレージのうち少なくとも１つの記憶可能容量が他と異なっていればよい。具体的には、ＮＡＳやクラウド等のサーバ装置、オフィスにＬＡＮ接続されたパソコン等のクライアント端末である。内部ではストレージ共有プログラムが動作している。
【００３０】
次に、ファイルの断片数ｎ、復号に必要なファイルの断片数ｋ、分散ストレージの容量Ｄ、及びストレージの利用効率Ｒの算出方法、分散配置方法の決定方法について説明する。具体的には、上述したように、ストレージ提供端末５に対する暗号化断片ファイルの分散配置の偏りを許容するように求める。コンピュータである秘密分散・データ分散システム１からすると、“ファイルの断片数ｎについては、複数のストレージ提供端末５が持つ全ての記憶可能容量に応じて求め、分散配置方法については、複数の暗号化断片データのうち互いに異なる一部を各ストレージ提供端末５の記憶可能容量に応じて各ストレージ提供端末５にそれぞれ転送するように決定する”、と言える。以降、ここでは、ストレージ提供端末５を単にストレージと称し、暗号化断片ファイルを断片ファイルと称する。
【００３１】
（従来）
例えば、図２の上側に示すように、１ＴＢのストレージＳ１、１００ＧＢのストレージＳ２，１０ＧＢのストレージＳ３を利用可能な場合、既存のデータ分散技術であれば、「ファイルの断片数ｎ＝ストレージの総数Ｔ＝３」、「復号に必要なファイルの断片数ｋ＝Ｔ−ｍ＝２（ｍ：ダウン又は切断を許容するストレージ数）」となり、３つの断片ファイルを３つのストレージＳ１〜Ｓ３にそれぞれ保存させていた。この場合、「利用できる分散ストレージの容量Ｄ＝ｋ×ｍｉｎ（Ｓ）＝２×１０Ｇ＝２０ＧＢ」、「ストレージの利用効率Ｒ＝Ｄ／ｔｏｔａｌ（Ｓ）＝２０ＧＢ／１１１０ＧＢ＝２％」となり、ストレージの利用効率は低いものであった。
【００３２】
（手法ａ）
一方、本実施の形態では、図２の下側に示すように、ストレージの全容量を最小ストレージの容量で除算した値をファイルの断片数ｎとし、最小ストレージの容量の大きさに対して１つの断片ファイルが対応するように保存する。即ち、最小ストレージのサイズを断片ファイルのサイズとしている。具体的には、「ファイルの断片数ｎ＝ｔｏｔａｌ（Ｓ）／ｍｉｎ（Ｓ）＝１１１」とし、分散配置方法を「１１１個のうち１００個の断片ファイルをストレージＳ１に保存、１０個の断片ファイルをストレージＳ２に保存、１個の断片ファイルをストレージＳ３に保存」とする。又、復号に必要なファイルの断片数ｋについては、最大ストレージ単体では復号できないように、最大ストレージの容量を最小ストレージの容量で除算した値に１を加えた値とする。即ち、「ｍａｘ（Ｓ）／ｍｉｎ（Ｓ）＋１＝１０１」を復号に必要なファイルの断片数ｋとする。この場合、「利用できる分散ストレージの容量Ｄ＝ｋ×ｍｉｎ（Ｓ）＝１０１×１０Ｇ＝１０１０ＧＢ」、「ストレージの利用効率Ｒ＝Ｄ／ｔｏｔａｌ（Ｓ）＝１０１０ＧＢ／１１１０ＧＢ＝９０％」となり、従来よりもストレージの利用効率を向上することができる。但し、復号に必要なファイルの断片数ｋが従来よりも増加し、多くの断片ファイルを保存する１ＴＢの最大ストレージが停止すると復号できないので、可用性は低下する。
【００３３】
（手法ｂ）
手法ａの場合、最大ストレージ単体では復号できないことを条件とするために「１」を追加するので、新たに追加されたストレージを有効に利用することができない可能性がある。そこで、手法ｂでは、図３の下側に示すように、最大ストレージ単体での復号不可ではなく、ｍ個のストレージがダウン又切断時の可用性を確保する観点でストレージの利用効率を向上させる。即ち、復号に必要なファイルの断片数ｋについては、ストレージの全容量から特定の汎用ストレージの容量分を減算し、その減算値を最小ストレージの容量で除算した値とする。具体的には、「（ｔｏｔａｌ（Ｓ）−１００ＧＢ×１）／ｍｉｎ（Ｓ）＝１２１」を復号に必要なファイルの断片数ｋとする。尚、ここでは、１００ＧＢのストレージを特定の汎用ストレージと仮定している。これにより、復号に必要なファイルの断片数ｋが増加するので、手法ａよりも、利用できる分散ストレージの容量Ｄ及びストレージの利用効率Ｒを向上することができる。
【００３４】
（手法ｃ）
手法ａ，ｂでは、最小ストレージのサイズを断片ファイルのサイズとしていた。一方、手法ｃでは、図４の下側に示すように、各ストレージの容量の最大公約数を断片ファイルのサイズとする。即ち、ストレージの全容量をストレージの最大公約数で除算した値をファイルの断片数ｎとする。具体的には、「ファイルの断片数ｎ＝ｔｏｔａｌ（Ｓ）／ｇｃｄ（Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５）＝１４４０ＧＢ／４０＝３６」とし、分散配置方法を「３６個のうち２５個を１ＴＢのストレージＳ１に保存し、３個を３つの１２０ＧＢのストレージＳ２〜Ｓ４にそれぞれ保存し、２個を８０ＧＢのストレージＳ５に保存」とする。又、復号に必要なファイルの断片数ｋについては、手法ｂで用いたｍ個のストレージがダウン又切断時の可用性を確保する観点をそのまま流用し、ストレージの全容量から特定の汎用ストレージの容量分を減算し、その減算値を上記最大公約数で除算した値とする。具体的には、「（ｔｏｔａｌ（Ｓ）−１２０ＧＢ×１）／ｇｃｄ（Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５）＝３３」を復号に必要なファイルの断片数ｋとする。ストレージ間の容量の最大公約数を用いることにより、復号に必要なファイルの断片数ｋが更に増加するので、手法ｂよりも、利用できる分散ストレージの容量Ｄ及びストレージの利用効率Ｒを向上することができる。尚、ｇｃｄ（Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５）とは、ストレージＳ１〜Ｓ５の各容量の最大公約数である。手法ａ、ｂでは断片ファイルのサイズは最小ストレージのサイズ程度に留まるが、手法ｃではストレージ間の容量の最大公約数を用いて（ｎ，ｋ）を導出するので、断片ファイルの偏りやばらつきを抑制することができる。
【００３５】
続いて、手法ｃで用いる各パラメータ（ｎ，ｋ，Ｄ，Ｒ）の計算式について説明する。ここでは、ユーザにより、複数のストレージのうち同時に停止してもよいストレージ数Ａと、停止のリスクを無視するストレージ数（＝稼働を信頼するストレージ数）Ｂとが入力されるものとする。尚、ストレージ数Ａについては、全てのストレージからストレージ数Ｂを除く全てとしてもよいし、全てのストレージからストレージ数Ｂを除いた複数のストレージのうち一部としてもよい。
【００３６】
図５に示すように、入力情報を、ストレージ総数Ｔ、同時に停止してもよいストレージ数Ａ、停止のリスクを無視するストレージ数Ｂ、リソースを提供する各ストレージの容量Ｓ＝｛Ｓ１，Ｓ２，Ｓ３，…，Ｓｉ，…ＳＴ｝（∴for ∀Ｓｉ where i＞Ｂ Ｓｉ≧Ｓｉ＋１，但し、停止のリスクを無視するＢ個のストレージを先頭に並べ、かつ、Ｂ＋１以降のストレージについては容量の大きい順に並べる）とすると、ファイルの断片数ｎは式（１）、復号に必要なファイルの断片数ｋは式（２）、利用できる分散ストレージの容量Ｄは式（３）、ストレージの利用効率Ｒは式（４）のように表現できる。
【００３７】
【数１】
2017130143.tif 000003
【００３８】
【数２】
2017130143.tif 000004
【００３９】
【数３】
2017130143.tif 000005
【００４０】
【数４】
2017130143.tif 000006
【００４１】
即ち、ファイルの断片数ｎについては、式（１）に示すように、複数のストレージの全ての容量を上記最大公約数で除算することにより算出する。又、復号に必要なファイルの断片数ｋについては、式（２）に示すように、同時に停止してもよいストレージの全ての容量を上記最大公約数で除算した値をデータの断片数ｎから減算することにより算出する。又、利用できる分散ストレージの容量Ｄについては、式（３）に示すように、復号に必要なファイルの断片数ｋと上記最大公約数とを積算させることにより算出する。又、ストレージの利用効率Ｒについては、式（４）に示すように、利用できる分散ストレージの容量Ｄを複数のストレージの全ての容量で除算することにより算出する。
【００４２】
次に、本実施の形態で行う秘密分散・データ分散システム１の処理動作について説明する。
【００４３】
まず、システムユーザ連携部１６が、秘密分散・データ分散システム１で利用可能なストレージ提供端末５のストレージ情報をストレージ利用クライアント端末３の画面に表示し、同時に停止してもよいストレージ数Ａと、停止のリスクを無視するストレージ数Ｂとの入力をユーザに促す（ステップＳ１０１）。このとき、ストレージの利用効率と可用性の優先度を考慮して各ストレージ数（Ａ，Ｂ）を入力するように指示する。尚、同時に停止してもよいストレージと停止のリスクを無視するストレージをユーザに選択・指定させ、各ストレージ数（Ａ，Ｂ）をシステムユーザ連携部１６で算出するようにしてもよい。又、停止のリスクを無視するストレージ数Ｂについては、ストレージ容量の大きい順に指定するように指示してもよい。
【００４４】
次に、ユーザが各ストレージ数（Ａ，Ｂ）を入力すると、ファイル変換情報管理部１４は、上述した手法ａ〜手法ｃのうちいずれかを用いて、各パラメータ（ｎ，ｋ，Ｄ，Ｒ）を算出し、ファイルの分散配置方法を決定する（ステップＳ１０２）。尚、手法ａ〜手法ｃのうちいずれを用いるかについては、予め指定された設定情報に従うようにしてもよいし、ユーザに選択させてもよい。
【００４５】
続いて、システムユーザ連携部１６は、各パラメータ（ｎ，ｋ，Ｄ，Ｒ）の計算結果及びそれらの計算式、分散配置方法、更にはユーザにより入力された各ストレージ数（Ａ，Ｂ）をストレージ利用クライアント端末３の画面に表示する（ステップＳ１０３）。
【００４６】
その後、その内容でユーザがＯＫ処理すれば、ファイル・断片ファイル変換部１２は、ステップＳ１０２で計算されたファイルの断片数ｎと復号に必要なファイルの断片数ｋとを用いて秘密分散対象の平文ファイルを断片化し、断片化した各平文断片ファイルをそれぞれ暗号化する（ステップＳ１０４）。一方、利用できる分散ストレージの容量Ｄが不足し、又はストレージの利用効率Ｒが悪い等の理由より、ユーザが表示内容に対してＮＧ処理する場合には、断片化及び暗号化を行うことなく処理を終了する。
【００４７】
最後に、断片ファイル転送部１３は、ステップＳ１０２で決定された断片ファイルの分散配置方法に基づき、各暗号化断片ファイルを各ストレージ提供端末５にそれぞれ転送する（ステップＳ１０５）。
【００４８】
以上より、本実施の形態によれば、ストレージ提供端末５に対する暗号化断片ファイルの分散配置の偏りを許容する、つまり、複数のストレージ提供端末５の全ての記憶可能容量に応じてファイルの断片数ｎを算出し、複数の暗号化断片データのうち互いに異なる一部を各ストレージ提供端末５の記憶可能容量に応じて各ストレージ提供端末５にそれぞれ転送するので、ストレージの総数よりも大きい（ｎ，ｋ）のペアを用いることが可能となることから、ストレージリソースを効率的に利用することができ、分散ストレージに格納できる平文ファイルのデータサイズを大きくすることができる。又、ストレージリソースの記憶可能容量に偏りやばらつきがあっても、効率的にストレージリソースを集約利用することができる。その結果、オフィスにあるパソコン等をストレージとして利用することができる。
【００４９】
又、本実施の形態によれば、複数のストレージ提供端末５の記憶可能容量の最大公約数を用いて（ｎ，ｋ）を算出するので、ストレージリソースをより効率的に利用することができ、暗号化断片ファイルの偏りやばらつきを抑制することができる。
【００５０】
又、本実施の形態によれば、同時に停止してもよいストレージ数Ａと停止のリスクを無視するストレージ数Ｂとを用いて（ｎ，ｋ）を算出するので、ストレージリソースを更に効率的に利用することができる。
【００５１】
又、本実施の形態によれば、各パラメータ（ｎ，ｋ，Ｄ，Ｒ）の計算結果及びそれらの計算式、分散配置方法、更にはユーザにより入力された各ストレージ数（Ａ，Ｂ）を可視化表示するので、各パラメータ（ｎ，ｋ，Ａ，Ｂ）が全体のストレージ利用効率に与える影響をユーザに対して明確に提示することができる。
【００５２】
尚、本実施の形態では、複数のストレージ提供端末５の容量の最大公約数を断片データのサイズとしたが、これは一例にすぎない。通常、ストレージ提供端末５の容量は、例えば１０，６５７バイト又はビット単位であり、きりが悪い。その場合、最大公約数は極めて小さくなり、断片ファイルの数が増加するので、分散効率が低下する可能性がある。そこで、各ストレージ提供端末５の容量をキロバイトやメガバイトなど一定の大きさの単位にまるめ、まるめた値を用いて最大公約数を用いてもよい。例えば上記１０，６５７バイトの場合、１０キロバイトにまるめた値を用いる。これにより、最大公約数のサイズを一定程度に留めることができ、実際の容量の値を用いる場合よりも分散効率を向上することができる。尚、「まるめる」とは、端数処理と同義であり、与えられた数値を、ある一定の丸め幅の整数倍の数値に置き換えることをいう。一般的には、１０の累乗が丸め幅とされる。具体的には、一定サイズの粒度への近似化、切り捨て、切り上げ、四捨五入等を行う。
【００５３】
＜第２の実施の形態：手法２＞
第２の実施の形態では、手法２について説明する。手法２では、ユーザが決めるべきパラメータ（Ａ，Ｂ）を最適化問題の計算により秘密分散・データ分散システム１が自身で自動的に導出する。具体的には、式（３）で示された利用できる分散ストレージの容量Ｄが最大となるようにパラメータ（Ａ，Ｂ）を求める。ここでは、２つの手法について説明する。
【００５４】
（手法ａ）
単純には、ファイル変換情報管理部１４が、総当たり法を用いて、例えば、ストレージの総数が１０個の場合、（Ａ，Ｂ）＝｛（１，９），（２，８），（３，７），…，（９，１）｝と定義し、各組み合わせのパターンを式（３）にそれぞれ代入してＤの値を求め、Ｄの値が最大となる（Ａ，Ｂ）の組み合わせをパラメータ（Ａ，Ｂ）として決定する。これにより、利用できる分散ストレージの容量Ｄが最大となるようなパラメータ（Ａ，Ｂ）を導出することができる。
【００５５】
（手法ｂ）
システムの可用性（＝稼働率）が確保されるようにパラメータ（Ａ，Ｂ）を導出する手法も考えられる。具体的には、ストレージ情報管理部１５が、システム利用時にストレージ提供端末５の容量Ｓに加えて稼働率Ｋも併せて収集し、図６に示すように記憶管理しておく。そして、ファイル変換情報管理部１４は、収集したストレージ提供端末５の稼働率Ｋを更に用いてパラメータ（Ａ，Ｂ）を導出する。具体的には、例えば、ストレージ全体の稼働率Ｋ’を式（５）のように定義し、式（５）と式（３）の双方又はいずれか一方を最大にする最適化問題としてパラメータ（Ａ，Ｂ）を算出する。
【００５６】
【数５】
2017130143.tif 000007
【００５７】
式（５）について説明する。右辺は、停止のリスクを無視するストレージの全ての稼働率の積算値に変数∂を掛けている。変数∂は、「∂＝１−ｍａｘ｛（Σｉ＝Ｂ＋１Ｂ＋１＋ＡＳｉ／ｇｃｄ（Ｓ））以上の断片ファイルを持つストレージが同時に故障する確率｝」と定義する。即ち、同時に停止してもよいストレージ提供端末５の全ての記憶可能容量を上記最大公約数で除算した値以上の数の暗号化断片データが転送され得るストレージ提供端末５が同時に故障する確率の最大値を１から減算した値とする。そして、その「ｍａｘ｛（Σｉ＝Ｂ＋１Ｂ＋１＋ＡＳｉ／ｇｃｄ（Ｓ））以上の断片ファイルを持つストレージが同時に故障する確率｝」は、「Σｉ＝１Ｔ−ＢＣ（Ｔ−Ｂ，ｉ）通りの組み合わせのうち｛１−（１−Ｋ１）×（１−Ｋ２）×…×（１−Ｋｉ）が最大になる組み合わせ｝」と等しいことから、組み合わせを最適化する一種の最適化問題となり、総当たり法、動的計画法、貪欲法等、既存のアルゴリズムを用いてパラメータ（Ａ，Ｂ）を算出することができる。
【００５８】
これにより、システムの可用性（＝稼働率）を確保しつつ、利用できる分散ストレージの容量Ｄが最大となるようなパラメータ（Ａ，Ｂ）を導出することができる。このとき、Ａを大きく確保してＢを小さく抑えるという条件を課すことも可能である。
【００５９】
以上より、本実施の形態によれば、ユーザが決めるべきパラメータ（Ａ，Ｂ）を最適化問題の計算により秘密分散・データ分散システム１が自動的に導出するので、最適な断片ファイルの分散配置方法を決定することができる。又、ユーザが各ストレージの稼働率等を意識する必要はないので、ユーザの負担を軽減することができる。
【００６０】
＜第３の実施の形態：手法３＞
第３の実施の形態では、手法３について説明する。手法３では、新たにストレージを追加する場合、そのストレージの追加が分散ストレージシステム全体に与える影響を分析し、追加すべき有効なストレージの種別及び容量を提案する。ここで、「有効な」とは、ストレージ利用効率の高いことをいう。即ち、式（４）で示されたストレージの利用効率Ｒが向上するような追加ストレージの条件を求める。
【００６１】
式（４）より、ストレージが持つ様々な性質が利用効率Ｒに影響を及ぼすことを理解できる。そのため、性質に応じた利用効率Ｒへの貢献率として、追加するストレージの容量をＳα、稼働率をＫα、種別をＣαと定義する。稼働率については、ストレージの種別に応じて変動すると考えられるので、種別Ｃαを元に既存する同種別の全てのストレージの稼働率Ｋの平均値とする。
【００６２】
容量Ｓαと種別Ｔαがストレージの利用効率に与える影響については、図７の表のように纏められる。即ち、種別ＣαがＮＡＳやクラウド等といったサーバ装置の場合、一般的には、大容量の記憶容量を備え、ダウン又は切断の可能性が低いことから、追加するストレージの容量Ｓαの大きさに関係なく、停止を想定しないストレージとして利用できる。これは、式（４）のΣｉ＝１ＢＳｉの部分（＝必ず接続可能なストレージ）が増加することに等しく、分子の値の増加によりストレージの利用効率Ｒは向上する。
【００６３】
一方、種別ＣαがパソコンやＢＹＯＤ（Bring your own device）等のクライアント端末の場合、一般的には、小容量の記憶容量を備えることから、容量Ｓαの大きさに応じてストレージの利用効率Ｒに与える影響が異なる。故に、例えば、容量Ｓαが既存ストレージの容量ＳＢ＋１＋Ａよりも大きい場合、同時に停止してもよいストレージ数Ａが増加することになるので、ストレージの利用効率Ｒは低下する。これは、式（４）のΣｉ＝１ＴＳｉの部分が増加することに等しく、分母の値の増加によりストレージの利用効率Ｒは低下する。
【００６４】
それに対し、容量Ｓαが既存ストレージの容量ＳＢ＋１＋Ａ以下の場合、ストレージ数の単純増加によりストレージの利用効率Ｒは向上する。これは、式（４）のΣｉ＝Ａ＋Ｂ＋２ＴＳｉの部分が増加することに等しく、分子の値の増加によりストレージの利用効率Ｒは向上する。このとき、容量Ｓαは大きい程よいため、「ＳＢ＋１＋Ａ≧Ｓα」の条件の中で最も大きな容量ＳＢ＋１＋Ａ程度（＝同時に停止してもよいストレージのうち最も容量の小さいストレージと同じ容量程度）が好ましい。
【００６５】
従い、ストレージの利用効率Ｒを向上するために追加すべきストレージは、ダウン若しくは切断の可能性が低い大容量なサーバストレージ、又は、ダウン若しくは切断の可能性はあるがＳＢ＋１＋Ａ程度の容量を持つクライアントストレージとなる。そこで、利用効率を重視し、可用性（稼働率）を重視しない場合には、大容量なサーバストレージを推奨する。一方、可用性（稼働率）を重視する場合には、大容量なサーバストレージの追加ではシステム全体の可用性に影響を及ぼすので、ＳＢ＋１＋Ａ程度の容量を持つクライアントストレージを推奨する。
【００６６】
即ち、図８に示すように、ストレージ情報管理部１５は、ユーザによるストレージ追加の優先度がストレージの利用効率かストレージの可用性（稼働率）かを判定し（ステップＳ２０１）、ストレージの利用効率を優先する場合、システムユーザ連携部１６は、大容量な記憶可能容量を備えたサーバ装置のストレージを追加推奨ストレージとして通知し（ステップＳ２０２）、ストレージの稼働率を優先する場合には、ＳＢ＋１＋Ａ程度の記憶可能容量を備えたクライアント端末のストレージを追加推奨ストレージとして通知する（ステップＳ２０３）。具体的には、例えば、「大容量なサーバ装置又はＳＢ＋１＋Ａ程度の容量を持つクライアント端末をストレージとして追加することでストレージの利用効率を向上できます。」という画面をストレージ利用クライアント端末３の画面に表示する。
【００６７】
以上より、本実施の形態によれば、ダウン若しくは切断の可能性が低い大容量なサーバストレージ、又は、ダウン若しくは切断の可能性はあるがＳＢ＋１＋Ａ程度の容量を持つクライアントストレージを追加ストレージとして提案するので、ストレージの利用効率を向上することができる。
【００６８】
続いて、図９〜図１１を用いて、秘密分散・データ分散システム１で行う全体の動作について説明する。まず、図９を参照しながら、初期設定時の処理フローについて説明する。
【００６９】
まず、ストレージ提供端末５から容量等のストレージ情報が通知されると、ストレージ情報管理部１５は、通知されたストレージ情報を記憶管理する（ステップＳ３０１）。具体的には、図６に示したように管理する。特に稼働率については、上述したように既存する同種の全てのストレージの稼働率の平均値としてもよいし、接続されたストレージによる過去の接続状況（例えば、一日あたりの接続時間）を用いて算出してもよい。
【００７０】
次に、ストレージ利用クライアント端末３から秘密分散要求を受信すると、ストレージ情報管理部１５は、現時点で秘密分散・データ分散システム１に接続されているストレージのストレージ情報（ストレージ数、容量、種別、稼働率等）を応答する（ステップＳ３０２）。
【００７１】
続いて、システムユーザ連携部１６は、同時に停止してもよいストレージ数Ａと停止のリスクを無視するストレージ数Ｂとをユーザが選択・指定するか自動で決定するかを確認するための確認要求を送信する（ステップＳ３０３）。
【００７２】
その後、上記確認要求に対して自動設定が入力された場合、ファイル変換情報管理部１４は、第２の実施の形態（手法２）で説明した方法に基づき、自らストレージパラメータ（Ａ，Ｂ）の最適値を算出する（ステップＳ３０４）。
【００７３】
一方、上記確認要求に対してユーザによる選択・指定が入力された場合、ファイル変換情報管理部１４は、ユーザにより入力されたストレージパラメータ（Ａ，Ｂ）を受信する（ステップＳ３０５）。尚、再度説明するが、同時に停止してもよいストレージと停止のリスクを無視するストレージをユーザに選択・指定させ、各ストレージ数Ａ，Ｂを算出するようにしてもよい。又、停止のリスクを無視するストレージ数Ｂについては、容量の大きい順に指定するように指示してもよい。
【００７４】
次に、ファイル変換情報管理部１４は、第１の実施の形態（手法１）で説明した方法に基づき、算出又は入力されたストレージパラメータ（Ａ，Ｂ）を用いて、ファイルの断片数ｎ、復号に必要なファイルの断片数ｋ、利用できる分散ストレージの容量Ｄ、ストレージの利用効率Ｒを算出し、分散配置方法を決定する（ステップＳ３０６）。
【００７５】
その後、システムユーザ連携部１６は、算出した利用できる分散ストレージの容量Ｄを現在のストレージ全体で保管できるデータ容量（＝復号するために最低限必要な断片ファイルの総容量）として通知し（ステップＳ３０７）、その後ステップＳ３０６で算出及び決定していた全てのパラメータ情報を保存する（ステップＳ３０８）。
【００７６】
最後に、通知されたデータ容量をユーザが参照し、例えば秘密分散対象ファイルのデータサイズが上記データ容量を超えることから、ユーザがＮＧ処理する場合、ストレージ情報管理部１５は、第３の実施の形態（手法３）で説明した方法に基づきストレージの利用効率を向上する追加推奨ストレージを算出し（ステップＳ３０９）、システムユーザ連携部１６は、その算出結果を通知する（ステップＳ３１０）。一方、ユーザがＯＫ処理する場合には、本処理を終了する。
【００７７】
次に、図１０を参照しながら、秘密分散時（ファイル書き込み時）の処理フローについて説明する。
【００７８】
まず、ストレージ利用クライアント端末３から平文の秘密分散対象ファイルが送信されると、断片ファイル転送部１３は、ストレージ提供端末５の接続状況・稼働状況等を参照して利用可能なアクティブストレージを検索する（ステップＳ４０１）。
【００７９】
その後、ファイル・断片ファイル変換部１２は、ストレージ提供端末５からのストレージアクティブ応答に基づき秘密分散対象ファイルの保存先を決定し（ステップＳ４０２）、ステップＳ３０８で保存していた各パラメータを用いて秘密分散対象ファイルを断片化して、各平文断片ファイルをそれぞれ暗号化する（ステップＳ４０３）。その後、断片ファイル転送部１３は、各暗号化断片ファイルを保存先のストレージ提供端末５にそれぞれ転送し、各保存先を秘密分散対象ファイルの識別子に関連付けて記憶管理する（ステップＳ４０４）。
【００８０】
最後に、転送先のストレージ提供端末５から暗号化断片ファイルのハッシュ値が含まれる断片ファイル受信応答を受信すると、ファイル・断片ファイル変換部１２は、受信したハッシュ値と、転送前の暗号化断片ファイルを用いて自身で算出したハッシュ値とを比較し、双方のハッシュ値が合致していれば、保存完了応答をストレージ利用クライアント端末３に応答する（ステップＳ４０５，Ｓ４０６）。
【００８１】
次に、図１１を参照しながら、ファイル提供時（ファイル読み込み時）の処理フローについて説明する。
【００８２】
まず、ストレージ利用クライアント端末３からファイル取得要求が送信されると、断片ファイル転送部１３は、対象ファイルの保存先を確認し（ステップＳ５０１）、保存先の各ストレージ提供端末５に対して断片ファイル提供要求をそれぞれ送信する（ステップＳ５０２）。
【００８３】
その後、ストレージ提供端末５のダウン又は切断、若しくはクライアント権限に応じた断片ファイルの提供拒否等により、一定数の暗号化断片ファイルを収集できない場合、ファイル・断片ファイル変換部１２は、残り暗号化断片ファイルを用いて元の平文ファイルを復号し（ステップＳ５０３）、ストレージ利用クライアント端末３に送信する（ステップＳ５０４）。
【００８４】
最後に、各実施の形態では、秘密分散技術を例に説明したが、データを分散して保存できればよいため、一般的なデータ分散技術を用いてもよい。その他、HadoopやSheepDog等のように、データ分散を利用して多数のストレージに断片ファイルを保存することにより仮想的な大容量ストレージを構築する分散ストレージサービスにも適用可能である。
【００８５】
又、本実施の形態に係る秘密分散・データ分散システム１は、ＣＰＵ等の演算機能やメモリ等の記憶機能を備えたコンピュータで実現することができる。又、そのコンピュータを機能させるためのプログラム（ソフトウェア製品）を構築し、又は該プログラムの記憶媒体（ハードウェア製品）を生成し、コンピュータにインストールして実行させ、通信又は物流ネットワークを介して流通させることも可能である。
【符号の説明】
【００８６】
１…秘密分散・データ分散システム（データ分散装置）
１１…ファイル送受信部
１２…ファイル・断片ファイル変換部（変換部）
１３…断片ファイル転送部（転送部）
１４…ファイル変換情報管理部（管理部）
１５…ストレージ情報管理部（管理部）
１６…システムユーザ連携部（連携部）
３…ストレージ利用クライアント端末
５…ストレージ提供端末
Ｓ１０１〜Ｓ１０５、Ｓ２０１〜Ｓ２０３、Ｓ３０１〜Ｓ３１０、Ｓ４０１〜Ｓ４０６、Ｓ５０１〜Ｓ５０４…ステップ
【図１】
2017130143.tif 000008
【図２】
2017130143.tif 000009
【図３】
2017130143.tif 000010
【図４】
2017130143.tif 000011
【図５】
2017130143.tif 000012
【図６】
2017130143.tif 000013
【図７】
2017130143.tif 000014
【図８】
2017130143.tif 000015
【図９】
2017130143.tif 000016
【図１０】
2017130143.tif 000017
【図１１】
2017130143.tif 000018
【手続補正書】
【提出日】平成28年12月19日(2016.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置において、
前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、
前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理部と、
算出した前記データの断片数でデータを断片化する変換部と、
断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送部と、を備え、
前記管理部は、
前記複数のストレージの各記憶可能容量の最大公約数、又は、前記複数のストレージの各記憶可能容量を一定の大きさの単位にまるめた値の最大公約数を断片データのサイズとし、
前記複数のストレージの全ての記憶可能容量を前記最大公約数で除算することにより前記データの断片数を算出し、前記複数のストレージの全ての記憶可能容量から所定のストレージの記憶可能容量を減算した値を前記最大公約数で除算することにより元データの復号に必要な断片データの数を算出することを特徴とするデータ分散装置。
【請求項２】
データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置において、
前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、
前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理部と、
算出した前記データの断片数でデータを断片化する変換部と、
断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送部と、を備え、
前記管理部は、
前記複数のストレージの各記憶可能容量の最大公約数、又は、前記複数のストレージの各記憶可能容量を一定の大きさの単位にまるめた値の最大公約数を断片データのサイズとし、
前記複数のストレージのうち停止してもよいストレージと、停止してはいけないストレージとを用いて、前記停止してもよいストレージの全ての記憶可能容量を前記最大公約数で除算した値を前記データの断片数から減算することにより元データの復号に必要な断片データの数を算出することを特徴とするデータ分散装置。
【請求項３】
前記管理部は、
前記停止してもよいストレージと前記停止してはいけないストレージとの各数を変数とし、前記元データの復号に必要な断片データの数と前記最大公約数とを積算させることにより利用可能なストレージ容量を算出する算出式を用いて、前記算出式の計算結果が最大となるように前記停止してもよいストレージと前記停止してはいけないストレージとの各数をそれぞれ算出することを特徴とする請求項２に記載のデータ分散装置。
【請求項４】
前記管理部は、
前記停止してもよいストレージと前記停止してはいけないストレージとの各数を変数とし、前記停止してもよいストレージの全ての記憶可能容量を前記最大公約数で除算した値以上の数の断片データが転送され得るストレージが同時に故障する確率の最大値を１から減算した値に対して、前記停止してはいけないストレージの全ての稼働率の積算値を積算することによりストレージ稼働率を算出する算出式を用いて、当該算出式の計算結果が最大となるように前記停止してもよいストレージと前記停止してはいけないストレージとの各数をそれぞれ算出することを特徴とする請求項３に記載のデータ分散装置。
【請求項５】
前記利用可能なストレージ容量に基づくストレージ利用効率が高くなるストレージを追加推奨ストレージとして通知する連携部、
を更に備えることを特徴とする請求項３に記載のデータ分散装置。
【請求項６】
前記連携部は、
前記ストレージ利用効率が優先される場合、大容量の記憶可能容量を備えたサーバ装置のストレージを通知し、ストレージの稼働率が優先される場合、前記停止してもよいストレージのうち最も記憶可能容量の小さいストレージと同じ記憶可能容量を備えたクライアント端末のストレージを通知することを特徴とする請求項５に記載のデータ分散装置。
【請求項７】
データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置で行うデータ分散方法において、
前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、
前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理ステップと、
算出した前記データの断片数でデータを断片化する変換ステップと、
断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送ステップと、を備え、
前記管理ステップでは、
前記複数のストレージの各記憶可能容量の最大公約数、又は、前記複数のストレージの各記憶可能容量を一定の大きさの単位にまるめた値の最大公約数を断片データのサイズとし、
前記複数のストレージの全ての記憶可能容量を前記最大公約数で除算することにより前記データの断片数を算出し、前記複数のストレージの全ての記憶可能容量から所定のストレージの記憶可能容量を減算した値を前記最大公約数で除算することにより元データの復号に必要な断片データの数を算出することを特徴とするデータ分散方法。
【請求項８】
データを断片化して複数のストレージに分散保存し、データの総断片数以下の数の断片データを用いて元データを復号可能なデータ分散装置で行うデータ分散方法において、
前記複数のストレージのうち少なくとも１つは記憶可能容量が他と異なり、
前記複数のストレージの全ての記憶可能容量に応じてデータの断片数を算出する管理ステップと、
算出した前記データの断片数でデータを断片化する変換ステップと、
断片化された複数の断片データのうち互いに異なる一部を各ストレージの記憶可能容量に応じて各ストレージにそれぞれ転送する転送ステップと、を備え、
前記管理ステップでは、
前記複数のストレージの各記憶可能容量の最大公約数、又は、前記複数のストレージの各記憶可能容量を一定の大きさの単位にまるめた値の最大公約数を断片データのサイズとし、
前記複数のストレージのうち停止してもよいストレージと、停止してはいけないストレージとを用いて、前記停止してもよいストレージの全ての記憶可能容量を前記最大公約数で除算した値を前記データの断片数から減算することにより元データの復号に必要な断片データの数を算出することを特徴とするデータ分散方法。
【請求項９】
請求項１乃至６のいずれかに記載のデータ分散装置としてコンピュータを機能させることを特徴とするデータ分散プログラム。