Vol.2013-HPC-140 No.22
2013/8/1

情報処理学会研究報告
IPSJ SIG Technical Report

ユーザインタラクションと連動したフロー制御を行う大規模可視化
木戸 善之1,a)

古都 知哉2

渡場 康弘1,2 伊達 進1
河合 栄治5 下條 真司1,5

阿部 洋丈3
竹村 治雄1

市川 昊平4

山中 広明5

概要：科学全般において大規模な可視化が必用とされ，可視化装置とミドルウェアに注目を集めている．複数のディスプレイで構築するタイルドディスプレイは大規模な可視化を実現する技術であり，ネットワークを通じてアプリケーションやコンテンツを表示することができる．動画配信などの大容量ストリーミン
グとは異なり，タイルドディスプレイでのアプリケーション表示ではユーザのインタラクションが発生し，その結果を画面に反映することとなるが，ネットワークの遅延，障害がユーザインタラクションに多大な影響をおよぼす．そのためタイルドディスプレイでのユーザインタラクションを考慮したネットワークの制御が必要不可欠となる．先行研究では，SAGE によるタイルドディスプレイと OpenFlow を用い障害検知による冗長経路の変更について取り組んだ．本研究では，ユーザ操作によって生じるデータ転送量の変更に対応するため OpenFlow を用いたフロー制御に取り組み，インタラクティブネスの向上を目指す．

1. 背景

きる可視化がますます必要かつ重要になりつつある．
大容量データの直感的な理解・解釈のためには，そのデー近年のプロセッサ性能，ネットワーク性能の向上により，タがもつ時間的かつ空間的な解像度情報を失わせることなクラウドやグリッドに代表される大規模分散計算技術はまく可視化することが重要となる．しかし，今日では，大規すます実用的かつ有用な技術へと成熟しつつあり，学術，模分散計算によって取得可能な計算結果，解析結果データ産業のあらゆる分野における利用が急速に進んでいる．そを情報欠損なく表示可能とする可視化装置はほとんどないの結果，今日，われわれは大容量データを短期間の間に計のが現状である．例えば，今日では一般的な 1 千万画素級算処理，解析処理し，さらに大容量の計算結果データ，解析のデジタルカメラを例にとってみても，そのデジタルカメ結果データを取得することができる．実際，創薬研究の分ラで記録可能な画像を画素情報を欠損させることなく表示

野では，タンパク質と化合物の振る舞いを確認・検証するさせることができるディスプレイは非常に高価なものが存ために分子動力学シミュレーションを利用するが，そのよ在するのみである．このため，近年では複数台のコモディ

うなシミュレーションにおいては，1 試行に対して 2〜5GB

ティ LCD モニタを方形上に組み合わせ，それら LCD モニの中間結果，最終結果を生成することがありうる [1][2]．一タを複数台の PC で連携駆動させることで，数千万〜数億般的に，このような計算結果や解析結果データは数値デー画素の高精細画像を表示可能とするタイルドディスプレイタとして出力される．そのため，扱うべきデータの大容量技術 (図 1) に関する研究開発が盛んとなっている．

化に伴い，そのデータの意味を直感的に提示することので12345a)大阪大学サイバーメディアセンター
Cybermedia Center, Osaka University
大阪大学大学院情報科学研究科
Graduate School of Information Science and Technology, Osaka University
筑波大学大学院コンピュータサイエンス専攻
Department of Computer Science, University of Tsukuba
奈良先端科学技術大学院大学情報科学研究科
Graduate School of Information Science, NAIST
情報通信研究機構テストベッド研究開発推進センター
Network Testbed Research and Development Promotion
Center, NICT
kido@cmc.osaka-u.ac.jpⓒ 2013 Information Processing Society of Japan

とりわけ，今日利用できるタイルドディスプレイ技術の中でも，イリノイ大学シカゴ校の EVL が研究開発を推進中のミドルウェア SAGE[3] への注目が集まっている．SAGE
は，インターネット上の複数の拠点上のデータを，ネットワークストリーミング技術によって配送することで，それらタイル上に構成された複数台のモニタ上に同時に可視化することを可能にする．そのため，複数拠点の研究期間や大学と共同研究を日常的に推進する e-science 分野の研究者らからの SAGE への期待と関心は高まる傾向にあり，多くの研究グループが SAGE によるタイルドディスプレイ

