Mercurial > hg > Papers > 2015 > nozomi-sigos
changeset 16:1ac38e2b7572
before review
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2015 00:09:45 +0900 |
parents | 696a908208c8 |
children | a26eacfb4922 |
files | presen/sigOS/sample.html presen/sigOS/sample.markdown |
diffstat | 2 files changed, 158 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/sigOS/sample.html Sun May 24 18:40:04 2015 +0900 +++ b/presen/sigOS/sample.html Mon May 25 00:09:45 2015 +0900 @@ -35,7 +35,7 @@ <!-- === begin markdown block === generated by markdown/1.2.0 on Ruby 2.1.0 (2013-12-25) [x86_64-darwin13.0] - on 2015-05-24 18:39:51 +0900 with Markdown engine kramdown (1.5.0) + on 2015-05-25 00:09:22 +0900 with Markdown engine kramdown (1.5.0) using options {} --> @@ -288,7 +288,7 @@ </ul> </li> <li>Aliceの機能を追加するということは Meta Computation を追加すると言い換えられる</li> - <li>Meta Computation も CS と DS により表現されており、それぞれMeta CSとMeta DSと呼ぶ。</li> + <li>Meta Computation も CS と DS により表現される。</li> </ul> @@ -356,7 +356,24 @@ <div class="slide" id="18"><div> <section> <header> - <h1 id="section-4">圧縮機能</h1> + <h1 lang="java" id="section-4">転送機能</h1> + </header> + <!-- _S9SLIDE_ --> + +<pre><code> public void flip(Receiver receiver) { + DataSegment.getLocal().put(receiver.key, receiver.getReceiveData(), null); + } +</code></pre> + + + + </section> +</div></div> + +<div class="slide" id="19"><div> + <section> + <header> + <h1 id="section-5">圧縮機能</h1> </header> <!-- _S9SLIDE_ --> @@ -371,7 +388,7 @@ </section> </div></div> -<div class="slide" id="19"><div> +<div class="slide" id="20"><div> <section> <header> <h1 id="data-segment">圧縮機能 - Data Segmentの表現の変更</h1> @@ -388,7 +405,7 @@ </section> </div></div> -<div class="slide" id="20"><div> +<div class="slide" id="21"><div> <section> <header> <h1 lang="java" id="data-segment-1">圧縮機能 - Data Segmentの表現の変更</h1> @@ -407,7 +424,7 @@ </section> </div></div> -<div class="slide" id="21"><div> +<div class="slide" id="22"><div> <section> <header> <h1 id="dsm">圧縮機能 - DSMの追加</h1> @@ -429,7 +446,7 @@ </section> </div></div> -<div class="slide" id="22"><div> +<div class="slide" id="23"><div> <section> <header> <h1 id="ds">圧縮機能 - 任意の表現でDSを取得</h1> @@ -455,7 +472,7 @@ </section> </div></div> -<div class="slide" id="23"><div> +<div class="slide" id="24"><div> <section> <header> <h1 id="api">圧縮機能 - API設計</h1> @@ -475,10 +492,10 @@ </section> </div></div> -<div class="slide" id="24"><div> +<div class="slide" id="25"><div> <section> <header> - <h1 id="section-5">圧縮機能 - 通信プロトコルの変更</h1> + <h1 id="section-6">圧縮機能 - 通信プロトコルの変更</h1> </header> <!-- _S9SLIDE_ --> @@ -492,10 +509,10 @@ </section> </div></div> -<div class="slide" id="25"><div> +<div class="slide" id="26"><div> <section> <header> - <h1 id="section-6">圧縮機能 - 通信プロトコルの変更</h1> + <h1 id="section-7">圧縮機能 - 通信プロトコルの変更</h1> </header> <!-- _S9SLIDE_ --> @@ -509,14 +526,82 @@ </section> </div></div> -<div class="slide" id="26"><div> +<div class="slide" id="27"><div> <section> <header> - <h1 id="section-7">圧縮機能の評価</h1> + <h1 id="section-8">圧縮機能 - 通信プロトコルの変更</h1> + </header> + <!-- _S9SLIDE_ --> + + +<pre lang="java"><code> public class CommandMessage { + public int type; + public int seq; + public String key; + public boolean quickFlag = false; + public boolean serialized = false; + public boolean compressed = false; + public int dataSize = 0; + } +</code></pre> +<p></p> + + + + </section> +</div></div> + +<div class="slide" id="28"><div> + <section> + <header> + <h1 id="section-9">圧縮機能 - 通信プロトコルの変更</h1> </header> <!-- _S9SLIDE_ --> -<p>RingRelayTest +<table style="border-collapse: collapse;border:1px solid #000000;"> + <tr> + <td style="border:1px solid #000000;"> type</td> + <td style="border:1px solid #000000;">CommandType PEEK, PUT などを表す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> seq </td> + <td style="border:1px solid #000000;">DS の待ち合わせを行っている CS を表す unique number</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> key </td> + <td style="border:1px solid #000000;">どの Key に対して操作を行うか指定する</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> quickFlag </td> + <td style="border:1px solid #000000;">SEDA を挟まず Command を処理を行うかを示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> serialized </td> + <td style="border:1px solid #000000;">データ本体のシリアライズ状態を示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> compressed </td> + <td style="border:1px solid #000000;">データ本体の圧縮状態を示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> dataSize </td> + <td style="border:1px solid #000000;">圧縮前のデータサイズを表す</td> + </tr> +</table> + + + + </section> +</div></div> + +<div class="slide" id="29"><div> + <section> + <header> + <h1 id="section-10">圧縮機能の評価</h1> + </header> + <!-- _S9SLIDE_ --> + +<p>RingRelayTest<br /> <img src="./images/topologyring.svg" alt="opt" /></p> @@ -524,10 +609,10 @@ </section> </div></div> -<div class="slide" id="27"><div> +<div class="slide" id="30"><div> <section> <header> - <h1 id="section-8">まとめ</h1> + <h1 id="section-11">まとめ</h1> </header> <!-- _S9SLIDE_ -->
--- a/presen/sigOS/sample.markdown Sun May 24 18:40:04 2015 +0900 +++ b/presen/sigOS/sample.markdown Mon May 25 00:09:45 2015 +0900 @@ -85,7 +85,7 @@ * Javaで記述したAliceの実装システム * Aliceの機能を追加するということは Meta Computation を追加すると言い換えられる -* Meta Computation も CS と DS により表現されており、それぞれMeta CSとMeta DSと呼ぶ。 +* Meta Computation も CS と DS により表現される。 # AliceVNC * 研究室では授業向け画面共有システムTreeVNCではノード同士を接続させ、木構造を構成することで負荷分散を行う @@ -102,6 +102,13 @@ * AliceVNCのようにInput DS をそのまま子ノードに Output DS として出力する場合、コピーを行なうのは無駄。 * Input DSをコピーせずそのままOutput DSに渡すMeta Computationとして転送機能を実装した。 +# 転送機能 +```java + public void flip(Receiver receiver) { + DataSegment.getLocal().put(receiver.key, receiver.getReceiveData(), null); + } +``` + # 圧縮機能 * AliceVNCは、ノードは受け取った画面データを描画すると同時に、子ノードの Remote DSM に送信する。 * ノードは DS を受信するとそれを一度解凍して画面を表示し、再圧縮して子ノードに送信する。 @@ -159,8 +166,55 @@ * Alice の通信におけるヘッダにあたる CommandMessage.classに **シリアライズ状態表すフラグ**と、**圧縮状態を表すフラク** を追加 * これにより put された DSM はフラグに応じた適切な形式で格納できる。 +# 圧縮機能 - 通信プロトコルの変更 + +```java + public class CommandMessage { + public int type; + public int seq; + public String key; + public boolean quickFlag = false; + public boolean serialized = false; + public boolean compressed = false; + public int dataSize = 0; + } +``` + + +# 圧縮機能 - 通信プロトコルの変更 +<table style="border-collapse: collapse;border:1px solid #000000;"> + <tr> + <td style="border:1px solid #000000;"> type</td> + <td style="border:1px solid #000000;">CommandType PEEK, PUT などを表す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> seq </td> + <td style="border:1px solid #000000;">DS の待ち合わせを行っている CS を表す unique number</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> key </td> + <td style="border:1px solid #000000;">どの Key に対して操作を行うか指定する</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> quickFlag </td> + <td style="border:1px solid #000000;">SEDA を挟まず Command を処理を行うかを示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> serialized </td> + <td style="border:1px solid #000000;">データ本体のシリアライズ状態を示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> compressed </td> + <td style="border:1px solid #000000;">データ本体の圧縮状態を示す</td> + </tr> + <tr> + <td style="border:1px solid #000000;"> dataSize </td> + <td style="border:1px solid #000000;">圧縮前のデータサイズを表す</td> + </tr> +</table> + # 圧縮機能の評価 -RingRelayTest +RingRelayTest ![opt](./images/topologyring.svg) # まとめ