实现互联性
文/微软Windows Embedded事业部首席软件架构师Mike Hall
最近,我受邀参加在伦敦举办的未来世界论坛,该论坛主要探讨智能连接的电子设备及其用户体验。在这个论坛上,我进行了主题为“实现互联性”的演讲。
我的这次演讲只是讨论了互联性这个话题,但实际上,互联性只是智能连接的电子设备的一个组成部分。我还将在日后的文章中讨论例如软件发展趋势、用户体验、云计算基础设施等其他问题。本文将主要讨论互联性。
要想完整地讨论互联性,我们不得不不进入TARDIS,简短地回顾一下计算和互联性的起源。有趣的是,Andrew Coates曾撰写过一篇题为“站在巨人肩膀之上”的博文,文中将软件行业的技术演变与各种垂直技术的变化进行了对比,这些变化涵盖了从远古的山顶洞人时代到现代社会。这种对比从方方面面反映了从大型计算机到智能连接设备的演变历程。
从大型计算机到设备
我们很难想象,仅仅在50年前,当时最先进的计算技术仍是大型计算机:一小群人手里拿着穿孔卡片在排队,在有限的几个地点,使用有限的计算资源。小型计算机在某些方面类似于大型计算机:虽然更多的人可以使用计算资源,但这些资源仍位于固定的地点,并且网络的规模也十分有限。
到了20世纪80年代,随着台式电脑的出现(幸亏不再需要穿孔卡片和纸带了!),计算技术的应用开始变得非常普遍了。尽管如此,互联仍然局限于企业内部和有限的几个拨号选项。在20世纪90年代,我们开始看到人、计算机和网络之间的互联真正开始普及了,但计算能力作为一种体验,仍然局限于固定的物理位置——家庭或者办公室。
随着Wi-Fi和笔记本电脑/上网本的出现,我们终于具备了突破固有计算地点的计算能力。尽管Wi-Fi只是现有局域网的一种延伸,但这意味着用户可以经常性地从一个互联的区域跳到另一个区域。但在很多情况下,由于需要为网络接入服务付费,用户常常不能连入互联网。
以前的计算设备是人机交互型,现在我们正目睹着下一个技术趋势的来临:设备和互联性由设备到设备(机器到机器或M2M)的通信所推动,与此对比的是人-设备-云通信的推动。
设备到设备通信对于计算能力和互联性需求的推动正在迅速增长。这些设备不是通用的计算设备,而是专用的计算设备,具备越来越强的远程通信、移动和可携带能力。
来自互联性的挑战
在挑选用于开发的互联性模块和操作系统平台时,嵌入式设备的开发者面临一系列选择。对于设备到设备解决方案的开发者而言,如果某个设备的目的是为了连接企业或云,它将带来巨大的开发和集成挑战。此外,鉴于移动设备运营商提出的具体而严格的要求,开发者通常会为每个地区开发一个定制解决方案,并在后台处理由此引发的集成问题。
如果你考虑到这种定制开发所带来产品上市的延期,包括定制开发,以及通常由测试和验证所带来的更长延期(移动运营商需要通过测试和验证,确保他们至少能够预测设备在网络上的行为模式),你就不会惊讶很多原始设备制造商和企业客户都曾经选择了放弃,因为整个过程太复杂,时间太长,成本太高。
好的一方面是:在最近两三年来,人们对互联设备的兴趣日益高涨。越来越多的运营商将设备到设备视为带来新收入来源的主要推动力(尤其是随着4G的出现)。此外,人们越来越愿意,而且越来越灵活地开发各种新的商用架构,以便为解决方案的开发和运营商提供支持。设备到设备服务提供商也正在投资建设服务层和计费层,以增强他们管理连接设备的能力。如何使互联性成为另一个组件,以便解决方案开发者能将其添加到他们的工具箱中,在这方面,我们还有很多工作要做;如何利用已有的这个基本组件充分实现连接设备解决方案的潜力,在这方面,我们还有更多工作要做。
假设我们已经解决了互联性这个基本问题,那么优秀的嵌入式设备现在就会已经拥有一个通向云的数据通道,而且能够与其他设备和云托管的网络服务通信。
设备内部还有其他许多方面的问题需要解决。其中某些问题与芯片技术的发展趋势有关,尤其是从单核到多核技术的演进,以及代码如何利用可用的处理能力。在打造智能连接设备时,我们还需要考虑软件的发展趋势,例如,由 C/C++从低级汇编语言演进至高级语言。此外,还需要考虑设备外壳和应用方面的用户体验以及云计算能力。
如果您有兴趣了解这方面的更多信息,请阅读我的未来世界论坛演讲稿,或者继续关注我在日后发表的有关互联性的文章。
Mike Hall是谁?
Mike Hall是微软Windows Embedded事业部首席软件架构师,负责 Windows Embedded Compact和 Windows Embedded Standard的有关工作。
Mike拥有30多年代的行业工作经验,在微软公司工作了15年以上,最初任职于开发者支持 (Developer Support) 部,主要从事 C/C++、MFC、COM 和设备驱动程序开发,以及 Win32、MASM 和 Windows CE 操作系统的开发。在出任目前的软件架构师一职之前,他还担任过Embedded Devices Group的系统工程师。Mike还开了一个博客,其中涵盖了Windows Embedded开发工作的方方面面,可以在此处找到。