1

Vol.2013-HPC-140 No.22
2013/8/1

情報処理学会研究報告
IPSJ SIG Technical Report

成するコンテンツを，タイルドディスプレイ上の表示位置と各ディスプレイの描画を担当する計算機に応じて，コンテンツを分割してストリーミングする特徴を備えている．各アプリケーションからのコンテンツを一箇所に集めてから描画担当の計算機群に配信するような方式ではなく，アプリケーションと描画担当計算機が直接的に分散通信を行うため，規模に対してスケーラブルなアーキテクチャとなっている．また SAGE では複数のタイルドディスプレイに対し，画面を同期して表示する事が可能である．複数のアプリケーションが同時に表示される様を，遠隔地での複数の
図 1

SAGE の構成図

タイルドディスプレイにて見ることができ，研究者らは巨大な可視化コンテンツを遠隔地においても共有することがを複数拠点に実際に構築・配備し，研究，教育分野への実できる．図 1 は一般的な SAGE の構成図である．SAGE は証実験を活発に行っている．しかし，この SAGE による主に 1) SAGE Receiver，2) SAGE Free Space Manager，

タイルドディスプレイは，その可視化性能をネットワーク

3) SAIL (SAGE Application Interface Library)，4) SAGE

性能に大きく依存するにも関わらず，ネットワーク制御にUI および SAGE コンソールの 4 つのコンポーネントから関する機能が具備されていないことが問題である．SAGE成る．

ではタイルドディスプレイ上のどの位置にどのようなサイSAGE Receiver がディスプレイ描画担当サーバであり，ズでアプリケーションからのストリーミング映像を表示す

タイルドディスプレイを構成する各ディスプレイに接続さるかに依存して，タイルドディスプレイを構成する各計算れた計算機上で動作する．１つの SAGE Receiver が複数機と映像を生成するアプリケーション間のネットワーク通のディスプレイの描画を担当することもでき，図 1 の例で信量は動的に変動する．つまり，ユーザによるアプリケーは，各 SAGE Receiver がそれぞれ縦に 3 面ずつのディスションウィンドウの配置やサイズの変更などのインタラクプレイの描画を担当している構成を図示している．SAGEションに応じて，ネットワーク流量は急激に変動し，時にFree Space Manager はタイルドディスプレイ上のコンテはネットワークの輻輳を生じさせる可能性がある．しかしンツの表示位置を管理している管理サーバである．このながら，現状の SAGE はこのようなユーザインタラクショ

SAGE Free Space Manager が各アプリケーションからのンに応じたネットワーク流量の変動に関して特別な制御をコンテンツをタイルドディスプレイ上のどの座標位置に表実装していない．

示するかを管理しており，その情報を SAGE Receiver と本研究では，そのような観点から，SAGE によるタイルアプリケーションに組み込まれる SAIL に提供している．

ドディスプレイ上で，ユーザインタラクションによって変図 1 の例では，SAGE Free Space Manager はアプリケー動するネットワークパラメータと連動させ，ネットワーク

ション 1 のコンテンツは左側 6 面の中央辺りに表示し，アを効率的に利用した大規模可視化を実現することを目的とプリケーション 2 のコンテンツは右上 4 面の中央辺りに表する．より具体的には，ユーザインタラクションによって示するという座標情報を有している．

変動するネットワークパラメータを基に，ネットワークのSAIL は SAGE におけるアプリケーション用の描画 API

動的なプログラミング制御を可能とする Software Definedを提供する．アプリケーションはこの SAIL を通じてタNetwork (SDN) を応用したフロー制御を行う大規模化可イルドディスプレイ上に表示するコンテンツを送信する．

視化技術を構築する．本稿では，タイルドディスプレイ上

SAIL は SAGE Free Space Manager より得た情報に基づでのユーザ操作に合わせたネットワークフローの制御につき，アプリケーションから提供された画像データを表示先いて取り組み，その内容を記述する．のディスプレイに応じて分割し，そのディスプレイの描画

