JP2019140558A - 候補抽出装置、候補抽出方法及びプログラム - Google Patents

候補抽出装置、候補抽出方法及びプログラム Download PDF

Info

Publication number
JP2019140558A
JP2019140558A JP2018022957A JP2018022957A JP2019140558A JP 2019140558 A JP2019140558 A JP 2019140558A JP 2018022957 A JP2018022957 A JP 2018022957A JP 2018022957 A JP2018022957 A JP 2018022957A JP 2019140558 A JP2019140558 A JP 2019140558A
Authority
JP
Japan
Prior art keywords
input
sensor
data
processing module
metadata
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.)
Granted
Application number
JP2018022957A
Other languages
English (en)
Other versions
JP6489250B1 (ja
Inventor
哲二 大和
Tetsuji Yamato
哲二 大和
泰司 吉川
Taiji Yoshikawa
泰司 吉川
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018022957A priority Critical patent/JP6489250B1/ja
Priority to US16/961,705 priority patent/US11803406B2/en
Priority to CN201880085851.7A priority patent/CN111602408B/zh
Priority to PCT/JP2018/043924 priority patent/WO2019159482A1/ja
Application granted granted Critical
Publication of JP6489250B1 publication Critical patent/JP6489250B1/ja
Publication of JP2019140558A publication Critical patent/JP2019140558A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D21/00Measuring or testing not otherwise provided for
    • G01D21/02Measuring two or more variables by means not covered by a single other subclass
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B25/00Alarm systems in which the location of the alarm condition is signalled to a central station, e.g. fire or police telegraphic systems
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C15/00Arrangements characterised by the use of multiplexing for the transmission of a plurality of signals over a common path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Emergency Management (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Alarm Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

【課題】処理モジュールへの入力の適切な候補を抽出可能な候補抽出装置、候補抽出方法及びプログラムを提供する。【解決手段】処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。デバイスには、デバイスによって出力される入力データの属性を示す第2メタデータが対応付けられている。候補抽出装置は、第1取得部と、第2取得部と、抽出部とを備える。第1取得部は、第1メタデータを取得するように構成されている。第2取得部は、複数のデバイスの各々に対応付けられた第2メタデータを取得するように構成されている。抽出部は、第1及び第2メタデータに基づいて、複数のデバイスから、入力ポートの数よりも多くの候補を抽出するように構成されている。【選択図】図1

Description

本発明は、候補抽出装置、候補抽出方法及びプログラムに関する。
特開2014−45242号公報(特許文献1)は、仮想センサを生成する仮想センサ生成装置を開示する。この仮想センサ生成装置においては、所定範囲内に存在する実センサが検出され、検出された実センサを用いることによって仮想センサが生成される(特許文献1参照)。
特開2014−45242号公報
上記特許文献1に開示されるような仮想センサは、たとえば、実センサ(デバイスの一例)と、処理モジュールとを含む。処理モジュールは、実センサにより出力されたセンシングデータ(入力データの一例)に処理を施すことによって、入力データとは異なる出力データを生成する。たとえば、所望の機能を有する仮想センサを実現するためには、実センサを適切に選択する必要がある。すなわち、処理モジュールへの入力の選択は重要である。しかしながら、処理モジュールへの入力の選択に関しては、未だ改善の余地がある。
本発明は、このような課題を解決するためになされたものであって、その目的は、処理モジュールへの入力の適切な候補を抽出可能な候補抽出装置、候補抽出方法及びプログラムを提供することである。
本発明のある局面に従う候補抽出装置は、処理モジュールへ入力データを出力するデバイスの候補を抽出するように構成されている。処理モジュールは、少なくとも1つの入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。デバイスには、デバイスによって出力される入力データの属性を示す第2メタデータが対応付けられている。候補抽出装置は、第1取得部と、第2取得部と、抽出部とを備える。第1取得部は、第1メタデータを取得するように構成されている。第2取得部は、複数のデバイスの各々に対応付けられた第2メタデータを取得するように構成されている。抽出部は、第1及び第2メタデータに基づいて、複数のデバイスから、入力ポートの数よりも多くの候補を抽出するように構成されている。
この候補抽出装置においては、第1及び第2メタデータに基づいて、デバイスの候補が抽出される。すなわち、処理モジュールの入力データの条件が考慮された候補が抽出される。したがって、この候補抽出装置によれば、処理モジュールへ入力データを出力するデバイスの適切な候補を抽出することができる。
また、好ましくは、上記候補抽出装置において、入力データの条件は、入力データの品質に関する条件を含む。入力データの属性は、入力データの品質に関する属性を含む。
この候補抽出装置においては、入力データの品質に関する条件が考慮された候補が抽出される。したがって、この候補抽出装置によれば、処理モジュールへ入力データを出力するデバイスの適切な候補を抽出することができる。
また、好ましくは、上記候補抽出装置において、デバイスは、センサである。入力データは、センサによって生成されたセンシングデータである。
また、好ましくは、上記候補抽出装置において、処理モジュールは、複数の入力データに基づいて出力データを生成するように構成されている。
また、好ましくは、上記候補抽出装置において、処理モジュールは、処理モジュールへ入力データを出力するデバイスを切り替え可能に構成されている。
また、好ましくは、上記候補抽出装置においては、処理モジュールと、処理モジュールへ入力データを出力するデバイスとによって仮想センサが形成される。
また、好ましくは、上記候補抽出装置において、抽出部は、第1メタデータが示す入力データの条件を満たす第2メタデータが対応付けられたデバイスを、候補として抽出するように構成されている。
この候補抽出装置においては、条件を満たす入力データを出力するデバイスが候補として抽出される。したがって、この候補抽出装置によれば、処理モジュールへ入力データを出力するデバイスの適切な候補を抽出することができる。
また、本発明の別の局面に従う候補抽出装置は、処理モジュールへ入力するデータセットの候補を抽出するように構成されている。データセットは、複数のデータで構成されている。処理モジュールは、少なくとも1つの入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。データセットには、データセットの属性を示す第2メタデータが対応付けられている。候補抽出装置は、第1取得部と、第2取得部と、抽出部とを備える。第1取得部は、第1メタデータを取得するように構成されている。第2取得部は、複数のデータセットの各々に対応付けられた第2メタデータを取得するように構成されている。抽出部は、第1及び第2メタデータに基づいて、複数のデータセットから、入力ポートの数よりも多くの候補を抽出するように構成されている。
この候補抽出装置においては、第1及び第2メタデータに基づいて、データセットの候補が抽出される。すなわち、入力データの条件が考慮された候補が抽出される。したがって、この候補抽出装置によれば、処理モジュールへ入力するデータセットの適切な候補を抽出することができる。
また、本発明の別の局面に従う候補抽出方法は、処理モジュールへ入力データを出力するデバイスの候補を抽出する。処理モジュールは、少なくとも1つの入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。デバイスには、デバイスによって出力される入力データの属性を示す第2メタデータが対応付けられている。候補抽出方法は、第1メタデータを取得するステップと、複数のデバイスの各々に対応付けられた第2メタデータを取得するステップと、第1及び第2メタデータに基づいて、複数のデバイスから、入力ポートの数よりも多くの候補を抽出するステップとを含む。
この候補抽出方法においては、第1及び第2メタデータに基づいて、デバイスの候補が抽出される。すなわち、処理モジュールの入力データの条件が考慮された候補が抽出される。したがって、この候補抽出方法によれば、処理モジュールへ入力データを出力するデバイスの適切な候補を抽出することができる。
また、本発明の別の局面に従うプログラムは、処理モジュールへ入力データを出力するデバイスの候補を抽出する処理をコンピュータに実行させる。処理モジュールは、少なくとも1つの入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュールには、入力データの条件を示す第1メタデータが対応付けられている。デバイスには、デバイスによって出力される入力データの属性を示す第2メタデータが対応付けられている。プログラムは、第1メタデータを取得するステップと、複数のデバイスの各々に対応付けられた第2メタデータを取得するステップと、第1及び第2メタデータに基づいて、複数のデバイスから、入力ポートの数よりも多くの候補を抽出するステップとをコンピュータに実行させるように構成されている。
このプログラムがコンピュータによって実行されると、第1及び第2メタデータに基づいて、デバイスの候補が抽出される。すなわち、処理モジュールの入力データの条件が考慮された候補が抽出される。したがって、このプログラムによれば、処理モジュールへ入力データを出力するデバイスの適切な候補を抽出することができる。
本発明によれば、処理モジュールへの入力の適切な候補を抽出可能な候補抽出装置、候補抽出方法及びプログラムを提供することができる。
入力候補抽出装置の概要を説明するための図である。 センサネットワークシステムの一例を示す図である。 仮想センサ管理サーバのハードウェア構成の一例を示す図である。 入力候補DBの一例を示す図である。 処理モジュール側メタデータDBの一例を示す図である。 制御部によって実現される各ソフトウェアモジュールの関係の一例を示す図である。 入力候補管理モジュールの詳細な構成の一例を示す図である。 入力品質チェックモジュールの詳細な構成の一例を示す図である。 センシングデータに対応付けられるメタデータの一例を示す図である。 セッション制御モジュールの詳細な構成の一例を示す図である。 SDTMサーバのハードウェア構成の一例を示す図である。 センサ側メタデータDBの一例を示す図である。 入力候補検索モジュールの詳細な構成の一例を示す図である。 データフロー制御モジュールの詳細な構成の一例を示す図である。 処理モジュールの入力センサ候補の抽出動作の一例を示すフローチャートである。 処理モジュールへの入力データの品質チェック動作の一例を示すフローチャートである。 処理モジュールと実センサとのセッションの切替動作の一例を示すフローチャートである。 データフロー制御動作の一例を示すフローチャートである。
以下、本発明の一側面に係る実施の形態(以下、「本実施の形態」とも称する。)について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
[1.概要]
図1は、本実施の形態に従う入力候補抽出装置50の概要を説明するための図である。図1を参照して、処理モジュール150は複数の入力ポートを有し、各入力ポートには実センサ12(デバイスの一例)によって出力されたセンシングデータ(入力データの一例)が入力される。処理モジュール150は、入力データに基づいて入力データとは異なる出力データを生成するように構成されている。すなわち、処理モジュール150と、処理モジュール150へ入力データを出力する実センサ12(入力センサ)とによって、いわゆる仮想センサが形成される。仮想センサとは、入力センサが対象を観測することによって生成されたセンシングデータに基づいて、入力センサによって観測された対象とは異なる対象の観測結果をセンシングデータとして出力するセンサモジュールである。仮想センサについては、後程詳しく説明する。
本実施の形態に従う入力候補抽出装置50は、処理モジュール150へ入力データを出力する実センサ12の候補(以下、「入力センサ候補」とも称する。)を予め抽出するように構成されている。具体的には、入力候補抽出装置50は、ネットワークを介して通信可能な複数の実センサ12から、処理モジュール150の入力センサとして適した実センサ12を抽出し、抽出された実センサ12を入力候補DB(database)140上で管理するように構成されている。たとえば、入力センサ候補を予め抽出しておくことによって、処理モジュール150へ入力データを出力している実センサ12に異変が生じた場合に、入力センサを即座に新たな実センサ12に切り替えることができる。
より具体的には、処理モジュール150には、処理モジュール側メタデータ161が対応付けられている。処理モジュール側メタデータ161は、処理モジュール150の入力データの条件を示す。一方、各実センサ12には、センサ側メタデータ13が対応付けられている。センサ側メタデータ13は、対応する実センサ12によって出力される入力データの属性を示す。入力候補抽出装置50は、処理モジュール側メタデータ161と、各センサ側メタデータ13とに基づいて、複数の実センサ12から、処理モジュール150の入力ポートの数よりも多くの入力センサ候補を抽出するように構成されている。
これにより、入力候補抽出装置50によれば、入力センサ候補の抽出時に処理モジュール150の入力データの条件が考慮されるため、処理モジュール150の入力センサとして適切な候補を予め抽出することができる。以下、具体的な構成及び動作について順に説明する。
[2.構成例]
<2−1.システムの全体構成例>
図2は、本実施の形態に従う入力候補抽出装置50(図1)を含むセンサネットワークシステム10の一例を示す図である。図2の例では、センサネットワークシステム10は、センサネットワーク部14と、仮想センサ管理サーバ100と、SDTM(Sensing Data Trading Market)サーバ200と、アプリケーションサーバ300とを含む。なお、本実施の形態において、入力候補抽出装置50は、仮想センサ管理サーバ100とSDTMサーバ200とによって実現される。
センサネットワーク部14、仮想センサ管理サーバ100、SDTMサーバ200及びアプリケーションサーバ300は、インターネット15を介して相互に通信可能に接続されている。なお、センサネットワークシステム10に含まれる各構成要素(仮想センサ管理サーバ100、SDTMサーバ200、アプリケーションサーバ300、センサネットワークアダプタ11及び実センサ12等)の数は、図2に示されるものに限定されない。
センサネットワークシステム10においては、センシングデバイス(たとえば、実センサ及び仮想センサ)によって生成されたセンシングデータが流通可能である。たとえば、実センサ12によって生成されたセンシングデータは仮想センサ管理サーバ100に流通し得るし、仮想センサによって生成されたセンシングデータはアプリケーションサーバ300に流通し得る。
センサネットワーク部14は、たとえば、複数のセンサネットワークアダプタ11を含む。複数のセンサネットワークアダプタ11の各々には複数の実センサ12が接続されており、各実センサ12はセンサネットワークアダプタ11を介してインターネット15に接続されている。
実センサ12は、対象を観測することによってセンシングデータを得るように構成されている。実センサ12は、たとえば、画像センサ(カメラ)、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、RFID(Radio Frequency IDentification)センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等であり、どのような種類のセンサであってもよい。また、実センサ12は、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、各実センサ12は、必ずしも単一のセンシングデバイスで構成されている必要はなく、複数のセンシングデバイスによって構成されていてもよい。また、実センサ12は、どのような目的で設置されていてもよく、たとえば、工場におけるFA(Factory Automation)及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
センサネットワーク部14において、たとえば、各センサネットワークアダプタ11は別々の(遠い)場所に配置され、各センサネットワークアダプタ11に接続される各実センサ12は同一の(近い)場所に配置されるが、これらの配置場所はこれに限定されない。
各アプリケーションサーバ300(300A,300B)は、センシングデータを利用するアプリケーションを実行するように構成されており、たとえば、汎用のコンピュータによって実現されている。アプリケーションサーバ300は、インターネット15を介して必要なセンシングデータを取得する。
仮想センサ管理サーバ100は、仮想センサを実現するためのサーバである。仮想センサ管理サーバ100においては、複数の処理モジュール150と、入力候補管理モジュール110と、入力品質チェックモジュール120と、セッション制御モジュール130とが実現されるとともに、入力候補DB140と、処理モジュール側メタデータDB160とが管理される。複数の処理モジュール150、入力候補管理モジュール110、入力品質チェックモジュール120及びセッション制御モジュール130の各々は、たとえば、ソフトウェアモジュールである。
処理モジュール150は、少なくとも1つの入力ポートを含み、各入力ポートに入力される入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール150は、たとえば、室内に配置された音センサによって出力される入力データ(音声データ)に基づいて、該室内に存在する人の数を示すデータを出力するように構成されてもよい。この場合には、処理モジュール150と、実センサ12(音センサ)とによって、室内の人の数を検知する仮想センサを実現することができる。
入力候補管理モジュール110は、処理モジュール150へ入力データを出力する実センサ12の候補(入力センサ候補)を管理するように構成されている。入力品質チェックモジュール120は、処理モジュール150への入力データの品質をチェックするように構成されている。セッション制御モジュール130は、処理モジュール150と実センサ12とのセッションを制御するように構成されている。
たとえば、入力品質チェックモジュール120によって入力データの品質が所定の基準を満たさないと判定された場合に、セッション制御モジュール130は、処理モジュール150への入力センサを、予め抽出されている入力センサ候補のいずれかに切り替える。各ソフトウェアモジュール及び各データベースの詳細については後程説明する。
SDTMサーバ200は、センサネットワークシステム10におけるセンシングデータの流通を実現するためのサーバである。SDTMサーバ200においては、入力候補検索モジュール210と、データフロー制御モジュール220とが実現されるとともに、センサ側メタデータDB230が管理される。入力候補検索モジュール210及びデータフロー制御モジュール220の各々は、たとえば、ソフトウェアモジュールである。
入力候補検索モジュール210は、仮想センサ管理サーバ100(入力候補管理モジュール110)からの要求を受けて、処理モジュール150の入力センサ候補を検索するように構成されている。データフロー制御モジュール220は、仮想センサ管理サーバ100(セッション制御モジュール130)からの要求を受けて、実センサ12から処理モジュール150へのセンシングデータの流通等を制御するように構成されている。各ソフトウェアモジュール及びデータベースの詳細については後程説明する。
<2−2.仮想センサ管理サーバのハードウェア構成例>
図3は、仮想センサ管理サーバ100のハードウェア構成の一例を示す図である。なお、本実施の形態において、仮想センサ管理サーバ100は、たとえば、汎用コンピュータによって実現される。
図3の例では、仮想センサ管理サーバ100は、制御部170と、通信I/F(interface)190と、記憶部180とを含み、各構成は、バス195を介して電気的に接続されている。
制御部170は、CPU(Central Processing Unit)172、RAM(Random Access Memory)174及びROM(Read Only Memory)176等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
通信I/F190は、インターネット15を介して、仮想センサ管理サーバ100の外部に設けられた外部装置(たとえば、SDTMサーバ200、アプリケーションサーバ300及びセンサネットワーク部14(図2))と通信するように構成されている。通信I/F190は、たとえば、有線LAN(Local Area Network)モジュールや無線LANモジュールで構成される。
記憶部180は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部180は、たとえば、入力候補DB140と、処理モジュール側メタデータDB160と、制御プログラム181とを記憶するように構成されている。
図4は、入力候補DB140の一例を示す図である。図4を参照して、入力候補DB140は、処理モジュール150の入力センサ候補を管理するデータベースである。入力候補DB140においては、各処理モジュール150の入力ポート毎に入力センサ候補が管理されている。たとえば、この例では、処理モジュール150(ID:M1)における入力ポート2の、第1候補は「センサB1」、第2候補は「センサB2」、第3候補は「センサB3」となっている。なお、入力ポート毎に管理される入力センサ候補は、必ずしも3つである必要はなく、3つ未満であってもよいし、4つ以上であってもよい。
詳細については後述するが、入力候補DB140の更新処理は所定の周期で繰り返し実行される。たとえば、センサネットワーク部14に含まれる実センサ12のスペックが変更されると、入力候補DB140にリストアップされる入力センサ候補が変更される。
図5は、処理モジュール側メタデータDB160の一例を示す図である。図5を参照して、処理モジュール側メタデータDB160は、処理モジュール150の入力データの条件を示すメタデータを管理するデータベースである。仮想センサ管理サーバ100において実現される各処理モジュール150のメタデータは、予め処理モジュール側メタデータDB160に登録されている。処理モジュール側メタデータDB160においては、各処理モジュール150の入力ポート毎にメタデータが管理されている。
処理モジュール側メタデータには、たとえば、「基本条件」と「品質条件」とが含まれる。「基本条件」とは、入力データ(センシングデータ)を出力する実センサ12に求められる基本的な条件であり、たとえば、「種別」、「観測対象」、「設置場所」が含まれる。
「種別」とは実センサ12の種類であり、たとえば、温度センサ、照度センサ及びカメラの各々が「種別」の一例である。「観測対象」とは実センサ12によって観測される対象であり、たとえば、外気温、駅改札、照度及び温度の各々が「観測対象」の一例である。「設置場所」とは実センサ12が設置されている場所であり、たとえば、P1,P2及びP3の各々が「設置場所」の一例である(なお、P1,P2及びP3の各々は、たとえば、「京都駅前」等の具体的な場所を示すものとする。)。
「品質条件」とは、入力データ(センシングデータ)の品質に関連する条件であり、たとえば、「外れ値条件」、「データ抜け頻度条件」、「メーカ条件」が含まれる。また、これらの他にも「センサ状態条件」、「センサ設置条件」、「センサ保守履歴条件」、「データ仕様条件」、「データ分解能条件」等が「品質条件」に含まれてもよい。
「外れ値条件」とは、実センサ12によって出力される入力データが外れ値となる確率に関する条件である。「データ抜け頻度条件」とは、入力ポートにデータが入力されるはずのタイミングで、データが入力されない確率に関する条件である。「メーカ条件」とは、入力データを出力する実センサ12のメーカに関する条件である。
「センサ状態条件」とは、入力データを出力する実センサ12の状態に関する条件であり、たとえば、「センサが作動している限り許容可」、「センサの一部でも所定レベルまで劣化していた場合許容不可」等が「センサ状態条件」である。「センサ設置条件」とは、入力データを出力する実センサ12の設置に関する条件であり、たとえば、「センサが初期設置位置からずれている場合許容不可」、「センサが初期設置位置から落下してない限り許容可」等が「センサ設置条件」である。「センサ保守履歴条件」とは、入力データを出力する実センサ12の保守履歴に関する条件であり、たとえば、「保守点検の頻度が1回/日未満である場合許容不可」、「保守点検の頻度が1回/月以上である場合許容可」等が「センサ保守履歴条件」である。「データ仕様条件」とは、入力データの仕様に関する条件である。「データ分解能条件」とは、入力データの分解能に関する条件である。
再び図3を参照して、制御プログラム181は、制御部170によって実行される仮想センサ管理サーバ100の制御プログラムである。たとえば、制御部170が制御プログラム181を実行することによって、各処理モジュール150、入力候補管理モジュール110、入力品質チェックモジュール120及びセッション制御モジュール130(図2)等が実現されてもよい。制御部170が制御プログラム181を実行する場合に、制御プログラム181は、RAM174に展開される。そして、制御部170は、RAM174に展開された制御プログラム181をCPU172によって解釈及び実行することにより、各構成要素を制御する。次に、制御プログラム181に従って制御部170によって実現される各ソフトウェアモジュールについて説明する。
<2−3.仮想センサ管理サーバのソフトウェア構成例>
図6は、制御部170によって実現される各ソフトウェアモジュールの関係の一例を示す図である。図6の例では、処理モジュール150、入力候補管理モジュール110、入力品質チェックモジュール120及びセッション制御モジュール130の各々が制御部170によって実現される。
入力候補管理モジュール110は、処理モジュール側メタデータDB160を参照しつつ、SDTMサーバ200と連携しながら、処理モジュール150の入力センサに適した実センサ12を抽出する。抽出された入力センサ候補は、入力候補DB140上で管理される。
入力品質チェックモジュール120は、処理モジュール側メタデータDB160を参照することによって、現在処理モジュール150に入力されているデータの品質が処理モジュール150の入力データの条件を満たすか否かをチェックする。
セッション制御モジュール130は、入力品質チェックモジュール120によるチェック結果に基づいて処理モジュール150の入力センサの切り替え要否を判定する。セッション制御モジュール130は、入力センサの切り替えが必要と判断された場合に、入力センサを、入力候補DB140において管理されているいずれかの実センサ12に切り替える。
以下、入力候補管理モジュール110、入力品質チェックモジュール120及びセッション制御モジュール130の詳細について順に説明する。
(2−3−1.入力候補管理モジュール)
図7は、入力候補管理モジュール110の詳細な構成の一例を示す図である。図7の例では、入力候補管理モジュール110は、メタデータ取得部111と、利用側データカタログ生成部112と、優先順位付与部113と、入力候補DB更新部114とを含む。なお、入力候補管理モジュール110による入力センサ候補の抽出は、処理モジュール150の入力ポート毎に行なわれる。各入力ポートの入力センサ候補の抽出は、並列的に行なわれてもよいし、順次行なわれてもよい。以下の説明においては、処理モジュール150の1つの入力ポートに着目した上で、各モジュールについて説明する。
メタデータ取得部111は、入力センサ候補を抽出する対象となっている入力ポートに対応付けられた処理モジュール側メタデータ161(図1)を処理モジュール側メタデータDB160から取得する。
利用側データカタログ生成部112は、メタデータ取得部111によって取得された処理モジュール側メタデータ161に基づいて、利用側データカタログを生成する。利用側データカタログとは、利用側(仮想センサ管理サーバ100)が必要としている実センサ12の属性を示すカタログである。利用側データカタログには、処理モジュール側メタデータ161によって示される、入力データの条件が含まれる。たとえば、利用側データカタログには、上述の入力データの「基本条件」及び「品質条件」が含まれる。
利用側データカタログ生成部112によって生成された利用側データカタログは、通信I/F190を介してSDTMサーバ200に送信される。詳細については後述するが、SDTMサーバ200においては、利用側データカタログに示される条件を満たす実センサ12が抽出される。抽出された実センサ12を特定可能な情報(以下、「実センサ情報」とも称する。)が、通信I/F190を介して受信される。実センサ情報には、たとえば、実センサ12に割り振られたIPアドレス(実センサ12のインターネット15上における所在を示す情報)、及び、実センサ12の属性を示す情報が含まれる。
優先順位付与部113は、複数の実センサ情報が受信された場合に、各実センサ12に優先順位を付与する。優先順位付与部113は、どのような観点で各実センサ12に優先順位を付与してもよい。たとえば、利用側データカタログに含まれる条件のうち、「外れ値条件」が最も重要である場合には、優先順位付与部113は、外れ値の発生率(外れ値発生率)が低い実センサ12程高い優先順位を付与してもよい。
入力候補DB更新部114は、優先順位付与部113によって付与された優先順位に従って入力候補DB140(図4)を更新する。これにより、入力候補DB140においては、利用側データカタログに示される条件を満たす実センサ12が予め入力センサ候補として管理される。
(2−3−2.入力品質チェックモジュール)
図8は、入力品質チェックモジュール120の詳細な構成の一例を示す図である。図8の例では、入力品質チェックモジュール120は、データフィルタリング部121と、メタデータチェック部122と、アクシデントチェック部123とを含む。実センサ12によって出力される入力データには、センシングデータと、センシングデータに対応付けられたメタデータ(以下、「入力メタデータ」とも称する。)とが含まれている。センシングデータは、実センサ12が対象を観測することによって生成されたデータである。入力メタデータは、実センサ12によって生成されたセンシングデータの属性を示すデータである。
図9は、センシングデータに対応付けられる入力メタデータ60の一例を示す図である。図9の例では、入力メタデータ60には、「基本属性」と「品質属性」とが含まれる。「基本属性」とは、入力データを出力する実センサ12の基本的な属性であり、たとえば、「種別」、「観測対象」、「設置場所」が含まれる。
「品質属性」とは、センシングデータの品質に関連する属性であり、たとえば、「外れ値発生率」、「データ抜け発生率」、実センサ12の「メーカ」等が「品質属性」に含まれる。また、これらの他にも「センサ状態属性」、「センサ設置属性」、「センサ保守履歴属性」、「データ仕様属性」、「データ分解能属性」等が「品質属性」に含まれてもよい。なお、センシングデータに対応付けられる入力メタデータ60の少なくとも一部は、処理モジュール側メタデータ161とは異なり、時々刻々と変化し得る。たとえば、入力メタデータ60に含まれ得る「外れ値発生率」は、実センサ12の出荷時等に予め定められるものではなく、実センサ12が継続的に稼働することによって変化するものである。たとえば、出荷直後はまだ実センサ12が新しいため、「外れ値発生率」は低い。しかしながら、実センサ12が長期間稼働することによって、「外れ値発生率」が高くなる。実センサ12においては、たとえば、センシングデータが外れ値に該当するか否かが監視されており、所定期間における外れ値の発生率が順次更新される。そして、更新された外れ値発生率が入力メタデータ60として、センシングデータに対応付けられる。「外れ値発生率」の他にも、たとえば、「データ抜け発生率」、「センサ状態属性」、「センサ保守履歴属性」等が時々刻々と変化し得る。
再び図8を参照して、データフィルタリング部121は、実センサ12によって出力された入力データをセンシングデータと入力メタデータとに分離する。センシングデータは処理モジュール150に出力され、入力メタデータはメタデータチェック部122に出力される。
メタデータチェック部122は、データが入力される入力ポートに対応付けられている処理モジュール側メタデータ161(図1)を処理モジュール側メタデータDB160(図5)から取得する。メタデータチェック部122は、処理モジュール側メタデータ161と入力メタデータとに基づいて、センシングデータが入力データの条件を満たすか否かを判定する。たとえば、メタデータチェック部122は、処理モジュール側メタデータ161が示す各条件を、入力メタデータが示す各属性が満たしている場合に、センシングデータが入力データの条件を満たすと判定する。
より具体的には、メタデータチェック部122は、処理モジュール側メタデータ161と入力メタデータとに基づいて、センシングデータの品質が入力データの品質条件を満たすか否かを判定する。たとえば、メタデータチェック部122は、処理モジュール側メタデータ161が示す各品質条件を、入力メタデータが示す各品質属性が満たしている場合に、センシングデータの品質が入力データの品質条件を満たすと判定する。
アクシデントチェック部123は、センシングデータに対応付けられているメタデータに基づいて入力データに何らかのアクシデントが生じているか否かを判定する。たとえば、アクシデントチェック部123は、入力メタデータに「文字化け」が生じてる場合や、入力メタデータが「外れ値」である確率が「外れ値発生率」よりも高い場合や、入力メタデータの抜け頻度が「データ抜け発生率」よりも高い場合に、入力データにアクシデントが生じていると判定する。
その後、入力メタデータは、処理モジュール150に入力される。一方、メタデータチェック部122及びアクシデントチェック部123の各々によるチェック結果に基づく入力品質チェック結果は、セッション制御モジュール130に入力される。
たとえば、入力品質チェック結果は、センシングデータの品質が入力データの品質条件を満たし、かつ、入力データにアクシデントが生じていないと判定された場合に「良」とされる。一方、入力品質チェック結果は、センシングデータの品質が入力データの品質条件を満たさないと判定された場合、又は、入力データに何らかのアクシデントが生じていると判定された場合に「悪」とされる。
(2−3−3.セッション切替モジュール)
図10は、セッション制御モジュール130の詳細な構成の一例を示す図である。セッション制御モジュール130は、処理モジュール150と実センサ12とのセッションの切り替えを制御するモジュールである。処理モジュール150と実センサ12とのセッションを切り替えるとは、処理モジュール150の入力センサを他の実センサ12に切り替えることを意味する。図10の例では、セッション制御モジュール130は、切替要否判定部131と、入力候補選択部132と、セッション切替部133とを含む。
切替要否判定部131は、入力品質チェックモジュール120における入力品質チェック結果に基づいて、処理モジュール150の入力センサの切り替え要否を判定する。たとえば、切替要否判定部131は、入力品質チェック結果が「良」の場合に入力センサの切り替えが不要と判定する一方、入力品質チェック結果が「悪」の場合に入力センサの切り替えが必要と判定する。
入力候補選択部132は、切替要否判定部131において入力センサの切り替えが必要と判定された場合に、入力候補DB140(図4)に登録されている入力候補からいずれかの実センサ12を選択する。入力候補選択部132は、たとえば、入力候補DB140において、入力センサの切り替えが必要と判定された入力ポートに対応付けられている複数の実センサ12のうち優先順位の高い実センサ12を選択する。なお、入力候補選択部132によって選択された実センサ12を、以下では「選択済み実センサ」とも称する。
セッション切替部133は、入力センサを選択済み実センサに切り替える。具体的には、セッション切替部133は、入力センサが選択済み実センサに切り替わるように、処理モジュール150の入力ポートを制御する。セッション切替部133は、さらに、選択済み実センサから入力ポートへのデータ転送が行なわれるように、通信I/F190を介してSDTMサーバ200にセンサ切替指令を送信する。センサ切替指令の詳細については、後程詳しく説明する。
これにより、たとえば、入力データの品質が品質条件を満たさない場合に、品質条件を満たす入力データを出力する実センサ12に、入力センサを切り替えることができる。
<2−4.SDTMサーバのハードウェア構成例>
図11は、SDTMサーバ200のハードウェア構成の一例を示す図である。なお、本実施の形態において、SDTMサーバ200は、たとえば、汎用コンピュータによって実現される。
図11の例では、SDTMサーバ200は、制御部240と、通信I/F260と、記憶部250とを含み、各構成は、バス265を介して電気的に接続されている。
制御部240は、CPU242、RAM244及びROM246等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
通信I/F260は、インターネット15を介して、SDTMサーバ200の外部に設けられた外部装置(たとえば、仮想センサ管理サーバ100、アプリケーションサーバ300及びセンサネットワーク部14(図2参照))と通信するように構成されている。通信I/F260は、たとえば、有線LANモジュールや無線LANモジュールで構成される。
記憶部250は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部250は、たとえば、センサ側メタデータDB230と、制御プログラム251とを記憶するように構成されている。
図12は、センサ側メタデータDB230の一例を示す図である。図12を参照して、センサ側メタデータDB230は、センサネットワーク部14(図2)に含まれる各実センサ12の属性を示すメタデータを管理するデータベースである。センサネットワーク部14に含まれる各実センサ12のメタデータは、予めセンサ側メタデータDB230に登録されている。センサ側メタデータDB230においては、実センサ12毎にメタデータが管理されている。
センサ側メタデータには、たとえば、「基本属性」と「品質属性」とが含まれる。「基本属性」とは、実センサ12に求められる基本的な条件であり、たとえば、「種別」、「観測対象」、「設置場所」が含まれる。
「品質属性」とは、実センサ12によって出力されるセンシングデータの品質に関連する属性であり、たとえば、「外れ値発生率」、「データ抜け発生率」、実センサ12の「メーカ」等が「品質属性」に含まれる。また、これらの他にも「センサ状態属性」、「センサ設置属性」、「センサ保守履歴属性」、「データ仕様属性」、「データ分解能属性」等が「品質属性」に含まれてもよい。
再び図11を参照して、制御プログラム251は、制御部240によって実行されるSDTMサーバ200の制御プログラムである。たとえば、制御部240が制御プログラム251を実行することによって、入力候補検索モジュール210及びデータフロー制御モジュール220(図2)が実現されてもよい。制御部240が制御プログラム251を実行する場合に、制御プログラム251は、RAM244に展開される。そして、制御部240は、RAM244に展開された制御プログラム251をCPU242によって解釈及び実行することにより、各構成要素を制御する。次に、制御プログラム251に従って制御部240によって実現される各ソフトウェアモジュールについて説明する。
<2−5.SDTMサーバのソフトウェア構成例>
再び図2を参照して、SDTMサーバ200においては、制御部240によって、入力候補検索モジュール210及びデータフロー制御モジュール220の各々が実現される。以下、各ソフトウェアモジュールについて順に説明する。
(2−5−1.入力候補検索モジュール)
図13は、入力候補検索モジュール210の詳細な構成の一例を示す図である。図13の例では、入力候補検索モジュール210は、利用側データカタログ取得部211と、センサ側メタデータ取得部212と、提供側データカタログ生成部215と、マッチング部213と、入力候補取得部214とを含む。
利用側データカタログ取得部211は、通信I/F260を介して、仮想センサ管理サーバ100(入力候補管理モジュール110)から上述の利用側データカタログを取得する。
センサ側メタデータ取得部212は、センサ側メタデータDB230(図12)に登録されている各実センサ12に対応付けられているセンサ側メタデータ13(図1)を取得する。
提供側データカタログ生成部215は、センサ側メタデータ13に基づいて、提供側データカタログを生成する。提供側データカタログは、センサ側メタデータDB230に登録されている実センサ12毎に生成される。提供側データカタログとは、提供側(各実センサ12)の属性を示すカタログである。提供側データカタログには、センサ側メタデータ13によって示される、実センサ12の属性が含まれる。たとえば、提供側データカタログには、上述の「基本属性」及び「品質属性」が含まれる。
マッチング部213は、利用側データカタログ取得部211によって取得された利用側データカタログと、提供側データカタログ生成部215によって生成された提供側データカタログとのマッチングを行なう。たとえば、提供側データカタログに含まれる実センサ12の属性が、利用側データカタログに含まれる、処理モジュール150の入力データの条件を満たす場合に、マッチングが成立する。マッチングが成立すると、該提供側データカタログに対応する実センサ12は、入力センサ候補として抽出される。一方、たとえば、提供側データカタログに含まれる実センサ12の属性が、利用側データカタログに含まれる、処理モジュール150の入力データの条件を満たさない場合に、マッチングが不成立となる。マッチングが不成立となると、該提供側データカタログに対応する実センサ12は、入力センサ候補に抽出されない。
入力候補取得部214は、マッチング部213によって入力センサ候補に抽出された実センサ12を特定可能な情報(実センサ情報)を取得する。入力候補取得部214によって取得された各実センサ情報は、通信I/F260を介して、仮想センサ管理サーバ100(入力候補管理モジュール110)に送信される。
(2−5−2.データフロー制御モジュール)
図14は、データフロー制御モジュール220の詳細な構成の一例を示す図である。図14の例では、データフロー制御モジュール220は、センサ切替指令取得部221と、データフロー制御指令生成部222とを含む。
センサ切替指令取得部221は、通信I/F260を介して、仮想センサ管理サーバ100(セッション制御モジュール130)から上述のセンサ切替指令を取得する。センサ切替指令は、たとえば、現在処理モジュール150へ入力データを出力している実センサ12(切り替え元の実センサ12)の実センサ情報と、切り替え先の実センサ12の実センサ情報とを含む。
データフロー制御指令生成部222は、切り替え元の実センサ12の実センサ情報と、切り替え先の実センサ12の実センサ情報とに基づいて、データフロー制御指令を生成する。データフロー制御指令は、切り替え元の実センサ12による処理モジュール150への入力データの出力停止指令と、切り替え先の実センサ12による処理モジュール150への入力データの出力開始指令とを含む。出力停止指令は、通信I/F260を介して、切り替え元の実センサ12に送信される。出力停止指令が切り替え元の実センサ12に送信されると、切り替え元の実センサ12によるセンシングデータの出力が停止される。一方、出力開始指令は、通信I/F260を介して、切り替え先の実センサ12に送信される。切り替え先の実センサ12は、たとえば、出力開始指令が受信された場合にセンシングデータの出力を許可するときは、出力先の処理モジュール150との通信を確立するためのAPI(Application Programming Interface)を仮想センサ管理サーバ100へ送信する。仮想センサ管理サーバ100において、該APIが実行されることによって、切り替え先の実センサ12から対象の処理モジュール150へのセンシングデータの出力が開始される。
[3.動作例]
<3−1.入力候補の抽出動作例>
図15は、処理モジュール150の入力センサ候補の抽出動作の一例を示すフローチャートである。このフローチャートに示される処理は、予め定められた周期で実行される。なお、上述の通り、入力センサ候補の抽出は各処理モジュール150の入力ポート毎に行なわれるが、ここでは1つの処理モジュール150の1つの入力ポートに着目して説明する。
図15を参照して、左方のフローチャートは、制御部170が入力候補管理モジュール110として動作することによって実行される。一方、右方のフローチャートは、制御部240が入力候補検索モジュール210として動作することによって実行される。
図15の左方を参照して、制御部170は、入力ポートに対応付けられている処理モジュール側メタデータ161を処理モジュール側メタデータDB160(図5)から取得する(ステップS100)。制御部170は、取得された処理モジュール側メタデータ161に基づいて利用側データカタログを生成する(ステップS110)。
制御部170は、生成された利用側データカタログをSDTMサーバ200に送信するように通信I/F190を制御する(ステップS120)。その後、制御部170は、通信I/F190を介してSDTMサーバ200から入力センサ候補を示す情報(実センサ情報)が受信されたかを判定する(ステップS130)。実センサ情報が受信されていないと判定されると(ステップS130においてNO)、制御部170は、実センサ情報が受信されるまで待機する。
図15の右方を参照して、制御部240は、利用側データカタログが受信されたか否かを判定する(ステップS200)。利用側データカタログが受信されていないと判定されると(ステップS200においてNO)、制御部240は、利用側データカタログが受信されるまで待機する。
利用側データカタログが受信されたと判定されると(ステップS200においてYES)、制御部240は、センサ側メタデータDB230において管理されている各実センサ12のセンサ側メタデータ13を取得する(ステップS210)。制御部240は、取得されたセンサ側メタデータ13に基づいて提供側データカタログを生成する(ステップS220)。
制御部240は、取得された利用側データカタログと生成された提供側データカタログとに基づいて、センサ側メタデータDB230によって管理されている複数の実センサ12から入力センサ候補を抽出する(ステップS230)。
たとえば、制御部240は、提供側データカタログによって示される属性(たとえば、「基本属性」及び「品質属性」)が利用側データカタログによって示される条件(たとえば、「基本条件」及び「品質条件」)を満たす場合に、該提供側データカタログに対応する実センサ12を入力センサ候補として抽出する。たとえば、制御部240は、処理モジュール150の入力ポートの数以上の入力センサ候補を抽出する。たとえば、処理モジュール150の入力ポートの数が「3」である場合に、制御部240は、たとえば、4つ以上の入力センサ候補を抽出する。
制御部240は、抽出された複数の実センサ情報を仮想センサ管理サーバ100に送信するように通信I/F260を制御する(ステップS240)。
再び図15の左方を参照して、ステップS130において、複数の実センサ情報(入力センサ候補を示す情報)が受信されると(ステップS130においてYES)、制御部170は、予め定められた基準に従って、各実センサ12に優先順位を付与する(ステップS140)。
その後、制御部170は、付与された優先順位に従って入力候補DB140を更新する(ステップS150)。すなわち、制御部170は、抽出された各入力センサ候補が付与された優先順位に従って管理されるように入力候補DB140を更新する。
このように、仮想センサ管理サーバ100及びSDTMサーバ200においては、処理モジュール側メタデータ161及びセンサ側メタデータ13に基づいて、各処理モジュール150の入力センサ候補が抽出される。すなわち、各処理モジュール150の入力データの条件が考慮された上で、入力センサ候補が抽出される。したがって、仮想センサ管理サーバ100及びSDTMサーバ200によれば、処理モジュール150へ入力データを出力する実センサ12の適切な候補を予め抽出することができる。
<3−2.入力データの品質チェック動作例>
図16は、処理モジュール150への入力データの品質チェック動作の一例を示すフローチャートである。このフローチャートに示される処理は、処理モジュール150へデータが入力されるタイミングで、制御部170が入力品質チェックモジュール120として動作することによって実行される。なお、上述の通り、入力データの品質チェックは、各処理モジュール150の入力ポート毎に行なわれるが、ここでは1つの処理モジュール150の1つの入力ポートに着目して説明する。
図16を参照して、制御部170は、処理モジュール150への入力データから入力メタデータを抽出する(ステップS300)。制御部170は、抽出された入力メタデータをチェックする(ステップS310)。たとえば、制御部170は、入力ポートに対応付けられている処理モジュール側メタデータ161と、入力メタデータとに基づいて、入力データの品質チェックを行なう。たとえば、制御部170は、入力メタデータによって示される品質属性が処理モジュール側メタデータ161によって示される品質条件を満たす場合に、入力データの品質を「良」と判定する一方、入力メタデータによって示される品質属性が処理モジュール側メタデータ161によって示される品質条件を満たさない場合に、入力データの品質を「悪」と判定する。
その後、制御部170は、入力メタデータに基づいて、入力データにアクシデントが生じていないか否かを判定する(ステップS320)。たとえば、制御部170は、入力メタデータに「文字化け」等が生じている場合に入力データにアクシデントが生じていると判定する。たとえば、制御部170は、入力データにアクシデントが生じていると判定された場合に入力データの品質を「悪」と判定する一方、入力データにアクシデントが生じていないと判定された場合に入力データの品質を「良」と判定する。
入力品質チェックモジュール120(制御部170)は、ステップS310,S320における判定結果に基づく入力品質チェック結果をセッション制御モジュール130(制御部170)に通知する(ステップS330)。たとえば、入力品質チェックモジュール120は、ステップS310,S320の両方において品質が「良」と判定された場合に入力品質チェック結果を「良」と判定する一方、ステップS310,S320の少なくとも一方において品質が「悪」と判定された場合に入力品質チェック結果を「悪」と判定する。
このように、仮想センサ管理サーバ100においては、入力メタデータが処理モジュール150への入力データの品質属性を含む。そして、入力メタデータに基づいて、入力データの品質がチェックされる。すなわち、仮想センサ管理サーバ100によれば、処理モジュール150への入力データの品質をチェックすることができる。
<3−3.セッション切替動作例>
図17は、処理モジュール150と実センサ12とのセッションの切替動作の一例を示すフローチャートである。このフローチャートに示される処理は、入力品質チェックモジュール120から入力品質チェック結果が通知された場合に、制御部170がセッション制御モジュール130として動作することによって実行される。なお、上述の通り、セッションの切り替えは、各処理モジュール150の入力ポート毎に行なわれるが、ここでは1つの処理モジュール150の1つの入力ポートに着目して説明する。
図17を参照して、制御部170は、通知された入力品質チェック結果に基づいて、セッションの切り替えの要否を判定する(ステップS400)。たとえば、制御部170は、入力品質チェック結果が「良」である場合に切り替え不要と判定する一方、入力品質チェック結果が「悪」である場合に切り替え必要と判定する。
次に、制御部170は、ステップS400においてセッションの切り替えが必要と判定されたか否かを判定する(ステップS410)。切り替えが不要と判定されると(ステップS410においてNO)、制御部170は、特に処理モジュール150の入力センサを切り替えず、セッションを維持する(ステップS430)。
一方、切り替えが必要と判定されると(ステップS410においてYES)、制御部170は、切替候補があるか否かを判定する(ステップS420)。たとえば、制御部170は、入力候補DB140において該当する入力ポートの入力センサ候補が管理されているか否かを判定する。たとえば、制御部170は、入力候補DB140において、該当する入力ポートの入力センサ候補が管理されている場合に切替候補があると判定する一方、該当する入力ポートの入力センサ候補が管理されていない場合に切替候補がないと判定する。
切替候補がないと判定されると(ステップS420においてNO)、制御部170は、特に処理モジュール150の入力センサを切り替えず、セッションを維持する(ステップS430)。一方、切替候補があると判定されると(ステップS420においてYES)、制御部170は、入力候補DB140に管理されている入力センサ候補からいずれかの入力センサ候補(選択済み実センサ)を選択する(ステップS440)。
その後、制御部170は、セッション切り替えのための処理を実行する(ステップS450)。たとえば、制御部170は、入力センサが選択済み実センサに切り替わるように、処理モジュール150の入力ポートを制御する。また、制御部170は、上述のセンサ切替指令をSDTMサーバ200に送信するように通信I/F190を制御する。
このように、仮想センサ管理サーバ100においては、処理モジュール150の入力データが品質条件を満たさない場合に、入力センサが新たな実センサ12に切り替えられる。したがって、仮想センサ管理サーバ100によれば、品質条件を満たさないデータの処理モジュール150への入力が継続されないため、入力データの品質を維持することができる。
また、仮想センサ管理サーバ100においては、品質条件を満たす入力データを出力する実センサ12が予め抽出され、処理モジュール150へ入力データを出力する実センサ12が、予め抽出された実センサ12のいずれかに切り替えられる。したがって、仮想センサ管理サーバ100によれば、切り替え後の実センサ12から品質条件を満たすデータが入力されるため、処理モジュール150への入力データの品質を維持することができる。
<3−4.データフロー制御動作例>
図18は、データフロー制御動作の一例を示すフローチャートである。このフローチャートに示される処理は、通信I/F260を介して仮想センサ管理サーバ100からセンサ切替指令が受信されるタイミングで、制御部240がデータフロー制御モジュール220として動作することによって実行される。なお、上述の通り、データフローの制御は、各処理モジュール150の入力ポート毎に行なわれるが、ここでは1つの処理モジュール150の1つの入力ポートに着目して説明する。
図18を参照して、制御部240は、通信I/F260を介して仮想センサ管理サーバ100からセンサ切替指令を受信したか否かを判定する(ステップS500)。センサ切替指令が受信されていないと判定されると(ステップS500においてNO)、制御部240は、センサ切替指令が受信されるまで待機する。
一方、センサ切替指令が受信されたと判定されると(ステップS500においてYES)、制御部240は、上述のデータフロー制御指令を生成する(ステップS510)。制御部240は、生成されたデータフロー制御指令を、切り替え元の実センサ12、切り替え先の実センサ12等に送信する(ステップS520)。これにより、処理モジュール150と実センサ12とのセッションの切り替えが完了する。
[4.特徴]
以上のように、本実施の形態において、制御部170,240は、センサ側メタデータ13と処理モジュール側メタデータ161とに基づいて、複数の実センサ12から、処理モジュール150の入力ポートの数よりも多くの入力センサ候補を抽出する。すなわち、本実施の形態においては、処理モジュール150の入力データの条件が考慮された入力センサ候補が抽出される。したがって、仮想センサ管理サーバ100及びSDTMサーバ200によれば、処理モジュール150へ入力データを出力する実センサ12の適切な候補を抽出することができる。
なお、処理モジュール150は、本発明の「処理モジュール」の一例であり、実センサ12は、本発明の「デバイス」の一例であり、処理モジュール側メタデータ161は、本発明の「第1メタデータ」の一例であり、センサ側メタデータ13は、本発明の「第2メタデータ」の一例である。入力候補管理モジュール110及び入力候補検索モジュール210を含む構成は、本発明の「候補抽出装置」の一例である。メタデータ取得部111は、本発明の「第1取得部」の一例であり、センサ側メタデータ取得部212は、本発明の「第2取得部」の一例であり、マッチング部213は、本発明の「抽出部」の一例である。
[5.変形例]
以上、実施の形態について説明したが、本発明は、上記実施の形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
<5−1>
上記実施の形態においては、処理モジュール150の入力センサ候補が抽出された。しかしながら、抽出される対象は、必ずしも処理モジュール150の入力センサ候補でなくてもよい。たとえば、処理モジュール150に入力されるデータセットの候補が抽出されてもよい。データセットは、予め生成された複数のデータの集合である。たとえば、予め所定期間、対象を観測することによって得られたセンシングデータの集合は、データセットの一例である。たとえば、データセットは、インターネット15に接続されたストレージに記憶されている。
この場合には、たとえば、各データセットの属性を示すメタデータが、SDTMサーバ200において管理される。そして、各データセットに対応付けられたメタデータに基づいて、提供側データカタログが生成される。そして、利用側データカタログと提供側データカタログとに基づいて、処理モジュール150の入力データの条件を満たすデータセットが抽出される。すなわち、処理モジュール側メタデータ161と、各データセットに対応付けられたメタデータとに基づいて、複数のデータセットから、処理モジュール150の入力ポートの数よりも多くのデータセットの候補が抽出される。これにより、処理モジュール150の入力データの条件を満たす適切なデータセットを抽出することができる。
また、上記実施の形態においては、処理モジュール150への入力データの品質がチェックされた。しかしながら、品質チェックの対象は、必ずしも入力データでなくてもよい。たとえば、処理モジュール150に入力されるデータセットの品質がチェックされてもよい。この場合に、データセットは、複数のデータと、複数のデータの各々の品質に関する属性を示すメタデータとで構成される。そして、たとえば、入力品質チェックモジュール120は、該メタデータに基づいて、該メタデータを含むデータセットの品質をチェックする。これにより、処理モジュール150へ入力されるデータセットの品質をチェックすることができる。
また、上記実施の形態においては、処理モジュール150への入力データが品質条件を満たさない場合に、処理モジュール150の入力センサが新たな実センサ12に切り替えられた。しかしながら、切り替え元及び切り替え先は、必ずしも実センサ12でなくてもよい。たとえば、処理モジュール150への入力データが品質条件を満たさない場合に、処理モジュール150へ入力されるデータセットが新たなデータセットに切り替えられてもよい。
また、上記の実施の形態においては、予め抽出された入力センサ候補から、切り替え先の実センサ12が選択された。しかしながら、上述のように、予め抽出される対象はデータセットでもよく、切り替え先として選択される対象もデータセットであってもよい。この場合には、当然ながら、予め抽出された複数のデータセット候補の各々に含まれるデータは、処理モジュール150の入力データの品質条件を満たす。
また、処理モジュール150の入力候補として予め抽出される対象、及び、処理モジュール150の入力の切り替え先として選択される対象の各々には、実センサ12及びデータセットの両方が含まれてもよい。
<5−2>
また、上記実施の形態において、各処理モジュール150の各入力ポートは、いずれかの実センサ12とセッションを行なうこととした。しかしながら、各入力ポートがセッションを行なう相手は、実センサ12に限定されない。たとえば、セッション相手は、データセットを記憶したストレージであってもよいし、仮想センサであってもよい。セッション相手が必ずしもセンサである必要がないため、処理モジュール150の入力データは、必ずしもセンシングデータでなくてもよい。たとえば、入力データは、ショッピングサイトにおける各ユーザの購買履歴データや、ゲームサイトにおける各ユーザのスコアデータ等であってもよい。
<5−3>
上記実施の形態において、仮想センサ管理サーバ100及びSDTMサーバ200の各々によって行なわれた処理は、複数のサーバ等によって実現されてもよい。また、上記実施の形態において、仮想センサ管理サーバ100及びSDTMサーバ200によって行なわれた処理は、1つのサーバ等によって実現されてもよい。
10 センサネットワークシステム、11 センサネットワークアダプタ、12 実センサ、13 センサ側メタデータ、14 センサネットワーク部、15 インターネット、50 入力候補抽出装置、60 メタデータ、100 仮想センサ管理サーバ、110 入力候補管理モジュール、111 メタデータ取得部、112 利用側データカタログ生成部、113 優先順位付与部、114 入力候補DB更新部、120 入力品質チェックモジュール、121 データフィルタリング部、122 メタデータチェック部、123 アクシデントチェック部、130 セッション制御モジュール、131 切替要否判定部、132 入力候補選択部、133 セッション切替部、140 入力候補DB、150 処理モジュール、160 処理モジュール側メタデータDB、161 処理モジュール側メタデータ、170,240 制御部、172,242 CPU、174,244 RAM、176,246 ROM、180,250 記憶部、181,251 制御プログラム、190,260 通信I/F、195,265 バス、200 SDTMサーバ、210 入力候補検索モジュール、211 利用側データカタログ取得部、212 センサ側メタデータ取得部、213 マッチング部、214 入力候補取得部、215 提供側データカタログ生成部、220 データフロー制御モジュール、221 センサ切替指令取得部、222 データフロー制御指令生成部、230 センサ側メタデータDB、300 アプリケーションサーバ。

Claims (10)

  1. 処理モジュールへ入力データを出力するデバイスの候補を抽出するように構成された候補抽出装置であって、
    前記処理モジュールは、少なくとも1つの入力ポートに入力される前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュールには、前記入力データの条件を示す第1メタデータが対応付けられており、
    前記デバイスには、前記デバイスによって出力される入力データの属性を示す第2メタデータが対応付けられており、
    前記候補抽出装置は、
    前記第1メタデータを取得するように構成された第1取得部と、
    複数のデバイスの各々に対応付けられた前記第2メタデータを取得するように構成された第2取得部と、
    前記第1及び第2メタデータに基づいて、前記複数のデバイスから、前記入力ポートの数よりも多くの前記候補を抽出するように構成された抽出部とを備える、候補抽出装置。
  2. 前記入力データの条件は、前記入力データの品質に関する条件を含み、
    前記入力データの属性は、前記入力データの品質に関する属性を含む、請求項1に記載の候補抽出装置。
  3. 前記デバイスは、センサであり、
    前記入力データは、前記センサによって生成されたセンシングデータである、請求項1又は請求項2に記載の候補抽出装置。
  4. 前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項1から請求項3のいずれか1項に記載の候補抽出装置。
  5. 前記処理モジュールは、前記処理モジュールへ前記入力データを出力する前記デバイスを切り替え可能に構成されている、請求項1から請求項4のいずれか1項に記載の候補抽出装置。
  6. 前記処理モジュールと、前記処理モジュールへ前記入力データを出力する前記デバイスとによって仮想センサが形成される、請求項1から請求項5のいずれか1項に記載の候補抽出装置。
  7. 前記抽出部は、前記第1メタデータが示す前記入力データの条件を満たす前記第2メタデータが対応付けられた前記デバイスを、前記候補として抽出するように構成されている、請求項1から請求項6のいずれか1項に記載の候補抽出装置。
  8. 処理モジュールへ入力するデータセットの候補を抽出するように構成された候補抽出装置であって、
    前記データセットは、複数のデータで構成されており、
    前記処理モジュールは、少なくとも1つの入力ポートに入力される入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュールには、前記入力データの条件を示す第1メタデータが対応付けられており、
    前記データセットには、前記データセットの属性を示す第2メタデータが対応付けられており、
    前記候補抽出装置は、
    前記第1メタデータを取得するように構成された第1取得部と、
    複数のデータセットの各々に対応付けられた前記第2メタデータを取得するように構成された第2取得部と、
    前記第1及び第2メタデータに基づいて、前記複数のデータセットから、前記入力ポートの数よりも多くの前記候補を抽出するように構成された抽出部とを備える、候補抽出装置。
  9. 処理モジュールへ入力データを出力するデバイスの候補を抽出する候補抽出方法であって、
    前記処理モジュールは、少なくとも1つの入力ポートに入力される前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュールには、前記入力データの条件を示す第1メタデータが対応付けられており、
    前記デバイスには、前記デバイスによって出力される入力データの属性を示す第2メタデータが対応付けられており、
    前記候補抽出方法は、
    前記第1メタデータを取得するステップと、
    複数のデバイスの各々に対応付けられた前記第2メタデータを取得するステップと、
    前記第1及び第2メタデータに基づいて、前記複数のデバイスから、前記入力ポートの数よりも多くの前記候補を抽出するステップとを含む、候補抽出方法。
  10. 処理モジュールへ入力データを出力するデバイスの候補を抽出する処理をコンピュータに実行させるためのプログラムであって、
    前記処理モジュールは、少なくとも1つの入力ポートに入力される前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュールには、前記入力データの条件を示す第1メタデータが対応付けられており、
    前記デバイスには、前記デバイスによって出力される入力データの属性を示す第2メタデータが対応付けられており、
    前記プログラムは、
    前記第1メタデータを取得するステップと、
    複数のデバイスの各々に対応付けられた前記第2メタデータを取得するステップと、
    前記第1及び第2メタデータに基づいて、前記複数のデバイスから、前記入力ポートの数よりも多くの前記候補を抽出するステップとを前記コンピュータに実行させるように構成されている、プログラム。
JP2018022957A 2018-02-13 2018-02-13 候補抽出装置、候補抽出方法及びプログラム Active JP6489250B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018022957A JP6489250B1 (ja) 2018-02-13 2018-02-13 候補抽出装置、候補抽出方法及びプログラム
US16/961,705 US11803406B2 (en) 2018-02-13 2018-11-29 Candidate extraction apparatus, candidate extraction method, and program
CN201880085851.7A CN111602408B (zh) 2018-02-13 2018-11-29 候选提取装置、候选提取方法及程序
PCT/JP2018/043924 WO2019159482A1 (ja) 2018-02-13 2018-11-29 候補抽出装置、候補抽出方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018022957A JP6489250B1 (ja) 2018-02-13 2018-02-13 候補抽出装置、候補抽出方法及びプログラム

Publications (2)

Publication Number Publication Date
JP6489250B1 JP6489250B1 (ja) 2019-03-27
JP2019140558A true JP2019140558A (ja) 2019-08-22

Family

ID=65895167

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018022957A Active JP6489250B1 (ja) 2018-02-13 2018-02-13 候補抽出装置、候補抽出方法及びプログラム

Country Status (4)

Country Link
US (1) US11803406B2 (ja)
JP (1) JP6489250B1 (ja)
CN (1) CN111602408B (ja)
WO (1) WO2019159482A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017104287A1 (ja) * 2015-12-14 2017-06-22 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
JP2017182665A (ja) * 2016-03-31 2017-10-05 富士通株式会社 情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4194108B2 (ja) * 2001-10-12 2008-12-10 オムロン株式会社 情報処理装置、センサネットワークシステム、情報処理プログラム、および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
KR100793057B1 (ko) 2006-09-01 2008-01-10 한국전자통신연구원 이기종 센서 네트워크 기반의 정보 서비스 생성을 위한usn 미들웨어 장치 및 그 방법과, 그를 이용한 정보서비스 제공 시스템
US7787969B2 (en) * 2007-06-15 2010-08-31 Caterpillar Inc Virtual sensor system and method
US9148709B2 (en) * 2011-08-03 2015-09-29 Infineon Technologies Ag Sensor interface with variable control coefficients
EP2743883B1 (en) * 2011-08-12 2017-09-06 Omron Corporation Information management device, network system, information management program, and information management method
US9256222B2 (en) * 2012-07-18 2016-02-09 International Business Machines Corporation Sensor virtualization through cloud storage and retrieval mechanisms
JP2014045242A (ja) * 2012-08-24 2014-03-13 Oki Electric Ind Co Ltd 仮想センサ生成装置、仮想センサ生成方法およびプログラム
CA2861215C (en) * 2012-09-12 2015-09-08 Omron Corporation Data flow control order generating apparatus and sensor managing apparatus
JP2015226102A (ja) * 2014-05-26 2015-12-14 オムロン株式会社 仮想センサのメタデータ構造
EP3018541B1 (en) * 2014-11-04 2023-10-25 Garrett Transportation I Inc. Configurable inferential sensor for vehicle control systems
JP6398894B2 (ja) * 2015-06-30 2018-10-03 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
DE102015215044A1 (de) * 2015-08-06 2017-02-09 Volkswagen Aktiengesellschaft Verfahren und System zur Verarbeitung multimodaler Eingabesignale
US10113552B2 (en) * 2016-10-13 2018-10-30 Caterpillar Inc. System, method, and apparatus to monitor compressor health

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017104287A1 (ja) * 2015-12-14 2017-06-22 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
JP2017182665A (ja) * 2016-03-31 2017-10-05 富士通株式会社 情報処理装置、データ提供システム、データ提供方法、及びデータ提供プログラム

Also Published As

Publication number Publication date
JP6489250B1 (ja) 2019-03-27
CN111602408B (zh) 2022-04-29
CN111602408A (zh) 2020-08-28
US11803406B2 (en) 2023-10-31
US20210055949A1 (en) 2021-02-25
WO2019159482A1 (ja) 2019-08-22

Similar Documents

Publication Publication Date Title
JP6558452B1 (ja) 品質チェック装置、品質チェック方法及びプログラム
JP6481787B1 (ja) デバイス選択装置、データセット選択装置、デバイス選択方法及びプログラム
WO2019159482A1 (ja) 候補抽出装置、候補抽出方法及びプログラム
JP6528869B1 (ja) セッション制御装置、セッション制御方法及びプログラム
JP6528868B1 (ja) セッション制御装置、セッション制御方法及びプログラム
JP6477935B1 (ja) 前処理判定装置、前処理判定方法及びプログラム
JP2019169946A (ja) 品質チェック装置、品質チェック方法及びプログラム
JP6468377B1 (ja) 出力管理装置、出力管理方法及びプログラム
JP6501007B1 (ja) 出力管理装置、出力管理方法及びプログラム
JP6477936B1 (ja) データ処理装置、データ処理方法及びプログラム
WO2020049759A1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP2020042344A (ja) データ処理装置、データ処理方法及びデータ処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181126

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181212

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190211

R150 Certificate of patent or registration of utility model

Ref document number: 6489250

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150