JP6190966B2 - 複数インスタンスを伴うインラインサービス変更のためのサービス配置 - Google Patents

複数インスタンスを伴うインラインサービス変更のためのサービス配置 Download PDF

Info

Publication number
JP6190966B2
JP6190966B2 JP2016542420A JP2016542420A JP6190966B2 JP 6190966 B2 JP6190966 B2 JP 6190966B2 JP 2016542420 A JP2016542420 A JP 2016542420A JP 2016542420 A JP2016542420 A JP 2016542420A JP 6190966 B2 JP6190966 B2 JP 6190966B2
Authority
JP
Japan
Prior art keywords
service
network
service provider
provider network
services
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
JP2016542420A
Other languages
English (en)
Other versions
JP2016533689A (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 JP2016533689A publication Critical patent/JP2016533689A/ja
Application granted granted Critical
Publication of JP6190966B2 publication Critical patent/JP6190966B2/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
    • 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/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5045Making service definitions prior to deployment
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking

Landscapes

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

Description

[関連出願への相互参照]
本出願は、以下の米国特許出願の主題に関連する主題を開示する:(i)“METHOD AND APPARATUS FOR PLACING SERVICES IN A NETWORK”(Ericsson Ref. No.:P38903-US1),出願番号:13/751,826,Ying Zhang及びNeda Beheshti-Zavarehの名の下に2013年1月28日出願、(ii)“CHAINING OF INLINES SERVICES USING SOFTWARE DEFINED NETWORKING”(Ericsson Ref. No.:P37236-US2),出願番号:13/556,456,Geoffrey Lefebvre、Erik Rubow及びRavi Manghirmalaniの名の下に2012年7月24日出願;これらの各々は、全体として参照によりここに取り入れられる。
[開示の分野]
本開示は、概して、ネットワークの分野に関する。より具体的には、何らの限定の形ではないものの、本開示はネットワーク内で複数インスタンスを有するサービスの配置を対象とする。
事業者は、加入者のトラフィックを管理するために、DPI(Deep Packet Inspection)、ロギング/計量/課金/高度化課金、ファイアウォール、IDP(Intrusion Detection and Prevention)、NAT(Network Address Translation)などといった、インラインサービスと呼ばれる様々なミドルボックスサービス又はアプリケーションを使用する。これらサービスは、スループット及びパケット検査ケイパビリティについて高い要件を有する。それらは、エンドユーザにとって透過的であり又は非透過的であり得る。インラインサービスは、専用の物理ハードウェア上で、又は仮想マシン内でホスティングされることができる。
トラフィックが1つよりも多くのインラインサービスを経なければならない場合には、サービスチェーン化(service chaining)が必要とされ得る。そのうえ、1つよりも多くのサービスチェーンが可能である場合、事業者は、正しいトラフィックを正しいインラインサービスパスへ誘導するようにネットワーキング基盤を構成しなければならない。
本特許の開示は、サービスプロバイダネットワークにおいて複数のインスタンス(“サービスレプリカ”ともいう)を有するインラインサービスを配置するための方式を広く対象とする。
1つの観点において、サービスプロバイダネットワーク内にサービスインスタンスを配置するための方法の一実施形態が開示される。主張される実施形態は、上記サービスプロバイダネットワークのトポロジーを定義することと、上記サービスプロバイダネットワーク内に配置されるべきサービスのセットを定義することと、少なくとも1つのサービスは複数のインスタンスで提供されることと、複数の加入者データフローについての要件のセットを判定することと、各要件は、各加入者データフローについての通過すべきサービスのシーケンスであることと、上記サービスプロバイダネットワークに関連付けられる全体的なネットワークメトリックが全ての加入者データフローについて最適化されるように、上記サービスプロバイダネットワークの1つ以上のネットワークノードに対して、サービス及びもしあればそれらの複数のインスタンスを配置し又は割り当てることと、を含む。一例としての実装において、最適化されるべきネットワークメトリックは、全ての加入者フローについての、帯域幅メトリック(例えば、帯域幅利用率)、合計遅延及び/若しくは合計距離、並びに合計ホップ数、のうちの少なくとも1つを含む。さらなる実装において、上記サービス配置の方法論は、各サービスについてサービス依存関係を定義し及び上記サービス依存関係をランク付けすることと、上記サービス依存関係のランク付け、各サービスのインスタンス数、又は双方に基づいて、各サービスについて重みを決定することと、最大の重みの値を有するサービスから始まる選択されたネットワーク/性能メトリックの局所最適化のための局所最適化メカニズム(例えば、貪欲アルゴリズムの使用)に基づいて、複数のネットワークノードに対して、各サービス及びそのインスタンスを反復的に配置し又は割り当てることと、をさらに含み得る。
他の観点において、ネットワークコントローラノードの一実施形態が開示される。当該ネットワークコントローラノードは、1つ以上のプロセッサと、当該プロセッサにより実行された場合に上で説明した方法の一実施形態を実行するように構成される命令群を有する永続メモリモジュールとを備える。またさらなる観点において、上に明記した方法の1つ以上の実施形態を実行するための、格納済みの命令群を収容した非一時的なコンピュータ読取可能な媒体の一実施形態が開示される。1つのバリエーションにおいて、ネットワークコントローラノードの一実施形態は、ソフトウェア定義ネットワーク内に設置される論理的に一元化されたコントローラとして実装されてもよい。さらなるバリエーションにおいて、上記論理的に一元化されたコントローラノードは、複数のネットワークノードのデータ転送動作を制御するように構成されるOpenFlowコントローラを含み得る。ある実施形態はSDNアーキテクチャに関連するが、本発明は必ずしもそれに限定されず、ここでの教示はトラフィックステアリングの要件を有するいかなるネットワークにおいても実践され得ることが理解されるであろう。
本発明の利点は、限定ではないものの、1つ以上のサービスチェーン化ポリシーを有するサービスプロバイダネットワーク内で、複数インスタンスのサービスの配置及び/又は割り当てが最適化されること、を含む。既定の割り当てを動的に変更することができるため、サービスネットワーク事業者は、スケーラビリティに影響を与えることなく、より多くのサービスをオンラインに持ち込むことができる。多様な実施形態のさらなる特徴は、従属請求項において記述された通りである。以下の説明及び添付図面を見ることで、実施形態の追加的な恩恵及び利点が明らかとなるであろう。
本開示の実施形態は、限定の形ではなく例示の形で添付図面の図に示されており、その中で類似の参照は同様の要素を指し示す。留意すべきこととして、本開示における“一”実施形態又は“1つの”実施形態への様々言及は、必ずしも同じ実施形態へ向けたものではなく、そうした言及は少なくとも1つを意味し得る。さらに、具体的な特徴、構造又は特性が一実施形態との関連において説明される場合、明示的に説明されているか否かに関わらず、そうした特徴、構造又は特性を他の実施形態との関連で作用させることは当業者の知識の範囲内であると考えられる。
添付図面は、本開示の1つ以上の例示的な実施形態を示すために、本明細書へ取り入れられ、及びその一部をなす。本開示の多様な利点及び特徴が、添付の特許請求の範囲との関連において考慮される以下の詳細な説明から、次の添付図面の図を参照しつつ理解されるであろう。
本特許の開示の1つ以上の実施形態が実践され得る、一例としてのネットワークを描いている。 本特許の開示の1つ以上の実施形態が実践され得る、追加的な例としてのネットワークを描いている。 本特許の開示のサービス配置及び/又は割り当ての仕組みの一実施形態に従って生じ得るイベントのシーケンスに関するフローチャートを描いている。 本特許の開示のサービス配置及び/又は割り当ての仕組みの一実施形態に従って生じ得るイベントのシーケンスに関するフローチャートを描いている。 本特許の開示の一実施形態に係るサービス配置及び/又は割り当ての仕組みを実装するように構成され得るネットワークコントローラノードのブロック図を描いている。
以下の説明では、本特許の開示の1つ以上の実施形態に関連して、多くの特定の詳細が明記される。しかしながら、そうした特定の詳細が無くとも1つ以上の実施形態が実践され得ることが理解されるべきである。他の例では、例示的な実施形態の理解を曖昧にすることのないように、よく知られた回路、サブシステム、コンポーネント、構造及び技法は、詳細には示されていない。それに応じて、本特許の開示の1つ以上の実施形態がそうした特定のコンポーネントに基づく詳細が無くとも実践され得ることが、当業者には理解されるであろう。さらに、当業者は、ここで明記される詳細な説明の助けを得て、及び添付図面を考慮に入れて、過度の実験を行うことなく1つ以上の実施形態を活用することができるようになると認識されるはずである。
加えて、以下の説明、特許請求の範囲又はそれら双方では、“連結される(coupled)”及び“接続される(connected)”という用語が、その派生語と共に使用され得る。これら用語は互いに対して必ずしも同義語ではないことが理解されるべきである。“連結される”は、互いに物理的に又は電気的に直接接触してもしなくてもよい2つ以上の要素が互いに協働し又はインタラクションすることを示すために使用され得る。“接続される”は、互いに連結される2つ以上の要素間における通信の確立、即ち通信面での関係を示すために使用され得る。さらに、ここに明記される1つ以上の例示的な実施形態において、概していうと、エレメント、コンポーネント又はモジュールは、エレメントがある機能を実行可能でありさもなければ実行するように構造的に構成されている場合に、当該機能を実行するように構成される、と言える。
ここで用いられるものとして、ネットワークエレメント又はノード(例えば、ルータ、スイッチ、ブリッジ)は、ネットワーク上の他の機器(例えば、他のネットワークエレメント、エンドステーションなど)と通信可能に相互接続するハードウェア及びソフトウェアを含む、1つのネットワーキング機器である。いくつかのネットワークエレメントは、複数のネットワーキング機能(例えば、ルーティング、ブリッジング、スイッチング、レイヤ2アグリゲーション、セッションボーダコントロール、QoS(Quality of Service)、及び/又は加入者管理など)についてのサポートを提供し、及び/又は複数のアプリケーションサービス(例えば、データ、音声、及び映像)についてのサポートを提供する、“マルチサービスネットワークエレメント”であってよい。加入者エンドステーション(例えば、サーバ、ワークステーション、ラップトップ、ネットブック、パームトップ、携帯電話、スマートフォン、マルチメディアフォン、VOIP(Voice Over Internet Protocol)フォン、ユーザ機器、端末、ポータブルメディアプレイヤー、GPSユニット、ゲームシステム、セットトップボックス)は、インターネットなどのパケット交換型のワイドエリアパブリックネットワーク上で提供されるコンテンツ/サービスにアクセスし又はそれらを消費し得る。加入者エンドステーションは、インターネット上にオーバレイされる(例えば、トンネリングされる)仮想プライベートネットワーク(VPN)上で提供されるコンテンツ/サービスにもアクセスし又はそれらを消費し得る。具体的な実装に関わらず、理解されるべきこととして、本特許の開示の1つ以上の実施形態は、複数のネットワークノード(例えば、トポロジー的な配置において相互接続されるスイッチ群)を有するサービスプロバイダネットワークに関与してよく、複数のインスタンス(即ち、“サービスレプリカ”)を有する1つ以上のサービスが、既知の又はさもなければ予め構成されるサービス要件に従って、(任意のタイプの上述した加入者エンドステーションにより生成され又はそれに関与する)複数の加入者データフローにより通過されるために配置され得る。
本特許の開示の1つ以上の実施形態は、ソフトウェア、ファームウェア及び/又はハードウェアの様々な組み合わせを用いて実装されてよい。よって、図(例えば、フローチャート)に示す1つ以上の技法が、1つ以上の電子デバイス(例えば、エンドステーション、ネットワークエレメントなど)上に格納され、実行されるコード及びデータを用いて実装され得る。そうした電子デバイスは、非一時的なコンピュータ読取り可能な記憶媒体(例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読取り専用メモリ、フラッシュメモリデバイス、相変化メモリなど)、及び一時的なコンピュータ読取り可能な送信媒体(例えば、搬送波、赤外線信号、デジタル信号といった、電子、光、音響、又は他の形式の伝搬される信号)といったコンピュータ読取り可能な媒体を用いて、コード及びデータを格納し、及び(内部的に、及び/又はネットワーク上の他の電子デバイスと)通信し得る。加えて、そのような電子デバイスは、典型的には、1つ以上のストレージデバイス(非一時的なマシン読取可能な記憶媒体)、ユーザ入力/出力デバイス(例えば、キーボード、タッチスクリーン、ポインティングデバイス及び/又はディスプレイ)、並びにネットワーク接続といった、1つ以上の他のコンポーネントに連結される1つ以上のプロセッサのセットを含み得る。プロセッサのセットと他のコンポーネントとの連結は、典型的には、任意の既知の(例えば、シンメトリックな/共有型のマルチプロセシング)又は今のところ知られていないアーキテクチャで構成される、1つ以上のバス及びブリッジ(バスコントローラとも呼ばれる)を通じてなされ得る。そのため、所与の電子デバイスのストレージデバイスは、本開示の1つ以上の技法を実装する目的で、当該電子デバイスの1つ以上のプロセッサ上での実行のためのコード及び/又はデータを記憶するように構成され得る。
特に図1Aを参照すると、そこには、1つ以上の入口ノード106−1〜106−Mと、1つ以上の出口ノード108−1〜108−Kとを有する一例としてのサービスプロバイダネットワーク100が描かれており、当該ネットワークにおいて複数インスタンスのサービスを配置する目的で、本特許の開示の1つ以上の実施形態が実践され得る。参照番号110−1〜110−Lは、入口ノード106−1〜106−Mにてソースドメインから受信されたインカミングのデータパケットフロー102−1〜102−Nの、出口ノード108−1〜108−Kへのルーティングを有効化し、出口ノード108−1〜108−Kに外部ドメインへとアウトゴーイングのデータパケットフロー104−1〜104Nを出させる目的で、トポロジー的な構成として互いに連結される複数のデータ転送ノードを指す。理解されるべきこととして、ネットワーク100内のデータパケットのルーティングは、例えばリンクステートルーティングプロトコル又は距離ベクタルーティングプロトコルといった任意の既知のクラスの、ネットワーク内の任意の2つのノードの間のルーティングプロトコルを用いて有効化されてよい。参照番号112−1〜112−Iは、ネットワーク100内に配置されるべき1つ以上のインラインサービスを指し、インカミングの加入者データフロー102−1〜102−Nは、加入者及び/又は事業者のポリシー、並びにサービスチェーン化要件などに基づいて、シーケンシャルな順序でそれらインラインサービスを通過することを要し得る。例示として、そうしたサービスは、DPI(Deep Packet Inspection)、ウィルススキャン(VS)、UDP(Intrusion Detection and Prevention)、ファイアウォール(FW)フィルタリング、及びNAT(Network Address Translation)などを含み得る。さらに、そうしたインラインサービスの1つ以上は、複数のレプリカのインスタンスで提供されてよく、例えば負荷分散のために、それらインスタンスがネットワーク事業者により配備され得る。
説明として、例示したサービスプロバイダネットワーク100は、例えば、OF(OpenFlow)プロトコル、ForCES(Forwarding and Control Element Separation)プロトコルなどといった既知のプロトコルに基づくソフトウェア定義ネットワーク(SDN)として構築されてもよく、但し、ここで説明される実施形態は他のネットワークアーキテクチャとの関係においても実践され得ることが理解されるべきである。一例としてのSDNアーキテクチャは、典型的には、ネットワークエレメントの制御プレーン及びデータプレーンの隔離(separation)及び分離(decoupling)に関与し、それによりネットワークの知能部(intelligence)及び状態制御を論理的に一元化することができ、基礎となるネットワーク基盤がアプリケーションから抽象化される。SDNベースのサービスの1つの実装は、従って、複数のデータ転送ノードあるいはスイッチを監督し及び制御するように構成される、ネットワーク内の1つ以上のサービスを実行するネットワークワイドな制御プラットフォームを含み得る。それに応じて、(本特許出願のいくつかの実施形態の目的のために、“中央コントローラ”として言及されることのある)ネットワークワイドな制御プラットフォームと、データスイッチング/転送ノードとの間に、標準化されたインタフェースが提供されてよく、それにより、高いスケーラビリティ、フローベースのサービスチェーン化、マルチテナンシー及びセキュアな基盤共有、仮想オーバレイネットワーキング、並びに効率的な負荷分散などが容易化される。対照的に、旧来のネットワークアーキテクチャは、総合的な設計を遵守し、そこでは制御プレーン及びデータ転送プレーンが同じネットワークエレメントにおいて緊密に連結され、結果的に通常は過度に込み入った制御プレーン及び複雑なネットワーク管理がもたらされ、複数の欠点及び欠陥が伴う。
典型的なSDNスイッチングノードは、パケットのルックアップ及び転送を実行するフローテーブル、並びに、当該スイッチを中央コントローラへと接続してそれらの間でオープンかつ標準的なプロトコルを用いてコマンド及びパケットを送信することを可能とするセキュアチャネル、を含む。転送エレメントあるいはスイッチの主なタスクは、コントローラによりプログラミングされるフローテーブル内のルールに従って、入口ポートから出口ポートへとパケットを転送することである。フローテーブルは、フローエントリのセット、アクティビティカウンタ、及び適合するパケットに適用すべき1つ以上のアクションのセットを含み得る。例えば、フローエントリは、次のようなアクションのセットと共に構成され得る:所与のポートへのパケットの転送、パケットヘッダ内のあるビットの修正、コントローラへのパケットのカプセル化、又は単純なパケットの破棄。新たなフローにおける最初のパケットについて、スイッチは、通常、そのパケットをコントローラへと転送して、新たなフローエントリのプログラミングをトリガする。スイッチは、例えばICMP(Internet Control Message Protocol)パケットなどの全ての低速パス(slow-path)パケットを処理のためにコントローラへと転送するために使用されることもできる。理解されるべきこととして、あるデータパケットフローの概念は、例えば、TCP(Transmission Control Protocol)接続、特定のMAC(Media Access Control)アドレス若しくはIP(Internet Protocol)アドレスからの全てのトラフィック、同じVLAN(Virtual LAN)タグを伴う全てのパケット、同じスイッチポートからの全てのパケット、又は1つ以上のユーザ定義の制御フラグを有する全てのパケット、として広く定義され得ると共に、上述した条件の任意の組み合わせを含み得る。
図1Aに示した例示的なネットワーク実装に関して、インタフェース116、118により例示される通りの残余のネットワークコンポーネントに対して、参照番号115は、標準化されたインタフェースアーキテクチャを用いてネットワークの制御プレーン動作を実装するための、ネットワークワイドなコントローラを指す。ネットワークコントローラ115は、データプレーンスイッチのセット内の例えば相互接続及びルーティングを定義することの一部として、フローテーブルへのフローエントリの追加及びフローエントリの削除を行うように動作可能であり得る。ネットワークコントローラ115は、スイッチからの情報の収集及びスイッチへのルーティング命令の配信といった、ネットワーク状態の配布をもハンドリングする。ネットワークコントローラ115は、何らかの新たなアドレッシング、ルーティング、及び複雑なパケット処理アプリケーションをサポートするようにプログラミングされることもできる。そのため、ネットワークコントローラ115を例示的なサービスプロバイダネットワーク100の“頭脳(brain)”と見なしてもよく、スイッチは、適切に動作するために、少なくとも1つのコントローラ機能性へ接続することを要し得る。
理解されるべきこととして、図1Aの例示的なネットワーク100の入口ノード及び出口ノードは、ネットワーク100の外周に配置され、入口ノード106−1〜106−Nは、インカミングのトラフィックフローを分類して、サービスチェーン化ポリシー及び他のサービス要件(サービス要件データベース114としてまとめて描かれている)に基づき、コントローラノード115により実行されるトラフィックステアリングの仕組みを用いて、次のサービスへ向けて操舵する。図1Bへ移ると、そこには、サービスプロバイダネットワーク構成150の、ある面で簡略化され及びより具体化された様子が示されており、そこで一実施形態に従ってサービス配置/割り当ての仕組みが実践され得る。図示したように、VS168、ファイアウォール170、DPI182、コンテンツキャッシュ190といったサービスが、1つ以上の外周ノード又はスイッチ162、164、166、180、及び1つ以上の内側ノード又はスイッチ172、174、176、178を用いて、ネットワークを介して加入者へと提供される。上で述べた説明に従い、OF(OpenFlow)プロトコルに従って提供される論理的に一元化されたコントローラ165が、スイッチ及び例えばサービスなどのミドルボックスを管理するために使用される。一例としてのステアリングアーキテクチャにおいて、サービスパスは、加入者、特定のアプリケーション及び所要のサービス順序に基づいて構成されてよく、方向固有としてあるいは一方向的なものとして提供されてよい。即ち、アップストリーム及びダウンストリームのトラフィックのために異なるサービスパスが特定され得る。図1Bでは、2つの異なるサービスパスが示されている。(例えば無線基盤154からのモバイルネットワークトラフィックに関与する)1つの加入者向けのサービスパス156は、外周スイッチ180を通じて退出し及びボーダゲートウェイ192を介してインターネット194へと入る前に、VS168、DPI182及びコンテンツキャッシュ190を通過するアップストリームトラフィックを示す。一方で、(例えば加入者ホーム設備152からの固定ネットワークトラフィックに関与する)他の(又は同じ)加入者向けのサービスパス158は、それらサービスの全てを迂回する。
スイッチ162、164、166、180は、ネットワークの外周に提供されるOpenFlowノードとして、インカミングトラフィックを分類し、及びそれぞれのフロー156、158に関する適用可能なサービスチェーン化ポリシーに応じたコントローラ165の制御の下でそれを操舵する、ように構成されてよい。1つ以上のサービスを通過することを要するポリシーに加えて、サービスを迂回するポリシーが提供されてもよい。理解されるべきこととして、そうしたサービス迂回ポリシーは、ネットワーク内のリソースを節約するために有益であり得る。さらに、当業者は、図1Bの実施形態において、外周スイッチ162、164、166、180がサービス及び/又は他のゲートウェイノードの接続先となるネットワークノードであることを認識するであろう。一方、内側スイッチ172、174、176、178は、レイヤ2(L2)スイッチングを用いてトラフィックを単純に転送するように構成されてよく、よって他のスイッチへ接続するのみであってよい。それに応じて、1つの実装において、内側スイッチ172、174、176、178は、コントローラ165により制御されるOFスイッチであってもなくてもよい。内側スイッチがOF準拠のスイッチであるかに関わらず、中央コントローラ165により実行されるステアリングの仕組みは、2ステップのプロセスを内包し得る。第1のステップは、インカミングパケットを分類し、予め定義される加入者、アプリケーション及び他の順序付けポリシーに基づいて、それらにサービスパスを割り当てる。第2のステップは、その割り当てられたサービスパスに沿って最新の位置に基づき次のサービスへとパケットを転送することを内包する。こうした2ステップのトラフィックステアリングプロセスは、任意のボーダルータの間で、それらにいくつのスイッチが接続しているとしても、1回実行されればよいだけである。SDNアーキテクチャにおける例示的なトラフィックステアリング実装及び単一インスタンスサービスの配置に関する追加的な詳細は、次の共通に所有されている同時係属中の米国特許出願のうちの1つ以上において見出され得る:
(i)“CHAINING OF INLINES SERVICES USING SOFTWARE DEFINED NETWORKING”(Ericsson Ref. No.:P37236-US2),出願番号:13/556,456,Geoffrey Lefebvre、Erik Rubow及びRavi Manghirmalaniの名の下に2012年7月24日出願
(ii)“METHOD AND APPARATUS FOR PLACING SERVICES IN A NETWORK”(Ericsson Ref. No.:P38903-US1),出願番号:13/751,826,Ying Zhang及びNeda Beheshti-Zavarehの名の下に2013年1月28日出願
これらは上で相互参照されており、参照によりここに取り入れられる。
上述した例示的なネットワークアーキテクチャの1つの実装において、以下の観点又は要因のうちの1つ以上が、本特許出願のマルチインスタンスサービス配置方式の一実施形態に従って考慮され得る。第一に、各加入者は、当該加入者のトラフィックフローが通過する必要のあるサービスの正確な順序又はシーケンス(即ち、特定の加入者向けのサービス要件)を特定することを要し得る。例えば、ある加入者は、当該加入者のトラフィックが最初にファイアウォールサービスを、次いでDPIサービスを経由すべきであることを特定し得る。第二に、サービスプロバイダ/事業者は、例えば負荷分散、帯域幅最適化及び遅延最小化などの多様なトラフィック管理の理由のために、サービスの複数のインスタンスを配備し得る。事例として、インラインサービスネットワークは、ファイアウォールサービスの3つのインスタンスと、DPIの2つのインスタンスとを有してもよく、これはいくつかの実装において仮想化されたサービス製品として提供されてもよい。追加的に、1つの加入者の複数のフローを、負荷分散のために、サービスの互いに異なるインスタンス又はレプリカへと割り当てることができる。一方で、サービスインスタンスの割り当ての設定が、既定の割り当てから動的に変更されてもよい。1つの構成において、既定の割り当ての戦略は、遅延を最小化する目的で、トラフィックフローを地理的に最も近いサービスインスタンス/レプリカへとルーティングすることであり得る。
従って、当業者は、各サービスについて利用可能なインスタンスの数がここで明記される教示に係るサービス配置方式の一実施形態においてとりわけ重要な要因又は入力であることを認識するであろう。さらに、以下に詳細に説明されるように、最も余裕の無い(例えば、最も少ない数のインスタンスしか有しないのに、多数のサービスパス及び/又は大量のデータトラフィックが通過する)リソースであると推定されさもなければ判定されたサービスは、ネットワーク内で最初に位置付けられ又は配置され、追加的なサービスがその後に反復的に配置されることになる。
本特許出願の目的のために、マルチインスタンスサービス配置の仕組みは、ネットワーク内のサービスの配置に対して、適切な全体的なネットワークメトリックを最小化し、最大化し又はさもなければ最適化するような最適化メカニズムとして系統的に説明され得る。例えば、マルチインスタンスサービス配置の仕組みの一実施形態は、全ての加入者トラフィック(即ち、データフロー)について通過される合計遅延又は距離が最小化される形で実装されてもよい。ネットワークがどのように構成されるかに依存して、マルチインスタンスサービス配置の仕組みの他の実施形態が、ネットワーク内の加入者データフローによりとられる合計ホップ数(即ち、ホップカウント)が最小化されるという形で実装されてもよい。またさらなる実施形態において、合計ネットワーク帯域幅消費/割り当てといった他の性能メトリックが、複数のサービスインスタンスの配置のために最適化されてもよい。
サービス配置の仕組みを実装するための多様な処理、ステップ、動作及びブロックを定式化するために、一例としてのサービスプロバイダネットワークがグラフ理論からのある構成概念(construct)を用いて抽象化されてよく、その際、例えばネットワークトラフィック/性能メトリックといった予め決定される目的関数が最小化され又はさもなければ最適化される。この目的のために、次の考え方を用いる。例えば上述したトラフィックステアリングの仕組みを有するOFネットワークなどの一例としてのネットワークをグラフG=(V,E)と表し、ここでノード集合Vは、ネットワーク内のスイッチを表現し、エッジ集合Eは、ネットワークの所与の接続性又は構成に依存して、スイッチ間のペアごとのリンク又はエッジを表現する。1つの実装において、グラフGは、重み付けされたエッジを伴う、無方向性の対称的なグラフであってよく、即ち(u,v) 0 Eならば(v,u) 0 Eである。各エッジは、遅延値du,vに関連付けられ得る。当該遅延値は、単にdu,v=dv,u=1であることができ、これはその遅延がホップカウントとして近似され得ることを意味する。
インラインサービスの集合はS={s,s,…,s}として表され、ここでの各要素は配置されるべき1タイプのサービスである。各加入者のデータフローは、通過すべき一連のインラインサービスに対して自己の要件を有する。例えば、加入者iの要件r=ing0,s,s,s,s,egr0であり、ing0及びegr0は特定の加入者のトラフィックの入口及び出口の位置である。要件の集合はR={r,r,…,r}であり、合計でk個の加入者が存在する。追加的に、各サービスについてのレプリカ数又はインスタンス数N={n,n,…,n}を格納する他の{1×h}ベクトル又はレプリカ配列が存在し、これは個々のサービスsがn個のインスタンスを有することを示す。
サービス配置の目的のために、目的は、全ての候補VN=|V|の中の位置のサブセットM(|M|=|S|=h)をオープンし、ユーザの全てについての合計遅延が最小化されるようにサービスを配置することである。各サービスシーケンスrについて、サービス配置Lを所与とすると、r内のサービスの全てを通過するための合計遅延を計算することができる。この計算は、次のように記述される:
Figure 0006190966
ここで、d(rは、解Lの下でのサービスチェーンrの遅延を意味する。要素a及びbは、任意の入口点、出口点、及び任意のサービスインスタンスであり得る。それは、r内の全ての連続する入口/出口ノード及びサービス(a,b)の間の遅延にわたる総和である。連続する各サービスペア(s,s)についての遅延は、次の解の下でのaとbとの間のパス内の全てのエッジ(u,v)の和として計算される。
Figure 0006190966
この解は、次のようにLを見つけ出す形で定式化され得る:
Figure 0006190966
本特許の開示の教示に従って、個別の各サービスと他のサービスとの間並びに全ての入口及び出口ノードの間の依存関係を検査することにより、仮想的なグラフが生成される。その後、配置される全てのサービスを基準として、最小の合計性能ペナルティ(このケースでは遅延)に寄与する位置を選択する都度(例えば、貪欲法)、局所最適化ヒューリスティクスを用いて、サービスが反復的に配置され得る。認識されるべきこととして、局所最適化ヒューリスティクスのための目的関数は、サービス配置を有効化する目的で、他のネットワークメトリックを、単独で又は遅延メトリックとの何らかの組み合わせで内包してもよい。
本特許出願の目的のために、サービス依存関係は、考慮対象のカレントサービスの位置がどのように他のエンティティの位置に依存し又は依存すべきかの定量化として決定され得る。サービス依存関係グラフG=(V,E)は、VがS内の全てのサービスと共にG内の全てのエッジノード(即ち、入口及び出口ノード)を含むように定義され得る。E内のエッジ(u,v)は、uからvへのトラフィックが存在することを意味する。さらに、重みファクタ又はパラメータw(u,v)が定義され又はさもなければエッジへ割り当てられ、これはuからvへ行く必要のあるトラフィックを有する加入者又はデータフローの合計数を示す(即ち、エッジ重み)。認識されるべきこととして、データトラフィックフローに関連付けられる指向性が存在することから、グラフGは有向グラフであり得る。また別の重みファクタ又はパラメータが定義され又はさもなければグラフG内の各ノードに関連付けられ、即ちw(v)であり、これは、未配置のサービスへのノードのアウトバウンドエッジの重みの和として決定され又は計算され得る(即ち、ノード重み)。
そのため、理解されるべきこととして、サービス配置の仕組みは、仮想サービスグラフGから物理ネットワークグラフGへのマッピングのための変換メカニズム又はグラフ埋め込みメカニズムとして取り扱われてよい。上で明記したように、連続的な局所最適化に基づく貪欲(greedy)アルゴリズムが、大規模なグラフにおける計算効率のために、グローバルな最適条件(optimum)を見出す期待と共に、そうした仕組みを実効あるものとするために使用されてもよい。しかしながら、当業者は、線形計画法又は動的計画法などといった他の形式的な最適化技法もまた使用されてよいことを認識するであろう。但し、そうした技法は、極端に計算量が多く、収束に過剰な時間量が掛かるかもしれず、特に数百のノードと膨大な数の加入者フローとが関与するネットワークではそうである。
1つの実施形態において、サービス配置の仕組みは、仮想サービスグラフG内の全ての入口ノード及び出口ノードを既に配置済みノードとみなしてもよい。各サービスについての新たな重みが、サービス依存関係のランキング及びサービスインスタンス数のランキングに基づく関数として計算されてもよい。初期には、全てのサービスが、ネットワーク内のノードに対して未だ配置されず又は割り当てられていないために、未配置集合のメンバとして扱われる。各反復において、最大の新たな重みを伴う未配置のサービスが選択され、当該サービスの全てのレプリカが1つ1つ配置される。毎回、グラフG内の全ての位置の中で、配置済みのサービスと、配置のために考慮されている特定のサービスの固有のインスタンスとの間の合計遅延を最小にする特定の位置解が選択される。それが配置された後、サービスレプリカ配列が、各レプリカ上の残余の負荷で更新される。未配置集合がゼロへと減少するまで(即ち、配置すべきそれ以上のサービスが無くなるまで)、特定のサービスの全てのインスタンス/レプリカが配置され、その後他の全ての未配置のサービスのノード重みが更新される。
サービス配置の仕組みの上記実施形態の一実装を、適切なネットワークアーキテクチャに従って提供される、例えば上述したコントローラ165又は他の何らかの管理ノードなどのOF準拠の中央コントローラにより実行可能なコンピュータ読取可能な命令のセットの手法で、体現し及び/又は有効化し得る。そうした実施形態に関する例示的なプロセスフローが、以下の表1において提供される。
Figure 0006190966
当業者は、これを参照すれば、上述したサービス配置のプロセスフローが、4つの多変量/多次元の成分、即ちG、S、R及びNを1つの実施形態に係る入力として利用することを認識するであろう。複数の手法でこれを実装することができ、限定ではないものの、それは専用ハードウェア部品、及び任意の既知の又は現在のところ未知のプログラミング言語でのプログラミング命令群に基づくソフトウェア/ファームウェアエンジンなどを用いることを含む。上述したように、サービス依存関係グラフGは、Sと、物理グラフGの入口/出口ノードとの和集合として生成される。また、初期化の一部として、全てのサービスが(もしあれば)それらのインスタンスを含めて、未配置集合内に格納される。連続するサービスの各ペアについて有向エッジを生成した後、適切な重みパラメータが、いくつのフローが特定のエッジを通過するか及びいくつのフローが特定のサービスを通過するかに基づいて計算される。上述した演算は、まとめて、初期化及び重み計算ブロック又はループとして言及され得る。その後、各サービスについて、それ以前に計算された重みパラメータの関数として新たな重みが計算され得る。上に示した例示的なプロセスフローでは、新たな重みは、2つの重み(即ち、エッジ重み及びノード重み)のランキングの平均(mean)又は代表値(average)として計算される。これら演算は、新たな重み計算ブロック又はループとして言及され得る。第3のセットの演算は、新たな重みの最大値を有するサービスを選択することから始まる、各ステージでの反復的な局所最適化プロセスを実行するための、未配置集合に関する配置演算ブロック又はループとしてまとめて言及される。
1つの実施形態において、上述したサービス配置のプロセスフローの出力は、(サービスネットワークの物理ノードを表現する)グラフGと(配置すべきマルチインスタンスサービスを表現する)ミドルボックスSとの間のマッピング割り当てのセットとして理解され得る。マッピング関係に応じて、サービスネットワークのコントローラ/管理ロジックは、ネットワークノードに対してサービスを配置し、配備し、接続し及び/又はさもなければ割り当て得る。さらに、マッピング関係の出力は、サービスネットワークに関連付けられる他の運営/管理ノードへと提供されてもよい。理解されるべきこととして、複数のサービスインスタンス及び複数のタイプのサービスを同じネットワークノードに対して配置し又は割り当てることが可能である。例えば、DPIサービスの少なくとも1つのインスタンス及びNATサービスの少なくとも1つのインスタンスを、同じネットワークノードに共に配置し得る。加えて、サービスネットワーク構成、サービスチェーン化要件、各サービスが有し得るインスタンス数などに基づき、いくつかの実装において、入口/出口ノード及び/又は内部ノードへサービスが割り当てられてもよい。
図2及び図3を参照すると、そこには参照番号200、300でおおまかに示されている、サービス配置及び/又は割り当ての仕組みの一実施形態に従って生じ得るイベントのシーケンスに関するフローチャートが示されている。図2に示したブロック202において、サービスプロバイダネットワーク及びそのネットワークノードのトポロジー的な配置が、定義されさもなければ取得される。ブロック204において、それぞれ複数のインスタンスを含む1つ以上のサービスが(もしあれば)定義され、判定され、初期化され及び/又はさもなければ取得される。ブロック206に明記したように、多様な加入者データフローに対する1つ以上のサービス要件、サービスチェーン化ポリシー、事業者/アプリケーションポリシーなどが判定され、定義され及び/又はさもなければ取得される。前に説明したように、従って、サービスプロバイダネットワークの入口ノードと出口ノードとの間で通過されるべきサービスのシーケンスに、各加入者データフローが関連付けられ得る。さらには、加入者データフローがどのサービスも通過することを要しない(即ち、“サービス無し”ポリシー)場合、緩和された要件のセットが実装されてもよい。理解されるべきこととして、AAA(Authentication, Authorization and Accounting)ノードなどの管理ノードから、サービス、チェーン化ポリシーなどが取得されてもよい。ブロック208において、サービス及び(もしあれば)複数のインスタンスが、全ての加入者フローについて、全体としてのネットワークメトリックが最小化され、最大化され又はさもなければ最適化されるように、1つ以上のネットワークノードに対して、ネットワーク内で配置され及び/又は割り当てられる。
図3へ移ると、そこには、ブロック208に明記された機能に関する追加的なステップ、機能、動作及び/又はブロックのフローチャートが示されている。ブロック302において、サービス依存関係グラフが生成され又はさもなければ定義され、それはサービスプロバイダネットワークのサービス及びネットワーク入口/出口ノードに基づいてノード又は交点(vertices)を定義することを含む。追加的に、ノード重み又はエッジ重みが、フロー数、フロー別サービス需要度などに関連するパラメータに基づいてサービス依存関係グラフのノード及びエッジについてそれぞれ定義されてもよい。各サービスについて、相対的なランキング、トラフィック量、サービスレプリカ/インスタンス数などに基づく新たな重みが決定され又はさもなければ取得され得る(ブロック304)。理解されるべきこととして、ある例示的な実装において、ノード重み及びエッジ重みの双方を含むことは必須ではない。同様に、他のある実装において、追加的なパラメータとしての重みが、ここでの教示に係るサービス配置の仕組みを実効あるものとする目的で定義され又は提供されてもよい。ブロック306において、貪欲アルゴリズム(例えば、反復の連続する各ステージにて局所最適な選択を行う問題解決ヒューリスティックに従うアルゴリズム)が、ネットワークノードへのサービスの割り当てのために採用されてもよい。プロセスフローの完了後に、その都度必ずしもグローバル最適な配置の解が見つかるわけではないかもしれないが、上記ヒューリスティックな配置の仕組みは、リーズナブルな時間及び限りある計算リソースの範囲内で、“十分に良好な”解を概算し得る。そうした仕組みを実装するために、以下のコンポーネントが少なくとも何らかの組み合わせで提供され得る。まず、配置の解を生成し得る元となる候補セットが定義される。配置の解へ追加すべき最良の候補を選択する選択機能(selection function)が提供され、又はさもなければ定義される。ある候補が配置の解へ寄与することができるかを判定するために使用され得る実現性機能(feasibility function)が定義されてもよい。完全な配置の解が達成されたかを示すための解決機能(solution function)が提供されてもよい。理解されるべきこととして、本開示の貪欲アルゴリズムの配置メカニズムは、例えば、“純粋貪欲度(pure greediness)”、“直交貪欲度(orthogonal greediness)”又は“緩和貪欲度(relaxed greediness)”といった“貪欲度”の様々な特性と共に、貪欲度の道筋の指針とされる様々なメトリックを用いて実装されてよい。さらに、例えば比較的少数のネットワークノード及び/又は加入者フローが関与するような、あるネットワーク実装において、前に指摘した通り、より形式的な最適化技法がサービス配置のために使用されてもよい。配置の解を取得し及び/又はさもなければ決定した後に、ミドルボックスサービス及びそれぞれのインスタンスがネットワークノードへと割り当てられ、そうした割り当てデータがネットワークに関連付けられる1つ以上の管理ノードへ提供され得る(ブロック308)。
図4は、本特許の開示の一実施形態に係るサービス配置及び/又は割り当ての仕組みを実効あるものとするように構成され得る、例示的なコンピュータシステムとして実装されるネットワークコントローラノード400のブロック図を描いている。当業者は、ネットワークコントローラノード400が上で説明したコントローラ115又は165の例であると認識するであろう。1つ以上のプロセッサ404は、適切なバスアーキテクチャを用いて相互接続され得る(ハードウェア、ソフトウェア、ファームウェア及び/又はそれらの何らかの組み合わせで実装される)複数のサブシステムを制御するように動作可能である。Tx/Rxインタフェースモジュール402は、コントローラノード400に関する多様なタイプのネットワーク接続性を有効化するように動作可能であり、限定ではないものの、サービスプロバイダネットワークの内部的な接続性のみならず、外部的な接続性も含む。1つ以上のプロトコルエンジン406は、サービスプロバイダネットワークがいかなるアーキテクチャで構成され得るかに基づいて適切な通信プロトコル群を有効化するように動作可能である。揮発性ストレージ418は、一時的なデータ又は情報のストレージを提供するための多様なタイプのランダムアクセスメモリ(RAM)を含み得る。不揮発性ストレージ409は、例えば読み取り専用メモリ(ROM)回路、EEPROM(erasable programmable read-only memory)回路及びフラッシュメモリに加えて、外部的なメモリカードなどといった永続的なストレージの例であり、適切な加入者情報及び関連するサービスチェーン化ポリシーデータ408が記憶され、ダウンロードされ、アップロードされ、更新され及び/又は再構成されてよく、それらは事業者、サードバーティベンダ及び/又は加入者により(例えばエアを介する)無線手段で又はインターネット上で行われ得る。加えて、永続的メモリ409は、サービスプロバイダネットワーク内のマルチインスタンスサービスの配置及び/又は割り当てを有効化するために1つ以上のプロセッサ404により実行される1つ以上のモジュール410として整備されるプログラム命令群を含むように構成され得る。フローコントローラ414は、SDNベースのサービスプロバイダネットワーク内のOF準拠の転送エレメント内のOF準拠のフローテーブルの制御を有効化させることに関して提供され得る。1つ以上のアプリケーション416は、サービスプロバイダに固有のネットワークレベルの機能性を有効化させるために、ネットワークコントローラノード400の一部としても提供され得る。他のハードウェア412は、1つ以上のユーザ入力/出力デバイス(例えば、ディスプレイ画面、ポインティングデバイスなど)、コマンドインタフェース、バスコントローラ、メモリコントローラ、及び電力サプライ回路などであり得る。
ここまでの詳細な説明に基づき、理解されるべきこととして、本開示の実施形態は、サービスプロバイダネットワーク内にマルチインスタンスサービスを配置し又はさもなければ割り当てるための、新規かつ非自明な方法論を提供している。仮想化された環境及び/又はクラウドベースのプラットフォームにおけるサービスの配備がより普及するようになるため、ネットワーク内のより最適か又はさもなければより適切な位置へサービスインスタンスを動かすその柔軟性は、特に重要となると想定される。既定の割り当てを動的に変更することができるため、サービスネットワーク事業者は、スケーラビリティに影響を与えることなく、より多くのサービスをオンラインへと持ち込むことができる。ここに明記された1つ以上の実施形態は、全体的な遅延、距離、ホップカウント、及び/又は帯域幅消費若しくは割り当てといった、多くのネットワーク性能メトリックを(例えば、非効率的な帯域幅使用を低減することにより)最小化し、最大化し又はさもなければ最適化する目的で、多様なトラフィックステアリングメカニズムとの関係において任意のタイプのサービスネットワークアーキテクチャにおいて実践されてよい。選択的に特定のサービスを通過し又は特定のサービスから離れる(即ち迂回する)ようにトラフィックを操舵することにより、資本の支出の節約を有利に実現することができる。さらに、本開示の教示に従って反復的な局所最適化方式を採用することにより、多数のノード若しくは加入者データフロー又はそれら双方を伴う高度に複雑なネットワーク環境においてさえ、収束性の解が確実に得られるであろう。
本開示の多様な実施形態の上の説明において、理解されることとして、ここで使用される専門用語は、単に特定の実施形態を説明する目的のためのものであり、本発明を限定することを意図しない。特段の定義が無ければ、ここで使用されている(技術的及び学術的な用語を含む)全ての用語は、本発明が属する技術において当業者により通常理解されるものと同じ意味を有する。さらに理解されることとして、通常使用される辞書において定義されているような用語は、本明細書及び関連技術の文脈におけるその意味と整合する意味を有するものとして解釈されるべきであり、ここでそのように明示的に定義されている理想的な又は過度に形式的な意味合いで解釈されなくてよい。
ここでは、コンピュータ実装される方法、装置(システム及び/若しくはデバイス)並びに/又はコンピュータプログラムプロダクトのブロック図及び/又はフローチャートの例を参照しながら、少なくともいくつかの例示的な実施形態が開示されている。理解されることとして、ブロック図のブロック及び/又はフローチャートの例、並びにブロック図内の複数のブロックの組み合わせ及び/又はフローチャートの例の組み合わせを、1つ以上のコンピュータ回路により実行されるコンピュータプログラム命令により実装することができる。そうしたコンピュータプログラム命令は、汎用コンピュータ回路、特殊目的コンピュータ回路、及び/又は他のプログラマブルデータ処理回路のプロセッサ回路へ提供されてよい。それらは、コンピュータ及び/又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令群が、トランジスタ、メモリ位置に記憶される値、及びそうした回路内の他のハードウェア部品を変形させ及び制御するようにマシンを産み出して、ブロック図及び/又はフローチャートの1つ又は複数のブロックにおいて特定された機能群/動作群を実装し、それによりブロック図及び/又はフローチャートのブロックにおいて特定された機能群/動作群を実装するための手段(機能性)及び/又は構造を生成するようになされる。追加的に、コンピュータプログラム命令は、ブロック図及び/又はフローチャートの1つ又は複数のブロックにおいて特定された機能群/動作群を実装する命令を含む製品を、コンピュータ読取可能な媒体内に記憶される当該命令が生み出すように、コンピュータ又は他のプログラマブルデータ処理装置に指示することのできる、有形のコンピュータ読取可能な媒体内に記憶されてもよい。
前に示唆したように、有形の非一時的なコンピュータ読取可能な媒体は、電子的、磁気的、光学的、電磁気的又は半導体のデータストレージシステム、装置又はデバイスを含み得る。コンピュータ読取可能な媒体のより具体的な例は、以下を含むはずである:ポータブルコンピュータディスケット、ランダムアクセスメモリ(RAM)回路、読取専用メモリ(ROM)回路、EEPROM(erasable programmable read-only memory)若しくはフラッシュメモリ回路、ポータブルCD−ROM(compact disc read-only memory)及びポータブルDVD/Blu−ray(digital video disc read-only memory)。また、コンピュータプログラム命令は、コンピュータ及び/又は他のプログラマブルデータ処理装置へとロードされ又はさもなければダウンロードされて、一連の動作ステップを当該コンピュータ及び/又は他のプログラマブル装置上で実行させ、当該コンピュータ又は他のプログラマブル装置がブロック図及び/又はフローチャートの1つ又は複数のブロックにおいて特定された機能群/動作群を実装するためのステップを提供するようにコンピュータ実装されたプロセスを生み出してもよい。そのため、本発明の実施形態は、ハードウェア、及び/又は、“回路”、“モジュール”又はそれらの派生語として総称され得るデジタル信号プロセッサなどのプロセッサ上で稼動する(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)ソフトウェアにおいて具現化されてよい。
さらに、少なくともいくつかの追加的な又は代替的な実装において、ブロック内で説明されている機能/動作は、フローチャートに示した順序から外れて生じてもよい。例えば、連続的に示されている2つのブロックが実際には実質的に並列的に実行されてもよく、又はそれらブロックは、関与する機能性/動作に依存して時には逆の順序で実行されてもよい。そのうえ、フローチャート及び/若しくはブロック図の所与のブロックの機能性が複数のブロックへと分割されてもよく、並びに/又は、フローチャート及び/若しくはブロック図の2つ以上のブロックの機能性が少なくとも部分的に統合されてもよい。最後に、図示されたブロックの間に他のブロックが追加/挿入されてもよく、互いに異なるフローチャートからのブロックが、任意のコンビネーション若しくはサブコンビネーションで追加的なフローチャートへと組み合わされ、再配置され及び/又は再構成されてもよい。そのうえ、図のいくつかが通信の主要な方向を示すために通信パス上の矢印を含むとしても、描かれた矢印とは反対方向に通信が生じてもよいことが理解されるべきである。
多様な実施形態が詳細に示され説明されたが、特許請求の範囲はいかなる特定の実施形態又は例にも限定されない。上の詳細な説明は、いかなる個別のコンポーネント、モジュール、エレメント、ステップ、動作又は機能も特許請求の範囲のスコープに含まれなければならないような本質的なものであることを示唆するものとして読み取られるべきではない。単数形のエレメントへの言及は、そのような明示的な記述が無い限り、“1つであって唯1つ”を意味することを意図されておらず、むしろ“1つ以上”又は“少なくとも1つ”を意味する。上述した実施形態のエレメントの、当業者に知られた全ての構造的な均等物及び機能的な均等物は、参照によりここに明白に取り入れられ、本特許請求の範囲により包含されるものと意図される。そのため、当業者は、ここで説明した例示的な実施形態を、以下に添付する特許請求の範囲の精神及びスコープの範囲内の多様な修正及び変形と共に実践し得ることを認識するであろう。

Claims (18)

  1. サービスプロバイダネットワーク(100)においてサービスを配置するための方法(200,300)であって、
    前記サービスプロバイダネットワーク(100)のトポロジーを定義すること(202)と、
    前記サービスプロバイダネットワーク(100)内に配置されるべきサービス(112)のセットを定義すること(204)と、少なくとも1つのサービスは複数のインスタンスで提供されることと、
    複数の加入者データフローについての要件のセットを判定すること(206)と、
    各要件は、各加入者データフローについての通過すべきサービスのシーケンスであることと、
    前記サービスプロバイダネットワーク(100)に関連付けられるネットワークメトリックが全ての加入者データフローについて最適化されるように、前記サービスプロバイダネットワーク(100)の1つ以上のネットワークノードに対して、複数のインスタンスを有する前記少なくとも1つのサービスを含む前記サービス(112)を配置すること(208)と、
    を含み、
    前記サービスを配置すること(208)は、
    各サービスについてサービス依存関係を定義し(302)及び前記サービス依存関係をランク付けすることと、
    前記サービス依存関係の前記ランク付け及び配置されるべき前記サービスのインスタンス数のうちの少なくとも一方に基づいて、各サービスについて重みを決定すること(304)と、
    前記ネットワークメトリックの最適化に基づいて、前記サービスプロバイダネットワーク(100)の1つ以上のネットワークノードに、インスタンスを含む各サービスを反復的に配置すること(306)と、前記反復的な配置は、前記サービス(112)の全ての重みのうちの最大の重みの値を有する前記サービスから開始されることと、
    をさらに含む、
    方法(200,300)。
  2. 最適化されるべきネットワークメトリックは、全ての加入者データフローについての、帯域幅メトリック、合計遅延、合計距離、及び合計ホップ数、のうちの少なくとも1つを含む、請求項1に記載の方法(200,300)。
  3. 前記ネットワークメトリックは、前記サービスの反復的な各配置において決定される局所最適化の仕組みに基づいて最適化される、請求項に記載の方法(200,300)。
  4. 前記サービスプロバイダネットワークに関連付けられる管理ノードへ、サービス配置情報を提供すること(308)、
    をさらに含む、請求項1に記載の方法(200,300)。
  5. 前記サービスプロバイダネットワーク(100)は、論理的に一元化されたコントローラノード(116)により制御されるソフトウェア定義ネットワークとして構成され、サービス配置情報は、前記論理的に一元化されたコントローラノード(116)へ提供される、請求項1に記載の方法(200,300)。
  6. 前記論理的に一元化されたコントローラノード(116)は、OpenFlowプロトコルを用いて複数のデータスイッチングノード(110)のデータ転送動作を制御するように構成されるOpenFlowコントローラを含む、請求項に記載の方法(200,300)。
  7. サービスプロバイダネットワーク(100,200)と共に動作するように構成されるネットワークコントローラノード(400)であって、
    1つ以上のプロセッサ(404)と、
    前記1つ以上のプロセッサ(404)へ連結される永続的なメモリ(409)と、
    を備え、
    前記永続的なメモリ(409)は、1つ以上のプロセッサ(404)により実行可能な命令を含み、
    前記命令は、
    前記サービスプロバイダネットワーク(100)のトポロジーを定義(202)し、
    前記サービスプロバイダネットワーク(100)内に配置されるべきサービス(112)のセットであって、少なくとも1つのサービスが複数のインスタンスで提供される、当該セットを定義(204)し、
    複数の加入者データフローについての要件のセットであって、各要件が各加入者データフローについての通過すべきサービスのシーケンスである、当該セットを判定(206)し、
    前記サービスプロバイダネットワーク(100)に関連付けられるネットワークメトリックが全ての加入者データフローについて最適化されるように、前記サービスプロバイダネットワーク(100)の1つ以上のネットワークノードに対して、複数のインスタンスを有する前記少なくとも1つのサービスを含む前記サービス(112)を、サービスプロバイダネットワーク(100)において割り当てる(208)、
    ように構成され
    前記サービスを割り当てる(208)前記命令は、
    各サービスについてサービス依存関係を定義し(302)及び前記サービス依存関係をランク付けするための命令と、
    前記サービス依存関係の前記ランク付け及び配置されるべき前記サービスのインスタンス数のうちの少なくとも一方に基づいて、各サービスについて重みを決定する(304)ための命令と、
    前記ネットワークメトリックの最適化に基づいて、前記サービスプロバイダネットワーク(100)の1つ以上のネットワークノードに対して、インスタンスを含む各サービスを反復的に割り当てる(306)ための命令と、
    をさらに含み、
    前記反復的な割り当ては、前記サービス(112)の全ての重みのうちの最大の重みの値を有する前記サービスから開始される、
    ネットワークコントローラノード(400)。
  8. 最適化されるべきネットワークメトリックは、全ての加入者データフローについての、帯域幅メトリック、合計遅延、合計距離、及び合計ホップ数、のうちの少なくとも1つを含む、請求項に記載のネットワークコントローラノード(400)。
  9. 前記ネットワークメトリックは、前記サービスの反復的な各割り当てにおいて決定される局所最適化の仕組みに基づいて最適化される、請求項に記載のネットワークコントローラノード(400)。
  10. 前記永続的なメモリ(409)は、前記サービスプロバイダネットワークに関連付けられる管理ノードへ、サービス割り当て情報を提供(308)するための命令、をさらに含む、請求項に記載のネットワークコントローラノード(400)。
  11. 前記サービスプロバイダネットワーク(100)は、ソフトウェア定義ネットワークとして構成され、前記ネットワークコントローラノード(400)は、複数のデータスイッチングノード(110)のデータ転送動作を制御するためのOpenFlowプロトコルと共に動作可能である、請求項に記載のネットワークコントローラノード(400)。
  12. サービスプロバイダネットワーク(100,200)内のネットワークコントローラノード(400)として動作するように構成されるコンピュータシステムにより実行された場合に、
    前記サービスプロバイダネットワーク(100)のトポロジーを定義する動作(202)と、
    前記サービスプロバイダネットワーク(100)内に配置されるべきサービス(112)のセットであって、少なくとも1つのサービスが複数のインスタンスで提供される、当該セットを定義する動作(204)と、
    複数の加入者データフローについての要件のセットであって、各要件が各加入者データフローについての通過すべきサービスのシーケンスである、当該セットを判定する動作(206)と、
    前記サービスプロバイダネットワーク(100)に関連付けられるネットワークメトリックが全ての加入者データフローについて最適化されるように、前記サービスプロバイダネットワーク(100)の1つ以上のネットワークノードに対して、複数のインスタンスを有する前記少なくとも1つのサービスを含む前記サービスを割り当てる動作(208)と、
    を実行する格納済みの命令、を含み、
    前記サービスを割り当てる(208)ための前記命令は、
    各サービスについてサービス依存関係を定義し(302)及び前記サービス依存関係をランク付けするための命令と、
    前記サービス依存関係の前記ランク付け及び配置されるべき前記サービスのインスタンス数のうちの少なくとも一方に基づいて、各サービスについて重みを決定する(304)ための命令と、
    前記ネットワークメトリックの最適化に基づいて、前記サービスプロバイダネットワーク(100)の1つ以上のネットワークノードに対して、インスタンスを含む各サービスを反復的に割り当てる(306)ための命令と、
    をさらに含み、
    前記反復的な割り当ては、前記サービス(112)の全ての重みのうちの最大の重みの値を有する前記サービスから開始される、
    非一時的なコンピュータ読取可能な媒体。
  13. 最適化されるべきネットワークメトリックは、全ての加入者データフローについての、帯域幅メトリック、合計遅延、合計距離、及び合計ホップ数、のうちの少なくとも1つを含む、請求項12に記載の非一時的なコンピュータ読取可能な媒体。
  14. 前記ネットワークメトリックは、前記サービス(112)の反復的な各割り当てにおいて決定される局所最適化の仕組みに基づいて最適化される、請求項12に記載の非一時的なコンピュータ読取可能な媒体。
  15. 前記サービスプロバイダネットワーク(100)に関連付けられる管理ノードへ、サービス割り当て情報を提供する(308)ための命令、をさらに含む、請求項12に記載の非一時的なコンピュータ読取可能な媒体。
  16. 前記サービスプロバイダネットワーク(100)は、ネットワークコントローラノード(400)により制御されるソフトウェア定義ネットワークとして構成され、サービス割り当て情報は、前記ネットワークコントローラノード(400)へ提供される、請求項12に記載の非一時的なコンピュータ読取可能な媒体。
  17. 前記ネットワークコントローラノード(400)は、論理的に一元化されたコントローラ(116)として構成される、請求項16に記載の非一時的なコンピュータ読取可能な媒体。
  18. 前記論理的に一元化されたコントローラ(116)は、OpenFlowプロトコルを用いて複数のデータスイッチングノード(110)のデータ転送動作を制御するように構成されるOpenFlowコントローラを含む、請求項17に記載の非一時的なコンピュータ読取可能な媒体。
JP2016542420A 2013-09-13 2014-09-10 複数インスタンスを伴うインラインサービス変更のためのサービス配置 Active JP6190966B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/026,344 US8817625B1 (en) 2013-09-13 2013-09-13 Service placement for inline services chaining with multiple instances
US14/026,344 2013-09-13
PCT/IB2014/064405 WO2015036943A1 (en) 2013-09-13 2014-09-10 Service placement for inline services chaining with multiple instances

Publications (2)

Publication Number Publication Date
JP2016533689A JP2016533689A (ja) 2016-10-27
JP6190966B2 true JP6190966B2 (ja) 2017-08-30

Family

ID=51358603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016542420A Active JP6190966B2 (ja) 2013-09-13 2014-09-10 複数インスタンスを伴うインラインサービス変更のためのサービス配置

Country Status (7)

Country Link
US (1) US8817625B1 (ja)
EP (1) EP3044907B1 (ja)
JP (1) JP6190966B2 (ja)
CN (1) CN106537839B (ja)
BR (1) BR112016005438B1 (ja)
TR (1) TR201904845T4 (ja)
WO (1) WO2015036943A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584371B2 (en) 2012-07-24 2017-02-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for assigning multi-instance services in a provider network
US9432268B2 (en) 2013-01-28 2016-08-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for placing services in a network
US9608901B2 (en) * 2012-07-24 2017-03-28 Telefonaktiebolaget Lm Ericsson (Publ) System and method for enabling services chaining in a provider network
CN104639451B (zh) * 2013-11-14 2019-03-22 中兴通讯股份有限公司 数据流分流方法及控制器
US9674084B2 (en) 2013-11-21 2017-06-06 Nephos (Hefei) Co. Ltd. Packet processing apparatus using packet processing units located at parallel packet flow paths and with different programmability
US20150139235A1 (en) * 2013-11-21 2015-05-21 Mediatek Inc. Packet processing apparatus using action command parameterization
EP3151513A4 (en) * 2014-07-04 2017-05-24 Huawei Technologies Co., Ltd. Service elastic method and device in cloud computing
JP6176734B2 (ja) * 2014-08-12 2017-08-09 日本電信電話株式会社 仮想マシンの配置決定装置、その方法およびプログラム
US9479409B2 (en) 2014-08-18 2016-10-25 Telefonaktiebolaget L M Ericsson (Publ) Passive reachability measurement for inline service chaining
US9705775B2 (en) 2014-11-20 2017-07-11 Telefonaktiebolaget Lm Ericsson (Publ) Passive performance measurement for inline service chaining
US9838286B2 (en) 2014-11-20 2017-12-05 Telefonaktiebolaget L M Ericsson (Publ) Passive performance measurement for inline service chaining
BR112017015480A2 (pt) 2015-01-20 2018-01-30 Huawei Tech Co Ltd método e aparelho para gerenciamento e orquestração de nfv
KR20170105582A (ko) * 2015-01-20 2017-09-19 후아웨이 테크놀러지 컴퍼니 리미티드 Nfv 및 sdn과 연동하기 위한 sdt를 위한 시스템들 및 방법들
US10924298B2 (en) 2015-02-11 2021-02-16 Hewlett Packard Enterprise Development Lp Network service chain construction
US9628380B2 (en) 2015-03-06 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Method and system for routing a network function chain
CN104796285B (zh) * 2015-03-25 2017-11-07 清华大学深圳研究生院 软件定义网络中的中间盒调度方法及系统
US10200254B2 (en) * 2015-04-17 2019-02-05 The Boeing Company Methods and systems for improved computer network analysis
US10237355B2 (en) * 2015-05-12 2019-03-19 Equinix, Inc. Software-controlled cloud exchange
US9521610B2 (en) 2015-05-13 2016-12-13 Motorola Solutions, Inc. Method and apparatus for selecting a service instance
EP3096227A1 (en) * 2015-05-19 2016-11-23 Institut Mines-Telecom / Telecom Sudparis Resource allocation method in distributed clouds
US9929945B2 (en) 2015-07-14 2018-03-27 Microsoft Technology Licensing, Llc Highly available service chains for network services
US9887936B2 (en) 2015-08-03 2018-02-06 Cisco Technology, Inc. Application identification and overlay provisioning as a service
JP6363976B2 (ja) * 2015-08-04 2018-07-25 日本電信電話株式会社 サービスチェイン管理装置およびサービスチェイン管理方法
TWI596393B (zh) * 2015-08-05 2017-08-21 Chunghwa Telecom Co Ltd Optical switching technology designed for high-speed content delivery network
US9998563B2 (en) * 2015-10-12 2018-06-12 Fujitsu Limited Vertex-centric service function chaining in multi-domain networks
US10986039B2 (en) * 2015-11-11 2021-04-20 Gigamon Inc. Traffic broker for routing data packets through sequences of in-line tools
US11044203B2 (en) * 2016-01-19 2021-06-22 Cisco Technology, Inc. System and method for hosting mobile packet core and value-added services using a software defined network and service chains
TWI599203B (zh) 2016-01-20 2017-09-11 國立交通大學 網路通訊系統、軟體定義網路控制器及其路由方法
US10812376B2 (en) 2016-01-22 2020-10-20 Red Hat, Inc. Chaining network functions to build complex datapaths
JP6541598B2 (ja) * 2016-03-24 2019-07-10 Kddi株式会社 ネットワークの機能の配置位置の判定装置及びプログラム
US10104187B2 (en) 2016-06-15 2018-10-16 Futurewei Technologies, Inc. System, computer program, and method for dividing services into subsets based on interdependencies
US10361915B2 (en) * 2016-09-30 2019-07-23 International Business Machines Corporation System, method and computer program product for network function optimization based on locality and function type
CN109246003A (zh) * 2017-07-11 2019-01-18 阿里巴巴集团控股有限公司 一种进行网络链路切换的方法和系统
US10791168B1 (en) 2018-05-21 2020-09-29 Rafay Systems, Inc. Traffic aware network workload management system
EP3830693A1 (en) * 2018-07-30 2021-06-09 Telefonaktiebolaget LM Ericsson (publ) Joint placement and chaining of virtual network functions for virtualized systems based on a scalable genetic algorithm
CN110650358B (zh) * 2019-09-30 2022-01-28 北京奇艺世纪科技有限公司 一种节点分配的方法、装置、节点分配服务器及介质
US11936757B1 (en) 2022-04-29 2024-03-19 Rafay Systems, Inc. Pull-based on-demand application deployment to edge node

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8184549B2 (en) * 2006-06-30 2012-05-22 Embarq Holdings Company, LLP System and method for selecting network egress
US8274905B2 (en) * 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US7843914B2 (en) * 2007-06-29 2010-11-30 Alcatel-Lucent Network system having an extensible forwarding plane
US8000329B2 (en) * 2007-06-29 2011-08-16 Alcatel Lucent Open platform architecture for integrating multiple heterogeneous network functions
US8339959B1 (en) * 2008-05-20 2012-12-25 Juniper Networks, Inc. Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane
WO2010149898A1 (fr) * 2009-06-22 2010-12-29 France Telecom Technique de determination d'une chaine de fonctions elementaires associee a un service
US8923294B2 (en) * 2011-06-28 2014-12-30 Polytechnic Institute Of New York University Dynamically provisioning middleboxes
CN103095565B (zh) * 2012-10-18 2015-12-16 中兴通讯股份有限公司 一种软件定义网络操作系统及其实现方法
CN103209121B (zh) * 2013-03-15 2019-02-01 中兴通讯股份有限公司 基于开放流协议的控制面设备的发现处理方法及装置
CN103236945A (zh) * 2013-04-08 2013-08-07 北京天地互连信息技术有限公司 基于OpenFlow的FlowVisor网络系统
CN103281318B (zh) * 2013-05-09 2016-06-08 浙江师范大学 一种针对软件定义网络的攻击测试装置

Also Published As

Publication number Publication date
US8817625B1 (en) 2014-08-26
CN106537839A (zh) 2017-03-22
CN106537839B (zh) 2020-01-10
JP2016533689A (ja) 2016-10-27
TR201904845T4 (tr) 2019-04-22
BR112016005438B1 (pt) 2023-04-04
EP3044907A1 (en) 2016-07-20
EP3044907B1 (en) 2019-01-16
BR112016005438A2 (ja) 2017-08-01
WO2015036943A1 (en) 2015-03-19

Similar Documents

Publication Publication Date Title
JP6190966B2 (ja) 複数インスタンスを伴うインラインサービス変更のためのサービス配置
US9584371B2 (en) System and method for assigning multi-instance services in a provider network
Zhang et al. Steering: A software-defined networking for inline service chaining
US9900221B2 (en) Controlling a topology of a network
US9319324B2 (en) Method and system of service placement for service chaining
US9137161B2 (en) Method and system of bandwidth-aware service placement for service chaining
US8644149B2 (en) Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks
Qi et al. Assessing container network interface plugins: Functionality, performance, and scalability
US9432268B2 (en) Method and apparatus for placing services in a network
EP3273650B1 (en) System and method of providing segment routing as a service
US11663052B2 (en) Adaptive application assignment to distributed cloud resources
KR20130139259A (ko) 타이-브레이킹 메커니즘에의 피드백으로서의 링크 사용률의 이용에 기초한 802.1aq에 대한 자동화된 트래픽 엔지니어링
Xiao et al. Traffic-aware virtual machine migration in topology-adaptive DCN
Zu et al. Resource aware chaining and adaptive capacity scaling for service function chains in distributed cloud network
CN106716925B (zh) 用于在提供商网络中指配多实例服务的系统和方法
Pinyoanuntapong Software defined wireless mesh networks: from theory to practice
Iesar et al. Revolutionizing Data Center Networks: Dynamic Load Balancing via Floodlight in SDN Environment
WO2018182467A1 (en) Techniques for congestion control in information-centric networks
Nainwal et al. Application Aware Routing in Sdn
Su Distributed Inter-Domain Routing and Load Balancing in Software Defined Networking (SDN)
Tripathi et al. Antimicrobial Activity of Metal Nanoparticles on Seelcted Microbial Strains

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170807

R150 Certificate of patent or registration of utility model

Ref document number: 6190966

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