(57)【要約】  本発明は、ＮＡＴのトラバーサルを容易にするネットワーク・ノードに関する。当該ノードは、ＮＡＴ、ＳＴＵＮクライアントのようなクライアントであって、例えばＳＴＵＮサーバのようなサーバと１つ以上のメッセージを交換することによりＮＡＴについてのＮＡＴ関連情報を決定するように構成されるクライアント、並びに、クライアントおよびサーバの間でＮＡＴを介して交換された１つ以上のメッセージをルーティングするように構成されるルーティング・ユニットを備える。このようなネットワーク・ノードにクライアントを実装することにより、ＮＡＴ情報プロバイダ（ＮＩＰ）によって送信されたメッセージがクライアントに届けられるのを可能にする。また、ルーティング・ユニットを実装することは、クライアントが、ネットワークの観点でＮＡＴの「背後にある」ことを確証する。このようにして、ＮＩＰは、ＮＡＴ挙動検出を要求し、ＮＡＴ関連情報をクライアントから取得することができると共に、後に、適切なＮＡＴ関連情報をローカル・ネットワーク内の端末に提供することができる。これにより、端末が背後にあるＮＡＴについて端末によってトラバースさせるのを可能にする。【選択図】      図１２Ｂ
2015501111.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・ノードであって、
ネットワーク・アドレス変換器（ＮＡＴ）と、
１つ以上のメッセージをサーバと交換することにより、前記ＮＡＴについてのＮＡＴ関連情報を決定するように構成されるクライアントと、
前記クライアントおよび前記サーバの間で前記ＮＡＴを介して交換された前記１つ以上のメッセージをルーティングするように構成されるルーティング・ユニットと、
を備える、ネットワーク・ノード。
【請求項２】
前記ＮＡＴについて前記決定されたＮＡＴ関連情報をＮＡＴ情報プロバイダ（ＮＩＰ）に提供する通信モジュールを更に備える、請求項１記載のネットワーク・ノード。
【請求項３】
前記ＮＡＴ関連情報が、前記ＮＩＰからの前記ＮＡＴ関連情報を決定する要求を受信したのに応答して決定される、請求項２記載のネットワーク・ノード。
【請求項４】
請求項１または２記載のネットワーク・ノードにおいて、前記ＮＡＴ関連情報が、所定の時間、所定の時間期間の満了、当該ネットワーク・ノードのブート・アップ手続、当該ネットワーク・ノードがローカル・ネットワークに接続されたこと、当該ネットワーク・ノードが外部ネットワークに接続されたこと、当該ネットワーク・ノードが前記ローカル・ネットワークの変更に関する指標を受信したこと、および／または当該ネットワーク・ノードが前記外部ネットワークの変更に関する指標を受信したこと、について示すトリガに少なくとも部分的に基づいて決定される、ネットワーク・ノード。
【請求項５】
前出の請求項のいずれか一項以上に記載のネットワーク・ノードにおいて、前記ＮＡＴ関連情報が、
前記ＮＡＴユニットにより使用される現在のポート、
前記ＮＡＴについての現在のワイド・エリア・ネットワーク・インターネット・プロトコルのアドレス、
前記ＮＡＴについての現在の仮想サーバ規則、
前記ＮＡＴについてのポート・マッピングの挙動、
前記ＮＡＴについてのフィルタリングの挙動、
前記ＮＡＴによるヘアピンについてのサポート、
前記ＮＡＴに実装される１つ以上のポート割り当て(allocation)アルゴリズム、
前記ＮＡＴにおけるＮＡＴバインディングについてのタイムアウト値、
輻輳の間、ネットワーク・トラフィックの混雑の間、複数の同時セッションの間、および／または複数の同時ＮＡＴバインディングの間におけるＮＡＴの挙動
の内の１つ以上を含む、ネットワーク・ノード。
【請求項６】
前記サーバが当該ネットワーク・ノード内に含まれる、前出の請求項のいずれか一項以上に記載のネットワーク・ノード。
【請求項７】
前記ＮＡＴを介して前記１つ以上のメッセージを通過させるように構成される仮想ネットワーク・インタフェースを用いて、前記１つ以上のメッセージがルーティングされる、前出の請求項のいずれか一項記以上に記載のネットワーク・ノード。
【請求項８】
前記仮想ネットワーク・インタフェースがブリッジ・グループの一部である、請求項７記載のネットワーク・ノード。
【請求項９】
前記１つ以上のメッセージがＳＴＵＮプロトコルに従って交換される、前出の請求項のいずれか一項以上に記載のネットワーク・ノード。
【請求項１０】
当該ネットワーク・ノードがホーム・ゲートウェイおよび／またはルータを備える、前出の請求項のいずれか一項以上に記載のネットワーク・ノード。
【請求項１１】
コンピュータ・プログラムであって、前記ＮＡＴと、１つ以上のメッセージをサーバと交換することによって少なくとも１つのネットワーク・アドレス変換器（ＮＡＴ）についてのＮＡＴ関連情報を決定するように適合されたクライアントとを備えるネットワーク・ノードのプロセッサによって実行されると、前記ＮＡＴを介して前記クライアントと前記サーバの間で交換される１つ以上のメッセージをルーティングするように構成されるソフトウェア・コード片を有するコンピュータ・プログラム。
【請求項１２】
請求項１〜１０の１つ以上に記載の前記ネットワーク・ノードと共に用いるためのＮＡＴ情報プロバイダであって、少なくとも、
前記ネットワーク・ノードから前記ＮＡＴ関連情報を受信し、
前記ネットワーク・ノードに具備される前記ＮＡＴのＮＡＴタイプについての識別情報に関連付けて格納されたＮＡＴ関連情報をデータベースに格納する
ように構成される、ＮＡＴ情報プロバイダ。
【請求項１３】
要求を前記ネットワーク・ノードに提供して、前記ネットワーク・ノードに具備される前記ＮＡＴについての前記ＮＡＴ関連情報を決定するように更に構成される、請求項１２記載のＮＡＴ情報プロバイダ。
【請求項１４】
請求項１２または１３記載のＮＡＴ情報プロバイダであって、更に、
第１のローカル・ネットワーク内の第１のデバイスから、前記ネットワーク・ノードに具備される前記ＮＡＴの前記ＮＡＴタイプと同一のＮＡＴタイプを有するＮＡＴについてのＮＡＴ関連情報の要求を受信し、
前記ＮＡＴタイプの識別情報に基づいて前記データベースから前記ＮＡＴ関連情報を選択すると共に、該選択したＮＡＴ関連情報を前記第１デバイスに提供する
ように構成される、ＮＡＴ情報プロバイダ。
【請求項１５】
請求項１４記載のＮＡＴ情報プロバイダであって、更に、
第２のローカル・ネットワーク内の第２のデバイスから、前記ネットワーク・ノードに具備される前記ＮＡＴの前記ＮＡＴタイプと同一のＮＡＴタイプを有するＮＡＴについてのＮＡＴ関連情報の要求を受信し、
前記ＮＡＴタイプの識別情報に基づいて前記データベースから前記ＮＡＴ関連情報を選択すると共に、該選択したＮＡＴ関連情報を前記第２デバイスに提供する
ように構成される、ＮＡＴ情報プロバイダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にデータ通信の分野に関するものである。より詳しくは、本発明は、ＮＡＴトラバーサルの分野に関するものである。
【従来技術】
【０００２】
ルータの背後に配置された内部ローカル・ネットワーク（例えば、家庭および法人のネットワーク）内のデバイスのためのプライベート・インターネット・プロトコル（ＩＰ）アドレスの使用を、インターネットのような外部ネットワークに提示される単一のパブリックＩＰアドレスを用いて可能にすることにより、ネットワーク・アドレス変換器（ＮＡＴ; Network Address Translators）は、ＩＰｖ４アドレスの枯渇を低減させると考案されている。ＮＡＴは、ローカル・ネットワーク内のエンド・ユーザ・デバイス（ＥＵＤ）が、発出する要求のソース・アドレスを、ローカル・ネットワーク内にあるＮＡＴのものに変更させ、次いで応答を発出元のＥＵＤに戻すようにリレーすることによって、外部ネットワーク内のデバイスとの通信を可能にする。このことは、ＮＡＴを横切る通信は、ローカル・ネットワークに属するデバイスによって開始されるときのみ可能であることを意味する。その結果、デバイスによって開始される、（例えばピア・ツー・ピア（Ｐ２Ｐ）のファイル共有、ボイス・オーバＩＰ（ＶｏＩＰ）サービス、またはビデオ・ゲーム・コンソールのオンライン・サービスのような）外部ネットワークからの接続の確立を要求するサービスは、この失敗を回避する特別の方策が採られない限り、失敗する。従来技術におけるこのような特別な手段は、ユニバーサル・プラグ・アンド・プレイ（ＵＰｎＰ）、セッション・ボーダ・コントローラ（ＳＢＣ）およびインタラクティブな接続性確立（ＩＣＥ）を含む。
【０００３】
本ＮＡＴトラバーサル技術の多くは、ＮＡＴに関するある種別の情報およびその挙動や「挙動検出(behavior discovery)」と称されるプロセスについての決定を必要とする。通例、いわゆるＳＴＵＮプロトコルがこの目的で使用される。ここでは、ＮＡＴの背後にあるＥＵＤにおける「ＳＴＵＮクライアント」と称される通信アプリケーションが、数多くのメッセージを外部ネットワーク内のＳＴＵＮサーバと交換して、ＮＡＴの挙動を決定することができる。ＳＴＵＮサーバの使用については、ＩＥＴＦ ＲＦＣ ５３８９に記載されており、また、可能性のある挙動検出については、ＩＥＴＦ ＲＦＣ ５７８０に記載されている。
【０００４】
現在の解決策の大多数では、関連するＮＡＴ情報の決定は、当該情報が使用されないうちに、例えばＶｏＩＰの呼セットアップの間に即座に実行される。ここでは、当該情報は、決定が即座に行われた結果を用いて要求される。このことは、しかしながら、数多くの更なる課題を生じさせる。１つの課題は、ＮＡＴ関連情報の検出、特にＮＡＴ挙動の詳細な調査が、ネットワークを介して交換されることになる多くのメッセージを必要とすることである。当該ネットワークは、ローカルおよび外部のネットワークへの負荷、並びにＮＡＴ挙動の決定を支援するＳＴＵＮサーバへの負荷の双方を付加する。他の課題はＮＡＴ挙動検出には時間がかかるということである。ここでは、より詳細な情報が必要とされ、それに対応して検出により多くの時間を要する。このことは、接続がセットアップできる以前のウェイティング時間が非常に長くなる場合があることを意味する。
【０００５】
ＷＯ２００９／０１８００４は、時間の量、およびＮＡＴ挙動を決定する際に交換されるメッセージの量を減少させるための解決策を提案する。この解決策は、ローカル・ネットワーク内のＮＡＴについて検出された挙動の情報を共有するＥＵＤを、ローカル・ネットワーク内に含む。加えて、このＥＵＤは、相互に独立して検出したＮＡＴ挙動を受動的に共有するというよりかはむしろ、能動的に協働して、それらのネットワーク内のＮＡＴの挙動を更に決定することができる。そのＮＡＴに関するＮＡＴ情報は、次いで、そのＮＡＴの背後にある全てのＥＵＤがアクセスできる中央の位置に格納される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、ＮＡＴトラバーサルのために改良した方法およびシステムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、ネットワーク・ノードを設ける。ネットワーク・ノードは、ＮＡＴの機能性を実装するＮＡＴユニット、例えばＳＴＵＮサーバのようなサーバとの間で１つ以上のメッセージを交換することによりＮＡＴについてのＮＡＴ関連情報を決定するように構成され、また、例えばＳＴＵＮクライアントのようなクライアント、およびクライアントとサーバとの間でＮＡＴユニットを介して交換されるメッセージをルーティングするように構成されるルーティング・ユニットを含む。ネットワーク・ノードは、例えば、ＮＡＴ、ホーム・ゲートウェイ、ルータ、またはルータを備えるホーム・ゲートウェイとすることができる。
【０００８】
本発明は、このようなネットワーク・ノードの背後にあるローカル・ネットワーク内の端末上にクライアントを実装するのとは対照的な、ＮＡＴ機能性を有するネットワーク・ノード上でクライアントを実装するという認識に基づくものである。本発明は、ＮＡＴ挙動検出に利用可能な、ＮＡＴの背後にある端末を有する必要性を除去するのに加えて、クライアントがネットワークの観点でＮＡＴの背後にあることをルーティング・ユニットが確実にするものである。このような実施態様では、ＮＡＴ機能性を有するネットワーク・ノードが利用可能である。これは、ネットワーク・ノードが「オンライン」であり、スイッチ・オンされ、そして接続されることを意味する。ＮＡＴの検査は、ＮＩＰがＮＡＴ挙動検出を要求しクライアントからＮＡＴ関連情報を取得する場合に、即座に実行することができる。加えて、クライアントをネットワーク・ノード上で実装することにより、ＮＡＴ情報プロバイダ即ちＮＩＰが送信するメッセージがクライアントに届くのを可能にする。その後に、ＮＩＰは、適切なＮＡＴ関連情報をローカル・ネットワーク内の端末に提供することが可能となる。提供されたＮＡＴ関連情報は、ＮＡＴの背後にある端末がＮＡＴをトラバースするのを可能にする。
【０００９】
本明細書において、「ＮＡＴをトラバースする端末」との言い回しおよびその変更態様は、ＮＡＴの背後にある端末上の１つ以上のソフトウェア・アプリケーションが、外部ネットワーク内のアプリケーションまたは端末からのデータ・トラフィックを受信することができること、言い換えると、外部ネットワーク内の１つ以上のアプリケーションまたはクライアントからのデータ・トラフィックが、ＮＡＴの背後にある１つ以上のアプリケーションまたはクライアントに届くのを可能にすることを説明するのに用いる。更に言い換えると、「ＮＡＴをトラバースする」との言い回しは、一般的な意味で、ＮＡＴの背後にある端末と外部ネットワークのデバイスとの間の通信を可能にすることを意味するのに用いる。当該通信は双方向であり、ＮＡＴ内部から外部へのトラフィックを許容するのみならず、ＮＡＴ外部から来て内部の端末に進むトラフィックも有する。
【００１０】
本明細書において、「端末」という用語は、ローカル・ネットワーク内の如何なるエンド・ユーザ・デバイスまたはコンピューティング・システムのことも称する。例えば、端末には、コンピュータ、ハンドヘルド・インターネット・ブラウザ、電子メール・デバイス、ＶｏＩＰ電話機、ゲーム・コンソール、またはハンドヘルド・ゲーム・デバイスが含まれるが、これに限定されない。
【００１１】
更に、本願明細書で用いる「ＮＡＴ関連情報」とは、あるポイントでＮＡＴをトラバースするのを可能にする如何なる情報のことも称するものである。このような情報は、これに限定されないが、例えば、ＮＡＴにより現在使用されている１つ以上のポート、ＮＡＴについての現在のＷＡＮＩＰアドレス、ＮＡＴ内に実装される現在の仮想サーバ規則、ＮＡＴについてのポート・マッピング挙動およびフィルタリング挙動、ヘアピン(hairpinning）のサポート、ＮＡＴによって用いられる１つ以上のポート割り当てアルゴリズム、ＮＡＴバインディングについてのタイムアウト値、並びに、輻輳の間、ネットワーク・トラフィックの混雑の間、複数の同時セッションの間、および／または複数の同時ＮＡＴバインディングの間におけるＮＡＴの振る舞いを含むことが当業者にとって理解されるであろう。
【００１２】
本発明の別の態様によれば、本明細書で先に説明したネットワーク・ノードで用いられる、「ＮＡＴ情報プロバイダ」(NAT information provider)即ち「ＮＩＰ」と称されるＮＡＴ情報サーバ機能性がまた提供される。ＮＩＰは、少なくとも、ネットワーク・ノードからＮＡＴ関連情報を受信し、また、ＮＡＴ関連情報をデータベースに格納するように構成される。ここでは、ＮＡＴ関連情報は、ネットワーク・ノードに含まれるＮＡＴユニットのＮＡＴ種別の識別に関連付けられて格納される。このように、ＮＩＰは、異なるＮＡＴ種別のＮＡＴについてのＮＡＴ関連情報を取得し、当該情報を格納するデータベースを維持することができる。ＮＩＰは、次いで、特定のＮＡＴ種別のＮＡＴについてのＮＡＴ関連情報をローカル・ネットワーク内の端末に提供する。ローカル・ネットワークは、そのＮＡＴ種別のＮＡＴを含む。ここでは、端末に提供されるＮＡＴ関連情報は、端末が最初のＮＡＴをトラバースするのを可能にする。
【００１３】
このようなＮＩＰの機能性は、特定のＮＡＴ種別（例えば、ＮＡＴについて特定のブランド、モデル、および／またはファームウェア・バージョン）を検査することによって取得されるＮＡＴ関連情報が、これらＮＡＴが使用されたローカル・ネットワークとは関係のない、同一の種別の他のＮＡＴに対して再使用できるという認識に基づくものである。言い換えると、特定のＮＡＴタイプのＮＡＴは一度検査すればよく、検査の結果として取得されるＮＡＴ関連情報は如何なる状況に対しても再使用することができる。ここでは、この特定の種別のＮＡＴが配備され、つまり、ＮＡＴを収容する各ローカル・ネットワーク内の同一種別のＮＡＴを別個に検査する必要性を低減させる。この手法により、ＷＯ２００９／０１８００４に記載される技術とは異なり、この種別の特定のＮＡＴの背後にあるどの端末もが如何なるＮＡＴ検査を実施する必要性を無くし、その結果、必要なＮＡＴ関連情報を取得きるという状況を想定することができる。提案するＮＩＰは、ネットワーク上の、およびＮＡＴ挙動検出プロセスに参加しているＳＴＵＮサーバ上の負荷を低減させるのを可能にする。何故ならば、複雑なＮＡＴ検出プロセスは、各ローカル・ネットワーク内の個別の各端末によって、または特定のＮＡＴ種別のＮＡＴを配備するローカル・ネットワーク内にある１つの端末によってでさえ、実行される必要がないからである。もちろん、実施形態の中には、特定の種別のＮＡＴの背後にある端末が、ある追加の検査を実行する、例えば、ネットワーク・ノードから取得したＮＡＴ関連情報を補うような必要がある場合について想定するものもあり、このことは本発明の範囲内である。しかしながら、先に説明した利点は、このような実施形態に対してでさえも、尚も重要である。本発明の実施形態では、ＮＡＴの検査は、ＮＡＴ上に実装されているＳＴＵＮサーバ機能性を用いて実施することができる。ＳＴＵＮクライアント機能性はまた、おそらくはＮＡＴ上に実装することもできる。この実施形態では、ＳＴＵＮサーバは、メッセージ、例えば、ＮＡＴについてＮＡＴ挙動の検査のために例えば使用されるＳＴＵＮメッセージが、ＮＡＴのアドレス変換部を通じてルーティングされるような方法でＮＡＴ上に実装される。当該または上記参照したクライアントは、ローカル・ネットワークまたはネットワーク・ノード上に実装することができる。
【００１４】
更に、幾らかのＮＡＴ種別に対し種別ごとに少なくとも基づいて、データベース内にＮＡＴ関連情報を格納することは、これらのＮＡＴ種別のＮＡＴデバイスに対しデバイスごとに基づいてＮＡＴ関連情報を格納するのとは対照的に、サーバ・ストレージ空間をセーブするという利点を供する。
本発明の実施形態のコンテキストでは、２つのＮＡＴは、実際にほとんどフィージブルな状況において実質的に同一の挙動をする場合に、「同一のＮＡＴ種別である」と称される。このことは、通常、これらが同一のブランド、モデル、およびファームウェアであることを意味するものの、このことはまた、そのブランドを有する全てのＮＡＴデバイスが実質的に同一の挙動を有する場合に、これらは正に同一のブランドであることを意味することになる。
【００１５】
本発明の他の態様によれば、本開示は、本明細書に説明する様々な機能を実行するために、おそらくは分散された部分を有するコンピュータ・プログラムに関し、また、このようなソフトウェア部についてのデータ担体に関するものである。
【００１６】
以降において、本発明の実施形態についてより詳細に説明する。しかしながら、これらの実施形態が、本発明の保護の範囲を限定するものとして解釈することにはならないことが認められて然るべきである。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の一実施形態により、ＮＡＴ関連情報を１つ以上のＥＵＤに提供するＮＩＰを有するコンピューティング環境の概略図である。
【図２】図２は、本発明の一実施形態により、図１に示す環境を如何にして実際に実施できるかについてに示す概略図である。
【図３】図３は、本発明の一実施形態により、ＥＵＤのＮＩＰ管理におけるＴＲ−０６９シーケンスの方法ステップについて示すフロー図である。
【図４】図４は、本発明の一実施形態により、ＲＰＣを用いて図３の方法を実行する一例について示す概略図である。
【図５】図５は、本発明の一実施形態により、見込まれるＣＷＭＰ ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求の一例である。
【図６Ａ】図６Ａは、本発明の様々な実施形態により、ＥＵＤが背後にあるＮＡＴの種別を識別するＮＡＴ種別識別子を如何にしてＮＩＰに提供できるかについて示す。
【図６Ｂ】図６Ｂは、本発明の様々な実施形態により、ＥＵＤが背後にあるＮＡＴの種別を識別するＮＡＴ種別識別子を如何にしてＮＩＰに提供できるかについて示す。
【図６Ｃ】図６Ｃは、本発明の様々な実施形態により、ＥＵＤが背後にあるＮＡＴの種別を識別するＮＡＴ種別識別子を如何にしてＮＩＰに提供できるかについて示す。
【図７】図７は、本発明の一実施形態により、ＮＩＰがＮＡＴ関連情報をＥＵＤに提供できる例示のセッティングについて示す概略図である。
【図８Ａ】図８Ａは、本発明の異なる実施形態により、ＮＩＰがＮＡＴ関連情報を収集する方法ステップについてのフロー図を示す。
【図８Ｂ】図８Ｂは、本発明の異なる実施形態により、ＮＩＰがＮＡＴ関連情報を収集する方法ステップについてのフロー図を示す。
【図９】図９は、本発明の一実施形態により、ＮＩＰ、ＳＴＵＮクライアント、およびＳＴＵＮサーバの間の相互作用についての概略図である。
【図１０】図１０は、本発明の様々な実施形態により、ＳＴＵＮクライアントを配備するための異なる手法について示す概略図である。
【図１１】図１１は、本発明の様々な実施形態により、ＳＴＵＮクライアントを配備するための異なる手法について示す概略図である。
【図１２Ａ】図１２Ａは、本発明の一実施形態により、ＳＴＵＮクライアントを配備するための更なる別の手法について示す。
【図１２Ｂ】図１２Ｂは、本発明の一実施形態により、図１２Ａに示すＳＴＵＮクライアントの機能性を実装できるＮＡＴについての概略図である。
【図１３Ａ】図１３Ａは、本発明の一実施形態により、ＮＡＴの一部としてＳＴＵＮサーバを配備することの概略図である。
【図１３Ｂ】図１３Ｂは、本発明の一実施形態により、図１３Ａに示すＳＴＵＮサーバの機能性を実装することができるＮＡＴの概略図である。
【図１４Ａ】図１４Ａは、本発明の一実施形態により、ＮＡＴの一部としてＳＴＵＮクライアントおよびＳＴＵＮサーバの両方を配備することについて示す概略図である。
【図１４Ｂ】図１４Ｂは、本発明の一実施形態により、図１４Ａに示すＳＴＵＮクライアントおよびＳＴＵＮサーバの機能性を実装することができるＮＡＴについて示す概略図である。
【発明を実施するための形態】
【００１８】
図１は、本発明の一実施形態により、ＮＡＴ関連情報を１つ以上のＥＵＤ３に提供するＮＩＰ２を有するコンピューティング環境１についての概略図である。本発明のコンテキストでは、「ＥＵＤ」という用語は、上記に規定した「端末」を記述するために用いる。図示のように、ＮＩＰ２は、ＩＰネットワーク４を介して、数多くのＮＡＴ５〜７に接続することができる。ＮＡＴ６，７に示すように、ＮＡＴの各々は、それぞれのＮＡＴの背後のローカル・エリア・ネットワーク（ＬＡＮ）に存在する１つ以上のＥＵＤ３をＩＰネットワーク４に接続することができる。もちろん、ＮＡＴ５として示すように、ＮＡＴの背後のＬＡＮはまたＥＵＤがなくてもよい。
【００１９】
異なるＮＡＴ５〜７は、同一の種別としてもよいが、異なる種別としてもよい。図１のＮＡＴに付した異なる符号（５，６，７）は、例示の実施形態では、ＮＡＴ５が１つのＮＡＴ種別のＮＡＴであり、２つのＮＡＴ６が別のＮＡＴ種別のＮＡＴとすることができる一方、ＮＡＴ７は第３のＮＡＴ種別のＮＡＴとすることができる。
【００２０】
なお、図１において同一の参照符号を有する２つ以上の構成要素、例えば２つのＮＡＴ６および複数のＥＵＤ３は、これら参照符号のそれぞれが異なるデバイスの１つを示すというよりかはむしろ、これら参照符号の内の各１つを有する構成要素が、唯一のデバイスを示すことを意図するものであることに留意すべきである。つまり、図１は、同一の端末、即ちＥＵＤ３における複数の実装態様、および同一のＮＡＴ種別、即ちＮＡＴ６のＮＡＴにおける複数の実装態様を示すものである。
【００２１】
ＮＩＰ２は、ＮＡＴ関連情報を要求したＮＡＴの特定の種別についての識別情報(identification)を一旦取得すると、特定のＮＡＴ種別についてのＮＡＴ関連情報を１つ以上の任意のＥＵＤ３および／またはＮＡＴ５〜７に提供するように構成される。そのために、ＮＩＰ２は、異なるＮＡＴ種別についてのＮＡＴ関連の情報を収容するデータベース８を少なくとも含むことができる。ここでは、異なるＮＡＴ種別についてのＮＡＴ関連情報が、特定のＮＡＴ種別の識別情報（ＮＡＴ種別ＩＤ）に基づいて抽出できるような形態で格納される。ＮＩＰ２は、ＮＡＴ関連情報を処理するためのプロセッサ９を更に含むことができる。ＮＩＰ２はまた、他のデバイスとの間でメッセージ／データを送受信するための通信モジュール（図１には図示せず）を含むこともできる。
【００２２】
特定のＮＡＴ種別についてＮＩＰ２によって提供できるＮＡＴ関連情報は、その種別のＮＡＴの背後にあるローカル・ネットワーク内の端末がそのＮＡＴをトラバースするのを可能にする。即ち、ＮＩＰ２によって提供されるＮＡＴ関連情報は、ＮＡＴの背後にある端末上の１つ以上のクライアントが、外部ネットワーク内の１つ以上のクライアントからデータ・トラフィックを受信するのを可能にする。
【００２３】
種別ごとに基づいてＮＡＴ関連情報を端末に提供するＮＩＰ２は、デバイスごとに基づくのとは対照的であり、特定のＮＡＴ種別（例えば、ＮＡＴについての特定のブランド、モデル、および／またはファームウェアのバージョン）を有する１つ以上のＮＡＴを同一の種別を有する他のＮＡＴに対して検査することによって取得されるＮＡＴ関連情報を再使用するのを可能にする。ここではこれらＮＡＴが使用されるローカル・ネットワークとは関係がない。言い換えると、特定のＮＡＴタイプは一度検査すればよく、検査の結果として取得されるＮＡＴ関連情報は、如何なる状況に対しても再使用することができる。ここでは、この特定の種別のＮＡＴが配備される。つまり、これらＮＡＴを収容する各ローカル・ネットワーク内の同一種別のＮＡＴを別個に検査する必要性を低減させる。図１に示される例示のシナリオについて、これは、ＮＩＰ２が同一のＮＡＴ関連情報を第１のローカル・ネットワーク内の第１のＮＡＴ６の背後にある１つのＥＵＤ３に、また、第２のローカル・ネットワーク内の第２のＮＡＴ６の背後にある３つのＥＵＤ３の内１つ以上に、提供できることを意味する。ローカル・ネットワークは図１において点線で示されている。ＮＡＴ関連情報のこのような再使用が見込まれる。何故ならば、これらＮＡＴ６は、同一のＮＡＴ種別を有するＮＡＴデバイス、例えば同一のブランド、モデル、およびファームウェアを有するＮＡＴだからである。
【００２４】
なお、図１では、ＮＡＴ５〜７のそれぞれが、各ローカル・ネットワーク内に含まれることを示し、本明細書で行う検討が、通例のＮＡＴの使用、即ちＮＡＴがローカル・エリア・ネットワークを外部ネットワークまたはワイド・エリア・ネットワークに接続する状況に合うように仕立てられることに留意すべきである。しかしながら、当業者にとって、本明細書で着想されたアイデアがまた、プロバイダ−ＮＡＴのようなＮＡＴに関する他の実施態様、即ちプロバイダがネットワーク内のＮＡＴを実装してユーザ機器にプライベート・アドレスを割り当てるようにな状況にも入り込み(work in)、適合できることが認められて然るべきである。このような実装態様では、ＮＡＴは、必ずしもローカル・ネットワーク内に含まれるというわけではない。また、典型的なＮＡＴの課題がＩＰｖ４のＮＡＴトラバーサルに向けられるのに対して、本発明の実施形態はまた、ＩＰｖ４／ＩＰｖ６のＮＡＴ、またはプロバイダ間ＮＡＴ、即ち相互接続されたネットワーク・プロバイダによって他のネットワーク・プロバイダに適用されるＮＡＴのような他のＮＡＴ形態にも適用可能である。
【００２５】
様々な実施形態では、異なるＮＡＴ種別の各々についてのＮＡＴ関連情報は、例えば、現在使用されている１つ以上のポート、現在のＷＡＮＩＰアドレス、現在の仮想サーバ規則、ポート・マッピング挙動、フィルタリング挙動、ヘアピン(hairpinning）のサポート、１つ以上のポート割り当てアルゴリズム、ＮＡＴバインディングについてのタイムアウト値、並びに、輻輳の間の挙動、ネットワーク・トラフィックの混雑の間の挙動、大多数の同時セッションおよび／または複数の同時ＮＡＴバインディングの間の挙動を含むことができる。もちろん、ＮＡＴトラバーサルを容易にするのに利用可能な他の種類のＮＡＴ関連情報を想定することができ、本発明の範囲内である。
【００２６】
先に説明したＮＡＴ関連情報の内の幾らかは、種別に特化するのとは対照的に、デバイスに特化しているように見えることもある。言い換えると、先に説明したＮＡＴ関連情報の幾らかは、特定のＮＡＴタイプを有する全ての異なるＮＡＴに特徴的であることとは対照的に、特定のＮＡＴに特有であるように見えることもある。このような情報についての幾らかの例示は、現在使用中のポートまたは仮想サーバ規則を含む。しかしながら、驚くべきことに、このような情報は、ＮＡＴの特定種別における全ての実装態様について典型的なものであり、つまり、種別に特化したものとみなすことができるということが理解される。
【００２７】
様々な実施形態では、ＮＩＰ２は、更に、特定のＮＡＴ種別についてのＮＡＴ関連情報を提供するのみならず、特定のＮＡＴについての特定の情報をも提供するように構成することができる。ＮＩＰ２はまた、特定のＮＡＴ種別のＮＡＴについてのＮＡＴ関連情報の提供と、特定のＮＡＴについての特定の情報の提供とを組み合わせるように構成することができる。
【００２８】
本発明のコンテキストでは、２つのＮＡＴが実際にほとんどまたは全てで実際にフィージブルな状況において実質的に同一の挙動をする場合に、これらは、「同一のＮＡＴ種別である」と称される。このことは、通常、これらが同一のブランド、モデル、およびファームウェアであることを意味するものの、このことはまた、そのブランドを有する全てのＮＡＴデバイスが実質的に同一の挙動を有する場合に、これらは正に同一のブランドであることを意味することもある。様々な実施形態では、特定のＮＡＴタイプの識別情報（即ち、ＮＡＴ種別ＩＤ）は、組織一意識別子（ＯＵＩ; Organizational Unique Identifier）、ベンダまたは製造業者の名前、モデル番号、モデル名称、ハードウェア・バージョン、ソフトウェア・バージョン、ブートＲＯＭバージョン、ＮＡＴデバイスのシリアル番号、ベンダの企業番号、およびベンダの分類データの内の１つ以上を示す情報を含むことができる。しかしながら、ＮＡＴ種別ＩＤは、先に説明した例の内の１つのように実際のＩＤである必要が必ずしもあるというわけではない。しかし、ＮＡＴ種別ＩＤは、ＮＩＰ２によって受信されたＮＡＴ関連情報の要求に含まれるＮＡＴのパブリック・アドレスについてどのＮＡＴが有しているかをＮＩＰ２が認識している場合に、例えばこのアドレスのようなＮＡＴ種別ＩＤをＮＩＰ２が決定するのを可能にする如何なる情報ともすることができる。つまり、ＮＩＰ２が特定のＮＡＴ種別を識別するのを可能にする様々な他の方法を想定することができ、本発明の範囲内である。
【００２９】
なお、先に説明したＷＯ２００９／０１８００４により提案された技術とは異なり、本発明の実施形態によれば、ＮＡＴ種別の識別子としてメディア・アクセス制御（ＭＡＣ）アドレスを使用することは、通例は、それ自体では十分なものとはならないことに留意すべきである。ＭＡＣアドレスは、ＮＡＴ関連情報が、デバイスごとに基づいてＮＩＰ２において利用可能である場合には十分なものとなる。何故ならば、ＭＡＣアドレスはワールドワイドで一意なものだからである。本発明の実施形態によれば、しかしながら、少なくとも、幾らかのＮＡＴタイプのＮＡＴについて、ＮＩＰ２のデータベース８は、種別ごとに基づくＮＡＴ関連情報を収容する。ＭＡＣアドレスがＮＡＴのベンダを識別するにもかかわらず、ＭＡＣアドレスは特定の製品種別を識別するものではないので、ＮＡＴ種別識別子としてＭＡＣアドレスそれ自体の使用は、データベース８を使用する際には十分なものとはならない。ＭＡＣアドレスは、デバイスの種別を識別するために尚も用いることができるが、この場合、データベース８は、ＭＡＣアドレスのリストまたはＭＡＣアドレス範囲およびデバイス種別を収容することが必要になる。実施態様の中には、例えば、インターネット・サービス・プロバイダによって提供されるホーム・ゲートウェイのように、この種のリストを利用可能にできるものもある。何故ならば、このようなプロバイダは、例えばネットワーク内のゲートウェイ認証のような他の目的のために、しばしばこの情報のトラックを維持するからである。また、デバイスの製造業者は、幾らかのオフライン・プロセスを通じてこの情報を提供することもできる。
【００３０】
ＭＡＣアドレスを使用することと同様に、ＮＡＴのワイド・エリア・ネットワーク（ＷＡＮ）ＩＰアドレスもまた、ある時間ポイントにおいて一意の識別子として使用することができる。ＷＡＮ ＩＰアドレスが、例えばＤＨＣＰを使用して割り当てられるときには、このＩＰアドレスは、その時点でＭＡＣアドレス、つまり、その時点で特定のデバイスにリンクされる。
【００３１】
ＮＩＰ２が如何にしてデータベース８を維持できるかについては、図８Ａから図１４Ｂに関連して以下により詳細に説明する。
【００３２】
図２は、本発明の一実施形態により、図１に示した環境１が如何に実際に実施することができるかについての概略図である。そのために、図２は、ブロードバンド・フォーラムのＴＲ−０６９仕様に従って、遠隔デバイス管理についての通例のセットアップを示す。図２に示すＮＡＴは、図１に示したＮＡＴ５〜７の内１つとすることができ、また、例えばホーム・ゲートウェイ（ＨＧ）のような管理されたインターネット・ゲートウェイ・デバイス（管理ＩＧＤ）内に含める、または含められることができる。本説明では、「ＮＡＴ５〜７」との表記は、図１に示し説明したＮＡＴ５、ＮＡＴ６、またはＮＡＴ７のいずれかとすることができるＮＡＴを示すのに用いられる。
【００３３】
図２に示すように、ＮＡＴ５〜７は、そのＷＡＮインタフェース上でＮＩＰ２に接続される。ＮＩＰ２は、自動設定サーバ（ＡＣＳ）の一部として実装することができる。図２の右側に典型的なＬＡＮを示し、ＮＡＴ５〜７、および電話、セット・トップ・ボックス（ＳＴＢ）、タブレット、またはＰＣのような様々なＥＵＤ３を備える。
【００３４】
ＮＩＰ２は、ＬＡＮ内の様々なＥＵＤ３の遠隔管理を実行することができる。言い換えると、ＮＡＴ関連情報を様々なＥＵＤ３に提供し、および／または提供されたＮＡＴ関連情報に従ってＥＵＤを設定することができる。そのために、ＮＩＰ２は、図２に示すように南向き(Southbound)インタフェースを有すると共に、数多くの北向き(Northbound)インタフェースを有することができる。管理は、例えば、ＣＰＥＷＡＮ管理プロトコル（ＣＷＭＰ）を用いて、ＮＩＰにおけるＩＰベースの南向きインタフェースを介して行うことができる。通例のセットアップでは、ＮＩＰ２は、インターネット・サービス・プロバイダ（ＩＳＰ）のＩＰコア・ネットワークにおいてどこかに接続されることになる。ＮＡＴ５〜７は、次いで、エッジおよびアクセス・ネットワークを介して、このＩＰコア・ネットワークに接続することができる。このように、ＮＡＴ５〜７は、ＮＩＰ２へのＩＰ接続を有することになる。北向きインタフェースは、例えば、受注処理、支払請求、加入者管理、ポリシ管理、変更管理、製造管理、パフォーマンス解析、またはサービス・レベル・アグリーメント管理を実行するために、ＮＩＰ２をＯＳＳ／ＢＳＳ１１およびポリシ・センタ１２に接続する。北向きインタフェースはまた、例えば、設定の受信、設置(installation)、およびコール・センタの従業員による使用のために、ＮＩＰ２をコール・センタ１３に接続する。
【００３５】
図３は、本発明の一実施形態により、ＥＵＤにおけるＮＩＰ管理のＴＲ−０６９シーケンスについての方法ステップのフロー図である。図１および図２に関連して本方法ステップを説明する。しかし、当業者にとって、本方法ステップを如何なる順序でも実行するように構成される如何なるシステムもが、本発明の範囲内であることを認識するであろう。
【００３６】
本方法はステップ１５で開始し、ＥＵＤ３がＮＩＰ２を検出するためにＮＩＰ検出手順を開始する。そのために、一実施形態では、ＮＩＰ２のＵＲＬは、ＴＲ−０６９に従いＥＵＤ３に予め設定することができる。他の実施形態では、ＥＵＤ３は、ＤＨＣＰオプションとしてＩＧＤからＮＩＰ２のＵＲＬを受信することができる。ＴＲ−０６９は、本発明の範囲内である他の選択肢も同様に提供する。このような選択肢では、ＥＵＤ３は、ＮＩＰ２のアドレスを用いて構成されるのではなく、例えばある中間ネットワーク・ノードのような中間エンティティのアドレスを用いて構成されることになる。この中間エンティティは、次いで、転送、即ちＥＵＤ３からＮＩＰ２へのプロキシ要求ができる。このようなセットアップは、スケーラビリティの目的で行うことができ、即ち、例えば行われた要求の種別に従って、要求を別個のＮＩＰにルーティングできる。
【００３７】
ＮＩＰ２がＥＵＤ３によって検出された後、ステップ１６では、ＥＵＤ３はＮＩＰ２への伝送制御プロトコル（ＴＣＰ）接続をセットアップすることができる。このことは、ＴＣＰのＩＥＴＦ ＲＦＣ ７９３に規定されるように、ＴＣＰ ｓｙｎパケットおよびＴＣＰ ａｃｋパケットを交換することによって行うことができる。ステップ１７で示すように、何らかの理由で接続のセットアップが失敗する場合には、ＥＵＤ３は成功するまで接続の開始を再トライすることができる。
【００３８】
接続を開始した後、ステップ１８では、ＥＵＤ３は、ＣＷＭＰ通知要求をＮＩＰ２に送信し、並びにＣＷＭＰ通知応答を受信および次いで空のＨＴＴＰポストをＮＩＰ２に送信することによって、トランザクションのセットアップを開始する。このセッションが確立された後、ＥＵＤ３はＮＩＰ２から要求を受け取ることができる。ＥＵＤ３が要求を受け取った場合に（ステップ１９）、ＥＵＤ３は要求を解析する（ステップ２０）。解析の結果、ＥＵＤ３は、要求の種別を判断する（ステップ２１）。即ち、要求が空のＨＴＴＰポストまたは遠隔手続き呼び出し（ＲＰＣ）を収容するかを判断する。ステップ２２に示すように、空のＨＴＴＰポストは、セッションを終了することができるサインである。しかしながら、ステップ２１では、要求がＲＰＣの形態で実際の指示を収容することをＥＵＤが判断する場合に、ＥＵＤ３は指示に従ってＲＰＣ方法を実行することへと進む（ステップ２３）。
【００３９】
ステップ１９においてＥＵＤ３が受け取った要求の一例として、ＣＷＭＰ ＧｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求とすることができる。このような要求を用いて、ＮＩＰ２は、セッションがステップ１８で確立された後に、ＥＵＤ３に存在するパラメータのリストを要求することになる。この要求は空のＨＴＴＰポストではないので、ステップ２３の一部として、ＥＵＤ３はＣＷＭＰ ＧｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ応答を送信することになる。この後に、ＮＩＰ２は、どのパラメータがＥＵＤ３に存在するかについて知ることになり、次いで、ステップ１９においてＥＵＤ３が受け取ったＣＷＭＰ ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求を用いてこれらの値をセットすることができる。つまり、ＣＷＭＰ ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求の受け取りに続くステップ２３の一部として、ＣＷＭＰ ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求がＮＩＰ２によって用いられることができ、その結果、ＮＡＴ挙動パラメータを構成する（即ち、ＥＵＤが背後にあるＮＡＴが有する特定のＮＡＴ種別についてのＮＡＴ関連情報を提供する。ここで、提供される情報により、ＥＵＤを構成することがＮＡＴをトラバースするのを可能にする。）ことをＥＵＤに指示できる。これらのステップのフローについては図４に示す。図４におけるステップのフローは、当業者には理解されるように、図４の上から下への時間順で例示され、図３に示した方法ステップと同一のシーケンスに続く。ただし、当該フローは、ＲＰＣ方法のＧｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓおよびＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓの使用の具体的な例示である。
【００４０】
図５は、本発明の一実施形態により、見込まれるＣＷＭＰ ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求についての一例であり、ＮＩＰ２によってＥＵＤ３に送信できる。ＣＷＭＰは、トランスポート・プロトコルとしてのＴＣＰの上位では、エンベロープとしてＳＯＡＰを、そしてアプリケーション・レイヤ・プロトコルとしてＨＴＴＰを使用する。ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求は、このように、通例はＳＯＡＰ要求であり、この場合は、ＴＲ−０６９に規定されるＸＭＬスキームを遵守するＳＯＡＰ要求である。パラメータＮＡＴマッピング種別(ＮＡＴＭａｐｐｉｎｇＴｙｐｅ)およびＮＡＴフィルタリング種別(ＮＡＴＦｉｌｔｅｒｉｎｇＴｙｐｅ)は、ＴＲ−０６９には規定されていないが、これらは、ＴＲ−０６９がＮＡＴ挙動記述パラメータについてのサポートを収容するように適合される場合に、如何にＣＷＭＰ ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求がＴＲ−０６９を用いて機能することになるかの一例として図５に含まれる。この特定のＣＷＭＰ ＳｅｔＰａｒａｍｅｔｅｒＶａｌｕｅｓ要求は、２つのパラメータを新しい値にセットするようにＥＵＤ３に指示する。パラメータＮＡＴＭａｐｐｉｎｇＴｙｐｅは、ＤｅｖｉｃｅＰｏｒｔＤｅｐｅｎｄｅｎｔにセットされ、パラメータＮＡＴＦｉｌｔｅｒｉｎｇＴｙｐｅはＤｅｖｉｃｅＩｎｄｅｐｅｎｄｅｎｔにセットされることになる。
【００４１】
図２から図５は、如何にして、ＥＵＤが背後にあるＮＡＴについての特定のタイプに関するＮＡＴ関連情報をＮＩＰから要求できるかについて示す。このために、ＮＩＰは、このＮＡＴの識別(identify)を認識することを必要とする。この識別は、異なる方法で検出することができ、異なる方法でＮＩＰに提供することができる。図６Ａから図６Ｃは、本発明の様々な実施形態により、ＥＵＤ３が背後にあるＮＡＴの種別を識別するＮＡＴ種別識別子（ＮＡＴ種別ＩＤ）を、如何にしてＮＩＰ２に提供することができるかについて示す。
【００４２】
図６Ａに示すように、一実施形態によれば、ＥＵＤ３はそれ自体で、ＮＡＴ種別ＩＤをＮＩＰ２に提供することができる。ＥＵＤ３は、例えば、ＩＥＴＦ ＲＦＣ １９２５によるＤＨＣＰオプションを識別するＤＨＣＰベンダについての使用のように、ＵＰｎＰデバイス記述の使用、即ちデバイス−ゲートウェイ連携に関するＴＲ−０６９の使用による、特定のＮＡＴ種別の一意の特定を可能とする様々な手段を通じて、ＮＡＴ種別ＩＤへのアクセス権を有することができる。このような実施形態では、ＥＵＤ３は、おそらくは、ＮＡＴ種別ＩＤにより識別される種別を有するＮＡＴについてのＮＡＴ関連情報への要求の一部として、または、包括的な設定要求の一部として、ＮＡＴ種別ＩＤをＮＩＰ２に提供することになる。
【００４３】
図６Ｂに示すように、他の実施形態によれば、ＮＩＰ２は、ＮＡＴ５〜７の一部とすることができ、その結果、ＮＡＴ５〜７のＮＡＴタイプの識別を認識する。このような実施形態では、ＥＵＤ３は、ＮＡＴ関連情報についての要求を、ＮＩＰ２を収容するＮＡＴ５〜７に送信することになる。
【００４４】
図６Ｃに示すように、更なる他の実施形態によれば、ＥＵＤ３からのＮＡＴ関連情報についての要求は、ＮＡＴ５〜７を通って、ＮＩＰ２に届けることができる。このような実施形態では、ＮＡＴ５〜７がＮＡＴ種別ＩＤをＥＵＤ３から送信された要求にアタッチするので、または、例えばどのＮＡＴがパブリックＩＰアドレスを有するかをＮＩＰ２が認識している場合にＮＡＴ５〜７のこのアドレスに基づいて、ＮＩＰ２は受け取った要求からＮＡＴ種別ＩＤを識別することができるので、ＮＩＰ２はＮＡＴ種別ＩＤを学習することができる。
【００４５】
図６Ｃの一実施形態では、ＥＵＤ３は、ＮＩＰ２のアドレスを用いて設定されない場合がある。その代替として、ＮＩＰ２のアドレスは、ＮＡＴ５〜７に設定することができる。ＥＵＤ３は、次いで、その要求をＮＡＴ５〜７に送信することができる。また、ＮＡＴ５〜７は、次いで、当該要求に対しプロキシとしてサービス提供することができ、当該要求をＮＩＰ２に転送する。
【００４６】
図６Ｂおよび図６Ｃに図示した実施形態で行った本検討はまた、これら図面に示したＮＡＴ５〜７が、該ＮＡＴ５〜７を収容するような或る中間ネットワーク・ノード、例えばホーム・ゲートウェイ、ルータ、ルータを収容するホーム・ゲートウェイによって置き換えられる実施形態についても有効となる。
【００４７】
（図６Ａから図６Ｃには示されない）他の実施形態においても、ＮＡＴ種別ＩＤは、ＥＵＤ３とＮＩＰ２の間の経路に沿って、別のどこかで要求にアタッチすることができる。例えば、ＮＡＴ５〜７とＮＩＰ２の間に位置するＤＳＬＡＭまたはルータのようなネットワーク・ノードが、ＮＡＴ種別ＩＤを要求にアタッチすることができる。このようなネットワーク・ノードは、ＥＵＤ３とＮＡＴ５〜７の間のホーム・ネットワークに位置することさえもできる。これら全ての状況では、これらのネットワーク・ノードはまた、プロキシとして、ＥＵＤ３がＮＩＰ２に送信する要求についてサービス提供することもできる。
【００４８】
ＮＡＴ種別ＩＤが、特定のＮＡＴ種別を有するＮＡＴについてのＮＡＴ関連情報への要求の一部、またはこのような明示的な要求なしのいずれかとして、或る中間ネットワーク・ノードを介してＮＩＰ２に提供される限りにおいて、中間ネットワーク・ノードは、メッセージを付加情報で補うように構成することができる。該付加情報は、例えばその特定ＮＡＴへのネットワーク負荷に関して表現される例えばネットワークのステータスのように、ＮＩＰ２にとって有用なものとなる。中間ネットワーク・ノードはまた、ＥＵＤ３およびＮＩＰ２が同一のプロトコルを用いない場合に、メッセージを再フォーマットする、例えば、異なるバージョンの同一プロトコル間で再フォーマットするように構成することができる。更に、中間ネットワーク・ノードは、メッセージ内に送られたＮＡＴ種別ＩＤが正しいかを確認するように構成することができる。このことは、ＥＵＤ３、即ちＥＵＤ３上のクライアントが「信用」されておらず、中間ネットワーク・ノードが信用されている状況では有用なものとなる。ＮＡＴ種別ＩＤをＮＩＰ２に提供する異なる手法の全てにとって、ＮＩＰ２は、ＮＡＴ種別ＩＤにより識別されるＮＡＴ種別についてのＮＡＴ関連情報をデータベース８からＥＵＤ３に提供することによって、ＮＡＴ関連情報の要求に応答することができる。ＮＡＴ種別ＩＤは、受信するとすぐにＥＵＤ３によって使用することができるか、または後の使用のためにＥＵＤ３に格納することができるかのいずれかである。図６Ｃに図示した実施形態では、ＮＩＰ２は、ＮＡＴ５〜７を介してＥＵＤ３に、または、ＮＡＴ５〜７を収容する中間ネットワーク・ノードを介して直接ＥＵＤ３に、言い換えると、ＮＡＴ５〜７、またはＮＡＴ５〜７を収容する中間ネットワーク・ノードをスキップすることにより、ＮＡＴ関連情報を提供することができる。代替として、ＮＩＰ２は、図６Ｃには示されない他の或る中間ネットワーク・ノードを介してＥＵＤ３にＮＡＴ関連情報を提供することができる。ＮＩＰ２によってＮＡＴ関連情報が或る中間ネットワーク・ノード、例えばＮＡＴ５〜７、該ＮＡＴ５〜７を収容するネットワーク・ノード、または該ＮＡＴ５〜７を収容しない或る他のネットワーク・ノードを介してＥＵＤ３に提供される実施形態において、中間ネットワーク・ノードは、例えばネットワークのステータスのようなＥＵＤ３に有用なものとなる付加情報を用いて応答を補う、またはＥＵＤ３若しくはＥＵＤ３上のクライアントおよびＮＩＰ２が同一のプロトコルを使用しない場合にメッセージを再フォーマットするように構成することができる。代替として、またはこれに加えて、中間ネットワーク・ノードは、例えば、中間ネットワーク・ノードが初期要求をも代理する(proxy)場合に、応答メッセージを代理するように構成することができる。
【００４９】
図６Ａから図６Ｃに示した例について、ＮＡＴ関連情報の要求を受け取るＮＩＰ２のコンテキストにおいて先に説明したが、図６Ａから図６Ｃに関連して説明したＮＡＴ種別ＩＤをＮＩＰ２に提供する様々な手法はまた、ＮＡＴ関連情報についての明示的な要求なしにＮＡＴ種別ＩＤが提供される実施形態でも有効である。このような実施形態では、例えば図６Ａから図６Ｃに示した手法の内の１つで取得したＥＵＤのＮＡＴ種別ＩＤへのアクセス権をＮＩＰ２が有する限り、また、ＥＵＤ３がＮＩＰ２からのメッセージをリスンするように構成される限りにおいて、ＮＩＰ２が或る他のトリガによりトリガされたときに、ＮＩＰ２はＮＡＴ関連情報を提供できることになる。上記の例によるトリガは、例えば、ＮＩＰ２がＮＡＴ関連情報を定期的に提供するときの特定の時間期間の満了、ＥＵＤ３のブート・アップ、ローカル・ネットワークに接続されているＥＵＤ３、またはネットワーク内で生じている或る他の変更とすることができる。また、ＮＩＰ２は、例えば包括設定要求のような、ＥＵＤ３からのより包括的な要求への応答として、ＥＵＤ３にＮＡＴ関連情報を提供するように構成することができる。このことは、図６Ａから図６Ｃには示していない、例えばＮＩＰ２が自動設定サーバ（ＡＣＳ;Automatic Configuration Server）の一部となる場合があり得て、ＥＵＤ３に対して他の非ＮＡＴ関連設定情報も提供する。ＥＵＤ３は、ＡＣＳがＮＡＴ関連の情報を提供できることを認識していないものの、非ＮＡＴ関連設定要求への応答として当該他の非ＮＡＴ関連設定情報を受信することができる。
【００５０】
図７は、本発明の一実施形態により、ＮＩＰ２がＮＡＴ関連の情報をＥＵＤ３に提供できる例示のセッティングについての概略図である。図７に示すように、ＮＡＴは、ホーム・ゲートウェイ（ＨＧ）１０内で含めることができ、また、ＮＩＰ２はＡＣＳ１４の一部とすることができる。ＨＧ１０は、例えば、ルータ、またはルータを主要するホーム・ゲートウェイとすることができ、同様に追加の機能性を含む。ブーティング（ステップ２５）の後に、ＨＧ１０は、例えばＴＲ−０６９を使用してＡＣＳ１４から設定を要求することになる（ステップ２６）。この設定要求の一部は、ＥＵＤ３へのＤＨＣＰ応答において後に用いられることになる付加情報を取得するのに用いることができる。ＨＧ１０は、要求をＡＣＳ１４に供給するので、ＡＣＳ１４は、ＨＧ１０内のＮＡＴ５〜７のＮＡＴ種別の識別について認識し、また、識別したＮＡＴ種別についてのＮＡＴ関連情報を提供することができる（ステップ２７）。ＨＧ１０は、ＡＣＳ１４から受信したＮＡＴ関連情報を理解する必要はない。何故ならば、ＨＧ１０は、単にＥＵＤに情報を即座に通過させるのみ、即ち後にＥＵＤに提供するための情報を格納するように構成すればよいからである。
【００５１】
図７に更に示すように、ブーティングすると（ステップ２８）、ＥＵＤ３は、ＤＨＣＰを使用してＨＧ１０から設定を要求することができる（ステップ２９）。様々な実施形態では、ＩＰアドレス情報、デフォルト・ゲートウェイ、およびＤＮＳサーバ・アドレスは、ＤＨＣＰを介してＥＵＤ３により提供される主要な(primary)情報としてもよいが、より詳細な情報は、ＤＨＣＰ応答内に収容することができる。この場合は、ＨＧ１０は、ＮＡＴ関連情報をその応答に含むことになる（ステップ３０）。このように、ＨＧ１０は、ＮＩＰ２に対してはプロキシとして振る舞い、ＥＵＤ３に適切なＮＡＴ関連情報（即ち、ＥＵＤ３が背後にある特定のＮＡＴ種別についてのＮＡＴ関連情報）を格納し、また、ある後の時点において、おそらくはそうするためにＥＵＤ３からの要求に応答する際に、その情報をＥＵＤ３に提供する。図７は図６Ｃに示した実施形態の特定の例示とみなすことができる。したがって、図６Ｃで見込まれる変更態様に関するものを含む、図６Ｃに関して行った全ての検討が、図７に適用可能である。簡単のため、これら検討はここでは繰り返さない。
【００５２】
図８Ａおよび図８Ｂは、本発明の様々な実施形態による、ＮＡＴ関連情報を収集するＮＩＰ２の方法ステップについてのフロー図を示す。図８Ａおよび図８Ｂに関する方法ステップを説明するものの、当業者にとって、本方法ステップを実行するように構成される如何なるシステムもが、如何なる順序においても本発明の範囲内であることが認識されるであろう。
【００５３】
図８Ａは、ＮＩＰ２の基本的なフローについて例示するものである。本方法は、ステップ３１で開始し、ＮＩＰ２がＮＡＴ関連情報の必要性を判断する。例えば、一実施形態では、ＮＩＰ２が特定のＮＡＴ種別について何らＮＡＴ関連情報を有していない、または不完全なものして有していない場合に、ＮＩＰ２はＮＡＴ関連情報が当該特定のＮＡＴ種別について必要であると判断することができる。他の実施形態では、外部ネットワークは新規のゲートウェイ・デバイスの存在を検出し、この新規ゲートウェイ・デバイスが、新規ＮＡＴであり、および／または新規ＮＡＴを含む。そして、外部ネットワークは、ＮＩＰ２に対し、ＮＡＴ関連情報を判断すべき、見込まれる新規のＮＡＴがあることを示す。更なる他の実施形態では、ＮＩＰ２は、該ＮＩＰ２が満たすことができないＮＡＴ関連情報についての要求を受け取り、その結果、追加のＮＡＴ関連情報を取得すべきであると判断するこができる。ＮＩＰ２はまた、特定のＩＰ範囲からＮＡＴ関連情報を、これらＩＰアドレスがＮＡＴにより使用されるかを事前に知ることなく、試行および収集するように構成することもできる。ＬＡＮ内にあるＮＡＴまたはＥＵＤはまた、それらの性能をＮＩＰ２に示すように構成され、当該性能についてのそれぞれのＮＡＴの指標を含んだＮＡＴ関連情報を提供することもできる。
【００５４】
本方法は、次いで、ステップ３２へと進み、ＮＩＰ２は、明示的または暗示的にＮＡＴ関連情報についての要求をＳＴＵＮクライアントに送ることができる。ＳＴＵＮクライアントの機能性について、図９から図１４Ｂに関連して以下により詳細に説明する。
【００５５】
ステップ３３では、ＳＴＵＮクライアントは、ＮＡＴ挙動検出を実行して、ＮＡＴ関連情報への要求に対する応答として、当該検出の結果をＮＩＰ２に提供する（ステップ３４）。本方法はステップ３５で終了し、ＮＩＰ２がＮＡＴ種別ＩＤに基づきこの情報を抽出できるようにして、受信したＮＡＴ関連情報をデータベース８内に格納する。
【００５６】
ＮＡＴは、異なる状況では、例えばＮＡＴの目的のために使用可能なメモリおよび処理の量に基づいて、従って、デバイス上の他のプロセスまたはアプリケーションによって使用される量に基づいて、異なるように挙動することもある。ＮＡＴはまた、ネットワーク負荷および／またはアクティブなセッション数に基づいて、異なるように挙動することもある。従って、それぞれが特定のＮＡＴ種別についてのＮＡＴ関連情報の一部を供給する複数のＳＴＩＮクライアントを実装すること、および／または１つの時間ポイントにおいてＮＡＴ関連情報を供給するとともに別の時間ポイントにおいて追加のＮＡＴ関連情報を供給する１つ以上のＳＴＵＮクライアントを実装することは有利なものとなる。図８Ｂは、このような実施形態により、特定のＮＡＴ種別についてのＮＡＴ挙動情報を収集するためのより複雑なフローを示す。
【００５７】
図８Ｂに示すように、本方法はステップ３６で開始し、先に説明したステップ３１と同様に、ＮＡＴ関連情報についての必要性を判断する。しかしながら、ステップ３６では、ＮＩＰ２は、どのＮＡＴ種別がＮＡＴ関連情報を有していないかについて判断するのみならず、どのＮＡＴ種別が部分的な情報を有するかについても判断するように構成することができる。加えてまたは代替として、ＮＩＰ２は、特定のＮＡＴ種別についての完全なＮＡＴ関連情報は現在のところはまたは全く必要としていないものの、部分的なＮＡＴ関連情報のみを必要としていることを判断するように構成することができる。これは、部分的なＮＡＴ関連情報、例えば特定の状況におけるＮＡＴ挙動情報についての要求があるか、これがあると予想される場合である。
【００５８】
ＮＡＴ関連情報および必要とされる情報の種別についての必要性を判断した後、ＮＩＰ２は利用可能なＳＴＵＮクライアントを見つける（ステップ３７）。一実施形態では、ＮＩＰ２は、特定のＮＡＴタイプの特定の情報を提供することができる特定のＳＴＵＮクライアントについて、既に分かっていることもある。ＮＩＰ２はまた、この情報を獲得するためにネットワーク管理システムと相互作用することもでき、および／または、例えば特定のＩＰ範囲を試行することによる、試行錯誤を通じて利用可能なＳＴＵＮクライアントを見つけるように構成することもできる。
【００５９】
ステップ３７において、ＮＩＰ２が利用可能なＳＴＵＮクライアントをいずれも見つけることができない場合は、図８Ｂのステップ３８および３９で示すように、一定量の時間だけ遅延させ、後に再度試行することができる。ＮＡＴおよびＳＴＵＮクライアントの両方が行き来、即ち時間と共にネットワークから接続および接続断されるので、このような実施形態は有用である。
【００６０】
ＮＩＰ２が１つ以上の利用可能なＳＴＵＮクライアントを見つけたときは、ＮＩＰ２は、次いで、それらの状況を判断する（ステップ４０）。ＮＩＰ２が、特定の状況、例えば特定のネットワーク負荷または同時セッション数を必要とする特定のＮＡＴ関連情報のみを必要とするときは、これら特定の状況にある１つ以上のＮＡＴが識別される必要がある。これらの状況を判断するために、ＮＩＰ２は、ＮＡＴから、および／またはＬＡＮ若しくはＷＡＮのいずれかにおける監視機能から、状況を要求することができる。必要とされる情報を提供できるＳＴＵＮクライアントを識別した後に、本方法はステップ４１に進み、ＮＩＰ２は、特定のＮＡＴ関連情報についての１つ以上の要求を、ステップ４０で識別される１つ以上のＳＴＵＮクライアントに送る。ステップ４２では、ＮＩＰ２は、ＳＴＵＮクライアントから要求された情報を受信する。本方法は、ステップ４３で終了し、ＮＩＰ２は受信したＮＡＴ関連情報をデータベース８に格納する。
【００６１】
図９は、本発明の一実施形態により、ＮＩＰ２がＳＴＵＮプロトコルを使用してＮＡＴ関連情報を取得することについての概略図である。本明細書において説明する実施形態は、ＩＥＴＦＲＦＣ５３８９に規定されたＳＴＵＮプロトコルに関連する一方で、当業者にとって、これらの実施形態はまた、類似の、おそらくは標準化されていないプロトコルを使用する適切な変形態様で実装可能であることが明らかとなるであろう。言い換えると、図８Ａから図１４ＢはＳＴＵＮクライアントおよびＳＴＵＮサーバに関連して説明する一方で、類似の教示は、ＳＴＵＮプロトコル以外の或るプロトコルにしたがってＮＡＴ関連情報を判断するための１つ以上のメッセージを交換するように構成される如何なるクライアントおよび如何なるサーバについても導出できる。当業者にとって、このコンテキストにおいて「如何なるクライアント」および「如何なるサーバ」なる用語が、デバイス上のソフトウェア片を適切に構成したものとすることができるものと認識されるであろう。
【００６２】
図９に関連して行った、ＮＩＰ２に提供されるＮＡＴ関連情報を取得するＳＴＵＮクライアントについての説明は、例えば、図８Ａおよび図８Ｂに検討したＳＴＵＮクライアントに適用することができる。
【００６３】
図９に示すように、ステップ４７では、ＮＩＰ２は、ＮＡＴ関連情報の要求をＳＴＵＮクライアント（ＳＣ）４５に送信することができる。ＳＴＵＮクライアント４５が既に利用可能なＮＡＴ関連情報を有しない場合は、ＳＴＵＮクライアント４５は、要求された情報を決定しなければならない場合もある。このことは、数多くのＳＴＵＮメッセージをＳＴＵＮサーバ（ＳＳ）４６と交換することによって行うことができる（ステップ４８）。図９にまた示すように、最後のステップ４９では、ＳＴＵＮクライアント４５は、要求されたＮＡＴ関連情報を収容するメッセージをＮＩＰ２に送信する。
【００６４】
一実施形態では、ＳＴＵＮクライアント４５は、ＮＡＴの一方の側でＥＵＤ上に実装することができると共に、ＳＴＵＮサーバ４６はＮＡＴの他方の側でサーバ上に実装することができ、ここでは、当該ＮＡＴは本明細書に説明するＮＡＴ５〜７のうちの１つとすることができる。特定の一実施形態では、ＳＴＵＮクライアント４５は、ＮＡＴのＬＡＮ側において、本明細書で説明するＥＵＤ３の内の１つのようなＥＵＤ上で実装することができると共に、ＳＴＵＮサーバ４６は、ＮＡＴのＷＡＮ側において、サーバ上で実装することができる。しかしながら、他の実施形態では、以下に説明するようにＳＴＵＮクライアント４５および／またはＳＴＵＮサーバ４６は異なって実装してもよい。
【００６５】
特定のメッセージの性質およびステップ４８においてＳＴＵＮクライアント４５とＳＴＵＮサーバ４６の間で交換されるメッセージの数は、判断されることになるＮＡＴ関連情報の性質に依存する。先に検討したように、例えば、要求された情報の全てを判断できる場合ではないとき、および／または部分的な情報のみが特定の時間ポイントにおいて特定のＳＴＵＮクライアント４５から要求されるときには、ＳＴＵＮクライアントは部分的な情報を届けるように構成することができる。
【００６６】
図９に示す実施形態は、図９のステップ４７で示したように、ＮＩＰ２がＮＡＴ関連情報についての要求を能動的に送ることを想定する。しかしながら、図９に関連して行った検討では、ＳＴＵＮクライアント４５は、ＮＩＰ２がこのような情報についての明示的な要求を送信することなくＮＡＴ関連情報をＮＩＰ２に提供するように構成する実施形態に対しても適用可能であるという点において、ステップ４７は任意的なものである。ＳＴＵＮクライアント４５は、おそらくは或る他のトリガに応答して、情報をＮＩＰ２に提供するように構成することができる。例えば、特定の時間に、所定の時間間隔の満了時に、ＳＴＵＮクライアントのブート・アップ時に、ＥＵＤがＬＡＮに接続されているときに、または何かがＬＡＮ内で変更するときに、情報をＳＴＵＮクライアント４５からＮＩＰ２に提供することができる。ＮＡＴ関連情報をＳＴＵＮクライアント４５からＮＩＰ２に提供するこのようなトリガは、ＮＡＴ関連情報をＥＵＤ３に提供するＮＩＰ２のために使用することができるトリガと類似する。
【００６７】
ＮＩＰ２がＳＴＵＮクライアント４５からＮＡＴ関連情報を取得するプロセスにステップ４７が存在するか否かに拘わらず、先に説明したステップ４８では、ＳＴＵＮクライアント４５とＳＴＵＮサーバ４６の間で交換されるメッセージが適切な方向でＮＡＴを通過しなければならず、その結果、ＮＡＴ関連情報を取得することができるという点において、ＳＴＵＮクライアント４５はＮＡＴの「背後に」なければならない。ステップ４７が存在する実施形態ではまた、ＳＴＵＮクライアント４５がＮＡＴ関連情報についての要求をＮＩＰ２から受け取ることができなければならないということが更なる要件になる。図１０、図１１、図１２Ａから図１２Ｂ、および図１４Ａから図１４Ｂは、本発明の様々な実施形態によれば、これらの要件を充足するＳＴＵＮクライアントを配備する異なる手法についての概略図である。これら図面に示したＮＡＴは、本明細書に説明したＮＡＴ５〜７のいずれか１つとすることができる。
【００６８】
図１０は、ＳＴＵＮクライアント４５が、ＬＡＮ内のＥＵＤ３の内１つ以上の一部分としてまたはこれに加えて実装できることを示す。このようなセットアップは、ＳＴＵＮクライアント４５がＮＡＴ５０の背後にあるという点で第１の要件を充足することになる一方で、第２の要件を通常は充足することにはならない。何故ならば、ＮＡＴ５０のＷＡＮ側からのＮＩＰ２からの要求は、通常はＮＡＴ５０を通過することにはならず、それ故、ＳＴＵＮクライアント４５に届くことにはならないからである。第２の要件を充足するために、一実施形態では、ＮＡＴ５０は、ＮＡＴ５０を通じてＥＵＤ３にＮＩＰ２からの要求を通過させるために、仮想サーバ規則を収容するように構成することができる。他の実施形態では、ＥＵＤ３は、２つ以上のインタフェースを含むことができる。ここでは、インタフェースの内少なくとも１つがＮＡＴ５０の背後にあり、また、少なくとも１つの他のインタフェースはＮＡＴ５０の背後にはない。さらに他の実施例では、ＥＵＤ３は、例えばブーティングの後に、ＮＩＰ２への接続を開始することができ、その結果、ＮＩＰ２はＮＡＴ５０をトラバースしてＥＵＤ３に届けることができる。
【００６９】
図１１は、他のセットアップについて示しており、ここでは図１０と同様に、ＳＴＵＮクライアント４５はＬＡＮ内の１つ以上のＥＵＤ３の一部としてまたはこれに加えて実装される。第２の要件を充足するために、ＮＡＴ５１はサービス・プロキシ（ＳＰ）５２を収容する。サービス・プロキシ５２により、ＮＩＰ２からの要求がＮＡＴ５１を通過させるのを可能にする。次いで、ＮＡＴ５１はこの要求をＥＵＤ３に転送する。このような実装態様の例では、ＬＡＮ内のＵＰｎＰサービスへの遠隔アクセスとなり得る。ＮＡＴ５１、例えばホーム・ゲートウェイおよび／またはルータは、このような種類の遠隔アクセスをサポートすることができ、また、ＳＴＵＮクライアント４５は、ＥＵＤ３に対するＵＰｎＰサービスとして実装することができる。
【００７０】
図１２Ａは、ＳＴＵＮクライアント４５を配備するための第３のセットアップについて示す。図１２Ａに示すようなセットアップでは、ＮＩＰ２からのメッセージはＳＴＵＮ４５に届くことができる。何故ならば、ＳＴＵＮクライアント４５はＮＡＴ５３の一部として実装されるからである。しかしながら、このような実施態様では、先に説明したような追加的な手段をとらない限り、ＳＴＵＮクライアント４５についての第１の要件は充足されない。何故ならば、ＳＴＵＮクライアント４５は、ＮＡＴ５３の背後にはないことになるからである。
【００７１】
図１２Ｂは、図１２Ａに示したＮＡＴ５３の概要図であり、本発明の一実施形態により、ＳＴＵＮクライアント機能性を有するための要件を充足することができる。図１２Ｂは、ＮＡＴ５３は、ＳＴＵＮクライアント４５、ＮＡＴ５３内のＮＡＴの機能性を実際に実行するように構成されるＮＡＴユニット５４、並びにオプションで、ＶｏＩＰアプリケーション、ＶＰＮアプリケーション、ストレージ・アプリケーション、ＩＰＴＶアプリケーション、セキュリティ・アプリケーション、ホーム・オートメーション・アプリケーション、および例えばデバイス上のｗｅｂインタフェースの形態による管理アプリケーションの内の１つ以上を備える。また図１２Ｂに示すように、ＮＡＴ５３は、ＷＡＮに対するインタフェース５７およびＬＡＮに対するインタフェース５８を含む。図示のように、ＮＡＴ５３は、更に、ＩＰパケットをルーティングするように構成されるルーティング機能５６を備える。
【００７２】
ＮＡＴユニット５４は、ネットワーク・アドレス変換を、ルーティング機能５６を介してトラフィックに、インタフェース５８を介してＬＡＮから入来するトラフィックに、およびインタフェース５７を介してＷＡＮに出て行くトラフィックに、並びにその逆方向に適用するように構成される。加えて、ＮＡＴ５３は、該ＮＡＴ５３のＬＡＮ側に、ＳＴＵＮクライアント４５のための仮想ネットワーク・インタフェース５９を備える。仮想ネットワーク・インタフェース５９は、ルーティング機能５６に対し、通常のネットワーク・インタフェースと同様に挙動する。即ち、仮想ネットワーク・インタフェース５９は、ＩＰパケットを送信および受信するのを可能にし、ＩＰアドレスが割り当てられて該ＩＰアドレスを有する。しかしながら、ネットワーク・インタフェース・カードのようなハードウェア片のためのドライバの代替は、仮想ネットワーク・インタフェース５９は、ネットワーク・トラフィックを特定のソフトウェア・アプリケーション、この場合、ＳＴＵＮクライアント４５に届けるドライバである。
【００７３】
仮想ネットワーク・インタフェース５９は、他の如何なるインタフェースとしても構成されなければならない。適切なＮＡＴ検査を可能にするために、インタフェース５９およびルーティング規則は、ＬＡＮインタフェース５８、即ち複数のＬＡＮインタフェースと同じように構成することができ、ＮＡＴユニット５４を通過させて正確なルートでパケットを移動させる。インタフェース５９はまた、例えば、ＬＡＮ側のハードウェア・インタフェース（例えばインタフェース５８）を用いてブリッジ・グループを形成するように構成することができ、この場合、仮想ネットワーク・インタフェース５９およびインタフェース５８は、同一のルーティング設定を使用することになり、つまり、パケットを正確な経路に移動させることになる。
【００７４】
ルーティング機能５６は、ＮＡＴ５３内のＳＴＵＮクライアントとＮＡＴ５３の外部のどこか、おそらくはＷＡＮにあるＳＴＵＮサーバとの間で交換されるメッセージをルーティングするように構成され、その結果、メッセージはＮＡＴユニット５４をトラバースすることができる。このような構成は、ＳＴＵＮクライアント４５がネットワークの観点でＮＡＴの背後にあることを確実にする。何故ならば、ＳＴＵＮクライアント４５がＮＡＴのＬＡＮ側に接続されるＥＵＤに実装されるのと同様のやり方で、ＳＴＵＮクライアント４５とＳＴＵＮサーバ４６の間で交換されるメッセージがＮＡＴユニット５４を介してルーティングされるからである。
【００７５】
様々な実施形態では、ルーティング機能５６は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの２つ以上の如何なる組み合わせで実装することができる。
【００７６】
図１２Ｂの実装では、更なる手段が実装されて、図１０および図１１に関連して説明した例と同様に、ＳＴＵＮクライアント４５がＮＩＰ２によって届くのが可能である。簡単のために、これらの説明は、ここで繰り返さない。
【００７７】
一実施形態では、仮想プライベート・ネットワーク（ＶＰＮ）を生成するのに現在用いられているＬｉｎｕｘ（登録商標）のＴｕｎまたはＴａｐの実装が、仮想ネットワーク・インタフェース５９を実装するのに使用することができる。他の実施態様では、図１２Ｂに説明したように、仮想ネットワーク・インタフェース５９がＮＡＴ５３のＬＡＮ側にあるようにしてルーティング設定がプログラムされる限りにおいて、或る他の仮想ネットワーク・インタフェースの実装はまた、仮想ネットワーク・インタフェース５９を実装するのに用いることもできる。
【００７８】
ＮＡＴ５３上またはＮＡＴ機能性を有する如何なるネットワーク・ノード上におけるＳＴＵＮクライアント４５の実装は、このようなＮＡＴまたはこのようなネットワーク・ノードの背後にある、ローカル・ネットワーク内のＥＵＤ３上のクライアントを実装するのとは対照的であり、ＮＩＰ２によって送信されるメッセージがＳＴＵＮクライアント４５に届くのを可能にし、また、ルーティング・ユニット５６は、ＳＴＵＮクライアント４５がネットワークの観点でＮＡＴの「背後にある」ことを確実にする。このように、ＮＩＰ２は、ＮＡＴ挙動検出を要求し、ＳＴＵＮクライアント４５からＮＡＴ関連情報を取得することができる。その後に、ＮＩＰ２は、適切なＮＡＴ関連情報をローカル・ネットワーク内の端末に提供することが可能となる。提供されるＮＡＴ関連情報は、端末が背後にあるＮＡＴを端末にトラバースさせるのを可能にする。
【００７９】
加えて、ＮＡＴ５３上またはＮＡＴ機能性を有する類似のネットワーク・ノード上におけるＳＴＵＮクライアント４５の実装は、ＮＡＴ挙動検出に利用可能なＮＡＴ５３の背後に端末を有する必要性を除去する。このことは、ＮＡＴ５３が利用可能である限りにおいて、ＮＡＴ５３が「オンライン」であり、スイッチ・オンされると共に接続され、ＮＡＴの検査が即座に実行できることを意味する。
【００８０】
ＮＡＴ自体へのＳＴＵＮクライアント４５の実装と同様に、先に説明したように、ＳＴＵＮサーバ４６は、ＮＡＴ上に実装することもできる。図１３Ａは、本発明の一実施形態により、ＮＡＴ６１の一部としてＳＴＵＮサーバ４６を配備する概略図である。ＮＡＴ６１は、本明細書で説明する如何なる１つＮＡＴ５〜７ともすることができる。
【００８１】
このような実施態様の１つの利点は、ＷＡＮ内にＳＴＵＮサーバ４６を有する必要性を除去することである。ＮＡＴ６１にＳＴＵＮサーバ４６を含めることにより、ＳＴＵＮプロトコルを用いてＮＡＴ関連情報をより素早く判断するのを可能にする。何故ならば、どのＳＴＵＮメッセージもネットワークのＷＡＮ側を移動する必要がなくなるからである。加えて、ＮＡＴ６１は、該ＮＡＴ６１のＷＡＮ部上での実際の接続を必要とすることなく、検査することさえもできる。
【００８２】
更には、各ＮＡＴは、該ＮＡＴに接続されるＬＡＮ内のＥＵＤが使用するためにＳＴＵＮサーバを収容することができるので、この解決策はスケーラブルなものとなる。ＮＡＴ上においてＳＴＵＮサーバ４６を実装するというアイデアは、ＮＡＴまたはＮＡＴを含むホーム・ゲートウェイのような単一のネットワーク・ノードが、通例、このようなネットワーク・ノードの背後にあるＬＡＮ内の比較的少ないＥＵＤがＮＡＴ挙動検出を処理するための十分な処理能力を有するという認識に基づくものである。つまり、ＮＡＴ上におけるＳＴＵＮサーバ４６の実装が、多くの個々の端末にサービス提供する十分な性能を有するＳＴＵＮサーバのような中央のサーバについての必要性を除去する。
【００８３】
図１３Ｂは、本発明の一実施形態により、図１３Ａに示したＳＴＵＮサーバ機能性を実装することができるＮＡＴ６１の概略図である。図１３Ｂでは、例えばＮＡＴユニット５４、アプリケーション６０、ＬＡＮインタフェース５８、およびＷＡＮインタフェース５７のような基本的な構成要素は図１２Ｂのものと同一である。簡単のため、これらの構成要素の説明は、ここでは繰り返さない。
【００８４】
図１３Ｂにも示すように、ＮＡＴ６１は、更に、ＳＴＵＮサーバ４６、ルーティング機能性６２、およびインタフェース６３を含む。図１２Ａに示される仮想ネットワーク・インタフェース５９と同様に、インタフェース６３はまた、仮想ネットワーク・インタフェースであるが、ＮＡＴ６１のＷＡＮ側にある。仮想ネットワーク・インタフェース６３は、インタフェース５９として類似の機能性を含み、図１２Ｂに示されるＳＴＵＮクライアント４５についてのインタフェース５９が構成される方法と同様にして構成されるものの、ＳＴＵＮサーバ４６に届けるのを可能にするのに更なる手段を必要としないという点で異なる。ＳＴＵＮサーバは、通常、ＮＡＴを通じてＳＴＵＮクライアントによってメッセージを送信されるに過ぎず、他の機能のためにＳＴＵＮサーバにアクセス可能とする追加のインタフェースまたは仮想サーバ規則は必要とはしない。ＳＴＵＮサーバは、例えば、ＳＴＵＮサーバそれ自体の遠隔管理のためのインタフェースを有することももちろんできる。
【００８５】
ＮＡＴの仮想ネットワーク・インタフェースをＷＡＮ側上で使用するために、アドレスを割り当てなければならない。このアドレスは、通例、外部ネットワークでルーティング可能なパブリック・アドレスとすることになる。何故ならば、これらは、ＮＡＴのＷＡＮ側で使用されるアドレスだからである。このようなパブリック・アドレスは、通例、ＷＡＮ内でのルーティングの目的のために一意であり、通常は、一度のみ、例えば単一のデバイスに同時に割り当てられる。しかしながら、図１３Ｂに示す実施形態では、トラフィックは、ＮＡＴユニット５４を通じてこのアドレスにルーティングされる。即ち、ＮＡＴユニット５４を収容するノード６１から離れない。このため、同一のパブリック・アドレスを異なるＮＡＴの実装のために同時に使用することができる。また、ＮＡＴ６１上のＳＴＵＮサーバ４６へのトラフィックが外部ネットワークを通過しないので、ＳＴＵＮサーバ４６に割り当てられるアドレスがパブリック・アドレスである必要がない点に留意すべきである。アドレスはまた、ＮＡＴ６１のＬＡＮサイドから発出され、且つ、ＮＡＴのＷＡＮ側におけるＳＴＵＮサーバのこのようなプライベート・アドレスに宛てられるトラフィックが、ＮＡＴユニット５４を実際に通過することになるように構成することができる場合はプライベート・アドレスとすることもでき、即ち、通常は、ＮＡＴのＬＡＮ側で使用することができる。
【００８６】
同一のパブリック・アドレスを様々なＮＡＴのＳＴＵＮサーバに割り当てることはまた、当該同一のパブリック・アドレスを外部ネットワークのＳＴＵＮサーバに実際に割り当てることと組み合わせることができる。ＳＴＵＮクライアントは、次いで、これらの設定内のＳＴＵＮサーバについての当該アドレスを受信することができる。ＳＴＵＮクライアントが背後にあるＮＡＴが図１３Ｂに示すようにＳＴＵＮサーバを実装している場合は、それらのＳＴＵＮ要求は、次いで、そのＳＴＵＮサーバに送られる。ＳＴＵＮクライアントが背後にあるＮＡＴがこのようにしてＳＴＵＮサーバを実装していない場合は、これら要求は、外部ネットワークのＳＴＵＮサーバに自動的にルーティングされることになる。
【００８７】
当業者にとって、このような仮想ネットワーク・インタフェースを使用するために、ルーティング規則がそれに応じて設定される必要があることは、明らかであろう。このことは、仮想ネットワーク・インタフェースおよび実際のネットワーク・インタフェースを収容するブリッジ・グループを生成するか、または、この特定の目的のためのルーティング・テーブルを構成することによるというように、様々なやり方で行うことができる。
【００８８】
ルーティング機能５６と同様に、ルーティング機能６２は、ＮＡＴ６１内のＳＴＵＮサーバ４６と、どこか別のところにあるＳＴＵＮクライアント（但し、ＳＴＵＮクライアントはＮＡＴ６１の背後にあるようにＬＡＮ内にはある）との間で交換されるメッセージをルーティングし、その結果、メッセージがＮＡＴユニット５４をトラバースできるように構成される。
【００８９】
更に別の実施形態では、ＳＴＵＮクライアントおよびＳＴＵＮサーバは共に、ＮＡＴ上に実装することができる。これについては図１４Ａに示される。図１４Ａは、本発明の一実施形態により、ＮＡＴ７０の一部としてＳＴＵＮクライアント４５およびＳＴＵＮサーバ４６を配備する概略図である。図１４Ｂは、本発明の一実施例により、図１４Ａに示すＳＴＵＮクライアントおよびＳＴＵＮサーバの機能性を実装可能なＮＡＴ７０の概略図である。例えば仮想ネットワーク・インタフェース５９，６３で示すように、図１４Ｂは、図１２Ｂおよび図１３Ｂを組み合わせたものである。ＳＴＵＮクライアント４５がＮＡＴ７０のＷＡＮ側から届くのを可能にすることが必要である場合は、やはり、例えば仮想サーバ規則を必要とすることになる。仮想ネットワーク・インタフェースを用いて、ＳＴＵＮクライアント４５およびＳＴＵＮサーバ４６の両方が同一のＮＡＴ上に実装される場合は、ＳＴＵＮ挙動検出は非常に早いものとすることができる。何故ならば、どのＳＴＵＮメッセージもネットワークを実際に移動する必要がないからである。また、検出は如何なる利用可能な接続なしでも尚も実施することができる。即ち、接続が利用可能である場合は、当該接続は、ＮＡＴ検出についてのネットワーク・トラフィックにより負荷を掛けられず、ネットワーク・リソースを他の目的のためにセーブする。
【００９０】
図１２Ａから図１２Ｂ、図１３Ａから図１３Ｂ、および図１４Ａから図１４ＢがそれぞれＮＡＴ５３、ＮＡＴ６１およびＮＡＴ７０として説明する場合であっても、他の実施形態では、デバイス５３，６１，７０は、「本来的な意味では」(per say)、ＮＡＴではなく、例えばホーム・ゲートウェイ、ルータ、またはルータを備えるホーム・ゲートウェイのようなＮＡＴ機能を備える如何なる中間ネットワーク・ノードとすることができる。このようなデバイスでは、ＮＡＴ機能性は、ＮＡＴユニット５４を介して実装されることになる。加えて、デバイス５３，６１，７０の各々は更に、任意として、データおよびコンピュータ・プログラムを格納するメモリ、コンピュータ・プログラムを起動させ、データを処理するプロセッサ、およびメッセージ／データ・トラフィックを送受信するための通信モジュールを少なくとも含むことができる。例えば、ルーティング機能５６，６３，７１は、プロセッサ上で起動するために、メモリに格納されるコンピュータ・プログラムとして実装されることができる。
【００９１】
更にまた、ＮＡＴ５３，６１，７０の機能性について、少なくとも幾らかのＮＡＴについて、種別ごとに基づいてＮＡＴ関連情報を格納し分散するＮＩＰ２を参照して、またこのコンテキストで説明してきた。しかしながら、他の実施形態では、図１２Ａから図１２Ｂ、図１３Ａから図１３Ｂ、および図１４Ａから図１４Ｂで説明したＮＡＴ５３，６１，７０を用いたＮＡＴ挙動検出は、例えば、デバイスごとに基づきＮＡＴ関連情報を格納および分散するように構成される従来型のＮＡＴ情報プロバイダのような、如何なるＮＡＴ情報プロバイダによって採用することができる。
【００９２】
以下の検討について、本明細書において説明される全ての実施形態に適用する。
【００９３】
様々な実施形態では、ＳＴＵＮクライアント４５は、アプリケーションの一部としてもよく、または、ウェブ・ページの一部としてもよい。例えば、ＳＴＵＮクライアント４５は、インターネット・アプリケーション、例えばブラウザまたはインスタント・メッセージング・アプリケーションのためのプラグインとして、または、ウェブ・ページ上のＪａｖａ（登録商標）スクリプトとして実装してもよい。ユーザが特定のウェブ・ページを閲覧するためにＥＵＤを使用するごとに、Ｊａｖａ（登録商標）スクリプト片がダウンロードされ起動されることができる。これは、フォアグランドで実施することができ、例えば、ウェブ・ページはＮＡＴ関連情報を検出する目的で特別に生成することができる。例えば、ＮＩＰ２をホストする運用業者のウェブ・ページである。代替として、Ｊａｖａ（登録商標）スクリプトはまた、他のウェブ・ページの一部とすることができ、スクリプトが起動していることをユーザが認識することのないバックグラウンドで起動することもできる。
【００９４】
更なる実施形態では、ＮＡＴ関連情報が決定される間、状況を監視して該状況を報告する代替として、ＳＴＵＮクライアント４５はこれら状況に能動的に影響を及ぼすように構成することができる。例えば、ＳＴＵＮクライアント４５は、複数のセッションをセットアップし、または、ネットワーク負荷を付加することにより、複数のセッションまたは大きなネットワーク負荷の状況の間のＮＡＴ挙動を決定するように構成することができる。
【００９５】
本明細書に説明する実施形態は主に、既存のＳＴＵＮクライアントを用いて、決定の瞬間に存在する状況ではＳＴＵＮクライアントが背後にあるという、ＮＡＴのＮＡＴ関連情報を決定することを処理するものである。しかしながら、ＳＴＵＮクライアント４５に類似するＳＴＵＮクライアントはまた、要求に応じて配備することもできる。このようなＳＴＵＮクライアントは、ＴＲ−０６９を用いて、ＯＳＧｉｉフレームワークを用いて、または、ＳＴＵＮクライアント・ソフトウェアをＮＡＴに搬送して該ＮＡＴ上にインストールするための幾らかの他の手段を用いて、例えば、ＥＵＤまたはＮＡＴに配備することができる。必要に応じてＳＴＵＮクライアントを実装することは、ＳＴＵＮクライアントが、例えば、ＮＡＴがエンド・ユーザに使用されない夜間帯、または他の低い利用量の時間の間にリソースを取り上げる(take up)のみとなるという利点を供することができる。このようなＮＡＴクライアントは、ＮＡＴおよび／またはＥＵＤが別の目的で使用されたら削除することができ、即ち、別のアイドル期間まで、非アクティブになるのを除いて実装されたままとすることができる。
【００９６】
更に、おそらくは先に説明した手段に加えて、ＮＩＰ２がＮＡＴ関連情報を取得することができる様々な他のオフラインの手段がある。一実施形態では、ＮＡＴの製造業者はこの情報を供給することができる。他の例では、ＮＡＴは、様々な種類の状況がシミュレーションまたは複製することができる検査環境において検査することができる。これは、ＳＴＵＮプロトコルを用いて行うことができるが、また、ＮＡＴの両端のネットワーク・スニッファを使用して、次いで、ＮＡＴを通過して異なるＩＰアドレスおよびポートとの間で行き来する様々なメッセージを検査して行うこともできる。更なる他の例では、ＮＡＴ挙動は、ＮＡＴの実装における実際のコードの解析によって推測することができる。このコードは、例えば、オープンソースであるか、または製造業者によって供給されるかのいずれかであることを利用として利用可能とすることができ、またはＮＡＴのリバース・エンジニアリングを通じて抽出可能である。特定のデバイス種別のＮＡＴ挙動はまた、そのデバイス種別が幾らかの他の特定のデバイス種別と同一のＮＡＴ実装を用いる場合に、例えば、同一のＬｉｎｕｘ（登録商標）のｉｐテーブル・バージョンに基づいて同一の設定を用いる場合に、推測することもできる。
【００９７】
様々な実施形態では、各ＮＡＴ５〜７、ＳＴＵＮクライアント４５、および／またはＳＴＵＮサーバ４６は、ソフトウェア、ハードウェア、ファームウェア、またはこれらの如何なる２つ以上の組も合わせで実装することができる。
【００９８】
本明細書において説明するＮＩＰ２は、単一のエンティティとして説明される。実際のところ、しばしばスケーラビリティのために、ＮＩＰ２は、例えば分散した態様で、共に機能するように構成される２つ以上の様々なエンティティとして実装することができる。これは、例えば、数多くのエンド・デバイスをそれぞれサービス提供する複数のエンティティによって、複数の物理エンティティの上の仮想化レイヤを有すると共に、その上のＮＩＰ即ち「クラウド・サービス」としてのＮＩＰを有することにより、および所定の場所に負荷共有または負荷分散の機構を有すること等により行うことができる。
【００９９】
本発明の一実施形態は、コンピュータ・システム用と共に用いるためのプログラム製品として実装することができる。プログラム製品のプログラム（１または複数）は、（本明細書において説明した方法を含む）実施形態における機能を規定し、様々な、好ましくは非一時的な、コンピュータ可読ストレージ媒体上に収容することができる。例示のコンピュータ可読ストレージ媒体は、以下を含むが、これに限定されない。即ち、（ｉ）情報が永続的に格納される非書込可能ストレージ媒体（例えば、ＣＤ−ＲＯＭドライブによって読み出し可能なＣＤ−ＲＯＭディスク、ＲＯＭチップ、または如何なる種別のソリッド・ステート非一時的半導体メモリのようなコンピュータ内のリード・オンリ・メモリ・デバイス）、および（ｉｉ）変更可能な情報が格納される書込可能ストレージ媒体（例えば、ディスケット・ドライブ若しくはハードディスク・ドライブ内のフロッピー（登録商標）・ディスク、または如何なる種別のソリッド・ステート・ランダム・アクセス半導体メモリ、フラッシュメモリ）である。コンピュータ・プログラムは、本明細書において説明した処理ユニット上で起動させることができる。
【図１】
2015501111.tif 000003
【図２】
2015501111.tif 000004
【図３】
2015501111.tif 000005
【図４】
2015501111.tif 000006
【図５】
2015501111.tif 000007
【図６Ａ】
2015501111.tif 000008
【図６Ｂ】
2015501111.tif 000009
【図６Ｃ】
2015501111.tif 000010
【図７】
2015501111.tif 000011
【図８Ａ】
2015501111.tif 000012
【図８Ｂ】
2015501111.tif 000013
【図９】
2015501111.tif 000014
【図１０】
2015501111.tif 000015
【図１１】
2015501111.tif 000016
【図１２Ａ】
2015501111.tif 000017
【図１２Ｂ】
2015501111.tif 000018
【図１３Ａ】
2015501111.tif 000019
【図１３Ｂ】
2015501111.tif 000020
【図１４Ａ】
2015501111.tif 000021
【図１４Ｂ】
2015501111.tif 000022
【手続補正書】
【提出日】平成26年8月18日(2014.8.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク・ノードであって、
ネットワーク・アドレス変換器（ＮＡＴ）と、
１つ以上のメッセージをサーバと交換することにより、前記ＮＡＴについてのＮＡＴ関連情報を決定するように構成されるクライアントと、
前記クライアントおよび前記サーバの間で前記ＮＡＴを介して交換された前記１つ以上のメッセージをルーティングするように構成されるルーティング・ユニットと、
を備える、ネットワーク・ノード。
【請求項２】
前記ＮＡＴについて前記決定されたＮＡＴ関連情報をＮＡＴ情報プロバイダ（ＮＩＰ）に提供する通信モジュールを更に備える、請求項１記載のネットワーク・ノード。
【請求項３】
前記ＮＡＴ関連情報が、前記ＮＩＰからの前記ＮＡＴ関連情報を決定する要求を受信したのに応答して決定される、請求項２記載のネットワーク・ノード。
【請求項４】
請求項１または２記載のネットワーク・ノードにおいて、前記ＮＡＴ関連情報が、所定の時間、所定の時間期間の満了、当該ネットワーク・ノードのブートアップ手続、当該ネットワーク・ノードがローカル・ネットワークに接続されたこと、当該ネットワーク・ノードが外部ネットワークに接続されたこと、当該ネットワーク・ノードが前記ローカル・ネットワークの変更に関する指標を受信したこと、および／または当該ネットワーク・ノードが前記外部ネットワークの変更に関する指標を受信したこと、について示すトリガに少なくとも部分的に基づいて決定される、ネットワーク・ノード。
【請求項５】
請求項１〜４のいずれか一項記載のネットワーク・ノードにおいて、前記ＮＡＴ関連情報が、
前記ＮＡＴユニットにより使用される現在のポート、
前記ＮＡＴについての現在のワイド・エリア・ネットワーク・インターネット・プロトコルのアドレス、
前記ＮＡＴについての現在の仮想サーバ規則、
前記ＮＡＴについてのポート・マッピングの挙動、
前記ＮＡＴについてのフィルタリングの挙動、
前記ＮＡＴによるヘアピンについてのサポート、
前記ＮＡＴに実装される１つ以上のポート割り当てアルゴリズム、
前記ＮＡＴにおけるＮＡＴバインディングについてのタイムアウト値、
輻輳の間、ネットワーク・トラフィックの混雑の間、複数の同時セッションの間、および／または複数の同時ＮＡＴバインディングの間におけるＮＡＴの挙動
の内の１つ以上を含む、ネットワーク・ノード。
【請求項６】
前記サーバが当該ネットワーク・ノード内に含まれる、請求項１〜５のいずれか一項記載のネットワーク・ノード。
【請求項７】
前記ＮＡＴを介して前記１つ以上のメッセージを通過させるように構成される仮想ネットワーク・インタフェースを用いて、前記１つ以上のメッセージがルーティングされる、請求項１〜６のいずれか一項記載のネットワーク・ノード。
【請求項８】
前記仮想ネットワーク・インタフェースがブリッジ・グループの一部である、請求項７記載のネットワーク・ノード。
【請求項９】
前記１つ以上のメッセージがＳＴＵＮプロトコルに従って交換される、請求項１〜８のいずれか一項記載のネットワーク・ノード。
【請求項１０】
当該ネットワーク・ノードがホーム・ゲートウェイおよび／またはルータを備える、請求項１〜９のいずれか一項記載のネットワーク・ノード。
【請求項１１】
コンピュータ・プログラムであって、前記ＮＡＴと、１つ以上のメッセージをサーバと交換することによって少なくとも１つのネットワーク・アドレス変換器（ＮＡＴ）についてのＮＡＴ関連情報を決定するように適合されたクライアントとを備えるネットワーク・ノードのプロセッサによって実行されると、前記ＮＡＴを介して前記クライアントと前記サーバの間で交換される１つ以上のメッセージをルーティングするように構成されるソフトウェア・コード片を有するコンピュータ・プログラム。
【請求項１２】
請求項１〜１０のいずれか一項記載の前記ネットワーク・ノードと共に用いるためのＮＡＴ情報プロバイダであって、少なくとも、
前記ネットワーク・ノードから前記ＮＡＴ関連情報を受信し、
前記ネットワーク・ノードに具備される前記ＮＡＴのＮＡＴタイプについての識別情報に関連付けて格納されたＮＡＴ関連情報をデータベースに格納する
ように構成される、ＮＡＴ情報プロバイダ。
【請求項１３】
要求を前記ネットワーク・ノードに提供して、前記ネットワーク・ノードに具備される前記ＮＡＴについての前記ＮＡＴ関連情報を決定するように更に構成される、請求項１２記載のＮＡＴ情報プロバイダ。
【請求項１４】
請求項１２または１３記載のＮＡＴ情報プロバイダであって、更に、
第１のローカル・ネットワーク内の第１のデバイスから、前記ネットワーク・ノードに具備される前記ＮＡＴの前記ＮＡＴタイプと同一のＮＡＴタイプを有するＮＡＴについてのＮＡＴ関連情報の要求を受信し、
前記ＮＡＴタイプの識別情報に基づいて前記データベースから前記ＮＡＴ関連情報を選択すると共に、該選択したＮＡＴ関連情報を前記第１デバイスに提供する
ように構成される、ＮＡＴ情報プロバイダ。
【請求項１５】
請求項１４記載のＮＡＴ情報プロバイダであって、更に、
第２のローカル・ネットワーク内の第２のデバイスから、前記ネットワーク・ノードに具備される前記ＮＡＴの前記ＮＡＴタイプと同一のＮＡＴタイプを有するＮＡＴについてのＮＡＴ関連情報の要求を受信し、
前記ＮＡＴタイプの識別情報に基づいて前記データベースから前記ＮＡＴ関連情報を選択すると共に、該選択したＮＡＴ関連情報を前記第２デバイスに提供する
ように構成される、ＮＡＴ情報プロバイダ。
【国際調査報告】
2015501111.tif 000023
2015501111.tif 000024
2015501111.tif 000025