平成 14 年度
学士学位論文JAVA 対応携帯電話を用いた
WAA システムの構築—設計と実装—WAA: A Location Indicating System
Supporting to Group Activities—Design and Implementation—

1030285

富永 剛介

指導教員

菊池 豊

2003 年 2 月 24 日
高知工科大学 情報システム工学科

要 旨

JAVA 対応携帯電話を用いた
WAA システムの構築—設計と実装—富永 剛介

近年、携帯電話や PHS 等の普及により個人との連絡・情報の交換は簡単に出来るようになった。だが、連絡・情報の交換には、個人に対してだけではなく集団に対しても行なわれる。たとえば大学の研究室のように、集団の中で活動する人や、その集団の指導・管理する立場の人にとっては、この集団の情報が必要になる。しかし、既存のシステムではこういった情報を扱うのが困難であった。
そこで、集団の状態情報を扱えるシステムとして JAVA 対応携帯電話を用いた WAA シ
ステムを提案する。本研究では要求分析とモデルの考案・システムの提案を行ない、設計・実装を行なった。その結果、どこからでも情報の更新・確認ができ、メンバー全員の最新の状態情報を扱えるシステムが出来た。本稿ではこのシステムの設計と実装について詳しく述
べる。
キーワード

状態情報 , JAVA 対応携帯電話 , WAA システム–i–

Abstract
WAA: A Location Indicating System
Supporting to Group Activities—Design and Implementation—
Kousuke Tominaga

In recent years, by the diffusion of the cellular phone and PHS it has come to
be possible the exchange of communication and information with the individual easily.
However, it is carried out even if it corresponds to the gropu besides it corresponds tothe individual to, the exchange of communication and information. For instance, theinformation of this group becomes necessary, for the person who gets active gregariously
like the study room of the university, and the person of the position who the groupmanages and instruct. But it was difficult to treat this sort of information in thesystem of established.
Thereupon, I propose the WAA system that using JAVA corresphondence cellular
phone as the system that is able to treat information the condition of the group. Doingthe proposal of the device and system of demand analysis and model in this research
I did the design and implementation. It was possible the system that the renewal of
information is produced even from where as a result, and be able to treat the latest
condition information of all the members. I express in detail about the design andimplementation of this system in this manuscript.
key words

Condition information, JAVA inclusion cellular phone, WAA system– ii –

目次
第1章

はじめに

1

1.1

背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

IAA システムとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.3

その他の情報交換システムについて . . . . . . . . . . . . . . . . . . . . .

2

1.3.1

配置図手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.3.2

Partout(パルトゥ) . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.3.3

メッセンジャー . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.3.4

僕ならばここにいる . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.3.5

いまどこサービス . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.3.6

rwho コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.3.7

赤外線位置把握システム. . . . . . . . . . . . . . . . . . . . . . .

7

第2章

WAA システムについて

11

2.1

目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.2

既存のシステムの考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.2.1

IAA システムの問題点 . . . . . . . . . . . . . . . . . . . . . . . .

11

2.2.2

配置図手法の問題点 . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.2.3

メッセンジャーの問題点. . . . . . . . . . . . . . . . . . . . . . .

12

2.2.4

僕ならばここにいる . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.2.5

いまどこサービス . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.2.6

rwho コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.2.7

赤外線位置把握システム. . . . . . . . . . . . . . . . . . . . . . .

13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.3

要求分析とモデル

2.3.1– iii –

目次

2.3.2
第3章

要求からモデルへ . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

WAA システムの設計と実装

16

WAA システムの設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.1.1

端末について. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.1.2

サーバ内のプログラムについて . . . . . . . . . . . . . . . . . . . .

17

3.1.3

更新について. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

更新方法案 1(完全自動化) . . . . . . . . . . . . . . . . . . . . . . .

19

更新方法案 2(一部自動化 1) . . . . . . . . . . . . . . . . . . . . . .

20

更新方法案 3(一部自動化 2) . . . . . . . . . . . . . . . . . . . . . .

20

更新方法案 4(一部自動化 3) . . . . . . . . . . . . . . . . . . . . . .

20

更新方法案 5(手動 1) . . . . . . . . . . . . . . . . . . . . . . . . .

21

更新方法案 6(手動 2) . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.2

処理の流れ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.3

WAA システムの実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.3.1

サーバ側プログラムについて . . . . . . . . . . . . . . . . . . . . .

22. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

状態情報登録部分 . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

全員の情報表示部分 . . . . . . . . . . . . . . . . . . . . . . . . . .

24. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.1

個人認証部分

3.3.2
第4章

4.1

第5章

端末について考察

26

WAA システムの評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

4.1.1

要求に対する実装状況 . . . . . . . . . . . . . . . . . . . . . . . . .

26

4.1.2

評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27
28

まとめ

– iv –

目次

5.1

全体のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

5.2

今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

5.2.1

自動化について . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

5.2.2

スケジュール帳について. . . . . . . . . . . . . . . . . . . . . . .

29

5.2.3

緊急時の更新要求システムについて. . . . . . . . . . . . . . . . .

