首都高~無駄で杜撰

あまり大きく報道されていなかったので知らなかったのですが、1月12日に首都高でシステム障害があり、ETCがとまっていました。

style="MARGIN-RIGHT: 0px">

首都高でETC使用停止…
過去最大規模のシステム障害 | Response.
12日8時頃から首都高速・神奈川線と湾岸線の一部で、
ETCが利用できないというトラブルが発生した。利用できなくなったのは神奈川線の29料金所と湾岸線舞浜料金所の計30料金所。
障害は16時05分に復旧した。

この障害の影響を受けた車両は、約6万台。その間、料金収受員が現金で料金を収受したが、一部ETCでの支払いを希望したユーザーには、
後日支払い手続きをすることで無料対応した。

SF(すこしふしぎby藤子・F・不二雄)。なぜか記事の出現量が少ない。

結構大きな事件のはずなのに記憶がないので、Googleで検索をかけても取り上げているサイトは少なく、
Yahoo!ニュースもすでに掲載期間を過ぎているのか、出てこない。全国紙の有料検索で少なくとも全国紙で取り上げられたことはわかるが、
文字数から大きく取り上げられたわけではなさそう。


Yahoo!ニュース – 全国紙(有料) 検索 : ETC 首都高

  • 首都高ETC 8時間ストップ 約6万台に影響 「過去最大規模」 – 産経新聞 (475文字)
  • 首都高のETC30か所で障害 – 読売新聞 (321文字)
  • ETC:首都高など30カ所、8時間の同時故障 – 毎日新聞 (203文字)

Yahoo!ニュースのトピックス「Yahoo!ニュース –
ETC
」に「Yahoo!ニュース
– 共同通信 – 割引料金を表示できず 首都高、22日から改修
」がある。これは、
共同通信社が2006年1月11日23時59分に更新しており、共同通信社の記事は少なくとも30日以上掲載されているものと思われる。
しかし翌12日のシステム障害の記事はない。記事によって掲載期間を変えているのだろうか? にしても極端にソースが少なすぎる。

■無駄な首都高

 初出の記事はシステム障害として取り上げ、後のフォローはないが、日経SYSTEMが事例として原因を取り上げている。

style="MARGIN-RIGHT: 0px">


【事例フラッシュ】首都高ETC8時間停止の真相が判明,「プログラムの不具合が原因ではない」(前編):IT
Pro
 首都高速道路(首都高)神奈川線の29料金所と湾岸線の舞浜料金所の自動料金収受システム(ETC)
で1月12日に発生した障害の原因がこのほど判明した。原因は改修したプログラムの不具合ではなかった。料金所の各車線に設置している
「車線サーバー」が持つ設定ファイルが変更されていたことが原因だった。変更によって,起動に必要なデータが削除されていたため,
プログラムは立ち上がることができなかった。

 ありがちな確認不足で障害が発生したことがわかる。

 驚いたのは以下。

style="MARGIN-RIGHT: 0px">


【事例フラッシュ】首都高ETC8時間停止の真相が判明,「プログラムの不具合が原因ではない」(前編):IT
Pro

 車線サーバーは5メーカーがそれぞれハード/ソフト一体で開発している。

 なんですと!? 「5メーカーがそれぞれハード/ソフト一体で開発している

 すごい無駄… 多くても3社だろ。システム全体としての冗長性を高めるために2社が別々の方法論で開発/実装することはあるが、
5社は多すぎなのでは? これでは開発費の極大化とシステムトラブルの極大化を同時に行っているようなもの。

■原因は…

 そして原因がよくありそうなくだらない話。

style="MARGIN-RIGHT: 0px">


【事例フラッシュ】首都高ETC8時間停止の真相が判明,「プログラムの不具合が原因ではない」(後編):IT
Pro

 首都高が料金所の各車線に設置している「車線サーバー」が持つ利用開始時期のデータを削除したのは,
書き込めるデータ量に上限がある設定ファイルの空き領域を,今後に備えて確保するためだった。日曜祝日割引を実施するに当たり,
新しく曜日のデータを設定ファイルに盛り込む必要があるなど,空き領域が少なくなっていた。

 車線サーバーのプログラムが利用開始時期のデータを参照している可能性もあるため,
首都高は車線サーバーを開発した5メーカーに「プログラムが利用開始時期のデータを参照しているかどうか」を確認した。
5メーカーに確認したのは,ある料金所はA社製,別の料金所ではB社製といったように,
5メーカーがそれぞれ自社サーバー向けにプログラムを開発しているからだ。

 5メーカーから,「プログラムは利用開始時期のデータを参照していない」との回答を得た。ところが実際は,
ある1社が開発したプログラムが開始時期のデータを参照していた。1月12日に障害が発生したのは,
このメーカーの車線サーバーを採用していた料金所だった。

 メーカーの確認漏れにも問題はあったが,首都高にも落ち度があった。一つは,
メーカーにどのようなチェックをしたのかをレポートしてもらうなど,詳細に確認していなかったこと。もう一つは,
変更があった設定ファイルを,5メーカーすべての実機でテストしなかったことだ。テストは,
料金が正しく表示されるようにプログラムを改修した2社の車線サーバーだけで実施した。首都高によれば,
5メーカーから利用開始時刻を参照していないという回答を受けたので,
プログラムを改修していないメーカーの車線サーバーでのテストは必要ないと判断した。首都高はテスト用の実機を所有していないため,
自社ではテストを実施できずメーカーに依頼する必要があったことも影響した。

 ちょっと長いので箇条書きにすると、

  • 日祝のETC料金を正常に表示するために5メーカー中2社プログラムを改修した
  • ついでに空き容量が逼迫しそうなので、車線サーバーの利用開始時期データを削除した
  • 開発の際に利用開始時期を参照しているメーカーと、参照しないメーカーがあった
  • 首都高はメーカーに利用開始時期をプログラムが参照しているかを確認した
  • すべてのメーカーは参照していないと回答した
  • 利用開始時期を削除したデータでプログラムを改修した2社の実機でしかテストしなかった
  • テストしなかった内の1社のシステムは参照していた
  • 首都高はすべてのメーカーのテスト用の実機を持っていなかった

 原因は2点。

  • 確認ミス
  • 仕様をきちんと定義していなかった

■民営化の意味は?

 民営化前の遺物とはいえ、あまりに杜撰。コスト意識を持って仕事をしてもらいたいものです。まぁ無理だろうけど。