6
一般社団法人 電子情報通信学会 信学技報 THE INSTITUTE OF ELECTRONICSIEICE Technical Report INFORMATION AND COMMUNICATION ENGINEERS This article is a technical report without peer reviewand its polished and/or extended version may be published elsewhere. Copyright ©20●● by IEICE ホームゲートウェイ Internet of Things プラットフォームにおける 処理負荷分散手法 岩崎 陽介 松本 岡本 山中 直明 †慶應義塾大学 大学院理工学研究科 223-8522 神奈川県横浜市港北区日吉 3-14-1 E-mail: [email protected] あらまし 近年の IoT(Internet of Things)の普及により,IoT デバイスの数が急激に増加している.その結果 IoT サービスの処 理負荷が増加している.従来の IoT はシステムが垂直統合されており,高い技術力とコストを必要としていた.ま た,従来の IoT プラットフォームではデータセンタの処理負荷が膨大であり,リアルタイム性に欠けるという問題 がある.そこで,我々は新たに高いスケーラビリティと柔軟性を持つ水平統合型の IoT プラットフォームを提案す る.提案する IoT プラットフォーム上では HGW(Home Gateway)IoT サービスプログラムであるバンドルをライブ マイグレーションし,処理負荷分散を行う.ライブマイグレーションを行う際に IoT デバイスとバンドル間の遅延 を小さくするために,ネットワーク距離が近い HGW を探索する手法が必要である.そこで本論文では近傍ノード 探索手法として,Vivaldi を用いてネットワーク座標系を構築し,Z-ordering で一次元のキーを生成し,Skip Graph を用いて探索する.シミュレーションによりスケーラビリティ,ネットワーク座標系の有効性,処理負荷分散の有 効性を評価する. キーワード Internet of Things,プラットフォーム,処理負荷分散 Processing Load Balancing Method for Home Gateway Internet of Things Platform Yosuke IWASAKI Jun MATSUMOTO Satoru OKAMOTO and Naoaki YAMANAKA Graduate School of Science and TechnologyKeio University 3-14-1 HiyoshiKohoku-kuYokohama-shiKanagawa223-8852 Japan E-mail: [email protected] Abstract Recently, IoT (Internet of things) is widely spreading and IoT devices is drastically increasing. As a result, processing load of IoT services gets bigger. Conventional IoT system is integrated vertically and to construct the system, it requires high technology and costs. Conventional IoT platform is installed in a data center and processing load is enormous and cannot process data in real time. So we propose a new horizontally integrated IoT platform that has high scalability and flexibility. In the platform, HGWs (Home Gateway) balance a processing load by live migrating IoT service programs that is called bundle. Then, it is important to reduce delays between IoT devices and bundles, so searching for neighbor nodes method is necessary. In this paper, we propose searching method using network coordinate system that is constructed by Vivaldi. The network coordinate system is converted one dimension key by Z-ordering algorithm. The key is used to search neighbor nodes by using Skip Graph data structure. Finally, we evaluate scalability, effectiveness of network coordinate system and effectiveness of processing load balancing. Keywords Internet of Things, Platform, Processing load balancing 1. はじめに 近年 IoT が急速に普及している. IoT とは様々なも のがインターネットに接続され,情報収集や管理・制 御をする技術である.IoT の適用分野は多岐にわたる. IoT は様々な社会問題の解決,生活の質の向上が考え られている. IoT の普及とともに IoT デバイスの数は年々増加し ている.その結果膨大なセンシングデータを処理する プラットフォームが必要となる. また IoT は垂直統合型と水平統合型に分けられる. 垂直統合型とは昔からあるシステムでデバイスとプラ

ホームゲートウェイ Internet of Things プラット …biblio.yamanaka.ics.keio.ac.jp/file/iwasaki_NS02.pdfホームゲートウェイInternet of Things プラットフォームにおける

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ホームゲートウェイ Internet of Things プラット …biblio.yamanaka.ics.keio.ac.jp/file/iwasaki_NS02.pdfホームゲートウェイInternet of Things プラットフォームにおける

一般社団法人 電子情報通信学会 信学技報

THE INSTITUTE OF ELECTRONICS, IEICE Technical Report

INFORMATION AND COMMUNICATION ENGINEERS

