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を用いた実用例が着実に増えてきているようです。

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

コメント

  1. […] さて、ここで目をつけられたのがCEPの技術。前にもこのブログでCEPの事例を取り上げたことがありますが、CEPでは、たとえば金融機関の不正検出などで「短期間に通常より大きな額の引 […]

タイトルとURLをコピーしました