(57)【要約】　【課題】　サーバシステムを用いずに、多くのユーザに対するデータの公開や、データの信頼性の向上を実現できるようにする。　【解決手段】　ＰＣ１１上にあるデータ「データＡＬＬ」が３つのデータ「データ１／３」、「データ２／３」、「データ３／３」に分割される。ＰＣ１１からネットワークに接続されるＰＣに対して無作為に接続が試みられ、対応するシステムが稼働しているＰＣに対して、分割データが夫々送信される。分割データの送信先の例えばＰＣ２１では、送信されたデータを同様にして更に他のＰＣ、例えばＰＣ２２にコピーする。オリジナルデータが分割されてネットワーク上の他のＰＣに送信され、送信された分割データがコピーされて更に他のＰＣに送信される。したがって、ネットワーク上にオリジナルデータが分散化されると共に多重化されて保持され、データの信頼性やアクセスレスポンスの向上が期待できる。【選択図】　図１
2004046874.tif 000002
【特許請求の範囲】
【請求項１】
　ネットワークに対してデータを送信するデータ送信装置において、
　オリジナルデータを分割するデータ分割手段と、
　上記データ分割手段で上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータを示す情報と該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加手段と、
　ネットワークに接続された情報機器に対して上記属性情報付加手段で上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信手段と
を有することを特徴とするデータ送信装置。
【請求項２】
　請求項１に記載のデータ送信装置において、
　データを記憶する記憶手段をさらに有し、
　上記データ分割手段による上記オリジナルデータの分割と、上記属性情報付加手段による上記分割データそれぞれに対する属性情報の付加と、上記データ送信手段により上記分割データの送信とは、上記記憶手段の所定の領域に記憶された上記オリジナルデータに対して自動的に行われるようにしたことを特徴とするデータ送信装置。
【請求項３】
　請求項１に記載のデータ送信装置において、
　上記オリジナルデータを示す情報は、少なくとも、上記オリジナルデータの名称、データサイズおよび登録日時からなることを特徴とするデータ送信装置。
【請求項４】
　請求項１に記載のデータ送信装置において、
　上記分割データのオリジナルデータとの関係を示す情報は、少なくとも、該オリジナルデータから分割された分割データの個数と、上記属性情報が付加される上記分割データの上記オリジナルデータ上での位置とからなることを特徴とするデータ送信装置。
【請求項５】
　請求項１に記載のデータ送信装置において、
　上記データ送信手段は、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する所定の処理を可能か否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記所定の処理を可能であれば該情報機器に対して上記分割データの送信を行うようにしたことを特徴とするデータ送信装置。
【請求項６】
　請求項１に記載のデータ送信装置において、
　上記データ送信手段で送信された上記分割データを示す情報と、上記データ送信手段で送信された上記分割データの送信先を示す情報との対応関係を示すテーブルをさらに有することを特徴とするデータ送信装置。
【請求項７】
　請求項１に記載のデータ送信装置において、
　上記データ分割手段は、上記オリジナルデータが分割された上記分割データのそれぞれから該オリジナルデータの内容が識別できないように、上記オリジナルデータを上記分割するようにしたことを特徴とするデータ送信装置。
【請求項８】
　ネットワークに対してデータを送信するデータ送信方法において、
　オリジナルデータを分割するデータ分割のステップと、
　上記データ分割のステップで上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータを示す情報と該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加のステップと、
　ネットワークに接続された情報機器に対して上記属性情報付加のステップで上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信のステップと
を有することを特徴とするデータ送信方法。
【請求項９】
　ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信装置において、
　ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信手段と、
　上記データ受信手段で受信された上記分割データを保持する記憶手段と、
　上記データ受信手段で受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信手段と
を有することを特徴とするデータ受信装置。
【請求項１０】
　請求項９に記載のデータ受信装置において、
　上記データ送信手段による上記複製分割データの送信は、上記分割データに付加されて供給される、上記分割データの複製回数を指示する複製許可情報に基づき行われるようにしたことを特徴とするデータ受信装置。
【請求項１１】
　請求項９に記載のデータ受信装置において、
　上記受信手段による上記分割データの受信と、上記データ送信手段による上記複製分割データの送信とは、自動的に行われることを特徴とするデータ受信装置。
【請求項１２】
　請求項９に記載のデータ受信装置において、
　上記受信手段で受信された上記分割データをさらに分割するデータ分割手段をさらに有し、上記データ分割手段で分割されたデータそれぞれを上記データ送信手段でネットワークに接続された情報機器に送信するようにしたことを特徴とするデータ受信装置。
【請求項１３】
　請求項９に記載のデータ受信装置において、
　上記データ送信手段は、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する所定の処理を可能か否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記所定の処理を可能であれば該情報機器に対して上記複製分割データの送信を行うようにしたことを特徴とするデータ受信装置。
【請求項１４】
　請求項９に記載のデータ受信装置において、
　上記ネットワークとの通信が切断されるときに、上記記憶手段に保持されている上記分割データを、上記ネットワークに接続される上記情報機器に送信するようにしたことを特徴とするデータ受信装置。
【請求項１５】
　請求項９に記載のデータ受信装置において、
　上記データ送信手段で送信された上記複製分割データを示す情報と、上記データ送信手段で送信された上記複製分割データの送信先を示す情報との対応関係を示すテーブルをさらに有することを特徴とするデータ受信装置。
【請求項１６】
　請求項９に記載のデータ受信装置において、
　上記分割データは、該分割データのそれぞれから該分割データの分割元のオリジナルデータの内容が識別できないように分割されていることを特徴とするデータ受信装置。
【請求項１７】
　ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信方法において、
　ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信のステップと、
　上記データ受信のステップで受信された上記分割データを記憶手段に保持するステップと、
　上記データ受信のステップで受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信のステップと
を有することを特徴とするデータ受信方法。
【請求項１８】
　データをネットワーク上に分散して保持するデータ分散システムにおいて、
　オリジナルデータを分割し、該オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしたことを特徴とするデータ分散システム。
【請求項１９】
　請求項１８に記載のデータ分散システムにおいて、
　上記分割データのそれぞれに対し、少なくとも上記オリジナルデータを示す情報と該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加するようにしたことを特徴とするデータ分散システム。
【請求項２０】
　請求項１９に記載のデータ分散システムにおいて、
　上記オリジナルデータを示す情報は、少なくとも、上記オリジナルデータの名称、データサイズおよび登録日時からなることを特徴とするデータ分散システム。
【請求項２１】
　請求項１９に記載のデータ分散システムにおいて、
　上記分割データのオリジナルデータとの関係を示す情報は、少なくとも、該オリジナルデータから分割された分割データの個数と、上記属性情報が付加される上記分割データの上記オリジナルデータ上での位置とからなることを特徴とするデータ分散システム。
【請求項２２】
　請求項１８に記載のデータ分散システムにおいて、
　上記ネットワークに接続されている上記情報機器を無作為に指定し、指定された上記情報機器のうち上記分散データに対する所定の処理が可能であるとされた上記情報機器に対して上記分割データを分散させるようにしたことを特徴とするデータ分散システム。
【請求項２３】
　請求項１８に記載のデータ分散システムにおいて、
　分散された上記分割データを示す情報と、上記分散された分割データの分散先を示す情報との対応関係を示すテーブルをさらに有することを特徴とするデータ分散システム。
【請求項２４】
　請求項１８に記載のデータ分散システムにおいて、
　上記情報機器に保持された上記分割データは、複製されてさらに他の情報機器に保持されるようにしたことを特徴とするデータ分散システム。
【請求項２５】
　請求項１８に記載のデータ分散システムにおいて、
　上記情報機器に保持された上記分割データは、さらに分割されて複数の他の情報機器に分散されて保持されるようにしたことを特徴とするデータ分散システム。
【請求項２６】
　請求項１８に記載のデータ分散システムにおいて、
　上記情報機器は、上記ネットワークから切断されるときに、上記保持された上記分割データを上記ネットワークに接続された他の情報機器に保持させるようにしたことを特徴とするデータ分散システム。
【請求項２７】
　請求項１８に記載のデータ分散システムにおいて、
　上記分割データは、該分割データのそれぞれから該分割データの分割元のオリジナルデータの内容が識別できないように分割されていることを特徴とするデータ分散システム。
【請求項２８】
　データをネットワーク上に分散して保持するデータ分散方法において、
　オリジナルデータを分割し、該オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしたことを特徴とするデータ分散方法。
【請求項２９】
　請求項２８に記載のデータ分散方法において、
　上記分割データが鍵情報を使用して暗号化され、
　上記分割データが保持される複数の情報機器と異なる情報機器に上記鍵情報を保持するようにしたことを特徴とするデータ分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　この発明は、データを分割し、分割されたデータを互いにネットワークで接続されたコンピュータ装置群に分散させて保持するようにしたデータ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法に関する。
【背景技術】
【０００２】
　近年では、ネットワーク環境が全世界的に普及し、ネットワーク上の随所にサーバシステムが設けられている。サーバシステムにより、ネットワーク上で発生する様々な仕事を集中的に処理することにより、ネットワークの効率的な運用が可能とされる。また、多くのユーザに公開や共有させたいデータや、失うと影響の大きい重要なデータは、サーバの二重化技術であるクラスタリングなどの技術を用いた、耐障害性を有するサーバシステムに保持させておくのが一般的であった。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
　しかしながら、このような耐障害性を有するサーバシステムは、一般的に、ＯＳ(Operating System)やハードウェアなどが非常に高価であると共に、管理が難しいという問題点があった。
【０００４】
　また、データを保持しておくためのディスクストレージも、障害に備えて、ディスクアレイ装置を用い冗長化を行うＲＡＩＤ(Redundant Array of Independent Disks)などの技術により多重化させて稼働させる必要がある。そのため、ディスクストレージも、非常に高価になってしまうという問題点があった。
【０００５】
　一方、ネットワークに接続されサーバシステムからサービスを提供されるコンピュータ装置であるクライアントは、ネットワークを介してサーバに接続することでサーバ上に保持されているデータを取得することができる。接続されたサーバを介して、同様にネットワークに接続されたさらに別のサーバからネットワークを介してデータを取得することもできる。
【０００６】
　サーバシステムへのアクセス数が増加してきた場合、ネットワークの負荷の増大、サーバシステムにおけるＣＰＵの処理やハードウェアのＩ／Ｏ転送速度の制限などにより、クライアントからのアクセスに対するレスポンスが悪くなるという問題点があった。
【０００７】
　この場合、サーバ増設によるデータの分散や、サーバの処理性能の向上といった、アクセス分散のための処置を行う必要がある。しかしながら、そのためには、非常に高額な投資を行わなければならないという問題点があった。
【０００８】
　したがって、この発明の目的は、サーバシステムを用いずに、多くのユーザに対するデータの公開や、データの信頼性の向上を実現できるようデータ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法を提供することにある。
【課題を解決するための手段】
【０００９】
　この発明は、上述した課題を解決するために、ネットワークに対してデータを送信するデータ送信装置において、オリジナルデータを分割するデータ分割手段と、データ分割手段でオリジナルデータが分割された分割データのそれぞれに対し、少なくともオリジナルデータを示す情報と分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加手段と、ネットワークに接続された情報機器に対して属性情報付加手段で属性情報を付加された分割データをそれぞれ送信するデータ送信手段とを有することを特徴とするデータ送信装置である。
【００１０】
　また、この発明は、ネットワークに対してデータを送信するデータ送信方法において、オリジナルデータを分割するデータ分割のステップと、データ分割のステップでオリジナルデータが分割された分割データのそれぞれに対し、少なくともオリジナルデータを示す情報と分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加のステップと、ネットワークに接続された情報機器に対して属性情報付加のステップで属性情報を付加された分割データをそれぞれ送信するデータ送信のステップとを有することを特徴とするデータ送信方法である。
【００１１】
　また、この発明は、ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信装置において、ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信手段と、データ受信手段で受信された分割データを保持する記憶手段と、データ受信手段で受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信手段とを有することを特徴とするデータ受信装置である。
【００１２】
　また、この発明は、ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信方法において、ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信のステップと、データ受信のステップで受信された分割データを記憶手段に保持するステップと、データ受信のステップで受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信のステップとを有することを特徴とするデータ受信方法。
【００１３】
　また、この発明は、データをネットワーク上に分散して保持するデータ分散システムにおいて、オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしたことを特徴とするデータ分散システムである。
【００１４】
　また、この発明は、データをネットワーク上に分散して保持するデータ分散方法において、オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしたことを特徴とするデータ分散方法である。
【００１５】
　上述したように、請求項１および７に記載の発明は、オリジナルデータを分割し、分割された分割データのそれぞれに対し、少なくともオリジナルデータを示す情報と分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加し、ネットワークに接続された情報機器に対して属性情報付加手段で属性情報を付加された分割データをそれぞれ送信するようにしているため、オリジナルデータがネットワーク上の情報機器に分散される。
【００１６】
　また、請求項８および１６に記載の発明は、ネットワークを介して送信された、オリジナルデータが分割された分割データを受信して保持すると共に、受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するようにしているため、オリジナルデータがネットワーク上に分散されて保持される。
【００１７】
　また、請求項１７および２６に記載の発明は、オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしているため、オリジナルデータがネットワーク上の情報機器に分散されて保持される。
【発明の効果】
【００１８】
　この発明は、オリジナルデータを分割して複数のコンピュータ装置に分散して保持させると共に、分割されたデータのそれぞれについて複数のコピーを作成し、コピーされた分割データをさらに複数のコンピュータ装置に分散して保持するようにしている。そのため、ディスクアレイなどの大容量のストレージシステムやサーバシステムが不要になる効果がある。
【００１９】
　また、データが分散されて保持されるため、データの信頼性の向上が期待でき、クラスタリングやＲＡＩＤなどの耐障害性を備えたストレージシステムやサーバシステムが不要になるという効果がある。分散データが暗号化されている場合では、暗号化のための鍵情報の保管場所を分割データの保管場所と異ならせることによって、守秘性を高めることができる。
【００２０】
　また、同一の分割データが複数のコンピュータ装置に分散されて保持されているため、複数の経路により同一のデータを取得することができる。そのため、ある経路の通信状態が悪くても、他の経路や他のコンピュータ装置と通信を行って同一のデータを得ることができ、あるデータが要求された場合に、一つのサーバシステムなどにアクセスが集中するようなことが無くなり、アクセスレスポンスが高まるという効果がある。
【発明を実施するための最良の形態】
【００２１】
　以下、この発明の実施の一形態について説明する。この発明は、オリジナルのデータを分割し、分割されたデータを、ネットワークにより互いに接続された複数のコンピュータ装置に分散して持たせるようにしている。これにより、大規模なディスクストレージやサーバシステムが不要となると共に、アクセスレスポンスの軽減も図ることができる。
【００２２】
　図１を用いて、この発明の実施の一形態による分散システムを概略的に説明する。コンピュータ装置ＰＣ１１、ＰＣ１２およびＰＣ１３が通信ネットワーク１０により接続され、これらコンピュータ装置ＰＣ１１、ＰＣ１２およびＰＣ１３の間で互いにデータのやりとりが可能なようにされている。ネットワーク１０では、例えばＴＣＰ／ＩＰ(Transmission Control Protocol/Internet Protocol) を通信プロトコルとして用いて、通信が行われる。
【００２３】
　ネットワーク２０、３０、４０、５０および６０についても、上述のネットワーク１０と同様の構成を有する。すなわち、コンピュータ装置ＰＣ２１〜２４がネットワーク２０により、コンピュータ装置ＰＣ３１〜３４がネットワーク３０により、コンピュータ装置ＰＣ４１〜４４がネットワーク４０により、コンピュータ装置ＰＣ５１〜５４がネットワーク５０により、また、コンピュータ装置ＰＣ６１〜６４がネットワーク６０により、それぞれ接続され、それぞれのネットワークにおいて、互いに通信可能なようにされている。
【００２４】
　さらに、ネットワーク１０、２０、３０、４０、５０および６０は、ネットワーク７０によりそれぞれ接続され、互いに通信可能とされている。したがって、ネットワーク７０を介することで、各ネットワーク１０、２０、３０、４０、５０および６０に接続されたコンピュータ装置ＰＣ１１〜ＰＣ１３、ＰＣ２１〜ＰＣ２４、ＰＣ３１〜ＰＣ３４、・・・は、ネットワーク７０全体としてそれぞれが互いに通信可能とされる。以下では、これらコンピュータ装置ＰＣ１１〜ＰＣ１３、ＰＣ２１〜ＰＣ２４、ＰＣ３１〜ＰＣ３４、・・・がネットワーク７０に直接的に接続されているものと見なして記述する。
【００２５】
　この例では、ネットワーク７０も、通信プロトコルとしてＴＣＰ／ＩＰが用いられる。ネットワーク７０を介して互いに通信可能とされたコンピュータ装置ＰＣ１１、ＰＣ１２、ＰＣ１３、ＰＣ２１、・・・は、それぞれユニークなＩＰアドレスを有する。
【００２６】
　なお、ネットワーク１０、２０、３０、・・・、７０は、高速な通信が可能であって、これらネットワーク１０、２０、３０、・・・、７０に接続されるコンピュータ装置ＰＣ１１、ＰＣ１２、ＰＣ１３、ＰＣ２１、・・・は、ネットワーク１０、２０、３０、・・・、７０を介して常時、通信が可能とされていることが望ましい。
【００２７】
　コンピュータ装置ＰＣ１１、ＰＣ１２、ＰＣ１３、ＰＣ２１、ＰＣ２２、・・・は、ＣＰＵ(Central Processing Unit) 、ＲＡＭ(Random Access Memory)やＲＯＭ(Read Only Memory)などのメモリ、ハードディスクドライブ（ＨＤＤ）といった記憶装置、ネットワークを介した通信を行うための通信手段などを有する、一般的な構成のパーソナルコンピュータを用いることができる。このようなコンピュータ装置の構成は、極めて周知であるため、詳細な説明を省略する。
【００２８】
　この発明の実施の一形態によるデータ分散システムを実現するためのデータ分散保持機能は、例えばコンピュータ装置におけるＯＳ(Operating System)の機能として提供される。これに限らず、このデータ分散保持機能は、各コンピュータ装置のＯＳ上で稼働するアプリケーションソフトウェアにより実現されるようにすることも可能である。さらに、このデータ分散保持機能を実現するためのアルゴリズムをハードウェア的に実現することも可能である。このようなＯＳやアプリケーションソフトウェアがコンピュータ装置ＰＣ１１、ＰＣ１２、ＰＣ１３、ＰＣ２１、・・・にそれぞれ搭載される。
【００２９】
　なお、コンピュータ装置ＰＣ１１、ＰＣ１２、ＰＣ１３、ＰＣ２１、ＰＣ２２、・・・は、この例に限られず、例えばＣＰＵ、メモリ、通信手段およびＨＤＤを有する電子ゲーム機器を適用することもできる。勿論、ＣＰＵ、メモリ、通信手段および記憶手段（例えばＨＤＤ）を有する他の情報機器を用いてもよいし、これら各種の装置がネットワーク７０上で混在されてもよい。また、上述では、各ネットワーク１０、２０、３０、・・・、７０で用いられるプロトコルをＴＣＰ／ＩＰであるとしたが、これはこの例に限定されない。
【００３０】
　このような構成において、例えばネットワーク１０に接続されるコンピュータ装置ＰＣ１１のＨＤＤに記憶されるデータ「データＡＬＬ」を、ネットワーク７０を介して互いに接続される他のコンピュータ装置に対して公開することを考える。データ「データＡＬＬ」は、データサイズが１２０ＭＢ（メガバイト）であるものとする。
【００３１】
　データをネットワークを介して公開する場合、（１）ネットワーク７０を介して通信可能な全てのコンピュータ装置に対する無償での公開、（２）ネットワーク７０を介して通信可能な全てのコンピュータ装置に対する有償での公開、（３）非公開、すなわち、当該データが保持されるコンピュータ装置でしか当該データを使用できない、という三通りの選択肢が考えられる。以下では、（１）の、無償公開が選択された場合について、図２のフローチャートを参照しながら説明する。
【００３２】
　先ず、ユーザは、コンピュータ装置ＰＣ１１において、ネットワーク７０を介して公開させたいデータ「データＡＬＬ」を、コンピュータ装置ＰＣ１１自身のＨＤＤ上にデータを公開するために設けられた送信ディレクトリ（フォルダ）に格納する（ステップＳ１０）。以下、この送信ディレクトリを「データ公開ディレクトリ」と称する。ユーザが公開データをデータ公開ディレクトリに格納してから後の、この発明の実施の一形態によるデータの分散保持処理は、コンピュータ装置ＰＣ１１において例えばＯＳ(Operating System)のバックグラウンド処理により行われる。処理がＯＳによるバックグラウンド処理として行われるため、ユーザが意識する必要が無い。
【００３３】
　次のステップＳ１１で、データ公開ディレクトリに格納されたデータ「データＡＬＬ」は、先ず、複数のデータに分割される。分割の個数は、ユーザの指定に基づき決めることができる。例えば、ユーザにより、コンピュータ装置ＰＣ１１に対してデータ「データＡＬＬ」を分割したい個数ｎが指定される。分割後のデータのサイズをそれぞれ指定するようにもできる。ここでは、データ「データＡＬＬ」がそれぞれ５０ＭＢ、５０ＭＢ、２０ＭＢのサイズを有する３個のデータに分割されるものとする。また、分割されたそれぞれのデータを、「データ１／３」、「データ２／３」および「データ３／３」とする。
【００３４】
　ユーザによる指定が行われない場合には、ＯＳにより自動的に分割個数などが決められる。このとき、ＯＳにより、分割対象のデータのデータサイズやコンピュータ装置ＰＣ１１が接続されているネットワークの負荷などが考慮されるようにすると、より好ましい。
【００３５】
　さらに、ステップＳ１１では、分割されたデータのそれぞれに対し、当該分割データの属性情報が所定のヘッダ情報として付加される。ヘッダ情報の項目は、例えば、（１）オリジナルファイルのファイル名、（２）オリジナルファイルのサイズ、（３）オリジナルファイルの作者、（４）オリジナルファイルの登録日時、（５）オリジナルファイルのＯＳ情報、（６）分割総数、（７）このデータのインデックスナンバ、（８）このデータのサイズ、（９）親子許可数、（１０）子データの分割許可、（１１）系統係数、（１２）公開区分、（１３）オリジナルデータのパスワード、などが考えられる。
【００３６】
　これらヘッダ情報の各項目について、データ「データＡＬＬ」が分割された最初のデータ「データ１／３」を例にとって説明する。（１）のオリジナルファイル名は、オリジナルファイルのファイル名、すなわち、当該データ「データ１／３」の分割元のデータであるデータ「データＡＬＬ」のファイル名が示される。この例では「データＡＬＬ」となる。（２）のオリジナルファイルのサイズは、オリジナルデータ「データＡＬＬ」のデータサイズがバイト数で示される。この例では、「１２０ＭＢ」である。（３）の作者は、オリジナルファイルの著作権者名であり、例えばＯＳのコンピュータ装置ＰＣ１１へのインストール時などに入力され登録された、ＯＳ内のデータから判断される。
【００３７】
　（４）の登録日時は、オリジナルファイルが公開処理された日時が示され、例えばデータ「データＡＬＬ」がディレクトリ「データ公開ディレクトリ」に格納された日時情報が示される。（５）のＯＳ情報は、例えば当該ファイルの公開処理を行ったＯＳ自身の基本情報や、時刻補正情報など、オリジナルファイルに関するその他の情報が格納される。
【００３８】
　（６）の分割総数は、オリジナルファイルが分割された個数ｎが示される。この例では「３」となる。（７）のインデックスナンバは、当該データがオリジナルファイルが分割されたデータのうち何番目のデータであるかが示される。この例では、「１」となる。（８）のデータサイズは、当該データのサイズが例えばバイト数で示される。この例では「５０ＭＢ」となる。
【００３９】
　後述するが、この実施の一形態による分散システムでは、分割されたデータがネットワークを介して他のコンピュータ装置にコピーされた後、当該分割データを、コピー先のコンピュータ装置においてさらに他のコンピュータ装置に対してコピーすることができる。このとき、分割されたデータを「親」とし、親データが他のコンピュータ装置にコピーされたデータを「子」とする。（９）の親子許可回数は、同一の分割データのコピーを何回まで許可するかが示される。この例では「２」とされ、１の親データに対して２の子データが作成可能とされる。子データは、さらに分割することができる。（１０）の子データの分割許可で、コピーされた子データをさらに分割して他のコンピュータ装置にコピー可能かどうかが示される。この例では「ＮＯ」とされ、子データをさらに分割する旨が禁止される。また、（１１）の系統係数で、当該データがオリジナルデータに比して何回目のデータであるかが示される。この例では、「０」となる。
【００４０】
　（１２）の公開区分は、当該データのオリジナルデータについて、上述した「無償公開」、「有償公開」および「非公開」の別が例えばフラグで示される。（１３）のパスワードは、例えば（１２）の公開区分が「有償公開」や「非公開」などの際に、オリジナルデータを復元するために用いられるパスワードを示す。このパスワード情報に基づき、当該データのオリジナルデータに対するユーザ（著作権者）を決定することができる。公開区分が「無償公開」であるこの例では、パスワードは指定されない。
【００４１】
　このようなヘッダ情報からなるヘッダが分割されたデータにそれぞれ付加される。このとき、ＯＳにより、ヘッダ情報の一部とデータ本体とに所定の方式で暗号化が施される。ヘッダ情報の全部を暗号化してもよい。
【００４２】
　なお、「公開区分」の値に応じて、ヘッダ情報およびデータの暗号化を異ならせることができる。例えば、「公開区分」が「無償公開」とされていれば、ＯＳにより自動的に復号が可能なデフォルトの暗号化を施し、「公開区分」が「有償公開」とされていれば、所定のパスワードを入力しないと復号できないような暗号化を施すようにできる。
【００４３】
　ステップＳ１１によりデータ分割およびヘッダ付加が行われると、処理は次のステップＳ１２に移行する。ステップＳ１２では、オリジナルデータが分割されたｎ個のデータのうち最初のデータの送信準備がなされる。すなわち、上述のヘッダ情報における（７）のインデックスナンバが「１」とされたデータ（この例ではデータ「データ１／３」の送信が準備される。このステップＳ１２以降の処理が分割データの実際の送信処理になる。
【００４４】
　先ず、ステップＳ１３で、コンピュータ装置ＰＣ１１により、無作為にＩＰアドレスが選択され、ネットワーク７０を介して通信可能に接続された他のコンピュータ装置に対してアクセスが試みられる。その結果、ＩＰアドレスに基づき接続された接続先のコンピュータにおいて当該機能に対応したポート番号（ＴＣＰポート番号）のポートにアクセス可能かどうかが調べられる。
【００４５】
　ステップＳ１３でのＩＰアドレスの選択は、無作為に限定されない。例えばコンピュータ装置ＰＣ１１が予め接続可能なコンピュータ装置を示すＩＰアドレスのリストを例えばＨＤＤ上のテーブルとして持つようにもできる。接続の際に、このテーブルが参照され、順次、接続が試みられる。この場合、リストには、ネットワーク７０を介して接続可能なコンピュータ装置全てのＩＰアドレスが掲載されている必要はない。
【００４６】
　ＩＰアドレスおよびＴＣＰポート番号による接続が確認されると、次のステップＳ１４で、接続先のコンピュータ装置のＯＳ上で、当該機能、すなわち、この実施の一形態による分散システムが稼働しているかどうかが調べられる。若し、接続先のコンピュータ装置ＰＣにおいて当該機能が稼働していないと判断されれば、処理はステップＳ１３に戻され、別のＩＰアドレスに対してアクセスが試みられる。
【００４７】
　一方、ステップＳ１４で、接続先のコンピュータ装置のＯＳ上で当該機能が稼働されていると判断されれば、処理はステップＳ１５に移行する。ここでは、コンピュータ装置ＰＣ２１が接続先のコンピュータ装置であるものとする。当該機能に対応しているコンピュータ装置では、送信されたデータを受信するためのディレクトリ（データ受入ディレクトリとする）がＨＤＤ上に予め設けられている。ステップＳ１５では、コンピュータ装置ＰＣ１１から接続先であるコンピュータ装置ＰＣ２１上のデータ受入ディレクトリに対して、１番目の分割データであるデータ「データ１／３」の送信が開始される。
【００４８】
　送信側のコンピュータ装置ＰＣ１１と受信側のコンピュータ装置ＰＣ２１との間で、例えばハンドシェイクによりデータの送信状態がやりとりされ、データ送信が完了できたかどうかが確認される（ステップＳ１６）。若し、データ送信中に何らかのエラーが起きてデータ送信が完了できなかった場合は、処理がステップＳ１３に戻される。
【００４９】
　ステップＳ１６で送信完了が確認された分割データは、受信側のコンピュータ装置ＰＣ２１において、ファイル名を所定に付されてデータ受入ディレクトリ上に保持される。データに付されたヘッダから送信データの内容が判別できるので、データ受入ディレクトリにおいて、受信されたデータのファイル名として任意のファイル名を用いることができる。
【００５０】
　ここで、全てのＯＳには、データ名とＩＰアドレスの相対表を用意しておくことが望ましい。データを送信した際には、その表に記述しておくことで、後述するデータの検索実行時に検索時間の短縮が可能となる。例えば、「データ１／３は、ＩＰアドレスｘｘ．ｘｘｘ．ｘｘｘ．ｘｘのコンピュータ装置ＰＣ２１上に存在する」といったデータを、送信側であるコンピュータ装置ＰＣ１１上のデータ名とＩＰアドレスの相対表に追記しておく。さらに、コンピュータ装置ＰＣ１１が他のコンピュータ装置と接続される毎に、接続先および接続元のコンピュータ装置の間でこのデータ名とＩＰアドレスの相対表を交換することにより、検索時間をより短縮することができる。
【００５１】
　ステップＳ１６で、データの送信が完了したと判断されたら、送信側のコンピュータ装置ＰＣ１１のデータ公開ディレクトリにおいて、分割されたデータのうち未送信のデータがまだ存在するかどうかが調べられる。若し、分割データが全て送信され、未送信のデータが存在しないと判断されれば、処理はステップＳ１９に移行し、一連の処理が終了される。このとき、送信側のコンピュータ装置ＰＣ１１のデータ公開ディレクトリに公開のため格納されたデータ「データＡＬＬ」は、削除可能である。
【００５２】
　一方、ステップＳ１６で未送信のデータが存在すると判断されれば、処理はステップＳ１８に移行し、次のデータの送信準備がなされる。そして、処理はステップＳ１３に戻され、再びデータを送信可能な他のコンピュータ装置がネットワーク７０に接続されたコンピュータ装置の中から探し出され、そのコンピュータ装置に対してデータが送信される。
【００５３】
　図１の例では、コンピュータ装置ＰＣ１１上のデータ「データＡＬＬ」が分割されたデータのうち、「データ１／３」が上述のようにしてコンピュータ装置ＰＣ２１に送信され、「データ２／３」がコンピュータ装置ＰＣ２３、「データ３／３」がコンピュータ装置ＰＣ４２に、それぞれ送信されている。なお、このように、分割されたデータのそれぞれが互いに異なるコンピュータ装置に送信されるように制御すると、好ましい。
【００５４】
　また、オリジナルデータの分割は、オリジナルデータが分割された分割データのそれぞれから分割元のオリジナルデータが識別できないような方法で行うと、分割データの送信先のコンピュータ装置に対してオリジナルデータの内容を隠蔽することができ、より好ましい。
【００５５】
　さらに、オリジナルデータが識別できないように分割データのそれぞれを構成することで、分割データのそれぞれに対する著作権による規制の適用を逃れられることも考えられる。すなわち、例えばオリジナルデータが著作権保護された動画データである場合、オリジナルデータを動画データの再生に対応する時間軸に沿って単純に分割して分割データを生成すると、分割データのそれぞれは動画として再生可能であるため、他のコンピュータ装置に送信した場合に、著作権法を侵害しているとみられるおそれがある。分割データ単体では、動画データとしての内容を認識できないようにしておけば、このような著作権法の適用を避けられることが考えられる。
【００５６】
　分割データのそれぞれからオリジナルデータが識別不能なようにするデータの分割方法は、様々に考えられる。例えば、オリジナルデータの全体を所定の暗号化方式により暗号化し、暗号化されたデータを分割して分割データを生成することが考えられる。これに限らず、オリジナルデータをビット順列で分けるように分割することもできる。例えば、オリジナルデータをバイト毎に、最上位ビット、最下位ビット、それらの間のビットなどと分けるように分割し、分割データを生成する。さらに、オリジナルデータから、任意の間隔による細かい単位でデータを抽出し、抽出された細かい単位のデータを所定の規則に基づき組み合わせて分割データを生成するようにしてもよい。勿論、これらの方法を組み合わせて分割データを生成することもできるし、さらに他の方法を用いることも可能である。
【００５７】
　次に、分割データが受信されたコンピュータ装置において、受信された分割データを他のコンピュータ装置にコピーする場合について、図３のフローチャートを参照しながら説明する。受信された分割データが他のコンピュータ装置にコピーされた場合、コピーされたデータは、親データであるオリジナルデータに対して子データとされる。
【００５８】
　なお、ここでは、上述した図２のフローチャートに従いコンピュータ装置ＰＣ１１から分割データ「データ１／３」が送信されたコンピュータ装置ＰＣ２１を例にとって説明する。また、以下に説明するコンピュータ装置ＰＣ２１上での処理は、コンピュータ装置ＰＣ２１のＯＳにより、バックグラウンドで自動的に実行される。
【００５９】
　ステップＳ２０でコンピュータ装置ＰＣ１１からデータ「データ１／３」が送信されると、送信先のコンピュータ装置ＰＣ２１において、ステップＳ２１で当該データ「データ１／３」が受信される。受信されたデータ「データ１／３」は、コンピュータ装置ＰＣ２１のＨＤＤ上に予め設けられたデータ受入ディレクトリに格納される（ステップＳ２１）。データの受信が完了すると、コンピュータ装置ＰＣ２１において、受信されたデータ「データ１／３」のヘッダからヘッダ情報が読み取られる。
【００６０】
　読み取られたヘッダ情報のうち、上述した（９）の親子許可回数に基づき、ステップＳ２２で、データのコピー回数が親子許可回数に示されている回数を超えているか否かが判断される。例えば、受信された分割データを他のコンピュータ装置にコピーする毎に、この親子許可回数を１だけ減じてヘッダを書き換えるようにすれば、親子許可回数が１以上で当該データを他のコンピュータ装置にコピーする必要があり、親子許可回数が０でコピーする必要が無いと判断できる。
【００６１】
　若し、データのコピー回数が親子許可回数に示されている回数を超えていると判断されれば、一連の処理が終了される。一方、コピー回数が親子許可回数に示されている回数を超えていない場合、処理はステップＳ２３に移行し、次のコピーが行われる。
【００６２】
　ステップＳ２３では、読み取られたヘッダ情報のうち、上述した（１０）の子データの分割許可に基づき、当該データをさらに分割してそれぞれ他のコンピュータにコピーするか否かが判断される。若し、子データ分割許可が当該データをさらに分割することを示す値とされていれば、処理はステップＳ２４に移行し、当該データが所定の分割個数にさらに分割される。このときの分割処理は、例えば、上述した図２のフローチャートにおけるステップＳ１１の処理と同様に、データの分割、分割されたそれぞれのデータに関するヘッダ情報の生成およびヘッダの付加などの処理が行われる。
【００６３】
　ステップＳ２３でデータが分割されると、処理はステップＳ２５に移行する。また、ステップＳ２３で、当該データの分割を行わないと判断された場合にも、処理はステップＳ２５に移行される。ステップＳ２５以下の処理で、上述した図２のフローチャートにおけるステップＳ１３〜Ｓ１８の処理と同様の処理により、データの他のコンピュータ装置への送信が行われる。
【００６４】
　すなわち、ステップＳ２５で、コンピュータ装置ＰＣ２１により無作為またはテーブルの参照によりＩＰアドレスが選択され、他のコンピュータ装置に対してアクセスが試みられると共に、接続先のコンピュータにおいて当該機能に対応したポート番号のポートにアクセス可能かどうかが調べられる。次のステップＳ２６で、接続先のコンピュータ装置のＯＳ上で、当該機能が稼働しているかどうかが調べられ、稼働していないと判断されれば、処理はステップＳ２５に戻され、別のＩＰアドレスに対してアクセスが試みられる。接続先のコンピュータ装置のＯＳ上で当該機能が稼働されていると判断されれば、処理はステップＳ２７に移行し、接続先のコンピュータ装置（コンピュータ装置ＰＣ２２とする）のデータ受入ディレクトリに対して、例えばデータ「データ１／３」の送信が開始される。
【００６５】
　送信側のコンピュータ装置ＰＣ２１と受信側のコンピュータ装置ＰＣ２２との間で、例えばハンドシェイクによりデータの送信状態がやりとりされ、データ送信が完了できたかどうかが確認される（ステップＳ２８）。若し、データ送信中に何らかのエラーが起きてデータ送信が完了できなかった場合は、処理がステップＳ２５に戻される。
【００６６】
　ステップＳ２８で送信完了が確認された分割データは、受信側のコンピュータ装置ＰＣ２２において、ファイル名を所定に付されてデータ受入ディレクトリ上に保持される。データに付されたヘッダから送信データの内容が判別できるので、データ受入ディレクトリにおいて、任意のファイル名を受信されたデータのファイル名として用いることができる。
【００６７】
　ステップＳ２８で、データの送信が完了したと判断されたら、送信側のコンピュータ装置ＰＣ２１のデータ公開ディレクトリに未送信のデータがまだ存在するかどうかが調べられる（ステップＳ２９）。例えば、上述のステップＳ２４でデータをさらに分割した場合、分割された残りのデータがまだ存在するかどうかが調べられる。若し、未送信のデータが存在しないと判断されれば、一連の処理が終了される。この場合、送信側のコンピュータ装置ＰＣ２１において送信に用いられたデータ「データ１／３」は、削除されない。
【００６８】
　一方、ステップＳ２９で未送信のデータが存在すると判断されれば、次のデータの送信準備がなされ、処理がステップＳ２５に戻されて、再びデータを送信可能な他のコンピュータ装置がネットワーク７０に接続されたコンピュータ装置の中から探し出され、そのコンピュータ装置に対して次のデータが送信される。
【００６９】
　このようにして、ネットワーク７０に接続されたコンピュータ装置に対して、それぞれの分割データが複数、保持される。図１の例では、コンピュータ装置ＰＣ２１に送信された「データ１／３」がコンピュータ装置ＰＣ２２にコピーされ、さらにＰＣ３１にコピーされる。コンピュータ装置ＰＣ２３に送信された「データ２／３」がコンピュータ装置ＰＣ２４にコピーされ、さらにＰＣ４３にコピーされる。コンピュータ装置ＰＣ４２に送信された「データ３／３」がコンピュータ装置ＰＣ５１にコピーされ、さらにＰＣ５３にコピーされる。
【００７０】
　なお、上述のステップＳ２３およびＳ２４において、ヘッダ中の子データ分割許可によりデータの分割が指示されている場合、上述のように、オリジナルデータが分割されたデータがさらに分割され、分割されたデータがさらに他のコンピュータ装置に送信およびコピーされ、データが増殖される。例えば、オリジナルデータが分割されたデータ「データ１／３」は、さらに、データ「データ１／３−１／３」、「データ１／３−２／３」、「データ１／３−３／３」のように分割されることが考えられる。分割されたデータは、それぞれ異なるコンピュータ装置に送信されコピーされる。
【００７１】
　このように、この発明の実施の一形態では、オリジナルデータを分割して複数のコンピュータ装置に分散して保持させると共に、分割されたデータのそれぞれについて複数のコピーを作成し、コピーされた分割データをさらに複数のコンピュータ装置に分散して保持するようにしている。そのため、ディスクアレイなどの大容量のストレージシステムやサーバシステムが不要である。また、データが分散されるので、システム障害などに対するデータの信頼性の向上が期待できる。
【００７２】
　また、同一の分割データが複数のコンピュータ装置に分散されて保持されているため、複数の経路により同一のデータを取得することができる。そのため、ある経路の通信状態が悪くても、他の経路や他のコンピュータ装置と通信を行って同一のデータを得ることができる。すなわち、あるデータが要求された場合に、一つのサーバ装置にアクセスが集中するようなことが無くなる。
【００７３】
　さらに、この実施の一形態による分散システムを構成するコンピュータ装置として、例えば電池電源により駆動可能なノート型パーソナルコンピュータが用いられている場合、そのノート型パーソナルコンピュータは、無停電装置付きのコンピュータ装置と考えることができる。そのため、この実施の一形態による分散システムを構成するコンピュータ装置としてノート型パーソナルコンピュータを多数、用いることで、停電などのアクシデントに強い分散システムを構築することができる。
【００７４】
　次に、この発明の実施の一形態による分散システムが稼働しているコンピュータ装置をネットワークから切断する場合について説明する。コンピュータ装置は、例えばシャットダウンされたときにネットワークから切断される。ネットワークから切断されたコンピュータ装置は、ネットワークに接続された他のコンピュータ装置から参照できなくなる。したがって、若し、当該コンピュータ装置に他のコンピュータ装置から送信された分割データが、さらに他のコンピュータ装置へのコピーが行われていないような状態で存在していると、当該分割データは、少なくとも当該コンピュータ装置が次にネットワークに接続されるまで取り出せないことになってしまう。このような事態を避けるために、この実施の一形態では、コンピュータ装置がネットワークから切断される際に、コンピュータ装置に保持されている分割データを他のコンピュータ装置に送信する。この送信処理は、ネットワーク切断時に自動的になされ、データの送信が完了した後に、コンピュータ装置がネットワークから切断される。
【００７５】
　図４は、この実施の一形態の分散システムによる、ネットワーク切断時のコンピュータ装置における一例の処理を示すフローチャートである。なお、コンピュータ装置の電源はＯＳにより制御され、ＯＳに対してシャットダウンを指示することによりシャットダウンが実行されるものとする。すなわち、例えばユーザによりコンピュータ装置に対してシャットダウンが指示されると、ＯＳにより、例えばネットワークからの切断といったシャットダウンに必要な一連の処理が自動的に行われ、最後にコンピュータ装置の電源がＯＳにより切断され、シャットダウンが完了される。
【００７６】
　例えばコンピュータ装置ＰＣ５３において、シャットダウンなどによりネットワークからの切断が指示されると（ステップＳ３０）、コンピュータ装置ＰＣ５３のＨＤＤ上に設けられたデータ受入ディレクトリに保持されている全てのデータの送信が準備される（ステップＳ３１）。なお、ここでは、コンピュータ装置ＰＣ５３のデータ受入ディレクトリに対して、「データ３／３」が保持されているものとする。
【００７７】
　以下、上述した図３のステップＳ２５以降の処理と同様にして、データ受入ディレクトリ上のデータの送信が開始される。ステップＳ３２で、コンピュータ装置ＰＣ５３により無作為またはテーブルの参照によりＩＰアドレスが選択され、他のコンピュータ装置に対してアクセスが試みられると共に、接続先のコンピュータにおいて当該機能に対応したポート番号のポートにアクセス可能かどうかが調べられる。次のステップＳ３３で、接続先のコンピュータ装置のＯＳ上で、当該機能が稼働しているかどうかが調べられ、稼働していないと判断されれば、処理はステップＳ３２に戻され、別のＩＰアドレスに対してアクセスが試みられる。
【００７８】
　ステップＳ３３で、接続先のコンピュータ装置のＯＳ上で当該機能が稼働されていると判断されれば、処理はステップＳ３４に移行し、接続先のコンピュータ装置（コンピュータ装置ＰＣ５４とする）のデータ受入ディレクトリに対して、コンピュータ装置ＰＣ５３のデータ受入ディレクトリに保持されているデータ「データ３／３」の送信が開始される。なお、このネットワーク切断時におけるデータ送信の際には、ヘッダ情報の親子許可数が書き換えられない。
【００７９】
　送信側のコンピュータ装置ＰＣ５３と受信側のコンピュータ装置ＰＣ５４との間で、例えばハンドシェイクによりデータの送信状態がやりとりされ、データ送信が完了できたかどうかが確認される（ステップＳ３５）。若し、データ送信中に何らかのエラーが起きてデータ送信が完了できなかった場合は、処理がステップＳ３２に戻される。
【００８０】
　ステップＳ３５で、データの送信が完了したと判断されたら、送信側のコンピュータ装置ＰＣ５３のデータ受入ディレクトリに未送信のデータがまだ存在するかどうかが調べられる（ステップＳ３６）。若し、未送信のデータが存在しないと判断されれば、一連のデータ送信処理が終了され、コンピュータ装置ＰＣ５３においてシャットダウンの他のプロセスが実行される。なお、データ送信処理が完了されたら、送信済みのデータは、コンピュータ装置ＰＣ５３のデータ受入ディレクトリから削除することができる。
【００８１】
　一方、ステップＳ３６で未送信のデータが存在すると判断されれば、次のデータの送信準備がなされ、処理がステップＳ３２に戻されて、再びデータを送信可能な他のコンピュータ装置がネットワーク７０に接続されたコンピュータ装置の中から探し出され、そのコンピュータ装置に対して次のデータが送信される。
【００８２】
　次に、上述のようにしてネットワーク７０上に公開されたデータを取得する方法について説明する。ここでは、コンピュータ装置ＰＣ６１からデータ「データＡＬＬ」を取得する場合について考える。例えば、ユーザにより、コンピュータ装置ＰＣ６１に対してデータ「データＡＬＬ」を取得するように指示されると、先ず、コンピュータ装置ＰＣ６１により、例えばネットワーク的に近距離にあるコンピュータ装置（この例ではコンピュータ装置ＰＣ５３）に対して、コンピュータ装置ＰＣ５３のデータ受入ディレクトリに当該データ「データＡＬＬ」が分割されたデータ（この例では、データ「データ１／３」、「データ２／３」または「データ３／３」）が存在するかどうかが調べられる。
【００８３】
　若し、コンピュータ装置ＰＣ５３上にデータ「データＡＬＬ」が分割されたデータが存在しないと判断されたら、コンピュータ装置ＰＣ６１により、ネットワーク７０に接続されている他のコンピュータ装置が順次アクセスされ、データ受入ディレクトリに当該データが存在するかどうかが調べられる。
【００８４】
　上述したように、データ「データＡＬＬ」が分割されたデータは、送信先のコンピュータ装置においてデータ受入ディレクトリに格納される際に、ファイル名が任意に設定される。そのため、ここでのデータの検索は、各データのヘッダ情報に含まれるオリジナルデータのファイル名が参照されて行われる。また、このように、ヘッダ情報のファイル名でデータを検索する場合、同一ファイル名を有する他のファイルが検索結果として得られてしまうことが有り得る。このような場合には、ヘッダ情報の他の項目、例えば「オリジナルファイルの作者」、「オリジナルファイルの登録日時」、「オリジナルファイルのＯＳ情報」なども、検索条件として用いることができる。
【００８５】
　なお、コンピュータ装置ＰＣ６１により、接続先のコンピュータ装置から上述したデータ名とＩＰアドレスの相対表を取得できると、当該データを持つコンピュータ装置をより速く検索することができ、好ましい。
【００８６】
　このようにして、データ「データＡＬＬ」が分割されたデータが保持されるコンピュータ装置（ここではコンピュータ装置ＰＣ５１とし、データ「データ３／３が検索されたとする）が見つかったら、コンピュータ装置ＰＣ６１とコンピュータ装置ＰＣ５１とが接続され、コンピュータ装置ＰＣ６１からコンピュータ装置ＰＣ５１に対して、当該データ「データ３／３」をコンピュータ装置ＰＣ６１に送信するように要求される。この要求を受けて、コンピュータ装置ＰＣ５１からコンピュータ装置ＰＣ６１に対して当該データ「データ３／３」が送信される。送信されたデータ「データ３／３」は、コンピュータ装置ＰＣ６１に受信され、所定のディレクトリに格納される。
【００８７】
　コンピュータ装置ＰＣ６１では、受信されたデータ「データ３／３」のヘッダ情報のうち、「分割総数」を調べる。これにより、データ「データ３／３」のオリジナルデータを復元するために残り何個のデータを取得する必要があるかを判断することができる。この判断結果に基づき、上述のような手順が繰り返されて、残りのデータが取得される。
【００８８】
　こうしてオリジナルデータを復元するための分割データが全て取得されると、データの復元および結合が可能な状態とされる。ここで、ヘッダ情報の「公開区分」に基づき当該分割データのオリジナルデータが無償公開可能に設定されていれば、分割データをそのまま復元および結合して、オリジナルデータであるデータ「データＡＬＬ」を得ることができる。
【００８９】
　例えば、無償公開とされた各分割データに上述したようなデフォルトの暗号化が施されていれば、コンピュータ装置ＰＣ６１において、ＯＳによって各分割データの暗号化が自動的に復号される。そして、各分割データのヘッダが取り除かれると共に、各分割データのインデックスナンバに基づき各分割データが順に結合される。
【００９０】
　各分割データに対して、ランダムに生成された鍵によって暗号化例えばＤＥＳ(Data Encryption Standard)を施すようにしても良い。この場合、鍵は、分割され、暗号化されたデータとは、別の場所、すなわち、別のコンピュータ装置に保存される。例えばデータ名とデータの保存先のＩＰアドレスと暗号化の鍵の保存先のＩＰアドレスとの相対表が作成され、鍵の保存先が分かるようになされる。このようにすれば、分割データを所持しているコンピュータ装置の単独では、分割データの内容を読み出すことが不可能となり、データの秘匿性を高めることができる。
【００９１】
　一方、「公開区分」が有償公開に設定されている場合には、所定の方法で課金を行った後、当該データの復元および結合を行うことができるようになる。課金の方法は、幾つか考えられる。
【００９２】
　一例として、パスワードを用いる方法が考えられる。この場合、分割データの復元および結合を行う際に、ＯＳによりパスワードの入力が促される。ユーザは、予め、当該分割データのオリジナルデータの著作権者が運営する、ネットワーク上のサイトでクレジットカードの番号入力を行い、パスワードを発行してもらう。このパスワードをＯＳに対して入力することで、分割データの復元および結合が行われるようにする。
【００９３】
　また、別の例として、データを復元するためのセットアッププログラムを用いる方法が考えられる。この場合、送信元のコンピュータ装置において、データ公開ディレクトリに格納されたオリジナルデータを分割して各コンピュータ装置に送信する際に、一旦、オリジナルデータをセットアッププログラム化し、このセットアッププログラムを分割する。オリジナルデータの復元の際には、先ず、分割データがＯＳにより自動的に復元および結合され、セットアッププログラムの復元がなされる。そして、このセットアッププログラムによりネットワーク上の所定のホストコンピュータにアクセスがなされ、当該ホストコンピュータにより課金処理が行われる。課金処理後、セットアッププログラムによるセットアップ処理がなされ、オリジナルデータが復元される。
【００９４】
　上述したように、「公開区分」により、データを非公開に設定することも可能である。この場合には、一例として、データの検索の際に、データ名と共に当該データの著作権者のみが知り得るパスワードを入力しないと、当該データが検索結果として得られないように、ＯＳ上で処理する方法が考えられる。
【００９５】
　例えば、データ公開ディレクトリに格納するデータの「公開区分」を「非公開」とする場合、パスワードも共に入力し、ヘッダ情報などに含めるようにする。また、データの検索時に、データ名と共に予めパスワードを入力するようにしておく。そして、データ名により検索されたデータのヘッダ情報の「公開区分」が「非公開」であるとき、ヘッダ情報に含まれるパスワードと、検索時に予め入力されたパスワードとが合致しないと、当該データが検索結果として得られないようにする。
【００９６】
　また、別の例として、データの検索および取得はできるが、当該データの復元および結合の際に、パスワードの入力を求める方法が考えられる。この場合も、上述と同様に、データ公開ディレクトリに格納するデータの「公開区分」を「非公開」とする場合、パスワードも共に入力し、ヘッダ情報などに含めるようにする。そして、検索の結果取得されたデータにおいて、ヘッダ情報の「公開区分」が「非公開」とされていれば、パスワードの入力を促すように、ＯＳ上で処理する。入力されたパスワードと、取得されたデータのヘッダ情報に含まれるパスワードとが合致しないと、当該データの復元および結合を行えないようにする。
【図面の簡単な説明】
【００９７】
【図１】この発明の実施の一形態による分散システムを概略的に示す略線図である。
【図２】この発明の実施の一形態によりデータをネットワークを介して公開する際の一例の処理を示すフローチャートである。
【図３】受信された分割データを他のコンピュータ装置にコピーする際の一例の処理を示すフローチャートである。
【図４】この実施の一形態の分散システムによる、ネットワーク切断時のコンピュータ装置における一例の処理を示すフローチャートである。
【符号の説明】
【００９８】
１０，２０，３０，４０，５０，６０，７０・・・ネットワーク、ＰＣ１１，ＰＣ１２，ＰＣ１３，ＰＣ２１，ＰＣ２２，ＰＣ２３，ＰＣ２４，ＰＣ３１，ＰＣ３２，ＰＣ３３，ＰＣ３４，ＰＣ４１，ＰＣ４２，ＰＣ４３，ＰＣ４４，ＰＣ５１，ＰＣ５２，ＰＣ５３，ＰＣ５４，ＰＣ６１，ＰＣ６２，ＰＣ６３，ＰＣ６４・・・コンピュータ装置
【図１】
2004046874.tif 000003
【図２】
2004046874.tif 000004
【図３】
2004046874.tif 000005
【図４】
2004046874.tif 000006