vol.20報告(1/2)―IT業界の20年、考えさせられることがたくさんあった

TechLION取材班まつうらです。今週そして来週のブログでは、3/24に開催したTechLION vol.20のレポートをお届けします。

20年をテーマに開催します!
本日は「20年」をテーマに開催します!

TechLIONは2011/03/31に旗揚げしてから今回で5年目を迎えることになりました。これまでに開催してきた試合は19試合、そして今回20回目が行われます。そこで本日はこの20という数字から、「20年」をテーマに開催しようということになりました。

今から20年前といえば1995年。阪神大震災や地下鉄サリン事件の年として印象深いですが、流行語トップテンに「インターネット」が選ばれたり、Windows95発売、Java誕生、PHSやテレホーダイ開始など、IT分野でも大きな出来事のあった年でした。これらの用語を聞くだけでもだいぶ時代を感じますが、IT業界に生きる獅子達はこの20年に何を感じてきたのでしょうか。Javaと通信の分野から3人のゲストを招いて語ってもらいました。(当日の模様を収録した動画も公開いたしました)

■第1部・第2部 ITサファリパーク

#1 櫻庭祐一さん―Javaの20年

桜庭さん先程も紹介したように20年前といえばJavaが登場した年。この言語は一体どういう歴史を辿ってきたのでしょうか。Java歴=Javaの年齢(20年)にして、日本唯一の公式Javaチャンピオン認定者、桜庭祐一@Java in the Boxさんに語ってもらいました。

Java年表

桜庭さんのトークから主な出来事を年表にまとめてみました。たくさんあるJavaの用語を整理するにも大変参考になりました。(→当日のスライドはこちらです)

1991年~(前史)

  • GreenTeam発足。Bill Joy(vi開発者)とJames Gosling(Emacs開発者)がOakという名の言語を制作。これがJavaの前身となる。
  • Dukeというマスコットも制作。(言語のマスコットは恐らく初)
  • 当初STBを意識していたが、ブラウザーアプレットとしての道へ。
  • Oakという名は既に商標登録されていたため、後にJavaと改名することに。

1995年

  • 5月、SunWorldにてJava(JDK 1.0α2)発表。(桜庭さん。翌日DLし、Java歴開始)
  • NetscapeがJavaをバンドルすることも併せて発表。この影響でNetscapeに元々あったLiveScriptという言語も、JavaScriptに改名。混乱という悲劇を生むことに……
  • 日本で高木浩光氏により、JavaHouse ML開始。(過去レスをよく見ずに質問すると怒られるというとても厳しいMLだった)

1996年(拡大期~)

  • Java 1.0リリース。この頃既にJava VMGC、Thread、NetworkといったC言語では実装の大変だった機能がサポートされていた。
  • JavaOneカンファレンス初開催。現在に至るまで続いている。
  • ServletJDBCJavaCardはこの頃から実装される。

1997年

  • Java 1.1リリース(風間一洋氏らによる日本語入力機能なども取り込まれた)
Javaロゴの変化
Javaロゴの変化。NTTドコモから「携帯では線が小さくて見えない」と苦情が来たのだとか

1998年

  • Javaコンソーシアム設立(IBMを中心としたベンダー系コミュニティー)
  • JAVA PRESS創刊
  • Java2リリース(2なのにJDKとしては1.2。J2SE、J2EE、J2MEに分かれた)
  • ロゴが変わった(J2MEをサポートするNTTドコモからロゴの細線が描けないという苦情が原因か?)
  • ユーザー参加型の標準化機構JCP設立

1999年

2000年

  • J2SE 1.3リリース(HotSpot VM、新GCなど)

2001年

2002年

  • J2SE 1.4リリース
  • エンタープライズ向け端末が出始める。

2003年

2004年

  • J2SE 5.0リリース。(Ease of Developmentと呼ばれる言語仕様変更により、置いてけぼりになった人多数)

2005年(暗黒期~)

2006年

  • JavaSE 6リリース(6以降ではJ2SEと呼ばなくなった)
  • JAVA PRESS休刊(3月)、JavaWorld休刊(12月)
  • OpenJDKリリース。
  • JJUG発足。

2008年

  • JavaFXリリース(これが発端で従来の開発チームが分裂するなど悪いニュースが……)
  • この頃Android端末が登場する。

 

2010年

  • Sun Microsystems、Oracleに買収される(1月)。

2011年(再生期~)

  • JavaSE 7リリース。(リリーススケジュールとしてプランBが採用された)

2014年

  • JavaSE 8リリース。(関数型っぽいものが入り、クロージャ―論争に決着が付いた)

