
あらまし
IoTや5G技術の進展により,実世界をリアルタイムにデジタル化して,デバイスを意識することなくクラウド上で価値に変える「デジタルツイン」が注目されている。デジタルツインを実現する上で,大量のストリームデータを高速に処理し,更にはサービスを停止することなく処理を追加・更新できることが重要なポイントとなる。富士通研究所は,実世界のヒト・モノ・コトをデジタルツインとしてクラウド上で表現し,大量のストリームデータをリアルタイムに処理し,処理の追加・更新の際にもシステムを停止することなく,柔軟かつ迅速にサービスを開発・発展させることが可能なリアクティブな基盤であるDracena(Dynamically-Reconfigurable Asynchronous Consistent EveNt-processing Architecture)を開発した。
本稿では,Dracenaの思想(アーキテクチャー),開発した技術,および利用シーンについて述べる。
1.まえがき
近年のIoTや5G技術の進展により,工場,社会インフラ,家庭などに設置された様々な機器から,クラウドに流入する大量データをリアルタイムに活用し,価値に変えるサービスの実現が期待されている。現在は,大量に集まった実世界のデータをクラウドで収集し,データの見える化,分析,予測を行い業務活用する段階にある。次の段階としては,多様な業種データやサービスを組み合わせて,現場をリアルタイムに制御する方向への発展が期待されている。例えば,コネクテッドカーでは自動運転の実現に向けて,速度や位置など車両から収集される大量のデータを分析し,危険情報などをドライバーにフィードバックすることが検討されている。
このようなサービスを実現するためには,実世界をデジタル化して,デジタル空間とつなぐ「デジタルツイン」[1](図-1)が重要となる。デジタルツインは,クラウド上に実世界(ヒト・モノ)のデータを収集し,データ分析の結果をサービスやアプリケーションに対して提供する。デジタルツインでは,実世界の生データを業務として意味のある「コト」として表現する。これによって,実世界のデータを活用するサービスやアプリケーションを,IoTデバイスを意識することなく効率的に開発できるようになる。

図-1 デジタルツイン
デジタルツインでは,データベース(DB)にデータを蓄積する従来型の処理ではなく,大量に発生するデータの流れを逐次的に処理するストリームデータ処理を行うことで,実世界にリアルタイムに追随した分析や予測が可能となる。
富士通研究所は,実世界のヒト・モノ・コトをデジタルツインとしてクラウド上で表現し,大量のストリームデータをリアルタイムに処理する基盤であるDracena(Dynamically-Reconfigurable Asynchronous Consistent EveNt-processing Architecture)を開発した。Dracenaは,処理の追加・更新の際にもシステムを停止することなく,柔軟かつ迅速にサービスを開発・発展できることを特徴とする。
本稿では,Dracenaの思想(アーキテクチャー),開発した技術,利用シーンについて紹介する。
2.従来技術とその問題点
本章では,従来のストリームデータ処理技術に関して,三つの問題点について述べる。
(1)ステートの保持が困難
実世界で発生する「コト」を知るためには,前のステート(状態)を保持し,その変化をリアルタイムに捉える必要がある。例えば,各車両から逐次提供されるデータを基に路上に危険が発生したことを知るためには,ある地点を走行する複数車両から収集されたデータが,ある時点以降に通常の状態から危険な状態へと変化したことを検出しなければならない。しかし,従来の技術では,ステートを保持できない,あるいは限定されたステートのみを保持することで高速な処理を実現していた(ステートレス)。そのため,前のステートが必要となる場合には,DBへのアクセスを必要となり,著しい低速化を免れなかった。
(2)データの共有や連携が困難
従来は,システムが垂直統合でサイロ化しており,デバイスからサービスまでが密に結合していた。そのため,他のサービスとの連携が困難であった。また,流れるデータは任意のサービスに利用しやすい形になっておらず,開発コストやマシンリソースの無駄が発生していた。
(3)サービスの追加・更新時に一時的なサービス停止が発生
実世界に発生する現象を事前に把握することは困難であり,実世界を扱うサービスの処理内容は日々追加・改善が必要となる。一方で,例えば自動運転のために情報を提供するサービスは,短時間であっても停止することはできない。従来,サービスを停止せずに更新するためには,システムを二つ用意して切り替えており,コストがかさんでしまっていた。
3.Dracenaのアーキテクチャーと実装
前章で述べた問題を解決するためには,実世界の大量のデータをリアルタイムに扱い,実世界のヒト・モノ・コトと連動する多様なサービスのアジャイルな開発・改善と,ノンストップ運用を両立する必要がある。本章では,これを実現するために富士通研究所が開発したDracenaのアーキテクチャーとその実装について述べる。
3.1 アーキテクチャー
Dracenaは,コネクテッドカーやスマートフォンなど,100~1000万規模に及ぶ実世界のデバイスからデータセンターへと高頻度で送られてくるストリームデータを,リアルタイムに処理してタイムリーなサービスの提供を実現するための基盤である。図-2にDracenaのアーキテクチャーを示す。

