JP2022521703A - Virtual service network - Google Patents

Virtual service network Download PDF

Info

Publication number
JP2022521703A
JP2022521703A JP2021547282A JP2021547282A JP2022521703A JP 2022521703 A JP2022521703 A JP 2022521703A JP 2021547282 A JP2021547282 A JP 2021547282A JP 2021547282 A JP2021547282 A JP 2021547282A JP 2022521703 A JP2022521703 A JP 2022521703A
Authority
JP
Japan
Prior art keywords
network
data
slice
service
selector
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
JP2021547282A
Other languages
Japanese (ja)
Other versions
JP7417817B2 (en
Inventor
マーク アンドレ ボルドロー,
ラジャ コミュラ,
ジェレミー ティデマン,
コンスタンティン ポリチュロノポウロ,
エドワード チョー,
オジャス グプタ,
ゲオリゴ オイコノム,
ロベルト キッド,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VMware LLC
Original Assignee
VMware LLC
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
Priority claimed from US16/443,816 external-priority patent/US10939369B2/en
Priority claimed from US16/443,812 external-priority patent/US11246087B2/en
Priority claimed from US16/443,813 external-priority patent/US10834669B2/en
Priority claimed from US16/443,815 external-priority patent/US11024144B2/en
Priority claimed from US16/443,810 external-priority patent/US11483762B2/en
Priority claimed from US16/443,818 external-priority patent/US11146964B2/en
Application filed by VMware LLC filed Critical VMware LLC
Publication of JP2022521703A publication Critical patent/JP2022521703A/en
Application granted granted Critical
Publication of JP7417817B2 publication Critical patent/JP7417817B2/en
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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

いくつかの実施形態は、複数のデータセンタ上に複数の仮想サービスネットワークを確立するための方法を提供する。本方法は、複数の仮想サービスネットワークの各仮想サービスネットワークに対して、データセンタ全体に分散されたマシンのセットを構成して、仮想サービスネットワークのための順序付けられた一組のネットワークサービスを実現する。この方法はデータメッセージを受信し、データメッセージのコンテンツの分析に基づいて、データメッセージのための仮想サービスネットワークの1つを選択し、選択された仮想サービスネットワークのためのネットワークサービスの順序付けられたセットの最初のネットワークサービスを実装するマシンについてのデータセンタ内の位置を決定し、データメッセージを最初のネットワークサービスを実装するマシンに送信するように、データセンタ内に複数のサービスネットワークセレクタを構成する。Some embodiments provide a method for establishing multiple virtual service networks on multiple data centers. This method configures a set of machines distributed throughout a data center for each virtual service network of multiple virtual service networks to provide an ordered set of network services for the virtual service network. .. This method receives a data message, selects one of the virtual service networks for the data message based on the analysis of the content of the data message, and an ordered set of network services for the selected virtual service network. Configure multiple service network selectors in the data center to determine the location in the data center for the machine that implements the first network service and send data messages to the machine that implements the first network service.

Description

[背景技術]
通信サービスプロバイダネットワークは、多くの異なる種類の装置から多くの種類のトラフィックを受信し、処理し、特に前進している。例えば、これらのネットワークは、携帯電話、IoT(Internet of Things)デバイス、自動車、ホームコンピュータなどからのトラフィックを有する。理想的には、このトラフィックがアプリケーションの種類(例えば、ストリーミングビデオ、ウェブブラウジング、電話呼び出しなど)、装置の種類(例えば、自動運転車のデータトラフィックは非常に短い待ち時間を必要とする)、及び他の差別化要素に基づいて、ネットワークによって異なるように扱われるべきである。4G及び5G規格はあるレベルのトラフィック差別化を導入したが、他のタイプのネットワークに一般化することができる、より順応性のあるネットワークスライシングが望ましい。
[Background technology]
Communication service provider networks receive and process many types of traffic from many different types of equipment, especially advancing. For example, these networks have traffic from mobile phones, IoT (Internet of Things) devices, automobiles, home computers, and the like. Ideally, this traffic is the type of application (eg, streaming video, web browsing, phone calls, etc.), the type of device (eg, data traffic for self-driving cars requires very short latency), and It should be treated differently by network, based on other differentiating factors. Although the 4G and 5G standards have introduced some level of traffic differentiation, more adaptable network slicing that can be generalized to other types of networks is desirable.

いくつかの実施形態は、データセンタのセットにわたって仮想サービスネットワークを確立するための方法を提供する。仮想サービスネットワークが確立されるデータセンタのセットは例えば、1つ以上のパブリッククラウド、パブリッククラウド及びプライベートクラウドにまたがるソフトウェア定義ワイドエリアネットワーク(SD-WAN)、電気通信サービスプロバイダアクセスネットワーク(例えば、無線アクセスネットワーク、エッジクラウド、及びコアクラウドの組合せにまたがる)、又は他のタイプのデータセンタを含むことができる。いくつかの実施形態の仮想サービスネットワークは、ネットワークスライスに割り当てられたデータメッセージに、それぞれが異なるネットワークサービスを提供する多数のネットワークスライスを含む。 Some embodiments provide a method for establishing a virtual service network across a set of data centers. The set of data centers in which a virtual service network is established includes, for example, a software-defined wide area network (SD-WAN) that spans one or more public clouds, public clouds, and private clouds, and a telecommunications service provider access network (eg, wireless access). It can include a combination of networks, edge clouds, and core clouds), or other types of data centers. The virtual service network of some embodiments comprises a large number of network slices in which the data messages assigned to the network slices each provide a different network service.

いくつかの実施形態では、デバイス(例えば、電気通信コンテキストにおけるモバイルエンドポイントデバイス)がそのようなネットワーク上にデータメッセージを送信すると、ネットワークスライスセレクタは最初にデータメッセージを処理する。このネットワークスライスセレクタは、仮想サービスネットワークのネットワークスライスの1つにデータメッセージを割り当て、割り当てられたスライスについてのネットワークサービスの正しいセットによってデータメッセージが処理されるように、サービスチェイニング動作を処理する。異なる実施形態では、このネットワークスライスセレクタが仮想マシン(VM)、コンテナ化された機能、VM内で動作するソフトウェア転送要素(例えば、フローベースの転送要素)、コンテナ内又はホストコンピュータの仮想化ソフトウェア内で動作するモジュールのセット、ホストコンピュータの仮想化ソフトウェア内で転送要素の外部で実行するモジュールのセット(例えば、VMと転送要素のポート間)、ハードウェア転送要素(例えば、プログラム可能なスイッチ)、又はその他の実装によって実装されてもよい。 In some embodiments, when a device (eg, a mobile endpoint device in a telecommunications context) sends a data message over such a network, the network slice selector first processes the data message. This network slice selector assigns a data message to one of the network slices of the virtual service network and processes the service chaining operation so that the data message is processed by the correct set of network services for the assigned slice. In different embodiments, this network slice selector is a virtual machine (VM), a containerized function, a software transfer element running within a VM (eg, a flow-based transfer element), within a container or within the virtualization software of a host computer. A set of modules that run on the host computer, a set of modules that run outside the transfer element within the virtualization software of the host computer (eg, between the VM and the port of the transfer element), a hardware transfer element (eg, a programmable switch), Alternatively, it may be implemented by other implementations.

場合によっては、多くのネットワークスライスセレクタが仮想サービスネットワークを実装するように設定されている。電気通信サービスプロバイダの例では、いくつかの実施形態がアクセスネットワークの各セルラータワー、基地局、又は他の態様のためのネットワークスライスセレクタを構成する。いくつかの実施形態の電気通信サービスプロバイダアクセスネットワークは各セルラータワーのためのエッジクラウドを含み、そのような各エッジクラウドにおいて少なくとも1つのネットワークスライスセレクタを構成する。他の例(例えば、接続されたデータセンタのセット内に完全に含まれるSD-WANトラフィックの場合)では、分散されたネットワークスライスセレクタは、VMから送信されたデータメッセージについてのネットワークスライスの選択がデータメッセージのソースと同じホストコンピュータ(ソースVMの外部)又は指定されたデバイス(例えば、特定の近くのスイッチ又はルータ、専用VM)で生じるように構成される。 In some cases, many network slice selectors are configured to implement virtual service networks. In the example of a telecommunications service provider, some embodiments configure a network slice selector for each cellular tower, base station, or other aspect of the access network. Some embodiments of telecommunications service provider access networks include an edge cloud for each cellular tower, each of which constitutes at least one network slice selector. In another example (for example, for SD-WAN traffic that is completely contained within a set of connected data centers), the distributed network slice selector can select network slices for data messages sent from the VM. It is configured to occur on the same host computer (outside the source VM) as the source of the data message or on a specified device (eg, a specific nearby switch or router, a dedicated VM).

仮想サービスネットワークの各ネットワークスライスは、いくつかの実施形態ではファイアウォール、ロードバランサ、ネットワークアドレス変換、計量(例えば、課金目的のため)、仮想プライベートネットワーク(VPN)ゲートウェイ、無線アクセスネットワーク(RAN)機能(例えば、分散ユニット及び集中ユニット機能)、進化パケットコア(EPC)機能(例えば、加入者管理サーバ、サービスゲートウェイ、パケットデータネットワークゲートウェイ、モビリティ管理エンティティ)、又は他のタイプのネットワーク機能などの1つ以上のネットワークサービスを含む。これらのネットワーク機能は、異なる実施形態において、仮想ネットワーク機能(VNF)、物理ネットワーク機能(PNF)、及び/又はクラウドネットワーク機能(CNF)として実装されてもよい。 Each network slice of a virtual service network is, in some embodiments, a firewall, a load balancer, network address translation, weighing (eg, for billing purposes), a virtual private network (VPN) gateway, a wireless access network (RAN) function ( One or more, such as distributed unit and centralized unit functions), evolved packet core (EPC) functions (eg, subscriber management servers, service gateways, packet data network gateways, mobility management entities), or other types of network functions. Includes network services. These network functions may be implemented as virtual network functions (VNF), physical network functions (PNF), and / or cloud network functions (CNF) in different embodiments.

ネットワークスライスセレクタがデータメッセージをネットワークスライスに割り当てるとき、いくつかの実施形態では、割り当てられたスライスのネットワークサービスをデータメッセージが正しい順序でトラバースすることを保証するために、スライスセレクタがサービスチェイニングを実行する役割を果たす。いくつかの実施形態では、スライスセレクタがデータメッセージを第1のネットワークサービス(例えば、ネットワークサービスを実装するVM、コンテナ、又は他のデータ計算ノード)に送信し、そのデータメッセージのコンテキスト情報を維持する。最初のネットワークサービスがデータメッセージの処理を完了すると、最初のネットワークサービスはデータメッセージをスライスセレクタに返す。次いでスライスセレクタは、データメッセージを次のネットワークサービスなどに送信するために、維持されたコンテキスト情報を使用する。いくつかの実施形態では、完全なネットワークスライスが多数のデータセンタにわたって実装される場合、同様のサービスチェイニングモジュールが、それ自体のデータセンタ内のスライスのためのサービスチェイニングを処理するために各データセンタで動作する。これらのサービスチェイニングモジュールは、いくつかの実施形態におけるネットワークスライスセレクタと同じ様式で(例えば、VMとして、VM又は仮想化ソフトウェアにおける転送要素として)実装されてもよい。いくつかの実施形態のサービスチェイニングモジュールは、データメッセージがデータセンタに入るときにデータメッセージを受信し、そのデータメッセージについてのスライスを識別し(例えば、前のデータセンタのネットワークスライスセレクタ又はサービスチェイニングモジュールによってデータメッセージと共に提供されたコンテキスト情報に基づいて)、データメッセージをデータセンタ内の次のネットワークサービスに提供する。他の実施形態は、各データセンタ内の指定されたスライスセレクタ又はサービスチェイニングモジュールにデータメッセージを返すのではなく、(例えば、選択されたネットワークスライス内のサービスの順序を示すタグをパケットヘッダに追加することによって)分散サービスチェイニングを使用する。 When the network slice selector assigns a data message to a network slice, in some embodiments, the slice selector performs service chaining to ensure that the data message traverses the network services of the assigned slice in the correct order. Play a role in doing. In some embodiments, the slice selector sends a data message to a first network service (eg, a VM, container, or other data compute node that implements the network service) and maintains contextual information for that data message. .. When the first network service finishes processing the data message, the first network service returns the data message to the slice selector. The slice selector then uses the maintained context information to send the data message to the next network service, etc. In some embodiments, if a complete network slice is implemented across many data centers, a similar service chaining module will handle each service chaining for slices within its own data center. Works in the data center. These service chaining modules may be implemented in the same manner as the network slice selectors in some embodiments (eg, as VMs, as VMs or as transfer elements in virtualization software). The service chaining module of some embodiments receives the data message as it enters the data center and identifies the slice for that data message (eg, the network slice selector or service check of the previous data center). Serve the data message to the next network service in the data center (based on the contextual information provided with the data message by the inning module). Other embodiments do not return a data message to the specified slice selector or service chaining module in each data center (eg, a tag in the packet header indicating the order of services in the selected network slice). Use distributed service chaining (by adding).

いくつかの実施形態では、仮想サービスネットワークを実装するために、コントローラ階層が1つ以上のデータセンタ内の様々なエンティティを構成する。高位コントローラ(ここでは仮想サービスネットワーク(VSN)コントローラと呼ぶ)はインターフェース(例えば、REST APIのセット、グラフィカルインターフェース、コマンドラインインターフェース)を介して、ユーザ(例えば、電気通信プロバイダ、データセンタテナント)から仮想サービスネットワークの構成データを受信する。このVSNコントローラは、VSNが実装されているデータセンタ内のエンティティを構成する他のコントローラのセットを整合する。いくつかの実施形態では、各データセンタがそれ自体の下位レベルコントローラのスイートを有する。これらのコントローラは、計算コントローラ(例えば、VNFを実装するVMを構成するためのもの)、ネットワークコントローラ(例えば、スライスセレクタとネットワークサービスとの間でデータメッセージを送信するための転送要素を構成するためのもの)、ストレージコントローラ、及びSDNコントローラ(例えば、データセンタ間でデータメッセージを送信するスライスセレクタ及び/又はゲートウェイを構成するためのもの)を含んでもよい。 In some embodiments, the controller hierarchy constitutes various entities within one or more data centers to implement a virtual service network. High-level controllers (referred to here as virtual service network (VSN) controllers) are virtual from users (eg, telecommunications providers, data center tenants) via interfaces (eg, REST API sets, graphical interfaces, command line interfaces). Receives service network configuration data. This VSN controller aligns a set of other controllers that make up an entity in a data center where VSN is implemented. In some embodiments, each data center has its own suite of lower level controllers. These controllers are for configuring a compute controller (eg, for configuring a VM that implements VNF), a network controller (eg, for configuring a forwarding element for sending data messages between a slice selector and a network service). ), Storage controllers, and SDN controllers (eg, for configuring slice selectors and / or gateways that send data messages between data centers).

ネットワークスライスセレクタは、異なる実施形態では、異なる技法を使用してデータメッセージをスライスに割り当ててもよい。スライス選択はレイヤ2~レイヤ4(L2~L4)ヘッダの組合せに基づいてもよく、及び/又は(例えば、レイヤ5~レイヤ7(L5~L7)ヘッダ内のデータに基づいてトラフィックを分類するために)ディープパケットインスペクションを実行することによってもよい。例えば、スライス選択はソースネットワークレイヤ(例えば、IP)アドレスを使用することによって単にソースデバイスに基づいてもよく、上位レイヤ(L5-L7)ヘッダを見ることによってトラフィックの種類/又は宛先ネットワークドメインに基づいてもよい。いくつかの実施形態では、ネットワークスライスセレクタが(例えば、ユーザセッション、デバイスタイプ、又は他のデータに関する)接続に関する追加の情報を収集するために他の制御プレーン構成要素と統合し、この情報をスライス選択処理の一部として使用する(例えば、この収集された情報のみを使用する、又はこの情報をL2-L4及び/若しくはL5-L7パケットヘッダデータと組み合わせる)。いくつかの実施形態では、ネットワークスライスセレクタが接続の各データメッセージに対してディープパケットインスペクションを実行する必要がないように、接続をネットワークスライスにマッピングするための状態を維持する。また、一部の接続では、特定のデータメッセージにのみ、スライス選択の実行に必要なL5-L7ヘッダ情報が含まれる。 In different embodiments, the network slice selector may use different techniques to assign data messages to slices. Slice selection may be based on a combination of Layer 2-Layer 4 (L2-L4) headers and / or (eg, to classify traffic based on the data in Layer 5-Layer 7 (L5-L7) headers. It may also be done by performing a deep packet inspection. For example, slice selection may simply be based on the source device by using the source network layer (eg IP) address, or based on the traffic type / or destination network domain by looking at the higher layer (L5-L7) header. You may. In some embodiments, the network slice selector integrates with other control plane components to collect additional information about the connection (eg, regarding user sessions, device types, or other data) and slices this information. Used as part of the selection process (eg, use only this collected information or combine this information with L2-L4 and / or L5-L7 packet header data). In some embodiments, the network slice selector maintains a state for mapping the connection to the network slice so that it does not need to perform deep packet inspection for each data message of the connection. Also, in some connections, only certain data messages contain the L5-L7 header information needed to perform slice selection.

ディープパケットインスペクションを使用してネットワークスライス選択を実行する場合、特定のケースでは、接続の初期データメッセージに、スライスセレクタがスライスを正しく識別するために必要なL5-L7ヘッダ情報が含まれないことがある。例えば、エンドポイントデバイス(例えば、スマートフォン若しくはタブレットのようなモバイルデバイス、ラップトップ若しくはデスクトップコンピュータ、IoTデバイス、自動運転車、セキュリティシステムに属するスマートカメラ、又は他のデバイス)とネットワークドメイン(例えば、www.netflix.com、www.google.comのようなウェブドメイン)との間の接続はしばしば、TCPハンドシェイクのような接続開始メッセージのセットで始まる。ハンドシェイクが完了すると、デバイスはネットワークドメインを含むhttp getメッセージなどを送信する。デバイスとネットワークドメインとの間で送信される後続のデータメッセージは、このような情報を含んでいなくてもよい。 When performing network slice selection using deep packet inspection, in certain cases the initial data message for the connection may not contain the L5-L7 header information needed for the slice selector to correctly identify the slice. be. For example, endpoint devices (eg, mobile devices such as smartphones or tablets, laptops or desktop computers, IoT devices, self-driving cars, smart cameras belonging to security systems, or other devices) and network domains (eg, www. Connections with (web domains such as netflex.com, www.google.com) often begin with a set of connection initiation messages such as the TCP handshake. When the handshake is complete, the device sends an http get message containing the network domain and the like. Subsequent data messages sent between the device and the network domain may not contain such information.

いくつかの実施形態では、ネットワークスライスセレクタは、仮想サービスネットワークをわたって意図された宛先にこれらのメッセージを送信することなく、接続開始メッセージを終了するためのプロキシとして働く。つまり、このネットワークスライスセレクタは、宛先ドメインとの接続が適切にセットアップされたかのようにエンドポイントデバイスが動作するように、接続開始メッセージの適切なセットをエンドポイントデバイスと交換する。ネットワークスライスセレクタは、後続の使用のためにこれらの接続開始メッセージに関するデータを格納する。ネットワークスライスセレクタは、エンドポイントデバイスからデータメッセージ(http getメッセージなど)を受信すると、L5~L7ヘッダを調べて接続用のネットワークスライスの1つを選択するためにディープパケットインスペクションを実行する。次いでネットワークスライスセレクタは、接続開始メッセージを宛先ネットワークドメインと交換し、今回は宛先ドメインではなくデバイスとして機能する。これらの接続開始メッセージは、選択されたネットワークスライス上のすべてのネットワークサービスが接続開始メッセージを処理するように、選択されたネットワークスライスを介して送信される。この接続が宛先ドメインと確立されると、スライスセレクタは、選択されたネットワークスライスを介して、宛先ドメインにもデータメッセージを転送する。スライスセレクタはまた、データメッセージを処理する際に使用するために、選択されたネットワークスライスに接続をマッピングする接続情報(例えば、接続5タプル)を格納する。接続のために受信される後続のデータメッセージについて、ネットワークスライスセレクタは、ディープパケットインスペクションを実行する必要なく選択されたスライスにデータメッセージを割り当てるために、スライスへの接続のマッピングを使用する。これにより、接続のすべてのデータメッセージに対してディープパケットインスペクションを実行することが回避され、これは、この接続に属するすべてのデータメッセージのL5~L7ヘッダに必要な情報がない可能性があるため、不可能な場合がある。いくつかの実施形態では、仮想サービスネットワークの完了後にデータメッセージを処理する出力ゲートウェイは、接続からスライスへのマッピング情報も格納し、宛先ドメインからエンドポイントデバイスに送信されるデータメッセージを(逆の順序で実行されるネットワークサービスと共に)正しいネットワークスライスに割り当てるためにこのマッピング情報を使用する。 In some embodiments, the network slice selector acts as a proxy to terminate the connection start message without sending these messages to the intended destination across the virtual service network. That is, this network slice selector exchanges the appropriate set of connection initiation messages with the endpoint device so that the endpoint device behaves as if the connection to the destination domain was properly set up. The network slice selector stores data about these connection start messages for subsequent use. When the network slice selector receives a data message (such as a http get message) from an endpoint device, it performs a deep packet inspection to examine the L5 to L7 headers and select one of the network slices for connection. The network slice selector then exchanges the connection start message with the destination network domain, this time acting as a device rather than the destination domain. These connection start messages are sent through the selected network slice so that all network services on the selected network slice process the connection start message. When this connection is established with the destination domain, the slice selector also forwards the data message to the destination domain via the selected network slice. The slice selector also stores connection information (eg, 5 tuples of connections) that maps connections to selected network slices for use in processing data messages. For subsequent data messages received for a connection, the network slice selector uses the mapping of the connection to the slice to assign the data message to the selected slice without having to perform deep packet inspection. This avoids performing deep packet inspections on all data messages on the connection, as the L5 to L7 headers on all data messages belonging to this connection may not have the required information. , May not be possible. In some embodiments, the egress gateway that processes the data message after the virtual service network completes also stores the connection-to-slice mapping information and sends the data message from the destination domain to the endpoint device (reverse order). Use this mapping information to assign to the correct network slice (along with the network services that run in).

いくつかの実施形態では、スライスセレクタで接続開始メッセージを終了するのではなく、最初にこれらのメッセージをデフォルトのネットワークスライスに通過させ、次いでネットワークスライスが選択された後、接続のための正しいネットワークスライスを介してメッセージを再生する。この手順では、スライスセレクタがこれらのメッセージ(又はメッセージの再作成に必要なデータ)を格納しながら、初期接続開始メッセージをデフォルトスライスに割り当てる。さらに、出力ゲートウェイ(すなわち、メッセージを外部の宛先(例えばインターネット)に送信し、宛先ドメインから逆方向メッセージを受信するゲートウェイ)は、接続開始メッセージに関する情報も格納する。初期データメッセージを受信すると、ネットワークスライスセレクタは、正しいスライスを選択するためにディープパケットインスペクションを実行する。しかしながら、選択したスライスにデータメッセージを送信する前に、スライスセレクタはネットワークスライスを介して接続開始メッセージを再生する。これらのメッセージが出力ゲートウェイから外部の出力先ドメインに送信されるのではなく、スライスセレクタと出力ゲートウェイとの間でのみ接続開始メッセージが送信される。これらのメッセージが再生されたなら、選択されたスライスのネットワークサービスは、接続開始メッセージを処理したであろうし、エンドポイントデバイスと宛先ネットワークドメインとの間の後続のデータメッセージトラフィック用に準備される。 In some embodiments, instead of ending the connection start message with the slice selector, these messages are first passed through the default network slice, then the network slice is selected, and then the correct network slice for the connection. Play the message via. In this procedure, the slice selector stores these messages (or the data needed to recreate the messages) while assigning the initial connection start message to the default slice. In addition, the egress gateway (ie, the gateway that sends the message to an external destination (eg, the Internet) and receives the reverse message from the destination domain) also stores information about the connection start message. Upon receiving the initial data message, the network slice selector performs a deep packet inspection to select the correct slice. However, before sending the data message to the selected slice, the slice selector plays the connection start message through the network slice. Instead of sending these messages from the egress gateway to an external destination domain, the connection start message is sent only between the slice selector and the egress gateway. If these messages were replayed, the network service of the selected slice would have processed the connection start message and would be prepared for subsequent data message traffic between the endpoint device and the destination network domain.

ステートフルスライス選択の場合、前述のように、リソース/時間の節約のためと、後続のデータメッセージの多くが、ディープパケットインスペクションが有用であるために必要なそれらのL5~L7ヘッダ内の情報を持たないためとの両方により、後続のデータメッセージはネットワークスライスセレクタによって格納された状態を使用して送信される。しかしながら、モバイルデバイス(例えば、スマートフォン、タブレット、自動運転車)は、1つの接続を維持しながら、第1のスライスセレクタによってサービスされる1つの地理的範囲から、第2のスライスセレクタによってサービスされる別の地理的範囲に移動することができる(例えば、1つのセルタワーから別のセルタワーに移動するとき、又はWiFiネットワークからセルラーネットワークに移動するとき)。異なる実施形態では、エンドポイントデバイスの一部に対するアクションを必要とせずにその状態が維持されることを保証するために、異なる技法が使用される。 In the case of stateful slice selection, as mentioned above, to save resources / time and many of the subsequent data messages have the information in their L5-L7 headers needed for deep packet inspection to be useful. Subsequent data messages are sent using the state stored by the network slice selector, both because and not. However, mobile devices (eg smartphones, tablets, self-driving cars) are serviced by a second slice selector from one geographical range served by the first slice selector while maintaining one connection. You can move to different geographic areas (eg, when moving from one cell tower to another, or from a WiFi network to a cellular network). In different embodiments, different techniques are used to ensure that the state is maintained without the need for action on some of the endpoint devices.

いくつかの実施形態では、第2のスライスセレクタ(モバイルデバイスが移動する領域についてのスライスセレクタ)が、接続のためのすべてのデータメッセージを第1のスライスセレクタ(接続が開始されたときにモバイルデバイスが位置していた領域についてのスライスセレクタ)に転送する。すなわち、第2のスライスセレクタは、第1のスライスセレクタが接続のためのスライスマッピング状態の位置であることを示すデータを受け取り、したがって、接続のためのデータトラフィックを第1のスライスセレクタに転送する。異なる実施形態では、第1のスライスセレクタが、(i)この状態位置情報を第2のスライスセレクタに直接プッシュする、又は(ii)状態位置情報をネットワークコントローラ(例えば、前述のVSNコントローラ)にプッシュし、そこから第2のスライスセレクタが状態位置情報を取り出す。 In some embodiments, the second slice selector (the slice selector for the area where the mobile device moves) sends all the data messages for the connection to the first slice selector (the mobile device when the connection is initiated). Transfer to the slice selector) for the area where was located. That is, the second slice selector receives data indicating that the first slice selector is in the slice mapping state position for the connection, and thus forwards the data traffic for the connection to the first slice selector. .. In a different embodiment, the first slice selector (i) pushes this state position information directly to the second slice selector, or (ii) pushes the state position information to a network controller (eg, the VSN controller described above). Then, the second slice selector retrieves the state position information from there.

他の実施形態では、第2のスライスセレクタはこの状態(すなわち、ネットワークスライスへの接続のマッピング)を受信し、したがって、第1のネットワークスライスセレクタを伴うことなく、接続のためのデータメッセージをネットワークスライスに転送することできる。異なる実施形態では、第2のスライスセレクタが第1のスライスセレクタから、又はネットワークコントローラ(例えば、前述のVSNコントローラ)から直接その状態を受信してもよい。いくつかのそのような実施形態では、第1のスライスセレクタは、(i)第2のスライスセレクタに直接(例えば、デバイスが第2のスライスセレクタの地理的領域に移動する前に)状態をプッシュする、又は(ii)第2のスライスセレクタが状態を取り出すネットワークコントローラに状態をプッシュする。他のそのような実施形態では、第1のスライスセレクタは状態に関する位置情報をネットワークコントローラにプッシュし、第2のスライスセレクタはこの位置情報をネットワークコントローラから取り出し、次いで、第1のスライスセレクタから状態を取り出すためにその位置情報を使用する。 In another embodiment, the second slice selector receives this state (ie, mapping the connection to the network slice) and therefore network the data message for the connection without the first network slice selector. Can be transferred to slices. In different embodiments, the second slice selector may receive the state directly from the first slice selector or from a network controller (eg, the VSN controller described above). In some such embodiments, the first slice selector (i) pushes the state directly to the second slice selector (eg, before the device moves to the geographic area of the second slice selector). Or (ii) the second slice selector pushes the state to the network controller that retrieves the state. In other such embodiments, the first slice selector pushes position information about the state to the network controller, the second slice selector retrieves this position information from the network controller, and then the state from the first slice selector. Use that location information to retrieve.

第1のスライスセレクタが状態情報を直接第2のスライスセレクタにプッシュする場合、いくつかの実施形態では、第1のスライスセレクタの地理的領域内の接続を開始するモバイルデバイスが隣接する地理的領域のいずれかに移動する場合に、第1のスライスセレクタが、そのスライスマッピングの全てを隣接する地理的領域についてのスライスセレクタにプッシュする。他のそのような実施形態では、第1のスライスセレクタは、デバイスが移動する可能性がある隣接する地理的領域についてのスライスセレクタに状態情報をプッシュするため、モバイルデバイスの位置データ(そのデータが利用可能にされている場合)を使用する。 If the first slice selector pushes state information directly to the second slice selector, in some embodiments, the geographic area adjacent to the mobile device that initiates the connection within the geographic area of the first slice selector. When moving to any of, the first slice selector pushes all of its slice mappings to the slice selector for the adjacent geographic area. In other such embodiments, the first slice selector pushes state information to the slice selector for adjacent geographic areas where the device may move, so that the location data of the mobile device (that data is). If enabled) is used.

いくつかの実施形態では、仮想サービスネットワークが階層的にスライスされる。すなわち、仮想サービスネットワークのスライスは、それ自体、スライスセレクタ及び複数のネットワークスライスを有する仮想サービスネットワークである。例えば、電気通信ネットワークにおいて、モバイルネットワーク事業者(MNO)はアクセスとコアネットワーク(すなわちRANとEPCインフラストラクチャ)の物理インフラストラクチャを所有し、そのMNOに加入するデバイスからのトラフィックはそのインフラストラクチャによって処理される。さらに、MNOは、そのインフラストラクチャを、同じインフラストラクチャを使用する加入者デバイスも有する1つ又は複数のモバイル仮想ネットワークオペレータ(MVNO)にリースすることができる。これらのMVNOは、場合によってはそれらの仮想インフラストラクチャも追加のMVNO又は他のエンティティにリースする。さらに、異なる電気通信サービスプロバイダ以外の追加の理由により、スライス選択の階層レイヤをネットワーク上に実装することができる。 In some embodiments, the virtual service network is sliced hierarchically. That is, a slice of a virtual service network is itself a virtual service network with a slice selector and multiple network slices. For example, in a telecommunications network, a mobile network operator (MNO) owns the physical infrastructure of access and core networks (ie, RAN and EPC infrastructure), and traffic from devices that subscribe to that MNO is handled by that infrastructure. Will be done. In addition, the MNO can lease its infrastructure to one or more mobile virtual network operators (MVNOs) who also have subscriber devices that use the same infrastructure. These MVNOs may also lease their virtual infrastructure to additional MVNOs or other entities. In addition, a hierarchical layer of slice selection can be implemented on the network for additional reasons other than different telecommunications service providers.

