説明

情報処理システム、情報処理装置、及び情報処理方法

【課題】P2P通信を行う情報処理装置間でのP2P通信の寿命を、装置間で一致させることができる情報処理システムを提供する。
【解決手段】情報処理システムは、P2P通信を行う第1の情報処理装置1と、第2の情報処理装置2とを備える。第1の情報処理装置1は、記憶しているP2P通信の寿命を示す寿命情報をP2P通信によって第2の情報処理装置2に送信する。第2の情報処理装置2は、第1の情報処理装置1から送信された寿命情報を受信し、その寿命情報に基づいて、第2の情報処理装置2で記憶している寿命情報を変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と第2の情報処理装置とを備えた情報処理システム等に関する。
【背景技術】
【0002】
従来、サーバ・クライアント型のネットワーク・システムにおいて、サーバ装置とクライアント間で通信が行われるのが一般的であった。
一方、近年では、通信を管理するサーバ装置を介さずに、情報処理装置間で通信を行う手法が開発されている(例えば、特許文献1参照)。
【特許文献1】特開2003−244188号公報(第1頁等、第1図等)
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、通信を管理するサーバ装置を介さずに情報処理装置間でピアー・ツー・ピアー(Peer to Peer)通信が直接行われた場合には、通信を行っている当事者以外の第三者が、その通信に関わることがないため、通信を行っている当事者以外、その通信を制御できないこととなる。したがって、そのような問題を解決するために、情報処理装置間で行われる通信について、所定のサーバ装置において、通信可能な時間を管理しておき、その通信可能な時間を経過した場合に、通信を終了させることができる情報処理システムを考えることができる。そのような情報処理システムでは、サーバ装置において管理されている通信可能な時間を各情報処理装置が受け取り、その通信可能な時間が経過するまで、情報処理装置間で通信を行うことになる。この場合に、各情報処理装置が有する通信可能な時間が一致していないとすると、問題の発生することがある。例えば、第1の情報処理装置から第2の情報処理装置にデータを送信しており、第2の情報処理装置が有する通信可能な残り時間のほうが、第1の情報処理装置が有する通信可能な残り時間よりも短い場合には、第1の情報処理装置が、送信対象のデータの容量、データの通信速度、通信可能な残り時間に基づいて、通信可能な残り時間内で送信対象のデータの送信を完了することができると判断していたとしても、第2の情報処理装置が、送信対象のデータの送信が完了する前に、通信可能な時間が経過したと判断して、第1の情報処理装置との通信を遮断してしまう可能性がある。
【0004】
本発明は、上記問題点を解決するためになされたものであり、装置間でピアー・ツー・ピアー通信を行っている情報処理装置間において、ピアー・ツー・ピアー通信の寿命を一致させることができる情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明による情報処理システムは、装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムであって、前記第1の情報処理装置は、前記第2の情報処理装置とピアー・ツー・ピアー通信を行う第1の通信部と、前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報を記憶している第1の寿命情報記憶部と、前記第1の寿命情報記憶部が記憶している寿命情報に基づいて、前記第1の通信部が行うピアー・ツー・ピアー通信を制御する第1の寿命制御部と、前記第1の寿命情報記憶部が記憶している寿命情報を前記第2の情報処理装置に送信する第1の寿命情報送信部と、を備え、前記第2の情報処理装置は、前記第1の情報処理装置とピアー・ツー・ピアー通信を行う第2の通信部と、前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報を記憶している第2の寿命情報記憶部と、前記第2の寿命情報記憶部が記憶している寿命情報に基づいて、前記第2の通信部
が行うピアー・ツー・ピアー通信を制御する第2の寿命制御部と、前記第1の情報処理装置から送信された寿命情報を受信する第2の寿命情報受信部と、前記第2の寿命情報受信部が受信した寿命情報に基づいて、前記第2の寿命情報記憶部が記憶している寿命情報を変更する第2の寿命変更部と、を備えた、ものである。
【0006】
このような構成により、第1の情報処理装置と、第2の情報処理装置とは、それぞれの装置で記憶されている寿命情報を一致させることができうる。その結果、例えば、第1の情報処理装置がまだピアー・ツー・ピアー通信を行うことができると判断したにもかかわらず、第2の情報処理装置によってピアー・ツー・ピアー通信が切断される事態を回避することができうる。
【0007】
また、本発明による情報処理システムでは、前記第1の寿命情報送信部が、前記ピアー・ツー・ピアー通信によって前記寿命情報を送信してもよい。
このような構成により、第1の情報処理装置から第2の情報処理装置への寿命情報の送信を、リレーサーバ等を介することなくピアー・ツー・ピアー通信で行うことができ、他のサーバ等の処理負担を増加させることなく、寿命情報の送信を行うことができる。
【0008】
また、本発明による情報処理システムでは、前記第2の寿命変更部が、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更してもよい。
このような構成により、第2の情報処理装置で記憶されている寿命情報を、第1の情報処理装置で記憶されている寿命情報と一致させることができる。
【0009】
また、本発明による情報処理システムでは、前記第2の情報処理装置が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命との長短を判断する寿命判断部をさらに備え、前記第2の寿命変更部が、前記寿命判断部により、前記第2の寿命情報受信部が受信した寿命情報に関する寿命のほうが短いと判断された場合に、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更してもよい。
【0010】
このような構成により、第2の情報処理装置で記憶されている寿命情報は、第1の情報処理装置で記憶されている寿命情報と、第2の情報処理装置で記憶されている寿命情報とのうち、短いほうの寿命情報に合わされることとなる。したがって、例えば、あるサーバ装置において両装置間の寿命を管理している場合に、第2の情報処理装置で記憶されている寿命情報に関する寿命が、そのサーバ装置における寿命を超える可能性をより低くすることができうる。その結果、例えば、ピアー・ツー・ピアー通信を管理するサーバ装置では、すでにピアー・ツー・ピアー通信が終了したことになっているに、情報処理装置間では、ピアー・ツー・ピアー通信がいまだに行われている事態を回避することができうる。
【0011】
また、本発明による情報処理システムでは、前記第2の情報処理装置が、前記寿命判断部により短いと判断されたほうの寿命を示す寿命情報を前記第1の情報処理装置に送信する第2の寿命情報送信部をさらに備え、前記第1の情報処理装置が、前記第2の寿命情報送信部から送信された寿命情報を受信する第1の寿命情報受信部と、前記第1の寿命情報受信部が受信した寿命情報に基づいて、前記第1の寿命情報記憶部が記憶している寿命情報を変更する第1の寿命変更部と、をさらに備えてもよい。
【0012】
このような構成により、第1の情報処理装置で記憶されている寿命情報も、第1の情報処理装置で記憶されている寿命情報と、第2の情報処理装置で記憶されている寿命情報と
のうち、短いほうの寿命情報に合わされることとなる。したがって、例えば、あるサーバ装置において両装置間の寿命を管理している場合に、第1の情報処理装置で記憶されている寿命情報に関する寿命が、そのサーバ装置における寿命を超える可能性をより低くすることができうる。その結果、例えば、第1の情報処理装置がサーバ装置に寿命の延長を要求したときに、すでにサーバ装置では、そのピアー・ツー・ピアー通信が終了したことになっているような事態を回避することができうる。
【0013】
また、本発明による情報処理システムでは、前記第2の寿命情報送信部が、前記寿命情報を前記ピアー・ツー・ピアー通信によって送信してもよい。
このような構成により、第2の情報処理装置から第1の情報処理装置への寿命情報の送信を、リレーサーバ等を介することなくピアー・ツー・ピアー通信で行うことができ、他のサーバ等の処理負担を増加させることなく、寿命情報の送信を行うことができる。
【0014】
また、本発明による情報処理システムでは、前記第2の寿命情報送信部が、前記寿命判断部により、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命のほうが、前記第2の寿命情報受信部が受信した寿命情報に関する寿命よりも短いと判断された場合に、前記寿命情報の送信を行ってもよい。
【0015】
このような構成により、第1の情報処理装置で寿命情報を変更する必要がある場合にのみ、第2の情報処理装置から第1の情報処理装置への寿命情報の送信を行うことができ、第2の情報処理装置での寿命情報の送信の処理負担、及び第1の情報処理装置での寿命情報の変更の処理負担を軽減することができうる。
【0016】
また、本発明による情報処理システムでは、前記ピアー・ツー・ピアー通信の寿命を管理するサーバ装置をさらに備え、前記第1の情報処理装置が、前記サーバ装置と前記ピアー・ツー・ピアー通信の寿命に関する通信を行う寿命通信部と、前記寿命通信部と、前記サーバ装置との前記ピアー・ツー・ピアー通信の寿命に関する通信の結果に基づいて、前記第1の寿命情報記憶部が記憶している寿命情報を変更する第1の寿命変更部と、をさらに備え、前記第2の情報処理装置が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命との長短を判断する寿命判断部をさらに備え、前記第2の寿命変更部が、前記第1の寿命情報送信部が、前記寿命通信部と前記サーバ装置との前記ピアー・ツー・ピアー通信の寿命に関する通信の結果に基づいて変更された寿命情報を送信した場合には、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更し、前記第1の寿命情報送信部が、前記ピアー・ツー・ピアー通信を維持するために前記寿命情報を送信した場合には、前記寿命判断部により、前記第2の寿命情報受信部が受信した寿命情報に関する寿命のほうが短いと判断されたときに、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更してもよい。
【0017】
このような構成により、第1の情報処理装置とサーバ装置との間で、寿命に関する通信が行われた場合には、第2の情報処理装置で記憶されている寿命情報を、その通信結果に合うように変更することができ、また、ピアー・ツー・ピアー通信を維持するために寿命情報が送信された場合には、第2の情報処理装置で記憶されている寿命情報を、第1の情報処理装置で記憶されている寿命情報と、第2の情報処理装置で記憶されている寿命情報とのうち、短いほうの寿命情報に合わせることができる。したがって、例えば、あるサーバ装置において両装置間の寿命を管理している場合に、第2の情報処理装置で記憶されている寿命情報に関する寿命が、そのサーバ装置における寿命を超える可能性をより低くす
ることができうる。
【0018】
また、本発明による情報処理システムでは、前記第2の情報処理装置が、前記第1の情報処理装置と、前記第2の情報処理装置との間の通信時間を取得する通信時間取得部をさらに備え、前記第2の寿命変更部が、前記通信時間取得部が取得した通信時間を用いて、前記寿命情報の変更を行ってもよい。
このような構成により、第1の情報処理装置と第2の情報処理装置との間の通信時間を用いて、より精度の高い寿命情報の変更を行うことができうる。
【0019】
また、本発明による情報処理システムでは、前記第2の情報処理装置が、前記第1の情報処理装置と、前記第2の情報処理装置との間の通信時間を取得する通信時間取得部をさらに備え、前記第2の寿命変更部が、前記通信時間取得部が取得した通信時間を用いて、前記寿命情報の変更を行い、前記寿命判断部が、前記通信時間取得部が取得した通信時間を用いて、前記判断を行ってもよい。
このような構成により、第1の情報処理装置と第2の情報処理装置との間の通信時間を用いて、より精度の高い寿命情報の変更、及び寿命情報の長短に関する判断を行うことができうる。
【0020】
また、本発明による情報処理システムでは、前記第1の情報処理装置が、前記第1の情報処理装置と、前記第2の情報処理装置との間の通信時間を取得する通信時間取得部をさらに備え、前記第1の寿命情報送信部が、前記通信時間取得部が取得した通信時間に基づいて、前記寿命情報の送信を行ってもよい。
このような構成により、第1の情報処理装置から第2の情報処理装置への寿命情報の送信において、第1の情報処理装置と第2の情報処理装置との間の通信時間を考慮することができ、より精度の高い寿命情報の変更等を行うことができうる。
【発明の効果】
【0021】
本発明による情報処理システム等によれば、装置間でピアー・ツー・ピアー通信を行っている一方の情報処理装置から、他方の情報処理装置に、ピアー・ツー・ピアー通信によって寿命に関する寿命情報を送信することによって、両装置でのピアー・ツー・ピアー通信の寿命を一致させることができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明による情報処理システム等について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
【0023】
(実施の形態1)
本発明の実施の形態1による情報処理システムについて、図面を参照しながら説明する。
図1は、本実施の形態による情報処理システムの構成を示すブロック図である。図1において、本実施の形態による情報処理システムは、第1の情報処理装置1と、第2の情報処理装置2と、通信処理装置3,4と、サーバ装置5とを備える。通信処理装置3,4と、サーバ装置5とは、有線または無線の通信回線100で接続されている。通信回線100は、例えば、インターネットや、イントラネット、公衆電話回線網などである。
【0024】
図2は、本実施の形態による第1の情報処理装置1の構成を示すブロック図である。図2において、本実施の形態による第1の情報処理装置1は、第1の通信部11と、第1の寿命情報記憶部12と、第1の寿命制御部13と、第1の寿命情報送信部14と、寿命通信部15と、第1の寿命情報受信部16と、第1の寿命変更部17とを備える。
【0025】
第1の通信部11は、第2の情報処理装置2とピアー・ツー・ピアー通信(以下、「P2P通信」と略すこともある)を行う。ここで、P2P通信とは、情報処理装置間でサーバ装置を介することなく直接行われる通信のことである。例えば、第1の通信部11が第2の情報処理装置2に送信するパケットのヘッダには、送信先のアドレスとして、通信処理装置4や第2の情報処理装置2のアドレスが含まれることになる。P2P通信でない通信としては、例えば、リレーサーバを介した通信であるデータリレー通信等がある。また、第1の通信部11は、通信を行うための通信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、第1の通信部11と通信処理装置3との間に図示しない通信デバイスが存在することとなる)。また、第1の通信部11は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0026】
第1の寿命情報記憶部12は、P2P通信の寿命に関する情報である寿命情報を記憶している。ここで、P2P通信の寿命とは、P2P通信をいつの時点まで行うことができるのかを特定することができる情報である。すなわち、このP2P通信の寿命によって、P2P通信の終了時点を知ることができる。寿命情報は、例えば、P2P通信の終了時点を時刻によって示すものであってもよく、P2P通信を行うことができる期間、すなわち残り時間を示すものであってもよく、独自の指標でP2P通信の終了時点を示すものであってもよく、あるいは、P2P通信の終了時点を特定することができる情報であれば、その他の情報であってもよい。ここで、寿命情報がP2P通信の残り時間を示す場合に、その残り時間は、時分秒などの時間で示されてもよく、あるいは、所定のクロック周波数のカウント数で示されてもよく、所定の期間を示すことができるものであれば、その寿命情報の内容は問わない。また、独自の指標とは、例えば、度数であり、度数「1」が「1分」に対応していてもよい。なお、本実施の形態では、寿命情報がP2P通信を行うことができる残り時間を示す場合について説明する。第1の寿命情報記憶部12は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
【0027】
第1の寿命制御部13は、第1の寿命情報記憶部12が記憶している寿命情報に基づいて、第1の通信部11が行うP2P通信を制御する。第1の寿命制御部13は、具体的には、第1の寿命情報記憶部12が記憶している寿命情報の示すP2P通信の終了時点となった場合に、そのP2P通信を終了するように第1の通信部11を制御する。また、第1の寿命制御部13は、第1の寿命情報記憶部12が記憶している寿命情報がP2P通信の残り時間や度数等を示す情報である場合に、時間の経過に応じて、それらの情報を減少させる処理等を行ってもよい。なお、第1の寿命制御部13は、時間の経過に応じて寿命情報を変更する処理を行う場合に、例えば、寿命情報が度数であるとすると、第1の通信部11によって通信されているデータの種類や、データの通信速度、時間帯等に応じて、度数の減少のスピードを変更してもよい。例えば、映像データであれば1分ごとに1度数減少させ、音声データであれば2分ごとに1度数減少させてもよい。また、例えば、1秒当たり1Mバイトの通信を行っている場合には、1分ごとに1度数減少させ、1秒当たり0.1Mバイトの通信を行っている場合には、2分ごとに1度数減少させてもよい。また、例えば、午前9時から午後11時までは、1分ごとに1度数減少させ、午後11時から午前9時までは、2分ごとに1度数減少させてもよい。
【0028】
第1の寿命情報送信部14は、第1の寿命情報記憶部12が記憶している寿命情報をP2P通信によって第2の情報処理装置2に送信する。ここで、「寿命情報を第2の情報処理装置2に送信する」ことには、寿命情報の送信先を通信処理装置4の広域ネットワーク側、すなわち通信回線100側のアドレスにする場合を含むものとする。通信処理装置4がアドレス変換機能を有する場合には、寿命情報の送信先として第2の情報処理装置2のアドレスを指定することはできないが、通信処理装置4のアドレスを指定することによっ
て、通信処理装置4においてアドレス変換が行われ、第2の情報処理装置2に送信されることになるからである。第1の寿命情報送信部14が、どのタイミングで寿命情報を送信するのかについては後述する。なお、第1の寿命情報送信部14が送信する寿命情報と、第1の寿命情報記憶部12が記憶している寿命情報とは、厳密に同一であってもよいが、厳密に同一でなくても、両方の寿命情報の示すP2P通信の終了時点が同一であればよい。例えば、第1の寿命情報記憶部12が記憶している寿命情報がP2P通信の残り時間「10分」を示すものであり、第1の寿命情報送信部14が送信する寿命情報がP2P通信の残り時間「600秒」を示すものである場合には、両者の示すP2P通信の終了時点は同一であるため、同一の寿命情報であるとする。このように、寿命情報に対して形式的な変更がなされたとしても、実質的な寿命が変更されない限り、同一の寿命情報であるとする。以下の説明でも同様であるとする。また、第1の寿命情報送信部14は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、第1の寿命情報送信部14と通信処理装置3との間に図示しない送信デバイスが存在することとなる)。また、第1の寿命情報送信部14は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0029】
寿命通信部15は、サーバ装置5とP2P通信の寿命に関する通信を行う。ここで、P2P通信の寿命に関する通信とは、例えば、サーバ装置5で管理されているP2P通信の寿命と、第1の寿命情報記憶部12が記憶している寿命情報に関する寿命とを同じにするための通信であってもよく、サーバ装置5において管理されているP2P通信の寿命の延長を要求するための通信であってもよく、P2P通信の寿命に関する通信であれば、これらに限定されるものではない。ここで、「寿命情報に関する寿命」とは、寿命情報によって示されるP2P通信の寿命のことである。なお、寿命通信部15は、通信を行うための通信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、寿命通信部15と通信処理装置3との間に図示しない通信デバイスが存在することとなる)。また、寿命通信部15は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0030】
第1の寿命情報受信部16は、第2の情報処理装置2から送信された寿命情報を受信する。なお、第1の寿命情報受信部16は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、第1の寿命情報受信部16と通信処理装置3との間に図示しない受信デバイスが存在することとなる)。また、第1の寿命情報受信部16は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0031】
第1の寿命変更部17は、寿命通信部15とサーバ装置5とのP2P通信の寿命に関する通信の結果に基づいて、第1の寿命情報記憶部12が記憶している寿命情報を変更する。第1の寿命変更部17は、例えば、寿命通信部15とサーバ装置5とのP2P通信の寿命に関する通信の結果、P2P通信の寿命を延長することができた場合には、その延長された寿命となるように寿命情報を変更してもよい。また、第1の寿命変更部17は、例えば、寿命通信部15とサーバ装置5とのP2P通信の寿命に関する通信の結果、サーバ装置5で管理されているP2P通信の寿命を示す情報を知ることができた場合には、そのサーバ装置5で管理されているP2P通信の寿命と、第1の寿命情報記憶部12が記憶している寿命情報の示す寿命とが同一になるように寿命情報を変更してもよい。また、第1の寿命変更部17は、寿命通信部15とサーバ装置5との通信の結果に基づいて、第1の寿命情報記憶部12が記憶している寿命情報を変更すると共に、第1の寿命情報受信部16が受信した寿命情報に基づいて、第1の寿命情報記憶部12が記憶している寿命情報を変
更してもよい。例えば、第1の寿命変更部17は、第1の寿命情報記憶部12が記憶している寿命情報に関する寿命が、第1の寿命情報受信部16が受信した寿命情報に関する寿命と同じになるように、第1の寿命情報記憶部12が記憶している寿命情報を変更してもよい。なお、第1の寿命変更部17は、第1の情報処理装置1と第2の情報処理装置2との間の通信時間を用いて、寿命情報の変更を行ってもよい。この通信時間は、第1の情報処理装置1において取得されたものであってもよく、あるいは、第2の情報処理装置2等の他の装置から送信されたものであってもよい。通信時間を用いて寿命情報を変更する処理については、後述する。
【0032】
なお、第1の通信部11、第1の寿命情報送信部14、寿命通信部15、第1の寿命情報受信部16の任意の2以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【0033】
図3は、本実施の形態による第2の情報処理装置2の構成を示すブロック図である。図3において、本実施の形態による第2の情報処理装置2は、第2の通信部21と、第2の寿命情報記憶部22と、第2の寿命制御部23と、第2の寿命情報受信部24と、通信時間取得部25と、寿命判断部26と、第2の寿命変更部27と、第2の寿命情報送信部28とを備える。
【0034】
第2の通信部21は、第1の情報処理装置1とP2P通信を行う。なお、第2の通信部21は、通信を行うための通信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、第2の通信部21と通信処理装置4との間に図示しない通信デバイスが存在することとなる)。また、第2の通信部21は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
第2の寿命情報記憶部22は、P2P通信の寿命に関する情報である寿命情報を記憶している。第2の寿命情報記憶部22は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
【0035】
第2の寿命制御部23は、第2の寿命情報記憶部22が記憶している寿命情報に基づいて、第2の通信部21が行うP2P通信を制御する。第2の寿命制御部23も、第1の寿命制御部13と同様に、具体的には、第2の寿命情報記憶部22が記憶している寿命情報の示すP2P通信の終了時点となった場合に、そのP2P通信を終了するように第2の通信部21を制御する。また、第2の寿命制御部23は、第2の寿命情報記憶部22が記憶している寿命情報がP2P通信の残り時間や度数等を示す情報である場合に、時間の経過に応じて、それらの情報を減少させる処理を行ってもよい。なお、第2の寿命制御部23は、時間の経過に応じて寿命情報を変更する処理を行う場合に、例えば、寿命情報が度数であるとすると、第2の通信部21によって通信されているデータの種類や、データの通信速度、時間帯等に応じて、度数の減少のスピードを変更してもよい。
【0036】
第2の寿命情報受信部24は、第1の情報処理装置1から送信された寿命情報を受信する。なお、第2の寿命情報受信部24は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、第2の寿命情報受信部24と通信処理装置4との間に図示しない受信デバイスが存在することとなる)。また、第2の寿命情報受信部24は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0037】
通信時間取得部25は、第1の情報処理装置1と、第2の情報処理装置2との間の通信時間を取得する。通信時間取得部25は、例えば、記録媒体で記憶されている第1の情報
処理装置1と、第2の情報処理装置2との間の通信時間を、その記録媒体から読み出すことによって取得してもよく、第1の情報処理装置1と、第2の情報処理装置2との間の通信時間を計測することによって取得してもよい。後者の場合としては、通信時間取得部25は、例えば、ICMP(Internet Control Message Protocol)のechoコマンド(pingと呼ばれることもある)を用いて、第2の情報処理装置2と第1の情報処理装置1との間の通信の往復時間を計測し、その往復時間の半分を第1の情報処理装置1と、第2の情報処理装置2との間の通信時間としてもよい。なお、通信処理装置3がアドレス変換機能を有する場合のように、第1の情報処理装置1と第2の情報処理装置2との間の通信時間を取得することができない場合には、第2の情報処理装置2と通信処理装置3との間の通信時間で、第1の情報処理装置1と第2の情報処理装置2との間の通信時間を近似してもよい。また、通信時間取得部25が、第1の情報処理装置1と、第2の情報処理装置2との間の通信時間を取得する方法は、これらの具体例に限定されないことは言うまでもない。通信時間取得部25が第1の情報処理装置1と、第2の情報処理装置2との間の通信時間を計測することによって取得する場合などには、通信時間取得部25は、通信を行うための通信デバイスを含んでもよく、あるいは含まなくてもよい。また、通信時間取得部25は、ハードウェアによって実現されてもよく、あるいは通信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0038】
寿命判断部26は、第2の寿命情報受信部24が受信した寿命情報に関する寿命と、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命との長短を判断する。ここで、寿命の長短は、第2の寿命情報受信部24が受信した寿命情報が示すP2P通信の終了時点と、第2の寿命情報記憶部22が記憶している寿命情報が示すP2P通信の終了時点とのうち、いずれの終了時点のほうが早いのか、遅いのかによって判断される。すなわち、終了時点の遅いほうの寿命を示す寿命情報が寿命の長い寿命情報であると判断される。なお、寿命判断部26が長短を判断する2個の寿命情報は、同一の形式でなくてもよい。例えば、現在時刻が午前10時である場合に、一方の寿命情報がP2P通信の残りの時間が60分であることを示す情報であり、他方の寿命情報がP2P通信を午前10時30分まで行うことができることを示す情報である場合には、P2P通信の残りの時間が60分であることを示す寿命情報のほうが長い寿命であると判断されることになる。また、寿命判断部26は、2個の寿命情報のうち、一方の寿命情報が他方より長いと判断するものであってもよく、一方の寿命情報が他方より短いと判断するものであってもよく、その両方を判断するものであってもよい。すなわち、寿命判断部26による判断の結果、2個の寿命情報の長短がわかるのであれば、どのような判断であってもよい。また、寿命判断部26は、2個の寿命情報が等しいと判断してもよい。また、寿命判断部26は、通信時間取得部25が取得した第1の情報処理装置1と第2の情報処理装置2との間の通信時間を用いて、判断を行ってもよい。すなわち、例えば、第2の寿命情報受信部24が受信した寿命情報の示すP2P通信の残り時間から、その通信時間を引いた時間と、第2の寿命情報記憶部22が記憶している寿命情報の示すP2P通信の残り時間とを比較することにより、寿命の長短の判断を行ってもよい。ただし、寿命情報がP2P通信の終了時点を時刻によって示す場合などには、第1の情報処理装置1と第2の情報処理装置2との間の通信時間を用いた寿命情報に関する判断を行わなくてもよい。
【0039】
第2の寿命変更部27は、第2の寿命情報受信部24が受信した寿命情報に基づいて、第2の寿命情報記憶部22が記憶している寿命情報を変更する。なお、第2の寿命変更部27は、第1の寿命情報送信部14が、寿命通信部15とサーバ装置5とのP2P通信の寿命に関する通信の結果に基づいて変更された寿命情報を送信した場合には、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命が、第2の寿命情報受信部24が受信した寿命情報に関する寿命と同じになるように、第2の寿命情報記憶部22が記憶している寿命情報を変更してもよい。また、第2の寿命変更部27は、第1の寿命情報送信部
14が、P2P通信を維持するために寿命情報を送信した場合には、寿命判断部26により、第2の寿命情報受信部24が受信した寿命情報に関する寿命のほうが短いと判断されたときに、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命が、第2の寿命情報受信部24が受信した寿命情報に関する寿命と同じになるように、第2の寿命情報記憶部22が記憶している寿命情報を変更してもよい。すなわち、第2の寿命変更部27は、第1の寿命情報送信部14が、P2P通信を維持するために寿命情報を送信した場合に、寿命判断部26により、第2の寿命情報受信部24が受信した寿命情報に関する寿命のほうが長いと判断されたときには、第2の寿命情報記憶部22が記憶している寿命情報の変更を行わない。ここで、第2の寿命変更部27は、第1の寿命情報送信部14が送信した寿命情報が、寿命通信部15とサーバ装置5とのP2P通信の寿命に関する通信の結果に基づいて変更されたものであるのか、あるいは、P2P通信を維持するために送信されたものであるのかを、例えば、第1の寿命情報送信部14が送信した寿命情報に含まれる、寿命情報をP2P通信の維持のために送信するのかどうかなどを示す情報を用いて判断してもよく、寿命情報をP2P通信の維持のために送信するのかどうかに応じて寿命情報のサイズや形式が異なる場合には、その寿命情報のサイズや形式に基づいて判断してもよく、あるいは、例えば、寿命情報とは別途、第1の情報処理装置1から送信された情報によって判断してもよい。
【0040】
また、「P2P通信を維持するため」とは、例えば、通信処理装置3におけるポートを維持するためであってもよく、TCPのセッションを維持するためであってもよく、あるいは、その他の理由であってもよい。ここで、「ポートを維持する」ことについて簡単に説明しておく。アドレス変換機能やファイアウォール機能を有する通信処理装置では、ローカルネットワーク側から広域ネットワーク側に送信されるパケットに対してポートを割り当て、その割り当てたポートに広域ネットワーク側から送信されたパケットをローカルネットワーク側に送信することが行われる。この場合に、その割り当てたポートを介した通信が最後に行われてから所定時間(この時間を「ポート維持時間」とする)経過した後に再度、その割り当てたポートに広域ネットワーク側からパケットが送信されたとしても、そのパケットはローカルネットワーク側に送信されない。このように、割り当てられたポートを介した通信が一定時間行われないと、通信が遮断されることになってしまう。このことを回避するために、第1の情報処理装置1から第2の情報処理装置2に定期的に送信されるのが、通信処理装置3におけるポートを維持するために送信される寿命情報である。この寿命情報は、前述のポート維持時間よりも短い間隔で送信されなくてはならない。次に、「TCPのセッションを維持する」ことについて簡単に説明しておく。装置間でのTCPセッションが開始された後に、そのTCPでの通信が一定時間行われないと、TCPセッションが切られてしまう場合がある。そのようなことを避けるために、第1の情報処理装置1から第2の情報処理装置2に定期的に送信されるのが、TCPのセッションを維持するために送信される寿命情報である。
【0041】
また、第2の寿命変更部27は、通信時間取得部25が取得した通信時間を用いて、寿命情報の変更を行ってもよい。例えば、第2の寿命情報受信部24が受信した寿命情報がP2P通信の残り時間が「60秒」であり、通信時間取得部25によって取得された、第1の情報処理装置1と第2の情報処理装置2との間の通信時間が「1秒」である場合には、第2の寿命変更部27は、第2の寿命情報記憶部22が記憶している寿命情報の示す残り時間を、受信された寿命情報の示す残り時間「60秒」から通信時間「1秒」を引いた残り時間「59秒」に変更してもよい。
【0042】
第2の寿命情報送信部28は、寿命判断部26により短いと判断されたほうの寿命を示す寿命情報をP2P通信によって第1の情報処理装置1に送信する。ここで、「寿命情報を第1の情報処理装置1に送信する」ことには、寿命情報の送信先を通信処理装置3の広域ネットワーク側、すなわち通信回線100側のアドレスにする場合を含むものとする。
通信処理装置3がアドレス変換機能を有する場合には、寿命情報の送信先として第1の情報処理装置1のアドレスを指定することはできないが、通信処理装置3のアドレスを指定することによって、通信処理装置3においてアドレス変換が行われ、第1の情報処理装置1に送信されることになるからである。なお、第2の寿命情報送信部28は、寿命判断部26により、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命のほうが、第2の寿命情報受信部24が受信した寿命情報に関する寿命よりも短いと判断された場合に、その寿命情報の送信を行ってもよく、あるいは、寿命判断部26によって2個の寿命情報に関する判断が行われるごとに、短いほうの寿命情報を送信してもよい。本実施の形態では、前者の場合について説明する。なお、第2の寿命情報送信部28は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、第2の寿命情報送信部28と通信処理装置4との間に図示しない送信デバイスが存在することとなる)。また、第2の寿命情報送信部28は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0043】
なお、第2の通信部21、第2の寿命情報受信部24、通信時間取得部25、第2の寿命情報送信部28の任意の2以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
【0044】
通信処理装置3は、第1の情報処理装置1の通信に関する処理を行うものである。すなわち、第1の情報処理装置1は、通信処理装置3を介して通信を行う。通信処理装置3は、プライベートアドレスとグローバルアドレスとの間で相互にアドレス変換を行うNAT機能を有する装置であってもよく、パケットフィルタリングのファイアウォール(Firewall)の機能を有する装置であってもよく、あるいは、その両者を有する装置であってもよい。ここで、パケットフィルタリングとは、例えば、受信フィルタルールに基づいた受信パケットの選択を行うものである。受信フィルタルールには、例えば、そのポートからパケットを送信したアドレスからのみしかパケットを受信しないAddress Sensitiveフィルタ、そのポートからパケットを送信したポートからのみしかパケットを受信しないPort Sensitiveフィルタ、フィルタが存在しないNoフィルタがある。本実施の形態では、通信処理装置3がアドレス変換を行うNAT機能を有する装置である場合について説明する。
【0045】
通信処理装置4は、第2の情報処理装置2の通信に関する処理を行うものである。すなわち、第2の情報処理装置2は、通信処理装置4を介して通信を行う。通信処理装置4がNAT機能を有する装置であってもよく、ファイアウォールの機能を有する装置であってもよく、あるいは、その両者を有する装置であってもよいことは、通信処理装置3と同様である。なお、本実施の形態では、通信処理装置4もアドレス変換を行うNAT機能を有する装置である場合について説明する。
【0046】
サーバ装置5は、第1の情報処理装置1と第2の情報処理装置2との間で行われるP2P通信の寿命を管理する。すなわち、サーバ装置5は、そのP2P通信の寿命に関する情報を保持しており、第1の情報処理装置1の寿命通信部15との通信によって、そのP2P通信の寿命の延長や、P2P通信の寿命の通知等の処理を行う。これらの処理の詳細については、後述する具体例において説明する。
次に、本実施の形態による情報処理システムの動作について説明する。まず、第1の情報処理装置1の動作について、図4のフローチャートを用いて説明する。
【0047】
(ステップS101)第1の通信部11は、第2の情報処理装置2とのP2P通信を開始するための処理を行い、P2P通信を開始する。このP2P通信の開始の処理において、サーバ装置5から寿命情報が第1の情報処理装置1に送信され、第1の寿命情報記憶部
12に蓄積されたとする。なお、このP2P通信の開始の処理の詳細については、具体例で説明する。
【0048】
(ステップS102)寿命通信部15は、サーバ装置5と寿命に関する通信を行うかどうか判断する。例えば、ユーザが入力した寿命延長の指示が図示しない受付部において受け付けられた場合に、寿命通信部15は、サーバ装置5との寿命に関する通信を行うと判断してもよい。また、寿命通信部15が定期的にサーバ装置5で管理されている寿命を示す寿命情報の送信を要求する場合には、一定期間ごとに、サーバ装置5と寿命に関する通信を行うと判断してもよい。そして、寿命に関する通信を行うと判断した場合には、ステップS103に進み、そうでない場合には、ステップS106に進む。
(ステップS103)寿命通信部15は、サーバ装置5と寿命に関する通信を行う。具体的な通信については後述する。
【0049】
(ステップS104)寿命通信部15は、ステップS103でのサーバ装置5との寿命に関する通信の結果、第1の寿命情報記憶部12が記憶している寿命情報を変更する必要があるどうか判断する。例えば、寿命通信部15がサーバ装置5と、寿命延長に関する通信を行い、その通信の結果、P2P通信の寿命が延長された場合には、第1の寿命情報記憶部12が記憶している寿命情報を変更する必要があると判断してもよい。また、例えば、寿命通信部15がサーバ装置5で管理されている寿命を示す寿命情報の送信を要求し、その寿命情報を受信したが、その寿命情報に関する寿命と、第1の寿命情報記憶部12が記憶している寿命情報に関する寿命とが同一である場合には、寿命情報を変更する必要がないと判断してもよい。そして、寿命情報を変更する必要があると判断した場合には、ステップS105に進み、そうでない場合には、ステップS102に戻る。
【0050】
(ステップS105)第1の寿命変更部17は、ステップS103で行われた寿命通信部15とサーバ装置5との寿命に関する通信の結果に基づいて、第1の寿命情報記憶部12が記憶している寿命情報を変更する。例えば、寿命が延長された場合には、第1の寿命変更部17は、寿命が延長されるように寿命情報を変更してもよい。そして、ステップS102に戻る。
【0051】
(ステップS106)第1の寿命情報送信部14は、寿命情報を送信するかどうか判断する。そして、寿命情報を送信する場合には、ステップS107に進み、そうでない場合には、ステップS108に進む。ここで、第1の寿命情報送信部14は、例えば、寿命通信部15とサーバ装置5との寿命に関する通信の結果に基づいて、第1の寿命変更部17によって第1の寿命情報記憶部12が記憶している寿命情報が変更された場合に、寿命情報を送信すると判断してもよい。また、第1の寿命情報送信部14は、例えば、通信処理装置3のポートを維持するために、一定時間ごとに寿命情報を送信すると判断してもよい。
【0052】
(ステップS107)第1の寿命情報送信部14は、第1の寿命情報記憶部12が記憶している寿命情報を第2の情報処理装置2に送信する。そして、ステップS102に戻る。
(ステップS108)第1の寿命情報受信部16は、寿命情報を受信したかどうか判断する。そして、寿命情報を受信した場合には、ステップS109に進み、そうでない場合には、ステップS110に進む。
【0053】
(ステップS109)第1の寿命変更部17は、第1の寿命情報受信部16が受信した寿命情報に基づいて、第1の寿命情報記憶部12が記憶している寿命情報を変更する。そして、ステップS102に戻る。
(ステップS110)第1の寿命制御部13は、第1の通信部11が、第2の情報処理
装置2とのP2P通信を継続することができるかどうか判断する。この判断は、第1の寿命情報記憶部12が記憶している寿命情報を参照し、その寿命情報の示すP2P通信の終了時点となっているかどうかによって判断される。第1の寿命情報記憶部12が記憶している寿命情報の示すP2P通信の終了時点となっている、あるいは、その終了時点を超えている場合には、P2P通信を継続することができないと判断してステップS111に進み、そうでない場合には、P2P通信を継続することができると判断してステップS102に戻る。
【0054】
(ステップS111)第1の寿命制御部13は、P2P通信を終了するように第1の通信部11を制御する。例えば、第1の寿命制御部13は、第1の通信部11に通信を終了するコマンドを渡してもよい。その結果、第1の通信部11と、第2の情報処理装置2とのP2P通信は終了される。
なお、このフローチャートでは、寿命の到来によってP2P通信が終了される場合について説明したが、電源オフや処理終了の割り込みによりP2P通信が終了されてもよい。
【0055】
次に、第2の情報処理装置2の動作について、図5のフローチャートを用いて説明する。
(ステップS201)第2の通信部21は、第1の情報処理装置1とのP2P通信を開始するための処理を行い、P2P通信を開始する。このP2P通信の開始の処理において、サーバ装置5から寿命情報が第2の情報処理装置2に送信され、第2の寿命情報記憶部22に蓄積されたとする。なお、このP2P通信の開始の処理の詳細については、具体例で説明する。
【0056】
(ステップS202)通信時間取得部25は、第1の情報処理装置1と第2の情報処理装置2との間の通信時間を取得する。通信時間取得部25は、例えば、その取得した通信時間を、図示しない記録媒体において記憶しておく。
(ステップS203)第2の寿命情報受信部24は、寿命情報を受信したかどうか判断する。そして、寿命情報を受信した場合には、ステップS204に進み、そうでない場合には、ステップS208に進む。
【0057】
(ステップS204)第2の寿命変更部27は、第2の寿命情報受信部24が受信した寿命情報に関する寿命と、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命との長短を判断する必要があるかどうか判断する。そして、必要がある場合には、ステップS205に進み、必要がない場合には、ステップS206に進む。
【0058】
(ステップS205)寿命判断部26は、第2の寿命情報受信部24が受信した寿命情報に関する寿命と、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命との長短を判断する。そして、第2の寿命情報受信部24が受信した寿命情報に関する寿命のほうが短い場合には、ステップS206に進み、そうでない場合には、ステップS207に進む。
【0059】
(ステップS206)第2の寿命変更部27は、第2の寿命情報受信部24に基づいて、第2の寿命情報記憶部22が記憶している寿命情報を変更する。そして、ステップS203に戻る。
(ステップS207)第2の寿命情報送信部28は、第2の寿命情報記憶部22が記憶している寿命情報を第1の情報処理装置1に送信する。そして、ステップS203に戻る。
【0060】
(ステップS208)第2の寿命制御部23は、第2の通信部21が、第1の情報処理装置1とのP2P通信を継続することができるかどうか判断する。この判断は、第2の寿
命情報記憶部22が記憶している寿命情報を参照し、その寿命情報の示すP2P通信の終了時点となっているかどうかによって判断される。第2の寿命情報記憶部22が記憶している寿命情報の示すP2P通信の終了時点となっている、あるいは、その終了時点を超えている場合には、P2P通信を継続することができないと判断してステップS209に進み、そうでない場合には、P2P通信を継続することができると判断してステップS203に戻る。
【0061】
(ステップS209)第2の寿命制御部23は、P2P通信を終了するように第2の通信部21を制御する。例えば、第2の寿命制御部23は、第2の通信部21に通信を終了するコマンドを渡してもよい。その結果、第2の通信部21と、第1の情報処理装置1とのP2P通信は終了される。
なお、このフローチャートでは、寿命の到来によってP2P通信が終了される場合について説明したが、電源オフや処理終了の割り込みによりP2P通信が終了されてもよい。
【0062】
また、このフローチャートにおいて、第2の寿命情報受信部24が受信した寿命情報に関する寿命と、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命とが同じである場合にも、寿命情報が送信される場合について説明したが(ステップS205、S207)、第2の寿命情報受信部24が受信した寿命情報に関する寿命と、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命とが同じである場合には、ステップS206の寿命情報の変更処理も、ステップS207の寿命情報の送信処理も行わないで、ステップS203に戻ってもよい。
【0063】
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。まず、第1の情報処理装置1と第2の情報処理装置2とがP2P通信を開始するまでの動作について、図6のフローチャートを用いて説明する。
【0064】
(ステップS301)第1の情報処理装置1の第1の通信部11は、アドレス登録のための情報の送信をサーバ装置5に対して行う。この送信では、第1の通信部11が送信するパケットには、アドレス登録を行う旨を示す情報と、第1の情報処理装置1を識別する装置識別子「D001」とが含まれているものとする。そのパケットは、通信処理装置3でアドレス変換され、サーバ装置5で受信される。
【0065】
(ステップS302)第2の情報処理装置2の第2の通信部21は、アドレス登録のための情報の送信をサーバ装置5に対して行う。この送信では、第2の通信部21が送信するパケットには、アドレス登録を行う旨を示す情報と、第2の情報処理装置2を識別する装置識別子「D002」とが含まれているものとする。そのパケットは、通信処理装置4でアドレス変換され、サーバ装置5で受信される。
【0066】
(ステップS303)サーバ装置5は、第1の情報処理装置1から送信されたアドレス登録のためのパケットと、第2の情報処理装置2から送信されたアドレス登録のためのパケットとに基づいて、第1の情報処理装置1に関するアドレスと、第2の情報処理装置2に関するアドレスとを登録する。ここで、サーバ装置5において実際に登録されるアドレスは、通信処理装置3,4のアドレスとなる。具体的には、サーバ装置5は、第1の情報処理装置1から送信されたアドレス登録のためのパケットのヘッダに含まれる送信元のIPアドレス「202.224.135.10」と、ポート番号「12345」と、そのパケットのペイロードに含まれる第1の情報処理装置1の装置識別子「D001」とを読み出し、IPアドレスとポート番号とを装置識別子「D001」に対応付けて蓄積する。また、第2の情報処理装置2から送信されたアドレス登録のためのパケットに対しても、同様の処理を行う。図7は、そのようにしてサーバ装置5において蓄積された装置識別子と、IPアドレスと、ポート番号との対応を示すテーブルである。なお、図7で示されるテ
ーブルにおける寿命情報については後述する。
【0067】
図6では、説明の便宜上、第1の情報処理装置1と、第2の情報処理装置2とからアドレス登録のためのパケットが同時に送信されるように記載しているが、それらは別々に送信され、別々にアドレス登録の処理がサーバ装置5において行われてもよいことはいうまでもない。また、このアドレス登録の処理は、後述するステップS304の処理までに実行されていればよい。
【0068】
(ステップS304)第1の通信部11は、第2の情報処理装置2とのP2P通信の開始を要求するパケットをサーバ装置5に送信する。このパケットには、そのパケットの送信元の第1の情報処理装置1を識別する装置識別子「D001」と、装置識別子「D002」で識別される第2の情報処理装置2とP2P通信を行いたい旨が含まれている。そのパケットは、サーバ装置5で受信される。
【0069】
(ステップS305)サーバ装置5は、第1の情報処理装置1から送信されたパケットを受信し、そのパケットに含まれる装置識別子「D002」に対応するIPアドレスとポート番号とを図7で示されるテーブルから取得する。また、サーバ装置5は、図7で示されるテーブルから装置識別子「D001」に対応するIPアドレス「202.224.135.10」、ポート番号「12345」を取得し、そのIPアドレスと、ポート番号とを第1の情報処理装置1から送信されたパケットのペイロードに追加して、そのパケットを、取得した第2の情報処理装置2のIPアドレス、ポート番号に送信する。そのパケットは、第2の情報処理装置2で受信される。
【0070】
(ステップS306)第2の情報処理装置2は、サーバ装置5を介して第1の情報処理装置1から送信されたパケットのペイロードに含まれる第1の情報処理装置1のIPアドレス「202.224.135.10」、ポート番号「12345」を読み出し、それらを保持しておく。また、第1の情報処理装置1とのP2P通信を開始してよい旨を応答するパケットをサーバ装置5に送信する。そのパケットには、そのパケットの送信元の第2の情報処理装置2を識別する装置識別子「D002」と、装置識別子「D001」で識別される第1の情報処理装置1とP2P通信を開始してよい旨とが含まれている。そのパケットは、サーバ装置5で受信される。
【0071】
(ステップS307)サーバ装置5は、第2の情報処理装置2から送信されたパケットを受信し、そのパケットに含まれる装置識別子「D001」に対応するIPアドレスとポート番号とを図7で示されるテーブルから取得する。また、サーバ装置5は、図7で示されるテーブルから装置識別子「D002」に対応するIPアドレス「202.132.10.6」、ポート番号「23456」を取得し、そのIPアドレスと、ポート番号とを第2の情報処理装置1から送信されたパケットのペイロードに追加して、そのパケットを、取得した第1の情報処理装置1のIPアドレス、ポート番号に送信する。そのパケットは、第1の情報処理装置1で受信される。
【0072】
(ステップS308)第1の通信部11は、サーバ装置5を介して第2の情報処理装置2から送信されたパケットのペイロードに含まれる第2の情報処理装置2のIPアドレス「202.132.10.6」、ポート番号「23456」を読み出し、それらを保持しておく。また、第1の通信部11は、装置識別子「D001」で識別される第1の情報処理装置1と、装置識別子「D002」で識別される第2の情報処理装置2との間のP2P通信に関する寿命を設定し、その寿命を第1の情報処理装置1と第2の情報処理装置2とに送信する旨の指示を含むパケットをサーバ装置5に送信する。そのパケットは、サーバ装置5で受信される。
【0073】
(ステップS309)サーバ装置5は、第1の情報処理装置1から送信されたパケットのペイロードに含まれる2個の装置識別子「D001」、「D002」を読み出し、図7のテーブルにおける各装置識別子に対応するフィールド「寿命情報」にP2P通信の残り時間を示す情報を設定する。ここで、この具体例では、サーバ装置5は、P2P通信の寿命として、まず60分を設定するものとする。したがって、装置識別子「D001」、「D002」に対応する寿命情報には、それぞれ「60分」が設定される。また、サーバ装置5は、その設定した寿命情報「60分」を、各装置識別子に対応するアドレス、ポート番号に送信する。それらの寿命情報は、第1の情報処理装置1の第1の寿命情報受信部16と、第2の情報処理装置2の第2の寿命情報受信部24とによって受信される。なお、サーバ装置5は、寿命情報を設定してから時間の経過に応じて、その寿命情報を減少させていくものとする。すなわち、寿命の設定がなされてから10秒が経過すると、装置識別子と寿命情報などを対応付けるテーブルは、図8で示されるようになる。
【0074】
(ステップS310)第1の寿命変更部17は、第1の寿命情報受信部16が受信した寿命情報「60分」を第1の寿命情報記憶部12に蓄積する。その寿命情報は、時間の経過に応じて第1の寿命制御部13によって減少されるものとする。
【0075】
(ステップS311)第2の寿命変更部27は、第2の寿命情報受信部24が受信した寿命情報「60分」を第2の寿命情報記憶部22に蓄積する。その寿命情報は、時間の経過に応じて第2の寿命制御部23によって減少されるものとする。
【0076】
(ステップS312)第1の通信部11は、第1の情報処理装置1において保持されている第2の情報処理装置2のアドレス、ポート番号に対してパケットを送信することによって、第2の情報処理装置2とのP2P通信を行う。
(ステップS313)第2の通信部21も、第2の情報処理装置2において保持されている第1の情報処理装置1のアドレス、ポート番号に対してパケットを送信することによって、第1の情報処理装置1とのP2P通信を行う。
【0077】
このようにして、第1の情報処理装置1と、第2の情報処理装置2との間でのP2P通信が開始される。なお、図6のフローチャートでは、サーバ装置5において設定された寿命情報が、第1の情報処理装置1と第2の情報処理装置2とに直接送信される場合について説明したが、サーバ装置5において設定された寿命情報は、第1の情報処理装置1にのみ送信され、第2の情報処理装置2には、第1の情報処理装置1から送信されてもよい。また、図6のフローチャートでは、第1の情報処理装置1から寿命を設定し、送信する旨の指示が送信され(ステップS308)、それに応じて、サーバ装置5から寿命情報が送信される(ステップS309)場合について説明したが、ステップS305、S307において、通信開始を要求するパケットや、通信開始の応答のパケットの中継と共に、寿命情報がサーバ装置5から第1の情報処理装置1や第2の情報処理装置2に送信されてもよい。その場合には、例えば、通信開始を要求するパケットを受信したタイミングで、サーバ装置5において寿命情報が設定されてもよい。
【0078】
P2P通信が開始された直後に、通信時間取得部25は、通信処理装置3にpingを送信し、第2の情報処理装置2と通信処理装置3との間の往復の通信時間を計測する。この往復の通信時間は、「1秒」であったとする。すると、通信時間取得部25は、その往復の通信時間の半分である「0.5秒」を第1の情報処理装置1と第2の情報処理装置2との間の通信時間として図示しない記録媒体において記憶しておく(ステップS202)。
【0079】
次に、第1の情報処理装置1と第2の情報処理装置2との間でP2P通信が開始された後の動作の具体例について説明する。この具体例では、第1の情報処理装置1は、3分お
きに通信処理装置3のポートを維持するための寿命情報を送信するものとする。ここで、通信処理装置3,4のポート維持時間は、3分よりも長いものとする。通信処理装置3,4の各ポート維持時間よりも短い間隔で第1の情報処理装置1から第2の情報処理装置2に寿命情報を送信することによって、通信処理装置3,4のそれぞれのポートを維持することができる。また、第1の情報処理装置1は、10分おきにサーバ装置5に寿命情報の送信を要求し、第1の寿命情報記憶部12が記憶している寿命情報と、サーバ装置5で管理されている寿命情報とが一致しているかどうかの確認を行うものとする。また、第1の情報処理装置1は、送信中のデータを寿命情報の示すP2P通信の終了時点までに送信終了できない場合に、寿命の延長をサーバ装置5に対して要求するものとする。
【0080】
なお、以下の説明では、第1の情報処理装置1で記憶されている寿命情報と、第2の情報処理装置2で記憶されている寿命情報とが一致しない場合について主に説明する。このように、第1の情報処理装置1で記憶されている寿命情報と、第2の情報処理装置2で記憶されている寿命情報が一致しない事態は、例えば、一方の情報処理装置において寿命情報を蓄積するときに、他の処理が優先的に実行されており、その結果、寿命情報の蓄積が遅れることによって生じる場合や、第1の情報処理装置1と第2の情報処理装置2とにおいて用いているタイマの精度が異なっており、その結果、両装置間での寿命情報が徐々に一致しなくことによって生じる場合などがありうる。
【0081】
まず、第1の情報処理装置1の通信部11は、図示しない記録媒体で記憶されている映像データを読み出し、その映像データをP2P通信によって第2の情報処理装置2に送信する。その映像データは、第2の情報処理装置2の第2の通信部21で受信され、図示しない記録媒体に蓄積される。この第1の情報処理装置1から第2の情報処理装置2への映像データの送信が継続して行われているものとする。
【0082】
第1の寿命情報送信部14は、P2P通信が開始されてから3分が経過した時点で、通信処理装置3のポートを維持するための寿命情報を送信するタイミングであると判断し(ステップS106)、第1の寿命情報記憶部12から、その時点で第1の寿命情報記憶部12において記憶されている寿命情報「57分0秒」を読み出し、その寿命情報を含むパケットを構成する。このパケットは、図9(a)で示される構成であるとする。図9(a)で示されるパケットのペイロードには、寿命情報と、種別フラグとが含まれている。種別フラグとは、送信される寿命情報が通信処理装置3のポートの維持のために送信されるのか、サーバ装置5との通信結果に基づいて送信されるのかを示すフラグであり、前者の場合には、フラグに「0」が代入され、後者の場合には、フラグに「1」が代入されるものとする。したがって、この場合には、第1の寿命情報送信部14が構成したパケットのペイロードには、種別フラグ「0」と、寿命情報「57分0秒」とが含まれている。第1の寿命情報送信部14は、第1の通信部11がP2P通信を行っているIPアドレス「202.132.10.6」、ポート番号「23456」を第1の通信部11から受け取り、そのIPアドレス、ポート番号に、その寿命情報を含むパケットを送信する(ステップS107)。そのパケットは、通信処理装置3,4を介して第2の情報処理装置2に送信される。
【0083】
第2の情報処理装置2の第2の寿命情報受信部24は、そのパケットを受信し(ステップS203)、寿命判断部26と、第2の寿命変更部27とに渡す。第2の寿命変更部27は、種別フラグが「0」であるため、寿命判断部26による判断を行う必要があると判断し、判断を行う旨の指示を寿命判断部26に渡す(ステップS204)。寿命判断部26は、通信時間取得部25が保持している通信時間「0.5秒」を通信時間取得部25から取得し、第2の寿命情報受信部24から受け取った寿命情報に関する寿命と、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命との長短に関する判断を行う。ここで、判断時に第2の寿命情報記憶部22において記憶されている寿命情報が「57分0
秒」であったとすると、第2の寿命情報受信部24で受信された寿命情報から通信時間「0.5秒」を引いた寿命情報「56分59.5秒」のほうが短いため、受信した寿命情報のほうが短いと判断する(ステップS205)。その結果、第2の寿命変更部27は、第2の寿命情報受信部24から受け取った寿命情報「57分0秒」から通信時間取得部25によって取得された通信時間「0.5秒」を引いた寿命情報「56分59.5秒」となるように、第2の寿命情報記憶部22の寿命情報を変更する(ステップS206)。
【0084】
なお、ここでは、第2の寿命情報受信部24が受信した寿命情報のほうが短い場合について説明したが、第2の寿命情報受信部24が受信した寿命情報のほうが長い場合には、第2の寿命情報記憶部22が記憶している寿命情報の変更は行われず、第2の寿命情報記憶部22が記憶している寿命情報と、通信時間取得部25が取得した通信時間とを含むパケット(図9(b)参照)が第2の寿命情報送信部28から通信処理装置3に送信される(ステップS207)。ここで、第2の寿命情報送信部28は、そのパケットの送信先のIPアドレス「202.224.135.10」、ポート番号「12345」を、第2の通信部21から受け取るものとする。そのパケットは、通信処理装置4,3を介して第1の情報処理装置1に送信され、第1の寿命情報受信部16で受信され、第1の寿命変更部17に渡される(ステップS108)。第1の寿命変更部17は、そのパケットのペイロードに含まれる寿命情報の示す残り時間から、同じくそのパケットのペイロードに含まれる通信時間を引いた時間を第1の寿命情報記憶部12に上書きで蓄積する。このようにして、第1の寿命情報記憶部12で記憶されている寿命情報が変更される(ステップS109)。
【0085】
次に、寿命通信部15は、P2P通信が開始されてから10分が経過した時点で、寿命情報をサーバ装置5に問い合わせるタイミングであると判断する(ステップS102)。そして、寿命通信部15は、装置識別子「D001」に対応する寿命情報を送信する旨の要求を含むパケットを構成し、サーバ装置5に送信する。すると、そのパケットはサーバ装置5において受信され、そのパケットに含まれる装置識別子「D001」に対応する寿命情報「50分0秒」を含むパケットが図7で示されるテーブルから取得され、通信処理装置3に送信される。そのパケットは、寿命通信部15で受信される(ステップS103)。ここで、寿命通信部15がサーバ装置5から送信された寿命情報を受信した時点で、第1の寿命情報記憶部12は、寿命情報「49分58秒」であったとする。すると、寿命通信部15は、サーバ装置5から送信された寿命情報「50分0秒」と、第1の寿命情報記憶部12で記憶されている寿命情報「49分58秒」とを比較し、両者が異なっているため、寿命情報の変更が必要であると判断し(ステップS104)、受信したパケットに含まれる寿命情報を第1の寿命変更部17に渡す。すると、第1の寿命変更部17は、受け取った寿命情報「50分0秒」を第1の寿命情報記憶部12に上書きで蓄積する(ステップS105)。
【0086】
第1の寿命情報送信部14は、第1の寿命情報記憶部12で記憶されている寿命情報が変更されたため、寿命情報を送信するタイミングであると判断し(ステップS106)、第1の寿命情報記憶部12から、その時点で第1の寿命情報記憶部12において記憶されている寿命情報「50分0秒」を読み出し、その寿命情報を含むパケットを構成する。このパケットのペイロードには、寿命情報「50分0秒」と、種別フラグ「1」とが含まれている。第1の寿命情報送信部14は、そのパケットを、IPアドレス「202.132.10.6」、ポート番号「23456」に送信する(ステップS107)。そのパケットは、通信処理装置3,4を介して第2の情報処理装置2に送信される。
【0087】
第2の情報処理装置2の第2の寿命情報受信部24は、そのパケットを受信し(ステップS203)、寿命判断部26と、第2の寿命変更部27とに渡す。第2の寿命変更部27は、種別フラグが「1」であるため、寿命判断部26による判断を行う必要がないと判
断する(ステップS204)。第2の寿命変更部27は、第2の寿命情報受信部24から受け取ったパケットに含まれる寿命情報「50分0秒」から通信時間取得部25が取得した通信時間「0.5秒」を引いた寿命情報「49分59.5秒」を、第2の寿命情報記憶部22に上書きで蓄積する(ステップS206)。
【0088】
次に、第1の寿命情報記憶部12で記憶されている寿命情報が「5分」になった時点で、第1の通信部11が1秒当たり0.2Mバイトで映像データを送信しており、未送信の映像データが100Mバイト残っていたとする。すると、未送信の映像データを寿命情報の示すP2P通信の残り時間で送信終了することはできないため、寿命通信部15は、寿命の延長をサーバ装置5に要求すると判断し(ステップS102)、寿命の延長を要求する旨の要求と、第1の情報処理装置1の装置識別子「D001」と、第2の情報処理装置2の装置識別子「D002」とを含むパケットをサーバ装置5に送信する。すると、そのパケットはサーバ装置5で受信され、サーバ装置5は、装置識別子「D001」、「D002」に対応する寿命情報をそれぞれ「10分」延長したとする。そして、その10分延長された後の寿命情報「15分0秒」が、サーバ装置5から通信処理装置3に送信されたとする。その寿命情報「15分0秒」は寿命通信部15で受信される(ステップS102)。そして、第1の寿命情報記憶部12が記憶している寿命情報と、受信した寿命情報とが異なるため、寿命通信部15は、寿命情報の変更が必要であると判断し(ステップS104)、受信した寿命情報を第1の寿命変更部17に渡す。すると、第1の寿命変換部17は、受け取った寿命情報「15分0秒」を第1の寿命情報記憶部22に蓄積する(ステップS105)。
その後、第1の寿命情報送信部14によって、変更後の寿命情報が第2の情報処理装置2に送信され、第2の情報処理装置2において、寿命情報が変更される処理は、上述のとおりであり、その説明を省略する。
【0089】
最後に、寿命情報に基づいてP2P通信が終了される処理について説明する。第1の寿命情報記憶部12で記憶されている寿命情報が「0秒」になると、第1の寿命制御部13は、P2P通信を継続することができないと判断し(ステップS110)、P2P通信を終了する旨の指示を第1の通信部11に渡す。その結果、第1の通信部11によって行われていた第2の情報処理装置2とのP2P通信が終了される(ステップS111)。第2の情報処理装置2においても同様に、第2の寿命情報記憶部22で記憶されている寿命情報が「0秒」になると、第2の寿命制御部23は、P2P通信を継続することができないと判断し(ステップS208)、P2P通信を終了する旨の指示を第2の通信部21に渡す。その結果、第2の通信部21によって行われていた第1の情報処理装置1とのP2P通信が終了される(ステップS209)。
【0090】
なお、この具体例では、第1の情報処理装置1が送信中のデータを寿命までに送信終了できない場合に、寿命の延長が行われる場合について説明したが、寿命の延長は、例えば、第1の情報処理装置1を操作しているユーザからの指示に基づいて行われてもよく、寿命の延長を行うトリガーは問わない。
【0091】
また、この具体例では、第2の情報処理装置2から、寿命情報と共に通信時間が第1の情報処理装置1に送信される場合について説明したが、第2の情報処理装置2から第1の情報処理装置1に寿命情報のみが送信されてもよい。この場合には、通信時間は、第1の情報処理装置1に別途送信されてもよく、第1の情報処理装置1において別途、通信時間の取得が行われてもよく、あるいは、通信時間を考慮した寿命情報の変更が行われなくてもよい。
【0092】
また、各情報処理装置が通信処理装置を介して通信を行っている場合に、情報処理装置間でのP2P通信を開始するまでの処理は、図6のフローチャートで示される処理に限定
されるものではなく、その他の処理であってもよい。例えば、RFC3489−STUN−Simple Traversal of User Datagram Protocol(UDP) Through Network Address Translators(NATs)などで示される方法を用いてもよく、特開2004−180003号公報で開示されている方法などを用いてもよい。
【0093】
また、この具体例では、第2の寿命情報送信部28が、寿命判断部26によって、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命のほうが、第2の寿命情報受信部24が受信した寿命情報に関する寿命よりも短いと判断された場合に、寿命情報の送信を行うと説明したが、前述のように、第2の寿命情報送信部28は、寿命判断部26によって短いと判断されたほうの寿命を示す寿命情報を、絶えず第1の情報処理装置1に送信してもよい。
【0094】
また、上記説明では、サーバ装置5が、図8で示されるように、P2P通信の残り時間を示す寿命情報を保持している場合について説明したが、サーバ装置5は、P2P通信の終了時点の時刻を示す寿命情報や、独自の指標でP2P通信の終了時点を示す寿命情報などを保持していてもよい。また、P2P通信の残り時間を所定のクロック周波数のカウント数などで示してもよい。独自の指標とは、例えば、度数であり、度数「1」が「1分」に対応していてもよい。ここで、サーバ装置5から寿命情報を第1の情報処理装置1に送信する場合に、その保持している寿命情報をそのまま送信してもよく、あるいは、その寿命情報を所定の形式に変換して送信してもよい。例えば、サーバ装置5は、保持している寿命情報がP2P通信の終了時点の時刻を示すものである場合に、その寿命情報を残り時間を示す寿命情報に変換して送信してもよい。
【0095】
以上のように、本実施の形態による情報処理システムによれば、P2P通信を行っている第1の情報処理装置1において第1の寿命情報記憶部12が記憶している寿命情報に関する寿命と、第2の情報処理装置2において第2の寿命情報記憶部22が記憶している寿命情報に関する寿命とを一致させることができ、どちらか一方の情報処理装置が先にP2P通信を終了させてしまう事態を回避することができる。また、第1の情報処理装置1で記憶されている寿命情報と、第2の情報処理装置2で記憶されている寿命情報とを、短いほうの寿命情報に一致させることによって、各情報処理装置において記憶されている寿命情報が、サーバ装置5で管理されている寿命情報よりも長くなってしまう可能性を少なくすることができうる。
【0096】
なお、本実施の形態では、第1の情報処理装置1、及び第2の情報処理装置2がそれぞれ通信処理装置3,4を介して通信を行う場合について説明したが、第1の情報処理装置1、及び/または、第2の情報処理装置2は、通信処理装置を介さないで通信を行ってもよい。
【0097】
また、本実施の形態では、第2の情報処理装置2が通信時間取得部25を備え、通信時間取得部25が取得した通信時間を用いて、寿命情報に関する判断や、寿命情報の変更を行う場合について説明したが、第2の情報処理装置2が通信時間取得部25を備えなくてもよい。第1の情報処理装置1と第2の情報処理装置2との間での通信時間が無視可能なぐらい小さい場合や、寿命情報がP2P通信の終了時点を時刻によって示す場合などには、通信時間を考慮する必要がないからである。
【0098】
また、本実施の形態では、第2の情報処理装置2が寿命情報を第1の情報処理装置1に送信する場合について説明したが、第2の情報処理装置2から第1の情報処理装置1への寿命情報の送信を行わなくてもよい。その場合には、第1の情報処理装置1は、第1の寿命情報受信部16を備えなくてもよい。また、第2の情報処理装置2は、第2の寿命情報
送信部28を備えなくてもよい。
【0099】
また、本実施の形態では、サーバ装置5とのP2P通信に関する通信の結果に基づいて寿命情報が送信された場合には、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命が、送信された寿命情報に関する寿命と同じになるように寿命情報が変更され、P2P通信を維持するために寿命情報が送信された場合には、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命と、送信された寿命情報に関する寿命とのうち、短いほうの寿命に関する寿命情報が第2の寿命情報記憶部22で記憶されるようにすると説明したが、第2の寿命変更部27は、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命が、第2の寿命情報受信部24が受信した寿命情報に関する寿命と同じになるように、第2の寿命情報記憶部22が記憶している寿命情報を変更するものであってもよく、あるいは、第2の寿命変更部27は、寿命判断部26により、第2の寿命情報受信部24が受信した寿命情報に関する寿命のほうが短いと判断された場合に、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命が、第2の寿命情報受信部24が受信した寿命情報に関する寿命と同じになるように、第2の寿命情報記憶部22が記憶している寿命情報を変更するものであってもよい。前者の場合には、第1の情報処理装置1は、本実施の形態で説明したように、寿命通信部15と、第1の寿命変更部17とを備えるものであってもよく、あるいは、それらを備えないものであってもよい。後者の場合に、第1の寿命情報送信部14は、P2P通信を維持するために寿命情報を送信するものであってもよく、あるいは、そうでなくてもよい。または、第2の寿命変更部27は、それ以外の方法によって寿命情報の変更を行ってもよい。例えば、第2の寿命情報受信部24が受信した寿命情報に関する寿命と、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命との差が所定のしきい値以上ある場合に、第2の寿命情報記憶部22が記憶している寿命情報に関する寿命が、第2の寿命情報受信部24が受信した寿命情報に関する寿命と同じになるように、第2の寿命情報記憶部22が記憶している寿命情報を変更するものであってもよい。
【0100】
また、本実施の形態では、寿命通信部15が、サーバ装置5で管理されているP2P通信の寿命と、第1の情報処理装置1で管理されているP2P通信の寿命とが同じにするための通信と、P2P通信の寿命を延長するための通信とを行う場合について説明したが、寿命通信部15は、どちらかの通信を行わないものであってもよく、あるいは、それ以外のP2P通信の寿命に関する通信をサーバ装置5と行うものであってもよい。
【0101】
また、寿命通信部15が、サーバ装置5とP2P通信の寿命に関する通信を行い、その通信の結果に基づいて寿命情報が変更される場合に、第1の情報処理装置1とサーバ装置5との間の通信時間を考慮して寿命情報の変更を行ってもよい。
【0102】
また、本実施の形態では、第1の寿命情報送信部14は、第1の寿命情報記憶部12が記憶している寿命情報を送信する場合について説明したが、第1の寿命情報送信部14は、例えば、寿命通信部15がサーバ装置5から送信された寿命情報を受信した場合に、その寿命情報を送信してもよい。この場合であっても、寿命通信部15が受信した寿命情報は、第1の寿命変更部17によって第1の寿命情報記憶部12に蓄積されるため、第1の寿命情報送信部14が送信した寿命情報は、第1の寿命情報記憶部12が記憶している寿命情報と同一のものとなる。したがって、この場合も、第1の寿命情報送信部14が第1の寿命情報記憶部12によって記憶されている寿命情報を第2の情報処理装置2に送信したことに含まれているものとする。
【0103】
また、本実施の形態において、第1の情報処理装置1、及び第2の情報処理装置2において保持されている寿命情報がP2P通信の終了時点を終了時刻によって示すものである場合には、第1の情報処理装置1から第2の情報処装置2に、その寿命情報と共に、両装
置間で、現在時刻を同期させるための情報を送信してもよい。現在時刻を同期させるための情報とは、例えば、タイムサーバにアクセスして、現在時刻をタイムサーバに同期させる指示であってもよく、第1の情報処理装置1が保持している現在時刻そのものであってもよい。
【0104】
また、本実施の形態では、寿命情報記憶部が記憶している寿命情報がP2P通信の残り時間や度数等である場合に、寿命制御部が時間の経過に応じてその寿命情報を更新する場合について説明したが、その寿命情報の更新は、他の構成要素によってなされてもよい。
【0105】
また、本実施の形態では、第1の情報処理装置1と第2の情報処理装置2との間における寿命情報の送受信をP2P通信によって行う場合について説明したが、その寿命情報の送受信をP2P通信ではなく、例えば、リレーサーバ等を介して行ってもよい。すなわち、第1の寿命情報送信部14が寿命情報を第2の情報処理装置2に送信することや、第2の寿命情報送信部28が寿命情報を第1の情報処理装置1に送信することには、リレーサーバ等を経由して寿命情報を第2の情報処理装置2や第1の情報処理装置1に送信することを含むものとする。このように、第1の寿命情報送信部14及び第2の寿命情報送信部28は、P2P通信によって寿命情報を送信するものでなくてもよい。ここで、寿命情報の送信で用いるリレーサーバとしては、例えば、SIP(Session Initiation Protocol)のサーバや、H.323のサーバなど、既存のリレーサーバ等を用いることができる。そのリレーサーバにおけるデータリレーの動作については公知であり、その説明を省略する。
【0106】
また、本実施の形態では、第2の情報処理装置2において通信時間を取得し、その通信時間を考慮して寿命情報の変更や寿命の判断を行う場合について説明したが、これは一例であって、通信時間の考慮を第1の情報処理装置1において行ってもよい。例えば、図10で示されるように、第1の情報処理装置1aが通信時間取得部18を備え、第1の寿命情報送信部14aは、通信時間取得部18が取得した第1の情報処理装置1aと第2の情報処理装置2との間の通信時間に基づいて、寿命情報の送信を行ってもよい。ここで、第1の情報処理装置1aは、通信時間取得部18をさらに備え、第1の寿命情報送信部14に代えて第1の寿命情報送信部14aを備える以外、本実施の形態における第1の情報処理装置1と同様であるとする。また、通信時間取得部18は、通信時間取得部25と同様に、第1の情報処理装置1aと、第2の情報処理装置2との間の通信時間を取得するものとする。また、第1の寿命情報送信部14aによる「通信時間取得部18が取得した通信時間に基づいた寿命情報の送信」とは、通信時間を考慮して寿命情報を送信する、という意味である。第1の寿命情報送信部14aは、例えば、第1の寿命情報記憶部12が記憶している寿命情報の示す寿命が残り時間を示すものである場合に、その残り時間から通信時間を引いた寿命情報を送信してもよい。ここで、第1の寿命情報記憶部12が記憶している寿命情報の第2の情報処理装置2への送信には、このように、第1の寿命情報記憶部12が記憶している寿命情報に対して通信時間を考慮した寿命情報を送信することを含むものとする。なお、この場合には、第2の情報処理装置2において、通信時間取得部25が取得した通信時間を用いないようにしてもよい。また、第2の情報処理装置2は、通信時間取得部25を備えなくてもよい。
【0107】
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0108】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒
体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。なお、上記実施の形態における第1の情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムにおける前記第1の情報処理装置における処理を実行させるためのプログラムであって、寿命情報記憶部が記憶している前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報に基づいて、前記ピアー・ツー・ピアー通信を制御する寿命制御ステップと、前記寿命情報記憶部が記憶している寿命情報を前記第2の情報処理装置に送信する寿命情報送信ステップと、を実行させるためのものである。
【0109】
なお、上記実施の形態における第2の情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムにおける前記第2の情報処理装置における処理を実行させるためのプログラムであって、寿命情報記憶部が記憶している前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報に基づいて、前記ピアー・ツー・ピアー通信を制御する寿命制御ステップと、前記第1の情報処理装置から送信された寿命情報を受信する寿命情報受信ステップと、前記寿命情報受信ステップで受信した寿命情報に基づいて、前記寿命情報記憶部が記憶している寿命情報を変更する寿命変更ステップと、を実行させるためのものである。
【0110】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0111】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
【0112】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0113】
以上より、本発明による情報処理システム等では、第1の情報処理装置と第2の情報処理装置との間でP2P通信に関する寿命を一致させることができ、装置間でP2P通信を行う2個の情報処理装置を有する情報処理システム等において有用である。
【図面の簡単な説明】
【0114】
【図1】本発明の実施の形態1による情報処理システムの構成を示す図
【図2】同実施の形態による第1の情報処理装置の構成を示すブロック図
【図3】同実施の形態による第2の情報処理装置の構成を示すブロック図
【図4】同実施の形態による第1の情報処理装置の動作を示すフローチャート
【図5】同実施の形態による第2の情報処理装置の動作を示すフローチャート
【図6】同実施の形態における第1の情報処理装置と第2の情報処理装置との間でのP2P通信の開始に関する処理を説明するためのフローチャート
【図7】同実施の形態におけるサーバ装置で管理される装置識別子とアドレス等との対応の一例を示す図
【図8】同実施の形態におけるサーバ装置で管理される装置識別子とアドレス等との対応の一例を示す図
【図9】(a)同実施の形態におけるパケットの一例を示す図、(b)パケットの一例を示す図
【図10】同実施の形態による第1の情報処理装置の構成を示すブロック図
【符号の説明】
【0115】
1、1a 第1の情報処理装置
2 第2の情報処理装置
3,4 通信処理装置
5 サーバ装置
11 第1の通信部
12 第1の寿命情報記憶部
13 第1の寿命制御部
14、14a 第1の寿命情報送信部
15 寿命通信部
16 第1の寿命情報受信部
17 第1の寿命変更部
18、25 通信時間取得部
21 第2の通信部
22 第2の寿命情報記憶部
23 第2の寿命制御部
24 第2の寿命情報受信部
26 寿命判断部
27 第2の寿命変更部
28 第2の寿命情報送信部

