• 検索結果がありません。

ネットワークを利用したNMR予約管理システム

N/A
N/A
Protected

Academic year: 2021

シェア "ネットワークを利用したNMR予約管理システム"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

ネ ッ トワー クを利用 した

NMR予

約管理 システ ム

榊原

正明・太田

裕市

物質工学科

An NMR Resewation Management System using an htemet Network

Masaaki SAKAKIBARA and Yuichi OTA

Department ofMaterins Science,Faculty ofEngineering

Totto U verdtt TOttO ,680-8552 Japan E―mtt [email protected]

u.acjp

Abstratt Toimprovehemmgmentof3JMRre驚Ⅳ五わ閤,areservatlollmanagment systmwas des頓 翻 uslnghe m輸 旺t=witthis,he re―atioll simtion crould h easily即 using a timetable lhe desigrtl concat tt hiS事血 偽eOlained including nge ofhe螂 魏 and

contents ofdle progrm.

KeJwordd Timetable,NML Rettah叫 CGLNeWork

1.は

じめに

われわれは

,い

ままで にネ ッ ト上 でのさまざま な プ ロ グ ラ ム 開発 を行 って きた [1],[2],[3]ぅ

[4],[5]ぅ [6].

この うち天然水の採水予約のプログラムについ ては,当 初は Visual Basicで 作成 しLANを 利用 し て行 った

[4][5].し

か し

,CGIを

用いれば

,ネ

ッ ト上でのプログラムの作成 や

,修

正が容易 にで き ることがわか った[6]. 鳥取大学 には,従来2 7 0MHzの核磁 気共鳴

(N

MR)装

置が設置 されてい るが

,学

会 前

,卒

論, 修論の締 め切 り前には利用者数が増大 し

,利

用 の 予約 を とることは容易ではなか った。この度新 た に

5 0 0MHzの

装置が導入 され

,利

用者 の分散 に よ り

,若

子の混雑解消が期待 され るが

,利

用の予 約 についてはい っそ うの混雑が予想 されている。 従来 ぅ

2 7 0MHzの

予約 は ぅ備 え付 けの予約用 紙 に書 き込 むや り方で行 われてお り

,5 0 0MHz

の予約は管理者へのメールで行われていた。 しか しどち らも予約状況が把握 しに くく

,ネ

ッ ト上で の予約 シス

>ム

の構築 が期待 され る状況であつた。 そ こで本研究室では

,鳥

取大学工学部

NMR運

営 委員会 か らの依頼 にも とづいて

,ネ

ッ ト上での予 約 システムの展 開 として

,予

約管理 システムの作 成 を行 つた 。 ただ し他 のプログラムに影響されないように, 研究室 に新 た に

,予

約管理専用 のサーバ を立ち上 げた。サーバ の OSは Red Hat Linux 6.0で

,web

のサーバ プログラムには Apacheを 使用 した。

CG

Iプ

ログラムには Perl言 語を使用 した[7]ぅ [8], [9]. システムの基本的な部分が出来上が り

,実

用化 のめ どがついたので

,5 0 0MHzは

8月 のは じめ か ら

,2 7 0MHzは

9月 16日 か ら web上 での予約 を開始 した。そ こで

,こ

のシステムの使用法 と概 略について報告 す る。

2

予約管理 システ ムの概要

(2)

この シ ス テ ム を利 用 す る た め に はパ ス ワー ド が必要 で あ る 。パ ス ワー ドを入 力 す る と

,最

初 の ペ ー ジで メニ ュー が表 示 され る。利用 したいもの を

5 0 0MHz,2 7 0MHz,蛋

白質構 造解 析 支援 シ ステ ム (Octane) Insight II予約 管 理 システ ム MacroModel予約管 理 システ ム 予約管理 のお しらせ

,掲

示板 か ら選択 す る。

NMR,Octaneを

選 ぶ と,それ ぞれ の連絡 事項 と予約状 況 の画 面 にな る 。画 面 の上 部 に連絡事項 が表 示 され

,そ

の下 に現在 の予約状 況がタイムテ ー ブル で表 示 され る

.図

1にタ イ ムテー ブル の画 面 を示 す 。 タイム

>―

ブル には

,縦

方 向に は 日付

,横