29

5.2.4

今回 WAA システムを実装出来なかった端末への対応について . . .

29

謝辞

30

参考文献

31

付録 A

携帯電話対応の JAVA について

32

A.1

一般的な JAVA について . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

A.2

携帯電話用 JAVA について . . . . . . . . . . . . . . . . . . . . . . . . .

32

A.2.1 i モード対応 JAVA . . . . . . . . . . . . . . . . . . . . . . . . . .

33

–v–

図目次
1.1

IAA システム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2

菊池研究室モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.3

他の研究室モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.4

Partout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.5

MSN メッセンジャーでの表示例 . . . . . . . . . . . . . . . . . . . . . . .

7

1.6

僕ならばここにいる . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.7

いまどこサービス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.8

rwho コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.9赤外線位置把握システム . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.1

モデル図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.1

携帯電話の契約数の月別推移 . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2

サーバの構成図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

3.3

処理の流れ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

A.1 i モード JAVA の開発環境と実行環境 . . . . . . . . . . . . . . . . . . . . .

34– vi –

表目次
3.1

要求の解決方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

A.1 JAVA プラットフォームについて . . . . . . . . . . . . . . . . . . . . . . .

33– vii –

第1章

はじめに
近年、携帯電話・PHS の普及により、個人との連絡・情報の交換は簡単に出来るようになった。しかし、連絡・情報の交換には、個人に対して行なうもの以外に集団に対して行な
うものがある。この集団の情報を扱うシステムとして、情報システム工学科の複数の研究室
では、廊下のドアで紙とマグネットで伝えるもを使用している。しかし、この方法ではドアの前に居なければ情報が見れない・変更出来ない、何時の情報なのか分からない、間違って他人の情報を変更してしまう等の問題点がある。
本稿ではこれらの問題点なく状態情報を扱えるシステムとして、JAVA 対応携帯電話を用いた WAA システムを提案する。なお、本システムは金井との共同開発であり、要求分析とモデルについては [1] で述べられている。ここでは設計と実装について詳しく述べる。まず、1 章では WAA システムを構築した背景と、参考にした IAA システムの説明、また、現在ある情報伝達手段を説明する。2 章では、[1] を元に WAA システムの目的と要求、そしてモデルの考案について述べる。3 章では設計と実装を示し、4 章でユーザ環境やセキュリ
ティに対する考察をし、WAA システムの評価を行う。5 章で本研究のまとめと今後の課題
を述べる。

1.1

背景

大学の研究室のように集団で活動していると、他のメンバーの居場所を含めた状態情報が必要なときがある。なかでも、担当の教授や活動のリーダーをしている学生は把握していたい情報である。その用件には、重要な情報の伝達から、もし空いている人間が近くに居たら–1–

1.2 IAA システムとは作業を頼みたい・話をしたいといった場合まで様々な状況が考えられる。だが、メンバーの情報を得るために、実際に移動したり、一人一人に電話をかけて調べるのでは非効率的であり、相手の状態によっては情報を得られない場合もある。このことから、メンバー全員の最新の状態情報を扱ったシステムが必要となった。

1.2

IAA システムとはIAA (I Am Alive) システム ∗1 とは、インターネットを利用した災害発生時の安否情報シ
ステムのことである (図 1.1)。1995 年に阪神・淡路大震災が発生したとき、地震とその後の火災による被害で最大 30 万回線を越える加入電話に障害が発生した。そこに、地震発生後安否を気遣う人からの電話も殺到し、非常に電話が繋がりにくい状態が発生してしまった。
この経験を元に開発されたのが IAA システムである。災害発生により IAA システムに登録された安否情報は、日本各地にあるデータベースに蓄積される。
この時、データベースは互いに情報を交換しあい常に同じデータが蓄積されるようになっている。情報の登録・検索は電話・FAX・インターネットのどれからでも行なうことが出来る。
現在は、独立行政法人通信総合研究所が運営をし、WIDE Project の Lifeline Working

Group が研究開発、被災地用情報端末の研究、強固な情報配信方法の設計などが行なわれている。最近では、米国同時多発テロに対する被災者支援にも使われた。

1.3

その他の情報交換システムについて

ここでは、IAA システム以外でメンバー・個人の状態情報等を扱っているシステムを紹介する。

∗1 http://www.crl-iaa.net/–2–

1.3 その他の情報交換システムについて

図 1.1 IAA システム

1.3.1

配置図手法

これは、現在菊池研究室 (図 1.2) を含め、情報システム工学科の複数の研究室 (図 1.3) で用いている方法だ。各研究室のドアに場所や名前を書いた紙を貼り、その上で自分の現在の状態を示す位置にマグネットを動かして情報を伝える。
研究室の中ではなく、外に貼ってあるので、誰でも閲覧することが出来るし、手軽に移動させて状態を伝えることが出来る。

–3–

1.3 その他の情報交換システムについて

図 1.2

1.3.2

菊池研究室モデル

Partout(パルトゥ)

