DEIM Forum 2013 E6-6

収集周期の異なるセンサデータストリームのための P2P 型配信システム
石芳正†

川上 朋也†

義久 智樹†

寺西 裕一††,†† 大阪大学サイバーメディアセンター 〒 567–0047 大阪府茨木市美穂ヶ丘 5-1†† 独立行政法人情報通信研究機構 〒 184–0015 東京都小金井市貫井北町 4-2-1
E-mail: †{ishi.yoshimasa,kawakami.tomoya}@ime.cmc.osaka.ac.jp, ††yoshihisa@cmc.osaka-u.ac.jp,†††teranisi@nict.go.jp
あらまし

ライブカメラや環境モニタリングなどの用途によるセンサの普及に伴い，観測データが連続的に流れるセンサデータストリームの配信に対する注目が高まっている．我々の研究グループでは，複数の配信先がそれぞれ異なる周期でセンサデータを収集する環境を想定し，Peer-to-Peer 技術を用いて配信先の通信負荷を分散する Peer-to-Peer
型センサデータストリーム配信システムを研究してきた．これまで，配信元を 1 台としたシンプルなモデルによる配信手法を提案してきたが，主にシミュレーションに基づく評価のみを行なっており，実環境における有効性は未知数であった．本稿では，提案手法に基づくセンサデータストリーム配信システムの設計と実装について述べ，情報通信研究機構が提供している PIAX テストベッドを用いた実機評価について記す．
キーワード

センサストリーム配信, Peer-to-Peer

A P2P Streaming System for Sensor Data Stream
with Different Collection Cycles
Yoshimasa ISHI† , Tomoya KAWAKAMI† , Tomoki YOSHIHISA† , and Yuuichi TERANISI††,†† Cybermedia Center, Osaka University
5-1 Mihogaoka, Ibaraki, Osaka, 567–0047 Japan†† National Institute of Information and Communications Technology
4-2-1 Nukui-Kitamachi, Koganei, Tokyo 184-8795, Japan
E-mail: †{ishi.yoshimasa,kawakami.tomoya}@ime.cmc.osaka.ac.jp, ††yoshihisa@cmc.osaka-u.ac.jp,†††teranisi@nict.go.jp
Abstract Due to the prevalence of sensors such as security cameras or environmental sensors, sensor data stream delivery
which means delivering the sensor data every cyclic collection attracts great attention. For sensor data stream delivery, various
methods to distribute communication loads in the case of delivering the same sensor data streams to multiple clients have beenstudied. Our researching team proposed methods and developed a Peer-to-Peer streaming system to distribute communicationloads in the case of delivering the sensor data stream that have different data collection cycles. Although we did not evaluate
the system performance of distribution delay, jitter, etc. In this paper, we evaluated the Peer-to-Peer streaming system using
the PIAX test bed which NICT provides.
Key words Sensor-stream distribution, Peer-to-Peer

集され，収集される度にセンサデータ利用者に配信されること

1. は じ め にとなる．例えば，ライブカメラでは，1 秒間に 30 枚から 60 枚

近年，センサデバイスの高機能化・小型化・低廉化に伴い，ラの画像がライブカメラから送り出され，それらを受け取った利

イブカメラや気象センサといった環境観測機器の普及が進んで用者が視聴や解析処理をすることとなる．センサから周期的におり，様々な利用者がセンサデバイスから得られるセンサデー送出される一連のセンサデータは，一般にセンサデータスト

タを共有・活用するアプリケーションが現実的になりつつある．

リームと呼ばれており，センサデータを必要としている利用者

これらのセンサでは，多くの場合，周期的にセンサデータが収に逐次配信することにより映像配信や環境モニタリングなどに利用するセンサデータストリーム配信への注目が高まっている．

S

センサデータストリーム配信では，1 台のセンサから得られるセンサデータを多数の利用者で共有することが一般的であり，配信時の通信負荷を分散させる様々な手法が研究されている [1–6]．これらの研究では，複数の端末に同じセンサデータ

D1

ストリームを配信する場合に，センサデータを受信した端末が

D2

D3

D4

図1

想定モデル

他の端末に再配信することで，センサデータの配信元に集中していた通信負荷を分散させている．これらの研究は，全ての端末においてセンサデータの収集周期が等しい均質なセンサデー
タストリームを対象としているが，次の例のように，同じセン

表 1 収集するセンサデータの例

サが収集したセンサデータに対して周期の異なるセンサデータ
ストリームを配信する場合も考えられる．

•

ライブカメラの映像を，有線でインターネットに繋がったパソコンで視聴する利用者には 30fps で配信し，3G 回線を

Time

0

1

2

3

4

5

6

…

D1 (Cycle=1) ⃝ ⃝ ⃝ ⃝ ⃝ ⃝ ⃝ …
D2 (Cycle=2) ⃝

