(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-28
(54)【発明の名称】5G及びエッジコンピューティングアプリケーションのためのアプリケーション中心のデザイン
(51)【国際特許分類】
G06F 9/50 20060101AFI20240521BHJP
G06F 9/48 20060101ALI20240521BHJP
【FI】
G06F9/50 120A
G06F9/48 300H
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023569917
(86)(22)【出願日】2022-04-28
(85)【翻訳文提出日】2023-12-19
(86)【国際出願番号】 US2022026661
(87)【国際公開番号】W WO2022240590
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-02-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-04-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】ラオ、 クナル
(72)【発明者】
【氏名】サンカラダス、 ムルガン
(72)【発明者】
【氏名】チャクラッダー、 スリマット
(57)【要約】
多層的な5Gインフラ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するための方法が提示される。本方法は、アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションメタデータコンポーネント等を含むアプリケーションスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定し、ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定し、リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、リソースマネージャにより、データベースを維持し、アプリケーションのインスタンスの開始、停止、更新及び削除を管理することで、アプリケーションのコンピュート要件とネットワーク要件を同時に管理する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
多層的な5Gインフラ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するための方法であって、
アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションのメタデータコンポーネント、ファンクションの依存関係コンポーネント、ファンクションのインスタンスコンポーネント及びインスタンス接続コンポーネントを含むアプリケーションのスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定し(1001)、
ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定し(1003)、
リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、前記リソースマネージャにより、データベースを維持し、前記アプリケーションのインスタンスの開始、停止、更新及び削除を管理する(1005)ことで、前記アプリケーションのコンピュート要件とネットワーク要件を同時に管理する、方法。
【請求項2】
前記アプリケーションのスライス仕様は、レイテンシパラメータ、帯域幅パラメータ、装置カウントパラメータ及び信頼度パラメータを含む、請求項1に記載の方法。
【請求項3】
前記ファンクションのネットワークスライス仕様は、レイテンシパラメータ、スループットGBRパラメータ、スループットMBRパラメータ及びパケットエラーレートパラメータを含む、請求項1に記載の方法。
【請求項4】
前記ファンクションのコンピュートスライス仕様は、最小CPUコアパラメータ、最大CPUコアパラメータ、最小メモリパラメータ、最大メモリパラメータ及び層パラメータを含む、請求項1に記載の方法。
【請求項5】
前記層パラメータは、複数の層にわたってファンクションを自動的にマップして実行し、前記リソースマネージャは、最初は静的リソース管理を実行し、その後、前記アプリケーションスライスコントローラ及び前記アプリケーションスライスモニタと連携して、層全体で動的にリソース管理を実行する、請求項4に記載の方法。
【請求項6】
前記アプリケーションスライスコントローラは、ネットワークスライスの生成前に保証及びアドミッション制御を提供するネットワークスライスインタフェース層を使用することで、ファンクションに関するコンピュートスライシング及びネットワークスライシングを管理する、請求項1に記載の方法。
【請求項7】
前記アプリケーションスライスモニタは、前記アプリケーションスライスコントローラによって生成された前記コンピュートスライシング及び前記ネットワークスライシングに関するメトリクスを監視及び収集し、前記メトリクスは、特定の構成可能な間隔にて定期的に前記リソースマネージャで利用可能になる、請求項6に記載の方法。
【請求項8】
多層的な5Gインフラストラクチャ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するためのコンピュータで読み取り可能なプログラムを含む非一時的なコンピュータで読み取り可能な記録媒体であって、
前記コンピュータで読み取り可能なプログラムがコンピュータで実行されると、前記コンピュータに、
アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションのメタデータコンポーネント、ファンクションの依存関係コンポーネント、ファンクションのインスタンスコンポーネント及びインスタンス接続コンポーネントを含むアプリケーションのスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定し(1001)、
ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定し(1003)、
リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、前記リソースマネージャにより、データベースを維持し、前記アプリケーションのインスタンスの開始、停止、更新及び削除を管理する(1005)ことで、前記アプリケーションのコンピュート要件とネットワーク要件を同時に管理することを実行させる、非一時的なコンピュータで読み取り可能な記録媒体。
【請求項9】
前記アプリケーションのスライス仕様は、レイテンシパラメータ、帯域幅パラメータ、装置カウントパラメータ及び信頼度パラメータを含む、請求項8に記載の非一時的なコンピュータで読み取り可能な記録媒体。
【請求項10】
前記ファンクションのネットワークスライス仕様は、レイテンシパラメータ、スループットGBRパラメータ、スループットMBRパラメータ及びパケットエラーレートパラメータを含む、請求項8に記載の非一時的なコンピュータで読み取り可能な記録媒体。
【請求項11】
前記ファンクションのコンピュートスライス仕様は、最小CPUコアパラメータ、最大CPUコアパラメータ、最小メモリパラメータ、最大メモリパラメータ及び層パラメータを含む、請求項8に記載の非一時的なコンピュータで読み取り可能な記録媒体。
【請求項12】
前記層パラメータは、複数の層にわたってファンクションを自動的にマップして実行し、前記リソースマネージャは、最初は静的リソース管理を実行し、その後、前記アプリケーションスライスコントローラ及び前記アプリケーションスライスモニタと連携して、層全体で動的にリソース管理を実行する、請求項11に記載の非一時的なコンピュータで読み取り可能な記録媒体。
【請求項13】
前記アプリケーションスライスコントローラは、ネットワークスライスの生成前に保証及びアドミッション制御を提供するネットワークスライスインタフェース層を使用することで、ファンクションに関するコンピュートスライシング及びネットワークスライシングを管理する、請求項8に記載の非一時的なコンピュータで読み取り可能な記録媒体。
【請求項14】
前記アプリケーションスライスモニタは、前記アプリケーションスライスコントローラによって生成された前記コンピュートスライシング及び前記ネットワークスライシングに関するメトリクスを監視及び収集し、前記メトリクスは、特定の構成可能な間隔にて定期的に前記リソースマネージャで利用可能になる、請求項13に記載の非一時的なコンピュータで読み取り可能な記録媒体。
【請求項15】
多層的な5Gインフラストラクチャ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するためのシステムであって、
メモリと、
アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションのメタデータコンポーネント、ファンクションの依存関係コンポーネント、ファンクションのインスタンスコンポーネント及びインスタンス接続コンポーネントを含むアプリケーションのスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定し(1001)、
ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定し(1003)、
リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、前記リソースマネージャにより、データベースを維持し、前記アプリケーションのインスタンスの開始、停止、更新及び削除を管理する(1005)ことで、前記アプリケーションのコンピュート要件とネットワーク要件を同時に管理するように構成された、前記メモリと通信する1つまたは複数のプロセッサと、
を有するシステム。
【請求項16】
前記アプリケーションのスライス仕様は、レイテンシパラメータ、帯域幅パラメータ、装置カウントパラメータ及び信頼度パラメータを含む、請求項15に記載のシステム。
【請求項17】
前記ファンクションのネットワークスライス仕様は、レイテンシパラメータ、スループットGBRパラメータ、スループットMBRパラメータ及びパケットエラーレートパラメータを含む、請求項15に記載のシステム。
【請求項18】
前記ファンクションのコンピュートスライス仕様は、最小CPUコアパラメータ、最大CPUコアパラメータ、最小メモリパラメータ、最大メモリパラメータ及び層パラメータを含む、請求項15に記載のシステム。
【請求項19】
前記層パラメータは、複数の層にわたってファンクションを自動的にマップして実行し、前記リソースマネージャは、最初は静的リソース管理を実行し、その後、前記アプリケーションスライスコントローラ及び前記アプリケーションスライスモニタと連携して、層全体で動的にリソース管理を実行する、請求項18に記載のシステム。
【請求項20】
前記アプリケーションスライスコントローラは、ネットワークスライスの生成前に保証及びアドミッション制御を提供するネットワークスライスインタフェース層を使用することで、ファンクションに関するコンピュートスライシング及びネットワークスライシングを管理し、
前記アプリケーションスライスモニタは、前記アプリケーションスライスコントローラによって生成された前記コンピュートスライシング及び前記ネットワークスライシングに関するメトリクスを監視及び収集し、前記メトリクスは、特定の構成可能な間隔にて定期的に前記リソースマネージャで利用可能になる、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年5月14日に出願された米国仮特許出願第63/188,639号、2022年2月11日に出願された米国仮特許出願第63/309,030号及び2022年4月27日に出願された米国特許出願第17/730,499号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【0002】
本発明は、5G及びエッジコンピューティングのアプリケーションに関し、より詳細には、アプリケーションのコンピュート及びネットワーク要件の両方を考慮した、アプリスライス(app slice)と呼ばれる統合されたアプリケーション中心(application-centric)の仕様に関する。
【背景技術】
【0003】
5G及びエッジコンピューティングの出現により、アプリケーションをデータの送信元のより近くで実行し、IoT(Internet-of-Things)における「モノ」とアプリケーションが実行するエッジコンピューティングのインフラとの間で高帯域幅かつ低レイテンシの通信が可能になった。しかしながら、5Gと、エッジコンピューティングとは独立して進歩しており、5Gインフラ及びネットワーク機能と、関連ツールを含むエッジコンピューティングのインフラ及びフレームワークとは全く異なっている。新たに発生する5Gアプリケーションのコンピュート要件とネットワーク要件とを単一の環境内で考慮する理路整然としたアプローチは無い。
【発明の概要】
【0004】
多層的な5Gインフラ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するための方法が提示される。本方法は、アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションのメタデータコンポーネント、ファンクションの依存関係コンポーネント、ファンクションのインスタンスコンポーネント及びインスタンス接続コンポーネントを含むアプリケーションのスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定し、ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定し、リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、リソースマネージャにより、データベースを維持し、アプリケーションのインスタンスの開始、停止、更新及び削除を管理することで、アプリケーションのコンピュート要件とネットワーク要件を同時に管理する。
【0005】
多層的な5Gインフラストラクチャ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するためのコンピュータで読み取り可能なプログラムを含む非一時的なコンピュータで読み取り可能な記録媒体が提示される。コンピュータで読み取り可能なプログラムがコンピュータで実行されると、コンピュータに、アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションのメタデータコンポーネント、ファンクションの依存関係コンポーネント、ファンクションのインスタンスコンポーネント及びインスタンス接続コンポーネントを含むアプリケーションのスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定し、ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定し、リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、リソースマネージャにより、データベースを維持し、アプリケーションのインスタンスの開始、停止、更新及び削除を管理することで、アプリケーションのコンピュート要件とネットワーク要件を同時に管理することを実行させる。
【0006】
多層的な5Gインフラストラクチャ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するためのシステムが提示される。本システムは、メモリと、アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションのメタデータコンポーネント、ファンクションの依存関係コンポーネント、ファンクションのインスタンスコンポーネント及びインスタンス接続コンポーネントを含むアプリケーションのスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定し、ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定し、リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、リソースマネージャにより、データベースを維持し、アプリケーションのインスタンスの開始、停止、更新及び削除を管理することで、アプリケーションのコンピュート要件とネットワーク要件を同時に管理するように構成された、メモリと通信する1つまたは複数のプロセッサと、を有する。
【0007】
これら及び他の特徴並びに利点は、以下の典型的な実施形態の詳細な説明を添付の図面と併せて読むことで明らかになるであろう。
【0008】
本開示では、後述するように、以下の図面を参照しながら好ましい実施形態について詳細に説明する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本発明の実施形態による、例示的なアプリスライス仕様のブロック/フロー図である。
【0010】
【
図2】
図2は、本発明の実施形態による、アプリケーション仕様の例示的なコンポーネントのブロック/フロー図である。
【0011】
【
図3】
図3は、本発明の実施形態による、例示的なアプリスライスランタイムのブロック/フロー図である。
【0012】
【
図4】
図4は、本発明の実施形態による、リソースマネージャのフローチャートを示すブロック/フロー図である。
【0013】
【
図5】
図5は、本発明の実施形態による、例示的なアプリスライスコントローラのブロック/フロー図である。
【0014】
【
図6】
図6は、本発明の実施形態による、多層的な5Gインフラ内の5Gスライスにおける複数のマイクロサービスを含むアプリケーションを指定して実行するための例示的な実際のアプリケーションを示す図である。
【0015】
【
図7】
図7は、本発明の実施形態による、多層的な5Gインフラ内の5Gスライスにおける複数のマイクロサービスを含む、アプリケーションを指定して実行するための例示的な処理システムを示す図である。
【0016】
【
図8】
図8は、本発明の実施形態による、多層的な5Gインフラ内の5Gスライスにおける複数のマイクロサービスを含む、アプリケーションを指定して実行する例示的な方法のブロック/フロー図である。
【発明を実施するための形態】
【0017】
エッジコンピューティングは、エンドユーザ及びIoT(Internet-of- Things)のエンドポイントに比較的近い、必要なコンピュート(compute)、ストレージ、スイッチング及び制御機能を指す用語である。エッジコンピューティングにより、パフォーマンスとそれに伴うユーザの体感の品質が大幅に向上し、効率と経済性の両方が向上する。アプリケーションをエンドユーザに近いエッジコンピュートにローカライズすることで、ネットワークの通過レイテンシが改善される。レイテンシ及び信頼度は、パフォーマンスの向上の重要な要因である。エッジコンピュートにより、データのローカライズと効率的なデータ処理が可能になる。また、産業界や政府の規制では、セキュリティとプライバシー上の理由からデータのローカライズが必要になることがよくある。
【0018】
パフォーマンス上の理由から、多くの場合、トランスポートリソースに関するトラフィック量を削減するには情報のローカル処理を実行する必要がある。一昔前、クラウドコンピューティングにより、世界中に到達し規模を拡大できる価値の高いエンタープライズサービスが可能になったが、数分、数秒の遅延が発生していた。現在、オンデマンドでタイムシフトされたHDまたは4K映像は、数百ミリ秒の遅延でクラウドからストリーミングされる。将来的には、触覚インターネットや仮想現実のような新しいアプリケーションは、数十ミリ秒またはサブミリ秒のリアルタイムな応答時間を必要とし、クラウドリソースを用いるのではなく、エッジクラウドにおける、コンテンツが作成及び消費される場所の近くに存在するコンピューティングリソースを用いてレイテンシを削減する。
【0019】
主要なクラウドコンピュート環境は引き続き動作し、エッジコンピューティングのリソースで強化されるであろう。エッジコンピューティングは、次世代の装置を可能にする機能を提供する。最も重要なデータはエッジで保管し、残りのデータは一元的に管理された施設に移すことができる。これにより、エッジテクノロジーがリアルタイムで高速な体感を顧客に提供し、一元化されたデータストレージによって産業界の要件を満たす柔軟性を提供できるようになる。
【0020】
エッジコンピューティングは、あらゆる装置を、あたかも応答性の高い装置であるかのように見せ、感じさせる。重要なデータはネットワークのエッジ、装置上で直接処理できる。二次的なシステムや緊急性の低いデータはクラウドに送信され、そこで処理される。SDN(Software Defined Networking)を使用すると、組織はアプリケーションのパフォーマンスとユーザの体感を最適化するためにデータを処理する場所と方法に関するルールをより柔軟に定義できるようになる。
【0021】
エッジコンピューティングは、より速い速度とより低いレイテンシを約束する5Gと組み合わせると、ほぼリアルタイムな接続の未来を提供する。リアルタイムで人と対話するアプリケーションでは、測定とアクションとの間のレイテンシを短縮する必要がある。例えば、応答時間が約10ミリ秒の場合、人は、ローカルなオブジェクトとの交流と比べて認識するのに差異が無い、遠くのオブジェクトと交流することが可能である。人が視覚的な場面を遠隔制御したり、迅速な応答を期待するコマンドを発行したりするような、人が速度を期待する場合は、より高速な1ミリ秒の反応時間が必要になる。インダストリ4.0のようなマシンツーマシン(machine-to-machine)通信では、閉ループのリアルタイム制御システムが品質管理等のプロセスを自動化するために、さらに高速なミリ秒未満の応答時間が要求される。
【0022】
また、データ処理をネットワークのエッジに近づけることは、セキュリティ上の意味あいもある。SDNを使用すると、通信層、ハードウェア層及びクラウドセキュリティを同時に考慮したセキュリティに対する階層的なアプローチの開発が可能になる。より具体的には、ネットワークのエッジクラウドでは、ネットワーク機能の仮想化(NFV:Network Functions Virtualization)により、クラウドレベルのダイナミクスとネットワーク実装の柔軟性が実現する。これは、5Gサービスにとって有益な動的ネットワークスライシングを実現するための重要な要素となる。エッジクラウドは、様々な分散レベルで導入されることが予想されており、時間の経過と共に段階的に導入される可能性がある。現在ネットワーク内に存在するコアデータセンターは、今後も一元化されたネットワーク機能をホストする。
【0023】
5Gネットワークは、ネットワーク化された世界のための統合された通信技術を可能にする。5Gは、工業生産、自動車、輸送、農業、ヘルスケア等を含む、様々な分野の幅広いアプリケーションを対象とする。5Gは、社会を変える大きな可能性を秘めたマシンツーマシン通信とIoT接続をネイティブにサポートする。例えば、インダストリ4.0の出現により、人、オブジェクト、プロセス、システムをリアルタイムに接続する、広範な要件を有する幾つかのアプリケーションが登場した。インダストリ4.0では、製造、石油・ガス、発電/配電、鉱業、化学処理等の幅広い産業分野にわたるネットワークが必要である。このようなネットワークは、サービス要件の点で従来の企業/消費者ネットワークとは大きく異なっている。
【0024】
レイテンシ及びスループットに関する主要な接続要件は大きく異なるが、5G機能により、遠隔操作、遠隔メンテナンス、拡張現実、モバイルワークフォース等の幅広い産業用アプリケーション、並びに決済、触覚、V2X、リアルタイム監視等のエンタープライズアプリケーションが可能になる。多くの場合、これらのアプリケーションには、0.5~10ミリ秒未満のレイテンシ要件、10~1000Mbps程度の非常に高いデータレート容量要件、並びに数千ノード規模の高密度要件がある。V2Xアプリケーションは、車両が高速で移動している間に生死を判断する必要があるため、高い信頼度と非常に低いレイテンシ要件を備える。
【0025】
ネットワークスライシングは、様々なバーティカルに対して5Gの可能性を明らかにする。5G時代が始まる前、携帯電話ネットワークには、どんな場面でも通用するソリューションのためのアプローチがあった。ネットワークスライシングの背景にある重要な原則は、共通の物理的なファブリックで複数の論理ネットワークをインスタンス化し、各論理ネットワークがアプリケーションの個々の要件に合わせて調整されるようにすることである。ネットワークスライスは、特定の使用例に合わせてカスタマイズされたネットワーク機能と特定の無線アクセステクノロジー設定との集まりである。スライスは、コンピュート、ネットワーク及び周波数帯のライセンスを共有する共通のインフラで実現される。これにより、インフラと資源の効率的な利用が可能になり、コストとエネルギー効率の高い実施が可能になる。ネットワークスライシングは、ビジネス、技術、機能、運用の観点からの独立を実現する。ネットワークスライシングは、新世代のサービスを提供するために、ネットワーク内に事前に定義されたサービス品質を備えた専用ネットワークを作成する手段とみなすことができる。簡単に言うと、ネットワークスライシングは、パブリック5Gネットワーク内の専用の独立したプライベート5Gネットワークと見ることができる。スライシングは、エンドツーエンドでトラフィックを分離する能力を提供し、マルチテナント及びマルチサービス条件における完全なパフォーマンスの保証を可能にする。ネットワークスライシングは、コンピューティング、ストレージ及びネットワークリソースの観点からの独立も提供する。
【0026】
新たに発生するアプリケーションのスライスベースの抽象化は、リアルタイム性、信頼度及び応答性の観点から動作要件を達成するための鍵である。例示的な実施形態は、効果的なパフォーマンスのための高スループット、低遅延及び信頼度の制約を有するリアルタイム監視ビデオ分析アプリケーションを採用する。レイテンシ、帯域幅、信頼度に関するアプリケーション要件は動的に変化することが多く、ネットワーク要件とコンピュート要件の両方に影響を及ぼす。ネットワークパラメータとコンピュートパラメータを動的に微調整することで、サービスの基盤となるプラットフォームをニーズの変化に応じて常にカスタマイズできる。5Gでは、ネットワークスライシングのための2つのメカニズムが指定されている。第1はソフトネットワークスライシングであり、第2はハードネットワークスライシングである。ソフトネットワークスライシングは、利用可能なネットワークリソースを様々なクラスのトラフィックに動的に割り当てるサービス品質(QoS:quality of service)技術に基づいている。ロングタームエボリューション(long-termevolution:LTE)の場合は主にユーザ装置が各トラフィッククラスにQoSクラスインデックス(QCI)を割り当てることで実現され、5Gの場合は5G QOS識別子(5QI)を使用することで実現される。ハードネットワークスライシングでは、仮想化とコンポーネントの機能分離を利用してスライシングを実現する。
【0027】
アプリケーションは、様々なアプリケーションのファンクションを実行するために、コンピュート及びネットワークリソースを必要とする。現在、ネットワークリソースとコンピュートリソースとは独立して扱われ、管理されている。アプリケーション全体の利点のためにそれらを同時に考慮するための理路整然としたアプローチは無い。ネットワーキングベンダーは、アプリケーションのコンピュート要件や、アプリケーションのネットワーク要件を考慮せずにコンピュートリソースの提供を保証するクバネティス(Kubernetes)等のオーケストレーションフレームワークを考慮しないネットワークリソースの保証を提供する。さらに、ネットワークリソースの保証はアプリケーションに依存せず、コンピュートリソースの保証は階層化されたコンピューティング層のアーキテクチャにおける特定の層内で行われる。コンピュートリソースとネットワークリソースに対するこのサイロ化されたアプローチは、コンピューティング層内及びコンピューティング層全体でアプリケーションの全体的な健全性とスムーズな動作を実現するためにコンピュートリソースとネットワークリソースを共に最適化する必要があるアプリケーションでは、うまく動作しない。
【0028】
データは、アプリケーションが必要な速度及び信頼度でネットワークを移動する必要があり、同時に、このデータをリアルタイムで処理して様々なアプリケーションの機能が実現できるように、十分なコンピュートリソースが利用可能である必要がある。コンピュートリソースとネットワークリソースとが独立して扱われる場合、つまりネットワークリソースが十分であり、データがネットワークを介して流れることができるが、コンピュートリソースがデータを処理するのに十分ではない場合、またはコンピュートリソースは豊富であるがネットワークデータが移動するのにネットワークリソースが十分ではない場合、どちらの場合もアプリケーションは影響を受け、そのファンクションを提供できなくなる。アプリケーションのコンピュートリソース要件及びネットワークリソース要件は、アプリケーションのプロファイリング等によって静的に特定され、実行を開始する前であってもアプリケーションで許可される必要がある。
【0029】
コンピュートリソース及びネットワークリソースの静的な割り当てに加えて、実行時にアプリケーションの動作を継続的に監視し、静的に割り当てられたリソースがアプリケーションのファンクションを提供するのに十分であるか否かを判断する必要もある。動作条件の変化等によりそれらが十分でない場合は、アプリケーションが新しい動作条件に対応してスムーズに動作を継続するために十分なコンピュートリソースとネットワークリソースを動的に受信できるように、リソースの静的な割り当てを再調整する必要がある。このリソースの動的な調整は、アプリケーションにとって重要であり、コンピュートリソースとネットワークリソースの両方を考慮する必要がある。
【0030】
したがって、一元化されたビューを有し、アプリケーションのコンピュートリソース要件及びネットワークリソース要件を同時に管理するには、最上級の抽象化が必要である。最上級の抽象化はアプリスライスと呼ばれ、アプリケーションのコンピュートリソース要件及びネットワークリソースの要件を考慮する。例示的な実施形態は、コンピュートスライスにおけるコンピュート要件及びネットワークスライスにおけるネットワーク要件を考慮して組み合わされた、理路整然としたアプリスライスの仕様及びランタイムを可能にする。
【0031】
アプリケーションは、モノリシックまたはマイクロサービスベースのアーキテクチャを用いて開発できる。モノリシックアーキテクチャでは、アプリケーション全体が単一のエンティティとして開発されて配置されるが、マイクロサービスベースのアーキテクチャでは、アプリケーションはより小さなエンティティ、つまりタスクまたはマイクロサービスに分割され、独立して開発されて配置され、その後、アプリケーション全体の機能性を提供するために相互に接続される。アプリスライスの仕様は、これら両方のタイプのアーキテクチャがカバーされるように設計されている。
【0032】
図1は、最上級のアプリケーションのスライス仕様105を含むアプリスライス仕様100を示し、アプリケーションがより小さなファンクション(ファンクションとしてのマイクロサービス)に分割される場合、各ファンクションに関するコンピュート及びネットワークスライス仕様が含まれる(ファンクションのスライス仕様110)。モノリシックアーキテクチャの場合は単一のファンクションしか無いが、マイクロサービスアーキテクチャの場合は多数のファンクションが存在する可能性がある。
【0033】
アプリケーションのスライス仕様105に関して、アプリスライス仕様105のこの部分を用いて、所望のエンドツーエンドのアプリケーション特性を指定できる。
【0034】
仕様105には4つのパラメータがある。
【0035】
レイテンシパラメータに関して、各アプリケーション101は、特定のエンドツーエンドレイテンシ要件を有する。つまり、出力は特定の時間内に返されるべきである。この場合の「レイテンシ」には、処理時間だけでなく、ネットワークで費やされる時間も含まれる。これは、データが生成され、ネットワークを経由して処理のために送信され、実際の処理(コンピュート)が発生し、一つの作業単位で出力が(再びネットワークを経由して)返されるまでの合計時間によって、エンドツーエンドのアプリケーションのレイテンシが決まる。この望ましい「レイテンシ」は、ミリ秒単位で指定され、アプリケーションの最大許容エンドツーエンドのレイテンシである。レイテンシが指定された値よりも高い場合、アプリケーションの出力のための役には立たない。
【0036】
帯域幅パラメータに関して、アプリケーション101のネットワーク特性に基づいて、それはある一定の量の帯域幅が必要になる場合がある。アプリケーション101で必要な帯域幅はこのパラメータで指定され、単位はキロビット/秒(kbps)である。
【0037】
装置カウント(deviceCount)パラメータに関して、アプリケーション101の接続密度は、このパラメータを用いて指定される。接続密度には、アプリケーション101が接続するほかの装置の総数が含まれる。
【0038】
信頼度パラメータに関して、アプリケーションリソース要件に関する信頼度は、このパラメータを用いて指定される。値は0から1の間であり、0は信頼度が低く、1は完全に信頼できる。
【0039】
これらのアプリケーションレベルのスライス仕様は、「eMBB」、「uRLLC」または「mMTC」等の5Gにおける様々なタイプのスライシングに変換される。「eMBB」(enhanced Mobile Broadband)スライスタイプは、高い通信帯域幅を必要とするアプリケーション向けである。「uRLLC」(ultra Reliable Low Latency Communications)スライスタイプは、低レイテンシ及び高信頼度が要求されるアプリケーション向けである。「mMTC」(Massive Machine Type Communications)スライスタイプは、接続密度の高いアプリケーション向けである。
【0040】
ファンクションのネットワークスライス仕様110に関して、各ファンクション111は、それが生成する出力の品質を低下させることなく適切に動作し続けるために、特定のネットワーク特性を必要とする。特に、これはファンクション111で受信するデータに適用される。入力データをファンクションのニーズに従って受信している場合、処理は必要に応じて実行され、出力が適切に生成される。入力側のファンクション111で必要なこれらのネットワーク特性は、ファンクションのネットワークスライス仕様112の一部として指定される。
【0041】
ファンクションのネットワークスライス仕様112の一部を形成する合計で4つのネットワークパラメータがある。
【0042】
レイテンシパラメータに関して、このパラメータは、最大許容レイテンシをミリ秒単位で指定する。これは、ファンクションがパケットの受信に対して期待している時間であり、受信に失敗すると、ファンクションによって生成される出力の正しさが保証されない。実際のレイテンシがこの所望のレイテンシよりも低い場合は問題無いが、それを超えることはできない。実際、レイテンシが所望の値よりも低いほど、ファンクション111にとって良好である。
【0043】
スループットGBR(throughputGBR)パラメータに関して、ファンクションは入力データストリームが特定のレートで到着することを要求し、これは所望のスループット(kbpsで指定される)であり、ファンクションが適切に実行するために保証される必要がある(GBRは保証ビットレート(Guaranteed Bit Rate)の略)。この所望のスループットは、ファンクションが受信する連続データストリームがあり、受信入力ストリームに追いつき、正しい出力を生成するために特定の速度で処理する必要がある、ストリーミング入力データの場合に特に有益である。
【0044】
スループットMBR(throughputMBR)パラメータに関して、このパラメータは、ファンクションが消費できる最大スループット(MBRは最大ビットレートを表す)を指定する。これより高いものはファンクションで使用されない。
【0045】
パケットエラーレート(packetErrorRate)パラメータに関して、ネットワーク特性の1つの重要な側面は、ネットワークがいかに確実にパケットを転送できるかである。「パケットエラーレート」パラメータは、受信したパケットの総数と誤って受信したパケットの数との比率である。一部のファンクション111は、特定のレートでのパケットエラーを許容できるが、他のファンクションは別のレートでのパケットエラーを許容できる。ファンクションが許容できるこのレートは、このパラメータを用いて指定される。
【0046】
ファンクションのコンピュートスライス仕様114に関して、ネットワーク特性と共に、ファンクション111は、ファンクションが良好に実行されるために満たされる必要がある、特定のコンピュート特性も有する必要がある。計算に利用できるリソースが十分でない場合、ネットワーク特性が満たされていても、ファンクションは適切に実行されない。したがって、全体的にスムーズな動作を実現するには、ファンクション111のネットワーク要件とコンピュート要件の両方を考慮する必要がある。スライス仕様のこの部分は、ファンクション111によって必要とされるコンピュートスライス用である。
【0047】
ファンクションのコンピュートスライス仕様の一部を形成する合計5つのコンピュートパラメータがある。
【0048】
最小CPUコア(minCPUCores)パラメータに関して、CPUリソースは完全なCPUユニットに関して指定される。1は、クラウド上の1つのvCPU/コア、またはベアメタルインテル(登録商標)プロセッサ上の1つのハイパースレッドのいずれかを表す。1CPUユニットは、1000「millicpu」に分割され、指定できる最も細かい粒度は「1m」(1millicpu)である。「最小CPUコア」パラメータは、ファンクション111で必要な最小のCPUコアを指定する。ネットワークの保証ビットレートである「スループットGBR」と同様のファンクションとして保証される。「最小CPUコア」は、0~1の間の小数として、またはmillicpuまたはmillicoreの数として指定できる。100mを指定することは、このパラメータに0.1を指定することと同じである。
【0049】
最大CPUコア(maxCPUCores)パラメータに関して、このパラメータは、ファンクション111で使用できるCPUコアの最大数を指定する。これを超えるCPUリソースは、ファンクション111で使用できない。これは、ファンクション111が消費できる最大ビットレートである「スループットMBR」と似ている。「最大CPUコア」の指定単位は「最小CPUコア」と同じである。すなわち、0~1の間の少数として指定することが可能であり、ミリパス単位で指定することもできる。0.5を指定することは500mを指定することと同じである。
【0050】
最小メモリ(minMemory)パラメータに関して、メモリリソースは、バイト(単純な数値)として、またはこれらの添え字E、P、T、G、M、Kの1つを有する固定小数点数として、あるいは2のべき乗と等価なEi、Pi、Ti、Gi、Mi、Kiとして指定される。パラメータ「最小メモリ」は、ファンクション111が必要とするメモリの最小量を指定する。利用可能なメモリがこれより少ない場合、ファンクション111は適切に実行されず、クラッシュする可能性もある。したがって、このシナリオを回避するために、ファンクション111は、適切に動作するために必要なメモリの最小量をこのパラメータで指定できる。500Mを指定することは、500000000(バイト)または476.8MiB(メビバイト)を指定することとほぼ同じである。
【0051】
最大メモリ(maxMemory)パラメータに関して、ファンクションで使用できるメモリの最大量は、このパラメータによって指定される。単位は「最小メモリ」と似ている。800M指定することは、800000000(バイト)または762.9(メビバイト)を指定することとほぼ同じである。
【0052】
層パラメータに関して、これは、ファンクションがコンピューティングファブリック内の特定の層で実行されなければならない場合に指定できるオプションのパラメータである。「装置」、「エッジ」または「クラウド」の3つの値のいずれかを指定できる。このデフォルト値は「自動」であり、ファンクション111がコンピューティングファブリック内のどこでも実行できることを示す。但し、そうでない場合は、このパラメータを用いてファンクション111を実行する必要がある層の正確な場所を指定できる。
【0053】
コンピュートスライス仕様114の層パラメータは、複数の層にわたってファンクション111を自動的にマッピングして実行する機能を提供することに留意されたい。この種の機能は、クバネティスのようなオーケストレーションフレームワークではそのままでは利用できないため、コンピューティングスタック内の層間でファンクションをマッピングして実行する場合には追加の考慮が必要である。
【0054】
アプリケーションの個々のファンクションをマイクロサービスに分割し、マイクロサービスを組み合わせてそれらを相互接続してアプリケーションのファンクション全体を実現することは、一般的なプログラミングパラダイムとなっている。個々のマイクロサービスはファンクション111と呼ばれ、アプリケーション101には相互に接続された幾つかのファンクション111を含めることができる。
【0055】
アプリケーション仕様100の様々なコンポーネント200が
図2に示されている。まず、アプリケーションIDと呼ばれるアプリケーションの識別子を指定する。このIDは、特定のアプリケーションにマップし、アプリケーションの詳細を取得するためにランタイムシステムによって内部で使用される。次に、アプリケーションの名称を指定する。アプリケーションに関連するその他のメタデータは次に指定する。このメタデータには、アプリケーションのバージョン番号、アプリケーションに関連する記載、アプリケーションに関する詳細が見つかるURL、アプリケーションが実行されるオペレーティングシステム及びアーキテクチャ、アプリケーションの維持管理者等が含まれる。具現化中に、個々のファンクションのインスタンスを含むアプリケーションのインスタンスが作成される。これらのファンクションの依存関係、ファンクションのインスタンス及びインスタンスの接続を次に指定される。
【0056】
ファンクションの依存関係仕様には、アプリケーションを構成する様々なファンクション202が含まれる。ファンクション毎に、ファンクションの識別子であるファンクションIDとファンクションのバージョン番号とが指定される。ファンクションのインスタンス仕様には、アプリケーションの一部として生成する必要がある様々なファンクションのインスタンス204が含まれる。インスタンス毎に、インスタンス名、インスタンスに対応するファンクションID及びインスタンスの生成タイプを指定する必要がある。インスタンスのスポーン(spawn)タイプは、新規、再利用、動的、ユニークノードワイド(uniqueNodewide)、ユニークサイトワイド(uniqueSitewide)等の5つのスポーンタイプのいずれかになる。
【0057】
これらのスポーンタイプのそれぞれについて以下で説明する。
【0058】
「新規」スポーンタイプに関して、このスポーンタイプが指定されている場合、ランタイムシステムは常にファンクションの新しいインスタンスを作成する。
【0059】
「再利用」スポーンタイプに関して、ランタイムシステムは、同じ構成で既に実行されたファンクションの他のインスタンスがあるか否かを最初にチェックする。その場合、ランタイムシステムはアプリケーションの実行中にそのインスタンスを再利用する。構成に一致するインスタンスが見つからない場合は、ランタイムシステムによって新しいインスタンスが作成される。
【0060】
「動的」スポーンタイプに関して、ランタイムシステムは、アプリケーションの開始時にこのインスタンスを作成せず、むしろアプリケーションの実行が既に開始された後に、このインスタンスが動的に作成される。
【0061】
「ユニークノードワイド」スポーンタイプに関して、ランタイムシステムは、同じ構成を有する指定されたノード/マシンで既に実行されているファンクションの他のインスタンスがあるか否かを最初にチェックする。インスタンスの構成と一致する、指定されたノード/マシンで既に実行されている他のインスタンスがない場合、ランタイムシステムは新しいインスタンスを生成する。インスタンスの構成と一致するノード/マシンで既に実行されているインスタンスがある場合、ランタイムシステムはアプリケーションの実行中にそのインスタンスを使用する。このスポーンタイプのインスタンスの場合、ファンクションのインスタンスが1つだけ作成され、特定のノードで実行される。
【0062】
「ユニークサイトワイド」生成タイプに関して、ランタイムシステムは、最初に、既に実行されているファンクションの別のインスタンスがあるか否かをチェックする。ある場合、ランタイムシステムはアプリケーションの実行中にそのインスタンスを使用する。既に実行中のインスタンスがない場合、新しいインスタンスが生成されて開始される。このスポーンタイプのインスタンスの場合、ファンクションのインスタンスが1つだけ生成され、サイト全体の配置にわたって実行される。インスタンスの接続仕様には、様々なファンクションのインスタンス間の接続が含まれる。接続毎に、送信元のインスタンス、宛先のインスタンス及びバインディング情報、つまり送信元または宛先のインスタンスの結合が指定されているか否かが指定される。送信元のインスタンスと宛先のインスタンス毎に、インスタンス名と接続のエンドポイント名が指定される。
【0063】
アプリ仕様及びアプリスライス仕様が記述された後、実際の具現化及び実行は、アプリスライスランタイムによって処理される。
図3に示すランタイム300は、基盤となるコンピュート及びネットワークインフラに位置し、アプリケーション自体と統合されている。ランタイムに対する入力は、アプリケーション仕様及びアプリケーションのスライス仕様302、並びにアプリケーションのインスタンス及び関連するスライスで使用されるアプリケーションのスライス構成304である。これらを入力として使用し、基盤となるインフラの情報を有するランタイムシステム300は、提供された構成によるアプリケーションのインスタンスの作成または生成、要求された構成による適切なスライスの作成または生成を管理し、要求されたコンピュート及びネットワークリソースを個々のファンクションのインスタンスに割り当て、適切なスライスを用いて適切な層でインスタンスのスケジュールを決定し、個々のファンクションとアプリケーション全体が全体的にスムーズに動作するのを監視し保証する。ランタイムには、リソースマネージャ310、アプリスライスコントローラ312及びアプリスライスモニタ314の3つのコンポーネントがある。
【0064】
リソースマネージャ(RM)310は、スライスコントローラ312及びスライスモニタ314と連携して実際の具現化及び実行を管理するランタイムシステム300の中心である。アプリケーション及びスライス仕様はRM310によって受信され、アプリケーションのインスタンスを開始、停止または更新する全ての要求もRM310によって受信される。RM310は、全てのアプリケーション及びスライス仕様、様々なインスタンスの構成、それらのステータス、基盤となるコンピュート及びネットワークインフラの詳細等が格納されるデータベース305を維持する。
【0065】
図4は、任意の入力のRM310に関する手順を示すフローチャート400を示している。入力402が到着すると、RM310は、まずその入力がアプリケーションまたはスライス仕様または構成に関するものか否かをチェックする(404)。それが仕様である場合、その特定の仕様はデータベースに格納される(406)。入力に対してそれ以上のアクションはなく、手順を終了する。入力が構成に関するものであれば、対応するアクションが取得される(408)。
【0066】
アプリケーションを開始または更新する場合、RM310は、構成(410)で要求された必要なコンピュートリソース及びネットワークリソースが基盤となるインフラで利用可能か否かをチェックする。それらが利用可能な場合、対応するリソースが様々なファンクションのインスタンスに割り当てられ、インスタンスのスケジュールを決定して実行される(412)。アプリケーションのインスタンスを実行するため、RM310は、データベースからアプリケーション仕様を取得し、スポーンタイプに基づいて全てのファンクションのインスタンスを作成または生成し、様々なインスタンス間で指定された全ての接続を作成し、最後にこれらのインスタンスにリソースを割り当て、それらが基盤となるインフラで実行されるようにスケジュールが決定される。次に、これがデータベース内で更新されて(416)手順を終了する。アクションが停止または削除である場合、対応するファンクションのインスタンスが停止または削除され(414)、それらのステータスがデータベース内で更新されて手順を終了する。
【表1】
【0067】
リソースの可用性をチェックする際、RM310は、まずアプリケーションレベルのスライス仕様をチェックし、次に個々のファンクション毎に、RM310は上記のアルゴリズム1に示されたアルゴリズムに従う。アプリケーションを形成する各ファンクションは、いずれかの層のリソースが利用可能であるか否かが1つずつチェックされる。これらの層は、安価な層が最初にチェックされ、続けて高価な層が順にチェックされるように並べ替えられる。したがって、ファンクション毎に要求されたコンピュートリソース(c_rで示される)とネットワークリソース(n_rで示される)が、層内の対応するコンピュートリソース(tc_rで示される)とネットワークリソース(tn_rで示される)でチェックされる。コンピュートスライス仕様で示された全てのパラメータ(最小CPUコア、最大CPUコア、最小メモリ、最大メモリ及び層)はコンピュートリソース要件と共に考慮され、ネットワークスライス仕様で示された全てのパラメータ(レイテンシ、スループットGBR、スループットMBR及びパケットエラーレート)はネットワークリソース要件と共に考慮される。要求されたリソースが使用可能なリソースよりも少ない場合、その層のリソース(コンピュート及びネットワーク)がファンクションに割り当てられる。層が明示的に指定され、自動ではないファンクションの場合、その特定の層のみのリソースの可用性がチェックされ、その他の全ての層は無視される。これが全ての層の各ファンクションに対して繰り返され、ファンクションのリソース要求を満たす最も安価な層がそのファンクションに割り当てられる。アプリケーション及び全ての関連するファンクションに対するリソース要求を満たすことができない場合、RM310は、それを報告し、アプリケーション及び関連するファンクションに適切なアクションを実行させ、それに応じてDBを更新する。
【表2】
【0068】
様々なファンクションが実行されると、RM310は、これらのファンクションの条件を定期的に監視し、必要に応じてリソースを調整する。これを行うために、RM310は、上記のアルゴリズム2に従って設定可能な秒間隔毎に実行中の全てのファンクションをチェックする。具体的には、ファンクションのリソース要件が満たされているか否かが割り当てられた層のコンピュートリソース及びネットワークリソースによってチェックされる。何らかの理由、例えば、動作条件/入力コンテンツの変更、ネットワークの中断またはハードウェアの障害により、ネットワークまたはコンピュートリソースが不十分であることが判明すると、RM310は追加のリソースを見出そうと試みる。
【0069】
ここでも、以前と同様に、より高価な層の前に、より安価な層がチェックされ、ファンクションのリソース要求を満たすことができる最も安価な層がそのファンクションに割り当てられ、該ファンクションがこの新しく見つかった層のリソースで実行されるようにスケジュールが決定される。どの層にも利用可能なリソースがない場合、RM310はこれを特定のファンクションのエラーとして報告し、適切なアクションの実行はそのファンクションに任せる。RM310は、追加のリソースが必要か否かをチェックするだけでなく、以前に変更された条件によって割り当てられているリソースが多すぎるか否かもチェックし、条件が再び変更されて現在必要なリソースが減っている場合はリソースを削減する。このような場合、RM310は、全体的なコンピュート及びネットワークリソースの使用量を削減する。したがって、RM310は、ファンクションのコンピュートリソース及びネットワークリソースを動的に監視及び調整し、スムーズな動作を確保する。その結果、RM310は、アプリケーションスライスコントローラ312及びアプリケーションスライスモニタ314と連携して、最初は静的リソース管理を実行し、その後、層全体で動的にリソース管理を実行する。
【0070】
どの時点でも、オリジナルの仕様で指定されたコンピュート及びネットワークリソース要件が常にファンクションに提供されることに注意されたい。必要に応じて追加のリソースのみが付与され、動的に縮小される。RM310は、アプリケーションスライスコントローラ312と通信してコンピュートスライス及びネットワークスライスを設定し、クバネティス等の基盤となるオーケストレーションプラットフォームでファンクションを実行する。
【0071】
図5に示されるアプリスライスコントローラ(ASC)312に関して、ASC312は、RM310からの指示に従ってファンクションのコンピュート及びネットワークスライシングを含むスライシングを管理する。RM310がネットワークスライスを作成するようにASC312に信号を送ると、ASC312はネットワークスライスインタフェース502と通信し、基盤となるネットワークインフラ512でネットワークスライスを作成する。セローナ(Celona)のような既存のネットワークベンダーは、ネットワークスライスの作成を許可するアドミッション制御を提供していないため、例示的な方法では、セローナAPI上で動作し、ネットワークスライスの作成を許可する前に保証とアドミッション制御を提供するカスタム層を構築した。実際の使用量が要求された使用量よりも少ない場合、これによりネットワークが十分に活用されなくなる可能性があるが、例示的な方法ではネットワークを保証するためにこれが必要である。例示的な方法は、このカスタム層をASC312のネットワークスライスインタフェースとして公開する。したがって、この顧客のネットワークスライスインタフェース層を通過することで、ASC312は、レイテンシ、スループットGBR、スループットMBR及びパケットエラーレートを含むファンクションの要件を満たすネットワークスライスを作成する。これらのネットワーク要件に基づいて、適切なQCIレベルと優先度が選択され、ファンクションのネットワーク要件を満たすネットワークスライスが作成される。
【0072】
ASC312がコンピュートスライスを作成するための信号を受信すると、コンピュートスライスインタフェース504を介して、基盤となるオーケストレーションプラットフォームのファンクションが使用され、ファンクションのコンピュート要件を基盤となるコンピュートインフラ514に関連付ける。特に、最小CPUコア、最大CPUコア、最小メモリ及び最大メモリは、要求されたリソースを許可する前にアドミッション制御を提供する、クバネティス等のオーケストレーションプラットフォームで実行される対応するファンクションコンテナのコンピュートの「リクエスト」と「制限」を設定するために使用される。これらのコンピュートスライスとネットワークスライスの作成に加えて、ASC312はこれらのスライスの更新と削除も管理する。ネットワークスライスの更新または削除要求の場合、ASC312は、基盤となるネットワークスライスインタフェースと通信して特定のネットワークスライスを更新または削除する。要求が計算スライスを更新または削除することである場合、ASC312は、オーケストレーションプラットフォームの計算スライスインタフェースと通信して特定のコンピュートスライスを更新または削除する。
【0073】
アプリスライスモニタ(ASM)に関して、ASM314は、ASC312によって作成されたコンピュートスライス及びネットワークスライスの様々なメトリックを監視及び収集を維持する。これらのメトリックは、RM310が定期的に、特定の構成可能な間隔で、またオンデマンドで利用できるようになり、RM310がリソースの割り当てとスケジュールを決定するために使用される。ネットワークスライスメトリックを取得するために、ASM314は、ネットワークスライスインタフェースと通信し、システム内で実行されている個々のネットワークスライスのメトリックデータを収集する。コンピュートスライスメトリックを取得するために、ASM314は、オーケストレーションプラットフォームのコンピュートスライスインタフェースと通信し、システム内で実行されている個々のコンピュートスライスのメトリクスデータを収集する。このネットワーク及びコンピュートスライスデータには、要求されたリソース、現在使用されているリソース、全体的な使用状況の履歴及び異常な使用動作が含まれる。このようなデータは、RM310が、必要に応じて、既に実行中のファンクションに対して動的にリソースを割り当て、スケジュールを決定するのに役に立つ。
【0074】
結論として、本発明の例示的な実施形態は、アプリケーションのコンピュート要件とネットワーク要件の両方を考慮する、アプリスライスと呼ばれる統合されたアプリケーション中心の仕様を提示する。このアプリスライス仕様を実現するために、例示的な方法は、アプリケーションが必要なコンピュートリソース及びネットワークリソースを常に受け取ることを確実にする、今までにないアプリスライスランタイムを提案する。例示的な発明は、アプリスライス仕様及びランタイムと共に、多層的で複雑で動的な5Gインフラにおける新たな5Gアプリケーションの活用を支援する。
【0075】
本発明の例示的な実施形態は、さらに以下を提供する。
【0076】
複雑で動的な多層的な5Gインフラ内の5Gスライスにおける複数のマイクロサービス/ファンクションを含むアプリケーションを指定して実行するシステム及び方法。
【0077】
ネットワークスライス要件及びコンピュートスライス要件を考慮する、アプリケーションレベル要件及び個々のファンクションのレベル要件を指定するシステム及び方法。
【0078】
コンピュート及びネットワークスライス要件と共に5Gスライスでの実行に利用される、様々なファンクション、それらがどのように実行される必要があるか、それらの相互接続が何であるかを含むアプリケーション構造を指定するためのシステム及び方法。
【0079】
ランタイムコンポーネントを用いて複雑で動的な5Gインフラ内で仕様を実際に具現化及び実行するためのシステム及び方法であって、アプリケーション構造、アプリケーションレベル及びファンクションのレベルの要件、並びにアプリケーション構成がランタイムシステムに対する入力として提供されるシステム及び方法。
【0080】
データベースを維持し、アプリケーションのインスタンスの開始、停止、更新及び削除を管理するリソースマネージャを用いて様々な入力を処理するシステム及び方法。
【0081】
多層的なコンピューティング及びネットワーキングファブリック内の様々な層にわたって、ネットワークスライス要件及びコンピュートスライス要件を含む、アプリケーションレベル要件及びファンクションのレベル要件をチェックし、利用可能な場合は、仕様に記載されている要件が満たされることを確保しつつ、最も安価な層から最も高価な層まで段階的にリソースを割り当てるシステム及び方法。
【0082】
基盤となるコンピュート及びネットワークインフラによって要件を満たすことができない場合にアプリケーションに報告を返送することで、アプリケーションが適切なアクションを実行できるようになるシステム及び方法。
【0083】
アプリケーションを定期的に監視し、何らかの理由(動作条件/入力コンテンツの変化、ネットワークの中断、ハードウェア障害等)で不足していることが判明した場合に備えて、コンピュート及びネットワークリソースの割り当てを動的に調整し、アプリケーション全体のスムーズなエンドツーエンドの動作を確保するシステム及び方法。
【0084】
コンピュート及びネットワークリソースの動的な調整中に、(要件が満たされることを保証しつつ)高価な層の前に安価な層を割り当てるシステム及び方法。
【0085】
5Gインフラ内のネットワーク及びコンピュートスライスを管理するために、コンピュート及びネットワーキングインフラストラクチャとインタフェースで接続する、統合層(アプリスライスコントローラ)を公開するシステム及び方法。
【0086】
統合層をリソースマネージャに公開し、コンピュート及びネットワークスライス要求の処理を簡素化するシステム及び方法。
【0087】
ネットワークを監視し、スライスをコンピュートし、動的なリソース割り当て及びスケジュールの決定を行うためにリソースマネージャが利用できる様々なメトリクス(要求されたリソース、現在使用されているリソース、全体的な使用量の履歴及び異常な使用動作等)を作成するシステム及び方法。
【0088】
図6は、本発明の実施形態による、多層的な5Gインフラ内の5Gスライスにおける複数のマイクロサービスを含む、アプリケーションを指定して実行する実際のアプリケーションのブロック/フロー
図800である。
【0089】
1つの実際的な例において、リアルタイムモニタリングまたはウォッチリストと呼ばれる顔認識ベースのビデオ分析アプリケーションが、そのアプリスライス及びアプリケーション仕様を含めて示されている。リアルタイムモニタリングアプリケーションは、政府や組織による顔照合機能を活用した安全性、セキュリティ、業務効率を向上させることができる。このアプリケーションは、照明、角度、顔の毛、姿勢、眼鏡やその他の遮蔽物、動き、群衆、表情等の現実の問題のもとで、既知の個人と未知の個人を迅速かつ高い信頼度で識別できる。このアプリケーションの様々なコンポーネント/機能をパイプラインと共に
図6に示す。
【0090】
1つの実際的なアプリケーションにおいて、カメラ802からのビデオフィードが「ビデオセンサ」804によってデコードされ、フレームが「顔検出」コンポーネント806で利用可能となり、顔検出コンポーネント806は顔808を検出し、それらを「特徴抽出」コンポーネント810で利用できるようにする。続いて、特徴等の固有の顔テンプレートが抽出され、「顔照合」コンポーネント812で利用可能になり、「顔照合」コンポーネント812は、これらの特徴を、「生体認証マネージャ」コンポーネント816で取得された顔特徴814のギャラリーと比較及び照合する。全ての照合結果は「アラートマネージャ」コンポーネント818に送信されて保存820され、任意の第三者のアプリケーションでも利用可能になる。
【0091】
図7は、本発明の実施形態による、多層的な5Gインフラ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するための例示的な処理システムである。
【0092】
処理システムは、システムバス902を介して他のコンポーネントに動作可能に接続された少なくとも1つのプロセッサ(CPU)904を含む。システムバス902には、GPU905、キャッシュ906、読み取り専用メモリ(ROM)908、ランダムアクセスメモリ(RAM)910、入出力(I/O)アダプタ920、ネットワークアダプタ930、ユーザインタフェースアダプタ940及び/またはディスプレイアダプタ950もまた動作可能に接続されている。さらに、アプリスライス950は、アプリケーションスライス仕様952及びファンクションのスライス仕様954を含む。
【0093】
記憶装置922は、I/Oアダプタ920によってシステムバス902に動作可能に接続されている。記憶装置922は、ディスク記憶装置(例えば、磁気ディスク記憶装置または光ディスク記憶装置)、固体磁気装置等のいずれであってもよい。
【0094】
トランシーバ932は、ネットワークアダプタ930によってシステムバス902に動作可能に接続されている。
【0095】
ユーザ入力装置942は、ユーザインタフェースアダプタ940によってシステムバス902に動作可能に接続されている。ユーザ入力装置942は、キーボード、マウス、キーパッド、画像キャプチャ装置、モーション感知装置、マイクロフォン、あるいはこれらの装置のうちの少なくとも2つの装置の機能を組み込んだ装置等のいずれであってもよい。もちろん、本発明の原理の主旨を維持しながら、他のタイプの入力装置を使用することもできる。もちろん、本発明の精神を維持しながら、他のタイプの入力装置も使用することができる。ユーザ入力装置942は、同じタイプのユーザ入力装置であってもよく、異なるタイプのユーザ入力装置であってもよい。ユーザ入力装置942は、処理システムに情報を入力し、処理システムから情報を出力するために使用される。
【0096】
ディスプレイ装置952は、ディスプレイアダプタ950によってシステムバス902に動作可能に接続されている。
【0097】
もちろん、処理システムは、当業者であれば容易に思いつくような他の要素(図示せず)を含んでもよく、特定の要素を省略することも可能である。例えば、当業者であれば容易に理解できるが、処理システムには、その詳細な実施に応じて他の様々なタイプの入力装置及び/または出力装置を含むことができる。例えば、無線及び/または有線による様々な入力装置及び/または出力装置を使用できる。さらに、当業者であれば容易に理解できるが、様々な構成の追加プロセッサ、コントローラ、メモリ等を使用することも可能である。処理システムの上記及び他の変形例は、本明細書で提供される本原理の教示によって当業者であれば容易に考えられるであろう。
【0098】
図8は、本発明の実施形態による、多層的な5Gインフラ内の5Gスライスの複数のマイクロサービスを含む、アプリケーションを指定して実行するための例示的な方法のブロック/フロー図である。
【0099】
アプリケーションのコンピュート要件とネットワーク要件は、以下によって同時に管理される。
【0100】
ブロック1001において、アプリケーションIDコンポーネント、アプリケーション名コンポーネント、アプリケーションのメタデータコンポーネント、ファンクションの依存関係コンポーネント、ファンクションのインスタンスコンポーネント及びインスタンス接続コンポーネントを含むアプリケーションのスライス仕様を使用することで、エンドツーエンドのアプリケーション特性を決定する。
【0101】
ブロック1003において、ファンクションのネットワークスライス仕様及びファンクションのコンピュートスライス仕様を含むファンクションのスライス仕様を指定する。
【0102】
ブロック1005において、リソースマネージャ、アプリケーションスライスコントローラ及びアプリケーションスライスモニタを含むランタイムコンポーネントを使用し、リソースマネージャにより、データベースを維持し、アプリケーションのインスタンスの開始、停止、更新及び削除を管理する。
【0103】
本明細書で用いる「データ」、「コンテンツ」、「情報」及び同様の用語は、様々な例示的な実施形態によって取得され、送信され、受信され、表示され、及び/または保存可能なデータを示すために、交換可能に使用できる。したがって、これらの用語の使用は、開示の主旨及び範囲を制限するものと解釈されるべきではない。さらに、本明細書に別の計算デバイスからデータを受信するための計算デバイスが記載されている場合、データは、別の計算デバイスから直接受信してもよく、1つまたは複数の中間計算デバイス、例えば1つまたは複数のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局等を介して間接的に受信してもよい。同様に、本明細書にデータを別の計算デバイスに送信するための計算デバイスが記載されている場合、データは、別の計算データに直接送信してもよく、例えば、1つまたは複数のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局及び/または同様のもの等の1つまたは複数の中間計算デバイスを介して間接的に送信してもよい。
【0104】
当業者であれば理解するように、本発明の態様は、システム、方法またはコンピュータプログラムプロダクトとして実現してもよい。したがって、本発明の態様は、全体としてハードウェアの実施形態であってもよく、全体としてソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)であってもよく、本明細書において、一般に「回路」、「モジュール」、「計算機」、「装置」または「システム」と呼ぶことができる、ソフトウェアとハードウェアの態様を組み合わせた実施の形態を採用してもよい。さらに、本発明の態様は、コンピュータで読み取り可能なプログラムコードを有する、1つまたは複数のコンピュータで読み取り可能な媒体で具現化された、コンピュータプログラムプロダクトの形態を採用してもよい。
【0105】
1つまたは複数のコンピュータで読み取り可能な媒体の任意の組合せを用いてもよい。コンピュータで読み取り可能な媒体は、コンピュータで読み取り可能な信号媒体またはコンピュータで読み取り可能な記録媒体であってもよい。コンピュータで読み取り可能な記録媒体は、例えば、電子、磁気、光学、電磁気、赤外線または半導体システム、装置またはデバイス、あるいは前述の任意の適切な組合せとすることができるが、これらに限定されない。コンピュータで読み取り可能な記録媒体のより具体的な例(以下に限定されない)は、1つまたは複数のワイヤ、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、携帯用コンパクトディスクリードオンリーメモリ(CD-ROM)、光データ記憶装置、磁気データ記憶装置または前述した任意の適切な組み合わせを含む。本文書のコンテキストにおいて、コンピュータで読み取り可能な記録媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用するためのプログラムを含む、またはそれを記憶できる、任意の有形媒体であってもよい。
【0106】
コンピュータで読み取り可能な信号媒体には、例えば、ベースバンドで、または搬送波の一部として、コンピュータで読み取り可能なプログラムコードが具現化された伝搬データ信号を含むことができる。そのような伝播信号は、電磁、光学またはそれらの任意の適切な組み合わせを含むが、それらに限定されない、任意の様々な形態がある。コンピュータで読み取り可能な信号媒体は、コンピュータで読み取り可能な記録媒体ではなく、命令実行システム、装置または装置によって、またはそれに関連して使用するためにプログラムを通信、伝播、または移送できる、任意のコンピュータで読み取り可能な媒体であってもよい。
【0107】
コンピュータで読み取り可能な媒体で具現化されるプログラムコードは、無線、有線、光ファイバケーブル、RF等、あるいは前述した任意の適切な組合せを含むが、これらに限定されない、任意の適切な媒体を用いて送信される。
【0108】
本発明の態様に関する処理を実行するためのコンピュータプログラムコードは、Java、Smalltalk(登録商標)、C++等のオブジェクト指向プログラミング言語及び「C」プログラミング言語または類似のプログラミング言語等の従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書くことができる。プログラムコードは、全体的にユーザのコンピュータで実行されてもよく、スタンドアロンソフトウェアパッケージとして部分的にユーザのコンピュータで実行されてもよく、部分的にユーザのコンピュータで実行され、かつ部分的にリモートコンピュータで実行されてもよく、全体的にリモートコンピュータまたはサーバで実行されてもよい。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータと接続されてもよく、(例えば、インターネットサービスプロバイダを利用したインターネットを介して)外部コンピュータと接続されてもよい。
【0109】
本発明の態様について、本発明の実施形態による方法、装置(システム)、並びにコンピュータプログラムプロダクトのフローチャート及び/またはブロック図を参照して以下で説明する。フローチャート及び/またはブロック図の各ブロック、並びにフローチャート及び/またはブロック図のブロックにおける組合せは、コンピュータプログラム命令によって実施できることを理解されたい。これらのコンピュータプログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを用いて実行される命令が、フローチャート及び/またはブロック図の1つまたは複数のブロックまたはモジュールに指定された機能/動作を実施するための手段を作り出すようなマシンを生成するために、汎用コンピュータ、専用コンピュータまたは他のプログラマブルデータ処理装置のプロセッサに提供される。
【0110】
これらのコンピュータプログラム命令は、コンピュータで読み取り可能な媒体に保存された命令が、フローチャート及び/またはブロック図の1つまたは複数のブロックまたはモジュールに指定された機能/動作を実施するための命令を含むプロダクトを生成するように、コンピュータ、他のプログラマブルデータ処理装置または他のデバイスに、特定の方法で機能するように指示できるコンピュータで読み取り可能な媒体に保存できる。
【0111】
コンピュータプログラム命令は、またコンピュータ、他のプログラマブルデータ処理装置または他のデバイスにロードされて、一連の動作ステップがコンピュータ、他のプログラマブル装置または他のデバイスで実行され、コンピュータまたは他のプログラマブル装置で実行される命令が、フローチャート及び/またはブロック図のブロックまたはモジュールに指定された機能/動作を実施するためのプロセスを提供するように、コンピュータで実施されるプロセスを生成できる。
【0112】
本明細書で使用する「プロセッサ」という用語は、例えばCPU(central processing unit)及び/または他の処理回路を含むもの等、任意の処理装置を含むことを意図している。また、「プロセッサ」という用語は1つまたは複数の処理装置を指すことが可能であり、処理装置に関連する様々な要素は、他の処理装置によって共有されることも理解されたい。
【0113】
本明細書で使用する「メモリ」という用語は、例えば、RAM、ROM、固定メモリデバイス(例えば、ハードドライブ)、リムーバブルメモリデバイス(例えば、ディスケット)、フラッシュメモリ等、プロセッサまたはCPUに関連するメモリを含むことを意図している。このようなメモリは、コンピュータで読み取り可能な記録媒体と考えることができる。
【0114】
さらに、本明細書で使用する「入力/出力装置」または「I/O装置」という用語は、例えば、処理ユニットにデータを入力するための1つまたは複数の入力装置(例えば、キーボード、マウス、スキャナ等)及び/または処理ユニットに関連する、結果を提示するための1つまたは複数の出力装置(例えば、スピーカ、ディスプレイ、プリンタ等)を含むことを意図する。
【0115】
上記は、あらゆる観点において説明的かつ典型的であって限定的でないものと理解されるべきであり、本明細書で開示する本発明の範囲は、詳細な説明から決定されるべきではなく、特許法で認められた最大限の広さに基づいて解釈される特許請求の範囲から決定されるべきである。本明細書中に図示及び記載されている実施形態は、本発明の原理を説明するものにすぎず、本発明の範囲及び主旨から逸脱することなく当業者は様々な変更を実施することができることを理解されたい。当業者は、本発明の範囲及び精神から逸脱することなく、様々な他の特徴の組み合わせを実施できる。以上、本発明の態様について、特許法で要求される細部及び詳細な事項と共に説明したが、特許証で保護されることを要求する特許請求の範囲は、添付の特許請求の範囲に示されている。
【国際調査報告】