(実施の形態1)
本発明の実施の形態1による情報処理システムについて、図面を参照しながら説明する。
図1は、本実施の形態による情報処理システムの構成を示すブロック図である。図1において、本実施の形態による情報処理システムは、情報処理装置1と、通信処理装置2と、サーバ装置3とを備える。図1では、1つの情報処理装置1が通信処理装置2に接続されている場合について記載しているが、2以上の情報処理装置が通信処理装置2に接続されていてもよい。情報処理装置1は、例えば、コンピュータ、電子レンジ、電話機、プリンタ、ファクシミリ装置、冷蔵庫、洗濯機、空調装置、テレビ、映像録画装置、セットトップボックス等である。通信処理装置2と、サーバ装置3とは、有線または無線の通信回線4を介して接続されている。通信回線4は、例えば、インターネットやイントラネットなどである。
情報処理装置1は、要求パケット送信部11と、返信パケット受信部12と、ポート維
持時間検出部13と、要求パケット送信制御部14とを備える。
要求パケット送信部11は、1以上の要求パケットを、通信処理装置2の1つのポートを介してサーバ装置3に送信する。ここで、要求パケットとは、サーバ装置3に対して、返信パケットの送信を要求するパケットである。この要求パケットは、例えば、UDPヘッダを有するパケットである。なお、要求パケットのペイロードには、待ち時間情報が含まれている。ここで、待ち時間情報とは、サーバ装置3における要求パケットの受信から返信パケットの送信までの待ち時間に関する情報である。この待ち時間情報は、例えば、待ち時間を示す情報(例えば、待ち時間が2分であることを示す情報)であってもよく、あるいは、待ち時間と所定の関係を有する情報(例えば、待ち時間が1分58秒である場合に、それに2秒を足した2分を示す情報)であってもよい。本実施の形態では、前者の場合について説明する。また、返信パケットとは、サーバ装置3から通信処理装置2を介して情報処理装置1に送信されるパケットである。その返信パケットを情報処理装置1が受信できるかどうかによって、通信処理装置2におけるポート維持時間が検出される(これらについては後述する)。なお、要求パケット送信部11は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、要求パケット送信部11の外部に図示しない送信デバイスが存在することとなる)。また、要求パケット送信部11は、ハードウェアによって実現されてもよく、あるいは、送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
返信パケット受信部12は、サーバ装置3から送信された返信パケットを受信する。この返信パケットは、要求パケットの通過した通信処理装置2のポートを介して送信されたものである。なお、後述するように、返信パケット受信部12は、サーバ装置3から送信されたすべての返信パケットを受信するわけではない。サーバ装置3から送信された返信パケットのうち、要求パケットの通過したポートのポート維持時間が経過した後に、通信処理装置2に送信された返信パケットは、通信処理装置2から情報処理装置1に対して送信されないからである。返信パケット受信部12は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、返信パケット受信部12の外部に図示しない受信デバイスが存在することとなる)。また、返信パケット受信部12は、ハードウェアによって実現されてもよく、あるいは、受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
ポート維持時間検出部13は、返信パケット受信部12が受信した返信パケットに基づいて、通信処理装置2のポート維持時間を検出する。本実施の形態におけるポート維持時間の検出は、返信パケット受信部12によって受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間に基づいてなされる。ここで、「返信パケットに対応する待ち時間」とは、その返信パケットの送信を要求した要求パケットに含まれる待ち時間情報に対応した待ち時間のことである。また、「一番長い待ち時間に基づいて」とは、一番長い待ち時間をポート維持時間として検出してもよく、一番長い待ち時間とは異なる時間をポート維持時間として検出してもよい。「一番長い待ち時間とは異なる時間」とは、例えば、一番長い待ち時間に対して、情報処理装置1とサーバ装置3との間のパケット往復時間を考慮した時間などである。なお、パケット往復時間の考慮については、後述する実施の形態3で説明する。また、以下の説明において、「ポート維持時間」は、ポート維持時間検出部13によって検出されたポート維持時間を示す情報を指すこともある。
ポート維持時間検出部13が検出するポート維持時間は、通信処理装置2のポート維持時間そのものであってもよく、あるいは、通信処理装置2のポート維持時間よりも短い時間であってもよい。例えば、通信処理装置2のポート維持時間が2分である場合に、ポート維持時間検出部13は、通信処理装置2のポート維持時間を1分50秒と検出してもよ
い。なお、ポート維持時間検出部13が検出したポート維持時間は、パケットを定期的に送信する送信部(図示せず)に対してパケットを送信する周期として設定されてもよく、所定の記録媒体等に蓄積されてもよく、他の装置等に送信されてもよく、表示デバイス等に表示されてもよい。このように、検出されたポート維持時間の用途は問わない。
要求パケット送信制御部14は、返信パケット受信部12による返信パケットの受信の有無に基づいて、要求パケット送信部11による要求パケットの送信を制御する。要求パケット送信部11による要求パケットの送信の制御とは、例えば、要求パケット送信部11が送信する要求パケットに含まれる待ち時間情報の設定、要求パケット送信部11による要求パケットの送信タイミングの制御などである。この処理の詳細については、後述する。
通信処理装置2は、情報処理装置1とサーバ装置3との間の通信に関する処理を行う。本実施の形態による通信処理装置2は、NAT機能を有するものであり、例えば、ルータと呼ばれるものである。本実施の形態による通信処理装置2は、情報処理装置1から送信されるパケットに含まれる送信元のアドレス情報(すなわち、情報処理装置1のアドレス情報)を、通信処理装置2のWAN側のアドレス情報に変換する。
具体的には、情報処理装置1から送信されるパケットに含まれるソース(送信元)アドレス(プライベートIPアドレスであり、アドレスAとする)、ソース(送信元)ポート番号(ポート番号Bとする)を、通信処理装置2のWAN側のグローバルIPアドレス(アドレスXとする)、ポート番号(ポート番号Yとする)に変換する。また、サーバ装置3から通信処理装置2のWAN側のアドレスX、ポート番号Yに送信されたパケットは、送信先のアドレスX、ポート番号Yが情報処理装置1のアドレスA、ポート番号Bに変換され、情報処理装置1に送信される。ここで、グローバルIPアドレスとは、ある情報処理装置が外部の装置(例えば、WAN(インターネットなど)に接続されている外部の装置など)と通信するためのアドレスである。したがって、一般にはWANで使用されるアドレスであるが、ある電子機器がNAT機能を有するルータを介してLAN(例えば、イントラネットなど)に接続されている装置と通信を行う場合に、そのLANで使用されるアドレスであってもよい。そのIPアドレスは、例えば、現在のいわゆるIPv4のアドレスであってもよく、あるいは、IPv6のアドレスなどの他のバージョンのアドレスであってもよい。
なお、通信処理装置2において、受信フィルタルールが設定されている場合には、その受信フィルタルールに基づいたパケットの受信が行われる。受信フィルタルールには、パケットの送信先のアドレス及びポート番号をそれぞれ、アドレスP、ポート番号Qとすると、例えば、通信処理装置2のLAN側からWAN側に対して、送信先のアドレス、ポート番号が、それぞれアドレスP、ポート番号Qであるパケットが送信された場合に、アドレスPからのパケットしか受信しないAddress Sensitiveフィルタ、ポート番号Qからのパケットしか受信しないPort Sensitiveフィルタ、フィルタが存在しないNoフィルタ(どのアドレス、どのポート番号からのパケットも受信する)がある。ここで、通信処理装置2がパケットを受信するとは、LAN側の情報処理装置1から送信されたパケットに対して割り当てた通信処理装置2のポートにおいて、WAN側からのパケットを受け付け、アドレス変換を行い、そのパケットをLAN側の情報処理装置1に対して送信することである。
上記従来例でも記載したように、この通信処理装置2のアドレス変換の行われる期間には、所定の制限がある。すなわち、アドレスA、ポート番号Bと、アドレスX、ポート番号Yとの間でのアドレス変換は、両者間で最後にアドレス変換が行われてから、通信処理装置2のポート維持時間が経過した時点で行われなくなる。したがって、そのポート維持
時間が経過した後に、アドレスX、ポート番号Yに対して、通信回線4を介してパケットが送信されたとしても、通信処理装置2においてアドレス変換がなされず、情報処理装置1は、そのパケットを受信することはできない。
サーバ装置3は、要求パケット受信部31と、返信パケット送信部32と、返信パケット送信制御部33とを備える。
要求パケット受信部31は、情報処理装置1から通信処理装置2の所定のポートを介して送信された要求パケットを受信する。なお、要求パケット受信部31は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、要求パケット受信部31の外部に図示しない受信デバイスが存在することとなる)。また、要求パケット受信部31は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
返信パケット送信部32は、返信パケットを、要求パケット受信部31が受信し、その返信パケットの送信を要求した要求パケットの通過した通信処理装置2のポートに対して送信する。この返信パケットの送信は、後述する返信パケット送信制御部33の制御に基づいて行われる。この返信パケットは、例えば、UDPヘッダを有するパケットである。この返信パケットのペイロードには、例えば、要求パケット受信部31が受信した要求パケットを識別する情報(例えば、待ち時間情報や、その他の識別情報)が含まれていてもよい。なお、返信パケット送信部32は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、返信パケット送信部32の外部に図示しない送信デバイスが存在することとなる)。また、返信パケット送信部32は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
返信パケット送信制御部33は、要求パケット受信部31が受信した要求パケットに基づいて、返信パケット送信部32による返信パケットの送信を制御する。本実施の形態では、返信パケット送信制御部33は、要求パケットに含まれる待ち時間情報に基づいて、返信パケットの送信を制御する。返信パケット送信制御部33は、要求パケットに含まれる待ち時間情報が、例えば、待ち時間を示す情報(例えば、待ち時間が2分であることを示す情報)である場合には、要求パケット受信部31が要求パケットを受信してから、その待ち時間情報の示す待ち時間(例えば2分)が経過した時に、返信パケットを送信するように返信パケット送信部32を制御し、要求パケットに含まれる待ち時間情報が、例えば、待ち時間と所定の関係を有する情報(例えば、待ち時間が1分58秒である場合に、それに2秒を足した2分を示す情報)である場合には、要求パケット受信部31が要求パケット受信してから、その待ち時間情報に応じた待ち時間(例えば1分58秒)が経過した時に、返信パケットを送信するように返信パケット送信部32を制御する。ここで、待ち時間が経過した時とは、待ち時間が経過した厳密な時点であってもよく、あるいは、その待ち時間が経過した厳密な時点から制御に関する時間などが経過した時点であってもよい。
次に、本実施の形態による情報処理システムの動作について、フローチャートを用いて説明する。図2のフローチャートは、本実施の形態による情報処理装置1の動作を示すフローチャートである。
(ステップS101)要求パケット送信制御部14は、要求パケット送信部11が送信する要求パケットに対応する待ち時間を設定する。ここで、待ち時間を設定するとは、例えば、所定のメモリ等に待ち時間を記録することなどである。
(ステップS102)要求パケット送信部11は、ステップS101、あるいは後述す
るステップS107で設定された待ち時間に応じた待ち時間情報を有する要求パケットを、サーバ装置3に送信する。
(ステップS103)返信パケット受信部12は、ステップS102で送信された要求パケットに対してサーバ装置3から送信された返信パケットを受信したかどうか判断する。そして、返信パケットを受信した場合には、ステップS104に進み、そうでない場合には、ステップS105に進む。
(ステップS104)返信パケット受信部12は、受信した返信パケットに基づいて、所定の受信処理を行う。ここで、所定の受信処理とは、例えば、受信した返信パケット、もしくは、その返信パケットに含まれる待ち時間情報をポート維持時間検出部13と、要求パケット送信制御部14とに渡すこと、または、受信した返信パケットに含まれる待ち時間情報を所定のメモリで記憶することなどである。
(ステップS105)要求パケット送信制御部14は、タイムアウトであるかどうか判断する。ここで、タイムアウトとは、要求パケット送信部11が要求パケットに対応する返信パケットを受信するはずのタイミングがすでに経過したことをいう。例えば、要求パケット送信部11が要求パケットを送信してから、その要求パケットに含まれる待ち時間情報に関する待ち時間が経過した時点でタイムアウトと判断してもよく、要求パケットが通信処理装置2からサーバ装置3に到達する時間や、返信パケットがサーバ装置3から通信処理装置2に到達する時間、あるいは何らかのトラブルによって返信パケットの送信が遅れる場合などを想定して、要求パケット送信部11が要求パケットを送信してから、その要求パケットに含まれる待ち時間情報に関する待ち時間に所定の時間(例えば、1,2秒など)を加算した時間が経過した時点でタイムアウトと判断してもよい。タイムアウトである場合には、ステップS106に進み、そうでない場合には、ステップS103に戻る。
(ステップS106)要求パケット送信制御部14は、ポート維持時間を検出するかどうか判断する。ポート維持時間を検出する場合には、その旨をポート維持時間検出部13に伝えてステップS108に進み、そうでない場合には、ステップS107に進む。
(ステップS107)要求パケット送信制御部14は、新たに送信する要求パケットに対応する待ち時間を設定する。例えば、前回に送信した要求パケットに対応する待ち時間よりも長い時間を設定する。そして、ステップS102に戻る。
(ステップS108)ポート維持時間検出部13は、それまでに返信パケット受信部12によって受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間に基づいて、ポート維持時間を検出する。そして、通信処理装置2のポート維持時間を検出する一連の処理は終了となる。
次に、図3のフローチャートを用いて、サーバ装置3の動作について説明する。
(ステップS201)要求パケット受信部31は、要求パケットを受信したかどうか判断する。そして、要求パケットを受信した場合には、ステップS202に進み、そうでない場合には、ステップS203に進む。
(ステップS202)返信パケット送信制御部33は、要求パケット受信部31が受信した要求パケットについて計時を開始する。例えば、返信パケット送信制御部33は、受信された要求パケットに含まれる待ち時間情報に応じた待ち時間を計時するためのタイマをスタートさせる。そして、ステップS201に戻る。
(ステップS203)返信パケット送信制御部33は、返信パケットを送信するタイミ
ングであるかどうか判断する。ここで、返信パケットを送信するタイミングであるかどうかは、例えば、ステップS202における計時の開始から、待ち時間情報に応じた待ち時間が経過したかどうかによって判断される。そして、返信パケットを送信するタイミングである場合には、ステップS204に進み、そうでない場合には、ステップS201に戻る。
(ステップS204)返信パケット送信部32は、返信パケットを送信する。この返信パケットには、例えば、要求パケット受信部31が受信した要求パケットに含まれる待ち時間情報などが含まれる。そして、ステップS201に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。この具体例において、待ち時間を増加させていくことによってポート維持時間を検出する場合(具体例1)、待ち時間を増加させていき、返信パケットを受け付けることができた待ち時間と、返信パケットを受け付けることができなかった待ち時間との間において、さらに細かく要求パケットを送信することによって、ポート維持時間を検出する場合(具体例2)、待ち時間を増加させていき、返信パケットを受け付けることができた待ち時間と、返信パケットを受け付けることができなかった待ち時間との間において、二分探索法によってポート維持時間を検出する場合(具体例3)についてそれぞれ説明する。
図4(a)、(b)は、以下の具体例における要求パケットと、返信パケットとの構成を示す図である。要求パケット、返信パケットは、ともにUDPヘッダを有しており、ペイロードには、待ち時間情報が含まれている。返信パケットに含まれる待ち時間情報は、その返信パケットの送信を要求した要求パケットのペイロードに含まれている待ち時間情報と同じものであるとする。
図5は、以下の具体例における要求パケットと、返信パケットとが通過するポートについて説明するための図である。図5で示されるように、情報処理装置1から送信される要求パケットは、ポートP1から送信される。そして、その要求パケットは、通信処理装置2のWAN側のポートP2を通過し、サーバ装置3のポートP3で受信される。
ここで、要求パケットが通過する通信処理装置2のポートP2は、そのポートP2を初回の要求パケットが通過する時に、通信処理装置2において新たに割り当てられるものである。すなわち、他の情報処理装置やサーバ装置との通信で用いられていない通信処理装置2のポートを用いて要求パケットの送信を行うことが大切である。そうでなければ、例えば、ポートP2がそれまでに他の用途のために用いられており、要求パケットの送信から返信パケットの送信までに、ポートP2を介して他の通信が行われた場合には、正確なポート維持時間の検出を行うことができないからである。なお、ポートP2が、初回の要求パケットが通過する時に、通信処理装置2において新たに割り当てられるものであるようにするためには、例えば、情報処理装置1のポートP1として、新たなポート(それまでに他の通信で用いていないポート)を用いればよい。
情報処理装置1から送信された要求パケットに対応して送信される返信パケットは、要求パケットを受信したポートP3から送信される。ポート維持時間が経過していない場合には、その返信パケットは、通信処理装置2のポートP2を通過して情報処理装置1のポートP1で受信される。一方、ポート維持時間が経過している場合には、通信処理装置2から情報処理装置1に返信パケットは送信されない。図5からわかるように、本実施の形態による情報処理システムでは、通信処理装置2の1つのポートP2を、要求パケット、及び返信パケットが通過する。なお、ポートP2に関するポート維持時間が経過した後に
、ポートP1からポートP3に対して要求パケットが送信された場合には、通信処理装置2において新たなポート(例えば、ポートP2と異なるポートP4など)が割り当てられることもあり、あるいは、再度ポートP2が用いられることもある。これは、通信処理装置2の仕様に依存する。ただし、いずれの場合であっても処理自体に大きな違いはないので(ポートP2がポートP4などに変わるだけであるので)、説明の便宜上、ポート維持時間の経過後に情報処理装置1のポートP1から送信された要求パケットに対して、ポートP2が割り当てられる場合について説明する。
また、情報処理装置1、通信処理装置2、サーバ装置3の各IPアドレスは、以下のとおりであるとする。なお、通信処理装置2のIPアドレスは、WAN側のアドレスである。また、通信処理装置2のポート維持時間は、1分18秒であるとする。
情報処理装置1:192.168.0.1
通信処理装置2:202.132.10.6
サーバ装置3:155.32.10.10
[具体例1]
この具体例では、要求パケット送信制御部14が、返信パケット受信部12によって返信パケットが受信された場合に、その返信パケットに対応する待ち時間よりも長い待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部11を制御するものとする。
ポート維持時間を検出するタイミング(例えば、情報処理装置1の初回の起動時や、通信処理装置2を取り替えたことなどに起因するリセット時など)であると判断すると、情報処理装置1の要求パケット送信制御部14は、待ち時間を30秒に設定する(ステップS101)。すると、要求パケット送信部11は、待ち時間が30秒であることを示す待ち時間情報を構成し、その待ち時間情報をペイロードに有するUDPの要求パケットをサーバ装置3のIPアドレス155.32.10.10のポートP3に向けて送信する(ステップS102)。その後、情報処理装置1では、その要求パケットに対応する返信パケットが受信されるか、タイムアウトとなるまで、返信パケットの受信を待つ処理が行われる(ステップS103、S105)。
情報処理装置1から送信された要求パケットは、通信処理装置2において、ソースアドレスが192.168.0.1から202.132.10.6に変換され、ソースポートがポートP1からポートP2に変換され、サーバ装置3のポートP3に送信される。その要求パケットは、サーバ装置3の要求パケット受信部31で受信される(ステップS201)。そして、返信パケット送信制御部33において、タイマがスタートされる(ステップS202)。そのタイマが要求パケットに含まれていた待ち時間情報の示す待ち時間である30秒を経過すると、返信パケット送信制御部33は、返信パケットを送信するタイミングであると判断し(ステップS203)、返信パケット送信部32に、要求パケット受信部31が受信した要求パケットに含まれる待ち時間情報を有する返信パケットを、要求パケットの送信元である通信処理装置2のIPアドレス202.132.10.6、ポートP2に送信する旨の指示を渡す。すると、返信パケット送信部32は、通信処理装置2のポートP2に対して、待ち時間「30秒」を示す待ち時間情報を有する返信パケットを送信する(ステップS204)。
その返信パケットは、通信処理装置2において、送信先が情報処理装置(IPアドレス:192.168.0.1)のポートP1に変換され、情報処理装置1に送信される。そして、その返信パケットは返信パケット受信部12で受信され(ステップS103)、その返信パケットに含まれる待ち時間情報の示す待ち時間「30秒」がポート維持時間検出部13と、要求パケット送信制御部14とに渡される。なお、ポート維持時間検出部13
は、受け取った待ち時間「30秒」を図示しない記憶手段で記憶しておくものとする。
要求パケット送信制御部14は、待ち時間「30秒」を受け取ると、新たな待ち時間として、受け取った待ち時間に30秒を加算した1分を設定する(ステップS106、S107)。すると、上記した処理と同様にして、再度、待ち時間「1分」を示す待ち時間情報を有する要求パケットが、通信処理装置2のポートP2を介してサーバ装置3に送信される。そして、サーバ装置3が要求パケットを受信してから1分後に返信パケットがサーバ装置3から送信され、通信処理装置2のポートP2で受信される。その返信パケットは、通信処理装置2において情報処理装置1のアドレス、ポートに変換され、情報処理装置1に送信される。その返信パケットは、返信パケット受信部12で受信され(ステップS103)、その返信パケットに含まれる待ち時間情報の示す待ち時間「1分」がポート維持時間検出部13と、要求パケット送信制御部14とに渡される。
要求パケット送信制御部14は、次に、新たな待ち時間として、受け取った待ち時間に30秒を加算した1分30秒を設定する(ステップS106、S107)。すると、上記した処理と同様にして、再度、待ち時間「1分30秒」を示す待ち時間情報を有する要求パケットが、通信処理装置2のポートP2を介してサーバ装置3に送信される(ステップS102)。そして、サーバ装置3が要求パケットを受信してから1分30秒後に返信パケットがサーバ装置3から送信される。ここで、この場合には、通信処理装置2におけるポート維持時間が経過しており、ポートP2に送信された返信パケットに対するアドレス変換が行われず、情報処理装置1に送信されなかったとする。
要求パケット送信制御部14は、待ち時間「1分30秒」を示す待ち時間情報を有する要求パケットが送信されてから、その待ち時間である1分30秒に5秒(この5秒は、要求パケット等の送信時間等を考慮するためのものである)を加算した1分35秒が経過した時点で、タイムアウトであると判断し(ステップS105)、ポート維持時間を検出するタイミングであると判断する(ステップS106)。そして、ポート維持時間検出部13は、それまでに返信パケット受信部12から受け取った待ち時間のうち、一番長い待ち時間である「1分」を、通信処理装置2のポート維持時間として検出する(ステップS108)。
なお、その後、その検出されたポート維持時間は、例えば、所定の記録媒体(図示せず)で記憶され、サーバ装置3への定期的なパケットの送信周期として用いられる。ここで、検出されたポート維持時間を用いるのは、情報処理装置1であってもよく、あるいは、通信処理装置2のLAN側に接続された他の情報処理装置等であってもよい。また、そのポート維持時間を用いて定期的に送信されるパケットの送信先は、サーバ装置3であってもよく、あるいは、他のサーバ装置等であってもよい。また、検出されたポート維持時間よりも短い時間を、定期的に送信されるパケットの送信周期としてもよい。
図6は、この具体例における要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図である。この場合には、1分の待ち時間に対応する返信パケットを受信することができたが、1分30秒の待ち時間に対応する返信パケットを受信することができなかったため、ポート維持時間が1分と検出された。
なお、この具体例では、送信されているはずの返信パケットを返信パケット受信部12において受信できなかった場合に、ポート維持時間を検出するタイミングであると判断すると説明したが、これは一例であり、例えば、5分の待ち時間に対応する返信パケットを返信パケット受信部12が受信した場合に、それ以上の要求パケットの送信を行わず、ポート維持時間の検出を行うタイミングであると判断してもよく、1回目の要求パケットを送信してから所定の時間(例えば、10分など)が経過した場合には、まだ一度もタイム
アウトとなっていなかったとしても、それ以上の要求パケットの送信を行わず、ポート維持時間の検出を行うタイミングであると判断してもよい。
[具体例2]
この具体例では、要求パケット送信制御部14が、送信された要求パケットに対応する返信パケットが返信パケット受信部12によって受信されなかった場合に、その要求パケットに対応する待ち時間と、返信パケット受信部12によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間との間の待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部11を制御するものとする。
なお、この具体例では、要求パケットの送信に関する処理や、返信パケットの受信、不受信に関する処理は、具体例1と同様であるため、それらの処理の詳細な説明を省略し、図7を用いて説明する。図7は、この具体例において、要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図である。
図7で示すように、この具体例でも、まず、30秒の待ち時間を示す待ち時間情報を有する要求パケットが送信されたとする(ステップS102)。その要求パケットに対応して送信された返信パケットが返信パケット受信部12で受信されると(ステップS103)、要求パケット送信制御部14は次に、1分の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットが返信パケット受信部12で受信されると(ステップS103)、要求パケット送信制御部14はさらに、1分30秒の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットを、要求パケットの送信から1分35秒だけ経過しても受信できなかったとすると、タイムアウトとなる(ステップS105)。要求パケット送信制御部14は、直前に送信された要求パケットに対応する待ち時間「1分30秒」と、それまでに受信した返信パケットに対応する待ち時間のうち、一番長い待ち時間「1分」との間において、10秒刻みの待ち時間を示す待ち時間情報を有する要求パケットをさらに送信するように要求パケット送信部11を制御するものとする。
具体的には、要求パケット送信制御部14はさらに、1分10秒の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットが返信パケット受信部12で受信されると(ステップS103)、要求パケット送信制御部14は次に、1分20秒の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットを、要求パケットの送信から1分25秒だけ経過しても受信できなかったとすると、タイムアウトとなり(ステップS105)、要求パケット送信制御部14は、ポート維持時間を検出するタイミングであると判断する(ステップS106)。そして、ポート維持時間検出部13は、ポート維持時間として、それまでに返信パケット受信部12から受け取った待ち時間のうち、一番長い待ち時間である1分10秒を検出する。
なお、この具体例では、1分と1分30秒との間において、10秒刻みの待ち時間を示す待ち時間情報を有する要求パケットを送信する場合について説明したが、例えば、5秒刻みの待ち時間を示す待ち時間情報を有する要求パケットを送信してもよく、要求パケットに対応する待ち時間は、増加する方向(この具体例で説明したように、待ち時間が1分10秒、1分20秒と増加する方向)に変化させてもよく、減少する方向(例えば、待ち時間が1分20秒、1分10秒と減少する方向)に変化させてもよい。待ち時間を減少する方向に変化させる場合には、要求パケットに対応して送信された返信パケットを受信す
ることができた時点で、ポート維持時間の検出を行うタイミングであると判断してもよい。
[具体例3]
この具体例では、要求パケット送信制御部14が、送信された要求パケットに対応する返信パケットが返信パケット受信部12によって受信されなかった場合に、その要求パケットに対応する待ち時間(「第1の待ち時間」とする)と、返信パケット受信部12によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間(「第2の待ち時間」とする)との間の待ち時間を二分探索法により探索し、探索した待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部11を制御するものとする。
ここで、二分探索法について説明する。二分探索法とは、情報処理装置1において受信できた返信パケットに対応する待ち時間と、情報処理装置1において受信できなかった返信パケットに対応する待ち時間との中央の待ち時間を、次に送信する要求パケットの待ち時間として設定することにより、情報処理装置1において受信可能な返信パケットに対応する待ち時間のうち、最大の待ち時間(ポート維持時間)を高速に探索する方法である。具体的には、第1の待ち時間に対応する返信パケットを受信することができず、第2の待ち時間(第1の待ち時間よりも小さい時間とする)に対応する返信パケットを受信することができた場合に、第1の待ち時間と、第2の待ち時間との中央の待ち時間(「第3の待ち時間」とする)を示す待ち時間情報を有する要求パケットを送信するように制御し、その第3の待ち時間に対応する返信パケットを受信できた場合には、第3の待ち時間と第1の待ち時間との中央の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御し、その第3の待ち時間に対応する返信パケットを受信できなかった場合には、第3の待ち時間と第2の待ち時間との中央の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御するという処理を繰り返す方法である。なお、この二分探索法による探索を終了するタイミングは、例えば、二分探索法によって所定の回数の要求パケットを送信したときであってもよく、二分探索法による探索を開始してから所定の時間が経過した時点であってもよく、二分探索法によって送信した連続する要求パケットに対応する待ち時間の差が所定のしきい値以下となったときなどであってもよい。また、ここでは、第3の待ち時間が第1の待ち時間と第2の待ち時間との中央の待ち時間であるとして説明を行うが、第3の待ち時間は、第1の待ち時間と第2の待ち時間との間の待ち時間であれば、中央の待ち時間でなくてもよい。例えば、第3の待ち時間が、第2の待ち時間と、第1の待ち時間から第2の待ち時間を引いた時間に2/3を掛けた時間とを加算した時間であってもよい。
なお、この具体例では、要求パケットの送信に関する処理や、返信パケットの受信、不受信に関する処理は、具体例1と同様であるため、それらの処理の詳細な説明を省略し、図8を用いて説明する。図8は、この具体例において、要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図である。
図8で示すように、この具体例でも、まず、30秒の待ち時間を示す待ち時間情報を有する要求パケットが送信されたとする(ステップS102)。その要求パケットに対応して送信された返信パケットが返信パケット受信部12で受信されると(ステップS103)、要求パケット送信制御部14は次に、1分の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットが返信パケット受信部12で受信されると(ステップS103)、要求パケット送信制御部14はさらに、1分30秒の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットを、要求パケットの送信から1
分35秒だけ経過しても受信できなかったとすると、タイムアウトとなる(ステップS105)。要求パケット送信制御部14は、直前に送信された要求パケットに対応する待ち時間「1分30秒」と、それまでに受信した返信パケットに対応する待ち時間のうち、一番長い待ち時間「1分」との間において、二分探索法を用いて待ち時間を決定して、その待ち時間を示す待ち時間情報を有する要求パケットをさらに送信するように要求パケット送信部11を制御するものとする。
具体的には、要求パケット送信制御部14はさらに、1分15秒の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットが返信パケット受信部12で受信されると(ステップS103)、要求パケット送信制御部14は次に、1分22.5秒の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する(ステップS107、S102)。その要求パケットに対応して送信された返信パケットを、要求パケットの送信から1分27.5秒だけ経過しても受信できなかったとすると、タイムアウトとなり(ステップS105)、要求パケット送信制御部14は、ポート維持時間を検出するタイミングであると判断する(ステップS106)。ここで、要求パケット送信制御部14は、二分探索法によって決定した待ち時間に対応する2回目の要求パケットに対応する返信パケットを受信できた場合、あるいは受信できなかった場合にポート維持時間を検出するタイミングであると判断するものとする。そして、ポート維持時間検出部13は、ポート維持時間として、それまでに返信パケット受信部12から受け取った待ち時間のうち、一番長い待ち時間である1分15秒を検出する。
以上のように、本実施の形態による情報処理システムによれば、待ち時間情報を有する要求パケットを送信し、その要求パケットに対応して送信された返信パケットを受信できたかどうかに基づいて、通信処理装置2のポート維持時間を検出することができる。
また、要求パケットに含まれる待ち時間情報を変化させる幅などを適切に設定することにより、必要十分な範囲において通信処理装置2のポート維持時間の検出を行うことができる。例えば、10秒単位でのポート維持時間を検出すればいい場合には、10秒単位でのポート維持時間を検出することができ、1秒単位でのポート維持時間を検出しなければならない場合には、1秒単位でのポート維持時間を検出することができる。
また、要求パケット送信制御部14において返信パケットを受信できたかどうかによって、要求パケットを送信するかどうかを決定することができるため、ポート維持時間の検出に関して不必要な要求パケットを送信すること(例えば、1分30秒の待ち時間に対応する返信パケットを受信できていないにもかかわらず、2分の待ち時間を示す待ち時間情報を有する要求パケットを送信すること)を回避することができる。
また、待ち時間を増加する幅を段階的に設定することや、二分探索法を用いることなどにより、効率的にポート維持時間の検出を行うこともできる。
なお、本実施の形態では、待ち時間を増加しながら要求パケットを送信する場合について説明したが、待ち時間を減少しながら要求パケットを送信してもよい。すなわち、要求パケット送信制御部14は、送信された要求パケットに対応する返信パケットを返信パケット受信部12が受信しなかった場合に、その返信パケットに対応する待ち時間よりも短い待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部11を制御してもよい。
また、本実施の形態では、具体例2において待ち時間を増加する幅を30秒と、10秒の2段階に分けて要求パケットの送信を行い、ポート維持時間の検出を行う場合について説明したが、さらに細かく分けてポート維持時間の検出を行ってもよい。例えば、待ち時
間を増加する幅を1分、10秒、1秒の3段階に分けて要求パケットの送信を行い、1秒単位でのポート維持時間を検出してもよい。
また、待ち時間の増加、減少や、二分探索法などを組み合わせてもよい。例えば、はじめに1分ごとに待ち時間を増加しながら要求パケットの送信を行う。次に、受信できなかった返信パケットに対応する待ち時間と、受信できた返信パケットに対応する待ち時間のうち、一番長い待ち時間との間を10秒ごとに待ち時間を減少しながら要求パケットの送信を行う。次に、その減少の過程において初めて受信した返信パケットに対応する待ち時間と、受信できなかった要求パケットに対応する待ち時間のうち、一番短い待ち時間との間を1秒ごとに待ち時間を増加することにより、あるいは二分探索法を用いることにより待ち時間を変化させながら、要求パケットの送信を行うことによって、ポート維持時間の検出を行ってもよい。
また、本実施の形態では、要求パケットに待ち時間情報が含まれる場合について説明したが、待ち時間情報に代えて、返信パケットを送信する時刻を示す時刻情報が要求パケットに含まれてもよい。その場合には、サーバ装置3は、その時刻情報の示す時刻に返信パケットを送信する。なお、時刻情報を有する要求パケットを用いる場合には、例えば、タイムサーバ等を用いることにより、情報処理装置1とサーバ装置3との間での時計の同期を取る必要がある。
また、本実施の形態では、図4(a)で示されるように、要求パケットに待ち時間のみが含まれる構成について説明したが、図4(c)で示されるように、要求パケットに待ち時間と識別情報とが含まれており、要求パケットに対応して送信される返信パケットには、図4(d)で示されるように、要求パケットに含まれていた識別情報が含まれるようにしてもよい。この場合には、返信パケットを受信した情報処理装置1は、待ち時間情報と識別情報との対応を示す情報(情報処理装置1あるいは情報処理装置1がアクセス可能な装置において、あらかじめ保持されているものとする)を参照することにより、その返信パケットに対応する待ち時間を知ることができる。
(実施の形態2)
本発明の実施の形態2による情報処理システムについて、図面を参照しながら説明する。本実施の形態による情報処理システムでは、要求パケットに複数の返信パケットを送信する旨の指示が含まれており、その指示に基づいて、複数の返信パケットが送信されるものである。
図9は、本実施の形態による情報処理システムの構成を示すブロック図である。図9において、本実施の形態による情報処理システムは、情報処理装置5と、通信処理装置2と、サーバ装置6とを備える。通信処理装置2は実施の形態1において説明したものと同様のものであり、その説明を省略する。情報処理装置5、サーバ装置6は、それぞれ実施の形態1における情報処理装置1、サーバ装置3に対応するものであるが、本実施の形態では、情報処理装置5が送信した1つの要求パケットに対応して、サーバ装置6が複数の返信パケットを送信する。
情報処理装置5は、要求パケット送信部11と、返信パケット受信部12と、ポート維持時間検出部51とを備える。なお、要求パケット送信部11、返信パケット受信部12に関する構成及び動作は、要求パケット及び返信パケットのペイロードに含まれる情報の構成が異なる以外、実施の形態1における要求パケット送信部11、及び返信パケット受信部12と同様のものであり、その説明を省略する。ここで、要求パケット送信部11が送信する要求パケットには、複数の返信パケットを送信する旨の指示が含まれている。複数の返信パケットを送信する旨の指示とは、例えば、複数の待ち時間情報であってもよく
、複数の返信パケットを送信する間隔を示す情報であってもよい。
ポート維持時間検出部51は、返信パケット受信部12が受信した返信パケットに基づいて、通信処理装置2のポート維持時間を検出する。このポート維持時間の検出の詳細な動作については後述する。このポート維持時間検出部51が検出するポート維持時間は、通信処理装置2のポート維持時間そのものであってもよく、あるいは、通信処理装置2ポート維持時間よりも短いポート維持時間であってもよい点、及び検出されたポート維持時間の用途は問わない点については、実施の形態1によるポート維持時間検出部13と同様である。
サーバ装置6は、要求パケット受信部31と、返信パケット送信部32と、返信パケット送信制御部61とを備える。なお、要求パケット受信部31、返信パケット送信部32に関する構成及び動作は、要求パケット及び返信パケットのペイロードに含まれる情報の構成が異なる以外、実施の形態1における要求パケット受信部31、及び返信パケット送信部32と同様のものであり、その説明を省略する。
返信パケット送信制御部61は、要求パケット受信部31が受信した要求パケットに基づいて、返信パケット送信部32による複数の返信パケットの送信を制御する。より具体的には、返信パケット送信制御部61は、要求パケットに含まれる、複数の返信パケットを送信する旨の指示に基づいて、複数の返信パケットを送信するように返信パケット送信部32を制御する。
次に、本実施の形態による情報処理システムの動作について、フローチャートを用いて説明する。図10のフローチャートは、本実施の形態による情報処理装置5の動作を示すフローチャートである。
(ステップS301)要求パケット送信部11は、複数の返信パケットを送信する旨の指示を含む要求パケットを、通信処理装置2を介してサーバ装置6に送信する。
(ステップS302)返信パケット受信部12は、返信パケットを受信したかどうか判断する。そして、返信パケットを受信した場合には、ステップS303に進み、そうでない場合には、ステップS304に進む。
(ステップS303)返信パケット受信部12は、受信した返信パケットに基づいて、所定の受信処理を行う。ここで、所定の受信処理とは、例えば、受信した返信パケット、あるいは受信した返信パケットに待ち時間情報等が含まれる場合には、その待ち時間情報等をポート維持時間検出部51に渡すことなどである。
(ステップS304)返信パケット受信部12は、所定の受信期間が経過したかどうか判断する。ここで、所定の受信期間とは、要求パケット送信部11がステップS301で要求パケットを送信してから、その要求パケットに応じて送信される最後の返信パケットが送信され、返信パケット受信部12において受信されるはず(実際に受信できるかどうかは問わない)の時点までの期間のことである。そして、所定の受信期間が経過した場合には、ステップS305に進み、そうでない場合には、ステップS302に戻る。
(ステップS305)ポート維持時間検出部51は、それまでに返信パケット受信部12が受信した返信パケットに基づいて、通信処理装置2のポート維持時間を検出する。なお、このポート維持時間の検出の詳細な処理については後述する。そして、通信処理装置2のポート維持時間を検出する一連の処理は終了となる。
なお、サーバ装置6の動作は、パケットのペイロードに含まれる情報が異なっており、返信パケット送信制御部33が返信パケット送信制御部61となり、受信した1つの要求
パケットに応じて、複数の返信パケットを送信する以外、実施の形態1における図3のフローチャートと同様であり、その説明を省略する。
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。この具体例において、要求パケットに2以上の待ち時間情報が含まれる場合(具体例1)、要求パケットに返信パケットを送信する時間間隔に関する情報である時間間隔情報が含まれる場合(具体例2)、要求パケットに返信パケットを送信する時間間隔の増加に関する情報である時間間隔増加情報が含まれる場合(具体例3)、要求パケットに1つの待ち時間情報と、時間間隔増加情報とが含まれる場合(具体例4)についてそれぞれ説明する。
なお、以下の具体例において要求パケットと返信パケットとが通過するポートは、実施の形態1の図5の説明と同様であるとする。また、情報処理装置5、通信処理装置2、サーバ装置6の各IPアドレスも、実施の形態1の具体例と同様であるとする。
[具体例1]
この具体例では、要求パケットが、待ち時間情報を2以上有しており、返信パケット送信制御部61が、要求パケットに含まれる2以上の待ち時間情報に基づいて、返信パケットの送信を制御するものとする。また、ポート維持時間検出部51は、返信パケット受信部12によって受信された返信パケットの送信間隔のうち、一番長い時間に基づいて、ポート維持時間を検出するものとする。ここで、返信パケットの送信間隔とは、その返信パケットが受信(あるいは送信)された時点と、その返信パケットよりも一つ前の返信パケットが受信(あるいは送信)された時点との時間的な間隔のことである。なお、1回目に送信された返信パケットの場合には、要求パケットの送信(あるいは受信)から返信パケットの受信(あるいは送信)までの時間的な間隔が、その1回目に送信された返信パケットの送信間隔となる。この返信パケットの送信間隔においても、パケットの送信時間(例えば、情報処理装置5から要求パケットが送信されてから、サーバ装置6に到達するまでの時間など)を考慮してもよい。
図11(a)は、要求パケット送信部11が送信する要求パケットの構成を示す図である。要求パケットは、UDPヘッダと、複数の待ち時間情報を有するペイロードとから構成されている。待ち時間情報は、サーバ装置6が要求パケットを受信してから、返信パケットを送信するまでの待ち時間を示す情報である。
要求パケット送信部11は、ポート維持時間を検出するタイミングであると判断すると、図11(a)で示される要求パケットをサーバ装置6のIPアドレス155.32.10.10のポートP3に向けて送信する(ステップS301)。返信パケット受信部12は、この要求パケットの送信と同時に、受信期間に関する計時を開始する。その後、情報処理装置5では、受信期間が経過するまで、返信パケットの受信を待つ処理が行われる(ステップS302〜S304)。ここで、この具体例では、受信期間として5分5秒(この5秒は、要求パケット等の送信時間等を考慮するためのものである)が設定されているものとする。
情報処理装置5から送信された要求パケットは、実施の形態1の具体例の説明と同様にして、通信処理装置2においてアドレス変換され、サーバ装置6の要求パケット受信部31で受信される(ステップS201)。そして、返信パケット送信制御部61においてタイマがスタートされ、計時が開始される(ステップS202)。要求パケット受信部31が受信した要求パケットには、待ち時間が30秒である待ち時間情報が含まれている。したがって、返信パケット送信制御部61は、タイマがスタートされてから30秒経過すると、返信パケットを送信するタイミングであると判断し(ステップS203)、返信パケ
ット送信部32に、30秒の待ち時間を示す待ち時間情報を有する返信パケットを、要求パケットの送信元である通信処理装置2のポートP2に送信する旨の指示を渡す。すると、返信パケット送信部32は、通信処理装置2のポートP2に対して、30秒の待ち時間を示す待ち時間情報を有する返信パケット(図11(b)参照)を送信する。
その返信パケットは、実施の形態1の具体例における説明と同様にして、通信処理装置2によってアドレス変換され、返信パケット受信部12で受信されたとする(ステップS302)。返信パケット受信部12は、返信パケットに含まれる待ち時間情報の示す待ち時間「30秒」をポート維持時間検出部51に渡す(ステップS303)。その待ち時間「30秒」は、ポート維持時間検出部13における図示しない記憶手段で記憶されるものとする。
図12は、この具体例における要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図である。図12において、上記説明と同様にして、要求パケットがサーバ装置6で受信されてから1分30秒経過後に送信された返信パケットは、情報処理装置5の返信パケット受信部12において受信されたものとする(ステップS302)。一方、要求パケットがサーバ装置6で受信されてから3分、及び5分経過後にそれぞれ送信された返信パケットは、返信パケット受信部12で受信されなかったものとする。そして、要求パケットを送信してから5分5秒経過すると、受信期間が経過したと判断され(ステップS304)、返信パケット受信部12から、ポート維持時間検出部51に対して、ポート維持時間を検出する旨の指示が渡される。
ポート維持時間検出部51は、それまでに返信パケット受信部12から受け取った待ち時間「30秒」、「1分30秒」に基づいて、各返信パケットの送信間隔を、「30秒」、「1分」と算出する。そして、その返信パケットの送信間隔のうち、一番長い時間、すなわち「1分」を通信処理装置2のポート維持時間として検出する(ステップS305)。
なお、本実施の形態では、返信パケットの送信間隔が増加するように設定された待ち時間情報を有する要求パケットを送信する場合について説明したが、返信パケットの送信間隔が減少するように、あるいは、その他の変化をするように設定された待ち時間情報を有する要求パケットを送信してもよい。
[具体例2]
この具体例では、要求パケットが返信パケットを送信する時間間隔に関する情報である時間間隔情報を2以上有しており、返信パケット送信制御部61が、要求パケットに含まれる2以上の時間間隔情報に応じた時間間隔で返信パケットを送信するように返信パケット送信部32を制御するものとする。また、ポート維持時間検出部51は、返信パケット受信部12が受信した返信パケットに対応する時間間隔のうち、一番長い時間間隔に基づいて、ポート維持時間を検出するものとする。
図13(a)は、要求パケット送信部11が送信する要求パケットの構成を示す図である。要求パケットは、UDPヘッダと、複数の時間間隔情報を有するペイロードとから構成されている。時間間隔情報は、例えば、時間間隔を示す情報であってもよく、時間間隔と所定の関係を有する情報(例えば、時間間隔「30秒」、「1分」、「2分」にそれぞれ対応した「短期」、「中期」、「長期」という情報など)であってもよいが、この具体例では、前者の場合について説明する。なお、要求パケット送信部11が要求パケットを送信してから、要求パケット受信部31によって要求パケットが受信されるまでの動作は、返信パケット受信部12が、要求パケットが送信されたタイミングで、要求パケットに含まれている時間間隔情報を受け取る以外、具体例1と同様であり、その説明を省略する
。なお、要求パケットに含まれる時間間隔情報を受け取った返信パケット受信部12は、受信期間に関する計時を開始する。
次に、返信パケットの送信について説明する。要求パケット受信部31が要求パケットを受信すると(ステップS201)、返信パケット送信制御部61は、タイマをスタートする(ステップS202)。そのタイマが要求パケットに含まれていた1つ目の時間間隔情報の示す時間間隔である30秒を経過すると、返信パケット送信制御部61は、返信パケットを送信するタイミングであると判断し(ステップS203)、返信パケット送信部32に、30秒の時間間隔を示す時間間隔情報を含む返信パケット(図13(b)参照)を、要求パケットの送信元である通信処理装置2のポートP2に送信する旨の指示を渡す。すると、返信パケット送信部32は、通信処理装置2のポートP2に対して、時間間隔情報を有する返信パケットを送信する(ステップS204)。なお、この具体例では、この返信パケットの送信時点から、再度、次の返信パケットの送信に対する計時を開始するものとする。
送信された返信パケットは、通信処理装置2においてアドレス変換され、情報処理装置5に送信される。返信パケット受信部12は、その返信パケットを受信し、返信パケットに含まれる時間間隔情報の示す時間間隔「30秒」をポート維持時間検出部51に渡す。その時間間隔「30秒」は、ポート維持時間検出部13における図示しない記憶手段で記憶されるものとする。
図14は、この具体例における要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図である。図14において、上記説明と同様にして、サーバ装置6から1回目の返信パケットが送信されてから1分経過後に、返信パケットが送信される。その送信された返信パケットは、情報処理装置5の返信パケット受信部12において受信されたものとする(ステップS302)。一方、2回目の返信パケットが送信されてから1分30秒経過後にも返信パケットが送信されるが、その返信パケットは、返信パケット受信部12で受信されなかったものとする。同様に、3回目の返信パケットが送信されてから2分経過後にも返信パケットが送信されるが、その返信パケットも、返信パケット受信部12で受信されなかったものとする。そして、要求パケットを送信してから5分5秒(時間間隔情報の示す時間間隔の合計時間に要求パケット等の送信時間等を加算した時間)経過すると、受信期間が経過したと判断され(ステップS304)、返信パケット受信部12から、ポート維持時間検出部51に対して、ポート維持時間を検出する旨の指示が渡される。
ポート維持時間検出部51は、それまでに返信パケット受信部12から受け取った時間間隔「30秒」、「1分」のうち、一番長い時間間隔「1分」をポート維持時間として検出する(ステップS305)。
なお、本実施の形態では、返信パケットの送信間隔が増加するように設定された時間間隔情報を有する要求パケットを送信する場合について説明したが、返信パケットの送信間隔が減少するように、あるいは、その他の変化をするように設定された時間間隔情報を有する要求パケットを送信してもよい。
[具体例3]
この具体例では、要求パケットが返信パケットを送信する時間間隔の増加に関する情報である時間間隔増加情報を有しており、返信パケット送信制御部61が、その要求パケットに含まれる時間間隔増加情報に基づいて、返信パケットの送信を制御するものとする。また、ポート維持時間検出部51は、受信された返信パケットの時間間隔のうち、一番長い時間間隔(すなわち、最後に受信された返信パケットに関する時間間隔)に基づいて、
ポート維持時間を検出するものとする。なお、この具体例では、時間間隔増加情報に基づいて返信パケットが4回送信された時点で、返信パケットの送信が終了されるように、情報処理装置5及びサーバ装置6においてあらかじめ設定されているものとする。
図15(a)は、要求パケット送信部11が送信する要求パケットの構成を示す図である。要求パケットは、UDPヘッダと、時間間隔増加情報を有するペイロードとから構成されている。時間間隔増加情報は、例えば、返信パケットを送信する時間間隔の増加する時間を示す情報(この具体例では「30秒」であるとする)である。なお、要求パケット送信部11が要求パケットを送信してから、要求パケット受信部31によって要求パケットが受信されるまでの動作は、返信パケット受信部12が、要求パケットが送信されたタイミングで、要求パケットに含まれている時間間隔増加情報を受け取る以外、具体例1と同様であり、その説明を省略する。
次に、返信パケットの送信について説明する。要求パケット受信部31が要求パケットを受信すると(ステップS201)、返信パケット送信制御部61は、タイマをスタートする(ステップS202)。そのタイマが要求パケットに含まれていた時間間隔増加情報の示す30秒を経過すると、返信パケット送信制御部61は、返信パケットを送信するタイミングであると判断し(ステップS203)、返信パケット送信部32に、30秒の時間間隔を示す情報を含む返信パケット(図15(b)参照)を、要求パケットの送信元である通信処理装置2のポートP2に送信する旨の指示を渡す。すると、返信パケット送信部32は、通信処理装置2のポートP2に対して、時間間隔(30秒)を示す情報を有する返信パケットを送信する(ステップS204)。なお、この具体例では、この返信パケットの送信時点から、再度、次の返信パケットの送信に対する計時を開始するものとする。この計時においては、前回の返信パケットの送信間隔である30秒に、時間間隔増加情報の示す30秒を加算した1分が経過すると、返信パケットを送信するタイミングであると判断するものとする。
送信された返信パケットは、通信処理装置2においてアドレス変換され、情報処理装置5に送信される。返信パケット受信部12は、その返信パケットを受信し、返信パケットに含まれる時間間隔「30秒」をポート維持時間検出部51に渡す。その時間間隔「30秒」は、ポート維持時間検出部13における図示しない記憶手段で記憶されるものとする。
この具体例における要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図は、図14と同様になる。要求パケットの内容は異なるが、30秒ずつ送信間隔が増大するように返信パケットが送信される点は同様だからである。上述のように、この具体例では、4回目の返信パケットの送信で返信パケットの送信が終了される設定となっているため、要求パケットを送信してから5分5秒(時間間隔増加情報によって増加していく返信パケットの送信間隔を、4回分の返信パケットの送信について合計した時間に、要求パケット等の送信時間等を加算した時間)経過すると、受信期間が経過したと判断され(ステップS304)、返信パケット受信部12から、ポート維持時間検出部51に対して、ポート維持時間を検出する旨の指示が渡される。
ポート維持時間検出部51は、それまでに返信パケット受信部12から受け取った時間間隔「30秒」、「1分」のうち、一番長い時間間隔「1分」をポート維持時間として検出する(ステップS305)。
[具体例4]
この具体例では、要求パケットが、返信パケットの最初の送信までの待ち時間に関する情報である待ち時間情報と、時間間隔増加情報とを有しており、返信パケット送信制御部
61が、要求パケットに含まれる待ち時間情報及び時間間隔情報に基づいて、返信パケットの送信を制御するものである。また、ポート維持時間検出部51は、受信された返信パケットの時間間隔のうち、一番長い時間間隔(すなわち、最後に受信された返信パケットに関する時間間隔)に基づいて、ポート維持時間を検出するものとする。なお、この具体例では、具体例3と同様に、時間間隔増加情報に基づいて返信パケットが4回送信された時点で、返信パケットの送信が終了されることが、情報処理装置5及びサーバ装置6においてあらかじめ設定されているものとする。
図16(a)は、要求パケット送信部11が送信する要求パケットの構成を示す図である。要求パケットは、UDPヘッダと、待ち時間情報及び時間間隔増加情報を有するペイロードとから構成されている。時間間隔増加情報は、例えば、返信パケットを送信する時間間隔の増加する時間を示す情報(例えば、30秒)であってもよく、返信パケットを送信する時間間隔の増加する割合を示す情報(例えば、1.5倍や、2倍など)であってもよい。この具体例では、後者の時間間隔増加情報であり、その増加する割合が「2倍」であるとする。また、待ち時間情報の示す待ち時間が30秒であるとする。返信パケットには、返信パケットの送信の時間間隔を示す情報が含まれているものとする(図16(b)参照)。なお、要求パケットの送受信、返信パケットの送受信については、上記具体例と同様であり、その詳細な説明を省略する。
図17は、この具体例における要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図である。1回目の返信パケットは要求パケットがサーバ装置6で受信されてから待ち時間情報の示す待ち時間「30秒」が経過した時点で送信され、情報処理装置5で受信されたとする。2回目の返信パケットは1回目の返信パケットが送信されてから、待ち時間「30秒」の2倍の時間である「1分」が経過した時点で送信される。3回目の返信パケットは2回目の返信パケットが送信されてから、2回目の返信パケットの送信間隔である「1分」の2倍の時間である「2分」が経過した時点で送信される。4回目の返信パケットは、3回目の返信パケットが送信されてから、3回目の返信パケットの送信間隔である「2分」の2倍の時間である「4分」が経過した時点で送信される。情報処理装置5は、2回目の返信パケットを受信したが、3回目、4回目の返信パケットは受信しなかったとする。すると、要求パケットが送信されてから7分35秒(時間間隔増加情報によって増加していく返信パケットの送信間隔を、4回分の返信パケットの送信について合計した時間に、要求パケット等の送信時間等を加算した時間)経過した時点で、受信期間が経過したと判断され(ステップS304)、ポート維持時間検出部51は、それまでに返信パケット受信部12から受け取った時間間隔「30秒」、「1分」のうち、一番長い時間間隔「1分」をポート維持時間として検出する(ステップS305)。
なお、この具体例において、要求パケットに時間間隔増加情報が含まれる場合について説明したが、要求パケットに待ち時間情報とともに、時間間隔減少情報が含まれてもよい。ここで、時間間隔減少情報とは、返信パケットを送信する時間間隔の減少に関する時間であり、例えば、返信パケットの時間間隔を減少させる時間を示す情報(例えば、30秒など)であってもよく、返信パケットの時間間隔を減少させる割合を示す情報(例えば、0.5など)であってもよい。前者の場合には、例えば、返信パケットの時間間隔が、2分、1分30秒、1分、30秒と減少することとなり、後者の場合には、例えば、返信パケットの時間間隔が、4分、2分、1分、30秒と減少することとなる。
また、本実施の形態では、送信された1つの要求パケットに対応して、複数の返信パケットが送信される場合について説明したが、一括して送信された複数の要求パケットに対応して、複数の返信パケットが送信されてもよい。例えば、要求パケット送信部11が、複数の要求パケットを一括して送信するものであり、その複数の要求パケットが、それぞ
れ、返信パケットの送信までの待ち時間に関する情報である待ち時間情報を有しており、返信パケット送信制御部61が、複数の要求パケットにそれぞれ含まれる待ち時間情報に基づいて、返信パケット送信部を制御し、ポート維持時間検出部51が、返信パケット受信部12によって受信された返信パケットの送信間隔のうち、一番長い時間に基づいて、前記ポート維持時間を検出してもよい。この場合には、要求パケットが一括して送信される点以外は、本実施の形態の具体例1と同様の処理が行われることとなり、その説明を省略する。
以上のように、本実施の形態による情報処理システムによれば、1回の要求パケットの送信によって、複数の返信パケットを送信させることができ、その返信パケットを受信できたかどうか確認することによって、実施の形態1と同様にして、通信処理装置2のポート維持時間を検出することができる。
(実施の形態3)
本発明の実施の形態3による情報処理システムについて、図面を参照しながら説明する。本実施の形態による情報処理システムでは、要求パケット、及び返信パケットの送信時間を考慮してポート維持時間の検出を行うものである。
図18は、本実施の形態による情報処理システムの構成を示すブロック図である。図18において、本実施の形態による情報処理システムは、情報処理装置7と、通信処理装置2と、サーバ装置3とを備える。通信処理装置2、サーバ装置3は実施の形態1において説明したものと同様のものであり、それらの説明を省略する。情報処理装置7は、実施の形態1における情報処理装置1に対応するものであるが、本実施の形態では、情報処理装置7は、要求パケット及び返信パケットの送信時間を考慮してポート維持時間の検出を行う。
情報処理装置7は、要求パケット送信部11と、返信パケット受信部12と、要求パケット送信制御部14と、ポート維持時間検出部71と、パケット往復時間測定部72とを備える。なお、要求パケット送信部11、返信パケット受信部12、要求パケット送信制御部14に関する構成及び動作は、ポート維持時間の検出が要求パケット及び返信パケットの送信時間を考慮して行われる以外、実施の形態1におけるものと同様のものであり、その説明を省略する。
ポート維持時間検出部71は、情報処理装置7と、サーバ装置3との間のパケットの往復時間に基づいて、ポート維持時間の検出を行う。それ以外の処理は、実施の形態1によるポート維持時間検出部13と同様であり、その説明を省略する。
パケット往復時間測定部72は、返信パケットの即時の送信を要求する要求パケットを要求パケット送信部11に送信させ、その要求パケットの送信から、その要求パケットに応じて送信された返信パケットの返信パケット受信部12による受信までの時間であるパケット往復時間を測定する。パケット往復時間測定部72によって測定されたパケット往復時間は、前述のように、ポート維持時間の検出において用いられる。
次に、本実施の形態による情報処理装置7の動作について、図19のフローチャートを用いて説明する。
(ステップS401)パケット往復時間測定部72は、パケット往復時間を測定するための要求パケットを送信するように要求パケット送信部11を制御する。そして、要求パケット送信部11は、このパケット往復時間測定部72による制御に応じて、要求パケットを送信する。ここで、パケット往復時間を測定するための要求パケットとは、返信パケットの即時の送信を要求する要求パケットであり、例えば、待ち時間「0秒」を示す待ち
時間情報を有する要求パケットである。なお、パケット往復時間測定部72は、要求パケットが送信されてから、パケット往復時間を測定するための計時を開始する。
(ステップS402)返信パケット受信部12は、ステップS401で送信された要求パケットに対応してサーバ装置3から送信された返信パケットを受信したかどうか判断する。そして、受信した場合には、受信した旨をパケット往復時間測定部72に伝えてステップS403に進み、そうでない場合には、受信するまでステップS402の処理を繰り返す。
(ステップS403)パケット往復時間測定部72は、ステップS402において返信パケットが受信されると、ステップS401において開始した計時をストップし、その時の計時の値(すなわち、要求パケットの送信から返信パケットの受信までの時間)をパケット往復時間とする。
(ステップS404)情報処理装置7は、パケット往復時間測定部72によって測定されたパケット往復時間を用いて、ポート維持時間の検出を行う。このポート維持時間の検出の処理は、ポート維持時間検出部71によるポート維持時間の検出処理(ステップS108)において、パケット往復時間を考慮したポート維持時間の検出がなされる以外、実施の形態1における図2で示されるフローチャートの処理と同様であり、その説明を省略する。
なお、図19のフローチャートでは、ポート維持時間の検出(ステップS404)の処理よりも以前に、パケット往復時間を測定する場合について説明したが、このパケット往復時間の測定は、図2のフローチャートのステップS108の処理よりも以前に行われるのであれば、その測定のタイミングを問わない。例えば、「0秒」以外の待ち時間を示す待ち時間情報を有する要求パケットの送信の後に、パケット往復時間の測定を行ってもよい。
次に、本実施の形態による情報処理装置7の動作について、具体例を用いて説明する。
パケット往復時間測定部72は、「0秒」の待ち時間を示す待ち時間情報を有する要求パケットをサーバ装置3に送信するように要求パケット送信部11に指示を渡す。すると、要求パケット送信部11は、指示された待ち時間情報を有する要求パケットを、通信処理装置2を介してサーバ装置3に送信する(ステップS401)。パケット往復時間測定部72は、その要求パケットが送信されたタイミングで、タイマをスタートさせ、計時を開始する。
送信された要求パケットは、実施の形態1の具体例における説明と同様にしてサーバ装置3に送信され、要求パケット受信部31で受信される(ステップS201)。返信パケット送信制御部33は、受信された要求パケットに対応する待ち時間が「0秒」であるため、即時の返信を行うと判断し(ステップS202、S203)、返信パケット送信部32に、要求パケットの送信元である通信処理装置2に返信パケットを送信する旨の指示を渡す。その指示に応じて、返信パケット送信部32は、ペイロードに待ち時間「0秒」を示す待ち時間情報を有する返信パケットを通信処理装置2に送信する(ステップS204)。その返信パケットは、通信処理装置2においてアドレス変換され、情報処理装置7に送信される。そして、返信パケット受信部12は、その返信パケットを受信し(ステップS402)、返信パケットを受信した旨をパケット往復時間測定部72に渡す。パケット往復時間測定部72は、要求パケットの送信時にスタートさせたタイマをストップさせ、そのタイマの値をパケット往復時間とする(ステップS403)。ここでは、パケット往復時間が「1秒」であると測定されたものとする。パケット往復時間測定部72は、その測定したパケット往復時間「1秒」を、ポート維持時間検出部71に渡す。
この後、情報処理装置7は、実施の形態1の具体例と同様にして、要求パケットを送信し、ポート維持時間の検出を行う。図20は、この具体例における要求パケットの送信と、返信パケットの受信(あるいは不受信)について説明するための図である。図20からもわかるように、この具体例では、待ち時間を30秒ずつ増加した要求パケットを送信した後に、待ち時間の1分と1分30秒との間を1秒ずつ増加した要求パケットを送信する。そして、返信パケット受信部12で受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間は1分17秒であったとする。すると、ポート維持時間検出部71は、その待ち時間「1分17秒」にパケット往復時間「1秒」を加算した「1分18秒」を、通信処理装置2のポート維持時間として検出する(ステップS108)。
ここで、図21を用いて通信処理装置2のポート維持時間が、返信パケット受信部12で受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間と、パケット往復時間とを加算した時間になることについて説明する。図21は、要求パケットの送信から、返信パケットの受信までの時間を示す図である。なお、図21において、情報処理装置7による要求パケットの送信から、その要求パケットが通信処理装置2を通過するまでの時間、及び返信パケットが通信処理装置2を通過してから、その返信パケットが情報処理装置7で受信されるまでの時間は、無視可能なぐらい小さいものとしている。
図21において、要求パケットが送信され、通信処理装置2を通過してから、サーバ装置3において要求パケットが受信されるまでの時間を「時間A」とする。サーバ装置3が要求パケットを受信してから、要求パケットに対応する待ち時間だけ経過した時点で返信パケットを送信する場合には、サーバ装置3による要求パケットの受信から返信パケットの送信までが待ち時間となる。また、返信パケットが送信されてから、その返信パケットが通信処理装置2を通過し、情報処理装置7で受信されるまでの時間を「時間B」とする。すると、図21で示される場合には、通信処理装置2のポートP2は、「待ち時間+時間A+時間B」の期間だけ維持されていたこととなる。ここで、時間Aと時間Bとを加算したものがパケット往復時間であるので、受信できた返信パケットに対応する一番長い待ち時間にパケット往復時間を加算した時間がポート維持時間となる。
以上のように、本実施の形態による情報処理システムでは、通信処理装置2と、サーバ装置3との間におけるパケットの往復時間(実際に測定しているのは、情報処理装置7と、サーバ装置3との間のパケットの往復時間)を考慮してポート維持時間を検出することができるため、より厳密なポート維持時間を検出することができる。
なお、本実施の形態では、ポート維持時間検出部71によるポート維持時間の検出処理時にパケット往復時間を考慮する場合について説明したが、これは一例であって、測定されたパケット往復時間に基づいて、ポート維持時間が検出されればよい。すなわち、ポート維持時間を検出するいずれかの過程においてパケット往復時間が用いられればよく、例えば、送信する要求パケットに含まれる待ち時間情報を、パケット往復時間を用いて変更してもよく、サーバ装置3において、パケット往復時間を用いて返信パケットを送信するタイミングを変更してもよい。例えば、30秒の待ち時間を示す待ち時間情報を有する要求パケットを送信する場合に、その待ち時間から、パケット往復時間(1秒とする)を引いた29秒の待ち時間を示す待ち時間情報を有する要求パケットを送信し、その要求パケットに対応して送信された返信パケットを受信できた場合に、その返信パケットに対応する待ち時間が30秒であるとして、ポート維持時間の検出を行ってもよい。
また、本実施の形態では、実施の形態1による情報処理システムにおいてパケット往復時間を考慮したポート維持時間の検出を行う場合について説明したが、実施の形態2による情報処理システムにおいてパケット往復時間を考慮したポート維持時間の検出を行って
もよい。ここで、実施の形態2による情報システムにおいて、パケット往復時間を考慮する場合に、例えば、図12で示される場合のように、ポート維持時間検出部51において、返信パケットに含まれる待ち時間情報の示す待ち時間の差をとる場合には、すでにパケット往復時間が互いに相殺されていることになる。したがって、図12の例の場合には、30秒の待ち時間に対応する返信パケットについてのみ、パケット往復時間を考慮すればよいことになる。実施の形態2の他の具体例についても同様であり、パケット往復時間を考慮しなければならない場合にのみ、その考慮を行えばよい。
また、本実施の形態では、ポート維持時間の検出と、パケット往復時間の測定とを同一の装置で行う場合について説明したが、両者を異なった装置において行ってもよい。そして、一方の装置で検出されたパケット往復時間を用いて、他方の装置においてポート維持時間の検出を行ってもよい。
なお、上記各実施の形態において、要求パケット送信部11が、あらかじめ決められているように、所定の待ち時間を有する要求パケットを送信し、その送信された要求パケットに対応して送信される返信パケットを返信パケット受信部12が受信できるかどうかによって、ポート維持時間の検出を行ってもよい。この場合には、要求パケット送信制御部14は不要である。具体的には、図22で示されるように、要求パケット送信部11において、30秒の待ち時間を示す待ち時間情報を有する要求パケットを送信し、その送信から35秒後に、1分の待ち時間を示す待ち時間情報を有する要求パケットを送信し、その送信から1分5秒後に、1分30秒の待ち時間を示す待ち時間情報を有する要求パケットを送信する、というようにあらかじめ設定されている。そして、それらの要求パケットに対応して送信された返信パケットのうち、返信パケット受信部12において受信することのできた返信パケットに対応する一番長い待ち時間をポート維持時間として検出してもよい。
また、上記各実施の形態において、返信パケットを送信するタイミングがあらかじめサーバ装置の返信パケット送信制御部に設定されており、要求パケット送信部11から送信された要求パケットをサーバ装置が受信すると、あらかじめ設定されているタイミング(例えば、要求パケットを受信してから30秒、1分、1分30秒、2分のタイミングなど)で返信パケットを送信するようにしてもよい。
なお、上記各実施の形態では、要求パケットによって要求されたタイミングに応じて、サーバ装置から返信パケットが送信される場合について説明したが、返信パケット送信制御部は、要求パケット受信部が要求パケットを受信すると、あらかじめ決められたタイミングで返信パケットを送信するように返信パケット送信部を制御するものであってもよい。すなわち、返信パケットを送信するタイミングがあらかじめサーバ装置の返信パケット送信制御部に設定されており、情報処理装置から送信された複数の要求パケットをサーバ装置が受信すると、あらかじめ設定されているタイミング(例えば、要求パケットを受信してから30秒、1分、1分30秒、2分のタイミングなど)で返信パケットを送信するようにしてもよい。
具体的には、図12で示されるように、要求パケットが受信されると(ただし、この場合の要求パケットには、待ち時間情報のような情報が含まれていない)、返信パケット送信制御部は、その時点から計時を開始し、あらかじめ決められている待ち時間(30秒、1分30秒、3分など)が経過する時点において、返信パケットを送信するように制御する。この場合にも、返信パケットは、要求パケットの通過した、通信処理装置2のポートに対して送信されるものとする。また、返信パケットには、待ち時間情報や、時間間隔情報等が含まれていてもよい。
また、上記各実施の形態では、図5で示されるように、通信処理装置2の一つのポートP2のみを用いて要求パケットの送信を行う場合について説明したが、要求パケットが送信されるごとに、その要求パケットが通過する通信処理装置2のポートが変更されてもよい。すなわち、要求パケットを通信処理装置2の1つのポートを介して送信するとは、一度に用いる通信処理装置2のポートが1つであるということである。具体的には、複数の要求パケットを送信する場合に、そのすべての要求パケットを通信処理装置2の単一のポートを介して送信することであってもよく、あるいは、複数の要求パケットを、通信処理装置2の2以上のポートを介して送信することであってもよい。ただし、後者の場合であっても、一度に用いるポートは1つであるため、2以上のポートを用いて同時に2以上の要求パケットを送信するようなことは行わない。
また、上記各実施の形態において、要求パケットと返信パケットとがUDPのパケットである場合について説明したが、要求パケットと返信パケットとはTCPのパケットであってもよく、ポート維持時間の検出が可能なパケットであれば、それら以外のパケットであってもよい。
また、上記各実施の形態において、返信パケットの送信タイミングを、タイマを用いて計時する場合について説明したが、タイマに代えて、例えば、時計やクロック信号等を用いてもよく、その計時の手段は問わない。
また、上記各実施の形態では、要求パケット、返信パケットのペイロードに待ち時間情報等の情報が含まれている場合について説明したが、それらのパケットの構成は、上記説明に限定されるものではなく、その他の構成であってもよい。また、サーバ装置と情報処理装置との間であらかじめ何らかの取り決めがなされている場合などには、要求パケット、返信パケットのペイロードには、意味のある情報が含まれていなくてもよい(すなわち、ダミーパケットであってもよい)。ここで、サーバ装置と、情報処理装置との間でなされる取り決めの一例としては、例えば、サーバ装置が1つ目の要求パケットを受信した場合には、30秒後に返信パケットを送信し、2つ目の要求パケットを受信した場合には、1分後に返信パケットを送信し、3つ目の要求パケットを受信した場合には、1分30秒後に返信パケットを送信する、といったものである。
また、上記各実施の形態では、通信処理装置を1つだけ介して通信回線4に接続される場合について説明したが、複数の通信処理装置を介して通信回線4に接続されてもよい(すなわち、多段接続の通信処理装置が構成されていてもよい)。この場合には、その多段接続の通信処理装置のうち、一番短いポート維持時間が検出されることになる。
また、上記各実施の形態では、通信処理装置2がNATの機能を有するものである(すなわち、アドレス変換を行う)と説明したが、通信処理装置2は、NATの機能に代えて、あるいはNATの機能と共にパケットフィルタリングのファイアウォール(Firewall)の機能を有するものであってもよい。ここで、パケットフィルタリングとは、例えば、前述の受信フィルタルールに基づいた受信パケットの選択を行うものである。そのようなファイアウォールの機能を有する通信処理装置2について、上記各実施の形態による方法によって、そのポート維持時間を検出することができる。ここで、通信処理装置2がファイアウォール機能を有するものである場合のポート維持時間とは、その通信処理装置2のあるポートを最後のパケットが通過してから所定の時間が経過した後に、WAN側からそのポートに送信されたパケットが通信処理装置2のLAN側に送信されない場合における、その所定の時間のことである。
また、上記各実施の形態において、UDPの要求パケット、返信パケットを送信する場合には、パケットロスを考慮して(UDPはコネクションレス型の通信であるため、パケ
ットロスの発生する可能性がある)、同一内容の要求パケット、返信パケットを、複数同時に送信するようにしてもよい。
また、上記各実施の形態では、サーバ装置をIPアドレスによって特定する場合について説明したが、サーバ装置をドメイン名(例えば、server.pana.netなど)によって特定してもよい。この場合には、そのドメイン名がDNSサーバを用いて、IPアドレスに変換されることにより、サーバ装置を特定することができる。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記情報処理装置における処理を実行させるためのプログラムであって、前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求するパケットである1以上の要求パケットを、前記通信処理装置の1つのポートを介して送信する要求パケット送信ステップと、前記サーバ装置から前記ポートを介して送信された返信パケットを受信する返信パケット受信ステップと、前記返信パケット受信ステップで受信した返信パケットに基づいて、前記通信処理装置のポート維持時間を検出するポート維持時間検出ステップと、を実行させるためのものである。
また、このプログラムでは、前記要求パケットが、前記返信パケットの送信までの待ち時間に関する情報である待ち時間情報を有しており、前記要求パケット送信ステップでは、前記返信パケットの受信の有無に基づいて、要求パケットの送信を行い、前記ポート維持時間検出ステップでは、前記返信パケット受信ステップで受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間に基づいて、前記ポート維持時間を検出してもよい。
また、このプログラムでは、前記要求パケットが、複数の返信パケットを送信する旨の指示を含んでいてもよい。
また、このプログラムでは、コンピュータに、前記要求パケット送信ステップにおける、前記返信パケットの即時の送信を要求する要求パケットの送信から、当該要求パケットに応じて送信された返信パケットの前記返信パケット受信ステップにおける受信までの時間であるパケット往復時間を測定するパケット往復時間測定ステップをさらに実行させ、前記パケット往復時間に基づいて、前記ポート維持時間が検出されてもよい。
また、上記各実施の形態におけるサーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記サーバ装置における処理を実行させるためのプログラムであって、前記情報処理装置から前記通信処理装置を介して送信された、前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求するパケットである1以上の要求パケットを受信する要求パケット受信ス
テップと、前記要求パケット受信ステップで受信した要求パケットに基づいて、前記返信パケットを送信する返信パケット送信ステップと、を実行させるためのものである。
また、このプログラムでは、前記要求パケットが、前記返信パケットの送信までの待ち時間に関する情報である待ち時間情報を有しており、前記返信パケット送信ステップでは、前記要求パケットに含まれる待ち時間情報に基づいて、前記返信パケットを送信してもよい。
また、このプログラムでは、前記要求パケットが、複数の返信パケットを送信する旨の指示を含んでおり、前記返信パケット送信ステップでは、前記要求パケットに基づいて、複数の返信パケットを送信してもよい。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。