⃝

⃝

⃝ …

D3 (Cycle=2) ⃝

⃝

⃝

⃝ …

D4 (Cycle=3) ⃝⃝⃝ …

用いたスマートフォンで視聴する利用者には 10fps で配信
する．

•

雨天時の外出タイミングを見計らうため，利用者がスマー
トフォンを用いて継続的に雨量を監視している場合，ス
マートフォンのバッテリ残量に余裕がある場合は 30 秒間
隔で雨量を配信し，バッテリ残量が少ない場合には消費電力を抑えるため 3 分間隔での配信とする．

表 1 は，配信先ノード D1 〜 D4 が収集するセンサデータの収集周期（ Cycle ）と，受信するセンサデータを ⃝ で示している．D1 は，収集周期が 1 であり，配信元ノードが収集した全てのセンサデータを受け取る．D2 と D3 は，収集周期が 2 であり，時刻 2 毎にセンサデータを受け取る．同様に D3 は，時
刻 3 毎にセンサデータを受け取る．

収集周期が異なる場合であっても，収集周期の最も短いセン

配信先ノードは受信したいセンサデータを収集している配信

サデータストリームをすべての端末に配信し，各端末で必要と元ノードに接続し，自身が希望する収集周期をリクエストする．

する周期のセンサデータのみを使用し，他は無視することで所

配信元ノードは，配信先ノードから受け取った収集周期のリク

望の収集周期を再現できる．この場合，既存手法を適用できる

エストを元に配信経路を決定し，各配信先ノードに通知するとが，端末が必要としないセンサデータまで配信することとなり，ともに，センサデータストリームの配信を始める．これにより，端末に無用な通信負荷が生じることとなる．

配信先ノードは希望する周期のセンサデータを配信元ノードま

我々の研究グループでは，収集周期を考慮してセンサデータ

たは他の配信先ノードから受け取る．

を再配信する経路を決定する Peer-to-Peer 型のセンサーデータ
ストリーム配信手法を提案してきた．しかし，これまでは主に

2. 2 通信負荷モデル

シミュレーションに基づく評価のみを行なっており，実環境に多くの場合，各ノードの通信負荷は送受信するセンサデータ

おける有効性は未知数であった．本研究では，上記手法に基づストリームにおける単位時間あたりのセンサデータの数に比例

く Peer-to-Peer 型のセンサデータストリーム配信を行うためのする．ここで，ノード Dx がノード Dy に送信する単位時間あシステムの設計と実装について述べる．また，提案手法の適用たりのセンサデータ数を R(x, y) と表すと，ノード Dr が他の範囲と実環境での有効性を確認するため，情報通信研究機構がノードにセンサデータストリームを送信することによる負荷，提供している PIAX テストベッド（注 1）において，提案システム

送信負荷 Or は式 1 となる．なお， D0 は S を表すものとし，の評価を行う．

α と β は，それぞれ受信処理と送信処理の重み係数， N は配信先ノードの数とする．

2. センサデータストリーム配信手法
2. 1 想 定 環 境
図 1 に本研究で想定している配信モデルを示す．図中 S は，センサが繋がったサーバを示しており，センサから周期的に観測値を収集している．以下，このサーバを配信元ノードと呼ぶ．
また，センサから取得した観測値はセンサデータと呼ぶ．Dx

Or = β呼ぶ．

R(r, i)(1)

i=0

同様に，ノード Dr が他のノードからセンサデータストリー
ムを受信することによる負荷，受信負荷 Ir は式 2 となる．

は，センサデータの受信端末を示しており，Dx 同士は相互にセンサデータを受け渡すことができる．以下，配信先ノードとN∑

Ir = αN∑

R(i, r)(2)i=0以上より，本研究ではノード Dr の通信負荷 Lr は，送信負（注 1）：PIAX テストベッド https://piax.jgn-x.jp/

荷 Or と受信負荷 Ir の合計とした（式 3）．

Sensor

Lr = Or + Ir

(3)012345

2. 3 基本的なアイデア
基本的な方針として，配信先ノードが受信したセンサデータ
ストリームに含まれるセンサデータのうち，他の配信先ノード

0123450, 1, 23, 4, 5

Receiver012345
0, 3

1/1

1/2

が要求する周期に合致するセンサデータをそれらの配信先ノー

1/2
012345012345

1/3012345ドに再配信することにより通信負荷を分散する．例えば，表 1012345では，時刻 0 と時刻 6 のセンサデータは全ての配信先ノードが0, 2, 4

要求しており，ある配信先ノードが他の配信先ノードにセンサ
図 2 LCF 法による配信経路

データを再配信することで，サーバが直接配信することなくそ
れらのセンサデータを必要としている配信先ノードに配信でき

