IEEE 1888

IEEE1888は、次世代BEMSやスマートグリッド向けに開発され、2011年に国際標準化されたオープンな通信規格である。正式名を UGCCNet (Ubiquitous Green Community Control Network)と呼ぶ。この規格の開発には、日本の東大グリーンICTプロジェクトが関与しており、日本では、FIAP(ふぃあっぷ: Facility Information Access Protocol) と呼ぶこともある。
IEEE1888は、あらゆるセンサ情報をインターネット・オンライン化することだけが目的ではない。BEMSなどに関係する様々な情報システム（アプリケーション・ソフトウェアやクラウド・サービス）をベンダーの枠を超えて連携可能にすることが目的となっている。そのため、IEEE1888には、HTTPとXMLによる通信方式が採用されている。また、データ保管(共有)機能が提供できるように設計されている。
組込みコンピュータへの実装も進んでおり、スマート・シティに関わる各種M2Mクラウド(Machine-to-Machineクラウドコンピューティング)分野への応用も始まっている。
Z-WaveやECHONETなどのHEMS規格が家庭内ネットワークを主に想定しているのに対し、IEEE1888は、(1)家庭外との通信、(2)商業施設やオフィスなどの電力・施設管理、をターゲットとしている。
なお、IEEE1888開発において重要な基礎技術（ソフトウェア、開発ツール、マニュアル等）は、積極的に開発・開示されている。
2015年3月 ISO/IECの国際標準としても承認された (ISO/IEC/IEEE 18880)。
アーキテクチャ.
IEEE1888では、GW(ゲートウェイ)、Storage(ストレージ)、APP(アプリケーション)、Registry(レジストリ)と呼ばれる機能が定義されている。このうち、GW、Storage、APPは、IEEE1888コンポーネントと呼ばれ、WRITE、FETCH、TRAPと呼ぶ3種類の通信手順を実装する。残りのレジストリは、分散配置されたIEEE1888コンポーネントを管理する役割を持ち、REGISTRATION、LOOKUPと呼ぶ2種類の通信手順を実装する。
ゲートウェイ（GW）.
GWの配下には、Lonworks、BACnet、Modbus、ZigBee、SNMP、1-Wire、独自回路、CSVファイルなど、センサやアクチュエータへのアクセス網（フィールドバス）が接続される。GWは、このような様々なアクセス網の規格の差異を吸収し、センサデータをIEEE1888の通信方式で、インターネット上で扱えるようにする。
ストレージ（Storage）.
Storageは、GWを使ってインターネット・オンライン化されたデータを長期間に渡って蓄積する役割を果たす。これにより、例えば、昨年や一昨年の電力消費状況であっても、後に、他のアプリケーションからIEEE1888の通信手順で参照することができる。また、Storageはデータを共有する場としても使われる。GWから集められたデータの共有、アプリケーションが処理したデータの共有などがStorageによって実現される。すなわち、データベースと似た役割を持つ。
アプリケーション（APP）.
APPは、その応用方法によって様々な役割および実装形態がありえる。例えば、見える化アプリケーションの場合、Storageから最新値もしくは特定の履歴データを読み出して表示することがAPPの役割となる。そして，そのようばAPPであれば、Webサーバや表示端末のようなものに実装される。一方、データの加工分析アプリケーションの場合、生データの履歴をStorageから読み出して、それを統計的に処理した後、再びStorageに書き戻す。この場合は、バッチプログラムとして実装されることになる。
通信手順.
GW、Storage、APPは、それぞれサーバになることもできるし、クライアントになることもできる。例えば、Storageがサーバとなり、GWがクライアントとなって、GWからStorageに(WRITE手順で)データを送り付けるという実現形態がある。
WRITE.
WRITE手順は、クライアント側からサーバ側に、データを能動的に送りつける方式である。例えば、NAT下にあるGW(クライアントとして動作)から、グローバル・インターネット上にあるStorage(サーバとして動作)にデータを送り付けるときに使われる。
FETCH.
FETCH手順は、クライアント側からサーバ側に問い合わせ、サーバからデータを抜き出してくる方式である。この問い合わせの際には、対象とするデータ範囲を指定する。ここで、指定した範囲のデータ量はしばしば多量になるため、FETCH方式にはデータ量に関するスケール性が備わるような工夫がしてある。例えば、見える化のグラフ画像を生成するソフトウェア(クライアントとして動作)が、Storage(サーバとして動作)からデータを読み出すときに使われる。
TRAP.
TRAP手順は、クライアント側からサーバ側に事前に興味対象を登録しておくことで、サーバ側で観測された変化を、クライアント側に通知する方式である。FETCH方式が、蓄積されたデータの読み出しに用いられるのに対し、TRAPは、変化するデータの通知に使われる。一方的に送り付けるWRITE方式と違い、TRAPでは、動的に送り先を設定できるようになっている。
既存のM2M規格との関係性.
ビルの設備・エネルギー監視には、1990年代より、Modbus、BACnet、Lonworksなどのローカルな監視制御ネットワーク規格が用いられている。IEEE1888は、これらのローカルな監視制御機能を、リモート（クラウド）に接続することを可能にする。これによって、ビル内の専用コンピュータが組込みシステム化され、オペレータは、場所を問わず、通常のWebブラウザ(スマートフォンやタブレット端末を含む)があれば業務を行うことができるようになる。
導入事例.
東京大学では、本郷キャンパス、駒場Ⅰキャンパス、駒場Ⅱキャンパス、柏キャンパス、白金キャンパスにIEEE1888のGWをそれぞれ導入し、特別高圧を含む受電設備の計測データを、オンラインでリアルタイムに管理している。電力会社から受電する66kVの他、キャンパス内に張り巡らされた6600Vの電力線が個別に最速1分間隔で計測されている。ビル単位での計測も含めると約400系統の電力線がこのシステムの管理対象になる。上記、5キャンパスの電力需要の合計は、5万キロワットを超える(夏場)。
東京大学の電力見える化サービスは、キャンパス毎の電力消費量を表示しているが、実際には、エリア単位・建物単位での電力消費量も把握できるようになっている(詳細なデータは学外には公開されていない)。
開発環境.
IEEE1888のソフトウェア開発キット(SDK)、実装参照ソースコード、プロトコルテスター が、東大グリーンICTプロジェクトのWebページにて無償で公開されていて、自由にダウンロードすることができる。SDKは、仮想マシン(VMware Player)イメージによって提供されており、インストール方法も詳しく紹介されている。SDKに同梱されているドキュメントには、C#、Java、PHP、C言語によるサンプルプログラムが掲載されており、これらを参照することによって、IEEE1888の通信スタックをどのように実装すればよいかが、事細かにわかるようになっている。
またIEEE1888は、Arduino(+Ethernetシールド)や、mbedプラットフォームのような小型で安価な組込みコンピュータにも実装され、そのライブラリも公開されている。東京大学で開発された IEEE1888通信ボードは、一般向けに販売されている。