<<< §1.基本的な実施形態 >>>
まず、本発明の基本的な実施形態を説明する。図1は、本発明に係る分散型データアーカイブシステムの全体構成図である。分散型データアーカイブ装置1は、この分散型データアーカイブシステムの中枢をなす装置であり、複数のデータサーバ2(図1では2a,2b,2c)に対して、ネットワーク3を介して、所望のデータを保管する機能を有している。この分散型データアーカイブ装置1には、携帯可能記録媒体10を挿入することができ、上記機能を実行する際には、分散型データアーカイブ装置1と携帯可能記録媒体10との連携動作が行われる。分散型データアーカイブ装置1は、図1に示されているように、読取・書込手段11、認証手段12、分割・暗号化手段13、復号化・統合手段14、データ管理手段15、ネットワーク通信手段16から構成される。これら各手段の個々の機能については後述する。利用者が、この図1に示されたデータアーカイブシステムを利用してデータを保管するには、保管対象となるデータを、ファイル単位で分散型データアーカイブ装置1に与えればよい。図1には、保管対象データファイルとして、3つのファイルF1、F2、F3を分散型データアーカイブ装置1に与えた例が示されている。この分散型データアーカイブ装置1は、具体的には、携帯可能記録媒体10用のドライブ装置を備えた汎用コンピュータに、後述する機能を実現する専用のソフトウエアプログラムを組み込むことにより実現できる。一方、個々のデータサーバ2は、それぞれサーバ本体20と外部ストレージ21とによって構成される。保管対象となるデータは、個々のファイルごとに、ネットワーク3を経由して、複数のデータサーバ2a、2b、2cに、所定のデータ保管手順にしたがって保管される。
携帯可能記録媒体10には、データサーバ2a、2b、2cに保管された個々のファイル(図示の例の場合、F1、F2、F3)ごとに、データ保管場所およびデータ保管手順を示す管理データが格納される。図2は、携帯可能記録媒体10の中に記録されている管理データの一例を示す図である。1つの携帯可能記録媒体10内には、所定のパスワードの入力によりアクセスが可能となる管理フォルダが作成されており、この管理フォルダ内には、個々のファイルの管理データを格納するためのフォルダが更に作成されている。たとえば、図2に示す例では、管理フォルダ内に、F1用フォルダ、F2用フォルダ、F3用フォルダと記述された3つのフォルダが作成されており、これら各フォルダ内には、それぞれファイルF1の管理データ、ファイルF2の管理データ、ファイルF3の管理データが格納されている。図2には、このうちのファイルF1の管理データの内容が例示されている。各管理データは、各ファイルを構成するデータの保管場所を示すデータ保管場所情報と、データの保管手順を示すデータ保管手順情報と、によって構成されている。本発明では、保管対象となる1つのデータファイルは、複数に分割され、複数のデータサーバに分散して保管されることになる。データ保管場所情報は、保管対象となるデータファイルの保管先となっている複数のデータサーバの場所を示す情報であり、具体的には、保管先となっている複数のデータサーバのアドレス(Uniform Resource Locator、以下URLという)のリストから構成される。
一方、データ保管手順情報は、図示の例の場合、「分割方法」、「暗号化方法」、「分割・暗号化の順番」、「冗長格納方法」、「ダミーデータ付加方法」なる各項目を示す情報(識別文字、数字、条件式など)によって構成される。ここで、「分割方法」なる項目については、更に、「ファイル分割アルゴリズム」、「分割ファイルサイズ」、「分割ファイル数」という細かな項目が設定されている。たとえば、保管対象となる1つのデータファイルF1を保管する場合、このデータファイルF1を複数のファイルに分割することになるが、どのような方法で分割を行うかという情報が、上述した「分割方法」なる項目に管理データとして格納されることになる。より詳細には、どのような「ファイル分割アルゴリズム」を用いて分割を行い、個々の「分割ファイルサイズ」をどのように設定し、「分割ファイル数」はいくつになったか、という情報が、個々の細目に格納される。
また、保管対象となるデータファイルF1に対して暗号化を施した場合には、どのような方法で暗号化を行ったかを示す情報が、上述した「暗号化方法」なる項目に管理データとして格納され、分割処理前のもとのデータファイルF1に対して暗号化を行った後、この暗号化されたデータに対して分割処理を行ったのか、あるいは、先に分割処理を行った後に、個々の分割ファイルに対して暗号化処理を行ったのか、を示す情報が、上述した「分割・暗号化の順番」なる項目に管理データとして格納される。
更に、個々の分割ファイルを各データサーバに保管する際に、冗長性をもたせて格納を行う場合には、採用した冗長格納方法を示す情報が、上述した「冗長格納方法」なる項目に管理データとして格納されることになる。一般的な冗長格納方法としては、ミラーリング方式と、パリティファイル作成方式の2通りが知られている。ミラーリング方式を採る場合には、各分割ファイルごとに、それぞれ正と副の2か所の異なるデータサーバに重複した保管が行われる。万一、一方の分割ファイルが滅失したとしても、もう一方の分割ファイルさえ残っていれば、危険は回避できる。一方、パリティファイル作成方式を採る場合は、たとえば、互いにデータ長の等しい一対の分割ファイルについて、各ビットごとに排他的論理和をとることによりパリティファイルを作成し、このパリティファイルと一対の分割ファイルとを、それぞれ所定のデータサーバに格納することになる(一般に、RAID3と呼ばれる方式の例)。万一、一方の分割ファイルが滅失したとしても、対となるもう一方の分割ファイルとパリティファイルとについて、各ビットごとに排他的論理和をとれば、滅失した分割ファイルを復元できる。
また、保管対象となるデータファイルF1を分割する処理を行うプロセスにおいて、このファイルF1内のデータとは無関係なダミーデータを付加する処理を行った場合には、どのような方法でダミーデータを付加したかを示す情報が、上述した「ダミーデータ付加方法」なる項目に管理データとして格納されることになる。たとえば、ランダムな任意のデータを発生させて、これをダミーデータとして利用することもできるし、予め用意しておいた何らかのデータをダミーデータとして利用してもよい。このようなダミーデータを付加しておけば、万一、分割ファイルが不正な手段で閲覧された場合にも、閲覧内容を撹乱することができ、セキュリティを向上させることができる。もちろん、ダミーデータは、本来のデータのどの部分に付加してもかまわない。たとえば、保管対象となるデータファイルF1を分割することによって得られた個々の分割ファイルの先頭や末尾などの特定の場所に数バイトのダミーデータを付加してもよいし、先頭から3バイト目ごとに1バイトのダミーデータを挿入する、というような特定の規則で、ところどころにダミーデータを付加してもよい。「ダミーデータ付加方法」なる項目に管理データとして格納される情報は、どのような方法でダミーデータが付加されたか、ということを示す情報であり、後にデータの取出しを行うときに、ダミーデータを除去するプロセスを行うために参照される。
図2には示されていないが、データファイルF2,F3についても、同様に管理データが作成され、携帯可能記録媒体10内の管理フォルダ内に格納されることになる。このように、本発明に係るデータアーカイブシステムを利用して、3つのデータファイルF1,F2,F3を保管したとすると、これら各データファイルはいずれも複数の分割ファイルに分割され、個々の分割ファイルはいずれかのデータサーバに保管されることになる。たとえば、データファイルF1が、4つの分割ファイルF11〜F14に分割されたとすると、これら各分割ファイルF11〜F14は、図1に示す3つのデータサーバ2a〜2cのいずれかに分散して格納される。この際、もとのデータファイルF1をどのような方法で分割し、各分割ファイルのサイズは何バイトであり、合計いくつの分割ファイルが作成されたか、という情報は、図2に示す管理フォルダ内にファイルF1の管理データ(データ保管手順情報)として格納されることになる。このときに、暗号化、冗長格納、ダミーデータ付加などの方法を採用した場合には、これらの方法に関する情報も管理データとして格納される。そして、この4つの分割ファイルF11〜F14が、それぞれどのデータサーバに格納されるかを示す情報(個々のデータサーバのURLリスト)が、図2に示す管理フォルダ内にファイルF1の管理データ(データ保管場所情報)として格納される。
なお、保管対象となるデータファイルに基づいて作成される個々の分割ファイルには、それぞれ所定の規則に従ってユニークなファイル名が付与されるようにしておき、かつ、元のデータファイルとの対応関係が明らかになるようにしておく。たとえば、上述の例の場合、保管対象となるデータファイルのファイル名が「F1」であったとすると、このデータファイル「F1」に基づいて作成される個々の分割ファイルの名は、「F1」の末尾にそれぞれ1〜4の数字を付加する、という規則に従って、「F11」〜「F14」なる名が付与されることになる。ここで、たとえば、図2に示す「F1用フォルダ」のフォルダ名を、データファイルF1と同じ「F1」なる名称にしておき、このフォルダ「F1」内に記録されるファイル「F1」の管理データのデータ保管場所情報には、個々の分割ファイル名「F11」〜「F14」のそれぞれについて、保管先となったデータサーバのURLを対応づけるリスト(具体的には、F11→URL(2a),F12→URL(2b),...というようなリスト)を記録するようにしておけば、保管対象となるデータファイルのファイル名「F1」と、個々の分割ファイルのファイル名「F11」〜「F14」との対応関係が、図2に示すファイル構造によって明記されることになる。もっとも、インターネットでは、通常、http://www.(サーバ特定コード)/(ファイル特定コード)のような形式のURLが利用されているので、実用上は、データ保管場所情報としては、F11→URL(2a),F12→URL(2b),...というような対応関係を示すリストではなく、http://www.(データサーバ2a)/(分割ファイルF11),http://www.(データサーバ2b)/(分割ファイルF12),...というようなURLリストを用意しておくと便利である。
以上のような手順でデータファイルF1を保管しておけば、管理フォルダ内に格納されているファイルF1の管理データ(データ保管手順情報とデータ保管場所情報)を用意して、このデータアーカイブシステムにアクセスすることができれば、いつでも、どこからでも、保管されているデータファイルF1を取り出すことができる。すなわち、ファイルF1の管理データ内のデータ保管場所情報(データサーバのURLリスト)を参照すれば、どこのデータサーバに必要な分割ファイルが保管されているかを認識することができるので、復元に必要な分割ファイルをすべて読み出してくることができる。しかも、ファイルF1の管理データ内のデータ保管手順情報を参照すれば、読み出してきた各分割ファイルに対して、どのような復号化を行い、どの部分をダミーデータとして削除し、どのようなファイル統合を行えば、もとのデータファイルF1を得ることができるか、という復元手順を認識することができるので、この復元手順に従って、もとのデータファイルF1を復元することができる。すなわち、保管データの取出処理を行うことができる。
図1に示す分散型データアーカイブ装置1内に示された各手段11〜16は、上述したような、データファイルの保管処理と、保管データの取出処理とを行う機能を有している。すなわち、読取・書込手段11は、携帯可能記録媒体10内の管理フォルダにアクセスする手段であり、個々のファイルごとの管理データを読み書きする機能を果たす。また、認証手段12は、携帯可能記録媒体10自体の正当性検査を行うとともに、管理フォルダにアクセスするために必要なパスワードの入力を確認することにより、利用者に対する認証を行う機能を果たす。分割・暗号化手段13は、保管対象となる特定のデータファイルについて、保管処理を行う旨の指示が与えられたときに、予め定められた規則に従って、このデータファイルを所定の分割方法に基づいて分割し、必要に応じて暗号化、ダミーデータ付加、冗長格納のための処理を実行し、個々の分割ファイルごとに保管先となるデータサーバを決定する機能を果たす。
これに対して、復号化・統合手段14は、保管されている特定のデータファイルについて、取出処理を行う旨の指示が与えられたときに、当該特定のデータファイルについての保管時の処理手順を示す管理データに基づいて、分割ファイルの統合、復号化、ダミーデータの削除を行う機能を果たす。また、データ管理手段15は、保管処理を行う旨の指示が与えられたときには、分割・暗号化手段13によって実行される処理手順や各分割ファイルの保管先を示す管理データ(データ保管手順情報とデータ保管場所情報)を作成し、読取・書込手段11を介して、この管理データを携帯可能記録媒体10内の管理フォルダに書込む機能を果たす。一方、このデータ管理手段15は、取出処理を行う旨の指示が与えられたときには、読取・書込手段11を介して、携帯可能記録媒体10内の管理フォルダから必要な管理データを読み出し、これを復号化・統合手段14やネットワーク通信手段16に伝達する処理を行う。また、このデータ管理手段15は、読取・書込手段11を介して、携帯可能記録媒体10内の管理フォルダにアクセスし、その内容を利用者に提示する機能も有している。最後のネットワーク通信手段16は、インターネットの標準技術であるファイルトランスファプロトコル(File Transfer Protocol、以下FTPという)を利用して、各分割ファイルをネットワーク3を介して所定のデータサーバに転送して格納したり、逆に、所定のデータサーバから分割ファイルを読み出したりする機能を果たす。
このような各手段11〜16によって構成される分散型データアーカイブ装置1を、ネットワーク3上の随所に設置しておくようにすれば、携帯可能記録媒体10を携帯している利用者は、このデータアーカイブ装置1の設置場所であれば、どこでも、いつでも、任意のデータファイルを保管することが可能になり、また、保管しておいた任意のデータファイルを取り出すことが可能になる。ネットワーク3としてインターネットを利用すれば、データアーカイブ装置1が設置してある場所であれば、世界中のどこからでも、データを保管する作業を行うことができ、保管したデータを取り出す作業を行うことができる。このように、携帯可能記録媒体10さえ携帯していれば、どこでも、いつでも、データファイルの出し入れができる、という点が、本発明に係るデータアーカイブシステムの第1のメリットである。この第1のメリットは、天災や事故などに対する保管データの安全性向上にもつながることになる。たとえば、保険会社や金融機関などでは、貴重な業務データを安全に保管するための対策を講じておく必要がある。本発明に係るシステムを利用すれば、保管対象となるデータを世界各地に分散して保管しておくことが可能になり、局所的な災害や事故などに対する耐久性の高いデータアーカイブシステムが実現できる。
本発明に係るデータアーカイブシステムの第2のメリットは、データサーバ側に特別な対策を施さなくても、十分なセキュリティが確保できるという点である。図1に示すシステムにおいて、インターネットをネットワーク3として利用したとすると、利用者の利便性は向上するものの、各データサーバ2a〜2cのセキュリティは必ずしも万全とは言えず、不正なアクセスによって、各データサーバ内に保管しておいたデータが閲覧されてしまう可能性がある。しかしながら、本発明に係るデータアーカイブシステムでは、保管対象となるデータファイルは、保管時に複数の分割ファイルに分けられ、複数のデータサーバに分散して保管されることになるので、個々の分割ファイル単独では本来の情報を構成しないことになる。したがって、各データサーバ内に保管されている個々の分割ファイルが、不正な手段で閲覧されたとしても、セキュリティ上の問題は生じない。通常、業務データをバックアップする場合、バックアップ先となるデータサーバには十分なセキュリティ対策を施す必要があり、バックアップのためのコストが高騰する要因となっている。本発明に係るシステムでは、個々のデータサーバ側には特別なセキュリティ対策を施す必要がないため、バックアップのためのコストを低減させることが可能になる。
もっとも、個々の分割ファイルが、ある程度のデータ長を有していると、断片的ではあるにせよ、不正アクセスによって何らかの意味のある情報が漏れてしまうおそれがある。したがって、実用上は、たとえば、3つの分割ファイルを作成するのであれば、3バイト目おきに1バイトずつ採取したデータによって1つの分割ファイルを構成するなど、分割方法を工夫するようにして、1つの分割ファイルだけを閲覧しても、元のファイルの内容が察知されないようにするのが好ましい。更にセキュリティを高めるためには、上述した実施形態でも述べたように、分割を行う前、あるいは分割後に、所定のアルゴリズムに基づく暗号化やダミーデータの付加を行うようにするのが好ましい。
また、携帯可能記録媒体10内に格納されている各ファイルごとの管理データは、各ファイルを取り出すために必要な情報であり、この管理データそのものが盗まれると、保管しておいたデータファイルが不正アクセスによって取り出されてしまうことになる。したがって、実用上は、携帯可能記録媒体10としては、記録内容が不正アクセスを受けにくい媒体を用いるのが好ましい。具体的には、たとえば、CPUを内蔵したICカード(以下アーカイブカードという)を携帯可能記録媒体10として用いると、十分なセキュリティを確保することができる。セキュリティを更に高める上では、上述した実施形態でも述べたように、携帯可能記録媒体10内の管理フォルダをアクセスするために、パスワードを要求するような設定にしておくのが好ましい。
<<< §2.具体的な動作手順 >>>
続いて、本発明に係る分散型データアーカイブ装置の動作手順の一例を述べる。図3は、分散型データアーカイブ装置1の動作の流れを示す流れ図である。以下、この流れ図に従って、分散型データアーカイブ装置1の働きを説明する。なお、以下の説明では、携帯可能記録媒体10は、セキュリティの優れたICカード(アーカイブカード)を用いているものとする。
まず、利用者は、分散型データアーカイブ装置1を起動する。上述したように、実際には、この分散型データアーカイブ装置1は、ICカード用のドライブ装置を有する汎用のコンピュータに、専用のデータアーカイブ用ソフトウエアを組み込むことによって実現される。したがって、分散型データアーカイブ装置1の起動処理は、この汎用のコンピュータ上で、専用のデータアーカイブ用ソフトウエアを起動させる操作ということになる。分散型データアーカイブ装置1が起動すると、ディスプレイ画面上に、アーカイブカード10の挿入を促すメッセージが表示され、アーカイブカード10が挿入されるまで待機状態となる。利用者が、アーカイブカード10を挿入すると、読取・書込手段11によるアクセスが行われ、認証に必要なデータがやりとりされる。そして、認証手段12の働きにより、アーカイブカード10の正当性が検査される一方で、アーカイブカード10側では、分散型データアーカイブ装置1の正当性(読取・書込手段11の正当性)の検査が行われる。ここまでが、図3の流れ図のステップS1の手順である。これらの正当性検査技術は当業者においては周知の技術であるので詳細な説明は省略する。
続く、ステップS2において、否定的な認証結果が得られた場合、すなわち、挿入されたアーカイブカード10が正当なアーカイブカードとして認められない物であると判定された場合、あるいは逆に、読取・書込手段11がアーカイブカード10側から不正と判定された場合は、ステップS3へと進み、挿入されたアーカイブカード10は排出され、再び、ステップS1へと戻り、新たなアーカイブカード10が挿入されるまで待機状態となる。一方、ステップS2において、肯定的な認証結果が得られた場合は、ステップS5へと進み、利用者に対してパスワード入力を要求し、本人認証が行われることを条件として、アーカイブカード10内の管理フォルダの内容がディスプレイ画面上に表示される。すなわち、利用者から入力されたパスワードが、図2に示す管理フォルダについて設定されているパスワードに一致することを確認した上で、管理フォルダ内の内容を読み出し、当該アーカイブカード10を用いて取り出すことができるファイル名(図2の例の場合、3つのデータファイルF1,F2,F3)が表示される。また、このとき、利用者からの操作入力を受け付けるための操作メニューも表示され、ステップS7において、利用者からの対話的な操作入力(イベントの発生)を待つ状態になる。
この実施形態では、利用者は、表示された操作メニューから4通りの操作入力を選択することができ、この操作入力に応じて、ステップS7から各ステップへ分岐が行われる。すなわち、利用者は、保管対象データを新規に保管する保管処理、既に保管されているデータを取り出す取出処理、挿入したアーカイブカード10を排出させる媒体排出処理、この分散型データアーカイブ装置1の動作を終了する終了処理(具体的には、現在実行中のデータアーカイブ用の専用ソフトウエアを終了する処理)の4通りの操作入力を行うことができ、いずれかの操作入力が与えられた場合には、ステップS7においてイベント発生と認識され、それぞれ所定の分岐先へとジャンプすることになる。
ここでは、まず、利用者が保管処理を選択したものとしよう。この場合、まず、ステップS11において、保管対象ファイルを指定する処理が行われる。すなわち、ディスプレイ画面上に保管対象ファイルを指定するためのウインドウが表示されるので、利用者は、そのウインドウから保管対象ファイルを指定する操作を行う。上述したように、この実施形態では、分散型データアーカイブ装置1は、汎用のコンピュータを利用して実現されており、保管対象ファイルは、このコンピュータでアクセス可能な磁気ディスク,光ディスク,光磁気ディスクなどに記録した形態で用意しておけばよい。もちろん、ネットワーク3を介して、外部から保管対象ファイルを分散型データアーカイブ装置1に読み込むようにしてもかまわない。ここでは、たとえば、分散型データアーカイブ装置1を構成するコンピュータのハードディスク装置に格納されていたデータファイルF1が、保管対象ファイルとして指定されたものとしよう(この場合、図2に示す「ファイルF1の管理データ」はまだ作成されていないことになる。)。
続いて、ステップS13において、「ファイル分割方法」が決定される。具体的には、保管対象ファイルF1を、どのような方法で(アルゴリズム)、どのようなファイル長をもった(ファイルサイズ)、いくつのファイル(ファイル数)に分割するか、という条件を定める。これらの条件は、利用者自身によって指定させることも可能であるが、実用上は、分散型データアーカイブ装置1内に予め用意された所定のプログラムに基づいて自動的に決定されるようにするのが好ましい。これらの条件は、セキュリティを高める上では、個々の保管対象ファイルごとに異ならせるようにするのが好ましい。なお、一般的な分割アルゴリズムを用いている場合には、「分割ファイルサイズ」と「分割ファイル数」とは相互に関連あるパラメータとなるので、いずれか一方を決定すると、他方が一義的に決定される。たとえば、保管対象ファイルF1のファイル長が100MBであった場合、「分割ファイルサイズ」を20MBに決定すれば、「分割ファイル数」は一義的に5に決定されることになるし、「分割ファイル数」を10に決定すれば、「分割ファイルサイズ」は一義的に10MBに決定されることになる。
なお、上述の例は、各分割ファイルサイズが互いに等しくなるような等分割を行う分割アルゴリズムを設定した例であるが、ファイル分割アルゴリズムはこのような等分割に限定されるものではなく、たとえば、「偶数番目の分割ファイルのファイル長を、奇数番目の分割ファイルのファイル長の2倍に設定する」というような任意の分割アルゴリズムを設定することも可能である。また、ファイルを分割する際には、必ずしも、元のファイルの連続した一部分を1つの分割ファイルとするようなアルゴリズムを採る必要もない。たとえば、1つの保管対象ファイルを2つの分割ファイルに分ける場合、前半部分からなる第1の分割ファイルと後半部分からなる第2の分割ファイルとの2つに分けるアルゴリズムだけでなく、たとえば、奇数番目のバイトからなる第1の分割ファイルと偶数番目のバイトからなる第2の分割ファイルの2つに分けるアルゴリズムも有効である。実用上は、セキュリティを確保する上で、むしろ後者の分割アルゴリズムを採った方が好ましい。奇数番目のバイトのみからなる分割ファイルや、偶数番目のバイトのみからなる分割ファイルは、通常、それ自身では、全く意味をなさないファイルになるので、不正アクセスによって閲覧されることがあっても、貴重な情報が漏洩することを防ぐことができる。
もちろん、3以上のファイルに分割する場合にも、このような分割アルゴリズムを採ることが可能であり、一般に、n個のファイルに分割するのであれば、分割対象となるファイルを構成する先頭から順に、第1番目のバイトを第1の分割ファイルに、第2番目のバイトを第2の分割ファイルに、...、第n番目のバイトを第nの分割ファイルに、第(n+1)番目のバイトを第1の分割ファイルに、第(n+2)番目のバイトを第2の分割ファイルに、というように割り当ててゆけばよい。もちろん、順に1バイト単位で割り当てる代わりに、順に任意のバイト単位で割り当てることも可能である。実際、ファイル分割のアルゴリズムは無限にあり、どのような分割アルゴリズムを採るようにしてもよい。
次に、ステップS17において、暗号化方法を決定し、続くステップS19において、ダミーデータ付加方法を決定し、更に、ステップS21において、冗長格納方法を決定する。これらの事項も、利用者自身によって指定させることも可能であるが、実用上は、分散型データアーカイブ装置1内に予め用意された所定のアルゴリズムに基づいて自動的に決定されるようにするのが好ましい。また、セキュリティを高める上では、暗号化方法やダミーデータ付加方法を、個々の保管対象ファイルごとに異ならせるようにするのが好ましく、更に、個々の分割ファイルごとに異ならせるようにするのが好ましい。
ステップS17で決定する事項は、どのようなアルゴリズムで暗号化を行うか、暗号化のプロセスで用いる暗号鍵をどのようなデータにするか、といった事項だけでなく、各分割ファイルごとに暗号化を行うか否かといった事項や、分割処理後に個々の分割ファイルに対して暗号化を行うのか、あるいは、暗号化を行った後にこれを複数のファイルに分割するのか、といった分割・暗号化の順番といった事項までも含ませておいてかまわない。
ステップS19では、保管対象データを分割したり、分割した後に暗号化したり、または暗号化した後に分割したりする際に、いずれかの段階において、一定の規則に従って、保管対象データとは無関係なダミーデータを付加する方法が決定される。前述したように、保管時に、このようなダミーデータの付加処理を行っておけば、万一、保管されていたデータを盗み見られたり、これを復号化されたとしても、ダミーデータが介在しているために完全な復元には至らないので、セキュリティが更に向上することになる。
一方、ステップS21で決定する事項は、既に述べたように、冗長格納方法としてミラーリング方式とパリティファイル作成方式とのいずれを選択するか、という事項でよい。
こうして、データ保管手順を実行するにあたって必要な事項が決定されたら、ステップS23において、分割・暗号化手段13が呼び出され、これまでの各ステップで決定された方法にしたがって、保管対象データファイルF1に対する分割処理、暗号化処理、ダミーデータの付加処理が行われ、複数の分割ファイルが作成される。なお、冗長格納方法としてパリティファイル作成方式が選択されていた場合には、この段階で、必要なパリティファイルの作成も行われる。続いて、個々の分割ファイル(本明細書では、パリティファイルも分割ファイルの1つとして取扱う)について、保管先となるデータサーバを決定し、これを書込む処理が行われる。すなわち、まず、ステップS29において、1つの分割ファイルの保管先となるデータサーバが決定され、ステップS31において、ネットワーク通信手段16の動作により、この1つの分割ファイルが保管先となるデータサーバへと転送され、当該データサーバ内に書込まれる。このような処理が、ステップS35を経ることによって、全ての分割ファイルについて完了するまで、繰り返し実行される。このとき、ミラーリング方式で冗長格納する場合は、個々の分割ファイルが正、副の異なる2箇所のデータサーバに転送され、それぞれ格納されることになる。また、パリティファイル作成方式で冗長格納する場合は、各分割ファイルとともにパリティファイルも、所定のデータサーバに転送され、それぞれ格納されることになる。
ネットワーク通信手段16によるこのようなファイル転送処理は、前述したように、FTPに則って実行される。具体的には、たとえば、保管先となるデータサーバのURLのリストを記録した設定ファイルを用意し、この設定ファイルのURLリストに記述されているデータサーバの1つを適当に選択して、1つの分割ファイルを転送し、うまく転送できたら、次の分割ファイルを、URLリストに掲載されている次のデータサーバに対して転送するようにすればよい。転送が何らかの理由で失敗した場合は、転送先をURLリストの次のデータサーバに変更して、分割ファイルの転送をやり直すようにする。
最後に、ステップS37において、データ管理手段15の機能により、保管対象ファイルF1についての管理データが作成され、アーカイブカード10内に記録される。具体的には、図2に示されているような各項目からなるデータ保管手順情報と、個々の分割ファイルの保管先となったデータサーバのURLリストからなるデータ保管場所情報と、によって構成される「ファイルF1の管理データ」が、F1用フォルダ内に記録される。以上で、保管対象ファイルとして指定されたファイルF1についての保管処理は完了し、再び、ステップS5の手順へと戻り、次のイベント待ちの状態になる。
続いて、ステップS7で発生するイベントとして、利用者が特定のファイルを指定して取出処理を選択した場合を考える。この場合、まず、ステップS41において、データ管理手段15の機能により、取出対象ファイルの管理データがアーカイブカード10から読込まれる。たとえば、利用者が、既に保管済みのファイルF1を指定して、取出処理を選択した場合であれば、図2に示されている「ファイルF1の管理データ」がアーカイブカード10から読み込まれる。この管理データ内のデータ保管場所情報を参照すれば、取出対象ファイルを構成する個々の分割ファイルが保管されているデータサーバのURLを認識することができ、データ保管手順情報を参照すれば、保管時にどのような分割処理、暗号化処理、冗長格納処理、ダミーデータ付加処理が実行されたかを認識することができる。
そこで、ステップS43では、データ保管場所情報に基づいて、ネットワーク通信手段16を機能させることにより、取出対象ファイルF1を構成する個々の分割ファイルの読込み処理が実行され、所定のデータサーバに格納されていた個々の分割ファイル(必要に応じて、パリティファイル)が、分散型データアーカイブ装置1内に読み込まれる。更に、ステップS47では、復号化・統合手段14を機能させることにより、読込まれた個々の分割ファイルに対する復号化および統合処理がデータ保管手順情報に基づいて実行され、もとのファイルF1が復元される。もちろん、保管時に冗長格納処理が実行されていた場合には、特定のデータサーバに支障が生じていても、所定の復元手続きを行うことによりファイルの復元が可能になる。また、データの保管時に、ダミーデータを付加していた場合には、ステップS47の処理を行う段階で、これを除去する。
最後に、こうして復元された取出対象ファイルF1を、利用者が指定した所定の記録場所(分散型データアーカイブ装置1として機能しているソフトウエアの管理外の指定場所)に保存する処理が行われる。このようにして、保管されていたデータは、再び利用者の手元に復元されることになる。上述した一連のデータ復元処理に必要な情報は、アーカイブカード10内に管理データとして記録されており、分散型データアーカイブ装置1が、この管理データに基づいて自動的に復元処理を行うため、利用者は、対象となるデータファイルが複数の分割ファイルとして保管されていたことすら意識する必要は無い。
なお、ステップS7のイベントとして、利用者がメニューから終了を選択した場合は、ステップS53へと進み、これまでに復元したファイルが分散型データアーカイブ装置1内(分散型データアーカイブ装置1として機能しているソフトウエアの管理下の場所)に残っていた場合には、これを消去する処理を行った上で、分散型データアーカイブ装置1としての動作を終了する(分散型データアーカイブ装置1として機能しているソフトウエアの実行を終了する)。また、ステップS7のイベントとして、利用者がアーカイブカード10を読取・書込手段11から排出する指示を与えた場合は、ステップS3においてカードが排出された後、ステップS1に戻り、次のカードの挿入待ちの状態となる。
以上説明したとおり、本発明によれば、貴重なデジタルデータを分割し、複数のデータサーバに保管するので、保管したデータを1個所のサーバから盗んでも元のデータに復元できないので安全である。データの保管処理や、データの取出処理を行うには、アーカイブカード10が必要になり、このアーカイブカード10としては、不正なデータ改竄が極めて困難なICカードを用いることができるので、ICカードを盗まれない限り、保管したデータを盗まれる心配はない。また、保管対象データは必要に応じて暗号化して保管できるので、インターネット上のデータサーバからデータを取り出す時に万一盗聴されても、大きな問題は生じない。しかも、保管先のデータサーバは、インターネットの標準プロトコルであるFTPで接続できれば十分であり、他には特別な仕掛けは一切不要なので、保管先をかなり自由に選択できる。アーカイブカード10を携帯していれば、ネットワークに接続された任意の分散データアーカイブ装置から、保管データにアクセスが可能であり、たいへん便利である。もちろん、ネットワークを介してデータサーバとの間でファイルを転送するプロトコルは、FTPに限定されるわけではなく、この他にも種々のプロトコルを利用することが可能である。
<<< §3.種々の変形例および応用例 >>>
続いて、本発明の変形例および応用例を述べる。まず、図1に示す実施形態では、分散型データアーカイブ装置1と、データサーバ2(2a,2b,2c)とを全く別の機能をもった装置として説明したが、いずれも「所定のソフトウエアを組み込んだコンピュータ」という点では同じであり、実際には、全く同一のハードウエア構成をもったコンピュータを、一方では分散型データアーカイブ装置1として用い、他方ではデータサーバ2として用いる、というような利用形態も可能である。ハードウエア的には同一のコンピュータであっても、組み込むべきソフトウエアによって、分散型データアーカイブ装置1として用いることもできるし、データサーバ2として用いることもできる。もちろん、両方のソフトウエアを組み込んだコンピュータであれば、あるときには分散型データアーカイブ装置1として機能させ、別なときにはデータサーバ2として機能させる、という使い分けも可能である。
たとえば、3つの支社X,Y,Zにそれぞれコンピュータが設置されており、これらのコンピュータが互いにネットワークで接続されていた場合に、これら各コンピュータのそれぞれに、分散型データアーカイブ装置1として機能させるためのソフトウエアと、データサーバ2として機能させるためのソフトウエアと、を組み込んでおけば、1つの支社のデータを2つに分割し(たとえば、奇数番目のバイトからなる第1の分割ファイルと、偶数番目のバイトからなる第2の分割ファイルと、を作成すればよい)、他の2社のコンピュータに保管してバックアップする、というような利用形態も可能である。具体的には、支社Xのデータのバックアップを、支社Yおよび支社Zのコンピュータに保管する際には、支社Xのコンピュータをデータアーカイブ装置1として機能させ、支社Yおよび支社Zのコンピュータをデータサーバ2として機能させればよい。同様に、支社Yのデータのバックアップを、支社Xおよび支社Zのコンピュータに保管する際には、支社Yのコンピュータをデータアーカイブ装置1として機能させ、支社Xおよび支社Zのコンピュータをデータサーバ2として機能させればよいし、支社Zのデータのバックアップを、支社Xおよび支社Yのコンピュータに保管する際には、支社Zのコンピュータをデータアーカイブ装置1として機能させ、支社Xおよび支社Yのコンピュータをデータサーバ2として機能させればよい。このように、本発明における「データアーカイブ装置1」あるいは「データサーバ2」なる構成要素の名称は、ある1つのファイルを保管したり、取出したりする作業を行うときの役割を示しているにすぎず、実際には、ネットワーク上に接続されている個々のコンピュータを、「データアーカイブ装置1」として機能させることもできるし、「データサーバ2」として機能させることもできる。
また、上述の実施形態では、図2に示すような管理データを、アーカイブカード10(携帯可能記録媒体)に直接記録するようにしているが、管理データは、必ずしもアーカイブカード10に直接記録する必要はない。たとえば、図1に示すブロック図におけるデータサーバ2a内に、図2に示す管理フォルダ全体を置くようにし、アーカイブカード10には、この管理フォルダをアクセスするために必要な情報(たとえば、データサーバ2aのURLを示す情報や管理データが格納されたアドレスを示す情報とか、管理フォルダをアクセスするために必要なパスワードの情報など)を記録しておくような方式を採ることも可能である。このような方式を採る場合、データの保管処理を行う際には、データ管理手段15は、作成した管理データをアーカイブカード10内に直接記録する代わりに、データサーバ2a内の所定アドレス場所に書込む処理を行い、アーカイブカード10内には、「データサーバ2a内に書込まれた管理データをアクセスするために必要な情報」を記録する処理を行うようにすればよい。また、データの取出処理を行う際には、データ管理手段15は、必要な管理データをアーカイブカード10から直接読み込む代わりに、まず、アーカイブカード10に記録されている「データサーバ2a内に書込まれた管理データをアクセスするために必要な情報」を読み出し、この情報を利用して、データサーバ2aから管理データを読み出す処理を行うようにすればよい。この方式は、いわば、管理データをアーカイブカード10に間接的に記録する方式ということができる。
このように、管理データをアーカイブカード10に間接的に記録する方式を採ると、次のような2つのメリットが得られる。第1のメリットは、アーカイブカード10(携帯可能記録媒体)の記録容量の制限を緩和することができるというメリットである。図2に示す例のように、各ファイルの管理データは、データ保管手順情報とデータ保管場所情報とによって構成されており、全体としてある程度のデータ量を有している。一方、アーカイブカード10は、カード状の電子情報記録媒体であるため、その記録容量は比較的少ない。したがって、多数のファイルについての管理データを、アーカイブカード10内に直接記録することは、限られた記録容量を浪費する点で好ましくない。管理データをアーカイブカード10に間接的に記録する方式を採れば、管理データは実際にはアーカイブカード10以外の記録場所に格納されることになり、アーカイブカード10内には、この管理データをアクセスするために必要な情報だけを記録しておけばよいので、限られた記録容量を有効利用することができる。
管理データをアーカイブカード10に間接的に記録する方式のもうひとつのメリットは、保管されているデータを、複数の利用者によって共用させるような運用形態が可能になる点である。たとえば、同一グループに所属する数名の利用者に対して、同種のアーカイブカード10を配付しておき、この同種のアーカイブカード10内には、特定の記録場所に格納されている同一の管理データをアクセスするために必要な情報を記録しておくようにする。そうすれば、この同種のアーカイブカード10を所持している利用者なら誰でも、同一の管理データにアクセスすることが可能になり、この同一の管理データに基づいて、保管されている同一のデータを取出すことができる。
また、本発明に係るデータアーカイブシステムでは、保管対象データに期間に関する制限を示す期間制限情報を付加した上で、これをデータサーバに分散して保管させるようにし、取出処理を行う際には、この期間制限情報に基づく制限を課することも可能である。具体的には、たとえば、図4に示す例のように、各分割ファイルF11,F12,F13のそれぞれに、所定のフォーマットで期間制限情報を付加して、各データサーバに保管する処理を行えばよい。たとえば、「2001年6月末日まで取出禁止」というような期間制限情報が付加されている分割ファイルに対しては、利用者から取出指示があったとしても、その指示が取出禁止期間中に与えられた場合であれば、取出しが制限されるような運用を行うことが可能である。このような期間制限に関するチェックは、各データサーバ2側で行うことも可能であるし、分散型データアーカイブ装置1側で行うことも可能であり、アーカイブカード10内で行うことも可能である。また、期間制限情報としては、「2001年7月以降は取出禁止」というような制限を設定することも可能であるし、「2001年7月〜9月までの期間は取出禁止」というような制限を設定することも可能である。あるいは、「2001年7月1日になったら、本データを削除せよ」というような能動的な指示を設定し、データサーバ側で期限がきたら自動的に削除させるような運用も可能である。
また、本発明に係るデータアーカイブシステムでは、各データサーバに分散して保管される個々の分割ファイルに、本来の保管先とは異なる退避先を示す退避先情報を付加するとともに、この退避先情報を管理データの一部として記録しておくようにし、本来の保管先となるデータサーバに何らかの支障が生じた場合には、保管されているデータを、退避先として指定された別なデータサーバに退避させる処理を行うことも可能である。
たとえば、保管対象ファイルF1が、3つの分割ファイルF11,F12,F13に分割され、これら各分割ファイルが、それぞれデータサーバ2a,2b,2cに保管されることになったとしよう。この場合、各分割ファイルF11,F12,F13の本来の保管先は、それぞれデータサーバ2a,2b,2cということになり、実際、各分割ファイルF11,F12,F13は、FTPによってそれぞれデータサーバ2a,2b,2cへと転送され、書込まれることになる。退避先情報は、この転送時に各分割ファイルF11,F12,F13に付加されることになる。たとえば、分割ファイルF11およびF12についての退避先を第4のデータサーバ2dとし、分割ファイルF13についての退避先を第5のデータサーバ2eとするのであれば、図5に示す例のように、各分割ファイルF11,F12,F13には、それぞれURL(2d),URL(2d),URL(2e)なる退避先情報を付加するようにすればよい(ここで、URL(xx)は、データサーバxxのURLを示す情報を示している。)。
一方、保管対象ファイルF1の管理データにも、各分割ファイルに付加した退避先情報を付加しておくようにする。具体的には、図6に示すようなデータ保管場所情報(データサーバのURLリスト)を作成し、これをアーカイブカード10などに管理データとして記録するようにする。この図6に示す例では、各分割ファイルF11,F12,F13の本来の保管先を示す情報は、それぞれURL(2a),URL(2b),URL(2c)となっており、通常の処理手順によれば、各分割ファイルF11,F12,F13は、それぞれデータサーバ2a,2b,2cに保管されることになる。ただし、各分割ファイルF11,F12,F13の退避先として、URL(2d),URL(2d),URL(2e)なる情報が記録されており、退避先となるデータサーバが、それぞれデータサーバ2d,2d,2eであることが示されている。
ここで、第1のデータサーバ2aをこのまま運用することに何らかの支障が生じた場合を考えよう。たとえば、データサーバ2aの情報容量がほぼ満杯になり、現在蓄積されているデータの一部を他のデータサーバに移さなければ、重大なトラブルの発生が懸念されるとか、あるいは、データサーバ2aを構成するハードディスクの保守点検を行うために、現在蓄積されているデータを一時的に他のデータサーバに移す必要がある、というような事情が生じたものとしよう。このような場合、第1のデータサーバ2aに保管されている分割ファイルF11には、図5に示すように、URL(2d)なる退避先情報が付加されているので、第1のデータサーバ2aは、この退避先情報にしたがって、分割ファイルF11を退避先となる第4のデータサーバ2dへと転送する処理を行うことができる。
このような退避のための転送処理が行われた後に、ファイルF1に対する取出処理が実行されると、分散型データアーカイブ装置1は、図6に示すデータ保管場所情報の保管先の欄に記載されている本来のデータサーバから、必要な分割ファイルF11,F12,F13を読み出す処理を試みる。すると、データサーバ2bからは分割ファイルF12が読み出され、データサーバ2cからは分割ファイルF13が読み出されるが、データサーバ2aから分割ファイルF11を読み出す試みは失敗に終わる。このように、本来の保管先からの読み出しが失敗した場合には、退避先からの読み出しが試みられる。この例の場合、分割ファイルF11に関しては、図6に示すデータ保管場所情報の退避先の欄に記載されているデータサーバ2dから、分割ファイルF11を読み出す処理が試みられることになる。かくして、別なデータサーバへの退避が行われたにもかかわらず、分割ファイルF11は正常に読み出されることになる。
もちろん、退避させるべき原因がなくなったら、分割ファイルF11を元通り本来の保管先であるデータサーバ2aへ戻す処理を行えばよい。このように、退避先情報を付加しておくようにすれば、万一、データを別なデータサーバへ退避させねばならない事情が生じたとしても、データの取出処理は支障なく実行されることになる。
なお、退避先となるデータサーバは、データファイルを保管する処理を行うときに、利用者自身が指定することもできるが、実用上は、分散型データアーカイブ装置1によって自動的に退避先を決定する処理が行われるようにするのが好ましい。あるいは、データサーバ側から、分散型データアーカイブ装置1に対して、退避先とすべき別なデータサーバを指定する処理を行ってもよい。
本発明に係るデータアーカイブ装置およびデータアーカイブシステムは、任意のデジタルデータの保管に広く利用することができ、特に、インターネットなどの広域ネットワークを利用して、貴重なデジタルデータをバックアップする用途に最適である。