Sensorる．同様に時刻 2 と時刻 4 のセンサデータについては収集周期

1 の配信先ノードと収集周期 2 の配信先ノード，時刻 3 については収集周期 1 の配信先ノードと収集周期 3 の配信先ノードが012345

相互に再配信が可能である．サーバから直接配信する場合，通信負荷がサーバに集中するが，この例のように，センサデータを受信した配信先ノードが他の配信先ノードに再配信すること

0123450, 1, 23, 4, 5

Receiver

0, 3

1/1

1/2
012345で，通信負荷の分散が期待できる．我々の研究グループでは，

1/2
012345012345

再配信を含めた配信経路の構築手法として LCF 法と LLF 法を提案している．

0123450, 2, 4

1/3012345012345012345

図 3 LLF 法による配信経路

2. 4 LCF 法
想定環境において，収集周期の短い配信先ノードは，単位時間あたりの受信するセンサデータの数が多く，他の収集周期のセンサデータが含まれる確率が高い．例えば，収集周期 2 の配
信先ノードが受信するセンサデータには，その倍数である収集
周期 4 ， 6 …のセンサデータが含まれる．このため，収集周期の短い配信先ノード Ds が，収取周期がより長い配信先ノード

Dl よりも優先的に再配信する場合，多くの配信先ノードがその再配信先となり，配信先ノード Ds に通信負荷が集中する可能性が高くなる．また，同時に単位時間あたりにより多くのセンサデータを扱うことから，収集周期の短い配信先ノードは再配信を行わなくとも負荷が高い状態であると考えられる．

受け取ることで通信負荷を分散する．配信経路を求める際，その計算量を抑制するため，再送信の方向は長周期の配信先ノードからより短周期の配信先ノード方向のみとする．表 1 の場合における LLF 法による配信経路は 図 3 の通りとなる．

3. PIAX を用いたセンサデータストリーム配信システムの設計と実装
3. 1 PIAX の概要
PIAX [10] は，NICT や大阪大学を中心に研究開発されている Peer-to-Peer オーバレイネットワークとモバイルエージェン

逆に，収集周期の長い配信先ノードは単位時間あたりに扱う

トの機能が統合された環境を提供するプラットフォームミドル

センサデータが少なく，相対的に負荷は低く，再配信先の候補

ウェアである．PIAX は， Java プログラミング言語を用いて実となる配信先ノードも少ない．LCF （ Longest Cycle First；最装されており，オープンソースソフトウェアとして公開されて長周期優先）法 [7, 8] では，収集周期の長い配信先ノードが優いる（注 2）．

先的に再配信することで負荷分散する．表 1 の場合， D4 が優

PIAX では，主要な機能をエージェントを用いて実装し，エー

先的に再配信すると，3 の倍数となる時刻のセンサデータしかジェントのノード間移動やオーバレイネットワークを介した配信できないため， D1 や D3 は残りのセンサデータを他の配エージェントの探索，エージェント間通信によりシステム全体

信先ノードから受信する必要があり，通信負荷の分散が期待での動作を実現する．特徴的な機能として，オーバレイネット

きる．表 1 の場合における LCF 法での配信経路は図 2 の通りワークを介して探索・発見された複数のエージェントに対し，となる．

発見と同時にリクエストを送信し，その結果を一度に収集することが可能な発見型メッセージング（ discovery messaging ）2. 5 LLF 法
LLF （ Lowest Load First；最小負荷優先）法 [9] は，各ノードの収集周期から各ノードに加わる通信負荷を推定し，ある時機能を実現している．この発見型メッセージング機能により，エージェントの配置場所を事前に把握することなくエージェン
トへのメッセージングができる．

刻のセンサデータを受け取る際には，同時刻のセンサデータを受信しているノードの中で推定された負荷が最小のノードから（注 2）：PIAX: P2P Interactive Agent eXtensions - http://www.piax.org/

SensorReceiver

Receiverセンサ
配信元ノード受信ノードの収集周期の登録

dc:preregisterDestination(pid, aid, cycle)

Sensor Agent

配信経路の作成と配布

Receiver Agent
アプリケーション

c:setRoute(route, streamid)

図 5 配信経路生成シーケンス
配信先ノード信元ノードが参加することを可能し，将来的な拡張性を持たせ
図 4 センサデータストリーム配信システム全体の構成

また， PIAX は複数のオーバレイネットワークの同時運用を実現しており，非構造型オーバレイネットワークの他，地理的探索に有用な LL-Net ， 完全一致型探索を行う DOLR ，範囲探索を行う SkipGraph などの構造型オーバレイネットワークをている．