上記の電気通信プロバイダの例では、MNOによって構成された最初のスライスセレクタがソースデバイスに基づいて(例えば、ソースネットワークアドレスによって)ネットワークスライスにデータメッセージを割り当てる可能性がある。したがって、MNOに関連付けられたソースデバイスからのデータメッセージはMNOによって構成された別の仮想サービスネットワークに送信され、異なるMVNOに関連付けられたソースデバイスからのデータメッセージはそれぞれのMVNOによって構成された仮想サービスネットワークに送信される。いくつかの実施形態では、各仮想サービスネットワークのための第2のスライスセレクタがデータメッセージヘッダの様々な態様に基づいて追加のスライス選択を実行する。MVNOがその仮想インフラストラクチャを1つ又は複数の追加のMVNOにリースする場合、この第2のスライスセレクタはよりきめの細かいネットワークアドレス解析に基づいて(例えば、第1のMVNOにIPアドレスのプールが割り当てられ、このプールをそれ自体のデバイスと別のMVNO用のデバイスとの間で分割する場合)ネットワークスライスにデータメッセージを割り当てることもできる。他の場合には、第2のレベルのスライスセレクタは、上述したようなディープパケットインスペクションに基づいてステートフルなスライス選択を実行してもよい。 In the telecommunications provider example above, the first slice selector configured by the MNO may assign data messages to network slices based on the source device (eg, by source network address). Therefore, data messages from source devices associated with MNOs are sent to another virtual service network configured by the MNO, and data messages from source devices associated with different MVNOs are virtual services configured by each MVNO. Sent to the network. In some embodiments, a second slice selector for each virtual service network performs additional slice selections based on various aspects of the data message header. If the MVNO leases its virtual infrastructure to one or more additional MVNOs, this second slice selector is based on finer-grained network address analysis (eg, the first MVNO has a pool of IP addresses. Data messages can also be assigned to network slices (if assigned and splitting this pool between its own device and another device for the MVNO). In other cases, the second level slice selector may perform stateful slice selection based on deep packet inspection as described above.

いくつかの実施形態では、仮想サービスネットワーク(ネットワークサービスの異なる順序セットを有する複数のネットワークスライスの集合)内で、ネットワークスライスセレクタは常に、データメッセージを処理するための最初のエンティティである。他の実施形態では、第1のネットワークスライスセレクタがスライスのうちの1つを選択した後、(仮想サービスネットワークである)このスライスは、第2のネットワークスライスセレクタがその仮想サービスネットワーク内のスライスを選択する前に、データメッセージに適用されるネットワークサービスを含んでもよい。同様に、いくつかの実施形態では、所与のスライスに対して異なるサービスが適用された後、仮想サービスネットワーク内のすべてのネットワークスライスのデータメッセージにネットワークサービスが適用されてもよい。 In some embodiments, within a virtual service network (a collection of multiple network slices with different ordered sets of network services), the network slice selector is always the first entity to process a data message. In another embodiment, after the first network slice selector selects one of the slices, this slice (which is a virtual service network) allows the second network slice selector to select a slice within that virtual service network. Prior to selection, it may include network services that apply to the data message. Similarly, in some embodiments, the network service may be applied to the data messages of all network slices in the virtual service network after different services have been applied to a given slice.

スライス選択と仮想サービスネットワークを使用するネットワークの上記の例は、(階層的スライス選択と単一レベルスライス選択とについての両方の)電気通信プロバイダネットワークであるが、この仮想サービスネットワークは他のタイプのネットワークについても構成できることを理解されたい。例えば、データセンタ内、又は多数のデータセンタにまたがるネットワークの場合、仮想化ソフトウェア(例えば、VM又はネットワークの他のエンドポイントをホストするホストコンピュータ内)は、ネットワークエンドポイントによって送信されるデータメッセージのスライス選択を実装するように構成することができる。複数のデータセンタにまたがるネットワークの一種は、エンタープライズデータセンタ(例えば、メインオフィス及び1つ以上のリモートブランチオフィス)を接続するために1つ以上のパブリッククラウドのセットを使用することである。このようなネットワークでは、ネットワークスライスのネットワークサービスがパブリッククラウド内と同様にエンタープライズデータセンタにも実装されてもよい。 The above example of a network that uses slice selection and virtual service networks is a telecommunications provider network (both for hierarchical slice selection and single-level slice selection), but this virtual service network is of another type. It should be understood that networks can also be configured. For example, in the case of a network within a data center or across a large number of data centers, virtualization software (eg, within a host computer hosting a VM or other endpoint in the network) can be a source of data messages sent by the network endpoint. It can be configured to implement slice selection. A type of network that spans multiple data centers is the use of one or more sets of public clouds to connect enterprise data centers (eg, a main office and one or more remote branch offices). In such networks, network slice network services may be implemented in enterprise data centers as well as in public clouds.

前述の概要は、本発明のいくつかの実施形態の簡単な導入として役立つことを意図している。これは、本明細書に開示される全ての発明の主題の導入又は概略であることを意味するものではない。以下の詳細な説明及び詳細な説明において参照される図面は、概要において説明される実施形態並びに他の実施形態をさらに説明するだろう。したがって、本明細書によって説明されるすべての実施形態を理解するために、概要、詳細な説明、及び図面の完全な検討が必要である。さらに、特許請求される主題は要約、詳細な説明、及び図面における例示的な詳細によって限定されるべきではなく、むしろ特許請求される主題は主題の精神から逸脱することなく、他の特定の形態で具現化され得るので、添付の特許請求の範囲によって定義されるべきである。 The above overview is intended to serve as a brief introduction to some embodiments of the invention. This is not meant to be an introduction or summary of the subject matter of all inventions disclosed herein. The detailed description below and the drawings referenced in the detailed description will further illustrate the embodiments described in the overview as well as other embodiments. Therefore, a thorough review of the outline, detailed description, and drawings is required to understand all the embodiments described herein. Moreover, the claimed subject matter should not be limited by abstracts, detailed descriptions, and exemplary details in the drawings, rather the claimed subject matter does not deviate from the spirit of the subject matter and is in other particular form. It should be defined by the appended claims as it can be embodied in.

本発明の新規な特徴は、添付の特許請求の範囲に記載されている。しかしながら、説明のために本発明のいくつかの実施形態を以下の図面に記載する。 The novel features of the invention are described in the appended claims. However, for illustration purposes, some embodiments of the invention are described in the drawings below.

多数のネットワークスライスセレクタを有する仮想サービスネットワーク(VSN)を概念的に示す図。The figure which conceptually shows the virtual service network (VSN) which has a large number of network slice selectors.

多数のデータセンタにわたる単一のネットワークスライスのためのサービスの分散を概念的に示す図。A diagram conceptually showing the distribution of services for a single network slice across many data centers.

いくつかの実施形態に係る、エッジクラウドで受信され、そのエッジクラウドのスライスセレクタによって図2に示されるネットワークスライスに割り当てられるデータメッセージがVSNを通過する経路を概念的に示す図。FIG. 6 is a diagram conceptually showing a route through VSN for a data message received in an edge cloud and assigned to a network slice shown in FIG. 2 by the edge cloud slice selector according to some embodiments.

コントローラの階層セットを概念的に示す図。A diagram conceptually showing a hierarchical set of controllers.

スライスセレクタがソフト終端プロキシとして動作する接続のためのメッセージを送信するためのエンドポイントデバイス、スライスセレクタ、出力ゲートウェイ、及びネットワークドメイン間の対話を示すフロー図。A flow diagram showing a dialogue between an endpoint device, a slice selector, an output gateway, and a network domain for sending a message for a connection in which the slice selector acts as a soft termination proxy.

http getメッセージを概念的に示す図。The figure which conceptually shows the http get message.

スライスセレクタによって格納されるいくつかの実施形態の接続マッピングテーブルのエントリを示す図。The figure which shows the entry of the connection mapping table of some embodiments stored by a slice selector.

データメッセージを概念的に示す図。A diagram conceptually showing a data message.

接続ハンドシェイクを終了することによって、エンドポイントデバイスと宛先ネットワークドメインとの間の接続をVSNのネットワークスライスに割り当てるためのいくつかの実施形態の処理を概念的に示す図。FIG. 6 conceptually illustrates the processing of some embodiments for assigning a connection between an endpoint device and a destination network domain to a network slice of a VSN by terminating the connection handshake.

スライスセレクタ及び出力ゲートウェイがハンドシェイク再生を実行する接続のためのメッセージを送信するための、エンドポイントデバイス、スライスセレクタ、出力ゲートウェイ、及びネットワークドメイン間の対話を示すフロー図。A flow diagram illustrating a dialogue between an endpoint device, a slice selector, an output gateway, and a network domain for the slice selector and output gateway to send a message for a connection to perform handshake playback.

接続ハンドシェイクメッセージを再生することによって、エンドポイントデバイスと宛先ネットワークドメインとの間の接続をVSNのネットワークスライスに割り当てるための、いくつかの実施形態の処理を概念的に示す図。Connection A diagram conceptually illustrating the processing of some embodiments for assigning a connection between an endpoint device and a destination network domain to a network slice of a VSN by playing a connection handshake message.

ハンドシェイク再生の場合の出力ゲートウェイのためのいくつかの実施形態の処理を概念的に示す図。The figure which conceptually shows the processing of some embodiments for an output gateway in the case of handshake reproduction.

第1のスライスセレクタ領域から第2のスライスセレクタ領域に移動するモバイルデバイスを概念的に示す図であり、この第2のスライスセレクタは、モバイルデバイスから第1のスライスセレクタにデータトラフィックを転送する。It is a diagram conceptually showing a mobile device moving from a first slice selector area to a second slice selector area, and the second slice selector transfers data traffic from the mobile device to the first slice selector.

状態位置情報をセントラルコントローラにプッシュする第1のスライスセレクタと、状態位置情報をセントラルコントローラから取り出す第2のスライスセレクタとの例を概念的に示す図。The figure which conceptually shows the example of the 1st slice selector which pushes a state position information to a central controller, and the 2nd slice selector which fetches a state position information from a central controller.

第1のスライスセレクタが第2のスライスセレクタに状態位置情報をプッシュする例を概念的に示す図。The figure which conceptually shows the example which the 1st slice selector pushes the state position information to the 2nd slice selector.

第1のスライスセレクタ領域から第2のスライスセレクタ領域に移動するモバイルデバイスを概念的に示す図であり、この第2のスライスセレクタは接続のためのスライスマッピング状態を受信し、そのスライスマッピング状態を使用して接続のためのデータトラフィックを転送する。It is a diagram conceptually showing a mobile device moving from a first slice selector area to a second slice selector area, and this second slice selector receives a slice mapping state for connection and displays the slice mapping state. Use to forward data traffic for connections.

スライスマッピング状態をセントラルコントローラにプッシュする第1のスライスセレクタと、スライスマッピング状態をセントラルコントローラから取り出す第2のスライスセレクタとの例を概念的に示す図。The figure which conceptually shows the example of the 1st slice selector which pushes a slice mapping state to a central controller, and the 2nd slice selector which fetches a slice mapping state from a central controller.

、及び,as well as 状態位置情報をコントローラにプッシュする第1のスライスセレクタと、状態位置情報を取り出し、第1のスライスセレクタからスライスマッピング状態を取り出すためにその状態位置情報を使用する第2のスライスセレクタとの例を概念的に示す図。An example of a first slice selector that pushes state position information to the controller and a second slice selector that retrieves state position information and uses that state position information to retrieve the slice mapping state from the first slice selector. The figure which shows conceptually.

第1のスライスセレクタが第2のスライスセレクタにスライスマッピング状態をプッシュする例を概念的に示す図。The figure which conceptually shows the example which the 1st slice selector pushes the slice mapping state to the 2nd slice selector.

いくつかの実施形態に係る、スライスマッピング状態をその隣接する地理的領域の全てにプッシュする第1の地理的領域に関連付けられた第1のスライスセレクタを概念的に示す図。FIG. 6 conceptually illustrates a first slice selector associated with a first geographic area that pushes a slice mapping state to all of its adjacent geographic areas, according to some embodiments.

第1の地理的領域内を移動するモバイルデバイスと、そのモバイルデバイスによって開始される接続のためのスライスマッピング状態を、デバイスが移動している隣接領域のみにプッシュするその領域のためのスライスセレクタとを概念的に示す図。A mobile device moving within a first geographic area and a slice selector for that area that pushes the slice mapping state for connections initiated by that mobile device only to the adjacent area where the device is moving. A diagram conceptually showing.

階層型VSNの例を概念的に示す図。The figure which shows the example of a hierarchical VSS conceptually.

プロバイダ及びテナントスライスセレクタ(並びにネットワークスライスのネットワークサービス)の、複数のデータセンタにわたる分散を概念的に示す図。A diagram conceptually showing the distribution of providers and tenant slice selectors (as well as network services for network slices) across multiple data centers.

プロバイダインフラストラクチャ及び複数のテナントVSNの分岐制御を概念的に示す図。The figure which conceptually shows the branch control of a provider infrastructure and a plurality of tenant VSNs.

ネットワークサービスがスライスセレクタ間に挿入され、及び/又は異なるスライスのサービスが完了した後の階層VSNの例を概念的に示す図。The figure which conceptually shows the example of the hierarchical VSN after the network service is inserted between slice selectors and / or the service of different slices is completed.

3つのレベルのスライシングを有するVSNの階層セットの例を概念的に示す図。The figure conceptually showing an example of a hierarchical set of VSNs with three levels of slicing.

データセンタ内でのVSNの実装を概念的に示す図。The figure which conceptually shows the implementation of VSN in a data center.

パブリッククラウドを介して2つのプライベートエンタープライズデータセンタ間のWAN通信を処理するためのVSNの実装を概念的に示す図。A diagram conceptually showing the implementation of VSN to handle WAN communication between two private enterprise data centers over a public cloud.

パブリッククラウド又はパブリッククラウドのセット内の、パブリッククラウド内のゲストVMとパブリックインターネットトラフィックとの間の通信を処理するために、VSNが実装されてもよいことを概念的に示す図。A diagram conceptually showing that VSN may be implemented to handle communication between guest VMs in a public cloud and public internet traffic within a public cloud or set of public clouds.

本発明のいくつかの実施形態が実装される電子システムを概念的に示す図。The figure which conceptually shows the electronic system in which some embodiments of this invention are implemented.

本発明の以下の詳細な説明では、本発明の多数の詳細、実施例、及び実施形態が記載され、説明される。しかし、本発明は記載された実施形態に限定されず、本発明は記載された特定の詳細及び例のいくつかがなくても実施され得ることは、当業者には明らかであり、容易なものであろう。 The following detailed description of the invention describes and describes numerous details, examples, and embodiments of the invention. However, it will be apparent to those skilled in the art that the invention is not limited to the embodiments described and that the invention can be practiced without some of the specific details and examples described. Will.

いくつかの実施形態は、データセンタのセットにまたがって仮想サービスネットワークを確立するための方法を提供する。仮想サービスネットワークが確立されるデータセンタのセットは例えば、1つ以上のパブリッククラウド、パブリッククラウド及びプライベートクラウドにまたがるソフトウェア定義ワイドエリアネットワーク(SD-WAN)、電気通信サービスプロバイダアクセスネットワーク(例えば、無線アクセスネットワーク、エッジクラウド、及びコアクラウドの組合せにまたがる)、又は他のタイプのデータセンタを含むことができる。いくつかの実施形態の仮想サービスネットワークは、ネットワークスライスに割り当てられたデータメッセージに、それぞれが異なるネットワークサービスを提供する多数のネットワークスライスを含む。 Some embodiments provide a method for establishing a virtual service network across a set of data centers. The set of data centers in which a virtual service network is established includes, for example, a software-defined wide area network (SD-WAN) that spans one or more public clouds, public clouds, and private clouds, and a telecommunications service provider access network (eg, wireless access). It can include a combination of networks, edge clouds, and core clouds), or other types of data centers. The virtual service network of some embodiments comprises a large number of network slices, each of which provides a different network service, in the data message assigned to the network slice.

いくつかの実施形態では、デバイス(例えば、電気通信コンテキストにおけるモバイルエンドポイントデバイス)がそのようなネットワーク上にデータメッセージを送信すると、ネットワークスライスセレクタは最初にデータメッセージを処理する。このネットワークスライスセレクタは、仮想サービスネットワークのネットワークスライスの1つにデータメッセージを割り当て、割り当てられたスライスについてのネットワークサービスの正しいセットによってデータメッセージが処理されるように、サービスチェイニング動作を処理する。異なる実施形態では、このネットワークスライスセレクタが仮想マシン(VM)、コンテナ化された機能、VM内で動作するソフトウェア転送要素(例えば、フローベースの転送要素)、コンテナ内又はホストコンピュータの仮想化ソフトウェア内で動作するモジュールのセット、ホストコンピュータの仮想化ソフトウェア内で転送要素の外部で実行するモジュールのセット(例えば、VMと転送要素のポート間)、ハードウェア転送要素(例えば、プログラム可能なスイッチ)、又はその他の実装によって実装されてもよい。 In some embodiments, when a device (eg, a mobile endpoint device in a telecommunications context) sends a data message over such a network, the network slice selector first processes the data message. This network slice selector assigns a data message to one of the network slices of the virtual service network and processes the service chaining operation so that the data message is processed by the correct set of network services for the assigned slice. In different embodiments, this network slice selector is a virtual machine (VM), a containerized function, a software transfer element running within a VM (eg, a flow-based transfer element), within a container or within the virtualization software of a host computer. A set of modules that run on the host computer, a set of modules that run outside the transfer element within the virtualization software of the host computer (eg, between the VM and the port of the transfer element), a hardware transfer element (eg, a programmable switch), Alternatively, it may be implemented by other implementations.

場合によっては、多くのネットワークスライスセレクタが仮想サービスネットワークを実装するように設定されている。電気通信サービスプロバイダの例では、いくつかの実施形態がアクセスネットワークの各セルラータワー、基地局、又は他の態様のためのネットワークスライスセレクタを構成する。いくつかの実施形態の電気通信サービスプロバイダアクセスネットワークは各セルラータワーのためのエッジクラウドを含み、そのような各エッジクラウドにおいて少なくとも1つのネットワークスライスセレクタを構成する。他の例(例えば、接続されたデータセンタのセット内に完全に含まれるSD-WANトラフィックの場合)では、分散されたネットワークスライスセレクタは、VMから送信されたデータメッセージについてのネットワークスライスの選択がデータメッセージのソースと同じホストコンピュータ(ソースVMの外部)又は指定されたデバイス(例えば、特定の近くのスイッチ又はルータ、専用のVM又はコンテナ)で生じるように構成される。 In some cases, many network slice selectors are configured to implement virtual service networks. In the example of a telecommunications service provider, some embodiments configure a network slice selector for each cellular tower, base station, or other aspect of the access network. Some embodiments of telecommunications service provider access networks include an edge cloud for each cellular tower, each of which constitutes at least one network slice selector. In another example (for example, for SD-WAN traffic that is completely contained within a set of connected data centers), the distributed network slice selector can select network slices for data messages sent from the VM. It is configured to originate on the same host computer (outside the source VM) as the source of the data message or on a specified device (eg, a specific nearby switch or router, a dedicated VM or container).

図1は、多数のネットワークスライスセレクタを有する仮想サービスネットワーク(VSN)100を概念的に示す図である。この場合、VSN100は、インターネットにアクセスするデバイス(例えば、電気通信サービスプロバイダアクセスネットワーク内)のためのデータメッセージに対してネットワークサービスを実行する。このVSNが所定のデータメッセージに対してどのネットワークサービスを実行するかは、そのデータメッセージが割り当てられるスライスに依存する。以下にさらに説明するように、所与のネットワークスライスのネットワークサービスは、単一のデータセンタ又はデータセンタのセットに実装されてもよい。特定のスライスでは、いくつかのネットワークサービスが多くのエッジクラウドに分散される場合があり、一方で後のネットワークサービスが中央のパブリックデータセンタに実装される。 FIG. 1 is a diagram conceptually showing a virtual service network (VSN) 100 having a large number of network slice selectors. In this case, the VSS100 performs network services for data messages for devices accessing the Internet (eg, within the telecommunications service provider access network). Which network service this VSS performs for a given data message depends on the slice to which the data message is assigned. As further described below, a given network slice of network services may be implemented in a single data center or set of data centers. In a particular slice, some network services may be distributed across many edge clouds, while later network services are implemented in a central public data center.

図に示すように、仮想サービスネットワーク100は、多数の(N個の)ネットワークスライス105~115を含む。これらの各ネットワークスライスはネットワーク経路(すなわち、スライスに割り当てられたデータメッセージ上で実行されるネットワークサービスの順序付きセット)を表す。これらのネットワークサービスは、ファイアウォール、ロードバランサ、ネットワークアドレス変換、(例えば、課金目的のための)計量機能、VPNゲートウェイ、無線アクセスネットワーク(RAN)機能(例えば、分散ユニット及び集中ユニット機能)、進化パケットコア(EPC)機能(例えば、加入者管理サーバ、サービスゲートウェイ、パケットデータネットワークゲートウェイ、モビリティ管理エンティティ)、又は他の種類のネットワーク機能を含むことができる。 As shown in the figure, the virtual service network 100 includes a large number of (N) network slices 105-115. Each of these network slices represents a network path (ie, an ordered set of network services running on the data messages assigned to the slice). These network services include firewalls, load balancers, network address translation, weighing functions (eg, for billing purposes), GBP gateways, wireless access network (RAN) functions (eg, distributed and centralized unit functions), evolutionary packets. It can include core (EPC) functions (eg, subscriber management servers, service gateways, packet data network gateways, mobility management entities), or other types of network functions.

異なる実施形態では、仮想サービスネットワークのネットワークスライスが異なる目的を果たしてもよい。いくつかの実施形態は、ソースデバイスに基づいて(例えば、ソースネットワークアドレス又は装置の種類を識別する情報を使用して)、又は加入者情報に基づいて(例えば、認証、許可、及び会計システム又はポリシーシステムとインターフェースで接続することによって)ネットワークをスライスするが、他の実施形態はトラフィックの種類に基づいて(例えば、ディープパケットインスペクションを実行することによって)ネットワークをスライスする。各ネットワークスライスには、規定のQoS(quality of service)サービス品質保証(SLA)を設定できる。例えば、自動運転車のためのネットワークスライスは非常に短い待ち時間要件を有する場合があり、ストリーミングビデオのためのネットワークスライスは高い帯域幅要件を有する場合があり、IoTスライスは単一のデバイスのためにより厳密でない帯域幅又は待ち時間要件を有するが、大きな接続の見込みを有することがある。 In different embodiments, the network slices of the virtual service network may serve different purposes. Some embodiments are based on the source device (eg, using information that identifies the source network address or device type) or based on the subscriber information (eg, authentication, authorization, and accounting system or). Slice the network (by connecting to the policy system with an interface), while other embodiments slice the network based on the type of traffic (eg, by performing deep packet inspection). A defined quality of service (SLA) can be set for each network slice. For example, network slices for self-driving cars may have very short latency requirements, network slices for streaming video may have high bandwidth requirements, and IoT slices may have a single device. May have less stringent bandwidth or latency requirements, but have greater potential for connectivity.

これらのネットワークサービスは、異なる実施形態において、仮想化ネットワーク機能(VNF)、物理ネットワーク機能(PNF)、及び/又はクラウドネットワーク機能(CNF)として実装されてもよい。VNFは、仮想マシンなどの仮想化データ計算ノードに実装されるネットワークサービスである。これは、例えば、特定のスライスについての同じネットワークサービス構成が、多数のエッジクラウドにおいて(例えば、多数のスライスセレクタと共に)実装されることを可能にする。CNFは、特定の種類のコンテナなど、クラウドネイティブデータ計算ノードに実装されるネットワークサービスである。最後に、PNFは物理デバイス(例えば、特定のファイアウォール又はロードバランサデバイス)によって実装されるネットワークサービスである。一般に、PNFは、エッジクラウドではなく集中化されたデータセンタ内により有効に配置されるので、同じ物理デバイスを各エッジクラウドについて複製する必要はない。 These network services may be implemented as virtualized network functions (VNFs), physical network functions (PNFs), and / or cloud network functions (CNFs) in different embodiments. VNF is a network service implemented in a virtualized data calculation node such as a virtual machine. This allows, for example, the same network service configuration for a particular slice to be implemented in multiple edge clouds (eg, with multiple slice selectors). CNF is a network service implemented on cloud-native data compute nodes, such as certain types of containers. Finally, PNF is a network service implemented by a physical device (eg, a particular firewall or load balancer device). In general, PNFs are more effectively placed in centralized data centers rather than edge clouds, so there is no need to duplicate the same physical device for each edge cloud.

この例では、第1のネットワークスライス105は2つのVNFA及びB、並びにPNFCを含む。第2のネットワークスライス110は3つのVNFB、D、及びEを有し、完全に仮想のものである。最後のネットワークスライス115はスライス105(VNFA及びB、並びにPNFC)と同じ3つのネットワークサービスを含み、その後にCNFFが続く。いくつかの実施形態では、同じVMが複数の異なるネットワークスライスのためのVNFを実装することができる。この例では、1つのVMが図示されている3つのネットワークスライス105~115すべてに対して同じVNFBを実装する場合がある。このVNFがエッジクラウド内に位置する場合、単一のVMを各エッジクラウド内で(例えば、各スライスセレクタごとに)インスタンス化してもよい。しかしながら、他の実施形態では、VNF設定が複数のスライスに対して同じであっても、VNFごとに別個のVNF(例えば、別個のVM又は他のデータ計算ノード)がインスタンス化される。したがって、この例では、3つの異なるVNFが、スライス105~115のそれぞれに対してVNFBについてインスタンス化される。したがって、このVNFがエッジクラウド内に位置する場合、各エッジクラウドは、VNFCに対して3つの異なるVMを有することになる。 In this example, the first network slice 105 comprises two VNFAs and Bs, as well as a PNFC. The second network slice 110 has three VNFBs, D, and E and is completely virtual. The final network slice 115 contains the same three network services as slice 105 (VNFA and B, and PNFC), followed by CNFF. In some embodiments, the same VM can implement VNFs for multiple different network slices. In this example, one VM may implement the same VNFB for all three network slices 105-115 shown. If this VNF is located in the edge cloud, a single VM may be instantiated in each edge cloud (eg, for each slice selector). However, in other embodiments, a separate VNF (eg, a separate VM or other data computing node) is instantiated for each VNF, even if the VNF settings are the same for multiple slices. Therefore, in this example, three different VNFs are instantiated for the VNFB for each of slices 105-115. Therefore, if this VNF is located within the edge cloud, each edge cloud will have three different VMs for the VNFC.

デバイスがネットワーク100にアクセスする方法のために、いくつかの実施形態は、多数のスライスセレクタ120~130を有する。デバイスは、基地局(例えば、セルタワー)、無線アクセスポイント、有線中継(例えば、家庭内)、又は他の手段を介して、電気通信サービスプロバイダネットワークにアクセスしてもよい。プロバイダネットワークについて、いくつかの実施形態のスライスセレクタは、データトラフィックがネットワークの大部分を横切る前にスライス選択が生じ得るように、そのデバイスの近くに実装される。例えば、マルチアクセスエッジ計算を備える5G無線ネットワークの場合、いくつかの実施形態は、各分散ユニット(DU)のためのスライスセレクタを構成する。他の実施形態は、複数のDUからトラフィックを受信する各集中ユニット(CU)のためのスライスセレクタを構成する。この場合、各スライスセレクタは関連付けられた地理的範囲(すなわち、そのスライスセレクタの関連付けられたDU又はCUの地理的範囲)を有する。 Due to the way the device accesses the network 100, some embodiments have a large number of slice selectors 120-130. The device may access the telecommunications service provider network via a base station (eg, cell tower), wireless access point, wired relay (eg, in the home), or other means. For a provider network, slice selectors of some embodiments are implemented near the device so that slice selection can occur before data traffic traverses most of the network. For example, in the case of a 5G wireless network with multi-access edge computation, some embodiments configure slice selectors for each distributed unit (DU). Another embodiment configures a slice selector for each centralized unit (CU) that receives traffic from multiple DUs. In this case, each slice selector has an associated geographic range (ie, the geographic range of the associated DU or CU of that slice selector).

図1に示すような状況では、各スライスセレクタ120~130は、いくつかの実施形態では同じスライス選択機能を実行する(すなわち、単一の論理スライスセレクタとして動作する)ように構成される。すなわち、各スライスセレクタ1~Kは、スライス1~Nのいずれかにデータメッセージを割り当てることができ、ネットワークスライスの割り当ては、スライスセレクタ120~130のいずれがデータメッセージを処理するかにかかわらず同じになることになる。他の実施形態では、スライスはある特定の地理的領域においてのみアクセス可能である。例えば、特定のアプリケーションに関連付けられたネットワークスライスは、特定の都市やその他の地理的領域で、特定のケースで利用可能となる場合がある。 In the situation shown in FIG. 1, each slice selector 120-130 is configured to perform the same slice selection function (ie, act as a single logical slice selector) in some embodiments. That is, each slice selector 1 to K can assign a data message to any of slices 1 to N, and the network slice allocation is the same regardless of which of slice selectors 120 to 130 processes the data message. Will be. In other embodiments, slices are only accessible in certain geographic areas. For example, a network slice associated with a particular application may be available in certain cases in a particular city or other geographic area.

この例は、多数のデバイスが任意の特定の時間に所与のスライスセレクタに接続できることを示している。この例では、スマート冷蔵庫及びラップトップが第1のスライスセレクタ120に取り付けられ、タブレットデバイスが第2のスライスセレクタ125に取り付けられ、自動運転車及び携帯電話が最後のスライスセレクタ130に取り付けられている。異なる実施形態では、このネットワークスライスセレクタが、仮想マシン(VM)、VM内又はホストコンピュータの仮想化ソフトウェア内で動作するソフトウェア転送要素(例えば、フローベースの転送要素)、ホストコンピュータの仮想化ソフトウェア内の転送要素外(例えば、VMと転送要素のポート間)で実行されるモジュールのセット、物理デバイス(例えば、専用ハードウェア転送要素、物理ホストコンピュータ)、コンテナアプリケーション(例えば、ネットワークサービスメッシュを実行するKubernetesシステム)、又はその他の実装によって実装されてもよい。 This example shows that many devices can connect to a given slice selector at any particular time. In this example, the smart refrigerator and laptop are attached to the first slice selector 120, the tablet device is attached to the second slice selector 125, and the self-driving car and mobile phone are attached to the last slice selector 130. .. In different embodiments, the network slice selector is a software transfer element (eg, a flow-based transfer element) that operates within a virtual machine (VM), VM or host computer virtualization software, within the host computer virtualization software. A set of modules running outside the transfer element (eg, between the VM and the port of the transfer element), a physical device (eg, a dedicated hardware transfer element, a physical host computer), a container application (eg, running a network service mesh). It may be implemented by a computer system) or other implementation.

図2は、多数のデータセンタ205~215にわたる単一のネットワークスライス200のためのサービスの分散を概念的に示す図である。この例に示すように、ネットワークスライス200は、ネットワークスライス200に割り当てられる装置220からの特定のデータトラフィックに適用される4つのネットワークサービス(VNFA-D)を含む。第1のVNFAはエッジクラウド205及び207に実装され、第2及び第3のVNFB及びCはコアクラウド210に実装され、第4のVNFDはパブリッククラウド215に実装される。マルチアクセスエッジ計算を使用するネットワーク(例えば、5Gネットワーク)では、エッジクラウド内に実装されるスライスセレクタ225及び任意のネットワークサービスが各エッジクラウド内でインスタンス化される。したがって、エッジクラウド205及びエッジクラウド207の両方はそれぞれ、(同じVSNの任意の他のスライス又はネットワークにまたがって実装される任意の他のVSNのためにエッジ上で実装される任意のネットワークサービスと同様に)スライスセレクタ225及びVNFAのインスタンスを有する。さらに、図示されていないが、各エッジクラウド内で、いくつかの実施形態は、高可用性の理由のため、複数のスライスセレクタ(例えば、アクティブスライスセレクタ及びスタンバイスライスセレクタ、又はすべての着信トラフィックを処理する負荷を共有する多数のアクティブスライスセレクタ)を実行する。 FIG. 2 is a diagram conceptually showing the distribution of services for a single network slice 200 across multiple data centers 205-215. As shown in this example, the network slice 200 includes four network services (VNFA-D) applied to specific data traffic from the device 220 assigned to the network slice 200. The first VNFA is implemented in the edge clouds 205 and 207, the second and third VNFBs and Cs are implemented in the core cloud 210, and the fourth VNFD is implemented in the public cloud 215. In networks that use multi-access edge computation (eg, 5G networks), slice selector 225 and arbitrary network services implemented within the edge cloud are instantiated within each edge cloud. Thus, both Edge Cloud 205 and Edge Cloud 207 are each with any network service implemented on the edge for any other VSN implemented across any other slice or network of the same VSN. Similarly) it has an instance of slice selector 225 and VNFA. Further, although not shown, within each edge cloud, some embodiments handle multiple slice selectors (eg, active slice selector and standby slice selector, or all incoming traffic) for high availability reasons. Run a number of active slice selectors) that share the load.

いくつかの実施形態では、デバイス220からのトラフィックは、最初にこの図には示されていない無線アクセスネットワーク(RAN)を通過する。いくつかの実施形態は、RANの前に(すなわち、RANのデバイス側で)ネットワークスライシングを実施するが、この例ではネットワークスライシングはRANの後に行われる。次に、このデータトラフィックは、トラフィックを分析し、トラフィックをネットワークスライス200に割り当てるスライスセレクタ225(エッジクラウド205)に達する。 In some embodiments, traffic from the device 220 first passes through a radio access network (RAN) not shown in this figure. In some embodiments, network slicing is performed before the RAN (ie, on the device side of the RAN), but in this example the network slicing is performed after the RAN. The data traffic then reaches the slice selector 225 (edge cloud 205) that analyzes the traffic and allocates the traffic to the network slice 200.

スライスセレクタ225がデータメッセージをネットワークスライス200に割り当てると、いくつかの実施形態では割り当てられたスライス(すなわち、VNFA~D)のネットワークサービスをデータメッセージが正しい順序でトラバースすることを保証するために、このスライスセレクタ225がサービスチェイニングを実行する役割を果たす。いくつかの実施形態では、スライスセレクタ225がデータメッセージを第1のネットワークサービス(すなわち、同じエッジクラウド205においてVNFAを実装するVM)に送信し、そのデータメッセージのコンテキスト情報を維持する。VNFAがそのデータメッセージの処理を完了すると、そのVNFはデータメッセージをスライスセレクタ225に返す。スライスについての追加のネットワークサービスもエッジクラウド225で実施される場合には(スライス200の場合ではない)、次いでスライスセレクタ225は、データメッセージを次のネットワークサービスに送信するなどのために、維持されたコンテキスト情報を使用することになる。 When the slice selector 225 assigns a data message to a network slice 200, in some embodiments, to ensure that the data message traverses the network service of the assigned slice (ie, VNFA-D) in the correct order. This slice selector 225 plays a role of executing service chaining. In some embodiments, the slice selector 225 sends a data message to a first network service (ie, a VM that implements VNFA in the same edge cloud 205) and maintains contextual information for that data message. When the VNFA completes processing the data message, the VNF returns the data message to the slice selector 225. If additional network services for slices are also implemented on Edge Cloud 225 (not for Slice 200), then slice selector 225 is maintained, for example to send data messages to the next network service. Will use the context information.

この場合、第2のネットワークサービスVNFBは、コアクラウド210に実装される。いくつかの実施形態では、ネットワークスライスセレクタ225は(例えば、クラウド205~215を相互接続するワイドエリアネットワーク(WAN)ゲートウェイを介して)コアクラウドのサービスチェインモジュールにデータメッセージを送信する。いくつかの実施形態では、完全なネットワークスライスが多数のデータセンタにわたって実装される場合、同様のサービスチェイニングモジュールが、それ自体のデータセンタ内(例えば、コアクラウド210及びパブリッククラウド215の両方の内)のスライスのためのサービスチェイニングを処理するために各データセンタで動作する。これらのサービスチェイニングモジュールは、いくつかの実施形態におけるネットワークスライスセレクタと同じ様式で(例えば、VMとして、VM又は仮想化ソフトウェアにおける転送要素として、コンテナとして)実装されてもよい。最後のネットワークサービスが完了すると、いくつかの実施形態では、出力ゲートウェイ230がデータメッセージをインターネットを介してその宛先に送信する。 In this case, the second network service VNFB is implemented in the core cloud 210. In some embodiments, the network slice selector 225 sends a data message to the service chain module of the core cloud (eg, via a wide area network (WAN) gateway interconnecting the clouds 205-215). In some embodiments, if a complete network slice is implemented across many data centers, a similar service chaining module will be in its own data center (eg, both in core cloud 210 and public cloud 215). ) Operates in each data center to handle service chaining for slices. These service chaining modules may be implemented in the same manner as the network slice selectors in some embodiments (eg, as VMs, as VMs or as transfer elements in virtualization software, as containers). Upon completion of the final network service, in some embodiments, the egress gateway 230 sends a data message over the Internet to its destination.

図3は、いくつかの実施形態に係る、エッジクラウド205で受信され、そのエッジクラウドでスライスセレクタ225によってスライス200に割り当てられたデータメッセージがVSNを通過する経路を概念的に示す。丸で囲まれた1によって示されるように、エンドポイントデバイス220はデータメッセージを電気通信プロバイダアクセスネットワークに送信し、そこで、データメッセージはエッジクラウド205におけるスライスセレクタ225によって処理される。いくつかの実施形態では、アクセスネットワークのこれらの部分が仮想サービスネットワークの一部でない場合(すなわち、スライスセレクタがRAN及び/又はEPCの後にデータメッセージを処理する場合)、データメッセージは最初にRAN及び/又はEPCによって処理される。エッジクラウド205内のスライスセレクタ225は(例えば、ディープパケットインスペクション、L2~L4ヘッダ、又は他の要因に基づいて)データメッセージをスライス200に割り当て、VNFAが(i)このスライスのための第1のネットワークサービスであり、(ii)エッジクラウド205内に位置もすることを識別する。したがって、スライスセレクタ225はデータメッセージをVNFA(丸で囲まれた2で示される)に送信し、VNFAはデータメッセージを処理し、そのデータメッセージをスライスセレクタ225(丸で囲まれた3で示される)に返す。 FIG. 3 conceptually shows a route through the VSSon for a data message received by the edge cloud 205 and assigned to the slice 200 by the slice selector 225 in the edge cloud 205 according to some embodiments. As indicated by the circled 1, the endpoint device 220 sends a data message to the telecommunications provider access network, where the data message is processed by the slice selector 225 in the edge cloud 205. In some embodiments, if these parts of the access network are not part of a virtual service network (ie, if the slice selector processes the data message after the RAN and / or EPC), the data message will first be RAN and / or EPC. / Or processed by EPC. The slice selector 225 in the edge cloud 205 assigns a data message to the slice 200 (eg, based on deep packet inspection, L2-L4 headers, or other factors) and the VNFA is (i) the first for this slice. Identify that it is a network service and is also located within (ii) Edge Cloud 205. Therefore, the slice selector 225 sends the data message to the VNFA (circled 2), the VNFA processes the data message, and the data message is represented by the slice selector 225 (circled 3). ).

次にスライスセレクタ225は、選択されたスライス200の次のネットワークサービスがコアクラウド210内に位置することを識別し、したがって、WANゲートウェイ(簡単のため図示せず)を介して、コアクラウド210内で動作するサービスチェイニングモジュール310(丸で囲まれた4で示される)にデータメッセージを送信する。いくつかの実施形態では、サービスチェイニングモジュール310は、逆方向トラフィックが正しいエッジクラウド205(すなわち、エッジクラウド207とは対照的に)内のスライスセレクタ225に送信されるよう、これらのデータメッセージのソースを格納するために学習動作(例えば、MAC学習)を使用する。 The slice selector 225 then identifies that the next network service of the selected slice 200 is located within the core cloud 210, and thus, via the WAN gateway (not shown for simplicity), within the core cloud 210. Sends a data message to the service chaining module 310 (indicated by the circled 4) running on. In some embodiments, the service chaining module 310 ensures that reverse traffic is sent to the slice selector 225 in the correct edge cloud 205 (ie, in contrast to the edge cloud 207) of these data messages. Use a learning action (eg MAC learning) to store the source.

コアクラウド210内のサービスチェイニングモジュール310は、データメッセージが(WANゲートウェイによる処理の後に)コアクラウド210に入ってくるときに、データメッセージを受信し、(例えば、スライスセレクタ310によってデータメッセージと共に提供されるコンテキスト情報、接続のための格納されたスライスマッピング、又は他の要因に基づいて)データメッセージについてのスライスを識別する。サービスチェイニングモジュール310は、コアクラウド210内のネットワークサービスに、この場合はVNFBに、次いでVNFCにデータメッセージを提供する。図に示すように、このサービスチェイニングモジュールは、データメッセージをVNFBに送信し(丸で囲まれた5で示される)、VNFBからデータメッセージを受信し(丸で囲まれた6で示される)、メッセージをVNFCに送信し(丸で囲まれた7で示される)、VNFCからデータメッセージを受信する(丸で囲まれた8で示される)。 The service chaining module 310 in the core cloud 210 receives the data message as it enters the core cloud 210 (after processing by the WAN gateway) and provides it with the data message (eg, by the slice selector 310). Identify slices for data messages (based on contextual information, stored slice mappings for connections, or other factors). The service chaining module 310 provides data messages to network services within the core cloud 210, in this case to VNFB, and then to VNFC. As shown in the figure, this service chaining module sends a data message to the VNFB (indicated by a circled 5) and receives a data message from the VNFB (indicated by a circled 6). , Send a message to the VNFC (indicated by the circled 7) and receive a data message from the VNFC (indicated by the circled 8).

データメッセージがVNFCによって処理された後、このデータメッセージは、サービスチェイニングモジュール310によってパブリッククラウド215内の別のサービスチェイニングモジュール315(丸で囲まれた9で示される)に(例えば、コアクラウド210とパブリッククラウド215とを相互接続するWANゲートウェイを介して)送信される。サービスチェイニングモジュール310は、いくつかの実施形態では、戻りトラフィックを処理するための情報を格納するために学習メカニズムを使用して、コアクラウド210内のサービスチェイニングモジュール310と同様に動作する。パブリッククラウド215内のこのサービスチェイニングモジュール310は、データメッセージをVNFDに送信し(丸で囲まれた10で示される)、このVNFはそのネットワークサービスを実行し、データメッセージをサービスチェイニングモジュール315に戻す。 After the data message has been processed by the VNFC, the data message is sent by the service chaining module 310 to another service chaining module 315 (indicated by a circled 9) in the public cloud 215 (eg, the core cloud). It is transmitted (via a WAN gateway that interconnects 210 and the public cloud 215). In some embodiments, the service chaining module 310 operates similarly to the service chaining module 310 in the core cloud 210, using a learning mechanism to store information for processing return traffic. This service chaining module 310 in the public cloud 215 sends a data message to the VNFD (indicated by a circled 10), which executes its network service and sends the data message to the service chaining module 315. Return to.

