(57)【特許請求の範囲】
【請求項１】
人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムがそれぞれインストールされる複数の信号処理装置を具備し、
前記複数の信号処理装置のそれぞれは、
記憶部と、
前記複数の信号処理装置と分散型ネットワークを形成する通信制御部と、
前記プログラムが実行する作業のスケジュールに関するスケジュール設定データを、前記複数の信号処理装置間で互いに承認し合いながら前記記憶部に記憶し、前記プログラムが作業を実行することで作成される作業結果に関する作業結果データを、前記複数の信号処理装置間で互いに承認し合いながら前記記憶部に記憶する記憶制御部と、
前記スケジュール設定データのうち、自装置に関するスケジュール設定データに基づいて、自装置にインストールされている前記プログラムに作業を実行させる管理部と
を備える監視統制システム。
【請求項２】
前記記憶制御部は、前記作業結果データを、前記複数の信号処理装置間で互いに承認し合いながら、同一の信号処理装置で生成された作業結果データに直列させて前記記憶部に記憶する請求項１記載の監視統制システム。
【請求項３】
前記記憶制御部は、前記複数の信号処理装置のいずれかで前記スケジュール設定データが更新されると、前記スケジュール設定データの更新に基づく更新データを、前記複数の信号処理装置間で互いに承認し合いながら前記記憶部に記憶し、前記複数の信号処理装置のいずれかで前記作業結果データが更新されると、前記作業結果データの更新に基づく更新データを、前記複数の信号処理装置間で互いに承認し合いながら前記記憶部に記憶する請求項１又は２記載の監視統制システム。
【請求項４】
前記記憶制御部は、前記作業結果データの更新に基づく更新データを、前記複数の信号処理装置間で互いに承認し合いながら、同一の信号処理装置の更新データに直列させて前記記憶部に記憶する請求項３記載の監視統制システム。
【請求項５】
前記複数の信号処理装置のそれぞれは、前記スケジュール設定データ及び前記作業結果データに基づいて、前記プログラムが実行する作業についての情報を表示する表示制御部を備える請求項１乃至４のいずれかに記載の監視統制システム。
【請求項６】
前記複数の信号処理装置のそれぞれは、前記作業結果データの更新が共有されたか否かを監視する監視部を備える請求項１乃至５のいずれかに記載の監視統制システム。
【請求項７】
前記スケジュール設定データは、前記プログラムが実行する作業の起動ルールの設定値に関するデータである請求項１乃至６のいずれかに記載の監視統制システム。
【請求項８】
前記人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムは、ＲＰＡ（Robotic Process Automation）を行うアプリケーション又はプログラムである請求項１乃至７のいずれかに記載の監視統制システム。
【請求項９】
人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムを記憶する記憶部と、
他の信号処理装置と分散型ネットワークを形成する通信制御部と、
前記プログラムが実行する作業のスケジュールに関するスケジュール設定データを前記他の信号処理装置間で互いに承認し合いながら前記記憶部に記憶し、前記プログラムが作業を実行することで作成される作業結果に関する作業結果データを前記他の信号処理装置間で互いに承認し合いながら前記記憶部に記憶する記憶制御部と、
前記スケジュール設定データのうち、自装置に関するスケジュール設定データに基づいて、自装置にインストールされている前記プログラムに作業を実行させる管理部と
を具備する信号処理装置。
【請求項１０】
前記記憶制御部は、前記他の信号処理装置のいずれかで前記スケジュール設定データが更新されると、前記スケジュール設定データの更新に基づく更新データを、前記他の信号処理装置間で互いに承認し合いながら前記記憶部に記憶し、前記他の信号処理装置のいずれかで前記作業結果データが更新されると、前記作業結果データの更新に基づく更新データを、前記他の信号処理装置間で互いに承認し合いながら前記記憶部に記憶する請求項９記載の信号処理装置。
【請求項１１】
人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムがそれぞれインストールされる複数の信号処理装置を備え、前記複数の信号処理装置は、記憶部と、インストールされている前記プログラムに作業を実行させる管理部とを有する、監視統制システムで用いられる監視統制方法であって、
前記複数の信号処理装置との間で分散型ネットワークを形成し、
前記複数の信号処理装置それぞれが有する記憶部に、前記プログラムが実行する作業のスケジュールに関するスケジュール設定データを、前記複数の信号処理装置間で互いに承認させ合いながら記憶し、
前記複数の信号処理装置それぞれが有する管理部により、前記スケジュール設定データのうち、各信号処理装置に関するスケジュール設定データに基づいて、各信号処理装置にインストールされている前記プログラムに作業を実行させ、
前記複数の信号処理装置それぞれが有する記憶部に、前記複数の信号処理装置にインストールされている前記プログラムが作業を実行することで作成される作業結果に関する作業結果データを、前記複数の信号処理装置間で互いに承認させ合いながら記憶する監視統制方法。
【請求項１２】
前記複数の信号処理装置のいずれかで前記スケジュール設定データが更新されると、前記スケジュール設定データの更新に基づく更新データを、前記複数の信号処理装置間で互いに承認させ合いながら、前記複数の信号処理装置それぞれが備える記憶部に記憶し、
前記複数の信号処理装置のいずれかで前記作業結果データが更新されると、前記作業結果データの更新に基づく更新データを、前記複数の信号処理装置間で互いに承認させ合いながら、前記複数の信号処理装置それぞれが備える記憶部に記憶する請求項１１記載の監視統制方法。
【請求項１３】
人間がコンピュータを操作して業務を遂行する手順に基づいて構築される処理プログラムがインストールされた信号処理装置のコンピュータで実行される監視統制プログラムであって、
他の信号処理装置との間で分散型ネットワークを形成する通信処理と、
前記処理プログラムが実行する作業のスケジュールに関するスケジュール設定データを、前記他の信号処理装置間で互いに承認し合いながら記憶部に記憶し、前記処理プログラムが作業を実行することで作成される作業結果に関する作業結果データを、前記他の信号処理装置間で互いに承認し合いながら前記記憶部に記憶する記憶処理と
前記スケジュール設定データのうち、自装置に関するスケジュール設定データに基づいて、自装置にインストールされている前記プログラムに作業を実行させる管理処理と
を前記コンピュータに実行させる監視統制プログラム。
【請求項１４】
前記記憶処理は、前記他の信号処理装置のいずれかで前記スケジュール設定データが更新されると、前記スケジュール設定データの更新に基づく更新データを、前記他の信号処理装置間で互いに承認し合いながら、前記記憶部に記憶し、前記他の信号処理装置のいずれかで前記作業結果データが更新されると、前記作業結果データの更新に基づく更新データを、前記他の信号処理装置間で互いに承認し合いながら、前記記憶部に記憶する請求項１３記載の監視統制プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、信号処理装置、監視統制システム、監視統制方法、監視統制プログラム、及び監視統制システムの製造方法に関する。
【背景技術】
【０００２】
近年、オフィスワークの効率化、及び自動化を図るため、ＲＰＡ（Robotic Process Automation）が注目されている。ＲＰＡは、例えば、ソフトウェアロボット（ＲＰＡアプリとも称される。）がコンピュータ上で動作することにより実現される。ソフトウェアロボットは、例えば、人間がコンピュータを操作して業務を遂行する手順に基づいて構築される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−７４８８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ソフトウェアロボットが搭載されるコンピュータが故障等した場合、故障したコンピュータに実装されるソフトウェアロボットにより実行されるはずであったジョブが実行されない。また、故障したコンピュータがスタンドアローンで運用されている場合には、ジョブが実行されていないことを外部から認識するのが困難である。
【０００５】
そこで、目的は、ソフトウェアロボットによるジョブの実行状況を監視し、ソフトウェアロボットを統制することが可能な信号処理装置、監視統制システム、監視統制方法、監視統制プログラム、及び監視統制システムの製造方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明に係る監視統制システムは、人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムがそれぞれインストールされる複数の信号処理装置を具備する。前記複数の信号処理装置のそれぞれは、記憶部、通信制御部、及び管理部を備える。記憶部は、前記プログラムの実行状況を管理するための管理データを記憶する。通信制御部は、前記複数の信号処理装置と分散型ネットワークを形成し、前記管理データを前記複数の信号処理装置間で共有する。管理部は、前記管理データに基づいて前記プログラムに作業を実行させる。
【０００７】
また、本発明に係る信号処理装置は、記憶部、通信制御部、及び管理部を具備する。記憶部は、人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムと、前記プログラムの実行状況を管理するための管理データとを記憶する。通信制御部は、他の信号処理装置と分散型ネットワークを形成し、前記管理データを、前記他の信号処理装置との間で共有する。管理部は、前記管理データに基づいて前記プログラムに作業を実行させる。
【０００８】
また、本発明に係る監視統制方法は、人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムがそれぞれインストールされる複数の信号処理装置を備える監視統制システムで用いられる。監視統制方法は、前記複数の信号処理装置それぞれが備える記憶部に、前記プログラムの実行状況を管理するための管理データを記憶するステップと、前記複数の信号処理装置との間で分散型ネットワークを形成するステップと、前記複数の信号処理装置のいずれかで前記管理データが更新されると、前記管理データの更新を、前記複数の信号処理装置間で共有するステップとを備える。
【０００９】
また、本発明に係る監視統制プログラムは、人間がコンピュータを操作して業務を遂行する手順に基づいて構築される処理プログラムがインストールされた信号処理装置のコンピュータで実行される。監視統制プログラムは、前記処理プログラムの実行状況を管理するための管理データを記憶部に記憶する記憶処理と、他の信号処理装置との間で分散型ネットワークを形成し、前記管理データを、前記他の信号処理装置間で共有する通信処理とを前記コンピュータに実行させる。
【００１０】
また、本発明に係る監視統制システムの製造方法は、人間がコンピュータを操作して業務を遂行する手順に基づいて構築される第１プログラムがそれぞれインストールされる複数の信号処理装置を備える監視統制システムを製造する方法である。監視統制システム製造方法は、前記第１プログラムの実行状況を管理するための管理データを、前記複数の信号処理装置間で互いに承認し合いながら、前記複数の信号処理装置の記憶部に記憶させるための第２プログラムを提供することと、前記管理データに基づいて前記第１プログラムに作業を実行させるための第３プログラムを提供することとを備える。
【発明の効果】
【００１１】
本発明に係る信号処理装置、監視統制システム、監視統制方法、監視統制プログラム、及び統制システムの製造方法によれば、ＲＰＡアプリによるジョブの実行状況を監視し、ＲＰＡアプリを統制できる。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１の実施形態に係る監視統制システムの構成例を表す模式図である。
【図２】図２は、図１に示される信号処理装置の機能構成の例を表すブロック図である。
【図３】図３は、図２に示されるＲＰＡ管理部によるＲＰＡアプリの動作管理の一例を表す模式図である。
【図４】図４は、図２に示されるスケジュール設定データのデータ構造の一例を表す模式図である。
【図５】図５は、図２に示される作業結果データのデータ構造の一例を表す模式図である。
【図６】図６は、図２に示される作業結果データのデータ構造のその他の例を表す模式図である。
【図７】図７は、図２に示される作業結果データのデータ構造のその他の例を表す模式図である。
【図８】図８は、図１に示される監視統制システムにおいてスケジュール設定データが共有される際の信号処理装置の動作の例を説明する図である。
【図９】図９は、図１に示される監視統制システムにおいて作業結果データが共有される際の信号処理装置の動作の例を説明する図である。
【図１０】図１０は、図１に示される監視統制システムにおいて異常が検知される際の信号処理装置の動作の例を表すフローチャートである。
【図１１】図１１は、図２に示される出力インタフェースに表示されるジョブ管理画面の一例を表す模式図である。
【図１２】図１２は、図２に示される出力インタフェースに表示されるジョブ管理画面のその他の例を表す模式図である。
【図１３】図１３は、図２に示される出力インタフェースに表示されるジョブ管理画面のその他の例を表す模式図である。
【図１４】図１４は、図２に示される出力インタフェースに表示されるジョブ管理画面のその他の例を表す模式図である。
【図１５】図１５は、図２に示される出力インタフェースに表示されるジョブ管理画面のその他の例を表す模式図である。
【図１６】図１６は、図２に示される出力インタフェースに表示されるジョブ管理画面のその他の例を表す模式図である。
【図１７】図１７は、図２に示される出力インタフェースに表示されるジョブ管理画面のその他の例を表す模式図である。
【図１８】図１８は、第２の実施形態に係る監視統制システムの構成例を表す模式図である。
【図１９】図１９は、図１８に示される信号処理装置の機能構成の例を表すブロック図である。
【図２０】図２０は、図１９に示されるスケジュール設定データのデータ構造の一例を表す模式図である。
【図２１】図２１は、図１９に示される作業結果データのデータ構造の一例を表す模式図である。
【図２２】図２２は、図１８に示される監視統制システムにおいてスケジュール設定データが共有される際の信号処理装置の動作の例を説明する図である。
【図２３】図２３は、図１８に示される監視統制システムにおいて作業結果データが共有される際の信号処理装置の動作の例を説明する図である。
【発明を実施するための形態】
【００１３】
以下、実施の形態について、図面を参照して説明する。
【００１４】
（第１の実施形態）  
〈システム構成〉
図１は、第１の実施形態に係る監視統制システム１の構成例を表す模式図である。図１に示される監視統制システム１は、ノードとして機能する信号処理装置１０−１〜１０−６を備える。
【００１５】
信号処理装置１０−１〜１０−６は、ネットワークにそれぞれ接続された、例えば、パーソナルコンピュータである。本実施形態では、ネットワークは、例えば、同一の組織内に敷設されるＬＡＮ（Local Area Network）である。信号処理装置１０−１〜１０−６は、ネットワークと、例えば、有線又は無線により接続されている。信号処理装置１０−１〜１０−６は、ピア・ツー・ピア方式を利用した分散型ネットワークを形成している。
【００１６】
信号処理装置１０−１〜１０−６は、少なくとも１つのＲＰＡ（Robotic Process Automation）アプリがそれぞれインストールされている。ＲＰＡアプリは、例えば、人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムである。なお、第１及び第２の実施形態において、この種のプログラムには、例えば、スクリプト（例えば、バッチファイル、ＪＡＶＡ（登録商標）スクリプト、又はＶＢスクリプト等）、又はマクロプログラム等も含まれ得る。信号処理装置１０−１〜１０−６は、インストールされているＲＰＡアプリに所定のジョブを実行させる。また、信号処理装置１０−１〜１０−６は、ＲＰＡアプリにより実行されるジョブの実行状況を監視する。第１及び第２の実施形態では、ＲＰＡアプリによりジョブが実行される場合を例に説明するが、信号処理装置１０−１〜１０−６にインストールされ、所定のジョブを実行するプログラムは、例えば、スクリプト（例えば、バッチファイル、ＪＡＶＡスクリプト、又はＶＢスクリプト等）、又はマクロプログラム等であっても構わない。つまり、ソフトウェアロボットには、例えば、ＲＰＡアプリ、スクリプト、又はマクロプログラム等が含まれ得る。
【００１７】
信号処理装置１０−１〜１０−６は、ＲＰＡアプリの実行状況を管理するための管理データを記憶している。管理データには、例えば、ＲＰＡアプリにより実行されるジョブのスケジュールに関する情報が含まれるスケジュール設定データ１２１と、ＲＰＡアプリがジョブを実行することで作成された作業結果が含まれる作業結果データ１２２とが含まれ得る。信号処理装置１０−１〜１０−６は、スケジュール設定データ１２１、及び作業結果データ１２２等に基づき、ＲＰＡアプリによるジョブの実行を管理する。スケジュール設定データ１２１及び作業結果データ１２２は、信号処理装置１０−１〜１０−６間で、ピア・ツー・ピア方式を利用して共有される。
【００１８】
なお、監視統制システム１の構成は、図１に示されるものに限定されない。例えば、監視統制システム１が備える信号処理装置１０の台数は、６台に限定されず、２台以上であれば何台でも構わない。また、監視統制システム１は、ＲＰＡアプリのバージョンを管理する管理サーバを備えていても構わない。信号処理装置１０−１〜１０−６は、例えば、管理サーバから送信される最新バージョンのＲＰＡアプリを受信してインストールする。
【００１９】
〈信号処理装置の構成〉
図２は、図１に示される信号処理装置１０の機能構成の例を表すブロック図である。なお、図１では、信号処理装置１０−１〜１０−６が存在するが、信号処理装置１０−１〜１０−６の構成は同一でも構わない。そこで、図２では、信号処理装置１０として説明する。
【００２０】
図２に示される信号処理装置１０は、例えば、処理部１１、記憶部１２、入力インタフェース１３、出力インタフェース１４、及び通信インタフェース１５を備える。処理部１１、記憶部１２、入力インタフェース１３、出力インタフェース１４、及び通信インタフェース１５は、例えば、バスを介して互いに通信可能に接続されている。
【００２１】
処理部１１は、例えば、ＣＰＵ（Central Processing Unit）、ＣＰＵが処理を実行する際に主記憶装置として用いるＲＡＭ（Random Access Memory）により構成される。ＣＰＵは、例えば、記憶部１２に記憶されているプログラムをＲＡＭに読み込み実行することで、プログラムに対応する種々の機能を実現する。
【００２２】
記憶部１２は、種々の情報を記憶するＨＤＤ（hard disk drive）、及びＳＳＤ（solid state drive）等の不揮発性の記憶回路を備える、いわゆる補助記憶装置である。なお、記憶部１２は、ＣＤ−ＲＯＭ、ＤＶＤ、及びフラッシュメモリ等の可搬性記憶媒体との間で種々の情報を読み書きする駆動装置等であってもよい。
【００２３】
記憶部１２は、本実施形態に係るプログラム、例えば、監視統制プログラムを記憶している。また、記憶部１２は、自装置に割り当てられたジョブを実行するためのＲＰＡアプリに関するプログラムを記憶している。なお、監視統制プログラム、及びＲＰＡアプリに関するプログラムは、例えば、記憶部１２に予め記憶されていてもよい。また、例えば、非一過性の記憶媒体に記憶されて配布され、非一過性の記憶媒体から読み出されて記憶部１２にインストールされてもよい。また、監視統制プログラムは、図示しない所定のサーバからダウンロードされてインストールされてもよい。また、ＲＰＡアプリに関するプログラムは、図示しない管理サーバからダウンロードされてインストールされてもよい。
【００２４】
また、記憶部１２は、スケジュール設定データ１２１を記憶している。スケジュール設定データ１２１には、例えば、監視統制システム１に含まれる信号処理装置１０−１〜１０−６のＲＰＡアプリにより実行される全てのジョブのスケジュールに関する情報が含まれている。スケジュール設定データ１２１は、処理部１１からの制御により更新される。
【００２５】
また、記憶部１２は、作業結果データ１２２−１〜１２２−６を記憶している。作業結果データ１２２−１〜１２２−６それぞれには、例えば、信号処理装置１０−１〜１０−６それぞれで生成された作業結果に関する情報が含まれている。作業結果データ１２２−１〜１２２−６は、処理部１１からの制御により更新される。
【００２６】
なお、記憶部１２には、下記のデータが記憶されていてもよい。すなわち、記憶部１２には、例えば、ジョブマスタの設定に関する情報が含まれるジョブ設定データ、ＲＰＡアプリのバージョンに関する情報が含まれるジョブバージョン管理データ、ＲＰＡアプリの利用が許諾されているアカウントに関する情報が含まれるアカウント管理データ、報告の通知先に関する情報が含まれる通知先管理データ、監視統制システム１を構成する端末に関する情報が含まれる端末管理データ、及びＲＰＡアプリの設定に関する情報が含まれるＡｐｐ設定データが含まれ得る。
【００２７】
入力インタフェース１３は、例えば、マウス、キーボード、及び、操作面へ触れることで指示が入力されるタッチパネル等により実現される。入力インタフェース１３は、操作者からの入力指示を電気信号へ変換し、電気信号を処理部１１へ出力する。なお、入力インタフェース１３は、マウス、及びキーボード等の物理的な操作デバイスに限定されない。入力インタフェース１３には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【００２８】
出力インタフェース１４は、例えば、表示機器、及び印刷機器等により実現される。表示機器としては、例えば、液晶ディスプレイ、有機ＥＬディスプレイ、ＬＥＤディスプレイ、プラズマディスプレイ、及びＣＲＴディスプレイ等、任意のディスプレイが利用可能である。表示機器は、表示対象についての画像データを表示する。印刷機器は、例えば、プリンタである。印刷機器は、印刷対象についての画像データを所定用紙に印刷する。なお、出力インタフェース１４は、表示機器、及び印刷機器等の物理的な出力装置に限定されない。出力インタフェース１４には、例えば、外部の出力装置へ画像データを送信する送信ポートが含まれてもよい。
【００２９】
通信インタフェース１５は、例えば、ネットワークと接続する回路により実現される。通信インタフェース１５は、ネットワークを介し、他の信号処理装置１０のうち、少なくともいずれかと通信する。
【００３０】
図２に示される処理部１１は、記憶部１２に記憶されているプログラムを実行することで、当該プログラムに対応する機能を実現する。例えば、処理部１１は、プログラムを実行することで、記憶制御部１１１、ＲＰＡ管理部１１２、通信制御部１１３、表示制御部１１４、及び監視部１１５の機能を実現する。
【００３１】
図２に示される処理部１１は、複数のＣＰＵが組み合わされて形成されていても構わない。すなわち、図２に示される記憶制御部１１１、ＲＰＡ管理部１１２、通信制御部１１３、表示制御部１１４、及び監視部１１５は、例えば、各ＣＰＵがプログラムを実行することで実現されても構わない。
【００３２】
また、処理部１１は、記憶制御部１１１、ＲＰＡ管理部１１２、通信制御部１１３、表示制御部１１４、及び監視部１１５の機能をそれぞれ有する専用のハードウェア構成により形成されていても構わない。また、処理部１１は、記憶制御部１１１、ＲＰＡ管理部１１２、通信制御部１１３、表示制御部１１４、及び監視部１１５の機能をそれぞれ有する専用のハードウェア回路を組み込んだ特定用途向け集積回路（Application Specific Integrated Circuit：ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（Field Programmable Gate Array：ＦＰＧＡ）、他の複合プログラマブル論理デバイス（Complex Programmable Logic Device：ＣＰＬＤ）、又は単純プログラマブル論理デバイス（Simple Programmable Logic Device：ＳＰＬＤ）により形成されていても構わない。
【００３３】
記憶制御部１１１は、記憶部１２へのデータの記憶を制御する。具体的には、例えば、記憶制御部１１１は、スケジュールに関する情報が変更されると、変更された情報に基づき、記憶部１２に記憶されているスケジュール設定データ１２１を更新する。また、記憶制御部１１１は、他の信号処理装置１０から送信されたスケジュール設定データ１２１を受信すると、記憶部１２に記憶されているスケジュール設定データ１２１を、受信したスケジュール設定データ１２１に基づいて更新する。
【００３４】
また、例えば、記憶制御部１１１は、自装置にインストールされているＲＰＡアプリがジョブを実行すると、記憶部１２に記憶されている、自装置についての作業結果データ１２２を、ジョブの実行により作成された作業結果を含むように更新する。また、記憶制御部１１１は、他の信号処理装置１０から少なくとも１つの作業結果データ１２２を受信すると、記憶部１２に記憶されている作業結果データ１２２−１〜１２２−６のうち、受信したデータと対応する作業結果データ１２２を、受信したデータに基づいて更新する。
【００３５】
ＲＰＡ管理部１１２は、ＲＰＡアプリの動作を管理する、管理部の一例である。具体的には、例えば、ＲＰＡ管理部１１２は、記憶部１２に記憶されているスケジュール設定データ１２１に基づき、ＲＰＡアプリに対して起動指示を出す。また、ＲＰＡ管理部１１２は、ジョブを実行したＲＰＡアプリから結果通知を受け取る。
【００３６】
図３は、図２に示されるＲＰＡ管理部１１２によるＲＰＡアプリの動作管理の一例を表す模式図である。図３によれば、ＲＰＡ管理部１１２は、インストールされている３台のＲＰＡアプリ１６−１〜１６−３の動作を管理している。具体的には、例えば、ＲＰＡ管理部１１２は、スケジュール設定データ１２１で規定される第１時刻にＲＰＡアプリ１６−１へ起動指示を出力する。ＲＰＡアプリ１６−１は、起動指示を受けると、第１ジョブを実行し、第１ジョブが完了すると、第１ジョブの結果を用いて第２ジョブを実行する。第２ジョブが完了すると、ＲＰＡアプリ１６−１は、結果通知をＲＰＡ管理部１１２へ出力する。
【００３７】
ＲＰＡ管理部１１２は、スケジュール設定データ１２１で規定される第２時刻になると、ＲＰＡアプリ１６−２へ起動指示を出力する。ＲＰＡアプリ１６−２は、起動指示を受けると、第２ジョブの結果を用いて第３ジョブを実行する。第３ジョブが完了すると、ＲＰＡアプリ１６−２は、結果通知をＲＰＡ管理部１１２へ出力する。ＲＰＡ管理部１１２は、スケジュール設定データ１２１で規定される第３時刻になると、ＲＰＡアプリ１６−３へ起動指示を出力する。ＲＰＡアプリ１６−３は、起動指示を受けると、第３ジョブの結果を用いて第４ジョブを実行する。第４ジョブが完了すると、ＲＰＡアプリ１６−３は、結果通知をＲＰＡ管理部１１２へ出力する。
【００３８】
また、ＲＰＡ管理部１１２は、ジョブの実行に問題が発生したか否かを監視する。例えば、ＲＰＡ管理部１１２は、ＲＰＡアプリから返信される結果通知に基づき、ＲＰＡアプリがジョブを正常に完了させたか否かを判断する。ＲＰＡ管理部１１２は、問題が発生した場合、設定されている通知先へ問題が発生した旨を通知する。
【００３９】
通信制御部１１３は、信号処理装置１０−１〜１０−６間で、ピア・ツー・ピアネットワークが形成されるように通信を制御する。
【００４０】
表示制御部１１４は、出力インタフェース１４であるディスプレイへの表示処理を制御する。具体的には、例えば、表示制御部１１４は、記憶部１２に記憶されているスケジュール設定データ１２１、及び作業結果データ１２２−１〜１２２−６に基づく画像を表示するように、ディスプレイを制御する。
【００４１】
監視部１１５は、スケジュール設定データ１２１に基づき、他の信号処理装置１０によるジョブの実行に問題が発生したか否かを監視する。監視部１１５は、問題が発生した場合、設定されている通知先へ問題が発生した旨を通知する。
【００４２】
〈スケジュール設定データ、及び作業結果データ〉
本実施形態に係る監視統制システム１は、例えば、ＲＰＡアプリを実行させるスケジュールに関するスケジュール設定データ１２１、及びＲＰＡアプリがジョブを実行することで作成される作業結果に関する作業結果データ１２２を管理する。スケジュール設定データ１２１のデータ構造の一例を図４を参照して説明し、作業結果データ１２２のデータ構造の一例を図５〜図７を参照して説明する。
【００４３】
図４に示されるように、スケジュール設定データ１２１は、例えば、レコード毎に、次のような情報を含み得る。すなわち、スケジュール設定データ１２１は、データの種類を示すデータ種類、及びレコードの番号を示すレコード番号を含み得る。なお、図４において、データ種類の値は、スケジュール設定データ１２１のレコードであることを表す値となっている。
【００４４】
また、スケジュール設定データ１２１は、仕事を担当するグループを示すワークグループ、実行されるジョブの名称を示す作業名、及びジョブを実行するＲＰＡアプリのバージョンを示す作業バージョンを含み得る。また、スケジュール設定データ１２１は、ＲＰＡアプリがジョブを実行する周期を示す繰返時間、ＲＰＡアプリがジョブを実行する上限回数を示す制限回数、ＲＰＡアプリが起動する初回の日時を示す初回起動日時、ＲＰＡアプリがジョブの実行を開始する時刻を示す稼働開始時刻、ＲＰＡアプリがジョブの実行を終了する時刻を示す稼働終了時刻、ＲＰＡアプリがジョブを実行する曜日を示す稼働曜日を含み得る。また、スケジュール設定データ１２１は、問題が発生した際にその旨を通知する宛先を示す通知先を含み得る。なお、スケジュール設定データ１２１に含まれる情報は、上述の一部でもよいし、その他の情報であってもよい。
【００４５】
図５に示されるように、作業結果データ１２２は、例えば、レコード毎に、次のような情報を含み得る。すなわち、作業結果データ１２２は、データ種類、及びレコード番号を含み得る。なお、図５において、データ種類の値は、作業結果データ１２２のレコードであることを表す値となっている。
【００４６】
また、作業結果データ１２２は、ワークグループ、作業名、及び作業バージョンを含み得る。また、作業結果データ１２２は、ＲＰＡアプリがジョブを実行した日付を示すスケジュール日付、ＲＰＡアプリがジョブを実行したスケジュールのバージョンを示すスケジュールバージョン、ＲＰＡアプリを起動させた信号処理装置１０の名称を示す端末名、ＲＰＡアプリがジョブの実行を開始した時刻を示す作業開始時刻、及びＲＰＡアプリがジョブの実行を終了した時刻を示す作業終了時刻を含み得る。
【００４７】
本実施形態において、作業結果データ１２２は、ＲＰＡアプリを実行した信号処理装置１０毎に記憶されている。そのため、図５に示される作業結果データ１２２では、端末名の値は、全レコードで同一の値となっている。端末名の値が異なるレコードは、例えば、図６で示されるように、異なる作業結果データ１２２で記憶される。また、本実施形態では、スケジュールバージョンが更新されると、更新されたスケジュールバージョンに応じた新たな作業結果データ１２２が作成されるようになっている。そのため、図５に示される作業結果データ１２２では、スケジュールバージョンの値は、全レコードで同一の値となっている。スケジュールバージョンの値が異なるレコードは、例えば、図７で示されるように、異なる作業結果データ１２２で記憶される。なお、作業結果データ１２２に含まれる情報は、上述の一部でもよいし、その他の情報であってもよい。
【００４８】
〈監視統制システムにおける信号処理装置の動作〉
監視統制システム１における信号処理装置１０−１〜１０−６の動作を説明する。なお、以下では、信号処理装置１０−１〜１０−６間でピア・ツー・ピア方式を利用したデータ通信が実施される場合を例に説明するが、データ通信が実施される装置の台数は６台に限定されない。
【００４９】
図８は、図１に示される監視統制システム１においてスケジュール設定データ１２１が共有される際の信号処理装置１０−１〜１０−６の動作の例を説明する図である。なお、図８では、信号処理装置１０−１に指示が入力されて、信号処理装置１０−１で記憶されているスケジュール設定データ１２１がまず更新される場合を例に説明する。
【００５０】
まず、信号処理装置１０−１で記憶されているスケジュール設定データ１２１に対して指示が入力される（ステップＳ８１）。このとき、入力される指示は、例えば、新たなレコードデータの追加、既に存在するレコードデータにおける所定項目の変更、又は既に存在するレコードデータの削除等を含み得る。また、指示は、入力インタフェース１３を介して操作者から入力されてもよいし、図示しない所定のサーバから入力されてもよい。
【００５１】
指示が入力されると、信号処理装置１０−１の記憶制御部１１１は、入力された指示に基づいてスケジュール設定データ１２１を変更し、この変更が反映されるように、記憶部１２に記憶されているスケジュール設定データ１２１を更新する（ステップＳ８２）。スケジュール設定データ１２１が更新されると、信号処理装置１０−１の通信制御部１１３は、スケジュール設定データ１２１が更新されたことを表す更新信号を予め設定されている送信先へ送信する（ステップＳ８３）。本実施形態において、予め設定されている送信先は、例えば、信号処理装置１０−２〜１０−６である。更新信号には、例えば、データ種類、送信元の端末のアドレス、更新が最初に実行された端末名、更新が最初に実行された更新日時、及び更新を識別する識別番号等が含まれ得る。
【００５２】
信号処理装置１０−２〜１０−６の通信制御部１１３は、更新信号を受信する。更新信号を受信すると、信号処理装置１０−２〜１０−６の記憶制御部１１１は、受信した更新信号により表される更新を既に反映済であるか否かを判断する（ステップＳ８４）。このとき、記憶制御部１１１は、例えば、受信した更新信号に含まれるデータ種別、端末名、更新日時、及び識別番号等に基づいて更新が反映済か否かを判断する。更新が反映済でない場合、通信制御部１１３は、更新信号に含まれるデータ種別に基づき、スケジュール設定データ１２１の読出要求を、更新信号の送信元である信号処理装置１０−１へ送信する（ステップＳ８５）。更新が反映済である場合、通信制御部１１３は、読出要求を送信しない。
【００５３】
信号処理装置１０−１の通信制御部１１３は、読出要求を受信する。読出要求を受信すると、通信制御部１１３は、記憶部１２に記憶されているスケジュール設定データ１２１を読出要求を送信した信号処理装置１０へ送信する（ステップＳ８６）。
【００５４】
信号処理装置１０−２〜１０−６のうち少なくともいずれかの信号処理装置１０の通信制御部１１３は、スケジュール設定データ１２１を受信する。スケジュール設定データ１２１を受信した信号処理装置１０の記憶制御部１１１は、受信したスケジュール設定データ１２１で、記憶部１２に記憶されているスケジュール設定データ１２１を更新する（ステップＳ８７）。
【００５５】
なお、スケジュール設定データ１２１を共有する際の信号処理装置１０−１〜１０−６の動作は図８に限定されない。例えば、信号処理装置１０の通信制御部１１３は、他の信号処理装置１０から送信されるスケジュール設定データ１２１に基づいて記憶部１２に記憶されるスケジュール設定データ１２１が更新された場合、更新信号を予め設定されている信号処理装置１０へ送信してもよい。これにより、例えば、ネットワーク、又は信号処理装置１０のいずれかに問題が発生したとしても、最新のスケジュール設定データ１２１が信号処理装置１０−１〜１０−６間で共有されることになる。
【００５６】
また、信号処理装置１０の通信制御部１１３は、読出要求を送信した後、予め設定した期間経過してもスケジュール設定データ１２１が受信されない場合、異なる信号処理装置１０へ読出要求を送信してもよい。
【００５７】
また、記憶部１２に記憶されているスケジュール設定データ１２１の更新は、信号処理装置１０−１への指示の入力をトリガとするものに限られない。信号処理装置１０−１の記憶制御部１１１は、自装置内で新たなレコードデータが作成されたことをトリガとして、スケジュール設定データ１２１を更新してもよい。例えば、信号処理装置１０−１のＲＰＡ管理部１１２は、ジョブ設定データに含まれる情報に基づき、新たなレコード番号が付されたレコードデータを作成する。ＲＰＡ管理部１１２によりレコードデータが作成されるタイミングは、所定の時刻でもよいし、操作者により指定されたときであってもよい。
【００５８】
図９は、図１に示される監視統制システム１において作業結果データ１２２が共有される際の信号処理装置１０−１〜１０−６の動作の例を説明する図である。なお、図９では、信号処理装置１０−１でＲＰＡアプリがジョブを実行することで作業結果が作成される場合を例に説明する。
【００５９】
信号処理装置１０−１のＲＰＡ管理部１１２は、記憶部１２に記憶されるスケジュール設定データ１２１を参照し、カウントしている時刻が稼働開始時刻に達すると、ＲＰＡアプリへ起動指示を出す。起動指示を受けると、ＲＰＡアプリは設定されているジョブを実行する。ＲＰＡアプリは、実行したジョブが完了すると、結果通知をＲＰＡ管理部１１２へ返す。結果通知を受けると、ＲＰＡ管理部１１２は、作業結果を作成する（ステップＳ９１）。
【００６０】
信号処理装置１０−１の記憶制御部１１１は、作成された作業結果に含まれるスケジュールバージョンを確認する（ステップＳ９２）。記憶制御部１１１は、作成された作業結果とスケジュールバージョンが同一の作業結果データ１２２−１を、作成された作業結果を含むように更新する（ステップＳ９３）。作業結果データ１２２−１が更新されると、信号処理装置１０−１の通信制御部１１３は、作業結果データ１２２−１が更新されたことを表す更新信号を予め設定されている送信先へ送信する（ステップＳ９４）。本実施形態において、予め設定されている送信先は、例えば、信号処理装置１０−２〜１０−６である。
【００６１】
信号処理装置１０−２〜１０−６の通信制御部１１３は、更新信号を受信する。更新信号を受信すると、信号処理装置１０−２〜１０−６の記憶制御部１１１は、受信した更新信号により表される更新を既に反映済であるか否かを判断する（ステップＳ９５）。このとき、記憶制御部１１１は、例えば、受信した更新信号に含まれるデータ種別、端末名、更新日時、及び識別番号等に基づいて更新が反映済か否かを判断する。更新が反映済でない場合、通信制御部１１３は、更新信号に含まれるデータ種別、及び端末名に基づき、作業結果データ１２２−１の読出要求を、更新信号の送信元である信号処理装置１０−１へ送信する（ステップＳ９６）。更新が反映済である場合、通信制御部１１３は、読出要求を送信しない。
【００６２】
信号処理装置１０−１の通信制御部１１３は、読出要求を受信する。読出要求を受信すると、通信制御部１１３は、記憶部１２に記憶されている作業結果データ１２２−１を読出要求を送信した信号処理装置１０へ送信する（ステップＳ９７）。
【００６３】
信号処理装置１０−２〜１０−６のうち少なくともいずれかの信号処理装置の通信制御部１１３は、作業結果データ１２２−１を受信する。スケジュール設定データ１２１を受信した信号処理装置１０の記憶制御部１１１は、受信した作業結果データ１２２−１で、記憶部１２に記憶されている作業結果データ１２２−１を更新する（ステップＳ９８）。
【００６４】
なお、作業結果データ１２２を共有する際の信号処理装置１０−１〜１０−６の動作は図９に限定されない。例えば、信号処理装置１０の通信制御部１１３は、他の信号処理装置１０から送信される作業結果データ１２２に基づいて記憶部１２に記憶される作業結果データ１２２が更新された場合、更新信号を予め設定されている信号処理装置１０へ送信してもよい。
【００６５】
また、信号処理装置１０は、読出要求を送信した後、予め設定した期間経過しても作業結果データ１２２が受信されない場合、異なる信号処理装置１０へ読出要求を送信してもよい。
【００６６】
図１０は、図１に示される監視統制システム１において異常が検知される際の信号処理装置１０の動作の例を表すフローチャートである。なお、信号処理装置１０−１〜１０−６の動作はそれぞれ同様であるため、図１０の説明では、信号処理装置１０として説明する。
【００６７】
まず、信号処理装置１０の監視部１１５は、スケジュール設定データ１２１を参照し、稼働終了時刻から所定の期間が経過しても更新信号が送信されないレコードがあるか否かを判断する（ステップＳ１０１）。更新信号が送信されないレコードがある場合（ステップＳ１０１のＹｅｓ）、監視部１１５は、当該レコードにより表されるジョブにエラーが発生したと判断する（ステップＳ１０２）。ジョブにエラーが発生したと判断すると、監視部１１５は、当該レコードで設定されている通知先へエラーが発生した旨を通知する（ステップＳ１０３）。
【００６８】
〈信号処理装置でのジョブ管理〉
本実施形態に係る信号処理装置１０−１〜１０−６は、スケジュール設定データ１２１、及び作業結果データ１２２−１〜１２２−６等に基づき、ジョブの実行状況を管理する。信号処理装置１０−１〜１０−６は、管理している実行状況を操作者へ提示するため、ジョブ管理画面１４０を出力インタフェース１４としてのディスプレイに表示する。ジョブ管理画面１４０の一例を図１１〜図１７を参照して説明する。
【００６９】
図１１に示されるように、ジョブ管理画面１４０は、例えば、詳細情報領域１４１、及び管理設定領域１４２を含み得る。詳細情報領域１４１は、例えば、ジョブ管理画面１４０の上側に設けられ、次に自装置内で実行されるジョブについての詳細情報を表示する。なお、詳細情報領域１４１は、操作者により選択されたジョブについての詳細情報を表示してもよい。管理設定領域１４２は、例えば、ジョブ管理画面１４０の下側に設けられ、スケジュールを管理するための情報、又はスケジュールを設定するための情報等を表示する。
【００７０】
具体的には、例えば、詳細情報領域１４１は、第１領域１４１１、第２領域１４１２、第３領域１４１３、第４領域１４１４、及び第５領域１４１５を含み得る。第１領域１４１１には、選択されたジョブを実行するＲＰＡアプリがインストールされている端末に関する端末情報が表示される。図１１においては、第１領域１４１１には、ＰＣ名：総務処理、ログインユーザー：ＡＡＡＡ、環境：Ｐ２Ｐ、ＩＰアドレス：１９２．１６８．１．３２、起動時間：２０１９／０５／０６  １６：５８が端末情報として表示されている。端末情報は、例えば、信号処理装置１０の表示制御部１１４により、記憶部１２で記憶される端末管理データ、及びＡｐｐ設定データに基づいて表示される。
【００７１】
第２領域１４１２には、指定されたジョブについての実行情報が表示される。図１１においては、第２領域１４１２には、ＣｏｕｎｔＤｏｗｎ：−、スケジュールＮｏ：１９０５０６０００８、予定時刻：１９／０５／０６  １６：５８、ＪｏｂＮｏ：１０２０００００２、通知Ｎｏ：１、ＷｏｒｋＧｒｏｕｐ：総務担当、Ｊｏｂ名：交通費２、Ｖｅｒｓｉｏｎ：１９０５０５、使用アカウント：１が実行情報として表示されている。実行情報は、例えば、表示制御部１１４により、記憶部１２で記憶されるスケジュール設定データ１２１、及びアカウント管理データに基づいて表示される。
【００７２】
第３領域１４１３には、指定されたジョブを実行するＲＰＡアプリについてのアカウント情報が表示される。図１１においては、第３領域１４１３には、ｓａｍｐｌｅアカウントが表示されている。アカウント情報は、例えば、表示制御部１１４により、記憶部１２で記憶されるアカウント管理データに基づいて表示される。
【００７３】
第４領域１４１４には、指定されたジョブについての報告の通知先に関する通知情報が表示される。図１１においては、第４領域１４１４には、通知先：ＢＢＢＢ、及び条件：エラー時が表示されている。通知情報は、例えば、表示制御部１１４により、記憶部１２で記憶される通知先管理データに基づいて表示される。
【００７４】
第５領域１４１５には、指定されたジョブを実行するＲＰＡアプリのバージョンについてのバージョン情報が表示される。図１１において、第５領域１４１５には、ＦｉｌｅＮａｍｅ：ｓａｍｐｌｅ１９０５０５．ｘｌｍｓ、ＭｅｔｈｏｄＮａｍｅ：乗換案内、及びＦｉｌｅｐａｔｈ：C:\Users:…が表示されている。バージョン情報は、例えば、表示制御部１１４により、記憶部１２で記憶されるジョブバージョン管理データに基づいて表示される。
【００７５】
また、詳細情報領域１４１は、例えば、スケジュール更新ボタン１４１６、及びＪｏｂ取得ボタン１４１７を含み得る。スケジュール更新ボタン１４１６は、スケジュールを更新する際の入力を受け付けるためのボタンである。例えば、スケジュールの更新を希望する操作者により、スケジュール更新ボタン１４１６が押下されると、スケジュールを変更するための入力フォームが表示される。Ｊｏｂ取得ボタン１４１７は、新たなレコードデータを作成するためのボタンである。例えば、Ｊｏｂ取得ボタン１４１７が押下されると、ジョブ設定データに含まれる情報に基づいた新たなレコードデータが作成される。
【００７６】
なお、詳細情報領域１４１に含まれる情報は、上述の一部でもよいし、その他の情報であってもよい。
【００７７】
管理設定領域１４２は、例えば、スケジュール、Ｊｏｂ設定、ＪｏｂＶｅｒｓｉｏｎ管理、アカウント管理、通知先管理、端末管理、及びアプリケーション設定に関する情報を表示し得る。管理設定領域１４２では、これらの情報の表示は、例えば、タブによる選択に応じて切り替えられる。例えば、図１１において、第１タブ１４２１〜第７タブ１４２７が選択されると、スケジュール、Ｊｏｂ設定、ＪｏｂＶｅｒｓｉｏｎ管理、アカウント管理、通知先管理、端末管理、及びアプリケーション設定がそれぞれ表示される。スケジュール、Ｊｏｂ設定、ＪｏｂＶｅｒｓｉｏｎ管理、アカウント管理、通知先管理、端末管理、及びアプリケーション設定についての表示は、例えば、図１１〜図１７の管理設定領域１４２でそれぞれ示される。
【００７８】
第１タブ１４２１が選択された際に表示されるスケジュールでは、所定期間、例えば、１日の間に信号処理装置１０−１〜１０−６で実行されるジョブについてのレコードデータが表示される。スケジュールで表示されるレコードデータは、例えば、信号処理装置１０の表示制御部１１４により、記憶部１２で記憶されているスケジュール設定データ１２１、作業結果データ１２２、及びジョブ設定データ等に基づいて表示される。
【００７９】
スケジュールで表示される情報は、図１１で示されるように、ローカルＮｏ、ＷｏｒｋＧｒｏｕｐ、Ｊｏｂ名、Ｖｅｒｓｉｏｎ、予定起動時刻、毎時、及び通知先についての情報を含み得る。ローカルＮｏ、ＷｏｒｋＧｒｏｕｐ、Ｊｏｂ名、Ｖｅｒｓｉｏｎ、予定起動時刻、毎時、及び通知先は、ジョブのスケジュールに関する項目であり、スケジュール設定データ１２１におけるレコード番号、ワークグループ、作業名、作業バージョン、稼働開始時刻、繰返時間、及び通知先にそれぞれ対応する。表示制御部１１４は、スケジュール設定データ１２１が更新されると、更新されたデータに含まれるレコード番号、ワークグループ、作業名、作業バージョン、稼働開始時刻、繰返時間、及び通知先についての値を、スケジュールのローカルＮｏ、ＷｏｒｋＧｒｏｕｐ、Ｊｏｂ名、Ｖｅｒｓｉｏｎ、予定起動時刻、毎時、及び通知先に表示する。
【００８０】
また、スケジュールで表示される情報は、ＪｏｂマスタＮｏ、及び役割端末名についての情報を含み得る。ＪｏｂマスタＮｏ、及び役割端末名は、例えば、ジョブ設定データに基づく。
【００８１】
また、スケジュールで表示される情報は、処理開始日時、及び処理終了日時についての情報を含みうる。処理開始日時、及び処理終了日時は、ＲＰＡアプリの作業結果を表す項目であり、作業結果データ１２２−１〜１２２−６における作業開始日時、及び作業終了日時にそれぞれ対応する。表示制御部１１４は、作業結果データ１２２−１〜１２２−６が更新されると、更新されたデータに含まれる作業開始日時、及び作業終了日時についての値を、スケジュールにおける処理開始日時、及び処理終了日時に表示する。
【００８２】
また、スケジュールで表示される情報は、処理状態を含み得る。自装置におけるジョブの処理状態は、例えば、ＲＰＡ管理部１１２がＲＰＡアプリから受ける結果通知に基づいて設定する。他の信号処理装置１０の処理状態は、監視部１１５が他の信号処理装置１０の動作状況に基づいて設定する。表示制御部１１４は、設定された処理状態をスケジュールに表示する。なお、スケジュールで表示される情報は、上述の一部でもよいし、その他の情報であってもよい。
【００８３】
第２タブ１４２２が選択された際に表示されるＪｏｂ設定では、ジョブマスタに関する情報が表示される。Ｊｏｂ設定で表示されるレコードデータは、例えば、表示制御部１１４により、記憶部１２で記憶されているジョブ設定データに基づいて表示される。Ｊｏｂ設定で表示される情報は、図１２で示されるように、ＪｏｂマスタＮｏ、役割端末名、ＷｏｒｋＧｒｏｕｐ、Ｊｏｂ名、ＪｏｂＶｅｒ、初回起動日時、トリガ、制限数、毎時、次回稼働日、稼働Ｓｔａｒｔ、稼働Ｃｌｏｓｅ、月火水木金土日祝、及び設定者についての情報を含み得る。スケジュール設定データ１２１におけるレコードデータは、例えば、ジョブ設定データに含まれるＷｏｒｋＧｒｏｕｐ、Ｊｏｂ名、ＪｏｂＶｅｒ、初回起動日時、毎時、稼働Ｓｔａｒｔ、稼働Ｃｌｏｓｅ、及び月火水木金土に基づき、ＲＰＡ管理部１１２により、算出される。なお、Ｊｏｂ設定で表示される情報は、上述の一部でもよいし、その他の情報であってもよい。
【００８４】
第３タブ１４２３が選択された際に表示されるＪｏｂＶｅｒｓｉｏｎ管理では、ジョブを実行するＲＰＡアプリについてのバージョン情報が表示される。ＪｏｂＶｅｒｓｉｏｎ管理で表示されるレコードデータは、例えば、表示制御部１１４により、記憶部１２で記憶されているジョブバージョン管理データに基づいて表示される。ＪｏｂＶｅｒｓｉｏｎ管理で表示される情報は、図１３で示されるように、ＪｏｂＶｅｒ、Ｊｏｂ名、ツールパス、リンク、ファイル名、Ｖｅｒｓｉｏｎ、更新日時、及びメソッド名についての情報を含み得る。メソッド名は、例えば、呼出メソッド名等のコマンドを意味する。また、ＪｏｂＶｅｒｓｉｏｎ管理で表示される情報は、合計起動時間、起動回数、平均起動時間、最大起動時間、及び引数パターンＮｏについての情報を含み得る。合計起動時間、起動回数、平均起動時間、最大起動時間、及び引数パターンＮｏについての情報は、ＲＰＡアプリを使用した結果を分析することで得られる情報である。なお、ＪｏｂＶｅｒｓｉｏｎ管理で表示される情報は、上述の一部でもよいし、その他の情報であってもよい。
【００８５】
第４タブ１４２４が選択された際に表示されるアカウント管理では、信号処理装置１０を利用することが許諾されているアカウントに関する情報が表示される。アカウント管理で表示されるレコードデータは、例えば、表示制御部１１４により、記憶部１２で記憶されているアカウント管理データに基づいて表示される。アカウント管理で表示される情報は、図１４で示されるように、アカウント、及びツール名等についての情報を含み得る。なお、アカウント管理で表示される情報は、上述の一部でもよいし、その他の情報であってもよい。
【００８６】
第５タブ１４２５が選択された際に表示される通知先管理では、通知先に関する情報が表示される。通知先管理で表示されるレコードデータは、例えば、表示制御部１１４により、記憶部１２で記憶されている通知先管理データに基づいて表示される。通知先管理で表示される情報は、図１５で示されるように、通知先Ｎｏ、通知先名、通知アドレス、及び通知する状態についての情報を含み得る。なお、通知先管理で表示される情報は、上述の一部でもよいし、その他の情報であってもよい。
【００８７】
第６タブ１４２６が選択された際に表示される端末管理では、監視統制システム１を構成する端末に関する情報が表示される。端末管理で表示されるレコードデータは、例えば、表示制御部１１４により、記憶部１２で記憶されている端末管理データに基づいて表示される。端末管理で表示される情報は、図１６で示されるように、端末管理Ｎｏ、役割端末名、ＩＰアドレス、スケジュール更新日時、テーブル更新指令Ｆｌａｇ、スケジュール更新指令Ｆｌａｇ、及びＡｐｐＶｅｒｓｉｏｎについての情報を含み得る。なお、端末管理で表示される情報は、上述の一部でもよいし、その他の情報であってもよい。
【００８８】
第７タブ１４２７が選択された際に表示されるアプリケーション設定（Ａｐｐ設定）では、ＲＰＡアプリの設定に関する情報が表示される。Ａｐｐ設定で表示される情報は、例えば、表示制御部１１４により、記憶部１２で記憶されているＡｐｐ設定データに基づいて表示される。Ａｐｐ設定で表示される情報は、図１７で示されるように、使用環境、役割ＰＣ名、及びＲＰＡアプリの保存先についての情報を含み得る。なお、Ａｐｐ設定で表示される情報は、上述の一部でもよいし、その他の情報であってもよい。
【００８９】
以上のように、第１の実施形態では、監視統制システム１は、人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるＲＰＡアプリがそれぞれインストールされた複数の信号処理装置１０を備える。複数の信号処理装置１０のそれぞれは、記憶部１２に、ＲＰＡアプリの実行状況を管理するための管理データ１２１，１２２を記憶する。複数の信号処理装置１０のそれぞれは、通信制御部１１３により、複数の信号処理装置１０と分散型ネットワークを形成し、管理データを複数の信号処理装置１０間で共有する。そして、複数の信号処理装置１０のそれぞれは、ＲＰＡ管理部１１２により、管理データ１２１，１２２に基づいてＲＰＡアプリにジョブを実行させるようにしている。これにより、どの信号処理装置１０も統制管理端末として使用することが可能となる。また、中央統制型運用とは異なり、中央統制端末がダウンしても運用を止めるリスクがなくなる。また、信号処理装置の動作を統括する統括サーバを設けなくてもよくなるため、システム導入の迅速化、及び導入コストの低下を期待することが可能となる。
【００９０】
また、第１の実施形態では、管理データは、スケジュール設定データ１２１と、作業結果データ１２２とを含む。複数の信号処理装置１０のそれぞれは、記憶制御部１１１により、スケジュール設定データ１２１と、作業結果データ１２２とを別々に更新する。そして、複数の信号処理装置１０のそれぞれは、通信制御部１１３により、スケジュール設定データ１２１の更新と、作業結果データ１２２の更新と別々に複数の信号処理装置１０間で共有するようにしている。これにより、スケジュール設定データ１２１と、作業結果データ１２２とを別々に管理することが可能となり、セキュリティが向上することになる。
【００９１】
また、第１の実施形態では、作業結果データ１２２を、信号処理装置毎に記憶するようにしている。これにより、スケジュール設定データ１２１において所定の信号処理装置１０に対する変更があった場合、この信号処理装置１０についての作業結果データ１２２のみを更新することが可能となる。つまり、信号処理装置１０の処理負荷を軽減することが可能となる。
【００９２】
また、第１の実施形態では、複数の信号処理装置１０のそれぞれは、監視部１１５により、作業結果データ１２２の更新が共有されたか否かを監視するようにしている。これにより、故障した信号処理装置１０を検出することが可能となり、故障した信号処理装置１０の役割を、空いている予備端末に移すことが可能となる。すなわち、故障が発生した場合であっても、運用を停止せず、迅速に復旧することが可能となる。
【００９３】
（第２の実施形態）  
第１の実施形態では、監視統制システム１が備える信号処理装置１０−１〜１０−６が、ピア・ツー・ピア方式を利用してスケジュール設定データ１２１、及び作業結果データ１２２を信号処理装置１０−１〜１０−６間で共有する場合を説明した。第２の実施形態では、さらに、ブロックチェーン技術を利用してスケジュール設定データ、及び作業結果データを共有する場合について説明する。
【００９４】
〈システム構成〉
図１８は、第２の実施形態に係る監視統制システム１ａの構成例を表す模式図である。図１８に示される監視統制システム１ａは、ノードとして機能する信号処理装置１０ａ−１〜１０ａ−６を備える、分散型システムである。
【００９５】
信号処理装置１０ａ−１〜１０ａ−６は、ネットワークにそれぞれ接続された、例えば、パーソナルコンピュータである。本実施形態では、ネットワークは、ＬＡＮであってもよく、インターネット、及び通信事業者が提供する通信網等の公開されているネットワークであってもよい。信号処理装置１０ａ−１〜１０ａ−６は、ネットワークと、例えば、有線又は無線により接続されている。信号処理装置１０−１〜１０−６は、ピア・ツー・ピア方式を利用して互いに通信する。
【００９６】
信号処理装置１０ａ−１〜１０ａ−６は、少なくとも１つのＲＰＡアプリがそれぞれインストールされている。信号処理装置１０ａ−１〜１０ａ−６は、インストールされているＲＰＡアプリに所定のジョブを実行させる。また、信号処理装置１０ａ−１〜１０ａ−６は、ＲＰＡアプリにより実行されるジョブの実行状況を監視する。
【００９７】
信号処理装置１０ａ−１〜１０ａ−６は、スケジュール設定データ１２１ａをブロックチェーン技術を用いて記憶している。また、信号処理装置１０ａ−１〜１０ａ−６は、作業結果データ１２２ａをブロックチェーン技術を用いて記憶している。例えば、信号処理装置１０ａ−１〜１０ａ−６のいずれか１つの信号処理装置１０ａは、記録すべきデータを取得する。信号処理装置１０ａは、取得したデータを含むブロックを作成し、ブロックチェーンに追加する。信号処理装置１０ａは、追加したブロックの情報を他の信号処理装置１０ａへ送信する。他の信号処理装置１０ａは、受信したブロックの正しさを検証し、正しさが検証されると、ブロックチェーンに追加する。信号処理装置１０ａ−１〜１０ａ−６は、例えば、連結されるブロックの数（承認数）に従ってブロックチェーンを確定する。これにより、信号処理装置１０ａ−１〜１０ａ−６で、同一のスケジュール設定データ１２１ａ、及び作業結果データ１２２ａが保存されることになる。なお、保存されるデータは、適宜に暗号化されてもよい。信号処理装置１０ａ−１〜１０ａ−６は、スケジュール設定データ１２１ａ、及び作業結果データ１２２ａ等に基づき、ＲＰＡアプリによるジョブの実行を管理する。
【００９８】
なお、監視統制システム１ａの構成は、図１８に示されるものに限定されない。例えば、監視統制システム１ａが備える信号処理装置１０ａの台数は、２台以上であれば何台でも構わない。また、監視統制システム１ａは、ＲＰＡアプリのバージョンを管理する管理サーバを備えていても構わない。
【００９９】
〈信号処理装置の構成〉
図１９は、図１８に示される信号処理装置１０ａの機能構成の例を表すブロック図である。なお、図１８では、信号処理装置１０ａ−１〜１０ａ−６が存在するが、図１９では、信号処理装置１０ａとして説明する。
【０１００】
図１９に示される信号処理装置１０ａは、例えば、処理部１１ａ、記憶部１２ａ、入力インタフェース１３、出力インタフェース１４、及び通信インタフェース１５を備える。処理部１１ａ、記憶部１２ａ、入力インタフェース１３、出力インタフェース１４、及び通信インタフェース１５は、例えば、バスを介して互いに通信可能に接続されている。
【０１０１】
処理部１１ａは、例えば、ＣＰＵ、ＣＰＵが処理を実行する際に主記憶装置として用いるＲＡＭにより構成される。ＣＰＵは、例えば、記憶部１２ａに記憶されているプログラムをＲＡＭに読み込み実行することで、プログラムに対応する種々の機能を実現する。
【０１０２】
記憶部１２ａは、種々の情報を記憶するＨＤＤ、及びＳＳＤ等の不揮発性の記憶回路を備える、いわゆる補助記憶装置である。なお、記憶部１２ａは、ＣＤ−ＲＯＭ、ＤＶＤ、及びフラッシュメモリ等の可搬性記憶媒体との間で種々の情報を読み書きする駆動装置等であってもよい。
【０１０３】
記憶部１２ａは、本実施形態に係るプログラム、例えば、監視統制プログラムを記憶している。また、記憶部１２ａは、自装置に割り当てられたジョブを実行するためのＲＰＡアプリに関するプログラムを記憶している。なお、監視統制プログラム、及びＲＰＡアプリに関するプログラムは、例えば、記憶部１２ａに予め記憶されていてもよい。また、例えば、非一過性の記憶媒体に記憶されて配布され、非一過性の記憶媒体から読み出されて記憶部１２ａにインストールされてもよい。また、監視統制プログラムは、図示しない所定のサーバからダウンロードされてインストールされてもよい。また、ＲＰＡアプリに関するプログラムは、図示しない管理サーバからダウンロードされてインストールされてもよい。
【０１０４】
また、記憶部１２ａは、ブロックチェーン技術を用い、スケジュール設定データ１２１ａを記憶している。スケジュール設定データ１２１ａは、例えば、監視統制システム１ａに含まれる信号処理装置１０ａ−１〜１０ａ−６でスケジュールに対して加えられた変更、例えば、追加、修正、又は削除等の履歴がブロックとして連結されたブロック群である。ブロックは、処理部１１ａからの制御に従い作成される。
【０１０５】
また、記憶部１２ａは、作業結果データ１２２ａ−１〜１２２ａ−６を記憶している。作業結果データ１２２ａ−１〜１２２ａ−６それぞれは、例えば、信号処理装置１０ａ−１〜１０ａ−６それぞれで生成された作業結果に関する情報がブロックとして連結されたブロック群である。作業結果データ１２２ａ−１〜１２２ａ−６は、処理部１１ａからの制御に従い作成される。
【０１０６】
なお、記憶部１２ａには、ジョブ設定データ、ジョブバージョン管理データ、アカウント管理データ、通知先管理データ、端末管理データ、及びＡｐｐ設定データが記憶されていてもよい。
【０１０７】
図１９に示される処理部１１ａは、記憶部１２ａに記憶されているプログラムを実行することで、当該プログラムに対応する機能を実現する。例えば、処理部１１ａは、プログラムを実行することで、記憶制御部１１１ａ、ＲＰＡ管理部１１２、通信制御部１１３、表示制御部１１４ａ、及び監視部１１５の機能を実現する。
【０１０８】
なお、図１９に示される処理部１１ａは、複数のＣＰＵが組み合わされて形成されていても構わない。また、処理部１１ａは、各種機能をそれぞれ有する専用のハードウェア構成により形成されていても構わない。また、処理部１１ａは、各種機能をそれぞれ有する専用のハードウェア回路を組み込んだ特定用途向け集積回路、ＦＰＧＡ、ＣＰＬＤ、又はＳＰＬＤにより形成されていても構わない。
【０１０９】
記憶制御部１１１ａは、記憶部１２へのデータの記憶を制御する。具体的には、例えば、記憶制御部１１１ａは、スケジュールに関する情報が変更されると、変更された情報を含むブロックを作成する。記憶制御部１１１ａは、作成したブロックを、スケジュール設定データ１２１ａのブロックチェーンに追加する。また、記憶制御部１１１ａは、他の信号処理装置１０ａが作成した、スケジュール設定データ１２１ａについてのブロックの正しさを検証し、正しさが検証されると、当該ブロックをスケジュール設定データ１２１ａのブロックチェーンに追加する。
【０１１０】
また、例えば、記憶制御部１１１ａは、自装置にインストールされているＲＰＡアプリがジョブを実行すると、ジョブの実行により作成される作業結果を含むブロックを作成する。記憶制御部１１１ａは、作成したブロックを、自装置についての作業結果データ１２２ａのブロックチェーンに追加する。また、記憶制御部１１１ａは、他の信号処理装置１０が作成した、作業結果データ１２２ａについてのブロックの正しさを検証し、正しさが検証されると、当該ブロックを作業結果データ１２２ａのブロックチェーンに追加する。
【０１１１】
表示制御部１１４ａは、出力インタフェース１４であるディスプレイへの表示処理を制御する。具体的には、例えば、表示制御部１１４ａは、記憶部１２ａに記憶されているスケジュール設定データ１２１ａ、及び作業結果データ１２２ａ−１〜１２２ａ−６に基づく画像を表示するように、ディスプレイを制御する。
【０１１２】
〈スケジュール設定データ、及び作業結果データ〉
本実施形態に係る監視統制システム１ａは、例えば、ブロックチェーン技術を用い、スケジュール設定データ１２１ａ、及び作業結果データ１２２ａ−１〜１２２ａ−６を記憶している。スケジュール設定データ１２１ａのデータ構造の一例を図２０を参照して説明し、作業結果データ１２２ａ−１〜１２２ａ−６のデータ構造の一例を図２１を参照して説明する。
【０１１３】
図２０に示されるように、ブロックチェーン２０として記憶されるスケジュール設定データ１２１ａは、複数のブロックを含む。例えば、ブロックチェーン２０は、ｎ−１番目のブロック２１と、ｎ番目のブロック２２と、ｎ＋１番目のブロック２３とが連結されている。
【０１１４】
各ブロックには、ブロックヘッダと、スケジュール設定データ１２１ａに対する履歴データとが含まれる。履歴データは、例えば、スケジュール設定データ１２１ａへ新たに追加されたデータ、スケジュール設定データ１２１ａから変更されたデータ、又はスケジュール設定データ１２１ａから削除されたデータ等を含み得る。ブロックヘッダは、少なくともブロック番号、直前のブロックのブロックヘッダのハッシュ値、時刻情報、及び履歴データのマークルルートを含む。
【０１１５】
具体的には、例えば、ｎ−１番目のブロック２１には、ブロックヘッダ２１１と、履歴データ２１２とが含まれる。ブロックヘッダ２１１は、ブロック２１を識別可能なブロック番号２１１１を含む。また、ブロックヘッダ２１１は、ｎ−２番目のブロックのブロックヘッダのハッシュ値２１１２を含む。また、ブロックヘッダ２１１は、当該ブロックを作成する時の時刻情報２１１３を含む。また、ブロックヘッダ２１１は、履歴データ２１２に関するハッシュ値である、マークルルート２１１４を含む。
【０１１６】
履歴データ２１２は、例えば、図４で示されるレコードと同様、次のような情報を含み得る。すなわち、履歴データ２１２は、データ種類、レコード番号、ワークグループ、作業名、作業バージョン、繰返時間、制限回数、初回起動日時、稼働開始時刻、稼働終了時刻、稼働曜日、及び通知先の情報を含み得る。なお、履歴データ２１２に含まれる情報は、上述の一部でもよいし、その他の情報であってもよい。
【０１１７】
また、ｎ番目のブロック２２には、ブロックヘッダ２２１と、履歴データ２２２とが含まれる。ブロックヘッダ２２１は、ブロック２２を識別可能なブロック番号２２１１を含む。また、ブロックヘッダ２２１は、ｎ−１番目のブロック２１のブロックヘッダ２１１のハッシュ値２２１２を含む。また、ブロックヘッダ２２１は、ブロックが作成される時の時刻情報２２１３、及び履歴データ２２２のマークルルート２２１４を含む。
【０１１８】
同様に、ｎ＋１番目のブロック２３は、ブロック２３を識別可能なブロック番号２３１１、ｎ番目のブロック２２のブロックヘッダ２２１のハッシュ値２３１２と、時刻情報２３１３と、履歴データ２３２のマークルルート２３１４とを含むブロックヘッダ２３１と、履歴データ２３２とを含む。
【０１１９】
仮にｎ番目のブロック２２の履歴データ２２２が変更されると、当該ブロック２２の履歴データ２２２とマークルルート２２１４とが整合しないことになる。仮に履歴データ２２２に合わせてマークルルート２２１４を変更すると、次のｎ＋１番目のブロック２３に記録された直前ブロックのブロックヘッダのハッシュ値２３１２がｎ番目のブロック２２のブロックヘッダ２２１のハッシュ値と整合しないことになる。このように、ブロックチェーン２０に保存された履歴データの改変は、容易に発見され得る。これにより、ブロックチェーン技術を用いて記憶されているスケジュール設定データ１２１ａの真正性は保証される。
【０１２０】
なお、履歴データ２１２，２２２，２３２に追加、変更、削除等についての複数のデータが含まれている場合、マークルルート２１１４，２２１４，２３１４は、これらのアクションを纏めたハッシュ値となる。
【０１２１】
図２１に示されるように、ブロックチェーン３０−１〜３０−６としてそれぞれ記憶される作業結果データ１２２ａ−１〜１２２ａ−６は、複数のブロックを含む。ブロックチェーン３０−１〜３０−６の構造はそれぞれ同様であるため、ここでは、ブロックチェーン３０−１をブロックチェーン３０と称し説明する。なお、ここでは、監視統制システム１ａを構成する信号処理装置１０ａ−１〜１０ａ−６の台数に合わせてブロックチェーンの数を６としているが、ブロックチェーンの数は６に限定されない。監視統制システム１ａを構成する信号処理装置１０ａの数に合わせ、ブロックチェーンの数は任意に設定し得る。
【０１２２】
ブロックチェーン３０は、ｎ−１番目のブロック３１と、ｎ番目のブロック３２と、ｎ＋１番目のブロック３３とが連結されている。各ブロックには、ブロックヘッダと、ＲＰＡアプリがジョブを実行することで作成される作業結果データアイテムが含まれる。ブロックヘッダは、少なくともブロック番号、直前のブロックのブロックヘッダのハッシュ値、時刻情報、及び作業結果データアイテムのマークルルートを含む。
【０１２３】
具体的には、例えば、ｎ−１番目のブロック３１には、ブロックヘッダ３１１と、作業結果データアイテム３１２とが含まれる。ブロックヘッダ３１１は、ブロック３１を識別可能なブロック番号３１１１、ｎ−２番目のブロックのブロックヘッダのハッシュ値３１１２と、時刻情報３１１３と、作業結果データアイテム３１２のマークルルート３１１４とを含む。
【０１２４】
作業結果データアイテム３１２は、例えば、図５〜図７で示されるレコードと同様、次のような情報を含み得る。すなわち、作業結果データアイテム３１２は、データ種類、スケジュール日付、スケジュールバージョン、端末名、レコード番号、ワークグループ、作業名、作業バージョン、作業開始日時、及び作業終了日時の情報を含み得る。なお、作業結果データアイテム３１２に含まれる情報は、上述の一部でもよいし、その他の情報であってもよい。
【０１２５】
また、ｎ番目のブロック３２には、ブロックヘッダ３２１と、作業結果データアイテム３２２とが含まれる。ブロックヘッダ３２１は、ブロック３２を識別可能なブロック番号３２１１、ｎ−１番目のブロック３１のブロックヘッダ３１１のハッシュ値３２１２、時刻情報３２１３、及び作業結果データアイテム３２２のマークルルート３２１４を含む。
【０１２６】
同様に、ｎ＋１番目のブロック３３は、ブロック３３を識別可能なブロック番号３３１１、ｎ番目のブロック３２のブロックヘッダ３２１のハッシュ値３３１２と、時刻情報３３１３と、作業結果データアイテム３３２のマークルルート２３１４とを含むブロックヘッダ３３１と、作業結果データアイテム３３２とを含む。
【０１２７】
なお、作業結果データアイテム３１２，３２２，３３２に複数の作業結果が含まれている場合、マークルルート３１１４，３２１４，３３１４は、これら複数の作業結果を纏めたハッシュ値となる。
【０１２８】
なお、ここでは、各ブロックは、直前ブロックのブロックヘッダのハッシュ値を含むものとしたが、これに限らない。各ブロックは、例えば直前ブロック全体のハッシュ値を含んでいてもよい。つまり、各ブロックは、過去に保存したデータに基づいて算出された値であって、過去に保存したデータが変化したら変化する値を含んでいればよい。
【０１２９】
〈監視統制システムにおける信号処理装置の動作〉
監視統制システム１ａにおける信号処理装置１０ａ−１〜１０ａ−６の動作を説明する。なお、以下では、信号処理装置１０−１〜１０−６間でピア・ツー・ピア方式を利用したデータ通信が実施される場合を例に説明するが、データ通信が実施される装置の台数は６台に限定されない。
【０１３０】
図２２は、図１８に示される監視統制システム１ａにおいてスケジュール設定データ１２１ａが共有される際の信号処理装置１０ａ−１〜１０ａ−６の動作の例を説明する図である。なお、図２２では、信号処理装置１０ａ−１に指示が入力される場合を例に説明する。
【０１３１】
まず、信号処理装置１０ａ−１に対して指示が入力される（ステップＳ２２１）。このとき、入力される指示は、例えば、新たなレコードデータの追加、既に存在するレコードデータにおける所定項目の変更、又は既に存在するレコードデータの削除等を含み得る。また、指示は、入力インタフェース１３を介して操作者から入力されてもよいし、図示しない所定のサーバから入力されてもよい。
【０１３２】
指示が入力されると、信号処理装置１０ａ−１の記憶制御部１１１ａは、指示に基づく履歴データを含むブロックを作成する（ステップＳ２２２）。具体的には、例えば、記憶制御部１１１ａは、ブロック番号を設定し、前のブロックのブロックヘッダのハッシュ値を算出し、履歴データのマークルルートを算出する。このとき、ハッシュ関数として、例えば、ＲＩＰＥＭＤ−１６０、ＳＨＡ−１、ＳＨＡ−２５６／ＳＨＡ−３８４／ＳＨＡ−５１２等が用いられる。記憶制御部１１１ａは、ブロック番号、ハッシュ値、現在の時刻を表す時刻情報、及びマークルルートをブロックヘッダに含める。記憶制御部１１１ａは、ブロックヘッダと、取得した履歴データとを含め、ブロックを作成する。記憶制御部１１１ａは、作成したブロックをブロックチェーンに追加する（ステップＳ２２３）。
【０１３３】
作成したブロックをブロックチェーンに追加すると、信号処理装置１０ａ−１の通信制御部１１３は、スケジュール設定データ１２１ａが更新されたことを表す更新信号を予め設定されている送信先へ送信する（ステップＳ２２４）。更新信号には、例えば、データ種類、送信元のアドレス等が含まれ得る。
【０１３４】
信号処理装置１０ａ−２〜１０ａ−６の通信制御部１１３は、更新信号を受信する。更新信号を受信すると、通信制御部１１３は、更新信号に含まれるデータ種別に基づき、スケジュール設定データ１２１ａについて新たに作成したブロックの読出要求を、更新信号の送信元である信号処理装置１０ａ−１へ送信する（ステップＳ２２５）。
【０１３５】
信号処理装置１０ａ−１の通信制御部１１３は、読出要求を受信する。読出要求を受信すると、通信制御部１１３は、作成したブロックについてのブロック情報を、読出要求を送信した信号処理装置１０ａへ送信する（ステップＳ２２６）。
【０１３６】
信号処理装置１０ａ−２〜１０ａ−６のうち少なくともいずれかの信号処理装置１０ａの通信制御部１１３は、ブロック情報を受信する。ブロック情報を受信した信号処理装置１０ａの記憶制御部１１１ａは、受信したブロック情報に基づき、信号処理装置１０ａ−１が作成したブロックが正しいか否かを検証する（ステップＳ２２７）。正しさが検証された場合、記憶制御部１１１ａは、ブロック情報に基づいてブロックを作成し（ステップＳ２２８）、作成したブロックをブロックチェーンに追加する（ステップＳ２２９）。正しさが検証されない場合、記憶制御部１１１ａは、信号処理装置１０ａ−１で作成されたブロックを承認しない。
【０１３７】
信号処理装置１０ａ−１〜１０ａ−６の記憶制御部１１１ａは、例えば、ブロックチェーンに連結されるブロックに、予め設定された数のブロックが直列して連結されると、予め設定された数のブロックが連結されたブロックに含まれる履歴が確定されたと判断してもよい。
【０１３８】
なお、スケジュール設定データ１２１ａを共有する際の信号処理装置１０ａ−１〜１０ａ−６の動作は図２２に限定されない。例えば、信号処理装置１０ａの通信制御部１１３は、他の信号処理装置１０ａから送信されたブロックが承認された場合、つまり、ブロックチェーンに連結された場合、更新信号を予め設定されている信号処理装置１０ａへ送信してもよい。これにより、例えば、ネットワーク、又は信号処理装置１０ａのいずれかに問題が発生したとしても、最新のスケジュール設定データ１２１ａが信号処理装置１０ａ−１〜１０ａ−６間で共有されることになる。
【０１３９】
また、信号処理装置１０ａの通信制御部１１３は、読出要求を送信した後、予め設定した期間経過してもブロック情報が受信されない場合、異なる信号処理装置１０ａへ読出要求を送信してもよい。
【０１４０】
また、記憶部１２ａに記憶されているスケジュール設定データ１２１ａの更新は、信号処理装置１０ａ−１への指示の入力をトリガとするものに限られない。信号処理装置１０ａ−１の記憶制御部１１１ａは、自装置内で新たなレコードデータが作成されたことをトリガとして、ブロックを作成してもよい。例えば、信号処理装置１０ａ−１のＲＰＡ管理部１１２ａは、ジョブ設定データに含まれる情報に基づき、新たなレコード番号が付されたレコードデータを作成する。ＲＰＡ管理部１１２ａによりレコードデータが作成されるタイミングは、所定の時刻でもよいし、操作者により指定されたときであってもよい。記憶制御部１１１ａは、新たに作成されたレコードデータを含むようにブロックを作成する。
【０１４１】
図２３は、図１８に示される監視統制システム１ａにおいて作業結果データ１２２ａが共有される際の信号処理装置１０ａ−１〜１０ａ−６の動作の例を説明する図である。なお、図２３では、信号処理装置１０ａ−１でＲＰＡアプリがジョブを実行することで作業結果が作成される場合を例に説明する。
【０１４２】
信号処理装置１０ａ−１のＲＰＡ管理部１１２ａは、記憶部１２ａに記憶されるスケジュール設定データ１２１ａを参照し、カウントしている時刻が稼働開始時刻に達すると、ＲＰＡアプリへ起動指示を出す。起動指示を受けると、ＲＰＡアプリは設定されているジョブを実行する。ＲＰＡアプリは、実行したジョブが完了すると、結果通知をＲＰＡ管理部１１２ａへ返す。結果通知を受けると、ＲＰＡ管理部１１２ａは、作業結果を作成する（ステップＳ２３１）。
【０１４３】
信号処理装置１０ａ−１の記憶制御部１１１ａは、作成された作業結果に含まれるスケジュールバージョンを確認する（ステップＳ２３２）。記憶制御部１１１ａは、作業結果データアイテムを含むブロックを作成する（ステップＳ２３３）。具体的には、例えば、記憶制御部１１１ａは、ブロック番号を設定し、スケジュールバージョンが同一のブロックチェーンにおける前のブロックのブロックヘッダのハッシュ値を算出し、作業結果データアイテムのマークルルートを算出する。記憶制御部１１１ａは、ブロック番号、ハッシュ値、現在の時刻を表す時刻情報、及びマークルルートをブロックヘッダに含める。記憶制御部１１１ａは、ブロックヘッダと、取得した作業結果データアイテムとを含め、ブロックを作成する。記憶制御部１１１ａは、作成したブロックを、スケジュールバージョンが同一のブロックチェーンに追加する（ステップＳ２３４）。
【０１４４】
作成したブロックをブロックチェーンに追加すると、信号処理装置１０ａ−１の通信制御部１１３は、作業結果データ１２２ａ−１が更新されたことを表す更新信号を予め設定されている送信先へ送信する（ステップＳ２３５）。更新信号には、例えば、データ種類、更新が最初に実行された端末名、送信元のアドレス等が含まれ得る。
【０１４５】
信号処理装置１０ａ−２〜１０ａ−６の通信制御部１１３は、更新信号を受信する。更新信号を受信すると、信号処理装置１０ａ−２〜１０ａ−６の記憶制御部１１１ａは、更新信号に含まれるデータ種別、及び端末名に基づき、作業結果データ１２２ａ−１について新たに作成したブロックの読出要求を、更新信号の送信元である信号処理装置１０ａ−１へ送信する（ステップＳ２３６）。
【０１４６】
信号処理装置１０ａ−１の通信制御部１１３は、読出要求を受信する。読出要求を受信すると、通信制御部１１３は、作成したブロックについてのブロック情報を、読出要求を送信した信号処理装置１０ａへ送信する（ステップＳ２３７）。
【０１４７】
信号処理装置１０ａ−２〜１０ａ−６のうち少なくともいずれかの信号処理装置１０ａの通信制御部１１３は、ブロック情報を受信する。ブロック情報を受信した信号処理装置１０ａの記憶制御部１１１ａは、受信したブロック情報に基づき、信号処理装置１０ａ−１が作成したブロックが正しいか否かを検証する（ステップＳ２３８）。具体的には、例えば、記憶制御部１１１ａは、受信したブロック情報に含まれるスケジュールバージョンを確認する。記憶制御部１１１ａは、信号処理装置１０ａ−１についてのブロックチェーンのうち、スケジュールバージョンが同一のブロックチェーンについて、信号処理装置１０ａ−１が作成したブロックが正しいか否かを検証する。正しさが検証された場合、記憶制御部１１１ａは、ブロック情報に基づいてブロックを作成する（ステップＳ２３９）。記憶制御部１１１ａは、作成したブロックを、信号処理装置１０ａ−１についてのブロックチェーンのうち、スケジュールバージョンが同一のブロックチェーンに追加する（ステップＳ２３１０）。正しさが検証されない場合、記憶制御部１１１ａは、信号処理装置１０ａ−１で作成されたブロックを承認しない。
【０１４８】
信号処理装置１０ａ−１〜１０ａ−６の記憶制御部１１１ａは、例えば、ブロックチェーンに連結されるブロックに、予め設定された数のブロックが直列して連結されると、予め設定された数のブロックが連結されたブロックに含まれる履歴が確定されたと判断してもよい。
【０１４９】
なお、作業結果データ１２２ａを共有する際の信号処理装置１０ａ−１〜１０ａ−６の動作は図２３に限定されない。例えば、信号処理装置１０ａの通信制御部１１３は、他の信号処理装置１０ａから送信されたブロックが承認された場合、つまり、ブロックチェーンに連結された場合、更新信号を予め設定されている信号処理装置１０ａへ送信してもよい。
【０１５０】
また、信号処理装置１０ａの通信制御部１１３は、読出要求を送信した後、予め設定した期間経過してもブロック情報が受信されない場合、異なる信号処理装置１０ａへ読出要求を送信してもよい。
【０１５１】
〈信号処理装置でのジョブ管理〉
本実施形態に係る信号処理装置１０ａ−１〜１０ａ−６は、スケジュール設定データ１２１ａ、及び作業結果データ１２２ａ−１〜１２２ａ−６等に基づき、ジョブの実行状況を管理する。信号処理装置１０ａ−１〜１０ａ−６は、管理している実行状況を操作者へ提示するため、例えば、図１１〜図１７で示されるジョブ管理画面１４０を出力インタフェース１４としてのディスプレイに表示する。つまり、信号処理装置１０ａ−１〜１０ａ−６の表示制御部１１４ａは、記憶部１２ａに記憶されているスケジュール設定データ１２１ａ、及び作業結果データ１２２ａ−１〜１２２ａ−６等を参照し、図１１〜図１７で示されるジョブ管理画面１４０を表示するように、ディスプレイを制御する。
【０１５２】
以上のように、第２の実施形態では、監視統制システム１ａは、人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるＲＰＡアプリがそれぞれインストールされた複数の信号処理装置１０ａを備える。複数の信号処理装置１０ａのそれぞれは、記憶制御部１１１ａにより、ＲＰＡアプリの実行状況を管理するための管理データ１２１ａ，１２２ａを、複数の信号処理装置１０ａ間で互いに承認し合いながら記憶部１２ａに記憶する。複数の信号処理装置１０ａのそれぞれは、通信制御部１１３により、複数の信号処理装置１０ａと分散型ネットワークを形成し、管理データを複数の信号処理装置１０ａ間で共有する。そして、複数の信号処理装置１０ａのそれぞれは、ＲＰＡ管理部１１２により、管理データ１２１ａ，１２２ａに基づいてＲＰＡアプリにジョブを実行させるようにしている。これにより、どの信号処理装置１０ａも統制管理端末として使用することが可能となる。また、中央統制型運用とは異なり、中央統制端末がダウンしても運用を止めるリスクがなくなる。また、信号処理装置の動作を統括する統括サーバを設けなくてもよくなるため、システム導入の迅速化、及び導入コストの低下を期待することが可能となる。また、ブロックチェーン技術の利用により、管理データの改竄が困難となるようにしている。
【０１５３】
また、第２の実施形態では、管理データは、スケジュール設定データ１２１ａと、作業結果データ１２２ａとを含む。そして、複数の信号処理装置１０ａのそれぞれは、記憶制御部１１１ａにより、スケジュール設定データ１２１ａと、作業結果データ１２２ａとを、複数の信号処理装置１０ａ間で互いに承認し合いながら別々に更新するようにしている。これにより、スケジュール設定データ１２１ａと、作業結果データ１２２ａとを別々に管理することが可能となり、セキュリティがより向上することになる。
【０１５４】
また、第２の実施形態では、作業結果データ１２２ａを、信号処理装置毎に記憶するようにしている。これにより、スケジュール設定データ１２１ａにおいて所定の信号処理装置１０ａに対する変更があった場合、この信号処理装置１０ａと対応する作業結果データ１２２ａのみを更新することが可能となる。つまり、信号処理装置１０ａの処理負荷を軽減することが可能となる。
【０１５５】
また、第２の実施形態では、複数の信号処理装置１０ａのそれぞれは、監視部１１５により、作業結果データ１２２ａの更新が共有されたか否かを監視するようにしている。これにより、故障した信号処理装置１０ａを検出することが可能となり、故障した信号処理装置１０ａの役割を、空いている予備端末に移すことが可能となる。すなわち、故障が発生した場合であっても、運用を停止せず、迅速に復旧することが可能となる。
【０１５６】
また、上記第１及び第２の実施形態では、監視統制システム１，１ａが信号処理装置１０−１〜１０−６，１０ａ−１〜１０ａ−６を備える分散型システムである場合を例に説明した。しかしながら、監視統制システム１，１ａの構成はこれに限定されない。監視統制システム１，１ａの一部は、中央集権型システムであってもよい。すなわち、監視統制システム１，１ａは、分散型システムと、中央集権型システムとが混在したシステムであって構わない。このとき、監視統制システム１，１ａは、少なくともいずれかの信号処理装置の動作を統括する統括サーバを備える。また、信号処理装置１０−１〜１０−６，１０ａ−１〜１０ａ−６それぞれが、統括サーバと通信する機能を有していても構わない。これにより、監視統制システム１，１ａは、分散型システムとしても、中央集権型システムとしても利用可能となる。
【０１５７】
以上説明した少なくとも１つの実施形態によれば、監視統制システム１，１ａは、ソフトウェアロボットによるジョブの実行状況を監視し、ソフトウェアロボットを統制することができる。
【０１５８】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【０１５９】
１，１ａ…監視統制システム
１０，１０−１〜１０−６…信号処理装置
１０ａ，１０ａ−１〜１０ａ−６…信号処理装置
１１，１１ａ…処理部
１１１，１１１ａ…記憶制御部
１１２，１１２ａ…ＲＰＡ管理部
１１３…通信制御部
１１４，１１４ａ…表示制御部
１１５…監視部
１２，１２ａ…記憶部
１２１，１２１ａ…スケジュール設定データ
１２２，１２２−１〜１２２−６，１２２ａ，１２２ａ−１〜１２２ａ−６…作業結果データ
１３…入力インタフェース
１４…出力インタフェース
１４０…ジョブ管理画面
１４１…詳細情報領域
１４２…管理設定領域
１５…通信インタフェース
１６−１〜１６−３…ＲＰＡアプリ
２０，３０，３０−１〜３０−６…ブロックチェーン
２１〜２３，３１〜３３…ブロック
【要約】 
【課題】  ソフトウェアロボットによるジョブの実行状況を監視し、ソフトウェアロボットを統制する。
【解決手段】  監視統制システム１は、人間がコンピュータを操作して業務を遂行する手順に基づいて構築されるプログラムがそれぞれインストールされる複数の信号処理装置１０を具備する。前記複数の信号処理装置１０のそれぞれは、記憶部１２、通信制御部１１３、及び管理部１１２を備える。記憶部１２は、前記プログラムの実行状況を管理するための管理データを記憶する。通信制御部１１３は、前記複数の信号処理装置１０と分散型ネットワークを形成し、前記管理データを前記複数の信号処理装置１０間で共有する。管理部１１２は、前記管理データに基づいて前記プログラムに作業を実行させる。
【選択図】図１【図１】
0006755537.tif 000002
【図２】
0006755537.tif 000003
【図３】
0006755537.tif 000004
【図４】
0006755537.tif 000005
【図５】
0006755537.tif 000006
【図６】
0006755537.tif 000007
【図７】
0006755537.tif 000008
【図８】
0006755537.tif 000009
【図９】
0006755537.tif 000010
【図１０】
0006755537.tif 000011
【図１１】
0006755537.tif 000012
【図１２】
0006755537.tif 000013
【図１３】
0006755537.tif 000014
【図１４】
0006755537.tif 000015
【図１５】
0006755537.tif 000016
【図１６】
0006755537.tif 000017
【図１７】
0006755537.tif 000018
【図１８】
0006755537.tif 000019
【図１９】
0006755537.tif 000020
【図２０】
0006755537.tif 000021
【図２１】
0006755537.tif 000022
【図２２】
0006755537.tif 000023
【図２３】
0006755537.tif 000024