# HG changeset patch # User Nozomi Teruya # Date 1448873993 -32400 # Node ID c3c01167cff9d9e9bb961e5f3b8c57af3dfbc882 # Parent 7cb463761b4eeba553c08d937562439aa30ad1cb fix bib diff -r 7cb463761b4e -r c3c01167cff9 paper-last/.prosym.tex.swp Binary file paper-last/.prosym.tex.swp has changed diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.aux --- a/paper-last/prosym.aux Mon Nov 30 16:43:47 2015 +0900 +++ b/paper-last/prosym.aux Mon Nov 30 17:59:53 2015 +0900 @@ -7,7 +7,7 @@ \@writefile{toc}{\contentsline {subsection}{\numberline {2.1}{Code Segment と Data Segment}}{1}} \newlabel{fig:CS}{{1}{2}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2}{DataSegmentManager}}{2}} -\newlabel{fig:RemoteDSM}{{2}{2}} +\newlabel{fig:Remote DSM}{{2}{2}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3}{Data Segment API}}{2}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.4}{Code Segmentの記述方法}}{3}} \newlabel{src:StartCodeSegment}{{1}{3}} diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.bbl --- a/paper-last/prosym.bbl Mon Nov 30 16:43:47 2015 +0900 +++ b/paper-last/prosym.bbl Mon Nov 30 17:59:53 2015 +0900 @@ -5,12 +5,12 @@ によるプログラミング手法,第54回プログラミング・シンポジウム (2013). \bibitem{treeVNC} -{Miwa OSHIRO and Shinji KONO}: - 授業やゼミ向けの画面配信システムTreeVNCの拡張機能,琉球大学工学部情報工学科平成26年度学位論文(学士) - (2014). +{Yu TANINARI, Nobuyasu OSHIRO and Shinji KONO}: + VNCを用いた授業用画面共有システムの設計・開発,情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS) + (2012). \bibitem{dot} -: . +: Dot Language, \url{http://www.graphviz.org/}. \bibitem{tightVNC} : {TightVNC Software}, \url{http://www.tightvnc.com}. @@ -19,12 +19,14 @@ : MessagePack, \url{http://msgpack.org/}. \bibitem{complaxy} -: . +McCABE, T.~J.: A Complexity Measure, {\em IEEE TRANSACTIONS ON SOFTWARE + ENGINEERING VOL. SE-2, NO.4} (1976). \bibitem{Erlang} -柏原正三\:プログラミング言語Erlang入門,アスキー (2007). +: Erlang, \url{http://www.erlang.org/}. \bibitem{Akka} -: . +Lockney, T. and Tay, R.: Developing an Akka Edge, {\em Bleeding Edge Press} + (2014). \end{thebibliography} diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.bib --- a/paper-last/prosym.bib Mon Nov 30 16:43:47 2015 +0900 +++ b/paper-last/prosym.bib Mon Nov 30 17:59:53 2015 +0900 @@ -9,10 +9,10 @@ } @article{treeVNC, - author = "{Miwa OSHIRO and Shinji KONO}", - title = "授業やゼミ向けの画面配信システムTreeVNCの拡張機能", - journal = "琉球大学工学部情報工学科平成26年度学位論文(学士) ", - year = 2014 + author = "{Yu TANINARI, Nobuyasu OSHIRO and Shinji KONO}", + title = "VNCを用いた授業用画面共有システムの設計・開発", + journal = "情報処理学会システムソフトウェアとオペレーティング・システム研究会(OS)", + year = 2012 } @article{senkokenkyu, @@ -22,32 +22,28 @@ year = 2013 } -@article{Erlang, - author = "柏原正三", - title = "プログラミング言語Erlang入門", - journal = "アスキー", - year = "2007" +@Misc{Erlang, + title = "Erlang", + howpublished = "\url{http://www.erlang.org/}", } @article{Akka, - author = "", - title = "", - journal = "", - year = "" + author = "Thomas Lockney and Raymond Tay", + title = "Developing an Akka Edge", + journal = "Bleeding Edge Press", + year = "2014" } @article{complaxy, - author = "", - title = "", - journal = "", - year = "" + author = "THOMAS J. McCABE", + title = "A Complexity Measure", + journal = "IEEE TRANSACTIONS ON SOFTWARE ENGINEERING VOL. SE-2, NO.4", + year = "1976" } -@article{dot, - author = "", - title = "", - journal = "", - year = "" +@Misc{dot, + title = "Dot Language", + howpublished = "\url{http://www.graphviz.org/}" } diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.blg --- a/paper-last/prosym.blg Mon Nov 30 16:43:47 2015 +0900 +++ b/paper-last/prosym.blg Mon Nov 30 17:59:53 2015 +0900 @@ -8,67 +8,53 @@ Warning--there's no number and/or volumetreeVNC Warning--Missing required argument pages in treeVNC Warning--Missing required argument author in dot -Warning--Missing required argument title in dot -Warning--Missing required argument journal in dot -Warning--Missing required argument year in dot -Warning--there's no number and/or volumedot -Warning--Missing required argument pages in dot Warning--Missing required argument author in tightVNC Warning--Missing required argument author in MessagePack -Warning--Missing required argument author in complaxy -Warning--Missing required argument title in complaxy -Warning--Missing required argument journal in complaxy -Warning--Missing required argument year in complaxy Warning--there's no number and/or volumecomplaxy Warning--Missing required argument pages in complaxy -Warning--there's no number and/or volumeErlang -Warning--Missing required argument pages in Erlang -Warning--Missing required argument author in Akka -Warning--Missing required argument title in Akka -Warning--Missing required argument journal in Akka -Warning--Missing required argument year in Akka +Warning--Missing required argument author in Erlang Warning--there's no number and/or volumeAkka Warning--Missing required argument pages in Akka You've used 8 entries, 2207 wiz_defined-function locations, - 559 strings with 4569 characters, -and the built_in function-call counts, 1035 in all, are: -= -- 40 -> -- 18 + 566 strings with 4799 characters, +and the built_in function-call counts, 1051 in all, are: += -- 57 +> -- 23 < -- 0 -+ -- 11 -- -- 3 -* -- 108 -:= -- 138 ++ -- 13 +- -- 5 +* -- 76 +:= -- 149 add.period$ -- 8 call.type$ -- 8 change.case$ -- 0 chr.to.int$ -- 0 -cite$ -- 34 -duplicate$ -- 64 -empty$ -- 144 -format.name$ -- 5 -if$ -- 223 +cite$ -- 20 +duplicate$ -- 65 +empty$ -- 137 +format.name$ -- 10 +if$ -- 242 int.to.chr$ -- 0 int.to.str$ -- 8 -missing$ -- 6 +missing$ -- 4 newline$ -- 27 -num.names$ -- 3 -pop$ -- 36 +num.names$ -- 4 +pop$ -- 33 preamble$ -- 1 purify$ -- 0 quote$ -- 0 -skip$ -- 45 +skip$ -- 54 stack$ -- 0 substring$ -- 0 -swap$ -- 0 -text.length$ -- 1 +swap$ -- 2 +text.length$ -- 0 text.prefix$ -- 0 top$ -- 0 type$ -- 0 -warning$ -- 26 -while$ -- 3 +warning$ -- 12 +while$ -- 4 width$ -- 9 -write$ -- 47 -is.kanji.str$ -- 19 -(There were 26 warnings) +write$ -- 54 +is.kanji.str$ -- 26 +(There were 12 warnings) diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.dvi Binary file paper-last/prosym.dvi has changed diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.log --- a/paper-last/prosym.log Mon Nov 30 16:43:47 2015 +0900 +++ b/paper-last/prosym.log Mon Nov 30 17:59:53 2015 +0900 @@ -1,4 +1,4 @@ -This is e-pTeX, Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013) (format=platex 2014.4.14) 30 NOV 2015 16:42 +This is e-pTeX, Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013) (format=platex 2014.4.14) 30 NOV 2015 17:59 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -172,27 +172,27 @@ LaTeX Font Info: ... okay on input line 32. \c@lstlisting=\count110 LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <8.8711> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 39. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 40. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <8.8711> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 39. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 40. LaTeX Font Info: Font shape `JT1/gt/bx/n' in size <19.2207> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 50. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 51. LaTeX Font Info: Font shape `JY1/gt/bx/n' in size <19.2207> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 50. -LaTeX Font Info: Calculating math sizes for size <9.61035> on input line 50. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 51. +LaTeX Font Info: Calculating math sizes for size <9.61035> on input line 51. -LaTeX Font Info: Calculating math sizes for size <11.82813> on input line 50 +LaTeX Font Info: Calculating math sizes for size <11.82813> on input line 51 . -LaTeX Font Info: Calculating math sizes for size <8.13184> on input line 50. +LaTeX Font Info: Calculating math sizes for size <8.13184> on input line 51. LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <11.82813> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 53. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 54. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <11.82813> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 53. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 54. LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <9.61035> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 70. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 71. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <9.61035> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 70. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 71. [1 @@ -200,27 +200,27 @@ File: images/dsandcs2.pdf Graphic file (type pdf) LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <8.13184> not available -(Font) Font shape `JT1/gt/m/n' tried instead on input line 80. +(Font) Font shape `JT1/gt/m/n' tried instead on input line 81. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <8.13184> not available -(Font) Font shape `JY1/gt/m/n' tried instead on input line 80. +(Font) Font shape `JY1/gt/m/n' tried instead on input line 81. File: images/remote_datasegment.pdf Graphic file (type pdf) -Underfull \hbox (badness 10000) in paragraph at lines 113--114 +Underfull \hbox (badness 10000) in paragraph at lines 114--115 []\OT1/cmtt/m/n/9.61035 void put(String managerKey, String [] -Underfull \hbox (badness 10000) in paragraph at lines 117--118 +Underfull \hbox (badness 10000) in paragraph at lines 118--119 []\OT1/cmtt/m/n/9.61035 void update(String managerKey, String [] -Underfull \hbox (badness 10000) in paragraph at lines 122--123 +Underfull \hbox (badness 10000) in paragraph at lines 123--124 []\OT1/cmtt/m/n/9.61035 void take(String managerKey, String [] [2] -Underfull \hbox (badness 10000) in paragraph at lines 127--128 +Underfull \hbox (badness 10000) in paragraph at lines 128--129 []\OT1/cmtt/m/n/9.61035 void peek(String managerKey, String [] @@ -234,7 +234,7 @@ (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 1. ) (./source/TestCodeSegment.java) [3] -Overfull \hbox (24.42479pt too wide) in paragraph at lines 171--172 +Overfull \hbox (24.42479pt too wide) in paragraph at lines 172--173 []\OT1/cmtt/m/n/9.61035 void setKey(String managerKey, String key) [] @@ -261,7 +261,7 @@ (./source/RegisterEvent.java) [6] File: images/TreeVNC.pdf Graphic file (type pdf) -Overfull \hbox (21.64644pt too wide) in paragraph at lines 290--291 +Overfull \hbox (21.64644pt too wide) in paragraph at lines 291--292 [] [] @@ -269,12 +269,12 @@ (./source/afterCompress.java) (./source/asClass.java) [8] File: images/delay.pdf Graphic file (type pdf) -Overfull \hbox (14.02144pt too wide) in paragraph at lines 414--425 +Overfull \hbox (14.02144pt too wide) in paragraph at lines 415--426 [] [] -LaTeX Warning: Reference `src:mesurement' on page 9 undefined on input line 431 +LaTeX Warning: Reference `src:mesurement' on page 9 undefined on input line 432 . [9] (./source/mesurement.java) [10] @@ -286,18 +286,18 @@ File: images/AliceVNC_compress_depth3.pdf Graphic file (type pdf) [11] -Underfull \hbox (badness 10000) in paragraph at lines 525--527 +Underfull \hbox (badness 10000) in paragraph at lines 526--528 []\OT1/cmr/m/n/9.61035 TreeVNC \JY1/mc/m/n/9.61035 で最高値を出した \OT1/cmr/m/ n/9.61035 TreeRF- [] -Underfull \hbox (badness 4899) in paragraph at lines 528--529 +Underfull \hbox (badness 4899) in paragraph at lines 529--530 []\OT1/cmr/m/n/9.61035 AliceVNC \JY1/mc/m/n/9.61035 で複雑度の最高値を出した [] -Underfull \hbox (badness 10000) in paragraph at lines 528--529 +Underfull \hbox (badness 10000) in paragraph at lines 529--530 \OT1/cmr/m/n/9.61035 SwingView-er-Win-dow.class \JY1/mc/m/n/9.61035 は \OT1/cmr /m/n/9.61035 TightVNC \JY1/mc/m/n/9.61035 で [] @@ -305,7 +305,7 @@ [12] File: images/overNAT.pdf Graphic file (type pdf) -Overfull \hbox (7.42006pt too wide) in paragraph at lines 597--598 +Overfull \hbox (7.42006pt too wide) in paragraph at lines 598--599 [] [] @@ -320,12 +320,12 @@ ) Here is how much of TeX's memory you used: - 3001 strings out of 494008 - 42312 string characters out of 6154472 + 3003 strings out of 494008 + 42295 string characters out of 6154472 197596 words of memory out of 5000000 - 6417 multiletter control sequences out of 15000+600000 - 27514 words of font info for 115 fonts, out of 8000000 for 9000 + 6418 multiletter control sequences out of 15000+600000 + 28134 words of font info for 117 fonts, out of 8000000 for 9000 745 hyphenation exceptions out of 8191 30i,9n,40p,280b,1426s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on prosym.dvi (14 pages, 83000 bytes). +Output written on prosym.dvi (14 pages, 83384 bytes). diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.pdf Binary file paper-last/prosym.pdf has changed diff -r 7cb463761b4e -r c3c01167cff9 paper-last/prosym.tex --- a/paper-last/prosym.tex Mon Nov 30 16:43:47 2015 +0900 +++ b/paper-last/prosym.tex Mon Nov 30 17:59:53 2015 +0900 @@ -33,8 +33,9 @@ % Title, Author %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \title{分散フレームワークAliceのPC画面配信システムへの応用} -\author{照屋 のぞみ}{Nozomi Teruya}{琉球大学工学部情報工学科}[dpop@cr.ie.u-ryukyu.ac.jp] -\author{河野 真治}{Shinji Kono}{琉球大学工学部情報工学科}[kono@ie.u-ryukyu.ac.jp] +\affiliate{IE}{琉球大学工学部情報工学科} +\author{照屋 のぞみ}{Nozomi Teruya}{IE} +\author{河野 真治}{Shinji Kono}{IE} \begin{abstract} 当研究室ではデータを Data Segment、タスクを Code Segment という単位で分割して記述する手法を提唱しており、それに基づく並列分散フレームワークAliceを開発している。 @@ -69,7 +70,7 @@ \section{分散フレームワークAlice} \subsection{Code Segment と Data Segment} AliceではCode Segment(以下CS)とData Segment(以下DS)の依存関係を記述することでプログラミングを行う。 -CSは実行に必要なDSが全て揃うと実行される。CSを実行するために必要な入力DSはInputDS、CSが計算を行った後に出力されるDSはOutput DSと呼ばれる。 +CSは実行に必要なDSが全て揃うと実行される。CSを実行するために必要な入力されるDSのことをInputDS、CSが計算を行った後に出力されるDSのことをOutput DSと呼ぶ。 データの依存関係にないCSは並列実行が可能である(図 \ref{fig:CS} )。 CSの実行においてDSが他のCSから変更を受けることはない。そのためAliceではデータが他から変更され整合性がとれなくなることはない。 @@ -90,7 +91,7 @@ 一つのkeyに対して複数のDSを登録することもでき、その場合DSはqueueに保存されFIFOで取り出される。 DSMにはLocal DSMとRemote DSMが存在する。Local DSMは各ノード固有のデータベースである。 -Remote DSMは他ノードのLocal DSMに対応するproxyであり、接続しているノードの数だけ存在する(図 \ref{fig:RemoteDSM} )。 +Remote DSMは他ノードのLocal DSMに対応するproxyであり、接続しているノードの数だけ存在する(図 \ref{fig:Remote DSM} )。 他ノードのLocal DSMに書き込みたい場合はRemote DSMに対して書き込めば良い。 Remote DSMを立ち上げるには、DataSegmentクラスが提供するconnectメソッドを用いる。 接続したいノードのipアドレスとport番号、そして任意のManager名を指定することで立ちあげられる。その後はManager名を指定してData Segment APIを用いてDSのやり取りを行うため、プログラマはManager名さえ意識すればLocalへの操作もRemoteへの操作も同じ様に扱える。 @@ -100,7 +101,7 @@ \includegraphics[width=70mm]{images/remote_datasegment.pdf} \end{center} \caption{Remote DSMは他のノードのLocal DSMのproxy } - \label{fig:RemoteDSM} + \label{fig:Remote DSM} \end{figure} @@ -112,7 +113,7 @@ \begin{itemize} \item {\ttfamily void put(String managerKey, String key, Object val)} \end{itemize} -DSをDSMに追加するためのAPIである。第一引数はLocalDSMかRemoteDSMかといったManager名を指定する。そして第二引数で指定されたkeyに対応するDSとして第三引数の値を追加する。 +DSをDSMに追加するためのAPIである。第一引数はLocal DSMかRemote DSMかといったManager名を指定する。そして第二引数で指定されたkeyに対応するDSとして第三引数の値を追加する。 \begin{itemize} \item {\ttfamily void update(String managerKey, String key, Object val)} \end{itemize} @@ -197,7 +198,7 @@ \textbf{Topology Manager} -Aliceでは、ノード間の接続管理やトポロジーの構成管理を、Topology ManagerというMetaComputationが提供している。このTopology ManagerもCS/DSを用いて実装されている。 +Aliceでは、ノード間の接続管理やトポロジーの構成管理を、Topology ManagerというMeta Computationが提供している。このTopology ManagerもCS/DSを用いて実装されている。 プログラマはトポロジーファイルを用意し、Topology Managerに読み込ませるだけでトポロジーを構成することができる。 トポロジーファイルはDOT Language\cite{dot}という言語で記述される。 DOT Languageとは、プレーンテキストを用いてデータ構造としてのグラフを表現するためのデータ記述言語の一つである。 @@ -208,13 +209,13 @@ また、DOT Languageファイルはdotコマンドを用いてグラフの画像ファイルを生成することができる。そのため、記述したトポロジーが正しいか可視化することが可能である。 Topology Managerはトポロジーファイルを読み込み、参加を表明したクライアント(以下、Topology Node)に接続するべきクライアントのIPアドレスやポート番号、接続名を送る(図\ref{fig:topologymanager})。 -また、トポロジーファイルでlavelとして指定した名前はRemoteDSMの名前としてTopology Nodeに渡される。 +また、トポロジーファイルでlavelとして指定した名前はRemote DSMの名前としてTopology Nodeに渡される。 そのため、Topology NodeはTopology ManagerのIPアドレスさえ知っていれば自分の接続すべきノードのデータを受け取り、ノード間での正しい接続を実現できる。 \begin{figure}[h] \begin{center} \includegraphics[width=60mm]{images/topologymanager.pdf} \end{center} -\caption{TopologyManagerが記述に従いトポロジーを構成} +\caption{Topology Managerが記述に従いトポロジーを構成} \label{fig:topologymanager} \end{figure} @@ -227,12 +228,12 @@ \textbf{KeepAlive} -ノード間通信はRemoteDSMに対してputやtakeを行うことでのみ発生する。 +ノード間通信はRemote DSMに対してputやtakeを行うことでのみ発生する。 アプリケーション次第では長時間通信が行われない可能性があり、その間にノード間接続が切れた場合、次の通信が行われるまで切断を発見することができない。 また、接続状態ではあるが応答に時間がかかる場合もある。 これらの問題を検知するために、KeepAliveという定期的にheart beatを送信し生存確認を行うMeta Computationがある。この機能もCS/DSを用いて実装されている。 -一定時間内にノードからの応答がない場合、KeepAliveにより、そのノードのRemoteDSMが切断される。 +一定時間内にノードからの応答がない場合、KeepAliveにより、そのノードのRemote DSMが切断される。 また、トポロジーからノードが切断された際にトポロジーを再構成する機能もTopology Managerに用意した。 例えばツリートポロジーでノードが切断された場合、そのノードの子ノードは全体のトポロジーから分断されてしまう。 @@ -283,7 +284,7 @@ オープンソースのVNCであるTightVNC \cite{tightVNC} をもとに作られている。 授業でVNCを使う場合、1つのコンピュータに多人数が同時につながるため、性能が大幅に落ちてしまう。 この問題をノード同士を接続させ、木構造を構成することで負荷分散を行い解決したものがTreeVNCである。 -図 \ref{fig:TreeVNC}はAliceVNCを実現するための構成である。leftとrightのRemoteDSMを用意し子ノードと接続することで木構造を実現する。 +図 \ref{fig:TreeVNC}はAliceVNCを実現するための構成である。leftとrightのRemote DSMを用意し子ノードと接続することで木構造を実現する。 \begin{figure}[h] \begin{center} @@ -326,10 +327,10 @@ \item 2を圧縮したバイナリオブジェクト \end{enumerate} -LocalDSMにputされた場合は、(1)の一般的なJavaクラスオブジェクトとして追加される。 -RemoteDSMにputされた場合は、通信時に(2)のbyteArrayに変換されたバイナリオブジェクトに変換されたDSが追加される。 +Local DSMにputされた場合は、(1)の一般的なJavaクラスオブジェクトとして追加される。 +Remote DSMにputされた場合は、通信時に(2)のbyteArrayに変換されたバイナリオブジェクトに変換されたDSが追加される。 この2つの形式は従来のAliceが持っていた表現である。 -今回、RemoteDSMに圧縮形式での通信を行いたいため、(3)の圧縮表現を追加した。 +今回、Remote DSMに圧縮形式での通信を行いたいため、(3)の圧縮表現を追加した。 ソースコード \ref{src:ReceiveData} はReceiveData.classが持つ表現である。 {\tt val}に(1) 一般的なJavaのクラスオブジェクト の表現でデータ本体が保存される。 @@ -340,10 +341,10 @@ \lstinputlisting[label=src:ReceiveData, caption=データを表現するクラス]{source/ReceiveData.java} \end{table} -また、圧縮表現を持つDSを扱うDSMとしてRemoteDSMにCompressed Data Segment Managerを追加した。 +また、圧縮表現を持つDSを扱うDSMとしてRemote DSMにCompressed Data Segment Managerを追加した。 Compressed DSMの内部では、put/updateが呼ばれた際にReceiveData.classが圧縮表現を持っていればそれを使用し、持っていなければその時点で圧縮表現を作ってput/updateを行う。 -ソースコード \ref{src:before} はRemoteDSMに対しInt型のデータをputする記述である。 +ソースコード \ref{src:before} はRemote DSMに対しInt型のデータをputする記述である。 この通信を圧縮形式のDSで行いたい場合、ソースコード \ref{src:after} のように指定するDSM名の先頭に"compressed"をつければCompressed DSM内部の圧縮Meta Computationが走り圧縮形式に変換されたDSとなって通信が行われる。 \begin{table}[html] @@ -391,7 +392,7 @@ \textbf{実験環境} -講義内で学生に協力してもらい、最大17名の接続がある中でTreeVNC、AliceVNC(圧縮・転送機能あり)、AliceVNC(圧縮・転送機能なし)の木の段数1~3の測定を行った。 +講義内で学生に協力してもらい、最大17名の接続がある中でTreeVNC、AliceVNC(圧縮・転送機能あり)、AliceVNC(圧縮・転送機能なし)の木の段数1〜3の測定を行った。 \textbf{実験内容} @@ -571,7 +572,7 @@ また、DSをtakeするときもkeyを指定して取り出すためどんなデータが入っているかを確認する必要がなく、扱い易い。 Akkaの特徴として、メッセージを送りたいプロセスのアドレスを知っていればアクターがどのマシン上にあるかを意識せずにプログラミングできるという点がある。 -逆にAliceはどのRemoteDSMに対してやり取りをするかを考慮するが、CSがOutputしたDSを次にどのCSに渡すかを意識する必要がない。この点はアクターモデルとCS/DSモデルのパラダイムの違いと言える。 +逆にAliceはどのRemote DSMに対してやり取りをするかを考慮するが、CSがOutputしたDSを次にどのCSに渡すかを意識する必要がない。この点はアクターモデルとCS/DSモデルのパラダイムの違いと言える。 一方AliceとAkkaは提供されるAPIという点で類似している。AkkaのメッセージAPIでは、メッセージを送るtellメソッドと、メッセージを送って返信を待つaskメソッドが用意されている。これはAliceのDataSegment APIのput/takeメソッドに対応している。 @@ -596,7 +597,7 @@ \begin{center} \includegraphics[width=75mm]{images/overNAT.pdf} \end{center} - \caption{複数のTopologyManagerでNAT超えを実現} + \caption{複数のTopology ManagerでNAT超えを実現} \label{fig:overNAT} \end{figure}