3. 3. 2 配信経路生成時のシーケンス
図 5 は，配信先ノードによる収集周期のリクエストから配信経路の生成，配布までのシーケンスを示している．
まず，配信先ノード上の ReceiverAgent は自身の ID （ pid ；標準でサポートしている．これにより，エージェントを探索す

ピア ID ， aid ；エージェント ID ）と希望する収集周期（ cycle ）る際にはその探索の種別に応じて適切なオーバレイネットワー

を，センサデータストリームを受信しようとしているセンサにクを利用し，効率よく探索することができる．本研究のセンサ対応する SensorAgent に通知する（ preregisterDestination ）．こ

データストリーム配信システムでは，配信先ノードが要求するの通知には， PIAX の発見型メソッド呼び出し（ discoveryCall；

センサデータを持つセンサの発見に発見型メッセージング機能dc ）機能を使用する．この発見型メソッド呼び出しでは，センを利用している．

サ ID をキーとしてオーバレイネットワーク上での探索が行わ

3. 2 センサデータストリーム配信システムの概要

れ，該当するセンサ ID を持つ SensorAgent のみにメソッド呼び
出しメッセージが届けられる．これにより， ReceiverAgent は

図 4 は，センサデータストリーム配信システム全体の概要を

SensorAgent のピア ID やエージェント ID といったオーバレイ示している．配信元ノード，配信先ノードは PIAX が提供する

ネットワーク上の配置情報を知ること無く，センサを識別する

オーバレイネットワークにより相互に接続される．

ためのセンサ ID のみで目的の SensorAgent に要求を通知する

配信元ノードには SensorAgent ，配信先ノードには Receiver-

ことができる．

Agent を配置し，これらのエージェント間通信により配信動作

次に， SensorAgent は ReceiverAgent から通知を受けた収集を実現する．図中 SensorAgent と ReceiverAgent 間を結ぶ矢印

周期を元に，LCF 法または LLF 法により配信経路（ route ）をは，センサデータ配信経路の一例を表している．

作成し，センサデータストリームをリクエストしてきた Re-

SensorAgent は，以下の機能を持つ．
•••

ceiverAgent を含め，SensorAgent が配信するセンサデータスト

センサからのセンサデータの収集

リームを受け取る全 ReceiverAgent に配布する（ setRoute ）．配

配信先ノードの希望収集周期に応じた，配信経路の作成と信経路の作成時には，ストリーム ID（ streamid ）という配信

配布

経路作成毎にユニークな ID を生成しており，配信経路と併せセンサデータストリームの配信て ReceiverAgent に配布している．ストリーム ID は，配信されReceiverAgent は，以下の機能を持つ．
•

自身の収集周期の配信元ノードへのリクエスト•

他ノードからのセンサデータストリームの受信•

配信元ノードから与えられた配信経路に従ったセンサデー
タストリームの再配信

3. 3 動作シーケンス
3. 3. 1 初期化時のシーケンス

るセンサデータストリームと配信経路を対応づけるために設けている．ストリーム ID が無い場合，センサデータストリーム配信中であっても新たな配信経路が配布されると即座に新しい配信経路を使用することとなり，それまで配信されていたセン
サデータストリームが予期せぬ配信先ノードに再配信されたり，届くべき配信先ノードに配信されないという問題が生じる．

3. 3. 3 センサデータストリーム配信時のシーケンス
SensorAgent は， ReceiverAgent への 配信経路の配布が終わ

まず，配信元ノードにセンサ ID （ sid ）を設定する．センサ

ると先に作成した配信経路に従い， ReceiverAgent にセンサデー

ID は SensorAgent に渡され， PIAX の DOLR オーバレイネッ

タの配信（ notifyData ）を始める（図 6 ）．配信されるセンサ

トワークに探索キーとして登録される．このセンサ ID でセン

データにはストリーム ID が付与されており，他のエージェント

サを識別することで， 1 オーバレイネットワーク上に複数の配からセンサデータを受け取った ReceiverAgent は， SensorAgentSensorReceiver

ReceiverAgent

Receiverc:notifyData (data, streamid)
c:notifyData (data, streamid)
c:notifyData (data , streamid)
c:notifyData (data , streamid)
c:notifyData (data , streamid)

配信経路
整列バッファ

ReceiverAgentc:notifyData (data , streamid)

SensorAgent
ReceiverAgentc:notifyData (data , streamid)
・・・

・・・

c:notifyData (data , streamid)

図6

アプリケーション

配信シーケンス

図 8 ReceiverAgent
SensorAgent
カウンタ

4. 1 PIAX テストベッドの概要
PIAX テストベッドは， PIAX エージェントを用いたシステ

配信経路

センサ

ムの動作検証や性能評価を容易に行うためのテストベッドとして NICT により整備・運営されているサービスであり，同機構が整備・運営している新世代ネットワーク技術の研究開発テス
トベッドの JGN-X の一部として提供されている．