This article is a technical report without peer review, and its polished and/or extended version may be published elsewhere.

Copyright ©20●● by IEICE

ホームゲートウェイ Internet of Things プラットフォームにおける

処理負荷分散手法

岩崎 陽介† 松本 隼† 岡本 聡† 山中 直明†

†慶應義塾大学 大学院理工学研究科 〒223-8522 神奈川県横浜市港北区日吉 3-14-1

E-mail: [email protected]

あらまし

近年の IoT(Internet of Things)の普及により,IoT デバイスの数が急激に増加している.その結果 IoT サービスの処

理負荷が増加している.従来の IoT はシステムが垂直統合されており,高い技術力とコストを必要としていた.ま

た,従来の IoT プラットフォームではデータセンタの処理負荷が膨大であり,リアルタイム性に欠けるという問題

がある.そこで,我々は新たに高いスケーラビリティと柔軟性を持つ水平統合型の IoT プラットフォームを提案す

る.提案する IoT プラットフォーム上では HGW(Home Gateway)が IoT サービスプログラムであるバンドルをライブ

マイグレーションし,処理負荷分散を行う.ライブマイグレーションを行う際に IoT デバイスとバンドル間の遅延

を小さくするために,ネットワーク距離が近い HGW を探索する手法が必要である.そこで本論文では近傍ノード

探索手法として,Vivaldi を用いてネットワーク座標系を構築し,Z-ordering で一次元のキーを生成し,Skip Graph

を用いて探索する.シミュレーションによりスケーラビリティ,ネットワーク座標系の有効性,処理負荷分散の有

効性を評価する.

キーワード Internet of Things,プラットフォーム,処理負荷分散

Processing Load Balancing Method for Home Gateway Internet of Things Platform

Yosuke IWASAKI† Jun MATSUMOTO† Satoru OKAMOTO† and Naoaki YAMANAKA†

†Graduate School of Science and Technology, Keio University 3-14-1 Hiyoshi, Kohoku-ku, Yokohama-shi,

Kanagawa, 223-8852 Japan

E-mail: [email protected]

Abstract

Recently, IoT (Internet of things) is widely spreading and IoT devices is drastically increasing. As a result, processing load

of IoT services gets bigger. Conventional IoT system is integrated vertically and to construct the system, it requires high

technology and costs. Conventional IoT platform is installed in a data center and processing load is enormous and cannot

process data in real time. So we propose a new horizontally integrated IoT platform that has high scalability and flexibility. In

the platform, HGWs (Home Gateway) balance a processing load by live migrating IoT service programs that is called bundle.

Then, it is important to reduce delays between IoT devices and bundles, so searching for neighbor nodes method is necessary.

In this paper, we propose searching method using network coordinate system that is constructed by Vivaldi. The network

coordinate system is converted one dimension key by Z-ordering algorithm. The key is used to search neighbor nodes by using

Skip Graph data structure. Finally, we evaluate scalability, effectiveness of network coordinate system and effectiveness of

processing load balancing.

Keywords Internet of Things, Platform, Processing load balancing

1. はじめに

近年 IoT が急速に普及している. IoT とは様々なも

のがインターネットに接続され,情報収集や管理・制

御をする技術である.IoT の適用分野は多岐にわたる.

IoT は様々な社会問題の解決,生活の質の向上が考え

られている.

IoT の普及とともに IoT デバイスの数は年々増加し

ている.その結果膨大なセンシングデータを処理する

プラットフォームが必要となる.

また IoT は垂直統合型と水平統合型に分けられる.

垂直統合型とは昔からあるシステムでデバイスとプラ

Page 2: ホームゲートウェイ Internet of Things プラット …biblio.yamanaka.ics.keio.ac.jp/file/iwasaki_NS02.pdfホームゲートウェイInternet of Things プラットフォームにおける

ットフォームがサービス毎に独立して存在し,サービ

ス間での連携を行わないシステムである.それに対し

て水平統合型とは個々のデバイスがサービスに依存せ

ず存在することで,デバイスを様々なサービスで利用

可能である.またプラットフォーム上では複数のサー

ビスが連携し,柔軟なシステムを構築可能である.

データセンタ上に実装する IoT プラットフォームは

