对于网络,无非是以下几种,就物联网整体来说,应该是以下多种网络的混合体。
中心服务网广域,就是有一个数据和运算中心,执行各种各样的服务,如数据存储、分析、分发、查询等。
无中心网广域,任何终端都可以找到另一个终端,而无需通过任何服务器,从安全性角度来讲,它能避开不受信任的服务器,这是未来组网的发展方向之一。
固定局域网,例如一个固定位置安装的无线传感器网络,这种网络,往往内部组成一个mesh网,然后通过一个公共出口连接到公网,或者根本就不连接到公网。
流动区域网,例如智能交通,汽车到了哪一个路口,就和哪一个路口的信号灯联网;跑到哪条路上,就跟那条路的路灯联网,是否连入公网,并不重要。
连接也包含组网、维持网络连接、设备发现的问题,维持连接在物联网中是一个很重要的问题,为什么呢?因为物联网中有许多低功耗设备,这些设备绝大部分时间是休眠的,又要省电,又要不丢失连接,需要有点智慧。维持连接一般是用心跳的方式,对低功耗设备,合理的心跳间隔、快速唤醒、快速连接,连接完后快速返回休眠状态,就非常重要了。操作系统能做啥?只需要支持常见的无线连接如ZigBee、蓝牙、WiFi等,并实现组网,在低功耗上做足文章就可以了。至于几种连接方式,诸侯争霸最终谁执牛耳,没操作系统什么事,只能隔岸观火、且看风云。
谈到设备区别,就开始出现问题了,网络中的两个设备,你必须能够区别出他们是不同的个体,就像人的身份证号一样,每个设备也必须有一个身份证号,或者在你所在的区域网中有一个唯一的号码也行。这个唯一的号码,谁来分配呢,就成了问题,分配号码的人,就成了老大,谁是谁啊,凭什么你当老大?其实设备区别这个问题,很早就有人想解决了,IPV4有一个32位地址,当时觉得32位足够大了,网卡考虑的周全些,有48位MAC地址,也不够大。maxim公司的iButton以及802.15.4,都有一个64位的唯一地址,理论上,64位够用了,但maxim公司是一个企业,自然无法成为老大;802.15.4绑定了特殊的连接方式,也无法成为老大,WiFi节点、有线网络的MAC节点,都会站出来反对你。那只剩下IPV6了,将来,只要需要接入网络的物联网节点,都会有一个固定的IPV6号码。但802.15.4的64位地址,802.11n的48位地址也不会消亡,有许多设备根本就不上广域网,只要在其局域网内有唯一地址就足够了。当然,IPV6也有问题,万物联网时代,一个生产水杯的小工厂,怎么低成本地获得IP呢?又如何收回其IP呢?如果不收回,垃圾桶里,每天都会有无数的IP,即使128位的IP,也迟早会消耗完的。这个问题,操作系统能做什么?操作系统不需要做多少事,只需要支持IPV6就可以了。
说到设备识别,头痛的问题,就开始来了,就目前而言,并没有任何一个物联网方案能完美解决设备识别的问题。一个最简单的智能交通系统,要实现这样的功能,哪个方向有车来,就开哪个方向的绿灯,都有车来,就根据流量智能调整红绿灯周期。问题就来了,你如何判断路上过来的是一辆车,还是一条狗!东西向有车来,南北向跑来一只狗,绿灯给谁放行?
识别车和狗,还是最基本的识别问题,只是识别物种,还没有要你识别个体呢。识别有两个层次,一是人和物之间的互相识别,当然主要是人识别物,另一个是物和物之间的识别。由于人的智慧,人会根据许多的参考条件来进行模糊识别,人工智能也可以这样做,但人工智能毕竟无法跟人比,只能在有限条件下,做简单的辅助识别。物联网不是要有智慧么?要为个体提供专属服务么?做不到识别,一切妄谈。有些朋友会想到,用它的128位IP,或者唯一的MAC地址,不就可以了么?对不起,地址只能起到区别的作用,是起不到识别作用的,除非你为地球上的每一类物体都进行分类,不同种类的物体,给分配不同的IP段。可行么?拉倒吧,不说自然界每天都在诞生的新物种,或者新发现的物种,就是在创客之都深圳,创客们每天新设计出来的新奇玩意,你都数不过来。自描述是一个办法,因为绝大多数的物联网应用,只是要求识别部分类别的物体,回到前面所讲的智能交通,只要所有的汽车,都用一句“I am a car,。。。”来描述,就不会跟跑过来的狗弄混。当然,对于具体应用而言,它不需要识别全地球的智能设备,能够识别跟具体应用相关的设备就行了,可以自己定义识别规则,这纯粹是应用自己的事,操作系统真的没有太多事做,你只能做些辅助线的工作,例如把物体的身份证号和自描述语句传递给应用程序,仅此而已。