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

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

▶ エヌ・ティ・ティ・コミュニケーションズ株式会社の特許一覧

<>
  • 特開-制御装置、制御方法、及びプログラム 図1
  • 特開-制御装置、制御方法、及びプログラム 図2
  • 特開-制御装置、制御方法、及びプログラム 図3
  • 特開-制御装置、制御方法、及びプログラム 図4
  • 特開-制御装置、制御方法、及びプログラム 図5
  • 特開-制御装置、制御方法、及びプログラム 図6
  • 特開-制御装置、制御方法、及びプログラム 図7
  • 特開-制御装置、制御方法、及びプログラム 図8
  • 特開-制御装置、制御方法、及びプログラム 図9
  • 特開-制御装置、制御方法、及びプログラム 図10
  • 特開-制御装置、制御方法、及びプログラム 図11
  • 特開-制御装置、制御方法、及びプログラム 図12
  • 特開-制御装置、制御方法、及びプログラム 図13
  • 特開-制御装置、制御方法、及びプログラム 図14
  • 特開-制御装置、制御方法、及びプログラム 図15
  • 特開-制御装置、制御方法、及びプログラム 図16
  • 特開-制御装置、制御方法、及びプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024025118
(43)【公開日】2024-02-26
(54)【発明の名称】制御装置、制御方法、及びプログラム
(51)【国際特許分類】
   G06F 9/455 20180101AFI20240216BHJP
