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とし、木構造状に管理する