方 向 には時刻 が表 示 されて い る 。 日付 は 当 日か ら

2週

間先 まで表 示 され て い る。時刻 は午前9時か ら午 後 8時までが 30分間隔,午後

8時

か ら翌朝 までが 一括表示 とな る。 この画 面構成 は

NMR,Octane

華義筆難

│::::::::::

1鴎

期 聴 滞

肇響警箸黎箸響黎黎響肇響響繁肇≡

4:=募

=

黒∽ 騨垂

│:郭

に共 通 で あ る 。すで に予約 され て い る時 間帯 には, そ の対 応 す る場 所 に研 究 室 に対応 した背景色 と, 学 生

,院

,教

職 員 に対応 した文 字 色 で名 前 が表 示 され て い る 。 「 予約 」 を選択 すれ ば

,予

約 画 面 に移 る。研 究 室 名 と 日時 はセ レク トで選択 し

,身

分 は ラ ジオ ボ タ ンで選択 し

,使

用者名 を入 力 す る 。次 に取 り消 し用 のパ ス ワー ドを入 力 す る。送信 ボ タ ンを押 せ ば

,予

約 が完 了 す る 。 当 日よ り

2週

間先 と

,す

で に予約 されて い る時 間帯 には 予約 は で きな い よ うにな って い る。

27

0 MHzの場合

,1回

は2時間以 内で あ り

)1人

つ き 2回まで しか 予約 で きな い 。後 者 の制 限 につ いて は

,今

後 対応 す る予定 で あ る 。 「 予 約解 除 」 を選択 すれ ば

)予

約解 除 の画 面 に な り

,研

究室 と身分 と名 前 を入 力 して送 信 す る。 す で に複 数 の予約 が され て い る場 合 は画 面 に予約 され て い る 日時 が表示 され るので

,そ

の 中か ら選 │を■工甚:=:二:■

=幕

ユ荘 粋第 秘 耳:堪理 ル 堪=::,:=妥 与│ャ =ィ纂喜:二,11ユ鞘 努,'孝孝ηを,:,:,│ここ,:==茅を,,工=エエア,孝を ===:=を :'■ 図

1

タイムテ ー ブル の画 面

(3)

鳥 取 大 学 工 学 部 研 究 報 告 第 30巻 択 して

,パ

ス ヮー ドを送信 すれ ば削除で きる。 し か し当 日の削除 はで きない よ うに して い る。 「 利 用規定 」 を選択 すれ ば

,利

用規定 を読 む こ とがで きる。なお Octaneの利 用規 定 は,まだ準 備 されて いない 。

3.フ

ァイル の説 明 フ アイル構成 は

,プ

ログラ ム本体「 index.cgi」 とデ ー タ格納 デ ィ レク トリ「data」 か らな る 。 dataディ レク トリ中に以 下 の フ ァイル が あ る。

Alletxt

全 体 のお知 らせ

bbs.txt

掲 示板 デ ー タ

###.dat

予約 デ ー タ ###。

sort

予 約 デ ー タ を ソー トした フ ァイル

###.log

予約 デ ー タの ログ ###.txt お矢日らせ ###.kitei利用 規 定 ※上記5つの フ アイル の"###″の部分 には,管理 す る機 器 固有 の名 前

(500,270,Ins,Mac)が

変 数$mllrから入 る 。

4.プ

ログラム の説 明 最初 は,メ ニ ュー画 面が表 示 され る. 処理 項 目には「 全体 のお知 らせ の表 示」

,「

掲 示板 」お よび機 器 ご との「 お知 らせ」 と「 予約状 況」

,「

予約 」

,「

予 約 の解 除」 ぅ「 利 用規 定 の 表示 」 とが あ る. 「 お知 らせ 」 と「利 用規 定 」 は

,お

