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