【FI】
G06F9/455 150
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022128307
(22)【出願日】2022-08-10
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】渡辺 浩気
(72)【発明者】
【氏名】沈 文裕
(72)【発明者】
【氏名】上野山 実
(72)【発明者】
【氏名】和田 雄一郎
(57)【要約】
【課題】仮想化基盤装置の構築を容易に行うための技術を提供する。
【解決手段】仮想化基盤装置と制御装置とを備えるシステムにおける前記制御装置であって、アプリケーションを仮想マシンで作成するかコンテナで作成するかを判断する管理部と、前記管理部による判断に基づいて、前記仮想化基盤装置に対し、仮想マシン又はコンテナで前記アプリケーションを作成することを指示する指示部とを備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
仮想化基盤装置と制御装置とを備えるシステムにおける前記制御装置であって、
アプリケーションを仮想マシンで作成するかコンテナで作成するかを判断する管理部と、
前記管理部による判断に基づいて、前記仮想化基盤装置に対し、仮想マシン又はコンテナで前記アプリケーションを作成することを指示する指示部と
を備える制御装置。
【請求項2】
前記管理部は、各アプリケーションの対応環境を記述したアプリケーション管理表を参照することにより、前記判断を行う
請求項1に記載の制御装置。
【請求項3】
前記管理部は、ユーザからの入力に基づいて前記アプリケーションの構成情報データを取得し、前記構成情報データとテンプレートを用いて定義ファイルを作成し、
前記指示部は、前記定義ファイルを前記仮想化基盤装置に送信する
請求項1に記載の制御装置。
【請求項4】
前記指示部は、
前記アプリケーションを仮想マシンで作成する場合には、前記定義ファイルを前記仮想化基盤装置におけるハイパーバイザに送信し、
前記アプリケーションをコンテナで作成する場合には、前記定義ファイルを前記仮想化基盤装置におけるクラスタに送信する
請求項3に記載の制御装置。
【請求項5】
前記アプリケーションをコンテナで作成する場合において、
前記管理部は、前記仮想化基盤装置において使用可能なクラスタが無いと判断した場合に、前記構成情報データに基づいて、クラスタのノード構成を決定し、前記指示部が、前記仮想化基盤装置に対してクラスタの作成を指示する
請求項3に記載の制御装置。
【請求項6】
前記アプリケーションをコンテナで作成する場合において、
前記管理部は、前記仮想化基盤装置におけるクラスタの利用可能リソース量に基づいて、当該クラスタにおいて前記アプリケーションを作成できるか否かを判断し、作成できないと判断した場合に、当該クラスタにノードを追加することを決定し、前記指示部が、前記仮想化基盤装置に対して前記ノードを追加する処理を実行する
請求項1に記載の制御装置。
【請求項7】
仮想化基盤装置と制御装置とを備えるシステムにおける前記制御装置が実行する制御方法であって、
アプリケーションを仮想マシンで作成するかコンテナで作成するかを判断するステップと、
前記判断に基づいて、前記仮想化基盤装置に対し、仮想マシン又はコンテナで前記アプリケーションを作成することを指示するステップと
を備える制御方法。
【請求項8】
コンピュータを、請求項1ないし6のうちいずれか1項に記載の制御装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エッジコンピューティングにおけるエッジ装置を構築する技術に関連するものである。
【背景技術】
【0002】
世界のエッジコンピューティング市場は、データ量の増大や、リアルタイム処理の需要、COVID-19に起因する社会的背景の影響もあり、大きく成長している。
【0003】
すなわち、まず、IoT領域において収集可能なデータの幅が広がったことで、クラウドに蓄えられるデータ量が増加している。一方、リアルタイム処理需要が高まりつつあり、自動運転や異常検知等、従来よりも即時性の必要なユースケースが増加している。さらに、COVID-19の影響によるパンデミックのリスクを軽減するために、リモートでの資産維持・監視、遠隔医療等、オンラインでの需要が急増している。
【0004】
エッジコンピューティングとは、「端末の近くにサーバを分散配置する」ネットワーク技法の1つを意味する。特に製造現場においては、エッジコンピューティングにより、工場内に多数設置されたセンサや、測定器から得られる大容量のデータに対し、高速、又はリアルタイムなアプリケーション処理(データの見える化)が可能となる。
【0005】
従来技術では、これらの機能は、VNF(Virtual Network Function)基盤上で構築することにより実現されている。VNFとはネットワーク機能をハードウェアから切り離し、汎用ハードウェア上で実行できる仮想ネットワークを構築する技術であり、これによりネットワーク構成の自由度と柔軟性を向上させることができる。しかし、VNFではスケーラビリティ、オーバーヘッドの削減を実現することが難しく、今後の複雑なアプリケーション連携や保守運用の自動化、可搬性への対応が困難となり、構築運用コストが高いままになってしまう。
【0006】
そこで、このVNF基盤を発展させたCNF(Cloud-Native Network Function)基盤が期待されている。CNFは、オープンソースのコンテナオーケストレーションシステムであるKubernetes(登録商標)上で動作するネットワーク機能である。CNFは、VNFをコンテナ化した"Container Network Function"であると解釈してもよい。従来のVNFがVM(仮想マシン)をベースとしたものであるのに対し、CNFはコンテナをベースとする。コンテナ技術による小型サービスの集合体としてアプリケーションを実現することで、小型サービス毎に開発・機能追加を行い、アプリケーションの開発・展開のサイクルを迅速化でき、柔軟性、スケーラビリティ、可搬性の向上が実現できる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2018-032058号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、現状のVNFをCNFに移行するには、多くのレガシーなVMの環境をコンテナ化させなければならず、完全に移行するまでには相当な期間が必要である。移行期間ではVNFのVMとCNFのコンテナが仮想化基盤装置において共存しなければならないが、現在そのような環境は実現できていない。共存環境では、アプリケーションをどの環境で作成するべきかを判断しなければならない。また、従来技術では、特にコンテナ環境の環境構築のために多くの手作業が必要であり、導入コストが増加する。
【0009】
すなわち、従来技術では、仮想化基盤装置の構築を容易に行うことができないという課題があった。
【0010】
本発明は上記の点に鑑みてなされたものであり、仮想化基盤装置の構築を容易に行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
開示の技術によれば、仮想化基盤装置と制御装置とを備えるシステムにおける前記制御装置であって、
アプリケーションを仮想マシンで作成するかコンテナで作成するかを判断する管理部と、
前記管理部による判断に基づいて、前記仮想化基盤装置に対し、仮想マシン又はコンテナで前記アプリケーションを作成することを指示する指示部と
を備える制御装置が提供される。
【発明の効果】
【0012】
開示の技術によれば、仮想化基盤装置の構築を容易に行うことを可能とする技術が提供される。
【図面の簡単な説明】
【0013】
図1】システムの全体構成例を示す図である。
図2】第1実施形態のシステム構成図である。
図3】第1実施形態の動作を説明するためのフローチャートである。
図4】アプリケーション管理表の例を示す図である。
図5】アプリケーションテンプレートの例を示す図である。
図6】構成情報データの例を示す図である。
図7】アプリケーションの定義ファイルの例を示す図である。
図8】エッジ装置管理表の例を示す図である。
図9】第2実施形態のシステム構成図である。
図10】第2実施形態の動作を説明するためのフローチャートである。
図11】クラスタ情報の例を示す図である。
図12】VMテンプレートの例を示す図である。
図13】第3実施形態のシステム構成図である。
図14】第3実施形態の動作を説明するためのフローチャートである。
図15】クラスタ管理表の例を示す図である。
図16】クラスタ構成管理表の例を示す図である。
図17】装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0015】
本実施の形態では、コンテナオーケストレーションツールのデファクトスタンダードであるKubernetes(登録商標)を用いる場合の例を示しているが、Kubernetes(登録商標)以外のコンテナオーケストレーションツールを使用する場合でも本実施の形態に係る技術を適用可能である。
【0016】
また、本実施の形態では、仮想化基盤装置として、エッジ装置を使用しているが、これは例である。仮想化基盤装置として、エッジ装置以外の装置を使用してもよい。
【0017】
(実施の形態の概要)
前述したとおり、従来技術において、現状のVNFをCNFに移行するには、多くのレガシーなVMの環境をコンテナ化させなければならず、完全に移行するまでには相当な期間が必要である。また、移行期間ではVNFのVMとCNFのコンテナが共存しなければならないが、現在そのような環境は実現できていない。
【0018】
具体的には、従来技術においては、VM作成/管理とコンテナ作成/管理を、別々のエッジコントローラで管理しているため、リソースの準備や構築環境の判断、管理/保守に時間がかかり、煩雑になってしまう。また、別々のエッジコントローラであるがために、VM・コンテナ両方のデプロイ記述を習得しなければならない。また、コンテナ環境(コンテナ基盤)のクラスタ作成は手動であり、クラスタ内のリソース不足の際は、ノード追加も手動で行う必要がある。その結果、導入コストが増加する一方で、開発の遅延等が生じる可能性がある。
【0019】
そこで、本実施の形態では、VMとコンテナの作成及び管理を1つのエッジコントローラで行うことで、VNFとCNFの共存環境を構築することとしている。当該エッジコントローラを使用することで、ユーザは記述方式を意識せずに必要な情報を選択(あるいは入力)するだけで、それぞれの定義ファイルを自動生成することが可能となる。
【0020】
また、その定義ファイルを元に自動的にVM又はコンテナを生成し、その上にアプリケーションをデプロイすることが可能である。コンテナを作成する場合は、事前にクラスタ環境が必要となるが、クラスタが未構築の場合、クラスタ自体を自動生成し、アプリケーションをデプロイすることが可能である。また、クラスタ内にアプリケーションのデプロイのためのリソースが不足している場合、自動的にクラスタのノードを拡張することが可能である。以下、本実施の形態におけるシステムの構成と動作を詳細に説明する。
【0021】
(システムの全体構成例)
図1に、本実施の形態におけるシステムの全体構成例を示す。図1に示すように、本システムは、エッジコントローラ100、エッジ装置200、及びユーザ端末300がネットワーク1に接続される構成を有する。エッジ装置200は、例えば、ユーザの各拠点に備えられる。エッジ装置200を、「仮想化基盤」、「仮想化基盤装置」、「通信装置」、「処理装置」、あるいは「サーバ」等と呼んでもよい。ユーザ端末300は、エッジ装置200上にアプリケーションを作成することを希望するユーザの端末である。
【0022】
エッジコントローラ100は、1つ以上のエッジ装置200の管理及び制御を実行する装置である。エッジコントローラ100を制御装置と呼んでもよい。エッジ装置200は、エッジコントローラ100とネットワーク1を介して通信する。エッジ装置200は、ソフトウェア(プログラム)を動作させることができるコンピュータである。
【0023】
また、エッジコントローラ100、エッジ装置200、及びユーザ端末300はいずれも、通信機能を持つコンピュータである。以下では、適宜、エッジコントローラ100及びエッジ装置200の機能構成を図示するが、その機能構成は、本発明に係る技術に特に関連する機能の構成を示している。
【0024】
以下、エッジコントローラ100、及びエッジ装置200を有するシステムの構成と動作を詳細に説明する。以下では、第1実施形態~第3実施形態を説明する。第1実施形態が最も基本的な例であり、第2実施形態~第3実施形態については、第1実施形態と異なる点を主に説明する。なお、第1実施形態~第3実施形態は、任意に組み合わせて実施することが可能である。
【0025】
(第1実施形態)
まず、第1実施形態を説明する。第1実施形態におけるシステム構成を図2に示す。図2に示すように、エッジコントローラ100は、管理部110、記憶部120、指示部130を有する。
【0026】
管理部110は、エッジ装置200の管理等を行う。記憶部110には、アプリケーションテンプレート等、処理に使用する各種の情報等が格納される。指示部130は、エッジ装置200に対し各種の指示を行う。
【0027】
エッジ装置200は、ハイパーバイザ210、仮想マシン220、クラスタ230を有する。以降、仮想マシンをVMと呼ぶ。ハイパーバイザ210は制御部211を有する。VM220はアプリケーション221を有する。クラスタ230は、制御部231とPod232を有する。Pod232はアプリケーション233(コンテナで動作するアプリケーション)を有する。クラスタ230は物理マシンで実現してもよいしVMで実現してもよいが、本実施の形態ではVMで実現する。
【0028】
なお、Podは、コンテナを管理するための最小単位であり、1つ又は複数のコンテナを含む。Podはノード上で動作する。クラスタは1つ又は複数のノードを有する。ハイパーバイザは、仮想マシンを作成及び実行する機能部(ソフトウェア)である。
【0029】
各実施形態における各図において、(new)と記載されている機能部は、その実施形態における動作により新たにデプロイ(作成)される機能部である。
【0030】
図3のフローチャートの手順に沿って、上記構成を備えるシステムの動作例を説明する。
【0031】
<S101:作成種別判断>
S101において、エッジコントローラ100の管理部110は、作成するアプリケーションの登録情報(アプリケーション管理表)に基づいて、当該アプリケーションをVMで作成するかコンテナで作成するかを判断する。以下、具体例を説明する。
【0032】
記憶部120には、図4に示すようなアプリケーション管理表が格納されているものとする。ユーザが、ユーザ端末300からデプロイ(作成)したいアプリケーションを選択(又は入力)すると、ユーザ端末300から、選択されたプリケーションが管理部110に通知される。
【0033】
管理部110は、アプリケーション管理表に基づいて、当該アプリケーションをVMで作成するか、コンテナで(つまりPod上)で作成するか判断する。アプリケーション管理表が図4に示すものである場合において、ユーザがAP2を選択したとすると、管理部110は、AP2をコンテナで作成すると判断する。
【0034】
もしも、ユーザが選択したアプリケーションが、VMとPodのどちらでも作成可能である場合、例えば、管理部110は、VMとPodのうちのどちらかを選択させる選択画面をユーザ端末300に表示し、ユーザにVMとPodのうちのどちらかを選択させる。管理部110は、ユーザに選択されたほう(VM又はPod)でアプリケーションを作成することを決定する。
【0035】
<S102:構成情報データの事前準備>
S102において、管理部110は、作成するアプリケーションの構成情報データの事前準備を行う。具体的には下記のとおりである。
【0036】
記憶部120は、アプリケーション毎にアプリケーションテンプレートを保持している。VMとPodのどちらでも作成可能なアプリケーションについては、VMとPodのそれぞれについてのアプリケーションテンプレートを保持している。図5に、アプリケーションテンプレートの例を示す。このアプリケーションテンプレートの変数({{application name}}など)の部分に値を代入することでアプリケーションの定義ファイルを得ることができる。
【0037】
S102では、上記の値である構成情報データを取得する。例えば、作成するアプリケーションとして、「AP1 on Pod」が選択されとすると、管理部110は、「AP1 on Pod」に対応する入力項目(変数の名称)をユーザ端末300に送信する。
【0038】
ユーザ端末300上には、「AP1 on Pod」に対応する入力項目が、例えばウィザード形式のGUIで表示され、ユーザはGUIに従って情報を入力する。入力した情報はユーザ端末300から管理部110に送信され、管理部110によりその情報が構成情報データとして記憶部120に格納される。図6に、「AP1 on Pod」に対応する構成情報データの例を示す。
【0039】
<S103:定義ファイル生成>
S103において、管理部110は、作成するアプリケーションの定義ファイルを生成する。具体的には下記のとおりである。
【0040】
管理部110は、構成情報データを記憶部120から読み出し、アプリケーションテンプレートの対応する変数に値を代入することにより、アプリケーションの定義ファイルを生成する。図7に、生成された定義ファイルの例を示す。
【0041】
<S104:アプリケーション作成>
S104において、指示部130により、定義ファイルからアプリケーションを作成(デプロイ)する。記憶部120には、定義ファイルの送信先を示すエッジ装置管理表が格納されている。図8にエッジ装置管理表の例を示す。
【0042】
アプリーションをVMで作成する場合、エッジコントローラ100の指示部130はエッジ装置管理表を参照して、ハイパーバイザ210の制御部211へ定義ファイルを送信する。制御部211は、その定義ファイルに従って、VM220及びアプリケーション221を作成する。
【0043】
アプリーションをPodで作成する場合、エッジコントローラ100の指示部130はエッジ装置管理表を参照して、クラスタ230の制御部231へ定義ファイルを送信する。制御部231は、その定義ファイルに従って、Pod232及びアプリケーション233を作成する。
【0044】
(第2実施形態)
次に、第2実施形態について説明する。以下では、第1実施形態と異なる点を主に説明する。
【0045】
図9に第2実施形態におけるシステム構成例を示す。図9に示すように、エッジコントローラ100は、管理部110、記憶部120、指示部130、及び登録用ファイル発行部140を有する。登録用ファイル発行部140は、登録用のISOファイルを発行する。ISOファイルをイメージファイル等と呼んでもよい。
【0046】
第2実施形態では、図9に示すエッジ装置200におけるクラスタ230を新規に作成する。図10のフローチャートの手順に沿って、第2実施形態におけるシステムの動作例を説明する。
【0047】
<S201~S203>
S201~S203は、第1実施形態のS101~S103と同じである。ここでは、S201~S203において、Pod上でアプリケーションを作成すると判断されたとする。
【0048】
<S204:判断>
S204において、エッジコントローラ100の管理部110は、エッジ装置200におけるクラスタの有無を判断するとともに、クラスタのノード構成(例:1ノードor3ノード)を判断する。具体的には下記のとおりである。
【0049】
記憶部120には、現在使用可能なクラスタの情報が格納されている。管理部110は、当該情報を参照することにより、使用可能なクラスタの有無を判断する。ここでは、使用可能なクラスタが無いと判断されたとする。以降、クラスタ作成のための処理を実行する。
【0050】
管理部110は、作成しようとしているアプリケーションの定義ファイルのレプリカ数に基づいて、ノード数を判断する。例えば、レプリカ数と同じ数のノードを作成すると判断する。ただし、判断材料はレプリカ数に限らない。例えば、CPU数あるいはメモリ容量に基づいてノード数を判断してもよい。
【0051】
例えば、構成情報データが図6に示すとおりのものである場合、レプリカ数が1であるため、管理部110は、1ノードでクラスタを作成すると判断する。
【0052】
<S205:ノード登録用のISOファイル作成>
S205において、まず、登録用ファイル発行部140が、作成するクラスタの情報(クラスタ情報と呼ぶ)を生成する。クラスタ情報の例を図11に示す。なお、クラスタ情報については、ユーザがユーザ端末300から入力(又は選択)することとしてもよい。ユーザ端末300から入力されたクラスタ情報は、登録用ファイル発行部140に送信される。また、記憶部120に予めクラスタ情報を記憶しておき、登録用ファイル発行部140が、それを読み出すこととしてもよい。
【0053】
続いて、登録用ファイル発行部140は、クラスタ情報に基づいて登録用ISOファイルを発行し、それを管理部110に送信する。管理部110は、登録用ISOファイルを記憶部120に保管する。
【0054】
<S206:ノード用VM作成>
S206において、指示部130は、ハイパーバイザ210の制御部211に対して、S204で判断されたノード数分のVMを作成するよう指示する。制御部211は、クラスタのノード用のVMテンプレートを用いてVMを作成する。
【0055】
当該VMテンプレートについては、指示部130から制御部211に送信してもよいし、制御部211が予め保持していてもよい。図12に、クラスタのノード用のVMテンプレートの例を示す。例えば、「AP1 on Pod」を選択し、レプリカ数を1と設定した場合、図12で示したVMが1つ作成される。
【0056】
<S207:VMへのクラスタインストール>
S207において、指示部130は、S206で作成されたVM235へクラスタ230をインストールする。具体的には、クラスタ230を構成するコンテナランタイム、CNI(Container Network Interface)等がVM235にインストールされる。
【0057】
<S208:アプリケーションの作成>
S208は、第1実施形態のS104と同じであり、指示部130から制御部231へ指示することで、定義ファイルに基づきアプリケーション233が作成される。
【0058】
(第3実施形態)
次に、第3実施形態について説明する。以下では、第1実施形態及び第2実施形態と異なる点を主に説明する。
【0059】
図13に第3実施形態におけるシステム構成を示す。図13に示すように、エッジコントローラ100は、管理部110、記憶部120、指示部130、及び登録用ファイル発行部140を有する。
【0060】
第3実施形態では、図13示すエッジ装置200におけるノード235(ワーカーノード)を新規に作成する。なお、既にあるノード237は、マスターノードである。
【0061】
<S301~S303>
S301~S303は、第1実施形態のS101~S103と同じである。ここでは、S301~S303において、Podでアプリケーションを作成すると判断されたとする。
【0062】
<S304:スペック確認・ノード追加判断>
記憶部120には、エッジ装置200で使用可能なクラスタのスペック情報(クラスタ管理表と呼ぶ)が格納されている。このスペック情報には、機能(メモリ等)のリソース量(上限容量等)に加えて、機能についての現時点で利用可能なリソース量(残スペックと呼んでもよい)も含まれる。
【0063】
S304において、管理部110は、クラスタ管理表を参照し、利用可能なリソース量に基づいて、作成しようとしているアプリケーションが、現在のクラスタ上に作成可能か否かを判断し、作成不可であると判断した場合(つまり、クラスタのスペックが不足している場合)に、VM作成をして、それをワーカーノードとしてクラスタに追加する判断を行う。なお、この判断はユーザが行ってもよい。
【0064】
図15に、クラスタ管理表の例を示す。例えば、AP1 on Podを選択し、図6に示す構成情報データを得たとする。この場合、CPU数は2であるが、図15のクラスタ管理表に示すとおり、現状のクラスタにおける使用可能CPU数が1となっているため、現状のクラスタにはPodを生成することができない。そのため、ワーカーノード1台を追加するフローに移行する。
【0065】
<S305:ノード登録用のISOファイルの生成・確認>
S305において、登録用ファイル発行部140は、クラスタ230の新規作成時に生成された登録用ISOファイルを記憶部120から取得する。もしくは、登録用ファイル発行部140は、新しく登録用ISOファイルを生成する。
【0066】
<S306:ノード用VM作成>
S306において、指示部130は、ハイパーバイザ210の制御部211に対して、VMを作成するよう指示する。ここでは1つのVMを作成するものとする。第2実施形態と同様に、制御部211は、クラスタのノード用のVMテンプレートを用いてVM235を作成する。
【0067】
<S307:クラスタインストール>
S307において、指示部130は、制御部231に指示することにより、S306で作成されたVM235へクラスタをインストールする。具体的には、クラスタを構成するコンテナランタイム、CNI(Container Network Interface)等がVM235にインストールされる。S306とS307により、クラスタ230へワーカーノード235が追加される。図13では、図示の便宜上、クラスタ230の外側にノード235が存在するが、S307のクラスタインストールにより、クラスタ230内にノード235が含まれるようになる。
【0068】
エッジコントローラ100の記憶部120には、クラスタ構成管理表が格納されている。S307では、クラスタ230へのワーカーノード235の追加に伴って、管理部110がクラスタ構成管理表を更新する。
【0069】
図16にクラスタ構成管理表の例を示す。例えば、クラスタAにマスターノードとワーカーノード1が存在する状態で、ワーカーノード2が新たに追加されることで、図16に示す状態になる。
【0070】
<S308:アプリケーションの作成>
S308は基本的に第1実施形態のS104と同じである。ここでは、指示部130から制御部236へ指示することで、定義ファイルに基づきPod232及びアプリケーション233が作成される。
【0071】
(ハードウェア構成例)
エッジコントローラ100、及びエッジ装置200はいずれも、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、仮想マシンであってもよい。以下、エッジコントローラ100、エッジ装置200を総称して「装置」と呼ぶ。
【0072】
すなわち、当該装置は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0073】
図17は、上記コンピュータのハードウェア構成例を示す図である。図17のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0074】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0075】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。
【0076】
インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。なお、当該装置において、表示装置1006、入力装置1007、出力装置1008のいずれか又は全部を備えないこととしてもよい。
【0077】
(実施の形態の効果)
本実施の形態に係る技術により、仮想化基盤装置の構築を容易に行うことが可能となる。具体的には下記のとおりである。
【0078】
本実施の形態では、VM及びコンテナを1つのエッジコントローラ上で統合して管理する。これにより、VNF/CNF基盤の共存環境を容易に構築できるので、CNF基盤発展へつなげることができる。また、アプリケーションの定義ファイルの自動生成やクラスタ新規自動作成/追加を実現できるので、VMとコンテナの記述方式の違いを意識することなく構築に専念できる。これにより、アプリケーション開発を加速化させ、柔軟性、スケーラビリティ、及び可搬性の向上を実現できる。
【0079】
(付記)
本明細書には、少なくとも下記各項の制御装置、制御方法、及びプログラムが開示されている。
(付記項1)
仮想化基盤装置と制御装置とを備えるシステムにおける前記制御装置であって、
アプリケーションを仮想マシンで作成するかコンテナで作成するかを判断する管理部と、
前記管理部による判断に基づいて、前記仮想化基盤装置に対し、仮想マシン又はコンテナで前記アプリケーションを作成することを指示する指示部と
を備える制御装置。
(付記項2)
前記管理部は、各アプリケーションの対応環境を記述したアプリケーション管理表を参照することにより、前記判断を行う
付記項1に記載の制御装置。
(付記項3)
前記管理部は、ユーザからの入力に基づいて前記アプリケーションの構成情報データを取得し、前記構成情報データとテンプレートを用いて定義ファイルを作成し、
前記指示部は、前記定義ファイルを前記仮想化基盤装置に送信する
付記項1又は2に記載の制御装置。
(付記項4)
前記指示部は、
前記アプリケーションを仮想マシンで作成する場合には、前記定義ファイルを前記仮想化基盤装置におけるハイパーバイザに送信し、
前記アプリケーションをコンテナで作成する場合には、前記定義ファイルを前記仮想化基盤装置におけるクラスタに送信する
付記項3に記載の制御装置。
(付記項5)
前記アプリケーションをコンテナで作成する場合において、
前記管理部は、前記仮想化基盤装置において使用可能なクラスタが無いと判断した場合に、前記構成情報データに基づいて、クラスタのノード構成を決定し、前記指示部が、前記仮想化基盤装置に対してクラスタの作成を指示する
付記項3又は4に記載の制御装置。
(付記項6)
前記アプリケーションをコンテナで作成する場合において、
前記管理部は、前記仮想化基盤装置におけるクラスタの利用可能リソース量に基づいて、当該クラスタにおいて前記アプリケーションを作成できるか否かを判断し、作成できないと判断した場合に、当該クラスタにノードを追加することを決定し、前記指示部が、前記仮想化基盤装置に対して前記ノードを追加する処理を実行する
付記項1ないし5のうちいずれか1項に記載の制御装置。
(付記項7)
仮想化基盤装置と制御装置とを備えるシステムにおける前記制御装置が実行する制御方法であって、
アプリケーションを仮想マシンで作成するかコンテナで作成するかを判断するステップと、
前記判断に基づいて、前記仮想化基盤装置に対し、仮想マシン又はコンテナで前記アプリケーションを作成することを指示するステップと
を備える制御方法。
(付記項8)
コンピュータを、付記項1ないし6のうちいずれか1項に記載の制御装置における各部として機能させるためのプログラム。
【0080】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0081】
1 ネットワーク
100 エッジコントローラ
110 管理部
120 記憶部
130 指示部
140 登録用ファイル発行部
200 エッジ装置
210 ハイパーバイザ
211、231、236 制御部
220 VM
221 アプリケーション
230 クラスタ
232 Pod
233 アプリケーション
235、237 ノード
300 ユーザ端末
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17