Mercurial > hg > Papers > 2019 > oshiro-thesis
changeset 32:e2ec8297e712
update slide
author | e155702 |
---|---|
date | Wed, 20 Feb 2019 14:36:21 +0900 |
parents | 5a1feea4ef51 |
children | c9142e57399f |
files | final_main/fig/interface-crop.pdf final_main/fig/interface.graffle final_main/fig/interface.pdf final_pre/main.pdf final_pre/main.tex slide/fig/interface-crop.svg slide/slide.html slide/slide.md slide/slide.pdf.html |
diffstat | 9 files changed, 238 insertions(+), 162 deletions(-) [+] |
line wrap: on
line diff
--- a/final_pre/main.tex Wed Feb 20 12:45:47 2019 +0900 +++ b/final_pre/main.tex Wed Feb 20 14:36:21 2019 +0900 @@ -88,12 +88,7 @@ \section{画像データの Blocking} -画像データはサイズが膨大で、送信する際に一度では送れないので分割して送られる。しかし、無線接続では有線接続よりも送信できるデータ量が少ないため、さらに分割する必要がある。 -そこでデータを再分割する手法として Blocking を実装した。 - -%Blocking の流れ - -TreeVNC ではデータを解凍する際、画面を分割し、一単位 64 * 64 サイズのタイルに見立て行っている(図\ref{fig:tiling})。あらかじめサイズを設定しデータの解凍を行うことで、手順が一般化し簡素化することが可能となる。 +画像データはサイズが膨大で、送信する際に一度では送れないので分割して送られる。TreeVNC ではデータを圧縮する際、画面を分割し、一単位 64 * 64 サイズのタイルに見立て行っている(図\ref{fig:tiling})。 \begin{figure}[htbp] \begin{center} @@ -103,6 +98,13 @@ \label{fig:tiling} \end{figure} +しかし、無線接続では有線接続よりも送信できるデータ量が少ないため、さらに分割する必要がある。 +そこでデータを再分割する手法として Blocking を実装した。 + +FrameBufferUpdate で受け取った部分を更新 +更新部分の最大値を保持 +幅 width * bytePerPixel (1ピクセルあたりのデータ量) ずつ deflate していき、書き込み用に用意した関数の残り値を超える直前に関数に全て書き込み、header などを添付して他のクラスに渡す +Indexをインクリメントしていき最大値になったら停止 Blocking 実装後 VNCServer とクライアントの接続を行ったところ、十分な転送速度を確認できた。
--- a/slide/fig/interface-crop.svg Wed Feb 20 12:45:47 2019 +0900 +++ b/slide/fig/interface-crop.svg Wed Feb 20 14:36:21 2019 +0900 @@ -71,286 +71,277 @@ id="path56" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="M 737.0079,171.4961 H 510.2362" /></g><g - transform="matrix(0.9,0,0,-0.9,323.6775,370.1863)" + transform="matrix(0.9,0,0,-0.9,170.1709,347.5091)" id="g58"><text id="text62" style="font-variant:normal;font-weight:normal;font-size:25px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - transform="translate(-48.375,9.150002)"><tspan + transform="translate(-13.6625,9.150002)"><tspan id="tspan60" y="0" - x="0 5.5500002 19.450001 27.325001 40.75 49.075001 56.474998 69.900002 83.324997">interface</tspan></text> -</g><g - transform="matrix(0.9,0,0,-0.9,170.1709,347.5091)" - id="g64"><text - id="text68" - style="font-variant:normal;font-weight:normal;font-size:25px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - transform="translate(-13.6625,9.150002)"><tspan - id="tspan66" - y="0" x="0 13.425">en</tspan></text> </g><g transform="matrix(0.9,0,0,-0.9,637.3594,347.5091)" - id="g70"><text - id="text74" + id="g64"><text + id="text68" style="font-variant:normal;font-weight:normal;font-size:25px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(-29.1625,9.150002)"><tspan - id="tspan72" + id="tspan66" y="0" x="0 23.15 28.700001 38.424999 52.775002">Wi-Fi</tspan></text> </g><path + id="path70" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 339.3071,305.2729 h 51.0236 v 12.7559 h -51.0236 z" /><g + transform="matrix(0.9,0,0,-0.9,0,482.58)" + id="g72"><path + id="path74" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 377.0079,197.0079 h 56.6929 v -14.1733 h -56.6929 z" /></g><path id="path76" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 339.3071,305.2729 h 51.0236 v 12.7559 h -51.0236 z" /><g + d="M 339.3071,324.4068 V 298.895" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g78"><path id="path80" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 377.0079,197.0079 h 56.6929 v -14.1733 h -56.6929 z" /></g><path + d="m 377.0079,175.748 v 28.3465" /></g><path id="path82" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 339.3071,324.4068 V 298.895" /><g + d="M 390.3307,324.4068 V 298.895" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g84"><path id="path86" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 377.0079,175.748 v 28.3465" /></g><path + d="m 433.7008,175.748 v 28.3465" /></g><path id="path88" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 390.3307,324.4068 V 298.895" /><g + d="m 332.0297,307.8522 v 7.5973 h -51.7045 v 3.7987 l -9.9,-7.5973 9.9,-7.5973 v 3.7986 z" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g90"><path id="path92" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 433.7008,175.748 v 28.3465" /></g><path + d="m 368.9219,194.142 v -8.4415 h -57.4495 v -4.2207 l -11,8.4415 11,8.4414 v -4.2207 z" /></g><path id="path94" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 332.0297,307.8522 v 7.5973 h -51.7045 v 3.7987 l -9.9,-7.5973 9.9,-7.5973 v 3.7986 z" /><g + d="M 357.1653,328.2335 H 153.0709" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g96"><path id="path98" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 368.9219,194.142 v -8.4415 h -57.4495 v -4.2207 l -11,8.4415 11,8.4414 v -4.2207 z" /></g><path + d="M 396.8504,171.4961 H 170.0787" /></g><path id="path100" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 357.1653,328.2335 H 153.0709" /><g + d="M 384.1573,374.5749 357.1655,327.8237" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g102"><path id="path104" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="M 396.8504,171.4961 H 170.0787" /></g><path + d="m 426.8415,120.0057 -29.9909,51.9458" /></g><path id="path106" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 384.1573,374.5749 357.1655,327.8237" /><g + d="m 433.701,374.5749 26.9918,-46.7512" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g108"><path id="path110" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 426.8415,120.0057 -29.9909,51.9458" /></g><path + d="m 481.89,120.0057 29.9909,51.9458" /></g><path id="path112" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 433.701,374.5749 26.9918,-46.7512" /><g + d="M 255.1181,328.0291 V 277.0055" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g114"><path id="path116" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 481.89,120.0057 29.9909,51.9458" /></g><path + d="m 283.4646,171.7232 v 56.6929" /></g><path id="path118" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 255.1181,328.0291 V 277.0055" /><g + d="M 561.2598,328.0291 V 277.0055" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g120"><path id="path122" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 283.4646,171.7232 v 56.6929" /></g><path + d="m 623.622,171.7232 v 56.6929" /></g><path id="path124" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 561.2598,328.0291 V 277.0055" /><g + d="M 502.5826,376.706 H 451.559 v -12.7559 h 51.0236 z" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g126"><path id="path128" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 623.622,171.7232 v 56.6929" /></g><path + d="m 558.4252,117.6378 h -56.693 v 14.1732 h 56.693 z" /></g><path id="path130" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 502.5826,376.706 H 451.559 v -12.7559 h 51.0236 z" /><g + d="m 502.5826,357.5721 v 25.5118" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g132"><path id="path134" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 558.4252,117.6378 h -56.693 v 14.1732 h 56.693 z" /></g><path + d="M 558.4252,138.8976 V 110.5512" /></g><path id="path136" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 502.5826,357.5721 v 25.5118" /><g + d="m 451.559,357.5721 v 25.5118" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g138"><path id="path140" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="M 558.4252,138.8976 V 110.5512" /></g><path + d="M 501.7323,138.8976 V 110.5512" /></g><path id="path142" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 451.559,357.5721 v 25.5118" /><g + d="m 484.3005,357.6745 -3.7986,-6.5795 23.1162,-13.3461 -1.8993,-3.2898 12.3723,1.6295 -4.775,11.5294 -1.8993,-3.2897 z" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g144"><path id="path146" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="M 501.7323,138.8976 V 110.5512" /></g><path - id="path148" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 484.3005,357.6745 -3.7986,-6.5795 23.1162,-13.3461 -1.8993,-3.2898 12.3723,1.6295 -4.775,11.5294 -1.8993,-3.2897 z" /><g - transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g150"><path - id="path152" - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 538.1117,138.7839 -4.2207,7.3105 25.6847,14.8291 -2.1103,3.6552 13.7469,-1.8105 -5.3055,-12.8105 -2.1104,3.6553 z" /></g><g transform="matrix(0.9,0,0,-0.9,365.5842,288.3926)" - id="g154"><text - id="text158" + id="g148"><text + id="text152" style="font-variant:normal;font-weight:normal;font-size:20px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(-30.93,7.220001)"><tspan - id="tspan156" + id="tspan150" y="0" x="0 12.96 23.700001 34.439999 44.82 55.560001">Packet</tspan></text> </g><path - id="path160" + id="path154" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 275.801,225.6714 c 12.1079,12.0819 12.1079,31.6706 0,43.7526 -12.1078,12.082 -31.7383,12.082 -43.8461,0 -12.1079,-12.082 -12.1079,-31.6707 0,-43.7526 12.1078,-12.0821 31.7383,-12.0821 43.8461,0" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g162"><path - id="path164" + id="g156"><path + id="path158" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1" d="m 306.4456,285.454 c 13.4531,-13.4244 13.4531,-35.1896 0,-48.614 -13.4531,-13.4245 -35.2649,-13.4245 -48.718,0 -13.4531,13.4244 -13.4531,35.1896 0,48.614 13.4531,13.4245 35.2649,13.4245 48.718,0" /></g><g transform="matrix(0.9,0,0,-0.9,253.8779,247.5477)" + id="g160"><text + id="text164" + style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" + transform="translate(-15.036,-3.391998)"><tspan + id="tspan162" + y="0" + x="0 9.5900002 17.625999 25.662001 30.072001">Root </tspan></text> +</g><g + transform="matrix(0.9,0,0,-0.9,253.8779,247.5477)" id="g166"><text id="text170" style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - transform="translate(-15.036,-3.391998)"><tspan + transform="translate(-16.982,13)"><tspan id="tspan168" y="0" - x="0 9.5900002 17.625999 25.662001 30.072001">Root </tspan></text> -</g><g - transform="matrix(0.9,0,0,-0.9,253.8779,247.5477)" - id="g172"><text - id="text176" - style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" - transform="translate(-16.982,13)"><tspan - id="tspan174" - y="0" x="0 10.108 18.143999 26.445999">Node</tspan></text> </g><path - id="path178" + id="path172" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 220.266,121.9991 c 12.4538,12.4537 12.4538,32.6451 0,45.0989 -12.4537,12.4537 -32.6452,12.4537 -45.0989,0 -12.4538,-12.4538 -12.4538,-32.6452 0,-45.0989 12.4537,-12.4538 32.6452,-12.4538 45.0989,0" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g180"><path - id="path182" + id="g174"><path + id="path176" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 244.74,400.6455 c 13.8375,-13.8375 13.8375,-36.2724 0,-50.1099 -13.8375,-13.8375 -36.2724,-13.8375 -50.1099,0 -13.8375,13.8375 -13.8375,36.2724 0,50.1099 13.8375,13.8375 36.2724,13.8375 50.1099,0" /></g><g transform="matrix(0.9,0,0,-0.9,197.7165,144.5485)" - id="g184"><text - id="text188" + id="g178"><text + id="text182" style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(-22.82,4.804001)"><tspan - id="tspan186" + id="tspan180" y="0" x="0 10.108 18.143999 26.445999 33.964001 37.855999">Node 1</tspan></text> </g><path + id="path184" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 234.4176,222.9629 205.6612,173.2838" /><g + transform="matrix(0.9,0,0,-0.9,0,482.58)" + id="g186"><path + id="path188" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 260.464,288.4635 -31.9516,55.199" /></g><path id="path190" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="M 234.4176,222.9629 205.6612,173.2838" /><g + d="m 335.0691,121.9991 c 12.4538,12.4537 12.4538,32.6451 0,45.0989 -12.4537,12.4537 -32.6451,12.4537 -45.0989,0 -12.4537,-12.4538 -12.4537,-32.6452 0,-45.0989 12.4538,-12.4538 32.6452,-12.4538 45.0989,0" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g192"><path id="path194" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 260.464,288.4635 -31.9516,55.199" /></g><path - id="path196" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 335.0691,121.9991 c 12.4538,12.4537 12.4538,32.6451 0,45.0989 -12.4537,12.4537 -32.6451,12.4537 -45.0989,0 -12.4537,-12.4538 -12.4537,-32.6452 0,-45.0989 12.4538,-12.4538 32.6452,-12.4538 45.0989,0" /><g - transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g198"><path - id="path200" - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 372.299,400.6455 c 13.8376,-13.8375 13.8376,-36.2724 0,-50.1099 -13.8374,-13.8375 -36.2724,-13.8375 -50.1098,0 -13.8376,13.8375 -13.8376,36.2724 0,50.1099 13.8374,13.8375 36.2724,13.8375 50.1098,0" /></g><g transform="matrix(0.9,0,0,-0.9,312.5197,144.5485)" - id="g202"><text - id="text206" + id="g196"><text + id="text200" style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(-22.82,4.804001)"><tspan - id="tspan204" + id="tspan198" y="0" x="0 10.108 18.143999 26.445999 33.964001 37.855999">Node 2</tspan></text> </g><path + id="path202" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 273.7393,222.9973 28.7008,-49.7112" /><g + transform="matrix(0.9,0,0,-0.9,0,482.58)" + id="g204"><path + id="path206" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="m 304.1548,288.4252 31.8897,55.2347" /></g><path id="path208" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 273.7393,222.9973 28.7008,-49.7112" /><g + d="m 500.8959,226.5975 c 12.4538,12.4537 12.4538,32.6452 0,45.0989 -12.4537,12.4538 -32.6452,12.4538 -45.0989,0 -12.4538,-12.4537 -12.4538,-32.6452 0,-45.0989 12.4537,-12.4538 32.6452,-12.4538 45.0989,0" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g210"><path id="path212" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="m 304.1548,288.4252 31.8897,55.2347" /></g><path - id="path214" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 500.8959,226.5975 c 12.4538,12.4537 12.4538,32.6452 0,45.0989 -12.4537,12.4538 -32.6452,12.4538 -45.0989,0 -12.4538,-12.4537 -12.4538,-32.6452 0,-45.0989 12.4537,-12.4538 32.6452,-12.4538 45.0989,0" /><g - transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g216"><path - id="path218" - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 556.551,284.425 c 13.8375,-13.8375 13.8375,-36.2724 0,-50.1099 -13.8375,-13.8375 -36.2724,-13.8375 -50.1099,0 -13.8375,13.8375 -13.8375,36.2724 0,50.1099 13.8375,13.8375 36.2724,13.8375 50.1099,0" /></g><g transform="matrix(0.9,0,0,-0.9,478.3464,249.1469)" - id="g220"><text - id="text224" + id="g214"><text + id="text218" style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(-22.82,4.804001)"><tspan - id="tspan222" + id="tspan216" y="0" x="0 10.108 18.143999 26.445999 33.964001 37.855999">Node 1</tspan></text> </g><path + id="path220" + style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="m 561.3983,328.2334 -82.065,-47.3803" /><g + transform="matrix(0.9,0,0,-0.9,0,482.58)" + id="g222"><path + id="path224" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" + d="M 623.7759,171.4962 532.5925,224.141" /></g><path id="path226" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 561.3983,328.2334 -82.065,-47.3803" /><g + d="m 582.5337,226.5975 c 12.4538,12.4537 12.4538,32.6452 0,45.0989 -12.4537,12.4538 -32.6452,12.4538 -45.0989,0 -12.4538,-12.4537 -12.4538,-32.6452 0,-45.0989 12.4537,-12.4538 32.6452,-12.4538 45.0989,0" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" id="g228"><path id="path230" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" - d="M 623.7759,171.4962 532.5925,224.141" /></g><path - id="path232" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - d="m 582.5337,226.5975 c 12.4538,12.4537 12.4538,32.6452 0,45.0989 -12.4537,12.4538 -32.6452,12.4538 -45.0989,0 -12.4538,-12.4537 -12.4538,-32.6452 0,-45.0989 12.4537,-12.4538 32.6452,-12.4538 45.0989,0" /><g - transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g234"><path - id="path236" - style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 647.2597,284.425 c 13.8375,-13.8375 13.8375,-36.2724 0,-50.1099 -13.8375,-13.8375 -36.2725,-13.8375 -50.1099,0 -13.8376,13.8375 -13.8376,36.2724 0,50.1099 13.8374,13.8375 36.2724,13.8375 50.1099,0" /></g><g transform="matrix(0.9,0,0,-0.9,559.9842,249.1469)" - id="g238"><text - id="text242" + id="g232"><text + id="text236" style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(-22.82,4.804001)"><tspan - id="tspan240" + id="tspan234" y="0" x="0 10.108 18.143999 26.445999 33.964001 37.855999">Node 2</tspan></text> </g><path - id="path244" + id="path238" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 666.7227,226.5975 c 12.4537,12.4537 12.4537,32.6452 0,45.0989 -12.4538,12.4538 -32.6452,12.4538 -45.0989,0 -12.4538,-12.4537 -12.4538,-32.6452 0,-45.0989 12.4537,-12.4538 32.6451,-12.4538 45.0989,0" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g246"><path - id="path248" + id="g240"><path + id="path242" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 740.803,284.425 c 13.8375,-13.8375 13.8375,-36.2724 0,-50.1099 -13.8375,-13.8375 -36.2724,-13.8375 -50.1099,0 -13.8375,13.8375 -13.8375,36.2724 0,50.1099 13.8375,13.8375 36.2724,13.8375 50.1099,0" /></g><g transform="matrix(0.9,0,0,-0.9,644.1732,249.1469)" - id="g250"><text - id="text254" + id="g244"><text + id="text248" style="font-variant:normal;font-weight:normal;font-size:14px;font-family:HelveticaNeue;-inkscape-font-specification:HelveticaNeue;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(-22.82,4.804001)"><tspan - id="tspan252" + id="tspan246" y="0" x="0 10.108 18.143999 26.445999 33.964001 37.855999">Node 3</tspan></text> </g><path - id="path256" + id="path250" style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 561.2598,328.2334 82.0651,-47.3803" /><g transform="matrix(0.9,0,0,-0.9,0,482.58)" - id="g258"><path - id="path260" + id="g252"><path + id="path254" style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1" d="m 623.622,171.4962 91.1835,52.6448" /></g></g></g></g></g></g></g></svg> \ No newline at end of file
--- a/slide/slide.html Wed Feb 20 12:45:47 2019 +0900 +++ b/slide/slide.html Wed Feb 20 14:36:21 2019 +0900 @@ -74,7 +74,7 @@ <td> <div align="left"> Yukiya OSHIRO - + 並列信頼研 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> </div> </td> @@ -86,7 +86,7 @@ <!-- === begin markdown block === generated by markdown/1.2.0 on Ruby 2.6.1 (2019-01-30) [x86_64-darwin17] - on 2019-02-20 12:41:05 +0900 with Markdown engine kramdown (2.0.0) + on 2019-02-20 14:35:43 +0900 with Markdown engine kramdown (2.0.0) using options {} --> <!-- <\!-- slideshow の command -\-> --> @@ -119,19 +119,31 @@ <li>クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない</li> <li>サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう</li> <li>画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう</li> - <li>有線接続時のデータ転送方法だと、無線接続で送信するには大きすぎる</li> + <li>現在の TreeVNC のデータ転送方法だと、無線接続で送信するには大きすぎる</li> </ul> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="section-1">目次</h2> +<h2 id="section-1">今回の発表</h2> <ul> - <li>TreeVNC の概要 + <li><del>クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない</del></li> + <li><del>サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう</del></li> + <li>画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう</li> + <li>現在の TreeVNC のデータ転送方法だと、無線接続で送信するには大きすぎる</li> +</ul> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="section-2">目次</h2> +<ul> + <li><strong>TreeVNC の概要</strong> <ul> - <li>基本概念</li> - <li>構造</li> + <li><strong>基本概念</strong></li> + <li><strong>構造</strong></li> </ul> </li> <li>研究内容 @@ -161,9 +173,10 @@ <ul> <li>VNC (Virtual Network Computing) は、RFB プロトコルを用いて PC の遠隔操作を行うことを目的としたリモートデスクトップソフトウェア</li> <li>サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている</li> + <li>全ての Node が一台のサーバーに接続するため負担が大きい</li> </ul> -<p><img src="./fig/vnc-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/vnc-crop.svg" alt="message" width="400" height="300" /></center> </div> <div class='slide '> @@ -188,13 +201,13 @@ <li>バイナリツリー状に接続することで、画像データのコピーを各 Node に負担させることができる</li> </ul> -<p><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="300" /></center> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="section-2">共有画面切り替え</h2> +<h2 id="section-3">共有画面切り替え</h2> <ul> <li>従来の VNC では、配信者が切り替わるたびに再起動、再接続を行う必要があった</li> <li>TreeVNC では、画面上にある ShareScreen ボタンを押すことで配信者の切り替えが実行できる</li> @@ -206,15 +219,35 @@ <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="multicast-">Multicast 対応</h2> +<h2 id="section-4">目次</h2> <ul> - <li>有線接続の Node で形成されたツリーに無線接続の Node を加えてしまうと通信の遅延が発生し、ツリー全体の配信遅延に繋がる</li> + <li>TreeVNC の概要 + <ul> + <li>基本概念</li> + <li>構造</li> + </ul> + </li> + <li><strong>研究内容</strong> + <ul> + <li><strong>TreeVNC の改良</strong></li> + <li><strong>送信データの Blocking</strong></li> + </ul> + </li> +</ul> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="multicast">Multicast</h2> +<ul> + <li>ツリーに無線接続の Node を加えてしまうと配信の遅延に繋がる</li> <li>Multicast の実装を提案</li> <li>Multicast ならば、Server からの送信は一度で済むため、ツリー構造の形成が必要ない</li> <li>従って新しい Node が 無線接続であっても、有線接続のツリーの配信には影響が出ない</li> </ul> -<p><img src="./fig/interface-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/interface-crop.svg" alt="message" width="400" height="350" /></center> </div> <div class='slide '> @@ -223,7 +256,7 @@ <h2 id="blocking">Blocking</h2> <ul> <li>無線接続の場合、一度に送信できるデータ量が 64kbyte しかないため、それに合わせてデータを分割する必要がある</li> - <li>大きなデータを小さい単位に分割する手法 + <li>大きなデータを小さい単位に分割する <ul> <li>更新が行われた部分を1行ずつ圧縮していく</li> <li>書き込みのために用意した関数に入る限界値まで圧縮を行ない、関数に書き込む</li> @@ -231,13 +264,13 @@ </li> </ul> -<p><img src="./fig/tiling-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/tiling-crop.svg" alt="message" width="400" height="250" /></center> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="section-3">まとめ</h2> +<h2 id="section-5">まとめ</h2> <ul> <li>TreeVNC の改良と Multicast 対応のためのデータの Blocking を実装した。 <ul>
--- a/slide/slide.md Wed Feb 20 12:45:47 2019 +0900 +++ b/slide/slide.md Wed Feb 20 14:36:21 2019 +0900 @@ -1,6 +1,6 @@ title: 画面配信システム TreeVNC の拡張 author: Yukiya OSHIRO -profile: +profile: 並列信頼研 lang: Japanese code-engine: coderay @@ -28,13 +28,20 @@ - クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない - サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう - 画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう -- 有線接続時のデータ転送方法だと、無線接続で送信するには大きすぎる +- 現在の TreeVNC のデータ転送方法だと、無線接続で送信するには大きすぎる + +!SLIDE +## 今回の発表 +- <del>クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない</del> +- <del>サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう</del> +- 画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう +- 現在の TreeVNC のデータ転送方法だと、無線接続で送信するには大きすぎる !SLIDE ## 目次 -- TreeVNC の概要 - - 基本概念 - - 構造 +- **TreeVNC の概要** + - **基本概念** + - **構造** - 研究内容 - TreeVNC の改良 - 送信データの Blocking @@ -49,8 +56,9 @@ ## VNC - VNC (Virtual Network Computing) は、RFB プロトコルを用いて PC の遠隔操作を行うことを目的としたリモートデスクトップソフトウェア - サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている +- 全ての Node が一台のサーバーに接続するため負担が大きい -<img src="./fig/vnc-crop.svg" alt="message" width="400" height="250"> +<center><img src="./fig/vnc-crop.svg" alt="message" width="400" height="300"></center> !SLIDE ## RFB プロトコル @@ -65,7 +73,7 @@ - Root Node が参照している VNCServer から FrameBufferUpdate を取得し、各 Node に送信する - バイナリツリー状に接続することで、画像データのコピーを各 Node に負担させることができる -<img src="./fig/treevnc-crop.svg" alt="message" width="400" height="250"> +<center><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="300"></center> !SLIDE ## 共有画面切り替え @@ -75,22 +83,31 @@ - メッセージを受け取った Root Node は配信を希望している Node の VNC サーバーと通信を行い、切り替え作業に入る。 !SLIDE -## Multicast 対応 -- 有線接続の Node で形成されたツリーに無線接続の Node を加えてしまうと通信の遅延が発生し、ツリー全体の配信遅延に繋がる +## 目次 +- TreeVNC の概要 + - 基本概念 + - 構造 +- **研究内容** + - **TreeVNC の改良** + - **送信データの Blocking** + +!SLIDE +## Multicast +- ツリーに無線接続の Node を加えてしまうと配信の遅延に繋がる - Multicast の実装を提案 - Multicast ならば、Server からの送信は一度で済むため、ツリー構造の形成が必要ない - 従って新しい Node が 無線接続であっても、有線接続のツリーの配信には影響が出ない -<img src="./fig/interface-crop.svg" alt="message" width="400" height="250"> +<center><img src="./fig/interface-crop.svg" alt="message" width="400" height="350"></center> !SLIDE ## Blocking - 無線接続の場合、一度に送信できるデータ量が 64kbyte しかないため、それに合わせてデータを分割する必要がある -- 大きなデータを小さい単位に分割する手法 +- 大きなデータを小さい単位に分割する - 更新が行われた部分を1行ずつ圧縮していく - 書き込みのために用意した関数に入る限界値まで圧縮を行ない、関数に書き込む -<img src="./fig/tiling-crop.svg" alt="message" width="400" height="250"> +<center><img src="./fig/tiling-crop.svg" alt="message" width="400" height="250"></center> !SLIDE ## まとめ
--- a/slide/slide.pdf.html Wed Feb 20 12:45:47 2019 +0900 +++ b/slide/slide.pdf.html Wed Feb 20 14:36:21 2019 +0900 @@ -58,7 +58,7 @@ <td> <div align="left"> Yukiya OSHIRO - + 並列信頼研 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> </div> </td> @@ -70,7 +70,7 @@ <!-- === begin markdown block === generated by markdown/1.2.0 on Ruby 2.6.1 (2019-01-30) [x86_64-darwin17] - on 2019-02-20 12:41:05 +0900 with Markdown engine kramdown (2.0.0) + on 2019-02-20 14:35:43 +0900 with Markdown engine kramdown (2.0.0) using options {} --> <!-- <\!-- slideshow の command -\-> --> @@ -103,19 +103,31 @@ <li>クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない</li> <li>サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう</li> <li>画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう</li> - <li>有線接続時のデータ転送方法だと、無線接続で送信するには大きすぎる</li> + <li>現在の TreeVNC のデータ転送方法だと、無線接続で送信するには大きすぎる</li> </ul> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="section-1">目次</h2> +<h2 id="section-1">今回の発表</h2> <ul> - <li>TreeVNC の概要 + <li><del>クライアントが接続している状態で、サーバー側が接続を切るとクライアント側が正しく切断されない</del></li> + <li><del>サーバーに接続した際に、画面の操作を許可するかどうか確認するポップアップが Root 側にも表示されてしまう</del></li> + <li>画面配信は送信するデータ量が多いため、TreeVNC では無線接続の場合、画面配信の遅延が大きくなってしまう</li> + <li>現在の TreeVNC のデータ転送方法だと、無線接続で送信するには大きすぎる</li> +</ul> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="section-2">目次</h2> +<ul> + <li><strong>TreeVNC の概要</strong> <ul> - <li>基本概念</li> - <li>構造</li> + <li><strong>基本概念</strong></li> + <li><strong>構造</strong></li> </ul> </li> <li>研究内容 @@ -145,9 +157,10 @@ <ul> <li>VNC (Virtual Network Computing) は、RFB プロトコルを用いて PC の遠隔操作を行うことを目的としたリモートデスクトップソフトウェア</li> <li>サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている</li> + <li>全ての Node が一台のサーバーに接続するため負担が大きい</li> </ul> -<p><img src="./fig/vnc-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/vnc-crop.svg" alt="message" width="400" height="300" /></center> </div> <div class='slide '> @@ -172,13 +185,13 @@ <li>バイナリツリー状に接続することで、画像データのコピーを各 Node に負担させることができる</li> </ul> -<p><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/treevnc-crop.svg" alt="message" width="400" height="300" /></center> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="section-2">共有画面切り替え</h2> +<h2 id="section-3">共有画面切り替え</h2> <ul> <li>従来の VNC では、配信者が切り替わるたびに再起動、再接続を行う必要があった</li> <li>TreeVNC では、画面上にある ShareScreen ボタンを押すことで配信者の切り替えが実行できる</li> @@ -190,15 +203,35 @@ <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="multicast-">Multicast 対応</h2> +<h2 id="section-4">目次</h2> <ul> - <li>有線接続の Node で形成されたツリーに無線接続の Node を加えてしまうと通信の遅延が発生し、ツリー全体の配信遅延に繋がる</li> + <li>TreeVNC の概要 + <ul> + <li>基本概念</li> + <li>構造</li> + </ul> + </li> + <li><strong>研究内容</strong> + <ul> + <li><strong>TreeVNC の改良</strong></li> + <li><strong>送信データの Blocking</strong></li> + </ul> + </li> +</ul> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="multicast">Multicast</h2> +<ul> + <li>ツリーに無線接続の Node を加えてしまうと配信の遅延に繋がる</li> <li>Multicast の実装を提案</li> <li>Multicast ならば、Server からの送信は一度で済むため、ツリー構造の形成が必要ない</li> <li>従って新しい Node が 無線接続であっても、有線接続のツリーの配信には影響が出ない</li> </ul> -<p><img src="./fig/interface-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/interface-crop.svg" alt="message" width="400" height="350" /></center> </div> <div class='slide '> @@ -207,7 +240,7 @@ <h2 id="blocking">Blocking</h2> <ul> <li>無線接続の場合、一度に送信できるデータ量が 64kbyte しかないため、それに合わせてデータを分割する必要がある</li> - <li>大きなデータを小さい単位に分割する手法 + <li>大きなデータを小さい単位に分割する <ul> <li>更新が行われた部分を1行ずつ圧縮していく</li> <li>書き込みのために用意した関数に入る限界値まで圧縮を行ない、関数に書き込む</li> @@ -215,13 +248,13 @@ </li> </ul> -<p><img src="./fig/tiling-crop.svg" alt="message" width="400" height="250" /></p> +<center><img src="./fig/tiling-crop.svg" alt="message" width="400" height="250" /></center> </div> <div class='slide '> <!-- _S9SLIDE_ --> -<h2 id="section-3">まとめ</h2> +<h2 id="section-5">まとめ</h2> <ul> <li>TreeVNC の改良と Multicast 対応のためのデータの Blocking を実装した。 <ul>