JP2009522877A - 任意のデータフロー用の高信頼性、高スループット、高パフォーマンス転送及びルーティングメカニズム - Google Patents

任意のデータフロー用の高信頼性、高スループット、高パフォーマンス転送及びルーティングメカニズム Download PDF

Info

Publication number
JP2009522877A
JP2009522877A JP2008548782A JP2008548782A JP2009522877A JP 2009522877 A JP2009522877 A JP 2009522877A JP 2008548782 A JP2008548782 A JP 2008548782A JP 2008548782 A JP2008548782 A JP 2008548782A JP 2009522877 A JP2009522877 A JP 2009522877A
Authority
JP
Japan
Prior art keywords
data packet
packet
server
address
gateway
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.)
Granted
Application number
JP2008548782A
Other languages
English (en)
Other versions
JP4975760B2 (ja
Inventor
フレッチャー,グレゴリー
シャンパン,アンドリュー,エフ.
ストドルスキー,ダニエル
アフェルガン,マイケル,エム.
Original Assignee
アカマイ テクノロジーズ,インク.
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 アカマイ テクノロジーズ,インク. filed Critical アカマイ テクノロジーズ,インク.
Publication of JP2009522877A publication Critical patent/JP2009522877A/ja
Application granted granted Critical
Publication of JP4975760B2 publication Critical patent/JP4975760B2/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1605Fixed allocated frame structures
    • H04J3/1611Synchronous digital hierarchy [SDH] or SONET
    • H04J3/1617Synchronous digital hierarchy [SDH] or SONET carrying packets or ATM cells
    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5077Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • 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
    • H04L61/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • 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
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Abstract

本発明は、既存のコンテンツ送出ネットワーク基盤を活用して、基礎となる転送メカニズムとしてインターネットプロトコル(IP)を使用するあらゆるアプリケーションのパフォーマンスを強化するシステムを提供する。オーバーレイネットワークが、エッジノード、中間ノード、ゲートウエイノードのセットを具える。このネットワークが、IPパケットの最適ルーティングを提供する。インターネットアプリケーションのユーザは、このオーバーレイを使用して、通常のネットワーク状態でパフォーマンスを改良し、通常のデフォルトBGPルーティングがユーザに密集したパスあるいはパフォーマンスが良好でないパスの使用を余儀なくするような場合でも良好なパフォーマンスを維持することができ、あるいは、ネットワークが止まっている場合でもユーザがターゲットサーバアプリケーションに通信を維持することができる。
【選択図】 図7

Description

本発明は、一般にインターネットを介したデータパケットの転送及びルーティングに関する。
公のインターネットは、仮想プライベートネットワーク(VPN)を介した電子商取引によるオフィス間の接続などの様々なミッションクリティカルなアプリケーションや、最近では分散アプリケーションを開発するための新しいパラダイムのようなウェブサービスのために、企業によって益々利用されるようになっている。しかしながら、現在のインターネットルーティング基盤に基づくボーダゲートウェイプロトコル(BGP)は、これらのアプリーションの信頼性及び性能ニーズをサポートするのに適していない。特に、主としてBGPプロトコルにより決定されるインターネットルーティングは、いくつかの弱点を有している。まず、BGPは、最短のAS(自律システム)のパス長として知られている測定基準(metric)を用いてパケットのための次のホップを決定する。図1Aにより、ASパスが一つであるため、ネットワークD向けのデータをネットワークAから直接的に送ることが分かる。BGPは集まる(converge)のが遅いことが分かっているため、これは必ずしも好ましいものではない。したがって、2つのネットワーク間のリンクが利用可能でない場合、総ての関連するルータが気づき、問題を回避するには数分かかることがある。この時間にパケットが失われる。さらに図1Bに示すように、ピアのポリシー(peering policy)は、ネットワークが別のネットワークからのパケットを許容せず、BGPがこの問題を効果的に避けることができないことを示している。別の問題は、様々なインターネットアプリケーションが最適なパフォーマンスのための端末間の接続の様々な特徴(例えば、最小の損失、待ち時間、または待ち時間における可変性)を必要とすることである。BGPは、サービスの質のためのルートについての取り組みをせず、これらの測定基準についての概念がない。図2に示すように、BGPは代替的なルートよりも長い待ち時間のルート(ネットワークAとDの間)を選択する。
ビジネスがウェブトランザクション、仮想プライベートネットワーク(VPN)及びウェブサービスなどのアプリケーションのためにインターネットを信頼するに伴い、本分野にはインテリジェントルーティングを必要とする。例えば、RouteScienceや他の企業が提供する製品などのリアルタイムのネットワークの状態の測定に基づいたインテリジェントルーティングの概念が、本分野で知られている。しかしながら、これらの製品は、適切な指令をルータに与えることにより外向きのルートの最初のホップのみを制御する能力のみを有する。例えば、BGP通知(advertisement)に影響を及ぼすことによる内向きのルートを制御する試みは、これらの通知を変更可能な低い周波数、この通知の粗い粒度、インターネット上の複数のルータからの協力の要求、及びいくつかのISPによるポリシーオーバーライド(policy override)の偏在により制限される。
分散型コンピュータシステムもまた、よく知られた従来技術である。このような分散型コンピュータシステムは、サービスプロバイダにより操作及び管理される「コンテンツデリバリーネットワーク」又は「CDN」である。サービスプロバイダは、自分自身又は第三者のためにサービスを提供する。この種の「分散型システム」は通常、ネットワークにリンクした自立型コンピュータと、ソフトウェア、システム、プロトコル、及びコンテンツデリバリ又は外部の基盤のサポートなどの様々なサービスを容易にするように設計された技術の集合体を意味する。通常、「コンテンツデリバリ」は、コンテンツプロバイダの代わりにコンテンツ、ストリーミングメディア、及びアプリケーションのストレージ、キャッシング、又は転送を意味しており、限定ではなく、要求ルーティング、供給(provisioning)、データ監視及び報告、コンテンツの対象化、個人化、及びビジネスインテリジェンスを含むこれとともに用いられる補助的な技術を含む。「外部の基盤」の用語は、事業体が部分的に或いは全体的に第三者の代わりに第三者のウェブサイトの基盤を操作及び/または管理できる分散型システム及び関連技術を意味する。
周知の分散型コンピュータシステムは、インターネットを中心に分散した一組のマシンを有すると考えられる。通常、マシンの多くは、インターネットの端部(エッジ)、即ちエンドユーザのアクセスネットワークに又はこの近くに配置されたサーバである。ネットワークオペレーションコマンドセンタ(NOCC)は、システム内の様々なマシンの操作を管理(administer and manage)するために利用される。ウェブサイト206などの第三者のサイトが、コンテンツ(例えば、HTML、組み込みページオブジェクト(embedded page objects)、ストリーミングメディア、ソフトウェアダウンロード等)の送達を分散型コンピュータシステムに、具体的には「エッジ」サーバに委ねる。このようなコンテンツを必要とするエンドユーザは、分散型システムに向けられ、コンテンツをより確実かつ効率的に取得する。詳細には示していないが、分散型コンピュータシステムは、用法(usage)やエッジサーバからの他のデータを収集し、このデータを一の領域または一組の領域を超えて集め、このデータを他のバックエンドシステムに送り、監視、ロギング、警告、広告、管理、及び他の使用可能な管理機能を強化する分散型データ収集システムなどの他の基盤を具えている。分散型ネットワークエージェントは、ネットワークとサーバ負荷を監視し、ネットワーク、トラフィック、及びCDNにより管理されるコンテンツドメインに対して権限のあるメカニズムを取り扱うDNSクエリーにロードデータを提供する。分散型データ転送メカニズムは、制御情報(例えば、コンテンツを管理し、負荷バランスを強化するメタデータ等)をエッジサーバに分配するのに利用される。図3に示すように、所定のマシン300は、1又はそれ以上のアプリケーション306a乃至nをサポートするオペレーティングカーネル(Linux等)304を動作させる汎用ハードウェア(例えば、Intel Pentiumプロセッサ)302を具えている。コンテンツデリバリサービスを強化するために、例えば、所定のマシンは通常、HTTPウェブプロキシ307、ネームサーバ308、ローカル監視処理310、分散したデータの収集処理312等の一組のアプリケーションを動作させる。
前述したようなコンテンツデリバリネットワークは、補助的なネットワーク又はメカニズムを具えており、特定のデータの転送を促進し、又はデータのスループットを改良する。したがって、インターネットCDNは、情報分散技術を用いてストリーミングメディアの転送を提供し、これにより、所定のストリームが複合的で冗長なパスを介して送信される。このような技術の一つは、アカマイテクノロジー社に付与された「Streaming media subscription mechanism for a content delivery network」の名称の米国特許第6,751,673号に記されている。CDNは転送メカニズムを提供して、時間をかけて収集した性能データに基づいて、一対のホスト、例えば、2つのCDNサーバ、又はCDNエッジサーバとカスタマーオリジンサーバの間の通信を促進する。典型的なHTTPに基づく技術は、アカマイテクノロジー社の「Optimal route selection in a content delivery network」の名称の公開された米国特許出願2002/0163882に記されている。
本発明の目的は、任意のデータフローのための信頼性のあるハイスループットでハイパフォーマンスの転送及びルーティングメカニズムを提供することである。
本発明の別の目的は、インターネット上の問題からデータを回避させるインターネット上のオーバレイを提供し、最善のサービスルート又はパスを最小の待ち時間とロスで見つけることである。
本発明のさらに別の目的は、既存のコンテンツデリバリネットワーク基盤を用いて、基礎をなす転送メカニズムとしてインターネットプロトコル(IP)を利用する任意のアプリケーションの性能を強化するシステムを提供することである。
本発明のさらに一般的な目的は、インターネット上のビジネス用のアプリケーションの性能と信頼性を改善するオーバレイメカニズムを提供することである。
本発明のさらに別の目的は、インターネットのアプリケーションの利用者が改良された性能を通常のネットワーク状態で取得できる技術を提供すること、通常のデフォルトBGPルーティングが、密集したあるいはパフォーマンスが良好でないパスの使用をユーザに余儀なくさせるような場合に、高い性能を取得又は維持すること、またはネットワークの停止中にさえユーザが通信できることである。
本発明は、具合の悪い実行パスを検出してこれを迂回するとともに、直接的なパスが通常通りに機能する場合によりよい代替的な実行パスを見つける拡張性があり、可用性が高く、信頼性のあるオーバレイサービスを提供し、これにより、改良されたアプリケーションの性能と信頼性を保証する。
前述の内容は、本発明のより適切な特徴の一部の概要である。これらの特徴は単なる例示であると理解すべきである。開示された発明を別の方法で利用することにより、または本発明を後述するように修正することにより、その他の多くの有益な結果を得ることができる。
本発明及び本発明の利点をより完全に理解するために、ここで、添付図面を考慮して以下の記載について説明する。
本発明は、公にルーティング可能なインターネット上に設置される「オーバレイ(overlay)」メカニズムである。必須ではないが、オーバレイは既存のコンテンツデリバリネットワーク(CDN)基盤を用いることが好適である。一般に、本発明のオーバレイメカニズムは、ダウンしたリンクを迂回することにより(図4)、または最も待ち時間の少ないパスを発見することにより(図5)、IPを転送プロトコルとして用いるアプリケーションのパフォーマンスを強化する。したがって、図4では、ネットワークAとDの間のリンクがダウンしており、このため、オーバレイはネットワークBを介してパケットを送る。図5では、オーバレイは、BGPルーティングが決定する遅いネットワークAからネットワークDへのパスの代わりに、ネットワークA、ネットワークC、ネットワークDを介したパスを用いる。図4及び5では、クライアントがサーバと通信を試みていると仮定している。しかしながら、単一又は所定のクライアントの説明は、限定を意味するものではない。これは一般化である。本発明によると、オーバレイメカニズムは、様々な動作環境で利用される。このような環境の一つは、単一のサーバ(又はサーバファーム)へのアクセスを要求する複数のクライアント(例えば、ローミングクライアント(roaming client))が存在する環境である。これは時折、「リモートアクセス」と呼ばれる。別のシナリオでは、2以上の所定のエンドポイントが、互いに通信するのを要求する。これは時折、サイト対サイト又は「リモートオフィス」実施例と呼ばれる。一般化すると、分かるように、オーバレイメカニズムは、一組のサーバでIPパケットを受信し、ゼロまたはそれ以上の一連のCDNサーバを介してこれらのパケットを送り、これらを所定の規定されたIPアドレスに送達することにより動作する。
本発明に係るオーバレイIP(OIP)のルーティングメカニズムは、図6に示すような典型的な一組の構成要素を具えている。
・エッジサーバ602−通常、以下に述べるOIPエッジサーバのソフトウェア処理を動作させるCDNエッジサーバである。以下に説明するように、このソフトウェアは、IPパケットを受信し、カプセル化し、転送する責任を有する。
・エッジ領域600−通常、オーバレイメカニズム用に構成されたCDNエッジ領域である。
・中間サーバ606−通常、カプセル化されたパケットをエッジ領域600又は他の中間サーバから受信し、これを他の中間サーバ又はゲートウェイ領域に転送するサーバである。
・中間領域604−中間サーバの領域である。
・ゲートウェイサーバ610−通常、カプセル化されたパケットをオーバレイから受信するように構成され、ソースネットワークアドレス変換(NAT)を元のパケットに適用し、これをターゲットサーバに転送するエッジサーバである。
・ゲートウェイ領域608−通常、顧客構内に配置されるゲートウェイサーバを具えるある種のエッジ領域である。
・ターゲットサーバ612−トラフィックがオーバレイを介して送られるマシンである。
・ターゲットアドレス−ターゲットサーバのIPアドレスであり、このアドレスは時折、CDNの仮想IPアドレスと比較して、ダイレクトアドレスと呼ばれる。
・スロット−オーバレイの単一の「インスタンス」であり、スロットは、単一のターゲットアドレスに対応する番号が付されたインデックスである。
・仮想IPアドレス−通常、スロットに対応するCDNアドレスであり、スロット毎に、エッジ領域毎の一の仮想IPアドレスがあることが好適である。これは時折、VIPと呼ばれる。
・パス614−エッジ領域とゲートウェイ領域の間のCDN領域の順序集合(ordered set)である。
・パスセグメント616−パスの単一のホップである。
・トンネル618−エッジサーバからゲートウェイサーバへの1以上のパスのセットである。
・セッション620−クライアント622からターゲットサーバへの単一の端末間(end-to-end)の接続であり、このセッションは5つの要素(IPペイロードプロトコル、ソースアドレス、送信先アドレス、ソースポート、送信先ポート)により決まる。このソースはクライアントであり、送信先がターゲットである。
第1の実施例、リモートアクセスでは、パケットを単一のIPアドレスに送信するのを所望する1又はそれ以上のクライアントが存在する。図7は、オーバレイIPメカニズムがこの動作を実現する様子を示している。ステップ1では、クライアント700は、ホスト名を決定するDNS要求を生成する。このホスト名は、(例えば、CNAMEにより)権限のあるDNS702により管理されるドメインが付され、通常、権限のあるDNSはCDNサービスプロバイダにより管理される。このホスト名は、単一のゲートウェイ領域(及びターゲットアドレス)に対応するのが好適である。これは前述したようにスロットと呼ばれる。ステップ2では、DNSクエリーは、ホスト名のための単一のIPアドレスを返却する。このアドレスは、最も実行可能なエッジ領域706を特定し、この領域はホスト名専用であることが好適である。このアドレスは、前述したように仮想IPアドレスと呼ばれる。ステップ3では、クライアント700は、仮想IPアドレスへのIPパケットの送信を開始する。これらのパケットは、エッジ領域706内のサーバにより受信される。エッジ領域706は、ゲート領域704を分かっており、この領域に、IPパケットヘッダ内の送信先アドレスに基づいてパケットが送信される。次いで、パケットがカプセル化される。ステップ4では、好適にはCDNマッピングシステムにより提供されるルートに基づいて、エッジ領域706内のエッジサーバが、複数のカプセル化されたパケットのコピーを複数のパスを介して送信する。この複数のパスによるパケットの転送動作を行う技術が、アカマイテクノロジー社に付与された米国特許第6,665,726及び6,751,673に記されている。ステップ5に示すように、いくつかの中間サーバは、カプセル化されたパケットを受信し、好適にはCDNマッピングシステムから提供されたルートに基づいて、再度パケットをゲートウェイ領域704に(直接的に、あるいは図示されていない他の中間領域を介して)転送する。ステップ6では、パケットがゲートウェイ領域704内のサーバにより受信され、複製物が取り除かれる。送信先NATは、仮想IPをターゲットアドレスに変換し、パケットが送信される前にソースネットワークアドレスポート変換がパケットに適用され、返却トラフィックもオーバレイネットワークを介して送信されるようにする。返却トラフィックがクライアントのパケットが生成されるエッジ領域706に送信されるように、情報を格納するのが好適である。ステップ7では、ゲートウェイ領域704が、ターゲットアドレスからIPパケットを受信し、パケットをネットワークアドレス変換しない(de−NAT)。次に、パケットがカプセル化される。ステップ8では、パケットの複数のコピーが複数のパスを介して送られる。ステップ9では、中間サーバが、このセッションのために元のエッジ領域にパケットを送信する。ステップ10では、パケットがエッジサーバにより受信され、複製物が取り除かれる。パケットが、仮想IPアドレスから供給され、要求しているクライアント700に返信される。これにより、端末間の転送が完了する。
以下に典型的なエッジサーバ、中間サーバ、及びゲートウェイサーバの追加的な詳細を記す。
I.エッジサーバ
エッジサーバは、(便宜上、oipdと称する)処理を動作させ、この処理は以下の機能、すなわち、仮想IPアドレスのパケットを受信し、予測されるプロトコル/ポート、無効あるいはアタックトラフィック、又は特殊なアクセスコントロールリスト(ACL)に基づいてパケットをフィルタリングし、カプセル化/カプセル開放をし、複製されたパケットを転送し、複製されたパケットを受信する機能を提供する。
ここで、これらの各機能を説明する。
パケット受信
仮想IPアドレスに向かうIPパケットは、エッジサーバのTCP/IPスタックにより処理されるべきではなく、これらは常に通過(tunneled)あるいはドロップされなくてはならない。したがって、エッジサーバのオペレーティングシステムのカーネルは、パケットがローカルで処理される前にパケットを捕まえる(これをoipdに送る)フックを具えている。代表的な実施例では、エッジサーバが、汎用的なハードウェア及びLinuxのオペレーティングシステムのカーネルを動作させる。このカーネルは、ip_table、ip_queue及びip_filterモジュールを具えている。マシンのスタートアップ時には、コンフィグレーションスクリプトが、任意の仮想IPアドレス向けの総てのパケットがユーザの空間に送達されるように(ip_tableモジュール内の)ルールを設定する。ip_queueモジュールを利用して従うアプリケーションが無い場合、パケットはドロップする。
パケットフィルタリング
3種類のパケットのフィルタリング、即ち、予測/許可されるTCP/UPD、無効又はアタックトラフィック、CDNサービスプロバイダ又は顧客が指定するホワイトリスト/ブラックリストACLがサポートされることが好ましい。エッジサーバ処理oipdは、ポートに基づいてTCP/UDPパケットをフィルタリングするのが好適である。
カプセル化
エッジサーバ処理により提供される重要な機能がカプセル化される。カプセル化のヘッダは、以下の情報又はその情報の一部を含んでいる。
・プロトコルバージョン−標準的なバージョンフィールド。
・TTL−パケットが自動的にゲートウェイ領域(あるいは方向に基づいてエッジ領域)に送られる前に通過可能な多くのホップの数である。これは各ホップでデクリメントする。
・パス番号−パケットが通過する各パスは識別子を有する。この番号は、マップ又は他のデータ構造内で特定されるインデックスに対応することが好適である。
・転送状態(forward state)−ゲートウェイサーバにより利用される。
・データ長−OIPパケットのペイロード内のバイト数である。
・ソースサービスアドレス−カプセル化マシンのサービスアドレスである。
・送信先サービスアドレス−トンネルの受信側のサービスアドレスである。
・メッセージシーケンス番号−複製したパケットを特定し、トンネルを介したロスを決定する。
・OIPスロット番号−パケットのスロットである。
・シリアル番号−IPパケットのハッシュ情報により決定される。
・エッジ領域番号−パケットを送信する領域の領域番号である。
・SRMM中間領域のマップルール−このスロットのために使用される中間領域を決定する。
・メッセージ認証コード−OIPパケットの信頼性を判断するのに用いられる。
パケットがカプセル化された場合、oipd処理は、IPヘッダの送信先アドレスフィールド内の仮想IPアドレスに基づいてCDNの顧客を知る。次に、この処理は以下のマップを含むコンフィギュレーションファイルを調べる。
Virtual IP address −> SRIP slot number
これは時折、「VIPマップ」と呼ばれる。このマップはインストールの際に決定され、様々なエッジサーバの構成要素がマップの一貫性のあるビューを有することが好適である。次に、好適にはスロットコンフィギュレーションファイルで生成される「Slot Configraton Map」を用いて、スロット番号をこの顧客のためのゲートウェイ領域の番号を調べるのに利用される。次に、エッジサーバ処理は、情報のハッシュ値を計算してシリアル番号にし、負荷バランスのために管理可能な量に負荷を分散する。ハッシュは、少なくともソースIPアドレスを含むことが好適である。次のヘッダがTCP又はUDPの場合、発信元ポート及び送信先ポートも同様にハッシュ値が計算される。
エッジサーバ処理は、シリアル番号をサービスアドレスにマップする第1の低レベルのマップ(以下に示すようなサービスB)を承認する。具体的には、シリアル番号は、マップにインデックスを付して、単一のサービスアドレスを含むゲートウェイ領域を特定するのに用いられる。これは、パケットの総て(例えば、3つ)のコピーが送信されるサービスアドレスである。次に、エッジサーバ処理は、過去にパケットをこのアドレスに転送したかを判断するためにチェックする。過去に転送した場合は、エッジサーバ処理はシーケンス番号をインクリメントさせ、この番号をカプセル化したヘッダ内の「メッセージシーケンス番号」フィールド内で使用する。エッジサーバ処理がこのIPアドレスに何も送信していない場合、以下に説明するように状態を初期化する。
パケット転送
「パケット転送」機能は、以下のように動作する。この時点では、カプセル化したヘッダの多くが満たされている。ヘッダについての追加の情報は、以下のように生成される。総てのエッジサーバは、マップを行う割り当て処理(以下に説明するSRMMと呼ばれる)を許可することが好適であり、MapperX.OIP.sr_assn_D_regionYは、Xが適切なMapperの接頭辞であり、Yが領域番号である。送信先領域番号とSRMM中間領域ルールは、割り当てメッセージにインデックスを付するために用いられる。これは、1又はそれ以上の次のホップ領域の番号を生成し、次のホップ領域の番号は、スロット毎に設定可能であることが好適である。次のホップはそれぞれ、パス番号によりインデックスが付される。このパス番号はカプセル化ヘッダに含まれており、ダウンストリームの中間ノードは次のホップを知っている。割り当てメッセージが次の領域を有していない場合、単一のカプセル化したパケットが、送信先サーバのアドレスに送られる(これは、NOCC内の警告を発するべきである)。次のホップ領域毎に、第2の低レベルのマップ(以下に説明するサービスC)がチェックされる。このマップにインデックスを付するために用いられるシリアル番号は、カプセル化パケットヘッダに含まれるシリアル番号であることが好適である。これらの各マップが、各シリアル番号の単一のサービスアドレスのみを含むことが好適である。これは、パケットが次に転送されるサービスアドレスである。シリアル番号は、情報(即ち、5つの要素)を特定する接続(コネクション)から導出されることが好適である。送信される次の領域がゲートウェイ領域である場合、第1の低レベルのマップは、チェックが既に送信エッジサーバにより行われているためチェックする必要がない。この最初の検査は、複数のパスに沿って送信される前に行われ、中間領域を同期させるのを阻止する。
ヘッダ情報が終了すると、MACがヘッダ及びデータ用に計算される。この計算は、SHA−1、MD5等に基づいている。中間ノードによる転送を単純化するために、TTLフィールドは、変更可能である場合はハッシュに含まれていなくてもよい。
複製されたパケット
前述したように、エッジサーバ処理は、複製されたパケットを送信することが好適である。前述したように、エッジサーバ処理は、冗長性のために、各パケットの複数のコピーを様々な方向に送信することが好適である。受信側は、複製物をフィルタリングする効率的な方法を必要とする。複製されたパケットを処理する場合、最初の目的は、ドロップするパケットをできるだけ少なくすることであり、次の目的は、複製されたパケットをできるだけ少なくターゲットサーバに送信することである。エッジサーバ処理は、トンネルレベルで複製されたパケットを追跡する。ペア毎(エッジ発信元アドレス、エッジ送信先アドレス)に、エッジサーバ処理が、パケットを受信する各サービスアドレスごとにどのパケットが受信されたか(及びされなかったか)を表すスライドウインドウの状態を維持することが好適である。処理アルゴリズムの一つについて述べる。このアルゴリズムは、ウインドウのサイズである一のパラメータと、これまでラップアラウンド用に調整して見える最大シーケンス番号を維持する。二つのデータオブジェクト;すなわち、ウインドウと、好ましくは、ウインドウのサイズは、不必要にリセットされないように十分に大きくなくてはならない。従って、
oip.packet.window.size>=(max_packet_rate*max_packet_age)
初期化する際に、ウインドウ全体をNULLに初期化することが好適である。最も大きなシーケンス番号は、第1パケットの番号にセットされており、スライドウインドウへの入力は、SEENにセットされている。新しいパケットごとに、シーケンス番号>最大シーケンス番号+oip.packet.windowサイズであれば、その状態が初期化されて再開する。パケットがウインドウ内にあるが、最大シーケンス番号より小さい場合は、アルゴリズムが、ウインドウの入力がSEENにセットされたかどうかをチェックする。SEENにセットされていれば、パケットがドロップし、さもなければSEENとマークされる。パケットがこれまでの最大シーケンス番号より大きい場合は、アルゴリズムがその最大番号をパケットにセットして、その入力をSEENとマークし、その間の全ての入力をUNSEENとマークする。2つの値を用いることで十分正確であるが、3つの値を用いると、状態に2ビットを必要とする。送信者が状態を再開すると、ランダムに選んだシーケンス番号が、受信者が維持している現ウインドウ内にくることがあり、パケットを不必要にドロップさせることがある。これを防止するために、送信者は定期的に、データを送った各サービスアドレスについてのマップ(サービスアドレス、最後のシーケンス番号)を書くことが好適である。エッジサーバが開始して立ち上がると、このファイルを読み取って大きな数字を加え、サーバがウインドウにないことを確実にする。この値は、ウインドウウサイズより十分に大きくなくてはならない。
上述したように、エッジ領域が複数のエッジサーバを具えることが好適である。従って、本システムは、エッジサーバ障害迂回機能を実装することができる。これによって、単一のエッジサーバが故障した場合に、その結果ドロップするであろうパケットの数が最小になる。各エッジ領域は、所定数の構造マシンのバディグループを有する。傷害迂回で動作する複製物の除去のために、SEENパケット状態は、バディグループ中の全てのマシンに公開される。このデータは、おそらく非常に頻繁に変化する。従って、各マシンがそのバディグループの全てのマシンに最大シーケンス番号のSEENを表示する更新データを送信することが好適である。各マシンは、バックエンドネットワークを通してそのバディグループの全てのマシンに、この情報を好適にはTCPを用いて送信する。
II.中間サーバ
中間サーバは、エッジサーバに実装されているものと同じ「転送パケット」機能を有する。この中間サーバは、MapperX.OIP.sr_assn_D_region Yチャネルと契約している。各中間領域は、SRMM中央領域ルールが割り当てられており、このルールに従って設定されているスロット用のパケットのみを受信する。送信先領域番号とスロットの中央領域ルールを用いて、割り当てメッセージにインデックスを付して、次のホップを決定する。マシンが異なる中央領域ルールを有するスロット用パケットを受信した場合は、それを送り続けるが、警告を発しなければならない。別の中間領域に送信する場合は、第2の低レベルマップを用いて、次のホップサーバのサービスアドレスを決定する。次の領域がゲートウエイ領域である場合は、ヘッダ中の送信先サービスアドレスを用いることが好ましい。パケットを転送する前に、TTLフィールドをデクリメントしなければならない。TTLが1になると、パケットがゲートウエイ領域サービスのアドレスに転送される。
III.ゲートウエイサーバ
上述したとおり、ゲートウエイ領域は、一般的に顧客データセンタに位置する特殊なエッジ領域であることが好ましい。理想的には、これは、ターゲットサーバに近いところにある。ゲートウエイサーバは、エッジサーバ処理oipdのインスタンスも動作させて、エッジサーバとゲートウエイサーバとして同時に作動することができる。ゲートウエイ領域の各マシンは、インストール及び安全なアクセス用に使用する自身のCDN−特定IPアドレスであって、オーバーレイネットワーク通信に用いるサービスアドレスとしてのアドレスを有することが好ましい。上述したとおり、単一のVIPアドレスを固定クライアントのマッピング用に使用し、いくつかのNATアドレスを使用するのが好適である。ゲートウエイ領域は、好ましくは、冗長性用マシンを何台か備えている。これらのマシンは、負荷が分散されている。
ゲートウエイサーバは、以下の機能を提供する:すなわち、接続トラッキング、状態同期、ネットワークアドレス変換、シーケンス番号変換、領域内パケット転送、エッジ領域へのパケット返還機能である。これらの各機能を以下に詳細に説明する。
トラック接続
トラック接続のために、エッジサーバ処理oipdは、なりすましとIPアドレス変換を実行するlibaliasライブラリなどのNATライブラリを使用する。このライブラリは、好ましくは、ハッシュテーブルあるいはその他のデータ構造内に接続トラッキング情報を保存する。新しい接続が設定されると、新しい入力がテーブルに加えられる。既存の入力が参照されると、その時間スタンプが更新される。既存の入力が所定の時間内に参照されない場合(この意味は、プロトコルと接続状態に応じて変化する)は、入力がテーブルから削除される。新規の接続トラックが作られると、これを標準libaliasデータベースに加えら、更に、新しく作られ、まだ同期していない接続トラックのリストも加えることが好ましい。既存の接続トラックが変更されると、そのリストにすでにあるか、あるいは新規入力リスト載っていない限り、変更されたが同期していない入力リストに加えられる。既存の接続トラックが削除されると、このトラックはlibaliasデータベースから削除され、削除入力リストに加えられる(現在新規入力リストにない限り、すなわち、それに関する情報が同期しておらず、削除情報を同期する必要がない場合でない限り)。oipd処理は、定期的に、データベースへ更新(新規、変更、及び削除リスト)を同期する。これによって、接続追跡データベースを、ゲートウエイ領域全体で共有することができ、ゲートウエイ領域内のマシン間で接続状態ごとの情報を移動させることができる。
状態同期
ゲートウエイサーバ内で動作しているoipd処理は、いくつかの情報片を単一の接続に関連付けることが好適である。この情報は、ゲートウエイ領域中の全てのマシンで同期している。この結果、一連の機能がlibaliasライブラリに加わって、同期するデータの収集を容易にする。各タイプのリスト(新規、変更、削除)の同期について1の機能があり、一つは、ピアマシンを初期化するために全記録を収集する機能であり、一つは、単一の入力に対する要求に応答する機能である。これらの機能について以下に述べる。
GetSyncNewData機能は、まだ同期していない新規記録を全て同期させるデータパケットを立ち上げる。TCPパケットの場合、完全に接続されていると考えられる(すなわち、SYNパケットがクライアントとサーバの両方から見られた)これらのパケットのみが同期する。好ましくは、oipd処理によって完全に接続されたことがマークされるまで常に同じマシンによって操作される。これによって、潜在的なレース状態が部分的に接続されたトラッキング入力の同期に関連付けられ、その時間切れを防止することができる。
GetSyncModData機能は、まだ同期していない変更した全記録ての同期用のデータパケットを作る。アクティブな入力は、少なくとも、データベース中あるいはリモートマシン上でタイムアウトしないことを確実にするために十分頻繁に同期することが望ましい。好ましくは、oipd処理は、リスト中の各入力が少なくとも定期的に(例えば、UDP接続入力用のタイムアウト期間)確実に同期されるようにする。これによって、接続入力が誤ってタイムアウトしなくなり、同時に、同期したゲートウエイ領域を保持するのに必要な帯域が制限される。
GetSyncDelData機能は、削除した記録についての情報を収集し、GetSyncAllData機能は、データベース中の入力全てについての情報を収集する。
同期データをリモートマシンで受信すると、このデータはアクティブな接続に適用される場合(すなわち、GetSyncAddData、GetSyncModData、GetSyncAllDataによって収集される場合)、GetSyncAddData機能に送信される。この方法は、一のデータがある場合、ローカルデータベース中に新規接続入力をつくるか、既存の入力を更新する。TCP接続については、各方向(イン/アウト)に一台、二台の有限状態のマシンを用いて、接続状態をlibaliasによって追跡することが好ましい。GetSyncAddData機能によって、ローカルマシン上の有限状態のマシンが有効な移送を追跡して、アクティブな接続が誤って非接続、あるいは切断としてマークされないようにする。削除すべき記録に関する同期データは、GetSyncDelDataに送信され、ここで、このデータ入力に関するローカルテーブルの時間スタンプが、削除した入力の時間スタンプより近くない限り、ローカルテーブルから入力を削除する。
好ましくは、これらのlibalias同期ルーチンは、送信者スレッドと受信者スレッドを含むNAT_syncモジュールによって使用される。このモジュールは、その全ての同期ピア(例えば、ゲートウエイ領域の他の全てのマシン)の先端アドレス及び後端アドレスで初期化される。送信者スレッドは、そのピアの一つに接続しており、初期化手順の一部として接続追跡テーブルのスナップショットを全部取り出す。次いで、反応の良いものを見つけるまで各ピアを試して、そのマシンからテーブルの更新をリクエストする。好ましくは、この初期化が完了し、全てのピアノードを試してしまうまで、他のオーバーレイ活動性処理は行われない。送信者スレッドは、好ましくは、リアルタイムクロックを用いて、同期を行う。各クロック反復について、送信者スレッドは、GetSyncAddData、GetSyncDelData、GetSyncModDataを用いて、同期用データを回収する。このデータは、次いで、この領域の全てのライブピアへ送られる。活動性をチェックするために、送信者スレッドは、最後の既知の良好なアドレス(先端あるいは後端のいずれか)を用いてピアノードへのTCP接続の設定を試みることが好ましい。この接続が失敗したら、次いで、送信者スレッドは、他のアドレスを介した接続の設定を試みる。次の同期の試みにおいて再び試すことができるが、これが失敗したらピアが故障であると仮定する。送信者の同期クロックが反復するレートがGetSyncModDataアルゴリズムで使用するlibaliasに設定され、各同期期間にいくつ変更レコードを送るべきかを決定する。このレートは、設定可能である。上述したとおり、各クロック反復において、全ての新しい接続入力(半接続TCPを除く)、妥当な数の変更入力、及び全削除入力が同期される。受信スレッドは、リモート接続が入ってくるのを単に待つだけであり、次いで、この接続をメッセージタイプに応じて処理する。更新及び削除メッセージは、適宜のSetSync法に渡す。初期化リクエストは、受信者にGetSyncAllData機能を動作させて、このデータをリモートマシンに送信する。
ネットワークアドレス変換
上述したとおり、オーバーレイは、ターゲットサーバに送るべきサービスアドレス(ゲートウエイ)に到着するすべてのパケットについて発信元ネットワークアドレス変換(NAT)を実行する。これによって、パケットは確実にオーバーレイを介して送り返される。発信元NATのアドレスは、好ましくは、領域ごと及びマシンごとに規定される。好ましくは、NATアドレスの周囲を移動することが望ましいため、所定のマシンは静NATアドレスに割り当てられない。また、パケットがゲートウエイサーバに届くと、関連する接続タイプに応じてNATが別々に適用されることが好ましい。これらの接続タイプは、例えば、サービスごとにあるいはポートごとに:すなわち、TCP、長期;TCP、短期;UPD−セッション;UDP−クエリー/応答;及びICMPに設定可能である。クエリー/応答UDP接続は、典型的には、クライアントからサーバへの単一UDPパケットと、サーバーからクライアントへのゼロあるいはそれ以上の応答パケットを具えるのみである。UDPクエリー/応答及びICMPについては、新しいNATアドレス、ポート/ICMPidが各入力パケットについて選択されることが好ましい。好ましくは、ゲートウエイ領域中の各マシンは、新しいNATセッションを作るのに使用できるのみである。自身のポート/ICMPidレンジが与えられており、それに対しては、パケットを受信すると、エッジサーバ処理(以下により詳細に説明する)が、フリーアドレス、ポート/ICMPidを選択し、パケットをターゲットサーバへ転送する。NATアドレスを持つマシンがサーバからの応答パケットを受信するが、通常は、このマシンはアドレスを元に戻すNATセッション情報を持っていい。従って、このマシンは、到着ポート/ICMPidをチェックして、port/ICMPidを持つマシンへ応答を送信する。この第2のマシンは、次いで、パケットを元に戻して、元のクライアントアドレスとポート/ICMPidを含め、オーバーレイへ送り返す。この操作を図8に示す。両方のタイプのTCP接続について、SYNパケットが見られる場合にのみ新しいNATアドレスとポートを選択することが好ましい。どちらの場合でも、NAT発信元ポート番号を用いて、そのセッションを作ったサーバへパケットを送り返す。長期接続用には、ゲートウエイサーバ間で送る必要のあるデータ量を低減することが望ましい。好ましくは、これは、NATセッション情報を同期させることによって行われる。特に、データパケットが受信されると、エッジサーバ処理(以下に述べるように)は、なんらかの接続状態データが存在するかどうかを決定する。データが存在する場合は、この処理を発信元NATに適用して、パケットを送出する。接続状態データがない場合は、エッジサーバ処理がパケットを所有マシンに転送する。クライアントからの複数パケットを含むUDP接続に関しては、クライアントアドレス及びポートについてのセッション情報を有するかどうかをマシンがチェックする。情報を有している場合は、マシンがそのNAT情報を使用する。有していない場合は、マシンが、このクライアントアドレス、ポートについての領域ワイドロックを取得することが好ましい。これによって、パケットが二台のゲートウエイサーバに同時に着信した場合に、この二台の一方だけがNATセッションを設定することを確実にする。
シーケンス番号変換
ゲートウエイサーバでのoipd処理が、ターゲットサーバからクライアントへのSYNパケットを受信すると、シーケンス番号変換を行ってパケットにタグを付けて、パケット中のホストidを表示する。この処理が、オーバーレイからのパケットを受信すると、そのパケットぱけっとの状態情報を有していない場合に、シーケンス番号を見て、どのゲートウエイサーバへパケットを転送するべきかを決める。各ホストが独自の識別子を割り振られていることが好ましい。各ゲートウエイ領域には、最大サイズが割り当てられ、シーケンス番号スペースは、2*最大サイズのピースに分けられることが好ましい。SYNクッキーをサポートするために、最上位の8ビットのみを変更して、各ホストにシーケンス番号スペースの二つの連続ブロックを割り当てるのが好ましい。ゲートウエイ領域に着信する第1のパケットは1台のサーバによって処理され、次のパケットが状態同期する前に別のサーバで処理されると、第2のサーバはACKシーケンス番号の上位8ビットを用いて、パケットを転送するべきサーバを決定する。これは、図9に記載されている。ターゲットサーバへパケットを転送する前には、oipd処理はシーケンス番号変換を適用しないようにして、ターゲットサーバが正しいACKシーケンス番号を得るようにしなければならない。
領域内送信
別のゲートウエイサーバにパケットを転送する前に、ヘッダフイールドの転送状態を変更して、パケットがすでに転送された旨を表示する。受信マシンは、このパケットをあたかもオーバーレイから受信したように操作するが、oipd処理が何かの理由でパケットを再度転送する必要がある場合は、代わりにパケットをドロップする。
エッジ領域へのパケットの返送
好ましくは、パケットは、オーバーレイを介して最初にパケットを送信した領域と同じエッジ領域にターゲットサーバから返送される。これによって、エッジサーバで、クライアントが最初にパケットを送った仮想IPの発信元アドレスを有するIPパケットを送信することができる。ゲートウエイ領域でパケットが受信されると、カプセル化したIPパケットは、クライアントが使用していた仮想IPを含み、ヘッダはエッジ領域番号を含むであろう。この情報は接続によって保存され、NATセッション情報と同じ方法で同期する。ゲートウエイサーバがターゲットサーバからパケットを受信すると、発信元IPアドレス(ターゲットアドレスを含む)を、保存した仮想IPで置き換える。次いで、パケットを正しい領域に転送する。
エッジサーバ領域と同様に、ゲート上領域がバディグループのサーバを実装することが好ましい。このグループは、ある領域用に構成されており、その領域中の各サーバは、活動性及び負荷をチェックするモニタ処理を具える。必要に応じて、マシンまたはソフトウエアで傷害迂回を実装することができる。
負荷の報告
オーバーレイメカニズムは、負荷バランスを実装することが好ましい。このため、各サーバがいくつかの負荷バランス機能を実行するマシン内DNS処理を実行する。この機能は:仮想IPアドレスとNATIPアドレスをマッピングしてエッジサーバを生かす、シーケンス番号をマッピングしてエッジサーバを生かす、シーケンス番号をマッピングして、中間サーバを生かす、機能である。これらの機能は、サービスB、サービスC、サービスDの、3つの異なるサービスを必要とする。サービスBは、オーバーレイに入力するバイトを表し、サービスCは、オーバーレイから出力するバイトを表す。図10は、様々な負荷情報片が、異なるサービスについて報告される様子を示す。
サービスBは、仮想IPアドレスとNATアドレスの双方をマシン上にマッピングする。インストール時に、スロットから仮想アドレスへ、及びNATスロットからNATアドレスへ1対1のマッピングが設定される。全ての領域が同じ番号のVIPスロットを確実にサポートするようにするために、ネットワークのワイドコンフィグレーション変動を設定して、サービスBマップにおけるNATアドレス用の所定のシーケンス番号セットを残しておくようにする。NATスロットは、スロット番号で始まり、下方に動作する。ービスBについては、マシン内DNS処理が、エッジサーバの活動性、マシン能力をバイトで、及びスロットごとのバイト負荷を知る必要がある。マシン上で稼働しているモニタ処理を用いて活動性を測定する。oipd処理はサーバ内外のバイト負荷をモニタ処理に報告する。サービスCについては、マシン内DNS処理が、エッジサーバの活動性、マシン能力(測定基準に従って)、及びシーケンス番号ごとの測定基準の値を知る必要がある。代表的な測定基準は「flit」である。「flit」は、一般的に所定のサーバマシン上の非帯域リソース利用を表す仕事の任意単位である。このような利用は、一般的には、CPUの利用、ディスクの利用、スレッドやセマフォなどのオペレーティングシステム抽出制限リソース、その他、及びこれらの組み合わせに及ぶ。代表的な実施例では、flitは、いくつかの独立したマシン変動の所定の一次関数あるいは凸関数である。しかしながら、以下に大まかに説明する負荷バランスについては、サーバに入力するバイト数が、flitの値としてとても近い数字である。サービスDについては、マシン内DNS処理が、中間サーバの活動性、マシン能力(測定基準に従って)、及びシーケンス番号ごとの測定基準の値を知る必要がある。
領域割当
領域割当処理は、オーバーレイメカニズムのDNSコンテンツサーバ内で実行する。ある領域へマッピングした接続は、各々、クライアント−>サーバ及びサーバ−>クライアントからその領域へ対応するトラフィックを有しているので、サービスB及びCを考慮する必要がある。このため、領域モニタ処理は、サービスB及びCの内外のバイトの和を報告する。この領域割当処理は、エッジ領域flit容量測定基準と、エッジ領域バイト負荷と、flit負荷(サービスB及びCについて)を知る必要がある。ある領域へのマッピングした各接続は、その領域が送受信する負荷量に影響する。なぜならば、パケットは、パケットを発信したエッジ領域へ送信されることが好ましいからである。これを正しく処理するためには、この領域割当処理が、入ってくるバイトと出て行くバイトの最大数を用いて、ある領域に負荷がどのようにかかるかを決定することが好ましい。
マップメーカ
割当処理(SRMM)は、着信領域(スロットと同じ)、エッジ領域対当たりのバイト数と、中間領域についての領域flit負荷という、二つの情報片を用いる。エッジにおけるoipd処理は、オーバーレイに入れるバイト数、好ましくは、着信領域によってブレークダウンされるバイト負荷を報告する。これは、オーバーレイにある要求であり、領域モニタからSRMM処理への新しいメッセージ中で送信される値である。中間領域は、サービスDの層バイト数とflitを報告する。flit負荷は、バイト負荷に関係するので、SRMM処理は、必要に応じてエッジバイトと、flitキャップ、及びバイト/flit比を用いて、中間領域における妥当なバイトキャップを推測する。この情報は、SRMMが次に承認する既存の領域割当メッセージになる。
(SRMM)処理は、エッジ領域からゲートウエイ領域への最適パス、並びに、ゲートウエイ領域からエッジ領域へ戻る最適パスを特定する領域レベルマップを生成する。上述したとおり、好ましくは、SRMMサービスは、エッジ領域からの入力と、負荷、及び中央領域からの容量情報を要求する。更に、各中間領域は、一又はそれ以上の中央領域マップルールに割り当てられており、各スロットは、特定の中央領域マップルールに割り当てられている。好ましくは、SRMMは、同じマップルールを有する中間領域を介して特定のスロットについてのトラフィックをマッピングするだけである。
動作中に、SRMMは、各エッジ領域から各ゲートウエイ領域へ複数パスを決定する一方で、同じ中間領域を二つのパスが共有せず、全ての中間領域が正しく負荷バランスがとれるようにする。デフォルトによっては、3つのパスが選択される。これらの要求を処理するために、好ましくは、SRMMアルゴリズムについて以下の簡素化を想定する。すなわち、選択した第1のパスは、十分な容量があることを提供するピンサブシステムからの最適な(すなわち、マルチホップパスをサポートすることができる)所定の情報であり、次の二つのパスは、単一の中間領域のみを含む。
パスの決定は、上述の想定に対応する二つの部分にブレークダウンされる。第1の部分は、最短パスアルゴリズムのシーケンスを動作させるステップを含む。各中央マップルールについて、Dijkstraのアルゴリズムは各送信先ごとに稼働され、ここでは送信先がすべてのエッジ領域とゲートウエイ領域にある。必要に応じて、これらの計算にエッジバイト負荷を用い、各中間領域についてランニングトータルを追跡する。総負荷が各中間領域の容量以下であれば、この部分のパス決定が行われる。容量以下でない場合は、容量を超える全てのノードが価格調整を行い、アルゴリズムが繰り返される。価格調整は、オーバーフローするノードを使用する各リンクのスコアに恒常的要因を乗算することによって適用される。この処理は、安定するまで繰り返される。次いで、各ノードの容量が更新される。
基本的には、(エッジ領域、ゲートウエイ領域)の対(発信元、送信先)のリストが決定される。それぞれについて、アルゴリズムが、その対に十分な容量がある最も良い中間ノードを選択する。このアルゴリズムの出力は、領域ごとにサービスDについてのIP割当メッセージを作る。これは、(着信領域、パス番号)によってインデックスされる。
エッジマッピング
上述したとおり、カスタマCNAMEのホストネームを、CDNサービスプロバイダのDNSに提供するサービスを用いて、そのドメインについて権限が与えられる。所望の場合は、ホストネームは、グローバル輸送管理ホストネームに構築して、更なる利益を提供することができる。
背景として、オーバーレイメカニズムは、「顧客一人当たりの」領域を使用することができる。顧客一人当たりの領域は、単一のスロットのみについてのトラフィックをサポートする。このようなアプローチは、企業ファイヤーウオールの背後のユーザにとって望ましい。特に、このようなユーザは、パブリックCDNエッジ領域へゆくことによって、WANパフォーマンスへグレードを下げないように、LANパフォーマンスを維持するであろうターゲットサーバ付近に位置するCDN領域にマッピングすることができる。図11では、企業ファイヤーウオールの背後のクライアントが、ゲートウエイ領域に直接マッピングされており、一方で、その他のクライアントは、パブリック領域にマッピングされている。グローバル輸送管理を用いて、特別な、予め決められた発信元IPアドレスを有するユーザは、これらの「顧客一人当たりの」領域にマッピングされる。
図12は、この機能を提供するためにグローバル輸送管理(GTM)処理をオーバーレイ内にどのように実装するかを示す処理フロー図である。所定の決定地点で情報が入手できない場合は、「何も」パスが取られないことが好ましい。従って、GTMが、予め決めたマッピングデータをなんら有していない場合は、クライアントがパブリック領域にマッピングされる。同様に、GTMが地理情報をなんら有していない場合は、クライアントはパブリック領域にマッピングされる。GTMが活動性フィードバック情報を有していない場合、その領域がダウンであると仮定して、ダイレクトIPアドレスを用いてクライアントをマッピングする。GTMは、その領域の仮想IPにピンテストを行って、ゲートウエイ領域から活動性情報を得る。
フェイルセーフマッピング
背景として、カスタマのターゲットサーバアドレスは、フェイルセーフIPアドレスを考慮することができる。オーバーレイが端末相互間の問題(顧客特有の問題あるいはその他)を検出したら、CDNの権限のあるDNSが、このIPアドレスを分配することが好適である。これは、全ての通信からオーバーレイを除去する効果を有する。図13は、正常なオーバーレイルーティングを示す図であり、図14は、フェイルセーフ動作を示す図である。フェイルセーフ動作は、例えば、複数領域がダウンするか、あるいは容量不足である、GTMが、ゲートウエイ領域において仮想IPを試験する活動性情報を有していない、一又はそれ以上のネームサーバ処理が割当を行うのに十分な情報を有していない、その他、といった顧客一人当たりの問題など、様々な出来事の結果としてトリガされる。
管理プロトコル
CDNサービスプロバイダは、顧客がログイン可能であり、ルーティング構成、並びにビューパフォーマンスを実行できる、顧客が当面するエキストラネットと、トラフィック使用統計データを提供する。ルーティング構成は、BGP情報を入力し、下が手エッジサーバは、ローカルルータ付きBGPセッションと、オーバーレイネットワークを使用するアプリケーション用のアプリケーションIP情報を設定できる。
本発明のオーバーレイメカニズムは、様々な利点を提供する。好ましくは、このメカニズムは、連続的にモニタを行い、各ローカルエッジノードから中間ノードへ、各ローカルエッジノードから各リモートエッジノードへ、及び全ての中間ノード間のパフォーマンスを分析する。従って、例えば、これらのパフォーマンスの測定には、待ち時間とパケットロスが含まれている。このデータは、組み合わせて分析され、二つのエッジ位置間の最適パスを決定する。オーバーレイネットワークが、BGPで決定したパスより良い型をを提供できる場合は、パケットを中断して、中間ノードを介してそのパケットルートを決定する。不良に動作するパスをさけてルーティングすることに加えて、オーバーレイは、動作可能時間を確実にするためにパケットの複製物を使用する。オーバーレイのパフォーマンス測定粒度は、出力がパケットの送信を中断できる程度である。この問題を防止するために、パケットは、エッジで複製され、複数のオーバーレイパスを介して送信される。このパスの一つは、直接的にルーティングしたパスであっても良いが、パケットが中断され、送信エッジでカプセル化されて、リモートエッジでカプセルが解かれる。リモートエンドで受信された第1のパケットを使用して、その他のパケットはドロップする。代替の実施例では、フェイルセーフIPアドレス(通常、ターゲットサーバのIPアドレス)は、CDN認証DNSによってある条件の下分配される。
リモートアクセスの実施例
図15に記載されているリモートアクセスでは、複数クライアント1502a−nが、ターゲットサーバ1504の単一のIPアドレスにパケットを送信している。オーバーレイメカニズム1500は、権限のあるDNS1506と、少なくとも一つのエッジ領域1508と、一又はそれ以上の中間領域1501と、一又はそれ以上のゲートウエイ領域1512を具える。対象となるアプリケーションは、ターゲットサーバ上で一部実行可能である。クライアント側のアプリケーションは、クライアントマシンの上で実行する。このマシンは、ラップトップ、モバイルコンピュータ装置、その他であっても良い。このアプリケーションの特別な機能性(あるいは、クライアントとサーバに分散した状態で、アプリケーションをどのように実装するか)はオーバーレイからは見えない。これは、クライアントとサーバ間の通信が、IPトランスポートを介して生じると想定されているだけである。この実施例では、このアプリケーションは、インターネットドメインに関連している。上述したとおり、このドメインは、サービスプロバイダによって管理されているオーバーレイネットワークドメインに対して付される(CNAMEを介して)。このアプリケーションドメインに対するDNSクエリーが、権限のあるDNS1506をVIPアドレスに戻す。所定のクライアント(そのマシンは、通常、クライアント側のアプリケーションあるいはインスタンスを稼働している)は、上述したとおり、オーバーレイメカニズムを介してターゲットサーバ上のこのアプリケーションに接続する。特に、このアプリケーション行きのデータパケットは、エッジにおいてカプセル化され、複製され、複数のパスを通って送信され、ゲートウエイで処理されて、複製物を除去する。ゲートウエイでは、送信先NATが、仮想IPをターゲットアドレスに変換し、発信元ネットワークアドレスポート変換を送信前にパケットに適用して、戻りのトラフィックもオーバーレイネットワークを介して送信されるようにする。好ましくは、情報を保存しておいて、戻りのトラフィックが、クライアントのパケットが発信されたエッジ領域に送られるようにする。アプリケーションが応答すると、ゲートウエイ領域がターゲットアドレスからIPパケットを受信して、そのパケットをネットワークアドレス変換しない。次いで、パケットがカプセル化される。このパケットの複数コピーが、次いで、複数パスに沿って送信される。中間サーバは、このパケットをこのセッションの元のエッジ領域に送り返す。このパケットは、エッジサーバによって受信され、複製物が除去される。パケットは、仮想IPアドレスから発信されており、リクエストしているクライアントに送り返される。
リモートオフィスの実施例
この実施例では、図16に示すように、アプリケーションがターゲットサーバ上1604で実行され、クライアントマシン1602(自身が、アプリケーションまたはアプリケーションインスタンスであってもよい)は、固定したリモートエンド地点にある。代表的な例では、クライアント1602とサーバ1604は、一対の地理的に分散したサイトに配置されている。理解を容易にするために、クライアントマシン1602は、企業ファイヤーウオールの外側であるが、ルータ1608近くに配置されていると仮定する。この実施例では、クライアントマシン1602は、リモートオフィス促進(ROA)処理1610を実行する。この処理1610は、自身をターゲットサーバIPアドレスとして、公示している。従って、ルータ1608は、この処理をルータとして見ている。ターゲットサーバIPアドレスを公示することによって、処理1610は、ルータ1608を用いてBGPセッションを設定し、これによって、ユーザに意識させることなく、リモートオフィスに位置するアプリケーション用に意図したデータパケットを遮断する。一旦遮断されると、この処理1610は、カプセル化と、リモートアクセス実施例のエッジサーバによって実行されるその他の機能を実行する。オーバーレイメカニズムは、上述した態様で、二つのサイト間にパケット通信を提供する。
リモートオフィスの実施例では、オーバーレイが、BGPプロトコルの使用を変更することによって、データをカプセル化する方法を提供する。一般的に、この技術は、EGRP、OSPF、その他を含む所定のインターネットプロトコルに用いることができる。変更BGPアプローチは好ましいが、インラインアプローチ(例えば、パケットグラバ)を用いてオーバーレイにパケットを設けることもできる。
変動
クライアントの帯域を節約し、サービスプロバイダの帯域コストを低減するために、どの程度パケットを複製するかについての動的決定を実装することが好ましい。従って、例えば、所定の数(例えば、3コピー)で始まって、この数を、ロス/待ち時間が受け入れ可能であれば、動的に低減する。
一般的に、上述したオーバーレイメカニズムは、任意のデータフローが統合的に実装されているルーティング「クラウド」として一般化することができる。このクラウド内で、上述した送信技術を用いて、データを一又はそれ以上のの中間ノードを通過させて、冗長パスに沿って転送し、送信メカニズムとしてTCPあるいはUDPを使用し、マルチディメンションパラメータスペース中の最適性を決定するフローまたはクラス特定ロジックあるいはこれらの組み合わせに従うことができる。
使用するアーキテクチュアと課金モデルに基づいて、ローカルコントローラ又は、「ノブマシーン」をオーバーレイの入り口地点で使用することができる。このエレメントの動機は、クラウドに流れる、クラウド内の帯域が独自のコストを有することである。いくつかの場合(例えば、全てのVPNトラフィックが操作されている)このトラフィック全てがクラウドに流れることは意味がない。なぜなら、最小限、このソリューションについてのコストベースは、代替のソリューションの2倍であるからである。従って、コントローラの目的は、コスト/利益のトレードオフビジネス論理を伴うシステムを提供する簡単で有効な手段を提供することである。(このように、このボックスは、アグレッシブにシステムを使用するやり方、すなわち、その名前を制御する有効なノブである)。提供されたルールに基づいて、コントローラは、パケットごとに、あるいはフローごとに、トラフィックがクラウドを介してその他のエンドポイントに送信するべきか、あるいは直接に送られるべきかについて、決定を行う。デフォルトによっては、全てのトラフィックが、コントローラを介して流れることが好ましい。しかしながら、コントローラは、適宜のビジネス論理を使用して、フローをクラウドに送るべき時を決定するように構築することができる。この情報は、クラウド中で生じる挙動にも影響する。
コントローラによって使用できるルールは、全くフレキシブルである。このルールは、ドメイン(例えば、イントラネットトラフィックは重要であるが、所定のコンテンツプロバイダは重要ではない)、IPアドレス(例えば、東京オフィスにトラフィックをルートづけることは重要であるが、シカゴオフィスには不要である)、パフォーマンス予測(例えば、コントローラは、親サーバを用いてこの直接かつ代替のパスについてのQoS測定基準を理解し、予測した改良が所定のスレッシュホールドより大きいか、及び/又は、直接パスの品質が所定のスレッシュホールド以下である場合に、トラフィックの方向付けを選択することができる)、信頼性の予測(例えば、コントローラは、直接かつ代替のパスに関する様々な信頼性測定基準を理解し、予測した改良が、所定のスレッシュホールドより大きい、及び/又は、直接パスの品質が所定のスレッシュホールドの下である場合に、トラフィック用の親サーバを介して代替パスを使用することを選択することができる)など、に基づいてトラフィックを選択するステップを具える。もちろん、これらのルールは共に用いることにより強力になる。例えば、異なるドメインについてパフォーマンスと信頼性の測定基準を別々に設定するように選択できる。
このように、パスの最適化は、時間をかけて集めたパフォーマンスデータに基づいて、一のノードから別のノードへCDN領域を介してデータパケットを得るという一般的な考え方である。この技術は、上述したとおり、HTTPトラフィック用の顧客の元のサーバへ戻る接続性を改良するのに使用されていた。更に、サービス特性を調整して、この特性が、パフォーマンスを十分に改良できる(例えば、待ち時間をx%低減する)場合に、好適に呼び出されるようにする。本発明によれば、コンテンツ送出ネットワークは、「クラウド」として見られ、このクラウドに、データフローが入り込んで、「中央」をこえて最適に方向付けられ(例えば、最適化技術によって)、他方側に現れ、送信先に向けたその方向に現れる。例えば、イーストコースト(例えばケンブリッジ)のオフィスから、カリフォルニアのオフィス(例えばサンマテオ)に向けて出力するVPNを考える。BGPを単に使用する代わりに、本発明は、このトラフィックを「入力ポイント」として方向付けることができる。次いで、このトラフィックはネットワークを介して流れ、適宜の数のバウンスを取って、適宜のオフィス近くの「出口ポイント」でネットワークを出る。特別な実装では、コントローラをケンブリッジオフィスにおいて、このコントローラを介して全トラフィックが流れる。このコントローラを用いて、両方のビジネスルール(例えば、第1ドメインへのトラフィックは重要であるが、第2ドメインへのトラフィックは重要でない)と、サービスの質(QoS)ルール(例えば、直接的なパスが内場合、あるいは代替パスが何パーセントか良い場合にのみ、代替パスを用いる)に基づいてリアルタイムで決定を行う。もちろん、これらの例は、本発明を限定するものではない。
限定を意味するものではないが、コントローラマシンは、エッジあるいはISPネットワークに実装することができる。いくつかの可能なアプリケーションについて以下に述べる。
ウエブトランザクション
ウエブ上で安全なトランザクションを提供する企業は、本発明を用いて、これらのトランザクションの信頼性と性能を改善することができる。一例は、オンラインクレジットカードトランザクションのプロバイダである。トランザクションは、定義によるものであり、キャッシュ不可であるため、さらには、各リクエストが有価であるため、魅力的である。本発明は、単に、HTTPSサポートをエッジサーバ最適化技術に加えるだけでウエブトランザクションを容易にすることができる。このコンテキストでは、安全なコンテンツ(例えば,SSLを介して)をサポートするCDN領域を、始点への接続を用いて、あるいは、これによって提供されるネットワークを介して、HTTPSルーティングクラウドへの「入力地点」として見ることができる。本質的には、このHTTPエッジサーバの実装は、各エッジ領域が入力地点として作用し、ある領域セット(親領域)が出力地点として作用することができる、一般化したクラウドにも及ぶ。
もう一つの適用領域は、SOAPがHTTPに実装されているため、安全なHTTPクラウドがSOAPベースの全トランザクションをサポートしている領域である。従って、本発明は、SOAPベースのウエブトランザクションの実装に使用することができる。
VPN QoS
有効なフローのもう一つの機会はVPNsの領域にある。VPNトラフィックは、ビジネスが価値のあるものであるとの情報に関する特性と、地理的に分散した位置間を流れる定義による情報に関する特性の、二つの特性を有する。簡単なアイディアは、VPNトラフィックを、ファイヤーウォール背後の末端間のセマンティクスを有する暗号化したIPデータストリームとして見ることである。このように、UDPベースの転送メカニズムをクラウドを介して提供することが可能である。多分、トラフィックはクライアントから見えないようにノブマシンを介して流れ、適宜クラウドの方向に向かう。このようにして、VPN上の全てのトラフィックが、ノブ設定に基づくサービスから利益を得る。
この技術は、企業コンテンツ送出ネットワークの提供に適用できる。企業CDNとクラウドを用いて、CDNサービスプロバイダは、企業がVPN−ベースのアーキテクチュアを持っている場合は、その企業データの各ピースのパフォーマンスと信頼性を改良することができる。例えば、VoDコンテンツと保存可能なウエブコンテンツは全て、カスタマのオフィスのキャッシュに保存することができる。しかしながら、ライブのストリーミングは、キャッシュに保存することができない。企業CDNは、有限であるリソースを保護するためにトラフィックを速度制限することができる。クラウドは、冗長性と再転送を提供して、これらのストリームの質を改良する。更に、P2Pビデオコンファレンス、データベース同期、他といった、その他のデータフローも、この機能性から利益を得ることができる。
ウエブサービスネットワーク
ウエブサービスがより広く受け入れられてくると、システムのキーの弱さの一つが、その間に生じるメッセージになる。この機能性(SOAP、UDDI、他)をサポートするためにいくつかのプロトコルが開発されているが、二つの要素が欠けている。第1の要素は、セキュリティ、待機、及び、非拒否/ロギングなどの、アプリケーション層機能セットであり、第2の要素は、これらのメッセージの転送メカニズムである。
BGPルーティング層をブラックボックスとして使用して、所定の通信にアウトバウンドルートとインバウンドルートを全て決定しており、従って、BGP関連の問題の影響を受けにくいため、上述のオーバーレイ技術が有利であることは当業者には自明である。
当業者は、本発明が、アプリケーション特定測定基準に応じて、パフォーマンスと信頼性の改良のために、分散した潜在的グローバルコンピュータネットワーク内のIPトラフィックの層3の一般目的のルーティングを容易にすることを認識するであろう。このシステムは、任意のIPフローを受け入れて、このフローをコンテンツ送信ネットワークを介してルーティングを行い、例えば、メタデータによって設定された測定基準など、測定基準セットを実行するようにしている。このメタデータは、発信元、送信先、フロー、アプリケーションタイプ、他といった特性に基づいて、いくつかの方法に適用することができる。これらの測定基準を実行するために、このシステムは、ホップごと、パケットごとのベースで、代替ルート及び/又は複数ルートに沿ってトラフィックのルートを決定することもできる。
本発明について述べてきたとおり、以下の通り特許を請求する。
図1Aは、4つの相互に接続されたネットワークのセットを示しており、BGPがどのようにネットワークAとネットワークDの間のパケットフローのルートの決定するかを示している。 図1Bは、ネットワークAとネットワークDがピアである場合に、問題が発生したときに送信先サーバが到達不可能である様子を示している。 図2は、BGPルーティングの決定が待ち時間について鈍感であり、このため、パフォーマンスが落ちることを示している。 図3は、通常のコンテンツデリバリネットワークエッジサーバの構成を示している。 図4は、本発明のオーバレイメカニズムがデータリンク内のルートを決定し、パフォーマンスを改良する様子を示している。 図5は、本発明のオーバレイメカニズムが、最小の待ち時間を有するパスを発見してパフォーマンスを改良する様子を示している。 図6は、本発明の一実施例に係るオーバレイメカニズムを具える一組の構成要素を示している。 図7は、図6のオーバレイメカニズムを介しでデータがどのように流れるかを示している。 図8は、一実施例において、ゲートウェイ領域がネットワークアドレス変換NATを管理する様子を示している。 図9は、所定のゲートウェイ領域内で実行されるシーケンス番号変換機能を示している。 図10は、様々な情報負荷の一部がオーバレイ内で報告される様子を示している。 図11は、本発明の代替的な実施例を示しており、企業のファイヤウォールIPの背後のクライアントがゲートウェイ領域に直接的にマップされ、一方、他のクライアントが公の領域にマップされる。 図12は、代替的な実施例において、グローバルなトラフィック管理(GTM)がオーバレイ内で実現される様子を示す処理フロー図である。 図13は、通常のオーバレイルーティングを示している。 図14は、図13に示すオーバレイのフェールセーフ動作を示している。 図15は、オーバレイメカニズムを利用して、ターゲットサーバ上の所定のアプリケーションに対する複数のクライアントによるリモートアクセスを実現する様子を示している。 図16は、オーバレイメカニズムを利用して、ターゲットサーバ上の所定のアプリケーションへのサイト対サイト(site-to-site)(リモートオフィス)を実現する様子を示している。

Claims (17)

  1. 1又はそれ以上のクライアントマシンのリモートアクセスをターゲットサーバ上で動作するアプリケーションに提供する方法において、クライアントマシンがインターネットプロトコル(IP)転送を用いてインターネット上のアプリケーションと通信し、前記方法が、
    前記クライアントマシンと前記アプリケーションの間で通信される要求データパケット毎に、前記要求データパケットをカプセル化し、前記カプセル化された要求データパケットを複製し、前記カプセル化された要求データパケットを一組のパスを介して転送するステップと、
    前記ターゲットサーバ近くのゲートウェイにおいて、前記要求データパケットを修復すべく受信データを処理し、ネットワークアドレス変換を前記修復された要求データパケットに適用し、前記アプリケーションでさらに処理すべく、前記要求データパケットを前記ターゲットサーバに転送するステップと、を具えることを特徴とする方法。
  2. 請求項1に記載の方法において、前記カプセル化が、仮想IPアドレスを有するサーバで行われることを特徴とする方法。
  3. 請求項2に記載の方法において、所定の仮想IPアドレスが、所定のドメインに対する問い合わせを前記クライアントマシンに実行させることにより取得されることを特徴とする方法。
  4. 請求項2に記載の方法において、前記ネットワークアドレス変換が、前記仮想IPアドレスを前記ターゲットサーバのIPアドレスに変換する送信先ネットワークアドレス変換(NAT)を実行することを特徴とする方法。
  5. 請求項4に記載の方法において、前記ネットワークアドレス変換が、更なる処理のために、前記パケットが前記ターゲットサーバに転送される前に、送信元ネットワークアドレス変換(NAT)を前記パケットに適用することを特徴とする方法。
  6. 請求項5に記載の方法がさらに、前記ゲートウェイで応答データパケットを受信し、前記応答データパケットをカプセル化し、前記カプセル化した応答データパケットを複製し、一組のパスを介して前記カプセル化した応答データパケットを転送するステップを具えることを特徴とする方法。
  7. 請求項6に記載の方法がさらに、前記仮想IPアドレスを有するサーバにおいて、前記応答データパケットを修復すべく受信データを処理し、前記要求データパケットを前記クライアントマシンに転送するステップを具えることを特徴とする方法。
  8. 請求項3に記載の方法において、前記所定のドメインが、前記アプリケーションと関連するドメインをエイリアス化(aliasing)することにより取得されることを特徴とする方法。
  9. 請求項8に記載の方法がさらに、所定の失敗条件に応じて、前記アプリケーションに関連するドメインを非エイリアス化(dealiasing)するステップを具えることを特徴とする方法。
  10. 複数のクライアントマシンのリモートアクセスをターゲットサーバ上で動作するアプリケーションに提供する方法において、各クライアントマシンがインターネットプロトコル(IP)転送を用いてインターネット上のアプリケーションと通信し、前記方法が、
    各エッジ領域及び各ゲートウェイ領域が1又はそれ以上のサーバを具える少なくとも1又はそれ以上のエッジ領域及び1又はそれ以上のゲートウェイ領域を具えるオーバーレイネットワークを構築するステップと、
    クライアントマシン毎に、且つ前記アプリケーションと関連するホスト名のDNSレゾリューション(resolution)に応じて、このようなクライアントマシンをそれぞれ、所定のエッジ領域内の所定のサーバに関連する仮想IPアドレスに関連付けるステップと、
    前記所定のエッジ領域内の所定のサーバにおいて、前記クライアントマシンと前記アプリケーションとの間で通信される要求データパケット毎に、前記要求データパケットをカプセル化し、前記カプセル化された要求データパケットを複製し、前記カプセル化された要求データパケットをゲートウェイ領域の所定のサーバに転送するステップであって、前記要求データパケットが、一組のパスそれぞれを介して前記ゲートウェイ領域の所定のサーバに転送されるステップと、
    前記ゲートウェイ領域内の所定のサーバにおいて、前記要求データパケットを修復すべく受信データを処理し、ネットワークアドレス変換を前記修復された要求データパケットに適用し、前記アプリケーションでさらに処理すべく、前記要求データパケットを前記ターゲットサーバに転送するステップと、を具えることを特徴とする方法。
  11. 請求項10に記載の方法において、前記所定のエッジ領域が、DNSレゾリューション時において、最も実行可能なエッジ領域であることを特徴とする方法。
  12. 請求項10に記載の方法において、前記オーバーレイネットワークが一組の中間領域を具えており、少なくとも中間領域が一組のサーバを具えていることを特徴とする方法。
  13. 請求項10に記載の方法において、前記一組のパスそれぞれが、一組の中間領域により規定されることを特徴とする方法。
  14. 請求項10に記載の方法において、前記ネットワークアドレス変換が、前記仮想IPアドレスを前記ターゲットサーバのIPアドレスに変換する送信先ネットワークアドレス変換(NAT)を実行することを特徴とする方法。
  15. 請求項14に記載の方法において、前記ネットワークアドレス変換が、更なる処理のために、前記パケットが前記ターゲットサーバに転送される前に、送信元ネットワークアドレス変換(NAT)を前記パケットに適用することを特徴とする方法。
  16. 請求項15に記載の方法がさらに、前記ゲートウェイで応答データパケットを受信し、前記応答データパケットをカプセル化し、前記カプセル化された応答データパケットを複製し、一組のパスを介して前記カプセル化された応答データパケットを転送するステップを具えることを特徴とする方法。
  17. 請求項16に記載の方法がさらに、前記仮想IPアドレスを有するサーバにおいて、前記応答データパケットを修復すべく受信データを処理し、前記要求データパケットを前記クライアントマシンに転送するステップを具えることを特徴とする方法。
JP2008548782A 2005-12-30 2006-12-29 複数のクライアントマシンをターゲットサーバ上で動作するアプリケーションにリモートアクセスさせる方法 Active JP4975760B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/323,342 2005-12-30
US11/323,342 US7660296B2 (en) 2005-12-30 2005-12-30 Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
PCT/US2006/049660 WO2007089352A2 (en) 2005-12-30 2006-12-29 Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows

Publications (2)

Publication Number Publication Date
JP2009522877A true JP2009522877A (ja) 2009-06-11
JP4975760B2 JP4975760B2 (ja) 2012-07-11

Family

ID=38224310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008548782A Active JP4975760B2 (ja) 2005-12-30 2006-12-29 複数のクライアントマシンをターゲットサーバ上で動作するアプリケーションにリモートアクセスさせる方法

Country Status (5)

Country Link
US (4) US7660296B2 (ja)
EP (1) EP1972112A4 (ja)
JP (1) JP4975760B2 (ja)
CN (1) CN101410819B (ja)
WO (1) WO2007089352A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012029247A1 (ja) * 2010-09-02 2012-03-08 日本電気株式会社 データ転送システム
JP2012528551A (ja) * 2009-05-28 2012-11-12 マイクロソフト コーポレーション レイヤー2ドメインにわたる負荷分散
JP2013502840A (ja) * 2009-08-21 2013-01-24 アルカテル−ルーセント 親子リンクアグリゲーショングループを使用するサーバ側負荷均衡化
JP2014216012A (ja) * 2013-04-22 2014-11-17 富士通株式会社 データセンターネットワークにおけるリスク軽減
JP5716745B2 (ja) * 2010-09-02 2015-05-13 日本電気株式会社 データ転送システム
JP2023508447A (ja) * 2019-12-31 2023-03-02 レベル スリー コミュニケーションズ,エルエルシー 埋め込み要求元情報を用いたコンテンツデリバリシステム

Families Citing this family (198)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111163B1 (en) 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US7660296B2 (en) * 2005-12-30 2010-02-09 Akamai Technologies, Inc. Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
KR101185570B1 (ko) * 2006-03-04 2012-09-24 삼성전자주식회사 이동망 환경에서의 다중 인터페이스를 이용한 자원예약방법
US8181227B2 (en) * 2006-08-29 2012-05-15 Akamai Technologies, Inc. System and method for client-side authenticaton for secure internet communications
US8249081B2 (en) * 2006-09-29 2012-08-21 Array Networks, Inc. Dynamic virtual private network (VPN) resource provisioning using a dynamic host configuration protocol (DHCP) server, a domain name system (DNS) and/or static IP assignment
EA018130B1 (ru) * 2006-11-13 2013-05-30 Би-Обвиоус Лтд. Способ выборочного перехвата сеанса
US7852861B2 (en) * 2006-12-14 2010-12-14 Array Networks, Inc. Dynamic system and method for virtual private network (VPN) application level content routing using dual-proxy method
US8489670B1 (en) * 2006-12-26 2013-07-16 Akamai Technologies, Inc. Reducing TCP connection establishment time in an overlay network
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
US20080208961A1 (en) * 2007-02-23 2008-08-28 Hostway Corporation Parallel retrieval system
JP5071165B2 (ja) * 2007-03-19 2012-11-14 日本電気株式会社 経路多重化通信システム、通信ノード及び通信方法
US8695089B2 (en) * 2007-03-30 2014-04-08 International Business Machines Corporation Method and system for resilient packet traceback in wireless mesh and sensor networks
GB2450575B (en) * 2007-06-29 2012-06-20 Vodafone Plc Controlling the use of access points in a telecommunications network
US8682292B2 (en) * 2007-06-29 2014-03-25 Vodafone Group Plc Controlling the use of access points in a telecommunications network
US7961711B2 (en) * 2007-08-06 2011-06-14 Microsoft Corporation Fitness based routing
US8543667B2 (en) 2008-01-14 2013-09-24 Akamai Technologies, Inc. Policy-based content insertion
US20090248793A1 (en) * 2008-03-25 2009-10-01 Contribio Ab Providing Content In a Network
US8429739B2 (en) * 2008-03-31 2013-04-23 Amazon Technologies, Inc. Authorizing communications between computing nodes
US7865586B2 (en) * 2008-03-31 2011-01-04 Amazon Technologies, Inc. Configuring communications between computing nodes
US8549347B1 (en) 2010-12-20 2013-10-01 Amazon Technologies, Inc. Techniques for network replication
US7818445B2 (en) * 2008-10-15 2010-10-19 Patentvc Ltd. Methods and devices for obtaining a broadcast-like streaming content
US20100094970A1 (en) * 2008-10-15 2010-04-15 Patentvc Ltd. Latency based selection of fractional-storage servers
US8533844B2 (en) 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8087067B2 (en) 2008-10-21 2011-12-27 Lookout, Inc. Secure mobile platform system
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
US9367680B2 (en) 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US9235704B2 (en) 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
WO2010049876A2 (en) * 2008-10-28 2010-05-06 Cotendo Ltd System and method for sharing transparent proxy between isp and cdn
CN101409684B (zh) * 2008-11-25 2011-09-14 清华大学 基于三层软交换的互联网高性能地址分配方法
JP2010153955A (ja) * 2008-12-24 2010-07-08 Hitachi Ltd 交換装置
US8467768B2 (en) 2009-02-17 2013-06-18 Lookout, Inc. System and method for remotely securing or recovering a mobile device
US9955352B2 (en) 2009-02-17 2018-04-24 Lookout, Inc. Methods and systems for addressing mobile communications devices that are lost or stolen but not yet reported as such
US8538815B2 (en) 2009-02-17 2013-09-17 Lookout, Inc. System and method for mobile device replacement
US9083587B2 (en) * 2009-08-21 2015-07-14 Cisco Technology, Inc. Port chunk allocation in network address translation
US8626876B1 (en) 2012-11-28 2014-01-07 Limelight Networks, Inc. Intermediate content processing for content delivery networks
US20110110377A1 (en) * 2009-11-06 2011-05-12 Microsoft Corporation Employing Overlays for Securing Connections Across Networks
KR20110071774A (ko) * 2009-12-21 2011-06-29 한국전자통신연구원 스마트 경계 라우터 및 이를 이용한 플로우 정보 전송 방법
US8898287B2 (en) * 2010-02-24 2014-11-25 Salesforce.Com, Inc. System, method and computer program product for monitoring data activity utilizing a shared data store
US9137213B2 (en) * 2010-03-26 2015-09-15 Avaya Inc. On-demand feature server activation in the cloud
JP5515985B2 (ja) * 2010-04-02 2014-06-11 富士通株式会社 監視装置、障害区間特定方法および障害区間特定プログラム
US10977747B2 (en) 2010-06-18 2021-04-13 Akamai Technologies, Inc. Extending a content delivery network (CDN) into a mobile or wireline network
US8660057B2 (en) * 2010-08-26 2014-02-25 Golba, Llc Method and system for distributed communication
US8560646B1 (en) 2010-09-28 2013-10-15 Amazon Technologies, Inc. Managing communications using alternative packet addressing
EP2638688B1 (en) 2010-11-08 2018-10-10 Telefonaktiebolaget LM Ericsson (publ) Traffic acceleration in mobile network
EP2649858B1 (en) * 2010-12-07 2018-09-19 Telefonaktiebolaget LM Ericsson (publ) Method for enabling traffic acceleration in a mobile telecommunication network
US8806032B2 (en) * 2010-12-15 2014-08-12 At&T Intellectual Property I, L.P. Methods and apparatus to migrate border gateway protocol sessions between routers
JP5526015B2 (ja) * 2010-12-22 2014-06-18 株式会社日立製作所 ゲートウェイシステム、ゲートウェイ装置、負荷分散方法
CN102164078B (zh) * 2011-03-25 2014-07-02 北京星网锐捷网络技术有限公司 策略路由方法、装置及系统
US9172774B2 (en) * 2011-04-13 2015-10-27 Qualcomm Incorporated Technique for managing communications at a router
US8732268B2 (en) * 2011-04-19 2014-05-20 Microsoft Corporation Global traffic management using modified hostname
US8867337B2 (en) 2011-04-26 2014-10-21 International Business Machines Corporation Structure-aware caching
US8738765B2 (en) 2011-06-14 2014-05-27 Lookout, Inc. Mobile device DNS optimization
US8467395B1 (en) * 2011-07-12 2013-06-18 Qlogic, Corporation Method and system for link aggregation
US8488601B1 (en) 2011-07-12 2013-07-16 Qlogic, Corporation Method and system for link aggregation
US8788881B2 (en) 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications
US9014023B2 (en) 2011-09-15 2015-04-21 International Business Machines Corporation Mobile network services in a mobile data network
US8625452B2 (en) * 2011-09-15 2014-01-07 International Business Machines Corporation Maintenance of high-speed channels by inserting channel maintenance data in a mobile data network to avoid channel type switching
US9112826B2 (en) * 2011-12-23 2015-08-18 Akamai Technologies, Inc. Data differencing across peers in an overlay network
US9742858B2 (en) 2011-12-23 2017-08-22 Akamai Technologies Inc. Assessment of content delivery services using performance measurements from within an end user client application
CN102571817B (zh) * 2012-02-15 2014-12-10 华为技术有限公司 访问应用服务器的方法及装置
US9141957B2 (en) * 2012-04-11 2015-09-22 Netgear, Inc. System and method for filtering advertising in a networking device
US9641405B2 (en) * 2012-05-31 2017-05-02 Ca, Inc. System and method for sequencing per-hop data in performance-monitored network environments
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US8521153B1 (en) 2012-06-18 2013-08-27 International Business Machines Corporation Using the maintenance channel in a mobile data network to provide subscriber data when a cache miss occurs
US9875267B1 (en) * 2012-09-28 2018-01-23 EMC IP Holding Company LLC State-based message generation
US8875287B2 (en) 2012-10-04 2014-10-28 Akamai Technologies, Inc. Server with mechanism for reducing internal resources associated with a selected client connection
US8495221B1 (en) * 2012-10-17 2013-07-23 Limelight Networks, Inc. Targeted and dynamic content-object storage based on inter-network performance metrics
CN102917047B (zh) * 2012-10-17 2015-08-05 成都索贝数码科技股份有限公司 一种在互联网环境中实现数字文件物流的系统及方法
US9386514B2 (en) * 2012-10-25 2016-07-05 Raytheon Company Hybrid communication system for smartphone/tablet network
US8655307B1 (en) 2012-10-26 2014-02-18 Lookout, Inc. System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security
JP6034979B2 (ja) * 2012-12-09 2016-11-30 華為技術有限公司Huawei Technologies Co.,Ltd. パケット転送方法と装置及びデータセンターネットワーク
US9647900B2 (en) * 2012-12-13 2017-05-09 Level 3 Communications, Llc Devices and methods supporting content delivery with delivery services
US9509804B2 (en) 2012-12-21 2016-11-29 Akami Technologies, Inc. Scalable content delivery network request handling mechanism to support a request processing layer
US9654579B2 (en) 2012-12-21 2017-05-16 Akamai Technologies, Inc. Scalable content delivery network request handling mechanism
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9729605B2 (en) 2012-12-27 2017-08-08 Akamai Technologies Inc. Mechanism for distinguishing between content to be served through first or second delivery channels
CN105074688B (zh) 2012-12-27 2018-04-17 阿卡麦科技公司 使用对等节点图的基于流的数据去重复
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US8855599B2 (en) 2012-12-31 2014-10-07 Lookout, Inc. Method and apparatus for auxiliary communications with mobile communications device
US9424409B2 (en) 2013-01-10 2016-08-23 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device
US9882713B1 (en) 2013-01-30 2018-01-30 vIPtela Inc. Method and system for key generation, distribution and management
US9338210B2 (en) * 2013-03-15 2016-05-10 Rhapsody International Inc. Distributing content items to users
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
EP2809033B1 (en) 2013-05-30 2018-03-21 Solarflare Communications Inc Packet capture in a network
US8601565B1 (en) * 2013-06-19 2013-12-03 Edgecast Networks, Inc. White-list firewall based on the document object model
US9467369B2 (en) * 2013-08-02 2016-10-11 Time Warner Cable Enterprises Llc Packetized content delivery apparatus and methods
US9391847B2 (en) 2013-08-08 2016-07-12 Level 3 Communications, Llc Content delivery methods and systems
CN104427488A (zh) * 2013-08-29 2015-03-18 中兴通讯股份有限公司 一种终端及无线组网方法
US9648125B2 (en) 2013-10-04 2017-05-09 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation
US9813515B2 (en) 2013-10-04 2017-11-07 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation with extension to clients
US9641640B2 (en) 2013-10-04 2017-05-02 Akamai Technologies, Inc. Systems and methods for controlling cacheability and privacy of objects
US9577910B2 (en) 2013-10-09 2017-02-21 Verisign, Inc. Systems and methods for configuring a probe server network using a reliability model
CN103546559B (zh) * 2013-10-24 2018-02-02 网宿科技股份有限公司 数据分发方法和装置
US9642008B2 (en) 2013-10-25 2017-05-02 Lookout, Inc. System and method for creating and assigning a policy for a mobile communications device based on personal data
US9819721B2 (en) 2013-10-31 2017-11-14 Akamai Technologies, Inc. Dynamically populated manifests and manifest-based prefetching
CN105940644B (zh) * 2013-12-02 2019-11-12 阿卡麦科技公司 在保持端对端数据安全的同时具有分发优化的虚拟专用网络(vpn)即服务
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US9503367B2 (en) 2013-12-10 2016-11-22 Fujitsu Limited Risk mitigation in data center networks using virtual machine sharing
US9467478B1 (en) * 2013-12-18 2016-10-11 vIPtela Inc. Overlay management protocol for secure routing based on an overlay network
US9712438B2 (en) 2014-01-08 2017-07-18 Microsoft Technology Licensing, Llc Routing messages between virtual networks
US10044609B2 (en) * 2014-02-04 2018-08-07 Fastly, Inc. Communication path selection for content delivery
US9887914B2 (en) * 2014-02-04 2018-02-06 Fastly, Inc. Communication path selection for content delivery
US9325586B1 (en) * 2014-03-26 2016-04-26 Marvell Israel (M.I.S.L.) Ltd. Packet duplication measurement in a network device
US9866655B2 (en) 2014-03-31 2018-01-09 Akamai Technologies, Inc. Server initiated multipath content delivery
US9576070B2 (en) 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
US9887874B2 (en) * 2014-05-13 2018-02-06 Cisco Technology, Inc. Soft rerouting in a network using predictive reliability metrics
US9678841B2 (en) 2014-05-30 2017-06-13 Fastly, Inc. Communication continuation during content node failover
CN104113475B (zh) * 2014-07-30 2018-09-11 深圳市共进电子股份有限公司 基于Linux的家庭网关的网络路由实现方法和系统
US11496606B2 (en) 2014-09-30 2022-11-08 Nicira, Inc. Sticky service sessions in a datacenter
US9531590B2 (en) 2014-09-30 2016-12-27 Nicira, Inc. Load balancing across a group of load balancers
US10070155B2 (en) 2014-11-10 2018-09-04 Time Warner Cable Enterprises Llc Packetized content delivery apparatus and methods
US10135956B2 (en) 2014-11-20 2018-11-20 Akamai Technologies, Inc. Hardware-based packet forwarding for the transport layer
CN104539585B (zh) * 2014-12-05 2017-12-05 北京奇虎科技有限公司 浏览器防注入的方法、浏览器客户端和装置
US10154068B2 (en) 2014-12-30 2018-12-11 Akamai Technologies, Inc. Self-adjusting tiered caching system to optimize traffic performance and origin offload
US9948709B2 (en) 2015-01-30 2018-04-17 Akamai Technologies, Inc. Using resource timing data for server push in multiple web page transactions
US10313463B2 (en) 2015-02-19 2019-06-04 Akamai Technologies, Inc. Systems and methods for avoiding server push of objects already cached at a client
US10015073B2 (en) 2015-02-20 2018-07-03 Cisco Technology, Inc. Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment
US10097449B2 (en) * 2015-02-20 2018-10-09 Cisco Technology, Inc. Optimized border gateway protocol best path selection for optimal route reflection
US9800653B2 (en) * 2015-03-06 2017-10-24 Microsoft Technology Licensing, Llc Measuring responsiveness of a load balancing system
WO2016178816A1 (en) 2015-05-01 2016-11-10 Lookout, Inc. Determining source of side-loaded software
CN104811354B (zh) * 2015-05-08 2018-04-06 北京京东尚科信息技术有限公司 一种用于cdn健康检测的方法、装置和系统
US10348589B2 (en) * 2015-06-15 2019-07-09 Netflix, Inc. Managing networks and machines that deliver digital content
US9743151B2 (en) 2015-06-24 2017-08-22 Time Warner Cable Enterprises Llc Multicast video program switching architecture
US9929949B2 (en) 2015-06-29 2018-03-27 Google Llc Systems and methods for inferring network topology and path metrics in wide area networks
CN106612211B (zh) * 2015-10-23 2020-02-21 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备
US9980303B2 (en) 2015-12-18 2018-05-22 Cisco Technology, Inc. Establishing a private network using multi-uplink capable network devices
US10341379B2 (en) 2016-02-12 2019-07-02 Time Warner Cable Enterprises Llc Apparatus and methods for mitigation of network attacks via dynamic re-routing
US10931452B2 (en) 2016-08-22 2021-02-23 Akamai Technologies, Inc. Providing single sign-on (SSO) in disjoint networks with non-overlapping authentication protocols
CN106453673A (zh) * 2016-08-31 2017-02-22 腾讯科技(深圳)有限公司 一种数据传输方法及相关设备
US9667619B1 (en) 2016-10-14 2017-05-30 Akamai Technologies, Inc. Systems and methods for utilizing client side authentication to select services available at a given port number
EP3563248B1 (en) * 2016-12-30 2022-11-30 Akamai Technologies, Inc. Unified, browser-based enterprise collaboration platform
US10084855B2 (en) 2017-01-23 2018-09-25 Akamai Technologies, Inc. Pixel-based load balancing
WO2018148302A1 (en) * 2017-02-07 2018-08-16 Level 3 Communications, Llc System and method for next hop bgp routing in a network
US9986269B1 (en) 2017-03-03 2018-05-29 Akamai Technologies, Inc. Maintaining stream continuity counter in a stateless multiplexing system
US11088940B2 (en) 2017-03-07 2021-08-10 Akamai Technologies, Inc. Cooperative multipath
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services
US10764391B2 (en) 2017-09-14 2020-09-01 Akamai Technologies, Inc. Origin and cache server cooperation for compute-intensive content delivery
US10887385B2 (en) 2017-09-20 2021-01-05 Akamai Technologies, Inc. Marker based reporting system for hybrid content delivery network and peer to peer network
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US10531134B2 (en) 2017-11-10 2020-01-07 Akamai Technologies, Inc. Determining a time budget for transcoding of video
US10581948B2 (en) 2017-12-07 2020-03-03 Akamai Technologies, Inc. Client side cache visibility with TLS session tickets
EP3729777A1 (en) * 2017-12-18 2020-10-28 Telefonaktiebolaget LM Ericsson (publ) Virtual edge node as a service
US10439925B2 (en) 2017-12-21 2019-10-08 Akamai Technologies, Inc. Sandbox environment for testing integration between a content provider origin and a content delivery network
US10810279B2 (en) 2018-02-07 2020-10-20 Akamai Technologies, Inc. Content delivery network (CDN) providing accelerated delivery of embedded resources from CDN and third party domains
US10791047B2 (en) * 2018-02-19 2020-09-29 Disney Enterprise Inc. Automated network navigation
CA3101926A1 (en) 2018-02-26 2019-08-29 Charter Communications Operating, Llc Apparatus and methods for packetized content routing and delivery
US10764402B2 (en) 2018-03-03 2020-09-01 Akamai Technologies, Inc. Leveraging time-windows generated by web browser pre-connections
US10440142B2 (en) 2018-03-06 2019-10-08 Akamai Technologies, Inc. Automated TTL adjustment using cache performance and purge data
US10958649B2 (en) 2018-03-21 2021-03-23 Akamai Technologies, Inc. Systems and methods for internet-wide monitoring and protection of user credentials
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10681001B2 (en) 2018-03-29 2020-06-09 Akamai Technologies, Inc. High precision mapping with intermediary DNS filtering
US11233850B2 (en) * 2018-04-17 2022-01-25 Hewlett Packard Enterprise Development Lp Replicating data over a public network
CN108667658B (zh) * 2018-04-28 2020-02-21 厦门白山耘科技有限公司 一种带宽复用方法及装置
US10452563B1 (en) 2018-05-07 2019-10-22 Akamai Technologies, Inc. Cache eviction scheme for acceptable substitutes in online media
US10812315B2 (en) * 2018-06-07 2020-10-20 Cisco Technology, Inc. Cross-domain network assurance
US10667172B2 (en) 2018-06-18 2020-05-26 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
US11012362B2 (en) 2018-06-18 2021-05-18 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
WO2019245821A1 (en) 2018-06-18 2019-12-26 Akamai Technologies, Inc. Download management with congestion mitigation for over the air content delivery to vehicles
CN108833272B (zh) * 2018-06-20 2021-04-27 新华三技术有限公司 一种路由管理方法和装置
US10834138B2 (en) 2018-08-13 2020-11-10 Akamai Technologies, Inc. Device discovery for cloud-based network security gateways
US10931695B2 (en) 2018-08-22 2021-02-23 Akamai Technologies, Inc. Nonce injection and observation system for detecting eavesdroppers
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US10798006B2 (en) 2018-10-12 2020-10-06 Akamai Technologies, Inc. Overload protection for data sinks in a distributed computing system
US11245667B2 (en) 2018-10-23 2022-02-08 Akamai Technologies, Inc. Network security system with enhanced traffic analysis based on feedback loop and low-risk domain identification
US10944819B2 (en) 2018-10-26 2021-03-09 Hewlett Packard Enterprise Development Lp Replication of an encrypted volume
US11019034B2 (en) 2018-11-16 2021-05-25 Akamai Technologies, Inc. Systems and methods for proxying encrypted traffic to protect origin servers from internet threats
US10951589B2 (en) 2018-12-06 2021-03-16 Akamai Technologies, Inc. Proxy auto-configuration for directing client traffic to a cloud proxy
CN109905387A (zh) * 2019-02-20 2019-06-18 网宿科技股份有限公司 一种数据处理方法及装置
US11249784B2 (en) 2019-02-22 2022-02-15 Vmware, Inc. Specifying service chains
US10924534B2 (en) 2019-03-01 2021-02-16 Akamai Technologies, Inc. Dynamic placement of computing tasks in a distributed computing environment
US11425216B2 (en) 2019-04-01 2022-08-23 Cloudflare, Inc. Virtual private network (VPN) whose traffic is intelligently routed
US10887647B2 (en) 2019-04-24 2021-01-05 Charter Communications Operating, Llc Apparatus and methods for personalized content synchronization and delivery in a content distribution network
US10904207B2 (en) 2019-04-29 2021-01-26 Cloudflare, Inc. Intelligently routing a response packet along a same connection as a request packet
US11784912B2 (en) 2019-05-13 2023-10-10 Cloudflare, Inc. Intelligently routing internet traffic
US11748655B2 (en) * 2019-05-31 2023-09-05 Apple Inc. Classification of messages using learned rules
CN110445886B (zh) * 2019-07-05 2020-11-06 网宿科技股份有限公司 一种实现域名访问加速的方法和系统
US11128491B2 (en) 2019-08-13 2021-09-21 Cloudflare, Inc. Network layer performance and security provided by a distributed cloud computing network
US11706162B2 (en) * 2019-10-21 2023-07-18 Sap Se Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
CN114124817B (zh) * 2020-03-15 2023-03-14 腾讯科技(深圳)有限公司 基于边缘计算的通信方法、装置、介质及电子设备
US11277331B2 (en) * 2020-04-06 2022-03-15 Vmware, Inc. Updating connection-tracking records at a network edge using flow programming
CN113595964B (zh) * 2020-04-30 2023-02-10 华为技术有限公司 连接跟踪同步方法、装置、系统、设备及介质
US20210382847A1 (en) * 2020-06-09 2021-12-09 Arteris, Inc. SYSTEM AND METHOD FOR PERFORMING TRANSACTION AGGREGATION IN A NETWORK-ON-CHIP (NoC)
US11431690B1 (en) * 2020-06-23 2022-08-30 Amazon Technologies, Inc. Protecting data within an edge location while providing access to associated metadata
CN114221955B (zh) * 2020-09-03 2023-01-20 浙江宇视科技有限公司 设备跨区域访问方法、装置、电子设备和存储介质
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
CN113542371B (zh) * 2021-06-29 2022-05-17 西南大学 基于边缘网关的资源调度方法及系统
CN113726648B (zh) * 2021-08-27 2022-11-29 中国电信股份有限公司 多路径通信方法、装置、电子设备及计算机可读介质
US11683286B2 (en) * 2021-11-18 2023-06-20 Cisco Technology, Inc. Anonymizing server-side addresses
CN115150932B (zh) * 2022-09-01 2022-11-18 深圳慧城智联科技有限公司 一种基于5g的边缘网关通信信息同步方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US20040267945A1 (en) * 2001-08-02 2004-12-30 Christophe Reiss Filtering redundant packets in computer network equipments

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175868A (ja) * 1993-10-15 1995-07-14 Internatl Business Mach Corp <Ibm> デジタル情報を媒体に出力するための方法およびシステム
US6275470B1 (en) * 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
JP2001237876A (ja) * 2000-02-21 2001-08-31 Nec Corp Ip仮想プライベート網の構築方法及びip仮想プライベート網
DE60018913T2 (de) * 2000-06-30 2006-05-18 Alcatel Verfahren und Apparat um mit Apparate zu kommunizieren die nicht zum selben virtuellen privaten Netzwerk (VPN) gehören
US20020055983A1 (en) * 2000-11-03 2002-05-09 The Board Of Regents Of The University Of Nebraska Computer server having non-client-specific persistent connections
US6954790B2 (en) * 2000-12-05 2005-10-11 Interactive People Unplugged Ab Network-based mobile workgroup system
JP4225681B2 (ja) * 2000-12-06 2009-02-18 富士通株式会社 仮想閉域網構築方法及び装置並びに中継装置
US7530086B2 (en) * 2000-12-12 2009-05-05 Hewlett-Packard Development Company, L.P. Media program timing and identity delivery method and system
US20030032409A1 (en) * 2001-03-16 2003-02-13 Hutcheson Stewart Douglas Method and system for distributing content over a wireless communications system
US20030101279A1 (en) * 2001-11-29 2003-05-29 Rajiv Maheshwari Method for transferring messages along optimally redundant network paths in a distributed communication network
US20030188021A1 (en) * 2001-12-19 2003-10-02 International Business Machines Corporation Method and system for processing multiple fragment requests in a single message
US20030135509A1 (en) * 2002-01-11 2003-07-17 Davis Andrew Thomas Edge server java application framework having application server instance resource monitoring and management
WO2003096669A2 (en) * 2002-05-10 2003-11-20 Reisman Richard R Method and apparatus for browsing using multiple coordinated device
JP3952860B2 (ja) * 2002-05-30 2007-08-01 株式会社日立製作所 プロトコル変換装置
US7328237B1 (en) * 2002-07-25 2008-02-05 Cisco Technology, Inc. Technique for improving load balancing of traffic in a data network using source-side related information
US20040093419A1 (en) * 2002-10-23 2004-05-13 Weihl William E. Method and system for secure content delivery
US20050071439A1 (en) * 2003-09-29 2005-03-31 Peter Bookman Mobility device platform
US20050259689A1 (en) * 2004-04-01 2005-11-24 Azer Bestavros Providing soft bandwidth guarantees using elastic TCP-based tunnels
JP4655619B2 (ja) * 2004-12-15 2011-03-23 日本電気株式会社 無線基地局装置およびそのレート制御方法
US7660296B2 (en) * 2005-12-30 2010-02-09 Akamai Technologies, Inc. Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US20040267945A1 (en) * 2001-08-02 2004-12-30 Christophe Reiss Filtering redundant packets in computer network equipments

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012528551A (ja) * 2009-05-28 2012-11-12 マイクロソフト コーポレーション レイヤー2ドメインにわたる負荷分散
JP2013502840A (ja) * 2009-08-21 2013-01-24 アルカテル−ルーセント 親子リンクアグリゲーショングループを使用するサーバ側負荷均衡化
US9705799B2 (en) 2009-08-21 2017-07-11 Alcatel Lucent Server-side load balancing using parent-child link aggregation groups
WO2012029247A1 (ja) * 2010-09-02 2012-03-08 日本電気株式会社 データ転送システム
JP5716745B2 (ja) * 2010-09-02 2015-05-13 日本電気株式会社 データ転送システム
JP5803924B2 (ja) * 2010-09-02 2015-11-04 日本電気株式会社 データ転送システム
JP2014216012A (ja) * 2013-04-22 2014-11-17 富士通株式会社 データセンターネットワークにおけるリスク軽減
JP2023508447A (ja) * 2019-12-31 2023-03-02 レベル スリー コミュニケーションズ,エルエルシー 埋め込み要求元情報を用いたコンテンツデリバリシステム

Also Published As

Publication number Publication date
US8170017B2 (en) 2012-05-01
WO2007089352A3 (en) 2008-08-14
CN101410819A (zh) 2009-04-15
US20100138488A1 (en) 2010-06-03
JP4975760B2 (ja) 2012-07-11
US20150074187A1 (en) 2015-03-12
EP1972112A4 (en) 2010-12-01
US8891522B2 (en) 2014-11-18
US20070153782A1 (en) 2007-07-05
EP1972112A2 (en) 2008-09-24
CN101410819B (zh) 2012-05-30
WO2007089352A2 (en) 2007-08-09
US20120215938A1 (en) 2012-08-23
US7660296B2 (en) 2010-02-09

Similar Documents

Publication Publication Date Title
JP4975760B2 (ja) 複数のクライアントマシンをターゲットサーバ上で動作するアプリケーションにリモートアクセスさせる方法
US20210399920A1 (en) Dynamic discovery of peer network devices across a wide area network
US10348571B2 (en) Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths
US10277500B2 (en) Application-layer traffic optimization service endpoint type attribute
US10021034B2 (en) Application aware multihoming for data traffic acceleration in data communications networks
US10084720B2 (en) Application-layer traffic optimization service spanning multiple networks
US6760775B1 (en) System, method and apparatus for network service load and reliability management
US8274909B2 (en) Conditional protocol control
US9112901B2 (en) Method and system for providing connection resiliency
Alotaibi et al. Multidomain sdn-based gateways and border gateway protocol
Hanka et al. A novel DHT-based network architecture for the Next Generation Internet
WO2000052906A1 (en) System, method and apparatus for network service load and reliability management
Cisco Global Configuration Mode Commands
Chandhok Web distribution systems: Caching and replication
Sirisutthidecha Improving vpn transmission performance and reliability using havc-based overlay network
Cheriton et al. TRIAD: Translating Relaying Internetwork Architecture Integrating Active Directories
Haddow Improving Internet path performance through detour routing
Leng et al. Connecting ipvx networks over ipvy with a p2p method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091120

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100219

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100616

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110516

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110523

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110615

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110622

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110715

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110912

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

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: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120411

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4975760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

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

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