物联网市场的主要优势是成本。 因此,优先考虑廉价但不可靠的组件。 不可靠的设备会损坏,出错,冻结并需要维护。 通常在会议上谈论不可靠性,但这恰恰是
Stanislav Elizarov (
elstas )关于InoThings ++的报告专门针对的-一切如何工作。

在削减的范围内,我们将讨论补偿设备,通信渠道和使用软件的人员的不可靠性的方法; 容错问题及其解决方案; 人为因素 电工胶带和袜子是修理航天器和卡车数据传输的通用手段。
关于发言人 :
Stanislav Elizarov在STRIZH公司的网络基础设施部门工作,该部门生产仪表,传感器,LTE基站,并在其他任何通讯系统根本无法工作的地方收集读数。
不安全感
“如果某事不起作用,那么它已经过时了。”
这是加拿大哲学家
马歇尔·麦克卢汉 (
Marshall McLuhan )的名言,准确地描述了现有技术。 一切都拒绝了:计算机死机,智能手机减速,电梯停在楼层之间,太空探测器误入歧途,人们犯错。
第一个错误
可靠性(尤其是可靠性)的主题是与安全一样大的容错能力。 IoT术语中的字母S负责
安全性 ,字母R负责
可靠性 -可靠性。
如果我们谈论可靠性和错误,那么让我们回想一下
Johann Gutenberg 。 正式地,他是第一位印刷者,根据伊尔夫和彼得罗夫的说法,他是第
一位印刷者 ,因为他在《圣经》中犯了很多错误。

古腾堡(Gutenberg)的技术不断进步,图书市场不断发展,书籍数量不断增加,而且伴随着错误。 在第一本书出版50年后,
Gabriel Pierry提出了勘误表-书末的错别字清单。 这是一个很好的技巧,因为重新键入大批量的订单不方便且在经济上无利可图。 如果读者发现错字,它只会打开一个错误列表并查看重要的更正。 错别字的领导者是托马斯·阿奎那和他的神学总论-官方错误中有180页的错误。
现代勘误是由钢铁生产商生产的。 在下图中,最受欢迎的
CC1101芯片的
官方错误仍然有效。 在错误列表中,芯片有时不接受某些东西,有时它发送错误的东西,有时PLL并不总是起作用。 这不是已经存在了几十年的大规模处理器的期望。

另一个示例是基于一组指令的
MSP430微处理器。 该微处理器与Kernigan和Ritchie在其上开发Unix的
PDP-11大致相同。 这不是埃拉特·托马斯·阿奎那(Errat Thomas Aquinas),但制造商向我们提供了
27页的错误 ,其中许多
错误甚至他本人都不知道如何解决。
这正是物联网上不明显的东西。 我们阅读了廉价芯片的数据表,发现一切正常,并且一切正常,直到我们打开最后一页并列出错误列表。

人为因素
有了铁,或多或少就可以清楚地描述出错误并且可以重现错误,但是物联网系统中最大的错误来源是
人 。
2018年1月13日,加瓦耶夫的所有居民在手机上
收到有关导弹威胁的警报 ,他们需要躲在防空洞中。

目前尚不清楚到底是谁错了:操作员还是设计界面的人。 但是,如果您看图片,答案就可以说明问题。 按什么触发测试而不是战斗来警告导弹威胁? 如果您不知道答案,那您就错了。

操作员按了错误的按钮,然后开始群发邮件。 该系统没有任何参数可以阻止或确认调度:“您确定要警告导弹威胁吗?” 该中心的员工花了30分钟才意识到发生了什么,并发送了一条消息,指出这次攻击是虚假的。
人是一个可靠的系统
为什么我们看不到这些错误并且不认为出了什么问题? 因为这个人自己纠正了所有错误。
我们习惯于修复错误。
如果我们认为计算机不能很好地运行,请重新启动计算机。 如果我们发现移动通信已经消失,那么我们正在寻找一个流行的地方。 如果机器无法正常工作,我们将对其进行维修。
下图显示了您可以引以为傲的人性化技巧。 三个人在地球和月球之间
的阿波罗13号上晃来晃去,能够解决将方形过滤器推入圆孔这一艰巨的任务。 除了方形过滤器外,任务还很不顺利:氧气瓶爆炸,缺水,发动机损坏。 该团队试图在袜子,电工胶带和西服套装的帮助下生存。

正如他们在NASA所说的那样,人是一个非常好的备份系统,并且修复了很多。 用电工胶带和袜子解决飞船上的问题几乎可以说是可靠的:它是在很短的时间内完成的,可以保证工作,人们可以活着返回,但这不能投入生产。
容错问题
物联网的容错问题非常重要,因为设备数量在不断增长。
麦肯锡咨询公司的数据显示,2013年,全球有100亿个IoT设备在运行,到2020年,这一数字将增加到300亿。

