【大公司晚报】第三方:超激进的设计导致三星Note7爆炸…

编者按:软件越来越庞大,日益蚕食世界。但是在计算硬件指数性发展了几十年的时间里,软件的开发方式却基本保持不变。

随着软件变得越来越庞大,对关键系统的渗透越来越深入,软件正在积累着越来越高的风险,我们如何才能排除那些看不见的定时炸弹,避免软件给世界带来末日呢?《大西洋月刊》的一篇长文对此进行了分析。本文较长,请保持耐心。2014年4月10日晚上,整个华盛顿州的911服务断了6个小时。打电话求助的人听到的都是忙音。

当一个陌生人试图闯入自己家时一位西雅图的女性至少拨打了37次911都没打通。后来那人从窗户爬进了客厅,她拿起了一把菜刀那人才逃走了。那次911服务中断是当时有报道最大的一次,原因后来被追查到科罗拉多Englewood市一台服务器的软件上。该服务器由系统提供商Intrado运营,上面保存了一个计数器,记录的是路由给全美911调度员的呼叫数。

Intrado的程序员给这个计数器设置了一个阈值上限。他们选择的数字是100万。4月10日午夜过后不久,该计算器就超过了这个数字从而引发混乱。因为这个计数器是用来给每个电话生成唯一标识的,所以新的来电都被拒绝了。

同时由于这些程序员并没有预计到会出现这样的问题,他们并没有设置告警来唤起注意。没人知道发生了什么事情。服务着1100万的美国人的华盛顿州、加州、佛罗里达州、卡罗莱纳州以及明尼苏达州的调度中心,努力想要弄清楚呼叫者收到忙音究竟是怎么回事。结果直到早上他们才意识到罪魁祸首是Intrado的软件,而补救措施只需要改变一个数字。

不久前紧急呼叫还是在当地处理的。这样的话中断也是小规模的,而且容易诊断和修复。