Mercurial > hg > Papers > 2019 > riono-sigos
changeset 46:4a8bb459e283
update slide ~16p fin
author | e165729 <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 30 May 2019 00:27:26 +0900 |
parents | ddd0b2232465 |
children | c830cadfaeec |
files | Slide/slide.html Slide/slide.md Slide/slide.pdf.html |
diffstat | 3 files changed, 141 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/Slide/slide.html Wed May 29 22:36:31 2019 +0900 +++ b/Slide/slide.html Thu May 30 00:27:26 2019 +0900 @@ -147,6 +147,19 @@ <div class='slide'> <!-- _S9SLIDE_ --> +<h2 id="treevncの講義等での活用">TreeVNCの講義等での活用</h2> +<ul> + <li>講義では先生のPC画面を手元のPCで見ることで、コマンドを手元で打ち間違えや、メモを取る際にPCのみに集中を向けることができるようになった</li> + <li>ゼミにおいてもコードをつなげるために移動する必要がなく、各自の席で発表者の画面を見ることができる</li> + <li>以上のようにTreeVNCは従来のプロジェクタなどよりも利便性が高い</li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> <h2 id="vnc">VNC</h2> <ul> <li>VNC(Virtual Network Computing)は、RFB(Remote Frame Buffer)プロトコルを用いてPCの遠隔操作を行うことを目的としたリモートデスクトップソフトウェア</li> @@ -257,7 +270,14 @@ <li>ZRLEを改変したZRLEEを使用している</li> <li>辞書の書き出しを行えるようにし、データを途中から受け取っても解凍することが可能</li> <li>ZRLEを一度解凍し、辞書を書き出して再圧縮を行う</li> + <li>zlibは適当なタイミングで圧縮を書き出し(flush)を行う必要がある + <ul> + <li>zlibのAPIを用いて、適当なタイミングでflushを行なっている</li> + <li>1tileずつflushしてしまうと圧縮率を下げてしまう可能性がある</li> + </ul> + </li> </ul> + <center><img src="./fig/EncodeZRLEE.svg" alt="message" width="550" height="450" /></center> @@ -266,7 +286,33 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="ブロッキング">ブロッキング</h2> +<h2 id="blockingの考察">Blockingの考察</h2> +<ul> + <li>64KBのパケットに収めるため、ZRLEEで圧縮する前にBlockingを行い、Rectangleの再構成を行う</li> + <li>ZRLEを解凍したデータのRectangleは以下のような状況になっていると考えられ、Phaseで区別する + <ul> + <li>行の途中から行の最後まで Phase0</li> + <li>行の最初から最後まで Phase1</li> + <li>行の最初から行の途中まで Phase2</li> + </ul> + </li> +</ul> + +<center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="500" height="400" /></center> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="blockingの考察-1">Blockingの考察</h2> +<ul> + <li>最大3つのRectangleの再構成を行いつつ、ZRLEEで変換を行いパケットの構成をする</li> + <li>UpdateRectangleには3つのRectangleが入る</li> +</ul> + +<center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="500" height="400" /></center> @@ -275,6 +321,16 @@ <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="paket-lossする可能性">paket lossする可能性</h2> +<ul> + <li>wifiのMulticast paketは確実に送信されることが保証されておらず、paket lossする可能性がある</li> + <li>その対策としては以下の2つが取れる + <ul> + <li>何もしない、定期的に全画面のデータが送信されるため問題ない考える</li> + <li>再送要求を行う、処理が複雑であることが予想される</li> + </ul> + </li> + <li>現状では何もせず、全画面のデータの送信を待つ方式でも十分実用に耐えると考える</li> +</ul> <!-- ## TreeVNC の構造 - TreeVNCは接続してきたクライアントをNodeとし、木構造状に管理する
--- a/Slide/slide.md Wed May 29 22:36:31 2019 +0900 +++ b/Slide/slide.md Thu May 30 00:27:26 2019 +0900 @@ -42,6 +42,11 @@ - javaで書かれているためOSに依存せず、物理的な制限なしに使用可能 - TreeVNCを使用することで、参加者は手元のPCを使用しながら講義を受ける事が可能になる。切り替えの際も、ボタン一つで共有する画面の切替を可能としている +## TreeVNCの講義等での活用 +- 講義では先生のPC画面を手元のPCで見ることで、コマンドを手元で打ち間違えや、メモを取る際にPCのみに集中を向けることができるようになった +- ゼミにおいてもコードをつなげるために移動する必要がなく、各自の席で発表者の画面を見ることができる +- 以上のようにTreeVNCは従来のプロジェクタなどよりも利便性が高い + ## VNC - VNC(Virtual Network Computing)は、RFB(Remote Frame Buffer)プロトコルを用いてPCの遠隔操作を行うことを目的としたリモートデスクトップソフトウェア - サーバー側とクライアント側に分かれており、起動したサーバーにクライアントが接続することで遠隔操作を可能にしている @@ -95,15 +100,34 @@ - ZRLEを改変したZRLEEを使用している - 辞書の書き出しを行えるようにし、データを途中から受け取っても解凍することが可能 - ZRLEを一度解凍し、辞書を書き出して再圧縮を行う +- zlibは適当なタイミングで圧縮を書き出し(flush)を行う必要がある + - zlibのAPIを用いて、適当なタイミングでflushを行なっている + - 1tileずつflushしてしまうと圧縮率を下げてしまう可能性がある <center><img src="./fig/EncodeZRLEE.svg" alt="message" width="550" height="450"></center> -## ブロッキング +## Blockingの考察 +- 64KBのパケットに収めるため、ZRLEEで圧縮する前にBlockingを行い、Rectangleの再構成を行う +- ZRLEを解凍したデータのRectangleは以下のような状況になっていると考えられ、Phaseで区別する + - 行の途中から行の最後まで Phase0 + - 行の最初から最後まで Phase1 + - 行の最初から行の途中まで Phase2 + +<center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="500" height="400"></center> + +## Blockingの考察 +- 最大3つのRectangleの再構成を行いつつ、ZRLEEで変換を行いパケットの構成をする +- UpdateRectangleには3つのRectangleが入る + +<center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="500" height="400"></center> ## paket lossする可能性 - - +- wifiのMulticast paketは確実に送信されることが保証されておらず、paket lossする可能性がある +- その対策としては以下の2つが取れる + - 何もしない、定期的に全画面のデータが送信されるため問題ない考える + - 再送要求を行う、処理が複雑であることが予想される +- 現状では何もせず、全画面のデータの送信を待つ方式でも十分実用に耐えると考える <!-- ## TreeVNC の構造
--- a/Slide/slide.pdf.html Wed May 29 22:36:31 2019 +0900 +++ b/Slide/slide.pdf.html Thu May 30 00:27:26 2019 +0900 @@ -131,6 +131,19 @@ <div class='slide'> <!-- _S9SLIDE_ --> +<h2 id="treevncの講義等での活用">TreeVNCの講義等での活用</h2> +<ul> + <li>講義では先生のPC画面を手元のPCで見ることで、コマンドを手元で打ち間違えや、メモを取る際にPCのみに集中を向けることができるようになった</li> + <li>ゼミにおいてもコードをつなげるために移動する必要がなく、各自の席で発表者の画面を見ることができる</li> + <li>以上のようにTreeVNCは従来のプロジェクタなどよりも利便性が高い</li> +</ul> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> <h2 id="vnc">VNC</h2> <ul> <li>VNC(Virtual Network Computing)は、RFB(Remote Frame Buffer)プロトコルを用いてPCの遠隔操作を行うことを目的としたリモートデスクトップソフトウェア</li> @@ -241,7 +254,14 @@ <li>ZRLEを改変したZRLEEを使用している</li> <li>辞書の書き出しを行えるようにし、データを途中から受け取っても解凍することが可能</li> <li>ZRLEを一度解凍し、辞書を書き出して再圧縮を行う</li> + <li>zlibは適当なタイミングで圧縮を書き出し(flush)を行う必要がある + <ul> + <li>zlibのAPIを用いて、適当なタイミングでflushを行なっている</li> + <li>1tileずつflushしてしまうと圧縮率を下げてしまう可能性がある</li> + </ul> + </li> </ul> + <center><img src="./fig/EncodeZRLEE.svg" alt="message" width="550" height="450" /></center> @@ -250,7 +270,33 @@ <div class='slide'> <!-- _S9SLIDE_ --> -<h2 id="ブロッキング">ブロッキング</h2> +<h2 id="blockingの考察">Blockingの考察</h2> +<ul> + <li>64KBのパケットに収めるため、ZRLEEで圧縮する前にBlockingを行い、Rectangleの再構成を行う</li> + <li>ZRLEを解凍したデータのRectangleは以下のような状況になっていると考えられ、Phaseで区別する + <ul> + <li>行の途中から行の最後まで Phase0</li> + <li>行の最初から最後まで Phase1</li> + <li>行の最初から行の途中まで Phase2</li> + </ul> + </li> +</ul> + +<center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="500" height="400" /></center> + + + +</div> + +<div class='slide'> + <!-- _S9SLIDE_ --> +<h2 id="blockingの考察-1">Blockingの考察</h2> +<ul> + <li>最大3つのRectangleの再構成を行いつつ、ZRLEEで変換を行いパケットの構成をする</li> + <li>UpdateRectangleには3つのRectangleが入る</li> +</ul> + +<center><img src="./fig/FrameUpdateRectangleColor.svg" alt="message" width="500" height="400" /></center> @@ -259,6 +305,16 @@ <div class='slide'> <!-- _S9SLIDE_ --> <h2 id="paket-lossする可能性">paket lossする可能性</h2> +<ul> + <li>wifiのMulticast paketは確実に送信されることが保証されておらず、paket lossする可能性がある</li> + <li>その対策としては以下の2つが取れる + <ul> + <li>何もしない、定期的に全画面のデータが送信されるため問題ない考える</li> + <li>再送要求を行う、処理が複雑であることが予想される</li> + </ul> + </li> + <li>現状では何もせず、全画面のデータの送信を待つ方式でも十分実用に耐えると考える</li> +</ul> <!-- ## TreeVNC の構造 - TreeVNCは接続してきたクライアントをNodeとし、木構造状に管理する