知 らせ や規 定 の 書 か れ た テ キ ス ト フ ァ イ ル (###.txtぅ ###.kitei)を読 み こん で表 示 して い る. 「利 用規定 」 はサ ブル ー チ ン

kitei

,全

体 のお知 らせ はサ ブル ー チ ン siraseで行 つてい る 。 「 予約 状況 」 は

,ソ

ー トされ た予約デー タ フ ァ イル (###.sort)を 読 み こみ

,タ

イムテ ー ブル上 に順 番 に配 置 して表 示 して い る 。 「 予約 」で は

,送

信 され た予約 デ ー タ につ いて 以 下 の項 目をチ ェ ック して い る. ① 既 に予約 され ている時間 と重 な っていないか 。 ② 無効 な 日付 ・時刻ではないか 。 (予約 日が過去 の 日でないか,開始 時刻

>終

了時刻, 2 7 0MHzで予約時間が 2時 間を越 えていないか,

2月

30日

,2月

31日

,4,6,9, 11月

の31 日はないか 。) ③ 利用者名 ぅパ スワー ドが入力されているか。 以上 のチ ェ ック した後

,予

約データはデータフ アイル (###.dat)に 書 きこまれ る。 書 き込 まれ る内容 は以下の とお りで あ る. 予約 日付

,開

始時刻

,終

了時刻

,研

究室

,身

分 (学生

)院

,教

職員

),使

用者

,取

り消 し用 の パ ス ワー ド 作 成 され たデ ー タ ファイル (###.dat)の データ を 日付 で ソー トして ソー トフ ァイル(###。sort) に書 き出す。 「 予約 の解 除」では

,研

究室名 と身分 と使用者 名 を入力 して送信 すると,送信 したデー タ(研究室 名 と身分 と使用者名)と一致する予約データを,ソ ー トフアイル (###.sort)か ら読 み出 し

)画

面に表 示 す る。解除 したい予約 をチェ ック して

,そ

の予 約 に対応 したパ ス ワー ドを送信 する. 送 信 さ れ た パ ス ワ ー ドとデ ー タ フ ァ イ ル (###.dat)に 記録 されて い るパ ス ワー ドが 一致す れば,データファイル(###.dat)か ら予約データを 削除 し

,再

び ソー トファイル(###.sort)を 作成 す る。 デ ー タ フ アイル (###.dat)か らの予約データの 削除 を具体 的に説 明する と以下 の ようにな る. 予約デー タの うち削除するデータ以外 は

>ン

ポ ラ リファイル に書 き込み

,そ

のテ ンポ ラ リファイ ル の フアイル名 を###.datに書 き換 えてい る。 ログフアイル は

,管

理者が必要 に応 じて作成で

(4)

きるようにす る予定であ る。 「 掲 示 板 」 で は 掲 示 板 の デ ー タ フ ア イ ル (bbs.txt)の 内容 を表示 させてい る.発言 フォーム か ら書 きこみが行 なわれ た場合

,送

信 されたデー タを整形 ぅ漢字 コー ドを″EUCカコー ドに変換 してデ ータフアイル(bbs.txt)に 書 きこんだ後,画面に表 示 してい る。 “2月 29日

"の

入力 に対 しては,う るう年の判 定 も行 ってい る(リ ス ト1)。 なお、

$err4=0は

「 うるう年」であることを示 してい る. 本 システムでは

,学

外か らのア クセス制限 を設 けると同時に

,学

内での利用者 も制 限で きるよう に認証(パス ワー ド)の設定 も行 つて い る.

5.タ

イムテー プル の説明 タイムテー ブル には

,2週

間先 まで の予約状況 が 日付,曜 日 と ともに表 示 され る(サブル ー チ ン listと col_set)。 この表示の仕 方を説明する.

5.1

タイムテー ブル の表示 localtime関数 を用 いて

,当

日の 日付 を求めて い る (リ ス ト2)。 年は西暦■

900と

して得 られ るが

,+1900と

す るので

,2000年

以 降 も問題 は生 じない 。 同様 な操作 を行 い,表 示する最終 日(当 日か ら2 週 間後)の 日付 を求め,$last_calに 代入 している (リ ス ト

3).

ソー トフアイルか ら予約データを1行ずつ読み こんで

,","で

区切 つて各変数 に代入 しぅ日付 は $xdayに代入 され る (リ ス ト4)。 予約 日が

,当

日($today)≦ 予約 日($xday)≦

2週

週間先 ($last_cal)の 場合 に以下 の操作 Pを 行 う。 P:ソー トファイルか ら読み出された予約データの 日付 ($xday)が

1つ

前 に読 み出された予約デー 夕の 日付($yday)と 異な る場合 は操作

Ql,Q2,R

を実行 し,等しい場合 は操作 Q3,Rを 実行する。 図

2

操作 Pから Rま での フローチ ヤー ト 最初 の読 み 出 しで は ぅ$ydayに は値 がないので $yday=$today-1よ り求めている. Ql:10Caltime関 数 を用いて次の 日を求めて, 日付,曜日のみの行 を追加 する。これ を($xday 〉

=$yday)に

な る まで繰 り返す 。 Q2:予約 開始時刻 ($starttime)が 9時でなけれ ば

)9時

か ら予約開始時刻 まで空 白で埋める。 Q3:前の予約データの終 了時刻($yesend)と 間が あ る場合 ($starttime≠ $yesend),そ の間を空 白で埋 め る. R:予約 の表示 と して ぅ予約時間に対応 したセル と 使用者名 ($username)を 表示す る。 ソー トフアイル の 1回 の読み込みは操作 Rま で 関連 している。操作

Pか

ら Rま でのフローチ ヤー トを図

2に

示す 。

(5)

鳥 取 大 学 工 学 部 研 究 報 告 第 30巻

ソー トフアイルのすべての予約データを読 み出 し、 フアイル をクローズ した後で以下の操作 Sを 行 う。

S:予約デ ー タの最後 の予約 日($yday)と 表示最終

日($last_cal)に ついて,($last_cal〉 $yday) で あれば localtime関数 を用 いて次 の 日を求 めて

,日

,曜

日のみの行 を最終 日まで追加 す る。

5.2

セルの横幅の計算 タイム

>―

ブルでのセル の横 幅は

,サ

ブルーチ ンcol_setで求めてい る。予約時間は30分間単 位 で行 われるので

,30分

間に対応 す るセル の横 幅 ($colspan)を ととした。そのために以下に示すよ う│こ 30分を 50と 変換 した。例 えば

,9時

30分は 950ぅ 16 Httは 1600と なる(リ ス ト5). 計算式 ($colspan=($yend― $ystart)/50)に $yendと $ystartの 値 を代入 して ぅ予約時間 と空 白 に対するセルの横幅($colspan)を 求めている。 予約時間に対す る横幅の計算 $ystart g $starttimei $yend = $endtimei

空白に対する横幅の計算

(①

,② の場合

)

①異なる日付でかつ開始時刻≠

9時

の場合

$ystart = 9oO; $yend = $starttime; ②同じ日付で

,か

つ前の予約 と時間が空いている 場合(右辺の$yendは 前の予約データの終了時刻) $ystart i syendi Syend = $starttimei 各変数$starttime,Sendtime はそれぞれ予約 開始時刻

,予

約終 了時刻 を示 してい る。

6.今

後 の予定 認証 又 は制 限 を設 けて い る予約 用 のCGIとは別 に

,認

証 無 しの 閲 覧用 のCGIを作 成 して

,こ

の シ ステ ム (予約 状 況 な ど

)を

公 開 す る予定 であ る. 以下 の操作 を コマ ン ドで行 え る よ うにす る。 管理 システ ム全体 につ い て 「 お知 らせ」 の変更

,掲

示板 で の発 言 の削除, 研 究 室 の削除・ 追加

,装

置 の削 除・ 追加

,背

景 色 と文 字色 名 どの変更. 各装 置 につ いて 「 お知 らせ 」 の変 更

,予

約 の修 正

,利

用状 況 の 表 示 (使用 時 間 の表 示・ 集 計

).

7.終

わ りに

Web上

のタ イ ム

>―

ブル を用 い た予約管理 シス テ ムは ぅ学 内の どこか らで も予約 状況 の把 握 を容 易 に行 う こ とで きっ非 常 に実用性 の高 い もので あ る。今後

,学

内 にお け る他 の共 同利 用機 器 の予約 システ ム と して も利 用 す る こ とが考 え られ る.

FT―

NMR管

理 者 で あ る浅原 雅 浩氏 には

,今

回作 成 したシス テ ム につ いて多数 の助 言 をいた だ きま した 。 こ こに明記 して謝 意 を表 します 。

8.参

考 (プ ログ ラム リス トの抜粋) リス ト1 if(Syears%400==0)( $err4 = 0; }elsif ($years%100 == 0)( $err4 = 1, }elsif ($years%4 == 0){ $err4 = 0, }else{ Serr4 = 1; } }

(6)

リス ト

2

2巻

,第

2号 ,1998年

, $sec_day=60*60*24;#1日の秒数; [3]榊原 正 明,太田裕 市 :鳥 取 大 学 実 験 系 廃 液 の分 $sec_x=$sec_day*14,#2週間分の秒数; 留 ・ 貯 留 の フ ロ ー シ ー ト

,未

発 表. $tine=tine;#1970年 1月 1日からの秒数を返す。

($secl,$ninl,$hourl,$dayl,$■o■

1,$yearl,swdayl) = [4]榊

原 正 明

,立

花 良 ―

,高

見 和 邦

,松

本 法 子,堀

localtine(Stine),

内敏 史

:LANを

用 い て の採 水 場 所 予 約 プ ロ グ

Syearl+=1900;

ラ ム

,鳥

取 大 学 工 学 部 研 究 報 告

,28巻

,第

1

$■ o■1+十;

$■onl = sprintf("%。 2dD,$monl), Iブ, 1997, pp.119-124.

$dayl=sprintf('%.2d',$dayl); [5]榊原 正 明

,立

花 良 ―

,松

本 法 子:採水 場 所 決 定 の た め の プ ロ グ ラ ム の作 成 ―身 近 な 自然 環 境 の

リス ト

3

探 索 を兼 ね て 一っ コ ン ピ ュー タ

&エ

デ ュケ ー シ

($sec2,$nin2,$hour2,$day2,$■o■2,$year2,$wday2) =

ョ ン

,Vol.4,1998,pp.75-81.

localtiIIle($tine + $seC_x); $last_cal=$year2.$■

on2.Sday2; [6]榊

原 正 明

,坂

本 光 歩

,南

和 明

,熊

倉 純 史 :ネ ッ ト上 の採 水 予 約 シ ス カ ム ,未 発 表. リス ト

4 [7]秋

本 祥 ―,古 :CGIプログ ラ ミン グ入 門, $data = "./data/$nlllr.sort"; 翔 泳 社. open(DATA,'$data");

flock(DATA,2); [8]伊

藤 和 人 :入門

Perl,秀

和 シ ス テ ム.

while($line=く

DATA>){ [9]中

:Per15リ フ ァ レ ンス ブ ック

,情

報 管

($xday,Sstarttine,$endtine,$syozOku,Stype,$usernane,Sp 二 里 . asswd) 三split(/,/,$line), リス ト5 if ($ystart%50 1= 0){; $ystart += 20; }; if ($yend%50 1= 0){; $yend += 20; }; 参 考文 献 [1]榊原 正 明

,高

見和 邦

,堀

内敏史・増 原 良子 :ネ ッ トワー ク を利 用 した イ ンタ ラ クテ ィブな ソ フ トウェア ,鳥 取 大学工学部研 究報 告,29巻, 第 1号

,1998,pp.85-97.

[2]田ケ原 清,小山淳子

,豊

国 いずみ,紀野 あか り,下 村 克彦,西 博行 ,井 上 勤 ,榊 原 正 明, 増原 良子,坂本 光 歩,高見和 邦:薬品分析 の た めの電 気泳動 入 門,化学教 育 ジ ャーナル(CE」), (受理 平成

11年

9月 30日 )

参照

関連したドキュメント

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

締約国Aの原産品を材料として使用し、締約国Bで生産された産品は、締約国Bの

ペトロブラスは将来同造船所を FPSO の改造施設として利用し、工事契約落札事業 者に提供することを計画している。2010 年 12 月半ばに、ペトロブラスは 2011

6-4 LIFEの画面がInternet Exproler(IE)で開かれるが、Edgeで利用したい 6-5 Windows 7でLIFEを利用したい..

子どもたちは、全5回のプログラムで学習したこと を思い出しながら、 「昔の人は霧ヶ峰に何をしにきてい

セキュリティパッチ未適用の端末に対し猶予期間を宣告し、超過した際にはネットワークへの接続を自動で

運航当時、 GPSはなく、 青函連絡船には、 レーダーを利用した独自開発の位置測定装置 が装備されていた。 しかし、

行ない難いことを当然予想している制度であり︑