(57)【要約】【課題】  通信コストおよびサーバの負担が増大することなく不公平な交換が行われるのを防止する機器間データ交換システムを提供すること。【解決手段】  機器１１ａは、機器１１ｂとの間でデータを交換する。交換完了データ管理装置２１は、データ交換を完了した後に、それぞれが取得したデータを再生するために必要なデータである交換完了データを管理する。交換完了データ管理装置は、機器１１ａおよび機器１１ｂが共に所望のデータを正常に受信できた場合にのみ、機器１１ａに対して機器１１ｂから取得した交換完了データを送信し、機器１１ｂに対して機器１１ａから取得した交換完了データを送信する。【選択図】  図１
2004171538.tif 000002
【特許請求の範囲】
【請求項１】
通信媒体を介して接続される機器間でデータを交換するためのシステムであって、
少なくとも一つの交換可能なデータを所有しており、他の機器との間でのデータ交換を所望する第１の機器と、
前記第１の機器が所望するデータを所有する第２の機器と、
前記通信媒体を介して前記第１および第２の機器と接続されており、前記第１および第２の機器がデータ交換を完了した後に、前記第１の機器が取得したデータを再生するために必要なデータである第１の交換完了データと、前記第２の機器が取得したデータを再生するために必要なデータである第２の交換完了データとを管理する交換完了データ管理装置とを備え、
前記交換完了データ管理装置は、
前記第１および第２の機器が共に所望のデータを正常に受信できた場合にのみ、前記第１の交換完了データを前記第１の機器に送信し、前記第２の交換完了データを前記第２の機器に送信する交換完了データ送信手段を含む、機器間データ交換システム。
【請求項２】
前記第１の機器は、
前記第２の交換完了データを作成する第１の交換完了データ作成手段と、
前記第１の交換完了データ作成手段が作成した前記第２の交換完了データを前記交換完了データ管理装置に送信する第１の交換完了データ送信手段とを含み、
前記第２の機器は、
前記第１の交換完了データを作成する第２の交換完了データ作成手段と、
前記第２の交換完了データ作成手段が作成した前記第１の交換完了データを前記交換完了データ管理装置に送信する第２の交換完了データ送信手段とを含み、
前記交換完了データ管理装置は、さらに、
前記交換完了データ送信手段から送信されてきた第１および第２の交換完了データを送信元の機器が特定できるように管理する交換完了データ管理手段を含むことを特徴とする、請求項１に記載の機器間データ交換システム。
【請求項３】
前記第１の機器は、さらに、
自機器が所有するデータを、前記第２の交換完了データを用いることによって初めて正常に再生することができるデータに変換する第１のデータ変換手段と、
前記第２の機器から受信したデータを前記第１の交換完了データを用いて、正常に再生することができるデータに復元する第１のデータ復元手段とを含み、
前記第２の機器は、さらに、
自機器が所有するデータを、前記第１の交換完了データを用いることによって初めて正常に再生することができるデータに変換する第２のデータ変換手段と、
前記第１の機器から受信したデータを前記第２の交換完了データを用いて、正常に再生することができるデータに復元する第２のデータ復元手段とを含む、請求項２に記載の機器間データ交換システム。
【請求項４】
前記第１の機器は、さらに、
前記交換完了データ管理装置に対して、前記第２の交換完了データの作成を要求する第１の交換完了データ作成要求手段を含み、
前記第２の機器は、さらに、
前記交換完了データ管理装置に対して、前記第１の交換完了データの作成を要求する第２の交換完了データ作成要求手段を含み、
前記交換完了データ管理装置は、さらに、
前記第１および第２の交換完了データ作成要求手段からの要求に応じて、前記第１および第２の交換完了データを作成する交換完了データ作成手段と、
前記交換完了データ作成手段によって作成された前記第１および第２の交換完了データを要求先の機器が特定できるように管理する交換完了データ管理手段とを含む、請求項１に記載の機器間データ交換システム。
【請求項５】
前記第１および第２の機器は、それぞれ、さらに、
自機器が所有する第１のデータを、交換完了データを用いることによって初めて正常に再生することができる第２のデータに変換するデータ変換手段と、
データ交換相手の機器から受信したデータを、前記交換完了データ送信手段から送信されてくる交換完了データを用いて、正常に再生することができるデータに復元するデータ復元手段とを含み、
前記交換完了データ管理装置は、
前記第１および第２の交換完了データを用いることによって、前記第２のデータが正常に再生できるように前記第１のデータを変換するための第１および第２の変換処理データを作成して、前記第１の変換処理データを前記第２の機器に送信し、前記第２の変換処理データを前記第１の機器に送信する変換処理データ作成送信手段をさらに含み、
前記第１の機器の前記データ変換手段は、前記変換処理データ送信手段からの前記第２の変換処理データを用いて、第１のデータを第２のデータに変換し、
前記第２の機器の前記データ変換手段は、前記変換処理データ送信手段からの前記第１の変換処理データを用いて、第１のデータを第２のデータに変換することを特徴とする、請求項４に記載の機器間データ交換システム。
【請求項６】
前記第１の変換処理データは、第１の暗号鍵であり、
前記第１の交換完了データは、前記第１の暗号鍵に対応する第１の復号鍵であり、
前記第２の交換処理データは、第２の暗号鍵であり、
前記第２の交換完了データは、前記第２の暗号鍵に対応する第２の復号鍵であることを特徴とする、請求項５に記載の機器間データ交換システム。
【請求項７】
前記第１および第２の機器は、それぞれ、さらに、
データ交換相手の機器との通信が終了した場合、通信結果を示す情報を前記交換完了データ管理装置に通知する通信結果通知手段を含み、
前記交換完了データ送信手段は、前記第１および第２の機器の前記通信結果通知手段からの前記通信結果を示す情報に基づいて、前記第１および第２の機器が共に所望のデータを正常に受信できたか否かを判断することを特徴とする、請求項１に記載の機器間データ交換システム。
【請求項８】
前記通信結果を示す情報は、前記所望のデータを正常に受信できたか否かを示す情報であり、
前記交換完了データ送信手段は、前記第１および第２の機器から正常に受信できた旨の情報を受け取った場合に、交換完了データを送信することを特徴とする、請求項６に記載の機器間データ交換システム。
【請求項９】
前記第１の交換完了データは、前記第２の機器が前記第１の機器に与えたデータを復号化するための復号鍵であり、
前記第２の交換完了データは、前記第１の機器が前記第２の機器に与えたデータを復号化するための復号鍵であることを特徴とする、請求項１に記載の機器間データ交換システム。
【請求項１０】
前記第１および第２の機器は、さらに、所望のデータを完全に受信できなかった場合、交換相手の機器に対して、データの再送を要求する再送要求手段を含む、請求項１に記載の機器間データ交換システム。
【請求項１１】
所望するデータを所有する他の機器との間で、前記所望するデータと自機器が所有するデータとを交換する機器であって、
自機器が所有するデータを再生するために必要なデータである第１の交換完了データを作成する交換完了データ作成手段と、
前記交換完了データ作成手段が作成した前記第１の交換完了データを、交換完了データを管理する交換完了データ管理装置に登録させる交換完了データ登録手段と、
前記他の機器との通信が終了したら、前記他の機器から取得したデータを再生するために必要なデータである第２の交換完了データを、前記交換完了データ管理装置から取得する交換完了データ取得手段とを含む、機器。
【請求項１２】
さらに、自機器が所有するデータを、前記第１の交換完了データを用いることによって初めて正常に再生することができるデータに変換するデータ変換手段と、
前記交換完了データ取得手段が取得した前記第２の交換完了データを用いて、前記他の機器から取得したデータを正常に再生することができるデータに復元するデータ復元手段とを含む、請求項１１に記載の機器。
【請求項１３】
さらに、データ交換相手の機器との過去の交換履歴を記憶する交換履歴記憶手段を備え、
前記データ変換手段は、前記交換履歴に基づいて、データの変換方法を変更し、
前記交換完了データ作成手段は、前記交換履歴に基づいて、交換完了データの作成方法を変更することを特徴とする、請求項１２に記載の機器間データ交換システム。
【請求項１４】
さらに、所望のデータを完全に受信できなかった場合、交換相手の機器に対して、データの再送を要求する再送要求手段を含む、請求項１１に記載の機器。
【請求項１５】
所望するデータを所有する他の機器との間で、前記所望するデータと自機器が所有するデータとを交換する機器であって、
自機器が所有するデータを再生するために必要なデータである第１の交換完了データの作成を、交換完了データを管理する交換完了データ管理装置に要求する交換完了データ作成要求手段と、
前記他の機器との通信が終了したら、前記他の機器から取得したデータを再生するために必要なデータである第２の交換完了データを、前記交換完了データ管理装置から取得する交換完了データ取得手段とを含む、機器。
【請求項１６】
さらに、前記交換完了データ管理装置から送られてくる前記第１の交換完了データを用いることによって、自機器が所有するデータが正常に再生できるように、前記所有するデータを変換するための変換処理データを受信する変換処理データ受信手段と、
前記変換処理データ受信手段が受信した変換処理データを用いて、自機器が所有するデータを変換するデータ変換手段と、
前記交換完了データ取得手段が取得した前記第２の交換完了データを用いて、前記他の機器から取得したデータを正常に再生することができるデータに復元するデータ復元手段とを含む、請求項１５に記載の機器。
【請求項１７】
さらに、データ交換相手の機器との過去の交換履歴を記憶する交換履歴記憶手段と、
前記交換履歴に基づいて、前記データ変換手段で用いる変換方法を前記交換完了データ管理装置に通知する変換方法通知手段とを含み、
前記データ変換手段は、前記交換完了データ管理装置から送られてくる指定した前記変換方法を用いる変換処理データを用いて、自機器が所有するデータを変換することを特徴とする、請求項１６に記載の機器。
【請求項１８】
さらに、所望のデータを完全に受信できなかった場合、交換相手の機器に対して、データの再送を要求する再送要求手段を含む、請求項１５に記載の機器。
【請求項１９】
通信媒体を介して接続される機器間でデータを交換するためのシステムで用いられる装置であって、
第１の機器と第２の機器との間で交換されたデータを再生するために必要な交換完了データを管理する交換完了データ管理手段と、
前記第１および第２の機器が共に所望のデータを正常に受信できた場合にのみ、前記第１の機器が取得したデータを再生するために必要な交換完了データを前記第１の機器に送信し、前記第２の機器が取得したデータを再生するために必要な交換完了データを前記第２の機器に送信する交換完了データ送信手段とを含む、交換完了データ管理装置。
【請求項２０】
さらに、前記第１および第２の機器からの要求に応じて、前記交換完了データを作成する交換完了データ作成手段と、
前記交換完了データ作成手段によって作成された前記交換完了データを要求先の機器が特定できるように管理する交換完了データ管理手段とを含む、請求項１９に記載の交換完了データ管理装置。
【請求項２１】
さらに、前記交換完了データ作成手段によって作成された前記交換完了データを用いて前記第１および第２の機器で交換後のデータが正常に再生できるようにするための変換処理データを作成して、前記第１および第２の機器に送信する変換処理データ作成送信手段を含む、請求項２０に記載の交換完了データ管理装置。
【請求項２２】
前記交換完了データ送信手段は、前記第１および第２の機器のからの通信結果を示す情報に基づいて、前記第１および第２の機器が共に所望のデータを正常に受信できたか否かを判断することを特徴とする、請求項１９に記載の交換完了データ管理装置。
【請求項２３】
前記通信結果を示す情報は、前記所望のデータを正常に受信できたか否かを示す情報であり、
前記交換完了データ送信手段は、前記第１および第２の機器から正常に受信できた旨の情報を受け取った場合に、交換完了データを送信することを特徴とする、請求項２２に記載の交換完了データ管理装置。
【請求項２４】
さらに、所定の条件を満たす場合、管理している交換完了データを削除する交換完了データ削除手段を含む、請求項１９に記載の交換完了データ管理装置。
【請求項２５】
前記交換完了データ削除手段は、前記所定の条件として、交換完了データ送信手段によって送信された交換完了データが前記第１および第２の機器で正常に受信された場合、前記第１および第２の機器に送信した前記交換完了データを削除することを特徴とする、請求項２４に記載の交換完了データ管理装置。
【請求項２６】
前記交換完了データ削除手段は、前記所定の条件として、いずれか一つの機器から前記所望のデータを正常に受信できなかった旨の通知を受けた場合、前記第１および第２の機器によって登録された前記交換完了データを削除することを特徴とする、請求項２４に記載の交換完了データ管理装置。
【請求項２７】
コンピュータ装置に、所望するデータを所有する他のコンピュータ装置との間で、前記所望するデータと自らが所有するデータとを交換させるためのプログラムであって、
自らが所有するデータを再生するために必要なデータである第１の交換完了データを前記コンピュータ装置に作成させるステップと、
作成した前記第１の交換完了データを、交換完了データを管理する交換完了データ管理装置に対して、前記コンピュータ装置に登録させるステップと、
前記他のコンピュータ装置との通信が終了したら、前記他のコンピュータ装置から取得したデータを再生するために必要なデータである第２の交換完了データを、前記交換完了データ管理装置から前記コンピュータ装置に取得させるステップとを含む、プログラム。
【請求項２８】
コンピュータ装置に、所望するデータを所有する他のコンピュータ装置との間で、前記所望するデータと自らが所有するデータとを交換させるためのプログラムであって、
自らが所有するデータを再生するために必要なデータである第１の交換完了データの作成を、交換完了データを管理する交換完了データ管理装置に対して、前記コンピュータ装置に要求させるステップと、
前記他のコンピュータ装置との通信が終了したら、前記他のコンピュータ装置から取得したデータを再生するために必要なデータである第２の交換完了データを、前記交換完了データ管理装置から前記コンピュータ装置に取得させるステップとを含む、プログラム。
【請求項２９】
通信媒体を介して接続されるコンピュータ装置間でデータを交換するためのシステムで用いられるコンピュータ装置を、
第１のコンピュータ装置と第２のコンピュータ装置との間で交換されたデータを再生するために必要な交換完了データを管理する交換完了データ管理手段、および、
前記第１および第２のコンピュータ装置が共に所望のデータを正常に受信できた場合にのみ、前記第１のコンピュータ装置が取得したデータを再生するために必要な交換完了データを前記第１のコンピュータ装置に送信し、前記第２のコンピュータ装置が取得したデータを再生するために必要な交換完了データを前記第２のコンピュータ装置に送信する交換完了データ送信手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器間でお互いが所有する電子データの交換処理を行うシステムに関し、より特定的には、交換処理を行う両機器にとって、公平に処理を完了させることができるシステムに関する。
【背景技術】
【０００２】
近年、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ：非対称デジタル加入回線）やＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）を代表とする高速ネットワークの普及に伴い、機器間でお互いが所有する電子データを交換するＰ２Ｐ（Ｐｅｅｒ  Ｔｏ  Ｐｅｅｒ）型データ交換システムが登場してきた。
【０００３】
最初に登場したＰ２Ｐ型システムは、２台の機器だけで構成される純粋なＰ２Ｐ型データ交換システムであった。例えば、ＷｉｎＭＸなどがこれに該当する。純粋なＰ２Ｐ型データ交換システムでは、１）相手の機器に自身が希望するデータの送信を要求する機能、２）相手の機器から要求されたデータを送信する機能、３）相手の機器からデータを受信する機能、４）相手の機器へのデータ送信を中断する機能のみを有する。これにより、お互いにデータの送受信を行うことができる。しかし、交換するデータサイズが異なったり、双方のデータ送受信速度が異なったりするため、一方の機器がもう一方の機器よりも早くデータの受信を完了することが起こり得る。従って、純粋なＰ２Ｐ型データ交換システムでは、自分がデータの受信を完了した時点で相手へのデータ送信を中断することによって、自分はデータの受信を完了しているにも拘わらず、相手にはデータの受信を完了させないという不公平な行為が行われることがあった。
【０００４】
そこで、上述した不公平な行為が行われないための手段として、データの交換処理の仲介役を担当するサーバを設けるという方法が提案された（例えば、特許文献１と非特許文献１を参照）。このような仲介サーバ付きＰ２Ｐ型データ交換システムでは、機器間でのデータ交換中に何かしらの問題が発生して、機器が目的のデータを取得できなかったという事態に対応するために、機器間でのデータ交換を開始する前に、まず交換対象のデータを仲介サーバにアップロードする。仲介サーバ付きＰ２Ｐ型データ交換システムでは、機器間でのデータ交換中に一方の端末のみが目的のデータが取得できない状態になっても、仲介サーバが交換対象のデータを保持しているため、目的のデータが取得できなかった機器は、仲介サーバからデータの補完を受けることできる。
【特許文献１】米国特許第６０６１７９２号明細書
【非特許文献１】エヌ．アソカン、ビクター  シュー、マイケル  ウェインドナー著（Ｎ．Ａｓｏｋａｎ，Ｖｉｃｔｏｒ  Ｓｈｏｕｐ  ａｎｄ  Ｍｉｃｈａｅｌ  Ｗａｉｄｎｅｒ）、アシンクロナス  プロトコルズ  フォー  オプタミスティック  フェア  エクスチェンジ（“Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｐｒｏｔｏｃｏｌｓ  ｆｏｒ  Ｏｐｔｉｍｉｓｔｉｃ  Ｆａｉｒ  Ｅｘｃｈａｎｇｅ”）、リサーチ  レポート  ＲＺ  ２９７６（＃９３０２２）（Ｒｅｓｅａｒｃｈ  Ｒｅｐｏｒｔ  ＲＺ  ２９７６（＃９３０２２））、アイビーエム  リサーチ（ＩＢＭ  Ｒｅｓｅａｒｃｈ）、１９９７年１２月
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＷｉｎＭｘなどのような純粋なＰ２Ｐ型データ交換システムを用いた場合、以下のような問題が発生する。機器間でのデータ交換中、上述のような不正な行為が行われた場合、一方の機器のユーザは、データ交換を中止したいと考える。例えば、機器Ａと機器Ｂとがデータの交換を行っている際、機器Ａが機器Ｂよりも先に目的のデータを取得し、機器Ｂとの通信を切断してしまった場合、機器Ｂのユーザは、自身が機器Ａからデータを取得することができなかったことに不満を感じ、機器Ａとのデータ交換を取り止め、データ交換を中止したいと考える。しかし、このような状況になってしまった場合、機器Ｂは、機器Ａに渡し終えたデータを使用させなくしたり、取り戻したりすることができない。このように、従来の純粋なＰ２Ｐ型データ交換システムでは、先にもう一方の機器がデータ取得を完了してしまっている場合、一度行うと決めたデータ交換を途中で取り止めることができなかった。そのため、不公平な交換が行われたとしても、一方のみがデータを取得して得をし、他方がデータを取得できずに損をするといった状況が発生してしまう。
【０００６】
また、仲介サーバ付きＰ２Ｐ型データ交換システムでは、データが仲介サーバに一度アップロードされた後、両方の端末間でデータ交換が行われ、通信に失敗した場合に仲介サーバのデータが一方の端末に送信されるため、両方の端末は必ずデータを取得することができる。しかし、機器間で交換するデータをまず仲介サーバにアップロードしなければならないため、そのデータ量に比例して、通信コストおよび仲介サーバへの負荷が増大する。
【０００７】
それゆえ、本発明の目的は、通信コストおよびサーバの負担が増大することなく不公平な交換が行われるのを防止する機器間データ交換システムならびにそれに用いられる端末、サーバおよびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、以下のような特徴を有する。本発明の第１の局面は、通信媒体を介して接続される機器間でデータを交換するためのシステムであって、少なくとも一つの交換可能なデータを所有しており、他の機器との間でのデータ交換を所望する第１の機器と、第１の機器が所望するデータを所有する第２の機器と、通信媒体を介して第１および第２の機器と接続されており、第１および第２の機器がデータ交換を完了した後に、第１の機器が取得したデータを再生するために必要なデータである第１の交換完了データと、第２の機器が取得したデータを再生するために必要なデータである第２の交換完了データとを管理する交換完了データ管理装置とを備え、交換完了データ管理装置は、第１および第２の機器が共に所望のデータを正常に受信できた場合にのみ、第１の交換完了データを第１の機器に送信し、第２の交換完了データを第２の機器に送信する交換完了データ送信手段を含む。
【０００９】
好ましくは、第１の機器は、第２の交換完了データを作成する第１の交換完了データ作成手段と、第１の交換完了データ作成手段が作成した第２の交換完了データを交換完了データ管理装置に送信する第１の交換完了データ送信手段とを含み、第２の機器は、第１の交換完了データを作成する第２の交換完了データ作成手段と、第２の交換完了データ作成手段が作成した第１の交換完了データを交換完了データ管理装置に送信する第２の交換完了データ送信手段とを含み、交換完了データ管理装置は、さらに、交換完了データ送信手段から送信されてきた第１および第２の交換完了データを送信元の機器が特定できるように管理する交換完了データ管理手段を含むとよい。
【００１０】
また、第１の機器は、さらに、自機器が所有するデータを、第２の交換完了データを用いることによって初めて正常に再生することができるデータに変換する第１のデータ変換手段と、第２の機器から受信したデータを第１の交換完了データを用いて、正常に再生することができるデータに復元する第１のデータ復元手段とを含み、第２の機器は、さらに、自機器が所有するデータを、第１の交換完了データを用いることによって初めて正常に再生することができるデータに変換する第２のデータ変換手段と、第１の機器から受信したデータを第２の交換完了データを用いて、正常に再生することができるデータに復元する第２のデータ復元手段とを含むとよい。
【００１１】
好ましくは、第１の機器は、さらに、交換完了データ管理装置に対して、第２の交換完了データの作成を要求する第１の交換完了データ作成要求手段を含み、第２の機器は、さらに、交換完了データ管理装置に対して、第１の交換完了データの作成を要求する第２の交換完了データ作成要求手段を含み、交換完了データ管理装置は、さらに、第１および第２の交換完了データ作成要求手段からの要求に応じて、第１および第２の交換完了データを作成する交換完了データ作成手段と、交換完了データ作成手段によって作成された第１および第２の交換完了データを要求先の機器が特定できるように管理する交換完了データ管理手段とを含むとよい。
【００１２】
また、第１および第２の機器は、それぞれ、さらに、自機器が所有する第１のデータを、交換完了データを用いることによって初めて正常に再生することができる第２のデータに変換するデータ変換手段と、データ交換相手の機器から受信したデータを、交換完了データ送信手段から送信されてくる交換完了データを用いて、正常に再生することができるデータに復元するデータ復元手段とを含み、交換完了データ管理装置は、第１および第２の交換完了データを用いることによって、第２のデータが正常に再生できるように第１のデータを変換するための第１および第２の変換処理データを作成して、第１の変換処理データを第２の機器に送信し、第２の変換処理データを第１の機器に送信する変換処理データ作成送信手段をさらに含み、第１の機器のデータ変換手段は、変換処理データ送信手段からの第２の変換処理データを用いて、第１のデータを第２のデータに変換し、第２の機器のデータ変換手段は、変換処理データ送信手段からの第１の変換処理データを用いて、第１のデータを第２のデータに変換するとよい。
【００１３】
たとえば、第１の変換処理データは、第１の暗号鍵であり、第１の交換完了データは、第１の暗号鍵に対応する第１の復号鍵であり、第２の交換処理データは、第２の暗号鍵であり、第２の交換完了データは、第２の暗号鍵に対応する第２の復号鍵であるとよい。
【００１４】
好ましくは、第１および第２の機器は、それぞれ、さらに、データ交換相手の機器との通信が終了した場合、通信結果を示す情報を交換完了データ管理装置に通知する通信結果通知手段を含み、交換完了データ送信手段は、第１および第２の機器の通信結果通知手段からの通信結果を示す情報に基づいて、第１および第２の機器が共に所望のデータを正常に受信できたか否かを判断するとよい。
【００１５】
好ましくは、通信結果を示す情報は、所望のデータを正常に受信できたか否かを示す情報であり、交換完了データ送信手段は、第１および第２の機器から正常に受信できた旨の情報を受け取った場合に、交換完了データを送信するとよい。
【００１６】
たとえば、第１の交換完了データは、第２の機器が第１の機器に与えたデータを復号化するための復号鍵であり、第２の交換完了データは、第１の機器が第２の機器に与えたデータを復号化するための復号鍵であるとよい。
【００１７】
好ましくは、第１および第２の機器は、さらに、所望のデータを完全に受信できなかった場合、交換相手の機器に対して、データの再送を要求する再送要求手段を含むとよい。
【００１８】
本発明の第２の局面は、所望するデータを所有する他の機器との間で、所望するデータと自機器が所有するデータとを交換する機器であって、自機器が所有するデータを再生するために必要なデータである第１の交換完了データを作成する交換完了データ作成手段と、交換完了データ作成手段が作成した第１の交換完了データを、交換完了データを管理する交換完了データ管理装置に登録させる交換完了データ登録手段と、他の機器との通信が終了したら、他の機器から取得したデータを再生するために必要なデータである第２の交換完了データを、交換完了データ管理装置から取得する交換完了データ取得手段とを含む。
【００１９】
好ましくは、さらに、自機器が所有するデータを、第１の交換完了データを用いることによって初めて正常に再生することができるデータに変換するデータ変換手段と、交換完了データ取得手段が取得した第２の交換完了データを用いて、他の機器から取得したデータを正常に再生することができるデータに復元するデータ復元手段とを含むとよい。
【００２０】
また、さらに、データ交換相手の機器との過去の交換履歴を記憶する交換履歴記憶手段を備え、データ変換手段は、交換履歴に基づいて、データの変換方法を変更し、交換完了データ作成手段は、交換履歴に基づいて、交換完了データの作成方法を変更するとよい。
【００２１】
また、さらに、所望のデータを完全に受信できなかった場合、交換相手の機器に対して、データの再送を要求する再送要求手段を含むとよい。
【００２２】
本発明の第３の局面は、所望するデータを所有する他の機器との間で、所望するデータと自機器が所有するデータとを交換する機器であって、自機器が所有するデータを再生するために必要なデータである第１の交換完了データの作成を、交換完了データを管理する交換完了データ管理装置に要求する交換完了データ作成要求手段と、他の機器との通信が終了したら、他の機器から取得したデータを再生するために必要なデータである第２の交換完了データを、交換完了データ管理装置から取得する交換完了データ取得手段とを含む。
【００２３】
好ましくは、さらに、交換完了データ管理装置から送られてくる第１の交換完了データを用いることによって、自機器が所有するデータが正常に再生できるように、所有するデータを変換するための変換処理データを受信する変換処理データ受信手段と、変換処理データ受信手段が受信した変換処理データを用いて、自機器が所有するデータを変換するデータ変換手段と、交換完了データ取得手段が取得した第２の交換完了データを用いて、他の機器から取得したデータを正常に再生することができるデータに復元するデータ復元手段とを含むとよい。
【００２４】
また、さらに、データ交換相手の機器との過去の交換履歴を記憶する交換履歴記憶手段と、交換履歴に基づいて、データ変換手段で用いる変換方法を交換完了データ管理装置に通知する変換方法通知手段とを含み、データ変換手段は、交換完了データ管理装置から送られてくる指定した変換方法を用いる変換処理データを用いて、自機器が所有するデータを変換するとよい。
【００２５】
また、さらに、所望のデータを完全に受信できなかった場合、交換相手の機器に対して、データの再送を要求する再送要求手段を含むとよい。
【００２６】
本発明の第４の局面は、通信媒体を介して接続される機器間でデータを交換するためのシステムで用いられる交換完了データ管理装置であって、第１の機器と第２の機器との間で交換されたデータを再生するために必要な交換完了データを管理する交換完了データ管理手段と、第１および第２の機器が共に所望のデータを正常に受信できた場合にのみ、第１の機器が取得したデータを再生するために必要な交換完了データを第１の機器に送信し、第２の機器が取得したデータを再生するために必要な交換完了データを第２の機器に送信する交換完了データ送信手段とを含む。
【００２７】
好ましくは、さらに、第１および第２の機器からの要求に応じて、交換完了データを作成する交換完了データ作成手段と、交換完了データ作成手段によって作成された交換完了データを要求先の機器が特定できるように管理する交換完了データ管理手段とを含むとよい。
【００２８】
また、さらに、交換完了データ作成手段によって作成された交換完了データを用いて第１および第２の機器で交換後のデータが正常に再生できるようにするための変換処理データを作成して、第１および第２の機器に送信する変換処理データ作成送信手段を含むとよい。
【００２９】
好ましくは、交換完了データ送信手段は、第１および第２の機器のからの通信結果を示す情報に基づいて、第１および第２の機器が共に所望のデータを正常に受信できたか否かを判断するとよい。
【００３０】
たとえば、通信結果を示す情報は、所望のデータを正常に受信できたか否かを示す情報であり、交換完了データ送信手段は、第１および第２の機器から正常に受信できた旨の情報を受け取った場合に、交換完了データを送信するとよい。
【００３１】
好ましくは、さらに、所定の条件を満たす場合、管理している交換完了データを削除する交換完了データ削除手段を含むとよい。
【００３２】
たとえば、交換完了データ削除手段は、所定の条件として、交換完了データ送信手段によって送信された交換完了データが第１および第２の機器で正常に受信された場合、第１および第２の機器に送信した交換完了データを削除するとよい。
【００３３】
たとえば、交換完了データ削除手段は、所定の条件として、いずれか一つの機器から所望のデータを正常に受信できなかった旨の通知を受けた場合、第１および第２の機器によって登録された交換完了データを削除するとよい。
【００３４】
本発明の第５の局面は、コンピュータ装置に、所望するデータを所有する他のコンピュータ装置との間で、所望するデータと自らが所有するデータとを交換させるためのプログラムであって、自らが所有するデータを再生するために必要なデータである第１の交換完了データをコンピュータ装置に作成させるステップと、作成した第１の交換完了データを、交換完了データを管理する交換完了データ管理装置に対して、コンピュータ装置に登録させるステップと、他のコンピュータ装置との通信が終了したら、他のコンピュータ装置から取得したデータを再生するために必要なデータである第２の交換完了データを、交換完了データ管理装置からコンピュータ装置に取得させるステップとを含む。
【００３５】
本発明の第６の局面は、コンピュータ装置に、所望するデータを所有する他のコンピュータ装置との間で、所望するデータと自らが所有するデータとを交換させるためのプログラムであって、自らが所有するデータを再生するために必要なデータである第１の交換完了データの作成を、交換完了データを管理する交換完了データ管理装置に対して、コンピュータ装置に要求させるステップと、他のコンピュータ装置との通信が終了したら、他のコンピュータ装置から取得したデータを再生するために必要なデータである第２の交換完了データを、交換完了データ管理装置からコンピュータ装置に取得させるステップとを含む。
【００３６】
本発明の第７の局面は、通信媒体を介して接続されるコンピュータ装置間でデータを交換するためのシステムで用いられるコンピュータ装置を、第１のコンピュータ装置と第２のコンピュータ装置との間で交換されたデータを再生するために必要な交換完了データを管理する交換完了データ管理手段、および、第１および第２のコンピュータ装置が共に所望のデータを正常に受信できた場合にのみ、第１のコンピュータ装置が取得したデータを再生するために必要な交換完了データを第１のコンピュータ装置に送信し、第２のコンピュータ装置が取得したデータを再生するために必要な交換完了データを第２のコンピュータ装置に送信する交換完了データ送信手段として機能させるためのプログラムである。
【発明の効果】
【００３７】
本発明によれば、機器間で交換されるデータそのものが仲介役を果たすサーバ（交換完了データ管理装置）にアップロードされることは無く、データ交換の完了に最低限必要なデータ（交換完了データ）のみが、サーバである交換完了データ管理装置にアップロードされることとなる。したがって、機器間で交換するデータ量に比例して、通信コストおよび仲介サーバへの負担が増大するといった問題が軽減される。加えて、本発明によれば、データ交換を行った二台の機器が正常に所望のデータを受信した場合にのみ、双方の機器は、交換完了データを取得することができるので、途中で通信が切断されてしまい、正常に所望のデータを相手方が受け取ることができなかった場合など、通信が異常終了した場合、通信を切断した側の機器は、交換完了データを取得することができない。したがって、双方の機器が所望のデータを再生することができなくなるので、公平なデータ交換システムが構築されることとなる。
【００３８】
さらに、機器が交換完了データを作成するようにすることによって、仲介役のサーバの役割がさらに軽減する。また、機器は、所有するデータを、交換完了データを使用しない限り正常に再生できないデータに変換して、相手側の機器に送信するので、相手側の機器は、交換完了データを取得しない限り、データを正常に再生することができないこととなる。
【００３９】
逆に、サーバが交換完了データを作成することによって、機器側で交換完了データを作成するための手段を設けておかなくてもよくなるので、機器の負担を軽減することができる。
【００４０】
たとえば、機器はデータを暗号化して相手側の機器に送信し、暗号化交換完了データとしての復号鍵を用いて受信したデータを再生することによって、一般的な暗号化・復号化ソフトウエアを流用することで、容易に、本発明のシステムを構築することができる。
【００４１】
また、交換完了データ管理装置は、機器から送られてくる通信結果を示す情報に基づいて、交換を行った機器が正常にデータを受信することができたか判断するので、容易にデータ交換が正常に行われたかを認識することができる。
【００４２】
また、各機器は、所望のデータを最後まで受信できなかった場合、相手側の機器に対して再送要求するので、所望のデータを最後まで受信することが可能となる。
【００４３】
また、今までデータを交換した機器との交換履歴に基づいて、交換完了データを作成して、相手側の機器での復元処理を簡素化することができる。したがって、信頼の高い相手との交換を早く行うことができ、使い勝手の良いシステムが提供されることとなる。さらに、今までデータを交換した機器との交換履歴に基づいて、送信するデータの変換を簡素化することができるので、信頼の高い相手とのデータ交換をより早く行うことができる。
【００４４】
また、所定の条件が成就すれば、交換完了データは、ネットワーク上から削除されることとなるので、交換完了データが長時間残ることによって不正利用が行われるのを防止することができる。
【００４５】
本発明のプログラムをそれぞれのコンピュータ装置に配布することで、使い勝手のよい機器間データ交換システムが構築されることとなり、コンテンツの流通が促進されることとなる。
【発明を実施するための最良の形態】
【００４６】
（第１の実施形態）
図１は、本発明の第１の実施形態における仲介サーバ付き機器間データ交換システムＳａの全体構成を示すブロック図である。図１において、仲介サーバ付き機器間データ交換システムＳａは、複数の機器１１と、交換完了データ管理装置２１と、公開データ管理装置３１と、伝送路４１とを備える。なお、図１では、機器１１ａと機器１１ｂとがデータを交換すると想定している。以下、交換対象の機器を特に限定しない場合は、機器１１と記し、交換対象の機器を限定して説明する場合は、機器１１ａと機器１１ｂとを用いることとする。なお、機器１１、交換完了データ管理装置２１、公開データ管理装置３１、および伝送路４１の数は、図１に示した数に限定されるものではない。
【００４７】
機器１１は、パーソナルコンピュータや携帯通信端末、携帯電話等の通信機能を有するコンピュータ装置であって、交換者が所有する。機器１１は、ハードディスクやメモリ等の記憶装置にデータを所有している。機器１１は、自機器が所有しているデータの内、交換可能なデータのリストを公開データ管理装置３１に登録して公開する。機器１１を操作するユーザは、公開データ管理装置３１に登録されている公開データのリストを参照して、所望のデータを保持している他の機器１１を認識する。ユーザが他の機器１１とのデータ交換を所望した場合、機器１１は、他の機器１１と通信することによって、自機器が所有するデータと他機器が所有するデータとを交換する。機器１１は、データ交換の際、自機器が所有するデータを所定の変換方法によって当該データを所持しているだけでは再生できないデータに変換して、他の機器１１に送信する。機器１１は、他の機器１１とデータを交換する際、データの交換が完了した後に当該データを正常に再生するために必要なデータ（以下、交換完了データという）を作成し、交換完了データ管理装置２１に送信して管理してもらう。機器１１は、交換相手の機器１１とのデータ交換が正常に終了した場合、交換完了データ管理装置２１から送られてくる交換相手の機器１１が作成した交換完了データを受信し、それを利用して交換によって得たデータを再生する。
【００４８】
ここで、交換完了データについて説明する。交換完了データは、データ交換によって取得した他の機器１１からのデータを正常に再生するために必要なデータである。典型的な交換完了データは、復号鍵である。復号鍵を交換完了データとして用いる場合、機器１１は、他の機器１１とデータ交換する際、上記所定の変換方法として、暗号化アルゴリズムを用い、自機器が所有するデータを暗号化して送信する。データ交換が正常に終了した後、機器１１は、交換完了データ管理装置２１から送られてくる交換相手の機器１１が作成した復号鍵を受信し、当該復号鍵を用いてデータを解読する。これによって、取得したデータを正常に再生することができる。以下、所定の変換方法のことをデータ変換方法ということにする。
【００４９】
なお、交換完了データとしては、その他に、映画のクライマックス部分のデータや音楽のサビ部分のデータ、元データをランダムまたは規則的に間引きしたデータ等がある。このように、元データの一部を交換完了データとして用いる場合、機器１１は、交換したデータを再生する際、取得した交換完了データと交換したデータとを足し合わせて、正常に再生できるデータを得ることとなる。交換データとして、元データの一部を交換完了データとする場合の上記所定の変換方法とは、元データの一部を抜き取るといった方法である。
【００５０】
交換完了データ管理装置２１は、サーバ等のコンピュータ装置であって、交換仲介者が所有する。交換完了データ管理装置２１は、各機器１１が作成した交換完了データを管理する。交換完了データ管理装置２１は、データ交換を行った二つの機器１１から正常にデータ交換が終了した旨の通知を受けた場合、管理している交換完了データを双方の機器１１に送信する。
【００５１】
公開データ管理装置３１は、サーバ等のコンピュータ装置であって、公開データ管理者が所有する。公開データ管理装置３１は、機器１１のユーザが交換してよいと登録しているデータのリストを公開データリストとして管理する。
【００５２】
伝送路４１は、典型的には、ＦＴＴＨのような光ファイバを用いた高速通信網であるが、これに限定されるものではなく、ＡＤＳＬやインターネット、衛星放送、無線通信ネットワーク、構内ＬＡＮ、無線ＬＡＮなど、電子的なデータを送受信できる通信媒体であればよい。
【００５３】
図２は、機器１１の内部の機能的構成を示すブロック図である。図２において、機器１１は、データ変換部１１１と、メッセージ処理部１１２と、記憶装置制御部１１３と、データ記憶装置１１４と、ユーザ入出力部１１５と、データ送受信部１１６とを含む。
【００５４】
データ変換部１１１は、所定のデータ変換方法を用いて、メッセージ処理部１１２から渡されるデータを指定された要求に従って変換処理する。データ変換部１１１は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵで実行されるプログラムによって実現されてもよい。
【００５５】
メッセージ処理部１１２は、データ変換部１１１、記憶装置制御部１１３、ユーザ入出力部１１５、およびデータ送受信部１１６と通信を行って、それぞれから与えられるメッセージを処理する。メッセージ処理部１１２は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵで実行されるプログラムによって実現されてもよい。
【００５６】
記憶装置制御部１１３は、データ記憶装置１１４に対してデータの入出力処理を行う。記憶装置制御部１１３は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵを実行させるデータ記憶装置１１４のデバイスドライバによって実現されてもよい。
【００５７】
データ記憶装置１１４は、各種データを記録するためのハードディスクやメモリ等の記憶装置である。データ記憶装置１１４には、公開可能なデータが格納されている。公開可能なデータには、当該データのデータＩＤに対応して公開用データＩＤが関連付けられている。さらに、当該公開用データＩＤには、当該データの実体内容を説明するための情報（以下、コンテンツ情報という）が対応付けられている。
【００５８】
図３は、データＩＤと公開用データＩＤとが関連付けられたデータのデータ構造の一例を示す図である。図３において、例えば、欄Ｄ４０１では、データＩＤ「ＤＡＴＡ＿ＩＤ−１１１１」と公開用データＩＤ「ＰＵＢＬＩＣ＿ＤＡＴＡ＿ＩＤ−１１１１」とが関連付けられている。また、欄Ｄ４０２では、データＩＤ「ＤＡＴＡ＿ＩＤ−２２２２」と公開用データＩＤ「ＰＵＢＬＩＣ＿ＤＡＴＡ＿ＩＤ−２２２２」とが関連付けられて記録されている。
【００５９】
図４は、図３のデータＩＤに対応するデータのデータ構造の一例を示す図である。図４において、例えば、欄Ｄ５０１がデータＩＤであり、欄Ｄ５０２が欄Ｄ５０１のデータＩＤに対応するデータの実体である。データの実体とは、例えば、映画や音楽などのデジタルデータである。このように、データＩＤに対応するデータの実体がデータ記憶装置１１４に格納されている。
【００６０】
図５は、図３の公開用データＩＤに対応する公開コンテンツ情報のデータ構造を示す図である。欄Ｄ６０１が公開用データＩＤであり、欄Ｄ６０２が欄Ｄ６０１の公開用データＩＤに対応する公開コンテンツ情報である。公開コンテンツ情報は、例えば、コンテンツ名と、当該コンテンツに対する権利がどの程度残っているかを示す情報（残り再生回数、有効期限）とからなる。なお、図５では、公開コンテンツ情報として、「コンテンツ名：青色の街」、「残り再生回数：７回」、「有効期限：２００３年３月３１日」である例を示している。
【００６１】
機器１１は、公開用データＩＤと公開コンテンツ情報とが対応付けられたリストを公開データ管理装置３１にアップロードする。当該リストは、公開データリストとして、公開データ管理装置３１で管理される。
【００６２】
ユーザ入出力部１１５は、機器１１を操作するユーザからのデータの入力を受け付けるためのキーボードやマウス、ボタンスイッチ等の入力装置、データの内容を画面表示するためのブラウン管や液晶画面等の表示装置、データの内容を音声として出力するスピーカ等の音声出力装置である。ユーザ入出力部１１５は、データ入力処理およびデータ出力処理を行う。
【００６３】
データ送受信部１１６は、伝送路４１を介して他の機器１１や交換完了データ管理装置２１、公開データ管理装置３１との間でデータの送受信を行うための回線終端装置等の通信装置である。
【００６４】
図６は、データ変換部１１１の内部の詳しい機能的構成を示すブロック図である。図６において、データ変換部１１１は、変換前データ変換処理部１１１１と、交換完了データ作成部１１１２と、変換後データ変換処理部１１１３と、要求判定部１１１４とを有する。
【００６５】
変換前データ変換処理部１１１１は、所定のデータ変換方法に基づいて、機器１１が所有するデータを変換する。以下、変換前のデータを変換前データという。変換後のデータを変換後データという。変換前データ変換処理部１１１１は、交換完了データ作成部１１１２から送られてきた交換完了データと作成した変換後データとをメッセージ処理部１１２に送る。
【００６６】
例えば、所定のデータ変換方法として、暗号化する方法を用いる場合、変換前データは暗号化前のデータであり、変換後データは暗号化後のデータとなる。また、所定のデータ変換方法として、映画のクライマックスの部分を抜き取る変換方法を用いた場合、変換後のデータは、当該クライマックスの部分が抜き取られたデータとなる。サビの部分を抜き取る変換方法についても同様である。なお、予めコンテンツ提供者がクライマックスの部分やサビの部分を指定しておくことによって、変換前データ変換処理部１１１１は、当該部分を認識することができる。所定のデータ変換方法として、データを間引く方法を用いる場合、変換前データ変換処理部１１１１は、変換前データから指定されている間引き部分を抜き取り、変換後データを作成する。
【００６７】
交換完了データ作成部１１１２は、変換前データから変換後データに変換するために必要な変換処理データと、変換後データを変換前データに戻すために必要な交換完了データとを作成し、変換前データ変換処理部１１１１に送る。変換前データ変換処理部１１１１でデータ変換方法として暗号化する方法が用いられる場合、交換処理データは、データを暗号化するための暗号鍵である。また、交換完了データは、暗号化データを復号するための復号鍵データである。
【００６８】
その他、データ変換方法としてデータの一部を抜き取る方法が用いられる場合、交換処理データは、抜き取る部分を指定した抜き取り部分指定データである。また、交換完了データは、抜き取った部分のデータである。なお、データ変換方法としてデータの一部を抜き取る方法が用いられる場合、交換完了データ作成部１１１２と変換前データ変換処理部１１１１との間での処理の流れの関係は、図６に示した処理の流れと前後することとなる。以下の説明では、簡単のために、特に断らない限り、データ変換方法として、暗号化する方法を用いることとする。しかし、その他のデータ変換方法を用いる場合も、交換完了データを作成し、交換完了データを用いることによって初めて変換後データが正常に再生できるということに本質的な差異はなく、処理の流れの微細な変更は容易に実現できる。
【００６９】
変換後データ変換処理部１１１３は、他の機器１１から取得した変換後データを、交換完了データ管理装置２１から取得した交換完了データを用いて変換前データに変換し、メッセージ処理部１１２に送る。具体的には、交換完了データが復号鍵である場合、変換後データ変換処理部１１１３は、暗号化されている変換後データを交換完了データを用いて復号化し、変換前データを得る。
【００７０】
要求判定部１１１４は、メッセージ処理部１１２から渡される要求の内容を判定し、所定の処理を実行する。渡された要求が変換前データを変換後データに変換するための要求である場合、要求判定部１１１４は、当該要求と共に受け取った変換前データを交換完了データ作成部１１１２に送る。渡された要求が変換後データを変換前データに変換するための要求である場合、要求判定部１１１４は、当該要求と共に受け取った変換後データと交換完了データとを変換後データ変換処理部１１１３に送る。
【００７１】
図７は、交換完了データ管理装置２１の内部の機能的構成を示すブロック図である。図７において、交換完了データ管理装置２１は、交換完了データ送信判定部２１１と、メッセージ処理部２１２と、記憶装置制御部２１３と、データ記憶装置２１４と、データ送受信部２１５とを含む。
【００７２】
交換完了データ送信判定部２１１は、機器ＩＤと機器１１から送られてくる交換完了データとを対応させた判定テーブルを作成し、機器１１から正常にデータ交換が完了した旨の通知があったか否かを当該判定テーブルに登録して、その登録内容に基づいて、機器１１に交換完了データを送信するか否かを判断する。具体的には、交換完了データ送信判定部２１１は、データ交換を行っている二つの機器１１ａ，１１ｂの両方から、正常にデータ交換が完了した旨の通知を受け取った場合にのみ、交換完了データを二つの機器１１ａ，１１ｂに送信してもよいと判断する。交換完了データ送信判定部２１１は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵで実行されるプログラムによって実現されてもよい。
【００７３】
メッセージ処理部２１２は、交換完了データ送信判定部２１１、記憶装置制御部２１３、およびデータ送受信部２１５と通信を行って、それぞれから与えられるメッセージを処理する。メッセージ処理部２１２は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵで実行されるプログラムによって実現されてもよい。
【００７４】
記憶装置制御部２１３は、データ記憶装置２１４に対してデータの入出力処理を行う。記憶装置制御部２１３は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵを実行させるデータ記憶装置２１４のデバイスドライバによって実現されてもよい。
【００７５】
データ記憶装置２１４は、各種データを記録するためのハードディスクやメモリ等の記憶装置である。データ記憶装置２１４には、機器１１から送られてきた交換完了データが、交換完了データを送信するか否かの判定に用いられる判定テーブルと共に格納されている。判定テーブルは、当該交換完了データのＩＤ（以下、交換完了データＩＤという）と対応付けられた、当該交換完了データを送信してきた機器１１のＩＤ（以下、機器ＩＤという）と、機器ＩＤに対応する機器１１から正常にデータ交換が完了した旨の通知があったか否かを示す完了通知フラグとからなる。
【００７６】
図８は、判定テーブルのデータ構造の一例を示す図である。図８において、例えば、判定テーブルＩＤが「ＪＵＤＧＥ＿ＴＡＢＬＥ＿ＩＤ−１１１１」の判定テーブルＤ９０１では、欄Ｄ９０２で機器ＩＤ「ＣＬＩＥＮＴ＿ＩＤ−１１１１」と交換完了データＩＤ「ＥＮＤ＿ＤＡＴＡ＿ＩＤ−１１１１」と完了通知フラグ「ＯＦＦ」とが関連付けられて記録され、欄Ｄ９０３で機器ＩＤ「ＣＬＩＥＮＴ＿ＩＤ−２２２２」と交換完了データＩＤ「ＥＮＤ＿ＤＡＴＡ＿ＩＤ−２２２２」と完了通知フラグ「ＯＦＦ」とが関連付けられて記録されている。ここで、完了通知フラグでは、相手の機器から交換対象のデータを正常に受信完了することができた旨の通知があった場合には、「ＯＮ」が設定され、データ交換の途中で何かしら異常が発生し、交換対象のデータを受信完了することができなかった旨の通知があった場合には、「ＯＦＦ」が設定される。このように、判定テーブルでは、交換完了データを送信してきた送信元の機器が特定できるように、当該交換完了データを管理するのに用いられる。
【００７７】
図９は、図８の交換完了データＩＤに対応する交換完了データのデータ構造の一例を示す図である。図９において、欄Ｄ１００１が交換完了データＩＤを示し、欄Ｄ１００２がＤ１００１の交換完了データＩＤに対応する交換完了データの実体を示す。ここで、交換完了データの実体とは、機器１１から送られてきた交換完了データの中身のことである。このように、データ記憶装置２１４には、交換完了データが判定テーブルと共に格納されている。
【００７８】
データ送受信部２１５は、伝送路４１を介して機器１１や公開データ管理装置３１との間でデータの送受信を行うための通信装置である。
【００７９】
図１０は、交換完了データ送信判定部２１１の内部の詳しい機能的構成を示すブロック図である。図１０において、交換完了データ送信判定部２１１は、判定テーブル参照部２１１１と、判定テーブル作成部２１１２と、要求判定部２１１３とを有する。
【００８０】
要求判定部２１１３は、メッセージ処理部２１２より渡される要求の内容を判定し、所定の処理を実行する。渡された要求が交換完了データの登録を求めるための要求である場合、要求判定部２１１３は、交換先および交換元の機器ＩＤと、両者からの交換完了データＩＤとを判定テーブル作成部２１１２に渡し、判定テーブルの作成を要求する。渡された要求が機器１１から通知されたデータ交換の完了通知に基づいて、交換完了データの送信判定を求めるものである場合、要求判定部２１１３は、当該完了通知をなした機器１１の機器ＩＤと、当該機器ＩＤに対応する判定テーブルＩＤと、完了通知に含まれていた完了通知情報とを判定テーブル参照部２１１１に渡し、交換完了データの送信判定を要求する。
【００８１】
判定テーブル作成部２１１２は、要求判定部２１１３から通知されるデータに基づいて、判定テーブルを作成してデータ記憶装置２１４に格納し、当該判定テーブルのＩＤをメッセージ処理部２１２に送る。なお、判定テーブル作成部２１１２がデータ記憶装置２１４に判定テーブルを格納するための経路については図示を省略している。
【００８２】
判定テーブル参照部２１１１は、要求判定部２１１３から通知されるデータに基づいて、データ記憶装置２１４に格納されている判定テーブルを参照して、交換完了データを送信するか否かを判断する。具体的には、判定テーブルにおける完了通知フラグが共に「ＯＫ」となっている場合、すなわち、データ交換を行った二つの機器１１から共に正常にデータ交換が完了した旨の通知を受けている場合のみ、判定テーブル参照部２１１１は、交換完了データを送信してよいと判断する。送信してよいと判断した場合、判定テーブル参照部２１１１は、送信先の機器１１の機器ＩＤと交換完了データＩＤとをメッセージ処理部２１２に送る。
【００８３】
図１１は、公開データ管理装置３１の内部の機能的構成を示すブロック図である。図１１において、公開データ管理装置３１は、メッセージ処理部３１１と、記憶装置制御部３１２と、データ記憶装置３１３と、データ送受信部３１４とを含む。
【００８４】
メッセージ処理部３１１は、記憶装置制御部３１２、およびデータ送受信部３１４と通信を行って、それぞれから与えられるメッセージを処理する。メッセージ処理部３１１は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵで実行されるプログラムによって実現されてもよい。
【００８５】
記憶装置制御部３１２は、データ記憶装置３１３に対してデータの入出力処理を行う。記憶装置制御部３１２は、専用ＬＳＩ等からなるハードウエアによって実現してもよいし、汎用のＣＰＵを実行させるデータ記憶装置３１３のデバイスドライバによって実現されてもよい。
【００８６】
データ送受信部３１４は、伝送路４１を介して機器１１や交換完了データ管理装置２１との間でデータの送受信を行うための通信装置である。
【００８７】
データ記憶装置３１３は、各種データを記録するためのハードディスクやメモリ等の記憶装置である。データ記憶装置３１３には、公開データリストが格納されている。公開データリストは、公開用データＩＤとそれを登録している機器１１の機器ＩＤ（以下、登録機器ＩＤという）とからなる。公開用データＩＤには、コンテンツ情報が対応付けられている。
【００８８】
図１２は、公開リストデータのデータ構造の一例を示す図である。図１２において、例えば、欄Ｄ１２０１では登録機器ＩＤ「ＣＬＩＥＮＴ＿ＩＤ−１１１１」と公開用データＩＤ「ＰＵＢＬＩＣ＿ＤＡＴＡ＿ＩＤ−１１１１」とが関連付けられて記録されており、欄Ｄ１２０２では登録機器ＩＤ「ＣＬＩＥＮＴ＿ＩＤ−２２２２」と公開用データＩＤ「ＰＵＢＬＩＣ＿ＤＡＴＡ＿ＩＤ−２２２２」とが関連付けられて記録されている。
【００８９】
図１３は、図１２の公開用データＩＤに対応するコンテンツ情報のデータ構造の一例を示す図である。図１３において、欄Ｄ１３０１が公開用データＩＤを示す。欄Ｄ１３０２が欄Ｄ１３０１における公開用データＩＤに対応するコンテンツ情報を示す。なお、図１３では、コンテンツ情報として、「コンテンツ名：青色の街」、「残り再生回数：７回」、「有効期限：２００３年３月３１日」が登録されている。
【００９０】
以下、上記のように構成された機器間データ交換システムＳａにおける処理の流れを説明する。本システムにおける処理は、三つの場面に分類できる。第１の場面は、機器１１が所有する公開用データを公開データ管理装置３１に登録する場面である。第２の場面は、機器１１ａがユーザから指定された公開用データＩＤに対応する機器ＩＤを公開データ管理装置３１から取得する場面である。第３の場面は、機器１１ａが機器１１ｂと交換完了データ管理装置２１を交えてお互いのデータを交換する場面である。以下、各場面毎における機器１１、交換完了データ管理装置２１、および公開データ管理装置３１の動作について説明する。
【００９１】
（公開用データの登録場面におけるシーケンス）
まず、図１４および図１５を用いて、機器１１が所有する公開用データを公開データ管理装置３１に登録する場面における機器１１および公開データ管理装置３１の動作について説明する。
【００９２】
図１４は、機器１１が所有する公開用データに関するコンテンツ情報を公開データ管理装置３１に登録する際の機器１１および公開データ管理装置３１の動作を示すシーケンス図である。図１４では、機器１１内における動作の主体、および機能ブロックから機能ブロックへやり取りされるデータやメッセージが明確になるように、各ステップが行われるタイミングを四角の白枠で囲み、やり取りされるデータ等を機能ブロック間を結ぶ矢印の上に記載することとした。ソフトウエア的に実現される機能ブロックについては、このようなシーケンス図に示す流れに従うようにプログラミングされた関数によって実現される。ハードウエア的に実現される機能ブロックについては、このようなシーケンス図に示す流れに従うように動作するよう設計すれば実現できる。図１４以降のシーケンス図についても同様である。
【００９３】
まず、機器１１のユーザ入出力部１１５は、ユーザの入力操作に応じて、ユーザが登録を希望するデータのデータＩＤを取得し、そのデータＩＤをメッセージ処理部１１２に通知して、公開用データの登録を要求する（ステップＳ１４０１）。
【００９４】
次に、メッセージ処理部１１２は、公開用データ登録要求に応じて、要求内に含まれるデータＩＤを取得し、当該データＩＤを記憶装置制御部１１３に通知して、公開用データをデータ記憶装置１１４から取得するよう要求する（ステップＳ１４０２）。
【００９５】
次に、記憶装置制御部１１３は公開用データ取得要求に応じて、要求内に含まれるデータＩＤを取得し、当該データＩＤに対応する公開用データＩＤと当該公開用データのコンテンツ情報とをデータ記憶装置１１４から取得し、取得した公開用データＩＤとコンテンツ情報とをメッセージ処理部１１２に送信する（ステップＳ１４０３）。
【００９６】
次に、メッセージ処理部１１２は、公開用データＩＤとコンテンツ情報とを受信すると、当該公開用データＩＤと当該コンテンツ情報と自機器の機器ＩＤとを含む公開用データ登録メッセージを作成して、データ送受信部１１６に送信する（ステップＳ１４０４）。データ送受信部１１６は、公開用データ登録メッセージを受信すると、当該メッセージを公開データ管理装置３１に送信する（ステップＳ１４０５）。
【００９７】
公開データ管理装置３１は、機器１１からの公開用データ登録メッセージを受信すると、当該メッセージに含まれている公開用データＩＤと機器ＩＤとに基づいて、公開データリストを作成し、対応するコンテンツ情報を格納して、登録データの登録処理の結果を示すＡＣＫメッセージを機器１１に送信する（ステップＳ１４０６）。
【００９８】
データ送受信部１１６は、公開データ管理装置３１からのＡＣＫメッセージを受信すると、当該メッセージをメッセージ処理部１１２に送信する（ステップＳ１４０７）。
【００９９】
メッセージ処理部１１２は、ＡＣＫメッセージを受信すると、そのメッセージ内に含まれる登録結果の情報をユーザ入出力部１１５に送信する（ステップＳ１４０８）。それに応じて、ユーザ入出力部１１５は、登録結果の情報を画面表示等によってユーザに知らせる（ステップＳ１４０９）。
【０１００】
図１５は、公開データ管理装置３１が公開用データ登録メッセージを受信したときの公開データ管理装置３１および機器１１の動作を示すシーケンス図である。図１５において、図１４で示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。なお、図１５に示すシーケンス図は、図１４のステップＳ１４０６における公開データ管理装置３１の動作を詳しく示した図である。
【０１０１】
まず、公開データ管理装置３１のデータ送受信部３１４は、機器１１からの公開用データ登録メッセージを受信し、当該メッセージをメッセージ処理部３１１に送信する（ステップＳ１５０１）。
【０１０２】
次に、メッセージ処理部３１１は、公開用データ登録メッセージを受信すると、そのメッセージ内の公開用データＩＤとコンテンツ情報と機器ＩＤとを抽出し、それらを含む公開用データ登録要求を記憶装置制御部３１２に送信する（ステップＳ１５０２）。
【０１０３】
記憶装置制御部３１２は、公開用データ登録要求を受信すると、要求内の公開用データＩＤとコンテンツ情報とを対応付け、当該公開用データＩＤと機器ＩＤとを対応付けて公開データリストを作成して、データ記憶装置３１３内に格納し、登録結果をメッセージ処理部３１１に送信する（ステップＳ１５０３）。
【０１０４】
メッセージ処理部３１１は、登録結果を受信すると、その登録結果の情報を含むＡＣＫメッセージをデータ送受信部３１４に送信する（ステップＳ１５０４）。データ送受信部３１４は、ＡＣＫメッセージを受信すると、そのメッセージを機器１１に送信する（ステップＳ１５０５）。
【０１０５】
（機器ＩＤを取得する場面におけるシーケンス）
次に、図１６および図１７を用いて、機器１１がユーザによって指定された公開用データＩＤに対応する機器ＩＤを公開データ管理装置３１から取得する場面における機器１１ａおよび公開データ管理装置３１の動作について説明する。
【０１０６】
図１６は、機器ＩＤを取得するときの機器１１ａの動作を示すシーケンス図である。まず、機器１１ａのユーザ入出力部１１５は、ユーザが入力した交換を希望するデータの公開用データＩＤを取得し、当該公開用データＩＤを含む登録機器ＩＤ取得要求をメッセージ処理部１１２に送信する（ステップＳ１６０１）。ここで、公開用データＩＤは、公開データ管理装置３１で公開されている公開データリスト等から取得することができるものとする。ここでは、機器１１ａは、機器１１ｂが登録した公開用データＩＤを取得するものとする。
【０１０７】
次に、メッセージ処理部１１２は、登録機器ＩＤ取得要求を受信すると、その要求内の公開用データＩＤを取得して、それを含む登録機器ＩＤ取得メッセージを作成して、データ送受信部１１６に送信する（ステップＳ１６０２）。
【０１０８】
データ送受信部１１６は、登録機器ＩＤ取得メッセージを受信すると、そのメッセージを公開データ管理装置３１に送信する（ステップＳ１６０３）。
【０１０９】
公開データ管理装置３１は、機器１１ａから登録機器ＩＤ取得メッセージを受信すると、そのメッセージ内の公開用データＩＤに対応する登録機器ＩＤを取得（ここでは、機器１１ｂの機器ＩＤを取得）し、その登録機器ＩＤを含むＡＣＫメッセージを機器１１ａに送信する（ステップＳ１６０４）。
【０１１０】
データ送受信部１１６は、公開データ管理装置３１からＡＣＫメッセージを受信すると、そのメッセージをメッセージ処理部１１２に送信する（ステップＳ１６０５）。メッセージ処理部１１２は、ＡＣＫメッセージを受信すると、そのメッセージ内の登録機器ＩＤを抽出し、その登録機器ＩＤをユーザ入出力部１１５に送信する（ステップＳ１６０６）。ユーザ入出力部１１５は、送信されてくる登録機器ＩＤをデータ交換を行う際の通信相手機器の特定に利用する。
【０１１１】
図１７は、公開データ管理装置３１が登録機器ＩＤ取得メッセージを受信したときの公開データ管理装置３１および機器１１ａの動作を示すシーケンス図である。図１７において、図１６で示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。なお、図１７に示すシーケンス図は、図１６のステップＳ１６０４における公開データ管理装置３１の動作を詳しく示した図である。
【０１１２】
まず、公開データ管理装置３１のデータ送受信部３１４は、機器１１ａからの登録機器ＩＤ取得メッセージを受信し、当該メッセージをメッセージ処理部３１１に送信する（ステップＳ１７０１）。
【０１１３】
メッセージ処理部３１１は、登録機器ＩＤ取得メッセージを受信すると、そのメッセージ内の公開用データＩＤを抽出し、そのＩＤを含む登録機器ＩＤ取得要求を記憶装置制御部３１２に送信する（ステップＳ１７０２）。
【０１１４】
記憶装置制御部３１２は、登録機器ＩＤ取得要求を受信すると、要求内の公開用データＩＤに対応する登録機器ＩＤをデータ記憶装置３１３から取得し、その登録機器ＩＤをメッセージ処理部３１１に送信する（ステップＳ１７０３）。
【０１１５】
メッセージ処理部３１１は、登録機器ＩＤを受信すると、その登録機器ＩＤを含むＡＣＫメッセージを作成し、データ送受信部３１４に送信する（ステップＳ１７０４）。
【０１１６】
データ送受信部３１４は、ＡＣＫメッセージを受信すると、そのメッセージを機器１１ａに送信する（ステップＳ１７０５）。
【０１１７】
（データ交換場面におけるシーケンス）
次に、図１８〜図２６を参照しながら、交換完了データ管理装置２１を交えて二つの機器１１ａ，１１ｂ間でデータを交換する際のシーケンスについて説明する。
【０１１８】
図１８は、機器１１ａが機器１１ｂに対してデータ交換の申し出を行い、その返答を貰うまでの機器１１ａおよび機器１１ｂの動作を示すシーケンス図である。まず、機器１１ａのユーザ入出力部１１５は、ユーザが交換を希望するデータの公開用データＩＤと、そのデータを所有する機器ＩＤ（公開用データＩＤを公開データ管理装置３１に登録した機器の機器ＩＤ）とを取得し、当該二つのＩＤを含むデータ交換要求をメッセージ処理部１１２に送信する（ステップＳ１８０１）。公開用データＩＤと機器ＩＤとの取得処理に関しては、図１６および図１７を用いて説明した。
【０１１９】
メッセージ処理部１１２は、データ交換要求を受信すると、機器１１ａが公開データ管理装置３１に登録している全ての公開用データＩＤと、当該公開用データＩＤに対応する全てのコンテンツ情報とを、データ記憶装置１１４から取得させるための公開用データ取得要求を記憶装置制御部１１３に送信する（ステップＳ１８０２）。
【０１２０】
次に、記憶装置制御部１１３は、公開用データ取得要求を受信すると、機器１１ａが公開データ管理装置３１に登録している全ての公開用データＩＤと対応するコンテンツ情報とをデータ記憶装置１１４から取得し、メッセージ処理部１１２に送信する（ステップＳ１８０３）。
【０１２１】
次に、メッセージ処理部１１２は、送られてくる公開用データＩＤとコンテンツ情報とを受信し、それらとステップＳ１８０１で取得した機器ＩＤと公開用データＩＤとを含むデータ交換メッセージをデータ送受信部１１６に送信する（ステップＳ１８０４）。
【０１２２】
これに応じて、データ送受信部１１６は、受信したデータ交換メッセージを機器１１ｂに送信する（ステップＳ１８０５）。
【０１２３】
機器１１ｂは、機器１１ａからデータ交換メッセージを受信すると、後述の図２３に示す動作にしたがって、メッセージ内からユーザが交換を希望する公開用データＩＤを選択し、選択された公開用データＩＤを含むＡＣＫメッセージを機器１１ａに送信する（ステップＳ１８０６）。但し、ユーザが交換を希望するデータが無い場合、機器１１ｂは、その旨を示す情報を含んだＡＣＫメッセージを送信する。
【０１２４】
データ送受信部１１６は、機器１１ｂからのＡＣＫメッセージを受信すると、そのメッセージをメッセージ処理部１１２に送信する（ステップＳ１８０７）。
【０１２５】
図１９は、機器１１ａが機器１１ｂから受信したＡＣＫメッセージが交換を希望する公開用データＩＤを含んでいる場合に、交換完了データ管理装置２１に仲介処理を申し出て、その返答を貰うまでの機器１１ａおよび交換完了データ管理装置２１の動作を示すシーケンス図である。図１９において、図１８に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。
【０１２６】
メッセージ処理部１１２は、ＡＣＫメッセージを受信し、当該ＡＣＫメッセージ内に交換用データＩＤが含まれていか否かを判断する。含まれている場合、メッセージ処理部１１２は、当該交換用データＩＤを含む交換対象データ取得要求を記憶装置制御部１１３に送信する（ステップＳ１８０８）。一方、含まれていない場合、メッセージ処理部１１２は、その旨を示す情報をユーザ入出力部１１５に送信する。それに応じて、ユーザ入出力部１１５は、機器１１ｂにデータ交換が拒絶された旨をユーザに通知する。
【０１２７】
次に、記憶装置制御部１１３は、交換対象データ取得要求を受信すると、データ記憶装置１１４を参照して、要求内の交換用データＩＤに対応するデータＩＤを取得し、そのデータＩＤに対応するデータを取得し、取得したデータ（以下、交換対象データという）をメッセージ処理部１１２に送信する（ステップＳ１８０９）。
【０１２８】
メッセージ処理部１１２は、交換対象データを受信すると、当該交換対象データをデータ変換部１１１に送信して、変換後データに変換するための要求（以下、データ変換要求という）を与える（ステップＳ１８１０）。
【０１２９】
データ変換部１１１は、データ変換要求を受信すると、当該要求内の変換前データを変換処理し、変換後データおよび交換完了データを作成し、変換後データと交換完了データとをメッセージ処理部１１２に送信する（ステップＳ１８１１）。
【０１３０】
次に、メッセージ処理部１１２は、変換後データと交換完了データとを受信すると、当該交換完了データと機器ＩＤとを含む交換完了データ登録メッセージを作成し、データ送受信部１１６に送信する（ステップＳ１８１２）。
【０１３１】
データ送受信部１１６は、交換完了データ登録メッセージを受信すると、当該メッセージを交換完了データ管理装置２１に送信する（ステップＳ１８１３）。
【０１３２】
なお、ここでは説明を省略するが、機器１１ｂも機器１１ａと同様な処理を行って、交換完了データを交換完了データ管理装置２１に送信する。
【０１３３】
交換完了データ管理装置２１は、機器１１ａと機器１１ｂとから交換完了データ登録メッセージを受信すると、後述の図２４に示す動作にしたがって、判定テーブルを作成し、受信したメッセージ内に含まれる交換完了データを格納した後、判定テーブルＩＤを含むＡＣＫメッセージを機器１１ａと機器１１ｂとに送信する（ステップＳ１８１４）。
【０１３４】
次に、機器１１ａのデータ送受信部１１６は、交換完了データ管理装置２１からのＡＣＫメッセージを受信すると、当該メッセージをメッセージ処理部１１２に送信する（ステップＳ１８１５）。
【０１３５】
図２０は、機器１１ａが交換完了データ管理装置２１からＡＣＫメッセージを受信した後、機器１１ｂとのデータ交換を開始するまでの機器１１ａおよび機器１１ｂの動作を示すシーケンス図である。図２０において、図１９に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。
【０１３６】
まず、機器１１ａのメッセージ処理部１１２は、ＡＣＫメッセージを受信すると、交換開始メッセージをデータ送受信部１１６に送信する（ステップＳ１８１６）。
【０１３７】
次に、データ送受信部１１６は、交換開始メッセージを受信すると、当該メッセージを機器１１ｂに送信する（ステップＳ１８１７）。
【０１３８】
機器１１ｂは、機器１１ａからの交換開始メッセージを受信すると、後述の図２５に示す動作にしたがって、ＡＣＫメッセージを作成して、そのメッセージを機器１１ａに送信する（ステップＳ１８１８）。
【０１３９】
機器１１ａのデータ送受信部１１６は、機器１１ｂからＡＣＫメッセージを受信すると、当該メッセージをメッセージ処理部１１２に送信する（ステップＳ１８１９）。
【０１４０】
その後、機器１１ａと機器１１ｂとの間でデータ交換が開始される（ステップＳ１８２０）。データ交換時の通信方法については、パケット通信など周知の技術が用いられる。
【０１４１】
図２１は、機器１１ａが機器１１ｂとの通信を終了してから、交換完了データ管理装置２１からＡＣＫメッセージを受信するまでの機器１１ａおよび交換完了データ管理装置２１の動作を示すシーケンス図である。図２１において、図２０に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。
【０１４２】
まず、メッセージ処理部１１２は、機器１１ｂとの通信が終了したら、機器１１ｂから目的の交換対象データを正常に取得することができたか否かを判断する（ステップＳ１８２１ａ）。正常に取得できたか否かの判断は、機器１１ａと１１ｂとが、送信予定のデータのサイズを予め交換しておいて、受信したデータのデータサイズが予定のデータサイズよりも小さかった場合に、交換対象データを正常に受信することができなかったとそれぞれが判断することによって実現できる。
【０１４３】
正常に取得できている場合、メッセージ処理部１１２は、交換完了を示す情報（以下、ＯＫ情報という）と判定テーブルＩＤとを含む交換完了通知メッセージを作成する（ステップＳ１８２１ｂ）。一方、正常に取得できていない場合、メッセージ処理部１１２は、交換失敗を示す情報（以下、ＮＧ情報という）と判定テーブルＩＤとを含む交換完了通知メッセージを作成する（ステップＳ１８２１ｃ）。次に、メッセージ処理部１１２は、作成した交換完了通知メッセージをデータ送受信部１１６に送信する（ステップＳ１８２１ｄ）。
【０１４４】
データ送受信部１１６は交換完了通知メッセージを受信すると、そのメッセージを交換完了データ管理装置２１に送信する（ステップＳ１８２２）。なお、ここでは説明を省略するが、機器１１ｂも機器１１ａと同様な処理を行って、交換完了通知メッセージを交換完了データ管理装置２１に送信する。
【０１４５】
交換完了データ管理装置２１は、機器１１ａと機器１１ｂとから交換完了通知メッセージを受信すると、後述の図２６に示す動作にしたがって、判定テーブルに基づいて、機器１１ａと機器１１ｂとが必要とする交換完了データを機器１１ａおよび機器１１ｂに送信するか否かを判断する。交換完了データを送信すると判断した場合、交換完了データ管理装置２１は、交換完了データを含むＡＣＫメッセージを機器１１ａと機器１１ｂとに送信する。一方、交換完了データを送信しないと判断した場合、交換完了データ管理装置２１は、交換完了データを含まないＡＣＫメッセージを機器１１ａと機器１１ｂとに送信する（ステップＳ１８２３）。交換完了データを送信するか否かの判断の詳細については、図２６を用いて後述する。
【０１４６】
データ送受信部１１６は、交換完了データ管理装置２１からのＡＣＫメッセージをメッセージ処理部１１２に送信する（ステップＳ１８２４ａ）
【０１４７】
図２２は、交換完了データ管理装置２１からのＡＣＫメッセージを受信した後の機器１１ａの動作を示すシーケンス図である。図２２において、図２１に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。
【０１４８】
まず、メッセージ処理部１１２は、交換完了データ管理装置２１からのＡＣＫメッセージを解析し、交換完了データが含まれているか否かを判断する（ステップＳ１８２５ａ）。含まれていない場合、メッセージ処理部１１２は、その旨を示す情報をユーザ入出力部１１５に送信する。これに応じて、メッセージ処理部１１２は、交換完了データが取得できなかったため、交換対象データが再生できない旨をユーザに通知する（ステップＳ１８２５ｂ）。
【０１４９】
一方、含まれている場合、メッセージ処理部１１２は、交換完了データを抽出し、当該交換完了データと機器１１ｂから取得した変換後データとを含むデータ変換要求をデータ変換部１１１に送信する（ステップＳ１８２５ｃ）。
【０１５０】
データ変換部１１１は、データ変換要求を受信すると、要求内の交換完了データと変換後データとに基づいて、変換前データを作成し、メッセージ処理部１１２に送信する（ステップＳ１８２６）。
【０１５１】
次に、メッセージ処理部１１２は、変換前データを取得すると、当該変換前データを含むデータ登録要求を記憶装置制御部１１３に送信する（ステップＳ１８２７）。記憶装置制御部１１３は、データ登録要求を受信すると、当該要求内のデータを抽出し、新たにデータＩＤを割り当てて、データ記憶装置１１４に登録し、登録結果を示す情報をメッセージ処理部１１２に送信する（ステップＳ１８２８）。
【０１５２】
次に、メッセージ処理部１１２は、登録結果を示す情報を受信すると、交換完了を示す情報をユーザ入出力部１１５に送信する（ステップＳ１８２９）。最後に、ユーザ入出力部１１５は、データ交換が完了した旨をユーザに通知する（ステップＳ１８３０）。
【０１５３】
図２３は、機器１１ｂが機器１１ａからのデータ交換メッセージを受信したときの機器１１ｂの動作を示すシーケンス図である。図２３において、図１８に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。図２３に示す動作は、図１８のステップＳ１８０６における機器１１ｂの動作を詳しく示したものである。
【０１５４】
機器１１ｂのデータ送受信部１１６は、機器１１ａからのデータ交換メッセージを受信すると、当該メッセージをメッセージ処理部１１２に送信する（ステップＳ１９０１）。
【０１５５】
次に、メッセージ処理部１１２は、データ交換メッセージを受信すると、当該メッセージ内の全ての公開用データＩＤと対応する全てのコンテンツ情報とを抽出し、それらを含むデータ選択要求をユーザ入出力部１１５に送信する（ステップＳ１９０２）。
【０１５６】
ユーザ入出力部１１５は、データ選択要求を受信すると、当該要求内の全ての公開用データＩＤと対応する全てのコンテンツ情報とをユーザに提示し、交換を希望するデータをユーザに選択させる。これに応じて、ユーザは、提示された公開用データの中で、交換を希望するデータを選択する。一方、交換を希望するデータが特に無ければ、ユーザは、その旨を示す情報を選択する。ユーザ入出力部１１５は、ユーザによって選択された公開用データに対応する公開用データＩＤをメッセージ処理部１１２に送信する（ステップＳ１９０３）。なお、特に選択されなかった場合、ユーザ入出力部１１５は、その旨を示す情報を公開用データＩＤの代わりにメッセージ処理部１１２に送信する。
【０１５７】
メッセージ処理部１１２は、公開用データＩＤもしくは選択無しを示す情報を受信すると、それらを含むＡＣＫメッセージをデータ送受信部１１６に送信する（ステップＳ１９０４）。データ送受信部１１６は、ＡＣＫメッセージを受信すると、当該メッセージを機器１１ａに送信する（ステップＳ１９０５）。
【０１５８】
図２４は、交換完了データ管理装置２１が機器１１ａと機器１１ｂとから交換完了データ登録メッセージを受信したときの交換完了データ管理装置２１の動作を示すシーケンス図である。図２４において、図１９に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。図２４に示す動作は、図１９のステップＳ１８１４における交換完了データ管理装置２１の動作を詳しく示したものである。
【０１５９】
交換完了データ管理装置２１のデータ送受信部２１５は、機器１１ａと機器１１ｂとから交換完了データ登録メッセージを受信すると、そのメッセージをメッセージ処理部２１２に送信する（ステップＳ２００１）。
【０１６０】
メッセージ処理部２１２は、交換完了データ登録メッセージを受信すると、当該メッセージ内の交換完了データＩＤと機器ＩＤとを含む判定テーブル作成要求を交換完了データ送信判定部２１１に送信する（ステップＳ２００２）。
【０１６１】
交換完了データ送信判定部２１１は、判定テーブル作成要求を受信すると、当該要求に含まれる機器ＩＤと交換完了データＩＤとを対応付けて、判定テーブルを作成し、その判定テーブルの判定テーブルＩＤをメッセージ処理部２１２に送信する（ステップＳ２００３）。
【０１６２】
メッセージ処理部２１２は、判定テーブルＩＤを受信すると、機器１１ａと機器１１ｂとから受信した交換完了データ登録メッセージ内の交換完了データと交換完了データＩＤとを抽出し、それらの情報を含む交換完了データ登録要求を記憶装置制御部２１３に送信する（ステップＳ２００４）。
【０１６３】
次に、記憶装置制御部２１３は、交換完了データ登録要求を受信すると、その要求内の交換完了データと交換完了データＩＤと対応付けてデータ記憶装置２１４に格納し、登録結果を示す情報をメッセージ処理部２１２に送信する（ステップＳ２００５）。
【０１６４】
メッセージ処理部２１２は、登録結果を示す情報を受信すると、判定テーブルＩＤを含むＡＣＫメッセージをデータ送受信部２１５に送信する（ステップＳ２００６）。データ送受信部２１５は、ＡＣＫメッセージを受信すると、そのメッセージを機器１１ａと機器１１ｂとに送信する（ステップＳ２００７）。
【０１６５】
図２５は、機器１１ｂが機器１１ａからの交換開始メッセージを受信したときの機器１１ｂの動作を示すシーケンス図である。図２５において、図２０に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。図２５に示す動作は、図２０のステップＳ１８１８における機器１１ｂの動作を詳しく示したものである。
【０１６６】
機器１１ｂのデータ送受信部１１６は、機器１１ａからの交換開始メッセージを受信すると、そのメッセージをメッセージ処理部１１２に送信する（ステップＳ２１０１）。メッセージ処理部１１２は、交換開始メッセージを受信すると、交換内容を確認し、ＡＣＫメッセージをデータ送受信部１１６に送信する（ステップＳ２１０２）。データ送受信部１１６は、ＡＣＫメッセージを受信すると、当該メッセージを機器１１ａに送信する（ステップＳステップＳ２１０３）。
【０１６７】
図２６は、交換完了データ管理装置２１が機器１１ａと機器１１ｂとからの交換完了通知メッセージを受信したときの交換完了データ管理装置２１の動作を示すシーケンス図である。図２６において、図２１に示した動作と同様の動作については、同一のステップ番号を付し、説明を省略することとする。図２６に示す動作は、図２１のステップＳ１８２３における交換完了データ管理装置２１の動作を詳しく示したものである。
【０１６８】
交換完了データ管理装置２１のデータ送受信部２１５は、機器１１ａと機器１１ｂとからの交換完了通知メッセージを受信すると、そのメッセージをメッセージ処理部２１２に送信する（ステップＳ２２０１）。
【０１６９】
メッセージ処理部２１２は、機器１１ａと機器１１ｂとからの交換完了通知メッセージを受信すると、それらのメッセージ内の判定テーブルＩＤと交換終了情報（交換完了を示すＯＫ情報か、または交換失敗を示すＮＧ情報）と機器ＩＤとを抽出し、判定テーブルに登録し、当判定テーブルＩＤを指定して、交換完了データを機器１１ａおよび１１ｂに送信してよいか否かの判定を交換完了データ送信判定部２１１に要求する（ステップＳ２２０２）。
【０１７０】
交換完了データ送信判定部２１１は、交換完了データ送信判定要求を受信すると、当該要求内の判定テーブルＩＤに対応する判定テーブルを参照して、機器１１ａと機器１１ｂとの両方の機器ＩＤの完了通知フラグにＯＫ情報が登録されているか否かを判断する（ステップＳ２２０３ａ）。両方にＯＫ情報が登録されている場合、交換完了データ送信判定部２１１は、機器１１ｂの機器ＩＤに対応する交換完了データを機器１１ａに送信し、機器１１ａの機器ＩＤに対応する交換完了データを機器１１ｂに送信するように、機器ＩＤと対応する交換完了データＩＤとをメッセージ処理部２１２に送信して要求する（ステップＳ２２０３ｂ）。一方、判定テーブルにおいて、どちらか一方にＮＧ情報が登録されている場合、交換完了データ送信判定部２１１は、交換完了データ送信不可を示す情報をメッセージ処理部２１２に送信し、それに応じて、メッセージ処理部２１２が機器１１ａと機器１１ｂとに対して、交換完了データが取得できない旨を示すＡＣＫメッセージを送信する（ステップ２２０３ｃ，２２０３ｄ）。
【０１７１】
メッセージ処理部２１２は、機器ＩＤと交換完了データＩＤとを受信すると、交換完了データＩＤを記憶装置制御部２１３に送信して、対応する交換完了データをデータ記憶装置２１４から取得するよう記憶装置制御部２１３に要求（以下、交換完了データ取得要求という）する（ステップＳ２２０４）。
【０１７２】
記憶装置制御部２１３は、交換完了データ取得要求を受信すると、その要求内の交換完了データＩＤに対応する交換完了データをデータ記憶装置２１４から取得し、取得した交換完了データをメッセージ処理部２１２に送信する（ステップＳ２２０５）。
【０１７３】
メッセージ処理部２１２は、交換完了データを受信すると、機器１１ｂの機器ＩＤに対応する交換完了データを機器１１ａに、機器１１ａの機器ＩＤに対応する交換完了データを機器１１ｂに送信するような当該交換完了データを含むＡＣＫメッセージをデータ送受信部２１５に送信する（ステップＳ２２０６）。データ送受信部２１５は、ＡＣＫメッセージを受信すると、当該メッセージを送信先の指定通りに機器１１ａと機器１１ｂとに送信する（ステップＳ２２０７）。
【０１７４】
このように、第１の実施形態では、機器間で交換されるデータそのものが交換完了データ管理装置にアップロードされることは無く、データ交換の完了に最低限必要なデータ（交換完了データ）のみが、交換完了データ管理装置にアップロードされることとなる。したがって、機器間で交換するデータ量に比例して、通信コストおよび仲介サーバへの負担が増大するといった問題が軽減される。加えて、データ交換を行った二台の機器が正常に所望のデータを受信した場合にのみ、双方の機器は、交換完了データを取得することができるので、途中で通信が切断されてしまい、正常に所望のデータを相手方が受け取ることができなかった場合など、通信が異常終了した場合、通信を切断した側の機器は、交換完了データを取得することができない。したがって、双方の機器が所望のデータを再生することができなくなるので、公平なデータ交換システムが構築されることとなる。
【０１７５】
さらに、機器が交換完了データを作成するようにすることによって、交換完了データ管理装置の役割がさらに軽減する。また、機器は、所有するデータを、交換完了データを使用しない限り正常に再生できないデータに変換して、相手側の機器に送信するので、相手側の機器は、交換完了データを取得しない限り、データを正常に再生することができないこととなる。
【０１７６】
たとえば、機器はデータを暗号化して相手側の機器に送信し、暗号化交換完了データとしての復号鍵を用いて受信したデータを再生することによって、一般的な暗号化・復号化ソフトウエアを流用することで、容易に、本発明のシステムを構築することができる。
【０１７７】
また、交換完了データ管理装置は、機器から送られてくる通信結果を示す情報に基づいて、交換を行った機器が正常にデータを受信することができたか判断するので、容易にデータ交換が正常に行われたかを認識することができる。
【０１７８】
また、本発明のプログラムをそれぞれのコンピュータ装置に配布することで、使い勝手のよい機器間データ交換システムが構築されることとなり、コンテンツの流通が促進されることとなる。
【０１７９】
なお、第１の実施形態で示した機器１１、交換完了データ管理装置２１、および公開データ管理装置３１は、上述した動作を汎用のコンピュータ装置に実行させるためのプログラムによって実現されてもよい。このようなプログラムは、ハードディスクや光ディスク、ＣＤ−ＲＯＭ、メモリ等の記録媒体に格納されており、ＣＰＵ等で実行される。
【０１８０】
なお、第１の実施形態では、各機器が交換完了データを作成して交換完了データ管理装置に送信することとしたが、交換完了データ管理装置が交換完了データを作成することとしてもよい。以下、交換完了データ管理装置が交換完了データを作成するシステムについて説明する。たとえば、交換完了データとして、復号鍵を用いる場合、各機器は、他の機器とデータ交換を行いたい場合、交換完了データ管理装置に対して、復号鍵の作成を要求する。それに応じて、交換完了データ管理装置は、復号鍵とそれに対応する暗号鍵とを作成する。交換完了データ管理装置は、作成した復号鍵を作成要求をなした要求元の機器が特定できるように、判定テーブルに登録して管理する。そして、交換完了データ管理装置は、作成した暗号鍵を要求をなした機器に送信する。暗号鍵が送られてきたら、機器は、当該暗号鍵を用いて、交換対象のデータを暗号化して、変換後データを作成する。当該変換後データは、交換完了データに登録されている復号鍵を用いれば解読できる。機器は、暗号化された変換後データを交換相手の機器に送信し、交換相手の機器から所望のデータを取得する。その後、上記実施形態と同様にして、機器は、交換完了データ管理装置から復号鍵を取得して、交換相手の機器から受け取った変換後データを復元して、再生する。このように、復号鍵を交換完了データ管理装置が作成する場合、交換完了データ管理装置は、作成した復号鍵に対応する暗号鍵も同時に作成して、復号鍵の作成を要求した機器に返信することとなる。暗号鍵は、復号鍵を用いることによって、変換後データが正常に再生できるように変換前データを変換するためのデータ（以下、変換処理データという）であるといえる。なお、この場合も、交換完了データとしては、復号鍵以外のものであってもよい。また、変換処理データとしては、暗号鍵以外のものであってもよい。さらに、交換完了データを管理装置が作成するシステムにおける機器および交換完了データ管理装置は、上記のような動作をコンピュータ装置に実行させるプログラムによっても実現される。このように、交換完了データ管理装置が交換完了データを作成することによって、機器側で交換完了データを作成するための手段を設けておかなくてもよくなるので、機器の負担を軽減することができる。これは、処理能力が低い機器を用いる場合に有効である。
【０１８１】
なお、第１の実施形態では、送信予定のデータのサイズを予め機器間で交換しておいて、受信したデータのデータサイズが予定のデータサイズよりも小さかった場合に、交換対象データを正常に受信することができなかったと機器が判断することとしたが、交換対象データを正常に受信することができたか否かの判断方法はこれに限られるものではない。たとえば、各機器は、変換後データのハッシュ値を求め、当該ハッシュ値を交換完了データと共に交換完了データ管理装置２１に登録しておく。そして、各機器は、相手方の機器との通信が終了したとき、受信したデータのハッシュ値を求めて、交換完了データ管理装置２１に送信する。これに応じて、交換完了データ管理装置２１は、登録してあるハッシュ値と受信したハッシュ値とを比較して、ハッシュ値が一致していれば、正常にデータ交換が行われたと判断し、ハッシュ値が一致していなければ、正常にデータ交換が行われなかったと判断する。このようにハッシュ値を用いることによって、交換対象データが伝送路上で一部失われたため、予定のデータサイズに満たなかったが再生はできるような交換対象データが得られた場合にも、正常にデータ交換が行われたと判断することができ、有用である。当然、正常にデータ交換が行われたか否かを交換完了データ管理部が判断できる情報として、通信結果を示す情報が機器から送られるのであれば、上記のものに限定されるものではない。
【０１８２】
なお、第１の実施形態では、正常に交換対象データを受信できなかった場合、機器は、ＮＧ情報を交換完了データ管理装置に送信することとしたが、二つの機器からＯＫ情報を受け取っている場合にのみ交換完了データを交換完了データ管理部が送信するのであれば、ＮＧ情報を送信しなくてもよい。
【０１８３】
ここで、交換完了データ管理装置２１が記憶している交換完了データを削除する手順について説明する。図２７は、交換完了データを削除するまでの交換完了データ管理装置２１の動作を示すフローチャートである。図２７に示す動作は、図２６において、交換完了データ管理装置２１がＡＣＫメッセージを送信した後に行われる。
【０１８４】
まず、交換完了データ管理装置２１は、判定テーブルを参照して、データ交換を行った二つの機器１１ａ，１１ｂが共にＯＫ情報を送ってきていたか否かを判断する（ステップＳ２７０１）。共にＯＫ情報を送ってきていた場合、交換完了データ管理装置２１は、両方の機器１１ａ，１１ｂから正常に交換完了データを取得できた旨のＡＣＫメッセージを受信しているか否かを判断する（ステップＳ２７０２）。
【０１８５】
受信している場合、交換完了データが両方の機器１１ａ，１１ｂに正常に取得されたことを示すので、交換完了データ管理装置２１は、記憶している交換完了データおよびそれに対応する判定テーブルを削除して（ステップＳ２７０３）、処理を終了する。一方、受信していない場合、通信異常等によって交換完了データが機器に正常に届いていないので、交換完了データ管理装置２１は、正常に交換完了データを取得できなかった旨のＡＣＫメッセージを送信してきた機器に対して、交換完了データを再送し（ステップＳ２７０４）、ステップＳ２７０２の動作に戻る。
【０１８６】
ステップＳ２７０１において、共にＯＫ情報を送ってきていない場合、交換完了データ管理装置２１は、いずれか一方がＮＧ情報を送ってきているか否かを判断する（ステップＳ２７０５）。いずれか一方がＮＧ情報を送ってきている場合、交換完了データ管理装置は、記憶している交換完了データおよびそれに対応する判定テーブルを削除して（ステップＳ２７０３）、処理を終了する。
【０１８７】
一方、いずれか一方がＮＧ情報を送ってきていないが少なくともいずれか一方から何らの返答もない場合、交換完了データ管理装置２１は、所定時間が経過したか否かを判断する（ステップＳ２７０６）。経過していない場合、交換完了データ管理装置２１は、ステップＳ２７０１の動作に戻る。一方、経過している場合、交換完了データ管理装置２１は、記憶している交換完了データおよびそれに対応する判定テーブルを削除して（ステップＳ２７０３）、処理を終了する。
【０１８８】
このように、所定の条件が成就すれば、交換完了データは、ネットワーク上から削除されることとなるので、交換完了データが長時間残ることによって不正利用が行われるのを防止することができる。
【０１８９】
（第２の実施形態）
本発明の第２の実施形態では、他の機器から途中まで交換対象データを受信できたが、最後までは受信できなかった場合に、受信できなかった残りのデータを機器が取得することができるシステムについて説明する。第２の実施形態においても、システム全体の構成は、第１の実施形態と同様であるので、図１を援用することとする。
【０１９０】
図２８は、機器１１ａが機器１１ｂに対して、交換対象データの再送を要求するときの機器１１ａおよび機器１１ｂの動作を示すシーケンス図である。まず、機器１１ａのメッセージ処理部１１２は、機器１１ｂとの通信が終了した場合、受信したデータのサイズが予め機器１１ｂから送られてきた交換対象データの全サイズよりも小さいか否かを判断する（ステップＳ２８０１）。
【０１９１】
小さい場合、メッセージ処理部１１２は、既に受信したデータのサイズを含む再送要求をデータ送受信部１１６に機器１１ｂ宛に送信させる（ステップＳ２８０２）。これに応じて、機器１１ｂのメッセージ処理部１１２は、受信したデータサイズに基づいて、残りのデータを認識し、記憶装置制御部１１３にデータ記憶装置１１４から残りのデータを取得させて、データ送受信部１１６に残りのデータを機器１１ａ宛に送信させる（ステップＳ２８０３）。機器１１ａは、機器１１ｂから送信されてくる残りのデータを受信して、既に受信済みのデータと合体させて格納し、ステップＳ２８０１の動作に戻る。
【０１９２】
一方、小さくない場合、すなわち、受信サイズと全サイズとが同じである場合、メッセージ処理部１１２は、正常に受信できた旨を示す交換完了通知メッセージをデータ送受信部１１６に交換完了データ管理装置２１宛に送信させ（ステップＳ２８０５）、交換完了データを交換完了データ管理装置２１から受信して（ステップＳ２８０６）、処理を終了する。なお、機器１１ｂから機器１１ａに再送要求が与えられた場合についても、機器１１ｂは、同様に動作すればよい。
【０１９３】
このように、各機器は、所望のデータを最後まで受信できなかった場合、相手側の機器に対して再送要求するので、所望のデータを最後まで受信することが可能となる。
【０１９４】
なお、上記では、機器１１ｂが再送要求に応じて、残りのデータを送信することとしたが、機器１１ｂが通信不可能となっている場合、機器１１ａは、残りのデータを正常に受信することができないので、正常に受信できなかった旨の交換完了通知を交換完了データ管理装置２１に送信することとなる。
【０１９５】
なお、交換完了データを交換完了データ管理装置２１が作成する実施形態の場合、機器１１ｂは、機器１１ｂからの再送要求に応じて交換対象データを再送する場合、あらためて交換完了データ管理装置２１から変換処理データおよび交換完了データを取得して、変換後データを作成することとしてもよい。この場合、機器１１ｂは、変換後データを最初から送るようにすればよい。また、最初から変換後データが送られてきた機器１１ａは、既に受信済みのデータを破棄すればよい。
【０１９６】
（第３の実施形態）
本発明の第３の実施形態では、交換相手のユーザに応じて、データ交換を簡素化するシステムについて説明する。第３の実施形態においても、システム全体の構成は、第１の実施形態と同様であるので、図１を援用することとする。
【０１９７】
第３の実施形態において、機器１１には、今までデータ交換を行った相手方の機器との交換履歴がデータ記憶装置１１４に格納されている。図２９は、機器１１に格納されている交換履歴のデータ構成の一例を示す図である。図２９に示すように、交換履歴は、交換相手の機器の機器ＩＤと対応して、今までの交換回数、今までの交換の成功回数、今までの交換回数と成功回数とから割り出した成功率、最終にデータ交換したデータの受信割合、および最終に受信したデータの格納位置（以下、最終データ格納位置という）からなる。機器１１は、他の機器１１とのデータ交換が行われた場合、データ交換の結果を交換履歴としてデータ記憶装置１１４に登録しておく。
【０１９８】
図３０は、機器１１ｂに対してデータ交換を要求するときの機器１１ａの動作を示すフローチャートである。まず、機器１１ａのメッセージ処理部１１２は、機器１１ｂに対するデータ交換メッセージを作成して、データ送受信部１１６に送信させる（ステップＳ３００１）。次に、機器１１ａは、機器１１ｂからのＡＣＫメッセージを受信し、選択された機器１１ａが所有する公開用データを認識する（ステップＳ３００２）。
【０１９９】
次に、機器１１ａは、交換履歴を参照して、交換完了データの作成方法を決定する（ステップＳ３００３）。交換完了データの作成方法については、様々考えられる。たとえば、「交換回数が５回以上で成功率が９５％の場合、機器１１ａは、暗号化等のデータ変換を行わずに、そのまま機器１１ｂに送信する」、「交換回数が５回以上で成功回数が８０％以上９５％未満の場合、鍵長が１２８ビットの暗号鍵を用いてデータを暗号化し、当該暗号鍵に対応する復号鍵を交換完了データとする」、「交換回数が５回以上で成功回数が８０％未満の場合、鍵長が１０２４ビットの暗号鍵を用いてデータを暗号化し、当該暗号鍵に対応する復号鍵を交換完了データとする」、「交換回数が５回未満の場合、鍵長が５１２ビットの暗号鍵を用いてデータを暗号化し、当該暗号鍵に対応する復号鍵を交換完了データとする」、といった方法が考えられる。すなわち、データの成功率が高いほど暗号鍵の鍵長を短くすることによって、信頼がある相手先の機器に対しては、復号化に要する処理の手間を省くようにする。たとえば、図２９の例では、機器ＩＤ「Ｃ０００１」の機器に対しては、データの暗号化が行われない。機器ＩＤ「Ｃ０００２」の機器に対しては、５１２ビットの鍵長の暗号鍵を用いて暗号化が行われる。機器ＩＤ「Ｃ０００３」の機器に対しては、１０２４ビットの鍵長の暗号鍵を用いて暗号化が行われる。なお、交換完了データの作成方法については、上記に限定されるものではない。
【０２００】
次に、機器１１ａは、ステップＳ３００３で決定した作成方法を用いて、変換後データおよび交換完了データを作成し（ステップＳ３００４）、作成した交換完了データを交換完了データ管理装置２１宛に送信し（ステップＳ３００５）、データ交換を開始し（ステップＳ３００６）、処理を終了する。
【０２０１】
このように、今までデータを交換した機器との交換履歴に基づいて、交換完了データを作成して、相手側の機器での復元処理を簡素化することができる。したがって、信頼の高い相手との交換を早く行うことができ、使い勝手の良いシステムが提供されることとなる。さらに、今までデータを交換した機器との交換履歴に基づいて、送信するデータの変換を簡素化することができるので、信頼の高い相手とのデータ交換をより早く行うことができる。
【０２０２】
なお、上記実施形態では、交換完了データを機器内で作成するときの動作について説明した。以下では、交換完了データ管理装置で交換完了データを作成するときの動作について説明する。
【０２０３】
図３１は、交換完了データ管理装置で交換完了データを作成するときの機器１１ａの動作を示すフローチャートである。機器１１ａのメッセージ処理部１１２は、機器１１ｂに対するデータ交換メッセージを作成して、データ送受信部１１６に送信させる（ステップＳ３１０１）。次に、機器１１ａは、機器１１ｂからのＡＣＫメッセージを受信し、選択された機器１１ａが所有する公開用データを認識する（ステップＳ３１０２）。
【０２０４】
次に、機器１１ａは、交換履歴を参照して、交換完了データ管理装置２１における交換処理の方法を決定する（ステップＳ３１０３）。ここで、交換処理の方法とは、機器１１ａでデータを変換する際の方法のことである。たとえば、機器１１ａは、交換履歴を参照して、変換処理としてデータを暗号化する場合、どのような長さの暗号鍵を用いて暗号化するかを決定する。この場合、機器１１ａは、交換成功率が高い機器に対しては、短い暗号鍵を用いることとする。
【０２０５】
次に、機器１１ａは、決定した交換処理の方法を示す情報を交換完了データ管理装置２１に通知する（ステップＳ３１０４）。この通知に応じて、交換完了データ管理装置２１は、指定されている変換処理の方法で用いられる交換処理データ（たとえば、暗号鍵）を作成し、さらに、当該交換処理データに対応する交換完了データ（たとえば、復号鍵）を作成する。そして、交換完了データ管理装置２１は、作成した交換完了データを記憶し、交換完了データを機器１１ａに送信する。
【０２０６】
これに応じて、機器１１ａは、交換処理データを受信し（ステップＳ３１０５）、当該交換処理データを用いて、変換後データを作成し（ステップＳ３１０６）、機器１１ｂとのデータ交換を開始する。
【０２０７】
なお、図２９で示したように交換履歴に登録されているデータの受信割合および最終データ格納位置は、正常にデータを受信できなかった場合に機器１１ａが機器１１ｂに対して、再送要求する場合に用いられる。この場合、データ交換の開始時に予めこれから送信されるデータのサイズが双方の機器の間でやり取りされているとする。機器１１ａは、データの受信割合からどこまでデータが正常に受信できたのかを示す通信結果に関する情報を機器１１ｂに通知する。これに応じて、機器１１ｂは、正常に送信できなかった残りの部分を認識して機器１１ａに再送する。機器１１ａは、採取データ格納位置に格納されているデータの一部と再生されてきたデータの残りとがつながるように、再送されてきたデータを格納する。
【０２０８】
なお、データ交換の開始時に予めこれから送信されるデータのハッシュ値が双方の機器の間でやり取りされていてもよい。この場合、データ交換を希望する機器は、受信できたデータのハッシュ値を求めて、最後までデータが受信できたか否かを判断する。最後まで受信できていない場合、データ交換を希望する機器は、受信できた一部のデータのハッシュ値を相手側の機器に送信する。これに応じて、相手側の機器は、ハッシュ値から認識される残りのデータを再送する。このようにハッシュ値を用いることによって、伝送路でデータのサイズが変わってしまったとしても、所望のデータを受信できたか否か認識することができる。
【産業上の利用可能性】
【０２０９】
本発明にかかる機器間データ交換システムならびにそれに用いられる機器、交換完了データ管理装置およびプログラムは、通信コストおよびサーバの負担が増大することなく不公平な交換が行われるのを防止することができ、コンテンツ等の電子データの交換を行うためのシステム等において有用である。
【図面の簡単な説明】
【０２１０】
【図１】本発明の第１の実施形態における仲介サーバ付き機器間データ交換システムＳａの全体構成を示すブロック図
【図２】機器１１の内部の機能的構成を示すブロック図
【図３】データＩＤと公開用データＩＤとが関連付けられたデータのデータ構造の一例を示す図
【図４】図３のデータＩＤに対応するデータのデータ構造の一例を示す図
【図５】図３の公開用データＩＤに対応する公開コンテンツ情報のデータ構造を示す図
【図６】データ変換部１１１の内部の詳しい機能的構成を示すブロック図
【図７】交換完了データ管理装置２１の内部の機能的構成を示すブロック図
【図８】判定テーブルのデータ構造の一例を示す図
【図９】図８の交換完了データＩＤに対応する交換完了データのデータ構造の一例を示す図
【図１０】交換完了データ送信判定部２１１の内部の詳しい機能的構成を示すブロック図
【図１１】公開データ管理装置３１の内部の機能的構成を示すブロック図
【図１２】公開リストデータのデータ構造の一例を示す図
【図１３】図１２の公開用データＩＤに対応するコンテンツ情報のデータ構造の一例を示す図
【図１４】機器１１が所有する公開用データに関するコンテンツ情報を公開データ管理装置３１に登録する際の機器１１および公開データ管理装置３１の動作を示すシーケンス図
【図１５】公開データ管理装置３１が公開用データ登録メッセージを受信したときの公開データ管理装置３１および機器１１の動作を示すシーケンス図
【図１６】機器ＩＤを取得するときの機器１１ａの動作を示すシーケンス図
【図１７】公開データ管理装置３１が登録機器ＩＤ取得メッセージを受信したときの公開データ管理装置３１および機器１１ａの動作を示すシーケンス図
【図１８】機器１１ａが機器１１ｂに対してデータ交換の申し出を行い、その返答を貰うまでの機器１１ａおよび機器１１ｂの動作を示すシーケンス図
【図１９】機器１１ａが機器１１ｂから受信したＡＣＫメッセージが交換を希望する公開用データＩＤを含んでいる場合に、交換完了データ管理装置２１に仲介処理を申し出て、その返答を貰うまでの機器１１ａおよび交換完了データ管理装置２１の動作を示すシーケンス図
【図２０】機器１１ａが交換完了データ管理装置２１からＡＣＫメッセージを受信した後、機器１１ｂとのデータ交換を開始するまでの機器１１ａおよび機器１１ｂの動作を示すシーケンス図
【図２１】機器１１ａが機器１１ｂとの通信を終了してから、交換完了データ管理装置２１からＡＣＫメッセージを受信するまでの機器１１ａおよび交換完了データ管理装置２１の動作を示すシーケンス図
【図２２】交換完了データ管理装置２１からのＡＣＫメッセージを受信した後の機器１１ａの動作を示すシーケンス図
【図２３】機器１１ｂが機器１１ａからのデータ交換メッセージを受信したときの機器１１ｂの動作を示すシーケンス図
【図２４】交換完了データ管理装置２１が機器１１ａと機器１１ｂとから交換完了データ登録メッセージを受信したときの交換完了データ管理装置２１の動作を示すシーケンス図
【図２５】機器１１ｂが機器１１ａからの交換開始メッセージを受信したときの機器１１ｂの動作を示すシーケンス図
【図２６】交換完了データ管理装置２１が機器１１ａと機器１１ｂとからの交換完了通知メッセージを受信したときの交換完了データ管理装置２１の動作を示すシーケンス図
【図２７】交換完了データを削除するまでの交換完了データ管理装置２１の動作を示すフローチャート
【図２８】機器１１ａが機器１１ｂに対して、交換対象データの再送を要求するときの機器１１ａおよび機器１１ｂの動作を示すシーケンス図
【図２９】機器１１に格納されている交換履歴のデータ構成の一例を示す図
【図３０】機器１１ｂに対してデータ交換を要求するときの機器１１ａの動作を示すフローチャート
【図３１】交換完了データ管理装置で交換完了データを作成するときの機器１１ａの動作を示すフローチャート
【符号の説明】
【０２１１】
Ｓａ  機器間データ交換システム
１１，１１ａ，１１ｂ  機器
２１  交換完了データ管理装置
３１  公開データ管理装置
４１  伝送路
１１１  データ変換部
１１２，２１２，３１１  メッセージ処理部
１１３，２１３，３１２  記憶装置制御部
１１４，２１４，３１３  データ記憶装置
１１５  ユーザ入出力部
１１６，２１５，３１４  データ送受信部
２１１  交換完了データ送信判定部
１１１１  変換前データ変換処理部
１１１２  交換完了データ作成部
１１１３  変換後データ変換処理部
１１１４，２１１３  要求判定部
２１１１  判定テーブル参照部
２１１２  判定テーブル作成部
【図１】
2004171538.tif 000003
【図２】
2004171538.tif 000004
【図３】
2004171538.tif 000005
【図４】
2004171538.tif 000006
【図５】
2004171538.tif 000007
【図６】
2004171538.tif 000008
【図７】
2004171538.tif 000009
【図８】
2004171538.tif 000010
【図９】
2004171538.tif 000011
【図１０】
2004171538.tif 000012
【図１１】
2004171538.tif 000013
【図１２】
2004171538.tif 000014
【図１３】
2004171538.tif 000015
【図１４】
2004171538.tif 000016
【図１５】
2004171538.tif 000017
【図１６】
2004171538.tif 000018
【図１７】
2004171538.tif 000019
【図１８】
2004171538.tif 000020
【図１９】
2004171538.tif 000021
【図２０】
2004171538.tif 000022
【図２１】
2004171538.tif 000023
【図２２】
2004171538.tif 000024
【図２３】
2004171538.tif 000025
【図２４】
2004171538.tif 000026
【図２５】
2004171538.tif 000027
【図２６】
2004171538.tif 000028
【図２７】
2004171538.tif 000029
【図２８】
2004171538.tif 000030
【図２９】
2004171538.tif 000031
【図３０】
2004171538.tif 000032
【図３１】
2004171538.tif 000033