パスワードを忘れた? アカウント作成
44370 story
バグ

JR東日本の年末トラブルは日付処理が原因? 73

ストーリー by hylom
徹夜作業が裏目に、 部門より

あるAnonymous Coward 曰く、

朝日新聞NHKニュースTBSニュースの報道とJR東日本のプレスリリース(PDF)によると、昨年末12月29日にJR東日本の全新幹線を管理するシステム「COSMOS」のトラブルにより、東北や上越など5新幹線が3時間不通となり、112本が運休し、帰省客ら13万7000人が影響を受けた問題で、原因はダイヤの変更作業の遅れだったと判明したそうだ。

このシステムは列車のダイヤや乗務員の配置などを管理するもので、ダイヤなどの変更が必要な場合、それらの情報を当日の午前5時までに入力する必要があるということだった。ところが先月29日は、悪天候の影響で前日に大幅に乱れていた山形や秋田の新幹線のダイヤを元に戻したり、年末の列車を増発したりと、入力するデータが、運行するほぼ全ての新幹線(389本)の車両のやり繰りを変える「過去に例のない作業だった」(JR東日本)と膨大になった。

終電後、29日分のデータの入力を終えたのは始発直前の午前5時45分頃。しかし、午前5時を過ぎていたので更新ができなかったという。このことを同社は事実上知らず、更新に手間取ったのだそうだ。そして復旧までにさらに3時間を要した。

JRの運輸車両部長は「システムの運用の仕方に齟齬があった」と謝罪した。JR東日本では、今後、システムの入力を担当する人員を増やすなど再発防止を進めるとのこと。

また、kailas 曰く、

