JP2022071239A - 情報処理端末及びセンシングシステム - Google Patents

情報処理端末及びセンシングシステム Download PDF

Info

Publication number
JP2022071239A
JP2022071239A JP2020180072A JP2020180072A JP2022071239A JP 2022071239 A JP2022071239 A JP 2022071239A JP 2020180072 A JP2020180072 A JP 2020180072A JP 2020180072 A JP2020180072 A JP 2020180072A JP 2022071239 A JP2022071239 A JP 2022071239A
Authority
JP
Japan
Prior art keywords
sensor
container
application
information processing
device file
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.)
Pending
Application number
JP2020180072A
Other languages
English (en)
Inventor
理宇 平井
Riu Hirai
圭記 中村
Keiki Nakamura
匡 嶋田
Tadashi Shimada
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020180072A priority Critical patent/JP2022071239A/ja
Priority to US18/033,569 priority patent/US20230401071A1/en
Priority to PCT/JP2021/038837 priority patent/WO2022091917A1/ja
Publication of JP2022071239A publication Critical patent/JP2022071239A/ja
Pending legal-status Critical Current

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/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】端末のI/Oインタフェースに接続されるセンサの状態管理を端末側にオフロードする。【解決手段】プロセッサと、メモリと、通信部と、センサを有する情報処理端末であって、前記通信部を介してコンテナイメージを受信するコンテナ受信部と、前記コンテナイメージが受信されるとコンテナを起動して、前コンテナイメージに含まれるアプリケーションを実行させるコンテナ実行部と、を有し、前記コンテナは、前記センサの認識状況に基づいて前記アプリケーションを起動し、前記アプリケーションは、前記センサから取得したセンシングデータに所定の処理を実行する。【選択図】図4

Description