最後に、サービスチェイニングモジュール315はそのデータメッセージについてのネットワークスライス処理が完了したと判断し、そのデータメッセージを、インターネットを介してデータメッセージをその宛先に送信する出力ゲートウェイ230に送信する。この例はエンドポイントデバイスとインターネットドメイン間の接続性を示しているが、他の仮想サービスネットワークの場合、その宛先は、代わりにパブリッククラウド内に配置されていてもよく、WANを介して接続されている別のデータセンタ内に配置されていてもよい。いくつかの実施形態の出力ゲートウェイ230は逆方向トラフィック(すなわち、パブリックインターネットドメインからのデータメッセージ)が同じスライスに割り当てられるように(ネットワーク機能が逆方向に実行される状態で)、ネットワークスライス200への接続をマッピングする情報を格納する。他の実施形態では、出力ゲートウェイ230は、非ステートフル方式で(例えば、データメッセージの宛先ネットワークアドレスを使用して)データメッセージを割り当てる。この出力ゲートウェイは、いくつかの実施形態ではサービスチェイニングモジュールとともに(又は単一のデータセンタにのみまたがる仮想サービスネットワークについての元のスライスセレクタとともに)実装されてもよい。 Finally, the service chaining module 315 determines that the network slicing process for the data message is complete and sends the data message to the output gateway 230 which sends the data message to its destination via the Internet. This example shows connectivity between an endpoint device and an internet domain, but for other virtual service networks, the destination may instead be located in the public cloud and is connected via the WAN. It may be located in another data center. The egress gateway 230 of some embodiments goes to the network slice 200 so that reverse traffic (ie, data messages from the public internet domain) is assigned to the same slice (with network functions running backwards). Stores information that maps the connection of. In another embodiment, the egress gateway 230 allocates data messages in a non-stateful manner (eg, using the destination network address of the data messages). This egress gateway may be implemented in some embodiments with a service chaining module (or with the original slice selector for a virtual service network that spans only a single data center).

スライスセレクタ、ネットワークサービス(VNF、CNF、PNFなど)は、これらのエンティティ間のデータメッセージの送信を処理するさまざまな転送要素(ホストマシン間でデータメッセージをトンネルするソフトウェア転送要素、WANゲートウェイなど)と同様に設定を必要とする。いくつかの実施形態では、集中型コントローラは、ユーザ(例えば、ネットワーク管理者)がVSN全体についての設定を提供することを可能にし、次いで、コントローラ階層はこのVSNを実装するために、1つ以上のデータセンタ内の様々なエンティティを構成する。 Slice selectors, network services (VNF, CNF, PNF, etc.) and various forwarding elements that handle the transmission of data messages between these entities (software forwarding elements that tunnel data messages between host machines, WAN gateways, etc.) It also needs to be set. In some embodiments, a centralized controller allows a user (eg, a network administrator) to provide settings for the entire VSN, and then the controller hierarchy is one or more to implement this VSN. Configure various entities in your data center.

図4は、このようなコントローラ400の階層セットを概念的に示す。この図に示すように、高レベルVSNマネージャ405は、ネットワーク管理者(例えば、データセンタテナント、電気通信プロバイダ)からVSN設定を受信する。いくつかの実施形態のVSNマネージャ405は、管理者がこのデータを提供する1つ以上のインターフェース(例えば、グラフィカルユーザインターフェース、コマンドラインインターフェース、REST APIのセット)を提供する。いくつかの実施形態では、VSNについての構成データが、VSNの異なるスライス、スライスセレクタ構成(すなわち、異なるスライスのそれぞれにデータメッセージを割り当てるための特性)、スライス上の各ネットワークサービスについてのネットワークサービス構成、各ネットワークサービスがどのように実装されることになるか(例えば、VNF、CNF、又はPNFとして)、各ネットワークサービスについての位置(例えば、エッジクラウド、コアクラウド、若しくは他のデータセンタ)、及び/又は他のデータを指定する。 FIG. 4 conceptually shows such a hierarchical set of controllers 400. As shown in this figure, the high level VSN manager 405 receives VSN settings from a network administrator (eg, data center tenant, telecommunications provider). The VSS Manager 405 of some embodiments provides one or more interfaces for the administrator to provide this data (eg, a graphical user interface, a command line interface, a set of REST APIs). In some embodiments, the configuration data for the VSN is a different slice of the VSS, a slice selector configuration (ie, a characteristic for assigning a data message to each of the different slices), and a network service configuration for each network service on the slice. , How each network service will be implemented (eg, as VNF, CNF, or PNF), the location for each network service (eg, edge cloud, core cloud, or other data center), and / Or specify other data.

VSNコントローラ410は、集中型ストレージと、階層内の他のコントローラへのこの情報の分散とを調整する。いくつかの実施形態では、各データセンタ内のコントローラ415のスイートがVSNコントローラ410からVSN構成データを受信し、データセンタ内のエンティティをVSNを実装するように構成する。いくつかの実施形態では、各データセンタがこれらの下位レベルコントローラのそれ自体のスイートを有する。これらのコントローラスイートは、各データセンタ内のコントローラの同じセット(例えば、単一の会社によって提供されるコントローラのスイート)、又はコントローラの異なるセット(例えば、パブリッククラウドと比較して、プライベートエッジクラウド及びコアクラウドのためのコントローラの異なるセット)とすることができる。 The VSN controller 410 coordinates centralized storage with the distribution of this information to other controllers in the tier. In some embodiments, a suite of controllers 415 in each data center receives VSN configuration data from the VSN controller 410 and configures the entities in the data center to implement VSN. In some embodiments, each data center has its own suite of these lower level controllers. These controller suites can be the same set of controllers in each data center (eg, a suite of controllers provided by a single company), or different sets of controllers (eg, private edge clouds and private edge clouds compared to public clouds). Can be a different set of controllers for the core cloud).

第1のデータセンタ420内のコントローラスイート415は、ソフトウェア定義ネットワーキング(SDN)コントローラ425、計算コントローラ430、及びネットワークコントローラ435を含む。異なる実施形態は追加のコントローラを含んでもよく、多数のコントローラの機能性を単一のコントローラに組み合わせてもよいことを理解されたい。例えば、いくつかの実施形態は、VSNコントローラ410とコントローラスイート415内の他のコントローラ(例えば、オープンスタックコントローラ)との間のレイヤとして働くオーケストレータを含む、又はSDNコントローラ425の特徴をネットワークコントローラ435の特徴と組み合わせる。さらに、いくつかの実施形態は、データセンタ内のVSNに関連するストレージを管理するためのストレージコントローラを含む。 The controller suite 415 in the first data center 420 includes a software defined networking (SDN) controller 425, a compute controller 430, and a network controller 435. It should be understood that different embodiments may include additional controllers and the functionality of multiple controllers may be combined into a single controller. For example, some embodiments include an orchestrator acting as a layer between the VSN controller 410 and other controllers in the controller suite 415 (eg, an openstack controller), or the SDN controller 425 features a network controller 435. Combined with the features of. In addition, some embodiments include a storage controller for managing VSN-related storage in the data center.

SDNコントローラ425は、スライスセレクタ440を構成する。この例では単一スライスセレクタ440がデータセンタ420において(例えば、ホストコンピュータ445の仮想化ソフトウェアにおいて、VMとして、又はホストコンピュータ445上のVM内で)動作するが、他の実施形態ではスライスセレクタ440がデータセンタ内で分散方式で実装されることを理解されたい。いくつかの実施形態では、SDNコントローラ425は、データメッセージをフローに正しく割り当て、データメッセージがデータセンタ420内の正しい順序で正しいネットワークサービスに送信されることを保証し、サービスチェイン動作を実行するために、フローエントリ又は他の構成データを有するスライスセレクタを構成する。加えて、ネットワークサービスをホストするがスライスセレクタはホストしないデータセンタ(例えば、電気通信プロバイダの例についてのコアクラウド、パブリック及び/又はプライベートクラウド)において、いくつかの実施形態のSDNコントローラは、出力ゲートウェイと同様に(逆方向データメッセージのためのスライス選択を実行してもよい)サービスチェイニングモジュールを構成する。 The SDN controller 425 constitutes a slice selector 440. In this example, the single slice selector 440 operates in the data center 420 (eg, in the virtualization software of the host computer 445, as a VM or in a VM on the host computer 445), but in other embodiments the slice selector 440. Please understand that is implemented in a distributed manner within the data center. In some embodiments, the SDN controller 425 correctly assigns data messages to the flow, ensures that the data messages are sent to the correct network services in the correct order within the data center 420, and to perform service chain operations. Configure a slice selector with flow entries or other configuration data. In addition, in a data center that hosts network services but not slice selectors (eg, core cloud, public and / or private cloud for the example of a telecommunications provider), some embodiments of the SDN controller are output gateways. Configure a service chaining module as well (may perform slice selection for reverse data messages).

計算コントローラ430は、(例えば、この例ではVMとしての)VNFのインスタンス化及び構成を行う役割を果たす。いくつかの実施形態では、このVMは、指定されたネットワークサービスを実装するようにVMを構成する計算コントローラ430によってホストコンピュータ450上にインスタンス化される。いくつかの実施形態では、計算コントローラ430は、VMをインスタンス化するためにファイアウォール、ロードバランサ、又は他のネットワークサービスについてのテンプレートを使用し、次いで、ネットワーク管理者によって指定されたように、ネットワークサービスのための具体的な構成データをVMに提供する。さらに、いくつかの実施形態の計算コントローラ430はまた、データセンタ420に実装される任意のCNF及び/又はPNFを構成する役割を果たす。 The compute controller 430 is responsible for instantiating and configuring the VNF (eg, as a VM in this example). In some embodiments, the VM is instantiated on the host computer 450 by a compute controller 430 that configures the VM to implement the specified network service. In some embodiments, the compute controller 430 uses a template for a firewall, load balancer, or other network service to instantiate the VM, and then, as specified by the network administrator, the network service. Provides the VM with specific configuration data for. In addition, the compute controller 430 of some embodiments also serves to constitute any CNF and / or PNF mounted in the data center 420.

ネットワークコントローラ435は、ネットワークサービスとスライスセレクタ440との間のネットワーク接続性を実装するために、転送要素(例えば、ソフトウェア転送要素455又はプログラマブルハードウェア転送要素のような他のタイプの転送要素)を構成する。この構成は、データセンタ内のエンティティ間でデータメッセージをトンネルするためにそれらのデータメッセージのカプセル化を実行するのと同様、例えばスライスの様々なエンティティ(スライスセレクタ及びネットワークサービス)を接続する論理転送プレーンに従う転送を含む。ホストコンピュータ450上に示されるソフトウェア転送要素455(例えば、仮想化ソフトウェアで動作する仮想スイッチ)に加えて、いくつかの実施形態では、同様のソフトウェア転送要素がホストコンピュータ445内で、スライスセレクタ440との間でデータメッセージを転送し、カプセル化/カプセル化解除することを実行する。いくつかの実施形態では(例えば、スライスセレクタがソフトウェア転送要素内で、又はソフトウェア転送要素とVMとの間で分散方式で実装される場合)、ネットワークコントローラ435はまた、スライスセレクタ構成を受信し、スライスセレクタを実装するように適切なネットワークエンティティを構成する。 The network controller 435 implements a transfer element (eg, a software transfer element 455 or another type of transfer element such as a programmable hardware transfer element) to implement network connectivity between the network service and the slice selector 440. Configure. This configuration is similar to performing encapsulation of data messages to tunnel data messages between entities in the data center, for example, a logical transfer connecting various entities in a slice (slice selectors and network services). Includes plane-following transfers. In addition to the software transfer element 455 shown on the host computer 450 (eg, a virtual switch running in virtualization software), in some embodiments, a similar software transfer element is in the host computer 445 with the slice selector 440. Transfer data messages between and perform encapsulation / decapsulation. In some embodiments (eg, when the slice selector is implemented within the software transfer element or between the software transfer element and the VM in a distributed manner), the network controller 435 also receives the slice selector configuration. Configure the appropriate network entity to implement the slice selector.

コントローラスイート415内のこれらのコントローラに加えて、いくつかの実施形態は、1つ又は複数のWAN SDNコントローラ460も含む。WAN SDNコントローラ460は、必要に応じてデータセンタを相互接続する役割を果たし、そのために各データセンタ内のWANゲートウェイ465を構成する。これらのWANゲートウェイは、データセンタ間通信にMPLS、SD-WAN、又はその他の技術を使用してデータセンタを相互接続してもよい。多くの場合、すべてのデータセンタが直接通信を必要とするわけではない。例えば、電気通信の例では、エッジクラウドは、データトラフィックがエッジクラウド間ではなくエッジクラウドとコアクラウドとの間で送信されるため、互いに通信する必要がない場合がある。 In addition to these controllers in controller suite 415, some embodiments also include one or more WAN SDN controllers 460. The WAN SDN controller 460 serves to interconnect the data centers as needed, thereby configuring the WAN gateway 465 within each data center. These WAN gateways may interconnect data centers using MPLS, SD-WAN, or other techniques for inter-data center communication. In many cases, not all data centers require direct communication. For example, in the telecommunications example, edge clouds may not need to communicate with each other because data traffic is sent between the edge cloud and the core cloud rather than between the edge clouds.

いくつかの実施形態では、コントローラスイート415内のコントローラ及びWAN SDNコントローラ460と直接通信するのではなく、VSNコントローラ410が、各データセンタ内のエージェント及びWAN SDNコントローラ460のエージェントにデータを提供する。これらのエージェントは、(すべてのコントローラに対して一様なフォーマットで提供されてもよい)VSNコントローラ410からのデータを、様々なコントローラスイートが使用できるデータに変換する役割を果たす。いくつかの実施形態では、VSNコントローラ410はポリシーフォーマットのデータをローカルエージェントにプッシュし、ローカルエージェントはこのデータを、様々なSDNコントローラ、計算コントローラ、及び/又はネットワークコントローラに、それらのポリシーに従ってデータセンタ構成要素を設定するように指示するデータへと変換する。これにより、VSNコントローラ410は様々な異なる種類のコントローラスイート(例えば、異なるパブリッククラウドコントローラ、エンタープライズデータセンタコントローラスイート)と通信するために単一のフォーマットを使用することができる。同様に、WAN SDNコントローラ460について、このエージェントは、ポリシーをWAN設定命令に変換する。 In some embodiments, rather than communicating directly with the controller in controller suite 415 and the WAN SDN controller 460, the VSN controller 410 provides data to the agents in each data center and the agents of the WAN SDN controller 460. These agents serve to transform the data from the VSN controller 410 (which may be provided in a uniform format for all controllers) into data that can be used by the various controller suites. In some embodiments, the VSS controller 410 pushes policy-formatted data to a local agent, which sends this data to various SDN controllers, compute controllers, and / or network controllers according to their policies. Convert to data that tells you to set the components. This allows the VSN controller 410 to use a single format to communicate with a variety of different types of controller suites (eg, different public cloud controllers, enterprise data center controller suites). Similarly, for the WAN SDN controller 460, this agent translates the policy into a WAN configuration instruction.

上述のように、ネットワークスライスセレクタは、異なる実施形態では異なる技法を使用してデータメッセージをスライスに割り当ててもよい。スライス選択は、レイヤ2~レイヤ4(L2~L4)ヘッダを含むパケットヘッダ情報に基づいてもよく、及び/又は(例えば、レイヤ5~レイヤ7(L5~L7)ヘッダのデータに基づいてトラフィックを分類するために)ディープパケットインスペクションを実行することによってもよい。例えば、スライス選択はソースネットワークレイヤ(例えば、IP)アドレスを使用することによって単にソースデバイスに基づいてもよく、上位レイヤ(L5-L7)ヘッダを見ることによってトラフィックの種類/又は宛先ネットワークドメインに基づいてもよい。 As mentioned above, the network slice selector may assign data messages to slices using different techniques in different embodiments. Slice selection may be based on packet header information including Layer 2 to Layer 4 (L2 to L4) headers and / or traffic (eg, based on data in Layer 5 to Layer 7 (L5 to L7) headers). You may also perform a deep packet inspection (to classify). For example, slice selection may simply be based on the source device by using the source network layer (eg IP) address, or based on the traffic type / or destination network domain by looking at the higher layer (L5-L7) header. You may.

加えて、いくつかの実施形態では、ネットワークスライスセレクタが(例えば、ユーザセッション、デバイスタイプ、又は他のデータに関する)接続に関する追加の情報を収集するために他の制御プレーン構成要素と統合し、この情報をスライス選択処理の一部として使用する(例えば、この収集された情報のみを使用する、又はこの情報をL2-L4及び/若しくはL5-L7パケットヘッダデータと組み合わせる)。そのような制御プレーン構成要素の例は、認証、許可、及び会計(AAA)プロトコル(例えば、リモート認証ダイヤルインユーザサービス(RADIUS))、ポリシー制御及び課金ルール機能(PCRF)、又はデバイス及び/又はユーザデータをスライスセレクタに提供することができる他のそのような構成要素を含む。 In addition, in some embodiments, the network slice selector integrates with other control plane components to collect additional information about the connection (eg, regarding user sessions, device types, or other data). Use the information as part of the slice selection process (eg, use only this collected information, or combine this information with L2-L4 and / or L5-L7 packet header data). Examples of such control plane components are authentication, authorization, and accounting (AAA) protocols (eg, remote authentication dial-in user service (RADIUS)), policy control and billing rule functions (PCRF), or devices and / or. Includes other such components that can provide user data to the slice selector.

いくつかの実施形態では、ネットワークスライスセレクタは、接続の各データメッセージに対してディープパケットインスペクションを実行する必要がないように、ネットワークスライスへの接続をマッピングするための状態を維持する。また、いくつかの接続では、特定のデータメッセージにのみ、スライス選択の実行に必要なL5-L7ヘッダ情報が含まれる。 In some embodiments, the network slice selector maintains a state for mapping connections to network slices so that it is not necessary to perform deep packet inspection for each data message on the connection. Also, in some connections, only certain data messages contain the L5-L7 header information needed to perform slice selection.

ディープパケットインスペクションを使用してネットワークスライス選択を実行する場合、特定のケースでは、接続の初期データメッセージに、スライスセレクタがスライスを正しく識別するために必要なL5-L7ヘッダ情報が含まれないことがある。例えば、エンドポイントデバイス(例えば、スマートフォン若しくはタブレットのようなモバイルデバイス、ラップトップ若しくはデスクトップコンピュータ、IoTデバイス、自動運転車、セキュリティシステムに属するスマートカメラ)とネットワークドメイン(例えば、www.netflix.com、www.google.comのようなウェブドメイン)との間の接続はしばしば、TCPハンドシェイクのような接続開始メッセージのセットで始まる。ハンドシェイクが完了すると、デバイスはネットワークドメインを含むhttp getメッセージなどを送信する。デバイスとネットワークドメインとの間で送信される後続のデータメッセージは、このような情報を含んでいなくてもよい。 When performing network slice selection using deep packet inspection, in certain cases the initial data message for the connection may not contain the L5-L7 header information needed for the slice selector to correctly identify the slice. be. For example, endpoint devices (eg mobile devices such as smartphones or tablets, laptops or desktop computers, IoT devices, self-driving cars, smart cameras belonging to security systems) and network domains (eg www.netflex.com, www. Connections with (web domains such as .google.com) often begin with a set of connection initiation messages such as the TCP handshake. When the handshake is complete, the device sends an http get message containing the network domain and the like. Subsequent data messages sent between the device and the network domain may not contain such information.

(i)クライアント(例えば、エンドポイントデバイス)とサーバ(例えば、ウェブドメイン)との間で接続が正しく開始されること、及び(ii)ネットワークスライスが第1のメッセージに基づいて選択できない場合であっても、メッセージのすべてが正しいネットワークスライス上で送信されること、を保証しながら、接続のための正しいネットワークスライスを識別するために、異なる実施形態は異なる技法を使用する。いくつかの実施形態では、ネットワークスライスセレクタは、仮想サービスネットワークをわたって意図された宛先にこれらのメッセージを送信することなく、接続開始メッセージを終了するためのプロキシとして働く。他の実施形態では、スライスセレクタは、最初に接続開始メッセージをデフォルトネットワークスライスに渡し、次いで、ネットワークスライスが選択された後に、接続のための正しいネットワークスライス上でメッセージを再生する。 (I) The connection between the client (eg, the endpoint device) and the server (eg, the web domain) is successfully initiated, and (ii) the network slice cannot be selected based on the first message. Different embodiments use different techniques to identify the correct network slice for a connection, even while ensuring that all of the messages are sent on the correct network slice. In some embodiments, the network slice selector acts as a proxy to terminate the connection start message without sending these messages to the intended destination across the virtual service network. In another embodiment, the slice selector first passes the connection start message to the default network slice, then plays the message on the correct network slice for the connection after the network slice is selected.

図5は、スライスセレクタがソフト終端プロキシとして動作する接続のためのメッセージを送信するための、エンドポイントデバイス505、スライスセレクタ510、出力ゲートウェイ515、及びネットワークドメイン520(例えば、サーバ)間の対話を示すフロー図を示す。この例はTCP3ウェイハンドシェイクを使用してエンドポイント装置505によって開始される接続を示すが、いくつかの実施形態のスライスセレクタ510は、他の種類の接続開始メッセージング(例えば、TLSハンドシェイク、UDP上のQUIC接続)に対して同様の終了を実行することも可能である。この例では、(例えば、SD-WAN又はMPLSによって接続される)プライベート及びパブリッククラウドのセットは、(スライスセレクタ510と出力ゲートウェイ515との間で)スライスされる仮想サービスネットワークをホストするが、出力ゲートウェイはこのVSNをインターネット(及びネットワークドメイン520)に接続する。 FIG. 5 shows a dialogue between an endpoint device 505, a slice selector 510, an output gateway 515, and a network domain 520 (eg, a server) for sending a message for a connection in which the slice selector acts as a soft termination proxy. The flow diagram shown is shown. Although this example shows a connection initiated by the endpoint device 505 using a TCP 3-way handshake, the slice selector 510 of some embodiments provides other types of connection initiation messaging (eg, TLS handshake, UDP). It is also possible to perform a similar termination for the above QUIC connection). In this example, a set of private and public clouds (eg, connected by SD-WAN or MPLS) hosts a virtual service network that is sliced (between slice selector 510 and output gateway 515), but outputs. The gateway connects this VSS to the Internet (and network domain 520).

図に示すように、エンドポイントデバイス505(例えば、スマートフォン、自動運転車、IoTデバイス)は最初に、(例えば、ネットワークドメインの宛先IPアドレスを使用して)ネットワークドメイン520に向けられたTCP SYNメッセージを送信する。このようなメッセージは、開始される接続をネットワークスライスの1つへと割り当てるために使用するスライスセレクタ510についての有効なヘッダ情報(例えば、L5-L7ヘッダ情報)を持たないことがある。前述したように、いくつかの実施形態では、ネットワークスライスが用途指定及び/又はデバイス指定であり、待ち時間、帯域幅、ジッタ、又は異なるアプリケーション又はデバイスタイプの他の要件を満たすように構成される。ストリーミングビデオ、自動運転の乗り物、IoTデバイス、及び他のデバイス/アプリケーションはすべて、異なるSLAを有する異なるネットワークスライスによって満たされ得る異なる要件を有する。 As shown in the figure, the endpoint device 505 (eg, a smartphone, self-driving car, IoT device) first has a TCP SYN message directed to the network domain 520 (eg, using the destination IP address of the network domain). To send. Such messages may not have valid header information (eg, L5-L7 header information) for the slice selector 510 used to assign the initiated connection to one of the network slices. As mentioned above, in some embodiments, the network slice is application-specified and / or device-specified and is configured to meet latency, bandwidth, jitter, or other requirements of a different application or device type. .. Streaming video, self-driving vehicles, IoT devices, and other devices / applications all have different requirements that can be met by different network slices with different SLAs.

ネットワークを介してインターネット(及び最終的にはネットワークドメイン520)に接続開始メッセージ(SYNメッセージ)を転送するのではなく、スライスセレクタ510は、接続開始のソフト終了を実行する。スライスセレクタ510は、SYNメッセージの記録(すなわち、メッセージ自体又はメッセージを再作成するのに十分なデータ)を格納し、SYN-ACKメッセージでエンドポイント装置505に応答する。このSYN-ACKメッセージは、ネットワークドメインがSYNメッセージを受信し、SYN-ACKメッセージで応答したかのようにフォーマットされる。これにより、エンドポイント装置505はACKメッセージを送信し、ネットワークドメイン520との接続がセットアップされたかのように動作する。スライスセレクタ505は後続の使用のために、全ての接続開始メッセージに関するデータを格納する。 Instead of forwarding the connection start message (SYN message) to the Internet (and ultimately the network domain 520) over the network, the slice selector 510 executes the soft termination of the connection start. The slice selector 510 stores a record of the SYN message (ie, the message itself or enough data to recreate the message) and responds to the endpoint device 505 with a SYN-ACK message. This SYN-ACK message is formatted as if the network domain received the SYN message and responded with the SYN-ACK message. As a result, the endpoint device 505 sends an ACK message and operates as if the connection with the network domain 520 was set up. The slice selector 505 stores data for all connection start messages for subsequent use.

接続の出現が適切にセットアップされたことに基づいて、次いでエンドポイント装置505は、データ要求メッセージ(又は他のメッセージ)を送信する。このメッセージには、通常、スライスセレクタがネットワークスライスに正しく接続を割り当てるために必要なL7情報(又はTLSサーバ名表示などの他の上位レイヤ情報)が含まれる。例えば、図6は、http getメッセージ600を概念的に示す。このようなメッセージは、ソース、宛先のIPアドレス、及びトランスポートレイヤプロトコルフィールドを含むL3ヘッダ(L2ヘッダなどは簡潔にするために図示されていない)と、ソース及び宛先のポート番号を含むL4ヘッダと、を有する。さらに、メッセージ600のL7ヘッダの一部は、http getコマンド(この場合、www.exampledomain.com)内のドメイン名を含む。 Based on the appearance of the connection being properly set up, the endpoint device 505 then sends a data request message (or other message). This message typically contains L7 information (or other higher layer information such as TLS server name display) that the slice selector needs to properly assign connections to network slices. For example, FIG. 6 conceptually shows the http get message 600. Such messages include an L3 header containing source, destination IP addresses, and transport layer protocol fields (such as the L2 header is not shown for brevity) and an L4 header containing source and destination port numbers. And have. In addition, part of the L7 header of message 600 includes the domain name in the http get command (in this case, www.exampledomain.com).

スライスセレクタ510は、データメッセージ(この場合はデータ要求)に対してディープパケットインスペクションを実行して、接続のための正しいネットワークスライスを識別する。いくつかの実施形態では、これはL5-L7ヘッダ(例えば、図6に示されるhttpデータ)をインスペクションすることを含む。さらに、スライスセレクタ510は後続のデータメッセージを処理する際に使用するために、選択されたネットワークスライスへの接続をマッピングする状態を格納する。いくつかの実施形態では、スライスセレクタは、このマッピングを、スライス識別子にマッピングされた接続5タプル(すなわち、ソース及び宛先ネットワークアドレス、トランスポートレイヤプロトコル、ソース及び宛先トランスポートレイヤポート)として格納する。さらに、いくつかの実施形態は同じネットワークスライスへの割り当てを必要とするであろう関連する接続を識別し、これらの接続についての状態も格納する。一例として、ストリーミングビデオセッションは、いくつかの実施形態では(オーディオのため、及び異なるビデオ解像度のため)複数の別個のTCP接続を含むだろう。 The slice selector 510 performs deep packet inspection on the data message (data request in this case) to identify the correct network slice for the connection. In some embodiments, this involves inspecting the L5-L7 header (eg, the http data shown in FIG. 6). In addition, the slice selector 510 stores a state that maps the connection to the selected network slice for use in processing subsequent data messages. In some embodiments, the slice selector stores this mapping as a connection 5 taple mapped to a slice identifier (ie, source and destination network addresses, transport layer protocol, source and destination transport layer ports). In addition, some embodiments identify related connections that may require allocation to the same network slice and also store the state for these connections. As an example, a streaming video session will include multiple separate TCP connections (for audio and for different video resolutions) in some embodiments.

図7は、スライスセレクタによって格納されるいくつかの実施形態の接続マッピングテーブル700のエントリを示す。図示されているように、このテーブルはスライス識別子にマッピングされた5タプルによるエントリを含む。いくつかの実施形態では、これらのエントリは、スライスセレクタを実装するフローベースの転送要素のためのフローエントリとして生成される。各フローエントリについて、マッチング条件は接続5タプルで、そのアクションは指定されたスライスにデータメッセージを割り当てることである。この表700が示すように、単一のソースデバイス(例えば、IP1)は、複数の異なるネットワークスライスに割り当てられた複数の進行中の接続を(例えば、同時ウェブブラウジング接続及びオーディオストリームのために)有することができる。さらに、スライスセレクタは、複数の異なるデバイスのための接続を同じスライスに割り当てることができる(例えば、複数の自動運転車、2つのデバイスが同時にビデオをストリーミングする)。いくつかの実施形態では、5タプル以外の追加情報がマッチング条件(例えば、VLAN情報又は他の仮想ネットワーク識別子)に含まれる。 FIG. 7 shows entries in the connection mapping table 700 of some embodiments stored by the slice selector. As shown, this table contains 5 tuple entries mapped to slice identifiers. In some embodiments, these entries are generated as flow entries for a flow-based transfer element that implements a slice selector. For each flow entry, the matching condition is 5 tuples of connections and the action is to assign a data message to the specified slice. As shown in Table 700, a single source device (eg, IP1) has multiple ongoing connections (eg, for simultaneous web browsing connections and audio streams) assigned to different network slices. Can have. In addition, the slice selector can assign connections for different devices to the same slice (eg, multiple self-driving cars, two devices streaming video at the same time). In some embodiments, additional information other than 5 tuples is included in the matching condition (eg, VLAN information or other virtual network identifier).

次いでスライスセレクタ510は、接続開始メッセージを宛先ネットワークドメインと交換し、今回は宛先ドメインではなくデバイスとして機能する。これらの接続開始メッセージは、選択されたネットワークスライス上のすべてのネットワークサービスが接続開始メッセージを処理するように、選択されたネットワークスライスを介して送信される。図示のように、スライスセレクタ510は、選択されたネットワークスライス及び出力ゲートウェイ515を介して、SYNメッセージをネットワークドメイン520に送信する。出力ゲートウェイ515は、いくつかの実施形態では、ネットワークドメイン520からの戻りトラフィックも選択されたネットワークスライスを介して送信できるように、スライスマッピング状態への接続も格納する。ネットワークドメイン520は、選択されたネットワークスライスを介して出力ゲートウェイ515が送信するSYN-ACKメッセージを返す。スライスセレクタ510がSYN-ACKメッセージを認識し、(選択されたネットワークスライスを介して)ネットワークドメインにACKメッセージを返すため、このメッセージはエンドポイントデバイス510に達しない。この時点で、全体の3ウェイハンドシェイクが完全に交換されたので、エンドポイントデバイス505とネットワークドメイン520との間で接続が完全に開始される。 The slice selector 510 then exchanges the connection start message with the destination network domain, this time acting as a device rather than the destination domain. These connection start messages are sent through the selected network slice so that all network services on the selected network slice process the connection start message. As shown, the slice selector 510 sends a SYN message to the network domain 520 via the selected network slice and output gateway 515. The egress gateway 515 also stores the connection to the slice mapping state so that, in some embodiments, return traffic from the network domain 520 can also be sent through the selected network slice. The network domain 520 returns a SYN-ACK message sent by the egress gateway 515 over the selected network slice. This message does not reach the endpoint device 510 because the slice selector 510 recognizes the SYN-ACK message and returns the ACK message to the network domain (via the selected network slice). At this point, the entire 3-way handshake has been completely exchanged and the connection between the endpoint device 505 and the network domain 520 is fully initiated.

次いで、スライスセレクタ510は選択されたネットワークスライスを介して、データ要求(すなわち、ディープパケットインスペクションが実行された最初のデータメッセージ)をネットワークドメイン520に送信することができる。接続のための後続のデータメッセージもエンドポイントデバイス505とネットワークドメイン520との間で交換され、(戻りトラフィックのための出力ゲートウェイ515と同様に)ディープパケットインスペクションを実行することなくこのトラフィックを選択されたネットワークスライスに割り当てるために、スライスセレクタ510が格納された状態を使用する。これにより、接続のすべてのデータメッセージに対してディープパケットインスペクションを実行することが回避され、これは、この接続に属するすべてのデータメッセージのL5~L7ヘッダに必要な情報がない可能性があるため、不可能な場合がある。図8はデータメッセージ700を概念的に示す。データメッセージ800は、データメッセージ600のものと同様のL3及びL4ヘッダを有するが、L7ヘッダは同一のネットワークドメイン情報を含まない。代わりに、このデータメッセージのL7部分はいくつかの実施形態のスライスセレクタには無用なペイロードデータ(例えば、ビデオデータ又はオーディオデータ)を含む。 The slice selector 510 can then send a data request (ie, the first data message on which deep packet inspection was performed) to the network domain 520 via the selected network slice. Subsequent data messages for the connection are also exchanged between the endpoint device 505 and the network domain 520, and this traffic is selected without performing deep packet inspection (similar to the egress gateway 515 for return traffic). The state in which the slice selector 510 is stored is used to allocate to the network slice. This avoids performing deep packet inspections on all data messages on the connection, as the L5 to L7 headers on all data messages belonging to this connection may not have the required information. , May not be possible. FIG. 8 conceptually shows the data message 700. The data message 800 has the same L3 and L4 headers as those of the data message 600, but the L7 header does not contain the same network domain information. Instead, the L7 portion of this data message contains payload data (eg, video or audio data) that is useless to the slice selectors of some embodiments.

図9は、接続ハンドシェイクを終了することによって、エンドポイントデバイスと宛先ネットワークドメインとの間の接続をVSNのネットワークスライスに割り当てるためのいくつかの実施形態の処理900を概念的に示す。いくつかの実施形態では、処理900が図5に示されるスライスセレクタ510などのスライスセレクタによって実行される。同様の処理は他の種類のネットワーク(例えば、パブリックインターネットに到達しないデータセンタ内通信又はデータセンタ間通信)におけるスライスセレクタによって実行され得る。 FIG. 9 conceptually illustrates processing 900 of some embodiments for assigning a connection between an endpoint device and a destination network domain to a network slice of a VSN by terminating the connection handshake. In some embodiments, processing 900 is performed by a slice selector such as the slice selector 510 shown in FIG. Similar processing can be performed by slice selectors in other types of networks (eg, intra-datacenter or inter-datacenter communications that do not reach the public Internet).

図示のように、処理900はエンドポイントデバイス(例えば、電話、自動運転車、タブレット、IoTデバイス)から接続開始メッセージを受信することによって(905において)開始する。このメッセージは、TCP SYNメッセージ、TLSハンドシェイクの最初のメッセージ、UDP上のQUICプロトコルメッセージ、又は他の接続開始メッセージであってもよい。次いでこの処理は、ハンドシェイクメッセージ(又はハンドシェイクメッセージの再作成に必要なデータ)のコピーを格納しながら、エンドポイントデバイスとの接続ハンドシェイクの残りを(910において)実行する。例えば、TCP3ウェイハンドシェイクの例では、スライスセレクタがこのハンドシェイクでサーバとして機能するエンドポイントデバイスとSYN-ACK及びACKメッセージを交換する。最適化されたシングルメッセージ接続開始(例えば、QUICプロトコル)の場合、この動作は必要ではなく、スライスセレクタは、エンドポイントデバイスとのハンドシェイクを実行することなく、初期メッセージ又は後続メッセージの一方に対してディープパケットインスペクションを実行する。 As shown, processing 900 starts (at 905) by receiving a connection start message from an endpoint device (eg, a telephone, self-driving car, tablet, IoT device). This message may be a TCP SYN message, the first message of the TLS handshake, a QUIC protocol message on UDP, or another connection start message. This process then performs the rest of the connection handshake with the endpoint device (at 910) while storing a copy of the handshake message (or the data needed to recreate the handshake message). For example, in the TCP 3-way handshake example, the slice selector exchanges SYN-ACK and ACK messages with an endpoint device that acts as a server in this handshake. For an optimized single message connection initiation (eg, QUIC protocol), this behavior is not necessary and the slice selector can be used for either the initial message or subsequent messages without performing a handshake with the endpoint device. And perform deep packet inspection.

