JP6528868B1 - セッション制御装置、セッション制御方法及びプログラム - Google Patents

セッション制御装置、セッション制御方法及びプログラム Download PDF

Info

Publication number
JP6528868B1
JP6528868B1 JP2018022955A JP2018022955A JP6528868B1 JP 6528868 B1 JP6528868 B1 JP 6528868B1 JP 2018022955 A JP2018022955 A JP 2018022955A JP 2018022955 A JP2018022955 A JP 2018022955A JP 6528868 B1 JP6528868 B1 JP 6528868B1
Authority
JP
Japan
Prior art keywords
input
processing module
data
sensor
input data
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.)
Active
Application number
JP2018022955A
Other languages
English (en)
Other versions
JP2019139552A (ja
Inventor
哲二 大和
哲二 大和
泰司 吉川
泰司 吉川
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
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 filed Critical Omron Corp
Priority to JP2018022955A priority Critical patent/JP6528868B1/ja
Priority to US16/962,129 priority patent/US11115477B2/en
Priority to CN201880085803.8A priority patent/CN111587426B/zh
Priority to PCT/JP2018/043927 priority patent/WO2019159485A1/ja
Application granted granted Critical
Publication of JP6528868B1 publication Critical patent/JP6528868B1/ja
Publication of JP2019139552A publication Critical patent/JP2019139552A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】処理モジュールへの入力データの品質を維持することが可能なセッション制御装置、セッション制御方法及びプログラムを提供する。【解決手段】処理モジュール毎に、入力データの品質に関する条件が規定されている。セッション制御装置は、選択部と、切替部とを備える。選択部は、入力データが条件を満たさない場合に、新たなデバイスを選択するように構成されている。切替部は、処理モジュールへ入力データを出力するデバイスを、選択部によって選択された新たなデバイスに切り替えるように構成されている。【選択図】図1

Description

本発明は、セッション制御装置、セッション制御方法及びプログラムに関する。
特開2014−45242号公報(特許文献1)は、仮想センサを生成する仮想センサ生成装置を開示する。この仮想センサ生成装置においては、所定範囲内に存在する実センサが検出され、検出された実センサを用いることによって仮想センサが生成される(特許文献1参照)。
特開2014−45242号公報
上記特許文献1に開示されるような仮想センサは、たとえば、実センサ(デバイスの一例)と、処理モジュールとを含む。処理モジュールは、実センサにより出力されたセンシングデータ(入力データの一例)に処理を施すことによって、入力データとは異なる出力データを生成する。たとえば、仮想センサを継続的に機能させるためには、処理モジュールへの入力データの品質を維持する必要がある。しかしながら、上記特許文献1においては、処理モジュールへの入力データの品質を維持する方法が開示されていない。
本発明は、このような問題を解決するためになされたものであって、その目的は、処理モジュールへの入力データの品質を維持することが可能なセッション制御装置、セッション制御方法及びプログラムを提供することである。
本発明のある局面に従うセッション制御装置は、処理モジュールと、処理モジュールへ入力データを出力するデバイスとのセッションを制御するように構成されている。処理モジュールは、少なくとも1つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール毎に、入力データの品質に関する条件が規定されている。セッション制御装置は、選択部と、切替部とを備える。選択部は、入力データが条件を満たさない場合に、新たなデバイスを選択するように構成されている。切替部は、処理モジュールへ入力データを出力するデバイスを、選択部によって選択された新たなデバイスに切り替えるように構成されている。
このセッション制御装置によれば、入力データが条件を満たさない場合に、処理モジュールへ入力データを出力するデバイスが、新たなデバイスに切り替えられる。したがって、このセッション制御装置によれば、条件を満たさないデータの処理モジュールへの入力が継続されないため、入力データの品質を維持することができる。
また、好ましくは、上記セッション制御装置において、新たなデバイスが出力する入力データは、入力データの条件を満たす。
このセッション制御装置によれば、新たなデバイスが出力する入力データが条件を満たすため、処理モジュールへの入力データの品質を維持することができる。
また、好ましくは、上記セッション制御装置において、デバイスは、センサである。入力データは、センサによって生成されたセンシングデータである。
また、好ましくは、上記セッション制御装置において、処理モジュールは、複数の入力データに基づいて出力データを生成するように構成されている。
また、好ましくは、上記セッション制御装置においては、処理モジュールと、処理モジュールへ入力データを出力するデバイスとによって仮想センサが形成される。
また、本発明の別の局面に従うセッション制御装置は、処理モジュールと、処理モジュールへ入力するデータセットを保持するストレージとのセッションを制御するように構成されている。データセットは、複数のデータで構成されている。処理モジュールは、少なくとも1つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール毎に、入力データの条件が規定されている。セッション制御装置は、選択部と、切替部とを備える。選択部は、データセットに含まれるデータが入力データの条件を満たさない場合に、新たなデータセットを選択するように構成されている。切替部は、処理モジュールへ入力するデータセットを、選択部によって選択された新たなデータセットに切り替えるように構成されている。
このセッション制御装置によれば、データセットに含まれるデータが条件を満たさない場合に、処理モジュールへ入力するデータセットが、新たなデータセットに切り替えられる。したがって、このセッション制御装置によれば、条件を満たさないデータの処理モジュールへの入力が継続されないため、入力データの品質を維持することができる。
また、本発明の別の局面に従うセッション制御方法は、処理モジュールと、処理モジュールへ入力データを出力するデバイスとのセッションを制御する。処理モジュールは、少なくとも1つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール毎に、入力データの品質に関する条件が規定されている。セッション制御方法は、入力データが条件を満たさない場合に、新たなデバイスを選択するステップと、処理モジュールへ入力データを出力するデバイスを、選択部によって選択された新たなデバイスに切り替えるステップとを含む。
このセッション制御方法によれば、入力データが条件を満たさない場合に、処理モジュールへ入力データを出力するデバイスが、新たなデバイスに切り替えられる。したがって、このセッション制御方法によれば、条件を満たさないデータの処理モジュールへの入力が継続されないため、入力データの品質を維持することができる。
また、本発明の別の局面に従うプログラムは、処理モジュールと、処理モジュールへ入力データを出力するデバイスとのセッションを制御する処理をコンピュータに実行させる。処理モジュールは、少なくとも1つの入力データに基づいて入力データとは異なる出力データを生成するように構成されている。処理モジュール毎に、入力データの品質に関する条件が規定されている。プログラムは、入力データが条件を満たさない場合に、新たなデバイスを選択するステップと、処理モジュールへ入力データを出力するデバイスを、選択部によって選択された新たなデバイスに切り替えるステップとをコンピュータに実行させるように構成されている。
このプログラムがコンピュータによって実行されると、入力データが条件を満たさない場合に、処理モジュールへ入力データを出力するデバイスが、新たなデバイスに切り替えられる。したがって、このプログラムによれば、条件を満たさないデータの処理モジュールへの入力が継続されないため、入力データの品質を維持することができる。
本発明によれば、処理モジュールへの入力データの品質を維持することが可能なセッション制御装置、セッション制御方法及びプログラムを提供することができる。
セッション制御装置の概要を説明するための図である。 センサネットワークシステムの一例を示す図である。 仮想センサ管理サーバのハードウェア構成の一例を示す図である。 入力候補DBの一例を示す図である。 処理モジュール側メタデータDBの一例を示す図である。 制御部によって実現される各ソフトウェアモジュールの関係の一例を示す図である。 入力候補管理モジュールの詳細な構成の一例を示す図である。 入力品質チェックモジュールの詳細な構成の一例を示す図である。 センシングデータに対応付けられるメタデータの一例を示す図である。 セッション制御モジュールの詳細な構成の一例を示す図である。 SDTMサーバのハードウェア構成の一例を示す図である。 センサ側メタデータDBの一例を示す図である。 入力候補検索モジュールの詳細な構成の一例を示す図である。 データフロー制御モジュールの詳細な構成の一例を示す図である。 処理モジュールの入力センサ候補の抽出動作の一例を示すフローチャートである。 処理モジュールへの入力データの品質チェック動作の一例を示すフローチャートである。 処理モジュールと実センサとのセッションの切替動作の一例を示すフローチャートである。 データフロー制御動作の一例を示すフローチャートである。
以下、本発明の一側面に係る実施の形態(以下、「本実施の形態」とも称する。)について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
[1.概要]
図1は、本実施の形態に従うセッション制御装置(モジュール)130の概要を説明するための図である。図1を参照して、処理モジュール150は複数の入力ポートを有し、各入力ポートには実センサ12(デバイスの一例)によって出力されたセンシングデータ(入力データの一例)が入力される。処理モジュール150は、入力データに基づいて入力データとは異なる出力データを生成するように構成されている。すなわち、処理モジュール150と、処理モジュール150へ入力データを出力する実センサ12(入力センサ)とによって、いわゆる仮想センサが形成される。仮想センサとは、入力センサが対象を観測することによって生成されたセンシングデータに基づいて、入力センサによって観測された対象とは異なる対象の観測結果をセンシングデータとして出力するセンサモジュールである。仮想センサについては、後程詳しく説明する。
仮想センサを継続的に機能させるためには、処理モジュール150への入力データの品質を維持する必要がある。すなわち、処理モジュール150への入力データの品質が低下すると、仮想センサが所望の機能を発揮し得なくなる可能性がある。本実施の形態に従うセッション制御装置130は、処理モジュール150への入力データの品質が、処理モジュール150の入力データの品質に関する条件を満たさなくなった場合に、入力センサを新たな実センサ12に切り替える。したがって、セッション制御装置130によれば、条件を満たさない入力データの処理モジュール150への入力が継続されないため、入力データの品質を維持することができる。以下、具体的な構成及び動作について順に説明する。
[2.構成例]
<2−1.システムの全体構成例>
図2は、本実施の形態に従うセッション制御モジュール(装置)130を含むセンサネットワークシステム10の一例を示す図である。図2の例では、センサネットワークシステム10は、センサネットワーク部14と、仮想センサ管理サーバ100と、SDTM(Sensing Data Trading Market)サーバ200と、アプリケーションサーバ300とを含む。
センサネットワーク部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は、処理モジュール150への入力データの品質条件を入力データが満たさない場合に、入力候補DB140から新たな実センサ12を選択し、処理モジュール150の入力センサを選択された新たな実センサ12に切り替える。したがって、仮想センサ管理サーバ100においては、条件を満たさない入力データの処理モジュール150への入力が継続されないため、入力データの品質を維持することができる。
なお、処理モジュール150は、本発明の「処理モジュール」の一例であり、実センサ12は、本発明の「デバイス」の一例であり、セッション制御モジュール130は、本発明の「セッション制御装置」の一例である。処理モジュール側メタデータ161に含まれる品質条件は、本発明の「条件」の一例である。入力候補選択部132は、本発明の「選択部」の一例であり、セッション切替部133は、本発明の「切替部」の一例である。
[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 センサ側メタデータ、15 インターネット、60 メタデータ、100 仮想センサ管理サーバ、110 入力候補管理モジュール、111 メタデータ取得部、112 利用側データカタログ生成部、113 優先順位付与部、114 入力候補DB更新部、120 入力品質チェックモジュール、121 データフィルタリング部、122 メタデータチェック部、123 アクシデントチェック部、130 セッション制御モジュール、131 切替要否判定部、132 入力候補選択部、133 セッション切替部、140 入力候補DB、150 処理モジュール、160 処理モジュール側メタデータ、170,240 制御部、172,242 CPU、174,244 RAM、176,246 ROM、180,250 記憶部、181,251 制御プログラム、190,260 通信I/F、200 SDTMサーバ、210 入力候補検索モジュール、211 利用側データカタログ取得部、212 センサ側メタデータ取得部、213 マッチング部、214 入力候補取得部、220 データフロー制御モジュール、221 センサ切替指令取得部、222 データフロー制御指令生成部、230 センサ側メタデータDB、300 アプリケーションサーバ。

Claims (8)

  1. 処理モジュールと、前記処理モジュールへ入力データを出力するデバイスとのセッションを制御するように構成されたセッション制御装置であって、
    前記処理モジュールは、少なくとも1つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュール毎に、前記入力データの品質に関する条件が規定されており、
    前記入力データの品質は、前記デバイスの劣化に起因して経時的に変化する性質を有し、
    前記セッション制御装置は、
    前記入力データが前記条件を満たさない場合に、前記条件を満たす前記入力データを出力可能なデバイスを管理するデータベースを参照することによって、新たなデバイスを選択するように構成された選択部と、
    前記処理モジュールへ前記入力データを出力する前記デバイスを、前記選択部によって選択された前記新たなデバイスに切り替えるように構成された切替部とを備える、セッション制御装置。
  2. 前記新たなデバイスが出力する前記入力データは、前記条件を満たす、請求項1に記載のセッション制御装置。
  3. 前記デバイスは、センサであり、
    前記入力データは、前記センサによって生成されたセンシングデータである、請求項1又は請求項2に記載のセッション制御装置。
  4. 前記処理モジュールは、複数の前記入力データに基づいて前記出力データを生成するように構成されている、請求項1から請求項3のいずれか1項に記載のセッション制御装置。
  5. 前記処理モジュールと、前記処理モジュールへ前記入力データを出力する前記デバイスとによって仮想センサが形成される、請求項1から請求項4のいずれか1項に記載のセッション制御装置。
  6. 処理モジュールと、前記処理モジュールへ入力するデータセットを保持するストレージとのセッションを制御するように構成されたセッション制御装置であって、
    前記データセットは、複数のデータで構成されており、
    前記複数のデータの各々は、デバイスによって生成されており、
    前記処理モジュールは、少なくとも1つの入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュール毎に、前記入力データの品質に関する条件が規定されており、
    前記入力データの品質は、前記デバイスの劣化に起因して経時的に変化する性質を有し、
    前記セッション制御装置は、
    前記データセットに含まれるデータが前記入力データの条件を満たさない場合に、前記条件を満たすデータを含む前記データセットを管理するデータベースを参照することによって、新たなデータセットを選択するように構成された選択部と、
    前記処理モジュールへ入力するデータセットを、前記選択部によって選択された前記新たなデータセットに切り替えるように構成された切替部とを備える、セッション制御装置。
  7. 処理モジュールと、前記処理モジュールへ入力データを出力するデバイスとのセッションを制御するセッション制御方法であって、
    前記処理モジュールは、少なくとも1つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュール毎に、前記入力データの品質に関する条件が規定されており、
    前記入力データの品質は、前記デバイスの劣化に起因して経時的に変化する性質を有し、
    前記セッション制御方法は、
    前記入力データが前記条件を満たさない場合に、前記条件を満たす前記入力データを出力可能なデバイスを管理するデータベースを参照することによって、新たなデバイスを選択するステップと、
    前記処理モジュールへ前記入力データを出力する前記デバイスを、選択された前記新たなデバイスに切り替えるステップとを含む、セッション制御方法。
  8. 処理モジュールと、前記処理モジュールへ入力データを出力するデバイスとのセッションを制御する処理をコンピュータに実行させるためのプログラムであって、
    前記処理モジュールは、少なくとも1つの前記入力データに基づいて前記入力データとは異なる出力データを生成するように構成されており、
    前記処理モジュール毎に、前記入力データの品質に関する条件が規定されており、
    前記入力データの品質は、前記デバイスの劣化に起因して経時的に変化する性質を有し、
    前記プログラムは、
    前記入力データが前記条件を満たさない場合に、前記条件を満たす前記入力データを出力可能なデバイスを管理するデータベースを参照することによって、新たなデバイスを選択するステップと、
    前記処理モジュールへ前記入力データを出力する前記デバイスを、選択された前記新たなデバイスに切り替えるステップとを前記コンピュータに実行させるように構成されている、プログラム。
JP2018022955A 2018-02-13 2018-02-13 セッション制御装置、セッション制御方法及びプログラム Active JP6528868B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018022955A JP6528868B1 (ja) 2018-02-13 2018-02-13 セッション制御装置、セッション制御方法及びプログラム
US16/962,129 US11115477B2 (en) 2018-02-13 2018-11-29 Session control apparatus, session control method, and program
CN201880085803.8A CN111587426B (zh) 2018-02-13 2018-11-29 会话控制装置、会话控制方法以及程序
PCT/JP2018/043927 WO2019159485A1 (ja) 2018-02-13 2018-11-29 セッション制御装置、セッション制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018022955A JP6528868B1 (ja) 2018-02-13 2018-02-13 セッション制御装置、セッション制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP6528868B1 true JP6528868B1 (ja) 2019-06-12
JP2019139552A JP2019139552A (ja) 2019-08-22

Family

ID=66821602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018022955A Active JP6528868B1 (ja) 2018-02-13 2018-02-13 セッション制御装置、セッション制御方法及びプログラム

Country Status (4)

Country Link
US (1) US11115477B2 (ja)
JP (1) JP6528868B1 (ja)
CN (1) CN111587426B (ja)
WO (1) WO2019159485A1 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1542137A1 (en) * 2003-12-11 2005-06-15 Sony International (Europe) GmbH Dynamic information source management
US20060058921A1 (en) * 2004-09-13 2006-03-16 Tamao Okamoto Mobile robot
JP5080140B2 (ja) * 2007-06-13 2012-11-21 株式会社日立製作所 I/oデバイス切り替え方法
JP2011028325A (ja) * 2009-07-21 2011-02-10 Nec Corp 情報配信システム、情報端末、情報配信装置、情報配信方法、及び情報配信プログラム
US20140201369A1 (en) * 2011-08-12 2014-07-17 Omron Corporation Information management device, information management program, and information management method
JP2014045242A (ja) 2012-08-24 2014-03-13 Oki Electric Ind Co Ltd 仮想センサ生成装置、仮想センサ生成方法およびプログラム
JP6465012B2 (ja) * 2015-12-14 2019-02-06 オムロン株式会社 データフロー制御装置およびデータフロー制御方法
US11317832B2 (en) * 2016-04-01 2022-05-03 Intel Corporation Sensor data management for multiple smart devices

Also Published As

Publication number Publication date
JP2019139552A (ja) 2019-08-22
US11115477B2 (en) 2021-09-07
US20200412807A1 (en) 2020-12-31
CN111587426B (zh) 2023-08-11
CN111587426A (zh) 2020-08-25
WO2019159485A1 (ja) 2019-08-22

Similar Documents

Publication Publication Date Title
WO2020202825A1 (ja) 情報提供システム及び情報提供方法
WO2020202824A1 (ja) 情報提供システム及び情報提供方法
JP6558452B1 (ja) 品質チェック装置、品質チェック方法及びプログラム
WO2019159483A1 (ja) デバイス選択装置、データセット選択装置、デバイス選択方法及びプログラム
JP6528868B1 (ja) セッション制御装置、セッション制御方法及びプログラム
JP6528869B1 (ja) セッション制御装置、セッション制御方法及びプログラム
JP6489250B1 (ja) 候補抽出装置、候補抽出方法及びプログラム
JP2019169946A (ja) 品質チェック装置、品質チェック方法及びプログラム
JP6477935B1 (ja) 前処理判定装置、前処理判定方法及びプログラム
EP3273639B1 (en) Systems and methods for adding a non-inherent component to a device key of a networked device
CN111566630B (zh) 数据处理装置、数据处理方法及程序
WO2019159489A1 (ja) 出力管理装置、出力管理方法及びプログラム
WO2019171677A1 (ja) データ出力装置、データ出力方法及びプログラム
CN111602034A (zh) 输出管理装置、输出管理方法和程序
JP2005086299A (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: 20190108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190326

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: 20190416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190429

R150 Certificate of patent or registration of utility model

Ref document number: 6528868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250