• 1. M2M技术基础第五章 ETSI M2M业务架构
  • 2. 大纲高层系统架构 服务功能框架 REST架构简介 基于资源的M2M通信及规程
  • 3. 5.1 高层系统架构 背景:对于通信运营商来说,网络的可用性不再是关键的竞争差异,而在水平平台上提供增值服务对通信运营商已经变得愈加重要。
  • 4. 高层系统架构水平平台的几大类增值服务功能: 数据功能:采集、存储以及订阅、通知;更深层次的数据聚合和数据分析 通信功能:网络地址转换、载体选择和编制、协议转换等 管理功能:配置管理、故障和绩效管理,以及固件和应用软件升级等 环境功能:提供到其他功能如位置、配置和计费功能等的入口
  • 5. (本页无文本内容)
  • 6. 高层系统架构 高层系统架构对系统的组件,以及组件之间的关系给出了一个概括。 高层系统架构也对系统内各功能之间的相互作用提出了一个更正式的描述,其中每个功能都可以被映射为高级系统架构的组件
  • 7. (本页无文本内容)
  • 8. 5.2 服务功能框架 服务功能框架就是一个有结构的工具箱,其根据架构或者一组可以被实例化的设计模式来实现特定的目的 M2M服务框架充分考虑了可扩展性
  • 9. 服务功能框架
  • 10. 服务功能框架该框架展示了一系列参考点: 在设备端,网关或在网络中的面向应用的垂直参考点 在设备或网关中的服务能力(SC)组件和在网络端的SC组件间的水平参考点,这个参考点运行在服务层,意味着与M2M区域网络或接入网和核心网有可用连接 一系列面向核心网的垂直接口,这是为了使用运行商的核心网络功能,这些接口包括访问数据的3GPP Gi/SGi接口或核心网络提供的3GPP Rx接口来访问QoS(质量服务)
  • 11. 服务功能框架ETSI TC M2M定义了M2M服务能力包括以下功能: 应用支持:提供一个连接应用程序的单独API接口 通用通信:管理包括相关安全传输会话的建立和断开,以及由核心网络提供的与承载服务的链接 可达性、寻址能力、资源库:为相关的应用、设备和网关状态提供存储能力以及处理数据变化信息 通信选择:为由多种网络或多种链接承载接入的设备和网关提供网络和网络承载的选择 远程实体管理:提供有关设备或网关生命周期的管理
  • 12. 服务功能框架安全:实现引导,身份认证、授权和密钥管理。例如与一个M2M认证服务器链接来获得认证数据 历史和数据保留:存储记录相关M2M服务功能的用法。可用于执法目的,比如隐私 事务管理 补偿代理:代表应用程序管理补偿事务 通信运营商接触:提供通过用于访问SC的相同的API访问传统网络运营商服务,如SMS,MMS,USSD以及位置 互通代理:根据ETSI标准允许非ETSI兼容的设备互通。
  • 13. 5.3 ETSI TC M2M的版本1方案本节对目前ETSI TC M2M的服务功能方案进行了深入讨论,并解释了其中指定参考点的使用
  • 14. (本页无文本内容)
  • 15. 5.4 ETSI M2M的服务功能介绍可达性、寻址能力、资源库(xRAR) 远程实体管理性能(xREM) 安全性能(xSEC)
  • 16. 5.4.1 可达性、寻址能力、资源库(xRAR)可达性、寻址能力、资源库(xRAR)是ETSI TC M2M服务功能工作的基础,这导致了在其工作早期的两种功能的合并 设备应用程序库:最初引入是为了保持一个注册DA的记录 命名寻址和可达性:提供地址转化功能,并跟踪设备的可达性状态和这些设备上的应用运行状态 这两种功能的合并,导致xRAR,简化了结构,并且避免了两个功能间不必要的频繁的信息交换的需要
  • 17. 新定义的xRAR特性围绕SC、应用(NA,DA,GA)的注册,以及最重要的是按照访问权力和权限对M2M应用间数据交换的简易化 存储数据,并提供给其他应用最终成为xRAR的最重要特性
  • 18. xRAR的功能列表名称与网络地址之间的映射 维护M2M设备与网关之间的可达状态 提供应用或M2M SC(服务能力)注册,并且通知一个特定的事件发生 允许创建一组M2M设备,应用或SC,让xRAR的用户之间进行简单的互动 允许应用存储数据,并与其他应用一致共享接入权限和授权 允许本地应用注册,这是初始化一个通过M2M SC进行的数据交换的前提 允许SC共同注册,作为代表应用的数据交换的前提
  • 19. 5.4.2 远程实体管理性能(xREM)xRAM在ETSI M2M中提供管理设备和网关生命周期的方法 设备生命周期管理包括以下几个方面 软件和固件升级 应用生命周期管理 故障和性能管理 配置管理(CM)
  • 20. NREM的ETSI TC M2M规范列出了为NA提供的功能: 提供了配置管理功能 采集和存储性能管理及故障管理数据 隐藏与M2M应用的连接的建立和拆除 进行M2M设备或M2M网关的软件和固件升级 GREM充当对于NREM的设备管理客户端,和对于D’设备和其他设备的设备管理代理 DREM作为NREM的设备管理客户端5.4.2 远程实体管理性能(xREM)
  • 21. (本页无文本内容)
  • 22. 5.4.3 安全性能(xSEC)相互身份验证(如密钥):为了一个设备或网关可以接入由M2M运营商管理的特定资源,需要首先执行身份验证。认证结果是,一个对称回话的密钥可被相互允许并且在xSEC之间存储 授权:相互认证成功后,MAS为NSEC提供授权消息 引导:服务引导程序允许设备/网关永久地与一个特定的M2M运营商的架构相关联,通过一个永久性的引导共享根钥以及其他服务参数和配置
  • 23. 5.5 REST架构简介 REST(Representational State Transfer):表述性状态转移 REST架构是针对Web应用而设计的,其目的是为了降低开发的复杂性,提高系统的可伸缩性。 REST提出了如下设计准则: 网络上的所有事物都被抽象为资源; 每个资源对应一个唯一的资源标识符; 通过通用的连接器接口对资源进行操作; 对资源的各种操作不会改变资源标识符; 所有的操作都是无状态的。
  • 24. REST与URI(资源定位) REST软件架构之所以是一个超媒体系统,是因为它可以把网络上所有资源进行唯一的定位,不管你的文件是图片、文件Word还是视频文件,也不管你的文件是txt文件格式、xml文件格式还是其它文本文件格式。它利用支持HTTP的TCP/IP协议来确定互联网上的资源。 REST与CRUD(资源操作) REST软件架构使用了CRUD原则,该原则告诉我们对于资源(包括网络资源)只需要四种行为:创建(Create)、获取(Read)、更新(Update)和销毁(Delete),就可以组合成其他无数的操作。这四个操作是最基本的操作,即无法再细分的操作,通过它们可以构造复杂的操作过程,正如数学上四则运算是数字的最基本的运算一样。REST架构简介
  • 25. REST架构简介 REST与HTTP的关系 REST是一种架构格式,在很大的程度上依赖于HTTP。从REST的角度来看,一个资源可以是任何实体,可以用一个HTTP URI来解决。 REST不仅仅把HTTP作为自己的数据运输协议,而且也作为直接进行数据处理的工具。 HTTP把对一个资源的操作限制在4个方法以内:GET,POST, PUT和DELETE,这正是对资源操作(CRUD)的实现。每个操作都是一个原子操作。
  • 26. HTTP GET方法读取资源的状态并在HTTP响应中返回。在REST中,GET方法被认为是无副作用的,即在同一资源上多次重复相同的GET请求不会改变其状态。
  • 27. HTTP GET的响应也可以由客户端或通过任何中介代理缓存,来降低资源上的负载。
  • 28. (本页无文本内容)
  • 29. HTTP PUT方法用于更新资源状态。用此方法进行更新的好处在于: 第一,原子操作使得状态不会出现不一致 第二,中间代理能够识别URI,并随后快速清除其缓存内容 HTTP POST和DELETE方法,分别用于创建和销毁资源
  • 30. M2M中应用REST一个物理设备可以被看做是一个资源,该资源可以通过一个HTTP URI被访问,用GET读取和用PUT校准 POST和DELETE可以用来配置更复杂的实体,如可编程滤波器 对于长期连接的传感器,使用HTTP请求可以直接到达传感器,并在响应消息中返回采样数据。如果流量大可以在客户端和传感器间使用高速缓存代理保护M2M设备 对于非长期连接的传感器,它可能不可达。在一些情况下,需要返回最后一次抽样状态,这种情况下,传感器作为资源不太合适,而是在web服务器中存在一个文档带有最新样本数据的更新
  • 31. (本页无文本内容)
  • 32. 如果M2M设备不支持HTTP等协议,如一个传感器没有IP接口,则需要一个中间实体,传感器和web服务器进行通信,或者可以承载第三方应用的web服务器
  • 33. (本页无文本内容)
  • 34. 附加功能事件处理 服务器推送技术:HTTP服务器推送(也称为HTTP streaming)是一个从Web服务器发送数据到Web浏览器的机制。 一般来说,Web服务器在响应后,就终止了到客户端的数据连接。推送则是指该网站的服务器连接是一直保持打开的,这样如果接收到事件时,可以立即将响应发送到一个或多个客户端。或者将数据放入队列,直到客户端的下一个请求来到时,响应就被客户端接收。
  • 35. (本页无文本内容)
  • 36. HTTP长轮询:另一种可以让传感器发送事件的HTTP技术是HTTP长轮询。根据此技术,客户端连接资源并在一个TCP连接上发出请求,并等待响应。在HTTP请求中被查询的传感器会使客户端等待直到一个新的样本产生,并将此样本作为一个HTTP响应发送回来。收到样本后,客户端发出一个新的请求等待下一个样本的产生。
  • 37. (本页无文本内容)
  • 38. 附加功能高速缓存代理
  • 39. 附加功能设备配置:设备要做的不仅是由测量产生数据,还需要进行配置和校准 在REST中,可以用以下三种方法进行设备的配置和校准
  • 40. (本页无文本内容)
  • 41. (本页无文本内容)
  • 42. REST附加功能REST可以为每一个设备选择URL来揭示其状态,对于复杂的系统,可以使用不同的URL来存储不同子系统的状态,如:“智能”汽车的部分状态被公开在一些URL上: http://carmaker.com/numberplates/00001/wheels http://carmaker.com/numberplates/00001/engine http://carmaker.com/numberplates/00001/battery 资源的URL是在使用POST-Redirect-GET范例创建资源时自动生成的。
  • 43. 在这种模式下,设备在一个预定义的URL上用POST方法创建资源并公布其状态,资源被分配其他的URL并通过HTTP响应反馈给设备
  • 44. 新创建的URL可以通过HTTP PUT方法获取设备的状态的更新
  • 45. 这样,即便此设备未连接入网络,其他设备或应用可以使用该URL检索设备的最后更新状态。为了可以动态追踪这些URL,可以将其存储在DNS TXT记录的DNS-SD中
  • 46. 与其他标准的关系IETF CoAP CoAP提出了一个面向REST的非HTTP方法,这是由于在小的、有限的设备,比如6LoWAN支持的设备上实现HTTP是有困难的。 CoAP是一种面向网络的协议,采用了与HTTP类似的特征,核心内容为资源抽象、REST式交互以及可扩展的头选项等。
  • 47. CoAP协议考虑到资源受限设备的低处理能力和低功耗限制,CoAP重新设计了HTTP的部分功能以适应设备的约束条件。 通过在网络中建网桥,可在CoAP和HTTP/REST之间做一个适当的转换,来允许有限传感器设备和web服务器之间更多的无缝集成
  • 48. (本页无文本内容)
  • 49. SOAP在RESTful格式的web服务实例中,设备可以有一个SOAP接口,此接口包含GetXXX和SetXXX方法来将设备的内部状态处理成为资源
  • 50. (本页无文本内容)
  • 51. 5.6 基于资源的M2M通信及规程本节将使用的四个原语 创建(Create):创建一个资源 检索(Retrieve):读取资源的内容 更新(Update):编写资源的内容 删除(Delete):删除资源
  • 52. 5.6.2 资源结构ETSI TC M2M在TS 102 690中定义了一个树型的资源结构: 定义资源结构提供了一个最小的简化的定位的方法(URI构建),方便维护以及数据生命周期相关活动的运行。比如DA的数据被存在网络端SCL中,当设备不再注册时,它相关的数据很容易被识别并被移除 描述不同类型资源和其他资源的关系 使用最低限度的结构化数据来提高整个系统性能。
  • 53. (本页无文本内容)
  • 54. sclBase:是M2M SCL上托管的所有资源的根,由一个绝对的URI编址。在sclBase下的所有其他资源会有一个分层的由sclBase的URI派生的URI eg:一个用于识别某网络SCL的sclBase资源URI ://m2m.operator.com/ 在同一SCL托管下的存储器资源(用于数据交换的特定资源)的URI为://m2m.operator.com/ containers/meterDataSamples/ scl资源:代表其他实体上管理的SCL资源 应用资源:存储关于应用程序的信息,作为一个应用程序成功注册的结果被创建
  • 55. 存储器资源:一种一般的资源,通过将此SCL作为处理缓冲数据的中介来实现应用程序间和/或M2M SCL之间交换数据 接入权限资源:存储一个认可的表示,管理哪些实体有资格访问资源数据结构的哪些部分 组资源:存储一组其他资源的信息。其优点在于允许一个发布者(如应用程序),当它需要给一系列接收者发送数据时只写一次,从而简化了API上的交互。这种情况下,SCL可能需要将在这些资源上的信息转载到组资源上。 订阅资源:用于追踪父资源的活动的订阅状态。允许在一个特殊事件(如资源上执行的更新)发生时通知订阅者
  • 56. 采集资源:允许具有一定共性的资源聚集在一组,采集中的分组资源为发布者提供了用一个URI引用一组资源的方法 发布资源:包含了一组有限的属性,包括搜索数组(searchString)和到源资源的链接。只有当发布资源通过其完整URI访问时才可见 发现资源:用于允许发现的特定资源。用于检索与某发现过滤标准匹配的一系列资源的URI
  • 57. 例:假设一个公司的后端计量应用使用sclBase: ://m2m.opterator.com/utility1/ 在scl下为每个注册的计量创建一个例子,URI分别为: ://m2m.opterator.com/utility1/scls/meter12345/
  • 58. 假设一个智能计量运行两个应用,一个用于计量智能计量数据,一个用于归属自动化,则对每一个应用创建一个资源实例: ://m2m.opterator.com/utility1/scls/meter12345/applications/meter12345 ://m2m.opterator.com/utility1/scls/homeAutomation12345/
  • 59. 接口程序接口程序在允许资源处理的mIa,dIa和mId接口上定义了一组允许资源操作的原语和交互 接口程序的最终目标是允许M2M系统中应用程序间的数据交换,数据交换需要在以下步骤完成时才能发生 SCL发现:定义了允许一个DSCL或GSCL发现一个NSCL的过程,以便进行登记 SCL注册:此过程允许一个DSCL或GSCL注册一个已被发现的NSCL 应用程序注册:定义了一系列允许应用程序(DA,GA,NA)在其本地SCL上注册的过程
  • 60. 当上述步骤完成,SCL可以根据应用程序的请求来执行以下过程: 访问权限管理:由与访问权限相关的操作资源(创建,删除,更新,检索)组成。 存储器管理:通过特殊资源的使用来允许应用程序数据交换的过程组成 组管理:由操作资源的组组成 资源发现:允许存储在特定SCL上的资源的发现以及在此SCL上资源的发布 采集管理:定义了管理采集资源的一系列过程 订阅管理:定义了一组过程,当特定的订阅过滤标准被匹配时,允许应用或SCL订阅和通知。 资源公布:允许资源被公布或解公布到一个远程SCL上
  • 61. 例子-智能计量NA是一个智能计量应用,该应用已经在一个M2M服务提供商经营的NSCL上注册,两个实体间认同的是:://smartmetering.utility1.com/ 一个智能计量设备已被安装并运行正常。智能计量设备允许一个计量应用程序,该应用以小时为单位生成计量数据测量。此设备运行一个配置有的DSCL: ://meter12345.utility1.com/
  • 62. 智能计量开始运行时,会执行以下步骤 网络引导和网络注册:用于为设备配置参数并允许连接并注册到一个网络。一旦引导和注册完成,该设备就具有访问网络的认证了 服务引导:用于与M2M SCL连接和注册
  • 63. NA为注册智能计量进行订阅如果NA希望有设备被部署时被告知,就需要订阅NSCL。这样,当DSCL在其下的scl资源下注册时,NSCL就会告知NA
  • 64. NSCL的智能计量注册一旦执行引导,DSCL可以执行NSCL发现和SCL注册过程:
  • 65. 告知网络应用已被注册的智能计量一旦DSCL在NSCL上注册,NSCL会触发一个程序通知NA
  • 66. DSCL上的设备应用注册下一步是通过dIa接口在DSCL上注册DA
  • 67. 为NSCL公布一个注册的DA假设DA希望为NSCL公布其注册,以便NA可以发现所有的已运行的智能计量应用,这时,DA需要更新一个DA资源的属性announceTo, 来请求向NSCL公布其注册
  • 68. (本页无文本内容)
  • 69. 本地DA注册被发布后的资源结构的图形表示
  • 70. 通过使用存储器资源报告计量数据假设现在DA被编程来报告应用数据,ETSI 102 690规范允许多种方式来执行报告。交换应用程序数据是通过利用存储器采集资源实现的。 在我们的例子中,合理的选择是创建一个存储器采集资源在: DSCL的DA应用资源下: ://meter12345.utility1.com/applications/meterData/containers/meterDataSamples/ NSCL的DA的发布资源下:://smartmetering.utility1.com/scls/meter12345/applications/meterData/containers/meterDataSamples/
  • 71. (本页无文本内容)
  • 72. 本章小结ETSI M2M高层架构 ETSI M2M服务功能框架-三个重要服务功能 REST架构和HTTP协议 ETSI M2M资源结构 基于资源的M2M通信过程