(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-20
(54)【発明の名称】異種動的環境における複数のタスクの実行を可能にするシステム及び方法
(51)【国際特許分類】
G06F 9/50 20060101AFI20231013BHJP
【FI】
G06F9/50 150A
G06F9/50 150Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022558563
(86)(22)【出願日】2020-03-25
(85)【翻訳文提出日】2022-09-26
(86)【国際出願番号】 IB2020052835
(87)【国際公開番号】W WO2020194217
(87)【国際公開日】2020-10-01
(32)【優先日】2019-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】522379646
【氏名又は名称】ヒューマニタス ソリューションズ インコーポレイテッド
【氏名又は名称原語表記】HUMANITAS SOLUTIONS INC.
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100226263
【氏名又は名称】中田 未来生
(72)【発明者】
【氏名】アブド シャバー
(72)【発明者】
【氏名】ルカ ジー ジャノーリ
(57)【要約】
異種動的環境における複数のタスクの実行を可能にするための方法及びシステムが開示され、システムは、対応する処理リソースによって特徴付けられる複数の異種ホストマシンであって、各ホストマシンは、ホストマシンが少なくとも1つの他の異種ホストマシンと電気通信ネットワークの一部になることを可能にするための電気通信アプリケーションと、ホストマシンの対応する処理リソースを使用して、受け取った仮想化要素を実行するための仮想化エンジンと、対応するホストマシンの現在位置の少なくとも表示を提供するためのジオロケーションモジュールとを含む、異種ホストマシンと、複数の異種ホストマシンのうちの少なくとも1つを使用して、複数のタスクの実行を管理するための分散システムオーケストレータであって、分散システムオーケストレータは、電気通信アプリケーションと、複数の仮想化要素の各々の仮想化要素を、電気通信ネットワーク上に位置する選択されたホストマシンに割り当てるためのタスク割り当てモジュールとを含む、分散システムオーケストレータとを含む。
【特許請求の範囲】
【請求項1】
異種動的環境における複数のタスクの実行を可能にするためのシステムであって、該システムは、以下を含むことを特徴とするシステム。
複数の異機種混在ホストマシンであって、各異機種混在ホストマシンは、対応する処理リソースによって特徴付けられ、各異機種混在ホストマシンは、以下を備える。
前記異機種混在ホストマシーンを、少なくとも1つの他の異機種混在ホストマシーンと通信ネットワークの一部とするための通信アプリケーションであって、前記異機種混在ホストマシンの対応する処理リソースを用いて、受信した仮想化要素を 実行する仮想化エンジンと、を備え
対応する異機種混在のホストマシンの現在位置を少なくとも表示するジオロケーションモジュール。
複数の異機種混在ホストマシンの少なくとも1つを使用して複数のタスクの実行を管理する 分散システムオーケストレータであって、前記複数のタスクは、対応する複数の仮想化要素で構成されている、分散システムオーケストレータ。
前記分散システムオーケストレータが、前記複数の異機種ホストマシンのうちの少なくとも1つの異機種ホストマシンを含む通信ネットワークの一部となることを可能にするための通信アプリケーションである、通信アプリケーション。
複数の仮想化要素の各仮想化要素を、通信ネットワーク上に位置する選択された異種ホストマシンに割り当てるタスク割り当てモジュールであって、前記仮想化要素の割り当ては、与えられた多期間ワークロード配置問題に従って実行され、前記与えられた多期間ワークロード配置問題は、少なくとも、前記複数の異種ホストマシンの少なくとも一つの異種ホストマシンに存在する、各利用可能異種ホストマシンの現状についての指示及び対応するリソース利用可能性の指示と少なくとも一つの与えられた基準に従って、分散システム・オーケストレータによって決定されることを特徴とする、タスク割り当てモジュール。
【請求項2】
多期間ワークロード配置問題は、異種ホストマシンの通信ネットワークへの参加または離脱に関連する情報を用いて、分散システムオーケストレータによって決定されることを特徴とする請求項1に記載のシステム。
【請求項3】
前記通信ネットワークは、仮想アドホック移動通信ネットワークからなることを特徴とする請求項1乃至2のいずれか1項に記載のシステム。
【請求項4】
前記多期間作業負荷配置問題は、所定のイベントに 応答して修正される、請求項1から3のいずれか一項に記載のシステム。
【請求項5】
前記所定のイベントは、利用可能なリソースの変化からなる、請求項項4に記載のシステム。
【請求項6】
多期間ワークロード配置問題の修正は、仮想化要素を第1の与えられた異種混在ホストマシンから第2の与えられた異種混在ホストマシンに直接転送することを 含む、請求項4に記載のシステム。
【請求項7】
異種ホストマシーンが無線ホストマシーンであり、さらに、少なくとも1つの所定の基準が以下からなる群から選択される、請求項1~6のいずれか1項に記載のシステム。
ホストマシン使用料の最小化
マイグレーション回数の最小化。
消費電力を最小限に抑えることができます。
拒否されたワークロードを最小化する。
ホストマシンの物理的な動きを最小限に抑えることができる。
少なくとも1台のホストマシンのスループット。
少なくとも2組のホストマシン間のスペクトル共有動作;および
少なくとも2組のホストマシン間の干渉。
【請求項8】
分散システムオーケストレータの通信アプリケーションは、多期間ワークロード配置問題に従って専用の適切なルーティング経路を予約する、請求項1から7のいずれか一項に記載のシステム。
【請求項9】
与えられた多期間ワークロード配置問題は、少なくとも1つの通信ネットワークプロパティを使用してさらに決定される、請求項1から8のいずれか1項に記載のシステム。
【請求項10】
少なくとも1つの電気通信ネットワーク特性の問題は、以下の少なくとも1つを含む、 条項9に記載のシステム。
第1の所定の仮想化要素を所定の異機種ホストマシンに転送するためのレイテンシ。
第2の所定の仮想化要素を第1の所定の異機種混在ホストマシンから第2の所定の異機種混在ホストマシンに 移行するためのレイテンシ;及び
ネットワークトポロジーの1つである。
【請求項11】
ジオロケーションモジュールは、対応する異種ホストマシンの可能な将来の位置の 指示をさらに提供し、さらに、与えられた複数期間の作業負荷配置問題は、対応する異種ホストマシンの可能な将来の位置の指示を使用してさらに決定される、請求項項1から10のいずれか一項に記載のシステム。
【請求項12】
各異機種混在ホストマシーンは、対応する評判の表示を割り当てられており、さらに、与えられた複数期間のワークロード配置問題は、対応する評判の表示を使用してさらに決定される、請求項1から11のいずれか1項に記載のシステム。
【請求項13】
各異種ホストマシンは、利用可能なエネルギーの対応するレベルの指示を提供するためのエネルギーモジュールを備え;さらに、与えられた複数期間の作業負荷配置問題は、利用可能なエネルギーの対応するレベルの指示を使用してさらに決定される、請求項1から12のいずれか一項に記載のシステム。
【請求項14】
異種動的環境における複数のタスクの実行を可能にする方法であって、該方法は、以下を含むことを特徴とする方法。
複数の異機種混在ホストマシーンを提供し、各所与の異機種混在ホストマシーンは対応する処理リソースを有し、各所与の異機種混在ホストマシーンは、以下を備える。
所定の異機種混在ホストマシーンを、少なくとも1つの他の異機種混在ホストマシーンと電気通信ネットワークの一部にする ための電気通信アプリケーションであって
対応する処理リソースを用いて、受信した仮想化要素を実行する仮想化エンジンと
所定の異機種混在ホストマシンの現在位置を少なくとも示すためのジオロケーションモジュール。
複数の異機種混在ホストマシンの 少なくとも1つを使用して複数のタスクの実行を管理する分散システムオーケストレータに、前記分散システムオーケストレータが前記複数の異機種混在ホストマシンのうちの少なくとも1つの利用可能な異機種混在ホストマシンを含む電気通信ネットワークの一部となることを可能にし、前記複数の仮想化要素のそれぞれの仮想化要素を電気通信ネットワークに位置する選ばれた異機種混在ホストマシンに割り当てるタスク割り当てモジュールを備える対応する電気通信アプリケーションを備えることを特徴とする、電気通信ネットワークのためのタスク割り当てモジュール。
前記分散システムオーケストレータを 使用して、実行すべき複数のタスクを 受信し、各タスクは、対応する複数の仮想化要素を含む、請求項1に記載の方法。
分散システムオーケストレータを使用して、利用可能な各異機種混在ホストマシンの 現在の位置を取得するステップと
分散システムオーケストレータを使用して、利用可能な各異機種混在ホストマシンのリソースの可用性を取得すること。
分散システムオーケストレータを使用して、各利用可能な異機種混在ホストマシンの現在の位置の受信した表示と、各利用可能な異機種混在ホストマシンのリソース可用性の表示を使用して、 複数期間のワークロード配置問題を 決定するステップと
前記複数のタスクの各タスクに対して、前記決定された複数期間の作業負荷配置問題を用いて、前記複数の対応する仮想化要素の各対応する仮想化要素を対応するホストマシンに 割り当てる、ステップである。
【請求項15】
割り当てられた仮想化要素のそれぞれを、対応する異種ホストマシンを使用して実行することをさらに含む、請求項14に記載の方法。
【請求項16】
電気通信ネットワークは、仮想アドホック移動通信ネットワークを含む、条項14から15のいずれか1項に記載の方法。
【請求項17】
与えられたイベントに応答して、多期間作業負荷配置問題を修正することをさらに含む、請求項14から16のいずれか1項に記載の方法。
【請求項18】
与えられたイベントは、利用可能なリソースの変化を含む、請求項17に記載の方法。
【請求項19】
多期間ワークロード配置問題の修正は、所定の仮想化要素を第1の所定の異種ホストマシンから第2の所定の異種ホストマシンに 転送することを含む、請求項14から17までのいずれか1項に記載の方法。
【請求項20】
多期間ワークロード配置問題の決定は、通信ネットワークの少なくとも1つの特性を用いてさらに実行される、請求項項14から19のいずれか1項に記載の方法。
【請求項21】
複数の異種ホストマシンのそれぞれから、将来可能な場所の指示を受け取ることをさらに含み、多期間ワークロード配置問題の決定が、受け取った将来可能な場所の指示を用いてさらに実行される、請求項14から20までのいずれか1項に記載の方法。
【請求項22】
複数の異種ホストマシンのそれぞれについて、対応する評判の表示を割り当てることをさらに含み、多期間ワークロード配置問題の決定が、対応する評判の複数の表示を使用してさらに行われる、請求項14から21のいずれか一項に記載の方法。
【請求項23】
複数の異種ホストマシンのそれぞれにおいて利用可能なエネルギーの対応するレベルの指示を得ることをさらに含み、多期間ワークロード配置問題の決定が、利用可能なエネルギーの対応するレベルの得られた指示を用いてさらに行われる、請求項14から22までのいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理に関するものである。 より詳細には、本発明の1つ以上の実施形態は、異種動的環境における複数のタスクの実行を可能にするための方法及びシステムに関するものである。
【背景技術】
【0002】
複数の処理装置を用いてタスクを実行できることは、さまざまな理由から大きな利点がある。
しかし、多くの場合、複数の処理装置を使用することは困難である。
例えば、処理装置の種類は様々で、実行が煩雑になる可能性がある。
また、環境がダイナミックに変化する可能性があることも問題である。
特に、上記の欠点の少なくとも1つを克服する方法とシステムの少なくとも一方が必要である。
【0003】
本発明の特徴は、以下の開示、図面および説明の検討から明らかとなる。
【0004】
概要
広い側面によれば、異種動的環境における複数のタスクの実行を可能にするためのシステムが開示され、このシステムは、複数の異種ホストマシンを備え、各異種ホストマシンは、対応する処理資源によって特徴付けられ、各異種ホストマシンは、以下を備える。異機種ホストマシンを少なくとも1つの他の異機種ホストマシンとともに電気通信ネットワークの一部にするための電気通信アプリケーションと、異機種ホストマシンの対応する処理リソースを使用して受信した仮想化要素を実行するための仮想化エンジンと、が含まれます。対応する異種ホストマシンの現在位置を少なくとも示すジオロケーションモジュールと、前記複数の異種ホストマシンの少なくとも1つを使用して複数のタスクの実行を管理する分散システムオーケストレータであって、前記複数のタスクは、対応する複数の仮想化要素で構成されており、前記分散システムオーケストレータは、以下の構成を備える。分散システムオーケストレータが、複数の異種ホストマシンのうちの少なくとも1つの異種ホストマシンを含む電気通信ネットワークの一部となることを可能にするための電気通信アプリケーションと、複数の仮想化要素の各仮想化要素を電気通信ネットワーク上に位置する選択された異種ホストマシンに割り当てるためのタスク割り当てモジュールであって、仮想化要素の割り当てが、与えられた複数期間のワークロード配置問題に従って実行される、タスク割り当てモジュールと、を備え、前記複数の異種ホストマシンのうちの少なくとも1つの異種ホストマシンは、前記複数の仮想化要素のうちの少なくとも1つの異種要素から構成される。前記所定の多期間ワークロード配置問題は、少なくとも、利用可能な各異種ホストマシンの現在位置の表示と、前記複数の異種ホストマシンの少なくとも1つの異種ホストマシンにおける対応するリソース利用可能性の表示とを用いて、少なくとも1つの所定の基準に従って、前記分散システムオーケストレータによって決定されることを特徴とする、請求項1に記載の方法。
【0005】
一つ以上の実施形態によれば、多期間ワークロード配置問題は、分散システムオーケストレータによって、異種ホストマシンの通信ネットワークへの参加又は離脱に関連する情報を用いて決定される。
【0006】
1つ以上の実施形態によれば、電気通信ネットワークは、仮想アドホック移動通信ネットワークを構成する。
1 つ以上の実施形態によれば、多期間ワークロード配置問題は、所定のイベントに応答
して修正される。
1つ以上の実施形態によれば、所与の事象は、利用可能なリソースの変化からなる。
【0007】
1つ以上の実施形態によれば、多期間ワークロード配置問題の修正は、仮想化要素を第1の所定の異種ホストマシンから第2の所定の異種ホストマシンに直接転送することを含む。
【0008】
1つ以上の実施形態によれば、異種ホストマシーンは無線ホストマシーンであり、さらに、少なくとも1つの所定の基準は、ホストマシーン利用コストの最小化、マイグレーション回数の最小化、エネルギー消費の最小化、拒否ワークロードの最小化、ホストマシーン物理移動の最小化、少なくとも1つの所定のホストマシーンのスループット、ホストマシーンの少なくとも2組間のスペクトル共有動作、およびホストマシーンの少なくとも2組間の干渉からなる群から選択される。
【0009】
1つ以上の実施形態によれば、分散システムオーケストレータの電気通信アプリケーションは、多期間ワークロード配置問題に従って、専用の適切なルーティング経路を予約する。
【0010】
1つ以上の実施形態によれば、与えられた複数期間の作業負荷配置問題は、少なくとも1つの通信ネットワークプロパティを用いてさらに決定される。
【0011】
1つ以上の実施形態によれば、少なくとも1つの通信ネットワーク特性問題は、第1の所定の仮想化要素を所定の異種ホストマシンに転送するためのレイテンシ、第2の所定の仮想化要素を第1の所定の異種ホストマシンから第2の所定の異種ホストマシンに移行するためのレイテンシ、及びネットワークトポロジの うちの少なくとも1つを含む。
【0012】
1つ以上の実施形態によれば、ジオロケーションモジュールは、対応する異種ホストマシンの将来可能な位置の指示をさらに提供し、所定の複数期間の作業負荷配置問題は、対応する異種ホストマシンの将来可能な位置の指示を用いてさらに決定される。
【0013】
1 つ以上の実施形態によれば、各異機種混在ホストマシーンには、対応する評判の表示が割り当てられ、さらに、与えられた複数期間の作業負荷配置問題は、対応する評判の表示を使用してさらに決定される。
【0014】
1つ以上の実施形態によれば、各異種ホストマシンは、利用可能なエネルギーの対応するレベルの 表示を提供するためのエネルギーモジュールを備え、さらに、所定の複数期間の作業負荷配置問題は、利用可能なエネルギーの対応するレベルの表示を使用してさらに決定される。
【0015】
広い側面によれば、異種動的環境における複数のタスクの実行を可能にするための方法が開示され、この方法は、複数の異種ホストマシンを提供すること、各所定の異種ホストマシンは対応する処理リソースを有すること、各所定の異種ホストマシンは、少なくとも1つの他の異種ホストマシンとともに電気通信ネットワークの一部となることを可能にするための電気通信アプリケーションと、所定の異種ホストマシンを実行するための仮想化エンジンとを備える。各所与の異種ホストマシーンは、該所与の異種ホストマシーンが少なくとも1つの他の異種ホストマシーンと共に電気通信ネットワークの一部となることを可能にするための電気通信アプリケーションと、対応する処理リソースを使用して受信した仮想化要素を実行するための仮想化エンジンと、少なくとも該所与の異種ホストマシーンの現在の位置の表示を提供するためのジオロケーションモジュールとを備えること。複数の異機種ホストマシンの少なくとも1つを使用して複数のタスクの実行を管理する分散
システムオーケストレータに、分散システムオーケストレータが複数の異機種ホストマシンのうちの少なくとも1つの利用可能な異機種ホストマシンを含む電気通信ネットワークの一部になることを可能にし、複数の仮想化要素のそれぞれの仮想化要素を電気通信ネットワークに位置する選択した異機種ホストマシンに割り当てるタスク割り当てモジュールを備える対応する電気通信アプリケーションを備えるステップと分散システムオーケストレータを使用して、実行すべき複数のタスク(各タスクは、対応する複数の仮想化要素を含む)を受信するステップと、分散システムオーケストレータを使用して、利用可能な各異機種ホストマシンの現在の位置の指示を得るステップと、分散システムオーケストレータを使用して、利用可能な各異機種ホストマシンのリソース利用可能性の指示を得るステップと、分散システムオーケストレータを使用して、実行すべき複数の仮想化要素を、対応する複数の仮想化要素のうち1つずつに割り当てるステップと、を有する。分散システムオーケストレータを使用して、受信した各利用可能な異機種ホスト・マシンの現在位置の表示及び各利用可能な異機種ホスト・マシンのリソースの可用性の表示を使用して、複数期間のワークロード配置問題を決定し、複数のタスクの各タスクについて、決定した複数期間のワークロード配置問題を使用して、複数の対応する仮想化要素の各対応する仮想化要素を対応するホスト・マシンに割り当てるステップと、を含む。
【0016】
1つ以上の実施形態によれば、本方法は、割り当てられた仮想化要素のそれぞれを、対応する異種ホストマシンを用いて実行することをさらに含む。
【0017】
1つ以上の実施形態によれば、本方法は、与えられたイベントに応答して、複数期間の作業負荷配置問題を修正することをさらに含む。
【0018】
1つ以上の実施形態によれば、方法は、複数の異種ホストマシンの 各々について、対応する評判の表示を 割り当てることをさらに含み、多期間ワークロード配置問題の決定は、対応する評判の複数の表示を使用してさらに実行される。
【0019】
1つ以上の実施形態によれば、方法は、複数の異種ホストマシンのそれぞれにおいて利用可能なエネルギーの対応するレベルの指示を得ることをさらに備え、多期間ワークロード配置問題の決定は、利用可能なエネルギーの対応するレベルの得られた指示を使用してさらに実行される。
【0020】
上記に開示されたシステムおよび方法は、様々な理由から大きな利点を有することが理解されよう。
【0021】
第一の理由は、複数の異機種混在のホストマシンを使って、動的な環境下で複数のタスクを実行することを 可能にすることである。
【0022】
また、異機種混在のホストマシンでの利用を可能にすることも理由の一つである。
略述
【0023】
本発明を容易に理解するために、本発明の実施形態を添付図面に例示している。
【図面の簡単な説明】
【0024】
【
図1】
図1は、3台のヘテロジニアスホストマシンと分散システムオーケストレータからなるヘテロジニアス動的環境において、複数のタスクの実行を可能にする システムを示す図である。
【
図2】
図2は、無線リンクの最大スループットとそれに対応する受信機の視線距離の関係を表すと思われるステップワイズ関数の例である。
【
図3】
図3は、100%に近づくと無限大になる 凸型の資源利用コスト関数の 例である。
【
図4】
図4は、Π-resilientアプリケーション(Π=2)を作成するための 仮想アプリケーショングラフ変換の例(アプリケーションz∈Zの場合)を示す図である。アプリケーションz∈Zの任意の仮想化要素i∈Vz(仮想コンテナ又は仮想ストレージノード)に対して、仮想グラフGzV(Vz,Az)に新たな仮想化要素j∈Vzが追加される。さらに、各複製ノードj∈Vzは、新しい双方向の仮想トラフィック需要(i,j)∈Azによって親元ノードiに接続される。
【
図5】
図5は、コンピューティングとストレージのエンティティを分割するための仮想アプリケーショングラフ変換の例である。
【
図6】
図6は、3Dマッピングのコラボレーションアプリケーションのハイレベルな複数期間のワークフロー(3ステージ)です。
【
図7】
図7は、複数のタスクを表す仮想グラフの組で、対応する最小限の仮想化要素の集合に再編成することで、UAVを動力源とする3Dマッピングミッションを共同で実行できるようにしたものである。
【
図8】
図8は、一対の仮想グラフを示したものである。
【
図9】
図9は、異種動的環境において複数のタスクの実行を可能にする方法の一実施形態を示す図である。
【0025】
本発明のさらなる詳細およびその利点は、以下に 含まれる詳細な説明から明らかになるであろう。
【0026】
以下の実施形態の説明において、添付図面への言及は、本発明が実施され得る例の説明のためのものである。
【0027】
発明等の用語は、明示的に別段の定めがない限り、「本願に開示された 一又は複数の発明」を意味する。
【0028】
「態様」、「実施形態」、「実施形態」、「1つ以上の実施形態」、「いくつかの実施形態」、「特定の実施形態」、「1つの実施形態」、「別の実施形態」等の 用語は、明示的に別段指定しない限り、「開示した発明(群)の1つ以上の実施形態(ただし全てではない)」を意味している。
【0029】
ある実施形態を説明する際の「別の実施形態」または「別の態様」への言及は、明示的に別段の定めがない限り、参照された実施形態が別の実施形態(例えば、参照された実施形態の前に説明された実施形態)と相互に排他的であることを意味するものではない。
【0030】
用語「を含む」、「からなる」及びそれらの 変形は、明示的に別段の定めがない限り、「を含むがこれに限定されない」ことを意味する。
【0031】
a"、"an "および "the "という用語は、明示的に別段の定めがない限り、「1つまたは複数」を意味する。「複数」とは、明示的に別段の 定めがない限り、「2つ以上」を意味する。
【0032】
用語「本明細書」は、明示的に別段の定めがない限り、「参照により組み込まれ得るものを含む、本願において」を意味する。 本明細書では、「whereby」という用語は、先に明示的に記載された何かの意図する結果、目的又は結果のみを表現する 句又は他の語群の前にのみ使用される。 したがって、「whereby」という用語が請求項において使用される場合、「whereby」という用語が修飾する句または他の語は、請求項の特定のさらなる制限を確立せず、さもなければ請求項の意味または範囲を制限するものではない。
【0033】
「 e.g.」などの用語は、「例えば」を意味し、したがって、それらが説明する用語やフ
レーズを限定するものではない。「 i.e.」などの用語は「つまり」という意味で、説明する用語やフレーズを限定する。本願の表題および要約は、開示された発明の範囲を何ら限定するものと解釈されるものではない。本願の表題および本願で提供されるセクションの見出しは、便宜上のものであり、開示される発明をいかなる形でも限定するものと解釈されるものではない。
【0034】
多数の実施形態が本願に記載されており、例示の目的でのみ提示されている。 記載された実施形態は、いかなる意味においても限定的なものではなく、また、限定的であることを意図するものでもない。 本開示の発明(複数可)は、本開示から容易に明らかなように、多数の実施形態に広く適用可能である。 当業者であれば、開示された発明(複数可)は、構造的及び論理的な修正など、様々な修正及び変更を伴って実施され得ることを認識するであろう。 開示された発明(複数可)の特定の特徴は、1つ以上の特定の実施形態及び/又は図面を参照して説明されることがあるが、そのような特徴は、明示的に別段指定されない限り、それらが説明される1つ以上の特定の実施形態又は図面における用途に限定されないことが理解されるべきである。
【0035】
このような背景から、本発明は、異種動的環境における複数のタスクの実行を可能にする方法およびシステムに向けられている。
【0036】
スクは、様々なタイプのものであってよいことが理解されよう。実際、 タスクは、その実行中に、所定の量のリソース(例えば、コンピューティングリソース、メモリリソース、ストレージリソースなど)または物理的能力(センサ、モビリティなど)を消費することになる 命令の集合に対応することが理解されよう。
【0037】
例えば、非限定的な例ですが、ウェブサーバーでは、タスクは、ウェブページへのアクセスを目的とするウェブブラウザーのリクエストを受信し管理するための一連の命令で構成される 場合がある。
【0038】
航空写真を撮影する場合、タスクは、ロボットオペレーティングシステム(ROS)によって制御される 無人航空機(UAV)が、特定の地点から所望の角度、ズームレベル、解像度などで写真を撮影して保存する ための一連の命令で構成されている場合がある。 次に、
図1を参照すると、異種動的環境における複数のタスクの実行を可能にするシステムの 一実施形態が示されている。
【0039】
システム10は、複数のヘテロジニアスホストマシンと、分散オーケストレータ12とから構成される。より正確には、そしてこの特定の環境では、複数の異種ホストマシンは、第1の異種ホストマシン14、第2の異種ホストマシン16及び第3の異種ホストマシン18から
構成される。当業者には、任意の数のヘテロジニアスホストマシンを使用することができることが理解されよう。
【0040】
複数の異種ホストマシンは、データネットワーク20を介して分散オーケストレータ12と相互接続されることがさらに理解されよう。
図1では単一のデータネットワークが示されているが、相互接続は、それぞれが異なるプロトコルを使用して動作する複数のデータネットワークを介して実行されてもよいことが理解されよう。例えば、第1の異種ホストマシン14は、第1の所定のデータネットワークを介してデータネットワーク20に接続される一方、第2の異種ホストマシン16は、第2の所定のデータネットワークを介して第1の異種ホストマシン14に接続され、第3の異種ホストマシン16は、第3の所定のデータネットワークを用いて第1の異種ホストマシン14に接続されても良い。本実施形態において、第2の異種ホストマシン16及び第3の異種ホストマシン18は、分散オーケストレータ12に直接接続されていないことは、当業者には理解されよう。
【0041】
各ホストマシンは、独自のオペレーティングシステム(OS)、例えば、Linux Ubuntu 16.04を実行するマシンであることが理解されよう。各ホストマシンは、少なくとも1つの対応する処理リソースを備え、対応する物理的な容量によって特徴付けられることが理解されよう。
【0042】
少なくとも1つの対応する処理リソースは、様々なタイプのものであってよい。
例えば、一実施形態では、処理資源は、中央処理装置(CPU)の数及び種類によって特徴付けることができる中央処理能力である。
【0043】
別の実施形態では、処理リソースは、GPU(Graphics Processing Unit)の数およびタイプによって特徴付けることができるグラフィックス処理能力である。 別の実施形態では、処理リソースは、RAM(Random Access Memory)であり、Mbyte(MBs)で定義される所定のサイズによって特徴付けることができる メモリ空間である。
【0044】
別の実施形態では、処理リソースは、低速のハードディスクドライブ(HDD)が提供するタイプのものであり、Mバイト(MBs)で定義される サイズによって特徴付けることができる低速のメモリ空間である。
【0045】
別の実施形態では、処理リソースは、高速ソリッドステートディスク(SSD)によって提供される記憶空間のタイプであり、Mバイト(MBs )で定義されるサイズによって特徴付けることができる高速ストレージである。別の実施形態では、処理リソースは、ネットワークインターフェースの数、ネットワークインターフェースごとに提供される帯域幅、及びネットワークインターフェースの種類によって特徴付けることができるネットワークリソースである。
【0046】
さらに、物理的能力は、例えばRGBカメラセンサ、赤外線カメラセンサ、温度センサなどの様々なセンサで構成されてもよいことが 理解されるであろう。
例えば、実施形態によれば、物理的能力は、最大速度、最大高度などによって 特徴付けられる空中機動性を含んでいる。
【0047】
例えば、一実施形態によれば、物理的能力は、最高速度、操舵角などによって特徴付けられる地上移動性からなる。 例えば、および実施形態に従って、物理的能力は、最大ペイロード重量などを特徴とする物理的輸送システムから構成される。例えば、一実施形態によれば、物理的能力は、インターネット接続を含んでいる。
【0048】
当業者は、物理的能力が、当業者に知られている他の様々な要素で構成されてもよいことを理解するであろう。
したがって、異機種混在のホストマシーンは、処理リソースと物理的な容量に関して 異なる特性を有するホストマシーンセットで構成されてもよいことが理解されるであろう。
例えば、一実施形態に従って、第1の異種ホストマシーンは、Linux OpenWrtを 実行するOne Onion Omega 2+で構成され、580MHzで動作する1CPUコア、128MBまたはRAM、32MBの高速ストレージスペース、2つの仮想Wi-Fiインターフェース(アクセスポイントとステーション1つ)に分けられる1mt7628 Wi-Fiインターフェースからなる 場合がある。
【0049】
さらにこの実施形態では、第2の異種ホストマシンは、Windows 10を実行し、4つの2.9GHzコアを有するインテル(R) CoreTM i7-7700T CPU、1つのインテル(R) HDグラフィックス630、8GBのRAM、1TBの低速ストレージスペース、1つのイーサネット100Mbpsインタフェース、ステーションモードの1 RTL8814au Wi-Fi インタフェースから なるデスクトップサーバで構成されてもよい。
【0050】
この実施形態では、第3の異機種混在ホストマシーンは、Tegraアーキテクチャ用のUbuntu 16.04を実行し、HMP Dual Denver 2/2 MB L2 + Quad ARM(R) A57/2 MB L2からの6CPUコア、256コアのNvidia Pascal GPU、8GB RAM、32GB高速ストレージスペース、1Gbpsイーサネットインターフェース、ステーションモードの1つの802.AC無線インターフェースに
よって構成されているNVIDIA TX2 で制御するUAVで構わないでしょう。
【0051】
当業者であれば、異機種混在のホストマシンに対して様々な代替の実施形態が提供され得ることを理解するであろう。
【0052】
各ホストマシンは、ホストマシンが少なくとも1つの他の異種ホストマシンとの電気通信ネットワークの一部となることを可能にするための電気通信アプリケーションを実行していることが理解されるであろう。一実施形態では、電気通信ネットワークは、仮想アドホック移動体電気通信ネットワークからなる。
一実施形態では、通信アプリケーションは、各物理的ホストマシン上で動作するソフトウェアモジュールからなり、マルチホップのルーティングパスを通してもホスト間通信を可能にする。
【0053】
例えば、例えば3つのRaspberry Pi 3 Model B+と1つのOnion Omega 2+のような4つのホストマシンのセットの実施形態では、4つのデバイスは、Onion Omega 2+のmt7628 Wi-Fi embeddedインターフェースによって 作られたホットスポットを介してWi-Fiで接続されています(3つのRPI Wi-Fi インターフェースは、ステーションモードでホットスポットに接続されています)。Onion Omega 2+は、IPアドレス192.168.3.0/24のWLANを管理し、IPアドレス192.168.3.1を自分用に保持し、同じネットワークの他の3つの異なるIPアドレスを3つのRPIに割り当てています。この場合、Onion Omega 2+の通信モジュールは、TCP/IPスタックとOSのすべての関連ネットワークサービス、およびホットスポットモードのWi-Fiインターフェースを管理するWi-Fiドライバ、および物理インターフェース自体で構成されています。3つのRaspberry Piでは、ステーションモードのネットワークインターフェイスを制御するために使用されるWi-Fiドライバの違いだけである。
【0054】
別の実施形態では、4つのデバイスは、複数のネットワークインターフェイスを介して 接続される。組み込みインターフェイスは、他のUSBネットワークインターフェイスを伴ってもよいことが理解されよう。ユーザ空間で動作するネットワークミドルウェアが各機器上で実行され、利用可能なすべてのネットワークインターフェイスを利用して、すべての機器を同じマルチホップネットワーク上で接続します。各ホストマシンの通信アプリケーションは、ネットワークミドルウェアと、追加の外部ネットワークインターフェイスを実行するために必要な他のドライバと統合されている。
【0055】
別の実施形態では、4つのデバイスは5Gネットワークインターフェースを備えており、4つのデバイス間のブリッジとして機能するクラウドに置かれたサーバーとすべてのデバイスが常時接続を維持することを可能にする。この場合、各ノード上の通信アプリケーションは、TCP/IPスタックと、5Gインターフェースのドライバに結合されたOSのすべての関連するネットワークサービス、および物理インターフェース自体によって作られます。通信アプリケーションは、ブリッジサーバー上のクラウドで動作するソフトウェアも含む。
各ホストマシンは、さらに、仮想化エンジンを備えることが理解されよう。仮想化エンジンは、所定のホストマシンの対応する処理リソースを使用して、受信した仮想化要素を実行するために使用される。
【0056】
仮想化エンジンは、仮想化をサポートするOSと物理ハードウェアを備えたホストマシンの上で動作し、同じホストマシン上で複数の仮想化要素をインスタンス化、実行、管理、停止することができるソフトウェアモジュールであることが 理解されよう。当業者には、仮想化エンジンが、同じホストマシン上で現在実行されているすべての仮想化要素間で処理資源と容量を分配することを引き受けることが理解されよう。例えばDocker Engine、Kubernets Engine、Hyper-V、VMWare vSphere、KVMなどのような様々な仮想化エンジンが使用され得ることが理解されよう。
【0057】
仮想化要素は、ホストマシン上にインスタンス化された専用のソフトウェア環境として定義され、仮想化のプロセスを通じて、基盤となるホストマシンがサポートしていない機能、ソフトウェアモジュールおよびハードウェアをエミュレートできることが 理解されるでしょう。例えば、仮想化要素は、Windowsホストマシンの上でLinuxベースのアプリケーションを実行することを可能にすることが理解されるでしょう。さらに、仮想化エレメントは、同じホストマシン上に配置された他の仮想化エレメントに対して分離された方法で実行されることが理解されるでしょう。仮想化要素の最も一般的な例としては、仮想コンテナ(VC)および仮想マシン(VM)が挙げられる。各ホストマシンは、ジオロケーションモジュールを さらに備えることがさらに理解されよう。ジオロケーションモジュールは、対応するホストマシーンの現在位置の少なくとも表示を提供するために使用される。
【0058】
ジオロケーションモジュールは、ソフトウェアモジュールと物理インターフェースの少なくとも1つから構成され、少なくともホストマシンの現在位置を推定するために使用される場合があります。当業者は、ジオロケーションモジュールが様々なタイプであることを 理解するであろう。
【0059】
一実施形態では、ジオロケーションモジュールは、当業者に 知られているように、静止衛星に対する三重化によってその位置を推定できるGPSインターフェースを含むGPSベースのシステムから構成される。
【0060】
別の実施形態では、ジオロケーションモジュールは、ウルトラワイドバンド(UWB)システムを使用して実装される。実際、そのような実施形態において、例えばDecaWaveからのDWM1001のようなUWBインターフェースを備える3つのホストマシーンは、当業者に知られているように三重測量によってUWBインターフェースを常に備える第4のホストマシーンの相対位置を計算することができることが理解されるであろう。UWBを搭載したホストマシンの各対の間の距離は、送信された各通信プローブの飛行時間を推定することによって計算されてもよいことが理解されよう。つのホストマシーンが座標の基準系の原点として選択される場合、4つのホストマシーンの各サブセットによって行われる全ての相対位置測定は、それに従って変換されることが可能である。このようなジオロケーションモジュールは協調的であるため、動作させるためにはすべてのホストマシーンが同じ電気通信ネットワーク上にあることが必要であることが理解されよう。
【0061】
別の実施形態では、ジオロケーションモジュールは、UWBシステムと同様のWi-Fiレンジベースシステムを 使用して実装されてもよい。このような実施形態では、ホストマシンは、範囲内の他のホストマシンから受信信号強度インジケータ(RSSI)を返すことができるWi-Fiインタフェースを備えている。このRSSIを、例えば経路損失関数を用いて推定距離値に変換することにより、相対位置を算出する。この距離値に基づいてトリレータリングが行われる。
【0062】
当業者は、ジオロケーションモジュールが様々な代替実施形態に従って提供され得る ことを理解するであろう。
依然として
図1を参照すると、システム10は、分散型オーケストレータ12をさらに備えることが理解されよう。分散システムオーケストレータ12は、複数の異種ホストマシンのうちの少なくとも1つを使用する複数のタスクの実行を管理するために使用されることが理解されよう。複数のタスクは、対応する複数の仮想化要素によって構成される。
分散システムオーケストレータ12が、複数の異種ホストマシンのうちの少なくとも1つの異種ホストマシンを含む電気通信ネットワークの一部となり、それによって少なくとも1つの異種ホストマシンと動作的に接続できるようにするための電気通信アプリケーションからなる ことが理解されるであろう。
分散システムオーケストレータ12は、タスク割り当てモジュールを さらに備える。タスク割り当てモジュールは、複数の仮想化要素の各仮想化要素を、電気通信ネットワーク上に位置する選択されたホストマシンに割り当てるために使用される。仮想化要素の割り当ては、与えられた多期間ワークロード配置問題に従って実行されることがさらに理解されよう。
【0063】
与えられた複数期間ワークロード配置は、少なくとも、利用可能な各ホストマシンの現在位置の表示と、複数のホストマシンの少なくとも1つのホストマシンの それぞれにおける対応するリソース利用可能性の表示とを用いて、少なくとも1つの与えられた基準に従って、分散 システムオーケストレータ12によって決定される。一実施形態において、多期間ワークロード配置問題は、分散システムオーケストレータ12によって、通信ネットワークに参加または離脱するホストマシンに関連する情報を使用して決定される。
【0064】
一実施形態において、所与の多期間ワークロード配置問題は、少なくとも1つの電気通信ネットワークプロパティを使用してさらに決定されることがさらに理解されるであろう。少なくとも1つの電気通信ネットワーク特性問題は、第1の所定の仮想化要素を所定のホストマシンに転送するためのレイテンシ、第2の所定の仮想化要素を第1の所定のホストマシンから第2の所定のホストマシンに移行するためのレイテンシ、及びネットワークトポロジからなる群から選択されてもよい。実際、分散システムオーケストレータ12は、複数のホストマシンのセット内の仮想化及び全ての関連処理(例えば、ルーティングパスの予約)を協調的に管理するために、各ホストマシンで動作するソフトウェアモジュールからなる ことが理解されよう。従来の集中型オーケストレーションソリューション、例えば、VMWare vCenter、Docker Swarm、Openstack Heatなどとは異なり、分散システムオーケストレータ12は、ホストマシンの異なるサブセットにローカルシステム情報を交換する能力を与えることによって、仮想化の決定をローカルに保持し、後でリアルタイムに最適タスク割り当て決定を行う。分散システムオーケストレータ12の目標は、少なくとも1つの与えられた基準を最適化するタスク割り当て決定の集合を見つけることである。分散システムオーケストレータ12の分散性は、例えば、ホストマシンの移動性および一時的な可用性に関連する、急速に変化する物理的構成を有するホストマシンの大規模なセットを管理するために極めて重要である。
【0065】
上述したように、分散システムオーケストレータ12は、タスク割り当てモジュールを構成していることが理解されよう。
【0066】
タスク割り当てモジュールは、MINP(Mixed-Integer-Non-Linear-Programming)定式化によって定義される多目的配置問題から 構成される。この場合、作業負荷配置問題は、複数期間の性質を持つ作業負荷を扱うことを意味することが理解されよう(すなわち、いくつかのタスクが同時に実行可能でない場合がある)。このため、多期間作業負荷配置問題と称される。
【0067】
ホストマシン(ノード)の集合とその物理通信リンク(アーク)を表すノードとアークで構成されるグラフと、ホストマシンの集合の上に既に配置(マッピング)されたワークロード(アプリケーション)の 集合を考え、それぞれが2つの専用グラフで表現されるステップと。ここで、仮想化要素(ノード)のセットとその通信帯域幅要件が接続されている方法を表すノードとアークによって作られた第1と、仮想化要素(ノード)のセットとその並列化/直列化制約を表すノードとアークによって作られた第2は、ホストマシンのセットの上位に既に配置(マッピング)されている 。
【0068】
また、先ほど説明した 2 つのグラフで表される、ホストマシンセットの最上位に配置(マッピング)されることを 要求する 2 番目のワークロードのセットを考察する。
【0069】
多期間ワークロード配置問題は、配置決定、例えば、各ホストマシン上でどのワークロードノードを仮想化するか、異なるペアのワークロードノード間にどのルーティングパスを割り当てるか、どのワークロードノードを待機キューに入れるか、アクティブホストマシンノードに既に配置されているワークロードを異なるホストマシンに移行するか、ホストマシンをどこに移動するか、どのホストマシンを専用の通信ロールに割り当てるか等を定義するオーケストレーション処理の数学表現である。
【0070】
多期間作業負荷配置問題は、システムパラメータ(例えば、ホストマシンの最大リソースやネットワークリンクの最大帯域幅)に関して、どの配置決定の組み合わせが実行可能であると考えられるかも定義することが理解されるであろう。
【0071】
一実施形態では、多期間作業負荷配置問題は、所定の事象に対応して修正される。所与の事象は、一実施形態において利用可能なリソースの変化からなることが理解されよう。
【0072】
一実施形態において、多期間ワークロード配置問題の修正は、仮想化要素を第1の所定のホストマシンから第2の所定のホストマシンに直接転送することを含むことが、さらに理解されよう。
【0073】
一実施形態では、分散システムオーケストレータ12の電気通信アプリケーションは、多期間ワークロード配置問題に従って専用の適切なルーティング経路を予約する ことが理解されるであろう。
【0074】
各仮想化要素は、上記の一連の処理リソースおよび容量に 関連する要件を有することが理解されよう。ホストマシンの上に仮想化要素が配置される文脈において、必要な量の処理リソースが、ホストマシンから対応する仮想化要素に割り当てられる。利用可能な処理リソースは、アイドル状態のホストマシンが提供する処理リソースの総量と、その上に既にマッピングされている仮想化要素に現在割り当てられている処理リソースとの差として計算される。
【0075】
したがって、多期間ワークロード配置問題は、多期間配置(タスク割り当て)ソリューション(構成)を計算するときに分散オーケストレータが最適化することになっている多目的関数を定義することが理解されよう。各目的コンポーネントは、基準とも呼ばれることが理解されよう。基準は、様々なタイプのものであってよいことが理解されよう。一実施形態では、少なくとも1つの基準は、ホストマシン利用コストの最小化、マイグレーション回数の最小化、エネルギー消費量の最小化、拒否ワークロードの最小化、ホストマシン物理移動の最小化、少なくとも1つの所定のホストマシンのスループット、ホストマシンの少なくとも2組間のスペクトル共有動作、ホストマシンの少なくとも2組間の干渉、等からなる群から選択される。
【0076】
与えられた多期間作業負荷配置問題は、少なくとも1つの通信ネットワークプロパティを用いてさらに決定されることが理解されよう。
【0077】
さらに、少なくとも1つの電気通信ネットワーク特性問題は、第1の所定の仮想化要素を所定のホストマシンに 転送するための待ち時間、第2の所定の仮想化要素を第1の所定のホストマシンから第2の所定のホストマシンに移行するための待ち時間、及びネットワークトポロジの うちの少なくとも1つを含むことが理解されよう。
【0078】
所定のイベントは、分散オーケストレーションによる新しい配置ソリューションの再計算の必要性をトリガーするイベントであることが理解されよう。これらのイベントには
、新しいワークロードの到着、予期しない仮想化要素のリソース消費動作によりホストマシンで観測されたリソース不足、使用不足の閾値のトリガー、ホストマシンの出発、新しいホストマシンの到着、同じワークロード(アプリケーション)の別のタスクの配置をブロックしていたタスクの終了、が含まれる。
【0079】
一実施形態において、ジオロケーションモジュールは、対応するホストマシーンの可能な将来の位置の指示をさらに提供する ことが理解されよう。このような場合、与えられた複数期間の作業負荷配置問題は、対応するホストマシンの可能な将来の位置の表示を使用してさらに決定される。
【0080】
一実施形態 において、各異種ホストマシンは、対応するレピュテーションの表示を割り当てられることが理解されよう。このような場合、与えられた複数期間ワークロード配置問題は、対応するレピュテーションの表示を使用してさらに決定される。
【0081】
異種ホストマシンは、利用可能なエネルギーの対応するレベルの指示を提供するためのエネルギーモジュールを備えることが さらに理解されよう。このような場合、与えられた複数期間の作業負荷配置問題は、利用可能なエネルギーの対応するレベルの表示を使用してさらに決定される。
また、異種動的環境における複数のタスクの実行を可能にする方法も開示されていることが理解されるであろう。
【0082】
処理ステップ100によれば、複数のヘテロジニアスホストマシンが提供される。各所与の異種ホストマシーンは、対応する処理リソースを有する。各所与の異種ホストマシンは、所与の異種ホストマシンが少なくとも1つの他の異種ホストマシンとの電気通信ネットワークの一部となることを可能にするための電気通信アプリケーションを具備している。各所与の異種ホストマシーンは、対応する処理資源を使用して受信した仮想化要素を実行するための仮想化エンジンをさらに備える。各所与の異種ホストマシーンは、少なくとも所与の異種ホストマシーンの現在位置の表示を提供するためのジオロケーションモジュールを具備する。
【0083】
処理ステップ102によれば、複数の異種ホストマシンの少なくとも1つを使用して複数のタスクの実行を管理する 分散システムオーケストレータが、分散システムオーケストレータが複数の異種ホストマシンの少なくとも1つの利用可能な異種ホストマシンを含む電気通信ネットワークの一部になることを可能にするための対応する電気通信アプリケーションと、複数の仮想化要素のそれぞれの仮想化を電気通信ネットワーク上に位置する選択した異種ホストマシンに割り当てるタスク割り当てモジュールとを備える、処理ステップ102が 提供される。 処理ステップ104によれば、分散システムオーケストレータを用いて、実行すべき複数のタスクが受信される。各タスクは、対応する複数の仮想化要素から構成される。処理ステップ106によれば、分散システムオーケストレータを用いて、利用可能な各異種ホストマシンの現在位置の表示が取得される。 処理ステップ108によれば、分散システムオーケストレータを用いて、利用可能な各異種ホストマシンの リソース利用可能性の表示が取得される。
【0084】
処理ステップ110によれば、分散システムオーケストレータによって、利用可能な各異機種ホストマシンの 現在位置の受信した表示と、利用可能な各異機種ホストマシンのリソース利用可能性の表示とを用いて、 複数期間のワークロード配置問題が決定される。
処理ステップ112によれば、複数のタスクの各タスクについて、決定された複数期間のワークロード配置問題を用いて、複数の対応する 仮想化要素の各仮想化要素が、対応するホストマシンに割り当てられる。
【0085】
1つ以上の実施形態において、本方法は、割り当てられた仮想化要素のそれぞれを、対応する異種ホストマシンを使用して 実行することをさらに含む。本方法の1つ以上の実施形態では、電気通信ネットワークは、仮想アドホック移動通信ネットワークを構成する。
【0086】
1つ以上の実施形態において、本方法は、与えられたイベントに応答して、多期間作業負荷配置問題を修正することをさらに含む。つ以上の実施形態において、所与の事象は、利用可能なリソースの変化を含む。
【0087】
本方法の1つ以上の実施形態において、多期間ワークロード配置問題の修正は、所定の仮想化要素を第1の所定の異種ホストマシンから第2の所定の異種ホストマシンに転送することを含む。
【0088】
本方法の1つ以上の実施形態において、多期間ワークロード配置問題の決定は、通信ネットワークの少なくとも1つの特性を用いてさらに実行される。
【0089】
本方法の1つ以上の実施形態において、本方法は、複数の異種ホストマシンのそれぞれから、将来可能な場所の指示を受け取ることをさらに含み、多期間ワークロード配置問題の決定は、受け取った将来可能な場所の指示を使用してさらに実行される。
【0090】
本方法の1つ以上の実施形態において、本方法は、複数の異種ホストマシンの各々について、対応する評判の表示を割り当てることをさらに含み、多期間ワークロード配置問題の決定は、対応する評判の複数の表示を使用してさらに実行されることを特徴とする。
【0091】
本方法の1つ以上の実施形態において、本方法は、複数の異種ホストマシンのそれぞれにおいて利用可能なエネルギーの対応するレベルの指示を得ることをさらに含み;多期間ワークロード配置問題の決定が、利用可能なエネルギーの対応するレベルの得られた指示を用いてさらに実行されることを特徴とする、1つ以上の実施形態である。
【0092】
上記に開示されたシステムおよび方法は、様々な 理由から大きな利点を有することが理解されよう。 第一の理由は、複数の異機種混在のホストマシンを使って、動的な環境下で複数のタスクを実行することを 可能にすることである。
【0093】
また、異機種混在のホストマシンでの利用を可能にすることも理由の一つである。上記の説明は、本発明者によって現在企図されている特定の好ましい実施形態に関するもので
あるが、本発明は、その広い局面において、本明細書に記載された要素の機能的等価物を含むことが理解されるであろう。
【0094】
[表1]
【誤訳訂正書】
【提出日】2023-01-31
【誤訳訂正1】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理に関する。より詳細には、本発明の1つ以上の実施態様は、異種動的環境における複数のタスクの実行を可能にするための方法及びシステムに関するものである。
【背景技術】
【0002】
タスクを実行するために複数の処理デバイスを使用できることは、様々な理由から大きな利点がある。
【0003】
しかしながら、多くの場合、複数の処理デバイスの使用は困難である。
【0004】
例えば、処理デバイスは、実行を複雑にする様々なタイプのものである場合がある。
【0005】
もう一つの問題は、環境がダイナミックな場合があることである。
【0006】
とりわけ、上記の欠点の少なくとも1つを克服する方法及びシステムの少なくとも1つが必要とされている。
【0007】
本発明の特徴は、以下の開示、図面、及び説明を検討することによって明らかになるであろう。
【発明の概要】
【0008】
広義の態様によれば、異種動的環境における複数のタスクの実行を可能にするためのシステムが開示される。本システムは、複数の異種ホストマシンを備える。各異種ホストマシンは、対応する処理リソースを特徴とし、各異種ホストマシンは:異種ホストマシンを少なくとも1つの他の異種ホストマシンとともに電気通信ネットワークの一部にすることを可能にするための電気通信アプリケーションと;異種ホストマシンの対応する処理リソースを使用して、受信した仮想化要素を実行するための仮想化エンジンと;対応する異種ホストマシンの現在位置の少なくとも1つの表示を提供するジオロケーションモジュールと;を備える。本システムは、更に、複数の異種ホストマシンの少なくとも1つを使用する複数のタスクの実行を管理するための分散システムオーケストレータを備える。複数のタスクは、対応する複数の仮想化要素で構成されている。分散システムオーケストレータは:分散システムオーケストレータが、複数の異種ホストマシンのうちの少なくとも1つの異種ホストマシンを含む電気通信ネットワークの一部になることを可能にするための電気通信アプリケーションと;複数の仮想化要素の各仮想化要素を電気通信ネットワーク上に位置する選択された異種ホストマシンに割り当てるためのタスク割り当てモジュールであって、仮想化要素の割り当ては、所与の多期間のワークロード配置問題に従って行われる、タスク割り当てモジュールと;を備える。所与の多期間ワークロード配置問題は、少なくとも、各利用可能な異種ホストマシンの現在位置の表示、及び複数の異種ホストマシンの少なくとも1つの異種ホストマシン内の対応するリソース利用可能性の表示を使用して、分散システムオーケストレータにより決定され、かつ少なくとも1つの所定の基準に従っている。
【0009】
1つ以上の実施態様によれば、多期間ワークロード配置問題は、電気通信ネットワークに参加又は離脱する異種ホストマシンに関連する情報を使用する分散システムオーケストレータによって、決定される。
【0010】
1つ以上の実施態様によれば、電気通信ネットワークは、仮想アドホックモバイル通信ネットワークを含む。
【0011】
1つ以上の実施態様によれば、多期間ワークロード配置問題は、所与のイベントに応じて修正される。
【0012】
1つ以上の実施態様によれば、所与のイベントは、利用可能なリソースの変化を含む。
【0013】
1つ以上の実施態様によれば、多期間ワークロード配置問題の修正は、仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに直接転送することを備える。
【0014】
1つ以上の実施態様によれば、異種ホストマシンは無線ホストマシンであり、さらに、少なくとも1つの所与の基準は、ホストマシン利用コストの最小化、移行回数の最小化、エネルギー消費量の最小化、拒否されたワークロードの最小化、ホストマシンの物理的な移動の最小化、少なくとも1つの所与のホストマシンのスループット、少なくとも2組のホストマシン間のスペクトル共有振る舞い、及び少なくとも2組のホストマシン間の干渉、からなる群から選択される。
【0015】
1つ以上の実施態様によれば、分散システムオーケストレータの電気通信アプリケーションは、多期間ワークロード配置問題に従って、専用の適切なルーティング経路を予約する。
【0016】
1つ以上の実施態様によれば、所与の多期間ワークロード配置問題は、少なくとも1つの電気通信ネットワークプロパティを使用して更に決定される。
【0017】
1つ以上の実施態様によれば、少なくとも1つの電気通信ネットワークプロパティ問題は、第1の所与の仮想化要素を所与の異種ホストマシンに転送するためのレイテンシ、第2の所与の仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに移行するためのレイテンシ、及びネットワークトポロジの少なくとも1つを含む。
【0018】
1つ以上の実施態様によれば、ジオロケーションモジュールは、対応する異種ホストマシンの可能な未来の位置の表示を更に提供し、さらに、所与の多期間ワークロード配置問題は、対応する異種ホストマシンの可能な未来の位置の表示を使用して更に決定される。
【0019】
1つ以上の実施態様によれば、各異種ホストマシンは、対応するレピュテーションの表示が割り当てられており、さらに、所与の多期間ワークロード配置問題は、対応するレピュテーションの表示を使用して更に決定される。
【0020】
1つ以上の実施態様によれば、各異種ホストマシンは、対応する利用可能なエネルギーのレベルの表示を提供するためのエネルギーモジュールを備え、さらに、所与の多期間ワークロード配置問題は、対応する利用可能なエネルギーのレベルの表示を使用して更に決定される。
【0021】
広義の態様によれば、異種動的環境における複数のタスクの実行を可能にするための方法が開示される。本方法は、複数の異種ホストマシンを提供するステップを備える。各所与の異種ホストマシンは、対応する処理リソースを有し、かつ、前記所与の異種ホストマシンを、少なくとも1つの他の異種ホストマシンとともに電気通信ネットワークの一部にすることを可能にするための電気通信アプリケーション、対応する処理リソースを使用する受信した仮想化要素を実行するための仮想化エンジン、及び所与の異種ホストマシンの現在の位置の少なくとも1つの表示を提供するためのジオロケーションモジュールを備える。本方法は、更に、分散システムオーケストレータを提供するステップを備える。この分散システムオーケストレータは、分散システムオーケストレータが複数の異種ホストマシンのうちの少なくとも1つの利用可能な異種ホストマシンを含む電気通信ネットワークの一部になることを可能するための対応する電気通信アプリケーション、及び複数の仮想化要素の各仮想化要素を電気通信ネットワークに位置する選択した異種ホストマシンに割り当てるためのタスク割り当てモジュールを有する複数の異種ホストマシンの少なくとも1つを使用する複数のタスクの実行を管理する。本方法は、更に:分散システムオーケストレータを使用して、各タスクが対応する複数の仮想化要素を備える、実行すべき複数のタスクを受信するステップと;分散システムオーケストレータを使用して、各利用可能な異種ホストマシンの現在の位置の表示を取得するステップと;分散システムオーケストレータを使用して、各利用可能な異種ホストマシンのリソース利用可能性の表示を取得するステップと;分散システムオーケストレータを使用して、受信した各利用可能な異機種ホストマシンの現在の位置の表示、及び各利用可能な異種ホストマシンのリソース利用可能性の表示を使用して、多期間ワークロード配置問題を決定するステップと;複数のタスクの各タスクに対して、決定された多期間ワークロード配置問題を使用して、複数の対応する仮想化要素の各対応する仮想化要素を、対応するホストマシンに割り当てるステップと;を備える。
【0022】
1つ以上の実施態様によれば、本方法は、対応する異種ホストマシンを使用する割り当てられた仮想化要素の各々を実行するステップを更に備える。
【0023】
1つ以上の実施態様によれば、本方法は、所与のイベントに応じて、多期間ワークロード配置問題を修正するステップを更に備える。
【0024】
1つ以上の実施態様によれば、本方法は、複数の異種ホストマシンの各々に対して、対応するレピュテーションの表示を割り当てるステップを更に備え、さらに、多期間ワークロード配置問題を決定するステップは、複数の対応するレピュテーションの表示を使用して更に行われる。
【0025】
1つ以上の実施態様によれば、本方法は、複数の異種ホストマシンの各々において対応する利用可能なエネルギーのレベルの表示を取得するステップを更に備え、さらに、多期間ワークロード配置問題を決定する前記ステップは、対応する利用可能なエネルギーのレベルの取得した表示を使用して更に行われる。
【発明の効果】
【0026】
上記に開示されたシステム及び方法は、様々な理由から大きな利点を有することが理解されよう。
【0027】
第1の理由は、動的環境において複数のタスクを実行するための複数の異種ホストマシンを使用することを可能にすることである。
【0028】
もう1つの理由は、異種ホストマシンの使用を可能にすることである。
【図面の簡単な説明】
【0029】
本発明を容易に理解可能とするため、本発明の実施態様を添付図面に例示的に図示する。
【0030】
【
図1】3つの異種ホストマシンと分散システムオーケストレータとから構成される異種動的環境における複数のタスクの実行を可能にするためのシステムを示す図である。
【
図2】無線リンクの最大スループットと対応する視線上の受信距離の関係を表すステップワイズ関数の一例である。
【
図3】利用率が100%に近づくと無限大になる傾向のある凸型リソース利用コスト関数の一例である。
【
図4】Π-resilientアプリケーション(Π=2)を作成するための仮想アプリケーショングラフ変換の一例(アプリケーションz∈Zの場合)である。アプリケーションz∈Zの任意の仮想化要素i∈Vz(仮想コンテナ又は仮想ストレージノード)に対して、新しい仮想化要素j∈Vzを仮想グラフGzV(Vz,Az)に追加する。さらに、各複製ノードj∈Vzを、新しい双方向の仮想トラフィック需要(i,j)∈Azによって親元ノードiに接続する。
【
図5】ストレージエンティティからコンピューティングを分割するための仮想アプリケーショングラフ変換の一例である。
【
図6】協調的な3Dマッピングアプリケーションのハイレベルな多期間ワークフロー(3段階)である。
【
図7】複数のタスクを表す一組の仮想グラフであり、対応する最小限の仮想化要素セットに再編することで、UAVを動力とする協調的な3Dマッピングミッションを実行することができる。
【
図9】異種動的環境における複数のタスクの実行を可能にする方法の一実施態様を示す。
【0031】
本発明の更なる詳細及びその利点は、以下に含まれる詳細な説明から明らかになるであろう。
【発明を実施するための形態】
【0032】
以下の実施態様の説明において、添付図面への言及は、本発明が実施され得る例の説明のためのものである。
【0033】
用語の説明
【0034】
「発明」等の用語は、明示的に別段の定めがない限り、「本願に開示された1つ以上の発明」を意味する。
【0035】
用語「ある態様」、「ある実施態様」、「実施態様」、「実施態様群」、「その実施態様」、「その実施態様群」、「1つ以上の実施態様」、「いくつかの実施態様」、「特定の実施態様」、「一実施態様」、「別の実施態様」などは、明示的に別段の定めがない限り、「開示された発明(群)の1つ以上の(しかし全てではない)実施態様」を意味する。
【0036】
実施態様を説明する際の「別の実施態様」又は「別の態様」への言及は、明示的に別段の定めがない限り、参照される実施態様が別の実施態様(例えば、参照される実施態様の前に説明される実施態様)と相互に排他的であることを意味しない。
【0037】
用語「含む」、「備える」及びその変形は、明示的に別段の定めがない限り、「含むがこれに限定されない」ことを意味する。
【0038】
用語「a(1つの)」、「an(1つの)」及び「the(その)」は、明示的に別段の定めがない限り、「1つ以上」を意味する。
【0039】
「複数」という用語は、明示的に別段の定めがない限り、「2つ以上」を意味する。
【0040】
用語「本明細書」は、明示的に別段の定めがない限り、「本願において、参照により組み込まれ得るものを含む」を意味する。
【0041】
用語「whereby(それによって)」は、本明細書では、前に明示的に述べられている何かの意図する結果、目的又は結果のみを表現する節若しくは他の言葉の集合の前にのみ使用される。このように、用語「whereby(それによって)」が請求項において使用されるとき、用語「whereby(それによって)」が修飾する句又は他の語は、請求項の特定の更なる制限を確立するものではなく、若しくは、請求項の意味又は範囲を制限するものではない。
【0042】
用語「例」及び同様の用語は、「例えば」を意味し、そしてこのように、それらが説明する用語又は語句を制限しない。
【0043】
用語「すなわち」及び同類の用語は、「つまり」を意味し、そしてこのように、それらが説明する用語又は語句を限定するものである。
【0044】
表題及び要旨はいずれも、開示された発明の範囲を何ら限定するものとして受け取られるものではない。本願の表題及び本願で提供されるセクションの見出しは、便宜上のみであり、いかなる意味でも開示を限定するものとして受け取られるものではない。
【0045】
多数の実施態様が本願に記載されており、かつ例示の目的でのみ提示されている。記載された実施態様は、いかなる意味においても限定的なものではなく、また、限定的であることを意図するものでもない。本開示の発明は、本開示から容易に明らかなように、多数の実施態様に広く適用可能である。当業者であれば、開示された発明は、構造的及び論理的な修正などのような、様々な修正及び変更を伴って実施され得ることを認識するであろう。開示された発明の特定の特徴は、1つ以上の特定の実施態様及び/又は図面を参照して説明されることがあるが、そのような特徴は、明示的に別段に指定されない限り、それらが説明される1つ以上の特定の実施態様又は図面における用途に限定されないことが理解されるべきである。
【0046】
このすべてを念頭に置いて、本発明は、異種動的環境における複数のタスクの実行を可能にするための方法及びシステムに向けられている。
【0047】
タスクは、様々なタイプのものであり得ることが理解されよう。実際、タスクは、その実行中に、所与の量のリソース(例えば、コンピューティングリソース、メモリリソース、ストレージリソースなど)又は物理的キャパシティ(センサ、モビリティなど)を消費することになる命令のセットに対応することが理解されよう。
【0048】
例えば、非限定的な例として、ウェブサーバにおいて、タスクは、ウェブページへのアクセスを目的とするウェブブラウザの要求を受信して管理するための命令のセットを備えてもよい。
【0049】
航空写真を撮影しなければならない場合、タスクは、ロボットオペレーティングシステム(ROS)によって制御される無人航空機(UAV)が、所望の角度、ズームレベル、解像度などで特定の地点から写真を撮影して保存するための命令のセットを備えてもよい。
【0050】
ここで、
図1を参照すると、異種動的環境における複数のタスクの実行を可能にするためのシステムの一実施態様が示されている。
【0051】
システム10は、複数の異種ホストマシン及び分散オーケストレータ12を備える。より正確に、かつこの特定の環境では、複数の異種ホストマシンは、第1の異種ホストマシン14、第2の異種ホストマシン16及び第3の異種ホストマシン18を含む。当業者には、任意の数の異種ホストマシンが使用されてもよいことが理解されよう。
【0052】
複数の異種ホストマシンは、データネットワーク20を介して分散オーケストレータ12と相互接続されることが更に理解されよう。
図1では単一のデータネットワークが示されているが、相互接続は、各々が異なるプロトコルを使用して動作する複数のデータネットワークを介して行われてもよいことが理解されよう。例えば、第2の異種ホストマシン16は、第2の所与のデータネットワークを介して第1の異種ホストマシン14に接続され、かつ第3の異種ホストマシン16は、第3の所与のデータネットワークを使用して第1の異種ホストマシン14に接続されている一方、第1の異種ホストマシン14は、第1の所与のデータネットワークを介してデータネットワーク20に接続されてもよい。本実施態様において、第2の異種ホストマシン16及び第3の異種ホストマシン18は、分散オーケストレータ12に直接接続されていないことは、当業者には理解されよう。
【0053】
各ホストマシンは、独自のオペレーティングシステム(OS)、例えば、Linux Ubuntu 16.04が動作しているマシンであることが理解されよう。各ホストマシンは、少なくとも1つの対応する処理リソースを装備し、かつ対応する物理的なキャパシティを特徴とすることが理解されよう。
【0054】
少なくとも1つの対応する処理リソースは、様々なタイプであってよい。
【0055】
例えば、一実施態様において、処理リソースは、中央処理装置(CPU)の数及びタイプを特徴とし得る中央処理能力である。
【0056】
別の実施態様において、処理リソースは、グラフィックス処理ユニット(GPU)の数及びタイプを特徴とし得るグラフィックス処理能力である。
【0057】
別の実施態様において、処理リソースは、ランダムアクセスメモリ(RAM)であり、かつMバイト(MBs)で定義される所与のサイズを特徴とし得るメモリ空間である。
【0058】
別の実施態様において、処理リソースは、低速ハードディスクドライブ(HDD)によって提供されるタイプの一つであり、かつMバイト(MBs)で定義されるサイズを特徴とし得る低速メモリ空間である。
【0059】
別の実施態様において、処理リソースは、高速ソリッドステートディスク(SSD)によって提供されるタイプのストレージ空間であり、かつMバイト(MBs)で定義されるサイズを特徴とし得る高速ストレージである。
【0060】
別の実施態様において、処理リソースは、ネットワークインターフェースの数、ネットワークインターフェースごとに提供される帯域幅、及びネットワークインターフェースのタイプを特徴とし得るネットワークリソースである。
【0061】
さらに、物理的なキャパシティは、例えばRGBカメラセンサ、赤外線カメラセンサ、温度センサなどのような様々なセンサを含んでもよいことが理解されよう。
【0062】
例えば、一実施態様によれば、物理的なキャパシティは、最大速度、最大高度などを特徴とするエアモビリティを含む。
【0063】
例えば、一実施態様によれば、物理的なキャパシティは、最大速度、ステアリング角度などを特徴とするグラウンドモビリティを含む。
【0064】
例えば、一実施態様によれば、物理的なキャパシティは、最大ペイロード重量などを特徴とする物理的な輸送システムを含む。
【0065】
例えば、一実施態様によれば、物理的なキャパシティは、インターネット接続性を含む。
【0066】
当業者は、物理的なキャパシティは、当業者に知られている様々な他の要素を含んでもよいことを理解するであろう。
【0067】
それゆえに、異種ホストマシンは、処理リソース及び物理的なキャパシティの観点で異なる特性を有するホストマシンのセットを含んでもよいことが理解されよう。
【0068】
例えば、一実施態様によれば、第1の異種ホストマシンは、Linux OpenWrtが動作しているOne Onion Omega 2+で構成され、580MHzで動作する1CPUコア、128MB又はRAM、32MBの高速ストレージ空間、2つの仮想Wi-Fiインターフェース(1つのアクセスポイントと1つのステーション)に分割された1mt7628 Wi-Fiインターフェースから構成されてもよい。
【0069】
さらにこの実施態様では、第2の異種ホストマシンは、Windows10が動作しており、かつ4つの2.9GHzコアを有するIntel(R) CoreTM i7-7700T CPU、1つのIntel(R) HD Graphics630、8GBのRAM、1TBの低速ストレージ空間、1つのイーサネット100Mbpsインターフェース、ステーションモードの1 RTL8814au Wi-Fiインターフェースを備えるデスクトップサーバーによって構成されてもよい。
【0070】
さらにこの実施態様では、第3の異種ホストマシンは、Tegraアーキテクチャ用のUbuntu 16.04が動作しているNVIDIA TX2によって制御されるUAVで構成され、かつHMP Dual Denver 2/2MB L2 + Quad ARM(R) A57/2MB L2からの6CPUコア、256コアを有するNvidia Pascal GPU、RAMの8GB、32GBの高速ストレージ空間、1Gbpsイーサネットインターフェース、ステーションモードの1つの80211.ac Wi-Fi インターフェースで構成されてもよい。
【0071】
当業者は、様々な代替実施態様が、異種ホストマシンに対して提供されてもよいことを理解するであろう。
【0072】
各ホストマシンは、ホストマシンを少なくとも1つの他の異種ホストマシンとともに電気通信ネットワークの一部にすることを可能にするための電気通信アプリケーションが動作していることが理解されよう。一実施態様では、電気通信ネットワークは、仮想アドホックモバイル電気通信ネットワークを含む。
【0073】
一実施態様において、電気通信アプリケーションは、マルチホップルーティングパスを通してでさえもホスト間通信を可能にするために、各物理的なホストマシン上で動作するソフトウェアモジュールを備える。
【0074】
例として、例えば3つのRaspberry Pi3 Model B+及び1つのOnion Omega 2+などのような4つのホストマシンのセットの実施態様において、4つのデバイスは、Onion Omega 2+のmt7628 Wi-Fi組み込みインターフェースによって作られたホットスポットを通じてWi-Fiで接続されている(3つのRPI Wi-Fiインターフェースは、ホットスポットにステーションモードで接続されている)。Onion Omega 2+は、IPアドレス192.168.3.1を自分用に保持し、かつ同じネットワークの他の3つの異なるIPアドレスを3つのRPIに割り当てることによって、IPアドレス192.168.3.0/24のWLANを管理する。この場合、Onion Omega 2+上の通信モジュールは、TCP/IPスタック及びホットスポットモードのWi-Fiインターフェースを管理するWi-Fiドライバに結合されるOSのすべての関連ネットワークサービス、並びに物理インターフェース自体によって作られている。3つのRaspberry Pi上での、相違は、ステーションモードにおけるネットワークインターフェースを制御するために使用されるWi-Fiドライバのみである。
【0075】
別の実施態様において、4つのデバイスは、多数のネットワークインターフェースで接続されている。組み込みインターフェースは、他のUSBネットワークインターフェースが付随してもよいことが理解されるだろう。ユーザ空間で動作するネットワークミドルウェアが各デバイス上で動作し、利用可能なすべてのネットワークインターフェースを利用することによって、すべてのデバイスを同じマルチホップネットワーク上で接続する。各ホストマシンの電気通信アプリケーションは、そのとき、ネットワークミドルウェア、及び追加の外部ネットワークインターフェースを動作させるために必要な他のドライバと統合される。
【0076】
別の実施態様において、4つのデバイスは、4つのデバイス間のブリッジとして機能するクラウドに配置されたサーバーとそれらのすべてが常に接続することを可能にする5Gネットワークインターフェースを搭載する。このような場合、各ノード上の電気通信アプリケーションは、TCP/IPスタック、及び5Gインターフェースのドライバに結合されたOSのすべての関連ネットワークサービス、並びに物理的インターフェース自体によって作られる。電気通信アプリケーションは、ブリッジサーバ上のクラウドで動作するソフトウェアも含む。
【0077】
各ホストマシンは、仮想化エンジンを更に備えることが理解されよう。仮想化エンジンは、所与のホストマシンの対応する処理リソースを使用する受信した仮想化要素を実行するために使用される。
【0078】
仮想化エンジンは、仮想化をサポートするOS及び物理ハードウェアを有するホストマシンの上位で動作するソフトウェアモジュールであり、かつ同一のホストマシン上で多数の仮想化要素をインスタンス化、実行、管理及び停止することを可能にするものであることが理解されよう。当業者には、仮想化エンジンが、同じホストマシン上で現在動作しているすべての仮想化要素間で処理リソース及びキャパシティを分配することを引き受けることが理解されよう。例えばDocker Engine、Kubernets Engine、Hyper-V、VMWare vSphere、KVMなどのような様々な仮想化エンジンが使用されてもよいことが理解されよう。
【0079】
仮想化要素は、仮想化のプロセスを通じて、基盤となるホストマシンによってサポートされない機能、ソフトウェアモジュール、及びハードウェアをエミュレートすることができるホストマシン上にインスタンス化された専用のソフトウェア環境として定義されてもよいことが理解されよう。例えば、仮想化要素は、Windowsホストマシンの上位でLinuxベースのアプリケーションを動作させることを可能にすることが理解されよう。仮想化エレメントは、同じホストマシン上に配置された他の仮想化エレメントに対して分離された方法で動作することが、さらに、理解されよう。仮想化要素の最も一般的な例は、仮想コンテナ(VC)及び仮想マシン(VM)を含む。
【0080】
各ホストマシンは、ジオロケーションモジュールを更に備えることが、さらに理解されよう。ジオロケーションモジュールは、対応するホストマシンの現在位置の少なくとも1つの表示を提供するために使用される。
【0081】
ジオロケーションモジュールは、ソフトウェアモジュール及び物理インターフェースのうちの少なくとも1つを備えてもよく、かつホストマシンの現在の位置を少なくとも推定するために使用される。当業者は、ジオロケーションモジュールが様々なタイプであってよいことを理解するであろう。
【0082】
一実施態様において、ジオロケーションモジュールは、当業者に知られているように、静止衛星に対する三角測量によってその位置を推定できるGPSインターフェースを備えるGPSベースのシステムを備える。
【0083】
別の実施態様において、ジオロケーションモジュールは、ウルトラワイドバンド(UWB)システムを使用して実装される。実際、そのような実施態様では、例えばDecaWaveからのDWM1001などのようなUWBインターフェースを装備する3つのホストマシンは、当業者に知られているように、UWBインターフェースを常備する第4のホストマシンの相対位置を三角測量により計算し得ることが理解されよう。UWB搭載ホストマシンの各組間の距離は、送信された各通信プローブの飛行時間を推定することによって計算されてもよいことが理解されよう。1つのホストマシンが座標の基準系の原点として選択される場合、4つのホストマシンの各サブセットによって行われる全ての相対位置測定は、それに従って変換することができる。このようなジオロケーションモジュールは、協調的であり、それゆえに、すべてのホストマシンが動作するために同じ電気通信ネットワーク上にあることを必要とすることが理解されよう。
【0084】
別の実施態様において、ジオロケーションモジュールは、UWBシステムに類似したWi-Fiレンジベースシステムを使用して実装されてもよい。このような実施態様では、ホストマシンは、範囲内の他のホストマシンからの受信信号強度インジケータ(RSSI)を返す能力があるWi-Fiインターフェースを装備する。相対位置は、受信信号強度インジケータ(RSSI)を、例えば経路損失関数のフィッティングによって、推定距離値に変換することで、算出される。三角測量処理は、このように、これらの距離値に基づいてる。
【0085】
当業者は、ジオロケーションモジュールが様々な代替の実施態様に従って提供されてもよいことを理解するであろう。
【0086】
なおも
図1を参照すると、システム10が分散オーケストレータ12を更に備えることが理解されよう。分散システムオーケストレータ12は、複数の異種ホストマシンのうちの少なくとも1つを使用する複数のタスクの実行を管理するために使用されることが理解されよう。複数のタスクは、対応する複数の仮想化要素で構成される。
【0087】
分散システムオーケストレータ12は、分散システムオーケストレータ12が、複数の異種ホストマシンのうちの少なくとも1つの異種ホストマシンを含む電気通信ネットワークの一部になることを可能にする電気通信アプリケーションを備え、それによって少なくとも1つの異種ホストマシンと動作的に接続されることが理解されよう。
【0088】
分散システムオーケストレータ12は、タスク割り当てモジュールを更に備える。タスク割り当てモジュールは、複数の仮想化要素の各仮想化要素を、電気通信ネットワーク上に位置する選択されたホストマシンに割り当てるために使用される。仮想化要素の割り当ては、所与の多期間ワークロード配置問題に従って行われることが更に理解されるであろう。
【0089】
所与の多期間ワークロード配置は、各利用可能なホストマシンの現在位置の表示、及び複数のホストマシンの少なくとも1つのホストマシンの各々における対応するリソース利用可能性の表示を少なくとも使用して、分散システムオーケストレータ12によって決定され、かつ少なくとも1つの所与の基準に従う。一実施態様において、多期間ワークロード配置問題は、電気通信ネットワークに参加又は離脱するホストマシンに関連する情報を使用して、分散システムオーケストレータ12によって、決定される。
【0090】
一実施態様において、所与の多期間ワークロード配置問題は、少なくとも1つの電気通信ネットワークプロパティを使用して更に決定されることが、さらに理解されるであろう。少なくとも1つの電気通信ネットワークプロパティ問題は、第1の所与の仮想化要素を所与のホストマシンに転送するためのレイテンシ、第2の所与の仮想化要素を第1の所与のホストマシンから第2の所与のホストマシンに移行するためのレイテンシ、及びネットワークトポロジからなる群から選択されてもよい。
【0091】
実際、分散システムオーケストレータ12は、各ホストマシン上で動作するソフトウェアモジュールを備え、多数のホストマシンのセット内の仮想化及びすべての関連処理(例えば、ルーティングパスの予約)を協調的に管理することが理解されよう。従来の集中型オーケストレーションソリューション、例えば、VMWare vCenter、Docker Swarm、Openstack Heatなどとは異なり、分散システムオーケストレータ12は、ホストマシンの異なるサブセットにローカルシステム情報を交換する能力の権限を与えることによって、仮想化の決定をローカルに保持し、後でリアルタイムに最適なタスク割り当て決定を行う。分散システムオーケストレータ12の目標は、少なくとも1つの所与の基準を最適化するタスク割り当て決定のセットを見つけることである。分散システムオーケストレータ12の分散性は、例えば、ホストマシンの移動性及び一時的な可用性に関連する、急速に変化する物理的構成を有するホストマシンの大規模なセットを管理するために極めて重要である。
【0092】
上述したように、分散システムオーケストレータ12は、タスク割り当てモジュールを備えることが理解されよう。
【0093】
タスク割り当てモジュールは、Mixed-Integer-Non-Linear-Programming(MINP)定式化によって定義される多目的配置問題から構成される。この場合、ワークロード配置問題は、多期間性を有するワークロード(すなわち、いくつかのタスクが同時に実行可能でない場合がある)を処理することを意味することが理解されよう。このため、多期間ワークロード配置問題と称される。
【0094】
ホストマシンのセット(ノード)及びそれらの物理通信リンク(アーク)を表すノード及びアークによって作られたグラフと、ホストマシンのセットの上位に既に配置(マッピング)されたワークロード(アプリケーション)のセット、各々が2つの専用グラフで表現されると考える。ここで、第1は、仮想化要素(ノード)のセット及びそれらが接続されているそれらの通信帯域幅要件方法を表すノード及びアークによって作られ、第2は、仮想化要素(ノード)のセット及びそれらの並列化/直列化制約を表すノード及びアークによって作られ、ホストマシンの集合の上に既に配置(マッピング)されている。
【0095】
また、前述の2つのグラフで表され、ホストマシンセットの上位に配置(マッピング)されることを要求している、第2のワークロードのセットも考慮する。
【0096】
多期間ワークロード配置問題は、配置決定、例えば、各ホストマシン上でどのワークロードノードを仮想化するか、異なるワークロードノードの組間にどのルーティングパスを割り当てるか、どのワークロードノードを待機キューに入れるか、アクティブなホストマシンノードに既に配置されているどのワークロードを異なるホストマシンに移行するか、ホストマシンをどこに移動するか、どのホストマシンを専用の通信ロールに割り当てるか等を定義するオーケストレーション処理の数学的表現であると理解されるであろう。
【0097】
多期間ワークロード配置問題は、配置決定のどの組み合わせが、システムパラメータ、例えば、ホストマシンの最大リソース又はネットワークリンクの最大帯域幅に関して、実行可能であると考えられるかも定義することが理解されよう。
【0098】
一実施態様において、多期間ワークロード配置問題は、所与のイベントに応じて修正される。
【0099】
所与のイベントは、一実施態様では、利用可能なリソースの変化を含むことが理解されよう。
【0100】
一実施態様において、多期間ワークロード配置問題の修正は、仮想化要素を第1の所与のホストマシンから第2の所与のホストマシンに直接転送することを含むことが、さらに理解されよう。
【0101】
一実施態様において、分散システムオーケストレータ12の電気通信アプリケーションは、多期間ワークロード配置問題に従って専用の適切なルーティング経路を予約することが、理解されよう。
【0102】
各仮想化要素は、上記の一連の処理リソース及びキャパシティに関連する要件を有することが理解されよう。ホストマシンの上位に仮想化要素の配置するの環境では、処理リソースの必要量は、ホストマシンから対応する仮想化要素に割り当てられる。利用可能な処理リソースは、アイドル状態のホストマシンによって提供される処理リソースの総量と、その上に既にマッピングされた仮想化要素に現在割り当てられているものとの間の差として計算される。
【0103】
多期間ワークロード配置問題は、それゆえに、多期間配置(タスク割り当て)ソリューション(構成)を計算するとき、分散オーケストレータが最適化すると思われる多目的関数を定義することが理解されよう。各目的コンポーネントは、基準とも呼ばれることが理解されよう。基準は、様々なタイプであってよいことが理解されよう。一実施態様において、少なくとも1つの基準は、ホストマシン利用コストの最小化、移行回数の最小化、エネルギー消費量の最小化、拒否ワークロードの最小化、ホストマシン物理移動の最小化、少なくとも1つの所与のホストマシンのスループット、ホストマシンの少なくとも2組間のスペクトル共有動作、ホストマシンの少なくとも2組間の干渉、等からなる群から選択される。
【0104】
所与の多期間ワークロード配置問題は、少なくとも1つの電気通信ネットワークプロパティを使用して更に決定されることが理解されよう。
【0105】
少なくとも1つの電気通信ネットワークプロパティ問題は、第1の所与の仮想化要素を所与のホストマシンに転送するためのレイテンシ、第2の所与の仮想化要素を第1の所与のホストマシンから第2の所与のホストマシンに移行するためのレイテンシ、及びネットワークトポロジの少なくとも1つを含むことをさらに理解されよう。
【0106】
所与のイベントは、分散型オーケストレーションによる新しい配置ソリューションの再計算の必要性を誘発するイベントであることが理解されよう。それらのイベントは、新しいワークロードの到着、予期しない仮想化要素のリソース消費の振る舞いによりホストマシンで観測されたリソース不足、利用不足閾値のトリガー、ホストマシンの離脱、新しいホストマシンの到着、同じワークロード(アプリケーション)の別のタスクの配置をブロックしていたタスクの終了を含む。
【0107】
一実施態様において、ジオロケーションモジュールは、対応するホストマシンの可能な未来の位置の表示を更に提供することが理解されよう。このような場合、所与の多期間ワークロード配置問題は、対応するホストマシンの可能な未来の位置の表示を使用して更に決定される。
【0108】
一実施態様において、各異種ホストマシンは、対応するレピュテーションの表示が割り当てられることが理解されよう。このような場合、所与の多期間ワークロード配置問題は、対応するレピュテーションの表示を使用して更に決定される。
【0109】
各異種ホストマシンは、対応する利用可能なエネルギーのレベルの表示を提供するためのエネルギーモジュールを備えることがさらに理解されよう。このような場合、所与の多期間ワークロード配置問題は、対応する利用可能なエネルギーのレベルの表示を使用して更に決定される。
【0110】
異種動的環境における複数のタスクの実行を可能にするための方法も開示されていることが理解されよう。
【0111】
処理ステップ100によれば、複数の異種ホストマシンが提供される。各所与の異種ホストマシンは、対応する処理リソースを有する。各所与の異種ホストマシンは、所与の異種ホストマシンを少なくとも1つの他の異種ホストマシンとともに電気通信ネットワークの一部にすることを可能にするための電気通信アプリケーションを備える。各所与の異種ホストマシンは、対応する処理リソースを使用する受信した仮想化要素を実行するための仮想化エンジンを更に備える。各所与の異種ホストマシンは、所与の異種ホストマシンの現在位置の少なくとも一つの表示を提供するためのジオロケーションモジュールを備える。
【0112】
処理ステップ102によれば、分散システムオーケストレータは、複数の異種ホストマシンの少なくとも1つを使用する複数のタスクの実行を管理するために、分散システムオーケストレータを複数の異種ホストマシンの少なくとも1つの利用可能な異種ホストマシンを含む電気通信ネットワークの一部にするようにするための対応する電気通信アプリケーションと、電気通信ネットワーク上に位置する選択された異種ホストマシンに複数の仮想化要素の各仮想化要素を割り当てるタスク割り当てモジュールとを有して、提供される。
【0113】
処理ステップ104によれば、実行するための複数のタスクが、分散システムオーケストレータを使用して受信される。各タスクは、対応する複数の仮想化要素を備える。
【0114】
処理ステップ106によれば、各利用可能な異種ホストマシンの現在の位置の表示が、分散システムオーケストレータを使用して取得される。
【0115】
処理ステップ108によれば、各利用可能な異機種ホストマシンのリソース利用可能性の表示が、分散システムオーケストレータを使用して取得される。
【0116】
処理ステップ110によれば、多期間ワークロード配置問題が、受信した各利用可能な異種ホストマシンの現在の位置の表示と、各利用可能な異種ホストマシンのリソース利用可能性の表示とを使用する分散システムオーケストレータによって、決定される。
【0117】
処理ステップ112によれば、複数のタスクの各タスクに対して、複数の対応する仮想化要素の各対応する仮想化要素が、決定された多期間ワークロード配置問題を使用して、対応するホストマシンに割り当てられる。
【0118】
1つ以上の実施態様において、本方法は、対応する異種ホストマシンを使用する割り当てられた仮想化要素の各々を実行するステップを更に備える。
【0119】
本方法の11つ以上の実施態様において、電気通信ネットワークは、仮想アドホックモバイル通信ネットワークを含む。
【0120】
1つ以上の実施態様において、本方法は、所与のイベントに応じて、多期間ワークロード配置問題を修正するステップを更に備える。1つ以上の実施態様では、所与のイベントは、利用可能なリソースの変化を含む。
【0121】
本方法の1つ以上の実施態様において、多期間ワークロード配置問題を修正するステップは、所与の仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに転送することを備える。
【0122】
本方法の1つ以上の実施態様において、多期間ワークロード配置問題を決定するステップは、電気通信ネットワークの少なくとも1つのプロパティを使用して更に行われる。
【0123】
本方法の1つ以上の実施態様において、本方法は、複数の異種ホストマシンの各々から、可能な未来の位置の表示を受信するステップを更に備え、さらに、多期間ワークロード配置問題を決定するステップは、受信した可能な未来の位置の表示を使用して更に行われる。
【0124】
本方法の1つ以上の実施態様において、本方法は、複数の異種ホストマシンの各々対して、対応するレピュテーションの表示を割り当てるステップを更に備え、さらに、多期間ワークロード配置問題を決定するステップは、複数の対応するレピュテーションの表示を使用して更に行われる。
【0125】
本方法の11つ以上の実施態様において、本方法は、複数の異種ホストマシンの各々において対応する利用可能なエネルギーのレベルの表示を取得するステップを更に備え、さらに、多期間ワークロード配置問題を決定ステップは、対応する利用可能なエネルギーのレベルの取得した表示を使用して更に行われる。
【0126】
上記に開示されたシステム及び方法は、様々な理由から大きな利点を有することが理解されよう。
【0127】
第1の理由は、動的環境において複数のタスクを実行するための複数の異種ホストマシンを使用することを可能にすることである。
【0128】
もう一つの理由は、異種ホストマシンの使用を可能にすることである。
【0129】
上記の説明は、本発明者によって現在企図されているような特定の好ましい実施態様に関するものであるが、本発明は、その広い局面において、本明細書に記載された要素の機能的等価物を含むことが理解されよう。
【0130】
本開示の態様は、以下の付記項に列記するとおりである。
(付記)
【0131】
1.異種動的環境における複数のタスクの実行を可能にするシステムであって、該システムは、
複数の異種ホストマシンであって、各異種ホストマシンが、対応する処理リソースを特徴とし、各異種ホストマシンは、
前記異種ホストマシンを少なくとも1つの他の異機種ホストマシンとともに電気通信ネットワークの一部にするための電気通信アプリケーションと、
前記異種ホストマシンの前記対応する処理リソースを使用する受信した仮想化要素を実行するための仮想化エンジンと、
前記対応する異種ホストマシンの現在位置の少なくとも一つの表示を提供するジオロケーションモジュールと、
を備える、複数の異種ホストマシン、
前記複数の異種ホストマシンの少なくとも1つを使用する複数のタスクの実行を管理するための分散システムオーケストレータであって、前記複数のタスクは、対応する複数の仮想化要素で構成されており、前記分散システムオーケストレータは、
前記分散システムオーケストレータが、前記複数の異種ホストマシンのうちの少なくとも1つの異種ホストマシンを含む前記電気通信ネットワークの一部になることを可能にするための電気通信アプリケーションと、
前記複数の仮想化要素の各仮想化要素を前記電気通信ネットワーク上に位置する選択された異種ホストマシンに割り当てるためのタスク割り当てモジュールであって、前記仮想化要素の割り当ては、所与の多期間ワークロード配置問題に従って行われ、前記所与の多期間ワークロード配置問題は、少なくとも、各利用可能な異種ホストマシンの現在の位置の前記表示、及び前記複数の異種ホストマシンの少なくとも一つの異種ホストマシン内の対応するリソース利用可能性の表示を使用して、前記分散システムオーケストレータにより決定され、かつ少なくとも一つの所与の基準にしたがう、タスク割り当てモジュールと、
を備える、分散システムオーケストレータ
を備える、システム。
【0132】
2.付記1に記載のシステムであって、前記多期間ワークロード配置問題は、前記電気通信ネットワークに参加又は離脱する異種ホストマシンに関連する情報を使用する前記分散システムオーケストレータによって、決定される、システム。
【0133】
3.付記1~2のいずれかに記載のシステムであって、前記電気通信ネットワークは、仮想アドホックモバイル通信ネットワークを含む、システム。
【0134】
4.付記1~3のいずれかに記載のシステムであって、前記多期間ワークロード配置問題は、所与のイベントに応じて修正される、システム。
【0135】
5.付記4に記載のシステムであって、前記所与のイベントは、利用可能なリソースの変化を含む、システム。
【0136】
6.付記4に記載のシステムであって、前記多期間ワークロード配置問題の前記修正は、仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに直接転送することを備える、システム。
【0137】
7.付記1~6のいずれかに記載のシステムであって、前記異種ホストマシンは無線ホストマシンであり、さらに、前記少なくとも1つの所与の基準は、
ホストマシン利用コストの最小化、
移行回数の最小化、
エネルギー消費量の最小化、
拒否されたワークロードの最小化、
ホストマシンの物理的な移動の最小化、
少なくとも1つの所与のホストマシンのスループット、
少なくとも2組のホストマシン間のスペクトル共有振る舞い、及び
少なくとも2組のホストマシン間の干渉、
からなる群から選択される、システム。
【0138】
8.付記1~7のいずれかに記載のシステムであって、前記分散システムオーケストレータの前記電気通信アプリケーションは、前記多期間ワークロード配置問題に従って、専用の適切なルーティング経路を予約する、システム。
【0139】
9.付記1~8のいずれかに記載のシステムであって、前記所与の多期間ワークロード配置問題は、少なくとも1つの電気通信ネットワークプロパティを使用して更に決定される、システム。
【0140】
10.付記9に記載のシステムであって、前記少なくとも1つの電気通信ネットワークプロパティ問題は、
第1の所与の仮想化要素を所与の異種ホストマシンに転送するためのレイテンシ、
第2の所与の仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに移行するためのレイテンシ、及び
ネットワークトポロジ、
の少なくとも1つを含む、システム。
【0141】
11.付記1~10のいずれかに記載のシステムであって、前記ジオロケーションモジュールは、前記対応する異種ホストマシンの可能な未来の位置の表示を更に提供し、さらに、前記所与の多期間ワークロード配置問題は、前記対応する異種ホストマシンの可能な未来の位置の前記表示を使用して更に決定される、システム。
【0142】
12.付記1~11のいずれかに記載のシステムであって、各異種ホストマシンは、対応するレピュテーションの表示が割り当てられており、さらに、前記所与の多期間ワークロード配置問題は、対応するレピュテーションの前記表示を使用して更に決定される、システム。
【0143】
13.付記1~12のいずれかに記載のシステムであって、各異種ホストマシンは、対応する利用可能なエネルギーのレベルの表示を提供するためのエネルギーモジュールを備え、さらに、前記所与の多期間ワークロード配置問題は、対応する利用可能なエネルギーのレベルの前記表示を使用して更に決定される、システム。
【0144】
14.異種動的環境における複数のタスクの実行を可能にする方法であって、該方法は、
複数の異種ホストマシンを提供するステップであって、各所与の異種ホストマシンが対応する処理リソースを有し、各所与の異種ホストマシンは、
前記所与の異種ホストマシンを、少なくとも1つの他の異種ホストマシンとともに電気通信ネットワークの一部にすることを可能にするための電気通信アプリケーション、
前記対応する処理リソースを使用する受信した仮想化要素を実行するための仮想化エンジン、及び
前記所与の異種ホストマシンの現在位置の少なくとも1つの表示を提供するジオロケーションモジュール、
を備える、ステップと、
分散システムオーケストレータを提供するステップであって、前記分散システムオーケストレータは、前記分散システムオーケストレータが前記複数の異種ホストマシンのうちの少なくとも1つの利用可能な異種ホストマシンを含む前記電気通信ネットワークの一部になることを可能するための対応する電気通信アプリケーション、及び前記複数の仮想化要素の各仮想化要素を前記電気通信ネットワークに位置する選択された異種ホストマシンに割り当てるためのタスク割り当てモジュールを有する前記複数の異種ホストマシンの少なくとも1つを使用する複数のタスクの実行を管理する、ステップと、
前記分散システムオーケストレータを使用して、各タスクが対応する複数の仮想化要素を備える、実行すべき複数のタスクを受信するステップと、
前記分散システムオーケストレータを使用して、各利用可能な異種ホストマシンの現在の位置の表示を取得するステップと、
前記分散システムオーケストレータを使用して、各利用可能な異種ホストマシンのリソース利用可能性の表示を取得するステップと、
前記分散システムオーケストレータを使用して、前記受信した各利用可能な異機種ホストマシンの現在の位置の表示、及び各利用可能な異種ホストマシンのリソース利用可能性の前記表示を使用して、多期間ワークロード配置問題を決定するステップと、
前記複数のタスクの各タスクに対して、前記決定された多期間ワークロード配置問題を使用して、前記複数の対応する仮想化要素の各対応する仮想化要素を、対応するホストマシンに割り当てるステップと、
を備える、方法。
【0145】
15.付記14に記載の方法であって、前記対応する異種ホストマシンを使用する前記割り当てられた仮想化要素の各々を実行するステップを更に備える、方法。
【0146】
16.付記14~15のいずれかに記載の方法であって、前記電気通信ネットワークは、仮想アドホックモバイル通信ネットワークを含む、方法。
【0147】
17.付記14~16のいずれかに記載の方法であって、所与のイベントに応じて、前記多期間ワークロード配置問題を修正するステップを更に備える、方法。
【0148】
18.付記17に記載の方法であって、前記所与のイベントは、利用可能なリソースの変化を含む、方法。
【0149】
19.付記14~17のいずれかに記載の方法であって、前記多期間ワークロード配置問題を修正する前記ステップは、所与の仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに転送することを備える、方法。
【0150】
20.付記14~19のいずれかに記載の方法であって、前記多期間ワークロード配置問題を決定する前記ステップは、前記電気通信ネットワークの少なくとも1つのプロパティを使用して更に行われる、方法。
【0151】
21.付記14~20のいずれかに記載の方法であって、前記複数の異種ホストマシンの各々から、可能な未来の位置の表示を受信するステップを更に備え、さらに、前記多期間ワークロード配置問題を決定する前記ステップは、前記受信した可能な未来の位置の表示を使用して更に行われる、方法。
【0152】
22.付記14~21のいずれかに記載の方法であって、前記複数の異種ホストマシンの各々に対して、対応するレピュテーションの表示を割り当てるステップを更に備え、さらに、前記多期間ワークロード配置問題を決定する前記ステップは、前記複数の対応するレピュテーションの表示を使用して更に行われる、方法。
【0153】
23.付記14~22のいずれかに記載の方法であって、前記複数の異種ホストマシンの各々において対応する利用可能なエネルギーのレベルの表示を取得するステップを更に備え、さらに、前記多期間ワークロード配置問題を決定する前記ステップは、前記対応する利用可能なエネルギーのレベルの取得した表示を使用して更に行われる、方法。
【0154】
分散型オーケストレーションシステムを通じて、異種動的環境における複数のタスクの実行を可能にする技術的実現方法。
【0155】
【0156】
1 分散型多目的オーケストレータの実装
【0157】
異種動的仮想化対応物理インフラストラクチャの上位で複数のタスクの実行を可能にする分散型多期間オーケストレーションシステムの実用的な実装を提示する。
複数のタスクは:
・リソースを意識している:各タスクは、コンピューティング/ストレージリソース及び/又は物理的キャパシティ(例えば、特定のタイプのセンサ、特定のタイプの物理的メカニズムなど)を要求する場合がある。
・ネットワークを意識している:各タスクは、他のタスクとデータを交換するために一定量のネットワーク帯域幅を要求する場合がある。
・モバイルである:タスクは特定の操作位置に縛られる。
・局所的である:タスクは特定の場所に配置されたホスティングノードに割り当てることができる。
・多期間である:タスクは、タスク間の優先順位、同時性、直列化、及び並列化の関係によって特徴付けられ、各タスクが実際に配置及び実行されるときが規制される。
・保証されたQoSを要求する:ホスティングマシンの可用性及びネットワーク性能の面を厳密に保証する。
・ベストエフォート型QoSを要求する:ホスティングマシンの可用性及びネットワーク性能の面を保証しない。
異種動的仮想化対応物理インフラストラクチャは:
・オポチュニスティックである:一部のホスティングマシンは、事前に計画された態様、及び制御されない態様の両方が出現、離脱する可能性がある。各ホスティングマシンにレピュテーション値を割り当てて、その信頼性及び信用性を評価することができる。
・モバイルである:一部のホスティングマシンは、ホスト仮想化要素の要件を満たすために、所与の位置に移動する能力があってもよい。一部のホスティングマシンは、オーケストレーションシステムの直接的な制御を受けずに自律的に移動してもよい。
・バッテリ駆動である:一部のホスティングマシンは、バッテリの寿命が限られている場合があり、かつ定期的なバッテリ充電が必要なものがある場合がある。
・ワイヤレス、有線、又はその両方である:一部のホスティングマシンが、有線通信リンク―例えばイーサネット接続―で接続されているものがある一方、他のホスティングマシンはD2Dアドホック無線リンクから従来のWi-Fiマネージドリンク及び3G/4G/5G接続まで、異なるタイプの通信リンクを利用する場合がある。
・インターネットに対応している:少なくとも1台のホスティングマシンがグローバルな接続性を有していれば、そのホスティングマシンはグローバルな接続を要求する他のすべてのホスティングマシンのゲートウェイとしてシームレスに機能する。グローバル接続が利用できることは、仮想化対応物理インフラストラクチャの上位で動作するために必須ではない。
・仮想化対応している: ホスティングマシンは、コンピューティング/ストレージリソース、及び物理的なキャパシティ(例えば、特定のタイプのセンサ、特定のタイプの物理的なメカニズムなど)を提供する。ホスティングマシンは、ワイヤレスセンサーネットワーク(WSN)上でゲートウェイ/シンクノードとして機能するセンサのクラスタ全体を管理できることに注意する;これらのセンサクラスタはホストされる仮想化要素に割り当てることができる特定の物理的キャパシティ及びリソースを代表する。
・地理的に広範囲であることができる:2つのホスティングマシンを近隣とみなすのに、地理的な近接性は必要ない。データ交換ができる(例えば、TCPソケットを通じて)ホスティングマシンの組であれば、隣人と見なすことができる。
【0158】
異種動的仮想化対応物理インフラストラクチャの上位で複数のタスクの実行を可能にする分散型多期間オーケストレーションシステムの実践的な実装は、以下のコンポーネントリストに依存する。
【0159】
1.多期間ワークロード生成モジュールは、あらゆるユーザ又はプロセスが、複数のタスクを備える一般的なアプリケーションを、多期間ワークロード配置のために新たに提案された分散型多期間オーケストレータと互換性がある適切な多期間表現に変換することができるようにするためのものである。このコンポーネントは、所与の異種タスクのセットを特徴付けるすべてのパラメータを生成する役割を担当する。分散型多期間オーケストレータは、この補助コンポーネントがなくても実際に動かすことができ、この補助コンポーネントは、オーケストレータと、ネットワークを考慮したパスプランニングの動作を目的とするあらゆるエンティティとの間のインターフェースを表し、システム運用中の仮想化性能の向上に役立つ。
【0160】
2.分散型多期間オーケストレータは、仮想化対応物理インフラストラクチャを表すホスティングマシンのセットの上位に、所与のタスクのセットを時間経過とともにどのように配置(マッピング)するかを最適化する役割を担当する。各分散型多期間オーケストレータのインスタンスには、キー要素は2つである。
・多期間ワークロード配置問題の数学的定式化。
・多期間ワークロード配置問題をリアルタイムで解決するための協調的多期間配置アルゴリズム。
【0161】
3.分散型ストレージサービス(DASS)は、各ホスティングマシン上で動作し、同じホスティングマシンがホストする他のすべてのモジュールにデータ共有/レプリケーションサービスに対応する。例えば、協調的多期間配置アルゴリズムでは、DASSを利用して、多数のホスティングマシン間の調整及び通信を可能にする。
【0162】
4.エネルギーマネージャは、各ホスティングマシン上で、エネルギー消費に関連するパラメータとエネルギー管理プロセスの管理を担当する。
【0163】
5.ネットワークアウェアパスマネージャは、各ホスティングマシン上で、ホストタスク(仮想化要素)が求める位置にホスティングマシンが移動することを要求されるときはいつでも、安定したネットワーク構成及び安定したネットワーク性能を保証する走行経路の計算を担当する。分散型多期間オーケストレータは、この補助コンポーネントなしで動かすことができる。しかしながら、ネットワークアウェアパス計画は、運用中のシステム全体のパフォーマンスを向上させるのに有効である。
【0164】
6.ジオロケーションモジュールは、各ホスティングマシン上で、すべてのジオロケーション関連パラメータの取得/推定/管理を担当する。
【0165】
7.レピュテーションエスティメータは、各ホスティングマシン上で、すべてのレピュテーション関連パラメータの取得/推定/管理を担当する。
【0166】
8.アクセスマネージャは、各ホスティングマシン上で、仮想化対応物理インフラストラクチャのメンバーになることを目的とする新しいホスティングマシンを受け入れる(サーバー側)こと、及び発見されたばかりの仮想化対応物理インフラストラクチャへのアクセスを獲得する(クライアント側)ことを担当する。
【0167】
9.仮想化エンジンは、各ホスティングマシン上で、ホストアプリケーションノードのインスタンス化、監視、実行、停止、移行、分離を担当する。
【0168】
10.電気通信アプリケーションは、各ホスティングマシン上で、他のすべてのアーキテクチャメンバとの接続の保証を担当する。私たちの例では、電気通信アプリケーションの役割は、Wi-Fi Managed、Wi-Fi IBSS、UWB、Bluetooth、xBee 900Mhzインターフェースの上でアドホック仮想ネットワークを構築・管理する能力があるHeterogeneous Embedded Ad-Hoc Virtual Emergency Network(HEAVEN) ミドルウェアに割り振られている。
【0169】
2 数学的表記と定義
【0170】
最初に、分散型多期間オーケストレータの活動を形式化するために、このドキュメント内で使用されている記号―変数、セット、パラメータ―を表2に示し、説明する。
【0171】
【表2-1】
【表2-2】
【表2-3】
【表2-4】
【表2-5】
【表2-6】
【表2-7】
【表2-8】
【表2-9】
【表2-10】
【表2-11】
【表2-12】
【表2-13】
【表2-14】
【表2-15】
【表2-16】
【表2-17】
【表2-18】
表2:すべての数学的表記法の表現。
なお、本文中では、計算子の下線、例えば
は、対応する変数の最適化前の値を定義するために使用される。
【0172】
3 多期間ワークロードの生成
【0173】
協調アプリケーションは、相互に干渉、相互作用、協調する場合がある複数のタスク(ワークロード、アプリケーション要素、アプリケーションノードなどの集合体)と見ることができる。
【0174】
【0175】
分散型多期間オーケストレータによって供給される仮想化対応物理インフラストラクチャの上でアプリケーションを動作することを目指すユーザ又はプロセスは、所与の複数のタスクを2つの仮想グラフGz
V(Vz,Az)及びGz
T(Vz,Uz)に変換しなければならず、各タスクは特定の仮想化要素(同じ仮想化要素内に複数のタスクを詰め込むことができる)にマッピングされる。この変換プロセス中、各仮想化要素のフレーバー(Dockerコンテナのタイプ、Ubuntu仮想マシンのタイプなど)、CPU及びRAM要件など、関連するアプリケーションパラメータが設定される。
【0176】
この操作は、当然ながら以下のユーザインターフェース(UI)を通じて行うことができる。
・ウェブベースのアプリケーション
・モバイルアプリケーション
・Windows、MAC、又はLinuxコンピュータ上で動作する任意の専用ソフトウェア
【0177】
UIに接続された多期間ワークロード生成コンポーネントは、仮想化対応物理インフラストラクチャの少なくとも1台のホスティングマシンとネットワーク接続されていなければならない。仮想化対応物理インフラストラクチャの少なくとも1台のホスティングマシンがグローバルインターネット接続を有していれば、多期間ワークロード生成コンポーネントをクラウド内のどこかで動作させることができ、さもなければ、1台のホスティングマシンを直接動作させるのと同様に、仮想化対応物理インフラストラクチャの少なくとも1台のホスティングマシンにローカル接続された任意のデバイスで動作する必要がある。後者の場合、ユーザと分散型他期間オーケストレータとの間のやりとりは、セクション12で説明した電気通信アプリケーションが提供する通信リンクによって可能になる。
【0178】
原則的には、任意の共同アプリケーション(複数のタスク)は、対応するGz
V(Vz,Az)とGz
T(Vz,Uz)のグラフの組に変換することができる。
【0179】
このような共同アプリケーションの例は、以下を含む。
・共同ホームオートメーションアプリケーション。
・自律型UAVによる3Dマッピングミッション
・自律型UAVによる監視ミッション
・カメラによる共同監視アプリケーション
・自律型道路照明管理アプリケーション。
【0180】
多期間ワークロード生成プロセスにより、分散型多期間オーケストレータは、異質性の高いアプリケーションのセット(複数のタスク)を管理することができる。とりわけ、モビリティ要件の観点からの異質性に重点を置くようにする。
・静的アプリケーション(複数のタスク):グラフGz
V(Vz,Az)のすべての仮想化要素は、静的/固定ホスティングマシンでホストされることができる。
・ハイブリッドアプリケーション(複数のタスク):グラフGz
V(Vz,Az)の少なくとも1つの仮想化要素は、モバイル(位置変更可能)ホスティングマシン上でホストされることを要求される。
・モバイルアプリケーション(複数のタスク):グラフGz
V(Vz,Az)のすべての仮想化要素は、モバイル(位置変更可能)ホスティングマシンでホストされなければならない。
【0181】
3.1 仮想化要素の特徴づけ
【0182】
既に述べたように、多期間ワークロード生成プロセス中、(元の複数のタスクから)1つ以上のアプリケーションタスクを表す各仮想化要素は、対応するパラメータのセットによって特徴付けられなければならない。これらのパラメータにより、後ほど、分散型多期間オーケストレータは、仮想化対応物理インフラストラクチャの上位に、各仮想化要素を最適に配置することができるようになる。以下に、これらのパラメータの詳細な一覧を示す。
【0183】
仮想化要素パラメータを設定する以外に、ユーザは以下のことを要求される場合があることを指摘しておく必要がある。
・オーケストレータがセクション3.2で説明するグラフ変換をトリガーするために、希望する信頼性レベルΠを選択する。
・所望のネットワークの信頼性レベルΛを、Λのルーティングパスが、トラフィック需要毎にアクティブにするよう求めるように選択する。
・ストレージとコンピューティング構成を分離し、セクション3.3で説明するグラフ変換をトリガーすることを許可するオプションにフラグを立てる。
【0184】
さらに、所与のアプリケーション(多期間ワークロード)がベストエフォート型のQoS要件をちょうど有する場合、その可用性期間と、多数の仮想化要素間で確保される帯域幅を考慮せずに、任意の種類のホスティングマシンを配置できることを意味することに注意する。この場合、空集合A
z並びに、それに対応する
(外1)
を有するアプリケーショングラフを作成すれば十分であろう。この仮想化要素は、このように、ビジー状態のノード、又は移動が制御されていないノードなど、どのノードにも配置することができる。
【0185】
3.2 耐障害性への意識
【0186】
ハードウェア障害の悪影響を最小限に抑えるため、各仮想化要素のΠ個のコピーを異なる物理サーバーに配置し、かつオリジナルと複製された仮想要素間で一定量の帯域幅を確保して、後者を最新に保つために生成されるデータフローをサポートする。
【0187】
このプロセスは,3.3で示すものに似た仮想グラフG
v(V,A)の変換を通じて自然にモデル化することができる。
図4に示すように、アプリケーションv∈Vの各仮想化要素i∈V
zに対して、Π個の仮想ノードh
j∀
j∈{1,...,Π}(同じリソース要求phiを有する)が作成され、かつ2つのバックアップトラフィック要求(i,h
j)及び(h
j,i)∈A
zによってiに接続される。
【0188】
複製された仮想化要素はリソースを消費しないことに注意したい。しかしながら、適切な量のコンピューティング/ストレージリソース及び物理キャパシティ(元の要素と同じ)は、元の仮想化要素に障害が発生した場合に要件が満たされることを保証するために、確保しなければならない。
【0189】
3.3 ストレージ分割の変換
【0190】
ストレージリソースが、コンピューティングリソースに対応するマシンに対して、異なるホスティングマシンに割り当てられることが許可されている場合(例えば、Amazon Elastic Bock Store[1]を参照のこと)、アプリケーショングラフは次のように変更される(
図5も参照のこと)。
・アプリケーションz∈Zの各仮想化要素i∈V
zは、以下を有する新たに2つの異なる仮想化要素jとhに分割される。
-jは、以下を有するコンピューティングノードである。
※パラメータφ
jrを強制的に0にする∀
r∈R∩{SSD,HDD}(ストレージ領域不要)
※φ
jr=φ
ir∀r∈R∩{CPU,GPU,RAM}、すなわち従来の計算リソース、グラフィック処理リソース、及びRAMリソースが変化しない。
※ρ
jkr=ρ
ikr∀k∈K
r,∀r∈R,すなわち、すべての互換性要件が変化しない。
-hは、以下を有するストレージノードである。
※パラメータφ
hrを強制的に0にする∀r∈R∩{CPU,GPU,RAM}(コンピューティングリソース及びメモリリソースが要求されない。)
※φ
hr=φ
ir∀r∈R∩{HDD,SSD}、すなわち低速・高速のコンピューティング空間リソース要件が変化しない。
※パラメータρ
jkrを強制的に1にする∀k∈K
r,∀r∈R、すなわち互換性要件はすべて無視される。
ストレージノードでの読み出し操作と書き込み操作の両方について、求められたデータレート転送を保証するために必要なネットワーク帯域幅δ
z
jhを考慮するために、アプリケーションz∈Zのトラフィック需要セットA
zに追加の双方向トラフィック要求(j,h)が追加される。
【0191】
3.4 他のモジュールとの相互作用
【0192】
同じアプリケーションに属する複数のタスクが、多期間ワークロードを表す対応するグラフの組に完全に変換されると、先ほど説明したパラメータの全体のセットが、少なくとも1台のホスティングマシンの分散型多期間オーケストレーションインスタンスに転送される。ユーザが、仮想化対応物理インフラストラクチャの上位に既に配置されている多期間ワークロードのパラメータを変更するたびに、同じプロセスが繰り返される。
【0193】
アプリケーション(多期間ワークロード)のライフサイクル中、配置要求を最初に受け取ったホスティングマシンは、仮想化要素の状態、例えば、平均性能、キューに入れられた仮想化要素のID、関与するホスティングマシンの位置などについて、発信元の多期間ワークロード生成モジュールに更新し続ける。
【0194】
これら2つのモジュール間のアプリケーション関連情報の継続的なフローにより、多期間自然分散型オーケストレーションシステムを利用して、新しい仮想化要素(アプリケーションノード)をリアルタイムで生成することが可能になる。このメカニズムは、すでに動作している仮想化要素のリアルタイム出力により駆動される。リアルタイムでの仮想化要素(ワークロード)生成が、UAVによって動作する3Dマッピングアプリケーションの環境においてどのように活用されるかについては、セクション3.5を参照のこと。
【0195】
3.5 例:UAVによる自律型3Dマッピング
【0196】
自律型3Dマッピングのミッションは、
図6に表される3段階(多期間)のワークフローで特徴づけることができる。
1.ステージ1:フォトコレクション
2.ステージ2:最適な3D再構築構成の計算。
3.ステージ3:協調的3D再構築。
【0197】
【0198】
さらにグラフG
V(V
z,A
z)及びG
T(V
z,U
z)に対して、(セクション3.3で説明したロジックに従って)変換を行ない、コンピューティングとストレージのアプリケーションノードを分離してもよいことは,指摘しておきたい(
図8を参照のこと)。
図8では,双方向の青い矢印がストレージのトラフィック需要を表していることに注意されたい。同様に、グラフG
V(V
z,A
z)及びG
T(V
z,U
z)は、セクション3.2で説明した手順に従って、対応するΠの信頼性のバージョンに変換することができる。
【0199】
結論として、新しい分散型多期間オーケストレーションシステムの多期間という性質は、アプリケーション設計者に、既に動作している仮想化要素(アプリケーションノード)の出力に従って、仮想化要素(アプリケーションノード)の一部をオンデマンド方式でリアルタイムに生成できるアプリケーション(多期間ワークロード)を動作させることをできるようにすることに注意する。例えば、3Dマッピングの例では、3D処理の仮想化要素(アプリケーションノード)の数は、3Dオプティマイザ仮想化要素内で動作する最適化アルゴリズムによって動的に計算されてもよい。このアルゴリズムは、3D再構築計算時間を最小化するために並行して再構築されるべきサブ領域の数を決定するように設計されている。そうでなければ、3D処理アプリケーションノードの数をあらかじめ決めておくことで、3Dオプティマイザ仮想化要素は、これらの3D処理ノードのうちどれをアクティブにするべきか決めるだけになる。新しい多期間オーケストレーション方式は、アプリケーションの開発/計画ステージ中において、アプリケーションの設計者/所有者にかなりの自由度が与えられる。
【0200】
4 タスク割り当てモジュール
【0201】
タスク割り当てモジュールは、分散型多期間オーケストレータの中核である。このモジュールは、1つ以上の所与の基準を最適化し、かつ所与のシステム制約のセットを尊重しながら、各仮想化要素をホスティングマシンの上にマッピングする方法を記述した多期間配置ソリューションを計算する責任を負う。タスク割り当てモジュールの主要ブロックは、2つの強く結びついたコンポーネントで構成される。
・多期間ワークロード配置問題の数学的定式化。
・多期間ワークロード配置問題をリアルタイムで解く、協調的な多期間配置アルゴリズム。
【0202】
本書では、タスク割り当てモジュールは、分散型多期間オーケストレータとも呼ばれることに注意する。
【0203】
4.1 多期間ワークロード配置問題
【0204】
多期間ワークロード配置問題は、利用可能な仮想化対応物理インフラストラクチャの上位に、多様な多期間ワークロードを仮想化するために実施されるオーケストレーションプロセスを、数学的に表現したものである。この最適化問題は、表2で提示済みのすべての定義を活用することで得られる。
【0205】
【0206】
【0207】
8つのコスト構成要素を最小化するために
1.全体的なエネルギー消費量-viバイナリ変数。
2.全体的なリンク遅延コスト-τij非負の実変数。
3.全体的なリソース利用コスト-uir非負の実変数。
4.全体的な拒否コスト-gzバイナリ変数。
5.全体的な移行コスト-wz
ijバイナリ変数。
6.全体的な無線セル輻輳コスト-τi非負の実変数。
7.ノード全体の移動-ν ̄X
i及びν ̄Y
i非負の実変数。
8.全体的な不確実性コスト-ψz
ij非負の実変数。
【0208】
以下を含む多数の問題の制約を尊重しながら、
・優先順位/同時性/直列化/並列化の要求を尊重。
・ネットワークの需要要件を満たしながら、ネットワークキャパシティを尊重。
・リソースの需要要件を満たしながら、リソースの利用可能性を尊重。
・ジオロケーション及びモバイルの制限を尊重。
・レピュテーションレベルを尊重。
・優先的な要求を尊重。
・その他。
【0209】
いくつかの問題変数は、分散型多期間オーケストレータの直接的な決定を表さないものがあることに注意する。それらは、代わりに、目的関数構成要素を定量化し、かつ主決定変数によって作成される副次的効果を評価するための補助変数として使用される。これらの変数は、表2に記載されている。
【0210】
多期間ワークロード配置問題は、以下の混合整数非線形プログラミング(MINP)定式化によって正式に表現することができる。これは、対応する記述の場所を作るために、一度に一群の方程式を提示する。
【0211】
多目的関数
【0212】
まず、8つの異なるコスト最小化構成要素で作られる多目的関数から始める。
1.全体のエネルギー消費量。
2.全体的なリンク利用コスト(金銭的な価格とも解釈できる)。
3.リソース利用コスト(金銭的な価格とも解釈できる)。
4.拒否ペナルティコスト。アプリケーションの拒否、及び単一の仮想化要素(アプリケーションノード)の拒否の両方を考慮することに注意する。
5.全体的な移行コスト。オポチュニスティック物理移行は、アクティブな物理移行に対して、より低いコストであることに注意する。
6.全体的な無線セル利用コスト。
7.全体的なホスティングマシン移動コスト。
8.全体的な不確実性コスト。
【0213】
【0214】
基本的な配置ルール
【0215】
最初に追加する制約条件群は、アプリケーションノードの基本的な配置ルールに関係する。
【0216】
【0217】
【0218】
式(2)は、分散型多期間オーケストレータがアプリケーションノードを複数回配置することを防止し、一方で、式(5)は、分散型多期間オーケストレータが以前の最適化ラウンド中に既に配置された仮想化要素(アプリケーションノード)を削除することを防止する。式(4)によれば、任意の仮想化要素(アプリケーションノード)をホストするためには、ホスティングマシンがアクティブ化されていなければならず、また、分散型多期間オーケストレータはホスト化される仮想化要素の互換性要件(ρ及びηパラメータ)を尊重しなければならない。式(3)は、アプリケーションz∈Zの仮想化要素(アプリケーションノード)i∈V
zが、ホスティングマシンi∈Nが後にビジーでない場合、又は既にホスティングマシン上に配置されている場合にのみ配置できることを述べている。ビジー状態のホスティングマシンは、典型的には、分散型多期間オーケストレータと同様に、仮想化要素の特定のタスクを行う過程での移動するホスティングマシンであることを想起されたい(例えば、ネットワーク性能を向上させるための移動)。式(6)によれば、アプリケーションz∈Zは、その必須の仮想化要素(アプリケーションノード)i∈Vz|β
i=1が現在の最適化ラウンド中に配置される場合にのみ、「配置された(g
z=1)」とみなされる。同様に、式(7)は、アプリケーションが、その仮想化要素(アプリケーションノード)の少なくともβ ̄
zが現在の最適化ラウンド中に配置することができる場合にのみ、「配置された」とみなされることを述べる。式(8)は、分散型多期間オーケストレータに次の優先関係を尊重するように指示する:
(外2)
を特徴とするアプリケーションz∈Zの2つの仮想化要素(アプリケーションノード)i,j∈V
z|i/=jであり、仮想化要素(アプリケーションノード)jは、同じく仮想化要素(アプリケーションノード)iも正常に配置できる場合にのみ、この最適化ラウンドで配置することができる。若干異なるのは、むしろ式(9)の意味であり、χ ̄
ij
z=χ ̄
ji
z=1を特徴とする同じアプリケーションz∈Zの2つの仮想化要素(アプリケーションノード)i,j∈V
z|i/=jを(異なるホストマシン上でも)同じ最適化ラウンドに配置することを強制する。同じアプリケーションz∈Zの2つの仮想化要素(アプリケーションノード)i,j∈V
z|i/=jが、同じマシンχ ̄
ij
z=χ ̄
ji
z=1上に共置されたときに一緒に動作できない場合、式(10)は、それらの仮想化要素(アプリケーションノード)のうちの1つがその動作を終了した場合にのみ、共置を許可するために使用される。最後に式(11)は、Σ
ij=1を特徴とするアプリケーションz∈Zの仮想化要素(アプリケーションノード)i,j∈V
z|i/=jの特定の組を強制的に共置させるものである。また、変数y ̄を定義するために必要な新しい共置制約(12)~(14)をここで定義する。これらの変数は、後でリソース利用可能性制約に利用されるからである。最後に、式(15)~(18)は、基本配置変数x、ノード活性化変数v、アプリケーション配置変数gのドメインを定義する。
【0219】
リソースの割り当て
【0220】
対応するホスティングマシンのセットを正しく管理するために、分散型多期間オーケストレータは、仮想化要素(アプリケーションノード)の所望のサブセットをホストするために、各ホスティングマシンで十分なリソースが利用可能であることを保証しなければならない。また、分散型多期間オーケストレータは、いくつかの仮想化エレメント(アプリケーションノード)が同じホスティングマシン上に配置されたときに同じ量のリソースを共有できる可能性があることを考慮しなければならない。以下の制約群が、物理リソースを正しく管理するために導入される。
【0221】
【0222】
式(20)~(23)は、いくつかの仮想化要素(同じアプリケーションタイプSzに属し、かつリソースを共有できるもの、パラメータq ̄参照)がそのリソースの一部を共有する場合を考慮し、ホスティングマシンのリソースが可用性を超えて消費されないことを保証する。同じ原則は、各ホスティングマシンのリソース利用コストを評価するために使用されるリソース利用コスト制約(24)にも考慮される。式(25)~(28)は、アプリケーションz∈Zの仮想化要素(アプリケーションノード)i∈Vzがそのブロック動作を終了し、かつそのリソースを共有できる同じタイプs∈Szの完全にアクティブな仮想化要素(アプリケーションノード)jと共置される場合、1に等しい共同ロケーション変数Υz
ijを正しく計算するために使用される。最後に、式(29)~(30)は、同じタイプの他のアクティブな仮想化要素(アプリケーションノード)との共置のために、そのトラフィックが考慮されるべきではないトラフィック要求を決定するために使用される。完全を期すために、式(31)~(35)は今紹介した変数のドメインを定義する。
【0223】
ジオロケーション制約
【0224】
ホスティングマシンの位置に関するすべての制約と、それに対応する遵守すべき配置ルールを紹介する。
【0225】
【0226】
【0227】
式(36)~(39)は、2つの異なるホスティングマシンi,j∈N|i/=j間のX-Y距離を計算することを可能にする。同様に、式(40)~(43)は、同一のホスティングマシンi∈Nの最適化前と最適化後の位置間のX-Y距離の推定に使用される。式(44)は、アプリケーションz∈Zの仮想化要素(アプリケーションノード)i∈Vzが、ワークロード生成フェーズ中にアプリケーションによって定義されたFOA内に敷設されたホスティングマシンj∈Nの上位にのみ配置されることを可能にする。式(45)~(48)は、各ホスティングマシンを、ホストされる仮想化要素(アプリケーションノード)が要求する位置(アプリケーションDOA内の有効な調整されたセット)の方に強制的に移動させる。このように、ホスティングマシンは、重ならないDOAに関連する2つの異なる仮想化要素(アプリケーションノード)を、同時にホストすることはできない。一方で、式(45)~(48)は、ホスティングマシンがその矩形AOAの境界を越えて移動することを防止する。これらの式は、任意の領域の形状を考慮するために容易に修正できることを想起させる。完全を期すために、式(53)~(55)は、今紹介した変数の領域を定義する。
【0228】
バッテリ管理の制約
【0229】
移動するノードは無制限の電源に接続されていない場合がある。この理由のため、任意の最適化ラウンドにおいて、分散型多期間オーケストレータは、各移動するホスティングマシンをサポートする範囲に少なくとも1つの到達可能な充電ステーションがあることを確認する必要がある。これは、分散型多期間オーケストレータが選択する充電ステーションは、セクション6で説明するエネルギーマネージャが選択する充電ステーションとは異なる場合があることを意味する。充電ステーションの利用可能性を保証するために、以下の制約群が導入される。
【0230】
【0231】
式(57)は、分散型多期間オーケストレータに、各移動するホスティングマシンをバッテリ再充電能力を有する1台のホスティングマシンに割り当てることを強制する。式(58)~(61)は、ホスティングマシンとその割り当てられたバッテリ再充電能力を有するホスティングマシンとの間の距離を計算する。式(62)は、検討されている移動するホスティングマシンの最大速度を尊重しながら、バッテリ再充電能力を有するホスティングマシンに到達するために必要な移動時間を計算し、一方、式(63)は、所望の最適化後位置に移動するためにホスティングマシンi∈Nによって要求される必要な
(外3)
を計算する。最後に、式(64)は、分散型多期間オーケストレータが、十分なバッテリ寿命がないホスティングマシンに仮想化要素(アプリケーションノード)を割り当てることを防止し、一方で、式(65)は、バッテリ寿命が、アプリケーションのトラフィック要求を提供するどの移動するホスティングマシンのためにも利用可能であることを保証する。最後に、式(66)は、アクティブな物理移行に関与するすべての移動するホスティングマシンのバッテリ寿命制約を定義する(オポチュニスティック移行は、分散型多期間オーケストレータが、ホスティングマシンが事前にプログラムされた移動を完了するのに十分なバッテリ寿命を有すると仮定するため考慮されない)。f¨
z
ij変数及びw ̄
z
ij変数は次の制約群で計算されることに注意する。完全を期すために、式(67)~(68)は、今紹介した変数の領域を定義する。
【0232】
レピュテーション及び可用性制約
【0233】
以下の制約群は、ホスティングマシンが緊急(オポチュニスティック、非スケジュール的)に出現及び離脱する場合があるという事実に関連する配置の態様を管理するために使用される。
【0234】
【0235】
式(69)は、ホスティングマシンj∈Nがアプリケーションz∈Zの仮想化要素(アプリケーションノード)i∈Vzが要求する最小レピュテーションレベルκ ̄iより大きいレピュテーションκjを有する場合にのみ、多期間配置構成が有効であるとする。式(70)~(71)は、仮想化要素(アプリケーションノード)の不確実な動作時間の量を評価し、ホスティングマシン及びサポートする通信ノードの両方の利用率に依存する。仮想化要素(アプリケーションノード)が、ホスティングマシン又はいくつものサポート通信ノードの推定出発時間後に終了すると予想される場合はいつでも、不確実な動作時間が考慮される。最後に、式(72)は、分散型多期間オーケストレータが、運用終了前に離脱すると予想されるホスティングマシンの上位のアプリケーションz∈Z(ψ ̄i
z=1)のプレミアム仮想化要素(アプリケーションノード)iinVzを配置することを防止する。完全を期すために、式(73)は、今紹介した変数のドメインを定義する。
【0236】
移行制約
【0237】
仮想化要素(アプリケーションノード)は、ユーザによって(例えばアプリケーションノードのFOAを変更することによって)要求されたため、又はリソース利用可能性の問題を軽減するために、現在のホスティングマシンから別のホスティングマシンに移動させることができる。次の制約群は、このプロセスを管理するために定義されており、ネットワークベースのデータ転送、及び物理的移動を利用することによって完了することができる。i∈Nを有するセットNiは、N\{i}として定義されるホスティングマシンのセットを示すために使用され、一方で、i∈Vz及びz∈Zを有するセットViは、Vz\{i}として定義されるアプリケーションノードのセットを示すために使用されていることに注意する。
【0238】
【0239】
式(74)は、仮想化要素(アプリケーションノード)が新しいホスティングマシンに移動するいつ時もバイナリ移行変数を正しくアクティブ化するために必要であり、一方で、式(75)は、1タイプの移行(ネットワークベース、物理アクティブ、物理オポチュニスティック)のみが選択されること、及び移行がビジーなホスティングマシンに向かって行われないことを保証する。式(76)は、現在のホスティングマシンが、最大ダウンタイム遅延が切れる前に要求された距離を行くのに十分な速度で移動できない場合、分散型マルチ期間オーケストレータが、アクティブな物理移行を命令することを防ぐ。式(77)は、アクティブな物理移行をサポートするホスティングマシンを、宛先ホスティングマシンに向かって物理的に移動することを強制する。式(78)、(81)及び(83)は、ホスティングマシンが現在、他のアプリケーションの仮想化要素(アプリケーションノード)を動作させているとき、分散型多期間オーケストレータが所与のアプリケーションの仮想化要素(アプリケーションノード)の物理移行をサポートすることを禁じる(このようにして、これらの他のアプリケーションの性能低下を防止する)。これらの式を緩和して、ホスティングマシンが最初に他のアプリケーションのすべての仮想化要素(アプリケーションノード)をネットワークによって移行し、そしてその後、物理移行を開始することを可能にすることができることに注意する。式(79)は、ホスティングマシン自身が必要な宛先ホスティングマシンに向かって移動することを事前に伝えていた場合、ホスティングマシンがオポチュニスティック物理移行をサポートすることを可能にし、一方で、式(80)は、移行されるべき仮想化要素(アプリケーションノード)に許容される最大ダウンタイム期間が切れる前に事前計画移動が終了することを保証する。式(82)は、物理的な移行ホスティングマシンが、同じアプリケーションの他の仮想化要素(アプリケーションノード)の移行ターゲットになることを防止する。他のアプリケーションの仮想化要素(アプリケーションノード)は、式(78)及び式(81)の存在により、物理的移行ホスティングマシンに向かって移行することが防止されるので、明示的に考慮しないことに注意する。式(115)は、物理的な移行ホスティングマシンが、移行している仮想化要素(アプリケーションノード)に関与していない他のアプリケーションの仮想化要素(アプリケーションノード)をホストすることを防止する。最後に、式(84)及び(86)は、分散型多期間オーケストレータに、同じリソースを共有する仮想化要素(アプリケーションノード)を一緒に移動させることを強制する。完全を期すために、移行変数のドメインは式(87)で定義される。
【0240】
ワイヤレスネットワークにおけるルーティング
【0241】
標準トラフィック需要、移行トラフィック、及び展開トラフィックをサポートするための分散型多期間オーケストレータが管理する仮想化対応物理インフラストラクチャへのルーティングを最適化するために要求されるすべての制約及び変数を紹介する。
【0242】
【0243】
式(88)~(90)は、トラフィック需要配置変数yを正しく計算するために必要である。式(91)は、アプリケーションz∈Zの各トラフィック需要(i,j)∈Azに対応するために少なくともΛ(信頼度)パスをアクティブ化することを述べており、一方で、式(92)は分散型多期間オーケストレータが誤ったパス(配置された後の対応トラフィック需要のソースと宛先を接続しないパス)をアクティブ化することを防止する。式(93)は式(91)と同じ信頼性を有するが、この場合、仮想化要素(アプリケーションノード)の移行をサポートするために、thaルーティングパスが選択される。(92)と同様に、式(94)は、アクティブ化されたパスが、対応する移行に関与するホスティングマシンの組をサポートすることができることを保証する。再び、式(95)~(96)は、送信元及び宛先ホスティングマシンの点から正しいパスを選択しながら、仮想化要素(アプリケーションノード)の最初の展開をサポートするために少なくともΛ経路をアクティブ化するために使用される。式(97)~(99)は、例えば、標準、移行ベース、展開ベースの各タイプのトラフィックによって各リンク上に作成されるフローの総量を計算するために使用される。Υ変数は共置された仮想化要素(アプリケーションノード)が共有できるトラフィックの部分を切り捨てるために使用することに注意する。最後に、式(100)~(102)は、分散型多期間オーケストレータが、ビジーリンク(例えば、移動しているホスティングマシンのリンク)に関与するルーティング変数を修正することを防止する。完全を期すために、変数ドメインは式(103)~(106)により定義される。
【0244】
モバイル環境におけるルーティング
【0245】
完全なモバイル環境では、ネットワークの性能は、ノードの移動を何らかの方法で制御する場合のみ、保証することができる。我々の基本的な考え方は、特定のアプリケーションz∈Zのみに対応するように移動ノードを専用化することである。このように、アプリケーションの仮想化要素(アプリケーションノード)による移動は、重なっているホスティングマシンのサブセット上で動作する他のアプリケーションの性能に干渉させるべきではない。そこで、以下の制約群を定義する。
【0246】
【0247】
最初に式(107)~(109)は,特定のアプリケーションが生成するリンクによって運ばれるトラフィック(3タイプのトラフィック)の総量を計算する。式(97)~(99)のような共有変数Υを考慮する必要がないことに注意する.次に、式(110)は、特定のアプリケーションz∈Zに関連するトラフィックによってリンクが使用されているか否かを判断するために使用され、一方で式(111)は、ホスティングマシンが特定の仮想化要素(アプリケーションノード)によって生成されたトラフィックに対応しているという事実に関する同じ信頼性を有する。式(112)~(114)は、ホスティングマシンが他のアプリケーションに一切関与していない(それらの仮想化要素をホストしておらず、かつそれらのネットワークトラフィックを提供していない)場合にのみ、ホスティングマシンを所与のアプリケーションz∈Zの通信ノードとしてマークすることを可能にする。最後に、式(115)によれば、所与のアプリケーションに割り当てられた通信ホスティングマシンのみが移動できる。完全を期すために、変数ドメインは式(116)~(119)により定義される。
【0248】
モバイルリンクのキャパシティ
【0249】
無線ネットワークでは、無線ネットワークインターフェースを有するホスティングマシンの各組に対して、潜在的な物理ネットワークリンクが存在する。各無線リンクが提供するネットワーク帯域幅は、検討されているリンクの両端にあるホスティングマシン間の距離に関係する。有線リンクの場合、リンクのスループット/キャパシティは代わりに固定であることに注意する(1つの単一な水平方向の断片)。以下の制約群は、現在のリンクキャパシティを正しく計算し、かつ、その結果として、それらを尊重することを可能にする。
【0250】
【0251】
式(120)は、各物理リンクのスループット距離関数の右の断片を正しくアクティブ化するために使用され、一方で、式(121)は、その関数の1つの断片がリンクごとに活性化されることを課している。式(123)及び(124)は、各リンクのキャパシティが(最適化前及び最適化後の両方のノード位置で)過剰利用されることを防止する。式(125)~(126)は、最適化前及び最適化後のノード位置でリンク遅延を計算し、一方で、式(127)~(128)はパス遅延について同じことをする。最後に、式(129)及び(130)は、最適化前及び最適化後の両方の位置を考慮することにより、最大パス遅延の制約を強制する。完全を期すために、変数ドメインは式(131)~133により定義される。
【0252】
モバイルセルキャパシティ
【0253】
同じ無線ローカルエリアネットワーク(WLAN)上で通信する無線ノードは、通常、すべてのD2D無線リンクを同じ伝送チャネルに構成することが要求される。これにより、互いに範囲内にある同じWLANのすべてのリンクは、同じスペクトルを共有し、かつ、それゆえに、同じ伝送容量を共有することになる。この現象をモデル化するために、以下の制約群を紹介する。
【0254】
【0255】
式(135)は、ホスティングマシンが、この後者のワイヤレスセルのメンバーとして考慮されるために、別のホスティングマシンに十分に近いとき、評価するために必要である。式(136)~(137)は、所与のワイヤレスセルのメンバーである物理リンクを決定するために使用され、検討されているリンクの2つのエッジのうちの1つが、ワイヤレスセル自体のメンバーであることで十分である。式(138)及び(139)は、各ワイヤレスセルのキャパシティが(最適化前及び最適化後の両方のノード位置で)過剰利用されることを防止する。最後に、式(140)~(141)は、最適化前及び最適化後の両方のノード位置を考慮して、ワイヤレスセル利用コストを計算する。完全を期すために、変数ドメインは式(142)~(143)により定義される。
【0256】
4.2 分散型多期間ワークロード配置のためのアルゴリズム
【0257】
多期間ワークロード配置問題を定義するために、セクション4.1で先ほど提示されたMINP定式は、以下の点で極めて重要である。
・配置決定のどの組み合わせが実行可能であるかを決定する。
・定義された多目的関数に関して、異なる実行可能なソリューションの品質を比較する。
【0258】
分散型多期間オーケストレータの役割は、実現可能かつ最適な配置ソリューションを、リアルタイムで発見的に計算することである。
【0259】
多期間ワークロード配置問題を解くために必要な情報の小さな一部は、各ホスティングマシン上で動作する分散型多期間オーケストレータインスタンス(セクション4.3を参照のこと)から見える設定ファイル中に直接見つけられる。残りの情報は、各ホスティングマシンの分散型多期間オーケストレータインスタンスが、他の補助モジュールから収集する(セクション4.4を参照のこと)。
【0260】
(必要なとき)各ホスティングマシンの分散型多期間オーケストレータインスタンスによって動作する分散型多期間ワークロード配置アルゴリズムの実装詳細を紹介する。このアルゴリズムの基本原理は、最適化プロセスが、各最適化の反復において、仮想化対応物理インフラストラクチャ全体を考慮すべきではない、ということである。このようなグローバルなアプローチでは、以下の観点から問題が生じる。
・すべての問題情報を少なくとも1つの集中管理オーケストレーションに送信する必要性によって、発生するオーバーヘッド。
・考慮すべき変数及び制約の爆発的な組み合わせによって、生じる高い計算時間。
・オポチュニスティックモバイルノードの管理。
【0261】
このような問題を軽減するために、我々の提案は、(ホップ距離の観点から)近接しているホスティングマシンとリンクで作られる多数のサブクラスタi∈Qを動的に構築することである。このようにして、各サブクラスタi∈Qは、対応するサブクラスタに属するホスティングマシンだけに関与する多期間ワークロード配置問題の小さいサイズのインスタンスを解くことができる、すなわち:
・サブクラスタi∈QのホスティングマシンのサブセットN¨i。
・サブクラスタi∈Qの物理ネットワークリンクのサブセットE¨i。
・E¨iのリンクのみを利用してホスティングマシンN¨iを相互接続するルーティングパスのサブセットP¨i。
及び関連するすべてのパラメータ。サブクラスタはどのようにクラスタを構築するのか?この問いに答えるために、最適なオーケストレーション機構を記述したフロープロセスを紹介する。
【0262】
1.最適化のトリガーとなるイベント
【0263】
配置最適化を要求するトリガーイベントが、Nに属するホスティングマシンの分散型多期間オーケストレーションインスタンスによって、登録される。
・定期的な再最適化要求:サブクラスタスーパバイザとして選出されたホスティングマシンの分散型多期間オーケストレータ(クラスタ形成における次のパートを参照)は、定期的に再最適化要求を生成する。このメカニズムの背景にある理論的根拠は、定期的な再編成化が、既に配置された仮想化要素(アプリケーションノード)の実際のリソース消費値に依存するリアルタイムのリソース要求値を利用できることである。これらの値は、多期間ワークロード生成モジュールによって最初の配置操作のために構成された公称値に対して大きく乖離している可能性がある。サブクラスタの耐障害性を向上させるために、複数のサブクラスタスーパバイザノードを選択することができることに注意する。
・割り当て解除イベント:仮想化要素が削除され、かつ対応するサブクラスタスーパバイザノードが再編成化要求を生成して、パフォーマンスを向上させるか、又は以前は配置できなかった仮想化要素(アプリケーションノード)を配置する。
・新しいアプリケーションイベント:新しいアプリケーション配置要求を、ホスティングマシンのオーケストレーションインスタンス(通常、インターネットから来る要求のためのゲートウェイノード)によって、多期間ワークロード生成モジュールから受信する。
・アプリケーション修正要求:すでに配置されたアプリケーションの修正要求は、ホスティングマシンが受信する。要求は、アプリケーションが現在動作しているサブクラスタを管理するサブクラスタスーパバイザホスティングマシンの分散型多期間オーケストレータインスタンスにリダイレクトされる。アプリケーション修正は、DOAが変更された場合、直接移行を生み出す場合がある。
・性能低下アラート:ホスティングマシンの仮想化エンジンが仮想化要素(アプリケーションノード)の性能低下を観測し、そのことが、仮想化要素自体を担当するサブクラスタスーパバイザ物理マシンの分散型多期間オーケストレータインスタンスに再編成化要求を送信する。
・新しいホスティングマシンイベント:新しいホスティングマシンから(通信ネットワーク上で)一定のホップ距離内にあるサブクラスタスーパバイザホスティングマシンのすべての分散型多期間オーケストレータインスタンスに、新しいリソースを利用できる可能性が通知される。新しい配置再編成要求がこれらのホスティングマシン上で生成される場合がある。
・ホスティングマシン又は物理リンクの離脱/故障/一時的な利用不能:ノード/リンクの離脱/故障/一時的な利用不能に関心を持つサブクラスタのスーパバイザホスティングマシンの分散型多期間オーケストレータは、新しい配置再編成要求を生成する。一時的な利用不能は、エネルギーマネージャ(セクション6を参照のこと)によってトリガーされたバッテリの再充電操作に関連し得ることに注意する。
・など
【0264】
2.クラスタ形成
【0265】
多期間配置最適化要求又は多期間配置再編成要求の生成は、新しいサブクラスタの動的な形成をトリガーする。まず、分散型多期間オーケストレータインスタンスが最適化要求を生成したホスティングマシンの振る舞いを解析する。
・ホスティングマシンがいずれのサブクラスタのスーパバイザ担当をしない場合、配置入札プロセスに勝利した場合にスーパバイザとしてリードする1つ以上の新しいサブクラスタの漸進的構築をトリガーする(下記パラグラフ4を参照のこと)。
・ホスティングマシンがすでに1つ以上のサブクラスタのスーパバイザである場合、これらのサブクラスタ自身内の配置最適化アルゴリズムをトリガーする。それに応じて構成されている場合、それはまた、前の箇条書きで説明したプロセスを通じて、新しいサブクラスタの構築をトリガーする場合がある。
・そのスーパバイザの状態とは独立して、ホスティングマシンの分散型多期間オーケストレータインスタンスは、2つの戦略を考慮して、DASS(セクション5を参照のこと)を通じて配置要求をブロードキャストする。
1.ホスティングマシンから事前に設定されたホップ距離に限定してブロードキャストする。ホップ距離は、生成されたサブクラスタ内で満足な多期間配置ソリューションが得られない場合に、増加することができ、かつ操作を繰り返すことに注意する。
2.特定のFOAに向けられたブロードキャスト。
【0266】
要求を受け取ったサブクラスタをすでに監督しているすべてのホスティングマシンは、自動的に同じサブクラスタ内で多期間ワークロード配置問題を解決しようとする。そうでない場合、各ホスティングマシンは、自らが監督する新しいサブクラスタの形成を開始するある確率を有する。各スーパバイザ候補は、スーパバイザホスティングマシンからのホップ距離の点で異なるサイズの多数のクラスタを構築できることに注意する。スーパバイザホスティングマシンによって管理されるクラスタ形成は、必要な情報を配布するためにDASSによってサポートされるコンセンサスアルゴリズムを通じて行われる。
【0267】
最適な多期間ワークロード配置ソリューションを計算する準備が整う前に、クラスタを以下のことを考慮して、更に拡張しなければならない。
・新しいアプリケーションの配置:最初の最適化要求を元としたホスティングマシンを含まない各サブクラスタは、ルート発見プロトコル(アドホックネットワークのルーティングに使用されるものに類似)を動作させ、配置の帯域幅を考慮して、クラスタに含まれるホスティングマシン及び物理リンクの追加のサブセットを決定する。
・インターネット接続要件:関与するアプリケーションがインターネット接続を要求する場合に備えて、インターネットゲートウェイノードを検出するために同様のプロセスを動作させる。サブクラスタは、以前の配置操作のためにすでにインターネットゲートウェイを含んでいる場合があることに注意する。
・FOA修正又は性能劣化のための移行:この場合、新しいサブクラスタと元のサブクラスタ(移行を操作する場所からの)との間のパス上のノード及びリンクを発見して含めるほかに、システムは宛先と元のサブクラスタをマージする新しいスーパークラスタを作成する。
サブクラスタスーパバイザは、重なるサブクラスタをマージすることを目的とした特定のアルゴリズムによって制御される場合があることに注意する。さらに、他のアルゴリズムは、アイドルになったサブクラスタを削除するため、及び同じサブクラスタの中で相互作用のない2つの部分を分割するために、常に動作している場合がある。
【0268】
3.配置ソリューション計算及びイントラサブクラスタ入札
【0269】
サブクラスタのスーパバイザホスティングマシンは、すべてのサブクラスタメンバの分散型多期間オーケストレータインスタンスに(DASSを通じて、セクション5を参照のこと)すべての新しいアプリケーション情報を配布する。サブクラスタが新しい場合、サブクラスタ内のすべてのホスティングマシン分散型多期間オーケストレータインスタンスは、常にDASSを用いて、他のすべての問題パラメータを配布する。そうでなければ、これらの情報は各ホスティングマシン上で既に利用可能であるべきである。
【0270】
各サブクラスタ分散型多期間オーケストレータインスタンスは、すべての必要な問題パラメータを取得すると、1つ以上の解決アルゴリズムの反復をある回数だけ繰り返す。プロセスの終了時、又はユーザが設定したタイムアウト後に、最良の目的関数を有するソリューションが唯一保持される。メタヒューリスティック、局所探索、貪欲アルゴリズム、遺伝的アルゴリズム及びその他を含むセクション4.1のMINP定式化に対して実行可能なソリューションを生成するあらゆるアルゴリズムが活用できることに注意する。この場合、我々は、2つの異なるモード、すなわち、部分的(配置最適化に直接関与するアプリケーションノードに関連する変数のみ―例えば、新しいアプリケーションのもの)を調整できる)及び完全(サブクラスタ全体の変数を最適化できる)で各々適用する、実現可能配置(FP)及び最適配置(OP)の2つの異なる貪欲アルゴリズムの使用を提案する。
【0271】
部分的なFP及びOPは、すでに動作しているアプリケーションノードの性能に悪影響を及ぼす可能性がある移行及び設定調整を避けるために、最初に試すべきものである。部分的な手法によるソリューションがあまり十分でないとみなされた場合は、完全なFP及びOPを起動して、より良いソリューションを探す。
FP及びOPはどちらも同じマクロルーチンに基づく。
・RSAN:配置又は移動する仮想化要素(アプリケーションノード)のリストのランダムなソート。
・RSPN:ホスティングマシンのランダムなソート。
・RSTD:検討されている仮想化要素(アプリケーションノード)と、すでに配置されたすべての他のアプリケーションコンポーネント、例えば、ゲートウェイホスティングマシン、移行元、他の仮想化要素(アプリケーションノード)が関与するトラフィック要求のランダムなソート。
・FTPV:リソース割り当て、ジオロケーション、及びエネルギー管理制約を評価することによる、仮想化要素(アプリケーションノード)配置オプションの実現可能性テスト-ホスティングマシンj∈N上のアプリケーションz∈Zの仮想化要素(アプリケーションノード)i∈Vz。最適化後の位置(移動するノード)に関して、実現可能性テストは、検討されているホスティングマシンの現在の位置に関して、対応するDOAに属する最も近い位置を選択することを考慮することに注意する。
・FTFV:トラフィック需要、移行需要、又は展開需要配置オプションの実現可能性テスト。
・FE:現在の配置構成に関連する目的関数値の評価。
・SPU:現在のリンク利用コスト値τijを考慮することにより、物理マシンの組間の最短経路を計算。
・SPC:現在のリンク利用コストτijを考慮することにより、物理マシンの組間のキャパシティ制約付き最短ルーティングパスを計算。
・LID:新たな配置決定に関与する新たなトラフィック需要をホストするのに十分なキャパシティを有する最短パスの計算を妨げるすべてのリンクを包含するLIDリストの特定。
・CNL:所与のアプリケーションの通信ノードとなる条件のノードを特定。
・SPR:新たな配置決定に関与するトラフィック需要をホストするのに十分なキャパシティがない最短パスリンクを修復するための通信ノードの再配置。F個の通信ノードが考慮される場合、SPRは、等距離のF+1個のサブピース(サブリンク)を得ることにより、修復されるべきリンクの2つのエッジを結ぶ直線に沿ってそれらを配置するだけである。通信ノードの新しい位置が、何らかのネットワーク要件破綻を生じた場合、修復は失敗する。
・FFE:配置制約(いくつかの制約は、貪欲な配置プロセス中にチェックが不可能な場合がある)に違反しないことを確認。違反が確認された場合、対応するアプリケーションノード、さらにはアプリケーション全体が削除される場合がある。
【0272】
上記のマクロルーチンを組み合わせて、FPアルゴリズムを記述する。
1.初期化:RSAN+RSPN。
2.RSANリストの最初の仮想化要素(アプリケーションノード)をポップする。
3.RSPNリストの最初のホスティングマシンをポップする。
4.検討されている仮想化要素(アプリケーションノード)のFTPVを検討されているホスティングマシン上で行う。配置オプションが実行不可能で、かつRSPNリストが空でない場合、ポイント3へ進む。配置オプションが実行不可能で、かつRSPNリストが空の場合、次に仮想化要素(アプリケーションノード)を待ち行列としてマークして、ポイント2に進む。それ以外の場合は、次のポイントに進む。
5.RSTDを動作させて、検討されているホスティングマシン上に一度配置された検討されている仮想化要素(アプリケーションノード)に関連するすべてのネットワークフロー要件のランダム化リストを取得する。
6.RSTDリストの最初のフロー要求(トラフィック需要、若しくは移行トラフィック要求、又は配備トラフィック要求)を引き出す。
7.検討されているフロー要求のFTFVを行う。すなわち、
(a)送信元と宛先のホスティングマシン間のSPCを計算する(逆も同様)。Λの有効なパスが存在し、かつRSTDリストが空でない場合、ポイント6に進む。有効なパスが存在し、RSTDリストが空で、かつRSANリストが空でない場合、仮想化要素(アプリケーションノード)と配置済みとしてマークして、ポイント2へ進む。Λの有効なパスが存在し、RSTDリストが空で、かつRSANリストが空の場合、仮想化要素(アプリケーションノード)を配置済みとしてマークして、ポイント9に進む。
(b)配置元と配置先のホスティングマシン間のSPUを計算する(逆も同様)。
(c)LIDを動作させる。
(d)LIDリストの最初のリンクをポップする。
(e)CNDを動作させる。
(f)CNDリストの最初のリンクをポップする。
(g)今までにポップしたすべてのリンクでSPRを動作させる。SPRが失敗し、かつCNDが空でない場合、ポイント7dに進む。SPRが失敗し、CNDが空で、かつRSPNリストが空でない場合、次にポイント3へ進む。SPRが失敗し、CNDが空で、かつRSPNリストが空の場合、次に仮想化要素(アプリケーションノード)を待ち行列としてマークし、ポイント2に進む。SPRが成功した場合、フロー要求を配置済みとしてマークして、ポイント6に進む。SPRが成功し、かつRSTD一覧が空でない場合、フロー要求を配置済みとし、ポイント6に進む。SPRが成功し、RSTDリストが空で、かつRSANリストが空でない場合、フロー要求を配置済みとしてマークし、仮想化要素(アプリケーションノード)を配置済みとしてマークして、ポイント2へ進む。SPRが成功し、RSTDリストが空で、かつRSANリストが空の場合、フロー要求を配置済みとしてマークし、仮想化エレメント(アプリケーションノード)を配置済みとしてマークして、Point9へ進む。
8.FFEを動作させる。
9.FEを動作させ、かつ式(1)を通じて計算した対応する値を返す。
【0273】
BFアルゴリズムを考慮する場合、先ほど説明したFP手順との唯一の違いは、アルゴリズムが最適なローカル決定を選択できるように、RSPNリストのすべてのホスティングマシンをFEでテストする(実行可能なソリューションが特定されたときにいつでも次のステップに渡すのではなく)ことである。FP及びOPの両方の貪欲なアプローチは、実際の最適ソリューションから大きなギャップを有する局所最適につながることができることに注意する。追加ステップを、FTPVとFTFVとの間に、異なる移行タイプをテストするために追加することができることに注意する。FPアプローチでは、最初に実行可能な移行タイプを維持する一方、BFアプローチでは、3つの移行タイプ(ネットワークベース、物理アクティブ、物理オポチュニスティック)すべてを評価することができる。
【0274】
次にDASSは、各サブクラスタ分散型多期間オーケストレータインスタンス(ホスティングマシンごとに1つ)により、見つかった最良の目的関数を共有するために使用される。その後、サブクラスタのスーパバイザが最適な値を選択し、それを得た多期間オーケストレータインスタンスから対応する配置ソリューションを取得する。
【0275】
先ほど示した解決スキームは、多期間ワークロード最適化問題のどのバージョンにも自然に適用できることを指摘する価値がある。また、同じ問題に対する他の数学的定式化を扱うために、簡単に適応させることができる。
【0276】
4.サブクラスタ間入札
【0277】
すべてのサブクラスタスーパバイザホスティングマシンは、最適な目的関数及び対応する多期間ワークロード配置ソリューションによって構成される組を、最適化/再編成要求を最初に生成した分散型多期間オーケストレータインスタンスに送信する。この分散型多期間オーケストレータインスタンスは、このように、多数のサブクラスタスーパバイザによって予め設定された制限時間内に受信されたすべてのソリューションを比較し、マルチ期間ワークロード配置入札プロセスを落札したサブクラスタを選出する役割を担う。落札したサブクラスタのスーパバイザのID及びアドレスは、アプリケーションの作成、管理、及び停止に使用される多期間ワークロード生成モジュールにも伝達される。
【0278】
4.3 分散型多期間オーケストレータによって構成されるパラメータ
【0279】
分散型多期間オーケストレータインスタンスがホスティングマシン上で初期化される際、仮想化対応物理インフラストラクチャマネージャによって作成される設定ファイルを読み込み、分散型オーケストレーションプロセスに直接関連するいくつかの入力パラメータを正しく設定する。
・有効な物理リソース及びキャパシティのセットR。
・有効なリソース構成のセットKr。
・リソースのオーバープロビジョニングパラメータΩr。
・ネットワークリンクオーバープロビジョニングパラメータC。
・リソース利用コスト関数Φr()。
・リンク遅延/コスト関数D()。
・目的関数の重みのセットαi∈{1,2,3,4,5,6,7,8}。
・サブクラスタ内の計算時間制限。
・最適化要求を生成する分散型多期間オーケストレータインスタンスが、落札するサブクラスタを選択する前に検討する全体的な計算時間制限。
・サブクラスタ研究のための最大ブロードキャストホップリミット。
【0280】
4.4 他のモジュールとの相互作用
【0281】
各ホスティングマシン上で動作する分散型多期間オーケストレータインスタンスは、DASSのデータ配布/複製サービスを利用して分散ソリューションの計算プロセスを調整する。これらの相互作用の大部分は、セクション4.2で既に文書化されている。しかしながら、DASSが、分散型多期間のオーケストレータインスタンスをすべて同じオーケストレーションパラメータのセットに収束させることを強制するために重要であることは言及しなかった(セクション4.3を参照のこと。この特定の収束タスクは、セクション10で説明するアクセスマネージャと連携して実行することができる。
【0282】
分散型多期間オーケストレータインスタンスは、同じ物理マシン上で動作する他のモジュールに問い合わせることで、同じサブクラスタのホスティングマシン及びリンクに関連するすべてのパラメータを取得する。
・エネルギーマネージャ:エネルギー消費、速度、及びバッテリ自律性持続時間パラメータ。
・ジオロケーションデーモン:すべての物理的なジオロケーションパラメータ。
・レピュテーションエスティメータ:レピュテーションパラメータ。
・アクセスマネージャ:推定された可用性パラメータ
・仮想化エンジン:リアルタイム及び公称のリソース消費値、ネットワーク消費値、アプリケーションノードの状態(動作中、アイドル、停止中、など)。
・電気通信アプリケーション:ルーティングパス情報、リンク及びセル関連パラメータ。
【0283】
上記モジュールの各々は、各ホスティングマシン上で動作するDASSインスタンスを通じて周囲のホスティングマシンから情報を取得することに注意する。
【0284】
通信アプリケーション及び仮想化エンジンは、新しい多期間ワークロード配置構成の実装に関連するすべてのリソース及び帯域幅の予約指示を受信する。最後に、分散型多期間オーケストレータインスタンスは、配置を求める仮想化要素(アプリケーションノード)のすべてのFOA情報をジオロケーションモジュールに送信する。このようにしてジオロケーションモジュールは、FOAに適合する関心のあるサブクラスタのホスティングマシンのリストを返すことができるようになる。
【0285】
5 シームレスな情報共有のための分散型データベース
【0286】
特別な仮想コンポーネントは、モバイルアドホックネットワーク(MANET)及びオポチュニスティックネットワーク(ON)の上位で動作するように特別に仕立てられ、あらゆる種類のネットワークと互換性のある分散データベース(DD)ミドルウェアによって、表現されている。私たちは、Distributed Advanced Storage Service(DASS)と呼ばれるDDミドルウェアを開発した。それは以下の通りである。
・基盤となるホスティングマシン上で動作する標準的なNO-SQLデータベースインスタンスをカプセル化する。
・ポリシー駆動型のレプリケーション戦略を採用し、同じDASSインスタンスに参加しているホスティングマシン間で情報を配信する。
・コンテンツ-ロケーションマッピング情報を維持し、基盤となるホスティングマシン上に物理的に配置されていない情報を取得する。
・バージョン管理機構を動作させる。
・ユーザ定義ポリシーに基づく競合解決メカニズムを動作させる。
【0287】
DASSインスタンスは、仮想化対応物理インフラストラクチャへの参加を目指す各ホスティングマシンにあらかじめ展開された専用仮想コンテナで動作する。DASSインスタンスは、各ホスティングマシンの分散型多期間オーケストレータインスタンスによって活用され、分散型多期間ワークロード配置アルゴリズムが要求するすべての情報を配信し、ローカルサブクラスタを構築して、かつリソースが求めるアプリケーションに対する多期間ワークロード配置構成を計算する。前のセクションですでに指摘したように、DASSは(オーケストレータだけでなく)他のすべてのモジュールによって利用され、仮想化対応物理インフラストラクチャのホスティングマシンに渡り情報を配信する。
【0288】
6 エネルギーマネージャ
【0289】
エネルギーマネージャは、再充電手順を果たす時間を与えるために、仮想化対応物理インフラストラクチャからホスティングマシンを一時的に除外する(対応するγパラメータを通じてビジーとしてマークされる)バッテリ再充電手順(分散型多期間オーケストレーションシステムによる動作ではない)をトリガーする主な役割を担う。各移動するノードを充電ステーションに割り当てるために分散型多期間オーケストレータによって修正されたΘ変数は、十分に近い充電ステーションが常に利用可能であることを保証するために単純に使用されることに注意する。しかしながら、これらの変数は、エネルギー管理層のエネルギー管理ルーチンには何ら影響を与えない。
【0290】
このモジュールは、以下の設定に使用される。
これらのパラメータは、同じホスティングマシンのオーケストレータに送信され、かつDASSを通じて周囲のホスティングマシンに配信される。
【0291】
動作時(各最適化ラウンド時)に、エネルギー管理デーモンは、そのホストマシンの分散型多期間オーケストレータインスタンスに、すべてのリアルタイムバッテリー自律性データσを伝達する。
【0292】
7 ネットワーク認識パスマネージャ
【0293】
分散型多期間オーケストレーションシステムによって計算された多期間ワークロード配置ソリューションは、仮想化要素(アプリケーションノード)を満たすために移動するホスティングマシンに割り当てられる最終位置を決定する。このソリューションは、ホスティングマシンの最適化前と最適化後の位置の両方を考慮することで、すべてのネットワーク関連の制約が満たされることを保証する。
【0294】
ネットワーク認識パスマネージャは、すべての移動するホスティングマシンの移動を調整する役割を有する補助モジュールである。その目的は、目的地に配置されたホスティングマシンを考慮することによる分散型多期間オーケストレーションシステムによって計算される最終的なネットワーク構成が、移動期間全体を通して有効であることを保証することである。このプロセスは、分散型多期間オーケストレーションシステムが移動する仮想化要素を異なるアプリケーションの別の仮想化要素と共置することを防ぐ問題制約(112)~(114)のおかげで、多数の独立したサブインスタンス(タスクの移動に関心のあるアプリケーションごとに1つ)に分解できることに注意する。
【0295】
パス計画アルゴリズムは、多くの異なる方法で実装することができる。それは、各サブクラスタスーパバイザホスティングマシン上で動作する集中型パス計画アルゴリズム、及び関連リンクの物理的エッジを近づけることを目的とした適切なノード誘引パラメータに基づく分散型ネットワーク保守システムとが可能である([2]で使用したポテンシャルベースの方法を参照)。
【0296】
パスプランナーは、基盤となるホスティングマシンを物理的に移動させる役割も担っていることに注意する。
【0297】
8 ジオロケーションデーモン
【0298】
ソフトウェアモジュール及び物理的インターフェースに基づくシステム、又はそれらの組み合わせによるシステムは、ホストマシンの現在位置を推定する能力がある。ジオロケーションモジュールの例を以下にいくつか挙げる。
・GPSベースシステム:GPSインターフェースを搭載したホストマシンは、静止衛星を基準とした三重化によりその位置を推定することができる。
・ウルトラワイドバンド(UWB)システム:UWBインターフェース(例えば、DecaWave社のDWM1001)を搭載した3台のホストマシンは、常にUWBインターフェースを搭載した4番目のホストマシンとの相対位置を三角測量により計算することができる。UWBを搭載したホスティングマシンの各組間の距離は、送信された各通信プローブの飛行時間を推定することにより計算される。1台のホスティングマシンが座標の基準系の原点として選択される場合、4台のホスティングマシンの各サブセットによって行われたすべての相対的な位置測定は、それに従って変換することができる。このようなジオロケーションモジュールは協調的であり、かつ、すべてのホスティングマシンが同じ通信ネットワーク上にあることが要求されることに注意する。
・Wi-Fiレンジベースシステム:UWBシステムに類似している。この場合、ホスティングマシンは、範囲内の他のホスティングマシンから受信信号強度インジケータ(RSSI)を返す能力があるWi-Fiインターフェースを搭載している。相対位置は、RSSIを推定距離値に変換することで、計算される(例えば、経路損失関数を適用することによって)。このように、三角測量の処理は、これらの距離値に基づく。
【0299】
このモジュールはまた、分散型多期間オーケストレータの要求に従って、バイナリジオローカライゼーション
(外4)
を計算し、それらの場所に基づいて、所与のアプリケーションをホストすることが認定されるホスティングマシンを決定する。
【0300】
9 レピュテーションエスティメータ
【0301】
仮想化対応物理インフラストラクチャのメンバーとなる各ホスティングマシンは、各ホスティングマシンi∈Nの評価スコアκiの計算を担当するソフトウェアモジュール、いわゆるレピュテーションエスティメータを動作させる。
【0302】
レピュテーション値は、通信ネットワーク上の他のすべての利用可能なホスティングマシンによって、ホスティングマシンに割り当てられる。レピュテーション値は、その後、運用が行われ続け、かつホスティングマシンがその信頼性及び参加レベルを示すように継続的に更新される。実用的には、初めて登場したホスティングマシンは、他のすべてのホスティングマシンから基本的なレピュテーションスコアを受信するべきである。このスコアは、その後、新しいホスティングマシンが新しい仮想化要素(アプリケーションノード)をホストし続けるように、所望のQoSのレベルを保証しながら、徐々に改善することができる。実際の実装の観点では、各ホストマシンはあるホップ距離内にある他のホストマシンの状態を絶えず知らされる(情報はDASSを通じて共有される、セクション5を参照のこと)。その後、各ホスティングマシンはこのリアルタイムの情報を、周囲のホスティングマシンで利用可能な履歴データとマージして、以下のような指標を決定する。
・所与のホスティングマシンが稼働した既知の総時間数。
・所与のホスティングマシンに対応する仮想化要素の既知の総数
・所与のホスティングマシンの稼働率履歴。
・所与のホスティングマシンが関与する移行が発生した既知の総数。
・所定のホスティングマシンの連続稼働間隔(例えば、1日2時間)の平均持続時間履歴。
・など。
【0303】
これらの指標は、その後、アルゴリズムによって精緻化され、周囲のホスティングマシンに割り当てられた瞬時のレピュテーションスコアを抽出する。レピュテーション値は継続的に仮想化対応物理インフラストラクチャのホスティングマシンに渡って配信されるので、ホスティングマシンに割り当てられ、かつ分散型多期間オーケストレータによって使用される最終レピュテーション値は、共同推定努力の結果である。実際、仮想化対応物理インフラストラクチャ管理プロセスのオポチュニスティック性質により、ある近隣マシンが信頼できないとみなしたホスティングマシンを、別の近隣マシンが(共通の仮想化対応物理インフラストラクチャにおける過去の協力関係により)非常に効率的として推定する場合がある。
【0304】
10 アクセスマネージャ
【0305】
このモジュールは、基盤となる電気通信ネットワーク上の直接の近隣として現れた新しいホスティングマシンとの最初の通信を管理する責任を有する。特に、以下を引き受ける。
・ホスティングマシンを、仮想化対応物理インフラストラクチャに参加する認可を受けたエンティティとして認証する。例えば、特定のMACアドレスを有するホスティングマシンのみをホワイトリストにすることができる。
・多期間オーケストレーションプロセスを配信するために適切な共通のオーケストレーションパラメータを送信する。
・新しいホスティングマシンの出発予定時刻及び事前に計画された目的地を取得する。
【0306】
11 仮想化エンジン
【0307】
仮想化対応物理インフラストラクチャに参加する各ホスティングマシンは、いわゆる仮想化エンジン、つまり、以下を含む主な役割を担うソフトウェアモジュールを動作させる。
・ホスティングマシンのオペレーティングシステムの上位で仮想化エレメント(アプリケーションノード)をインスタンス化する。
・同じホスティングマシン上でホストされる複数の仮想化エレメント(アプリケーションノード)の分離を保証する。
・事前に定義された共有比率及び優先度ポリシーに従って、同じホスティングマシン上でホスト化される多数の仮想化エレメント(アプリケーションノード)間でリソースを共有する。
・仮想化エレメント(アプリケーションノード)の状態を監視する。
・仮想化エレメント(アプリケーションノード)を停止する
【0308】
仮想化エンジンが動作する物理サーバーのOS及び物理ハードウェアは、リソースの仮想化を許可するように設定されていなければならないことに注意する。例えば、Intel製のマシンでは、BIOSメニューでIntel Virtualization Technologyオプションを有効にしなければならない。有名な仮想化エンジンの例としては、以下を含む。
・Docker Engine、LXD Engine、Kubernets Engine-コンテナテクノロジ。
・Hyper-V、VMWare vSphere、KVM、Xen Server-仮想マシン技術。
【0309】
仮想化エンジンは、同じホスティングマシンの分散型多期間オーケストレーションインスタンスに以下についての情報を通知し続ける。
・ωir:基盤となるホスティングマシンで利用できるリソース量。
・ηikr:基盤となるホスティングマシンの現在のハードウェア構成。
・各ホスト化される仮想化要素(アプリケーションノード)に観測されるリアルタイムのリソース消費量。
【0310】
12 電気通信アプリケーション
【0311】
仮想化対応物理インフラストラクチャ全体は、すべてのホスティングマシンを相互接続する電気通信ネットワークに依存する。本実装では、通信ミドルウェアHEAVENによって構築されるアドホック通信網を考慮する。
【0312】
HEAVENはユーザ空間で動作するミドルウェアであるため、基盤のオペレーティングシステム(OS)の変更の必要なくあらゆるデバイスに対応できる可能性を秘めている。
【0313】
HEAVENは、異なるタイプのネットワーク伝送技術と(専用の仮想リンク層を通じて)シームレスに相互作用することができる仮想ネットワーク層を構築する。例えば、HEAVENは、アドホック(又はIBSS)モードで動作するWi-Fiインターフェース[3]、及び従来のインフラストラクチャモードで基地局又はクライアントとして動くWi-Fiインターフェースを管理することができる。
【0314】
HEAVENは、3タイプのルーティングプロトコルに依存し、ユニキャストとブロードキャストの両方の通信サービスを提供する。
1.ゴシップ:各ネットワークノードは、転送中のすべてのパケット(自分宛でない)をすべてのネットワーク隣接ノードに転送し、かつホップカウンターを1つ減らす。キャッシュは、重複したパケットの転送を避けるために使用される。ゴシップは、上記の動作してる分散型データベースによって生成されるシグナリング/オーバーヘッド/調整トラフィックに対応するのに最適である。
2.プロアクティブ及び/又はリアクティブ最短パス:各ネットワークノードが1つ以上の最短パスツリーを計算し(プロアクティブ又はオンデマンド)、所与のパケットをその宛先に転送するために使用するネクストホップを決定する。固定環境では、このプロトコルによって計算されたパスは、パスセットPを設定するために直接使用される。このように、ルーティングは与えられ、かつそれは問題パラメータとみなされる(すべてのルーティング変数は固定)。
3.専用フローベースのルーティング:分散型多期間オーケストレータによって選択された専用パスは、アプリケーションz∈Zの特定のトラフィック需要(i、j)∈Azに対応するために割り当てられる。
【0315】
HEAVENは、新しい利用可能なネットワークノードを発見し、かつ、ネットワークへの参加を許可する役割を担う。HEAVENは、多期間ワークロード配置問題のネットワークパラメータに関連するネットワーク情報を収集するためにアーキテクチャオーケストレータによって要求されるすべてのAPIを供給する。
・仮想化対応物理インフラストラクチャ全体、又は所望のNホップ近傍の物理グラフ/ネットワークトポロジGP(N,E):
-N:ホスティングマシンセット。
-E:物理リンクセット。
-Ei:基盤となるノードのセル内に敷設された物理リンクのセット。
・ルーティングが問題パラメータでの場合、ルーティングパスセットP。
・現在のリンク及びセルのキャパシティ値。
-cijh、例えば、iwpriv [ifname] get adhocEntryというmt7610u Wi-Fiインターフェースのプライベート関数を呼び出すことによって。同じコマンドは、リンクRSSI値を返すためにも使用される。
-Linuxのコマンドiwconfigを使うことによるc-
i又はインスタンス。
・基盤となるネットワーク・インターフェース(Hij、l+、l-)に対応する公称スループット-距離関数の特性化。
【0316】
また、電気通信ネットワークは、上記で動作している分散型多期間オーケストレーションインスタンスから直接帯域割り当ての指示を受信することも意味する。
【先行技術文献】
【非特許文献】
【0317】
【非特許文献1】Inc. Amazon Web Services. Amazon Elastic Block Store, Persistent block storage for Amazon EC2. https://aws.amazon.com/ebs/, 2019. Online; accessed 12-February-2019.
【非特許文献2】J. Panerati, L.G. Gianoli, C. Pinciroli, A. Shabah, G. Nicolescu, and G. Beltrame. From Swarms to Stars: Task Coverage in Robot Swarms with Connectivity Constraints. In 2018 IEEE International Conference on Robotics and Automation (ICRA), pages 7674-7681. IEEE, may 2018.
【非特許文献3】TP-Link Technologies Co. TP-Link, USB Adapters, Archer T2UH - Specific- ations. https://www.tp-link.com/us/products/details/cat-5520_ Archer-T2UH.html#specifications. Online; accessed 20-February-2019.
【誤訳訂正2】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項1】
異種動的環境における複数のタスクの実行を可能にするシステムであって、該システムは:
複数の異種ホストマシンであって、各異種ホストマシンが、対応する処理リソースを特徴とし、各異種ホストマシンは、
前記異種ホストマシンを少なくとも1つの他の異機種ホストマシンとともに電気通信ネットワークの一部にするための電気通信アプリケーション、
前記異種ホストマシンの前記対応する処理リソースを使用する受信した仮想化要素を実行するための仮想化エンジン、及び
前記対応する異種ホストマシンの現在位置の少なくとも一つの表示を提供するジオロケーションモジュール、
を備える、複数の異種ホストマシンと;
前記複数の異種ホストマシンの少なくとも1つを使用する複数のタスクの実行を管理するための分散システムオーケストレータであって、前記複数のタスクは、対応する複数の仮想化要素で構成されており、前記分散システムオーケストレータは、
前記分散システムオーケストレータが、前記複数の異種ホストマシンのうちの少なくとも1つの異種ホストマシンを含む前記電気通信ネットワークの一部になることを可能にするための電気通信アプリケーション、
前記複数の仮想化要素の各仮想化要素を前記電気通信ネットワーク上に位置する選択された異種ホストマシンに割り当てるためのタスク割り当てモジュールであって、前記仮想化要素の割り当ては、所与の多期間ワークロード配置問題に従って行われ、前記所与の多期間ワークロード配置問題は、少なくとも、各利用可能な異種ホストマシンの現在の位置の前記表示、及び前記複数の異種ホストマシンの少なくとも一つの異種ホストマシン内の対応するリソース利用可能性の表示を使用して、前記分散システムオーケストレータにより決定され、かつ少なくとも一つの所与の基準にしたがう、タスク割り当てモジュール、
を備える、分散システムオーケストレータと;
を備える、システム。
【請求項2】
請求項1に記載のシステムであって、前記多期間ワークロード配置問題は、前記通信ネットワークに参加又は離脱する異種ホストマシンに関連する情報を使用する前記分散システムオーケストレータによって、決定される、システム。
【請求項3】
請求項1~2のいずれかに記載のシステムであって、前記通信ネットワークは、仮想アドホックモバイル通信ネットワークを含む、システム。
【請求項4】
請求項1~3のいずれかに記載のシステムであって、前記多期間ワークロード配置問題は、所与のイベントに応じて修正される、システム。
【請求項5】
請求項4に記載のシステムであって、前記所与のイベントは、利用可能なリソースの変化を含む、システム。
【請求項6】
請求項4に記載のシステムであって、前記多期間ワークロード配置問題の前記修正は、仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに直接転送することを備える、システム。
【請求項7】
請求項1~6のいずれかに記載のシステムであって、前記異種ホストマシンは無線ホストマシンであり、さらに、前記少なくとも1つの所与の基準は、
ホストマシン利用コストの最小化、
移行回数の最小化、
エネルギー消費量の最小化、
拒否されたワークロードの最小化、
ホストマシンの物理的な移動の最小化、
少なくとも1つの所与のホストマシンのスループット、
少なくとも2組のホストマシン間のスペクトル共有振る舞い、及び
少なくとも2組のホストマシン間の干渉、
からなる群から選択される、システム。
【請求項8】
請求項1~7のいずれかに記載のシステムであって、前記分散システムオーケストレータの前記電気通信アプリケーションは、前記多期間ワークロード配置問題に従って、専用の適切なルーティング経路を予約する、システム。
【請求項9】
請求項1~8のいずれかに記載のシステムであって、前記所与の多期間ワークロード配置問題は、少なくとも1つの電気通信ネットワークプロパティを使用して更に決定される、システム。
【請求項10】
請求項9に記載のシステムであって、前記少なくとも1つの電気通信ネットワークプロパティ問題は、
第1の所与の仮想化要素を所与の異種ホストマシンに転送するためのレイテンシ、
第2の所与の仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに移行するためのレイテンシ、及び
ネットワークトポロジ、
の少なくとも1つを含む、システム。
【請求項11】
請求項1~10のいずれかに記載のシステムであって、前記ジオロケーションモジュールは、前記対応する異種ホストマシンの可能な未来の位置の表示を更に提供し、さらに、前記所与の多期間ワークロード配置問題は、前記対応する異種ホストマシンの可能な未来の位置の前記表示を使用して更に決定される、システム。
【請求項12】
請求項1~11のいずれかに記載のシステムであって、各異種ホストマシンは、対応するレピュテーションの表示が割り当てられており、さらに、前記所与の多期間ワークロード配置問題は、対応するレピュテーションの前記表示を使用して更に決定される、システム。
【請求項13】
請求項1~12のいずれかに記載のシステムであって、各異種ホストマシンは、対応する利用可能なエネルギーのレベルの表示を提供するためのエネルギーモジュールを備え、さらに、前記所与の多期間ワークロード配置問題は、対応する利用可能なエネルギーのレベルの前記表示を使用して更に決定される、システム。
【請求項14】
異種動的環境における複数のタスクの実行を可能にする方法であって、該方法は:
複数の異種ホストマシンを提供するステップであって、各所与の異種ホストマシンが対応する処理リソースを有し、各所与の異種ホストマシンは、
前記所与の異種ホストマシンを、少なくとも1つの他の異種ホストマシンとともに電気通信ネットワークの一部にすることを可能にするための電気通信アプリケーション、
前記対応する処理リソースを使用する受信した仮想化要素を実行するための仮想化エンジン、及び
前記所与の異種ホストマシンの現在位置の少なくとも1つの表示を提供するジオロケーションモジュール、
を備える、ステップと;
分散システムオーケストレータを提供するステップであって、前記分散システムオーケストレータは、前記分散システムオーケストレータが前記複数の異種ホストマシンのうちの少なくとも1つの利用可能な異種ホストマシンを含む前記電気通信ネットワークの一部になることを可能するための対応する電気通信アプリケーション、及び前記複数の仮想化要素の各仮想化要素を前記電気通信ネットワークに位置する選択された異種ホストマシンに割り当てるためのタスク割り当てモジュールを有する前記複数の異種ホストマシンの少なくとも1つを使用する複数のタスクの実行を管理する、ステップと;
前記分散システムオーケストレータを使用して、各タスクが対応する複数の仮想化要素を備える、実行すべき複数のタスクを受信するステップと;
前記分散システムオーケストレータを使用して、各利用可能な異種ホストマシンの現在の位置の表示を取得するステップと;
前記分散システムオーケストレータを使用して、各利用可能な異種ホストマシンのリソース利用可能性の表示を取得するステップと;
前記分散システムオーケストレータを使用して、前記受信した各利用可能な異機種ホストマシンの現在の位置の表示、及び各利用可能な異種ホストマシンのリソース利用可能性の前記表示を使用して、多期間ワークロード配置問題を決定するステップと;
前記複数のタスクの各タスクに対して、前記決定された多期間ワークロード配置問題を使用して、前記複数の対応する仮想化要素の各対応する仮想化要素を、対応するホストマシンに割り当てるステップと;
を備える、方法。
【請求項15】
請求項14に記載の方法であって、前記対応する異種ホストマシンを使用する前記割り当てられた仮想化要素の各々を実行するステップを更に備える、方法。
【請求項16】
請求項14~15のいずれかに記載の方法であって、前記電気通信ネットワークは、仮想アドホックモバイル通信ネットワークを含む、方法。
【請求項17】
請求項14~16のいずれかに記載の方法であって、所与のイベントに応じて、前記多期間ワークロード配置問題を修正するステップを更に備える、方法。
【請求項18】
請求項17に記載の方法であって、前記所与のイベントは、利用可能なリソースの変化を含む、方法。
【請求項19】
請求項14~17のいずれかに記載の方法であって、前記多期間ワークロード配置問題を修正する前記ステップは、所与の仮想化要素を第1の所与の異種ホストマシンから第2の所与の異種ホストマシンに転送することを備える、方法。
【請求項20】
請求項14~19のいずれかに記載の方法であって、前記多期間ワークロード配置問題を決定する前記ステップは、前記電気通信ネットワークの少なくとも1つのプロパティを使用して更に行われる、方法。
【請求項21】
請求項14~20のいずれかに記載の方法であって、前記複数の異種ホストマシンの各々から、可能な未来の位置の表示を受信するステップを更に備え、さらに、前記多期間ワークロード配置問題を決定する前記ステップは、前記受信した可能な未来の位置の表示を使用して更に行われる、方法。
【請求項22】
請求項14~21のいずれかに記載の方法であって、前記複数の異種ホストマシンの各々に対して、対応するレピュテーションの表示を割り当てるステップを更に備え、さらに、前記多期間ワークロード配置問題を決定する前記ステップは、前記複数の対応するレピュテーションの表示を使用して更に行われる、方法。
【請求項23】
請求項14~22のいずれかに記載の方法であって、前記複数の異種ホストマシンの各々において対応する利用可能なエネルギーのレベルの表示を取得するステップを更に備え、さらに、前記多期間ワークロード配置問題を決定する前記ステップは、前記対応する利用可能なエネルギーのレベルの取得した表示を使用して更に行われる、方法。
【誤訳訂正3】
【訂正対象書類名】図面
【訂正対象項目名】全図
【訂正方法】変更
【訂正の内容】
【国際調査報告】