view mid-thesis.tex @ 5:ebc7b24878ec

add subsection of 2
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Thu, 17 Oct 2019 18:45:03 +0900
parents bfa17e63ec57
children 17b65ea13000
line wrap: on
line source

\documentclass[twocolumn,twoside,9.5pt]{jarticle}
\usepackage[dvipdfmx]{graphicx}
\usepackage{picins}
\usepackage{fancyhdr}

\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{pic/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 中間発表予稿}
\rhead{}
\cfoot{}

\setlength{\topmargin}{-1in \addtolength{\topmargin}{15mm}}
\setlength{\headheight}{0mm}
\setlength{\headsep}{5mm}
\setlength{\oddsidemargin}{-1in \addtolength{\oddsidemargin}{11mm}}
\setlength{\evensidemargin}{-1in \addtolength{\evensidemargin}{21mm}}
\setlength{\textwidth}{181mm}
\setlength{\textheight}{261mm}
\setlength{\footskip}{0mm}
\pagestyle{empty}

\begin{document}
\title{分散フレームワークChristieを用いたremote editor}
\author{165713F 一木貴裕 {}{} 指導教員 : 河野真治}
\date{}
\maketitle
\thispagestyle{fancy} 

\section{研究背景}
近年、情報社会の発展にともないプログラミングを始めとしたIT技術に対する注目が集まっている。特定の場所に赴かずとも仕事を行うことができるリモートワークの増加、互いのいる場所を問わず画面越しに対話が行える遠隔会議、小学校教育の一環にプログラミングを取り組むといった動きがその一例と言える。これらの取り組みをより発展させる方法としてremote editorの開発を考案した。\\
 開発するremote editorは異なるマシン上のtext editorをを接続し、異なるエディタ間でも通信が行えるよう編集コマンドを統一する共通プロトコルを用いる。接続された一つのマシン上のエディタで編集を行うと、編集位置と内容を逐次 共通の編集コマンドに変換する。変換されたコマンドを接続ネットワークに送信することで遠隔でのテキスト編集を行う。\\
 このremote editorは先行研究として参考文献[1](後設定)が存在する。先行研究ではネットワークをリング型で構成しトークンを巡回させていたが、芳しい結果が得られなかった。これらの反省点を踏まえ本研究ではスター型ネットワークを用いることでremote editorの高速化を計る。また当研究室で開発している分散フレームワークChristieを用いることにより、エディタ間の通信の構成を行い、Christieの実用性の検討と証明を行う。\\
 Christieはユーザーが分散プログラムを行う際、並列で動く資源など複雑性を緩和しながらプログラムを書き上げることができる構造となっている。Christieは接続された異なるノード間において互いのキーの差し合いだけで通信を行うことができ、remote editorの通信を手軽に実現することができる。\\
\section{テキストエディタ}
リモートエディタは共通プロトコルが対応するエディタが保持するバッファを開いて編集することができる。ネットワーク上の一つのバッファが編集されると他のバッファにも変更が反映され、お互いのバッファを編集し合うことができる。\\

\subsection{共通プロトコルのコマンド}
共通プロトコルの編集コマンドはinsertとdeleteの二種類しか存在しない。この二種のコマンドを用いエディタ間の協調動作を実現する。
\begin{itemize}
  \item insert:
  バッファに挿入された内容とオフセット位置をキーとし、他のバッファへ送信し反映させる。
  \item delete:
  バッファで削除されたオフセット位置をキーとし、他のバッファへ送信し反映させる。
\end{itemize}
\subsection{編集位置の相違とその解消}
エディタ同士のコマンドの送信はそれぞれが独立して行うため、編集対象の領域にエディタ間で相違が生じる場合がある。図\ref{fig:diff_off}を使用して解説する。 本セクションでは共通プロトコルとeditor間で生じる相違の解消について説明する。\\
 編集対象は各オフセット番号に同じ値の数字が入っているものとする。EditorAではオフセット番号3の3という要素を削除(テキストエディタ上のため削除されたオフセットにはその後ろの要素が繰り上げられる。)、EditorBではオフセット番号2にAという要素を挿入するという編集をしたとする。この編集を共通プロトコルとして互いに送信しあった際、本来編集する予定だったオフセットの中身が食い違ってしまい最終的に異なった内容となってしまう。これを防ぐためには
\begin{itemize}
  \item 送信されたコマンドを巡回トークンを用いて一元化する。
  \item 自身が編集したオフセットと受信したコマンドの編集オフセットの位置を比較し、修正する。
\end{itemize}
という手順が必要となる。

\begin{figure}[htpb]
 \begin{center}
  \scalebox{0.4}{\includegraphics{pic/graph/difference_offset.pdf}}
 \end{center}
 \caption{通信によるオフセット位置のずれ}
 \label{fig:diff_off}
\end{figure}

\subsection{スター型ネットワークによる巡回トークン}
このセクションではスター型で構成されたネットワーク上の巡回トークンについて解説する。\\

\section{分散フレームワークChristie}
\subsection{TopologyManager}

\section{今後の作業}

\begin{thebibliography}{9}

\bibitem{1}

\end{thebibliography}
\end{document}