本発明は、複数の情報処理端末でセンサの処理を行うセンシングシステムに関する。
従来から、工場や作業現場等の稼働状況等を可視化するセンシングシステムとして、複数のネットワークカメラから収集した画像を高性能サーバで処理するサーバ集中型の構成が知られている。
サーバ集中型で多様な状況を監視するためには、カメラの数を増大させる必要がある。サーバ集中型でカメラの数を増大させると、サーバでの処理負荷が増大し、ネットワークカメラのハードウェアのコスト増大などを招くため、大企業等が採用可能なソリューションであった。
近年、中小の企業などにおいても工場等の稼働状況等を可視化するセンシングシステムが要求されており、安価なソリューションが求められる。また、近年では、安価なSoC(System on a Chip)を採用して、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)とUSB(Universal Serial Bus)等のI/Oインタフェースを有してセンシングデータの認識などが可能な安価かつ小型の情報処理端末が普及しつつある。
SoC上で実行するアプリケーションは、コンテナ配信の技術を利用することで、安価な情報処理端末を多数配置して、分散処理を行うことでサーバ側の処理負荷を低減することができる。コンテナ配信の技術としては、例えば、特許文献1が知られている。
国際公開第2018/020610号
SoCを利用した情報処理端末にコンテナ配信技術を利用して管理計算機からコンテナイメージファイルを配信し、情報処理端末のI/Oインタフェースに接続したセンサのセンシングデータを処理する際には、情報処理端末のOSの起動後に端末側でコンテナを起動させる。
情報処理端末のOSは、起動した後にI/Oインタフェースに接続されたセンサを認識すると、センサのデバイスファイルを生成する。そして、情報処理端末のコンテナ上で起動されたアプリケーションは、生成されたデバイスファイルを取得してセンサのセンシングデータを取得する。
情報処理端末のOSがI/Oインタフェースに接続されたセンサを認識して、デバイスファイルを生成するまでの時間は、センサの種類やメーカなどによって様々である。特に、I/OインタフェースとしてUSBインタフェースを利用する場合は、安価なセンサを利用できるが、デバイスファイルを生成するまでの時間はメーカやセンサのタイプによって大きく異なる。
しかしながら、上記従来例では、情報処理端末のOSの起動とコンテナの起動のタイミングを考慮していないため、I/Oインタフェースに接続されたセンサのデバイスファイルが生成されるよりも前に、コンテナのアプリケーションが開始される場合があった。
このような場合、コンテナのアプリケーションは、デバイスファイルを取得できないためセンサを認識できず、センシングデータを取得できないため処理を実行できないという問題があった。
また、コンテナ内のアプリケーションにウォッチドッグを実装しておき、アプリケーションの処理に問題が生じた場合には起動する、セルフヒーリングもしくはオートヒーリング機能を有するものもあり、デバイスファイルを生成するタイミングを考慮しないと、再起動のループが発生するという問題もあった。
また、USB接続のセンサと情報処理端末の状態管理を管理計算機側で実施する場合、センサの種類やメーカの違いに応じて、情報処理端末側のOSがセンサを認識してデバイスファイルを生成するまでの時間が異なるので、管理計算機の管理者等がセンサやOSの情報を収集しておくことが必要となる。この場合、工場や現場等に設置されるセンサが交換される度に管理計算機側でセンサの情報を収集する手間が発生し、多数のセンサ及び情報処理端末を管理するためのコストが増大する、という問題があった。
そこで本発明は、上記問題点に鑑みてなされたもので、情報処理端末のI/Oインタフェースに接続されるセンサの状態管理を情報処理端末側にオフロードすることを目的とする。
本発明は、プロセッサと、メモリと、通信部と、センサを有する情報処理端末であって、前記通信部を介してコンテナイメージを受信するコンテナ受信部と、前記コンテナイメージが受信されるとコンテナを起動して、前コンテナイメージに含まれるアプリケーションを実行させるコンテナ実行部と、を有し、前記コンテナは、前記センサの認識状況に基づいて前記アプリケーションを起動し、前記アプリケーションは、前記センサから取得したセンシングデータに所定の処理を実行する。
したがって、本発明は、情報処理端末(エッジ端末)に接続されるセンサの状態管理を情報処理端末にオフロードすることが可能となる。これにより、管理計算機は情報処理端末側のセンサの管理が不用となって、センシングシステムの導入及び運用にかかるコストを低減できる。
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
本発明の実施例1を示し、センシングシステムの概要を示すブロック図である。 本発明の実施例1を示し、管理計算機の構成の一例を示すブロック図である。 本発明の実施例1を示し、エッジ端末の構成の一例を示すブロック図である。 本発明の実施例1を示し、センシングシステムで行われる処理の一例を示す図である。 本発明の実施例1を示し、エッジ端末で行われる処理の一例を示すフローチャートである。 本発明の実施例1を示し、センシングシステムで行われる処理の一例を示すタイムチャートである。 従来例を示し、センシングシステムで行われる処理の一例を示すタイムチャートである。 本発明の実施例1を示し、センシングシステムで行われる処理の一例を示す図である。 本発明の実施例1を示し、管理計算機に表示される構成画面の一例を示す図である。 本発明の実施例1を示し、管理計算機に表示される管理画面の一例を示す図である。 本発明の実施例2を示し、エッジ端末で行われる処理の一例を示すフローチャートである。 本発明の実施例2を示し、管理計算機に表示される管理画面の一例を示す図である。 本発明の実施例2を示し、管理計算機に表示される管理画面の一例を示す図である。
以下、本発明の実施形態を添付図面に基づいて説明する。
図1は、本発明の実施例1を示し、センシングシステムの概要を示すブロック図である。本実施例のセンシングシステムは、工場等に設置されて装置等の稼働状態を検出するセンサ7-1~7-nが検出した情報をエッジ端末(情報処理端末)1-1~1-nでそれぞれ収集して、アプリケーションサーバ300で各工場等の稼働状態を分析する例を示す。なお、以下の説明ではエッジ端末を個々に特定しない場合には、「-」以降を省略した符号「1」を用いる。他の構成要素の符号についても同様である。
エッジ端末1にはセンサ7が接続され、各エッジ端末1はネットワーク120を介して管理計算機100とアプリケーションサーバ300及びNAS(Network Attached Storage)に接続される。
管理計算機100は、エッジ端末1で実施する情報処理をコンテナイメージファイル60-1~60-nとして管理し、各エッジ端末1にコンテナイメージファイル60を配信するコンテナオーケストレーション110を実行する。管理計算機100は、エッジ端末1のセンサ7の種類等に応じた情報処理をアプリケーションやAiモデルを組み合わせてコンテナイメージファイル60として生成しておき、所定のタイミングでエッジ端末1に配信する。
各エッジ端末1は、受信したコンテナイメージファイル60を実行するコンテナ実行部50を有し、コンテナを起動してコンテナイメージファイル60内のアプリケーションを実行する。
本実施例のコンテナイメージファイル60は、後述するようにセンサ7からの情報を取得してAiモデルに認識させるアプリケーションとセンサ7の状態(デバイスファイルの生成)を監視する監視部を含む。センサ7の一例としては、カメラを用いることができ、Aiモデルはカメラからの画像を認識して、エッジ端末1のアプリケーションが認識結果をNAS200の処理結果210に格納する。アプリケーションサーバ300は、NAS200の処理結果210を取得して所定の分析を実行する。
図2は、管理計算機100の構成の一例を示すブロック図である。管理計算機100は、プロセッサ101と、メモリ102と、ストレージ装置103と、入力装置104と、出力装置105及びネットワークインタフェース106を含む計算機である。
メモリ102には、コンテナオーケストレーション110のプログラムがロードされてプロセッサ101によって実行される。ストレージ装置103は、コンテナオーケストレーション110が各エッジ端末1に配信するコンテナイメージファイル60-1~60-nを格納する。
コンテナイメージファイル60-1は、アプリケーション61-1と、機械学習によるAi(Artificial Intelligence)モデル62-1と、エッジ端末1でセンサ7の認識状態を監視するデバイスファイル監視部63-1を含む。なお、他のコンテナイメージファイル60-2~60-nについても同様である。
アプリケーション61とAiモデル62は、配信先や、エッジ端末1のセンサ7の種類等に応じて組み合わされる。なお、コンテナイメージファイル60のアプリケーション61とAiモデル62の組み合わせは、管理者等が予め設定しておいてもよいし、管理者等が選択したアプリケーション61とAiモデル62を組み合わせたコンテナイメージファイル60を生成しておいてもよい。
入力装置104は、キーボードやマウス或いはタッチパネル等で構成される。出力装置105は、ディスプレイなどで構成される。ネットワークインタフェース106は、ネットワーク120に接続されて外部の装置と通信を行う。
コンテナオーケストレーション110は、入力装置104を介して指定されたコンテナイメージファイル60を、指定されたエッジ端末1に配信する。また、コンテナオーケストレーション110は、入力装置104を介してアプリケーション61とAiモデル62の組み合わせを受け付けて、コンテナイメージファイル60を生成してもよい。
図3は、エッジ端末1-1の構成の一例を示すブロック図である。エッジ端末1-1は、プロセッサ2と、メモリ3と、ストレージ装置4と、ネットワークインタフェース5と、I/Oインタフェース6及びGPU((Graphics Processing Unit))8を含む計算機である。I/Oインタフェース6にはセンサ7が接続される。
エッジ端末1は、SoC(System on a Chip)を利用した安価なデバイスで構成することができ、SoCにはプロセッサ2と、メモリ3と、ストレージ装置4と、ネットワークインタフェース5と、I/Oインタフェース6及びGPU8を含むことができる。
また、I/Oインタフェース6としてはUSB(Universal Serial Bus)を採用することができる。I/Oインタフェース6としてはUSBを採用することで、センサ7にはUSBカメラ等の安価なデバイスを採用することができる。なお、センサ7は、カメラに限定されるものではなく、振動(加速度)や温度、圧力や音声や物体検出等の監視対象に応じたセンサを採用することができる。
また、I/Oインタフェース6としてUSBを採用することにより、センサ7の脱着が容易になって、センサ7の交換に特殊な技術は不要となり、エッジ端末1を配置した現場での運用コストを抑制することができる。また、I/Oインタフェース6は、有線接続に限定されるものではなく、BluetoothやWiFi等の無線接続を採用することができる。
メモリ102には、OS10と、コンテナ受信部40と、コンテナ実行部50と、NAS書き込み部70がプログラムとしてロードされ、プロセッサ101によって実行される。また、メモリ102には、コンテナ受信部40が受け付けたコンテナイメージファイル60-1と、OS10が生成したデバイスファイル30を管理するデバイステーブル20が格納される。
コンテナ実行部50はコンテナを起動すると、コンテナ受信部40が受け付けたコンテナイメージファイル60-1から、まずデバイスファイル監視部63を起動する。そして、デバイスファイル監視部63は、OS10がセンサ7を認識する状況に応じてアプリケーション61-1とAiモデル62-1を実行する。なお、Aiモデル62-1は、GPU8で実行させることができる。本実施例では、デバイスファイル監視部63が監視するセンサ7の認識状況として、OS10がセンサ7のデバイスファイル30を生成する状況を用いる。
NAS書き込み部70は、コンテナで実行されたアプリケーション61-1の処理結果をNAS200の処理結果210に書き込む。アプリケーション61-1は、センサ7が検出したセンシングデータをAiモデル62-1で認識させ、認識結果を含む情報を処理結果として出力する。
OS10は、起動又は再起動後にセンサ7を認識すると、認識したセンサ7の物理的な識別子(物理ID)を含むデバイス情報をデバイスファイル30として生成する。デバイスファイル監視部63-1はデバイスファイル30が生成されると、当該デバイスファイル30の情報をデバイステーブル20に登録する。
デバイスファイル監視部63-1は、デバイスファイル30を監視し、デバイスファイル30が生成されたことを検出すると、アプリケーション61-1を起動させて所定の情報処理を開始させる。
アプリケーション61-1は、起動するとデバイステーブル20を参照してセンサ7の情報を読み込んで、センサ7にアクセスしてセンシングデータを取得することができる。なお、アプリケーション61は、直接デバイスファイル30を取得してセンサ7の物理的な識別子(物理ID)を取得して、センサ7からセンシングデータを取得してもよい。
デバイスファイル30は、例えば、「video1」のように、OS10が使用する汎用的なファイル名で構成される。デバイステーブル20には、当該デバイスファイル30のファイル名が、例えば、「/dev/video0」や「/dev/video1」のように登録される。
本実施例のエッジ端末1は、後述するように、OS10の起動後にコンテナイメージファイル60を受け付けるとコンテナ実行部50がコンテナを起動し、まず、デバイスファイル監視部63を起動させてセンサ7のデバイスファイル30の生成状況を監視する。
デバイスファイル監視部63は、OS10がデバイスファイル30を生成したことを検出した後に、アプリケーション61-1を開始させることで、前記従来例のように、センサ7の種類やメーカの差異によってデバイスファイルが生成されるまでの時間の揺らぎを吸収することができる。これにより、コンテナのアプリケーション61-1は、確実にデバイスファイル30の情報を取得することが可能となって、センサ7が検出したセンシングデータを確実に処理することができる。
プロセッサ2は、各機能部のプログラムに従って処理を実行することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ2は、コンテナ実行部プログラムに従って処理を実行することでコンテナ実行部50として機能する。他のプログラムについても同様である。さらに、プロセッサ2は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
ネットワークインタフェース5は、ネットワーク120に接続されて管理計算機100やNAS200と通信を行う。ストレージ装置4は、不揮発性記憶媒体で構成されてOS10やコンテナ受信部40やコンテナ実行部50のプログラムを保持することができる。
図4は、センシングシステムで行われる処理の一例を示す図である。本実施例のセンシングシステムは、まず、管理計算機100の利用者が、出力装置105に表示される構成画面150上でコンテナイメージファイル60を配信する現場とセンサを対応付けておく(S1)。
次に、エッジ端末1側では、コンテナ受信部40と、コンテナ実行部50をインストールしておく(S2)。エッジ端末1はネットワーク120に接続して、当該エッジ端末1の情報を管理計算機100に通知する(S3)。
管理計算機100は、エッジ端末1の情報(識別子)を受け付けると、構成画面150の「エッジ端末」の欄の「Dev#N」の識別子を表示する(S4)。管理計算機100の利用者は、構成画面150上でセンサ7の識別子(Cam#N)と、エッジ端末1の識別子(Dev#N)を対応付けておく(S5)。
さらに、管理計算機100ではエッジ端末1で実行するアプリケーション61とAiモデル62を選択し、コンテナイメージファイル60としてエッジ端末1へ配信する(S6)。なお、本実施例では、アプリケーション61とセンサ7は1:1で紐付けられる。
エッジ端末1では、コンテナ受信部40がコンテナイメージファイル60を受信した後に、OS10はNAS200をマウントする(S7)。コンテナ実行部50は、コンテナイメージファイル60からデバイスファイル監視部63を起動して、デバイスファイル30の有無を監視させる(S8)。デバイスファイル監視部63は、デバイスファイル30が生成されるとデバイステーブル20にセンサ7の情報(物理ID)を格納してからアプリケーション61を起動してAiモデル62を用いた処理を開始させる。
アプリケーション61は、デバイステーブル20で指定されたセンサ7からセンシングデータを取得してAiモデル62に認識させる。アプリケーション61は、Aiモデル62の認識結果から処理結果を生成し、NAS書き込み部70を介してNAS200に処理結果を書き込む。
図5は、エッジ端末1で行われる処理の一例を示すフローチャートである。この処理は、図4のステップS6以降の処理の詳細を示す。
エッジ端末1では、コンテナ受信部40が受け付けたコンテナイメージファイル60を実行するために、コンテナ実行部50がコンテナを起動する(S21)。コンテナ実行部50は、コンテナイメージファイル60からデバイスファイル監視部63を起動する(S22)。
デバイスファイル監視部63は、OS10が生成するデバイスファイル30を取得する(S23)。デバイスファイル監視部63は、デバイスファイル30の有無を判定し(S24)、デバイスファイル30が存在すればステップS25へ進み、そうでない場合にはステップS31で所定時間が経過するのを待ってから再度ステップS23に戻って上記処理を繰り返す。
ステップS25では、OS10がNAS200をエッジ端末1にマウントする。次に、デバイスファイル監視部63はコンテナ実行部50に通知して、コンテナイメージファイル60からアプリケーション61を起動してAiモデル62を用いた処理を開始する(S26)。
アプリケーション61は、デバイステーブル20の情報(物理ID)を取得すると(S27)、物理IDで指定されたセンサ7からセンシングデータを取得して、センシングデータをAiモデル62-1に認識させて所定の処理結果を生成する(S28)。また、デバイスファイル監視部63は、ウォッチドッグ処理を実施して、センサ7からセンシングデータを正常に取得していることを検証する(S29)。なお、ウォッチドッグ処理は、アプリケーション61が行ってもよい。
デバイスファイル監視部63は、ウォッチドッグ処理の結果を判定し(S30)、処理に不具合があると判定した場合、ステップS21に戻って、コンテナ実行部50にコンテナの再起動を通知する。一方、処理が正常に実施されていればステップS28に戻って上記処理を繰り返す。
コンテナを再起動する際に、エッジ端末1のOS10の起動後に、デバイスファイル監視部63はデバイスファイル30が生成されるまで、アプリケーション61の起動を禁止するため、センサ7の種類やメーカの差異によってデバイスファイル30が生成されるまでの時間の長短に関わらず安定した稼働を実現できる。
図6は、センシングシステムで行われる処理の一例を示すタイムチャートである。図示の例では、エッジ端末1の起動からコンテナイメージファイル60の配信を受け付けてアプリケーション61の稼働を開始する例を示す。
時刻T1で、エッジ端末1のOS10が起動する。OS10は、起動した後に時刻T2でI/Oインタフェース6のセンサ7を認識する。OS10は、センサ7の認識結果に基づいてデバイスファイル30を生成してメモリ3に格納する(時刻T3)。また、OS10は、コンテナ受信部40とコンテナ実行部50を起動しておく。
時刻T4では、管理計算機100がコンテナイメージファイル60をエッジ端末1に配信する。コンテナ受信部40は、コンテナイメージファイル60を受け付けると、コンテナ実行部50がコンテナを起動する(時刻T5)。コンテナの起動後にOS10はNAS200をマウントする(時刻T6)。
コンテナ実行部50は、コンテナイメージファイル60からデバイスファイル監視部63を起動する。デバイスファイル監視部63は、デバイスファイル30が生成されたか否かを監視する。デバイスファイル監視部63は、デバイスファイル30を取得して、デバイスファイル30が生成されたことを判定すると(時刻T7)、コンテナイメージファイル60からアプリケーション61を起動して、Aiモデル62による処理を開始する(時刻T8)。
以上のように、コンテナイメージファイル60からデバイスファイル監視部63を起動させて、OS10がデバイスファイル30を生成したことを検証した後に、アプリケーション61を起動する。これにより、前記従来例のように、デバイスファイル30が生成される前にアプリケーション61が起動されて、正常な処理ができなくなるのを確実に回避することができる。
図7は、従来例を示し、センシングシステムで行われる処理の一例を示すタイムチャートである。従来例では、コンテナイメージファイル60には本発明のデバイスファイル監視部63が含まれず、アプリケーション61とAiモデル62のみとなる。
時刻T1、T2は、上記図6の本発明のセンシングシステムと同様であるが、OS10は、センサ7の認識後のデバイスファイル30の生成が遅延し、図示の例では時刻T18を経過した後にデバイスファイル30を生成する。
センサ7がカメラで、I/Oインタフェース6がUSBの場合、カメラのメーカや機種の違いによって、OS10の起動からデバイスファイル30が生成されるまでの時間は、数秒から1分程度などのようにバラツキが生じる。
時刻T4では、管理計算機100が、アプリケーション61とAiモデル62のみのコンテナイメージファイル60をエッジ端末1に配信する。コンテナ受信部40は、コンテナイメージファイル60を受け付けると、コンテナ実行部50がコンテナを起動する(時刻T5)。コンテナの起動後にOS10はNAS200をマウントする(時刻T6)。
時刻T17では、コンテナ実行部50がコンテナイメージファイル60のアプリケーション61を起動してAiモデル62に所定の処理を開始する。アプリケーション61は、時刻T18でデバイスファイル30を取得しようとするが、OS10はまだデバイスファイル30を生成していない。
アプリケーション61は、デバイスファイル30が無いため、センサ7を認識できず、以降の処理がエラーとなってしまう。
このように、従来例では、センサ7がUSB接続のカメラの場合は、メーカや機種の違いによってデバイスファイル30が生成されるまでの時間が大きく異なるため、エッジ端末1のアプリケーション61は、デバイスファイル30を読み込めずに処理を行うことができない事態となった。
これに対して、本発明のセンシングシステムでは、コンテナイメージファイル60にデバイスファイル監視部63を含め、エッジ端末1では、まず、デバイスファイル監視部63を起動してデバイスファイル30を監視し、デバイスファイル30が生成された時点でアプリケーション61を開始する。このため。センサ7のデバイスファイル30が生成されるまでの監視をエッジ端末1側のデバイスファイル監視部63で行うことで、センサ7のメーカや機種の違いに関わらずアプリケーション61とAiモデル62による処理を安定して実現することができる。
図8は、センシングシステムで行われる処理の一例を示す図である。図示の例は、各エッジ端末1-1~1-nで、異なるセンサA~Cでアプリケーション61の処理を行う例を示している。
デバイスファイル監視部63-1は、OS10がセンサA(7-1)のデバイスファイル30-1を生成するのを監視し、デバイスファイル30-1が生成されるとセンサA(7-1)の物理IDを取得する。
デバイスファイル監視部63-1は、デバイスファイル30-1が生成されたのでセンサ7の物理IDをデバイステーブル20に登録してからアプリケーション61-1を起動する。アプリケーション61-1は、デバイステーブル20からセンサ7の物理IDを取得してセンサ7にアクセスして所定の処理を実行する。
図9は、管理計算機100に表示される構成画面150の一例を示す図である。管理計算機100の利用者は、出力装置105に表示される構成画面150上でコンテナイメージファイル60を配信するエッジ端末1毎に構成を管理することができる。なお、構成画面150は、コンテナオーケストレーション110が生成してもよいし、他の管理プログラムが生成してもよい。
構成画面150は、センサ7とエッジ端末1が設置されている場所(工場や現場)の識別子(又は名称)を表示する現場151と、センサ7の識別子(又は名称)を表示するセンサ#152と、センサ7の状態を表示するデバイス状態153と、エッジ端末1の識別子を表示する情報処理端末154と、アプリケーション61の識別子(又は名称)を表示するアプリ155と、Aiモデル62の識別子(又は名称)を表示するモデル156を含む。
管理計算機100の利用者は、構成画面150上で現場151とセンサ#152や情報処理端末154の紐付けや、アプリ155とモデル156の組み合わせなどを設定することができる。
図10は、管理計算機100に表示される管理画面160の一例を示す図である。管理計算機100の出力装置105に表示される管理画面160は、エッジ端末1の稼働状態が表示される。
管理画面160は、センサ7とエッジ端末1が設置されている場所(工場や現場)の識別子(又は名称)を表示する現場161と、エッジ端末1の識別子(又は名称)を表示する情報処理端末162と、アプリケーション61の識別子(又は名称)を表示するアプリ163と、Aiモデル62の識別子(又は名称)を表示するモデル164と、アプリケーション61の稼働状態を表示するステータス165を含む。ステータス165には、アプリケーション61又はセンサ7(図中デバイス)の状態が表示される。
以上のように、実施例1のセンシングシステムでは、コンテナイメージファイル60にデバイスファイル監視部63を含めることで、エッジ端末1に接続されるセンサ7の状態管理をエッジ端末1側にオフロードすることが可能となる。これにより、管理計算機100はエッジ端末1側のセンサの管理が不用となって、センシングシステムの導入及び運用にかかるコストを低減できる。
そして、I/Oインタフェース6としてUSBインタフェースを採用することで安価なセンサ7を採用して、センシングシステムの導入コストを低減できる。また、コンテナイメージファイル60に含めたデバイスファイル監視部63が、デバイスファイル30の生成完了のタイミングの後にアプリケーション61を起動することで、センサ7のメーカや種類に関わらず確実にアプリケーション61はデバイスファイル30読み込むことができ、安定した稼働を実現できる。
なお、上記実施例1では、デバイステーブル20にデバイスファイル30を登録する例を示したが、アプリケーション61が直接デバイスファイル30を読み込むようにしてもよい。
また、上記実施例1では、アプリケーション61がセンサ7から取得したセンシングデータをAiモデル62に認識させる例を示したが、これに限定されるものではない。コンテナイメージファイル60にAiモデル62は必須ではなく、アプリケーション61がセンシングデータに統計処理などの所定の処理を加えた処理結果をNAS200へ送信してもよい。
また、上記実施例1では、I/Oインタフェース6としてUSBを採用し、脱着可能なセンサ7としてカメラを採用する例を示したが、これに限定されるものではなく、SoCを使用したエッジ端末1の基板上にセンサを搭載してもよい。
図11は、実施例2を示し、エッジ端末1で行われる処理の一例を示すフローチャートである。前記実施例1に示した図5のフローチャートとの違いは、ステップS23AとステップS27Aを変更した点である。
ステップS27Aでは、デバイスファイル監視部63がデバイスファイル30からセンサ7に固有の情報(例えば、物理ID)を取得してデバイステーブル20に登録し、ステップS27Aでは、アプリケーション61がデバイステーブル20からセンサ7に固有の物理IDを取得して、物理IDでセンサ7を認識して所定の処理を実行する。その他の構成については、前記実施例1と同様である。
前記実施例1のデバイスファイル30の名称は、OS10が付与した汎用的な、例えば、「/dev/video0」や「/dev/video1」を使用する例を示した。しかし、センサ7(カメラ)の種類やOS10のバージョン等によっては、1つのセンサ7に対して複数のデバイスファイル30が生成される場合がある。
一方、アプリケーション61のプログラムでは唯1つのセンサ7のみを指定できる。例えば、デバイスファイル30で「/dev/video0」を指定した場合、デバイスファイル30として「/dev/video1」が生成されてしまうとアプリケーション61の処理に影響がある。
そのため、「/dev/v4l/by-id/」のパスに生成されるデバイスに固有情報を示すデバイスファイルの利用が望ましい。しかし、センサ7毎にデバイスファイル30のファイル名が異なるため、コンテナイメージファイル60内部のアプリケーション61への記述は汎用性が乏しくなる。
そこで、実施例2では、デバイステーブル20を利用し、エッジ端末1のデバイスファイル監視部63はI/Oインタフェース6に接続されたセンサ7の固有情報を取得し、デバイステーブル20にセンサ7の固有情報を記載する。
コンテナの内部では、デバイステーブル20に記載されたセンサ7の固有情報を取得し、デバイステーブル20のセンサ7の固有情報に基づいてアプリケーション61が所定の情報処理を行う。これにより、1つのセンサ7に対して複数のデバイスファイル30が生成されたり、センサ7毎にデバイスファイル30のファイル名が異なる場合でもアプリケーション61は確実にセンサ7を認識することが可能となる。
上記実施例2では、エッジ端末1側でのセンサ7の管理コストを低下させて、アプリケーション61による情報処理を円滑に行うことができる。
図12、図13は、管理計算機100に表示される構成画面170の他の例を示す図である。図示の例は、1つのエッジ端末1に複数のセンサ7が接続され、管理計算機100からの指令に応じて処理を行うセンサ7を切り替える例を示す。
構成画面170は、センサ7とエッジ端末1が設置されている場所(工場や現場)の識別子(又は名称)を表示する現場171と、センサ7の識別子(又は名称)を表示するセンサ#172と、センサ7の状態を表示するデバイス状態173と、エッジ端末1の識別子を表示する情報処理端末174と、アプリケーション61の識別子(又は名称)を表示するアプリ175と、Aiモデル62の識別子(又は名称)を表示するアプリ176と、使用するセンサ7の種類を表示するカメラ種類177を含む。
図12、図13のエッジ端末1(図中Dev#1)は、2つのセンサ(Cam#1、Cam#2)が接続され、図12では「Cam#1」のセンサ7が稼働し、図13では「Cam#2」のセンサ7が稼働している。
複数のセンサ7を切り替える場合、管理計算機100の利用者は、使用するカメラ種類177=「Cam#2」を構成画面170で指定して、配信するアプリケーション61とAiモデル62を切り替えるセンサ7に応じて選択し、エッジ端末1に再起動を指令する。
管理計算機100は、エッジ端末1の再起動後に「Cam#2」に対応するコンテナイメージファイル60を配信して、センサ7を切り替えてアプリケーション61の処理を行うことができる。再度配信されたコンテナイメージファイル60のアプリケーション61は、デバイステーブル20のセンサ7に固有の情報から「Cam#2」の情報を取得することで、複数のセンサ7が存在する場合に円滑な切り替えを実現できる。
<結び>
以上のように、上記実施例のエッジ端末1は、以下のような構成とすることができる。
(1)プロセッサ(2)と、メモリ(3)と、通信部(ネットワークインタフェース5)と、センサ(7)を有する情報処理端末(エッジ端末1)であって、
前記通信部(5)を介してコンテナイメージ(コンテナイメージファイル60)を受信するコンテナ受信部(40)と、前記コンテナイメージ(60)が受信されるとコンテナを起動して、前コンテナイメージ(60)に含まれるアプリケーション(61)を実行させるコンテナ実行部(50)と、を有し、前記コンテナは、前記センサ(7)の認識状況に基づいて前記アプリケーション(61)を起動し、前記アプリケーション(61)は、前記センサ(7)から取得したセンシングデータに所定の処理を実行することを特徴とする情報処理端末。
上記構成により、エッジ端末1に接続されるセンサ7の状態管理をエッジ端末1側にオフロードすることが可能となる。これにより、管理計算機100はエッジ端末1側のセンサの管理が不用となって、センシングシステムの導入及び運用にかかるコストを低減できる。
(2)上記(1)に記載の情報処理端末であって、前記センサ(7)の認識状況は、前記センサ(7)の物理的な識別子を含むデバイスファイル(30)の生成状況であることを特徴とする情報処理端末。
上記構成により、センサ7の物理的な識別子を含むデバイスファイル30の生成状況に基づいてアプリケーション61を起動することで、アプリケーション61がデバイスファイル30読み込むことができ、安定した稼働を実現できる。
(3)上記(2)に記載の情報処理端末であって、前記コンテナイメージ(60)は、前記デバイスファイル(30)を監視するデバイスファイル監視部(63)を含み、前記コンテナは、前記デバイスファイル監視部(63)を起動して、当該デバイスファイル監視部(63)が前記センサ(7)のデバイスファイル(30)を取得したことを契機として、前記アプリケーション(61)を実行することを特徴とする情報処理端末。
上記構成により、コンテナイメージファイル60に含めたデバイスファイル監視部63が、デバイスファイル30の生成完了のタイミングの後にアプリケーション61を起動することで、センサ7のメーカや種類に関わらずデバイスファイル30が生成されるまでの時間の揺らぎを吸収して、アプリケーション61は確実にデバイスファイル30を読み込むことができ、安定した稼働を実現できる。
(4)上記(3)に記載の情報処理端末であって、前記デバイスファイル監視部(63)は、前記デバイスファイル(30)を取得すると、当該デバイスファイル(30)に記載されている前記センサ(7)の物理的な識別子をデバイステーブル(20)に登録した後に前記アプリケーション(61)を起動し、前記アプリケーション(61)は、前記デバイステーブル(20)に登録された物理的な識別子を取得して前記センサ(7)にアクセスし、当該センサ(7)からセンシングデータを取得して所定の処理を実行することを特徴とする情報処理端末。
上記構成により、コンテナの内部では、デバイステーブル20に記載されたセンサ7の固有情報を取得し、デバイステーブル20のセンサ7の固有情報に基づいてアプリケーション61が所定の情報処理を行うことで、1つのセンサ7に対して複数のデバイスファイル30が生成されたり、センサ7毎にデバイスファイル30のファイル名が異なる場合でもアプリケーション61が確実にセンサ7を認識することが可能となる。
(5)上記(1)に記載の情報処理端末であって、前記センサ(7)を脱着可能なI/Oインタフェース(6)をさらに有することを特徴とする情報処理端末。
上記構成により、I/Oインタフェース6としてUSBインタフェースを採用することで安価なセンサ7を採用して、センシングシステムの導入コストを低減できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1-1~1-n エッジ端末
2 プロセッサ
3 メモリ
4 ストレージ装置
5 ネットワークインタフェース
6 I/Oインタフェース
7-1~7-n センサ
8 GPU
10 OS
20 デバイステーブル
30 デバイスファイル
40 コンテナ受信部
50 コンテナ実行部
60-1~60-n コンテナイメージファイル
61-1~61-n アプリケーション
62-1~62-n Aiモデル
63-1~63-n デバイスファイル監視部
70 NAS書き込み部
100 管理計算機
101 プロセッサ
102 メモリ
103 ストレージ装置
104 入力装置
105 出力装置
106 ネットワークインタフェース
110 コンテナオーケストレーション

Claims (11)

  1. プロセッサと、メモリと、通信部と、センサを有する情報処理端末であって、
    前記通信部を介してコンテナイメージを受信するコンテナ受信部と、
    前記コンテナイメージが受信されるとコンテナを起動して、前コンテナイメージに含まれるアプリケーションを実行させるコンテナ実行部と、
    を有し、
    前記コンテナは、
    前記センサの認識状況に基づいて前記アプリケーションを起動し、
    前記アプリケーションは、
    前記センサから取得したセンシングデータに所定の処理を実行することを特徴とする情報処理端末。
  2. 請求項1に記載の情報処理端末であって、
    前記センサの認識状況は、前記センサの物理的な識別子を含むデバイスファイルの生成状況であることを特徴とする情報処理端末。
  3. 請求項2に記載の情報処理端末であって、
    前記コンテナイメージは、前記デバイスファイルを監視するデバイスファイル監視部を含み、
    前記コンテナは、
    前記デバイスファイル監視部を起動して、当該デバイスファイル監視部が前記センサのデバイスファイルを取得したことを契機として、前記アプリケーションを実行することを特徴とする情報処理端末。
  4. 請求項3に記載の情報処理端末であって、
    前記デバイスファイル監視部は、
    前記デバイスファイルを取得すると、当該デバイスファイルに記載されている前記センサの物理的な識別子をデバイステーブルに登録した後に前記アプリケーションを起動し、
    前記アプリケーションは、
    前記デバイステーブルに登録された物理的な識別子を取得して前記センサにアクセスし、当該センサからセンシングデータを取得して所定の処理を実行することを特徴とする情報処理端末。
  5. 請求項1に記載の情報処理端末であって、
    前記センサを脱着可能なI/Oインタフェースをさらに有することを特徴とする情報処理端末。
  6. プロセッサと、メモリと、通信部と、センサを有する情報処理端末と、
    プロセッサと、メモリと、通信部を有し、前記情報処理端末を管理する管理計算機と、を含むセンシングシステムであって、
    前記管理計算機は、
    前記情報処理端末に配信するコンテナイメージを管理し、前記情報処理端末で実行するアプリケーションを含む前記コンテナイメージを配信するコンテナ管理部を有し、
    前記情報処理端末は、
    前記通信部を介してコンテナイメージを受信するコンテナ受信部と、
    前記コンテナイメージが受信されるとコンテナを起動して、前コンテナイメージに含まれるアプリケーションを実行させるコンテナ実行部と、を有し、
    前記コンテナは、
    前記センサの認識状況に基づいて前記アプリケーションを起動し、
    前記アプリケーションは、
    前記センサから取得したセンシングデータに所定の処理を実行することを特徴とするセンシングシステム。
  7. 請求項6に記載のセンシングシステムであって、
    前記センサの認識状況は、前記センサの物理的な識別子を含むデバイスファイルの生成状況であることを特徴とするセンシングシステム。
  8. 請求項7に記載のセンシングシステムであって、
    前記コンテナイメージは、前記デバイスファイルを監視するデバイスファイル監視部を含み、
    前記コンテナは、
    前記デバイスファイル監視部を起動して、当該デバイスファイル監視部が前記センサのデバイスファイルを取得したことを契機として、前記アプリケーションを実行することを特徴とするセンシングシステム。
  9. 請求項8に記載のセンシングシステムであって、
    前記デバイスファイル監視部は、
    前記デバイスファイルを取得すると、当該デバイスファイルに記載されている前記センサの物理的な識別子をデバイステーブルに登録した後に前記アプリケーションを起動し、
    前記アプリケーションは、
    前記デバイステーブルに登録された物理的な識別子を取得して前記センサにアクセスし、当該センサからセンシングデータを取得して所定の処理を実行することを特徴とするセンシングシステム。
  10. 請求項6に記載のセンシングシステムであって、
    前記コンテナ管理部は、
    複数の前記情報処理端末の中から前記センサの処理を行う情報処理端末を選択し、前記センサの処理を行う前記アプリケーションを指定する構成画面を出力し、当該構成画面で指定された前記情報処理端末と前記センサの処理を行う前記アプリケーションの組み合わせを受け付けて、前記指定された前記情報処理端末に前記指令されたアプリケーションを含むコンテナイメージを配信することを特徴とするセンシングシステム。
  11. 請求項6に記載のセンシングシステムであって、
    前記コンテナ管理部は、
    前記情報処理端末から前記センサと前記アプリケーションの稼働状態を取得し、複数の前記情報処理端末毎に前記センサと前記アプリケーションの前記稼働状態を表示する管理画面を出力することを特徴とするセンシングシステム。
JP2020180072A 2020-10-28 2020-10-28 情報処理端末及びセンシングシステム Pending JP2022071239A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020180072A JP2022071239A (ja) 2020-10-28 2020-10-28 情報処理端末及びセンシングシステム
US18/033,569 US20230401071A1 (en) 2020-10-28 2021-10-20 Information processing terminal and sensing system
PCT/JP2021/038837 WO2022091917A1 (ja) 2020-10-28 2021-10-20 情報処理端末及びセンシングシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020180072A JP2022071239A (ja) 2020-10-28 2020-10-28 情報処理端末及びセンシングシステム

Publications (1)

Publication Number Publication Date
JP2022071239A true JP2022071239A (ja) 2022-05-16

Family

ID=81382420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020180072A Pending JP2022071239A (ja) 2020-10-28 2020-10-28 情報処理端末及びセンシングシステム

Country Status (3)

Country Link
US (1) US20230401071A1 (ja)
JP (1) JP2022071239A (ja)
WO (1) WO2022091917A1 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6546832B2 (ja) * 2015-10-28 2019-07-17 富士通株式会社 動作環境再構築プログラム、動作環境再構築システム、動作環境再構築方法

Also Published As

Publication number Publication date
WO2022091917A1 (ja) 2022-05-05
US20230401071A1 (en) 2023-12-14

Similar Documents

Publication Publication Date Title
JP4980792B2 (ja) 仮想計算機の性能監視方法及びその方法を用いた装置
JP6530774B2 (ja) ハードウェア障害回復システム
US7574627B2 (en) Memory dump method, memory dump program and computer system
US7779297B2 (en) Fail-over method, computer system, management server, and backup server setting method
US7992032B2 (en) Cluster system and failover method for cluster system
US7234075B2 (en) Distributed failover aware storage area network backup of application data in an active-N high availability cluster
US7953831B2 (en) Method for setting up failure recovery environment
US20150178096A1 (en) Remote bios update in system having multiple computers
TW201743222A (zh) 遠端多電腦切換技術之儲存裝置、系統及方法
JP2009230549A (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
CN1645389A (zh) 用于实现高可用性系统的远程企业管理的系统和方法
JP2007164305A (ja) ブート制御方法および計算機システム並びにその処理プログラム
TW201500935A (zh) 機櫃伺服器基板管理控制器開關機控制系統及方法
WO2016000298A1 (zh) 一种系统异常的捕获方法、主系统、影子系统及智能设备
US20140244822A1 (en) Management apparatus and method of managing server node
US20180241841A1 (en) Information system
US9680939B2 (en) Maintaining technical support continuity across system restarts and multiple operating systems
JP2010134557A (ja) 仮想マシン運用管理システム、その運用管理方法、及びプログラム
JP5597293B2 (ja) 計算機システム及びプログラム
CN107861827B (zh) 卡屏检测方法、移动终端及计算机可读存储介质
WO2022091917A1 (ja) 情報処理端末及びセンシングシステム
JP2002215399A (ja) コンピュータシステム
US20150050004A1 (en) System event assisted live keyboard, video and mouse (kvm) capture
CN108509223B (zh) 一种数据处理方法、装置、系统及存储介质
JP5390651B2 (ja) 計算機システム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240412