CEP(Complex Event Processing)の世界市場 2017-2021

またまたずいぶんと間があいた投稿となってしまいましたが、ちょっと前にCEP(複合イベント処理)でググった(というかビンした)ら、市場調査レポートの話が出ていました。CEPについては、このブログでもときどき触れていますが、調査レポートによれば複合イベント処理の世界における市場は2017から2021年にかけて、年平均(CAGR)にして18.42%の成長が見込まれるとのこと。

目次だけ見ると、セキュリティ目的での使用が増えてきたりしている一方、当然のことながらIoTがらみでも増えてくるような予感。どこかでちゃんとCEPもまとめておきたいところなのですが…。

たとえば、
複合イベント処理の世界市場:2017~2021年
https://www.gii.co.jp/report/infi551749-global-complex-event-processing-market.html
とか…

オリンピック選手のトレーニングを一般に – Athletes’ Performance –

ロンドンオリンピックも終わり、一時の狂騒も、銀座でのメダリストパレードでようやく一区切りつきました。私はそれほど頑張って見ていたわけではありませんが、特に女子バレーの中国戦。第5セット(^^;)から見た私はそれまでのセットのスコアを見て驚きました。スコアがすべてを語っていたというか…。

ところで、最近のスポーツ界というのは、ITなしでは考えられないようになっていますね。試合などコートの外でもデータ戦と言えるようなバトルが繰り広げられています。

DBオンライン的ロンドンオリンピック評―過去最高メダル獲得数を支えた、さまざまなデータ活用

フィットネスまたアスリートの練習・トレーニングは、最新の科学的見地から、一昔前には考えられなかったような方法が取り入れられていたり、全くノウハウのかたまりといった感がありますね。

スポーツ、未開の大陸

なんていう連載を見ると、ICTの対象としてスポーツ分野は結構これからの分野かも…というわけで、今回も事例を…

IBMのJRulesを用いてアスリート向けのトレーニングプログラムノウハウをルール化し、一般向けにもスケールアウト(スケールアップ?)した話。

BRMSというと、日本だと金融・保険関係の話が多くて…確かに事例は多いのは事実なんだが…何だかなあと思っていたら…IBM JRulesのサクセスストーリーとして、Athletes’ Performance 社の事例を見つけました。

Athletes’ Performance社

米国アリゾナ州フェニックスを本拠とするAthletes’ Performance社は、プロフェッショナルなアスリートや選抜されたアスリート向けに独自の総合的なアプローチで運動機能トレーニング、栄養、理学療法を提供しているパイオニアの企業であり、またこれらのノウハウを一般向けにも提供している。アリゾナ、カリフォルニア、フロリダ、テキサスにトレーニング施設を持つほか、これらメニューのオンサイトでのサービスも行っているとのこと。

ビジネスの要求:
現在、スプレッドシートに散在している専門ノウハウや、行動科学、フィットネス、栄養、理学療法それぞれの第一人者の知識を コストをかけずにコード化・自動化することで、パーソナライズされたフィットネス・プログラム製品を、より大きな健康増進(wellness)のマーケットに投入していきたい。

ソリューション:
IBMのBRMS WebSphere ILOG JRules を用いて、トレーニングや栄養ノウハウをルール化し、個々の顧客に合わせてカスタマイズされた健康増進のためのプログラムを提供する。

結果:
・顧客の定着率が92%にものぼるようになった。
・1人のトレーニングスペシャリストが一度に16人の顧客を相手にできるようになった。
・長年の経験がより多くの人々に提供できるようになった。

もともと Athletes’ Performance 社は、プロフェッショナルやオリンピック級のアスリートにハイレベルな支援を行っていた企業ですが(たとえば、今シーズン、サッカーの英国プレミアリーグのエバートン(←開幕戦で香川のいるマンUと戦いましたね)をサポートしているとのこと)、このハイレベルなトレーニングノウハウを一般向けに普及させ、アマチュアのアスリートたちのマーケットに参入していこうとしたもの。

