# HG changeset patch # User ichikitakahiro # Date 1571387120 -32400 # Node ID 17b65ea13000d27598c0b03e75eb21dec5f70bda # Parent ebc7b24878ec79def6153e5278d66641388720e8 add ~last diff -r ebc7b24878ec -r 17b65ea13000 .DS_Store Binary file .DS_Store has changed diff -r ebc7b24878ec -r 17b65ea13000 Makefile --- a/Makefile Thu Oct 17 18:45:03 2019 +0900 +++ b/Makefile Fri Oct 18 17:25:20 2019 +0900 @@ -15,8 +15,10 @@ .tex.dvi: $(LATEX) $< + $(BIBTEX) $(TARGET) $(LATEX) $< $(LATEX) $< + cp $(TARGET).pdf 165713F_mid_thesis.pdf .dvi.pdf: $(DVIPDF) $(DVIPDF_OPT) $< diff -r ebc7b24878ec -r 17b65ea13000 mid-thesis.pdf Binary file mid-thesis.pdf has changed diff -r ebc7b24878ec -r 17b65ea13000 mid-thesis.tex --- a/mid-thesis.tex Thu Oct 17 18:45:03 2019 +0900 +++ b/mid-thesis.tex Fri Oct 18 17:25:20 2019 +0900 @@ -2,7 +2,10 @@ \usepackage[dvipdfmx]{graphicx} \usepackage{picins} \usepackage{fancyhdr} - +\usepackage{abstract} +\usepackage{here} +\usepackage{url} +%\pagestyle{fancy} \lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 中間発表予稿} \rhead{} \cfoot{} @@ -41,7 +44,7 @@ バッファで削除されたオフセット位置をキーとし、他のバッファへ送信し反映させる。 \end{itemize} \subsection{編集位置の相違とその解消} -エディタ同士のコマンドの送信はそれぞれが独立して行うため、編集対象の領域にエディタ間で相違が生じる場合がある。図\ref{fig:diff_off}を使用して解説する。 本セクションでは共通プロトコルとeditor間で生じる相違の解消について説明する。\\ +共通プロトコルとエディタ間で生じる相違の解消について説明する。エディタ同士のコマンドの送信はそれぞれが独立して行うため、編集対象の領域にエディタ間で相違が生じる場合がある。例としてエディタが一対一の接続となっている時の相違を図\ref{fig:diff_off}を使用して解説する。\\  編集対象は各オフセット番号に同じ値の数字が入っているものとする。EditorAではオフセット番号3の3という要素を削除(テキストエディタ上のため削除されたオフセットにはその後ろの要素が繰り上げられる。)、EditorBではオフセット番号2にAという要素を挿入するという編集をしたとする。この編集を共通プロトコルとして互いに送信しあった際、本来編集する予定だったオフセットの中身が食い違ってしまい最終的に異なった内容となってしまう。これを防ぐためには \begin{itemize} \item 送信されたコマンドを巡回トークンを用いて一元化する。 @@ -51,23 +54,39 @@ \begin{figure}[htpb] \begin{center} - \scalebox{0.4}{\includegraphics{pic/graph/difference_offset.pdf}} + \scalebox{0.3}{\includegraphics{pic/graph/difference_offset.pdf}} \end{center} \caption{通信によるオフセット位置のずれ} \label{fig:diff_off} \end{figure} \subsection{スター型ネットワークによる巡回トークン} -このセクションではスター型で構成されたネットワーク上の巡回トークンについて解説する。\\ +スター型で構成されたネットワーク上の巡回トークンについて解説する。スター型とは主要となるサーバーから、接続された他の全てのノードが直接接続される形のネットワークトポロジーである。\\ +スター型ネットワークで接続されたリモートエディタにトークンを巡回させコマンドの送信と受信を行う。先行研究のリング型ネットワークと比較したスター型ネットワークの利点として +\begin{itemize} + \item リング型ではコマンドの一元化を保持するのが難しいが、スター型ではサーバーが中心となるため一元性の保持が容易である。 + \item ノードが障害を起こしても影響がそのノードのみに限られる。 + \item リング型では速度が問題となり遅延が発生していたが、スター型にすることにより改善が期待できる。 +\end{itemize} +が挙げられる。 \section{分散フレームワークChristie} -\subsection{TopologyManager} +ここでは当研究室が開発している分散フレームワークChristieについて説明する。Christieはjava言語で開発されている。また同じく当研究室で開発している言語Continuation based C(以下CbC)で構成されているGearsOSに組み込まれる予定がある。そのため CbCと似たGearというプログラミング概念が存在する。Gearは以下の四種類が存在する。 +\begin{itemize} + \item CodeGear (以下CG) + \item DataGear (以下DG) + \item CodeGearManager (以下CGM) + \item DataGearManager (以下DGM) +\end{itemize} +CodeGearはクラス、メソッドに相当し、DataGearは変数データに相当する。CodeGearManagerはノードであり、CodeGear, DataGear, CodeGearManagerを管理する。 CodeGearManagerはDataGearを管理するものであり、putという操作により変数データ、つまりDataGearを格納できる。\\ +DataGearManagerにはLocalとRemoteの二種がある。Localであれば、LocalのCodeGearManagerが管理しているDataGearManagerに対し、DataGearを格納していく。Remoteであれば、Remote先のCodeGearManagerにDataGearを格納できる。\\ + また、DataGearはアノテーションを付けデータの取り出し方を指定する必要がある。アノテーションにはTakeとPeekの二つがあり、Takeは読み込んだDataGearを保持せず消えるが、PeekはDataGearを保持し続ける。また、RemoteTake,RemotePeekというものもあり、リモート先を指定することにより、RemoteDataGearManagerからデータを取ることができる。\\ + CodeGearはCodeGearManagerによって実行される。ただし、CodeGear内に記述されたDataGearが全て入力される必要がある。もしDataGearが揃わない場合、CodeGearManagerはDataGearが揃うまで待機状態となる。 \section{今後の作業} - -\begin{thebibliography}{9} +現時点ではChristieと同じjava言語で作成したエディタをネットワーク接続し、エディタ同士のやりとりの動作を確立している。また、現在はオフセット番号を取得し同期を行なっているが、emacsなどのエディタは行単位で挿入と削除を行なっているため変更する必要がある。 -\bibitem{1} - -\end{thebibliography} +\nocite{*} +\bibliographystyle{junsrt} +\bibliography{reference} \end{document} \ No newline at end of file diff -r ebc7b24878ec -r 17b65ea13000 pic/.DS_Store Binary file pic/.DS_Store has changed diff -r ebc7b24878ec -r 17b65ea13000 pic/graph/difference_offset.graffle Binary file pic/graph/difference_offset.graffle has changed diff -r ebc7b24878ec -r 17b65ea13000 pic/graph/difference_offset.pdf Binary file pic/graph/difference_offset.pdf has changed diff -r ebc7b24878ec -r 17b65ea13000 reference.bib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/reference.bib Fri Oct 18 17:25:20 2019 +0900 @@ -0,0 +1,64 @@ +%% This BibTeX bibliography file was created using BibDesk. +%% http://bibdesk.sourceforge.net/ + +%% Created for 赤堀 貴一 at 2018-11-14 23:03:28 +0900 + + +%% Saved with string encoding Unicode (UTF-8) + + + +@misc{dfs, + Author = {河野 真治}, + Date-Added = {2018-11-14 13:43:20 +0000}, + Date-Modified = {2018-11-14 14:03:24 +0000}, + Howpublished = {IPSJ SIG Technical Report}, + Month = {May}, + Title = {分散フレームワークChristieと分散木構造データベースJungle}, + Year = {2018}} + +@article{cbc, + Author = {Kaito TOKKMORI and Shinji KONO}, + Date-Added = {2018-11-14 13:40:03 +0000}, + Date-Modified = {2018-11-14 13:40:03 +0000}, + Journal = {LOLA 2015}, + Month = {July}, + Title = {Implementing Continuation based language in LLVM and Clang}, + Year = 2015} + + + +@misc{christie, + Author = {照屋 のぞみ}, + Date-Added = {2018-11-14 13:36:55 +0000}, + Date-Modified = {2018-11-14 13:42:27 +0000}, + Month = {March}, + Title = {分散フレームワークChristieの設計}, + Year = {2018}, + Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QNy4uLy4uL1BhcGVycy8yMDE4L25vem9taS1tYXN0ZXIvcGFwZXIvbm96b21pLW1hc3Rlci5wZGbSFwsYGVdOUy5kYXRhTxEBsAAAAAABsAACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAAAAAAAEJEAAH/////EW5vem9taS1tYXN0ZXIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAgAFAAAKIGN1AAAAAAAAAAAAAAAAAAVwYXBlcgAAAgBaLzpVc2VyczplMTU1NzUzOlNwZWNpYWxpemVkX3N1YmplY3Q6a29ubzpQYXBlcnM6MjAxODpub3pvbWktbWFzdGVyOnBhcGVyOm5vem9taS1tYXN0ZXIucGRmAA4AJAARAG4AbwB6AG8AbQBpAC0AbQBhAHMAdABlAHIALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAFhVc2Vycy9lMTU1NzUzL1NwZWNpYWxpemVkX3N1YmplY3Qva29uby9QYXBlcnMvMjAxOC9ub3pvbWktbWFzdGVyL3BhcGVyL25vem9taS1tYXN0ZXIucGRmABMAAS8AABUAAgAO//8AAIAG0hscHR5aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011dGFibGVEYXRhox0fIFZOU0RhdGFYTlNPYmplY3TSGxwiI1xOU0RpY3Rpb25hcnmiIiBfEA9OU0tleWVkQXJjaGl2ZXLRJidUcm9vdIABAAgAEQAaACMALQAyADcAQABGAE0AVQBgAGcAagBsAG4AcQBzAHUAdwCEAI4AyADNANUCiQKLApACmwKkArICtgK9AsYCywLYAtsC7QLwAvUAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC9w==}} + +@misc{rep, + Author = {安村 恭一}, + Date-Added = {2019-10-18 13:43:20 +0000}, + Date-Modified = {2018-11-18 14:03:24 +0000}, + Howpublished = {IPSJ SIG Technical Report}, + Month = {Merch}, + Title = {巡回トークンを用いた複数人テキスト編集とセッション管理}, + Year = {2004}} + + + +@comment{BibDesk Static Groups{ + + + + + + group name + Group + keys + + + + +}}