以下、本発明による情報処理システムについて、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素は同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による情報処理システムについて、図面を参照しながら説明する。
図1は、本実施の形態による情報処理システムの構成を示すブロック図である。図1において、本実施の形態による情報処理システムは、情報処理装置1と、通信処理装置2と、サーバ装置3とを備える。図1では、1つの情報処理装置1が通信処理装置2に接続されている場合について記載しているが、2以上の情報処理装置が通信処理装置2に接続されていてもよい。情報処理装置1は、例えば、コンピュータ、電子レンジ、電話機、プリンタ、ファクシミリ装置、冷蔵庫、洗濯機、空調装置、テレビ、映像録画装置、セットトップボックス等である。通信処理装置2と、サーバ装置3とは、有線または無線の通信回線100を介して接続されている。通信回線100は、例えば、インターネットやイントラネット、公衆電話網などである。
情報処理装置1は、履歴パケット送信部11と、要求パケット送信部12と、パケット送信制御部13と、返信パケット受信部14と、ポート維持時間検出部15とを備える。
履歴パケット送信部11は、複数の履歴パケットをサーバ装置3に対して送信する。その履歴パケットは、通信処理装置2の複数のポートを介して送信される。ここで、履歴パケットとは、通信処理装置2に送信履歴を残すためのパケットである。この履歴パケットは、通信処理装置2のポート維持時間の計測の基準時を決定するため、あるいは、後述する返信パケットの送信先を決定するなどのために送信される。この履歴パケットは、例えば、UDPのパケットである。この履歴パケットのペイロードには、何らかの情報が含まれていてもよく、あるいは、含まれていなくてもよい。履歴パケットの通過した通信処理装置2の通信回線100側のポートのことを履歴ポートと呼ぶことにする。履歴パケット送信部11は、複数の履歴パケットを同時に送信してもよく、あるいは、別々のタイミングで送信してもよい。なお、履歴パケット送信部11は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、履歴パケット送信部11と通信処理装置2との間に図示しない送信デバイスが存在することとなる)。また、履歴パケット送信部11は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
要求パケット送信部12は、複数の要求パケットをサーバ装置3に送信する。要求パケット送信部12は、要求パケットを複数の履歴ポートとは異なる通信処理装置2のポートを介して送信する。ここで、要求パケットとは、返信パケットの送信を要求するパケットである。返信パケットとは、サーバ装置3から通信処理装置2の履歴ポートに送信されるパケットである。この要求パケットは、例えば、UDPのパケットである。この要求パケットのペイロードには、何らかの情報が含まれていてもよく、あるいは、含まれていなくてもよい。なお、要求パケットには、返信パケットを送信する旨の指示や命令などの要求が含まれておらず、例えば、要求パケットである旨が含まれることによって、サーバ装置
3において要求パケットであると判断されてもよい。また、要求パケット送信部12は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、要求パケット送信部12と通信処理装置2との間に図示しない送信デバイスが存在することとなる)。また、要求パケット送信部12は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
パケット送信制御部13は、要求パケット送信部12による要求パケットの送信を制御する。要求パケットの送信の制御とは、例えば、要求パケット送信部12による要求パケットの送信タイミングの制御などである。この処理の詳細については後述する。
返信パケット受信部14は、サーバ装置3から送信された返信パケットを受信する。この返信パケットは、通信処理装置2の履歴ポートを介して送信されたものである。なお、後述するように、返信パケット受信部14は、サーバ装置3から送信されたすべての返信パケットを受信するわけではない。サーバ装置3から送信された返信パケットのうち、履歴ポートのポート維持時間が経過した後に、通信処理装置2に到達した返信パケットは、通信処理装置2から情報処理装置1に送信されないからである。返信パケット受信部14は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、返信パケット受信部14と通信処理装置2との間に図示しない受信デバイスが存在することとなる)。また、返信パケット受信部14は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
ポート維持時間検出部15は、返信パケット受信部14による返信パケットの受信に基づいて、通信処理装置2のポート維持時間を検出する。ここで、「返信パケットの受信に基づいて」とは、返信パケットが受信されたかどうかや、返信パケットが受信された時点を用いて、という意味である。ポート維持時間検出部15の具体的な動作については、後述する。ポート維持時間検出部15は、返信パケットの受信のみでなく、履歴パケットの送信等にも基づいて、ポート維持時間を検出してもよい。なお、ポート維持時間検出部15は、通信処理装置2のポート維持時間そのものを検出してもよく、通信処理装置2のポート維持時間よりも短いポート維持時間を検出してもよい。例えば、通信処理装置2のポート維持時間が「2分」である場合に、ポート維持時間検出部15は、通信処理装置2のポート維持時間を「2分」と検出してもよく、「1分」と検出してもよい。ポート維持時間検出部15によるポート維持時間の検出処理については、後述する。以下の説明において、「ポート維持時間」は、ポート維持時間検出部15によって検出されたポート維持時間を示す情報のことを意味することもある。
なお、履歴パケット送信部11、要求パケット送信部12、返信パケット受信部14の任意の2以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
通信処理装置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に対して、通信回線100を介してパケットが送信されたとしても、通信処理装置2においてアドレス変換がなされず、情報処理装置1は、そのパケットを受信することはできない。
サーバ装置3は、要求パケット受信部31と、返信パケット送信部32と、履歴パケット受信部33と、送信先情報蓄積部34とを備える。
要求パケット受信部31は、情報処理装置1から送信された要求パケットを受信する。なお、要求パケット受信部31は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、要求パケット受信部31と通信回線100との間に図示しない受信デバイスが存在することとなる)。また、要求パケット受信部31は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
返信パケット送信部32は、要求パケット受信部31が要求パケットを受信すると、通信処理装置2の履歴ポートに返信パケットを送信する。返信パケット送信部32は、複数の履歴ポートのうち、要求パケット受信部31が受信した要求パケットに対応する履歴ポートに返信パケットを送信する。ここで、要求パケットに対応する履歴ポートとは、その要求パケットによって送信することが要求される返信パケットの送信先の履歴ポートのことである。要求パケットと履歴ポートとの対応関係は、要求パケットに含まれる情報によって指定されてもよく、あらかじめサーバ装置3においてあらかじめ設定されていてもよく、あるいは、その他の方法によって示されてもよい。なお、要求パケットに対応する履
歴ポートが複数であってもよい。その場合には、返信パケット送信部32は、例えば、要求パケットに対応する複数の履歴ポートのうち、任意の履歴ポートに返信パケットを送信してもよく、あるいは、あらかじめ決められているルールに従って履歴ポートを選択し、その選択した履歴ポートに返信パケットを送信してもよい。また、返信パケット送信部32は、後述する送信先情報蓄積部34が蓄積した送信先情報に基づいて、返信パケットを送信する。すなわち、返信パケット送信部32は、送信先情報の示すアドレス、ポート番号に返信パケットを送信する。この返信パケットは、例えば、UDPのパケットである。この要求パケットのペイロードには、例えば、要求パケット受信部31が受信した要求パケットを識別する情報等の何らかの情報が含まれていてもよく、あるいは、含まれていなくてもよい。なお、返信パケット送信部32は、送信を行うための送信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、返信パケット送信部32と通信回線100との間に図示しない送信デバイスが存在することとなる)。また、返信パケット送信部32は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
履歴パケット受信部33は、情報処理装置1から送信された履歴パケットを受信する。なお、履歴パケット受信部33は、受信を行うための受信デバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい(この場合には、履歴パケット受信部33と通信回線100との間に図示しない受信デバイスが存在することとなる)。また、履歴パケット受信部33は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
送信先情報蓄積部34は、履歴パケット受信部33が受信した履歴パケットに基づいて、送信先情報を所定の記録媒体に蓄積する。ここで、送信先情報とは、返信パケットの送信先に関する情報である。具体的には、送信先情報蓄積部34は、履歴パケット受信部33が受信した履歴パケットのヘッダに含まれる送信元アドレス、送信元ポート番号を読み出し、その送信元アドレスと、送信元ポート番号とを含む送信先情報を蓄積する。履歴パケットの送信元アドレスは、通信処理装置2の通信回線100側のアドレスであり、履歴パケットの送信元ポート番号は、通信処理装置2の通信回線100側のポート、すなわち履歴ポートの位置を示すポート番号である。履歴パケットに所定の識別情報が含まれる場合に、送信先情報蓄積部34は、その識別情報に対応付けて送信先情報を蓄積してもよい。送信先情報が蓄積される所定の記録媒体は、例えば、半導体メモリや、光ディスク、磁気ディスク等であり、送信先情報蓄積部34が有していてもよく、あるいは送信先情報蓄積部34の外部に存在してもよい。
なお、要求パケット受信部31、返信パケット送信部32、履歴パケット受信部33の任意の2以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
次に、履歴パケット、要求パケット、返信パケットの通過するポートについて、具体的に説明する。図2は、履歴パケット、要求パケット、返信パケットの通過するポートについて説明するための図である。図2で示されるように、情報処理装置1から送信される履歴パケットは、ポートP1、P4、P7から送信される。そして、それらの各履歴パケットは、通信処理装置2の通信回線100側のポートP2、P5、P8を通過し、サーバ装置3のポートP3、P6、P9で受信される。ポートP2、P5、P8が履歴ポートである。
ここで、履歴パケットが通過する通信処理装置2のポートP2、P5、P8は、そのポートP2、P5、P8を初回の履歴パケットが通過する時に、通信処理装置2において新
たに割り当てられるものである。すなわち、他の情報処理装置やサーバ装置との通信で用いられていない通信処理装置2のポートを用いて履歴パケットの送信を行うことが大切である。例えば、ポートP2がそれまでに他の用途のために用いられており、履歴パケットの送信から返信パケットの送信までに、ポートP2を介して他の通信が行われた場合には、正確なポート維持時間の検出を行うことができないからである。なお、ポートP2等が、初回の履歴パケットが通過する時に、通信処理装置2において新たに割り当てられるものであるようにするためには、例えば、情報処理装置1のポートP1等として、新たなポート、すなわち、それまでに他の通信で用いていないポートを用いればよい。また、ポートP2、P5、P8は、互いに異なるポートでなければならない。複数の履歴ポートが互いに異ならなければ、正確なポート維持時間の検出ができないからである。ポートP2、P5、P8が互いに異なるポートであるためには、例えば、ポートP1、P4、P7が互いに異なるポートであればよい。
その後、情報処理装置1のポートP10から要求パケットが送信される。この要求パケットは、通信処理装置2の通信回線100側のポートP11を介してサーバ装置3のポートP12に送信される。ここで、ポートP11は、ポートP2、P5、P8のいずれとも異なっていなければならない。例えば、履歴パケットの送信から返信パケットの送信までに、ポートP2を介して要求パケットが送信された場合には、正確なポート維持時間の検出を行うことができないからである。なお、ポートP2、P5、P8とポートP11とが異なるようにするためには、例えば、情報処理装置1のポートP1、P4、P7と、ポートP10とを異なるポートとすればよい。あるいは、通信処理装置2のポート割り当てルールの種類によっては、ポートP1、P4、P7とポートP10とが同一のポートであっても、ポートP3、P6、P9とポートP12とが異なればよい場合もある。一方、ポートP1、P4、P7とポートP10とが異なっているのであれば、ポートP3、P6、P9とポートP12とが同一のポートであったとしても、ポートP2、P5、P8とポートP11は異なるポートとなる。
返信パケットは、履歴パケットを受信したポートP3、P6、P9のいずれかから送信される。ポート維持時間が経過していない場合には、その返信パケットは、通信処理装置2のポートP2等を通過して情報処理装置1のポートP1等で受信される。一方、ポート維持時間が経過している場合には、通信処理装置2から情報処理装置1に返信パケットは送信されない。図2からわかるように、本実施の形態による情報処理システムでは、通信処理装置2の複数のポートP2、P5、P8を、履歴パケット、及び返信パケットが通過する。なお、ポートP2に関するポート維持時間が経過した後に、ポートP1からポートP3に対して履歴パケットが送信された場合には、通信処理装置2において新たなポート(例えば、ポートP2と異なるポートP13など)が割り当てられることもあり、あるいは、再度ポートP2が用いられることもある。これは、通信処理装置2の仕様に依存する。ただし、いずれの場合であっても処理自体に大きな違いはないので(ポートP2がポートP13などに変わるだけであるので)、説明の便宜上、ポート維持時間の経過後に情報処理装置1のポートP1から送信された履歴パケットに対して、ポートP2が割り当てられるものとして説明する。
なお、返信パケットが、履歴パケットを受信したポートP3等から送信される場合について説明したが、通信処理装置2の受信フィルタルールによっては、返信パケットは、ポートP3等から送信されなくてもよい。また、要求パケットが情報処理装置1の1個のポートP10から送信される場合について説明したが、要求パケットは複数のポートから送信されてもよい。また、要求パケットは複数のポートで受信されてもよい。例えば、要求パケットに対応する履歴パケットごとに、情報処理装置1が要求パケットを送信するポート及び要求パケットを受信するポートが違ってもよい。また、ポートP2、P5、P8がそれぞれ異なるのであれば、サーバ装置3のポートP3、P6、P9のうち、2以上のポ
ートが同一のポートであってもよい。
また、履歴パケットがサーバ装置3に送信される場合について説明したが、通信処理装置2の種類によっては、履歴パケットはサーバ装置3ではなく、他のサーバ装置に送信されてもよい。その場合には、履歴パケットを受信したサーバ装置から、履歴ポートの位置に関する情報がサーバ装置3に渡されてもよい。
次に、ポート維持時間の検出処理について説明する。ここでは、1個の履歴ポートに注目して説明する。まず、「待ち時間」について定義する。待ち時間とは、返信パケットが通信処理装置2の履歴ポートに到達した時点から、その直前にその履歴ポートをパケットが通過した時点までの時間である。ここで、返信パケットが通信処理装置2の履歴ポートに到達した後の通信処理装置2における処理としては、その返信パケットが通信処理装置2でアドレス変換され、情報処理装置1に送信される場合と、通信処理装置2におけるポート維持時間が経過しており、返信パケットが通信処理装置2でアドレス変換されない場合とがある。また、この待ち時間には、大きく分けて2つのパターンがある。パターン1は、待ち時間の始期に、履歴パケットが履歴ポートを通過する場合であり、パターン2は、待ち時間の始期に、返信パケットが履歴ポートを通過する場合である。ここで、待ち時間の始期とは、待ち時間のはじめの時点のことである。
まず、パターン1について説明する。図3(a)は、パターン1について説明するための図である。情報処理装置1から履歴パケットが送信されると、その履歴パケットは通信処理装置2の履歴ポートを通過する。その後、しばらくしてから情報処理装置1から要求パケットが送信されると、その要求パケットはサーバ装置3で受信され、サーバ装置3から返信パケットが通信処理装置2の履歴ポートに送信される。その返信パケットは、通信処理装置2の履歴ポートに到達し、ポート維持時間が経過する以前であれば、情報処理装置1に送信され、ポート維持時間が経過した後であれば、情報処理装置1には送信されない。この場合に、履歴パケットが通信処理装置2を通過してから、返信パケットが通信処理装置2に到達するまでの期間が待ち時間となる。
次に、パターン2について説明する。図3(b)は、パターン2について説明するための図である。情報処理装置1から送信された要求パケットに応じて、サーバ装置3から返信パケットが送信される。履歴ポートに関するポート維持時間が経過していないとすると、その返信パケットは通信処理装置2の履歴ポートを通過し、情報処理装置1で受信される。その後、しばらくしてから情報処理装置1から要求パケットが送信され、その要求パケットに応じてサーバ装置3から返信パケットが送信される処理は、パターン1と同様である。この場合に、返信パケットが通信処理装置2を通過してから、次の返信パケットが通信処理装置2に到達するまでの期間が待ち時間となる。ここで、パターン2の待ち時間の始期においては、返信パケットが通信処理装置2に到達するだけではなく、返信パケットが通信処理装置2から情報処理装置1に送信される必要がある。
待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを情報処理装置1が受信することができた場合には、通信処理装置2のポート維持時間は、この待ち時間以上であることがわかる。一方、待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを情報処理装置1が受信することができなかった場合には、通信処理装置2のポート維持時間は、この待ち時間よりも短いことがわかる。ここで、待ち時間の終期とは、待ち時間の終わりの時点のことである。このように、待ち時間を計測し、その待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを情報処理装置1が受信できるかどうかによって、通信処理装置2のポート維持時間を計測することができる。したがって、ポート維持時間検出部15は、1以上の待ち時間のうち、待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを返信パケット受信部14が受信で
きた待ち時間に基づいて、ポート維持時間を検出する。例えば、ポート維持時間検出部15は、1以上の待ち時間のうち、待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを返信パケット受信部14が受信できた待ち時間であり、かつ、一番長い待ち時間に基づいて、ポート維持時間を検出してもよい。ここで、「待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを返信パケット受信部14が受信できた待ち時間に基づいてポート維持時間を検出する」とは、例えば、その待ち時間をポート維持時間として検出してもよく、その待ち時間とは異なる時間をポート維持時間として検出してもよい、という意味である。後者の場合としては、その待ち時間から所定の時間、例えば、2,3秒程度を引いた待ち時間をポート維持時間として検出する場合がある。なお、ポート維持時間検出部15は、待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを返信パケット受信部14が受信できた待ち時間のうち、一番長い待ち時間ではない待ち時間に基づいてポート維持時間を検出してもよい。例えば、ポート維持時間検出部15は、待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを返信パケット受信部14が受信できた待ち時間のうち、2番目に長い待ち時間に基づいてポート維持時間を検出してもよく、待ち時間の終期に通信処理装置2の履歴ポートに到達した返信パケットを返信パケット受信部14が受信できた1以上の待ち時間のうち、いずれかの待ち時間に基づいてポート維持時間を検出するのであれば、その検出の方法は問わない。
次に、待ち時間の始期について説明する。待ち時間の始期に履歴ポートを通過するパケットには、図3で示されるように、履歴パケットと、返信パケットがある。したがって、待ち時間の計測を行う場合に、待ち時間の始期に履歴ポートを通過するパケットが毎回、履歴パケットであるパターン(これを「パターンA」とする)と、返信パケットを情報処理装置1が受信できたときには、その返信パケットを待ち時間の始期に履歴ポートを通過するパケットとし、返信パケットを情報処理装置1が受信できなかったときには、新たな履歴パケットを送信し、その履歴パケットを待ち時間の始期に履歴ポートを通過するパケットとするパターン(これを「パターンB」とする)と、待ち時間の始期に履歴ポートを通過するパケットが毎回、返信パケットであるパターン(これを「パターンC」とする)との3つのパターンについて考えることにする。なお、これら以外のパターンであってもよく、これらの3つのパターンに限定されないことは言うまでもない。また、以下の各パターンについての説明でも、1個の履歴ポートに注目して説明する。
[パターンA]
図4(a)は、パターンAについて説明するための図である。パターンAでは、図4(a)で示されるように、返信パケットを情報処理装置1が受信できたかどうかにかかわらず、情報処理装置1は、待ち時間の始期に履歴パケットを送信する。したがって、待ち時間の始期に履歴ポートを通過するパケットは、履歴パケットである。なお、1回目の待ち時間の場合にも、その待ち時間の始期に履歴パケットが送信されることは当然である。また、パケット送信制御部13は、要求パケットの送信を制御すると共に、待ち時間の始期における、履歴パケット送信部11による履歴パケットの送信を制御する。すなわち、パケット送信制御部13は、待ち時間の始期に履歴パケットが送信されるように、履歴パケット送信部11を制御する。
また、パターンAでは、ポート維持時間検出部15は、返信パケット受信部14による返信パケットの受信と共に、履歴パケット送信部11による履歴パケットの送信に基づいて、通信処理装置2のポート維持時間を検出する。厳密には、図3(a)で示されるように、待ち時間の始期は履歴パケットが通信処理装置2を通過する時点となるが、情報処理装置1が、履歴パケットが通信処理装置2を通過する時点を知ることは困難である。したがって、図4(a)で示されるように、ポート維持時間検出部15において、待ち時間の始期に履歴パケットが通信処理装置2を通過する時点を、履歴パケットの送信時点とする
。なお、図4(a)は、2以上の要求パケットを送信する場合を想定した図となっているが、情報処理装置1が送信する要求パケットは、1個のみであってもよい。
[パターンB]
図4(b)、(c)は、パターンBについて説明するための図である。パターンBでは、待ち時間の始期に履歴ポートを通過するパケットは、履歴パケットまたは返信パケットである。返信パケットを情報処理装置1が受信できた場合には、図4(b)で示されるように、情報処理装置1は、待ち時間の始期に履歴パケットを送信せず、その返信パケットが、待ち時間の始期に履歴ポートを通過するパケットとなる。一方、返信パケットを情報処理装置1が受信できなかった場合には、図4(c)で示されるように、情報処理装置1は、待ち時間の始期に履歴パケットを送信し、その履歴パケットが、待ち時間の始期に履歴ポートを通過するパケットとなる。なお、1回目の待ち時間の場合には、その待ち時間の始期に履歴パケットが送信されるものとする。また、パケット送信制御部13は、要求パケットの送信を制御すると共に、要求パケットに応じた返信パケットを返信パケット受信部14が受信できなかった場合に、次の待ち時間の始期に履歴パケットを送信するように、履歴パケット送信部11を制御する。
また、パターンBでは、ポート維持時間検出部15は、返信パケット受信部14による返信パケットの受信と共に、履歴パケット送信部11による履歴パケットの送信にも基づいて、通信処理装置2のポート維持時間を検出する。厳密には、図3(a)、(b)で示されるように、待ち時間の始期は履歴パケットまたは返信パケットが通信処理装置2を通過する時点となるが、情報処理装置1が、履歴パケットまたは返信パケットが通信処理装置2を通過する時点を知ることは困難である。したがって、図4(b)、(c)で示されるように、ポート維持時間検出部15において、待ち時間の始期に履歴ポートを通過するパケットが履歴パケットである場合には、待ち時間の始期である履歴ポートをパケットが通過した時点を、履歴パケットの送信時点とし、待ち時間の始期に履歴ポートを通過するパケットが返信パケットである場合には、待ち時間の始期である履歴ポートをパケットが通過した時点を、返信パケットの受信時点とする。
[パターンC]
パターンCについて、図4(b)を用いて説明する。パターンCでは、図4(b)で示されるように、待ち時間の始期に履歴ポートを通過するパケットは、返信パケットである。また、パケット送信制御部13は、要求パケットを送信するごとに、待ち時間が増加するように、要求パケットの送信を制御する。このパターンでは、待ち時間の始期に履歴ポートを返信パケットが通過しなければならないため、返信パケットを情報処理装置1が受信できなくなると、ポート維持時間の検出処理を終了することになるからである。なお、厳密には、図3(b)で示されるように、待ち時間の始期は返信パケットが通信処理装置2を通過する時点となるが、情報処理装置1が、返信パケットが通信処理装置2を通過する時点を知ることは困難である。したがって、図4(b)で示されるように、ポート維持時間検出部15において、待ち時間の始期である履歴ポートをパケットが通過した時点を、返信パケットの受信時点とする。
次に、待ち時間の終期について説明する。ここでも、1個の履歴ポートに注目して説明する。待ち時間の終期は、図3で示されるように、返信パケットが通信処理装置2の履歴ポートに到達した時点である。しかしながら、情報処理装置1が、返信パケットが通信処理装置2の履歴ポートに到達した時点を知ることは困難である。したがって、待ち時間の計測を行う場合に、ポート維持時間検出部15において、図5(a)で示されるように、待ち時間の終期である返信パケットの通信処理装置2の履歴ポートへの到達時点を、その返信パケットの送信を要求する要求パケットの送信時点としてもよい(このパターンを「パターンD」とする)。また、待ち時間の計測を行う場合に、ポート維持時間検出部15
において、図5(b)で示されるように、待ち時間の終期である返信パケットの通信処理装置2の履歴ポートへの到達時点を、その返信パケットの情報処理装置1による受信時点としてもよい(このパターンを「パターンE」とする)。また、待ち時間の計測を行う場合に、ポート維持時間検出部15において、待ち時間の終期である返信パケットの通信処理装置2の履歴ポートへの到達時点を、情報処理装置1が返信パケットを受信できた場合には、図5(b)で示されるように、その返信パケットの受信時点とし、情報処理装置1が返信パケットを受信できなかった場合には、図5(c)で示されるように、その返信パケットの送信を要求した要求パケットの送信時点としてもよい(このパターンを「パターンF」とする)。なお、これらの3つのパターン以外であってもよく、これらのパターンに限定されないことは言うまでもない。また、その終期に送信された返信パケットを受信できた待ち時間に基づいて、ポート維持時間の検出が行われるため、パターンEと、パターンFとでは、検出されるポート維持時間は同じになる。
次に、パケット送信制御部13による要求パケットの送信の制御について説明する。パケット送信制御部13は、例えば、各履歴ポートについて、要求パケットを送信するごとに待ち時間が増加するように、要求パケットの送信を制御してもよく、各履歴ポートについて、要求パケットを送信するごとに、待ち時間が減少するように、要求パケットの送信を制御してもよい。また、パケット送信制御部13は、各履歴ポートについて、要求パケットに応じた返信パケットを受信できなくなるまで、要求パケットを送信するごとに待ち時間が増加するように、要求パケットの送信を制御し、要求パケットに応じた返信パケットを受信できなくなった場合に、返信パケットを受信できなかった待ち時間と、返信パケットを受信できた待ち時間のうち、一番長い待ち時間との間の待ち時間となるように要求パケットの送信を制御してもよい。返信パケットを受信できなかった待ち時間とは、その終期に送信された返信パケットを受信できなかった待ち時間のことである。返信パケットを受信できた待ち時間とは、その終期に送信された返信パケットを受信できた待ち時間のことである。ここで、パケット送信制御部13が、各履歴ポートについて、要求パケットを送信するごとに待ち時間が増加するように、要求パケットの送信を制御する場合に、ポート維持時間検出部15は、送信された要求パケットに応じた返信パケットを返信パケット受信部14が受信できなかったときに、ポート維持時間を検出してもよく、あるいは、一定の待ち時間の終期に送信された返信パケットを情報処理装置1が受信できたときに、要求パケットの送信を終了し、その一定の待ち時間を、ポート維持時間として検出してもよい。また、パケット送信制御部13は、初回の履歴パケットの送信からポート維持時間が検出されるまでの時間が最短となるように、要求パケットの送信を制御してもよい。この制御については、具体例を用いて詳細に説明する。パケット送信制御部13による要求パケットの送信の制御は、上記以外のアルゴリズムによって行われてもよく、通信処理装置2のポート維持時間を適切に検出できるのであれば、そのアルゴリズムは問わない。
なお、パケット送信制御部13が用いる待ち時間の始期は、前述のポート維持時間検出部15が用いる待ち時間の始期と同様であるが、パケット送信制御部13が用いる待ち時間の終期は、返信パケットの送信を要求する要求パケットの送信時であってもよい。すなわち、パケット送信制御部13において、待ち時間の終期である返信パケットの通信処理装置2の履歴ポートへの到達時点は、その返信パケットの送信を要求した要求パケットの送信時点であってもよい。なぜなら、パケット送信制御部13が要求パケットの送信を制御する段階では、その要求パケットに応じて送信される返信パケットを情報処理装置1が受信できるかどうかわからず、また、その返信パケットの受信の時点を知ることは不可能だからである。上記説明のように、パケット送信制御部13が用いる待ち時間と、ポート維持時間検出部15が用いる待ち時間とが異なる場合もありうる。
次に、本実施の形態による情報処理装置1の動作について、フローチャートを用いて説明する。なお、本実施の形態では、待ち時間の始期のパターンに応じて、フローチャート
が異なる。したがって、パターンA〜Cのそれぞれのフローチャートについて説明する。
図6は、本実施の形態による情報処理装置1のパターンAの場合の動作を示すフローチャートである。
(ステップS101)パケット送信制御部13は、待ち時間を設定する。ここで、パケット送信制御部13は、複数の待ち時間の設定を行うものとする。待ち時間を設定するとは、例えば、所定のメモリ等に待ち時間を記録することであってもよく、あるいは、あらかじめ複数の待ち時間を示す情報が所定の記録媒体で記憶されており、所定の待ち時間に対応付けてフラグを立てることであってもよく、その方法は問わない。
(ステップS102)パケット送信制御部13は、単数または複数の履歴パケットをサーバ装置3に送信するように履歴パケット送信部11を制御する。その結果、単数または複数の履歴パケットが履歴パケット送信部11から通信処理装置2を介してサーバ装置3に送信される。履歴パケット送信部11は、例えば、履歴パケット送信部11で生成した履歴パケットを送信する。ステップS101からステップS102に進んだ場合には、複数の履歴パケットが送信され、ステップS111からステップS102に進んだ場合には、単数の履歴パケットが送信される。複数の履歴パケットが送信される場合には、それらの複数の履歴パケットは通信処理装置2の異なるポートを介して送信される。
(ステップS103)パケット送信制御部13は、要求パケットを送信するタイミングかどうか判断する。そして、要求パケットを送信するタイミングである場合には、ステップS104に進み、そうでない場合には、ステップS105に進む。ここで、要求パケットを送信するタイミングかどうかは、履歴パケットが送信されてから、ステップS101、またはステップS111で設定された待ち時間が経過したかどうかによって判断される。
(ステップS104)パケット送信制御部13は、要求パケットをサーバ装置3に送信するように要求パケット送信部12を制御する。その結果、要求パケットが要求パケット送信部12からサーバ装置3に送信される。要求パケット送信部12は、例えば、要求パケット送信部12で生成した要求パケットを送信する。この要求パケットには、どの履歴ポートに返信パケットを送信するのかを示す情報が含まれていてもよく、あるいは、含まれていなくてもよい。
(ステップS105)返信パケット受信部14は、ステップS104で送信された要求パケットに対して、サーバ装置3から送信された返信パケットを受信したかどうか判断する。そして、返信パケットを受信した場合には、ステップS107に進み、そうでない場合には、ステップS106に進む。
(ステップS106)返信パケット受信部14は、タイムアウトであるかどうか判断する。ここで、タイムアウトとは、要求パケット送信部12が要求パケットを送信してから、例えば10秒などの所定の期間が経過したことをいう。タイムアウトである場合には、ステップS108に進み、そうでない場合には、ステップS103に戻る。
(ステップS107)ポート維持時間検出部15は、受信した返信パケットに基づいて、所定の受信処理を行う。ここで、所定の受信処理とは、例えば、履歴パケットが送信された時点から、返信パケットが受信された時点までを待ち時間として所定のメモリ等で記憶することなどである。
(ステップS108)パケット送信制御部13は、ポート維持時間を検出するかどうか判断する。ポート維持時間を検出する場合には、ステップS109に進み、そうでない場
合には、ステップS110に進む。
(ステップS109)ポート維持時間検出部15は、返信パケットを受信できた待ち時間に基づいて、ポート維持時間を検出する。そして、通信処理装置2のポート維持時間を検出する一連の処理は終了となる。
(ステップS110)パケット送信制御部13は、ステップS105において受信した返信パケットの通過した履歴ポート、あるいは、ステップS106においてタイムアウトとなった履歴ポートについて、次の履歴パケットの送信と要求パケットの送信とを行うかどうか判断する。なお、ステップS110では、ステップS105において受信した返信パケットの通過した履歴ポート、あるいは、ステップS106においてタイムアウトとなった履歴ポートについての判断を行っているため、例えば、ステップS110の判断時に、その他の履歴ポートについては次の要求パケットが送信される場合であっても、ステップS105において受信した返信パケットの通過した履歴ポート等について、次の要求パケットが送信されない場合には、次の要求パケットが送信されないと判断されることになる。そして、次の要求パケットを送信する場合には、ステップS111に進み、そうでない場合には、ステップS103に戻る。ここで、ステップS110において、次の要求パケットを送信しない場合とは、例えば、複数の履歴ポートのうち、ある履歴ポートについては、待ち時間が終了したが、他の履歴ポートについては、待ち時間が終了しておらず、その待ち時間の終了していない履歴ポートについて、要求パケットの送信を行うためにステップS103に戻る場合である。
(ステップS111)パケット送信制御部13は、新たに送信する履歴パケット等に関する待ち時間を設定する。そして、ステップS102に戻る。
なお、図6のフローチャートにおいて、ステップS108とステップS110との処理の順序は、逆であってもよい。すなわち、ステップS110において、次の要求パケットを送信するかどうか判断し、送信する場合にはステップS111に進み、送信しない場合にはステップS108に進んでもよい。そして、ステップS108において、ポート維持時間の検出を行う場合には、ステップS109に進み、そうでない場合にはステップS103に戻ってもよい。このように、このフローチャートでは、処理の順序にある程度の任意性がありうる。以下のフローチャートについても同様である。
また、図6のフローチャートの説明において、1回目に送信される履歴パケットも、2回目以降に送信される履歴パケットも、パケット送信制御部13による制御によって送信される場合について説明したが、1回目に送信される履歴パケットは、パケット送信制御部13による制御によらず、履歴パケット送信部11による判断によって送信されてもよい。
また、図6のフローチャートにおいて、各履歴ポートについて履歴パケットを1回のみ送信する場合には、図7で示されるフローチャートとなる。なお、図7のフローチャートにおける各処理は、図6のフローチャートにおける対応する処理と同様であり、その説明を省略する。
図8は、本実施の形態による情報処理装置1のパターンBの場合の動作を示すフローチャートである。なお、ステップS201、S202以外の処理は、図6のフローチャートと同様であり、その説明を省略する。ただし、ステップS107の所定の受信処理とは、例えば、待ち時間の始期が返信パケットの受信である場合に、ある返信パケットが受信された時点から、次の返信パケットが受信された時点までを待ち時間として所定のメモリ等で記憶することであってもよい。
(ステップS201)パケット送信制御部13は、要求パケットを送信するタイミングかどうか判断する。そして、要求パケットを送信するタイミングである場合には、ステップS104に進み、そうでない場合には、ステップS105に進む。ここで、要求パケットを送信するタイミングかどうかは、待ち時間の始期に履歴パケットが送信された場合(ステップS102)には、ステップS102で履歴パケットが送信されてからステップS101、またはステップS111で設定した待ち時間が経過したかどうかによって判断され、待ち時間の始期に履歴パケットが送信されなかった場合には、ステップS105で返信パケットが受信されてからステップS111で設定した待ち時間が経過したかどうかによって判断される。
(ステップS202)パケット送信制御部13は、ステップS105において返信パケットが受信されたのか、あるいは、ステップS106においてタイムアウトとなったのかについて判断する。すなわち、パケット送信制御部13は、ステップS105からステップS107を経由してステップS108に進んだのか、ステップS106からステップS108に進んだのか判断する。そして、返信パケットが受信された場合には、ステップS201に戻り、そうでない場合には、ステップS102に戻る。
図9は、本実施の形態による情報処理装置1のパターンCの場合の動作を示すフローチャートである。なお、ステップS301〜S305以外の処理は、図6のフローチャートと同様であり、その説明を省略する。ただし、ステップS107の所定の受信処理とは、例えば、ある返信パケットが受信された時点から、次の返信パケットが受信された時点までを待ち時間として所定のメモリ等で記憶することである。
(ステップS301)パケット送信制御部13は、複数の履歴パケットをサーバ装置3に送信するように履歴パケット送信部11を制御する。その結果、複数の履歴パケットが履歴パケット送信部11からサーバ装置3に送信される。
(ステップS302)パケット送信制御部13は、複数の要求パケットをサーバ装置3に送信するように要求パケット送信部12を制御する。その結果、複数の要求パケットが要求パケット送信部12からサーバ装置3に送信される。
(ステップS303)返信パケット受信部14は、ステップS302で送信された複数の要求パケットに対してサーバ装置3から送信された複数の返信パケットを受信したかどうか判断する。そして、複数の要求パケットに応じたすべての返信パケットを受信した場合には、ステップS304に進み、そうでない場合には、すべての返信パケットを受信するまでステップS303の処理を繰り返す。なお、サーバ装置3がダウンしているなどの理由で返信パケットを受信することができない場合には、返信パケット受信部14は、要求パケットが送信されてから例えば1分などの所定の時間が経過した後に、タイムアウトであると判断し、一連の処理を終了してもよい。
(ステップS304)パケット送信制御部13は、返信パケットが受信されてから要求パケットを送信するまでの時間である複数の待ち時間を設定する。この待ち時間は、ステップS301で送信された各履歴パケットの通過した各履歴ポートについて設定される。ここで、待ち時間を設定する処理については、ステップS101と同様であり、その説明を省略する。
(ステップS305)パケット送信制御部13は、要求パケットを送信するタイミングかどうか判断する。そして、要求パケットを送信するタイミングである場合には、ステップS104に進み、そうでない場合には、ステップS105に進む。ここで、要求パケットを送信するタイミングかどうかは、ステップS303あるいはステップS105で返信
パケットが受信されてからステップS304またはステップS111で設定した待ち時間が経過したかどうかによって判断される。
なお、図9のフローチャートのステップS302の処理において、複数の要求パケットが送信され、その複数の要求パケットにより、複数の履歴ポートへの返信パケットの送信がサーバ装置3に要求される場合について説明したが、1個の要求パケットが送信され、その1個の要求パケットによって、複数の履歴ポートへの返信パケットの送信がサーバ装置3に要求されてもよい。
また、図6〜図9のフローチャートのステップS106においてタイムアウトであると判断された場合に、例えば、ポート維持時間検出部15等は、タイムアウトである場合の何らかの処理を行ってもよい。
次に、本実施の形態によるサーバ装置3の動作について、図10のフローチャートを用いて説明する。
(ステップS401)履歴パケット受信部33は、情報処理装置1から送信された履歴パケットを受信したかどうか判断する。そして、履歴パケットを受信した場合には、ステップS402に進み、そうでない場合には、ステップS403に進む。
(ステップS402)送信先情報蓄積部34は、履歴パケット受信部33が受信した履歴パケットのヘッダから、送信元アドレスと、送信元ポート番号とを読み出し、その送信元アドレスと、送信元ポート番号とを含む送信先情報を所定の記録媒体に蓄積する。そして、ステップS401に戻る。
(ステップS403)要求パケット受信部31は、要求パケットを受信したかどうか判断する。そして、要求パケットを受信した場合には、ステップS404に進み、そうでない場合には、ステップS401に戻る。
(ステップS404)返信パケット送信部32は、送信先情報蓄積部34によって蓄積された送信先情報を読み出す。
(ステップS405)返信パケット送信部32は、ステップS404で読み出した送信先情報に基づいて、返信パケットを送信する。この返信先パケットの送信先は、読み出した送信先情報の示すアドレス、ポート番号である。返信パケット送信部32は、例えば、返信パケット送信部32で生成した返信パケットを送信する。そして、ステップS401に戻る。
なお、図10のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。この具体例では、パターンAにおいて、複数の履歴パケットを同時に1回だけ送信する場合(具体例1)、パターンAにおいて、要求パケットを送信するごとに待ち時間を増加させることによってポート維持時間を検出する場合(具体例2)、パターンAにおいて、要求パケットを送信するごとに待ち時間を減少させることによってポート維持時間を検出する場合(具体例3)、パターンBにおいて、初回の履歴パケットの送信からポート維持時間が検出されるまでの時間が最短となるように、要求パケットの送信が制御される場合(具体例4)、パターンCにおいて、要求パケットを送信するごとに待ち時間を増加させることによってポート維持時間を検出する場合(具体例5)についてそれぞれ説明する。
以下の具体例において、通信処理装置2のポート維持時間は特に明記しない限り1分18秒であるとする。また、要求パケットが送信された時点から10秒が経過しても返信パ
ケットが受信されない場合に、タイムアウトであると判断されるものとする。また、情報処理装置1は、図2で示されるように、通信処理装置2の3個の履歴ポートを用いて、通信処理装置2のポート維持時間の検出処理を行うものとする。また、情報処理装置1、通信処理装置2、サーバ装置3の各IPアドレスは、以下のとおりであるとする。なお、通信処理装置2のIPアドレスは、通信回線100側のアドレスである。
情報処理装置1:192.168.0.1
通信処理装置2:202.224.135.10
サーバ装置3:155.32.10.10
図11は、以下の具体例における履歴パケット、要求パケット、返信パケットの構成を示す図である。履歴パケット、要求パケット、返信パケットは、それぞれUDPヘッダを有しており、ペイロードには、パケット種類識別情報が含まれている。パケット種類識別情報は、パケットの種類を識別する情報である。情報処理装置1及びサーバ装置3は、そのパケット種類識別情報によって、パケットが履歴パケットであるのか、要求パケットであるのか、返信パケットであるのかを識別することができる。また、履歴パケット、要求パケット、返信パケットのペイロードには、ポート識別情報が含まれる。このポート識別情報は、履歴パケットの通過する履歴ポートを識別する情報である。履歴パケットに含まれるポート識別情報によって、サーバ装置3の送信先情報蓄積部34は、そのポート識別情報に対応付けて送信先情報を蓄積することができる。また、要求パケットに含まれるポート識別情報によって、サーバ装置3の返信パケット送信部32は、その要求パケットに含まれるポート識別情報に対応する送信先情報を読み出すことができ、その要求パケットに対応する履歴ポートに返信パケットを送信することができる。また、返信パケットに含まれるポート識別情報によって、情報処理装置1のパケット送信制御部13等は、どの履歴ポートに関する返信パケットが受信されたのかを知ることができる。
[具体例1]
この具体例では、パターンAにおいて、複数の履歴パケットが1回だけ送信され、パケット送信制御部13が、各履歴ポートに対応する要求パケットの送信を制御する場合について説明する。また、ポート維持時間検出部15は、送信されたすべての要求パケットに応じた返信パケットを返信パケット受信部14が受信した場合、あるいは、送信された要求パケットに応じた返信パケットを返信パケット受信部14が受信できなかった場合に、ポート維持時間を検出するものとする。また、待ち時間の終期については、パターンDであるとする。
まず、パケット送信制御部13は、待ち時間を「30秒」、「1分」、「1分30秒」に設定する(ステップS101)。その後、パケット送信制御部13の制御によって、履歴パケット送信部11は、図11(a)で示される構造を有する3個の履歴パケットをサーバ装置3のIPアドレス「155.32.10.10」に同時に送信する(ステップS102)。ここで、「同時に送信する」とは、3個の履歴パケットの送信タイミングが厳密に同一であることであってもよく、3個の要求パケットの送信タイミングがパケットの送信の制御等に要する時間(通常は無視可能な微少な時間である)だけずれていてもよい。また、待ち時間「30秒」に対応する履歴パケットのペイロードには、ポート識別情報「P001」が含まれており、待ち時間「1分」に対応する履歴パケットのペイロードには、ポート識別情報「P002」が含まれており、待ち時間「1分30秒」に対応する履歴パケットのペイロードには、ポート識別情報「P003」が含まれているとする。なお、パケット送信制御部13は、ポート識別情報と、待ち時間との対応を示す図12で示されるテーブルを図示しないメモリにおいて保持しているものとする。ポート識別情報P001を含む履歴パケットは、通信処理装置2のポート番号「12345」のポート(以下、「ポート12345」とする。他のポート番号についても同様であるとする)を介してサーバ装置3に送信されたとする。また、ポート識別情報P002を含む履歴パケット、
及びポート識別情報P003を含む履歴パケットは、それぞれ、通信処理装置2のポート12346、及びポート12347を介してサーバ装置3に送信されたとする。なお、パケット送信制御部13と、ポート維持時間検出部15とは、それぞれ履歴パケットが送信された時点からタイマによる計時を開始する。
サーバ装置3の履歴パケット受信部33は、3個の履歴パケットを受信し、それらの履歴パケットを送信先情報蓄積部34に渡す(ステップS401)。送信先情報蓄積部34は、それらの履歴パケットのペイロードからポート識別情報「P001」、「P002」、「P003」をそれぞれ読み出す。また、送信先情報蓄積部34は、また、それらの履歴パケットのヘッダから送信元アドレス「202.224.135.10」と、それぞれの送信元ポート番号「12345」、「12346」、「12347」とを読み出す。そして、ポート識別情報「P001」に対応付けて、送信元アドレス「202.224.135.10」と送信元ポート番号「12345」とを含む送信先情報を蓄積する。また、送信先情報蓄積部34は、同様にして、ポート識別情報「P002」に対応付けて、送信元アドレス「202.224.135.10」と、送信元ポート番号「12346」とを含む送信先情報を蓄積し、ポート識別情報「P003」に対応付けて、送信元アドレス「202.224.135.10」と、送信元ポート番号「12347」とを含む送信先情報を蓄積する(ステップS402)。図13は、送信先情報蓄積部34によって蓄積された装置識別情報と、送信先情報との対応を示す図である。図13の1番目から3番目までのレコードによって、通信処理装置2の3個の履歴ポートに関する、3個のポート識別情報と送信先情報との対応が示されている。
その後、パケット送信制御部13は、計時を開始してから、図12で示される待ち時間「30秒」、「1分」、「1分30秒」のいずれかが経過したかどうか判断し、タイマの値が30秒を示した時点で、要求パケットを送信するタイミングであると判断する(ステップS103)。そして、パケット送信制御部13は、ポート識別情報「P001」を含む要求パケットを送信するように要求パケット送信部12を制御する。その結果、要求パケット送信部12からサーバ装置3に、図11(b)で示される構造を有する要求パケットが送信される(ステップS104)。この要求パケットに含まれるポート識別情報は、「P001」である。なお、前述のように、この要求パケットは、履歴パケットが送信された情報処理装置1の履歴ポートとは異なるポートから送信される。ここでは、要求パケットが通信処理装置2のポート12355を介して送信されたものとする。また、ポート維持時間検出部15は、要求パケットが送信されるタイミングでタイマの値を取得し、その時点のタイマの値「30秒」を、待ち時間として保持しておく。なお、ポート維持時間検出部15は、その待ち時間をポート識別情報「P001」に対応付けて保持しておくものとする。このポート識別情報は、パケット送信制御部13から受け取ったものである。また、タイマによる計時は継続して行われているものとする。
その要求パケットは、サーバ装置3の要求パケット受信部31で受信され、返信パケット送信部32に渡される(ステップS403)。返信パケット送信部32は、要求パケットのペイロードに含まれるポート識別情報「P001」を読み出し、そのポート識別情報に対応付けて蓄積された送信先情報、すなわちIPアドレス「202.224.235.10」と、ポート番号「12345」とを読み出す(ステップS404)。そして、返信パケット送信部32は、その読み出したIPアドレス、ポート番号に、図11(c)で示される構造を有する返信パケット、すなわち、ペイロードにポート識別情報「P001」を有する返信パケットを送信する(ステップS405)。
その返信パケットは、通信処理装置2のポート12345に到達し、そのポートに関するポート維持時間「1分18秒」がまだ経過していないため、アドレス変換されて情報処理装置1に送信される。
情報処理装置1の返信パケット受信部14は、その返信パケットを受信し(ステップS105)、ポート識別情報「P001」を含む返信パケットを受信できた旨をパケット送信制御部13と、ポート維持時間検出部15とに渡す。すると、ポート維持時間検出部15は、待ち時間「30秒」に関する返信パケットを受信できた旨を保持しておく(ステップS107)。また、パケット送信制御部13は、返信パケットが受信され、かつ、3個の返信パケットのうち、1個の返信パケットを受信しただけであるため、要求パケットの送信を継続すると判断する(ステップS108)。
その後、上記説明と同様にして、パケット送信制御部13は、計時を開始してから、タイマの値が1分を示した時点で、要求パケットを送信するタイミングであると判断する(ステップS103)。そして、ポート識別情報「P002」を含む要求パケットを送信するように要求パケット送信部12を制御する。その結果、要求パケット送信部12からサーバ装置3に、ポート識別情報「P002」を含む要求パケットが送信される(ステップS104)。なお、この要求パケットは、通信処理装置2のポート12355を介して送信されたものとする。また、ポート維持時間検出部15も、要求パケットが送信されるタイミングでタイマの値を取得し、その時点のタイマの値「1分」を、ポート識別情報「P002」に対応付けて保持しておく。また、タイマによる計時は継続して行われているものとする。
その要求パケットは、上記説明と同様にして、サーバ装置3の要求パケット受信部31で受信される(ステップS403)。その後、ポート識別情報「P002」に対応するIPアドレス「202.224.235.10」と、ポート番号「12346」とが読み出され(ステップS404)、その読み出されたIPアドレス、ポート番号に、ポート識別情報「P002」を含む返信パケットが送信される(ステップS405)。
その返信パケットは、通信処理装置2のポート12346に到達し、そのポートに関するポート維持時間「1分18秒」がまだ経過していないため、アドレス変換されて情報処理装置1に送信される。
その返信パケットは、返信パケット受信部14で受信され(ステップS105)、待ち時間「1分」に対応する返信パケットが受信された旨がポート維持時間検出部15によって保持される(ステップS107)。また、パケット送信制御部13は、返信パケットが受信され、かつ、3個の返信パケットのうち、2個の返信パケットを受信しただけであるため、要求パケットの送信を継続すると判断する(ステップS108)。
その後、上記説明と同様にして、パケット送信制御部13は、計時を開始してから、タイマの値が1分30秒を示した時点で、要求パケットを送信するタイミングであると判断する(ステップS103)。そして、ポート識別情報「P003」を含む要求パケットを送信するように要求パケット送信部12を制御する。その結果、要求パケット送信部12からサーバ装置3に、ポート識別情報「P003」を含む要求パケットが送信される(ステップS104)。なお、この要求パケットは、通信処理装置2のポート12355を介して送信されたものとする。また、ポート維持時間検出部15も、要求パケットが送信されるタイミングでタイマの値を取得し、その時点のタイマの値「1分30秒」を、ポート識別情報「P003」に対応付けて保持しておく。ポート維持時間検出部15は、図12で示されるすべての待ち時間に対応する要求パケットを送信したため、タイマによる計時を終了する。
情報処理装置1から送信された要求パケットは、上記説明と同様にして、サーバ装置3の要求パケット受信部31で受信され(ステップS403)、IPアドレス「202.2
24.235.10」と、ポート番号「12347」に、ポート識別情報「P003」を含む返信パケットが送信される(ステップS404、S405)。
その返信パケットは、通信処理装置2のポート12347に到達するが、そのポートに関するポート維持時間「1分18秒」がすでに経過しているため、情報処理装置1に送信されない。したがって、情報処理装置1の返信パケット受信部14は、ポート識別情報「P003」を含む要求パケットが送信されてから10秒が経過した時点でタイムアウトであると判断し(ステップS106)、ポート識別情報「P003」を含む返信パケットを受信できなかった旨をポート維持時間検出部15に渡す。ポート維持時間検出部15は、待ち時間「1分30秒」に関する返信パケットを受信できなかった旨を保持しておく。
その後、パケット送信制御部13は、返信パケットが受信されなかったため、ポート維持時間の検出を行うタイミングであると判断し(ステップS108)、ポート維持時間の検出を行う旨の指示をポート維持時間検出部15に渡す。ポート維持時間検出部15は、その指示に応じて、返信パケットを受信することができた待ち時間「30秒」、「1分」のうち、一番長い待ち時間「1分」を、通信処理装置2のポート維持時間として検出する(ステップS109)。
なお、その後、その検出されたポート維持時間は、例えば、情報処理装置1の所定の処理部(図示せず)における処理で用いられる。この処理部の行う処理は、例えば、検出されたポート維持時間を所定の記録媒体(図示せず)に蓄積することであってもよく、その検出されたポート維持時間を定期的なパケットの送信周期として用いて、サーバ装置3等に定期的にパケットを送信することであってもよく、通信処理装置2のローカルネットワーク側に接続されている装置が定期的なパケットの送信を行う場合に、検出されたポート維持時間を、その装置に送信することであってもよく、あるいは、その他の処理であってもよい。このように、検出されたポート維持時間を用いるのは、情報処理装置1であってもよく、あるいは、通信処理装置2のローカルネットワーク側に接続された他の情報処理装置等であってもよい。また、そのポート維持時間を用いて定期的に送信されるパケットの送信先は、サーバ装置3であってもよく、あるいは、他のサーバ装置等であってもよい。また、検出されたポート維持時間よりも短い時間を、定期的に送信されるパケットの送信周期としてもよい。
図14は、この具体例における履歴パケットの送信と、要求パケットの送信と、返信パケットの受信(あるいは不受信)とについて説明するための図である。この場合には、30秒と、1分の待ち時間に対応する返信パケットを受信することができたが、1分30秒の待ち時間に対応する返信パケットを受信することができなかったため、ポート維持時間が1分と検出された。なお、図14において、ポート識別情報「P001」等で識別される各履歴ポートを「履歴ポートP001」等と表記し、履歴ポートごとに、履歴パケットの送信や、返信パケットの受信等について記載している。以下の具体例においても同様であるとする。
[具体例2]
この具体例では、待ち時間の始期がパターンAであり、各履歴ポートにおいて、要求パケットが送信されるごとに待ち時間が増加される場合について説明する。また、ポート維持時間検出部15は、要求パケットに応じた返信パケットを返信パケット受信部14が受信できなかった場合に、ポート維持時間を検出するものとする。また、待ち時間の終期については、パターンEであるとする。
図15は、情報処理装置1のパケット送信制御部13が保持している待ち時間設定情報である。この待ち時間設定情報において、待ち時間と、設定済フラグとが対応付けられて
いる。設定済フラグ「1」に対応する待ち時間が、要求パケットを送信するタイミングとしてすでに設定された待ち時間である。パケット送信制御部13は、この待ち時間設定情報において、設定済フラグが「0」に対応する待ち時間のうち、待ち時間の小さいものから順に、待ち時間の設定に用いるものとする。なお、図15の待ち時間設定情報では、待ち時間が「5分」までしか設定できないため、「5分」の待ち時間で送信された要求パケットに応じた返信パケットを情報処理装置1が受信することができた場合には、それ以上、要求パケットを送信せず、ポート維持時間の検出を行うものとする。
まず、パケット送信制御部13は、待ち時間を「30秒」、「1分」、「1分30秒」に設定する(ステップS101)。そして、図15で示されるように、待ち時間「30秒」、「1分」、「1分30秒」に対応する設定済フラグを「1」とする。その後、パケット送信制御部13の制御によって、履歴パケット送信部11は、3個の履歴パケットをサーバ装置3のIPアドレス「155.32.10.10」に同時に送信する(ステップS102)。待ち時間「30秒」、「1分」、「1分30秒」に対応する履歴パケットのペイロードに、ポート識別情報「P001」、「P002」、「P003」がそれぞれ含まれているのは、具体例1と同様である。なお、パケット送信制御部13は、履歴パケットが送信された時点からタイマによる計時を開始する。
パケット送信制御部13は、ポート識別情報と、待ち時間と、タイマの値との対応を示す図16で示されるテーブルを図示しないメモリにおいて保持しているものとする。このタイマの値は、時間の経過と共に更新されるものとする。なお、図16のテーブルにおいて、各タイマの値は、独立して更新されるものとする。図16(a)は、3個の履歴パケットが送信されてから15秒が経過した時点でのテーブルを示す図である。
情報処理装置1から送信された履歴パケットは、通信処理装置2においてアドレス変換され、サーバ装置3に送信される。そして、具体例1と同様にして、サーバ装置3の履歴パケット受信部33において受信され(ステップS401)、送信先情報蓄積部34によって送信先情報が蓄積される(ステップS402)。この具体例でも、送信先情報蓄積部34によって蓄積された送信先情報は、図13で示されるものとする。
その後、パケット送信制御部13は、図16で示されるテーブルにおいて、ポート識別情報「P001」に対応するタイマの値が、ポート識別情報「P001」に対応する待ち時間「30秒」を経過したかどうか判断する。そして、ポート識別情報「P001」に対応するタイマの値が「30秒」を示した時点で、要求パケットを送信するタイミングであると判断する(ステップS103)。そして、ポート識別情報「P001」を含む要求パケットを送信するように要求パケット送信部12を制御する。その結果、要求パケット送信部12は、ポート識別情報「P001」を含む要求パケットをサーバ装置3に送信する(ステップS104)。
その要求パケットは、サーバ装置3の要求パケット受信部31で受信される(ステップS403)。そして、具体例1と同様にして、返信パケット送信部32は、要求パケットのペイロードに含まれるポート識別情報「P001」を読み出し、そのポート識別情報に対応付けて蓄積された送信先情報を読み出し(ステップS404)、その読み出した送信先情報に基づいて、ポート識別情報「P001」を含む返信パケットを通信処理装置2に送信する(ステップS405)。
その返信パケットは、通信処理装置2のポート12345に到達し、そのポートに関するポート維持時間「1分18秒」がまだ経過していないため、アドレス変換されて情報処理装置1に送信される。
情報処理装置1の返信パケット受信部14は、その返信パケットを受信し(ステップS105)、ポート識別情報「P001」を含む返信パケットを受信できた旨をパケット送信制御部13に渡す。すると、パケット送信制御部13は、その時点でのポート識別情報「P001」に対応するタイマの値「31秒」を、返信パケットを受信することができた待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、待ち時間「31秒」を、返信パケットを受信できた待ち時間として保持しておく(ステップS107)。ここで、この具体例では、要求パケットの送信時点から返信パケットの受信時点までの時間を「1秒」であるとしているが、この時間は、通信回線100の状況やサーバ装置3の処理スピード等に応じて、例えば、0.5秒や、2秒、3秒というように変化するものである。ただし、以下の具体例においても、要求パケットの送信時点から返信パケットの受信時点までの時間を「1秒」であるとする。
パケット送信制御部13は、返信パケットが受信されたため、ポート維持時間の検出を行わないと判断する(ステップS108)。また、パケット送信制御部13は、図15で示される待ち時間設定情報において設定済フラグが「0」である待ち時間があるため、次の要求パケットを送信すると判断し(ステップS110)、返信パケットを受信したポート識別情報「P001」に対応する待ち時間を「2分」に設定する。そして、待ち時間設定情報において、待ち時間「2分」に対応する設定済フラグを「1」に更新する(ステップS111)。
その後、上記説明と同様にして、ポート識別情報「P001」を含む履歴パケットがサーバ装置3に送信され、その履歴パケットの送信時から、図16で示されるテーブルにおいて、ポート識別情報「P001」に対応するタイマによる新たな計時が開始される(ステップS102)。図16(b)は、その履歴パケットが送信されてから5秒が経過した時点でのテーブルを示す図である。なお、図16(b)において、説明の便宜上、返信パケットが受信されてから履歴パケットが送信されるまでの時間を無視している。
情報処理装置1から送信されたその履歴パケットに基づいて、サーバ装置3において送信先情報が蓄積されるが、この場合には、ポート識別情報「P001」に対応する送信先情報がすでに蓄積されているため、その送信先情報に上書きで蓄積されるものとする。なお、履歴ポートに関するポート維持時間が経過していないため、上書きで蓄積された送信先情報も、図13の1番目のレコードと同様である。
また、図16で示されるテーブルにおいて、ポート識別情報「P002」に対応するタイマの値が、ポート識別情報「P002」に対応する待ち時間「1分」を示した時点で、上記説明と同様にして、ポート識別情報「P002」を含む要求パケットが送信される(ステップS103、S104)。その要求パケットに応じて送信された返信パケットも、通信処理装置2においてポート維持時間「1分18秒」がまだ経過していないため、アドレス変換されて情報処理装置1に送信される。
情報処理装置1の返信パケット受信部14は、その返信パケットを受信し(ステップS105)、ポート識別情報「P002」を含む返信パケットを受信できた旨をパケット送信制御部13に渡す。すると、パケット送信制御部13は、その時点でのポート識別情報「P002」に対応するタイマの値「1分1秒」を、返信パケットを受信することができた待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、待ち時間「1分1秒」を、返信パケットを受信できた待ち時間として保持しておく(ステップS107)。
パケット送信制御部13は、返信パケットが受信されたため、ポート維持時間の検出を行わないと判断する(ステップS108)。また、パケット送信制御部13は、図15で
示される待ち時間設定情報において設定済フラグが「0」である待ち時間があるため、次の要求パケットを送信すると判断し(ステップS110)、返信パケットを受信したポート識別情報「P002」に対応する待ち時間を「3分」に設定する。そして、待ち時間設定情報において、待ち時間「3分」に対応する設定済フラグを「1」に更新する(ステップS111)。
その後、上記説明と同様にして、ポート識別情報「P002」を含む履歴パケットが送信され、その履歴パケットの送信時から、図16で示されるテーブルにおいて、ポート識別情報「P002」に対応するタイマによる新たな計時が開始される(ステップS102)。
また、図16で示されるテーブルにおいて、ポート識別情報「P003」に対応するタイマの値が、ポート識別情報「P003」に対応する待ち時間「1分30秒」を示した時点で、上記説明と同様にして、ポート識別情報「P003」を含む要求パケットが送信される(ステップS103、S104)。その要求パケットに応じて送信された返信パケットは、通信処理装置2においてポート維持時間「1分18秒」が経過しているため、アドレス変換されず、情報処理装置1に送信されない。その結果、ポート識別情報「P003」を含む要求情報が送信されてから10秒が経過した時点で、タイムアウトであると判断される(ステップS106)。そして、返信パケット受信部14は、返信パケットを受信できなかった旨をパケット送信制御部13に渡す。すると、パケット送信制御部13は、ポート維持時間を検出するタイミングであると判断し(ステップS108)、ポート維持時間の検出を行う旨の指示をポート維持時間検出部15に渡す。ポート維持時間検出部15は、その指示に応じて、返信パケットを受信することができた待ち時間「31秒」、「1分1秒」のうち、一番長い待ち時間「1分1秒」を、通信処理装置2のポート維持時間として検出する(ステップS109)。なお、この後のポート維持時間を用いた処理は、具体例1と同様であり、その説明を省略する。
図17は、この具体例における履歴パケットの送信と、要求パケットの送信と、返信パケットの受信(あるいは不受信)とについて説明するための図である。この場合には、30秒と、1分の待ち時間に対応する返信パケットを受信することができたが、1分30秒の待ち時間に対応する返信パケットを受信することができなかったため、ポート維持時間が1分と検出された。なお、待ち時間「2分」、「3分」のそれぞれの始期における履歴パケットは送信されたが、その履歴パケットの送信から待ち時間が経過する以前に、返信パケットの不受信があったため、ポート維持時間が検出されることになった。したがって、この場合には、待ち時間「2分」、「3分」の終期に履歴ポートに到達する返信パケットの送信を要求する要求パケットは送信されず、また、サーバ装置3からのそれらの返信パケットの送信も行われない。
なお、この具体例では、サーバ装置3が履歴パケットを受信した場合に、装置識別情報に対応する送信先情報を上書きで蓄積する場合について説明したが、送信先情報に変更がない場合には、その上書きでの送信先情報の蓄積を行わなくてもよい。
また、この具体例では、各履歴ポートにおいて、要求パケットが送信されるごとに待ち時間が増加される場合について説明したが、この場合には、複数の履歴ポートの全体については、要求パケットが送信されるごとに待ち時間が増加しなくてもよい。例えば、ある履歴ポートについて、1分、5分の順番で待ち時間が設定され、他の履歴ポートについて、3分、4分の順番で待ち時間が設定された場合には、各履歴ポートにおいては、要求パケットが送信されるごとに待ち時間が増加されることになるが、複数の履歴ポートの全体としては、待ち時間5分に関する要求パケットが送信された後に、待ち時間4分に関する要求パケットが送信されることになる。一方、複数の履歴ポートの全体について、要求パ
ケットが送信されるごとに待ち時間が増加されるようにしてもよい。
[具体例3]
この具体例では、待ち時間の始期がパターンAであり、各履歴ポートにおいて、要求パケットが送信されるごとに待ち時間が減少される場合について説明する。また、ポート維持時間検出部15は、要求パケットに応じた返信パケットを返信パケット受信部14が受信できた場合であって、その返信パケットを受信できた待ち時間よりも長い待ち時間の終期に送信される返信パケットの受信の可否が決定された後に、ポート維持時間を検出するものとする。また、待ち時間の終期については、パターンFであるとする。
この具体例でも、図15で示される待ち時間設定情報を用いて待ち時間の設定を行うものとする。ただし、この具体例では、パケット送信制御部13は、図15で示される待ち時間設定情報において、設定済フラグが「0」に対応する待ち時間のうち、待ち時間の大きいものから順に、待ち時間の設定に用いるものとする。
まず、パケット送信制御部13は、待ち時間を「5分」、「4分」、「3分」に設定する(ステップS101)。そして、図18で示されるように、待ち時間「5分」、「4分」、「3分」に対応する設定済フラグを「1」とする。その後、パケット送信制御部13の制御によって、履歴パケット送信部11は、3個の履歴パケットをサーバ装置3のIPアドレス「155.32.10.10」に同時に送信する(ステップS102)。待ち時間「5分」、「4分」、「3分」に対応する履歴パケットのペイロードに、ポート識別情報「P001」、「P002」、「P003」がそれぞれ含まれているとする。なお、パケット送信制御部13は、履歴パケットが送信された時点からタイマによる計時を開始する。また、パケット送信制御部13では、図16と同様のテーブルを用いて、要求パケットの送信タイミングの制御を行うものとする。
情報処理装置1から送信された履歴パケットは、通信処理装置2においてアドレス変換され、サーバ装置3に送信される。そして、具体例1と同様にして、サーバ装置3の履歴パケット受信部33において受信され(ステップS401)、送信先情報蓄積部34によって送信先情報が蓄積される(ステップS402)。この具体例でも、送信先情報蓄積部34によって蓄積された送信先情報は、図13で示されるものとする。
その後、パケット送信制御部13は、図16で示されるテーブルにおいて、ポート識別情報「P003」に対応するタイマの値が、ポート識別情報「P003」に対応する待ち時間「3分」を示した時点で、要求パケットを送信するタイミングであると判断する(ステップS103)。そして、ポート識別情報「P003」を含む要求パケットを送信するように要求パケット送信部12を制御する。その結果、要求パケット送信部12は、ポート識別情報「P003」を含む要求パケットをサーバ装置3に送信する(ステップS104)。なお、パケット送信制御部13は、要求パケットの送信されるタイミングで、その時点のタイマの値「3分」を取得し、一時的に保持しておく。ただし、ポート識別情報「P003」に対応するタイマによる計時は継続して行われているものとする。
その要求パケットに応じて送信された返信パケットは、通信処理装置2においてポート維持時間「1分18秒」が経過しているため、アドレス変換されず、情報処理装置1に送信されない。その結果、ポート識別情報「P003」を含む要求情報が送信されてから10秒が経過した時点で、タイムアウトであると判断される(ステップS106)。そして、返信パケット受信部14は、返信パケットを受信できなかった旨をパケット送信制御部13に渡す。パケット送信制御部13は、要求パケットの送信時に一時的に保持したタイマの値「3分」を、返信パケットを受信できなかった待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、その待ち時間「3分」を、返信パケットを
受信できなかった待ち時間として保持しておく。
パケット送信制御部13は、返信パケットが受信されなかったため、ポート維持時間の検出を行わないと判断する(ステップS108)。また、パケット送信制御部13は、図18で示される待ち時間設定情報において設定済フラグが「0」である待ち時間があるため、次の要求パケットを送信すると判断し(ステップS110)、返信パケットを受信したポート識別情報「P003」に対応する待ち時間を「2分」に設定する。そして、待ち時間設定情報において、待ち時間「2分」に対応する設定済フラグを「1」に更新する(ステップS111)。
その後、上記説明と同様にして、ポート識別情報「P003」を含む履歴パケットがサーバ装置3に送信され、その履歴パケットの送信時から、図16で示されるテーブルにおいて、ポート識別情報「P003」に対応するタイマによる新たな計時が開始される(ステップS102)。その履歴パケットに基づいて、サーバ装置3において送信先情報が蓄積されるが、この場合には、ポート識別情報「P003」に対応する送信先情報がすでに蓄積されているため、その送信先情報に上書きで蓄積されるものとする。
図19は、この具体例における履歴パケットの送信と、要求パケットの送信と、返信パケットの受信(あるいは不受信)とについて説明するための図である。図19で示されるように、ポート識別情報「P002」で識別される履歴ポートについても、待ち時間「4分」の終期にサーバ装置3から送信された返信パケットは、情報処理装置1において受信されない。そして、待ち時間「1分30秒」が設定され、新たな履歴パケットが送信される。また、ポート識別情報「P001」で識別される履歴ポートについても、待ち時間「5分」の終期にサーバ装置3から送信された返信パケットは、情報処理装置1において受信されない。そして、待ち時間「1分」が設定され、新たな履歴パケットが送信される。また、ポート識別情報「P003」で識別される履歴ポートについても、待ち時間「2分」の終期にサーバ装置3から送信された返信パケットは、情報処理装置1において受信されない。そして、待ち時間「30秒」が設定され、新たな履歴パケットが送信される。
ポート識別情報「P003」で識別される履歴ポートについて、待ち時間「30秒」の終期にサーバ装置3から送信された返信パケットは、通信処理装置2のポート維持時間「1分18秒」が経過していないため、アドレス変換され、情報処理装置1に送信される。その結果、情報処理装置1において、返信パケットが受信され(ステップS105)、ポート識別情報「P003」を含むパケット送信制御部13に返信パケットが受信された旨が渡される。パケット送信制御部13は、ポート識別情報「P003」に対応するタイマの値「31秒」を、返信パケットを受信することができた待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、その待ち時間「31秒」を、返信パケットを受信することができた待ち時間として保持しておく(ステップS107)。なお、パケット送信制御部13において、要求パケット送信時に一時的に保持された待ち時間「30秒」は、廃棄されるものとする。
なお、返信パケットが受信されたが、その返信パケットを受信できた待ち時間よりも長い待ち時間「1分」、「1分30秒」の終期に送信される返信パケットの受信の可否が決定されていないため、パケット送信制御部13は、ポート維持時間の検出を行わないと判断する(ステップS108)。一方、図18で示される待ち時間設定情報において、設定済フラグ「0」に対応する待ち時間がないため、次の要求パケットは送信しないと判断し(ステップS110)、新たな待ち時間の設定は行わない。
その後、ポート識別情報「P002」で識別される履歴ポートについて、待ち時間「1分30秒」の終期にサーバ装置3から送信された返信パケットは、情報処理装置1におい
て受信されない。この場合も、待ち時間「1分」の終期に送信される返信パケットの受信の可否が決定されていないため、パケット送信制御部13は、ポート維持時間の検出を行わないと判断する(ステップS108)。一方、図18で示される待ち時間設定情報において、設定済フラグ「0」に対応する待ち時間がないため、次の要求パケットは送信しないと判断し(ステップS110)、新たな待ち時間の設定は行わない。
その後、ポート識別情報「P001」で識別される履歴ポートについて、待ち時間「1分」の終期にサーバ装置3から送信された返信パケットは、通信処理装置2のポート維持時間「1分18秒」が経過していないため、アドレス変換され、情報処理装置1に送信される。その結果、情報処理装置1において、返信パケットが受信され(ステップS105)、ポート識別情報「P001」を含むパケット送信制御部13に返信パケットが受信された旨が渡される。パケット送信制御部13は、ポート識別情報「P001」に対応するタイマの値「1分1秒」を、返信パケットを受信することができた待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、その待ち時間「1分1秒」を、返信パケットを受信することができた待ち時間として保持しておく(ステップS107)。
パケット送信制御部13は、待ち時間「1分」、「1分30秒」の終期に送信される返信パケットの受信の可否が決定されたため、ポート維持時間の検出を行うと判断し(ステップS108)、ポート維持時間の検出を行う旨の指示をポート維持時間検出部15に渡す。ポート維持時間検出部15は、その指示に応じて、返信パケットを受信することができた待ち時間「31秒」、「1分1秒」のうち、一番長い待ち時間「1分1秒」を、通信処理装置2のポート維持時間として検出する(ステップS109)。なお、この後のポート維持時間を用いた処理は、具体例1と同様であり、その説明を省略する。
[具体例4]
この具体例では、待ち時間の始期がパターンBであり、パターンBにおいて、初回の履歴パケットの送信からポート維持時間が検出されるまでの時間が最短となるように、要求パケットの送信が制御される場合について説明する。また、ポート維持時間検出部15は、要求パケットに応じた返信パケットを受信できなかった場合であって、その返信パケットを受信できなかった待ち時間よりも短い待ち時間の終期に送信される返信パケットの受信の可否が決定された後に、ポート維持時間を検出するものとする。また、待ち時間の終期については、パターンDであるとする。また、この具体例では、通信処理装置2のポート維持時間が2分30秒であるとする。
この具体例では、ポート識別情報「P001」で識別される履歴ポートについては、待ち時間が「1分」、「4分」の順に設定され、ポート識別情報「P002」で識別される履歴ポートについては、待ち時間が「3分」、「2分」の順に設定され、ポート識別情報「P003」で識別される履歴ポートについては、待ち時間が「5分」に設定されるとあらかじめ決められているものとする。なお、上記各具体例で説明した処理については、詳細な説明を省略する場合がある。
まず、パケット送信制御部13は、待ち時間を「1分」、「3分」、「5分」に設定する(ステップS101)。その後、ポート識別情報「P001」、「P002」、「P003」をそれぞれ含む3個の履歴パケットがサーバ装置3に送信される(ステップS102)。また、その履歴パケットの送信から、履歴ポートごとに、タイマによる計時が開始される。なお、図20は、この具体例における履歴パケットの送信と、要求パケットの送信と、返信パケットの受信(あるいは不受信)とについて説明するための図である。
その履歴パケットの送信から、1分が経過した時点で、パケット送信制御部13は、ポ
ート識別情報「P001」で識別される履歴ポートに関する要求パケットを送信するタイミングであると判断する(ステップS201)。その結果、パケット送信制御部13の制御により、ポート識別情報「P001」を含む要求パケットが要求パケット送信部12から送信される(ステップS104)。なお、パケット送信制御部13は、その要求パケットの送信時における、ポート識別情報「P001」に対応するタイマの値「1分」を保持しておく。
その要求パケットに応じてサーバ装置3から送信された返信パケットは、通信処理装置2のポート維持時間「2分30秒」がまだ経過していないため、アドレス変換されて情報処理装置1に送信される。その返信パケットは、返信パケット受信部14で受信され(ステップS105)、ポート識別情報「P001」を含む返信パケットが受信された旨がパケット送信制御部13に渡される。パケット送信制御部13は、保持していたポート識別情報「P001」に対応するタイマの値「1分」を、返信パケットを受信することができた待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、待ち時間「1分」を、返信パケットを受信できた待ち時間として保持しておく(ステップS107)。
返信パケットを受信することができたため、パケット送信制御部13は、ポート維持時間の検出を行わないと判断する(ステップS108)。また、ポート識別情報「P001」で識別される履歴ポートについては、待ち時間「1分」の次は、待ち時間「4分」である旨があらかじめ決められているため、パケット送信制御部13は、次の要求パケットを送信すると判断し、待ち時間「4分」を設定する(ステップS110、S111)。なお、返信パケットが受信されたため、新たな履歴パケットの送信は行われない(ステップS202)。なお、パケット送信制御部13は、返信パケットが受信された時点から、ポート識別情報「P001」に対応するタイマによる新たな計時を開始する。
その後、ポート識別情報「P002」に対応するタイマの値が3分となった時点で、要求パケットを送信するタイミングであると判断され(ステップS201)、ポート識別情報「P002」を含む要求パケットが送信される(ステップS104)。その要求パケットに応じてサーバ装置3から送信された返信パケットは、通信処理装置2におけるポート維持時間「2分30秒」がすでに経過しているため、情報処理装置1に送信されない。したがって、要求パケットが送信されてから10秒が経過した時点で、タイムアウトであると判断され(ステップS106)、ポート識別情報「P002」を含む返信パケットを受信できなかった旨がパケット送信制御部13に渡される。その結果、パケット送信制御部13は、保持していたポート識別情報「P002」に対応するタイマの値「3分」を、返信パケットを受信することができなかった待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、待ち時間「3分」を、返信パケットを受信できなかった待ち時間として保持しておく(ステップS107)。
また、パケット送信制御部13は、要求パケットに応じた返信パケットを受信できなかったが、その返信パケットを受信できなかった待ち時間「3分」よりも短い待ち時間「2分」の終期に送信される返信パケットの受信の可否が決定されていないため、まだポート維持時間の検出を行わないと判断する(ステップS108)。その後、ポート識別情報「P002」に対応する待ち時間が「2分」に設定され(ステップS110、S111)、返信パケットの受信がなされなかったため、ポート識別情報「P002」を含む履歴パケットが送信される(ステップS202、S102)。その後、図20で示されるように、ポート識別情報「P003」で識別される履歴ポートについて、要求パケットが送信されるが、その要求パケットに応じた返信パケットを情報処理装置1は受信することができない。同様に、ポート識別情報「P001」で識別される履歴ポートについて、要求パケットが送信されるが、その要求パケットに応じた返信パケットを情報処理装置1は受信する
ことができない。一方、ポート識別情報「P002」で識別される履歴ポートについて、要求パケットが送信され、その要求パケットに応じた返信パケットは、情報処理装置1において受信される。その結果、パケット送信制御部13は、待ち時間「2分」の終期に送信される返信パケットの受信の可否が決定されたため、ポート維持時間の検出を行うタイミングであると判断し(ステップS108)、ポート維持時間の検出を行う旨の指示をポート維持時間検出部15に渡す。ポート維持時間検出部15は、その指示に応じて、返信パケットを受信することができた待ち時間「1分」、「2分」のうち、一番長い待ち時間「2分」を、通信処理装置2のポート維持時間として検出する(ステップS109)。なお、この後のポート維持時間を用いた処理は、具体例1と同様であり、その説明を省略する。
初回の履歴パケットの送信からポート維持時間が検出されるまでの時間が最短となるように、要求パケットの送信が制御されることにより、ポート維持時間を早期に検出することができうる。例えば、ポート識別情報「P001」で識別される履歴ポートの待ち時間を「1分」、「2分」の順に設定し、ポート識別情報「P002」で識別される履歴ポートの待ち時間を「3分」、「4分」の順に設定し、ポート識別情報「P003」で識別される履歴ポートの待ち時間を「5分」に設定することがあらかじめ決められている場合には、初回の履歴パケットが送信されてからポート維持時間が検出されるまで、最大で約7分かかることになるが、具体例4のように待ち時間を組み合わせることにより、初回の履歴パケットの送信からポート維持時間の検出までの時間が約5分となり、早期にポート維持時間を検出できることになる。
[具体例5]
この具体例では、待ち時間の始期がパターンCであり、各履歴ポートにおいて、要求パケットが送信されるごとに待ち時間が増加される場合について説明する。また、ポート維持時間検出部15は、要求パケットに応じた返信パケットを返信パケット受信部14が受信できなかった場合に、ポート維持時間を検出するものとする。また、待ち時間の終期については、パターンDであるとする。また、通信処理装置2のポート維持時間は、具体例4と同様に「2分30秒」であるとする。また、この具体例でも、図15で示される待ち時間設定情報を用いて、待ち時間の小さいものから順に待ち時間の設定を行うものとする。
図21は、この具体例における履歴パケットの送信と、要求パケットの送信と、返信パケットの受信(あるいは不受信)とについて説明するための図である。図21で示されるように、まず、パケット送信制御部13は、ポート識別情報「P001」、「P002」、「P003」を含む3個の履歴パケットを送信するように履歴パケット送信部11を制御する。その結果、履歴パケット送信部11から3個の履歴パケットがサーバ装置3に送信される(ステップS301)。この履歴パケットはサーバ装置3で受信され、この履歴パケットに基づいて、図13の1番目から3番目までのレコードで示される送信先情報が蓄積されるのは具体例1と同様である(ステップS401、S402)。パケット送信制御部13は、履歴パケットが送信された直後に、要求パケット送信部12を制御して、ポート識別情報「P001」、「P002」、「P003」を含む3個の要求パケットを送信させる(ステップS302)。サーバ装置3は、その3個の要求パケットを受信すると、各要求パケットに応じた返信パケットを送信する(ステップS403〜S405)。その返信パケットは、通信処理装置2の履歴ポートに到達し、アドレス変換されて情報処理装置1に送信される。返信パケット受信部14がその3個の返信パケットを受信すると、パケット送信制御部13は、図16と同様のテーブルにおいて、各ポート識別情報に対応するタイマによる計時を開始する。
その後、パケット送信制御部13は、ポート識別情報「P001」に対応する待ち時間
を「30秒」に設定し、ポート識別情報「P002」に対応する待ち時間を「1分」に設定し、ポート識別情報「P003」に対応する待ち時間を「1分30秒」に設定する(ステップS304)。そして、パケット送信制御部13は、ポート識別情報「P001」に対応するタイマの値が待ち時間「30秒」を示した時点で、要求パケットを送信するタイミングであると判断する(ステップS305)。その結果、要求パケット送信部12からサーバ装置3にポート識別情報「P001」を含む要求パケットが送信される(ステップS104)。なお、パケット送信制御部13は、要求パケットの送信時点でのタイマの値「30秒」を保持しておく。
その要求パケットに対応してサーバ装置3から送信された返信パケットは、通信処理装置2の履歴ポートに到達し、ポート維持時間「2分30秒」がまだ経過していないため、アドレス変換されて情報処理装置1に送信される。返信パケット受信部14がその返信パケットを受信すると(ステップS105)、パケット送信制御部13は、保持しているタイマの値「30秒」を、返信パケットを受信できた待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、その待ち時間「30秒」を、返信パケットを受信することができた待ち時間として保持しておく(ステップS107)。なお、パケット送信制御部13は、返信パケット受信部14が返信パケットを受信したタイミングで、ポート識別情報「P001」に対応するタイマによる計時を再度、開始する。
パケット送信制御部13は、返信パケットを受信することができたため、ポート維持時間の検出を行わないと判断し(ステップS108)、また、待ち時間設定情報において設定済フラグ「0」に対応する待ち時間があるため、次の要求情報を送信すると判断する(ステップS110)。そして、ポート識別情報「P001」に対応する待ち時間が「2分」に設定される(ステップS111)。
その後、待ち時間「30秒」の場合と同様にして、ポート識別情報「P002」で識別される履歴ポートについて、情報処理装置1から送信された要求パケットに応じた返信パケットが情報処理装置1で受信され、新たな待ち時間「3分」が設定される。また、ポート識別情報「P003」で識別される履歴ポートについて、情報処理装置1から送信された要求パケットに応じた返信パケットが情報処理装置1で受信され、新たな待ち時間「4分」が設定される。また、ポート識別情報「P001」で識別される履歴ポートについて、情報処理装置1から送信された要求パケットに応じた返信パケットが情報処理装置1で受信され、新たな待ち時間「5分」が設定される。
その後、ポート識別情報「P002」で識別される履歴ポートについて、待ち時間「3分」の終期に情報処理装置1から送信された要求パケットに応じた返信パケットがサーバ装置3から送信されるが、通信処理装置2のポート維持時間「2分30秒」がすでに経過しているため、その返信パケットは、情報処理装置1に送信されない。その結果、ポート識別情報「P002」を含む要求情報が送信されてから10秒が経過した時点で、タイムアウトであると判断される(ステップS106)。そして、返信パケット受信部14は、返信パケットを受信できなかった旨をパケット送信制御部13に渡す。すると、パケット送信制御部13は、ポート維持時間を検出するタイミングであると判断し(ステップS108)、ポート維持時間の検出を行う旨の指示をポート維持時間検出部15に渡す。ポート維持時間検出部15は、その指示に応じて、返信パケットを受信することができた待ち時間「30秒」、「1分」、「1分30秒」、「2分」のうち、一番長い待ち時間「2分」を、通信処理装置2のポート維持時間として検出する(ステップS109)。なお、この後のポート維持時間を用いた処理は、具体例1と同様であり、その説明を省略する。
なお、以上の各具体例において、パケット送信制御部13と、ポート維持時間検出部15とがそれぞれタイマを有する場合、及びパケット送信制御部13のみがタイマを有する
場合について説明したが、どちらであってもよい。また、複数の履歴ポートのそれぞれについて、タイマによる計時を行う場合について説明したが、1個のタイマで計時を行い、そのタイマの値の差分を用いることによって、要求パケットの送信タイミングの判断や、待ち時間に関する計時等を行ってもよい。具体的には、待ち時間が1分であり、履歴パケットを送信した時点でのタイマの値が35秒であれば、タイマの値が1分35秒となった時点で要求パケットを送信するようにしてもよい。
以上のように、本実施の形態による情報処理システムでは、情報処理装置1において待ち時間を設定し、その待ち時間の終期に返信パケットの送信をサーバ装置3に対して要求することにより、情報処理装置1は、通信処理装置2のポート維持時間が、その待ち時間よりも長いかどうかを判断することができ、通信処理装置2のポート維持時間を検出することができる。このポート維持時間の検出処理において、サーバ装置3は、履歴パケットに基づいた送信先情報の蓄積と、要求パケットの受信に応じた返信パケットの送信のみを行えばよいため、サーバ装置3において、待ち時間に基づいた返信パケットの送信タイミングの制御等を行う場合に比べて、サーバ装置3の処理負担を軽減することができ、サーバ装置3に重たい処理を負担させることのない情報処理システムを実現することができる。
また、情報処理装置1において設定する待ち時間の変化の幅を適切に設定することにより、必要十分な範囲において通信処理装置2のポート維持時間の検出を行うことができる。例えば、10秒単位でのポート維持時間を検出すればよい場合には、10秒単位でのポート維持時間を検出することができ、1秒単位でのポート維持時間を検出しなければならない場合には、1秒単位でのポート維持時間を検出することができる。
また、複数の履歴ポートを用いてポート維持時間の検出を行うため、1個の履歴ポートを用いてポート維持時間の検出を行う場合に比べて、ポート維持時間を早期に検出することができる。
また、パケット送信制御部13において、返信パケットを受信できたかどうかによって、要求パケットを送信するかどうかを決定することができるため、ポート維持時間の検出に関して不必要な要求パケットを送信すること(例えば、1分30秒の待ち時間に対応する返信パケットを受信できていないにもかかわらず、2分の待ち時間を示す待ち時間情報を有する要求パケットを送信すること)を回避することができる。
なお、本実施の形態では、送信先情報蓄積部34が蓄積する送信先情報に、履歴ポートのポート番号と、通信処理装置2の通信回線100側のアドレスとが含まれる場合について説明したが、送信先情報には、履歴ポートのポート番号のみが含まれてもよい。この場合には、サーバ装置3は、要求パケットのヘッダに含まれる送信元アドレスから、通信処理装置2の通信回線100側のアドレスを取得してもよい。
また、本実施の形態では、返信パケットにポート識別情報が含まれる場合について説明したが、返信パケットにポート識別情報が含まれなくてもよい。その場合には、要求パケットが送信された直後に受信された返信パケットを、その要求パケットに応じた返信パケットであると判断してもよく、あるいは、返信パケットを受信した情報処理装置1のポート番号で返信パケットを識別してもよい。
(実施の形態2)
本発明の実施の形態2による情報処理システムについて、図面を参照しながら説明する。本実施の形態による情報処理システムでは、情報処理装置からサーバ装置に送信される要求パケットに、返信パケットの送信先に関する情報である送信先情報が含まれる。
図22は、本実施の形態による情報処理システムの構成を示すブロック図である。図22において、本実施の形態による情報処理システムは、情報処理装置4と、通信処理装置2と、サーバ装置5とを備える。なお、本実施の形態による情報処理システムは、情報処理装置1が情報処理装置4となり、サーバ装置3がサーバ装置5となった以外、実施の形態1の情報処理システムと同様である。
情報処理装置4は、履歴パケット送信部11と、要求パケット送信部41と、パケット送信制御部13と、返信パケット受信部42と、ポート維持時間検出部15とを備える。なお、履歴パケット送信部11、パケット送信制御部13、ポート維持時間検出部15は、実施の形態1と同様であり、その説明を省略する。
要求パケット送信部41は、実施の形態1による要求パケット送信部12と同様のものである。ただし、要求パケット送信部41が送信する要求パケットには、返信パケットの送信先に関する情報である送信先情報が含まれる。この送信先情報は、後述する返信パケット受信部42によって受信された返信パケットに含まれる履歴ポートの位置を示す情報、通信処理装置2の通信回線100側のアドレスを示す情報を用いて構成されるものである。
返信パケット受信部42は、実施の形態1による返信パケット受信部14と同様のものである。ただし、返信パケット受信部42は、サーバ装置5から送信される、履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とを含む返信パケットをも受信するものである。
なお、履歴パケット送信部11、要求パケット送信部41、返信パケット受信部42の任意の2以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
サーバ装置5は、要求パケット受信部31と、履歴パケット受信部33と、返信パケット送信部51とを備える。なお、要求パケット受信部31、履歴パケット受信部33は、実施の形態1と同様であり、その説明を省略する。
返信パケット送信部51は、実施の形態1による返信パケット送信部32と同様のものである。ただし、返信パケット送信部51は、要求パケット受信部31が受信した要求パケットに含まれる送信先情報に基づいて、返信パケットを送信する。すなわち、返信パケット送信部51は、要求パケットに含まれる送信先情報の示すアドレス、ポート番号に返信パケットを送信する。また、返信パケット送信部51は、履歴パケット受信部33が履歴パケットを受信した場合に、その履歴パケットの通過した通信処理装置2のポートである履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とを含む返信パケットを情報処理装置4に送信する。ここで、返信パケット送信部51は、履歴パケットのヘッダに含まれる送信元アドレスと、送信元ポート番号とを、それぞれ、履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とすることができる。なお、要求パケットが受信された場合に送信される返信パケットを「要求パケットに応じた返信パケット」と呼び、履歴パケットが受信された場合に送信される返信パケットを「履歴パケットに応じた返信パケット」と呼ぶことにする。
なお、要求パケット受信部31、履歴パケット受信部33、返信パケット送信部51の任意の2以上の要素が通信に関するデバイスを有する場合に、それらは同一の手段であってもよく、あるいは別々の手段であってもよい。
次に、履歴パケット、要求パケット、返信パケットの通過するポートについて、具体的に説明する。本実施の形態では、履歴パケットに応じた返信パケットが履歴ポートを通過する場合と、そうでない場合の2つのパターンを考えることができる。履歴パケットに応じた返信パケットが履歴ポートを通過する場合を、パターンXと呼び、履歴パケットに応じた返信パケットが履歴ポートを通過しない場合を、パターンYと呼ぶことにする。パターンXの場合には、履歴パケット、要求パケット、返信パケットの通過するポートは、実施の形態1の図2と同様になる。一方、パターンYの場合には、図23で示されるように、履歴パケットに応じた返信パケットは、ポートP22を介して情報処理装置4に送信される。ここで、ポートP2、P5、P8とポートP22は異なるポートである。このように、実施の形態1では、すべての返信パケットが履歴ポートに送信される場合について説明したが、本実施の形態では、返信パケットのうち、履歴パケットに応じた返信パケットは、履歴ポートに送信されてもよく、あるいは、履歴ポートに送信されなくてもよい。なお、情報処理装置4が履歴パケットに応じた返信パケットを受信することができきるためには、サーバ装置5からポートP22に送信された返信パケットが通信処理装置2においてアドレス変換される必要がある。したがって、情報処理装置4は、例えば、所定のパケットを、ポートP22を介してサーバ装置5に送信することにより、履歴パケットに応じた返信パケットを受信できるようにしてもよく、UPnP(Universal Plug and Play)などの機能を用いて、ポートP22に送信されたパケットが、情報処理装置4のポートP21に送信されるようにポートマッピングの設定を通信処理装置2に行ってもよく、あるいは、その他の方法を用いてもよい。また、図23では、履歴パケットに応じた返信パケットが通信処理装置2を介して情報処理装置4に送信される場合について説明したが、履歴パケットに応じた返信パケットは、通信処理装置2を介さないで情報処理装置4に送信されてもよい。例えば、情報処理装置4とサーバ装置5が、通信回線100以外の通信回線を介した通信も行うことができる場合に、履歴パケットに応じた返信パケットは、通信回線100と異なる通信回線を介して通信処理装置2を経由することなく情報処理装置4に送信されてもよい。
次に、ポート維持時間の検出処理について説明する。待ち時間の定義は、実施の形態1と同様である。ただし、パターンXの場合には、履歴パケットが情報処理装置4から送信された直後に、サーバ装置5から返信パケットが送信されるため、待ち時間は、図3(b)で示されるパターン2の場合だけとなる。なお、そのパターン2の待ち時間の始期に通信処理装置2を通過する返信パケットは、要求パケットに応じた返信パケットではなく、履歴パケットに応じた返信パケットである。一方、パターンYの場合には、履歴パケットに応じた返信パケットが履歴ポートを通過しないため、待ち時間は、図3(a)で示されるパターン1の場合と、図3(b)で示されるパターン2の場合とがある。
次に、待ち時間の始期について説明する。ここでも、実施の形態1での説明と同様に、1個の履歴ポートに注目して説明する。図23で示されるパターンYの場合には、履歴パケットに応じた返信パケットが履歴ポートを通過しないため、待ち時間の始期のパターンとして、実施の形態1で説明したパターンA〜Cを考えることができる。一方、図2で示されるパターンXの場合には、履歴パケットに応じた返信パケットも履歴ポートを通過するため、待ち時間の始期のパターンは、パターンA、Bとは異なるようになる。すなわち、待ち時間の始期に履歴ポートを通過するパケットが毎回、履歴パケットに応じた返信パケットであるパターン(これを「パターンG」とする)と、要求パケットに応じた返信パケットを情報処理装置4が受信できたときには、その返信パケットを待ち時間の始期に履歴ポートを通過するパケットとし、要求パケットに応じた返信パケットを情報処理装置4が受信できなかったときには、新たな履歴パケットを送信し、その履歴パケットに応じた返信パケットを待ち時間の始期に履歴ポートを通過するパケットとするパターン(これを「パターンH」とする)と、実施の形態1と同様のパターンCとの3つのパターンについて考えることにする。なお、パターンCについては、待ち時間の始期に履歴ポートを通過
するパケットが、要求パケットに応じた返信パケットであるため、本実施の形態でも実施の形態1と同様となる。また、これらのパターン以外であってもよく、これらのパターンに限定されないことは言うまでもない。
[パターンG]
図24(a)は、パターンGについて説明するための図である。パターンGでは、図4(a)での説明と同様に、返信パケットを情報処理装置4が受信できたかどうかにかかわらず、情報処理装置4は、待ち時間の始期に履歴パケットを送信する。なお、パターンGでは、待ち時間の始期に履歴ポートを通過するパケットは、その送信された履歴パケットに応じた返信パケットである。また、パケット送信制御部13は、要求パケットの送信を制御すると共に、待ち時間の始期における、履歴パケット送信部11による履歴パケットの送信を制御する。すなわち、パケット送信制御部13は、待ち時間の始期に履歴パケットが送信されるように、履歴パケット送信部11を制御する。
また、厳密には、図3(b)で示されるように、待ち時間の始期は履歴パケットに応じた返信パケットが通信処理装置2を通過する時点となるが、情報処理装置4が、返信パケットが通信処理装置2を通過する時点を知ることは困難である。したがって、図24(a)で示されるように、ポート維持時間検出部15において、待ち時間の始期である履歴パケットに応じた返信パケットが通信処理装置2の履歴ポートを通過する時点を、履歴パケットの送信時点としてもよく、あるいは、その履歴パケットに応じた返信パケットを受信した時点としてもよい。なお、図24(a)は、2以上の要求パケットを送信する場合を想定した図となっているが、情報処理装置4が送信する要求パケットは、1個のみであってもよい。
[パターンH]
図24(b)、(c)は、パターンHについて説明するための図である。パターンHでは、待ち時間の始期に履歴ポートを通過するパケットは、履歴パケットに応じた返信パケットまたは要求パケットに応じた返信パケットである。要求パケットに応じた返信パケットを情報処理装置4が受信できた場合には、図24(b)で示されるように、情報処理装置4は、待ち時間の始期において履歴パケットを送信せず、その返信パケットが、待ち時間の始期に履歴ポートを通過するパケットとなる。一方、要求パケットに応じた返信パケットを情報処理装置4が受信できなかった場合には、図24(c)で示されるように、情報処理装置4は、待ち時間の始期に履歴パケットを送信し、その履歴パケットに応じた返信パケットが、待ち時間の始期に履歴ポートを通過するパケットとなる。また、パケット送信制御部13は、要求パケットの送信を制御すると共に、要求パケットに応じた返信パケットを返信パケット受信部14が受信できなかった場合に、次の待ち時間の始期に履歴パケットを送信するように、履歴パケット送信部11を制御する。
また、厳密には、図3(b)で示されるように、待ち時間の始期は返信パケットが通信処理装置2を通過する時点となるが、情報処理装置4が、返信パケットが通信処理装置2を通過する時点を知ることは困難である。したがって、図24(b)、(c)で示されるように、ポート維持時間検出部15において、待ち時間の始期に履歴ポートを通過するパケットが履歴パケットに応じた返信パケットである場合には、待ち時間の始期である履歴ポートをパケットが通過した時点を、履歴パケットの送信時点としてもよく、あるいは、履歴パケットに応じた返信パケットの受信時点としてもよく、待ち時間の始期に履歴ポートを通過するパケットが要求パケットに応じた返信パケットである場合には、待ち時間の始期である履歴ポートをパケットが通過した時点を、要求パケットに応じた返信パケットの受信時点としてもよい。
なお、待ち時間の終期については、実施の形態1と同様に、パターンD〜Fを考えるこ
とができ、それらのパターンについては実施の形態1で説明したため、その説明を省略する。ただし、これらの3つのパターン以外であってもよく、これらのパターンに限定されないことは言うまでもない。また、例えば、各履歴ポートについて、要求パケットを送信するごとに待ち時間が増加するように、要求パケットの送信を制御するなどの、パケット送信制御部13による要求パケットの送信の制御についても実施の形態1と同様であり、その説明を省略する。
次に、本実施の形態による情報処理装置4の動作について、フローチャートを用いて説明する。なお、本実施の形態でも、実施の形態1と同様に、待ち時間の始期のパターンに応じて、フローチャートが異なる。したがって、パターンA〜C、G、Hのそれぞれのフローチャートについて説明する。
図25は、本実施の形態による情報処理装置4のパターンA、Gの場合の動作を示すフローチャートである。なお、ステップS501〜S503以外の処理は、実施の形態1の図6のフローチャートと同様であり、その説明を省略する。ただし、パターンGの場合には、ステップS103の要求パケットの送信タイミングの判断や、ポート維持時間検出部15による待ち時間を計測する処理等において、待ち時間の始期は、履歴パケットの送信時点であってもよく、あるいは、履歴パケットに応じた返信パケットの受信時点であってもよい。
(ステップS501)返信パケット受信部42は、履歴パケットに応じた返信パケットを受信したかどうか判断する。ここで、ステップS102で1個の履歴パケットが送信された場合には、その履歴パケットに応じた1個の返信パケットを受信したかどうか判断し、ステップS102で複数の履歴パケットが送信された場合には、各履歴パケットに応じた複数の返信パケットを受信したかどうか判断する。そして、返信パケットを受信した場合には、ステップS502に進み、そうでない場合には、返信パケットを受信するまでステップS501の処理を繰り返す。なお、サーバ装置5がダウンしているなどの理由で返信パケットを受信することができない場合には、返信パケット受信部42は、履歴パケットが送信されてから例えば1分などの所定の時間が経過した後に、タイムアウトであると判断し、一連の処理を終了してもよい。
(ステップS502)要求パケット送信部41は、返信パケット受信部42が受信した返信パケットに含まれる履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とを一時的に記憶しておく。なお、返信パケット受信部42が履歴パケットに応じた返信パケットを新たに受信した場合には、要求パケット送信部41は、最新の履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とがどれであるかわかるように、それらの情報を一時的に記憶するものとする。例えば、要求パケット送信部41は、それらの情報を上書きで記憶してもよい。
(ステップS503)パケット送信制御部13は、要求パケットをサーバ装置5に送信するように要求パケット送信部41を制御する。その結果、要求パケットが要求パケット送信部41からサーバ装置5に送信される。この要求パケットには、要求パケット送信部41が一時的に記憶している履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とを含む送信先情報が含まれている。
なお、このフローチャートでは、履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とが要求パケット送信部41において一時的に記憶される場合について説明したが、これは一例であって、それらの情報は、要求パケット送信部41以外で一時的に記憶されてもよい。ただし、要求パケット送信部41が要求パケットを送信するときに、それらの情報にアクセスできなければならない。
図26は、本実施の形態による情報処理装置4のパターンB、Hの場合の動作を示すフローチャートである。なお、ステップS501〜S503以外の処理は、実施の形態1の図8のフローチャートと同様であり、その説明を省略する。また、ステップS501〜S503の処理は、図25のフローチャートと同様であり、その説明を省略する。ただし、パターンHの場合には、ステップS201における待ち時間の始期に履歴パケットが送信された後の要求パケットの送信タイミングの判断や、ポート維持時間検出部15による待ち時間を計測する処理等において、待ち時間の始期は、履歴パケットの送信時点であってもよく、あるいは、履歴パケットに応じた返信パケットの受信時点であってもよい。
図27は、本実施の形態による情報処理装置4のパターンCの場合の動作を示すフローチャートである。なお、ステップS501〜S503、S601以外の処理は、実施の形態1の図9のフローチャートと同様であり、その説明を省略する。また、ステップS501〜S503の処理は、図25のフローチャートと同様であり、その説明を省略する。
(ステップS601)パケット送信制御部13は、要求パケットをサーバ装置5に送信するように要求パケット送信部41を制御する。その結果、要求パケットが要求パケット送信部12からサーバ装置5に送信される。この要求パケットには、要求パケット送信部41が一時的に記憶している履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とを含む送信先情報が含まれている。
なお、図27のフローチャートでは、履歴パケットに応じた返信パケットの受信(ステップS501)の後に、再度、要求パケットの送信(ステップS601)と、要求パケットに応じた返信パケットの受信(ステップS303)とを行うとしているが、要求パケットの送信(ステップS601)と、要求パケットに応じた返信パケットの受信(ステップS303)との処理を省略してもよい。
次に、本実施の形態によるサーバ装置5の動作について、図28のフローチャートを用いて説明する。なお、ステップS401、S403の処理は、実施の形態1の図10のフローチャートと同様であり、その説明を省略する。
(ステップS701)返信パケット送信部51は、履歴パケット受信部33が受信した履歴パケットのヘッダに含まれる送信元アドレス、送信元ポート番号を読み出し、その送信元アドレスと、送信元ポート番号とを含む返信パケットを情報処理装置4に送信する。そして、ステップS401に戻る。なお、返信パケット送信部51は、パターンXの場合には、その返信パケットを履歴ポート、すなわち、履歴パケットの送信元ポートに送信し、パターンYの場合には、その返信パケットを、履歴ポートを介さないで情報処理装置4に送信する。
(ステップS702)返信パケット送信部51は、要求パケット受信部31が受信した要求パケットのペイロードから送信先情報を読み出す。
(ステップS703)返信パケット送信部51は、読み出した送信先情報の示すアドレス、ポート番号に、返信パケットを送信する。そして、ステップS401に戻る。
なお、図28のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。この具体例において、パターンGにおいて、要求パケットを送信するごとに待ち時間を増加させていくことによってポート維持時間を検出する場合について説明する。待ち時間の始期は、履歴パケットに応じた返信パケットの受信時点であるとする。また、待ち時間
の終期は、パターンDであるとする。
以下の具体例において、実施の形態1の具体例と同様に、通信処理装置2のポート維持時間は1分18秒であるとする。また、情報処理装置4、通信処理装置2、サーバ装置5の各IPアドレスは、情報処理装置1が情報処理装置4となり、サーバ装置3がサーバ装置5となった以外、実施の形態1の具体例と同様であるとする。また、ポート維持時間検出部15は、要求パケットに応じた返信パケットを受信できなかった場合に、ポート維持時間の検出を行うものとする。
図29は、以下の具体例における履歴パケット、履歴パケットに応じた返信パケット、要求パケット、要求パケットに応じた返信パケットの構成を示す図である。履歴パケット、要求パケット、返信パケットは、それぞれUDPヘッダを有しており、ペイロードには、パケット種類識別情報が含まれている。履歴パケットに応じた返信パケットのペイロードには、履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とが含まれている。また、要求パケットのペイロード、及び要求パケットに応じた返信パケットのペイロードには、送信先情報が含まれている。図29のパケットの構成を、実施の形態1の図15のパケットの構成と比較してもわかるように、この具体例では、実施の形態1で用いたポート識別情報に代えて、履歴ポートに関するアドレスとポート番号とを含む送信先情報によって履歴ポートを識別するものとする。
この具体例でも、図15の待ち時間設定情報を用いて待ち時間の設定が行われるものとする。まず、パケット送信制御部13は、図15で示される待ち時間設定情報を用いて、待ち時間を「30秒」、「1分」、「1分30秒」に設定する(ステップS101)。そして、図15で示されるように、待ち時間「30秒」、「1分」、「1分30秒」に対応する設定済フラグを「1」とする。その後、パケット送信制御部13の制御によって、図29(a)で示される構造を有する3個の履歴パケットが情報処理装置4からサーバ装置5に送信される(ステップS102)。その3個の履歴パケットは、通信処理装置2の通信回線100側の異なる3個のポートを介してサーバ装置3に送信される。なお、実施の形態1と異なり、この3個の履歴パケットには、ポート識別情報は含まれない。
その履歴パケットは、サーバ装置5の履歴パケット受信部33で受信され、返信パケット送信部51に渡される(ステップS401)。返信パケット送信部51は、各履歴パケットのヘッダから、送信元アドレス「202.224.135.10」と、送信元ポート番号「12345」、「12346」、「12347」とを読み出す。そして、送信元アドレス「202.224.135.10」、送信元ポート番号「12345」をペイロードに含む返信パケットと、送信元アドレス「202.224.135.10」、送信元ポート番号「12346」をペイロードに含む返信パケットと、送信元アドレス「202.224.135.10」、送信元ポート番号「12347」をペイロードに含む返信パケットとを構成し、それらの各返信パケットを、各送信元アドレス、送信元ポートに送信する(ステップS701)。
その履歴パケットに応じた3個の返信パケットは、通信処理装置2の3個の履歴ポートに到達し、アドレス変換されて情報処理装置4に送信される。情報処理装置4の返信パケット受信部42は、その3個の返信パケットを受信し、その返信パケットを要求パケット送信部41に渡す(ステップS501)。なお、パケット送信制御部13は、この履歴パケットに応じた返信パケットの受信時点から、タイマによる計時を開始する。要求パケット送信部41は、返信パケット受信部42から受け取った返信パケットのペイロードから、通信処理装置2の通信回線100側のアドレスと、履歴ポートのポート番号とを読み出し、それらの情報を含む図30で示されるテーブルを図示しないメモリにおいて記憶しておく(ステップS502)。図30のテーブルにおいて、設定された待ち時間と、タイマ
の値と、送信先情報とが対応付けられている。送信先情報には、履歴ポートのIPアドレスと、ポート番号とが含まれる。図30は、3個の履歴パケットに応じた3個の返信パケットが受信されてから5秒が経過した時点でのテーブルを示す図である。
その後、パケット送信制御部13は、図30で示されるテーブルにおいて、履歴ポート12345に対応するタイマの値が、履歴ポート12345に対応する待ち時間「30秒」を経過したかどうか判断する。そして、履歴ポート12345に対応するタイマの値が「30秒」を示した時点で、要求パケットを送信するタイミングであると判断する(ステップS103)。そして、要求パケットを送信するように要求パケット送信部41を制御する。その結果、要求パケット送信部41からサーバ装置5に、送信先情報を含む要求パケットが送信される(ステップS503)。なお、その送信先情報には、図30のテーブルにおける1番目のレコードの送信先情報、すなわち通信処理装置2の通信回線100側のアドレス「202.224.135.10」と、履歴ポートのポート番号「12345」とが含まれている。なお、パケット送信制御部13は、要求パケットが送信されるタイミングで、その時点の履歴ポート12345に対応するタイマの値「30秒」を保持しておく。
その要求パケットはサーバ装置5の要求パケット受信部31で受信され、返信パケット送信部51に渡される(ステップS403)。返信パケット送信部51は、その要求パケットのペイロードから送信先情報を読み出し(ステップS702)、その送信先情報の示すアドレス「202.224.135.10」、ポート番号「12345」に、受信された要求パケットに含まれる送信先情報を含む返信パケットを送信する(ステップS703)。その返信パケットは、通信処理装置2のポート12345に到達し、そのポートに関するポート維持時間「1分18秒」がまだ経過していないため、アドレス変換されて情報処理装置4に送信される。
情報処理装置4の返信パケット受信部42は、その返信パケットを受信し(ステップS105)、アドレス「202.224.135.10」、ポート番号「12345」を含む返信パケットを受信できた旨をポート維持時間検出部15に渡す。すると、パケット送信制御部13は、履歴ポート12345に対応付けて保持していたタイマの値「30秒」を、返信パケットを受信することができた待ち時間としてポート維持時間検出部15に渡す。ポート維持時間検出部15は、待ち時間「30秒」を、返信パケットを受信できた待ち時間として保持しておく(ステップS107)。
パケット送信制御部13は、返信パケットが受信されたため、要求パケットの送信を継続すると判断する(ステップS108)。また、パケット送信制御部13は、図15で示される待ち時間設定情報において設定済フラグが「0」である待ち時間があるため、次の要求パケットを送信すると判断し(ステップS110)、返信パケットを受信した履歴ポート12345に対応する待ち時間を「2分」に設定する。そして、待ち時間設定情報において、待ち時間「2分」に対応する設定済フラグを「1」に更新する(ステップS111)。
その後、上記説明と同様にして、履歴パケットの送信、履歴パケットに応じた返信パケットの受信、履歴ポートのポート番号の記憶などが行われる(ステップS102、S501、S502)。なお、この場合には、1回目の履歴パケットが送信されたときと同じアドレス、ポート番号がサーバ装置5から送信された返信パケットに含まれるが、要求パケット送信部41は、そのアドレス等を上書きで記憶するものとする。その後、要求パケットの送信等が繰り返される。
図31は、この具体例における履歴パケットの送信と、要求パケットの送信と、返信パ
ケットの受信(あるいは不受信)とについて説明するための図である。この具体例では、履歴ポート12346に関して、待ち時間「1分」の終期に送信された返信パケットは、情報処理装置4で受信され、新たな待ち時間「3分」が設定されて履歴パケットの送信及び返信パケットの受信が行われるが、履歴ポート12347に関して、待ち時間「1分30秒」の終期に送信された返信パケットは、通信処理装置2のポート維持時間が経過しているため、通信処理装置2でアドレス変換されず、情報処理装置4で受信されない。その結果、パケット送信制御部13は、ポート維持時間の検出を行うタイミングであると判断し(ステップS108)、ポート維持時間の検出を行う旨の指示をポート維持時間検出部15に渡す。ポート維持時間検出部15は、その指示に応じて、返信パケットを受信することができた待ち時間「30秒」、「1分」のうち、一番長い待ち時間「1分」を、通信処理装置2のポート維持時間として検出する(ステップS109)。なお、その後、その検出されたポート維持時間は、例えば、所定の記録媒体(図示せず)で記憶され、サーバ装置5への定期的なパケットの送信周期として用いられることは、実施の形態1の具体例と同様である。
なお、この具体例では、実施の形態1の具体例2に対応する具体例のみを説明したが、実施の形態1の具体例1、具体例3〜5に対応する本実施の形態の具体例は、要求パケットに送信先情報が含まれる点や、待ち時間の始期が履歴パケットに応じた返信パケットの受信時点でありうる点など以外、実施の形態1の各具体例と同様であり、その説明を省略する。
また、この具体例では、履歴パケット、要求パケット、返信パケットがポート識別情報を含まない場合について説明したが、実施の形態1と同様に、それらのパケットがポート識別情報を含み、そのポート識別情報を用いて履歴ポートを特定するようにしてもよい。
以上のように、本実施の形態による情報処理システムでは、サーバ装置5において送信先情報の蓄積を行うことなく、実施の形態1と同様に通信処理装置2のポート維持時間を検出することができる。
なお、本実施の形態では、履歴パケットに応じた返信パケットに、履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とが含まれる場合について説明したが、履歴パケットに応じた返信パケットには、履歴ポートの位置を示す情報のみが含まれていてもよい。その場合には、要求パケットに含まれる送信先情報には、通信処理装置2の通信回線100側のアドレスを示す情報が含まれなくてもよく、あるいは、含まれてもよい。前者の場合には、サーバ装置5は、要求パケットのヘッダから送信元アドレスを取得することにより、通信処理装置2の通信回線100側のアドレスを知ることができる。また、後者の場合には、情報処理装置4は、履歴パケットに応じた返信パケットとは別の方法によって、通信処理装置2の通信回線100側のアドレスを取得するものとする。例えば、情報処理装置4は、UPnPの機能などを用いてそのアドレスを取得してもよく、受信したパケットの送信元アドレスをペイロードに含むパケットを構成し、そのパケットを受信したパケットの送信元アドレスに送信する所定のサーバ装置がある場合に、情報処理装置4がそのサーバ装置にパケットを送信し、そのサーバ装置から送信されたパケットを受信することによって、通信処理装置2の通信回線100側のアドレスを取得してもよい。その所定のサーバ装置は、サーバ装置5であってもよく、別のサーバ装置であってもよい。
なお、上記各実施の形態の具体例において、図15などで示される待ち時間設定情報を用いて待ち時間が設定される場合について説明したが、待ち時間設定情報を用いないで待ち時間が設定されてもよい。例えば、パケット送信制御部13が待ち時間を設定するアルゴリズムを有しており、そのアルゴリズムに応じて待ち時間を決定し、その決定した待ち
時間を所定の記録媒体等に記録することによって、待ち時間の設定を行ってもよく、その他の方法によって、待ち時間を設定してもよい。ここで、そのアルゴリズムは、例えば、要求パケットの送信ごとに30秒ずつ待ち時間が増加するアルゴリズムであってもよく、要求パケットの送信ごとに待ち時間が2倍に増加するアルゴリズムであってもよく、あるいはその他のアルゴリズムであってもよい。
また、上記各実施の形態において、理想的な待ち時間の始期や終期を情報処理装置が知ることは困難であるため、待ち時間の始期や終期を近似して計測する場合について説明したが、その近似の方法は、上記説明に限定されるものでないことは、言うまでもない。例えば、サーバ装置から送信される返信パケットに、その返信パケットの送信時刻を示す情報を含むようにしておき、情報処理装置において、その送信時刻を返信パケットが通信処理装置2の履歴ポートに到達した時点として用いるようにしてもよい。
また、上記各実施の形態において、パケット送信制御部13は、要求パケットの送信時点から返信パケットが通信処理装置2に到達する時点までの時間を考慮して、要求パケットの送信を制御してもよい。要求パケットの送信時点から返信パケットが通信処理装置2に到達する時点までの時間を「T秒」とし、待ち時間が30秒である場合に、パケット送信制御部13は、例えば、履歴パケットの送信時点から「30−T秒」経過した時点に要求パケットを送信するように制御してもよい。
また、上記各実施の形態でのパターンCの説明において、待ち時間の終期に送信された返信パケットを次の待ち時間の始期に履歴ポートを通過するパケットとする場合について説明したが、情報処理装置が待ち時間の始期の前に、要求パケットをサーバ装置に送信し、その要求パケットに応じてサーバ装置から送信された返信パケットが履歴ポートを通過した時点を待ち時間の始期としてもよい。この場合には、待ち時間が増加するように要求パケットの送信が制御されなくてもよい。
また、上記各実施の形態では、サーバ装置において履歴パケットに基づいて送信先情報を蓄積する場合、要求パケットに返信パケットの送信先に関する送信先情報が含まれる場合について説明したが、それ以外の方法によって、サーバ装置が返信パケットの送信先に関する情報を取得できるようにしてもよい。例えば、履歴ポートの位置を示す情報と、通信処理装置2の通信回線100側のアドレスを示す情報とを、ユーザが手入力でサーバ装置に設定するようにしてもよい。この場合には、履歴パケットがサーバ装置に到達する必要がない。したがって、履歴パケットの寿命、例えばTTL(Time To Live)を調整することによって、履歴パケットがサーバ装置に到達しないようにしてもよい。ただし、履歴パケットの送信によって、履歴ポートに送信履歴を残さなければならないため、履歴パケットは、少なくとも通信回線100には到達するものとする。履歴パケットがサーバ装置に到達しない場合には、サーバ装置は、履歴パケット受信部を備えなくてもよい。または、サーバ装置は、返信パケットの送信先を限定せず、返信パケットのいずれかが履歴ポートに送信されるように、通信処理装置2の複数のポートに対して返信パケットを送信してもよい。
また、上記各実施の形態での通信で送受信される履歴パケット、要求パケット、返信パケットなどのデータ容量、構造等は問わない。
また、上記各実施の形態では、複数の履歴ポートに関する待ち時間の始期や終期のパターンが同一である場合について説明したが、履歴ポートごとに待ち時間の始期等のパターンが異なっていてもよい。例えば、1の履歴ポートについては、待ち時間の始期をパターンAとし、他の履歴ポートについては、待ち時間の始期をパターンBとしてもよい。
また、上記各実施の形態において、返信パケットの送信先を特定するために、履歴パケ
ットや要求パケットにポート識別情報や送信先情報が含まれる場合について説明したが、そうでなくてもよい。例えば、ポート識別情報に代えて、履歴パケットを識別する情報である履歴パケット識別情報を用いてもよい。また、例えば、実施の形態1の具体例1において、要求パケット等にポート識別情報等が含まれず、サーバ装置3は、要求パケットを受信するごとに、送信先情報におけるポート番号の小さいほうから順番に返信パケットを送信してもよい。
また、上記各実施の形態では、図2や図23で示されるように、通信処理装置2の3個のポートP2、P5、P8を用いて履歴パケットの送信を行う場合について説明したが、通信処理装置2の2個、または4個以上のポートを用いて履歴パケットの送信を行ってもよい。なお、複数の履歴パケットを通信処理装置2の複数のポートを介して送信するとは、一度に用いる通信処理装置2のポートが2以上であるということである。具体的には、上記各実施の形態で説明したように、履歴パケットを始めて送信する場合に、3個の履歴パケットを同時に送信してもよく、あるいは、所定の時間間隔をおいて送信してもよい。後者の場合であっても、履歴パケットが送信されてから、その履歴パケットの通過した履歴ポートに返信パケットが到達するまでの期間について、少なくとも2つの期間の重なる時期が存在するものとする。また、上記各実施の形態における具体例では、通信処理装置2の3個のポートを繰り返し用いる場合について説明したが、履歴パケットを送信するごとに、履歴ポートを変更するようにしてもよい。
また、上記各実施の形態において、情報処理装置は、待ち時間を設定し、要求パケット等の送信タイミングを制御する場合について説明したが、待ち時間の設定を行うことなく、要求パケット等の送信タイミングを制御してもよい。待ち時間の設定を行うことなく要求パケット等の送信タイミングが制御される場合について、以下、図32のフローチャートを用いて、簡単に説明する。図32は、実施の形態1による情報処理装置1の動作を示すフローチャートである。ここで、図32のフローチャートは、パターンAに対応するものであるとする。また、ステップS801、S802以外の処理は、実施の形態1の図6のフローチャートと同様であり、その説明を省略する。
(ステップS801)パケット送信制御部13は、履歴パケットを送信するタイミングであるかどうか判断する。そして、履歴パケットを送信するタイミングである場合には、ステップS802に進み、そうでない場合には、ステップS103に進む。
(ステップS802)パケット送信制御部13は、単数または複数の履歴パケットをサーバ装置3に送信するように履歴パケット送信部11を制御する。その結果、単数または複数の履歴パケットが履歴パケット送信部11から通信処理装置2を介してサーバ装置3に送信される。
パケット送信制御部13は、例えば、図33で示される履歴パケットの送信タイミングと、要求パケットの送信タイミングとを示すタイミングテーブルを有しているとする。そして、図32で示される一連の処理が開始されると、タイマによる計時を開始し、パケット送信制御部13は、タイマの値が図33で示される履歴パケット送信タイミングに一致した場合に、履歴パケットを送信するタイミングであると判断し、タイマの値が図33で示される要求パケット送信タイミングに一致した場合に、要求パケットを送信するタイミングであると判断する。その結果、図34で示されるように、履歴パケットと、要求パケットとが送信されることになる。なお、図34において、返信パケットの受信タイミングに関する記載を省略している。例えば、タイマの値が「2分45秒」を示した時点に送信された要求パケットに応じた返信パケットを情報処理装置1が受信できなかった場合には、ポート維持時間を検出するタイミングであると判断され、ポート維持時間の検出が行われてもよい(ステップS108、S109)。また、履歴パケットの送信や、要求パケッ
トの送信等に関する詳細な処理は、実施の形態1での説明と同様であるとする。また、実施の形態2による情報処理装置4も、この説明と同様に、待ち時間の設定を行うことなくポート維持時間の検出処理を行ってもよい。また、待ち時間の設定を行わないでポート維持時間の検出を行う方法は、この説明に限定されるものではなく、その他の方法を用いてよいことは言うまでもない。
また、上記各実施の形態において、履歴パケット、要求パケット、返信パケットがUDPのパケットである場合について説明したが、それらのパケットは、TCPのパケットであってもよく、ポート維持時間の検出が可能なパケットであれば、それら以外のパケットであってもよい。
また、上記各実施の形態において、要求パケットの送信タイミングを、タイマを用いて計時する場合について説明したが、タイマに代えて、例えば、時計やクロック信号等を用いてもよく、その計時の手段は問わない。
また、上記各実施の形態では、情報処理装置が、通信処理装置2を1つだけ介して通信回線100に接続される場合について説明したが、情報処理装置は、複数の通信処理装置を介して通信回線100に接続されてもよい(すなわち、多段接続の通信処理装置が構成されていてもよい)。この場合には、その多段接続の通信処理装置のうち、一番短いポート維持時間が検出されることになる。
また、上記各実施の形態では、通信処理装置2がNATの機能を有するものである(すなわち、アドレス変換を行う)と説明したが、通信処理装置2は、NATの機能に代えて、あるいはNATの機能と共にパケットフィルタリングのファイアウォール(Firewall)の機能を有するものであってもよい。ここで、パケットフィルタリングとは、例えば、前述の受信フィルタルールに基づいた受信パケットの選択を行うものである。そのようなファイアウォールの機能を有する通信処理装置2について、上記各実施の形態による方法によって、そのポート維持時間を検出することができる。ここで、通信処理装置2がファイアウォール機能を有するものである場合のポート維持時間とは、その通信処理装置2のあるポートを最後のパケットが通過してから所定の時間が経過した後に、WAN側からそのポートに送信されたパケットが通信処理装置2のLAN側に送信されない場合における、その所定の時間のことである。
また、上記各実施の形態において、サーバ装置は、要求パケットを受信してから、所定の期間が経過した後に、返信パケットを送信するものであってもよい。例えば、サーバ装置は、要求パケットを受信してから、5秒後に返信パケットを送信してもよい。この場合には、情報処理装置では、その要求パケットがサーバ装置で受信されてから返信パケットが送信されるまでの時間を考慮して、待ち時間の設定を行ってもよい。このように、サーバ装置の返信パケット送信部が返信パケットを送信するのは、要求パケット受信部が要求パケットを受信してから所定の時間が経過した後であってもよく、あるいは、上記各実施の形態で説明したように、要求パケット受信部が要求パケットを受信した直後であってもよい。
また、上記各実施の形態において、UDPの履歴パケットや、要求パケット、返信パケットを送信する場合には、UDPはコネクションレス型の通信であるため、それらのUDPパケットのうち、一部のUDPパケットが通信先に到達しないことがありうる。したがって、例えば、情報処理装置が要求パケットを送信した後に、タイムアウトであると判断された場合には、もう一度、要求パケットを送信することによって、本当にタイムアウトであるのかどうかを確認してもよい。また、例えば、UDPの履歴パケット、要求パケット、返信パケット等を送信するときに、UDPパケットが通信先に到達しないことを考慮
して、2以上の同一のパケットをほぼ同時に送信してもよい。
また、上記各実施の形態では、サーバ装置をIPアドレスによって特定する場合について説明したが、サーバ装置をドメイン名(例えば、server.pana.netなど)によって特定してもよい。この場合には、そのドメイン名がDNSサーバを用いて、IPアドレスに変換されることにより、サーバ装置を特定することができる。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記情報処理装置における処理を実行させるためのプログラムであって、前記通信処理装置に送信履歴を残すためのパケットである履歴パケットを、前記通信処理装置の複数のポートを介して送信する履歴パケット送信ステップと、前記履歴パケットの通過した前記通信処理装置のポートである複数の履歴ポートとは異なるポートを介して、前記サーバ装置から送信されるパケットである返信パケットの送信を要求するパケットである要求パケットを前記サーバ装置に送信する要求パケット送信ステップと、前記サーバ装置から前記履歴ポートを介して送信された返信パケットを受信する返信パケット受信ステップと、前記返信パケット受信ステップでの返信パケットの受信に基づいて、前記通信処理装置のポート維持時間を検出するポート維持時間検出ステップと、を実行させるためのものである。
また、上記各実施の形態におけるサーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記サーバ装置における処理を実行させるためのプログラムであって、前記サーバ装置から送信されるパケットである返信パケットの送信を要求するパケットである要求パケットを受信する要求パケット受信ステップと、前記要求パケット受信ステップで要求パケットを受信すると、前記通信処理装置に送信履歴を残すため前記情報処理装置から送信された履歴パケットの通過した前記通信処理装置のポートである複数の履歴ポートのうち、前記要求パケット受信ステップで受信した要求パケットに対応する履歴ポートに前記返信パケットを送信する返信パケット送信ステップと、を実行させるためのものである。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。