changeset 1:11f5c5b5160c

changed encoding of tex sjis to utf8
author kazz@kazz187.st.ie.u-ryukyu.ac.jp
date Thu, 29 Oct 2009 16:59:53 +0900
parents 5bdeed2148fe
children d90af0b51ba2
files middle/Makefile middle/middle.tex
diffstat 2 files changed, 63 insertions(+), 63 deletions(-) [+]
line wrap: on
line diff
--- a/middle/Makefile	Thu Oct 29 16:35:48 2009 +0900
+++ b/middle/Makefile	Thu Oct 29 16:59:53 2009 +0900
@@ -1,7 +1,7 @@
 TARGET = middle
 
-#LATEX   = /opt/local/bin/platex-utf8
-LATEX   = platex
+LATEX   = /opt/local/bin/platex-utf8
+#LATEX   = platex
 BIBTEX  = jbibtex
 DVIPS   = dvips
 DVIPDFM = dvipdfmx
--- a/middle/middle.tex	Thu Oct 29 16:35:48 2009 +0900
+++ b/middle/middle.tex	Thu Oct 29 16:59:53 2009 +0900
@@ -5,7 +5,7 @@
 \usepackage{picins}
 \pagestyle{fancy}
 \lhead{\parpic{\includegraphics[height=1zw,clip,keepaspectratio]{pic/emblem-bitmap.eps}}
-$BN05eBg3X<g:E(B $B9)3XIt>pJs9)3X2J(B $BB46H8&5fCf4VH/I=2q(B}
+琉球大学主催 工学部情報工学科 卒業研究中間発表会}
 \rhead{}
 \cfoot{}
 
@@ -20,44 +20,44 @@
 \pagestyle{empty}
 
 \begin{document}
