Mercurial > hg > Papers > 2020 > riono-thesis
view riono-thesis.mm @ 35:a95ea8f61214
update Slide and mid
author | riono <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 16 Feb 2020 22:52:07 +0900 |
parents | 74d52d516312 |
children |
line wrap: on
line source
<map version="1.0.1"> <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> <node CREATED="1580926251334" ID="ID_1941638703" MODIFIED="1580926577156" TEXT="画面配信システムTreeVNCのマルチキャスト対応"> <node CREATED="1580926439588" ID="ID_692545468" MODIFIED="1580927700219" POSITION="right" TEXT="研究背景"/> <node CREATED="1580926447044" ID="ID_552617859" MODIFIED="1580927716327" POSITION="right" TEXT="TreeVNCの基本概念"> <node CREATED="1581237394493" ID="ID_1349185621" MODIFIED="1581237401818" TEXT="VNCとは"/> <node CREATED="1581237411833" ID="ID_44150844" MODIFIED="1581237417332" TEXT="RFBプロトコル"> <node CREATED="1581237423280" ID="ID_646242109" MODIFIED="1581237423280" TEXT=""/> </node> <node CREATED="1581237402430" ID="ID_387914004" MODIFIED="1581237410872" TEXT="TreeVNCとは"> <node CREATED="1581323738749" ID="ID_356683904" MODIFIED="1581323750107" TEXT="VNCを利用して画面配信"/> </node> <node CREATED="1581237480731" ID="ID_1046658996" MODIFIED="1581237489827" TEXT="TreeStructure"/> <node CREATED="1581323704474" ID="ID_165505969" MODIFIED="1581323725571" TEXT="Node間の通信経路"/> <node CREATED="1581253082557" ID="ID_1714178578" MODIFIED="1581253125135" TEXT="メッセージ通信(プロトコル)"/> <node CREATED="1581253072194" ID="ID_248284930" MODIFIED="1581253075600" TEXT="再構成"> <node CREATED="1581321233594" ID="ID_1356779517" MODIFIED="1581321262047" TEXT="MulticastQueueを利用して検知"/> <node CREATED="1581321763264" ID="ID_520896125" MODIFIED="1581321771468" TEXT="メッセージ通信を利用"/> </node> <node CREATED="1581237417661" ID="ID_461407797" MODIFIED="1581237422871" TEXT="UpdateRectangle"> <node CREATED="1581238660546" ID="ID_1784423771" MODIFIED="1581238666165" TEXT="圧縮形式"> <node CREATED="1581238785261" ID="ID_1471975800" MODIFIED="1581238795962" TEXT="ZRLE"> <node CREATED="1581517294185" ID="ID_748832937" MODIFIED="1581517312731" TEXT="とは Zlib run length encoding"/> </node> <node CREATED="1581238796711" ID="ID_1608135079" MODIFIED="1581238799700" TEXT="ZRLEE"> <node CREATED="1581581132773" ID="ID_156833284" MODIFIED="1581581144161" TEXT="64*64のTile分割"/> </node> </node> </node> <node CREATED="1581237491121" ID="ID_1312560790" MODIFIED="1581237502156" TEXT="ShareScreen"/> <node CREATED="1581580586272" ID="ID_1888266375" MODIFIED="1581617775724" TEXT="複数のネットワーク接続時の木の構成"/> </node> <node CREATED="1580927716648" ID="ID_4678920" MODIFIED="1580927734514" POSITION="right" TEXT="Multicastの導入"/> <node CREATED="1580927735309" ID="ID_457187552" MODIFIED="1580927741703" POSITION="right" TEXT="Blockingの手法"> <node CREATED="1581580704582" ID="ID_1024302905" MODIFIED="1581581055406" TEXT="有線接続と無線接続の違い"> <node CREATED="1581581199650" ID="ID_1429909220" MODIFIED="1581581229650" TEXT="木構造マルチキャストの共存"/> </node> <node CREATED="1581581055942" ID="ID_630342983" MODIFIED="1581581076180" TEXT="UpdateRectangleの構成"> <node CREATED="1581591179689" ID="ID_1334851042" MODIFIED="1581591185747" TEXT="先行研究"> <node CREATED="1581591189182" ID="ID_194833918" MODIFIED="1581591201877" TEXT="1ラインで半分、半分"/> </node> <node CREATED="1581581091049" ID="ID_108796196" MODIFIED="1581674778859" TEXT="Rectangleの個数が1個から1~3個になる"> <node CREATED="1581581176641" ID="ID_1331144395" MODIFIED="1581581193708" TEXT="各Phaseの説明"/> </node> </node> <node CREATED="1581581779321" ID="ID_675537287" MODIFIED="1581581784763" TEXT="TileLoopの説明"> <node CREATED="1581581832167" ID="ID_535530605" MODIFIED="1581581868617" TEXT="ex: フロー図を描く?"/> <node CREATED="1581580289617" ID="ID_1404765388" MODIFIED="1581580714225" TEXT="ex:MulticastPutのコード貼る?"/> </node> <node CREATED="1581590989597" ID="ID_1277778866" MODIFIED="1581590995262" TEXT="パケットロストについて"/> </node> <node CREATED="1581578986016" ID="ID_953146837" MODIFIED="1581582025419" POSITION="right" TEXT="TreeVNCの修正"> <node CREATED="1581579001483" ID="ID_460490271" MODIFIED="1581579012139" TEXT="Gradleの最新版対応"/> <node CREATED="1581579013064" ID="ID_972768773" MODIFIED="1581579025263" TEXT="RetinaAPIをjava11に対応"> <node CREATED="1581674752142" ID="ID_806190282" MODIFIED="1581674758241" TEXT="Retinaディスプレイとは"/> <node CREATED="1581674784897" ID="ID_289765074" MODIFIED="1581674793525" TEXT="javaのAPI"> <node CREATED="1581674794092" ID="ID_636793795" MODIFIED="1581674815909" TEXT="java8以前とjava9以降でAPIが変更された"/> </node> <node CREATED="1581579888471" ID="ID_1588121025" MODIFIED="1581581880187" TEXT="ex: 変更したコードを貼る"/> </node> <node CREATED="1581579027357" ID="ID_1166848043" MODIFIED="1581579046272" TEXT="-p オプションでデバッグ可能になった"/> </node> <node CREATED="1580927837214" ID="ID_1190992597" MODIFIED="1580927838740" POSITION="right" TEXT="まとめ"/> <node CREATED="1580927830953" ID="ID_1696202328" MODIFIED="1580927835082" POSITION="right" TEXT="今後の課題"/> <node CREATED="1581755907546" ID="ID_1094708569" MODIFIED="1581755913550" POSITION="right" TEXT="参考文献"/> <node CREATED="1580926479244" ID="ID_1776949375" MODIFIED="1580926485691" POSITION="left" TEXT="はじめに"> <node CREATED="1580926679913" ID="ID_588307821" MODIFIED="1580926708256" TEXT="講義等ではPCを使ってスライドに画面を写すことが多い"/> <node CREATED="1580926708638" ID="ID_636674716" MODIFIED="1580926739484" TEXT="アダプタが異なったり、PCとプロジェクタの相性が悪い場合などがある"> <node CREATED="1580926747455" ID="ID_1997999512" MODIFIED="1580926770073" TEXT="そのような問題を解決する1つの手法の提案"/> </node> <node CREATED="1580926739783" ID="ID_201563926" MODIFIED="1580926786412" TEXT="TreeVNCの開発を行っている"> <node CREATED="1580926786787" ID="ID_991020694" MODIFIED="1580926840986" TEXT="javaで書かれているため物理的な条件に左右されることなく画面共有が可能である"/> <node CREATED="1580926843545" ID="ID_1931549475" MODIFIED="1580926885813" TEXT="プロジェクタではなく手元のPCに画面共有を行うことによって、画面のみをみながら作業が可能である"/> </node> <node CREATED="1580926967337" ID="ID_476233706" MODIFIED="1580927065335" TEXT="現状の課題として有線接続時安定している"> <node CREATED="1580971804754" ID="ID_1405941532" MODIFIED="1580971839420" TEXT="データ量が多いため無線だと遅延が生じる"/> </node> <node CREATED="1580971795911" ID="ID_451320498" MODIFIED="1580971870820" TEXT="無線でも安定してデータを送信できるようにする"> <node CREATED="1580971871398" ID="ID_1174749053" MODIFIED="1580971981619" TEXT="そのために、wifiのマルチキャスト機能を使い、データの分割・圧縮方法を見直す"> <node CREATED="1580971982119" ID="ID_470445643" MODIFIED="1580972035297" TEXT="そうすることで、無線接続時でも遅延等がなく画面共有を可能にする"/> <node CREATED="1580972038055" ID="ID_1197450399" MODIFIED="1580972059356" TEXT="また、分割・圧縮方法の評価を行う"/> </node> </node> <node CREATED="1581253444826" ID="ID_1341558345" MODIFIED="1581253456000" TEXT="ほかのソフトウェアってどうなん?"> <node CREATED="1581253458004" ID="ID_469212668" MODIFIED="1581253462270" TEXT="AppleTV"/> <node CREATED="1581253462719" ID="ID_852388362" MODIFIED="1581253469430" TEXT="Ustream"/> </node> </node> <node CREATED="1580926486191" ID="ID_288977665" MODIFIED="1580926492633" POSITION="left" TEXT="TreeVNCとは"> <node CREATED="1580926942137" ID="ID_314997651" MODIFIED="1580972407692" TEXT="これまでのTreeVNCの基本概念"> <node CREATED="1580972408553" ID="ID_94596650" MODIFIED="1580972421852" TEXT="サーバ・クライアント型"/> <node CREATED="1580926493578" ID="ID_1438032278" MODIFIED="1580926502585" TEXT="RFBプロトコル"> <node CREATED="1580926505468" ID="ID_1235747508" MODIFIED="1581006703920" TEXT="長方形で更新部分を切り替え"/> </node> <node CREATED="1581006517822" ID="ID_1953623524" MODIFIED="1581006534999" TEXT="様々な通信プロトコルとメッセージ通信"> <node CREATED="1581321099338" ID="ID_320804222" MODIFIED="1581321107372" TEXT="Node切断検知"/> <node CREATED="1581321108026" ID="ID_1245354843" MODIFIED="1581321113241" TEXT="RFBの更新"/> </node> <node CREATED="1580972445714" ID="ID_204117085" MODIFIED="1580972496438" TEXT="TreeStructure(木構造)"> <node CREATED="1580972530140" ID="ID_209017767" MODIFIED="1580972603043" TEXT="バイナリツリー状とも"/> <node CREATED="1580972506779" ID="ID_958142799" MODIFIED="1580972551762" TEXT="各ノードはデータを最大2回子ノードに転送するだけで良い"/> <node CREATED="1580972619834" ID="ID_1977429427" MODIFIED="1580972655203" TEXT="RootのノードをRoot Node、Root Nodeに接続されるノードをNodeと呼ぶ"/> <node CREATED="1580972629763" ID="ID_1831844931" MODIFIED="1581006546986" TEXT="再構成"> <node CREATED="1581320970060" ID="ID_493454994" MODIFIED="1581320992024" TEXT="切断検知にMulticastQueueを使用"/> <node CREATED="1581320999290" ID="ID_1805242207" MODIFIED="1581321013200" TEXT="メッセージ通信でRootに知らせる"/> </node> </node> <node CREATED="1580972823274" ID="ID_1222074958" MODIFIED="1580972891727" TEXT="画面の圧縮・送信方法"> <node CREATED="1580972854982" ID="ID_489015864" MODIFIED="1580972864093" TEXT="データの圧縮方法"> <node CREATED="1580972468428" ID="ID_497222401" MODIFIED="1581006013149" TEXT="ZRLE"/> <node CREATED="1580972741701" ID="ID_59180367" MODIFIED="1580972745872" TEXT="ZRLEE"/> </node> </node> <node CREATED="1581006561711" ID="ID_1115915541" MODIFIED="1581321030852" TEXT="ShareScreen"> <node CREATED="1581006575103" ID="ID_662382634" MODIFIED="1581006606113" TEXT="サーバーを立て直すことなくRootNodeの切り替えを行うことで画面切り替えを実現している"/> </node> </node> <node CREATED="1580972138303" ID="ID_1699294426" MODIFIED="1581006128968" TEXT="今回設計するTreeVNC"> <node CREATED="1581006849387" ID="ID_689949897" MODIFIED="1581580842731" TEXT="有線と無線の違い"> <node CREATED="1581580884370" ID="ID_1614997699" MODIFIED="1581580897837" TEXT="1回で送信できるデータ量に制限がある"/> <node CREATED="1581585700884" ID="ID_998861523" MODIFIED="1581586054262" TEXT="VNCサーバ側(配信側)が無線で"/> </node> <node CREATED="1581006799890" ID="ID_664832366" MODIFIED="1581006848789" TEXT="パケットロスト"> <node CREATED="1581006851477" ID="ID_440308584" MODIFIED="1581006865847" TEXT="wifiなのでパケットが落ちる可能性がある"/> <node CREATED="1581006866650" ID="ID_1027107038" MODIFIED="1581006913058" TEXT="再送処理は実装が複雑である"> <node CREATED="1581006883852" ID="ID_727521301" MODIFIED="1581006902983" TEXT="一定時間で全画面を送信することでパケットロストに対応する"/> </node> </node> <node CREATED="1581580847680" ID="ID_1957703225" MODIFIED="1581580862176" TEXT="UpdateRectangleの構成を変える"> <node CREATED="1581006166891" ID="ID_1328359305" MODIFIED="1581006647986" TEXT="Blocking"> <node CREATED="1581006801761" ID="ID_131044893" MODIFIED="1581006813529" TEXT="データが大きいと遅延が起こる"/> <node CREATED="1581006759051" ID="ID_1942933589" MODIFIED="1581006793797" TEXT="更新部分のRectangleをさらにphaseで分割"/> </node> </node> <node CREATED="1581006132547" ID="ID_1283469608" MODIFIED="1581006165955" TEXT="wifiで接続しているNodeに対してマルチキャストで画面データを送信する"> <node CREATED="1581006932829" ID="ID_1199079922" MODIFIED="1581006949185" TEXT="有線はこれまで通りTreeStructureで行う"/> <node CREATED="1581580751565" ID="ID_1346689312" MODIFIED="1581580769667" TEXT="INITデータはTreeStructureで送信される"/> </node> </node> </node> <node CREATED="1580926577657" ID="ID_1208584088" MODIFIED="1580926589549" POSITION="left" TEXT="やったこと"> <node CREATED="1580926636276" ID="ID_712918922" MODIFIED="1580926648759" TEXT="ブロッキング"> <node CREATED="1581702631982" ID="ID_1651247247" MODIFIED="1581702651314" TEXT="TileLoop"> <node CREATED="1581702604972" ID="ID_1799124077" MODIFIED="1581702629846" TEXT="64*64=1tileごとにforループを回している"> <node CREATED="1581702669069" ID="ID_460667149" MODIFIED="1581702710489" TEXT="42000Byteで一旦limitにしていっぱいになったら余分を開ける"/> <node CREATED="1581702815143" ID="ID_919943377" MODIFIED="1581702840577" TEXT="通常はSYNC_FLUSHする"/> <node CREATED="1581702788317" ID="ID_1677058247" MODIFIED="1581702814616" TEXT="行の最後に行ったらFuULL_FLUSHする"/> <node CREATED="1581702896106" ID="ID_1702213705" MODIFIED="1581702926483" TEXT="offset取得"/> </node> <node CREATED="1581705399245" ID="ID_503298924" MODIFIED="1581705407844" TEXT="パケットを構成している"/> <node CREATED="1581702654604" ID="ID_859970939" MODIFIED="1581702753435" TEXT="c1rectというrectを構成しながらroopを回している"> <node CREATED="1581702764574" ID="ID_1318572487" MODIFIED="1581702780401" TEXT="c1rectはheaderになる"/> </node> <node CREATED="1581708014145" ID="ID_1268268133" MODIFIED="1581708042696" TEXT="Zlipでは後残りどのくらいというのが出ない"/> </node> </node> <node CREATED="1580926590109" ID="ID_432214879" MODIFIED="1581670942062" TEXT="Gradleの最新版(6.1)に対応"> <node CREATED="1581670942607" ID="ID_1787037031" MODIFIED="1581670954736" TEXT="これまでは4.8だった"/> </node> <node CREATED="1580926604757" ID="ID_440901689" MODIFIED="1580926618662" TEXT="RetinaAPIをjava11に対応"> <node CREATED="1581674936569" ID="ID_639861613" MODIFIED="1581674956846" TEXT="液晶ディスプレイよりも細かく描画される"/> <node CREATED="1581674957829" ID="ID_275455912" MODIFIED="1581674983188" TEXT="TreeVNCでも判断が必要"> <node CREATED="1581674994973" ID="ID_1749871398" MODIFIED="1581675005766" TEXT="通常のディスプレイとは異なるため"/> </node> <node CREATED="1581675056324" ID="ID_408533724" MODIFIED="1581675068551" TEXT="java9以上より非推奨のAPIを使っていた"/> </node> <node CREATED="1581426652807" ID="ID_390140448" MODIFIED="1581426663644" TEXT="デバッグ環境を整えた"> <node CREATED="1581426664019" ID="ID_1878703111" MODIFIED="1581426668359" TEXT="-p オプション"/> <node CREATED="1581675109254" ID="ID_420471956" MODIFIED="1581675125988" TEXT="ディスプレイ選択ルーチンを含んでいなかった"> <node CREATED="1581675146140" ID="ID_1626771715" MODIFIED="1581675161088" TEXT="デバッグ時にディスプレイを持っているかわからなかった"> <node CREATED="1581675127344" ID="ID_770215795" MODIFIED="1581675144894" TEXT="デバッグしている時点で確実にディスプレイはある"/> </node> </node> <node CREATED="1581675181104" ID="ID_1798436804" MODIFIED="1581675206834" TEXT="サーバとクライアントを二つ立ち上げて接続を行う必要がなくなった"/> </node> </node> <node CREATED="1580926503596" ID="ID_897446703" MODIFIED="1580926564774" POSITION="left" TEXT="今後の課題"> <node CREATED="1581006615333" ID="ID_1685770077" MODIFIED="1581006629545" TEXT="なぜきちんと動かなかったのか"/> <node CREATED="1581580787364" ID="ID_1892578207" MODIFIED="1581580807636" TEXT="MulticastPacketにして送信する"/> </node> <node CREATED="1581580212005" ID="ID_1576561703" MODIFIED="1581580215582" POSITION="right" TEXT="付録"> <node CREATED="1581580229848" ID="ID_1678283284" MODIFIED="1581580246386" TEXT="sigosの論文"/> <node CREATED="1581580246795" ID="ID_1185515363" MODIFIED="1581580266770" TEXT="卒論発表のスライド資料"/> </node> </node> </map>