Partout∗2 とは、日立製作所が製作した位置・状態認識システムである (図 1.4)。携帯電話と GPS∗3 を利用して位置を認識し、そこに体動センサーを内蔵することで、端末を持っている人間の歩く、走る、倒れているを把握できる。
この時、端末から送信されたデータはインクリメント P 株式会社∗4 の「MapDK クライア
ントマップ」というシステムを使いパソコン上に表示される。対象者の状態を定期的に取得する機能や、倒れた状態が続いた時自動的に緊急メッセージを発信する機能を持つ。

∗2 http://www.hitachi.co.jp/New/enews/9907/0729.html∗3 GPS(Global Positioning System):複数の人工衛星から発信される情報をもとに現在位置を計算して表示するシステム∗4 http://www.incrementp.co.jp–4–

1.3 その他の情報交換システムについて

図 1.3

1.3.3

他の研究室モデル

メッセンジャー

メッセンジャーとは、インターネット上でリアルタイムにメッセージをやりとりするためのソフトである (図 1.5)。文字または音声で会話をし、オンラインのメンバーならば複数人と同時に会話をすることも出来る。メールの送信以外にも、画像や音楽、文章などを送信することも可能である。相手の状態がオンラインかオフラインかで、インターネットに接続しているかどうかを確認できる。

1.3.4

僕ならばここにいる

これは、自分が地球上のどこに居るかを記録し、Web に表示するシステムである (図 1.6)。

GPS を使って自分の位置情報を取得し、ノート PC や携帯電話などを利用してインター
ネットに接続しサーバにデータを入力する。Web 上に表示される情報には、地図 Web サイ
トへのリンクが同時に用意してあり、地図として場所を見ることも出来る。また、情報は–5–

1.3 その他の情報交換システムについて

図 1.4 Partout

データベースに保存されており、履歴の表示や条件検索も可能である。

1.3.5

いまどこサービス

いまどこサービス∗5 とは、NTTDoCoMo∗6 が提供しているサービスで、契約している PHSを持つ第三者のおおよその居場所を地図情報などで確認できるサービスである (図 1.7)。他にもサービス契約者が自己位置を取得し、インターネットを利用してロケーション情報を得ることができる。検索方法には、FAX 検索、インターネット検索、i モード∗7 検索、専用ソ∗5 http://www.nttdocomo.co.jp/p s/service/phs/ichi.html∗6 http://www.nttdocomo.co.jp/index.shtml∗7 http://www.nttdocomo.co.jp/p s/imode/–6–

1.3 その他の情報交換システムについて

図 1.5 MSN メッセンジャーでの表示例

フト検索がある。

1.3.6

rwho コマンド

これは、UNIX 系 OS のマシンで「rwho」とコマンドを打つことにより、ローカル・セグ
メント上のマシンとこれらのマシンにログオンしているユーザの一覧を表示するものである(図 1.8)。各ホストは定期的に自身の情報をブロードキャストするデーモンを実行し、同時に他のマシンからのブロードキャスト通信を待機している。そして、各マシンはアクティブなマシンとログオンしているユーザの一覧を保存する。

1.3.7

赤外線位置把握システム

これは、赤外線通信技術を利用して人・機器の所在を把握・管理するシステムである (図1.9)。赤外線を利用しているため、ペースメーカや医療機器に影響を与える心配が無いので–7–

1.3 その他の情報交換システムについて

図 1.6

僕ならばここにいる病院や老人ホーム等で使われている。また、緊急時には発信機についているボタンを押すことで、情報を監視しているパソコンに救助を求めるアラームを表示させることが出来る。

–8–

1.3 その他の情報交換システムについて

図 1.7

いまどこサービス

図 1.8 rwho コマンド–9–

1.3 その他の情報交換システムについて

図 1.9

赤外線位置把握システム– 10 –

第2章

WAA システムについて
本章では、[1] に従い要求分析とモデルの考案について説明する。

2.1

目的

大学の研究室のような集団で活動する場合、互いにメンバーの状態情報を把握していれば行動しやすい。特に、指導する教員や学生にとって、状態情報は把握していたい。しかし、IAA システムも含めて、現在ある状態情報を扱ったシステムにはそれぞれ問題点がある。中でも扱いやすさと、情報の更新に関する問題は各システムに共通する問題である。そこで、本研究ではユーザに扱いやすく、忘れずに更新してもらえる状態情報システムとして WAA
システムを提案・設計・実装する。全員の状態情報が分かることから、効率の良い人員の配置・移動や情報の伝達を行なう事が出来るシステムである。

2.2

既存のシステムの考察

ここでは、[1] を基に要求分析を行なう。そこから、既存のシステムの問題点を解決する
ことが、WAA システムへの要求に繋がると判断した。まず、各システムの問題点を述べ、その後 WAA システムへの要求を示す。

2.2.1

IAA システムの問題点• インストールや設定が難しい– 11 –

2.2 既存のシステムの考察• 登録・検索のための入力項目が多い• 基本的に一度登録されたら、更新が無い• 個人の情報を扱うものなので、複数人の情報を求めるのに向かない

2.2.2