【特許請求の範囲】
【請求項1】
装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムであって、
前記第1の情報処理装置は、
前記第2の情報処理装置とピアー・ツー・ピアー通信を行う第1の通信部と、
前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報を記憶している第1の寿命情報記憶部と、
前記第1の寿命情報記憶部が記憶している寿命情報に基づいて、前記第1の通信部が行うピアー・ツー・ピアー通信を制御する第1の寿命制御部と、
前記第1の寿命情報記憶部が記憶している寿命情報を前記第2の情報処理装置に送信する第1の寿命情報送信部と、を備え、
前記第2の情報処理装置は、
前記第1の情報処理装置とピアー・ツー・ピアー通信を行う第2の通信部と、
前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報を記憶している第2の寿命情報記憶部と、
前記第2の寿命情報記憶部が記憶している寿命情報に基づいて、前記第2の通信部が行うピアー・ツー・ピアー通信を制御する第2の寿命制御部と、
前記第1の情報処理装置から送信された寿命情報を受信する第2の寿命情報受信部と、
前記第2の寿命情報受信部が受信した寿命情報に基づいて、前記第2の寿命情報記憶部が記憶している寿命情報を変更する第2の寿命変更部と、を備えた、情報処理システム。
【請求項2】
前記第1の寿命情報送信部は、前記ピアー・ツー・ピアー通信によって前記寿命情報を送信する、請求項1記載の情報処理システム。
【請求項3】
前記第2の寿命変更部は、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更する、請求項1または2記載の情報処理システム。
【請求項4】
前記ピアー・ツー・ピアー通信の寿命を管理するサーバ装置をさらに備え、
前記第1の情報処理装置は、
前記サーバ装置と前記ピアー・ツー・ピアー通信の寿命に関する通信を行う寿命通信部と、
前記寿命通信部と、前記サーバ装置との前記ピアー・ツー・ピアー通信の寿命に関する通信の結果に基づいて、前記第1の寿命情報記憶部が記憶している寿命情報を変更する第1の寿命変更部と、をさらに備えた、請求項3記載の情報処理システム。
【請求項5】
前記寿命通信部は、前記サーバ装置で管理されている前記ピアー・ツー・ピアー通信の寿命と、前記第1の寿命情報記憶部が記憶している寿命情報に関する寿命とを同じにするための通信を行う、請求項4記載の情報処理システム。
【請求項6】
前記寿命通信部は、前記ピアー・ツー・ピアー通信の寿命を延長するための通信を行う、請求項4記載の情報処理システム。
【請求項7】
前記第2の情報処理装置は、
前記第2の寿命情報受信部が受信した寿命情報に関する寿命と、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命との長短を判断する寿命判断部をさらに備え、
前記第2の寿命変更部は、前記寿命判断部により、前記第2の寿命情報受信部が受信した寿命情報に関する寿命のほうが短いと判断された場合に、前記第2の寿命情報記憶部が記
憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更する、請求項1または2記載の情報処理システム。
【請求項8】
前記第2の情報処理装置は、
前記寿命判断部により短いと判断されたほうの寿命を示す寿命情報を前記第1の情報処理装置に送信する第2の寿命情報送信部をさらに備え、
前記第1の情報処理装置は、
前記第2の寿命情報送信部から送信された寿命情報を受信する第1の寿命情報受信部と、前記第1の寿命情報受信部が受信した寿命情報に基づいて、前記第1の寿命情報記憶部が記憶している寿命情報を変更する第1の寿命変更部と、をさらに備えた、請求項7記載の情報処理システム。
【請求項9】
前記第2の寿命情報送信部は、前記寿命情報を前記ピアー・ツー・ピアー通信によって送信する、請求項8記載の情報処理システム。
【請求項10】
前記第1の寿命変更部は、前記第1の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第1の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第1の寿命情報記憶部が記憶している寿命情報を変更する、請求項8または9記載の情報処理システム。
【請求項11】
前記第2の寿命情報送信部は、前記寿命判断部により、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命のほうが、前記第2の寿命情報受信部が受信した寿命情報に関する寿命よりも短いと判断された場合に、前記寿命情報の送信を行う、請求項8から10のいずれか記載の情報処理システム。
【請求項12】
前記第1の情報処理装置は、通信に関する処理を行う通信処理装置を介して通信を行うものであり、
前記第1の寿命情報送信部が送信する寿命情報は、前記通信処理装置におけるポートを維持するために反復して送信される、請求項1から3、7から11のいずれか記載の情報処理システム。
【請求項13】
前記ピアー・ツー・ピアー通信の寿命を管理するサーバ装置をさらに備え、
前記第1の情報処理装置は、
前記サーバ装置と前記ピアー・ツー・ピアー通信の寿命に関する通信を行う寿命通信部と、
前記寿命通信部と、前記サーバ装置との前記ピアー・ツー・ピアー通信の寿命に関する通信の結果に基づいて、前記第1の寿命情報記憶部が記憶している寿命情報を変更する第1の寿命変更部と、をさらに備え、
前記第2の情報処理装置は、
前記第2の寿命情報受信部が受信した寿命情報に関する寿命と、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命との長短を判断する寿命判断部をさらに備え、
前記第2の寿命変更部は、
前記第1の寿命情報送信部が、前記寿命通信部と前記サーバ装置との前記ピアー・ツー・ピアー通信の寿命に関する通信の結果に基づいて変更された寿命情報を送信した場合には、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更し、前記第1の寿命情報送信部が、前記ピアー・ツー・ピアー通信を維持するために前記寿命情報を送信した場合には、前記寿命判断部により、前記第2の寿命情報受信部が受信した寿命情報に関する寿命のほうが短いと判断されたと
きに、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第2の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第2の寿命情報記憶部が記憶している寿命情報を変更する、請求項1または2記載の情報処理システム。
【請求項14】
前記第1の情報処理装置は、通信に関する処理を行う通信処理装置を介して通信を行うものであり、
前記ピアー・ツー・ピアー通信を維持するためとは、前記通信処理装置におけるポートを維持するためである、請求項13記載の情報処理システム。
【請求項15】
前記第2の情報処理装置は、
前記寿命判断部により短いと判断されたほうの寿命を示す寿命情報を前記第1の情報処理装置に送信する第2の寿命情報送信部をさらに備え、
前記第1の情報処理装置は、
前記第2の寿命情報送信部から送信された寿命情報を受信する第1の寿命情報受信部をさらに備え、
前記第1の寿命変更部は、
前記寿命通信部と前記サーバ装置と通信の結果に基づいて、前記第1の寿命情報記憶部が記憶している寿命情報を変更すると共に、前記第1の寿命情報記憶部が記憶している寿命情報に関する寿命が、前記第1の寿命情報受信部が受信した寿命情報に関する寿命と同じになるように、前記第1の寿命情報記憶部が記憶している寿命情報を変更する、請求項13または14記載の情報処理システム。
【請求項16】
前記第2の寿命情報送信部は、前記寿命情報を前記ピアー・ツー・ピアー通信によって送信する、請求項15記載の情報処理システム。
【請求項17】
前記第2の寿命情報送信部は、前記寿命判断部により、前記第2の寿命情報記憶部が記憶している寿命情報に関する寿命のほうが、前記第2の寿命情報受信部が受信した寿命情報に関する寿命よりも短いと判断された場合に、前記寿命情報の送信を行う、請求項15または16記載の情報処理システム。
【請求項18】
前記第2の情報処理装置は、
前記第1の情報処理装置と、前記第2の情報処理装置との間の通信時間を取得する通信時間取得部をさらに備え、
前記第2の寿命変更部は、前記通信時間取得部が取得した通信時間を用いて、前記寿命情報の変更を行う、請求項1から17のいずれか記載の情報処理システム。
【請求項19】
前記第2の情報処理装置は、
前記第1の情報処理装置と、前記第2の情報処理装置との間の通信時間を取得する通信時間取得部をさらに備え、
前記第2の寿命変更部は、前記通信時間取得部が取得した通信時間を用いて、前記寿命情報の変更を行い、
前記寿命判断部は、前記通信時間取得部が取得した通信時間を用いて、前記判断を行う、請求項7から11、13から17のいずれか記載の情報処理システム。
【請求項20】
前記第1の情報処理装置は、
前記第1の情報処理装置と、前記第2の情報処理装置との間の通信時間を取得する通信時間取得部をさらに備え、
前記第1の寿命情報送信部は、前記通信時間取得部が取得した通信時間に基づいて、前記寿命情報の送信を行う、請求項1から17のいずれか記載の情報処理システム。
【請求項21】
請求項1から20のいずれか記載の情報処理システムを構成する第1の情報処理装置。
【請求項22】
請求項1から20のいずれか記載の情報処理システムを構成する第2の情報処理装置。
【請求項23】
装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムにおける前記第1の情報処理装置で用いられる情報処理方法であって、
寿命情報記憶部が記憶している前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報に基づいて、前記ピアー・ツー・ピアー通信を制御する寿命制御ステップと、
前記寿命情報記憶部が記憶している寿命情報を前記第2の情報処理装置に送信する寿命情報送信ステップと、を備えた情報処理方法。
【請求項24】
装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムにおける前記第2の情報処理装置で用いられる情報処理方法であって、
寿命情報記憶部が記憶している前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報に基づいて、前記ピアー・ツー・ピアー通信を制御する寿命制御ステップと、
前記第1の情報処理装置から送信された寿命情報を受信する寿命情報受信ステップと、
前記寿命情報受信ステップで受信した寿命情報に基づいて、前記寿命情報記憶部が記憶している寿命情報を変更する寿命変更ステップと、を備えた情報処理方法。
【請求項25】
コンピュータに、
装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムにおける前記第1の情報処理装置における処理を実行させるためのプログラムであって、
寿命情報記憶部が記憶している前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報に基づいて、前記ピアー・ツー・ピアー通信を制御する寿命制御ステップと、
前記寿命情報記憶部が記憶している寿命情報を前記第2の情報処理装置に送信する寿命情報送信ステップと、を実行させるためのプログラム。
【請求項26】
コンピュータに、
装置間でピアー・ツー・ピアー通信を行う第1の情報処理装置と、第2の情報処理装置とを備えた情報処理システムにおける前記第2の情報処理装置における処理を実行させるためのプログラムであって、
寿命情報記憶部が記憶している前記ピアー・ツー・ピアー通信の寿命に関する情報である寿命情報に基づいて、前記ピアー・ツー・ピアー通信を制御する寿命制御ステップと、
前記第1の情報処理装置から送信された寿命情報を受信する寿命情報受信ステップと、
前記寿命情報受信ステップで受信した寿命情報に基づいて、前記寿命情報記憶部が記憶している寿命情報を変更する寿命変更ステップと、を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−244208(P2006−244208A)
【公開日】平成18年9月14日(2006.9.14)
【国際特許分類】
【出願番号】特願2005−60113(P2005−60113)
【出願日】平成17年3月4日(2005.3.4)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】