-\title{Federated Linda$B$rMQ$$$?%j%"%k%?%$%`DL?.<jK!$NDs0F(B}
-\author{065701J $B@VNf(B $B0l<y(B {}{} $B;XF3650w(B: $B2OLn??<#(B}
+\title{Federated Lindaを用いたリアルタイム通信手法の提案}
+\author{065701J 赤嶺 一樹 {}{} 指導教員: 河野真治}
 \date{}
 \maketitle
 \thispagestyle{fancy}
 
-\section{$B$O$8$a$K(B}
-\subsection{$B8&5fL\E*(B}
-$B6aG/!"J,;6%W%m%0%i%`$N<{MW$,9b$^$C$F$-$F$$$k$,!"0MA3$H$7$F$=$l$i$OJ#;($J(B
-API$B$K$J$j$,$A$G$"$k!#$=$3$G!"%7%s%W%k$J(BAPI$B$rMQ$$$?Bg5,LOJ,;6%W%m%0%i%`MQ(B
-$B$NDL?.%W%m%H%3%k$r@_7W$7$?$$!#(B
+\section{はじめに}
+\subsection{研究目的}
+近年、分散プログラムの需要が高まってきているが、依然としてそれらは複雑な
+APIになりがちである。そこで、シンプルなAPIを用いた大規模分散プログラム用
+の通信プロトコルを設計したい。
 
-$BK\8&5f$G$O!"%7%s%W%k$J(BAPI$B$r;}$C$?J,;6%W%m%0%i%`$H$7$F(BLinda$B$r4pHW$K3+H/$9(B
-$B$k$3$H$K$7$?!#=>Mh$N(BLinda$B$O!";22C$9$kBf?t$,A}$($l$PA}$($kDx!"(B1$B$D$N(BLinda
-$B%5!<%P!<$KIi2Y$,=8Cf$7$F$7$^$$!"E,@Z$J=hM}$r9T$J$&;v$,$G$-$J$$$H$$$&$N$,(B
-$B8=>u$G$"$k!#(B
+本研究では、シンプルなAPIを持った分散プログラムとしてLindaを基盤に開発す
+ることにした。従来のLindaは、参加する台数が増えれば増える程、1つのLinda
+サーバーに負荷が集中してしまい、適切な処理を行なう事ができないというのが
+現状である。
 
-$B$=$3$G!"(B1$B$D$N(BLinda$B%5!<%P!<$KIi2Y$,=8Cf$7$J$$$h$&$K$9$k$?$a$K$O!"J#?t$N(B
-Linda$B%5!<%P!<$r@\B3$7!"$=$l$>$l$N%?%W%k%9%Z!<%9$rO"7H$5$;!"%?%W%k$rF14|(B
-$B$9$kI,MW$,$"$k!#(B
+そこで、1つのLindaサーバーに負荷が集中しないようにするためには、複数の
+Lindaサーバーを接続し、それぞれのタプルスペースを連携させ、タプルを同期
+する必要がある。
 
-$BK\8&5f$G$O!"(BLinda$B$NMxJX@-$H%9%1!<%i%S%j%F%#$r7s$MHw$($?!"?7$7$$J,;6%W%m(B
-$B%0%i%`$N$+$?$A$rL\;X$9$3$H$K$9$k!#(B
+本研究では、Lindaの利便性とスケーラビリティを兼ね備えた、新しい分散プロ
+グラムのかたちを目指すことにする。
 
-\subsection{$B8&5fFbMF(B}
-$BK\8&5f<<$G$O!"$3$l$^$G$K(BFederated Linda$B$H$$$&!"J#?t$N(BLinda$B$r@\B3$7$?%b%G(B
-$B%k$rDs0F$7!"<BAu$7$F$-$?!#(BFederated Linda$B$O!"$=$l$>$l$N%?%W%k%9%Z!<%9F1(B
-$B;N$,O"7H$7!"%?%W%k$rF14|$9$k!#(B
+\subsection{研究内容}
+本研究室では、これまでにFederated Lindaという、複数のLindaを接続したモデ
+ルを提案し、実装してきた。Federated Lindaは、それぞれのタプルスペース同
+士が連携し、タプルを同期する。
 
-$BK\8&5f$G$O!"$3$N%7%9%F%`>e$GF0$/!"%M%C%H%o!<%/%2!<%`$NNcBj$r3+H/$7!"%F%9(B
-$B%H$9$k$3$H$K$7$?!#%M%C%H%o!<%/%2!<%`>e$G$d$j<h$j$5$l$k%*%V%8%'%/%H%G!<%?(B
-$B$r%j%"%k%?%$%`$GDL?.$9$k<jK!$r9M$($k$3$H$K$7$?!#(B
+本研究では、このシステム上で動く、ネットワークゲームの例題を開発し、テス
+トすることにした。ネットワークゲーム上でやり取りされるオブジェクトデータ
+をリアルタイムで通信する手法を考えることにした。
 
-\section{$B:n@.$9$k%M%C%H%o!<%/%2!<%`$N35MW(B}
-$BF1$8$/K\8&5f<<$G3+H/$r9T$C$F$$$k!"%2!<%`3+H/%U%l!<%`%o!<%/(BCerium$B$rMQ$$$F!"(B
-$B3+H/$r9T$&$b$N$H$9$k!#(B
+\section{作成するネットワークゲームの概要}
+同じく本研究室で開発を行っている、ゲーム開発フレームワークCeriumを用いて、
+開発を行うものとする。
 
-$BNcBj$r9=@.$9$k%W%m%0%i%`$O!"0J2<$N(B3$B<oN`$G$"$k!#(B
+例題を構成するプログラムは、以下の3種類である。
 \begin{enumerate}
  \item Federated Linda Server
  \item Client
@@ -65,58 +65,58 @@
 \end{enumerate}
 
 \subsection{Federated Linda Server}
-$BK\8&5f<<$G3+H/$5$l$?!"(BFederated Linda Server$B$rMQ$$$k!#$3$l$O!"%/%i%9%?!<(B
-$B>e$GJ#?tBf<B9T$5$l$F$$$k;v$rA[Dj$7$F$$$k!#(B
+本研究室で開発された、Federated Linda Serverを用いる。これは、クラスター
+上で複数台実行されている事を想定している。
 
-$B$=$l$>$l$N(BClient$B$d(BViewer$B$r(B1$BBf$N(BLinda Server$B$K@\B3$9$k$N$G$O$J$/!"J#?tBf(B
-$B$"$k(BFederated Linda Server$B$KJ,;6$7$F@\B3$9$k!#(B
+それぞれのClientやViewerを1台のLinda Serverに接続するのではなく、複数台
+あるFederated Linda Serverに分散して接続する。
 
-$B$3$N(BServer$B$O!"(BClient$B$+$i(BViewer$B$X$H>pJs$rDL?.$9$kCf7QLr$H$J$C$F$$$k!#$3$N(B
-$BDL?.$NJ}K!$OFHFC$J$N$G!"8e$N>O$K$F>\$7$/2r@b$7$?$$!#(B
+このServerは、ClientからViewerへと情報を通信する中継役となっている。この
+通信の方法は独特なので、後の章にて詳しく解説したい。
 
 \subsection{Client}
-Cerium$B$rMQ$$$F<BAu$5$l$k!#$3$l$O!"%N!<%H(BPC$B$J$I$rA[Dj$7$F$*$j!"J#?tBfB8:_(B
-$B$9$k!#(B
+Ceriumを用いて実装される。これは、ノートPCなどを想定しており、複数台存在
+する。
 
-Client$B$O!"(BXML$B7A<0$GJ]B8$5$l$?%*%V%8%'%/%H$r3+$-!"(BClient$B$N2hLL>e$KI=<($9(B
-$B$k!#$=$N8e!"(BXML$B%G!<%?$r$=$N$^$^(BFederated Linda Server$BB&$KAw?.$9$k!#(B
+Clientは、XML形式で保存されたオブジェクトを開き、Clientの画面上に表示す
+る。その後、XMLデータをそのままFederated Linda Server側に送信する。
 
-$B$^$?!"2hLL>e$KI=<($7$?%*%V%8%'%/%H$O!"==;z%-!<$J$I$rMQ$$$FA`:n$9$k$3$H$,(B
-$B$G$-$k!#$=$N:BI8$N99?7%G!<%?$b!"JQ99$,$"$kEY$K(BFederated Linda Server$BB&$K(B
-$BAw?.$9$k!#(B
+また、画面上に表示したオブジェクトは、十字キーなどを用いて操作することが
+できる。その座標の更新データも、変更がある度にFederated Linda Server側に
+送信する。
 
 \subsection{Viewer}
-Cerium$B$rMQ$$$F<BAu$5$l$k!#$3$l$O!"(BPS3$B>e$G<B9T$5$l$k$3$H$rA[Dj$7$F$$$k!#(B
+Ceriumを用いて実装される。これは、PS3上で実行されることを想定している。
 
-Viewer$B$OJ#?t$N(BClient$B$+$i!"(BXML$B7A<0$G(BFederated Linda Server$BB&$KAw$i$l$F$/(B
-$B$k%*%V%8%'%/%H%G!<%?$NF~NO$r<u$1$D$1$k!#<!$K!"<u$1<h$C$?%G!<%?$r2r@O$7$F!"(B
-$B=PNO2hLL$X%l%s%@%j%s%0$r9T$&!#$3$N$H$-!"(BViewer$B$O!"J#?t$N(BClient$B$+$iAw$i$l(B
-$B$F$-$?J#?t$N%*%V%8%'%/%H$rI=<($9$k$h$&$K$J$k!#(B
+Viewerは複数のClientから、XML形式でFederated Linda Server側に送られてく
+るオブジェクトデータの入力を受けつける。次に、受け取ったデータを解析して、
+出力画面へレンダリングを行う。このとき、Viewerは、複数のClientから送られ
+てきた複数のオブジェクトを表示するようになる。
 
-$B$=$N8e!"$=$l$>$l$N(BClient$B$+$i(BFederated Linda Server$B$XAw$i$l$F$/$k:BI8%G!<(B
-$B%?$r<hF@$7!"$=$N<hF@$7$F$-$?:BI8%G!<%?$K=>$C$F%*%V%8%'%/%H$N0LCV>pJs$J$I(B
-$B$r99?7$9$k!#(B
+その後、それぞれのClientからFederated Linda Serverへ送られてくる座標デー
+タを取得し、その取得してきた座標データに従ってオブジェクトの位置情報など
+を更新する。
 
-$B$3$N$h$&$K%W%m%0%i%_%s%0$r9T$&$3$H$K$h$C$F!"(BClient$B>e$GI=<($7!"F0$$$F$$$k(B
-$B%*%V%8%'%/%H$r!"(BViewer$BB&$G$bF1$8$h$&$KF0$$$F$$$k$h$&$K8+$;$k$3$H$,$G$-$k!#(B
+このようにプログラミングを行うことによって、Client上で表示し、動いている
+オブジェクトを、Viewer側でも同じように動いているように見せることができる。
 
-\section{$B:#8e$N2]Bj(B}
+\section{今後の課題}
 
 
-\section{Linda$B$N(BAPI}
-Linda$B$NDL?.$O!"I=(B\ref{tab:lindaapi}$B$K<($7$?!"%7%s%W%k$J(BAPI$B$+$i@.$jN)$C$F$$$k!#(B
+\section{LindaのAPI}
+Lindaの通信は、表\ref{tab:lindaapi}に示した、シンプルなAPIから成り立っている。
 
 \begin{table}[htbp]
 \begin{tabular}[t]{|l|l|}
 \hline
-in(id)&$B%?%W%k6u4V$+$i<h$j=P$9!#(B\\&$B%?%W%k6u4V$K%?%W%k$O;D$i$J$$!#(B\\
+in(id)&タプル空間から取り出す。\\&タプル空間にタプルは残らない。\\
 \hline
-read(id)&$B%?%W%k6u4V$+$i<h$j=P$9!#(B\\&$B%?%W%k6u4V$K%?%W%k$,;D$k!#(B\\
+read(id)&タプル空間から取り出す。\\&タプル空間にタプルが残る。\\
 \hline
-out(id,data)&$B%?%W%k6u4V$K%?%W%k$rF~$l$k!#(B \\
+out(id,data)&タプル空間にタプルを入れる。 \\
 \hline
 \end{tabular}
-\caption{Linda$B$N(BAPI}
+\caption{LindaのAPI}
 \label{tab:lindaapi}
 \end{table}
 
@@ -127,11 +127,11 @@
 \thispagestyle{fancy}
 \begin{thebibliography}{9}
 
-\bibitem{1}$B5\T"(B $BEO(B, $B2OLn(B $B??<#(B, $B?@N$(B $B98(B, $B?y;3(B $B@i=)(B: Cell $BMQ$N(B Fine-grain Task Manager $B$N<BAu(B, $BBh(B108$B2s%7%9%F%`%=%U%H%&%'%"$H%*%Z%l!<%F%#%s%0!&%7%9%F%`8&5f2q(B(2008)
+\bibitem{1}宮國 渡, 河野 真治, 神里 晃, 杉山 千秋: Cell 用の Fine-grain Task Manager の実装, 第108回システムソフトウェアとオペレーティング・システム研究会(2008)
 
-\bibitem{2}$B9b66(B $B<w0l(B:$BCN<1%<%m$+$i3X$V%=%U%H%&%'%"%F%9%H(B, $BfF1K<R(B (2005)
+\bibitem{2}高橋 寿一:知識ゼロから学ぶソフトウェアテスト, 翔泳社 (2005)
 
-\bibitem{3}$B0KF#(B $B4n0l(B:CppUnit$BF~Lg(B, (http://www.ogis-ri.co.jp/otc/hiroba/technical/CppUnit/)
+\bibitem{3}伊藤 喜一:CppUnit入門, (http://www.ogis-ri.co.jp/otc/hiroba/technical/CppUnit/)
 
 \end{thebibliography}
 \end{document}