この接続がエンドポイントデバイス上でセットアップされると、処理900は、エンドポイントデバイスからの接続のための初期データメッセージを(915において)受信する。これは、図6に示すようなhttp getメッセージ、又は別のデータメッセージであってもよい。多くの場合、このデータメッセージはスライス選択を実行するために有効な情報を含むので、処理900は、(920において)接続のためのネットワークスライスを選択するためにデータメッセージを分析する。このディープパケットインスペクションは、コンタクトされるドメインの名前、(例えば、接続を開始するアプリケーションの種類を識別するために)使用中の特定のL7プロトコル、又はデータメッセージの上位レイヤヘッダの他の情報を調べてもよい。処理900はまた、(例えば、5タプルを使用して)選択されたネットワークスライスに接続をマッピングする状態を(925において)格納する。この情報は(例えば、接続のための新しいフローエントリを生成することによって)図7に示されるような接続マッピングテーブルに格納されてもよい。 When this connection is set up on the endpoint device, process 900 receives an initial data message (at 915) for the connection from the endpoint device. This may be a http get message as shown in FIG. 6, or another data message. Often, this data message contains useful information for performing slice selection, so process 900 analyzes the data message to select a network slice for the connection (at 920). This deep packet inspection looks at the name of the domain to be contacted, the particular L7 protocol in use (for example, to identify the type of application initiating the connection), or other information in the upper layer headers of the data message. You may. Process 900 also stores (at 925) the state of mapping the connection to the selected network slice (eg, using 5 tuples). This information may be stored in a connection mapping table as shown in FIG. 7 (eg, by creating a new flow entry for the connection).

次に、処理900は、エンドポイントデバイスとネットワークドメインとの間の接続を確立するために、接続ハンドシェイクメッセージを、選択されたネットワークスライスを介して宛先ネットワークドメインに(930において)送信する。このメッセージ交換では、スライスセレクタは、ネットワークドメインではなくエンドポイントデバイスとして機能し、ネットワークドメインサーバーが接続をセットアップできるようにする。これはまた、これらのサービスは後続のデータメッセージのために準備されるように、選択されたネットワークスライスのネットワークサービスが接続開始メッセージを処理することを可能にする(例えば、ファイアウォールはしばしば、原稿の3ウェイハンドシェイクメッセージを処理していないTCP接続について、データメッセージを拒否するように設定される)。 Processing 900 then sends a connection handshake message (at 930) to the destination network domain via the selected network slice to establish a connection between the endpoint device and the network domain. In this message exchange, the slice selector acts as an endpoint device rather than a network domain, allowing the network domain server to set up a connection. This also allows the network service of the selected network slice to process the connection start message so that these services are prepared for subsequent data messages (eg, firewalls are often in the manuscript). Set to reject data messages for TCP connections that are not processing the 3-way handshake message).

処理900はまた、選択されたネットワークスライスを介して宛先ネットワークドメインに初期データメッセージを(935において)送信する。さらに、処理900は、格納された接続マッピング状態を使用して、選択されたネットワークスライスを介して、接続のための後続のデータメッセージを(940において)受信し、送信する。格納されたこの状態により、スライスセレクタは、ディープパケットインスペクションを実行する必要なく(これは前述のように、後続のデータメッセージの多くでは不可能な場合もある)、エンドポイントデバイスからの接続についての各データメッセージを選択されたネットワークスライスへと割り当てることができる。 Process 900 also sends an initial data message (at 935) to the destination network domain via the selected network slice. In addition, process 900 uses the stored connection mapping state to receive and transmit (at 940) subsequent data messages for the connection via the selected network slice. This stored state allows the slice selector to perform a deep packet inspection (which, as mentioned above, may not be possible for many subsequent data messages), for connections from endpoint devices. Each data message can be assigned to a selected network slice.

前述したように、スライスセレクタで接続開始メッセージを終了するのではなく、いくつかの実施形態は、最初にこれらのメッセージをデフォルトのネットワークスライスの方向へと通過させ、次いでネットワークスライスが選択された後、接続のための正しいネットワークスライスを介してメッセージを再生する。図10は、スライスセレクタ及び出力ゲートウェイがハンドシェイク再生を実行する接続のためのメッセージを送信するための、エンドポイントデバイス1005、スライスセレクタ1010、出力ゲートウェイ1015、及びネットワークドメイン1020(例えば、サーバ)の間の対話を示すフロー図を図示する。この例はTCP3ウェイハンドシェイクを使用してエンドポイント装置1005によって開始される接続を示すが、いくつかの実施形態のスライスセレクタ1010は、他の種類の接続開始メッセージング(例えば、TLSハンドシェイク、UDP上のQUIC接続)に対して同様の再生を実行することも可能である。この例では、(例えば、SD-WAN又はMPLSによって接続される)プライベート及びパブリッククラウドのセットは、(スライスセレクタ1010と出力ゲートウェイ1015との間で)スライスされる仮想サービスネットワークをホストするが、出力ゲートウェイ1015はこのVSNをインターネット(及びネットワークドメイン1020)に接続する。 As mentioned earlier, rather than terminating the connection start message with the slice selector, some embodiments first pass these messages in the direction of the default network slice, and then after the network slice is selected. , Play the message through the correct network slice for the connection. FIG. 10 shows the endpoint device 1005, the slice selector 1010, the output gateway 1015, and the network domain 1020 (eg, a server) for the slice selector and the output gateway to send a message for a connection to perform handshake playback. The flow diagram which shows the dialogue between is illustrated. Although this example shows a connection initiated by the endpoint device 1005 using a TCP 3-way handshake, the slice selector 1010 of some embodiments provides other types of connection initiation messaging (eg, TLS handshake, UDP). It is also possible to perform the same reproduction for the above QUIC connection). In this example, a set of private and public clouds (eg, connected by SD-WAN or MPLS) hosts a virtual service network that is sliced (between slice selector 1010 and output gateway 1015), but outputs. Gateway 1015 connects this VSS to the Internet (and network domain 1020).

図に示すように、エンドポイントデバイス1005(例えば、スマートフォン、自動運転車、IoTデバイス)は最初に、(例えば、ネットワークドメインの宛先IPアドレスを使用して)ネットワークドメイン1020に向けられたTCP SYNメッセージを送信する。このようなメッセージは上述したように、開始される接続をネットワークスライスの1つに割り当てるために使用するスライスセレクタ1010についての有効なL5-L7ヘッダ情報を持たない。この場合、ハンドシェイクを終了してエンドポイントデバイスに応答するのではなく、スライスセレクタ1010は、TCP SYNメッセージをデフォルトのネットワークスライスに割り当て、このネットワークを介してネットワークドメイン1020に(出力ゲートウェイ1015を介して)メッセージを送信する。さらに、スライスセレクタ1010及び出力ゲートウェイ1015の両方はSYNメッセージの記録(すなわち、メッセージ自体、又はメッセージを再作成するのに十分なデータ)を格納する。ネットワークドメイン1020は、出力ゲートウェイ1015がデフォルトスライスに割り当てるSYN-ACKメッセージで応答し、スライスセレクタは、エンドポイントデバイス1005からのACKメッセージを同様に扱う。 As shown in the figure, the endpoint device 1005 (eg, a smartphone, self-driving car, IoT device) first has a TCP SYN message directed to the network domain 1020 (eg, using the destination IP address of the network domain). To send. Such messages do not have valid L5-L7 header information for the slice selector 1010 used to assign the initiated connection to one of the network slices, as described above. In this case, instead of exiting the handshake and responding to the endpoint device, the slice selector 1010 assigns a TCP SYN message to the default network slice and over this network to the network domain 1020 (via the output gateway 1015). Send a message. In addition, both the slice selector 1010 and the output gateway 1015 store a record of the SYN message (ie, the message itself, or enough data to recreate the message). The network domain 1020 responds with a SYN-ACK message that the output gateway 1015 assigns to the default slice, and the slice selector treats the ACK message from the endpoint device 1005 as well.

エンドポイントデバイス1005とネットワークドメイン1020との間の接続セットアップにより、次いでエンドポイントデバイス1005はデータ要求メッセージ(又は他のメッセージ)を送信する。このメッセージは通常、用途指定又はデバイス指定のネットワークスライスに接続を正しく割り当てるために、スライスセレクタによって必要とされるL5~L7情報を有する。上述の図6は、そのようなメッセージ600の例を概念的に示す。 By setting up the connection between the endpoint device 1005 and the network domain 1020, the endpoint device 1005 then sends a data request message (or other message). This message usually has L5 to L7 information required by the slice selector to properly assign a connection to a usage-specified or device-specified network slice. FIG. 6 above conceptually shows an example of such a message 600.

スライスセレクタ1010は、データメッセージ(この場合はデータ要求)に対してディープパケットインスペクションを実行して、接続のための正しいネットワークスライスを識別する。いくつかの実施形態では、これはL5-L7ヘッダ(例えば、図6に示されるhttpデータ)をインスペクションすることを含む。さらに、スライスセレクタ1010は後続のデータメッセージを処理する際に使用するために、選択されたネットワークスライスへの接続をマッピングする状態を格納する。いくつかの実施形態では、スライスセレクタは、上述した図7に示すように、このマッピングを、スライス識別子にマッピングされた接続5タプル(すなわち、ソース及び宛先ネットワークアドレス、トランスポートレイヤプロトコル、ソース及び宛先トランスポートレイヤポート)として格納する。さらに、いくつかの実施形態は同じネットワークスライスへの割り当てを必要とするであろう関連する接続を識別し、これらの接続についての状態も格納する。一例として、ストリーミングビデオセッションは、いくつかの実施形態では(オーディオのため、及び異なるビデオ解像度のため)複数の別個のTCP接続を含むだろう。 The slice selector 1010 performs deep packet inspection on the data message (data request in this case) to identify the correct network slice for the connection. In some embodiments, this involves inspecting the L5-L7 header (eg, the http data shown in FIG. 6). In addition, the slice selector 1010 stores a state that maps the connection to the selected network slice for use in processing subsequent data messages. In some embodiments, the slice selector makes this mapping a connection 5 taple (ie, source and destination network address, transport layer protocol, source and destination) mapped to the slice identifier, as shown in FIG. 7 above. Store as a transport layer port). In addition, some embodiments identify related connections that may require allocation to the same network slice and also store the state for these connections. As an example, a streaming video session will include multiple separate TCP connections (for audio and for different video resolutions) in some embodiments.

しかしながら、選択したスライスにデータメッセージを送信する前に、スライスセレクタは選択されたネットワークスライスを介して接続開始メッセージを再生する。選択されたスライスのさまざまなネットワークサービスは、まだ接続開始メッセージを処理していないため、これらのデータメッセージがハンドシェイクを再生せずに送信された場合、接続のデータメッセージを拒否する可能性がある。したがって、図示のように、スライスセレクタ1010は、その格納されたデータを使用して、TCP3ウェイハンドシェイクメッセージを、これらのメッセージの情報も格納している出力ゲートウェイ515と交換する。SYN、SYN-ACK、及びACKメッセージは、選択されたネットワークスライスを介してスライスセレクタ1010と出力ゲートウェイ1015との間で送信される。これらのメッセージは、エンドポイントデバイス1005とネットワークドメイン1020との間の接続がすでに確立されているので、仮想サービスネットワークの外部(すなわち、エンドポイントデバイス又はパブリックインターネットのいずれにも)に送信されない。出力ゲートウェイ1015は、いくつかの実施形態では、ネットワークドメイン1020からの戻りトラフィックが選択されたネットワークスライスを介して送信され得るように、スライスマッピング状態への接続も格納する。 However, before sending the data message to the selected slice, the slice selector plays the connection start message through the selected network slice. The various network services in the selected slice have not yet processed the connection start message, so if these data messages are sent without playing the handshake, they may reject the connection data message. .. Therefore, as shown, the slice selector 1010 uses its stored data to exchange TCP 3-way handshake messages with the output gateway 515, which also stores information for these messages. The SYN, SYN-ACK, and ACK messages are transmitted between the slice selector 1010 and the output gateway 1015 via the selected network slice. These messages are not sent outside the virtual service network (ie, to either the endpoint device or the public internet) because the connection between the endpoint device 1005 and the network domain 1020 has already been established. The egress gateway 1015 also stores the connection to the slice mapping state so that, in some embodiments, return traffic from the network domain 1020 can be sent over the selected network slice.

これらのメッセージが再生されたなら、選択されたスライスのネットワークサービスは、接続開始メッセージを処理したであろうし、エンドポイントデバイスと宛先ネットワークドメインとの間の後続のデータメッセージトラフィック用に準備される。図示するように、スライスセレクタ1010は、選択されたネットワークスライスを介して、データ要求(すなわち、ディープパケットインスペクションが実行された最初のデータメッセージ)をネットワークドメイン1020に送信する。接続のための後続のデータメッセージもエンドポイントデバイス1005とネットワークドメイン1020との間で交換され、(戻りトラフィックのための出力ゲートウェイ1015と同様に)ディープパケットインスペクションを実行することなくこのトラフィックを選択されたネットワークスライスに割り当てるために、スライスセレクタ1010が格納された状態を使用する。これにより、接続のすべてのデータメッセージに対してディープパケットインスペクションを実行することが回避され、これは、この接続に属するすべてのデータメッセージのL5~L7ヘッダに必要な情報がない可能性があるため(図8のデータメッセージ800で示されているように)、不可能な場合がある。 If these messages were played, the network service of the selected slice would have processed the connection start message and would be prepared for subsequent data message traffic between the endpoint device and the destination network domain. As shown, the slice selector 1010 sends a data request (ie, the first data message on which deep packet inspection was performed) to the network domain 1020 via the selected network slice. Subsequent data messages for the connection are also exchanged between the endpoint device 1005 and the network domain 1020, and this traffic is selected without performing deep packet inspection (similar to the egress gateway 1015 for return traffic). The state in which the slice selector 1010 is stored is used to allocate to the network slice. This avoids performing deep packet inspections on all data messages on the connection, as the L5 to L7 headers on all data messages belonging to this connection may not have the required information. It may not be possible (as shown by data message 800 in FIG. 8).

図11は接続ハンドシェイクメッセージを再生することによって、エンドポイントデバイスと宛先ネットワークドメインとの間の接続をVSNのネットワークスライスに割り当てるための、いくつかの実施形態の処理1100を概念的に示す。いくつかの実施形態では、処理1100が図10に示されるスライスセレクタ1010などのスライスセレクタによって実行される。同様の処理は他の種類のネットワーク(例えば、パブリックインターネットに到達しないデータセンタ内通信又はデータセンタ間通信)におけるスライスセレクタによって実行され得る。 FIG. 11 conceptually illustrates process 1100 of some embodiments for assigning a connection between an endpoint device and a destination network domain to a network slice of a VSN by playing a connection handshake message. In some embodiments, the process 1100 is performed by a slice selector such as the slice selector 1010 shown in FIG. Similar processing can be performed by slice selectors in other types of networks (eg, intra-datacenter or inter-datacenter communications that do not reach the public Internet).

図示のように、処理1100はエンドポイントデバイス(例えば、電話、自動運転車、タブレット、IoTデバイス)から接続開始メッセージを受信すること(1105で)によって開始する。このメッセージは、TCP SYNメッセージ、TLSハンドシェイクの最初のメッセージ、UDP上のQUICプロトコルメッセージ、又は他の接続開始メッセージであってもよい。次いでこの処理は、エンドポイントデバイスとネットワークドメインとの間の接続を確立するために、接続開始メッセージ(すなわち、初期メッセージ及び任意の後続のメッセージ)をデフォルトのネットワークスライスを介して宛先ネットワークドメインに(1110において)送信する。同様に、エンドポイント領域から送信された接続開始ハンドシェイクの戻りメッセージについて、スライスセレクタはデフォルトスライスを介してこれらのメッセージを受信し、エンドポイントデバイスに送信する。 As shown, processing 1100 begins by receiving a connection start message (at 1105) from an endpoint device (eg, a telephone, self-driving car, tablet, IoT device). This message may be a TCP SYN message, the first message of the TLS handshake, a QUIC protocol message on UDP, or another connection start message. This process then sends the connection start message (ie, the initial message and any subsequent messages) to the destination network domain via the default network slice in order to establish a connection between the endpoint device and the network domain (ie, the initial message and any subsequent messages). Send (at 1110). Similarly, for connection start handshake return messages sent from the endpoint area, the slice selector receives these messages via the default slice and sends them to the endpoint device.

接続開始ハンドシェイクの間、この処理はハンドシェイクメッセージ(すなわち、メッセージのコピー、又はメッセージを再作成するために必要なデータ)に関するデータを(1115において)格納する。例えば、TCP3ウェイハンドシェイクの場合には、スライスセレクタはSYN及びACKメッセージを送信するためにデータを格納する。シングルメッセージ接続開始(例えば、QUICプロトコル)について、この動作は必要ではなく、いくつかの実施形態のスライスセレクタは、デフォルトスライスを使用する必要性を回避するために、初期メッセージに対してディープパケットインスペクションを実行する。 During the connection initiation handshake, this process stores data (at 1115) about the handshake message (ie, the data needed to copy the message or recreate the message). For example, in the case of the TCP 3-way handshake, the slice selector stores data to send SYN and ACK messages. This behavior is not required for single message connection initiation (eg, QUIC protocol), and some embodiments of the slice selector perform deep packet inspection on the initial message to avoid the need to use the default slice. To execute.

この接続がエンドポイントデバイス上でセットアップされると、処理1100は、(1120において)エンドポイントデバイスからの接続のための初期データメッセージを受信する。これは、図6に示すようなhttp getメッセージ、又は別のデータメッセージであってもよい。多くの場合、このデータメッセージはスライス選択を実行するために有効な情報を含むので、処理1100は、(1125において)接続のためのネットワークスライスを選択するためにデータメッセージを分析する。このディープパケットインスペクションは、コンタクトされるドメインの名前、(例えば、接続を開始するアプリケーションのタイプを識別するために)使用中の特定のL7プロトコル、又はデータメッセージの上位レイヤヘッダの他の情報を調べてもよい。処理1100はまた、(例えば、5タプルを使用して)選択されたネットワークスライスに接続をマッピングする状態を(1130において)格納する。この情報は(例えば、接続のための新しいフローエントリを生成することによって)図7に示されるような接続マッピングテーブルに格納されてもよい。 When this connection is set up on the endpoint device, process 1100 receives an initial data message for the connection from the endpoint device (at 1120). This may be a http get message as shown in FIG. 6, or another data message. Often, this data message contains useful information for performing slice selection, so process 1100 analyzes the data message to select a network slice for connection (at 1125). This deep packet inspection looks at the name of the domain to be contacted, the particular L7 protocol in use (for example, to identify the type of application initiating the connection), or other information in the upper layer headers of the data message. You may. Process 1100 also stores (at 1130) the state of mapping the connection to the selected network slice (eg, using 5 tuples). This information may be stored in a connection mapping table as shown in FIG. 7 (eg, by creating a new flow entry for the connection).

次に、処理1100は、選択されたネットワークスライスを介して、出力ゲートウェイとの接続ハンドシェイクメッセージを(1135において)再生する。このメッセージ交換では、スライスセレクタはクライアント(すなわち、エンドポイントデバイス)として機能し、出力ゲートウェイはサーバ(すなわち、ネットワークドメイン)として機能する。TCP3ウェイハンドシェイクの例では、スライスセレクタはSYNメッセージを送信し、出力ゲートウェイからSYN-ACKメッセージを受信して、ACKメッセージを送信する。これは、これらのサービスは後続のデータメッセージのために準備されるように、選択されたネットワークスライスのネットワークサービスが接続開始メッセージを処理することを可能にする目的を果たす(例えば、ファイアウォールはしばしば、元の3ウェイハンドシェイクメッセージを処理していないTCP接続について、データメッセージを拒否するように設定される)。 Processing 1100 then replays the connection handshake message with the output gateway (at 1135) via the selected network slice. In this message exchange, the slice selector acts as a client (ie, an endpoint device) and the output gateway acts as a server (ie, a network domain). In the example of the TCP 3-way handshake, the slice selector sends a SYN message, receives a SYN-ACK message from the output gateway, and sends the ACK message. This serves the purpose of allowing the network service of the selected network slice to process the connection start message so that these services are prepared for subsequent data messages (eg, firewalls often). Set to reject data messages for TCP connections that are not processing the original 3-way handshake message).

処理1100はまた、選択されたネットワークスライスを介して宛先ネットワークドメインに初期データメッセージを(1140において)送信する。さらに、処理900は、格納された接続マッピング状態を使用して、選択されたネットワークスライスを介して、接続のための後続のデータメッセージを(1145において)受信し、送信する。格納されたこの状態により、スライスセレクタは、ディープパケットインスペクションを実行する必要なく(これは前述のように、後続のデータメッセージの多くでは不可能な場合もある)、エンドポイントデバイスからの接続についての各データメッセージを選択されたネットワークスライスへと割り当てることができる。 Process 1100 also sends an initial data message (at 1140) to the destination network domain via the selected network slice. In addition, process 900 uses the stored connection mapping state to receive and transmit (at 1145) subsequent data messages for the connection over the selected network slice. This stored state allows the slice selector to perform a deep packet inspection (which, as mentioned above, may not be possible for many subsequent data messages), for connections from endpoint devices. Each data message can be assigned to a selected network slice.

図12はハンドシェイク再生の場合の出力ゲートウェイのためのいくつかの実施形態の処理1200を概念的に示す。図10に示す例(すなわち、VSNが電気通信サービスプロバイダアクセスネットワーク上に実装されている例)では、処理1200を実行する出力ゲートウェイは、VSNをパブリックインターネットに接続するゲートウェイである。 FIG. 12 conceptually shows the process 1200 of some embodiments for the output gateway in the case of handshake reproduction. In the example shown in FIG. 10 (ie, an example in which the VSS is implemented on a telecommunications service provider access network), the output gateway that performs process 1200 is a gateway that connects the VSS to the public Internet.

図示するように、処理1200は、デフォルトのネットワークスライスを介してエンドポイントデバイスからの接続ハンドシェイクメッセージのセットを受信し、デフォルトのネットワークスライスを介してエンドポイントデバイスへの接続のために宛先ネットワークドメインからのリターンメッセージを送信することによって(1205において)開始する。この出力ゲートウェイは、エンドポイントデバイスから送信されたメッセージを受信し、戻りトラフィックの受信とスライスセレクタ(及び最終的にはエンドポイントデバイス)に向けたデフォルトのネットワークスライスへの送信に加えて、これらのメッセージを宛先に送信する。さらに、処理1200はハンドシェイクメッセージ(すなわち、メッセージのコピー、又はメッセージを再作成するために必要なデータ)に関するデータを(1210において)格納する。例えば、TCP3ウェイハンドシェイクの場合、出力ゲートウェイはSYN-ACKメッセージを送信するためにデータを格納する。シングルメッセージ接続開始(例えば、QUICプロトコル)について、この動作は必要ではなく、いくつかの実施形態のスライスセレクタは、デフォルトスライスを使用する又はハンドシェイク再生を実行する必要性を回避するために、初期メッセージに対してディープパケットインスペクションを実行する。 As shown, process 1200 receives a set of connection handshake messages from the endpoint device through the default network slice and the destination network domain for connection to the endpoint device through the default network slice. Start by sending a return message from (at 1205). This egress gateway receives messages sent from the endpoint device, receives return traffic and sends them to the default network slice for the slice selector (and eventually the endpoint device). Send a message to the destination. In addition, process 1200 stores data (at 1210) about the handshake message (ie, the data needed to copy the message or recreate the message). For example, in the case of the TCP 3-way handshake, the output gateway stores data to send a SYN-ACK message. This behavior is not required for single message connection initiation (eg, QUIC protocol), and the slice selectors of some embodiments are initially to avoid the need to use default slices or perform handshake playback. Perform deep packet inspection on the message.

エンドポイントデバイスとネットワークドメインとの間の接続がセットアップされると、処理1200は、(1215において)選択されたネットワークスライスを介してスライスセレクタから接続開始メッセージの再生を受信する。この時点で、スライスセレクタはエンドポイントデバイスからデータメッセージを受信し、ディープパケットインスペクションを使用して接続を可能なネットワークスライスの特定の1つに割り当て、次いで最初の接続開始メッセージを出力ゲートウェイに送信することによって再生処理を開始する。処理1200は、これらのメッセージのために記憶されたデータを使用して、選択されたネットワークスライスを介して、スライスセレクタとの接続ハンドシェイクの完全な再生を(1220において)実行する。すなわち、この出力ゲートウェイは、初期接続開始メッセージをハンドシェイクメッセージデータの格納されたセットに対応するものとして認識し、再生を行うためにその格納されたデータのセットを使用する。例えば、TCP3ウェイハンドシェイクの例では、出力ゲートウェイはSYNメッセージとして受信し、SYN-ACKメッセージをスライスセレクタに送信して、ACKメッセージを受信する。これにより、選択したネットワークスライスのネットワークサービスがハンドシェイクメッセージの完全なセットを処理し、接続に属するデータの残りに対して準備できるようになる。 Once the connection between the endpoint device and the network domain is set up, process 1200 receives playback of the connection start message from the slice selector via the selected network slice (at 1215). At this point, the slice selector receives a data message from the endpoint device, uses deep packet inspection to assign the connection to a specific one of the possible network slices, and then sends the first connection start message to the egress gateway. By doing so, the reproduction process is started. Processing 1200 uses the data stored for these messages to perform a complete replay (at 1220) of the connection handshake with the slice selector via the selected network slice. That is, this output gateway recognizes the initial connection start message as corresponding to the stored set of handshake message data, and uses the stored set of data for playback. For example, in the example of the TCP 3-way handshake, the output gateway receives as a SYN message, sends a SYN-ACK message to the slice selector, and receives the ACK message. This allows the network service of the selected network slice to process the complete set of handshake messages and prepare for the rest of the data belonging to the connection.

処理1200は、(例えば、5タプルを使用して)選択されたネットワークスライスに接続をマッピングする状態を(1225において)格納する。この情報は(例えば、ゲートウェイがフローベースの転送要素である場合に接続のための新しいフローエントリを生成することによって)図7に示されるような接続マッピングテーブルに格納されてもよい。格納されたこの状態を使用して、処理1200は受信し、接続に属する後続の戻りデータメッセージを、選択されたネットワークスライスを介してエンドポイントデバイスに(すなわち、パブリックネットワークドメインから)(1230において)送信する。 Process 1200 stores (at 1225) the state of mapping the connection to the selected network slice (eg, using 5 tuples). This information may be stored in a connection mapping table as shown in FIG. 7 (eg, by creating a new flow entry for the connection if the gateway is a flow-based forwarding element). Using this stored state, process 1200 receives and sends subsequent return data messages belonging to the connection to the endpoint device via the selected network slice (ie, from the public network domain) (at 1230). Send.

他の実施形態は、接続をネットワークスライスにマッピングする状態を構築するために、他の技術を使用してもよい。いくつかの実施形態では、スライスセレクタは(例えば、制御プレーンチャネルを介して)登録された接続-スライスマッピングテーブルをスライスセレクタに提供する外部構成要素と統合し、このスライスセレクタはステートフルスライス選択を実行するためにこの外部構成要素を使用する(それによって、スライスセレクタがディープパケットインスペクションを実行する要件を回避する)。異なる実施形態では、外部構成要素がエンドポイントデバイスが接続を開始するときに、完全に事前に登録された接続-スライスマッピングテーブルを提供してもよく、テーブルに徐々に更新を登録してもよい。一例として、いくつかの実施形態のスライスセレクタは、5Gネットワークスライス選択機能(NSSF)と統合することができ、NSSFが接続-スライスマッピングを定義することを可能にする。いくつかのそのような実施形態ではNSSFがスライスセレクタにマッピング状態を提供し、そのスライスセレクタは、データパケットのための正しいスライスを選択するためにその状態を使用する。すなわち、オフライン外部構成要素は接続-スライスマッピング状態を提供し、スライスセレクタはデータプレーンにおいてこの状態を実施する。 Other embodiments may use other techniques to build a state that maps connections to network slices. In some embodiments, the slice selector integrates a registered connection-slice mapping table (eg, via a control plane channel) with an external component that provides the slice selector, which performs a stateful slice selection. Use this external component to do so (so that the slice selector avoids the requirement to perform deep packet inspection). In different embodiments, the external component may provide a fully pre-registered connection-slice mapping table when the endpoint device initiates a connection, or may gradually register updates in the table. .. As an example, the slice selectors of some embodiments can be integrated with the 5G Network Slice Selection Function (NSSF), allowing the NSSF to define connection-slice mappings. In some such embodiments, the NSSF provides a mapping state for the slice selector, which uses that state to select the correct slice for the data packet. That is, the offline external component provides a connection-slice mapping state, and the slice selector enforces this state in the data plane.

接続のためのネットワークスライスを選択するために最初のデータメッセージがインスペクションされ、後続のデータメッセージがスライスセレクタによって格納された状態に基づいてネットワークスライスに割り当てられる、ステートフルスライス選択は、同じスライスセレクタ(及び出力ゲートウェイ)が接続のためのすべてのデータトラフィックを処理する限り機能する。しかしながら、異なる地理的範囲に関連付けられた多数のスライスセレクタを有する分散ネットワーク(例えば、電気通信サービスプロバイダアクセスネットワーク)では、モバイルデバイス(例えば、スマートフォン、タブレット、自動運転車)は、接続を維持しながら、(例えば、同じ集中ユニットにトラフィックを提供する基地局のグループ間で1つの基地局から別の基地局に移動するとき、WiFiネットワークからセルラーネットワークに移動するとき)第1のスライスセレクタによって提供される1つの地理的範囲から、第2のスライスセレクタによって提供される別の地理的範囲に移動してもよい。異なる実施形態では、エンドポイントデバイスの一部に対するアクションを必要とせずにその状態が維持されることを保証するために、異なる技法が使用される。 Stateful slice selection is the same slice selector (and) where the first data message is inspected to select the network slice for the connection and subsequent data messages are assigned to the network slice based on the state stored by the slice selector. It works as long as the egress gateway) handles all the data traffic for the connection. However, in a distributed network with a large number of slice selectors associated with different geographic areas (eg, telecommunications service provider access networks), mobile devices (eg, smartphones, tablets, self-driving cars) remain connected while maintaining connectivity. , (For example, when moving from one base station to another, when moving from a WiFi network to a cellular network between groups of base stations serving traffic to the same centralized unit), provided by the first slice selector. You may move from one geographic range to another geographic range provided by the second slice selector. In different embodiments, different techniques are used to ensure that the state is maintained without the need for action on some of the endpoint devices.

いくつかの実施形態では、第2のスライスセレクタ(モバイルデバイスが移動する領域についてのスライスセレクタ)が、接続のためのすべてのデータメッセージを第1のスライスセレクタ(接続が開始されたときにモバイルデバイスが位置していた領域についてのスライスセレクタ)に転送する。すなわち、第2のスライスセレクタは、第1のスライスセレクタが接続のためのスライスマッピング状態の位置であることを示すデータを受け取り、したがって、接続のためのデータトラフィックを第1のスライスセレクタに転送する。 In some embodiments, the second slice selector (the slice selector for the area where the mobile device moves) sends all the data messages for the connection to the first slice selector (the mobile device when the connection is initiated). Transfer to the slice selector) for the area where was located. That is, the second slice selector receives data indicating that the first slice selector is in the slice mapping state position for the connection, and thus forwards the data traffic for the connection to the first slice selector. ..

図13は、第1のスライスセレクタ領域から第2のスライスセレクタ領域に移動するモバイルデバイス1300を概念的に示しており、この第2のスライスセレクタは、2つの段階1305~1310を介してモバイルデバイス1300から第1のスライスセレクタにデータトラフィックを転送する。第1の段階1305に示されるように、モバイルデバイス1300は、第1のスライスセレクタ1320によってサービスされる第1の地理的領域1315に位置する間に、パブリックネットワークドメイン(図示せず)との接続を開始する。隣接する(場合によっては、部分的に重複する)地理的領域1325が第2のスライスセレクタ1330によってサービスされる。いくつかの実施形態では、各スライスセレクタは、複数の分散ユニット(DU)範囲(すなわち、複数のセルタワー)を包含する5G集中ユニット(CU)に対応するエッジクラウド内に位置する。 FIG. 13 conceptually shows a mobile device 1300 moving from a first slice selector region to a second slice selector region, the second slice selector being a mobile device via two stages 1305-1310. Forward data traffic from 1300 to the first slice selector. As shown in step 1305, the mobile device 1300 is connected to a public network domain (not shown) while located in the first geographic area 1315 serviced by the first slice selector 1320. To start. Adjacent (possibly partially overlapping) geographic regions 1325 are serviced by a second slice selector 1330. In some embodiments, each slice selector is located within an edge cloud that corresponds to a 5G centralized unit (CU) that includes multiple distributed unit (DU) ranges (ie, multiple cell towers).

モバイルデバイス1300が((例えば、単一のPDUセッションにおいて)デバイスによって開始された複数の接続のうちの1つのみであってもよい)接続を開始すると、第1のスライスセレクタ1320は、アクセスネットワークを介して実装される仮想サービスネットワークのいくつかのスライスのうちの1つスライス1335に接続を割り当てる。図示のように、ネットワークスライス1335は出力ゲートウェイ(図示せず)を介してインターネットにデータを送信する前に、3つのVNFA~Cを含む。第1のスライスセレクタ1320は、ネットワークスライスを選択するためのディープパケットインスペクションを実行した後、接続(この場合、IP1とIP2との間のTCP接続)を選択されたネットワークスライスにマッピングする状態データを格納する。上述したように、この状態データは、フローエントリ(又はフローエントリのセット)、接続テーブル内のエントリとして、又は別の方法で格納されてもよい。この接続に属するモバイルデバイス1300からの後続のトラフィックについて、スライスセレクタ1320は、選択されたネットワークスライス1335にトラフィックを割り当てる(デバイス1300からの他の接続が他のスライスに割り当てられてもよい)。接続の戻りトラフィックは、出力ゲートウェイでインターネットから受信され、この出力ゲートウェイは、このトラフィックを同じネットワークスライス1335に割り当てるために、同様の格納された状態を使用する。この戻りトラフィックは、ネットワークスライス1335のVNFによって逆の順序で処理され、次いでスライスセレクタ1300からモバイルデバイス1300に送信される。 When the mobile device 1300 initiates a connection (which may be only one of a plurality of connections initiated by the device (eg, in a single PDU session)), the first slice selector 1320 determines the access network. Assign a connection to slice 1335, one of several slices of the virtual service network implemented via. As shown, the network slice 1335 contains three VNFAs-Cs prior to transmitting data to the Internet via an output gateway (not shown). The first slice selector 1320 performs state data that maps the connection (in this case, the TCP connection between IP1 and IP2) to the selected network slice after performing a deep packet inspection to select the network slice. Store. As mentioned above, this state data may be stored as a flow entry (or set of flow entries), as an entry in the connection table, or in another way. For subsequent traffic from mobile device 1300 belonging to this connection, slice selector 1320 allocates traffic to the selected network slice 1335 (other connections from device 1300 may be assigned to other slices). The return traffic for the connection is received from the Internet at the egress gateway, which uses a similar stored state to allocate this traffic to the same network slice 1335. This return traffic is processed in reverse order by the VNF of the network slice 1335 and then sent from the slice selector 1300 to the mobile device 1300.

しかしながら、第2の段階ではモバイルデバイス1300は第2の地理的領域1325に移動し、したがって、もはや第1のスライスセレクタ1320に接続しない(すなわち、モバイルデバイス1300は第1のスライスセレクタ1320ではなく、第2のスライスセレクタ1330にトラフィックを供給する別の基地局に接続される)。第2のスライスセレクタ1330は装置1300からのこのデータトラフィックを正しいネットワークスライスに割り当てるための接続-スライスマッピング状態を有さず、多くの場合、データメッセージはネットワークスライスに接続を割り当てるためのスライスセレクタ1330のためのL5-L7ヘッダに必要なデータを含まない。したがって、第2のスライスセレクタ1330はこのトラフィックを第1のスライスセレクタ1320に転送し、この第1のスライスセレクタは、トラフィックを選択されたネットワークスライス1335に割り当てるためにその記憶された状態情報を使用する。第2の地理的領域1325にある間に装置1300によって開始される新しい接続は、第2のスライスセレクタ1330によって正しいスライスに割り当てられるだろう。 However, in the second stage, the mobile device 1300 moves to the second geographic area 1325 and therefore no longer connects to the first slice selector 1320 (ie, the mobile device 1300 is not the first slice selector 1320). Connected to another base station that supplies traffic to the second slice selector 1330). The second slice selector 1330 does not have a connection-slice mapping state for allocating this data traffic from device 1300 to the correct network slice, and in many cases the data message is a slice selector 1330 for allocating a connection to the network slice. Does not contain the necessary data in the L5-L7 header for. Therefore, the second slice selector 1330 forwards this traffic to the first slice selector 1320, which uses its stored state information to allocate the traffic to the selected network slice 1335. do. New connections initiated by device 1300 while in the second geographic area 1325 will be assigned to the correct slice by the second slice selector 1330.

