物联网中将各种终端、互联网资源和电信能力等统一称为资源。物联网中的现有资源标识技术包括:各种标签技术,如RFID、条形码、二维码等;无线通讯网标识,如MSISDN、IMEI;互联网地址,如IP地址、MAC地址、URI;地理标识,如经纬度。在如此多的标识技术中哪些才是未来能够成为物联网统一标识的技术?需要重点考虑的问题涉及:资源标识组成和结构、资源标识的管理方式以及服务的注册与发现等。
目前物联网终端的IP化已经成为重要趋势,而在互联网中以URI作为资源访问标识的技术已经广泛使用,所以我们大胆的预测基于URI的资源标识方式是物联网标识技术研究和发展的重要方向。将资源Web化并通过URI对终端进行访问控制将带来以下好处。
第一,使应用开发者能够像开发互联网应用一样开发物联网应用;
第二,使得物联网应用能够通过统一的方式访问物联网和互联网资源;
第三,利用Web低耦合、易扩展性和高容错性特点;
第四,其它标识到URI的转换已经有所研究,例如ENUM协议可用于将电话号码转换为URI。
URI标识向标准化发展
基于URI的物联网标识与管理技术正受到越来越多的关注,技术成熟度上正处于从研究向标准化推进的过程中。目前规模较大并且具有较大参考价值的研究项目包括欧盟FP7计划支持的SENSEI项目和SWIFT项目,标准组织方面OGC、IETF和ETSI等国际标准组织均发布了基于URI的物联网标识标准。
采用URI标识作为物联网中资源的统一标识方式正在从理论研究和技术验证向标准制定发展。可以想象一旦统一采用URI进行资源标识将实现物联网与互联网的真正融合,物联网应用的发展也将带来爆炸式的增长。采用URI作为资源标识主要有3种实现方式:第一种是从终端侧直接采用URI作为资源标识,但这种方式面临终端处理能力限制问题,即使采用发展迅速的轻量级CoAP协议也还是不能满足大部分终端的要求;第二种是通过网关将其它终端标识转换到URI标识从而向应用提供统一的基于URI的标识方式,但这种方式面临如何实现终端数据保护和应用鉴权的问题;第三种方式是通过增加公共服务平台的方式,通过平台实现终端的接入并通过标识转换向应用提供统一的标识和资源访问接口,这种方式具有对终端约束小适合与现有物联网发展状况、易于实现应用和终端鉴权、管理和安全保护的优点。下文将采用公共服务平台的解决方案对基于URI的物联网标识体系进行描述。
系统设计
为了实现基于URI的资源标识与管理设计以下系统。系统由终端(实体)、共性服务平台和用户(包括使用服务的应用)组成,系统层次设计如图1所示。
终端层:服务的最终提供者,部分终端具有服务注册功能;
用户层:用户可以是人或使用服务的应用,用户采用统一的URI方式通过共性服务平台使用各种服务;
共性服务平台层:共性服务平台对下实现各种服务和能力的汇聚并对上提供统一的基于URI的服务访问方式,包括终端认证鉴权、终端服务注册、基于Web的统一开放接口、服务检索、用户认证鉴权等。
资源标识组成与结构
在基于URI的系统中用户访问各种资源统一采用URI标识,URI标识可表示为:Http://共性平台URI/资源ID/服务URI。其中资源ID是资源在共性平台中的唯一标识,资源模型可参考ETSI或OGC标准资源模型。以ETSI资源模型为例,一个温度感知资源(资源ID为12345,服务需要访问attribute目录下的temperature)的标识可表示为:http://Global_M2MPlatform/12345 /attribute/temperature。
服务注册与发现技术
系统中的终端包括具有服务注册功能和不具有服务注册功能两种类型。具有服务注册功能的终端通过共性平台提供的接口进行服务注册,注册信息包括终端标识和终端元文件。终端元文件中包含终端对外提供的资源、资源模型、资源安全策略等。不具备服务注册功能的终端需要预先在平台进行终端元文件配置,元文件内容与终端注册时提供的元文件类似,当终端发起接入请求时平台通过终端ID匹配元文件并自动完成资源注册过程。用户可以通过资源属性或资源ID等信息进行资源搜索,例如用户通过Get http://共性平台URI/资源ID/resouceList可以获得指定资源ID的资源列表,通过Get http://共性平台URI/resouceList?attribute=temperature将获得属性中含有温度的资源列表。
资源标识管理方式
资源标识的管理由共性平台负责,平台包括实体目录服务器和资源目录服务器。其中实体目录服务器用于存储实体信息,包括终端设备ID、设备信息、访问方式、安全策略、服务注册文件等;资源目录服务器存储资源信息,包括资源与实体映射关系、资源访问URI、资源安全策略等。一条实体数据可以对应到多条资源数据,实体数据由终端服务注册时提供,资源数据由平台根据实体数据生成。
平台设计
在此系统中物联网共性服务平台是实现基于URI的资源标识与管理的关键,平台实现了标识的映射与管理以及认证鉴权等服务。共性服务平台设计如图2。
注册/访问服务器:终端和用户访问平台的接口,包括终端接入、终端服务注册、用户注册、用户访问搜索和基于URI的服务访问接口。
实体目录服务器:存储终端实体信息,包括终端标识、终端访问方式、终端注册元文件等。实体目录服务器存储访问终端功能的必要信息。
资源目录服务器:存储资源访问URI、资源访问策略以及资源与终端实体映射关系等。资源目录服务器是实现基于URI的资源开放的基础,对外屏蔽了终端的异构性而以统一的URI方式呈现各种服务。
搜索服务器:通过搜索服务器实现基于资源属性的搜索功能,对应用提供服务发现能力。
认证服务器:实现终端和用户的认证鉴权功能,维护用户认证信息并支持与第三方认证系统交互功能,最终为用户提供单点登录服务畅享能力。