3-2: βテスト-2

 黒田くろだ あゆむ は情報処理研究所のミーティングの席に着き、ノートを確認していた。

 ミーティングが始まると、担当助教授がβテストの状況を報告した。βテストの参加者はまたいくつか増えていた。その増えた中に、歩の気になる名前があった。歩は名刺入れを取り出し、先日来受け取った名刺を眺めた。やはり、Leibniz ユーザー・ミーティングでもらった名刺に書かれている会社があり、担当者として挙げられた中にその名前があった。

「Leibniz ユーザー・ミーティングはどうでした?」

 担当助教授は歩に訊ねた。

「持っていないので場違いかと思いましたが、興味は持ってもらえたようです」

 Leibniz ユーザー・ミーティングでもらったいくつかの名刺を、歩は助教授に渡した。

 渡された名刺をテーブルに広げ、助教授は眺めた。

「そうですか…… なるほど」

 助教授は名刺を歩に戻した。

「それでは、本題に入りましょう。まず移動体についてですが、これは黒田さんからの提案どおり、規格には書かないということで進めるということでいいでしょうか?」

 ミーティングの参加者はうなずいていた。

「では次にホップ数についてですが、黒田さんからの提案のように、worm の本体からは外れた場所に置くのはいいとして、型はどの範囲にしましょう?」

「ちょっと、その点について一つ」歩は割り込むように言った。「型を定めても、その型に従ったホップ数が書かれるとは限りません。キーワードの長さ、あるいは worm スクリプトの大きさ、そして探索対象の大きさについては、ファイル・サイズやディレクトリ下の使用容量で見込みができます。それに対しホップ数は、パーズしないとわからない。これは危険の元となりえると思います」

 歩はほかのメンバーの顔を見た。

「かと言って、よくある言語のようにパーズをするのは、 worm スクリプトの仕様上避けたい。そこで、やはりFORTHからナンバー・ランナーを持ってくる方法を提案したいと思います」

「それが妥当だろうなぁ。そこは実装して、規格にも反映させておきます」

 メンバーの一人が答えた。

「では、そうするということで。IANAからは、確定ではありませんが、修正が必要と判断するかもしれないという連絡が来ています。修正の要請が大規模なものでないなら、γテストはスキップし、これが規格を公開する前に変更を加える最後の機会と考え、他に課題としたい事柄があれば、ここで全部出してしまいたいのですが。なにかありますか?」

 歩はノートを何ページかめくり、右手を挙げた。

「黒田さん、どうぞ」

「worm スクリプトの実行系として現在採用しているJavascriptですが…… ちょっとホワイト・ボードをいいですか?」

 助教授は席を歩に渡した。

「現在、Javascriptは正直あまりたいしたことはできません。それで、Javascriptの開発元から聞いた話なのですが。次のマイナー・バージョンでは、HTMLファイルの要素にアクセスできるようになるようです」

「アクセスできるようになるというのはどのくらい?」助教授が訪ねた。

「もらった資料を読み間違えていなければ、要素を読み込む程度のようです。ここで要素というのは……」歩はホワイト・ボードにHTMLファイルの概形を描いた。「任意のタグで挟まれた区間で、任意のタグはIDなどのアトリビュートで指定するようです」

 横では助教授が顎の先に手を当てて考えていた。

「それは、 worm の探索においてもそれを利用したパーズをということですか?」

 メンバーの一人が訊ねた。

「いや、黒田さんが気にしているのはそういうことではありませんね。任意の要素にアクセスできるなら、その要素を読み込むだけではなく、HTMLファイルそのものを書き換えることが可能になるかもしれない。そうですね?」

 助教授は歩を見た。

「そうです。現在でも共有した探索データはDBMSを用いて公開していますね?」

「確かに」

「JavascriptでDBMSへのアクセスまで可能になるかはわかりませんが、要素をJavascriptで読み込み、それによってHTMLファイルを構築できるようになる可能性を考えています。そうなった場合、現在想定している探索対象のファイルがどれほどの大きさかを、ファイル・サイズで概算するという方法が取れなくなる可能性があります。加えて、対象となるHTMLファイルには、用いるJavascriptによるスクリプト、あるいはスクリプトの場所を指定することになるとは思いますが、そのスクリプトをパーズし実行しないと、ページに含まれる文字列を取得できなくなる可能性もあります」

「だとしても、サーバサイドのJavascriptの実行系を今も使っているのだから、それをアップデート版に対応させればいいのでは?」

 メンバーの一人が訊ねた。

「基本としてはそうです。ただ、これまで worm を記述するスクリプトはチューリング完全にならないように気をつけてきました。仮にですが、 worm スクリプトからJavascriptのパーズと実行を行なうようになったとしたら、その前提が崩れるかもしれません。そうでなくとも、悪意がある実行系が現われた場合、どうなるか。実を言えば、探索対象のURLあるいはファイル名を暗黙的にではありますが保持するという点についても気にはなっているんです」

「その保持は機能上不可欠だと思いますが」

 メンバーの一人が訊ねた。

「不可欠です。ただし、暗黙のメモリが存在するという点において、危険でもあります。この点はどうしようもないところなのですが」

「じゃぁ、こうしましょう。Javascriptによって構成されるページであっても、そうでなくとも、その取得は worm のスクリプトの実行系が処理してしまう。 worm にとっては、その区別はないようにする。どうですか?」

 助教授が提案した。

「思いつくのは、そのような隠蔽くらいですね」

 歩は答えた。

「では、規格の仮の次のバージョンを早めに書いてしまいましょう。現在の仮の次のバージョンはここに印刷してきていますので、読んでください」

 助教授はそう言い、ステープラーで留められた書類を歩を含めたメンバーに配った。歩は先程までの席に戻ると、規格を読み始めた。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る