(57)【要約】【課題】情報処理装置の間で２以上のＰ２Ｐ通信の経路が確立された場合に、通信を行う経路を選択し、その経路によってＰ２Ｐ通信を行う通信システムを提供する。【解決手段】第１の情報処理装置１ａは、２以上のＰ２Ｐ通信の経路から、第１の情報処理装置と第２の情報処理装置２ａとの間の通信で用いる経路を選択する選択部１１と、選択部１１が選択した経路によって第２の情報処理装置２ａと通信する第１の通信部１３と、選択部１１による選択結果を示す情報である選択結果情報を第２の情報処理装置２ａに送信する選択結果情報送信部１２と、を備える。第２の情報処理装置２ａは、選択結果情報を受信する選択結果情報受信部２１と、選択結果情報受信部２１が受信した選択結果情報を用いて、選択部１１が選択した経路によって第１の情報処理装置１ａと通信する第２の通信部２２と、を備える。【選択図】図１
2006203610.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置と、第２の情報処理装置とを備えた通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
２以上のピアー・ツー・ピアー通信の経路が、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された場合に、両装置間の通信で用いる経路を選択し、当該選択した経路で通信を行う通信システム。
【請求項２】
第１の情報処理装置と、第２の情報処理装置とを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部が選択した経路によって前記第２の情報処理装置と通信する第１の通信部と、前記選択部による選択結果を示す情報である選択結果情報を前記第２の情報処理装置に送信する選択結果情報送信部と、を備え、
前記第２の情報処理装置は、
前記選択結果情報を受信する選択結果情報受信部と、
前記選択結果情報受信部が受信した選択結果情報を用いて、前記選択部が選択した経路によって前記第１の情報処理装置と通信する第２の通信部と、を備えた、通信システム。
【請求項３】
第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部が選択した経路によって前記第２の情報処理装置と通信する第１の通信部と、前記選択部による選択結果を示す情報である選択結果情報を前記サーバに送信する選択結果情報送信部と、を備え、
前記サーバは、
前記選択結果情報を受信する受信部と、
前記受信部が受信した選択結果情報を前記第２の情報処理装置に送信する送信部と、を備え、
前記第２の情報処理装置は、
前記サーバから送信された選択結果情報を受信する選択結果情報受信部と、
前記選択結果情報受信部が受信した選択結果情報を用いて、前記選択部が選択した経路によって前記第１の情報処理装置と通信する第２の通信部を備えた、通信システム。
【請求項４】
第１の情報処理装置と、第２の情報処理装置とを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する第１の選択部と、
前記第１の選択部が選択した経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を、前記第１の選択部と同じアルゴリズムを用いて選択する第２の選択部と、
前記第２の選択部が選択した経路によって前記第１の情報処理装置と通信する第２の通信部と、を備えた、通信システム。
【請求項５】
第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択することを要求する情報である選択要求情報を前記サーバに送信する選択要求情報送信部と、
前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、
前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、
前記第２の情報処理装置は、
前記選択結果情報を受信する第２の選択結果情報受信部と、
前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、を備え、
前記サーバは、
前記選択要求情報を受信する受信部と、
前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部による選択結果を示す情報である選択結果情報を前記第１の情報処理装置、及び前記第２の情報処理装置に送信する送信部と、を備えた、通信システム。
【請求項６】
第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間
の通信で用いる経路を選択することを要求する情報である選択要求情報を前記サーバに送信する選択要求情報送信部と、
前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、
前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、
前記選択結果情報を前記第２の情報処理装置に送信する選択結果情報送信部と、を備え、前記第２の情報処理装置は、
前記選択結果情報を受信する第２の選択結果情報受信部と、
前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部を備え、
前記サーバは、
前記選択要求情報を受信する受信部と、
前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部による選択結果を示す情報である選択結果情報を前記第１の情報処理装置に送信する送信部と、を備えた、通信システム。
【請求項７】
第１の情報処理装置と、第２の情報処理装置と、第１のサーバと、第２のサーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択することを要求する情報である選択要求情報を前記第１のサーバに送信する選択要求情報送信部と、
前記第１のサーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、
前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、
前記選択結果情報を前記第２のサーバに送信する選択結果情報送信部と、を備え、
前記第２の情報処理装置は、
前記第２のサーバから送信された選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、を備え、
前記第１のサーバは、
前記選択要求情報を受信する第１の受信部と、
前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部による選択結果を示す情報である選択結果情報を前記第１の情報処理装置に送信する第１の送信部と、を備え、
前記第２のサーバは、
前記選択結果情報を受信する第２の受信部と、
前記第２の受信部が受信した選択結果情報を前記第２の情報処理装置に送信する第２の送信部と、を備えた、通信システム。
【請求項８】
第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路の選択を要求する情報である選択要求情報を前記サーバに送信する選択要求情報送信部と、
前記第２の情報処理装置から送信された、前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、
前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、
前記第２の情報処理装置は、
前記サーバから送信された選択結果情報を受信する第２の選択結果情報受信部と、
前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、
前記第２の選択結果情報受信部が受信した選択結果情報を前記第１の情報処理装置に送信する選択結果情報送信部と、を備え、
前記サーバは、
前記選択要求情報を受信する受信部と、
前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部による選択結果を示す情報である選択結果情報を前記第２の情報処理装置に送信する送信部と、を備えた、通信システム。
【請求項９】
第１の情報処理装置と、第２の情報処理装置と、第１のサーバと、第２のサーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路の選択を要求する情報である選択要求情報を前記第１のサーバに送信する選択要求情報送信部と、
前記第２のサーバから送信された、前記第１のサーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、
前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、
前記第２の情報処理装置は、
前記第１のサーバから送信された選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、
前記第２の選択結果情報受信部が受信した選択結果情報を前記第２のサーバに送信する選択結果情報送信部と、を備え、
前記第１のサーバは、
前記選択要求情報を受信する第１の受信部と、
前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部による選択結果を示す情報である選択結果情報を前記第２の情報処理装置に送信する第１の送信部と、を備え、
前記第２のサーバは、
前記選択結果情報を受信する第２の受信部と、
前記第２の受信部が受信した選択結果情報を前記第１の情報処理装置に送信する第２の送信部と、を備えた、通信システム。
【請求項１０】
第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、
前記第１の情報処理装置は、
前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択することを要求する情報である選択要求情報を前記サーバに送信する第１の選択要求情報送信部と、
前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、
前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、
前記第２の情報処理装置は、
前記選択要求情報を送信する第２の選択要求情報送信部と、
前記選択結果情報を受信する第２の選択結果情報受信部と、
前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、を備え、
前記サーバは、
前記選択要求情報を受信する受信部と、
前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部による選択結果を示す情報である選択結果情報を、選択要求情報を送信した情報処理装置に送信する送信部と、を備えた、通信システム。
【請求項１１】
前記選択部によって選択されなかったピアー・ツー・ピアー通信の経路は閉じられる、請求項２から１０のいずれか記載の通信システム。
【請求項１２】
請求項２から１１のいずれか記載の通信システムを構成する第１の情報処理装置。
【請求項１３】
請求項２から１１のいずれか記載の通信システムを構成する第２の情報処理装置。
【請求項１４】
請求項５，６，８，１０のいずれか記載の通信システムを構成するサーバ。
【請求項１５】
請求項７または９記載の通信システムを構成する第１のサーバ。
【請求項１６】
第１の情報処理装置と、第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、
前記選択部による選択結果を出力する出力部と、を備え、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものである、情報処理装置。
【請求項１７】
第１の情報処理装置と、第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択ステップと、
前記選択ステップでの選択結果を出力する出力ステップと、を備え、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものである、情報処理方法。
【請求項１８】
コンピュータに、
第１の情報処理装置と、第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択ステップと、
前記選択ステップでの選択結果を出力する出力ステップと、を実行させ、
前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものである、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピアー・ツー・ピアー通信を行う情報処理装置を含む通信システム等に関する。
【背景技術】
【０００２】
従来、２個の情報処理装置の間において、サーバを介さないで行う通信であるピアー・ツー・ピアー（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）通信が行われていた（以下、「ピアー・ツー・ピアー」を「Ｐ２Ｐ」と略すことがある）。ここで、Ｐ２Ｐ通信を行う２個の情報処理装置が、ルータなどのＮＡＴ機能を有する通信処理装置を介して通信を行っている場合であってもＰ２Ｐ通信を確立する方法として、例えば、ＳＴＵＮによる方法（例えば、非特許文献１参照）や、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）を用いた方法、その他の方法（例えば、特許文献１参照）が知られている。
【特許文献１】特開２００４−１８０００３号公報（第１頁、第１図等）
【非特許文献１】Ｊ．Ｒｏｓｅｎｂｅｒｇ、Ｊ．Ｗｅｉｎｂｅｒｇｅｒ、Ｃ．Ｈｕｉｔｅｍａ、Ｒ．Ｍａｈｙ、「ＳＴＵＮ  −  Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ）  Ｔｈｒｏｕｇｈ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｏｒｓ（ＮＡＴｓ）」、［Ｏｎｌｉｎｅ］、２００３年３月、Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ：３４８９、［２００４年１０月７日検索］、インターネット<ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３４８９．ｔｘｔ>
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そのようなＰ２Ｐ通信の確立を、２以上の方法を用いて行うこともできる。２以上の方法を用いてＰ２Ｐ通信の確立を行い、２以上のＰ２Ｐ通信の経路が確立された場合には、その中から、実際の通信で用いる経路を選択しなければならなかった。
【０００４】
本発明は、上記問題点を解決するためになされたものであり、情報処理装置の間で２以上のＰ２Ｐ通信の経路が確立された場合に、その装置間の通信で用いる経路を選択し、その選択した経路によってＰ２Ｐ通信を行うことができる通信システム等を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置とを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部が選択した経路によって前記第２の情報処理装置と通信する第１の通信部と、前記選択部による選択結果を示す情報である選択結果情報を前記第２の情報処理装置に送信する選択結果情報送信部と、を備え、前記第２の情報処理装置は、前記選択結果情報を受信する選択結果情報受信部と、前記選択結果情報受信部が受信した選択結果情報を用いて、前記選択部が選択した経路によって前記第１の情報処理装置と通信する第２の通信部と、を備えた、ものである。
【０００６】
このような構成により、第１の情報処理装置において経路の選択を行い、その選択結果を第１の情報処理装置から第２の情報処理装置へ送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
【０００７】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部が選択した経路によって前記第２の情報処理装置と通信する第１の通信部と、前記選択部による選択結果を示す情報である選択結果情報を前記サーバに送信する選択結果情報送信部と、を備え、前記サーバは、前記選択結果情報を受信する受信部と、前記受信部が受信した選択結果情報を前記第２の情報処理装置に送信する送信部と、を備え、前記第２の情報処理装置は、前記サーバから送信された選択結果情報を受信する選択結果情報受信部と、前記選択結果情報受信部が受信した選択結果情報を用いて、前記選択部が選択した経路によって前記第１の情報処理装置と通信する第２の通信部を備えた、ものである。
【０００８】
このような構成により、第１の情報処理装置において経路の選択を行い、その選択結果を第１の情報処理装置から第２の情報処理装置へサーバを介して送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
【０００９】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置とを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する第１の選択部と、前記第１の選択部が選択した経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、前記第２の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を、前記第１の選択部と同じアルゴリズムを用いて選択する第２の選択部と、前記第２の選択部が選択した経路によって前記第１の情報処理装置と通信する第２の通信部と、を備えた、ものである。
【００１０】
このような構成により、第１の情報処理装置、及び第２の情報処理装置において経路の選択を行い、第１の情報処理装置と第２の情報処理装置との間で、選択した経路によるＰ２Ｐ通信を行うことができる。この場合には、各情報処理装置において選択を行うので、第１の情報処理装置と第２の情報処理装置との間で選択結果の送受信を行う必要がない。
【００１１】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装
置と前記第２の情報処理装置との間の通信で用いる経路を選択することを要求する情報である選択要求情報を前記サーバに送信する選択要求情報送信部と、前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、前記第２の情報処理装置は、前記選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、を備え、前記サーバは、前記選択要求情報を受信する受信部と、前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部による選択結果を示す情報である選択結果情報を前記第１の情報処理装置、及び前記第２の情報処理装置に送信する送信部と、を備えた、ものである。
【００１２】
このような構成により、サーバにおいて経路の選択を行い、その選択結果をサーバから第１の情報処理装置及び第２の情報処理装置へ送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
【００１３】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択することを要求する情報である選択要求情報を前記サーバに送信する選択要求情報送信部と、前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、前記選択結果情報を前記第２の情報処理装置に送信する選択結果情報送信部と、を備え、前記第２の情報処理装置は、前記選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部を備え、前記サーバは、前記選択要求情報を受信する受信部と、前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部による選択結果を示す情報である選択結果情報を前記第１の情報処理装置に送信する送信部と、を備えた、ものである。
【００１４】
このような構成により、サーバにおいて経路の選択を行い、その選択結果をサーバから第１の情報処理装置へ送信することができる。その選択結果は、第１の情報処理装置から第２の情報処理装置へ送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
【００１５】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置と、第１のサーバと、第２のサーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を
介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択することを要求する情報である選択要求情報を前記第１のサーバに送信する選択要求情報送信部と、前記第１のサーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、前記選択結果情報を前記第２のサーバに送信する選択結果情報送信部と、を備え、前記第２の情報処理装置は、前記第２のサーバから送信された選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、を備え、前記第１のサーバは、前記選択要求情報を受信する第１の受信部と、前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部による選択結果を示す情報である選択結果情報を前記第１の情報処理装置に送信する第１の送信部と、を備え、前記第２のサーバは、前記選択結果情報を受信する第２の受信部と、前記第２の受信部が受信した選択結果情報を前記第２の情報処理装置に送信する第２の送信部と、を備えた、ものである。
【００１６】
このような構成により、第１のサーバにおいて経路の選択を行い、その選択結果を第１のサーバから第１の情報処理装置へ送信することができる。その選択結果は、第１の情報処理装置から第２の情報処理装置へ第２のサーバを介して送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
【００１７】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路の選択を要求する情報である選択要求情報を前記サーバに送信する選択要求情報送信部と、前記第２の情報処理装置から送信された、前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、前記第２の情報処理装置は、前記サーバから送信された選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、前記第２の選択結果情報受信部が受信した選択結果情報を前記第１の情報処理装置に送信する選択結果情報送信部と、を備え、前記サーバは、前記選択要求情報を受信する受信部と、前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部による選択結果を示す情報である選択結果情報を前記第２の情報処理装置に送信する送信部と、を備えた、ものである。
【００１８】
このような構成により、サーバにおいて経路の選択を行い、その選択結果をサーバから第２の情報処理装置へ送信することができる。その選択結果は、第２の情報処理装置から
第１の情報処理装置へ送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
【００１９】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置と、第１のサーバと、第２のサーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路の選択を要求する情報である選択要求情報を前記第１のサーバに送信する選択要求情報送信部と、前記第２のサーバから送信された、前記第１のサーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、前記第２の情報処理装置は、前記第１のサーバから送信された選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記第１のサーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、前記第２の選択結果情報受信部が受信した選択結果情報を前記第２のサーバに送信する選択結果情報送信部と、を備え、前記第１のサーバは、前記選択要求情報を受信する第１の受信部と、前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部による選択結果を示す情報である選択結果情報を前記第２の情報処理装置に送信する第１の送信部と、を備え、前記第２のサーバは、前記選択結果情報を受信する第２の受信部と、前記第２の受信部が受信した選択結果情報を前記第１の情報処理装置に送信する第２の送信部と、を備えた、ものである。
【００２０】
このような構成により、第１のサーバにおいて経路の選択を行い、その選択結果を第１のサーバから第２の情報処理装置へ送信することができる。その選択結果は、第２の情報処理装置から第１の情報処理装置へ第２のサーバを介して送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
【００２１】
本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置と、サーバとを備え、２以上のピアー・ツー・ピアー通信の経路を前記第１の情報処理装置と前記第２の情報処理装置との間で確立する通信システムであって、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであり、前記第１の情報処理装置は、前記第１の情報処理装置と前記第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択することを要求する情報である選択要求情報を前記サーバに送信する第１の選択要求情報送信部と、前記サーバにおける選択結果を示す情報である選択結果情報を受信する第１の選択結果情報受信部と、前記第１の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第２の情報処理装置と通信する第１の通信部と、を備え、前記第２の情報処理装置は、前記選択要求情報を送信する第２の選択要求情報送信部と、前記選択結果情報を受信する第２の選択結果情報受信部と、前記第２の選択結果情報受信部が受信した選択結果情報を用いて、前記サーバにおいて選択された経路によって前記第１の情報処理装置と通信する第２の通信部と、を備え、前記サーバは、前記選択要求情報を受信する受信部と、前記選択要求情報に応じて、前記第１の情報処理装置と前記第２の情報処
理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択部と、前記選択部による選択結果を示す情報である選択結果情報を、選択要求情報を送信した情報処理装置に送信する送信部と、を備えた、ものである。
【００２２】
このような構成により、サーバにおいて経路の選択を行い、その選択結果をサーバから第１の情報処理装置及び第２の情報処理装置へ送信することができる。その結果、第１の情報処理装置と第２の情報処理装置との間で、選択された経路によるＰ２Ｐ通信を行うことができる。
また、本発明による通信システムでは、前記選択部によって選択されなかったピアー・ツー・ピアー通信の経路は閉じられてもよい。
【００２３】
このような構成により、例えば、Ｐ２Ｐ通信の経路を維持するためにポートを監視する処理等を行う場合には、経路を閉じることによって、その処理負担を軽減することができうる。また、例えば、Ｐ２Ｐ通信の経路を開いておくことによって、外部から情報処理装置に不正なアクセスを行うことができるような場合には、経路を閉じることによって、そのような不正なアクセスを防止することができうる。
【発明の効果】
【００２４】
本発明による通信システム等によれば、情報処理装置の間で２以上のＰ２Ｐ通信の経路が確立された場合に、その装置間の通信で用いる経路を選択し、その経路によってＰ２Ｐ通信を行うことができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明による通信システムについて、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素は同一または相当するものであり、再度の説明を省略することがある。
【００２６】
（実施の形態１）
本発明の実施の形態１による通信システムについて、図面を参照しながら説明する。
図１は、本実施の形態による通信システムの構成を示すブロック図である。図１において、本実施の形態による通信システムは、第１の情報処理装置１ａと、第２の情報処理装置２ａと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５とを備える。第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５とは、有線または無線の通信回線１００によって接続されている。ここで、通信回線１００は、例えば、インターネットやイントラネット、公衆電話回線網などである。
【００２７】
第１の情報処理装置１ａは、選択部１１と、選択結果情報送信部１２と、第１の通信部１３とを備える。なお、第１の情報処理装置１ａは、例えば、コンピュータ、電話機、プリンタ、ファクシミリ装置、テレビ、映像録画装置、セットトップボックス等であり、他の装置とＰ２Ｐ通信を行う装置であればどのようなものであってもよい。
【００２８】
選択部１１は、第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で確立された２以上のＰ２Ｐ通信の経路から、第１の情報処理装置１ａと第２の情報処理装置２ａとの間の通信で用いる経路を選択する。なお、この選択は、２以上のＰ２Ｐ通信の経路が第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で確立された後に行われる。確立する前に選択を行ったとしても、選択した経路によってＰ２Ｐ通信が実際に確立されるかどうか不確定だからである。ここで、第１の情報処理装置１ａと第２の情報処理装置２ａとの間でＰ２Ｐ通信の経路が確立されるとは、第１の情報処理装置１ａと第２の情報処理装置２ａとの間で、Ｐ２Ｐ通信を行うことができうる状態となることをいう。Ｐ２Ｐ通
信の経路が確立された時点とは、例えば、通信先のアドレスとポート番号を知ることによってＰ２Ｐ通信を行うことができる場合には、そのアドレス等の情報を通信元の情報処理装置が知った時点であってもよく、あるいは、実際に確認パケットを送受信することによって通信を行うことができることを確認しなければ、確実にＰ２Ｐ通信の経路で通信を行うことができるかどうか不確定である場合には、その確認パケットの送受信を行った後であってもよい。また、第１の情報処理装置１ａと第２の情報処理装置２ａとの間の通信で用いる経路の選択は、第１の情報処理装置１ａと第２の情報処理装置２ａとの間の通信で用いる経路が特定されればよい、という意味である。したがって、例えば、選択部１１が第１の情報処理装置１ａと第２の情報処理装置２ａとの間の通信で用いる経路を特定する場合だけでなく、選択部１１が第１の情報処理装置１ａと第２の情報処理装置２ａとの間の通信で用いない経路を特定することによって、結果として、第１の情報処理装置１ａと第２の情報処理装置２ａとの間の通信で用いる経路が特定される場合をも含むものとする。また、第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で確立された２以上のＰ２Ｐ通信の経路は、例えば、インターネットでのＰ２Ｐ通信の経路と、公衆電話回線網でのＰ２Ｐ通信の経路というように、異なる通信回線を介したものであってもよい。すなわち、通信回線１００は、インターネットと、公衆電話回線網のように、異なる２以上の通信回線から構成されてもよい。
【００２９】
ここで、選択部１１が行う選択のアルゴリズムについて説明する。第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で、第１の経路から第Ｎの経路までが確立されたとする。ここで、「Ｎ」は、２以上の整数である。そのような場合において、選択部１１が１個の経路を選択するアルゴリズムとしては、例えば、以下のようなものがありうる。
【００３０】
（１）選択部１１は、確立されたＮ個のＰ２Ｐ通信の経路のうち、その経路で用いる第１の通信処理装置３、または第２の通信処理装置４の通信回線１００側のポート番号が最も値の小さい経路、または最も値の大きい経路を選択してもよい。
（２）選択部１１は、１からＭまでのいずれかを発生する乱数発生手段を有しており、その乱数発生手段によって発生された乱数をＮで割った余りをＬとする場合に、第Ｌの経路を選択してもよい。ただし、Ｌ＝０の場合は、第Ｎの経路を選択するものとする。また、Ｍは、Ｎ以上の整数である。
【００３１】
（３）選択部１１は、特定の方法で確立された経路を優先して選択してもよい。具体的には、ＵＰｎＰによって確立したＰ２Ｐ通信の経路が第１から第Ｎの経路に含まれる場合には、その経路を選択してもよい。または、ＵＰｎＰ以外によって確立したＰ２Ｐ通信の経路が第１から第Ｎの経路に含まれる場合には、そのＵＰｎＰ以外によって確立したＰ２Ｐ通信の経路のいずれかを、上記（１）、（２）などの方法によって選択してもよい。または、Ｐ２Ｐ通信の経路を確立する方法に優先順位を設定しておき、第１から第Ｎの経路のうち、最も優先順位の高い方法によって確立されたＰ２Ｐ通信の経路を選択するようにしてもよい。
【００３２】
（４）選択部１１は、特定のプロトコルで確立された経路を優先して選択してもよい。具体的には、ＩＰｖ６のＰ２Ｐ通信の経路が第１から第Ｎの経路に含まれる場合には、その経路を選択してもよい。または、ＩＰｖ４のＰ２Ｐ通信の経路が第１から第Ｎの経路に含まれる場合には、その経路を選択してもよい。または、ＩＰｖ６のＰ２Ｐ通信の経路以外の経路が第１から第Ｎの経路に含まれる場合には、そのＩＰｖ６のＰ２Ｐ通信の経路以外の経路のいずれかを、上記（１）〜（３）などの方法によって選択してもよい。または、ＩＰｖ４のＰ２Ｐ通信の経路以外の経路が第１から第Ｎの経路に含まれる場合には、そのＩＰｖ６のＰ２Ｐ通信の経路以外の経路のいずれかを、上記（１）〜（３）などの方法によって選択してもよい。
【００３３】
（５）選択部１１は、確立されたＰ２Ｐ通信の経路が通信処理装置の所定のポートを利用している場合には、そのＰ２Ｐ通信の経路を選択しないようにしてもよい。所定のポートとは、例えば、ウェルノーン・ポート（Ｗｅｌｌ−Ｋｎｏｗｎ  Ｐｏｒｔ）や、コンピュータ・ウィルスで使用されるポートなどである。
【００３４】
（６）選択部１１は、２以上の確立されたＰ２Ｐ通信の経路のうち、通信速度が最も高速な経路を選択してもよい。この場合には、各Ｐ２Ｐ通信の経路の通信速度を計測し、計測結果に基づいて、選択を行うことになる。この通信速度の計測は、例えば、選択部１１が行ってもよく、あるいは、他の構成要素が行ってもよい。
【００３５】
（７）選択部１１は、２以上の確立されたＰ２Ｐ通信の経路のうち、通信にかかる費用が最も低い経路を選択してもよい。この場合には、例えば、選択部１１がＰ２Ｐ通信の経路ごとの通信費用に関する情報を有しており、その情報を用いることによってＰ２Ｐ通信の経路ごとに必要な通信費用を算出し、その費用を比較することによって、選択を行ってもよい。
【００３６】
また、選択部１１は、選択で用いるアルゴリズムを何らかのタイミングで変更してもよく、あるいは、いつも同じアルゴリズムを用いてもよい。前者の場合としては、例えば、時間帯によって用いるアルゴリズムを変更する場合や、選択を行うごとに用いるアルゴリズムを変更する場合、所定の条件が充たされるかどうか判断し、その条件が充たされる場合には、アルゴリズムを変更する場合などがある。
【００３７】
また、選択部１１は、２以上のＰ２Ｐ通信の経路を選択してもよい。例えば、第１の情報処理装置１ａから第２の情報処理装置２ａに情報を送信する経路と、第２の情報処理装置２ａから第１の情報処理装置１ａに情報を送信する経路とをそれぞれ選択してもよい。または、選択部１１は、第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で、音声を通信する経路と、映像を通信する経路とをそれぞれ選択してもよい。なお、本実施の形態では、１個の経路を選択する場合について説明する。
【００３８】
選択結果情報送信部１２は、選択結果情報を第２の情報処理装置２ａに送信する。この送信はＰ２Ｐ通信の経路を用いて行われる。ここで、選択結果情報とは、選択部１１による選択結果を示す情報である。選択結果情報は、選択されたＰ２Ｐ通信の経路を第２の情報処理装置２ａにおいて特定することができる情報を含んでいる。選択されたＰ２Ｐ通信の経路を特定することができる情報とは、例えば、Ｐ２Ｐ通信の経路に、その経路を識別する識別情報が設定されている場合には、選択されたＰ２Ｐ通信の経路の識別情報であってもよく、選択されたＰ２Ｐ通信の経路で用いられるポート番号を示す情報であってもよく、選択されたＰ２Ｐ通信の経路を特定できる情報であれば、どのようなものであってもよい。ここで、Ｐ２Ｐ通信の経路の識別情報とは、例えば、Ｐ２Ｐ通信の経路の名前や、Ｐ２Ｐ通信の経路に対応した番号、記号などである。なお、選択結果情報に含まれる「選択されたＰ２Ｐ通信の経路を特定することができる情報」は、選択された経路を示すことによって、選択された経路を特定してもよく、あるいは、選択されなかった経路を示すことによって、選択された経路を特定してもよい。また、「選択結果情報を第２の情報処理装置２ａに送信する」ことには、選択結果情報の送信先を第２の通信処理装置４の通信回線１００側のアドレスにする場合を含むものとする。第２の通信処理装置４がＮＡＴ機能を有する場合には、選択結果情報の送信先として第２の情報処理装置２ａのアドレスを指定することはできないが、第２の通信処理装置４のアドレスを指定することによって、第２の通信処理装置４においてアドレス変換が行われ、第２の情報処理装置２ａに送信されることになるからである。また、選択結果情報送信部１２は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、選択結果情報送信部１２と第１の通信処理装置３との間に図示し
ない送信デバイスが存在することとなる）。また、選択結果情報送信部１２は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３９】
第１の通信部１３は、選択部１１が選択した経路によって第２の情報処理装置２ａと通信する。また、第１の通信部１３は、第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で２以上のＰ２Ｐ通信を確立する処理も行うものとする。Ｐ２Ｐ通信を確立する処理としては、例えば、前述のＳＴＵＮによる処理や、ＵＰｎＰを用いた処理や、その他の処理などがある。また、第１の通信部１３は、ＩＰｖ４のＰ２Ｐ通信の経路、ＩＰｖ６のＰ２Ｐ通信の経路のうち、両方の経路の確立を行ってもよく、一方の経路の確立を行ってもよい。第１の通信部１３は、それらの複数のＰ２Ｐ通信の経路を確立する処理の少なくとも一部を並行して行ってもよく、あるいは、並行して行わなくてもよい。複数のＰ２Ｐ通信の経路を確立する処理の少なくとも一部を並行して行うことによって、各経路の確立を並行して行わない場合に比べ、早期にＰ２Ｐ通信を開始することができるようになりうる。特に、あるＰ２Ｐ通信を確立する方法を用いてＰ２Ｐ通信の経路を確立することができるかどうかは、通信処理装置の種類や機能に依存するため、複数のＰ２Ｐ通信を確立する処理を並行して行うことによって、さまざまな通信処理装置に対応したＰ２Ｐ通信の確立を早期に行うことができるようになる。なお、第１の通信部１３は、通信を行うための通信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、第１の通信部１３と第１の通信処理装置３との間に図示しない通信デバイスが存在することとなる）。また、第１の通信部１３は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、選択結果情報送信部１２と、第１の通信部１３とが通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【００４０】
第２の情報処理装置２ａは、選択結果情報受信部２１と、第２の通信部２２とを備える。なお、第２の情報処理装置２ａは、例えば、コンピュータ、電話機、プリンタ、ファクシミリ装置、テレビ、映像録画装置、セットトップボックス等であり、他の装置とＰ２Ｐ通信を行う装置であればどのようなものであってもよい。
【００４１】
選択結果情報受信部２１は、選択結果情報を受信する。なお、選択結果情報受信部２１は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、選択結果情報受信部２１と第２の通信処理装置４との間に図示しない受信デバイスが存在することとなる）。また、選択結果情報受信部２１は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００４２】
第２の通信部２２は、選択結果情報受信部２１が受信した選択結果情報を用いて、選択部１１が選択した経路によって第１の情報処理装置１ａと通信する。すなわち、第２の通信部２２は、選択結果情報に含まれる、選択されたＰ２Ｐ通信の経路を特定することができる情報を参照し、その情報の示すＰ２Ｐ通信の経路によって第１の情報処理装置１ａとの通信を行う。また、第２の通信部２２は、第１の通信部１３と同様に、第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で２以上のＰ２Ｐ通信を確立する処理も行うものとする。なお、第２の通信部２２は、通信を行うための通信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、第２の通信部２２と第２の通信処理装置４との間に図示しない通信デバイスが存在することとなる）。また、第２の通信部２２は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
選択結果情報受信部２１と、第２の通信部２２とが通信に関するデバイスを有する場合
に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【００４３】
第１の通信処理装置３は、第１の情報処理装置１ａと、第２の通信処理装置４やＰ２Ｐサーバ５との間の通信に関する処理を行う。第１の通信処理装置３は、プライベートアドレスとグローバルアドレスとの間で相互にアドレス変換を行うＮＡＴ機能を有する装置であってもよく、パケットフィルタリングのファイアウォール（Ｆｉｒｅｗａｌｌ）の機能を有する装置であってもよく、あるいは、その両者を有する装置であってもよい。ここで、パケットフィルタリングとは、例えば、受信フィルタルールに基づいた受信パケットの選択を行うものである。受信フィルタルールには、例えば、そのポートからパケットを送信したアドレスからのみしかパケットを受信しないＡｄｄｒｅｓｓ  Ｓｅｎｓｉｔｉｖｅフィルタ、そのポートからパケットを送信したポートからのみしかパケットを受信しないＰｏｒｔ  Ｓｅｎｓｉｔｉｖｅフィルタ、フィルタが存在しないＮｏフィルタがある。本実施の形態では、第１の通信処理装置３がＮＡＴ機能を有する装置である場合について説明する。
【００４４】
第２の通信処理装置４は、第２の情報処理装置２ａと、第１の通信処理装置３やＰ２Ｐサーバ５との間の通信に関する処理を行う。第２の通信処理装置４も、第１の通信処理装置３と同様に、プライベートアドレスとグローバルアドレスとの間で相互にアドレス変換を行うＮＡＴ機能を有する装置であってもよく、パケットフィルタリングのファイアウォール（Ｆｉｒｅｗａｌｌ）の機能を有する装置であってもよく、あるいは、その両者を有する装置であってもよい。本実施の形態では、第２の通信処理装置４がＮＡＴ機能を有する装置である場合について説明する。
【００４５】
Ｐ２Ｐサーバ５は、第１の情報処理装置１ａと、第２の情報処理装置２ａとの間のＰ２Ｐ通信を確立するための処理を行う。例えば、第１の情報処理装置１ａに、第２の通信処理装置４のアドレスを通知したり、第２の情報処理装置２ａに、第１の通信処理装置３のアドレスを通知したりする。なお、このＰ２Ｐサーバ５の行う処理は、従来例のＳＴＵＮなどのサーバの処理と同様であり、その説明を省略する。
【００４６】
次に、本実施の形態による第１の情報処理装置１ａの動作について、図２のフローチャートを用いて説明する。なお、図２のフローチャートは第１の情報処理装置１ａが行う経路の選択に関する処理のみを示しており、Ｐ２Ｐ通信の経路の確立の処理等については示していなが、別途、それらの処理は行われるものとする。これ以降のフローチャートについても同様であるとする。
【００４７】
（ステップＳ１０１）選択部１１は、選択を行うタイミングであるかどうか判断する。そして、選択を行うタイミングである場合には、ステップＳ１０２に進み、そうでない場合には、選択を行うタイミングとなるまで、ステップＳ１０１の処理を繰り返す。ここで、選択を行うタイミングとは、例えば、第１の通信部１３によって複数のＰ２Ｐ通信の経路が確立されたタイミングであってもよく、第１の通信部１３によって複数のＰ２Ｐ通信の経路が確立され、かつ、確立を行おうとしていたすべての経路について、確立を行うことができるかどうかが決定された後であってもよく、その他のタイミングであってもよい。
【００４８】
（ステップＳ１０２）選択部１１は、複数のＰ２Ｐ通信の経路から、第１の情報処理装置１ａと第２の情報処理装置２ａとの間の通信で用いる経路を選択する。選択のアルゴリズムとしては、例えば、前述のものを用いる。
【００４９】
（ステップＳ１０３）選択結果情報送信部１２は、選択部１１による選択結果を示す情報である選択結果情報を構成し、その選択結果情報を第２の情報処理装置２ａに送信する
。選択結果情報送信部１２は、選択結果情報の送信先である第２の情報処理装置２ａのアドレスを、例えば、第１の通信部１３から取得する。
【００５０】
（ステップＳ１０４）第１の通信部１３は、選択部１１によって選択されなかったＰ２Ｐ通信の経路を閉じる。Ｐ２Ｐ通信の経路を閉じる処理として、例えば、ＵＰｎＰを用いて確立されたＰ２Ｐ通信の経路が選択されなかった場合に、第１の通信部１３は、ＵＰｎＰを用いて第１の通信処理装置３に設定したポートマッピングの設定等を廃棄する処理を行う。
【００５１】
（ステップＳ１０５）第１の通信部１３は、選択部１１によって選択された経路を用いて第２の情報処理装置２ａとの通信を開始する。そして、ステップＳ１０１に戻る。なお、この通信の開始は、選択結果情報の送信に応じて第２の情報処理装置２ａから送信された通信を開始してよい旨の情報を第１の情報処理装置１ａが受信した後に開始してもよい。また、このステップＳ１０５で開始されたＰ２Ｐ通信は、通信対象の情報のすべての送受信が完了したことによって終了されてもよく、第１の情報処理装置１ａや、第２の情報処理装置２ａの電源のオフ等によって終了されてもよく、第１の情報処理装置１ａ、あるいは第２の情報処理装置２ａが通信を終了する旨の指示を受け付けたことによって終了されてもよい。
【００５２】
なお、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図２のフローチャートにおいて、ステップＳ１０３より後にステップＳ１０５が行われるのであれば、ステップＳ１０３〜Ｓ１０５の処理を行う順序について任意性がある。以下のフローチャートについても同様である。
【００５３】
次に、本実施の形態による第２の情報処理装置２ａの動作について、図３のフローチャートを用いて説明する。なお、図３のフローチャートは第２の情報処理装置２ａが行う、選択結果情報に基づいた通信に関する処理のみを示しており、Ｐ２Ｐ通信の経路の確立の処理等については示していなが、別途、それらの処理は行われるものとする。
【００５４】
（ステップＳ２０１）選択結果情報受信部２１は、選択結果情報を受信したかどうか判断する。そして、選択結果情報を受信した場合には、ステップＳ２０２に進み、そうでない場合には、選択結果情報を受信するまでステップＳ２０１の処理を繰り返す。
（ステップＳ２０２）第２の通信部２２は、選択結果情報に基づいて、選択部１１によって選択されなかったＰ２Ｐ通信の経路を閉じる。
【００５５】
（ステップＳ２０３）第２の通信部２２は、選択結果情報によって特定される、選択部１１が選択した経路を用いて第１の情報処理装置１ａとの通信を開始する。そして、ステップＳ２０１に戻る。また、このステップＳ２０３で開始されたＰ２Ｐ通信は、通信対象の情報のすべての送受信が完了したことなどよって終了されるのは、ステップＳ１０５の説明と同様である。
【００５６】
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、図３のフローチャートにおいて、ステップＳ２０２、Ｓ２０３の処理を行う順序には、任意性がある。以下のフローチャートについても同様である。
【００５７】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例では、前述のＳＴＵＮによるＰ２Ｐ通信の経路（以下、「ＳＴＵＮ経路」とする）の確立と、ＵＰｎＰを用いたＰ２Ｐ通信の経路（以下、「ＵＰｎＰ経路」とする）の確立と、前記特許文献１に記載されているＰ２Ｐ通信の経路（以下、「文献１経路」とする）の確立とが行われたものとする。また、選択部１１は、２以上のＰ２Ｐ通信の経路が確
立された場合に、ＵＰｎＰ経路以外の経路が確立されている場合には、ＵＰｎＰ経路以外の経路のうち、第２の通信処理装置４の最も小さいポート番号を用いた経路を選択するものとする。なお、文献１経路の確立方法については、前記特許文献１に記載されており、ＳＴＵＮ経路の確立方法については、前記非特許文献１に記載されているため、その説明を省略する。
【００５８】
まず、ＵＰｎＰ経路の確立方法について、図４のフローチャートを用いて簡単に説明する。図４は、第１の情報処理装置１ａと、第２の情報処理装置２ａと、Ｐ２Ｐサーバ５との情報の送受信等を示す図である。
【００５９】
（ステップＳ３０１）第１の情報処理装置１ａの第１の通信部１３は、アドレス情報と、第１の情報処理装置１ａを識別する情報である装置識別情報とをＰ２Ｐサーバ５に送信する。ここで、アドレス情報とは、Ｐ２Ｐサーバ５が第１の情報処理装置１ａに情報を送信するときに用いるＩＰアドレス、及びポート番号を含む情報である。また、第１の情報処理装置１ａの装置識別情報は、「ＡＡＡ」であるとする。なお、厳密には、第１の通信処理装置３がＮＡＴ機能を有する場合には、アドレス情報は、第１の通信処理装置３で付加されることになる。したがって、第１の通信部１３は、第１の情報処理装置１ａの装置識別情報「ＡＡＡ」を含むパケットを構成し、そのパケットを第１の通信処理装置３を介してＰ２Ｐサーバ５に送信する。そのパケットは、第１の通信処理装置３において、第１の通信処理装置３の通信回線１００側のＩＰアドレス「２０２．２２４．１３５．１０」、ポート番号「２３４５６」が送信元のＩＰアドレス、及び送信元のポート番号となるようにアドレス変換され、Ｐ２Ｐサーバ５に送信されたとする。
【００６０】
（ステップＳ３０２）Ｐ２Ｐサーバ５は、第１の情報処理装置１ａから送信されたアドレス情報と、装置識別情報とを受信し、それらに基づいて、アドレス情報の登録を行う。具体的には、図５で示されるように、装置識別情報と、ＩＰアドレスと、ポート番号とを対応付けるレコードを作製し、そのレコードを記憶する。図５の１番目のレコードは、第１の情報処理装置１ａに対応するレコードである。
【００６１】
（ステップＳ３０３）第２の情報処理装置２ａの第２の通信部２２も、第１の通信部１３と同様に、第２の情報処理装置２ａの装置識別情報「ＢＢＢ」を含むパケットを構成し、そのパケットをＰ２Ｐサーバ５に送信する。そのパケットは、第２の通信処理装置４で、送信元のＩＰアドレス、ポート番号が、それぞれ「２０２．２２４．１３５．５５」、「３４５６７」となるようにアドレス変換され、Ｐ２Ｐサーバ５に送信されたとする。
【００６２】
（ステップＳ３０４）Ｐ２Ｐサーバ５は、第２の情報処理装置２ａから送信されたアドレス情報と、装置識別情報とを受信し、それらに基づいて、図５の２番目のレコードで示されるように、ＩＰアドレス等を登録する。
【００６３】
なお、第１の情報処理装置１ａ、及び第２の情報処理装置２ａは、アドレス情報の登録の処理を行った後に、Ｐ２Ｐサーバ５から送信された情報を、通信処理装置を介して受信することができるように、Ｐ２Ｐサーバ５に反復してパケットを送信してもよい。この反復して送信するパケットのことを反復パケットと呼ぶことにする。一般に、通信処理装置にはポート維持時間が設定されており、情報処理装置とＰ２Ｐサーバ５との間で最後に通信が行われてからポート維持時間の経過した後には、Ｐ２Ｐサーバ５から送信されたパケットを情報処理装置が受信できなくなるからである。したがって、反復パケットを送信することによって、情報処理装置は、Ｐ２Ｐサーバ５から送信されるパケットをいつでも受信することができるようになる。ここで、反復パケットを送信する周期は、通信処理装置のポート維持時間よりも短く設定されている。この反復パケットのペイロードには、何らかの情報が含まれていてもよく、何も情報が含まれていなくてもよい。反復パケットは、
例えば、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）やＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のパケットである。反復パケットの送信の周期は、一定であってもよく、不定であってもよい。
【００６４】
（ステップＳ３０５）第１の通信部１３は、ＵＰｎＰの機能を用いて第１の通信処理装置３にアクセスし、第１の通信処理装置３におけるポートマッピングの設定を行う。具体的には、第１の通信処理装置３のＷＡＮ側のポート番号「２５０００」のポート（以下、「ポート２５０００」と呼ぶこともある。他のポート番号についても同様であるとする。）と、第１の情報処理装置１ａのポート番号「２００００」との間でポートマッピングを行う旨の設定を行う。第１の通信処理装置３では、このポートマッピングの設定にしたがって、第１の通信処理装置３の通信回線１００側のポート２５０００に送信されたパケットを、第１の情報処理装置１ａのポート２００００に送信する処理が行われる。
【００６５】
（ステップＳ３０６）第１の通信部１３は、第２の情報処理装置２ａとのＰ２Ｐ通信の開始を要求する情報である通信要求情報をＰ２Ｐサーバ５に送信する。この通信要求情報には、第１の通信処理装置３の通信回線１００側のＩＰアドレス「２０２．２２４．１３５．１０」と、ステップＳ３０５でＵＰｎＰの機能を用いて設定した第１の通信処理装置３の通信回線１００側のポート番号「２５０００」と、送信元の装置識別情報「ＡＡＡ」と、送信先の装置識別情報「ＢＢＢ」とが含まれている。ここで、第１の通信部１３は、例えば、第１の通信処理装置３の通信回線１００側のＩＰアドレスをＵＰｎＰの機能を用いて取得してもよく、あるいは、Ｐ２Ｐサーバ５等を用いて、そのＩＰアドレスを取得してもよい。
【００６６】
（ステップＳ３０７）Ｐ２Ｐサーバ５は、第１の情報処理装置１ａから送信された通信要求情報を中継する。具体的には、通信要求情報を受信すると、その通信要求情報に含まれる送信先の装置識別情報「ＢＢＢ」に対応するＩＰアドレス、ポート番号を図５の２番目のレコードから取得し、そのＩＰアドレス、ポート番号に、受信した通信要求情報を送信する。その通信要求情報は、第２の情報処理装置２ａの第２の通信部２２で受信される。そして、第２の通信部２２は、その通信要求情報に含まれる第１の通信処理装置３のＩＰアドレスと、ポート番号と、第１の情報処理装置１ａの装置識別情報とを保持しておく。
【００６７】
（ステップＳ３０８）第２の通信部２２も、第１の通信部１３と同様に、ＵＰｎＰの機能を用いて第２の通信処理装置４にアクセスし、第２の通信処理装置４におけるポートマッピングの設定を行う。具体的には、第２の通信処理装置４のＷＡＮ側のポート番号「３５０００」のポートと、第２の情報処理装置２ａのポート番号「３００００」との間でポートマッピングを行う旨の設定を行う。第２の通信処理装置４では、このポートマッピングの設定にしたがって、第２の通信処理装置４の通信回線１００側のポート３５０００に送信されたパケットを、第２の情報処理装置２ａのポート３００００に送信する処理が行われる。
【００６８】
（ステップＳ３０９）第２の通信部２２は、通信要求情報に対する返信情報をＰ２Ｐサーバ５に送信する。この返信情報には、第２の通信処理装置４の通信回線１００側のＩＰアドレス「２０２．２２４．１３５．５５」と、ステップＳ３０８でＵＰｎＰの機能を用いて設定した第２の通信処理装置４の通信回線１００側のポート番号「３５０００」と、送信元の装置識別情報「ＢＢＢ」と、送信先の装置識別情報「ＡＡＡ」とが含まれている。ここで、第２の通信部２２は、例えば、第２の通信処理装置４の通信回線１００側のＩＰアドレスをＵＰｎＰの機能を用いて取得してもよく、あるいは、Ｐ２Ｐサーバ５等を用いて、そのＩＰアドレスを取得してもよい。
【００６９】
（ステップＳ３１０）Ｐ２Ｐサーバ５は、第２の情報処理装置２ａから送信された返信情報を中継する。具体的には、返信情報を受信すると、その返信情報に含まれる送信先の装置識別情報「ＡＡＡ」に対応するＩＰアドレス、ポート番号を図５の１番目のレコードから取得し、そのＩＰアドレス、ポート番号に、受信した返信情報を送信する。その返信情報は、第１の情報処理装置１ａの第１の通信部１３で受信される。そして、第１の通信部１３は、その通信要求情報に含まれる第２の通信処理装置４のＩＰアドレスと、ポート番号とを保持しておく。
【００７０】
この後、第１の情報処理装置１ａと、第２の情報処理装置２ａとは、それぞれＵＰｎＰの機能を用いて設定したポートマッピングを用いて、Ｐ２Ｐ通信を行うことができるようになる。具体的には、第１の情報処理装置１ａは、第２の通信処理装置４の通信回線１００側のポート３５０００にパケットを送信することによって、サーバを経由することなく、第２の情報処理装置２ａに情報を送信することができる。また、第２の情報処理装置２ａは、第１の通信処理装置３の通信回線１００側のポート２５０００にパケットを送信することによって、サーバを経由することなく、第１の情報処理装置１ａに情報を送信することができる。
【００７１】
なお、図４において、ステップＳ３０１と、ステップＳ３０３との順序は問わない。すなわち、第２の情報処理装置２ａによるアドレス情報等の送信と、Ｐ２Ｐサーバ５によるアドレス情報の登録（ステップＳ３０３、Ｓ３０４）の後に、第１の情報処理装置１ａによるアドレス情報等の送信と、Ｐ２Ｐサーバ５によるアドレス情報の登録（ステップＳ３０１、Ｓ３０２）を行ってもよい。また、ステップＳ３０８におけるポートマッピングの設定を、ステップＳ３０６、Ｓ３０７よりも以前に行ってもよい。
【００７２】
ＵＰｎＰ経路の確立と並行して、ＳＴＵＮ経路の確立と、文献１経路の確立も行われたものとする。ここで、ＳＴＵＮ経路では、第１の通信処理装置３の通信回線１００側のポート番号「２６０００」が使用され、第２の通信処理装置４の通信回線１００側のポート番号「３６０００」が使用されるとする。また、文献１経路では、第１の通信処理装置３の通信回線１００側のポート番号「２７０００」が使用され、第２の通信処理装置４の通信回線１００側のポート番号「３７０００」が使用されるとする。
【００７３】
選択部１１は、第１の通信部１３によって３個のＰ２Ｐ通信の経路が確立されたことを検知すると、選択を行うタイミングであると判断する（ステップＳ１０１）。そして、ＵＰｎＰ経路以外のＳＴＵＮ経路と、文献１経路とが確立しているため、選択部１１は、そのＳＴＵＮ経路と、文献１経路とのうち、第２の通信処理装置４のポート番号が小さいほうの経路、すなわち、ＳＴＵＮ経路を選択する（ステップＳ１０２）。そして、ＳＴＵＮ経路を選択した旨を第１の通信部１３と、選択結果情報送信部１２とに渡す。
【００７４】
選択結果情報送信部１２は、選択部１１から選択結果を受け取ると、ＳＴＵＮ経路が選択された旨の情報を含む選択結果情報を構成する。そして、選択結果情報送信部１２は、ＳＴＵＮ経路における第２の通信処理装置４のＩＰアドレス「２０２．２２４．１３５．５５」と、ポート番号「３６０００」とを第１の通信部１３から取得し、そのＩＰアドレス、ポート番号に、選択結果情報を送信する（ステップＳ１０３）。
【００７５】
第１の通信部１３は、選択部１１から選択結果を受け取ると、選択されなかったＵＰｎＰ経路と、文献１経路とを閉じる（ステップＳ１０４）。具体的には、ＵＰｎＰ経路のために第１の通信処理装置３に対して行っていたポートマッピングの設定を解除する。また、文献１経路のために第１の情報処理装置１ａで設定していたポートでのパケットの待ち受けを終了する。
【００７６】
一方、第１の情報処理装置１ａから送信された選択結果情報は、第２の通信処理装置４でアドレス変換され、第２の情報処理装置２ａの選択結果情報受信部２１で受信される（ステップＳ２０１）。第２の通信部２２は、その選択結果情報に基づいて、第１の情報処理装置１ａとのＰ２Ｐ通信で使用するＳＴＵＮ経路以外の経路、すなわち、ＵＰｎＰ経路と、文献１経路とを閉じる（ステップＳ２０２）。経路を閉じる方法は、第１の通信部１３と同様である。
その後、第１の通信部１３と、第２の通信部２２とは、ＳＴＵＮ経路を用いたＰ２Ｐ通信を開始する（ステップＳ１０５，Ｓ２０３）。
【００７７】
第１の情報処理装置１ａと、第２の情報処理装置２ａとの間でのＰ２Ｐ通信は、例えば、まず、第１の通信部１３から確認パケットが第２の情報処理装置２ａに送信され、その確認パケットの送信に応じて、第２の通信部２２から第１の情報処理装置１ａに返信パケットが送信されることによって開始されてもよい。
【００７８】
なお、この具体例では、選択されたＰ２Ｐ通信の経路を介して選択結果情報を送信する場合について説明したが、選択されなかったＰ２Ｐ通信の経路を介して選択結果情報を送信してもよい。例えば、ＳＴＵＮ経路が選択された場合に、ＵＰｎＰ経路を介して選択結果情報を第１の情報処理装置１ａから第２の情報処理装置２ａに送信してもよい。
【００７９】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ａと、第２の情報処理装置２ａとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、第１の情報処理装置１ａにおいて、いずれか１個の経路を選択し、その選択結果を、Ｐ２Ｐ通信の経路を介して第２の情報処理装置２ａに送信することができる。その結果、第２の情報処理装置２ａにおいて、選択されなかった経路を閉じることができる。また、例えば、２以上の経路を用いて通信を行う場合には、選択結果情報を送信することにより、第１の情報処理装置１ａは、どの経路をどのような通信に用いるのかを第２の情報処理装置２ａに知らせることができる。例えば、ＵＰｎＰ経路を音声の通信に用い、ＳＴＵＮ経路を映像の通信に用いることや、ＵＰｎＰ経路を第１の情報処理装置１ａから第２の情報処理装置２ａへの通信に用い、ＳＴＵＮ経路を第２の情報処理装置２ａから第１の情報処理装置１ａへの通信に用いることなどを知らせることができる。その後、第１の情報処理装置１ａと、第２の情報処理装置２ａとにおいて、選択された経路によるＰ２Ｐ通信を行うことができる。
【００８０】
また、選択されなかったＰ２Ｐ通信の経路が閉じられることにより、例えば、Ｐ２Ｐ通信の経路が確立された後に、その経路で用いるポートを情報処理装置において監視しなければならない場合に、その監視の処理負担を軽減することができる。また、例えば、ＵＰｎＰ経路が選択されなかった場合に、通信処理装置におけるポートマッピングの設定を解除することにより、ポートマッピングの設定によって通信処理装置のポートが開いたままになる事態を回避することができる。したがって、ポートマッピングの設定によって開けられたポートを介して不正アクセス等が行われることを防止でき、その通信処理装置に接続されている情報処理装置の安全性を向上させることができうる。
【００８１】
（実施の形態２）
本発明の実施の形態２による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、選択結果情報をサーバ経由で送信するものである。
【００８２】
図６は、本実施の形態による通信システムの構成を示すブロック図である。図６において、本実施の形態による通信システムは、第１の情報処理装置１ｂと、第２の情報処理装置２ａと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５と、サーバ６とを備える。なお、第１の情報処理装置１ｂ、及びサーバ６以外は、実施の形態１と
同様であり、その説明を省略する。ただし、第２の情報処理装置２ａの選択結果情報受信部２１は、サーバ６から送信された選択結果情報を受信するものとする。
【００８３】
第１の情報処理装置１ｂは、選択部１１と、第１の通信部１３と、選択結果情報送信部１４とを備える。なお、選択結果情報送信部１４以外は、実施の形態１と同様であり、その説明を省略する。
【００８４】
選択結果情報送信部１４は、選択結果情報をサーバ６に送信する。ここで、選択結果情報は、実施の形態１と同様に、送信先の装置（すなわち、本実施の形態では、第２の情報処理装置２ａ）において、選択されたＰ２Ｐ通信の経路を特定することができる情報を含んでいると共に、選択結果情報の送信先を特定することができる情報を含んでいる。選択結果情報の送信先を特定することができる情報とは、例えば、第２の情報処理装置２ａのアドレスとポート番号であってもよく、あるいは、サーバ６が装置識別情報とＩＰアドレスとポート番号との対応を有している場合には、第２の情報処理装置２ａの装置識別情報であってもよく、送信先を特定できる情報であれば、どのようなものであってもよい。また、選択結果情報送信部１４は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、選択結果情報送信部１４と第１の通信処理装置３との間に図示しない送信デバイスが存在することとなる）。また、選択結果情報送信部１４は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００８５】
なお、第１の通信部１３と、選択結果情報送信部１４とが通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【００８６】
サーバ６は、受信部６１と、送信部６２とを備える。このサーバ６は、一方の情報処理装置から送信された情報を、他方の情報処理装置にリレーするサーバであり、例えば、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を用いたサーバであってもよい。
【００８７】
受信部６１は、選択結果情報を受信する。この選択結果情報は、第１の情報処理装置１ａから送信されたものである。なお、受信部６１は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、受信部６１と通信回線１００との間に図示しない受信デバイスが存在することとなる）。また、受信部６１は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００８８】
送信部６２は、受信部６１が受信した選択結果情報を第２の情報処理装置２ａに送信する。ここで、選択結果情報の送信先は、選択結果情報に含まれる選択結果情報の送信先を特定することができる情報によって示される送信先である。なお、送信部６２が送信する選択結果情報は、受信部６１が受信した選択結果情報とまったく同じものであってもよく、または、何らかの情報が削除もしくは付加されていてもよい。後者の場合として、例えば、送信部６２は、受信部６１が受信した選択結果情報から選択結果情報の送信先を特定することができる情報を削除して送信してもよい。また、送信部６２は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、送信部６２と通信回線１００との間に図示しない送信デバイスが存在することとなる）。また、送信部６２は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、受信部６１、及び送信部６２が通信に関するデバイスを有する場合に、それらは
同一の手段であってもよく、あるいは別々の手段であってもよい。
【００８９】
次に、本実施の形態による通信システムの動作について説明する。第１の情報処理装置１ｂの動作は、選択結果情報送信部１４が送信する選択結果情報に、選択結果情報の送信先を特定することができる情報が含まれる以外、実施の形態１の図２のフローチャートと同様であり、その説明を省略する。また、第２の情報処理装置２ａの動作も、選択結果情報受信部２１がサーバ６から送信された選択結果情報を受信する以外、実施の形態１の図３と同様であり、その説明を省略する。
【００９０】
図７は、本実施の形態によるサーバ６の動作を示すフローチャートである。
（ステップＳ４０１）受信部６１は、選択結果情報を受信したかどうか判断する。そして、選択結果情報を受信した場合には、ステップＳ４０２に進み、そうでない場合には、選択結果情報を受信するまでステップＳ４０１の処理を繰り返す。
【００９１】
（ステップＳ４０２）送信部６２は、受信部６１が受信した選択結果情報を、その選択結果情報を送信先に送信する。送信部６２は、この選択結果情報の送信先を、選択結果情報に含まれている送信先を特定する情報に基づいて知ることができる。そして、ステップＳ４０１に戻る。
なお、図７のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００９２】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第１の情報処理装置１ｂから第２の情報処理装置２ａへの選択結果情報の送信に関する処理以外は、実施の形態１の具体例と同様であるとして、その説明を省略する。また、第１の情報処理装置１ｂと、第２の情報処理装置２ａとは、サーバ６に対しても、実施の形態１のステップＳ３０１、Ｓ３０３と同様の処理を行っているものとする。その結果、サーバ６において、図５で示される装置識別情報と、ＩＰアドレスと、ポート番号とを対応付ける情報が保持されているものとする。また、第１の情報処理装置１ｂ、及び第２の情報処理装置２ａは、サーバ６からの情報を受信することができるように、サーバ６に対して反復パケットを送信しているものとする。
【００９３】
ＳＴＵＮ経路、ＵＰｎＰ経路、文献１経路の３つの経路から、ＳＴＵＮ経路が選択されると、選択結果情報送信部１４は、ＳＴＵＮ経路が選択された旨の情報と、送信先を装置識別情報「ＢＢＢ」とを含む選択結果情報を構成する。そして、選択結果情報送信部１４は、その選択結果情報を、サーバ６に送信する（ステップＳ１０３）。なお、選択結果情報送信部１４は、サーバ６のＩＰアドレスをあらかじめ保持しているものとする。
【００９４】
第１の情報処理装置１ｂから送信された選択結果情報は、サーバ６の受信部６１で受信され、送信部６２に渡される（ステップＳ４０１）。送信部６２は、図示しない記録媒体で記憶されている図５で示される情報を参照し、受信部６１が受信した選択結果情報に含まれる送信先装置識別情報「ＢＢＢ」に対応するＩＰアドレス「２０２．２２４．１３５．５５」と、ポート番号「３６０００」とを取得し、そのＩＰアドレスと、ポート番号とを送信先として、選択結果情報を送信する（ステップＳ４０２）。
【００９５】
その選択結果情報は、第２の通信処理装置４でアドレス変換され、選択結果情報受信部２１で受信される。この後の処理は、実施の形態１の具体例と同様であり、その説明を省略する。
【００９６】
以上のように、本実施の形態による通信システムでは、実施の形態１と同様に、第１の情報処理装置１ｂと、第２の情報処理装置２ａとの間で、２以上のＰ２Ｐ通信の経路から
選択された経路を用いて、Ｐ２Ｐ通信を行うことができる。また、選択結果情報を、第１の情報処理装置１ｂから第２の情報処理装置２ａにサーバ６経由で送信することができる。
【００９７】
（実施の形態３）
本発明の実施の形態３による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、各情報処理装置において、Ｐ２Ｐ通信の経路を選択するものである。
【００９８】
図８は、本実施の形態による通信システムの構成を示すブロック図である。図８において、本実施の形態による通信システムは、第１の情報処理装置１ｃと、第２の情報処理装置２ｃと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５とを備える。なお、第１の情報処理装置１ｃ、及び第２の情報処理装置２ｃ以外は、実施の形態１と同様であり、その説明を省略する。
【００９９】
第１の情報処理装置１ｃは、第１の選択部１１ｃと、第１の通信部１３とを備える。なお、第１の選択部１１ｃ、第１の通信部１３は、それぞれ実施の形態１の通信部１１、第１の通信部１３と同様のものであり、その説明を省略する。第１の情報処理装置１ｃは、選択結果情報の送信を行わない以外、実施の形態１の第１の情報処理装置１ａと同様のものである。
【０１００】
第２の情報処理装置２ｃは、第２の通信部２２と、第２の選択部２３とを備える。第２の通信部２２は、選択結果情報受信部２１が受信した選択結果情報を用いて、選択部１１が選択した経路によって通信する代わりに、第２の選択部２３が選択した経路によって第１の情報処理装置１ｃと通信する以外、実施の形態１と同様であり、その説明を省略する。
【０１０１】
第２の選択部２３は、第１の情報処理装置１ｃと、第２の情報処理装置２ｃとの間で確立された２以上のＰ２Ｐ通信の経路から、第１の情報処理装置１ｃと第２の情報処理装置２ｃとの間の通信で用いる経路を選択する。この選択は、第１の選択部１１ｃと同じアルゴリズムを用いて行われる。なお、第２の選択部２３は、経路の選択を第２の情報処理装置２ｃにおいて行う以外、第１の選択部１１ｃと同様のものであり、その説明を省略する。
【０１０２】
次に、本実施の形態による第１の情報処理装置１ｃの動作について、図９のフローチャートを用いて説明する。
（ステップＳ５０１）第１の選択部１１ｃは、選択を行うタイミングであるかどうか判断する。そして、選択を行うタイミングである場合には、ステップＳ５０２に進み、そうでない場合には、選択を行うタイミングとなるまで、ステップＳ５０１の処理を繰り返す。ここで、選択を行うタイミングとは、例えば、第１の通信部１３によって複数のＰ２Ｐ通信の経路が確立されたタイミングであってもよく、第１の通信部１３によって複数のＰ２Ｐ通信の経路が確立され、かつ、確立を行おうとしていたすべての経路について、確立を行うことができるかどうかが決定された後であってもよく、その他のタイミングであってもよい。
【０１０３】
（ステップＳ５０２）第１の選択部１１ｃは、複数のＰ２Ｐ通信の経路から、第１の情報処理装置１ｃと第２の情報処理装置２ｃとの間の通信で用いる経路を選択する。選択のアルゴリズムとしては、例えば、前述のものを用いる。
（ステップＳ５０３）第１の通信部１３は、第１の選択部１１ｃによって選択されなかったＰ２Ｐ通信の経路を閉じる。
【０１０４】
（ステップＳ５０４）第１の通信部１３は、第１の選択部１１ｃによって選択された経路を用いて第２の情報処理装置２ｃとの通信を開始する。そして、ステップＳ５０１に戻る。なお、この通信の開始は、選択結果情報の送信に応じて第２の情報処理装置２ｃから送信された通信を開始してよい旨の情報を第１の情報処理装置１ｃが受信した後に開始してもよい。また、このステップＳ５０５で開始されたＰ２Ｐ通信は、通信対象の情報のすべての送受信が完了したことによって終了されてもよく、第１の情報処理装置１ｃや、第２の情報処理装置２ｃの電源のオフ等によって終了されてもよく、第１の情報処理装置１ｃ、あるいは第２の情報処理装置２ｃが通信を終了する旨の指示を受け付けたことによって終了されてもよい。
なお、図９のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１０５】
また、本実施の形態による第２の情報処理装置２ｃの動作は、第１の情報処理装置１ｃと、第２の情報処理装置２ｃが入れ替わり、第１の通信部１３と第２の通信部２２が入れ替わり、第１の選択部１１ｃと第２の選択部２３とが入れ替わる以外、図９で示されるフローチャートと同様であり、その説明を省略する。
【０１０６】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。この具体例でも、実施の形態１の具体例と同様に、ＳＴＵＮ経路と、ＵＰｎＰ経路と、文献１経路との確立が行われ、それぞれの経路が確立されたものとする。これらの経路の確立の処理は、実施の形態１の具体例と同様であり、その説明を省略する。また、この具体例では、第１の選択部１１ｃ、及び第２の選択部２３は、第１の情報処理装置１ｃと、第２の情報処理装置２ｃとの間で確立されたＰ２Ｐ通信の２以上の経路で使用されている第１の通信処理装置３の通信回線１００側のポート番号と、第２の通信処理装置４の通信回線１００側のポート番号とのうち、ポート番号が最も小さい経路を選択するものとする。なお、ポート番号が最も小さい経路が２以上ある場合には、発呼側の通信処理装置のポート番号で判断するものとする。発呼側とは、通信を開始する側のことである。例えば、第１の情報処理装置１ａが、第２の情報処理装置２ａとの通信を開始する場合には、第１の通信処理装置３が発呼側の通信処理装置となる。ここで、第１の情報処理装置１ｃと、第２の情報処理装置２ｃとは、一般に、通信先の通信処理装置の通信回線１００側のＩＰアドレス及びポート番号を知っていればＰ２Ｐ通信を行うことができるが、この具体例では、通信元の通信処理装置の通信回線１００側のポート番号をも取得するものとする。例えば、第１の情報処理装置１ｃや、第２の情報処理装置２ｃがＰ２Ｐサーバ５に問い合わせることにより、あるいは、通信の相手方の情報処理装置から教えてもらうことにより、通信元の通信処理装置のポート番号を取得することができる。
【０１０７】
ここで、ＵＰｎＰ経路では、第１の通信処理装置３のポート番号「２５０００」を使用し、第２の通信処理装置４のポート番号「３５０００」を使用するとする。また、ＳＴＵＮ経路では、第１の通信処理装置３のポート番号「２６０００」を使用し、第２の通信処理装置４のポート番号「３６０００」を使用するとする。
また、文献１経路では、第１の通信処理装置３のポート番号「２７０００」を使用し、第２の通信処理装置４のポート番号「３７０００」を使用するとする。
【０１０８】
第１の選択部１１ｃは、第１の通信部１３によって３個のＰ２Ｐ通信の経路が確立されたことを検知すると、選択を行うタイミングであると判断する（ステップＳ５０１）。そして、ＵＰｎＰ経路で使用される、第１の通信処理装置３の通信回線１００側のポート番号「２５０００」が、３個のＰ２Ｐ通信で使用される６個のポート番号のうち、最も小さい番号であるため、第１の選択部１１ｃは、ＵＰｎＰ経路を選択する（ステップＳ５０２）。そして、ＳＴＵＮ経路を選択した旨を第１の通信部１３に渡す。
【０１０９】
第１の通信部１３は、第１の選択部１１ｃから選択結果を受け取ると、選択されなかったＳＴＵＮ経路と、文献１経路とを閉じる（ステップＳ５０３）。具体的には、ＳＴＵＮ経路、及び文献１経路のために第１の情報処理装置１ｃで設定していたポートでのパケットの待ち受けを終了する。
【０１１０】
一方、第２の情報処理装置２ｃにおいても、第１の情報処理装置１ｃと同様に、Ｐ２Ｐ通信の経路の選択が行われる。すなわち、第２の選択部２３は、第２の通信部２２によって３個のＰ２Ｐ通信の経路が確立されたことを検知すると、選択を行うタイミングであると判断する（ステップＳ５０１）。そして、ＵＰｎＰ経路で使用される、第１の通信処理装置３の通信回線１００側のポート番号「２５０００」が、３個のＰ２Ｐ通信で使用される６個のポート番号のうち、最も小さい番号であるため、第２の選択部２３は、ＵＰｎＰ経路を選択する（ステップＳ５０２）。そして、ＳＴＵＮ経路を選択した旨を第２の通信部２２に渡す。
【０１１１】
第２の通信部２２は、第２の選択部２３から選択結果を受け取ると、選択されなかったＳＴＵＮ経路と、文献１経路とを閉じる（ステップＳ５０３）。具体的には、ＳＴＵＮ経路、及び文献１経路のために第２の情報処理装置２ｃで設定していたポートでのパケットの待ち受けを終了する。
その後、第１の通信部１３と、第２の通信部２２とによって、ＵＰｎＰ経路を用いたＰ２Ｐ通信が開始される（ステップＳ５０４）。
【０１１２】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｃと、第２の情報処理装置２ｃとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、各情報処理装置において、装置間のＰ２Ｐ通信で用いる経路を選択し、その選択された経路によるＰ２Ｐ通信を行うことができる。したがって、情報処理装置間で選択結果を通信するための処理が軽減されることになる。また、各情報処理装置における選択で、同一のアルゴリズムによって選択を行うため、第１の情報処理装置１ｃにおける選択結果と、第２の情報処理装置２ｃにおける選択結果とが異なるという事態の発生を回避することができる。
【０１１３】
（実施の形態４）
本発明の実施の形態４による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、Ｐ２Ｐ通信の経路の選択をサーバにおいて行うものである。
【０１１４】
図１０は、本実施の形態による通信システムの構成を示すブロック図である。図１０において、本実施の形態による通信システムは、第１の情報処理装置１ｄと、第２の情報処理装置２ｄと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５と、サーバ７ｄとを備える。なお、第１の情報処理装置１ｄ、第２の情報処理装置２ｄ、及びサーバ７ｄ以外は、実施の形態１と同様であり、その説明を省略する。
【０１１５】
第１の情報処理装置１ｄは、第１の通信部１３と、選択要求情報送信部１５と、第１の選択結果情報受信部１６とを備える。なお、第１の通信部１３は、第１の選択結果情報受信部１６が受信した選択結果情報を用いて、サーバ７ｄにおいて選択された経路によって第２の情報処理装置２ｄと通信する以外、実施の形態１と同様であり、その説明を省略する。
【０１１６】
選択要求情報送信部１５は、選択要求情報をサーバ７ｄに送信する。ここで、選択要求情報とは、第１の情報処理装置１ｄと、第２の情報処理装置２ｄとの間で確立された２以上のＰ２Ｐ通信の経路から、第１の情報処理装置１ｄと第２の情報処理装置２ｄとの間の
通信で用いる経路を選択することを要求する情報である。選択要求情報には、選択の対象となるＰ２Ｐ通信の経路の候補が含まれていてもよく、あるいは、Ｐ２Ｐ通信の経路の候補が含まれていなくてもよい。具体的には、前者の場合として、選択要求情報にＰ２Ｐ通信の経路の候補「ＵＰｎＰ経路」、「ＳＴＵＮ経路」などが含まれていてもよい。後者の場合として、選択要求情報にはＡ、Ｂ，Ｃからいずれか一個を選択する旨の指示が含まれており、第１の情報処理装置１ｄ、及び第２の情報処理装置２ｄにおいて、図１１で示すように、Ａ，Ｂ，Ｃと、Ｐ２Ｐ通信の経路との対応が保持されていてもよい。また、選択要求情報は、選択結果情報の送信先を特定することができる情報を含んでいる。選択結果情報の送信先を特定することができる情報とは、例えば、情報処理装置のアドレスとポート番号であってもよく（厳密には、通信処理装置のアドレスとポート番号であってもよい）、あるいは、サーバ７ｄが情報処理装置の装置識別情報とＩＰアドレスとポート番号との対応を有している場合には、情報処理装置の装置識別情報であってもよく、送信先を特定できる情報であれば、どのようなものであってもよい。なお、選択要求情報送信部１５は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、選択要求情報送信部１５と第１の通信処理装置３との間に図示しない送信デバイスが存在することとなる）。また、選択要求情報送信部１５は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１１７】
第１の選択結果情報受信部１６は、選択結果情報を受信する。ここで、選択結果情報は、サーバ７ｄによる選択結果を示す情報である。なお、選択結果情報は、選択されたＰ２Ｐ通信の経路を情報処理装置において特定することができる情報を含んでいる。その情報は、選択されたＰ２Ｐ通信の経路を特定できる情報であれば、どのようなものであってもよい点については、実施の形態１と同様である。なお、第１の選択結果情報受信部１６は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、第１の選択結果情報受信部１６と第１の通信処理装置３との間に図示しない受信デバイスが存在することとなる）。また、第１の選択結果情報受信部１６は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１１８】
なお、選択要求情報送信部１５と、第１の選択結果情報受信部１６とが通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１１９】
第２の情報処理装置２ｄは、第２の通信部２２と、第２の選択結果情報受信部２４とを備える。なお、第２の通信部２２は、実施の形態１と同様であり、その説明を省略する。また、第２の選択結果情報受信部２４は、サーバ７ｄから送信された選択結果情報を受信する以外、実施の形態１の選択結果情報受信部２１と同様であり、その説明を省略する。
【０１２０】
サーバ７ｄは、受信部７１と、選択部７２と、送信部７３とを備える。
受信部７１は、選択要求情報を受信する。この選択要求情報は、第１の情報処理装置１ｄから送信されたものである。なお、受信部７１は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、受信部７１と通信回線１００との間に図示しない受信デバイスが存在することとなる）。また、受信部７１は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１２１】
選択部７２は、受信部７１が受信した選択要求情報に応じて、第１の情報処理装置１ｄと、第２の情報処理装置２ｄとの間で確立された２以上のＰ２Ｐ通信の経路から、第１の情報処理装置１ｄと第２の情報処理装置２ｄとの間の通信で用いる経路を選択する。この
選択のアルゴリズムは、実施の形態１の選択部１１が用いるアルゴリズムと同様のものである。ここで、選択部７２が第１の通信処理装置３等のポート番号などを用いて選択を行う場合に、そのポート番号等が選択要求情報に含まれていてもよく、サーバ７ｄがＰ２Ｐサーバ５から取得してもよく、あるいは、その他の方法によってサーバ７ｄが取得してもよい。
【０１２２】
送信部７３は、選択結果情報を第１の情報処理装置１ｄ、及び第２の情報処理装置２ｄに送信する。ここで、選択結果情報とは、選択部７２による選択結果を示す情報である。なお、送信部７３は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、送信部７３と通信回線１００との間に図示しない送信デバイスが存在することとなる）。また、送信部７３は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、受信部７１、及び送信部７３が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１２３】
次に、本実施の形態による第１の情報処理装置１ｄの動作について、図１２のフローチャートを用いて説明する。
（ステップＳ６０１）選択要求情報送信部１５は、選択要求情報を送信するタイミングであるかどうか判断する。そして、選択要求情報を送信するタイミングである場合には、ステップＳ６０２に進み、そうでない場合には、選択要求情報を送信するタイミングとなるまで、ステップＳ６０１の処理を繰り返す。ここで、選択要求情報を送信するタイミングとは、例えば、第１の通信部１３によって複数のＰ２Ｐ通信の経路が確立されたタイミングであってもよく、第１の通信部１３によって複数のＰ２Ｐ通信の経路が確立され、かつ、確立を行おうとしていたすべての経路について、確立を行うことができるかどうかが決定された後であってもよく、その他のタイミングであってもよい。
【０１２４】
（ステップＳ６０２）選択要求情報送信部１５は、選択要求情報を構成し、その選択要求情報をサーバ７ｄに送信する。選択要求情報送信部１５には、選択要求情報の送信先であるサーバ７ｄのアドレスがあらかじめ設定されているものとする。
【０１２５】
（ステップＳ６０３）第１の選択結果情報受信部１６は、選択結果情報を受信したかどうか判断する。そして、選択結果情報を受信した場合には、ステップＳ６０４に進み、そうでない場合には、選択結果情報を受信するまで、ステップＳ６０３の処理を繰り返す。なお、選択要求情報が送信されてから所定の期間（例えば、１分など）が経過しても選択結果情報を受信しない場合には、サーバ７ｄが適切に動作していないなどのエラーが発生したと考えられるため、タイムアウトであると判断し、ステップＳ６０１に戻ってもよく、あるいは、一連の処理を終了してもよい。
（ステップＳ６０４）第１の通信部１３は、第１の選択結果情報受信部１６が受信した選択結果情報を用いて、サーバ７ｄで選択されなかったＰ２Ｐ通信の経路を閉じる。
【０１２６】
（ステップＳ６０５）第１の通信部１３は、選択結果情報を用いて、サーバ７ｄで選択された経路を用いて第２の情報処理装置２ｄとの通信を開始する。そして、ステップＳ６０１に戻る。なお、この通信の開始は、選択結果情報の送信に応じて第２の情報処理装置２ｄから送信された通信を開始してよい旨の情報を第１の情報処理装置１ｄが受信した後に開始してもよい。また、このステップＳ６０５で開始されたＰ２Ｐ通信は、通信対象の情報のすべての送受信が完了したことによって終了されてもよく、第１の情報処理装置１ｄや、第２の情報処理装置２ｄの電源のオフ等によって終了されてもよく、第１の情報処理装置１ｄ、あるいは第２の情報処理装置２ｄが通信を終了する旨の指示を受け付けたことによって終了されてもよい。
なお、図１２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１２７】
また、第２の情報処理装置２ｄの動作は、選択結果情報受信部２１が第２の選択結果情報受信部２４となり、第２の選択結果情報受信部２４がサーバ７ｄから送信された選択結果情報を受信する以外、実施の形態１の図３のフローチャートと同様であり、その説明を省略する。
【０１２８】
次に、本実施の形態によるサーバ７ｄの動作について、図１３のフローチャートを用いて説明する。
（ステップＳ７０１）受信部７１は、選択要求情報を受信したかどうか判断する。そして、選択要求情報を受信した場合には、ステップＳ７０２に進み、そうでない場合には、選択要求情報を受信するまで、ステップＳ７０１の処理を繰り返す。
【０１２９】
（ステップＳ７０２）選択部７２は、複数のＰ２Ｐ通信の経路から、情報処理装置間の通信で用いる経路を選択する。選択のアルゴリズムとしては、例えば、前述のものを用いる。
【０１３０】
（ステップＳ７０３）送信部７３は、選択部７２による選択結果を示す情報である選択結果情報を構成し、その選択結果情報を第１の情報処理装置１ｄ、及び第２の情報処理装置２ｄに送信する。送信部７３は、選択結果情報の送信先のアドレスを、例えば、選択要求情報のヘッダに含まれる選択要求情報の送信元のアドレスや、選択要求情報に含まれている、選択結果情報の送信先を特定するための情報などを用いて知ることができる。
なお、図１３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【０１３１】
次に、本実施の形態による通信システムの動作について、具体例を用いて説明する。なお、第１の情報処理装置１ｄと、第２の情報処理装置２ｄとは、サーバ７ｄに対しても、実施の形態１のステップＳ３０１、Ｓ３０３と同様の処理を行っているものとする。その結果、サーバ７ｄにおいて、図５で示される装置識別情報と、ＩＰアドレスと、ポート番号とを対応付ける情報が保持されているものとする。また、第１の情報処理装置１ｄ、及び第２の情報処理装置２ｄは、サーバ６からの情報を受信することができるように、サーバ７ｄに対して反復パケットを送信しているものとする。また、選択部７２では、ＳＴＵＮ経路、文献１経路、ＵＰｎＰ経路、その他の経路の順番で選択を行うものとする。すなわち、情報処理装置間で確立されたＰ２Ｐ通信の経路にＳＴＵＮ経路が含まれる場合には、そのＳＴＵＮ経路を選択する。また、ＳＴＵＮ経路が含まれず、文献１経路が含まれる場合には、その文献１経路を選択する。また、ＳＴＵＮ経路も文献１経路も含まれず、ＵＰｎＰ経路が含まれる場合には、そのＵＰｎＰ経路を選択する。また、第１の情報処理装置１ｄと、第２の情報処理装置２ｄとの間において、３個のＰ２Ｐ通信の経路、すなわち、ＵＰｎＰ経路、ＳＴＵＮ経路、文献１経路が確立されたものとする。
【０１３２】
選択要求情報送信部１５は、第１の通信部１３によって３個のＰ２Ｐ通信の経路が確立されたことを検知すると、選択を行うタイミングであると判断する（ステップＳ６０１）。そして、ＳＴＵＮ経路、文献１経路、ＵＰｎＰ経路から１個の経路を選択する旨の指示と、選択結果情報を装置識別情報「ＡＡＡ」、「ＢＢＢ」で識別される情報処理装置に送信する旨の指示とを含む選択要求情報を構成し、その選択要求情報をサーバ７ｄに送信する（ステップＳ６０２）。
【０１３３】
その選択要求情報は、サーバ７ｄの受信部７１で受信される（ステップＳ７０１）。情報処理装置間で確立されたＰ２Ｐ通信の経路にＳＴＵＮ経路が含まれるため、選択部７２
は、ＳＴＵＮ経路を選択し、ＳＴＵＮ経路を選択した旨を送信部７３に渡す（ステップＳ７０２）。送信部７３は、受信部７１が受信した選択要求情報に含まれていた装置識別情報「ＡＡＡ」、「ＢＢＢ」を取得し、図５で示される情報を参照して、その装置識別情報に対応するＩＰアドレスと、ポート番号とを取得する。そして、送信部７３は、ＳＴＵＮ経路が選択された旨を示す選択結果情報を構成し、取得したＩＰアドレス、ポート番号に、その選択結果情報を送信する（ステップＳ７０３）。
【０１３４】
その選択結果情報は、第１の情報処理装置１ｄの第１の選択結果情報受信部１６、及び第２の情報処理装置２ｄの第２の選択結果情報受信部２４で受信される（ステップＳ６０３、Ｓ２０１）。そして、第１の情報処理装置１ｄ、及び第２の情報処理装置２ｄにおいて、ＳＴＵＮ経路以外の経路が閉じられ（ステップＳ６０４、Ｓ２０２）、ＳＴＵＮ経路によるＰ２Ｐ通信が行われる（ステップＳ６０５、Ｓ２０３）。
【０１３５】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｄと、第２の情報処理装置２ｄとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、サーバ７ｄにおいて、装置間のＰ２Ｐ通信で用いる経路を選択し、その選択結果を、第１の情報処理装置１ｄ、及び第２の情報処理装置２ｄに送信することができる。その結果、第１の情報処理装置１ｄと、第２の情報処理装置２ｄとにおいて、選択された経路によるＰ２Ｐ通信を行うことができる。
【０１３６】
（実施の形態５）
本発明の実施の形態５による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、Ｐ２Ｐ通信の経路の選択をサーバにおいて行い、その選択結果を、一方の情報処理装置から他方の情報処理装置に送信するものである。
【０１３７】
図１４は、本実施の形態による通信システムの構成を示すブロック図である。図１４において、本実施の形態による通信システムは、第１の情報処理装置１ｅと、第２の情報処理装置２ｄと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５と、サーバ７ｅとを備える。なお、第１の情報処理装置１ｅ、及びサーバ７ｅ以外は、実施の形態４と同様であり、その説明を省略する。ただし、第２の情報処理装置２ｄの第２の選択結果情報受信部２４は、第１の情報処理装置１ｅから送信された選択結果情報を受信するものとする。
【０１３８】
第１の情報処理装置１ｅは、第１の通信部１３と、選択要求情報送信部１５と、第１の選択結果情報受信部１６と、選択結果情報送信部１７とを備える。なお、選択結果情報送信部１７以外は、実施の形態４の第１の情報処理装置１ｄと同様のものであり、その説明を省略する。
【０１３９】
選択結果情報送信部１７は、第１の選択結果情報受信部１６が受信した選択結果情報を、第２の情報処理装置２ｄに送信する。この送信はＰ２Ｐ通信の経路を用いて行われる。選択結果情報の送信で用いるＰ２Ｐ通信の経路は、サーバ７ｅで選択された経路であってもよく、あるいは、選択されなかった経路であってもよい。なお、選択結果情報送信部１７が送信する選択結果情報は、第１の選択結果情報受信部１６が受信した選択結果情報とまったく同じものであってもよく、または、何らかの情報が削除もしくは付加されていてもよい。また、選択結果情報送信部１７は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、選択結果情報送信部１７と第１の通信処理装置３との間に図示しない送信デバイスが存在することとなる）。また、選択結果情報送信部１７は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１４０】
ここで、本実施の形態では、サーバ７ｅが第１の情報処理装置１ｅにのみ選択結果情報を送信するため、選択要求情報には、選択結果情報を第２の情報処理装置２ｄに送信するための情報としてのアドレスやポート番号が含まれていなくてもよい。
【０１４１】
なお、第１の通信部１３、選択要求情報送信部１５、第１の選択結果情報受信部１６、選択結果情報送信部１７の任意の２以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１４２】
サーバ７ｅは、受信部７１と、選択部７２と、送信部７４とを備える。なお、送信部７４以外は、実施の形態４のサーバ７ｄと同様であり、その説明を省略する。
送信部７４は、選択結果情報を第１の情報処理装置１ｅに送信する。なお、選択結果情報を第１の情報処理装置１ｅにのみ送信する以外、送信部７４は実施の形態４の送信部７３と同様のものであり、その説明を省略する。
なお、受信部７１、及び送信部７４が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１４３】
次に、本実施の形態による第１の情報処理装置１ｅの動作について、図１５のフローチャートを用いて説明する。なお、図１５のフローチャートにおいて、ステップＳ８０１以外の処理は、実施の形態４の図１２のフローチャートと同様であり、その説明を省略する。
【０１４４】
（ステップＳ８０１）選択結果情報送信部１７は、第１の選択結果情報受信部１６が受信した選択結果情報を第２の情報処理装置２ｄに送信する。選択結果情報送信部１７は、選択結果情報の送信先である第２の情報処理装置２ｄのアドレスを、例えば、第１の通信部１３から取得する。
【０１４５】
なお、第２の情報処理装置２ｄの動作は、選択結果情報受信部２１が第２の選択結果情報受信部２４となり、第２の選択結果情報受信部２４が第１の情報処理装置１ｅから送信された選択結果情報を受信する以外、実施の形態１の図３のフローチャートと同様であり、その説明を省略する。
【０１４６】
また、サーバ７ｅの動作は、送信部７３が送信部７４となり、送信部７４が選択結果情報を第１の情報処理装置１ｅにのみ送信する以外、実施の形態４の図１３のフローチャートと同様であり、その説明を省略する。
【０１４７】
また、本実施の形態による通信システムの動作は、第１の情報処理装置１ｅから第２の情報処理装置２ｄに選択結果情報を送信する以外、実施の形態４と同様である。また、一方の情報処理装置から他方の情報処理装置に選択結果情報を送信する処理については、実施の形態１で説明している。したがって、本実施の形態における通信システムの動作の具体例は、実施の形態１，４と同様のものであり、その説明を省略する。
【０１４８】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｅと、第２の情報処理装置２ｄとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、サーバ７ｄにおいて、いずれか１個の経路を選択し、その選択結果を、第１の情報処理装置１ｅに送信する。また、第１の情報処理装置１ｅは、受信した選択結果を第２の情報処理装置２ｄに送信する。その結果、第１の情報処理装置１ｅと、第２の情報処理装置２ｄとにおいて、選択された経路によるＰ２Ｐ通信を行うことができる。
【０１４９】
（実施の形態６）
本発明の実施の形態６による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、Ｐ２Ｐ通信の経路の選択をサーバにおいて行い、その選択結果を、一方の情報処理装置から他方の情報処理装置にサーバを介して送信するものである。
【０１５０】
図１６は、本実施の形態による通信システムの構成を示すブロック図である。図１６において、本実施の形態による通信システムは、第１の情報処理装置１ｆと、第２の情報処理装置２ｄと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５と、第１のサーバ７ｆ、第２のサーバ８ｆとを備える。なお、第１の情報処理装置１ｆ、第１のサーバ７ｆ、及び第２のサーバ８ｆ以外は、実施の形態５と同様であり、その説明を省略する。ただし、第２の情報処理装置２ｄの第２の選択結果情報受信部２４は、第２のサーバ８ｆから送信された選択結果情報を受信するものとする。
【０１５１】
第１の情報処理装置１ｆは、第１の通信部１３と、選択要求情報送信部１５と、第１の選択結果情報受信部１６と、選択結果情報送信部１８とを備える。なお、選択結果情報送信部１８以外は、実施の形態５の第１の情報処理装置１ｅと同様のものであり、その説明を省略する。また、選択結果情報送信部１８は、選択結果情報を第２のサーバ８ｆに送信する以外、実施の形態５の選択結果情報送信部１７と同様のものであり、その説明を省略する。ただし、選択結果情報送信部１８が送信する選択結果情報に、選択されたＰ２Ｐ通信の経路を特定することができる情報を含んでいると共に、選択結果情報の送信先を特定することができる情報が含まれることは、実施の形態２の説明と同様である。このように、選択結果情報送信部１８が送信する選択結果情報は、第１の選択結果情報受信部１６が受信した選択結果情報に、例えば、選択結果情報の送信先を特定することができる情報のように、何らかの情報が付加されていてもよい。あるいは、選択結果情報送信部１８が送信する選択結果情報は、第１の選択結果情報受信部１６が受信した選択結果情報から何らかの情報が削除されていてもよい。
【０１５２】
なお、第１の通信部１３、選択要求情報送信部１５、第１の選択結果情報受信部１６、選択結果情報送信部１８の任意の２以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１５３】
第１のサーバ７ｆは、選択部７２と、第１の受信部７５と、第１の送信部７６とを備える。ここで、選択部７２、第１の受信部７５、第１の送信部７６は、それぞれ実施の形態５の選択部７２、受信部７１、送信部７４と同様のものであり、その説明を省略する。
なお、第１の受信部７５、及び第１の送信部７６が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１５４】
第２のサーバ８ｆは、第２の受信部８１と、第２の送信部８２とを備える。ここで、第２の受信部８１、第２の送信部８２は、それぞれ実施の形態２の受信部６１、送信部６２と同様のものであり、その説明を省略する。
なお、第２の受信部８１、及び第２の送信部８２が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１５５】
また、本実施の形態による第１の情報処理装置１ｆの動作は、選択結果情報の送信先が第２のサーバ８ｆであり、その選択結果情報に選択結果情報の送信先を特定することができる情報が含まれている以外、実施の形態５の図１５のフローチャートと同様であり、その説明を省略する。
【０１５６】
また、本実施の形態による第２の情報処理装置２ｄの動作は、選択結果情報受信部２１が第２の選択結果情報受信部２４となり、第２の選択結果情報受信部２４が第２のサーバ
８ｆから送信された選択結果情報を受信する以外、実施の形態１の図３のフローチャートと同様であり、その説明を省略する。
【０１５７】
また、本実施の形態による第１のサーバ７ｆの動作は、選択部７２、受信部７１、送信部７４がそれぞれ選択部７２、第１の受信部７５、第１の送信部７６となり、第１の送信部７６が選択結果情報を第１の情報処理装置１ｆにのみ送信する以外、実施の形態４の図１３のフローチャートと同様であり、その説明を省略する。
【０１５８】
また、本実施の形態による第２のサーバ８ｆの動作は、受信部６１、送信部６２がそれぞれ第２の受信部８１、第２の送信部８２となった以外、実施の形態２の図７のフローチャートと同様であり、その説明を省略する。
【０１５９】
また、本実施の形態による通信システムの動作は、第１の情報処理装置１ｆから第２の情報処理装置２ｄに第２のサーバ８ｆを経由して選択結果情報を送信する以外、実施の形態５と同様である。また、一方の情報処理装置から他方の情報処理装置にサーバを経由して選択結果情報を送信する処理については、実施の形態２で説明している。したがって、本実施の形態における通信システムの動作の具体例は、実施の形態２，５と同様のものであり、その説明を省略する。
【０１６０】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｆと、第２の情報処理装置２ｄとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、サーバ７ｄにおいて、装置間のＰ２Ｐ通信で用いる経路を選択し、その選択結果を、第１の情報処理装置１ｅに送信する。また、第１の情報処理装置１ｆは、受信した選択結果を第２の情報処理装置２ｄに第２のサーバ８ｆを経由して送信する。その結果、第１の情報処理装置１ｆと、第２の情報処理装置２ｄとにおいて、選択された経路によるＰ２Ｐ通信を行うことができる。
【０１６１】
（実施の形態７）
本発明の実施の形態７による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、Ｐ２Ｐ通信の経路の選択をサーバにおいて行い、その選択結果を、一方の情報処理装置から他方の情報処理装置に送信するものである。
【０１６２】
図１７は、本実施の形態による通信システムの構成を示すブロック図である。図１７において、本実施の形態による通信システムは、第１の情報処理装置１ｄと、第２の情報処理装置２ｇと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５と、サーバ７ｇとを備える。なお、第２の情報処理装置２ｇ、サーバ７ｇ以外は、実施の形態４と同様であり、その説明を省略する。ただし、第１の情報処理装置１ｄの第１の選択結果情報受信部１６は、第２の情報処理装置２ｇから送信された選択結果情報を受信するものとする。
【０１６３】
ここで、本実施の形態では、サーバ７ｇが第２の情報処理装置２ｇにのみ選択結果情報を送信するため、選択要求情報には、選択結果情報を第１の情報処理装置１ｄに送信するための情報としてのアドレスやポート番号が含まれていなくてもよい。
【０１６４】
第２の情報処理装置２ｇは、第２の通信部２２と、第２の選択結果情報受信部２４と、選択結果情報送信部２５とを備える。なお、選択結果情報送信部２５以外は、実施の形態４の第２の情報処理装置２ｄと同様であり、その説明を省略する。
【０１６５】
選択結果情報送信部２５は、第２の選択結果情報受信部２４が受信した選択結果情報を第１の情報処理装置１ｄに送信する。この送信はＰ２Ｐ通信の経路を用いて行われる。選
択結果情報の送信で用いるＰ２Ｐ通信の経路は、サーバ７ｇで選択された経路であってもよく、あるいは、選択されなかった経路であってもよい。なお、選択結果情報送信部２５が送信する選択結果情報は、第２の選択結果情報受信部２４が受信した選択結果情報とまったく同じものであってもよく、または、何らかの情報が削除もしくは付加されていてもよい。また、選択結果情報送信部２５は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、選択結果情報送信部２５と第２の通信処理装置４との間に図示しない送信デバイスが存在することとなる）。また、選択結果情報送信部２５は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１６６】
なお、第２の通信部２２、第２の選択結果情報受信部２４、選択結果情報送信部２５の任意の２以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１６７】
サーバ７ｇは、受信部７１と、選択部７２と、送信部７７とを備える。なお、送信部７７以外は、実施の形態４のサーバ７ｄと同様であり、その説明を省略する。
送信部７７は、選択結果情報を第２の情報処理装置２ｇに送信する。なお、選択結果情報を第２の情報処理装置２ｇにのみ送信する以外、送信部７７は実施の形態４の送信部７３と同様のものであり、その説明を省略する。
なお、受信部７１、及び送信部７７が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１６８】
また、第１の情報処理装置１ｄの動作は、第１の選択結果情報受信部１６が第２の情報処理装置２ｇから送信された選択結果情報を受信する以外、実施の形態５と同様であり、その説明を省略する。
【０１６９】
次に、本実施の形態による第２の情報処理装置２ｇの動作について、図１８のフローチャートを用いて説明する。なお、図１８のフローチャートにおいて、ステップＳ９０１以外の処理は、実施の形態１の図３のフローチャートと同様であり、その説明を省略する。ただし、選択結果情報受信部２１が第２の選択結果情報受信部２４となっている。
【０１７０】
（ステップＳ９０１）選択結果情報送信部２５は、第２の選択結果情報受信部２４が受信した選択結果情報を第１の情報処理装置１ｄに送信する。選択結果情報送信部２５は、選択結果情報の送信先である第１の情報処理装置１ｄのアドレスを、例えば、第２の通信部２２から取得する。
【０１７１】
なお、サーバ７ｇの動作は、送信部７３が送信部７７となり、送信部７７が選択結果情報を第２の情報処理装置２ｇにのみ送信する以外、実施の形態４の図１３のフローチャートと同様であり、その説明を省略する。
【０１７２】
また、本実施の形態による通信システムの動作は、サーバ７ｇが第２の情報処理装置２ｇにのみ選択結果情報を送信し、第２の情報処理装置２ｇから第１の情報処理装置１ｄに選択結果情報を送信する以外、実施の形態４と同様である。また、一方の情報処理装置から他方の情報処理装置に選択結果情報を送信する処理については、実施の形態１で説明している。したがって、本実施の形態における通信システムの動作の具体例は、実施の形態１，４と同様のものであり、その説明を省略する。
【０１７３】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｄと、第２の情報処理装置２ｇとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、サーバ７
ｇにおいて、装置間のＰ２Ｐ通信で用いる経路を選択し、その選択結果を、第２の情報処理装置２ｇに送信する。また、第２の情報処理装置２ｇは、受信した選択結果を第１の情報処理装置１ｄに送信する。その結果、第１の情報処理装置１ｄと、第２の情報処理装置２ｇとにおいて、選択された経路によるＰ２Ｐ通信を行うことができる。
【０１７４】
（実施の形態８）
本発明の実施の形態８による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、Ｐ２Ｐ通信の経路の選択をサーバにおいて行い、その選択結果を、一方の情報処理装置から他方の情報処理装置にサーバを介して送信するものである。
【０１７５】
図１９は、本実施の形態による通信システムの構成を示すブロック図である。図１９において、本実施の形態による通信システムは、第１の情報処理装置１ｄと、第２の情報処理装置２ｈと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５と、第１のサーバ７ｈ、第２のサーバ８ｈとを備える。なお、第２の情報処理装置２ｈ、第１のサーバ７ｈ、及び第２のサーバ８ｈ以外は、実施の形態７と同様であり、その説明を省略する。ただし、第１の情報処理装置１ｄの第１の選択結果情報受信部１６は、第２のサーバ８ｈから送信された選択結果情報を受信するものとする。
【０１７６】
第２の情報処理装置２ｈは、第２の通信部２２と、第２の選択結果情報受信部２４と、選択結果情報送信部２６とを備える。なお、選択結果情報送信部２６以外は、実施の形態７の第２の情報処理装置２ｇと同様のものであり、その説明を省略する。また、選択結果情報送信部２６は、選択結果情報を第２のサーバ８ｈに送信する以外、実施の形態７の選択結果情報送信部２５と同様のものであり、その説明を省略する。ただし、選択結果情報送信部２６が送信する選択結果情報に、選択されたＰ２Ｐ通信の経路を特定することができる情報を含んでいると共に、選択結果情報の送信先を特定することができる情報が含まれることは、実施の形態２の説明と同様である。なお、選択結果情報送信部２６が送信する選択結果情報は、第２の選択結果情報受信部２４が受信した選択結果情報に、例えば、選択結果情報の送信先を特定することができる情報のような、何らかの情報が付加されていてもよい。あるいは、選択結果情報送信部２６が送信する選択結果情報は、第２の選択結果情報受信部２４が受信した選択結果情報から何らかの情報が削除されていてもよい。
【０１７７】
なお、第２の通信部２２、第２の選択結果情報受信部２４、選択結果情報送信部２５の任意の２以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１７８】
第１のサーバ７ｈは、選択部７２と、第１の受信部７５と、第１の送信部７８とを備える。ここで、選択部７２、第１の受信部７５は、実施の形態４の選択部７２、受信部７１と同様のものであり、その説明を省略する。また、第１の送信部７８は、選択結果情報を第２の情報処理装置２ｈに送信する以外、実施の形態４の送信部７３と同様のものであり、その説明を省略する。
【０１７９】
なお、第１の受信部７５、及び第１の送信部７８が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１８０】
第２のサーバ８ｈは、第２の受信部８１と、第２の送信部８３とを備える。ここで、第２の受信部８１は、実施の形態６と同様のものであり、その説明を省略する。また、第２の送信部８３は、第２の受信部８１が受信した選択結果情報を第１の情報処理装置１ｄに送信する以外、実施の形態６の第２の送信部８２と同様のものであり、その説明を省略する。
【０１８１】
なお、第２の受信部８１、及び第２の送信部８３が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１８２】
また、本実施の形態による第１の情報処理装置１ｄの動作は、第２のサーバ８ｈから送信された選択結果情報を受信する以外、実施の形態４の図１２のフローチャートと同様であり、その説明を省略する。
【０１８３】
また、本実施の形態による第２の情報処理装置２ｈの動作は、選択結果情報送信部２５が選択結果情報送信部２６となり、選択結果情報送信部２６が選択結果情報を第２のサーバ８ｈに送信する以外、実施の形態７の図１８のフローチャートと同様であり、その説明を省略する。
【０１８４】
また、本実施の形態による第１のサーバ７ｈの動作は、選択部７２、受信部７１、送信部７３がそれぞれ選択部７２、第１の受信部７５、第１の送信部７８となり、第１の送信部７８が選択結果情報を第２の情報処理装置２ｈにのみ送信する以外、実施の形態４の図１３のフローチャートと同様であり、その説明を省略する。
【０１８５】
また、本実施の形態による第２のサーバ８ｈの動作は、受信部６１、送信部６２がそれぞれ第２の受信部８１、第２の送信部８３となった以外、実施の形態２の図７のフローチャートと同様であり、その説明を省略する。
【０１８６】
また、本実施の形態による通信システムの動作は、第２の情報処理装置２ｈから第１の情報処理装置１ｄに第２のサーバ８ｈを経由して選択結果情報を送信する以外、実施の形態７と同様である。また、一方の情報処理装置から他方の情報処理装置にサーバを経由して選択結果情報を送信する処理については、実施の形態２、６で説明している。したがって、本実施の形態における通信システムの動作の具体例は、実施の形態２，５，６と同様のものであり、その説明を省略する。
【０１８７】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｄと、第２の情報処理装置２ｈとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、第１のサーバ７ｈにおいて、装置間のＰ２Ｐ通信で用いる経路を選択し、その選択結果を、第２の情報処理装置２ｈに送信する。また、第２の情報処理装置２ｈは、受信した選択結果を第１の情報処理装置１ｄに第２のサーバ８ｈを経由して送信する。その結果、第１の情報処理装置１ｄと、第２の情報処理装置２ｈとにおいて、選択された経路によるＰ２Ｐ通信を行うことができる。
【０１８８】
（実施の形態９）
本発明の実施の形態９による通信システムについて、図面を参照しながら説明する。本実施の形態による通信システムは、Ｐ２Ｐ通信の経路の選択をサーバにおいて行い、その選択結果を、各情報処理装置がサーバに選択要求情報を送信することによって取得するものである。
【０１８９】
図２０は、本実施の形態による通信システムの構成を示すブロック図である。図２０において、本実施の形態による通信システムは、第１の情報処理装置１ｉと、第２の情報処理装置２ｉと、第１の通信処理装置３と、第２の通信処理装置４と、Ｐ２Ｐサーバ５と、サーバ７ｉとを備える。なお、第１の情報処理装置１ｉ、第２の情報処理装置２ｉ、サーバ７ｉ以外は、実施の形態４と同様であり、その説明を省略する。
【０１９０】
第１の情報処理装置１ｉは、第１の通信部１３と、第１の選択結果情報受信部１６と、
第１の選択要求情報送信部１９とを備える。なお、第１の通信部１３、第１の選択結果情報受信部１６、第１の選択要求情報送信部１９は、それぞれ実施の形態４の第１の通信部１３、第１の選択結果情報受信部１６、選択要求情報送信部１５と同様のものであり、その説明を省略する。
【０１９１】
なお、第１の通信部１３、第１の選択結果情報受信部１６、第１の選択要求情報送信部１９の任意の２以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１９２】
第２の情報処理装置２ｉは、第２の通信部２２と、第２の選択結果情報受信部２４と、第２の選択要求情報送信部２７とを備える。なお、第２の通信部２２、第２の選択結果情報受信部２４は、実施の形態４と同様のものであり、その説明を省略する。ただし、第２の選択結果情報受信部２４は、第２の選択要求情報送信部２７が送信した選択要求情報に応じて送信された選択結果情報を受信する。
【０１９３】
第２の選択要求情報送信部２７は、選択要求情報をサーバ７ｉに送信する。この選択要求情報は、第１の選択要求情報送信部１９が送信する選択要求情報と同様に、第１の情報処理装置１ｉと、第２の情報処理装置２ｉとの間で確立された２以上のＰ２Ｐ通信の経路から、第１の情報処理装置１ｉと第２の情報処理装置２ｉとの間の通信で用いる経路を選択することを要求する情報である。選択要求情報には、選択の対象となるＰ２Ｐ通信の経路の候補が含まれていてもよく、あるいは、Ｐ２Ｐ通信の経路の候補が含まれていなくてもよい。なお、第２の選択要求情報送信部２７は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、第２の選択要求情報送信部２７と第２の通信処理装置４との間に図示しない送信デバイスが存在することとなる）。また、第２の選択要求情報送信部２７は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０１９４】
なお、第２の通信部２２、第２の選択結果情報受信部２４、第２の選択要求情報送信部２７の任意の２以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【０１９５】
ここで、第１の選択要求情報送信部１９、及び第２の選択要求情報送信部２７が送信する選択要求情報には、選択結果情報の送信先を特定することができる情報として、選択要求情報の送信元に関する情報のみが含まれていればよい。例えば、第１の選択要求情報送信部１９が送信する選択要求情報には、第１の通信処理装置３のアドレスやポート番号が含まれていればよい。なお、選択要求情報が第１の情報処理装置１ｉからサーバ７ｉに送信される場合に、第１の通信処理装置３におけるアドレス変換で選択要求情報のヘッダに第１の通信処理装置３のアドレス等が付加されるため、第１の選択要求情報送信部１９は、選択要求情報に第１の通信処理装置３のアドレス等を含めなくてもよい。
【０１９６】
サーバ７ｉは、受信部７１と、選択部７２と、送信部７８とを備える。なお、受信部７１、選択部７２は、実施の形態４と同様であり、その説明を省略する。また、送信部７８は、受信部７１が受信した選択要求情報を送信した情報処理装置に選択結果情報を送信する以外、実施の形態４の送信部７３と同様のものであり、その説明を省略する。
【０１９７】
なお、受信部７１、及び送信部７８が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
また、第１の情報処理装置１ｉの動作は、実施の形態４の図１２のフローチャートと同様であり、その説明を省略する。
【０１９８】
また、第２の情報処理装置２ｉの動作は、第１の情報処理装置１ｉと同様であり、その説明を省略する。ただし、第２の通信部２２が第１の通信部１３に対応し、第２の選択結果情報受信部２４が第１の選択結果情報受信部１６に対応し、第２の選択要求情報送信部２７が第１の選択要求情報送信部１９に対応する。
【０１９９】
また、サーバ７ｉの動作は、送信部７３が送信部７８となり、送信部７８が選択結果情報を選択要求情報の送信元に送信する以外、実施の形態４の図１３のフローチャートと同様であり、その説明を省略する。
【０２００】
また、本実施の形態による通信システムの動作において、第１の情報処理装置１ｉが選択結果情報の送信を要求し、選択結果情報に基づいてＰ２Ｐ通信を行う処理は、実施の形態４と同様である。また、第２の情報処理装置２ｉが選択結果情報の送信を要求し、選択結果情報に基づいてＰ２Ｐ通信を行う処理も、第１の情報処理装置１ｉと同様である。また、サーバ７ｉが選択要求情報に応じて、選択結果情報を送信する処理も実施の形態４と同様である。したがって、本実施の形態における通信システムの動作の具体例は、実施の形態４と同様のものであり、その説明を省略する。
【０２０１】
以上のように、本実施の形態による通信システムでは、第１の情報処理装置１ｉと、第２の情報処理装置２ｉとの間で２以上のＰ２Ｐ通信の経路が確立された場合に、第１の情報処理装置１ｉ、第２の情報処理装置２ｉは、それぞれサーバ７ｉに選択要求情報を送信する。そして、サーバ７ｉは、選択要求情報に応じて、装置間のＰ２Ｐ通信で用いる経路を選択し、その選択結果を示す選択結果情報を、選択要求情報の送信元の情報処理装置に送信する。その結果、第１の情報処理装置１ｉと、第２の情報処理装置２ｉとにおいて、選択された経路によるＰ２Ｐ通信を行うことができる。また、選択結果情報を、情報処理装置間で送信する必要がなくなる。
【０２０２】
なお、上記各実施の形態において、Ｐ２Ｐ通信の経路の選択を情報処理装置が行った後に、あるいは、選択結果情報を情報処理装置が受信した後に、選択されなかったＰ２Ｐ通信の経路が閉じられる場合について説明したが、選択されなかった経路が閉じられなくてもよい。
【０２０３】
また、上記各実施の形態では、第１の情報処理装置、及び第２の情報処理装置がそれぞれ、通信処理装置を介して通信を行う場合について説明したが、第１の情報処理装置１、及び第２の情報処理装置のうち、いずれか一方は、通信処理装置を介さないで通信を行ってもよい。すなわち、第１の情報処理装置、及び第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行うものであればよい。また、第１の情報処理装置、あるいは第２の情報処理装置が通信処理装置を介して通信を行う場合に、通信処理装置の個数が１個であってもよく、あるいは、２個以上であってもよい。
【０２０４】
また、上記各実施の形態では、経路の選択を情報処理装置で行う場合、経路の選択をサーバで行う場合、選択結果を示す選択結果情報を一方の情報処理装置から他方の情報処理装置にＰ２Ｐ通信の経路で送信する場合、選択結果を示す選択結果情報を一方の情報処理装置から他方の情報処理装置にサーバ経路で送信する場合などについて説明したが、本発明による通信システムは、第１の情報処理装置と、第２の情報処理装置との間で２以上のＰ２Ｐ通信の経路が確立された場合に、両装置間の通信で用いる経路を選択し、その選択した経路で通信を行うものであればよく、経路の選択の場所や、選択結果をどのような経路で通信するのかについては問わない。
【０２０５】
また、上記各実施の形態において、通信システムが２以上のサーバを備える場合に、そ
の２以上のサーバのうち、任意のサーバは、同一のサーバとして構成されていてもよい。例えば、実施の形態２において、Ｐ２Ｐサーバ５と、サーバ６とは、同一のサーバであってもよく、実施の形態６において、Ｐ２Ｐサーバ５と、第１のサーバ７ｆと、第２のサーバ８ｆとが同一のサーバであってもよい。
【０２０６】
また、上記各実施の形態において、第１の通信部１３と、第２の通信部２２とが情報処理装置間でのＰ２Ｐ通信を確立するための処理を行う場合について説明したが、情報処理装置間でのＰ２Ｐ通信を確立するための処理を、第１の通信部１３、第２の通信部２２以外の要素によって行ってもよい。
【０２０７】
また、上記各実施の形態において、Ｐ２Ｐ通信の経路が、ＳＴＵＮ経路や、ＵＰｎＰ経路、文献１経路である場合について説明したが、Ｐ２Ｐ通信の経路であればそれらに限定されないことは言うまでもない。どのような方法によってＰ２Ｐ通信の経路が情報処理装置間で確立されてもよい。また、情報処理装置間で確立される２以上のＰ２Ｐ通信の経路は、２以上の方法によって確立されたものであってもよく、あるいは、１個の方法を２回以上用いることによって確立されたものであってもよい。
【０２０８】
また、情報処理装置間において、サーバを介して選択結果情報を送信する場合について説明したが、そのサーバは、２以上のサーバから構成されていてもよい。例えば、実施の形態２のサーバ６は、ＳＩＰプロキシのように、２以上のサーバから構成されてもよい。
【０２０９】
また、情報処理装置間において、サーバを介して送信される選択結果情報に、選択結果情報の送信先を特定することができる情報が含まれる場合について説明したが、選択結果情報に、選択結果情報の送信先を特定することができる情報が含まれていなくてもよい。例えば、選択結果情報をリレーするサーバにおいて、送信元の情報処理装置と、送信先の情報処理装置とのアドレス（厳密には、通信処理装置のアドレスとなる）の組み合わせを有している場合には、サーバは、選択結果情報の送信元のアドレスを選択結果情報のパケットのヘッダから取得し、そのアドレスに対応する送信先の情報処理装置のアドレスを保持しているアドレスの組み合わせから取得し、その送信先の情報処理装置のアドレスに選択結果情報を送信してもよい。
【０２１０】
また、上記各実施の形態では、選択要求情報に選択結果情報の送信先を示す情報が含まれる場合について説明したが、選択要求情報に選択結果情報の送信先を示す情報が含まれていなくてもよい。例えば、あらかじめサーバにおいて、所定の情報処理装置から選択要求情報が送信された場合に、その選択要求情報に応じた選択結果情報の送信先が登録されている場合には、選択要求情報に選択結果情報の送信先を示す情報が含まれていなくてもよい。また、実施の形態９のように、選択要求情報に応じた選択結果情報を、選択要求情報の送信元に送信する場合にも、選択要求情報に選択結果情報の送信先を示す情報が含まれていなくてもよい。
【０２１１】
また、上記各実施の形態では、情報処理装置間での選択結果情報の送信と、その後に行われるＰ２Ｐ通信とが別である場合について説明したが、それらは同じであってもよい。例えば、Ｐ２Ｐ通信において１回目に送信されるパケットが選択結果情報であってもよく、Ｐ２Ｐ通信において１回目に送信されるパケットに、Ｐ２Ｐ通信の対象となるデータ（例えば、音声データや映像データなど）と共に、選択結果情報が含まれていてもよい。
【０２１２】
また、上記各実施の形態において、選択結果情報が送信される場合について説明したが、選択結果は、出力部によって出力されてもよい。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力で
もよく、記録媒体への蓄積でもよい。なお、この出力部は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、出力部は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【０２１３】
すなわち、本発明による情報処理装置は、第１の情報処理装置と、第２の情報処理装置との間で確立された２以上のＰ２Ｐ通信の経路から、第１の情報処理装置と第２の情報処理装置との間の通信で用いる経路を選択する選択部と、その選択部による選択結果を出力する出力部と、を備えてもよい。ここで、この情報処理装置は、上記各実施の形態における第１の情報処理装置であってもよく、第２の情報処理装置であってもよく、あるいは、サーバであってもよく、第１のサーバであってもよい。ここで、この場合には、例えば、出力された選択結果をユーザが見て、第１の情報処理装置や第２の情報処理装置で用いるＰ２Ｐ通信の経路を手動で設定することによって、第１の情報処理装置と第２の情報処理装置との間でＰ２Ｐ通信が行われるようにしてもよい。また、このような情報処理装置において用いられる情報処理方法は、次のようなものである。すなわち、この情報処理方法は、第１の情報処理装置と、第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択ステップと、前記選択ステップでの選択結果を出力する出力ステップと、を備え、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行う、ものである。
【０２１４】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０２１５】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、第１の情報処理装置と、第２の情報処理装置との間で確立された２以上のピアー・ツー・ピアー通信の経路から、前記第１の情報処理装置と前記第２の情報処理装置との間の通信で用いる経路を選択する選択ステップと、前記選択ステップでの選択結果を出力する出力ステップと、を実行させ、前記第１の情報処理装置、及び前記第２の情報処理装置の少なくとも一方は、通信処理装置を介して通信を行う、ものである。
【０２１６】
なお、上記プログラムにおいて、情報を出力する出力ステップでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０２１７】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０２１８】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２１９】
以上より、本発明による通信システムでは、情報処理装置の間において２以上のＰ２Ｐ通信の経路が確立された場合に、選択された経路を用いてＰ２Ｐ通信を行うことができ、Ｐ２Ｐ通信を行う通信システムにおいて有用である。
【図面の簡単な説明】
【０２２０】
【図１】本発明の実施の形態１による通信システムの構成を示す図
【図２】同実施の形態による第１の情報処理装置の動作を示すフローチャート
【図３】同実施の形態による第２の情報処理装置の動作を示すフローチャート
【図４】同実施の形態におけるＵＰｎＰを用いてＰ２Ｐ通信を確立する方法を説明するためのフローチャート
【図５】同実施の形態における装置識別情報とＩＰアドレスとポート番号との対応の一例を示す図
【図６】本発明の実施の形態２による通信システムの構成を示す図
【図７】同実施の形態によるサーバの動作を示すフローチャート
【図８】本発明の実施の形態３による通信システムの構成を示す図
【図９】同実施の形態による第１及び第２の情報処理装置の動作を示すフローチャート
【図１０】本発明の実施の形態４による通信システムの構成を示す図
【図１１】同実施の形態における識別子とＰ２Ｐ通信の経路との対応の一例を示す図
【図１２】同実施の形態による第１の情報処理装置の動作を示すフローチャート
【図１３】同実施の形態によるサーバの動作を示すフローチャート
【図１４】本発明の実施の形態５による通信システムの構成を示す図
【図１５】同実施の形態による第１の情報処理装置の動作を示すフローチャート
【図１６】本発明の実施の形態６による通信システムの構成を示す図
【図１７】本発明の実施の形態７による通信システムの構成を示す図
【図１８】同実施の形態による第２の情報処理装置の動作を示すフローチャート
【図１９】本発明の実施の形態８による通信システムの構成を示す図
【図２０】本発明の実施の形態９による通信システムの構成を示す図
【符号の説明】
【０２２１】
１ａ、１ｂ、１ｃ、１ｄ、１ｅ、１ｆ、１ｉ  第１の情報処理装置
２ａ、２ｃ、２ｄ、２ｇ、２ｈ、２ｉ  情報処理装置
３  第１の通信処理装置
４  第２の通信処理装置
５  Ｐ２Ｐサーバ
６、７ｄ、７ｅ、７ｇ、７ｉ  サーバ
７ｆ、７ｈ  第１のサーバ
８ｆ、８ｈ  第２のサーバ
１１、７２  選択部
１１ｃ  第１の選択部
１２、１４、１７、１８  選択結果情報送信部
１３  第１の通信部
１５  選択要求情報送信部
１６  第１の選択結果情報受信部
１９  第１の選択要求情報送信部
２１  選択結果情報受信部
２２  第２の通信部
２３  第２の選択部
２４  第２の選択結果情報受信部
２５、２６  選択結果情報送信部
２７  第２の選択要求情報送信部
６１、７１  受信部
６２、７３、７４、７７  送信部
７５  第１の受信部
７６、７８  第１の送信部
８１  第２の受信部
８２、８３  第２の送信部
【図１】
2006203610.tif 000003
【図２】
2006203610.tif 000004
【図３】
2006203610.tif 000005
【図４】
2006203610.tif 000006
【図５】
2006203610.tif 000007
【図６】
2006203610.tif 000008
【図７】
2006203610.tif 000009
【図８】
2006203610.tif 000010
【図９】
2006203610.tif 000011
【図１０】
2006203610.tif 000012
【図１１】
2006203610.tif 000013
【図１２】
2006203610.tif 000014
【図１３】
2006203610.tif 000015
【図１４】
2006203610.tif 000016
【図１５】
2006203610.tif 000017
【図１６】
2006203610.tif 000018
【図１７】
2006203610.tif 000019
【図１８】
2006203610.tif 000020
【図１９】
2006203610.tif 000021
【図２０】
2006203610.tif 000022