我们根本无法实际修复所有这些计数器-根本没有足够的时间。 旨在为人们服务的系统不会帮助我们;相反,我们将对其进行修复。
2018年,媒体和科学期刊上的
新闻闪耀 ,中国人已经覆盖
了 2个通道的
100,000个传感器,总长度为1,400公里。 共有130种传感器:水,风,摄像机。 从运营支出的角度来看,该系统简直是灾难性的:您需要擦拭相机或清除障碍物的人数是多少? 整个员工只会忙于清洁和维护系统-它不是很独立。
因此,我想谈谈
容错和确保系统运行的问题。 通过简单的示例,我将讨论一些技巧,这些技巧将在短时间内帮助您获得有保证的可行解决方案,以向投资者展示产品,然后考虑如何逐步提高可靠性。 这些技巧用途广泛,将永远有用。 不建议将它们唯一地用于生产中,因为它们就像该过滤器一样。
想象:有一天投资者会来找您提交项目报告,而您需要展示一种有效的产品。 从哪里开始,以免搞砸呢?
简化版
下图是两个未连接的设备。 左侧是一个称为
“分类器”的玩具:将圆形插入圆形,然后将正方形插入正方形。 一岁的孩子将学习2-3次尝试使用玩具,因为不可能用“设备”犯错-三角形不会适合正方形。

哈里斯公司提出了相同的想法,该公司生产军事广播电台。 右图是工程奇迹
哈里斯·猎鹰3 (
Harris Falcon 3) 。 看一下接口,它们都是不同的。 在战斗状态下,在没有时间思考的情况下,操作员在身体上将无法做错事。 电源线不会从天线进入连接器,通过简单的半身,无线电操作员即可连接所有系统,甚至不包括大脑。 这是防止错误并减少错误发生的简单而有效的方法。 您会说:
-如果明天有演讲。 我们需要焊接所有接口吗? 我们在那里所做的一切都一样:4个USB端口,5个以太网端口,我们肯定会犯一个错误。毫无疑问,简化也可以在这里进行-关闭所有内容。 如果您有4个USB端口,并且其中一个保证可以工作,请离开并关闭其余端口。 例如,用电工胶带-就像宇航员。
简化不仅创建了不可能出错的界面,而且消除了所有多余的东西。 这就是可靠性的起点。
我们创建了一个简单的设备-原型,随时可以展示。 接下来是什么? 接下来,考虑冗余。
冗余度
物联网设备基于
信息论进行工作 :有一个信号源,一个接收器,一个编码器,一个调制器,一个传播介质以及一个会干扰和扭曲真实情况的错误源。 减少干扰的一种好方法是
添加冗余 ,借助该
冗余 ,我们可以检测到紧急情况并提高其效果:通知操作员或纠正错误。

冗余的一个例子是STRIZH网络。 网络上的大多数设备都是在未经确认的情况下发送的:设备发出信号,而基站接收信号。
想象一下情况。 我们有一个干扰区,其中将消息传递到基站的概率为90%,并且在演示时要求损失不超过1%。 似乎有很多工作要做:纠正协议,减小范围,但是快速而简单的解决方案是冗余。 在接收信号的站点的传递概率为0.9的站点旁边,放置第二个具有相同传递概率的站点,并且两个站点同时发生故障的概率为0.01。
概率乘法定理适用于此:如果基站是独立的,则每个站点的故障概率分别为0.1,并且两个站点的故障率仅为1%。 在这个区域中,基站之间的接收概率最高。

证明冗余原理的另一种方法是
看门狗定时器 。 这是大多数处理器制造商都集成的物理设备。 如果经过一定时间后看门狗定时器没有收到来自计算机的信号,则设备将重新启动计算机。

使用WT不能提高可靠性,但是可以提高
可用性 。 计算机检测到问题,采取控制措施,然后重新启动计算机。 它非常喜欢NASA,并且
知道使用看门狗计时器的
许多不同方式 。
下面是一个多阶段看门狗定时器的示例:当某些事件发生时,它会发送一个
NMI-硬件中断 ,它将在处理器上工作。 发生事件时,看门狗会告诉计算机:“尝试重新启动您自己,否则请关闭电源。” 如果第一个计时器不起作用,则第二个计时器将起作用。

冗余在操作系统中运行良好。 我们的基站的结构是这样的。 它由各种
独立的模块组成 。 模块的自主权可防止从一个模块到另一个模块的错误-我们创建了一个带有错误的“池”,我们将其阻止。 在层次结构中较高的位置是一
组超级用户 :根据某些参数监视情况的脚本。 例如,该进程在操作系统中,它不是僵尸,也不从内存中流出。 根元素是
调度程序 ,例如cron。