図-2 Dracenaのアーキテクチャー
Dracenaは,実世界から集まる大量のストリームデータを,ヒト・モノ・コトを表現する「オブジェクト」という単位でメモリ上にステートとして記録し続ける。そして,各オブジェクトのメモリ上のステートが更新されたことを契機に呼び出されるプログラムを,任意にプラグインとして登録できる。プラグインは,その処理の結果として自身のステートを更新したり,他のオブジェクトへ新たなイベントデータを送ってデータ更新を連鎖的に伝えたりすることができる。このようにDracenaは,処理が非同期かつイベントドリブンで駆動されるリアクティブアーキテクチャーとなっている。そのため,スケーラブル,かつ高スループット・低レイテンシな処理を実現できる,クラウド時代の新しいリアルタイム処理基盤である。以下に,Dracenaの主な二つの特徴について述べる。
(1)実世界オブジェクト/サービスオブジェクト
Dracenaでは,IoTシステムのサイロ化を防止するために,実世界データをヒト・モノ・コト単位でリアルタイムにクラウド上に写像し,サービスごとに異なるデータ処理を追加できる,「柔軟なデジタルツイン」を実現している[2,3]。
デバイスから送られてくるデータそのものや,それをサービス用に中間処理した結果を,実世界オブジェクト内にステートとして保持することで,実世界で発生している「コト」の検知を可能とした。
実世界のヒトやモノに対応する,サービス内容に依存しない比較的汎用的なステートを保持するオブジェクトを実世界オブジェクト,サービスに応じたデータ処理を扱うオブジェクトをサービスオブジェクトと呼ぶ。実世界オブジェクトを企業内・企業間の様々な部署で共有し,またサービス間で共通のデータ処理をサービスオブジェクトでマイクロサービスとして部品化し,つなげられるようにすることで,効率的な開発とイベント処理を実現している。
(2)無停止サービスアップデート
Dracenaでは,スケーラブルに100万規模のリアルタイムデータを処理しつつ,動作中のサービスを停止せずにサービスのデータ処理を動的に追加・変更することが可能である。図-3に,無停止でのサービスアップデートを実現する技術の概要を示す[4]。まず,新しく追加・変更するデータ処理のJavaクラスをイベントデータと同様にメッセージとしてオブジェクトへ配信する(図中①)。次に,Javaのリフレクション機能を用いて,新しいデータ処理を動的に組み込む(図中②)。最後に,タイミングを合わせて切り替えることで,無停止でのサービスアップデートを実現している(図中③)。

図-3 無停止サービスアップデートを実現する技術
3.2 実装
Dracenaの実装には,分散メッセージキューであるApache Kafka[5]や分散ストリーム処理エンジンのApache Flink[6]など最新OSS(Open-Source Software)を最適に組み合わせ,その上にオブジェクトやプラグインを実現するリアルタイムデジタルツインを独自に実装している。これは,OSSを最大限に活用するDX(Digital Transformation)時代の国際潮流に沿った実装方式である。Dracenaでは,それらを組み合わせたシステム全体としての性能挙動を精緻に分析して,リソース消費を最適化することで処理性能を最大限に引き出している。
4.想定される利用シーン
本章では,Dracenaを活用した典型的な想定利用シーンについて述べる。
4.1 モビリティ
モビリティ分野におけるDracenaの利用シーンを図-4に示す。ネットワークにつながる大量のコネクテッドカーからセンサーデータをDracenaに集めて分析すると,車両やドライバーの状況だけでなく,道路の障害など逐次変化する街の状況も広域かつリアルタイムに把握し,それを活用した次世代交通情報サービスを提供できる。

