(57)【要約】【課題】サービスの記述であるモジュールと、そこで利用されるセンサ・アクチュエータへアクセスするモジュールが分離する。【解決手段】本発明のハードソフト連携フィルタリング処理システムは、センサとアクチュエータが接続されたハード部とネットワークに接続されたソフト部とを有するハードソフト連携フィルタリング処理システムにおいて、ソフト部またはハード部による動作を決定する処理を、ハード部に接続されたセンサからの入力情報を処理する入力処理部と、ソフト部で初期設定されたデータに基づいてアクチュエータの動作を決定するサービス処理部と、アクチュエータを操作するデータを作成する出力処理部とに分割する。【選択図】図１
2011198060.tif 000002
【特許請求の範囲】
【請求項１】
センサとアクチュエータが接続されたハード部とネットワークに接続されたソフト部とを有するハードソフト連携フィルタリング処理システムにおいて、
前記ソフト部または前記ハード部による動作を決定する処理を、前記ハード部に接続された前記センサからの入力情報を処理する入力処理部と、前記ソフト部で初期設定されたデータに基づいて前記アクチュエータの動作を決定するサービス処理部と、前記アクチュエータを操作するデータを作成する出力処理部とに分割することを特徴とするハードソフト連携フィルタリング処理システム。
【請求項２】
請求項１のハードソフト連携フィルタリング処理システムにおいて、前記入力処理部及び前記出力処理部の処理をまとめて処理する冗長処理部を持つことを特徴とするハードソフト連携フィルタリング処理システム。
【請求項３】
請求項１のハードソフト連携フィルタリング処理システムにおいて、前記ハード部に実現されたハードウェア入力処理部およびハードウェア出力処理部と、前記ソフト部に実現されたソフトウェア入力処理部およびソフトウェア出力処理部とのどちらを利用するかを、前記サービス処理部で必要とされるデータサイズ・性能・電力使用量により決められるパラメータを用いて選択するモジュール選択部を持つことを特徴とするハードソフト連携フィルタリング処理システム。
【請求項４】
請求項３のハードソフト連携フィルタリング処理システムにおいて、前記ハードウェア入力処理部、前記ハードウェア出力処理部、前記ソフトウェア入力処理部、および、前記ソフトウェア出力処理部の処理内容を、該処理部が置かれる前記ハード部または前記ソフト部の負荷状態や消費電力、前記ネットワークに接続された他の計算機からの指示に基づいて変更する状態通知部を持つことを特徴とするハードソフト連携フィルタリング処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットなどのネットワークで利用されるネットワーク機器システムに関し、特にセンサやアクチュエータ等の監視システムや制御システムに接続され動作する技術に関する。
【背景技術】
【０００２】
実世界からの情報を収集して処理を実行し、ユーザへのサービスを提供する実世界情報処理システムは、サービス提供者が所有する情報機器により構成されてきた。しかし、サーバなどの情報機器を管理するコストがサービス提供者の大きな負担となっており、最近では、サービス提供者の情報機器に代わりユーザへのサービスをネットワーク越しに提供するクラウドシステムが登場している。クラウドシステムにおいては、実世界からの情報は、データセンタまで伝達され、データセンタにて蓄積、処理されることによって高度意味情報の抽出が実施され、実世界に結果がフィードバックされる。データセンタに至るネットワークにおいて多くのネットワーク機器を通過するため、フィードバックが行われるまでに少なくとも数秒オーダーの処理遅延が発生する。そのため、リアルタイム性を要求するサービス（プラント制御、金融アルゴリズム取引、予防保全など）においては、信頼性を確保しつつ、処理遅延を短縮することが課題となる。また、今後はセンサが様々な分野で普及し、実世界からの情報量が急増すると予測される。このため、情報量増加に伴う消費電力の急増を最小限に抑止することが大きな課題となる。
【０００３】
FPGA（Field Programmable Gate Array）で実現されているハードウェアモジュールと、CPUで実行されるソフトウェアモジュールのどちらで実行するかを選択でき、そのモジュールを転送速度で選択できる情報処理システムが特許文献１に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許3738802号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記方法ではサービスの記述であるモジュールと、そこで利用されるセンサ・アクチュエータへアクセスするモジュールが分離できず、モジュールが要求するデータのサイズが大きいときにソフトウェア動作させたい場合等、呼び出されるセンサ・アクチュエータへのアクセス方法を変更する場合、同様な機能を持つセンサ・アクチュエータへの変更が難しく、モジュール自体の変更が必要になり、モジュールの管理が面倒になる。
【課題を解決するための手段】
【０００６】
本発明のハードソフト連携フィルタリング処理システムは、センサとアクチュエータが接続されたハード部とネットワークに接続されたソフト部とを有するハードソフト連携フィルタリング処理システムにおいて、ソフト部またはハード部による動作を決定する処理を、ハード部に接続されたセンサからの入力情報を処理する入力処理部と、ソフト部で初期設定されたデータに基づいてアクチュエータの動作を決定するサービス処理部と、アクチュエータを操作するデータを作成する出力処理部とに分割する。
【０００７】
本発明の他の態様は、各処理部をネットワーク機器のハード部・ソフト部のどちらにでも設置できるようにする。
【０００８】
本発明のさらに他の態様は、複数のセンサ・アクチュエータをまとめて一つのセンサ・アクチュエータとして扱えるようにする。
【０００９】
本発明のさらに他の態様は、上位のノードからまたは自ネットワーク機器の負荷状態に合わせて、入出力処理の方法を変更できるようにする。
【発明の効果】
【００１０】
本発明によれば、モジュールと、センサのデータの取り出し、アクチュエータの駆動を行う機能を分離することにより、センサ・アクチュエータの変更があってもモジュールの変更が不要することができ、モジュールの可用性を向上できる。
【図面の簡単な説明】
【００１１】
【図１】実施例１のハードソフト連携フィルタリング処理システム構成図である。
【図２】ハードソフト連携フィルタリング処理システムの一部の詳細を示す図である。
【図３】サービス要求テーブルである。
【図４】ソフト部負荷テーブルである。
【図５】ハード部負荷テーブルである。
【図６】サービス記述テーブルである。
【図７Ａ】ハードソフト連携フィルタリング処理システムの処理フローチャートである。
【図７Ｂ】ハードソフト連携フィルタリング処理システムの処理フローチャートである。
【図８】実施例２のハードソフト連携フィルタリング処理システム構成図である。
【図９】サービス要求テーブル作成の処理フローチャートである。
【図１０】ソフト部負荷取得部およびハード部負荷取得部の処理フローチャートである。
【図１１】上位サービス記述ノード宛データテーブルである。
【発明を実施するための形態】
【００１２】
本発明の実施形態を、実施例１〜４により以下に説明する。
【実施例１】
【００１３】
図1は、本実施例のハードソフト連携フィルタリング処理システム構成を示すブロック図である。本実施例のハードソフト連携フィルタリング処理システムは、一つまたは複数の、ネットワーク機器ソフト部１０１、ソフト部１０１にPCIなどの規格で接続されたネットワーク機器ハード部１０２、ハード部１０２にPCI、Ethernet（登録商標）、USB(Universal Serial Bus)、DIO(Digital I/O)等の規格で接続されたセンサ１０３、アクチュエータ１０４でネットワーク機器が構成され、ネットワーク１０７でソフト部１０２と接続された上位サービス記述ノード１０５、サービス管理ノード１０６を備える。
【００１４】
上位サービス記述ノード１０５、サービス管理ノード１０６の間のネットワーク１０７は、IPプロトコルなどに従う通信パケットが転送される一般的な通信路であり、インターネットやイントラネット、あるいはそれらの複合的な通信ネットワークである。
【００１５】
ソフト部１０１とハード部１０２では、センサ１０３からの情報をハードモジュール選択部１２４でソフト部１０１かハード部１０２のどちらで解析を行うかを決定し、決定されたソフト部１０１に置かれた入力処理部１１５またはハード部１０２に置かれた入力処理部１２２で情報を解析する。ソフトモジュール選択部１１４でどの入力処理部からの分析の結果なのかを確認しながら受け、サービス記述部１１３に渡す。サービス記述部１１３は、その分析結果を基にサービスの動作内容を決定する。ソフトモジュール選択部１１４でその動作内容を、ソフト部１０１の出力処理部１１６またはハード部１０２の出力処理部１２３のどちらで実行させるかを決定する。ソフト部１０１の出力処理部１１６またはハード部の出力処理部１２３で実際にアクチュエータ１０４を動かすためのデータを作成し、ハードモジュール選択部１２４でどちらの出力処理部でどの出力処理部の結果なのかを確認しながら受け、目的のアクチュエータ１０４へデータを渡し、アクチュエータ１０４を起動させることでサービス記述部１１３の内容を動作させる。また、サービス記述部１１３は、ネットワーク１０７を経由し上位サービス記述ノード１０５へ情報を送付・再度受信を行い他ネットワーク機器と協調動作を行うこともできる。
【００１６】
図２では、図1に示す、ソフトモジュール選択部１１４とハードモジュール選択部１２４、サービス要求解析部１１１、ソフト部負荷取得部１１２、ハード部負荷取得部１２１の動作と構成について記述する。サービス要求解析部１１１は、サービス記述部１１３が保持し、各サービス内容を記述したサービス記述テーブル２０４に書かれた各サービス記述に合わせた要求レベルをサービス管理ノード１０６から取得し、その要求レベルをソフトモジュール選択部１１４とハードモジュール選択部１２４に入力し、ソフト部１０１の入力処理部１１５かハード部１０２の入力処理部１２２のどちらを利用するか、またソフト部１０１の出力処理部１１６かハード部１０２の出力処理部１２３のどちらを利用するかを決定する。
【００１７】
図３はサービス要求テーブル２０１の構成について、図４はソフト部負荷テーブル２０２の構成、図５はハード部負荷テーブル２０３の構成、図６は、サービス記述テーブル２０４の構成について記述する。
【００１８】
図３に示すサービス要求テーブル２０１は、サービス記述名、性能要求、データサイズ、電力使用量、および、入出力種別の項目を有する。図４に示すソフト部負荷テーブル２０２は、ＣＰＵ負荷、電力消費、ネットワーク負荷、サービス管理ノードからの指示などのソフト部１０１の負荷に関する項目を有する。図５に示すハード部負荷テーブル２０３は、ＣＰＵ負荷、電力消費、センサ・アクチュエータ側通信負荷などのハード部１０２の負荷に関する項目を有する。図６に示すサービス記述テーブル２０４は、サービス記述名、上位サービス記述ノード名、および、上位サービス記述名の項目を有する。
【００１９】
図７Ａは、ハードソフト連携フィルタリング処理システムで実行される処理のフローチャートである。まず、サービス管理ノード１０６または直接管理者より、ソフト部１０１内部のサービス記述テーブル２０４に対し、サービス記述名、上位サービス記述ノード名、当システムを呼び出す場合の上位サービス記述名を登録するとともに、サービス記述の本体である、スクリプトまたはバイナリ実行プログラムをソフト部１０２に設置する。また、サービス要求テーブル２０１を、サービス管理ノード１０６または直接管理者により設定し、どのサービス記述がソフト部の入力処理部１１５で実行されるのか、ハード部の入力処理部１２２で実行されるのかを、センサ種別毎に決定する（７０１）。次に、各サービス記述に必要なセンサ１０３からのデータを待つ（７０２）。データを受信したら、ハードモジュール選択部１２４に送付され（７０３）、ステップ７０１でセンサ種別毎に決定された、ソフト部１０１内の入力処理部１１５またはハード部１０２内の入力処理部１２２にてデータの分析を行う（７０４）。ここでの分析では、複数のセンサから得られた同一時刻のデータの平均値演算処理や、単一のセンサから得られた一定時間範囲のデータの平均値演算処理、複数のセンサから得られた同一時刻のデータの最大値／最小値演算処理、単一のセンサから得られた一定時間範囲のデータの最大値／最小値演算処理、閾値を用いたセンサデータの異常値判定処理、センサデータの微分値、積分値などを用いた異常値判定処理、高速フーリエ変換によるセンサデータの周波数成分の演算処理、センシング情報の時間方向のサンプル間引き処理、センシング情報の量子化処理（ビット数削減、倍精度から整数などのデータ形式変換を含む）、複数のセンシング情報のまとめパケット生成処理（3種類の情報をセットで32bit化するなど）、ヘッダ情報の圧縮処理（例：IETF規格RFC4944（6lowPAN-HC-04）に規定）、カメラ画像情報のフレーム間引き処理、カメラ画像情報の画像サイズ変更処理、カメラ画像情報の顔検出、動き検出などの特徴抽出処理等を含む（７０５，７０６）。次にその分析結果をソフトモジュール選択部１１４に送付し（７０７）、その結果を用いて目的のサービス記述を実行する（７０８）。
【００２０】
図７Ｂで続きを説明する。サービス記述部１１３にて、実行された各サービス記述の結果を作成し（７０９）、上位サービス記述ノードに結果を戻すかどうかをサービス記述自体で確認し（７１０）、戻す場合、処理結果を上位サービス記述ノード１０５に送付して（７１１）、センサからのデータ待ちに戻る。サービス記述にて上位サービス記述ノード１０５に戻るのではなく、アクチュエータ１０４を起動する記述であった場合、処理結果をソフトモジュール選択部１１４に送付する（７１２）。そこで、ハード部１０２の出力処理部１２３またはソフト部１０１の出力処理部１１６のどちらを実行するのかをサービス要求テーブル２０１を確認して決定する（７１３）。ハード部１０２の出力処理部１２３またはソフト部１０１の出力処理部１１６で、目的のアクチュエータを起動するためのデータを、サービス記述の処理結果を元に作成し（７１４、７１５）、ハードモジュール選択部１２４に送付する（７１６）。アクチュエータ１０４にデータを送付しアクチュエータ１０４を起動する（７１７）。その後、センサ１０３の入力待ちに戻る。以上により、センサ１０４の情報を使ってサービス記述を実行し、上位サービス記述ノード１０５へ戻るまたはアクチュエータ１０４を起動することが可能になる。
【実施例２】
【００２１】
図８は、本実施例のハードソフト連携フィルタリング処理システム構成を示すブロック図である。入力冗長処理部１２４１では、複数のセンサの入力を確認して、一部のデータを取得できない場合にも一定の時間でデータを入力処理部１１５、１２２へ戻す。これにより、一部のセンサの故障などでデータがすべて取得できない場合にも、目的のサービス記述を実行し、上位サービス記述ノード１０５へ戻るまたはアクチュエータ１０４を起動することが可能になる。また、出力冗長処理部１２４２において、複数アクチュエータから動作可能なアクチュエータを選んで動作させることで、アクチュエータの一部が故障した場合にも、目的のアクチュエータの動作を実行することが可能になる。
【実施例３】
【００２２】
(ソフトハード選択)
図９を用いて、サービス要求テーブル２０１の作成方法を説明する。実施例１における図２のサービス要求解析部１１１で利用するサービス要求テーブル２０１に、サービス管理ノードで管理しているサービス記述で要求された、性能、必要なデータサイズ、電力使用量の値を設定する。次に、サービス要求テーブル２０１の各項目を読み出し（９０１）、性能要求が大きく(High)で、データサイズが小さい項目から優先して、ハード部で利用できるメモリ量または電力使用量を超えない範囲で（９０２、９０３、９０４）、ハード部の入出力部１２２、１２３を割り当て（９０５、９０７）、また、残りをソフト部の入出力部１１５、１１６で実行するように設定する（９０６、９０７）。以上をサービス要求テーブル２０１の各項目で繰り返す（９０８）。以上により、外部機器に実現されたハード部の入力処理部・出力処理部と、ソフト部の入力処理部・出力処理部のどちらを利用するかを、サービス記述で必要とされるデータサイズ・性能・電力使用量により決められるパラメータを用いて選択することを実現することが可能になる。
【実施例４】
【００２３】
(パラメータによる動作変更)
図２のソフト部負荷取得部１１２・ハード部負荷取得部１２１の動作を図１０で説明する。まずセンサからデータが入力されるかまたはサービス記述部においてサービス記述が動作することで、入力処理部または出力処理部が起動する（１００１）。ここで、各入出力処理部で負荷状態を取得する設定が入っている場合（１００２）、ハード部負荷取得部１２１またはソフト部負荷取得部１１２が、ハード部負荷テーブル２０３またはソフト部負荷テーブル２０２に負荷状態を設定する（１００３）。各入出力処理部の設定により、ソフト部ではCPU負荷、電力消費、ネットワーク負荷、サービス管理ノードからの指示等のパラメータを用いて、またハード部ではCPU負荷、電力消費、センサ・アクチュエータ側通信負荷等を用いて、通常の入出力処理を行うか、高負荷時における間引き運転処理を行うかを選択する（１００４、１００５、１００６）。次に、上位サービス記述ノードへ、このシステムでどのような動作を行ったかを、入力処理後の分析データに付加する（１００７）。付加したデータは、図１１の上位サービス記述ノード宛データテーブル１１０１に示す。以上により、各処理部が置かれる外部機器または計算機の負荷状態や消費電力、計算機のネットワークに接続された、他の計算機からの指示に基づいて処理内容を変更することが可能になる。
【００２４】
以上の実施形態によれば、モジュールと、センサのデータの取り出し、アクチュエータの駆動を行う機能を分離することにより、センサ・アクチュエータの変更があってもモジュールの変更が不要することができ、モジュールの可用性を向上できる。また、センサ・アクチュエータをまとめて操作できるため、グループ内のセンサ・アクチュエータが故障で停止しても、残ったセンサ・アクチュエータで動作を継続することができる。また、センサへのアクセス機能に負荷情報を与えることで、高負荷時にも停止せず、限定された機能の提供を行うことができる。モジュールが要求するセンサ・アクチュエータへのアクセスに必要な情報のデータサイズに合わせて、データサイズが制限されているFPGA等のハードウェア上のアクセス機能を利用するか、PC等のソフトウェア上のそれを利用するか決定できることで、できるだけ多くの機能を機器上に実現できる。
【符号の説明】
【００２５】
１０１：ソフト部、１０２：ハード部、１０３：センサ、１０４：アクチュエータ、１０５：上位サービス記述ノード、１０６：サービス管理ノード、１０７：ネットワーク、１１１：サービス要求解析部、１１２：ソフト部負荷取得部、１１３：サービス記述部、１１４：ソフトモジュール選択部、１１５：入力処理部(ソフト部)、１１６：出力処理部(ソフト部)、１２１：ハード部負荷取得部、１２２：入力処理部(ハード部)、１２３：出力処理部(ハード部)、１２４：ハードモジュール選択部、１２４１：入力冗長処理部、１２４２：出力助長処理部、２０１：サービス要求テーブル、２０２：ソフト部負荷テーブル、２０３：ハード部負荷テーブル、２０４：サービス記述テーブル、１１０１：上位サービス記述ノード宛データテーブル。
【図１】
2011198060.tif 000003
【図２】
2011198060.tif 000004
【図３】
2011198060.tif 000005
【図４】
2011198060.tif 000006
【図５】
2011198060.tif 000007
【図６】
2011198060.tif 000008
【図７Ａ】
2011198060.tif 000009
【図７Ｂ】
2011198060.tif 000010
【図８】
2011198060.tif 000011
【図９】
2011198060.tif 000012
【図１０】
2011198060.tif 000013
【図１１】
2011198060.tif 000014