# HG changeset patch # User oc # Date 1424152731 -32400 # Node ID 583b83ff748cd630fb0bb26401ca98f8903d9ab4 # Parent 1e53befbc4d9b797ae27f56c5d3d346268816f37 rename directory, update abstruct, update chapter1 diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/2015_final_pre.bib --- a/prepaper/2015_final_pre.bib Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -@Misc{rfbprotocol, - author = "Tristan Richardson", - title = "The RFB Protocol", - howpublished = "\url{http://www.realvnc.com/docs/rfbproto.pdf}" -} - -@Misc{tightvnc, - title = "{TightVNC Software}", - howpublished = "\url{http://www.tightvnc.com}" -} - -@article{taninari:thesis, - author = "谷成 雄 and 河野 真治", - title = "授業やゼミ向けの画面共有システム TreeVNC の設計と実装 A Screen Sharing System using Tree Structure for Seminar and Classwork", - journal = "琉球大学工学部情報工学科 平成25年度 学位論文(修士)", - year = 2008 -} - -@article{taninari:2012a, - author = "谷成 雄 and 大城 信康 and 河野 真治", - title = "VNCを用いた授業用画面共有システムの設計・開発", - journal = "情報処理学会", - month = "may", - year = 2012 -} - -@article{taninari:2011a, - author = "谷成 雄 and 大城 信康 and 河野 真治", - title = "JAVAによるVNCを用いた授業用画面共有システムの設計と開発", - journal = "日本ソフトウェア科学会", - month = "sep", - year = 2011 -} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/2015_final_pre.pdf Binary file prepaper/2015_final_pre.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/2015_final_pre.tex --- a/prepaper/2015_final_pre.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -\documentclass[twocolumn,twoside,7pt]{jarticle} -\usepackage[dvipdfmx]{graphicx} -\usepackage{picins} -\usepackage{fancyhdr} -\usepackage{setspace} - -\pagestyle{fancy} -\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{images/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 卒業研究発表会} -\rhead{} -\cfoot{} - -\setstretch{0.8} -\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{授業やゼミ向けの画面配信システムTreeVNCの機能拡張 -Improvements of Screen Sharing System TreeVNC} -\author{115747H 氏名 大城 美和 指導教員 : 河野 真治} -\maketitle -\thispagestyle{fancy} - -%英語Abstract -\input{abstract.tex} - -%研究目的 -\input{chapter1.tex} - -% リファクタリング -\input{chapter2.tex} - -% 新機能 -\input{chapter3.tex} - -%まとめ -\input{chapter4.tex} - -%参考文献 -\bibliographystyle{ipsjunsrt} -\input{bibliography.tex} - -\end{document} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/Makefile --- a/prepaper/Makefile Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -TARGET=2015_final_pre -TEX=platex -DVIPDF=dvipdfmx - -.SUFFIXES: .tex .dvi - -all: pdf# $(TARGET).ps - open $(TARGET).pdf - -dvi: - $(TEX) $(TARGET) - -pdf: dvi - $(DVIPDF) $(TARGET) - - -clean: - rm -f $(TARGET).dvi $(TARGET).aux $(TARGET).log diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/abstract.tex --- a/prepaper/abstract.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -\section{Abstract} - -I improvemented of screen sharing system TreeVNC. -% 私は画面共有システムTreeVNCの機能拡張を行った -VNC is an application that can share the screen via the network. -% VNCは、ネットワークを通して画面を共有することのできるアプリケーションである。 -TreeVNC is an distributed application that can be load balance sharing the screen via the network. -%TreeVNC = the distributed application(分散アプリケーション) -% TreeVNCは、負荷を分散しながら、画面の配信を行うことの出来る分散アプリケーションである。 - -Usual VNC is designed that load is concentrated to distributor. -%VNCは、配信者に負荷が集中してしまう設計になっている。 -For example, when performing screen sharing using VNC in lectures, load on the distributor would increase in proportion to the increase of the client, the processing performance decreases. -%例えば授業で画面の共有にVNCを使用すると、 -%クライアントが増えるにつれ、配信者への負荷が増えてしまい、 -%処理性能が低下する。 - -TreeVNC connecting each clients in a tree structure. -% TreeVNCは木構造状にクライアントを接続する。 -TreeVNC is realized the load balancing by flowing from the top to the bottom of the tree data that parent has been delivered screen data. -% TreeVNCは親から配信される画面データを木の上から下まで流すことによって、負荷分散を実現している。 - -TreeVNC can switch the connection to the VNCServer per screen distributor. -% TreeVNCが画面配信者毎にVNCServerとの接続を切り替えることができる。 -As a result of TreeVNC can be switched easily presenter. - -In this paper, I refactoring TreeVNC, easier to use, and easier to debugging. -% TreeVNCのTree構造の変更や、新たに遠隔地からのTreeVNCを使用可能にする機能の実装を行った。 -Furthermore, I improvemented of the features that enable TreeVNC from a remote location. diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/abstract_j.tex --- a/prepaper/abstract_j.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -\section{概要} - -授業やゼミ向けの画面共有システムTreeVNCの改良と機能拡張を行った。 -VNCとは、ネットワークを介して画面を共有することができるアプリケーションである。 -TreeVNCとは、負荷を分散しながら画面の共有を行うことの出来る分散アプリケーションである。 - -従来のVNCは、配信者に負荷が集中してしまう設計になっている。 -例えば授業で画面の共有にVNCを使用すると、 -クライアントが増えるにつれ、配信者への負荷が増えてしまい、 -処理性能が低下する。 - -TreeVNCは、各クライアントをツリー状に接続し、 -親が配信したデータを木の上から下へ流すことで -負荷分散を実現している。 -TreeVNCが画面配信者毎にVNCServerとの接続を切り替えることができるので、 -発表者の切り替えが容易に行える。 - -TreeVNCをより使用しやすく、デバッグしやすく、遠隔地からも利用できるよう、機能拡張を行った。 - -TreeVNCのTree構造の変更や、新たに遠隔地からのTreeVNCを使用可能にする機能の実装を行った。 - - diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/bibliography.tex --- a/prepaper/bibliography.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ - -\begin{thebibliography}{10} - -\bibitem{1} - {TightVNC: VNC-Compatible Free Remote Control / Remote Desktop Software}\\ - \verb|http://www.tightvnc.com/| -\bibitem{2} - {RFB Protocol - rfbproto.pdf}\\ - \verb|http://www.realvnc.com/docs/rfbproto.pdf| - -\bibitem{taninari:thesis} - {Yu TANINARI and Shinji KONO}:授業やゼミ向けの画面共有システム TreeVNC の設計と実装(2008) - -\bibitem{taninari:2012a} - {Yu TANINARI and Nobuyasu OSHIRO and Shinji KONO}:VNCを用いた授業用画面共有システムの設計・開発(2012) - -\bibitem{taninari:2011a} - {Yu TANINARI and Shinji KONO}:JAVAによるVNCを用いた授業用画面共有システムの設計と開発(2011) - -\end{thebibliography} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/chapter1.tex --- a/prepaper/chapter1.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -% 研究目的 -\section{研究目的} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/chapter2.tex --- a/prepaper/chapter2.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -\section{リファクタリング} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/chapter3.tex --- a/prepaper/chapter3.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -\section{新機能} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/chapter4.tex --- a/prepaper/chapter4.tex Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -\section{まとめ} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/createTask.bb --- a/prepaper/images/createTask.bb Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -%%Title: ./images/createTask.pdf -%%Creator: extractbb 20090506 -%%BoundingBox: 0 0 512 391 -%%CreationDate: Tue Feb 25 23:52:44 2014 - diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/createTask.pdf Binary file prepaper/images/createTask.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/createTask.xbb --- a/prepaper/images/createTask.xbb Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -%%Title: ./images/createTask.pdf -%%Creator: extractbb 20090506 -%%BoundingBox: 0 0 512 391 -%%HiResBoundingBox: 0.000000 0.000000 512.000000 391.000000 -%%PDFVersion: 1.3 -%%Pages: 1 -%%CreationDate: Tue Feb 25 23:52:52 2014 - diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/culculate_index.bb --- a/prepaper/images/culculate_index.bb Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -%%Title: ./images/culculate_index.pdf -%%Creator: extractbb 20090506 -%%BoundingBox: 0 0 562 226 -%%CreationDate: Tue Feb 25 23:26:03 2014 - diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/culculate_index.pdf Binary file prepaper/images/culculate_index.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/culculate_index.xbb --- a/prepaper/images/culculate_index.xbb Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -%%Title: ./images/culculate_index.pdf -%%Creator: extractbb 20090506 -%%BoundingBox: 0 0 562 226 -%%HiResBoundingBox: 0.000000 0.000000 562.000000 226.000000 -%%PDFVersion: 1.3 -%%Pages: 1 -%%CreationDate: Tue Feb 25 23:26:10 2014 - diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/emblem-bitmap.pdf Binary file prepaper/images/emblem-bitmap.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/paralle_exec.bb --- a/prepaper/images/paralle_exec.bb Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -%%Title: ./images/paralle_exec.pdf -%%Creator: extractbb 20090506 -%%BoundingBox: 0 0 740 184 -%%CreationDate: Wed Feb 26 13:08:32 2014 - diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/paralle_exec.pdf Binary file prepaper/images/paralle_exec.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/images/paralle_exec.xbb --- a/prepaper/images/paralle_exec.xbb Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -%%Title: ./images/paralle_exec.pdf -%%Creator: extractbb 20090506 -%%BoundingBox: 0 0 740 184 -%%HiResBoundingBox: 0.000000 0.000000 740.000000 184.000000 -%%PDFVersion: 1.3 -%%Pages: 1 -%%CreationDate: Wed Feb 26 13:08:38 2014 - diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/picins.sty --- a/prepaper/picins.sty Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,578 +0,0 @@ -% PICINS.STY --- Style File zum Einbinden von Bildern -% Autor: J. Bleser, E. Lang -% Hochschulrechenzentrum -% Technische Hochschule Darmstadt -% !!! Dieses Style-File ist urheberrechtlich geschuetzt !!! -% !!! Aenderungen nur mit Zustimmung der Autoren !!! -\message{Option `picins' Version 3.0 Sep. 1992, TH Darmstadt/HRZ} -\newbox\@BILD% -\newbox\@TEXT% -\newdimen\d@breite% -\newdimen\d@hoehe% -\newdimen\d@xoff% -\newdimen\d@yoff% -\newdimen\d@shad% -\newdimen\d@dash% -\newdimen\d@boxl% -\newdimen\d@pichskip% -\newdimen\d@tmp -\newdimen\d@tmpa -\newdimen\d@bskip -\newdimen\hsiz@% -\newdimen\p@getot@l% -\newcount\c@breite -\newcount\c@hoehe -\newcount\c@xoff -\newcount\c@yoff -\newcount\c@pos -\newcount\c@shad -\newcount\c@dash -\newcount\c@boxl -\newcount\c@zeilen% -\newcount\@changemode% -\newcount\c@piccaption% -\newcount\c@piccaptionpos% -\newcount\c@picpos -\newcount\c@whole% -\newcount\c@half% -\newcount\c@tmp -\newcount\c@tmpa -\newcount\c@tmpb -\newcount\c@tmpc -\newcount\c@tmpd -\newskip\d@leftskip -\newif\if@list \@listfalse% -\newif\if@offset% - - -\c@piccaptionpos=1% -\c@picpos=0 -\d@shad=4pt% -\d@dash=4pt% -\d@boxl=10pt% -\d@pichskip=1em% -\@changemode=0% -\def\@captype{figure}% -\let\old@par=\par% - -\def\pichskip#1{\d@pichskip #1\relax} - - -\def\shadowthickness#1{\d@shad #1\relax} - - -\def\dashlength#1{\d@dash #1\relax} - - -\def\boxlength#1{\d@boxl #1\relax} - - -\def\picchangemode{\@changemode=1}% -\def\nopicchangemode{\@changemode=0}% - - -\def\piccaptionoutside{\c@piccaptionpos=1}% -\def\piccaptioninside{\c@piccaptionpos=2}% -\def\piccaptionside{\c@piccaptionpos=3}% -\def\piccaptiontopside{\c@piccaptionpos=4}% - -\def\piccaption{\@ifnextchar [{\@piccaption}{\@piccaption[]}} -\def\@piccaption[#1]#2{\c@piccaption=1\def\sh@rtf@rm{#1}\def\capti@nt@xt{#2}} -\def\make@piccaption{% - \hsiz@\d@breite% - \ifnum\c@piccaptionpos=2% - \advance\hsiz@ -2\fboxsep% - \fi% - \ifnum\c@piccaptionpos>2% - \hsiz@\hsize\advance\hsiz@-\d@breite\advance\hsiz@-\d@pichskip% - \fi% - \setbox\@TEXT=\vbox{\hsize\hsiz@\caption[\sh@rtf@rm]{\capti@nt@xt}}% -} - - - -\def\newcaption{\refstepcounter\@captype\@dblarg{\@newcaption\@captype}} -\long\def\@newcaption#1[#2]#3{% - \old@par% - \addcontentsline{\csname ext@#1\endcsname }{#1}% - {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}} - \begingroup\@parboxrestore\normalsize% - \@newmakecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\old@par% - \endgroup% -} -\long\def\@newmakecaption#1#2{% - \vskip 10pt% - \setbox\@tempboxa \hbox {#1: #2}% - \ifdim \wd\@tempboxa >\hsize% - \setbox0=\hbox{#1: }\dimen0=\hsize\advance\dimen0 by-\wd0 - \setbox1=\vtop{\hsize=\dimen0 #2} - \hbox{\box0 \box1} - \par - \else \hbox to\hsize {\hfil \box \@tempboxa \hfil} - \fi -} - - - - - -\def\parpic{% - \@ifnextchar ({\iparpic}{\iparpic(0pt,0pt)} -} -\def\iparpic(#1,#2){% - \@ifnextchar ({\@offsettrue\iiparpic(#1,#2)}% - {\@offsetfalse\iiparpic(#1,#2)(0pt,0pt)} -} -\def\iiparpic(#1,#2)(#3,#4){% - \@ifnextchar [{\iiiparpic(#1,#2)(#3,#4)}{\iiiparpic(#1,#2)(#3,#4)[l]} -} -\def\iiiparpic(#1,#2)(#3,#4)[#5]{% - \@ifnextchar [{\ivparpic(#1,#2)(#3,#4)[#5]}{\ivparpic(#1,#2)(#3,#4)[#5][]} -} -\def\ivparpic(#1,#2)(#3,#4)[#5][#6]#7{% - \let\par=\old@par\par% - \hangindent0pt\hangafter1% - \setbox\@BILD=\hbox{#7}% - \d@breite=#1\d@breite=\the\d@breite% - \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% - \c@breite=\d@breite\divide\c@breite by65536% - \multiply\c@piccaption\c@piccaptionpos% - \d@hoehe=#2\d@hoehe=\the\d@hoehe% - \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% - \d@yoff=\d@hoehe% - \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% - \c@pos=1\unitlength1pt% - \if@offset% - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe){}}% - \put(\c@xoff,\c@yoff){\box\@BILD}% - \end{picture}% - }% - \else% - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% - \end{picture}% - }% - \fi% - \ifnum\c@piccaption=2% - \make@piccaption% - \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}% - \hbox{\hspace{\fboxsep}\box\@TEXT}% - \vspace{4pt}}% - \fi% - \@tfor\@tempa := #5\do{% - \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa l\c@pos=1\fi% - \if\@tempa r\c@pos=2\fi% - }% - \ifnum\c@piccaption=1% - \make@piccaption% - \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}\hbox{\box\@TEXT}\vspace{4pt}}% - \fi% - \ifodd\count0\c@picpos=0\else\c@picpos=\@changemode\fi% - \pagetotal=\the\pagetotal% - \d@tmp=\pagegoal\advance\d@tmp by-\pagetotal\advance\d@tmp by-\baselineskip% - \ifdim\d@hoehe>\d@tmp% - \vskip 0pt plus\d@hoehe\relax\pagebreak[3]\vskip 0pt plus-\d@hoehe\relax% - \ifnum\c@picpos=1\c@picpos=0\else\c@picpos=\@changemode\fi% - \fi% - \ifnum\c@picpos=1\ifnum\c@pos=1\c@pos=2\else\c@pos=1\fi\fi% - \ifnum\@listdepth>0 - \@listtrue\parshape 0% - \advance\hsize -\rightmargin% - \d@leftskip \leftskip% - \leftskip \@totalleftmargin% - \if@inlabel\rule{\linewidth}{0pt}\vskip-\baselineskip\relax\fi% - \else\@listfalse\medskip% - \fi% - \if@list\d@tmpa=\linewidth\else\d@tmpa=\hsize\fi% - \ifnum\c@piccaption=3% - \make@piccaption% - \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% - \ifdim\d@hoehe>\d@tmp% - \setbox\@TEXT=\vbox to\d@hoehe{\vfill\box\@TEXT\vspace{.2\baselineskip}\vfill}% - \else% - \setbox\@BILD=\vbox to\d@tmp{\vfill\box\@BILD\vfill}% - \d@hoehe\d@tmp% - \fi% - \fi% - \ifnum\c@piccaption=4% - \make@piccaption% - \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% - \setbox\@TEXT=\vbox to\d@hoehe{\vspace{-10pt}\box\@TEXT\vfil}% - \advance\d@hoehe-\d@tmp% - \fi% - \ifnum\c@pos=1\d@tmpa=0pt% - \ifnum\c@piccaption>2% - \setbox\@BILD=\hbox{\box\@BILD\hspace{\d@pichskip}\hbox{\box\@TEXT}}% - \fi% - \else\advance\d@tmpa by-\wd\@BILD\d@breite=-\d@breite% - \ifnum\c@piccaption>2% - \d@tmpa=0pt% - \setbox\@BILD=\hbox{\hbox{\box\@TEXT}\hspace{\d@pichskip}\box\@BILD}% - \fi% - \fi% - \p@getot@l\the\pagetotal% - \d@bskip\d@hoehe\advance\d@bskip by\parskip\advance\d@bskip by.3\baselineskip% - {\noindent\hspace*{\d@tmpa}\relax% - \box\@BILD\nopagebreak\vskip-\d@bskip\relax\nopagebreak}% - \d@tmp=-\d@hoehe\divide\d@tmp by\baselineskip% - \c@zeilen=\d@tmp\advance\c@zeilen by-1% - \ifdim\d@breite<0pt\advance\d@breite by-\d@pichskip% - \else\advance\d@breite by\d@pichskip% - \fi% - \hangindent=\d@breite% - \hangafter=\c@zeilen% - \let\par=\x@par% - \ifnum\c@piccaption=3% - \hangindent0pt\hangafter1\let\par=\old@par% - \vskip\d@hoehe\vskip.2\baselineskip% - \fi% - \c@piccaption=0% -} - - - - -\newdimen\ptoti -\newdimen\ptotii -\def\x@par{% - \ptoti\pagetotal% - \old@par% - \ptotii\pagetotal% - \ifdim\ptoti=\ptotii% - \d@tmp\d@hoehe% - \else% - \d@tmp\baselineskip% - \multiply\d@tmp by\prevgraf% - \advance\d@tmp by\parskip% - \global\advance\d@hoehe by-\d@tmp\d@tmp=\d@hoehe% - \fi% - \ifdim\d@hoehe>0pt% - \divide\d@tmp by\baselineskip\c@zeilen=-\d@tmp\advance\c@zeilen by-1% - \c@zeilen=\the\c@zeilen% - \else\c@zeilen=0 - \fi - \ifnum\c@zeilen<0\hangafter=\c@zeilen\hangindent=\d@breite% - \else\let\par=\old@par% - \hangindent 0pt% - \leftskip \d@leftskip% - \if@list\parshape \@ne \@totalleftmargin \linewidth% - \advance\hsize \rightmargin% - \fi% - \fi% -} - - -\def\picskip#1{% - \let\par=\old@par% - \par% - \pagetotal\the\pagetotal% - \c@tmp=#1\relax% - \ifnum\c@tmp=0% - \d@tmp\baselineskip\multiply\d@tmp by\prevgraf\advance\d@tmp\parskip% - \ifdim\p@getot@l<\pagetotal - \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% - \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% - \fi% - \ifdim\p@getot@l=\pagetotal% - \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% - \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% - \fi% - \else\hangafter=-\c@tmp\hangindent=\d@breite% - \fi% - \leftskip \d@leftskip% - \if@list\parshape \@ne \@totalleftmargin \linewidth% - \advance\hsize \rightmargin% - \fi% -} - - - - - - -\def\hpic{% - \@ifnextchar ({\ihpic}{\ihpic(0pt,0pt)} -} -\def\ihpic(#1,#2){% - \@ifnextchar ({\@offsettrue\iihpic(#1,#2)}% - {\@offsetfalse\iihpic(#1,#2)(0pt,0pt)} -} -\def\iihpic(#1,#2)(#3,#4){% - \@ifnextchar [{\iiihpic(#1,#2)(#3,#4)}{\iiihpic(#1,#2)(#3,#4)[l]} -} -\def\iiihpic(#1,#2)(#3,#4)[#5]{% - \@ifnextchar [{\ivhpic(#1,#2)(#3,#4)[#5]}{\ivhpic(#1,#2)(#3,#4)[#5][]} -} -\def\ivhpic(#1,#2)(#3,#4)[#5][#6]#7{% - \setbox\@BILD=\hbox{#7}% - \d@breite=#1\d@breite=\the\d@breite% - \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% - \c@breite=\d@breite\divide\c@breite by65536% - \d@hoehe=#2\d@hoehe=\the\d@hoehe% - \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% - \c@hoehe=\d@hoehe\divide\c@hoehe by65536% - \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% - \d@yoff=\d@hoehe% - \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% - \c@pos=0\d@tmpa=\parindent\parindent=0pt\unitlength1pt% - \if@offset - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe){}}% - \put(\c@xoff,\c@yoff){\box\@BILD}% - \end{picture}% - }% - \else% - \setbox\@BILD=\hbox{% - \begin{picture}(\c@breite,\c@hoehe)% - \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% - \end{picture}% - }% - \fi% - \@tfor\@tempa := #5\do{% - \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% - \if\@tempa t\c@pos=1\fi% - \if\@tempa b\c@pos=2\fi% - }% - \ifnum\c@pos=0\parbox{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% - \ifnum\c@pos=1\parbox[t]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% - \ifnum\c@pos=2\parbox[b]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% - \parindent=\d@tmpa% -} - - - - - - -\def\Rahmen(#1,#2)#3{% - \c@whole=\@wholewidth\divide\c@whole by65536% - \c@half=\@halfwidth\divide\c@half by65536% - \c@tmpa=#1\advance\c@tmpa by\c@whole\advance\c@tmpa by\c@whole% - \c@tmpb=#2\advance\c@tmpb by\c@whole\advance\c@tmpb by\c@whole% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% - \end{picture}% - \global\advance\d@breite by2\@wholewidth% - \global\advance\d@hoehe by2\@wholewidth% -} - - -\def\Schatten(#1,#2)#3{% - \c@whole=\@wholewidth\divide\c@whole by65536% - \c@half=\@halfwidth\divide\c@half by65536% - \c@shad=\d@shad\divide\c@shad by65536% - \c@tmp=\c@whole\advance\c@tmp by\c@whole\c@tmpd=\c@tmp% - \advance\c@tmp by\c@shad% - \advance\c@tmpd by#1% - \advance\c@half by\c@shad% - \c@tmpa=#1\advance\c@tmpa by\c@tmp% - \c@tmpb=#2\advance\c@tmpb by\c@tmp% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% - \put(\c@shad,0){\rule{\c@tmpd pt}{\c@shad pt}}% - \put(\c@tmpd,0){\rule{\c@shad pt}{#2 pt}}% - \end{picture}% - \global\advance\d@breite by2\@wholewidth\global\advance\d@breite by\d@shad% - \global\advance\d@hoehe by2\@wholewidth\global\advance\d@hoehe by\d@shad% -} - - -\def\Oval(#1,#2)#3{% - \@wholewidth=0.4pt% - \c@tmpa=\the#1\divide\c@tmpa by2% - \c@tmpb=\the#2\divide\c@tmpb by2% - \begin{picture}(#1,#2)% - \put(\c@tmpa,\c@tmpb){\oval(#1,#2)}% - \put(0.4,0.4){#3}% - \end{picture}% - \global\advance\d@breite by1pt\global\advance\d@hoehe by1pt% -} - - -\def\Strich(#1,#2)#3{% - \c@whole=\@wholewidth\divide\c@whole by65536% - \c@half=\@halfwidth\divide\c@half by65536% - \c@dash=\d@dash\divide\c@dash by65536% - \c@tmp=\c@whole\advance\c@tmp by\c@whole% - \c@tmpa=#1\advance\c@tmpa by\c@tmp% - \c@tmpb=#2\advance\c@tmpb by\c@tmp% - \c@tmpc=#1\advance\c@tmpc by\c@whole% - \c@tmpd=#2\advance\c@tmpd by\c@whole% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(\c@half,\c@half){\dashbox{\c@dash}(\c@tmpc,\c@tmpd){#3}}% - \end{picture}% - \global\advance\d@breite by2\@wholewidth% - \global\advance\d@hoehe by2\@wholewidth% -} - - -\def\Kasten(#1,#2)#3{% - \@wholewidth=0.4pt% - \c@boxl=\d@boxl\divide\c@boxl by65536\c@boxl=\the\c@boxl% - \c@tmpa=#1\advance\c@tmpa by\c@boxl% - \c@tmpb=#2\advance\c@tmpb by\c@boxl% - \c@tmp=#2% - \begin{picture}(\c@tmpa,\c@tmpb)% - \put(0,\c@boxl){\framebox(#1,#2){#3}}% - \put(\c@boxl,0){\line(-1,1){\c@boxl}}% - \put(\c@boxl,0){\line(1,0){#1}\line(-1,1){\c@boxl}}% - \put(\c@boxl,0){\put(#1,0){\line(0,1){\c@tmp}% - \put(0,\c@tmp){\line(-1,1){\c@boxl}}}}% - \end{picture}% - \global\advance\d@breite by\d@boxl% - \global\advance\d@hoehe by\d@boxl% -} - - - - - -\newbox\env@box% -\newdimen\d@envdp -\newcount\c@hsize -\newcount\c@envdp -\newdimen\d@envb - -\long\def\frameenv{\@ifnextchar [{\@frameenv}{\@frameenv[\textwidth]}} -\long\def\@frameenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-2\@wholewidth - \advance\textwidth by-2\fboxsep - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\def\endframeenv{% - \egroup% - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-2\@wholewidth - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by2\fboxsep% - \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@envdp=\d@envdp \divide\c@envdp by65536% - \c@tmp=\@wholewidth \divide\c@tmp by65536 - \vskip\@wholewidth% - \unitlength 1pt\noindent% - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@tmp,\c@tmp){\framebox(\c@hsize,\c@envdp){\box\env@box}} - \end{picture}% -} - - - -\long\def\shadowenv{\@ifnextchar [{\@shadowenv}{\@shadowenv[\textwidth]}} -\long\def\@shadowenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-2\@wholewidth - \advance\textwidth by-2\fboxsep - \advance\textwidth by-\d@shad% - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\def\endshadowenv{% - \egroup - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \d@tmpa=\d@envb - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-2\@wholewidth \advance\d@envb by-\d@shad - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by2\fboxsep% - \c@envdp=\d@envdp \divide\c@envdp by65536% - \d@hoehe=\d@envdp - \advance\d@hoehe by2\@wholewidth \advance\d@hoehe by\d@shad - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@shad =\d@shad \divide\c@shad by65536 - \c@tmp=\@wholewidth \divide\c@tmp by65536 - \advance\d@tmpa by-2\d@shad - \c@xoff =\d@tmpa \divide\c@xoff by65536 - \advance\c@xoff by\c@shad \advance\c@xoff by-1 - \advance\d@envdp by\@wholewidth - \vskip\@halfwidth - \unitlength 1pt\noindent% - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@tmp,\c@shad){\framebox(\c@hsize,\c@envdp){\box\env@box}} - \put(\c@shad,0){\rule{\d@tmpa}{\d@shad}}% - \put(\c@xoff,0){\rule{\d@shad}{\d@envdp}}% - \end{picture}% - \vskip\@halfwidth -} - - -\long\def\dashenv{\@ifnextchar [{\@dashenv}{\@dashenv[\textwidth]}} -\long\def\@dashenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-2\@wholewidth \advance\textwidth by-2\fboxsep - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\long\def\enddashenv{% - \egroup - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-\@wholewidth - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by2\fboxsep% - \advance\d@envdp by\@wholewidth - \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@envdp=\d@envdp \divide\c@envdp by65536% - \c@dash=\d@dash \divide\c@dash by65536% - \c@whole=\@wholewidth \divide\c@whole by65536 - \c@half=\@halfwidth \divide\c@half by 65536 - \noindent\unitlength 1pt - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@half,\c@whole){\dashbox{\c@dash}(\c@hsize,\c@envdp){\box\env@box}} - \end{picture}% -} - - -\long\def\ovalenv{\@ifnextchar [{\@ovalenv}{\@ovalenv[\textwidth]}}% -\long\def\@ovalenv[#1]{% - \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 - \advance\textwidth by-4\fboxsep - \hsize=\textwidth \linewidth=\textwidth - \setbox\env@box=\vbox\bgroup}% -\long\def\endovalenv{% - \egroup - \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ - \@wholewidth=0.4pt - \c@breite=\d@envb \divide\c@breite by65536 - \advance\d@envb by-2\@wholewidth - \c@hsize=\d@envb \divide\c@hsize by65536% - \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% - \advance\d@envdp by4\fboxsep% - \c@envdp=\d@envdp \divide\c@envdp by65536% - \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth - \c@hoehe=\d@hoehe \divide\c@hoehe by65536 - \c@tmpa=\c@hsize \divide\c@tmpa by2% - \c@tmpb=\c@envdp \divide\c@tmpb by2% - \d@tmpa=2\fboxsep \advance\d@tmpa by\@wholewidth - \c@xoff=\d@tmpa \divide\c@xoff by65536% - \advance\d@tmpa by\dp\env@box - \c@yoff=\d@tmpa \divide\c@yoff by65536% - \unitlength 1pt\noindent - \begin{picture}(\c@breite,\c@hoehe)(0,0) - \put(\c@tmpa,\c@tmpb){\oval(\c@hsize,\c@envdp)} - \put(\c@xoff,\c@yoff){\box\env@box}% - \end{picture}% -} diff -r 1e53befbc4d9 -r 583b83ff748c prepaper/texput.log --- a/prepaper/texput.log Tue Feb 17 13:20:27 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -This is e-pTeX, Version 3.14159265-p3.5-130605-2.6 (utf8.euc) (TeX Live 2014) (preloaded format=platex 2014.10.23) 17 FEB 2015 05:18 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**2014_final_pre - -! Emergency stop. -<*> 2014_final_pre - -End of file on the terminal! - - -Here is how much of TeX's memory you used: - 2 strings out of 493807 - 24 string characters out of 6151950 - 53144 words of memory out of 5000000 - 3569 multiletter control sequences out of 15000+600000 - 7519 words of font info for 31 fonts, out of 8000000 for 9000 - 929 hyphenation exceptions out of 8191 - 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s -No pages of output. diff -r 1e53befbc4d9 -r 583b83ff748c preprint/2015_final_pre.bib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/2015_final_pre.bib Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,33 @@ +@Misc{rfbprotocol, + author = "Tristan Richardson", + title = "The RFB Protocol", + howpublished = "\url{http://www.realvnc.com/docs/rfbproto.pdf}" +} + +@Misc{tightvnc, + title = "{TightVNC Software}", + howpublished = "\url{http://www.tightvnc.com}" +} + +@article{taninari:thesis, + author = "谷成 雄 and 河野 真治", + title = "授業やゼミ向けの画面共有システム TreeVNC の設計と実装 A Screen Sharing System using Tree Structure for Seminar and Classwork", + journal = "琉球大学工学部情報工学科 平成25年度 学位論文(修士)", + year = 2008 +} + +@article{taninari:2012a, + author = "谷成 雄 and 大城 信康 and 河野 真治", + title = "VNCを用いた授業用画面共有システムの設計・開発", + journal = "情報処理学会", + month = "may", + year = 2012 +} + +@article{taninari:2011a, + author = "谷成 雄 and 大城 信康 and 河野 真治", + title = "JAVAによるVNCを用いた授業用画面共有システムの設計と開発", + journal = "日本ソフトウェア科学会", + month = "sep", + year = 2011 +} diff -r 1e53befbc4d9 -r 583b83ff748c preprint/2015_final_pre.pdf Binary file preprint/2015_final_pre.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c preprint/2015_final_pre.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/2015_final_pre.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,57 @@ +\documentclass[twocolumn,twoside,7pt]{jarticle} +\usepackage[dvipdfmx]{graphicx} +\usepackage{picins} +\usepackage{fancyhdr} +\usepackage{setspace} + +\pagestyle{fancy} +\lhead{\parpic{\includegraphics[height=1zw,keepaspectratio,bb=0 0 251 246]{images/emblem-bitmap.pdf}}琉球大学主催 工学部情報工学科 卒業研究発表会} +\rhead{} +\cfoot{} + +\setstretch{0.8} +\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{授業やゼミ向けの画面配信システムTreeVNCの機能拡張 +Improvements of Screen Sharing System TreeVNC} +\author{115747H 氏名 大城 美和 指導教員 : 河野 真治} +\maketitle +\thispagestyle{fancy} + +% abstruct +\input{abstract.tex} +% 目的 +\input{chapter1.tex} +% VNCとTreeVNCについて +\input{chapter2.tex} +% 動的なportの指定 +\input{chapter3.tex} +% Treeの構成の変更 +\input{chapter4.tex} +% ホスト切り替え時の挙動の修正 +\input{chapter5.tex} +% QUALITY・SPEED +\input{chapter6.tex} +% マルチディスプレイの対応 +\input{chapter7.tex} +% 遠隔地からの接続 +\input{chapter8.tex} +% まとめ +\input{chapter9.tex} +% 今後の課題 +\input{chapter10.tex} + +%参考文献 +\bibliographystyle{ipsjunsrt} +\input{bibliography.tex} + +\end{document} diff -r 1e53befbc4d9 -r 583b83ff748c preprint/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/Makefile Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,18 @@ +TARGET=2015_final_pre +TEX=platex +DVIPDF=dvipdfmx + +.SUFFIXES: .tex .dvi + +all: pdf# $(TARGET).ps + open $(TARGET).pdf + +dvi: + $(TEX) $(TARGET) + +pdf: dvi + $(DVIPDF) $(TARGET) + + +clean: + rm -f $(TARGET).dvi $(TARGET).aux $(TARGET).log diff -r 1e53befbc4d9 -r 583b83ff748c preprint/abstract.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/abstract.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,40 @@ +\section{Abstract} + +We improvement of screen sharing system TreeVNC. +% 画面共有システムTreeVNCの機能拡張を行った +VNC is an application that can share the screen via the network. +% VNCは、ネットワークを通して画面を共有することのできるアプリケーションである。 +TreeVNC is an distributed application that can be load balance sharing the screen via the network. +%TreeVNC = the distributed application(分散アプリケーション) +% TreeVNCは、負荷を分散しながら、画面の配信を行うことの出来る分散アプリケーションである。 + +Usual VNC is designed that load is concentrated to distributor. +%VNCは、配信者に負荷が集中してしまう設計になっている。 +For example, when performing screen sharing using VNC in lectures, +load on the distributor would increase in proportion to the increase of the client, the processing performance decreases. +%例えば授業で画面の共有にVNCを使用すると、 +%クライアントが増えるにつれ、配信者への負荷が増えてしまい、 +%処理性能が低下する。 + +TreeVNC connects each clients in a tree structure. +% TreeVNCは木構造状にクライアントを接続する。 +TreeVNC is realized the load balancing by flowing from the top to the bottom of the tree data that parent has been delivered screen data. +% TreeVNCは親から配信される画面データを木の上から下まで流すことによって、負荷分散を実現している。 + +TreeVNC can switch the connection to the VNCServer per screen distributor. +% TreeVNCが画面配信者毎にVNCServerとの接続を切り替えることができる。 +As a result of TreeVNC can be switched easily presenter. +% 結果として、TreeVNCは簡単に発表者の切り替えができる。 + +% 今研究では、リファクタリングと機能拡張を行い、 +% TreeVNCをよりよいシステムにした + +% 下省く?これくらいざっくりでいい?? + +We refactoring TreeVNC, easier to use, and easier to debugging. +Furthermore, We improvemented of the features that enable TreeVNC from a remote location. +% 私達はTreeVNCの機能拡張を行い、結果として、 +% ユーザが使いやすくなった +% デバッグ環境を整えた +% マルチディスプレイ対応を可能にした +% 遠隔地からの接続が可能となった diff -r 1e53befbc4d9 -r 583b83ff748c preprint/abstract_j.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/abstract_j.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,22 @@ +\section{概要} + +授業やゼミ向けの画面共有システムTreeVNCの改良と機能拡張を行った。 +VNCとは、ネットワークを介して画面を共有することができるアプリケーションである。 +TreeVNCとは、負荷を分散しながら画面の共有を行うことの出来る分散アプリケーションである。 + +従来のVNCは、配信者に負荷が集中してしまう設計になっている。 +例えば授業で画面の共有にVNCを使用すると、 +クライアントが増えるにつれ、配信者への負荷が増えてしまい、 +処理性能が低下する。 + +TreeVNCは、各クライアントをツリー状に接続し、 +親が配信したデータを木の上から下へ流すことで +負荷分散を実現している。 +TreeVNCが画面配信者毎にVNCServerとの接続を切り替えることができるので、 +発表者の切り替えが容易に行える。 + +TreeVNCをより使用しやすく、デバッグしやすく、遠隔地からも利用できるよう、機能拡張を行った。 + +TreeVNCのTree構造の変更や、新たに遠隔地からのTreeVNCを使用可能にする機能の実装を行った。 + + diff -r 1e53befbc4d9 -r 583b83ff748c preprint/bibliography.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/bibliography.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,20 @@ + +\begin{thebibliography}{10} + +\bibitem{1} + {TightVNC: VNC-Compatible Free Remote Control / Remote Desktop Software}\\ + \verb|http://www.tightvnc.com/| +\bibitem{2} + {RFB Protocol - rfbproto.pdf}\\ + \verb|http://www.realvnc.com/docs/rfbproto.pdf| + +\bibitem{taninari:thesis} + {Yu TANINARI and Shinji KONO}:授業やゼミ向けの画面共有システム TreeVNC の設計と実装(2008) + +\bibitem{taninari:2012a} + {Yu TANINARI and Nobuyasu OSHIRO and Shinji KONO}:VNCを用いた授業用画面共有システムの設計・開発(2012) + +\bibitem{taninari:2011a} + {Yu TANINARI and Shinji KONO}:JAVAによるVNCを用いた授業用画面共有システムの設計と開発(2011) + +\end{thebibliography} diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter1.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter1.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,32 @@ +% 研究目的 +\section{コミュニケーションの質の向上} + +ゼミや授業等の、 +それぞれがPC端末を持っている場面でのコミュニケーションの質の向上を目指す。 +コミュニケーションの質を高めるには、 +参加者全員に情報の共有が行えること、 +適切なサイズの画面を視聴できること、 +画面の切り替えがスムーズに行えること、 +等が上げられる。 + +本研究室では、TreeVNCという画面配信システムを開発している。 + +TreeVNCは従来のVNCと違い、 +参加したクライアントがバイナリツリー状に接続するため、 +多人数が参加しても処理性能が下がらない。 + +ゼミで画面配信を行う場合、発表者が頻繁に入れ替わる。 +プロジェクタを使用している場合、 +入れ替えの度にケーブルを挿し直す必要がある。 + +TreeVNCには、画面配信ボタンが付いており、 +発表者はそれを押すことによって、画面を切り替えをスムーズに行える。 + +既に、クライアントがツリー状に接続する設計や画面切り替え等の、 +基本機能はできていた。 + +今研究では、TreeVNCのリファクタリングをすると共に、 +port番号の割り当てや、 +その他のプロトコルの見直しを行った。 +更に新機能として、マルチディスプレイへの対応や、 +TreeVNCを遠隔地から利用することを可能にした。 diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter10.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter10.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,10 @@ +\section{今後の課題} +TreeVNCには、 +画面データが遅延する問題と、 +クライアントで生じたエラーに対するエラーメッセージの通知箇所を +適切な箇所に変更しなければならない問題が残っている。 +今後これらの問題を解決していく。 + +そして新たな機能として、 +遠隔からでもプレゼンテーションが聴講できるよう、音声データを配信する機能、 +ホスト側で、配信する画面の大きさの制御ができる機能を追加していく。 diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter11.tex diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter2.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter2.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,10 @@ +\section{VNCとTreeVNCについて} +VNC(Virtual Network Computing)は、 +RFBプロトコルを使用し遠隔操作を行うリモートデスクトップソフトである。 +VNCはサーバ側とクライアント(ビューア)側に分かれていて、 +サーバを起動し、クライアントがサーバに接続を行い遠隔操作を可能にする。 + +TreeVNCは、TightVNCのjava版のビューアを元に +作成された画面配信システムである。 +接続しにきたクライアントは図\ref{fig:treeVNC}の様に、 +ツリー状に構成される。 diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter3.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter3.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,17 @@ +\section{動的なport番号の指定} +TreeVNCは複雑な分散アルゴリズムを用いたシステムであり、 +デバッグを行う環境を整える必要がある。 + +従来のTreeVNCでは、固定port番号を複数利用していた。 +port番号は一意なので、1台で複数のTreeVNCを立ち上げることができない。 + +動的にport番号を割り当てることで、 +1つのnodeに対して複数のTreeVNCを起動することを可能にした。 +最低限のソケットポートを開けることによって、 +メモリの使用量を抑えることにも繋がる。 + +% messageの説明にportにどんな関係があるのかあとから +以前は固定port番号を使用しmessageの通信を行っていたが、 +一意なportを割り当てられているnodeが通信を行うことによって、 +どのport番号が使用されているかを意識する必要がなくなった。 +通信しているmessageの一覧を表1に示す。 diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter4.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter4.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,20 @@ +\section{Treeの構成の変更} + +従来のTreeVNCは、クライアントの接続する木構造が単一であった。 +そのため、ネットワークインターフェースが違うクライアントが +同じ木に混在している状況が生じた。 + +速度の遅いクライアントが木に存在すると、 +そのクライアント以下の通信速度が遅くなってしまう。 + +この問題を解決するために、 +図2の様に、ネットワークインターフェース別に +木構造を形成するように設計した。 + +TreeVNCは、rootがnodeListというリストを保持し、木構造を管理している。 +複数のネットワークインターフェースで木構造を形成する場合、 +このnodeListをネットワークインターフェース毎に作成しておく。 +新しいnodeを接続する際、nodeのネットワークインターフェースを取得し、 +どのnodeListに登録されるかが決まる。 +こうすることによって、TreeVNCを複数のネットワークインターフェイス別に +木構造を構成することができる。 diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter5.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter5.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,6 @@ +\section{ホスト切り替え時の挙動の修正} +画面の切り替えを行う際、新しいホスト側の画面に生じた +ビデオフィードバックが他のユーザに配信されてしまう問題があった。 + +ホストの切り替えの際、 +新しいホスト側のviewerを閉じることで問題を解決した。 diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter6.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter6.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,1 @@ +\section{SPEEDモードとQUALITYモード} diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter7.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter7.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,1 @@ +\section{マルチディスプレイの対応} diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter8.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter8.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,1 @@ +\section{遠隔地からの接続} diff -r 1e53befbc4d9 -r 583b83ff748c preprint/chapter9.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/chapter9.tex Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,4 @@ +\section{まとめ} +TreeVNCにリファクタリングを行うことによって、 +複数のネットワークインターフェイスでの通信が遅い問題の解決、 +開発環境を整えることや、利便性の向上に繋がった。 diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/createTask.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/images/createTask.bb Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,5 @@ +%%Title: ./images/createTask.pdf +%%Creator: extractbb 20090506 +%%BoundingBox: 0 0 512 391 +%%CreationDate: Tue Feb 25 23:52:44 2014 + diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/createTask.pdf Binary file preprint/images/createTask.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/createTask.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/images/createTask.xbb Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,8 @@ +%%Title: ./images/createTask.pdf +%%Creator: extractbb 20090506 +%%BoundingBox: 0 0 512 391 +%%HiResBoundingBox: 0.000000 0.000000 512.000000 391.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Tue Feb 25 23:52:52 2014 + diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/culculate_index.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/images/culculate_index.bb Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,5 @@ +%%Title: ./images/culculate_index.pdf +%%Creator: extractbb 20090506 +%%BoundingBox: 0 0 562 226 +%%CreationDate: Tue Feb 25 23:26:03 2014 + diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/culculate_index.pdf Binary file preprint/images/culculate_index.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/culculate_index.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/images/culculate_index.xbb Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,8 @@ +%%Title: ./images/culculate_index.pdf +%%Creator: extractbb 20090506 +%%BoundingBox: 0 0 562 226 +%%HiResBoundingBox: 0.000000 0.000000 562.000000 226.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Tue Feb 25 23:26:10 2014 + diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/emblem-bitmap.pdf Binary file preprint/images/emblem-bitmap.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/paralle_exec.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/images/paralle_exec.bb Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,5 @@ +%%Title: ./images/paralle_exec.pdf +%%Creator: extractbb 20090506 +%%BoundingBox: 0 0 740 184 +%%CreationDate: Wed Feb 26 13:08:32 2014 + diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/paralle_exec.pdf Binary file preprint/images/paralle_exec.pdf has changed diff -r 1e53befbc4d9 -r 583b83ff748c preprint/images/paralle_exec.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/images/paralle_exec.xbb Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,8 @@ +%%Title: ./images/paralle_exec.pdf +%%Creator: extractbb 20090506 +%%BoundingBox: 0 0 740 184 +%%HiResBoundingBox: 0.000000 0.000000 740.000000 184.000000 +%%PDFVersion: 1.3 +%%Pages: 1 +%%CreationDate: Wed Feb 26 13:08:38 2014 + diff -r 1e53befbc4d9 -r 583b83ff748c preprint/picins.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/picins.sty Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,578 @@ +% PICINS.STY --- Style File zum Einbinden von Bildern +% Autor: J. Bleser, E. Lang +% Hochschulrechenzentrum +% Technische Hochschule Darmstadt +% !!! Dieses Style-File ist urheberrechtlich geschuetzt !!! +% !!! Aenderungen nur mit Zustimmung der Autoren !!! +\message{Option `picins' Version 3.0 Sep. 1992, TH Darmstadt/HRZ} +\newbox\@BILD% +\newbox\@TEXT% +\newdimen\d@breite% +\newdimen\d@hoehe% +\newdimen\d@xoff% +\newdimen\d@yoff% +\newdimen\d@shad% +\newdimen\d@dash% +\newdimen\d@boxl% +\newdimen\d@pichskip% +\newdimen\d@tmp +\newdimen\d@tmpa +\newdimen\d@bskip +\newdimen\hsiz@% +\newdimen\p@getot@l% +\newcount\c@breite +\newcount\c@hoehe +\newcount\c@xoff +\newcount\c@yoff +\newcount\c@pos +\newcount\c@shad +\newcount\c@dash +\newcount\c@boxl +\newcount\c@zeilen% +\newcount\@changemode% +\newcount\c@piccaption% +\newcount\c@piccaptionpos% +\newcount\c@picpos +\newcount\c@whole% +\newcount\c@half% +\newcount\c@tmp +\newcount\c@tmpa +\newcount\c@tmpb +\newcount\c@tmpc +\newcount\c@tmpd +\newskip\d@leftskip +\newif\if@list \@listfalse% +\newif\if@offset% + + +\c@piccaptionpos=1% +\c@picpos=0 +\d@shad=4pt% +\d@dash=4pt% +\d@boxl=10pt% +\d@pichskip=1em% +\@changemode=0% +\def\@captype{figure}% +\let\old@par=\par% + +\def\pichskip#1{\d@pichskip #1\relax} + + +\def\shadowthickness#1{\d@shad #1\relax} + + +\def\dashlength#1{\d@dash #1\relax} + + +\def\boxlength#1{\d@boxl #1\relax} + + +\def\picchangemode{\@changemode=1}% +\def\nopicchangemode{\@changemode=0}% + + +\def\piccaptionoutside{\c@piccaptionpos=1}% +\def\piccaptioninside{\c@piccaptionpos=2}% +\def\piccaptionside{\c@piccaptionpos=3}% +\def\piccaptiontopside{\c@piccaptionpos=4}% + +\def\piccaption{\@ifnextchar [{\@piccaption}{\@piccaption[]}} +\def\@piccaption[#1]#2{\c@piccaption=1\def\sh@rtf@rm{#1}\def\capti@nt@xt{#2}} +\def\make@piccaption{% + \hsiz@\d@breite% + \ifnum\c@piccaptionpos=2% + \advance\hsiz@ -2\fboxsep% + \fi% + \ifnum\c@piccaptionpos>2% + \hsiz@\hsize\advance\hsiz@-\d@breite\advance\hsiz@-\d@pichskip% + \fi% + \setbox\@TEXT=\vbox{\hsize\hsiz@\caption[\sh@rtf@rm]{\capti@nt@xt}}% +} + + + +\def\newcaption{\refstepcounter\@captype\@dblarg{\@newcaption\@captype}} +\long\def\@newcaption#1[#2]#3{% + \old@par% + \addcontentsline{\csname ext@#1\endcsname }{#1}% + {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}} + \begingroup\@parboxrestore\normalsize% + \@newmakecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\old@par% + \endgroup% +} +\long\def\@newmakecaption#1#2{% + \vskip 10pt% + \setbox\@tempboxa \hbox {#1: #2}% + \ifdim \wd\@tempboxa >\hsize% + \setbox0=\hbox{#1: }\dimen0=\hsize\advance\dimen0 by-\wd0 + \setbox1=\vtop{\hsize=\dimen0 #2} + \hbox{\box0 \box1} + \par + \else \hbox to\hsize {\hfil \box \@tempboxa \hfil} + \fi +} + + + + + +\def\parpic{% + \@ifnextchar ({\iparpic}{\iparpic(0pt,0pt)} +} +\def\iparpic(#1,#2){% + \@ifnextchar ({\@offsettrue\iiparpic(#1,#2)}% + {\@offsetfalse\iiparpic(#1,#2)(0pt,0pt)} +} +\def\iiparpic(#1,#2)(#3,#4){% + \@ifnextchar [{\iiiparpic(#1,#2)(#3,#4)}{\iiiparpic(#1,#2)(#3,#4)[l]} +} +\def\iiiparpic(#1,#2)(#3,#4)[#5]{% + \@ifnextchar [{\ivparpic(#1,#2)(#3,#4)[#5]}{\ivparpic(#1,#2)(#3,#4)[#5][]} +} +\def\ivparpic(#1,#2)(#3,#4)[#5][#6]#7{% + \let\par=\old@par\par% + \hangindent0pt\hangafter1% + \setbox\@BILD=\hbox{#7}% + \d@breite=#1\d@breite=\the\d@breite% + \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% + \c@breite=\d@breite\divide\c@breite by65536% + \multiply\c@piccaption\c@piccaptionpos% + \d@hoehe=#2\d@hoehe=\the\d@hoehe% + \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% + \d@yoff=\d@hoehe% + \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% + \c@pos=1\unitlength1pt% + \if@offset% + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe){}}% + \put(\c@xoff,\c@yoff){\box\@BILD}% + \end{picture}% + }% + \else% + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% + \end{picture}% + }% + \fi% + \ifnum\c@piccaption=2% + \make@piccaption% + \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}% + \hbox{\hspace{\fboxsep}\box\@TEXT}% + \vspace{4pt}}% + \fi% + \@tfor\@tempa := #5\do{% + \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa l\c@pos=1\fi% + \if\@tempa r\c@pos=2\fi% + }% + \ifnum\c@piccaption=1% + \make@piccaption% + \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}\hbox{\box\@TEXT}\vspace{4pt}}% + \fi% + \ifodd\count0\c@picpos=0\else\c@picpos=\@changemode\fi% + \pagetotal=\the\pagetotal% + \d@tmp=\pagegoal\advance\d@tmp by-\pagetotal\advance\d@tmp by-\baselineskip% + \ifdim\d@hoehe>\d@tmp% + \vskip 0pt plus\d@hoehe\relax\pagebreak[3]\vskip 0pt plus-\d@hoehe\relax% + \ifnum\c@picpos=1\c@picpos=0\else\c@picpos=\@changemode\fi% + \fi% + \ifnum\c@picpos=1\ifnum\c@pos=1\c@pos=2\else\c@pos=1\fi\fi% + \ifnum\@listdepth>0 + \@listtrue\parshape 0% + \advance\hsize -\rightmargin% + \d@leftskip \leftskip% + \leftskip \@totalleftmargin% + \if@inlabel\rule{\linewidth}{0pt}\vskip-\baselineskip\relax\fi% + \else\@listfalse\medskip% + \fi% + \if@list\d@tmpa=\linewidth\else\d@tmpa=\hsize\fi% + \ifnum\c@piccaption=3% + \make@piccaption% + \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% + \ifdim\d@hoehe>\d@tmp% + \setbox\@TEXT=\vbox to\d@hoehe{\vfill\box\@TEXT\vspace{.2\baselineskip}\vfill}% + \else% + \setbox\@BILD=\vbox to\d@tmp{\vfill\box\@BILD\vfill}% + \d@hoehe\d@tmp% + \fi% + \fi% + \ifnum\c@piccaption=4% + \make@piccaption% + \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT% + \setbox\@TEXT=\vbox to\d@hoehe{\vspace{-10pt}\box\@TEXT\vfil}% + \advance\d@hoehe-\d@tmp% + \fi% + \ifnum\c@pos=1\d@tmpa=0pt% + \ifnum\c@piccaption>2% + \setbox\@BILD=\hbox{\box\@BILD\hspace{\d@pichskip}\hbox{\box\@TEXT}}% + \fi% + \else\advance\d@tmpa by-\wd\@BILD\d@breite=-\d@breite% + \ifnum\c@piccaption>2% + \d@tmpa=0pt% + \setbox\@BILD=\hbox{\hbox{\box\@TEXT}\hspace{\d@pichskip}\box\@BILD}% + \fi% + \fi% + \p@getot@l\the\pagetotal% + \d@bskip\d@hoehe\advance\d@bskip by\parskip\advance\d@bskip by.3\baselineskip% + {\noindent\hspace*{\d@tmpa}\relax% + \box\@BILD\nopagebreak\vskip-\d@bskip\relax\nopagebreak}% + \d@tmp=-\d@hoehe\divide\d@tmp by\baselineskip% + \c@zeilen=\d@tmp\advance\c@zeilen by-1% + \ifdim\d@breite<0pt\advance\d@breite by-\d@pichskip% + \else\advance\d@breite by\d@pichskip% + \fi% + \hangindent=\d@breite% + \hangafter=\c@zeilen% + \let\par=\x@par% + \ifnum\c@piccaption=3% + \hangindent0pt\hangafter1\let\par=\old@par% + \vskip\d@hoehe\vskip.2\baselineskip% + \fi% + \c@piccaption=0% +} + + + + +\newdimen\ptoti +\newdimen\ptotii +\def\x@par{% + \ptoti\pagetotal% + \old@par% + \ptotii\pagetotal% + \ifdim\ptoti=\ptotii% + \d@tmp\d@hoehe% + \else% + \d@tmp\baselineskip% + \multiply\d@tmp by\prevgraf% + \advance\d@tmp by\parskip% + \global\advance\d@hoehe by-\d@tmp\d@tmp=\d@hoehe% + \fi% + \ifdim\d@hoehe>0pt% + \divide\d@tmp by\baselineskip\c@zeilen=-\d@tmp\advance\c@zeilen by-1% + \c@zeilen=\the\c@zeilen% + \else\c@zeilen=0 + \fi + \ifnum\c@zeilen<0\hangafter=\c@zeilen\hangindent=\d@breite% + \else\let\par=\old@par% + \hangindent 0pt% + \leftskip \d@leftskip% + \if@list\parshape \@ne \@totalleftmargin \linewidth% + \advance\hsize \rightmargin% + \fi% + \fi% +} + + +\def\picskip#1{% + \let\par=\old@par% + \par% + \pagetotal\the\pagetotal% + \c@tmp=#1\relax% + \ifnum\c@tmp=0% + \d@tmp\baselineskip\multiply\d@tmp by\prevgraf\advance\d@tmp\parskip% + \ifdim\p@getot@l<\pagetotal + \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% + \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% + \fi% + \ifdim\p@getot@l=\pagetotal% + \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex% + \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi% + \fi% + \else\hangafter=-\c@tmp\hangindent=\d@breite% + \fi% + \leftskip \d@leftskip% + \if@list\parshape \@ne \@totalleftmargin \linewidth% + \advance\hsize \rightmargin% + \fi% +} + + + + + + +\def\hpic{% + \@ifnextchar ({\ihpic}{\ihpic(0pt,0pt)} +} +\def\ihpic(#1,#2){% + \@ifnextchar ({\@offsettrue\iihpic(#1,#2)}% + {\@offsetfalse\iihpic(#1,#2)(0pt,0pt)} +} +\def\iihpic(#1,#2)(#3,#4){% + \@ifnextchar [{\iiihpic(#1,#2)(#3,#4)}{\iiihpic(#1,#2)(#3,#4)[l]} +} +\def\iiihpic(#1,#2)(#3,#4)[#5]{% + \@ifnextchar [{\ivhpic(#1,#2)(#3,#4)[#5]}{\ivhpic(#1,#2)(#3,#4)[#5][]} +} +\def\ivhpic(#1,#2)(#3,#4)[#5][#6]#7{% + \setbox\@BILD=\hbox{#7}% + \d@breite=#1\d@breite=\the\d@breite% + \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi% + \c@breite=\d@breite\divide\c@breite by65536% + \d@hoehe=#2\d@hoehe=\the\d@hoehe% + \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi% + \c@hoehe=\d@hoehe\divide\c@hoehe by65536% + \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536% + \d@yoff=\d@hoehe% + \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536% + \c@pos=0\d@tmpa=\parindent\parindent=0pt\unitlength1pt% + \if@offset + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe){}}% + \put(\c@xoff,\c@yoff){\box\@BILD}% + \end{picture}% + }% + \else% + \setbox\@BILD=\hbox{% + \begin{picture}(\c@breite,\c@hoehe)% + \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}% + \end{picture}% + }% + \fi% + \@tfor\@tempa := #5\do{% + \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi% + \if\@tempa t\c@pos=1\fi% + \if\@tempa b\c@pos=2\fi% + }% + \ifnum\c@pos=0\parbox{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% + \ifnum\c@pos=1\parbox[t]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% + \ifnum\c@pos=2\parbox[b]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi% + \parindent=\d@tmpa% +} + + + + + + +\def\Rahmen(#1,#2)#3{% + \c@whole=\@wholewidth\divide\c@whole by65536% + \c@half=\@halfwidth\divide\c@half by65536% + \c@tmpa=#1\advance\c@tmpa by\c@whole\advance\c@tmpa by\c@whole% + \c@tmpb=#2\advance\c@tmpb by\c@whole\advance\c@tmpb by\c@whole% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% + \end{picture}% + \global\advance\d@breite by2\@wholewidth% + \global\advance\d@hoehe by2\@wholewidth% +} + + +\def\Schatten(#1,#2)#3{% + \c@whole=\@wholewidth\divide\c@whole by65536% + \c@half=\@halfwidth\divide\c@half by65536% + \c@shad=\d@shad\divide\c@shad by65536% + \c@tmp=\c@whole\advance\c@tmp by\c@whole\c@tmpd=\c@tmp% + \advance\c@tmp by\c@shad% + \advance\c@tmpd by#1% + \advance\c@half by\c@shad% + \c@tmpa=#1\advance\c@tmpa by\c@tmp% + \c@tmpb=#2\advance\c@tmpb by\c@tmp% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(\c@whole,\c@half){\framebox(#1,#2){#3}}% + \put(\c@shad,0){\rule{\c@tmpd pt}{\c@shad pt}}% + \put(\c@tmpd,0){\rule{\c@shad pt}{#2 pt}}% + \end{picture}% + \global\advance\d@breite by2\@wholewidth\global\advance\d@breite by\d@shad% + \global\advance\d@hoehe by2\@wholewidth\global\advance\d@hoehe by\d@shad% +} + + +\def\Oval(#1,#2)#3{% + \@wholewidth=0.4pt% + \c@tmpa=\the#1\divide\c@tmpa by2% + \c@tmpb=\the#2\divide\c@tmpb by2% + \begin{picture}(#1,#2)% + \put(\c@tmpa,\c@tmpb){\oval(#1,#2)}% + \put(0.4,0.4){#3}% + \end{picture}% + \global\advance\d@breite by1pt\global\advance\d@hoehe by1pt% +} + + +\def\Strich(#1,#2)#3{% + \c@whole=\@wholewidth\divide\c@whole by65536% + \c@half=\@halfwidth\divide\c@half by65536% + \c@dash=\d@dash\divide\c@dash by65536% + \c@tmp=\c@whole\advance\c@tmp by\c@whole% + \c@tmpa=#1\advance\c@tmpa by\c@tmp% + \c@tmpb=#2\advance\c@tmpb by\c@tmp% + \c@tmpc=#1\advance\c@tmpc by\c@whole% + \c@tmpd=#2\advance\c@tmpd by\c@whole% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(\c@half,\c@half){\dashbox{\c@dash}(\c@tmpc,\c@tmpd){#3}}% + \end{picture}% + \global\advance\d@breite by2\@wholewidth% + \global\advance\d@hoehe by2\@wholewidth% +} + + +\def\Kasten(#1,#2)#3{% + \@wholewidth=0.4pt% + \c@boxl=\d@boxl\divide\c@boxl by65536\c@boxl=\the\c@boxl% + \c@tmpa=#1\advance\c@tmpa by\c@boxl% + \c@tmpb=#2\advance\c@tmpb by\c@boxl% + \c@tmp=#2% + \begin{picture}(\c@tmpa,\c@tmpb)% + \put(0,\c@boxl){\framebox(#1,#2){#3}}% + \put(\c@boxl,0){\line(-1,1){\c@boxl}}% + \put(\c@boxl,0){\line(1,0){#1}\line(-1,1){\c@boxl}}% + \put(\c@boxl,0){\put(#1,0){\line(0,1){\c@tmp}% + \put(0,\c@tmp){\line(-1,1){\c@boxl}}}}% + \end{picture}% + \global\advance\d@breite by\d@boxl% + \global\advance\d@hoehe by\d@boxl% +} + + + + + +\newbox\env@box% +\newdimen\d@envdp +\newcount\c@hsize +\newcount\c@envdp +\newdimen\d@envb + +\long\def\frameenv{\@ifnextchar [{\@frameenv}{\@frameenv[\textwidth]}} +\long\def\@frameenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-2\@wholewidth + \advance\textwidth by-2\fboxsep + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\def\endframeenv{% + \egroup% + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-2\@wholewidth + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by2\fboxsep% + \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@envdp=\d@envdp \divide\c@envdp by65536% + \c@tmp=\@wholewidth \divide\c@tmp by65536 + \vskip\@wholewidth% + \unitlength 1pt\noindent% + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@tmp,\c@tmp){\framebox(\c@hsize,\c@envdp){\box\env@box}} + \end{picture}% +} + + + +\long\def\shadowenv{\@ifnextchar [{\@shadowenv}{\@shadowenv[\textwidth]}} +\long\def\@shadowenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-2\@wholewidth + \advance\textwidth by-2\fboxsep + \advance\textwidth by-\d@shad% + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\def\endshadowenv{% + \egroup + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \d@tmpa=\d@envb + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-2\@wholewidth \advance\d@envb by-\d@shad + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by2\fboxsep% + \c@envdp=\d@envdp \divide\c@envdp by65536% + \d@hoehe=\d@envdp + \advance\d@hoehe by2\@wholewidth \advance\d@hoehe by\d@shad + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@shad =\d@shad \divide\c@shad by65536 + \c@tmp=\@wholewidth \divide\c@tmp by65536 + \advance\d@tmpa by-2\d@shad + \c@xoff =\d@tmpa \divide\c@xoff by65536 + \advance\c@xoff by\c@shad \advance\c@xoff by-1 + \advance\d@envdp by\@wholewidth + \vskip\@halfwidth + \unitlength 1pt\noindent% + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@tmp,\c@shad){\framebox(\c@hsize,\c@envdp){\box\env@box}} + \put(\c@shad,0){\rule{\d@tmpa}{\d@shad}}% + \put(\c@xoff,0){\rule{\d@shad}{\d@envdp}}% + \end{picture}% + \vskip\@halfwidth +} + + +\long\def\dashenv{\@ifnextchar [{\@dashenv}{\@dashenv[\textwidth]}} +\long\def\@dashenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-2\@wholewidth \advance\textwidth by-2\fboxsep + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\long\def\enddashenv{% + \egroup + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-\@wholewidth + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by2\fboxsep% + \advance\d@envdp by\@wholewidth + \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@envdp=\d@envdp \divide\c@envdp by65536% + \c@dash=\d@dash \divide\c@dash by65536% + \c@whole=\@wholewidth \divide\c@whole by65536 + \c@half=\@halfwidth \divide\c@half by 65536 + \noindent\unitlength 1pt + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@half,\c@whole){\dashbox{\c@dash}(\c@hsize,\c@envdp){\box\env@box}} + \end{picture}% +} + + +\long\def\ovalenv{\@ifnextchar [{\@ovalenv}{\@ovalenv[\textwidth]}}% +\long\def\@ovalenv[#1]{% + \hsiz@=\textwidth \textwidth=#1 \d@envb=#1 + \advance\textwidth by-4\fboxsep + \hsize=\textwidth \linewidth=\textwidth + \setbox\env@box=\vbox\bgroup}% +\long\def\endovalenv{% + \egroup + \hsize=\hsiz@ \textwidth=\hsiz@ \linewidth=\hsiz@ + \@wholewidth=0.4pt + \c@breite=\d@envb \divide\c@breite by65536 + \advance\d@envb by-2\@wholewidth + \c@hsize=\d@envb \divide\c@hsize by65536% + \d@envdp=\dp\env@box \advance\d@envdp by\ht\env@box% + \advance\d@envdp by4\fboxsep% + \c@envdp=\d@envdp \divide\c@envdp by65536% + \d@hoehe=\d@envdp \advance\d@hoehe by2\@wholewidth + \c@hoehe=\d@hoehe \divide\c@hoehe by65536 + \c@tmpa=\c@hsize \divide\c@tmpa by2% + \c@tmpb=\c@envdp \divide\c@tmpb by2% + \d@tmpa=2\fboxsep \advance\d@tmpa by\@wholewidth + \c@xoff=\d@tmpa \divide\c@xoff by65536% + \advance\d@tmpa by\dp\env@box + \c@yoff=\d@tmpa \divide\c@yoff by65536% + \unitlength 1pt\noindent + \begin{picture}(\c@breite,\c@hoehe)(0,0) + \put(\c@tmpa,\c@tmpb){\oval(\c@hsize,\c@envdp)} + \put(\c@xoff,\c@yoff){\box\env@box}% + \end{picture}% +} diff -r 1e53befbc4d9 -r 583b83ff748c preprint/texput.log --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/preprint/texput.log Tue Feb 17 14:58:51 2015 +0900 @@ -0,0 +1,21 @@ +This is e-pTeX, Version 3.14159265-p3.5-130605-2.6 (utf8.euc) (TeX Live 2014) (preloaded format=platex 2014.10.23) 17 FEB 2015 05:18 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**2014_final_pre + +! Emergency stop. +<*> 2014_final_pre + +End of file on the terminal! + + +Here is how much of TeX's memory you used: + 2 strings out of 493807 + 24 string characters out of 6151950 + 53144 words of memory out of 5000000 + 3569 multiletter control sequences out of 15000+600000 + 7519 words of font info for 31 fonts, out of 8000000 for 9000 + 929 hyphenation exceptions out of 8191 + 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s +No pages of output.