加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

自动化软件更新:物联网持续创新的关键因素

(2016-06-04 20:25:04)
标签:

杂谈

创建于2015年的Mender公司位于美国加利福尼亚州的红木城(Redwood City),是一家初创期的软件企业,正在开发一个开源的OTA(Over-the-Air)解决方案,用于运行在Apache 2.0框架下的户外嵌入式Linux设备的程序更新。除了开发和发布产品升级服务软件之外,公司还向客户提供商业支持服务。此外,Mender还致力于促进物联网市场产品软件更新的自动化,认为自动的软件更新应该作为开源嵌入式产品的一个不可分割的组成部分。

Mender支持基于Linux和Yocto项目的产品,该项目是Li n ux基金会下属的一个工作组,致力于提供模板、工具和方法来帮助用户为嵌入式产品创建不受硬件架构限制的定制软件产品。

软件驱动的转型在IT基础设施行业已经持续了数十年。随着服务器连接到网络上,可以通过虚拟化对可执行文件进行抽象。另外,随着云的诞生,还可以通过公有云按需获取服务。

实际上,借助智能设备和丰富的应用程序,消费电子产品领域已经完成了类似的软件驱动的转型。这些应用程序替代了现实生活中的诸多物理产品,例如车载GPS、报纸、照相机、地图、闹钟、音乐播放器以及自动取款机。

物联网给以前没有连接到网络的嵌入式设备带来了诸多软件创新。同时,物联网还将以一种类似于IT基础设施和消费电子产品领域的模式极大地改变目前的商业环境。那些积极采用新技术的公司将会茁壮成长,而那些错过机会的公司,则会将自己暴露在极大的风险中。

自动化软件更新:物联网持续创新的关键因素 

物联网的两大商业驱动因素

企业高管们对物联网日益增长的兴趣正在推动物联网爆炸性地增长。当新趋势到来的时候,我们需要审慎思考,不为短暂的潮流或者时髦的词语所迷惑,从而判断出我们所经历的是昙花一现的过眼风云,抑或是一个将带来翻天覆地变化且产生深远影响的长远趋势。

物联网很有可能不会是一个短暂的现象。这是因为其背后的驱动因素对于每个企业都很关键:更高的运营效率和新产品与服务。而这两者就等于新增的纯收入。

在当今的商业市场,通过传感器和设备的M2M连接以及对所收集的数据进行分析,从而提高运营效率、增收数十亿美元的商业案例已经不在少数。在农业领域,传感器被放置在农田中测量湿度、施肥水平、温度和影响作物产量的其它关键指标,通过利用这些数据,农场主可以在精确的时间进行浇灌、施肥来提高庄稼产量。水的调度可以与天气预报相关联,这样即使在土壤湿度低于正常水平的情况下也不需要立刻灌溉,因为根据预报第二天就会下雨。

在美国,运输行业在2012年的市场规模高达1.33万亿美元,占当年美国GDP的8.5%。很显然,提高效率在这个领域将会产生巨大影响。一家公司发现,如果在公路上行驶的卡车彼此之间的距离非常近,可以减少空气阻力,从而最多可以将油耗降低30%。问题在于,当前车进行制动的时候后车需要一定时间才能做出反应,而人类无法在两辆车距离如此近的情况下安全地驾驶。解决的办法是在每量卡车上安装联网设备来协助进行紧急制动,所有卡车上的设备相互连接,任何一个设备都可以给其它的所有设备发出“本车急刹”信号,这样其它车辆就可以迅速地自动降低速度,确保安全。

上述只是物联网领域一个很小的应用。当然,物联网也可以形成重大的创新,促进全新类别的产品和服务的诞生。一个显著的例子是自动驾驶。这将极大地改变我们上下班的方式。例如,有了自动驾驶功能,父母们不必亲自驾驶汽车送自己的孩子去上足球训练课——汽车独自就可以完成这一任务,而且还比人类驾驶更安全。当然,这一创新实现的前提是日益丰富的新型传感器、智能设备,以及物联网有望带来的基于云的数据分析。

对物联网软件更新的商业需求

物联网创新所需智慧的关键部分之一是通过在嵌入式设备上运行的软件来实现的。因此很自然,这些新的基于软件的智能非常复杂,而且需要不断改进和更新。