そして未来……

  • パフォーマンス向上の取り組み(CPU Cacheとの親和性や巨大メモリなど)
  • 新しいPackaging(もう一つの大論争テーマ)に決着が付く?
  • コミュニティーが影響力増大?
  • JJUG CCC 2015 Springやります!(2015/4/11(土)、ベルサール新宿グランド

⇒イノベーションが続く限り、発展も続くでしょう!

#2 堂前清隆さん―20年前のバックアップテープと格闘して思ったこと

堂前さん続いては堂前清隆@IIJさん。日本のインターネット黎明期に誕生したIIJならではの少し考えされられる話です。(→当日のスライドはこちらです)

唐突に渡された8mmビデオテープ

堂前さん、ある日会社の先輩に呼び出され、唐突に8mmビデオテープを渡されました。テープの裏には「All dump@ftp.iij.ad.jp 93/06/05」の文字が……。その中身の正体は、IIJが発足して約1年、IP接続サービスを開始する頃の公開FTPサーバーのデータだったそうです。

それを何とかして取り出すように指示され、社内のジャンク好きに「テープドライブ持ってませんか?」と尋ねたら、なんと所有していて、なんやかんや(後述)やって取り出すのに成功したそうです。

中身のデータが時代を感じさせた

フルバックアップだったためsyslogなんかも出てきました。それによれば、そのマシンのスペックは、SUN SPARCstation2、メモリ64MB、システム用HDDは1GB×2、FTP用HDDは2GBを4台(93年としては超大容量ストレージ!!!)。OSはSunOS 4.1.3でした。

FTPの/pubの中身も懐かしい。今なら/pub/linuxの直下には主要ディストリビューションが並びますが当時はGCCへのリンクがあったり、/pub/GNUの中にはEmacs 19.9やgcc 2.4.3が……。しかも殆どがディスク容量節約のために差分圧縮の“.diff.gz”になっているのです。

そして/pub/miscというディレクトリーを覗いてみると、そこにはxmosaic-sun.Zというファイルがぽつんと1つありました。調べてみるとこれはあのNCSA Mosaicのなんと1.0でした(今公開されている最古のバージョンよりも古い)。これも動かしてみようということになり、さっきのジャンク好きに聞きながらSPARCstation IPXを用意し、いろいろ試行錯誤しながら(後述)動かすことに成功したのです。

IT発掘考古学

動かすのに成功したと一言で書きましたがそこには色々な「IT考古学」ともいうべき発掘技術が必要だったそうです。

HDDの直し方
グリスの劣化したHDDの直し方。モーター始動に合わせて掌をクックッと回すのがコツらしい。

まずはハードウェア。ドライブやインターフェース(パラレルポート、Narrow SCSI、IDE、…)等が現存しなければ始まりません。また、現存していても機械的な問題が立ち塞がります。例えばプラスチックは割れ、グリスは固まり、ゴムベルトは溶け、これらは劣化三兄弟と呼ばれています(堂前さん談)。動かなければ直すわけですが、例えばモーターの動かないHDDの直し方にもコツがあります。写真のように、手のひらをスピンドルモーターの軸の直上に宛がい、通電後にクックックッと手を小刻みに回すのだそうです。その際、モーターのうなりを感じることが重要らしいです。

そうして動き出したら次はソフトウェアです。デバイスドライバーはあるか、古いファイルフォーマットは読めるかといった関門を突破しなければなりません。特にデバイスドライバーはホストに繋がるものですので仮想マシンでどうにかなるとは限りません。関門はまだあります。ユーザーの記憶です。古いコマンドともなれば使い方を忘れがち。例えばtarコマンドはもともとテープドライブを操作するものですが、巻き戻しのやり方を覚えていますか? ……そんな時に役立つのは古いmanだそうです。

ソフトウェアはローカルだけの問題ではありません。ネットワークアプリケーションではまたプロトコルの後方互換性も重要です。この当時の端末にはDHCPが無かったのです。ネットマスクは/16(クラスB)や/24(クラスC)などに固定されておりCIDRなどという概念が無かったからです。これには少し悩んだそうです。そして、次はHTTPリクエスト。Mosaic 1.0のHTTPリクエストはなんと、
“GET /”
という1行どころかたった5文字。HTTPのバージョンすら通知しません。これだとさすがに名前ベースの仮想ホストには対応できないものの、それでも今どきのApache 2.4はちゃんと応答を返してくれたそうです。

未来に向けた心配

Mosaic 1.0のたった5文字のリクエストが今のホストにも通用したというのはさすが柔軟な解釈のできるテキストプロトコル(HTTP/1.1まで)ならではだと思ったそうです。ところが、昨年発表されたHTTP/2はバイナリープロトコルです。果たしてHTTP/1.1までが兼ね備えていた柔軟さは残るのでしょうか? HTTP/2によって、我々は何を得て何を失うのか、考えていかねばならないと感じたそうです。

今回偶然見つけた8mmテープからMosaic 1.0環境を復元したように、もし20年後の2035年に、2015年の遺物を見つけたら、果たして彼らは中身を発掘できるのでしょうか?

#3 松本直人さん―災害コミュニケーション~災害時におけるIT活用とその課題

松本さん20年前の1995年といえば阪神大震災の年で、これは大災害に対して初めてインターネットが活用された事例だったそうです。そこで次は災害に対するITの活用に関する状況や課題について松本直人@さくらインターネット研究所さんに紹介してもらいます。(→当日のスライドはこちらです)

災害発生時における情報収集の限界

最初は、東日本大震災発生当時に起きた通信インフラへの影響に関する話です。

スライド(【情報通信空白地帯】)は、東日本大震災が発生した当初の携帯電話および固定電話の不通地域を図示したものです。しかもこの状況を把握できるまでに半年かかったという点が被害の甚大さを物語っています。

情報通信空白地帯
【情報通信空白地帯】 赤色が携帯電話不通エリア、薄緑が固定電話不通エリア(震災2か月後)

通信事業者である松本さんの友人が、移動基地局を車載し、震災発生の翌日から被災地に通ったそうです。道路は波打ち、雨が降ればさらに悪路になり、電灯が無いので夜になれば暗闇になり……。何度も通っていたがゆえに、現地がどういうことになっていたかよく知っていたそうです。

今回の震災では、スライドに示した状態が震災発生から2か月余り続き、完全復旧には1年ほどを要したそうです。ここで松本さんが訴えるのは、まずITでできることというのは通信網がある場所でしかできないということであり、そしてこういう事態は恐らく今後我々が生きている間にも起こり得ることだということです。

地方自治体が依存するAS(自律システム)

このように通信網が使えなくなってしまってはIT設備は何の役にも立たなくなってしまいます。では公共機関である地方自治体はどういう対策をとっているでしょうか。

地方自治体がITを使って果たす役割の一つにWebを使った情報発信がありますが、それぞれがどの通信事業者のAS(自律システムと呼ばれるネットワーク)に接続しているかを調べると興味深いことがわかります。日本に1700以上ある地方自治体が利用しているASは現在166あり、利用しているASの上位およそ3割は4つの通信事業者のASですが、その他のASがロングテール的に使われています。

例えば地方自治体数の少ない香川県のAS利用状況を見ると、やはり上位は見慣れた大手通信事業者のASなのですが、一部に静岡の通信事業者のASを使っている自治体が存在しています。また、東日本大震災で甚大な被害を受けた福島県の状況を見てみると、一つの自治体で複数のASに接続しているところがあります。ただこれは単純なDNSラウンドロビンでミラーリングしていて、障害の起こったASを避けるわけではありません。従ってどれかのASで障害が起これば繋がりにくくなりますが、それでも完全に不通になってしまうよりはいいということを、SIerさんが提案したのではないかと。震災以後意識が変わったんでしょうね、と松本さんは言います。

一般市民レベルでの災害把握

例年8月頃は岩手地方は豪雨に見舞われるため、その時期に岩手で豪雨を例にとって災害にどう対応できるかを体験するワークショップが催されたそうです。

視覚情報による災害把握
視覚情報による災害把握。近年はスマートフォンとWebサービスがあるだけで、だいぶ把握ができるようになってきた。

その結果わかったことは、近年の技術なら特に特別な装置がなくても、概況を把握するところまではうまくできるようになっていたそうです。例えば、検索エンジンで映像も含めた状況を調べたり、逆にカメラで撮影した状況を発信したり、避難勧告のアラートを受信したり、GPSで位置情報を確認することも。それらをたった一台のiPhoneでもこなすことができます。

さらに最近では、全天球カメラ(THETAなど)で360°の光景を撮影し送信することもできます。一度に伝えたい映像はたくさんあったりするのでそういった場合に貴重です。これにGoogleの画像検索を組み合わせれば、サイトや日時での絞り込みを併用して、災害時の履歴を追うことも可能です。

松本さんは、トークの合間でも災害時は助け合いが大切だと言い、最後にも「災害対応を他人任せにしない、自分で行動しましょう」と言いました。情報端末も通信網も、受信する情報がなければ意味をなしませんので確かにその通りだと思います。危険を冒して、あるいは不確かな情報を、無理に発信する必要はないと思いますが、必要な情報は自らも発信することでITを活かすべきだと私も思います。

◇ ◇ ◇

三人ともとても興味深い、そして時の積み重ねを感じさせるトークでした。ありがとうございました。というわけで次週のレポート後半に続きます。