第2のスライスセレクタ1330が第1のスライスセレクタ1320にデータトラフィックを送信するために、いくつかの実施形態では、第2のスライスセレクタ1330が2つのスライスセレクタ間のルーティング可能なネットワークを介してパケットを送信する。すなわち、そのような実施形態では、スライスセレクタが実装される2つのエッジクラウドの間にルーティング可能なネットワークが存在し、2つのスライスセレクタ間でデータトラフィックを送信するためにこのネットワークを使用することができる。他の実施形態では、データトラフィックは、(2つのエッジクラウドが同じコアクラウドに接続する場合には)コアクラウド若しくは他のWAN接続を介して、又はVSNコントローラを介して送信することができる(ただし、大量のトラフィックがスライスセレクタ間で送信される場合、この解決策は最適ではない)。 In some embodiments, the second slice selector 1330 packets through a routable network between the two slice selectors in order for the second slice selector 1330 to send data traffic to the first slice selector 1320. To send. That is, in such an embodiment, there is a routable network between the two edge clouds where the slice selector is implemented, and this network can be used to send data traffic between the two slice selectors. can. In other embodiments, data traffic can be sent over the core cloud or other WAN connection (provided that the two edge clouds connect to the same core cloud) or through the VSN controller (provided that it is). This solution is not optimal if a large amount of traffic is sent between slice selectors).

いくつかの実施形態では、戻りトラフィックを処理し、この戻りトラフィックをデバイス1300に送信するために、スライスセレクタが接続状態を必要としないので、進行中の接続の逆方向(戻り)トラフィックは異なる実施形態では異なるように扱われる。しかしながら、多くの場合、ネットワークサービスのうちの少なくとも1つは、ステートフルであり、スライスセレクタと同じ位置(例えば、同じエッジクラウド)に実装され、したがって、それらのネットワークサービスの同じ実装(すなわち、第2のスライスセレクタ1330を有する第2のエッジクラウド内のVMではなく、第1のスライスセレクタ1320を有する第1のエッジクラウド内のVM)のために、戻りトラフィックはそのエッジクラウドに送信される必要がある。次いで、第1のスライスセレクタ1320は第2のスライスセレクタ1330がモバイルデバイス1300へ(例えば、RANを介して)データを転送するために、この戻りトラフィックを第2のスライスセレクタ1330に転送する。いくつかの実施形態では、コアクラウド内のサービスチェイニングモジュールは、モバイルデバイス1300で発信されたトラフィックを受信した第1のスライスセレクタ1320に戻りトラフィックを自動的に送信するために、その学習機能(例えば、MAC学習機能)を使用する。さらに、いくつかの実施形態では、2つのスライスセレクタの間のネットワーク上に戻りトラフィックを自動的に転送するように、第1のスライスセレクタ1320が第2のスライスセレクタ1330から接続のためのトラフィックを受信するときに同様の学習機能を使用する(その結果、そのトラフィックは第2のスライスセレクタ1330に戻る)。例えば、2つのスライスセレクタの間にルーティング可能なネットワークがある場合、第1のスライスセレクタ1320は、格納されたMACアドレスを使用してこのルータに戻りトラフィックを転送することができるように、第2のスライスセレクタ1330からトラフィックを受信したルータのMACアドレスを格納する。他の実施形態は、スライス上で(すなわち、第1のネットワークサービスの前に)別個のイングレスゲートウェイ機能を使用し、これは正しいスライスセレクタに戻りトラフィックを送信する役割を果たす。 In some embodiments, the reverse (return) traffic of an ongoing connection is different because the slice selector does not require a connection state to handle the return traffic and send this return traffic to device 1300. They are treated differently in form. However, in many cases at least one of the network services is stateful and is implemented in the same location as the slice selector (eg, the same edge cloud) and therefore the same implementation of those network services (ie, a second). Return traffic needs to be sent to that edge cloud because of the VM in the first edge cloud with the first slice selector 1320, not the VM in the second edge cloud with the slice selector 1330. be. The first slice selector 1320 then forwards this return traffic to the second slice selector 1330 for the second slice selector 1330 to forward data to the mobile device 1300 (eg, via RAN). In some embodiments, the service chaining module in the core cloud has its learning function (in order to automatically send the traffic back to the first slice selector 1320 that received the traffic originating on the mobile device 1300). For example, the MAC learning function) is used. Further, in some embodiments, the first slice selector 1320 directs the traffic for connection from the second slice selector 1330 so that the return traffic is automatically forwarded onto the network between the two slice selectors. A similar learning function is used when receiving (as a result, the traffic returns to the second slice selector 1330). For example, if there is a routable network between the two slice selectors, the first slice selector 1320 can use the stored MAC address to forward traffic back to this router. Stores the MAC address of the router that received the traffic from the slice selector 1330. Another embodiment uses a separate ingress gateway function on the slice (ie, before the first network service), which serves to send the traffic back to the correct slice selector.

第2のスライスセレクタ1330が特定の接続のためのデータトラフィックを第1のスライスセレクタ1320に転送するために、第2のスライスセレクタは、第1のスライスセレクタ1320が接続のための状態情報を有することを示すデータを受信する必要がある。異なる実施形態では、第1のスライスセレクタが(i)状態位置情報をネットワークコントローラ(例えば、前述のVSNコントローラ)にプッシュし、そこから第2のスライスセレクタが状態位置情報を取り出す、又は(ii)状態位置情報を第2のスライスセレクタにプッシュする。 In order for the second slice selector 1330 to forward data traffic for a particular connection to the first slice selector 1320, the second slice selector has state information for the first slice selector 1320 to connect. It is necessary to receive data indicating that. In a different embodiment, the first slice selector (i) pushes the state position information to a network controller (eg, the VSN controller described above) from which the second slice selector retrieves the state position information, or (ii). Push the state position information to the second slice selector.

図14は、状態位置情報1400をセントラルコントローラ1425にプッシュする第1のスライスセレクタ1420と、3つの段階1405~1415を介して状態位置情報をセントラルコントローラ1425から取り出す第2のスライスセレクタ1430との例を概念的に示す。第1の段階1405に示すように、図13の例と同様に、モバイルデバイス1435は、第1のスライスセレクタ1420に関連付けられた第1の地理的領域1440に位置している間に、パブリックネットワークドメインとの接続を開始する。第1のスライスセレクタは、接続をネットワークスライス1445に割り当て、この接続に属するモバイルデバイス1440からのデータトラフィックをこのスライスに(すなわち、このスライスのネットワークサービスに)転送し、選択されたネットワークスライスに接続をマッピングする接続状態を格納する。 FIG. 14 shows an example of a first slice selector 1420 that pushes the state position information 1400 to the central controller 1425 and a second slice selector 1430 that retrieves the state position information from the central controller 1425 via three stages 1405-1415. Is shown conceptually. As shown in the first stage 1405, as in the example of FIG. 13, the mobile device 1435 is located in the first geographic area 1440 associated with the first slice selector 1420 while in the public network. Initiate a connection with the domain. The first slice selector assigns the connection to the network slice 1445, directs data traffic from mobile devices 1440 belonging to this connection to this slice (ie, to the network service of this slice), and connects to the selected network slice. Stores the connection state that maps to.

さらに、第1のスライスセレクタ1420は、第1のスライスセレクタがこの接続のためのスライスマッピング状態の位置であることを指定する情報を、ネットワークコントローラ1425にプッシュする。このネットワークコントローラは、いくつかの実施形態では、VSNが実装されている複数のデータセンタのコントローラにVSN構成データを提供するVSNコントローラである。具体的には、いくつかの実施形態では、第1のスライスセレクタ1420は、スライスマッピング状態位置データを、そのデータセンタにローカルなコントローラのうちの1つ(例えば、スライスセレクタを構成するSDNコントローラ)に提供し、次に、その状態位置データが他のデータセンタのスライスセレクタによってアクセスされ得るように、状態位置データをVSNコントローラに渡す。 Further, the first slice selector 1420 pushes information to the network controller 1425 specifying that the first slice selector is the position of the slice mapping state for this connection. This network controller is, in some embodiments, a VSN controller that provides VSN configuration data to controllers in a plurality of data centers in which VSN is implemented. Specifically, in some embodiments, the first slice selector 1420 transfers slice mapping state position data to one of the controllers local to that data center (eg, an SDN controller that constitutes the slice selector). And then pass the state position data to the VSS controller so that the state position data can be accessed by slice selectors in other data centers.

第2の段階1410では、モバイルデバイス1435が第2のスライスセレクタ1430に関連付けられた第2の地理的範囲1450に移動した。第2のスライスセレクタ1430が認識しない進行中の接続に関するデータメッセージをデバイス1435から受信すると、このスライスセレクタ1430は、(例えば、そのデータセンタにローカルなコントローラのうちの1つにそのような要求を行い、データセンタがVSNコントローラに要求を送信することによって)コントローラ1425に要求を送信する。コントローラ1425はこの状態位置情報1400を格納し、したがって、(例えば、第2のスライスセレクタ1430のデータセンタにローカルなコントローラを介して)情報1400を第2のスライスセレクタ1430に返す。 In the second stage 1410, the mobile device 1435 was moved to the second geographic range 1450 associated with the second slice selector 1430. Upon receiving a data message from device 1435 regarding an in-progress connection that the second slice selector 1430 does not recognize, the slice selector 1430 (eg, makes such a request to one of the controllers local to that data center). And the data center sends the request to the controller 1425 (by sending the request to the VSS controller). The controller 1425 stores this state position information 1400 and therefore returns the information 1400 to the second slice selector 1430 (eg, via a controller local to the data center of the second slice selector 1430).

この状態位置情報に基づいて、第3の段階1415では第2のスライスセレクタ1430がこの接続のためのデータメッセージ(及び接続のための後続のデータメッセージ)を第1のスライスセレクタ1420に転送することができ、これは選択されたネットワークスライス1445上にデータを転送することができる。いくつかの実施形態では、データセンタ間接続(すなわち、ルーティング可能なネットワーク)がエッジクラウド間に存在し、他の実施形態ではこのトラフィックがコアクラウド又は他のネットワークを介して1つのスライスセレクタから別のスライスセレクタに渡される。 Based on this state position information, in the third stage 1415, the second slice selector 1430 transfers the data message for this connection (and the subsequent data message for the connection) to the first slice selector 1420. It can transfer data onto the selected network slice 1445. In some embodiments, data center connections (ie, routable networks) exist between the edge clouds, and in other embodiments this traffic is separate from one slice selector over the core cloud or other network. Passed to the slice selector of.

他の実施形態では、接続が開始されたスライスセレクタは、接続を開始したモバイルデバイスが新しい地理的領域に移動した場合に、他のスライスセレクタが利用可能な状態位置情報を有するように、その状態位置情報を他のスライスセレクタ(例えば、地理的に隣接するスライスセレクタ)にプッシュする。図15は、第1のスライスセレクタ1515が、2つの段階1505~1515を介して第2のスライスセレクタ1520に状態位置情報1500をプッシュする例を概念的に示す。第1の段階1505に示すように、図13の例と同様に、モバイルデバイス1525は、第1のスライスセレクタ1515に関連付けられた第1の地理的領域1530に位置している間に、パブリックネットワークドメインとの接続を開始する。第1のスライスセレクタ1515は、接続をネットワークスライス1535に割り当て、この接続に属するモバイルデバイス1525からのデータトラフィックをこのスライスに(すなわち、このスライスのネットワークサービスに)転送し、選択されたネットワークスライスに接続をマッピングする接続状態を格納する。 In another embodiment, the connected slice selector has the state location information available to other slice selectors when the connected mobile device moves to a new geographic area. Push location information to other slice selectors (eg, geographically adjacent slice selectors). FIG. 15 conceptually shows an example in which the first slice selector 1515 pushes the state position information 1500 to the second slice selector 1520 via two stages 1505 to 1515. As shown in the first stage 1505, similar to the example of FIG. 13, the mobile device 1525 is located in the first geographic area 1530 associated with the first slice selector 1515 while being located in the public network. Initiate a connection with the domain. The first slice selector 1515 assigns the connection to the network slice 1535 and forwards data traffic from the mobile device 1525 belonging to this connection to this slice (ie, to the network service of this slice) to the selected network slice. Stores the connection state that maps the connection.

さらに、第1のスライスセレクタ1515は、第1のスライスセレクタ1515がこの接続のためのスライスマッピング状態の位置であることを指定する情報を、第2のスライスセレクタ1520にプッシュする。異なる実施形態は、異なるやり方で状態位置情報を送信する。いくつかの実施形態では、この情報は、2つのスライスセレクタ間で送信される(ただし、スライスセレクタの制御プレーンインターフェース間の制御プレーンデータとしての)データトラフィックに関して、データネットワークを介して(例えば、ルーティング可能なデータセンタからデータセンタへのネットワークを介して、エッジクラウドを介して)送信され、一方、他の実施形態では、状態位置情報がコントローラにプッシュされ(すなわち、図14に示されるように)、このコントローラは次に、状態位置情報を第2のスライスセレクタ1520に自動的にプッシュする。この状態位置情報は、異なる実施形態では、隣接する地理的範囲を有する特定のスライスセレクタ、特定のネットワーク(例えば、特定のネットワークサービスプロバイダ)のためのすべてのスライスセレクタ、又はスライスセレクタの他の組合せにプッシュされてもよい。 Further, the first slice selector 1515 pushes information specifying that the first slice selector 1515 is the position of the slice mapping state for this connection to the second slice selector 1520. Different embodiments transmit state location information in different ways. In some embodiments, this information is transmitted over the data network (eg, routing) for data traffic transmitted between the two slice selectors (but as control plane data between the control plane interfaces of the slice selectors). It is transmitted over a possible data center-to-data center network (over the edge cloud), while in other embodiments state location information is pushed to the controller (ie, as shown in FIG. 14). The controller then automatically pushes the state position information to the second slice selector 1520. This state location information, in different embodiments, is a particular slice selector with adjacent geographic extents, all slice selectors for a particular network (eg, a particular network service provider), or other combinations of slice selectors. May be pushed to.

第2の段階1510では、モバイルデバイス1525が第2のスライスセレクタ1520に関連付けられた第2の地理的範囲1540に移動した。進行中の接続のためにデバイス1525からデータトラフィックを受信すると、第2のスライスセレクタ1520は、そのデータトラフィックを既に格納している状態位置データにマッピングし、データメッセージを第1のスライスセレクタ1515に転送し、選択されたネットワークスライス1535上にデータを転送することができる。いくつかの実施形態では、データセンタ間接続(すなわち、ルーティング可能なネットワーク)がエッジクラウド間に存在し、他の実施形態ではこのトラフィックがコアクラウド又は他のネットワークを介して1つのスライスセレクタから別のスライスセレクタに渡される。 In the second stage 1510, the mobile device 1525 has moved to the second geographic range 1540 associated with the second slice selector 1520. Upon receiving data traffic from the device 1525 for an in-progress connection, the second slice selector 1520 maps the data traffic to the state location data already stored and sends the data message to the first slice selector 1515. It can be transferred and the data transferred onto the selected network slice 1535. In some embodiments, data center connections (ie, routable networks) exist between the edge clouds, and in other embodiments this traffic is separate from one slice selector over the core cloud or other network. Passed to the slice selector of.

モバイルデバイスが接続を開始した元のスライスセレクタに接続のためのデータが常に転送されるのではなく、他の実施形態は、接続のためのスライスマッピング状態をモバイルデバイスが移動する他のスライスセレクタへと提供する。第2のスライスセレクタ(すなわち、モバイルデバイスが移動する範囲へのスライスセレクタ)は接続のためのスライスマッピング状態を受信し、したがって、(接続が開始された)第1のネットワークスライスセレクタを伴うことなく、接続のためのデータメッセージをネットワークスライスに転送することができる。 Instead of always transferring the data for the connection to the original slice selector where the mobile device initiated the connection, another embodiment transfers the slice mapping state for the connection to another slice selector to which the mobile device moves. And provide. The second slice selector (ie, the slice selector to the range to which the mobile device moves) receives the slice mapping state for the connection and therefore without the first network slice selector (where the connection was initiated). , Data messages for connection can be forwarded to network slices.

図16は、第1のスライスセレクタ領域から第2のスライスセレクタ領域に移動するモバイルデバイス1600を概念的に示しており、この第2のスライスセレクタは、2つの段階1605~1610を介して、接続のためのスライスマッピング状態を受信し、そのスライスマッピング状態を使用して接続のためのデータトラフィックを転送する。第1の段階1605に示されるように、モバイルデバイス1600は、第1のスライスセレクタ1620によってサービスされる第1の地理的領域1615に位置している間に、パブリックネットワークドメイン(図示せず)との接続を開始する。隣接する(場合によっては、部分的に重複する)地理的領域1625が第2のスライスセレクタ1630によってサービスされる。いくつかの実施形態では、各スライスセレクタは、複数の分散ユニット(DU)範囲(すなわち、複数のセルタワー)を包含する5G集中ユニット(CU)に対応するエッジクラウド内に位置する。 FIG. 16 conceptually illustrates a mobile device 1600 moving from a first slice selector region to a second slice selector region, the second slice selector being connected via two stages 1605-1610. Receives the slice mapping state for and uses that slice mapping state to forward data traffic for the connection. As shown in the first stage 1605, the mobile device 1600 and the public network domain (not shown) while located in the first geographic area 1615 serviced by the first slice selector 1620. To start the connection. Adjacent (possibly partially overlapping) geographic regions 1625 are serviced by a second slice selector 1630. In some embodiments, each slice selector is located within an edge cloud that corresponds to a 5G centralized unit (CU) that includes multiple distributed unit (DU) ranges (ie, multiple cell towers).

モバイルデバイス1600が((例えば、単一のPDUセッションにおいて)デバイスによって開始された複数の接続のうちの1つのみであってもよい)接続を開始すると、第1のスライスセレクタ1620は、アクセスネットワークを介して実装されVSNのいくつかのスライスのうちの1つスライス1635に接続を割り当てる。図示のように、ネットワークスライス1635は出力ゲートウェイ(図示せず)を介してインターネットにデータを送信する前に、3つのVNFA~Cを含む。第1のスライスセレクタ1620は、ネットワークスライスを選択するためのディープパケットインスペクションを実行した後、接続(この場合、IP1とIP2との間のTCP接続)を選択されたネットワークスライスにマッピングする状態データを格納する。上述したように、このデータは、フローエントリ(又はフローエントリのセット)、接続テーブル内のエントリとして、又は別の方法で格納されてもよい。この接続に属するモバイルデバイス1600からの後続のトラフィックについて、スライスセレクタ1620は、選択されたネットワークスライス1635にトラフィックを割り当てる(デバイス1600からの他の接続が他のスライスに割り当てられてもよい)。接続の戻りトラフィックは、出力ゲートウェイでインターネットから受信され、この出力ゲートウェイは、このトラフィックを同じネットワークスライス1635に割り当てるために、同様の格納された状態を使用する。この戻りトラフィックは、ネットワークスライス1635のVNFによって逆の順序で処理され、次いでスライスセレクタ1600からモバイルデバイス1600に送信される。 When the mobile device 1600 initiates a connection (which may be only one of a plurality of connections initiated by the device (eg, in a single PDU session)), the first slice selector 1620 determines the access network. Implemented via and assigns a connection to slice 1635, one of several slices of VSN. As shown, the network slice 1635 contains three VNFAs-Cs before transmitting data to the Internet via an output gateway (not shown). The first slice selector 1620 performs state data that maps the connection (in this case, the TCP connection between IP1 and IP2) to the selected network slice after performing a deep packet inspection to select the network slice. Store. As mentioned above, this data may be stored as a flow entry (or set of flow entries), as an entry in a connection table, or in another way. For subsequent traffic from mobile device 1600 belonging to this connection, slice selector 1620 allocates traffic to the selected network slice 1635 (other connections from device 1600 may be assigned to other slices). The return traffic of the connection is received from the Internet at the egress gateway, which egress gateway uses a similar stored state to allocate this traffic to the same network slice 1635. This return traffic is processed in reverse order by the VNF of network slice 1635 and then sent from the slice selector 1600 to the mobile device 1600.

しかしながら、第2の段階ではモバイルデバイス1600は第2の地理的領域1625に移動し、したがって、もはや第1のスライスセレクタ1620に接続しない(すなわち、モバイルデバイス1600は第1のスライスセレクタ1620ではなく、第2のスライスセレクタ1630にトラフィックを供給する別の基地局に接続される)。この場合、モバイルデバイス1600から第1のスライスセレクタ1620にデータを転送するのではなく、第1のスライスセレクタ1620は、接続のためのスライスマッピング状態を第2のスライスセレクタ1630へと提供している。したがって、第2のスライスセレクタ1630は、ディープパケットインスペクションを実行する必要なしに、接続のために選択されたネットワークスライス1635にこのデータを直接転送することができる。 However, in the second stage, the mobile device 1600 moves to the second geographic area 1625 and therefore no longer connects to the first slice selector 1620 (ie, the mobile device 1600 is not the first slice selector 1620). Connected to another base station that supplies traffic to the second slice selector 1630). In this case, instead of transferring data from the mobile device 1600 to the first slice selector 1620, the first slice selector 1620 provides the slice mapping state for connection to the second slice selector 1630. .. Therefore, the second slice selector 1630 can transfer this data directly to the network slice 1635 selected for the connection without having to perform deep packet inspection.

いくつかの実施形態では、スライスのための1つ又は複数のネットワークサービスがステートフルであり、スライスセレクタと共にエッジクラウド内に実装される。サービスがステートレスである場合、トラフィックが第2のスライスセレクタ1630に移動すると、新しいエッジクラウド内のこれらのサービスのインスタンスは、問題なくトラフィックを処理することができる。しかしながら、エッジクラウド内のネットワークサービスがステートフルである場合、いくつかの実施形態は、第1のスライスセレクタ1620を有するエッジクラウド内のサービスのインスタンスから、第2のスライスセレクタ1630を有するエッジクラウド内のネットワークサービスのインスタンスに状態を転送する。いくつかの実施形態によって利用される別のオプションは、ネットワークサービスインスタンスを第1のエッジクラウドから第2のエッジクラウドに移行することである。ただし、ネットワークサービスインスタンスが多数の接続のトラフィックを処理している場合、このオプションには次いで他の接続を中断するという欠点がある。いくつかの他の実施形態では、選択されたスライスのためのネットワークサービスのいずれかがステートフルであり、スライスセレクタを用いてエッジクラウド内に実装される場合、次いで接続のためのスライスマッピング状態は第2のスライスセレクタに提供されず、代わりに、図13~図15に上述したように、データトラフィックを第1のスライスセレクタに転送される。 In some embodiments, one or more network services for slicing are stateful and implemented in the edge cloud with a slice selector. If the services are stateless, then when the traffic moves to the second slice selector 1630, the instances of these services in the new edge cloud can handle the traffic without any problems. However, if the network service in the edge cloud is stateful, some embodiments will be from an instance of the service in the edge cloud with the first slice selector 1620 to in the edge cloud with the second slice selector 1630. Transfer state to an instance of a network service. Another option utilized by some embodiments is to migrate the network service instance from the first edge cloud to the second edge cloud. However, if the network service instance is handling traffic for a large number of connections, this option then has the disadvantage of interrupting other connections. In some other embodiments, if one of the network services for the selected slice is stateful and implemented in the edge cloud using the slice selector, then the slice mapping state for the connection is the first. It is not provided to the second slice selector and instead, as described above in FIGS. 13-15, the data traffic is forwarded to the first slice selector.

異なる実施形態では、第2のスライスセレクタ1630が第1のスライスセレクタから、又はネットワークコントローラ(例えば、前述のVSNコントローラ)から直接その状態を受信してもよい。いくつかのそのような実施形態では、第1のスライスセレクタは、(i)第2のスライスセレクタに直接(例えば、デバイスが第2のスライスセレクタの地理的領域に移動する前に)状態をプッシュする、又は(ii)第2のスライスセレクタが状態を取り出すネットワークコントローラに状態をプッシュする。他のそのような実施形態では、第1のスライスセレクタは状態に関する位置情報をネットワークコントローラにプッシュし、第2のスライスセレクタはこの位置情報をネットワークコントローラから取り出し、次いで、第1のスライスセレクタから状態を取り出すためにその位置情報を使用する。 In different embodiments, the second slice selector 1630 may receive the state directly from the first slice selector or from a network controller (eg, the VSN controller described above). In some such embodiments, the first slice selector (i) pushes the state directly to the second slice selector (eg, before the device moves to the geographic area of the second slice selector). Or (ii) the second slice selector pushes the state to the network controller that retrieves the state. In other such embodiments, the first slice selector pushes position information about the state to the network controller, the second slice selector retrieves this position information from the network controller, and then the state from the first slice selector. Use that location information to retrieve.

図17は、スライスマッピング状態1700をセントラルコントローラ1725にプッシュする第1のスライスセレクタ1720と、3つの段階1705~1715を介してスライスマッピング状態をセントラルコントローラ1725から取り出す第2のスライスセレクタ1730の一例を概念的に示す。第1の段階1705に示すように、図16の例と同様に、モバイルデバイス1735は、第1のスライスセレクタ1720に関連付けられた第1の地理的領域1740に位置している間に、パブリックネットワークドメインとの接続を開始する。第1のスライスセレクタ1720は、接続をネットワークスライス1745に割り当て、この接続に属するモバイルデバイス1740からのデータトラフィックを選択されたスライスに(すなわち、このスライスのネットワークサービスに)転送し、選択されたネットワークスライスに接続をマッピングする接続状態1700を格納する。 FIG. 17 is an example of a first slice selector 1720 that pushes the slice mapping state 1700 to the central controller 1725 and a second slice selector 1730 that retrieves the slice mapping state from the central controller 1725 via three stages 1705 to 1715. Shown conceptually. As shown in the first stage 1705, similar to the example of FIG. 16, the mobile device 1735 is located in the first geographic area 1740 associated with the first slice selector 1720 while being located in the public network. Initiate a connection with the domain. The first slice selector 1720 assigns the connection to the network slice 1745, forwards data traffic from the mobile device 1740 belonging to this connection to the selected slice (ie, to the network service of this slice), and the selected network. Stores the connection state 1700 that maps the connection to the slice.

さらに、第1のスライスセレクタ1720は、他のスライスセレクタが必要に応じてこの状態を取り出すことができるように、スライスマッピング状態1700への接続をネットワークコントローラ1725にプッシュする。このネットワークコントローラは、いくつかの実施形態では、VSNが実装されている複数のデータセンタのコントローラにVSN構成データを提供するVSNコントローラである。具体的には、いくつかの実施形態では、第1のスライスセレクタ1720は、スライスマッピング状態1700を、そのデータセンタにローカルなコントローラのうちの1つ(例えば、スライスセレクタを構成するSDNコントローラ)に提供し、次に、その状態が他のデータセンタのスライスセレクタによってアクセスされ得るように、状態をVSNコントローラに渡す。 Further, the first slice selector 1720 pushes the connection to the slice mapping state 1700 to the network controller 1725 so that other slice selectors can retrieve this state as needed. This network controller is, in some embodiments, a VSN controller that provides VSN configuration data to controllers in a plurality of data centers in which VSNs are implemented. Specifically, in some embodiments, the first slice selector 1720 brings the slice mapping state 1700 to one of the controllers local to its data center (eg, the SDN controller that constitutes the slice selector). It provides and then passes the state to the VSN controller so that the state can be accessed by slice selectors in other data centers.

第2の段階1710では、モバイルデバイス1735が第2のスライスセレクタ1730に関連付けられた第2の地理的範囲1750に移動した。第2のスライスセレクタ1730が認識しない進行中の接続に関するデータメッセージをデバイス1735から受信すると、このスライスセレクタ1730は、(例えば、そのデータセンタにローカルなコントローラのうちの1つにそのような要求を行い、データセンタがVSNコントローラに要求を送信することによって)コントローラ1725に要求を送信する。コントローラ1700は、要求内で指定された接続についてのスライスマッピング情報1400を格納し、したがって、(例えば、第2のスライスセレクタ1730のデータセンタにローカルなコントローラを介して)状態1700を第2のスライスセレクタ1730に返す。 In the second stage 1710, the mobile device 1735 has moved to the second geographic range 1750 associated with the second slice selector 1730. Upon receiving a data message from device 1735 regarding an in-progress connection that the second slice selector 1730 does not recognize, the slice selector 1730 (eg, makes such a request to one of the controllers local to that data center). And the data center sends the request to the controller 1725 (by sending the request to the VSS controller). The controller 1700 stores slice mapping information 1400 for the connection specified in the request and therefore the second slice of state 1700 (eg, via a controller local to the data center of the second slice selector 1730). Return to selector 1730.

このスライスマッピング状態に基づいて、第3の段階1715において、第2のスライスセレクタ1730は、(この接続のための後続のデータメッセージと同様に)モバイルデバイス1735から受信されたデータメッセージを処理し、選択されたネットワークスライス(すなわち、接続のためのスライスマッピング状態において指定されたスライス)上にこのデータメッセージを転送することができる。 Based on this slice mapping state, in the third stage 1715, the second slice selector 1730 processes the data message received from the mobile device 1735 (as well as the subsequent data message for this connection). This data message can be forwarded onto the selected network slice (ie, the slice specified in the slice mapping state for the connection).

他の実施形態では、接続が開始されたスライスセレクタは状態位置情報のみをコントローラに提供し、他のスライスセレクタは状態位置情報を取り出し、それを使用して第1のスライスセレクタから直接スライスマッピング状態を取り出すことを可能にする。図18A~Bは、4つの段階1805~1820にわたって、状態位置情報1840をコントローラ1830にプッシュする第1のスライスセレクタ1825と、状態位置情報1840を取り出し、第1のスライスセレクタ1830からスライスマッピング状態1800を取り出すためにその状態位置情報1840を使用する第2のスライスセレクタ1835との例を概念的に示す。第1の段階1805に示すように、図16の例と同様に、モバイルデバイス1845は、第1のスライスセレクタ1825に関連付けられた第1の地理的領域1850に位置している間に、パブリックネットワークドメインとの接続を開始する。第1のスライスセレクタ1825は、接続をネットワークスライス1855に割り当て、この接続に属するモバイルデバイス1845からのデータトラフィックを選択されたネットワークスライス1855に(すなわち、このスライスのネットワークサービスに)転送し、選択されたネットワークスライスに接続をマッピングする接続状態1800を格納する。 In another embodiment, the slice selector where the connection is initiated provides only the state position information to the controller, the other slice selector retrieves the state position information and uses it to directly from the first slice selector the slice mapping state. Allows you to retrieve. 18A-B take out the first slice selector 1825 for pushing the state position information 1840 to the controller 1830 and the state position information 1840 for the four stages 1805 to 1820, and slice mapping state 1800 from the first slice selector 1830. An example is conceptually shown with a second slice selector 1835 that uses its state position information 1840 to retrieve. As shown in step 1805, similar to the example in FIG. 16, the mobile device 1845 is located in the first geographic area 1850 associated with the first slice selector 1825 while being located in the public network. Initiate a connection with the domain. The first slice selector 1825 assigns a connection to network slice 1855, forwards data traffic from mobile devices 1845 belonging to this connection to selected network slice 1855 (ie, to network services in this slice) and is selected. Stores the connection state 1800 that maps the connection to the network slice.

さらに、第1のスライスセレクタ1825は、第1のスライスセレクタがこの接続のためのスライスマッピング状態の位置であることを指定する状態位置情報1840を、ネットワークコントローラ1830にプッシュする。このネットワークコントローラは、いくつかの実施形態では、VSNが実装されている複数のデータセンタのコントローラにVSN構成データを提供するVSNコントローラである。具体的には、いくつかの実施形態では、第1のスライスセレクタ1825は、スライスマッピング状態位置データ1840を、そのデータセンタにローカルなコントローラのうちの1つ(例えば、スライスセレクタを構成するSDNコントローラ)に提供し、次に、その状態位置データが他のデータセンタのスライスセレクタによってアクセスされ得るように、状態位置データをVSNコントローラに渡す。 Further, the first slice selector 1825 pushes state position information 1840 to the network controller 1830, which specifies that the first slice selector is the position of the slice mapping state for this connection. This network controller is, in some embodiments, a VSN controller that provides VSN configuration data to controllers in a plurality of data centers in which VSN is implemented. Specifically, in some embodiments, the first slice selector 1825 uses the slice mapping state position data 1840 as one of the controllers local to the data center (eg, an SDN controller that constitutes the slice selector). ), And then pass the state position data to the VSS controller so that the state position data can be accessed by the slice selectors of other data centers.

第2の段階1810では、モバイルデバイス1845が第2のスライスセレクタ1835に関連付けられた第2の地理的範囲1860に移動した。第2のスライスセレクタ1835が認識しない進行中の接続に関するデータメッセージをデバイス1845から受信すると、このスライスセレクタ1835は、(例えば、そのデータセンタにローカルなコントローラのうちの1つにそのような要求を行い、データセンタがVSNコントローラに要求を送信することによって)コントローラ1830に要求を送信する。コントローラ1830はこの状態位置情報1840を格納し、したがって、(例えば、第2のスライスセレクタ1835のデータセンタにローカルなコントローラを介して)情報1840を第2のスライスセレクタ1835に返す。 In the second stage 1810, the mobile device 1845 was moved to the second geographic range 1860 associated with the second slice selector 1835. Upon receiving a data message from device 1845 about an in-progress connection that the second slice selector 1835 does not recognize, this slice selector 1835 (eg, makes such a request to one of the controllers local to that data center). And the data center sends the request to the controller 1830 (by sending the request to the VSS controller). The controller 1830 stores this state position information 1840 and therefore returns the information 1840 to the second slice selector 1835 (eg, via a controller local to the data center of the second slice selector 1835).

この状態位置情報に基づいて、第3段階1815において、第2スライスセレクタ1830は、第1スライスセレクタ1825に接続のためのスライスマッピング状態の要求を送信する。この要求は、いくつかの実施形態では接続を(例えば、5タプルによって)指定し、スライスマッピング状態の要求として第1のスライスセレクタ1825によって認識される特定の手法でフォーマットされる。これに応答して、第1のスライスセレクタ1825は、接続のためのスライスマッピング状態1800を第2のスライスセレクタ1835に送る。いくつかの実施形態ではルーティング可能なデータセンタ間接続がエッジクラウド間に存在し、他の実施形態では要求及び後続の応答がコアクラウド又は他のネットワークを介して1つのスライスセレクタから別のスライスセレクタに渡される。 Based on this state position information, in the third stage 1815, the second slice selector 1830 sends a request for a slice mapping state for connection to the first slice selector 1825. This request, in some embodiments, specifies a connection (eg, by 5 tuples) and is formatted in a particular manner as recognized by the first slice selector 1825 as a request for slice mapping state. In response, the first slice selector 1825 sends the slice mapping state 1800 for connection to the second slice selector 1835. In some embodiments, routable data center connections exist between the edge clouds, and in other embodiments, requests and subsequent responses are sent from one slice selector to another via the core cloud or other network. Passed to.

第4の段階1820において、第2のスライスセレクタ1835は、(この接続のための後続のデータメッセージと同様に)モバイルデバイス1845から受信されたデータメッセージを処理し、選択されたネットワークスライス1855(すなわち、接続のためのスライスマッピング状態において指定されたスライス)上にこのデータメッセージを転送することができる。 In the fourth stage 1820, the second slice selector 1835 processes the data message received from the mobile device 1845 (as well as the subsequent data message for this connection) and selects the network slice 1855 (ie, the selected network slice 1855). This data message can be forwarded on the slice specified in the slice mapping state for connection.

さらに他の実施形態では、接続が開始されたスライスセレクタは、接続を開始したモバイルデバイスが新しい地理的領域に移動した場合に、他のスライスセレクタが利用可能な接続についてのスライスマッピング状態を有するように、そのスライスマッピング状態を他のスライスセレクタ(例えば、地理的に隣接するスライスセレクタ)にプッシュする。図19は、2つの段階1905~1910にわたって、スライスマッピング状態1900を第2のスライスセレクタ1920にプッシュする第1のスライスセレクタ1915の例を概念的に示す。第1のステージ1905に示すように、図16の例と同様に、モバイルデバイス1925は、第1のスライスセレクタ1915に関連付けられた第1の地理的領域1930に位置している間に、パブリックネットワークドメインとの接続を開始する。第1のスライスセレクタ1915は、接続をネットワークスライス1935に割り当て、この接続に属するモバイルデバイス1925からのデータトラフィックをこのスライスに(すなわち、このスライスのネットワークサービスに)転送し、選択されたネットワークスライスに接続をマッピングする接続状態を格納する。 In yet another embodiment, the connection-initiated slice selector will have a slice mapping state for the connection available to other slice selectors when the initiating mobile device moves to a new geographic area. Pushes its slice mapping state to another slice selector (eg, a geographically adjacent slice selector). FIG. 19 conceptually shows an example of a first slice selector 1915 that pushes the slice mapping state 1900 to the second slice selector 1920 over two stages 1905-1910. As shown in the first stage 1905, similar to the example of FIG. 16, the mobile device 1925 is located in the first geographic area 1930 associated with the first slice selector 1915 while being located in the public network. Initiate a connection with the domain. The first slice selector 1915 assigns the connection to the network slice 1935 and forwards data traffic from mobile devices 1925 belonging to this connection to this slice (ie, to the network service of this slice) to the selected network slice. Stores the connection state that maps the connection.

