JP6792125B1 - エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体 - Google Patents

エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体 Download PDF

Info

Publication number
JP6792125B1
JP6792125B1 JP2019123697A JP2019123697A JP6792125B1 JP 6792125 B1 JP6792125 B1 JP 6792125B1 JP 2019123697 A JP2019123697 A JP 2019123697A JP 2019123697 A JP2019123697 A JP 2019123697A JP 6792125 B1 JP6792125 B1 JP 6792125B1
Authority
JP
Japan
Prior art keywords
edge
image
edge system
container
setting
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
JP2019123697A
Other languages
English (en)
Other versions
JP2021010130A (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.)
Latona Inc
Original Assignee
Latona Inc
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 Latona Inc filed Critical Latona Inc
Priority to JP2019123697A priority Critical patent/JP6792125B1/ja
Priority to US17/595,972 priority patent/US20220206776A1/en
Priority to PCT/JP2020/016782 priority patent/WO2021002086A1/ja
Application granted granted Critical
Publication of JP6792125B1 publication Critical patent/JP6792125B1/ja
Publication of JP2021010130A publication Critical patent/JP2021010130A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】初期導入時等のシステム設定における工数の低減を図る。【解決手段】オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムであって、前記エッジ端末は、所定の設定情報に基づいて、対応するイメージを、イメージレジストリから取得し、取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行う、エッジシステムが提供される。【選択図】図6

Description