当然のことながら、そのためには、すでに世間で評価を得ているハイクオリティなトレーニングノウハウを、レベルを落とさずに幅広い層にスケールさせていくことが必要になってきます。そしてトレーニングスペシャリストの数が限られている中、これは既存のトレーニングプログラムの多くは自動化していかなければならないことを意味しています。

この自動化に際して選択されたのが、ルールベースによるアプローチ。専門家たちの高度なノウハウを、ビジネスルールの形式で表現して実装するために IBMのBRMSであるIBM WebSphere ILOG JRules が選択されました。

JRulesによるシステムを配備したことで、すべてのトレーニングメニューの「おすすめ」が直ちに、エクササイズマシンのタッチスクリーンや、モバイル端末、Webを通してアクセスすることができるようになりました。現在、社内のフィットネス専門家により過去編み出されExcelのスプレッドシートに蓄積されてきた知識、経験から、抽出された36000ものルールがJRulesのシステムに実装されています。

この JRules によるシステムは、オープンソースベースの SOA/REST の基盤にのっており、ルールの修正反映・デプロイを迅速に行うことができます。日々の評価から、ひとりひとりの顧客の情報を収集し、会社独自の方法論、コア・パフォーマンス・トレーニングメソッド(Core Performance training methodology) に照らし合わせて、それぞれカスタマイズされたプログラムを作成します。この コア・パフォーマンス処方箋エンジン(Core Performance Prescription Engine – CPPE -) は、身体の状態やペース、スケジュールを考慮に入れ実際のトレーニング方法に対してリアルタイムで修正をかけます。

また、このシステムによって、フィットネス・スタッフが常時トレーニング情報に磨きをかけていくことが可能となりました。一人のITスタッフの支援のもと、専門のトレーナーたちのチームがルールの修正をすばやく行い、その結果をただちに世界中の顧客に向けて展開することができるようになりました。

このCPPEは最適で一貫した身体トレーニングを世界中にリアルタイムで届けることのできる世界で最初のルールベースのシステムであり、またこのことにより顧客は、Athletes’ Performance 社のどの施設でも同じ、高品質で一貫したサービスが受けられるようになりました。

また、通常フィットネスクラブの顧客定着率は年間で60%程度を行ったり来たりしているものなのですが、Athletes’ Performance 社は、何と年間で92%を誇るようになっています。

さらに、このシステムにより健康増進(wellness)のガイダンスが自動化されたことで、一人のトレーナーがクオリティを落とさずに一度に16人までの顧客に対応できるようになりました。

以上、見てきてみると最近の保険などでの事例とくらべ、何というか…オーソドックスなエキスパートシステム…的な…事例です。

このシステムがうまくいっているというのは、私の想像するに

・ルールの数は多いが、それぞれのルールは単純であり(たとえば脈拍が○○以上だからちょっとペースダウン云々?) 、他のルールに長く連鎖して動く(条件が○○だからゆえに××、××だからゆえに△△、△△だから結果□□…など)部分がない。

→したがって、ひとつひとつのルールが独立していて修正変更がしやすい。

・さまざまなケースで同じルールが適用できる。

→したがって、ルールの適用できる部分については自動で処理でき、人間の専門家は、ルールに当てはまらない例外的なケースへの対応に集中できる。機械的に対応できる部分を自動化されたルールに任せることで、いわばレバレッジの効果が生まれてくる。

・現場を知っているトレーナー自身でルールを変更できる仕組みを作った。

→ルールによって自動化ができると言っても、ルールそのものが最適な結果を導いているかは今までの経験や理論以上の保証がない。したがって、その結果はサンプリングするなりして常にルールに磨きをかけていく必要があります。その際、ITの専門家を通していると変更のスピードが落ちるだけでなく、仕様の伝達ミスなども発生しかねず、いろいろな意味で変更のコストが大きくなってきます。現場の専門家自身が変更できるようになり変更がより容易に行えるようになります。