本論文の構成は，２節で SAGE について概説し，３節でを担当する適切な SAGE Receiver に送信する．この分割技術要素と提案手法について述べる．４節でまとめと今後と送信先 SAGE Receiver の選択は自動的に行われるため，の課題ついて述べる．

アプリケーション側からは意識すること無く，描画処理に2. SAGE
2.1 SAGE のアーキテクチャ専念できる．
図 1 の例ではアプリケーション 1 のコンテンツは 2 つに分割され，タイルドディスプレイの左側 6 面の描画を 2 台

SAGE は分散レンダリングに対応し，かつ複数のアプリの SAGE Receiver に送信される．その一方でアプリケーケーションをタイルドディスプレイに同時表示を可能としション 2 のコンテンツは右側 2 台の SAGE Receiver に送たミドルウェアである．SAGE は，アプリケーションが生信される．このようにして，SAIL を通じてアプリケーショⓒ 2013 Information Processing Society of Japan2

Vol.2013-HPC-140 No.22
2013/8/1

情報処理学会研究報告
IPSJ SIG Technical Report

ンからコンテンツデータを受け取った SAGE Reciever は，同じく SAGE Free Space Manager から得た情報に基づき，コンテンツを適切な座標位置に表示する．

SAGE UI および SAGE コンソールは SAGE におけるユーザインタフェースを提供する．これらユーザインタ
フェースからは SAGE Free Space Manager が管理するコンテンツの表示位置とサイズをインタラクティブに変更することが可能である．コンテンツ表示領域の変更は直ちにSAGE Receiver と SAIL に伝達され，SAIL からのコンテンツ表示宛先が変更されたり，SAGE Receiver でのコンテ

図 2OpenFlow スイッチとネットワークの構成図

ンツ描画位置の変更が反映される．

2.2 SAGE の問題
前述のように，SAGE では複数ディスプレイへのマルチ

3. 技術要素と提案手法
3.1 SDN

ストリーミングの実現，かつ分散レンダリングや複数アプSDN (Software Defined Networking) とはソフトウェアリケーションの実行に対応するなど，ネットワークに依存によってネットワーク全体を制御・管理可能とする技術のする機能を多数実装しながら，ストリーミングに利用する総体を示す．OpenFlow[4] は SDN を実現する技術の１つネットワークを制御する実装がなされていない．そのため，であり，ネットワークスイッチにおける制御やプロトコルコンテンツを生成するアプリケーションと SAGE Receiverを定義している．OpenFlow を用いることによって，ネッの間は既存のネットワークルーティング手法がそのまま利トワークの挙動を動的に変更することが可能となり，また用され，ネットワーク輻輳などにより，ネットワークの性プログラマブルな機器も現在，市場に出始めている．Open-能を適切に維持することができず，大規模可視化を行う上Flow プロトコルで制御御可能なネットワークを OpenFlow

で大きな障害となる可能性がある．

ネットワークといい，OpenFlow プロトコル対応の複数のSAGE では大規模な画面をネットワークでストリーミン

OpenFlow スイッチと，これら OpenFlow スイッチを中央グするという特性上，ネットワークの性能がユーザの操作集約的に制御・管理する OpenFlow コントローラから成る．

性に与える影響は大きい．ユーザのマウスやキーボード操プログラマブルな箇所はこの中央コントローラにある．

作がイベントとしてアプリケーションに伝播し，その反応

図 2 に OpenFlow ネットワークの構成図を示す．Open-を画面に反映する，といったスタンドアローンのアプリ

Flow では，各 OpenFlow スイッチ内にフローテーブルとケーションではスムーズにこなせる処理も，ネットワーク言われるフローのマッチングルールとそのフローに該当すを介することで画面表示遅延やユーザ操作における反応るパケットの転送先や処理方法が書かれたフローエントリ速度など，ネットワークのスループットや応答速度などがを格納するデータベースが実装されている．OpenFlow ス

ユーザ操作性に多大な影響をおよぼすこととなる．

イッチに入ってきたパケットはまずこのフローテーブル

