首都高速道路(首都高)神奈川線の29料金所と湾岸線の舞浜料金所の自動料金収受システム(ETC)で1月に発生した障害原因に関する記事をさらに詳しく説明しよう。首都高が料金所の各車線に設置している「車線サーバー」が持つ利用開始時期のデータを削除したのは,書き込めるデータ量に上限がある設定ファイルの空き領域を,今後に備えて確保するためだった。日曜祝日割引を実施するに当たり,新しく曜日のデータを設定ファイルに盛り込む必要があるなど,空き領域が少なくなっていた。

 設定ファイルの中から利用開始時期のデータに目を付けたのは,(1)古い設定ファイルかどうかは,利用終了時期と現在の年月日を比べれば分かること,(2)車線サーバーのプログラム起動時に利用開始時期データを参照するかどうかは仕様に定めていないため,そもそもデータを参照している可能性が低いこと——という二つの理由からだった。

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

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

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

 首都高は障害の発生を重く見ており,いくつかの再発防止策を実施した。第一に,利用開始時刻を参照したかどうかの確認が不十分だったことの反省から,メーカーとの会議の議事録を詳細に取り,メーカーと共有すること。今後は口約束や,当事者間の認識のズレをなくしていく。第二に,仕様書引き継ぎの徹底だ。今回の場合だと,1メーカーのプログラムは利用開始時期を参照し,残りのメーカーのプログラムが参照していない,という仕様書が残されていなかった。また,首都高のシステム担当者は人事ローテーションによって数年で交代するため,担当者間の引き継ぎがあいまいになりがちだが,今回を機に引き継ぎの方法も見直す考えだ。

前編を読む