层次结构为系统的可用性创建了良好的参数:如果模块掉落,主管可以看到并重新启动,则模块中存在某些冗余,某些模块可以执行其他功能。
过渡到另一个参考系统
我最喜欢和最受欢迎的数学方法。 如果知道设备在什么条件下运行,则在这些条件下有必要进行飞行员操作。 我将通过示例向您展示。
示例1 。 我们创建了一种在室温下正常工作的设备,他们告诉我们:
-我们在远北地区展示了该项目。 现在有−40,但可以使用。我们正在Internet上运行,正在寻找解决方案:
-我们需要热稳定的石英和闪存驱动器,它们在−40时不会失效。时间不多了,资源越来越小,恐慌也越来越多。 我们认为该项目是失败的,但是通过转换为基站运行所在的参考系统,我们将获得成功。 我们将设备放在加热器和热继电器所在的盒子中。 他们是非常稳定的人,几乎总是工作。 当外面很冷时-盒子会变热并且设备可以在正常条件下工作-我们切换到了我们知道并使用解决方案的参考系统。
示例2 。 过渡到移动框架。 想象一下,我们从火车上收集集装箱数据。 第一个标准解决方案是使用gsm调制解调器。 此方法不适合:对于快速移动的对象,您应使用能与多普勒配合良好的LTE或5G设备,这很昂贵。 如果火车横穿俄罗斯,那么当它到达火车站时,所有调制解调器都将连接到该站,并且由于网络拥塞,它只会崩溃。
解决方案:过渡到固定的参照系。 让我们回想一下运动的相对性:我们将基站放置在火车内部,相对于行驶中的火车来说,它是静止的。 该站将从所有传感器收集信息,并使用网关,卫星或LTE调制解调器进一步传输。
这种方法提高了可靠性,有助于解决不可能完成的任务并组织
可容忍延迟的网络 -这种
网络可以抵抗中断 。 由于某些原因,他们不喜欢俄罗斯的做法,但是他们正在积极推动同一公司的
迪士尼研究部门。 他们没有物联网,但是没有玩具互联网-玩具
互联网 。 该公司担心非洲儿童不会看迪士尼动画片。 在非洲实施数据网络,安装塔楼,拉光纤很昂贵,但他们还是会偷走它,所以他们反而采用了
理查德·汉明(Richard Hamming)的想法:
远程传输与时间传输(即存储)相同。 如果无法传输,请保存信息并将其传输到接收器。
迪士尼
就是这样做的 :他们为公交车站和公交车配备了最便宜的Wi-Fi路由器和一组硬盘驱动器。 公交车拉到车站,通过Wi-Fi快速将一组迪士尼电影上传到驱动器,然后继续驱动。 他来到一个村庄,再到另一个村庄,并在每个村庄上载电影-非洲儿童很满意。 这就是所谓的
Mul-Networks-廉价的mu子,移动速度较慢,对多普勒的处理效果较差,但可以向所有点传送信息。

迪士尼在发送电子邮件方面也有类似的发展-将会通过公共汽车收到一封信。 非常有趣的技术,但以亚马逊为例。
亚马逊提供一项服务,用于传输数十亿兆
字节的数据 。 如果您拥有一个大型数据中心,并且由于所有内容都已经存在而打算迁移到亚马逊,那么在美国,他们可以将这种卡车运送给您并传输您的数据。 如果延迟对您不重要,那么这是个好方法:数十或数百Gb / s的数据传输速率。 除卡车外,亚马逊还可以向您发送一个装有硬盘的行李-雪球。

我们意识到可靠性很重要,因为人员和技术都会失败。 可靠性必须被视为安全性。 对于演示性演示,请打开看门狗,添加冗余并简化操作,以免出错。 考虑如何保证系统可以正常工作。 现在,让我们继续进行最后一种方法,该方法与其余方法不同,技术人员通常会忽略它。
美人
如果您的原型看起来很漂亮,他们会原谅您很多。 如果在演示过程中出现问题,一切都失败了,您会听到:“是的,一切都坏了,但是您的产品太酷了。 我认为您需要再次尝试改进。” 该原则适用于特斯拉:该公司在运输,自动驾驶,事故方面存在问题,但每个人都喜欢它们,因为汽车的设计很酷。 为此,他们都原谅了他们。

结论
物联网的未来是
不安全的 :物联网面向大众市场,而对于大众市场,决定性因素是价格。 因此,物联网将由许多
廉价且不可靠的设备组成 。 随着设备数量的增加,故障数量也会增加。 我们根本没有足够的力量来纠正所有错误。 因此,唯一的方法是
设备必须独立处理故障的后果 。 这些是必须学会自我修复的自治系统。
我建议您解决可靠性这一主题,并学习如何使用三种方法以冷静的方式向飞行员展示:
简化您的
一切 ,
添加冗余并
创建确保飞行员能够正常工作的条件。 不要忘记我们都是人,而
不是逻辑指导,而是情感指导 ,创造
美好的项目 。
没有关于可靠性的书籍或文章集。 要深入研究该主题,请先撰写一篇关于
可操作性,可靠性,安全性的文章,然后研究
NASA喷气推进实验室的经验。 他们创造了旅行者号和好奇号,
他们对可靠性一无所知 。 受到伟大的启发。
下届InoThings ++物联网开发人员大会将于4月4日举行, 距离会议还有一个多月的时间。 我们将准备一个涵盖物联网世界各个方面的程序:设备硬件和软件的开发,用户安全性,设备与“服务器”之间传递信息的方法以及它们在IoT技术的影响下的测试,操作和业务流程的更改。 但也许您的报告不足以涵盖所有主题- 请在3月1日之前提交您的申请 。