図-4 モビリティにおける利用シーン
例えば,道路のある地点で急ブレーキが多発していることを検知した場合には,その地点を通過する車両にあらかじめ注意を喚起できる。また,車両から通過時の映像データを収集して分析することで,いち早く原因を特定し対処することが可能となる。更に,ワイパーの作動状況と天候情報から浸水可能性を精度よく予測し,安全なルートを提示することもできる。
4.2 物流
EC(E-Commerce)の普及・拡大や製造業のグローバル化に伴い,物流分野では上流から下流に至るまでの輸配送の複雑化が進んでいる。このような分野では,サプライチェーン全体の輸配送の状況や,それらをつなぐ配送センター・倉庫での作業の状態など,逐次変化する現場の状況を広域かつリアルタイムに把握することで,業務の安全性向上や効率化に役立つ。
輸配送トラックの位置情報を収集し,刻々と変化する道路や配送先倉庫のバース(荷物の積み下ろしを行うスペース)の混雑状況などと組み合わせて分析することで,輸配送計画をリアルタイムに変更・改善することが可能となる。また,倉庫内でのフォークリフトや作業員の状況をリアルタイムに解析して,作業の効率化や安全性を向上したりすることも可能となる。
物流の分野では,高齢化や都市化の進展を背景として,倉庫でのロボットの導入や,ラストワンマイルでの自動運転車両やドローンによる配送の試行も進められている。このように,人とシステムが共存しながら変革が進む現場のデジタルツインを支える基盤として,Dracenaは今後ますます重要になっていく。
4.3 人流
近年ではスマートフォンの普及により,人の移動を把握することが容易になってきている。人の移動情報を基にすると,例えばスタジアムやイベント会場において大量の人の流れを検出し,すいている方へと人を誘導することで混雑を緩和できる。また,観光地において人が今どこにいるか,どこから来たか,どこに寄ってきたかなどの状況を把握することで,その人に合った観光スポットを推薦できる。
人流に適用する際の特徴として,その人に合った推薦情報を決定することが困難であることが挙げられる。モビリティや物流と異なり,効率を優先した推薦情報では,必ずしもその人が欲しい情報とは限らない。
そこで,デジタルツインの特徴である,実世界へのフィードバックを活用する。フィードバックの結果,人がどう行動するかを把握することで人の特性を学習し,その人に合った推薦情報を選択するアルゴリズム[7]を開発し,実現している。
5.今後の課題と方向性
今後は,以下の二つの課題を解決するために技術開発を進める予定である。
(1)効率的な開発環境の提供
実世界と連動するサービスの開発を効率化するために,サービス開発者が実世界オブジェクトやサービスオブジェクトを簡易にGUIベースで設計・開発できるフレームワークを提供する。
(2)迅速な実世界モデル獲得
デジタルツインの実現には,収集されるデータからヒト・モノ・コトの状況や変化を検出する「モデル」が必要となる。現在のAI/機械学習技術によるモデル獲得の多くはバッチ処理で行われており,一度獲得したモデルは短期間に変化の激しい実世界とかい離してしまうおそれがある。そこで,実世界に即したモデルを逐次獲得できるように,実世界のストリームデータから動的にモデルを獲得する技術の開発を進める。
6.むすび
本稿では,実世界の大量なストリームデータをリアルタイムに処理するリアクティブな基盤Dracenaについて述べた。Dracenaによって,ストリームデータ処理を更新・追加する際にサービス全体を一時的に停止することなく,柔軟かつ迅速にサービスを開発・発展させることが可能になった。
今後は,実世界モデルの自動学習などの次世代デジタルツインも視野に入れ,適用分野を広げていく予定である。
本稿に掲載されている会社名・製品名は,各社所有の商標もしくは登録商標を含みます。
参考文献・注記
- M. Grieves and J. Vickers:“Digital Twin: Mitigating Unpredictable, Undesirable Emergent Behavior in Complex Systems” in Transdisciplinary Perspectives on System Complexity. 2016, Springer: Switzerland.p.85-114.本文へ戻る
- 山岡久俊 他:組み立て型のサービス開発を実現するIoT向けイベント処理基盤の提案.DEIM2018-C7-1,2018.本文へ戻る
- H. Yamaoka et al.:“Dracena: A Real-Time IoT Service Platform Based on Flexible Composition of Data Streams.”2019 IEEE/SICE International Symposium on System Integrations(SII 2019).本文へ戻る
- 中川 岳 他:Flinkを用いた動的変更可能なIoT向けイベント処理基盤.DEIM2018-C7-2,2018.本文へ戻る
- T. Imai et al.:Ubiquitous Recommender System with Models of User Aware-ness.REVEAL ’19,Sep 2019.本文へ戻る
著者紹介

スーパーミドルウェアユニット
リアルタイムデジタルツイン応用技術の開発に従事。

スーパーミドルウェアユニット
リアルタイムデジタルツイン技術の開発に従事。

スーパーミドルウェアユニット
リアルタイムデジタルツイン応用技術の開発に従事。

スーパーミドルウェアユニット
リアルタイムデジタルツイン基盤技術の開発に従事。

スーパーミドルウェアユニット
リアルタイムデジタルツイン応用技術の開発に従事。

スーパーミドルウェアユニット
リアルタイムデジタルツイン基盤技術の開発に従事。