配置図手法の問題点• ドアの前に居なければ、情報を見ることが出来ない• ドアの前に居なければ、情報を更新することが出来ない• いつ更新された情報なのか分からない• 間違えて他人の情報を変更してしまう場合がある• 誰でも情報が見れてしまう• マグネットの移動を忘れる人が居る• 関係の無い人に情報を変えられてしまう恐れがある

2.2.3

メッセンジャーの問題点• 相手のメールアドレスを知らないとメンバーに登録することが出来ない• オンラインの人にしか情報を伝えられない• 相手の居場所は、聞かないと分からない• いつからその状態が保たれているのか分からない• ユーザインタフェースがパソコンに限られている

2.2.4

僕ならばここにいる• 場所が緯度・経度表示のためマップを開かないと場所が分かりにくい• GPS が無ければ、位置情報が分からない• 建物内や高層ビル郡の中では、GPS が使えない場合がある• 自分の情報しか扱えない– 12 –

2.3 要求分析とモデル• 経度・緯度を入力するため、入力が難しい

2.2.5

いまどこサービス• いまどこサービス対応 PHS しか、検索できない• 検索するには、PHS 所持者からの許可書を NTTDoCoMo に提出しなければならない

2.2.6

rwho コマンド• UNIX 系の OS マシンでの情報しか扱えない• ローカルエリア内にあるマシンしか分からない

2.2.7

赤外線位置把握システム• 赤外線の受信用センサーがある場所でなければつかえない• 発信機がセンサーから最大でも 30m 以内でしか扱えない• 発信機を別の人が持っていても、分からない

2.3

要求分析とモデル

2.3.1

要求

これら各システムの問題点から、次のような要求が得られた。
・どこからでも情報の更新・確認が出来る
・いつ更新された情報なのかが分かる
・自分の情報以外は変更できない・セキュリティによって他人は情報を見れない・忘れずに更新する・状態情報は分かりやすく見せる– 13 –

2.3 要求分析とモデル

・専用端末や特別な機器が無くても扱える・全員の状態情報を扱える
・更新・確認作業を簡易化する・システム導入にお金がかからないようにする

2.3.2

要求からモデルへ[1] での内容と 2.2.8 の要求から、・登録・確認される全員の状態情報は一箇所のサーバで収集・蓄積する・ユーザ端末には携帯電話・ノート PC 等の移動可能端末を使う
・インターネットを用いて情報にアクセスする
・定期的に更新を要求する
・情報を保護するためにセキュリティを設置するというモデルが考案された (図 2.1)。

– 14 –

2.3 要求分析とモデル

図 2.1

モデル図

– 15 –

第3章

WAA システムの設計と実装
この章ではモデルを基に WAA システムの設計と実装をした。

3.1

WAA システムの設計モデルを基にメンバー全員の状態情報を Web 上で扱うこととした。この時、各要求の解決方法を表 3.1 にまとめた。
表 3.1

要求の解決方法

要求内容

要求の解決方法

どこからでも情報の更新・確認をしたい

携帯可能な端末を利用する

いつの情報なのか知りたい

情報の更新された時間を扱う

他人に状態を変更されたくない

個人認証を設置し、自分しか情報を扱えなくする

部外者に情報を伝えたくない

個人認証を通過しなければ情報を見れなくする

忘れずに更新させたい

自動更新、または定期的に更新要求をする

情報は分かりやすくしたい

扱う情報の種類を抑え、整理して表示する

特別な機器無しで実装したい

専用機器が無くても扱える情報にする

メンバー全員の情報を扱いたい

全員の情報を一箇所に収集・蓄積する更新・確認作業を簡単にしたい

操作が簡単で分かりやすいものにする

システム導入にお金をかけたくない

フリーサイトや既存の機器で構成する– 16 –

3.1 WAA システムの設計

3.1.1

端末について端末はモデルより、携帯電話やノート PC 等の携帯可能な端末とした。その中で今回、JAVA 対応携帯電話を端末として用いて設計することにした。
現在の日本における携帯電話の登録台数∗1 は 7390 万台を越え、ブラウザ機能を搭載した携帯電話の登録台数も 6023 万台を越えるまでに普及した (図 3.1)。これらの数字から比較すると、JAVA 対応携帯電話はまだ 1600 万台を越えたばかりで決して多くは無い。しかし、敢えて今回 JAVA 対応携帯電話での実装を目指し設計を行なったのにはいくつかの理由がある。第 1 に、JAVA アプリケーションの中に位置情報を取得できるものがあったからである。第 2 に、JAVA プログラムを使うことによって自動で更新作業をさせることが可能ではないかと考えたからである。

図 3.1

3.1.2

携帯電話の契約数の月別推移

サーバ内のプログラムについて