我们可以将软件更新的类型和商业价值细分成以下3种类型。

  • 新功能:为客户已经购买的产品提供新功能可以增加产品的价值,从而帮助生产商通过提高价格增加收入以及/或者通过延长产品寿命提高利润。
  • 问题修复:当产品出现关键问题的时候,快速地解决问题可以避免负面的客户影响。行业统计数据显示,每1000行软件代码最多可包含25个错误。随着产品变得更加智能和复杂,我们没有理由相信出问题的比例会下降。
  • 安全漏洞:一个不幸的现实情况是,软件中包含了会把客户的安全和数据隐私暴露于危险之中的安全漏洞。如果对这种风险置之不理,公司就会经历惨重的损失,而且公司品牌也会受到影响。而一旦此类问题公之于众,新闻媒体往往会不依不饶,穷追猛打。

根据以往IT基础设施的发展规律,我们认为嵌入式设备的可更新性也会经历相同的3个阶段。

  • 静态阶段:在这个阶段中,一旦设备完成了室外部署,就无法再对其进行远程改进和更新。而且设备离开生产车间之后,也无法再对其进行改进。生产商如果不能从这一阶段继续演变发展下去,竞争力将会变弱,而且很可能逐渐丢掉他们的业务。
  • 手动更新阶段:通常情况下,现场技术人员,以及在某些情况下,终端用户可以对已经投入使用的设备进行更新。一般而言,这种场景很少发生。除非遇到严重的问题,必须通过安装由生产商提供的新固件才能解决。一个典型的例子就是今天大多数汽车制造商所采取的召回做法。假设你需要更新你汽车的软件,那么你很有可能需要把车辆开到经销商那里。这种方法的明显缺点就是成本过高,因此不宜大规模推广。
  • 自动更新阶段:今天的创新厂商们已经处在这个阶段,而主流厂商们也即将进入这个阶段。那些能够有效实施基于软件的自动化更新的厂商们将具备在产品不离开客户的情况下对产品进行持续更新的能力,从而获得显著的竞争优势。自动化确保大规模部署更新的成本非常低,从而支持频繁的更新。

很显然,自动化的软件更新必须成为标准做法以确保物联网能够持续增长。那些首先建立这种能力的公司与业界同行相比,将获得明显的优势。

自动化更新设计

IT基础设施领域已发生的与联网设备更新自动化领域刚开始发生的这两者之间,存在明显的相似之处。但是,同时也存在一些因素导致向联网设备下发更新的难度超过了其它领域面临的挑战。

  • 高昂的到场成本:联网的设备在物理上可能位于离制造商很远的地点。这意味着一旦远程更新出现了关键的问题,设备就无法使用,必须人工到场进行修复。这种解决方案代价非常高,可能永远无法收回成本。
  • 电源不可靠:许多联网的设备依靠电池供电,或者供电随时都有可能中断。这就要求软件更新过程具备断电安全恢复的能力。
  • 网络流量不可靠且昂贵:大多数联网的设备使用无线网络,例如3G网络。这些网络存在频繁和间歇性的断链问题,例如当移动设备处于地下这类网络覆盖差的区域时。软件更新过程必须考虑这种中断情况,以确保在断链场景下更新的完整性不受影响。理想情况下,更新过程可以通过运用智能压缩或差分分割恢复部分更新,从而节省网络流量。
  • 网络不安全:由于更新需要使用有线和无线网络或者互联网提供的接入,攻击者可以通过截获并修改网络数据的有效载荷对更新过程造成威胁。目前已经发生了好几起此类事件,由于更新过程的安全防护松懈,攻击者向嵌入式设备植入了恶意软件。

大多数物联网产品团队都不具备应对这些挑战所需要的专业知识和技能。虽然可以通过投入时间和资金来获取这些技能。但是这些宝贵的资源完全可以被更好地利用,创造更多的产品价值。

另外,由于必须投入大量的资源才能确保升级服务的稳定性,因此每家公司都投资打造自己的软件更新解决方案在经济上是不现实的。最后,软件更新解决方案也不具备与特定业务相关的逻辑,这就是为什么必须在更新过程中利用第三方解决方案的原因。

Mender公司正在开发一个独立的开源软件更新器。任何行业的制造商和生产嵌入式产品的企业都可以将这个更新器集成到自己的产品中。使用Mender公司解决方案的好处是可以经济、高效地对远程设备进行自动化的软件更新。如今,Linux在嵌入式设备领域正经历爆炸式的增长——而致力于为嵌入式Linux设备提供定制软件服务的Yocto项目更起到了推波助澜的作用。

Eystein Stenberg/文

Mender公司产品总监

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有