したがって，SAGE におけるネットワーク利用状況に応に処理方法が記述されていないか検索され，マッチするフじて，ネットワークルーティングを制御し，ネットワークをローエントリがある場合は，そこに記述されている処理を効率的に使用する技術の開発が強く望まれる．より具体的実行する．フローテーブルにエントリがないパケットにつには，各アプリケーションのタイルドディスプレイ上でのいては，OpenFlow コントローラに処理方法が問い合わせ配置やサイズなどの情報から，アプリケーションと SAGEられ，コントローラによって新しいフローエントリが動的Receiver 間で実行されるネットワークストリーミングによに書き込まれることによって処理される．この時，コントるネットワーク流量を把握し，それに応じたネットワークローラは，障害検知や帯域測定などにより集計した結果に制御を実現することによって，ネットワーク性能を維持す基づいて，パケットの行き先を動的に決定することが可能ることが必要である．このようなアプリケーションレベルであり，動的で細粒度なネットワーク制御を実施することのネットワーク利用形態に応じて細粒度にネットワークが可能となる．

制御を実施するためには，既存のネットワークルーティング技術では実現不可能であり，近年提唱されつつあるソ

3.2 先行研究

フトウェアによってネットワークを完全に制御する SDN

OpenFlow スイッチによって構成されたネットワークと(Software Defined Networking) の活用が不可欠である．

SAGE を用いたタイルドディスプレイにおいて，ネットワーク障害検知，回避を行った先行研究がある [5]．この研究では OpenFlow スイッチで接続されたネットワークにおⓒ 2013 Information Processing Society of Japan3

Vol.2013-HPC-140 No.22
2013/8/1

情報処理学会研究報告
IPSJ SIG Technical Report

図 3

ネットワーク障害を検知，回避する研究の概要図

いてネットワーク障害を検知し，障害のある経路を動的に避けることを行った．図 3 は，SAGE と OpenFlow スイッチで構成されたシステムにて，ネットワーク障害が発生した場合の経路変更を動的に行う様を表した概要図である

OpenFlow コントローラでは，OpenFlow スイッチを通じてネットワークの状態を取得することができる．先行研究
では OpenFlow スイッチ間のレイテンシを取得し，応答がない場合を障害と判断する．障害区間を避ける経路を探索し，現在送信中のパケットの経路を動的に変更する．先行研究では，アプリケーションの稼働中にネットワーク障害を意図的に発生させるのと同時に SAGE ディスプレイ上図 4

先行研究でのアーキテクチャでのフレームレートを計測を行い，約３秒で回復すると報告している．先行研究では，SAGE と OpenFlow に対し，３つのモジュールを追加している (図 4 参照) ．

a) ネットワーク障害検知機能
ネットワーク障害検知機能は，OpenFlow スイッチ間のレイテンシを測定し応答なしであれば障害と判断する．その後，当該経路をブラックリストに情報を追記する．

b) トポロジ管理機能
ネットワークの論理構造を事前に知っておく必要があるためトポロジ管理機能として実装した．トポロジ管
理機能ではネットワークのトポロジ情報をグラフとしてファイル出力する．

c) 動的パケットフォワーディング機能
トポロジ情報とブラックリスト情報を元に，ブラック

図 5アーキテクチャ概要図

リストにある経路を避けるようにフォワードルート情報を書き換える．これにより OpenFlow スイッチは障よって生じるデータ転送量の変化に対応するフロー制御に害を回避するようにパケットの転送を行う．

ついて取り組む．OpenFlow スイッチで構成されたネットワークにタイルドディスプレイが接続された環境にて，タ3.3 提案手法
前節で述べた先行研究を踏まえた上で，ユーザ操作にⓒ 2013 Information Processing Society of Japan

イルドディスプレイ上でのユーザの操作，具体的にはウィンドウのサイズ変更や移動をディスプレイ間で行うと想定

4

Vol.2013-HPC-140 No.22
2013/8/1

情報処理学会研究報告
IPSJ SIG Technical Report

図 7 タイルドディスプレイのおけるウィンドウ座標の指定

図 6