モデルより、全員の情報は一箇所のサーバで収集・蓄積される。そして、メンバーにしか情報を扱えないようにするためのセキュリティ機能を設置する。このことから、サーバ内のプログラムは次の大きな 3 つの部分から構成することとした (図 3.2。
第 1 に、ユーザ認証の部分である。ここは、メンバー以外の人間が全員の状態情報を見れ∗1 電気通信事業者協会 http://www.tca.or.jp– 17 –

3.1 WAA システムの設計

図 3.2

サーバの構成図

ないようにし、メンバーも自分の情報以外を扱えないようにするための部分である。各メン
バーはシステムを使う前に、管理者に登録名とパスワードを伝え、認証を通過できるようにする。
第 2 に、状態情報を登録する部分である。ここでは、各ユーザに自分の状態情報を入力してもらい、1 人毎に別の場所に情報を保存する。
第 3 に、メンバー全員の状態情報を表示する部分である。ここでは、各ユーザに登録してもらった情報を一つにまとめて表示する。ユーザの作業の流れは、WAA システムにアクセ
スし、ユーザ認証を通過したら、自分の情報を登録し、最後に全員の情報を見れる構成にする。
この時、プログラム言語には PHP を使う。これは、PHP がサーバサイド・スクリプト言語のため、HTML のみを出力するので、ブラウザを選ばないで表示できる事と、各種デー
タベースへのインタフェースを標準で備えているからである。

– 18 –

3.1 WAA システムの設計

3.1.3

更新について

更新方法案として、以下に示す 6 種類の案があった。その中で今回、更新方法案 4 を使用した。ここで更新に関して様々な案を出しているのは、WAA システムの要求の一つに最新の状態情報を扱いたいとあるからである。これは、WAA システムが状態情報を扱うものであり、古い情報に従い行動しては連絡が取れないときがある。そのため、どうやって最新の情報に更新させるかが重要となった。
この時、案 4 の実装時の使用方法は以下のようになる。

• 端末である携帯電話に WAA システムにアクセスするタイマー式ブラウザ起動 JAVA
プログラムをダウンロードする• JAVA プログラムを起動し、アクセスしたい時間を指定する
これによりユーザは、タイマーが時間になると自動的に WAA システムにアクセスするので、更新することができる。

更新方法案 1(完全自動化)
これは、携帯端末内にある位置情報を、JAVA を使って完全に自動で更新する手法である。
人の手を使わない方法で情報の更新が出来れば、確実に最新の情報が扱えると考え、提案した設計である。具体的には、JAVA 対応携帯電話では、JAVA を使って位置情報を習得することが出来るので、この機能を利用し、指定の時間が来たら、位置情報を取得し、その情報を WAA システムに送信してサーバ側で処理し、メンバーの状態情報に加える。その全ての行程を JAVA プログラムによって自動で実行させ、ユーザは手を触れなくても更新できる。

– 19 –

3.1 WAA システムの設計

更新方法案 2(一部自動化 1)
これは、情報更新時の Web へのアクセスを手動で許可し、その後 JAVA を使って自動で更新する手法である。
案 1 では位置情報を伝えたくない時でも勝手に取得されてしまうので、それを防ぐために更新許可を手動で出来るようした設計である。基本的な仕組みは案 1 と同じで、指定の時間が来たとき、作業を開始して良いか許可を求められる仕様を追加した。案 1 と違い、手動でWeb にアクセスする事を許可しているので、情報更新後に全員の状態情報を見ることが出来る。

更新方法案 3(一部自動化 2)
これは、JAVA で送信する情報を自分で分かりやすい形に入力し、その後自動で更新する手法である。

JAVA を使って取得する位置情報は、地図表示か住所表示分なので、直観的に分かりにくい。そこで、位置情報だけ自分で記述し、その他の部分を自動化する設計である。例えば位置情報では「高知県香美郡土佐山町宮ノ口 185」と登録されるものを「高知工科大学」と登録する。そこで、指定の時間が来たら、状態情報の入力を求められ、入力したら、あとは自動的に更新される。

更新方法案 4(一部自動化 3)
これは、WAA システムへアクセスするまでを自動化し、その後自分で情報を入力する手法である。
更新方法案 1〜3 では他人が携帯電話を持っていた場合でも情報の更新が可能なので、自動化の範囲を、指定時間が来たら、インターネットへアクセスする所までで終る設計である。具体的には、指定時間が来てインターネットにアクセスするまでを自動で、その後の– 20 –

3.2 処理の流れ

ユーザ認証や状態情報の入力部分を手動で行なう。手動でのユーザ認証が入ることにより、各メンバーの情報の信頼性を高めることが出来る。

更新方法案 5(手動 1)
これは、サーバが定期的に更新要求メールを出し、メールを受け取ったユーザがすべて手動で登録する手法である。
一定時間毎にサーバは更新要求メールを全員に出し、それを受け取ったユーザが全て手動で入力する設計である。具体的には、指定時刻になったらサーバが自動でメンバーに更新要
求メールを送信する。その際、メールの本文中には WAA システムへのアドレスが書かれたものを送信する。これは、本文中にアドレスが書かれていると、そこを選択することでア
ドレスを入力しなくてもサーバにアクセスできるからである。その後は手動でユーザ認証をし、状態情報を入力する。

更新方法案 6(手動 2)
これは、一定時間以上更新しないユーザに対してサーバが更新要求メールを送信し、メールを受け取ったユーザが手動で登録する手法である。
普段はユーザの更新に任せ、その中で一定時間以上更新が無かった時に限り、サーバから更新要求メールが送信され、手動で入力するものである。
毎日同じ時間に確実に更新できるわけではないので、ユーザに時間の選択を可能にさせる。また、ユーザに全てを任せるのではないので、最低限の情報の新しさは保てる。

3.2

処理の流れ

ここでは、実装した更新方法案 4 を使用する際の処理の流れついて、説明する (図 3.3)。
処理 1

携帯電話にブラウザ起動の JAVA プログラムをダウンロードする (最初のみ)– 21 –

3.3 WAA システムの実装

処理 2

JAVA プログラムを起動し、タイマーの時間をセットする

処理 3時間になると、ブラウザ起動後アクセスしていいか確認される

処理 4

アクセスを許可すると、WAA システムの認証の部分へ

処理 5

パスワードを入力し認証を通過すると、状態情報の入力部分へ

処理 6

状態情報を入力し送信すると、全員の情報の表示部分へ

処理 7

全員の情報を確認したらブラウザを終了し、処理 2 へ戻る

3.3

WAA システムの実装

ここでは、実装した WAA システムのサーバと端末について詳しく述べる。

3.3.1

サーバ側プログラムについて

今回 WAA システムの実装に日本海と言うフリーサーバ∗2 を使用した。ここは、CGI や

PHP3/4 が使用可能で、かつ、フリーサーバなので自分で構築・管理をする必要が無いので利用した。これは、現在の菊池研究室の環境が外部からアクセス可能な位置で PHP を使用できなかったからである。なお、サーバ内のプログラムは具体的には以下のような方法で作られている。

個人認証部分
ここは、PHP の個人認証プログラムをそのまま利用して作る。事前にシステムを利用するユーザからパスワードを聞いてテキストに保存し、入力された情報を比較して、同じであれば認証を通過する。

∗2 http://www.nihonkai.com/– 22 –

3.3 WAA システムの実装

図 3.3

処理の流れ

– 23 –

3.3 WAA システムの実装

状態情報登録部分
ここは、PHP のフレーム式チャットを応用して作る。通常のコメントを入力する部分に、WAA システムで入力を求める状態情報に書き換えて用いる。入力された情報に更新時刻(情報入力時刻) を追加したあと、表示すること無くテキストに保存して終る。

全員の情報表示部分
ここも、状態情報登録部分と同じで PHP のフレーム式チャットを応用して作る。通常のコメントが表示される部分に、表事行数 1 行にして、テキストに保存された情報から一番上(一番新しい) 情報を取り出す。このソースを 1 ファイル上で人数分繰り返すことにより、全員の情報を一覧で表示するものとした。

3.3.2

端末について今回 WAA システムを実装する端末として、NTTDoCoMo の 504i シリーズを使用した。
当初、システムの実装を目指した端末は、J-PHONE の JAVA 対応携帯電話だった。これは、共同研究者が上記の携帯電話を持っており、かつ、そこには定期的に位置情報を取得する機能があったからである。しかし実装するために、サンプルプログラムを作り、テストしていたところ、問題が発生したため、使用しなかった。その問題とは、セキュリティに基づく制約∗3 である。J-PHONE では、位置情報をプライバシーに関わる重要な情報と考え、JAVA 等のプログラムで扱うことの全てを禁止していた。このため、端末内の位置情報を利用して JAVA による更新作業を完全自動化する案は実装不可能となってしまった。
そこで、第 2 案として状態情報等を自分で入力することにし、WAA システムへのアクセスまでを自動化する設計にした。JAVA プログラムにより指定時刻になるとブラウザを起動、WAA システムへアクセスするものである。だが、J-PHONE では、JAVA プログラムの実行に関しても制限を設けていたため、この案も実装できなかった。これは、悪意ある者∗3 http://www.dp.j-phone.com/index.php– 24 –

3.3 WAA システムの実装によって作られた JAVA プログラムを実行して、ユーザが被害を受けるのを防ぐためである。このため、JAVA プログラムは J-PHONE が許可をしたサイトにしかアクセスできず、WAA システムへのアクセスを実行できなかった。これらの理由から、端末を J-PHONE から NTTDoCoMo の JAVA 対応携帯電話に変更した。
なお、同じ NTTDoCoMo の JAVA 対応携帯電話でも 504i シリーズになったのは、それ以前の端末ではブラウザ起動 JAVA を実行するために必要なクラスファイルが未実装のためである。その結果、端末は NTTDoCoMo の 504i シリーズに決定した。

– 25 –

第4章

考察
この章では、WAA システムの評価と設計・実装に対する考察について述べる。

4.1

WAA システムの評価

今回集団の情報を扱うシステムとして、WAA システムを設計・実装した。ここでは、実装したシステムがどれだけ要求を満たせていたかを考察し評価する。

4.1.1

要求に対する実装状況

・どこからでも情報の更新・確認をしたい
携帯電話のブラウザ機能を使うことで解決。
・いつの情報なのか知りたい
情報の更新時刻をプログラムで自動的に取得し表示することで解決。
・他人に状態を変更されたくない
個人認証によって、自分にしか自己の状態情報を変更できないようにすることで解決。
・部外者に情報を伝えたくない
個人認証を通過しなければメンバーの状態情報を見れないようにすることで解決。
・忘れずに更新させたい
自動で WAA システムにアクセスするので、忘れずに更新することができ解決。
・情報は分かりやすくしたい
扱う情報を必要最小限にして、整理して表示することで解決。

– 26 –

4.1 WAA システムの評価

・特別な機器無しで実装したい
ユーザに必要なものをブラウザ機能付き携帯電話だけにすることで解決。
・メンバー全員の情報を扱いたい
全員の情報を 1 箇所で扱うことで解決。
・更新・確認作業を簡単にしたい
入力作業を簡単にし、一覧で確認できるようにすることで解決。
・システム導入にお金をかけたくない
プログラムはフリーサーバに置き、端末も既に持っている携帯電話を使うことで解決。

4.1.2

評価

今回設計・実装した WAA システムは、設計から見ればほぼ要求通りの実装が出来た。しかし、更新方法の設計に問題があったため、結果として不完全なシステムであった。それは、実装可能端末が NTTDoCoMo の 504i シリーズだけになり、菊池研究室ではだれも持っていない端末となったことである。本来メンバー全員の情報を扱うシステムなので、メンバーの持っている端末で利用可能なシステムにする必要があった。また現在菊池研究室の教員・学生合わせて 17 人中 16 人はブラウザ機能付き携帯電話を所持していた。このことから、更新方法の設計を見直し、全員の携帯電話に実装できれば実用的なシステムになると考える。

– 27 –

第5章

まとめ
この章では全体のまとめと、今後の課題について述べる。

5.1

全体のまとめ本研究では、メンバー全員の状態情報を扱うシステムとして、JAVA 対応携帯電話を用いた WAA システムの設計と実装をした。既存の状態情報を扱うシステムと比べて、特別な機材を使用することも無く、全員が持っている携帯電話で扱え、時間や場所にほとんど制限を受けずに情報の更新・確認をする事が出来た。また、JAVA によるブラウザ起動とタイマーによって、時間が来たら自動的にアクセスするので忘れずに更新さできるようになった。
ただし、今回のシステムは DoCoMo の 504i シリーズにしか実装できなかったため、菊池研究室では一人も利用できなかった。このことから、今後全ての機種で利用できるシステムに改良することで実用的になると考える。

5.2

今後の課題

5.2.1

自動化について今回の実装では、手動でタイマーをセットすることで、ブラウザが自動起動するものだった。しかし、携帯電話の電源を入れた時にタイマーをセットし忘れた場合や別のアプリケー
ションを動かしている最中は、ブラウザが起動しないので、更新が忘れられてしまう。そこで、セキュリティ問題をクリアして自動化するか、タイマーのセットを忘れても更新を忘れ– 28 –

5.2 今後の課題

ないようにするための工夫が必要である。

5.2.2

スケジュール帳について

今回実装出来なかったが、今後追加したい機能としてスケジュール帳がある。これは、事前に分かっている予定をスケジュール帳に記述し、状態情報と関連付けることで自動更新に更新する機能である。この機能を実装することで、講義などで携帯電話からの情報更新が出来ない時でも、自動的に更新出来る。

5.2.3

緊急時の更新要求システムについて

今回の実装では、緊急で全員の現在の状態情報を必要とした時に、更新を要求する方法が無かった。そこで、何らかの方法で全員に同時に更新を要求するシステムを開発することが求められる。案としては、ホームページ上でボタンを押すと、プログラムによって全員に更新要求メールを送信する設計を考えている。

5.2.4

今回 WAA システムを実装出来なかった端末への対応について

今回の実装では、DoCoMo の 504i シリーズでしか動作しないため、菊池研究室では一人も利用できなかった。しかし、WAA システムの目的はメンバー全員の状態情報を扱うことなので、全員が利用できる状態でなければならない。そこで、JAVA やブラウザ機能が対応していない端末など、全ての端末で利用できるように改良することが求められる。

– 29 –

謝辞
はじめに、今回 WAA システムを設計・実装するのに当たり、多くの方に御迷惑をかけたことをお詫びし、それでもなお暖かく見守り、助けてくださった事を深く感謝します。
指導教員である菊池豊助教授には「みんなの情報が手に入ればいいのに」と、システム開発のきっかけになる一言を頂いたほか、要求分析や設計する際の考え方、論文の書き方など様々な事を指導・アドバイスして頂きました。そして、家庭が大変な時期にも関わらず、私の作業が遅いたために、何度も夜遅くまで待っていただき、申し訳ありませんでした。
共同開発をした金井めぐみさんには、システムの提案・設計・実装に至るまで様々な部分で協力して頂きました。一人で変な状態情報の取り方を考えていた私が、正しい方向に戻って考えることが出来たのも、共同開発だったからこそです。また、端末として実装出来な
かった J-PHONE の携帯電話では、何度もプログラムのダウンロードやインターネットへのアクセスをさせてしまいすみませんでした。もしもパケット代が今までに比べて明らかに高いようでしたら、私も一部負担させていただきたいと思います。
研究室では先輩の皆様に、マシンのトラブルやプログラムの方法、論文のチェックなど
色々と助けて頂きました。なかでも、サーバの PHP プログラムを作るのに、参考資料やサイトを教えてくださった田渕理恵先輩と、エラーの解決や論文の修正に協力してくださった
広瀬崇夫先輩には、ご自身も論文で忙しい中、本当にありがとうございました。
最後に、1 月末という一番忙しい時期に不覚にもインフルエンザにかかってしまい、研究室の皆様や友達・両親に心配・ご迷惑をかけてしまったことを謝らせてください。同じマンションに住む長友克介君には 40.0 ℃まで熱が出てしまい一人ではまっすぐに歩けない時、病院まで付き添ってもらい、荒木俊介君には食料やポカリスエットの差し入れをして頂いた
おかげで、無事に回復することが出来ました。今後は今まで以上に健康に気をつけて頑張っていこうと思います。

– 30 –

参考文献[1] 金井 めぐみ “JAVA 対応携帯電話を用いた WAA システムの構築-要求分析とモデル-”,高知工科大学学士学位論文,2003.

[2] アスキー書籍編集部 “i モード Java プログラミング—スタンドアロン・アプリケーショ
ン偏 改定新版 ”, 株式会社アスキー, 2001.

– 31 –

付録 A

携帯電話対応の JAVA について
今回の WAA システムでは、端末の携帯電話にブラウザ起動の JAVA プログラムを実装した。
この時、携帯電話で用いた JAVA は普段用いている JAVA と違うものであった。そこで、一般的に JAVA と呼ばれているものと、携帯電話で動作する JAVA について、説明する。

A.1

一般的な JAVA について

JAVA とは、Sun Microsystems 社∗1 がプログラム開発用言語である C++をベースとして開発した、オブジェクト指向型のプログラム言語である [2]。
もともとは、1991 年に Green というプロジェクトの下、家電製品や PDA (Personal Data

Assistants) 用の言語として研究を始めた。しかし、業界への売り込みに失敗した。こんな中、研究していた言語が当時急速に発展してきた WWW 用の言語として適性があったことから、WWW 用の言語として研究を進めることになった。そして、1995 年に自社のイベン
ト SunWorld’95 で公式に発表したものが、ここでいう一般的な JAVA である。

A.2

携帯電話用 JAVA について

JAVA には 3 種類のプラットフォーム (表 A.1) があり、J2ME (Java2 Micro Edition) を核として構成したものが、携帯電話用の JAVA である。J2SE は、通常のプラットフォーム∗1 http://www.sun.com/– 32 –

A.2 携帯電話用 JAVA についてである J2SE (Java2 Standard Edition) の縮小セットとして定義されている。これが使用されるのは、携帯電話と言う端末が、限定された機能しか持たず、プログラムが利用できるメモリが少ないためである。
表 A.1 JAVA プラットフォームについて

プラットフォーム

用途

Micro Edition(J2ME)

組み込み機器の環境を主な対象とする

Standard Edition(J2SE)

パソコンなどの汎用のコンピュータを対象とする

Enterprise Edition(J2EE)

大規模な処理を実行するサーバ向け

この時、J2SE でサポートしていない J2ME 独自のクラスファイルは存在しないほか、

J2ME がサポートするクラスに、J2SE と異なるメソッドやフィールドは追加されていない。
また、J2ME のライブラリに納められたクラスおよびメソッドは、携帯端末が備えるコンピュータとしての利用可能な資源から考え、必要最小限度に留められている。

A.2.1

i モード対応 JAVA

今回 WAA システムの端末として使用した、NTTDoCoMo の 504i シリーズで動く JAVAがこれである。J2ME のプラットフォーム技術が中核で、実行端末として各携帯端末に実装されるのが、縮小版仮想マシン∗2 である (図 A.1)。
この時、i モード対応 JAVA は通常の JAVA とでは、以下の点で大きく違うのでプログラ
ミングする際、注意が必要である。・浮動小数点演算が出来ない・マルチスレッド動作時にスレッドグループが利用できない
・携帯端末内部に納められた他のソフトウェアコンポーネントとの連携が出来ない。
・シフト JIS コードを使ったテキスト処理が可能である。(通常、JAVA ではテキスト処
理をすべて Unicode で行なっている)∗2 縮小版仮想マシン (K Virtual Machine):KVM と略される。この時 k はバイトサイズの単位であるキロを意味している。

– 33 –

A.2 携帯電話用 JAVA について

図 A.1 i モード JAVA の開発環境と実行環境

・スクラッチパッドと呼ばれるローカルの記憶領域をサポートしている。(ただし、別のソフトウェアコンポーネントで同じ領域を共有することは不可)
・i モード JAVA 拡張用に固定のネットワークオペレーション API∗3 を持つ。
・i モード JAVA 拡張用に固定のユーザインターフェース API を持つ。

∗3 API(Application Program Interface)– 34 –