いくつかあるが,集中制御で IoT サービスを実行した

場合,処理負荷が膨大になってしまう上,HGW とデ

ータセンタ間での遅延によりリアルタイム性に欠ける

という欠点がある.

そこで近年,エッジコンピューティングやフォグコ

ンピューティングという IoT アーキテクチャの研究が

行われている.エッジコンピューティングとは HGW

などのデバイスに近い部分に処理サーバを設置し,リ

アルタイム性のあるサービスを提供可能なアーキテク

チャである.本論文ではエッジコンピューティングと

水平統合型 IoT を実現するプラットフォームを提案し,

HGW 間で処理負荷軽減手法を提案する.

本論文では以下のように分割する.第 2 章では IoT

について説明し,第 3 章では提案する IoT プラットフ

ォームを説明する.第 4 章では HGW が近傍ノードを

探索する手法について説明し,第 5 章では近傍ノード

間での処理負荷分散手法について説明する.第 6 章で

は特性評価について述べ,最後に第 7 章で結論を述べ

る.

2. Internet of Things

IoT の概要を図 1 に示す.IoT では様々なものがイン

ターネットに接続され,機器同士が通信をし,様々な

サービスを提供する.例えば家電と通信をし,電力制

御を行うスマートグリッドや,煙感知器や窓の開閉セ

ンサを監視する防災防犯サービスなどがある. IoT デ

バイスの数は年々増加し 2020年には 500億台にのぼる

と言われている [1].そのため膨大なデバイスのデータ

を処理するためのプラットフォームが必要である.

図 1. Internet of Things

2.1 垂直統合型 IoT と水平統合型 IoT

IoT システムは垂直統合型 IoT と水平統合型 IoT に

分けられる [2].従来はそれぞれの分野で個別に垂直型

で IoT システムの構築が行われていた.それぞれの IoT

システムは,センサからのデータをネットワーク経由

でデータセンタ上に収集して,分析し,その結果に基

づいてサービスを行うというように実現されてきた.

しかし,このように分野ごとに独自に開発することは,

高い技術力とコストを必要としていた. IoT システム

の構築では,垂直型で独自に開発することには限界が

あるので, IoT プラットフォームを導入し,比較的安

価で優れた技術資産を水平型に組み合わせて,技術的

コストと金銭的コストを抑えた開発が求められている.

図 2. 垂直統合型 IoT と水平統合型 IoT

2.2 従来の IoT プラットフォーム

従来の IoT プラットフォームの概要を図 3 に示す.

従来では空調や家電を制御する電力制御システムや防

災・防犯システムなどが独自に構築されている.両シ

ステムは人感センサを持っている.このように同じ空

間に目的が異なる人感センサが重複して配置されるこ

とがあるが,垂直統合型ではこれらの人感センサは異

なるネットワークに接続され各個別システムで使われ

るため,その情報は他のシステムで使われることはな

いという欠点がある.また,従来の IoT プラットフォ

ームはデータセンタに実装されており,多くのデバイ

スがデータを集中的に送り,処理が膨大であるという

問題がある.例えばスマートグリッドのシステムでは

多くの家庭の家電の制御や,リアルタイムでの電力価

格の決定などを行う.そういったビッグデータ処理を

するために,負荷分散手法が必要である.

図 3.従来の IoT プラットフォーム

Page 3: ホームゲートウェイ Internet of Things プラット …biblio.yamanaka.ics.keio.ac.jp/file/iwasaki_NS02.pdfホームゲートウェイInternet of Things プラットフォームにおける

3. 提案する IoT プラットフォーム

提案する IoT プラットフォームの概略図を図 4 に示す.

本プラットフォームは国全体の規模で HGW をつない

だネットワークを構成する.HGW にデータ処理機能

を持たせることで処理のローカライズを図る,エッジ

コンピューティングやフォグコンピューティングの考

えを踏襲している [3].また本プラットフォームは

HGW 間で通信をし,自己組織的に処理負荷,ネット

ワーク負荷,ネットワークトポロジ,その他変数・構

造を変更・再構成する.例えば,バンドルのライブマ

イグレーションにより処理負荷分散を行う.マイグレ

ーション先などを決定するネットワークは,ネットワ

