オーバーレイ・システム
オーバーレイ・システム
もともとは、昔の主記憶容量の小さなコンピュータで、プログラムを分割してロード実行するシステムのこと。
転じて、MacintoshのAppleScriptによる自動処理システム(「グローバルIPアドレス」の項、参照)における、プログラム集約化について私が「勝手に」呼んでいる概念。
AppleScriptによる自動処理システムは、そのプログラムレベルを高度化させていったところ、24時間ノンストップで勝手に作業を行うロジック・ロボットに進化。従来では手作業で行っていたような仕事を自動化し、マシンの台数を増やすことで「より高速」に「より複雑な」タスクを「自動で」こなせるようになった(これらを総称して、ロボットシステムと呼んでいる。フィジカルなロボットではなく、ロジカルなロボットとご理解いただきたい)。
ただし、システム稼働初期においてはデバッグや環境の調整などの都合上、1台のマシンで1つの作業フローを走らせることになる。とくに、システムの安定性を確保する必要から、1時間に1回起動するタスクでも専用に1台のMacintoshを割り当てておくことがなかば常識化していた(これには、非力な古いマシンでもタスクを回せるというメリットもあった)。
しかし、いいかげん台数が増えて2桁の大台に達するようになると、自宅で大量のMacintoshを常時稼働させることによるストレス……騒音の問題や電気容量の問題などがついてまわる。PC/ATより遙かに静かなMacintoshとはいえ、最近のG3/G4マシンの騒音はPCI Mac数台分に匹敵し、ワンルームでそれらを稼働させた際のノイズはストレスフルである。そこで毎日寝起きしている自分にとっては、かなり差し迫った問題(汗)。
そこで、バグが取れて安定稼働するようになったタスクたちを1台のMacintosh上に集約し、まったく性格の異なる各種タスクを切り換えながら実行するようにしてみた。これが、ここで言うオーバーレイ・システムである。
Webサイトを自動更新するタスクAでは、データベースとFTPアプリケーションが、ユーザーからのリクエストに随時応答するタスクBでは、データベースとメールアプリケーション……といったように、制御用AppleScript+使用アプリケーション+データ(ドキュメント)を1つのセットとして、これを切り換えながら起動・実行することで、従来複数台のマシンを要していた仕事を1台に集約化できる。
とにかく、単発のアプリケーション起動やファイルのオープンだけではこれらのスケジュール管理はカバーし切れない。既存のcron系アプリケーションの多くがそのレベルの処理をカバーしてくれないことから、「自分で作るしかないか(汗)」ということで、その部分は仕方なくAppleScriptで直書きしている。各タスクの処理優先順位の制御など、かなり簡略化した形ではあるものの実装を行っている(ただし、汎用性に欠ける専用のシステムになっている。なんてこったい!)。
そこで、高度というと語弊があるかもしれないが「機能のリッチなcron系アプリ」というものが必要であることを、USのAppleのAppleScript製品担当であるSal Soghoianの来日時に直接会って話をしたのだが、その必要性はうまく伝わらなかった。まことに残念。もう少しうまく説明できるとよかったのだが……。そこまで真剣に使い込んでいるユーザーがいると思っていなかったのだろうか(汗)
オーバーレイ・システムによって、常時稼働するMacintoshの台数を抑え、騒音を低下し、安眠を確保しようとしたこの試みも、結局のところ「どうせ、非同期分散システムが多いんだから、夜間はパワーオフ」という割り切りによって、技術的な努力ほどには成果を上げていない(「閉店の音楽」の項、参照)。
事実、稼働マシン数の削減という意味でのオーバーレイは、努力ほどの成果をもたらさなかった。だが、これ以上(11台)マシンを増やさないための努力としては、成果をあげているという評価はできるだろう。
複数タスクを1台に集約化するオーバーレイとはまったく別のアプローチとして、複数台に1つのタスクを分散して処理速度を稼ぐ「分散処理」の試みも行われている。
とくに、Classic MacOSにおいては、複数プロセス実行時のプロセス間の競合によるタイムロスが少なからず発生するため、AppleEventによる指令専用マシンとデータベース専用マシン、メール送信専用マシンといったように……本来は1台のマシン上で動いていたものを複数台に分散すると1台の時よりも良好なパフォーマンスを発揮するという検証データが得られている。
(もちろん、プロセス間の競合を最大限に回避するプログラム上の手法もある。だが、AppleScriptの実行速度が高速化した結果、ほぼ並行してアプリとスクリプトが処理を行う状態になっている……)
ただし、プロセス間の競合によるタイムロスの少ない構造を持つMacOS X上では、タスクがある程度の規模になるまでは、分散させるよりも1台のマシン上で集約的に稼働させた方がパフォーマンスが出る可能性がある(ネットワーク間の通信にかかるコストよりも単一マシン内でプロセス間通信するコストの方が低いというのが前提)。
現に、MacOS X上のEntourageに対してAppleScriptで大量のメール配信を指令したところ、同一のハードウェア上でMacOS 9を動かしてメール配信専用ソフトウェアを用いて送信を行うよりも、高速であることが実証された(送信が終了したのではなく、内部のいずれかのレイヤーでバッファリングしている可能性はある。ただし、AppleScript側もすぐに解放され、Entourageの送信も視覚的には終了しているように見える)。
Cなどの言語ではなくシステムレベルのマクロ言語であるAppleScriptによって、高度な処理を手軽に行うことができ、運用面での工夫によってさらなる成果を収めつつある。オーバーレイ・システムはその運用面での努力の1つといえよう。
- 2002/05/17更新
- 2002/05/17登録
- 2562クリック
「オーバーレイ・システム」を検索
このキーワードを共有する
-
つながり(11)
つながりキーワード (11)
合格HELPER
- (ぴよまるソフトウェア)
情報処理試験のオンライン試験サイト。毎週金曜日に問題をメールで出題する「ウィークリーテスト」、オンラインの用語集、ダウンロード形式で楽しめる用語ゲームなどから構成。初級シスアド、基本情報、ソ...
ファイルメーカーPro
- (ぴよまるソフトウェア)
データベースソフトウェア。「使いやすさ」を主眼としたユーザーインタフェースを持つ。とかくAcceessと比べられがちな存在だが、まったくの別物と考えたほうがよいだろう。 ...
cron系アプリ
- (ぴよまるソフトウェア)
UNIXのサービスのひとつに、システムレベルのスケジューラー「cron」がある。crontabファイルに記述しておけば、指定した間隔・時間にプログラムが起動するという機構(かなり端折って説明...
Xserve
- (ぴよまるソフトウェア)
Apple初のラックマウント・サーバー。Macでホスティングを行いたいと思っていても、データセンターのラックに入れられる薄型筐体のマシンが存在せず、事実上ホスティングは不...
Mac使いへの道
- (ぴよまるソフトウェア)
Macの有用なソフトウェアの紹介と、AppleScriptについての紹介をまとめた書籍。 AppleScriptによって縦横無尽にMacを扱えることを新時代の「Mac使...
閉店の音楽
- (ぴよまるソフトウェア)
デパートなどの閉店時に「蛍の光」を流すことが、いつから慣例化したのかは、ちょっと調べてみただけでは分からない。 ただ、物心ついた頃からすでに「閉店の音楽」=「蛍の光」であったように記憶して...
On The Air
- (ぴよまるソフトウェア)
アップルの「AirMac」は、Macとモデムの間を無線で接続できるようにする製品。 これを、CATVやADSL、FTTHなどのいわゆるブロードバンドのサービスで利用しよ...
高速詫間電波高専
- (ぴよまるソフトウェア)
高速QuickTimeムービーシリーズのうちのひとつ。高速ムービー化に見合った条件のライブカメラは、日本全国探してもそれほど多くない。連日数百回もリクエストを出しても大丈...
高速富士山
- (ぴよまるソフトウェア)
1分ごとに富士山のライブカメラ映像を取得し、日没後にQuickTimeに画像のインポートおよびSorensonによる圧縮を実行。ムービーを生成したのちFTPでサイト上にア...
固定IPアドレス
- (ぴよまるソフトウェア)
(これはMacOSに限定した話なので、その点をお汲み取りください) 自分の作ったプログラムをWebサーバーと連動させたい場合、 (1)自宅に固定IPアドレスがもらえるインターネット回線を...
AppleScript
- (ぴよまるソフトウェア)
MacOSに標準搭載されているスクリプト言語。MacOS上のGUIベースのアプリケーションをコントロールできるほか、MacOS XのUNIXレイヤーにあるUNIX系アプリ...