時事通信によると、先月29日に発生したJR東日本の新幹線運行システムのトラブルの原因は日付処理の問題だったようである(JR東日本プレスリリース[PDF]

問題なのは午前5時以降に入力されたデータ変更分の日付処理が正常にできない仕様であるにも関わらず、担当者がそれを認識していなかった事だ。また、これに対する対策として「午前5時までに入力を完了させる体制を整える」としているが、これは根本的な対策ではないような気がする。みなさまは、この対策をどのようにお考えだろうか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 日付処理? (スコア:2, 参考になる)

    by eureca (13651) on 2009年01月06日 12時35分 (#1486137) 日記
    >JR東日本の年末トラブルは日付処理が原因?

    重箱の隅をつつくようですが、日付処理というのは表現としてどうかと、、、
    少なくとも、どういう処理なのかがぱっと思い浮かぶ言葉が他にあるような。日変処理とか。
  • by k 2 y (5354) on 2009年01月07日 0時49分 (#1486528)
    入力現場としては、
    「5時までに全部の入力を終わらせなくちゃいけなかったの!? 知らなかった!」
    ということと推測します(それらしい言辞もあるようだし)。
    根本的な問題としては、システム仕様と業務ルールが分断されているという問題でしょうか。

    システム仕様が、業務上の制約を生じさせることはないようにすべきだ、
    という論調が見受けられますが、一般論として、それは不可能でしょう。

    業務マニュアル作成者とシステム要件定義者/設計者など、各所間におけるコミュニケーションミス、
    文書化されていない仕様、運用テストの不備、
    そうしたことを減らしていくには、「根本的な対策」なんてなかなか打てません。
    レビューの徹底とか、地道な努力しかないんじゃないですかね。
    だとしたって、そこに無謬はありえないのですが、努力の質を経験から向上していくことはできるはず。

    このシステムに携わった人たちが、地道な努力を怠ったとも(ことこれだけを根拠には)思いません。
    上手の手から水が漏ってしまったのでしょう……。
    経験上、バッチは文書化が弱くなりがちとは思うので、この事例から学ぶべきところは多いですね。
    # 年末をまたいでバッチ周りのバグ対を抱えているけどID。
  • by Anonymous Coward on 2009年01月06日 13時15分 (#1486169)
    と素直に言って欲しい
  • by Anonymous Coward on 2009年01月06日 15時52分 (#1486265)
    21世紀を目指した新しい新幹線総合システム(COSMOS)の開発 [dbjet.jp]

    1995年リリースなシステムなんですね

    こんだけなのでAC
    • これでも従来のCOMTRAC世代に比べればCOSMOSは相当にキャパシティが上がってるんですよね。
      シンプルな東海道と違って、東日本の新幹線は複雑。

      計画作成端末というのが台数が少なそうで、ここがボトルネックになったということですかね?
      テンパってきた時の「手分けして入力」なんて体制が組めれば、それでokなのかも。
      おそらく5時がリミットっていうのも、プロッタでダイヤグラムを印刷する時間も必要だから?

      かなり電脳化してても、人間にとってより価値ある輸送サービスを反映させるためにスジ屋さんが紙に線を引いてやりくりしていますからね。

      #インターネットのポリシールーティングみたいなものか
      親コメント
  • by Anonymous Coward on 2009年01月06日 12時07分 (#1486116)
    > また、これに対する対策として「午前5時までに入力を完了させる体制を整える」としているが、これは根本的な対策ではないような気がする。

    バッチじゃなくても出来るなら、わざわざバッチにしてないよ
    • by genkikko (36404) on 2009年01月06日 12時13分 (#1486118) ホームページ 日記
      「もし5時に間に合わなかった場合はこうする」
      って対策を立ててもらわないと、
      「何らかの原因で5時に間に合わなかったら、また新幹線が止まる」
      になっちゃうからダメじゃん。

      ってことですかね?
      親コメント
      • by ddts (10995) on 2009年01月06日 22時04分 (#1486443) 日記
        まず、運行管理システム一般は、前日・当日・翌日の3日間のダイヤを管理
        しています。この、翌日ダイヤを当日の実施ダイヤに落とす作業が今回失敗
        したわけです。

        指令員は12/29の午前1時過ぎから翌日ダイヤを修正して、5:45になって実施
        ダイヤに落とそうとしたわけですが、ここまでがんばらずに、3時ぐらいの
        段階で翌日ダイヤを当日ダイヤに切り替えてしまえば良いわけです。

        もちろん、その当日ダイヤはまだまだ修正すべき場所を含んでいますが、始発
        からの数時間を動かせるダイヤになっていれば、その後は、当日ダイヤを修正
        していけば良い(普段の日中に輸送障害が起きた時と同じ)わけです。

        青い新幹線の人に聞いてみたところ、やっぱり5:45まで粘るのはやりすぎで、
        3時ぐらいでダイヤ切替をするのが普通でしょう、とのことでした。
        親コメント
      • by Anonymous Coward on 2009年01月06日 12時42分 (#1486143)
        >「もし5時に間に合わなかった場合はこうする」
        >って対策

        対策も何も、始発までに間に合わなければその電車は運休になっちゃうんじゃね?
        コンピュータシステムの更新が仮に24時間いつでもOKとなったとしても、入力が終わらないことには現場は動けないのなら、意地でもデッドラインまでに間に合わす体制を確保するしかないと思うんだけど。
        親コメント
        • by Anonymous Coward on 2009年01月06日 15時37分 (#1486253)
          連鎖的にその後の様々なものに影響するので、当該の列車の運休だけでは済まない、ということだと思う。

          たとえば貨物列車では、何かトラブルがあって運ぶべき荷物がなくなってしまった場合でも空荷で走るようです。
          各方面に調整・変更を行うよりは、電力が無駄でも走らせたほうがいいということらしい。
          親コメント
      • by Anonymous Coward on 2009年01月06日 13時00分 (#1486159)

        「もし5時に間に合わなかった場合はこうする」
        って対策を立ててもらわないと、
        で、誰か「対策を立てない」って言ったのですか?
        部外者でも、「もし5時に間に合わなかった場合はこうする」って対策(およびその実施)はすぐにはできないでしょうから、「当面、運用でカバーします」というアナウンスしか出てこないことくらいわかると思います。

        また5時に間に合わなければこういう障害が起きると認識していれば、今回のような混乱は抑えられるはずです。
        親コメント
        • by akiraani (24305) on 2009年01月06日 13時29分 (#1486179) 日記
          間に合わなかった場合の運用マニュアルを作るとしたら

          ・ひとまず5時までできるところまでやって暫定データを入力し、バッチ処理の実行を待って残りの修正を当日ダイヤの変更作業で対応する

          ですかね。
          どっちにしても影響は出るわけですが、変更データの元になる割付が行われなかいよりはましでしょう。

          システム的な対策は、バッチ処理自体を遅らせる手段を用意するとかもありでしょうが、始発に間に合わなければやっぱり影響が出るわけで、前日の修正量が多すぎた場合に翌日ダイヤに影響が出るのを完全に防ぐ方法はないんじゃないですかね。

          --
          しもべは投稿を求める →スッポン放送局がくいつく →バンブラの新作が発売される
          親コメント
          • by Anonymous Coward on 2009年01月06日 22時26分 (#1486452)
            産経 [msn.com]によると、

            それでも間に合わない場合、1日分の運用計画が未完成でもできた部分から、午前5時前にデータを切り替え、始発には影響が出ないようシステム運用を変更するという。
            まさにその通りのことをするようですね
            今できる対応としては妥当なところだと思います。
            親コメント
      • 新幹線から先にやる
        っていう対策がでてくるんじゃないかと。
        新幹線の中でも影響の大きいものから最優先で。

        #5時という期限が事前に分かってればたぶん今回もそうしたんじゃないかと思う。
        親コメント
      • by Anonymous Coward
        まあでも、その場合には新幹線を止めればいいんじゃないの?それが対策。
        実際問題、それ以上に何かできるかな?

        • そうそう、何でもシステム側を変えりゃ良いってもんじゃなくて
          運用で問題を極小化して、万が一の時はいっそ止めた方が
          トータルコストが少なくて済むならそっちの方が妥当な選択でしょう。

          変更は随時入力可能で、発車時刻の近いものから確定していくような動的システムにするとか考えられないこともないだろうけど、
          システムは根本的に作り替えだろうし、今度は乗務員が急な変更に対応できるかとか別の不安要素も出てくるし。
          親コメント
      • by Anonymous Coward
        5時に間に合わなかった場合は・・・時間よ止まれ!
        で、全駅の時計も戻すっと
    • by hashitom (34540) on 2009年01月06日 13時37分 (#1486181)
      実日付運用ができること。
      各編成について運用準備開始前までにダイヤの変更が完了すること。
      各編成についてのダイヤ変更が運用準備開始後の編成すべてに影響しないこと。
      等などを実現するシステムを作ることでしょうか。
      バッチでも結構しんどそうです。これをバッチよりも難度の高いオンライン処理で実現するなんて、変更作業要員増とダイヤ変更作業開始時間の前倒しのコストより高くつきそうに思えてなりません。
      親コメント
      • by mocchino (13752) on 2009年01月06日 15時39分 (#1486254)
        テンプレート登録とかできないんですかね?、このシステム
        遅延調整分を通常ダイヤに手で直してるように読み取れますが
        この辺を登録しておいたダイヤに一瞬で戻せればかなり作業時間短縮になりそうな

        通常運行(時刻改定は四半期ごとくらい?)+正月運行ダイヤ(追加は一ヶ月前?)
        とかで初期状態に戻して、臨時増便のみ入力とかできれば
        朝の5時まで作業しなくてもいけそうな気がするのは気のせいでしょうか?

        何パターンかセーブしたデーターをロードはできんのかぁ~って感じ?

        後可能なのは事前登録可能にするかってところですね
        このデーターは明後日の分って形で、前々日に登録しておいて
        更新処理時点でそっちから読み込むとか..
        親コメント
        • Re:根本的な対策 (スコア:1, 参考になる)

          by Anonymous Coward on 2009年01月06日 17時00分 (#1486299)
          鉄道ダイヤはむか~し自動化に係わった人に聞いただけしか知りませんが、扱うパラメータが組み合わせで簡単に爆発して、なかなか人が職人芸的にやってくところが多くて大変らしいです。

          たぶん、いろいろな補助機能みたいなのはあるのかもしれませんが、鉄道ダイヤは単に何時何分にどこ行きの便があるってだけじゃなくて、具体的に「Aという車両がX車両基地にいる」ものを「n時m分にY駅着で~」と個々の車両が具体的に移動を伴うわけで、今回みたいに前日の大幅なダイヤの乱れが存在すれば、本来なら居るべき車両が車両基地にいないみたいなのが沢山発生してきますから、それら膨大なパターンを事前に想定して用意しておくのは中々難儀なことになりそうです。

          X駅からY駅に移動した車両が次のダイヤに影響を与え、営業が全部終わった時には最終的に通常ダイヤの初期配置にダイヤを守りながら効率的に戻すとってのは、取った駒が持ち駒として次の局面に影響を与える将棋みたいに組み合わせが爆発しやすい問題なんですかね。AI処理的に限定された範囲での定石的なものはあるのかもしれませんが。
          単純に取得した駒が落ちるだけのチェスでも探索ツリーの取捨選択に計算機リソースをバカみたいに注ぎ込んでもなかなかチェスマスターに勝てないんですから……。
          親コメント
          • Re:根本的な対策 (スコア:4, 参考になる)

            by taka2 (14791) on 2009年01月06日 19時07分 (#1486352) ホームページ 日記
            思うに、ここで読み書きしている人の中には、「ダイヤの管理」や「ダイヤの変更」と聞いて、
            ダイヤ=運行表に、臨時列車を走らせる線を新たに引いてやりくりするような作業を想像している人が多いんじゃないでしょうか。

            平常時のダイヤ管理というと、車両の取り回し管理がメインでしょう。
            実際には、臨時列車のために「ダイヤに新たな線を引く」ようなことはしてません。
            ダイヤには平常時から、あらかじめ「臨時列車のためのスジ」が用意してあり、
            普段は列車が走っていないスジに、臨時列車運行時は車両を割り当てるようにするだけです。

            最近は少なくなったみたいですが、昔はこだまに乗ってると「運行していない架空のひかりを通過待ち」で駅に長時間停車するなんてことがよくありました。

            基本となるダイヤ設計については、今でも主に手作業の職人的世界だとか。
            コンピュータの支援によって整合性のチェックといった負荷は軽減されたけど、
            最適化問題として全自動で線を引くなんていうダイヤ自動設計はまだまだ夢のようなお話。

            だから、「当日ダイヤの変更作業で対応する」とか「当日運用中のにダイヤをリアルタイムに変更できるシステムの構築」ってかなり無謀ですね。

            平常時のダイヤの乱れへの対応なんかは、
            基本的に時計を遅らせる(列車運用の流れは変わらない)のがメインで、
            あとは乱れがどうしようものなくなったら運休して車両そのものをスジから取り除くぐらいで、
            臨時に列車を追加するなんてしてませんし。
            親コメント
            • by Namany (19002) on 2009年01月09日 3時58分 (#1488187) 日記
              >基本的に時計を遅らせる(列車運用の流れは変わらない)のがメインで、

              これだけやってたら、いつまでたっても遅延状態から回復できないわけだけど、
              それでも運休はどうしようもなくなった時限定の最後の手段なの?
              親コメント
          • Re:根本的な対策 (スコア:1, おもしろおかしい)

            by Anonymous Coward on 2009年01月06日 19時05分 (#1486348)
            ダイヤの編成が大変なのは分かりますが、ダイヤグラムの設計と
            入力作業は別ですよね。

            前日のダイヤの乱れが影響してしまったことについては
            1)本来あるべき車庫などに戻す
            2)新しいダイヤを入力する
            の2つは別スレッドで動けるはずなんだがなあ。

            入力がぎりぎりになってしまうなら、思い切って臨時列車は運休に
            すべきでしたよね。

            親コメント
          • by equo (19526) on 2009年01月06日 20時09分 (#1486380)
            昔どこかで読んだ記憶があるんだけど、
            空港でどのゲートにどの便を割り当てるかは、リアルタイムに割り当てるプログラムがあるんだっけ?
            JFKとかCDGとか100以上のゲートがあると思うけど。
            親コメント
          • by mocchino (13752) on 2009年01月08日 13時13分 (#1487712)
            あぁなるほど、各車両の位置把握と輸送ダイヤも考慮にいれないとだめなのかー
            夜間の間に予定の配置に戻すってのも非現実的ですしね

            ほんと高度なパズル解いてるイメージだなぁ~
            親コメント
  • なぜなら始発よりも前にバッチ処理が終わらないといけないから
  • by Anonymous Coward on 2009年01月06日 12時22分 (#1486126)
    24 時間運転はしたくともできない、と
    • Re:つまり (スコア:1, 参考になる)

      by Anonymous Coward on 2009年01月06日 12時29分 (#1486131)
      確かに、運転とスケジュール組み換えをパイプライン化して両立させるとなったら、
      システムを最初っから作り直すぐらいの大変更になるだろうねえ。
      親コメント
    • by Lurch (10536) on 2009年01月06日 12時30分 (#1486132)
      その昔は銀行のシステムもそんなこと言ってました。
      やればできるじゃん!
      --

      ------------
      惑星ケイロンまであと何マイル?
      親コメント
      • by Chiether (20555) <spamhere@chiether.net> on 2009年01月06日 18時23分 (#1486327) 日記
        別に、銀行システムは今でも24hオペレーティングされているわけじゃありません。
        私が経験したことがある限りの話ですが。
        実際のところ出来ているのは、「残高照会」ぐらいではないでしょうか。
        0009は、振替が24h受付処理されますが。0010は、振替ですら〆後に関しては、翌営業日予約です。
        0010に関しては、3年程前ですが翌営業日12時に処理完了メールが届いた。という実体験も報告しておきます。
        さすが(銀行にとって)理想な銀行ですね。
        いやアンチじゃないですよ? 頑張ってほしいだけです。 メインバンクですし。 全部有効の同一口座の本人カード3、4枚持ってますし(捨てればいいのに)。

        銀行の夜間取引は、書類不備の無い申込用紙が営業時間前に山積みになっているだけです(結局バッチ……というかバッチだらけ)
        それでも割とマトモに動いているのは「日付は、絶対に止めない。ずらさない」というポリシーがあるからです。
        つまり「0時過ぎても日付変更しないで継続する取引」なんてものが存在しないのです。
        そのために、バッチ連動処理は「翌営業日付け」があります。また必ず0時より前に、予約時間を開始します。
        で、その予約時間が翌日のかなり後になってから

        仮に、もしそういう処理が必要になれば「25日受付、24日起算、xxxxxxx」とデザインされるでしょう。
        実際こういう取引は、ずーっと昔から存在していました。 やろうと思えばオンライン処理でも可能です。
        ですが全てサマリー管理で業務が動いているのならばアリでしょうが
        ヒストリを厳重管理している業務では、こういう処理が危険なのは間違いありません。
        ですから起算日指定の取引だって銀行員の一部の人しか出来ません。通常そのような対応も無いものとして扱います。
        --
        ==========================================
        投稿処理前プレビュー確認後書込処理検証処理前反映可否確認処理後……
        親コメント
    • たしかに、古いPRCなどではダイヤ切替の際に列車が存在していてはいけない
      ものがあって、24時間の間のどこかに管理線区全体で列車が運転していない
      時間帯が必要というものがありました。

      しかし、今の殆どの運行管理システムはダイヤ切替時のまたがり列車についても
      処理できるように実装されていますので、24時間運行はそんなに難しい話では
      ありません
      #COSMOSがそうなっているかどうかは詳しくしらない

      前日ダイヤにしかなくて当日ダイヤに存在しない列車があると、GD(ダイヤ表示
      画面)上には特別なマークをつけたりして、前日列車を引き続き扱えるように
      しています。

      このあたりの仕様は国鉄時代からずっと練られてきただけあって、かなり枯れてます。
      親コメント
typodupeerror

にわかな奴ほど語りたがる -- あるハッカー

読み込み中...