CN108141468B - 增强的restful操作 - Google Patents

增强的restful操作 Download PDF

Info

Publication number
CN108141468B
CN108141468B CN201680055108.8A CN201680055108A CN108141468B CN 108141468 B CN108141468 B CN 108141468B CN 201680055108 A CN201680055108 A CN 201680055108A CN 108141468 B CN108141468 B CN 108141468B
Authority
CN
China
Prior art keywords
resource
resources
request
discovery
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680055108.8A
Other languages
English (en)
Other versions
CN108141468A (zh
Inventor
卡坦利纳·M·姆拉丁
李晴
罗科·迪吉罗拉莫
王重钢
威廉·罗伯特·弗林四世
李鸿堃
李旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Convida Wireless LLC
Original Assignee
Convida Wireless LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Convida Wireless LLC filed Critical Convida Wireless LLC
Priority to CN202110849726.2A priority Critical patent/CN113434780A/zh
Publication of CN108141468A publication Critical patent/CN108141468A/zh
Application granted granted Critical
Publication of CN108141468B publication Critical patent/CN108141468B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

批量CRUD操作可与资源发现操作耦合并直接在匹配资源上进行,而无需发起新的CRUD请求。发起方和接收方处的新功能可将应用了判据匹配的资源与包括在发现/过滤结果中的资源区分开。发起方和接收方处的增强功能可将发现与RESTful操作组合,所述RESTful操作针对与所发现资源不同但有关的资源集合。其它增强可用于请求发现与匹配过滤器的那些资源成指定关系的资源或者请求基于结果来形成组。

Description

增强的RESTFUL操作
相关申请的交叉引用
本申请要求2015年9月23日提交的美国临时专利申请No.62/222,536的权益,其公开如同整体阐述一样通过引用并入本文。
背景技术
近年来,使得机器/装置能够彼此通信的M2M解决方案已被开发用于医疗保健部门、能源部门和汽车部门。下一步的优化在于提供将来自不同部门的机器和东西集成在同一平台上的解决方案。
为此,已由oneM2M发起了定义独立于工业部门用于应用之间的数据交换和共享的水平平台的单个标准集合。“oneM2M正在创建分布式软件层——就像操作系统一样——其通过提供用于与不同技术互通的框架来促进统一”(引自“The Interoperability Enablerfor the Entire M2M and IoT Ecosystem”,OneM2M白皮书)。该分布式软件层在位于应用层104处的M2M应用与提供网络服务层106处的数据传输的通信硬件/软件之间的公共服务层中实现(参见图1)。
服务层106由公共服务功能(CSF)在功能上启用。一组CSF可在公共服务实体(CSE)上被实例化为一组。图2中示出示例CSE 202。CSF的示例在以下段落中描述。
应用和服务层管理CSF 204提供对AE和CSE的管理。这包括对CSE功能的配置、故障排除和升级以及升级AE的能力。
发现CSF 206基于过滤器判据来搜索关于应用和服务的信息。关于此CSF的附加信息在下面描述。
注册CSF 208提供用于AE(或其它远程CSE)向CSE注册的功能。这允许AE(或远程CSE)使用CSE的服务。
通信管理/传送处理CSF 210提供与其它CSE、AE和NSE的通信。该CSF决定在什么时间哪一通信连接用于传送通信,并且如果需要并允许的话,对通信请求进行缓冲以使其可在稍后的时间被转发。
组管理CSF 212提供用于处理组相关请求。使得M2M系统能够支持多个装置、应用等上的批量操作。
安全CSF 214为服务层提供安全功能,例如包括识别、认证和授权的访问控制。
数据管理和储存库CSF 216提供数据存储和中介功能(收集数据以用于聚合、将数据重新格式化以及存储数据以用于分析和语义处理)。
位置CSF 218提供使得AE能够获得地理位置信息的功能。
服务收费与结算CSF 220为服务层提供收费功能。
装置管理CSF 224提供对M2M网关和M2M装置上的装置能力的管理。
网络服务暴露、服务执行和触发CSF 226管理与底层网络的通信以用于访问网络服务功能
订阅和通知CSF 228提供允许订阅事件并在该事件发生时得到通知的功能。
oneM2M架构提供用于CSE 202通过Mca、Mcc(和Mcc’)和Mcn参考点(分别)与应用实体(AE)230;其它CSE;以及网络服务实体(NSE)232(即,底层网络)接口通信。
oneM2M使用两种架构方法来开发服务层架构规范:图3A所示的面向资源的架构(ROA)以及图3B所示的面向服务的架构(SOA)。
ROA架构在oneM2M-TS-0001,oneM2M功能架构V2.1.0中详细描述。其围绕资源以及CSF所执行的操作来开发以实现其功能。资源是经由统一资源标识符(URI)唯一可寻址的架构元素。
资源可被视为从基础发散的层级树,其之间定义有若干关系。例如,资源可包含子资源和属性,子资源与父资源具有包含关系。因此,父资源表示包含对其子资源的引用。子资源的寿命受父资源的寿命限制。
属性是存储资源的信息的架构元素。oneM2M定义了所有资源共有的属性集合,其它属性是各个资源特定的并被称为“资源特定属性”。位于一个CSE(称为托管CSE)处的资源可被通告给远程CSE,并且这些资源被称为“已通告资源”。已通告资源可包含原始资源的属性以及其自己的属性。原始资源与已通告资源之间的同步由托管CSE负责。
SOA架构在oneM2M-TS-0007,服务组件架构V0.8.1中详细描述。其围绕服务本身开发并且可用在非基于RESTful的传统部署中。SOA服务层包含可分组为服务组件的各种M2M服务。除了在ROA架构中引入的现有参考点之外,SOA架构还引入了服务间参考点Msc。
管理oneM2M中的信息交换的一般流程在oneM2M-TS-0001,oneM2M功能架构V2.1.0中详细描述,并且基于在图4所示的通信过程内使用请求和响应消息。发起方402向接收方404发送请求消息,并且接收方404以响应消息进行响应。
此过程适用于多个AE和CSE之间(经由Mca参考点)以及多个CSE之间(经由Mcc参考点)的通信。根据消息所承载的操作,这些过程可经由诸如创建、检索、更新和删除的RESTful方法来操纵标准化的资源表示中的信息。
请求和响应消息二者均被指定,并且包含强制性、可选或条件性参数。表1是带简要描述的请求参数的列表,完整描述可见于oneM2M-TS-0001,oneM2M功能架构V2.1.0。
表1:请求参数列表
Figure BDA0001604740950000041
Figure BDA0001604740950000051
在发现操作中扮演重要角色的上述请求参数中的一些的使用在下一节详细描述。
类似地,表2提供了带简要描述的响应参数的列表,完整描述可见于oneM2M-TS-0001,oneM2M功能架构V2.1.0。
表2:响应参数列表
Figure BDA0001604740950000052
Figure BDA0001604740950000061
资源发现是实体(称为发起方402)搜索关于包含在属性和资源中的应用和服务的信息的处理。在oneM2M中,资源发现的发起方402可以是AE或CSE,并且以要开始搜索的接收方CSE404’处的根资源为目标。
搜索结果的内容通过匹配特定搜索参数(例如,基于资源类型、资源创建时间、资源大小等)而取决于一些过滤器判据。其它过滤器判据参数(例如,限制)连同一些操作参数(例如,发现结果类型)一起在将搜索结果的内容返回提供给发起方402的方式中扮演角色。就像CRUD发现操作一样,发现操作受制于接收方CSE 404’处的访问控制策略–即,发起方402是否具有“发现”访问权限。
表3中提供了搜索参数的完整列表,并且其基于oneM2M-TS-0001(oneM2M功能架构V2.1.0)中的表8.1.2-1。然而,我们这里在为匹配提供的过滤器判据与具有其它角色例如指定判据使用的类型或返回结果的方式的过滤器判据之间进行区分。这些参数可通过关系运算来组合以创建复合搜索判据。
表3:资源发现过滤器判据
Figure BDA0001604740950000071
在oneM2M ROA中,资源发现使用检索方法来实现,使用filterUsage来向接收方CSE 404’指示以在资源发现操作与通用检索操作之间进行区分。
图5中示出了通用资源发现过程。发起方402向接收方CSE 404’发出以资源<CSEBase>/<ae01>的特定子资源为目标的资源发现请求(步骤001)。接收方CSE 404’处理该请求并返回所发现资源的适当列表。接收方CSE 404’可根据所发现资源的发现特权来限制发现结果,并且可根据其自己的本地策略来改变过滤器判据。如果无法返回所发现资源的完整列表,则接收方CSE 404’将警告发起方402(利用标志)。资源发现响应(步骤003)包括与过滤器判据匹配的资源的地址的列表。如果需要,发起方402负责检索地址所指向的资源。
发明内容
批量CRUD操作可与资源发现操作耦合并直接对资源发现结果进行,而无需发起新的CRUD请求。
发起方和接收方处的新功能可将应用了判据匹配的资源与包括在发现/过滤结果中的资源区分开。发起方可请求在过滤结果中提供资源发现结果。过滤结果可能与满足发起方指定的过滤器判据的匹配资源集合不同但与其相关。过滤结果中的资源与匹配资源集合中的资源之间的关系也可由发起方指定。
发起方和接收方处的增强功能可将RESTful和发现操作链接。发起方可请求目标资源集合上的操作。目标资源集合可能与基于发起方发现请求的所发现资源集合(过滤结果)不同但与其相关。目标资源集合中的资源与过滤结果中的资源之间的关系也可由发起方指定。
可使用增强过滤器判据,例如发现具有与特定过滤器判据匹配的父或子资源的资源。
例如,可使用增强过滤器指令来请求为与过滤器判据匹配的资源创建组,或者指定过滤结果与匹配资源之间的关系。
例如,可使用增强例外处理来在特定条件发生时基于发起方请求改变接收方行为包括要执行的CRUD操作。
所引入的RESTful操作的新参数和处理可如下允许进一步的新功能或增强功能:
·请求资源发现,然后在所发现资源上进行创建操作的能力,仅利用接收方处的处理,而在发起方与接收方之间没有来回消息传送
·请求资源发现,然后在所发现资源上进行更新操作的能力,仅利用接收方处的处理,而在发起方与接收方之间没有来回消息传送
·请求资源发现,然后在所发现资源上进行删除操作的能力,仅利用接收方处的处理,而在发起方与接收方之间没有来回消息传送
·尽管使用相同的消息请求,但是为发现过程和CRUD操作提供不同的目标的能力
·通过使用在资源树的各种级别要匹配的条件来增强在CRUD操作之前执行的发现操作或过滤的能力
·指定根据给定判据得以匹配的资源与组成过滤/发现结果的资源之间的差异/关系的能力
·指定组成过滤/发现结果的资源与CRUD操作所针对的资源之间的差异/关系的能力,例如,通过在从过滤/发现结果确定操作目标时使用诸如父/子的资源关系、语义描述符等。
·请求创建由发现操作的匹配或过滤的资源组成的组的能力。
·在特定条件/例外发生时请求改变要执行的操作的能力。
提供本发明内容是为了以简化的形式介绍下面在具体实施方式中进一步描述的概念的选择。本发明内容并非旨在标识要求保护的主题的关键特征或基本特征,也并非旨在用于限制要求保护的主题的范围。此外,要求保护的主题不限于解决本公开的任何部分中提到的任何或所有缺点的限制。
附图说明
可从结合附图作为示例给出的以下描述获得更详细的理解,附图中:
图1是oneM2M分层模型的图。
图2是公共服务功能的图。
图3A是面向资源的架构(ROA)oneM2M功能架构的图。
图3B是面向服务的架构(SOA)oneM2M功能架构的图。
图4是oneM2M中的一般通信流程的图。
图5是oneM2M一般资源发现过程的图。
图6是TaskManager用例的图。
图7是现有oneM2M操作的用例流程的图。
图8A-B是使用组功能的现有oneM2M操作的用例流程的图。
图9是通用增强操作的调用流程的图。
图10是针对TaskManager用例使用增强创建操作的示例调用流程的图。
图11是处理示例的通用调用流程的图。
图12A至图12B是请求处理流程图的图。
图13是一个实施例的图形用户界面的图。
图14A是包括通信网络的M2M/IoT/WoT通信系统的图。
图14B是为M2M应用、M2M网关装置和M2M终端装置提供服务的场域中所示的M2M服务层和通信网络的图。
图14C是可用于实现本文所描述的任何网络节点的示例性装置的图。
图14D是可用于实现本文所描述的任何网络节点的计算机系统或服务器的框图。
具体实施方式
缩写
AE 应用实体
App 应用
ACP 访问控制策略
ASN 应用服务节点
CRUD 创建、读取、更新和删除
CSE 公共服务实体
CSF 公共服务功能
DIS 发现
DMR 数据管理和储存库
HW/SW 硬件/软件
IN 基础设施节点
IoT 物联网
M2M 机器对机器
MN 中间节点
ROA 面向资源的架构
SOA 面向服务的架构
URI 统一资源标识符
定义
公共服务实体(CSE) 用于公共服务功能集合的实例化的oneM2M术语
公共服务功能(CSF) 用于服务能力的oneM2M术语。驻留在公共服务层中的能力/功能。
托管CSE 可以是托管各种资源的CSE(托管节点的oneM2M名称)
托管节点 可以是托管各种资源的M2M服务节点。所托管的资源可由其它M2M实体访问和订阅。
M2M实体 可以是在场域和基础设施域二者中参与M2M通信的任何节点。
M2M服务节点 可以是托管支持M2M通信的一个或多个服务能力的服务层的网络节点。
中间节点CSE 可以是中间节点中的CSE。
中间节点 可以是场域M2M实体与基础设施节点或实体之间的节点
发起方 可以是发起对RESTful操作的请求消息的实体。例如,发起方尝试经由检索执行资源发现的CSE。
服务能力 可以是服务层所支持的特定类型的服务
服务层 可以是位于M2M应用与提供数据传输的通信HW/SW之间的软件中间件层。其可遍及不同的行业部门提供M2M应用共同所需的功能
接收方 可以是利用RESTful操作接收请求消息的实体,其可处理它并发送对应响应消息
用例:工业TaskManager
图6描绘了具有各种固定机械、移动车辆和机器人以及移动工具(统称为“设备”)的工业场地600。机器、车辆、工具、机器人上和场地上存在各种传感器。人们也在该区域移动并完成个人任务。
庞大的场地具有多个网关,其与提供各种复杂程度的服务的设备通信。对于使用基于oneM2M的平台的示例,网关映射到MN-CSE,设备映射到驻留在注册到最近网关的ASN或ADN上的AE(例如,AE1、2...或Aex、y、z...)。因此,个体MN可托管由各种环境传感器提供的传感器测量值以及控制静态和复杂机器(例如,自动化铣床或车床)所需的资源。游牧机器人在转移之后也注册到最近的网关。向工厂提供服务并整合MN-CSE的M2M平台还提供位置和语义服务。例如,其维护经由对应资源注册的各台设备的位置、操作状态、维护状态等信息。在这种情况下,我们假设位置和维护状态经由应用于相关资源的标签来维护。
机械师一直在一个场地部门中进行维护并且想要在该区域中在单元停止时找到单元,以便执行操作。例如,他需要检查可能根据设备类型而不同的若干组件/物品(例如,轮子、轴承、累积的碎片)的物理状态。他可访问具有丰富功能的移动装置,该移动装置连接到工业综合体的Wi-Fi网络并将自身注册到最近的网关(MN-CSE1)602。
对于此作业,机械师使用“TaskManager”应用(AE_tm)604,该应用搜索对于其操作而言就绪的任何设备并且订阅相关装置的操作状态信息。订阅针对的是在机械师附近当前不在维护的设备。假设位置和维护状态可经由应用于相关资源的标签(即,专门的资源属性)来发现。TaskManager通过向网关(MN-CSE1 602)发出具有相关搜索判据(例如,label=Sector#42&&label=maintenanceNotCurrent)的发现请求消息来实现此功能,并且基于返回的结果,应用创建对操作状态(例如,关闭、空闲、运行)的订阅通知。处理若干部门的网关返回机械师附近的所有注册设备的列表,并创建对操作状态容器的订阅。
一旦TaskManager AE_tm 604被通知处于空闲或关闭的一台设备,其就检索诸如设备类型(静态与非静态)、预期空闲时间周期等的附加细节。当机械师将他自己的状态更新为可用时,TaskManager将他引导到要维修的下一设备,并且可提供为特定设备定制的任务清单。
由于操作状态的动态性质(机器可能变得可用,然后在被维修之前再次忙碌),更有效的是订阅操作状态,而非基于操作状态的值定期执行发现。这将确保发现请求将被最小化。
另外,如果附近的所有设备均已被维修,如果长时间没有设备空闲或预测到空闲,或者如果可用设备已改变位置,则在特定时间可能不存在可用任务。在这些情况中的任何情况下,TaskManager可利用不同的参数例如新位置发起新的发现(无论是靠自己还是在机械师的提示下)。
为了在当前的oneM2M实施方式中提供用于此场景,TaskManager AE_tm 604应用可执行发现请求以寻找区域中的设备,随后基于发现结果创建订阅。如果发现返回大量设备(例如,N台),则随后是大量的创建请求,如图7中所描绘的。
如果AE_tm 604使用oneM2M组创建机制,则该组将被创建非常有限的时间量并用于非常少的操作,之后其应该被删除,如图8A至图8B中所描绘的。这是目前所提供的机制尚未优化的组操作的朴素用法。
因此,由于所需的消息传送量和/或所创建的短寿命组(使用非常有限)方面的开销,这些机制不是最佳的。尽管此用例说明了创建操作,但该问题适用于所有CRUD操作。
如果贯穿资源树在各种级别通过不同的管理应用应用了用于判据匹配的标签,则将提出另一问题。例如,如果部门标签被应用于<location>子容器,而维护状态标签已被应用于<AE>父资源。提供过滤器判据以针对相同资源进行匹配的当前机制导致可通过任何单个发现请求获得的结果的有用性的限制。
有时,TaskManager所使用的过程可发现已经订阅的机器,例如如果机器在执行维护更新之前已从先前维修的部门移动过来。在这种情况下,TaskManger可能想要强制创建操作导致现有资源的更新,而非创建具有改变的名称的新资源。
同时,使用相同网关的其它应用可能需要相似情况的不同处理。例如,当试图创建新资源并且存在具有相同名称的现有子资源时,其它应用可能需要删除现有资源并且创建具有相同名称和新内容的新资源。然而,通常这些条件或例外情况的处理依赖于接收方404处的默认处理。这意味着当前在接收方404处的例外/条件处理中无法实现区分。
当前RESTful过程以CRUD(创建、检索、更新和删除)操作的执行为目标,并且还可允许检查特定判据或条件发生。
存在涉及CRUD操作的许多用例,CRUD操作的目标是发现请求的结果,因此需要单独的子过程和步骤:一些用于执行发现,其它用于在由发现步骤提供的资源上执行CRUD操作。作为得到(不止一个)资源的集合的发现的结果,需要若干单独的请求/响应过程以用于在集合中的各个资源上执行操作,或者需要组创建。
针对组操作优化的特殊过程确实提供了改进的消息传送效率,这对于相同的资源集合需要作为组进一步处理的情况非常有用。然而,存在不需要基于发现结果创建持久性资源组的特殊情况。这些是当结果集合有效性在时间上有限(很快具有相同参数的另一发现操作将产生不同的结果)或者当要对结果集合执行的操作的数量有限(可能一个)时的情况。
在许多情况下,一旦发现了初始资源树结构,就使用发现操作来进行搜索和过滤以为未来操作做准备。需要顺序消息传送和处理的现有过程导致效率低,因为其没有利用在其执行一些搜索之前在发起方402处已经可用的资源树信息。类似地,接收方404为了执行各个步骤(例如,发现、各个CRUD操作)单独地获得信息,因此无法将其一起优化。因此,上述当前机制导致所需的消息传送量和/或所创建的使用有限的短寿命组的数量方面的开销。然而,具有利用期望的CRUD操作同时请求资源发现的能力可引入显著的优化。
另外,提供多个过滤器判据以针对相同资源而非针对多个相关资源进行匹配的当前机制导致可通过任何单个发现请求获得的结果的有用性的限制。
最后,RESTful操作请求的当前处理不允许区分接收方404处的例外/条件处理,这限制了具有差异化需求的应用使用它们。
命名法
如上所述,在许多情况下资源发现操作之后是以资源发现结果为目标的批量的新的CRUD请求。在新的解决方案中,该批量CRUD操作可与资源发现操作耦合并直接在所发现资源上执行,而无需发起新的/单独的CRUD请求。
增强包含利用传统CRUD操作进行过滤和发现的元素。本节中提供的命名约定旨在澄清以下描述中使用的术语。
过滤器基础:用作发现操作的起点的资源,其后代受制于过滤器判据。
匹配资源:过滤器判据为真的资源。
过滤结果:根据操作参数,过滤或发现操作的结果可由匹配资源或与匹配资源有关的资源组成。其可由一个或多个资源组成。
目标资源集合:作为CRUD操作的目标的一个或多个资源。根据操作参数,目标资源集合可与发现操作的过滤结果相同,或者由与过滤结果有关的资源组成。
操作结果:指示目标资源集合上的CRUD的结果。对于这里所描述的增强操作,如果目标资源集合由多个资源组成,则其可以是多个资源上的操作的结果。包括在结果消息中的操作结果的格式可基于请求中所提供的选项而变化:例如资源、资源和子资源等。
概览
即将到来的章节描述对RESTful操作的增强。描述了对请求消息的整体增强,包括:
·新的请求消息参数以及发起方402和接收方404处将应用了判据匹配的资源与包括在发现/过滤结果中的资源进行区分的新功能。发起方402和接收方404处的增强功能将RESTful和发现操作链接。
·对过滤器判据的增强(例如,发现具有与特定过滤器判据匹配的父或子资源的资源)。还引入了增强的过滤器指令(例如,请求为与过滤器判据匹配的资源创建组,或者指定目标资源与匹配资源之间的关系)
·增强的例外处理:例如在特定条件或例外情况发生时改变行为。
以上总结了增强的过程效果并且提供了发起方402和接收方404二者处的参数使用的进一步的细节。
通过能够对所描述的操作使用具体的、标准化的资源示例连同关于处理的进一步的细节一起描述oneM2M实施例。
请求消息增强
新的请求消息参数
这一节通过引入新的操作参数来示出对请求消息的功能增强。
通常,管理信息交换过程的流程基于使用请求和响应消息。发起方402将请求发送到接收方404,请求包含可以是强制性的或可选的参数。根据所请求的操作,特定参数可为强制性的或可选的。
我们假设存在以下请求消息参数:
·Operation:指定要执行的确切RESTful操作,例如创建等
·To:要执行操作的目标资源的地址
·FilterCriteria:条件匹配的判据
·Content:要在操作中使用的资源内容,例如要创建的资源的内容。假设其存在并非对所有操作均为强制性的。
我们还假设存在以下响应消息参数:
·Response Code:指示操作的成功或失败的参数。其可包括提供进一步执行细节的状态信息
·Content:基于操作结果的资源内容,例如已创建的资源的内容。假设其存在并非对所有操作均为强制性的。
针对RESTful请求操作描述新的操作参数。
(新)FilterBase:在托管CSE上开始发现的根的地址,
选择包括但不限于:
○FilterCSEBase:接收方404在CSEBase处开始发现;
○(FilterAddress):接收方404在此字段中所包括的指定的地址处开始发现。
○NULL或DEFAULT(或不存在):没有请求增强功能并执行常规处理。
如果FilterBase存在并且不同于NULL或DEFAULT,则其可指示操作被当作增强操作。
有时,通过中转CSE将请求路由到最终目的地(接收方404)。对于常规操作,中转CSE将消息路由到To地址所指向的接收方404。对于由FilterBase地址的存在指示的增强操作,中转CSE将消息路由到FilterBase地址。所有其它处理与本文中呈现的直接通信情况中相同。
在接收方404处将FilterCSEBase选择解析为对应URI。实施方式可仅使用第二选择,其中提供实际地址而不失去上述任何功能。
(新)CompositeResult:将结果消息中的Content字段的预期组件指示给发起方402。
基于所描述的功能的选择包括但不限于:
○FilteringResult:接收方404将基于发起方402所指定的参数来返回发现操作的过滤结果(参见下面的过滤器判据)
○OperationResult:接收方404将返回目标资源集合上的RESTful操作的结果
○FilteringAndOperationResult:接收方404将返回过滤结果和目标资源集合上的RESTful操作的结果二者
○Nothing或DEFAULT(或不存在):接收方404不返回结果
(新)ExceptionHandling:指示特定条件或例外的处理。
选择包括但不限于:
○UpdateExistingName。当接收方404创建资源时使用。如果发起方402请求“UpdateExistingName”,则接收方404需要使用发起方402所提供的名称。结果,将需要修改特定操作动作(例如,创建)
○NULL或DEFAULT(或不存在)接收方404使用默认例外处理
现有RESTful请求参数的功能可如下增强
(增强的)To:当前解析为对要执行CRUD操作的目标资源进行寻址的唯一URI所需的地址。
在本提案中,我们增加了使用To参数来提供所发现的资源(过滤结果)与要执行RESTful操作的资源(目标资源)之间的相对关系的选项。
该选项仅对增强操作有效,为此,必须提供To字段作为相对路径,其将与过滤结果级联以获得目标资源集合。如果To字段中所提供的地址不是相对的,则目标资源集合与过滤结果相同。
在实施例章节中详细描述对过滤器判据的其它可能增强。
对过滤器判据和指令的增强
我们假设在退出RESTful操作时提供过滤器判据以用于过滤或发现目的的可能性。为了丰富现有过滤和发现处理,我们提出引入若干新的参数以指示要用于与相关资源匹配例如与子或父资源的属性匹配的过滤器判据。
这里,描述以下新的搜索参数:
·(新)childResourceType:匹配资源必须有此类型的子资源
·(新)childResourceName:匹配资源必须有带此名称的子资源
·(新)childLabels:匹配资源必须有具有与给定值匹配的标签的子资源
·(新)childAttribute:匹配资源必须有具有与给定值匹配的属性的子资源
·(新)parentResourceType:匹配资源必须有此类型的资源作为其父资源
·(新)parentResourceName:匹配资源必须有此名称的资源作为其父资源
·(新)parentLabels:匹配资源必须有具有与给定值匹配的标签的资源作为其父资源
·(新)parentAttribute:匹配资源必须有具有与给定值匹配的属性的资源作为其父资源
也可使用指示过滤器判据应该如何使用因此充当过滤器指令的参数。
(新)returnRelativeRelationship向接收方404告知发现的结果(过滤结果)如何与应用了发现判据的资源(匹配资源集合)相关,具有以下关系选项:
○自:所发现资源与匹配资源相同;
○父:所发现资源是匹配资源的父资源。接收方404可实现逻辑以从过滤结果去除重复的父资源。
○语义:所发现资源是包含各个匹配资源的语义信息的亚资源,例如,在oneM2M中将在过滤结果中返回<semanticDescriptor>亚资源
○订阅:所发现资源是包含各个匹配资源的订阅信息的亚资源,例如,在oneM2M中将在过滤结果中返回<subscription>亚资源
○最新:所发现资源是每个匹配资源的最新实例。这适用于判据给出保留多个实例化的目标资源(例如,在oneM2M中<container>资源)时。
○最旧:所发现资源是每个匹配资源的最旧实例。此选项在判据应用于保留多个实例化的资源(例如,在oneM2M中<container>资源)时有效。
对于所有returnRelativeRelationship值,如果资源匹配,但是没有找到具有给定相对关系的资源,则结果被当作没有找到匹配。
基于oneM2M的示例:<AE1>资源基于给定判据匹配并且returnRelativeRelationship==Subscription,但是<AE1>没有<subscription>亚资源。该情况首先被当作<AE1>不与给定判据匹配,因此从匹配资源集合被去除。
(新)formGroup:基于过滤处理的结果形成组。选择包括但不限于:MatchedResources、FilteredResources、OperationResult。
(新)groupID:如果formGroup存在,则可能由发起方402指示groupID。如果formGroup不存在,则该参数被忽略。
例外处理指示
每个操作具有默认例外处理,然而,发起方402可指定增强的例外或条件处理。例如,考虑oneM2M情况,特定<AE>资源(比如AE1)已经具有子<subscriptionX>资源,即,类型为<subscription>名称为“subscriptionX”的子资源。在这种情况下,当发起方402尝试创建名为“subscriptionX”的新<subscription>资源时,接收方404的当前行为可以是通过改变发起方402所提供的名称来创建另一子资源(例如,<subscriptionAlt>),并利用操作结果返回新名称。
我们提出发起方402可利用ExceptionHandling=UpdateExistingName来请求订阅创建。在这种情况下,接收方404被迫将操作解释为对现有<subscriptionX>子资源的更新,而不是创建另一个资源。接收方404将首先验证所寻址的资源<AE1>处的发起方402的创建权限与要更新的资源<AE1/subscriptionX>处的发起方402的更新权限。如果这些权限允许操作,则将利用所提供的内容来执行<AE1/subscriptionX>的更新。
ExceptionHandling的可能选择可基于实现需求来扩展。例如,可使用另一值“IgnoreExistingName”来请求接收方404忽略具有给定名称的子资源的存在。因此,接收方404将删除旧资源并将其替换为新创建操作的内容。
替选方案
上面所呈现的增强可具有替选实施方式。
现有参数的修改:为了反映新功能,而不是引入新参数FilterBase,可进一步修改To参数的使用。可使用简单的比特标志(例如,Eflag)来指示增强操作,并且To字段被重用以为这种情况提供FilterBase地址。由于在这种情况下无法提供相对路径,所以对于使用这种实施方式的所有增强操作,目标资源集合可被默认为与过滤结果相同。替选地,可使用与returnRelativeRelationship相似的过滤指令。例如,可利用相似的值选择(例如,自、父、语义等)来引入targetRelativeRelationship过滤器指令。
新操作类型:为了反映新功能,可创建新RESTful操作类型,例如,DiscCreate(发现和创建)、DiscUpdate(发现和更新)、DiscDelete(发现和删除)。类似地,假设常规发现使用检索操作来实现,则可能创建单独的EnhDisc(增强发现)操作以反映与检索或具有常规发现/过滤功能的检索分开的增强型发现操作。
新操作类型可被实现为对请求消息的Operation参数的C、R、U、D值的附加选择,例如,DiscC、DiscU、DiscD和EnhDisc可被添加到有效操作值的列表。假设上述新操作类型,则可能不再需要FilterBase参数作为增强功能的指示符。因此,FilterBase和To参数可被合并成一个参数(例如,To),其重要性是基于操作类型为条件的,如前几节中所描述的。
对于新操作,可定义新的访问控制策略,或者指定接收方功能以使用每个操作的访问权限,如在以下章节中详细描述的。
操作过程
图9示出了一个解决方案的通用增强操作的调用流程并且基于新参数详细描述了接收方404处理。图10示出了针对将详细描述的TaskManager用例的使用增强创建操作的示例调用流程。图10示出了图9的通用调用流程的一个示例。
以下小节使用oneM2M用例提供了附加细节,其中TaskManager应用仅在满足给定部门和维护状态判据时才订阅注册的AE的StatusContainer。
在图10的示例中,发起方402向接收方404发出创建(C)请求,但是该操作需要在首先由接收方404通过评估给定判据发现的资源上执行。
对应处理也适用于其它CRUD操作。
类似地,该处理可被概括为包括其它有效值和参数的组合。下面还提供了进一步的例示。
在图10的步骤0中,作为先决条件,发起方402知道要执行操作的资源的相对地址。这可通过先前发现过程或预先配置来获得。例如,TaskManager AE_tm 604在先前搜索中在MN-CSE1 602处执行发现过程,因此理解其树结构,特别是在设备AE向MN-CSE1 602注册时创建的资源,包括存储操作状态信息的那些资源(在这种情况下,<AE>资源的子<statusContainer>)。MN-CSE1 602具有请求消息的接收方404的通用角色以及在使用更广义的术语的过程中的托管CSE。
在图10的步骤1中,发起方402发出包括以下参数的创建请求:
(新)FilterBase=FilterCSEBase
反映将针对我们的用例搜索整个CSEBas树的事实。
FilterCriteria:(label=sector#42 AND label=maintenanceNotCurrent ANDreturnRelativeRelationship=self)。
反映用于我们的用例的资源匹配判据
Content:将作为所有目标资源的子资源创建的<subscription>亚资源的表示
(新)CompositeResult=OperationResult
对于我们的用例,其指示结果的预期组件全部是创建的资源
(新)ExceptionHandling=NULL
对于我们的用例,不需要特殊处理
(修改的)To=.../StatusContainer
对于我们的用例,增强操作处理由FilterBase的存在指示,因此To字段可以是相对路径。接收方404被指示将.../StatusContainer与过滤结果中的资源的地址级联以便确定目标资源集合中的资源的地址。
接收方404处理基于所接收的请求的类型以及发起方402在请求中提供的所有参数的内容,包括过滤标准
在图10的步骤2中,接收方404接收操作请求并检查参数。下面描述子步骤2a-2g。
在图10的步骤2a中,接收方404基于FilterBase寻找搜索(即,发现)基础地址。在我们的用例中其为/CSEBase。如果FilterBase不存在,则这不是增强操作,因此其从验证操作目标的存在的步骤D开始。
在图10的步骤2b中,接收方404从FilterBase/CSEBase开始搜索满足条件(FilterCriteria)的资源。在每次迭代中,其寻找资源/AEk,其中k是所找到的与过滤器判据匹配的AE资源的索引,并且每次迭代i递增。为了简单,这些找到的资源在本文献的其余部分中被表示为AEk(k为第k匹配资源递增)。每个AEk资源是匹配资源。
在图10的步骤2c中,基于returnRelativeRelationship=self,每个匹配资源变为要添加到过滤结果的候选。接收方404在检查AEk处的发起方402的发现权限之后将该候选添加到过滤结果。如果ACP不允许发现操作,则生成对应错误代码。
要注意的是,在当前基于检索的发现中,为操作结果创建搜索结果的完整树表示。在这里所描述的处理中,过滤结果可替代地仅是满足条件的资源的列表,而没有完整树表示
在图10的步骤2d中,基于To:…/StatusContainer,接收方404验证每个路径/AEk/StatusContainer有效,即,其对应于过滤结果的子资源。如果否,则其从过滤结果中丢弃AEk并生成对应错误代码。
在图10的步骤2e中,基于/AEk/StatusContainer处的ACP和发起方402创建权限,接收方404在<subscription>资源的/AEk/StatusContainer上执行创建操作。如果不允许创建操作,则生成对应错误代码。
在图10的步骤2f中,如操作要求所强制的,接收方404可为所创建的资源的一些属性指派值。例如,操作可能需要其为新创建的资源指派资源ID,或者为特定属性例如ParentID、创建时间等指派值。
在图10的步骤2g中,接收方404基于先前步骤中的每个错误代码生成复合响应代码。接收方404还基于CompositeResult组合响应的内容。在这种情况下,CompositeResult=OperationResult,因此内容字段将包含所创建的<subscription>资源。当树搜索耗尽时,其生成要发送到发起方402的响应。
如果请求中包括formGroup指示符(以及可能的groupID),则接收方404处的处理包括以下内容:接收方404形成具有给定groupID(或自选ID)的资源组,并且在每次搜索迭代中将添加新成员。要添加的成员取决于formGroup中提供的值(例如,MatchedResources、ReturnedResources、OperationResult)。因此,该处理可被并入步骤B、C或E中,即,每当为匹配资源集合或过滤结果找到新的有效资源时,或者在确定操作结果之后。
在图10的步骤3中,发起方402接收响应消息并处理所包含的强制性参数和可选参数,包括复合响应代码。基于请求参数,可能包括附加信息,例如可用于发起方402处的进一步处理的所有新创建的资源的列表。
将理解,执行图9至图10所示的步骤的实体是可按照软件(即,计算机可执行指令)的形式实现的逻辑实体,所述软件被存储在诸如图14C或图14D所示的网络节点或计算机系统的存储器中并在所述网络节点或计算机系统的处理器上执行。即,图9至图10所示的方法可按照存储在诸如图14C或图14D所示的节点或计算机系统的网络节点的存储器中的软件(即,计算机可执行指令)的形式来实现,所述计算机可执行指令在由节点的处理器执行时执行图9至图10中所示的步骤。还将理解,图9至图10中所示的任何发送和接收步骤可在节点的处理器以及其所执行的计算机可执行指令(例如,软件)的控制下由节点的通信电路来执行。
oneM2M实施例
以下章节示出了上述新参数可如何在oneM2M实施例中应用。在稍后的章节中,我们利用所得功能、处理和结果的细节来描述消息的具体示例。
这一节描述了用于增强的oneM2M实施例的解决方案。
表4描绘了早前详细描述的oneM2M请求参数列表以及新引入的参数(FilterBase、Composite Result和ExceptionHandling)和其它参数的使用中的可能改变。
表5描绘了对应oneM2M FilterCriteria列表以及用于FilterCriteria的新引入的参数。
两个表还高亮了对现有参数的使用带来的可能修改和澄清。
对于下面所描述的解决方案,FilterBase参数的存在是增强功能的指示符。oneM2M-TS-0001(oneM2M功能架构V2.1.0)中所描述的发现功能使用另一参数(即,filterUsage)作为检索操作应该用于发现的指示符。FilterBase存在也可能是将FilterCriteria用于现有基于检索的发现操作的更好指示符。然而,任一种方法均将达到此目的。
表4:请求参数列表
Figure BDA0001604740950000271
Figure BDA0001604740950000281
表5:oneM2M FilterCriteria列表
Figure BDA0001604740950000291
这一节使用前一节中提供的oneM2M实施例和参数描述,并提供基于不同配置的使用示例。并非所有可能的排列均已被举例。
在这些以下示例中,作为先决条件,发起方402通常基于先前发现过程知道To参数中要使用的相对路径。这与在众多用例中使用这些增强操作对应,其中发起方402多次执行了特定发现和CRUD操作,因此有资源树结构的先验知识。
在这种情况下,过滤请求基于包含在资源中的信息来履行搜索的角色,而不是发现资源树结构。增强RESTful操作并非意在取代现有CRUD操作或资源树结构发现功能,而是对其进行补充。
图11描绘了通用请求和响应流程。每个情况所特定的参数值在相应章节中详细描述。
示例1:为所找到的满足两个层级的属性条件的所有资源创建亚资源
功能:创建对作为具有属性appName==myApp的AE的子资源的所有较新容器(在时间“myDate”之后创建的容器)的订阅
在许多情况下,驻留在不同装置上的装置应用(AE)使用相同的appName属性来注册。对来自注册到同一CSE的所有装置的特定服务感兴趣的用户可订阅由这些服务创建的所有较新容器,其中发现和订阅创建被一起执行。
在图11的示例1的步骤1中,使用以下请求格式发送请求:
To:CSEBase
Operation:CREATE(C)
FilterBase:FilterCSEBase
Filter Criteria:
resourceType==<container>,createdAfter==myDate,
parentResourceType==<AE>,parentAttribute appName==myApp
returnRelativeRelationship==Self
Content:<subscription>
ResultContent:hierarchical-address+attributes
CompositeResult:OperationResult
ExceptionHandling:NULL
在图11的示例1的步骤2中,利用子步骤2a-2g完成处理。
在图11的示例1的步骤2a中,托管CSE寻找搜索基础FilterBase,即CSEBase
在图11的示例1的步骤2b中,托管CSE从搜索基础CSEBase开始搜索满足条件(resourceType==<container>,createdAfter==myDate,parentResourceType==<AE>,parentAttribute appName=myApp)的所有资源。其找到CSEBase/AEk/containerX作为匹配资源。
在图11的示例1的步骤2c中,基于returnRelativeRelationship==Self,根据ACP和发起方402发现权限,相同的资源是要被添加到过滤结果的候选。我们假设发起方402具有对CSEBase/AEk/containerX的发现权限
在图11的示例1的步骤2d中,基于To地址不是相对路径,目标资源集合与过滤结果相同。托管CSE验证路径CSEBase/AEk/containerX对目标资源集合中的每个资源有效
在图11的示例1的步骤2e中,基于CSEBase/AEk/containerX处的ACP和发起方402创建权限,托管CSE执行<subscription>资源的创建操作。我们假设发起方402有创建权限。基于ExceptionHandling:NULL,无需RESTful操作的特殊处理。
在图11的示例1的步骤2f中,如常规操作要求所强制的,托管CSE可为所创建的资源的一些属性指派值
在图11的示例1的步骤2g中,托管CSE生成复合响应代码和响应内容。基于CompositeResult,即OperationResult和ResultContent:层级地址+属性,结果内容将包含所创建的所有订阅资源的地址,即,SEBase/AEk/containerX/subscription及其属性
示例2:为每个匹配资源的特定子资源创建亚资源,基于两个层级相对级别(父和子)的过滤进行匹配
功能:给定应用AE1,其形成用于来自许多平台/传感器的温度读数的容器,因此可包括若干个嵌套以及平行的容器。寻找具有ZigBee温度信息的所有测量存储容器,其由指向ZigBee温度传感器本体的容器的ontologyRef描述。然后创建对过滤结果的语义描述资源的订阅以监视语义描述改变。返回所创建的订阅资源的层级地址。
在图11的示例2的步骤1中,使用以下请求格式发送请求:
To:CSEBase
Operation:CREATE(C)
FilterBase:/CSEBase/AE1
Filter Criteria:
parentType==<container>,resourceType==<container>,
attribute ontologyRef==
http://[ZigBeeOntology]#TemperatureSensor
returnRelativeRelationship==Semantics
Content:<subscription>
ResultContent:hierarchical-address
CompositeResult:OperationResult
ExceptionHandling:NULL
在图11的示例2的步骤2中,完成处理子步骤2a-2g。
在图11的示例2的步骤2a中,托管CSE寻找搜索基础,即FilterBase=/CSEBase/AE1
在图11的示例2的步骤2b中,托管CSE从搜索基础/CSEBase/AE1开始搜索满足条件(parentType==<container>,resourceType==<container>,attribute ontologyRef==http://[ZigBeeOntology]#TemperatureSensor)的所有资源并且将寻找所有匹配容器,即,寻找所有…/containerK匹配(可能处于基于/CSEBase/AE1的树中的各种级别)
在图11的示例2的步骤2c中,基于returnRelativeRelationship==Semantics,根据ACP和发起方402发现权限,…/containerK/semanticDescriptor资源是要添加到过滤结果的候选。我们假设发起方402有发现权限
在图11的示例2的步骤2d中,基于To地址不是相对路径,目标资源集合与过滤结果相同。托管CSE验证到…/containerK/semanticDescriptor的路径对目标资源集合中的每个结果有效。
在图11的示例2的步骤2e中,基于…/containerK/semanticDescriptor处的ACP和发起方402创建权限,托管CSE执行<subscription>资源的创建操作。我们假设发起方402有创建权限。
在图11的示例2的步骤2f中,如常规操作要求所强制的,托管CSE可为所创建的资源的一些属性指派值。
在图11的示例2的步骤2g中,托管CSE生成复合响应代码和响应内容。基于CompositeResult即OperationResult和ResultContent:层级地址,结果内容将包含所创建的所有订阅资源的地址,即,…/containerK/semanticDescriptor/subscription而没有属性
示例3:更新与过滤结果中的资源具有给定关系的所有资源的属性
功能:寻找具有最近(自时间“myTime”起)更新的位置容器的所有装置(AE),然后更新已知存在于所有这些AE中的tempMeasurement容器上的标签,以便于将来仅过滤那些tempMeasurement资源。此功能有效地发现具有新更新的位置的装置,同时其将测量容器标记为易于发现以方便将来识别。
在图11的示例3的步骤1中,使用以下请求格式发送请求:
To:.../tempMeasurement
Operation:UPDATE(U)
FilterBase:FilterCSEBase
Filter Criteria:
parentResourceType==<AE>,resourceType==<container>,
resourceName==locationContainer,modifiedSince==myTime
returnRelativeRelationship==Parent
Content:labels=tempSensorMoved
ResultContent:nothing
CompositeResult:OperationResult
ExceptionHandling:NULL
在图11的示例3的步骤2中,完成处理子步骤2a-2g。
在图11的示例3的步骤2a中,托管CSE寻找搜索基础FilterBase=CSEBase
在图11的示例3的步骤2b中,托管CSE从搜索基础CSEBase开始搜索满足条件(parentResourceType==<AE>,resourceType==<container>,resourceName==locationContainer,modifiedSince==myTime)的所有资源。
其将找到对应locationContainercontainers作为匹配资源:CSEBase/AEk/locationContainer。
基于returnRelativeRelationship==Parent,每个CSEBase/AEk变为过滤结果的候选
在图11的示例3的步骤2c中,对于每次迭代,根据CSEBase/AEk处的ACP和发起方402发现权限,托管CSE将该资源添加到过滤结果。我们假设发起方402有发现权限。
在图11的示例3的步骤2d中,基于To==.../tempMeasurement,托管CSE形成更新操作的目标资源集合,因此该集合将由所有CSEBase/AEk/tempMeasurement资源组成
托管CSE验证路径CSEBase/AEk/tempMeasurement对目标资源集合中的每个资源有效。
在图11的示例3的步骤2e中,基于Base/AEk/locationContainer处的ACP和发起方402更新权限,托管CSE通过更新标签属性(即,添加“tempSensorMoved”)来执行CSEBase/AEk/tempMeasurement资源的更新操作。我们假设发起方402有更新权限。
在图11的示例3的步骤2f中,如常规操作要求所强制的,托管CSE可为更新的资源的一些属性指派值。
在图11的示例3的步骤2g中,托管CSE生成复合响应代码和响应内容。基于CompositeResult即OperationResult和ResultContent即Nothing,不利用响应发回内容
示例4:相对于所找到的满足三个层级的条件的匹配删除资源实例
功能:寻找具有特定目的地有订阅的<container>资源的所有AE,然后删除tempMeasurement容器的最新<contentInstance>。
这可能是这样的情况:通知的订户可能知道发生特定条件(例如,已知最新的测量无效)并且使用一个操作来发现所有相关资源并删除最新结果。
在图11的示例4的步骤1中,使用以下请求格式发送请求:
To:CSEBase
Operation:DELETE(D)
FilterBase:FilterCSEBase
Filter Criteria:
resourceType==<container>,resourceName==tempMeasurement,
childResourceType==<subscription>,childAttribute
notificationURI==myURI
parentResourceType==<AE>
returnRelativeRelationship==Latest
Content:N/A
ResultContent:N/A
CompositeResult:Nothing
ExceptionHandling:NULL
在图11的示例4的步骤2中,完成处理子步骤2a-2g。
在图11的示例4的步骤2a中,托管CSE寻找搜索基础,即,FilterBase=CSEBase。
在图11的示例4的步骤2b中,托管CSE从搜索基础CSEBase开始搜索满足条件(resourceType==<container>,resourceName==tempMeasurement,childResourceType==<subscription>,childAttribute notificationURI==myURI,parentResourceType==<AE>)的所有资源,因此其将寻找订阅中具有对应属性的所有容器,即,寻找所有CSEBase/AEk/tempMeasurement作为匹配资源。基于returnRelativeRelationship==Latest,每个CSEBase/AEk/tempMeasurement的最新<contentInstance>是过滤结果的候选
在图11的示例4的步骤2c中,对于每次迭代,根据CSEBase/AEk/tempMeasurement/latest处的ACP和发起方402发现权限,托管CSE将该资源添加到过滤结果。我们假设发起方402有发现权限。
在图11的示例4的步骤2d中,基于To==CSEBase,托管CSE将删除操作的目标资源集合设定为与过滤结果相同。托管CSE还验证路径CSEBase/AEk/tempMeasurement/latest对目标资源集合中的每个资源有效。
在图11的示例4的步骤2e中,基于CSEBase/AEk/tempMeasurement/latest处的ACP和发起方402删除权限,托管CSE执行最新<contentInstance>资源的删除操作。我们假设发起方402有删除权限。
在图11的示例4的步骤2f中,托管CSE生成复合响应代码。基于CompositeResult==Nothing,响应中不需要包括内容。当树搜索被耗尽时,其生成对发起方402的响应
在oneM2M oneM2M-TS-0001,oneM2M功能架构V2.1.0中,以虚拟资源<container>/latest为目标的操作被应用于<container>资源的<contentInstance>子资源的最新实例化。因此,在此示例中,在<contentInstance>资源上执行CSEBase/AEk/tempMeasurement/latest上的操作。
示例5:使用exceptionHandling来相对于过滤结果中的资源选择性地创建或更新资源并创建组以便于将来使用
功能:寻找具有最近(自时间“myTime”起)更新的位置容器的所有装置(AE),然后创建或更新对特定容器的订阅。形成匹配资源组以便于将来可能的使用。
此功能可用于发现具有新更新的位置的装置,并以新的通知目标更新订阅,或者创建新的订阅。同时,其形成locationContainer亚资源组以便于将来使用,例如请求作为组对全部的未来位置更新。
在图11的示例5的步骤1中,使用以下请求格式发送请求:
To:.../tempMeasurement
Operation:CREATE(C)
FilterBase:FilterCSEBase
Filter Criteria:
parentResourceType==<AE>,resourceType==<container>,
resourceName==locationContainer,modifiedSince==myTime
returnRelativeRelationship==Parent
formGroup==MatchedResources
groupID:35
Content:<mySubcription>
ResultContent:nothing
CompositeResult:OperationResult
ExceptionHandling:UpdateExistingName
注意:当前oneM2M创建过程在oneM2M-TS-0001,oneM2M功能架构V2.1.0章节10.1.1.1中指定用于接收方404处的处理:
“验证如Content参数中的resourceName属性(如果由发起方402在创建请求消息中提供)所建议的用于所创建的资源的名称尚不存在于目标资源的子资源当中。如果所针对的资源内不存在具有发起方402所建议的相同resourceName的子资源,则将该名称用于要创建的资源。如果子资源已经使用了resourceName,则接收方404指派新的名称,该名称将被返回给发起方402。如果发起方402没有建议名称,则将由接收方404生成的名称指派给要创建的资源。”
通过使用ExceptionHandling:UpdateExistingName,可指示接收方404如下修改此默认行为:
如果ExceptionHandling指示UpdateExistingName并且子资源已经使用resourceName,则接收方404不生成新名称并且不创建新资源。相反,接收方404继续使用给定内容在现有子资源上执行更新操作。如果ExceptionHandling为NULL或空,则发生默认处理。
在图11的示例5的步骤2中,完成处理子步骤2a-2g。
在图11的示例5的步骤2a中,托管CSE寻找搜索基础FilterBase=CSEBase
在图11的示例5的步骤2b中,托管CSE从搜索基础CSEBase开始搜索满足条件(parentResourceType==<AE>,resourceType==<container>,resourceName==locationContainer,modifiedSince==myTime)的所有资源。
其将寻找对应locationContainer容器作为匹配资源:CSEBase/AEk/locationContainer。
基于formGroup==MatchedResources并且groupID:35,托管CSE形成具有groupID 35的组并将所找到的每个CSEBase/AEk/locationContainer匹配资源原样添加到该组。
基于returnRelativeRelationship==Parent,每个CSEBase/AEk变为过滤结果的候选。
在图11的示例5的步骤2c中,对于每次迭代,基于CSEBase/AEk处的ACP和发起方402创建权限,托管CSE将该资源添加到过滤结果。我们假设发起方402有发现权限。
在图11的示例5的步骤2d中,基于To==.../tempMeasurement,托管CSE知道需要在CSEBase/AEk/tempMeasurement上执行创建操作。
托管CSE验证路径CSEBase/AEk/tempMeasurement对目标资源集合中的每个资源有效
在图11的示例5的步骤2e中,基于CSEBase/AEk/tempMeasurement处的ACP和发起方402创建权限,托管CSE执行<mySubcription>资源的创建操作。我们假设发起方402有更新权限。
基于ExceptionHandling:UpdateExistingName,如果存在名为<mySubscription>的订阅资源,则托管CSE更新现有<mySubscription>资源。
在图11的示例5的步骤2f中,如常规操作要求所强制的,托管CSE可为更新的资源的一些属性指派值。
在图11的示例5的步骤2g中,托管CSE生成复合响应代码和响应内容。基于CompositeResult即OperationResult和ResultContent即Nothing,不利用响应发回内容。
图12A至图B示出示例性请求处理流程图。
将理解,执行图11至图12所示的步骤的实体是可按照软件(即,计算机可执行指令)的形式实现的逻辑实体,所述软件被存储在诸如图14C或图14D所示的网络节点或计算机系统的存储器中并在所述网络节点或计算机系统的处理器上执行。即,图11至图12所示的方法可按照存储在诸如图14C或图14D所示的节点或计算机系统的网络节点的存储器中的软件(即,计算机可执行指令)的形式来实现,所述计算机可执行指令在由节点的处理器执行时执行图11至图12中所示的步骤。还将理解,图11至图12中所示的任何发送和接收步骤可在节点的处理器以及其所执行的计算机可执行指令(例如,软件)的控制下由节点的通信电路来执行。
oneM2M实施例的替选方案。
这一节描述上述解决方案的替选解决方案。首先,我们呈现请求参数的替选方案,然后是过滤器判据的替选方案。
在这一节中,在使用相同的oneM2M请求格式作为起点的同时使用若干不同的字段/参数来实现上述新属性中的一些。尽管实施方式不同,但是所解决的问题和用例是相同的。
多个逻辑嵌套的过滤器判据
用于此解决方案的新参数连同给现有参数的使用带来的可能修改和澄清一起在表6中被高亮。在此示例中,我们示出在请求中使用3个不同的过滤器判据参数的示例,两个或更多个将相似地奏效。
表6:用于多个filterCriteria的oneM2M请求参数列表
Figure BDA0001604740950000411
Figure BDA0001604740950000421
Figure BDA0001604740950000431
当使用多个嵌套过滤器判据时,托管CSE如下执行图11中的流程的步骤0002:
Figure BDA0001604740950000432
在不同的层级应用的多个过滤器判据
用于此解决方案的新参数连同给现有参数的使用带来的可能修改和澄清一起在表7中被高亮。在此示例中,我们示出在请求中使用3个不同的过滤器判据参数的示例,两个或更多个将相似地奏效。
表7:用于多个filterCriteria级别的oneM2M请求参数列表
Figure BDA0001604740950000433
Figure BDA0001604740950000441
Figure BDA0001604740950000451
当使用多级过滤器判据时,托管CSE如下执行图11中的流程的步骤0002:
Figure BDA0001604740950000452
附加过滤器判据搜索参数
除了上述那些之外,可使用表8的参数。
表8:附加FilterCriteria
Figure BDA0001604740950000461
Figure BDA0001604740950000471
用户界面
可使用诸如图形用户界面(GUI)的界面以帮助用户控制和/或配置与增强RESTful操作有关的功能。图13是示出界面1302的图。如界面1302中所示,可由用户或应用启用增强RESTful操作以提高通信效率,并且也可由用户或应用将表4、表5、表6、表7和表8中列出的一些参数预先配置为默认值。将理解,界面1302可使用诸如下述图14C至图14D中所示的显示器来生成。
示例M2M/IoT/WoT通信系统
本文所描述的各种技术可结合硬件、固件、软件或者在适当的情况下其组合来实现。此类硬件、固件和软件可驻留在位于通信网络的每个节点处的设备中。设备可单独操作或者彼此组合操作以实现本文所描述的方法。如本文所用,术语“设备”、“网络设备”、“节点”、“装置”和“网络节点”可互换使用。
服务层可以是网络服务架构内的功能层。服务层通常位于诸如HTTP、CoAP或MQTT的应用协议层之上,并向客户端应用提供增值服务。服务层还在较低的资源层(例如,控制层和传输/访问层)提供到核心网络的接口。服务层支持多种类别的(服务)能力或功能,包括服务定义、服务运行时启用、策略管理、访问控制和服务集群。最近,一些行业判据组织(例如,oneM2M)一直在开发M2M服务层以解决与将M2M类型的装置和应用整合到诸如互联网/Web、蜂窝、企业和家庭网络等部署中关联的挑战。M2M服务层可向应用和/或各种装置提供对服务层所支持的上述能力或功能的集合(可被称为CSE或SCL)的访问。一些示例包括但不限于可由各种应用共用的安全、收费、数据管理、装置管理、发现、调配和连接性管理。经由利用M2M服务层所定义的消息格式、资源结构和资源表示的API来将这些能力或功能提供给这样的各种应用。CSE或SCL是功能实体,其可通过硬件和/或软件实现并且提供暴露给各种应用和/或装置(即,此类功能实体之间的功能接口)的(服务)能力或功能以便于其使用此类能力或功能。
图14A是可实现一个或多个所公开的实施例的示例机器对机器(M2M)、物联网(IoT)或物联网(WoT)通信系统10的图。通常,M2M技术为IoT/WoT提供构建块,任何M2M装置、M2M网关、M2M服务器或M2M服务平台可以是IoT/WoT的组件或节点以及IoT/WoT服务层等。通信系统10可用于实现所公开的实施例的功能并且可包括诸如发起方402、接收方404、接收方CSE 404’、AE_tm 604、MN-CSE1602的功能和逻辑实体以及生成诸如界面1302的接口的逻辑实体。
如图14A所示,M2M/IoT/WoT通信系统10包括通信网络12。通信网络12可以是固定网络(例如,以太网、光纤、ISDN、PLC等)或无线网络(例如,WLAN、蜂窝等)或者异构网络的网络。例如,通信网络12可由向多个用户提供诸如语音、数据、视频、消息传送、广播等的内容的多个接入网络组成。例如,通信网络12可采用诸如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等的一种或更多种信道接入方法。此外,例如,通信网络12可包括诸如核心网络、互联网、传感器网络、工业控制网络、个域网、融合的个人网络、卫星网络、家庭网络或企业网络的其它网络。
如图14A所示,M2M/IoT/WoT通信系统10可包括基础设施域和场域。基础设施域是指端对端M2M部署的网络侧,而场域是指通常在M2M网关后面的区域网络。场域和基础设施域均可包括各种不同的网络节点(例如,服务器、网关、装置等)。例如,场域可包括M2M网关14和终端装置18。将理解,根据需要,M2M/IoT/WoT通信系统10中可包括任何数量的M2M网关装置14和M2M终端装置18。M2M网关装置14和M2M终端装置18中的每一个被配置成经由通信网络12或直接无线电链路使用通信电路来发送和接收信号。M2M网关14允许无线M2M装置(例如,蜂窝和非蜂窝)以及固定网络M2M装置(例如,PLC)通过运营商网络(例如,通信网络12)或直接无线电链路来通信。例如,M2M终端装置18可收集数据并经由通信网络12或直接无线电链路将数据发送到M2M应用20或其它M2M装置18。M2M终端装置18还可从M2M应用20或M2M终端装置18接收数据。此外,如下所述,可经由M2M服务层22将数据和信号发送到M2M应用20以及从M2M应用20接收数据和信号。例如,M2M终端装置18和网关14可经由包括蜂窝、WLAN、WPAN(例如,Zigbee、6LoWPAN、蓝牙)、直接无线电链路和有线线路的各种网络来通信。
示例性M2M终端装置18包括但不限于平板、智能电话、医疗装置、温度和天气监视器、连接的汽车、智能仪表、游戏控制台、个人数字助理、健康和健身监视器、灯、恒温器、电器、车库门以及其它基于致动器的装置、安全装置和智能插座。
参照图14B,所示的场域中的M2M服务层22为M2M应用20、M2M网关装置14和M2M终端装置18以及通信网络12提供服务。通信网络12可用于实现所公开的实施例的功能并且可包括诸如发起方402、接收方404、接收方CSE 404’、AE_tm 604、MN-CSE1 602的功能和逻辑实体以及生成诸如界面1302的接口的逻辑实体。M2M服务层22可通过包括例如下述图14C和图14D中所示的装置的一个或多个服务器、计算机、装置、虚拟机(例如,云/存储群等)等来实现。将理解,根据需要,M2M服务层22可与任何数量的M2M应用、M2M网关14、M2M终端装置18和通信网络12通信。M2M服务层22可通过网络的一个或多个节点来实现,所述节点可包括服务器、计算机、装置等。M2M服务层22提供应用于M2M终端装置18、M2M网关14和M2M应用20的服务能力。可按照各种方式(例如,作为web服务器、在蜂窝核心网络中、在云中等)来实现M2M服务层22的功能。
与所示的M2M服务层22相似,在基础设施域中存在M2M服务层22’。M2M服务层22’为基础设施域中的M2M应用20’和底层通信网络12提供服务。M2M服务层22’还为场域中的M2M网关14和M2M终端装置18提供服务。将理解,M2M服务层22’可与任何数量的M2M应用、M2M网关和M2M装置通信。M2M服务层22’可与不同服务提供商的服务层交互。M2M服务层22’由网络的一个或多个节点,所述节点可包括服务器、计算机、装置、虚拟机(例如,云计算/存储群等)等。
还参照图14B,M2M服务层22和22’提供了多种应用和垂直可利用的核心服务传送能力集合。这些服务能力使得M2M应用20和20’能够与装置交互并执行诸如数据收集、数据分析、装置管理、安全、计费、服务/装置发现等功能。实质上,这些服务能力使应用摆脱了实现这些功能的负担,因此简化了应用开发并减少了成本和上市时间。服务层22和22’还使得M2M应用20和20’能够结合服务层22和22’所提供的服务通过网络12来通信。
本申请的方法可作为服务层22和22’的一部分实现。服务层22和22’是软件中间件层,其通过应用编程接口(API)和底层网络接口的集合来支持增值服务能力。ETSI M2M和oneM2M二者均使用可包含本申请的连接方法的服务层。ETSI M2M的服务层被称为服务能力层(SCL)。SCL可在M2M装置(这时其被称为装置SCL(DSCL))、网关(这时其被称为网关SCL(GSCL))和/或网络节点(这时其被称为网络SCL(NSCL))内实现。oneM2M服务层支持公共服务功能(CSF)(即,服务能力)的集合。一个或多个特定类型的CSF的集合的实例化被称为公共服务实体(CSE),其可在不同类型的网络节点(例如,基础设施节点、中间节点、应用特定节点)上托管。此外,本申请的连接方法可被实现为使用面向服务的架构(SOA)和/或面向资源的架构(ROA)的M2M网络的一部分以访问诸如本申请的连接方法的服务。
在一些实施例中,M2M应用20和20’可结合所公开的系统和方法来使用。M2M应用20和20’可包括与UE或网关交互的应用,并且还可结合其它公开的系统和方法来使用。
在一个实施例中,如图14B所示,诸如发起方402、接收方404、接收方CSE 404’、AE_tm 604、MN-CSE1 602的逻辑实体以及生成诸如界面1302的接口的逻辑实体可在诸如M2M服务器、M2M网关或M2M装置的M2M节点所托管的M2M服务层实例内托管。例如,诸如发起方402、接收方404、接收方CSE 404’、AE_tm 604、MN-CSE1602的逻辑实体以及生成诸如界面1302的接口的逻辑实体可包括M2M服务层实例内的单独服务能力或者作为现有服务能力内的子功能。
在描述本公开的主题的优选实施例时,如附图所示,为了清晰起见采用了特定术语。然而,所要求保护的主题并非旨在限于如此选择的特定术语,将理解,每个特定元件包括以相似的方式操作以实现相似的目的的所有技术等同物。
M2M应用20和20’可包括诸如但不限于交通、健康和保健、互联家庭、能源管理、资产跟踪以及安全和监控的各种行业中的应用。如上所述,横跨装置、网关、服务器以及系统的其它节点运行的M2M服务层支持诸如数据收集、装置管理、安全、计费、位置跟踪/地理围栏、装置/服务发现和传统系统集成的功能,并且将这些功能作为服务提供给M2M应用20和20’。
通常,服务层22和22’定义软件中间件层,其通过应用编程接口(API)和底层网络接口的集合来支持增值服务能力。ETSI M2M和oneM2M架构二者均定义了服务层。ETSI M2M的服务层被称为服务能力层(SCL)。SCL可在ETSI M2M架构的各种不同的节点中实现。例如,服务层的实例可在M2M装置(这时其被称为装置SCL(DSCL))、网关(这时其被称为网关SCL(GSCL))和/或网络节点(这时其被称为网络SCL(NSCL))内实现。oneM2M服务层支持公共服务功能(CSF)(即,服务能力)的集合。一个或多个特定类型的CSF的集合的实例化被称为公共服务实体(CSE),其可在不同类型的网络节点(例如,基础设施节点、中间节点、应用特定节点)上托管。第三代合作伙伴计划(3GPP)还定义了用于机器型通信(MTC)的架构。在该架构中,服务层及其所提供的服务能力作为服务能力服务器(SCS)的一部分来实现。无论是在ETSI M2M架构的DSCL、GSCL或NSCL中、在3GPP MTC架构的服务能力服务器(SCS)中、在oneM2M架构的CSF或CSE中、还是在网络的某个其它节点中具体实现,服务层的实例可被实现为在网络中的一个或多个独立节点(包括服务器、计算机以及其它计算装置或节点)上或者作为一个或多个现有节点的一部分执行的逻辑实体(例如,软件、计算机可执行指令等)。作为示例,服务层或其组件的实例可按照在具有下述图14C或图14D所示的一般架构的网络节点(例如,服务器、计算机、网关、装置等)上运行的软件的形式来实现。
此外,诸如发起方402、接收方404、接收方CSE 404’、AE_tm 604、MN-CSE1 602的逻辑实体以及生成诸如界面1302的接口的逻辑实体可被实现为使用面向服务的架构(SOA)和/或面向资源的架构(ROA)的M2M网络的一部分以访问本申请的服务。
图14C是诸如M2M装置18、M2M网关14、M2M服务器等的M2M网络节点30的示例硬件/软件架构的框图。节点30可执行或包括诸如发起方402、接收方404、接收方CSE 404’、AE_tm604、MN-CSE1 602的逻辑实体以及生成诸如界面1302的接口的逻辑实体。装置30可以是如图14A至图14B所示的M2M网络的一部分或者非M2M网络的一部分。如图14C所示,M2M节点30可包括处理器32、不可移除存储器44、可移除存储器46、扬声器/麦克风38、小键盘40、显示器、触摸板和/或指示器42、电源48、全球定位系统(GPS)芯片集50以及其它外设52。节点30还可包括诸如收发器34和发送/接收元件36的通信电路。将理解,M2M节点30可在保持与实施例一致的同时包括前述元件的任何子组合。该节点可以是实现本文所描述的SMSF功能的节点。
处理器32可以是通用处理器、专用处理器、传统处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其它类型的集成电路(IC)、状态机等。通常,处理器32可执行存储在节点的存储器(例如,存储器44和/或存储器46)中的计算机可执行指令,以便执行节点的各种所需功能。例如,处理器32可执行信号编码、数据处理、功率控制、输入/输出处理和/或使得M2M节点30能够在无线或有线环境中操作的任何其它功能。处理器32可运行应用层程序(例如,浏览器)和/或无线电接入层(RAN)程序和/或其它通信程序。例如,处理器32还可例如在接入层和/或应用层执行诸如认证、安全密钥协定和/或密码操作的安全操作。
如图14C所示,处理器32耦合到其通信电路(例如,收发器34和发送/接收元件36)。通过计算机可执行指令的执行,处理器32可控制通信电路以便使得节点30经由其所连接到的网络与其它节点通信。特别是,处理器32可控制通信电路以便执行本文和权利要求书中所描述的发送和接收步骤。尽管图14C将处理器32和收发器34描绘为单独的组件,但是将理解,处理器32和收发器34可被一起集成在电子封装或芯片中。
发送/接收元件36可被配置成向其它M2M节点(包括M2M服务器、网关、装置等)发送信号或从其接收信号。例如,在实施例中,发送/接收元件36可以是被配置成发送和/或接收RF信号的天线。发送/接收元件36可支持诸如WLAN、WPAN、蜂窝等的各种网络和空中接口。在实施例中,例如,发送/接收元件36可以是被配置成发送和/或接收IR、UV或可见光信号的发射器/检测器。在另一实施例中,发送/接收元件36可被配置成发送和接收RF和光信号二者。将理解,发送/接收元件36可被配置成发送和/或接收无线或有线信号的任何组合。
另外,尽管在图14C中将发送/接收元件36描绘为单个元件,但是M2M节点30可包括任何数量的发送/接收元件36。更具体地,M2M节点30可采用MIMO技术。因此,在实施例中,M2M节点30可包括用于发送和接收无线信号的两个或更多个发送/接收元件36(例如,多个天线)。
收发器34可被配置成调制发送/接收元件36要发送的信号并且将发送/接收元件36所接收的信号解调。如上所述,M2M节点30可具有多模式能力。因此,例如,收发器34可包括多个收发器以用于使得M2M节点30能够经由诸如UTRA和IEEE 802.11的多个RAT来通信。
处理器32可从任何类型的合适存储器(例如,不可移除存储器44和/或可移除存储器46)访问信息并将数据存储在其中。例如,如上所述,处理器32可将会话上下文存储在其存储器中。不可移动存储器44可包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘或者任何其它类型的存储器存储装置。可移除存储器46可包括订户身份模块(SIM)卡、记忆棒、安全数字(SD)存储卡等。在其它实施例中,处理器32可从物理上不位于M2M节点30上(例如,在服务器或家庭计算机上)的存储器访问信息并将数据存储在其中。处理器32可被配置成控制显示器或指示器42上的照明模式、图像或颜色以反映M2M服务层会话迁移或共享的状态,或者获得来自用户的输入或向用户显示关于节点的会话迁移或共享能力或设置的信息。在另一示例中,显示器可显示关于会话状态的信息。本公开在oneM2M实施例中定义了RESTful用户/应用API。可显示在显示器上的图形用户界面可在API的顶部分层以允许用户经由本文所描述的底层服务层会话功能来交互地建立和管理E2E会话或其迁移或共享。
处理器32可从电源48接收电力,并且可被配置成分配和/或控制对M2M节点30中的其它组件的电力。电源48可以是用于为M2M节点30供电的任何合适的装置。例如,电源48可包括一个或多个干电池(例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li离子)等)、太阳能电池、燃料电池等。
处理器32还可耦合到GPS芯片集50,GPS芯片集50被配置成提供关于M2M节点30的当前位置的位置信息(例如,经度和纬度)。将理解,M2M节点30可在保持与实施例一致的同时通过任何合适的位置确定方法来获取位置信息。
处理器32还可耦合到其它外设52,外设52可包括提供附加特征、功能和/或有线或无线连接的一个或多个软件和/或硬件模块。例如,外设52可包括诸如加速度计的各种传感器、生物识别(例如,指纹)传感器、电子罗盘、卫星收发器、数码相机(用于照片或视频)、通用串行总线(USB)端口或其它互连接口、振动装置、电视收发器、免提耳机、
Figure BDA0001604740950000551
模块、调频(FM)无线电单元、数字音乐播放器、媒体播放器、视频游戏机模块、互联网浏览器等。
节点30可在其它设备或装置中具体实现,例如传感器、消费者电子产品、诸如智能手表或智能衣服的可穿戴装置、医疗或eHealth装置、机器人、工业设备、无人机、诸如汽车、卡车、火车或飞机的载具。节点30可经由一个或多个互连接口(例如,可包括外设52之一的互连接口)连接到此类设备或装置的其它组件、模块或系统。替选地,节点30可包括诸如传感器、消费电子产品、可穿戴装置(例如,智能手表或智能衣服)、医疗或eHealth装置、机器人、工业设备、无人机、载具(例如,汽车、卡车、火车或飞机)的设备或装置。
图14D是也可用于实现M2M网络的一个或多个节点(例如,M2M服务器、网关、装置或其它节点)的示例性计算系统90的框图。计算系统90可包括计算机或服务器,并且可主要由计算机可读指令来控制,所述计算机可读指令可为软件的形式,无论何处或通过何种手段存储或访问此类软件。计算系统90可执行或包括诸如发起方402、接收方404、接收方CSE404’、AE_tm 604、MN-CSE1 602的逻辑实体以及生成诸如界面1302的接口的逻辑实体。例如,计算系统90可以是M2M装置、用户设备、网关、UE/GW或者包括移动护理网络的节点、服务层网络应用提供商、终端装置18或M2M网关装置14的任何其它节点。此类计算机可读指令可在诸如中央处理单元(CPU)91的处理器内执行,以使得计算系统90工作。在许多已知的工作站、服务器和个人计算机中,中央处理单元91通过称为微处理器的单芯片CPU来实现。在其它机器中,中央处理单元91可包括多个处理器。协处理器81是与主CPU 91不同的可选处理器,其执行附加功能或辅助CPU 91。CPU 91和/或协处理器81可接收、生成和处理与所公开的用于E2E M2M服务层会话的系统和方法有关的数据,例如接收会话凭证或基于会话凭证来认证。
在操作中,CPU 91获取、解码并执行指令,并经由计算机的主数据传送路径、系统总线80向其它资源以及从其它资源传送信息。此类系统总线将计算系统90中的组件连接并定义用于数据交换的介质。系统总线80通常包括用于发送数据的数据线、用于发送地址的地址线以及用于发送中断并且用于操作系统总线的控制线。此类系统总线80的示例是PCI(外围组件互连)总线。
耦合到系统总线80的存储器包括随机存取存储器(RAM)82和只读存储器(ROM)93。此类存储器包括允许信息被存储和检索的电路。ROM 93通常包含不易修改的存储数据。存储在RAM 82中的数据可由CPU 91或其它硬件装置读取或改变。对RAM 82和/或ROM 93的访问可由存储器控制器92控制。存储器控制器92可提供在指令被执行时将虚拟地址转换为物理地址的地址转换功能。存储器控制器92还可提供将系统内的进程隔离并将系统进程与用户进程隔离的存储器保护功能。因此,以第一模式运行的程序仅可访问其自己的进程虚拟地址空间所映射的存储器;其无法访问另一进程的虚拟地址空间内的存储器,除非已建立进程之间的存储器共享。
另外,计算系统90可包含外设控制器83,其负责将来自CPU91的指令传送到诸如打印机94、键盘84、鼠标95和盘驱动器85的外设。
由显示控制器96控制的显示器86用于显示由计算系统90生成的视觉输出。此类视觉输出可包括文本、图形、动画图形和视频。显示器86可利用基于CRT的视频显示器、基于LCD的平板显示器、基于气体等离子体的平板显示器或者触摸板来实现。显示控制器96包括生成发送到显示器86的视频信号所需的电子组件。
此外,计算系统90可包含可用于将计算系统90连接到外部通信网络(例如,图14A和图14B的网络12)的通信电路例如网络适配器97,以使得计算系统90能够与网络的其它节点通信。
用户设备(UE)可以是最终用户用来通信的任何装置。其可以是手持电话、配备有移动宽带适配器的膝上型计算机或者任何其它装置。例如,UE可被实现为图14A至图14B的M2M终端装置18或图14C的装置30。
将理解,本文所描述的任何或全部系统、方法和处理可按照存储在计算机可读存储介质上的计算机可执行指令(即,程序代码)的形式来具体实现,所述指令在被诸如M2M网络的节点(包括例如M2M服务器、网关、装置等)的机器执行时执行和/或实现本文所描述的系统、方法和处理。具体地,上述任何步骤、操作或功能,包括网关、UE、UE/GW或者移动核心网络、服务层或网络应用提供商的任何节点的操作,均可按照此类计算机可执行指令的形式来实现。诸如发起方402、接收方404、接收方CSE 404’、AE_tm 604、MN-CSE1 602的逻辑实体以及生成诸如界面1302的接口的逻辑实体可按照存储在计算机可读存储器上的计算机可执行指令的形式来具体实现。计算机可读存储介质包括以用于存储信息的任何非暂时性(即,有形或物理)方法或技术实现的易失性和非易失性、可移除和不可移除介质,但是此类计算机可读存储介质不包括信号。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储装置、磁带盒、磁带、磁盘存储装置或其它磁存储装置、或者可用于存储期望的信息并可由计算机访问的任何其它有形或物理介质。
本书面描述使用示例来公开本发明,包括最佳模式,并且还使得本领域技术人员能够实践本发明,包括制造和使用任何装置或系统以及执行任何所包含的方法。本发明的可专利范围由权利要求书限定,并且可包括本领域技术人员想到的其它示例。如果这些其它示例具有与权利要求的字面语言没有不同的元素,或者如果其包括与权利要求的字面语言无实质区别的等同元素,则这些其它示例旨在落入权利要求书的范围内。

Claims (18)

1.一种包括处理器和存储器的设备,所述设备还包括存储在所述设备的所述存储器中的计算机可执行指令,所述计算机可执行指令在由所述设备的所述处理器执行时使得所述设备:
发送既指示利用关联过滤器判据的资源发现操作并且又指示利用关联操作参数的RESTful操作的请求,其中,所述资源发现操作包括对包括与所述关联过滤器判据匹配的一个或多个资源的结果资源集合的请求,并且其中,所述RESTful操作要根据所述关联操作参数在包括与所述结果资源集合有关的一个或多个资源的目标资源集合上执行;并且
接收指示所述RESTful操作完成的响应。
2.根据权利要求1所述的设备,其中,所述目标资源集合与所述结果资源集合相同,并且所述RESTful操作在从所述资源发现操作得到的所述结果资源集合上完成。
3.根据权利要求1所述的设备,其中,所述请求还指示从与所述关联过滤器判据匹配的所述结果资源集合创建组。
4.根据权利要求1所述的设备,其中,所述请求指示所述RESTful操作要在与所述资源发现操作的所述结果资源集合有关但是不同的目标资源集合上完成。
5.根据权利要求1所述的设备,其中,所述请求还包括在未被包括在所述目标资源集合中的在其上执行所述资源发现操作的根资源。
6.一种包括处理器和存储器的设备,所述设备还包括存储在所述设备的所述存储器中的计算机可执行指令,所述计算机可执行指令在由所述设备的所述处理器执行时使得所述设备:
接收既指示利用关联过滤器判据的资源发现操作并且又指示利用关联操作参数的RESTful操作的请求,其中,所述资源发现操作包括对包括与所述关联过滤器判据匹配的一个或多个资源的结果资源集合的请求,并且其中,所述RESTful操作要根据所述关联操作参数在包括与所述结果资源集合有关的一个或多个资源的目标资源集合上执行;
如由所述请求指示地,确定所述结果资源集合;
如由所述请求指示地,确定所述目标资源集合;并且
如由所述请求指示地,在所述目标资源集合上执行所述RESTful操作。
7.根据权利要求6所述的设备,其中,所述目标资源集合与所述结果资源集合相同,并且所述RESTful操作在从所述资源发现操作得到的所述结果资源集合上完成。
8.根据权利要求6所述的设备,其中,所述设备发送指示所述RESTful操作完成的响应。
9.根据权利要求6所述的设备,其中,所述请求还指示从与所述关联过滤器判据匹配的所述结果资源集合创建组。
10.根据权利要求6所述的设备,其中,所述请求指示所述RESTful操作要在与所述资源发现操作的所述结果资源集合有关但是不同的目标资源集合上完成。
11.根据权利要求6所述的设备,其中,所述请求还包括在未被包括在所述目标资源集合中的在其上执行所述资源发现操作的根资源。
12.根据权利要求6所述的设备,其中,所述请求还包括指示资源之间的关系类型的资源关系参数,并且其中,所述目标资源集合包括按照由所述资源关系参数所指示的关系类型与所述结果资源集合中的所述一个或多个资源有关的一个或多个资源。
13.根据权利要求12所述的设备,其中,所述资源关系参数指示父关系类型。
14.根据权利要求12所述的设备,其中,所述资源关系参数指示语义关系类型,其中,第一资源与第二资源之间的语义关系类型包括所述第一资源包含用于所述第二资源的语义信息。
15.根据权利要求12所述的设备,其中,所述资源关系参数指示订阅关系类型,其中,第一资源与第二资源之间的订阅关系类型包括所述第一资源包含用于所述第二资源的订阅信息。
16.一种包括处理器和存储器的设备,所述设备还包括存储在所述设备的所述存储器中的计算机可执行指令,所述计算机可执行指令在由所述设备的所述处理器执行时使得所述设备:
发送既指示利用关联过滤器判据的资源发现操作并且又指示资源关系参数的请求,其中,所述资源发现操作包括对包括与所述关联过滤器判据匹配的一个或多个资源的结果资源集合的请求,并且其中,所述资源关系参数指示资源之间的关系类型;并且
接收指示所得资源集合的响应,所述所得资源集合包括按照由所述资源关系参数所指示的关系类型与所述结果资源集合中的所述一个或多个资源有关的一个或多个资源。
17.根据权利要求16所述的设备,其中,所述请求指示基于所述所得资源集合来创建组。
18.根据权利要求16所述的设备,其中,所述资源关系参数指示父关系类型。
CN201680055108.8A 2015-09-23 2016-09-23 增强的restful操作 Active CN108141468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110849726.2A CN113434780A (zh) 2015-09-23 2016-09-23 增强的restful操作

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562222536P 2015-09-23 2015-09-23
US62/222,536 2015-09-23
PCT/US2016/053342 WO2017053727A1 (en) 2015-09-23 2016-09-23 Enhanced restful operations

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110849726.2A Division CN113434780A (zh) 2015-09-23 2016-09-23 增强的restful操作

Publications (2)

Publication Number Publication Date
CN108141468A CN108141468A (zh) 2018-06-08
CN108141468B true CN108141468B (zh) 2021-08-03

Family

ID=57130446

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110849726.2A Pending CN113434780A (zh) 2015-09-23 2016-09-23 增强的restful操作
CN201680055108.8A Active CN108141468B (zh) 2015-09-23 2016-09-23 增强的restful操作

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110849726.2A Pending CN113434780A (zh) 2015-09-23 2016-09-23 增强的restful操作

Country Status (6)

Country Link
US (4) US11019155B2 (zh)
EP (2) EP4247021A3 (zh)
JP (1) JP6637166B2 (zh)
KR (1) KR102091069B1 (zh)
CN (2) CN113434780A (zh)
WO (1) WO2017053727A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11019155B2 (en) 2015-09-23 2021-05-25 Convida Wireless, Llc Enhanced restful operations
WO2017073876A1 (ko) * 2015-10-30 2017-05-04 엘지전자 주식회사 무선 통신 시스템에서 서비스 요청을 처리하기 위한 방법 및 이를 위한 장치
CN107026882B (zh) * 2016-02-02 2021-02-12 华为技术有限公司 一种资源获取的方法及相关设备
US11284259B2 (en) * 2017-05-12 2022-03-22 Intel Corporation Dynamic access policy provisioning in a device fog
US11290860B2 (en) * 2017-06-20 2022-03-29 Samsung Electronics Co., Ltd. Method for processing request message in M2M system and device therefor
JP6814482B2 (ja) * 2017-11-29 2021-01-20 株式会社医療情報技術研究所 知識管理システム
WO2020118705A1 (zh) * 2018-12-14 2020-06-18 Oppo广东移动通信有限公司 资源更新方法、装置、计算机设备和存储介质
CN111436037B (zh) * 2019-01-14 2024-01-09 京东方科技集团股份有限公司 信息处理的方法、服务器、设备到设备系统和存储介质
CN111614563A (zh) * 2019-02-22 2020-09-01 华为技术有限公司 一种用户面路径的选择方法及装置
CN113875209A (zh) * 2019-05-13 2021-12-31 现代自动车株式会社 用于在m2m系统中删除资源的方法和装置
CN110311900A (zh) * 2019-06-19 2019-10-08 微梦创科网络科技(中国)有限公司 一种服务调用方法、装置、电子设备及存储介质
CN113923243A (zh) * 2020-06-22 2022-01-11 京东方科技集团股份有限公司 资源引导方法、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255969A (zh) * 2011-07-14 2011-11-23 南京邮电大学 一种基于表述性状态转移的网络服务安全模型
WO2014185754A1 (ko) * 2013-05-16 2014-11-20 엘지전자 주식회사 M2m 통신 시스템에서 구독 및 통지를 위한 방법 및 이를 위한 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020161883A1 (en) * 2001-04-30 2002-10-31 David Matheny System and method for collecting, aggregating, and coalescing network discovery data
EP2681933B1 (en) * 2011-03-03 2017-05-10 Interdigital Patent Holdings, Inc. Method and apparatus for accessing services affiliated with a discovered service provider
US20150055557A1 (en) * 2012-03-22 2015-02-26 Interdigital Patent Holdings, Inc. Method and apparatus for supporting machine-to-machine caching at a service capability layer
KR101432128B1 (ko) * 2013-01-29 2014-08-21 주식회사 케이티 M2m 네트워크상에서의 리소스를 디바이스 오브젝트로 추상화하는 m2mm 플랫폼
JP6243219B2 (ja) 2013-12-25 2017-12-06 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー 画像生成装置および放射線断層撮影装置並びにプログラム
US11238073B2 (en) 2014-02-07 2022-02-01 Convida Wireless, Llc Enabling resource semantics
JP6514315B2 (ja) * 2014-03-18 2019-05-15 中興通訊股▲ふん▼有限公司Zte Corporation マシン対マシンネットワークにおけるリソースおよび属性管理
US11259232B2 (en) * 2015-08-13 2022-02-22 Convida Wireless, Llc Methods for enabling en-route resource discovery at a service layer
US11019155B2 (en) * 2015-09-23 2021-05-25 Convida Wireless, Llc Enhanced restful operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255969A (zh) * 2011-07-14 2011-11-23 南京邮电大学 一种基于表述性状态转移的网络服务安全模型
WO2014185754A1 (ko) * 2013-05-16 2014-11-20 엘지전자 주식회사 M2m 통신 시스템에서 구독 및 통지를 위한 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
US20220131946A1 (en) 2022-04-28
WO2017053727A8 (en) 2018-04-12
KR102091069B1 (ko) 2020-03-20
JP2018530965A (ja) 2018-10-18
US11019155B2 (en) 2021-05-25
CN108141468A (zh) 2018-06-08
US11778056B2 (en) 2023-10-03
US11228652B2 (en) 2022-01-18
US20180270314A1 (en) 2018-09-20
EP4247021A2 (en) 2023-09-20
EP4247021A3 (en) 2023-12-20
JP6637166B2 (ja) 2020-01-29
WO2017053727A1 (en) 2017-03-30
US20230403334A1 (en) 2023-12-14
EP3353993B1 (en) 2023-09-06
CN113434780A (zh) 2021-09-24
KR20180058785A (ko) 2018-06-01
US20210258393A1 (en) 2021-08-19
EP3353993A1 (en) 2018-08-01

Similar Documents

Publication Publication Date Title
CN108141468B (zh) 增强的restful操作
JP6497716B2 (ja) 軽量iot情報モデル
CN108353094B (zh) 用于m2m服务层的跨资源订阅
KR102224379B1 (ko) 일반적 상호연동 및 확장성을 위한 서비스 계층 리소스 관리
CN110035110B (zh) 跨域服务层资源传播方法及设备
CN107005571B (zh) 基于权限的资源和服务发现
KR102036420B1 (ko) 머신-투-머신 시스템에서의 애플리케이션 관계 관리
CN109478153B (zh) 机器到机器服务层通信中的消息重定向
WO2017024227A1 (en) Mechanisms for multi-dimension data operations
CN111201804B (zh) 启用数据连续性服务的方法、装置和计算机可读存储介质
US20200220919A1 (en) Overlay resource trees in a communication network
KR102046730B1 (ko) 서비스 요소들

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant