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

 障害の引き金になった設定ファイルには,「神奈川線」といった路線名や,最新の料金表といった,車線サーバーのプログラムが参照するデータが入っている。その中には,「利用開始2001年1月1日」「利用終了2010年1月1日」といったような,設定ファイルの利用期限を設定しているデータが含まれている。これは,車線サーバーが誤って古い設定ファイルを利用しないようにするためだ。

 車線サーバーは5メーカーがそれぞれハード/ソフト一体で開発している。そのうち1メーカーの機種は起動時に「利用開始と利用終了の両方」をチェックし,4メーカーの機種は「利用終了」のデータのみを使って,現在の時刻がこの利用期間内であるかどうかをチェックする方式だった。1月12日の8時15分に,料金所の職員交代に伴って車線サーバーを再立ち上げした際にも,このチェック・プロセスが起動した。車線サーバーは再立ち上げの少し前に配信されていた設定ファイルを使って起動しようとしたところ,設定ファイル内の利用開始時期のデータが削除されていた。利用開始と利用終了の両データを参照するメーカーの車線サーバーが起動できず,障害が発生した。

 障害発生当時,首都高は,「日曜祝日割引が適用されていない料金がETC車載器に表示される」という不具合を解消するために,一部の車線サーバーのプログラム改修を実施していた。そのため,原因はETCのプログラムの不具合と考えたが,障害が発生した30の料金所ではプログラムは一切改修されていなかった。プログラム以外に考えられる原因は,利用開始時期のデータを削除した設定ファイルだけだった。首都高が車線サーバーのログから障害原因を解析したところ,やはり利用開始時期を参照するプロセスで不具合が起きていることが判明した。時刻は11時を過ぎ,既に障害発生から3時間が経過していた。

 首都高は削除データを元に戻した設定ファイルを配信した。障害が起こった料金所で車線サーバーを再立ち上げしたところ,無事復旧した。すべての料金所が復旧したのは,障害発生から約8時間後の16時5分だった。

後編に続く