(57)【要約】【課題】通信処理装置のポート維持時間を検出することができる情報処理システムを提供する。【解決手段】情報処理装置１は、返信パケットの送信を要求する要求パケットを、通信処理装置２を介して送信する要求パケット送信部１１と、返信パケットを受信する返信パケット受信部１２と、受信された返信パケットに基づいて、通信処理装置２のポート維持時間を検出するポート維持時間検出部１３と、返信パケットの受信の有無に基づいて、二分探索法を用いて、要求パケットの送信を制御する要求パケット送信制御部１４とを備え、サーバ装置３は、要求パケットを受信する要求パケット受信部３１と、返信パケットを送信する返信パケット送信部３２と、受信された要求パケットに基づいて、返信パケットの送信を制御する返信パケット送信制御部３３とを備える。【選択図】図１
2006050125.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムであって、
前記情報処理装置は、
前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求するパケットである要求パケットを、前記通信処理装置の１つのポートを介して前記サーバ装置に送信する要求パケット送信部と、
前記サーバ装置から前記ポートを介して送信された返信パケットを受信する返信パケット受信部と、
前記返信パケット受信部による返信パケットの受信の有無に基づいて、二分探索法を用いて、前記要求パケット送信部による要求パケットの送信を制御する要求パケット送信制御部と、
前記返信パケット受信部が受信した返信パケットに基づいて、前記通信処理装置のポート維持時間を検出するポート維持時間検出部と、を備え、
前記サーバ装置は、
前記要求パケットを受信する要求パケット受信部と、
前記返信パケットを送信する返信パケット送信部と、
前記要求パケット受信部が受信した要求パケットに基づいて、前記返信パケットの送信を制御する返信パケット送信制御部と、を備えた、情報処理システム。
【請求項２】
前記要求パケットは、前記返信パケットの送信までの待ち時間に関する情報である待ち時間情報を有しており、
前記要求パケット送信制御部は、前記返信パケット受信部による返信パケットの受信の有無に基づいて、二分探索法を用いて待ち時間を決定し、当該決定した待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御し、
前記ポート維持時間検出部は、前記返信パケット受信部が受信した返信パケットに対応する待ち時間のうち、一番長い待ち時間に基づいて、前記通信処理装置のポート維持時間を検出し、
前記返信パケット送信制御部は、前記要求パケット受信部が受信した要求パケットに含まれる待ち時間情報に基づいて、前記返信パケットの送信を制御する、請求項１記載の情報処理システム。
【請求項３】
前記返信パケット送信制御部は、
前記要求パケット受信部が前記要求パケットを受信してから、前記要求パケットに含まれる待ち時間情報に応じた待ち時間が経過した時に、前記返信パケットを送信するように前記返信パケット送信部を制御する、請求項２記載の情報処理システム。
【請求項４】
前記要求パケット送信制御部は、
送信された要求パケットに対応する返信パケットが前記返信パケット受信部によって受信されず、かつ、それまでに前記返信パケット受信部による１以上の返信パケットの受信があった場合に、当該受信されなかった返信パケットに対応する待ち時間と、それまでに前記返信パケット受信部によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間との間の待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御し、
送信された要求パケットに対応する返信パケットが前記返信パケット受信部によって受信され、かつ、それまでに前記返信パケット受信部によって返信パケットが受信されないことがあった場合に、当該受信された返信パケットに対応する待ち時間と、それまでに前記返信パケット受信部によって受信されなかった返信パケットに対応する待ち時間のうち一番短い待ち時間との間の待ち時間に応じた待ち時間情報を有する要求パケットを送信する
ように前記要求パケット送信部を制御する、請求項２または３記載の情報処理システム。
【請求項５】
前記要求パケット送信制御部は、
送信された要求パケットに対応する返信パケットが前記返信パケット受信部によって受信されず、かつ、それまでに前記返信パケット受信部による１以上の返信パケットの受信があった場合に、当該受信されなかった返信パケットに対応する待ち時間と、それまでに前記返信パケット受信部によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間との中央の待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御し、
送信された要求パケットに対応する返信パケットが前記返信パケット受信部によって受信され、かつ、それまでに前記返信パケット受信部によって返信パケットが受信されないことがあった場合に、当該受信された返信パケットに対応する待ち時間と、それまでに前記返信パケット受信部によって受信されなかった返信パケットに対応する待ち時間のうち一番短い待ち時間との中央の待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御する、請求項２から４のいずれか記載の情報処理システム。
【請求項６】
前記要求パケット送信制御部は、
送信された要求パケットに対応する返信パケットが前記返信パケット受信部によって受信されず、かつ、それまでに前記返信パケット受信部による返信パケットの受信がなかった場合には、当該受信されなかった返信パケットに対応する待ち時間より小さい待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御する、請求項２から５のいずれか記載の情報処理システム。
【請求項７】
前記要求パケット送信制御部は、
送信された要求パケットに対応する返信パケットが前記返信パケット受信部によって受信されず、かつ、それまでに前記返信パケット受信部による返信パケットの受信がなかった場合には、当該受信されなかった返信パケットに対応する待ち時間の半分の待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御する、請求項２から６のいずれか記載の情報処理システム。
【請求項８】
前記ポート維持時間検出部は、
前記要求パケット送信部が１回目に送信した要求パケットに対応して送信された返信パケットを前記返信パケット受信部が受信した場合に、当該要求パケットの待ち時間情報に応じた待ち時間に基づいて、前記ポート維持時間を検出する、請求項２から７のいずれか記載の情報処理システム。
【請求項９】
前記要求パケット送信制御部は、
送信された要求パケットに対応する返信パケットが前記返信パケット受信部によって受信され、かつ、それまでに前記返信パケット受信部によって返信パケットが受信されないことがなかった場合に、当該受信された返信パケットに対応する待ち時間よりも長い待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御する、請求項２から７のいずれか記載の情報処理システム。
【請求項１０】
前記ポート維持時間検出部は、
要求パケットが所定の回数送信された後に、前記ポート維持時間の検出を行う、請求項１から９のいずれか記載の情報処理システム。
【請求項１１】
前記ポート維持時間検出部は、
前記要求パケット送信部によって送信された要求パケットに含まれる待ち時間情報に応じ
た待ち時間と、当該要求パケットよりも１つ前に送信された要求パケットに含まれる待ち時間情報に応じた待ち時間との差が、所定の値よりも小さくなった場合に、前記ポート維持時間の検出を行う、請求項２から９のいずれか記載の情報処理システム。
【請求項１２】
前記ポート維持時間検出部は、
前記要求パケット送信部が１回目の要求パケットを送信してから所定の時間が経過した後に、前記ポート維持時間の検出を行う、請求項１から９のいずれか記載の情報処理システム。
【請求項１３】
前記返信パケットの即時の送信を要求する要求パケットを前記要求パケット送信部に送信させ、当該要求パケットの送信から、当該要求パケットに応じて送信された返信パケットの前記返信パケット受信部による受信までの時間であるパケット往復時間を測定するパケット往復時間測定部をさらに備え、
前記パケット往復時間に基づいて、前記ポート維持時間が検出される、請求項１から１２のいずれか記載の情報処理システム。
【請求項１４】
前記要求パケットが通過する前記通信処理装置のポートは、当該ポートを初回の要求パケットが通過する時に、前記通信処理装置において新たに割り当てられるものである、請求項１から１３のいずれか記載の情報処理システム。
【請求項１５】
請求項１から１４のいずれか記載の情報処理システムを構成する情報処理装置。
【請求項１６】
請求項１から１４のいずれか記載の情報処理システムを構成するサーバ装置。
【請求項１７】
情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記情報処理装置において用いられる情報処理方法であって、
前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求するパケットである要求パケットを、前記通信処理装置の１つのポートを介して前記サーバ装置に送信する要求パケット送信ステップと、
前記サーバ装置から前記ポートを介して送信された返信パケットを受信する返信パケット受信ステップと、
前記返信パケット受信部で受信した返信パケットに基づいて、前記通信処理装置のポート維持時間を検出するポート維持時間検出ステップと、を備え、
前記要求パケット送信ステップでは、前記返信パケット受信ステップでの返信パケットの受信の有無に基づいて、二分探索法を用いて要求パケットを送信する、情報処理方法。
【請求項１８】
前記要求パケット送信ステップにおける、前記返信パケットの即時の送信を要求する要求パケットの送信から、当該要求パケットに応じて送信された返信パケットの前記返信パケット受信ステップにおける受信までの時間であるパケット往復時間を測定するパケット往復時間測定ステップをさらに備え、
前記パケット往復時間に基づいて、前記ポート維持時間が検出される、請求項１７記載の情報処理方法。
【請求項１９】
情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記サーバ装置において用いられる情報処理方法であって、
前記情報処理装置は、二分探索法を用いて、前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求する要求パケットを前記サーバ装置に送信するものであり、
前記情報処理装置から前記通信処理装置を介して送信された要求パケットを受信する要求パケット受信ステップと、
前記要求パケット受信ステップで受信した要求パケットに基づいて、前記返信パケットを前記情報処理装置に送信する返信パケット送信ステップと、を備えた情報処理方法。
【請求項２０】
コンピュータに、
情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記情報処理装置における処理を実行させるためのプログラムであって、
前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求するパケットである要求パケットを、前記通信処理装置の１つのポートを介して前記サーバ装置に送信する要求パケット送信ステップと、
前記サーバ装置から前記ポートを介して送信された返信パケットを受信する返信パケット受信ステップと、
前記返信パケット受信部で受信した返信パケットに基づいて、前記通信処理装置のポート維持時間を検出するポート維持時間検出ステップと、を実行させ、
前記要求パケット送信ステップでは、前記返信パケット受信ステップでの返信パケットの受信の有無に基づいて、二分探索法を用いて要求パケットを送信する、プログラム。
【請求項２１】
コンピュータに、
前記要求パケット送信ステップにおける、前記返信パケットの即時の送信を要求する要求パケットの送信から、当該要求パケットに応じて送信された返信パケットの前記返信パケット受信ステップにおける受信までの時間であるパケット往復時間を測定するパケット往復時間測定ステップをさらに実行させ、
前記パケット往復時間に基づいて、前記ポート維持時間が検出される、請求項２０記載のプログラム。
【請求項２２】
コンピュータに、
情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記情報処理装置における処理を実行させるためのプログラムであって、
前記情報処理装置は、二分探索法を用いて、前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求する要求パケットを前記サーバ装置に送信するものであり、
前記情報処理装置から前記通信処理装置を介して送信された要求パケットを受信する要求パケット受信ステップと、
前記要求パケット受信ステップで受信した要求パケットに基づいて、前記返信パケットを前記情報処理装置に送信する返信パケット送信ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信処理装置のポート維持時間を検出する情報処理システム等に関する。
【背景技術】
【０００２】
情報処理装置、通信処理装置、及びサーバ装置を含む情報処理システムにおいて、例えば、家庭用のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）や家電機器などの情報処理装置から通信処理装置を介して、所定のパケットをサーバ装置に定期的に送信することが行われている（例えば、特許文献１参照）。ここで、通信処理装置は、例えば、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）機能を有するルータなどである。また、その所定のパケットは、例えば、通信処理装置のＷＡＮ（Ｗｉｄｅ  Ａｒｅａ
Ｎｅｔｗｒｏｋ）側のＩＰアドレスが変化したかどうかを知るため、あるいは、携帯電話等の外部の装置から情報処理装置にサーバ装置を経由してアクセスすることができるように、通信処理装置のポートを維持する（すなわち、ＷＡＮ側からのパケットが通信処理装置を経由して情報処理装置に送信されるようにしておく）ために定期的に送信される。
【０００３】
ルータ等のＮＡＴ機能を有する通信処理装置では、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）側からＷＡＮ側へパケットを送信するときにＬＡＮ側のプライベートＩＰアドレスとポート番号を、ＷＡＮ側のグローバルＩＰアドレスとポート番号に変換する。また、ＷＡＮ側からの返信パケットを受信した場合には、その逆変換を行うことによって、情報処理装置にパケットを渡す。ここで、通信処理装置では、そのようなアドレス変換を行う時間が設定されている。具体的には、ＷＡＮ側とＬＡＮ側との間において、あるアドレス変換が最後になされてから所定の期間経過した後には、ＷＡＮ側から受け取ったパケットに対するそのアドレス変換は行われなくなる（ＬＡＮ側から受け取ったパケットに対しては、新たなアドレス変換がなされることになる）。すなわち、そのＷＡＮ側からのパケットは情報処理装置で受信されないことになり、携帯電話等の外部の装置から情報処理装置にサーバ装置を経由してアクセスできないことになる。その所定の期間のことをポート維持時間と呼ぶことにする。
【特許文献１】国際公開第２００４／０３０２９２号パンフレット（第１頁、第１図等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した情報処理システムにおいて、情報処理装置がサーバ装置からの情報を受信できるようにするには、通信処理装置において絶えずサーバ装置からの（すなわち、ＷＡＮ側からの）パケットに対してアドレス変換をできるようにしておかなければならない。したがって、情報処理装置とサーバ装置との間で情報のやり取りを行う必要がない場合であっても、情報処理装置から通信処理装置を介して、サーバ装置にパケットを定期的に送信することによって、サーバ装置から送信されたパケットに対して、通信処理装置がアドレス変換を行うことができるようにしておく必要がある。この場合に、情報処理装置が定期的に送信するパケットの送信周期を、できるだけ長くしたいという要請がある。不必要なパケットの送信を削減するため、また情報処理装置におけるパケットの送信による処理負担を軽減するためである。具体的には、情報処理装置が定期的に送信するパケットの送信周期を、情報処理装置が接続されている通信処理装置のポート維持時間よりも少しだけ（例えば、１，２秒など）短い時間にすることができればよい。
【０００５】
しかしながら、情報処理装置がどのような通信処理装置に接続されるのかはわからないため、一般には、各メーカから販売されている各種の通信処理装置のうち、一番小さなポ
ート維持時間に対応する周期を情報処理装置において設定しておき、その周期を用いてパケットを送信することになる。この場合には、たとえ長いポート維持時間の通信処理装置に接続されている情報処理装置であっても、あらかじめ設定されている短い周期によって定期的にパケットを送信することとなり、不必要なパケットが多く送信されることになる。
【０００６】
ここで、情報処理装置の接続されている通信処理装置のポート維持時間を情報処理装置が知ることができれば、そのポート維持時間に基づいて、サーバ装置に対して、適切な周期で定期的にパケットを送信することができるようになる。
【０００７】
本発明は、上記問題点を考慮してなされたものであり、情報処理装置の接続されている通信処理装置のポート維持時間を検出することができる情報処理システム等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明による情報処理システムは、情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムであって、前記情報処理装置は、前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求するパケットである要求パケットを、前記通信処理装置の１つのポートを介して送信する要求パケット送信部と、前記サーバ装置から前記ポートを介して送信された返信パケットを受信する返信パケット受信部と、前記返信パケット受信部による返信パケットの受信の有無に基づいて、二分探索法を用いて、前記要求パケット送信部による要求パケットの送信を制御する要求パケット送信制御部と、前記返信パケット受信部が受信した返信パケットに基づいて、前記通信処理装置のポート維持時間を検出するポート維持時間検出部と、を備え、前記サーバ装置は、前記要求パケットを受信する要求パケット受信部と、前記返信パケットを送信する返信パケット送信部と、前記要求パケット受信部が受信した要求パケットに基づいて、前記返信パケットの送信を制御する返信パケット送信制御部と、を備えた、ものである。
【０００９】
このような構成により、要求パケットに対応して送信された返信パケットのうち、返信パケット受信部において受信された返信パケットに基づいて、通信処理装置のポート維持時間を検出することができる。また、二分探索法を用いて、要求パケットの送信を制御することにより、効率的な要求パケットの送信を行うことができ、結果として、効率的なポート維持時間の検出を行うことができる。そして、その検出したポート維持時間を用いて、例えば、定期的なパケットの送信等を行うことができる。その結果、例えば、不必要なパケットの送信を行わないようにすることができうる。
【００１０】
また、本発明による情報処理システムでは、前記要求パケットが、前記返信パケットの送信までの待ち時間に関する情報である待ち時間情報を有しており、前記要求パケット送信制御部が、前記返信パケット受信部による返信パケットの受信の有無に基づいて、二分探索法を用いて待ち時間を決定し、当該決定した待ち時間に応じた待ち時間情報を有する要求パケットを送信するように前記要求パケット送信部を制御し、前記ポート維持時間検出部が、前記返信パケット受信部が受信した返信パケットに対応する待ち時間のうち、一番長い待ち時間に基づいて、前記通信処理装置のポート維持時間を検出し、前記返信パケット送信制御部が、前記要求パケット受信部が受信した要求パケットに含まれる待ち時間情報に基づいて、前記返信パケットの送信を制御してもよい。
このような構成により、要求パケットに含まれる待ち時間情報を用いて、ポート維持時間の検出を行うことができる。
【００１１】
また、本発明による情報処理システムでは、前記ポート維持時間検出部が、前記要求パケット送信部が１回目に送信した要求パケットに対応して送信された返信パケットを前記返信パケット受信部が受信した場合に、当該要求パケットの待ち時間情報に応じた待ち時間に基づいて、前記ポート維持時間を検出してもよい。
【００１２】
このような構成により、ポート維持時間の検出を短期間で行うことができる。例えば、１回目に送信する要求パケットに含まれる待ち時間情報に応じた待ち時間として、定期的なパケットの送信を行う周期として十分大きな値を設定しておくことにより、その１回目に送信された要求パケットに対応して送信された返信パケットを受信できた場合には、その段階でポート維持時間の検出を終了することができ、短期間に必要十分な範囲でのポート維持時間の検出をすることができる。
【００１３】
また、本発明による情報処理システムでは、前記ポート維持時間検出部が、要求パケットが所定の回数送信された後に、前記ポート維持時間の検出を行ってもよい。
このような構成により、所定の回数だけ要求パケットが送信された後に、ポート維持検出を行うことができ、必要とされる精度に応じて、その所定の回数を設定することにより、ポート維持時間の検出を所望の精度で行うことができる。
【００１４】
また、本発明による情報処理システムでは、前記ポート維持時間検出部が、前記要求パケット送信部によって送信された要求パケットに含まれる待ち時間情報に応じた待ち時間と、当該要求パケットよりも１つ前に送信された要求パケットに含まれる待ち時間情報に応じた待ち時間との差が、所定の値よりも小さくなった場合に、前記ポート維持時間の検出を行ってもよい。
このような構成により、あらかじめポート維持時間の精度を設定しておくことにより、その精度でのポート維持時間の検出を行うことができる。
【００１５】
また、本発明による情報処理システムでは、前記ポート維持時間検出部が、前記要求パケット送信部が１回目の要求パケットを送信してから所定の時間が経過した後に、前記ポート維持時間の検出を行ってもよい。
このような構成により、ポート維持時間が検出されるまでの時間を設定することができ、所定の時間以内でポート維持時間の検出が行われるようにすることができる。
【００１６】
また、本発明による情報処理システムでは、前記返信パケットの即時の送信を要求する要求パケットを前記要求パケット送信部に送信させ、当該要求パケットの送信から、当該要求パケットに応じて送信された返信パケットの前記返信パケット受信部による受信までの時間であるパケット往復時間を測定するパケット往復時間測定部をさらに備え、前記パケット往復時間に基づいて、前記ポート維持時間が検出されてもよい。
このような構成により、パケット往復時間を考慮することにより、より精度の高いポート維持時間の検出を行うことができる。
【００１７】
また、本発明による情報処理システムでは、前記要求パケットが通過する前記通信処理装置のポートが、当該ポートを初回の要求パケットが通過する時に、前記通信処理装置において新たに割り当てられるものであってもよい。
【００１８】
このような構成により、要求パケットの送信から、返信パケットが送信されるまでに、要求パケットの通過した通信処理装置のポートが他の用途に用いられる危険性を低くすることができ、正確なポート維持時間の検出を行うことができうる。
【発明の効果】
【００１９】
本発明による情報処理システム等によれば、情報処理装置から送信された要求パケット
に対応して、サーバ装置から送信された返信パケットに基づいて、通信処理装置のポート維持時間を検出することができる。
【発明を実施するための最良の形態】
【００２０】
（実施の形態１）
本発明の実施の形態１による情報処理システムについて、図面を参照しながら説明する。
図１は、本実施の形態による情報処理システムの構成を示すブロック図である。図１において、本実施の形態による情報処理システムは、情報処理装置１と、通信処理装置２と、サーバ装置３とを備える。図１では、１つの情報処理装置１が通信処理装置２に接続されている場合について記載しているが、２以上の情報処理装置が通信処理装置２に接続されていてもよい。情報処理装置１は、例えば、コンピュータ、電子レンジ、電話機、プリンタ、ファクシミリ装置、冷蔵庫、洗濯機、空調装置、テレビ、映像録画装置、セットトップボックス等である。通信処理装置２と、サーバ装置３とは、有線または無線の通信回線４を介して接続されている。通信回線４は、例えば、インターネットやイントラネットなどである。
【００２１】
情報処理装置１は、要求パケット送信部１１と、返信パケット受信部１２と、ポート維持時間検出部１３と、要求パケット送信制御部１４とを備える。
要求パケット送信部１１は、１以上の要求パケットを、通信処理装置２の１つのポートを介してサーバ装置３に送信する。ここで、要求パケットとは、サーバ装置３に対して、返信パケットの送信を要求するパケットである。この要求パケットは、例えば、ＵＤＰヘッダを有するパケットである。なお、要求パケットのペイロードには、待ち時間情報が含まれている。ここで、待ち時間情報とは、サーバ装置３における要求パケットの受信から返信パケットの送信までの待ち時間に関する情報である。この待ち時間情報は、例えば、待ち時間を示す情報（例えば、待ち時間が２分であることを示す情報）であってもよく、待ち時間と所定の関係を有する情報（例えば、待ち時間が１分５８秒である場合に、それに２秒を足した２分を示す情報）であってもよい。本実施の形態では、前者の場合について説明する。また、返信パケットとは、サーバ装置３から通信処理装置２を介して情報処理装置１に送信されるパケットである。その返信パケットを情報処理装置１が受信できるかどうかによって、通信処理装置２におけるポート維持時間が検出される（これらについては後述する）。
【００２２】
なお、要求パケット送信部１１は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、要求パケット送信部１１の外部に図示しない送信デバイスが存在することとなる）。また、要求パケット送信部１１は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００２３】
返信パケット受信部１２は、サーバ装置３から送信された返信パケットを受信する。この返信パケットは、要求パケットの通過した通信処理装置２のポートを介して送信されたものである。なお、後述するように、返信パケット受信部１２は、サーバ装置３から送信されたすべての返信パケットを受信するわけではない。サーバ装置３から送信された返信パケットのうち、要求パケットの通過したポートのポート維持時間が経過した後に、通信処理装置２に送信された返信パケットは、通信処理装置２から情報処理装置１に対して送信されないからである。返信パケット受信部１２は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、返信パケット受信部１２の外部に図示しない受信デバイスが存在することとなる）。また、返信パケット受信部１２は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００２４】
ポート維持時間検出部１３は、返信パケット受信部１２が受信した返信パケットに基づいて、通信処理装置２のポート維持時間を検出する。本実施の形態におけるポート維持時間の検出は、返信パケット受信部１２によって受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間に基づいてなされる。ここで、「返信パケットに対応する待ち時間」とは、その返信パケットの送信を要求した要求パケットに含まれる待ち時間情報に対応した待ち時間のことである。また、「一番長い待ち時間に基づいて」とは、一番長い待ち時間をポート維持時間として検出してもよく、一番長い待ち時間とは異なる時間をポート維持時間として検出してもよい。「一番長い待ち時間とは異なる時間」とは、例えば、一番長い待ち時間に対して、情報処理装置１とサーバ装置３との間のパケット往復時間を考慮した時間などである。なお、パケット往復時間の考慮については、後述する実施の形態２で説明する。また、以下の説明において、「ポート維持時間」は、ポート維持時間検出部１３によって検出されたポート維持時間を示す情報を指すこともある。
【００２５】
ポート維持時間検出部１３が検出するポート維持時間は、通信処理装置２のポート維持時間そのものであってもよく、あるいは、通信処理装置２のポート維持時間よりも短い時間であってもよい。例えば、通信処理装置２のポート維持時間が２分である場合に、ポート維持時間検出部１３は、通信処理装置２のポート維持時間を１分５０秒と検出してもよい。なお、ポート維持時間検出部１３が検出したポート維持時間は、パケットを定期的に送信する送信部（図示せず）に対してパケットを送信する周期として設定されてもよく、所定の記録媒体等に蓄積されてもよく、他の装置等に送信されてもよく、表示デバイス等に表示されてもよい。このように、検出されたポート維持時間の用途は問わない。
【００２６】
要求パケット送信制御部１４は、返信パケット受信部１２による返信パケットの受信の有無に基づいて、二分探索法を用いて、要求パケット送信部１１による要求パケットの送信を制御する。要求パケット送信部１１による要求パケットの送信の制御とは、例えば、要求パケット送信部１１が送信する要求パケットに含まれる待ち時間情報の設定、要求パケット送信部１１による要求パケットの送信タイミングの制御などである。より具体的には、要求パケット送信制御部１４は、返信パケット受信部１２による返信パケットの受信の有無に基づいて、二分探索法を用いて待ち時間を決定し、その決定した待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部１１を制御する。この処理の詳細については、後述する。
【００２７】
通信処理装置２は、情報処理装置１とサーバ装置３との間の通信に関する処理を行う。本実施の形態による通信処理装置２は、ＮＡＴ機能を有するものであり、例えば、ルータと呼ばれるものである。本実施の形態による通信処理装置２は、情報処理装置１から送信されるパケットに含まれる送信元のアドレス情報（すなわち、情報処理装置１のアドレス情報）を、通信処理装置２のＷＡＮ側のアドレス情報に変換する。
【００２８】
具体的には、情報処理装置１から送信されるパケットに含まれるソース（送信元）アドレス（プライベートＩＰアドレスであり、アドレスＡとする）、ソース（送信元）ポート番号（ポート番号Ｂとする）を、通信処理装置２のＷＡＮ側のグローバルＩＰアドレス（アドレスＸとする）、ポート番号（ポート番号Ｙとする）に変換する。また、サーバ装置３から通信処理装置２のＷＡＮ側のアドレスＸ、ポート番号Ｙに送信されたパケットは、送信先のアドレスＸ、ポート番号Ｙが情報処理装置１のアドレスＡ、ポート番号Ｂに変換され、情報処理装置１に送信される。ここで、グローバルＩＰアドレスとは、ある情報処理装置が外部の装置（例えば、ＷＡＮ（インターネットなど）に接続されている外部の装置など）と通信するためのアドレスである。したがって、一般にはＷＡＮで使用されるアドレスであるが、ある電子機器がＮＡＴ機能を有するルータを介してＬＡＮ（例えば、イントラネットなど）に接続されている装置と通信を行う場合に、そのＬＡＮで使用される
アドレスであってもよい。そのＩＰアドレスは、例えば、現在のいわゆるＩＰｖ４のアドレスであってもよく、あるいは、ＩＰｖ６のアドレスなどの他のバージョンのアドレスであってもよい。
【００２９】
なお、通信処理装置２において、受信フィルタルールが設定されている場合には、その受信フィルタルールに基づいたパケットの受信が行われる。受信フィルタルールには、パケットの送信先のアドレス及びポート番号をそれぞれ、アドレスＰ、ポート番号Ｑとすると、例えば、通信処理装置２のＬＡＮ側からＷＡＮ側に対して、送信先のアドレス、ポート番号が、それぞれアドレスＰ、ポート番号Ｑであるパケットが送信された場合に、アドレスＰからのパケットしか受信しないＡｄｄｒｅｓｓ  Ｓｅｎｓｉｔｉｖｅフィルタ、ポート番号Ｑからのパケットしか受信しないＰｏｒｔ  Ｓｅｎｓｉｔｉｖｅフィルタ、フィルタが存在しないＮｏフィルタ（どのアドレス、どのポート番号からのパケットも受信する）がある。ここで、通信処理装置２がパケットを受信するとは、ＬＡＮ側の情報処理装置１から送信されたパケットに対して割り当てた通信処理装置２のポートにおいて、ＷＡＮ側からのパケットを受け付け、アドレス変換を行い、そのパケットをＬＡＮ側の情報処理装置１に対して送信することである。
【００３０】
上記従来例でも記載したように、この通信処理装置２のアドレス変換の行われる期間には、所定の制限がある。すなわち、アドレスＡ、ポート番号Ｂと、アドレスＸ、ポート番号Ｙとの間でのアドレス変換は、両者間で最後にアドレス変換が行われてから、通信処理装置２のポート維持時間が経過した時点で行われなくなる。したがって、そのポート維持時間が経過した後に、アドレスＸ、ポート番号Ｙに対して、通信回線４を介してパケットが送信されたとしても、通信処理装置２においてアドレス変換がなされず、情報処理装置１は、そのパケットを受信することはできない。
サーバ装置３は、要求パケット受信部３１と、返信パケット送信部３２と、返信パケット送信制御部３３とを備える。
【００３１】
要求パケット受信部３１は、情報処理装置１から通信処理装置２の所定のポートを介して送信された要求パケットを受信する。なお、要求パケット受信部３１は、受信を行うための受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、要求パケット受信部３１の外部に図示しない受信デバイスが存在することとなる）。また、要求パケット受信部３１は、ハードウェアによって実現されてもよく、あるいは受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３２】
返信パケット送信部３２は、返信パケットを、要求パケット受信部３１が受信し、その返信パケットの送信を要求した要求パケットの通過した通信処理装置２のポートに対して送信する。この返信パケットの送信は、後述する返信パケット送信制御部３３の制御に基づいて行われる。この返信パケットは、例えば、ＵＤＰヘッダを有するパケットである。この返信パケットのペイロードには、例えば、要求パケット受信部３１が受信した要求パケットを識別する情報（例えば、待ち時間情報や、その他の識別情報）が含まれていてもよい。なお、返信パケット送信部３２は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、あるいは含まなくてもよい（この場合には、返信パケット送信部３２の外部に図示しない送信デバイスが存在することとなる）。また、返信パケット送信部３２は、ハードウェアによって実現されてもよく、あるいは送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３３】
返信パケット送信制御部３３は、要求パケット受信部３１が受信した要求パケットに基づいて、返信パケット送信部３２による返信パケットの送信を制御する。本実施の形態では、返信パケット送信制御部３３は、要求パケットに含まれる待ち時間情報に基づいて、
返信パケットの送信を制御する。返信パケット送信制御部３３は、要求パケットに含まれる待ち時間情報が、例えば、待ち時間を示す情報（例えば、待ち時間が２分であることを示す情報）である場合には、要求パケット受信部３１が要求パケットを受信してから、その待ち時間情報の示す待ち時間（例えば２分）が経過した時に、返信パケットを送信するように返信パケット送信部３２を制御し、要求パケットに含まれる待ち時間情報が、例えば、待ち時間と所定の関係を有する情報（例えば、待ち時間が１分５８秒である場合に、それに２秒を足した２分を示す情報）である場合には、要求パケット受信部３１が要求パケット受信してから、その待ち時間情報に応じた待ち時間（例えば１分５８秒）が経過した時に、返信パケットを送信するように返信パケット送信部３２を制御する。ここで、待ち時間が経過した時とは、待ち時間が経過した厳密な時点であってもよく、あるいは、その待ち時間が経過した厳密な時点から制御に関する時間などが経過した時点であってもよい。
【００３４】
次に、本実施の形態による情報処理システムの動作について、フローチャートを用いて説明する。図２のフローチャートは、本実施の形態による情報処理装置１の動作を示すフローチャートである。
【００３５】
（ステップＳ１０１）要求パケット送信制御部１４は、要求パケット送信部１１が送信する要求パケットに対応する待ち時間を設定する。ここで、待ち時間を設定するとは、例えば、所定のメモリ等に待ち時間を記録することなどである。
（ステップＳ１０２）要求パケット送信部１１は、ステップＳ１０１、あるいは後述するステップＳ１０７で設定された待ち時間に応じた待ち時間情報を有する要求パケットを、サーバ装置３に送信する。
【００３６】
（ステップＳ１０３）返信パケット受信部１２は、ステップＳ１０２で送信された要求パケットに対してサーバ装置３から送信された返信パケットを受信したかどうか判断する。そして、返信パケットを受信した場合には、ステップＳ１０４に進み、そうでない場合には、ステップＳ１０５に進む。
【００３７】
（ステップＳ１０４）返信パケット受信部１２は、受信した返信パケットに基づいて、所定の受信処理を行う。ここで、所定の受信処理とは、例えば、受信した返信パケット、もしくは、その返信パケットに含まれる待ち時間情報をポート維持時間検出部１３と、要求パケット送信制御部１４とに渡すこと、または、受信した返信パケットに含まれる待ち時間情報を所定のメモリで記憶することなどである。
【００３８】
（ステップＳ１０５）要求パケット送信制御部１４は、タイムアウトであるかどうか判断する。ここで、タイムアウトとは、要求パケット送信部１１が要求パケットに対応する返信パケットを受信するはずのタイミングがすでに経過したことをいう。例えば、要求パケット送信部１１が要求パケットを送信してから、その要求パケットに含まれる待ち時間情報に関する待ち時間が経過した時点でタイムアウトと判断してもよく、要求パケットが通信処理装置２からサーバ装置３に到達する時間や、返信パケットがサーバ装置３から通信処理装置２に到達する時間、あるいは何らかのトラブルによって返信パケットの送信が遅れる場合などを想定して、要求パケット送信部１１が要求パケットを送信してから、その要求パケットに含まれる待ち時間情報に関する待ち時間に所定の時間（例えば、１，２秒など）を加算した時間が経過した時点でタイムアウトと判断してもよい。タイムアウトである場合には、ステップＳ１０６に進み、そうでない場合には、ステップＳ１０３に戻る。
【００３９】
（ステップＳ１０６）要求パケット送信制御部１４は、ポート維持時間を検出するかどうか、すなわち、要求パケットの送信を終了するかどうか判断する。例えば、要求パケッ
ト送信部１１が１回目に送信した要求パケットに対応して送信された返信パケットを返信パケット受信部１２が受信した場合に、ポート維持時間を検出すると判断してもよく、要求パケットが所定の回数送信された後に、ポート維持時間を検出すると判断してもよく、要求パケット送信部１１によって送信された要求パケットに含まれる待ち時間情報に応じた待ち時間と、その要求パケットよりも１つ前に送信された要求パケットに含まれる待ち時間情報に応じた待ち時間との差が、所定の値よりも小さくなった場合に、ポート維持時間を検出すると判断してもよく、要求パケット送信部１１が１回目の要求パケットを送信してから所定の時間が経過した後に、ポート維持時間を検出すると判断してもよい。これらの具体例については、後述する。ポート維持時間を検出する場合には、その旨をポート維持時間検出部１３に伝えてステップＳ１０８に進み、そうでない場合には、ステップＳ１０７に進む。
【００４０】
（ステップＳ１０７）要求パケット送信制御部１４は、新たに送信する要求パケットに対応する待ち時間を、二分探索法を用いて設定する。そして、ステップＳ１０２に戻る。ここで、二分探索法を用いた待ち時間の設定とは、情報処理装置１において受信できた返信パケットに対応する待ち時間と、情報処理装置１において受信できなかった返信パケットに対応する待ち時間との中央の待ち時間を、次に送信する要求パケットの待ち時間として設定することである。このように二分探索法を用いた待ち時間の設定を行うことにより、情報処理装置１において受信可能な返信パケットに対応する待ち時間のうち、最大の待ち時間（ポート維持時間）を高速に探索することができる。二分探索法を用いた待ち時間の設定では、例えば、第１の待ち時間に対応する返信パケットを受信することができず、第２の待ち時間（第１の待ち時間よりも小さい時間とする）に対応する返信パケットを受信することができた場合に、第１の待ち時間と、第２の待ち時間との中央の待ち時間（「第３の待ち時間」とする）を、次に送信する要求パケットの待ち時間として設定する。そして、その第３の待ち時間に対応する返信パケットを受信できた場合には、第３の待ち時間と第１の待ち時間との中央の待ち時間を、次に送信する要求パケットの待ち時間として設定し、その第３の待ち時間に対応する返信パケットを受信できなかった場合には、第３の待ち時間と第２の待ち時間との中央の待ち時間を、次に送信する要求パケットの待ち時間として設定する、という処理を繰り返す。なお、この設定の処理の詳細については、後述する。
【００４１】
（ステップＳ１０８）ポート維持時間検出部１３は、それまでに返信パケット受信部１２によって受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間に基づいて、ポート維持時間を検出する。そして、通信処理装置２のポート維持時間を検出する一連の処理は終了となる。
【００４２】
次に、図３のフローチャートを用いて、サーバ装置３の動作について説明する。
（ステップＳ２０１）要求パケット受信部３１は、要求パケットを受信したかどうか判断する。そして、要求パケットを受信した場合には、ステップＳ２０２に進み、そうでない場合には、ステップＳ２０３に進む。
【００４３】
（ステップＳ２０２）返信パケット送信制御部３３は、要求パケット受信部３１が受信した要求パケットについて計時を開始する。例えば、返信パケット送信制御部３３は、受信された要求パケットに含まれる待ち時間情報に応じた待ち時間を計時するためのタイマをスタートさせる。そして、ステップＳ２０１に戻る。
【００４４】
（ステップＳ２０３）返信パケット送信制御部３３は、返信パケットを送信するタイミングであるかどうか判断する。ここで、返信パケットを送信するタイミングであるかどうかは、例えば、ステップＳ２０２における計時の開始から、待ち時間情報に応じた待ち時間が経過したかどうかによって判断される。そして、返信パケットを送信するタイミング
である場合には、ステップＳ２０４に進み、そうでない場合には、ステップＳ２０１に戻る。
【００４５】
（ステップＳ２０４）返信パケット送信部３２は、返信パケットを送信する。この返信パケットには、例えば、要求パケット受信部３１が受信した要求パケットに含まれる待ち時間情報などが含まれる。そして、ステップＳ２０１に戻る。
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００４６】
次に、本実施の形態による情報処理システムの動作について、具体例を用いて説明する。以下の具体例において、ポート維持時間検出部１３が、要求パケットが４回送信された後に、ポート維持時間の検出を行う場合について説明する。なお、以下の具体例１では、ポート維持時間検出部１３が、要求パケット送信部１１が１回目に送信した要求パケットに対応して送信された返信パケットを返信パケット受信部１２が受信した場合に、その要求パケットの待ち時間情報に応じた待ち時間に基づいて、ポート維持時間を検出する場合について説明する。また、以下の具体例２では、要求パケット送信制御部１４が、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信され、かつ、それまでに返信パケット受信部１２によって返信パケットが受信されないことがなかった場合に、その受信された返信パケットに対応する待ち時間よりも長い待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部１１を制御する場合について説明する。
【００４７】
図４（ａ）、（ｂ）は、以下の具体例における要求パケットと、返信パケットとの構成を示す図である。要求パケット、返信パケットは、ともにＵＤＰヘッダを有しており、ペイロードには、待ち時間情報が含まれている。返信パケットに含まれる待ち時間情報は、その返信パケットの送信を要求した要求パケットのペイロードに含まれている待ち時間情報と同じものであるとする。
【００４８】
図５は、以下の具体例における要求パケットと、返信パケットとが通過するポートについて説明するための図である。図５で示されるように、情報処理装置１から送信される要求パケットは、ポートＰ１から送信される。そして、その要求パケットは、通信処理装置２のＷＡＮ側のポートＰ２を通過し、サーバ装置３のポートＰ３で受信される。
【００４９】
ここで、要求パケットが通過する通信処理装置２のポートＰ２は、そのポートＰ２を初回の要求パケットが通過する時に、通信処理装置２において新たに割り当てられるものである。すなわち、他の情報処理装置やサーバ装置との通信で用いられていない通信処理装置２のポートを用いて要求パケットの送信を行うことが大切である。そうでなければ、例えば、ポートＰ２がそれまでに他の用途のために用いられており、要求パケットの送信から返信パケットの送信までに、ポートＰ２を介して他の通信が行われた場合には、正確なポート維持時間の検出を行うことができないからである。なお、ポートＰ２が、初回の要求パケットが通過する時に、通信処理装置２において新たに割り当てられるものであるようにするためには、例えば、情報処理装置１のポートＰ１として、新たなポート（それまでに他の通信で用いていないポート）を用いればよい。
【００５０】
情報処理装置１から送信された要求パケットに対応して送信される返信パケットは、要求パケットを受信したポートＰ３から送信される。ポート維持時間が経過していない場合には、その返信パケットは、通信処理装置２のポートＰ２を通過して情報処理装置１のポートＰ１で受信される。一方、ポート維持時間が経過している場合には、通信処理装置２から情報処理装置１に返信パケットは送信されない。図５からわかるように、本実施の形態による情報処理システムでは、通信処理装置２の１つのポートＰ２を、要求パケット、
及び返信パケットが通過する。なお、ポートＰ２に関するポート維持時間が経過した後に、ポートＰ１からポートＰ３に対して要求パケットが送信された場合には、通信処理装置２において新たなポート（例えば、ポートＰ２と異なるポートＰ４など）が割り当てられることもあり、あるいは、再度ポートＰ２が用いられることもある。これは、通信処理装置２の仕様に依存する。ただし、いずれの場合であっても処理自体に大きな違いはないので（ポートＰ２がポートＰ４などに変わるだけであるので）、説明の便宜上、ポート維持時間の経過後に情報処理装置１のポートＰ１から送信された要求パケットに対して、ポートＰ２が割り当てられる場合について説明する。
【００５１】
また、情報処理装置１、通信処理装置２、サーバ装置３の各ＩＰアドレスは、以下のとおりであるとする。なお、通信処理装置２のＩＰアドレスは、ＷＡＮ側のアドレスである。
情報処理装置１：１９２．１６８．０．１
通信処理装置２：２０２．１３２．１０．６
サーバ装置３：１５５．３２．１０．１０
【００５２】
［具体例１］
図６は、この具体例における図２のフローチャートのステップＳ１０７の処理を示すフローチャートである。
（ステップＳ３０１）要求パケット送信制御部１４は、直前に送信された要求パケットに対応する返信パケットを返信パケット受信部１２が受信したかどうか判断する。すなわち、直前のステップＳ１０３において返信パケットを受信したのか、それとも、ステップＳ１０５においてタイムアウトとなったのかについて判断する。そして、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信された場合には、ステップＳ３０２に進み、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信されなかった場合には、ステップＳ３０３に進む。
【００５３】
（ステップＳ３０２）要求パケット送信制御部１４は、直前に受信された返信パケットに対応する待ち時間と、それまでに返信パケット受信部１２によって受信されなかった返信パケットに対応する待ち時間のうち一番短い待ち時間との中央の待ち時間に応じた待ち時間を、次に送信する要求パケットの待ち時間として設定する。そして、ステップＳ１０７の処理は終了となる。
【００５４】
なお、この具体例では、１回目に送信された要求パケットに対応して送信された返信パケットが受信された場合に、ポート維持時間の検出が行われる。したがって、ステップＳ１０７における判断（図６のフローチャート）において、返信パケットが受信されたと判断された場合には、それ以前に返信パケットの不受信があったことになるので、過去に返信パケットの不受信があったかどうかを判断せずにステップＳ３０２の処理を行うことになる（具体例２の図９のフローチャート参照）。
【００５５】
（ステップＳ３０３）要求パケット送信制御部１４は、過去に、すなわち１回目の要求パケットを送信してからその判断（その時点のステップＳ３０３の判断）までに、送信された返信パケットが返信パケット受信部１２において受信されているかどうか判断する。そして、それまでに返信パケット受信部１２による１以上の返信パケットの受信があった場合には、ステップＳ３０４に進み、それまでに返信パケット受信部１２による返信パケットの受信がなかった場合には、ステップＳ３０５に進む。
【００５６】
（ステップＳ３０４）要求パケット送信制御部１４は、直前に受信されなかった返信パケットに対応する待ち時間と、それまでに返信パケット受信部１２によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間との中央の待ち時間を、次に送信
する要求パケットの待ち時間として設定する。そして、ステップＳ１０７の処理は終了となる。
【００５７】
（ステップＳ３０５）要求パケット送信制御部１４は、直前に受信されなかった返信パケットに対応する待ち時間の半分の待ち時間を、次に送信する要求パケットの待ち時間として設定する。そして、ステップＳ１０７の処理は終了となる。
【００５８】
ここで、ある待ち時間と、他の待ち時間との中央の待ち時間とは、両者の待ち時間の厳密な意味での中央の待ち時間であってもよく、あるいは、両者の待ち時間の中央近傍の待ち時間であってもよい。後者としては、例えば、両者の待ち時間の中央の待ち時間について、１秒より小さな位（すなわち、０．１秒単位の位）を四捨五入した待ち時間などがある。
【００５９】
この具体例において、通信処理装置２のポート維持時間は、１分２０秒であるとして説明する。まず、ポート維持時間を検出するタイミング（例えば、情報処理装置１の初回の起動時や、通信処理装置２を取り替えたことなどに起因するリセット時など）であると判断すると、情報処理装置１の要求パケット送信制御部１４は、待ち時間を２分に設定する（ステップＳ１０１）。すると、要求パケット送信部１１は、待ち時間が２分であることを示す待ち時間情報を構成し、その待ち時間情報をペイロードに有するＵＤＰの要求パケットをサーバ装置３のＩＰアドレス１５５．３２．１０．１０のポートＰ３に向けて送信する（ステップＳ１０２）。その後、情報処理装置１では、その要求パケットに対応する返信パケットが受信されるか、タイムアウトとなるまで、返信パケットの受信を待つ処理が行われる（ステップＳ１０３、Ｓ１０５）。
【００６０】
情報処理装置１から送信された要求パケットは、通信処理装置２において、ソースアドレスが１９２．１６８．０．１から２０２．１３２．１０．６に変換され、ソースポートがポートＰ１からポートＰ２に変換され、サーバ装置３のポートＰ３に送信される。その要求パケットは、サーバ装置３の要求パケット受信部３１で受信される（ステップＳ２０１）。そして、返信パケット送信制御部３３において、タイマがスタートされる（ステップＳ２０２）。そのタイマが要求パケットに含まれていた待ち時間情報の示す待ち時間である２分を経過すると、返信パケット送信制御部３３は、返信パケットを送信するタイミングであると判断し（ステップＳ２０３）、返信パケット送信部３２に、要求パケット受信部３１が受信した要求パケットに含まれる待ち時間情報を有する返信パケットを、要求パケットの送信元である通信処理装置２のＩＰアドレス２０２．１３２．１０．６、ポートＰ２に送信する旨の指示を渡す。すると、返信パケット送信部３２は、通信処理装置２のポートＰ２に対して、待ち時間「２分」を示す待ち時間情報を有する返信パケットを送信する（ステップＳ２０４）。
【００６１】
通信処理装置２のポート維持時間は「１分２０秒」であるため、サーバ装置３から送信された返信パケットは、通信処理装置２においてアドレス変換されず、その返信パケットは情報処理装置１に送信されない。したがって、情報処理装置１の要求パケット送信制御部１４は、待ち時間「２分」を示す待ち時間情報を有する要求パケットが送信されてから、その待ち時間である２分に５秒（この５秒は、要求パケット等の送信時間等を考慮するためのものである）を加算した２分５秒が経過した時点で、タイムアウトであると判断する（ステップＳ１０５）。この場合には、要求パケットが４回送信されておらず、また、１回目に送信した要求パケットに対応して送信された返信パケットを返信パケット受信部１２が受信していないため、ポート維持時間を検出しないと判断される（ステップＳ１０６）。また、この場合には、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信されず（ステップＳ３０１）、かつ、それまでに返信パケット受信部１２による返信パケットの受信がない（ステップＳ３０３）状況であるため、要
求パケット送信制御部１４は、その受信されなかった返信パケットに対応する待ち時間「２分」の半分の待ち時間「１分」を示す待ち時間情報を有する要求パケットを送信するように要求パケット送信部１１を制御する。具体的には、要求パケット送信制御部１４は、１分の待ち時間を設定する（ステップＳ３０５、Ｓ１０７）。
【００６２】
すると、上記した処理と同様にして、再度、待ち時間「１分」を示す待ち時間情報を有する要求パケットが、通信処理装置２のポートＰ２を介してサーバ装置３に送信される（ステップＳ１０２）。そして、サーバ装置３が要求パケットを受信してから１分後に返信パケットがサーバ装置３から送信される。
【００６３】
その返信パケットは、通信処理装置２において、アドレス変換され、情報処理装置１に送信される。そして、その返信パケットは返信パケット受信部１２で受信され（ステップＳ１０３）、その返信パケットに含まれる待ち時間情報の示す待ち時間「１分」がポート維持時間検出部１３と、要求パケット送信制御部１４とに渡される。なお、ポート維持時間検出部１３は、受け取った待ち時間「１分」を図示しない記憶手段で記憶しておくものとする（ステップＳ１０４）。
【００６４】
この場合にも、要求パケットが４回送信されていないため、ポート維持時間を検出しないと判断される（ステップＳ１０６）。また、この場合には、１分の待ち時間に対応する返信パケットが返信パケット受信部１２によって受信され（ステップＳ３０１）、かつ、２分の待ち時間に対応する返信パケットが受信されていないため、その受信された返信パケットに対応する待ち時間「１分」と、それまでに返信パケット受信部１２によって受信されなかった返信パケットに対応する待ち時間「２分」の中央の待ち時間「１分３０秒」を待ち時間として設定する（ステップＳ３０２、Ｓ１０７）。そして、上記した処理と同様にして、再度、待ち時間「１分３０秒」を示す待ち時間情報を有する要求パケットが、通信処理装置２のポートＰ２を介してサーバ装置３に送信される（ステップＳ１０２）。そして、サーバ装置３が要求パケットを受信してから１分３０秒後に返信パケットがサーバ装置３から送信される。
【００６５】
通信処理装置２のポート維持時間は「１分２０秒」であるため、サーバ装置３から送信された返信パケットは、通信処理装置２においてアドレス変換されず、その返信パケットは情報処理装置１に送信されない。したがって、情報処理装置１の要求パケット送信制御部１４は、タイムアウトであると判断する（ステップＳ１０５）。この場合にも、要求パケットが４回送信されていないため、ポート維持時間を検出しないと判断される（ステップＳ１０６）。
【００６６】
また、この場合には、１分３０秒の待ち時間に対応する返信パケットが返信パケット受信部１２によって受信されず（ステップＳ３０１）、それまでに返信パケット受信部１２による１以上の返信パケットの受信があったため（ステップＳ３０３）、その受信されなかった返信パケットに対応する待ち時間「１分３０秒」と、それまでに返信パケット受信部１２によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間「１分」との中央の待ち時間「１分１５秒」を待ち時間として設定する（ステップＳ３０４、Ｓ１０７）。そして、上記した処理と同様にして、再度、待ち時間「１分１５秒」を示す待ち時間情報を有する要求パケットが、通信処理装置２のポートＰ２を介してサーバ装置３に送信される（ステップＳ１０２）。そして、サーバ装置３が要求パケットを受信してから１分１５秒後に返信パケットがサーバ装置３から送信される。
【００６７】
通信処理装置２のポート維持時間は「１分２０秒」であるため、サーバ装置３から送信された返信パケットは、通信処理装置２においてアドレス変換され、その返信パケットは情報処理装置１に送信される。そして、その返信パケットは返信パケット受信部１２で受
信され（ステップＳ１０３）、その返信パケットに含まれる待ち時間情報の示す待ち時間「１分１５秒」がポート維持時間検出部１３と、要求パケット送信制御部１４とに渡される。なお、ポート維持時間検出部１３は、受け取った待ち時間「１分１５秒」を図示しない記憶手段で記憶しておくものとする（ステップＳ１０４）。
【００６８】
この時点では、要求パケットがすでに４回送信されているため、要求パケット送信制御部１４は、ポート維持時間を検出するタイミングであると判断する（ステップＳ１０６）。そして、ポート維持時間検出部１３は、それまでに返信パケット受信部１２から受け取った待ち時間のうち、一番長い待ち時間である「１分１５秒」を、通信処理装置２のポート維持時間として検出する（ステップＳ１０８）。
【００６９】
なお、その後、その検出されたポート維持時間は、例えば、所定の記録媒体（図示せず）で記憶され、サーバ装置３への定期的なパケットの送信周期として用いられる。ここで、検出されたポート維持時間を用いるのは、情報処理装置１であってもよく、あるいは、通信処理装置２のＬＡＮ側に接続された他の情報処理装置等であってもよい。また、そのポート維持時間を用いて定期的に送信されるパケットの送信先は、サーバ装置３であってもよく、あるいは、他のサーバ装置等であってもよい。また、検出されたポート維持時間よりも短い時間を、定期的に送信されるパケットの送信周期としてもよい。
【００７０】
図７は、この具体例における要求パケットの送信と、返信パケットの受信（あるいは不受信）について説明するための図である。この場合には、待ち時間「２分」、「１分」、「１分３０秒」、「１分１５秒」のそれぞれに対応する要求パケットが送信され、そのうち、待ち時間「１分」、「１分１５秒」に対応する返信パケットを受信することができたため、ポート維持時間が１分１５分と検出された。
【００７１】
なお、この具体例では、通信処理装置２のポート維持時間を「１分２０秒」であるとして説明したが、通信処理装置２のポート維持時間が「５分」である場合には、１回目に送信した要求パケットに対応する返信パケットが、情報処理装置１において受信されることになる。その場合には、１回目の返信パケットが受信された時点において、ポート維持時間を検出するタイミングであると判断され（ステップＳ１０６）、ポート維持時間が２分と検出される（ステップＳ１０８）。図８は、その場合の要求パケットの送信と、返信パケットの受信について説明するための図である。
【００７２】
［具体例２］
図９は、この具体例における図２のフローチャートのステップＳ１０７の処理を示すフローチャートである。なお、ステップＳ４０１、Ｓ４０２以外の処理は、図６のフローチャートの説明と同様であり、その説明を省略する。
【００７３】
（ステップＳ４０１）要求パケット送信制御部１４は、過去に、すなわち１回目の要求パケットを送信してからその判断までに、送信された返信パケットを返信パケット受信部１２において受信できないことがあったかどうか判断する。そして、それまでに返信パケット受信部１２によって返信パケットが受信されないことがあった場合には、ステップＳ３０２に進み、それまでに返信パケット受信部１２によって返信パケットが受信されないことがなかった場合には、ステップＳ４０２に進む。
【００７４】
（ステップＳ４０２）要求パケット送信制御部１４は、直前に受信された返信パケットに対応する待ち時間よりも長い待ち時間を、次に送信する要求パケットの待ち時間として設定する。そして、ステップＳ１０７の処理は終了となる。
【００７５】
ここで、ある待ち時間よりも長い待ち時間としては、例えば、ある待ち時間に所定の時
間（例えば、２分など）を加算した待ち時間であってもよく、ある待ち時間に１より大きい所定の値を掛けた時間（例えば、ある待ち時間の２倍など）であってもよい。
【００７６】
この具体例では、要求パケットの送信に関する処理や、返信パケットの受信、不受信に関する処理は、具体例１と同様であるため、それらの処理の詳細な説明を省略し、図１０を用いて説明する。図１０は、この具体例において、要求パケットの送信と、返信パケットの受信（あるいは不受信）について説明するための図である。なお、この具体例では、通信処理装置２のポート維持時間が「５分３０秒」であるとする。
【００７７】
また、この具体例では、要求パケット送信制御部１４が、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信され、かつ、それまでに返信パケット受信部１２によって返信パケットが受信されないことがなかった場合に、その受信された返信パケットに対応する待ち時間に２分を加算した待ち時間に対応する要求パケットを送信するように要求パケット送信部１１を制御する場合について説明する。
【００７８】
図１０で示すように、この具体例でも、まず、２分の待ち時間を示す待ち時間情報を有する要求パケットが送信されたとする（ステップＳ１０２）。その要求パケットに対応して送信された返信パケットが返信パケット受信部１２で受信されたとする（ステップＳ１０３）。すると、要求パケット送信制御部１４は、待ち時間「２分」に対応する返信パケットが受信され、１回目の返信パケットの送信であるため、それまでに返信パケットが受信されないことがないと判断し（ステップＳ３０１、Ｓ４０１）、受信された返信パケットに対応する待ち時間「２分」に２分を加算した４分の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する（ステップＳ４０２、Ｓ１０７、Ｓ１０２）。
【００７９】
その要求パケットに対応して送信された返信パケットが返信パケット受信部１２で受信されたとする（ステップＳ１０３）。すると、要求パケット送信制御部１４は、待ち時間「４分」に対応する返信パケットが受信され、１回目、２回目に送信した要求パケットに対応して送信された返信パケットがすべて受信されているため、それまでに返信パケットが受信されないことがないと判断し（ステップＳ３０１、Ｓ４０１）、受信された返信パケットに対応する待ち時間「４分」に２分を加算した６分の待ち時間を示す待ち時間情報を有する要求パケットを送信するように制御する（ステップＳ４０２、Ｓ１０７、Ｓ１０２）。
【００８０】
その要求パケットに対応して送信された返信パケットは、情報処理装置１に送信されない。この場合には、通信処理装置２におけるポート維持時間が経過しているからである。したがって、情報処理装置１の要求パケット送信制御部１４は、タイムアウトであると判断する（ステップＳ１０５）。
【００８１】
この場合には、６分の待ち時間に対応する返信パケットが返信パケット受信部１２によって受信されず（ステップＳ３０１）、それまでに返信パケット受信部１２による１以上の返信パケットの受信があったため（ステップＳ３０３）、その受信されなかった返信パケットに対応する待ち時間「６分」と、それまでに返信パケット受信部１２によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間「４分」との中央の待ち時間「５分」を待ち時間として設定する（ステップＳ３０４、Ｓ１０７）。そして、上記した処理と同様にして、再度、待ち時間「５分」を示す待ち時間情報を有する要求パケットが、通信処理装置２のポートＰ２を介してサーバ装置３に送信される（ステップＳ１０２）。そして、サーバ装置３が要求パケットを受信してから５分後に返信パケットがサーバ装置３から送信される。
【００８２】
その返信パケットは、通信処理装置２においてアドレス変換され、情報処理装置１に送信される。そして、その返信パケットは返信パケット受信部１２で受信され（ステップＳ１０３）、その返信パケットに含まれる待ち時間情報の示す待ち時間「５分」がポート維持時間検出部１３と、要求パケット送信制御部１４とに渡される。なお、ポート維持時間検出部１３は、受け取った待ち時間「５分」を図示しない記憶手段で記憶しておくものとする（ステップＳ１０４）。
【００８３】
この時点では、要求パケットがすでに４回送信されているため、要求パケット送信制御部１４は、ポート維持時間を検出するタイミングであると判断する（ステップＳ１０６）。そして、ポート維持時間検出部１３は、それまでに返信パケット受信部１２から受け取った待ち時間のうち、一番長い待ち時間である「５分」を、通信処理装置２のポート維持時間として検出する（ステップＳ１０８）。
【００８４】
以上のように、本実施の形態による情報処理システムによれば、二分探索法を用いて要求パケットの送信を制御し、ポート維持時間を検出することができ、効率的なポート維持時間の検出を行うことができる。
【００８５】
例えば、通信処理装置２のポート維持時間が５分３０秒である場合に、二分探索法を用いた場合には、図１０を用いて説明したように、返信パケットの受信から次の要求パケットの送信までの時間を無視すると、ポート維持時間が５分であることを、はじめの要求パケットの送信から１７分で検出することができる。なお、この場合のポート維持時間の誤差は１分である。最後に送信された要求パケットに対応する待ち時間とそれよりも１回前に送信された要求パケットに対応する待ち時間との差が１分だからである。一方、待ち時間を２分から１分ごとに順番に増加させながら要求パケットを送信し、要求パケットに対応して送信された返信パケットを受信できなかった時点において、ポート維持時間の検出を行う場合には、待ち時間が２分、３分、４分、５分、６分の５個のパケットが送信されることとなり、ポート維持時間の検出までに２０分かかることとなる。この場合のポート維持時間の誤差も１分である。待ち時間を１分ごとに増加させているからである。このように、二分探索法を用いることにより、ポート維持時間の検出を効率的に行いうることがわかる。
【００８６】
また、ポート維持時間を検出するタイミングを適切に設定することにより、必要十分な精度でポート維持時間を検出することができる。例えば、厳密なポート維持時間を検出したい場合には、ポート維持時間を検出するまでに送信する要求パケットの個数を大きい値に設定し、概略的なポート維持時間の検出でよい場合には、ポート維持時間を検出するまでに送信する要求パケットの個数を少なくしてもよい。
【００８７】
なお、本実施の形態では、図４（ａ）で示されるように、要求パケットに待ち時間のみが含まれる構成について説明したが、図４（ｃ）で示されるように、要求パケットに待ち時間と識別情報とが含まれており、要求パケットに対応して送信される返信パケットには、図４（ｄ）で示されるように、要求パケットに含まれていた識別情報が含まれるようにしてもよい。この場合には、返信パケットを受信した情報処理装置１は、待ち時間情報と識別情報との対応を示す情報（情報処理装置１あるいは情報処理装置１がアクセス可能な装置において、あらかじめ保持されているものとする）を参照することにより、その返信パケットに対応する待ち時間を知ることができる。
【００８８】
（実施の形態２）
本発明の実施の形態２による情報処理システムについて、図面を参照しながら説明する。本実施の形態による情報処理システムでは、要求パケット、及び返信パケットの送信時間を考慮してポート維持時間の検出を行うものである。
【００８９】
図１１は、本実施の形態による情報処理システムの構成を示すブロック図である。図１１において、本実施の形態による情報処理システムは、情報処理装置５と、通信処理装置２と、サーバ装置３とを備える。通信処理装置２、サーバ装置３は実施の形態１において説明したものと同様のものであり、それらの説明を省略する。情報処理装置５は、実施の形態１における情報処理装置１に対応するものであるが、本実施の形態では、情報処理装置５は、要求パケット及び返信パケットの送信時間を考慮してポート維持時間の検出を行う。
【００９０】
情報処理装置５は、要求パケット送信部１１と、返信パケット受信部１２と、要求パケット送信制御部１４と、ポート維持時間検出部５１と、パケット往復時間測定部５２とを備える。なお、要求パケット送信部１１、返信パケット受信部１２、要求パケット送信制御部１４に関する構成及び動作は、ポート維持時間の検出が要求パケット及び返信パケットの送信時間を考慮して行われる以外、実施の形態１におけるものと同様のものであり、その説明を省略する。
【００９１】
ポート維持時間検出部５１は、情報処理装置５と、サーバ装置３との間のパケットの往復時間に基づいて、ポート維持時間の検出を行う。それ以外の処理は、実施の形態１によるポート維持時間検出部１３と同様であり、その説明を省略する。
【００９２】
パケット往復時間測定部５２は、返信パケットの即時の送信を要求する要求パケットを要求パケット送信部１１に送信させ、その要求パケットの送信から、その要求パケットに応じて送信された返信パケットの返信パケット受信部１２による受信までの時間であるパケット往復時間を測定する。パケット往復時間測定部５２によって測定されたパケット往復時間は、前述のように、ポート維持時間の検出において用いられる。
【００９３】
次に、本実施の形態による情報処理装置５の動作について、図１２のフローチャートを用いて説明する。
（ステップＳ５０１）パケット往復時間測定部５２は、パケット往復時間を測定するための要求パケットを送信するように要求パケット送信部１１を制御する。そして、要求パケット送信部１１は、このパケット往復時間測定部５２による制御に応じて、要求パケットを送信する。ここで、パケット往復時間を測定するための要求パケットとは、返信パケットの即時の送信を要求する要求パケットであり、例えば、待ち時間「０秒」を示す待ち時間情報を有する要求パケットである。なお、パケット往復時間測定部５２は、要求パケットが送信されてから、パケット往復時間を測定するための計時を開始する。
【００９４】
（ステップＳ５０２）返信パケット受信部１２は、ステップＳ５０１で送信された要求パケットに対応してサーバ装置３から送信された返信パケットを受信したかどうか判断する。そして、受信した場合には、受信した旨をパケット往復時間測定部５２に伝えてステップＳ５０３に進み、そうでない場合には、受信するまでステップＳ５０２の処理を繰り返す。
【００９５】
（ステップＳ５０３）パケット往復時間測定部５２は、ステップＳ５０２において返信パケットが受信されると、ステップＳ５０１において開始した計時をストップし、その時の計時の値（すなわち、要求パケットの送信から返信パケットの受信までの時間）をパケット往復時間とする。
【００９６】
（ステップＳ５０４）情報処理装置５は、パケット往復時間測定部５２によって測定されたパケット往復時間を用いて、ポート維持時間の検出を行う。このポート維持時間の検出の処理は、ポート維持時間検出部５１によるポート維持時間の検出処理（ステップＳ１
０８）において、パケット往復時間を考慮したポート維持時間の検出がなされる以外、実施の形態１における図２で示されるフローチャートの処理と同様であり、その説明を省略する。
【００９７】
なお、図１２のフローチャートでは、ポート維持時間の検出（ステップＳ５０４）の処理よりも以前に、パケット往復時間を測定する場合について説明したが、このパケット往復時間の測定は、図２のフローチャートのステップＳ１０８の処理よりも以前に行われるのであれば、その測定のタイミングを問わない。例えば、「０秒」以外の待ち時間を示す待ち時間情報を有する要求パケットの送信の後に、パケット往復時間の測定を行ってもよい。
【００９８】
次に、本実施の形態による情報処理装置５の動作について、具体例を用いて説明する。
パケット往復時間測定部５２は、「０秒」の待ち時間を示す待ち時間情報を有する要求パケットをサーバ装置３に送信するように要求パケット送信部１１に指示を渡す。すると、要求パケット送信部１１は、指示された待ち時間情報を有する要求パケットを、通信処理装置２を介してサーバ装置３に送信する（ステップＳ５０１）。パケット往復時間測定部５２は、その要求パケットが送信されたタイミングで、タイマをスタートさせ、計時を開始する。
【００９９】
送信された要求パケットは、実施の形態１の具体例における説明と同様にしてサーバ装置３に送信され、要求パケット受信部３１で受信される（ステップＳ２０１）。返信パケット送信制御部３３は、受信された要求パケットに対応する待ち時間が「０秒」であるため、即時の返信を行うと判断し（ステップＳ２０２、Ｓ２０３）、返信パケット送信部３２に、要求パケットの送信元である通信処理装置２に返信パケットを送信する旨の指示を渡す。その指示に応じて、返信パケット送信部３２は、ペイロードに待ち時間「０秒」を示す待ち時間情報を有する返信パケットを通信処理装置２に送信する（ステップＳ２０４）。その返信パケットは、通信処理装置２においてアドレス変換され、情報処理装置５に送信される。そして、返信パケット受信部１２は、その返信パケットを受信し（ステップＳ５０２）、返信パケットを受信した旨をパケット往復時間測定部５２に渡す。パケット往復時間測定部５２は、要求パケットの送信時にスタートさせたタイマをストップさせ、そのタイマの値をパケット往復時間とする（ステップＳ５０３）。ここでは、パケット往復時間が「１秒」であると測定されたものとする。パケット往復時間測定部５２は、その測定したパケット往復時間「１秒」を、ポート維持時間検出部５１に渡す。
【０１００】
この後、情報処理装置５は、実施の形態１の具体例と同様にして、要求パケットを送信し、ポート維持時間の検出を行う。図１３は、この具体例における要求パケットの送信と、返信パケットの受信（あるいは不受信）について説明するための図である。図１３からもわかるように、この具体例では、２分の待ち時間から出発し、要求パケット送信部１１によって送信された要求パケットに含まれる待ち時間情報に応じた待ち時間と、その要求パケットよりも１つ前に送信された要求パケットに含まれる待ち時間情報に応じた待ち時間との差が１秒以下になった場合に、要求パケットの送信を終了し、ポート維持時間の検出を行うものとする。
【０１０１】
この具体例では、図１３で示されるように、１分１７秒の待ち時間に対応する要求パケットを送信した後に、その要求パケットに対応する返信パケットを返信パケット受信部１２が受信したとする。その後、１分１８秒の待ち時間に対応する要求パケットを送信した後に、その要求パケットに対応する返信パケットが受信されず、タイムアウトとなった時点で、ポート維持時間を検出するタイミングであると判断され、ポート維持時間の検出が行われる。
【０１０２】
ポート維持時間検出部５１は、返信パケット受信部１２で受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間「１分１７秒」にパケット往復時間「１秒」を加算した「１分１８秒」を、通信処理装置２のポート維持時間として検出する（ステップＳ１０８）。
【０１０３】
ここで、図１４を用いて通信処理装置２のポート維持時間が、返信パケット受信部１２で受信された返信パケットに対応する待ち時間のうち、一番長い待ち時間と、パケット往復時間とを加算した時間になることについて説明する。図１４は、要求パケットの送信から、返信パケットの受信までの時間を示す図である。なお、図１４において、情報処理装置５による要求パケットの送信から、その要求パケットが通信処理装置２を通過するまでの時間、及び返信パケットが通信処理装置２を通過してから、その返信パケットが情報処理装置５で受信されるまでの時間は、無視可能なぐらい小さいものとしている。
【０１０４】
図１４において、要求パケットが送信され、通信処理装置２を通過してから、サーバ装置３において要求パケットが受信されるまでの時間を「時間Ａ」とする。サーバ装置３が要求パケットを受信してから、要求パケットに対応する待ち時間だけ経過した時点で返信パケットを送信する場合には、サーバ装置３による要求パケットの受信から返信パケットの送信までが待ち時間となる。また、返信パケットが送信されてから、その返信パケットが通信処理装置２を通過し、情報処理装置５で受信されるまでの時間を「時間Ｂ」とする。すると、図１４で示される場合には、通信処理装置２のポートＰ２は、「待ち時間＋時間Ａ＋時間Ｂ」の期間だけ維持されていたこととなる。ここで、時間Ａと時間Ｂとを加算したものがパケット往復時間であるので、受信できた返信パケットに対応する一番長い待ち時間にパケット往復時間を加算した時間がポート維持時間となる。
【０１０５】
以上のように、本実施の形態による情報処理システムでは、通信処理装置２と、サーバ装置３との間におけるパケットの往復時間（実際に測定しているのは、情報処理装置５と、サーバ装置３との間のパケットの往復時間）を考慮してポート維持時間を検出することができるため、より厳密なポート維持時間を検出することができる。
【０１０６】
なお、本実施の形態では、ポート維持時間検出部５１によるポート維持時間の検出処理時にパケット往復時間を考慮する場合について説明したが、これは一例であって、測定されたパケット往復時間に基づいて、ポート維持時間が検出されればよい。すなわち、ポート維持時間を検出するいずれかの過程においてパケット往復時間が用いられればよく、例えば、送信する要求パケットに含まれる待ち時間情報を、パケット往復時間を用いて変更してもよく、サーバ装置３において、パケット往復時間を用いて返信パケットを送信するタイミングを変更してもよい。例えば、３０秒の待ち時間を示す待ち時間情報を有する要求パケットを送信する場合に、その待ち時間から、パケット往復時間（１秒とする）を引いた２９秒の待ち時間を示す待ち時間情報を有する要求パケットを送信し、その要求パケットに対応して送信された返信パケットを受信できた場合に、その返信パケットに対応する待ち時間が３０秒であるとして、ポート維持時間の検出を行ってもよい。
【０１０７】
また、本実施の形態では、ポート維持時間の検出と、パケット往復時間の測定とを同一の装置で行う場合について説明したが、両者を異なった装置において行ってもよい。そして、一方の装置で検出されたパケット往復時間を用いて、他方の装置においてポート維持時間の検出を行ってもよい。
【０１０８】
また、上記各実施の形態では、要求パケットに待ち時間情報が含まれる場合について説明したが、待ち時間情報に代えて、返信パケットを送信する時刻を示す時刻情報が要求パケットに含まれてもよい。例えば、要求パケットを送信する時刻から、所定の待ち時間だけ経過した時刻を示す時刻情報を有する要求パケットがサーバ装置に送信され、その要求
パケットに対応して、要求パケットに含まれる時刻情報の示す時刻にサーバ装置から返信パケットが送信されることによって、上記各実施の形態と同様にして、ポート維持時間の検出を行うことができる。ここで、この場合のポート維持時間の検出では、例えば、返信パケット受信部によって受信された返信パケットに対応する要求パケットが送信されてから、その返信パケットが受信されるまでの時間のうち、一番長い時間がポート維持時間として検出される。なお、時刻情報を有する要求パケットを用いる場合には、例えば、タイムサーバ等を用いることにより、情報処理装置１とサーバ装置３との間での時計の同期を取る必要がある。このように、要求パケット送信制御部１４は、返信パケット受信部１２による返信パケットの受信の有無に基づいて、二分探索法を用いて、要求パケット送信部１１による要求パケットの送信を制御するものであってもよく、ポート維持時間検出部１３、５１は、返信パケット受信部１２が受信した返信パケットに基づいて、通信処理装置２のポート維持時間を検出するものであってもよい。また、返信パケット送信制御部３３は、要求パケット受信部３１が受信した要求パケットに基づいて、返信パケットの送信を制御するものであってもよい。
【０１０９】
また、上記各実施の形態では、図５で示されるように、通信処理装置２の一つのポートＰ２のみを用いて要求パケットの送信を行う場合について説明したが、要求パケットが送信されるごとに、その要求パケットが通過する通信処理装置２のポートが変更されてもよい。すなわち、要求パケットを通信処理装置２の１つのポートを介して送信するとは、一度に用いる通信処理装置２のポートが１つであるということである。具体的には、複数の要求パケットを送信する場合に、そのすべての要求パケットを通信処理装置２の単一のポートを介して送信することであってもよく、あるいは、複数の要求パケットを、通信処理装置２の２以上のポートを介して送信することであってもよい。ただし、後者の場合であっても、一度に用いるポートは１つであるため、２以上のポートを用いて同時に２以上の要求パケットを送信するようなことは行わない。
【０１１０】
また、上記各実施の形態において、要求パケットと返信パケットとがＵＤＰのパケットである場合について説明したが、要求パケットと返信パケットとはＴＣＰのパケットであってもよく、ポート維持時間の検出が可能なパケットであれば、それら以外のパケットであってもよい。
【０１１１】
また、上記各実施の形態において、返信パケットの送信タイミングを、タイマを用いて計時する場合について説明したが、タイマに代えて、例えば、時計やクロック信号等を用いてもよく、その計時の手段は問わない。
【０１１２】
また、上記各実施の形態では、要求パケット、返信パケットのペイロードに待ち時間情報等の情報が含まれている場合について説明したが、それらのパケットの構成は、上記説明に限定されるものではなく、その他の構成であってもよい。また、返信パケットのペイロードには、意味のある情報が含まれていなくてもよい（すなわち、ダミーパケットであってもよい）。例えば、要求パケット送信部１１が要求パケットを送信してから、対応する待ち時間が経過した時に、ダミーの返信パケットを受信することができた場合には、返信パケットを受信したと判断し、返信パケットを受信することができなかった場合には、返信パケットを受信できなかったと判断してもよい。
【０１１３】
また、例えば、情報処理装置とサーバ装置とにおいて、二分探索法の同一のアルゴリズムを有している場合には、情報処理装置からサーバ装置に送信する要求パケットに、待ち時間等が含まれておらず、返信パケットの送信間隔を増やすのか、減らすのかを示す情報が含まれており、その情報に基づいて、サーバ装置において返信パケットの送信のタイミングを判断し、返信パケットを送信してもよい。具体的には、図７において、１回目の要求パケットでは、ポート維持時間の検出を開始する旨の情報が含まれており、その要求パ
ケットに対応して、サーバ装置は、その要求パケットの受信から２分後に返信パケットを送信する。その返信パケットが情報処理装置で受信されなかったとすると、返信パケットの送信間隔を減らす旨の情報を含む要求パケットがサーバ装置に送信される。すると、その要求パケットの受信から１分後に返信パケットが送信される。このような処理が繰り返されることにより、要求パケットの送信と、返信パケットの送信とが行われ、ポート維持時間が検出されてもよい。
【０１１４】
また、上記各実施の形態において、要求パケット送信制御部１４は、例えば、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信されず、かつ、それまでに返信パケット受信部１２による１以上の返信パケットの受信があった場合に、その受信されなかった返信パケットに対応する待ち時間（「第１の待ち時間」とする）と、それまでに返信パケット受信部１２によって受信された返信パケットに対応する待ち時間のうち一番長い待ち時間（「第２の待ち時間」とする）との間の待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部１１を制御してもよい。また、要求パケット送信制御部１４は、例えば、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信され、かつ、それまでに返信パケット受信部１２によって返信パケットが受信されないことがあった場合に、その受信された返信パケットに対応する待ち時間と、それまでに返信パケット受信部１２によって受信されなかった返信パケットに対応する待ち時間のうち一番短い待ち時間との間の待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部１１を制御してもよい。ここで、第１の待ち時間と第２の待ち時間との間の待ち時間とは、例えば、第１の待ち時間に、第１の待ち時間からと第２の待ち時間を引いた時間に３分の２を掛けた時間を加算した時間などである。
【０１１５】
また、上記各実施の形態において、二分探索法を用いた待ち時間の設定とは、情報処理装置１において受信できた返信パケットに対応する待ち時間と、情報処理装置１において受信できなかった返信パケットに対応する待ち時間との間の待ち時間を、次に送信する要求パケットの待ち時間として設定することであってもよい。すなわち、要求パケット送信制御部１４は、例えば、送信された要求パケットに対応する返信パケットが返信パケット受信部１２によって受信されず、かつ、それまでに返信パケット受信部１２による返信パケットの受信がなかった場合には、その受信されなかった返信パケットに対応する待ち時間（「第３の待ち時間」とする）より小さい待ち時間に応じた待ち時間情報を有する要求パケットを送信するように要求パケット送信部１１を制御してもよい。ここで、第３の待ち時間より小さい待ち時間とは、０よりも大きく、第３の待ち時間よりも小さい時間であり、例えば、第３の待ち時間に３分の２を掛けた時間などである。
【０１１６】
また、上記各実施の形態では、通信処理装置を１つだけ介して通信回線４に接続される場合について説明したが、複数の通信処理装置を介して通信回線４に接続されてもよい（すなわち、多段接続の通信処理装置が構成されていてもよい）。この場合には、その多段接続の通信処理装置のうち、一番短いポート維持時間が検出されることになる。
【０１１７】
また、上記各実施の形態では、通信処理装置２がＮＡＴの機能を有するものである（すなわち、アドレス変換を行う）と説明したが、通信処理装置２は、ＮＡＴの機能に代えて、あるいはＮＡＴの機能と共にパケットフィルタリングのファイアウォール（Ｆｉｒｅｗａｌｌ）の機能を有するものであってもよい。ここで、パケットフィルタリングとは、例えば、前述の受信フィルタルールに基づいた受信パケットの選択を行うものである。そのようなファイアウォールの機能を有する通信処理装置２について、上記各実施の形態による方法によって、そのポート維持時間を検出することができる。ここで、通信処理装置２がファイアウォール機能を有するものである場合のポート維持時間とは、その通信処理装置２のあるポートを最後のパケットが通過してから所定の時間が経過した後に、ＷＡＮ側
からそのポートに送信されたパケットが通信処理装置２のＬＡＮ側に送信されない場合における、その所定の時間のことである。
【０１１８】
また、上記各実施の形態において、ＵＤＰの要求パケット、返信パケットを送信する場合には、パケットロスを考慮して（ＵＤＰはコネクションレス型の通信であるため、パケットロスの発生する可能性がある）、同一内容の要求パケット、返信パケットを、複数同時に送信するようにしてもよい。
【０１１９】
また、上記各実施の形態では、サーバ装置をＩＰアドレスによって特定する場合について説明したが、サーバ装置をドメイン名（例えば、ｓｅｒｖｅｒ．ｐａｎａ．ｎｅｔなど）によって特定してもよい。この場合には、そのドメイン名がＤＮＳサーバを用いて、ＩＰアドレスに変換されることにより、サーバ装置を特定することができる。
【０１２０】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１２１】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記情報処理装置における処理を実行させるためのプログラムであって、前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求するパケットである要求パケットを、前記通信処理装置の１つのポートを介して送信する要求パケット送信ステップと、前記サーバ装置から前記ポートを介して送信された返信パケットを受信する返信パケット受信ステップと、前記返信パケット受信部で受信した返信パケットに基づいて、前記通信処理装置のポート維持時間を検出するポート維持時間検出ステップと、を実行させ、前記要求パケット送信ステップでは、前記返信パケット受信ステップでの返信パケットの受信の有無に基づいて、二分探索法を用いて要求パケットを送信する、ものである。
【０１２２】
また、このプログラムでは、コンピュータに、前記要求パケット送信ステップにおける、前記返信パケットの即時の送信を要求する要求パケットの送信から、当該要求パケットに応じて送信された返信パケットの前記返信パケット受信ステップにおける受信までの時間であるパケット往復時間を測定するパケット往復時間測定ステップをさらに実行させ、前記パケット往復時間に基づいて、前記ポート維持時間が検出されてもよい。
【０１２３】
また、上記各実施の形態におけるサーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、情報処理装置と、サーバ装置と、前記情報処理装置と前記サーバ装置との間の通信に関する処理を行う通信処理装置とを備えた情報処理システムを構成する前記情報処理装置における処理を実行させるためのプログラムであって、前記情報処理装置は、二分探索法を用いて、前記サーバ装置から前記通信処理装置を介して前記情報処理装置に送信される返信パケットの送信を要求する要求パケットを送信するものであり、前記情報処理装置から前記通信処理装置を介して送信された要求パケットを受信する要求パケット受信ステップと、前記要求パケット受信ステップで受信した要求パケットに基づいて、前記返信パケットを送信する返信パケッ
ト送信ステップと、を実行させるためのものである。
【０１２４】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０１２５】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０１２６】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１２７】
以上より、本発明による情報処理システム等は、通信処理装置のポート維持時間を検出することができ、通信処理装置を介してサーバ装置等にパケットを送信する情報処理装置を備えた情報処理システム等として有用である。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施の形態１による情報処理システムの構成を示すブロック図
【図２】同実施の形態による情報処理装置の動作を示すフローチャート
【図３】同実施の形態によるサーバ装置の動作を示すフローチャート
【図４】同実施の形態における要求パケット及び返信パケットの構成を示す図
【図５】同実施の形態における要求パケット及び返信パケットの送受信を説明するための図
【図６】同実施の形態による情報処理装置の動作を示すフローチャート
【図７】同実施の形態における要求パケットの送信、及び返信パケットの受信を説明するための図
【図８】同実施の形態における要求パケットの送信、及び返信パケットの受信を説明するための図
【図９】同実施の形態による情報処理装置の動作を示すフローチャート
【図１０】同実施の形態における要求パケットの送信、及び返信パケットの受信を説明するための図
【図１１】本発明の実施の形態２による情報処理システムの構成を示すブロック図
【図１２】同実施の形態による情報処理装置の動作を示すフローチャート
【図１３】同実施の形態における要求パケットの送信、及び返信パケットの受信を説明するための図
【図１４】同実施の形態におけるパケット往復時間とポート維持時間との関係について説明するための図
【符号の説明】
【０１２９】
１、５  情報処理装置
２  通信処理装置
３  サーバ装置
１１  要求パケット送信部
１２  返信パケット受信部
１３、５１  ポート維持時間検出部
１４  要求パケット送信制御部
３１  要求パケット受信部
３２  返信パケット送信部
３３  返信パケット送信制御部
５２  パケット往復時間測定部
【図１】
2006050125.tif 000003
【図２】
2006050125.tif 000004
【図３】
2006050125.tif 000005
【図４】
2006050125.tif 000006
【図５】
2006050125.tif 000007
【図６】
2006050125.tif 000008
【図７】
2006050125.tif 000009
【図８】
2006050125.tif 000010
【図９】
2006050125.tif 000011
【図１０】
2006050125.tif 000012
【図１１】
2006050125.tif 000013
【図１２】
2006050125.tif 000014
【図１３】
2006050125.tif 000015
【図１４】
2006050125.tif 000016