(57)【要約】【課題】分割ダウンロードを行うグループ内の通信装置間の連携を可能にする分割ダウンロードシステム、通信装置および通信制御方法を提供する。【解決手段】少なくとも1つの送信側通信装置（１）から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置であって、少なくとも1つの部分データPAiと当該部分データに対応する個別データGKAiとを送信側通信装置から受信する通信手段（２０２，２０３）と、受信した部分データPAiまたは当該部分データに基づく固有値ｈ（PAi）と個別データGKAiとを用いて任意のデータＡの部分データに共通の共通データKAを生成する共通データ生成手段（２０５）と、を有し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値ｈ（PAi）と他方のデータとから算出される。【選択図】図３
2010183327.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置であって、
少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信する通信手段と、
前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成する共通データ生成手段と、
を有し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づいた固有値と他方のデータとに基づいて算出されることを特徴とする通信装置。
【請求項２】
前記共通データを用いて前記他の通信装置との間で部分データの交換を行う手段を更に有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第１演算と、前記他方のデータから前記一方のデータを生成する場合の第２演算とにより相互に算出可能であることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記第１演算と前記第２演算とは同一の演算であることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求する要求データを送信する要求手段を更に有し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項1−４のいずれか１項に記載の通信装置。
【請求項６】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項1−５のいずれか１項に記載の通信装置。
【請求項７】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置の通信制御方法であって、
少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信し、
前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データと他方のデータとに基づいて算出されることを特徴とする通信制御方法。
【請求項８】
前記共通データを用いて前記他の通信装置との間で部分データの交換を行うことを特徴とする請求項７に記載の通信制御方法。
【請求項９】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第１演算と、前記他方のデータから前記一方のデータを生成する場合の第２演算とにより相互に算出可能であることを特徴とする請求項７または８に記載の通信制御方法。
【請求項１０】
前記第１演算と前記第２演算とは同一の演算であることを特徴とする請求項９に記載の通信制御方法。
【請求項１１】
前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項７−１０のいずれか１項に記載の通信制御方法。
【請求項１２】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項７−１１のいずれか１項に記載の通信制御方法。
【請求項１３】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを複数の通信装置が分割ダウンロードするシステムであって、
前記送信側通信装置は、前記複数の部分データと各部分データに対応する個別データとを保存し、前記複数の通信装置の各々に対して部分データと当該部分データに対応する個別データとを送信し、
前記複数の通信装置の各々は、前記部分データとそれに対応する前記個別データとを前記送信側通信装置から受信すると、前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値と他方のデータとに基づいて算出されることを特徴とする分割ダウンロードシステム。
【請求項１４】
前記複数の通信装置の各々は、前記共通データを用いて前記他の通信装置との間で部分データの交換を行うことを特徴とする請求項１３に記載の分割ダウンロードシステム。
【請求項１５】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第１演算と、前記他方のデータから前記一方のデータを生成する場合の第２演算とにより相互に算出可能であることを特徴とする請求項１３または１４に記載の分割ダウンロードシステム。
【請求項１６】
前記複数の通信装置の各々は、前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項１３−１５のいずれか１項に記載の分割ダウンロードシステム。
【請求項１７】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項１３−１６のいずれか１項に記載の分割ダウンロードシステム。
【請求項１８】
前記送信側通信装置は、前記任意のデータをネットワークを通して分割配信する配信サーバであることを特徴とする請求項１３−１７のいずれか１項に記載の分割ダウンロードシステム。
【請求項１９】
前記送信側通信装置は、前記任意のデータをネットワークを通して分割配信する放送局であることを特徴とする請求項１３−１８のいずれか１項に記載の分割ダウンロードシステム。
【請求項２０】
任意のデータを分割した複数の部分データを複数の通信装置へ分割して送信するデータ送信装置であって、
前記任意のデータと前記複数の部分データの各々に対応する個別データとを保存する保存手段と、
各通信装置からの要求に応じて、当該要求された部分データと当該部分データに対応する個別データとを送信する通信手段と、
を有し、前記個別データは前記部分データまたは当該部分データに基づく固有値と前記複数の部分データに共通の共通データとから算出され、各通信装置において前記個別データと前記部分データまたは当該部分データに基づく固有値とに基づいて前記共通データが算出される、ことを特徴とするデータ送信装置。
【請求項２１】
前記個別データを更新する個別データ更新手段を更に有することを特徴とする請求項２０に記載のデータ送信装置。
【請求項２２】
前記個別データ更新手段は、前記共通データを生成する共通データ生成手段と、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成する個別データ生成手段と、を有することを特徴とする請求項２１に記載のデータ送信装置。
【請求項２３】
前記送信側通信装置は個別データ更新手段を更に有し、前記個別データ更新手段は、前記共通データを生成する共通データ生成手段と、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成する個別データ生成手段と、を有することを特徴とする請求項６に記載の通信装置。
【請求項２４】
前記送信側通信装置は、前記共通データを生成し、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成することを特徴とする請求項１２に記載の通信制御方法。
【請求項２５】
前記送信側通信装置は個別データ更新手段を更に有し、前記個別データ更新手段は、前記共通データを生成する共通データ生成手段と、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成する個別データ生成手段と、を有することを特徴とする請求項１７に記載の分割ダウンロードシステム。
【請求項２６】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを複数の通信装置が分割ダウンロードするシステムにおけるデータ交換方法であって、
前記送信側通信装置は、前記任意のデータと前記複数の部分データの各々に対応する個別データとを保存し、前記複数の通信装置の各々に対して部分データと当該部分データに対応する個別データとを送信し、
前記複数の通信装置の各々は、前記部分データとそれに対応する前記個別データとを前記送信側通信装置から受信すると、前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
前記共通データを用いて他の通信装置との間で部分データの交換を行い、
前記個別データは前記部分データまたは当該部分データに基づく固有値と前記共通データとに基づいて算出されることを特徴とする、分割ダウンロードシステムにおけるデータ交換方法。
【請求項２７】
前記複数の通信装置の各々は、前記送信側通信装置に対して前記任意のデータの分割ダウンロードを要求し、前記要求データは、前記任意のデータを特定するための識別子が含まれるコンテンツ情報、コンテンツの分割数、ダウンロードを行う部分データの範囲を特定するためのコンテンツのレンジ、前記個別データを特定する情報を含むことを特徴とする請求項２６に記載のデータ交換方法。
【請求項２８】
前記送信側通信装置は前記共通データを定期的または不定期に更新あるいは削除することを特徴とする請求項２６または２７に記載のデータ交換方法。
【請求項２９】
前記送信側通信装置は、前記共通データを生成し、前記部分データまたは当該部分データに基づく固有値と前記共通データとから前記個別データを生成することを特徴とする請求項２８に記載のデータ交換方法。
【請求項３０】
少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置のプログラム制御プロセッサ上で実行されるコンピュータプログラムであって、
少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信し、
前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、
任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値と他方のデータとに基づいて算出される、
ように前記プログラム制御プロセッサを機能させることを特徴とするコンピュータプログラム。
【請求項３１】
前記共通データを用いて前記他の通信装置との間で部分データの交換を行うことを特徴とする請求項３０に記載のコンピュータプログラム。
【請求項３２】
前記任意の部分データに対応する個別データと前記共通データとは、前記一方のデータから前記他方のデータを生成する場合の第１演算と、前記他方のデータから前記一方のデータを生成する場合の第２演算とにより相互に算出可能であることを特徴とする請求項３０または３１に記載のコンピュータプログラム。
【請求項３３】
前記第１演算と前記第２演算とは同一の演算であることを特徴とする請求項３２に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は分割ダウンロードシステムに係り、特に分割ダウンロードする通信装置および通信制御方法に関する。
【背景技術】
【０００２】
複数の端末がサーバに対して同一のコンテンツを要求する場合、各端末がサーバから当該コンテンツをダウンロードすると、サーバの負荷が大きくなり、ダウンロード速度も低下する。そこで、サーバの処理負担の軽減やダウンロード速度の高速化を図るために、当該コンテンツを分割した部分データを複数の端末がそれぞれ分担してダウンロードする分割ダウンロードが提案されている（たとえば、特許文献１参照）。分割ダウンロードが完了すると、端末間でそれぞれがダウンロードした部分データを相互交換することで、全ての端末が目的のデータを取得することができる。
【０００３】
特許文献1によれば、サーバは部分データと配信先の端末とを示す分割ダウンロードマップを作成し、それを各端末に送信することで、各端末は部分データを要求するべき他の端末を把握することができ、部分データの相互交換が容易となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１３２６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献1における分割ダウンロード方法では、端末間で部分データの相互交換を可能にするためには、サーバが全ての端末を管理しなければならない。このために、サーバには端末を管理する機能が必要となり、端末数が増大するに従って管理負荷が益々大きくなるという不都合が生じうる。
【０００６】
さらに、分割ダウンロードを行うグループ内の各端末は、同じグループの他の端末が部分データを確実にダウンロードし終わったかどうかを確認することができない。このように複数の端末間が連携していないシステムでは、悪意を持った端末が当該グループに参加して、実際には自ら部分データをダウンロードすることなく、グループの他の端末から部分データのみを収集しようとするかもしれない。例えば、サーバから部分データをダウンロードするのに要する電力や通信コストが高くつく場合、悪意を持った端末がそれらコストを自ら負担せず、データのみを収集しようとするケースである。
【０００７】
そこで、本発明の目的は、分割ダウンロードを行うグループ内の通信装置間の連携を可能にする分割ダウンロードシステム、通信装置および通信制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明による通信装置は、少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置であって、少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信する通信手段と、前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成する共通データ生成手段と、を有し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づいた固有値と他方のデータとに基づいて算出されることを特徴とする。
【０００９】
本発明による通信制御方法は、少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを少なくとも1つの他の通信装置と共に分割ダウンロードする通信装置の通信制御方法であって、少なくとも1つの部分データと当該部分データに対応する個別データとを前記送信側通信装置から受信し、前記受信した部分データまたは当該部分データに基づいた固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データと他方のデータとに基づいて算出されることを特徴とする。
【００１０】
本発明による分割ダウンロードシステムは、少なくとも1つの送信側通信装置から、任意のデータを分割した複数の部分データを複数の通信装置が分割ダウンロードするシステムであって、前記送信側通信装置は、前記複数の部分データと各部分データに対応する個別データとを保存し、前記複数の通信装置の各々に対して部分データと当該部分データに対応する個別データとを送信し、前記複数の通信装置の各々は、前記部分データとそれに対応する前記個別データとを前記送信側通信装置から受信すると、前記受信した部分データまたは当該部分データに基づく固有値と前記個別データとを用いて前記任意のデータの部分データに共通の共通データを生成し、任意の部分データに対応する個別データと前記共通データの一方のデータは、当該任意の部分データまたは当該部分データに基づく固有値と他方のデータとに基づいて算出されることを特徴とする。
【００１１】
本発明によるデータ送信装置は、任意のデータを分割した複数の部分データを複数の通信装置へ分割して送信するデータ送信装置であって、前記任意のデータと前記複数の部分データの各々に対応する個別データとを保存する保存手段と、各通信装置からの要求に応じて、当該要求された部分データと当該部分データに対応する個別データとを送信する通信手段と、を有し、前記個別データは前記部分データまたは当該部分データに基づく固有値と前記複数の部分データに共通の共通データとから算出され、各通信装置において前記個別データと前記部分データまたは当該部分データに基づく固有値とに基づいて前記共通データが算出される、ことを特徴とする。
【発明の効果】
【００１２】
上述したように、本発明によれば分割ダウンロードを行うグループ内の通信装置間での連携が可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態による分割ダウンロードシステムの概略的構成図である。
【図２】（Ａ）は図１に示す分割ダウンロードシステムにおけるサーバの機能的構成を示すブロック図、（Ｂ）はそのコンテンツ保存部に格納されたデータフォーマットを示す模式図である。
【図３】図１に示す分割ダウンロードシステムにおける通信端末の機能的構成を示すブロック図である。
【図４】図１に示す分割ダウンロードシステムにおけるサーバから部分データおよび鍵生成用データを取得する手順を示すシーケンス図である。
【図５】図４において部分データおよび鍵生成用データを取得した後に鍵データを生成する手順を示すシーケンス図である。
【図６】本発明の第２実施形態による分割ダウンロードシステムにおけるサーバの機能的構成を示すブロック図である。
【図７】本発明の第２実施形態による分割ダウンロードシステムにおける鍵生成用データの取得手順を示すシーケンス図である。
【図８】図１に示す分割ダウンロードシステムにおける通信端末の機能的構成の他の例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を参照して詳細に説明する。なお、本発明は、以下に述べる実施の形態により限定されるものではない。
【００１５】
１．第１実施形態
１．１）ネットワーク構成
本実施形態の説明を煩雑にしないために、図1に示すような通信システムを仮定する。すなわち、送信側通信装置としてのサーバ１と、分割ダウンロードを行う通信装置としての端末２および３とがネットワーク４を通して接続可能であり、端末２および３がダウンロードユーザグループ５を形成しているものとする。もちろん、２つ以上のサーバであってもよいし、３つ以上の端末によりダウンロードユーザグループ５が形成されていてもよい。
【００１６】
サーバ１は、たとえばHTTPサーバであり、端末からのダウンロード要求に対して、要求されたデータを配信する通信装置である。各端末２、３は、サーバ1に対してネットワーク４を介して目的のデータを要求し、目的のデータをダウンロードすることができる通信機能を有するコンピュータあるいは通信端末であり、たとえば携帯通信端末である。これら端末２および３は、後述するダウンロードユーザグループ５の機能を用いて互いにダウンロードしたデータを相互交換することが可能である。ネットワーク４は、サーバ1と端末２および３との間で通信されるデータを転送するネットワークであり、たとえばＩＰ(Internet Protocol)ネットワークである。
【００１７】
ダウンロードユーザグループ５は、端末２と端末３との間でデータを転送するネットワーク上で形成される。このネットワークとしては、例えばIEEE802.11やBluetooth（登録商標）などの近距離無線ネットワーク、Ethernet（登録商標）などの有線ネットワークなどがある。ただし、これらに限定されるものではない。
【００１８】
なお、ダウンロードユーザグループ５に属する各端末（ここでは端末２、端末３）は、分割ダウンロードを始める前に、ダウンロードユーザグループ５に属する他の端末との間で何らかの通信方法により調停を行い、各端末がダウンロードを担当する部分データが予め取り決められているものとする。
【００１９】
１．２）サーバ
図２（Ａ）に示すように、サーバ１は、受信部１０１、要求処理部１０２、コンテンツ保存部１０３および送信部１０４を備える。
【００２０】
受信部１０１は、ネットワーク４を介して端末２あるいは端末３から要求情報データを受信する通信部である。ここで、要求情報データには、コンテンツを特定するための識別子が含まれる。識別子は、たとえばURL(Uniform Resource Locator)や、さらに加えてコンテンツに対する部分データのレンジなどで構成される。要求処理部１０２は、受信した要求情報データに基づいて、部分データまたは鍵生成用データをコンテンツ保存部１０３から取得する機能を有する。送信部１０４は、ネットワーク４を介して端末２あるいは端末３へ部分データおよび鍵生成用データを送信する通信部である。
【００２１】
コンテンツ保存部１０３は、図２（Ｂ）に示すように、部分データおよび鍵生成用データをそれぞれの識別子と関係づけて保存するストレージであり、ファイルシステムやデータベースなどで実現される。部分データは、端末２あるいは端末３が要求する同一コンテンツの一部分のデータである。また、鍵生成用データは、部分データから計算される固有値とコンテンツに共通の鍵データとを元に計算される値である。
【００２２】
図２（Ｂ）に示す例では、コンテンツＡがＮ個の部分データＰA1〜ＰANに分割されており、それぞれの部分データＰAｉとコンテンツＡの共通データである鍵データＫＡとから個別データとして鍵生成用データＧＫA1〜ＧＫANがそれぞれ生成される。鍵生成用データを生成する演算を排他的論理和ＥＸＯＲ、部分データＰAｉから固有値を計算する関数をｈ（ＰAｉ）とすれば、鍵生成用データＧＫAｉは、
ＧＫAｉ＝ＥＸＯＲ（ｈ（ＰAｉ），ＫＡ）
により求めることができ、コンテンツＡの共通鍵データＫＡは、
ＫＡ＝ＥＸＯＲ（ｈ（ＰAｉ），ＧＫAｉ）
で求めることができる。ただし、ｉ＝１，２，・・・，Ｎである。
【００２３】
なお、要求処理部１０２はコンピュータプログラムをＣＰＵ等のプログラム制御プロセッサ上で実行することにより、後述する機能を実現することもできる。
【００２４】
１．３）端末
図３に示すように、端末２および３は、本実施形態に関して基本的の同一のブロック構成を有する。すなわち、端末２および３は、要求処理部２０１、送信部２０２、受信部２０３、コンテンツ保存部２０４および共通鍵データ算出部２０５を備える。
【００２５】
要求処理部２０１は、目的のデータに関する要求情報データの送信を指示し、さらに目的のデータを取得する機能を有する。送信部２０２は、ネットワーク４を介してサーバ１にデータを送信する通信部である。受信部２０３は、ネットワーク４を介してサーバ１からデータを受信する通信部である。コンテンツ保存部２０４は、部分データおよび鍵生成用データを部分コンテンツ識別子と共に保存するストレージである。
【００２６】
共通鍵データ算出部２０５は、コンテンツ保存部２０４に格納された部分データと鍵生成用データとを用いて鍵データを算出する機能を有する。図２（Ｂ）に示す例を用いれば、部分データＰAｉから算出した固有値ｈ（ＰAｉ）と鍵生成用データＧＫAｉとを用いて、コンテンツＡの共通鍵データＫＡを演算ＥＸＯＲ（ｈ（ＰAｉ），ＧＫAｉ）により求めることができる。
【００２７】
なお、要求処理部２０１および共通鍵データ算出部２０５と同等の機能は、コンピュータプログラムをＣＰＵ等のプログラム制御プロセッサ上で実行することにより実現することもできる。
【００２８】
１．４）部分データおよび鍵生成用データの配付
サーバ１のコンテンツ保存部１０３には、図２（Ｂ）に示すコンテンツＡが格納されているものとし、部分データＰAｉから固有値を計算する関数ｈ（ＰAｉ）をハッシュ関数とする。したがって、排他的論理和ＥＸＯＲを用いて、鍵生成用データＧＫＡｉは、ＥＸＯＲ（ｈ（ＰAｉ），ＫＡ）により求めることができる。また、鍵データＫＡは、当該コンテンツＡを分割して得られた複数の部分データＰA1〜ＰANに共通のデータである。
【００２９】
また、上述したように、ダウンロードユーザグループ５に属する各端末は、分割ダウンロードを始める前に、他の端末との間で調停を行い、各端末がダウンロードを担当する部分データを予め決めておく。以下、図４を参照しながら、端末がサーバ１から自身がダウンロードを担当する部分データＰAｉと、それに対応する鍵生成用データＧＫＡｉとを取得するまでの動作シーケンスを説明する。
【００３０】
図4において、まず、端末の要求処理部２０１は、自身が担当する部分データＰAｉのダウンロードを示す要求情報データの送信を送信部２０２に対して指示する（ステップＳ１０１）。送信部２０２は要求処理部２０１の指示に従って要求情報データを送信する（ステップＳ１０２）。
【００３１】
サーバ１の受信部１０１は、端末から要求情報データを受信すると、それを要求処理部１０２に渡す（ステップＳ１０３）。要求処理部１０２は、受信した要求情報データを元に、コンテンツ保存部１０３に対して部分データを要求する（ステップＳ１０４）。コンテンツ保存部１０３は、要求された部分データＰAｉを要求処理部１０２に返す（ステップＳ１０５）。要求処理部１０２は、送信部１０４に部分データＰAｉの送信を指示し（ステップＳ１０６）、それに従って送信部１０４は部分データＰAｉを端末へ送信する（ステップＳ１０７）。
【００３２】
端末の受信部２０３は受信した部分データＰAｉを要求処理部２０１に渡し（ステップＳ１０８）、要求処理部２０１はそれをコンテンツ保存部２０４に保存する（ステップＳ１０９）。
【００３３】
続いて、端末の要求処理部２０１は、受信した部分データＰAｉに対応する鍵生成用データＧＫＡｉのダウンロードを示す要求情報データの送信を送信部２０２に対して指示する（ステップＳ１１０）。送信部２０２は要求処理部２０１の指示に従って要求情報データを送信する（ステップＳ１１１）。
【００３４】
サーバ１の受信部１０１は、端末から要求情報データを受信すると、それを要求処理部１０２に渡す（ステップＳ１１２）。要求処理部１０２は、受信した要求情報データを元に、コンテンツ保存部１０３に対して鍵生成用データＧＫＡｉを要求する（ステップＳ１１３）。コンテンツ保存部１０３は、要求された鍵生成用データＧＫＡｉを要求処理部１０２に返す（ステップＳ１１４）。要求処理部１０２は、送信部１０４に鍵生成用データＧＫＡｉの送信を指示し（ステップＳ１１５）、それに従って送信部１０４は鍵生成用データＧＫＡｉを端末へ送信する（ステップＳ１１６）。
【００３５】
端末の受信部２０３は受信した鍵生成用データＧＫＡｉを要求処理部２０１に渡し（ステップＳ１１７）、要求処理部２０１はそれをコンテンツ保存部２０４に保存する（ステップＳ１１８）。
【００３６】
１．５）鍵データの取得
次に、図５を参照しながら、端末が部分データＰAｉおよび鍵生成用データＧＫＡｉを取得した後、鍵データＫＡを取得するまでの動作シーケンスを説明する。
【００３７】
上述したステップＳ１１８において部分データＰAｉおよび鍵生成用データＧＫＡｉがコンテンツ保存部２０４に保存されると、要求処理部２０１は、共通鍵データ算出部２０５に対して、データ保存完了を通知する（ステップＳ２０１）。共通鍵データ算出部２０５はコンテンツ保存部２０４に対して部分データＰAｉを要求する（ステップＳ２０２）。コンテンツ保存部２０４から部分データＰAｉを受け取ると（ステップＳ２０３）、共通鍵データ算出部２０５はハッシュ関数を用いて部分データＰAｉからハッシュ値ｈ（ＰAｉ）を算出する（ステップＳ２０４）。続いて、共通鍵データ算出部２０５は、コンテンツ保存部２０４に対して、鍵生成用データＧＫＡｉを要求する（ステップＳ２０５）。コンテンツ保存部２０４から鍵生成用データＧＫＡｉを受け取ると（ステップＳ２０６）、共通鍵データ算出部２０５は、部分データのハッシュ値ｈ（ＰAｉ）と鍵生成用データＧＫＡｉとの排他的論理和ＥＸＯＲ（ｈ（ＰAｉ），ＧＫAｉ）を演算することで、コンテンツＡの共通鍵データＫＡを取得する（ステップＳ２０７）。
【００３８】
このようにグループ５に属する端末（ここでは端末２および３）の各々が担当する部分データＰAｉおよび鍵生成用データＧＫＡｉをダウンロードすることで、上述したステップＳ２０２〜Ｓ２０７により、グループ５に属する端末が同一コンテンツＡの共通鍵データＫＡを取得することができる。
【００３９】
１．６）効果
上述したように、本実施形態によれば、ダウンロードユーザグループに属する各端末は、同一コンテンツＡの共通鍵データＫＡを取得することができる。この共通鍵データＫＡを用いることで、互いに相手の端末の部分データがダウンロード完了したことを確認した上で相互交換することが可能になる。このように、本実施形態により、分割ダウンロードを行うグループの端末同士で部分データの相互交換を行う場合、グループに参加する端末が、同じグループの他の端末が部分データをダウンロードし終わったかどうかを確認できるようになる。
【００４０】
また、共通鍵データＫＡの使い方としては、次の方法も考えられる。例えば、鍵データを用いたチャレンジ&レスポンス認証や、鍵データを接続情報としてアドホックネットワークを形成することもできる。チャレンジ&レスポンス認証では、鍵データを持っている端末のみが認証に成功する。また、アドホックネットワークを形成した場合は、IEEE802.11(無線LAN)のアドホックネットワークを形成し、その暗号化鍵(WEPキー)として前述の鍵データを用いることで、鍵データを持つ端末のみがそのネットワークに接続できる。
【００４１】
さらに、本実施形態によれば、端末側だけでデータの相互交換に必要な調停を行うことができるので、通信システムにおけるサーバをWebサーバの機能を持つ一般的な通信装置に置き換えることでき、汎用性が向上し応用範囲を広げることができる。
【００４２】
２．第２実施形態
上述した第１実施形態におけるサーバ１では、鍵生成用データＧＫを事前に用意してコンテンツ保存部１０３に格納しているが、次に説明するように、サーバ内で鍵生成用データを生成することも可能である。
【００４３】
２．１）サーバの構成
図６に示すように、本発明の第２実施形態によるサーバ６は、受信部６０１、要求処理部６０２、コンテンツ保存部６０３、鍵生成用データ算出部６０４、ハッシュ値算出部６０５、鍵生成部６０６および送信部６０７を備える。ここで、受信部６０１、要求処理部６０２、コンテンツ保存部６０３および送信部６０７は、図２（Ａ）に示すサーバ１の受信部１０１、要求処理部１０２、コンテンツ保存部１０３および送信部１０４にそれぞれ対応し、以下に述べる本実施形態の機能を除いて、同様の機能を有するので、詳細な説明は省略する。
【００４４】
要求処理部６０２は、要求情報データを元に、部分データまたは鍵生成用データをコンテンツ保存部６０３から取得する機能を有する。ただし、本実施形態における要求情報データは、コンテンツ特定情報、コンテンツの分割数、コンテンツのレンジ、鍵生成用データを特定する情報などを含む。なお、当該コンテンツを所定の分割数で分割して生成された各コンテンツ部分を部分データと称す。コンテンツのレンジはデータ範囲を特定する情報であり、例えば１００Mbyteの分割元コンテンツの1〜50Mbyteまでのデータ範囲というように特定する。
【００４５】
コンテンツ保存部６０３は、分割元のコンテンツＡと、その部分データの識別子にそれぞれ対応した鍵生成用データＧＫA1〜ＧＫANとを格納するが、本実施形態における鍵生成用データＧＫA1〜ＧＫANは鍵生成用データ算出部６０４により生成されて保存される。なお、本実施形態において、部分データは、要求処理部１０２やハッシュ値算出部６０５の要求（コンテンツのレンジなどの部分データ識別子）に応じて随時生成されるものとする。
【００４６】
鍵生成用データ算出部６０４は、部分データＰＡｉから得られたハッシュ値ｈ（ＰＡｉ）と鍵データＫＡとを用いて鍵生成用データＧＫＡｉを算出する機能を有する。これらの関係は、排他的論理和ＥＸＯＲを用いた場合、上述したようにＧＫAｉ＝ＥＸＯＲ（ｈ（ＰAｉ），ＫＡ）、およびＫＡ＝ＥＸＯＲ（ｈ（ＰAｉ），ＧＫAｉ）である。ハッシュ値算出部６０５は、ハッシュ関数を用いて部分データＰＡｉからハッシュ値ｈ（ＰＡｉ）を算出する機能を有し、鍵生成部６０６は、鍵データＫＡを新たに生成する機能を有する。
【００４７】
なお、要求処理部６０２、鍵生成用データ算出部６０４、ハッシュ値算出部６０５および鍵生成部６０６は、コンピュータプログラムをＣＰＵ等のプログラム制御プロセッサ上で実行することにより、後述する機能を実現することもできる。
【００４８】
２．２）鍵生成用データの配付
図７において、部分データＰＡｉを取得した後、端末の要求処理部２０１は、受信した部分データＰAｉに対応する鍵生成用データＧＫＡｉのダウンロードを示す要求情報データの送信を送信部２０２に対して指示する（ステップＳ３０１）。送信部２０２は要求処理部２０１の指示に従って要求情報データを送信する（ステップＳ３０２）。
【００４９】
サーバ６の受信部６０１は、端末から要求情報データを受信すると、それを要求処理部６０２に渡す（ステップＳ３０３）。要求処理部６０２は、受信した要求情報データを元に、コンテンツ保存部６０３に対して鍵生成用データＧＫＡｉを要求する（ステップＳ３０４）。コンテンツ保存部６０３は、要求された鍵生成用データＧＫＡｉがあれば、それを要求処理部６０２に返すが、要求された鍵生成用データＧＫＡｉがなければ、存在しないことを要求処理部６０２に通知する（ステップＳ３０５）。このとき、要求処理部６０２は、鍵生成用データＧＫＡｉを取得できれば（有）、ステップＳ３２１へ飛ぶ。
【００５０】
要求された鍵生成用データＧＫＡｉがない旨の通知を受けると（無）、要求処理部６０２は、鍵生成用データ算出部６０４に対して、要求情報データを元に部分データに対応する鍵生成用データの生成を要求する（ステップＳ３０６）。
【００５１】
鍵生成用データ算出部６０４は、ハッシュ値算出部６０５に対して、部分データＰＡｉのハッシュ値を要求する（ステップＳ３０７）。ハッシュ値要求を受けると、ハッシュ値算出部６０５は、コンテンツ保存部６０３に対して部分データＰＡｉを要求し（ステップＳ３０８）、コンテンツ保存部６０３は部分データＰＡｉを返す（ステップＳ３０９）。ハッシュ値算出部６０５は、ハッシュ関数を用いて部分データＰＡｉからハッシュ値ｈ（ＰＡｉ）を算出し（ステップＳ３１０）、鍵生成用データ算出部６０４に対して返す（ステップＳ３１１）。
【００５２】
鍵生成用データ算出部６０４は、分割元コンテンツＡに対応する鍵データＫＡがあるかどうか確認し、鍵データＫＡがなければ（ＫＡ無）、鍵生成部６０６に対して鍵データＫＡの生成を要求する（ステップＳ３１２）。この要求を受けて、鍵生成部６０６は鍵データＫＡを新たに生成し（ステップＳ３１３）、鍵生成用データ算出部６０４に返す（ステップＳ３１４）。なお、分割元コンテンツＡに対応する鍵データＫＡがあれば（ＫＡ有）、ステップＳ３１６へ飛ぶ。鍵生成用データ算出部６０４は、コンテンツのレンジ情報と共に鍵データＫＡを記憶する（ステップＳ３１５）。
【００５３】
鍵生成用データ算出部６０４は、部分データＰＡｉのハッシュ値ｈ（ＰＡｉ）と鍵データＫＡとの排他的論理和ＥＸＯＲの演算を行うことで、鍵生成用データＧＫＡｉを算出し（ステップＳ３１６）、鍵生成用データＧＫＡｉをコンテンツのレンジ情報と関連付けてコンテンツ保存部６０３に保存する（ステップＳ３１７）。上述したステップＳ３０７〜ステップＳ３１７は、要求情報データに基づいた分割数Ｎでコンテンツを分割して得られた全ての部分データＰＡ１〜ＰＡＮに対して繰り返し実行する。
【００５４】
鍵生成用データ算出部６０４は、全ての部分データに対して鍵生成用データの算出処理が完了すると、要求処理部６０２に対して処理の完了を通知する（ステップＳ３１８）。要求処理部６０２は、コンテンツ保存部６０３に対して要求情報データを元に鍵生成用データＧＫＡｉを要求し（ステップＳ３１９）、コンテンツ保存部６０３は、要求された鍵生成用データＧＫＡｉを返す（ステップＳ３２０）。要求処理部６０２は、送信部６０７に対して、鍵生成用データＧＫＡｉの送信を指示し（ステップＳ３２１）、送信部６０７は、鍵生成用データＧＫＡｉを要求した端末に対して鍵生成用データＧＫＡｉを送信する（ステップＳ３２２）。
【００５５】
鍵生成用データＧＫＡｉを端末の受信部２０３が受信し（ステップＳ３２３）、コンテンツ保存部２０４に保存する（ステップＳ３２４）までの動作は、図４におけるステップＳ１１７およびＳ１１８と同様である。
【００５６】
なお、鍵データ取得の動作に関しては、図５に示す第１実施形態と同様の動作であるため説明を省略する。
【００５７】
２．３）効果
本発明の第２実施形態によれば、上述した第１実施形態と同様の効果を得ることができるが、さらに鍵生成用データを事前に用意する必要がなく、サーバ側に分割元コンテンツのみ保存しておくだけで、分割ダウンロードの際の分割数・位置を自由に変更することが可能となる。
【００５８】
３．鍵データ／鍵生成用データの算出
上述した第１および第２実施形態では、上述したように、演算方法として排他的論理和ＥＸＯＲを用いて、鍵生成用データＧＫAｉ＝ＥＸＯＲ（ｈ（ＰAｉ），ＫＡ）、および鍵データＫＡ＝ＥＸＯＲ（ｈ（ＰAｉ），ＧＫAｉ）を算出したが、排他的論理和ＥＸＯＲ以外の演算方法も利用可能である。すなわち、演算ｆの結果と演算ｆに用いた２つのデータａ，ｂの内の１つ（ａ）とを用いることで、演算ｆに用いたもう一方のデータ（ｂ）を算出できる演算ｇであればよい。
【００５９】
例えば、鍵生成用データの演算方法に四則演算(加法、減法、乗算、除算)あるいは対象鍵暗号を用いる場合には、固有値および鍵生成用データから鍵データを計算するには、鍵生成用データの演算方法に対応付けられた計算方法を用いる。具体的には、鍵生成用データの演算方法ｆが加法であれば演算ｇとして減法を、乗算であれば除算を、対象鍵暗号であれば対象鍵復号を、というように対応関係を持つ計算方法ｆおよびｇを用いる。
【００６０】
一般的に表せば、部分データから得られる固有値をＸ、鍵データＫとし、演算ｆ(x, y) およびｇ(x, y)がある場合、ｇ（ｆ（K, X），Ｘ） = Kとなるような一対の演算ｆ、ｇを使用することができる。すなわち、鍵データＫに対して固有値Ｘを演算（ｆ）したものに対し、再度Ｘを演算（ｇ）すると、元の鍵データＫが得られるような一対の演算ｆ、ｇである（ただし、ｆ、ｇが同じ演算の場合を含む）。
【００６１】
４．他の実施形態
４．１）複数コンテンツ
分割ダウンロードを行う対象となるコンテンツは、複数個のコンテンツでも良い。この場合、分割ダウンロードを行う複数の端末がそれぞれ担当する各部分データは、複数のコンテンツを適宜分割したデータである。また、サーバは複数のコンテンツにまたがって同一の鍵データを用いて鍵生成用データを算出することができる。
【００６２】
このように、分割ダウンロードを行う複数の端末が、複数個のコンテンツを分割してダウンロードする場合でも、グループに参加する各端末は、部分データをダウンロードし終わった時点で同一の鍵データを取得できるようになる。
【００６３】
４．２）鍵生成用データの更新
分割元コンテンツを分割して部分データＰAｉと鍵生成用データＧＫAｉとを生成する動作において、部分データに関連する鍵生成用データを更新または削除する機能を追加することもできる。
【００６４】
図６に示すサーバ６を例にとれば、コンテンツ保存部６０３に保存される、部分データＰAｉの識別子に対応する鍵生成用データＧＫAｉを定期的あるいは不定期に更新または削除する機能を追加する。
【００６５】
たとえば、部分データＰAｉの識別子に対して、要求処理部６０２（あるいは制御部）がタイマを備え、タイムアウトしたときに、鍵生成用データ算出部６０４が当該部分データＰAｉに対応する鍵生成用データＧＫAｉを更新あるいは削除する。具体的には、要求処理部６０２が、部分データＰAｉと鍵生成用データＧＫAｉとが生成されたときからの経過時間をカウントする。そして一定時間以上の保存期間が経過した後に、部分データＰAｉおよび鍵生成用データＧＫAｉを示す要求情報データを受け取ると、当該鍵生成用データＧＫAｉの更新あるいは削除を鍵生成用データ算出部６０４に要求するという方法である。
【００６６】
また、必ずしも更新のタイミングで鍵生成用データを再生成する必要はなく、必要に応じて鍵生成用データを生成する動作も可能である。たとえば部分データＰAｉの識別子に対応する鍵生成用データＧＫAｉを不定期に更新または削除してもよい。ここでいう不定期の更新／削除は、例えば、任意のコンテンツに対して一定期間以上アクセスがない時に鍵生成用データを更新または削除することである。この動作により、分割ダウロードグループの全ての端末が部分データをダウンロードする前に、鍵生成用データが更新される事態を回避することができる。もし分割ダウロードグループの全ての端末が部分データをダウンロードする前に鍵生成用データが更新されると、すべての端末が共通の鍵を取得できない状況が生じうるからである。
【００６７】
上述した鍵生成用データの更新あるいは削除機能を有することで、分割ダウンロードを行う複数の端末が、部分データをダウンロードし終わった時点で取得することができる鍵データの有効期限を設定可能となる。
【００６８】
４．３）一方向データ配信
上述した各実施形態においては、部分データと鍵生成用データを配信する通信装置としてサーバを例示したが、本発明における配信側通信装置はサーバに限定されるものではない。受信側の通信装置（端末）へ一方向のデータ配信を行う通信装置であっても適用可能である。このような一方的な配信側通信装置としては、例えば放送局などが挙げられる。このような一方向性のデータ配信を行うシステムであっても、本発明によれば、受信側の複数の端末が、部分データをダウンロードし終わった時点で同一の鍵データを取得できるようになる。
【００６９】
５．端末間データ交換
上述した実施形態による通信端末は、ダウンロードユーザグループに属する他の端末との間で同一コンテンツＡの共通鍵データＫＡを取得することができる。この共通鍵データＫＡを用いることにより、互いに相手端末の部分データのダウンロード完了を確認した上で相互交換することが可能になる。
【００７０】
図８に示すように、通信端末には、図３に示す構成と同様に、要求処理部２０１、送信部２０２および受信部２０３を含む通信部、コンテンツ保存部２０４および共通鍵データ算出部２０５が設けられ、更に部分データ交換制御部２０６と通信端末の全体的動作を制御する制御部２０７とが設けられている。部分データ交換制御部２０６は、相手側端末との間で共通鍵データを用いて部分データの相互交換手順を実行する。
【００７１】
上述したように、共通鍵データ算出部２０５は、コンテンツ保存部２０４に格納された部分データと鍵生成用データとを用いて鍵データを算出する。図２（Ｂ）に示す例を用いれば、部分データＰAｉから算出した固有値ｈ（ＰAｉ）と鍵生成用データＧＫAｉとを用いて、コンテンツＡの共通鍵データＫＡを演算ＥＸＯＲ（ＧＫAｉ，ｈ（ＰAｉ））により求める。
【００７２】
同じダウンロードユーザグループに属する他の端末との間で各々がダウンロードした部分データを交換する場合には、互いをグループメンバーであると認証した後、相手側端末が共通鍵データを算出済みであれば、同一の共通鍵データＫＡを用いて、部分データ交換制御部２０６は相手側端末が同一のコンテンツＡの担当部分を正常にダウンロードしたことを確認できる。なお、共通鍵データＫＡは、次のような種々の使用方法があり得る。
１． アドホックネットワークを形成するWEPキーとして使う。
２． チャレンジ＆レスポンスの認証鍵として使う。たとえば、鍵データや鍵データのハッシュ値そのものを無線網を介して他のグループ端末に渡す際の盗聴を防止する。
３． データ交換の際の暗号鍵に用いる。
【００７３】
このように、制御部２０７は、相手端末のダウンロード完了を確認してから部分データを相互に交換することができるので、悪意を持った端末が当該グループに参加して自ら部分データをダウンロードすることなく他の端末から部分データのみを収集しようとする行為を有効に阻止することができる。
【００７４】
なお、要求処理部２０１、共通鍵データ算出部２０５、部分データ交換制御部２０６および制御部２０７と同等の機能は、コンピュータプログラムをＣＰＵ等のプログラム制御プロセッサ上で実行することにより実現することもできる。
【産業上の利用可能性】
【００７５】
本発明は、通信システム上のデータ配信装置、サーバ、データを交換する通信端末などに適用できる。
【符号の説明】
【００７６】
1  サーバ
2  端末
3  端末
4  ネットワーク
5  ダウンロードユーザグループ
101  受信部
102  要求処理部
103  コンテンツ保存部
104  送信部
201  要求処理部
202  送信部
203  受信部
204  コンテンツ保存部
205  共通鍵データ算出部
206  部分データ交換制御部
207  制御部
601  受信部
602  要求処理部
603  コンテンツ保存部
604  鍵生成用データ算出部
605  ハッシュ値算出部
606  鍵生成部
607  送信部
【図１】
2010183327.tif 000003
【図２】
2010183327.tif 000004
【図３】
2010183327.tif 000005
【図４】
2010183327.tif 000006
【図５】
2010183327.tif 000007
【図６】
2010183327.tif 000008
【図７】
2010183327.tif 000009
【図８】
2010183327.tif 000010