JP2021165882A - 管理プログラム,管理装置およびアプリケーションソフトウェア管理方法 - Google Patents

管理プログラム,管理装置およびアプリケーションソフトウェア管理方法 Download PDF

Info

Publication number
JP2021165882A
JP2021165882A JP2020068278A JP2020068278A JP2021165882A JP 2021165882 A JP2021165882 A JP 2021165882A JP 2020068278 A JP2020068278 A JP 2020068278A JP 2020068278 A JP2020068278 A JP 2020068278A JP 2021165882 A JP2021165882 A JP 2021165882A
Authority
JP
Japan
Prior art keywords
application
visualization
node
deployment destination
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020068278A
Other languages
English (en)
Inventor
耕二 仲道
Koji Nakamichi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020068278A priority Critical patent/JP2021165882A/ja
Publication of JP2021165882A publication Critical patent/JP2021165882A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】機器におけるアプリケーションソフトウェアの動作確認を容易に実現できるようにする。【解決手段】機器2において実行されるアプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成する作成部102と、作成したログ出力プログラムを、アプリケーションソフトウェアとともに数の機器2のそれぞれに配布する配布部103とを備える。【選択図】図2

Description

本発明は、管理プログラム,管理装置およびアプリケーションソフトウェア管理方法に関する。
近年、ICT(Information and Communication Technology)システムの大きな潮流として、IoT(Internet of Things)が注目を浴びており、様々な分野においてIoT実現に向けた技術開発が行なわれ、新サービスが立ち上がってきている。IoTとは、従来はインターネットに直接接続されてこなかった機器や物品が、それ自身がインターネットに接続できるようになることである。例えば、従来から、コンピュータやモバイル端末などの人間が操作する情報通信機器はインターネットに接続されている。これらの機器に加え、IoTでは、センサや計測器機器、家電や制御機器、さらにはRFID(Radio Frequency IDentifier)などによってタグ付けされた物品までも、インターネットに接続される。
IoTを用いたサービスを実現するシステム(IoTシステム)は、様々な機器によって構成される分散処理システムであり、それらの機器が連携動作することでIoTを用いたサービスが実現される。このような、複数の機器が分散して配置されたシステムを分散環境といってもよい。
各機器には、その機器に実行させる処理に対応するIoTアプリケーションソフトウェア(IoTアプリ)がインストールされる。IoTアプリは、IoTシステムに含まれる機器に、その機器に割り当てられたデータ処理を実行させるためのソフトウェアである。各機器が、その機器に割り当てられたデータ処理を実行することで、複数の機器による連係動作が可能となる。
例えば、下記特許文献1には、分散環境上で動作するアプリを一元的に定義して、各機器に配備する手法が開示されている。
分散環境における各アプリの動作確認は、分散された機器毎の各種ログ情報を一か所のサーバに収集して分析したり、可視化したりするなどして行なう。ログ情報を収集するためには、事前に各機器で動作するアプリにおいて、ログ情報の収集ロジックを定義したり、収集したログの転送先情報を設定したりしておく必要がある。
分散環境における各アプリの動作確認手法として、例えば、IoT向けのアプリ開発環境として知られるNode−RED(登録商標)を用いた手法が知られている。Node−REDでは、デバッグノードをアプリ内に配備することで、アプリ内で転送されるメッセージの内容などの情報(アプリログ)をNode−RED画面内のデバッグ情報表示領域に表示することができる。
またNode−REDでは、dashboardというノード群を用いてアプリ動作中に任意の情報に対してグラフ表示などの可視化を行なうための可視化アプリを定義する機能も備える。
上述の如く、一元的に定義したアプリを分散環境の各機器に配備し、これらの配備したアプリの動作確認を行なうためには、例えば、各機器のNode−REDにアクセスし、ログ情報を確認することでアプリの動作確認を行なうことが考えられる。また、各機器のNode−REDにアクセスした上で、さらにdashboard機能を用いて可視化アプリを定義して可視化することも考えられる。
国際公開第2019/138570号 特開2010−072830号公報 特開2015−115013号公報 特表2014−534487号公報
しかしながら、ログ情報はファイルに出力されたものであるので、各機器のNode−REDにアクセスし、ログ情報を確認する手法においては、ログ情報を用いたリアルタイムでの動作確認が難しいという課題がある。
また、dashboard機能を用いて可視化アプリを定義して可視化する手法においては、可視化アプリによりリアルタイムでの動作確認が可能になるが、機器毎に人手で可視化のためのアプリを定義する必要があるので、配備する機器が多い場合に作業量が多くなり煩雑であるという課題がある。
1つの側面では、本発明は、機器におけるアプリケーションソフトウェアの動作確認を容易に実現できるようにすることを目的とする。
このため、この管理プログラムは、通信回線を介して接続される複数の機器のそれぞれにアプリケーションソフトウェアを供する管理装置のプロセッサに、前記機器において実行される前記アプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成し、作成した前記ログ出力プログラムを、前記アプリケーションソフトウェアとともに前記複数の機器のそれぞれに配布する処理を実行させる。
一実施形態によれば、機器におけるアプリケーションソフトウェアの動作確認を容易に行なうことができる。
実施形態の一例としてのコンピュータシステムの機能構成を模式的に示す図である。 実施形態の一例としてのコンピュータシステムの機能ブロック図である。 実施形態の一例としてのコンピュータシステムにおける可視化処理付加アプリを例示する図である。 実施形態の一例としてのコンピュータシステムにおけるアプリ開発サーバの可視化アプリ生成部の処理を説明するためのフローチャートである。 図4のステップA3の処理の詳細を説明するためのフローチャートである。 実施形態の変形例のコンピュータシステムを実現するための機能構成を模式的に示す図である。 実施形態の変形例のコンピュータシステムにおける可視化処理付加アプリを例示する図である。 実施形態の変形例としてのコンピュータシステムにおけるアプリ開発サーバの可視化アプリ生成部の処理を説明するためのフローチャートである。 図8のステップB5における処理の詳細を説明するためのフローチャートである。 IoTシステム構成の一例を示す図である。 実施形態の一例としてのコンピュータシステムにおけるアプリ開発サーバのハードウェア構成を例示する図である。
以下、図面を参照して本管理プログラム,管理装置およびアプリケーションソフトウェア管理方法にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(I)実施形態の説明
(A)構成
図1は実施形態の一例としてのコンピュータシステム1の機能構成を模式的に示す図であり、アプリケーション開発環境の一例を示す図である。また、図2は実施形態の一例としてのコンピュータシステム1の機能ブロック図である。
コンピュータシステム1は、図1に示すように、アプリ開発サーバ10と、管理者端末6と、複数(図1に示す例では2つ)の配備先機器2−1,2−2とを備える。
アプリ開発サーバ10は、管理者端末6および配備先機器2−1,2−2のそれぞれと図示しないネットワーク(通信回線)を介して通信可能に接続されている。以下、配備先機器2−1,2−2を特に区別しない場合には、配備先機器2と表記する。また、配備先機器2−1を配備先機器#1と表す場合があり、配備先機器2−2を配備先機器#2と表す場合がある。
[1.アプリ開発サーバ10]
アプリ開発サーバ10は、配備先機器2−1,2−2に実行させるアプリケーションソフトウェア(以下、単にアプリという場合がある)を生成し、これらの生成したアプリを図示しない通信回線を介して配備先機器2−1,2−2に送信して実行可能な状態にする。以下、アプリを配備先機器2に送信して実行可能な状態にすることを配備するという場合がある。また、以下、配備先機器2−1,2−2が配備されるシステムを管理対象システムという場合がある。
管理対象システムは、様々な機器によって構成される分散処理システムであり、それらの機器が連携動作することでサービスが実現される。管理対象システムは、複数の機器が分散して配置された分散環境を実現するものである。管理対象システムは、例えば、IoTシステムであってもよい。IoTシステムにおいてインターネットに接続された機器が配備先機器2に相当する。
アプリ開発サーバ10は、通信回線を介して接続される複数の配備先機器2のそれぞれにアプリケーションソフトウェア(配備先アプリ32)を供する管理装置に相当する。
また、アプリ開発サーバ10は、管理対象システムを機能させるためのアプリを生成する。アプリ開発サーバ10は、例えば、フローベースのアプリケーション開発環境を有し、図1に示すように、全体アプリフロー定義機能4と分配アプリ生成/配備処理機能5とを備える。
アプリ開発サーバ10は、図2に示すように、分配アプリ生成部101,可視化アプリ生成部102,配備処理部103およびアプリフロー処理部104を備える。アプリフロー処理部104が全体アプリフロー定義機能4を実現し、分配アプリ生成部101,可視化アプリ生成部102および配備処理部103が分配アプリ生成/配備処理機能5を実現する。
全体アプリフロー定義機能4は、アプリ開発者からの入力に従って、全体アプリフローを定義(作成)する。
全体アプリフローは、例えば、管理対象システムに実現させる処理の処理手順であり、全体アプリフローデータは全体アプリフローを定義するデータである。
アプリフロー処理部104は、例えばNode−REDなどのフローベースのアプリ開発環境により実現される。例えば、アプリフロー処理部104は、Webブラウザ上に全体アプリフローの編集画面を表示させることで、アプリ開発者に全体アプリフローの編集画面を提示する。
アプリ開発者は、全体アプリフローの編集画面において、特定のデータ処理機能を実現する複数のノードのオブジェクトを配置し、これらのオブジェクト同士を繋げることで、管理対象システムに実行させるデータ処理の流れ(全体アプリフロー)を定義(作成)する。すなわち、ノードを表すオブジェクトをグラフィカルに接続するだけで、プログラミング言語によるコーディングなしに管理対象システムに実行させるアプリを開発することができる。ノードは機能単位を表すものであり、処理ブロックといってもよい。
アプリフロー処理部104は、このようにしてアプリ開発者が全体アプリフローの編集画面において行なった入力に応じて、全体アプリフローの編集画面内で全体アプリフローを作成する。
アプリフロー処理部104は、アプリ開発者が全体アプリフロー編集画面上での全体アプリフローを作成すると、この全体アプリフローを表す全体アプリフローデータを生成し、この生成した全体アプリフローデータを記憶部に格納する。
全体アプリフローデータは、例えばJSON(JavaScript Object Notation)によって記述される。なお、JavaScriptは登録商標である。全体アプリフローデータには、ノードに応じて配備先機器2に実行させる処理を定義する情報(データ処理定義情報)が記述されている。
また、ノードに関するデータ処理定義情報内には、処理結果の転送先ノードの識別子がwiresプロパティ情報として設定されている。つまり、あるノードのwiresプロパティ情報をたどることでノード間の接続関係がわかる。
なお、複数のノードをグループ化してサブフローとして定義することも可能である。サブフローを複数接続することで1つの全体アプリを定義してもよい。
分配アプリ生成/配備処理機能5は、各配備先機器2に実行させるアプリを生成し、各配備先機器2に配備させる。分配アプリ生成/配備処理機能5は、後述する配備先アプリ32と可視化アプリ31とを備える可視化処理付加アプリ3を作成し、この可視化処理付加アプリ3を配備先機器2に配備する。
図3は実施形態の一例としてのコンピュータシステム1における可視化処理付加アプリ3を例示する図である。
――分配アプリ生成部101――
分配アプリ生成部101は、アプリフロー処理部104が作成した全体アプリフローに基づいて、各配備先機器2に応じた配備先アプリ32を作成する。
例えば、フローベースのアプリケーション開発環境の1つであるNode−REDの動作環境は、さまざまなOS(Operating System)上に構築することができる。分配アプリ生成/配備処理機能5は、このようなNode−REDの機能を用いることで実現してもよい。
以下、全体アプリフローに基づいて作成された配備先機器2に実行させるアプリを配備先アプリ32−1,32−2という場合がある。配備先アプリ32−1,32−2は、配備先機器2に応じて生成される。配備先アプリを分配アプリといってもよい。配備先アプリ(分配アプリ)32―1は配備先機器2−1に配備され、配備先アプリ(分配アプリ)32−2は配備先機器2−2に配備される。
以下、配備先アプリ32−1,32−2を特に区別しない場合には、配備先アプリ32と表記する。同様に、以下、分配アプリ32−1,32−2を特に区別しない場合には、分配アプリ32と表記する。
例えば、アプリ開発者は、上述した全体アプリフローの編集画面において、ノードまたはサブフローごとに、そのノードまたはサブフローに対応する機能を実行させる配備先機器2を選択(配備先選択)する。分配アプリ生成部101は、全体アプリフロー内のノードを、配備先機器2ごとに分割する。
配備先アプリ32には複数のノードが含まれてもよく、例えば、配備先機器2に複数の処理を連続して行なわせるために、一の配備先アプリ32にこれらの複数の処理に対応するノードを含めることができる。配備先アプリ(分配アプリ)32は、配備先機器2にいて実行されるアプリケーションソフトウェアに相当する。
図3に例示する可視化処理付加アプリ3に備えられる配備先アプリ32は、入力ノードA,中間ノードBおよび出力ノードCを備える。これらの入力ノードA,中間ノードBおよび出力ノードCの間には実行順序が定められており、入力ノードA,中間ノードB,出力ノードCの順に実行される。配備先機器2において配備先アプリ32を実行することにより順番に実行されるこれらのノードA,B,Cによる一連の処理を配備先アプリフローという場合がある。配備先機器2は、配備先アプリ32を実行することで配備先アプリフローを実現する。
入力ノードAは、配備先アプリ32においてデータ取得処理を実現するノードである。中間ノードBは、配備先アプリ32において取得したデータに対する演算処理を実現するノードである。出力ノードCは、配備先アプリ32において演算処理の結果を出力(送信)する出力処理を実現するノードである。
例えば、一の配備先機器2−1において、入力ノードAはセンサデバイス制御を実施する。中間ノードBはセンサ入力値を加工し、この加工したセンサ入力値を出力ノードCが出力してもよい。また、この配備先機器2−1の下流側に配置された配備先機器2−2において、加工したセンサ入力値を入力ノードAが受信し、中間ノードBにおいてセンサ入力値にフィルタリングを行ない、このフィルタリングしたデータを出力ノードCが送信してもよい。
また、配備先アプリ32においては、入力ノードA,中間ノードBおよび出力ノードCの少なくともいずれかを複数備えてもよい。例えば、中間ノードBは、例えば、Node−REDのFunctionノードであってもよい。Functionノードは、Javascript(登録商標)で任意のロジックを記述することで作成され、入力したデータを操作するノードである。
分配アプリ生成部101は、全体アプリフローにおいてノード間に設定された接続線(図示省略)に基づいて、ノード間の関連付け(データの送受信の設定等)を行なうことで、配備先機器2ごとの配備先アプリ32の生成を行なってもよい。なお、配備先アプリ(配備先アプリ)32の生成は既知の手法(例えば、上記特許文献1参照)を用いて実現することができ、その説明は省略する。
分配アプリ生成部101は、作成した配備先アプリ32を、例えば、メモリ12(図11参照)の所定の記憶領域に格納する。
――可視化アプリ生成部102――
可視化アプリ生成部102は、配備先機器2−1,2−2(分配アプリ32)毎に、これらの配備先機器2−1,2−2(分配アプリ32)に対応する可視化アプリ31−1,31−2をそれぞれ生成する。
例えば、可視化アプリ生成部102は、配備先アプリ32−1に対応付けて可視化処理アプリ31−1を生成する。配備先アプリ32−1および可視化アプリ31−1は配備先機器2−1によって実行される。同様に、可視化アプリ生成部102は、配備先アプリ32−2に対応付けて可視化アプリ31−2を生成する。配備先アプリ32−2および可視化アプリ31−2は配備先機器2−2によって実行される。
以下、可視化アプリ31−1,31−2を特に区別しない場合には、可視化アプリ31と表記する。また、可視化アプリ31−1を可視化アプリ#1と表す場合があり、可視化アプリ31−2を可視化アプリ#2と表す場合がある。さらに、配備先アプリ32−1を配備先アプリ#1と表す場合があり、配備先アプリ32−2を配備先アプリ#2と表す場合がある。
可視化アプリ31は、配備先機器2に実行されることで、当該配備先機器2において実行される配備先アプリ32から当該配備先アプリ32の実行ログ情報を収集し、アプリ開発者に提示する機能を実現する。以下、配備先機器2において配備先アプリ32から収集される実行ログ情報を可視化対象情報という場合がある。実行ログ情報は、アプリ開発者に提示される情報である。可視化アプリ31は、配備先機器2において可視化対象情報を収集してアプリ開発者に提示する可視化対象情報提示機能を実現する。配備先アプリフローのノードから収集される可視化対象情報は、アプリ開発者に提示されるものであり、この可視化対象情報を表示対象情報といってもよい。
可視化アプリ生成部102は、配備先アプリ32に含まれるノード(第1処理ブロック)における可視化対象情報(実行ログ情報)を特定する。
可視化対象情報は、配備先アプリ(アプリケーションソフトウェア)32の実行ログ情報に相当する。また、可視化アプリ31は、配備先機器2において実行される配備先アプリ32の実行ログ情報(可視化対象情報)を出力するログ出力プログラムに相当する。
可視化アプリ生成部102は、配備先アプリ32のそれぞれに対して可視化アプリ31を生成する。可視化アプリ生成部102は、可視化アプリ31を生成する対象の配備先アプリ32(以下、対象配備先アプリ32という場合がある)の配備先アプリフローから、この配備先アプリフローに含まれる1つ以上のノードを特定する。
可視化アプリ生成部102は、配備先アプリフローに含まれるノードに対応させて可視化ノードを作成する。可視化アプリ生成部102は、配備先アプリフローのノードにおいて可視化対象情報を特定し、この可視化対象情報を、当該配備先アプリフローのノードに対応する可視化ノードに設定する。例えば、可視化アプリ生成部102は、配備先機器2において、可視化アプリ31が配備先アプリ32のノードにおける可視化対象情報にアクセスするための情報(例えば、メモリアドレスやポインタ)を可視化ノードに設定する。
可視化ノードは、当該可視化アプリ31に対応する配備先アプリ32のノードに対応して備えられ、可視化アプリ生成部102は配備先アプリ32の1つのノードに対して1つの可視化ノードを作成する。
配備先アプリフローに複数のノードが含まれる場合には、可視化アプリ生成部102はこれらのノードと同数の複数の可視化ノードを生成する。そして、可視化アプリ生成部102は、配備先アプリフローにおけるこれらのノードの処理順序に応じて、複数の可視化ノードに対して順序付けを行なう。
図3に示す例においては、配備先アプリ32(配備先アプリフロー)は、入力ノードA,中間ノードBおよび出力ノードCの3つのノードを備える。可視化アプリ生成部102は、この配備先アプリ32に対応する可視化アプリ31について、これらの入力ノードA,中間ノードBおよび出力ノードCの各ノードと同数の3つの可視化ノードを生成する。
図3に示す例においては、可視化アプリ31に、配備先アプリ32の入力ノードA,中間ノードBおよび出力ノードCのそれぞれに対応させて生成された、入力ノードA用可視化ノード,中間ノードB用可視化ノードおよび出力ノードC用可視化ノードが備えられている。
可視化アプリ31においては、入力ノードA用可視化ノード,中間ノードB用可視化ノードおよび出力ノードC用可視化ノードの組み合わせにより可視化処理フローが実現される。可視化アプリ31において、可視化ノードの集合を可視化処理フローといってもよい。
可視化アプリ生成部102は、可視化処理フロー(可視化アプリ31)に対して、配備先機器2において配備先アプリ32から収集する可視化対象情報を設定する。
これらの入力ノードA用可視化ノード,中間ノードB用可視化ノードおよび出力ノードC用可視化ノードは、例えば、Node−REDのdashboardノードのグラフ表示ノードとしての機能をそれぞれ備える。
入力ノードA用可視化ノードは、配備先機器2において、配備先アプリ32における入力ノードAの可視化対象情報を取得しアプリ開発者に提示する機能モジュールとして機能する。中間ノードB用可視化ノードは、配備先アプリ32における中間ノードBの可視化対象情報を取得しアプリ開発者に提示する機能モジュールとして機能する。出力ノードC用可視化ノードは、配備先アプリ32における出力ノードCの可視化対象情報を取得しアプリ開発者に提示する機能モジュールとして機能する。
可視化アプリ生成部102は、配備先アプリフローに含まれるノードの可視化対象情報を、可視化アプリ31の対応する可視化ノードに処理対象情報(表示対象情報)として設定する。可視化対象情報には、配備先アプリフローに備えられる各ノードの出力ペイロード情報が用いられる。
図3に示す例においては、入力ノードA用可視化ノードには、配備先アプリフローの入力ノードAの出力側のペイロード情報(可視化対象情報)が処理対象情報として設定されている。中間ノードB用可視化ノードには、配備先アプリフローの中間ノードBの出力側のペイロード情報(可視化対象情報)が処理対象情報として設定されている。さらに、出力ノードC用可視化ノードには、配備先アプリフローの出力ノードCの出力側のペイロード情報(可視化対象情報)が処理対象情報として設定されている。
すなわち、可視化処理フローにおいては、対応する配備先アプリフロー中の可視化対象情報が可視化ノードの処理対象情報として設定される。
可視化アプリ生成部102は、可視化対象情報(実行ログ情報)を取得して出力させる可視化ノード(第2処理ブロック)を配備先アプリ(第1処理ブロック)32に対応させて生成することで、可視化ノードを備える可視化アプリ(ログ出力プログラム)31を作成する。
可視化対象情報には、配備先アプリ32(配備先アプリフロー)において生成される以下の情報(1)〜(3)のうちの少なくともいずれの情報が用いられる。なお、可視化対象情報はこれらの全ての情報を含んでもよい。
(1)配備先アプリフロー中の入力ノードの出力ペイロード情報
ただし、配備先アプリフローに複数の入力ノードがある場合には、各入力ノードの出力ペイロード情報毎に、可視化ノードが生成される。
(2)配備先アプリフロー中の出力ノードの出力ペイロード情報
ただし、配備先アプリフローに複数の出力ノードがある場合には、各出力ノードの出力ペイロード情報毎に、可視化ノードが生成される。
(3)配備先アプリフロー中のFunctionノードの出力ペイロード情報
ただし、配備先アプリフローに複数のFunctionノードがある場合には、各ノードの出力ペイロード情報毎に、可視化ノードが生成される。
なお、上述した(1)〜(3)のうち、どの可視化対象情報を可視化アプリの可視化ノードに処理対象情報として設定するかを、例えば、アプリ開発者等が、可視化アプリ表示対象データ項目として事前に設定できるようにしてもよい。
なお、可視化アプリ31が配備先機器2において、配備先アプリ32のノードにおける可視化対象情報にアクセスするための情報としては、例えば、アプリ開発サーバ10のメモリ12やレジスタのアドレスやポインタを用いてもよい。
可視化アプリ生成部102は、配備先機器2において実行される配備先アプリ32の可視化対象情報(実行ログ情報)を出力する可視化アプリ31(ログ出力プログラム)を作成する作成部に相当する。
可視化アプリ生成部102は、作成した可視化アプリ31を、例えば、メモリ12の所定の記憶領域に格納する。
――配備処理部103――
配備処理部103は、分配アプリ生成部101によって生成された配備先アプリ32−1に、可視化アプリ生成部102によって生成された可視化アプリ31を組み合わせた可視化処理付加アプリ3を作成する。配備処理部103は、作成した可視化処理付加アプリ3をメモリ12の所定の記憶領域に格納する。
そして、配備処理部103は、作成した可視化処理付加アプリ3を、当該可視化処理付加アプリ3を実行させる配備先機器2に配備させる。
すなわち、配備処理部103は、配備先アプリ32−1に可視化アプリ31−1を組み合わせて可視化処理付加アプリ3−1を作成し、この可視化処理付加アプリ3−1(配備先アプリ32−1および可視化アプリ31−1)を配備先機器2−1に送信して実行させる。また、配備処理部103は、配備先アプリ32−2に可視化アプリ31−2を組み合わせて可視化処理付加アプリ3−2を作成し、この可視化処理付加アプリ3−2(配備先アプリ32−2および可視化アプリ31−2)を配備先機器2−2に送信して実行させる。
なお、可視化処理付加アプリ3−1を可視化処理付加アプリ#1と表す場合があり、可視化処理付加アプリ3−2を可視化処理付加アプリ#2と表す場合がある。
配備処理部103は、可視化アプリ生成部102が作成した可視化アプリ(ログ出力プログラム)31を、配備先アプリ32とともに複数の配備先機器2のそれぞれに配布する配布部に相当する。
なお、配備処理部103において、アプリを配備先機器2に送信して実行させる手法は、既知の種々の手法により実現することができ、その説明は省略する。
[2.配備先機器2]
配備先機器2−1,2−2は、それぞれ図示しないプロセッサとメモリとを備え、アプリ開発サーバ10から配備される可視化処理付加アプリ3(配備先アプリ32,可視化アプリ31)を実行する情報処理装置である。図2に示すように、配備先機器2は、機能処理部201および可視化処理部202としての機能を備える。
機能処理部201は、管理対象システムの一部の機能として当該配備先機器2に割り当てられた機能を実現する。
配備先機器2のプロセッサがアプリ開発サーバ10から受信した配備先アプリ32を実行することで、機能処理部201としての機能が実現される。そして、配備先アプリ32の内容、すなわち、プログラム(ノード)の種類に応じて機能処理部201として実現される機能が変化する。機能処理部201は、管理対象システムにおいて当該配備先機器2に割り当てられた機能を実現するものであるといえる。
可視化処理部202は、当該可視化処理部202が機能する配備先機器2(以下、自配備先機器2という場合がある)の動作状態を示す情報を収集し、アプリ開発者が認識可能な情報(可視化情報)を生成し、この生成した可視化情報をアプリ開発者に対して出力する。
可視化処理部202は、自配備先機器2において、配備先アプリ32に備えられたノードの出力ペイロード情報を取得する。そして、可視化処理部202は、例えば、Node−REDのdashboard機能を用いて、出力ペイロード情報を用いて自配備先機器2の状態を示す可視化情報を生成する。
可視化処理部202は、例えば、Node−REDのdashboard機能を用いて、出力ペイロード情報をグラフ等を用いて表す動作可視化画面を作成する。可視化処理部202は、作成した動作可視化画面の情報を、図示しないネットワークを介して、管理者端末6に送信する。
配備先機器2のプロセッサがアプリ開発サーバ10から受信した可視化アプリ31を実行することで、この可視化処理部202としての機能が実現される。そして、可視化アプリ31の内容、すなわち、プログラム(ノード)の種類に応じて可視化処理部202として実現される機能が変化する。
[3.管理者端末6]
管理者端末6は、アプリ開発者が使用する情報処理装置である。アプリ開発者は、この管理者端末6を用いて、アプリ開発サーバ10に対する操作入力を行なう。例えば、アプリ開発者は、管理者端末6を用いて、全体アプリフロー定義の入力や、配備先機器2への可視化処理付加アプリ3の配備指示を入力する。
アプリ開発サーバ10の配備処理部103は、この管理者端末6から入力された可視化処理付加アプリ3の配備指示に従って、配備先機器2への可視化処理付加アプリ3の配備を行なう。
また、管理者端末6は、各配備先機器2から送信される動作可視化画面の情報を受信し、図示しないディスプレイに、各配備先機器2の状態を示す動作可視化画面を表示させる。アプリ開発者はこの動作可視化画面を見ることで、各配備先機器2の状態を知ることができる。
(B)動作
上述の如く構成された実施形態の一例としてのコンピュータシステム1におけるアプリ開発サーバ10の可視化アプリ生成部102の処理を、図4および図5に示すフローチャート(ステップA1〜A4,A31〜A33)に従って説明する。
図4のステップA1において、アプリ開発者が、管理者端末6を用いて、全体アプリフロー定義の入力を行なった後に、配備先機器2へのアプリの配備指示を入力する。
図4のステップA2において、アプリ開発サーバ10の分配アプリ生成部101(分配アプリ生成/配備処理機能5)が、配備先機器2毎に分配アプリ32を生成する。
図4のステップA3において、可視化アプリ生成部102(分配アプリ生成/配備処理機能5)が、ステップA2において作成した配備先アプリ32毎に可視化アプリ31を生成する。可視化アプリ生成部102は、可視化アプリ31に、対応する配備先アプリ32の可視化対象情報を設定する。
ここで、このステップA3における処理の詳細を、図5に示すフローチャート(ステップA31〜A33)に従って説明する。
図5のステップA31において、可視化アプリ生成部102は、配備先アプリフローにおける可視化対象情報を決定する。すなち、可視化アプリ生成部102は、配備先アプリ32に含まれる全てのノードを特定し、これらのノードのそれぞれの出力側のペイロード情報を可視化対象情報として決定する。
図5のステップA32において、可視化アプリ生成部102は、配備先アプリ32に含まれる全てのノードのそれぞれに対して可視化ノードを作成する。
図5のステップA33において、可視化アプリ生成部102は、生成した各可視化ノードの処理対象情報として、対応するノードの出力側のペイロード情報(可視化対象情報)を設定する。その後、処理は、図4のステップA4に移行する。
図4のステップA4において、配備処理部103(分配アプリ生成/配備処理機能5)は、配備先アプリ32と可視化アプリ31とを組み合わせた可視化処理付加アプリ3を、当該可視化処理付加アプリ3に対応する配備先機器2に配備させる。
可視化処理付加アプリ3が配備された配備先機器2においては、プロセッサが配備先アプリ32を実行することで管理対象システムにおいて当該配備先機器2に割り当てられた処理を実現する。また、当該プロセッサが可視化アプリ31を実行することで、当該配備先機器2において実行される配備先アプリ32から、当該配備先アプリ32の各ノードの出力側のペイロード情報(可視化対象情報)が読み出される。可視化アプリ31の可視化ノードは、配備先アプリ32から読み出した可視化対象情報を用いてアプリ開発者が視認可能な可視化情報を生成しアプリ開発者に提示する。
(C)効果
実施形態の一例としてのコンピュータシステム1によれば、可視化処理付加アプリ3が配備された配備先機器2において、プロセッサが可視化アプリ31を実行することで、当該配備先機器2において実行される配備先アプリ32から、当該配備先アプリ32に含まれる各ノードの出力側のペイロード情報(可視化対象情報)が読み出される。そして、可視化アプリ31の可視化ノードが、配備先アプリ32から読み出した可視化対象情報を用いてアプリ開発者が視認可能な可視化情報を生成しアプリ開発者に提示する。
これにより、アプリ開発者は、配備先機器2における配備先アプリ32の動作状況を容易に確認することができる。
また、アプリ開発サーバ10において可視化アプリ生成部102が可視化アプリ31を生成するので、アプリ開発者が人手で配備先アプリ32の状態を可視化するための定義設定等を行なう必要がなく利便性が高い。
(II)変形例の説明
以下に、本コンピュータシステム1の変形例として、特定の配備先機器2の配備先アプリ32にバグや不具合を発見した場合について示す。
特定の配備先機器2の配備先アプリ32にバグや不具合を発見した場合には、アプリ開発者は、発見されたバグや不具合を修正して、修正後の配備先アプリ32を、再度、配備先機器2に配備し、その動作確認を行なう必要がある。
その際、配備先アプリ32における修正部分の動作確認を行なうためには、全ての配備先機器2に配備先アプリ32の再配備を行なう代わりに、修正を行なった配備先アプリ32に対応する配備先機器2に対してのみ配備先アプリ32を配備することが効率的である。
本コンピュータシステム1において、アプリ開発者が配備先アプリ32のノード(第2処理ブロック)の修正を行なった状態(動作モード)を第2のフェーズという場合がある。これに対して、前述の如く、アプリ開発者が全体アプリフローの定義を行ない、この全体アプリフローに基づいて分配アプリ生成/配備処理機能5が可視化処理付加アプリ3を作成する状態(動作モード)を第1のフェーズという場合がある。
(A)構成
図6は実施形態の変形例のコンピュータシステム1を実現するための機能構成を模式的に示す図であり、アプリケーション開発環境の一例を示す図である。また、図7は実施形態の変形例のコンピュータシステム1における可視化処理付加アプリ3を例示する図である。なお、図中、既述の符号と同一の符号は同様同一もしくは略同一の部分を示しているので、その説明は省略する。
アプリ開発者は、管理者端末6を用いて、配備先アプリ32において発見した不具合を修正すべく全体アプリフローに含まれる特定の一部のノードに対して修正を行なう。全体アプリフロー定義機能4においては、全体アプリフローのうち、一部のノードに対してアプリ開発者から修正入力が行なわれる。
アプリフロー処理部104は、アプリ開発者が全体アプリフロー編集画面上での全体アプリフローの一部のノードに対して修正(編集)を行なうと、この修正後のノードを反映させた全体アプリフローを表す全体アプリフローデータを生成し、この生成した全体アプリフローデータを記憶部に格納する。
分配アプリ生成/配備処理機能5においては、アプリ開発サーバ10が一部のノードに修正を加えた全体アプリフローに基づいて、この修正されたノードを含む配備先アプリ32が再作成される。すなわち、分配アプリ生成部101は、修正されたノードを含む配備先アプリ32′を再作成する。
図6に示す例においては、分配アプリ生成部101により再作成された配備先アプリ32−1′は配備先機器2−1を配備先とするものであり、再作成された配備先アプリ32−1′を「修正箇所を含む配備先アプリ#1」と表している。
なお、図6に示す例において、配備先機器#2向けアプリ3−2は、アプリ開発者により修正がされていない配備先アプリ32−2(配備先アプリ#2)を含む。既に配備先機器2に配備された配備先機器#2向けアプリ3−2を配備先機器2に、再度、配備する必要はないので、この図6に示す例においては、便宜上、可視化アプリ31−2の図示を省略している。
分配アプリ生成部101は、アプリフロー処理部104が作成した全体アプリフローに基づいて、各配備先機器2に応じた配備先アプリ32′を再作成する。
図7に例示する可視化処理付加アプリ3に備えられる配備先アプリ32−1′は、入力ノードA,中間ノードBおよび出力ノードCを備え、中間ノードBに対してアプリ開発者による修正が加えられたものとする。この図7に示す例において、修正箇所を含む配備先アプリ32−1′における、修正された中間ノードBを「修正済中間ノードB」と表している。
分配アプリ生成部101は、アプリ開発者によって修正されたノードを用いて、この修正後のノードを含む配備先アプリ32′のみの再作成を行なう。修正後のノードを含む配備先アプリ32′を修正済配備先アプリ32′という場合がある。なお、配備先アプリ32の再作成(修正)は既知の手法(例えば、上記特許文献1参照)を用いて実現することができ、その説明は省略する。
分配アプリ生成部101は、作成した修正済配備先アプリ32′を、例えば、メモリ12の所定の記憶領域に格納する。
可視化アプリ生成部102は、分配アプリ生成部101により再作成された配備先アプリ32(修正済配備先アプリ32)に対応する可視化処理アプリ31′を再生成する。修正済配備先アプリ32′に対応する可視化処理アプリ31′を修正済可視化アプリ31′という場合がある。
可視化アプリ生成部102は、配備先アプリ32に備えられた複数のノード(第1処理ブロック)のうち一部のノードが修正された場合に、修正されたノードの可視化対象情報(実行ログ情報)取得して出力させる可視化ノード(第2処理ブロック)のみを備える可視化アプリ31を作成する。
可視化アプリ生成部102は、修正済配備先アプリ32′に含まれる修正されたノード(修正済ノード)に対応させて可視化ノードを再作成する。可視化アプリ生成部102は、配備先アプリフローの修正済ノードにおいて可視化対象情報を特定し、この可視化対象情報を、当該修正済ノードに対応する可視化ノードに設定する。例えば、可視化アプリ生成部102は、配備先機器2において、可視化アプリ31′が配備先アプリ32′のノードにおける可視化対象情報にアクセスするための情報(例えば、メモリアドレスやポインタ)を再作成する修正済可視化ノードに設定する。
図7に示す例においては、修正箇所を含む配備先アプリ32−1′(配備先アプリフロー)は、入力ノードA,修正済中間ノードBおよび出力ノードCの3つのノードを備える。
可視化アプリ生成部102は、この修正箇所を含む配備先アプリ32−1′における修正済中間ノードBに対応させて、可視化ノードを生成する。図7においては、再作成された可視化ノードを「修正済ノードB用可視化ノード」と表している。
そして、本変形例においては、この修正済ノードB用可視化ノードが可視化処理フローを構成する。修正済可視化ノードを備える可視化アプリ31−1′を修正済可視化アプリ31−1′という場合がある。
修正済ノードB用可視化ノードは、例えば、Node−REDのdashboardノードのグラフ表示ノードとしての機能を備え、配備先アプリ32′における修正済中間ノードBの可視化対象情報を取得しアプリ開発者に提示する機能モジュールとして機能する。
図7に示す例においては、修正済中間ノードB用可視化ノードには、配備先アプリフローの修正済中間ノードBの出力側のペイロード情報(可視化対象情報)が処理対象情報として設定されている。
すなわち、本変形例においても、可視化処理フローにおいて、対応する配備先アプリフロー中の可視化対象情報が可視化ノードの処理対象情報として設定される。
可視化アプリ生成部102は、作成した修正済可視化アプリ31′を、例えば、メモリ12の所定の記憶領域に格納する。
配備処理部103は、分配アプリ生成部101によって生成された修正済配備先アプリ32′に、可視化アプリ生成部102によって生成された修正済可視化アプリ31′を組み合わせた可視化処理付加アプリ3′(修正済可視化処理付加アプリ3′)を作成する。配備処理部103は、作成した修正済可視化処理付加アプリ3′をメモリ12の所定の記憶領域に格納する。
そして、配備処理部103は、作成した修正済可視化処理付加アプリ3′を、当該修正済可視化処理付加アプリ3′を実行させる配備先機器2に配備させる。
(B)動作
上述の如く構成された実施形態の変形例としてのコンピュータシステム1におけるアプリ開発サーバ10の可視化アプリ生成部102の処理を、図8および図9に示すフローチャート(ステップB1〜B6,B51〜B53)に従って説明する。
図8のステップB1において、アプリ開発者が、管理者端末6を用いて、全体アプリフロー定義中における特定のノードに対してバグ/不具合の修正を行なう。
図8のステップB2において、アプリ開発者は、修正済の全体アプリフローに基づく配備先機器2へのアプリの配備指示を入力する。
図8のステップB3において、アプリ開発サーバ10の分配アプリ生成部101(分配アプリ生成/配備処理機能5)が、配備先機器2毎に分配アプリ32を生成する。
図8のステップB4において、可視化アプリ生成部102(分配アプリ生成/配備処理機能5)は、全体アプリフローにおいて、アプリ開発者が修正を実施したノード(処理ブロック)の出力側のペイロード情報を可視化対象情報として特定する。
図8のステップB5において、可視化アプリ生成部102が、修正済ノードが配備される配備先機器2に対して、修正されたノード(修正済ノード)に対応させて可視化ノードを作成(再作成)する。
ここで、このステップB5における処理の詳細を、図9に示すフローチャート(ステップB51〜B53)に従って説明する。
図9のステップB51において、可視化アプリ生成部102は、修正箇所を含む配備先アプリフローにおける可視化対象情報を決定する。すなち、可視化アプリ生成部102は、修正済配備先アプリ32′に含まれる修正済ノードを特定し、この修正済ノードの出力側のペイロード情報を可視化対象情報として決定する。
図9のステップB52において、可視化アプリ生成部102は、修正箇所を含む配備先アプリ32に含まれる修正済ノードに対して可視化ノード(修正済ノード用可視化ノード)を作成する。
図9のステップB53において、可視化アプリ生成部102(分配アプリ生成/配備処理機能5)は、生成した修正済ノード用可視化ノードの処理対象情報として、対応する修正済ノードの出力側のペイロード情報(可視化対象情報)を設定する。その後、処理は、図8のステップB6に移行する。
図8のステップB6において、配備処理部103(分配アプリ生成/配備処理機能5)は、修正を行なった配備先アプリ32′に対応する配備先機器2に対して、修正済配備先アプリ32′と修正済可視化アプリ31′とを組み合わせた修正済可視化処理付加アプリ3′を配備させる。
修正済可視化処理付加アプリ3′が配備された配備先機器2においては、プロセッサが修正済配備先アプリ32′を実行することで管理対象システムにおいて当該配備先機器2に割り当てられた処理を実現する。また、当該プロセッサが修正済可視化アプリ31′を実行することで、当該配備先機器2において実行される修正済配備先アプリ32′から、当該修正済配備先アプリ32′の修正済ノードの出力側のペイロード情報(可視化対象情報)が読み出される。修正済可視化アプリ31′の可視化ノードは、修正済配備先アプリ32′から読み出した可視化対象情報を用いてアプリ開発者が視認可能な可視化情報を生成しアプリ開発者に提示する。
(C)効果
実施形態の変形例としてのコンピュータシステム1によれば、修正済可視化処理付加アプリ3′が配備された配備先機器2において、プロセッサが修正済可視化アプリ31′を実行することで、当該配備先機器2において実行される修正済配備先アプリ32′から、当該修正済配備先アプリ32′に含まれる各ノードの出力側のペイロード情報(可視化対象情報)が読み出される。そして、修正済可視化アプリ31′の可視化ノードが、修正済配備先アプリ32′から読み出した可視化対象情報を用いてアプリ開発者が視認可能な可視化情報を生成しアプリ開発者に提示する。
これにより、アプリ開発者は、配備先機器2における修正済配備先アプリ32′の動作状況を容易に確認することができる。
アプリ開発サーバ10においては、配備先アプリ32にバグや不具合を発見した特定の配備先機器2に対してのみ修正済可視化処理付加アプリ3′を作成して配備するので、バグや不具合の修正にかかる負荷を軽減し、処理時間を短縮することができる。
また、アプリ開発サーバ10において可視化アプリ生成部102が修正済可視化アプリ31′を生成するので、アプリ開発者が人手で修正済配備先アプリ32′の状態を可視化するための定義設定等を行なう必要がなく利便性が高い。
(III)その他
図10はIoTシステム構成の一例を示す図である。IoTシステムは、様々な機器を用いて構築される。例えばIoTシステムには、センサ301およびセンサ301と接続してセンサデータの送受信を行なうセンサノード401が1つ以上含まれる。また、IoTシステムには、センサノード401とクラウドコンピューティングシステムとの間でデータを中継するGW(ゲートウェイ)ノード501が含まれる。GWノード501は、例えば広域ネットワーク20を介してクラウドコンピューティングシステムに接続される。
クラウドコンピューティングシステムは、複数のサーバ502を含んでいる。サーバ502には、Webサーバ、アプリケーションサーバ、データベースサーバなどの、各種サーバが含まれる。
さらに、広域ネットワーク20には、複数の端末装置601が接続されている。端末装置601は、例えばパーソナルコンピュータ、またはモバイル端末装置である。
広域ネットワーク20には、さらにアプリ開発サーバ10が接続されている。アプリ開発サーバ10は、IoTシステムに含まれる複数の機器それぞれに実行させる分配アプリを作成し、分配アプリを各機器に配備する。
このように、IoTシステムには、様々な種別の装置が、分配アプリの配備先として存在する。図10に例示するIOTシステムにおいては、センサノード401,GWノード501、サーバ502,端末装置601のそれぞれが、配備先機器2である。なお、センサノード401,GWノード501,サーバ502,端末装置601およびアプリ開発サーバ10は、例えばコンピュータによって実現される。
図11は実施形態の一例としてのコンピュータシステム1におけるアプリ開発サーバ10のハードウェア構成を例示する図である。
アプリ開発サーバ10は、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11〜18は、バス19を介して相互に通信可能に構成される。
プロセッサ(処理部)11は、アプリ開発サーバ10全体を制御する。プロセッサ11は、マルチプロセッサであってもよく、マルチコアプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは、アプリ開発サーバ10の主記憶装置として使用される。RAMには、プロセッサ11に実行させるOSやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAMには、プロセッサ11による処理に必要な各種データが格納される。
本実施形態および変形例の全体アプリフロー定義機能4および分配アプリ生成/配備処理機能5を実現するためにプロセッサ11によって実行される管理プログラムが、アプリケーションプログラムに含まれてもよい。
記憶装置13は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、アプリ開発サーバ10の補助記憶装置として使用される。記憶装置13には、OS,タスク処理プログラムおよび各種データが格納される。なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD−RAM,CD−ROM(Compact Disc Read Only Memory),CD−R(Recordable)/RW(ReWritable)等が挙げられる。
機器接続インタフェース17は、アプリ開発サーバ10に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
ネットワークインタフェース18は、図示しないネットワークや広域ネットワーク20に接続される。ネットワークインタフェース18は、ネットワークを介して、配備先機器2等の他のコンピュータまたは通信機器との間でデータの送受信を行なう。
以上のようなハードウェア構成を有するアプリ開発サーバ10において、プロセッサ11が管理プログラムを実行することで、図2に例示するアプリフロー処理部104,分配アプリ生成部101,可視化アプリ生成部102および配備処理部103としての機能が実現される。
なお、アプリ開発サーバ10は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(管理プログラム等)を実行することにより、本実施形態の全体アプリフロー定義機能4および分配アプリ生成/配備処理機能5を実現する。コンピュータ10に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、アプリ開発サーバ10に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
また、アプリ開発サーバ10(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
また、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
上述した実施形態においては、可視化アプリ31の可視化ノードが、Node−REDのdashboardノードのグラフ表示ノードとしての機能を備える例を示しているが、これに限定されるものではない。可視化ノードは他の種々の機能を用いて、収集した可視化対象情報をアプリ開発者に提示してもよい。
また、上述した実施形態においては、可視化アプリ31がアプリ開発者に提示する可視化対象情報として配備先アプリ32の各ノードの出力側のペイロード情報を用いる例を示しているが、これに限定されるものではない。可視化対象情報として他の種々の情報を用いてもよく、適宜変更して実施することができる。
さらに、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(IV)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
通信回線を介して接続される複数の機器のそれぞれにアプリケーションソフトウェアを供する管理装置のプロセッサに、
前記機器において実行される前記アプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成し、
作成した前記ログ出力プログラムを、前記アプリケーションソフトウェアとともに前記複数の機器のそれぞれに配布する
処理を実行させる、管理プログラム。
(付記2)
前記アプリケーションソフトウェアに含まれる第1処理ブロックにおける前記実行ログ情報を特定し、
前記実行ログ情報を取得して出力させる第2処理ブロックを前記第1処理ブロックに対応させて生成することで、前記第2処理ブロックを備える前記ログ出力プログラムを作成する
処理を、前記プロセッサに実行させる、付記1記載の管理プログラム。
(付記3)
前記アプリケーションソフトウェアが複数の前記第1処理ブロックを備え、前記複数の第1処理ブロックのうち一部の第1処理ブロックが修正された場合に、
修正された前記第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
処理を、前記プロセッサに実行させる、付記2記載の管理プログラム。
(付記4)
第1のフェーズにおいては、前記複数の第1処理ブロックのそれぞれに対応して備えられ、前記複数の第1処理ブロックの各出力情報を取得して出力させる複数の前記第2処理ブロックを備える前記ログ出力プログラムを作成し、
第2のフェーズにおいては、前記複数の第1処理ブロックのうち、修正がされた一部の第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
処理を、前記プロセッサに実行させる、付記3記載の管理プログラム。
(付記5)
通信回線を介して接続される複数の機器のそれぞれにアプリケーションソフトウェアを供する管理装置において、
前記機器において実行される前記アプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成する作成部と、
作成した前記ログ出力プログラムを、前記アプリケーションソフトウェアとともに前記複数の機器のそれぞれに配布する配布部と
を備えることを特徴とする、管理装置。
(付記6)
前記作成部が、
前記アプリケーションソフトウェアに含まれる第1処理ブロックにおける実行ログ情報を特定し、
前記実行ログ情報を取得して出力させる第2処理ブロックを前記第1処理ブロックに対応させて生成することで、前記第2処理ブロックを備える前記ログ出力プログラムを作成する
ことを特徴とする、付記5記載の管理装置。
(付記7)
前記作成部が、
前記アプリケーションソフトウェアが複数の前記第1処理ブロックを備え、前記複数の第1処理ブロックのうち一部の第1処理ブロックが修正された場合に、
修正された前記第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
ことを特徴とする、付記6記載の管理装置。
(付記8)
前記作成部が、
第1のフェーズにおいては、前記複数の第1処理ブロックのそれぞれに対応して備えられ、前記複数の第1処理ブロックの各出力情報を取得して出力させる複数の前記第2処理ブロックを備える前記ログ出力プログラムを作成し、
第2のフェーズにおいては、前記複数の第1処理ブロックのうち、修正がされた一部の第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
ことを特徴とする、付記7記載の管理装置。
(付記9)
通信回線を介して接続される複数の機器のそれぞれにアプリケーションソフトウェアを供する管理装置において、
前記機器において実行される前記アプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成し、
作成した前記ログ出力プログラムを、前記アプリケーションソフトウェアとともに前記複数の機器のそれぞれに配布する
ことを特徴とする、アプリケーションソフトウェア管理方法。
(付記10)
前記アプリケーションソフトウェアに含まれる第1処理ブロックにおける実行ログ情報を特定し、
前記実行ログ情報を取得して出力させる第2処理ブロックを前記第1処理ブロックに対応させて生成することで、前記第2処理ブロックを備える前記ログ出力プログラムを作成する
ことを特徴とする、付記9記載のアプリケーションソフトウェア管理方法
(付記11)
前記アプリケーションソフトウェアが複数の前記第1処理ブロックを備え、前記複数の第1処理ブロックのうち一部の第1処理ブロックが修正された場合に、
修正された前記第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
ことを特徴とする、付記10記載のアプリケーションソフトウェア管理方法。
(付記12)
第1のフェーズにおいては、前記複数の第1処理ブロックのそれぞれに対応して備えられ、前記複数の第1処理ブロックの各出力情報を取得して出力させる複数の前記第2処理ブロックを備える前記ログ出力プログラムを作成し、
第2のフェーズにおいては、前記複数の第1処理ブロックのうち、修正がされた一部の第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
ことを特徴とする、付記11記載のアプリケーションソフトウェア管理方法。
1 情報処理システム
2−1,2−2,2 配備先機器
3−1,3−2,3 可視化処理付加アプリ
3−1′,3−2′,3′ 修正済可視化処理付加アプリ
4 全体アプリフロー定義機能
5 分配アプリ生成/配備処理機能
6 管理者端末
10 アプリ開発サーバ
11 プロセッサ
12 メモリ
13 記憶装置
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
20 広域ネットワーク
31−1,31−2,31 可視化アプリ
31−1′,31−2′,31′ 修正済可視化アプリ
32−1,32−2,32 分配アプリ,配備先アプリ
32−1′,32′ 修正済配備先アプリ
101 分配アプリ生成部
102 可視化アプリ生成部
103 配備処理部
104 アプリフロー処理部
201 機能処理部
202 可視化処理部

Claims (6)

  1. 通信回線を介して接続される複数の機器のそれぞれにアプリケーションソフトウェアを供する管理装置のプロセッサに、
    前記機器において実行される前記アプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成し、
    作成した前記ログ出力プログラムを、前記アプリケーションソフトウェアとともに前記複数の機器のそれぞれに配布する
    処理を実行させる、管理プログラム。
  2. 前記アプリケーションソフトウェアに含まれる第1処理ブロックにおける実行ログ情報を特定し、
    前記実行ログ情報を取得して出力させる第2処理ブロックを前記第1処理ブロックに対応させて生成することで、前記第2処理ブロックを備える前記ログ出力プログラムを作成する
    処理を、前記プロセッサに実行させる、請求項1記載の管理プログラム。
  3. 前記アプリケーションソフトウェアが複数の前記第1処理ブロックを備え、前記複数の第1処理ブロックのうち一部の第1処理ブロックが修正された場合に、
    修正された前記第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
    処理を、前記プロセッサに実行させる、請求項2記載の管理プログラム。
  4. 第1のフェーズにおいては、前記複数の第1処理ブロックのそれぞれに対応して備えられ、前記複数の第1処理ブロックの各出力情報を取得して出力させる複数の前記第2処理ブロックを備える前記ログ出力プログラムを作成し、
    第2のフェーズにおいては、前記複数の第1処理ブロックのうち、修正がされた一部の第1処理ブロックの実行ログ情報を取得して出力させる前記第2処理ブロックのみを備える前記ログ出力プログラムを作成する
    処理を、前記プロセッサに実行させる、請求項3記載の管理プログラム。
  5. 通信回線を介して接続される複数の機器のそれぞれにアプリケーションソフトウェアを供する管理装置において、
    前記機器において実行される前記アプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成する作成部と、
    作成した前記ログ出力プログラムを、前記アプリケーションソフトウェアとともに前記複数の機器のそれぞれに配布する配布部と
    を備えることを特徴とする、管理装置。
  6. 通信回線を介して接続される複数の機器のそれぞれにアプリケーションソフトウェアを供する管理装置において、
    前記機器において実行される前記アプリケーションソフトウェアの実行ログ情報を出力するログ出力プログラムを作成し、
    作成した前記ログ出力プログラムを、前記アプリケーションソフトウェアとともに前記複数の機器のそれぞれに配布する
    ことを特徴とする、アプリケーションソフトウェア管理方法。
JP2020068278A 2020-04-06 2020-04-06 管理プログラム,管理装置およびアプリケーションソフトウェア管理方法 Pending JP2021165882A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020068278A JP2021165882A (ja) 2020-04-06 2020-04-06 管理プログラム,管理装置およびアプリケーションソフトウェア管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020068278A JP2021165882A (ja) 2020-04-06 2020-04-06 管理プログラム,管理装置およびアプリケーションソフトウェア管理方法

Publications (1)

Publication Number Publication Date
JP2021165882A true JP2021165882A (ja) 2021-10-14

Family

ID=78021922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020068278A Pending JP2021165882A (ja) 2020-04-06 2020-04-06 管理プログラム,管理装置およびアプリケーションソフトウェア管理方法

Country Status (1)

Country Link
JP (1) JP2021165882A (ja)

Similar Documents

Publication Publication Date Title
US7526759B2 (en) Debugging prototyped system solutions in solution builder wizard environment
US9747194B2 (en) Systems and methods to maintain consistency between software specification and code
US10552296B2 (en) Human-readable, language-independent stack trace summary generation
CN112527382B (zh) 部署流水线引擎系统的方法、持续集成的方法及装置
CN111949258B (zh) 一种审批流程构建方法、装置及系统
CN110647332A (zh) 基于容器云的软件部署方法和装置
CN113014445B (zh) 用于服务器的运维方法、装置、平台及电子设备
US20170249126A1 (en) Easy storm topology design and execution
US10503479B2 (en) System for modeling toolchains-based source repository analysis
CN114879939A (zh) 生成微服务的方法、系统、电子设备及存储介质
US20190220549A1 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
JP2021165882A (ja) 管理プログラム,管理装置およびアプリケーションソフトウェア管理方法
CN111324332A (zh) 大数据任务的处理方法及系统、电子设备、存储介质
CN114741294A (zh) 一种页面的调试方法、装置、设备及存储介质
JP6618642B1 (ja) プログラム実行支援装置、プログラム実行支援方法、およびプログラム実行支援プログラム
US20200310787A1 (en) Code management system and code management method
CN112631931A (zh) 一种版本测试方法、装置、存储介质和电子设备
CN113892097A (zh) 过程的边表表示
US20230236956A1 (en) Objective-driven test cases and suites
JP2016146022A (ja) モデルベース開発支援装置、モデルベース開発支援方法、およびモデルベース開発支援プログラム
US11257264B2 (en) Maintaining data transformation graphs
JP2019175310A (ja) 情報処理装置、情報処理方法、およびプログラム
JP7303424B2 (ja) 情報提供システム、サーバおよび情報提供方法
US20230401056A1 (en) Interactive code visualization system
JP2018151737A (ja) 画像処理システム、FPGA(Field Programmable Gate Array)の再構成方法、情報処理装置、情報処理方法、および情報処理プログラム