(57)【要約】      （修正有）【課題】実質的に全てのＩＰｖ４アドレス範囲を内部使用できるようにし、外部ホストに対して透過的で、内部機器に対して非常に透過的なアドレス指定を提供する。【解決手段】システム、装置および方法は、通信プロトコル（例えばＩＰｖ４）によって指定されると、プライベートアドレス範囲の外側にある内部ネットワークあるいはプライベートネットワークの中でネットワークアドレスの使用を可能にする。装置および方法は、ローカルアドレス空間に一部重複するネットワークアドレスを有していてもよい外部演算処理装置との通信を促進する目的で、プレースホルダーアドレスの使用のために、構成されている。【選択図】図２
2019176511.tif 000002
【特許請求の範囲】
【請求項１】
プライベートネットワーク内のクライアントと、外部ネットワークにあるサーバとの間の通信を介するネットワーク機器であって、
前記ネットワーク機器は、
前記プライベートネットワーク内にあるクライアントからの名前解析要求メッセージに対するグローバルアドレスまたは外部アドレスと、プレースホルダネットワークアドレスとの写像のデータストアを保持しており、
前記クライアントから、前記サーバの宛先アドレスとして前記プレースホルダネットワークアドレスを含む要求メッセージを受け付けると、前記写像を使用して前記宛先アドレスを変換して、前記サーバに前記要求メッセージを送り、
前記サーバから前記要求メッセージに対する応答メッセージを受け付けると、前記写像を使用して、前記サーバのグローバルアドレスまたは外部アドレスを、前記プレースホルダネットワークアドレスに変換して、前記クライアントに前記応答メッセージを送り、
前記プレースホルダネットワークアドレスは、
ＩＰｖ４アドレス空間でプライベートアドレスとして割り当てられた範囲以外のアドレスを含むＩＰｖ４アドレス空間の範囲から指定されており、
前記サーバをプライベートアドレス空間において一意に識別可能である、
ことを特徴とするネットワーク機器。
【請求項２】
前記ネットワーク機器は、
名前解析機器から、前記名前解析要求メッセージにおける記号名に対するグローバルアドレスまたは外部アドレスと、プレースホルダネットワークアドレスとの写像を受け付けることで保持する、
ことを特徴とする請求項１に記載のネットワーク機器。
【請求項３】
ある電子システムで、ある演算処理装置のネットワークアドレスに関連した記号名を解析するための依頼を受信するステップ、
前記演算処理装置に関連したローカル・ネットワーク・アドレスを決定するステップであって、このローカル・ネットワーク・アドレスが、ある外部ネットワークアドレス空間に関連した割り当て済みローカル・ネットワーク・アドレス範囲の内側にあるステップ、
前記ローカル・ネットワーク・アドレスと、前記演算処理装置に関連した前記ネットワークアドレスの写像とを決定するステップ、および
前記ローカル・ネットワーク・アドレスと、前記演算処理装置に関連した前記ネットワークアドレスの前記写像とを送信するステップを含んでいる方法。
【請求項４】
ある電子システムのあるポートで、あるローカル・ネットワーク・アドレスと、ある演算処理装置に関連したあるネットワークアドレスの写像とを受信するステップであって、
前記ローカル・ネットワーク・アドレスは、あるグローバル・ネットワーク・アドレス空間に関連した割り当て済みローカル・ネットワーク・アドレス範囲の内側にあるステップ、
前記ローカル・ネットワーク・アドレスが含まれる依頼を受信するステップ、
前記依頼を、前記ローカル・ネットワーク・アドレスと、前記演算処理装置に関連した前記ネットワークアドレスの前記写像とに基づいて、前記演算処理装置に関連した前記ネットワークアドレスへ送信するステップ、
前記演算処理装置からの応答を受信するステップ、
前記応答を、前記ローカル・ネットワーク・アドレスと、前記演算処理装置に関連した前記ネットワークアドレスの前記写像とに基づいて、前記ローカル・ネットワーク・アドレスで修正するステップ、および修正された前記応答を送信するステップを含んでいる方法。
【請求項５】
ある演算処理装置のあるネットワークアドレスに関連した記号名を解析するための要求を処理するために構成された名前解析モジュール、
前記演算処理装置に関連したあるローカル・ネットワーク・アドレスと、前記演算処理装置に関連したある外部ネットワークアドレスの写像とを決定するために構成された写像作成モジュール、および前記写像作成モジュールによって決定された前記写像に基づいて依頼を処理するために構成された翻訳モジュールを備えており、
前記ローカル・ネットワーク・アドレスは、プライベート・インターネットプロトコル・バージョン４であるプライベートＩＰｖ４のアドレス範囲の外側にある、
ことを特徴とするシステム。
【請求項６】
ある伝達情報を、第１装置から、第２装置のためのアドレスを依頼するアドレス解析・写像作成システムまで送信するステップであって、前記アドレス解析・写像作成システムは、第１ネットワークの内部でアドレス指定することのできる前記第１装置と第２ネットワークの内部でアドレス指定することのできる第２装置との間に通信リンクを確立するために構成されており、前記第１ネットワークおよび前記第２ネットワークは、前記第１ネットワークの内部でアドレス指定することができるとともに前記第２ネットワークの内部でアドレス指定することができる前記アドレス解析・写像作成システムによって通信可能にリンクされるステップ、
前記アドレス解析・写像作成システムで、前記第２装置について前記第２ネットワークの中のアドレスを解析するステップ、
前記アドレス解析・写像作成システムで、前記第１ネットワークの内部で第１写像作成可能アドレスを割り当てるステップ、
前記アドレス解析・写像作成システムで、前記第１写像作成可能アドレスを備えた前記第１装置に応答するステップ、
前記アドレス解析・写像作成システムで、前記第１写像作成可能アドレスと解析済みのアドレスとの間に第１写像を作成するステップ、
前記アドレス解析・写像作成システムで、前記第２ネットワークの内側で第２写像作成可能アドレスを割り当てるステップ、および
前記アドレス解析・写像作成システムで、前記第２写像作成可能アドレスと前記第１ネットワークの内部の前記第１装置におけるあるアドレスとの間に第２写像を作成するステップであって、前記第１装置から前記第２装置までの前記第１ネットワークにおける伝達情報が、前記第１装置の前記アドレスから前記第１写像作成可能アドレスまでアドレス指定され、また、前記第２装置から前記第１装置までの前記第２ネットワークにおける伝達情報が、前記第２装置におけるあるアドレスから前記第２写像作成可能アドレスまでアドレス指定されるステップを含んでいる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照により本明細書に組み込まれる、２０１３年１１月１３日に出願の米国仮特許出願第６１／９０３，８８３号「ネットワーク通信」の利益と優先権を主張する。
【背景技術】
【０００２】
インターネットプロトコルバージョン４（ＩＰｖ４）は、トラフィックをインターネット経由でルーティングするために使用されるアドレス指定方法の１つである。通信プロトコルは、通信ネットワーク上の各機器に割り当てられた各識別子を使用できる。識別子の数は特定範囲に限定され得る。例えば、インターネットプロトコルバージョン４（ＩＰｖ４）は、通信ネットワーク上の機器の識別子のために３２ビットのアドレス空間を使用する。
【０００３】
残念なことに、使用する識別子の数が限られているということは識別子を使い果たす可能性があることを意味し、これにより様々な問題が生じる。ＩＰｖ４が持つ一意アドレスは理論上約４０億個に限られる。当然ながら、１７，８９１，３２８個のアドレス（またはＩＰｖ４の一意ＩＰアドレスの約０．４％）（ＲＦＣ１９１８に準拠）はプライベートネットワークのアドレス指定に使用するために確保されている。これ以外のアドレスは、インターネット上の機器などのパブリックアクセスが可能な機器に割り当てられる。このようにネットワークを割り当てる理由は、インターネット上の機器とプライベートネットワーク上の機器との間でアドレスが競合しないようにするためである。
【０００４】
インターネットに接続された機器や、スマートフォンおよびタブレットを含むモバイル機器の使用が急速に増加していることで、プライベートネットワークアドレス指定に割り当てるアドレスの数が不足してきている。例えば、大規模サービスプロバイダはプライベートネットワークＩＰアドレスを使い果たす可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プライベートネットワークアドレス指定に使用するべく割り当てられた識別子の範囲外にある識別子を、プライベートネットワーク上で使用できるようにする解析法への必要となった。実施形態は、実質的に全てのＩＰｖ４アドレス範囲を内部使用できるようにする。実施形態は、外部ホストに対して透過的で、内部機器に対して非常に透過的なアドレス指定を提供することが可能である。例えば、外部ホストのアドレスを内部機器から隠して、アドレス競合を避けることができる。実施形態は、グローバルＩＰｖ４アドレス範囲を圧縮または置き換えて、ローカルネットワークスコープ内のより小規模なプレースホルダ範囲とすることで、内部またはプライベートネットワーク内の実質的に全てのＩＰｖ４アドレス範囲（プレースホルダ範囲のものを除く）を、ローカル／グローバルアドレス指定の競合の恐れなく使用できるようにする。実施形態は、外部グローバルアドレス範囲を小規模なローカルスコーププレースホルダ範囲に写像作成することができる。実施形態は、ネットワークアドレス変換（ＮＡＴ）ベースの境界変換によりサポートされる。いくつかの実施形態では、ＮＡＴ技術およびドメイン名システム（ＤＮＳ）技術を、内部ネットワーク内の実質的に全てのＩＰｖ４アドレス範囲（プレースホルダ範囲を除く）を使用するように拡大している。
【課題を解決するための手段】
【０００６】
或る実施形態は、名前解析要求を処理する方法に関する。この方法は、演算処理装置のネットワークアドレスに対応付けられた記号名を解析する要求を電子システムで受信することと、演算処理装置に対応付けられたローカル・ネットワーク・アドレスを決定することとを含む。ローカル・ネットワーク・アドレスは、外部ネットワークアドレス空間に対応付けられて割り当てられたローカル・ネットワーク・アドレス範囲内にあってよい。いくつかの実施形態では、演算処理装置に対応付けられた記号名を解析する要求は、プライベートインターネットプロトコルバージョン４（ＩＰｖ４）アドレス範囲外のネットワークアドレスを持つ別の演算処理装置から受信される。いくつかの実施形態では、演算処理装置のネットワークアドレスに対応付けられた記号名を解析する要求は、ドメイン名サービス（ＤＮＳ）機器で受信される。いくつかの実施形態では、演算処理装置に対応付けられたネットワークアドレスはグローバルネットワークアドレスである。いくつかの実施形態では、演算処理装置に対応付けられたローカル・ネットワーク・アドレスはプライベートネットワークアドレス範囲外にある。いくつかの実施形態では、外部ネットワークアドレス空間はインターネットプロトコルバージョン４（ＩＰｖ４）アドレス空間であり、ローカル・ネットワーク・アドレスはプライベートＩＰｖ４アドレス範囲外にある。
【０００７】
この方法は、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とを決定することと、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスとの写像を送信することとをさらに含む。いくつかの実施形態では、「送信すること」は、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とをネットワーク機器へ送信することを備える。いくつかの実施形態では、ネットワーク機器はゲートウェイ機器である。
【０００８】
別の実施形態は、通信要求の処理方法に関する。この方法は、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とを電子システムのポートにて受信することと、ローカル・ネットワーク・アドレスを備えた要求を受信することとを含む。ローカル・ネットワーク・アドレスは、グローバルネットワークアドレス空間に対応付けられて割り当てられたローカル・ネットワーク・アドレス範囲内にある。この方法は、ローカル・ネットワーク・アドレスを求める要求を外部インターフェースネットワークアドレスで修正することをさらに含んでよい。いくつかの実施形態では、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とはＤＮＳ機器から受信される。いくつかの実施形態では、電子システムはネットワーク機器である。いくつかの実施形態では、ネットワーク機器はデータパケットをルーティングするように構成されている。いくつかの実施形態では、ローカル・ネットワーク・アドレスは、プライベートインターネットプロトコルバージョン４（ＩＰｖ４）アドレス範囲外にある。いくつかの実施形態では、演算処理装置に対応付けられたネットワークアドレスはグローバルＩＰｖ４アドレス空間内にある。
【０００９】
この方法は、演算処理装置に関連付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とに基づいて、演算処理装置に対応付けられたネットワークアドレスへ要求を「送信すること」と、演算処理装置から応答を受信することとをさらに含む。この方法は、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とに基づき、応答をローカル・ネットワーク・アドレスで修正することと、修正済みの応答を送信することとをさらに含む。
【００１０】
別の実施形態は、名前解析および写像作成のためのシステムに関する。このシステムは、演算処理装置のネットワークアドレスに対応付けられた記号名を解析するために要求の処理を行うように構成された名前解析モジュールと、演算処理装置に対応付けられたローカル・ネットワーク・アドレスと演算処理装置に対応付けられた外部ネットワークアドレスとの写像を、記号名に基づいて決定するように構成された写像作成モジュールとを含む。このシステムは、写像作成モジュールが決定した写像に基づいて要求を処理するように構成された変換モジュールをさらに含んでよい。いくつかの実施形態では、ローカル・ネットワーク・アドレスは、プライベートインターネットプロトコルバージョン４（ＩＰｖ４）のアドレス範囲外にある。いくつかの実施形態では、演算処理装置のネットワークアドレスはグローバルＩＰｖ４のアドレス空間内にある。
【００１１】
いくつかの実施形態では、システムは、プライベートＩＰｖ４アドレス空間外のローカルアドレス空間からの、ＩＰｖ４アドレス空間についての要求を処理するように構成されたプロキシモジュールをさらに含む。いくつかの実施形態では、システムは、プライベートＩＰｖ４アドレス空間外の第１ローカルアドレス空間からの、プライベートＩＰｖ４アドレス空間外の第２ローカルアドレス空間についての要求を処理するように構成されたピアツーピアモジュールをさらに含む。
【００１２】
別の実施形態は、通信リンクの確立方法に関する。この方法は、第２機器のアドレスを要求する通信を、第１機器からアドレス解析および写像作成システムへ送信することを含む。いくつかの実施形態では、アドレス解析および写像作成システムは、第１ネットワーク内でアドレス指定可能な第１機器と、第２ネットワーク内でアドレス指定可能な第２機器との間の通信リンクを確立するように構成されている。いくつかの実施形態では、第１ネットワークと第２ネットワークは、第１ネットワークおよび第２ネットワーク内でアドレス指定可能なアドレス解析および写像作成システムによって通信可能にリンクしている。この方法は、アドレス解析および写像作成システムにより、第２ネットワーク内の第２機器のアドレスを解析することと、アドレス解析および写像作成システムによって、第１ネットワーク内で第１写像作成可能アドレスを割り当てることとをさらに含む。この方法は、アドレス解析および写像作成システムにより、第１写像作成可能アドレスを持つ第１機器へ応答することと、アドレス解析および写像作成システムにより、第１写像作成可能アドレスと解析済みのアドレスとの間の第１写像を作成することとをさらに含む。この方法は、アドレス解析および写像作成システムにより、第２ネットワーク内で第２写像作成可能アドレスを割り当てることと、アドレス解析および写像作成システムにより、第２写像作成可能アドレスと第１ネットワーク内の第１機器のアドレスとの間の第２写像を作成することとをさらに含む。いくつかの実施形態では、第１機器から第２機器への第１ネットワーク上の通信は、第１機器のアドレスから第１写像作成可能アドレスへ宛てられる。いくつかの実施形態では、第２機器から第１機器への第２ネットワーク上の通信は、第２機器のアドレスから第２写像作成可能アドレスへ宛てられる。
【００１３】
これらおよび様々な他の特徴と利点は、以降の詳細な説明を読解することで明らかとなる。
【図面の簡単な説明】
【００１４】
添付の図面の図中において実施形態は限定ではなく実施例の方法で示され、図面中、同様の参照符号は類似の要素を参照する。
【００１５】
【図１Ａ】いくつかの実施形態による例示的なオペレーティング環境を示す。
【００１６】
【図１Ｂ】いくつかの実施形態による別の例示的なオペレーティング環境を示す。
【００１７】
【図２】いくつかの実施形態による名前解析中の例示的な通信を示す。
【００１８】
【図３】いくつかの実施形態による通信要求中の例示的な通信を示す。
【００１９】
【図４】いくつかの実施形態による、別のネットワークからの通信要求中の例示的な通信を示す。
【００２０】
【図５】いくつかの実施形態による、埋め込み型ネットワークアドレスを使った例示的な通信を示す。
【００２１】
【図６】いくつかの実施形態によるピアツーピア通信中における例示的な通信を示す。
【００２２】
【図７】いくつかの実施形態による、名前解析要求を処理する工程の例示的なフロー図を示す。
【００２３】
【図８】いくつかの実施形態による、別のネットワークへの通信要求を処理する工程の例示的なフロー図を示す。
【００２４】
【図９】いくつかの実施形態による、別のネットワークへの、埋め込み型ネットワークアドレスを備えた通信要求を処理する工程の例示的なフロー図を示す。
【００２５】
【図１０】いくつかの実施形態による、ピアツーピア通信を処理する工程の例示的なフロー図を示す。
【００２６】
【図１１】いくつかの実施形態による、通信リンクを確立する工程の例示的なフロー図を示す。
【００２７】
【図１２】いくつかの実施形態による例示的なコンピュータシステムのブロック図を示す。
【００２８】
【図１３】いくつかの実施形態による、コンピュータシステムの別の例示的なブロック図を示す。
【発明を実施するための形態】
【００２９】
次に、様々な実施形態を詳細に参照するが、その実施例は添付の図面に示されている。主張される実施形態は様々な実施形態と共に説明されるが、これらの様々な実施形態は実施形態の範囲を限定することを意図しない。反対に、主張される実施形態は、添付の請求項の範囲に含まれ得る代替、修正、等価物の網羅を意図する。さらに、以降の様々な実施形態の詳細な説明では、主張された実施形態を完全に理解するために多数の具体的な詳細が述べられている。しかし、主張される実施形態はこれらの具体的な詳細を用いなくても実施できることが当業者には明白となるだろう。別の例では、周知の方法、手順、コンポーネント、回路については、主張される実施形態の態様を不要に不明瞭にしないように、詳細な説明を省いている。
【００３０】
以降の詳細な説明のいくつかの部分は、手順、論理ブロック、工程、および、その他のコンピュータメモリ内のデータビットに対する演算の記号表示に関して示されている。これらの説明および表示は、データ処理分野の当業者が自身の製作物の内容を他の当業者に最も効果的に伝達するために使用する手段である。本出願では、手順、論理ブロック、工程などは、所望の結果へ導くための操作またはステップまたは命令の一貫したシーケンスとして考えられる。操作またはステップは物理量の物理的操作を利用するものである。必ずしもそうではないが通常は、これらの物理量は、コンピュータシステムまたは演算処理装置内での記憶、転送、組み合わせ、比較、あるいは操作することが可能な電気または磁気信号の形態にある。主に一般的な使用の理由から、これらの信号をトランザクション、ビット、値、要素、記号、文字、サンプル、画素などと言及することは便宜的であると折に触れ証明されている。
【００３１】
しかし、これらおよび類似の用語は適切な物理量に関連付けられるものであり、またこれらの物理量に付与された単なる便宜的な標識でしかないことに留意すべきである。以降の説明から明白なように、特に記載がない限りは本開示をとおし、「受信する」、「コンバートする」、「伝送する」、「記憶する」、「決定する」、「送信する」、「問い合わせる」、「提供する」、「アクセスする」、「対応付ける」、「構成する」、「開始する」、「カストマイズする」、「写像作成する」「修正する」などの用語を用いた説明は、コンピュータシステムあるいは類似の電子演算処理装置またはプロセッサの動作および処理に言及するものと理解される。コンピュータシステムまたは類似の電子演算処理装置は、コンピュータシステムメモリ、レジスタまたはその他の情報記憶装置、送信機器、表示機器内において物理（電子）量として示されたデータの操作および変換を行う。
【００３２】
本システムおよび方法は様々なアーキテクチャおよび構成にて実現できることが理解される。例えば、本システムおよび方法は分散コンピューティング環境、クラウドコンピューティング環境、クライアントサーバ環境などの一部として実現できる。本明細書中で述べる実施形態は、１つ以上のコンピュータ、演算処理装置、またはその他の機器で実行されるプログラムモジュールのような何らかの形態をしたコンピュータ可読記憶媒体上に常駐しているコンピュータ実行可能な命令の一般的な文脈で説明できる。非限定的な例として、コンピュータ可読記憶媒体はコンピュータ記憶媒体および通信媒体を備えてよい。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データタイプを実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。様々な実施形態において望ましいように、プログラムモジュールの機能性を組み合わせたり分散したりすることができる。
【００３３】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータといった情報を記憶する任意の方法または技術において実現される、揮発性、不揮発性、取り外し可能、取り外し不能な媒体を含むことができる。コンピュータ記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電気的に消去および書き換えが可能なＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、またはその他のメモリ技術、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ）またはその他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは、所望の情報の記憶に使用でき、その情報を取り出すべくアクセス可能なあらゆるその他の媒体を非限定的に含むことができる。
【００３４】
通信媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、または、搬送波などの変調データ信号内あるいは他の移送機構内のその他のデータを具体化でき、さらに、任意の情報伝送媒体を含むことができる。用語「変調データ信号」は、信号内の情報を符号化する方式にて設定または変更された特徴を１つ以上持つ信号を意味する。非限定的な例として、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体と、音響、無線周波数（ＲＦ）、赤外線、その他の無線媒体などの無線媒体とを含むことができる。上述の任意の組み合わせも「コンピュータ可読記憶媒体」の範囲に含まれる。
【００３５】
プライベートネットワーク上の機器に対応付けした識別子を、プライベートアドレス指定での使用に割り当てられた識別子範囲外で使用できるようにする解析法が必要となった。さらに、プライベートアドレス範囲外のネットワークアドレスで外部ネットワークとプライベートネットワーク間の通信を可能にする必要がある。例えば、プライベートアドレス範囲は、ＲＦＣ１９１８（http://tools.ietf.org/html/rfc1918より入手可）に規定されたインターネットプロトコルバージョン４（ＩＰｖ４）の一部であってよい。
【００３６】
数に限りのある内部ネットワークアドレスの問題を解析するこうした方法の１つは、１２８ビットのアドレスを用いることで２１２８個または約３．４×１０３８個のアドレスを可能にした、ＩＰバージョン６（ＩＰｖ６）を使用することである。しかし、インターネット上のほとんどの機器はＩＰｖ４アドレス指定用に設計されており、また典型的にＩＰｖ６機器は高額である。そのために相当なコストがかかり、ＩＰｖ６へ移行することへの抵抗が生じてしまう。
【００３７】
本実施形態により、実質的にＩＰｖ４アドレス範囲の全てを内部使用に用いることが可能になる。これらの実施形態は、外部ホストに対して透過的で、内部機器に対して非常に透過的なアドレス指定を提供できる。例えば、アドレス競合を避けるために外部ホストを内部機器から見えないように隠してもよい。実施形態を、グローバルなＩＰｖ４アドレス範囲をローカルネットワークスコープ内のより小さいプレースホルダ範囲に圧縮するかこれで置き換えるように構成することで、実質的に全てのＩＰｖ４アドレス範囲（プレースホルダ範囲以外）を内部またはプライベートネットワーク内で、ローカル／グローバルアドレス指定が競合する危険性なく使用できるようになる。実施形態は、外部グローバルアドレス範囲をより小規模なローカルスコーププレースホルダ範囲に写像作成することができる。実施形態はＮＡＴベースの境界変換でサポートすることができる。いくつかの実施形態では、ＮＡＴおよびＤＮＳ技術を、内部ネットワーク内の実質的に全てのＩＰｖ４アドレス範囲（プレースホルダ範囲以外）の使用をサポートするように拡張している。
【００３８】
グローバルＩＰｖ４アドレス空間にはサーバがまばらに存在しており、この空間には主に識別ＤＮＳ名でアクセスされることに留意する。そのため実施形態は、このまばらに存在するサーバを、特定のネットワークスコープ内の小規模なＩＰｖ４ネットワーク範囲（例えばプライベートネットワークアドレススコープ、内部ネットワークアドレススコープなど）に写像作成し、残りのＩＰｖ４アドレス空間を他の用途のために空けることで、アドレスの使用を最適化できる。
【００３９】
実施形態は、内部ネットワーク（例えばＩＰｖ４に基づく内部ネットワーク）に使用できるアドレス空間を拡大するように構成できる。ＩＰｖ４アドレスは、パブリックアドレス指定が可能な空間とプライベートアドレス指定が可能な空間との間に割り当てられるため、プライベート機器とパブリック機器に異なるＩＰアドレスを割り当て競合してしまう事態が防止される。実施形態は、プライベートアドレス空間とパブリックアドレス空間との間を離隔させることで、実質的にアドレス範囲全体をプライベートネットワークに利用できるようにする。
【００４０】
いくつかの実施形態では、プライベートネットワーク内の機器に、実質的に全てのアドレス範囲（例えばＩＰｖ４のもの）からアドレスを指定することができる。これにより、機器に指定されるアドレスが、プライベート使用への供給に確保されたアドレスに限定されなくなる（例えばＲＦＣ１９１８のＩＰｖ４に記載）。実施形態により、プライベートネットワークで使用されるアドレスが、プライベートネットワーク以外で使用されるアドレスと競合することなく同一になるため、外部アドレス範囲とは関係のない、使用可能な内部ネットワークアドレスが増える。
【００４１】
内部プレースホルダを使用することで、複数のネットワークインスタンスの使用が可能になる。例えば、第１ネットワークは実質的に全てのＩＰｖ４アドレス範囲を使用でき、第１ネットワーク内の第２ネットワークもやはり実質的に全てのＩＰｖ４アドレスを、第１ネットワークと、第２ネットワークと、インターネット上で使用されるＩＰｖ４アドレスとの間で競合を生じることなく使用することができる。したがって、実施形態は、アドレス空間の複数のインスタンス（例えば複数のＩＰｖ４アドレス空間）に基づいて、必要なアドレス数を調整することができる。
【００４２】
実施形態はＮＡＴを内部ネットワークと共に使用することを可能にするので、同じ１組の利用可能なアドレスを使用する外部ネットワークとの通信を維持しつつ、実質的に全ての利用可能なアドレス範囲の使用がサポートされる。例えば、割り当てられたプライベートアドレス範囲以外のアドレスを含む実質的に全てのＩＰｖ４アドレス範囲を、内部ネットワークアドレスの指定に使用できるようになる。
【００４３】
以下の実施例はＩＰｖ４に関連して述べられる。しかし、開示の実施形態はＩＰｖ４に限定されないことが理解されるべきである。例えば、実施形態は、各機器に１つ以上のアドレスの方法によりアドレス指定されるあらゆるネットワーク上において実現され得る。以下の実施例のいくつかは２つまたは３つのネットワークと共に述べられているが、これらは例示であり、本発明の範囲の限定を意図するものではない。例えば、４つ以上のネットワークを含むより複雑なシステムも考慮できる。
【００４４】
図１Ａは、いくつかの実施形態による例示的なオペレーティング環境を示す。この例示的なオペレーティング環境１００は外部アドレス空間１０２、プライベートアドレス空間１０４、クライアント１１０、ネットワーク機器１１２、名前解析機器１１４、インターネットサーバ１１６を含む。いくつかの実施形態では、例示的なオペレーティング環境１００はオプションの演算処理装置１１８（例えばインターネットサーバ、サービスプロバイダ、クラウド機器など）と、オプションの名前解析機器１２０とを含んでよい。クライアント１１０はネットワーク１０６経由でネットワーク機器１１２に接続している。インターネットサーバ１１６、演算処理装置１１８、名前解析機器１１４、名前解析機器１２０はネットワーク機器１１２に接続している。任意数の演算処理装置（例えばクライアント１１０、サーバ１１６〜１１８など）、名前解析機器、ネットワーク機器などが例示的なオペレーティング環境１００の一部であってよいことが理解される。
【００４５】
オペレーティング環境１００の様々なコンポーネントについてのさらなる説明に進む前に、機器１１０、１１２、１１４、１１６、１１８、１２０は例示であり、本実施形態の範囲の限定を意図しないことが理解される。例えば、オペレーティング環境１００はこれ以外にもワークステーション、モデム、プリンタ、ブリッジ、ハブ、ボイスオーバインターネットプロトコル（ＩＰ）電話、ＩＰビデオカメラ、コンピュータホストなどの機器を含んでよい。
【００４６】
クライアント１１０は、コンピュータ、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、モバイル機器、スマートフォン、プリンタ、ファスク機などを非限定的に含む様々な演算処理装置のうちのいずれであってもよい。サーバ１１６は、コンピュータ、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、モバイル機器、スマートフォン、プリンタ、ファクス機などを非限定的に含む様々な演算処理装置のうちのいずれであってもよい。
【００４７】
クライアント１１０は外部アドレス空間１０２内の機器と通信するために、ネットワーク機器１１２に通信要求を送信する。いくつかの実施形態では、外部アドレス空間１０２はグローバルアドレス空間である。クライアント１１０は、直接割り当て、静的割り当て、動的ホスト構成プロトコル（ＤＨＣＰ）などを介して割り当てられたネットワークアドレスを持つことができる。
【００４８】
ネットワーク機器１１２はハブ、スイッチ、ゲートウェイ、ルータ、無線ルータ、無線アクセスポイントなどであってよい。ネットワーク機器１１２はＮＡＴを実行するように動作可能であってよい。例えば、ネットワーク機器１１２が、サーバ１１６に要求を通信するクライアント１１０からの通信要求のアドレスを変換し、ネットワーク機器１１２が、インターネットサーバ１１６からクライアント１１０へ宛てた上記通信要求への返答のアドレスをさらに変換することができる。ネットワーク機器１１２は、第１ネットワーク（例えばプライベートネットワーク、内部ネットワークなど）、第２ネットワーク（例えばパブリックネットワーク、インターネットなど）の各々においてアドレス指定されることが可能な１つ以上のインターフェースを持っていてよい。
【００４９】
名前解析機器１１４は名前をネットワークアドレスに変換するように構成されてよい。例えば、名前解析機器１１４はドメイン名を含んだ記号名を変換できる。記号名は、ＩＰアドレスへの写像作成が可能な、サービス、エンティティ、機器などに対応付けられた標識であってよい。記号名は、ドメイン名を備えているユニフォームリソースロケータ（ＵＲＬ）のドメイン部分のように、人間が読める識別子であってよい。いくつかの実施形態では、名前解析機器１１４は、記号名の変換に使用されるように構成されたキャッシュを備えてよい。名前解析機器１１４は、サービス、ネットワーク、アドレスなどを見つけるために記号名を用いる任意のプロトコルを使用してよい。
【００５０】
いくつかの実施形態では、名前解析機器１１４はＤＮＳサーバである。例えば、クライアント１１０は、記号名「www.google.com」をＩＰアドレスに変換するためにＤＮＳルックアップ要求を名前解析機器１１４へ送信することができる。いくつかの実施形態では、名前解析機器１１４はＤＮＳサーバと通信するように構成されてよい。いくつかの実施形態では、名前解析機器１１４は名前解析を超えた追加の機能を実行できる。いくつかの実施形態では、名前解析機器１１４はＤＨＣＰサーバを備えてよい。そのため、名前解析機器１１４は、以下で述べるように、ローカルアドレス空間演算処理装置に割り当てられたプライベートネットワークアドレスと、外部演算処理装置に対応付けられたプレースホルダネットワークアドレスとのデータストアを保持することができる。
【００５１】
例示的なオペレーティング環境１００は、２つのアドレス空間スコープ、すなわち外部アドレス空間１０２の外部スコープと、ネットワーク１０６を含むプライベートアドレス空間１０４のローカルスコープとを含んでよい。いくつかの実施形態では、外部アドレス空間１０２は外部ネットワーク、グローバルアドレス空間などを含むことができる。オペレーティング環境１００は追加のアドレススコープを含んでよいことが理解される。例えば、例示的なオペレーティング環境１００は、追加のプライベートアドレススコープ（外部アドレス空間１０２（図４）などと通信する他のプライベートネットワークと対応付けられている）を含んでよい。ネットワーク機器１１２は、プライベートアドレス空間１０４と外部アドレス空間１０２の間の通信を促進するように構成されてよい。いくつかの実施形態では、ネットワーク機器１１２は、外部アドレス空間１０２内に第１通信インターフェースを、プライベートアドレス空間１０４内に第２通信インターフェースを設けていてよい。
【００５２】
図１Ｂは、いくつかの実施形態による別の例示的なオペレーティング環境を示す。例示的なオペレーティング環境１５０は外部アドレス空間１５２、プライベートアドレス空間１５４、クライアント１６０、アドレス解析および写像作成システム１６２、インターネットサーバ１６６を含む。いくつかの実施形態では、例示的なオペレーティング環境１５０は任意の演算処理装置１６８（例えばインターネットサーバ、サービスプロバイダ、クラウド機器など）と、任意の名前解析機器１７０とを含んでよい。クライアント１６０は、ネットワーク１５６経由でアドレス解析および写像作成システム機器１６２に接続している。インターネットサーバ１６６、演算処理装置１６８、名前解析機器１７０はアドレス解析および写像作成システム機器１６２に接続している。任意数の演算処理装置（例えばクライアント１６０、サーバ１６６〜１６８など）、名前解析機器、ネットワーク機器などは、例示的なオペレーティング環境１５０の一部であってよいことが理解される。
【００５３】
オペレーティング環境１５０の様々なコンポーネントについてのさらなる説明に進む前に、機器１６０、１６２、１６６，１６８、１７０は例示であり、実施形態の範囲の限定を意図していないことが理解される。例えば、オペレーティング環境１５０はこれ以外にもワークステーション、モデム、プリンタ、ブリッジ、ハブ、ボイスオーバインターネットプロトコル（ＩＰ）電話、ＩＰビデオカメラ、コンピュータホストなどの機器を含んでよい。
【００５４】
クライアント１６０は、コンピュータ、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、モバイル機器、スマートフォン、プリンタ、ファクス機などを非限定的に含む様々な演算処理装置のいずれであってもよい。サーバ１６６は、コンピュータ、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、モバイル機器、スマートフォン、プリンタ、ファクス機などを非限定的に含む様々な演算処理装置のいずれであってもよい。
【００５５】
クライアント１６０は外部アドレス空間１５２内の機器と通信するために、アドレス解析および写像作成システム１６２に通信要求を送信する。クライアント１６０は、直接割り当て、静的割り当て、動的ホスト構成プロトコル（ＤＨＣＰ）などを介して割り当てられたネットワークアドレスを持つことができる。
【００５６】
いくつかの実施形態では、アドレス解析および写像作成システム１６２はネットワーク機器１１２および名前解析機器１１４と実質的に類似する機能性を持つ。いくつかの実施形態では、アドレス解析および写像作成システム１６２は、ネットワーク機器コンポーネント１６４ａと名前解析コンポーネント１６４ｂとを設けてよい。
【００５７】
ネットワーク機器コンポーネント１６４ａはハブ、スイッチ、ゲートウェイ、ルータ、無線ルータ、無線アクセスポイントなどであってよい。ネットワーク機器コンポーネント１６４ａはＮＡＴを実行するように動作可能であってよい。例えば、ネットワーク機器コンポーネント１６４ａが、サーバ１６６に要求を通信するクライアント１６０からの通信要求のアドレスを変換し、ネットワーク機器コンポーネント１６４ａが、インターネットサーバ１６６からクライアント１６０へ宛てた上記通信要求への返答のアドレスをさらに変換することができる。ネットワーク機器コンポーネント１６４ａは、第１ネットワーク（例えばプライベートネットワーク、内部ネットワークなど）と第２ネットワーク（例えばパブリックネットワーク、インターネットなど）の各々においてアドレス指定されることが可能な１つ以上のインターフェースを設けることができる。
【００５８】
名前解析コンポーネント１６４ｂは、名前をネットワークアドレスに変換するよう構成できる。例えば、名前解析コンポーネント１６４ｂはドメイン名を含んだ記号名を変換することができる。記号名は、ＩＰアドレスへの写像作成が可能な、サービス、エンティティ、機器などに対応付けられた標識であってよい。記号名は、ドメイン名を備えているユニフォームリソースロケータ（ＵＲＬ）のドメイン部分のように、人間が読める識別子であってよい。いくつかの実施形態では、名前解析コンポーネント１６４ｂは、記号名の変換に使用されるよう構成されたキャッシュを備えてよい。名前解析コンポーネント１６４ｂは、サービス、ネットワークアドレスなどを見つけるために記号名を用いた任意のプロトコルを使用できる。
【００５９】
いくつかの実施形態では、名前解析コンポーネント１６４ｂはＤＮＳサーバである。例えば、クライアント１１０は、記号名「www.google.com」をＩＰアドレスに変換するためにＤＮＳルックアップ要求を名前解析コンポーネント１６４ｂへ送信することができる。いくつかの実施形態では、名前解析コンポーネント１６４ｂはＤＮＳサーバと通信するように構成されてよい。いくつかの実施形態では、名前解析コンポーネント１６４ｂは名前解析を超えた追加の機能を実行できる。いくつかの実施形態では、名前解析コンポーネント１６４ｂはＤＨＣＰサーバを備えてよい。そのため、名前解析コンポーネント１６４ｂは、以下で述べるように、ローカルアドレス空間演算処理装置に割り当てられたプライベートネットワークアドレスと、外部演算処理装置に対応付けられたプレースホルダネットワークアドレスとのデータストアを保持することができる。
【００６０】
いくつかの実施形態では、アドレス解析および写像作成システム１６２は、通信リンクを確立する（例えば、クライアント１６０、サーバ１６６などの２つ以上の機器の間に）方法を実行するように構成されている。この方法は、第１機器からアドレス解析および写像作成システムへ、第２機器のアドレスを要求する通信を送信することを含む。いくつかの実施形態では、アドレス解析および写像作成システムは、第１ネットワーク内でアドレス指定が可能な第１機器と、第２ネットワーク内でアドレス指定が可能な第２機器との間に通信リンクを確立するように構成されている。いくつかの実施形態では、第１ネットワークと第２ネットワークは、第１ネットワークおよび第２ネットワーク内でアドレス指定が可能なアドレス解析および写像作成システムによって通信可能にリンクされている。この方法は、アドレス解析および写像作成システムによって、第２ネットワークにおける第２機器のアドレスを解析することと、アドレス解析および写像作成システムによって、第１ネットワーク内で第１写像作成可能アドレスを割り当てることとをさらに含んでよい。この方法はまた、アドレス解析および写像作成システムによって第１機器へ第１写像作成可能アドレスを応答することと、アドレス解析および写像作成システムによって第１写像作成可能アドレスと解析されたアドレスとの間に第１写像を作成することとをさらに含んでよい。この方法はまた、アドレス解析および写像作成システムによって第２ネットワーク内で第２写像作成可能アドレスを割り当てることと、アドレス解析および写像作成システムによって、第２写像作成可能アドレスと第１ネットワーク内の第１機器のアドレスとの間に第２写像を作成することとをさらに含んでよい。いくつかの実施形態では、第１ネットワーク上における第１機器から第２機器への通信は、第１機器のアドレスから第１写像作成可能アドレスへ宛てたものである。いくつかの実施形態では、第２ネットワーク上における第２機器から第１機器への通信は、第２機器のアドレスから第２写像作成可能アドレスへ宛てたものである。
【００６１】
例示的なオペレーティング環境１５０は、２つのアドレス空間スコープ、すなわち外部アドレス空間１５２の外部スコープと、ネットワーク１５６を含むプライベートアドレス空間１５４のローカルスコープとを含んでよい。いくつかの実施形態では、外部アドレス空間１５２は外部ネットワーク、グローバルアドレス空間などを含むことができる。オペレーティング環境１５０は追加のアドレススコープを含んでよいことが理解される。例えば、例示的なオペレーティング環境１５０は、追加のプライベートアドレススコープ（例えば、外部アドレス空間１０２、外部アドレス空間１５２（図４）などと通信する他のプライベートネットワークに対応付けられている）を含んでよい。名前解析および写像作成システム１６２は、プライベートアドレス空間１５４と外部アドレス空間１５２の間の通信を促進するように構成されてよい。いくつかの実施形態では、名前解析および写像作成システム１６２は、外部アドレス空間１５２内に第１通信インターフェースを、プライベートアドレス空間１５４内に第２通信インターフェースを設けていてよい。
【００６２】
図２は、一実施形態による名前解析中の例示的な通信を示す。図２００は外部アドレス空間１０２、プライベートアドレス空間１０４、ネットワーク１０６、クライアント１１０、ネットワーク機器１１２、名前解析機器１１４、サーバ１１６を含む。図２のこの例示的な通信は、ネットワーク１０６内でサーバ１１６を表すために用いるローカルまたはプレースホルダネットワークアドレスの使用を構成できる。
【００６３】
いくつかの実施形態では、クライアント１１０は、外部アドレス空間１０２内でのものと同じアドレスをネットワーク１０６上で持つことができるが、このアドレスは異なるスコープ（例えば外部アドレス空間１０２とプライベートアドレス空間１０４）において使用されるため競合しない。例えば、クライアント１１０はプライベートアドレス空間１０４のローカルスコープ内でＩＰアドレス２０２．１１．７．３を持つことができ、さらに、サーバ１１６も外部アドレス空間１０２の外部スコープ内でＩＰアドレス２０２．１１．７．３を持つことができる。
【００６４】
クライアント１１０は、記号名をネットワークアドレスに変換するために、名前解析要求メッセージ２１０を名前解析機１１４へ送信する。いくつかの実施形態では、名前解析要求メッセージ２１０はＤＮＳルックアップ要求である。例えば、名前解析要求メッセージ２１０は、記号名「www.google.com」に対応付けられたＩＰアドレスへの要求を含んでよい。
【００６５】
名前解析機器１１４は記号名にグローバルまたは外部アドレスを決定し、プレースホルダネットワークアドレスを決定し、プレースホルダネットワークアドレスをメッセージ２１２に含めてクライアント１１０へ戻す。プレースホルダアドレスは、サーバ１１６をプライベートアドレス空間１０４に関連して一意に識別することができる。プレースホルダネットワークアドレスは、アドレスの連続範囲、アドレスの１つ以上の全く異なる範囲、多数の無関連なアドレスなどから選択または決定されてよい。プレースホルダネットワークアドレスの決定は、静的（例えば、事前決定された、事前構成されたなど）または動的に行える。例えば、アドレス範囲１．０．０．０／１０をプレースホルダネットワークアドレスに使用し、グローバルなルーティングが可能な範囲１３７．９．１．０／２４をネットワーク１０６に使用できる。別の例として、名前解析機器１１４は「www.google.com」を２０２．１１．７．３と解析して、プレースホルダアドレス１．０．０．１をクライアント１１０に戻すことができる。
【００６６】
名前解析器１１４は、プレースホルダネットワークアドレスと外部またはグローバルネットワークアドレスとの写像を、メッセージ２１４に含めてネットワーク機器１１２へ通信する。例えば、プレースホルダネットワーク１．０．０．１をグローバルネットワークアドレス２０２．１１．７．３に写像作成できる。ネットワーク機器１１２はこの写像を使用して、プレースホルダネットワークアドレスとグローバルネットワークアドレスとの間で変換を行うことができる。
【００６７】
内部プレースホルダアドレスの外部および／またはグローバルアドレスへの写像を維持することで、プライベートアドレス空間１０４と外部アドレス空間１０２とに重複するアドレス範囲の使用が容易になる。これにより、実施形態はプライベートアドレス空間１０４を外部アドレス空間１０２から離隔することができる。したがって、図２の例示的な通信は、クライアント１１０とサーバ１１６が同一または重複するアドレスを持ちながら、クライアント１１０とサーバ１１６の間の通信を促進するようにネットワーク機器１１２を構成することができる。図２、図３の例示的な通信は、クライアント１１０とサーバ１１６が異なるスコープ内で同じＩＰアドレス（例えば２０２．１１．７．３）を持ち、競合せずに通信を行うことを可能にする。実施形態は、記号名解析を利用する任意のプロトコルを使用してサービス（例えば演算処理装置、サーバなど）を見つけるように構成されている。
【００６８】
いくつかの実施形態では、プレースホルダネットワークアドレスを一時的に割り当て、通信完了後に、プレースホルダネットワークアドレスの写像を削除するか、次回に再利用する。いくつかの実施形態では、プレースホルダネットワークアドレスは事前定義された寿命を持つ。プレースホルダアドレスの写像も事前定義された寿命を持つ。そのため、プレースホルダネットワークアドレスは特定の通信のインスタンスに一意のものであってよい。いくつかの実施形態では、プレースホルダアドレスは１つ以上の番号、番号範囲、ポートなどをさらに含むことができる。
【００６９】
図３は、いくつかの実施形態による通信要求中における例示的な通信を示す。図３００は、外部アドレス空間１０２、プライベートアドレス空間１０４、ネットワーク１０６、クライアント１１０、ネットワーク機器１１２、名前解析機器１１４、サーバ１１６を含んでいる。いくつかの実施形態では、図３の例示的な通信のいずれかを図２の例示的な通信に続いて実行することが好ましい。
【００７０】
クライアント１１０はネットワーク機器１１２に要求メッセージ３１０を送信する。要求メッセージ３１０は、名前解析機器１１４から受信したプレースホルダネットワークアドレスの宛先アドレスを含んでいてよい。例えば、クライアント１１０がＩＰアドレス２０２．１１．７．３からプレースホルダアドレス１．０．０．１へ要求を送信することができる。
【００７１】
ネットワーク機器１１２はこの要求の一部を変換し、サーバ１１６へ要求メッセージ３１２を送信することができる。ネットワーク機器１１２は、ネットワーク１０６の内部アドレス範囲にネットワークアドレス変換（ＮＡＴ）を実行し、宛先アドレスに名前解析機器１１４からの写像（例えば、ステップ２１２、２１４からのもの）を使用することができる。例えば、ネットワーク機器１１２はグローバルアドレス空間において外部アドレス１３７．９．１．１５を持ち、このアドレス１３７．９．１．１５からアドレス２０２．１１．７．３にあるサーバ１１６へ要求を送信する。
【００７２】
サーバ１１６は要求に対して応答メッセージ３１４で応答する。サーバ１１６からネットワーク機器１１２への通信はクライアント１１０に対して透過的であってよく、サーバ１１６の通常の通信と同様に行われる。
【００７３】
ネットワーク機器１１２は、この応答の一部を先行の写像を反転させることによって変換し、変換した応答メッセージ３１６をクライアント１１０へ送信する。ネットワーク機器１１２は、この応答内のサーバ１１６のネットワークアドレスをプレースホルダネットワークアドレスで置き換えることができる。例えば、ネットワーク機器１１２は、送信元ＩＰアドレス１．０．０．１を持った応答をクライアント１１０のＩＰアドレス２０２．１１．７．３へ送信する。
【００７４】
いくつかの実施形態では、サーバ１１６は、名前解析機器１１４へ通信を送信することでクライアント１１０への通信を開始できる。次に、名前解析機器１１４はクライアント１１０のローカル・ネットワーク・アドレスを決定し、さらに、外部アドレス空間１０２内のネットワーク１０６に振り当てられたパブリック範囲のパブリックネットワークアドレスを、クライアント１１０との通信用として割り当てる。続いて、名前解析機器１１４は、割り当てたパブリック範囲におけるネットワークアドレスをサーバ１１６へ送信し、割り当てられたクライアント１１０のパブリックネットワークアドレスとクライアント１１０のネットワークアドレスとの写像をネットワーク機器１１２へ送信する。サーバ１１６からの通信がネットワーク機器１１２で受信されると、この通信は、クライアント機器１１０に対応付けられたパブリックネットワークとクライアント機器１１０のネットワークアドレスとの写像に基づいてクライアント機器１１０へ送信される。
【００７５】
図４は、いくつかの実施形態による、別のネットワークからの通信要求中における例示的な通信を示す。図４は、ネットワークアドレスプロトコルによって特定されたプライベートまたは内部ネットワークアドレス範囲外のネットワークアドレスを利用するように構成された２つの内部またはプライベートネットワーク（例えばネットワーク４０６、１０６）を示す。例えば、ネットワーク１０６、４０６の各々は、内部アドレス指定またはプライベートアドレス指定を、実質的に全てのＩＰｖ４アドレス空間を使用して行える。したがって、実施形態により、ネットワーク１０６の演算処理装置１１０、ネットワーク４０６の演算処理装置４１０、サーバ１１６の各々が同じネットワークアドレスを競合することなく持てるようになる。例えば、演算処理装置１１０、演算処理装置４１０、サーバ１１６がそれぞれＩＰアドレス２０２．１１．７．３を持つことができる。
【００７６】
図４００は、外部アドレス空間１０２、ローカルアドレス空間１０４、ローカルアドレス空間４０４、第１ネットワーク１０６、クライアント１１０、ネットワーク機器１１２、名前解析機器１１４、サーバ１１６、第２ネットワーク４０６、クライアント４１０、ネットワーク機器４１２、名前解析機器４１４を含む。第１ネットワーク１０６、クライアント１１０、そしてネットワーク機器１１２の一部は、第１プライベートアドレス空間１０２内に常駐している。第２ネットワーク４０６、クライアント４１０、そしてネットワーク機器４１２の一部は、第２プライベートアドレス空間４０４内に常駐してよい。サーバ１１６、名前解析機器１１４、名前解析機器４１４、ネットワーク機器１１２の一部、ネットワーク機器４１２の一部は、外部アドレス空間１０２内に常駐してよい。
【００７７】
ネットワーク機器４１２はハブ、スイッチ、ゲートウェイ、ルータ、無線ルータ、無線アクセスポイントなどであってよい。クライアント４１０は、コンピュータ、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、モバイル機器、スマートフォン、プリンタ、ファクス機などを非限定的に含む様々な演算処理装置のいずれかであってよい。名前解析機器１１４は名前をネットワークアドレスに変換するように構成されている。例えば、名前解析機器１１４はドメイン名を含んでいる記号名を変換できる。名前解析機器１１４は名前解析を超えた追加の機能を実行できることに留意する（例えばＤＨＣＰ、プレースホルダネットワークアドレス変換など）。いくつかの実施形態では、名前解析機器１１４はドメイン名システム（ＤＮＳ）サーバである。例えば、クライアント４１０は、記号名「www.google.com」をＩＰアドレスに変換するために、ＤＮＳルックアップ要求を名前解析機器４１４へ送信することができる。
【００７８】
図４の通信は、クライアント４１０が名前解析機器４１４に対して名前解析要求を行い、プライベートアドレス空間４０４内のローカル・ネットワーク・アドレスを持つ応答を受信した後、例えば上述と類似の様式で実行されてよい。名前解析機器４１４が、ローカル・ネットワーク・アドレス（例えばプレースホルダネットワークアドレス）とサーバ１１６のネットワークアドレスとの写像をネットワーク機器４１２へ送信したことにより、ネットワーク機器４１２が、クライアント４１０から受信した通信をサーバ１１６へ送信する形式に変換できるようになる。いくつかの実施形態では、図４の例示的な通信のいくつかは、サーバ１１６および名前解析機器４１４に関連した図２の例示的な通信を実行した後に実行される。
【００７９】
クライアント４１０はネットワーク機器４１２へ要求メッセージ４２０を送信する。この要求メッセージ４２０の宛先アドレスは、名前解析機器４１４から受信したプレースホルダネットワークアドレスであってよい。例えば、クライアント４１０は、要求をＩＰアドレス２０２．１１．７．３からプレースホルダアドレス１．０．０．１へ送信することができる。
【００８０】
ネットワーク機器４１２は要求の一部を変換し、要求メッセージ４２２をサーバ１１６へ送信することができる。ネットワーク機器４１２は、ネットワーク４０６の内部アドレス範囲についてネットワークアドレス変換（ＮＡＴ）を実行し、名前解析機器４１４から受け取った写像（例えばステップ２１２、２１４からのもの）を宛先アドレスに使用してよい。例えば、ネットワーク機器４１２はグローバルアドレス空間内の外部アドレス１３７．９．１．１５を持ち、このアドレス１３７．９．１．１５からアドレス２０２．１１．７．３にあるサーバ１１６へ要求を送信することができる。
【００８１】
サーバ１１６は、要求メッセージ４２２に対し応答メッセージ４２４で応答する。サーバ１１６からネットワーク機器４１２への通信はクライアント４１０に対して透過的であり、サーバ１１６の通常の通信と同様に行われてよい。
【００８２】
ネットワーク機器４１２は応答の一部を先行の写像を反転させることにより変換し、変換した応答メッセージ４２６をクライアント４１０へ送信する。この応答で、ネットワーク機器４１２は、サーバ１１６のネットワークアドレスをプレースホルダネットワークアドレスで置き換えることができる。例えば、ネットワーク機器４１２は送信元ＩＰアドレス１．０．０．１を持つ応答をクライアント１１０のＩＰアドレス２０２．１１．７．３へ送信する。
【００８３】
図５は、いくつかの実施形態による、埋め込み型ネットワークアドレスを用いた例示的な通信を示す。図５００は、外部アドレス空間１０２、ローカルアドレス空間１０４、ネットワーク１０６、クライアント１１０、ネットワーク機器１１２、名前解析機器１１４、サーバ１１６、プロキシ５０２を含んでいる。いくつかの実施形態では、プロキシ５０２はネットワーク機器１１２に統合されているかその一部であり、また、ネットワーク機器１１２はこの他にも名前解析機器１１４を含んでいてよい。いくつかの実施形態では、プロキシ５０２はプロキシサーバであるか、または実質的に類似の機能性を持つものであってよい。
【００８４】
実施形態は、ネットワークアドレス（例えばＩＰアドレス）をアプリケーションストリーム内に直接埋め込むサービス（例えば要求、問い合わせ、通信など）をサポートするように構成できる。（埋め込み例、http://202.11.7.3/index.html、http://209.1.2.3/main.shtml、http://208.218.100.20/home.cgiなど）いくつかの実施形態では、プロキシ５０２は、ローカルアドレススコープと外部および／またはグローバルアドレススコープとの間の境界をブリッジするために使用されてよい。例えば、プロキシ５０２は、アプリケーション層にてローカルアドレススコープとグローバルアドレススコープとをブリッジできる。いくつかの実施形態では、グローバルスコープアドレスは写像作成されたローカルスコープ内では何の意味もなさないので、ＤＮＳ解析を介さずにＩＰアドレスでグローバルスコープリソースに直接アクセスすることはできない。いくつかの実施形態では、外部ネットワークアドレスのデータストアが確保され、外部ネットワークアドレスは内部ネットワーク内には割り当てられず、また内部ネットワーク内では使用されずに、ネットワークアドレス空間のこれ以外の部分が使用される。例えば、インターネットサーバのＩＰアドレスのリストを確保し、ＩＰｖ４アドレス空間のこれ以外の部分を内部ネットワーク機器に使用することができる。
【００８５】
いくつかの実施形態では、プロキシ機器５０２はネットワーク境界上のハイパーテキスト転送プロトコル（ＨＴＴＰ）プロキシであり、クライアント１１０が内部アドレス指定を使用してアクセスできる。いくつかの実施形態では、プロキシ機器５０２は非透過型ＨＴＴＰプロキシであってよい。プロキシ機器５０２は、外部インターフェースに基づいて外部リソースを解析するように構成されてよいため、外部アドレス空間１０２とプライベートアドレススペース１０４の間をブリッジすることが可能である。
【００８６】
いくつかの実施形態では、プロキシ機器５０２は内部インターフェース５０４と外部インターフェース５０６を含む。内部インターフェース５０４はネットワーク１０６のプライベートアドレス空間１０４内にあってよい。外部インターフェース５０６は外部アドレス空間１０２内にあってよい。そのため、プロキシ機器５０２はローカルまたはプライベートアドレススペース１０４と外部アドレススペース１０２とをブリッジできる。
【００８７】
いくつかの実施形態では、プロキシ機器５０２は、内部インターフェース５０４上の通信（例えばＴＣＰ／ＩＰ、ＵＤＰなど）を介して、クライアント１１０から要求（例えば要求メッセージ５１０）を受信する。次に、プロキシ機器５０２はアプリケーション層を分析して、その通信がハイパーテキスト転送プロトコル（ＨＴＴＰ）通信かどうかを決定する。続いて、プロキシ機器５０２は外部インターフェース５０６経由で通信を送信する。
【００８８】
いくつかの実施形態では、クライアント１１０は、プロキシ機器５０２を使用して外部アドレス空間１０２と通信するように構成されている。いくつかの実施形態では、クライアント１１０からネットワーク機器１１２への要求はプロキシ機器５０２へ通信される。
【００８９】
クライアント１１０は要求メッセージ５１０をプロキシ機器５０２へ送信する。要求メッセージ５１０は、プロキシ機器５０２の内部インターフェース５０６で送受信できる。要求メッセージ５１０はＩＰアドレスを含んでよい。例えば、要求http://202.11.7.3/index.htmlにアクセスするためのＨＴＴＰ要求であってよい。
【００９０】
プロキシ機器５０２は要求メッセージ５１２をサーバ１１６へ送信する。サーバ１１６への要求メッセージ５１２は外部インターフェース５０４経由で送信することができる。いくつかの実施形態では、プロキシ機器５０２は、要求の送信元アドレスをプロキシ機器５０２の外部インターフェース５０６のＩＰアドレスとなるよう修正する。例えば、プロキシ機器５０２の外部インターフェース５０４のＩＰアドレスが１３９．９．１．２１で、クライアント１１０のＩＰアドレスが１３７．９．１．１６である場合、プロキシ機器５０２は、要求内の送信元アドレスが１３９．９．１．２１となるように要求を修正できる。
【００９１】
サーバ１１６からの応答メッセージ５１４をプロキシ機器５０２へ送信することができる。応答メッセージ５１４はプロキシ機器５０２の外部インターフェース５０６へ送信されてよい。サーバ１１６からの応答メッセージ５１６はクライアント１１０へ送信されてよい。したがって、プロキシ機器５０２は、ネットワーク１０６のローカル、プライベートアドレス空間１０４と外部アドレス空間１０２とをブリッジすることができる。
【００９２】
図６は、いくつかの実施形態によるピアツーピア通信中の例示的な通信を示す。図６００は、ローカルまたはプライベートアドレス空間６０２、ローカルまたはプライベートアドレス空間６０４、外部アドレス空間６０６、演算処理装置６１０、演算処理装置６２０、名前解析機器６１４、名前解析機器６２４、ネットワーク機器６１２、ネットワーク機器６２２、ネットワーク６３０、６４０、６５０を含んでいる。外部アドレス空間６０６は、ネットワーク機器６１２、６２２の一部、名前解析機器６１４、６２４の一部、ネットワーク６５０を含む。ローカルまたはプライベートアドレス空間６０２は演算処理装置６１０、ネットワーク機器６１２の一部、名前解析機器６１４の一部、ネットワーク６３０を含む。ローカルまたはプライベートアドレス空間６０４は演算処理装置６２０、ネットワーク機器６２２の一部、名前解析機器６２４の一部、ネットワーク６４０を含む。いくつかの実施形態では、ネットワーク６３０〜６４０はローカルネットワークであり、ネットワーク６５０は外部ネットワーク（例えばパブリックネットワーク、インターネットなど）である。図６は、プライベートアドレス指定範囲外のアドレス指定を利用するプライベートアドレス空間どうしの間のピアツーピア通信を示す。例えば、ネットワーク６３０、６４０は、ＩＰｖ４で規定されたプライベートアドレス範囲外のネットワークアドレスを使用できる。
【００９３】
ネットワーク機器６１２、６２２はハブ、スイッチ、ゲートウェイ、ルータ、無線ルータ、無線アクセスポイントなどであってよい。クライアント６１０は、ネットワーク６３０経由でネットワーク機器６１２および名前解析機器６１４に接続している。クライアント６２０は、ネットワーク６４０経由でネットワーク機器６２２および名前解析機器６２４に接続している。ネットワーク機器６１２、６２２、名前解析機器６１４、名前解析機器６２４は、ネットワーク６５０経由で接続している。
【００９４】
いくつかの実施形態では、名前解析機器６１４は、演算処理装置６１０のネットワークアドレスに対応付けられたパブリック名を決定するように構成され、また、名前解析機器６２４は、演算処理装置６２０のネットワークアドレスに関連付けられたパブリック名を決定するように構成されている。名前解析機器６１４、６２４は、演算処理装置６１０、６２０からのそれぞれのパブリック名への問い合わせに応答して、演算処理装置６１０、６２０それぞれのパブリックアドレスを提供するように構成されている。
【００９５】
クライアント６２０は、クライアント６１０に対応付けられた記号名を解析するために、要求メッセージ６６０を名前解析機器６２４へ送信する。例えば、クライアント６２０はＩＰアドレスは１１２．１１．７．３を、クライアント６１０のＩＰアドレスは２０２．１１．７．３をもってよい。したがって、クライアント６２０は、クライアント６１０の「client1.domainname」の記号名に基づくＩＰアドレスを求める要求を名前解析機器６２４に送信することができる。
【００９６】
名前解析機器６２４は、クライアント６１０のネットワークアドレスを求める要求メッセージ６６２を名前解析機器６１４に送信する。要求は、クライアント６１０に対応付けられたパブリックネットワークアドレスを求めるものであってもよい。
【００９７】
クライアント６１０に外部固定ネットワークアドレスを割り当て、クライアント６１０の外部固定ネットワークアドレスとプライベートネットワークアドレスとの写像をメッセージ６６４としてネットワーク機器６１２へ送信することができる。このクライアント６１０の外部固定ネットワークアドレスとプライベートネットワークアドレスとの写像は、ネットワーク機器６１２が、外部固定ネットワークアドレスの宛先を持つ通信をクライアント６１０へ送信するために使用できる。いくつかの実施形態では、外部固定ネットワークアドレスは名前解析機器６１４によって割り当てられる。いくつかの実施形態では、外部ネットワークアドレスはネットワーク機器６１２によって割り当てられる。
【００９８】
いくつかの実施形態では、１つのネットワークに１つのネットワークアドレスが割り当てられてよい。例えば、ネットワーク６３０に１つのＩＰアドレスを割り当てることができる。いくつかの実施形態では、ネットワーク６３０に１つのネットワークアドレスが割り当てられる場合、または割り当てる外部パブリックＩＰアドレスが残っていない場合には、外部固定ネットワークアドレスはポート、別の識別子などを含むことができる。例えば、外部固定ネットワークアドレスは、ＴＣＰまたはＵＤＰポート番号が組み込まれたＩＰアドレスを含んでよい。
【００９９】
外部固定ネットワークアドレスは、メッセージ６６６として名前解析機器６１４から名前解析機器６２４へ送信することができる。
【０１００】
名前解析機器６２４は、外部固定ネットワークアドレスの写像とローカル・ネットワーク・アドレス（例えばプレースホルダネットワークアドレス）とを、メッセージ６６８としてネットワーク機器６２２へ送信することができる。ネットワーク機器６２２は、この外部固定ネットワークアドレスの写像とローカル・ネットワーク・アドレスとを使用して、ローカル・ネットワーク・アドレスに宛てた通信（例えばクライアント６２０からのもの）を、外部固定ネットワークアドレスを介してネットワーク機器６１２へ送信することができる。いくつかの実施形態では、外部固定ＩＰアドレスはネットワークアドレスと共にポート番号、その他の識別子などを含む。いくつかの実施形態では、名前解析機器６２４は、クライアント６１０のプレースホルダとして機能するローカル・ネットワーク・アドレスを決定する。
【０１０１】
名前解析機器６２４は、クライアント６２０からの記号名の要求に対する応答メッセージ６７０を送信することができる。要求メッセージ６６０に対する応答メッセージ６７０は、名前解析機器６２４が決定したローカルまたはプレースホルダネットワークアドレスを含んでよい。
【０１０２】
ネットワーク機器６２２は、ローカル・ネットワーク・アドレスの要求を受信すると、外部固定ネットワークアドレスへのローカル・ネットワーク・アドレスに基づき、ローカル・ネットワーク・アドレスをクライアント６１０の外部固定ネットワークアドレスに変換できる。ネットワーク機器６２２によるこの変換により、クライアント６２０とクライアント６１０の間の通信が可能になる。これにより、この通信がネットワーク機器６１２に受信される。すると、ネットワーク機器６１２が、クライアント６１０の外部固定ネットワークアドレスとプライベートネットワークアドレスとの写像に基づいて、外部固定ネットワークアドレスをクライアント６１０のネットワークアドレスに変換することができる。クライアント６１０からクライアント６２０への通信のための逆経路または対称経路は、実質的に類似の様式で構成されてよい。
【０１０３】
図７は、いくつかの実施形態による名前解析要求を処理する工程の例示的なフロー図を示す。いくつかの実施形態で、図７は、プライベートアドレス範囲外のネットワークアドレスを利用してプライベートネットワークからの名前解析要求を処理する工程７００を示す。例えば、工程７００は、ＩＰｖ４で規定されたプライベートネットワークアドレス範囲外のＩＰアドレスを使用する内部またはプライベートＩＰｖ４ネットワークと共に使用できる。
【０１０４】
ブロック７０２で、演算処理装置のネットワークアドレスに対応付けられた記号名を解析する要求が、電子システムで受信される。いくつかの実施形態では、演算処理装置に対応付けられたネットワークアドレスは外部ネットワークアドレス（例えば、グローバルネットワークアドレスなど）である。いくつかの実施形態では、演算処理装置に対応付けられた記号名を解析する要求は、プライベートインターネットプロトコルバージョン４（ＩＰｖ４）のアドレス範囲外のネットワークアドレスを持つプライベートネットワーク内の別の演算処理装置から受信される。いくつかの実施形態では、演算処理装置のネットワークアドレスに対応付けられた記号名を解析する要求は、ドメイン名システム（ＤＮＳ）機器で受信される。
【０１０５】
ブロック７０４で、演算処理装置に対応付けられたローカル・ネットワーク・アドレスを決定する。ローカル・ネットワーク・アドレスは、プライベートまたは内部ネットワークアドレス空間内の外部および／またはグローバルネットワークアドレスを表すプレースホルダネットワークアドレスであってよい。いくつかの実施形態では、ローカルまたはプレースホルダネットワークアドレスは、外部ネットワークアドレス空間に対応付けられて割り当てられたローカル・ネットワーク・アドレス範囲内にある。いくつかの実施形態では、演算処理装置に対応付けられたローカル・ネットワーク・アドレスはプライベートネットワークアドレス範囲外にある。いくつかの実施形態では、外部ネットワークアドレス空間はＩＰｖ４アドレス空間であり、ローカル・ネットワーク・アドレスはプライベートＩＰｖ４アドレス範囲外にある。
【０１０６】
ブロック７０６で、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とを決定する。いくつかの実施形態では、写像は、演算処理装置のプレースホルダＩＰアドレスおよび外部ＩＰアドレスを含んでいてよい。
【０１０７】
ブロック７０８で、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とを送信する。いくつかの実施形態では、「送信する」とは、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とをネットワーク機器へ送信することを備える。いくつかの実施形態では、ネットワーク機器はゲートウェイ機器、ルータ、スイッチなどである。
【０１０８】
ブロック７１０で、要求への応答を送信する。上で述べたように、この応答は、内部またはプライベートアドレス空間外のネットワークアドレスを持つ内部またはプライベートネットワーク内の演算処理装置へ送信することができる。応答はプレースホルダネットワークアドレスを含んでよい。
【０１０９】
図８は、いくつかの実施形態による、別のネットワークへの通信要求を処理する工程の例示的なフロー図を示す。いくつかの実施形態では、図８は、外部ネットワーク、パブリックネットワーク、インターネットなどへ送信される要求を処理する工程８００を示す。例えば、工程８００は、グローバルＩＰｖ４ネットワークアドレスを用いて外部ネットワークへ送信中である、内部またはプライベートＩＰｖ４ネットワーク内のプライベートアドレス範囲に含まれないネットワークアドレスを持つ演算処理装置からの要求を処理するために使用できる
【０１１０】
ブロック８０２で、電子システムのポートが、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とを受信する。電子システムはネットワーク機器、ルータ、ゲートウェイなどであってよい。いくつかの実施形態では、ネットワーク機器はデータパケットをルーティングするように構成されている。いくつかの実施形態では、ローカル・ネットワーク・アドレスまたはプレースホルダネットワークアドレスは、外部（例えばグローバルなど）ネットワークアドレス空間に対応付けられて割り当てられたローカル・ネットワーク・アドレス範囲内にある。
【０１１１】
いくつかの実施形態では、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とは、ＤＮＳ機器から受信される。いくつかの実施形態では、ローカル・ネットワーク・アドレスはプライベートＩＰｖ４アドレス範囲外にある。いくつかの実施形態では、演算処理装置に対応付けられたネットワークアドレスはグローバルＩＰｖ４アドレス空間内にある。
【０１１２】
ブロック８０４で、ローカル・ネットワーク・アドレスを持った要求を受信する。この要求は、外部ネットワーク内の演算処理装置（例えばサーバ、サービスプロバイダ、クラウドなど）との通信の要求であってよい。
【０１１３】
ブロック８０６で、ローカル・ネットワーク・アドレスの要求を、外部インターフェースネットワークアドレスで修正する。この修正はネットワークアドレス変換（ＮＡＴ）のパフォーマンスの一部であってよい。
【０１１４】
ブロック８０８で、演算処理装置に対応付けられたネットワークアドレスの要求を、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とに基づいて送信する。
【０１１５】
ブロック８１０で、演算処理装置からの応答を受信する。この応答は外部ネットワーク、パブリックネットワーク、インターネットなどから受信されてよい。
【０１１６】
ブロック８１２で、応答を、演算処理装置に対応付けられたローカル・ネットワーク・アドレスとネットワークアドレスの写像とに基づき、ローカル・ネットワーク・アドレスで修正する。そのため、応答は、要求を送ってきた演算処理装置へ送信されるように（例えばＮＡＴ、他のネットワークトラバーサル手順の一部として）修正することができる。
【０１１７】
ブロック８１４で、修正済みの応答を送信する。修正済みの応答は、通信要求の要求元である演算処理装置へ送信することができる。通信要求元である演算処理装置は内部またはプライベートネットワーク上にあってよい。
【０１１８】
図９は、いくつかの実施形態による、別のネットワークのネットワークアドレスを埋め込んだ通信要求を処理する工程の例証的なフロー図を示す。いくつかの実施形態では、図９はネットワークアドレスを埋め込んだ要求を処理する工程９００を示す。例えば、この要求はダイレクトＩＰアドレスリファレンスhttp://202.11.7.3/home.htmlを含んでよい。工程９００は、グローバルＩＰｖ４ネットワークアドレスを用いて外部ネットワークに送信中の、内部またはプライベートＩＰｖ４ネットワーク内のプライベートアドレス範囲外のネットワークアドレスを持つ演算処理装置からの要求を処理するために使用できる。この要求はプロキシモジュールまたはコンポーネントで受信されてよい。プロキシモジュールまたはコンポーネントは、上述したように、ネットワーク機器内に統合されるか、または別々であってよい。
【０１１９】
ブロック９０２で、要求がプロキシモジュールまたはコンポーネントにて受信される。要求はネットワークアドレスを備えている。例えば、要求は、ダイレクトまたは埋め込み型のＩＰアドレスリファレンスhttp://202.11.7.3/home.htmlを含んでいてよい。要求は、ここで述べているように、アプリケーション層で１つ以上のネットワークをブリッジするように構成されたプロキシ機器で受信されてよい。
【０１２０】
ブロック９０４で、要求の修正を行う。いくつかの実施形態では、要求は、プロキシモジュールまたはコンポーネント（例えば出力ポート、外部インターフェースなど）から別のネットワーク内の演算処理装置へ送信されるように修正することができる。
【０１２１】
ブロック９０６で、修正済みの要求を送信する。いくつかの実施形態では、要求は、プロキシモジュールまたはコンポーネントの出力コンポーネントを介して（例えば出力ポート、外部インターフェースなどを介して）外部ネットワークへ送信されてよい。
【０１２２】
ブロック９０８で、修正済みの要求への応答を受信する。この応答は、インターネットサーバ、外部ネットワーク内の演算処理装置などから受信されてよい。さらに、この応答を、要求元である演算処理装置へ送信するように（例えばＮＡＴ、その他のネットワークトラバーサル手順などを介す）修正することができる。
【０１２３】
ブロック９１０で、応答を送信する。この応答は、要求送信元または要求元である演算処理装置へ送信することができる。
【０１２４】
図１０は、いくつかの実施形態によるピアツーピア通信を処理する工程の例示的なフロー図を示す。いくつかの実施形態では、図１０は、内部またはプライベートアドレス範囲外のネットワークアドレスを使用する内部ネットワーク間におけるピアツーピア要求を処理する工程１０００を示す。例えば、工程１０００は、内部またはプライベートＩＰｖ４ネットワーク内のプライベートアドレス範囲外の第１ネットワークアドレスを持つ演算処理装置から発行された、別の内部またはプライベートＩＰｖ４ネットワーク内のプライベートアドレス範囲外の第２ネットワークアドレスを持つ別の演算処理装置へ送信中の要求を処理するために使用できる。
【０１２５】
ブロック１００２で、名前解析要求を受信する。名前解析要求は、異なるプライベートまたは内部ネットワーク内の別の演算処理装置に対応付けられた名前を含んでよい（例えば、クライアント６２０が発行した、クライアント６１０のアドレスを解析せよとの名前解析要求）。名前解析要求は、ＤＮＳサーバのような名前解析機器で受信されてよい。
【０１２６】
ブロック１００４で、名前解析要求を別の名前解析機器へ送信する。名前解析要求は、名前解析要求を送信したクライアント（例えばクライアント６２０）に対応付けられた名前解析機器（例えば名前解析機器６２４）から送信することができる。名前解析要求は、名前解析要求内の名前に対応付けられたクライアント（例えばクライアント６１０）に対応付けられている名前解析機器（例えば名前解析機器６１４）へ送信することができる。
【０１２７】
ブロック１００６で、外部ネットワークアドレスを決定する。いくつかの実施形態では、外部ネットワークアドレスを、名前解析要求内の名前に対応付けられたクライアント（例えばクライアント６１０）に対応付けられている名前解析機器（例えば名前解析機器６１４）によって決定できる。いくつかの実施形態では、上で述べた様に、外部ネットワークアドレスをネットワーク機器によって決定できる。いくつかの実施形態では、上で述べたように、外部ネットワークアドレスは、ネットワークアドレスの範囲から割り当てられるか、またはネットワークアドレスとポート番号またはその他の識別子などとの組み合わせであってよい。
【０１２８】
ブロック１００８で、外部アドレスに基づいた写像を送信する。写像は、演算処理装置（例えばクライアント６１０）の外部ネットワークアドレスと内部またはプライベートネットワークアドレスとの写像であってよい。いくつかの実施形態では、この写像を名前解析機器（例えば名前解析機器６１４）からネットワーク機器（例えばネットワーク機器６１２）へ送信することができる。
【０１２９】
ブロック１０１０で、ネットワークアドレスを受信する。いくつかの実施形態では、このネットワークアドレスは、名前解析要求への応答に用いられる外部ネットワークアドレスである。いくつかの実施形態では、上で述べたように、ネットワークアドレスに対応付けられたローカル・ネットワーク・アドレスまたはプレースホルダネットワークアドレスを決定する。
【０１３０】
ブロック１０１２で、外部ネットワークアドレスに基づく写像を送信する。この写像は、外部ネットワークアドレスと、外部ネットワークアドレスに対応付けられたローカル・ネットワーク・アドレスとを含んでよい。写像は、名前解析機器（例えば名前解析機器６２４）からネットワーク機器（例えばネットワーク機器６２２）へ送信することができる。
【０１３１】
ブロック１０１４で、名前解析要求に対する応答を送信する。この名前解析要求に対する応答は、ローカル・ネットワーク・アドレスまたはプレースホルダアドレスを含んでよい。いくつかの実施形態では、ローカル・ネットワーク・アドレスは、内部またはプライベートネットワーク範囲（例えばＩＰｖ４に規定の範囲）外のものであってよい。名前解析要求の送信元である演算処理装置は、これ以降、このローカル・ネットワーク・アドレスを使用して、名前解析要求の一部となっている名前を持った演算処理装置と通信を行うことができる。
【０１３２】
図１１は、いくつかの実施形態による、通信リンクを確立する工程の例示的なフロー図を示す。いくつかの実施形態では、図１１は、ここで述べるように、アドレス写像作成および解析システムを介して第１機器と第２機器の間に通信を確立する例示的な工程を示す。
【０１３３】
ブロック１１０２では、ここで述べるように、第２機器のアドレスを要求する通信が、第１機器からアドレス解析および写像作成システムへ送信される。いくつかの実施形態では、アドレス解析および写像作成システムは、第１ネットワーク内のアドレス指定可能な第１機器と、第２ネットワーク内のアドレス指定可能な第２機器との間に通信リンクを確立するように構成されている。いくつかの実施形態では、第１ネットワークと第２ネットワークは、第１ネットワークおよび第２ネットワーク内でアドレス指定が可能なアドレス解析および写像作成システムにより通信可能にリンクされている。
【０１３４】
ブロック１１０４では、ここで述べるように、第２ネットワーク内での第２機器のアドレスを、アドレス解析および写像作成システムによって解析する。
【０１３５】
ブロック１１０６では、ここで述べるように、アドレス解析および写像作成システムによって、第１ネットワーク内の第１写像作成可能アドレスが割り当てられる。
【０１３６】
ブロック１１０８では、ここで述べるように、第１機器は、アドレス解析および写像作成システムにより、第１写像作成可能アドレスで応答される。
【０１３７】
ブロック１１１０では、ここで述べるように、アドレス解析および写像作成システムが、第１写像作成可能アドレスと解析済みアドレスとの間に第１写像を作成する。
【０１３８】
ブロック１１１２では、ここで述べるように、アドレス解析および写像作成システムが、第２ネットワーク内の第２写像作成可能アドレスを割り当てる。
【０１３９】
ブロック１１１４では、ここで述べるように、アドレス解析および写像作成システムが、第２写像作成可能アドレスと第１ネットワーク内の第１機器のアドレスとの間に第２写像を作成する。いくつかの実施形態では、第１機器から第２機器への第１ネットワーク上での通信が、第１機器のアドレスから第１写像作成可能アドレスへ宛てられ、第２機器から第１機器への第２ネットワーク上での通信が、第２機器のアドレスから第２写像作成可能アドレスへ宛てられる。
【０１４０】
さて、図１２を参照すると、いくつかの実施形態に係る代表的な１つのコンピュータシステムのブロック図が示されている。図１２に関しては、図１−１１に記載された実施形態のような先に開示された実施形態を実施するための代表的なシステムモジュールである。いくつかの実施形態において、このシステムには、演算処理システム環境１２００のような汎用演算処理システム環境が含まれている。この演算処理システム環境１２００は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、モバイル機器、およびスマートフォンを含むことができるが、これらに限定されるものではない。その最も基本的な構成では、演算処理システム環境１２００には一般に、少なくとも１つの処理装置１２０２とコンピュータ可読型記憶媒体１２０４とが含まれている。演算処理システム環境の厳密な構成と種類とに左右されるが、コンピュータ可読型記憶媒体１２０４は、（ＲＡＭのような）揮発性のもの、（ＲＯＭ、フラッシュメモリーなどのような）不揮発性のもの、あるいはこれら２つの組み合わせであってよい。コンピュータ可読型記憶媒体１２０４のいくつかの部分は、実行されると、名前解析機能と写像作成機能とを遂行して、内部ネットワークあるいはプライベートネットワークが、ネットワークプロトコルで指定されたときにプライベートネットワークアドレス範囲あるいは内部ネットワークアドレス範囲の外側にあるネットワークアドレスを使用できるようにすることができる。
【０１４１】
加えて、さまざまな実施形態では、演算処理システム環境１２００には他の特徴的構成／機能性もまた備わっていてもよい。例えば、演算処理システム環境１２００には、磁気ディスク、あるいは磁気テープ、または光ディスクあるいは光学テープを含むが、これらに限定されない追加記憶機構（取り外し可能なものおよび／または取り外し不可能なもの）もまた含まれていてもよい。このような追加記憶機構は、取り外し可能な記憶装置１２０８および取り外し不可能な記憶装置１２１０によって図示されている。コンピュータ記憶媒体には、コンピュータ可読型命令、データ構造、プログラムモジュールあるいは他のデータのような情報を記憶するための任意の方法あるいは技術で実施される揮発性媒体および不揮発性媒体、取り外し可能媒体および取り外し不可能媒体が含まれる。コンピュータ可読型記憶媒体１２０４、取り外し可能な記憶装置１２０８および取り外し不可能な記憶装置１２１０はすべて、コンピュータ記憶媒体のいくつかの例である。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーあるいは他のメモリー技術、拡張型メモリー（例えば、ＵＳＢスティック、コンパクトフラッシュ（登録商標）カード、ＳＤカード）、ＣＤ−ＲＯＭ、デジタル・バーサタイル・ディスク（ＤＶＤ）あるいは他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置あるいは他の磁気記憶装置、または、所望の情報を記憶するために使用することができるとともに演算処理システム環境１２００によってアクセスすることができる他の任意の媒体が含まれるが、これらに限定されるものではない。このような任意のコンピュータ記憶媒体は演算処理システム環境１２００の一部であってもよい。
【０１４２】
いくつかの実施形態では、演算処理システム環境１２００に、他の機器と交信することのできる通信接続部１２１２が含まれていてもよい。通信接続部１２１２は通信媒体の一例である。通信媒体は一般に、コンピュータ可読型命令、データ構造、搬送波あるいは他の搬送機構のような変調データ信号のうちのプログラムモジュールあるいは他のデータを具体化するものであり、また、任意の情報配信媒体を含んでいる。用語「変調データ信号」とは、その特徴的な組を１つ以上有している信号かあるいはその信号の中における情報を符号化するような方式で変更された信号を意味している。例示として、また限定によることなく、通信媒体には、有線ネットワークあるいは直接有線接続のような有線媒体、および音声無線媒体、高周波（ＲＦ）無線媒体、赤外線無線媒体および他の無線媒体のような無線媒体が含まれる。この明細書の中で使用するとき、コンピュータ可読型媒体という用語には、記憶媒体および通信媒体の両方が含まれる。
【０１４３】
通信接続部１２１２によって、演算処理システム環境１２００は、ファイバチャネル、小型コンピュータ・システム・インターフェイス（ＳＣＳＩ）、ブルートゥース、イーサネット（登録商標）、Ｗｉ−Ｆｉ、赤外線データ通信機能標準化協会（ＩｒＤＡ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、インターネットのような広域ネットワーク（ＷＡＮ）、シリアルバス、およびユニバーサルシリアルバス（ＵＳＢ）が含まれるがこれらに限定されないさまざまなネットワーク型にわたって交信することができる。通信接続部１２１２が接続される上記のさまざまなネットワーク型は、トランスミッション・コントロール・プロトコル（ＴＣＰ）、ユーザ・データグラム・プロトコル（ＵＤＰ）、インターネットプロトコル（ＩＰ）、リアルタイム・トランスポート・プロトコル（ＲＴＰ）、リアルタイム・トランスポート・コントロール・プロトコル（ＲＴＣＰ）、ファイル・トランスファー・プロトコル（ＦＴＰ）、およびハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）が含まれるがこれらに限定されない複数のネットワークプロトコルを実行することのできるものである、ということが認識される。
【０１４４】
さらに別のいくつかの実施形態では、演算処理システム環境１２００に、キーボード、マウス、端末あるいは端末エミュレータ（直接接続されているか、あるいはテルネット、ＳＳＨ、ＨＴＴＰ、ＳＳＬなどを介して遠隔アクセスすることができるかのいずれかである）、ペン、音声入力装置、タッチ入力装置、遠隔制御装置などのような入力装置１２１４もまた含まれていてもよい。ディスプレイ、端末あるいは端末エミュレータ（直接接続されているか、あるいはテルネット、ＳＳＨ、ＨＴＴＰ、ＳＳＬなどを介して遠隔アクセスすることができるかのいずれかである）、スピーカー、ＬＥＤなどのような出力装置１２１６もまた含まれていてもよい。
【０１４５】
いくつかの実施形態では、コンピュータ可読型記憶媒体１２０４に名前解析・写像作成モジュール１２２０が含まれている。この名前解析・写像作成モジュール１２２０は、名前解析機能および写像作成機能によって、内部ネットワークあるいはプライベートネットワークがネットワークプロトコルで指定されたときにプライベートネットワーク範囲あるいは内部ネットワーク範囲の外側にあるネットワークアドレスを使用できるようにするために構成されている。名前解析・写像作成モジュール１２２０には、名前解析モジュール１２２２、写像作成モジュール１２２６、翻訳モジュール１２２８、プロキシモジュール１２３０、およびピア・ツー・ピアモジュール１２３２が含まれている。
【０１４６】
いくつかの実施形態では、これらのモジュールは、ゲートウェイ、ルータ、名前解析機器、ドメイン・ネーム・サーバ、プロキシ機器などが含まれる１つ以上の機器にわたって配置することができる。いくつかの実施形態では、これらのモジュールは、単一の機器によって実行、遂行などをすることができる。
【０１４７】
名前解析モジュール１２２２は、ある演算処理装置のネットワークアドレスに関連した記号名を解析する要求を処理するために構成されている。いくつかの実施形態では、名前解析モジュール１２２２に、ＤＮＳ機能性、ＤＨＣＰ機能性などが含まれていてもよい。写像作成モジュール１２２６は、上記演算処理装置に関連したあるローカル・ネットワーク・アドレスと上記演算処理装置に関連したある外部ネットワークアドレスの写像とを上記記号名に基づいて決定するために構成されている。いくつかの実施形態では、上記ローカル・ネットワーク・アドレスはプライベートＩＰｖ４アドレス範囲の外側にある。いくつかの実施形態では、上記演算処理装置の上記ネットワークアドレスはグローバルＩＰｖ４アドレス範囲の内側にある。
【０１４８】
翻訳モジュール１２２８は、上記写像作成モジュールによって決定された上記写像に基づいて依頼を処理するように構成されている。いくつかの実施形態では、翻訳モジュール１２２８にネットワークアドレス翻訳（ＮＡＴ）機能性が含まれている。プロキシモジュール１２３０は、あるＩＰｖ４アドレス空間についての１つのプライベートＩＰｖ４アドレス空間の外側におけるあるローカルアドレス空間からの依頼を処理するように構成されている。ピア・ツー・ピアモジュール１２３２は、あるプライベートＩＰｖ４アドレス空間の外側における第１ローカルアドレス空間からの依頼をあるプライベートＩＰｖ４アドレス空間の外側における第２ローカルアドレス空間について処理するように構成されている。
【０１４９】
さて、図１３を参照すると、いくつかの実施形態に係る別の代表的コンピュータシステムのブロック図が示されている。図１３には、本開示を実施するのに適したコンピュータシステム１３００のブロック図が描かれている。このコンピュータシステム１３００には、中央処理装置１３１４、システムメモリー１３１６（典型的にはＲＡＭであるが、ＲＯＭ、フラッシュＲＡＭなどもまた含まれてよい）、入力／出力制御装置１３１８、音声出力インターフェイス１３２２を介するスピーカーシステム１３２０のような外部音響装置、ディスプレイアダプタ１３２６を介するディスプレイスクリーン１３２４のような外部装置、シリアルポート１３２８および１３３０、キーボード１３３２（キーボード制御装置１３３３にインターフェイス接続された）、記憶インターフェイス１３３４、フロッピー（登録商標）ディスク１３３８を受け入れるように機能するフロッピー（登録商標）・ディスク・ドライブ１３３６、ファイバ・チャネル・ネットワーク１３６０へ接続されるように機能するホスト・バス・アダプタ（ＨＢＡ）インターフェイスカード１３３５Ａ、小型コンピュータ・システム・インターフェイス（ＳＣＳＩ）バス１３３６へ接続されるように機能するホスト・バス・アダプタ（ＨＢＡ）インターフェイスカード１３３５Ｂ、および光ディスク１３４２を受け入れるように機能する光ディスクドライブ１３４０のような、コンピュータシステム１３００の主要サブシステムバス１３１２が含まれている。さらに含まれているのは、マウス１３２７（あるいは、シリアルポート１３２８を介してバス１３１２へ連結された他のポイント・アンド・クリック装置）、モデム１３４６（シリアルポート１３３０を介してバス１３１２へ連結された）、およびネットワークインターフェイス１３４８（バス１３１２へ直接連結された）である。
【０１５０】
ネットワークインターフェイス１３４８は、１つ以上のイーサネット（登録商標）ポート、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）インターフェイスなどを含んでいるのが好ましいが、これらに限定されない、ということが認識される。システムメモリー１３１６には名前解析・写像作成モジュール１３５０が含まれているが、それは、名前解析および写像作成を行って、内部ネットワークあるいはプライベートネットワークが、ネットワークプロトコルによって指定されたプライベートネットワークアドレス範囲あるいは内部ネットワークアドレス範囲の外側にあるネットワークアドレスを使用できるようにするために構成されている。いくつかの実施形態によれば、名前解析・写像作成モジュール１３５０には、さまざまなタスクを果たすための他のいくつかのモジュール（例えば図１２のいくつかのモジュール）が含まれていてもよい。名前解析・写像作成モジュール１３５０は、上記システムの任意箇所に配置することができ、また、システムメモリー１３１６に限定されるものではない、ことが認識される。そのように、システムメモリー１３１６の内部に常駐させることは、単に代表的なことであり、これらの実施形態の適用範囲を限定することを意図するものではない。例えば、名前解析・写像作成モジュール１３５０の諸部品は、中央処理装置１３１４および／またはネットワークインターフェイス１３４８の内部に配置することができるが、それらに限定されることがない。
【０１５１】
先に留意したように、バス１３１２によって、中央処理装置１３１４と、読み出し専用メモリー（ＲＯＭ）あるいはフラッシュメモリー（どちらも示されていない）、およびランダム・アクセス・メモリー（ＲＡＭ）（示されていない）が含まれてもよいシステムメモリー１３１６との間のデータ通信が可能になる。ＲＡＭは一般に、その中にオペレーティングシステムおよびアプリケーションプログラムがロードされるメインメモリーである。ＲＯＭあるいはフラッシュメモリーにはとりわけ、周辺部品との相互作用のような基本的ハードウェアオペレーションを制御する他の規範である基本入出力システム（ＢＩＯＳ）が含まれていてもよい。コンピュータシステム１３００とともに常駐しているアプリケーションは一般に、ハードディスクドライブ（例えば固定ディスク１３４４）、光学ドライブ（例えば光学ドライブ１３４０）、フロッピー（登録商標）ディスク装置１３３６、あるいは他の記憶媒体のようなコンピュータ可読媒体に記憶することができるとともに同媒体を介してアクセスすることができる。加えて、これらのアプリケーションは、ネットワークモデム１３４６あるいはネットワークインターフェイス１３４８を介してアクセスされたときに上記アプリケーションおよびデータ通信技術に従って変調された電子式信号の形態にあってもよい。
【０１５２】
記憶インターフェイス１３３４は、コンピュータシステム１３００における他のいくつかの記憶インターフェイスのように、固定ディスクドライブ１３４４のような、情報の記憶および／または検索のための標準的なコンピュータ可読媒体へ接続することができる。固定ディスクドライブ１３４４は、コンピュータシステム１３００の一部品であってもよく、あるいは別個のものであってもよく、また、他のインターフェイスシステムを通じてアクセスすることができるものであってもよい。ネットワークインターフェイス１３４８によって、ネットワーク化された機器への多重接続をもたらすことができる。さらにまた、モデム１３４６によって、電話リンクを介する遠隔サーバへの、あるいはインターネット・サービス・プロバイダ（ＩＳＰ）を介する上記インターネットへの直接接続をもたらすことができる。ネットワークインターフェイス１３４８によって、ネットワーク接続された任意の数の他の機器から構成することのできるデータネットワークへの１つ以上の接続部がもたらされる。ネットワークインターフェイス１３４８によって、デジタル式携帯電話接続、セルラー・デジタル・パケットデータ（ＣＤＰＤ）接続、デジタル式衛星データ接続などが含まれる無線技術を利用して、そのような接続をもたらすことができる。
【０１５３】
他の多くの機器あるいはサブシステム（示されていない）は、同様の方法（例えば、ドキュメントスキャナ、デジタルカメラなど）で接続することができる。逆に、本開示を実施するためには、図１３に示された機器のすべてが存在している必要性は必ずしもない。これらの機器およびサブシステムは、図１３に示されたものとは異なった方法で相互接続することができる。本開示を実施するためのコードは、システムメモリー１３１６、固定ディスク１３４４、光ディスク１３４２、あるいはWINW（登録商標）ディスク１３３８のうちの１つ以上のようなコンピュータ可読媒体の中に記憶することができる。このコンピュータシステム１３００に設けられた上記オペレーティングシステムは、ＭＳ−ＤＯＳ（登録商標）、ＭＳ−ＷＩＮＤＯＷＳ（登録商標）、ＯＳ／２（登録商標）、ＵＮＩＸ（登録商標）、Ｌｉｎｕｘ（登録商標）、あるいは他の任意のオペレーティングシステムであってよい。
【０１５４】
さらにまた、この明細書の中に記載された信号に関して、当業者は、信号が第１ブロックから第２ブロックまで直接伝送される場合があること、あるいは、信号が上記ブロックどうしの間で修正され（例えば、増幅され、減衰され、遅延され、ラッチされ、緩衝され、反転され、濾波され、さもなければ修正され）る場合があることを認識するであろう。上記実施形態の信号は１つのブロックから次のブロックまで伝送されるものとして特徴付けられているが、本開示の他のいくつかの実施形態には、その信号の情報的かつ／または機能的な側面がブロックどうしの間に伝送される限り、そのように直接伝送された信号の代わりに、修正された信号が含まれていてもよい。第２ブロックで入力された信号は、その電気回路網に関係のある物理的限界（例えば、いくらかの減衰および遅延が必然的に存在するであろう）のために、第１ブロックから出力された第１信号に由来する第２信号としてある程度、概念化することができる。従って、この明細書の中で使用するとき、第１信号に由来する第２信号には、回路上の制限のためであるか、あるいは上記第１信号の情報的かつ／または最終機能的な側面を変化させることのない他の回路要素を経る通路のためであるかにかかわらず、上記第１信号かあるいは上記第１信号への任意の修正が含まれている。
【０１５５】
前述の記載は、説明の目的のために、特定のいくつかの実施形態を参照してなされてきた。しかしながら、上記の例示的検討は、網羅的なものであることを意図しておらず、または、上記実施形態を開示された厳密な形態に限定することを意図していない。上記教示を考慮して、多くの修正および変形が可能である。
【図１Ａ】
2019176511.tif 000003
【図１Ｂ】
2019176511.tif 000004
【図２】
2019176511.tif 000005
【図３】
2019176511.tif 000006
【図４】
2019176511.tif 000007
【図５】
2019176511.tif 000008
【図６】
2019176511.tif 000009
【図７】
2019176511.tif 000010
【図８】
2019176511.tif 000011
【図９】
2019176511.tif 000012
【図１０】
2019176511.tif 000013
【図１１】
2019176511.tif 000014
【図１２】
2019176511.tif 000015
【図１３】
2019176511.tif 000016