タイルドディスプレイと OpenFlow スイッチのネットワークの構成

する（図 6 参照）．タイルドディスプレイ上にてウィンドウを操作する場合，ディスプレイをまたいでウィンドウをサイズ変更，移動することが頻繁に起こりうる．ディスプ
レイをまたいでウィンドウを移動することは，高解像度のコンテンツつまり大容量のデータの送り先が変わることになる．複数のアプリケーションが動作している状態において，ウィンドウを移動することはネットワークの輻輳が考

図 8

トポロジ情報と空いている帯域のグラフえられる．ネットワーク上での輻輳は，高解像度コンテンツをストリーミングで送信するに十分でない帯域のネットトワーク帯域情報収集機能として追加した．帯域情報としワークを通ることとなり，タイルドディスプレイにおいててトラフィック量を追記することで，トポロジ情報，論理フレーム落ちやフレームレートの低下など，高解像度コン的なネットワークのグラフデータにトラフィック量を重みテンツの劣化につながる．

として負荷させた．このトポロジ情報は５秒毎のインターそこで，ウィンドウ操作に伴うネットワーク上での輻輳バルで取得している．ネットワーク帯域とトラフィック量を回避するため，ウィンドウ操作をトリガーとしてネッにより，利用可能な帯域が算出でき，利用可能な帯域を重トワーク経路のパケット流量の少ない経路を選択し，経みづけしたネットワークグラフの最短経路問題として経路路変更を行うシステムを提案する．図 5 は，システムの選択を行った．各機能について以下，箇条書きにて述べる．

アーキテクチャの概要図である．先行研究を踏襲していa) ウィンドウリサイズ通知機能るため図 3 からの拡張となる．追加モジュールは緑の箇

SAGE コンソールから受け取ったウィンドウのサイズ所に該当する．まずユーザは，SAGE コンソールによって変更，移動のイベントを起点として，OpenFlow コンウィンドウのサイズ変更，移動を行う．サイズ変更と移動トローラに対し通知を行う．通知する内容はウィンドは，Free Space Manager，正確には共有のコアライブラリ

ウごとに発番されるウィンドウ ID とサイズ変更後のでリサイズ機能として実装されており，ウィンドウリサ座標になる．この座標は，画面左下を x,y 座標を (0,0)

イズ通知機能を Free Space Manager に組み込んだ．Freeとして，絶対座標として表される．また座標はウィンSpace Manager からウィンドウリサイズの通知を受け取っドウ左下の座標と，ウィンドウ右上の座標が含まれる．

た OpenFlow コントローラでは，帯域情報を元に，現在

図 7 は，タイルドディスプレイとウィンドウの模式図

パケット量などのトラフィック量の少ない経路を選択し，である．移動先の座標 (x1 , y1 , x2 , y2 ) を指定するこフォワーディングルート情報に追記する．その情報を元にとでサイズ変更，移動が可能となる．座標の単位はピOpenFlow スイッチは経路変更を行う．経路選択に必要なクセルで表され，絶対座標であるため，この座標によ情報としては，経路におけるトラフィック量が挙げられる

りどのディスプレイにどれだけの画面割合になるかがが，トラフィック量の集計機能はトポロジ管理機能にネッわかる．

ⓒ 2013 Information Processing Society of Japan5

Vol.2013-HPC-140 No.22
2013/8/1

情報処理学会研究報告
IPSJ SIG Technical Reportb) ネットワーク帯域情報集収集機能なく詰めていくような高度な経路決定方式の方がより適切

先行研究にて開発したトポロジ管理機能は，５秒毎にな場合もあると考えられる．またネットワーク切り替え時ネットワークトポロジの情報を収集している．収集すにおいても，ネットワーク通信の継続性を考慮せず，コンる情報は OpenFlow スイッチで構成された IP アドレトローラから各スイッチに一斉に切り替えの制御を行なっス，レイテンシなどの情報に加え，トラフィック量をているが，切り替えのタイミングで多少のパケットロスな収集するよう変更を加えた．

どを生じさせている可能性がある．今後はこのような状況

c) 帯域情報b) によって収集した情報は，グラフとして保存する．