PIAX テストベッドでは， JGN-X の仮想マシン環境上に PIAX
(ReceiverAgent)

実行基盤が用意されており，ユーザにはそれらの仮想マシンが図 7 SensorAgent

複数台割り当てられる．2012 年 6 月現在，PIAX テストベッド

から配布された配信経路のうち，ストリーム ID に対応する配はんな，大阪大学の各拠点におかれた計 492 台の仮想マシンには JGN-X 札幌 AP ， NICT 大手町， NICT 小金井， NICT けい

信経路を用いて再配信を行う．

よって構成されており，各仮想マシンは JGN-X L2 サービスに
より相互に接続されている．

3. 4 エージェントの実装

ユーザは，ブラウザを用いてポータルサイトからログイン

SensorAgent 内での処理を図 7 に示す．まず SensorAgent は，し，作成したエージェントプログラムをパッケージ化したもの

センサからセンサデータを取得し，カウンタが発行する一連のをアップロード，ピアの割り当て，エージェントプログラムのシーケンス番号を付与する．次に，シーケンス番号と配信経路

実行指示などの操作を行う．実行結果は，ログファイルを介しから，配信先の ReceiverAgent を決定し，その ReceiverAgent にて収集するほか，リアルタイムで実行状況を確認することもで

センサデータを配信する．配信経路は収集周期と配信先の対応

きる．テストベッド上で動作させているエージェントプログラ

表となり，シーケンス番号と収集周期を比較することで配信先

ムは， RESTful インタフェースを介し，外部から利用することを決定できる．

もできる．

図 8 は ReceiverAgent 内での処理を示している．ReceiverA-

gent は，他のエージェントからセンサデータを受け取ると，付

4. 2 評価与されているシーケンス番号を元に配信経路を参照し，再配評価を行うノードの構成は，配信元ノード 1 ノード，配信先

信先がある場合は，その配信先の ReceiverAgent にセンサデー

ノード 10 ノード（ 1 〜 10 ）に制御ノードを加えた構成としタを再配信する．同時に，受け取ったセンサデータを整列バッた．制御ノードは評価時の動作制御のため導入しており，配信

ファに格納する．整列バッファは，次にアプリケーションに受元ノードと配信先ノードへのパラメータ設定や配信開始タイミ

け渡すべきセンサデータのシーケンス番号を保持しており，そングの指示を行う．各ノードを動作させるサーバは，制御ノーのシーケンス番号を持つセンサデータが投入されるまで，それド，配信元ノード，配信先ノード 1 〜 5 はけいはんな，配信先以外のセンサデータを保持する．これにより，センサデータがノード 6, 9 は大手町，配信先ノード 7, 8, 10 は札幌に設置され異なる配信経路を通ることによる受信順序の入れ替わりに対処ている仮想マシンを利用した．各配信先ノードが要求する収集

する．整列バッファによって順序関係が整ったセンサデータか周期として，次の 3 種のパターンを与えた．具体的な収集周期

ら順に，アプリケーションにセンサデータを受け渡す．

は表 2 の通りとなる．

4. センサデータストリーム配信システムの評価
情報通信研究機構が提供している PIAX テストベッドを用い，実装したセンサデータストリーム配信システムの評価を行った．

FIXED
全ノードに同一の収集周期を割り当て

SEQ
1 〜 10 の収集周期を順に割り当て
X2
前のノードの 2 倍の収集周期を割り当て

ノードと各配信先ノード間の通信遅延の影響のみを受けており，

表 2 評価に用いた収集周期の割り当て

Average delay (ms)Node

1 2 3 4

5

6

7

8

9

10

FIXED 1 1 1 1

1

1

1

1

1

1

収集周期割り当てパターンが FIXED の場合 （図 9 ）， LCF

SEQ

1 2 3 4

5

6

7

8

9

10

X2

1 2 4 8 16 32 64 128 256 512

法では配信先ノード 1 から 10 にかけて， LLF 法では配信先
ノード 10 から 1 にかけて遅延時間が増加している．これはLCF 法， LLF 法ともに同一周期の配信先ノードが複数ある場

60
50
40
30
20
10
0

合，それらの配信先ノードはチェーン状の配信経路を構成する
DIRECT
LCF

ため，配信元ノードから出たセンサデータは配信先ノード間を順次再配信されることとなり，再配信による遅延が累積するこ

LLF
1

2

3

4

5
6
Node

7

8

9

とによる．

10

収集周期割り当てパターン X2 （図 11 ）では，収集周期の倍数関係から配信先ノード 10 以外の配信先ノードは受信するセ

図 9 ノード受信遅延時間（ FIXED ）Average delay (ms)

収集周期割り当てパターンの違いによる差異は見られない．