ーク距離が近い複数の HGW で構築される.近い HGW

の探索には,ネットワーク座標系上での範囲探索で行

う.HGW 間では P2P(Peer-to-Peer)で協調し合い,マイ

グレーションネットワーク内では,負荷が均一化され

る.本プラットフォーム上では,必要であれば, IoT

サービス単位で地理的距離やネットワーク距離などが

近い HGW でネットワークを構築する.本ネットワー

クはロケーション毎に意味がある処理を行うために用

いる.例えば電力制御などは,地理的に近い場所でロ

ーカルに処理をすることで,全体での需要と供給のバ

ランスが取れる状態を実現可能である.リアルタイム

性が必要なく,時間をかけて全体の最適解を求めるよ

うな処理は,データセンタが行う.このようにして,

本プラットフォームは HGW とデータセンタの利点を

活かした IoT アーキテクチャである.また HGW 上で

は水平統合に IoT システムを構築する.共通のネット

ワークを複数のシステムが共有することがあり得る.

例えば人感センサを防犯システム,照明や空調などの

電力制御システムで共有することが可能である.した

がって,デバイスなどのリソースの有効利用が図られ

る.

図 4. HGW IoT プラットフォーム

4. 近傍ノード探索手法

バンドルと IoT デバイス間の遅延を抑えるためには,

負荷分散を行う場合,ネットワーク距離が近いノード

にバンドルをライブマイグレーションする必要がある.

したがって近隣ノードを探索する手法が必要である.

4.1 Vivaldi

ネットワーク距離が近いノードを探索するため,ま

ずネットワーク座標系を構築する必要がある..代表的

なネットワーク座標系構築手法として Vivaldi[4]があ

る.Vivaldi のアルゴリズムをアルゴリズム 1 に示す.

Vivaldi とはノード間で RTT(Round Trip Time)を測定し,

バネの原理に基づいてネットワーク座標系上の位置を

更新する. , はネットワーク座標系上の位置ベクト

ルである. は移動距離の比例定数である.また は

単位ベクトルを求める関数である.Vivaldi は分散型の

ネットワーク座標系構築手法であるので,スケーラビ

リティを持つという利点がある.

Algorithm 1

//ネットワーク座標系の誤差を計算

//方向を求める.

//力ベクトルは誤差と比例

//力の方向に小さいステップだけ移動

4.2 Z-ordering

次にネットワーク座標系を探索に用いる一次元の

キーに変換する必要がある.P2P に使われる空間充填

曲線として,Z 曲線 [5]がある.空間充填曲線とは多次

元空間の座標を一次元で表す曲線である.Z 曲線を用

いて,位置にキーを割り当てることを Z-ordering とい

う.Z-ordering で変換した場合,2点間の距離関係は

変換後と相関関係があるという特徴がある.Z-ordering

を図 5 に示す.Z-ordering では,( , )=(00,00)のキーを

0,( , )=(00,01)の座標のキーを 1 のように割り当てる.

と の値を二進数で , とし

た場合,Z-ordering で求めたキーは

(1)

で表わされる.

Page 4: ホームゲートウェイ Internet of Things プラット …biblio.yamanaka.ics.keio.ac.jp/file/iwasaki_NS02.pdfホームゲートウェイInternet of Things プラットフォームにおける

図 5. Z-ordering

4.3 Skip Graph

ネットワーク座標系を一次元のキーに変換した後,

探索に用いるアルゴリズムとして Skip Graph[6]を説明

する. Skip Graph は分散ハッシュテーブル [7.8]と違い,

範囲検索が可能である.Skip Graph 上でノードを探索

する計算量,ノードの参加に必要な計算量は共に

である.Skip Graph の構造例を図 6 に示す.各

ノードは探索に使用するキーを持ち,ノード が持つ

キーが一番小さく,次にキーが大きいのがノード と

いうように,ノード まで順に並んでいるとする.各

ノード はメンバーシップベクタと呼ばれる 2 進数乱

数 を持つ.また,Skip Graph にはノード間の連結

リストのレベルが存在する.レベル 0 では,隣のノー

ドとは必ず接続される.レベル では, 桁目まで

が一致するノード同士が連結する.

図 6. Skip Graph

