JP5809696B2 - 分散型仮想ネットワーク・ゲートウェイ - Google Patents

分散型仮想ネットワーク・ゲートウェイ Download PDF

Info

Publication number
JP5809696B2
JP5809696B2 JP2013516590A JP2013516590A JP5809696B2 JP 5809696 B2 JP5809696 B2 JP 5809696B2 JP 2013516590 A JP2013516590 A JP 2013516590A JP 2013516590 A JP2013516590 A JP 2013516590A JP 5809696 B2 JP5809696 B2 JP 5809696B2
Authority
JP
Japan
Prior art keywords
endpoint
address
data packets
computer
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013516590A
Other languages
English (en)
Other versions
JP2013533689A (ja
JP2013533689A5 (ja
Inventor
アルハティーブ,ハサン
オースレッド,ジェフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013533689A publication Critical patent/JP2013533689A/ja
Publication of JP2013533689A5 publication Critical patent/JP2013533689A5/ja
Application granted granted Critical
Publication of JP5809696B2 publication Critical patent/JP5809696B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

従来技術
[0001] 大規模なネットワーク接続システムは、サービス・アプリケーションを実行し、業務および動作機能のデーターを保持するための種々の設定において指しようされる一般的なプラットフォームである。例えば、データー・センター(例えば、物理的なクラウド計算インフラストラクチャー)は、複数の顧客に同時に種々のサービス(例えば、ウェブ・アプリケーション、電子メール・サービス、サーチ・エンジン・サービス等)を提供することができる。これらの大規模ネットワーク接続システムは、通例、データー・センター全体に分散された複数のリソースを含み、各リソースは、物理的ホストにおいて実行する物理装置または仮想装置に類似している。データー・センターが複数のテナント(例えば、顧客プログラム)をホストするとき、これらのリソースはデーター・センターから、これらのテナントの使用要件を満たすように、異なるテナントに割り当てられる。テナントに割り当てられる1組のリソースは、管理およびセキュリティのための分離が容易にできるように、論理サブネットまたは仮想サブネットに分類することができる。
[0002] データー・センターの顧客は、多くの場合、データー・センターのリソースにおいて実行するソフトウェアと相互作用するためには、企業の私的ネットワーク(例えば、データー・センターから地理的に離れた顧客によって管理されるサーバー)または他の第三者のネットワークにおいて実行するサービス・アプリケーションを必要とする。この相互作用を実現しつつ、テナントに割り当てられたリソースを、他のテナントに割り当てられたリソースから安全に分離するために、ホスト側のサービス・プロバイダは、仮想サブネット内にあるテナントに属する全ての装置間、またはホスト・ハイパーバイザーおよびテナントのリモート・リソースによって管理されるリソース間におけるネットワーク・ゲートウェイとしての役割を果たす1つの集中ルーティング・メカニズムを採用することができる。しかしながら、集中ルーティング・メカニズムを採用するというこのアーキテクチャは、有効ではない。何故なら、動作が、このメカニズムがサーブする装置/リソースに対するこのメカニズムの物理的な近接度に依存するからである。例えば、装置/リソースがデーター・センターの異なる部分にある場合または異なる場所にある(データー・センターおよび企業の私的ネットワークに跨がる)場合、少なくとも一部の装置/リソースは、他の装置/リソースもドライバーを利用している間、このドライバーとの接続においてレイテンシーが大きくなり帯域幅が狭くなる問題に直面する。つまり、集中ルーティング・メカニズムは、特定の仮想サブネットに出入りする通信にとって慢性的な輻輳ポイントになる。更に、装置/リソースは、この集中ルーティング・メカニズムを全ての通信が通過するように制限されると、最適ではないルートを通ってデーター・パケットを送信させられることになる。
[0003] したがって、物理装置(ローカル装置ネットワーク・スタックに組み込む)または仮想装置(仮想交換ネットワーク・スタックに組み込む)の中にドライバーを埋め込むことによって、仮想ネットワーク・ゲートウェイまたはドライバーをデーター・センター全域に分散させる新興技術を採用すれば、最適なネットワーク経路を発見し利用することによってデーター・パケットの送信を促進し、ゲートウェイの機能を分散させることによってネットワークの輻輳を低減し、データー・センターの顧客の通信を更に分離するのに役立つであろう。
[0004] この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化された形式で紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。
[0005] 本発明の実施形態は、先に述べた問題に取り組む、分散型仮想ネットワーク・ゲートウェイのアーキテクチャーを提供する。これらのゲートウェイは、ドライバーの形態をなすことができ、物理装置(ローカル装置ネットワーク・スタックに組み込む)または仮想装置(仮想交換ネットワーク・スタックに組み込む)の中にこれらのドライバーを埋め込むことによって、データー・センター全域に、ドライバーをプロビジョニングすることができる。以下で詳しく説明するが、このドライバーは、最適なネットワーク経路を発見し利用することによってデーター・パケットの送信を促進し、ゲートウェイの機能を分散させることによってネットワークの輻輳を低減し、データー・センターの顧客の通信を更に分離するように機能する。更に、このドライバーは、クラウド計算プラットフォームにおいて実行する顧客のサービスの保全性を保護する。クラウド計算プラットフォームは、複数のテナント(例えば、クラウド当たり数万箇所)がクラウド・サービス・データー・センターの中にある計算リソースを共有することを可能にする。
[0006] 一般に、前述のドライバーは、サービス・アプリケーションに割り当てられたエンドポイント間における通信の最も適したフォーマットおよび経路を選択しつつ、データー・センターにおける他のリソースから割り当てられたネットワーク・アダプターを仮想的に区分することをサポートする。明確化のために、エンドポイントは、仮想装置(VM)および/または物理装置にインスタンス化されているネットワーク・アダプターを含むことができる。通信の中でデーター・パケットのフォーマットおよび経路の選択を行うために、実施形態では、ドライバーはディレクトリー・サービスに働きかけ、ディレクトリー・サービスは、ドライバーがそれぞれのソース・エンドポイントおよび宛先エンドポイントに対してルーティングを決定するときに、ドライバーを補助する。ディレクトリー・サービスから戻された情報によって増強され、ドライバーはそこからのデーター・パケットのルーティングを適正に管理し、同時に、データー・パケットを適正に変換することによって、不正な通信を防止するように機能する。
[0007] 一実施形態例では、ドライバーは、仮想化ゲートウェイ機能を、物理ネットワークの中にあるノードの複数の仮想化エンドポイントに分散させるように動作する。最初に、ネットワーク・ノードにインスタンス化されたエンドポイントと協同するために、ドライバーがプロビジョニングされる。更に、仮想インターネット・プロトコル(IP)アドレスと位置依存アドレスとの間のマッピング、およびネットワーク内のエンドポイントを接続する既知の経路にしたがって、変換動作を列挙するテーブルを維持するために、ディレクトリー・サービスが実施される。ドライバーの各々は、中央位置においてドライバーから除去されたときに、ディレクトリー・サービスとの通信が可能であり、またドライバー内部に組み込まれたとき、ディレクトリー・サービスにローカルにアクセスすることができる。
[0008] 動作において、受信側エンドポイントは、特定のドライバーにリンクされており、1つ以上のデーター・パケットを受信することができる。ドライバーは、データー・パケットのヘッダを読み取って、ソースIPアドレスおよび宛先IPアドレスを確認することができる。更に、ドライバーは、ソースおよび宛先IPアドレスを、ルーティング情報要求の中にパッケージ化し、この要求をディレクトリー・サービスに、内部または外部のいずれにでも伝えることができる。ディレクトリー・サービスは、このドライバーからの要求に対して、ソースおよび宛先IPアドレスによってマッピングを調べることによって、転送経路の適した位置依存アドレスを回答することができる。加えて、ディレクトリー・サービスは、転送路で表を調べることによって、この要求に対して、適した変換動作(1つまたは複数)を回答することができる。この変換動作(1つまたは複数)は、以下の内1つ以上を含むことができる。位置依存アドレスを含むようにデーター・パケットのヘッダを書き換える。位置依存アドレスを伝えるヘッダと共に組み立てられたそれぞれの外部データー・パケットの中に、内部データー・パケットとして、データー・パケットをカプセル化する。または、トンネリング・プロトコルを使用してデーター・パケットを構成する(例えば、データー・センターまたは顧客によって作られたサービス・モデルのセキュリティ・ポリシー毎に)。
[0009] ドライバーにおいてルーティング情報を受信すると、このドライバーは、転送経路および変換動作を受信側エンドポイントに配信することができる。一方、受信側エンドポイントは転送路を実施し、そこからデーター・パケットを送信するときに変換動作を適用する。他の実施形態では、ドライバーは、その機能を実行することをエンドポイント(例えば、受信側エンドポイント)に頼るのではなく、適した変換動作を直接データー・パケットに対して実行することができる。
[0010] したがって、ドライバーおよびディレクトリー・サービスが調和して動作してインフォームド・ルーティング決定(informed routing decision)を行ったとき、ドライバーにリンクされている受信側エンドポイントに、最適なネットワーク経路の選択肢を提供することができ、これによってネットワークの輻輳を低減し、更に適した変換動作を提供することができ、これによってデーター・センター外部における送信の分離を実現する。
[0011] 本発明の実施形態について、添付図面を参照しながら説明する。
図1は、本発明の実施形態を実現するときに使用するのに適した計算環境例のブロック図である。 図2は、本発明の実施形態を実現するときに使用するのに適しており、データー・センター内にドライバーをプロビジョニングしその動作をやりやすくするように構成されている、クラウド計算プラットフォーム例のブロック図である。 図3は、本発明の一実施形態にしたがって、仮想ネットワーク・アドレスを物理ネットワーク経路および変換動作に分解するアーキテクチャー例の模式図である。 図4は、本発明の一実施形態にしたがって、ディレクトリー・サービスから分散されるルーティング情報をルーティング決定に適用する判断ツリー例の模式図である。 図5は、本発明の一実施形態にしたがって、ドライバーからの要求に応答して、適した物理ネットワーク経路および変換動作を特定する方法を示す流れ図である。
[0017] 本発明の主題について、本明細書では、法的要件を満たすために具体性をもって説明する。しかしながら、説明自体は、本特許の範囲を限定することは意図していない。むしろ、本発明者は、特許請求する主題は、本文書において記載するステップとは異なるステップまたは同様のステップの組み合わせを含むように、他の現在または今後の技術と関連付けて、別の方法で具体化してもよいことを想定している。更に、「ステップ」および/または「ブロック」という用語は、本明細書においては、採用される方法の異なるエレメントを言外に意味するために使用することもできるが、個々のステップの順序が明示的に記載されているのでなければ、そして記載されている場合を除いて、この用語は、本明細書において開示される種々のステップ間において、いかなる特定の順序をも暗示するように解釈してはならない。
[0018] 本発明の実施形態は、局在的に仮想化ゲートウェイ機能を設ける分散型ドライバーにおいてインフォームド・ルーティング決定を行う方法、コンピューター・システム、およびコンピューター読み取り可能媒体に関する。
[0019] 一態様では、本発明の実施形態は、コンピューター実行可能命令が具体化されている1つ以上のコンピューター読み取り可能媒体であって、前記命令が実行されると、エンドポイント間におけるデーター・パケットの配信を管理する方法を実行する1つ以上のコンピューター読み取り可能媒体に関する。実施形態では、この方法は、第1エンドポイントにおいて1つ以上のデーター・パケットを検出するステップを含む。通例、データー・パケットの各々は、ソース・アドレスおよび宛先アドレスを含むヘッダを含む。第1エンドポイントと関連のあるドライバーが、応答をディレクトリー・サービスに送ることができる。一実施形態例では、この要求は、ソース・アドレスおよび宛先アドレス、またはその何らかの指示を伝える。この要求を受けると、ディレクトリー・サービスは参照を実行して、ソース・アドレスおよび宛先アドレスを転送路および変換動作に変換する。この転送路および変換動作は、ディレクトリー・サービスからドライバーに応答の中で送ることができる。しかしながら、ドライバーおよびエンドポイントは、発信、受信側、およびターゲット・エンドポイントに関するディレクトリー・サービスにおける規則に一致しし損ねたデーター・パケットの内1つ以上を欠落させる能力も維持する。このデーター・パケットを欠落させる能力によって、ネットワーク内において分離を施行する権限をドライバーに与える。
[0020] 応答を受信すると、ドライバーは、ルーティング決定を実行することができる。このルーティング決定は、部分的に、第1エンドポイントが、データー・パケットの発信エンドポイントか、またはデーター・パケットをターゲット・エンドポイントに転送するように動作する受信側エンドポイントか、またはターゲット・エンドポイントかに基づく。第1エンドポイントが発信エンドポイントを表すとき(ソース・アドレスによって特定される)、ルーティング決定によって以下の変換動作の内1つ以上を行うことができる。(a)位置依存アドレスを含めるようにデーター・パケットのヘッダを書き換える。(b)データー・パケットをそれぞれの外部データー・パケットの中に内部データー・パケットとしてカプセル化する。外部データー・パケットは、各々、位置依存アドレスを伝えるヘッダを含む。または、(c)データー・パケットにトンネリング・プロトコルを設定する。第1エンドポイントが受信側エンドポイントを表すとき、ルーティング決定によって以下の変換動作の内1つ以上を行うことができる。(a)他のネットワーク経路を通って、カプセル化されたデーター・パケット、またはヘッダが書き換えられたデーター・パケットを転送する。(b)トンネルを介して、カプセル化されたデーター・パケット、またはヘッダが書き換えられたデーター・パケットを転送する。または、(c)トンネリング・プロトコルをデーター・パケットから除去する。第1エンドポイントがターゲット・エンドポイントを表すとき(宛先アドレスによって特定される)、ルーティング決定によって以下の変換動作の内1つ以上を行うことができる。(a)カプセル化されたデーター・パケットを分解する。(b)書き換えられたデーター・パケットのヘッダを復元する。または、(c) 消費の準備をするために、データー・パケットからトンネリング・プロトコルを除去する。
[0021] 他の態様では、本発明の実施形態は、エンドポイント間における通信をサポートし分離するコンピューター・システムに関する。最初に、このコンピューター・システムは、ディレクトリー・サービス、第1エンドポイント、第2エンドポイント、および第1エンドポイントにローカルにプロビジョニングされたドライバーを含む。一般に、ディレクトリー・サービスは、仮想インターネット・プロトコル(IP)アドレスと物理ネットワークの位置依存アドレスとの間のマッピングを維持する。動作において、第1エンドポイントは、ソースIPアドレスおよび宛先IPアドレスを含むヘッダと共に組み立てられた1つ以上のデーター・パケットを生成し始めることができる。この場合、ソースIPアドレスは第1(発信)エンドポイントを指し示し、宛先IPアドレスは第2(ターゲット)エンドポイントを指し示す。
[0022] 第1エンドポイントがノード(例えば、物理装置または仮想装置)から第2エンドポイントにデーター・パケットを送信しようとしていることを検出すると、ドライバーはルーティング決定を実行する。一実施形態例では、第1エンドポイントによって作られた接続毎に、ドライバーによって別個のルーティング決定が呼び出され実行される。実施形態では、ルーティング決定の実行は、限定ではないが、以下のステップを伴う。ディレクトリー・サービスと通信して、部分的にソースIPアドレスおよび宛先IPアドレスに基づいて、転送路および変換動作を決定するステップと、第1エンドポイントおよび第2エンドポイントが共通のデーター・センター内に存在するか否か判断するステップと、ソースIPアドレスおよび宛先IPアドレスが除去されると第2エンドポイントがデーター・パケットのヘッダを変換できないか否か判断するステップ。
[0023] 第1エンドポイントおよび第2エンドポイントが共通のデーター・センター内に存在すると判断したとき、ドライバーはソースIPアドレスおよび宛先IPアドレスを、転送路の位置依存アドレスでそれぞれ書き換えることができる。他の実施形態では、ドライバーは、データー・パケットをそれぞれの外部データー・パケットの中に内部データー・パケットとしてカプセル化することができ、各外部データー・パケットは、転送路の位置依存アドレスを露出するヘッダを含む。カプセル化の変換動作を呼び出す様々なシナリオがある。一例では、ソースIPアドレスおよび宛先IPアドレスが除去されると第2エンドポイントがデーター・パケットのヘッダを変換できないと判断したときに、カプセル化がトリガーされる。カプセル化が必要となる可能性がある他の可能なシナリオには、(a)ソースおよび宛先IPアドレスの間に何らかの形態のネットワーク変換(NAT)が存在することを検出する、および/または(b)ソースおよび宛先IPアドレスから、それらの位置依存アドレスおよびそれらの仮想IPアドレスからはもはや1対1のマッピングがなくなるように、第1および第2エンドポイント(例えば、発信およびターゲット・ネットワーク・アダプター)が複数の仮想ネットワークに及ぶことを認識することを含むことができる。
[0024] 変換動作が、第1エンドポイントと前記第2エンドポイントとの間における安全な接続に保護レイヤーを設けることを命令すると判断したときに、ドライバーは、受け入れた変換動作に基づいて、データー・パケットを変換することができる。一例では、この変換動作は、トンネリング・プロトコル(例えば、セキュア・ソケット・トンネリング・プロトコル(SSTP)またはインターネット・プロトコル・セキュリティ(IPsec))をデーター・パケットに適用することを伴う。
[0025] 更に他の態様では、本発明の実施形態は、分散型仮想ネットワーク・ゲートウェイからの要求に応答して、ネットワーク経路および変換動作を特定するコンピューター化方法に関する。最初に、この方法は、仮想インターネット・プロトコル(IP)アドレスと位置依存アドレスとの間のマッピングを維持するディレクトリー・サービスを設けるステップを含む。また、ディレクトリー・サービスは、適した変換動作を認識する表も維持する。一例では、この表は、ネットワーク内部においてエンドポイントを接続する経路全域におけるデーター・パケット・トラフィックを管理する通信ポリシーにしたがって設計される。他の例では、この表は、顧客のサービス・アプリケーションをホストするデーター・センターのホストに対して作られたサービス・モデル(例えば、サービス・レベル同意(SLA))に基づく。
[0026] 更に、この方法は、受信側エンドポイントと通信する仮想ネットワーク・ゲートウェイから要求を受けるステップも含むことができる。通例、この要求は、受信側エンドポイントによって受け入れられた1つ以上のデーター・パケットのヘッダによって伝えられたソースIPアドレスおよび宛先IPアドレスの指示を含む。この要求を受けると、ディレクトリー・サービスは、以下の参照手順の内少なくとも1つを実行することができる。物理ネットワークを通るデーター・パケットの転送路を構成する、対応する位置依存アドレスを特定するために、ソースIPアドレスおよび宛先IPアドレスによって、マッピングを検査する。または、対応する変換動作を特定するために、転送路によって表を検査する。以下で更に詳しく論じられるが、変換動作は、限定ではないが、以下の内1つ以上を伴うことができる。位置依存アドレスを含めるために1つ以上のデーター・パケットのヘッダを書き換える。1つ以上のデーター・パケットをそれぞれの外部データー・パケットの中に内部データー・パケットとしてカプセル化する。外部データー・パケットは、各々、前記位置依存アドレスを伝えるヘッダを含む。または、1つ以上のデーター・パケットにトンネリング・プロトコルを設定する。最終的に、ディレクトリー・サービスは、特定した転送路および前記特定した変換動作の指示を、仮想ネットワーク・ゲートウェイに配信する応答を戻すことができる。
[0027] 以上、本発明の実施形態の全体像について端的に説明したので、本発明の実施形態を実現するのに適した動作環境例について以下に説明する。
[0028] 図面全体を参照し、最初に図1を特に参照すると、本発明の実施形態を実現する動作環境例が示されており、全体的に計算デバイス100と呼ぶことにする。計算デバイス100は、適した計算環境の一例に過ぎず、本発明の使用範囲や機能に対して何の限定も示唆することは意図していない。また、計算デバイス100が、図示されているコンポーネントの任意の1つまたはその組み合わせに関しても、何らかの依存性や要件も有するように解釈してはならない。
[0029] 本発明の実施形態は、コンピューター・コードまたは装置使用可能命令という一般的なコンテキストで説明することができる。本発明は、コンピューターあるいはパーソナル・データー・アシスタントまたはその他のハンドヘルド・デバイスのようなその他の装置によって実行される、プログラム・コンポーネントのようなコンピューター実行可能命令を含む、コンピューター・コードまたは装置使用可能命令という一般的な文脈で説明することができる。一般に、プログラム・コンポーネントは、ルーチン、プログラム、オブジェクト、コンポーネント、データー構造等を含み、特定のタスクを実行するコード、および/または特定の抽象的データー型を実装するコードに言及する。本発明は、ハンドヘルド・デバイス、消費者用電子機器、汎用コンピューター、特殊計算デバイス等を含む、種々のシステム構成において実用化することができる。また、本発明は、分散型計算環境においても実用化することができ、その場合、通信ネットワークを通じてリンクされているリモート処理デバイスによってタスクが実行される。
[0030] 図1を参照すると、計算デバイス100は、以下のデバイスを直接的または間接的に結合するバス110を含む。メモリー112、1つ以上のプロセッサー114、1つ以上の外部記憶コンポーネント116、入出力(I/O)ポート118、I/Oコンポーネント120、および例示的な電源122である。バス110は、1系統以上のバス(アドレス・バス、データー・バス、またはその組み合わせ等)であってもよいものを表すことができる。図1の種々のブロックは、明確化のために、線で示すが、実際には、種々のコンポーネントの区分けはそれほど明確でなく、比喩的には、これらの線をもっと正確に示すとすれば、灰色で曖昧となるであろう。例えば、ディスプレイ・デバイスのようなプレゼンテーション・コンポーネントをI/Oコンポーネントであると考えることもできる。また、プロセッサーはメモリーを有する。本発明の発明者はこのようなことは技術の本質であると認識しており、図1の線図は、本発明の1つ以上の実施形態と合わせて使用することができる計算デバイスの一例を例示するに過ぎないことを繰り返しておく。「ワークステーション」、「サーバー」、「ラップトップ」、「ハンドヘルド・デバイス」等というようなカテゴリー間では区別を行わない。これは、全てが図1の範囲に該当すると考えられ、「コンピューター」または「計算デバイス」を指すからである。
[0031] 計算デバイス100は、通例、種々のコンピューター読み取り可能媒体を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、ランダム・アクセス・メモリー(RAM)、リード・オンリー・メモリー(ROM)、電子的消去可能プログラマブル・リード・オンリー・メモリー(EEPROM)、フラッシュ・メモリーまたは他のメモリー技術、CDROM、ディジタル・バーサタイル・ディスク(DVD)あるいは他の光学またはホログラフ媒体、磁気カセット、磁気テープ、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができそしてコンピューター100によってアクセスされる他の任意の媒体も含むことができる。
[0032] メモリー112は、揮発性および/または不揮発性メモリーの形態としたコンピューター記憶媒体を含む。このメモリーは、リムーバブル、非リムーバブル、またはその組み合わせでもよい。ハードウェア・デバイスの例には、ソリッド・ステート・メモリー、ハード・ドライブ、光ディスク・ドライブ等が含まれる。計算デバイス100は、メモリー112またはI/Oコンポーネント120のような種々のエンティティからデーターを読み取る1つ以上のプロセッサーを含む。プレゼンテーション・コンポーネント(1つまたは複数)116は、データー指示をユーザまたは他のデバイスに提示する。プレゼンテーション・コンポーネントの例には、ディスプレイ・デバイス、スピーカー、印刷コンポーネント、振動コンポーネント等が含まれる。I/Oポート118は、I/Oコンポーネント120を含む他のデバイスに計算デバイス100を論理的に結合することを可能にする。これら他のデバイスの一部は内蔵されていてもよい。例示的なI/Oコンポーネントには、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー、プリンター、ワイヤレス・デバイス等が含まれる。
[0033] 図1および図2を参照すると、ノード211およびノード212は、図1の計算デバイス例100によって実現することができる。更に、エンドポイント201,202、および230は、図1のメモリー112の一部にアクセスし、図1のプロセッサー114の一部において実行することができる。同様に、ドライバー223および233は、ローカル・ゲートウェイ機能をVMスイッチ222(仮想装置270および275におけるエンドポイント201および202をサポートする)の仮想スイッチ・ネットワーク・スタック内および/または物理装置(1つまたは複数)(エンドポイント230をサポートする)に対するローカル装置ネットワーク・スタック内に埋め込み、図1のメモリー112の一部にアクセスし、図1のプロセッサー114の一部において実行することができる。
[0034] これより図2に移ると、本発明の一実施形態によるブロック図が示されており、種々の変換形態を使用してディレクトリー・サービス220から収集されたルーティング情報を使用することによって、ドライバー223および233においてルーティング決定を実行するように構成されているクラウド計算プラットフォーム例200を示す。実施形態では、1つのクラウド計算プラットフォーム200に動作可能に結合されるものとして図示されているが、ディレクトリー・サービス220は特定のクラウドの範囲外に存在することもできる(即ち、ディレクトリー・サービス220は、公衆および私的クラウド(1つまたは複数)に跨がって共有されるクラウドを表すことができる)。この種々のクラウドと共に動作する能力によって、ディレクトリー・サービスは、ネットワークが複数のクラウドに及ぶをことを可能にする。
[0035] 尚、図2に示されているクラウド計算プラットフォーム200は、1つの適した計算システム環境の例に過ぎず、本発明の実施形態の使用範囲や機能に関して、何の限定をも示唆することも意図していないことは言うまでもない。例えば、クラウド計算プラットフォーム200は、公衆クラウド、私的クラウド、または専用クラウドであってもよい。また、クラウド計算プラットフォーム200が、図示されているコンポーネントの任意の1つまたはその組み合わせに関しても、何らかの依存性や要件も有するように解釈してはならない。更に、図2の種々のブロックは、明確化のために、線で示されているが、実際には、種々のコンポーネントの区分けはそれほど明確でなく、比喩的には、これらの線をもっと正確に示すとすれば、灰色で曖昧となるであろう。加えて、任意の数の物理装置、仮想装置、データー・センター、エンドポイント、またはその組み合わせを採用して、本発明の実施形態の範囲内で所望の機能を達成することもできる。
[0036] クラウド計算プラットフォーム200は、サービス・アプリケーションおよび他のソフトウェアをホストするノード(例えば、ノード211および212)を含む1つ以上のデーター・センター(例えば、データー・センター225)を含むことができる。本発明の実施形態によれば、ノード211および/または212は、例えば、パーソナル・コンピューター、デスクトップ・コンピューター、ラップトップ・コンピューター、移動体デバイス、消費者用電子デバイス、サーバー(1つまたは複数)、図1の計算デバイス100等というような、任意の形態の計算デバイスを含む物理装置を表すことができる。他の実施形態では、ノード211および/または212は、仮想装置を表すことができ、または仮想装置270および275のような、仮想装置の動作のための基礎的サポートを行うことができる。動作において、仮想装置270および275はデーター・センター225のテナントの動作をサポートする。本明細書において使用される場合、「テナント」という用語は、一般に、クラウド計算プラットフォーム200の顧客によって所有されるサービス・アプリケーションのコンポーネント・プログラム(例えば、種々の役割のインスタンス)を指す。
[0037] 一般に、仮想装置270および275は、サービス・アプリケーションに対して出される要求(例えば、処理負荷の量)に基づいて、サービス・アプリケーションのエンドポイント201および202に割り当てられる。本明細書において使用される場合、「仮想装置」という用語は、限定であることを意図するのではなく、エンドポイント201および202の機能の基盤を成すために演算装置によって実行される任意のソフトウェア、アプリケーション、オペレーティング・システム、またはプログラムを指すことができる。他の実施形態では、仮想装置は、データー・センター225のテナントをサポートするためにノードから掘り出された(carved out)処理能力およびメモリー・リソースを指す。このように、ノード211は、仮想装置270および275の動作をホストおよびサポートしつつ、同時に、データー・センター225の他のテナントをサポートするために掘り出された他の仮想装置をホストし、これらのテナントは、異なる顧客によって所有される他のサービス・アプリケーションのエンドポイントを含む。したがって、仮想装置270および275は、エンドポイント201および202を適正にサポートするために、処理能力、記憶場所、およびデーター・センター225内にある他のアセット(assets)を含むことができる。
[0038] 動作において、仮想装置270および275は、データー・センター225のリソース(例えば、ノード211)内部で動的に割り当てられ、エンドポイント(例えば、エンドポイント201および202)は、現在の処理負荷を履行するために、割り当てられた仮想装置270および275に動的に置かれる。一例では、ファブリック・コントローラー232が、データー・センター225内にエンドポイント201および202を置くために、仮想装置270および275を自動的に割り当てる役割を担う。一例として、ファブリック・コントローラー232は、サービス・モデル(例えば、サービス・アプリケーションを所有する顧客によって設計される)を拠り所として、どのようにそしていつ仮想装置270および275を割り当てるかについて指針を与え、そしてそこにエンドポイント201および202を設置することができる。
[0039] 一例では、ノード211および212は、エンドポイント201、202、および230の動作をホストおよびサポートする。「エンドポイント」という用語は、限定を意図しているのではなく、ノード、物理装置、またはVMにおいて実行するサービス・アプリケーション(即ち、データー・センター225のテナント)あるいはネットワーク・アダプターのプラグラム・コンポーネントを含むことができる。一態様において、エンドポイント201、202、および230は、クラウド計算プラットフォーム200のコンテキストの中で動作し、したがって、それらの間に動的に作られる接続を介して内部で通信する。他の態様では、エンドポイント201、202、および230は、物理ネットワーク・トポロジーを介して、外部のリモート・ネットワークのリソース(例えば、図3の企業私的ネットワーク325のリソース375)に通信する。外部接続は、更に、データー・センター225の物理リソースに跨がって分散されたエンドポイントに、ネットワーク(図示せず)を介して相互接続することを必要とすることもある。一実施形態では、エンドポイント230によって示されるように、ネットワークはこれらのリソースを直接相互接続して、発信エンドポイント(データー・パケットを生成する)が受信側エンドポイント(データー・パケットをターゲット・エンドポイントに転送する)の位置またはターゲット・エンドポイント(データー・パケットを消費する)の位置を認識し、これらの間で通信を行うこともできる。他の実施形態では、ネットワークは間接的にリソースを相互接続し、それぞれ仮想装置270および275にホストされているエンドポイント201または202に宛てられたデーターのパケットが、同じノードに存在するしかるべきエンドポイントにローカルに配信される前に、ネットワークを介して導き直され、VMスイッチ222に配信されるようにすることもできる。加えて、ネットワークは、チャネル(例えば、セキュア・トンネル)を介して通信を作ることによって、追加の保護レイヤーを実現するか、またはサービス・アプリケーション(1つまたは複数)のエンドポイント間における接続に対して標準的なセキュリティ対策を採用することもできる。一例として、チャネルは、限定ではなく、1つ以上のローカル・エリア・ネットワーク(LAN)および/またはワイド・エリア・ネットワーク(WAN)を含むことができる。このようなネットワーク接続環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネット、およびインターネットでは極普通である。したがって、ネットワークについては本明細書ではこれ以上説明しない。
[0040] クラウド計算プラットフォーム200は、特定のサービス・アプリケーションに割り当てられたエンドポイント201、202、および230の動作をホストおよびサポートするように構成されている。「サービス・アプリケーション」という句は、本明細書において使用される場合、データー・センター225、クラウド計算プラットフォーム200内にある他のデーター・センター、顧客の家屋に配置されている企業私的ネットワークにおけるリソース(例えば、図3の企業私的ネットワーク325のリソース375)、および/または第三者ネットワーク(例えば、図3の第三者ネットワーク335のリソース325)におけるリソースの上で実行する、あるいはその内部にある記憶位置にアクセスする、任意のソフトウェア、ソフトウェアの一部に広く言及する。先に論じたように、エンドポイント201、202、および230は、サービス・アプリケーション(1つまたは複数)に関与する役割のソフトウェアの一部、コンポーネント・プログラム、またはインスタンスを表すことができる。他の実施形態では、エンドポイント201、202、および230は、サービス・アプリケーションにアクセス可能な、格納されているデーターを表すこともできる。尚、図2に示されているエンドポイント201、202、および230は、サービス・アプリケーションをサポートするのに適した部分の一例に過ぎず、本発明の実施形態の数、使用範囲、または機能に関して何の限定も示唆する意図はないことは言うまでもないことであり、認められるであろう。
[0041] 1つのサービス・アプリケーションは、1つのデーター・センター225における2つのノード211および212に跨がって分散されているものとして説明されているが、種々のデーター・センターまたは他の適したデバイス内にある任意の数のノードに存在する任意の数のサービス・アプリケーションを使用することができ、本発明の実施形態は、ここに記載されるノード、サービス・アプリケーション、およびデーター・センター(1つまたは複数)には限定されないことは言うまでもない。更に、任意の数のエンドポイントがノード内にインスタンス化されてもよく、および/またはサービス・アプリケーション(1つまたは複数)に割り当てられてもよく、図2および図3に示されているエンドポイントは、説明の目的のみに限って示されている。
[0042] 一例では、データー・センター225のアーキテクチャーは、クラウド計算プラットフォーム200の管理システム(例えば、ファブリック・コントローラ232)またはアドミニストレーターが、サービス・アプリケーションをサポートするために、新たなエンドポイントをインスタンス化することまた現在のエンドポイントを割当し直すことを可能にする。また、ファブリック・コントローラ232は、エンドポイント201、202、および230を接続するために、ネットワーク経路およびトンネルを構築および分解することもできる。更に、ファブリック・コントローラ232は、周期的にデーター・センター225のトポロジーのスナップショットを撮ることもできる。これらのスナップショットは、データー・センター・ネットワークを通って現在作られているネットワーク経路およびトンネル、ならびにエンドポイントのアドレスを記録することができる。これらのスナップショットは、ディレクトリー・サービス220に中継されその中に格納することもできる。実施形態では、ディレクトリー・サービス220は、物理ネットワークの位置依存アドレスと関連付けて仮想IPアドレスを格納するように構成することもできる。更に、ディレクトリー・サービス220は、データー・センター・ネットワークのそれぞれのネットワーク経路およびトンネルと関連のある変換動作を格納するように構成することもできる。このように、サービス・アプリケーションのサービス・モデルのセキュリティ・ポリシーが、サービス・アプリケーションのテナント間で送信されるデーター・パケットに対して、ディレクトリー・サービス220によって実施される。
[0043] 先に論じたように、本発明の実施形態は、物理レイヤー(実線)内にあるネットワーク経路およびトンネルを利用することによって、仮想レイヤー(破線)を跨いだエンドポイント間における通信を可能にするアーキテクチャーを導入する。物理レイヤー内では、エンドポイントはリンクのネットワークを介して到達可能である。一般に、集中ルーティング・メカニズムに全ての通信を通過させるのを回避し、こうしてネットワーク輻輳を回避するために、相互作用するエンドポイントの位置に基づいて、ネットワークの適したリンクをインテリジェントに選択することが好ましい。物理レイヤー・リンクのインテリジェントな選択、および選択されたリンクを横断するデーター・パケットの適した変換を達成するために、実施形態では、調和して動作する2つの異なる技術、即ち、ドライバー223および233、ならびにディレクトリー・サービス220によって、アーキテクチャーがサポートされる。
[0044] ドライバー223および233は、1つ以上のエンドポイントと関連付けられており、更にドライバーが補助するエンドポイントのタイプの関数として、データー・センター225内に埋め込まれている。エンドポイント(例えば、エンドポイント230)が物理装置(例えば、ノード212)においてホストされている場合、ドライバー233は、データー・パケットを直接エンドポイント間のトラフィックに入れるホスト・スイッチ(図示せず)内に実装される。この実施形態では、1つ以上のデーター・パケットがエンドポイント230に到着したことまたはエンドポイント230から発信したことを検出すると、ドライバー233は、ディレクトリ・サービス220に要求273を送ることによって、ルーティング情報を要請することができる。要求273は、データー・パケットのヘッダ内に組み込まれているソースIPアドレスおよび宛先IPアドレスを伝える。ルーティング情報の要求273を受けると、ディレクトリー・サービス220は、応答274で回答することができる。応答274は、データー・パケットの転送路、およびこの転送路に適した変換動作を伝える。
[0045] エンドポイント(例えば、エンドポイント201および202)が仮想装置(例えば、仮想装置270および275)にホストされている場合、ドライバー(例えば、ドライバー223)はネットワーク・スタック内に実装され、全ての既存のアダプターを隠し、ネットワークの1つの仮想化インターフェースを提示する。この実施形態では、ドライバー223は、独立したVMスイッチを表すことができ、または既存のVMスイッチ(例えば、VMスイッチ222)の中に組み込むことができる。VMスイッチ222は、実施形態では、データー・センター225の内部および外部エンドポイント間に、分離接続(isolated connectivity)を提供するために設けられている。これについては、図3を参照しながら更に詳しく論ずることにする。本明細書において使用される場合、「仮想装置スイッチ」、即ち、「VMスイッチ」という用語は、限定を意図するのではなく、データー・センター、企業の私的ネットワーク、第三者ネットワーク等の中に存在し、サービス・アプリケーションのエンドポイント間でネットワークを跨いでデーター・パケットを安全に導く役割を担う任意のソフトウェア・ベースのコンポーネントを含むことができる。一例として、VMスイッチは、ネットワーク管理のために一部のアプリケーション・プログラミング・インターフェース(API)を露出させる任意のネットワーク・エッジ・デバイス(1つまたは複数)(例えば、トップ・ラック・スイッチ、ノード内における物理ネットワーク・インタフェース・カード、VM内における仮想インターフェース・カード、または非仮想化ホスト内におけるネットワーキング・スタック)とすればよい。他の例では、VMスイッチによって実行される動作の全てまたは一部(例えば、ディレクトリー・サービス220との通信、パケットのカプセル化、分解、変更、および他のアクション)は、ルーティング・モジュールによって実行されてもよい。したがって、VMスイッチは、ルーティング・モジュール(1つまたは複数)、ネットワーク・エッジ・デバイス(1つまたは複数)、物理スイッチ(1つまたは複数)、ルーティング・デバイス(1つまたは複数)等の内1つ以上を具体化することができる。
[0046] ドライバー233と同様、ドライバー223は、1つ以上のデーター・パケットがエンドポイント201または202のいずれかに到達または発信したことを検出したときに、ディレクトリ・サービス220に要求271を送ることによって、ルーティング情報を要請することができる。要求271は、データー・パケットのヘッダ内に組み込まれているソースIPアドレスおよび宛先IPアドレスを伝える。ルーティング情報の要求271を受けると、ディレクトリー・サービス220は、応答272で回答することができる。応答272は、データー・パケットの転送路、およびこの転送路に適した変換動作を伝える。
[0047] これより図2および図3を参照して、ドライバー223および233とディレクトリー・サービス220との間における追加の相互作用についてこれより論ずる。先に論じたように、ドライバーは、データー・センター225の複数のノード、およびデーター・センター225の外部にあるリソースに分散することができる。ドライバー223および233は、IPトラフィックのレート、データー・センター225のテナントによって消費される計算ロード、およびノードがオンラインにされているかまたはオフラインにされているかというような、1つ以上の要因の関数として、データー・センター225内部にあるノードに動的にインスタンス化すること、およびこのノードから取り外すことができる。一実施形態では、ファブリック・コントローラ232が、VMスイッチをインスタンス化するまたは取り外す役割を担う。
[0048] 動作において、ドライバー223および233は、これらそれぞれのノードの仮想ネットワーク・アダプターを表し、サービス・アプリケーションまたはサブネット内部にある特定のエンドポイントに対するゲートウェイとして機能する。この実施形態では、データー・パケットを送信するとき、どこで、どのように、そしてどの物理レイヤー・リンクを使用するかに関するルーティング決定をゲートウェイが行うトポロジーが規定される。内部および外部ノードにわたってドライバーを分散することによって、このゲートウェイ機能は今や仮想化され、ネットワークに亘って拡散されている。
[0049] 一実施形態例では、ルーティング決定は、常に集中サーバを介してデーター・パケットを送る必要がない転送路を決定するのに役立つ。更に、ルーティング決定は、接続毎/装置毎に特殊化することができる。一例では、ルーティング決定は、リモート・データー・センターに跨がるエンドポイントをリンクするセキュア・トンネルを採用するデーター・パケットに高位保護変換を適用することを決定することもできる。他の例では、ルーティング決定は、エンドポイントが共通のセキュア・ネットワークに共存するときに、データー・パケットのカプセル化またはヘッダの書き換えというような、一層軽量化した変換動作を採用することを決定することもできる。この例では、エンドポイントは同じサブネット内に存在することができ、データー・センター・ネットワークのサーバ間にある直接路を介して、互いに見ることができるのでもよい。したがって、ルーティング決定は、相互接続性を最適化するために、同じサブネットの中にあるエンドポイントが、共通の輻輳地点を有さない物理レイヤー・リンク上のルートを使用することができるという能力を利用することができる。これらおよびその他のルーティング決定については、図4を参照して更に詳しく説明する。
[0050] 実施形態では、ドライバー223および233内において、それぞれ、ルーティング/書き換えコンポーネント(RC)224および234が設けられる。動作において、RC224および234は、ノードまたはエンドポイントのオペレーティング・システムから発せられた各データー・パケット、あるいはセキュア・トンネルまたはネットワーク経路を介して送られた各データー・パケットを受け入れて、これらのデーター・パケットの内容(例えば、ヘッダ内部で伝えられる情報)に基づいて、正しい転送路と、必要であれば(if any)、変換動作とを決定することができる。一例では、RC224および234が、それが受け入れた各データー・パケットのソースIPアドレスおよび/または宛先IPアドレスを調べて、ディレクトリー・サービス220にルーティング情報を求めて問い合わせる(例えば、要求271および273を介して)。ディレクトリー・サービス220は、要求271および273に対して、それぞれ、種々のタイプのルーティング情報を含むことができる応答272および274で回答することができる。したがって、RC224および234には、ルーティング情報に応答し、データー・パケットに対する異なる転送プロセスをサポートする複数のトンネリング/書き直しプロトコルを管理する能力がプロビジョニングされる。
[0051] 一般に、ディレクトリー・サービス220は、ネットワーク315の知識、ならびにネットワーク経路およびセキュア・トンネル350の知識を内部に保持する。一例として、この知識は、エンドポイントについての情報、どのネットワークにエンドポイントが存在するか、これらのネットワーク内にどのネットワーク経路が作られているのか、ネットワーク経路を跨ぐ特定の転送路に適した変換動作はどれか、およびどのように変換各ションが行われるかについての情報を含む。ルーティング情報を要請するRC224および234に伴う動作において、ディレクトリー・サービス220は、このネットワーク知識を適用して、ネットワーク315内においてどのようにして第2エンドポイントに到達するか、第1エンドポイントに伝える。このために、ディレクトリー・サービス220は、仮想IPアドレスと位置依存アドレスとの間のマッピング310を維持している。一実施形態例では、このマッピングは、相互接続されているエンドポイント間における1つ以上の論理的関連を維持し、ネットワーク到達可能性(reachability)を達成するために、これらのエンドポイントと関連のあるアクセス制御を施行する。一例では、この論理的関連は、サブネットのメンバーであるエンドポイント間における関連に関する。
[0052] また、ディレクトリー・サービス220は、適した変換動作を認識する表320も維持することができる。一例では、表320は、通信ポリシーを施行するように設計されており、通例、顧客によってサービス・レベル契約(SLA)によって適所に設定される。他の例では、通信ポリシーは、サービス・アプリケーションおよび/またはサブネットに対して特定的に設計され、どのシステム・プロセスにサブネットのメンバー・エンドポイントへのアクセスを付与するか、そして集中ルーティング・デバイスを伴うことなく、エンドポイントを直接接続することができるか否か管理する許可リストを含むことができる。更に他の例では、通信ポリシーは、ある種のエンドポイントに対してどのセキュリティ・レベルを施行すべきか明瞭にすることができる。他の例では、通信ポリシーは、ドライバーから要求を受けたときにマッピング310をスキャンして該当するエントリーを求め、この該当するエントリーの中にある情報に基づいて、生データーの送信が許可されているか否か判断するセキュリティ・モデルとして機能する。更に他の例では、通信ポリシーは、ポート番号またはネットワーク・アダプターに適用される規則を表すことができ、この規則は、ポート番号またはネットワーク・アダプターがある動作を実行することが許されているか否か確認するために、データー・センター225のノード内において利用することができる。
[0053] ディレクトリー・サービス220がドライバーから要求を受けると、ディレクトリー・サービス220は以下の参照手順を実行することができる。ソースIPアドレスおよび宛先IPアドレスによってマッピング310を検査して、物理ネットワーク380を介したデーター・パケットの転送路を構成する。対応する位置依存アドレスを特定する。または、転送路で表320を検査して、対応する変換動作を特定する。言い換えると、ディレクトリー・サービスは、データー集合(ソースIPアドレス、宛先IPアドレス)を受信し、マッピング310および表320に対する変換によって、データー集合(転送路、変換動作)を返送する。返送データー集合は、要求元ドライバー内においてルーティング決定プロセスをサポートする。
[0054] 以下で更に詳しく論ずるが、変換動作は、限定ではなく、以下の内1つ以上を伴うことができる。位置依存アドレスを含めるようにデーター・パケットのヘッダを書き換える。データー・パケットをそれぞれの外部データー・パケット内に、内部データー・パケットとして、カプセル化する。各外部データー・パケットは、位置依存アドレスを伝えるヘッダを含む。または、トンネリング・プロトコルを使用してデーター・パケットをカプセル化する。最終的に、ディレクトリー・サービス220は、特定された転送路と特定された変換動作との指示を、要求元のドライバー(仮想ネットワーク・ゲートウェイ)に伝える応答を返送することができる。
[0055] 図2および図3では、情報を要求元ドライバーにプッシュする1つの集中サーバーとして図示されているが、ディレクトリー・サービス220の機能は、1組の装置に統合されセーブされたローカル・ファイルによって実現することもできる。または、予めプッシュ・アウトされている場合、ディレクトリー・サービス220の機能は、要求元ドライバーにおいて、前もってキャッシュしておくこともでき、外部要求を送るステップをなくすことができる。
[0056] これより図3を参照すると、本発明の一実施形態にしたがって、仮想ネットワーク・アドレスを物理ネットワーク経路および変換動作に分解する、分散型計算環境300のアーキテクチャ例の模式図が示されている。最初に、分散型計算環境300は、物理ネットワーク380を含む。物理ネットワーク380は、図2を参照して論じられたように、企業の私的ネットワーク325、第三者ネットワーク335、およびクラウド計算プラットフォーム200を含む。本明細書において使用する場合、「物理ネットワーク」という用語は、限定を意図しているのではなく、有形メカニズムおよび機器(たとえば、ファイバ線、回路ボックス、スイッチ、アンテナ、IPルーター等)、ならびに地理的に離れた位置にあるエンドポイント間における通信を容易にする無形通信波および搬送波を含むことができる。一例として、物理ネットワーク380は、インターネット内で利用される任意の有線およびワイヤレス技術、または別個のネットワーク間における通信を促進するために利用可能な任意の有線およびワイヤレス技術を含むことができる。
[0057] 一般に、企業の私的ネットワーク325は、クラウド計算プラットフォーム200の顧客によって管理されるリソース375のようなリソースを含む。多くの場合、これらのリソースは、顧客によって所有されるサービス・アプリケーションのコンポーネントの動作をホストおよびサポートする。エンドポイントB385は、このサービス・アプリケーションのコンポーネントの1つ以上を表す。実施形態では、図2の仮想装置270のようなリソースは、サービス・アプリケーションの離れて分散されているコンポーネントの動作をホストおよびサポートするために、図2のデーター・センター225内部で割り当てられる。エンドポイントA211およびC212は、サービス・アプリケーションのこれら離れて分散されているコンポーネントの内2つを表す。動作において、エンドポイントA211、B385、およびC212は、互いに調和して動作して、サービス・アプリケーションが適正に実行することを保証する。一例では、調和して行われる動作には、エンドポイントA211、B385、およびC212間における、物理ネットワーク380のネットワーク315を介したデーター・パケット316の送信を伴う。
[0058] 第三者ネットワーク335も、物理ネットワーク380内に設けられている。実施形態では、第三者ネットワーク335は、図3の企業の私的ネットワーク325でもクラウド計算プラットフォーム200でもない任意の他のネットワークを指すことができる。一例として、第三者ネットワーク335は、サービス・アプリケーションによって使用される情報、またはサービス・アプリケーションの1つ以上の動作をサポートするためのソフトウェアを提供する販売業者によって使用される情報を保持するデーター・ストアを含むことができる。実施形態では、第三者ネットワーク335は、図6のクラウド計算プラットフォーム200に利用可能なリソースのネットワークを表し、このリソースには、エンドポイントD345がインストールされているリソース355が含まれる。
[0059] 通例、リソース355および375、ならびにデーター・センター225は、そこで実行するエンドポイント(1つまたは複数)および/またはコンポーネント(1つまたは複数)の動作をサポートするために、何らかの形態の計算ユニット(例えば、中央演算装置、マイクロプロセッサー等)を含むか、または計算ユニットにリンクされている。本明細書で利用される場合、「計算ユニット」という句は、一般に、処理パワーおよび記憶メモリーを有する専用計算デバイスを指し、この専用計算デバイスは1つ以上のオペレーティング・システムまたは他の基礎ソフトウェアをサポートする。一例では、計算ユニットは、有形ハードウェア・エレメント、または装置で構成されており、これらはリソース355および375、ならびにデーター・センター225と統合されているか、または動作可能に結合されており、各デバイスが種々のプロセスおよび動作を実行することが可能になっている。他の例では、計算ユニットは、リソース355および375、ならびにデーター・センター225の各々によって収容されているコンピューター読み取り可能媒体に結合されたプロセッサー(図示せず)を含むことができる。一般に、コンピューター読み取り可能媒体は、少なくとも一時的に、プロセッサーによって実行可能な複数のコンピューター・ソフトウェア・コンポーネント(例えば、エンドポイントA211、B385、C212、およびD345)を格納する。本明細書において利用される場合、「プロセッサー」という用語は限定を意図するのではなく、計算容量(capacity)の範囲内において動作する(act)計算ユニットの任意のエレメントを含むことができる。このような容量の範囲において、プロセッサーは、命令を処理する有形品目(tangible article)として構成することができる。一実施形態例では、処理は、命令を取り出し、デコード/解釈し、実行し、そして書き戻すことを伴うこともできる。
[0060] 仮想ネットワーク・オーバーレイ330(「オーバーレイ330」)は、通例、サービス・アプリケーションのエンドポイント間において通信を促進し安全を確保するために、エンドポイントA211、B385、C212、およびD345を含むサービス・アプリケーションのような、1つのサービス・アプリケーション毎に作られる。一般に、オーバーレイ330は、物理IPアドレスではなく、サービス・アプリケーションのエンドポイントを仮想的に表し、仮想表現を接続する仮想IPアドレスのレイヤーを表す。他の実施形態では、オーバーレイ330は、サービス・アプリケーションを制御する顧客に割り当てられたリソースを含む物理ネットワーク380の上に構築された仮想ネットワークである。動作において、オーバーレイ330は、相互接続されているエンドポイントA211、B385、C212、およびD345の1つ以上の論理的関連を維持し、物理ネットワーク到達可能性(reachability)を達成するために(例えば、物理トランスポートを使用して)、エンドポイントA211、B385、C212、およびD345と関連のあるアクセス制御/セキュリティを施行することができる。
[0061] これより図3および図4を参照して、種々の可能なルーティング決定についてこれより説明する。具体的には、図4は、本発明の一実施形態にしたがって、ディレクトリー・サービス220から配信されたルーティング情報をルーティング決定に適用する判断ツリー例400の模式図を示す。先に論じたように、ドライバーは、部分的に、このドライバーにリンクされている対象のエンドポイントが、データー・パケットの発信エンドポイント、データー・パケットをターゲット・エンドポイントに転送するように動作する受信側エンドポイント、またはターゲット・エンドポイントのどれを表すかに基づいてルーティング決定を実行することができる。第1の例では、対象のエンドポイントが発信エンドポイント(例えば、エンドポイントC212)を表すとき、ブロック401に示すように、この発信エンドポイントと関連のあるドライバーは、この発信エンドポイントが、そこから生成された1つ以上のデーター・パケットを送信しようとしていることを検出することができる。次に、ブロック402に示すように、ドライバーは、対象のエンドポイントを指し示すソースIPアドレスと、宛先IPアドレスとの指示を含む要求を送ることによって、ディレクトリー・サービス220に、参照手順を実行するように要請する。
[0062] ブロック403に示すように、ディレクトリー・サービス220からドライバーに送られたルーティング情報に部分的に基づいて、ルーティング決定が実行される。このルーティング決定の結果、限定されるのではないが、以下の変換動作の内1つ以上を行うことができる。位置依存アドレスを含めるようにデーター・パケットのヘッダを書き換える(ブロック404参照)。データー・パケットにトンネリング・プロトコルを設定し、セキュア・トンネルを介してデーター・パケットをリディレクトする(ブロック405参照)。または、それぞれの外部データー・パケットの中に、データー・パケットを内部データー・パケットとしてカプセル化する(ブロック406参照)。外部データー・パケットは、各々、位置依存アドレスを伝えるヘッダを含む。
[0063] 一実施形態例では、ドライバーが、発信エンドポイントおよびターゲット・エンドポイントの双方が共通のデーター・センターまたはサブネット内に存在すると判断したとき、ルーティングの結果、ソースIPアドレスおよび宛先IPアドレスをそれぞれの位置依存アドレスで書き換える変換動作を行うことができる。しかしながら、ドライバーが、ソースIPアドレスおよび宛先IPアドレスが除去された場合受信側エンドポイントまたはターゲット・エンドポイントがデーター・パケットのヘッダを変換することができないと判断したとき(例えば、受信側/ターゲット・エンドポイントが、発信エンドポイントが存在するデーター・センターまたはサブネットとは異なるデーター・センターまたはサブネット内にある)、ルーティング決定の結果、データー・パケットのペイロードの中にソースおよび宛先IPアドレスを保存するために、それぞれの外部データー・パケットの中にデーター・パケットを内部データー・パケットとしてカプセル化することができる。この直ぐ上の実施形態では、ドライバーは、エンドポイント間にあるネットワーク経路が実質的に十分保護されており、管理サービス・モデルのセキュリティ・ポリシーを満足することを認めることもできる。対照的に、エンドポイントの1つ以上を接続するネットワーク経路が、管理サービス・モデルによって命令された保護レベルまたは安全な接続のレベルを欠くと、ドライバーが判断した場合、ルーティング決定の結果、セキュア・トンネリング・プロトコルを含めるようにデーター・パケットを変換する変換動作を行うことができ、これによって不正な行為者によるデーター・パケットの傍受を回避しようとすることができる。
[0064] ルーティング決定を実行すると、ブロック407に示すように、発信エンドポイントは、処理したデーター・パケットを受信側エンドポイント(例えば、エンドポイントA211またはD345)またはターゲット・エンドポイント(例えば、エンドポイントB385)に送信し始めることができる。受信側エンドポイントはここでは1つのネットワーク・ホップとして記載されているが、ネットワークの中には1つよりも多い中間ホップがある場合もあり、この場合、受信側エンドポイントが1つ以上の他の受信側エンドポイントに転送することが可能になることは認められ、理解されよう。第2の例では、対象のエンドポイントが受信側エンドポイントを表す場合、ブロック408に示すように、この受信側エンドポイントと関連のあるドライバーが、そこに到達した処理済みのデーター・パケットを検出することができる。次いで、ブロック409に示すように、ドライバーは、ソースIPアドレスおよび宛先IPアドレスの指示を含む要求を送ることによって、参照手順を実行するようにディレクトリー・サービス220に要請することができる。
[0065] ブロック410に示すように、ルーティング決定は、ディレクトリー・サービス220からドライバーに送られるルーティング情報に部分的に基づいて実行される。ルーティング決定によって、以下の変換動作の内1つ以上を行うことができる。ヘッダが書き換えられてカプセル化されたデーター・パケットをトンネル350を介してリディレクトする(ブロック411参照)(例えば、エンドポイントD345参照)。データー・パケットからトンネリング・プロトコルを除去する(ブロック412参照)。あるいは、カプセル化されたデーター・パケットまたはヘッダが書き換えられたデーター・パケットを他のネットワーク経路を経由して転送する(ブロック413参照)(例えば、エンドポイントA211参照)。この場合も、ネットワーク経路を経由してデーター・パケットを転送する変換動作、またはトンネルを介してデーター・パケットをリディレクトする変換動作の内どちらを呼び出すかについてのルーティング決定には、エンドポイントが安全な接続を介してリンクされていること、または保護されてないネットワーク(例えば、インターネット)に及ぶ接続を介してリンクされていることをそれぞれ確認することが必要になる。
[0066] ルーティング決定を実行するとき、受信側エンドポイントは、ブロック414に示すように、処理したデーター・パケットをターゲット・エンドポイント(例えば、エンドポイントB385)に送信し始めることができる。第3の例では、対象のエンドポイントがターゲット・エンドポイントを表すとき、ブロック415に示すように、このターゲット・エンドポイントと関連のあるドライバーは、そこに到達する処理済みのデーター・パケットを検出することができる。次いで、ブロック416に示すように、ドライバーは、ソースIPアドレスおよびターゲット・エンドポイントを指し示す宛先IPアドレスの指示を含む要求を送ることによって、参照手順を実行するようにディレクトリー・サービス220に要請することができる。
[0067] ルーティング決定は、ブロック417に示すように、ディレクトリー・サービス220からドライバーに送られるルーティング情報に部分的に基づいて実行される。対象のエンドポイントがターゲット・エンドポイントを表すとき、ルーティング決定によって、以下の変換動作の内1つ以上を行うことができる。書き換えられたデーター・パケットのヘッダを復元する(ブロック418参照)。消費の準備をするために、データー・パケットからトンネリング・プロトコルを除去する(ブロック419参照)。または、カプセル化したデーター・パケットを分解する(ブロック420参照)。
[0068] これより図5に移ると、本発明の一実施形態にしたがって、ドライバーからの要求に応答して、適した物理ネットワーク経路および変換動作を特定する方法500を表すフローチャートが示されている。以上の論述から拾い集められる(glean)ように、方法500のステップは、図2および図3のディレクトリー・サービス220の観点から書かれている。最初に、方法500は、ブロック510に示すように、仮想IPアドレスと位置依存アドレスとの間のマッピングを維持するディレクトリー・サービスを提供するステップを含む。また、ディレクトリー・サービスは、適した変換動作を認識する表も維持することができる。一例では、この表は、ネットワーク内部においてエンドポイントを接続する経路全域におけるデーター・パケット・トラフィックを管理する通信ポリシーにしたがって設計される。他の例では、この表は、顧客のサービス・アプリケーションをホストするデーター・センターの顧客のために作られたサービス・モデル(例えば、サービス・レベル同意(SLA))に基づく。
[0069] 方法500は、更に、ブロック520に示すように、対象のエンドポイントと関連のある、またはこれとローカルに通信するために作られた仮想ネットワーク・ゲートウェイ、またはドライバーからの要求を受けるステップを含むことができる。通例、この要求は、受信側エンドポイントによって受け入れられた1つ以上のデーター・パケットのヘッダによって伝えられたソースIPアドレスおよび宛先IPアドレスの指示を含む。この要求を受けると、ディレクトリー・サービスは、以下の参照手順を実行することができる(ブロック530参照)。ソースIPアドレスおよび宛先IPアドレスによってマッピングを検査して、物理ネットワークを通るデーター・パケットの転送路を構成する、対応する位置依存アドレスを特定する(ブロック540参照)。および/または転送経路によって表を検査し、対応する変換動作を特定する(ブロック550参照)。変換動作は、限定するのではないが、以下の内1つ以上を伴うことができる。位置依存アドレスを含めるように、データー・パケットのヘッダを書き換える。この書き換えを元に戻す。それぞれの外部データー・パケットの中に、データー・パケットを内部データー・パケットとしてカプセル化する。各データー・パケットは、位置依存アドレスを伝えるヘッダを含む。カプセル化されたデーター・パケットを分解する。データー・パケットにトンネリング・プロトコルを設定する。トンネリング・プロトコルを除去する。ブロック560に示すように、ディレクトリー・サービスは、特定された転送路および特定された変換動作の指示を仮想ネットワークに伝える応答を返すことができる。
[0070] 本発明の実施形態について、特定の実施形態に関して説明してきたが、これらは、あらゆる観点において、限定ではなく例示であることを意図している。本発明の実施形態に関する技術分野の当業者には、本発明の範囲から逸脱することなく、代替実施形態も明白となろう。
[0071] 以上の説明から、本発明は、先に明記した全ての目標および目的を、本システムおよび方法には自明でありそして固有である他の利点と共に達成するのに相応しく構成されていることが分かるであろう。尚、ある種の特徴およびサブコンビネーションは有益であり、他の特徴およびサブコンビネーションを参照しなくても採用できることは言うまでもない。これは、請求項の範囲によって想定されていることであり、その範囲に含まれることとする。

Claims (14)

  1. コンピューター実行可能命令が具体化された1つ以上のコンピューター読み取り可能記憶媒体であって、前記命令が実行されると、エンドポイント間におけるデーター・パケットの配信を管理する方法を実行し、前記方法が、
    第1エンドポイントにおいて生成された1つ以上のデーター・パケットが送信されようとしていることを検出するステップであって、前記1つ以上のデーター・パケットの各々が、ソース・アドレスおよび宛先アドレスを含むヘッダを含む、ステップと、
    前記ソース・アドレスおよび前記宛先アドレスを伝える要求を、ディレクトリー・サービスに送るステップと、
    転送路を伝える応答を前記ディレクトリー・サービスから受けるステップと、
    前記受けた転送路に基づいて、前記1つ以上のデーター・パケットを回送することを含むルーティング決定を実行するステップであって、前記転送路に部分的に基づいて前記1つ以上のデーター・パケットを回送するステップが、それぞれの外部データー・パケットの中に前記1つ以上のデーター・パケットを内部データー・パケットとしてカプセル化するステップを含み、前記外部データー・パケットが、各々、物理ネットワークの位置依存アドレスを露出するヘッダを含む、ステップと、
    前記位置依存アドレスに部分的に基づいて、前記1つ以上の回送されたデーター・パケットを第2エンドポイントに送信するステップと、
    を含む、1つ以上のコンピューター読み取り可能記憶媒体。
  2. 請求項1記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記方法が、更に、変換動作を伝える前記応答を、前記ディレクトリー・サービスから受けるステップを含む、1つ以上のコンピューター読み取り可能記憶媒体。
  3. 請求項2記載の1つ以上のコンピューター読み取り可能記憶媒体において、ルーティング決定を実行するステップが、更に、前記受けた変換動作に基づいて、前記1つ以上のデーター・パケットを変換するステップを含む、1つ以上のコンピューター読み取り可能記憶媒体。
  4. 請求項3記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記1つ以上のデーター・パケットを変換するステップが、サービス・モデルにアクセスし、前記サービス・モデルが、前記第1エンドポイントと前記第2エンドポイントとの間における安全な接続に保護レイヤーを設けることを命令すると判断したときに行われる、1つ以上のコンピューター読み取り可能記憶媒体。
  5. 請求項1記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記第1エンドポイントが、前記1つ以上のデーター・パケットを発信したエンドポイントを表し、前記第2エンドポイントが、前記1つ以上の回送されたデーター・パケットのヘッダによって目標にされたエンドポイントを表す、1つ以上のコンピューター読み取り可能記憶媒体。
  6. 請求項1記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記転送路に基づいて前記1つ以上のデーター・パケットを回送するステップが、
    前記1つ以上のデーター・パケットの前記ヘッダ内にある前記ソース・アドレスおよび前記宛先アドレスを除去するステップと、
    前記ソース・アドレスおよび宛先アドレスを、物理ネットワークのそれぞれの位置依存アドレスと置き換えるステップと、
    を含む、1つ以上のコンピューター読み取り可能記憶媒体。
  7. 請求項6記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記ソース・アドレスおよび宛先アドレスを置き換えるステップが、前記第1エンドポイントおよび前記第2エンドポイントが共通のデーター・センター内に存在することを確認したとき、および前記ソース・アドレスおよび前記宛先アドレスが共通の仮想空間に属することを確認したときに行われる、1つ以上のコンピューター読み取り可能記憶媒体。
  8. 請求項1記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記1つ以上のデーター・パケットをカプセル化するステップが、前記ソース・アドレスおよび前記宛先アドレスが除去された場合、前記第2エンドポイントが前記1つ以上のデーター・パケットのヘッダを変換できないと判断したときに行われる、1つ以上のコンピューター読み取り可能記憶媒体。
  9. 請求項1記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記第1エンドポイントがデーター・パケットを送信するための接続を作る毎に、ドライバーがルーティング決定を実行する、1つ以上のコンピューター読み取り可能記憶媒体。
  10. 請求項9記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記ドライバーが、前記1つ以上のデーター・パケットを受け入れて、前記1つ以上のデーター・パケットの前記ヘッダから前記ソース・アドレスおよび前記宛先アドレスを読み出すように構成されているルーティング・コンポーネントを含み、前記第1エンドポイントが前記第2エンドポイントとの接続を作ったときに、前記ドライバーが、前記ソース・アドレスおよび前記ネットワーク・アドレスを前記ディレクトリー・サービスに伝達するように構成された、1つ以上のコンピューター読み取り可能記憶媒体。
  11. エンドポイント間における通信をサポートし、分離するコンピューター・システムであって、
    仮想インターネット・プロトコル(IP)アドレスと物理ネットワークの位置依存アドレスとの間のマッピングを維持するディレクトリー・サービスと、
    ソースIPアドレスおよび宛先IPアドレスを含むヘッダが設けられた1つ以上のデーター・パケットを生成する第1エンドポイントであって、前記ソースIPアドレスが前記第1エンドポイントを指し示し、前記宛先IPアドレスが第2エンドポイントを指し示す、第1エンドポイントと、
    前記第1エンドポイントによって作られた接続毎に、ルーティング決定を実行するドライバーと、
    を含み、前記ルーティング決定の実行が、
    (a)前記ソースIPアドレスおよび前記宛先IPアドレスに基づいて、転送路および変換動作を決定するために、前記ディレクトリー・サービスと通信し、
    (b)前記第1エンドポイントおよび前記第2エンドポイントが共通のデーター・センター内に存在すると判断したとき、前記ソースIPアドレスおよび前記宛先IPアドレスを、前記転送路のそれぞれの位置依存アドレスで書き換え、
    (c)前記ソース・アドレスおよび前記宛先アドレスが除去された場合、前記第2エンドポイントが前記1つ以上のデーター・パケットの前記ヘッダを変換できないと判断したとき、前記1つ以上のデーター・パケットをそれぞれの外部データー・パケットの中に内部データー・パケットとしてカプセル化し、前記外部データー・パケットが、各々、前記転送路の前記位置依存アドレスを露出するヘッダを含み、
    (d)前記変換動作が、前記第1エンドポイントと前記第2エンドポイントとの間における安全な接続に保護レイヤーを設けることを命令すると判断したとき、前記受けた変換動作に基づいて、前記1つ以上のデーター・パケットを変換する、
    ことを含む、コンピューター・システム。
  12. 請求項11記載のコンピューター・システムにおいて前記位置依存アドレスが、それぞれ、前記物理ネットワーク内における前記第1エンドポイントおよび前記第2エンドポイントの位置にしたがって割り当てられる、コンピューター・システム。
  13. 請求項11記載のコンピューター・システムにおいて、前記ディレクトリー・サービスが、予め作られているトンネル、または前記第1エンドポイントおよび前記第2エンドポイントをリンクするネットワーク経路のレコードに基づいて、前記適した変換動作を前記ドライバーに分与する表を維持する、コンピューター・システム。
  14. 分散型仮想ネットワーク・ゲートウェイからの要求に応答して、ネットワーク経路および変換動作を特定するコンピューター化方法であって、
    仮想インターネット・プロトコル(IP)アドレスと位置依存アドレスとの間のマッピングを維持し、更に適した変換動作を認識する表を維持するディレクトリー・サービスを設けるステップであって、前記表が、ネットワーク内部においてエンドポイントを接続する経路全域におけるデーター・パケット・トラフィックを管理する通信ポリシーにしたがって設計される、ステップと、
    受信側エンドポイントと通信する仮想ネットワーク・ゲートウェイから要求を受けるステップであって、前記要求が、前記受信側エンドポイントによって受け入れられた1つ以上のデーター・パケットのヘッダによって伝えられたソースIPアドレスおよび宛先IPアドレスの指示を含む、ステップと、
    物理ネットワークを通る前記1つ以上のデーター・パケットの転送路を構成する、対応する位置依存アドレスを特定するために、前記ソースIPアドレスおよび前記宛先IPアドレスによって、前記マッピングを検査するステップと、
    対応する変換動作を特定するために、前記転送路によって前記表を検査するステップであって、前記変換動作が、
    (a)前記位置依存アドレスを含めるために前記1つ以上のデーター・パケットの前記ヘッダを書き換える、
    (b)前記1つ以上のデーター・パケットをそれぞれの外部データー・パケットの中に内部データー・パケットとしてカプセル化し、前記外部データー・パケットが、各々、前記位置依存アドレスを伝えるヘッダを含む、または、
    (c)前記1つ以上のデーター・パケットにトンネリング・プロトコルを設定する、
    の内少なくとも1つを含む、ステップと、
    前記特定した転送路および前記特定した変換動作の指示を、前記仮想ネットワーク・ゲートウェイに伝える応答を戻すステップであって、前記仮想ネットワーク・ゲートウェイが前記応答を前記受信側エンドポイントに伝達し、前記受信側エンドポイントが、前記1つ以上のデーター・パケットをそこから送信するときに、前記特定した転送路および前記特定した変換動作を実施する、ステップと、
    を含む、コンピューター化方法。
JP2013516590A 2010-06-22 2011-06-06 分散型仮想ネットワーク・ゲートウェイ Active JP5809696B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/820,896 US8374183B2 (en) 2010-06-22 2010-06-22 Distributed virtual network gateways
US12/820,896 2010-06-22
PCT/US2011/039324 WO2011162942A2 (en) 2010-06-22 2011-06-06 Distributed virtual network gateways

Publications (3)

Publication Number Publication Date
JP2013533689A JP2013533689A (ja) 2013-08-22
JP2013533689A5 JP2013533689A5 (ja) 2014-07-31
JP5809696B2 true JP5809696B2 (ja) 2015-11-11

Family

ID=45328629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013516590A Active JP5809696B2 (ja) 2010-06-22 2011-06-06 分散型仮想ネットワーク・ゲートウェイ

Country Status (6)

Country Link
US (3) US8374183B2 (ja)
EP (1) EP2586160B1 (ja)
JP (1) JP5809696B2 (ja)
CN (1) CN102948132B (ja)
TW (1) TWI531185B (ja)
WO (1) WO2011162942A2 (ja)

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US20100131284A1 (en) * 2008-11-26 2010-05-27 Michael Day Duffy Methods and apparatus for analysis of healthcare markets
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US8880468B2 (en) 2010-07-06 2014-11-04 Nicira, Inc. Secondary storage architecture for a network control system that utilizes a primary network information base
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US8964528B2 (en) 2010-07-06 2015-02-24 Nicira, Inc. Method and apparatus for robust packet distribution among hierarchical managed switching elements
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8694653B2 (en) * 2010-12-10 2014-04-08 Microsoft Corporation Targeted data transfer between operational domains
US10645006B2 (en) * 2010-12-28 2020-05-05 Nec Corporation Information system, control apparatus, communication method, and program
US10142218B2 (en) * 2011-01-14 2018-11-27 International Business Machines Corporation Hypervisor routing between networks in a virtual networking environment
US8825900B1 (en) 2011-04-05 2014-09-02 Nicira, Inc. Method and apparatus for stateless transport layer tunneling
US9043452B2 (en) 2011-05-04 2015-05-26 Nicira, Inc. Network control apparatus and method for port isolation
US9369426B2 (en) 2011-08-17 2016-06-14 Nicira, Inc. Distributed logical L3 routing
EP3407547B1 (en) 2011-08-17 2020-01-22 Nicira, Inc. Hierarchical controller clusters for interconnecting different logical domains
US8867403B2 (en) * 2011-08-18 2014-10-21 International Business Machines Corporation Virtual network overlays
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
US9137107B2 (en) 2011-10-25 2015-09-15 Nicira, Inc. Physical controllers for converting universal flows
US9288104B2 (en) 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
US9178833B2 (en) 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
EP2777219B1 (en) * 2011-11-09 2016-08-17 Nec Corporation Method and system for supporting transport of data packets in a network
EP2748716B1 (en) 2011-11-15 2018-05-16 Nicira Inc. Network control system for configuring middleboxes
CN103209084B (zh) * 2012-01-13 2016-02-24 硕天科技股份有限公司 不间断电源及其控制电源分配单元的方法
TW201338326A (zh) * 2012-03-13 2013-09-16 Cyber Power Systems Inc 電源分配單元及利用單一ip控制多數電源分配單元的方法
EP2832076B1 (en) * 2012-03-30 2018-05-02 Nokia Solutions and Networks Oy Centralized ip address management for distributed gateways
WO2013158920A1 (en) 2012-04-18 2013-10-24 Nicira, Inc. Exchange of network state information between forwarding elements
TWI482469B (zh) * 2012-05-23 2015-04-21 Gemtek Technology Co Ltd 路由裝置
US8909780B1 (en) * 2012-05-24 2014-12-09 Amazon Technologies, Inc. Connection following during network reconfiguration
WO2013184941A1 (en) * 2012-06-06 2013-12-12 Huawei Technologies Co., Ltd. Method of seamless integration and independent evolution of information-centric networking via software defined networking
US9952909B2 (en) * 2012-06-20 2018-04-24 Paypal, Inc. Multiple service classes in a shared cloud
CN104428761B (zh) 2012-07-11 2017-08-15 英派尔科技开发有限公司 网络拥塞的减少
US9331940B2 (en) 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
US9007953B1 (en) * 2012-12-28 2015-04-14 Sprint Communications Company L.P. Estimating average user throughput in a wireless network
AU2014201359B2 (en) * 2013-03-15 2017-08-31 Verisign, Inc. Method and system for intelligent many-to-many service routing over EPP
US10389608B2 (en) 2013-03-15 2019-08-20 Amazon Technologies, Inc. Network traffic mapping and performance analysis
US9973375B2 (en) * 2013-04-22 2018-05-15 Cisco Technology, Inc. App store portal providing point-and-click deployment of third-party virtualized network functions
US9887960B2 (en) 2013-08-14 2018-02-06 Nicira, Inc. Providing services for logical networks
US9952885B2 (en) 2013-08-14 2018-04-24 Nicira, Inc. Generation of configuration files for a DHCP module executing within a virtualized container
US9503371B2 (en) 2013-09-04 2016-11-22 Nicira, Inc. High availability L3 gateways for logical networks
US9577845B2 (en) 2013-09-04 2017-02-21 Nicira, Inc. Multiple active L3 gateways for logical networks
US9405568B2 (en) 2013-09-13 2016-08-02 Microsoft Technology Licensing, Llc Multi-tenant network stack
CN105981443B (zh) * 2013-09-30 2020-02-18 施耐德电气工业简易股份公司 云认证的场所资源管理设备、装置、方法和系统
US10063458B2 (en) 2013-10-13 2018-08-28 Nicira, Inc. Asymmetric connection with external networks
US9977685B2 (en) 2013-10-13 2018-05-22 Nicira, Inc. Configuration of logical router
US9300585B2 (en) * 2013-11-15 2016-03-29 Cisco Technology, Inc. Shortening of service paths in service chains in a communications network
US9864623B2 (en) 2013-11-21 2018-01-09 Centurylink Intellectual Property Llc Physical to virtual network transport function abstraction
US9438506B2 (en) * 2013-12-11 2016-09-06 Amazon Technologies, Inc. Identity and access management-based access control in virtual networks
US9712438B2 (en) 2014-01-08 2017-07-18 Microsoft Technology Licensing, Llc Routing messages between virtual networks
US9917728B2 (en) * 2014-01-14 2018-03-13 Nant Holdings Ip, Llc Software-based fabric enablement
US10212101B2 (en) 2014-01-14 2019-02-19 Nant Holdings Ip, Llc Low level provisioning of network fabrics
US9419855B2 (en) 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9313129B2 (en) 2014-03-14 2016-04-12 Nicira, Inc. Logical router processing by network controller
US9590901B2 (en) 2014-03-14 2017-03-07 Nicira, Inc. Route advertisement by managed gateways
US9225597B2 (en) 2014-03-14 2015-12-29 Nicira, Inc. Managed gateways peering with external router to attract ingress packets
US9503321B2 (en) 2014-03-21 2016-11-22 Nicira, Inc. Dynamic routing for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9413644B2 (en) 2014-03-27 2016-08-09 Nicira, Inc. Ingress ECMP in virtual distributed routing environment
US9948493B2 (en) 2014-04-03 2018-04-17 Centurylink Intellectual Property Llc Network functions virtualization interconnection gateway
US10122753B2 (en) 2014-04-28 2018-11-06 Sophos Limited Using reputation to avoid false malware detections
US9392015B2 (en) * 2014-04-28 2016-07-12 Sophos Limited Advanced persistent threat detection
US9917851B2 (en) 2014-04-28 2018-03-13 Sophos Limited Intrusion detection using a heartbeat
US10375024B2 (en) * 2014-06-20 2019-08-06 Zscaler, Inc. Cloud-based virtual private access systems and methods
US10616180B2 (en) 2014-06-20 2020-04-07 Zscaler, Inc. Clientless connection setup for cloud-based virtual private access systems and methods
US10225327B2 (en) 2014-08-13 2019-03-05 Centurylink Intellectual Property Llc Remoting application servers
US9898318B2 (en) 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
EP3186925A4 (en) * 2014-08-27 2018-02-21 Adaptive Spectrum and Signal Alignment, Inc. Systems, methods, and apparatuses for implementing the virtualization of access node functions
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
US10020960B2 (en) 2014-09-30 2018-07-10 Nicira, Inc. Virtual distributed bridging
US9768980B2 (en) 2014-09-30 2017-09-19 Nicira, Inc. Virtual distributed bridging
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US9338071B2 (en) 2014-10-08 2016-05-10 Google Inc. Locale profile for a fabric network
FR3028124A1 (fr) * 2014-11-05 2016-05-06 Orange Procede de controle des politiques de trafic depuis un module de securite dans un terminal mobile
WO2016097757A1 (en) 2014-12-18 2016-06-23 Sophos Limited A method and system for network access control based on traffic monitoring and vulnerability detection using process related information
US10129180B2 (en) 2015-01-30 2018-11-13 Nicira, Inc. Transit logical switch within logical router
US10038628B2 (en) 2015-04-04 2018-07-31 Nicira, Inc. Route server mode for dynamic routing between logical and physical networks
US9967134B2 (en) 2015-04-06 2018-05-08 Nicira, Inc. Reduction of network churn based on differences in input state
US20160352577A1 (en) * 2015-05-27 2016-12-01 Nimbus 9, Inc. Multiple gateway virtualization
US20160373405A1 (en) * 2015-06-16 2016-12-22 Amazon Technologies, Inc. Managing dynamic ip address assignments
US10348625B2 (en) 2015-06-30 2019-07-09 Nicira, Inc. Sharing common L2 segment in a virtual distributed router environment
CN105138920A (zh) * 2015-07-30 2015-12-09 浪潮电子信息产业股份有限公司 一种内网终端安全管理的实现方法
US10230629B2 (en) 2015-08-11 2019-03-12 Nicira, Inc. Static route configuration for logical router
US10075363B2 (en) 2015-08-31 2018-09-11 Nicira, Inc. Authorization for advertised routes among logical routers
US9860214B2 (en) * 2015-09-10 2018-01-02 International Business Machines Corporation Interconnecting external networks with overlay networks in a shared computing environment
US10645528B2 (en) 2015-09-18 2020-05-05 Huawei Technologies Co., Ltd. System and methods for reliable communication with mobility along a predictable route
US9930587B2 (en) * 2015-09-18 2018-03-27 Huawei Technologies Co., Ltd. Distributed virtual gateways
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US10447605B2 (en) * 2015-10-27 2019-10-15 Avago Technologies International Sales Pte. Limited Flow-based host discovery in SDN networks
US10965649B2 (en) * 2015-10-30 2021-03-30 Fatpipe, Inc. Persistent data communication sessions across WAN
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US11200291B2 (en) 2015-11-02 2021-12-14 International Business Machines Corporation Automated generation of web API descriptions from usage data
US10333849B2 (en) 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US10484515B2 (en) 2016-04-29 2019-11-19 Nicira, Inc. Implementing logical metadata proxy servers in logical networks
US10841273B2 (en) 2016-04-29 2020-11-17 Nicira, Inc. Implementing logical DHCP servers in logical networks
US10091161B2 (en) 2016-04-30 2018-10-02 Nicira, Inc. Assignment of router ID for logical routers
CN107370715B (zh) * 2016-05-12 2020-09-18 深信服科技股份有限公司 网络安全防护方法及装置
US11968179B2 (en) 2016-05-18 2024-04-23 Zscaler, Inc. Private application access with browser isolation
US11936623B2 (en) 2016-05-18 2024-03-19 Zscaler, Inc. Systems and methods for utilizing sub-clouds in a cloud-based system for private application access
US11949661B2 (en) 2016-05-18 2024-04-02 Zscaler, Inc. Systems and methods for selecting application connectors through a cloud-based system for private application access
US11838271B2 (en) 2016-05-18 2023-12-05 Zscaler, Inc. Providing users secure access to business-to-business (B2B) applications
US10560320B2 (en) 2016-06-29 2020-02-11 Nicira, Inc. Ranking of gateways in cluster
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10608928B2 (en) 2016-08-05 2020-03-31 Huawei Technologies Co., Ltd. Service-based traffic forwarding in virtual networks
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10341236B2 (en) 2016-09-30 2019-07-02 Nicira, Inc. Anycast edge service gateways
US10608843B2 (en) * 2016-10-14 2020-03-31 Cisco Technology, Inc. Isolation networks for computer devices
CN108011801B (zh) * 2016-11-01 2020-12-04 阿里巴巴集团控股有限公司 数据传输的方法、设备、装置及系统
US9906401B1 (en) * 2016-11-22 2018-02-27 Gigamon Inc. Network visibility appliances for cloud computing architectures
CN107493313A (zh) * 2016-12-19 2017-12-19 汪海军 云管理系统与方法
US10237123B2 (en) 2016-12-21 2019-03-19 Nicira, Inc. Dynamic recovery from a split-brain failure in edge nodes
US10742746B2 (en) 2016-12-21 2020-08-11 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10212071B2 (en) 2016-12-21 2019-02-19 Nicira, Inc. Bypassing a load balancer in a return path of network traffic
US10616045B2 (en) 2016-12-22 2020-04-07 Nicira, Inc. Migration of centralized routing components of logical router
CN108881020B (zh) * 2017-05-11 2020-11-06 中兴通讯股份有限公司 有源可信路由管理的方法、装置及其计算机设备
US10637800B2 (en) 2017-06-30 2020-04-28 Nicira, Inc Replacement of logical network addresses with physical network addresses
US10681000B2 (en) 2017-06-30 2020-06-09 Nicira, Inc. Assignment of unique physical network addresses for logical network addresses
US11038746B2 (en) * 2017-10-25 2021-06-15 Walmart Apollo, Llc Systems and methods for routing data in distributed environments
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10476841B2 (en) 2018-03-23 2019-11-12 Microsoft Technology Licensing, Llc Stateless tunnels
US10999244B2 (en) * 2018-09-21 2021-05-04 Microsoft Technology Licensing, Llc Mapping a service into a virtual network using source network address translation
US10931560B2 (en) 2018-11-23 2021-02-23 Vmware, Inc. Using route type to determine routing protocol behavior
US10797998B2 (en) 2018-12-05 2020-10-06 Vmware, Inc. Route server for distributed routers using hierarchical routing protocol
US10938788B2 (en) 2018-12-12 2021-03-02 Vmware, Inc. Static routes for policy-based VPN
US10880124B2 (en) 2018-12-28 2020-12-29 Alibaba Group Holding Limited Offload controller control of programmable switch
US11627080B2 (en) * 2019-01-18 2023-04-11 Vmware, Inc. Service insertion in public cloud environments
US11159343B2 (en) 2019-08-30 2021-10-26 Vmware, Inc. Configuring traffic optimization using distributed edge services
CN112787902B (zh) * 2019-11-08 2023-11-21 中兴通讯股份有限公司 报文封装方法及装置、报文解封装方法及装置
US11616755B2 (en) 2020-07-16 2023-03-28 Vmware, Inc. Facilitating distributed SNAT service
US11606294B2 (en) 2020-07-16 2023-03-14 Vmware, Inc. Host computer configured to facilitate distributed SNAT service
US11611613B2 (en) 2020-07-24 2023-03-21 Vmware, Inc. Policy-based forwarding to a load balancer of a load balancing cluster
US11902050B2 (en) 2020-07-28 2024-02-13 VMware LLC Method for providing distributed gateway service at host computer
US11451413B2 (en) 2020-07-28 2022-09-20 Vmware, Inc. Method for advertising availability of distributed gateway service and machines at host computer
US11895159B2 (en) 2021-06-30 2024-02-06 International Business Machines Corporation Security capability determination

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999005590A2 (en) 1997-07-25 1999-02-04 Starvox, Inc. Apparatus and method for integrated voice gateway
US7058727B2 (en) * 1998-09-28 2006-06-06 International Business Machines Corporation Method and apparatus load balancing server daemons within a server
SE516122C2 (sv) 1999-02-11 2001-11-19 Ericsson Telefon Ab L M Anordning och förfarande relaterande till paketdatakommunikation och ett paketdatakommunikationssystem
US6434627B1 (en) 1999-03-15 2002-08-13 Cisco Technology, Inc. IP network for accomodating mobile users with incompatible network addressing
US6697872B1 (en) * 1999-10-15 2004-02-24 Cisco Technology Distributed packet processing using encapsulation and decapsulation chains
US20020091855A1 (en) 2000-02-02 2002-07-11 Yechiam Yemini Method and apparatus for dynamically addressing and routing in a data network
US7310666B2 (en) * 2001-06-29 2007-12-18 International Business Machines Corporation Method and system for restricting and enhancing topology displays for multi-customer logical networks within a network management system
US7281058B1 (en) * 2002-10-09 2007-10-09 Juniper Networks, Inc. Delivering and receiving multicast content across a unicast network
US7890633B2 (en) 2003-02-13 2011-02-15 Oracle America, Inc. System and method of extending virtual address resolution for mapping networks
JP4021780B2 (ja) * 2003-02-20 2007-12-12 富士通株式会社 計算機ノード、クラスタシステム、クラスタ管理方法、クラスタ管理プログラム
US7499451B2 (en) * 2003-02-20 2009-03-03 Fujitsu Limited Computer node, cluster system, cluster managing method, and cluster managing program
US20040249974A1 (en) 2003-03-31 2004-12-09 Alkhatib Hasan S. Secure virtual address realm
US7593346B2 (en) 2003-07-31 2009-09-22 Cisco Technology, Inc. Distributing and balancing traffic flow in a virtual gateway
US7327687B2 (en) * 2003-12-30 2008-02-05 Ixia Wireless network virtual station address translation with external data source
US7697501B2 (en) 2004-02-06 2010-04-13 Qualcomm Incorporated Methods and apparatus for separating home agent functionality
EP1748600A4 (en) 2004-04-28 2013-03-06 Jiaxun Feihong Electric Co Ltd SYSTEM AND COMMUNICATION METHOD OF AN IP TELECOMMUNICATIONS NETWORK AND APPLICATION THEREOF
GB2418326B (en) * 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
JP4737089B2 (ja) 2004-10-19 2011-07-27 日本電気株式会社 Vpnゲートウェイ装置およびホスティングシステム
JP4707992B2 (ja) * 2004-10-22 2011-06-22 富士通株式会社 暗号化通信システム
JP4619943B2 (ja) * 2005-12-28 2011-01-26 富士通株式会社 パケット通信方法、パケット通信システム
JP4603505B2 (ja) * 2006-05-10 2010-12-22 富士通株式会社 パケットルーティング制御プログラム、パケットルーティング制御方法及びコンピュータシステム
US7840701B2 (en) * 2007-02-21 2010-11-23 Array Networks, Inc. Dynamic system and method for virtual private network (VPN) packet level routing using dual-NAT method
US8055789B2 (en) 2007-03-27 2011-11-08 Amazon Technologies, Inc. Configuring intercommunications between computing nodes
US8020203B2 (en) 2007-12-03 2011-09-13 Novell, Inc. Techniques for high availability of virtual private networks (VPN's)

Also Published As

Publication number Publication date
US20130136133A1 (en) 2013-05-30
US20110310899A1 (en) 2011-12-22
EP2586160A4 (en) 2017-09-20
WO2011162942A2 (en) 2011-12-29
JP2013533689A (ja) 2013-08-22
TW201203956A (en) 2012-01-16
US9876717B2 (en) 2018-01-23
WO2011162942A3 (en) 2012-04-05
US8374183B2 (en) 2013-02-12
EP2586160A2 (en) 2013-05-01
TWI531185B (zh) 2016-04-21
US20150188818A1 (en) 2015-07-02
US8982890B2 (en) 2015-03-17
CN102948132B (zh) 2017-04-12
CN102948132A (zh) 2013-02-27
EP2586160B1 (en) 2018-11-07

Similar Documents

Publication Publication Date Title
JP5809696B2 (ja) 分散型仮想ネットワーク・ゲートウェイ
CN112470436B (zh) 用于提供多云连通性的系统、方法、以及计算机可读介质
US10700979B2 (en) Load balancing for a virtual networking system
CN110582997B (zh) 协调提供商网络环境中的区域间操作
JP5859519B2 (ja) データパケットの配信管理方法
JP6306640B2 (ja) 管理されたコンピュータネットワークのための論理ネットワーキング機能の提供
US9602307B2 (en) Tagging virtual overlay packets in a virtual networking system
US10938787B2 (en) Cloud services management system and method
US10142218B2 (en) Hypervisor routing between networks in a virtual networking environment
US8725898B1 (en) Scalable port address translations
KR101912073B1 (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
WO2014139383A1 (en) Virtual gateways and implicit routing in distributed overlay virtual environments
US20170359198A1 (en) Non-transitory computer-readable storage medium, communication control method, and communication control device
US20130138813A1 (en) Role instance reachability in data center
US20220166715A1 (en) Communication system and communication method
CN116389599A (zh) 网关服务请求的处理、云原生网关系统的管理方法及装置
US11108735B2 (en) Mapping subnets in different virtual networks using private address space

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150422

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150911

R150 Certificate of patent or registration of utility model

Ref document number: 5809696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250