さらに、第1のスライスセレクタ1915は第2のスライスセレクタ1920への接続のためにスライスマッピング状態1900をプッシュし、接続がネットワークスライス1935に割り当てられていることを示す。異なる実施形態は、異なるやり方でスライスマッピング状態を送信する。いくつかの実施形態では、この状態がデータネットワークを介して(例えば、データセンタ間のルーティング可能なネットワークを介して、エッジクラウドを介して)送信され、一方、他の実施形態では、この状態がコントローラにプッシュされ(すなわち、図17に示されるように)、コントローラは次に、この状態を第2のスライスセレクタ1920に自動的にプッシュする。このスライスマッピング状態は、異なる実施形態では、隣接する地理的範囲を有する特定のスライスセレクタ、特定のネットワーク(例えば、特定のネットワークサービスプロバイダ)のためのすべてのスライスセレクタ、又はスライスセレクタの他の組合せにプッシュされてもよい。 Further, the first slice selector 1915 pushes the slice mapping state 1900 for the connection to the second slice selector 1920, indicating that the connection is assigned to the network slice 1935. Different embodiments transmit slice mapping states in different ways. In some embodiments, this state is transmitted over a data network (eg, over a routable network between data centers, over an edge cloud), while in other embodiments, this state is Pushed to the controller (ie, as shown in FIG. 17), the controller then automatically pushes this state to the second slice selector 1920. This slice mapping state, in different embodiments, is a particular slice selector with adjacent geographic extents, all slice selectors for a particular network (eg, a particular network service provider), or other combinations of slice selectors. May be pushed to.

第2の段階1910では、モバイルデバイス1925が第2のスライスセレクタ1920に関連付けられた第2の地理的範囲1940に移動した。進行中の接続のためにデバイス1925からデータトラフィックを受信すると、第2のスライスセレクタ1920は、(この接続のための後続のデータメッセージと同様に)モバイルデバイス1925から受信されたデータメッセージを処理し、選択されたネットワークスライス1935(すなわち、接続のためのスライスマッピング状態で指定されたスライス)上にこのデータメッセージを転送することができる。 In the second stage 1910, the mobile device 1925 has moved to the second geographic range 1940 associated with the second slice selector 1920. Upon receiving data traffic from device 1925 for an in-progress connection, the second slice selector 1920 processes the data message received from mobile device 1925 (as well as subsequent data messages for this connection). , This data message can be forwarded onto the selected network slice 1935 (ie, the slice specified in the slice mapping state for connection).

上記のいくつかの例では、第1のスライスセレクタがスライスマッピング状態(又は状態位置情報)を第2のコントローラにプッシュする。いくつかの実施形態では、第1のスライスセレクタの地理的領域内で接続を開始するモバイルデバイスが隣接する地理的領域のいずれかに移動する場合、第1のスライスセレクタは、そのスライスマッピング状態(又はそれらの接続の状態位置情報)の全てを、隣接する地理的領域のスライスセレクタにプッシュする。他のそのような実施形態では、第1のスライスセレクタは、デバイスが移動する可能性がある隣接する地理的領域についてのスライスセレクタに状態情報をプッシュするため、モバイルデバイスの位置データ(そのデータが利用可能である場合)を使用する。 In some of the above examples, the first slice selector pushes the slice mapping state (or state position information) to the second controller. In some embodiments, if a mobile device that initiates a connection within the geographic area of the first slice selector moves to one of the adjacent geographic areas, the first slice selector will be in its slice mapping state ( Or push all of their connection state location information) to the slice selector in the adjacent geographic area. In other such embodiments, the first slice selector pushes state information to the slice selector for adjacent geographic areas where the device may move, so that the location data of the mobile device (that data is). If available) is used.

図20は、いくつかの実施形態に係る、スライスマッピング状態をその隣接する地理的領域2005の全てにプッシュする第1の地理的領域に関連付けられた第1のスライスセレクタ2000を概念的に示す。この例では、第1の地理的領域2005が6つの隣接する地理的領域2010~2035を有する。これらの地理的領域2005~2035は、この例では全て円形であり等しいサイズであるが、実際の地理的領域は様々な理由(例えば、異なるスライスセレクタが異なる数の基地局に関連付けられ、異なる基地局が異なる関連付けられた地理的領域を有する)のために、サイズ及び形状が変化し得ることを理解されたい。第1の地理的領域2005に位置するモバイルデバイスによって接続が開始されると、この領域に関連付けられたスライスセレクタ2000は、スライスマッピング状態を、隣接する地理的領域2010~2035に関連するスライスセレクタのすべてにプッシュする。 FIG. 20 conceptually shows a first slice selector 2000 associated with a first geographic region that pushes slice mapping states to all of its adjacent geographic regions 2005, according to some embodiments. In this example, the first geographic area 2005 has six adjacent geographic areas 2010-2035. These geographic regions 2005-2035 are all circular and of equal size in this example, but the actual geographic regions are for a variety of reasons (eg, different slice selectors are associated with different numbers of base stations and different bases. It should be understood that the size and shape can vary due to the station having different associated geographic areas). When the connection is initiated by a mobile device located in the first geographic region 2005, the slice selector 2000 associated with this region will change the slice mapping state to the slice selector associated with the adjacent geographic region 2010-2035. Push to all.

いくつかの実施形態は、スライスマッピング状態(又は状態位置情報)を直接隣接する領域(すなわち、接続が開始される領域と部分的に重なり合うか、又は隣接する領域)にプッシュするのみであり、他の実施形態は、状態を追加の領域(例えば、すべての領域、接続が開始される領域の隣接する領域のすべてに隣接する領域)にプッシュする。いくつかの実施形態では、スライスセレクタがスライスマッピング状態(又は状態位置情報)をプッシュする全ての領域のリストで構成され、(例えば、データセンタ間の接続を介して情報を送信することによって)この状態を他の領域のスライスセレクタに直接プッシュする。モバイルデバイスが異なる領域に移動し、その領域のためのスライスセレクタがスライスマッピング状態を使用してモバイルデバイスからの接続のためのデータトラフィックを処理すると、いくつかの実施形態では、新しい領域のためのスライスセレクタがモバイルデバイスが移動し続ける場合に、その状態をその隣接領域のためのスライスセレクタにもプッシュする。 Some embodiments only push the slice mapping state (or state location information) into a directly adjacent area (ie, a region that partially overlaps or is adjacent to the region where the connection is initiated), and others. The embodiment pushes the state to an additional area (eg, all areas, areas adjacent to all adjacent areas of the area where the connection is initiated). In some embodiments, the slice selector consists of a list of all areas that push slice mapping states (or state location information), which (eg, by sending information over a connection between data centers). Push the state directly to the slice selector in another area. When a mobile device moves to a different area and the slice selector for that area uses the slice mapping state to handle data traffic for connections from the mobile device, in some embodiments it is for a new area. The slice selector pushes its state to the slice selector for its adjoining area as the mobile device continues to move.

他の実施形態のスライスセレクタは、隣接領域のスライスセレクタに状態を自動的に分散させるセントラルコントローラ(例えば、VSNコントローラ)にその状態をプッシュし、この場合、スライスセレクタは、コントローラで処理されるので、その状態をプッシュするスライスセレクタのリストを用いて構成される必要はない。 The slice selector of the other embodiment pushes the state to a central controller (eg, a VSN controller) that automatically distributes the state to the slice selectors in the adjacent area, in which case the slice selector is processed by the controller. , Does not need to be configured with a list of slice selectors that push that state.

上述のように、いくつかの実施形態はスライスマッピング状態(又は状態位置情報)を特定の隣接領域に集中コンピュータで管理されてプッシュするために、モバイルデバイスのためのより正確な位置データを使用する。図21は、第1の地理的領域2105内を移動するモバイルデバイス2125と、そのモバイルデバイスによって開始される接続のためのスライスマッピング状態を、デバイス2125が移動している隣接領域のみにプッシュするその領域のためのスライスセレクタ2100とを概念的に示す。図に示されるように、モバイルデバイス2125は領域2105の中心により近い位置から、領域2105とその隣接領域2115との重複に近い位置に移動した。さらに、モバイルデバイスの移動のベクトルは、デバイスがすぐに領域2110に移動することができることを示す。したがって、この位置情報に基づいて、第1のスライスセレクタ2100は、モバイルデバイス2125によって開始された任意の接続のためのスライスマッピング状態を、領域2110及び2115のためのスライスセレクタにプッシュする(しかし、その他の図示された隣接領域2120のためのスライスセレクタにはプッシュしない)。異なる実施形態は、スライスマッピング状態(又は状態位置情報)を特定の隣接領域にいつプッシュするかに関する異なるヒューリスティックを使用することができる(例えば、近傍領域の閾値距離内の絶対位置を使用する、近傍領域に向かう移動を示す方向ベクトルを使用する、又は他のヒューリスティックを使用する)。 As mentioned above, some embodiments use more accurate location data for mobile devices to push slice mapping states (or state location information) to specific adjacent areas in a centralized computer-managed manner. .. FIG. 21 pushes the mobile device 2125 moving within the first geographic area 2105 and the slice mapping state for the connection initiated by the mobile device only to the adjacent area where the device 2125 is moving. A slice selector 2100 for a region is conceptually shown. As shown in the figure, the mobile device 2125 has moved from a position closer to the center of the area 2105 to a position closer to the overlap between the area 2105 and its adjacent area 2115. In addition, the movement vector of the mobile device indicates that the device can quickly move to region 2110. Therefore, based on this location information, the first slice selector 2100 pushes the slice mapping state for any connection initiated by the mobile device 2125 to the slice selectors for regions 2110 and 2115 (but not). Do not push to other slice selectors for the illustrated adjacent regions 2120). Different embodiments may use different heuristics regarding when to push the slice mapping state (or state position information) to a particular adjacent region (eg, using an absolute position within a threshold distance of the neighborhood region, neighborhood). Use a direction vector that indicates the movement towards the region, or use other heuristics).

上記の例はすべて、物理インフラストラクチャ(例えば、電気通信サービスプロバイダアクセスネットワーク)上に実装された単一の仮想サービスネットワークを示す。しかしながら、いくつかの実施形態では、仮想サービスネットワークは階層的にスライスされる。すなわち、仮想サービスネットワークのスライスは、それ自体、スライスセレクタ及び複数のネットワークスライスを有する仮想サービスネットワークである。 All of the above examples show a single virtual service network implemented on a physical infrastructure (eg, a telecommunications service provider access network). However, in some embodiments, the virtual service network is hierarchically sliced. That is, a slice of a virtual service network is itself a virtual service network with a slice selector and multiple network slices.

図22は、このような階層型仮想サービスネットワークの例を概念的に示す。具体的には、この図は、各々が複数のスライスを有する2つの別個の仮想サービスネットワーク2210と2215とから選択するスライスセレクタ2205を有するプロバイダインフラストラクチャ2200を示す。プロバイダインフラストラクチャ2200は、様々なデバイス2220(例えば、コンピュータ、スマートフォン、タブレット、自動運転車、IoTデバイス)からデータトラフィックを受信し、このデータトラフィックを2つの異なる下位レベル仮想サービスネットワーク2210及び2215のうちの1つに割り当てる、スライスセレクタ2205を有するそれ自体のトップレベル仮想サービスネットワークである。 FIG. 22 conceptually shows an example of such a hierarchical virtual service network. Specifically, this figure shows a provider infrastructure 2200 with a slice selector 2205 to choose from, two separate virtual service networks 2210 and 2215, each with a plurality of slices. The provider infrastructure 2200 receives data traffic from various devices 2220 (eg computers, smartphones, tablets, self-driving cars, IoT devices) and transfers this data traffic out of two different lower level virtual service networks 2210 and 2215. It is its own top-level virtual service network with a slice selector 2205 assigned to one of the above.

例えば、いくつかの実施形態の電気通信サービスプロバイダネットワークでは、モバイルネットワークオペレータ(MNO)がアクセスネットワーク及びコアネットワークの物理インフラストラクチャ2200(すなわち、RAN及びEPCインフラストラクチャ)を所有し、MNOに加入するデバイスからのトラフィックを処理するようにスライスセレクタ2205を構成する。さらに、MNOは、その物理インフラストラクチャを、同じインフラストラクチャを使用する加入者デバイスも有する1つ又は複数のモバイル仮想ネットワークオペレータ(MVNO)にリースすることができる。これらのMVNOは、場合によってはそれらの仮想インフラストラクチャも追加のMVNO又は他のエンティティにリースする。図22の例では、MNOが(それ自体の加入者デバイスのための)テナントAのVSN2210と(MVNOの加入者デバイスのための)テナントBのVSN2215とから選択するようにスライスセレクタ2205を構成することができる。 For example, in some embodiments of a telecommunications service provider network, a device in which a mobile network operator (MNO) owns and subscribes to an access network and core network physical infrastructure 2200 (ie, RAN and EPC infrastructure). Configure slice selector 2205 to handle traffic from. In addition, the MNO can lease its physical infrastructure to one or more mobile virtual network operators (MVNOs) who also have subscriber devices that use the same infrastructure. These MVNOs may also lease their virtual infrastructure to additional MVNOs or other entities. In the example of FIG. 22, the slice selector 2205 is configured such that the MNO chooses from tenant A's VSS2210 (for its own subscriber device) and tenant B's VSS2215 (for the MVNO's subscriber device). be able to.

例えば、MNOによって構成されるスライスセレクタ2205は、ソースデバイスに基づいて(例えば、ソースネットワークアドレスによって)VSN2210又はVSN2215のいずれかにデータメッセージを割り当てる。したがって、MVNOに関連するソースデバイスからのデータメッセージはVSN2210に送信され、MVNOに関連するソースデバイスからのデータメッセージはMVNOによって構成されるVSN2215に送信される。追加のMVNOがインフラストラクチャもリースする場合、その時スライスセレクタ2205は、選択する追加のVSNを有することになる(各MVNOがスライスセレクタと、それ自体のVSNのスライスのためのネットワークサービスのセットとを構成することができる)。 For example, the slice selector 2205 configured by the MNO assigns a data message to either VSN2210 or VSN2215 based on the source device (eg, by source network address). Therefore, the data message from the source device related to the MVNO is transmitted to the VSS2210, and the data message from the source device related to the MVNO is transmitted to the VSS2215 configured by the MVNO. If the additional MVNO also leases the infrastructure, then the slice selector 2205 will have an additional VSN of choice (each MVNO will have a slice selector and a set of network services for slicing its own VSN. Can be configured).

VSN2210並びに2215のそれぞれは、それ自体のそれぞれのスライスセレクタ2225及び2230も有する。この例では、これらのスライスセレクタ2225及び2230のそれぞれは、2つの可能なネットワークスライスから選ぶが、トップレベルスライスセレクタ2205が選ぶ多数のVSNをプロバイダインフラストラクチャが有することができるのと同様に、VSNのそれぞれがしばしば多数のスライスを含むことになることを理解されたい。いくつかの実施形態では、テナントVSNのためのこれらのスライスセレクタ2210及び2215がデータメッセージヘッダの様々な態様に基づいて追加のスライス選択を実行する。例えば、いくつかの実施形態ではトップレベルスライスセレクタ2205がソースデバイスネットワークアドレスに基づいてVSNを選択する一方で、下位レベルスライスセレクタ2210及び2215は上述のステートフル方式でスライスにデータメッセージを割り当てることができる(例えば、アプリケーションアウェア方式でスライスに接続を割り当てるためにディープパケットインスペクションを使用する)。 Each of VSN 2210 and 2215 also has its own slice selectors 2225 and 2230, respectively. In this example, each of these slice selectors 2225 and 2230 chooses from two possible network slices, just as the provider infrastructure can have as many VSNs as the top-level slice selector 2205 chooses. It should be understood that each of the above will often contain a large number of slices. In some embodiments, these slice selectors 2210 and 2215 for the tenant VSN perform additional slice selections based on various aspects of the data message header. For example, in some embodiments, the top-level slice selector 2205 selects VSNs based on the source device network address, while the lower-level slice selectors 2210 and 2215 can assign data messages to slices in the stateful manner described above. (For example, use deep packet inspection to assign connections to slices in an application-aware manner).

図23は、プロバイダ及びテナントスライスセレクタ(並びにネットワークスライスのネットワークサービス)の、複数のデータセンタ2305~2320にわたる分散を概念的に示す。図示のように、この例では、プロバイダスライスセレクタ2325及びテナントスライスセレクタ2330の両方がエッジクラウド2305並びに2310のそれぞれに実装される。さらに、図示されていないが、それぞれの他のテナントスライスセレクタは(他のテナントスライスセレクタがコアクラウドに実装されていない限り)エッジクラウドのそれぞれに実装される(いくつかの実施形態ではそれらのテナントVSNのスライスのいずれについてもネットワークサービスのいずれもエッジクラウドでインスタンス化されていない場合を可能にする)。さらに、図2に示すように、図示のネットワークスライス2300のネットワークサービス(VNFA~D)は、エッジクラウド2305及び2310、コアクラウド2315、並びにパブリッククラウド2320の間で分散される。 FIG. 23 conceptually shows the distribution of providers and tenant slice selectors (as well as network services for network slices) across multiple data centers 2305-2320. As shown, in this example, both the provider slice selector 2325 and the tenant slice selector 2330 are implemented in the edge clouds 2305 and 2310, respectively. In addition, although not shown, each other tenant slice selector is implemented in each of the edge clouds (unless other tenant slice selectors are implemented in the core cloud) (in some embodiments, those tenants). Allows for none of the VSN slices or any of the network services to be instantiated in the edge cloud). Further, as shown in FIG. 2, the network services (VNFA to D) of the illustrated network slice 2300 are distributed among the edge clouds 2305 and 2310, the core cloud 2315, and the public cloud 2320.

単一レベルのスライスセレクタが異なるやり方(例えば、VM又は仮想化ソフトウェア内で動作するフローベースの転送要素として、フィールドプログラマブルゲートアレイ物理転送要素として、VMとソフトウェア転送要素のポートとの間で実行するモジュールの別個のセットとして)で実装されてもよいのと同様に、異なる実施形態は、複数レベルのスライスセレクタ2325及び2330を異なるやり方で実装する。スライスセレクタのフォームファクタがVM又はVM内で実行される転送要素である場合、いくつかの実施形態は、プロバイダスライスセレクタ2325の各インスタンス及びテナントスライスセレクタ2330(及び任意の他のテナントスライスセレクタ)の各インスタンスに対して別個のVMを使用する。これにより、例えば、プロバイダ管理者は、VMと、プロバイダスライスセレクタ2325のための転送要素とを、VM及びテナントスライスセレクタの各々のための転送要素と別々に構成することが可能になる。 A single-level slice selector runs differently (eg, as a flow-based transfer element operating within a VM or virtualization software, as a field programmable gate array physical transfer element, between a VM and a port of a software transfer element. Different embodiments implement the multi-level slice selectors 2325 and 2330 in different ways, just as they may be implemented as separate sets of modules). If the form factor of the slice selector is a VM or a transfer element performed within the VM, some embodiments of each instance of the provider slice selector 2325 and the tenant slice selector 2330 (and any other tenant slice selector). Use a separate VM for each instance. This allows, for example, the provider administrator to configure the VM and the transfer element for the provider slice selector 2325 separately from the transfer element for each of the VM and the tenant slice selector.

この場合、アクセスネットワークがデータメッセージを受信すると、(例えば、RANを介した任意の予備処理の後に)メッセージは、最初にプロバイダスライスセレクタ2325に送られる。プロバイダスライスセレクタ転送要素がテナントVSNのうちの1つ(又はプロバイダ自身のVSN、事実上別のテナントVSN)を選択した後、プロバイダスライスセレクタ2325は同じエッジクラウド(すなわち、この例では、エッジクラウド2305)内の選択されたテナントVSNについてのスライスセレクタ2330にデータメッセージを送信する。いくつかの実施形態では、プロバイダスライスセレクタ2325は、サービスチェイニング技術を使用してデータメッセージをテナントスライスセレクタ2330に送信し、他の実施形態では、プロバイダスライスセレクタ2325は、この時点でデータメッセージの処理を終了し、単に、データメッセージを適切なテナントスライスセレクタ(例えば、スライスセレクタ2330)に送信するように構成される。 In this case, when the access network receives the data message, the message is first sent to the provider slice selector 2325 (eg, after any preprocessing via the RAN). After the provider slice selector transfer element selects one of the tenant VSNs (or the provider's own VSN, effectively another tenant VSN), the provider slice selector 2325 is the same edge cloud (ie, in this example, the edge cloud 2305). ) Sends a data message to the slice selector 2330 for the selected tenant VSN. In some embodiments, the provider slice selector 2325 uses service chaining technology to send a data message to the tenant slice selector 2330, in other embodiments the provider slice selector 2325 is a data message at this point. It is configured to finish processing and simply send a data message to the appropriate tenant slice selector (eg, slice selector 2330).

このテナントスライスセレクタ2330は、データメッセージを受信し、その選択されたスライスについてスライス選択及びサービスチェイン化を実行し(すなわち、図3に示すのと同じ方法で)、次いで、出力ゲートウェイを介してデータメッセージを送信する。ネットワークが複数のデータセンタに分散されている場合(つまり、この例に示すように)、テナントVSN実装には、いくつかの実施形態では各データセンタ内のサービスチェインモジュールが含まれる。いくつかのそのような実施形態では、プロバイダスライスセレクタ2325がサービスチェイニングを実行しない(すなわち、テナントスライスセレクタ2330及び/又はサービスチェイニングモジュールはテナントネットワークスライスの完了後にプロバイダスライスセレクタにデータトラフィックを返さず、したがって、プロバイダサービスチェイニングモジュールは他のデータセンタでは必要とされない)。 The tenant slice selector 2330 receives a data message, performs slice selection and service chaining on the selected slice (ie, in the same way as shown in FIG. 3), and then data via the output gateway. Send a message. If the network is distributed across multiple data centers (ie, as shown in this example), the tenant VSN implementation will include a service chain module within each data center in some embodiments. In some such embodiments, the provider slice selector 2325 does not perform service chaining (ie, the tenant slice selector 2330 and / or the service chaining module returns data traffic to the provider slice selector after the tenant network slice is complete. Therefore, the provider service chaining module is not needed in other data centers).

図23の例では、プロバイダスライスセレクタのテナントスライスセレクタへのマッピングは1:1である。ただし、他の実施形態では、トップレベル(プロバイダ)スライスセレクタが下位レベル(テナント)スライスセレクタよりも分散される場合がある。例えば、5Gアクセスネットワークではいくつかの実施形態におけるプロバイダスライスセレクタが各DUで実施され、様々なテナントのためのスライスセレクタは各CUで実施されてもよい。いくつかのそのような実施形態では、テナントスライスセレクタは、どのプロバイダスライスセレクタにリターントラフィックを送信すべきかを決定するためにMAC学習を使用する。多くの場合、テナントスライスセレクタのみがスライスマッピングへのステートフル接続を使用するので、異なるテナントスライスセレクタに関連する領域間の移動のみが、図13~19を参照して上述した状態共有又は状態位置共有アプリケーションの適用を引き起こす(すなわち、プロバイダスライスセレクタが、ソースネットワークアドレス又はソースデバイスに基づく別の値に基づいてネットワークスライスにデータメッセージを割り当てる場合、ステートフルマッピングは必要とされない)。この状況では、テナントスライスセレクタは、正しいプロバイダスライスセレクタに戻りトラフィックを送信するために学習されたMACアドレスを使用し、プロバイダスライスセレクタは、トラフィックが1つのプロバイダスライスセレクタから別のプロバイダスライスセレクタに送信される必要がないため、デバイスの現在位置に対する正しいプロバイダスライスセレクタとなるだろう。 In the example of FIG. 23, the mapping of the provider slice selector to the tenant slice selector is 1: 1. However, in other embodiments, the top-level (provider) slice selector may be more distributed than the lower-level (tenant) slice selector. For example, in a 5G access network, provider slice selectors in some embodiments may be implemented in each DU and slice selectors for various tenants may be implemented in each CU. In some such embodiments, the tenant slice selector uses MAC learning to determine to which provider slice selector return traffic should be sent. In many cases, only tenant slice selectors use stateful connections to slice mappings, so only movements between regions associated with different tenant slice selectors are state sharing or state location sharing as described above with reference to FIGS. 13-19. Causes application application (ie, if the provider slice selector assigns a data message to a network slice based on another value based on the source network address or source device, stateful mapping is not required). In this situation, the tenant slice selector uses the learned MAC address to send the traffic back to the correct provider slice selector, and the provider slice selector sends the traffic from one provider slice selector to another. It will be the correct provider slice selector for the current location of the device as it does not need to be.

いくつかの実施形態では、異なるレベルのスライスセレクタを別々に実装するのではなく、下位レベル(テナント)スライスセレクタはトップレベル(プロバイダ)スライスセレクタと同じVM及び/又は転送要素内に実装される。例えば、いくつかのそのような実施形態では、フローエントリの第1のセットがプロバイダスライスセレクタを実装し、フローエントリの別個のセットがテナントスライスセレクタのそれぞれを実装する。フローエントリのこれらの別個のセットのうちのどれが評価されるか(すなわち、テナントスライスセレクタのうちのどれがデータメッセージを評価するか)はフローエントリの第1のセットのうちのどれが第1のスライスセレクタによってマッチングされるか(すなわち、どのテナントVSNにデータメッセージが割り当てられるか)に依存する。 In some embodiments, the lower level (tenant) slice selector is implemented in the same VM and / or transfer element as the top level (provider) slice selector, rather than implementing different levels of slice selectors separately. For example, in some such embodiments, a first set of flow entries implements a provider slice selector and a separate set of flow entries implements each of the tenant slice selectors. Which of these separate sets of flow entries is evaluated (ie, which of the tenant slice selectors evaluates the data message) is the first of the first set of flow entries. It depends on whether it is matched by the slice selector of (that is, which tenant VSN is assigned the data message).

スライス選択がソフトウェア転送要素のポートに関連するサービスとして実行されるスライスセレクタのためのサービス挿入モデルでは、いくつかの実施形態がトップレベル(プロバイダ)スライス選択及び下位レベル(テナント)スライス選択の両方を、別々のサービスとして次々に実行する。すなわち、データメッセージは最初にプロバイダスライスセレクタによってインターセプトされ、次に、どのテナントVSNが選ばれたかに基づいて、データメッセージは、テナントスライスセレクタの1つによってインターセプトされる。 In the service insertion model for slice selectors where slice selection is performed as a service related to the port of the software transfer element, some embodiments have both top-level (provider) slice selection and lower-level (tenant) slice selection. , Run one after another as separate services. That is, the data message is first intercepted by the provider slice selector, and then the data message is intercepted by one of the tenant slice selectors based on which tenant VSN was selected.

図24は、いくつかの実施形態に係るプロバイダインフラストラクチャ2200及び複数のテナントVSN2210及び2215の分岐制御を概念的に示す。図4のように、VSNマネージャ及びコントローラ2400(以降、VSNコントローラと呼ぶ)は、ネットワーク全体のための制御の集中化された最上位レイヤである。いくつかの実施形態では、このVSNコントローラがプロバイダVSNコントローラ2405と、テナントVSNのそれぞれに対応するテナントVSNコントローラ2410及び2415との別個のインスタンスを有する。 FIG. 24 conceptually shows the branch control of the provider infrastructure 2200 and the plurality of tenant VSN 2210 and 2215 according to some embodiments. As shown in FIG. 4, the VSN manager and controller 2400 (hereinafter referred to as VSN controller) is a centralized top layer of control for the entire network. In some embodiments, the VSN controller has a separate instance of the provider VSN controller 2405 and the tenant VSN controllers 2410 and 2415 corresponding to each of the tenant VSNs.

別個のコントローラインスタンス2405~2415は、いくつかの実施形態において、異なる管理特権を備えるログインによって(すなわち、役割ベースのアクセス制御を使用して)アクセスされる。すなわち、いくつかの実施形態のVSNコントローラインターフェース(CLI、GUI、API)は、プロバイダ管理者アカウントへの異なるログインと、各テナント管理者のための別々のアカウントとを提供する。これらの異なるアカウントは、それぞれのVSNを構成するために、VSNコントローラに異なる構成データセットを提供することができる。例えば、いくつかの実施形態では、プロバイダVSNコントローラ2405は、トップレベルスライスセレクタ、トップレベルの任意のサービスと選択されたテナントVSNとの間のチェイニング、及びデータセンタ間の物理ネットワーク及びゲートウェイをプロバイダが構成することを可能にする。さらに、このプロバイダVSNコントローラ2405は、いくつかの実施形態ではプロバイダVSNのライフサイクルを管理する(例えば、スライスセレクタ、ゲートウェイ、及び他の構成要素をインスタンス化する)、及び/又はプロバイダVSNエンティティ及び様々なテナントVSNをモニタ及び最適化する機能を含む。 Separate controller instances 2405 to 2415 are, in some embodiments, accessed by logins with different administrative privileges (ie, using role-based access control). That is, some embodiments of VSN controller interfaces (CLI, GUI, API) provide different logins to provider administrator accounts and separate accounts for each tenant administrator. These different accounts can provide different configuration datasets to the VSN controller to configure their respective VSNs. For example, in some embodiments, the provider VSN controller 2405 provides a top-level slice selector, chaining between any top-level service and selected tenant VSNs, and physical networks and gateways between data centers. Allows to be configured. In addition, the provider VSN controller 2405 manages the life cycle of the provider VSN (eg, instantiating slice selectors, gateways, and other components) in some embodiments, and / or provider VSN entities and various. Includes the ability to monitor and optimize the tenant VSN.

いくつかの実施形態では、テナントVSNコントローラ2410及び2415のそれぞれは、それぞれのテナントがそれらのそれぞれのVSNを別個に構成することを可能にする。管理者のために異なるログインを使用することによって、コントローラ2400は、他のテナントVSN又はプロバイダVSNのいずれも構成せずに、自身のVSNのみを構成するために、テナント管理者を分離する。いくつかの実施形態では、各テナント管理者がそれぞれのスライスセレクタ、それらの様々なスライスのネットワークサービス、スライスセレクタとネットワークサービスとの間のチェイニング、及びテナントの構成の他の態様を設定することができる。さらに、いくつかの実施形態では、テナントVSNコントローラ2410及び2415はそれぞれ、テナントVSN及び様々なネットワークサービスのライフサイクルを管理する機能、及び/又は様々なネットワークサービス(及び全体としてのスライス)をモニタ及び最適化する機能を含む。 In some embodiments, each of the tenant VSN controllers 2410 and 2415 allows each tenant to configure their respective VSNs separately. By using different logins for the administrator, controller 2400 separates the tenant administrator to configure only its own VSN without configuring any of the other tenant VSNs or provider VSNs. In some embodiments, each tenant administrator sets up its own slice selector, network services for their various slices, chaining between slice selectors and network services, and other aspects of tenant configuration. Can be done. Further, in some embodiments, the tenant VSN controllers 2410 and 2415 monitor and / or monitor various network services (and slices as a whole) for managing the life cycle of the tenant VSN and various network services, respectively. Includes optimization capabilities.

図4に関して上述したように、いくつかの実施形態では、各データセンタがそれ自体のコントローラのセットを有する。いくつかの実施形態では、これらのコントローラはトップレベル構成データと下位レベル構成データとを区別しない。代わりに、VSNコントローラ2400は、構成データ(スライスセレクタとネットワークサービスとの間でデータメッセージをトンネルするために転送要素を構成するためのネットワーク構成データ、スライスセレクタ構成データ、ネットワークサービス構成データ、ネットワークサービス構成データ)をこれらのコントローラに提供し、これらのコントローラは、異なるレベルに対して同じ方法で様々なエンティティを構成する。例えば、図24の例では、プロバイダVSNコントローラ2405は、SDNコントローラがプロバイダスライスセレクタを構成するために使用するスライスセレクタ設定を提供するが、VNFを設定するための計算コントローラについてのVNF構成データは提供しない。代わりに、計算コントローラについてのこのデータは、様々な異なるテナントVSNコントローラインスタンス2410及び2415によって提供される。これらのVSNコントローラインスタンスはまた、SDNコントローラがスライスセレクタを構成するために使用するためのスライスセレクタ構成データを提供する。いくつかの実施形態では、データセンタ間でデータトラフィックを伝送するためのWAN設定が、プロバイダVSNコントローラ2405によってこれらのゲートウェイを管理するSDNコントローラにのみ提供される(すなわち、テナントが物理インフラストラクチャを管理しないため)。 As mentioned above with respect to FIG. 4, in some embodiments, each data center has its own set of controllers. In some embodiments, these controllers do not distinguish between top-level configuration data and low-level configuration data. Instead, the VSS controller 2400 uses configuration data (network configuration data, slice selector configuration data, network service configuration data, network services to configure forwarding elements to tunnel data messages between slice selectors and network services. Configuration data) is provided to these controllers, which configure different entities in the same way for different levels. For example, in the example of FIG. 24, the provider VSN controller 2405 provides slice selector settings that the SDN controller uses to configure the provider slice selector, but provides VNF configuration data for the compute controller to configure the VNF. do not. Instead, this data about the compute controller is provided by a variety of different tenant VSS controller instances 2410 and 2415. These VSN controller instances also provide slice selector configuration data for use by SDN controllers to configure slice selectors. In some embodiments, the WAN configuration for transmitting data traffic between data centers is provided only to the SDN controller that manages these gateways by the provider VSN controller 2405 (ie, the tenant manages the physical infrastructure). Not to do).

図22の上記の例では、下位レベルスライスセレクタ2225及び2230がそれぞれのVSN2210及び2215内のデータメッセージを処理する第1のエンティティである。いくつかの実施形態は、データメッセージを処理するために、スライスセレクタがVSN内の第1のエンティティであることを必要とする。しかしながら、他の実施形態では、第1のネットワークスライスセレクタがVSNのうちの1つを選択した後、このVSN(トップレベルVSNのスライスである)は下位レベルスライスセレクタがその下位レベルVSN内のスライスを選択する動作を実行する前に、データメッセージに適用されるネットワークサービスを含んでもよい。同様に、いくつかの実施形態では、所与のスライスに対して異なるサービスが適用された後、仮想サービスネットワーク内のすべてのネットワークスライスのデータメッセージにネットワークサービスが適用されてもよい。 In the above example of FIG. 22, the lower level slice selectors 2225 and 2230 are the first entity to process the data messages in the VSNs 2210 and 2215, respectively. Some embodiments require the slice selector to be the first entity in VSN in order to process the data message. However, in other embodiments, after the first network slice selector selects one of the VSNs, this VSN (which is a slice of the top level VSN) has the lower level slice selector sliced within its lower level VSN. May include network services applied to the data message before performing the action of selecting. Similarly, in some embodiments, the network service may be applied to the data messages of all network slices in the virtual service network after different services have been applied to a given slice.

図25はネットワークサービスがスライスセレクタ間に挿入され、及び/又は異なるスライスのサービスが完了した後の階層VSNの例を概念的に示す。この図は、2つのテナントVSN2510と2515とから選ぶスライスセレクタ2505を備えるプロバイダインフラストラクチャVSN2500を示す。 FIG. 25 conceptually shows an example of a hierarchical VSN after a network service has been inserted between slice selectors and / or services for different slices have completed. This figure shows a provider infrastructure VSS2500 with a slice selector 2505 to choose from two tenants VSS2510 and 2515.

第1のテナントVSN2510は、2つのスライス2525と2530との間で選択するスライスセレクタ2520を含み、これらの2つのスライスのそれぞれについて異なるネットワークサービスのセットを備える。さらに、図示のように、どのスライスにデータメッセージが割り当てられているかにかかわらず、そのデータメッセージは、スライス2525又はスライス2530のいずれかが完了した後の処理のためにVNFEに送られる。例えば、接続を介して送信されるデータの種類にかかわらず、そのテナントは、課金目的のために、その接続のすべてを処理する単一の計量サービスを望む場合がある。この場合、データメッセージがどのスライスに割り当てられているかに関係なく、スライスセレクタ(又はスライスが実装されている最終データセンタのサービスチェインモジュール)はVNFEを実装するVMにデータメッセージを送信する。ただし、他の実施形態では、これらの接続がすべて同じVNFに送信されると、すべての接続のQoSパラメータを制御することがより困難になるため、スライス外のこのようなネットワークサービスを許可しない。この場合、VNFEの別個のインスタンスが、スライス2525及び2530のそれぞれの中に含まれることになる。 The first tenant VSS2510 includes a slice selector 2520 to select between the two slices 2525 and 2530, each of which has a different set of network services. Further, as shown, regardless of which slice the data message is assigned to, the data message is sent to the VNFE for processing after either slice 2525 or slice 2530 is completed. For example, regardless of the type of data transmitted over the connection, the tenant may want a single weighing service that processes all of the connection for billing purposes. In this case, the slice selector (or the service chain module of the final data center where the slice is implemented) sends the data message to the VM that implements VNFE, regardless of which slice the data message is assigned to. However, in other embodiments, if all of these connections are sent to the same VNF, it would be more difficult to control the QoS parameters of all the connections and would not allow such network services outside the slice. In this case, separate instances of VNFE will be contained within slices 2525 and 2530, respectively.

