IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヴイエムウェア インコーポレイテッドの特許一覧

特許7288980仮想サービスネットワークにおけるサービス品質
<>
  • 特許-仮想サービスネットワークにおけるサービス品質 図1
  • 特許-仮想サービスネットワークにおけるサービス品質 図2
  • 特許-仮想サービスネットワークにおけるサービス品質 図3
  • 特許-仮想サービスネットワークにおけるサービス品質 図4
  • 特許-仮想サービスネットワークにおけるサービス品質 図5
  • 特許-仮想サービスネットワークにおけるサービス品質 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-31
(45)【発行日】2023-06-08
(54)【発明の名称】仮想サービスネットワークにおけるサービス品質
(51)【国際特許分類】
   H04L 47/6295 20220101AFI20230601BHJP
   H04L 47/6275 20220101ALI20230601BHJP
   H04L 41/0895 20220101ALI20230601BHJP
   H04L 41/40 20220101ALI20230601BHJP
【FI】
H04L47/6295
H04L47/6275
H04L41/0895
H04L41/40
【請求項の数】 12
(21)【出願番号】P 2021568098
(86)(22)【出願日】2020-05-13
(65)【公表番号】
(43)【公表日】2022-07-19
(86)【国際出願番号】 US2020032764
(87)【国際公開番号】W WO2020232182
(87)【国際公開日】2020-11-19
【審査請求日】2023-04-05
(31)【優先権主張番号】16/411,604
(32)【優先日】2019-05-14
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】510149482
【氏名又は名称】ヴイエムウェア インコーポレイテッド
【氏名又は名称原語表記】VMware,Inc.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】コムラ、ラジャ
(72)【発明者】
【氏名】タイドマン、ジェレミー
(72)【発明者】
【氏名】ポリクロノポウロス、コンスタンティン
(72)【発明者】
【氏名】ボルドロー、マルク アンドレ
(72)【発明者】
【氏名】チョー、エドワード
(72)【発明者】
【氏名】グプタ、オージャス
(72)【発明者】
【氏名】キド、ロバート
(72)【発明者】
【氏名】オイコノム、ゲオルギオス
【審査官】小林 義晴
(56)【参考文献】
【文献】米国特許出願公開第2019/0140904(US,A1)
【文献】特開2009-105890(JP,A)
【文献】特開2018-056868(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
(57)【特許請求の範囲】
【請求項1】
仮想サービスネットワーク(VSN)においてサービス品質(QoS)を実施する方法であって、
仮想レイヤにおいて、各スライスに対する帯域幅値を定義するステップと、
他のスライスの帯域幅値に対する第1のスライスの帯域幅値に基づいて前記第1のスライスに重みを付けるステップと、
入力ポートおよび出力ポートを有する物理スイッチにおいてパケットを受信するステップと、
パケットを入力キューを有するスライスベースのプールに配置するステップと、前記入力キューはそれぞれVSNにおけるスライスに対応しており、ここで、前記物理スイッチ上で動作するエージェントは、パケットのスライス分類に基づいてパケットを前記入力キューに配置し、前記第1のスライスに関する第1のパケットは、第2のスライスに関する第2のパケットとは区別して分類され、
パケットを前記入力キューから前記出力ポートの出力キューにルーティングするステップと、前記出力キューは前記VSNにおけるスライスに対応しており、
出力ポリシングアルゴリズムに従ってパケットを前記出力キューから転送するステップと、を含み、前記第1のパケットは、優先順位の高いスライス分類を有することに基づいて、前記第2のパケットよりも前に送信され、前記優先順位の高いスライス分類は、前記第1のスライスの重みに基づく、方法。
【請求項2】
前記第1のパケットは、緊急通報に対応する第1のスライスに分類され、前記第2のパケットは、インターネット・オブ・シングス・デバイスに対応する第2のスライスに分類される、請求項1に記載の方法。
【請求項3】
前記第1のパケットと同じストリーム内の後続のパケットは、同じストリームの一部であることに基づいて、前記第1のパケットと同じスライスに分類される、請求項1に記載の方法。
【請求項4】
前記入力キューからのパケットを前記出力キューに配置することは、ルーティングポリシングアルゴリズムに基づいて行われる、請求項1に記載の方法。
【請求項5】
前記ルーティングポリシングアルゴリズムは、スイッチワイドアルゴリズムである、請求項4に記載の方法。
【請求項6】
記他のスライスの帯域幅値に対する第2のスライスの帯域幅値に基づいて前記第2のスライスに重みを付けるステップと、
前記第1のスライスの重みが前記第2のスライスの重みよりも大きいことに基づいて、前記第2のパケットよりも前に前記第1のパケットを送信するステップと、をさらに含む、請求項1に記載の方法。
【請求項7】
前記物理スイッチにエージェントをインストールするステップをさらに含み、前記エージェントは、少なくとも送信元アドレス、送信先アドレス、および送信先ポートを含むパケットヘッダ情報に基づいてスライス分類を行う、請求項1に記載の方法。
【請求項8】
複数の異なる出力ポリシングアルゴリズムの間で選択することによって、前記物理スイッチにおいて前記出力ポリシングアルゴリズムをプログラムするステップをさらに含む、請求項1に記載の方法。
【請求項9】
前記複数の異なる出力ポリシングアルゴリズムは、先入れ先出し「FIFO」アルゴリズム、スライスラウンドロビン「SRR」アルゴリズム、またはスライス加重ラウンドロビン「SWRR」アルゴリズムのうちの任意の2つ以上を含む、請求項8に記載の方法。
【請求項10】
異なる出力インタフェースに対して異なる出力ポリシングアルゴリズムを使用するように前記物理スイッチをプログラムするステップをさらに含む、請求項1に記載の方法。
【請求項11】
プロセッサによる実行時に、請求項1乃至10のいずれか一項に記載の方法を実行する命令を含む非一過性コンピュータ可読媒体。
【請求項12】
仮想サービスネットワーク(VSN)においてサービス品質(QoS)を実施するためのシステムであって、
命令を含む非一過性コンピュータ可読媒体と、
請求項1乃至10のいずれか一項に記載の方法を遂行するように前記命令を実行するプロセッサと、を備えシステム。
【発明の詳細な説明】
【背景技術】
【0001】
今日の3G、4G、およびLTEネットワークは、クラウド全体に分散可能な複数のデータセンタ(「DC」)を使用して動作する。これらのネットワークは、わずか数台のオペレーティングサポートシステム(「OSS:operating support systems」)およびネットワークオペレーションセンタ(「NOC:network operations center」)によって中央管理される。5G技術は、Telcoネットワークへの接続および物理ネットワークリソースの共有が必要となるあらゆる種類のデバイスに対するネットワーク接続性を大幅に増大させることになる。現在のネットワークアーキテクチャは、これらの需要を満たすようにスケーリングし得ない。
【0002】
ネットワークスライシングは、共有物理ネットワークインフラ上で複数の論理ネットワークの動作を可能にする仮想化の一形態である。分散型クラウドネットワークは、さまざまなスライスによってネットワークリソースを共有して、テナントと称する個別のユーザの単一の物理インフラ上での多重化を可能にし得る。例えば、インターネット・オブ・シングス(「IoT」)デバイス、モバイルブロードバンドデバイス、および低レイテンシ車載デバイスはすべて、5Gネットワークの共有が必要となる。これらの個別の使用事例は、個別の伝送特性および要件を有することになる。例えば、IoTは通常、多数のデバイスを有するものの、スループットは非常に低い。モバイルブロードバンドはその反対に、各デバイスが高帯域幅のコンテンツを送受信する。ネットワークスライシングは、物理ネットワークのエンドツーエンドレベルでの分割によって、トラフィックのグループ化、テナントトラフィックの隔離、およびマクロレベルでのネットワークリソースの設定を可能にし得る。
【0003】
しかしながら、サービス品質(「QoS」)に関する従来の手法は、ネットワークスライシングに関してスケーラブルではない。既存の手法では、スライスベースの分類、マーキング、およびポリシング(policing)については考慮されていない。マーキングにはネットワークトラフィックの属性の変更が含まれ、ポリシングにはトラフィック契約への準拠に関してトラフィックを監視することが含まれる。この機能をスライスの仮想ネットワーク機能(「VNF:virtual network function」)に移行すると、物理ハードウェアを圧迫する可能性がある。物理ホストが一度に処理できるデータ量は限られており、ホスト上の何千ものVNFがQoSを測定するか、または実施しようとすると、必要な処理量は膨大なものになり得る。さらに、計算時間は物理層ではナノ秒単位であるのに対し、仮想層ではそれよりも長くかかる可能性がある。
【0004】
QoSを実施するためのスケーラブルな方法がなければ、ネットワークインフラが過負荷になったときに、重要なトラフィックが悪影響を受けたり、完全に阻止されたりする可能性がある。911番通報および自動運転車への通信など、重要なトラフィックを確実に伝送しなければ、ネットワークが機能しなくなる可能性がある。また、テナントは、ソフトウェアライセンス契約(「SLA:Software License Agreement」)において、QoSなしでは確実に達成することができない特定のパフォーマンス・メトリックについてもネゴシエートする。
【0005】
その結果、仮想スライスネットワーク(「VSN: virtual slice network」)においてQoSを実施することが求められる。
【発明の概要】
【0006】
本明細書で説明される例は、VSNにおいてスライスベースのQoSを実施するためのシステムおよび方法を含む。システムは、ルータやサーバ等の物理スイッチ上のエージェントと通信するモニタリングモジュールを含むことができる。エージェントは、スイッチのコア内などのように、スイッチの物理層内で動作することができる。スイッチは、エージェントを実行するために、モニタリングモジュールまたはオーケストレーショントポロジの他の部分によってプログラムされ得る。データのパケットは、特定のスライスを使用して送信することができる。スライスを使用して、1つまたは複数のテナントに関する個別のQoS分類に対応する目的でネットワークを分割することができる。各スライスは専用の帯域幅を有することができる。例えば、緊急通信用のスライスは、動画配信専用の別のスライスで輻輳が発生した場合でも、緊急通信が効果的にルーティングされるように維持することができる。
【0007】
各スイッチにおけるエージェントは、着信パケットを分析し、パケットに適用されるスライス識別子(「ID」)に基づいて着信パケットを入力キュー(ingress queue)に配置することができる。例えば、スイッチにおいて定義されたスライスの数に基づいて、第1の入力キューが第1のスライス用に維持され、第2の入力キューが第2のスライス用に維持され、以降も同様に維持され得る。スイッチは、パケットヘッダ内の情報を取得し、その情報をスライス分類テーブルと比較して、スライスIDを決定することができる。例えば、送信元および送信先アドレスとポートを使用して、パケットが属するスライスを決定することができる。同じフロー(ストリームとも呼ばれる)の将来のパケットは、同じスライスに分類され得る。
【0008】
次に、スイッチは、これらのパケットを入力キューから出力インタフェースに対応する出力キュー(egress queue)に移動させる。出力インタフェースは、1つまたは複数の出力ポートを含むことができる。出力キューは、入力キューと同じスライス分類に対応することができる。入力パケットを出力キューに移動させる順序を決定するために、スイッチは、第1のポリシングアルゴリズムを使用することができる。例えば、第1のポリシングアルゴリズムは、スライスに関係なく、先入れ先出し(「FIFO:first-in first-out」)にすることができる。代替的に、特定のスライス分類に優先順位を付けて、対応する入力キュー内のパケットを、より低いスライス分類を有するパケットより先にアドレス指定することができる。
【0009】
次に、スイッチは、別のポリシングアルゴリズムに基づいて、各出力インタフェースにおける出力キューから次ホップにパケットを転送することができる。このポリシングアルゴリズムは、例えば、一部のスライスを他のスライスよりも優先させ、優先順位の低いスライスのパケットよりも前に優先順位の高いスライスのパケットを送信することができる。
【0010】
一例において、これらのステージは、一方法に従うスイッチにより実行可能である。これらのステージとしては、例えば、エージェントを動作させて当該ステージを実行するようにスイッチをプログラムするモニタリングモジュールを含むシステムの一部が挙げられる。代替的に、命令を含む非一過性コンピュータ可読媒体によって、スイッチのプロセッサが命令の実行時に、当該プロセッサに上記ステージを実行させることができる。用語「スイッチ(switch)」は、サーバ、ルータ、またはホスト等、ネットワーク機能を実行する任意のデバイスを広義に表し得る。
【0011】
以上の概要および以下の詳細な説明は、いずれも、例示かつ説明を目的としているに過ぎず、上記した例に限定されるものではなく、特許請求の範囲に記載の通りとする。
【図面の簡単な説明】
【0012】
図1】VSNにおけるスライスベースのQoSを実施するための例示的な方法のフローチャートである。
図2】VSNにおけるスライスベースのQoSを実施するための例示的なシーケンス図である。
図3】スライスベースのQoSを実行するスイッチの例示的な図である。
図4】スライス経路の例示的な図である。
図5】代替スライス経路の例示的な図である。
図6】VSNのトポロジの例示的なシステム図である。
【発明を実施するための形態】
【0013】
以下、添付の図面に示す例を含めて、本例を詳細に参照する。図面全体を通して、同一または同様の部分を参照するために、可能な限り同じ参照番号を使用する。
一例において、システムは、VSNにおける1つまたは複数のクラスタまたはクラウド全体にわたって複数のスイッチを含む。オーケストレータは、特定の目的での使用またはテナントへの貸与が可能なネットワーク内の複数のスライスを管理することができる。例えば、スライスは特定のアプリケーション、IoTデバイス、または顧客に対して予約可能である。各スライスとしては、1つまたは複数のTelcoクラウドにわたって分散した共有物理ネットワークインフラ上で動作する仮想ネットワークが挙げられる。スライスは、特定のネットワークタスクを実行するためのVNFのサービスチェーンを含み得る。必要なVNFの組み合わせは、動画配信またはIoTデバイスの管理等、スライスの使用目的によって異なる。
【0014】
スライスを、特定のタイプのトラフィック用に予約し、QoSの目的で優先順位を付けることができる。サービスレベルアグリーメント(「SLA: service level agreement」)は、スライスに必要なパフォーマンス・メトリック(performance metrics)を規定するとともに、スライスごとに個別のQoSレベルを指定することができる。QoSおよび必要なパフォーマンス・メトリックは、特定のスライスの使用目的に応じて、スライス間で異なる場合がある。SLAまたは個別のスライス記録により、サービスチェーンを構成するVNFを指定することもできる。
【0015】
スライスをインスタンス化するために、VNFは、スライス経路全体に展開可能である。スライス経路は、プロバイダの分散ネットワークのサブセットを表すことができるとともに、1つまたは複数のスイッチにまたがることができる。トラフィックが同じ送信先に移動している場合でも、スライスが異なると、そのトラフィックのルーティングも異なる。物理スイッチおよびVNFは、ネットワーク内の様々な場所にまたがることができるため、スライスが送信先に達するまでに様々な経路をたどることができ、ネットワーク全体にワークロードを効果的に分散させることができる。
【0016】
オーケストレータは、ネットワーク内の物理スイッチから受信したテレメトリックデータ(telemetric data)に基づいてスライス経路を決定可能である。テレメトリックデータは、SLAで指定されたレイテンシ、スループット、またはその他のパフォーマンス特性に関連するあらゆる情報を含み得る。
【0017】
物理スイッチは、テレメトリックデータをモニタリングモジュールに送信可能である。モニタリングモジュールは、オーケストレータの一部であってもよく、別のプロセスであってもよい。例えば、オーケストレータおよびモニタリングモジュールは、サーバの管理クラスタ上でホストされ得る。一例において、物理スイッチは、ハードウェアレベルでパケットを監視するエージェントを実行するようにプログラムされている。例えば、エージェントは、仮想マシンが実行される仮想レイヤではなく、スイッチのコアで動作することができる。別の例において、スイッチは仮想スイッチとすることができる。エージェントは、テレメトリックデータをモニタリングモジュールに報告することもできる。
【0018】
エージェントは、トラフィックに対応するスライスをスイッチに決定させ、それらのスライスにQoSポリシーを適用させることができる。複数のスライスIDは、パケットのパケットヘッダで利用可能な情報に基づいて、スイッチのテーブルでアクセス可能である。一例において、スライスセレクタは、スライスに分類される新たなストリームを検出すると、この情報をスイッチに送信することができる。
【0019】
モニタリングモジュールまたはスライスセレクタは、スイッチがスライスに基づいて異なる次ホップにパケットを送信できるようにするスライス経路をスイッチに提供することができる。次ホップは、スライス経路の別のスイッチにすることができる。これにより、優先順位の高いスライスがネットワーク内の輻輳の少ないルートを通過するように設定することができる。スイッチ内のパケットの優先順位付けとネットワーク上のスライス経路の選択とに基づいて、スライスベースのQoSを実施することができる。
【0020】
図1は、VSNにおいてスライスベースのQoSを実施するための例示的なフローチャートである。ステージ110において、スイッチはパケットを受信する。スイッチは、入力ポートと出力ポートを有するネットワークで使用される任意のハードウェアとすることができる。例えば、スイッチは、ルータとすることができる。入力ポートおよび出力ポートは、それぞれ入力インタフェースと出力インタフェースの一部とすることができる。一例において、これらのインタフェースは、スイッチ上で実行されるプロセスに基づいて動作することができる。例えば、スイッチは、スライスに従ってデータをルーティングし、データの一部または全てにポリシングアルゴリズムを実施するようにプログラムすることができる。一例において、モニタリングモジュールまたはオーケストレータは、スライス固有の動作を実行するようにスイッチをリモートでプログラムすることができる。一例において、スイッチは、TOFINO(商標)チップ等のP4言語または他のプロトコルを使用してプログラム可能なネットワーキング特定用途向け集積回路(「ASIC」)を含む。
【0021】
ステージ120において、スイッチは、パケットが属するスライスを決定することができる。これは、スライスセレクタで以前に決定されたスライス分類を調べることを含むことができる。代替的に、スライスセレクタがパケットを分類するのに十分な情報を有していなかった場合など、トラフィックがスライスセレクタによってまだ分類されていない場合、スイッチは分類を行うことができる。
【0022】
一例において、サービスチェーンの入力ポイントにあるスライスセレクタは、ネットワークトラフィックにスライス識別子を割り当てる。パケットは、パケットヘッダにスライス識別子を含むことができる。パケットの分類は、ネットワークのオーバーレイ(仮想)部分とアンダーレイ(物理)部分の両方で実行可能なスライス選択アルゴリズムに基づいて行うことができる。一例において、パケットは、パケットタイプ、送信元および送信先のIPアドレス、送信元および送信先のポート、送信元および送信先のMACアドレスなどのパケット情報に基づいてスライスに分類され得る。一例において、スライスセレクタは、最初にパケットを処理して、それらをVSNのネットワークスライスのうちの1つに割り当てる。また、スライスセレクタは、割り当てられたスライスに対する正しい一組のネットワークサービスによってパケットが処理されるように、サービスチェーン動作を取り扱うことができる。種々の例において、スライスセレクタは、仮想マシン(「VM:virtual machine」)、VM内またはホストコンピュータの仮想化ソフトウェア内で動作するソフトウェア転送要素(例えば、フローベースの転送要素)、または、ホストコンピュータの仮想化ソフトウェア内の転送要素の外部(例えば、VMと転送要素のポートとの間)で実行される一組のモジュールによって実施することができる。
【0023】
場合によっては、VSNを実装するために多数のスライスセレクタが設定される。電気通信サービスプロバイダの例においては、アクセスネットワークの各セルタワー、基地局、または他の態様に対してスライスセレクタを設定可能である。電気通信サービスプロバイダのアクセスネットワークは、各セルタワーのエッジクラウドを含み得るとともに、このような各エッジクラウドにおいて少なくとも1つのスライスセレクタを設定可能である。他の例(例えば、一組の接続データセンタ内に完全に含まれるSD-WANトラフィックの場合)においては、VMから送信されたデータメッセージに対するネットワークスライス選択が(送信元VMの外部ではあるものの)データメッセージの送信元と同じホストコンピュータで生じるように、分散ネットワークスライスセレクタが設定される。
【0024】
スライス選択は、パケットのパケットヘッダ内の情報に基づいて行うことができる。例えば、スイッチまたはスライスセレクタは、レイヤ2~レイヤ4(L2~L4)ヘッダの組み合わせを使用することも可能であり、または(例えば、レイヤ7(L7)ヘッダ内のデータに基づいてトラフィックを分類するために)深層パケット検査を実行することが可能である。例えば、スライス選択は、単に、送信元ネットワークレイヤ(例えば、IP)アドレスを使用することにより、送信元デバイスに基づいて行うことが可能であり、または、L7ヘッダを確認することにより、トラフィックタイプまたは送信先ネットワーク領域に基づいて行うことが可能である。いくつかの実施形態において、ネットワークスライスセレクタは、接続の各データメッセージ上で深層パケット検査を実行する必要がないように、接続をネットワークスライスにマッピングする状態を維持する。また、一部の接続については、特定のデータメッセージのみが、スライス選択の実行に必要なL7ヘッダ情報を含む。
【0025】
深層パケット検査を使用してスライス選択を実行する場合、接続の最初のデータメッセージには、スライスセレクタがスライスを正しく識別するために必要とするL7ヘッダ情報が含まれていなくてもよい。例えば、端末デバイス(例えば、スマートフォンまたはタブレット等のモバイルデバイス、ラップトップまたはデスクトップコンピュータ、IoTデバイス、自動運転の自動車、セキュリティシステムに属するスマートカメラ)とネットワーク領域との間の接続は、TCPハンドシェイク等の一組の接続開始メッセージによって開始となることが多い。ハンドシェイクの完了後、デバイスは、例えば、ネットワーク領域を含むhttp取得メッセージを送信する。デバイスとネットワーク領域との間で送信される後続のデータメッセージは、そのような情報を含んでいなくてもよい。
【0026】
スライスセレクタは、スライスを識別するために必要なパケット情報をサービスチェーン内のスイッチに送信することができる。これは、この情報を含むパケットをサービスチェーンを介して送信することを含むことができる。
【0027】
この情報を利用して、ステージ120において、スイッチは着信パケットが属するスライスを決定することができる。スイッチは、入力インタフェースで着信パケットを分析して、パケットに対応するスライスを決定する物理的なハードウェアとすることができる。スイッチにプログラムされたエージェントは、パケットのスライス決定を行うことができる。スイッチ上のエージェントは、スライスを一意に識別することができるパケットヘッダ情報に基づいてこれを行うことができる。一例において、パケットヘッダは、スライスセレクタでの事前のスライス分類に基づいて、スライスを決定するために使用される情報を含む。例えば、スイッチは、パケットヘッダ内の送信元アドレスと送信先アドレスおよびポートとを使用して、スイッチのスライステーブルでスライス識別子を検索することができる。
【0028】
また、スイッチは、既にスライスに分類されているストリームにパケットが属していると決定することに基づいて、スライスを識別することもできる。フローとも呼ばれるストリームは、例えば、マイアミからのYouTube(登録商標)動画配信のように、スライスを使用する情報のチャネルとすることができる。フローを識別することにより、スイッチは、そのストリームからのパケットを同じスライスに配置することができる。例えば、一意のストリームは、ヘッダ内にインターネットプロトコル識別子(「IP ID」)を含ませることができる。このIP IDを使用することにより、スイッチは、そのIP IDを有する以前のパケットと同じスライスにパケットを関連付けることができる。
【0029】
ステージ130において、スイッチは、各パケットのスライス分類に基づいて、スライスベースのプールの入力キューにパケットを配置する。例えば、スライスベースのプールは、個別のスライスの数に対応する数の入力キューを含むことができる。第1の入力キューは第1のスライスIDに対応し、第2の入力キューは第2のスライスIDに対応することができ、以降も同様である。これらのキューは、スライス内にパケットを順番に保持することができ、スイッチが負荷分散アルゴリズム(例えば、ポリシングアルゴリズム)に基づいてパケットを出力キューにルーティングする間、バッファとしても機能することができる。
【0030】
スイッチの物理層内で動作するエージェントは、パケットをスライスベースの入力キューに配置することができる。エージェントは、一例において、管理者またはオーケストレータによって設定され、かつプログラミングによってスイッチ上に配置され得る。一例において、エージェントはスイッチのコアで動作することができる。入力キューは、エージェントまたは他のユーザ定義のプログラミングによって定義され得る。入力キューは、スイッチの物理層内で維持され得る。
【0031】
ステージ140において、エージェントはパケットを入力キューから1つまたは複数の出力キューにルーティングする(切り替える)。スイッチの出力インタフェースごとに、出力キューの個別のスライスベースのプールが維持され得る。各出力インタフェースは、1つまたは複数の出力ポートに対応することができる。出力キューは、入力キューと同じスライス分類に対応することができる。このようにして、第1の出力インタフェースにおいて、N個のスライス分類に対応する一組のN個の出力キューが維持され得る。第2の出力インタフェースにおいて、N個のスライス分類に対応する別の一組のN個の出力キューが維持され得る。
【0032】
各パケットは、パケットのスライスIDのスライス経路に対応する出力インタフェース(または出力ポート)にルーティングされ得る。スライスは、1つまたは複数のクラスタまたはクラウドのスイッチを含むことができるネットワークを介して、別のスライス経路をたどることができる。各スライスは、ネットワークを介して別のルートを取ることができる。スイッチ内では、これにより、スライスIDに基づいて、個別の出力ポートにパケットを配置する必要があり得る。しかしながら、スライスは必ずしも別の経路をたどるわけではない。複数のスライスからのトラフィックは、トラフィックタイプに基づいて個別のSLA要件を達成するために、同じ経路を使用して、出力インタフェースにおいて異なるキューイングの優先順位を受信することができる。
【0033】
パケットを出力キューにルーティングするために、エージェントはポリシングアルゴリズムを利用することができる。ポリシングアルゴリズムは、機械学習に基づいて選択または変更することができる。代替的に、一部またはすべての態様のポリシングアルゴリズムをユーザ定義することもできる。一例において、スイッチはFIFOアルゴリズムを使用し、FIFOアルゴリズムでは、パケットはスライスベースのプールにおいて受信された順序で出力キューにルーティングされる。代替的に、スライスラウンドロビン(「SRR:slice round robin」)アルゴリズムを使用することもでき、SRRアルゴリズムでは、各スライスからの1つのパケットが一度に転送される。例えば、スイッチは、各スライスベースの入力キューからパケットを取得し、パケットを適切なインタフェースに到達するように同じスライスの出力キューにルーティングすることができる。
【0034】
別の例において、スライス加重ラウンドロビン(「SWRR:slice-weighted round robin」)アルゴリズムが使用される。SWRRにおいて、各スライスの重みに基づいてパケットを転送することができる。スライスの重みは、一例において、以下の式1に従って計算することができる。
【0035】
スライスの重み=(総帯域幅)*(スライス帯域幅)/Σ(スライス帯域幅) 式1
式1に示すように、スライスの重みは、他のスライスの帯域幅に対する各スライスの帯域幅に基づくものとすることができる。ルーティングポリシングアルゴリズムは、本明細書ではスイッチワイドアルゴリズム(switch-wide algorithm)と呼ぶことができる。スイッチワイドアルゴリズムに基づいてパケットが選択されると、パケットは、スイッチの転送状態に基づいて、出力インタフェースにおけるスライス固有の出力キューに配置される。
【0036】
ステージ150において、スイッチは、出力ポリシングアルゴリズムと呼ばれる別のポリシングアルゴリズムに従って出力キューから物理ネットワークにパケットを転送する。この出力ポリシングアルゴリズムは、モニタリングモジュールからの通信に基づいてスイッチにおいてプログラムされ得る。オーケストレータまたはその他の管理ユーザは、複数の出力ポリシングアルゴリズムを定義するか、または複数の出力ポリシングアルゴリズム間で選択することにより、スライス出力に優先順位を付ける方法を選択することができる。出力ポリシングアルゴリズムは、実施例に応じて、FIFO、SRR、またはSWRRとすることができる。一例において、ルーティングポリシングアルゴリズムはFIFOであるが、出力ポリシングアルゴリズムはSWRRである。これは、優先順位の高いスライスからのパケットの出力を優先的に処理することにより、QoSを実施するのに役立つ。
【0037】
一例において、出力ポリシングアルゴリズムにより、スイッチは、優先順位の高いスライス分類に基づいて、第2のパケットよりも前に第1のパケットを送信する。例えば、第1の出力インタフェースにおいて、第1のパケットは、第2のパケットのスライスIDよりも優先される第1のスライスIDを有することができる。第1のパケットは緊急通信専用のスライスの一部とすることができ、第2のパケットは動画配信専用にすることができる。
【0038】
図2は、個々のスイッチでのスライスベースのQoSを実施するための例示的なシーケンス図である。ステージ205において、モニタリングモジュールは、スイッチにスライス設定を提供する。スライス設定は、対応するスライス経路に沿ってスライストラフィックをルーティングするための情報スライステーブル情報を含むことができる。スライス設定は、スライスに優先順位を付けるためのポリシングアルゴリズムを含むこともできる。
【0039】
モニタリングモジュールは、物理スイッチから離れたサーバにインストールされたソフトウェアを含むことができる。一例において、モニタリングモジュールは、コマンドをスイッチに送信して、ステージ210において、スイッチにプログラミングによってエージェントを実装させる。一例において、エージェントは、仮想層ではなく物理層におけるスイッチハードウェア上で実行することができる。エージェントは、入力パケットを分析して、スライスに従ってルーティングすることができる。
【0040】
ステージ215において、第1のパケットは、スイッチの入力インタフェースで受信される。第1のパケットは、スイッチによるルーティングで使用するアドレスおよびポートの情報を指定するヘッダを含むことができる。一例において、第1のパケットは、スライス識別子を含むこともできる。代替的に、スイッチは、パケットヘッダ内の情報を使用して、スイッチに実装されているローカルテーブルからスライスIDを取得することにより、スライス識別子を決定することができる。例えば、スライス識別子は、一例において、送信元および送信先のインターネットプロトコル(「IP」)アドレス、ポート、またはメディアアクセス制御(「MAC」)アドレスに基づいて取得することができる。一例において、スライスIDは、既知のスライスIDを有する前のパケットが属するデータのストリームの一部としてパケットを識別することに基づいている。
【0041】
スライスIDに基づいて、エージェントは、ステージ225において、第1のパケットをスライス固有の入力キューに配置する。スライスベースのプールは、各個別のスライスIDごとに1つのキューを含む、複数のそのようなキューを含むことができる。別の例において、複数の入力キューを複数の個別のスライスによって共有することができる。
【0042】
同様に、第2のパケットは、ステージ220において、同じかまたは別の入力インタフェースに到着する。エージェントは、第2のパケットに対応するスライスIDを同様に識別または決定することができる。スライスIDに基づいて、エージェントは、ステージ230において、対応するスライス固有の入力キューに第2のパケットを配置する。
【0043】
次に、エージェントは、スイッチワイドアルゴリズムを使用して、ステージ245および250において第1および第2のパケットを個々の出力キューに配置するための順序を決定する。FIFOスイッチワイドアルゴリズムにより、第1のパケットは、ステージ245において、出力キューに配置される。この例において、第1のパケットが第2のパケットよりも前にスライスベースのプールに入ったため、第1のパケットは、ステージ250における第2のパケットよりも前に配置される。
【0044】
ステージ255において、出力ポリシングアルゴリズムが1つまたは複数の出力インタフェースに対して実行される。一例において、スイッチは、個別の出力インタフェースに対して個別の出力ポリシングアルゴリズムを利用するようにプログラムすることができる。別の例において、単一の出力ポリシングアルゴリズムが全てのスライスベースの出力インタフェースに使用される。
【0045】
出力ポリシングアルゴリズムは、FIFO、SRR、SWRR、またはその他のカスタムアルゴリズムとすることができる。一例において、出力ポリシングアルゴリズムはSWRRである。スライスは、一例において、QoS優先度に従って、またはQoS優先度に基づいてランク付けされ得る。これにより、優先度の最も高いスライスの出力キュー内のパケットが、優先度の低いスライスの出力キュー内のパケットよりも優先される。優先順位付けは、使用可能な帯域幅に基づいて行うことができる。例えば、全体的な帯域幅が減少すると、優先順位の高いスライスに与えられる相対的な優先順位が上がり得る。これにより、スイッチが圧迫されている場合でも、優先順位の高いスライスに対するSLAパフォーマンスレベルを維持することができる。同様に、スイッチ上で使用可能な帯域幅が増加すると、スライスの相対的な優先順位が下がり得る。これにより、スイッチに十分な帯域幅が存在する場合に、全てのスライスがSLAパフォーマンスレベルを維持できるようになる。
【0046】
ステージ260において、スイッチは、第1のパケットを物理ネットワークにおける次ホップに送信する。次ホップは、別のスイッチとすることができる。これは、データがスライス経路の送信先に到達するまで継続され得る。送信先は、インターネット全体、特定のサーバ、またはデータベースへの出力ポイントを含むことができる。
【0047】
この例において、第1のパケットがステージ260において次ホップに送信されてから、第2のパケットがステージ265において次ホップに送信される。これらのパケットが物理ネットワークに送信される順序は、一例において、出力ポリシングアルゴリズムに依存し得る。さらに、パケットが2つの個別の出力インタフェースから送信される場合、順序は個別の出力インタフェースの相対的な負荷に依存し得る。例えば、第1の出力インタフェースの1つまたは複数の出力ポートは、送信を待機しているデータの比較的長いスライスベースのデータのキューによりビジー状態であるが、第2の出力インタフェースでは、個々のスライスベースのキューで待機しているデータが少ない場合がある。一例において、別のアルゴリズムで、スイッチの全帯域幅が効率的に使用されるように、個別の出力インタフェースの負荷を分散することができる。
【0048】
図3は、スライスベースのQoSを実施するスイッチの例示的な図である。この例において、任意の数の入力インタフェース310a、310nが、スイッチへの入力ポートを提供することができる。スイッチ上のエージェントは、これらの入力インタフェース310a、310nからのパケットをスライスベースのプール315に配置することができる。スライスベースのプール315は、N個のスライス固有の入力キューを有することができる。この例において、1から10までのスライスIDに対応する10個のそのような入力キューが存在する。
【0049】
パケットは、スライスIDに基づいてこれらの入力キューに配置され得る。スライスIDを決定することは、一例において、パケットヘッダからその情報を取得することを含むことができる。例えば、次の表1は、パケットヘッダからスライスIDに情報をマッピングするためのスライステーブルの例を示している。
【0050】
【表1】
この例において、送信元IP、送信先IP、データプロトコル、送信元ポート、および送信先ポートをパケットヘッダで調べて、対応するスライスIDを選択するために使用することができる。表1のスライステーブルは、パケットに対応するスライスを決定するためにスイッチに格納され得る。一例において、スライステーブル内の情報は、モニタリングモジュールによってスイッチに提供される。テーブル内の各エントリは、フローを表すことができる。
【0051】
別の例において、フローはスライステーブル内のデータの行よりも多数ある。各フローは、一意の動的IP IDを有することができる。従って、一例において、スライステーブルにIP IDを格納するのは負担となる場合がある。代わりに、スイッチは、最近のフローのいくつかの最近のIP IDを追跡し、それらのフローがスライスIDにどのようにマッピングされているかを追跡することができる。これにより、スイッチは、パケットが属するストリーム(即ち、フロー)に基づいて、パケットに対応するスライスを決定することが可能となる。この例において、スイッチはIP IDを使用して、IP IDとスライスとの相関関係に基づいて、ある程度の追加のパケット検査を回避することができる。
【0052】
表1における情報は、スイッチの前にあるスライスセレクタによって提供され、スライスセレクタは、スライスIDに従ってデータを分類することができる。スライスセレクタは、一例において、トラフィックがVSNに入る入力クラスタの一部とすることができる。スライスセレクタは、アドレス情報およびパケットタイプを分析し、パケットをスライスに分類することができる。例えば、スライスセレクタは、パケットヘッダの表1における情報を使用して、ローカルスライステーブルでスライスIDを調べることができる。スライステーブルを使用して、ホストと送信先のIPアドレス、ホストと送信先のポート、ホストと送信先のMACアドレス、およびパケットタイプの組み合わせに基づいてスライスIDを識別することができる。パケットタイプは、特に、伝送制御プロトコル(「TCP」)、インターネット制御メッセージプロトコル(「ICMP」)、またはアドレス解決プロトコル(「ARP」)であり得る。別の例において、スイッチは、このパケット情報のいくつかの組み合わせに基づいて、ローカルスライステーブルでスライスIDを調べることができる。さらに、様々なパケットプロトコルは、一例において、独自のスライス上で動作することができるか、または専用の入力または出力インタフェースを有することができる。
【0053】
一例において、スライスセレクタは、選択されたスライスに基づいて、パケット検査が実行された初期メッセージを、ネットワーク領域等のフローの送信先に送信することができる。これにより、スライスセレクタおよびスイッチは、毎回深層パケット検査を実行することなく、後続のトラフィックを同じスライスに割り当てるための状態を保存することができる。これは、図1に示すように、アドレスおよびポートの情報をスライステーブルに格納することを含むことができる。また、IP IDなどを使用してフローをスライスにマッピングすることも含むことができる。
【0054】
スライスIDに基づいて、パケットは、スライスベースのプール315のスライス固有の入力キューにキューイングすることができる。次に、スイッチワイドポリシングアルゴリズム320を使用して、スライスベースのプール315から任意の数の出力インタフェース340a、340nにパケットをルーティングすることができる。特定のパケットの出力インタフェース340a、340nは、そのパケットの次ホップに基づいて選択することができる。各スライスは、次ホップを決定するスライス経路を有することができる。スライス経路情報は、モニタリングモジュールによってスイッチに提供され、出力インタフェース340a、340nへのルーティングの一部としてスイッチにおいて参照され得る。例えば、第1のパケットは、第1の出力インタフェース340aからアクセス可能な次ホップを有することができ、別のパケットは、別の出力インタフェース340nからアクセス可能な次ホップを有することができる。
【0055】
スイッチワイドアルゴリズム320は、パケットがスライスベースのプール315から出力インタフェース340a、340nにルーティングされる順序を指示することができる。これは、一部のスライスを他のスライスよりも優先することを含むことができる。
【0056】
各出力インタフェース340a、340nは、独自の組のスライス固有の出力キュー330a、330nを有することができる。これらの出力キュー330a、330nは、スライスベースのプール315の入力キューと同じスライスに対応することができる。従って、スライス2内のパケットが出力インタフェース340nにルーティングされる場合、パケットは、スライス2に固有の出力キュー330nに配置することができる。
【0057】
パケットは、そこから、出力ポリシングアルゴリズムに基づいて個々の次ホップに到達するように物理ネットワークに送信され得る。一例において、出力ポリシングアルゴリズムは、出力インタフェース330a、330nごとに実行することができる。一例において、出力インタフェース330a、330nの各出力ポートは、個別の出力ポリシングアルゴリズムによって管理される。別の例において、1つまたは複数の出力インタフェース330a、330nの出力ポートは、共通の出力ポリシングアルゴリズムによって管理される出力チャネルとして扱われる。
【0058】
図4および図5は、ネットワークを介した例示的なスライス経路ルートを示し、スライス経路ルートは、物理ネットワークコンポーネントおよび仮想ネットワークコンポーネントを含むことができる。図4において、第1のスライス410は、スイッチR1、R3、R5、およびR6にまたがるスライス経路を介して、ホストH1からホストH2にトラフィックをルーティングすることができる。これらのスイッチのうちの1つまたは複数は、仮想レイヤにおけるスライス経路の一部である複数のVNFを含むことができる。VNFは、スライス固有の機能を含むことができる。図示されているスイッチR1~R6は、物理層内に存在することができ、代替的に、仮想層内の仮想スイッチとすることができる。これらのスイッチは、ルータまたはサーバなどのハードウェアデバイスとすることができる。同様に、ホストH1、H2は、物理サーバまたは仮想サーバとすることができる。
【0059】
モニタリングモジュールは、様々なスイッチR1、R2、R3、R4、R5、およびR6からのテレメトリックデータを追跡することができる。例えば、スイッチは、エージェントを実行するようにプログラムすることができ、エージェントは、スライス固有のテレメトリックデータを定期的に報告することができるモニタリングモジュールは、一例において、テレメトリックデータをスライス410のSLA要件と比較することができる。テレメトリックデータは、スイッチレイテンシ、スライスレイテンシ、総ラウンドトリップ時間、スライス帯域幅、およびスイッチ帯域幅などのパフォーマンス属性を含むことができる。
【0060】
一例において、SLA比較を使用して、既存のスライス経路内のスイッチのポリシングポリシーを変更することができる。例えば、スライス410がSLAに従ってQoSを満たしていない場合、モニタリングモジュールは、スイッチR5などのスイッチにおけるポリシングポリシーを動的に調整して、スライスをSLAに準拠させることができる。例えば、SLAの比較は、スライス410がスイッチR5において過度のレイテンシが発生していることを示しているが、他のスライスはR5においてQoSを満たしている。これに応答して、モニタリングモジュールは、第1のスライスに優先順位を付けるために、1つまたは複数のポリシングアルゴリズムまたはアルゴリズム入力を変更することができる。一例において、モニタリングモジュールは、第1のスライスに対するスライス優先順位付けの重み値を調整することによって、スイッチR5を再プログラムすることができる。この重み値は、スイッチワイドポリシングアルゴリズム、または1つまたは複数の出力インタフェースの出力ポリシングアルゴリズムのいずれかで使用することができる。これにより、スイッチR5が第1のスライスの優先順位を上げて、そのスライス内のパケットをより迅速にルーティングすることができ、これにより、第1のスライスをSLAのQoS要件に準拠した状態に戻すことができる。
【0061】
輻輳を回避し、SLAへのQoS準拠を支援するために、送信元アドレスと送信先アドレスが同じであっても、スライス経路をネットワーク全体に別の方法で分散させることもできる。例えば、図5において、第1のスライス510は、スイッチR1、R3、R5、およびR6にまたがるスライス経路を有し、第2のスライス520は、スイッチR1、R2、R4、およびR6にまたがるスライス経路を有する。図4の単一経路と比較して、これは、スイッチにおける輻輳を緩和することができる。例えば、全てのスライストラフィックをスイッチR5を経由させる代わりに、1つまたは複数のスライス520が、代わりに、スイッチR4を経由してトラフィックをルーティングすることができる。
【0062】
スライスを再ルーティングするために、モニタリングモジュールはネットワークの物理層と仮想層の両方に変更を加えることができる。例えば、第2のスライス520が第1のスライス510とは別のスライス経路を取るようにするために、オーケストレータプロセスまたはモニタリングモジュールは、スイッチR2およびR4の上にある仮想層の第2のスライス用のVNFをインスタンス化することができる。モニタリングモジュールは、第2のスライス520に対する新たなスライス経路を提供するために、スイッチR1に次ホップをR3からR2に変更するメッセージを送信することができる。また、モニタリングモジュールは、個々の次ホップが新たなスライス経路を下ってR6に到達するようにスイッチR2およびR4を更新することができる。
【0063】
図6は、VSN600におけるシステムコンポーネントの例示的な図である。VSN600は、1つまたは複数のクラウド620、640を備えた分散型Telcoクラウドネットワークとすることができる。スライス672、678、682は、これらのクラウド620、640に分散され得る。
【0064】
各クラウド620、640は、ネットワーク機能仮想化(「NFV:network function virtualization」)642用の物理インフラおよび仮想インフラを有することができる。例えば、ルータおよびサーバなどの物理スイッチ644は、VNF機能を提供するVM646またはマイクロサービスを実行することができる。スライスは、エッジクラウド620上で実行される第1のVNFを含むことができる。VNFは、1つまたは複数のvCPUを利用することができ、これは、一例において、1つまたは複数のVM624であり得る。しかしながら、エッジクラウド620は、多くの場合、VNFが様々なスライスの一部である複数のテナントに対して多数のVNFを実行することができる。スライスは、機能的観点から分離しておくことができ、別のスライスのVNFは、それらが共有物理ハードウェア622上で動作するVM624に依存している場合であっても、互いの存在を認識しない。
【0065】
スライス経路内の第1のVNFは、別のクラウド640内に配置され得る第2のVNFと通信することができる。例えば、第2のVNFは、コアクラウド640内の物理ハードウェア644上で動作する1つまたは複数のVM646を含むことができる。第2のVNFは、スライス経路内のさらに別のVNFと通信することができる。一例において、これらのVNFのうちの1つまたは複数は、インターネット660への出口として機能することができる。
【0066】
1つまたは複数のユーザデバイス602は、例えば、5Gデータ接続を使用して、VSN600内のスライスに接続することができる。ユーザデバイス602は、Telcoネットワークに接続することができる任意の物理プロセッサ対応デバイスであり得る。例としては、自動車、電話、ラップトップ、タブレット、IoTデバイス、仮想現実デバイスなどが挙げられる。セルタワー605または他のトランシーバは、これらのユーザデバイス602と送信を送受信することができる。エッジクラウド620への入口点において、スライスセレクタ608は、ユーザデバイス602から送信されたデータを受信して、適用されるスライスを決定することができる。スライスセレクタ608は、エッジクラウド内でVM624として動作することができるか、またはエッジクラウド620に接続された別のハードウェア上で動作することができる。スライスセレクタは、一例において、パケットヘッダの情報を使用して、パケットが属するスライスを決定することができる。
【0067】
分散仮想インフラを管理するために、モニタリングモジュールを備えたオーケストレータ668を含めて、プロバイダは、管理プロセスのトポロジ665を動作させ得る。これらのプロセスの一例となるフレームワークが、VMWAREによるVCLOUD(登録商標) NFV(商標)であり、これは、ネットワーク仮想化にVSPHERE(登録商標)を使用し、仮想解析にVREALIZE(登録商標)を使用可能である。例示的なオーケストレータはCLOUDIFYである。オーケストレータ668は、別個のサーバまたは別個の仮想環境で別々に動作するモニタリングモジュールと交互に通信することができる。その例において、モニタリングモジュールは、オーケストレータ668と連動するトポロジ665の一部であり得る。
【0068】
一例において、オーケストレータ668は、スライスおよびVNFの管理を担当し得る。これは、パフォーマンス・メトリックおよびネットワーク負荷に基づく新たなスライスのプロビジョニングまたは既存のスライスの再プロビジョニングを含み得る。オーケストレータは、1つまたは複数のコアクラウド620、640内に配置されるか、またはクラウドとは別項に配置された1つまたは複数の物理サーバ上で動作し得る。オーケストレータ668は、各スライスにどのクラウドおよびVNFが含まれるかについての経過を追うツールを提供可能である。オーケストレータは、さらに、個々のテナント670、680のスライス性能を追跡して、管理コンソールを提供可能である。また、オーケストレータ668は、パフォーマンス・メトリックおよび負荷情報を受信して、モニタリングモジュールが新たなスライス経路を見出すべきタイミングを決定可能である。
【0069】
本例においては、第1のテナント670が複数のスライス672、674を有する。各スライス672、678は、当該スライスのVNF要件を示すスライス記録により規定可能である。VNF674、676はそれぞれ、サービスチェーンにおける個別の機能を提供可能である。
【0070】
さらに、SLAは、スライスの様々な閾値パフォーマンス要件を規定し得る。これらのパフォーマンス要件は、レイテンシ、ラウンドトリップタイム、帯域幅等を含み得る。一例において、これらは、スライスごとのQoS要件として機能し得る。
【0071】
オーケストレータ668は、モニタリングモジュールに依拠して、スイッチ622、644からテレメトリック情報を受信するとともに、SLAが満たされているかどうかを判定することができる。一例において、モニタリングモジュールは、スイッチ622、644にエージェント601を提供する。スイッチ622、644は、エージェント601を実行するようにプログラム可能である。また、モニタリングモジュールは、入力ポート603から出力ポート606まで、および出力ポート606からネットワーク600内の次ホップまでパケットを移動させるのにスイッチが使用するポリシングアルゴリズムを提供可能である。また、モニタリングモジュールは、次ホップおよびこれらの次ホップに対して使用する出力インタフェース(例えば、ポート)を決定するのにスイッチ622、644が使用するスライス経路情報も提供可能である。
【0072】
また、オーケストレータ668は、スライスセレクタ608およびスイッチ622、644の設定を変更して、スライス経路を通るトラフィックのルートが正しくなるようにし得る。
【0073】
上記のいくつかの例は、物理スイッチに関して説明されているが、これらの例は代替的に仮想スイッチで実行することができる。さらに、オーケストレータ、仮想管理トポロジ、およびモニタリングモジュールは別々に言及されているが、これらのプロセスはすべて一体的に動作し得る。これらの例は、どのプロセスがどのステップを実行するかを制限することを意図していない。その代わりに、モニタリングモジュールは、上記のステージを実行する仮想管理トポロジの任意の部分と見なすことができる。
【0074】
本明細書に開示された例の詳細な説明および実施例を考慮することにより、当業者には、本開示の他の例が明らかとなるであろう。上記の方法の一部を一連のステップとして提示したが、当然のことながら、1つまたは複数のステップが同時に発生することもあり得、重複して発生することもあり得、または異なる順序で発生することもあり得ることを理解されたい。提示のステップの順序は、可能性を示したに過ぎず、これらのステップは、任意の適切な態様で実行または実行可能である。さらに、本明細書で説明する例の様々な特徴は、相互に排他的ではない。むしろ、本明細書で説明する任意の例の任意の特徴を、他の任意の適切な例に組み込むことができる。詳細な説明および実施例は例示としてのみ考慮されることが意図されており、本開示の真の範囲および技術思想は、以下の特許請求の範囲によって示されている。
図1
図2
図3
図4
図5
図6