5. 処理負荷分散手法

本章では処理負荷分散を行う手法について説明す

る.

まず,バンドルの発生,終了のモデル化を行う.

HGW 上に新たなバンドルが単位時間 当たりに発生

する確率は, とする.また,バンドル が単位時

間 当たりに終了する確率は とする.

HGW が,CPU 負荷容量 より CPU 負

荷 が大きくなっている状態,もしくはメモ

リ 負 荷 容 量 よ り メ モ リ 負 荷

が大きくなる状態をオーバーロードと

定義する.HGW はバンドル毎に優先度 を持

つ.オーバーロードが発生した場合,CPU 負荷容量も

しくはメモリ負荷容量を満たすまで,最も低い優先度

のバンドルを削除する.

HGW の全 CPU 負荷 を HGW が持つバ

ンドル全ての CPU 負荷 とし,

(2)

HGW の全メモリ負荷 を HGW が持つ

バンドル全てのメモリ負荷

と定義する. は HGW がもつバンドルの集

合である.

(3)

式 4,5 のように,HGW の負荷を負荷容量で割った

値を負荷容量と定義する.

(4)

(5)

CPU コストを式 6,メモリコストを式 7 のように定

義する.これらの式を最小化することは,CPU 負荷率

もしくはメモリ負荷率の統計的分散の最小化を意味す

る.

(6)

(7)

また,処理負荷を評価する指標としてコスト関数

を式 8 で定義する.この式は CPU 負荷率とメ

モリ負荷率を の割合で負荷分散することを意味す

る.

(8)

提案する IoT プラットフォーム上で,処理負荷分散

を行うとは,全 HGW のコスト関数の合計を最小にす

ることを意味する.

(9)

Page 5: ホームゲートウェイ Internet of Things プラット …biblio.yamanaka.ics.keio.ac.jp/file/iwasaki_NS02.pdfホームゲートウェイInternet of Things プラットフォームにおける

負荷分散を行う際にまず,Vivaldi で作成されたネッ

トワーク座標系を Z-ordering で一次元のキーにし,

Skip Graph で近傍ノードの探索を行う.探索により発

見した近傍ノード間でリンクを張り,マイグレーショ

ンネットワークを構築する.HGW はマイグレーショ

ンネットワーク上で隣接するノードと通信を行い,優

先度が低いバンドルを交換もしくは移動させることで

コストが低下されるか判断する.交換もしくは移動で

最もコストが下がる操作を行い,処理負荷分散を行う.

6. 特性評価

6.1 Skip Graph のホップ数

まずノード数を増加させた場合に Skip Graph のホッ

プ数を測定することにより,スケーラビリティを評価

する.図 7 にシミュレーション結果を示す.シミュレ

ーションで使用したメンバーシップベクタの桁数は

16 である.ノード数が増加してもホップ数の増加はゆ

るやかであり に従っていることが確認できた.

したがって,多くのノード数でも Skip Graph は実行可

能であり,スケーラビリティがあることが示された.

図 7. Skip Graph のホップ数

6.2 遅延とネットワーク座標系の相関係数

次に Vivaldi 使用した場合,ネットワーク座標系は

遅延と相関関係があるのか評価することで,Vivaldi が

機能するかを評価する.シミュレーション諸元を表 1

に示す.

表 1. Vivaldi のシミュレーション諸元

ノード数 100

ネットワーク座標系の初期値 地理的座標系

1 ノードあたりの移動回数 1000

0.1

比較対象として,LL-NET[9]を用いる.LL-NET は地

理的位置の探索する P2P アプリケーションである.し

たがって,地理的座標とネットワーク座標系の比較を

行う.シミュレーション結果を図 8 に示す.なお Vivaldi

のネットワーク座標系の初期値は地理的位置を用いた.

図が示すように Vivaldi では相関係数がほぼ 1 に近く

なった.したがって,ネットワーク座標系上での近傍

探索によりネットワーク遅延が少ないノードを探索可

能であることが示された.

図 8. 遅延とネットワーク座標系の相関係数

6.3 処理負荷分散

HGW 間でバンドルのライブマイグレーションを行

うことにより負荷分散可能かシミュレーションで評価

した.シミュレーション諸元を表 2 に示す.

