本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に従う情報処理システム1が実行する情報処理方法の概要を説明するための図である。
図1を参照して、まず、複数のデータ(生データ21)がグラフ表示の対象であるとする。情報処理システム1は、第1のデータ選択部22(後述のサンプリングモジュール80など)と、第2のデータ選択部23(後述の重要データ選択モジュール90など)と、グラフ生成部24(後述のグラフ生成モジュール74など)とを含む。
第1のデータ選択部22は、生データ21から第1のアルゴリズムに従ってより少ない数の第1のデータ27-1~27-3(後述のサンプリングデータ)を選択する。また、第2のデータ選択部23は、生データ21から予め定められた設定に従って第2のデータ28-1,28-2(後述の重要データまたは選択重要データ)を選択する。
グラフ生成部24は、第1のデータ27-1~27-3および第2のデータ28-1,28-2に基づいてグラフ26を生成する。
第2のデータ選択部23が用いる設定は、グラフに表示すべきデータであると判断するための第2のアルゴリズムおよびパラメータ(例えば、しきい値25など)を含む。すなわち、設定は、ユーザにとって重要な(意味のある)データを選択するためのアルゴリズムおよびパラメータを含む。
<B.全体構成例>
次に、本実施の形態に従う情報処理システム1の全体構成例について説明する。
図2は、本実施の形態に従う情報処理システム1の全体構成例を示す模式図である。図2を参照して、本実施の形態に従う情報処理システム1は、主たるコンポーネントとして、制御装置100と、情報処理装置200と、HMI(Human Machine Interface)300とを含む。
制御装置100は、PLC(プログラマブルロジックコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス2を介してフィールド装置群10と接続される。フィールドバス2は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
フィールド装置群10は、生産現場などのフィールドから入力データを収集する装置と、制御装置100にて生成される指令(出力データ)に基づいて、フィールドに対して何らかの作用を与える装置を含む。
図2に示す構成例において、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、サーボドライバ18およびサーボモータ20とを含む。
制御装置100は、フィールド装置群10からの入力データ、フィールド装置群10への出力データ、および、制御装置100の内部で管理される内部データなどを順次格納する時系列データベースを有しており、時系列データベースに格納した生データを後述したような態様で表示あるいは出力する。
情報処理装置200は、制御装置100にアクセスして、制御装置100に格納されているデータをグラフ表示する。図2に示す構成例においては、情報処理装置200は、上位ネットワーク4を介して制御装置100と接続されているが、任意の方法で制御装置100と接続されてもよい。
HMI300は、上位ネットワーク4を介して制御装置100と接続されており、制御装置100からの情報を表示するとともに、ユーザ操作に応じた指令を制御装置100へ送信する。
<C.ハードウェア構成例>
次に、本実施の形態に従う情報処理システム1の主要な装置のハードウェア構成例について説明する。
(c1:制御装置100)
図3は、本実施の形態に従う情報処理システム1の制御装置100のハードウェア構成例を示すブロック図である。図3を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ120と、I/Oユニット124-1,124-2,…とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御装置100に必要な処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
二次記憶装置108には、システムプログラム131と、制御演算の内容を記述したユーザプログラム132と、後述するような任意のアプリケーションを実行するための環境を提供するアプリケーション実行環境プログラム133と、任意の1または複数のアプリケーションを記述したアプリケーションプログラム134とが格納される。
上位ネットワークコントローラ110は、上位ネットワーク4を介した他の装置との間のデータのやり取りを制御する。USBコントローラ112は、USB接続を介して情報処理装置200との間のデータのやり取りを制御する。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,…との間でデータをやり取りするインターフェイスである。
フィールドバスコントローラ120は、フィールドバス2を介した他の装置との間のデータのやり取りを制御する。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(c2:情報処理装置200)
図4は、本実施の形態に従う情報処理システム1の情報処理装置200のハードウェア構成例を示すブロック図である。本実施の形態に従う情報処理装置200は、一例として、汎用的なアーキテクチャに従うハードウェアを有する汎用コンピュータなどで構成される。
図4を参照して、情報処理装置200は、CPUやGPU(Graphics Processing Unit)などのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、任意の処理を実現する。
二次記憶装置208には、典型的には、OS222と、制御装置100にアクセスするためのブラウザアプリケーション224とが格納される。二次記憶装置208には、図4に示すプログラム以外の必要なプログラムが格納されてもよい。
情報処理装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られて二次記憶装置208などにインストールされる。
情報処理装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従う情報処理装置200が提供する機能は、OS222が提供するモジュールの一部を利用する形で実現される場合もある。
USBコントローラ212は、USB接続を介して制御装置100との間のデータのやり取りを制御する。ネットワークコントローラ214は、任意のネットワークを介した他の装置との間のデータのやり取りを制御する。
入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
(c3:HMI300)
本実施の形態に従うHMI300は、一例として、汎用的なアーキテクチャに従うハードウェアを有する汎用コンピュータなどで構成される。基本的なハードウェア構成は、図4に示す情報処理装置200と同様であるので、詳細な説明は繰り返さない。
<D.処理の概要>
次に、本実施の形態に従う情報処理システム1における処理の概要について説明する。
フィールドから収集される時系列データは、収集数が膨大になり得る。例えば、1ミリ秒周期でデータを収集した場合には、1日分(24時間分)のデータ数は8640万にもなり得る。これらの収集されたデータのすべてをグラフ表示する場合には、グラフ生成などに多くのリソースを必要とし、また、処理にも多くの時間を必要とする。
そこで、収集されたデータの一部のみをグラフ表示に用いるという解決手段が採用されることが多い。このような解決手段には、グラフの形状をなるべく維持したままグラフ表示に用いるデータを間引くアルゴリズムが採用される。
しかしながら、所定のアルゴリズムに従って、グラフ表示に用いるデータが選択されるだけであり、データの意味(例えば、正常データであるか、異常データであるかなど)などは考慮されていない。そのため、ユーザにとって重要な(意味のある)データ(以下、「重要データ」とも称す。)が選択されず、ユーザが当該重要データを見逃してしまう可能性がある。
図5は、関連技術に従うグラフ表示の一例を示す図である。図5には、15点からなる生データのうち3点を選択して簡略化されたグラフを表示する例を示す。すなわち、15点のうちから選択された3点を用いた簡略表示を行う。なお、対象の生データは、正常データと異常データとを含むとする。異常データは、しきい値30を下回った値をもつデータである。
この場合において、データが選択される割合は、3点/15点=1/5、つまり5点のうち1点が表示対象として選択される。そこで、時系列順に5点ずつを1つのバケツ(bucket)にまとめた上で、各バケツを代表する1点のデータを選択する処理を想定する。
代表する1点を選択するアルゴリズムとして、図5に示す例では、各バケツに含まれるデータの中央値が選択されている。
図5に示すグラフにおいて、黒丸(●)は、選択されたデータ(プロットされるデータ)を意味し、白丸(○)は、選択されなかったデータ(プロットされないデータ)を意味する。図5に示すような3点のみを用いた簡略表示を行った場合において、AおよびBの符号が付された2つのデータはいずれも異常データであるが、白丸となっており、表示されない。
すなわち、図5に示す簡略表示を見たユーザは、異常データが含まれていることを見逃してしまう。
図6は、本実施の形態に従うグラフ表示の一例を示す図である。図6には、図5と同様の生データを表示する例を示す。図6に示す例では、図5において表示されているデータに加えて、異常データであるAおよびBの符号が付された2つのデータがさらに表示される。
本実施の形態は、グラフの形状をなるべく維持したままグラフ表示に用いるデータを間引くアルゴリズム(例えば、各バケツの中央値の選択など)と、重要性に基づいてデータを追加的に選択するアルゴリズムとを組み合わせる手法を採用する。
重要性に基づいてデータを追加的に選択するアルゴリズムとしては、例えば、各バケツにおいて、重要データが存在すれば、当該重要データを必ずグラフ表示に用いる処理が想定される。図6に示す例では、各バケツにおいて、異常データの最小値が(追加的に)選択されている(AおよびBの符号が付された2つのデータ)。
このように、本実施の形態においては、対象の生データすべてではなく、一部のみをグラフ表示に用いるという簡略表示を採用しつつ、異常データなどのユーザにとって重要データについては、省略される対象から除外する。
<E.用語>
本明細書において、「グラフ」は、任意のデータを視覚的に表現したものを包含する。以下の説明においては、いくつかの種類のグラフを例示するが、「グラフ」との用語は、例示される表現に限定されるものではなく、様々な表現態様のグラフを含み得る。
本明細書において、グラフの形状をなるべく維持したままグラフ表示に用いるデータを間引くアルゴリズム(処理)を「ダウンサンプリング」と総称する。ダウンサンプリングの一例として、予め定められた数のデータ毎(バケツ毎)に1つのサンプリングデータを選択するアルゴリズムが用いられてもよい。但し、「ダウンサンプリング」という用語は便宜上のものであり、予め定められたサンプル数毎に1つのサンプルを選択するような処理に限定されるものではなく、データ全体の一部を抽出する任意の処理を包含し得る。ダウンサンプリングにより選択されたデータを「サンプリングデータ」とも称す。ダウンサンプリングに用いられるアルゴリズムおよびパラメータなどを「サンプリング設定」と総称する。
例えば、生データの5点毎に1点を表示対象として選択する処理に必要な設定一式が「サンプリング設定」に相当し、選択された各点が「サンプリングデータ」に相当する。
本明細書において、重要データであると判断するためのアルゴリズムおよびパラメータなどを「重要データ設定」と総称する。重要データ設定に用いられるアルゴリズムの一例として、予め定められた数のデータ毎(バケツ毎)に1つのサンプリングデータを選択するアルゴリズムが用いられてもよい。
重要データ設定は、グラフ表示に表示すべきデータ(すなわち、重要データ)であるか否かを判断するためのアルゴリズムおよびパラメータ(例えば、しきい値および対応する判断基準など)を含む。重要データであるか否かを判断するためのアルゴリズムおよびパラメータなどを「重要データ判断設定」と総称する。
また、重要データ設定は、重要データ設定に基づいて重要データであると判断されたデータのうちから、グラフ表示のために少なくとも一部を選択するためのアルゴリズムおよびパラメータを含む。重要データの少なくとも一部を選択するためのアルゴリズムおよびパラメータなどを「重要データ選択設定」と総称する。重要データ選択設定に基づいて、選択された重要データを「選択重要データ」と称する。すなわち、重要データ選択設定は、グラフに表示すべきと判断された複数のデータ(複数の重要データ)からより少ない数のデータを選択するための選択基準をさらに含む。
例えば、しきい値を下回るデータを重要データであると判断する処理に必要な設定一式が「重要データ判断設定」に相当する。重要データであると判断されたデータのうち、バケツ毎に最小値である1つのデータを選択する処理に必要な設定一式が「重要データ選択設定」に相当する。以下の説明において、単に「重要データ設定」と記述した場合には、重要データ判断設定および重要データ選択設定の両方を含み得る。
また、本明細書において、「データの選択」は、複数のデータのうちから1または複数を選択(あるいは、抽出)する処理だけではなく、後述するように、複数のデータから代表するデータ(代表データ)を決定(あるいは生成)する処理を含む。
<F.使用例>
次に、本実施の形態に従うグラフ表示の使用例について説明する。
図7および図8は、本実施の形態に従う情報処理システム1が提供するグラフ表示を含むユーザインターフェイス画面の一例を示す模式図である。図7および図8には、時系列データのグラフを表示する例を示す。
図7を参照して、ユーザインターフェイス画面240は、グラフ表示領域250と、サンプリング設定領域260と、重要データ設定領域270とを含む。
グラフ表示領域250には、サンプリングデータおよび選択重要データを含むグラフが表示される。より具体的には、サンプリングデータは、折れ線グラフ252のグラフ形式で表現されており、選択重要データは、バツ(×)のプロット254で表現されている。
グラフ中には、重要データ設定(重要データ判断設定)のしきい値256も表示されている。
サンプリング設定領域260は、サンプリング設定に用いられるアルゴリズムを選択するためのプルダウン262と、サンプリング設定に用いられるパラメータを入力するためのスライダ264とを含む。図7には、300個のバケツを設定し、バケツ毎に中央値となる1点をサンプリングする設定がなされている例を示す。
重要データ設定領域270は、重要データ設定(重要データ判断設定)に用いられるアルゴリズムを選択するためのプルダウン272と、重要データ設定(重要データ判断設定)に用いられるパラメータを入力するための入力欄274と、重要データ設定(重要データ判断設定)に用いられる判断基準を選択するためのプルダウン276と、重要データ設定(重要データ選択設定)に用いられる判断基準を選択するためのプルダウン278とを含む。図7には、各バケツについて、値がしきい値256よりも大きい値を示すデータを重要データと見なすとともに、各バケツに出現した重要データのうち最大値を選択重要データとして選択する設定がなされている例を示す。
図8には、サンプリング設定が変更された場合のグラフ表示の例が示されている。より具体的には、図8には、バケツの数が300個から100個に減らされている。その結果、サンプリングデータの数も減少し、折れ線グラフ252も頂点が減って、より簡略化された形状となっている。
サンプリングデータの数が減少することで、重要データと見なされる数も減少するため、結果として、選択重要データも減少している。
図9は、本実施の形態に従う情報処理システム1が提供するグラフ表示を含むユーザインターフェイス画面の別の一例を示す模式図である。図9には、散布図のグラフを表示する例を示す。
図9を参照して、ユーザインターフェイス画面242は、グラフ表示領域251と、サンプリング設定領域260と、重要データ設定領域270とを含む。
グラフ表示領域251には、サンプリングデータおよび選択重要データを含む散布図が表示される。より具体的には、サンプリングデータは、黒丸(●)のプロット253で表現されており、選択重要データは、バツ(×)のプロット254で表現されている。
グラフ中には、重要データ設定(重要データ判断設定)のしきい範囲257も表示されている。
サンプリング設定領域260は、サンプリング設定に用いられるアルゴリズムを選択するためのプルダウン262と、サンプリング設定に用いられるパラメータを入力するためのスライダ264とを含む。図9には、300個のバケツを設定し、バケツ毎にランダムサンプリングにより1点をサンプリングする設定がなされている例を示す。
重要データ設定領域270は、重要データ設定(重要データ判断設定)に用いられるアルゴリズムを選択するためのプルダウン272と、重要データ設定(重要データ判断設定)に用いられる複数のパラメータを入力するための入力欄275と、重要データ設定(重要データ判断設定)に用いられる判断基準を選択するためのプルダウン276と、重要データ設定(重要データ選択設定)に用いられる判断基準を選択するためのプルダウン278とを含む。図9には、入力欄275に入力された4点により規定されるしきい範囲257の外側に存在するデータを重要データと見なすとともに、それぞれのバケツから選択された選択重要データにより定義される多角形の面積が最大化するように選択する設定がなされている例を示す。
なお、図7~図9に示すユーザインターフェイス画面の例に限定されることなく、任意のユーザインターフェイス画面を提供できるようにしてもよい。
<G.機能構成例>
次に、本実施の形態に従う情報処理システム1の機能構成例について説明する。
図10は、本実施の形態に従う情報処理システム1の機能構成例を示す模式図である。図10には、典型例として、制御装置100が主たる処理を担当し、ユーザは、情報処理装置200上でグラフを確認する構成例を示す。
図10を参照して、制御装置100は、機能構成として、データ取得モジュール70と、サンプリングモジュール80と、重要データ選択モジュール90と、グラフ生成モジュール74とを含む。これらの機能モジュールは、典型的には、制御装置100のプロセッサ102がアプリケーションプログラム134を実行することで実現される。
また、制御装置100は、設定プリセット群50および設定群60を有している。設定プリセット群50は、サンプリング設定プリセット52と、重要データ設定プリセット54と、グラフ設定プリセット56とを含む。設定群60は、サンプリング設定62と、重要データ設定64と、グラフ設定66とを含む。
データ取得モジュール70は、制御装置100の時系列データベースなどから生データ72を取得する。また、データ取得モジュール70は、新たに取得したデータを生データ72に追加することもできる。
サンプリングモジュール80は、グラフ表示の対象である複数のデータから予め定められたアルゴリズムに従ってより少ない数のデータを選択する。より具体的には、サンプリングモジュール80は、サンプリング設定62に基づいて、生データ72からダウンサンプリングによりサンプリングデータ82を選択する。
重要データ選択モジュール90は、複数のデータから予め定められた設定に従ってデータを選択する。より具体的には、重要データ選択モジュール90は、重要データ設定64に基づいて、生データ72に含まれる重要データを抽出し、抽出した重要データの少なくとも一部を選択重要データ92として選択する。
グラフ生成モジュール74は、サンプリングモジュール80が選択したデータ、および、重要データ選択モジュール90が選択したデータに基づいてグラフを生成する。より具体的には、グラフ生成モジュール74は、グラフ設定66に基づいて、サンプリングデータ82および選択重要データ92を用いて、グラフを生成する。グラフ生成モジュール74は、時間の経過や生データ72の追加などに応じて、グラフを更新するための表示更新モジュール76を有している。
サンプリング設定プリセット52は、サンプリング設定62として利用可能な予め定義された1または複数の設定(ダウンサンプリングに用いられるアルゴリズムおよびパラメータ)を含む。重要データ設定プリセット54は、重要データ設定64として利用可能な予め定義された1または複数の設定(重要データ判断設定に用いられるアルゴリズムおよびパラメータ、ならびに、重要データ選択設定に用いられる選択基準)を含む。グラフ設定プリセット56は、グラフ設定66として利用可能な予め定義された1または複数の設定を含む。
なお、設定プリセット群50に含まれるすべての種類のプリセットを保持しておく必要はなく、少なくとも一部のみを保持しておくようにしておいてもよい。さらに、設定プリセット群50を保持しないようにしてもよい。
一方、情報処理装置200は、機能構成として、ブラウザ230を有している。ブラウザ230は、情報処理装置200のプロセッサ202がブラウザアプリケーション224を実行することで実現される。グラフは、ブラウザアプリケーション224の実行により提供されるブラウザ230を介して表示される。ユーザは、情報処理装置200のブラウザ230を介して、設定プリセット群50および設定群60の選択、編集、更新などを行うとともに、制御装置100のグラフ生成モジュール74が生成するグラフを参照できる。
図11は、本実施の形態に従う情報処理システム1の機能構成例の変形例を示す模式図である。図11には、別の典型例として、制御装置100が主たる処理を担当し、ユーザは、HMI300上でグラフを確認する構成例を示す。
図11に示す機能構成例は、図10に示す機能構成例と同様であるが、制御装置100のグラフ生成モジュール74は、生成したグラフをHMI300へ送信する点が異なっている。
図12は、本実施の形態に従う情報処理システム1の機能構成例の別の変形例を示す模式図である。図12には、さらに別の典型例として、制御装置100に代えて、情報処理装置200が主たる処理を担当する構成例を示す。
図12に示す構成例において、情報処理装置200は、図10および図11に示す構成例の制御装置100と同様の機能モジュールを有している。但し、生データ72は制御装置100により収集されるので、情報処理装置200は、制御装置100が取得した生データ72を取得するためのデータ取得モジュール71をさらに含む。
図12に示す構成例においては、ユーザは、情報処理装置200を操作して、制御装置100から生データ72を取得するとともに、取得した生データ72を用いて情報処理装置200上でグラフを確認する。
図10~図12に示される構成例に限定されるものではなく、データ取得モジュール70、サンプリングモジュール80、重要データ選択モジュール90、および、グラフ生成モジュール74は、任意の装置に実装することができる。
<H.重要データ設定の設定例>
次に、有効にグラフ表示される対象となる重要データであると判断するための重要データ設定の設定例について説明する。
(h1:複数のしきい値)
図5および図6に示す例においては、1つのしきい値30を下回ったデータが異常データ(重要データ)と見なされていたが、重要データと判断するためのしきい値を複数設定してもよい。
図13は、本実施の形態に従う重要データ設定(重要データ判断設定)に含まれるしきい値を複数設定する例を説明するための図である。図13には、2つのしきい値31,32が設定されている例を示す。より具体的には、しきい値31を上回ったデータおよびしきい値32を下回ったデータが異常データ(重要データ)と見なされる。
例えば、監視対象の空気圧を適性範囲内に維持しなければならない設備などにおいては、空気圧の異常上昇(異常A)および異常低下(異常B)の両方を監視する必要がある。このような場合には、異常上昇に対応するしきい値31、および、異常低下に対応するしきい値32を設定してもよい。
例えば、異常上昇(異常A)については、各バケツにおける最大値が選択重要データとして選択され、異常低下(異常B)については、各バケツにおける最小値が選択重要データとして選択される。なお、重要データが存在しないバケツにおいては、選択重要データは選択されない。このように、選択重要データを追加的に選択することで、空気圧の異常上昇や異常低下を見逃さないようにできる。
図13に示す例では、各バケツのサンプリングデータに加えて、A,B,Cの符号がそれぞれ付された3つのデータ(重要データ)が選択重要データとして選択されている。
図14は、本実施の形態に従う重要データ設定(重要データ判断設定)に含まれるしきい値を複数設定する別の例を説明するための図である。図14には、2つのしきい値33,34が設定されている例を示す。これらのしきい値は段階的なものであり、例えば、しきい値33を上回ったデータ(異常A)は、設備の点検および製品の詳細な検査が必要であり、しきい値33以下であるが、しきい値34を上回ったデータ(異常B)は、製品の詳細な検査だけでよいと評価してもよい。
図13および図14には、2つのしきい値を設定する例を示すが、より多くのしきい値を設定できる。また、設定されるしきい値に応じて、選択重要データとして選択するためのアルゴリズム(例えば、各バケツにおける重要データの最大値/最小値/中間値など)についても任意に設定できる。
すなわち、対象の生データに応じて、任意の重要データ判断設定(アルゴリズムおよびパラメータ)ならびに重要データ選択設定(アルゴリズムおよびパラメータ)を用いることができる。対象の生データに応じた重要データ設定を用いることで、対象の生データにおいて見逃すべきではない重要データをより確実に選択できる。
(h2:変化するしきい値)
重要データ設定に含まれるパラメータ(しきい値)は固定値ではなく変化する値であってもよい。すなわち、重要データ設定に含まれるパラメータは固定値ではなく、関数や任意のアルゴリズムに従って変化するようにしてもよい。
図15は、本実施の形態に従う重要データ設定(重要データ判断設定)に含まれる変化するしきい値の設定例を説明するための図である。図15には、しきい値として周期関数が設定されている例を示す。
例えば、監視対象の空気圧が周期的に変化するように制御されている場合には、異常データの基準も周期的な変化に連動させる必要がある。図15には、周期関数を用いてしきい値35が設定されている例を示す。
このように、しきい値を周期関数などの任意の関数を用いて設定してもよい。
図15に示す例では、各バケツのサンプリングデータに加えて、しきい値35を上回っているAの符号が付されたデータ(重要データ)が選択重要データとして選択されている。
図16は、本実施の形態に従う重要データ設定(重要データ判断設定)に含まれる変化するしきい値の別の設定例を説明するための図である。図16には、全体的な傾向から外れているデータを異常データ(重要データ)として決定する例を示す。より具体的には、時系列データの移動平均からの乖離が大きなデータを異常データ(重要データ)と見なされる。
図16には、直近5点の移動平均36を中心として、所定値(この例では、10)だけ大きなデータをしきい値37として設定するとともに、所定値(この例では、10)だけ小さなデータをしきい値38として設定している例を示す。しきい値37を上回ったデータが異常Aと見なされるとともに、しきい値38を下回ったデータが異常Bと見なされる。そして、異常データ(重要データ)のうちから、グラフ表示に用いられる選択重要データが選択される。
このように、判断基準を時系列データの移動平均から所定範囲だけ離れた値として設定してもよい。
図17は、本実施の形態に従う重要データ設定(重要データ判断設定)のさらに別の設定例を説明するための図である。図17には、状態を示す変数modeの値に応じて、しきい値を含む重要データ判断設定が変化する例を示す。
より具体的には、変数modeは「0」,「1」,「2」のうちいずれかの値をとるようになっている。変数modeが「0」の場合は、重要データ設定は無効化されており、変数modeが「1」の場合は、しきい値が「100」に設定された上で、値がしきい値よりも小さいことが重要データ設定となっており、変数modeが「2」の場合は、しきい値が「0」に設定された上で、値がしきい値よりも大きいことが重要データ設定となっている。
図17に示す例では、最初の変数modeが「2」の区間においては、しきい値である「100」よりも大きな値を示すデータが重要データと見なされる。Aの符号が付されたデータは100より大きな値を示すので、重要データであると判断される。一方、bの符号が付されたデータは100よりも小さいので、重要データではないと判断される。
次の変数modeが「1」の区間は、しきい値である「0」よりも小さい値を示すデータが重要データと見なされる。符号cが付されたデータは0よりも大きなので、重要データではないと判断される。
再度の変数modeが「0」の区間は、重要データ設定が無効化されており、符号dおよびeが付与されたデータはいずれも重要データではないと判断される。
<I.設定のプリセット>
上述した、サンプリング設定および重要データ設定については、基本的な設定例を含むプリセットを用意しておいてもよい。ユーザは、プリセットを選択して、適宜編集できるようにしておいてもよい。また、ユーザが任意のプリセットを生成および保存できるようにしておいてもよい。
図18は、本実施の形態に従う情報処理システム1が提供するプリセットに係るユーザインターフェイス画面の一例を示す模式図である。図18には、一例として、重要データ設定についてのプリセットの例を示す。
図18を参照して、ユーザインターフェイス画面280は、プリセットを選択するためのプルダウン281と、プリセットの内容を示す表示領域282を1または複数含む。
表示領域282の各々は、重要データ判断設定に用いられるアルゴリズムを選択するためのプルダウン283と、選択されたアルゴリズムに関連付けられたパラメータを設定するための入力欄284,285と、判断基準を選択するためのプルダウン286とを含む。
また、表示領域282の各々は、重要データ選択設定に用いられる選択基準を選択するためのプルダウン287を含む。
ユーザは、図18に示されるユーザインターフェイス画面280上で所望の設定を行うことで、例えば、図16に示されるようなしきい値37およびしきい値38を含む、重要データ設定を行うことができる。
このように、1または複数のプリセットを用意しておくことで、類似したデータを可視かするような場合に、類似した設定を利用できるので、設定に係る手間を低減できる。
<J.表示精度の時間的変化>
一般的に、表示処理の負荷はダウンサンプリングの周期(バケツのサイズ)に依存する。そのため、例えば、グラフの表示開始直後は、バケツのサイズを大きくしてグラフを生成および表示するようにするとともに、グラフを表示したまま時間が経過すると、バケツのサイズをより小さくしてもよい。
例えば、グラフの表示開始直後は、1000点のデータ毎に1点をサンプリングデータとして選択するとともに、当該1000点のデータに含まれる重要データを選択した上で、データをマージしてグラフを生成するようにしてもよい。その後、時間が経過すると、100点のデータ毎に1点をサンプリングデータとして選択するとともに、当該100点のデータに含まれる重要データを選択した上で、データをマージしてグラフを生成するように変更してもよい。
図19は、本実施の形態に従う情報処理システム1におけるバケツのサイズによる処理負荷を説明するための図である。
図19(A)には、バケツサイズが5の例が示されており、バケツサイズが大きいとバケツの数が少なくなるため、グラフに含まれるデータ点数も少なくなり、グラフ表示に要する時間が短縮される。一方、図19(B)には、バケツサイズが3の例が示されており、バケツサイズが小さいとバケツの数が多くなるため、グラフに含まれるデータ点数も多くなり、グラフ表示に要する時間が長くなる。
このように、制御装置100(または、情報処理装置200)は、サンプリングデータおよび選択重要データを選択するための予め定められた数(バケツサイズ)を時間経過とともに減少させるようにしてもよい。
グラフの表示開始直後のバケツサイズを相対的に大きくしておき、その後、バケツサイズを小さくするように調整することで、グラフの表示開始直後においては、グラフ表示に用いられるデータの点数が相対的に少なくなる。これによって、短時間でグラフの生成および表示を行うことができるので、ユーザは、短時間でグラフの概要を把握できる。ユーザが別のグラフの表示などに切り替えず、その状態で時間が経過すると、より詳細なグラフが表示されるため、ユーザは、グラフに含まれるより詳細な情報を把握できる。
<K.対象データ>
次に、本実施の形態に従うグラフ表示の対象となる生データについて説明する。
(k1:対象データの種類)
上述の説明においては、ダウンサンプリングの典型例として、サンプリングレートを下げるように、対象の生データ(時系列データ)を再サンプリングする処理を例示した。しかしながら、本明細書の「ダウンサンプリング」は、このような狭義のダウンサンプリングに限定されず、非時系列データも対象とする処理を包含する。すなわち、グラフ表示の対象の生データは、時系列データに限定されることなく、任意の非時系列データを含む。
例えば、ダウンサンプリングとして、2次元空間にプロットされた散布図を構成するデータを再サンプリングするアルゴリズムを採用してもよい。
図20は、本実施の形態に従うグラフ表示の別の表示例を説明するための図である。図20には、グラフの一例として、50点のデータからなる散布図を示す。このような散布図としては、例えば、板状のワークに開けられた穴の位置の検査結果を示すようなものであってもよい。サンプルは、ワークに設定された座標系の(X,Y)座標を示す。
図20に示すグラフにおいて、黒丸(●)は、任意のサンプリング設定に基づいて選択されたデータを意味し、白丸(○)は、選択されなかったデータ(プロットされないデータ)を意味する。
図20に示すグラフにおいて、重要データ設定に含まれる判断基準として、基準枠40が設定されており、基準枠40の外側に存在するデータが重要データと見なされる。重要データ設定に基づいて、これらの重要データのうち一部が選択重要データとして選択される。より具体的には、図20に示す例では、A,B,Cの符号がそれぞれ付された3つのデータ(重要データ)が選択重要データとして選択されている。
図20に示す例においては、対象の50点の生データのうち、散布図に用いられるデータは18点に間引かれている。
上述したように、本実施の形態に従うグラフ表示の対象となる生データは、時系列データに限定されるものではなく、非時系列データも含み得る。
図21は、本実施の形態に従う重要データ選択設定の一例を説明するための図である。図21には、2次元空間にプロットされた散布図に適用される重要データ選択設定の例を示す。
図21を参照して、例えば、各バケツについて、指定された4点により規定される四角形のしきい範囲の外側に存在するデータを重要データと見なすことができる。さらに、各バケツについて、複数の重要データが存在している場合には、任意のアルゴリズムに基づいて、選択重要データを選択することができる。
一例として、選択重要データを選択するためのアルゴリズムとしては、それぞれのバケツから選択された選択重要データにより定義される多角形の面積が最大化するように選択する方法を採用してもよい。
図21に示すグラフにおいては、バケツ毎に、重要データA1~A3、重要データB1~B3、重要データC1~C3、重要データD1~D3が存在する。すなわち、重要データA1~A3は1つのバケツに属しており、重要データB1~B3は別の1つのバケツに属しており、重要データC1~B3はさらに別の1つのバケツに属しており、重要データD1~B3はさらに別の1つのバケツに属している。
各バケツにおいて、3つの重要データのうち1つを選択することを想定する。この例では、合計4つの重要データが選択重要データとして選択される。選択された4つの重要データが囲む面積が最大化となるように組み合わせを決定する。この結果、重要データA1,B2,C3,D4が選択される。
なお、面積を最大化するアルゴリズムに限定されず、任意の選択アルゴリズムを採用できる。
(k2:対象データの追加)
本実施の形態においては、予め取得された生データを処理するだけではなく、事後的に生じるデータについても処理できる。
予め用意されたデータを処理する場合には、制御装置100(または、情報処理装置200)は、対象の生データからダウンサンプリングによりサンプリングデータを選択するとともに、対象の生データに含まれる重要データを抽出し、抽出した重要データの少なくとも一部を選択重要データとして選択する。最終的に、サンプリングデータおよび選択重要データがグラフ表示される。
生産現場においては、稼働に伴って新たなデータ(例えば、センサからの測定値など)が順次生成される。このような順次生成されるデータについても、グラフ表示の対象としたいというニーズが存在する。
このようなニーズに対して、対象の生データとして新たに追加すべきデータが存在すれば、グラフ表示の対象として追加できるようにしてもよい。より具体的には、ユーザ操作あるいは新たに追加すべきデータの発生に応答して、制御装置100(または、情報処理装置200)は、追加すべき新たなデータからダウンサンプリングによりサンプリングデータを選択するとともに、追加すべき新たなデータに含まれる重要データを抽出し、抽出した重要データの少なくとも一部を選択重要データとして選択する。最終的に、追加すべき新たなデータについての、サンプリングデータおよび選択重要データがグラフ表示される。
図22は、本実施の形態に従うグラフ表示が時間的変化する例を説明するための図である。図22を参照して、例えば、既に取得されているデータ(生データ)を用いたグラフ表示がなされている状態で、所定時間が経過すると、新たに取得されたデータが追加され、当該新たに追加されたデータがグラフに追加表示される。図22に示す例では、2点のデータが追加されている。
このように、生産現場の稼働中にグラフ表示を維持しておくと、新たに生成されたデータが逐次グラフに追加される。ユーザは、逐次データが追加されるグラフを確認しながら、必要な情報を取得できる。
<L.表示態様>
次に、本実施の形態に従うグラフ表示の表示態様について説明する。
(l1:表示態様の変化)
上述したように、サンプリングデータおよび選択重要データがグラフ表示されるが、データの種類によって、グラフ形式などの表示態様を異ならせてもよい。
図23は、本実施の形態に従うグラフ表示の表示態様の一例を説明するための図である。図23(A)には、時間経過に伴って値が増加するような時系列データに、異常データが含まれる例を示す。例えば、バケツ毎に1つのサンプリングデータが選択される(例えば、各バケツの中央値を選択)とともに、異常データが選択重要データと見なされる。
図23(B)には、図23(A)において選択されたサンプリングデータと選択重要データとをマージして得られたマージデータのグラフ表示の一例を示す。
図23(B)に示すグラフ表示では、対象の時系列データ(生データ)が時間経過に伴って値が増加するような特徴を有していることが分かりにくい。このように、サンプリングデータおよび選択重要データを同じ形式でグラフ表示してしまうと、情報の認識性が低下してしまう可能性がある。
そこで、サンプリングデータおよび選択重要データを互いに区別できるように、表示してもよい。
図24は、本実施の形態に従うグラフ表示の表示態様の別の一例を説明するための図である。
図24(A)には、サンプリングデータおよび選択重要データをそれぞれ示す図形の表示態様(色や形状など)が互いに異なっている例を示す。より具体的には、サンプリングデータは、黒丸(●)で示されており、選択重要データは、白三角(△)で示されている。
図24(B)には、サンプリングデータおよび選択重要データをそれぞれ示すグラフの形式が互いに異なっている例を示す。より具体的には、サンプリングデータは、折れ線グラフで示されており、選択重要データは、散布図(プロットのみ)で示されている。
図24(C)には、データの意味に応じたオブジェクト(テキストや図形など)が付されている例を示す。より具体的には、選択重要データにのみオブジェクト(アルファベット)が付されており、サンプリングデータには、オブジェクトが付されていない。
なお、サンプリングデータのみオブジェクトを付してもよいし、データ別に異なる意味をもつオブジェクトをそれぞれ付してもよい。
このように、制御装置100(または、情報処理装置200)は、サンプリングデータを第1の表示態様でグラフに表現し、選択重要データを第2の表示態様でグラフに表現するようにしてもよい。データの種類に応じた表示態様でグラフ表示することで、グラフ表示されるデータの意味をより明確に認識できるようになる。
(l2:重要データの表示粒度)
上述の説明においては、1つのバケツに複数の重要データが出現した場合には、重要データ設定に基づいて1つの重要データ(選択重要データ)が選択される例を説明した。但し、状況に応じて、重要データ設定を変更してもよい。例えば、すべての重要データを選択重要データと見なして、グラフを表示してもよい。
図25は、本実施の形態に従う重要データの表示粒度の変更例を説明するための図である。図25(A)には、例えば、モータに生じた負荷の時間的変化の一例を示す。図25(A)に示すグラフにおいて、黒丸(●)は、任意のサンプリング設定に基づいて選択されたデータを意味し、白丸(○)は、負荷が予め定められたしきい値よりも大きい異常データを意味する。
図25(A)に示すグラフにおいては、ある特定の時間区間において異常データが高い頻度で発生し、その後、異常データの発生頻度は低下していったことを読み取ることができる。
これに対して、図25(B)には、重要データのうち、重要データ設定に基づいて選択された重要データ(選択重要データ)を表示する例を示す。このグラフにおいては、異常データの発生頻度の時間的な変化を読み取ることはできない。
このように、状況に応じて、重要データ設定を変更することで、より多くの重要データをグラフ表示するようにしてもよい。より多くの重要データをグラフ表示することで、表示されるデータ点数が多くなり、グラフの生成および表示により多くの時間を要する場合もあるが、より多くの重要データをグラフ表示することで、重要データの傾向を把握しやすくなる。
<M.代表データの生成>
上述の説明においては、バケツに含まれる複数のデータのうち1または複数のデータを選択するダウンサンプリング、および、重要データと見なされるデータのうちから1または複数のデータを選択する重要データ設定を例示した。すなわち、対象の生データのうち一部を選択する処理について例示したが、複数のデータを代表する代表データを新たに生成してもよい。すなわち、サンプリングデータおよび選択重要データは、生データには含まれないデータであってもよい。
(m1:縦座標の平均値および横座標の平均値)
図26は、本実施の形態に従う代表データを生成する処理例を説明するための図である。図26には、各バケツが6点のデータ(生データ)を含む例を示す。
各バケツに含まれる6点のデータを代表する代表データ(サンプリングデータに相当)が生成される。代表データの値(縦座標)は、各バケツに含まれる6点のデータの平均値に設定される。また、代表データの時間軸上の位置(横座標)についても、各バケツに含まれる6点のデータの時刻の平均値に設定される。このように、各バケツに含まれる複数のデータについての縦座標の平均値および横座標の平均値を用いて、代表データ(サンプリングデータ)が生成されてもよい。
Aの符号が付された異常データ(重要データ)は、バケツ1においてユニークであるので、そのままの値が用いられる。これに対して、バケツ2においては、2つの異常データ(重要データ)が存在するので、2つの異常データについての縦座標の平均値および横座標の平均値を用いて、代表データ(選択重要データ)が生成される。
このように各バケツに含まれる複数の重要データについての縦座標の平均値および横座標の平均値を用いて、代表データ(選択重要データ)が生成されてもよい。
図27は、図26に示す処理により生成された代表データを用いたグラフ表示の処理を説明するための図である。図26に示すような処理によって生成された複数の代表データ(サンプリングデータ)は、図27(A)に示すような座標値を有するものとする。図26に示すような処理によって生成された複数の代表データ(選択重要データ)は、図27(B)に示すような座標値を有するものとする。
制御装置100(または、情報処理装置200)は、図27(A)および図27(B)に示される座標値群を用いて、図27(C)に示すようなグラフを生成する。
(m2:縦座標の平均値および横座標の中心)
図28は、本実施の形態に従う代表データを生成する別の処理例を説明するための図である。図28には、各バケツが4点のデータ(生データ)を含む例を示す。
各バケツに含まれる4点のデータを代表する代表データ(サンプリングデータに相当)が生成される。代表データの値(縦座標)は、各バケツに含まれる4点のデータの平均値に設定される。また、代表データの時間軸上の位置(横座標)については、各バケツの中心に設定される。このように、各バケツに含まれる複数のデータについての縦座標の平均値および各バケツの中心を用いて、代表データ(サンプリングデータ)が生成されてもよい。
Aの符号が付された異常データ(重要データ)は、バケツ1においてユニークであるので、そのままの値が用いられる。但し、各バケツに含まれる複数の重要データについての縦座標の平均値および各バケツの中心を用いて、代表データ(選択重要データ)が生成されてもよい。
図29は、図28に示す処理により生成された代表データを用いたグラフ表示の処理を説明するための図である。図28に示すような処理によって生成された複数の代表データ(サンプリングデータ)は、図29(A)に示すような座標値を有するものとする。図29に示すような処理によって生成された複数の代表データ(選択重要データ)は、図29(B)に示すような座標値を有するものとする。
制御装置100(または、情報処理装置200)は、図29(A)および図29(B)に示される座標値群を用いて、図29(C)に示すようなグラフを生成する。
このように、代表データ(サンプリングデータ)の横座標を各バケツの中心とすることで、すべてのバケツの横幅がいずれも同一であれば、図29(C)に示すように、横方向に等間隔に配置されたサンプリングデータからなるグラフを生成できる。すなわち、図29(A)に示すように、サンプリングデータについては、横座標の情報が不要となり、メモリなどのリソース消費を抑制できる。特に、リソースが制約されやすい組込機器においては、このような仕様が有益である。
一方、重要データが特異値であると考えると、すべてのバケツにおいて重要データが出現するとは考えづらい。すなわち、バケツによって、重要データが含まれるか否かが変化するため、各バケツの中心を選択重要データの横座標として設定しても、隣接する選択重要データの間隔は一定にはならない。そのため、選択重要データについては、図29(B)に示すように、縦座標および横座標の両方の情報を有することが好ましい。
但し、サンプリングデータと選択重要データとの間で横座標を共通化することで、ユーザがグラフを見たときの視認性を高めることができる場合もあるため、選択重要データの横座標を対応するバケツの中心に設定してもよい。
<N.処理手順>
次に、本実施の形態に従う情報処理システム1における処理手順について説明する。なお、以下の説明においては、図10に示す構成例に基づいて説明するが、別の構成例においては、処理の実行主体を適宜変更することができる。
(n1:グラフ表示)
まず、グラフ表示に係る処理について説明する。
図30は、本実施の形態に従う情報処理システム1におけるグラフを表示するための処理手順を示すフローチャートである。図30に示す処理は、制御装置100のプロセッサ102がアプリケーションプログラム134を実行することで実現され、情報処理装置200のプロセッサ202がブラウザアプリケーション224を実行することで実現される。
制御装置100は、情報処理装置200のブラウザ230からアクセスを受けたか否かを判断する(ステップS100)。アクセスを受けていなければ(ステップS100においてNO)、ステップS100以下の処理が繰り返される。
ユーザが、情報処理装置200上でブラウザ230を起動して、グラフ表示画面を開くことで、制御装置100は情報処理装置200へアクセスする。
アクセスを受けていれば(ステップS100においてYES)、情報処理装置200は、グラフ設定を情報処理装置200へ送信する(ステップS102)。グラフ設定は、グラフ表示領域の大きさ、1画面に表示するデータの期間および点数などを含む。情報処理装置200のブラウザ230は、グラフ設定に基づいてユーザインターフェイス画面を生成する。
続いて、制御装置100は、情報処理装置200のブラウザ230からグラフ表示の要求を受信したか否かを判断する(ステップS104)。グラフ表示の要求を受信していなければ(ステップS104においてNO)、ステップS104の処理が繰り返される。
グラフ表示の要求を受信すれば(ステップS104においてYES)、制御装置100は、グラフ設定に基づいて、バケツのサイズを決定する(ステップS106)。
そして、制御装置100は、サンプリング設定に基づいて、対象の生データからサンプリングデータを選択する(ステップS108)。すなわち、制御装置100は、グラフ表示の対象である複数のデータから予め定められたアルゴリズムに従ってより少ない数のデータ(サンプリングデータ)を選択する。
また、制御装置100は、重要データ設定に基づいて、対象の生データから重要データを抽出するとともに、抽出された重要データから選択重要データを選択する(ステップS110)。すなわち、制御装置100は、複数のデータから予め定められた設定に従ってデータ(選択重要データ)を選択する。
なお、サンプリングデータの選択と、選択重要データの選択との実行順序はいずれであってもよい。
続いて、制御装置100は、サンプリングデータおよび選択重要データを含むグラフを生成し(ステップS112)、情報処理装置200へ送信する(ステップS114)。すなわち、制御装置100は、サンプリングデータおよび選択重要データに基づいてグラフを生成する。情報処理装置200のブラウザ230は、制御装置100からのグラフをユーザインターフェイス画面に描画する。この処理によって、情報処理装置200にグラフが表示される。
続いて、制御装置100は、生データに追加すべきデータが存在するか否かを判断する(ステップS116)。生データに追加すべきデータが存在すれば(ステップS116においてYES)、制御装置100は、当該追加すべきデータを含む生データを新たな対象に設定し(ステップS118)、ステップS108以下の処理を繰り返す。
生データに追加すべきデータが存在しなければ(ステップS116においてNO)、制御装置100は、前回のグラフ生成から所定時間が経過したか否かを判断する(ステップS120)。前回のグラフ生成から所定時間が経過していれば(ステップS120においてYES)、制御装置100は、バケツのサイズを小さくし(ステップS122)、ステップS108以下の処理を繰り返す。
前回のグラフ生成から所定時間が経過していなければ(ステップS120においてNO)、制御装置100は、情報処理装置200のブラウザ230のグラフ表示が継続しているか否かを判断する(ステップS124)。ブラウザ230のグラフ表示が継続していれば(ステップS124においてYES)、ステップS116以下の処理を繰り返す。
ブラウザ230のグラフ表示が継続していなければ(ステップS124においてNO)、制御装置100は、グラフ表示に係る処理を終了する。
(n2:設定)
次に、設定に係る処理について説明する。
図31は、本実施の形態に従う情報処理システム1における設定に係る処理手順を示すフローチャートである。図31に示す処理は、制御装置100のプロセッサ102がアプリケーションプログラム134を実行することで実現され、情報処理装置200のプロセッサ202がブラウザアプリケーション224を実行することで実現される。
図31を参照して、制御装置100は、情報処理装置200のブラウザ230から設定プリセットの作成または追加の要求を受信したか否かを判断する(ステップS200)。設定プリセットの作成または追加の要求を受信していれば(ステップS200においてYES)、制御装置100は、設定プリセットの作成処理を実行する(ステップS202)。
設定プリセットの作成または追加の要求を受信していなければ(ステップS200においてNO)、制御装置100は、情報処理装置200のブラウザ230から設定の作成または追加の要求を受信したか否かを判断する(ステップS204)。設定の作成または追加の要求を受信していれば(ステップS204においてYES)、制御装置100は、受信した要求は、プリセットに基づく設定の作成または追加の要求であるか否かを判断する(ステップS206)。
受信した要求がプリセットに基づく設定の作成または追加の要求でなければ(ステップS206においてNO)、制御装置100は、設定の新規作成処理を実行する(ステップS208)。受信した要求がプリセットに基づく設定の作成または追加の要求であれば(ステップS206においてYES)、制御装置100は、設定プリセットに基づく設定の作成処理を実行する(ステップS210)。
設定の作成または追加の要求を受信していなければ(ステップS204においてNO)、設定に係る処理は終了する。
図32は、図31に示す設定プリセットの作成処理の処理手順を示すフローチャートである。図32を参照して、制御装置100は、ユーザから作成される設定プリセットに付与される名前の指定を受け付ける(ステップS220)。続いて、制御装置100は、ユーザから作成される設定プリセットの種類の指定を受け付ける(ステップS222)。
サンプリング設定プリセットが指定されると(ステップS222において「サンプリング設定プリセット」)、制御装置100は、サンプリング設定に用いられるアルゴリズムの指定を受け付ける(ステップS224)。アルゴリズムとしては、例えば、中央値、平均値、移動平均、Largest-Triangle-Three-Bucketsなどが挙げられる。また、制御装置100は、サンプリング設定に用いられるパラメータの指定を受け付ける(ステップS226)。パラメータとしては、例えば、横座標をバケツの中央値とするなどが挙げられる。最終的に、制御装置100は、指定されたアルゴリズムおよびパラメータを含むサンプリング設定プリセットを生成して格納する(ステップS228)。そして、処理はリターンする。
重要データ設定プリセットが指定されると(ステップS222において「重要データ設定プリセット」)、制御装置100は、重要データ設定に用いられるアルゴリズムの指定を受け付ける(ステップS230)。アルゴリズムとしては、例えば、しきい値、移動平均、関数などが挙げられる。また、制御装置100は、重要データ設定に用いられるパラメータの指定を受け付ける(ステップS232)。パラメータとしては、例えば、移動平均などが上げられる。また、制御装置100は、重要データ選択設定に用いられる選択基準の指定を受け付ける(ステップS234)。パラメータとしては、例えば、重要データのうち最大値の選択などが上げられる。最終的に、制御装置100は、指定されたアルゴリズム、パラメータおよび選択基準を含むサンプリング設定プリセットを生成して格納する(ステップS236)。そして、処理はリターンする。
グラフ設定プリセットが指定されると(ステップS222において「グラフ設定プリセット」)、制御装置100は、グラフ種別の指定を受け付ける(ステップS238)。グラフ種別としては、例えば、折れ線グラフ、散布図などが挙げられる。また、制御装置100は、グラフの各軸に使用するカラムの指定を受け付ける(ステップS240)。カラムの指定としては、例えば、第1カラムを散布図の横軸に指定し、第2カラムを散布図の縦軸に指定するなどが上げられる。また、制御装置100は、各軸の表示方法および単位の指定を受け付ける(ステップS242)。最終的に、制御装置100は、指定されたグラフ種別、カラムの指定ならびに表示方法および単位の指定を含むグラフ設定プリセットを生成して格納する(ステップS244)。そして、処理はリターンする。
図33は、図31に示す設定の新規作成処理の処理手順を示すフローチャートである。図33を参照して、制御装置100は、ユーザから新規作成される設定の種類の指定を受け付ける(ステップS250)。
サンプリング設定が指定されると(ステップS250において「サンプリング設定」)、制御装置100は、サンプリング設定に用いられるアルゴリズムの指定を受け付ける(ステップS252)。また、制御装置100は、サンプリング設定に用いられるパラメータの指定を受け付ける(ステップS254)。最終的に、制御装置100は、指定されたアルゴリズムおよびパラメータを含むサンプリング設定を生成して格納する(ステップS256)。そして、処理はリターンする。
重要データ設定が指定されると(ステップS250において「重要データ設定」)、制御装置100は、重要データ設定に用いられるアルゴリズムの指定を受け付ける(ステップS258)。また、制御装置100は、重要データ設定に用いられるパラメータの指定を受け付ける(ステップS260)。また、制御装置100は、重要データ選択設定に用いられる選択基準の指定を受け付ける(ステップS262)。最終的に、制御装置100は、指定されたアルゴリズム、パラメータおよび選択基準を含むサンプリング設定を生成して格納する(ステップS264)。そして、処理はリターンする。
グラフ設定が指定されると(ステップS250において「グラフ設定」)、制御装置100は、グラフ種別の指定を受け付ける(ステップS266)。また、制御装置100は、グラフの各軸に使用するカラムの指定を受け付ける(ステップS268)。また、制御装置100は、各軸の表示方法および単位の指定を受け付ける(ステップS270)。最終的に、制御装置100は、指定されたグラフ種別、カラムの指定ならびに表示方法および単位の指定を含むグラフ設定を生成して格納する(ステップS272)。そして、処理はリターンする。
図34は、図31に示す設定プリセットに基づく設定の作成処理の処理手順を示すフローチャートである。図34を参照して、制御装置100は、予め用意された設定プリセット群のうち、指定された設定プリセットを読み込む(ステップS280)。制御装置100は、ユーザ操作に応じて、読み込んだ値(アルゴリズムおよびパラメータなど)を変更する(ステップS282)。最終的に、制御装置100は、ユーザ操作に応じて、変更後の値を含む設定を格納する(ステップS284)。そして、処理はリターンする。
<O.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
情報処理システム(1)であって、
グラフ表示の対象である複数のデータ(21;72)から予め定められた第1のアルゴリズムに従ってより少ない数の第1のデータ(27;82)を選択する第1のデータ選択部(22;80)と、
前記複数のデータから予め定められた設定(64)に従って第2のデータ(28;92)を選択する第2のデータ選択部(23;90)と、
前記第1のデータおよび前記第2のデータに基づいてグラフを生成するグラフ生成部(24;74)とを備え、
前記設定は、前記グラフに表示すべきデータであると判断するための第2のアルゴリズムおよびパラメータを含む、情報処理システム。
[構成2]
前記設定は、前記グラフに表示すべきと判断された複数のデータからより少ない数のデータを選択するための基準をさらに含む、構成1に記載の情報処理システム。
[構成3]
前記第1のデータ選択部は、予め定められた数のデータ毎に1つの前記第1のデータを選択し、
前記第2のデータ選択部は、前記予め定められた数のデータ毎に1つの前記第2のデータを選択する、構成1または2に記載の情報処理システム。
[構成4]
前記第1のデータ選択部および前記第2のデータ選択部は、前記第1のデータおよび前記第2のデータを選択するための前記予め定められた数を時間経過とともに減少させる、構成3に記載の情報処理システム。
[構成5]
前記グラフ生成部は、前記第1のデータを第1の表示態様で前記グラフに表現し、前記第2のデータを第2の表示態様で前記グラフに表現する、構成1~4のいずれ1項に記載の情報処理システム。
[構成6]
前記設定のパラメータは、関数および第3のアルゴリズムの少なくとも一方に従って変化する、構成1~5のいずれか1項に記載の情報処理システム。
[構成7]
前記第1のアルゴリズムとして利用可能な予め定義された第1のプリセット(52)、および、前記設定として利用可能な予め定義された第2のプリセット(54)の少なくとも一方を保持する保持部をさらに備える、構成1~6のいずれか1項に記載の情報処理システム。
[構成8]
ブラウザアプリケーション(224)を実行する情報処理装置(200)をさらに備え、
前記グラフは、前記ブラウザアプリケーションの実行により提供されるブラウザ(230)を介して表示される、構成1~7のいずれか1項に記載の情報処理システム。
[構成9]
情報処理方法であって、
グラフ表示の対象である複数のデータ(21;72)から予め定められた第1のアルゴリズムに従ってより少ない数の第1のデータ(27;82)を選択するステップ(S108)と、
前記複数のデータから予め定められた設定(64)に従って第2のデータ(28;92)を選択するステップ(S110)と、
前記第1のデータおよび前記第2のデータに基づいてグラフを生成するステップ(S112,S114)とを備え、
前記設定は、前記グラフに表示すべきデータであると判断するための第2のアルゴリズムおよびパラメータを含む、情報処理方法。
[構成10]
情報処理プログラム(134)であって、コンピュータ(100;200)に、
グラフ表示の対象である複数のデータ(21;72)から予め定められた第1のアルゴリズムに従ってより少ない数の第1のデータ(27;82)を選択するステップ(S108)と、
前記複数のデータから予め定められた設定(64)に従って第2のデータ(28;92)を選択するステップ(S110)と、
前記第1のデータおよび前記第2のデータに基づいてグラフを生成するステップ(S112,S114)とを実行させ、
前記設定は、前記グラフに表示すべきデータであると判断するための第2のアルゴリズムおよびパラメータを含む、情報処理プログラム。
<P.利点>
本実施の形態に従う情報処理システム1によれば、グラフの形状をなるべく維持したままグラフ表示に用いるデータが選択される一方で、ユーザにとって重要な(意味のある)データ(重要データ)も選択される。その結果、グラフ表示に必要なリソースを減少させることができるとともに、予め設定された設定に従って選択される重要データもグラフに表現されることになり、ユーザが重要データを見逃してしまう可能性を低減できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。