(57)【要約】【課題】  災害や犯罪等によるデータの消失、漏洩、改竄等に対するセキュリティ向上を図る。【解決手段】  広域ネットワーク１０００には、データ送信サーバ１と、データ復元サーバ２と、互いに地理的に離れた場所に設置された複数のデータ保管装置３とが接続されている。データ送信サーバ１は、保管要求がなされたデータを２以上のデータブロックに分割するデータ分割部１２と、広域ネットワーク１０００を通じて２以上のデータブロックを複数のデータ保管装置３に分散して送信するデータ送信部１５とを有する。データ復元サーバ２は、読出要求がなされたデータに対応する２以上のデータブロックを広域ネットワーク１０００を通じて複数のデータ保管装置３から読み出すデータ読出部２２と、読み出された２以上のデータブロックに基づいてデータを復元する復元処理部２４とを有する。【選択図】      図２
2007072643.tif 000002
【特許請求の範囲】
【請求項１】
広域ネットワークに接続され、互いに地理的に離れた場所に設置された複数のデータ保管装置と、
前記広域ネットワークに接続され、データの保管要求を受け付ける保管要求受付手段と、前記保管要求が受け付けられたデータを２以上のデータブロックに分割する分割手段と、前記広域ネットワークを通じて、前記分割手段により得られた２以上のデータブロックを前記複数のデータ保管装置に分散して送信する送信手段とを有するデータ送信装置と、
前記広域ネットワークに接続され、データの読出要求を受け付ける読出要求受付手段と、前記読出要求が受け付けられたデータに対応する２以上のデータブロックを前記広域ネットワークを通じて前記複数のデータ保管装置から読み出す読出手段と、前記読み出された２以上のデータブロックに基づいて前記データを復元する復元手段とを有するデータ復元装置と、
を備えることを特徴とするデータ保管システム。
【請求項２】
前記データ送信装置は、前記分割手段により得られた２以上のデータブロックに基づいて、各データブロックのパリティデータを生成するパリティデータ生成手段を更に有し、
前記送信手段は、前記生成された各パリティデータを、対応するデータブロックの送信先とは異なるデータ保管装置に送信し、
前記データ復元装置は、前記読出手段により読み出された各データブロックについて、その保管先のデータ保管装置から適正に読み出されたか判断する判断手段を更に有し、
前記読出手段は、適正に読み出されなかったと前記判断されたデータブロックのパリティデータを、その保管先のデータ保管装置から読み出し、
前記復元手段は、
前記読み出されたパリティデータに基づいて前記適正に読み出されなかったと判断されたデータブロックを再形成する再形成手段を含み、
前記判断手段により適正に読み出されたと判断されたデータブロックと、前記再形成されたデータブロックとに基づいて、前記データを復元する、
ことを特徴とする請求項１に記載のデータ保管システム。
【請求項３】
前記データ送信装置は、
前記分割手段により得られた２以上のデータブロックのそれぞれのデータ構造を反映するチェック情報を生成するチェック情報生成手段を更に有し、
前記送信手段は、前記２以上のデータブロックをそのチェック情報とともにそれぞれ送信し、
前記データ復元装置の前記読出手段は、前記２以上のデータブロックをそのチェック情報とともにそれぞれ読み出し、
前記判断手段は、前記読み出された２以上のデータブロックのそれぞれについて、そのチェック情報に基づいて前記適正に読み出されたかを判断する、
ことを特徴とする請求項２に記載のデータ保管システム。
【請求項４】
前記データ送信装置の前記送信手段は、前記パリティデータ生成手段により生成された各データブロックのパリティデータを前記複数のデータ保管装置のうちの１つに送信するとともに、前記２以上のデータブロックを前記１つを除く前記複数のデータ保管装置に分散して送信することを特徴とする請求項２に記載のデータ保管システム。
【請求項５】
広域ネットワークに接続され、互いに地理的に離れた場所に設置された１以上の第１のデータ保管装置と、前記第１のデータ保管装置と地理的に離れた位置に設置され、ローカルネットワークに接続され、前記第１の保管装置から地理的に離れた場所に設置された１以上の第２のデータ保管装置と、
前記広域ネットワーク及び前記ローカルネットワークのそれぞれに接続され、データの保管要求を受け付ける保管要求受付手段と、前記保管要求が受け付けられたデータを２以上のデータブロックに分割する分割手段と、前記広域ネットワーク及び前記ローカルネットワークを通じて、前記分割手段により得られた２以上のデータブロックを前記第１及び第２のデータ保管装置に分散して送信する送信手段と、データの読出要求を受け付ける読出要求受付手段と、前記読出要求が受け付けられたデータに対応する２以上のデータブロックを前記広域ネットワーク及び前記ローカルネットワークを通じて前記第１及び第２のデータ保管装置から読み出す読出手段と、前記読み出された２以上のデータブロックに基づいて前記データを復元する復元手段とを有するデータ処理装置と、
を備えることを特徴とするデータ保管システム。
【請求項６】
前記データ処理装置は、前記分割手段により得られた２以上のデータブロックに基づいて、各データブロックのパリティデータを生成するパリティデータ生成手段と、前記読出手段により読み出された各データブロックについて、その保管先の前記第１又は第２のデータ保管装置から適正に読み出されたか判断する判断手段とを更に有し、
前記送信手段は、前記パリティデータ生成手段により生成された各パリティデータを、対応するデータブロックの送信先とは異なる前記第１又は第２のデータ保管装置に送信し、
前記読出手段は、前記判断手段により適正に読み出されなかったと判断されたデータブロックのパリティデータを、その保管先の前記第１又は第２のデータ保管装置から読み出し、
前記復元手段は、前記読み出されたパリティデータに基づいて前記適正に読み出されなかったと判断されたデータブロックを再形成する再形成手段を含み、前記判断手段により適正に読み出されたと判断されたデータブロックと、前記再形成されたデータブロックとに基づいて、前記データを復元する、
ことを特徴とする請求項５に記載のデータ保管システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種データを保管するデータ保管システムに関し、より詳細には、保管されているデータのセキュリティ向上を図るための技術に関するものである。
【背景技術】
【０００２】
従来、各種のデータは、紙等の印刷メディアに印刷された状態、あるいはテープ・ＣＤ−Ｒ等の記憶メディアに記憶された状態で保管されていた。また、近年では、情報化社会の進行に伴い、データを電子化して保管する技術が発展してきている。たとえば医療分野においては、医用画像データや電子カルテデータ等を作成し、それらを参照可能な状態にアーカイブ化する技術が実用化されている。
【０００３】
電子化されたデータを保管する上で重視すべき問題の一つとして、データの漏洩や改竄や消失を防止するためのセキュリティの確保が挙げられる。特に、近年のデータ保管システムは、インターネットやＬＡＮ等のネットワークを介してデータをやりとりしているため、当該ネットワークを通じて、いつ、どこで、誰がデータの改竄等を企てるか予測することは困難である。したがって、保管されているデータに対するあらゆる角度からのアクセスを勘案したセキュリティ策を講じる必要がある。
【０００４】
また、災害の発生等によってシステム自体が破壊されてデータが消失するおそれもある。それに対処するものとして、たとえば、同一のデータを複数の保管場所に保管しておくシステムが、金融機関等の機密データの保管に実用化されている。このシステムによれば、例え一つの保管場所に災害等が発生した場合でも、他の保管場所のデータは保護されることとなる。
【０００５】
また、データを暗号化して保管し、データ参照時にはそれを復号化するシステムも広く利用されている。たとえば下記の特許文献１には、暗号技術を用いたデータのセキュリティシステムが開示されている。同文献に記載のシステムは、セキュリティ対象の伝送情報を送信側と受信側とで暗号化処理する構成とされている。送信側においては、この伝送情報を所定の形式で伝送し、この伝送情報を暗号化処理してメッセージ認証コード情報を取得し、伝送情報を送信した後にメッセージ認証コード情報を送信する。また、受信側においては、受信した伝送情報を暗号化処理してメッセージ認証コード情報を独立して取得し、両メッセージ認証コード情報を照合して一致を以て伝送情報の認証を行うとともに、認証された伝送情報を保管するようになっている。
【０００６】
【特許文献１】特開平１０−７９７３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような既存の手法においては、あらゆる危険性を考慮すると、保管されているデータのセキュリティが十分に確保されているとは言い難い。
【０００８】
まず、印刷メディアや記憶メディアを用いる場合、災害等によりメディアの破壊や焼失が生じると、保管されているデータは失われてしまう。また、メディアが盗難されたり破壊されたりするおそれもある。なお、このようなメディアを保管するには保管スペースを確保する必要があり、複数の場所にコピーを保管することは費用対効果の面から問題がある。また、必要なデータを取り出すのに時間が掛かるという問題もある。
【０００９】
また、データを電子化して単一の保管場所に保管する場合、その保管場所に災害が発生するとデータが消失するおそれがある。
【００１０】
一方、データを電子化して複数の保管場所に同一データをそれぞれ保管する場合には、災害によるデータ消失の危険性は減少するが、犯罪などによるデータの漏洩への対処がより困難になる。すなわち、各保管場所に同一のデータが保管させることから、災害等に備えて保管場所の数を増やせば増やすほど、データ漏洩の危険性が増大することとなる。
【００１１】
また、暗号技術やパスワード技術等のセキュリティ保護策を用いる場合、そのための投資コストや管理コストが発生するとともに、データの送受信を行う度ごと暗号処理（暗号化処理、復号化処理等）やパスワード処理（パスワード付与処理・照合処理等）によってオーバーヘッドが増大するため、装置性能が恒常的に低減してしまうおそれがある。また、マイクロプロセッサの処理速度の向上や暗号解読技術の進歩による暗号の陳腐化を考慮すると、使用する暗号を逐次強化する必要が生じ、そのためのコストも掛かることとなる。
【００１２】
本発明は、このような問題点を解決するためのもので、災害や犯罪等によるデータの消失、漏洩、改竄などの様々な危険性に対するセキュリティ向上を図ることが可能なデータ保管システムを提供することを目的とする。
【００１３】
また、本発明は、コスト増加を抑制しつつセキュリティ能力の高いデータ保管システムを提供することを他の目的としている。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１に記載の発明は、広域ネットワークに接続され、互いに地理的に離れた場所に設置された複数のデータ保管装置と、前記広域ネットワークに接続され、データの保管要求を受け付ける保管要求受付手段と、前記保管要求が受け付けられたデータを２以上のデータブロックに分割する分割手段と、前記広域ネットワークを通じて、前記分割手段により得られた２以上のデータブロックを前記複数のデータ保管装置に分散して送信する送信手段とを有するデータ送信装置と、前記広域ネットワークに接続され、データの読出要求を受け付ける読出要求受付手段と、前記読出要求が受け付けられたデータに対応する２以上のデータブロックを前記広域ネットワークを通じて前記複数のデータ保管装置から読み出す読出手段と、前記読み出された２以上のデータブロックに基づいて前記データを復元する復元手段とを有するデータ復元装置と、を備えることを特徴とするデータ保管システムである。
【００１５】
また、請求項２に記載の発明は、請求項１に記載のデータ保管システムであって、前記データ送信装置は、前記分割手段により得られた２以上のデータブロックに基づいて、各データブロックのパリティデータを生成するパリティデータ生成手段を更に有し、前記送信手段は、前記生成された各パリティデータを、対応するデータブロックの送信先とは異なるデータ保管装置に送信し、前記データ復元装置は、前記読出手段により読み出された各データブロックについて、その保管先のデータ保管装置から適正に読み出されたか判断する判断手段を更に有し、前記読出手段は、適正に読み出されなかったと前記判断されたデータブロックのパリティデータを、その保管先のデータ保管装置から読み出し、前記復元手段は、前記読み出されたパリティデータに基づいて前記適正に読み出されなかったと判断されたデータブロックを再形成する再形成手段を含み、前記判断手段により適正に読み出されたと判断されたデータブロックと、前記再形成されたデータブロックとに基づいて、前記データを復元する、ことを特徴とする。
【００１６】
また、請求項３に記載の発明は、請求項２に記載のデータ保管システムであって、前記データ送信装置は、前記分割手段により得られた２以上のデータブロックのそれぞれのデータ構造を反映するチェック情報を生成するチェック情報生成手段を更に有し、前記送信手段は、前記２以上のデータブロックをそのチェック情報とともにそれぞれ送信し、前記データ復元装置の前記読出手段は、前記２以上のデータブロックをそのチェック情報とともにそれぞれ読み出し、前記判断手段は、前記読み出された２以上のデータブロックのそれぞれについて、そのチェック情報に基づいて前記適正に読み出されたかを判断する、ことを特徴とする。
【００１７】
また、請求項４に記載の発明は、請求項２に記載のデータ保管システムであって、前記データ送信装置の前記送信手段は、前記パリティデータ生成手段により生成された各データブロックのパリティデータを前記複数のデータ保管装置のうちの１つに送信するとともに、前記２以上のデータブロックを前記１つを除く前記複数のデータ保管装置に分散して送信することを特徴とする。
【００１８】
また、請求項５に記載の発明は、広域ネットワークに接続され、互いに地理的に離れた場所に設置された１以上の第１のデータ保管装置と、前記第１のデータ保管装置と地理的に離れた位置に設置され、ローカルネットワークに接続され、前記第１の保管装置から地理的に離れた場所に設置された１以上の第２のデータ保管装置と、前記広域ネットワーク及び前記ローカルネットワークのそれぞれに接続され、データの保管要求を受け付ける保管要求受付手段と、前記保管要求が受け付けられたデータを２以上のデータブロックに分割する分割手段と、前記広域ネットワーク及び前記ローカルネットワークを通じて、前記分割手段により得られた２以上のデータブロックを前記第１及び第２のデータ保管装置に分散して送信する送信手段と、データの読出要求を受け付ける読出要求受付手段と、前記読出要求が受け付けられたデータに対応する２以上のデータブロックを前記広域ネットワーク及び前記ローカルネットワークを通じて前記第１及び第２のデータ保管装置から読み出す読出手段と、前記読み出された２以上のデータブロックに基づいて前記データを復元する復元手段とを有するデータ処理装置と、を備えることを特徴とするデータ保管システムである。
【００１９】
また、請求項６に記載の発明は、請求項５に記載のデータ保管システムであって、前記データ処理装置は、前記分割手段により得られた２以上のデータブロックに基づいて、各データブロックのパリティデータを生成するパリティデータ生成手段と、前記読出手段により読み出された各データブロックについて、その保管先の前記第１又は第２のデータ保管装置から適正に読み出されたか判断する判断手段とを更に有し、前記送信手段は、前記パリティデータ生成手段により生成された各パリティデータを、対応するデータブロックの送信先とは異なる前記第１又は第２のデータ保管装置に送信し、前記読出手段は、前記判断手段により適正に読み出されなかったと判断されたデータブロックのパリティデータを、その保管先の前記第１又は第２のデータ保管装置から読み出し、前記復元手段は、前記読み出されたパリティデータに基づいて前記適正に読み出されなかったと判断されたデータブロックを再形成する再形成手段を含み、前記判断手段により適正に読み出されたと判断されたデータブロックと、前記再形成されたデータブロックとに基づいて、前記データを復元する、ことを特徴とする。
【発明の効果】
【００２０】
本発明の請求項１に係るデータ保管システムは、データ送信装置が、保管要求のなされたデータを２以上のデータブロックに分割し、この２以上のデータブロックを広域ネットワークを通じて複数のデータ保管装置に分散して送信するとともに、データ復元装置が、読出要求のなされたデータに対応する２以上のデータブロックを広域ネットワークを通じて複数のデータ保管装置から読み出し、それら２以上のデータブロックに基づいてデータを復元するように動作する。ここで、複数のデータ保管装置は、互いに地理的に離れた場所に設置されている。
【００２１】
また、本発明の請求項５に係るデータ保管システムは、データ処理装置が、保管要求のなされたデータを２以上のデータブロックに分割し、この２以上のデータブロックを広域ネットワークに接続された１以上の第１のデータ保管装置とローカルネットワークに接続された第２のデータ保管装置とに分散して送信するとともに、読出要求のなされたデータに対応する２以上のデータブロックを第１及び第２のデータ保管装置から読み出し、それら２以上のデータブロックに基づいてデータを復元するように動作する。ここで、第１、第２のデータ保管装置は、互いに地理的に離れた場所にて設置されている。
【００２２】
したがって、請求項１又は請求項５に係るデータ保管システムによれば、災害や犯罪等によってデータの消失、漏洩、改竄などが発生しても、データ全体が消失等することが無く、また、データ全体を盗難などするためには複数のデータ保管装置３からデータを盗み出すなどする必要があるため、それは困難である。
【００２３】
また、請求項５に係るデータ保管システムによれば、データ処理装置と同じローカルネットワークにもデータ保管装置が設置されているので、少なくとも１つのデータブロックは、広域ネットワークを経由せずにローカルネットワークのみを通じて伝送される。したがって、広域ネットワークを経由するデータが全て漏洩等した場合であっても、データ全体が漏洩等することがない。
【００２４】
本発明の請求項２又は請求項６に係るデータ保管システムによれば、分割手段により得られた各データブロックのパリティデータを生成し、対応するデータブロックの送信先とは異なるデータ保管装置に送信するとともに、読出手段による各データブロックの読み出し処理が適正に行われたかを判断し、適正に読み出されなかったと判断されたデータブロックのパリティデータを読み出し、そのパリティデータに基づいてデータブロックを再形成してデータを復元するように動作する。
【００２５】
したがって、データブロックの改竄等が発生した場合であっても、パリティデータを用いてそのデータブロックを再形成してデータ全体を復元できるので、データ全体の保護が可能となる。
【００２６】
このように、本発明によれば、災害や犯罪等によるデータの消失、漏洩、改竄などの様々な危険性に対するデータのセキュリティ向上を図ることが可能となる。
【００２７】
また、暗号技術やパスワード技術等の他のセキュリティ保護策を講じる場合のようなコストも必要なく、恒常的なオーバーヘッドの増大による装置性能の低下のおそれもない。したがって、本発明によれば、コスト増加を抑制しつつセキュリティ能力の高いデータ保管システムを提供することが可能となる。
【発明を実施するための最良の形態】
【００２８】
本発明に係るデータ保管システムの好適な実施形態の一例について、図面を適宜参照しながら詳細に説明する。
【００２９】
〈第１の実施形態〉
［システム構成］
本発明に係るデータ保管システムの好適な実施形態の一例を図１に示す。このデータ保管システムは、広域ネットワーク１０００を介して通信可能に設けられたデータ送信サーバ１、データ復元サーバ２、及び、複数（Ｎ個）のデータ保管装置３−１、３−２、・・・・、３−Ｎを含んで構成される。
【００３０】
データ送信サーバ１は、本発明の「データ送信装置」の一例に相当する。また、データ復元サーバ２は、本発明の「データ復元装置」の一例に相当する。広域ネットワーク１０００は、電話回線を通じたインターネットや専用線からなる広域通信網などのＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を含み、地理的に離れたコンピュータやデータベース等を互いに接続する情報通信網である。
【００３１】
データ送信サーバ１、データ復元サーバ２及び各データ保管装置３−１、３−２、・・・・、３−Ｎには、それぞれ、広域ネットワーク１０００に対応するアドレス情報（ＩＰアドレス等）があらかじめ付与されており、送信先のアドレス情報を指定することによりデータを目的の装置に送信するようになっている。
【００３２】
データ送信サーバ１には、複数（ここでは３個）のコンピュータ端末４Ａ、４Ｂ、４Ｃがローカルネットワーク１００１を介してそれぞれ接続されている。また、データ復元サーバ２には、複数（ここでは２個）のコンピュータ端末５Ａ、５Ｂがローカルネットワーク１００２を介してそれぞれ接続されている。ローカルネットワーク１００１、Ｌ２は、それぞれ、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの、ＷＡＮを含まない情報通信網である。
【００３３】
データ送信サーバ１及び各コンピュータ端末４Ａ、４Ｂ、４Ｃには、ローカルネットワーク１００１に対応するアドレス情報があらかじめ付与されており、送信先のアドレス情報を指定することにより目的の装置にデータを送信するようになっている。ローカルネットワーク１００２により接続されたデータ復元サーバ２及び各コンピュータ端末５Ａ、５Ｂについても同様である。
【００３４】
コンピュータ端末４Ａ、４Ｂ、４Ｃ、５Ａ、５Ｂは、それぞれ、既存のコンピュータを含んで構成され、ＣＰＵ等のマイクロプロセッサ、ＲＡＭ、ＲＯＭ、ハードディスクドライブ、表示用のディスプレイ、キーボードやマウス等の操作・入力用のデバイス、ＣＤ−ＲやＤＶＤ−Ｒ等の各種メディアのドライブ装置、ローカルネットワーク１００１対応のネットワークアダプタ等の通信機器などを具備している。
【００３５】
コンピュータ端末４Ａ、４Ｂ、４Ｃのそれぞれは、ローカルネットワーク１００１を通じ、データ送信サーバ１に対してデータの保管要求を送信する機能を有する。ユーザは、所望のデータをコンピュータ端末４Ａ、４Ｂ、４Ｃのいずれか（たとえばコンピュータ端末４Ａ）に入力し、そのデータを保管させるための所定の操作を行う。当該操作を受けたコンピュータ端末４Ａは、そのデータと、そのデータの保管を要求する信号（「保管要求信号」と呼ぶことにする。）とを、ローカルネットワーク１００１を通じてデータ送信サーバ１に送信する。データ送信サーバ１は、この保管要求信号を受けて、当該データをデータ保管装置３−１〜３−Ｎに保管するための後述の処理を実行する。なお、保管要求信号には、当該データの識別情報や保管処理の実行を要求するコマンド等が含まれている。また、一回の保管要求によって複数のデータを一度に保管させるように要求することも可能である。
【００３６】
一方、コンピュータ端末５Ａ、５Ｂのそれぞれは、ローカルネットワーク１００２を通じ、データ復元サーバ２に対してデータの読み出し要求を送信する機能を有する。ユーザが所定の操作を行うと、コンピュータ端末５Ａ、５Ｂ（たとえばコンピュータ端末５Ａ）は、データ保管装置３−１〜３−Ｎに保管されたデータのリスト情報を取得して表示する。このリスト情報は、たとえばデータ復元サーバ２により保持されている。ユーザは、そのリスト情報から所望のデータをマウス等で選択する。コンピュータ端末５Ａは、選択されたデータの読み出しを要求する信号（「読出要求信号」と呼ぶことにする。）を、ローカルネットワーク１００２を通じてデータ復元サーバ２に送信する。データ復元サーバ２は、この読出要求信号を受けて、当該データをデータ保管装置３−１〜３−Ｎから読み出し復元し（後述）、要求元のコンピュータ端末５Ａに送信する。なお、読出要求信号には、当該データの識別情報や読出処理の実行を要求するコマンド等が含まれている。また、一回の読出要求によって複数のデータを一度に読み出させるように要求することも可能である。
【００３７】
以下、図２及び図３を更に参照しつつ、本実施形態に係るデータ保管システムを構成する広域ネットワーク１０００を介して通信可能に設けられたデータ送信サーバ１、データ復元サーバ２、及び、複数（Ｎ個）のデータ保管装置３−１、３−２、・・・・、３−Ｎの構成についてそれぞれ詳しく説明する。
【００３８】
ここで、図２は、本実施形態に係るデータ保管システムの機能的構成の一例を表すブロック図であり、図３は、データ送信サーバ１及びデータ復元サーバ２のハードウェア構成の一例を表すブロック図である。
【００３９】
［データ保管装置］
まず、複数のデータ保管装置３−１、３−２、・・・・、３−Ｎについて説明する。データ保管装置３−１、３−２、・・・・、３−Ｎは、それぞれ個別の通信線を介して広域ネットワーク１０００に接続されている。データ保管装置３−１、３−２、・・・・、３−Ｎは、互いに地理的に離れた場所に設置され、望ましくは互いに遠く離れた場所に設置される（たとえば、北海道地方、東北地方、関東地方、中部地方、関西地方、中国地方、四国地方及び九州地方のうちの複数の地方にそれぞれ１台ずつ設置したり、あるいは、日本と諸外国とにそれぞれ１台ずつ設置することができる。）。
【００４０】
データ保管装置３−１、３−２、・・・・、３−Ｎは、それぞれ同様の構成を有している（以下、「データ保管装置３」と総称することがある。）。データ保管装置３は、たとえば、ハードディスクドライブ等の大容量記憶装置、広域ネットワーク１０００に対応したネットワークインターフェイス、ＯＳ、データ管理用ユーティリティ等を備える公知のネットワークストレージによって構成される。
【００４１】
データ保管装置３は、データ送信サーバ１から送信されたデータ復元サーバ２からの信号を受けて、
【００４２】
なお、データ保管装置３は、データベースとサーバとを含む構成とするなど、データ記憶機能、データ管理機能及び通信機能を具備するものであれば任意の構成を適用することが可能である。また、全てのデータ保管装置３が同じ構成とされる必要はない。
【００４３】
［データ送信サーバ］
データ送信サーバ１は、ローカルネットワーク１００１を通じてコンピュータ端末４Ａ、４Ｂ、４Ｃ（以下、「コンピュータ端末４」と総称することがある。）から要求された処理を実行したり、あるいは、コンピュータ端末４に対してデータやプログラムを提供する処理などを実行する。特に、コンピュータ端末４からのデータの保管要求を受けて、そのデータ（「保管データ」と呼ぶ。）をデータ保管装置３に送信して保管させる処理を実行する。この処理の実行に関わる構成を以下に説明する。
【００４４】
〔ハードウェア構成〕
まず、データ送信サーバ１のハードウェア構成について図３を参照して説明する。データ送信サーバ１は、通常のコンピュータと同様に、ＣＰＵ１００（等のマイクロプロセッサ）、ＲＡＭ１１０、ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１３０及び通信インターフェイス（Ｉ／Ｆ）１４０を具備している。これら各部は、バス１５０を介して接続されている。
【００４５】
ＣＰＵ１００は、ハードディスクドライブ１３０に格納されたデータ保管プログラム１３１をＲＡＭ１１０上に展開することにより、後述する本発明に特徴的な動作を実行する。また、ＣＰＵ１００は、各種の演算処理を行うとともに、データ送信サーバ１の各部の動作制御、たとえば通信インターフェイス１４０による通信処理の制御などを実行する。
【００４６】
データ送信サーバ１に搭載されるデータ保管プログラム１３１は、後述のデータ分割処理、パリティデータ生成処理、チェックＩＤ生成処理、データ送信処理等をデータ送信サーバ１に実行させるプログラムである。
【００４７】
通信インターフェイス１４０には、広域通信インターフェイス（Ｉ／Ｆ）１４１と、ローカル通信インターフェイス（Ｉ／Ｆ）１４２とが設けられている。広域通信インターフェイス（Ｉ／Ｆ）１４１は、広域ネットワーク１０００を介してデータ通信を行うためのモデム等の通信機器を含んで構成される。また、ローカル通信インターフェイス（Ｉ／Ｆ）１４２は、ローカルネットワーク１００１を介してデータ通信を行うためのネットワークアダプタ等の通信機器を含んで構成される。
【００４８】
なお、データ送信サーバ１は、ＬＣＤやＣＲＴ等のディスプレイや操作入力用のキーボードやマウス等のユーザインターフェイスを備えていてもよい。
【００４９】
〔機能的構成〕
次に、上記のようなハードウェア構成を具備するデータ送信サーバ１の機能的構成について図２を参照しつつ説明する。
【００５０】
データ送信サーバ１には、保管要求受付部１１、データ分割部１２、パリティデータ生成部１３、チェックＩＤ生成部１４及びデータ送信部１５が設けられている。以下、これら各部の詳細についてそれぞれ説明する。なお、各部の動作の具体例については、後述の［動作］の項において説明する。
【００５１】
（保管要求受付部）
保管要求受付部１１は、図３におけるローカル通信インターフェイス１４２を含んで構成され、コンピュータ端末４から送信された保管データと保管要求信号とを受け付け、その保管データをデータ分割部１２に伝送する処理を行う。また、保管要求信号はＣＰＵ１００に送られ、ＣＰＵ１００はデータ保管プログラム１３１を起動させて後述する処理の制御を開始する。この保管要求受付部１１は、本発明の「保管要求受付手段」の一例に相当する。
【００５２】
（データ分割部）
データ分割部１２は、保管要求受付部１１から伝送された保管データを２以上のデータブロックに分割する本発明の「分割手段」の一例に相当するものであり、ＣＰＵ１００を含んで構成される。以下、このデータ分割部１２が実行する処理内容について説明する。
【００５３】
まず、分割後のデータブロックの個数（分割個数）について説明する。データ送信サーバ１のハードディスクドライブ２３には、データ保管装置３の個数（Ｎ個）を示す情報があらかじめ記憶されている。また、このデータ保管装置３の個数に基づく保管データの分割個数ｎもあらかじめ記憶されている。
【００５４】
本実施形態では、保管データの分割個数ｎは、データ保管装置３の個数（Ｎ個）から１を減算した結果を自然数（１以上の整数ｋ）倍して得られた数、すなわち、分割個数ｎ＝ｋ×（Ｎ−１）とされる。これは、Ｎ個のデータ保管装置３のうちの１つを後述のパリティデータ保管用とし、残りのＮ−１個を保管データのデータブロック保管用とする場合に適用されるものである。また、ｋは、各データ保管装置３に保管されるデータブロックの個数を示すものである。
【００５５】
なお、データ分割部１２が保管データのデータ量に基づいて分割個数を決定するように構成してもよい。また、Ｎ個のデータ保管装置３のうちのいくつか（Ｍ個；Ｍ＜Ｎ）のみに保管するように要求や設定がなされている場合には、その個数Ｍを用いて分割個数を決定する。これらの場合においても、上記の分割個数ｎの式を用いることが望ましい。ただし、保管データの分割個数は、上記の式によるものに限定されるものではなく、システム環境やユーザの要求等に応じて適宜決定されるものである。
【００５６】
なお、２つ以上のデータの保管要求が一度になされた場合、データ分割部１２は、保管要求がなされた全てのデータを上記分割個数ｎのデータブロックに分割する。
【００５７】
データ分割部１２は、保管データをｎ個のデータブロックに分割するときに、各データブロックに所定の情報を付与する。この所定の情報には、当該保管データの識別情報（保管要求信号から取得される。）や、データの識別情報当該データブロックの属性情報や、データ長（データ量）情報や、隣接するデータブロックとの分割部分を特定するセパレータ情報などの情報が含まれている。この所定の情報は、たとえばデータブロックの先頭部分（ヘッダ）に付加される。なお、この所定の情報については、データ分割処理において従来から用いられているものであるため、以後、必要が無い限り言及はしないことにする。
【００５８】
また、データ分割部１２は、保管データをｎ個のデータブロックに分割するときに、各データブロックのデータ量を等しくするように分割するように構成されていることが望ましい。そのために、ダミーデータをデータブロックに付与するなどして、各データブロックのデータ量を調整するようにしてもよい。
【００５９】
また、データ分割部１２は、分割個数ｎを基準として保管データを分割する代わりに、データ量を基準として分割するようにしてもよい。すなわち、分割後のデータブロックのデータ量をあらかじめ設定（要求）しておき、保管データをそのデータ量ごとのデータブロックに分割するようにしてもよい。
【００６０】
保管データを分割して得られたｎ個のデータブロックは、パリティデータ生成部１３及びデータ送信部１５にそれぞれ送られる。
【００６１】
（パリティデータ生成部）
パリティデータ生成部１３は、データ分割部１２により得られたｎ個のデータブロックに基づいて、各データブロックのパリティデータを生成する本発明の「パリティデータ生成手段」の一例に相当するものであり、ＣＰＵ１００を含んで構成される。パリティデータ生成部１３は、データ分割部１２からｎ個のデータブロックを受け、各データブロックについて、たとえば次の２つの公知の方法のいずれかの処理を行うことでパリティデータを生成する。
【００６２】
パリティデータ生成部１３は、ｎ個のデータブロックのうちの２個以上のデータブロックの排他的論理和を演算することによって、当該２個以上のデータブロックのパリティデータを生成することができる。このとき、排他的論理和に供されるデータブロックは、たとえばデータブロックの分割個数ｎと、データブロックの送信先（保管先）となるデータ保管装置３の個数とに基づいて決定される。一例として、９個のデータブロックを３個のデータ保管装置に保管する場合には、（９÷３＝）３個のデータブロックの排他的論理和を演算する。
【００６３】
２個以上のデータブロックについてパリティデータを生成する場合、データ送信部１５による後述のデータブロック群の形成処理におけるグルーピングの形態を参照してパリティデータを生成することができる。望ましくは、各データブロック群から１つずつデータブロックを選択し、それらのデータブロックについてパリティデータを生成する。
【００６４】
また、パリティデータ生成部１３は、データブロック（「０」、「１」の配列からなるデジタルデータ）を単位データ（たとえば７ビット、８ビット等）ごとに区切るとともに、各単位データ中における「０」又は「１」の個数が偶数個であるか奇数個であるか（パリティビット）を求め、全ての単位データのパリティビットを配列させてパリティデータとすることもできる。
【００６５】
パリティデータ生成部１３により生成された各データブロックのパリティデータは、データ送信部１５に送られる。
【００６６】
（チェックＩＤ生成部）
チェックＩＤ生成部１４は、データ分割部１２により得られたｎ個のデータブロックのそれぞれのチェック情報（チェックＩＤ）を生成する本発明の「チェック情報生成手段」の一例に相当するものであり、ＣＰＵ１００を含んで構成される。
【００６７】
チェックＩＤ生成部１４が実行する処理の前提として、データ送信部１５は、後述のように、データ分割部１２から送られたｎ個のデータブロックに基づいて、各データ保管装置３に送信されるデータブロック群を形成する処理を行う。チェックＩＤ生成部１４は、形成された各データブロック群ごとにチェックＩＤを生成する。このチェックＩＤとしては、たとえば、各データブロック群のパリティビット（前述）を適用することが可能である。なお、このチェックＩＤは、パリティビットに限定されるものではなく、対応するデータブロック群のデータ構造を反映する任意の情報を用いることができる。
【００６８】
同様に、データ送信部１５は、パリティデータ生成部１３から送られたパリティデータに基づいてパリティデータ群を形成する（後述）。チェックＩＤ生成部１４は、各パリティデータ群についてそのチェックＩＤを生成する。
【００６９】
チェックＩＤ生成部１４により生成されたチェックＩＤは、データ送信部１５に送られる。
【００７０】
（データ送信部）
データ送信部１５は、データ分割部１２により得られたｎ個のデータブロックを広域ネットワークを通じて分散してデータ保管装置３に送信し保管させる本発明の「送信手段」の一例に相当するものであり、ＣＰＵ１００及び広域通信インターフェイス１４１を含んで構成される。また、データ送信部１５は、パリティデータ生成部１３により生成されたパリティデータをデータ保管装置３に送信する処理も行う。
【００７１】
データ送信部１５は、データ分割部１２からｎ個のデータブロックを受けると、それらの送信先となるデータ保管装置３の個数のデータブロック群を形成する処理を行う。たとえば、各々等しいデータ量の９個のデータブロックの送信先として３個のデータ保管装置３を用いる場合、データ送信部１５は、これら９個のデータブロックをたとえば３個ずつグルーピングして３つのデータブロック群を形成する。なお、データブロックの個数とその送信先の個数とが同じ場合など、その送信先にデータブロックを１つだけ送信する場合でも、そのデータブロックを「データブロック群」と称することとする。
【００７２】
データ送信部１５は、隣接するデータブロック（つまりデータが連続するデータブロック）を同一のデータブロック群に含めないようにグルーピングすることが望ましい。また、複数の保管データを一度に保管する場合においては、各保管データの全てのデータブロックを同一のデータブロック群に含めないようにグルーピングすることが望ましい。
【００７３】
また、データ送信部１５は、パリティデータ生成部１４から受けたパリティデータに基づき、１つ以上のパリティデータ群を形成する。パリティデータ群の個数は、あらかじめ設定（あるいは要求）されたパリティデータの送信先（保管先）となるデータ保管装置３の個数とされる。
【００７４】
更に、データ送信部１５は、各データブロック群及び各パリティデータ群に対して、チェックＩＤ生成部１４により生成されたチェックＩＤを付加する処理を行う。チェックＩＤは、データブロック群やパリティデータ群のたとえば末尾部分に付加される。
【００７５】
データ送信部１５による以上の処理により、データブロック群にそのチェックＩＤが付加された複数の送信データと、パリティデータ群にそのチェックＩＤが付加された１以上の送信データとが形成される。
【００７６】
データ送信部１５は、各送信データの送信先となるデータ保管装置３を指定するとともに、広域ネットワーク１０００を通じて各送信データを指定送信先に送信する。このとき、各送信データのたとえばヘッダには、データ保管装置３にデータの保管を要求するコマンドが付加される。
【００７７】
データ保管装置３は、この送信データを受信すると、上記コマンドにしたがって当該送信データを保管（格納）する。以下、各データ保管装置３に保管された送信データを「保管部分データ」と呼ぶことがある。
【００７８】
なお、送信データを受信したときに、チェックＩＤを用いてその送信データに改竄や欠損等が発生していないか確認する処理をデータ保管装置３に実行させることが望ましい。改竄等が発生した場合には、再送信を要求する信号をデータ送信サーバ１に返送する。また、改竄等がない場合には、適正に保管された旨のメッセージをコンピュータ端末４等に表示させる信号をデータ送信サーバ１に返送する。
【００７９】
［データ復元サーバ］
次に、データ復元サーバ２の構成について説明する。データ復元サーバ２は、ローカルネットワーク１００２を通じてコンピュータ端末５Ａ、５Ｂ（以下、「コンピュータ端末５」と総称することがある。）から要求された処理を実行したり、あるいは、コンピュータ端末５に対してデータやプログラムを提供する処理などを実行する。特に、コンピュータ端末５から保管データの読出要求を受けて、その保管データをデータ保管装置３から読み出して復元し、要求元のコンピュータ端末５に送信する処理を実行する。この処理の実行に関わる構成を以下に説明する。
【００８０】
〔ハードウェア構成〕
データ復元サーバ２は、データ送信サーバ１と同様のハードウェア構成を有する。すなわち、データ復元サーバ２には、図３に示すように、ＣＰＵ１００（等のマイクロプロセッサ）、ＲＡＭ１１０、ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１３０及び通信インターフェイス（Ｉ／Ｆ）１４０が設けられている。これら各部はバス１５０を介して接続されている。また、ＬＣＤやＣＲＴ等のディスプレイや操作入力用のキーボードやマウス等のユーザインターフェイスが設けられていてもよい。
【００８１】
データ復元サーバ２に搭載されるデータ保管プログラム１３１は、後述のデータ読出処理、読出データ判断処理、データ再形成処理、データ復元処理等をデータ復号サーバ２に実行させるプログラムである。
【００８２】
また、通信インターフェイス１４０のローカル通信インターフェイス（Ｉ／Ｆ）１４２は、ローカルネットワーク１００２を介してデータ通信を行うためのネットワークアダプタ等の通信機器を含んで構成される。
【００８３】
〔機能的構成〕
データ復元サーバ２の機能的構成について図２を参照しつつ説明する。
【００８４】
データ復元サーバ２には、読出要求受付部２１、データ読出部２２、読出データ判断部２３、復元処理部２４及び復元データ送信部２７が設けられている。復元処理部２４には、データ再形成部２５とデータ復元部２６とが設けられている。以下、これら各部の詳細についてそれぞれ説明する。なお、各部の動作の具体的な態様については、後述の［具体例］の項において説明する。
【００８５】
（読出要求受付部）
読出要求受付部２１は、ローカル通信インターフェイス１４２を含んで構成され、コンピュータ端末５から送信された読出要求信号を受け付けて、その読出要求信号をデータ読出部２２に伝送する処理を行う。また、読出要求信号はＣＰＵ１００に送られ、ＣＰＵ１００はデータ保管プログラム１３１を起動させて後述する処理の制御を開始する。この読出要求受付部２１は、本発明の「読出要求受付手段」の一例に相当する。
【００８６】
（データ読出部）
データ読出部２２は、読出要求受付部２１から受けた読出要求信号が読み出しを要求する保管データに対応する保管部分データを、広域ネットワーク１０００を通じてデータ保管装置３から読み出す本発明の「読出手段」の一例に相当する。読み出される保管部分データには、保管データのデータブロックを含むものと、そのパリティデータを含むものとがある。このデータ読出部２２は、ＣＰＵ１００及びローカル通信インターフェイス１４２を含んで構成される。
【００８７】
より具体的には、データ読出部２２は、読出要求信号から保管データの識別情報を取得し、この識別情報を含む信号を生成する。そして、この信号を広域ネットワーク１０００を通じて各データ保管装置３に送信する。
【００８８】
このとき、読み出すべき保管部分データの保管先が分かっている場合には、その保管先のデータ保管装置３にのみ選択的に信号を送信してもよい。このような信号の送信態様は、たとえば、データ送信サーバ１とデータ復元サーバ２とが保管先の情報を共有している場合や、後述の［変形例］にて説明するデータ送信サーバ１とデータ復元サーバ２とが同一の装置からなる場合などに適用可能である。
【００８９】
データ保管装置３は、データ復元サーバ２からの信号を受信すると、この信号から保管データの識別情報を取得し、この識別情報がヘッダに付加された保管部分データを検索する。そして、検索された保管部分データをデータ復元サーバ２に送信する。
【００９０】
データ読出部２２は、各データ保管装置３により送信された保管部分データを受信して読出データ判断部２３に伝送する。データ読出部２２により読み出された保管部分データを読出データと呼ぶことがある。
【００９１】
（読出データ判断部）
読出データ判断部２３は、データ読出部２２により読み出された各読出データ（データブロック（群）を含んでいる。）が適正に読み出されたかを判断する本発明の「判断手段」の一例に相当する。この読出データ判断部２３は、ＣＰＵ１００を含んで構成される。
【００９２】
ここで、「適正に読み出された」とは、データ送信サーバ１のデータ分割部１２により形成された元のデータブロックが、改竄や消失などの変更が発生していない状態で読み出されたことを意味するものとする。したがって、読み出されたデータブロックに改竄があったり一部が消失している場合や、データブロック全体が消失して何も読み出されなかった場合、読出データ判断部２３は、当該データブロックは「適正に読み出されなかった」と判断する。
【００９３】
読出データ判断部２３は、読出データからチェックＩＤを取得するとともに、チェックＩＤ生成部１４と同じ要領で、その読出データ中のデータブロック（群）のチェックＩＤを生成し、取得したチェックＩＤと生成したチェックＩＤとが同一か否か判断することにより、読出データの適正判断を行う。
【００９４】
それらが同一であると判断された場合、当該読出データ中のデータブロック（群）が適正に読み出されたものと判断し、その旨を示す信号をデータ読出部２２に送る。データ読出部２２は、この信号を受けると、対応する読出データを復元処理部２４に送る。
【００９５】
一方、取得したチェックＩＤと生成したチェックＩＤとが同一でないと判断された場合には、当該読出データ中のデータブロック（群）が適正に読み出されなかったと判断し、その旨を示す信号（エラー信号）をデータ読出部２２に送る。データ読出部２２は、エラー信号を受けると、その読出データ中のデータブロック（群）のパリティデータ（群）を含む保管部分データを保管するデータ保管装置３に向けて、当該保管データの識別情報を含む信号を送信する。この信号を受けたデータ保管装置３は、目的の保管部分データを検索し、データ復元サーバ２に送信する。この保管部分データ（読出データ）は、データ読出部２２により受信されて読出データ判断部２３に送られる。
【００９６】
読出データ判断部２３は、この読出データからチェックＩＤを取得するとともに、この読出データ中のパリティデータ（群）のチェックＩＤを生成し、それらの同一性を判断する。同一の場合、データ読出部２２は、この読出データにフラグ等の判別情報を付加して復元処理部２４に送る。同一でない場合には、当該パリティデータ（群）に対応するデータブロックを復元できない旨のメッセージ等をコンピュータ端末５に表示させる信号を出力する。
【００９７】
なお、このようにしてパリティデータを含む保管部分データを取得する前に、適正に読み出されなかった読出データを再度読み出す工程を挟んでもよい。広域ネットワーク１０００の通信状態による単なる伝送ミスの場合などには、この再度の読み出し処理によりデータを適正に取得できることがある。
【００９８】
（復元処理部）
復元処理部２４は、データ読出部２２により読み出された読出データ中のデータブロック（群）に基づいて保管データを復元する本発明の「復元手段」の一例に相当するものであり、ＣＰＵ１００を含んで構成される。この復元処理部２４には、前述したように、データ再形成部２５とデータ復元部２６とが設けられている。
【００９９】
復元処理部２４は、前述のフラグ等の判別情報の有無を確認することで、読出データを振り分ける。具体的には、判別情報が付加されている読出データ（パリティデータを含んでいる。）についてはデータ再形成部２５に振り分け、判別情報が付加されていない読出データ（データブロックを含んでいる。）についてはデータ復元部２６に振り分ける。なお、パリティデータがパリティビットを用いて生成された場合には、適正に読み出されなかった読出データ（データブロックを含んでいる。）についてもデータ再形成部２５に振り分ける。
【０１００】
（データ再形成部）
データ再形成部２５は、当該判断に対応して読み出された読出データ中のパリティデータ（群）に基づいて、適正に読み出されなかったと判断されたデータブロックを再形成する本発明の「再形成手段」の一例に相当する。
【０１０１】
パリティデータが排他的論理和を用いて生成された場合、データ再形成部２５は、従来と同様に、そのパリティデータと、適正に読み出された他のデータブロックとの排他的論理和を演算して、適正に読み出されなかったデータブロックを再形成する。また、パリティデータがパリティビットを用いて生成された場合には、適正に読み出されなかったデータブロックを、パリティビットを用いて単位データごとに修復することにより、そのデータブロックを再形成する。
【０１０２】
再形成されたデータブロックは、データ復元部２６に送られる。
【０１０３】
（データ復元部）
全ての読出データが適正に読み出された場合、データ復元部２６には、それら読出データが入力される。データ復元部２６は、それら読出データ中のデータブロックを元の配列順に繋げることにより保管データを復元する。このとき、データブロックの配列は、各読出データのヘッダに付加されたセパレータ情報（前述）などを参照して認識される。
【０１０４】
一方、適正に読み出されなかった読出データが存在した場合、データ復元部２６には、適正に読み出された読出データ（データブロックを含んでいる。）と、適正に読み出されなかった読出データについて再形成されたデータブロックとが入力される。データ復元部２６は、これらのデータブロックを元の配列順に繋げることにより保管データを復元する。
【０１０５】
復元された保管データは、復元データ送信部２７に送られる。
【０１０６】
（復元データ送信部）
復元データ送信部２７は、ローカル通信インターフェイス１４２を含んで構成され、復元処理部２４により復元された保管データを読出要求元のコンピュータ端末５に送信する。
【０１０７】
［動作］
以上のように構成された本実施形態に係るデータ保管システムの動作の一例について説明する。図４に示すフローチャートは、データ保管装置３にデータを保管させるための動作を表す。図５に示すフローチャートは、データ保管装置３からデータを読み出すための動作を表す。
【０１０８】
〔データ保管処理；図４〕
図４のフローチャートを参照して、データ保管処理について説明する。まず、ユーザが、コンピュータ端末４により保管データを指定して保管要求の操作を行うと（Ｓ１）、コンピュータ端末４からデータ送信サーバ１に保管データと保管要求信号が入力される（Ｓ２）。
【０１０９】
データ送信サーバ１は、保管要求受付部１１が受信した保管データと保管要求信号を、データ分割部１２によってｎ個のデータブロックに分割する（Ｓ３）。このとき、所定の情報（前述）が各データブロックに付与される。
【０１１０】
続いて、パリティデータ生成部１３が、これらｎ個のデータブロックのそれぞれのパリティデータを生成する（Ｓ４）。ここで、前述のように、複数のデータブロックについてパリティデータを生成してもよい。
【０１１１】
データ送信部１５は、ｎ個のデータブロックをグルーピングして、それらの送信先となるデータ保管装置３の個数ｎ′（２≦ｎ′≦ｎ）のデータブロック群を形成する（Ｓ５）。また、データ送信部１５は、パリティデータ生成部１４が生成した各データブロックのパリティデータをグルーピングして、ｍ′（１≦ｍ′≦ｎ）個のパリティデータ群を形成する（Ｓ６）。
【０１１２】
チェックＩＤ生成部１４が、各データブロック群及び各パリティデータ群のチェックＩＤを生成し（Ｓ７）、データ送信部１５が、各データブロック群及び各パリティデータ群に、対応するチェックＩＤを付加する（Ｓ８）。それにより、データブロック群とチェックＩＤとを含むｎ′個の送信データと、パリティデータ群とチェックＩＤとを含むｍ′個の送信データとが形成される。
【０１１３】
データ送信部１５は、広域ネットワーク１０００を通じ、各送信データを指定されたデータ保管装置３に送信する（Ｓ９）。
【０１１４】
送信データを受信したデータ保管装置３は、その送信データが適正に伝送されたかをチェックＩＤを用いて判断する（Ｓ１０）。送信データが適正に伝送された場合（Ｓ１０；Ｙ）、データ保管装置３は、その送信データを格納するとともに（Ｓ１１）、保管処理の完了を示す信号をデータ送信サーバ１に返送する（Ｓ１２）。データ送信サーバ１は、この信号を全ての送信先から受信したことに対応して、保管処理が完了した旨のメッセージを要求元のコンピュータ端末４に表示させ（Ｓ１３）、データ保管処理を終了する。
【０１１５】
一方、送信データが適正に伝送されなかった場合（Ｓ１０；Ｎ）、データ保管装置３は、再送信を要求する信号をデータ送信サーバ１に返送し（Ｓ１４）、データ送信サーバ１は、この信号に応じて当該送信データを再送信する（Ｓ１５）。ここで、再送信回数（たとえば３回）をあらかじめ設定しておき、その回数だけ再送信しても適正に伝送されない場合（Ｓ１６；Ｙ）には、データの保管に失敗した旨を示すエラーメッセージをコンピュータ端末４に表示させ（Ｓ１７）、データ保管処理を終了する。
【０１１６】
〔データ読出処理；図５〕
図５のフローチャートを参照して、データ読出処理について説明する。まず、ユーザが、コンピュータ端末５により保管データを指定して読出要求の操作を行うと（Ｓ２１）、コンピュータ端末５からデータ復元サーバ２に読出要求信号が入力される（Ｓ２２）。
【０１１７】
データ復元サーバ２は、データ読出部２２により、読出要求された保管データに対応するｎ個の保管部分データ（データブロックを含むもの）を、広域ネットワーク１０００を通じてデータ保管装置３からそれぞれ読み出す（Ｓ２３）。読出データ判断部２３は、各保管部分データ（読出データ）が適正に読み出されたか否か判断する（Ｓ２４）。
【０１１８】
なお、パリティデータを含む保管部分データについても、ステップＳ２３で読み出すようにしてもよい。
【０１１９】
ｎ個の読出データが全て適正に読み出されたと判断された場合（Ｓ２４；Ｙ）、復元処理部２４のデータ復元部２６は、これら読出データのｎ個のデータブロックに基づいて保管データを復元する（Ｓ２５）。そして、復元された保管データを、読出要求元のコンピュータ端末５に送信して（Ｓ２６）、データ読出処理を終了する。
【０１２０】
一方、ｎ個の読出データのうち適正に読み出されなかったと判断されたものが存在する場合（Ｓ２４；Ｎ）、この読出データ（「不適正読出データ」と呼ぶ。）について、次の処理を行う。
【０１２１】
ここで、２台以上のデータ保管装置３からの読出処理が同時に不適正と判断されることはほとんど無いので、以下、１台のデータ保管装置３からの読出処理が不適正であった場合について説明する。
【０１２２】
まず、データ読出部２２が、不適正読出データ中のデータブロックのパリティデータを含む保管部分データを保管するデータ保管装置３から、その保管部分データを読み出す（Ｓ２７）。読出データ判断部２３は、この保管部分データが適正に読み出されたか判断する（Ｓ２８）。
【０１２３】
適正に読み出されなかったと判断された場合（Ｓ２８；Ｎ）、要求された保管データを復元できない旨のメッセージ（エラーメッセージ）をコンピュータ端末５に表示させ（Ｓ２９）、データ読出処理を終了する。なお、適正に読み出されたデータブロックを用いて、保管データを部分的に復元するようにしてもよい。
【０１２４】
一方、適正に読み出されたと判断された場合（Ｓ２８；Ｙ）、データ再形成部２５は、当該保管部分データ中のパリティデータ（群）に基づいて、不適正読出データ中のデータブロックを再形成する（Ｓ３０）。更に、データ復元部２６は、適正に読み出された読出データ中のデータブロックと、再形成された不適正読出データ中のデータブロックとに基づいて保管データを復元する（Ｓ３１）。そして、復元された保管データを、読出要求元のコンピュータ端末５に送信して（Ｓ３２）、データ読出処理を終了する。
【０１２５】
［具体例］
このような本実施形態のデータ保管処理及びデータ読出処理の具体例について、図６を参照しつつ説明する。同図は、２つの保管データを同時に保管する例を示している。なお、データ保管装置３は、４台設置されているものとする（Ｎ＝４）。
【０１２６】
〔データ保管処理の具体例〕
図６（Ａ）は、保管要求がなされた２つの保管データＤ、Ｅを示す（Ｓ１、Ｓ２）。データ送信サーバ１のデータ分割部１２は、図６（Ｂ）に示すように、保管データＤを５個のデータブロックＤ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５に分割するとともに、保管データＥを４個のデータブロックＥ１、Ｅ２、Ｅ３、Ｅ４に分割して、全体として９個のデータブロックを形成する（Ｓ３）。
【０１２７】
ここで、分割個数ｎ＝ｋ×（Ｎ−１）＝３×（４−１）＝９である。この分割個数ｎと、データブロックの保管先となるデータ保管装置３の個数（ここではＮ−１＝３）とに基づいて、ステップＳ５でのグルーピングの形態が決定される。本例では、ｎ＝９、Ｎ−１＝３であることを考慮して、９個のデータブロックＤ１〜Ｄ５、Ｅ１〜Ｅ４を、この順序で３つおきにグルーピングする。
【０１２８】
パリティデータ生成部１３は、このグルーピングの形態に基づき、各グループ（データブロック群）から１つずつデータブロックを選択し、選択された３つのデータブロックについてパリティデータを生成する。それにより、図６（Ｃ）に示す３つのパリティデータＰ（Ｄ１＋Ｄ２＋Ｄ３）、Ｐ（Ｄ４＋Ｄ５＋Ｅ１）、Ｐ（Ｅ２＋Ｅ３＋Ｅ４）が生成される。
【０１２９】
データ送信部１５は、図６（Ｃ）に示すように、データブロックＤ１、Ｄ４、Ｅ２をグルーピングしてデータブロック群Ｇ１を形成し、データブロックＤ２、Ｄ５、Ｅ３をグルーピングしてデータブロック群Ｇ２を形成し、データブロックＤ３、Ｅ１、Ｅ４をグルーピングしてデータブロック群Ｇ３を形成する（Ｓ５）。また、パリティデータＰ（Ｄ１＋Ｄ２＋Ｄ３）、Ｐ（Ｄ４＋Ｄ５＋Ｅ１）、Ｐ（Ｅ２＋Ｅ３＋Ｅ４）をグルーピングしてパリティデータ群Ｐを形成する（Ｓ６）。
【０１３０】
また、データ送信部１５は、各データブロック群Ｇ１、Ｇ２、Ｇ３及びパリティデータ群ＰにチェックＩＤを付加する（Ｓ７、Ｓ８）。それにより、図６（Ｄ）に示すように、データブロック群とチェックＩＤとを含む３個の送信データＴ１、Ｔ２、Ｔ３と、パリティデータ群とチェックＩＤとを含む１個の送信データＴ４とが形成される。
【０１３１】
データ送信部１５は、送信データＴ１をデータ保管装置３−１に送信し、送信データＴ２をデータ保管装置３−２に送信し、送信データＴ３をデータ保管装置３−３に送信し、送信データＴ４をデータ保管装置３−４に送信して、それぞれ保管させる（Ｓ９〜Ｓ１３）。適正に伝送されなかった場合の処理（Ｓ１４〜Ｓ１７）については、上記［動作］の項と同様であるため説明を省略する。
【０１３２】
〔データ読出処理の具体例〕
引き続き図６を参照する。データ保管装置３−１、３−２、３−３、３−４には、図６（Ｄ）の保管部分データＴ１、Ｔ２、Ｔ３、Ｔ４がそれぞれ格納されている。保管データＤ、Ｅの読出要求がなされると（Ｓ２１、Ｓ２２）、データ復元サーバ２のデータ読出部２２は、データ保管装置３−１、３−２、３−３から、保管部分データＴ１、Ｔ２、Ｔ３をそれぞれ読み出す（Ｓ２３）。
【０１３３】
保管部分データ（読出データ）Ｔ１、Ｔ２、Ｔ３が全て適正に読み出されたと判断された場合（Ｓ２４；Ｙ）、データ復元部２６は、読出データＴ１、Ｔ２、Ｔ３中のデータブロック群Ｇ１、Ｇ２、Ｇ３にそれぞれ含まれるデータブロック「Ｄ１、Ｄ４、Ｅ２」、「Ｄ２、Ｄ５、Ｅ３」、「Ｄ３、Ｅ１、Ｅ４」に基づき、保管データＤ、Ｅをそれぞれ復元する（Ｓ２５）。
【０１３４】
具体的には、読出データＴ１、Ｔ２、Ｔ３から９個のデータブロックを取得するとともに、データの識別情報やセパレータ情報（前述）を参照してこれらデータブロックの配列を取得する。それにより、保管データＤを構成するデータブロックの配列が「Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５」であること、及び、保管データＥを構成するデータブロックの配列が「Ｅ１、Ｅ２、Ｅ３、Ｅ４」であることが得られる。そして、この配列にしたがってデータブロックＤ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５をこの配列順に繋げることにより保管データＤを復元し、データブロックＥ１、Ｅ２、Ｅ３、Ｅ４をこの配列順に繋げることにより保管データＥを復元する。
【０１３５】
一方、３個の読出データＴ１、Ｔ２、Ｔ３のうち適正に読み出されなかったと判断されたものが存在する場合（Ｓ２４；Ｎ）について説明する。ここでは、読出データＴ２が適正に読み出されなかったとする。
【０１３６】
まず、データ読出部２２が、データ保管装置３−４から保管部分データＴ４を読み出す（Ｓ２７）。保管部分データＴ４が適正に読み出されなかった場合（Ｓ２８；Ｎ）、エラーメッセージが表示される（Ｓ２９）。
【０１３７】
一方、保管部分データＴ４が適正に読み出された場合（Ｓ２８；Ｙ）、データ再形成部２５が、保管部分データＴ４中のパリティデータ群Ｐ（図６（Ｃ）参照）と、適正に読み出された保管部分データＴ１、Ｔ３を用いて、読出データＴ２中のデータブロックＤ２、Ｄ５、Ｅ３をそれぞれ再形成する（Ｓ３０）。
【０１３８】
具体的には、（１）パリティデータＰ（Ｄ１＋Ｄ２＋Ｄ３）とデータブロックＤ１とデータブロックＤ３とに基づいてデータブロックＤ２を再形成し、（２）パリティデータＰ（Ｄ４＋Ｄ５＋Ｅ１）とデータブロックＤ４とデータブロックＥ１とに基づいてデータブロックＤ５を再形成し、（３）パリティデータＰ（Ｅ２＋Ｅ３＋Ｅ４）とデータブロックＥ２とデータブロックＥ４とに基づいてデータブロックＥ３を再形成する。模式的に表現すると、（１）（Ｄ１＋Ｄ２＋Ｄ３）−Ｄ１−Ｄ３＝Ｄ２、（２）（Ｄ４＋Ｄ５＋Ｅ１）−Ｄ４−Ｅ１＝Ｄ５、（３）（Ｅ２＋Ｅ３＋Ｅ４）−Ｅ２−Ｅ４＝Ｅ３となる。
【０１３９】
データ復元部２６は、適正に読み出された読出データＴ１、Ｔ３中のデータブロック（Ｄ１、Ｄ４、Ｅ２）、（Ｄ３、Ｅ１、Ｅ４）と、再形成された読出データＴ２中のデータブロック（Ｄ２、Ｄ５、Ｅ３）とに基づいて、保管データＤ、Ｅをそれぞれ復元する（Ｓ３１）。この復元処理は、ステップＳ２５と同様に行う。
【０１４０】
［作用・効果］
本実施形態に係るデータ保管システムの作用及び効果について説明する。
【０１４１】
まず、本実施形態によれば、広域ネットワーク１０００を通じて、地理的に離れた場所に設置された複数のデータ保管装置３に保管データを分散させて保管することができる。したがって、各データ保管装置３には、保管データの一部のみが格納されることとなる。それにより、たとえ或るデータ保管装置３からデータが漏洩したり盗難されたりしても、保管データ全体が漏洩、盗難等されることが無い。これは、広域ネットワーク１０００を伝送中にデータが漏洩した場合も同様である。
【０１４２】
また、データ保管装置３は地理的に離れて設置されているため、保管データの全体を改竄したり盗難したりするには複数のデータ保管装置３からデータを改竄等する必要があるが、それは困難である。たとえば、１つのデータ保管装置３からのデータ漏洩が判明した場合には、他のデータ保管装置３に対するセキュリティを強化することができるので、更なるデータ漏洩を防止することが可能である。なお、データを電子化して複数のデータ保管装置に同一データを格納する従来の手法においては、１つのデータ保管装置からデータが漏洩すると全データが漏洩してしまうが、本実施形態ではそのようなことはない。
【０１４３】
なお、「セキュリティ」とは、犯罪やユーザのミスなどに起因するデータの漏洩や改竄等に対する安全性確保対策だけでなく、地震や火災等の災害に起因するデータの消失等に対する安全性確保対策をも含むものとし、いわゆる「危機管理」と呼ばれるものに相当する。
【０１４４】
前述したように、連続するデータブロックを同一のデータブロック群に含めないようにすることで、各データ保管装置３に保管されるデータや、広域ネットワーク１０００上を伝送されるデータから読み取れる有意義な情報の量を減少させることができる。すなわち、各データ保管装置３に格納されるデータや、広域ネットワーク１０００上を一度に伝送されるデータは、連続性の無い複数のデータブロックを含んでいるが、そのデータから読み取れる有意義な情報は、各データブロックのデータ量程度となる。それにより、たとえデータが漏洩等しても、その意味を読み取ることが困難なために悪用されにくい。また、データを盗んでも有意義な情報を得にくいことから、漏洩等の発生自体を抑制することも期待される。
【０１４５】
また、データ保管装置３に保管されているデータや伝送中のデータに改竄や消失が発生した場合でも、その改竄等されたデータをパリティデータを用いて再形成することができ、保管データを復元することができる。したがって、改竄等が発生した場合でも、保管データ全体を保護することが可能である。ここで、各パリティデータが、対応するデータブロックと異なるデータ保管装置３に保管されていることが重要である。なお、データの改竄等の発生の有無は、チェック情報（チェックＩＤ）によって簡単かつ効果的に判断することが可能である。
【０１４６】
このように、本実施形態に係るデータ保管システムによれば、災害等によるデータ消失や、犯罪等によるデータの漏洩・改竄などの様々な危険性に対するセキュリティの向上を図ることが可能である。
【０１４７】
また、本実施形態を適用するにあたり、暗号技術やパスワード技術等の他のセキュリティ保護策を講じた場合のように多大なコストが必要とされることもない。更に、オーバーヘッドの増大による装置性能の低下についても、パリティデータを用いたデータ再形成時にのみオーバーヘッドの増大が発生する可能性がある。つまり、暗号技術等を用いる場合には、データの送信時や受信時には常に暗号化処理や復号化処理等が実行されるために、装置性能の低下は恒常的なものとなるが、本実施形態に係る構成においては、災害や犯罪が発生した場合などの稀なケースにのみ、装置性能の低下が予想される。
【０１４８】
このように、本実施形態に係るデータ保管システムによれば、システムの導入コストや運用コストの増加を効果的に抑制しつつも、セキュリティ能力の高いデータ保管システムを提供することが可能となる。
【０１４９】
また、電子化したデータを保管するため、印刷メディアや記憶メディアを用いる場合のような保管スペースの問題やデータ取り出し時間の問題などは生じない。
【０１５０】
［変形例］
本実施形態に係るデータ保管システムの変形例について説明する。なお、以下の変形例は、後述の第２の実施形態にも適宜に準用することが可能である。
【０１５１】
上記実施形態では、Ｎ個のデータ保管装置３のうちの１つをパリティデータ保管用として用いるとともに、その他のＮ−１個にデータブロックを分散させて保管するように構成したが、データブロックやパリティデータの分散態様は、これに限定されるものではない。
【０１５２】
たとえば、データブロックとパリティデータの双方を、Ｎ個のデータ保管装置３に分散させるように構成できる。その一例を図７を参照して説明する。ここで、データ保管装置３の個数を３個とする（Ｎ＝３）
【０１５３】
図７（Ａ）は、保管要求がなされた保管データＦを示す。データ送信サーバ１のデータ分割部１２は、図７（Ｂ）に示すように、保管データＦを８個のデータブロックＦ１、Ｆ２、Ｆ３、Ｆ４、Ｆ５、Ｆ６、Ｆ７、Ｆ８に分割する。パリティデータ生成部１３は、データブロックＦ１、Ｆ２のパリティデータＰ（１，２）と、データブロックＦ３、Ｆ４のパリティデータＰ（３，４）と、データブロックＦ５、Ｆ６のパリティデータＰ（５，６）と、データブロックＦ７、Ｆ８のパリティデータＰ（７，８）とをそれぞれ生成する。
【０１５４】
データ送信部１５は、図７（Ｃ）に示すように、データブロックＦ１、パリティデータＰ（３，４）、データブロックＦ６及びデータブロックＦ７をグルーピングしてデータ群Ｈ１を形成し、データブロックＦ２、データブロックＦ３、パリティデータＰ（５，６）、及びデータブロックＦ８をグルーピングしてデータ群Ｈ２を形成し、パリティデータＰ（１，２）、データブロックＦ４、データブロックＦ５及びパリティデータＰ（７，８）をグルーピングしてデータ群Ｈ３を形成する。ここで、各パリティデータが、対応するデータブロックとは異なるデータ群に属するようにグルーピングを行うことが重要である。
【０１５５】
更に、図示は省略するが、チェックＩＤ生成部１４が、各データ群Ｈ１、Ｈ２、Ｈ３のチェックＩＤをそれぞれ生成し、データ送信部１５が、各データ群Ｈ１、Ｈ２、Ｈ３にチェックＩＤを付加して３つの送信データを形成する。そして、データ送信部１５は、データ群Ｈ１を含む送信データをデータ保管装置３−１に送信し、データ群Ｈ２を含む送信データをデータ保管装置３−２に送信し、データ群Ｈ３を含む送信データをデータ保管装置３−３に送信する。
【０１５６】
このようなデータの分散態様を適用しても、上記実施形態と同様のメリットを享受することができる。また、本変形例によれば、Ｎ個のデータ保管装置３のうちのいずれのデータが改竄されたり消去されたりしても、保管データを復元することが可能である。
【０１５７】
上記実施形態では、データ送信サーバ１とデータ復元サーバ２とを異なる装置として構成したが、単一の装置に双方の機能を搭載することが可能である。その場合、データ送信サーバ１による処理（データ送信処理；図４参照）と、データ復元サーバ２による処理（データ復元処理；図５参照）との双方をコンピュータに実行させるデータ保管プログラム１３１を搭載すればよい。それにより、データの保管要求を行った装置を用いて、そのデータを読み出して復元することができるので、システムの利便性が向上する。なお、後述の第２の実施形態に係るデータ保管システムは、このような構成を適用したものである。
【０１５８】
ここで、データ送信処理のみ実行可能な装置と、データ復元処理のみ実行可能な装置と、双方の処理を実行可能な装置とを含むシステムを構成することも可能である。また、システムに含まれるデータ送信装置の個数及びデータ復元装置の個数は、それぞれ任意である。
【０１５９】
上記実施形態のデータ保管システムは、本発明に係る様々な特徴的構成を備えている。本発明に係るデータ保管システムは、次のような構成を備えていれば十分である。
【０１６０】
本発明に係る第１の構成は、以下に列挙する要素を備える：（１）広域ネットワーク１０００に接続され、互いに地理的に離れた場所に設置された複数のデータ保管装置３；（２）データの保管要求を受け付ける保管要求受付部１１と、そのデータをデータブロックに分割するデータ分割部１２と、そのデータブロックを複数のデータ保管装置３に分散させて送信するデータ送信部１５とを有するデータ送信サーバ１；（３）データの読出要求を受け付ける読出要求受付部２１と、そのデータに対応するデータブロックをデータ保管装置３から読み出すデータ読出部２２と、そのデータブロックに基づいてデータを復元する復元処理部２４とを有するデータ復元サーバ２。この第１の構成は、本発明の基本構成である。
【０１６１】
この第１の構成によれば、互いに離れて設置されたデータ保管装置３に保管データを分散保管させるにより、データが漏洩等に対応できる。また、犯罪によるデータの盗み出しも困難となる。
【０１６２】
本発明に係る第２の構成は、上記第１の構成に加えて、以下に列挙する特徴を備える：（１）データ送信サーバ１は、データ分割部１２により得られた各データブロックのパリティデータを生成するパリティデータ生成部１３を有する；（２）データ送信サーバ１のデータ送信部１５は、各パリティデータを、対応するデータブロックの送信先とは異なるデータ保管装置３に送信する；（３）データ復元サーバ２は、データ読出部２２によりデータブロックが適正に読み出されたか判断する読出データ判断部２３を有する；（４）データ読出部２２は、適正に読み出されなかったと判断されたデータブロックのパリティデータをデータ保管装置から読み出す；（５）復元処理部２４は、そのパリティデータに基づいてデータブロックを再形成するデータ再形成部２５を有する；（６）復元処理部２４は、適正に読み出されたと判断されたデータブロックと、再形成されたデータブロックとに基づいて、データを復元する。
【０１６３】
この第２の構成によれば、データブロックに改竄や消失が発生した場合でも、パリティデータを用いてそのデータブロックを再形成でき、元のデータを復元することができる。
【０１６４】
本発明に係る第３の構成は、上記第２の構成に加えて、以下に列挙する特徴を備える：（１）データ送信サーバ１は、データ分割部１２により得られたデータブロックのチェックＩＤを生成するチェックＩＤ生成部１４を有する；（２）データ送信部１５は、各データブロックをそのチェックＩＤとともにデータ保管装置３に送信する；（３）データ読出部２２は、データブロックをそのチェック情報とともにデータ保管装置３から読み出す；（４）読出データ判断部２３は、読み出されたチェック情報に基づいて、そのデータブロックが適正に読み出されたかを判断する。
【０１６５】
この第３の構成によれば、データの改竄等の発生の有無を簡単かつ効果的に判断することができる。
【０１６６】
本発明に係る第４の構成は、上記第２の構成において、パリティデータ保管用のデータ保管装置（たとえば３−Ｎ）を設けるとともに、その他のデータ保管装置３−１〜３−（Ｎ−１）にデータブロックを分散保管することを特徴とし、前述の変形例（図７参照）とともに、データブロック及びパリティデータの分散態様のバリエーションを提供するものである。
【０１６７】
〈第２の実施形態〉
上述した第１の実施形態に係るデータ保管システムは、広域ネットワーク上に配置された複数のデータ保管装置にデータを分散保管するように構成されていた。一方、本実施形態に係るデータ保管システムは、広域ネットワーク上のみならずローカルネットワーク上にもデータ保管装置を分散配置させることにより、保管データのセキュリティ向上を図るものである。
【０１６８】
図８は、本実施形態に係るデータ保管システムの全体構成の一例を表している。このデータ保管システムは、広域ネットワーク１０００に接続された第１の実施形態と同様のデータ保管装置３−１〜３−Ｎ（Ｎ≧１）と、広域ネットワーク１０００及びローカルネットワーク１００１にそれぞれ接続されたサーバ１０と、ローカルネットワーク１００１に接続されたデータ保管装置３０と、ローカルネットワーク１００１に接続されたコンピュータ端末４０Ａ、４０Ｂ、４０Ｃとを含んで構成される。
【０１６９】
ここで、広域ネットワーク１０００上のデータ保管装置３（第１のデータ保管装置）は、少なくとも１個設けられていれば十分である（第１の実施形態では複数個であった。）。また、ローカルネットワーク１００１上のデータ保管装置３０（第２のデータ保管装置）は、各データ保管装置３から地理的に離れた場所に設置されている。したがって、サーバ１０も各データ保管装置３から離れた場所に設置されている。なお、データ保管装置３０の設置個数は１個に限定されるものではなく、２個以上とすることも可能である。
【０１７０】
サーバ１０は、本発明の「データ処理装置」の一例に相当するものであり、第１の実施形態におけるデータ送信サーバ１及びデータ復元サーバ２の双方の機能を具備している。すなわち、図示は省略するが、サーバ１０は、保管要求受付部１１、データ分割部１２、パリティデータ生成部１３、チェックＩＤ生成部１４、データ送信部１５、読出要求受付部２１、データ読出部２２、読出データ判断部２３、復元処理部２４（データ再形成部２５、データ復元部２６を含む。）及び復元データ送信部２７を備えている（図２参照）。これら各部は、第１の実施形態とほぼ同様に動作する。以下、第１の実施形態との相違点を説明する。
【０１７１】
サーバ１０のデータ送信部１５は、データ分割部１２によって得られた２以上のデータブロックのうちのいくつかを広域ネットワーク１０００を通じてデータ保管装置３に（分散して）送信するとともに、その他のデータブロックをローカルネットワークを通じてデータ保管装置３０に（分散して）送信するようになっている。
【０１７２】
また、データ送信部１５は、パリティデータ生成部１３が生成した各パリティデータを、対応するデータブロックの送信先とは異なるデータ保管装置３あるいはデータ保管装置３０に送信する。これは、各データブロックとそのパリティデータとを異なるデータ保管装置３、３０に送る送信データ中に含めるようにグルーピングすることで実現される（図７（Ｃ）参照）。
【０１７３】
サーバ１０のデータ読出部２２は、読出要求が受け付けられたデータに対応するデータブロックをデータ保管装置３、３０からそれぞれ読み出すようになっている。データ復元部２６は、このようにして読み出されたデータブロックに基づいてデータを復元する。
【０１７４】
また、データ読出部２２は、読出データ判断部２３により適正に読み出されなかったと判断されたデータブロックがあった場合、当該データブロックのパリティデータを、その保管先のデータ保管装置３あるいはデータ保管装置３０から読み出すようになっている。データ再構成部２５は、このパリティデータに基づいて当該データブロックを再形成し、データ復元部２６は、適正に取得されたデータブロックと、上記再形成されたデータブロックとに基づいて、データを復元する。
【０１７５】
このような本実施形態に係るデータ保管システムによれば、広域ネットワーク１０００に接続された１以上のデータ保管装置３と、ローカルネットワーク１００１に接続された１以上のデータ保管装置３０とを用いて、第１の実施形態と同様の処理（図４、図５参照）を実行することができる。
【０１７６】
したがって、第１の実施形態と同様に、データ保管装置３、３０のいずれかからデータが漏洩したり盗み出された場合や、データが広域ネットワーク１０００を伝送しているときに漏洩等した場合であっても、保管データ全体が漏洩等することが無い。
【０１７７】
また、データ保管装置３は互いに地理的に離れた位置に設置されており、データ保管装置３０は、データ保管装置３と地理的に離れた位置に設置されているため、保管データの全体を改竄したり盗難したりすることは困難である。
【０１７８】
また、データ保管装置３、３０に保管されているデータや伝送中のデータに改竄や消失が発生した場合でも、その改竄等されたデータをパリティデータを用いて再形成することができ、保管データを復元することができ、保管データ全体を保護することが可能である。
【０１７９】
このように、本実施形態に係るデータ保管システムによれば、災害等によるデータ消失や、犯罪等によるデータの漏洩・改竄などの様々な危険性に対するセキュリティの向上を図ることが可能である。
【０１８０】
更に、暗号技術等のセキュリティ保護策のように多大なコストが必要とされることもなく、オーバーヘッドの増大による装置性能の恒常的な低下を回避することが可能である。したがって、本実施形態によれば、コスト増加を抑制しつつセキュリティ能力の高いデータ保管システムを提供することが可能である。
【０１８１】
また、本実施形態に係るデータ保管システムによれば、次のような特有の作用、効果が奏される。本実施形態に係るデータ保管システムには、広域ネットワーク１０００上のデータ保管装置３に加えて、サーバ１０と同じローカルネットワーク１００１上にもデータ保管装置３０が設置され、これらのデータ保管装置３、３０に保管データが分散されるようになっているので、保管データの少なくとも一部は、広域ネットワーク１０００を経由せずに、ローカルネットワーク１００１のみを通じて伝送されることとなる。したがって、広域ネットワーク１０００を経由するデータが全て漏洩等した場合であっても、保管データ全体が漏洩等することがなく、有意義な情報が漏洩等する危険性を低減させることが可能である。
【０１８２】
［その他］
第１、２の実施形態に係る処理をデータ送信サーバ１やデータ復元サーバ２やサーバ１０に実行させるデータ保管プログラム１３１は、任意の記憶媒体（メディア）に、コンピュータ読み取り可能に記憶させることができる。その記憶媒体としては、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ（Ｗ）、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ（Ｗ）、ＤＶＤ−ＲＡＭ、ＭＯ、各種メモリカードなど、電気的方法、磁気的方法、光学的方法等の任意の物理的方法によってデータを記憶可能に構成されたものを使用することが可能である。
【０１８３】
以上に説明した構成は、本発明に係るデータ保管システムを好適に実施するための具体的構成の一例に過ぎないものである。したがって、本発明の要旨の範囲内における任意の変形を適宜に施すことが可能である。
【図面の簡単な説明】
【０１８４】
【図１】本発明に係るデータ保管システムの第１の実施形態の全体構成の一例を表す概略システム構成図である。
【図２】本発明に係るデータ保管システムの第１の実施形態におけるデータ送信サーバ及びデータ復元サーバの機能的構成の一例を表す概略ブロック図である。
【図３】本発明に係るデータ保管システムの第１の実施形態におけるデータ送信サーバ及びデータ復元サーバのハードウェア構成の一例を表す概略ブロック図である。
【図４】本発明に係るデータ保管システムの第１の実施形態によるデータ保管処理の一例を表すフローチャートである。
【図５】本発明に係るデータ保管システムの第１の実施形態によるデータ読出処理の一例を表すフローチャートである。
【図６】本発明に係るデータ保管システムの第１の実施形態によるデータ保管処理の一具体例を説明するための概略説明図である。
【図７】本発明に係るデータ保管システムの第１の実施形態の変形例によるデータ保管処理の一具体例を説明するための概略説明図である。
【図８】本発明に係るデータ保管システムの第２の実施形態の全体構成の一例を表す概略システム構成図である。
【符号の説明】
【０１８５】
１  データ送信サーバ
１１  保管要求受付部
１２  データ分割部
１３  パリティデータ生成部
１４  チェックＩＤ生成部
１５  データ送信部
２  データ復元サーバ
２１  読出要求受付部
２２  データ読出部
２３  読出データ判断部
２４  復元処理部
２５  データ再形成部
２６  データ復元部
２７  復元データ送信部
１００  ＣＰＵ
１３０  ハードディスクドライブ
１３１  データ保管プログラム
１４０  通信インターフェイス
１４１  広域通信インターフェイス
１４２  ローカル通信インターフェイス
３、３−１、３−２、・・・・、３−Ｎ、３０  データ保管装置
４Ａ、４Ｂ、４Ｃ、５Ａ、５Ｂ、４０Ａ、４０Ｂ、４０Ｃ  コンピュータ端末
１０  サーバ
１０００  広域ネットワーク
１００１、１００２  ローカルネットワーク
【図１】
2007072643.tif 000003
【図２】
2007072643.tif 000004
【図３】
2007072643.tif 000005
【図４】
2007072643.tif 000006
【図５】
2007072643.tif 000007
【図６】
2007072643.tif 000008
【図７】
2007072643.tif 000009
【図８】
2007072643.tif 000010