(57)【要約】      （修正有）【課題】業務の進行を阻害することなく、設備の分析を行う。【解決手段】設備分析支援装置（エッジサーバ１６２０）は、複数の設備を用いて行われる業務を構成する各プロセスと、各プロセスにおいて設備にかかる制約との対応関係である設備制約情報を記憶する設備制約情報記憶部１６２２と、現在進行中の業務のプロセスの情報である業務プロセス情報を取得する業務プロセス情報取得部１６２４と、現在の業務の状態が変化したと判定した場合に、業務プロセス情報及び設備制約情報に基づき、変化した業務の状態において設備にかかる制約を特定し、特定した制約を満たす設備の分析処理の構成を生成する構成情報生成部１６２３と、生成した構成に基づき設備の分析に必要な処理を行う処理実行部１６２５とを備える。【選択図】図６
2020030725.tif 000002
【特許請求の範囲】
【請求項１】
複数の設備を用いて行われる業務を構成する各プロセスと、各プロセスにおいて前記設備にかかる制約との対応関係である設備制約情報を記憶する設備制約情報記憶部と、
現在進行中の前記業務のプロセスの情報である業務プロセス情報を取得する業務プロセス情報取得部と、
現在の業務の状態が変化したと判定した場合に、前記取得した業務プロセス情報及び前記設備制約情報に基づき、前記変化した業務の状態において前記設備にかかる制約を特定し、特定した制約を満たす設備の分析処理の構成を生成する構成情報生成部と、
前記生成した構成に基づき前記設備の分析に必要な処理を行う処理実行部と
を備える、設備分析支援装置。
【請求項２】
前記構成情報生成部は、現在の業務の状態が変化したと判定した場合に、前記設備の分析処理の構成として、前記設備の状態を示すデータを所定時間蓄積する処理の構成を生成する、
請求項１に記載の設備分析支援装置。
【請求項３】
前記構成情報生成部は、現在の業務の状態が変化したと判定した場合に、前記設備の分析処理の構成として、前記分析処理を停止させる処理の構成を生成する、
請求項１に記載の設備分析支援装置。
【請求項４】
前記構成情報生成部は、前記設備の分析処理の構成の候補を複数生成し、生成した候補のそれぞれについて、前記設備にかかる制約を満たす程度を示す評価値を算出し、算出した評価値が最も高い候補を、前記制約を満たす分析処理の構成として決定する、
請求項１に記載の設備分析支援装置。
【請求項５】
前記構成情報生成部は、複数の処理部から構成される前記分析処理において、各処理部の実行主体を規定した情報及び各処理部間のデータの転送経路を規定した情報を生成し、
前記処理実行部は、生成した前記実行主体及び前記転送経路に従い、前記設備の分析に必要な処理を行う、
請求項１に記載の設備分析支援装置。
【請求項６】
前記分析処理に課せられている制約の情報を取得する処理制約情報記憶部を備え、
前記構成情報生成部は、前記特定した前記設備にかかる制約と、前記分析処理の制約とを満たす前記分析処理の構成を生成する、
請求項１に記載の設備分析支援装置。
【請求項７】
前記設備制約情報の入力をユーザから受け付ける設備制約情報入力部を備える、請求項１に記載の設備分析支援装置。
【請求項８】
設備分析支援装置が、
複数の設備を用いて行われる業務を構成する各プロセスと、各プロセスにおいて前記設備にかかる制約との対応関係である設備制約情報を記憶する設備制約情報記憶処理と、
現在進行中の前記業務のプロセスの情報である業務プロセス情報を取得する業務プロセス情報取得処理と、
現在の業務の状態が変化したと判定した場合に、前記取得した業務プロセス情報及び前記設備制約情報に基づき、前記変化した業務の状態において前記設備にかかる制約を特定し、特定した制約を満たす設備の分析処理の構成を生成する構成情報生成処理と、
前記生成した構成に基づき前記設備の分析に必要な処理を行う処理実行処理と
を実行する、設備分析支援方法。
【請求項９】
前記設備分析支援装置が、
前記構成情報生成処理において、現在の業務の状態が変化したと判定した場合に、前記設備の分析処理の構成として、前記設備の状態を示すデータを所定時間蓄積する処理の構成を生成する、
請求項８に記載の設備分析支援方法。
【請求項１０】
前記設備分析支援装置が、
前記構成情報生成処理において、現在の業務の状態が変化したと判定した場合に、前記設備の分析処理の構成として、前記分析処理を停止させる処理の構成を生成する、
請求項８に記載の設備分析支援方法。
【請求項１１】
前記設備分析支援装置が、
前記構成情報生成処理において、前記設備の分析処理の構成の候補を複数生成し、生成した候補のそれぞれについて、前記設備にかかる制約を満たす程度を示す評価値を算出し、算出した評価値が最も高い候補を、前記制約を満たす分析処理の構成として決定する、
請求項８に記載の設備分析支援方法。
【請求項１２】
前記設備分析支援装置が、
前記構成情報生成処理において、複数の処理部から構成される前記分析処理において、各処理部の実行主体を規定した情報及び各処理部間のデータの転送経路を規定した情報を生成し、
前記処理実行部は、生成した前記実行主体及び前記転送経路に従い、前記設備の分析に必要な処理を行う、
請求項８に記載の設備分析支援方法。
【請求項１３】
前記設備分析支援装置が、
前記分析処理に課せられている制約の情報を取得する処理制約情報記憶処理を実行し、
前記構成情報生成処理において、前記特定した前記設備にかかる制約と、前記分析処理の制約とを満たす前記分析処理の構成を生成する、
請求項８に記載の設備分析支援方法。
【請求項１４】
前記設備分析支援装置が、
前記設備制約情報の入力をユーザから受け付ける設備制約情報入力処理を実行する、請求項８に記載の設備分析支援方法。
【請求項１５】
複数の設備を用いて行われる業務を構成する各プロセスと、各プロセスにおいて前記設備にかかる制約との対応関係である設備制約情報を記憶する設備制約情報記憶部と、
現在進行中の前記業務のプロセスの情報である業務プロセス情報を取得する業務プロセス情報取得部と、
現在の業務の状態が変化したと判定した場合に、前記取得した業務プロセス情報及び前記設備制約情報に基づき、前記変化した業務の状態において前記設備にかかる制約を特定し、特定した制約を満たす設備の分析処理の構成を生成する構成情報生成部と、
前記生成した分析処理の構成のうち、自身に割り当てられた、前記設備の分析に必要な構成に係る第１の処理を行う処理実行部と
を備える設備分析支援装置、及び、
前記生成した分析処理の構成のうち、前記第１の処理以外の、前記設備の分析に必要な構成に係る処理を行う処理実行部を備える情報処理システム
を含んで構成される、設備分析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設備分析支援装置、設備分析支援方法、及び設備分析システムに関する。
【背景技術】
【０００２】
様々な機器をインターネットへ接続するInternet of Things（ＩｏＴ）技術が注目を集めている。この一例として、工場内設備の故障の予兆を発見する診断のため、各設備から回収されたデータをインターネット経由でクラウドへ収集し、クラウド上のＩｏＴアプリケーション（ＩｏＴアプリ）で横断分析することが挙げられる。
【０００３】
このようなＩｏＴアプリに対応した機器（ＩｏＴ機器）は、例えば温度や圧力、振動等の様々なセンサデータをＩｏＴアプリに提供でき、これらのセンサデータは一旦、エッジサーバとよばれる機器を介して収集される。収集されたセンサデータには、例えば、データの整形、不要なデータを除去するクレンジング、及び、統計的な手法による集計及び分析といった前処理が施される。そして、この処理結果（処理済みデータ）が、クラウド上で動作するＩｏＴアプリによって活用される。
【０００４】
しかしながら、このようなデータ収集を行うアプリ及び工場内の既存設備は、互いの存在を想定していないことが多い。このため、例えば作業員は、工場内のManufacturing Execution System（ＭＥＳ）やProgrammable Logic Controller（ＰＬＣ）をＩｏＴアプリ
からのアクセスに対応させるため、これらをメンテナンスし又はこれらの各種パラメータを変更する必要がある。しかし、このような作業によって本来の業務（製品の生産等）を阻害されるおそれがある。この対応策として、ＭＥＳ等が持つデータベースの内容を複製する機器を導入することが考えられる。しかし、既存設備に対して新たな機材を導入するために工場の生産ラインを一時停止する必要が生じ、導入は困難な場合が多い。また、このような機器は金銭的（コスト的）な観点からの制約もある。したがって、各設備による本来業務を阻害せずに、アプリからの要求に応えることが好ましい。
【０００５】
この点、工場内の設備を監視する方法として、例えば特許文献１には、要求元からのアクセスに対し応答するフロントエンドと、応答するデータを保持するバックエンドを持つ分散システムにおいて、流量制御装置が、バックエンド負荷を監視、閾値を越えた場合、フロント／バックエンドの対応関係を示す構成管理テーブルを用い、フロントエンドを特定／流量制御する方法が開示されている。また、特許文献２には、ＰＬＣが加工機器の制御を確実に実施するため、ＰＬＣ内部を汎用プログラムOperating System（ＯＳ）と専用加工制御ＯＳに分離する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−２０８７４７号公報
【特許文献２】特開２０１５−１５６１８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の発明では、バックエンドの負荷に応じて流量制御を行うことで、バックエンドのシステムが過負荷状態になることを回避しつつ、要求元からのアクセスに応答することができる。しかし、設備のメンテナンスによって流量の負荷が変化しない場合が多く、このような場合は特許文献１の発明では適切な検知ができない。
【０００８】
また、特許文献２の発明によれば、同文献記載のＰＬＣにより当該ＰＬＣが本来果たすべき本来業務の遂行が保護される。しかし、そのような機能を有するＰＬＣを既存の環境に導入する作業は非常に煩雑となり、工場などの機器入れ替えの期間が長い環境ではそのような機能に対応していないＰＬＣが多い。
【０００９】
本発明はこのような現状に鑑みてなされたものであり、その目的は、業務の進行を阻害することなく、設備の分析を行うことが可能な設備分析支援装置、設備分析支援方法、及び設備分析システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するための、本発明の一つは、設備分析支援装置であって、複数の設備を用いて行われる業務を構成する各プロセスと、各プロセスにおいて前記設備にかかる制約との対応関係である設備制約情報を記憶する設備制約情報記憶部と、現在進行中の前記業務のプロセスの情報である業務プロセス情報を取得する業務プロセス情報取得部と、現在の業務の状態が変化したと判定した場合に、前記取得した業務プロセス情報及び前記設備制約情報に基づき、前記変化した業務の状態において前記設備にかかる制約を特定し、特定した制約を満たす設備の分析処理の構成を生成する構成情報生成部と、前記生成した構成に基づき前記設備の分析に必要な処理を行う処理実行部と
を備える。
【発明の効果】
【００１１】
本発明によれば、業務の進行を阻害することなく、設備の分析を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る設備分析システムの構成の一例を説明する図である。
【図２】本実施形態に係るアプリの構成の一例を説明する図である。
【図３】設備分析システムにおける各情報処理装置が備えるハードウェアの一例を説明する図である。
【図４】アプリの変更の一例を示す図である。
【図５】業務プロセス管理テーブルの一例を示す図である。
【図６】エッジサーバ、業務プロセス管理サーバ、操作端末、及びクラウドが備える機能の一例をそれぞれ説明する図である。
【図７】アプリ情報テーブルの一例を示す図である。
【図８】ノード管理テーブルの一例を示す図である。
【図９】設備制約情報テーブルの一例を示す図である。
【図１０】構成案テーブルの一例を示す図である。
【図１１】対策ノードテーブルの一例を示す図である。
【図１２】制御処理の一例を説明するフローチャートである。
【図１３】情報収集処理の一例を説明するフローチャートである。
【図１４】構成案生成処理の一例を説明するフローチャートである（前半）。
【図１５】構成案生成処理の一例を説明するフローチャートである（後半）。
【図１６】配置処理の一例を説明するフローチャートである。
【図１７】設備制約情報入力画面の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しつつ説明する。
＜システム構成＞
図１は、本実施形態に係る設備分析システム１の構成の一例を説明する図である。設備分析システム１は、工場１５００に設置されている設備１８２５に関する分析を行うシステムであり、所定の情報処理システムであるクラウド１０００と、所定の製品に対する塗
装を行う塗装ロボット１８２０を含む複数の設備１８２５と、設備１８２５の状態を示すデータをＭＥＳ１７００（Manufacturing Execution System：生産実行システム）と、収集したデータに基づき所定の分析処理を行うエッジサーバ１６２０（設備分析支援装置）と、ユーザ１５５０がエッジサーバ１６２０を操作するために使用する操作端末１６１０と、工場１５００内で行われている業務（例えば、設備１８２５を用いた各種業務）を管理する業務プロセス管理サーバ１６３０とを含んで構成されている。なお、クラウド１０００は、工場１５００内に設けられていても工場１５００外に設けられていてもよい。
【００１４】
設備１８２５は、工場１５００内の生産設備１８００に設けられている。なお、生産設備１８００には、設備１８２５を制御するＰＬＣ１８１０（Programmable Logic Controller：プログラマブルロジックコントローラ）が導入されている。
【００１５】
塗装ロボット１８２０を含む各設備１８２５には、当該設備１８２５の状態を示す温度や振動等を測定するセンサ１９１０が取り付けられ、設備１８２５はこのセンサ１９１０の測定データ（センサデータ）を随時取得し、取得したセンサデータを所定のタイミングでＰＬＣ１８１０に送信している。
【００１６】
ＭＥＳ１７００は、ＰＬＣ１８１０及び設備１８２５を制御する生産実行システムであり、製品の塗装、及びその製品に係る所定のパラメータを記憶している。なお、ＭＥＳ１７００、設備１８２５、及びＰＬＣ１８１０の間は、例えば、MECHATROLINK（登録商標）やCC-Link（登録商標）等のフィールドネットワーク１８３０を介して通信可能に接続さ
れている。
【００１７】
エッジサーバ１６２０、業務プロセス管理サーバ１６３０、及び操作端末１６１０は工場１５００内の管理設備１６００に設けられている。これらの装置は、所定のＩＴネットワーク１６４０によりＭＥＳ１７００と通信可能に接続している。
【００１８】
ここで、クラウド１０００及びエッジサーバ１６２０には、塗装ロボット１８２０を含む各設備１８２５に関する分析を行う所定のＩｏＴアプリ（ＩｏＴ：Internet of Things）（以下、アプリＡ１０００という。）が導入されている。
【００１９】
ここで、図２は、本実施形態に係るアプリＡ１０００の構成の一例を説明する図である。アプリＡ１０００は、複数の処理部（以下、ノードという。）によって構成されており、具体的には、センサデータ１９２０の収集を行う収集ノードＮ１３１０、収集ノードＮ１３１０が収集したセンサデータ１９２０を整形する処理を行う整形ノードＮ１３１１、及び整形ノードＮ１３１１が整形したデータに基づき、設備１８２５の故障の予兆を分析する処理を行う分析ノードＮ１３１２を含んで構成される。収集ノードＮ１３１０、整形ノードＮ１３１１、及び分析ノードＮ１３１２の間で送受信されるデータの経路は、転送経路Ｎ１３２０により規定されている。
【００２０】
そして、これらのノードは、エッジサーバ１６２０又はクラウド１０００のいずれかに配置される。なお、以下では、エッジサーバ１６２０に割り当てられるノードを第１の処理といい、クラウド１０００に割り当てられるノードを第２の処理という。
【００２１】
このようなアプリＡ１０００の構成の情報は、構成情報Ａ１１００として記憶されており、アプリＡ１０００はこの構成情報Ａ１１００に従って実行される。すなわち、構成情報Ａ１１００は、収集ノードＮ１３１０、整形ノードＮ１３１１、及び分析ノードＮ１３１２をそれぞれエッジサーバ１６２０又はクラウド１０００のいずれに配置するかを示す情報（配置情報）、及び、転送経路Ｎ１３２０の内容を記憶した情報（経路情報）を含む。
【００２２】
次に、図１に示すように、クラウド１０００は、自身に割り当てられたノード（第２の処理）を実行するノード実行サーバ１１００と、ネットワーク１０１０を介してノード実行サーバ１１００と通信可能に接続されている、各ノード間のデータ転送を行うＨｕｂサーバ１２００とを含んで構成されている。なお、クラウド１０００は、インターネットや専用回線等のネットワーク１６９０を介してエッジサーバ１６２０と通信可能に接続されている。
【００２３】
なお、図３は、設備分析システム１における各情報処理装置が備えるハードウェアの一例を説明する図である。各情報処理装置（クラウド１０００、エッジサーバ１６２０、操作端末１６１０、業務プロセス管理サーバ１６３０、ノード実行サーバ１１００、及びＨｕｂサーバ１２００）は、ＣＰＵ（Central Processing Unit）などの処理装置４１（プ
ロセッサ）と、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等の主記憶装置４２と、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の外部記憶装置からなる補助記憶装置４３と、キーボード、マウス、タッチパネル等からなる入力装置４４（Secure Shell（ＳＳＨ）等により遠隔操作される場合は不要）と、モニタ（ディスプレイ）などからなる出力装置４５とを備え、これらは内部バス等により接続される。なお、これらの情報処理装置は、物理的な計算機であっても、物理的な計算機上で動作する仮想的な計算機であってもよい。
【００２４】
＜機能＞
まず、設備分析システム１の機能の概要を説明する。
（概要）
工場１５００にて行われる製品の塗装業務プロセスの内容は随時変化し、これによりアプリＡ１０００の動作に制約が生じる場合がある。例えば、車両等のドアを赤色に塗装する業務が青色に塗装する業務に変化する場合、作業員等は、ＭＥＳ１７００のパラメータを、青色の塗装を塗装ロボット１８２０が実施するよう変更し、さらに塗装ロボット１８２０の動作テストを行う必要がある。このような業務プロセスの変化により、アプリＡ１０００がＭＥＳ１７００に対して要求できるセンサデータ１９２０の取得の頻度に制約が生じる。
【００２５】
本実施形態の設備分析システム１は、このように業務プロセスに変化が生じた場合（例えば、ＭＥＳ１７００のパラメータを変更し、設備１８２５の動作テストを行う場合）であっても分析処理を継続し、かつ当該業務にも障害が生じないようにすることができる。これにより作業員等は、パラメータの変更や動作テストを実行中に設備１８２５、ＭＥＳ１７００、又はＰＬＣ１８１０に対するアクセスを控える必要がなくなり、業務を円滑に遂行することが可能となる。
【００２６】
具体的には、本実施形態の設備分析システム１は、業務プロセス管理サーバ１６３０が業務プロセスの変化を監視し、業務プロセスの変化があったと判定した場合には、エッジサーバ１６２０が現在のアプリＡ１０００の構成を変更する。アプリＡ１０００の構成として複数の構成案がある場合、エッジサーバ１６２０は、各構成案の評価値を算出し、評価値が最も高い構成案によるアプリＡ１０００を構築する。
【００２７】
ここで、図４は、アプリＡ１０００の変更の一例を示す図である。変更前のアプリＡ１３００は、収集ノードＮ１３１０、整形ノードＮ１３１１、及び分析ノードＮ１３１２を備え、これらが順次実行される。他方、変更後のアプリＡ１４００は、収集ノードＮ１３１０及び整形ノードＮ１３１１の間に、後述する対策ノードＮ１３３０が追加され、収集ノードＮ１３１０、対策ノードＮ１３３０、整形ノードＮ１３１１、及び分析ノードＮ１３１２がこれらの順で実行される。
【００２８】
対策ノードＮ１３３０は、工場１５００内の各設備１８２５の利用制約を遵守するために、アプリＡ１０００に追加されるノードである。対策ノードＮ１３３０は、例えば、外部からからのセンサデータ１９２０の要求に対して、自身が事前に取得したセンサデータ１９２０を所定時間蓄積するキャッシュノード、又は、センサデータ１９２０を取得して行う分析処理を一時的に停止するキューイングノードである。
また、対策ノードＮ１３３０として、応答拒否ノードを追加する場合がある。応答拒否ノードは、アプリＡ１０００に対するアクセスを拒否するためのノードである。すなわち、応答拒否ノードは、アプリＡ１０００による分析処理を停止させるためのノードである。
【００２９】
（各情報処理装置の機能）
次に、各情報処理装置の機能について説明する。
図６は、業務プロセス管理サーバ１６３０、エッジサーバ１６２０、操作端末１６１０、及びクラウド１０００が備える機能の一例をそれぞれ説明する図である。
【００３０】
（業務プロセス管理サーバ）
まず、業務プロセス管理サーバ１６３０は、業務プロセス情報提供部Ｐ７０００、及び業務プロセス管理テーブルＴ２０００を備える。
【００３１】
業務プロセス情報提供部Ｐ７０００は、業務プロセス管理テーブルＴ２０００に記憶されている情報をエッジサーバ１６２０に送信する。業務プロセス情報提供部Ｐ７０００は、例えば、Application Programing Interface （ＡＰＩ）により実現される。
【００３２】
（業務プロセス管理テーブル）
図５は、業務プロセス管理テーブルＴ２０００の一例を示す図である。業務プロセス管理テーブルＴ２０００は、現在進行中の業務のプロセスの情報である業務プロセス情報を記憶している。すなわち、業務プロセス管理テーブルＴ２０００は、工場１５００内で実施している業務プロセス、及び実施予定の業務プロセスの情報を保持するテーブルである。
【００３３】
業務プロセス管理テーブルＴ２０００は、業務プロセス識別子が格納される業務プロセス識別子Ｔ２０１０、業務プロセス識別子Ｔ２０１０の項目が示す業務プロセス（以下、本段落において本プロセスという。）の名称が格納されるプロセスＴ２０２０、本プロセスで生産される製品の情報が格納される製品Ｔ２０３０、本プロセスが実施中であるかを示す情報である実施中フラグ（例えば、Ｙｅｓ／Ｎｏのような文字列、数値等で表現される）が格納される実施中フラグＴ２０４０、本プロセスの開始予定時刻が格納される開始予定時刻Ｔ２０５０、本プロセスの終了予定時刻が格納される終了予定時刻Ｔ２０６０の各項目を有する、１以上のレコードを有する。
【００３４】
（エッジサーバ）
エッジサーバ１６２０は、処理制約情報記憶部１６２１、設備制約情報記憶部１６２２、制御部Ｐ１０００、情報収集部Ｐ２０００、構成案生成部Ｐ３０００、ノード配置部Ｐ４０００、及び処理実行部１６２５を備える。また、エッジサーバ１６２０は、アプリ情報テーブルＴ１０００、ノード管理テーブルＴ３０００、設備制約情報テーブルＴ４０００、構成案テーブルＴ５０００、及び対策ノードテーブルＴ６０００を記憶している。
【００３５】
処理制約情報記憶部１６２１は、分析処理（アプリＡ１０００）に課せられている制約（以下、アプリ要件という。）の情報（以下、アプリ情報という。）を取得する。アプリ情報は、アプリ情報テーブルＴ１０００に記憶されている。また、アプリＡ１０００を構
成する処理部（ノード）の構成は、ノード管理テーブルＴ３０００に記憶されている。
【００３６】
設備制約情報記憶部１６２２は、複数の設備１８２５を用いて行われる業務を構成する各プロセスと、各プロセスにおいて設備１８２５にかかる制約との対応関係である設備制約情報を記憶する。設備制約情報は、設備制約情報テーブルＴ４０００に記憶されている。
【００３７】
制御部Ｐ１０００は、情報収集部Ｐ２０００、構成案生成部Ｐ３０００、ノード配置部Ｐ４０００、及び処理実行部１６２５の処理を制御する。
【００３８】
情報収集部Ｐ２０００は、構成案の生成に必要な情報を収集する。例えば、情報収集部Ｐ２０００は、業務プロセス情報取得部１６２４を備える。
【００３９】
業務プロセス情報取得部１６２４は、複数の設備１８２５を用いて行われている業務のプロセスの情報である業務プロセス情報を、業務プロセス管理サーバ１６３０から取得する。
【００４０】
構成案生成部Ｐ３０００は、情報収集部Ｐ２０００が収集した情報に基づき、アプリＡ１０００の構成に関する複数の構成案を生成する。生成した構成案は、構成案テーブルＴ５０００に記憶される。
【００４１】
構成案生成部Ｐ３０００は、構成情報生成部１６２３を備える。構成情報生成部１６２３は、現在の業務の状態が変化したと判定した場合に、業務プロセス情報及び設備制約情報に基づき、変化した業務の状態において設備１８２５にかかる制約を特定し、特定した制約を満たす設備１８２５の分析処理の構成（すなわち、アプリＡ１０００の構成案）を生成する。例えば、構成情報生成部１６２３は、稼動情報の変化に基づき、業務のプロセスが変化したと判定する。
【００４２】
具体的には、構成情報生成部１６２３は、複数の処理部（ノード）から構成される分析処理（アプリＡ１０００）において、各処理部の実行主体を規定した情報（すなわち、配置情報）及び各処理部間のデータの転送経路を規定した情報（すなわち、経路情報）を生成する。
【００４３】
また、構成情報生成部１６２３は、設備１８２５にかかる制約と、分析処理の制約（アプリ要件）とを満たす設備１８２５の分析処理の構成（アプリＡ１０００の構成等）を生成する。
【００４４】
また、構成情報生成部１６２３は、現在の業務の状態が変化したと判定した場合に、設備１８２５の分析処理（すなわち、アプリＡ１０００）の構成として、設備１８２５の状態を示すデータを所定時間蓄積する処理（すなわち、キャッシュノード）の構成を生成する。
また、構成情報生成部１６２３は、現在の業務の状態が変化したと判定した場合に、設備１８２５の分析処理（すなわち、アプリＡ１０００の処理）の構成として、分析処理を一時的に停止する処理（すなわち、キューイングノード）の構成を生成する。
なお、キャッシュノード及びキューイングノードの情報は、対策ノードテーブルＴ６０００に記憶されている。
【００４５】
さらに、構成情報生成部１６２３は、設備１８２５の分析処理（アプリＡ１０００）の構成の候補（すなわち、構成案）を複数生成し、生成した候補のそれぞれについて、設備１８２５にかかる制約（設備制約情報）を満たす程度を示す評価値を算出し、算出した評
価値が最も高い候補を、その制約を満たす分析処理の構成として決定する。
【００４６】
次に、ノード配置部Ｐ４０００は、構成案生成部Ｐ３０００が生成した構成案から決定した構成に基づき、アプリＡ１０００における各ノードをエッジサーバ１６２０又はクラウド１０００へ配置情報に従って配置し、また、アプリＡ１０００における経路情報を、エッジサーバ１６２０又はクラウド１０００に配置する。
【００４７】
処理実行部１６２５は、構成情報生成部１６２３が生成した構成に基づき設備１８２５の分析に必要な処理（すなわち、アプリＡ１０００の処理）を行う。すなわち、処理実行部１６２５は、構成情報生成部１６２３が生成した分析処理（アプリＡ１０００の処理）の構成のうち、自身に割り当てられた、設備１８２５の分析処理に必要な構成に係る処理（第１の処理）を行う。
【００４８】
具体的には、処理実行部１６２５は、Ｈｕｂ部Ｐ５０００及びノード実行部Ｐ６０００を備える。ノード実行部Ｐ６０００は、自身（エッジサーバ１６２０）に配置されたアプリＡ１０００の各ノードを実行する。Ｈｕｂ部Ｐ５０００は、当該アプリＡ１０００における経路情報に従って、各ノード間でのデータの転送を行う。このように、処理実行部１６２５は、構成情報生成部１６２３が生成した実行主体の情報（配置情報）及び転送経路の情報（経路情報）に従い、設備１８２５の分析に必要な処理（アプリＡ１０００の処理）を行う。
【００４９】
（アプリ情報テーブル）
図７は、アプリ情報テーブルＴ１０００の一例を示す図である。アプリ情報テーブルＴ１０００は、アプリ要件を保持するテーブルである。
【００５０】
アプリ情報テーブルＴ１０００は、テーブル項目として、アプリの識別子（例えば、数値）が格納されるアプリ識別子Ｔ１０１０、アプリ識別子Ｔ１０１０の項目が示すアプリＡ１０００（以下、本段落において本アプリという。）に付与された名称が格納される名称Ｔ１０２０（例えば設備分析システム１を利用するユーザが画面上で各アプリＡ１０００を区別する際に使用される）、本アプリが仕様として要求する要件（以下、アプリ要件という。）が格納される要件Ｔ１０３０（例えば、本アプリが設備１８２５からセンサデータ１９２０を収集してから全処理を完了するまでの時間に関する条件、データの転送遅延に関する要件、収集するセンサデータ１９２０の鮮度に関する情報等）、本アプリがエッジサーバ１６２０又はクラウド１０００のいずれかに配置済みであるか否かを示す情報（以下、配置済みフラグという。）が格納される配置済フラグＴ１０４０（例えば、Ｙｅｓ（未配置）／Ｎｏ（配置されている）等の文字列、数値その他の情報形式で格納される。）、本アプリが行うデータ転送の優先度が格納される優先度Ｔ１０５０の各項目を有する、少なくとも１以上のレコードで構成される。
【００５１】
（ノード管理テーブル）
図８は、ノード管理テーブルＴ３０００の一例を示す図である。ノード管理テーブルＴ３０００は、アプリＡ１０００のノードに関する情報を保持するテーブルである。
【００５２】
ノード管理テーブルＴ３０００は、テーブル項目として、ノードの識別子（例えば、数値）が格納されるノード識別子Ｔ３０１０、アプリＡ１０００の識別子が格納されるアプリ識別子Ｔ３０２０、ノード識別子Ｔ３０１０の項目が示すノード（以下、本段落において本ノードという。）の種別が格納されるノード種別Ｔ３０３０、本ノードへのデータの送信元のノードの識別子（本ノードがセンサデータ１９２０を収集するノード）の識別子が格納されるＩｎノードＴ３０４０、本ノードによるデータの送信先のノードの識別子が格納されるＯｕｔノードＴ３０５０、本ノードの配置先（エッジサーバ１６２０又はクラ
ウド１０００）に関する情報（配置情報）が格納される配置制約Ｔ３０６０、本ノードが設備１８２５からセンサデータ１９２０を収集する頻度（例えば、１秒毎、６０秒毎）の情報が格納される収集頻度Ｔ３０７０、及び、本ノードが設備１８２５から収集するセンサデータ１９２０のサイズ（例えば、ｂｙｔｅ単位で表現される）が格納されるデータサイズＴ３０８０の各項目を有する、１以上のレコードから構成される。
【００５３】
（設備制約情報テーブル）
図９は、設備制約情報テーブルＴ４０００の一例を示す図である。設備制約情報テーブルＴ４０００は、工場１５００内の各設備１８２５の設備制約情報を保持するテーブルである。
【００５４】
設備制約情報テーブルＴ４０００は、テーブル項目として、設備制約情報の識別子が格納される制約識別子Ｔ４０１０（例えば数値で表現）、制約識別子Ｔ４０１０の項目が示す制約（以下、本段落において本制約という。）の対象である業務プロセスの識別子（以下、業務プロセス識別子という。）が格納される業務プロセス識別子Ｔ４０２０、本制約の対象となる工場１５００内の設備１８２５の識別子（以下、設備識別子という。例えば、機器の名称。）が格納される設備情報Ｔ４０３０、業務プロセス識別子Ｔ４０２０の項目が示す業務プロセスにおいて設備情報Ｔ４０３０の項目が示す設備１８２５に関する制約の内容（例えば、ＭＥＳ１７００からのデータ収集の頻度は秒間１０リクエスト以下（１０ＲＰＳ以下））が格納される設備情報Ｔ４０３０の各項目を有する、１以上のレコードで構成される。
【００５５】
なお、設備制約情報テーブルＴ４０００は、業務プロセス管理サーバ１６３０により更新される。
【００５６】
（構成案テーブル）
図１０は、構成案テーブルＴ５０００の一例を示す図である。構成案テーブルＴ５０００は、テーブル項目として、配置情報及び経路情報を含む構成案の情報を保持するテーブルである。
【００５７】
構成案テーブルＴ５０００は、構成案の識別子（例えば、数値）が格納される構成案識別子Ｔ５０１０、構成案識別子Ｔ５０１０の項目が示す構成案（以下、本段落において本構成案という。）において、アプリＡ１０００に含まれるノードの配置場所（例えば、エッジサーバ１６２０やクラウド１０００）を示す情報（例えば、「アプリ１」に含まれる「ノード１」がエッジサーバ１６２０に配置される場合、「アプリ１：ノード１＝エッジ」として格納する）が格納される配置情報Ｔ５０２０、配置情報Ｔ５０２０の項目が示すアプリＡ１０００のノード間のデータ転送経路を特定する情報が格納される経路情報Ｔ５０３０（例えば、「アプリ１」に含まれる「ノード１」が「ノード２」にデータを送信し、データ転送のプロトコルとしてPublish/subscribe型のＭＱＴＴ（Message Queueing Telemetry Transport）を用いる場合、転送先となるエッジサーバ１６２０やクラウド１０
００のホストのＩＰアドレスと、トピックとよばれる識別子とが含まれる。）、本構成案の評価値（例えば、各構成案同士の相対的な評価値が格納される。「１００」のような数値であっても、Ｈｉｇｈ／Ｌｏｗのような文字列であってもよい。）が格納される評価値Ｔ５０５０の各項目を有する、１以上のレコードで構成される。
【００５８】
図１０の経路情報の例では、構成案「１」において、エッジサーバ１６２０に「アプリ１」の「ノード１」及び「ノード２」、「アプリ２」の「ノードＡ」及び「ノードＢ」がエッジサーバ１６２０に配置され、「ノード１」から「ノード２」にデータ転送され、「ノードＡ」から「ノードＢ」へデータが転送される。
【００５９】
（対策ノードテーブル）
図１１は、対策ノードテーブルＴ６０００の一例を示す図である。対策ノードテーブルＴ６０００は、対策ノードＮ１３３０の情報を保持するテーブルである。
【００６０】
対策ノードテーブルＴ６０００は、テーブル項目として、対策ノードＮ１３３０の識別子（例えば数値）が格納される対策ノード識別子Ｔ６０１０と、対策ノード識別子Ｔ６０１０の項目が示す対策ノードＮ１３３０（以下、本段落において本ノードという。）の種別が格納される対策ノード種別Ｔ６０２０（例えば、キャッシュ、キュー等の種別）、及び本ノードに関するパラメータ（例えば、キャッシュ時間やキューの長さ）が格納される対策ノードパラメータＴ６０３０の各項目を有する、１以上のレコードを有する。
【００６１】
なお、対策ノードテーブルＴ６０００の情報は、例えばユーザによって事前に作成されてもよいし、対策ノードＮ１３３０の情報を記憶したインターネット上のサーバから取得してもよいし、それ以外の方法で作成してもよい。
【００６２】
（操作端末）
次に、図６に示すように、操作端末１６１０は、入出力部Ｐ８０００を備える。入出力部Ｐ８０００は、ユーザからデータの入力を受け付け、また、様々な情報を画面に出力する。
入出力部Ｐ８０００は、設備制約情報入力部１６１１を備える。設備制約情報入力部１６１１は、設備制約情報の入力をユーザから受け付ける。
【００６３】
（クラウド）
次に、クラウド１０００は、処理実行部１００５を備える。処理実行部１００５は、エッジサーバ１６２０が生成した分析処理の構成のうち、第１の処理（エッジサーバ１６２０に配置されたノード）以外の、設備１８２５の分析に必要な構成に係る処理（クラウド１０００に配置されたノード。すなわち、第２の処理。）を行う。
【００６４】
具体的には、処理実行部１００５は、Ｈｕｂ部Ｐ１００及びノード実行部Ｐ２００を備える。ノード実行部Ｐ２００は、自身（クラウド１０００）に配置されたアプリＡ１０００の各ノードを実行する。Ｈｕｂ部Ｐ１００は、当該アプリＡ１０００における経路情報に従って、各ノード間でのデータの転送を行う。
【００６５】
以上に説明した各情報処理装置の機能は、各情報処理装置のハードウェアによって、もしくは、各情報処理装置の処理装置４１が主記憶装置４２や補助記憶装置４３に記憶されているプログラムを読み出して実行することによって実現される。また、これらのプログラムは、例えば、二次記憶デバイスや不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤなどの記憶デバイス、又は、ＩＣカード、ＳＤカード、ＤＶＤなどの、各情報処理装置で読み取り可能な非一時的データ記憶媒体に格納される。
【００６６】
＜処理＞
次に、設備分析システムにおいて行われる処理について説明する。
【００６７】
（制御処理）
図１２は、エッジサーバ１６２０が行う、センサデータ１９２０を収集してアプリＡ１０００を再構成する処理（以下、制御処理という。）の一例を説明するフローチャートである。この処理は、例えば、設備１８２５が稼働すると共に開始される。
【００６８】
まず、エッジサーバ１６２０の制御部Ｐ１０００は、アプリＡ１０００におけるノードの配置要求を全て取得する（Ｓ１２５０）。具体的には、例えば、制御部Ｐ１０００は、
アプリ情報テーブルＴ１０００において、配置済フラグＴ１０４０に「配置済み」が格納されているレコードを全て取得する。
【００６９】
次に、制御部Ｐ１０００は、Ｓ１２５０で取得したアプリ配置要求の情報が少なくとも１以上あるか否かを判断する（Ｓ１３００）。具体的には、例えば、制御部Ｐ１０００は、Ｓ１２５０において１以上のレコードを取得できたか否かを判断する。
【００７０】
ノードの配置要求が１以上あれば（Ｓ１３００：Ｙｅｓ）、Ｓ１４１０の処理が行われ、ノードの配置要求がなければ（Ｓ１３００：Ｎｏ）、Ｓ１３５０の処理が行われる。
【００７１】
Ｓ１３５０において制御部Ｐ１０００は、業務プロセス情報を取得する。具体的には、例えば、制御部Ｐ１０００は、業務プロセス管理テーブルＴ２０００において、実施中フラグＴ２０４０に「Ｙｅｓ」が格納されているレコードの情報を取得する。
【００７２】
そして、制御部Ｐ１０００は、業務プロセスに変化があったか否かを判定する（Ｓ１４００）。具体的には、例えば、制御部Ｐ１０００は、Ｓ１３５０で先に取得した業務プロセス情報の各レコードの業務プロセス識別子Ｔ２０１０の内容と、前回Ｓ１３５０で取得した業務プロセス情報の各レコードの業務プロセス識別子Ｔ２０１０の内容とで異なっている部分があるか否かを判定する。
【００７３】
業務プロセスに変化があった場合（Ｓ１４００：Ｙｅｓ）、Ｓ１４１０の処理が行われ、業務プロセスに変化がなかった場合（Ｓ１４００：Ｎｏ）、Ｓ１４９０の処理が行われる。
【００７４】
Ｓ１４９０において制御部Ｐ１０００は、Ｓ１３５０で取得した業務プロセス情報を記憶する。その後は、所定の停止要求が指定されるまでＳ１２００からの処理が繰り返される（Ｓ１５００）。停止要求は、例えばユーザが、制御処理の停止を要求する入力を行うことにより行われる。停止要求が指定された場合は、制御処理は終了する（Ｓ１６００）。
【００７５】
一方、Ｓ１４１０において制御部Ｐ１０００は、センサデータ１９２０及び整備制約情報を収集する処理（情報収集処理）を実行する（Ｓ１４１０）。そして、制御部Ｐ１０００は、収集したデータに基づき、構成案を生成する処理（構成案生成処理）を実行する（Ｓ１４２０）。
そして、制御部Ｐ１０００は、生成した構成案に基づき、アプリＡ１０００における各ノードの配置及び転送経路の情報を、エッジサーバ１６２０及びクラウド１０００に設定すると共に、この設定を行ったアプリＡ１０００を実行する処理（配置処理）を実行する（Ｓ１４３０）。その後は、Ｓ１４９０の処理が行われる。
【００７６】
なお、以上のＳ１２００〜Ｓ１５００までの処理の繰り返しの時間間隔は、例えば、エッジサーバ１６２０の処理能力及びリソースの負荷等の要素を考慮して決定され、例えば、１０ミリ秒、１００ミリ秒である。この時間間隔は、一定時間であっても、前記の要素等に基づいて、動的に変化させてもよい。
【００７７】
（情報収集処理）
図１３は、情報収集処理の一例を説明するフローチャートである。情報収集処理は、制御処理においてノードの配置の変更に必要な各種情報を収集する。
【００７８】
まず、エッジサーバ１６２０の情報収集部Ｐ２０００は、アプリＡ１０００に関する情報（アプリ情報）を全て収集する（Ｓ２１００）。具体的には、情報収集部Ｐ２０００は
、アプリ情報テーブルＴ１０００の全レコードを取得する。
【００７９】
次に、情報収集部Ｐ２０００は、各アプリＡ１０００におけるノードの情報を収集する（Ｓ２１５０）。具体的には、例えば、情報収集部Ｐ２０００は、ノード管理テーブルＴ３０００において、Ｓ２１００で収集した情報に対応するアプリＡ１０００の識別子がアプリ識別子Ｔ３０２０に格納されているレコードを全て取得する。
【００８０】
また、情報収集部Ｐ２０００は、業務プロセスに関する情報（業務プロセス情報）を業務プロセス管理サーバ１６３０から取得する（Ｓ２２００）。具体的には、例えば、情報収集部Ｐ２０００は、業務プロセス管理テーブルＴ２０００において、実施中フラグＴ２０４０に「Ｙｅｓ」が格納されているレコードを全て取得する。
【００８１】
そして、情報収集部Ｐ２０００は、Ｓ２２００で取得した業務プロセス情報が示す業務プロセスにおける、各設備１８２５の設備制約情報を取得する（Ｓ２３００）。具体的には、例えば、情報収集部Ｐ２０００は、設備制約情報テーブルＴ４０００において、Ｓ２２００で取得したレコードの業務プロセス識別子Ｔ２０１０と同じ識別子が業務プロセス識別子Ｔ４０２０に格納されているレコードを全て取得する。
【００８２】
情報収集部Ｐ２０００は、Ｓ２３００で取得した設備制約情報を制御処理に引き渡し、情報収集処理は終了する（Ｓ２５００）。
【００８３】
（構成案生成処理）
図１４、１５は、構成案生成処理の一例を説明するフローチャートである（紙面の都合上、２つに分けている）。構成案生成処理は、情報収集処理が収集したアプリ情報及び設備制約情報に基づき、各ノードの配置情報及びノード間の経路情報を構成案を生成する。
【００８４】
図１４に示すように、まず、エッジサーバ１６２０の構成案生成部Ｐ３０００は、情報収集処理でアプリ情報を収集したアプリＡ１０００に関する情報のうち一つのアプリＡ１０００を選択し、さらに、選択したアプリＡ１０００の各ノードの情報を取得する（Ｓ３１００）。具体的には、例えば、構成案生成部Ｐ３０００は、情報収集処理のＳ２１１０で取得したレコードの一つを選択する。そして、構成案生成部Ｐ３０００は、選択したレコードのアプリ識別子Ｔ１０１０と同じ内容がアプリ識別子Ｔ３０２０に格納されている、ノード管理テーブルＴ３０００のレコードを全て取得する。
【００８５】
そして、構成案生成部Ｐ３０００は、Ｓ３１００で取得した各ノードの配置先（エッジサーバ１６２０又はクラウド１０００）をそれぞれ決定する（Ｓ３１５０）。具体的には、例えば、構成案生成部Ｐ３０００は、Ｓ３１００で取得した各レコードの配置制約Ｔ３０６０の項目が示す場所を特定する。また、この際、構成案生成部Ｐ３０００は、各レコードのノード種別Ｔ３０３０、ＩｎノードＴ３０４０、及びＯｕｔノードＴ３０５０の内容を取得する。
【００８６】
構成案生成部Ｐ３０００は、Ｓ３１５０で決定した配置先に各ノードを配置したアプリＡ１０００の構成案を生成し、構成案テーブルＴ５０００に記録する（Ｓ３１６０）。具体的には、例えば、構成案生成部Ｐ３０００は、構成案テーブルＴ５０００の新たなレコードを生成し、生成したレコードの構成案識別子Ｔ５０１０に所定の値を設定し、さらにそのレコードの配置情報Ｔ５０２０に、Ｓ３１００及びＳ３１５０により決定した、各ノードの配置場所を格納し、そのレコードの経路情報Ｔ５０３０に、Ｓ３１５０で取得した各レコードのＩｎノードＴ３０４０及びＯｕｔノードＴ３０５０から算出される経路情報を格納する。なお、構成案生成部Ｐ３０００は、生成した構成案を構成案テーブルＴ５０００とは別途に記憶しておく。
【００８７】
構成案生成部Ｐ３０００は、以上のＳ３１５０〜Ｓ３１６０の処理を、情報収集処理で収集したアプリＡ１０００の全てについて実行することで、各アプリＡ１０００に対する構成案を生成する（Ｓ３１００、Ｓ３１７０）。
【００８８】
続いて、構成案生成部Ｐ３０００は、生成した各構成案に対して、対策ノードＮ１３３０を様々なパターンで追加した新たな構成案（以下、新構成案という。）を生成する（Ｓ３２００）。すなわち、構成案生成部Ｐ３０００は、各対策ノードＮ１３３０を、生成した各構成案中のいずれかのノード間に追加した構成案を生成する。
【００８９】
具体的には、例えば、構成案生成部Ｐ３０００は、Ｓ３１６０で生成した構成案テーブルＴ５０００から１つのレコードを選択し、選択したレコードの配置情報Ｔ５０２０及び経路情報Ｔ５０３０を参照することで、エッジサーバ１６２０に配置されるノード及びノード間の経路情報を特定する。また、構成案生成部Ｐ３０００は、対策ノードテーブルＴ６０００からレコードを全て取得し、取得したレコードのそれぞれについて、そのレコードが示す対策ノードを、前記で特定したエッジサーバ１６２０に配置される連続する２つのノード間（例えば、収集ノードＮ１３１０と整形ノードＮ１３１１の間）に挿入する構成案を生成する（なお、最初のノードの前、又は最後のノードの後に追加してもよい）。以上を、構成案テーブルＴ５０００の全レコードについて繰り返す。このようにして構成案生成部Ｐ３０００は、Ｓ３１６０で生成した各構成案に対して、全ての種類の対策ノードＮ１３３０を全てのノード間に配置した、全パターンの新構成案を生成する。これを全てのアプリＡ１０００について繰り返す。
【００９０】
なお、対策ノードを追加する際、構成案生成部Ｐ３０００は、同一の設備１８２５から同種のセンサデータ１９２０を収集するノードが複数存在する場合は、これら複数のノードを一つのノードとして新構成案を生成してもよい。
【００９１】
次に、図１５に示すように、構成案生成部Ｐ３０００は、Ｓ３２００で生成した新構成案のうち一つを選択する（Ｓ３３００）。具体的には、例えば、構成案生成部Ｐ３０００は、構成案テーブルＴ５０００のうち一つのレコードを選択する。
そして、構成案生成部Ｐ３０００は、選択した新構成案（以下、選択新構成案という。）が、設備制約情報の制約を満たしているか否かを判定する（Ｓ３３１０）。具体的には、例えば、構成案生成部Ｐ３０００は、選択新構成案の内容と、情報収集処理のＳ２３００で取得した設備制約情報に基づき、当該制約を満たしているか否かを判定する。
【００９２】
例えば、設備制約情報が、ＭＥＳ１７００からのデータ取得要求の頻度が秒間１０回以下であるとの情報を含んでいる場合、構成案生成部Ｐ３０００は、選択新構成案に含まれるノードのうち、ＭＥＳ１７００からセンサデータ１９２０を取得するノードを特定し、特定したノード識別子がノード識別子Ｔ３０１０の項目に記憶されているノード管理テーブルＴ３０００のレコードの収集頻度Ｔ３０７０が、前記の頻度を超えているか否かを判定する。
【００９３】
選択新構成案が設備制約情報の制約を満たしていない場合は（Ｓ３３１０：ＮＯ）、構成案生成部Ｐ３０００は、選択新構成案に対する評価値として、最低の値（例えば、０）を設定し、その後はＳ３３４０の処理が行われる。他方、選択新構成案が設備制約情報の制約を満たしている場合は（Ｓ３３１０：ＹＥＳ）、選択新構成案が全アプリＡ１０００のアプリ要件を満たしているか否かを判定する（Ｓ３３２０）。
【００９４】
具体的には、例えば、構成案生成部Ｐ３０００は、Ｓ３３００で選択したレコードの配置情報Ｔ５０２０及び経路情報Ｔ５０３０に基づき算出されるデータ転送に関する制約を
算出する。他方、構成案生成部Ｐ３０００は、アプリ情報テーブルＴ１０００から一つのレコードを選択し、選択したレコードの要件Ｔ１０３０を取得する。そして構成案生成部Ｐ３０００は、算出した制約が、前記取得した要件Ｔ１０３０が示す要件を満たしているか否かを判定する。構成案生成部Ｐ３０００はこの処理を、アプリ情報テーブルＴ１０００の全レコードについて行う。
【００９５】
選択新構成案が全アプリＡ１０００のアプリ要件を満たしている場合（Ｓ３３２０：Ｙｅｓ）、Ｓ３３３０の処理が行われ、新構成案が各アプリＡ１０００のアプリ要件のいずれかを満たしていない場合（Ｓ３３２０：Ｎｏ）、Ｓ３３２５の処理が行われる。
【００９６】
Ｓ３３２５において構成案生成部Ｐ３０００は、Ｓ３３２０で判定した、アプリ要件を満たしていないアプリＡ１０００に対して応答拒否ノードを挿入する。具体的には、例えば、構成案生成部Ｐ３０００は、選択新構成案に対し、アプリ要件が満たされなかったアプリＡ１０００の所定位置（例えば、最初のノード）に応答拒否ノードを挿入することで当該構成案を更新する。その後はＳ３３３０の処理が行われる。
【００９７】
なお、応答拒否ノードは、後続のノード（アプリＡ１０００）に対してデータを提供できないことを通知する。そして、この場合、構成案生成部Ｐ３０００は、挿入した応答拒否ノードに対して、後続するノード（アプリＡ１０００）に、現在の業務プロセスの開始時刻及び終了時刻の情報（業務プロセス管理テーブルＴ２０００の開始予定時刻Ｔ２０５０及び終了予定時刻Ｔ２０６０から取得する）を通知する機能を付与してもよい。
【００９８】
Ｓ３３３０において構成案生成部Ｐ３０００は、選択新構成案に対する評価値を算出する。具体的には、例えば、構成案生成部Ｐ３０００は、設備制約情報が示す制約に対する選択新構成案の余裕度、選択新構成案のアプリ要件に対する充足度、選択新構成案に基づきアプリＡ１０００を実行した際のエッジサーバ１６２０に対するリソース負荷、その他の指標等によって算出する。
【００９９】
構成案生成部Ｐ３０００は、Ｓ３３３０で算出した評価値を記録する（Ｓ３３４０）。具体的には、例えば、構成案生成部Ｐ３０００は、算出した評価値を、Ｓ３３００で選択したレコードの評価値Ｔ５０５０に格納する。なお、評価値Ｔ５０５０に格納される情報は構成案間の優劣が判定できるものであればよく、例えば、数値、Ｈｉｇｈ／Ｌｏｗのような文字列、その他の情報であってもよい。
【０１００】
構成案生成部Ｐ３０００は、以上のＳ３３１０〜Ｓ３３４０の処理を、Ｓ３２００で生成した新構成案の全てについて実行する（Ｓ３３００、Ｓ３３５０）。なお、構成案生成部Ｐ３０００は、Ｓ３３１０、Ｓ３３２０、及びＳ３３３０の処理をＳ３２００において行い、明らかに設備利用制約を充足しない構成案を新構成案の生成対象から除外するようにしてもよい。
【０１０１】
続いて、構成案生成部Ｐ３０００は、算出した各評価値のソートを行い、これに基づき最も評価値が高い構成案を特定する（Ｓ３４００）。具体的には、例えば、構成案生成部Ｐ３０００は、評価値Ｔ５０５０に評価値の情報が格納されている構成案テーブルＴ５０００の各レコードを、その評価値の昇順にソートする。そして構成案生成部Ｐ３０００は、ソートした各レコードに基づき、評価値Ｔ５０５０が示す評価値が最も高いレコードを特定する。
【０１０２】
そして、構成案生成部Ｐ３０００は、評価値が最も高い構成案を制御処理に引き渡し、構成案生成処理は終了する（Ｓ３５００）。具体的には、例えば、構成案生成部Ｐ３０００は、Ｓ３４００で特定したレコードの構成案の構成案識別子Ｔ５０１０の内容を制御処
理に引き渡す。なお、この際、構成案生成部Ｐ３０００は、この評価値が最も高い構成案を記憶してもよい。
【０１０３】
なお、構成案生成処理において生成される新構成案は、アプリＡ１０００の数、対策ノードの数、又はノード間の関係によっては膨大な数になるため、新構成案を生成する対象のアプリＡ１０００を限定してもよい。例えば、構成案生成部Ｐ３０００は、各アプリＡ１０００のうち、アプリ情報テーブルＴ１０００の優先度Ｔ１０５０の項目が示す優先度が低い（例えば、所定の閾値より低い）アプリＡ１０００に対応付けられた新構成案のみを作成するようにしてもよい。
【０１０４】
（配置処理）
図１６は、配置処理の一例を説明するフローチャートである。
エッジサーバ１６２０のノード配置部Ｐ４０００は、Ｓ３１６０で記憶しておいた、構成案生成処理によりした構成案の一つを選択すると共に、選択した構成案に対応する新構成案を構成案テーブルＴ５０００から取得する（Ｓ４１００）。
【０１０５】
ノード配置部Ｐ４０００は、選択した構成案と、取得した新構成案との差分を特定する（Ｓ４２００）。差分がある場合は（Ｓ４２００：ＹＥＳ）、Ｓ４３００の処理が行われ、差分がない場合は（Ｓ４２００：ＮＯ）、配置処理は終了する（Ｓ４５００）。
【０１０６】
Ｓ４３００においてノード配置部Ｐ４０００は、新構成案に従って、各アプリＡ１０００について、ノードの配置及び転送経路の設定を行う（Ｓ４３００）。
【０１０７】
具体的には、例えば、ノード配置部Ｐ４０００は、構成案テーブルＴ５０００の各レコードの配置情報Ｔ５０２０を選択して各アプリＡ１０００の各ノードの配置場所を取得し、その配置場所がエッジサーバ１６２０である場合は、エッジサーバ１６２０のノード実行部Ｐ６０００が当該ノードを実行するようにノード実行部Ｐ６０００を設定し、その配置場所がクラウド１０００である場合は、クラウド１０００のノード実行部Ｐ２００が当該ノードを実行するようにノード実行部Ｐ２００を設定する。
さらに、ノード配置部Ｐ４０００は、構成案テーブルＴ５０００の各レコードの経路情報Ｔ５０３０を選択して各アプリＡ１０００の各ノードの転送経路を取得し、そのノードの配置場所が前記でエッジサーバ１６２０と設定された場合は、エッジサーバ１６２０のＨｕｂ部Ｐ５０００に、当該転送経路によるデータ転送を行うよう設定し、当該ノードの配置場所が前記でクラウド１０００と設定された場合は、クラウド１０００のＨｕｂ部Ｐ１００に、当該転送経路によるデータ転送を行うよう設定する。
【０１０８】
そして、ノード配置部Ｐ４０００は、各アプリＡ１０００に対してノードの配置場所及び転送経路を設定した旨を記録する（Ｓ４４００）。具体的には、例えば、ノード配置部Ｐ４０００は、Ｓ４３００でノードの配置場所及び転送経路を設定したアプリＡ１０００の識別子がアプリ識別子Ｔ１０１０の項目に格納されている各レコードの配置済フラグＴ１０４０に、「Ｙｅｓ」を設定する。以上で配置処理は終了する（Ｓ４５００）。
【０１０９】
（設備制約情報入力画面）
図１７は、設備制約情報を入力するための画面（設備制約情報入力画面）の一例を示す図である。設備制約情報入力画面Ｇ１０００は、設備制約情報の入力を受け付ける設備制約情報入力欄Ｇ１１００と、入力した設備制約情報の内容を表示する設備制約情報表示欄Ｇ１２００とを備える。
【０１１０】
設備制約情報入力欄Ｇ１１００は、設備１８２５を選択する設備選択欄Ｇ１１１０と、業務プロセスを選択する業務プロセス選択欄Ｇ１１１５と、設備制約情報の具体的な内容
を入力する設備制約情報入力欄Ｇ１１２０と、入力又は選択されたこれらの情報をエッジサーバ１６２０に送信し、設備制約情報テーブルＴ４０００を更新する登録欄Ｇ１３００とを有する。
【０１１１】
なお、設備制約情報入力欄Ｇ１１２０は、一度に複数の設備制約情報を入力可能としてもよい。また、設備制約情報入力画面Ｇ１０００に、入力済みの設備制約情報を編集し、更新するための項目やボタンを設けてもよい。また、設備制約情報入力欄Ｇ１１２０に、設備制約情報テーブルＴ４０００の全て又は一部、及びその他の情報を表示する表示欄を設けてもよい。
【０１１２】
以上に説明したように、本実施形態の設備分析システム１では、エッジサーバ１６２０が、現在の業務の状態が変化したと判定した場合に、業務プロセス情報及び設備制約情報に基づき、変化した業務の状態において設備１８２５にかかる制約を満たす設備１８２５の分析処理の構成（アプリＡ１０００のノード構成）を生成し、生成した構成に基づき設備１８２５の分析に必要な処理を行うので、業務プロセスが変化して設備の制約に変更が生じたような場合であっても、その変化に対応したアプリＡ１０００の構成を生成し、これに応じた分析に必要な処理を行うので、業務プロセスが変化しても設備１８２５に影響を与えずに分析処理（ＩｏＴアプリによる分析）を行いつつ、業務プロセスを円滑に遂行することができる。例えば、ＩｏＴアプリがデータを収集する方法、経路、又はタイミングを適切に変更することができるで、既存の設備に想定しない負荷がかかることを回避し、円滑に業務を遂行することができる。このように、本実施形態の設備分析システム１（特にエッジサーバ１６２０）によれば、業務の進行を阻害することなく、設備の分析を行うことができる。
【０１１３】
以上の実施形態の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれる。
【０１１４】
例えば、本実施形態では、対象業務として塗装業務を例に挙げて説明したが、本発明が適用される業務はこれに限らず、各設備又は装置を用いる分野の業務、いわゆるＩｏＴ技術が適用な可能な分野に広く適用できる。
【０１１５】
以上の本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の設備分析システム１においては、前記構成情報生成部は、現在の業務の状態が変化したと判定した場合に、前記設備の分析処理の構成として、前記設備の状態を示すデータを所定時間蓄積する処理の構成を生成する、としてもよい。
【０１１６】
このように、分析処理（アプリＡ１０００）の構成として、キャッシュノードの構成を生成することで、業務プロセスの変化により、アプリＡ１０００によるＭＥＳ１７００を介したセンサデータ１９２０の取得が一時的に不可能となるような場合が生じても、キャッシュノードがセンサデータ１９２０を一時的に蓄積しておくことで、アプリＡ１０００がこのキャッシュノードからセンサデータ１９２０を取得し、設備１８２５の分析を継続することができる。
【０１１７】
また、本実施形態の設備分析システム１においては、前記構成情報生成部は、現在の業務の状態が変化したと判定した場合に、前記設備の分析処理の構成として、前記分析処理を停止させる処理の構成を生成する、としてもよい。
【０１１８】
このように、分析処理（アプリＡ１０００）の構成として、応答拒否ノードの構成を生成することで、業務プロセスの変化により、アプリＡ１０００によるＭＥＳ１７００を介
したセンサデータ１９２０の取得が一時的に不可能となるような場合に、アプリＡ１０００自身がセンサデータ１９２０の取得を停止し、設備１８２５やＭＥＳ１７００に起因する業務への負担を与えないようにすることができる。
【０１１９】
また、本実施形態の設備分析システム１においては、前記構成情報生成部は、前記設備の分析処理の構成の候補を複数生成し、生成した候補のそれぞれについて、前記設備にかかる制約を満たす程度を示す評価値を算出し、算出した評価値が最も高い候補を、前記制約を満たす分析処理の構成として決定する、としてもよい。
【０１２０】
このように、複数の構成案を作成し、このうち設備１８２５に対する制約を満たす構成をアプリＡ１０００の構成として決定することで、設備１８２５にかかる負荷、負担等を最小限に抑えることができる。
【０１２１】
また、本実施形態の設備分析システム１においては、前記構成情報生成部は、複数の処理部から構成される前記分析処理において、各処理部の実行主体を規定した情報及び各処理部間のデータの転送経路を規定した情報を生成し、前記処理実行部は、生成した前記実行主体及び前記転送経路に従い、前記設備の分析に必要な処理を行う、としてもよい。
【０１２２】
このように、実行主体及びデータの転送経路を規定した分析処理（アプリＡ１０００の処理）を実行することで、業務のプロセスに応じて処理負荷を分散し、その結果、業務を円滑に続行することができる。
【０１２３】
また、本実施形態の設備分析システム１においては、前記分析処理に課せられている制約の情報を取得する処理制約情報記憶部を備え、前記構成情報生成部は、前記特定した前記設備にかかる制約と、前記分析処理の制約とを満たす前記分析処理の構成を生成する、としてもよい。
【０１２４】
このように、設備制約情報及びアプリ情報による制約を満たす分析処理の構成（アプリＡ１０００の構成）を生成することで、設備１８２５に係る制約を満たしつつ、かつアプリＡ１０００の仕様等に対応した分析処理を行うことができる。これにより、様々な仕様を有するアプリＡ１０００（ＩｏＴアプリ）であっても、業務プロセスを阻害せずに分析処理を行うことができる。
【０１２５】
また、本実施形態の設備分析システム１においては、前記設備制約情報の入力をユーザから受け付ける設備制約情報入力部を備える、としてもよい。
【０１２６】
これにより、ユーザは設備１８２５にかかる様々な制約を設備分析システム１に設定することができる。
【０１２７】
また、本実施形態の設備分析システム１においては、複数の設備を用いて行われる業務を構成する各プロセスと、各プロセスにおいて前記設備にかかる制約との対応関係である設備制約情報を記憶する設備制約情報記憶部と、現在進行中の前記業務のプロセスの情報である業務プロセス情報を取得する業務プロセス情報取得部と、現在の業務の状態が変化したと判定した場合に、前記取得した業務プロセス情報及び前記設備制約情報に基づき、前記変化した業務の状態において前記設備にかかる制約を特定し、特定した制約を満たす前記設備の分析処理の構成を生成する構成情報生成部と、前記生成した分析処理の構成のうち、自身に割り当てられた、前記設備の分析に必要な構成に係る第１の処理を行う処理実行部とを備える設備分析支援装置、及び、前記生成した分析処理の構成のうち、前記第１の処理以外の、前記設備の分析に必要な構成に係る処理を行う処理実行部を備える情報処理システムを含んで構成される、としてもよい。
【０１２８】
このように、設備分析システム１において、エッジサーバ１６２０（設備分析支援装置）及びクラウド１０００（情報処理システム）のそれぞれが、自身に割り当てられたアプリＡ１０００の分析処理を行うことで、分析処理をそれぞれの特性に応じて効率よく行うことができる。
【符号の説明】
【０１２９】
１  設備分析システム、１６２０  エッジサーバ、１６２２  設備制約情報記憶部、１６２４  業務プロセス情報取得部、１６２３  構成情報生成部、１６２５  処理実行部、１８２５  設備
【図１】
2020030725.tif 000003
【図２】
2020030725.tif 000004
【図３】
2020030725.tif 000005
【図４】
2020030725.tif 000006
【図５】
2020030725.tif 000007
【図６】
2020030725.tif 000008
【図７】
2020030725.tif 000009
【図８】
2020030725.tif 000010
【図９】
2020030725.tif 000011
【図１０】
2020030725.tif 000012
【図１１】
2020030725.tif 000013
【図１２】
2020030725.tif 000014
【図１３】
2020030725.tif 000015
【図１４】
2020030725.tif 000016
【図１５】
2020030725.tif 000017
【図１６】
2020030725.tif 000018
【図１７】
2020030725.tif 000019