も計測・考察し，更なる高度なネットワーク制御の実現を目指す．

そこに重みづけとして，ネットワーク帯域からトラ謝辞 本研究は，独立行政法人情報通信研究機構 (NICT)

フィック量を引いた空いている帯域を算出している．の委託研究「仮想分散コンピューティング・データ流通技３点の IP アドレス間の取得した重みつきグラフの例

術の研究」の支援に基づき推進している．

を図 8 に示す．グラフは有向グラフで示しており，空いている帯域を Byte 単位で表している．トラフィッ

参考文献

ク量については両方向のトラフィックの総量としてい[1]

るため，どちらの向きも同じ値が設定されている．

d) 帯域情報における最短経路探索機能a) のウィンドウリサイズ通知機能から通知をもらう[2]と，c) の帯域情報を元に最短経路を算出し，最も空いている経路への経路変更を行う．

OpenFlow スイッチを制御するための OpenFlow コント
ローラソフトウェアはいくつかある．その多くはフレームワークとして提供され，開発者は OpenFlow コントローラ[3]の制御部分のみのソースコードを書くだけで，OpenFlowコントローラとして動作することができる．その１つがTrema[6] である．Trema は主に Ruby 言語で開発され，開発者は Ruby 言語，もしくは C 言語，C++で制御部分を[4]記述できる．Trema は開発用のフレームワークであるためテスト用に仮想 OpenFlow スイッチ環境も用意している．

[5]

今回の実装ではこれらを利用し開発を行った．

4. まとめと今後の課題
本研究では，SAGE によるタイルドディスプレイ上で，[6]

Fujitani, H., Tanida, Y. and Matsuura, A.: Massively
Parallel Computation of Absolute Binding Free Energy
with Well-Equilibrated States, Phys. Rev. E, 79, 021914,(2009).
Watanabe H., Tanaka, S., Okimoto, N., Hasegawa, A.,
Taiji, M., Tanida, Y., Mitsui, T., Katsuyama, M. and Fujitani, H.: Comparison of binding aﬃnity evaluations for
FKBP ligands with state-of-the-art computational methods: FMO, QM/MM, MM-PB/SA and MP-CAFEE
approaches, Chem-Bio Informatics Journal, Vol. 10,
pp.32–45, (2010).
Leigh, J., Johnson, A., Renambot, L., Peterka, T.,
Jeong, B., Sandin, D., Talandis, J., Jagodic, R., Nam,S., Hur, H. and Sun, Y.: Scalable Resolution Display
Walls, Proc. of the IEEE, Vol. 101, Issue 1, pp.115–129,(2013).
The Open Flow Switch Specification, Version 1.1.0,
http://www.openflow.org/documents/openflow-specv1.1.0.pdf, (2011).
Furuichi, T., Date, S., Yamanaka, H., Ichikawa, K., Abe,H., Takemura, H. and Kawai, E.: A Prototype of Network Failure Avoidance Functionality for SAGE using
OpenFlow, Proc. of IEEE 36th International Conference on Computer Software and Applications Workshops, pp.88–93, (2012).
Trema, http://trema.github.io/trema/

ユーザインタラクションによって変動するネットワークパラメータと連動させ，SDN を応用したネットワーク制御技術により，ネットワークを効率的に利用した大規模可視化を実現することを目的として研究開発を進めてきた．本稿
ではユーザのウィンドウ操作に伴うストリーミング通信のネットワーク流量の急激な変化に追従し，ネットワーク輻輳を避けるために最も空き帯域が確保できるネットワーク経路を通るよう経路の探索と切り替えを実現する仕組みについて提案した．
今回の提案はプロトタイプ実装であり，OpenFlow ス
イッチは Trema 附属の仮想 OpenFlow スイッチを用いているため，今後は実機での計測が必要となる．また，ネットワーク経路探索のポリシとして，今回は最も空きのある帯域を優先するという単純な手法を取っている．しかし，ネットワークの利用効率向上の観点からは，各ストリーミング通信の通信量を正確に見積もり，利用可能帯域に無駄ⓒ 2013 Information Processing Society of Japan6