プロバイダスライスセレクタ2505が第2のテナントVSN2515にデータメッセージを割り当てると、この例では、プロバイダスライスセレクタが最初に、ネットワークサービスVNFAのインスタンスにデータメッセージを送信し、次に、第2のテナントVSN2515のスライスセレクタ2535にデータメッセージを送信する。これにより、プロバイダは、(課金目的のため、RAN若しくはEPC機能を提供するため、又はその他の目的のために)特定のテナントVSNに送信されるすべてのデータトラフィックに適用されるようにネットワークサービスを構成できる。しかしながら、他の実施形態は、下位レベルスライスセレクタが上位レベルスライスセレクタの後にデータメッセージが送信される第1のエンティティであり、ネットワークサービスのすべてをネットワークスライスの最下位レイヤに集中させることを必要とする。 When the provider slice selector 2505 assigns a data message to the second tenant VSS2515, in this example, the provider slice selector first sends the data message to an instance of the network service VNFA, and then the slice of the second tenant VSS2515. Send a data message to selector 2535. This allows the provider to provide network services to apply to all data traffic sent to a particular tenant VSN (for billing purposes, to provide RAN or EPC functionality, or for other purposes). Can be configured. However, another embodiment requires that the lower level slice selector be the first entity to which the data message is sent after the upper level slice selector and that all of the network services be centralized in the lowest layer of the network slice. do.

上記の例は2つのレベルのスライス選択、例えば、インフラストラクチャを所有するMNOと、そのインフラストラクチャをMNOからリースする1つ又は複数のMVNOとを示す。多くの場合、MVNOはまた、それらの仮想インフラストラクチャを1つ又は複数の追加のMVNOにサブリースし、第3のレベルのスライス選択が使用されることになる。この場合、MNOスライスセレクタは、ソースネットワークアドレス解析に基づいてテナントVSNにデータメッセージを割り当てることができ、次いでMVNOスライスセレクタの第1のレベルは、よりきめの細かいネットワークアドレス解析に基づいてそのデータメッセージをサブテナントVSNに割り当てる(例えば、/24サブネット内のIPアドレスを有するすべてのソースデバイスは第1のレベルのテナントVSNに割り当てられ、その後、これはソース複数/28サブネット間で細分化される)。次いで、第3のレベルのスライス選択は、上述したようなディープパケットインスペクションに基づいてステートフルスライス選択を実行してもよい。 The above example shows two levels of slice selection, eg, an MNO that owns the infrastructure and one or more MVNOs that lease the infrastructure from the MNO. In many cases, the MVNO will also sublease those virtual infrastructures to one or more additional MVNOs and a third level of slice selection will be used. In this case, the MNO slice selector can assign a data message to the tenant VSS based on the source network address analysis, and then the first level of the MVNO slice selector is that data message based on a finer-grained network address analysis. (For example, all source devices with IP addresses within the / 24 subnet are assigned to the first level tenant VSS, after which it is subdivided among multiple source / 28 subnets). .. The third level of slice selection may then perform stateful slice selection based on deep packet inspection as described above.

図26は、3つのレベルのスライシングを持つVSNの階層セットの例を概念的に示す。上記の例のように、プロバイダインフラストラクチャVSN2600は、2つの異なるテナントVSN2610及び2615にデータメッセージを割り当てるスライスセレクタ2605を有する。第1のテナントVSN2610は、ネットワークサービスの異なるセットを備える2つのスライスにデータメッセージを割り当てるスライスセレクタ2620を有する。 FIG. 26 conceptually shows an example of a hierarchical set of VSNs with three levels of slicing. As in the example above, the provider infrastructure VSN2600 has a slice selector 2605 that assigns data messages to two different tenants VSN2610 and 2615. The first tenant VSS2610 has a slice selector 2620 that assigns data messages to two slices with different sets of network services.

一方で、第2のテナントVSN2615は、(i)第3のレベルのVSN2630、又は(ii)VSN2615の構成の一部であるVNFのセットを疎なるネットワークスライス2635のいずれかにデータメッセージを割り当てるスライスセレクタ2625を有する。例えば、VSN2615が第1のMVNOによって管理される場合、VSN2630は仮想インフラストラクチャの一部をリースする第2のMVNOによって管理される場合があり、一方、ネットワークスライス2635は第1のMVNOに加入するデバイスとの間のデータトラフィックのためのものである。このVSN2630は、(例えば、アプリケーション認識方法で、L2-L4ヘッダに基づいて、又は他要因を使用して)2つのスライス2645と2650とから選ぶ第2のMVNOによって構成された第3レベルスライスセレクタ2640を有する。 On the other hand, the second tenant VSN2615 allocates a data message to either (i) a third level VSN2630 or (ii) a network slice 2635 that sparsely sets the VNFs that are part of the configuration of VSN2615. It has a selector 2625. For example, if the VSN2615 is managed by a first MVNO, the VSN2630 may be managed by a second MVNO that leases part of the virtual infrastructure, while the network slice 2635 joins the first MVNO. It is for data traffic to and from the device. The VSS2630 is a third level slice selector configured by a second MVNO to choose from two slices 2645 and 2650 (eg, based on the L2-L4 header or by using other factors in an application recognition method). It has 2640.

さらに、第1のMVNOがアプリケーション認識スライス選択を実行する場合、スライスセレクタ2625は、VSN2630と、異なるアプリケーションのための複数の異なるネットワークスライスとから選ぶことができる。この場合、スライスセレクタ2625は、ソースネットワーク宛先の特定のセットにマッチングするデータトラフィックをVSN2630に送信し、次いで、アプリケーションレイヤデータに基づいて、その他のソースネットワーク宛先のためのデータトラフィックをスライスするように構成することができる。スライスセレクタ2625のフローベースの転送要素の実装では、VSN2630のフローエントリ(ソースアドレスに基づくマッチング)が他のネットワークスライスのフローエントリよりも高い優先順位を有し、そうでなければアプリケーション認識フローエントリにマッチングする第2のMVNOのデータトラフィックはネットワークスライスの1つに送られないことになる。 Further, if the first MVNO performs an application-recognized slice selection, the slice selector 2625 can choose from the VSS2630 and a plurality of different network slices for different applications. In this case, the slice selector 2625 sends data traffic to the VSS2630 that matches a particular set of source network destinations, and then slices the data traffic for other source network destinations based on the application layer data. Can be configured. In the implementation of the flow-based transfer element of the slice selector 2625, the flow entry of the VSS2630 (matching based on the source address) has a higher priority than the flow entry of other network slices, otherwise it is in the application-aware flow entry. The matching second MVNO data traffic will not be sent to one of the network slices.

しかしながら、他の実施形態は、スライスセレクタがVSNと、さらに細分化されないネットワークスライスとから選択することを可能にしない。この場合、スライスセレクタ2625は、第1のMVNOに対して構成されたスライス2635と任意の他のスライスとから選択するスライスセレクタを用いて、VSN2630と同じく第1のMVNOによって構成される別のVSNとから選択するように構成されるだろう。 However, other embodiments do not allow the slice selector to select from VSNs and network slices that are not further subdivided. In this case, the slice selector 2625 uses a slice selector to select from the slice 2635 configured for the first MVNO and any other slice, and another VSN configured by the first MVNO as well as the VSS2630. Will be configured to choose from.

スライス選択を使用するVSNの上記の例は、(階層的スライス選択と単一レベルスライス選択とについての両方の)電気通信プロバイダネットワークであるが、この仮想サービスネットワークは他のタイプのネットワークについても構成できることを理解されたい。例えば、データセンタ内、又は多数のデータセンタにまたがるネットワークの場合、仮想化ソフトウェア(例えば、VM又はネットワークの他のエンドポイントをホストするホストコンピュータ内)又はVMは、ネットワークエンドポイントによって送信されるデータメッセージのスライス選択を実装するように構成することができる。 The above example of a VSN that uses slice selection is a telecommunications provider network (both for hierarchical slice selection and single level slice selection), but this virtual service network is also configured for other types of networks. Please understand what you can do. For example, in the case of a network within a data center or across a large number of data centers, the virtualization software (eg, within the host computer hosting the VM or other endpoints of the network) or VM is the data transmitted by the network endpoint. It can be configured to implement message slice selection.

図27は、データセンタ2700内のVSNの実装を概念的に示す。異なる実施形態では、このデータセンタ2700は、(例えば、パブリックデータセンタの仮想プライベートクラウド内のスライス選択を使用する)パブリッククラウドであってもよく、プライベートデータセンタ(例えば、構内データセンタ)であってもよい。この例では、データトラフィックが第1のゲストVM2705及び第2のゲストVM2710から送信される。 FIG. 27 conceptually shows the implementation of VSN in the data center 2700. In a different embodiment, the data center 2700 may be a public cloud (eg, using slice selection in a virtual private cloud of a public data center) or a private data center (eg, a private data center). May be good. In this example, data traffic is transmitted from the first guest VM2705 and the second guest VM2710.

いくつかの実施形態では、これらの2つの仮想マシン2705及び2710が同じ論理ネットワークに属する(例えば、それらは同じ論理スイッチに接続され、それらは1つ以上の論理ルータを介して接続される2つの異なる論理スイッチに接続される)。いくつかの実施形態では、第1のゲストVM2705が、ゲストVM2705と同じホストコンピュータ2720内で動作するスライスセレクタ2715によって処理されるデータメッセージを送信する。いくつかの実施形態におけるこのスライスセレクタ2715は、ホストコンピュータで実行されるソフトウェア転送要素(例えば、仮想化ソフトウェアで実行されるソフトウェア仮想スイッチ)によって実装される。他の実施形態では、このスライスセレクタは、ゲストVM2705とソフトウェア転送要素(図示せず)との間のサービス挿入レイヤの一部として実装される。このサービス挿入レイヤはいくつかの実施形態では、データメッセージを特定のスライスに割り当てるために、データメッセージの特性(例えば、送信元及び/又は宛先アドレス、ディープパケットインスペクションから決定されたL5-L7ヘッダ情報、又は他の要因)を使用する。 In some embodiments, these two virtual machines 2705 and 2710 belong to the same logical network (eg, they are connected to the same logical switch and they are connected via one or more logical routers. Connected to a different logical switch). In some embodiments, the first guest VM2705 sends a data message processed by the slice selector 2715 running in the same host computer 2720 as the guest VM2705. In some embodiments, the slice selector 2715 is implemented by a software transfer element running on the host computer (eg, a software virtual switch running on virtualization software). In another embodiment, this slice selector is implemented as part of a service insertion layer between the guest VM2705 and a software transfer element (not shown). In some embodiments, this service insertion layer has L5-L7 header information determined from the characteristics of the data message (eg, source and / or destination address, deep packet inspection) in order to assign the data message to a particular slice. , Or other factors).

この例では、データトラフィックは、異なるホストコンピュータ上の3つのVMでVNF2725~2735として実装された3つのサービスを持つ最初のスライスに割り当てられる。少なくとも1つの他のネットワークスライス(すなわち、異なる順序付けられたネットワークサービスのセット)は、第1のゲストVM2705からの異なるトラフィック(場合によっては同じ第2のゲストVM2710への異なるトラフィックを含む)がこの異なるネットワークサービスのセットによって処理されるように、(破線によって示されるように)データセンタ内に別個に実装される。すべてのゲストVMを備えるホストコンピュータ上に実装されたスライスセレクタ及び/又はサービスチェイニングモジュールを有するいくつかの実施形態では、様々な異なるソースVMからのデータトラフィックが、異なる起点ホストコンピュータからの同じサービス経路に沿って(すなわち、同じVNFに同じ順序で)送信される。 In this example, data traffic is assigned to the first slice with three services implemented as VNF2725-2735 in three VMs on different host computers. At least one other network slice (ie, a different set of ordered network services) will have different traffic from the first guest VM2705, possibly including different traffic to the same second guest VM2710. Implemented separately in the data center (as indicated by the dashed line) as handled by a set of network services. In some embodiments with slice selectors and / or service chaining modules implemented on a host computer with all guest VMs, data traffic from different different source VMs will be the same service from different origin host computers. It is transmitted along the route (ie, to the same VNF in the same order).

いくつかの実施形態は電気通信サービスプロバイダネットワークについて上述したのと同様のサービスチェイニング方法を使用し、データメッセージは、ネットワークスライス内の各サービスがその処理を完了した後にスライスセレクタ2715に戻る。この場合、トラフィックは図に示されるように、サービスのチェインを通る線形フローに従わず、むしろ、ホストコンピュータ2720に繰り返し戻る。 Some embodiments use the same service chaining method as described above for the telecommunications service provider network, where the data message returns to the slice selector 2715 after each service in the network slice has completed its processing. In this case, the traffic does not follow a linear flow through the chain of services, as shown in the figure, but rather repeatedly returns to the host computer 2720.

他の実施形態は、第1のVNF2725と同じホストコンピュータ上の転送要素がデータトラフィックをスライスセレクタ2715に返すのではなく、データトラフィックを第2のVNF2730に自動的に転送するように、分散サービスチェイニングを使用する。いくつかのそのような実施形態は1つのVNFがサービスチェイン内の次のVNFに接続するインターフェースから受信されたトラフィックを自動的に転送することによってこれを達成し、一方他のそのような実施形態では、スライスセレクタが、メッセージをサービスチェイン内の次のVNFに転送するためにサービスチェインに沿って要素を転送することによって使用されるデータメッセージにタグ又はタグのセットを追加する。 Another embodiment is a distributed service check such that the forwarding element on the same host computer as the first VNF2725 automatically forwards the data traffic to the second VNF2730 instead of returning the data traffic to the slice selector 2715. Use innings. Some such embodiments achieve this by automatically forwarding traffic received from an interface where one VNF connects to the next VNF in the service chain, while other such embodiments. The slice selector adds a tag or set of tags to the data message used by forwarding elements along the service chain to forward the message to the next VNF in the service chain.

データトラフィックが宛先ゲストVM2710のホスト2745で受信されると、逆スライスセレクタ2740はデータをゲストVM2710に提供する前に、トラフィックについての接続情報を格納する。逆方向スライスセレクタ2740は、逆方向スライスセレクタ2740がスライスマッピングへの接続を格納する(例えば、スライスセレクタ2715によって選択されたスライスに5タプルをマッピングする)点で、いくつかの実施形態では図2の出力ゲートウェイと同様である。ゲストVM2710が戻りトラフィックをゲストVM2705に送信すると、逆スライスセレクタ2740はその戻りトラフィックを同じスライスに割り当てるために、接続のためにこの格納されたスライスマッピングを使用する。 When the data traffic is received by the host 2745 of the destination guest VM2710, the reverse slice selector 2740 stores connection information about the traffic before providing the data to the guest VM2710. In some embodiments, the reverse slice selector 2740 is such that the reverse slice selector 2740 stores a connection to the slice mapping (eg, maps 5 tuples to the slice selected by the slice selector 2715). Similar to the output gateway of. When the guest VM2710 sends return traffic to guest VM2705, the reverse slice selector 2740 uses this stored slice mapping for the connection to allocate the return traffic to the same slice.

いくつかの実施形態では、スライス選択及び逆スライス選択機能がホスト2720及び2745内の同じ構成要素(例えば、ソフトウェア転送要素、サービス挿入レイヤ、又は他の構成要素)によって実行される。スライスセレクタ及び逆スライスセレクタは、そのような実施形態では分散され、その構成要素はスライス選択機能及び逆スライス選択機能の両方を実行するように各ホストコンピュータ(例えば、VSNに接続されたVMを有する各ホストコンピュータ)上で構成される。 In some embodiments, slice selection and reverse slice selection functions are performed by the same components within hosts 2720 and 2745 (eg, software transfer elements, service insertion layers, or other components). The slice selector and the reverse slice selector are distributed in such an embodiment, and the components thereof have a VM connected to each host computer (for example, VSN) to perform both the slice selection function and the reverse slice selection function. Each host computer) is configured on.

VMが接続を開始し(つまり、クライアントとして動作する)、格納された接続マッピングのないトラフィックを送信すると、この構成要素は(L2-L4ヘッダフィールド、ディープパケットインスペクション、又はその他の要因を使用して)スライスの選択を実行し、設定された順序(この場合はVNF2725、VNF2730、VNF2735)でスライスのネットワークサービスにトラフィックを送信する。ホストが新しい接続の着信トラフィックを受信すると(つまり、そのホスト上のVMがサーバとして機能する場合)、その構成要素は逆スライスセレクタとして機能し、接続のスライスマッピングデータを格納する。VMが他の場所で開始された接続についてのトラフィックを返すとき、この構成要素は接続のための格納されたスライスマッピングデータを使用し、選択されたスライスのネットワークサービスに逆の順序(この場合、VNF2735、次いでVNF2730、次いでVNF2735)でトラフィックを送る、逆スライスセレクタとして働く。 When the VM initiates a connection (that is, acts as a client) and sends traffic without stored connection mappings, this component uses (L2-L4 header fields, deep packet inspection, or other factors). ) Performs slice selection and sends traffic to the slice's network services in the configured order (in this case VNF2725, VNF2730, VNF2735). When a host receives incoming traffic for a new connection (ie, if the VM on that host acts as a server), its component acts as an inverse slice selector and stores the slice mapping data for the connection. When the VM returns traffic for a connection initiated elsewhere, this component uses the stored slice mapping data for the connection and reverses the order to the network service of the selected slice (in this case). It acts as a reverse slice selector that sends traffic on VNF2735, then VNF2730, then VNF2735).

図28は、パブリッククラウド2815を介して2つのプライベートエンタープライズデータセンタ(すなわち、メインオフィス2805及びブランチオフィス2810)間のWAN通信を処理するためのVSNの実装を概念的に示す。この例ではメインオフィスとブランチオフィス間の通信について説明するが、同様のVSNが2つのブランチオフィス間、VPNを介して企業データセンタに接続するモバイルユーザ間、上記のいずれかのエンドポイントとソフトウェアとしてのサービス(SaaS)プロバイダデータセンタとの間の通信など、他のWANの例を処理するように構成されている可能性もあることは理解されるべきである。さらに、いくつかの実施形態では、VSNがこの場合のように1つ以上のパブリックデータセンタを含むのではなく、プライベートデータセンタのネットワーク内で完全に構成される。 FIG. 28 conceptually illustrates the implementation of VSN to handle WAN communication between two private enterprise data centers (ie, main office 2805 and branch office 2810) via the public cloud 2815. In this example, communication between the main office and the branch office will be described, but as a similar VSS between two branch offices, between mobile users connecting to a corporate data center via a VPN, or as any of the above endpoints and software. It should be understood that it may be configured to handle other WAN examples, such as communication with a Software as a Service (Software as a Service) provider data center. Moreover, in some embodiments, the VSN is fully configured within a network of private data centers rather than including one or more public data centers as in this case.

この例では、データトラフィックがメインオフィス2805内のホストコンピュータ上で実行されるVM2820から、ブランチオフィス2810内のホストコンピュータ上で実行されるVM2825に送られる。図27の以前の例と同様に、分散スライスセレクタ2830は、ソースVM2825と同じホストコンピュータ上に実装される。分散スライスセレクタ2830は、ホストコンピュータ上で実行されるソフトウェア転送要素によって、VMとソフトウェア転送要素との間のサービス挿入レイヤによって、又は上述したように他の構成要素によって実現されてもよい。 In this example, data traffic is sent from the VM2820 running on the host computer in the main office 2805 to the VM2825 running on the host computer in the branch office 2810. Similar to the previous example in FIG. 27, the distributed slice selector 2830 is implemented on the same host computer as the source VM2825. The distributed slice selector 2830 may be implemented by a software transfer element running on the host computer, by a service insertion layer between the VM and the software transfer element, or by other components as described above.

VM2820からのデータトラフィックは、VNFとして実装された4つのネットワークサービスを有する第1のネットワークスライスに割り当てられる。図示のように、第1のVNF2835は、メインオフィスデータセンタ2805に実装される。例えば、いくつかの実施形態は、データトラフィックをWANを介して他のデータセンタに送信する前に初期データセンタ内のデータトラフィックをフィルタリングするために、ファイアウォールを使用することができる。最初のVNF2835による処理後、WANゲートウェイ(MPLSゲートウェイ、SD-WANゲートウェイなど)を介してパブリッククラウドに送信されるデータトラフィック、ここで、選択されたネットワークスライスの追加のネットワークサービス2840~2850が実装される。3つのネットワークサービス2840~2850による処理の後、このデータトラフィックは別のWANゲートウェイのセットを介してブランチオフィスに送信され、そこでこのデータは宛先VM2825のホストに配信される。このホスト内の逆スライスセレクタ2860(例えば、ソフトウェア転送要素、サービス挿入レイヤ、又は他の構成要素によって実装される)は同じネットワークスライスに戻りトラフィックを割り当てる際に使用するために、スライスマッピング情報への接続を格納する。 Data traffic from the VM2820 is allocated to a first network slice with four network services implemented as a VNF. As shown, the first VNF2835 is mounted in the main office data center 2805. For example, in some embodiments, a firewall can be used to filter the data traffic in the initial data center before sending the data traffic over the WAN to other data centers. Data traffic sent to the public cloud via WAN gateways (MPLS gateways, SD-WAN gateways, etc.) after initial VNF2835 processing, where additional network services 2840-2850 for the selected network slices are implemented. To. After processing by the three network services 2840-2850, this data traffic is sent to the branch office via another set of WAN gateways, where the data is delivered to the host at the destination VM2825. The reverse slice selector 2860 in this host (implemented by, for example, a software transfer element, service insertion layer, or other component) is to slice mapping information for use in allocating return traffic to the same network slice. Store the connection.

いくつかの実施形態では、上述のように、スライスセレクタ2830は(その時点でそのデータセンタ内のサービスチェイン化モジュールがサービスチェイニングを処理する、少なくとも別のデータセンタに送信されたデータトラフィックまで)サービスチェイニングを処理する。このように、スライスセレクタ2830はデータメッセージがどのネットワークスライスに割り当てられるかを決定するだけでなく、選択されたネットワークスライス内の次のネットワークサービスの位置(例えば、現在のデータセンタ内のVM、コンテナ、又は物理デバイス、別のデータセンタ)も決定する。例えば、図28に示す例では、スライスセレクタ2830がVM2820からのデータメッセージを第1のネットワークスライスに割り当て、データメッセージを第1のVNF2835に送信し、その後、VNFによる処理後にデータメッセージを受信して戻す。次に、スライスセレクタは、次のネットワークサービスがパブリッククラウド2815内に配置されていると判断し、データメッセージをパブリッククラウド2815に送信できるように、データメッセージをWANゲートウェイに送信する。(例えば、サービス挿入レイヤに実装されたスライスセレクタ及び/若しくはサービスチェイニング、又は各ホスト上のソフトウェア転送要素によって実装されたこれらの機能を備える)分散スライスセレクタの場合、データメッセージは実際にはホストコンピュータ上のスライスセレクタに戻されず、代わりに、第1のVNF2835と同じホスト上で実行されるサービスチェイニングモジュールは、選択されたスライスの次のサービスがパブリッククラウド2815内に位置すると判定し、データメッセージをパブリッククラウド2815に送信することに留意されたい。 In some embodiments, as described above, the slice selector 2830 (up to at least data traffic sent to another data center at which the service chaining module in that data center handles service chaining). Handle service chaining. Thus, the slice selector 2830 not only determines which network slice the data message is assigned to, but also the location of the next network service within the selected network slice (eg VM, container in the current data center). , Or a physical device, another data center). For example, in the example shown in FIG. 28, the slice selector 2830 assigns the data message from the VM2820 to the first network slice, sends the data message to the first VNF2835, and then receives the data message after processing by the VNF. return. Next, the slice selector determines that the next network service is located in the public cloud 2815 and sends the data message to the WAN gateway so that the data message can be sent to the public cloud 2815. For distributed slice selectors (eg, with slice selectors and / or service chaining implemented in the service insertion layer, or these features implemented by software transfer elements on each host), the data message is actually the host. Instead of being returned to the slice selector on the computer, the service chaining module running on the same host as the first VNF2835 determines that the next service in the selected slice is located in the public cloud 2815 and the data Note that the message is sent to the public cloud 2815.

また、図28の例では、第2のネットワークスライス(図示のデータトラフィックについて選択されない)が異なるパブリッククラウド2855内に少なくとも部分的に実装されることにも留意されたい。すなわち、破線によって示されるように、スライスセレクタ2830がVM2820からのデータトラフィックを第2のネットワークスライスに割り当てる場合、このトラフィックはブランチオフィス2810に伝送される前に、WANゲートウェイを介してパブリッククラウド2855内のネットワークサービスに送られる。 It should also be noted that in the example of FIG. 28, the second network slice (not selected for the data traffic shown) is at least partially implemented in a different public cloud 2855. That is, if the slice selector 2830 allocates data traffic from the VM2820 to a second network slice, as indicated by the dashed line, this traffic is in the public cloud 2855 via the WAN gateway before being transmitted to the branch office 2810. Sent to network services.

図29は、パブリッククラウド又はパブリッククラウドのセット内の、パブリッククラウド内のゲストVMとパブリックインターネットトラフィックとの間の通信を処理するために、VSNが実装されてもよいことを概念的に示す。場合によっては、エンドポイントデバイス(例えば、モバイルデバイス、IoTデバイス、ラップトップ又はデスクトップコンピュータ)間のトラフィックは、(上の様々な図に示されるように)電気通信サービスプロバイダアクセスネットワーク内の第1のVSNによって処理され、インターネット経由で宛先ウェブサーバが配置されているパブリッククラウドにアクセスし、ウェブサーバに到達する前にパブリッククラウド内の第2のVSNによって処理される。同様に、戻りトラフィックは2番目のVSNによって(図29に示されている手法で)処理され、インターネット経由でルーティングされてから、エンドポイントデバイスに配信される前に最初のVSNによって処理される。 FIG. 29 conceptually illustrates that VSNs may be implemented to handle communication between guest VMs and public internet traffic in a public cloud within a public cloud or set of public clouds. In some cases, traffic between endpoint devices (eg, mobile devices, IoT devices, laptops or desktop computers) is the first in the telecommunications service provider access network (as shown in the various figures above). It is processed by the VSS, accesses the public cloud where the destination web server is located via the Internet, and is processed by the second VSS in the public cloud before reaching the web server. Similarly, return traffic is processed by the second VSN (in the manner shown in FIG. 29), routed over the Internet, and then processed by the first VSN before being delivered to the endpoint device.

図に示すように、第1のパブリッククラウド2910内のホストコンピュータ内のゲストVM2905は、パブリックインターネット宛先にデータメッセージを送信する。この宛先は例えば、ユーザエンドポイントデバイス(例えば、VM2905がクライアントデバイスからのデータ要求に応答してサーバとして動作する)、又はパブリック又はプライベートクラウド内の別の宛先であってもよい。この場合、データメッセージは、VM2905とは異なるホストコンピュータ上に実装されたスライスセレクタ2915に送られる。このスライスセレクタがデータメッセージを第1のネットワークスライスに割り当て、データメッセージを第1のデータセンタ内の第1の2つのネットワークサービス2920及び2925に送信する。この例では、スライスセレクタ2915がVSNに接続されたゲストVMをホストするすべてのホストコンピュータ上に分散されるのではなく、(データセンタ2910内に)集中化される。いくつかの実施形態では、ゲストVM2905は、すべてのトラフィックが処理のために最初にスライスセレクタ2915に送信されるよう、そのIPゲートウェイとしてスライスセレクタ2915を使用するように構成される。異なる実施形態は、(例えば、VM又はVMで実行される転送要素として)この図に示されるようなデータセンタのための単一スライスセレクタを使用してもよく、図27及び28に示されるような分散スライスセレクタを使用してもよい。 As shown in the figure, the guest VM2905 in the host computer in the first public cloud 2910 sends a data message to a public internet destination. This destination may be, for example, a user endpoint device (eg, VM2905 acting as a server in response to a data request from a client device), or another destination in a public or private cloud. In this case, the data message is sent to the slice selector 2915 implemented on a host computer different from VM2905. This slice selector assigns the data message to the first network slice and sends the data message to the first two network services 2920 and 2925 in the first data center. In this example, the slice selector 2915 is centralized (within the data center 2910) rather than distributed across all host computers hosting guest VMs connected to the VSS. In some embodiments, the guest VM2905 is configured to use the slice selector 2915 as its IP gateway so that all traffic is first sent to the slice selector 2915 for processing. Different embodiments may use a single slice selector for a data center as shown in this figure (eg, as a transfer element performed in a VM or VM), as shown in FIGS. 27 and 28. Distributed slice selector may be used.

上述のように、異なる実施形態では、データメッセージがスライスセレクタ2915に戻されるか、又は分散サービスチェイニングが使用され、データメッセージはVNF2920からVNF2925に直接(すなわち、スライスセレクタ2915が実装されるホストに戻ることなく、これらのホストコンピュータ上の転送要素を介して)渡される。 As mentioned above, in different embodiments, the data message is returned to the slice selector 2915, or distributed service chaining is used, and the data message is sent directly from VNF2920 to VNF2925 (ie, to the host on which the slice selector 2915 is implemented). Passed (via a transfer element on these host computers) without returning.

次に、選択されたネットワークスライスに対する第3及び第4のネットワークサービス2930及び2935が第2のパブリッククラウド2940内のホストコンピュータ上に実装されているので、データメッセージはWANゲートウェイを介してこのデータセンタ2940に送信される。そこで、サービスチェイニングモジュール(又は分散サービスチェイニングレイヤ)はデータメッセージをネットワークサービス2930及び2935に送信し、これらは、この場合同じホストコンピュータ上に実装される。最後に、ネットワークスライスが完了した後、データメッセージは出力ゲートウェイ2945を介してパブリックインターネットに送られる。この出力ゲートウェイはいくつかの実施形態では出力ゲートウェイ230と同様に動作し、インターネットから受信した逆方向トラフィックを割り当てる際に使用するためのスライスマッピング状態への接続を格納する。 Next, since the third and fourth network services 2930 and 2935 for the selected network slice are implemented on the host computer in the second public cloud 2940, the data message is sent to this data center via the WAN gateway. Sent to 2940. There, the service chaining module (or distributed service chaining layer) sends data messages to network services 2930 and 2935, which are then implemented on the same host computer. Finally, after the network slice is complete, the data message is sent to the public internet via the output gateway 2945. This egress gateway, in some embodiments, behaves like the egress gateway 230 and stores connections to slice mapping states for use in allocating reverse traffic received from the Internet.

いくつかの実施形態では、VSNは、図4の電気通信サービスプロバイダネットワークについて上記で示したのと同じ手法で(例えば、図27~29に示すように)1つ又は複数のデータセンタで構成される。すなわち、管理者は、スライスセレクタ、それぞれのサービスの様々なネットワークスライス及び実装(データセンタではそれぞれのネットワークサービスが実装されるべきである)、異なるデータセンタをどのように接続するか、並びに構成の他の態様のための構成を提供するために、トップレベルVSNマネージャ/コントローラにアクセスする。VSNコントローラは、各データセンタ内の複数のコントローラを使用して、VNF(若しくは使用されている場合はネットワークサービスのその他のフォームファクタ)、スライスセレクタ及び/又はサービスチェインモジュール(必要な場合)、データセンタ内のトラフィックをトンネルする転送要素、データセンタ間のトラフィックを送信するWANゲートウェイ、並びにその他の構成要素を設定する。 In some embodiments, the VSN consists of one or more data centers in the same manner as shown above for the telecommunications service provider network of FIG. 4 (eg, as shown in FIGS. 27-29). To. That is, the administrator has a slice selector, various network slices and implementations for each service (each network service should be implemented in a data center), how different data centers are connected, and configurations. Access to top-level VSS managers / controllers to provide configurations for other embodiments. The VSS controller uses multiple controllers in each data center to provide VNFs (or other form factors for network services if used), slice selectors and / or service chain modules (if required), data. Configure forwarding elements that tunnel traffic within the center, WAN gateways that send traffic between data centers, and other components.

図30は、本発明のいくつかの実施形態が実施される電子システム3000を概念的に示す。電子システム3000はコンピュータ(例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータ、サーバコンピュータ、メインフレーム、ブレードコンピュータ等)、電話、PDA、又は他のあらゆる種類の電子装置であってもよい。このような電子システムは、様々なタイプのコンピュータ可読媒体と、様々な他のタイプのコンピュータ可読媒体のためのインターフェースとを含む。電子システム3000は、バス3005と、処理部3010と、システムメモリ3025と、読み出し専用メモリ3030と、永久ストレージ3035と、入力デバイス3040と、出力デバイス3045とを含む。 FIG. 30 conceptually shows an electronic system 3000 in which some embodiments of the present invention are implemented. The electronic system 3000 may be a computer (eg, a desktop computer, a personal computer, a tablet computer, a server computer, a mainframe, a blade computer, etc.), a telephone, a PDA, or any other type of electronic device. Such electronic systems include various types of computer readable media and interfaces for various other types of computer readable media. The electronic system 3000 includes a bus 3005, a processing unit 3010, a system memory 3025, a read-only memory 3030, a permanent storage 3035, an input device 3040, and an output device 3045.

バス3005は、電子システム3000の多数の内部デバイスを通信可能に接続するすべてのシステムバス、周辺バス、及びチップセットバスを集合的に表す。例えば、バス3005は、処理部3010を、読み出し専用メモリ3030、システムメモリ3025、及び永久ストレージ3035と通信可能に接続する。 Bus 3005 collectively represents all system buses, peripheral buses, and chipset buses that communicably connect a large number of internal devices of the electronic system 3000. For example, the bus 3005 connects the processing unit 3010 communicably with the read-only memory 3030, the system memory 3025, and the permanent storage 3035.

これらの様々なメモリユニットから、処理部3010は本発明の処理を実行するために、実行すべき命令及び処理すべきデータを取り出す。処理部は、異なる実施形態において、単一プロセッサ又はマルチコアプロセッサであってもよい。 From these various memory units, the processing unit 3010 extracts an instruction to be executed and data to be processed in order to execute the processing of the present invention. The processing unit may be a single processor or a multi-core processor in different embodiments.

読み出し専用メモリ(ROM)3030は、処理部3010及び電子システムの他のモジュールによって必要とされる静的データ及び命令を格納する。一方、永久ストレージ3035は、読み書き可能な記憶デバイスである。このデバイスは、電子システム3000がオフであるときであっても命令及びデータを格納する不揮発性メモリ部である。本発明のいくつかの実施形態は、永久ストレージ3035として大容量ストレージデバイス(磁気又は光ディスク及びその対応するディスクドライブなど)を使用する。 The read-only memory (ROM) 3030 stores static data and instructions required by the processing unit 3010 and other modules of the electronic system. On the other hand, the permanent storage 3035 is a literate storage device. This device is a non-volatile memory unit that stores instructions and data even when the electronic system 3000 is off. Some embodiments of the present invention use large capacity storage devices (such as magnetic or optical discs and their corresponding disk drives) as permanent storage 3035.

他の実施形態では、永久ストレージとして取り外し可能な記憶装置(フロッピーディスク(登録商標)ディスク、フラッシュドライブなど)を使用する。永久ストレージ3035と同様に、システムメモリ3025は、読み書き可能な記憶デバイスである。しかしながら、記憶デバイス3035とは異なり、システムメモリは、ランダムアクセスメモリのような揮発性の読み出し/書き込みメモリである。システムメモリには、プロセッサが実行時に必要とする命令とデータの一部が格納される。いくつかの実施形態では、本発明の処理がシステムメモリ3025、永久ストレージ3035、及び/又は読み出し専用メモリ3030に記憶される。これらの様々なメモリユニットから、処理部3010はいくつかの実施形態の処理を実行するために、実行すべき命令及び処理すべきデータを取り出す。 In another embodiment, a removable storage device (floppy disk (registered trademark) disk, flash drive, etc.) is used as permanent storage. Like the permanent storage 3035, the system memory 3025 is a literate storage device. However, unlike the storage device 3035, the system memory is a volatile read / write memory such as a random access memory. The system memory stores some of the instructions and data that the processor needs at run time. In some embodiments, the process of the invention is stored in system memory 3025, permanent storage 3035, and / or read-only memory 3030. From these various memory units, the processing unit 3010 extracts an instruction to be executed and data to be processed in order to execute the processing of some embodiments.

また、バス3005は、入出力デバイス3040及び3045に接続する。入力デバイスはユーザが情報を伝達し、電子システムへのコマンドを選択することを可能にする。入力デバイス3040は、英数字キーボード及びポインティングデバイス(「カーソル制御デバイス」とも呼ばれる)を含む。出力デバイス3045は、電子システムによって生成された画像を表示する。出力デバイスは、プリンタと、陰極線管(CRT)又は液晶ディスプレイ(LCD)などの表示装置とを含む。一部の実施形態は、入力デバイス及び出力デバイスの両方として機能するタッチスクリーンなどの装置を含む。 The bus 3005 also connects to the input / output devices 3040 and 3045. The input device allows the user to convey information and select commands to the electronic system. The input device 3040 includes an alphanumerical keyboard and a pointing device (also referred to as a "cursor control device"). The output device 3045 displays an image generated by the electronic system. Output devices include a printer and a display device such as a cathode ray tube (CRT) or liquid crystal display (LCD). Some embodiments include devices such as touch screens that serve as both input and output devices.

