自動ルーチン配送ユーティリティの開発
Automatic Routine Delivery Utility
野口 弘*, 古林 榮次郎, 寺村 昌文
Hiroshi Noguchi,Eijirou Kobayashi,Masafumi Teramura
大阪府立羽曳野病院 情報企画室
Osaka Prefectural Habikino Hospital
[はじめに]
通常MUMPSには、Full Volumeのバックアップや、グローバ
ル変数のジャーナリング機能が標準的に装備されているが、ルーチンの追加・
修正についての記録・管理システムはあまり見あたらない。我々は分散・統合
化システムを構築するあたり、常に複数プロセッサ間のアプリケーション・ル
ーチンの整合をとるため、日々追加・修正されたルーチンを自動的に配送・リ
ストアするユーティリティを開発したので報告する。
[概要]
MUMPSのグローバル変数の更新は、一般的には指定されたグローバル変
数の追加・更新・消去に対して、AIJ(After Image Jour
naling)という形でディスクあるいは、磁気テープにとられている。し
かしながらルーチンの変更に関しては、個別の更新に対して、その都度指定ボ
リュームあるいはUCIにマニュアルで転送し、リストアされているのが現状
である。ルーチンの変更まで完全に一致させようとすると、ボリュームセット
のバックアップしかないが、複数プロセッサ間のアプリケーション・ルーチン
を一致させようとすると、バックアップは不適当である。
特に多数のプロセッサを有するシステムでは、ルーチンのプロセッサ間での
一致は至難の業であり、転送忘れや逆に新規更新したルーチンに古いルーチン
をかぶせてしまったりする可能性がある。このユーティリティはこれらのミス
を防ぎ、常に複数プロセッサ間のルーチンを一致させるためのものである。
[方法]
送り側のシステムで起動をかけられたプロセスは、まず受け側のシステムの
前回転送日時をDDP経由のグローバル参照によって、確認する。送り側のプ
ロセスは、自動的にUCIを変更して、前回転送日時以降にセーブされたルー
チンをピックアップし、受け側のシステムのグローバルにルーチンを書き込む。
すべてのUCIの変更されたルーチンを転送し終わると、送り側のルーチンは、
サブプロセスを経由して受け側のシステムのリストアプロセスを起動する。
受け側のプロセスは、送り側のプロセス同様UCIを順番に変更して、グロ
ーバル変数にセットされているルーチンをリストアし、終了メッセージを送り
側システムのグローバルに書き込み、プロセスを終了する。送り側のプロセス
は、グローバルに書き込まれた終了メッセージを確認し、転送日時を更新して
終了する。
[結果及びまとめ]
送り側システムから起動をかけることにより、自動的に全UCIの転送すべ
きルーチンを抽出し受け側システムに転送・リストアまで行うユーティリティ
を開発した。
このユーティリティを定期的に走らせることにより、複数プロセッサにまた
がったMUMPSシステムのアプリケーション・ルーチンの管理が可能となっ
た。またオプションとして、消去されたルーチンをシステム間でチェックし、
過剰分を消去するモジュールも用意したので、このオプションを選択すれば過
剰分も同時に消去できる。
このユーティリティは、分散・統合化されたMUMPSシステムのルーチン
管理には、非常に有用なものと思われる。