さて、こんな事例が出てくるようになると、センサーデータを駆使してリアルでアドバイスをするようなCEPを使った事例などでてきそうな気もしますね。CEPではないですが、

などの事例も出てきています。
ヘルスケアなどは今後伸びていく分野だと言われています。そしてそのヘルスケアにBRMSが活用されてきています…ちょっとおもしろいと思いませんか。

橋梁劣化監視システムとCEP

CEPで思い出したのですが、数日前の日経新聞にこんな記事が出ておりました。

NTTデータ、ベトナムの橋梁劣化監視受注

ここに

「ブリモス」と呼ぶ橋梁モニタリングシステム

という記述があるのですが、ほぼ1年前のニュースリリース

CEPを用いた大規模リアルタイム・データ分析実証実験が成功
~橋梁モニタリングシステム「BRIMOS®」への適用検証事例~

によれば、橋梁モニタリングシステム「BRIMOS」のデータをCEPで解析した実証実験が成功したとのこと。今回のベトナムの橋梁監視に直接CEPが使われるかどうかは定かではありませんが、CEPの一つの可能性を示す例としてちょっととりあげてみました。

大量のセンサーデータをリアルで処理してアクションにつなげるなど、装置産業の生産現場などではいくらでもニーズがありそうな気が…。

レッドハットがCEPを取り込んだ「JBoss Enterprise BRMS 5.3」の提供を開始

レッドハットがBRMSの新版「JBoss Enterprise BRMS 5.3」を提供し始めました。

レッドハットがビジネスルール管理システム新版「JBoss Enterprise BRMS 5.3」

レッドハット、JBoss Enteprise BRMS 5.3を発売 ビジネスルール管理と複合イベント処理を統合

今回の目玉はおそらく、BRMSのプラットフォームの中にCEPが本格的に取り入れられたことでしょうか。JBoss BRMSのCEPは、Drools Fusionにあたる機能。このブログでも何度かとりあげていますが、今までは金融を中心に少しづつ普及してきたCEP。今後はセンサーデータやRFIDなどのデータをリアルタイムで処理したり…いわゆるビッグデータの流れと相俟って普及が加速しそうな予感。IBMも元々別の製品だったBRMSとCEPを一緒にしてWebsphere Operational Decision Management として提供するようになりました。これを見ても、CEPがディシジョンマネージメントツールの重要な機能として取りいれられていくことになることは間違いありません。

Drools Fusion (Complex Event Processing)

今年の初め、東証の株式売買の新取引システム「アローヘッド」が稼動しました。今までとは桁違いの高速な処理が売りのようで、人間のディーラーやデイトレーダーは大変だとか。アルゴリズム取引もよりリアルタイム度が増していくのでしょうね。

さて、表題にあげたComplex Event Processing ・・・CEP (ちなみにDrools Fusionは、DroolsのうちのCEPの機能を持ったモジュールの名称) は、金融セクターなどで注目・採用されているリアルタイムで大量のデータを処理する技術。現在のシステムではデータはデータベースに保存した後処理されるのが普通ですが、CEPでは、流れてくるデータを直接処理して結果を導き出します。たとえば、銀行の預金のトランザクションは日に何万件と出てくるわけですが、その中から不正な引き出しを検出したりするのはCEPの得意分野かと。

「短期間に通常より大きな額の引き出しが複数回あったら、警告を投げる」といったような不正検出ルールをCEPシステムに実装しておくと、そのシステムに預金トランザクションデータのストリームを流せば、不正検出ルールのパターンに合ったデータに対して片っ端から警告を投げていく・・・というもの。

なんとなく、アルゴリズム取引とか、クレジットカード取引の不正検出とか・・・使えそうですね。

