(57)【要約】【課題】ＮＡＴ種別や規則性を迅速に判定してＰ２Ｐ通信を開始させることができる通信システム、端末装置、通信方法、通信プログラムを提供する【解決手段】ＮＡＴ装置の配下にある端末装置では、他のＮＡＴ装置の配下にある相手端末装置とＰ２Ｐ通信を開始させる場合、ＮＡＴ装置のＮＡＴ種別の取得を要求する種別要求パケットが通信制御装置に対して送信される（Ｓ１２３）。通信制御装置では、記憶されているＮＡＴ種別が選択され、端末装置に対して返信される。端末装置では、通信制御装置から送信されるＮＡＴ種別を受信した場合（Ｓ１２５：ＹＥＳ）、受信したＮＡＴ種別に基づいて相手方の端末装置と所定の通信が行われる。これによって、異なるＮＡＴ装置に接続する相手方の端末装置とＰ２Ｐ通信を行うことが可能な状態となる。相手方の端末装置との間でＰ２Ｐ通信が開始される（Ｓ１２７）。【選択図】図１１
2011077920.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワークに接続するＮＡＴ装置の配下の内部ネットワークに接続する端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも含む通信システムにおいて、
前記端末装置は、自身が属する前記内部ネットワークに接続する前記ＮＡＴ装置である自身ＮＡＴ装置のポートマッピング時におけるポート番号の更新規則に関する規則情報と、前記自身ＮＡＴ装置を種別する種別情報とのうち少なくとも一方を特定する特定手段と、
前記特定手段によって特定された前記規則情報と前記種別情報とのうち少なくとも一方と、前記自身ＮＡＴ装置を特定するＮＡＴ特定情報とを、前記通信制御装置に対して送信する第一送信手段とを備え、
前記通信制御装置は、前記ＮＡＴ特定情報と、前記規則情報と前記種別情報とのうち少なくとも一方とを受信する第一受信手段と、
前記第一受信手段において受信された前記ＮＡＴ特定情報と、前記規則情報と前記種別情報とのうち少なくとも一方とを対応付けて記憶手段に記憶する記憶制御手段と、
を備え、
前記端末装置はさらに、通信相手の前記端末装置である相手端末装置と通信するために、前記自身ＮＡＴ装置の前記種別情報と前記規則情報とのうち少なくとも一方の取得を要求する取得要求信号を、前記自身ＮＡＴ装置のＮＡＴ特定情報とともに前記通信制御装置に対して送信する第二送信手段を備え、
前記通信制御装置はさらに、前記端末装置から送信された前記ＮＡＴ特定情報と前記取得要求信号とを受信する第二受信手段と、
前記第二受信手段において受信された前記ＮＡＴ特定情報と前記取得要求信号とに基づいて、前記記憶手段を参照し、受信した前記ＮＡＴ特定情報に対応付けられている前記種別情報と前記規則情報とのうち少なくとも一方がある場合、前記取得要求信号を送信した前記端末装置に対して送信する第三送信手段とを備え
前記端末装置はさらに、前記第二送信手段によって送信された前記取得要求信号に応じて前記通信制御装置から送信される前記種別情報と前記規則情報とのうち少なくとも一方を受信する第三受信手段と、
前記第三受信手段において受信された前記種別情報と前記規則情報とのうち少なくとも一方を用いて前記相手端末装置と通信を行う第一通信手段と
を備えたことを特徴とする通信システム。
【請求項２】
前記端末装置は、
前記規則情報を取得するために前記通信制御装置との間で行う通信であって、前記通信制御装置に対して第一信号を複数送信し、送信した前記第一信号の其々に対して前記通信制御装置から返信される第二信号を受信する通信を行う第二通信手段を備え、
前記特定手段は、
前記第二通信手段において受信した其々の前記第二信号の宛先ポート番号を抽出し、抽出した前記宛先ポート番号の差分を算出することによって、前記規則情報を特定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記通信制御装置は、
前記第一受信手段において前記端末装置から前記規則情報を受信した場合に、前記規則情報を統計的に解析する解析手段を備え、
前記記憶制御手段は、
前記解析手段によって解析された前記規則情報である解析済規則情報を新たな前記規則情報として前記記憶手段に記憶することを特徴とする請求項２に記載の通信システム。
【請求項４】
前記端末装置は、
前記第二通信手段による通信時におけるネットワークの使用帯域を取得する第一取得手段を備え、
前記第一送信手段は、
前記第一取得手段によって取得された前記使用帯域、前記種別情報、前記規則情報、及び前記ＮＡＴ特定情報を送信し、
前記通信制御装置は、
前記第一受信手段において、前記使用帯域、前記種別情報、前記規則情報、及び前記ＮＡＴ特定情報を受信し、
前記解析手段は、
前記第一受信手段において受信された前記使用帯域と前記規則情報とを統計的に解析することを特徴とする請求項３に記載の通信システム。
【請求項５】
前記端末装置は、
ＳＮＭＰ（Simple Network Management Protocol）に基づき、前記自身ＮＡＴ装置を特定する前記ＮＡＴ特定情報を取得する第二取得手段を備え、
前記第一送信手段は、
前記第二取得手段において取得された前記ＮＡＴ特定情報を前記自身ＮＡＴ装置の前記ＮＡＴ特定情報として前記通信制御装置に対して送信することを特徴とする請求項１から４のいずれかに記載の通信システム。
【請求項６】
前記端末装置は、
前記自身ＮＡＴ装置が、他の前記ＮＡＴ装置を介して前記外部ネットワークに接続している状態である多段ＮＡＴ状態であるか否かを判断する多段判断手段を備え、
前記第二送信手段は、
前記多段判断手段において前記多段ＮＡＴ状態であると判断された場合には、前記ＮＡＴ特定情報と前記取得要求信号とを送信しないことを特徴とする請求項１から５のいずれかに記載の通信システム。
【請求項７】
外部ネットワークに接続するＮＡＴ装置の配下の内部ネットワークに接続する端末装置であって、
自身が属する前記内部ネットワークに接続する前記ＮＡＴ装置である自身ＮＡＴ装置のポートマッピング時におけるポート番号の更新規則に関する規則情報と、前記自身ＮＡＴ装置を種別する種別情報とを特定する特定手段と、
前記特定手段によって特定された前記規則情報と前記種別情報とのうち少なくとも一方と、前記自身ＮＡＴ装置を特定するＮＡＴ特定情報とを、前記外部ネットワークに接続する通信制御装置に対して送信する第一送信手段と、
通信相手の前記端末装置である相手端末装置と通信するために、前記自身ＮＡＴ装置の前記種別情報と前記規則情報とのうち少なくとも一方の取得を要求する取得要求信号を、前記自身ＮＡＴ装置のＮＡＴ特定情報とともに前記通信制御装置に対して送信する第二送信手段と、
前記第二送信手段によって送信された前記取得要求信号に応じて前記通信制御装置から送信される前記種別情報と前記規則情報とのうち少なくとも一方を受信する第三受信手段と、
前記第三受信手段において受信された前記種別情報と前記規則情報とのうち少なくとも一方を用いて前記相手端末装置と通信を行う第一通信手段と
を備えたことを特徴とする端末装置。
【請求項８】
前記規則情報を取得するために前記通信制御装置との間で行う通信であって、前記通信制御装置に対して第一信号を複数送信し、送信した前記第一信号の其々に対して前記通信制御装置から返信される第二信号を受信する通信を行う第二通信手段を備え、
前記特定手段は、
前記第二通信手段において受信した其々の前記第二信号の宛先ポート番号を抽出し、抽出した前記宛先ポート番号の差分を算出することによって、前記規則情報を特定することを特徴とする請求項７に記載の端末装置。
【請求項９】
外部ネットワークに接続するＮＡＴ装置の配下の内部ネットワークに接続する端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも含む通信システムにおいて、前記端末装置間で通信を行う通信方法であって、
前記端末装置において、自身が属する前記内部ネットワークに接続する前記ＮＡＴ装置である自身ＮＡＴ装置のポートマッピング時におけるポート番号の更新規則に関する規則情報と、前記自身ＮＡＴ装置を種別する種別情報とのうち少なくとも一方を特定する特定ステップと、
前記端末装置において、前記特定ステップによって特定された前記規則情報と前記種別情報とのうち少なくとも一方と、前記自身ＮＡＴ装置を特定するＮＡＴ特定情報とを、前記通信制御装置に対して送信する第一送信ステップと、
前記通信制御装置において、前記ＮＡＴ特定情報と、前記規則情報と前記種別情報とのうち少なくとも一方とを受信する第一受信ステップと、
前記通信制御装置において、前記第一受信ステップにおいて受信された前記ＮＡＴ特定情報と、前記規則情報と前記種別情報ととのうち少なくとも一方と対応付けて記憶手段に記憶する記憶制御ステップと、
前記端末装置において、通信相手の前記端末装置である相手端末装置と通信するために、前記自身ＮＡＴ装置の前記種別情報と前記規則情報とのうち少なくとも一方の取得を要求する取得要求信号を、前記自身ＮＡＴ装置のＮＡＴ特定情報とともに前記通信制御装置に対して送信する第二送信ステップと、
前記通信制御装置において、前記端末装置から送信された前記ＮＡＴ特定情報と前記取得要求信号とを受信する第二受信ステップと、
前記通信制御装置において、前記第二受信ステップにおいて受信された前記ＮＡＴ特定情報と前記取得要求信号とに基づいて、前記記憶手段を参照し、受信した前記ＮＡＴ特定情報に対応付けられている前記種別情報と前記規則情報とのうち少なくとも一方がある場合、前記取得要求信号を送信した前記端末装置に対して送信する第三送信ステップと、
前記端末装置において、前記第二送信ステップによって送信された前記取得要求信号に応じて前記通信制御装置から送信される前記種別情報と前記規則情報とのうち少なくとも一方を受信する第三受信ステップと、
前記第三受信ステップにおいて受信された前記種別情報と前記規則情報とのうち少なくとも一方を用いて前記相手端末装置と通信を行う第一通信ステップと
を備えたことを特徴とする通信方法。
【請求項１０】
請求項７又は８に記載の端末装置の各処理手段としてコンピュータを駆動するための通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信システム、端末装置、通信方法、通信プログラムに関する。より詳細には、異なるＮＡＴ装置の配下にある他の端末装置との間で通信を行う通信システム、端末装置、通信方法、通信プログラムに関する。
【背景技術】
【０００２】
ＮＡＴ（Network Address Translation）機能を備えた装置（ＮＡＴルータなど。以下「ＮＡＴ装置」という。）は、インターネット側からＬＡＮ側に向かう方向のパケットを受信した場合、ＮＡＴ装置に記憶されているポート番号宛てのパケットのみＬＡＮ側に転送し、その他のポート番号宛てのパケットはブロックする。従って、異なるＮＡＴ装置の配下の端末装置同士でＰ２Ｐ（Peer to Peer）通信を行うためには、ＮＡＴ装置に記憶されているポート番号を認識することが必要となる。
【０００３】
ＮＡＴ装置に記憶されるポート番号は、所定の規則性に基づいて更新される。またパケットを転送するか否かの判断方法は、ＮＡＴ装置の種別（Cone Nat、Symmetric NATなど）等によって異なる。従って、ＮＡＴ装置に記憶されているポート番号を認識して端末装置間でＰ２Ｐ通信を行うためには、ＮＡＴ装置の種別（Cone Nat、Symmetric NATなど）が特定される必要がある。ＮＡＴ装置の種別が特定された後、特定された種別毎に適切な通信手順（UDP Hole Punching等）が選択され実行される。これによって、更新後のポート番号が特定されるので、端末装置同士でＰ２Ｐ通信が可能となる。
【０００４】
ＮＡＴ装置の種別を特定する為の方法としては、例えばＲＦＣ（Request for Comments）３４８９に記載されている方法が挙げられる。また、ＲＦＣ３４８９に準拠しつつ改良を加えることによって、ＮＡＴ装置の種別を正確に判定する通信装置が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１５１１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら上述の方法では、端末装置とサーバとの間で複数のパケットの送受信を行うことによってＮＡＴ種別が判定されるため、ＮＡＴ種別や、ポート番号が規則的に更新される場合の規則性を判定するまでに多くの時間を要してしまう。このため、端末装置間でＰ２Ｐ通信が可能となるまでに時間がかかってしまうという問題点がある。
【０００７】
本発明の目的は、ＮＡＴ種別や規則性を迅速に判定してＰ２Ｐ通信を開始させることができる通信システム、端末装置、通信方法、及び通信プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第一態様に係る通信システムは、外部ネットワークに接続するＮＡＴ装置の配下の内部ネットワークに接続する端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも含む通信システムにおいて、前記端末装置は、自身が属する前記内部ネットワークに接続する前記ＮＡＴ装置である自身ＮＡＴ装置のポートマッピング時における前記ポート番号の更新規則に関する規則情報と、前記自身ＮＡＴ装置を種別する種別情報とのうち少なくとも一方を特定する特定手段と、前記特定手段によって特定された前記規則情報と前記種別情報とのうち少なくとも一方と、前記自身ＮＡＴ装置を特定するＮＡＴ特定情報とを、前記通信制御装置に対して送信する第一送信手段とを備え、前記通信制御装置は、前記ＮＡＴ特定情報と、前記規則情報と前記種別情報とのうち少なくとも一方とを受信する第一受信手段と、前記第一受信手段において受信された前記ＮＡＴ特定情報と、前記規則情報と前記種別情報とのうち少なくとも一方とを対応付けて記憶手段に記憶する記憶制御手段と、を備え、前記端末装置はさらに、通信相手の前記端末装置である相手端末装置と通信するために、前記自身ＮＡＴ装置の前記種別情報と前記規則情報とのうち少なくとも一方の取得を要求する取得要求信号を、前記自身ＮＡＴ装置のＮＡＴ特定情報とともに前記通信制御装置に対して送信する第二送信手段を備え、前記通信制御装置はさらに、前記端末装置から送信された前記ＮＡＴ特定情報と前記取得要求信号とを受信する第二受信手段と、前記第二受信手段において受信された前記ＮＡＴ特定情報と前記取得要求信号とに基づいて、前記記憶手段を参照し、受信した前記ＮＡＴ特定情報に対応付けられている前記種別情報と前記規則情報とのうち少なくとも一方がある場合、前記取得要求信号を送信した前記端末装置に対して送信する第三送信手段とを備え前記端末装置はさらに、前記第二送信手段によって送信された前記取得要求信号に応じて前記通信制御装置から送信される前記種別情報と前記規則情報とのうち少なくとも一方を受信する第三受信手段と、前記第三受信手段において受信された前記種別情報と前記規則情報とのうち少なくとも一方を用いて前記相手端末装置と通信を行う第一通信手段とを備えている。
【０００９】
第一態様に係る通信システムでは、端末装置は、自身ＮＡＴ装置の種別情報及び規則情報のうち少なくとも一方を、通信制御装置から取得することができる。端末装置は、取得した情報に基づいて、相手端末装置と通信を行うことができる。端末装置は、種別情報や規則情報を取得するために必要な通信処理を行わずに済むので、時間を要することなく迅速に種別情報や規則情報を取得することができる。従って端末装置は、相手端末装置との通信を開始するまでに必要な時間を短縮できる。
【００１０】
また、第一態様において、前記端末装置は、前記規則情報を取得するために前記通信制御装置との間で行う通信であって、前記通信制御装置に対して第一信号を複数送信し、送信した前記第一信号の其々に対して前記通信制御装置から返信される第二信号を受信する通信を行う第二通信手段を備え、前記特定手段は、前記第二通信手段において受信した其々の前記第二信号の宛先ポート番号を抽出し、抽出した前記宛先ポート番号の差分を算出することによって、前記規則情報を特定してもよい。これによって端末装置は、通信制御装置と通信を行うことによって、規則情報を特定することができる。また、通信制御装置との間で複数の信号の送受信を行うことによって規則情報を特定することができるので、簡易な方法によって迅速に規則情報を特定できる。
【００１１】
また、第一態様において、前記通信制御装置は、前記第一受信手段において前記端末装置から前記規則情報を受信した場合に、前記規則情報を統計的に解析する解析手段を備え、前記記憶制御手段は、前記解析手段によって解析された前記規則情報である解析済規則情報を新たな前記規則情報として前記記憶手段に記憶してもよい。このように、規則情報を統計的に解析することによって、規則情報の誤差やノイズの影響を小さくできる。これによって規則情報の精度が高まるので、この規則情報に基づいて通信を行う端末装置は、確実に相手端末装置と通信を行うことができる。
【００１２】
また、第一態様において、前記端末装置は、前記第二通信手段による通信時におけるネットワークの使用帯域を取得する第一取得手段を備え、前記第一送信手段は、前記第一取得手段によって取得された前記使用帯域、前記種別情報、前記規則情報、及び前記ＮＡＴ特定情報を送信し、前記通信制御装置は、前記第一受信手段において、前記使用帯域、前記種別情報、前記規則情報、及び前記ＮＡＴ特定情報を受信し、前記解析手段は、前記第一受信手段において受信された前記使用帯域と前記規則情報とを統計的に解析してもよい。このように、使用帯域と規則情報を統計的に解析することによって、使用帯域に依存する誤差やノイズの影響を小さくできる。これによって、さらに規則情報の精度を高めることができる。端末装置は、より確実に相手端末装置と通信を行うことができる。
【００１３】
また、第一態様において、前記端末装置は、ＳＮＭＰ（Simple Network Management Protocol）に基づき、前記自身ＮＡＴ装置を特定する前記ＮＡＴ特定情報を取得する第二取得手段を備え、前記第一送信手段は、前記第二取得手段において取得された前記ＮＡＴ特定情報を前記自身ＮＡＴ装置の前記ＮＡＴ特定情報として前記通信制御装置に対して送信してもよい。これによって端末装置は、ＳＮＭＰに基づいて自身ＮＡＴ装置から直接ＮＡＴ特定情報を取得することができる。取得されたＮＡＴ特定情報をキーとして、種別情報や規則情報を通信制御装置から取得することができる。自身ＮＡＴ装置が取り替えられ、自身ＮＡＴ装置のＮＡＴ特定情報が変更された場合であっても、変更後のＮＡＴ特定情報を端末装置に設定し直す手間を省くことができる。
【００１４】
また、第一態様において、前記端末装置は、前記自身ＮＡＴ装置が、他の前記ＮＡＴ装置を介して前記外部ネットワークに接続している状態である多段ＮＡＴ状態であるか否かを判断する多段判断手段を備え、前記第二送信手段は、前記多段判断手段において前記多段ＮＡＴ状態であると判断された場合には、前記ＮＡＴ特定情報と前記取得要求信号とを送信しないこととしてもよい。多段ＮＡＴ状態である場合、直接接続するＮＡＴ装置の種別情報に基づいて通信を開始させても、相手端末装置と通信できない場合がある。これに対して端末装置は、多段ＮＡＴ状態である場合に種別情報を取得しないので、相手端末装置との通信が開始されてしまって通信が失敗してしまう不具合を防止できる。
【００１５】
本発明の第二態様に係る端末装置は、外部ネットワークに接続するＮＡＴ装置の配下の内部ネットワークに接続する端末装置であって、自身が属する前記内部ネットワークに接続する前記ＮＡＴ装置である自身ＮＡＴ装置のポートマッピング時における前記ポート番号の更新規則に関する規則情報と、前記自身ＮＡＴ装置を種別する種別情報とを特定する特定手段と、前記特定手段によって特定された前記規則情報と前記種別情報とのうち少なくとも一方と、前記自身ＮＡＴ装置を特定するＮＡＴ特定情報とを、前記外部ネットワークに接続する通信制御装置に対して送信する第一送信手段と、通信相手の前記端末装置である相手端末装置と通信するために、前記自身ＮＡＴ装置の前記種別情報と前記規則情報とのうち少なくとも一方の取得を要求する取得要求信号を、前記自身ＮＡＴ装置のＮＡＴ特定情報とともに前記通信制御装置に対して送信する第二送信手段と、前記第二送信手段によって送信された前記取得要求信号に応じて前記通信制御装置から送信される前記種別情報と前記規則情報とのうち少なくとも一方を受信する第三受信手段と、前記第三受信手段において受信された前記種別情報と前記規則情報とのうち少なくとも一方を用いて前記相手端末装置と通信を行う第一通信手段とを備えている。
【００１６】
第二態様に係る端末装置は、自身ＮＡＴ装置の種別情報及び規則情報のうち少なくとも一方を、通信制御装置から取得することができる。端末装置は、取得した情報に基づいて、相手端末装置と通信を行うことができる。端末装置は、種別情報や規則情報を取得するために必要な通信処理を行わずに済むので、時間を要することなく迅速に種別情報や規則情報を取得することができる。従って端末装置は、相手端末装置との通信を開始するまでに必要な時間を短縮できる。
【００１７】
また、第二態様において、前記規則情報を取得するために前記通信制御装置との間で行う通信であって、前記通信制御装置に対して第一信号を複数送信し、送信した前記第一信号の其々に対して前記通信制御装置から返信される第二信号を受信する通信を行う第二通信手段を備え、前記特定手段は、前記第二通信手段において受信した其々の前記第二信号の宛先ポート番号を抽出し、抽出した前記宛先ポート番号の差分を算出することによって、前記規則情報を特定してもよい。これによって端末装置は、通信制御装置と通信を行うことによって、規則情報を特定することができる。また、通信制御装置との間で複数の信号の送受信を行うことによって規則情報を特定することができるので、簡易な方法によって迅速に規則情報を特定できる。
【００１８】
本発明の第三態様に係る通信方法は、外部ネットワークに接続するＮＡＴ装置の配下の内部ネットワークに接続する端末装置と、前記外部ネットワークに接続する通信制御装置とを少なくとも含む通信システムにおいて、前記端末装置間で通信を行う通信方法であって、前記端末装置において、自身が属する前記内部ネットワークに接続する前記ＮＡＴ装置である自身ＮＡＴ装置のポートマッピング時における前記ポート番号の更新規則に関する規則情報と、前記自身ＮＡＴ装置を種別する種別情報とのうち少なくとも一方を特定する特定ステップと、前記端末装置において、前記特定ステップによって特定された前記規則情報と前記種別情報とのうち少なくとも一方と、前記自身ＮＡＴ装置を特定するＮＡＴ特定情報とを、前記通信制御装置に対して送信する第一送信ステップと、前記通信制御装置において、前記ＮＡＴ特定情報と、前記規則情報と前記種別情報とのうち少なくとも一方とを受信する第一受信ステップと、前記通信制御装置において、前記第一受信ステップにおいて受信された前記ＮＡＴ特定情報と、前記規則情報と前記種別情報ととのうち少なくとも一方と対応付けて記憶手段に記憶する記憶制御ステップと、前記端末装置において、通信相手の前記端末装置である相手端末装置と通信するために、前記自身ＮＡＴ装置の前記種別情報と前記規則情報とのうち少なくとも一方の取得を要求する取得要求信号を、前記自身ＮＡＴ装置のＮＡＴ特定情報とともに前記通信制御装置に対して送信する第二送信ステップと、前記通信制御装置において、前記端末装置から送信された前記ＮＡＴ特定情報と前記取得要求信号とを受信する第二受信ステップと、前記通信制御装置において、前記第二受信ステップにおいて受信された前記ＮＡＴ特定情報と前記取得要求信号とに基づいて、前記記憶手段を参照し、受信した前記ＮＡＴ特定情報に対応付けられている前記種別情報と前記規則情報とのうち少なくとも一方がある場合、前記取得要求信号を送信した前記端末装置に対して送信する第三送信ステップと、前記端末装置において、前記第二送信ステップによって送信された前記取得要求信号に応じて前記通信制御装置から送信される前記種別情報と前記規則情報とのうち少なくとも一方を受信する第三受信ステップと、前記第三受信ステップにおいて受信された前記種別情報と前記規則情報とのうち少なくとも一方を用いて前記相手端末装置と通信を行う第一通信ステップとを備えている。
【００１９】
第三態様に係る通信方法は、自身ＮＡＴ装置の種別情報及び規則情報のうち少なくとも一方を、通信制御装置から取得することができる。端末装置は、取得した情報に基づいて、相手端末装置と通信を行うことができる。端末装置は、種別情報や規則情報を取得するために必要な通信処理を行わずに済むので、時間を要することなく迅速に種別情報や規則情報を取得することができる。従って端末装置は、相手端末装置との通信を開始するまでに必要な時間を短縮できる。
【００２０】
本発明の第四態様に係る通信プログラムは、端末装置の各処理手段としてコンピュータを駆動する。これによって通信プログラムは、端末装置の各処理手段としてコンピュータを機能させることができる。
【図面の簡単な説明】
【００２１】
【図１】通信システム１の概要を示す模式図である。
【図２】通信制御装置５の電気的構成を示すブロック図である。
【図３】ＮＡＴ情報テーブル２４１を示す模式図である。
【図４】ＮＡＴ装置８の電気的構成を示すブロック図である。
【図５】端末装置１１の電気的構成を示すブロック図である。
【図６】第一端末装置処理を示すフローチャートである。
【図７】第一端末装置処理を示すフローチャートである。
【図８】第一端末装置処理を示すフローチャートである。
【図９】ＮＡＴ特定情報取得処理を示すフローチャートである。
【図１０】規則情報特定処理を示すフローチャートである。
【図１１】第二端末装置処理を示すフローチャートである。
【図１２】通信制御処理を示すフローチャートである。
【図１３】統計的解析の方法を説明する図である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る通信システム１について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている端末の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００２３】
図１を参照し、通信システム１の概要について説明する。通信システム１は、通信制御装置５、ＮＡＴ装置６，７（以下、これらを区別しない場合、「ＮＡＴ装置８」という。）、及び端末装置９，１０（以下、これらを区別しない場合、「端末装置１１」という。）を少なくとも備えている。通信制御装置５とＮＡＴ装置８とは、インターネット１５に接続している。ＮＡＴ装置８は、配下のＬＡＮ１２，１３（以下、これらを区別しない場合、「ＬＡＮ１４」という。）に接続している。端末装置１１は、ＬＡＮ１４に接続している。図１に示す例では、ＮＡＴ装置６の配下のＬＡＮ１２に端末装置９が接続している。ＮＡＴ装置７の配下のＬＡＮ１３に端末装置１０が接続している。
【００２４】
通信制御装置５は、端末装置１１間でのＰ２Ｐ（Peer to Peer）通信を可能とするために必要な情報（ＮＡＴ種別や規則情報など、詳細は後述する。）を、端末装置１１に提供する。通信制御装置５としては、例えば呼制御サーバやＳＴＵＮサーバが使用できる。端末装置１１は、通信制御装置５から提供される情報に基づいて、他の端末装置１１との間でＰ２Ｐ通信を行うことができる。端末装置１１としては、例えばＰＣ（パーソナルコンピュータ）が使用できる。ＮＡＴ装置８は、ＮＡＴ（Network Address Translation）機能を備えた装置である。ＮＡＴ装置８は、受信パケットの転送の許否を決定する場合の決定方法に基づいて、Full Cone NAT、Address-Restricted Cone NAT、Port-Restricted Cone NAT、及び、Symmetric NATに分類される（以下、これらの種別を「ＮＡＴ種別」という。）。またＮＡＴ装置８は、所定の規則性（以下「更新規則」という。）に基づいてポートマッピングを行う。
【００２５】
端末装置１１間でＰ２Ｐ通信を行う際、送受信されるパケットがＮＡＴ装置８においてブロックされてしまう場合がある。ＮＡＴ装置８は、インターネット１５側からパケットを受信した場合、所定のパケットのみＬＡＮ１４側に転送し、それ以外のパケットは転送しないためである。端末装置１１は、ＮＡＴ装置８のＮＡＴ種別や更新規則を認識し、ＮＡＴ装置８においてブロックされないような宛先アドレスやポート番号をパケットにセットして通信を行う必要がある。
【００２６】
本実施の形態では、通信制御装置５がＮＡＴ情報テーブルを管理している。ＮＡＴ情報テーブルには、ＮＡＴ装置８のＮＡＴ種別と、更新規則を特定可能な情報（「規則情報」という。）とが格納されている。端末装置１１は、Ｐ２Ｐ通信を開始する場合に、通信制御装置５と通信を行うことによって、自身が直接接続するＮＡＴ装置８のＮＡＴ種別と規則情報とを取得する。端末装置１１は、取得したＮＡＴ種別と規則情報とに基づいて、パケットの宛先アドレスやポート番号を特定し、通信を行う。ＮＡＴ装置８から直接ＮＡＴ種別と更新規則とを特定する場合に必要となる多数の通信が不要となるので、端末装置１１は迅速にＮＡＴ種別及び規則情報を取得できる。これによって通信システム１では、端末装置１１間のＰ２Ｐ通信を迅速に開始させることができる。
【００２７】
なお、図１におけるインターネット１５が、本発明の「外部ネットワーク」に相当し、ＬＡＮ１４が本発明の「内部ネットワーク」に相当する。なお本発明は、外部ネットワークとしてインターネット１５の他に従来周知の様々なネットワーク（ＬＡＮ、ＷＡＮ、専用回線など）が使用できる。同様に、内部ネットワークとしてＬＡＮ１４の他に従来周知のネットワーク（インターネット、ＷＡＮ、専用回線など）が使用できる。
【００２８】
図２を参照し、通信制御装置５の電気的構成について説明する。通信制御装置５は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＨＤＤ２４を備えている。ＣＰＵ２１は、ＮＡＴ装置８や端末装置１１との通信を制御する。ＲＯＭ２２には、Ｂｏｏｔプログラムや初期設定パラメータが少なくとも記憶される。ＲＡＭ２３には、ＣＰＵ２１の処理時に発生する一時的なデータが少なくとも記憶される。ＨＤＤ２４には、ＣＰＵ２１のプログラムや、後述するＮＡＴ情報テーブルが少なくとも記憶される。ＣＰＵ２１は、ＲＯＭ２２、ＲＡＭ２３、及びＨＤＤ２４と電気的に接続している。ＣＰＵ２１は、ＲＯＭ２２、ＲＡＭ２３、及びＨＤＤ２４の記憶領域にアクセスできる。
【００２９】
通信制御装置５は、入力ドライバ２５を備えている。入力ドライバ２５は、キーボード２５１を介して入力された情報を検出する。ＣＰＵ２１は、入力ドライバ２５と電気的に接続している。入力ドライバ２５は、キーボード２５１と電気的に接続する。ＣＰＵ２１は、キーボード２５１を介して入力された情報を認識できる。通信制御装置５は、表示ドライバ２６を備えている。表示ドライバ２６は、ディスプレイ２６１に像を表示させるための制御を行う。ＣＰＵ２１は、表示ドライバ２６と電気的に接続している。表示ドライバ２６は、ディスプレイ２６１と電気的に接続する。ＣＰＵ２１は、ディスプレイ２６１に所望の像を表示させることができる。
【００３０】
通信制御装置５は、通信モジュール２７を備えている。通信モジュール２７は、インターネット１５を介した通信を可能とする。ＣＰＵ２１は、通信モジュール２７と電気的に接続している。ＣＰＵ２１は、インターネット１５を介して通信を行うことができる。通信制御装置５は、ディスクドライブ２８を備えている。ディスクドライブ２８は、記憶媒体２８１に記憶された情報にアクセスする為の駆動装置である。ＣＰＵ２１は、ディスクドライブ２８と電気的に接続している。ＣＰＵ２１は、ディスクドライブ２８に記憶媒体２８１が挿入された状態で、記憶媒体２８１に記憶された情報にアクセスできる。記憶媒体２８１には、例えば、ＣＰＵ２１が実行するプログラムが記憶される。通信制御装置５の導入時には、プログラムが記憶媒体２８１からＨＤＤ２４にセットアップされる。
【００３１】
図３を参照し、ＨＤＤ２４に記憶されるＮＡＴ情報テーブルの一例であるＮＡＴ情報テーブル２４１について説明する。ＮＡＴ情報テーブル２４１には、通信システム１内にあるＮＡＴ装置８を特定するＮＡＴ特定情報（機種名、プログラムのバージョン番号（以下単に「バージョン」という。））、ＮＡＴ種別、規則情報（ポート番号が変更される場合の変更幅の最小値、第１四分位値、中央値、第３四分位置、最大値）、帯域使用率、及び登録者の情報が格納されている。
【００３２】
ＮＡＴ特定情報のうち機種名としては、対応するＮＡＴ装置８の機種名が格納される。バージョンとしては、対応するＮＡＴ装置８のＲＯＭ５２（図４参照）に記憶されているプログラムのバージョン番号が格納される。ＮＡＴ特定情報（機種名及びバージョン）は、通信制御装置５の管理者によってキーボード２５１を介して入力される。規則情報として格納される各値の詳細は後述する。帯域使用率としては、ＬＡＮ１４にて許容される最大データレートに対する実際のデータレートの割合が格納される。ＮＡＴ種別、規則情報、及び帯域使用率は、端末装置１１から受信される。登録者としては、ＮＡＴ種別、規則情報、及び帯域使用率を送信した端末装置１１のＭＡＣアドレスが格納される。なお、ＮＡＴ種別、規則情報、及び帯域使用率が通信制御装置５の管理者によって直接入力された場合、管理者の氏名が登録者として格納される。
【００３３】
例えば図３に示す例では、機種名「ＷＲ−Ｘ１２３４」「ＺＺＺ−ＷＲ１２３」を有する二種類のＮＡＴ装置に関する情報が、ＮＡＴ情報テーブル２４１に格納されている。双方のＮＡＴ装置に関する情報について説明する。例えば機種名が「ＷＲ−Ｘ１２３４」であるＮＡＴ装置のうちバージョンが「１．０」であるＮＡＴ装置（２４１１）は、ＮＡＴ種別が「Full Cone NAT」である。規則情報には情報が格納されない。帯域使用率は「０．０％」、登録者が「管理者Ａ」である。また例えば、機種名が「ＺＺＺ−ＷＲ１２３」であるＮＡＴ装置のうちバージョンが「１．２」であるＮＡＴ装置（２４１２）は、ＮＡＴ種別が「Symmetric NAT」、最小値が「１」、第１四分位値が「１」、中央値が「２」、第３四分位値が「４」、最大値が「７」、帯域使用率が「９．５％」、登録者が「ＭＡＣ：Ｃ」である。図３に示すように、ＮＡＴ種別が「Symmetric NAT」である場合には規則情報が格納される。なお図３では、Address-Restricted Cone NATを「ARC NAT」と表記し（２４１３）、Address-Restricted Cone NATを「PRC NAT」と表記している（２４１４）。以後、上述の各項目の情報を総称して「ＮＡＴ情報」という。
【００３４】
図４を参照し、ＮＡＴ装置８の電気的構成について説明する。ＮＡＴ装置８は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、フラッシュメモリ５７を備えている。ＣＰＵ５１は、通信制御装置５や端末装置１１との通信を制御する。ＲＯＭ５２には、ＣＰＵ５１のプログラムが少なくとも記憶される。ＲＡＭ５３には、ＣＰＵ５１の処理時に発生する一時的なデータが少なくとも記憶される。フラッシュメモリ５７には、ポート番号が履歴情報として記憶される。ＣＰＵ５１は、ＲＯＭ５２、ＲＡＭ５３、及びフラッシュメモリ５７と電気的に接続している。ＣＰＵ５１は、ＲＯＭ５２、ＲＡＭ５３、及びフラッシュメモリ５７の記憶領域にアクセスできる。
【００３５】
ＮＡＴ装置８は、表示部５４を備えている。表示部５４は、ＮＡＴ装置８の状態等を表示することができる。ＣＰＵ５１は、表示部５４と電気的に接続している。ＣＰＵ５１は、表示部５４に所望の情報を表示させることができる。表示部５４としては、例えばＬＥＤが使用できる。ＮＡＴ装置８は、入力部５５を備えている。入力部５５は、ユーザによるＮＡＴ装置８への入力操作を受け付ける。ＣＰＵ５１は、入力部５５と電気的に接続している。ＣＰＵ５１は、入力部５５を介して入力された情報を認識できる。入力部５５としては、例えばスイッチやタッチセンサが使用できる。
【００３６】
ＮＡＴ装置８は、通信モジュール５８を備えている。通信モジュール５８は、インターネット１５を介した通信を可能とする。ＣＰＵ５１は、通信モジュール５８と電気的に接続している。ＣＰＵ５１は、インターネット１５を介して通信を行うことができる。ＮＡＴ装置８は、通信モジュール５９を備えている。通信モジュール５９は、ＬＡＮ１４を介した通信を可能とする。ＣＰＵ５１は、通信モジュール５９と電気的に接続している。ＣＰＵ５１は、ＬＡＮ１４を介して通信を行うことができる。
【００３７】
図５を参照し、端末装置１１の電気的構成について説明する。端末装置１１は、ＣＰＵ８１、ＲＯＭ８２、ＲＡＭ８３、ＨＤＤ８４を備えている。ＣＰＵ８１は、ＮＡＴ装置８や通信制御装置５との通信を制御する。ＲＯＭ８２には、Ｂｏｏｔプログラムや初期パラメータが少なくとも記憶される。ＲＡＭ８３は、ＣＰＵ８１の処理時に発生する一時的なデータが少なくとも記憶される。ＨＤＤ８４は、ＣＰＵ８１のプログラムが少なくとも記憶される。ＣＰＵ８１は、ＲＯＭ８２、ＲＡＭ８３、及びＨＤＤ８４と電気的に接続している。ＣＰＵ８１は、ＲＯＭ８２、ＲＡＭ８３、及びＨＤＤ８４の記憶領域にアクセスできる。
【００３８】
端末装置１１は、入力ドライバ８５を備えている。入力ドライバ８５は、キーボード８５１を介して入力された情報を検出する。ＣＰＵ８１は、入力ドライバ８５と電気的に接続している。入力ドライバ８５は、キーボード８５１と電気的に接続する。ＣＰＵ８１は、キーボード８５１を介して入力された情報を認識できる。端末装置１１は、表示ドライバ８６を備えている。表示ドライバ８６は、ディスプレイ８６１に像を表示させるための制御を行う。ＣＰＵ８１は、表示ドライバ８６と電気的に接続している。表示ドライバ８６は、ディスプレイ８６１と電気的に接続する。ＣＰＵ８１は、ディスプレイ８６１に所望の像を表示させることができる。
【００３９】
端末装置１１は、通信モジュール８７を備えている。通信モジュール８７は、ＬＡＮ１４を介した通信を可能とする。ＣＰＵ８１は、通信モジュール８７と電気的に接続している。ＣＰＵ８１は、ＬＡＮ１４を介して通信を行うことができる。端末装置１１は、ディスクドライブ８８を備えている。ディスクドライブ８８は、記憶媒体８８１に記憶された情報にアクセスする為の駆動装置である。ＣＰＵ８１は、ディスクドライブ８８と電気的に接続している。ＣＰＵ８１は、ディスクドライブ８８に記憶媒体８８１が挿入された状態で、記憶媒体８８１に記憶された情報にアクセスできる。記憶媒体８８１には、例えば、ＣＰＵ８１が実行するプログラムが記憶される。端末装置１１の導入時には、プログラムが記憶媒体８８１からＨＤＤ８４にセットアップされる。
【００４０】
図６〜図１０を参照し、端末装置１１のＣＰＵ８１において実行される第一端末装置処理について説明する。第一端末装置処理は、端末装置１１の電源が投入された場合に、ＣＰＵ８１によって起動され実行される。第一端末装置処理では、端末装置１１と直接接続するＮＡＴ装置８のＮＡＴ種別及び規則情報が取得され、通信制御装置５に登録させるために通信制御装置５に送信される。以下では、ＮＡＴ装置６のＮＡＴ種別及び規則情報が端末装置９によって取得され、通信制御装置５に送信される場合を想定している。端末装置９のＣＰＵ８１において実行される第一端末装置処理について説明する。
【００４１】
図６に示すように、はじめに、ＮＡＴ装置６におけるインターネット１５側のＩＰアドレス（以下「ＧＩＰ」という。）及びポート番号（以下「ＧＰｏｒｔ」という。）を含む応答パケットの返信を要求する要求パケットが、通信制御装置５に対して送信される。なお、端末装置６と通信制御装置５との間にＮＡＴ装置が介在しない場合には、端末装置６におけるインターネット１５との接続部分のＩＰアドレス及びポート番号が、ＧＩＰ及びＧＰｏｒｔに相当することになる。要求パケットは、通信制御装置５のポート番号（第一ポート）に対して送信される（Ｓ１１）。次いで、応答パケットを受信したかが判断される（Ｓ１３）。応答パケットを受信できない場合（Ｓ１３：ＮＯ）、ＮＡＴ種別や規則情報を特定できないので、端末装置１０との間でＰ２Ｐ通信を行うことができないことになる。Ｐ２Ｐ通信を行うことができない旨を示すフラグ情報がＲＡＭ８３に一時的に記憶される（Ｓ２３）。そして第一端末装置処理を終了する。
【００４２】
一方、通信制御装置５から応答パケットを受信した場合（Ｓ１３：ＹＥＳ）、受信した応答パケットに含まれているＧＩＰ及びＧＰｏｒｔが、応答パケットから抽出される。自身のＩＰアドレスと抽出されたＧＩＰとが一致し、且つ、自身が要求パケットを送信した場合に使用されたポート番号と、抽出されたＧＰｏｒｔとが一致するかが判断される（Ｓ１５）。一致しない場合（Ｓ１５：ＮＯ）、ＮＡＴ装置６が通信制御装置５との間に介在していることになるので、そのままＳ３１（図７参照）の処理に進む。
【００４３】
自身のＩＰアドレスと、応答パケットから抽出されたＧＩＰとが一致し、且つ、自身が要求パケットを送信した場合に使用されたポート番号と、応答パケットから抽出されたＧＰｏｒｔとが一致した場合（Ｓ１５：ＹＥＳ）、要求パケットが通信制御装置５に対して送信され、応答パケットを自身に対して返信するように要求される。要求パケットは、通信制御装置５の第一ポートに対して送信される。応答パケットは、Ｓ１３において受信された応答パケットとは別のＩＰアドレス及びポート番号から送信するように、通信制御装置５に要求される（Ｓ１７）。そして応答パケットを受信したかが判断される（Ｓ１９）。応答パケットを受信できない場合（Ｓ１９：ＮＯ）、ＮＡＴ種別や規則情報を特定できないので、端末装置１０との間でＰ２Ｐ通信を行うことができないことになる。Ｐ２Ｐ通信を行うことができない旨を示すフラグ情報がＲＡＭ８３に一時的に記憶される（Ｓ２３）。そして第一端末装置処理を終了する。
【００４４】
通信制御装置５から応答パケットを受信した場合（Ｓ１９：ＹＥＳ）、端末装置９と通信制御装置５との間にＮＡＴ装置は介在していないことになる。ＮＡＴ装置が介在していないことを示すフラグ情報がＲＡＭ８３に一時的に記憶される（Ｓ２１）。そして第一端末装置処理を終了する。
【００４５】
図７のＳ３１の処理では、自身がＬＡＮ１２を介して接続するＮＡＴ装置６のＮＡＴ特定情報等を取得する処理（ＮＡＴ特定情報取得処理）が実行される（Ｓ３１）。図９を参照し、ＮＡＴ特定情報取得処理について説明する。はじめに、ＮＡＴ特定情報、ＮＡＴ装置８のＭＡＣアドレスとＩＰアドレス、及び、ＬＡＮ１２の帯域使用率の取得が試みられる。これらの情報は、ＮＡＴ装置６との間でＳＭＮＰ（Simple Network Management Protocol）に基づいた通信を行うことによって、ＮＡＴ装置６から直接取得される（Ｓ７１）。取得に失敗した場合（Ｓ７３：ＮＯ）、ＮＡＴ特定情報等の取得に失敗した旨を示すフラグ情報がＲＡＭ８３に一時的に記憶される（Ｓ８３）。そしてＮＡＴ特定情報取得処理を終了し、第一端末装置処理（Ｓ３１：図７）に戻る。
【００４６】
ＳＭＮＰに基づく通信によってＮＡＴ特定情報等が取得された場合（Ｓ７３：ＹＥＳ）、ＮＡＴ装置６が他のＮＡＴ装置を介してインターネット１５に接続した状態（以下「多段ＮＡＴ状態」という。）であるかが判定される（Ｓ７５）。多段ＮＡＴ状態か否かの判定は、例えば以下のようにして実行される。Ｓ１３（図６参照）の処理で受信された応答パケットに含まれているＧＩＰと、Ｓ７１の処理で取得されたＮＡＴ装置６のＩＰアドレスとが比較される。相違する場合、ＮＡＴ装置６は多段ＮＡＴ状態となっていると判定される。一致する場合、ＮＡＴ装置６は直接インターネット１５に接続しており、多段ＮＡＴ状態ではないと判定される。
【００４７】
多段ＮＡＴ状態と判定された場合（Ｓ７６：ＹＥＳ）、多段ＮＡＴ状態である旨を示すフラグ情報がＲＡＭ８３に一時的に記憶される（Ｓ８５）。そしてＮＡＴ特定情報取得処理を終了し、第一端末装置処理（Ｓ３１：図７）に戻る。
【００４８】
一方、多段ＮＡＴ状態でないと判定された場合（Ｓ７６：ＮＯ）、ＮＡＴ種別及び規則情報を要求する種別要求パケットが、通信制御装置５に対して送信される（Ｓ７７）。種別要求パケットは、Ｓ７１の処理で取得されたＮＡＴ特定情報とともに送信される。そして、通信制御装置５から返信される応答パケットの受信が監視される（Ｓ７９）。応答パケットを受信できない場合（Ｓ７９：ＮＯ）、ＮＡＴ特定情報取得処理を終了し、第一端末装置処理（Ｓ３１：図７）に戻る。応答パケットを受信した場合（Ｓ７９：ＹＥＳ）、応答パケットに含まれているＮＡＴ種別が、ＲＡＭ８３に一時的に記憶される。また、ＮＡＴ種別がSymmetric NATである場合、ＮＡＴ種別と共に応答パケットに含まれている規則情報が、ＲＡＭ８３に一時的に記憶される（Ｓ８１）。そしてＮＡＴ特定情報取得処理を終了し、第一端末装置処理（Ｓ３１：図７）に戻る。
【００４９】
図７に示すように、ＮＡＴ特定情報取得処理（Ｓ３１）の後、ＮＡＴ特定情報取得処理によってＮＡＴ種別が取得できたかが判断される（Ｓ３３）。すなわち、Ｓ８１においてＲＡＭ８３にＮＡＴ種別が記憶されている場合、ＮＡＴ特定情報取得処理においてＮＡＴ種別が取得されていることになる（Ｓ３３：ＹＥＳ）。この場合、通信制御装置５には既にＮＡＴ装置６のＮＡＴ種別が記憶されていることになるので、そのまま第一端末装置処理を終了する。
【００５０】
一方、ＮＡＴ種別がＲＡＭ８３に記憶されていない場合（Ｓ３３：ＮＯ）、通信制御装置５にＮＡＴ装置６のＮＡＴ種別が記憶されていないということになる。従って、ＮＡＴ装置６のＮＡＴ種別を調査して通信制御装置５に登録する為に、以下の処理が実行される。
【００５１】
要求パケットが通信制御装置５に対して送信され、応答パケットを自身に対して返信するように要求される。要求パケットは、通信制御装置５の第一ポートに対して送信される。応答パケットは、Ｓ１３（図６参照）において受信された応答パケットとは別のＩＰアドレス及びポート番号から送信するように、通信制御装置５に要求される（Ｓ３５）。そして、応答パケットを受信したかが判断される（Ｓ３７）。応答パケットを受信した場合（Ｓ３７：ＹＥＳ）、通信制御装置５との間にＮＡＴ装置６が介在しているが、応答パケットの送信元のＩＰアドレス及びポート番号（通信制御装置５において応答パケット送信時に使用されたＩＰアドレス及びポート番号）が異なる場合であっても、ＮＡＴ装置６は応答パケットを転送していることになる。従ってＮＡＴ装置６のＮＡＴ種別がFull Cone NATであると特定される。特定されたＮＡＴ種別を示すフラグ情報が、ＲＡＭ８３に一時的に記憶される（Ｓ５７）。そしてＳ６１（図８参照）の処理に進む。
【００５２】
一方、応答パケットを受信できない場合（Ｓ３７：ＮＯ）、要求パケットが通信制御装置５に対して送信され、応答パケットを自身に対して返信するように要求される。要求パケットは、通信制御装置５のポート番号であって、第一ポートとは異なるポート番号（第二ポート）に対して送信される（Ｓ３９）。そして、応答パケットを受信したかが判断される（Ｓ４１）。応答パケットを受信した場合（Ｓ４１：ＹＥＳ）、Ｓ１３（図６参照）において受信された応答パケットに含まれているＧＩＰ及びＧＰｏｒｔと、今回受信した応答パケットに含まれているＧＩＰ及びＧＰｏｒｔとが比較される（Ｓ４３）。双方が一致する場合（Ｓ４３：ＹＥＳ）、次いで要求パケットが通信制御装置５に対して送信され、応答パケットを自身に対して返信するように要求される。要求パケットは、第一ポートに対して送信される。応答パケットは、Ｓ４１において受信された応答パケットと同じＩＰアドレスであり、且つ、Ｓ４１において受信された応答パケットとは異なるポート番号から送信するように、通信制御装置５に要求される（Ｓ４５）。そして、応答パケットを受信したかが判断される（Ｓ４７）。応答パケットを受信した場合（Ｓ４７：ＹＥＳ）、応答パケットの送信元のポート番号（通信制御装置５にて応答パケット送信時に使用されたポート番号）が異なる場合であっても、ＮＡＴ装置６は応答パケットを転送していることになる。従ってＮＡＴ装置６のＮＡＴ種別がAddress-Restricted Cone NATであると特定される。特定されたＮＡＴ種別を示すフラグ情報が、ＲＡＭ８３に一時的に記憶される（Ｓ４９）。そしてＳ６１（図８参照）の処理に進む。
【００５３】
一方、応答パケットを受信できない場合（Ｓ４７：ＮＯ）、応答パケットの送信元のポート番号（通信制御装置５にて応答パケット送信時に使用されたポート番号）が異なると、ＮＡＴ装置６は応答パケットを転送しないということになる。従ってＮＡＴ装置６のＮＡＴ種別がPort-Restricted Cone NATであると特定される。特定されたＮＡＴ種別を示すフラグ情報が、ＲＡＭ８３に一時的に記憶される（Ｓ５５）。そしてＳ６１（図８参照）の処理に進む。
【００５４】
一方、Ｓ４１の処理において応答パケットを受信できない場合（Ｓ４１：ＮＯ）や、Ｓ４３の処理においてＩＰアドレスとポート番号のうち少なくとも一方が一致しない場合（Ｓ４３：ＮＯ）、ＮＡＴ装置６のＮＡＴ種別がSymmetric NATであると特定される。特定されたＮＡＴ種別を示すフラグが、ＲＡＭ８３に一時的に記憶される（Ｓ５１）。次いで、ＮＡＴ装置６の更新規則を特定可能な規則情報を特定するために、規則情報特定処理（Ｓ５３）が実行される。
【００５５】
規則情報特定処理について、図１０を参照して説明する。要求パケットが通信制御装置５に対して送信され、応答パケットを自身に対して返信するように要求される。要求パケットは、通信制御装置５のポート番号であって、第一ポート及び第二ポートとは異なる１つ以上のポート（第三ポート）に対して送信される（Ｓ１０１）。そして応答パケットを受信したかが判断される（Ｓ１０３）。１つ以上のポートに対して要求パケットを送信し、応答パケットをより多く受信することによって、後述する統計的解析の精度を高めている。応答パケットを受信できない場合（Ｓ１０３：ＮＯ）、規則情報を特定できないので、規則情報を特定できない旨を示すフラグ情報がＲＡＭ８３に一時的に記憶される（Ｓ１１３）。そして規則情報特定処理を終了し、第一端末装置処理（Ｓ５３：図７）に戻る。
【００５６】
応答パケットを受信した場合（Ｓ１０３：ＹＥＳ）、通信制御装置５に第一ポート〜第三ポート以外のポート番号が準備されているかが判断される（Ｓ１０５）。第一ポート〜第三ポート以外のポート番号が準備されている場合（Ｓ１０５：ＹＥＳ）、Ｓ１０１の処理に戻る。そして、未だ使用されていないポート番号に対して要求パケットを送信するために、上述の処理が繰り返し実行される。
【００５７】
通信制御装置５に準備されている全てのポート番号宛てに要求パケットを送信した場合（Ｓ１０５：ＮＯ）、受信した応答パケットに含まれているＧＰｏｒｔに基づき、以下の解析が実行される。一の応答パケットに含まれているＧＰｏｒｔと、次に受信された応答パケットに含まれているＧＰｏｒｔとの差分値が其々算出される。算出された差分値のうち、最小値、第１四分位値、中央値、第２四分位値、及び最大値が抽出される（Ｓ１０７）。抽出された各値は、規則情報としてＲＡＭ８３に一時的に記憶される（Ｓ１０９）。そして規則情報特定処理を終了し、第一端末装置処理（Ｓ５３：図７）に戻る。
【００５８】
図７に示すように、規則情報特定処理（Ｓ５１）が終了した後、規則情報特定処理において規則情報が特定されたかが、ＲＡＭ８３に記憶されている情報に基づいて判断される（Ｓ５９）。規則情報が特定された場合（Ｓ５９：ＹＥＳ）、Ｓ６１（図８参照）の処理に進む。一方、規則情報が特定されなかった場合（Ｓ５９：ＮＯ）、そのまま第一端末装置処理を終了する。
【００５９】
図８のＳ６１の処理では、Ｓ３１（図７参照）の処理によってＮＡＴ特定情報等が取得されたかが、ＲＡＭ８３に記憶されている情報に基づいて判断される（Ｓ６１）。ＮＡＴ特定情報等が取得されなかった場合（Ｓ６１：ＮＯ）、そのまま第一端末装置処理を終了する。
【００６０】
ＮＡＴ特定情報等が取得されている場合（Ｓ６１：ＹＥＳ）、次いで、ＮＡＴ装置６が多段ＮＡＴ状態であるかが、ＲＡＭ８３に記憶されている情報に基づいて判断される（Ｓ６３）。ＮＡＴ装置６が多段ＮＡＴ状態となっている場合（Ｓ６３：ＹＥＳ）、そのまま第一端末装置処理を終了する。
【００６１】
多段ＮＡＴ状態でない場合（Ｓ６３：ＮＯ）、ＮＡＴ装置６のＮＡＴ種別を通信制御装置５から取得しているかが、ＲＡＭ８３に記憶されている情報に基づいて判断される（Ｓ６５）。ＮＡＴ種別を通信制御装置５から受信している場合（Ｓ６５：ＹＥＳ）、既にＮＡＴ種別が通信制御装置５に記憶されていることになるので、そのまま第一端末装置処理を終了する。
【００６２】
通信制御装置５からＮＡＴ種別を受信していない場合（Ｓ６５：ＮＯ）、ＮＡＴ装置６のＮＡＴ種別が通信制御装置５に記憶されていない可能性がある。ＲＡＭ８３に記憶されているＮＡＴ装置６のＮＡＴ種別が、Ｓ７１（図９参照）において取得されたＮＡＴ特定情報等とともに、通信制御装置５に対して送信される（Ｓ６７）。ＮＡＴ種別がSymmetric NATである場合には、ＮＡＴ種別と規則情報とが、ＮＡＴ特定情報等とともに通信制御装置５に対して送信される（Ｓ６７）。そして第一端末装置処理を終了する。
【００６３】
図１１を参照し、端末装置１１のＣＰＵ８１において実行される第二端末装置処理について説明する。第二端末装置処理は、端末装置１１のキーボード８５１を介し、他の端末装置１１とのＰ２Ｐ通信を開始させるための操作がなされた場合に、ＣＰＵ８１において起動され実行される。第二端末装置処理では、他の端末装置１１とのＰ２Ｐ通信を開始する為の処理が実行される。以下では、端末装置１０との通信を開始させる操作が端末装置９に対してなされた場合を想定している。端末装置９のＣＰＵ８１において実行される第二端末装置処理について説明する。
【００６４】
図１１に示すように、はじめに、端末装置９が端末装置１０とＰ２Ｐ通信を行うことが可能な状態であるかが、ＲＡＭ８３に記憶されている情報に基づいて判断される（Ｓ１２１）。第一端末装置処理（Ｓ２３、図６参照）において、Ｐ２Ｐ通信が不可能であると判断されている場合には（Ｓ１２１：ＮＯ）、端末装置１０とＰ２Ｐ通信を行うことができないので、そのまま第二端末装置処理を終了する。
【００６５】
端末装置１０とのＰ２Ｐ通信が可能であると判断されている場合（Ｓ１２１：ＹＥＳ）、自身が直接接続するＮＡＴ装置６のＮＡＴ種別及び規則情報を要求する種別要求パケットが、通信制御装置５に対して送信される（Ｓ１２３）。種別要求パケットは、Ｓ７１（図９参照）の処理で取得されたＮＡＴ特定情報とともに送信される。そして、通信制御装置５から返信される応答パケットの受信が監視される（Ｓ１２５）。応答パケットを受信できない場合（Ｓ１２５：ＮＯ）、種別要求パケットを送信してからの経過時間が監視される（Ｓ１３１）。経過時間が所定時間未満である場合（Ｓ１３１：ＮＯ）、Ｓ１２５の処理に戻り、応答パケットの受信が継続して監視される。経過時間が所定時間以上となった場合（Ｓ１３１：ＹＥＳ）、端末装置１０とのＰ２Ｐ通信を開始させることなく第二端末装置処理を終了する。
【００６６】
応答パケットを受信した場合（Ｓ１２５：ＹＥＳ）、応答パケットに含まれているＮＡＴ種別が、ＲＡＭ８３に一時的に記憶される。また、ＮＡＴ種別がSymmetric NATである場合、ＮＡＴ種別と共に応答パケットに含まれている規則情報が、ＲＡＭ８３に一時的に記憶される。記憶されたＮＡＴ種別及び規則情報に基づいて、端末装置１０との間でＰ２Ｐ通信が開始される（Ｓ１２７）。
【００６７】
端末装置９と端末装置１０との間のＰ２Ｐ通信は、例えば以下のようにして開始される。通信制御装置５を経由して端末装置１０に対して、ＮＡＴ装置６のＮＡＴ種別（または規則情報）と、ＮＡＴ装置６の基準ポート番号とが通知される。端末装置１０では、受信したＮＡＴ装置６のＮＡＴ種別（または規則情報）と、自身が直接接続するＮＡＴ装置７のＮＡＴ種別（または規則情報）とに基づいて、最適な通信開始手段が選択される。通信開始手順としては、例えばUDP Hole PunchingやUDP Multi Hole Punching等が使用可能である。選択された通信開始手段に基づき通信が行われることによって、端末装置９，１０間でＰ２Ｐ通信を行うためのポート番号がＮＡＴ装置６，７に記憶される。端末装置９，１０では、記憶されたポート番号宛てにパケットが送信される。ＮＡＴ装置６，７では、これらのパケットはブロックせず転送する。これによって、端末装置９と端末装置１０との間でＰ２Ｐ通信が可能となる。以上のように、自身と直接接続するＮＡＴ装置のＮＡＴ種別及び規則情報のうち少なくともいずれかと、通信相手の端末装置と接続するＮＡＴ装置のＮＡＴ種別及び規則情報のうち少なくともいずれかとに基づき、Ｐ２Ｐ通信を開始させるために必要な通信開始手順が選択される。選択された通信開始手順に基づいて通信が行われることによって、ＮＡＴ装置はパケットを転送可能となるので、端末装置間でＰ２Ｐ通信を行うことが可能となる。
【００６８】
例えば、ＮＡＴ装置６、７のＮＡＴ種別がAddress Restricted Cone NATである場合には、UDP Hole PunchingによってＰ２Ｐ通信が可能となる。端末装置１０はパンチパケットを送信し、ＮＡＴ装置７にポート番号を記憶させる。端末装置９では、ＮＡＴ装置７に記憶されたポート番号宛てにパケットが送信される。この通信が双方向で行われることによって、端末装置９，１０間でＰ２Ｐ通信が行われる。
【００６９】
例えば、ＮＡＴ装置６、７のＮＡＴ種別がSymmetric NATである場合、UDP Multi Hole PunchingによってＰ２Ｐ通信が可能となる。端末装置１０は、複数のパンチパケットを送信し、ＮＡＴ装置７に複数のポート番号を記憶させる。端末装置９は、ＮＡＴ装置７に記憶されたポート番号を検索するために、宛先ポート番号の異なる複数のパケット（検索パケット）を端末装置１０に対して送信する。ＮＡＴ装置７を通過した検索パケットの宛先ポート番号が、ＮＡＴ装置７に記憶されているポート番号ということになるので、以後端末装置９では、このポート番号宛てにパケットが送信される。この通信が双方向で行われることによって、端末装置９，１０間でＰ２Ｐ通信が行われる。
【００７０】
受信した規則情報は、ポート番号を検索するために送信される検索パケットの宛先ポート番号を決定する場合に使用される。例えば以下のようにして宛先ポート番号が決定される。端末装置１０から、通信制御装置５を経由して端末装置９に対して、ＮＡＴ装置７のＮＡＴ種別（Symmetric NAT）、規則情報（最小値、第１四分位値、中央値、第３四分位値、最大値）、及び基準ポート番号が通知されたとする。端末装置９では、基準ポート番号（Ｐ）に最小値（Ｘ１）を加算した値（Ｐ＋Ｘ１）から、基準ポート番号（Ｐ）に最大値（Ｘ２）を加算した値（Ｐ＋Ｘ２）までの値を、検索パケットの宛先ポート番号として決定する。このようにして作成された検索パケットが、端末装置９から端末装置１０に対して送信される。決定された宛先ポート番号は、ＮＡＴ装置７に記憶されているポート番号である可能性が高い（詳細は後述する）ので、端末装置９から送信されるパケットが端末装置１０に到達する確率が高くなる。このため、パケットの送信数を最小に抑えつつ端末装置９，１０間でＰ２Ｐを開始させることができる。
【００７１】
なお、パンチパケットの宛先ポート番号の決定方法は上述の方法に限定されず、他の方法によって算出してもよい。例えば、基準ポート番号（Ｐ）に第１四分位値（Ｘ３）を加算した値（Ｐ＋Ｘ３）から、基準ポート番号に第３四分位値（Ｘ４）を加算した値（Ｐ＋Ｘ４）までの値を設定してもよい。
【００７２】
Ｐ２Ｐ通信が開始された（Ｓ１２７）後、キーボード８５１を介し、実行中のＰ２Ｐ通信を終了させる操作がなされたかが監視される（Ｓ１２９：ＮＯ）。通信終了操作がなされた場合（Ｓ１２９：ＹＥＳ）、実行中のＰ２Ｐ通信を終了させるための処理が実行され（Ｓ１３０）、その後第二端末装置処理を終了する。
【００７３】
図１２を参照し、通信制御装置５のＣＰＵ２１において実行される通信制御処理について説明する。通信制御処理は、通信制御装置５の電源が投入された場合において、ＣＰＵ２１において起動され実行される。通信制御処理では、端末装置１１から受信したＮＡＴ種別や規則情報が、ＨＤＤ２４に記憶されたＮＡＴ情報テーブルに格納される。また通信制御処理では、端末装置１１からの要求に応じ、ＮＡＴ種別や規則情報を端末装置１１に対して送信する。なお通信制御装置５には、ＮＡＴ特定情報（機種名、バージョン）が予めキーボード２５１を介して管理者によって入力されているものとする。従って、ＨＤＤ２４に記憶されたＮＡＴ情報テーブルには、ＮＡＴ特定情報が予め格納されている。
【００７４】
図１２に示すように、通信制御処理が起動されると、はじめに、種別要求パケットとＮＡＴ特定情報等とを端末装置１１から受信したかが判断される（Ｓ１３２）。受信していない場合（Ｓ１３２：ＮＯ）、ＮＡＴ特定情報等とＮＡＴ種別（及び規則情報）とを端末装置１１から受信したかが判断される（Ｓ１５１）。受信していない場合（Ｓ１５１：ＮＯ）、Ｓ１３２の処理に戻り、上述の処理が繰り返される。
【００７５】
ＮＡＴ特定情報等とＮＡＴ種別（及び規則情報）とを受信した場合（Ｓ１５１：ＹＥＳ）、受信したＮＡＴ特定情報が参照され、同一のＮＡＴ特定情報がＮＡＴ情報テーブルに記憶されているかが判断される（Ｓ１５３）。記憶されている場合（Ｓ１５３：ＹＥＳ）、受信したＮＡＴ種別（及び規則情報）が、ＮＡＴ情報テーブルのうち同一であるとされたＮＡＴ特定情報に対応付けて記憶される（Ｓ１５５）。また、受信した帯域使用率とＭＡＣアドレスとが、ＮＡＴ情報テーブルのうち同一であるとされたＮＡＴ特定情報に対応付けて記憶される（Ｓ１５５）。そしてＳ１３２の処理に戻り、上述の処理が繰り返される。同一のＮＡＴ特定情報がＮＡＴ情報テーブルに記憶されていない場合（Ｓ１５３：ＮＯ）、そのままＳ１３２の処理に戻り、上述の処理が繰り返される。上述の処理が繰り返されることによって、例えば図５に示すようなＮＡＴ情報テーブル２４１が作成される。
【００７６】
Ｓ１３２の処理において、種別要求パケットとＮＡＴ特定情報等とを端末装置１１から受信したと判断された場合（Ｓ１３２：ＹＥＳ）、受信したＮＡＴ情報のうちＮＡＴ特定情報と一致する情報が、ＮＡＴ情報テーブルに記憶されているかが判断される（Ｓ１３３）。一致するＮＡＴ特定情報がＮＡＴ情報テーブルに記憶されていない場合（Ｓ１３３：ＮＯ）、該当する情報が登録されていない旨を端末装置１１に対して通知するエラーパケットが、端末装置１１に対して返信される（Ｓ１３９）。そしてＳ１３２の処理に戻り、上述の処理が繰り返される。
【００７７】
受信したＮＡＴ特定情報と同一の情報がＮＡＴ情報テーブルに記憶されている場合（Ｓ１３３：ＹＥＳ）、送信元の端末装置１１が信頼できる者であるかが判断される（Ｓ１３５）。端末装置１１は、信頼できる端末装置１１のＭＡＣアドレスを登録者リストに登録し管理しているものとする。ＮＡＴ情報テーブルに登録者として記憶されたＭＡＣアドレスと一致するＭＡＣアドレスが、登録者リストに登録されているかが判断される。登録されていない場合（Ｓ１３５：ＮＯ）、端末装置１１を信頼することができないので、端末装置１１に対してエラーパケットが返信される（Ｓ１３９）。そしてＳ１３２の処理に戻り、上述の処理が繰り返される。
【００７８】
一方、登録者リストに端末装置１１のＭＡＣアドレスが登録されている場合（Ｓ１３５：ＹＥＳ）、種別要求パケットを送信した端末装置１１は信頼できる端末装置であると判断される。ＮＡＴ情報テーブルのうち、受信したＮＡＴ特定情報に対応付けられているＮＡＴ種別が参照され、Symmetric NATであるかが判断される（Ｓ１３７）。ＮＡＴ種別がSymmetric NATでない場合（Ｓ１３７：ＮＯ）、参照されたＮＡＴ種別を含む応答パケットが端末装置１１に対して送信される（Ｓ１４３）。そしてＳ１３２の処理に戻り、上述の処理が繰り返される。
【００７９】
一方、ＮＡＴ種別がSymmetric NATである場合（Ｓ１３７：ＹＥＳ）、ＮＡＴ情報テーブルに記憶されている規則情報が統計的に解析され、帯域使用率に応じた規則情報が特定される（Ｓ１４１）。例えば以下のようにして解析が行われる。
【００８０】
図１３を参照し、規則情報の統計的解析手法の一例について説明する。ＮＡＴ情報テーブルに記憶されている規則情報は、最小値、第１四分位値、中央値、第３四分位値、及び最大値毎に分類される。分類されたそれぞれの規則情報に対し、線形近似が適用され、近似直線が求められる。線形近似の手法としては、例えば最小二乗法が使用できる。図１３に示す例では、最小値の近似直線１０１、第１四分位値の近似直線１０２、中央値の近似直線１０３、第３四分位値の近似直線１０４、及び、最大値の近似直線１０５が其々模式的に示されている。
【００８１】
次いで、算出された近似直線に基づいて、帯域使用率に対応した規則情報が特定される。特定方法について、図１３の例を参照して説明する。例えば、種別要求パケットと共に受信された帯域使用率が、図１３中Ａであったとする。直線１０１上の値のうち帯域使用率がＡである場合の値１１１が、端末装置１１に応答する場合の最小値とされる。同様に、直線１０２上の値のうち帯域使用率がＡである場合の値１１２が第１四分位値とされる。直線１０３上の値のうち帯域使用率がＡである場合の値１１３が中央値とされる。直線１０４上の値のうち帯域使用率がＡである場合の値１１４が第３四分位値とされる。直線１０５上の値のうち帯域使用率がＡである場合の値１１５が最大値とされる。以上のようにして、規則情報が求められる。端末装置９，１０では、ＮＡＴ種別と規則情報とに基づいて所定の通信が行われることによって、端末装置９，１０間でＰ２Ｐ通信が可能となる。
【００８２】
端末装置９と端末装置１０との間のパケットエラー率（パケットが相手方に到達しない確率）は、ネットワークの帯域使用率に依存する。帯域使用率が大きくなるに従い、パケットエラー率は大きくなる傾向がある。例えば、ＮＡＴ装置７にポート番号を記憶させるために端末装置１０から送信されたパケットが相手方に到達しなかった場合、端末装置１０からパケットが再送される。このため、ＮＡＴ装置７に記憶されるポート番号が更新される。端末装置６では、ＮＡＴ装置７に記憶された更新後のポート番号を検索するために、検索パケットが送信される。ここで本実施の形態では、端末装置６では、上述のようにして求められた規則情報に基づいて検索パケットの宛先ポート番号が決定され、検索パケットが送信される。このため、ＮＡＴ装置７に記憶されるポート番号が帯域使用率によって変化した場合であっても、端末装置６はＮＡＴ装置７に記憶されたポート番号を特定することができる。
【００８３】
次いで、規則情報が乱数であるかが判断される（Ｓ１４５）。例えば、第３四分位値から第１四分位値を減算した値が所定の閾値以上であるか否かを判断することによって、規則情報が乱数であるかが判断される。規則情報が乱数であると判断された場合（Ｓ１４５：ＹＥＳ）、規則情報は端末装置１１に返信せず、ＮＡＴ種別（Symmetric NAT）のみ返信する（Ｓ１４３）。一方、規則情報が乱数でないと判断された場合（Ｓ１４５：ＮＯ）、上述した統計的解析によって得られた規則情報（最小値〜最大値）が、ＮＡＴ種別と共に端末装置１１に対して送信される（Ｓ１４９）。そして通信制御処理を終了する。
【００８４】
以上説明したように、端末装置９は、ＮＡＴ装置６のＮＡＴ種別及び規則情報を、通信制御装置５から取得することができる。端末装置１１は、取得した情報に基づいて、端末装置１０と通信を行うことができる。端末装置９は、時間を要することなく迅速に種別情報や規則情報を取得することができるので、端末装置１０との通信が開始されるまでに必要な時間を短縮することができる。
【００８５】
端末装置６は、通信制御装置５と複数のパケットの送受信を行うことによって（図１０参照）、規則情報を特定することができるので、容易且つ迅速に規則情報を特定できる。
【００８６】
通信制御装置５は、受信した規則情報を統計的に解析することによって、規則情報の誤差やノイズの影響を小さくできる。これによって規則情報の精度を高めることができるので、端末装置９は確実に端末装置１０とＰ２Ｐ通信を開始させることができる。特に本実施の形態では、帯域使用率毎に規則情報を定めることができるので、帯域使用率に依存する誤差やノイズの影響を小さくすることができる。
【００８７】
端末装置６は、ＳＮＭＰに基づいてＮＡＴ装置６から直接ＮＡＴ特定情報を取得することができる。例えばＮＡＴ装置６が別の機器に取り換えられた場合であっても、ＮＡＴ装置６のＮＡＴ特定情報の設定を変更し直す手間を省くことができる。
【００８８】
図７のＳ３３〜Ｓ５９においてＮＡＴ種別を特定する処理、及び、Ｓ５３の処理において規則情報を特定する処理を行うＣＰＵ８１が本発明の「特定手段」に相当する。図８のＳ６７の処理を行うＣＰＵ８１が本発明の「第一送信手段」に相当する。図１２のＳ１５１の処理を行うＣＰＵ２１が本発明の「第一受信手段」に相当し、Ｓ１５５の処理を行うＣＰＵ２１が本発明の「記憶制御手段」に相当する。図１１のＳ１２３の処理を行うＣＰＵ８１が本発明の「第二送信手段」に相当する。図１２のＳ１３２の処理を行うＣＰＵ２１が本発明の「第二受信手段」に相当し、Ｓ１４３、Ｓ１４９の処理を行うＣＰＵ２１が本発明の「第三送信手段」に相当する。図１１のＳ１２５の処理を行うＣＰＵ８１が本発明の「第三受信手段」に相当し、Ｓ１２７の処理を行うＣＰＵ８１が本発明の「第一通信手段」に相当する。
【００８９】
図１０のＳ１０１、Ｓ１０３の処理を行うＣＰＵ８１が本発明の「第二通信手段」に相当する。図１２のＳ１４１の処理を行うＣＰＵ２１が本発明の「解析手段」に相当する。図９のＳ７１の処理を行うＣＰＵ８１が本発明の「第一取得手段」「第二取得手段」に相当する。図８のＳ６３の処理を行うＣＰＵ８１が本発明の「多段判断手段」に相当する。
【００９０】
図７のＳ３３〜Ｓ５９においてＮＡＴ種別を特定する処理、及び、Ｓ５３の処理において規則情報を特定する処理が本発明の「特定ステップ」に相当する。図８のＳ６７の処理が本発明の「第一送信ステップ」に相当する。図１２のＳ１５１の処理が本発明の「第一受信ステップ」に相当し、Ｓ１５５の処理が本発明の「記憶制御ステップ」に相当する。図１１のＳ１２３の処理が本発明の「第二送信ステップ」に相当する。図１２のＳ１３２の処理が本発明の「第二受信ステップ」に相当し、Ｓ１４３、Ｓ１４９の処理が本発明の「第三送信ステップ」に相当する。図１１のＳ１２５の処理が本発明の「第三受信ステップ」に相当し、Ｓ１２７の処理が本発明の「第一通信ステップ」に相当する。
【００９１】
なお、本発明は上記実施の形態に限定されるものではなく、種々の変更が可能である。上述の実施の形態では、規則情報として、最小値、第１四分位値、中央値、第３四分位値、及び最大値を帯域使用率毎に特定していた。しかしながら本発明はこの方法に限定されない。例えば、帯域使用率毎に算出した平均値や確率分布に基づいて規則情報を特定してもよい。また、本実施の形態では、線形近似直線を求めることによって規則情報を特定したが、例えば特定の関数で近似してもよい。
【００９２】
上述の実施の形態では、ＬＡＮ１４の帯域使用率をＳＭＮＰに基づいた通信によって取得していたが、本発明はこの方法に限定されない。端末装置９，１０がＬＡＮ１４のパケットをキャプチャすることによって帯域使用率を求めてもよい。また、上述の実施の形態では、ＬＡＮ１４の帯域使用率に基づいて規則情報を特定したが、例えばインターネット１５の帯域使用率に基づいて規則情報を特定してもよい。
【００９３】
上述の実施の形態では、第一端末装置処理（図６等参照）は端末装置９，１０の電源投入時に起動する構成としたが、例えば、第一端末装置処理は所定の周期で繰り返し実行されてもよい。これによって、ＮＡＴ装置６，７のＮＡＴ情報が変更された場合であっても、変更後のＮＡＴ情報を迅速に認識して通信制御装置５に登録することができる。
【符号の説明】
【００９４】
１      通信システム
５      通信制御装置
６，７，８  ＮＡＴ装置
９，１０，１１  端末装置
１２，１３，１４  ＬＡＮ
１５    インターネット
２１    ＣＰＵ
８１    ＣＰＵ
【図１】
2011077920.tif 000003
【図２】
2011077920.tif 000004
【図３】
2011077920.tif 000005
【図４】
2011077920.tif 000006
【図５】
2011077920.tif 000007
【図６】
2011077920.tif 000008
【図７】
2011077920.tif 000009
【図８】
2011077920.tif 000010
【図９】
2011077920.tif 000011
【図１０】
2011077920.tif 000012
【図１１】
2011077920.tif 000013
【図１２】
2011077920.tif 000014
【図１３】
2011077920.tif 000015