本発明は、コンテナオーケストレーション技術を利用したエッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体に関する。
工場や建設現場等のローカル環境において、所定の作業を行う作業機器に関連する情報をセンサにより取得し、取得されたセンサ情報の監視や、センサ情報に基づいた作業機器の制御を、ネットワーク側、すなわちクラウドから行うシステムが知られている。しかしながら、この種のシステムにおいて作業機器やセンサの数が多数となると、センサ情報のデータ量や処理負荷の増大に伴い、ネットワーク負荷の増大、処理時間の遅延の問題が生じる。また、情報セキュリティ等の懸念も存在する。そこで、センサ情報の処理をネットワークの末端(エッジ)であるローカル環境、例えば、工場内などにおいて行うエッジシステムが検討されている。
一方、ローカル環境においてセンサ情報の取得や解析などを行う技術が近年注目されており、エッジコンピューティング又はMEC(Mobile Edge Computing)等と呼ばれている。このとき、ローカル環境に配置される機器は、エッジ端末又はMEC等と呼ばれる。ところで、エッジ端末において、多数の機能を実現しようとすると、ホストPCにインストールされたOS(オペレーションシステム)上において、複数のアプリケーションを動作させることとなる。しかしながら、複数のアプリケーションを同時に動作させる場合には、OSにおけるシステムリソースをアプリケーション間で共有する必要があるため、OS毎にアプリケーションの設計を変更しなければならず、開発負担が大きい。
そこで、エッジ端末のOS上で論理的な区間を作り、その区画内で、アプリケーション本体に加えてアプリケーションの動作に必要な環境をまとめたコンテナアプリケーションを展開(デプロイ)する技術が知られている。この技術によれば、OS上のリソースを論理的に分離して複数のコンテナに使用させることができる。そのため、アプリケーションの設計のOS依存性が低減し、システム開発の負担を軽減することができる。このようなコンテナ技術は、OS上にインストールされるコンテナ管理ソフトによって実現される。コンテナ管理ソフトの一例として、Dockerなどがあげられる(例として、特許文献1)。
近年、コンテナ技術の進化や、システムの冗長化の要望に伴って、ネットワーク接続、記憶領域、及び、ホストPCの設定が複雑化しており、複数のコンテナアプリケーションをスケジューリングする必要性が高まっている。そこで、これらの設定を自動的に行いコンテナアプリケーションの管理を統合的に行うオーケストレーションツールの開発が進められている。
オーケストレーションツールが用いられることにより、複数のコンテナアプリケーションのデプロイ、実行、管理及びスケジューリングなどを容易に行うことができるため、さらにシステム開発の負担が軽減されている。コンテナオーケストレーションツールとしては、Kubernetes、Apache Mesosなどが知られる。
国際公開第2018/003020号
エッジ端末においては、OS、コンテナエンジン、オーケストレーションツールをインストールした後に、さらに、個々の制御を行うコンテナをデプロイする必要がある。しかしながら、エッジシステムを構成するエッジ端末が多数存在する場合には、エッジシステムの初期導入時においてソフトウェア設定をエッジ端末において行う必要がある。そのため、多数の工数を要するおそれがあるだけでなく、それぞれの設定作業が異なるため設定誤りなどが生じるおそれがある。
本発明は、このような課題を解決することを目的としており、エッジシステムの初期導入時等のシステム設定の工数の低減を図ることができる。
上述の課題は、以下の構成を有するシステム等により解決することができる。
すなわち、本発明の一態様に係るシステムは、オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムであって、前記エッジ端末は、所定の設定情報に基づいて、対応するイメージを、イメージレジストリから取得し、取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行う。
本発明の一態様によれば、ローカル環境において、設定サーバが、記憶している設定情報に応じて、ネットワーク上のイメージレジストリに記憶されているイメージの中から初期設定等のシステム設定の際に必要なファイルをエッジ端末に転送することで、エッジ端末におけるデプロイが行われる。ここで、エッジ端末のそれぞれについての設定を個々に行う場合には、多くの工数を要してしまう。これに対して、本発明においては、ローカル環境内に設けられる設定情報を利用して設定を行うことができるため、エッジ端末の設定を誤りなく行うことができ、また、工数の低減を図ることができる。
図1は、第1実施形態に係るエッジシステムを示すブロック図である。 図2は、MECのハードウェア構成図である。 図3は、MECのソフトウェア構成図である。 図4は、オーケストレーションツールが用いられる場合のMECのソフトウェア構成図である。 図5は、MECの設定情報を示すテーブルである。 図6は、MECの設定制御を示すフローチャートである。 図7は、デプロイされるプログラムの一覧を示すテーブルである。 図8は、第2実施形態に係るエッジシステムを示すブロック図である。 図9は、複合機の構成を示すブロック図である。 図10は、MECの設定情報を示すテーブルである。 図11は、第2実施形態に係るMECの設定制御を示すフローチャートである。
以下、図面を参照して、本発明の第1実施形態について説明する。
(第1実施形態)
図1は、本発明の実施形態に係るエッジシステムを備える監視システムの構成を示すブロック図である。この図に示されるように、監視システム100において、ローカル環境11に設けられたエッジシステム10は、WAN(Wide Area Network)13に接続され、WAN13を介してターミナル14及び、イメージレジストリ15と通信可能に構成されている。
エッジシステム10は、一例として、工場や建設現場などのローカル環境11において、製造工程や建設工程などの監視をするとともに、これらの工程に用いられる作業機器を制御するシステムである。エッジシステム10は、通信や制御などの複数の機能を実現する複合機12により構成され、本実施形態においては、1つの複合機12によって構成されている。なお、複合機12は、MEC16、作業機器17、センサ18を備える。また、エッジシステム10は、無線通信又は有線通信によりWAN13と接続される。なお、WAN13は、その一部または全部が移動体通信ネットワークにより構成されてもよい。また、本実施形態においては1つの複合機12を備えるシステムを例示したが、このような構成に限定されず、複数の複合機12を備えるシステムとしてもよい。
WAN13には、ターミナル14、及び、イメージレジストリ15が接続される。エッジシステム10、ターミナル14、及び、イメージレジストリ15は、WAN13を介して相互に通信できる。
ターミナル14は、ディスプレイ、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)、メモリ、ネットワークインターフェースなどを備える機器であり、WAN13を介してエッジシステム10と接続され、エッジシステム10から送信される監視結果を表示する。ターミナル14は、例えば、パーソナルコンピュータ、スマートフォン、及び、タブレット端末などの表示部を備える情報端末である。
イメージレジストリ15は、一例としては汎用的なデータサーバである。後述のように、エッジシステム10を構成する複合機12の一部であるMEC16においては、コンテナオーケストレーション技術を用いてコンテナが実行されており、イメージレジストリ15には、MEC16にデプロイされるコンテナのイメージが記憶されている。オーケストレーションツールを実現する手段としてbitbucket又はConcourse CI等のシステム環境構築ツールを用いてもよい。
イメージレジストリ15に記憶されているコンテナのイメージは、WAN13を介してエッジシステム10へと送信されて、複合機12のMEC16においてデプロイされる。
ここで、MEC16について詳細に説明すれば、MEC16は、エッジ端末の一例であって、コンテナオーケストレーション技術を用いて制御されるコンテナにより、作業機器17の制御やセンサ18により取得されるセンサ情報の収集などを行う。MEC16は、CPU及びGPU、メモリ、及び、ネットワークインターフェースなどを備える機器であり、記憶されたプログラムを実行可能に構成されている。MEC16は、汎用的なコンピュータを用いて構成してもよいし、専用端末であってもよい。
MEC16には、OS(Operating System)上に、コンテナオーケストレーションを実現するミドルウェアがインストールされている。そして、MEC16においては、所定の機能を実現するコンテナがデプロイされる。なお、MEC16については、後に、図2を用いてハードウェアの構成を説明し、図3を用いてソフトウェアの構成を説明する。
MEC16は、主に、ローカル環境11内における作業機器17の制御情報や、センサ18により取得されるセンサ情報などについて監視や機械学習などを行う。MEC16は、無線通信又は有線通信を介して、監視結果や機械学習により得られる学習済みモデルなどを、ターミナル14へ送信する。
作業機器17は、ローカル環境11内における製造工程や建設工程の1つまたは複数において用いられる機器であり、例えば、工場におけるロボットアームや建設現場におけるトラック等の中・大型機器から、半導体基板から成るディスプレイモジュール等の小型機器まで様々である。
センサ18は、作業機器17に直接又は間接的に関連する情報を取得する機器であり、例えば、カメラや赤外線センサなどである。センサ18は、取得したセンサ情報をMEC16に出力する。
図2は、MEC16のハードウェア構成図である。
MEC16は、全体を制御するCPU及びGPU等により構成される制御部21と、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク又はストレージ等により構成され、プログラムや各種のデータ等を記憶する記憶部22と、外部機器とのデータの入出力を行う入出力ポート23と、他のMEC16と通信を行う通信部24と、ディスプレイ、LED、又はスピーカ等からなりデータに応じた表示を行う表示部25と、外部からの入力を受け付ける入力部26と、を備える。制御部21、記憶部22、入出力ポート23、通信部24、表示部25、及び、入力部26は、バス接続により互いに通信可能に構成されている。なお、このハードウェア構成は、FPGA、GPU−CUDA等の半導体回路に用いられるプログラムによって所定の機能を実行するハードウェア回路でもよい。
図3は、MEC16のソフトウェア構成図である。
MEC16は、ハードウェア31の上に、Linux(登録商標)等のオペレーションシステム(OS)32がインストールされている。オペレーションシステム32においては、汎用ミドルウェア33に加えて、コンテナエンジン34、及び、コンテナエンジン34とともに動作するオーケストレーションツール35がインストールされている。
MEC16においては、コンテナエンジン34、及び、オーケストレーションツール35によって、コンテナ36のデプロイ及び実行がなされる。コンテナ36には、所定の機能を実現するアプリケーション(APL)37に加えて、コンテナエンジン34の動作仕様に従いアプリケーション37の動作に主に用いられる専用ミドルウェア(MW)38が含まれる。なお、ミドルウェア38は、ライブラリなどを含んでもよい。
ハードウェア31は、図2に示されたハードウェア構成を備える。これらのハードウェア31のリソースを用いて、MEC16は所定の動作を行うことができる。
オペレーションシステム32は、MEC16におけるソフトウェア構成の基本システムである。オペレーションシステム32によって、MEC16の全体の動作が制御される。
汎用ミドルウェア33は、一般に、オペレーションシステム32のベンダーなどにより提供される機能ブロックであり、図2に示された通信部24による通信機能や、表示部25による表示動作、入力部26からの入力制御などの、基本的な動作を実現するための機能ブロックである。さらに詳細には、汎用ミドルウェア33は、MEC16における全体のソフトウェアにおいて、アプリケーションフレームワーク、データベース、及び、スクリプト型プログラミング言語のエンジン等であって、ソフトウェア構成において基本的な動作を実現する。汎用ミドルウェア33は、プラットフォームと称されることもある。
コンテナエンジン34は、オペレーションシステム32にインストールされるミドルウェアの1つであって、コンテナ36を動作させるエンジンである。詳細には、コンテナエンジン34は、コンテナ36内のミドルウェア38に含まれる設定に基づいて、ハードウェア31及びオペレーションシステム32のリソースをコンテナ36へ割り当てる。
オーケストレーションツール35は、コンテナエンジン34に対してハードウェア31などのリソースの割り当てを行わせる機能ブロックである。オーケストレーションツール35によって、1つ又は複数のコンテナ36がポッド(図3において不図示)と称される単位にまとめられ、各ポッドが論理的に異なるエリアであるノード(図3において不図示)にデプロイされる。オーケストレーションツール35による動作の詳細については、後に図4を用いて説明する。なお、コンテナエンジン34、及び、オーケストレーションツール35は、ミドルウェアと称されることもある。
コンテナ36は、所定の機能を実現するアプリケーション37だけでなく、ライブラリなどのミドルウェア38を含む。コンテナ36は、コンテナエンジン34によって割り当てられたハードウェア31及びオペレーションシステム32のリソースを用いて動作する。コンテナエンジン34によるコンテナ36へのリソースの割り当ては、コンテナ36内のミドルウェア38に含まれる設定ファイルなどに基づいて行われる。このように、リソース管理がコンテナエンジン34によって保証されるため、コンテナ36の動作の環境依存性を低下させることができる。なお、コンテナ36は、機械学習、ブロックチェーン、メッセージサービス、認証サービスなどのアプリケーションのプログラムを含んでいる。
図4は、オーケストレーションツール35が用いられる場合のコンテナ36の動作環境となるMEC16の概略構成図である。なお、この図に示されるコンテナの数などは一例である。
オーケストレーションツール35は、コンテナエンジン34が割り当てるハードウェアリソースを管理する。オーケストレーションツール35により管理される論理的な空間は、クラスタと称される。本実施形態においては、オーケストレーションツール35は、MEC16のハードウェアリソースを用いてクラスタを形成する。
オーケストレーションツール35は、コンテナ36の実行環境の管理を、ノード41と称される単位で行う。同時に、オーケストレーションツール35によって、ノード41の全体の動作を管理するマスタ42が設けられる。
ノード41においては、この図の例においては、2つのポッド411がデプロイされている。ポッド411は、複数のコンテナ36からなる所定のサービスを実現する機能ブロックであり、この図の例では、ポッド411は、2つのコンテナ36を有する。ポッド411は、オーケストレーションツール35によってコンテナ36を管理する単位となる。ノード41内におけるポッド411の全体の動作は、ポッド管理ライブラリ412により制御される。
ポッド管理ライブラリ412は、論理的に割り当てられたハードウェアリソースをポッド411(コンテナ36)に使用させるためのコンテナランタイム4121、マスタ42からの制御を受け付けるエージェント4122、及び、ポッド411間やノード41とマスタ42との間などの通信を行うネットワーク(NW)プロキシ4123などを有する。このような構成を備えるポッド管理ライブラリ412によって、ポッド411は、同一のノード41内のポッド411や、他のノード41のポッド411などと相互に通信しながら、ハードウェアリソースを用いて、所定の機能を実現する。
マスタ42は、ポッド411のデプロイを行うアプリサーバ421、アプリサーバ421によるコンテナ36のデプロイ状況を管理するマネージャ422、いずれのノード41にコンテナ36を配置するかを決定するスケジューラ423、及び、データの共有を行うデータ共有部424などを含む。なお、マスタ42は、ポッド411がオーケストレーションされるエッジシステム10の運用中においては、クラスタを構成する各ノード41における処理負荷が一定となるようにポッド411の削除やデプロイを行うことができるので、高メンテナンス性を実現することができる。
図5は、複合機12の設定に用いられるプロファイル構成を示す表である。なお、このプロファイル構成は一例であって、他の情報が含まれていてもよい。
この図では、複合機12に関するプロファイル構成として、複合機12を構成するMEC16、作業機器17、及び、センサ18に関するハードウェア情報が示されている。
MEC16に関する情報には、CPU(制御部21)やメモリ(記憶部22)などの一般的なハードウェア情報に加えて、インストールされているOS、オーケストレーションソフト、コンテナエンジンなどの情報が含まれる。なお、OS、オーケストレーションソフト、コンテナエンジンは、初期段階においてMEC16にインストールされていないことがある。
作業機器17に関する情報には、機器種別や、どの作業工程で使用されるかが示されている。この例においては、ベルトコンベアによる工程1−2に用いられることが示されている。
センサ18に関する情報には、センサの種類やその仕様(スペック)が示されている。この例においては、振動センサであり3次元での計測が可能であることが示されている。
なお、複合機12が、作業機器17やセンサ18を有していない場合には、プロファイル構成においてはそれらの構成は記載されておらず、作業機器17やセンサ18などを備えていないことが示されている。
図6は、設定サーバによるMEC16の初期設定等における設定制御を示すフローチャートである。この設定制御は、イメージレジストリ15とMEC16とが相互に連携して行われる。なお、MEC16は、設定制御の前においてはOS等がインストールされていない状態であるが、PXE(Preboot eXecution Environment)機能などを用いて自律的に動作する設定サーバを備えているものとする。設定サーバは、MEC16に対してネットワークインターフェースを経由してブートローダを起動させて、所定の設定制御を行わせることができる。このような構成において、MEC16は、設定サーバが主体となってイメージレジストリ15からデータを取得して、MEC16内のローカル環境において動作環境を構築する。
ステップS601において、設定サーバは、記憶しているプロファイル構成に基づいて、MEC16における必要なイメージファイルを判断する。
MEC16がOS、オーケストレーションソフト、コンテナエンジンなどが未搭載である場合には、設定サーバは、これらのプログラムが必要であると判断する。また、これらのプログラムが最新のバージョンでない場合には、設定サーバは、最新のプログラムへのアップデートプログラムが必要と判断する。同様に、設定サーバは、作業機器17の種別や工程に応じた制御プログラムや、センサ18の種類や仕様に応じた解析プログラムなどを実行するポッド411を、MEC16にデプロイする必要があると判断する。また、設定サーバは、MEC16のCPUやメモリなどのハードウェア31の構成に応じて、必要ファイルを適宜判断する。
ステップS602において、設定サーバは、イメージレジストリ15とMEC16との間に通信リンクを確立する。
ステップS603において、設定サーバは、ステップS601において判断された必要なイメージファイルのうち、ブートローダやBIOSなどの主にハードウェア31の制御に用いるソフトウェアに関するイメージファイルを、イメージレジストリ15に要求する。
ステップS604において、イメージレジストリ15は、設定サーバからの要求に応じたイメージファイルを、MEC16に送信する。この処理により、イメージレジストリ15においても、MEC16で用いられるプログラムが認識される。
ステップS605において、設定サーバは、ステップS601において判断された必要なOSのイメージファイルを選択すると、ステップS606において、そのイメージファイルをイメージレジストリ15に要求する。
ステップS607において、イメージレジストリ15は、設定サーバからの要求に応じたOSのイメージファイルを、MEC16に送信する。この処理により、イメージレジストリ15においても、MEC16で用いられるプログラムが認識される。
ステップS608においては、MEC16は、ステップS604において送信されたハードウェア31の制御に関するイメージファイルに加えて、OSのインストールを行う。そして、MEC16は、そのローカル環境においてファームウェア及びOSのインストールが完了すると、ステップS609において、設定サーバにOSのインストールの完了の通知を送信する。
なお、MEC16のOSが最新である場合には、ステップS606〜S609の処理は省略され、MEC16のOSが最新ではない場合には、設定サーバは、OSのバージョンアップに必要なイメージファイルを送信する。
ステップS610において、設定サーバは、MEC16に必要なオーケストレーションツール、及び、機械学習エンジン等を選択すると、ステップS611において、イメージレジストリ15に対して、これらのイメージファイルを要求する。
そして、イメージレジストリ15は、ステップS612において、MEC16にオーケストレーションツールを送信し、ステップS613において、MEC16に機械学習エンジン等に関するイメージファイルを送信する。
ステップS614において、MEC16は、そのローカル環境においてオーケストレーションツール、及び、機械学習エンジン等のインストールが完了すると、ステップS615において、設定サーバに、オーケストレーションツール、及び、機械学習エンジンのインストールの完了を通知する。
ステップS616において、設定サーバは、MEC16に必要なポッド411を選択すると、ステップS617において、イメージレジストリ15に対して、これらのイメージファイルを要求する。
そして、ステップS618において、イメージレジストリ15は、要求されたイメージファイルをMEC16に送信すると、ステップS619において、ポッド411がデプロイされる。そして、ステップS620において、設定サーバは、ポッドのデプロイ状態をイメージレジストリ15に送信する。このようにして、図4に示されるような、オーケストレーションツール35が用いられる場合のコンテナ36の動作環境が構築される。
なお、本実施形態においては、設定ファイルは、MEC16に記憶されたがこれに限らない。設定ファイルは、ネットワーク側においてイメージレジストリ15に記憶されていてもよい。このような場合には、MEC16の設定サーバは、イメージレジストリ15との通信の確立後に、イメージレジストリ15の記憶する設定ファイルに基づいて、環境設定を行ってもよい。
このようにして、エッジシステム10においては、MEC16に記憶されているプロファイル構成に基づいて、イメージレジストリ15から必要なイメージファイルがMEC16にインストールされることで、設定処理を行うことができる。
このような設定処理は、エッジシステム10の初期状態における設定に限られず、設定変更時に行われてもよい。すなわち、MEC16に記憶されているプロファイル構成が修正されると、MEC16が備える設定サーバが主体となって、イメージレジストリ15から必要なイメージを取得し、そのローカル環境にインストールを行う。設定変更において一部の機能を変更前のシステム構成から流用できる場合には、新たにイメージレジストリ15からのイメージを再取得する必要がないので、処理負荷や通信負荷を軽減することができる。また、OSやオーケストレーションツールの欠陥が見つかった場合に、OSやオーケストレーションツールの再インストール処理を、この設定処理により行ってもよい。
また、上述の設定制御では、設定処理はMEC16内に設けられる設定サーバは、OSやミドルウェアがインストールされていない状態で自律的に動作するものとしたが、これに限らない。エッジシステム10の設定変更時においては、設定サーバと同等の機能を、ポッド411により実現してもよい。設定サーバの機能を有するポッド411は、設定変更時においてはコンテナ36に加え、コンテナエンジン34やオーケストレーションツール35を変更できる。さらに、設定サーバの機能を有するポッド411は、OSやミドルウェア上におけるメモリ操作とは異なり、物理アドレスを直接的に指定することにより、オペレーションシステム32やハードウェア31に関するプログラムの更新を行うことができる。
図7には、本実施形態における設定処理により設定されるプログラムの一覧が示されている。この図に示されるように、設定サーバによって、大きく、アプリケーションと、ミドルウェア/プラットフォームとについて設定制御がなされる。
アプリケーションには、一般的なアプリケーションに加えて、機械学習(AI, ML(Machine Learning)、例えば、TensorFlow, Caffe2, PyTorch等)、ブロックチェーン(Blockchain、例えば、Ethereum, Hyperledger等)、メッセージサービス(Messaging、例えば、Kafka, Elastic Search, Logstash, Kibana等)、認証サービス(Authentication、例えば、OpenLDAP, OpenID等)が含まれる。
ミドルウェア/プラットフォームには、アプリケーションフレームワーク(App Framework、例えば、React JS, React Native, .Net Core, Spring等)、サービスのルーティングを行う機能ブロック(Service Broker, API Gateway、例えば、API Management Software等)、データベース(DB(Database)、例えば、MySQL, MongoDB, SQLite等)、システム環境の継続的な自動化と継続的な監視を行う機能ブロック(CI/CD、例えば、Concource CI等)、コンテナエンジン、コンテナオーケストレーションツール(Container, Container Orchestration、例えば、Docker, Kubernetes等)、スクリプト型プログラミング言語(Programming Language、例えば、Python, Node.js, Javascript(登録商標), Go, C#, C++等)、インフラストラクチャ管理を行う機能ブロック(Infrastructure Management、例えば、OpenStack, Terraform, VMware, KVM, VirtutalBox等)、回路等用のファームウェア(Circuit, Onboarding、例えば、FPGA, GPU-CUDA等)、オペレーティングシステム(OS、例えば、Linux(登録商標), Kernel等)が含まれる。
これらの図7に示されるソフトウェアは、初期設定や設定変更時等において、設定ファイルに示されるプロファイル構成に従って、設定サーバによってデプロイすることができる。
第1実施形態によれば以下の効果を得ることができる。
第1実施形態のエッジシステム10によれば、MEC16が有する設定サーバは、設定情報に基づいてMEC16の設定に必要なプログラムを判断し、必要と判断されたプログラムに応じたイメージをイメージレジストリ15から取得する。そして、取得されたイメージを用いて、MEC16のプログラムが設定される。このような構成となることで、MEC16の設定は設定情報だけを用いればよいことになるので、複数のソフトウェアをインストールするための工数は不要になり、設定誤りなどの生じるおそれを低減することができる。
また、第1実施形態のエッジシステム10によれば、MEC16と一体となってセンサ18が設けられており、設定情報にはセンサ18に関する情報が記憶されている。エッジシステム10においては、種々のセンサ18が用いられており、その制御プログラムは異なる。しかしながら、設定情報にセンサ18の情報を記憶することにより、センサ18が必要とする制御プログラムをMEC16にインストールすることができるので、初期設定の工数を低減することができる。また、設定変更時においては、プロファイル構成の修正を行うことによりMEC16のプログラムの更新を行うことができるので、設定の管理が容易になる。
なお、本実施形態においては、エッジシステム10が、MEC16と、作業機器17、及びセンサ18を備える複合機12から構成されものとして説明したが、本発明はこのような構成に限定されない。従って、MEC16のみを備えるエッジシステム10として構成してもよいし、MEC16と他の任意の構成との組合せとして複合機12を構成してもよい。また、同一の又は異なるそれらの複合機12を複数備えるシステムとして構成してもよい。
(第2実施形態)
第1実施形態においては、1つの複合機12によって構成されるエッジシステム10について説明したが、これに限らない。本実施形態においては、親子関係を構成する複数の複合機12によって構成されるエッジシステム10について説明する。
図8は、本発明の実施形態に係るエッジシステムを備える監視システムの構成を示すブロック図である。
この図に示されるように、エッジシステム10は、通信や制御などの複数の機能を実現する複合機12により構成されている。エッジシステム10においては、親機である第1世代の第1複合機12Aに対して、子機となる第2世代の第2複合機12B、及び、第3複合機12Cが接続され、さらに、第2複合機12Bには孫機である第3世代の第4複合機12Dが接続されている。
なお、本実施形態においては、親機、子機、及び、孫機の3世代の複合機12によってエッジシステム10が構成される例を説明するが、任意の世代数の複合機12によってエッジシステム10を構成してもよい。また、エッジシステム10を構成する複合機12の数も任意である。
図9は、複合機12の詳細な構成を示す図である。この図によれば、MEC16内にイメージレジストリ81が設けられている。そして、このイメージレジストリ81は、クラウド上のイメージレジストリ15と同等の機能を有し、必要なイメージファイルを記憶する。
以下においては、親機であるMEC16Aのイメージレジストリ81Aに記憶されているイメージを用いて、子機であるMEC16Bの初期設定を行う例について説明する。
図10は、設定サーバに記憶される複合機12のプロファイル構成を示す表である。なお、このプロファイル構成は一例であって、他の情報が含まれていてもよい。以下においては、MEC16Aのイメージレジストリ81Aが、ローカル環境の構成に必要な全てのイメージファイルを記憶している例について説明するが、MEC16A〜16Dが、それぞれにおいてプロファイル構成を記憶していてもよい。
この図では、複合機12A〜12Dに関するプロファイル構成として、複合機12を構成するMEC16、作業機器17、及び、センサ18に関するハードウェア情報が示されている。複合機12A〜12Dに関するそれぞれの情報は、第1実施形態の図5に示されたプロファイル構成と同等のものである。
図11は、親機であるMEC16Aによる子機であるMEC16Bの設定について説明する。なお、この処理の前段において、MEC16Aのイメージレジストリ81Aには、ローカル環境の構成に必要な全てのイメージファイルを記憶しているものとする。すなわち、第1実施形態の設定制御におけるイメージレジストリ15とMEC16との間と同等の処理が、第2実施形態の設定制御においては、MEC16Aのイメージレジストリ81Aと、MEC16Bとの間において行われる。
この設定制御においては、ステップS1101〜S1120の処理は、第1実施形態における図6に示される設定制御のステップS601〜S620に相当する。なお、MEC16A〜MEC16Dのプロファイル構成は、MEC16Aにおいて一元管理されているので、MEC16Bは、ステップS1101においてMEC16Aから自身に関するプロファイル構成を取得する。
このように構成することで、それぞれのMEC16Bにおいて、プロファイル構成に基づいて、必要なイメージファイルをMEC16A内のイメージレジストリ81Aから取得し、そのイメージファイルを用いた設定を行うことができる。
MEC16Bは、自身の有するイメージレジストリ81Bに設定に必要なイメージファイルを記憶しているので、例えば、一部の機能が故障して再インストールや再デプロイが必要な場合には、他のMEC16Aのイメージレジストリ81Aや、ネットワーク上のイメージレジストリ15と通信する必要がない。そのため、再インストールや再デプロイに要する時間の短縮化を図ることができる。
また、図11に示されたステップS1101〜S1120の処理はこの例の順に行われる必要はなく、これらの処理の順序を変更してもよい。一例としては、MEC16Bは、まず、必要なイメージの判断(S1101)、OSの選択(S1105)、オーケストレーションツール、機械学習エンジンの選択(S1110)、ポッド411の選択(S1116)を行う。そして、MEC16Bは、通信の確立(S1102)をした後に、イメージの要求(S1103)、OSイメージの要求(S1106)、オーケストレーションツール、機械学習エンジンの要求(S1111)、ポッド411の要求(S1117)を行う。MEC16Aは、これらの要求に応じて、必要なイメージの送信(S1104)、OSイメージの送信(S1107)、オーケストレーションツールの送信(S1112)、機械学習エンジンの送信(S1113)、ポッド411の送信(S1118)を行う。そして、MEC16Bは、これらのイメージを取得すると、OSのインストール(S1108)、オーケストレーションツール、機械学習エンジンのインストール(S1114)、ポッド411のデプロイ(S1119)を行い、それらの完了通知(S1109、S1105)を行う。最終的に、MEC16Bの設定サーバは、ポッド411の配置状態をMEC16Aに送信する(S1120)。
このように構成することで、選択処理(S1101、S1105、S1110、S1116)、要求処理(S1103、S1106、S1111、S1117)、送信処理(S1104、S1107、S1112、S1113、S1118)、及び、インストール処理(S1108、S1114、S1119)を、それぞれにおいて集中的にまとめて行うことで、設定制御の短時間化を図ることができる。
第2実施形態によれば、以下の効果を得ることができる。
第2実施形態のエッジシステム10は、複数の親子関係のMEC16を有しており、それぞれのMEC16はイメージレジストリ81を有している。このような構成となることにより、子機であるMEC16Bは、初期設定において必要なファイルを親機であるMEC16Aから取得する。したがって、例えば、子機であるMEC16Bにおいて一部の機能が故障して再インストールや再デプロイが必要な場合には、親機であるMEC16Aのイメージレジストリ81Aや、ネットワーク上のイメージレジストリ15と通信する必要がないので、再インストールや再デプロイに要する時間の短縮化を図ることができる。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
10 エッジシステム
11 ローカル環境
12 複合機
15、81 イメージレジストリ
16 MEC(エッジ端末)
17 作業機器
18 センサ
100 監視システム

Claims (9)

  1. オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムであって、
    前記エッジ端末は、
    所定の設定情報に基づいて、対応するイメージを、イメージレジストリから取得し、
    取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行い、
    前記エッジ端末は、さらに、所定機能を備えた機器を備え、
    前記設定情報は、前記機器に関する情報を含む、エッジシステム。
  2. 請求項1に記載のエッジシステムであって、
    前記機器は、センサであり、
    前記エッジ端末は、前記センサに応じたイメージを用いて、デプロイを行う、エッジシステム。
  3. 請求項1又は2のいずれか1項に記載のエッジシステムであって、
    前記イメージレジストリは、前記エッジシステムとネットワークを介して接続される、エッジシステム。
  4. 請求項1乃至3のいずれか1項に記載のエッジシステムであって、
    前記エッジシステムは、複数の前記エッジ端末により構成され、
    前記イメージレジストリは、前記エッジ端末が有する、エッジシステム。
  5. 請求項4に記載のエッジシステムであって、
    一の前記エッジ端末は、
    前記設定情報に基づいて、対応するイメージを、他の前記エッジ端末が有する前記イメージレジストリから取得する、エッジシステム。
  6. 請求項5に記載のエッジシステムであって、
    前記一のエッジ端末と前記他のエッジ端末とは親子関係にある、エッジシステム。
  7. オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムの制御方法であって、
    前記エッジ端末は、
    所定の設定情報に基づいて対応するイメージを、イメージレジストリから取得するステップと、
    取得した前記イメージを用いて、前記エッジ端末へとデプロイを行い設定処理を行うステップと、を有し、
    前記エッジ端末は、さらに、所定機能を備えた機器を備え、
    前記設定情報は、前記機器に関する情報を含む、エッジシステムの制御方法。
  8. オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムの制御方法の制御に用いられるコンピュータプログラムであって、
    前記コンピュータプログラムは、前記エッジ端末に対して、
    所定の設定情報に基づいて対応するイメージを、イメージレジストリから取得させるステップと、
    取得した前記イメージを用いて、前記エッジ端末へとデプロイを行わせ設定処理を行わせるステップと、を有し、
    前記エッジ端末は、さらに、所定機能を備えた機器を備え、
    前記設定情報は、前記機器に関する情報を含む、エッジシステムの制御に用いられるコンピュータプログラム。
  9. オーケストレーション技術により論理的に割り当てたハードウェアリソースを用いてコンテナを動作させることにより所定の機能を実現するエッジ端末により構成されるエッジシステムの制御方法の制御に用いられるコンピュータプログラムを格納した記録媒体であって、
    前記コンピュータプログラムは、前記エッジ端末に対して、
    所定の設定情報に基づいて対応するイメージを、イメージレジストリから取得させるステップと、
    取得した前記イメージを用いて、前記エッジ端末へとデプロイを行わせ設定処理を行わせるステップと、を有し、
    前記エッジ端末は、さらに、所定機能を備えた機器を備え、
    前記設定情報は、前記機器に関する情報を含む、コンピュータプログラムを格納した記録媒体。
JP2019123697A 2019-07-02 2019-07-02 エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体 Active JP6792125B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019123697A JP6792125B1 (ja) 2019-07-02 2019-07-02 エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体
US17/595,972 US20220206776A1 (en) 2019-07-02 2020-04-16 Edge system and method for controlling edge system
PCT/JP2020/016782 WO2021002086A1 (ja) 2019-07-02 2020-04-16 エッジシステム、エッジシステムの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019123697A JP6792125B1 (ja) 2019-07-02 2019-07-02 エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体

Publications (2)

Publication Number Publication Date
JP6792125B1 true JP6792125B1 (ja) 2020-11-25
JP2021010130A JP2021010130A (ja) 2021-01-28

Family

ID=73455272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019123697A Active JP6792125B1 (ja) 2019-07-02 2019-07-02 エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体

Country Status (3)

Country Link
US (1) US20220206776A1 (ja)
JP (1) JP6792125B1 (ja)
WO (1) WO2021002086A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6914749B2 (ja) * 2017-06-29 2021-08-04 キヤノン株式会社 サーバ装置、情報処理装置、および制御方法
GB2569651A (en) * 2017-12-22 2019-06-26 Veea Systems Ltd Edge computing system
JP6572330B2 (ja) * 2018-01-26 2019-09-04 株式会社インテック ロボットアプリケーション管理装置、システム、方法及びプログラム
US10922123B2 (en) * 2018-12-12 2021-02-16 Microsoft Technology Licensing, Llc Container migration in computing systems

Also Published As

Publication number Publication date
JP2021010130A (ja) 2021-01-28
US20220206776A1 (en) 2022-06-30
WO2021002086A1 (ja) 2021-01-07

Similar Documents

Publication Publication Date Title
US10241778B2 (en) Microservices version state visualization
US11656852B2 (en) System and method for autowiring of a microservice architecture
JP2020536320A (ja) Apiレジストリにおけるバックエンドサービスエンドポイントからapi関数へのバインディング
CN111782232A (zh) 集群的部署方法、装置、终端设备及存储介质
US20230161647A1 (en) Extending the kubernetes api in-process
US9268546B2 (en) Deployment and hosting of platform independent applications
US9197720B2 (en) Deployment and hosting of platform independent applications
CN110647332A (zh) 基于容器云的软件部署方法和装置
CN115965517B (zh) 图形处理器资源管理方法及装置、电子设备和存储介质
US11528186B2 (en) Automated initialization of bare metal servers
CN113204353B (zh) 一种大数据平台组件部署方法及装置
CN117075930B (zh) 一种计算框架管理系统
WO2021002084A1 (ja) システム、システムの制御方法
CN111654539B (zh) 基于云原生的物联网操作系统构建方法、系统及电子设备
JP6792125B1 (ja) エッジシステム、エッジシステムの制御方法、エッジシステムの制御に用いるコンピュータプログラム、及び、その記録媒体
CN114860401B (zh) 异构云桌面调度系统、方法、服务系统、装置及介质
CN110569104A (zh) 深度学习系统中任务训练的管理方法和计算机存储介质
US20150222485A1 (en) Dynamic server configuration and initialization
CN115885255A (zh) 用于在客户场所上实现rpa服务的通用平台
WO2013114829A1 (ja) 情報処理システム、データセンタ、システム移行方法、及び、プログラム
EP4345615A1 (en) Storage resource management method, apparatus, and system for container cluster
KR101959561B1 (ko) 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법
EP3940471A1 (en) Control system, support device, and support program
US20240134701A1 (en) Method and apparatus for managing storage resources of container cluster, and system
US20240095006A1 (en) Image assembly

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200803

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200803

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200831

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: 20200916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201013

R150 Certificate of patent or registration of utility model

Ref document number: 6792125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250