前回では、第二次世界大戦前後の歴史を振り返りながら、コンピュータの誕生経緯を解説しました。今回の連載では、コンピュータが世間で広く使われるようになっていく時代と、そうした時代の変化の中で、ロチェスター研究所がAS/400を開発するに至った経緯を紹介します。
アメリカ中西部、五大湖の一つ、スペリオル湖の南に位置する、当時は人口10万にも満たない田舎町であったミネソタ州ロチェスター。1956年にこの町に設立されたロチェスター工場・研究所は、IBMがSystem/360といった大型コンピュータに力を入れて、市場を文字どおり席巻していたとき、パンチカードのシステムなど、コンピュータの周辺機器を作っていました。場所的にも、また当時はまだビジネス的にも、IBMの中核を担っていたと言える状況からは程遠かったかもしれません。この頃一方では、DEC社※1が、中堅中小のユーザー向けに、ビジネス用途の小型コンピュータを販売し、IBMと競合しながらも市場で大いに躍進しました。DEC社のコンピュータは廉価であり、それが魅力的に映ったのは事実ですが、市場はコンピュータをビジネス用途に使うことの可能性を認めたに留まらず、中堅中小企業におけるその成長の可能性は非常に高いものであることを示唆していました。
そこで、IBMロチェスターは、中堅以下のユーザー向けのビジネス専用コンピュータという市場に賭けてみることを考えます。すでに、IBMにはSystem/360という会社の屋台骨を支えるコンピュータがあったため、これと競合するわけにはいきません。そこで、会計用の専用機をつくる、という名目で開発を始めます。そして、1969年7月30日にSystem/3がリリースされました。
当時、System/3はAutomated Unit-Record Machine(自動的にレコードを処理する機械)と称していました。また、合わせて登場したRPGはプログラム言語としての位置付けにはなく、単なるレポート・プログラム・ジェネレーター(Report Program Generator: 乱暴に一言で表現するならば、伝票発行ツール)でした。すなわちSystem/3はいわゆるコンピュータではなく、オフィスの事務員でも操作できる、プログラマー不要の伝票発行マシンだったわけです。さらに社内で競合するわけには行かなかったので、System/3最上位機はSystem/360最下位機の性能を凌駕することがないように定められました。
こうして中小企業向けのビジネス開拓をはじめたロチェスター研究所は、その後System/3を、System/32、System/34、System/36、System/38、さらにはAS/400へと進化させていくこととなります。「いずれは究極のビジネス用コンピュータをつくろう」という志がその原動力にあったのは事実ですが、一方で当時のIBMを取り巻く環境は極めて厳しかったために、ロチェスターは自立できるに足るだけの強力なシステムを必要としていたのも事実だったようです。IBMはSystems/360の大成功によって市場で絶大な力を持つに至ったために、独占禁止法違反であるとして、1969年に米司法省から提訴されてしまいました。その力を殺ぐために会社を分割してしまおうという圧力がかかっており、そこで切り出されてしまうかもしれない事業所の候補の一つがロチェスターだったとされています。ロチェスターは自力による生き残りをかけざるを得ない状況に立たされようとしていました。
System/360はなぜ大成功を収めたのか
System/360登場以前のコンピュータにおいては、あるマシン上で開発されたプログラムを、別のマシンで動かすことはまず考えられませんでした。ハードウェアの構造が異なれば、プログラムは異なっていて当然だったわけです。これではプログラムを流通させることはできないばかりか、会社が成長してより上位のモデルへの買い替えを必要とした時に、プログラムもまた作り直しになってしまいます。
「ハードウェアが違うからプログラムも違う」、これを「ハードウェアが違っていてもプログラムは共通である」、へと大転換させたのが1964年に登場したSystem/360でした。これはハードウェアを抽象化すること、すなわちマイクロ・プログラムでハードウェアを覆ってしまうことによって成し遂げられました。ハードウェアの違いがあったとしても、マイクロ・プログラムはそれを吸収してしまうので、見た目上のハードウェアは共通になり、プログラムを変更する必要性はなくなります。この点が多くの企業に支持されたために、IBMは大成功を収めます。
コンピュータを評価する価値基準には様々なものがありますが、上記から言えることは、プログラムの可搬性はその重要なものの一つであるということです。System/360はシリーズを構成する各モデル間において、プログラムの可搬性が実現されたという点が画期的だったのですが、究極のビジネス用システムであるためには、もう少し違った視点が必要になるとロチェスターは考えていました。
参考までに、System/360登場の際に、合わせてコンピュータの基礎的概念ともいうべきアーキテクチャーがいくつか定められていきます。電流の有無を0か1かのビットという単位で表し、8ビットを1バイトとする、4バイトすなわち32ビットを1ワードとする、さらには、数値の表現形式であるBCD(Binary Coded Decimal: 二進化十進数)を拡張して文字も収容できるようにしたものをEBCDIC(Extended Binary Coded Decimal Interchange Code)コードとするなどです。これらは今日においても生き続けています。
究極のビジネス用コンピュータの考え方
自らの生き残りをかけて、ロチェスターは究極のビジネス用コンピュータを開発しようと考えます。ターゲットとなるのは中堅・中小ユーザーです。ここでは利用可能なテクノロジーを活かすのではなく、ビジネス用コンピュータとして求められる要件を煮詰めてゆき、それをテクノロジーに落とし込んで実装する、という考え方で設計を進めてゆきます。製品の成り立ちにおいてこのような思考プロセスを経たコンピュータは、おそらく他に類を見ないものです。
この時に大いに参考になったのは、System/360とその後継シリーズであるSystem/370の大成功は、プログラムの可搬性を実現したことでもたらされたという事実でした。ビジネスを支えるコンピュータやプログラムにおいては、継続性が最も重要になるとロチェスターは考えました。そしてビジネスのやり方は、いきなり大きく変わることはまず考えられず、長期的に少しずつ改善されながら維持されてゆくものであることも、考慮しなければなりません。同一シリーズ内のモデル間、すなわち空間的なプログラム可搬性だけでは目的を達成できません。ひとたびプログラムを作り稼動させたら、そのプログラムを手付かずのままで、すなわち再度のコンパイル作業を伴うことなく、後継の新しいマシンにインストールしても、問題なく稼動できるようにしなければなりません。しかもそれは極めて長期間、マシンやテクノロジーの寿命を超えて、数十年に及ぶかもしれません。将来登場するであろう、予想もできないようなテクノロジーにも対応する必要があります。プログラムの可搬性は空間的であるばかりでなく、時間的観点からも実現されなければならないのです。
また、ユーザーの立場からすると大切なのは自社のビジネスであり、コンピュータを維持管理することはそのための手段でしかないことも認識しておくべきです。導入したら、システム構築のための手間を最小限に抑えて、直ちに実稼動させることができ、その後はできる限り自動的に運用できるようにする必要があります。特に大型コンピュータを導入できる大企業とは異なり、中小企業は割けるIT要員数にも限りがあります。ロチェスターが提供するコンピュータは、すぐに使えるシステムとして完成品でなくてはなりません。コンピュータの導入後に、データベース製品、システム運用ツール、などを個別に選択・導入・構成する手間は避けたいものです。それぞれの製品を組み合わせるということは、将来にわたって相互の互換性に問題が生じないよう維持するために、手間を掛け続けなければなりません。これはすなわちより多くのIT要員を必要とすることに直結します。
ビジネス用途のコンピュータにおいては、同時に複数のプログラムが稼動し、そして同時に多くのユーザーが使用する可能性があります。万が一にも誤動作させるわけにはいきませんし、そのためのセキュリティも万全でなくてはなりません。セキュリティ機能は、後からインストールするプログラムとしてではなく、あらかじめコンピュータの根幹部分に組み込んでおいた方が良さそうです。
さらに、これまでに見てきた要件を満たすためだからと言って、ビジネスを円滑に進めるためには、パフォーマンスを犠牲にするわけにはいきません。特にコンピュータが稼動する際にアクセスされる、プロセッサ、メモリ、ディスクの各要素の中で、最もスピードが遅いディスクの利用方法を工夫する必要もあります。
このような開発当初からすでに考えられていた要件は、現在においても十分に通用する普遍的なものであることに気付かされます。
IBMは1978年に究極のビジネス用コンピュータとしてSystem/38を発表します。画期的なアーキテクチャーを持っていたが故に、当初は期待したようなパフォーマンスが出ずに苦労したといった逸話も残されています。そしてその後はSystem/38をベースに、別ラインアップとして存在していたSystem/36を中に取り込む形で1988年にAS/400を発表します。このAS/400が現在のIBM i に発展を遂げていることは皆様ご存知のとおりです。
さて、IBM i の特徴を一言で説明するとしたら、これらの中で最も重要と考えるテクノロジー、例えばプログラムの継承性(時間的可搬性)を述べる方もいらっしゃるでしょう。もしくはより上位の概念を持ち込んで、ビジネス用途という明確な目的を持ちながら、実装するべきテクノロジーを選定する思考プロセスが存在していたこと、という答え方も良いかもしれません。これをさらに短くするとしたら、筆者は「IBM i には哲学がある」と答えることにしています。少々周囲を煙に巻くような表現ですが、このコラムを読んでくださった方であれば、その真意をご理解いただけるものと思います。
実際に何ヶ所かのIBMの開発研究所を見学されたお客様が、他の拠点と対比させて、「ロチェスターは哲学者」と評されたことがありました。哲学者が製品開発に携わっていたわけではありません。究極のビジネス用コンピュータはどうあるべきかを考える姿勢は、現在においてもなおロチェスターの中に息づいていることの証左であると考えています。
次回の本連載では、プログラムの時間的可搬性を実現するためのテクノロジーについて取り上げる予定です。どうぞ、ご期待ください。
安井 賢克(やすい まさかつ)
日本アイ・ビー・エム株式会社にて、パワーシステムの製品企画を担当。エバンジェリストとして、IBM i ないしパワーシステムの優位性や特徴を、お客様やビジネス・パートナー様に理解いただく活動を日々続けています。また、大学非常勤講師として、100人近い学生に向けてITとビジネスの関わり合いについて述べる講座も担当しています。
※1 DEC=Digital Equipment Corporation コンパックを経てヒューレット・パッカード社に買収されている。