ンサデータの半数を配信元ノードから直接受け取ること，また，配信先ノード 1 〜 3 では要求するセンサデータの多くを同一設

60
50
40
30
20
10
0

置場所にある配信先ノードから再配信を受けることから低遅延
DIRECT
LCF
LLF
1

2

3

図 10

4

5
6
Node

7

8

9

となっている．遠隔地に置かれた配信先ノード 6 〜 10 からの再配信によるセンサデータの割合が増える配信先ノード 4 以降
は，遠隔地のノードの配信遅延時間の影響を受けて配信遅延時

10

間が長くなる傾向にある．
これに対して，収集周期割り当てパターン SEQ （図 10 ）でノード受信遅延時間（ SEQ ）Average delay (ms)は，収集周期割り当てパターン X2 と比較して，収集周期の短
い配信先ノード 1 〜 5 の配信遅延時間が延びている．これは，

60
50
40
30
20
10
0

収集周期割り当てパターン X2 とは異なり，他の配信先ノード
DIRECT

から再配信を受ける割合が多くなるためと考えられ，倍数関係

LCF
LLF
1

2

3

4

5
6
Node

7

8

9

10

に乏しい 配信先ノード 7 〜 10 では， DIRECT とほぼ同等の配信遅延となっている．

LCF 法で配信を行った際の配信先ノード 1 でのノード受信遅
図 11

ノード受信遅延時間（X2）

延時間を図 12 と図 13 に示す．横軸を受信したセンサデータの順序，縦軸を遅延時間（ ms ）としてセンサデータ 1500 個のセンサデータは， 100ms 間隔で配信元ノードが収集するもの

ノード受信遅延時間をプロットした図となる．図 12 は収集周とし，実際の観測値の代用として 0 パディングされた 1024 バ

期割り当てパターン SEQ，図 13 は収集周期割り当てパターン

イトのダミーデータを用いる．このセンサデータを 15 分間配

X2 での結果である．これらの図から，センサデータのノード

信することで計測を行う．

受信遅延時間がいくつかのグループにわかれていることがわか

実装したセンサデータストリーム配信システムは Java を用いる．これは受け取ったセンサデータの配信経路によるもので，て構築しており， JIT コンパイルの影響を受けるため，各計測

配信先ノード 1 はけいはんなに配置された仮想マシン上で動に先立ちダミー実行を行うことで JIT コンパイルを促し，その作させていることから，同サイトとなるけいはんなに置かれた影響を抑えている．また，サーバ間の時刻差は各計測に先立ち，他のノードから受け取ったセンサデータでは約 1ms，大手町に配信元ノードと配信先ノードの間でシステム時刻を交換し，配置かれたノードを介して受け取った場合は 約 11ms ，札幌に置

信先ノードにて計測値に補正を加えることとした．

かれたノードを介して受け取ったセンサデータでは約 30ms のノード受信遅延時間となることによる．これらより，図 10 と4. 2. 1 配信遅延時間
図 9 〜 11 は，配信元ノードから配信されたセンサデータが，配信先ノードに到達するまでの遅延時間（ノード受信遅延時間）

図 11 において，配信先ノード 1 の平均配信遅延時間が異なるのは，遅延の大きいノードから受け取るセンサデータの量の違いによるものとわかる．

の平均値を示しており，横軸はノード番号，縦軸は遅延時間

図 14 〜 16 は，配信元ノードから配信されたセンサデータが（ ms ）を示している．また，各図はそれぞれ， FIXED ， SEQ ，

配信先ノード上のアプリケーションが受け取るまでの遅延時間

X2 で割り当てた収集周期での遅延時間となっている．DIRECT（アプリケーション受信遅延時間）の平均値を示している．アは，配信元ノードから配信先ノードへ直接配信した場合， LCF

プリケーション受信遅延時間は，ノード受信遅延時間に他の配は LCF 法， LLF は LLF 法により構築した配信経路を用いた結信先ノードへの再配信に要した時間と整列バッファの通過に要果となっている．

した時間を加算したものとなる．

DIRECT では配信先ノードによる再配信がないため，配信元

各ノードのアプリケーション受信遅延時間とノード受信遅延

Average jitter (ms)

Delay (ms)

80
60
40
20
0
0

図 12

500
1000
Received sensor data

1500

30
25
20
DIRECT

15
10
5
0

LCF
LLF
1

配信先ノード 1 でのノード受信遅延時間（ SEQ ）

2

図 17

3

4

5
6
Node

7

8

9

10

ノード受信間隔平均ジッタ（ FIXED ）

60
40
20
0
0

500
1000
Received sensor data

1500

Average jitter (ms)

Delay (ms)

80
30
25
20
15
10
5
0

DIRECT
LCF
LLF
1

