これまでに示したハードウェアによる階層型 Aho-Corasick マシンの有効性 を確認するために,仮想プラント計測システムでの利用を想定し,技術適用を 試みた.本章では,このような具体的なシステムへの適用を通して得られた評 価結果について示す.
5.1 仮想プラント計測システムへの技術適用
想定システムの概要を図5.1に示す.本システムでは,各ノードはプラント 内の著しく多数のポイントに設置されるものとして,非常に低コストで,また 物理的にも小型の構造を有するものを想定している.同ノードの機能は第4章 で評価を行った仮想プラント計測システムとほぼ同様の機能を持つものである.
すなわち,各ノードはそれぞれのポイントでの温度,湿度,時刻,位置といっ たデータを取得して,管理システムや隣接ノードにそのデータを送付する.シ ステムの利用形態は緊急時のモニタリングを含むため,迅速なデータ収集を実 効するためのリアルタイム性が要求される.
ノード及び管理システム間の全てのデータの授受はSOAPメッセージを用い て行われる.したがって,そのようなメッセージは,なんら加工や変更を加え ることなく管理システムと直結されるために,システム全体の開発コストおよ び開発期間を削減するのに大きく貢献することが期待できる.特に,Web を活 用した情報システムとの統合性の観点からも,このようなアプローチは望まし いと言える.
着目すべき点として,本システムは,クローズドなプロプライエタリシステ ムではなく,オープンで複数の事業主体が製造するようなノードや管理システ ムで構築されるものである.また,ノードや管理システムは,初期設置時に全 てが固定されるものではなく,時間的にも比較的長い期間を経て追加,拡張さ
Z80 CPU-IP PIC
MSP430
ARM SH
H8
8051
6502
AVR Server (Xeon)
有線
無線 無線
PC (Pentium)
無線 温度測定
湿度測定 温度測定 位置測定
温度測定 位置測定 時刻測定
温度測定 湿度測定
温度測定 湿度測定 管理システム
SOAP
SOAP SOAP
SOAP 温度測定
温度測定
温度測定
Z80 SOAP CPU-IP
PIC
MSP430
ARM SH
H8
8051
6502
AVR Server (Xeon)
有線
無線 無線
PC (Pentium)
無線 温度測定
湿度測定 温度測定 位置測定
温度測定 位置測定 時刻測定
温度測定 湿度測定
温度測定 湿度測定 管理システム
SOAP
SOAP SOAP
SOAP 温度測定
温度測定
温度測定
SOAP
図5.1 想定される利用システムの概要
れていくようなものを想定している.特に,各ノードは本システム以外の目的 をもつ別システムに対しても将来的に利用される可能性があることを想定する 必要がある.
上記のような背景でシステム構築を考えた場合,ノードや管理システムのい ずれも,アーキテクチャやプラットフォームを固定することができないという 制約がある.ところが,このような制約の上でもシステム構築を行えることが Web サービスの最大の強みである.第1章で述べたように,Web サービスは SOAP というプラットフォーム非依存の標準化されたプロトコルに則って全て のメッセージのやりとりを行うため,このような要求の厳しいシステムを構築 することが可能となる.
なお,このような形態は,既存の大規模プラントのような,異種多様なフィ ールドバスによる階層的なネットワーク接続下にある機器で利用するよりも,
これから新規に作られるような,よりフラット13なネットワーク接続下にある機 器を活用したプラントシステムの方が,その導入は容易であると考えられる.
また,新規のビル建設に伴うビルオートメーション(インテリジェントビル)
といった分野でも,照明,空調,セキュリティなど応用できる範囲は広く,そ の導入も容易であろう.特に,これらの応用では,MCUやMPUとして,比較的 性能が低く,コスト制約の厳しいものが多数使われる傾向にあるから,適用に も向いている.そして,これらの機器をWebサービスという上位レイヤのイン タフェースで操作できれば,アプリケーションやシステムの開発効率を向上さ せることが可能となる.
一方,既存プラントシステムにおいてもOPC(OLE for Plant Control)のさら に進んだ延長技術としてWebサービスを使うといった形態で導入することも可 能である.OPC は,プラント用のインタフェースの中でも DCOM などのより 上位のレイヤーのオブジェクトレベルでの互換性を保つためのものである.
Webサービスは,DCOMなどの分散オブジェクトをさらに進化させ,プラット フォームに対する非依存性を高めたものであるである.本技術は,超小型のコ ンピュータでもWebサービスを高速に処理する特徴を持つものであるから,既 存のOPCを活用したプラットフォーム依存性の低いシステム(すなわち,柔軟 性の高いシステム)を,プラント内の隅々まで一層浸透させるような場合に都 合がよいと考えられる.
13 ネットワーク接続される機器のアドレスサイズは,IPv6で32ビットから128ビットに 拡張されるが,これにより事実上無限ともいえる数の機器に個別にアドレスを割り当てる ことが可能となる.したがって,システム内に複数の階層のアドレス体系を設けることな く,直接的なアドレス指定を使って個別の機器にアクセスすることが可能となる.このこ とは,プラントやビルといった規模に比べてより大きな規模の統合アプリケーション,す なわちグローバル(全世界)な規模で運用される統合アプリケーションを開発するような 場合でも,フラットに個別の機器にアクセスし,情報を収集したり機器を操作したりとい ったことが可能になることを意味する.本技術は,将来的にはそのような大規模かつ浸透 的な統合アプリケーションである究極のPervasive Syndicationを構築するといったことに も活用できると考えている.
5.2 FPGAを活用した評価
提案する処理エンジンはノード内に論理回路として構成されるものであるが,
これらは本来,半導体チップ上にASIC(application specific integrated circuits) あるいはSoC(System on Chip)などとして実装されうるものである.本研究で は,このような形での実装を想定して,チップ占有面積や消費電力といった各 種の評価を行う.
一方,これらの半導体ファブにより製造される量産向けのチップとは異なる が,近年,少量のサンプル実装用にFPGA(Field Programmable Gate Array)と 呼ばれる半導体チップが普及している[1,2].これは,必要最小限の基本セルを 組み合わせて作成するASICやSoCとは異なり,論理的に汎用性の高い高機能セ ルを設計ごとに機能変更して組み合わせることで回路を構成するものである.
冗長性が高くコストが高いという欠点があるものの,迅速にチップ上に機能を 実現することができるため,評価・検証として用いる場合には有効である.本 研究では,このようなFPGAを用いて,提案する処理エンジンの実装と評価を行 った14.
5.3 ノード実装
ノード内構成を図5.2に示す.コアとなる Web サービスプリミティブの機 能を確認するための最小限の構成としてある.本プリミティブに接続されるネ ットワークは有線,無線のいかなる形態のものでも構わないが,本実装では,
構造がシンプルで簡易に一般の設計データを利用できるシリアル(RS232C)通 信を用いている.
14 開発したサンプルシステムの概観は付録Bを参照.
UART (Rx)
CPU WSP-Rx
UART
(Tx) WSP-Tx
FIFO (Rx) FIFO
(Tx)
UART WSP
network
FIFO ノード
UART (Rx)
CPU WSP-Rx
UART
(Tx) WSP-Tx
FIFO (Rx) FIFO
(Tx)
UART WSP
network
FIFO ノード
図5.2 ノード内構成
Webサービスプリミティブ(WSP)内部は2つに分けられ,メッセージ受信 処理を行うWSP-Rxとメッセージ送信処理を行うWSP-Txである.メッセージ 送信は,データを適切にSOAP エンベロープに埋め込むだけなので機能的には 比較的簡単である.より重要なのはWSP-Rxであるが,これをプログラマブル 階層型Aho-Corasickマシンを使って実現する.
本実装では,メッセージ受信においてシリアル通信による接続(UART:
Universal Asynchronous Receiver Transmitterによる接続)を介してPCより SOAPメッセージを流し込み,Webサービスプリミティブの受信部(WSP-Rx)
を搭載したノードがこれを受け取り,メッセージ解析を行う.ノードは解析が 終了すると,結果を CPU に引き渡す.反対にメッセージ送信では,CPUが必 要データをWebサービスプリミティブに引渡し,これを WSP-TxがSOAP メ ッセージとして組み立て送出し,このメッセージはシリアル経由でPCに届けら れる.
なおCPUについては,8bit級以下で,動作速度も数百KHz〜数十MHz以下の ものが利用できるようにしてある15.これによって,本研究の提案方式が,超軽
15 本実装では,Xilinx社のFPGAを使用しているため,同チップ上で動作する超小型CPU であるPicoBlaze(50MHz以下の周波数で動作)を使っている.各種のソフトコアIPを利用