(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】装置、システム、方法およびプログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20240509BHJP
G05B 19/042 20060101ALI20240509BHJP
【FI】
G05B23/02 Z
G05B19/042
(21)【出願番号】P 2023195119
(22)【出願日】2023-11-16
【審査請求日】2023-11-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】山形 隆
(72)【発明者】
【氏名】坪田 一郎
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2010-257429(JP,A)
【文献】特表2023-505594(JP,A)
【文献】特開2016-170669(JP,A)
【文献】特開2009-163658(JP,A)
【文献】特開2017-111761(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 19/042
(57)【特許請求の範囲】
【請求項1】
第1サーバから取得されるコンテナイメージに対する設定データを記憶する記憶部と、
前記第1サーバから第1コンテナイメージ
および他のコンテナイメージを取得するコンテナ取得部と、
前記設定データを提供して前記第1コンテナイメージを実行し、設備の状態を示す第1状態データの取得を行うコンテナ型装置部を実現する
と共に、前記他のコンテナイメージを実行し、前記第1状態データに対してデータ処理を行って前記第1状態データに応じた第2状態データを生成するデータ処理部を実現する実行部と、
を備え
、
前記コンテナ型装置部は、取得した前記第1状態データを前記データ処理部に供給して第2状態データを取得する装置。
【請求項2】
前記設定データは、前記第1状態データの取得先のアドレスと、前記第1状態データの出力先である前記データ処理部の入力アドレスと、前記第2状態データの取得先である前記データ処理部の出力アドレスと、前記第2状態データの出力先のアドレスと、を含む、請求項1に記載の装置。
【請求項3】
前記コンテナ取得部は、前記第1コンテナイメージとは異なる第2コンテナイメージを前記第1サーバからさらに取得し、
当該装置は、
前記実行部に前記設定データを提供させて前記第2コンテナイメージを実行させて、前記第1コンテナイメージに基づく前記コンテナ型装置部を前記第2コンテナイメージに基づく前記コンテナ型装置部に更新するコンテナ更新部をさらに備える、請求項1に記載の装置。
【請求項4】
2つの前記コンテナ型装置部を備え、
前記コンテナ更新部は、
前記2つのコンテナ型装置部のうち、一方のコンテナ型装置部の更新が完了するまで、他方のコンテナ型装置部を動作状態に維持し、
前記一方のコンテナ型装置部の更新が完了したことに応じて、当該一方のコンテナ型装置部を動作させて、前記他方のコンテナ型装置部を更新する、請求項
3に記載の装置。
【請求項5】
前記コンテナ更新部は、前記一方のコンテナ型装置部の更新が完了し、かつ、前記他方のコンテナ型装置部が待機状態であることに応じて、前記他方のコンテナ型装置部を更新する、請求項
4に記載の装置。
【請求項6】
前記記憶部は、前記第1状態データをさらに記憶し、
前記コンテナ型装置部は、
前記第1状態データに応じた、前記設備の状態を示す第2状態データを第2サーバに送信し、
前記コンテナ更新部により前記コンテナ型装置部が更新されたことに応じて、前記記憶部に記憶された前記第1状態データのうち、前記コンテナ型装置部の更新中に記憶された前記第1状態データに応じた前記第2状態データを、前記コンテナ型装置部の更新後に前記第2サーバに送信する、請求項
3に記載の装置。
【請求項7】
前記コンテナ型装置部は、
前記設備から前記第1状態データを取得して前記記憶部に記憶させ、
現時点において前記設備から取得するべき前記第1状態データが最大データ量を超えていることに応じて、前記最大データ量以下のデータ量ずつ当該第1状態データを前記設備から取得する、請求項
6に記載の装置。
【請求項8】
前記コンテナ型装置部を介さずに前記第1状態データを取得して前記記憶部に記憶させるデータ格納部をさらに備え、
前記コンテナ型装置部は、前記記憶部に記憶された前記第1状態データに応じた、前記設備の状態を示す第2状態データを第2サーバに送信する、請求項1に記載の装置。
【請求項9】
前記コンテナ型装置部は、予め決められた内容の処理を、予め決められた時間帯に行い、
前記コンテナ更新部は、前記予め決められた時間帯とは異なる時間に前記コンテナ型装置部の更新を行う、請求項
3に記載の装置。
【請求項10】
前記第1サーバに前記第2コンテナイメージが有るか否かを検知する検知部をさらに備え、
前記コンテナ取得部は、前記検知部により前記第2コンテナイメージが検知されたことに応じて、当該第2コンテナイメージを取得する、請求項
3に記載の装置。
【請求項11】
請求項1から
10の何れか一項に記載の装置と、
前記第1状態データについて予め設定された設定値に応じて前記設備を制御するコントローラと、
ユーザ操作により指定される新たな設定値を、前記装置の前記コンテナ型装置部を介して前記コントローラに供給し、前記コントローラ内の前記設定値を前記新たな設定値に更新させるサーバと、
を備えるシステム。
【請求項12】
第1サーバから取得されるコンテナイメージに対する設定データを記憶する記憶段階と、
前記第1サーバから第1コンテナイメージ
および他のコンテナイメージを取得するコンテナ取得段階と、
前記設定データを提供して前記第1コンテナイメージを実行し、設備の状態を示す第1状態データの取得を行うコンテナ型装置部を実現する
と共に、前記他のコンテナイメージを実行し、前記第1状態データに対してデータ処理を行って前記第1状態データに応じた第2状態データを生成するデータ処理部を実現する実行段階と、
を備え
、
前記コンテナ型装置部は、取得した前記第1状態データを前記データ処理部に供給して第2状態データを取得する方法。
【請求項13】
コンピュータを、
第1サーバから取得されるコンテナイメージに対する設定データを記憶する記憶部と、
前記第1サーバから第1コンテナイメージ
および他のコンテナイメージを取得するコンテナ取得部と、
前記設定データを提供して前記第1コンテナイメージを実行し、設備の状態を示す第1状態データの取得を行うコンテナ型装置部を実現する
と共に、前記他のコンテナイメージを実行し、前記第1状態データに対してデータ処理を行って前記第1状態データに応じた第2状態データを生成するデータ処理部を実現する実行部と、
として機能させ
、
前記コンテナ型装置部は、取得した前記第1状態データを前記データ処理部に供給して第2状態データを取得するプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置、システム、方法およびプログラムに関する。
【背景技術】
【0002】
特許文献1~6には「上水道プラント、下水道プラント、各種の製造プラントなど、監視制御対象に指定されたプラント2を構成する各機器のセンサから出力される状態信号などを取り込んで、監視画面などを作成する処理、入力された制御内容に応じた制御信号を生成し、これを前記各機器に供給してプラント2の運転状態を制御する処理などを行う一般的なプラント監視制御装置3」(特許文献1の段落0014)等と記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特開平11-146466号公報
[特許文献2] 特開2021-149789号公報
[特許文献3] 特開2021-144629号公報
[特許文献4] 特開2021-196316号公報
[特許文献5] 特開2021-162459号公報
[特許文献6] 特開2022-007222号公報
【発明の概要】
【0003】
本発明の第1の態様においては、第1サーバから取得されるコンテナイメージに対する設定データを記憶する記憶部と、前記第1サーバから第1コンテナイメージを取得するコンテナ取得部と、前記設定データを提供して前記第1コンテナイメージを実行し、設備の状態を示す第1状態データの取得を行うコンテナ型装置部を実現する実行部と、を備える装置が提供される。
【0004】
上記の装置においては、前記コンテナ取得部は、前記第1コンテナイメージとは異なる第2コンテナイメージを前記第1サーバからさらに取得し、当該装置は、前記実行部に前記設定データを提供させて前記第2コンテナイメージを実行させて、前記第1コンテナイメージに基づく前記コンテナ型装置部を前記第2コンテナイメージに基づく前記コンテナ型装置部に更新するコンテナ更新部をさらに備えてよい。
【0005】
上記の装置は、2つの前記コンテナ型装置部を備え、前記コンテナ更新部は、前記2つのコンテナ型装置部のうち、一方のコンテナ型装置部の更新が完了するまで、他方のコンテナ型装置部を動作状態に維持し、前記一方のコンテナ型装置部の更新が完了したことに応じて、当該一方のコンテナ型装置部を動作させて、前記他方のコンテナ型装置部を更新してよい。
【0006】
上記の装置は、前記コンテナ更新部は、前記一方のコンテナ型装置部の更新が完了し、かつ、前記他方のコンテナ型装置部が待機状態であることに応じて、前記他方のコンテナ型装置部を更新してよい。
【0007】
コンテナ更新部を備える上記何れかの装置においては、前記記憶部は、前記第1状態データをさらに記憶し、前記コンテナ型装置部は、前記第1状態データに応じた、前記設備の状態を示す第2状態データを第2サーバに送信し、前記コンテナ更新部により前記コンテナ型装置部が更新されたことに応じて、前記記憶部に記憶された前記第1状態データのうち、前記コンテナ型装置部の更新中に記憶された前記第1状態データに応じた前記第2状態データを、前記コンテナ型装置部の更新後に前記第2サーバに送信してよい。
【0008】
上記の装置においては、前記コンテナ型装置部は、前記設備から前記第1状態データを取得して前記記憶部に記憶させ、現時点において前記設備から取得するべき前記第1状態データが最大データ量を超えていることに応じて、前記最大データ量以下のデータ量ずつ当該第1状態データを前記設備から取得してよい。
【0009】
コンテナ更新部を備える上記何れかの装置は、前記コンテナ型装置部を介さずに前記第1状態データを取得して前記記憶部に記憶させるデータ格納部をさらに備え、前記コンテナ型装置部は、前記記憶部に記憶された前記第1状態データに応じた、前記設備の状態を示す第2状態データを第2サーバに送信してよい。
【0010】
コンテナ更新部を備える上記何れかの装置においては、前記コンテナ型装置部は、予め決められた内容の処理を、予め決められた時間帯に行い、前記コンテナ更新部は、前記予め決められた時間帯とは異なる時間に前記コンテナ型装置部の更新を行ってよい。
【0011】
コンテナ更新部を備える上記何れかの装置は、前記第1サーバに前記第2コンテナイメージが有るか否かを検知する検知部をさらに備え、前記コンテナ取得部は、前記検知部により前記第2コンテナイメージが検知されたことに応じて、当該第2コンテナイメージを取得してよい。
【0012】
本発明の第2の態様においては、第1の態様の何れかの装置と、前記第1状態データについて予め設定された設定値に応じて前記設備を制御するコントローラと、ユーザ操作により指定される新たな設定値を、前記装置の前記コンテナ型装置部を介して前記コントローラに供給し、前記コントローラ内の前記設定値を前記新たな設定値に更新させるサーバとを備えるシステムが提供される。
【0013】
本発明の第3の態様においては、第1サーバから取得されるコンテナイメージに対する設定データを記憶する記憶段階と、前記第1サーバから第1コンテナイメージを取得するコンテナ取得段階と、前記設定データを提供して前記第1コンテナイメージを実行し、設備の状態を示す第1状態データの取得を行うコンテナ型装置部を実現する実行段階と、を備える方法が提供される。
【0014】
本発明の第4の態様においては、コンピュータを、第1サーバから取得されるコンテナイメージに対する設定データを記憶する記憶部と、前記第1サーバから第1コンテナイメージを取得するコンテナ取得部と、前記設定データを提供して前記第1コンテナイメージを実行し、設備の状態を示す第1状態データの取得を行うコンテナ型装置部を実現する実行部と、として機能させるプログラムが提供される。
【0015】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0016】
【
図2】実施形態に係るエッジ端末4を統合サーバ7等と共に示す。
【
図4】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の例を示す。
【発明を実施するための形態】
【0017】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0018】
(システム1の概要)
図1は、本実施形態に係るシステム1を示す。システム1は、1または複数の設備2と、コントローラ3と、エッジ端末4と、APサーバ5と、レポジトリサーバ6と、統合サーバ7と、シンクライアント8とを備える。なお、本図では一例として、一のサイト100(敷地とも称する)内に単一の設備2のみを図示しているが、一のサイト100内に複数の設備2が設けられてもよい。コントローラ3と、エッジ端末4とは、設備2の設置されたサイト100内に配置されてよい。
【0019】
((設備2))
各設備2は、統合サーバ7を介してシンクライアント8によって状態を監視されてよい。設備2は、1または複数の機器(図示せず)が備え付けられた施設や装置等であってよい。例えば、設備2は、プラントであってもよいし、複数の機器を複合させた複合装置であってもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。設備2に備え付けられる機器は器具、機械または装置等であり、いわゆるフィールド機器であってよい。例えば、機器は、圧力計、流量計(差圧流量計や電磁流量計)、温度センサ等のセンサであってもよいし、流量制御弁や開閉弁等のバルブであってもよいし、ファンやモータ、ポンプ、コンプレッサ等のアクチュエータであってもよいし、信号を伝送する伝送器であってもよい。各機器はコントローラ3によって制御されてよい。
【0020】
各センサは、設備2の状態を示す第1状態データ(操業データ、プロセスデータとも称する)を測定してよい。第1状態データは設備2の状態として、圧力や温度、pH、速度、流量などを示してもよいし、設備2による生産物の収量や、生産物に混入する不純物の割合などを示してもよい。各センサは、第1状態データをコントローラ3に供給してよい。
【0021】
((コントローラ3))
コントローラ3は、設備2を制御する。コントローラ3は、設備2の各センサから第1状態データを取得し、当該第1状態データに応じて設備2を制御してよい。例えば、コントローラ3は、何れかの第1状態データの値について予め設定された設定値(目標値とも称する)に応じて設備2を制御してよく、本実施形態では一例として、当該設定値と現在値との差分を低減するように設備2の各アクチュエータをフィードバック制御してよい。設定値はコントローラ3の記憶領域に記憶されていてよい。コントローラ3の記憶領域には、第1状態データの値の異常判定の閾値やヒステリシスの大きさ、各データについてのタグコメント、単位(工業単位、SI単位)などがさらに記憶されてもよい。コントローラ3は、一例として1秒周期で設備2を制御してよい。コントローラ3は、サイト100内に複数の設備2が設けられる場合には、サイト100内の各設備2を制御してよい。
【0022】
コントローラ3は、各設備2の各センサから取得した第1状態データをエッジ端末4に供給してよい。なお、コントローラ3とエッジ端末4とは、Vnet/IP(登録商標)等のネットワークで接続されてよい。Vnet/IP(登録商標)は、イーサネット(登録商標)をベースとしたネットワークであってよく、一例として1Gbpsの通信速度を有してよい。コントローラ3とエッジ端末4とは、ModbusやOPC-UA、STARDOM HSEなどの産業用通信プロトコルで通信を行ってよい。
【0023】
以上のコントローラ3は、例えば、DCS(Distributed Control System)における分散型の制御装置や、SCADA(Supervisory Control And Data Acquisition)であってよい。一例として、コントローラ3は、CENTUM(登録商標)VPやProSafe(登録商標)-RSであってよい。
【0024】
((エッジ端末4))
エッジ端末4は、コントローラ3により制御される各設備2の各センサから第1状態データを取得する。エッジ端末4は、コントローラ3を介して各設備2の第1状態データを取得してよい。
【0025】
エッジ端末4は、取得した第1状態データに応じた第2状態データをAPサーバ5に供給してよい。エッジ端末4は、例えば5~30秒の周期で第2状態データをAPサーバ5に送信してよい。第2状態データはサイト100内の設備2ごとのデータであってよく、設備2の状態を示してよい。第2状態データは、第1状態データと同じデータであってもよいし、異なるデータであってもよい。一例として、第2状態データは、第1状態データの分析結果を示すデータであってもよいし、第1状態データにデータ処理を行ったデータであってもよい。
【0026】
なお、エッジ端末4と、APサーバ5と、後述の統合サーバ7との間の通信は、VPN(Virtual Private Network)通信、ODBC(Open Database Connectivity)通信、OPC-UA通信、MQTT(Message Queuing Telemetry Transport)通信、HTTPS通信の何れかであってよく、通信データをJsonやApache Parquetのファイル形式で伝達してよい。通信データにはSSL(Secure Socket Layer)やTLS(Transport Layer Security)などの電子証明書が付されてもよい。これにより、エッジ端末4とAPサーバ5との間の通信はセキュリティ性が高められると共に、通信量およびレイテンシが軽減されてよい。エッジ端末4、統合サーバ7およびAPサーバ5の間の通信は、図示しない監視端末(セキュリティオペレーションセンターとも称する)によって監視されることにより、セキュリティが高められてもよい。エッジ端末4と、統合サーバ7と、APサーバ5との間の各通信は、単一の入力ポートおよび出力ポートを結ぶ単一の通信ケーブルを用いて行われてよく、監視端末による監視ポイントが当該入力ポートと出力ポートとの間に集約されてよい。
【0027】
((APサーバ5))
APサーバ5は、第2状態データに対する処理を行う。APサーバ5は、第2サーバの一例であり、エッジ端末4から第2状態データを取得して保存すると共に、統合サーバ7に供給する。APサーバ5は、例えば5~30秒の周期で第2状態データを統合サーバ7に供給してよい。APサーバ5は、第2状態データに基づいて、コントローラ3が設備2を制御するための設定値を生成し、第2状態データと併せて統合サーバ7に供給してよい。一例として、APサーバ5により生成される設定値は、設備2から排出される二酸化炭素を低減するため、或いは電力消費量を低減するために推奨される値であってよい。APサーバ5はホストハードウェアおよびOS上でコンテナイメージが実行されることで実現されるコンテナであってよい。APサーバ5と、後述のレポジトリサーバ6および統合サーバ7は、クラウドコンピューティングにより実現されてよい。
【0028】
((レポジトリサーバ6))
レポジトリサーバ6は、第1サーバの一例であり、エッジ端末4で実行される1または複数のコンテナイメージを記憶し、何れかのコンテナイメージをエッジ端末4に供給してよい。レポジトリサーバ6は、APサーバ5で実行される1または複数のコンテナイメージをさらに記憶し、何れかのコンテナイメージをAPサーバ5に供給してよい。
【0029】
本実施形態では一例としてレポジトリサーバ6は、エッジ端末4で実行されて後述のコンテナ型装置部4231(
図2参照)を実現するコンテナイメージ(装置部用のコンテナイメージとも称する)と、エッジ端末4で実行されて後述のデータ処理部4232(
図2参照)を実現するコンテナイメージ(処理部用のコンテナイメージとも称する)と、APサーバ5で実行されて不図示のコンテナを実現するコンテナイメージ(サーバ用のコンテナイメージとも称する)とを、別々の識別情報と対応付けて記憶してよい。レポジトリサーバ6は、装置部用、処理部用およびサーバ用の各コンテナイメージをデフォルトで1つずつ記憶してよく、少なくとも装置部用のコンテナイメージとして、異なるバージョンの1または複数のコンテナイメージをバージョン情報と対応付けてさらに記憶してよい。
【0030】
レポジトリサーバ6は、Docker(登録商標)レジストリであってもよく、コンテナイメージとしてDocker(登録商標)イメージを供給してもよい。レポジトリサーバ6内のコンテナイメージはDocker(登録商標)や、Portainer、HashiCorp Nomad、Azure(商標または登録商標)Edge Essentialsなどのコンテナ管理アプリケーションによって管理、編集されてよい。
【0031】
((統合サーバ7))
統合サーバ7は、各設備2の監視を支援する。統合サーバ7は、APサーバ5から供給される設備2ごとの第2状態データをシンクライアント8に供給することで、シンクライアント8による各設備2の監視を可能としてよい。
【0032】
統合サーバ7は、シンクライアント8を介したユーザ操作に応じて各設備2を制御してもよい。統合サーバ7は、コントローラ3が設備2を制御するための設定値を、第2状態データに基づいて生成してよい。統合サーバ7は、ユーザによる入力値に基づいて、設定値を生成してもよい。統合サーバ7により生成される設定値は、設備2を正常状態に維持するために推奨される値であってよい。統合サーバ7は、統合サーバ7またはAPサーバ5の少なくとも一方により生成された設定値をシンクライアント8に供給してよく、シンクライアント8を介してユーザにより指定される新たな設定値を、エッジ端末4を介してコントローラ3に供給し、コントローラ3内の設定値を当該新たな設定値に更新させてよい。このような設定値の更新によって統合サーバ7は設備2を制御してよい。統合サーバ7は、図示しない表示装置および入力装置と外部接続されてもよく、統合サーバ7またはAPサーバ5の少なくとも一方により生成された設定値を表示装置に表示させ、入力装置を介してユーザにより指定される新たな設定値を、エッジ端末4を介してコントローラ3に供給し、コントローラ3内の設定値を当該新たな設定値に更新させてもよい。統合サーバ7は、コントローラ3に設定値を更新させる場合は、更新させるべき設定値が取得されてコントローラ3が設定値を更新可能となり次第、即時に更新を実施せずに、シンクライアント8を介したユーザの承認操作を得た後に実施してもよい。本実施形態においては、このようにコントローラ3内の設定値の更新がユーザ操作に応じて行われるため、設定値が自動で更新されてしまう場合と比較して、設備2の運用への影響が低減される。これにより、設備2に経済的に許容しがたい損害が生じ得る設定値の設定を防止することができる。また、設定値の設定により設備2に対して微小な影響(一例として照明が数秒だけ消灯すること等)が生じ得る場合であっても、当該影響によるデメリットよりもメリットが大きいと予想される場合に、ユーザの承認操作によって設定値をコントローラ3に設定することができる。統合サーバ7は、一例として5秒周期で各設備2を制御してよい。統合サーバ7は、コントローラ3に記憶された第1状態データの値の異常判定の閾値やヒステリシスの大きさ、各データについてのタグコメント、または、単位(工業単位、SI単位)の少なくとも1つをユーザ操作に応じて変更してもよい。統合サーバ7は、コントローラ3に供給される設定値をAPサーバ5にも供給し、設備2の制御データとして記憶させてもよい。
【0033】
本実施形態に係る統合サーバ7は、設備2ごとの第2状態データや推奨される設定値を含むGUI画面をシンクライアント8に表示させ、GUI画面内で行われるユーザ操作に応じた処理を行ってよい。統合サーバ7は、ホストハードウェア上でソフトウェアが実行されることで実現される仮想マシン(VM(Virtual Machine))であってよい。
【0034】
((シンクライアント8))
シンクライアント8は、統合サーバ7から供給される設備2ごとの第2状態データを表示してよい。シンクライアント8は、統合サーバ7から供給される設定値をさらに表示してよく、ユーザ操作により何れかの設定値が使用対象として指定されることに応じて、指定された設定値を統合サーバ7に供給してよい。本実施形態においては一例として、シンクライアント8は、統合サーバ7から供給されるGUI画面を表示し、GUI画面内で行われるユーザ操作に応じた信号を統合サーバ7に供給してよい。GUI画面はHTMLで構成され、ウェブブラウザ上で動作してよい。
【0035】
なお、シンクライアント8と統合サーバ7とを接続するネットワークは、エッジ端末4とAPサーバ5および統合サーバ7とを接続するネットワークと同じであってもよいし、異なってもよい。シンクライアント8は、多重認証(MFA:Multi-Factor Authentication)を介して統合サーバ7にアクセスしてよい。
【0036】
(エッジ端末4)
図2は、本実施形態に係るエッジ端末4を統合サーバ7等と共に示す。なお、本図ではコントローラ3および設備2の図示を省略している。エッジ端末4は、装置の一例であってよく、ソフトウェア部42と、ハードウェア部41とを備える。
【0037】
((ソフトウェア部42))
ソフトウェア部42は、ハードウェア部41に各種のプログラムおよびデータが読み込まれることで実現される機能的部分であり、コンテナ型の階層化されたソフトウェア環境を提供する。ソフトウェア部42は、上位側(図中の下側)から下位側(図中の上側)に向かってOS421、コンテナランタイム(コンテナエンジンとも称する)422およびコンテナ群423を有する。また、ソフトウェア部42は、OS421の下位側にデータ格納部424、検知部425、コンテナ取得部426、実行制御部427をさらに有する。
【0038】
(((OS421)))
OS421は、ハードウェア部41上で実行される。OS421はLinux(登録商標)(一例としてubuntuなどのLinux(登録商標)ディストリビューション)であってもよいし、Windows(登録商標)であってもよいし、他の任意のOSであってもよい。
【0039】
(((コンテナランタイム422)))
コンテナランタイム422は、実行部の一例であり、コンテナイメージを実行して、コンテナ群423における後述のコンテナ型装置部4231およびデータ処理部4232を実現する。コンテナランタイム422は、コンテナイメージに対する設定データを提供して当該コンテナイメージを実行することにより、コンテナ型装置部4231を実現してよい。設定データを提供してコンテナイメージを実行するとは、コンテナランタイム422が設定データを取得してコンテナイメージに提供して、コンテナイメージを実行することであってもよいし、コンテナイメージが自動で読み出すよう予め定められた記憶領域に設定データを格納した状態で、コンテナイメージを実行することであってもよい。コンテナ型装置部4231を実現するための設定データは後述の記憶部411に予め記憶されたものであってよい。設定データについては、詳細を後述する。
【0040】
コンテナランタイム422は、レポジトリサーバ6から取得されたコンテナイメージを実行して、コンテナ群423におけるデータ処理部4232をさらに実現してもよい。データ処理部4232は、コンテナイメージとともにレポジトリサーバ6から供給される設定データを用いて実現されてもよいし、コンテナ型装置部4231と同様に、予め記憶部411に記憶された設定データを用いて実現されてもよい。
【0041】
コンテナランタイム422によるコンテナイメージの実行は後述の実行制御部427により制御されてよい。コンテナ型装置部4231およびデータ処理部4232については詳細を後述する。
【0042】
(((コンテナ群423)))
コンテナ群423は、レポジトリサーバ6から供給されるコンテナイメージがコンテナランタイム422により実行されて実現された1または複数のコンテナを有する。本実施形態に係るコンテナ群423は、コンテナ型装置部4231とデータ処理部4232とをコンテナとして有してよい。
【0043】
((((コンテナ型装置部4231))))
コンテナ型装置部4231は、レポジトリサーバ6から供給される装置部用のコンテナイメージが実行されることで実現されてよく、本実施形態では一例として第1コンテナイメージまたは第2コンテナイメージが実行されることで実現されてよい。第2コンテナイメージは第1コンテナイメージとは異なるコンテナイメージであってよく、第1コンテナイメージを更新したものであってよい。本実施形態においては一例として、コンテナ型装置部4231が既に実現されている場合には、そのコンテナイメージが第1コンテナイメージであってよく、当該第1コンテナイメージよりも新しいバージョンのコンテナイメージが第2コンテナイメージであってよい。
【0044】
コンテナ型装置部4231は、第1状態データの取得を行ってよい。本実施形態に係るコンテナ型装置部4231は、後述の記憶部411から設備2ごとに第1状態データを取得してよく、取得した第1状態データに応じた第2状態データをAPサーバ5に送信してよい。本実施形態においては一例として、第2状態データは、データ処理部4232に第1データを供給したことに応じてデータ処理部4232から供給されるデータであってよい。コンテナ型装置部4231は、取得した第1状態データをデータ処理部4232に供給し、データ処理部4232から第2状態データを取得して、APサーバ5に送信してよい。コンテナ型装置部4231は、例えば5~30秒の周期で第2状態データをAPサーバ5に送信してよい。コンテナ型装置部4231は、JsonやApache Parquetのファイル形式で第2状態データをAPサーバ5に送信してよい。
【0045】
コンテナ型装置部4231は、統合サーバ7から、何れかの第1状態データの値についての新たな設定値が供給されることに応じて、当該新たな設定値をコントローラ3に供給してよい。これにより、統合サーバ7から供給される新たな設定値はコンテナ型装置部4231を介してコントローラ3に供給され、コントローラ3内の設定値は、統合サーバ7から供給される新たな設定値に更新されてよい。
【0046】
((((データ処理部4232))))
データ処理部4232は、レポジトリサーバ6から供給される処理部用のコンテナイメージが実行されることで実現されてよい。データ処理部4232は、第1状態データを分析してよく、設備2の状態を示す分析結果を含む第2状態データを生成してよい。第2状態データは、分析結果に加えて、元の第1状態データそのものをさらに含んでもよいし、元の第1状態データから取捨選択された一部の第1状態データをさらに含んでもよい。
【0047】
例えば、データ処理部4232は、第1状態データが供給されることに応じて設備2の状態を示す指標値(ヘルスインデックスとも称する)を出力する学習モデルを有してよく、当該学習モデルに第1状態データを供給して出力される指標値を分析結果として取得してよい。学習モデルは、第1状態データと、設備の状態の良否を示すラベルとを含む学習データによって学習されてよい。データ処理部4232は、基準期間ごとに、当該期間内に取得された第1状態データと、ユーザによって第1状態データに付されたラベルとを含む学習データを用いて学習モデルの学習処理を行ってよい。データ処理部4232は、コンテナ型装置部4231から供給される第1状態データのうち、学習データに供した第1状態データを除外し、学習データに供していない第1状態データを取捨選択して第2状態データに含めてよい。データ処理部4232は、上述の特許文献2に開示の手法を用いて学習処理や分析、データの取捨選択を行ってよい。
【0048】
データ処理部4232は、コンテナ型装置部4231から供給される複数種類の第1状態データのうち、第1状態データの種類ごとに予め設定される優先度が高い(または低い)第1状態データを取捨選択して第2状態データに含めてもよい。データ処理部4232は、上述の特許文献3に開示の手法を用いてデータの取捨選択を行ってよい。
【0049】
データ処理部4232は、コンテナ型装置部4231から供給される複数種類の第1状態データのうち、他の種類の第1状態データから基準精度の範囲内で予測可能な種類の第1状態データを除外し、基準精度の範囲内で予測不能な種類の第1状態データを取捨選択して第2状態データに含めてもよい。データ処理部4232は、上述の特許文献4に開示の手法を用いてデータの取捨選択を行ってよい。
【0050】
データ処理部4232は、コンテナ型装置部4231から供給される第1状態データに代えて、第1状態データのビット幅を低減させてデータ量を低減したデータを、第2状態データに含めてもよい。データ処理部4232は、上述の特許文献5に開示の手法を用いてデータ量を減らしてよい。
【0051】
データ処理部4232は、コンテナ型装置部4231から供給される第1状態データに代えて、第1状態データの低周波成分を抽出したデータを第2状態データに含めてもよい。データ処理部4232は、上述の特許文献6に開示の手法を用いてデータ量を減らしてよい。
【0052】
(((データ格納部424)))
データ格納部424は、コンテナ型装置部4231を介さずに第1状態データを取得して後述の記憶部411に記憶させる。データ格納部424は、コントローラ3を介して設備2から第1状態データを取得してよい。データ格納部424は、第1状態データについての取得要求に応じて第1状態データを取得してよい。取得要求は、エッジ端末4内で例えば5~30秒の周期で自動的に生成されてよい。取得要求の対象とされる第1状態データの種類は周期毎に同じであってもよいし、異なってもよい。これに代えて、または、これに加えて、取得要求は、最新のデータが必要となった場合などに突発的に生成されてよく、一例として、エッジ端末4や統合サーバ7、シンクライアント8に対するに対するユーザ操作に応じて生成されてもよいし、APサーバ5や統合サーバ7での演算結果に応じて生成されてもよい。取得要求には、対象とされる第1状態データの範囲が含まれてよく、第1状態データの格納アドレスが含まれてもよいし、第1状態データの種類を示す識別情報が含まれてもよいし、第1状態データの測定タイミングを示す情報(一例として直近の測定タイミングを示す情報)が含まれてもよい。取得要求には、対象とする第1状態データのデータ量が含まれてもよい。データ格納部424は、予め定められた単位時間当たりの最大データ量を超えない範囲で設備2から第1状態データを取得してよい。データ格納部424は、第1状態データの総量が最大データ量を超えることに応じて、最大データ量以下のデータ量ずつ当該第1状態データを設備2から取得してよい。別言すれば、データ格納部424は、取得対象の第1状態データの総量が最大データ量を超える場合には、未取得の第1状態データを次回以降の周期で取得してよい。データ格納部424は、取得対象の第1状態データの総量を、取得要求を受信するごとに算出してよい。一例として、データ格納部424は、取得要求に含まれるデータ量から、取得対象の第1状態データの総量を検出してもよいし、取得要求に含まれるアドレスのデータ量から第1状態データの総量を検出してもよい。取得要求の対象とされた第1状態データのうち、未取得の第1状態データが存在する状態で新たな取得要求を受信した場合には、データ格納部424は、未取得の第1状態データを取得対象の第1状態データに含めて、第1状態データの総量を算出してよい。データ格納部424は、JsonやApache Parquetのファイル形式で第1状態データを記憶部411に記憶させてよい。
【0053】
(((検知部425)))
検知部425は、レポジトリサーバ6に装置用のコンテナイメージが有るか否かを検知する。検知部425は、エッジ端末4にコンテナ型装置部4231が実現されている場合には、当該コンテナ型装置部4231のコンテナイメージ(つまり第1コンテナイメージ)とは異なる第2コンテナイメージ(本実施形態においては一例として第1コンテナイメージより新しいバージョンの装置用のコンテナイメージ)がレポジトリサーバ6に有るか否かを検知する。検知部425は、レポジトリサーバ6に処理部用のコンテナイメージが有るか否かをさらに検知してもよい。検知部425は、レポジトリサーバ6に定期的にアクセスして装置用,処理部用のコンテナイメージの有無を検知してよい。検知部425は、レポジトリサーバ6にコンテナイメージが有ると検知したことに応じて、その旨の信号をコンテナ取得部426に供給してよい。
【0054】
(((コンテナ取得部426)))
コンテナ取得部426は、レポジトリサーバ6から装置部用のコンテナイメージを取得する。コンテナ取得部426は、エッジ端末4にコンテナ型装置部4231が実現されていない場合には、レポジトリサーバ6から第1コンテナイメージを取得してよい。コンテナ取得部426は、エッジ端末4にコンテナ型装置部4231が実現されている場合には、当該コンテナ型装置部4231のコンテナイメージ(つまり第1コンテナイメージ)とは異なる第2コンテナイメージをレポジトリサーバ6からさらに取得してよい。コンテナ取得部426は、検知部425により第2コンテナイメージが検知されたことに応じて、当該第2コンテナイメージを取得してよい。
【0055】
コンテナ取得部426は、レポジトリサーバ6から処理部用のコンテナイメージをさらに取得してよい。コンテナ取得部426は、取得した各コンテナイメージを実行制御部427に供給してよい。
【0056】
(((実行制御部427)))
実行制御部427は、コンテナランタイム422によるコンテナイメージの実行を制御する。実行制御部427は、コンテナランタイム422に設定データを提供させて第1コンテナイメージを実行させることで、コンテナ型装置部4231を実現させてよい。実行制御部427は、コンテナ更新部の一例であってよく、設定データを提供させて第2コンテナイメージを実行させることで、第1コンテナイメージに基づくコンテナ型装置部4231を第2コンテナイメージに基づくコンテナ型装置部4231に更新してよい。実行制御部427は、コンテナランタイム422に処理部用のコンテナイメージを実行させて、データ処理部4232をさらに実現させてよい。
【0057】
((ハードウェア部41))
ハードウェア部41は、エッジ端末4を物理的に構成する部分であり、PCであってもよいし、マイクロコントローラであってもよい。ハードウェア部41は、1または複数のCPU、1または複数のメモリおよび1または複数のストレージ等を有してよい。本実施形態では一例として、ハードウェア部41は、ストレージの1つとして記憶部411を有する。
【0058】
(((記憶部411)))
記憶部411は、種々の情報を記憶する。本実施形態に係る記憶部411は、設定データと、第1状態データとを記憶してよい。
【0059】
設定データは、レポジトリサーバ6から取得されるコンテナイメージ(本実施形態では一例として装置部用のコンテナイメージ)に対するデータである。設定データは、装置部用のコンテナイメージにより実現されるコンテナ型装置部4231に対してデータの入出力先を設定してよく、例えば第1状態データの入力先として、記憶部411内の各記憶領域のアドレスのうち、第1状態データが記憶される記憶領域のアドレスを設定してよい。設定データは、第1状態データの出力先として、後述のデータ処理部4232のアドレスを設定してよく、第2状態データの入力先として、データ処理部4232のアドレスを設定してよい。設定データは、第2状態データの出力先として、APサーバ5のアドレスを設定してよい。設定データは第1状態データの設定値の入力先として、統合サーバ7のアドレスを設定してよく、設定値の出力先として、コントローラ3における当該設定値の記憶領域のアドレスを指定してよい。但し、設定データによる設定内容はこれに限らず、コンテナ型装置部4231をエッジ端末4の構成に合わせてカスタマイズする他の内容であってもよい。
【0060】
第1状態データは、コントローラ3を介して設備2から取得されたデータであってよく、時系列順のヒストリカルデータとして記憶されてよい。本実施形態においては一例として、記憶部411内の第1状態データは、データ格納部424によって記憶部411に格納されてよい。
【0061】
以上のエッジ端末4によれば、コンテナイメージに対する設定データが記憶されており、設定データを提供して第1コンテナイメージが実行されることで、設備2の状態を示す第1状態データの取得を行うコンテナ型装置部4231が実現される。従って、汎用性を有する第1コンテナイメージを取得して、特定の設備2の第1状態データを取得するコンテナ型装置部4231を実現することができるため、設備2ごとにコンテナイメージを用意する場合と異なり、コンテナイメージを用意する手間を軽減することができる。また、レポジトリサーバ6からエッジ端末4に設定データを供給する場合と異なり、レポジトリサーバ6とエッジ端末4との通信の負荷を軽減することができる。
【0062】
また、設定データを提供して第2コンテナイメージが実行されて、第1コンテナイメージに基づくコンテナ型装置部4231が第2コンテナイメージに基づくコンテナ型装置部4231に更新されるので、レポジトリサーバ6に新たなコンテナイメージが用意される毎に、同じ設定データを用いてコンテナ型装置部4231を更新することができる。従って、更新される各コンテナイメージに対して設定データを用意してコンテナ型装置部4231を更新する場合と異なり、コンテナ型装置部4231の更新を容易化することができる。
【0063】
また、データ格納部424によってコンテナ型装置部4231を介さずに設備2の第1状態データが取得されて記憶部411に記憶されるので、コンテナ型装置部4231が更新される場合にも第1状態データを継続して記憶部411に記憶させることができる。また、第1状態データがコンテナ型装置部4231ではなく、記憶部411に記憶されるので、コンテナ型装置部4231の更新や削除によって第1状態データが削除されてしまうのを防止することができる。また、コンテナ型装置部4231は、記憶部411に記憶された第1状態データに応じた第2状態データをAPサーバ5に送信するので、コンテナ型装置部4231が第1状態データを記憶する場合と異なり、コンテナ型装置部4231の更新中の第1状態データを記憶部411から取得し、当該第1状態データに応じた第2状態データをAPサーバ5に送信することができる。
【0064】
また、検知部425により第2コンテナイメージが検知されたことに応じてコンテナ取得部426により第2コンテナイメージが取得されるので、コンテナ型装置部4231を速やかに更新することができる。
【0065】
(動作)
図3は、エッジ端末4の動作を示す。エッジ端末4は、ステップS101~S113の処理を行うことによりコンテナ型装置部4231の実現および更新を行いつつ、設備2の状態データをAPサーバ5に送信する。なお、本動作の開始時点においては予め記憶部411にコンテナイメージに対する設定データが記憶されていてよい。また、本動作と並行してデータ格納部424は設備2の各センサから第1状態データを取得して記憶部411に記憶させてよい。
【0066】
ステップS101においてコンテナ取得部426は、レポジトリサーバ6から第1コンテナイメージを取得する。コンテナ取得部426は、検知部425によりレポジトリサーバ6内で第1コンテナイメージが有ると検知されることに応じて当該第1コンテナイメージを取得してよい。
【0067】
ステップS103において実行制御部427は、コンテナランタイム422により記憶部411内の設定データを提供させて第1コンテナイメージを実行させることで、コンテナ型装置部4231を実現させてよい。
【0068】
ステップS105においてコンテナ型装置部4231は、記憶部411から第1状態データを取得すると共に、第1状態データに応じた第2状態データをデータ処理部4232から取得し、第2状態データをAPサーバ5に送信する。
【0069】
ステップS107において検知部425は、レポジトリサーバ6に第2コンテナイメージが有るか否かを検知する。第2コンテナイメージが無いと検知された場合(ステップS107;No)にはステップS105に処理が移行してよい。これにより、第2コンテナイメージが無い場合には、ステップS105の処理が5~10秒の周期で繰り返されてよい。第2コンテナイメージが有ると検知された場合(ステップS107;Yes)にはステップS109に処理が移行してよい。
【0070】
ステップS109においてコンテナ取得部426は、レポジトリサーバ6から第2コンテナイメージを取得する。
【0071】
ステップS111において実行制御部427は、コンテナランタイム422により設定データを提供させて第2コンテナイメージを実行させることで、コンテナ型装置部4231を実現させてよい。これにより、第1コンテナイメージに基づくコンテナ型装置部4231が第2コンテナイメージに基づくコンテナ型装置部4231に更新される。なお、本実施形態では一例として装置用のコンテナイメージは1ギガバイト程度の容量を有しており、コンテナ型装置部4231の更新は15~20分程度を要してよい。
【0072】
ステップS113において更新後のコンテナ型装置部4231は、記憶部411から第1状態データを取得すると共に、第1状態データに応じた第2状態データをデータ処理部4232から取得し、第2状態データをAPサーバ5に送信する。コンテナ型装置部4231は、ステップS111でのコンテナ型装置部4231の更新中に送信されるべきであった第2状態データをステップS113で送信してよい。例えば、コンテナ型装置部4231は、記憶部411に記憶された第1状態データのうち、ステップS111でのコンテナ型装置部4231の更新中に記憶された第1状態データに応じた第2状態データをAPサーバ5に送信してよい。一例として、コンテナ型装置部4231は、ステップS105の処理において記憶部411内の第1状態データのうち、読み出した第1状態データに逐次、ラベルを付けてよく、記憶部411内の第1状態データのうち、ラベルが付されていない第1状態データを、コンテナ型装置部4231の更新中に記憶された第1状態データとしてよい。ステップS113の処理が終了したら、上述のステップS107に処理が移行してよい。
【0073】
以上の動作によれば、コンテナ型装置部4231により第1状態データに応じた第2状態データがAPサーバ5に送信され、コンテナ型装置部4231が更新されたことに応じて、記憶部411に記憶された第1状態データのうち、コンテナ型装置部4231の更新中に記憶された第1状態データに応じた第2状態データがコンテナ型装置部4231の更新後にAPサーバ5に送信される。従って、コンテナ型装置部4231の更新によって送信されなかった第2状態データを、コンテナの更新後にAPサーバ5に送信することができる。よって、コンテナ型装置部4231の更新による第2状態データの欠落を防止することができる。
【0074】
(変形例)
なお、上記の実施形態においては、システム1はAPサーバ5およびシンクライアント8を備えることとして説明したが、これらの何れかを備えないこととしてもよい。システム1がAPサーバ5を備えない場合には、統合サーバ7が第2サーバであってよく、エッジ端末4のコンテナ型装置部4231は第2状態データを統合サーバ7に送信してよい。
【0075】
また、エッジ端末4はソフトウェア部42にデータ格納部424を有することとして説明したが、ハードウェア部41に有することとしてもよい。エッジ端末4は、ハードウェア部41に記憶部411を有することとして説明したが、ソフトウェア部42に有することとしてもよい。
【0076】
また、エッジ端末4はデータ処理部4232およびデータ格納部424を有することとして説明したが、これらの何れかを有しないこととしてもよい。エッジ端末4がデータ処理部4232を有しない場合には、コンテナ型装置部4231が第1状態データに応じた第2状態データを生成してよい。エッジ端末4がデータ格納部424を有しない場合には、コンテナ型装置部4231がデータ格納部424としても機能して、第1状態データを設備2から取得(一例としてコントローラ3を介して設備2から取得)して記憶部411に記憶させてよい。この場合には、記憶部411に記憶される設定データは、第1状態データの取得先のアドレスとして、コントローラ3において第1状態データが記憶されている記憶領域のアドレスを有してよい。コンテナ型記憶部4231がコントローラ3を介して設備2の各センサから第1状態データを取得する場合には、第1状態データの取得先のアドレスには、各センサで測定される第1状態データのデータアドレスが含まれてもよい。コンテナ型装置部4231は、データ格納部424と同様にして、第1状態データについての取得要求に応じて第1状態データを取得してよく、予め定められた単位時間当たりの最大データ量を超えない範囲で設備2から第1状態データを取得してよい。コンテナ型装置部4231は、第1状態データの総量が最大データ量を超えることに応じて、最大データ量以下のデータ量ずつ当該第1状態データを設備2から取得してよい。これにより、コンテナ型装置部4231の更新によって第1状態データの取得が中断し、未取得の第1状態データの総量が最大データ量を超える場合であっても、最大データ量を超える分の第1状態データを順次取得することができるため、コンテナ型装置部4231の更新によって、取得される第1状態データに欠落が生じてしまうのを防止することができる。
【0077】
また、実行制御部427は第2コンテナイメージが取得されたことに応じてコンテナ型装置部4231を更新することとして説明したが、他の条件でコンテナ型装置部4231を更新してもよい。例えば、コンテナ取得部426は、第2コンテナイメージを取得したことに応じて、その旨をユーザに報知してもよく、実行制御部427は、更新を指示する旨のユーザ操作が行われることに応じてコンテナ型装置部4231を更新してよい。コンテナ型装置部4231が予め決められた内容の処理を、予め決められた時間帯に行う場合には、実行制御部427は、当該時間帯とは異なる時間にコンテナ型装置部4231の更新を行ってもよい。例えば、コンテナ型装置部4231が12時間ごとに30分の時間をかけて処理を行う場合(一例として0時0分~0時30分、12時0分~12時30分の時間帯に処理を行う場合)には、処理が行われる時間帯の直後に更新が行われてもよいし、処理が行われる時間帯同士の中間の時間に更新が行われてもよい。これにより、コンテナ型装置部4231による処理中に当該コンテナ型装置部4231が更新されて処理が中断してしまうのを防止し、コンテナ型装置部4231による処理を確実に行うことができる。
【0078】
また、エッジ端末4は単一のコンテナ型装置部4231を有することとして説明したが、冗長化された2つのコンテナ型装置部4231を有してもよい。2つのコンテナ型装置部4231は、共通のコンテナランタイム422上で実現されてもよいし、別々のコンテナランタイム422上で実現されてもよい。これに代えて、システム1は冗長化された2つのエッジ端末4を単一のサイト100内に備えてもよく、各エッジ端末4はそれぞれ単一のコンテナ型装置部4231を有してもよい。
【0079】
コンテナ型装置部4231やエッジ端末4が冗長化される場合には、実行制御部427は、一方のコンテナ型装置部4231(コンテナ型装置部4231Aとも称する)の更新が完了するまで、他方のコンテナ型装置部4231(コンテナ型装置部4231Bとも称する)を動作状態に維持し、コンテナ型装置部4231Aの更新が完了したことに応じて、当該コンテナ型装置部4231Aを動作させてコンテナ型装置部4231Bを更新してよい。これにより、何れかのコンテナ型装置部4231を動作させつつコンテナ型装置部4231の更新を行うことができるため、コンテナ型装置部4231の更新により第1状態データの取得や、第2状態データの送信が止まってしまうのを防止することができる。エッジ端末4が冗長化される場合には、各エッジ端末4の実行制御部427は、互いに通信を行ってコンテナ型装置部4231の更新完了を通知してよい。
【0080】
実行制御部427は、コンテナ型装置部4231Aの更新が完了し、かつ、コンテナ型装置部4231Bが待機状態であることに応じて、コンテナ型装置部4231Bを更新してもよい。コンテナ型装置部4231が待機状態であるとは、第1状態データおよび第2状態データの取得、第2状態データの送信の何れの処理も行っていない状態であってよい。コンテナ型装置部4231Aの更新が完了した時点でコンテナ型装置部4231Bがこれらの何れかの処理を行っている場合には、実行制御部427は、当該処理が完了してコンテナ型装置部4231Bが待機状態となってから、コンテナ型装置部4231Bを更新してよい。これにより、コンテナ型装置部4231Bが処理を行っている期間に当該コンテナ型装置部4231Bが更新されて処理が中断してしまうのを防止することができる。
【0081】
実行制御部427は、更新されたコンテナ型装置部4231Aを動作状態に移行させ、動作状態のコンテナ型装置部4231Bが待機状態となってから、コンテナ型装置部4231Bの更新を行ってよい。更新されたコンテナ型装置部4231Aを動作状態に移行させるには一例として15秒程度の時間を要してよい。コンテナ型装置部4231A(または4231B)の更新中には、更新されていないコンテナ型装置部4231B(または4231A)によって第2状態データがAPサーバ5に送信されてよく、統合サーバ7からの設定値がコントローラ3に供給されてよい。
【0082】
実行制御部427は、各コンテナ型装置部4231A,4231Bの更新が完了したら、何れか一方のコンテナ型装置部4231(一例としてコンテナ型装置部4231A)を動作状態とし、他方のコンテナ型装置部4231(一例としてコンテナ型装置部4231B)を待機状態に維持してよい。待機状態のコンテナ型装置部4231は、動作状態のコンテナ型装置部4231の動作を監視してもよい。待機状態のコンテナ型装置部4231が動作状態のコンテナ型装置部4231の異常を検知した場合には、実行制御部427により動作状態のコンテナ型装置部4231と待機状態のコンテナ型装置部4231とが切り替えられてよい。
【0083】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0084】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0085】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0086】
コンピュータ可読命令は、コンピュータ等のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。ここで、コンピュータは、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、汎用コンピュータ、または特殊目的のコンピュータ等であってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このような複数のコンピュータが接続されたコンピュータシステムは分散コンピューティングシステムとも呼ばれ、広義のコンピュータである。分散コンピューティングシステムにおいては、複数のコンピュータのそれぞれがプログラムの一部ずつを実行し、必要に応じてコンピュータ間でプログラム実行中のデータを受け渡すことによって、複数のコンピュータが集合的に プログラムを実行する。
【0087】
プロセッサの例としては、コンピュータプロセッサ、中央処理装置(CPU)、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。コンピュータは、1つのプロセッサまたは複数のプロセッサを備えてよい。複数のプロセッサを備えるマルチプロセッサシステムにおいては、それぞれのプロセッサがプログラムの一部ずつを実行し、必要に応じてプロセッサ間でプログラム実行中のデータを受け渡すことによって、複数のプロセッサが集合的にプログラムを実行する。例えば、マルチタスクの実行において、複数のプロセッサのそれぞれは、タイムスライス毎にタスクスイッチすることにより各タスクの一部分ずつを細切れに実行してよい。この場合、各プロセッサが1つのプログラムのうちどの部分を実行するかは、動的に変化する。複数のプロセッサのそれぞれがプログラムのどの部分を実行するかは、マルチプロセッサを意識したプログラミングにより静的に定められてもよい。
【0088】
図4は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU1212によって実行されてよい。
【0089】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、グラフィックコントローラ1216、およびディスプレイデバイス1218を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、ハードディスクドライブ1224、DVD-ROMドライブ1226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータはまた、ROM1230およびキーボード1242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ1240を介して入/出力コントローラ1220に接続されている。
【0090】
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等またはそれ自体の中にCPU1212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0091】
通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ1226は、プログラムまたはデータをDVD‐ROM1201から読み取り、ハードディスクドライブ1224にRAM1214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0092】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。入/出力チップ1240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ1220に接続してよい。
【0093】
プログラムが、DVD-ROM1201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ1224、RAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0094】
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御下、RAM1214、ハードディスクドライブ1224、DVD‐ROM1201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0095】
また、CPU1212は、ハードディスクドライブ1224、DVD‐ROMドライブ1226(DVD-ROM1201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックする。
【0096】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0097】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0098】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0099】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0100】
1 システム
2 設備
3 コントローラ
4 エッジ端末
5 APサーバ
6 レポジトリサーバ
7 統合サーバ
8 シンクライアント
41 ハードウェア部
42 ソフトウェア部
100 サイト
411 記憶部
421 OS
422 コンテナランタイム
423 コンテナ群
424 データ格納部
425 検知部
426 コンテナ取得部
427 実行制御部
1200 コンピュータ
1201 DVD-ROM
1210 ホストコントローラ
1212 CPU
1214 RAM
1216 グラフィックコントローラ
1218 ディスプレイデバイス
1220 入/出力コントローラ
1222 通信インタフェース
1224 ハードディスクドライブ
1226 DVD-ROMドライブ
1230 ROM
1240 入/出力チップ
1242 キーボード
4231 コンテナ型装置部
4232 データ処理部
【要約】
【解決手段】 第1サーバから取得されるコンテナイメージに対する設定データを記憶する記憶部と、前記第1サーバから第1コンテナイメージを取得するコンテナ取得部と、前記設定データを提供して前記第1コンテナイメージを実行し、設備の状態を示す第1状態データの取得を行うコンテナ型装置部を実現する実行部と、を備え、前記コンテナ取得部は、前記第1コンテナイメージとは異なる第2コンテナイメージを前記第1サーバからさらに取得し、当該装置は、前記実行部に前記設定データを提供させて前記第2コンテナイメージを実行させて、前記第1コンテナイメージに基づく前記コンテナ型装置部を前記第2コンテナイメージに基づく前記コンテナ型装置部に更新するコンテナ更新部をさらに備える装置が提供される。
【選択図】
図2