最後に、図30に示すように、バス3005はまた、ネットワークアダプタ(図示せず)を介して電子システム3000をネットワーク3065に結合する。このようにして、コンピュータは、コンピュータのネットワーク(ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、又はイントラネットの一部、あるいはインターネットのようなネットワークのネットワークであってもよい。電子システム3000の任意の又はすべての構成要素を、本発明と併せて使用することができる。 Finally, as shown in FIG. 30, the bus 3005 also couples the electronic system 3000 to the network 3065 via a network adapter (not shown). In this way, the computer may be a network of computers (local area network (“LAN”), wide area network (“WAN”), or part of an intranet, or a network of networks such as the Internet. Any or all components of the electronic system 3000 can be used in conjunction with the present invention.

いくつかの実施形態はコンピュータプログラム命令を、マシン可読又はコンピュータ可読媒体(代替的にはコンピュータ可読記憶媒体、マシン可読媒体、又はマシン可読記憶媒体と称される)に記憶するマイクロプロセッサ、記憶装置及びメモリ等の電子構成要素を含む。このようなコンピュータ可読媒体のいくつかの例としては、RAM、ROM、読取り専用コンパクトディスク(CD-ROM)、記録可能コンパクトディスク(CD-R)、書き換え可能コンパクトディスク(CD-RW)、読み取り専用デジタル汎用ディスク(例えば、DVD-ROM、二重層DVD-ROM)、様々な記録可能/書き換え可能DVD(例えば、DVD-RAM、DVD-RW、DVD+RW等)、フラッシュメモリ(例えば、SDカード、ミニSDカード、マイクロSDカード等)、磁気及び/又はソリッドステートハードドライブ、読み取り専用及び記録可能なブルーレイ(登録商標)ディスク、超密度光ディスク、任意の他の光又は磁気媒体、及びフロッピーディスクがある。コンピュータ可読媒体は少なくとも1つの処理ユニットによって実行可能であり、様々な動作を実行するための命令のセットを含むコンピュータプログラムを格納してもよい。コンピュータプログラム又はコンピュータコードの例とは、コンパイラによって生成されるようなマシンコードと、インタプリタを使用してコンピュータ、電子構成要素、又はマイクロプロセッサによって実行される上位レベルのコードを含むファイルとを含む。 Some embodiments are microprocessors, storage devices and devices that store computer program instructions on a machine-readable or computer-readable medium (alternatively referred to as a computer-readable storage medium, machine-readable medium, or machine-readable storage medium). Includes electronic components such as memory. Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROMs), recordable compact discs (CD-R), rewritable compact discs (CD-RW), and read-only. Digital general-purpose discs (eg, DVD-ROM, double-layer DVD-ROM), various recordable / rewritable DVDs (eg, DVD-RAM, DVD-RW, DVD + RW, etc.), flash memory (eg, SD card, mini SD). Cards, micro SD cards, etc.), magnetic and / or solid state hard drives, read-only and recordable Blu-ray® discs, ultra-dense optical discs, any other optical or magnetic medium, and floppy disks. The computer-readable medium may be executed by at least one processing unit and may contain a computer program containing a set of instructions for performing various operations. Examples of computer programs or computer code include machine code as generated by a compiler and files containing higher level code executed by a computer, electronic component, or microprocessor using an interpreter.

上記の検討は主に、ソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサに言及しているが、いくつかの実施形態は特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)などの1つ又は複数の集積回路によって実行される。一部の実施形態では、このような集積回路が回路自体に格納された命令を実行する。 The above discussion primarily refers to microprocessors or multi-core processors running software, but some embodiments may be one such as an application specific integrated circuit (ASIC) or field programmable gate array (FPGA). It is executed by multiple integrated circuits. In some embodiments, such integrated circuits execute instructions stored in the circuit itself.

本明細書において、「コンピュータ」、「サーバ」、「プロセッサ」、「メモリ」という用語はすべて、電子デバイス又は他の技術的デバイスを意味し、これらの用語は人々又は人々のグループを除外するものである。本明細書の目的のために、ディスプレイ、又は電子デバイスに表示する表示手段という用語。本明細書において、「コンピュータ可読媒体」、「コンピュータ可読媒体」、及び「マシン可読媒体」という用語は、コンピュータによって読み取り可能な形式で情報を記憶する有形の物理的なオブジェクトに完全に限定される。これらの用語は、すべての無線信号、有線ダウンロード信号、及びその他のエフェメラル信号を除外する。 As used herein, the terms "computer," "server," "processor," and "memory" all refer to electronic devices or other technical devices, and these terms exclude people or groups of people. Is. For the purposes of this specification, the term display means to be displayed on a display or electronic device. As used herein, the terms "computer-readable medium", "computer-readable medium", and "machine-readable medium" are entirely limited to tangible physical objects that store information in a computer-readable format. .. These terms exclude all radio signals, wired download signals, and other ephemeral signals.

本明細書は、全体を通して、仮想マシン(VM)を含む計算環境及びネットワーク環境を指す。ただし、仮想マシンは、アドレス指定可能なノードとも呼ばれる、データ計算ノード(DCN)又はデータ計算エンドノードの一例にすぎない。DCNは、仮想化されていない物理ホスト、仮想マシン、ハイパーバイザ又は別個のオペレーティングシステムを必要としないホストオペレーティングシステム上で動作するコンテナ、及びハイパーバイザカーネルネットワークインターフェースモジュールを含んでもよい。 As a whole, the present specification refers to a computing environment and a network environment including a virtual machine (VM). However, a virtual machine is just one example of a data calculation node (DCN) or data calculation end node, also called an addressable node. The DCN may include a non-virtualized physical host, a virtual machine, a container running on a host operating system that does not require a hypervisor or a separate operating system, and a hypervisor kernel network interface module.

VMは、いくつかの実施形態では仮想化ソフトウェアによって仮想化されたホストのリソース(例えば、ハイパーバイザ、仮想マシンモニタなど)を使用して、ホスト上のそれら自身のゲストオペレーティングシステムで動作する。テナント(すなわち、VMの所有者)は、ゲストオペレーティングシステムの上でどのアプリケーションを動作させるかを選ぶことができる。一方、いくつかのコンテナはハイパーバイザ又は別個のゲストオペレーティングシステムを必要とせずに、ホストオペレーティングシステムの上で実行されるコンストラクトである。いくつかの実施形態では、ホストオペレーティングシステムが名前空間を使用して、コンテナを互いに分離し、したがって、異なるコンテナ内で動作するアプリケーションの異なるグループのオペレーティングシステムレベルの分離を提供する。この分離は、システムハードウェアを仮想化するハイパーバイザ仮想化環境で提供されるVM分離に類似しており、したがって、異なるコンテナで動作するアプリケーションの異なるグループを分離する仮想化の形成と見なすことができる。このようなコンテナは、VMよりも軽量である。 VMs, in some embodiments, use host resources virtualized by virtualization software (eg, hypervisors, virtual machine monitors, etc.) to run on their own guest operating system on the host. The tenant (ie, the owner of the VM) can choose which application to run on the guest operating system. On the other hand, some containers are constructs that run on the host operating system without the need for a hypervisor or a separate guest operating system. In some embodiments, the host operating system uses namespaces to separate containers from each other, thus providing operating system-level isolation for different groups of applications running within different containers. This isolation is similar to the VM isolation provided in a hypervisor virtualization environment that virtualizes system hardware and can therefore be viewed as the formation of virtualization that isolates different groups of applications running in different containers. can. Such containers are lighter than VMs.

ハイパーバイザカーネルネットワークインターフェースモジュールは、いくつかの実施形態ではハイパーバイザカーネルネットワークインターフェース及び受信/送信スレッドを有するネットワークスタックを含む非VM DCNである。ハイパーバイザカーネルネットワークインターフェイスモジュールの例の1つは、VMware、IncのEsxi hypervisorの一部であるvmknicモジュールである。 The hypervisor kernel network interface module is, in some embodiments, a non-VM DCN comprising a hypervisor kernel network interface and a network stack having receive / transmit threads. One example of a hypervisor kernel network interface module is the VMknic module, which is part of VMware, Inc's ESX hypervisor.

明細書がVMを参照する一方で、所与の例は、物理ホスト、VM、非VMコンテナ、及びハイパーバイザカーネルネットワークインタフェースモジュールを含む任意の種類のDCNであってもよいことが理解されるべきである。実際に、例示的なネットワークは、いくつかの実施形態では異なるタイプのDCNの組合せを含むことができる。 While the specification refers to VMs, it should be understood that given examples may be any type of DCN including physical hosts, VMs, non-VM containers, and hypervisor kernel network interface modules. Is. In fact, the exemplary network can include different types of DCN combinations in some embodiments.

本発明を多数の特定の詳細を参照して説明してきたが、当業者であれば、本発明の精神から逸脱することなく、他の特定の形態で本発明を実施できることを理解するのであろう。さらに、いくつかの図(図9、図11、及び図12を含む)は、処理を概念的に示す。これらの処理の特定の動作は、示され説明された正確な順序で実行されなくてもよい。特定の動作は1つの連続した一連の動作において実行されなくてもよく、異なる実施形態において異なる特定の動作が実行されてもよい。さらに、この処理は、いくつかのサブ処理を使用して、又はより大きなマクロ処理の一部として実施することができる。したがって、当業者は、本発明が前述の例示的な詳細によって限定されるべきではなく、むしろ添付の特許請求の範囲によって定義されるべきであることを理解するであろう。 Having described the invention with reference to a number of specific details, one of ordinary skill in the art will appreciate that the invention can be practiced in other particular embodiments without departing from the spirit of the invention. .. In addition, some figures (including FIGS. 9, 11, and 12) conceptually illustrate the process. Certain actions of these processes do not have to be performed in the exact order shown and described. The specific operation may not be performed in one continuous series of operations, and different specific operations may be performed in different embodiments. In addition, this process can be performed using some sub-processes or as part of a larger macro process. Accordingly, one of ordinary skill in the art will appreciate that the invention should not be limited by the above exemplary details, but rather should be defined by the appended claims.

Claims (23)

複数のデータセンタを介して複数の仮想サービスネットワークを確立する方法であって、
前記複数の仮想サービスネットワークのうちの仮想サービスネットワークごとに、前記仮想サービスネットワークのためのネットワークサービスの順序セットを実装するために、前記複数のデータセンタにわたり分散されたマシンのセットを構成することと、
データメッセージを受信すること、前記データメッセージのコンテンツの分析に基づいて前記データメッセージのための前記複数の仮想サービスネットワークの1つを選択すること、選択された前記仮想サービスネットワークのための前記ネットワークサービスの順序セットの第1のネットワークサービスを実装するマシンについての前記複数のデータセンタ内の位置を決定すること、及び前記データメッセージを前記第1のネットワークサービスを実装する前記マシンに送信すること、を前記複数のデータセンタ内で実行する複数のサービスネットワークセレクタを構成することと、
を含む、方法。
A method of establishing multiple virtual service networks through multiple data centers.
For each virtual service network among the plurality of virtual service networks, to configure a set of machines distributed across the plurality of data centers in order to implement an ordered set of network services for the virtual service network. ,
Receiving a data message, selecting one of the plurality of virtual service networks for the data message based on analysis of the content of the data message, said network service for the selected virtual service network. Determining a location within the plurality of data centers for a machine that implements the first network service of the sequence set, and sending the data message to the machine that implements the first network service. By configuring multiple service network selectors running within the multiple data centers,
Including, how.
前記複数のデータセンタは、複数のパブリッククラウドデータセンタを備える、請求項1に記載の方法。 The method according to claim 1, wherein the plurality of data centers include a plurality of public cloud data centers. 前記複数のデータセンタは、少なくとも1つのパブリッククラウドデータセンタと、少なくとも1つのプライベートデータセンタとを備える、請求項1に記載の方法。 The method of claim 1, wherein the plurality of data centers comprises at least one public cloud data center and at least one private data center. 前記複数の仮想サービスネットワークは、(i)前記複数のデータセンタ内で動作するマシンの第1のセットによって実装されるネットワークサービスの第1の順序セットを備える第1の仮想サービスネットワークと、(ii)前記複数のデータセンタ内で動作するマシンの第2のセットによって実装されるネットワークサービスの第2の順序セットを備える第2の仮想サービスネットワークとを少なくとも備える、請求項1に記載の方法。 The plurality of virtual service networks are (i) a first virtual service network comprising a first sequence set of network services implemented by a first set of machines operating in the plurality of data centers, and (ii). ) The method of claim 1, comprising at least a second virtual service network comprising a second sequence set of network services implemented by a second set of machines operating in the plurality of data centers. 前記方法は、仮想サービスネットワークコントローラによって実行され、
マシンの特定のセットを構成することは、少なくとも1つの前記データセンタ内のホストコンピュータ上の、仮想マシン及びコンテナの少なくとも1つをインスタンス化するための第1のコントローラに、前記マシンのセットのための構成データを提供することを含み、
前記複数のサービスネットワークセレクタを構成することは、少なくとも1つの前記データセンタ内の前記サービスネットワークセレクタを構成するための第2のコントローラに、サービスネットワーク選択動作のための構成データを提供することを含む、請求項1に記載の方法。
The method is performed by a virtual service network controller.
Configuring a particular set of machines is for the set of machines to a first controller for instantiating at least one of the virtual machines and containers on the host computer in at least one of the data centers. Including providing configuration data for
Configuring the plurality of service network selectors includes providing configuration data for a service network selection operation to a second controller for configuring the service network selector in at least one of the data centers. , The method according to claim 1.
(i)前記マシンのセットのための前記構成データを前記第1のコントローラに提供し、(ii)前記サービスネットワーク選択動作のための前記構成データを前記第2のコントローラに提供することは、特定のデータセンタで実行されるエージェントに仮想サービスネットワークポリシーを提供することを含み、前記エージェントは、前記仮想サービスネットワークポリシーを、(i)前記第1のコントローラが前記マシンのセットをインスタンス化及び構成するためのデータと、(ii)前記サービスネットワーク選択動作を実行するために前記第2のコントローラが前記サービスネットワークセレクタを構成するためのデータとに変換する、請求項5に記載の方法。 It is specific to (i) provide the configuration data for the set of machines to the first controller and (ii) provide the configuration data for the service network selection operation to the second controller. Including providing a virtual service network policy to an agent running in a data center of the agent, the agent instantiates and configures the virtual service network policy, (i) the first controller instantiates and configures the set of machines. 5. The method of claim 5, wherein the second controller converts data for configuring the service network selector to perform (ii) the service network selection operation. (i)前記データメッセージは、外部エンドポイントデバイスから特定のサービスネットワークセレクタにおいて受信され、(ii)前記選択された仮想サービスネットワークのための前記ネットワークサービスの順序セットによって処理された後に、前記データメッセージは、前記データセンタからパブリックネットワークに送信される、請求項1に記載の方法。 (I) The data message is received from an external endpoint device in a particular service network selector and (ii) processed by the network service sequence set for the selected virtual service network, and then the data message. 1 is the method according to claim 1, wherein is transmitted from the data center to a public network. 前記特定のサービスネットワークセレクタは、第1のデータセンタで実行され、第1の地理的範囲内に位置する外部エンドポイントデバイスからデータメッセージを受信し、追加のサービスネットワークセレクタが他のデータセンタで実行され、第2の地理的範囲内に位置する外部エンドポイントデバイスからデータメッセージを受信する、請求項7に記載の方法。 The particular service network selector runs in the first data center, receives data messages from external endpoint devices located within the first geographic range, and additional service network selectors run in other data centers. 7. The method of claim 7, wherein the data message is received from an external endpoint device located within a second geographic range. 前記データメッセージは、前記複数のデータセンタの特定のデータセンタ内の特定のホストコンピュータ上で実行される特定のサービスネットワークセレクタで受信される、請求項1に記載の方法。 The method of claim 1, wherein the data message is received by a particular service network selector running on a particular host computer in the particular data center of the plurality of data centers. 前記データメッセージは、データ計算ノードから受信され、前記データ計算ノードも前記特定のホストコンピュータ上でも実行され、追加のサービスネットワークセレクタのセットが前記特定のデータセンタ内の追加のホストコンピュータ上で実行される、請求項9に記載の方法。 The data message is received from the data compute node, the data compute node also runs on the particular host computer, and an additional set of service network selectors runs on the additional host computer in the particular data center. The method according to claim 9. 前記第1のネットワークサービスを実行する前記マシンは、前記特定のデータセンタ内の追加のホストコンピュータ上で実行され、前記追加のホストコンピュータ上で実行されるサービスチェイニングモジュールは、前記選択された仮想サービスネットワークのための前記ネットワークサービスの順序セットの第2のネットワークサービスを実装するマシンについての、前記複数のデータセンタ内の位置を決定し、前記データメッセージを前記第2のネットワークサービスを実装する前記マシンに送信する、請求項10に記載の方法。 The machine running the first network service runs on an additional host computer in the particular data center, and the service chaining module running on the additional host computer is the selected virtual. The location within the plurality of data centers for a machine that implements the second network service of the sequence set of network services for a service network and the data message that implements the second network service. The method of claim 10, which is transmitted to the machine. 前記データ計算ノードは第1のホストコンピュータ上で実行される第1のデータ計算ノードであり、前記仮想サービスネットワークのための前記ネットワークサービスの順序セットによって処理された後に、前記データメッセージは、前記データセンタのうちの1つの第2のホストコンピュータ上で実行される第2のデータ計算ノードに送信される、請求項10に記載の方法。 The data compute node is a first data compute node that runs on the first host computer, and after being processed by the network service sequence set for the virtual service network, the data message is the data. 10. The method of claim 10, which is transmitted to a second data compute node running on a second host computer in one of the centers. 前記第1のデータ計算ノード及び第2のデータ計算ノードは、2つの異なるプライベートデータセンタ内のホストコンピュータ上で実行され、前記ネットワークサービスの少なくともサブセットは、少なくとも1つのパブリックデータセンタ内のホストコンピュータ上で実行される、請求項12に記載の方法。 The first data compute node and the second data compute node run on host computers in two different private data centers, and at least a subset of the network services are on host computers in at least one public data center. 12. The method of claim 12. 前記特定のサービスネットワークセレクタは第1のサービスネットワークセレクタであり、
第2のサービスネットワークセレクタは前記第2のホストコンピュータ上で実行され、
前記第2のサービスネットワークセレクタは、前記第2のデータ計算ノードからの戻りデータメッセージに対して同じ仮想サービスネットワークを選択する際に使用する前記データメッセージに関するデータを格納する、
請求項12に記載の方法。
The particular service network selector is the first service network selector.
The second service network selector is executed on the second host computer.
The second service network selector stores data about the data message used in selecting the same virtual service network for the return data message from the second data compute node.
The method according to claim 12.
少なくとも1つの処理ユニットによって実行されると、複数のデータセンタを介して複数の仮想サービスネットワークを確立するプログラムを記憶する非一時的マシン可読媒体であって、前記プログラムは、
前記複数の仮想サービスネットワークのうちの仮想サービスネットワークごとに、前記仮想サービスネットワークのためのネットワークサービスの順序セットを実装するために、前記複数のデータセンタにわたり分散されたマシンのセットを構成することと、
データメッセージを受信すること、前記データメッセージのコンテンツの分析に基づいて前記データメッセージのための前記複数の仮想サービスネットワークの1つを選択すること、選択された前記仮想サービスネットワークのための前記ネットワークサービスの順序セットの第1のネットワークサービスを実装するマシンについての前記複数のデータセンタ内の位置を決定すること、及び前記データメッセージを前記第1のネットワークサービスを実装する前記マシンに送信すること、を前記複数のデータセンタ内で実行する複数のサービスネットワークセレクタを構成することと、
の命令のセットを含む、非一時的マシン可読媒体。
A non-temporary machine-readable medium that stores a program that establishes multiple virtual service networks through multiple data centers when executed by at least one processing unit.
For each virtual service network among the plurality of virtual service networks, to configure a set of machines distributed across the plurality of data centers in order to implement an ordered set of network services for the virtual service network. ,
Receiving a data message, selecting one of the plurality of virtual service networks for the data message based on analysis of the content of the data message, said network service for the selected virtual service network. Determining a location within the plurality of data centers for a machine that implements the first network service of the sequence set, and sending the data message to the machine that implements the first network service. By configuring multiple service network selectors running within the multiple data centers,
A non-temporary machine-readable medium containing a set of instructions.
前記複数の仮想サービスネットワークは、(i)前記複数のデータセンタ内で動作するマシンの第1のセットによって実装されるネットワークサービスの第1の順序セットを備える第1の仮想サービスネットワークと、(ii)前記複数のデータセンタ内で動作するマシンの第2のセットによって実装されるネットワークサービスの第2の順序セットを備える第2の仮想サービスネットワークとを少なくとも備える、請求項15に記載の非一時的マシン可読媒体。 The plurality of virtual service networks are (i) a first virtual service network comprising a first sequence set of network services implemented by a first set of machines operating in the plurality of data centers, and (ii). ) The non-temporary according to claim 15, comprising at least a second virtual service network comprising a second sequence set of network services implemented by a second set of machines operating in the plurality of data centers. Machine readable medium. 前記プログラムが仮想サービスネットワークコントローラであり、
マシンの特定のセットを構成する前記命令のセットは、少なくとも1つの前記データセンタ内のホストコンピュータ上の仮想マシンをインスタンス化するための第1のコントローラに、前記マシンのセットのための構成データを提供する命令のセットを含み、
前記複数のサービスネットワークセレクタを構成する前記命令のセットは、少なくとも1つの前記データセンタ内の前記サービスネットワークセレクタを構成するための第2のコントローラに、サービスネットワーク選択動作のための構成データを提供する命令のセットを含む、
請求項15に記載の非一時的マシン可読媒体。
The program is a virtual service network controller
The set of instructions that make up a particular set of machines has configuration data for the set of machines in a first controller for instantiating a virtual machine on a host computer in at least one of the data centers. Includes a set of instructions to provide
The set of instructions constituting the plurality of service network selectors provides configuration data for a service network selection operation to a second controller for configuring the service network selector in at least one data center. Including a set of instructions,
The non-temporary machine-readable medium of claim 15.
(i)前記マシンのセットのための前記構成データを前記第1のコントローラに提供し、(ii)前記サービスネットワーク選択動作のための前記構成データを前記第2のコントローラに提供する前記命令のセットは、特定のデータセンタで実行されるエージェントに仮想サービスネットワークポリシーを提供する前記命令のセットを含み、前記エージェントは、前記仮想サービスネットワークポリシーを、(i)前記第1のコントローラが前記マシンのセットをインスタンス化及び構成するためのデータと、(ii)前記サービスネットワーク選択動作を実行するために前記第2のコントローラが前記サービスネットワークセレクタを構成するためのデータとに変換する、請求項17に記載の非一時的マシン可読媒体。 A set of instructions that (i) provide the configuration data for the set of machines to the first controller and (ii) provide the configuration data for the service network selection operation to the second controller. Includes the set of instructions that provide virtual service network policies to agents running in a particular data center, where the agents set the virtual service network policies, and (i) the first controller sets the machines. 17. The data for instantiating and configuring the service network selector and (ii) the data for the second controller to configure the service network selector in order to execute the service network selection operation. Non-temporary machine-readable medium. 前記データメッセージは、外部エンドポイントデバイスから特定のサービスネットワークセレクタで受信され、
前記選択された仮想サービスネットワークのための前記ネットワークサービスの順序セットによって処理された後に、前記データメッセージは前記データセンタからパブリックネットワークに送信され、
前記特定のサービスネットワークセレクタは、第1のデータセンタで実行され、第1の地理的範囲内に位置する外部エンドポイントデバイスからデータメッセージを受信し、追加のサービスネットワークセレクタが他のデータセンタで実行され、第2の地理的範囲内に位置する外部エンドポイントデバイスからデータメッセージを受信する、
請求項15に記載の非一時的マシン可読媒体。
The data message is received from an external endpoint device at a particular service network selector and
After being processed by the network service sequence set for the selected virtual service network, the data message is sent from the data center to the public network.
The particular service network selector runs in the first data center, receives data messages from external endpoint devices located within the first geographic range, and additional service network selectors run in other data centers. And receive data messages from external endpoint devices located within a second geographic range,
The non-temporary machine-readable medium of claim 15.
前記データメッセージは、前記複数のデータセンタの特定のデータセンタ内の特定のホストコンピュータ上で実行される特定のサービスネットワークセレクタで受信され、
前記データメッセージはデータ計算ノードから受信され、前記データ計算ノードも前記特定のホストコンピュータ上で実行され、
追加のサービスネットワークセレクタのセットは、前記特定のデータセンタ内の追加のホストコンピュータ上で実行され、
前記第1のネットワークサービスを実行する前記マシンは、前記特定のデータセンタ内の追加のホストコンピュータで実行され、
前記追加のホストコンピュータ上で実行されるサービスチェイニングモジュールは、前記選択された仮想サービスネットワークのための前記ネットワークサービスの順序セットの第2のネットワークサービスを実装するマシンについての、前記複数のデータセンタ内の位置を決定し、前記データメッセージを前記第2のネットワークサービスを実装するマシンに送信する、
請求項15に記載の非一時的マシン可読媒体。
The data message is received by a particular service network selector running on a particular host computer in a particular data center in the plurality of data centers.
The data message is received from the data compute node, which is also executed on the particular host computer.
A set of additional service network selectors is run on the additional host computers in the particular data center.
The machine running the first network service is run on an additional host computer in the particular data center.
The service chaining module running on the additional host computer is the plurality of data centers for a machine that implements a second network service of the network service sequence set for the selected virtual service network. Determines its location within and sends the data message to the machine implementing the second network service.
The non-temporary machine-readable medium of claim 15.
複数のデータセンタで動作するホストコンピュータのセットと、
前記複数のデータセンタを介して複数の仮想サービスネットワークを確立するために仮想サービスネットワークコントローラを実行する計算デバイスであって、前記仮想サービスネットワークコントローラが、
前記複数の仮想サービスネットワークのうちの仮想サービスネットワークごとに、前記仮想サービスネットワークのためのネットワークサービスの順序セットを実装するために、前記複数のデータセンタ内のホストコンピュータで実行されるマシンのセットを構成することと、
データメッセージを受信すること、前記データメッセージのコンテンツの分析に基づいて前記データメッセージのための前記複数の仮想サービスネットワークの1つを選択すること、選択された前記仮想サービスネットワークのための前記ネットワークサービスの順序セットの第1のネットワークサービスを実装するマシンについての前記複数のデータセンタ内の位置を決定すること、及び前記データメッセージを前記第1のネットワークサービスを実装する前記マシンに送信すること、を前記複数のデータセンタ内のホストコンピュータ上で実行する複数のサービスネットワークセレクタを構成することと、
のためである、計算デバイスと、
を備える、システム。
A set of host computers running in multiple data centers,
A computing device that executes a virtual service network controller to establish a plurality of virtual service networks through the plurality of data centers.
For each virtual service network out of the plurality of virtual service networks, a set of machines running on the host computers in the plurality of data centers to implement a sequence of network services for the virtual service network. To configure and
Receiving a data message, selecting one of the plurality of virtual service networks for the data message based on analysis of the content of the data message, said network service for the selected virtual service network. Determining a location within the plurality of data centers for a machine that implements the first network service of the sequence set, and sending the data message to the machine that implements the first network service. To configure multiple service network selectors to run on the host computers in the multiple data centers,
Because of the computing device and
The system.
前記複数の仮想サービスネットワークは、(i)前記複数のデータセンタ内の前記ホストコンピュータの第1のサブセット上で実行されるマシンの第1のセットによって実装されるネットワークサービスの第1の順序セットを備える第1の仮想サービスネットワークと、(ii)前記複数のデータセンタ内の前記ホストコンピュータの第2のサブセット上で実行されるマシンの第2のセットによって実装されるネットワークサービスの第2の順序セットを備える第2の仮想サービスネットワークとを少なくとも備える、請求項21に記載のシステム。 The plurality of virtual service networks may include (i) a first sequence of network services implemented by a first set of machines running on a first subset of the host computers in the plurality of data centers. A second sequence of network services implemented by a first virtual service network comprising and (ii) a second set of machines running on a second subset of said host computers in said plurality of data centers. 21. The system of claim 21, comprising at least a second virtual service network comprising. (i)前記データメッセージは、外部エンドポイントデバイスから特定のサービスネットワークセレクタにおいて受信され、(ii)前記選択された仮想サービスネットワークのための前記ネットワークサービスの順序セットによって処理された後に、前記データメッセージは、前記データセンタからパブリックネットワークに送信される、請求項21に記載のシステム。 (I) The data message is received from an external endpoint device in a particular service network selector and (ii) processed by the network service sequence set for the selected virtual service network, and then the data message. 21. The system according to claim 21, wherein is transmitted from the data center to a public network.
JP2021547282A 2019-02-22 2020-02-05 virtual service network Active JP7417817B2 (en)

Applications Claiming Priority (25)

Application Number Priority Date Filing Date Title
US201962809558P 2019-02-22 2019-02-22
US62/809,558 2019-02-22
US201962809658P 2019-02-24 2019-02-24
US201962809659P 2019-02-24 2019-02-24
US201962809657P 2019-02-24 2019-02-24
US201962809656P 2019-02-24 2019-02-24
US201962809655P 2019-02-24 2019-02-24
US62/809,659 2019-02-24
US62/809,658 2019-02-24
US62/809,657 2019-02-24
US62/809,655 2019-02-24
US62/809,656 2019-02-24
US16/443,816 US10939369B2 (en) 2019-02-22 2019-06-17 Retrieval of slice selection state for mobile device connection
US16/443,810 2019-06-17
US16/443,816 2019-06-17
US16/443,818 2019-06-17
US16/443,812 US11246087B2 (en) 2019-02-22 2019-06-17 Stateful network slice selection using slice selector as connection termination proxy
US16/443,813 US10834669B2 (en) 2019-02-22 2019-06-17 Stateful network slice selection using replay of connection handshake
US16/443,815 US11024144B2 (en) 2019-02-22 2019-06-17 Redirecting traffic from mobile device to initial slice selector for connection
US16/443,815 2019-06-17
US16/443,810 US11483762B2 (en) 2019-02-22 2019-06-17 Virtual service networks
US16/443,813 2019-06-17
US16/443,812 2019-06-17
US16/443,818 US11146964B2 (en) 2019-02-22 2019-06-17 Hierarchical network slice selection
PCT/US2020/016833 WO2020171957A1 (en) 2019-02-22 2020-02-05 Virtual service networks

Publications (2)

Publication Number Publication Date
JP2022521703A true JP2022521703A (en) 2022-04-12
JP7417817B2 JP7417817B2 (en) 2024-01-19

Family

ID=72144416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021547282A Active JP7417817B2 (en) 2019-02-22 2020-02-05 virtual service network

Country Status (6)

Country Link
EP (1) EP3925193A1 (en)
JP (1) JP7417817B2 (en)
CN (1) CN113454972A (en)
AU (2) AU2020225189B2 (en)
CA (1) CA3129409C (en)
WO (1) WO2020171957A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10939369B2 (en) 2019-02-22 2021-03-02 Vmware, Inc. Retrieval of slice selection state for mobile device connection
US11246087B2 (en) 2019-02-22 2022-02-08 Vmware, Inc. Stateful network slice selection using slice selector as connection termination proxy
US11146964B2 (en) 2019-02-22 2021-10-12 Vmware, Inc. Hierarchical network slice selection
US11483762B2 (en) 2019-02-22 2022-10-25 Vmware, Inc. Virtual service networks
US11024144B2 (en) 2019-02-22 2021-06-01 Vmware, Inc. Redirecting traffic from mobile device to initial slice selector for connection
US11522764B2 (en) 2019-08-26 2022-12-06 Vmware, Inc. Forwarding element with physical and virtual data planes
CN114785689A (en) * 2021-01-22 2022-07-22 广州汽车集团股份有限公司 5G slice virtual network mapping method, system and storage medium
US11836551B2 (en) 2021-03-05 2023-12-05 Vmware, Inc. Active and standby RICs
US20220286915A1 (en) 2021-03-05 2022-09-08 Vmware, Inc. Distributed ric
CN112887433B (en) * 2021-04-12 2021-07-27 网络通信与安全紫金山实验室 Cloud access edge service method and system based on QUIC protocol
CN114157932B (en) * 2021-11-23 2023-06-02 中国联合网络通信集团有限公司 Access network processing method and device, electronic equipment and storage medium
WO2023152980A1 (en) * 2022-02-14 2023-08-17 楽天モバイル株式会社 Resource sharing system
US11838176B1 (en) 2022-12-19 2023-12-05 Vmware, Inc. Provisioning and deploying RAN applications in a RAN system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100322255A1 (en) * 2009-06-22 2010-12-23 Alcatel-Lucent Usa Inc. Providing cloud-based services using dynamic network virtualization
WO2016159192A1 (en) * 2015-03-31 2016-10-06 日本電気株式会社 Control device, control method, and program
US20170085628A1 (en) * 2015-09-23 2017-03-23 Nec Laboratories America, Inc. Software driven long-term-evolution core network for mobile access
US20170093633A1 (en) * 2015-09-24 2017-03-30 International Business Machines Corporation Network based service composition with variable conditions
JP2017516424A (en) * 2014-03-27 2017-06-15 ノキア ソリューションズ アンド ネットワークス オサケユキチュア On-demand network service in 5th generation mobile networks
WO2017150642A1 (en) * 2016-03-02 2017-09-08 日本電気株式会社 Network system, control device, method and program for building virtual network function
JP2018518927A (en) * 2015-06-25 2018-07-12 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー Method and system for managing data traffic in a computing network
JP2018125837A (en) * 2017-02-02 2018-08-09 富士通株式会社 Seamless service functional chain between domains

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313048B2 (en) * 2012-04-04 2016-04-12 Cisco Technology, Inc. Location aware virtual service provisioning in a hybrid cloud environment
US8750288B2 (en) * 2012-06-06 2014-06-10 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US9331940B2 (en) * 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
WO2014169251A1 (en) * 2013-04-12 2014-10-16 Huawei Technologies Co., Ltd. Service chain policy for distributed gateways in virtual overlay networks
US10237176B2 (en) * 2016-06-30 2019-03-19 Juniper Networks, Inc. Auto discovery and auto scaling of services in software-defined network environment
US20180191607A1 (en) * 2016-12-29 2018-07-05 Juniper Networks, Inc. Network service application and customer-aware virtualized network function placement

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100322255A1 (en) * 2009-06-22 2010-12-23 Alcatel-Lucent Usa Inc. Providing cloud-based services using dynamic network virtualization
JP2017516424A (en) * 2014-03-27 2017-06-15 ノキア ソリューションズ アンド ネットワークス オサケユキチュア On-demand network service in 5th generation mobile networks
WO2016159192A1 (en) * 2015-03-31 2016-10-06 日本電気株式会社 Control device, control method, and program
JP2018518927A (en) * 2015-06-25 2018-07-12 エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー Method and system for managing data traffic in a computing network
US20170085628A1 (en) * 2015-09-23 2017-03-23 Nec Laboratories America, Inc. Software driven long-term-evolution core network for mobile access
US20170093633A1 (en) * 2015-09-24 2017-03-30 International Business Machines Corporation Network based service composition with variable conditions
WO2017150642A1 (en) * 2016-03-02 2017-09-08 日本電気株式会社 Network system, control device, method and program for building virtual network function
JP2018125837A (en) * 2017-02-02 2018-08-09 富士通株式会社 Seamless service functional chain between domains

Also Published As

Publication number Publication date
WO2020171957A1 (en) 2020-08-27
CN113454972A (en) 2021-09-28
AU2023210524A1 (en) 2023-08-17
AU2020225189B2 (en) 2023-05-11
CA3129409A1 (en) 2020-08-27
AU2020225189A1 (en) 2021-10-07
JP7417817B2 (en) 2024-01-19
CA3129409C (en) 2024-02-13
EP3925193A1 (en) 2021-12-22

Similar Documents

Publication Publication Date Title
US11483762B2 (en) Virtual service networks
JP7417817B2 (en) virtual service network
US10834669B2 (en) Stateful network slice selection using replay of connection handshake
US10939369B2 (en) Retrieval of slice selection state for mobile device connection
US11024144B2 (en) Redirecting traffic from mobile device to initial slice selector for connection
US11246087B2 (en) Stateful network slice selection using slice selector as connection termination proxy
US11146964B2 (en) Hierarchical network slice selection
US11863352B2 (en) Hierarchical networking for nested container clusters
US11463355B2 (en) Systems and methods for a VLAN switching and routing service
CN106462408B (en) Low latency connection to a workspace in a cloud computing environment
US9838261B2 (en) Method, apparatus, and system for providing network traversing service
Lombardo et al. An open framework to enable NetFATE (Network Functions at the edge)
Alshaer An overview of network virtualization and cloud network as a service
US20240031282A1 (en) Layer-2 networking span port in a virtualized cloud environment
US11936754B1 (en) Port management in a horizontally scaled file transfer system
US11968269B1 (en) Hybrid tag based virtual private network with scalable next hop convergence
US11916775B1 (en) Multi-tenant cloud native control plane system
US20240022452A1 (en) Dynamic on-demand virtual private network (vpn) session distribution for gateways
US20230370371A1 (en) Layer-2 networking storm control in a virtualized cloud environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230818

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

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20231128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20231130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231206

R150 Certificate of patent or registration of utility model

Ref document number: 7417817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150