2

3

4

5
6
Node

7

8

9

10

図 13 配信先ノード 1 でのノード受信遅延時間（ X2 ）DIRECT
LCF
LLF
1

図 14

2

3

4

5
6
Node

7

8

9

10

Average jitter (ms)Average delay (ms)

図 18
60
50
40
30
20
10
0

30
25
20
15
10
5
0

DIRECT
LCF
LLF
1

2

3

4

5
6
Node

7

8

9

10

アプリケーション受信遅延時間（ FIXED ）図 19

Average delay (ms)ノード受信間隔平均ジッタ（ SEQ ）

60
50
40
30
20
10
0

ノード受信間隔平均ジッタ（ X2 ）4. 2. 2 基準間隔からのジッタ
DIRECT

1

2

3

4

5
6
Node

7

8

9

LCF

図 17 〜 19 は，配信先ノードで受信されたセンサデータのLLF

到着間隔と，各配信先ノードのセンサデータ収集周期の差の10平均を図示しており，横軸はノード番号，縦軸はジッタの平均値（ ms ）としている．例えば，収集周期 200ms の受信ノー

図 15

アプリケーション受信遅延時間（ SEQ ）ドが他のノードからセンサデータを受け取った際，その時刻

Average delay (ms)と直前のセンサデータ受信時刻の差が 190ms であった場合，
60
50
40
30
20
10
0

|200 − 190| = 10ms のジッタがあるとする．
DIRECT
LCF
LLF
1

図 16

2

3

4

5
6
Node

7

8

9

10

アプリケーション受信遅延時間（ X2 ）時間と比較すると，大きな差は見られず，約 1ms の遅延時間の増加のみとなっている．他の配信先ノードへの再配信には PIAXが持つ非同期通信 API を利用していることから，再送信先への送信完了を待たずに API から処理が返される．このため，配信先ノードとの通信遅延の影響は受けず，再配信先の数のみに影響を受けていると考えられる．また，整列バッファを介することによる遅延は，この評価で用いた環境においては，センサ
データの受信順序の入れ替わりは生じていないため無視できると考えられる．

DIRECT は，ノード受信遅延時間と同理由により収集周期割り当てパターンの違いによる差異は見られない．

各割り当てパターンとも DIRECT では，配信元ノードからの直接配信になるため 1ms 未満の平均ジッタとなっている．

LCF ， LLF についてみると，収集周期割り当てパターン
FIXED では，配信元ノードから順次，次の配信先ノードにセン
サデータを受け渡していくこととなるため，他の収集周期割り
当てパターンと比較して平均ジッタは小さくなっている．LCF
では配信先ノード 0 で約 0.7 ms ，配信先ノード 10 では約 1.4msのジッタとなっており，配信先ノード 0 から 10 にかけて再配信されていくため，それに伴いジッタが大きくなっている．LLF
では，逆に配信先ノード 10 から 0 にかけて再配信されていく
ため，約 1.5 ms から 2.5 ms となっており，同様に再配信に伴いジッタが大きくなっている．配信先ノード 10 が配信遅延の大きい札幌にあるため， LCF に比べジッタが大きくなっている．
収集周期割り当てパターン SEQ では， LCF ， LLF ともに配信先ノード 7， 8， 10 のジッタが他の配信先ノードと比較して小さくなっている．これらの配信先ノードでは，収集周期の倍数関係から配信元ノードから直接センサデータを受け取る割合

80

60

60

Jitter (ms)Jitter (ms)

80

40
20

40
20

0

0
0

図 20

500
1000
Received sensor data

1500

0

配信先ノード 1 でのジッタ（ SEQ ）

図 21

500
1000
Received sensor data

1500

配信先ノード 1 でのジッタ（ X2 ）が多いため，センサデータの到着間隔が安定し，ジッタが小さ

テストベッドを用いて，実装したセンサデータストリーム配信

くなっていると考えられる．配信先ノード 5 では，収集周期がシステムの配信遅延時間とジッタについて実測評価を行った．

5 であることから，収集周期が 10 である配信先ノード 10 から

今後は，複数の配信元ノードからのセンサデータストリームの再配信が受け取るセンサデータの半数を占めることとなる．

の配信手法について検討を進める予定である．

配信先ノード 10 は札幌に置かれているため，再配信時には往復分の遅延が入ることとなり，配信元ノードから直接受け取っ謝辞たセンサデータと比較して，到着間隔の差分が大きくなること

本研究の一部は NICT・大阪大学共同研究「大規模分散コンから，約 24ms のジッタとなっている．配信先ノード 1 ， 2 ， 3