表 2. 処理負荷分散のシミュレーション諸元

ノード数 100

単位時間(マイグレーション間隔) 1 分

期間 24 時間

バンドルの発生確率

バンドルの終了確率

バンドルの CPU 負荷とメモリ負荷

0-1 の一様分布

CPU 負荷容量,メモリ負荷容量 2-3 の一様分布

, 1

最適解の導出は困難であり,比較不可能なため,最

適解よりコストが小さい理想値 (ideal cost)を比較の指

標とした.理想値を式 10 に示す.

(10)

負荷分散を行わなかった場合のコストの変化を図 9,

負荷分散を行った場合のコストの変化を図 10 に示す.

Page 6: ホームゲートウェイ Internet of Things プラット …biblio.yamanaka.ics.keio.ac.jp/file/iwasaki_NS02.pdfホームゲートウェイInternet of Things プラットフォームにおける

両方の図が示す通り,マイグレーションを行うことに

より負荷が分散され,コストが理想値とほぼ一致して

いることがわかる.負荷分散を行わなかった場合平均

コストの理想値との誤差は 41.4%であるが,負荷分散

を行うことで誤差を 3.1%まで縮めることを確認でき

た.

図 9. 負荷分散を行わなかった場合の平均コスト

図 10. 負荷分散を行った場合の平均コスト

7. まとめ

近年 IoT の普及とともに IoT デバイスは急激に増加

している.そのため IoT サービスがもつ膨大な処理を

リアルタイムに行う IoT プラットフォームが必要であ

る.従来の IoT プラットフォームではデータセンタ上

に設置してあり,処理負荷が膨大であり,またリアル

タイム性に欠けるという問題があった.そこで HGW

上に実装することでリアルタイム性があり,分散制御

により処理負荷分散を行う,新たな IoT プラットフォ

ームを提案した.本プラットフォームでは Vivaldi,

Z-ordering,Skip Graph を用いた近傍ノードの探索を行

い,近傍ノード間でオーバーレイネットワークを構築

する.そのオーバーレイネットワーク上では HGW 間

でバンドルのライブマイグレーションを行い処理負荷

分散する.シミュレーションの結果ノード数の増加に

耐えられるスケーラビリティ,Vivaldi が構成したネッ

トワーク座標系の正当性,またライブマイグレーショ

ンによる処理負荷分散が可能であることが示された.

文 献 [1] Cisco. “Cisco Visual Networking Index: Global

Mobile Data Traffic Forecast Update, 2012-2017”. 2013

[2] Martin Floeck, Apostolos Papageorgiou, Anett Schuelke, and JaeSeung Song. "Horizontal M2M Platforms Boost Vertical Industry: Effectiveness Study for Building Energy Management Systems". 2014 IEEE World Forum on Internet of Things (WF-IoT). pp.15-20. 2014.

[3] Flavio Bonomi, Rodolfo Milito, Jiang Zhu, Sateesh Addepalli. "Fog Computing and Its Role in the Internet of Things". Proceedings of the first edition of the MCC workshop on Mobile cloud computing, pp.13-16, 2012

[4] Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris. "Vivaldi: A Decentralized Network Coordinate System". Proceedings SIGCOMM 2004, Aug 2004.

[5] Sylvia Ratnasamy; Paul Francis, Mark Handley, Richard Karp, Scott Schenker. "A scalable content-addressable network". Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications. pp.161-172. 2001.

[6] James Aspnes and Gauri Shah. "Skip graphs". ACM Transactions on Algorithms, 3(4):37, November 2007.

[7] Ion Stoica; Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan. "Chord: A scalable peer-to-peer lookup service for internet applications". ACM SIGCOMM Computer Communication Review. Vol. 11, No. 1, pp. 17-32, February 2003.

[8] Jack A. Orenstein. "Spatial query processing in an object-oriented database system". SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data, pp.326-336, June 1986.

[9] Tomoya Kawakami, Susumu Takeuchi, Yuuichi Teranishi, Kaname Harumoto, Shinji Shimojo. "A P2P-Based Mechanism for Managing Location-Dependent Contents in Ubiquitous Environments". 2007 International Symposium on Applications and the Internet Workshops. pp.54 -57. 2007.