CEPはこのように金融セクターなどのほか、情報通信の分野などで使われてきました。Drools FusionはCEPの実装としてはかなり新しいので実績はそれほど多くないのですが、それでもたとえばFedExのシステムなどは有名な実例といえるでしょう。

さて今日は、Drools Fusionの実例をまたひとつ見つけました。Plug Tree という アメリカ・フロリダとアルゼンチンにオフィスを構えているDroolsのコンサルティング会社が行った比較的大規模な健康管理組合(Health care Management Organization)の不正検出システムの例です。

(ここであげた健康管理組合とは、単純な生命保険のしくみだけではなくて、医療関係者(provider)のネットワークを中に抱えて一次的な(家庭医のような)健康管理の仕組みや、さらにより高度な医療が必要になった場合には専門医を紹介するなどトータルな健康管理を提供する組織のようです)

この健康管理組合は、ラテンアメリカ全域を対象とし、4000人以上の従業員、1000億円超の収入、100万人以上の加入者と30000人以上の医療従事者を抱えた大規模な健康管理組合です。

さて、そこでの問題は不正な医療費の請求の問題。この組織ではおよそ75000件/日のオンライントランザクションがありますが、データのサンプリング調査によってその5%が不正であることが分かっています。これは1年間分として金額換算にすると約5000万円の損失となります。

組織のトップはこの5%を1%におさえようと、今までのような手作業でのサンプリングでの不正検出ではなく、この不正の検出を(多少の手作業での調査は残るにせよ)原則オートメーション化する方針をうちたてました。

→不正検出をするためのルールというのは具体的にはすこししか書いてありませんでしたが、トランザクションを流して片っ端からチェックしていくというのは、まさにCEPの得意とするところでしょう。

この不正検出システムのアーキテクチャは以下のとおり
・トランザクションサーバ(AS/400)
すべてのオンラインリクエストをこのトランザクションサーバに集中させ、ESBにトランザクションに対するXMLリクエストを投げ、返ってきたOK/FAILステータスコードにしたがって、当該トランザクションを許可してもよいか、拒否すべきかを選択する。

・ESBとしてはApache ServiceMix と Apache ActiveMQ を用いている

・Drools Server (Drools 5 instance) は JBoss AS 5上で動かし、Guvnor やGuided Editorも使用

・これらのサーバは、高可用性・スケーラビリティを保障するためにクラスタシステムの上にのっかっている。たとえば、仮にこのシステムが止まると1分あたり何千ドルもの損失を組織に与えることになる。

なお、このプロジェクトでは5つの発見ルールを作りました。たとえば「同じ加入者から2つのほとんど同じトランザクションが短期間のうちに発生した場合には不正の可能性がある」とされます。

さて、5ヶ月後プロジェクトは予算超過や期間超過もなく成功裡に終わりました。最初は10のサービスプロバイダで始めそれを2ヶ月で横展開していきました。現在は実用に供する段階に入ったとともに新たな不正ケースに対してのルールを追加・洗練させることに力が注がれています。当初5%あった不正比率は現在3%に低下しています。今後はルールを追加・洗練させることにより、これをさらに当初の目標の1%へと近づけようとしています。

→以上、詳細については原文を参照することとして、最近海外ではDroolsを用いた実用例が着実に増えてきているようです。

→ちなみにエイプリルフール用の記事ではないので念のため。

Drools で CEP

昨日 Droolsのブログ を見たら CEP(Drools Fusion) についての記事がでていました。前にルールエンジン家系図という記事を書きましたが、Droolsが今度はCEPの家系図(?)にも載ったとのこと(TibcoのCEPのブログより)。Drools FusionがCEPとして一般に認識されるようになったということでしょう。

CEPもきちんと見ていきたいとは思っているのですが・・・なかなか手がまわらないところです。

ちなみにTibcoのブログに次のような記事もありました。

Differences between a BRE and a rule-driven CEP engine (Part 1)

何かの参考にどうぞ。