ピューティングのための高機能ネットワークプラットフォーム， 4 ， 6 においても，同理由により 14ms から 18ms のジッタ技術の研究開発」による成果である．検証環境として JGN-X 上となっている．
収集周期割り当てパターン X2 では，収集周期割り当てパ
ターン SEQ の場合と比較して，配信先ノード 1 〜 4 のジッタが小さくなっている．配信先ノード 1 ， 2 においては，配信元ノードが同一の場所に置かれていること，再配信して受け取ったセンサデータのうち，同一の場所に置かれた配信先ノードから受け取る割合が大きいことから，センサデータの受信間隔に大きな差は生じずジッタは小さくなる．配信先ノード 3 ， 4 では，他地域に置かれた配信先ノードから受け取るセンサデータの割合が増えるため，配信先ノード 1 ， 2 と比較してジッタが大きくなる．配信先ノード 5 ， 6 や配信先ノード 9 では，他地域に置かれた配信先ノードから受け取るセンサデータの割合が多くなるため，ジッタが大きくなっていると考えられる．

LCF 法で配信を行った際の配信先ノード 1 でのジッタを図
20 と図 21 に示す．横軸を受信したセンサデータの順番，縦軸をジッタ（ ms ）としてプロットした図となる．図 20 は収集周期割り当てパターン SEQ，図 21 は収集周期割り当てパターン

X2 での結果である．収集周期割り当てパターン SEQ の場合では，同パターンでの配信遅延時間（図 20 ）と異なり，約 20 msにグループができており，大きく分けて 4 グループに分かれていることがわかる．このグループは，札幌を介したセンサデー
タ（配信遅延約 30 ms）と大手町を介したセンサデータ（配信遅延約 10 ms）が連続した場合に，配信間隔と基準間隔の差が約 20ms となることによる．収集周期割り当てパターン X2 の場合は，約 20 ms のグループは現れていないが，札幌を介したセンサデータと大手町を介したセンサデータが連続することがないためである．

5. ま と め
本稿では，収集周期の異なるセンサデータストリームのための Peer-to-Peer 型配信システムの PIAX を用いた設計と実装について述べた．また，情報通信研究機構が提供している PIAXの PIAX テストベッド（プロジェクト番号 JGNX-A12005 ）を
利用した．
文

献

[1] Magharei, N. and Rejaie, R.: PRIME: peer-to-peer receiver-driven
mesh-based streaming, IEEE/ACM Transactions on Networking(TON), Vol. 17, No. 4, pp. 1052–1065 (2009).
[2] Yu, L., Liao, X., Jin, H. and Jiang, W.: Integrated buffering schemes
for P2P VoD services, Peer-to-Peer Networking and Applications, pp.
63–74 (2011).
[3] 坂下 卓，義久智樹，原 隆浩，西尾章治郎：ストリーミング環
境における分割データの重要度を考慮した視聴中止端末数削減
手法，情報処理学会論文誌，pp. 3008–3017 (2011).
[4] Jin, X., Yiu, W.-P. K., Chan, S.-H. G. and Wang, Y.: On Maximizing
Tree Bandwidth for Topology-Aware Peer-to-Peer Streaming, IEEE
Transactions on Multimedia, pp. 1580–1592 (2007).
[5] Silawarawet, K. and Nupairoj, N.: Locality-Aware Clustering Application Level Multicast for Live Streaming Services on the Internet,
Journal of Information Science and Engineering, Vol. 27, pp. 319–
336 (2011).
[6] Le, T. A. and Nguyen, H.: Application-Aware Cost Function and Its
Performance Evaluation over Scalable Video Conferencing Services
on Heterogeneous Networks, Proceedings of the 2012 IEEE Wireless Communications and Networking Conference (WCNC 2012), pp.
2185–2190 (2012).
[7] 川上朋也，義久智樹，石 芳正，寺西裕一：収集周期の異なるセンサデータストリームための通信負荷を考慮した配信手法，情報処理学会マルチメディア通信と分散処理ワークショップ (DPSWS
2012) 論文集，pp. 136–143 (2012).
[8] Ishi, Y., Yoshihisa, T., Kawakami, T. and Teranishi, Y.: An Implementation of Delivery Method considering Communication Loads
for Sensor Data Stream with Different Collection Cycles, Proceedings of the 2012 IEEE 18th International Conference on Parallel andDistributed Systems (ICPADS 2012), pp. 728–729 (2012).
[9] 川上朋也，義久智樹，石 芳正，寺西裕一：収集周期からの負荷推定に基づくセンサデータストリーム配信手法，電子情報通信学会技術研究報告，pp. 7–12 (2012).
[10] 吉田 幹，奥田 剛，寺西裕一，春本 要，下條真司：マルチオーバレイと分散エージェントの機構を統合した P2P プラット
フォーム PIAX，情報処理学会論文誌，Vol. 49, No. 1, pp. 402–413(2008).