2014年10月02日の日記です


レイ・トムリンソンの誕生日(1941)  2014-10-02 13:08:14  コンピュータ 今日は何の日

今日はレイ・トムリンソンの誕生日(1941)。


現代的な意味での「電子メール」を発明した人です。


現代的な意味で、っていうのは、電子メールの歴史は案外古いから。

文字が使えるようになって、タイムシェアリングで1台のマシンを複数人数で使うようになったら、もう「ほかの人に文字メッセージを送る」機能は作られ始めています。

でも、当時の電子メールなんて、「テキストファイルを、個人向けのディレクトリに保存しておく」程度の簡単なもの。


1971年10月、レイ・トムリンソンは、ネットワークの別のマシンにメールが届く仕組みを完成させます。


同じマシンを使っている人宛てであれば、個人を識別できる ID …いわゆるアカウントだけがあれば大丈夫でした。

でも、別のマシンに宛てるのであれば、マシン名も必要になります。


そこで、レイは「アカウントの後ろに @ を付け、さらにマシン名を付ける」という記述方法を編み出します。

今のメールアドレスの始まりでした。




上記エピソードでは、最初のメッセージが「QWERTYUIOPだった」とされることがあるのですが、これはレイ氏が語ったことが曲解されたもので、彼はこの発言を悔いています。


「適当に文字を打ち込んだだけで、何を送ったかは覚えていない」…これが、後に語った正確なところ。

とあるインタビューで、キーボードの上の文字を適当に押した QWERTYUIOP のようなでたらめなものだった、といった言葉が独り歩きしているそうです。


しかし、内容は本当に覚えてなくて「でたらめだったかどうかすら不明」です。

後には TEST 1-2-3 みたいな(多少は意味のある)文字だったかもしれない、とも答えていますが、いずれにせよ覚えていないとのこと。


「30年も前の特定の日の朝ごはんが何だったか思い出せ、と言われて思い出せるかい?」と言うのも彼の弁。

なるほど、テストメッセージなんて特に重要なものではないし、本当に覚えていないということなのでしょう。




彼は BBN という会社に勤めており、会社では ARPANET のための研究をしていました。

そこで、ネットワーク上でデータ通信を行う仕組みを研究していて、メールはそのうちの一つでした。


でも、彼はこれは大した仕事ではないので、あまり人に言わないでくれ…と言っていたそうです。


この時作られたコマンドの名前は、SNDMSG 。言うまでもなく Send Message の意味ね。

…どういう動作を行うコマンドだったのかは、調べてみてもよくわかりません。


ただ、SNDMSG よりも前、1970年ごろには、すでに「マシン間でファイルを交換する仕組み」が作られています。

これは後に洗練され、FTP と名付けられます。


1973年ごろに提案される メールプロトコル には、「現在は FTP で配送を行っているが」という記述があります。

つまり、SNDMSG は、FTP を応用してメール配送を行ってたようです。


…つまりこういうこと。

SNDMSG にテキストと配送先を与えると、配送先を「相手マシン」と「そのマシンでのアカウント」に分解して認識し、相手マシンに FTP で接続、相手のアカウントを明示したファイルとして、メール内容を置くのです。


なるほど「たいした仕組みではない」と言うのも、事実なのでしょう。

ただ、「なんでも送れる」FTP を適切に機能を絞り込み、メッセージの交換機能として使いやすくまとめたのは、明らかに彼の功績です。




この後も、RFC 調べてみたら進歩の過程がわかって面白いのですが、説明しても長いだけなので割愛。

番号だけ書いとくと、369,453,456,524,651,680,724,733 そして、821 あたりを読むと参考になるでしょう。


453,456 なんて今の RFC から考えると、「なぜこれを RFC で発行する」という内容。

651 ではレイ自身が再びメールの重要な進歩に関わっています。


そして、821 は言わずと知れた「SMTP」の最初の仕様ですね。現在のメールの完成です。




実は、レイはメールと同時期に、もう一つ重要なプログラムを世に送り出しています。


レイの同僚が作ったプログラムを、どうも「ちょっとイタズラ」した亜流バージョンなのですが、このイタズラが非常に大きな意味を持ちます。

(メールも「たいした仕組みではない」けど重要な仕組みですし、彼は既存プログラムに、重要な意味を持つ改変を加えるのが上手だったようです)



1970年、同僚のボブ・トーマスは、「データ転送する」プログラムを実験していて、実行可能なファイルを送り込み、それを実行させることに成功しました。

クリーパー(這い回るもの)という名前のプログラムで、ネットワークで接続された別のマシンに自分自身を送り込み、相手側で実行を開始すると、最後に自分自身を消去しました。


実行されると、画面に「I'm the Creeper. Catch me if you can!」(僕はクリーパー。捕まえてごらん!)というメッセージを表示します。

まぁ、この段階ではただの技術実験。


レイは、このプログラムにイタズラをして、最後の「自分自身を消去」の部分を無くしました。

これにより、クリーパーは増殖を開始します。世界初の「ワーム」(ネットワーク経由で感染する、ウィルスの一種)プログラムです。


クリーパーは、見事に「捕まえて」、消去してしまえば実行を停止できました。

しかし、増殖してしまっては消去しても、消去しても、消しきることはできません。


クリーパーにメモリも CPU 時間も食いつぶされ、コンピューターは使えなくなるでしょう。

しかも、そのコンピューターを再起動してもダメなのです。他のコンピューターから入ってきますから!


このままでは困るので、レイはさらにクリーパーを改造し、マシンを渡り歩きながら、クリーパーを見つけ出したら削除するプログラムを作り出しました。

これは、リーパー(死神)と名付けられます。


…この話、翌年に書かれた SF小説「HARLEI」の中で、「ウィルスとワクチン」と名前を変えて、そのまんま引用されています。

当時は、まだ ARPANET も実験開始直後。そのため、多くの人が良くできた作り話だと思ったようですけど。


このため、HARLIE は「ウィルスを予言した SF小説」だとされています。




同じテーマの日記(最近の一覧)

コンピュータ

今日は何の日

関連ページ

シーモア・パパート 誕生日(1928)【日記 16/03/01】

【訃報】レイ・トムリンソン【日記 16/03/07】

レイ・トムリンソン 命日 (2016)【日記 17/03/05】

HARLIE とコンピューターウィルス【日記 14/09/18】

別年同日の日記

02年 サーバー不調

02年 Write Once ...?

13年 ENIACの運用が終了した日(1955)

15年 アンドリュー・グリーンバーグの誕生日(1957)

17年 中二病


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

16001

-- follow --




- Reverse Link -