JP4409874B2 - データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法 - Google Patents

データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法 Download PDF

Info

Publication number
JP4409874B2
JP4409874B2 JP2003270322A JP2003270322A JP4409874B2 JP 4409874 B2 JP4409874 B2 JP 4409874B2 JP 2003270322 A JP2003270322 A JP 2003270322A JP 2003270322 A JP2003270322 A JP 2003270322A JP 4409874 B2 JP4409874 B2 JP 4409874B2
Authority
JP
Japan
Prior art keywords
data
divided
information
divided data
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003270322A
Other languages
English (en)
Other versions
JP2004046874A (ja
Inventor
真一 藤田
吉長 柳澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Music Solutions Inc
Original Assignee
Sony Disc and Digital Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Disc and Digital Solutions Inc filed Critical Sony Disc and Digital Solutions Inc
Priority to JP2003270322A priority Critical patent/JP4409874B2/ja
Publication of JP2004046874A publication Critical patent/JP2004046874A/ja
Application granted granted Critical
Publication of JP4409874B2 publication Critical patent/JP4409874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Description

この発明は、データを分割し、分割されたデータを互いにネットワークで接続されたコンピュータ装置群に分散させて保持するようにしたデータ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法に関する。
近年では、ネットワーク環境が全世界的に普及し、ネットワーク上の随所にサーバシステムが設けられている。サーバシステムにより、ネットワーク上で発生する様々な仕事を集中的に処理することにより、ネットワークの効率的な運用が可能とされる。また、多くのユーザに公開や共有させたいデータや、失うと影響の大きい重要なデータは、サーバの二重化技術であるクラスタリングなどの技術を用いた、耐障害性を有するサーバシステムに保持させておくのが一般的であった。
しかしながら、このような耐障害性を有するサーバシステムは、一般的に、OS(Operating System)やハードウェアなどが非常に高価であると共に、管理が難しいという問題点があった。
また、データを保持しておくためのディスクストレージも、障害に備えて、ディスクアレイ装置を用い冗長化を行うRAID(Redundant Array of Independent Disks)などの技術により多重化させて稼働させる必要がある。そのため、ディスクストレージも、非常に高価になってしまうという問題点があった。
一方、ネットワークに接続されサーバシステムからサービスを提供されるコンピュータ装置であるクライアントは、ネットワークを介してサーバに接続することでサーバ上に保持されているデータを取得することができる。接続されたサーバを介して、同様にネットワークに接続されたさらに別のサーバからネットワークを介してデータを取得することもできる。
サーバシステムへのアクセス数が増加してきた場合、ネットワークの負荷の増大、サーバシステムにおけるCPUの処理やハードウェアのI/O転送速度の制限などにより、クライアントからのアクセスに対するレスポンスが悪くなるという問題点があった。
この場合、サーバ増設によるデータの分散や、サーバの処理性能の向上といった、アクセス分散のための処置を行う必要がある。しかしながら、そのためには、非常に高額な投資を行わなければならないという問題点があった。
したがって、この発明の目的は、サーバシステムを用いずに、多くのユーザに対するデータの公開や、データの信頼性の向上を実現できるようデータ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法を提供することにある。
この発明は、上述した課題を解決するために、ネットワークに対してデータを送信するデータ送信装置において、
オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割手段と、
データ分割手段でオリジナルデータが分割された分割データのそれぞれに対し、少なくともオリジナルデータの名称、データサイズおよび登録日時からなるオリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、属性情報が付加される分割データのオリジナルデータ上での位置とからなる該分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加手段と、
ネットワークに接続された情報機器に対して属性情報付加手段で属性情報を付加された分割データをそれぞれ送信するデータ送信手段と
データ送信手段で送信された分割データを示す情報と、データ送信手段で送信された分割データの送信先を示す情報との対応関係を示すテーブルと、分割データを示す情報と、データ送信手段で送信された鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信手段は、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して分割データの送信を行うようにし、
分割データが保持される複数の情報機器と異なる情報機器に鍵情報を保持するようにしたことを特徴とするデータ送信装置である。
また、この発明は、ネットワークに対してデータを送信するデータ送信方法において、
オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割ステップと、
データ分割ステップでオリジナルデータが分割された分割データのそれぞれに対し、少なくともオリジナルデータの名称、データサイズおよび登録日時からなるオリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、属性情報が付加される分割データのオリジナルデータ上での位置とからなる該分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加ステップと、
ネットワークに接続された情報機器に対して属性情報付加ステップで属性情報を付加された分割データをそれぞれ送信するデータ送信ステップと
データ送信ステップで送信された分割データを示す情報と、データ送信ステップで送信された分割データの送信先を示す情報との対応関係を示すテーブルと、分割データを示す情報と、データ送信ステップで送信された鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信ステップは、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して分割データの送信を行うようにし、
分割データが保持される複数の情報機器と異なる情報機器に鍵情報を保持するようにしたことを特徴とするデータ送信方法である。
また、この発明は、ネットワークを介して送信された、オリジナルデータが分割され、オリジナルデータが分割された分割データのそれぞれが情報により暗号化されることによって該オリジナルデータの内容が識別できないようにされた分割データを受信するデータ受信装置において、
ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信手段と、
データ受信手段で受信された分割データを保持する記憶手段と、
データ受信手段で受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信手段と
データ送信手段で送信された複製分割データを示す情報と、データ送信手段で送信された複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信手段による複製分割データの送信は、分割データに付加されて供給される、分割データの複製回数を指示する複製許可情報に基づき行われ、
データ送信手段は、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して複製分割データの送信を行うようにしたことを特徴とするデータ受信装置である。
また、この発明は、ネットワークを介して送信された、オリジナルデータが分割され、オリジナルデータが分割された分割データのそれぞれが情報により暗号化されることによって該オリジナルデータの内容が識別できないようにされた分割データを受信するデータ受信方法において、
ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信ステップと、
データ受信のステップで受信された分割データを記憶手段に保持する記憶ステップと、
データ受信のステップで受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信ステップと
データ送信ステップで送信された複製分割データを示す情報と、データ送信ステップで送信された複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信ステップによる複製分割データの送信は、分割データに付加されて供給される、分割データの複製回数を指示する複製許可情報に基づき行われ、
データ送信ステップは、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して複製分割データの送信を行うようにしたことを特徴とするデータ受信方法である。
また、この発明は、データ送信装置とデータ受信装置とによってデータをネットワーク上に分散して保持するデータ分散システムにおいて、
データ送信装置は、
オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割手段と、
データ分割手段でオリジナルデータが分割された分割データのそれぞれに対し、少なくともオリジナルデータの名称、データサイズおよび登録日時からなるオリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、属性情報が付加される分割データのオリジナルデータ上での位置とからなる該分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加手段と、
ネットワークに接続された情報機器に対して属性情報付加手段で属性情報を付加された分割データをそれぞれ送信するデータ送信手段と、
データ送信手段で送信された分割データを示す情報と、データ送信手段で送信された分割データの送信先を示す情報との対応関係を示すテーブルと、分割データを示す情報と、データ送信手段で送信された鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信手段は、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して分割データの送信を行うようにし、
分割データが保持される複数の情報機器と異なる情報機器に鍵情報を保持するようにし、
受信装置は、
ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信手段と、
データ受信手段で受信された分割データを保持する記憶手段と、
データ受信手段で受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信手段と、
データ送信手段で送信された複製分割データを示す情報と、データ送信手段で送信された複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信手段による複製分割データの送信は、分割データに付加されて供給される、分割データの複製回数を指示する複製許可情報に基づき行われ、
データ送信手段は、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して複製分割データの送信を行うようにしたことを特徴とするデータ分散システムである。
また、この発明は、データをネットワーク上に分散して保持するデータ分散方法において、
送信方法は、
オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割ステップと、
データ分割ステップでオリジナルデータが分割された分割データのそれぞれに対し、少なくともオリジナルデータの名称、データサイズおよび登録日時からなるオリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、属性情報が付加される分割データのオリジナルデータ上での位置とからなる該分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加ステップと、
ネットワークに接続された情報機器に対して属性情報付加ステップで属性情報を付加された分割データをそれぞれ送信するデータ送信ステップと、
データ送信ステップで送信された分割データを示す情報と、データ送信ステップで送信された分割データの送信先を示す情報との対応関係を示すテーブルと、分割データを示す情報と、データ送信ステップで送信された鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信ステップは、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して分割データの送信を行うようにし、
分割データが保持される複数の情報機器と異なる情報機器に鍵情報を保持するようにし、
受信方法は、
ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信ステップと、
データ受信のステップで受信された分割データを記憶手段に保持する記憶ステップと、
データ受信のステップで受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信ステップと、
データ送信ステップで送信された複製分割データを示す情報と、データ送信ステップで送信された複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
データ送信ステップによる複製分割データの送信は、分割データに付加されて供給される、分割データの複製回数を指示する複製許可情報に基づき行われ、
データ送信ステップは、ネットワークに接続されている情報機器を無作為に指定して通信を試み、指定された情報機器が分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、指定された情報機器が分割データに対する分散保持機能が稼働していれば該情報機器に対して複製分割データの送信を行うようにしたことを特徴とするデータ分散方法である。
上述したように、請求項1およびに記載の発明は、オリジナルデータを分割し、分割された分割データのそれぞれに対し、少なくともオリジナルデータを示す情報と分割データのオリジナルデータとの関係を示す情報とからなる属性情報を付加し、ネットワークに接続された情報機器に対して属性情報付加手段で属性情報を付加された分割データをそれぞれ送信するようにしているため、オリジナルデータがネットワーク上の情報機器に分散される。
また、請求項およびに記載の発明は、ネットワークを介して送信された、オリジナルデータが分割された分割データを受信して保持すると共に、受信された分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するようにしているため、オリジナルデータがネットワーク上に分散されて保持される。
また、請求項および12に記載の発明は、オリジナルデータを分割し、オリジナルデータが分割された分割データのそれぞれをネットワークで接続された複数の情報機器に分散して保持するようにしているため、オリジナルデータがネットワーク上の情報機器に分散されて保持される。
この発明は、オリジナルデータを分割して複数のコンピュータ装置に分散して保持させると共に、分割されたデータのそれぞれについて複数のコピーを作成し、コピーされた分割データをさらに複数のコンピュータ装置に分散して保持するようにしている。そのため、ディスクアレイなどの大容量のストレージシステムやサーバシステムが不要になる効果がある。
また、データが分散されて保持されるため、データの信頼性の向上が期待でき、クラスタリングやRAIDなどの耐障害性を備えたストレージシステムやサーバシステムが不要になるという効果がある。分散データが暗号化されている場合では、暗号化のための鍵情報の保管場所を分割データの保管場所と異ならせることによって、守秘性を高めることができる。
また、同一の分割データが複数のコンピュータ装置に分散されて保持されているため、複数の経路により同一のデータを取得することができる。そのため、ある経路の通信状態が悪くても、他の経路や他のコンピュータ装置と通信を行って同一のデータを得ることができ、あるデータが要求された場合に、一つのサーバシステムなどにアクセスが集中するようなことが無くなり、アクセスレスポンスが高まるという効果がある。
以下、この発明の実施の一形態について説明する。この発明は、オリジナルのデータを分割し、分割されたデータを、ネットワークにより互いに接続された複数のコンピュータ装置に分散して持たせるようにしている。これにより、大規模なディスクストレージやサーバシステムが不要となると共に、アクセスレスポンスの軽減も図ることができる。
図1を用いて、この発明の実施の一形態による分散システムを概略的に説明する。コンピュータ装置PC11、PC12およびPC13が通信ネットワーク10により接続され、これらコンピュータ装置PC11、PC12およびPC13の間で互いにデータのやりとりが可能なようにされている。ネットワーク10では、例えばTCP/IP(Transmission Control Protocol/Internet Protocol) を通信プロトコルとして用いて、通信が行われる。
ネットワーク20、30、40、50および60についても、上述のネットワーク10と同様の構成を有する。すなわち、コンピュータ装置PC21〜24がネットワーク20により、コンピュータ装置PC31〜34がネットワーク30により、コンピュータ装置PC41〜44がネットワーク40により、コンピュータ装置PC51〜54がネットワーク50により、また、コンピュータ装置PC61〜64がネットワーク60により、それぞれ接続され、それぞれのネットワークにおいて、互いに通信可能なようにされている。
さらに、ネットワーク10、20、30、40、50および60は、ネットワーク70によりそれぞれ接続され、互いに通信可能とされている。したがって、ネットワーク70を介することで、各ネットワーク10、20、30、40、50および60に接続されたコンピュータ装置PC11〜PC13、PC21〜PC24、PC31〜PC34、・・・は、ネットワーク70全体としてそれぞれが互いに通信可能とされる。以下では、これらコンピュータ装置PC11〜PC13、PC21〜PC24、PC31〜PC34、・・・がネットワーク70に直接的に接続されているものと見なして記述する。
この例では、ネットワーク70も、通信プロトコルとしてTCP/IPが用いられる。ネットワーク70を介して互いに通信可能とされたコンピュータ装置PC11、PC12、PC13、PC21、・・・は、それぞれユニークなIPアドレスを有する。
なお、ネットワーク10、20、30、・・・、70は、高速な通信が可能であって、これらネットワーク10、20、30、・・・、70に接続されるコンピュータ装置PC11、PC12、PC13、PC21、・・・は、ネットワーク10、20、30、・・・、70を介して常時、通信が可能とされていることが望ましい。
コンピュータ装置PC11、PC12、PC13、PC21、PC22、・・・は、CPU(Central Processing Unit) 、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ、ハードディスクドライブ(HDD)といった記憶装置、ネットワークを介した通信を行うための通信手段などを有する、一般的な構成のパーソナルコンピュータを用いることができる。このようなコンピュータ装置の構成は、極めて周知であるため、詳細な説明を省略する。
この発明の実施の一形態によるデータ分散システムを実現するためのデータ分散保持機能は、例えばコンピュータ装置におけるOS(Operating System)の機能として提供される。これに限らず、このデータ分散保持機能は、各コンピュータ装置のOS上で稼働するアプリケーションソフトウェアにより実現されるようにすることも可能である。さらに、このデータ分散保持機能を実現するためのアルゴリズムをハードウェア的に実現することも可能である。このようなOSやアプリケーションソフトウェアがコンピュータ装置PC11、PC12、PC13、PC21、・・・にそれぞれ搭載される。
なお、コンピュータ装置PC11、PC12、PC13、PC21、PC22、・・・は、この例に限られず、例えばCPU、メモリ、通信手段およびHDDを有する電子ゲーム機器を適用することもできる。勿論、CPU、メモリ、通信手段および記憶手段(例えばHDD)を有する他の情報機器を用いてもよいし、これら各種の装置がネットワーク70上で混在されてもよい。また、上述では、各ネットワーク10、20、30、・・・、70で用いられるプロトコルをTCP/IPであるとしたが、これはこの例に限定されない。
このような構成において、例えばネットワーク10に接続されるコンピュータ装置PC11のHDDに記憶されるデータ「データALL」を、ネットワーク70を介して互いに接続される他のコンピュータ装置に対して公開することを考える。データ「データALL」は、データサイズが120MB(メガバイト)であるものとする。
データをネットワークを介して公開する場合、(1)ネットワーク70を介して通信可能な全てのコンピュータ装置に対する無償での公開、(2)ネットワーク70を介して通信可能な全てのコンピュータ装置に対する有償での公開、(3)非公開、すなわち、当該データが保持されるコンピュータ装置でしか当該データを使用できない、という三通りの選択肢が考えられる。以下では、(1)の、無償公開が選択された場合について、図2のフローチャートを参照しながら説明する。
先ず、ユーザは、コンピュータ装置PC11において、ネットワーク70を介して公開させたいデータ「データALL」を、コンピュータ装置PC11自身のHDD上にデータを公開するために設けられた送信ディレクトリ(フォルダ)に格納する(ステップS10)。以下、この送信ディレクトリを「データ公開ディレクトリ」と称する。ユーザが公開データをデータ公開ディレクトリに格納してから後の、この発明の実施の一形態によるデータの分散保持処理は、コンピュータ装置PC11において例えばOS(Operating System)のバックグラウンド処理により行われる。処理がOSによるバックグラウンド処理として行われるため、ユーザが意識する必要が無い。
次のステップS11で、データ公開ディレクトリに格納されたデータ「データALL」は、先ず、複数のデータに分割される。分割の個数は、ユーザの指定に基づき決めることができる。例えば、ユーザにより、コンピュータ装置PC11に対してデータ「データALL」を分割したい個数nが指定される。分割後のデータのサイズをそれぞれ指定するようにもできる。ここでは、データ「データALL」がそれぞれ50MB、50MB、20MBのサイズを有する3個のデータに分割されるものとする。また、分割されたそれぞれのデータを、「データ1/3」、「データ2/3」および「データ3/3」とする。
ユーザによる指定が行われない場合には、OSにより自動的に分割個数などが決められる。このとき、OSにより、分割対象のデータのデータサイズやコンピュータ装置PC11が接続されているネットワークの負荷などが考慮されるようにすると、より好ましい。
さらに、ステップS11では、分割されたデータのそれぞれに対し、当該分割データの属性情報が所定のヘッダ情報として付加される。ヘッダ情報の項目は、例えば、(1)オリジナルファイルのファイル名、(2)オリジナルファイルのサイズ、(3)オリジナルファイルの作者、(4)オリジナルファイルの登録日時、(5)オリジナルファイルのOS情報、(6)分割総数、(7)このデータのインデックスナンバ、(8)このデータのサイズ、(9)親子許可数、(10)子データの分割許可、(11)系統係数、(12)公開区分、(13)オリジナルデータのパスワード、などが考えられる。
これらヘッダ情報の各項目について、データ「データALL」が分割された最初のデータ「データ1/3」を例にとって説明する。(1)のオリジナルファイル名は、オリジナルファイルのファイル名、すなわち、当該データ「データ1/3」の分割元のデータであるデータ「データALL」のファイル名が示される。この例では「データALL」となる。(2)のオリジナルファイルのサイズは、オリジナルデータ「データALL」のデータサイズがバイト数で示される。この例では、「120MB」である。(3)の作者は、オリジナルファイルの著作権者名であり、例えばOSのコンピュータ装置PC11へのインストール時などに入力され登録された、OS内のデータから判断される。
(4)の登録日時は、オリジナルファイルが公開処理された日時が示され、例えばデータ「データALL」がディレクトリ「データ公開ディレクトリ」に格納された日時情報が示される。(5)のOS情報は、例えば当該ファイルの公開処理を行ったOS自身の基本情報や、時刻補正情報など、オリジナルファイルに関するその他の情報が格納される。
(6)の分割総数は、オリジナルファイルが分割された個数nが示される。この例では「3」となる。(7)のインデックスナンバは、当該データがオリジナルファイルが分割されたデータのうち何番目のデータであるかが示される。この例では、「1」となる。(8)のデータサイズは、当該データのサイズが例えばバイト数で示される。この例では「50MB」となる。
後述するが、この実施の一形態による分散システムでは、分割されたデータがネットワークを介して他のコンピュータ装置にコピーされた後、当該分割データを、コピー先のコンピュータ装置においてさらに他のコンピュータ装置に対してコピーすることができる。このとき、分割されたデータを「親」とし、親データが他のコンピュータ装置にコピーされたデータを「子」とする。(9)の親子許可回数は、同一の分割データのコピーを何回まで許可するかが示される。この例では「2」とされ、1の親データに対して2の子データが作成可能とされる。子データは、さらに分割することができる。(10)の子データの分割許可で、コピーされた子データをさらに分割して他のコンピュータ装置にコピー可能かどうかが示される。この例では「NO」とされ、子データをさらに分割する旨が禁止される。また、(11)の系統係数で、当該データがオリジナルデータに比して何回目のデータであるかが示される。この例では、「0」となる。
(12)の公開区分は、当該データのオリジナルデータについて、上述した「無償公開」、「有償公開」および「非公開」の別が例えばフラグで示される。(13)のパスワードは、例えば(12)の公開区分が「有償公開」や「非公開」などの際に、オリジナルデータを復元するために用いられるパスワードを示す。このパスワード情報に基づき、当該データのオリジナルデータに対するユーザ(著作権者)を決定することができる。公開区分が「無償公開」であるこの例では、パスワードは指定されない。
このようなヘッダ情報からなるヘッダが分割されたデータにそれぞれ付加される。このとき、OSにより、ヘッダ情報の一部とデータ本体とに所定の方式で暗号化が施される。ヘッダ情報の全部を暗号化してもよい。
なお、「公開区分」の値に応じて、ヘッダ情報およびデータの暗号化を異ならせることができる。例えば、「公開区分」が「無償公開」とされていれば、OSにより自動的に復号が可能なデフォルトの暗号化を施し、「公開区分」が「有償公開」とされていれば、所定のパスワードを入力しないと復号できないような暗号化を施すようにできる。
ステップS11によりデータ分割およびヘッダ付加が行われると、処理は次のステップS12に移行する。ステップS12では、オリジナルデータが分割されたn個のデータのうち最初のデータの送信準備がなされる。すなわち、上述のヘッダ情報における(7)のインデックスナンバが「1」とされたデータ(この例ではデータ「データ1/3」の送信が準備される。このステップS12以降の処理が分割データの実際の送信処理になる。
先ず、ステップS13で、コンピュータ装置PC11により、無作為にIPアドレスが選択され、ネットワーク70を介して通信可能に接続された他のコンピュータ装置に対してアクセスが試みられる。その結果、IPアドレスに基づき接続された接続先のコンピュータにおいて当該機能に対応したポート番号(TCPポート番号)のポートにアクセス可能かどうかが調べられる。
ステップS13でのIPアドレスの選択は、無作為に限定されない。例えばコンピュータ装置PC11が予め接続可能なコンピュータ装置を示すIPアドレスのリストを例えばHDD上のテーブルとして持つようにもできる。接続の際に、このテーブルが参照され、順次、接続が試みられる。この場合、リストには、ネットワーク70を介して接続可能なコンピュータ装置全てのIPアドレスが掲載されている必要はない。
IPアドレスおよびTCPポート番号による接続が確認されると、次のステップS14で、接続先のコンピュータ装置のOS上で、当該機能、すなわち、この実施の一形態による分散システムが稼働しているかどうかが調べられる。若し、接続先のコンピュータ装置PCにおいて当該機能が稼働していないと判断されれば、処理はステップS13に戻され、別のIPアドレスに対してアクセスが試みられる。
一方、ステップS14で、接続先のコンピュータ装置のOS上で当該機能が稼働されていると判断されれば、処理はステップS15に移行する。ここでは、コンピュータ装置PC21が接続先のコンピュータ装置であるものとする。当該機能に対応しているコンピュータ装置では、送信されたデータを受信するためのディレクトリ(データ受入ディレクトリとする)がHDD上に予め設けられている。ステップS15では、コンピュータ装置PC11から接続先であるコンピュータ装置PC21上のデータ受入ディレクトリに対して、1番目の分割データであるデータ「データ1/3」の送信が開始される。
送信側のコンピュータ装置PC11と受信側のコンピュータ装置PC21との間で、例えばハンドシェイクによりデータの送信状態がやりとりされ、データ送信が完了できたかどうかが確認される(ステップS16)。若し、データ送信中に何らかのエラーが起きてデータ送信が完了できなかった場合は、処理がステップS13に戻される。
ステップS16で送信完了が確認された分割データは、受信側のコンピュータ装置PC21において、ファイル名を所定に付されてデータ受入ディレクトリ上に保持される。データに付されたヘッダから送信データの内容が判別できるので、データ受入ディレクトリにおいて、受信されたデータのファイル名として任意のファイル名を用いることができる。
ここで、全てのOSには、データ名とIPアドレスの相対表を用意しておくことが望ましい。データを送信した際には、その表に記述しておくことで、後述するデータの検索実行時に検索時間の短縮が可能となる。例えば、「データ1/3は、IPアドレスxx.xxx.xxx.xxのコンピュータ装置PC21上に存在する」といったデータを、送信側であるコンピュータ装置PC11上のデータ名とIPアドレスの相対表に追記しておく。さらに、コンピュータ装置PC11が他のコンピュータ装置と接続される毎に、接続先および接続元のコンピュータ装置の間でこのデータ名とIPアドレスの相対表を交換することにより、検索時間をより短縮することができる。
ステップS16で、データの送信が完了したと判断されたら、送信側のコンピュータ装置PC11のデータ公開ディレクトリにおいて、分割されたデータのうち未送信のデータがまだ存在するかどうかが調べられる。若し、分割データが全て送信され、未送信のデータが存在しないと判断されれば、処理はステップS19に移行し、一連の処理が終了される。このとき、送信側のコンピュータ装置PC11のデータ公開ディレクトリに公開のため格納されたデータ「データALL」は、削除可能である。
一方、ステップS16で未送信のデータが存在すると判断されれば、処理はステップS18に移行し、次のデータの送信準備がなされる。そして、処理はステップS13に戻され、再びデータを送信可能な他のコンピュータ装置がネットワーク70に接続されたコンピュータ装置の中から探し出され、そのコンピュータ装置に対してデータが送信される。
図1の例では、コンピュータ装置PC11上のデータ「データALL」が分割されたデータのうち、「データ1/3」が上述のようにしてコンピュータ装置PC21に送信され、「データ2/3」がコンピュータ装置PC23、「データ3/3」がコンピュータ装置PC42に、それぞれ送信されている。なお、このように、分割されたデータのそれぞれが互いに異なるコンピュータ装置に送信されるように制御すると、好ましい。
また、オリジナルデータの分割は、オリジナルデータが分割された分割データのそれぞれから分割元のオリジナルデータが識別できないような方法で行うと、分割データの送信先のコンピュータ装置に対してオリジナルデータの内容を隠蔽することができ、より好ましい。
さらに、オリジナルデータが識別できないように分割データのそれぞれを構成することで、分割データのそれぞれに対する著作権による規制の適用を逃れられることも考えられる。すなわち、例えばオリジナルデータが著作権保護された動画データである場合、オリジナルデータを動画データの再生に対応する時間軸に沿って単純に分割して分割データを生成すると、分割データのそれぞれは動画として再生可能であるため、他のコンピュータ装置に送信した場合に、著作権法を侵害しているとみられるおそれがある。分割データ単体では、動画データとしての内容を認識できないようにしておけば、このような著作権法の適用を避けられることが考えられる。
分割データのそれぞれからオリジナルデータが識別不能なようにするデータの分割方法は、様々に考えられる。例えば、オリジナルデータの全体を所定の暗号化方式により暗号化し、暗号化されたデータを分割して分割データを生成することが考えられる。これに限らず、オリジナルデータをビット順列で分けるように分割することもできる。例えば、オリジナルデータをバイト毎に、最上位ビット、最下位ビット、それらの間のビットなどと分けるように分割し、分割データを生成する。さらに、オリジナルデータから、任意の間隔による細かい単位でデータを抽出し、抽出された細かい単位のデータを所定の規則に基づき組み合わせて分割データを生成するようにしてもよい。勿論、これらの方法を組み合わせて分割データを生成することもできるし、さらに他の方法を用いることも可能である。
次に、分割データが受信されたコンピュータ装置において、受信された分割データを他のコンピュータ装置にコピーする場合について、図3のフローチャートを参照しながら説明する。受信された分割データが他のコンピュータ装置にコピーされた場合、コピーされたデータは、親データであるオリジナルデータに対して子データとされる。
なお、ここでは、上述した図2のフローチャートに従いコンピュータ装置PC11から分割データ「データ1/3」が送信されたコンピュータ装置PC21を例にとって説明する。また、以下に説明するコンピュータ装置PC21上での処理は、コンピュータ装置PC21のOSにより、バックグラウンドで自動的に実行される。
ステップS20でコンピュータ装置PC11からデータ「データ1/3」が送信されると、送信先のコンピュータ装置PC21において、ステップS21で当該データ「データ1/3」が受信される。受信されたデータ「データ1/3」は、コンピュータ装置PC21のHDD上に予め設けられたデータ受入ディレクトリに格納される(ステップS21)。データの受信が完了すると、コンピュータ装置PC21において、受信されたデータ「データ1/3」のヘッダからヘッダ情報が読み取られる。
読み取られたヘッダ情報のうち、上述した(9)の親子許可回数に基づき、ステップS22で、データのコピー回数が親子許可回数に示されている回数を超えているか否かが判断される。例えば、受信された分割データを他のコンピュータ装置にコピーする毎に、この親子許可回数を1だけ減じてヘッダを書き換えるようにすれば、親子許可回数が1以上で当該データを他のコンピュータ装置にコピーする必要があり、親子許可回数が0でコピーする必要が無いと判断できる。
若し、データのコピー回数が親子許可回数に示されている回数を超えていると判断されれば、一連の処理が終了される。一方、コピー回数が親子許可回数に示されている回数を超えていない場合、処理はステップS23に移行し、次のコピーが行われる。
ステップS23では、読み取られたヘッダ情報のうち、上述した(10)の子データの分割許可に基づき、当該データをさらに分割してそれぞれ他のコンピュータにコピーするか否かが判断される。若し、子データ分割許可が当該データをさらに分割することを示す値とされていれば、処理はステップS24に移行し、当該データが所定の分割個数にさらに分割される。このときの分割処理は、例えば、上述した図2のフローチャートにおけるステップS11の処理と同様に、データの分割、分割されたそれぞれのデータに関するヘッダ情報の生成およびヘッダの付加などの処理が行われる。
ステップS23でデータが分割されると、処理はステップS25に移行する。また、ステップS23で、当該データの分割を行わないと判断された場合にも、処理はステップS25に移行される。ステップS25以下の処理で、上述した図2のフローチャートにおけるステップS13〜S18の処理と同様の処理により、データの他のコンピュータ装置への送信が行われる。
すなわち、ステップS25で、コンピュータ装置PC21により無作為またはテーブルの参照によりIPアドレスが選択され、他のコンピュータ装置に対してアクセスが試みられると共に、接続先のコンピュータにおいて当該機能に対応したポート番号のポートにアクセス可能かどうかが調べられる。次のステップS26で、接続先のコンピュータ装置のOS上で、当該機能が稼働しているかどうかが調べられ、稼働していないと判断されれば、処理はステップS25に戻され、別のIPアドレスに対してアクセスが試みられる。接続先のコンピュータ装置のOS上で当該機能が稼働されていると判断されれば、処理はステップS27に移行し、接続先のコンピュータ装置(コンピュータ装置PC22とする)のデータ受入ディレクトリに対して、例えばデータ「データ1/3」の送信が開始される。
送信側のコンピュータ装置PC21と受信側のコンピュータ装置PC22との間で、例えばハンドシェイクによりデータの送信状態がやりとりされ、データ送信が完了できたかどうかが確認される(ステップS28)。若し、データ送信中に何らかのエラーが起きてデータ送信が完了できなかった場合は、処理がステップS25に戻される。
ステップS28で送信完了が確認された分割データは、受信側のコンピュータ装置PC22において、ファイル名を所定に付されてデータ受入ディレクトリ上に保持される。データに付されたヘッダから送信データの内容が判別できるので、データ受入ディレクトリにおいて、任意のファイル名を受信されたデータのファイル名として用いることができる。
ステップS28で、データの送信が完了したと判断されたら、送信側のコンピュータ装置PC21のデータ公開ディレクトリに未送信のデータがまだ存在するかどうかが調べられる(ステップS29)。例えば、上述のステップS24でデータをさらに分割した場合、分割された残りのデータがまだ存在するかどうかが調べられる。若し、未送信のデータが存在しないと判断されれば、一連の処理が終了される。この場合、送信側のコンピュータ装置PC21において送信に用いられたデータ「データ1/3」は、削除されない。
一方、ステップS29で未送信のデータが存在すると判断されれば、次のデータの送信準備がなされ、処理がステップS25に戻されて、再びデータを送信可能な他のコンピュータ装置がネットワーク70に接続されたコンピュータ装置の中から探し出され、そのコンピュータ装置に対して次のデータが送信される。
このようにして、ネットワーク70に接続されたコンピュータ装置に対して、それぞれの分割データが複数、保持される。図1の例では、コンピュータ装置PC21に送信された「データ1/3」がコンピュータ装置PC22にコピーされ、さらにPC31にコピーされる。コンピュータ装置PC23に送信された「データ2/3」がコンピュータ装置PC24にコピーされ、さらにPC43にコピーされる。コンピュータ装置PC42に送信された「データ3/3」がコンピュータ装置PC51にコピーされ、さらにPC53にコピーされる。
なお、上述のステップS23およびS24において、ヘッダ中の子データ分割許可によりデータの分割が指示されている場合、上述のように、オリジナルデータが分割されたデータがさらに分割され、分割されたデータがさらに他のコンピュータ装置に送信およびコピーされ、データが増殖される。例えば、オリジナルデータが分割されたデータ「データ1/3」は、さらに、データ「データ1/3−1/3」、「データ1/3−2/3」、「データ1/3−3/3」のように分割されることが考えられる。分割されたデータは、それぞれ異なるコンピュータ装置に送信されコピーされる。
このように、この発明の実施の一形態では、オリジナルデータを分割して複数のコンピュータ装置に分散して保持させると共に、分割されたデータのそれぞれについて複数のコピーを作成し、コピーされた分割データをさらに複数のコンピュータ装置に分散して保持するようにしている。そのため、ディスクアレイなどの大容量のストレージシステムやサーバシステムが不要である。また、データが分散されるので、システム障害などに対するデータの信頼性の向上が期待できる。
また、同一の分割データが複数のコンピュータ装置に分散されて保持されているため、複数の経路により同一のデータを取得することができる。そのため、ある経路の通信状態が悪くても、他の経路や他のコンピュータ装置と通信を行って同一のデータを得ることができる。すなわち、あるデータが要求された場合に、一つのサーバ装置にアクセスが集中するようなことが無くなる。
さらに、この実施の一形態による分散システムを構成するコンピュータ装置として、例えば電池電源により駆動可能なノート型パーソナルコンピュータが用いられている場合、そのノート型パーソナルコンピュータは、無停電装置付きのコンピュータ装置と考えることができる。そのため、この実施の一形態による分散システムを構成するコンピュータ装置としてノート型パーソナルコンピュータを多数、用いることで、停電などのアクシデントに強い分散システムを構築することができる。
次に、この発明の実施の一形態による分散システムが稼働しているコンピュータ装置をネットワークから切断する場合について説明する。コンピュータ装置は、例えばシャットダウンされたときにネットワークから切断される。ネットワークから切断されたコンピュータ装置は、ネットワークに接続された他のコンピュータ装置から参照できなくなる。したがって、若し、当該コンピュータ装置に他のコンピュータ装置から送信された分割データが、さらに他のコンピュータ装置へのコピーが行われていないような状態で存在していると、当該分割データは、少なくとも当該コンピュータ装置が次にネットワークに接続されるまで取り出せないことになってしまう。このような事態を避けるために、この実施の一形態では、コンピュータ装置がネットワークから切断される際に、コンピュータ装置に保持されている分割データを他のコンピュータ装置に送信する。この送信処理は、ネットワーク切断時に自動的になされ、データの送信が完了した後に、コンピュータ装置がネットワークから切断される。
図4は、この実施の一形態の分散システムによる、ネットワーク切断時のコンピュータ装置における一例の処理を示すフローチャートである。なお、コンピュータ装置の電源はOSにより制御され、OSに対してシャットダウンを指示することによりシャットダウンが実行されるものとする。すなわち、例えばユーザによりコンピュータ装置に対してシャットダウンが指示されると、OSにより、例えばネットワークからの切断といったシャットダウンに必要な一連の処理が自動的に行われ、最後にコンピュータ装置の電源がOSにより切断され、シャットダウンが完了される。
例えばコンピュータ装置PC53において、シャットダウンなどによりネットワークからの切断が指示されると(ステップS30)、コンピュータ装置PC53のHDD上に設けられたデータ受入ディレクトリに保持されている全てのデータの送信が準備される(ステップS31)。なお、ここでは、コンピュータ装置PC53のデータ受入ディレクトリに対して、「データ3/3」が保持されているものとする。
以下、上述した図3のステップS25以降の処理と同様にして、データ受入ディレクトリ上のデータの送信が開始される。ステップS32で、コンピュータ装置PC53により無作為またはテーブルの参照によりIPアドレスが選択され、他のコンピュータ装置に対してアクセスが試みられると共に、接続先のコンピュータにおいて当該機能に対応したポート番号のポートにアクセス可能かどうかが調べられる。次のステップS33で、接続先のコンピュータ装置のOS上で、当該機能が稼働しているかどうかが調べられ、稼働していないと判断されれば、処理はステップS32に戻され、別のIPアドレスに対してアクセスが試みられる。
ステップS33で、接続先のコンピュータ装置のOS上で当該機能が稼働されていると判断されれば、処理はステップS34に移行し、接続先のコンピュータ装置(コンピュータ装置PC54とする)のデータ受入ディレクトリに対して、コンピュータ装置PC53のデータ受入ディレクトリに保持されているデータ「データ3/3」の送信が開始される。なお、このネットワーク切断時におけるデータ送信の際には、ヘッダ情報の親子許可数が書き換えられない。
送信側のコンピュータ装置PC53と受信側のコンピュータ装置PC54との間で、例えばハンドシェイクによりデータの送信状態がやりとりされ、データ送信が完了できたかどうかが確認される(ステップS35)。若し、データ送信中に何らかのエラーが起きてデータ送信が完了できなかった場合は、処理がステップS32に戻される。
ステップS35で、データの送信が完了したと判断されたら、送信側のコンピュータ装置PC53のデータ受入ディレクトリに未送信のデータがまだ存在するかどうかが調べられる(ステップS36)。若し、未送信のデータが存在しないと判断されれば、一連のデータ送信処理が終了され、コンピュータ装置PC53においてシャットダウンの他のプロセスが実行される。なお、データ送信処理が完了されたら、送信済みのデータは、コンピュータ装置PC53のデータ受入ディレクトリから削除することができる。
一方、ステップS36で未送信のデータが存在すると判断されれば、次のデータの送信準備がなされ、処理がステップS32に戻されて、再びデータを送信可能な他のコンピュータ装置がネットワーク70に接続されたコンピュータ装置の中から探し出され、そのコンピュータ装置に対して次のデータが送信される。
次に、上述のようにしてネットワーク70上に公開されたデータを取得する方法について説明する。ここでは、コンピュータ装置PC61からデータ「データALL」を取得する場合について考える。例えば、ユーザにより、コンピュータ装置PC61に対してデータ「データALL」を取得するように指示されると、先ず、コンピュータ装置PC61により、例えばネットワーク的に近距離にあるコンピュータ装置(この例ではコンピュータ装置PC53)に対して、コンピュータ装置PC53のデータ受入ディレクトリに当該データ「データALL」が分割されたデータ(この例では、データ「データ1/3」、「データ2/3」または「データ3/3」)が存在するかどうかが調べられる。
若し、コンピュータ装置PC53上にデータ「データALL」が分割されたデータが存在しないと判断されたら、コンピュータ装置PC61により、ネットワーク70に接続されている他のコンピュータ装置が順次アクセスされ、データ受入ディレクトリに当該データが存在するかどうかが調べられる。
上述したように、データ「データALL」が分割されたデータは、送信先のコンピュータ装置においてデータ受入ディレクトリに格納される際に、ファイル名が任意に設定される。そのため、ここでのデータの検索は、各データのヘッダ情報に含まれるオリジナルデータのファイル名が参照されて行われる。また、このように、ヘッダ情報のファイル名でデータを検索する場合、同一ファイル名を有する他のファイルが検索結果として得られてしまうことが有り得る。このような場合には、ヘッダ情報の他の項目、例えば「オリジナルファイルの作者」、「オリジナルファイルの登録日時」、「オリジナルファイルのOS情報」なども、検索条件として用いることができる。
なお、コンピュータ装置PC61により、接続先のコンピュータ装置から上述したデータ名とIPアドレスの相対表を取得できると、当該データを持つコンピュータ装置をより速く検索することができ、好ましい。
このようにして、データ「データALL」が分割されたデータが保持されるコンピュータ装置(ここではコンピュータ装置PC51とし、データ「データ3/3が検索されたとする)が見つかったら、コンピュータ装置PC61とコンピュータ装置PC51とが接続され、コンピュータ装置PC61からコンピュータ装置PC51に対して、当該データ「データ3/3」をコンピュータ装置PC61に送信するように要求される。この要求を受けて、コンピュータ装置PC51からコンピュータ装置PC61に対して当該データ「データ3/3」が送信される。送信されたデータ「データ3/3」は、コンピュータ装置PC61に受信され、所定のディレクトリに格納される。
コンピュータ装置PC61では、受信されたデータ「データ3/3」のヘッダ情報のうち、「分割総数」を調べる。これにより、データ「データ3/3」のオリジナルデータを復元するために残り何個のデータを取得する必要があるかを判断することができる。この判断結果に基づき、上述のような手順が繰り返されて、残りのデータが取得される。
こうしてオリジナルデータを復元するための分割データが全て取得されると、データの復元および結合が可能な状態とされる。ここで、ヘッダ情報の「公開区分」に基づき当該分割データのオリジナルデータが無償公開可能に設定されていれば、分割データをそのまま復元および結合して、オリジナルデータであるデータ「データALL」を得ることができる。
例えば、無償公開とされた各分割データに上述したようなデフォルトの暗号化が施されていれば、コンピュータ装置PC61において、OSによって各分割データの暗号化が自動的に復号される。そして、各分割データのヘッダが取り除かれると共に、各分割データのインデックスナンバに基づき各分割データが順に結合される。
各分割データに対して、ランダムに生成された鍵によって暗号化例えばDES(Data Encryption Standard)を施すようにしても良い。この場合、鍵は、分割され、暗号化されたデータとは、別の場所、すなわち、別のコンピュータ装置に保存される。例えばデータ名とデータの保存先のIPアドレスと暗号化の鍵の保存先のIPアドレスとの相対表が作成され、鍵の保存先が分かるようになされる。このようにすれば、分割データを所持しているコンピュータ装置の単独では、分割データの内容を読み出すことが不可能となり、データの秘匿性を高めることができる。
一方、「公開区分」が有償公開に設定されている場合には、所定の方法で課金を行った後、当該データの復元および結合を行うことができるようになる。課金の方法は、幾つか考えられる。
一例として、パスワードを用いる方法が考えられる。この場合、分割データの復元および結合を行う際に、OSによりパスワードの入力が促される。ユーザは、予め、当該分割データのオリジナルデータの著作権者が運営する、ネットワーク上のサイトでクレジットカードの番号入力を行い、パスワードを発行してもらう。このパスワードをOSに対して入力することで、分割データの復元および結合が行われるようにする。
また、別の例として、データを復元するためのセットアッププログラムを用いる方法が考えられる。この場合、送信元のコンピュータ装置において、データ公開ディレクトリに格納されたオリジナルデータを分割して各コンピュータ装置に送信する際に、一旦、オリジナルデータをセットアッププログラム化し、このセットアッププログラムを分割する。オリジナルデータの復元の際には、先ず、分割データがOSにより自動的に復元および結合され、セットアッププログラムの復元がなされる。そして、このセットアッププログラムによりネットワーク上の所定のホストコンピュータにアクセスがなされ、当該ホストコンピュータにより課金処理が行われる。課金処理後、セットアッププログラムによるセットアップ処理がなされ、オリジナルデータが復元される。
上述したように、「公開区分」により、データを非公開に設定することも可能である。この場合には、一例として、データの検索の際に、データ名と共に当該データの著作権者のみが知り得るパスワードを入力しないと、当該データが検索結果として得られないように、OS上で処理する方法が考えられる。
例えば、データ公開ディレクトリに格納するデータの「公開区分」を「非公開」とする場合、パスワードも共に入力し、ヘッダ情報などに含めるようにする。また、データの検索時に、データ名と共に予めパスワードを入力するようにしておく。そして、データ名により検索されたデータのヘッダ情報の「公開区分」が「非公開」であるとき、ヘッダ情報に含まれるパスワードと、検索時に予め入力されたパスワードとが合致しないと、当該データが検索結果として得られないようにする。
また、別の例として、データの検索および取得はできるが、当該データの復元および結合の際に、パスワードの入力を求める方法が考えられる。この場合も、上述と同様に、データ公開ディレクトリに格納するデータの「公開区分」を「非公開」とする場合、パスワードも共に入力し、ヘッダ情報などに含めるようにする。そして、検索の結果取得されたデータにおいて、ヘッダ情報の「公開区分」が「非公開」とされていれば、パスワードの入力を促すように、OS上で処理する。入力されたパスワードと、取得されたデータのヘッダ情報に含まれるパスワードとが合致しないと、当該データの復元および結合を行えないようにする。
この発明の実施の一形態による分散システムを概略的に示す略線図である。 この発明の実施の一形態によりデータをネットワークを介して公開する際の一例の処理を示すフローチャートである。 受信された分割データを他のコンピュータ装置にコピーする際の一例の処理を示すフローチャートである。 この実施の一形態の分散システムによる、ネットワーク切断時のコンピュータ装置における一例の処理を示すフローチャートである。
符号の説明
10,20,30,40,50,60,70・・・ネットワーク、PC11,PC12,PC13,PC21,PC22,PC23,PC24,PC31,PC32,PC33,PC34,PC41,PC42,PC43,PC44,PC51,PC52,PC53,PC54,PC61,PC62,PC63,PC64・・・コンピュータ装置

Claims (12)

  1. ネットワークに対してデータを送信するデータ送信装置において、
    オリジナルデータを分割し、上記オリジナルデータが分割された上記分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割手段と、
    上記データ分割手段で上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータの名称、データサイズおよび登録日時からなる上記オリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、上記属性情報が付加される上記分割データの上記オリジナルデータ上での位置とからなる該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加手段と、
    ネットワークに接続された情報機器に対して上記属性情報付加手段で上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信手段と
    上記データ送信手段で送信された上記分割データを示す情報と、上記データ送信手段で送信された上記分割データの送信先を示す情報との対応関係を示すテーブルと、上記分割データを示す情報と、上記データ送信手段で送信された上記鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信手段は、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記分割データの送信を行うようにし、
    上記分割データが保持される複数の情報機器と異なる情報機器に上記鍵情報を保持するようにしたことを特徴とするデータ送信装置。
  2. 請求項1に記載のデータ送信装置において、
    データを記憶する記憶手段をさらに有し、
    上記データ分割手段による上記オリジナルデータの分割と、上記属性情報付加手段による上記分割データそれぞれに対する属性情報の付加と、上記データ送信手段により上記分割データの送信とは、上記記憶手段の所定の領域に記憶された上記オリジナルデータに対して自動的に行われるようにしたことを特徴とするデータ送信装置。
  3. ネットワークに対してデータを送信するデータ送信方法において、
    オリジナルデータを分割し、上記オリジナルデータが分割された上記分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割ステップと、
    上記データ分割ステップで上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータの名称、データサイズおよび登録日時からなる上記オリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、上記属性情報が付加される上記分割データの上記オリジナルデータ上での位置とからなる該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加ステップと、
    ネットワークに接続された情報機器に対して上記属性情報付加ステップで上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信ステップと
    上記データ送信ステップで送信された上記分割データを示す情報と、上記データ送信ステップで送信された上記分割データの送信先を示す情報との対応関係を示すテーブルと、上記分割データを示す情報と、上記データ送信ステップで送信された上記鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信ステップは、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記分割データの送信を行うようにし、
    上記分割データが保持される複数の情報機器と異なる情報機器に上記鍵情報を保持するようにしたことを特徴とするデータ送信方法。
  4. ネットワークを介して送信された、オリジナルデータが分割され、上記オリジナルデータが分割された上記分割データのそれぞれが情報により暗号化されることによって該オリジナルデータの内容が識別できないようにされた分割データを受信するデータ受信装置において、
    ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信手段と、
    上記データ受信手段で受信された上記分割データを保持する記憶手段と、
    上記データ受信手段で受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信手段と
    上記データ送信手段で送信された上記複製分割データを示す情報と、上記データ送信手段で送信された上記複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信手段による上記複製分割データの送信は、上記分割データに付加されて供給される、上記分割データの複製回数を指示する複製許可情報に基づき行われ、
    上記データ送信手段は、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記複製分割データの送信を行うようにしたことを特徴とするデータ受信装置。
  5. 請求項に記載のデータ受信装置において、
    上記受信手段による上記分割データの受信と、上記データ送信手段による上記複製分割データの送信とは、自動的に行われることを特徴とするデータ受信装置。
  6. 請求項に記載のデータ受信装置において、
    上記受信手段で受信された上記分割データをさらに分割するデータ分割手段をさらに有し、上記データ分割手段で分割されたデータそれぞれを上記データ送信手段でネットワークに接続された情報機器に送信するようにしたことを特徴とするデータ受信装置。
  7. 請求項に記載のデータ受信装置において、
    上記ネットワークとの通信が切断されるときに、上記記憶手段に保持されている上記分割データを、上記ネットワークに接続される上記情報機器に送信するようにしたことを特徴とするデータ受信装置。
  8. ネットワークを介して送信された、オリジナルデータが分割され、上記オリジナルデータが分割された上記分割データのそれぞれが情報により暗号化されることによって該オリジナルデータの内容が識別できないようにされた分割データを受信するデータ受信方法において、
    ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信ステップと、
    上記データ受信のステップで受信された上記分割データを記憶手段に保持する記憶ステップと、
    上記データ受信のステップで受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信ステップと
    上記データ送信ステップで送信された上記複製分割データを示す情報と、上記データ送信ステップで送信された上記複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信ステップによる上記複製分割データの送信は、上記分割データに付加されて供給される、上記分割データの複製回数を指示する複製許可情報に基づき行われ、
    上記データ送信ステップは、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記複製分割データの送信を行うようにしたことを特徴とするデータ受信方法。
  9. データ送信装置とデータ受信装置とによってデータをネットワーク上に分散して保持するデータ分散システムにおいて、
    データ送信装置は、
    オリジナルデータを分割し、上記オリジナルデータが分割された上記分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割手段と、
    上記データ分割手段で上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータの名称、データサイズおよび登録日時からなる上記オリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、上記属性情報が付加される上記分割データの上記オリジナルデータ上での位置とからなる該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加手段と、
    ネットワークに接続された情報機器に対して上記属性情報付加手段で上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信手段と、
    上記データ送信手段で送信された上記分割データを示す情報と、上記データ送信手段で送信された上記分割データの送信先を示す情報との対応関係を示すテーブルと、上記分割データを示す情報と、上記データ送信手段で送信された上記鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信手段は、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記分割データの送信を行うようにし、
    上記分割データが保持される複数の情報機器と異なる情報機器に上記鍵情報を保持するようにし、
    上記受信装置は、
    ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信手段と、
    上記データ受信手段で受信された上記分割データを保持する記憶手段と、
    上記データ受信手段で受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信手段と、
    上記データ送信手段で送信された上記複製分割データを示す情報と、上記データ送信手段で送信された上記複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信手段による上記複製分割データの送信は、上記分割データに付加されて供給される、上記分割データの複製回数を指示する複製許可情報に基づき行われ、
    上記データ送信手段は、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記複製分割データの送信を行うようにしたことを特徴とするデータ分散システム。
  10. 請求項に記載のデータ分散システムにおいて、
    上記情報機器に保持された上記分割データは、さらに分割されて複数の他の情報機器に分散されて保持されるようにしたことを特徴とするデータ分散システム。
  11. 請求項に記載のデータ分散システムにおいて、
    上記情報機器は、上記ネットワークから切断されるときに、上記保持された上記分割データを上記ネットワークに接続された他の情報機器に保持させるようにしたことを特徴とするデータ分散システム。
  12. データをネットワーク上に分散して保持するデータ分散方法において、
    送信方法は、
    オリジナルデータを分割し、上記オリジナルデータが分割された上記分割データのそれぞれに対して鍵情報により暗号化することによって該オリジナルデータの内容が識別できないようにするデータ分割ステップと、
    上記データ分割ステップで上記オリジナルデータが分割された分割データのそれぞれに対し、少なくとも上記オリジナルデータの名称、データサイズおよび登録日時からなる上記オリジナルデータを示す情報と、少なくとも、該オリジナルデータから分割された分割データの個数と、上記属性情報が付加される上記分割データの上記オリジナルデータ上での位置とからなる該分割データの上記オリジナルデータとの関係を示す情報とからなる属性情報を付加する属性情報付加ステップと、
    ネットワークに接続された情報機器に対して上記属性情報付加ステップで上記属性情報を付加された上記分割データをそれぞれ送信するデータ送信ステップと、
    上記データ送信ステップで送信された上記分割データを示す情報と、上記データ送信ステップで送信された上記分割データの送信先を示す情報との対応関係を示すテーブルと、上記分割データを示す情報と、上記データ送信ステップで送信された上記鍵情報の送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信ステップは、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記分割データの送信を行うようにし、
    上記分割データが保持される複数の情報機器と異なる情報機器に上記鍵情報を保持するようにし、
    受信方法は、
    ネットワークを介して送信された、オリジナルデータが分割された分割データを受信するデータ受信ステップと、
    上記データ受信のステップで受信された上記分割データを記憶手段に保持する記憶ステップと、
    上記データ受信のステップで受信された上記分割データを複製した複製分割データを、ネットワークに接続された情報機器に対して送信するデータ送信ステップと、
    上記データ送信ステップで送信された上記複製分割データを示す情報と、上記データ送信ステップで送信された上記複製分割データの送信先を示す情報との対応関係を示すテーブルとを有し、
    上記データ送信ステップによる上記複製分割データの送信は、上記分割データに付加されて供給される、上記分割データの複製回数を指示する複製許可情報に基づき行われ、
    上記データ送信ステップは、上記ネットワークに接続されている上記情報機器を無作為に指定して通信を試み、指定された上記情報機器が上記分割データに対する分散保持機能が稼働しているか否かを調べるようにされ、上記指定された情報機器が上記分割データに対する上記分散保持機能が稼働していれば該情報機器に対して上記複製分割データの送信を行うようにしたことを特徴とするデータ分散方法。
JP2003270322A 2002-07-02 2003-07-02 データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法 Expired - Fee Related JP4409874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003270322A JP4409874B2 (ja) 2002-07-02 2003-07-02 データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002193118 2002-07-02
JP2003270322A JP4409874B2 (ja) 2002-07-02 2003-07-02 データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法

Publications (2)

Publication Number Publication Date
JP2004046874A JP2004046874A (ja) 2004-02-12
JP4409874B2 true JP4409874B2 (ja) 2010-02-03

Family

ID=31719778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003270322A Expired - Fee Related JP4409874B2 (ja) 2002-07-02 2003-07-02 データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法

Country Status (1)

Country Link
JP (1) JP4409874B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275937A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd P2pネットワークシステム
JP4624734B2 (ja) * 2004-07-05 2011-02-02 西日本電信電話株式会社 エージェント制御システムおよび方法
JP4872494B2 (ja) * 2006-07-04 2012-02-08 富士ゼロックス株式会社 電子データ管理装置、方法、及びプログラム
JP4983183B2 (ja) * 2006-09-28 2012-07-25 ブラザー工業株式会社 ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US8769049B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Intelligent tiers of backup data
US8935366B2 (en) * 2009-04-24 2015-01-13 Microsoft Corporation Hybrid distributed and cloud backup architecture
US8769055B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
KR101335934B1 (ko) * 2009-12-18 2013-12-03 한국전자통신연구원 비대칭 클러스터 분산 파일 시스템에서 데이터 복제 및 복구 방법
JP2012010052A (ja) * 2010-06-24 2012-01-12 Sony Corp 情報処理装置および方法、プログラム、並びに、情報処理システム
KR101374655B1 (ko) 2010-09-29 2014-03-24 네이버비즈니스플랫폼 주식회사 파일 볼륨을 청크 단위로 분산 처리하는 시스템 및 방법
US10021184B2 (en) * 2015-12-31 2018-07-10 Dropbox, Inc. Randomized peer-to-peer synchronization of shared content items

Also Published As

Publication number Publication date
JP2004046874A (ja) 2004-02-12

Similar Documents

Publication Publication Date Title
US10083309B2 (en) Secure cloud storage distribution and aggregation
US8601307B2 (en) Computer architectures using shared storage
US9547774B2 (en) System and method for distributed deduplication of encrypted chunks
US8266433B1 (en) Method and system for automatically migrating encryption keys between key managers in a network storage system
US7917751B2 (en) Distributed filesystem network security extension
EP3777014B1 (en) Encryption by default in an elastic computing system
JP2019220230A (ja) データ処理方法及びデータ処理装置
US20070112783A1 (en) Electronic discovery system and method
JPH04310188A (ja) 文書/画像ライブラリのためのライブラリサービス方法
JP4409874B2 (ja) データ送信装置および方法、データ受信装置および方法、ならびに、データ分散システムおよび方法
EP1974299A2 (en) System and methods for secure digital data archiving and access auditing
JP4888945B2 (ja) 電子帳票システム、電子帳票サーバ、クライアント端末、情報提供方法、情報利用方法、サーバプログラム、及びクライアント端末プログラム
JP5423118B2 (ja) データ保管システムおよびデータ保管方法
JP4345309B2 (ja) ネットワークストレージ装置
WO2020153053A1 (ja) データベース管理サービス提供システム
JP5535998B2 (ja) データ管理システムおよびデータ管理方法
Dell
JP2002132560A (ja) バックアップシステム
EP2372978B1 (en) Computer architectures using shared storage
KR102230764B1 (ko) 블록체인 기반 파일 수정 증거 저장 방법 및 이를 이용하는 장치
Lalwani An Approach to Distributed File System Through Java
JP2009104477A (ja) 配信装置、配信管理装置、端末装置、配信方法、ファイル利用方法、配信プログラムおよびファイル利用プログラム
JP2011082611A (ja) 通信方法、通信装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091112

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees