JP6763429B2 - 制御装置、コンテナの起動方法及びプログラム - Google Patents

制御装置、コンテナの起動方法及びプログラム Download PDF

Info

Publication number
JP6763429B2
JP6763429B2 JP2018524627A JP2018524627A JP6763429B2 JP 6763429 B2 JP6763429 B2 JP 6763429B2 JP 2018524627 A JP2018524627 A JP 2018524627A JP 2018524627 A JP2018524627 A JP 2018524627A JP 6763429 B2 JP6763429 B2 JP 6763429B2
Authority
JP
Japan
Prior art keywords
image
container
information
vim
repository
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018524627A
Other languages
English (en)
Other versions
JPWO2018003020A1 (ja
Inventor
麻代 大平
麻代 大平
智仁 井口
智仁 井口
一廣 江頭
一廣 江頭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2018003020A1 publication Critical patent/JPWO2018003020A1/ja
Application granted granted Critical
Publication of JP6763429B2 publication Critical patent/JP6763429B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、制御装置、コンテナの起動方法及びプログラムに関する。特に、ネットワーク機能仮想化管理オーケストレーションに係る制御装置、コンテナの起動方法及びプログラムに関する。
サーバ上のハイパーバイザ(HyperVisor:HV)等の仮想化レイヤ(Virtualization Layer)上に実装した仮想マシン(Virtual Machine:VM)によりネットワーク機器等の機能をソフトウェア的に実現するNFV(Network Functions Virtualization)が知られている(例えば、非特許文献1参照)。
図7は、仮想化環境のネットワーク構成の概略を示す図である。図7を参照すると、VNF(Virtualized Network Function)22はサーバ上の仮想マシン(VM)で動作するアプリケーション等に対応し、ネットワーク機能をソフトウェア的に実現する。VNF22ごとにEM(Element Manager:要素管理)23(EMS(Element Manage System)ともいう)という管理機能が設けられる。
NFVI(Network Functions Virtualization Infrastructure)21は、コンピューティング、ストレージ、ネットワーク機能等、物理マシン(Physical Machine;PM)のハードウェア資源をハイパーバイザ等の仮想化レイヤで仮想化した仮想化コンピューティング、仮想化ストレージ、仮想化ネットワーク等の仮想化ハードウェア資源として柔軟に扱えるようにした基盤である。
NFV−MANO(NFV Management & Orchestration)10のNFVオーケストレータ(NFV Orchestrator:NFVO)11は、NFVI21のリソースのオーケストレーション、及び、ネットワークサービス(Network Service:NS)インスタンスのライフサイクル管理(NSインスタンスのインスタンシエーション(Instantiation)、スケーリング(Scaling)、ターミネーション(Termination)、更新(Update)等)を行う。
VNFマネージャ(VNF Manager:VNFM)12は、VNFインスタンスのライフサイクル管理(例えばインスタンシエーション(instantiation)、更新(update)、クエリ(query)、スケーリング(scaling)、停止(termination)等)およびイベント通知を行う。
仮想化インフラストラクチャマネージャ(Virtualized Infrastructure Manager:VIM)13は、NFVI21のコンピューティング、ストレージ、ネットワークのリソース管理、NFVI21の障害監視、NFVI21のリソース監視等を行う。
OSS/BSS30のうちOSS(Operations Support Systems)は、例えば通信事業者(キャリア)がサービスを構築し、運営していくために必要なシステム(機器やソフトウェア、仕組みなど)を総称したものである。BSS(Business Support systems)は、例えば通信事業者(キャリア)が利用料などの課金、請求、顧客対応などのために使う情報システム(機器やソフトウェア、仕組みなど)の総称である。
図7に示すネットワークシステムでは、VNF22のインスタンシエーションに必要なイメージファイルはVIM13が管理する。VIM13は、イメージファイルをNFVI21に提供することで、VNF22のインスタンシエーションを行う。仮想化環境のネットワークシステムでは、非特許文献1の「7.2.2 VNF software image management」に記載されたソフトウェアイメージ管理インターフェイス(VNF software image management interface)により、対象となるソフトウェアバージョンを指定できることが定められている。より具体的には、非特許文献1の「B.2.1 On-board VNF Package flow」の「Figure B.2: VNF Package on-boarding message flow」を参照すると、送信元からの要求に従い、NFVO11が、ソフトウェアイメージ管理インターフェイスを用いて、VIM13にイメージファイルを提供している。なお、上記ソフトウェア管理インターフェイス(VNF software image management interface)は、非特許文献2の7.2章では、「Software Image Management Interface」と記載されている。
上記図7を用いた説明は、物理マシン(PM)に搭載された仮想化機能(ハイパーバイザ)により仮想マシン(VM)を作り出す仮想化技術である。近年では、上記仮想マシン(VM)を用いた仮想化技術に加え、コンテナを用いた仮想化技術が注目されている。コンテナ型の仮想化技術では、コンテナごとにオペレーティングシステム(OS;Operating System)を必要とせず、物理マシン(PM)上でコンテナが利用可能になるまでの時間が短い等の様々な利点が存在する。
コンテナ型の仮想化技術では、コンテナエンジンと呼ばれるソフトウェアが用いられる(物理マシン又は仮想マシンにコンテナエンジンがインストールされる)。近年では、アプリケーション(仮想サーバ)のイメージに関するスタック管理機能を備えたDockerがオープンソースとして公開され、コンテナエンジンとして使用されることが多い。
Dockerには、アプリケーションが導入された実行環境そのものを実行イメージとして管理する機能が備わっており、当該イメージを管理するDockerリポジトリ(Dockerレジストリとも称される)の仕様が非特許文献3にて公開されている。
また、OpenStackにおいて、Dockerコンテナを扱えるようにするためのフレームワークが「Magnum」と称され検討されている。Magnumは、OpenStackによるAPI(Application Programming Interface)であり、Dockerによる仮想化環境をコマンドで構築し、操作することができる。
例えば、図8を参照すると、Dockerにより、Dockerイメージを生成し、リポジトリ(Repository)に登録するためのコマンド(docker.build)や、Dockerイメージを起動するためのコマンド(magnum.pod-create)が提供される。なお、Magnumによるインターフェイス等が、非特許文献4にて公開されている。
ETSI GS NFV-MAN 001 V1.1.1 (2014-12) Network Functions Virtualisation (NFV); Management and Orchestration (2016年6月14日検索)<http://www.etsi.org/deliver/etsi_gs/NFV-MAN/001_099/001/01.01.01_60/gs_NFV-MAN001v010101p.pdf> ETSI GS NFV-IFA 005 V2.1.1 (2016-04) Network Functions Virtualisation (NFV); Management and Orchestration Or-Vi reference point - Interface and Information Model Specification (2016年6月14日検索)<http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/005/02.01.01_60/gs_nfv-ifa005v020101p.pdf> The Docker commands (2016年6月14日検索)<https://docs.docker.com/engine/reference/commandline/> Developer Quick-Start (2016年6月14日検索)<http://docs.openstack.org/developer/magnum/dev/dev-quickstart.html>
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
非特許文献1が想定する仮想機能インスタンス(VNF、仮想サーバ)は、ハイパーバイザを用いた仮想マシン(VM)により実現されることを想定している。換言すれば、非特許文献1では、他の仮想化技術(Virtualization技術)の1つであるコンテナ型の仮想化技術は想定されていない。その結果、VIMには、コンテナを管理する機能が備わっておらず、コンテナ型の仮想化技術を用いることができない。
より具体的には、非特許文献1に規定された仕様により実装されたVIMは、コンテナを管理するために必要なイメージのスタック管理機能(リポジトリ管理)と、Dockerのallocate実行機能と、を備えていないので、コンテナ型の仮想化技術を用いることができない。つまり、非特許文献1には、VIMがハイパーバイザを用いて仮想マシン(VM)を構築するための手段が示されているが、VIMがコンテナを管理する機能が規定されていない。その結果、仮想化手段としてコンテナを用いることができないという問題が生じる。
本発明は、仮想化手段としてのコンテナを使用可能とする、制御装置、コンテナの起動方法及びプログラムを提供することを目的とする。
本発明の第1の視点によれば、コンテナの実行に必要な情報であるイメージを管理する第1の手段と、所定のバージョンのイメージに対応するコンテナの起動を依頼する第2の手段と、前記第2の手段からの依頼に応じて、前記第1の手段が管理するイメージに基づき、前記所定のバージョンのイメージに対応するコンテナの作成を指示する第3の手段と、を備える、制御装置が提供される。
本発明の第2の視点によれば、仮想化環境下にて、ネットワークサービスを実現するNFVO(NFV-Orchestrator)と、仮想機能インスタンスのリソース管理と制御を行うVIM(Virtualized Infrastructure Manager)と、コンテナの実行に必要な情報であるイメージを管理するリポジトリと、を含む通信システムにおいて、前記NFVOが、所定のバージョンのイメージに対応するコンテナの起動を前記VIMに依頼するステップと、前記NFVOからの依頼に応じて、前記VIMが、前記リポジトリが管理するイメージに基づき、前記所定のバージョンのイメージに対応するコンテナの作成を指示するステップと、を含む、コンテナの起動方法が提供される。
本発明の第3の視点によれば、仮想化環境下にて、ネットワークサービスを実現するNFVO(NFV-Orchestrator)と、仮想機能インスタンスのリソース管理と制御を行うVIM(Virtualized Infrastructure Manager)と、コンテナの実行に必要な情報であるイメージを管理するリポジトリと、を含む制御装置に搭載されたコンピュータに実行させるプログラムであって、前記NFVOが、所定のバージョンのイメージに対応するコンテナの起動を前記VIMに依頼する処理と、前記NFVOからの依頼に応じて、前記VIMが、前記リポジトリが管理するイメージに基づき、前記所定のバージョンのイメージに対応するコンテナの作成を指示する処理と、を実行させる、プログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の各視点によれば、仮想化手段としてのコンテナを使用可能とすることに寄与する、制御装置、コンテナの起動方法及びプログラムが、提供される。
第1の実施形態に係る制御装置の構成の一例を示すブロック図である。 第1の実施形態に係る制御装置の動作の一例を示すフローチャートである。 第2の実施形態に係る通信システムの一構成例を示す図である。 第2の実施形態に係る制御装置のハードウェア構成の一例を示すブロック図である。 第2の実施形態に係る通信システムの動作の一例を示すシーケンス図である。 第3の実施形態に係る通信システムの一構成例を示す図である。 仮想化環境のネットワーク構成の概略を示す図である。 コンテナ型の仮想化技術を説明するための図である。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
図1は、第1の実施形態に係る制御装置100の構成の一例を示すブロック図である。図1を参照すると、制御装置100は、コンテナイメージを管理する第1の手段101と、NFVOのサブモジュールである第2の手段102と、VIMのサブモジュールである第3の手段103と、を備える。
第1の手段101は、コンテナの実行に必要な情報であるイメージを管理する。第1の手段101は、例えば、当該イメージを管理するリポジトリである。
第2の手段102は、コンテナの起動を第3の手段103に依頼する。具体的には、第2の手段102は、所定のバージョンのイメージに対応するコンテナの起動を第3の手段103に依頼する。
第3の手段103は、第2の手段102からの依頼に応じて、第1の手段101が管理するイメージに基づき、所定のバージョンのイメージに対応するコンテナの作成を、例えば、コンテナマネージャに指示する。
上記制御装置100の動作は、図2に示すフローチャートのとおりとなる。
初めに、コンテナの実行に必要なイメージが用意される。用意されたイメージは、第1の手段101に登録され、管理される(ステップS01)。
次に、第2の手段102が、所定のバージョンのイメージに対応するコンテナの起動を第3の手段103に依頼する(ステップS02)。
最後に、第3の手段103が、第2の手段102からの依頼に応じて、第1の手段101が管理するイメージに基づき、所定のバージョンのイメージに対応するコンテナの作成を、例えば、コンテナマネージャに指示する(ステップS03)。
以上のように、第1の実施形態に係る制御装置100は、コンテナを管理するために必要なイメージのスタック管理機能(リポジトリ管理機能;第1の手段101)と、Dockerの割り当て実行機能(allocate実行機能;第3の手段103)と、を備える。その結果、第1の実施形態に係る制御装置100は、VIMにおいて仮想化手段としてのコンテナを使用することを可能とする。
[第2の実施形態]
第2の実施形態について、図面を用いてより詳細に説明する。
図3は、第2の実施形態に係る通信システムの一構成例を示す図である。図3を参照すると、通信システムは、制御装置10と、Dockerサーバ15と、物理マシン16と、を含む。
制御装置10は、ネットワーク機能仮想化管理オーケストレーション装置(NFV−MANO)である。
Dockerサーバ15は、Magnum221が実装されたサーバである。
物理マシン16には、Docker231が実装されている。Docker231は、Magnum221からの指示に基づき、コンテナを起動しコンテナ内でアプリケーションを実行することで、仮想機能インスタンス(VNF、仮想サーバ)を提供する。
制御装置10は、NFVオーケストレータ(NFVO)11と、VNFマネージャ(VNFM)12と、仮想化インフラストラクチャマネージャ(VIM)13と、リポジトリ14と、を含んで構成される。
リポジトリ14は、物理マシン16のDocker231にて使用されるコンテナイメージを管理するDockerリポジトリである。リポジトリ14は、上述の第1の手段101に相当する。
NFVO11は、仮想化環境下にて、ネットワークサービスを実現する。NFVO11は、ネットワークサービス(Network Service:NS)インスタンスのライフサイクル管理等を行う。NFVO11は、イメージ登録依頼部201と、コンテナ起動依頼部202と、を含む。
イメージ登録依頼部201は、コンテナイメージをリポジトリ14に登録するようにVIM13に依頼する機能を備える。より具体的には、イメージ登録依頼部201は、非特許文献1に規定された上述のソフトウェアイメージ管理インターフェイスを用いて、コンテナイメージをリポジトリ14に登録するようにVIM13に依頼する。その際、イメージ登録依頼部201は、コンテナイメージのバージョンを指定して、コンテナイメージの登録をVIM13に依頼する。また、イメージ登録依頼部201は、VIM13から取得するコンテナイメージの識別子(ID;Identifier)とバージョン情報を対応付けて、イメージ管理情報を生成し、記憶する。なお、イメージ管理情報は、コンテナ起動依頼部202が参照可能に構成される。
コンテナ起動依頼部202は、所定のバージョンのイメージに対応するコンテナの起動を、VIM13に依頼する機能を備える。より具体的には、コンテナ起動依頼部202は、イメージ登録依頼部201が記憶したイメージ管理情報(コンテナイメージのバージョン情報と識別子の対応関係)に基づき、起動するコンテナのバージョンに対応するイメージの識別子(ID)を特定する。
コンテナ起動依頼部202は、当該特定した識別子(ID)によりコンテナイメージを指定し、コンテナの起動をVIM13に依頼する。その際、コンテナ起動依頼部202は、非特許文献1の「7.3.3 Virtualised resources management」に規定された仮想化リソース管理インターフェイス(Virtualised Resources Management Interface)を用いて、コンテナの起動をVIM13に依頼する。コンテナ起動依頼部202は、上述の第2の手段102に相当する。なお、上記仮想化リソース管理インターフェイス(Virtualised Resources Management Interface)は、非特許文献2の7.3.1章では、「Virtualised Compute Resources Management Interface」と記載されている。
VNFM12は、仮想機能インスタンスのライフサイクル管理等を行う。
VIM13は、仮想機能インスタンスのリソース管理と制御を行う。VIM13は、イメージ登録部211と、コンテナ起動部212と、を含む。
イメージ登録部211は、NFVO11からのコンテナイメージ登録依頼を処理する手段である。イメージ登録部211は、コンテナイメージのバージョン情報を含む上記登録依頼を取得すると、当該バージョン情報を、Dockerのリポジトリ管理のインターフェイスに適合する情報に変換する。具体的には、イメージ登録部211は、コンテナイメージのバージョン情報をTag情報(Tagとも称する)に変換する。
その後、イメージ登録部211は、Tagを指定し、当該Tagを登録するようにリポジトリ14に依頼する。具体的には、イメージ登録部211は、Tagを指定し、Dockerイメージを登録するためのコマンド(docker.build)をリポジトリ14に発行する。
このように、イメージ登録部211は、コンテナイメージのTag情報を登録するコンテナイメージと対応付けて管理するようにリポジトリ14に指示する。
リポジトリ14は、上記イメージ登録部211からの要求を処理すると、登録したTagに対応する識別子(ID)をイメージ登録部211に通知する。
その後、イメージ登録部211は、コンテナイメージの登録が完了した旨をNFVO11に応答する。その際、イメージ登録部211は、リポジトリ14から通知された上記識別子(ID)も併せてNFVO11に通知する。さらに、イメージ登録部211は、リポジトリ14に通知したTag情報と、リポジトリから通知された識別子(ID)と、を対応付けて記憶する。当該記憶された対応関係は、コンテナ起動部212により参照可能に構成される。
コンテナ起動部212は、コンテナ起動依頼部202からの依頼に基づき、所定のバージョンのイメージに対応するコンテナの作成を、Magnum221に指示する。コンテナ起動部212は、上述の第3の手段103に相当する。
具体的には、コンテナ起動部212は、コンテナ起動依頼部202から取得した識別子(ID)を、Magnum221のインターフェイスに適合するように変換する。具体的には、コンテナ起動部212は、上記識別子(ID)を、JSON(JavaScript (登録商標) Object Notation)形式のTagに変換する。その後、コンテナ起動部212は、コンテナを起動するためのコマンド(magnum.pod-create)において、起動するコンテナイメージに対応するTagを指定し、コンテナの起動をMagnum221に指示する。
次に、通信システムをなす各装置のハードウェアついて説明する。
図4は、第2の実施形態に係る制御装置10のハードウェア構成の一例を示すブロック図である。制御装置10は、情報処理装置(コンピュータ)により構成可能であり、図4に例示する構成を備える。例えば、制御装置10は、内部バスにより相互に接続される、CPU(Central Processing Unit)41、メモリ42、入出力インターフェイス43及び通信手段であるNIC(Network Interface Card)44等を備える。
なお、図4に示す構成は、制御装置10のハードウェア構成を限定する趣旨ではない。制御装置10は、図示しないハードウェアを含んでもよい。あるいは、制御装置10に含まれるCPU等の数も図4の例示に限定する趣旨ではなく、例えば、複数のCPUが制御装置10に含まれていてもよい。
メモリ42は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
入出力インターフェイス43は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
なお、上記制御装置10の各処理モジュールは、例えば、メモリ42に格納されたプログラムをCPU41が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウェア、及び/又は、ソフトウェアで実行する手段があればよい。
図3に図示するDockerサーバ15及び物理マシン16のハードウェア構成も上記制御装置10の構成と基本的に同じであり、当業者にとって明らかなものであるため、その説明を省略する。
次に、第2の実施形態に係る通信システムの動作について説明する。
図5は、第2の実施形態に係る通信システムの動作の一例を示すシーケンス図である。
OSS等からコンテナイメージの登録に係る要求を受け付けたNFVO11は、コンテナイメージをVIM13に提供する。具体的には、NFVO11は、バージョンを指定しつつ、当該バージョンに対応するイメージの登録をVIM13に依頼する(ステップS101)。
VIM13は、NFVO11から指定されたバージョン情報を、Dockerリポジトリにおけるリポジトリ管理のインターフェイス(docker.buildコマンド)に適合するTag情報(Tag)に変換する(ステップS102)。
VIM13は、コンテナイメージをリポジトリ14に提供しつつ、上記バージョン情報(バージョン文字列)が変換されたTagによるコンテナイメージの登録をリポジトリ14に対して要求する(ステップS103)。
リポジトリ14は、当該要求を処理し、コンテナイメージを登録する。リポジトリ14は、コンテナイメージの登録が完了すると、その旨及び登録したTagに対応する識別子(ID)をVIM13に応答する(ステップS104)。
VIM13は、リポジトリ14にコンテナイメージの登録が完了した旨を、NFVO11に応答する(ステップS105)。その際、VIM13は、上記識別子(ID)をNFVO11に通知する。
その後、NFV O11は、コンテナイメージのバージョン情報と当該バージョン情報に対応する識別子(ID)を対応付けてイメージ管理情報を生成し、記憶する(ステップS106)。
上記ステップS101〜S106の処理により、コンテナイメージをリポジトリ14に登録する処理が完了する。
次に、コンテナを起動する際の動作について説明する。
OSS等からコンテナの起動に係る要求を受け付けたNFVO11は、バージョンを指定しつつ、当該バージョンに対応するイメージのコンテナを起動することを、VIM13に依頼する(ステップS201)。具体的には、NFVO11は、上記ステップS106にて生成したイメージ管理情報を参照し、起動しようとするコンテナのバージョンに対応するイメージの識別子(ID)を特定する。NFVO11は、特定した識別子(ID)を用いて、コンテナの起動をVIM13に要求する。
VIM13は、NFVO11からの要求に応じて、Magnum221のインターフェイスに適合するように、指定された識別子(ID)を変換する(ステップS202)。
その後、VIM13は、Magnum221のインターフェイスを用いて、コンテナの起動をMangum221に指示する(ステップS203)。その際、VIM13は、上記識別子(ID)を変換したTagを指定し、所定のコマンド(magnum.pod-create)をMagnum221に発行する。上記コマンドによりMangum221が動作し、指定されたTagに対応するコンテナイメージがリポジトリ14から引き出され、所望のコンテナが起動する。
コンテナの起動が完了すると、Magnum221から肯定応答(ACK;ACKnowledgement)がVIM13に送信され(ステップS204)、VIM13からNFVO11に対し、コンテナ起動依頼に対する肯定応答が送信される(ステップS205)。
上記ステップS201〜S205の処理により、物理マシン16にコンテナを起動する処理が完了する。
以上のように、第2の実施形態に係る制御装置10は、Dockerリポジトリ(リポジトリ14)やMagnum221が要求するインターフェイスに適合するように、バージョン情報や識別子(ID)を変換する。その結果、仮想化手段してのコンテナが使用可能となる。即ち、制御装置10は、Dockerリポジトリのイメージスタック管理機能と連携し、非特許文献1等で定められているソフトウェアイメージ管理インターフェイスに従い、対象となるソフトウェアバージョンを指定してコンテナを起動することを可能とする。
[第3の実施形態]
第3の実施形態について、図面を用いてより詳細に説明する。
上記第2の実施形態では、コンテナマネージャとしてMagnumを利用すること、コンテナエンジンとしてDockerを利用することを説明した。しかし、これらは例示であって、コンテナマネージャやコンテナエンジンを限定する趣旨ではない。
図6に示すように、他の汎用的なソフトウェア、フレームワークを用いることが可能である。この場合、制御装置10は、リポジトリ14にコンテナイメージを登録する際やコンテナを起動する際には、コンテナマネージャ221a等のインターフェイスに適合するように、バージョン情報、識別子(ID)を変換すればよい。
具体的には、イメージ登録部211は、コンテナエンジン231aのリポジトリであるリポジトリ14が要求するインターフェイスに適合するように、イメージ登録依頼部201から通知されたバージョン情報を登録するコンテナイメージを識別するための第1の情報に変換する。リポジトリ14は、当該第1の情報に対応するイメージの登録が完了すると、第1の情報に応じた第2の情報を登録したイメージの識別子としてイメージ登録部211に通知する。当該第2の情報は、イメージ登録依頼部201に転送され、イメージ管理情報として、バージョン情報と対応付けられて管理される。コンテナ起動依頼部202は、コンテナ起動部212にコンテナの起動を依頼する際、イメージ管理情報を参照し、起動するコンテナのイメージに対応する第2の情報をコンテナ起動部212に通知する。コンテナ起動部212は、第2の情報を第1の情報に変換し、当該変換した情報をコンテナマネージャ221aに通知し、コンテナの起動を指示する。
第3の実施形態によれば、汎用的なコンテナエンジン、コンテナマネージャが使用されたとしても、仮想化手段してのコンテナが使用可能となる。
上記第1〜第3の実施形態にて説明した通信システムの構成及び動作は例示であって、種々の変形が可能である。
例えば、図3に示す通信システムでは、リポジトリ14がVIM13に直接接続されている例を示したが、リポジトリ14はDockerサーバ15の内部に配置されていてもよい。あるいは、Dockerサーバ15に実装されたMagnum221は、制御装置10と同一のサーバに実装されていてもよい。
上記実施形態では、NFVO11とVIM13の間の情報交換により、コンテナイメージの登録とコンテナを起動する場合を説明したが、VNFM12を経由して、上記機能が実現されてもよい。
また、上記実施形態では、コンテナ内で実行されるアプリケーションを仮想機能インスタンス(VNF;仮想サーバ)とする場合を説明したが、VIM13は、仮想マシン(VM)上で実現されるVNFのリソースを管理してもよい。この場合には、VIM13は、コンテナイメージを登録するリポジトリ14と、仮想マシン(VM)のイメージを登録するリポジトリ(図3等に図示せず)と、を管理する。
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
上述の第1の視点に係る制御装置のとおりである。
[付記2]
イメージの登録を依頼する、登録依頼手段と、
前記依頼されたイメージを前記第1の手段に登録する、登録手段と、
をさらに備える、付記1の制御装置。
[付記3]
前記登録依頼手段は、前記登録手段にイメージの登録を依頼する際、登録するイメージのバージョン情報を通知し、
前記登録手段は、前記第1の手段が要求するインターフェイスに適合するように、前記通知されたバージョン情報を前記登録するイメージを識別するための第1の情報に変換する、付記2の制御装置。
[付記4]
前記第1の手段は、前記第1の情報に対応するイメージの登録が完了すると、前記第1の情報に応じた第2の情報を、前記登録したイメージの識別子として前記登録手段に通知する、付記3の制御装置。
[付記5]
前記登録手段は、前記第1の手段から通知された第2の情報を、前記登録依頼手段に通知する、付記4の制御装置。
[付記6]
前記登録依頼手段は、登録を依頼したイメージのバージョン情報と前記通知された第2の情報を対応付けて、イメージ管理情報を生成する、付記5の制御装置。
[付記7]
前記第2の手段は、前記第3の手段にコンテナの起動を依頼する際、前記イメージ管理情報を参照し、前記起動するコンテナのイメージに対応する第2の情報を前記第3の手段に通知する、付記6の制御装置。
[付記8]
前記第3の手段は、コンテナの作成をコンテナマネージャに指示する際、前記コンテナマネージャが要求するインターフェイスに適合するように、前記通知された第2の情報を変換する、付記7の制御装置。
[付記9]
上述の第2の視点に係るコンテナの起動方法のとおりである。
[付記10]
上述の第3の視点に係るプログラムのとおりである。
なお、付記9の形態及び付記10の形態は、付記1の形態と同様に、付記2の形態〜付記8の形態に展開することが可能である。
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、100 制御装置
11 NFVO
12 VNFM
13 VIM
14 リポジトリ
15 Dockerサーバ
16 物理マシン
21 NFVI
22 VNF
23 EMS
30 OSS/BSS
41 CPU
42 メモリ
43 入出力インターフェイス
44 NIC
101 第1の手段
102 第2の手段
103 第3の手段
201 イメージ登録依頼部
202 コンテナ起動依頼部
211 イメージ登録部
212 コンテナ起動部
221 Magnum
221a コンテナマネージャ
231 Docker
231a コンテナエンジン

Claims (8)

  1. コンテナの実行に必要な情報であるイメージを管理する第1の手段と、
    所定のバージョンのイメージに対応するコンテナの起動を依頼する第2の手段と、
    前記第2の手段からの依頼に応じて、前記第1の手段が管理するイメージに基づき、前記所定のバージョンのイメージに対応するコンテナの作成を指示する第3の手段と、
    イメージの登録を依頼する、登録依頼手段と、
    前記依頼されたイメージを前記第1の手段に登録する、登録手段と、
    を備え
    前記登録依頼手段は、前記登録手段にイメージの登録を依頼する際、登録するイメージのバージョン情報を通知し、
    前記登録手段は、前記第1の手段が要求するインターフェイスに適合するように、前記通知されたバージョン情報を前記登録するイメージを識別するための第1の情報に変換する、制御装置。
  2. 前記第1の手段は、前記第1の情報に対応するイメージの登録が完了すると、前記第1の情報に応じた第2の情報を、前記登録したイメージの識別子として前記登録手段に通知する、請求項の制御装置。
  3. 前記登録手段は、前記第1の手段から通知された第2の情報を、前記登録依頼手段に通知する、請求項の制御装置。
  4. 前記登録依頼手段は、登録を依頼したイメージのバージョン情報と前記通知された第2の情報を対応付けて、イメージ管理情報を生成する、請求項の制御装置。
  5. 前記第2の手段は、前記第3の手段にコンテナの起動を依頼する際、前記イメージ管理情報を参照し、前記起動するコンテナのイメージに対応する第2の情報を前記第3の手段に通知する、請求項の制御装置。
  6. 前記第3の手段は、コンテナの作成をコンテナマネージャに指示する際、前記コンテナマネージャが要求するインターフェイスに適合するように、前記通知された第2の情報を変換する、請求項の制御装置。
  7. 仮想化環境下にて、ネットワークサービスを実現するNFVO(NFV-Orchestrator)と、
    仮想機能インスタンスのリソース管理と制御を行うVIM(Virtualized Infrastructure Manager)と、
    コンテナの実行に必要な情報であるイメージを管理するリポジトリと、
    を含む通信システムにおいて、
    前記NFVOが、登録するイメージのバージョン情報を通知して前記イメージの登録を前記VIMに依頼するステップと、
    前記NFVOからの依頼に応じて、前記VIMが、前記リポジトリが要求するインターフェイスに適合するように、前記通知されたバージョン情報を前記登録するイメージを識別するための情報に変換して、前記依頼されたイメージを前記リポジトリに登録するステップと、
    前記NFVOが、所定のバージョンのイメージに対応するコンテナの起動を前記VIMに依頼するステップと、
    前記NFVOからの依頼に応じて、前記VIMが、前記リポジトリが管理するイメージに基づき、前記所定のバージョンのイメージに対応するコンテナの作成を指示するステップと、
    を含む、コンテナの起動方法。
  8. 仮想化環境下にて、ネットワークサービスを実現するNFVO(NFV-Orchestrator)と、
    仮想機能インスタンスのリソース管理と制御を行うVIM(Virtualized Infrastructure Manager)と、
    コンテナの実行に必要な情報であるイメージを管理するリポジトリと、
    を含む制御装置に搭載されたコンピュータに実行させるプログラムであって、
    前記NFVOが、登録するイメージのバージョン情報を通知して前記イメージの登録を前記VIMに依頼する処理と、
    前記NFVOからの依頼に応じて、前記VIMが、前記リポジトリが要求するインターフェイスに適合するように、前記通知されたバージョン情報を前記登録するイメージを識別するための情報に変換して、前記依頼されたイメージを前記リポジトリに登録する処理と、
    前記NFVOが、所定のバージョンのイメージに対応するコンテナの起動を前記VIMに依頼する処理と、
    前記NFVOからの依頼に応じて、前記VIMが、前記リポジトリが管理するイメージに基づき、前記所定のバージョンのイメージに対応するコンテナの作成を指示する処理と、
    を実行させる、プログラム。
JP2018524627A 2016-06-28 2016-06-28 制御装置、コンテナの起動方法及びプログラム Active JP6763429B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/069156 WO2018003020A1 (ja) 2016-06-28 2016-06-28 制御装置、コンテナの起動方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018003020A1 JPWO2018003020A1 (ja) 2019-01-24
JP6763429B2 true JP6763429B2 (ja) 2020-09-30

Family

ID=60786869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018524627A Active JP6763429B2 (ja) 2016-06-28 2016-06-28 制御装置、コンテナの起動方法及びプログラム

Country Status (4)

Country Link
US (1) US10719347B2 (ja)
EP (1) EP3477470A4 (ja)
JP (1) JP6763429B2 (ja)
WO (1) WO2018003020A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018173741A (ja) * 2017-03-31 2018-11-08 富士通株式会社 コンテナ登録プログラム、コンテナ登録装置及びコンテナ登録方法
US10445086B2 (en) * 2017-09-28 2019-10-15 At&T Intellectual Property I, L.P. Virtualization platform for creating, deploying, modifying, and relocating applications
JP7151087B2 (ja) * 2018-01-31 2022-10-12 沖電気工業株式会社 通信システム、通信方法、管理装置、管理プログラム、管理方法、情報処理装置、情報処理プログラム、及び情報処理方法
CN110442421B (zh) * 2019-06-28 2022-04-01 中国科学院计算技术研究所 一种基于Kubernetes的通用服务转换方法及系统
CN114531443B (zh) * 2022-02-18 2024-05-17 京东科技信息技术有限公司 基于集群的容器控制方法及系统
CN115617421B (zh) * 2022-12-05 2023-04-14 深圳市欧瑞博科技股份有限公司 进程智能调度方法、装置、可读存储介质及嵌入式设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601129B2 (en) * 2010-06-30 2013-12-03 International Business Machines Corporation Hypervisor selection for hosting a virtual machine image
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US9075638B2 (en) * 2012-08-14 2015-07-07 Atlassian Corporation Pty Ltd. Efficient hosting of virtualized containers using read-only operating systems
US9847915B2 (en) 2013-01-11 2017-12-19 Huawei Technologies Co., Ltd. Network function virtualization for a network device
US10261814B2 (en) 2014-06-23 2019-04-16 Intel Corporation Local service chaining with virtual machines and virtualized containers in software defined networking
WO2016028927A1 (en) 2014-08-19 2016-02-25 Huawei Technologies Co., Ltd. Methods and system for allocating an ip address for an instance in a network function virtualization (nfv) system
US9729396B2 (en) * 2014-11-04 2017-08-08 Cisco Technology, Inc. System and method for providing dynamic radio access network orchestration
US9692666B2 (en) * 2014-12-22 2017-06-27 Rovio Entertainment Ltd. Container manager
US10032032B2 (en) * 2015-12-18 2018-07-24 Amazon Technologies, Inc. Software container registry inspection
US10353872B2 (en) * 2016-03-09 2019-07-16 Hiveio Inc. Method and apparatus for conversion of virtual machine formats utilizing deduplication metadata
US10812582B2 (en) * 2016-03-10 2020-10-20 Vmware, Inc. Management of applications across nodes using exo-clones
US10169209B2 (en) * 2016-11-04 2019-01-01 Red Hat, Inc. Container images by composition

Also Published As

Publication number Publication date
US10719347B2 (en) 2020-07-21
JPWO2018003020A1 (ja) 2019-01-24
EP3477470A1 (en) 2019-05-01
EP3477470A4 (en) 2019-07-10
US20190056971A1 (en) 2019-02-21
WO2018003020A1 (ja) 2018-01-04

Similar Documents

Publication Publication Date Title
JP6763429B2 (ja) 制御装置、コンテナの起動方法及びプログラム
US11405274B2 (en) Managing virtual network functions
US10225335B2 (en) Apparatus, systems and methods for container based service deployment
JP6677294B2 (ja) ネットワークシステム、パッチファイル適用方法、及びプログラム
US9529613B2 (en) Methods and apparatus to reclaim resources in virtual computing environments
US8990809B1 (en) Creating a virtual appliance using existing installation manifest
US10832224B2 (en) Calendar based management of information technology (IT) tasks
US20210389970A1 (en) Vnf lifecycle management method and apparatus
US10728169B1 (en) Instance upgrade migration
US11249814B2 (en) Resource placement control in network virtualization scenarios
US20220035626A1 (en) Cloud-independent node upgrade
CN114651233A (zh) 即时容器
US11683232B2 (en) Methods and apparatus to implement cloud specific functionality in a cloud agnostic system
US10203976B2 (en) Virtual appliance management in a virtualized computing environment based on operational modes associated with virtual appliance
KR20200038038A (ko) 다중 클라우드 상에서의 애플리케이션 관리 장치 및 방법
Piras et al. Container orchestration on HPC clusters
CN113326098B (zh) 支持kvm虚拟化与容器虚拟化的云管平台
US20240330030A1 (en) Using ostree native containers to customize virtual machines for lightweight application deployment
US12073232B2 (en) Unikernel for webassembly containers
CN114489929B (en) Container group starting method and device, electronic equipment and storage medium
Telang Containerizing Microservices Using Kubernetes
Schanzel et al. Unified Container Environments for Scientific Cluster Scenarios
JPWO2020145242A1 (ja) ネットワーク機能仮想化システム及びオペレーティングシステム更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200824

R150 Certificate of patent or registration of utility model

Ref document number: 6763429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150