CN106797391B - 使用mqtt协议的服务层交互工作 - Google Patents
使用mqtt协议的服务层交互工作 Download PDFInfo
- Publication number
- CN106797391B CN106797391B CN201580045003.XA CN201580045003A CN106797391B CN 106797391 B CN106797391 B CN 106797391B CN 201580045003 A CN201580045003 A CN 201580045003A CN 106797391 B CN106797391 B CN 106797391B
- Authority
- CN
- China
- Prior art keywords
- mqtt
- server
- node
- message
- client
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000015654 memory Effects 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 22
- 238000004325 capillary sieving electrophoresis Methods 0.000 abstract description 36
- 108010045283 Cystathionine gamma-lyase Proteins 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 40
- 238000004891 communication Methods 0.000 description 39
- 239000003999 initiator Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000027455 binding Effects 0.000 description 2
- 238000009739 binding Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- QELJHCBNGDEXLD-UHFFFAOYSA-N nickel zinc Chemical compound [Ni].[Zn] QELJHCBNGDEXLD-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000700159 Rattus Species 0.000 description 1
- 241001189642 Theroa Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 108091000099 cysteine desulfurase Proteins 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/08—Upper layer protocols
- H04W80/12—Application layer protocols, e.g. WAP [Wireless Application Protocol]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
提议方法来将MQTT服务器功能集成到oneM2M CSE中,还基于资源地址将这样的基于CSE的MQTT服务器合并到在话题结构周围组织的网络。该方法可以动态分配、指派和递送可以被AE、CSE和MQTT服务器用作AE‑ID的标识符。MQTT服务器可以被互联到M2M服务层,使得MQTT服务器可用于托管CSE的每个服务层节点中。MQTT服务器到服务器连接可以被动态建立以促进服务器层实体之间的业务。
Description
背景技术
oneM2M服务层被组织为公共功能(或者服务性能)的集合,其实例被称为公共服务实体(CSE)。图1是图示说明经由如图1中所示的Mca、Mcc和Mcn参考点而暴露出的一个M2M服务层的公共功能的图。
Mca参考点指定应用实体(AE)102和CSE 104之间的通信流,而Mcc参考点指定相同M2M服务提供方域中的两个CSE 104和106之间的通信流。跨越Mca和Mcc的通信经由成对的请求/响应消息来发生,其中,每个请求针对目标CSE上托管的资源而执行具体RESTful操作(例如,创建、检索、更新、删除)。
Mcc在位于不同M2M SP的基础设施域中的CSE之间使用。Mcn在CSE 104和用于传输和连接性以外的服务的底层网络服务实体(NSE)108之间使用。
在oneM2M服务层,CSE在被称为“节点”的架构实体上托管。节点是功能实体,其包含a)一个CSE和零个或更多AE,或者b)一个或多个AE。
图2是支持各种类型的节点配置的oneM2M架构的图。图2是简化表示且不反映实体之间的所有可能配置或关系。
图3是图示说明由oneM2M CSE 302执行的公共服务功能(CSF)的初始集合的图。特定CSE实施方式可能不支持每个功能,但是完整实施方式可以包括图示中的所有功能。
统一资源标识符通用语法是由五个组件(方案、权限、路径、查询和分段)的层级顺序构成的互联网构造。图4是图示说明在oneM2M寻址中显著的统一资源标识符通用语法的方案、权限和路径组件的图。
oneM2M服务层中每个实体被表示为ROA架构中的资源。服务层节点上的AE或CSE的每个实例被要求具有唯一标识符。该唯一标识符被用于得出表示用于其托管CSE上该实体的资源结构的根(或基本)地址的绝对统一资源标识符(URI)。该结构内的每个资源还必须可经由具有以层级或非层级方式离散识别目标资源的路径组件的完全合格域名(FQDN)URI而唯一寻址。FQDN提供包含托管资源的CSE的节点的网络地址,且路径提供该节点上目标资源的精确位置。
下面的两个示例URI值对相同资源寻址并且说明上面的原理,首先利用层级路径结构,然后利用非层级结构:
1)//CSE04.M2MSPabc.com/CSEBase01/alpha/container02/instance01
2)//CSE04.M2MSPabc.com/CSEBase01/resourcel2345678
URI#2的下划线部分表示该示例CSE的基本资源结构的地址,并且还体现对应的CSE标识符。URI#1的下划线部分表示名为“alpha”的应用的资源结构的地址,且还体现对应的AE标识符。
与CSE或AE相关联的资源结构还包含被称为PoA(pointOfAccess)的属性,其保持路由信息(通常一个或多个IP地址)用于建立与托管CSE或AE的节点的通信。为了以AE为目标(例如,利用通知),有必要首先到达AE所注册到的CSE,然后使用AE-PoA属性中的信息来将请求寻址到目标AE。
服务层请求/响应消息包括API,其在应用协议上携带以便促进服务层实体之间的消息移动。因为服务层处于其服务的应用和更低网络层之间。通常将其称为“中间件”,如图5中所图示。
存在许多选择来在应用协议层通过初始在HTTP和CoAP二者上同意的ETSI M2M和oneM2M来进行绑定。oneM2M还支持消息排队遥测传输(MQTT)协议绑定——通过在服务层的RESTful请求/响应消息对和事件驱动的发布/订阅(一对多)MQTT协议之间的对比而变得令人感兴趣的选择。尽管这些不同,MQTT由于其极低的协议开销和简单有效的设计而保持了对于M2M应用有吸引力的选择。
MQTT协议初始由IBM和Eurotech在20世纪90年代末开发;其在2013年被提交到OASIS标准体被正式采纳(正在处理)且进一步开发。MQTT是低开销消息排队和传输协议,为被约束设备和低带宽网络而定制,其最著名是部署在Facebook Messenger移动app中。
图6是图示说明MQTT的发布/订阅(或客户端/服务器)模型的图。MQTT的核心元素是客户端(其可以是发布者602和订户604)、服务器(也被称为代理(broker))、会话、订阅和话题。
图7是图示说明MQTT的元素的图。像HTTP,MQTT协议不对称,因为其区分两种不同角色:客户端702和服务器704。
在MQTT术语中,客户端702是使用MQTT的程序或设备。其总是建立到服务器的网络连接。客户端702可以
·发布其他客户端可能会感兴趣的应用消息。
·订阅对接收感兴趣的请求应用消息。
·不订阅对移除应用消息的请求。
·从服务器断开连接。
MQTT服务器704是从客户端接受连接的实体。不像HTTP,其通常不运行任何应用逻辑,MQTT服务器704充当发布应用消息的客户端和订阅以接收应用消息的客户端之间的中间物。
话题是MQTT中的“Q”——它们被命名为由服务器所维持的消息队列以便将发布者与订户相链接。MQTT客户端702当发出(issue)PUBLISH消息到MQTT服务器704(即,递送不透明消息有效载荷到订阅供应话题名称的任何客户端的指令)时假定是发布者的角色,且在发出SUBSCRIBE消息到MQTT服务器704(即,接收匹配供应话题过滤器的任何PUBLISH消息的指令)时假定为订户的角色。话题过滤器是包含在订阅中的表达,用来指示对一个或多个话题的兴趣。话题过滤器可以包括通配字符。以三个确保的QoS水平(最多一次、最少一次、就一次)之一来递送PUBLISH消息。
图8是图示说明表示MQTT中客户端和服务器之间的附连的两个水平的会话和订阅的图。会话801和802是客户端和服务器之间的状态性交互(即,活动TCP/IP网络连接),并且被唯一客户端标识符来识别。会话801和802可以仅通过客户端发送CONNECT消息到服务器来建立。CONNECT、PUBLISH和SUBSCRIBE消息中的标志确定如果会话被中断如何保持会话状态。
订阅804和806是客户端到由服务器保持的一个或多个话题(即,消息队列)的逻辑附连。订阅806只与一个会话801相关联,但是有可能配置会话状态以便保存在会话中断事件中以在后续会话被相同客户端建立时触发存储的订阅消息的递送。因此,订阅可以是“暂态的”(订阅806)或“持久的”(订阅804)。
以最高QoS水平操作的持久的订阅804导致服务器在对于相关联客户端的存储和转发模式(在服务器上的可用存储容量的限制内)下操作,而与最低QoS水平配对的暂态的订阅806导致服务器在对于相关联客户端的通过模式下操作。
MQTT网络连接仅存在于客户端702和服务器704之间。从MQTT客户端702的角度来看,所有传入应用消息源自服务器704,且由于与服务器704订阅而接收应用消息的MQTT客户端702可能甚至在网络层(例如IP)都不能够到达发起该消息的客户端。在这方面,服务器704确定是否转发应用消息的机制——将话题名称与其订阅列表进行匹配(即,话题过滤器)——将话题名称域对待为网络地址的形式。
尽管如此,因为服务器704没有将订阅直接与网络连接(例如IP地址)相关联,所以存在中间步骤来考虑。订阅与会话相关联,且会话与对于连接到服务器的每个客户端必须唯一的客户端标识符(ClientID)相关联。ClientID是UTF-8编码串,最多65,535字节;但是,服务器可以将长度限制为不大于23个UTF-8编码的字节。ClientID机制允许保存会话状态并实现存储和转发能力(如果需要)。
因此,MQTT寻址关联的集合如下所示:
网络连接地址 | 客户端标识符 | 订阅(话题过滤器) |
192.168.1.1 | Acme-Alarm-xyz | /Anytown/Elm St./1234/# |
“/”是话题水平分隔符,其用于将话题名称划分为层级水平。“#”是多水平通配字符,在其后任何水平上匹配。还存在单水平通配字符“+”,其只在一个水平(未示出)匹配。
在这个示例中,将Acme Alarm Co.连接到MQTT服务器且使用其ClientID值“Acme-Alarm-xyz”建立会话。其利用话题名称订阅应用消息,所述话题名称与对于该街道地址(1234Elm St.,Anytown)的任何匹配相对应。Acme Alarm已经在这个位置安装传感器和网络控制器且控制器正在发布具有话题名称为“/Anytown/E1mSt./1234/<sensorX>/<info>”的应用消息。服务器比较传入应用消息与属于Acme的该订阅并且转发具有与对应网络连接地址相匹配的话题的任意消息。
MQTT V3.1.1规范包含下面的声明:
单个实体可能符合作为MQTT客户端和MQTT服务器二者的实施方式。例如,既接受传入连接又建立到其他服务器的传出连接的服务器必须符合作为MQTT客户端和MQTT服务器二者。
来自MQTT规范(如上)的符合性声明解决了利用保留协议字段的实施方式(通常需要区分服务器-服务器连接和客户端-服务器连接)。但是,有可能在不需要区分服务器-服务器连接并且不会违反规范的情况下互连MQTT服务器,如下。
如果只有一个服务器以此方式配置,则可以只存在它们之间的业务的单向流,朝向具有嵌入式客户端功能的服务器。这使得其能够订阅其他服务器且操纵朝向自身的业务,如图9中所示。
图9是图示说明MQTT服务器之间的消息的单向流的图。在图9中,被识别为“S1/C1”的MQTT客户端902之前已经发送SUBSCRIBE消息到服务器S1,使得服务器S1建立具有话题过滤器“S1/C1/#”的话题队列。随后,到达服务器S1且话题名称字段中的前五个字符等于“S1/C1”的任何发布消息将被转发到客户端S1/C1902。
独立客户端中所示的“发布”和“订阅”指示客户端在掌控流中所示消息时所具有的角色(发布者还是订户)。
由服务器S1中的嵌入式客户端功能904向服务器S2发送的SUBSCRIBE消息使得服务器S2建立具有话题过滤器“S1/#”的话题队列。这是在两个服务器之间形成(单向)连接的动作。随后,到达服务器S2且具有其中的头两个字符等于“S1”的话题名称字段的任何PUBLISH消息将被转发到服务器S1。这样,连接到服务器S1的客户端可以被连接到服务器S1或服务器S2(或者与服务器S1建立连接的任何其他服务器)的客户端达到。
连接可以随时由服务器S1中的客户端通过发送DISCONNECT消息到服务器S2而被拆除;对应的CONNECT消息(在SUBSCRIBE之前)未示出但也被假设。注意,服务器S2没有指示来自服务器S1中的客户端902的连接与另一服务器相关联;服务器S1对于服务器S2(协议水平)像是任何其他客户端一样出现。
图10是图示说明MQTT服务器和连接到任一服务器的客户端之间的双向业务流的图。在此情况下,客户端S1/C1和S2/C1两者之前都发送了SUBSCRIBE消息到它们相应的服务器,使得那些服务器建立具有所示话题过滤器的话题队列。由每个服务器中的嵌入式客户端功能发送的SUBSCRIBE消息使得接收服务器建立具有指向发起服务器+客户端组合的话题过滤器的话题队列。这对动作一起形成两个服务器之间的双向连接——连接到一个服务器的客户端可以达到连接到另一服务器的客户端,反之亦然。请求/响应消息传递因此在连接到不同服务器的客户端之间变得可能。
重要的是,注意到,在服务器之间发送的SUBSCRIBE消息互相独立(即,在协议水平上,一个不触发另一个)。接收SUBSCRIBE消息的服务器没有办法在协议中通知消息与客户端使能的服务器而非纯客户端相关联——至少灾如果实施方式保持标准兼容的情况下不。该场景中的简化方法将是在服务器之间建立静态连接作为系统初始化的一部分,且每个服务器被预先配置有在启动时建立其连接所需要的信息。
替选地,嵌入独立服务器实施方式中的逻辑可以将SUBSCRIBE消息的话题过滤器字段中的具体模式处理为用于服务器发起的消息的标记且使用该标记作为在返回方向上发起陪伴SUBSCRIBE消息的信号。具有集成服务器功能的上层逻辑还可以动态地基于所需而触发和发起连接。
只要管理的层级(或类似URI的)结构在话题名称空间中被管理且保持用于填充在话题名称字段的值/地址的全局唯一性,则连接到协同服务器的客户端之间的持续双向通信是可能的。
oneM2M正在发展对于MQTT协议绑定的技术规范。技术规范中示出了关于MQTT服务器在oneM2M架构中的放置的若干配置替选,但是所有这些配置共享的特征是,MQTT服务器是功能上和逻辑上独特的实体,其仅仅同MQTT客户端通信且不与oneM2M服务层中其他MQTT服务器通信。
图11是图示说明保持到每个AE 1104和CSE 1106和1108的连接的服务提供方域内的单个MQTT服务器1102的图。这是最直接的配置。
图12A和12B图示说明oneM2M实施例中多个MQTT服务器的使用。基础设施域中单个整体MQTT服务器的替选是在中间节点处部署多个QMTT服务器且支持MQTT更接近网络边缘(只通过Mca参考点)。另外的替选将是使得一个(或有可能多个)MQTT网络在场域中携带Mca业务并且独立的MQTT网络携带Mcc业务回到基础设施域。在这个场景中,独立MQTT网络之间的互联将由oneM2M服务层来执行。
图13图示说明了具有MQTT服务器1302的oneM2M实施例。将单个MQTT服务器的概念(图11)应用于oneM2M架构配置(图2)产生了图13中的图示。任何两个服务层实体之间的业务必须通过MQTT服务器1302流动,且除非它们都连接到MQTT服务器1302(或者除非服务层提供附加逻辑来将业务从MQTT连接的实体传递到非MQTT连接的实体),任何两个服务层实体之间的业务是不可能的。
图13中所示的配置是当前开发工作的焦点。有可能增加MQTT服务器且在它们之中重新分发服务层实体(例如,将MQTT服务器放置在场域中,如图12中所建议),但是具体MQTT客户端连接到的MQTT服务器的任何改变将需要事先提供新服务器的网络地址给客户端。这是因为MQTT缺少客户端发现服务器的机制,而客户端总是发起到服务器的连接(因此,在网络连接可以建立之前,网络地址必须对于客户端可用)。
发明内容
描述了将MQTT服务器功能集成到oneM2M CSE中,以及基于资源地址将这样的基于CSE的MQTT服务器互连到在话题结构周围组织的网络的方法。这解决了上述的标识符指派和网络中心化和开销问题。
方法可以动态分配、指派和递送可以被AE、CSE和MQTT服务器用作AE-ID的标识符。这是在CSE的控制下作为应用注册过程的一部分完成的。
MQTT服务器可以互联到M2M服务层中,使得MQTT服务器在托管CSE的每个服务层节点中可用。MQTT服务器(本公开中也被称为“MQTT服务器+”)通过嵌入客户端功能和应用层级应用层寻址方案而得到增强,由此使得有可能在每个CSE中部署MQTT服务器功能。
MQTT服务器-服务器连接可以动态地被建立以促进服务层实体之间的业务。利用每个CSE基于资源地址在互连网络中充当MQTT服务器和客户端,服务层基元可以直接从发起者递送到目标,而不再由中间服务层逻辑来掌控。
提供本发明内容以用简化形式介绍概念的选择,下面将在具体实施方式中进一步描述。本发明内容不旨在识别所要求的保护的主题的关键特征或必要特征,也不想要用来限制所要求保护的主题的范围。而且,所要求的保护的主题不限于解决本公开的任何部分中注释的任何或所有缺点的限定。
附图说明
从下面通过示例并结合附图给出的描述中可以获得更详细的理解,其中:
图1是图示说明oneM2M服务层的公共功能的图。
图2是支持各种类型的节点配置的oneM2M架构的图。
图3是图示说明由oneM2M CSE执行的公共服务功能(CSF)的初始集合的图。
图4是图示说明在oneM2M寻址中显著的统一资源标识符通用语法的方案、权限和路径组件的图。
图5是图示说明示例服务层协议栈的图。
图6是图示说明MQTT的发布/订阅(或客户端/服务器)模型的图。
图7是图示说明MQTT的核心元素的图。
图8是图示说明表示MQTT中客户端和服务器之间的附连的两个水平的会话和订阅的图。
图9是图示说明MQTT服务器之间的消息的单向流的图。
图10是图示说明MQTT服务器和连接到任一服务器的客户端之间双向业务流的图。
图11是图示说明在保持对每个AE和CSE的连接的服务提供方域内的单个MQTT服务器的图。
图12A和12B图示说明在oneM2M实施例中的多个MQTT服务器的使用。
图13图示说明具有MQTT服务器的oneM2M实施例。
图14是示出用于oneM2M的示例MQTT消息流的图。
图15是图示说明具有位于基础设施域中的单个标准MQTT服务器的示例消息流的图。
图16是图示说明三个话题过滤器的使用的图。
图17是图示说明具有MQTT的oneM2M实施例的图。
图18是图示说明创建服务层操作的示例的流程图。
图19是图示说明检索服务层操作的示例的流程图。
图20是图示说明增强型oneM2M ROA实施例中的MQTT CSF的图。
图21是一个实施例的图形用户界面的图。
图22A是示例机器到机器(M2M)或物联网(IoT)通信系统的图,其中,示例系统和方法的一个或多个所公开的实施例可以在其中被实现。
图22B是具有场域和基础设施域的M2M服务层的图。
图22C是诸如UE或另一端节点设备的示例设备的图。
图22D是可以用于实现节点或逻辑实体的计算机系统或服务器的图。
具体实施方式
图14是示出用于oneM2M的示例MQTT消息流的图。在图14中示出的用于MQTT的消息流是可行的,但是其依赖于服务层实体(AE1402或CSE 1404)以提供唯一话题过滤器值给相关联的MQTT客户端1406和1408以便建立其MQTT订阅。这个“自订阅”将响应(和通知)业务引导回到订阅实体。注意,在图14中,MQTT连接和订阅步骤被假定已经成功发生,且AE 1402和CSE 1404已经使用其相应的服务层ID作为用于在MQTT服务器1414内部所示的话题队列的话题过滤器值。尽管有可能使用AE-ID和CSE-ID以外的值用于此用途,这些ID具有已经唯一识别实体的益处,在服务层API中携带且很好地与MOTT话题名称结构相关。
但是,存在关于oneM2M AE的具体问题。AE 1402(通过其相关联的MQTT客户端)必须能够在初始服务层注册之前发送的第一SUBSCRIBE消息的话题过滤器域中将唯一标识符传递到MQTT服务器1414。这为服务器提供了唯一话题,通过该话题来将响应消息流路由回到AE。AE-ID不能在此使用,因为其不是由注册者CSE指派的,直到AE注册——且对注册请求的响应是什么携带AE-ID值首先回到AE。总的来说,不存在可用于MQTT话题名称的动态供应的通用机制,更不用说与oneM2M标识符(例如AE ID、CSE ID)匹配。
第二、更一般的问题在于服务器周围的MQTT网络的固有的中心化。如图14中所图示,MQTT客户端不能直接互相通信且必须依赖于它们之间的服务器到代理通信。而本地MQTT协议不支持MQTT服务器之间的通信;连接到服务器X的MQTT客户端不能与连接到服务器Y的MQTT客户端交换消息。因此,如果一个以上的MQTT服务器存在于M2M SP域内(例如,作为网络扩展的结果),则MQTT服务器之间的互联必须在服务层水平被管理(需要附加开销)或避免。
应当理解,图14中所图示的功能可以以存储在M2M网络的节点(例如,服务器、网关、设备或其他计算机系统)的存储器中以及在其处理器上执行的软件(即,计算机可执行指令)的形式来实现,诸如下面所述的图22C或22D中所图示之一。
图15是图示说明具有位于基础设施域中的单个标准MQTT服务器的示例消息流的图。该流表示oneM2M系统将通过遵从在oneM2MTS-0010(一旦其完成)中规定的如应用于Mca和Mcc参考点的MQTT协议绑定而操作的方式。其图示说明了该方法相对于在下面所述的图19的操作步骤中执行的相同服务水平操作的无效率。
下面的步骤预料与图13中所示配置一致的对单个MQTT服务器的所有MQTT客户端的连接和订阅(基于对应的AE-ID或CSE-ID)。
在图15的步骤1,ADN-AE(“发起者AE”)1502发送服务层检索请求基元到ADN MQTT客户端1504。基元的“to”参数是位于<INCSEBase>之下的资源的URI。“from”参数是AE-ID。
在图15的步骤2,ADN MQTT客户端1504发出PUBLISH消息到(全局)MQTT服务器1506。话题名称串被设置为注册者CSE-ID(AE注册的MN-CSE)。
在图15的步骤3,MQTT服务器比较接收到的话题名称串与其订阅列表并找到对于MN-CSE-ID的匹配。MQTT服务器1506将PUBLISH消息转发到对应的MQTT客户端1504。
在图15的步骤4,MN MQTT客户端1504递送接收到的有效载荷(即,检索请求基元)到MN-CSE 1508(注册者CSE)。
在图15的步骤5,MN-CSE 1508检查检索请求的“to”参数并确定基元寻址到不同CSE。
在图15的步骤6,MN-CSE 1508更新“from”参数为其自身的CSE-ID且转发经更新的基元到MN MQTT客户端1510。
在图15的步骤7,MN MQTT客户端1510发出PUBLISH消息到MQTT服务器1506。话题名称串被设置为目标CSE-ID 1512(资源所位于的IN-CSE)。
在图15的步骤8,MQTT服务器1506比较接收到的话题名称串与其订阅列表并找到对于IN-CSE-ID的匹配。MQTT服务器1506将PUBLISH消息转发到对应的MQTT客户端。
在图15的步骤9,IN MQTT客户端递送接收到的有效载荷(即,检索请求基元)到IN-CSE 1512(目标CSE)。
在图15的步骤10,指定资源内容被检索(如果发起者AE 1502具有访问权限)。
在图15的步骤11,IN-CSE 1512发送检索响应基元到IN MQTT客户端1514,指示操作的成功或失败。传出基元的“to”参数被设置为接收到的“from”参数(MN-CSE-ID)。“cn”参数被设置为适当内容;在成功情况(示出)其被设置为所请求的检索资源的内容。
在图15的步骤12,MQTT客户端1514发出PUBLISH消息到MQTT服务器。话题名称串被设置为接收CSE-ID(在“from”参数中所识别的MN-CSE 1508)。
在图15的步骤13,MQTT服务器1506比较接收到的话题名称串与其订阅列表并找到对于MN-CSE-ID的匹配。MQTT服务器1506将PUBLISH消息转发到对应的MQTT客户端。
在图15的步骤14,MN MQTT客户端1510递送接收到的有效载荷(即,检索响应基元)到MN-CSE 1508。
在图15的步骤15,MN-CSE 1508检查检索响应并且将其与对应的检索请求相关。
在图15的步骤16,MN-CSE 1508更新“to”参数到发起者AE-ID并将经更新的检索响应基元转发到MN MQTT客户端1510。
在图15的步骤17,MN MQTT客户端1510发出PUBLISH消息到MQTT服务器1506。话题名称串被设置为发起者AE-ID(其发起请求)。
在图15的步骤18,MQTT服务器1506比较接收到的话题名称串与其订阅列表并找到对于AE-ID的匹配。MQTT服务器1506将PUBLISH消息转发到对应的MQTT客户端。
在图15的步骤19,ADN MQTT客户端1504递送接收到的有效载荷(即,检索响应基元)到AE 1502。
MQTT V3.1.1规范[2]包含下面的声明:
服务器实施方式可以使用开始于$字符起始的话题名称用于其他用途。
$SYS/已被广泛采纳用作包含服务器特定信息或控制API的话题的前缀。
MQTT的该特性在此被实施用于创建特定于oneM2M实施例的话题空间,用于在执行AE注册流程之前指派AE-ID值到AE。具体地,话题名称串“$SYS/oneM2M/AE ID/”由MQTT服务器+实施方式用作标志来识别试图使用空客户端标识符(ClientId)连接到MQTT服务器+的MQTT客户端。该标志触发在图18中概括的导致将AE ID值预先指派给连接实体的一系列动作。该AE ID值由由连接实体使用来建立与MQTT服务器+的订阅以便从与服务器+相关联的CSE接收响应。该机制的进一步细节在下面提供。
应当理解的是,执行图15中所图示的步骤的实体是可以以存储在网络节点或计算机系统的存储器中以及在其处理器上执行的软件(即计算机可执行指令)的形式来实现的逻辑实体,诸如在图22C或图22D中所图示的那些。也就是,图15中所图示的方法可以以存储在网络节点的存储器中的软件(即,计算机可执行指令)的形式来实现,诸如在图22C或图22D中所图示的节点或计算机系统,该计算机可执行指令,当被节点的处理器执行时,执行图15中所图示的步骤。还应理解,图15中所图示的任何发射和接收步骤可以通过节点的通信电路在节点的处理器和其执行的计算机可执行指令(例如软件)的控制下执行。
图16是图示说明三个话题过滤器的使用的图。MQTT通配字符被实施来使得发送请求的实体能够经由订阅的集合基于其资源地址来接收响应业务。图16中的三个话题过滤器串使得具有话题名称包含MN-CSE-ID的所有消息被转发到MN上的MQTT客户端,例外是具有CSEBase之下第一水平的结尾斜杠的话题名称串。因此,AE可以向CSE注册且在URI接收与具有附加的“/”的其AE标识符(AE-ID)相对应的传入消息——具有在该CSEBase周围形成的话题名称的所有其他消息将被路由到CSE自身。这样,针对AE资源的CRUD操作将被递送到CSE用于动作,但仍存在达到AE自身的消息路径。
MQTT串是区分大小写的,但是RFC 3968URI的方案和主机组件是不区分大小写的。因此,必须注意确保区分大小写的MQTT话题名称和话题过滤器串正确地与用于路由目的的URI值相关(例如主机组件)。
更新以反映MQTT服务器+功能实体的存在的oneM2M功能架构与CSE的每个出现相搭配。这样的实施例将利用下面所述的双向互联能力以实现协同服务器之间的业务流,如图中所示。图13示出关于放置MQTT服务器的替选视图,其表示oneM2M中的本方法。
接下来两个图图示说明涉及ADN-AE 1802、MN-CSE 1804和IN-CSE 1806的样本通信流,其中CSE 1804和1806已经利用MQTT服务器+功能来增强。尽管只有创建和检索服务层操作被示出,这里图示说明的方法平等地应用于整套CRUD-SN操作:创建、检索、更新、删除、订阅和通知。这些操作(或“基元”)完全在MQTT PUBLISH消息的有效载荷参数内携带;这在图的“操作”部分中示出。
图18是图示说明创建服务层操作的示例的流程图。
图18的前提条件步骤
这些步骤被执行作为系统初始化的一部分或者当节点之间的网络连接必须被(重新)建立时执行。当在图18中示出QoS水平时,它们被设置为水平0以便说明。实践中,所述技术独立于所使用的QoS水平被描述。在图18的前提条件步骤1,MN-CSE 1804引导中间节点(MN)1810上的MQTT客户端1808以发出CONNECT消息到与该MN相关联的MQTT服务器+1812。MNCSE标识符(其在M2M服务提供方域是唯一的)被用作CONNECT消息中的ClientID参数(在到该MQTT服务器+的连接中,ClientID必须是唯一的)。
在图18的前提条件步骤2,MQTT服务器+1812用指示连接被接受的CNNACK消息来进行响应。
在图18的前提条件步骤3,MN-CSE 1804引导MN MQTT客户端1808发出SUBSCRIBE消息到MN MQTT服务器+1812。MN-CSE-ID被用于形成SUBSCRIBE消息中的话题过滤器参数。四个单独的的话题过滤器串包括在该参数中。前三个串使得寻址到MN-CSE1804的业务被路由到它。第四个串是系统特定值“$SYS/oneM2M/AE-ID/+”。发布该话题的客户端通报预先指派<AE>资源名称值的请求的服务器+/注册者CSE(客户端随后可以使用其来在发起与注册者CSE的联系之前“自订阅”)。参见
在图18的前提条件步骤4,MQTT服务器+1812利用指示四个订阅请求中每个都被接收且处理的SUBACK消息来进行响应。
AE空连接
在图18的前提条件步骤5,应用专用节点(ADN)1816上的MQTT客户端1814被ADN-AE1802(“发起者AE”)引导以发出CONNECT消息到与其注册者CSE 1804相关联的MQTT服务器+1812(该MQTT服务器+1812的地址被预先配置)。客户端标识符(ClientID)参数是空的(零字节的长度)。
在图18的前提条件步骤6,MQTT服务器+1812,作为接收空ClientID的结果,为该会话指派唯一的ClientID值且用指示连接被接受的CONNACK消息来进行响应。
在图18的前提条件步骤7,ADN-AE 1802引导ADN MQTT客户端1814发出SUBSCRIBE消息到注册者CSE 1804的MQTT服务器+1812。话题过滤器参数是系统特定串“$SYS/oneM2M/AE-ID”,其表示与预先指派<AE>资源名称的请求相关联的订阅。
在图18的前提条件步骤8,MQTT服务器+1812用指示订阅请求被接收且被处理的SUBACK消息来进行响应。MQTT服务器+1812通过附加特殊字符“/”和用于该会话的ClientID值到接收到的话题过滤器串“$SYS/oneM2M/AE-ID”而为客户端创建订阅过滤器。
AE-ID指派
在图18的前提条件步骤9,ADN-AE 1802引导ADN MQTT客户端1814发出PUBLISH消息到注册者CSE 1804的MQTT服务器+1812。话题名称参数是系统特定串“$SYS/oneM2M/AE-ID”,其表示用于通过注册者CSE 1804预先指派<AE>资源名称的标志。有效载荷参数为空(零字节的长度)。
在图18的前提条件步骤10,MN-CSE 1804(注册者CSE)的MQTT服务器+1812在接收到具有系统特定话题名称串“$SYS/oneM2M/AE-ID”的PUBLISH消息之后,在其上附加特殊字符“/”和用于该会话的ClientID值。修改后的话题名称串是用于来自图18的前提条件步骤3的MN MQTT客户端1808的订阅过滤器的匹配,因此MQTT服务器+1812将修改后的PUBLISH消息转发到MNMQTT客户端。
修改后的话题名称串也是用于来自图18的前提条件步骤7的ADN MQTT客户端的订阅过滤器的匹配,但是服务器+1812在本情况下不将消息转发,因为发布者和订户是相同的。
在图18的前提条件步骤11,MN-CSE 1804在从MN MQTT客户端1808接收到具有修改后的系统特定串的PUBLISH消息之后,处理请求且指派<AE>资源名称值。
在图18的前提条件步骤12,MN-CSE 1804引导MN MQTT客户端1808发出PUBLISH消息到相关联的MQTT服务器+。话题名称参数被设置为在图18的前提条件步骤10接收到的相同系统特定串。有效载荷是(预先)指派的<AE>资源名称。
在图18的前提条件步骤13,MQTT服务器+1812在接收到具有修改后的系统特定话题名称串的PUBLISH消息之后,确定该串是对于来自图18的前提条件步骤8的ADN MQTT客户端1814的订阅过滤器的匹配。MQTT服务器+1812转发该PUBLISH消息到ADN MQTT客户端1814。
在图18的前提条件步骤14,ADN-AE 1802存储有效载荷参数作为其新的<AE>资源名称。
AE空释放
在图18的前提条件步骤15,ADN-AE 1802引导ADN MQTT客户端发出UNSUBSCRIBE消息到注册者CSE 1804的MQTT服务器+1812。所使用的话题过滤器参数值是在图18的前提条件步骤14存储的相同的值。
在图18的前提条件步骤16,MQTT服务器+1812用UNSUBACK消息来进行响应。
在图18的前提条件步骤17,ADN-AE 1802引导ADN MQTT客户端1814发出DISCONNECT消息到注册者CSE的MQTT服务器+1812。ADN MQTT客户端随后关闭网络连接。
在图18的前提条件步骤18,ADN-AE 1802引导ADN MQTT客户端1814发出CONNECT消息到与其注册者CSE 1804相关联的MQTT服务器+1812功能。AE标识符(AE-ID)或者基于在图18的前提条件步骤14存储的<AE>资源名称的本地唯一相关版本,被用作CONNECT消息中的ClientID参数。
在图18的前提条件步骤19,MQTT服务器+1812用指示连接被接受的CONNACK消息来进行响应。
在图18的前提条件步骤20,ADN MQTT客户端1814被引导以发出SUBSCRIBE消息到注册者CSE 1804的MQTT服务器+1812。<AE>URI被用于形成SUBSCRIBE消息中的话题过滤器参数。具体地,特殊字符“/”被附加到<AE>URI以产生话题过滤器串。
在图18的前提条件步骤21,MQTT服务器+1812用指示订阅请求被接收且被处理的SUBACK消息来进行响应。
图18的操作步骤
在图18的操作步骤1,ADN-AE 1802(“发起者AE”)发出服务层请求基元到ADN MQTT客户端1814。Op(操作)参数被设置为“C”(创建)。基元的to参数是<MN-CSEBase>URI(其也被用作MQTT话题名称串)。ty参数指示<AE>资源类型,其指令注册者CSE为ADN-AE创建<AE>资源(即,执行应用注册)。nm参数被设置为在图18的前提条件步骤14接收到的<AE>资源名称值。
在图18的操作步骤2,ADN MQTT客户端1814发出PUBLISH消息到MN MQTT服务器+1812(这样建立了连接)。
在图18的操作步骤3,MN MQTT服务器+1812比较接收到的话题名称(<MN-CSEBase>URI)及其订阅列表并找到与MN MQTT客户端1808相对应的匹配(参见上面示例的图18的前提条件步骤3)。MN MQTT服务器+1812转发PUBLISH消息到MN MQTT客户端1808。
在图18的操作步骤4,MN MQTT客户端1808递送接收到的有效载荷(即,服务层创建请求基元)到MN-CSE 1804(注册者CSE)。
在图18的操作步骤5,<AE>资源在MN-CSEBase下创建(如果AE被成功认证并具有足够访问权限)。
在图18的操作步骤6,MN-CSE 1804发送响应基元到MN MQTT客户端1808,在rs参数中指示创建操作的成功或失败。传出响应基元的to参数被设置为才创建的<AE>资源的URI。cn参数被设置为合适内容;在成功情况下(示出)其被设置为创建的<AE>资源的URI。
在图18的操作步骤7,MN MQTT客户端1808发出PUBLISH消息到相关联的MN MQTT服务器+1812。
在图18的操作步骤8,MN MQTT服务器+1812比较接收到的话题名称(<AE>URI)及其订阅列表且找到与ADN MQTT客户端1814相对应的匹配。MN MQTT服务器+1812转发PUBLISH消息到ADNMQTT客户端1814。
在图18的操作步骤9,ADN MQTT客户端1814递送接收到的有效载荷(即,创建响应基元)到ADN-AE 1802。
一个实施例是一种在MQTT服务器(诸如MQTT服务器+1812)的方法。从应用接收发布请求,应用诸如ADN 1816,其使用预定的与对应用标识符的请求相关的话题过滤器参数,诸如在图18的前提条件步骤9中所示。响应于预定的话题过滤器参数,对于注册者CSE 1804发布消息,其包括临时客户端ID,诸如在图18的前提条件步骤10中所示。从注册者CSE 1804接收消息,包括所指派的应用名称作为有效载荷,诸如图18的前提条件步骤12中所示。所指派的应用名称被提供给应用,诸如在图18的前提条件步骤13中所示。从应用接收订阅请求,包括所指派的应用名称作为话题过滤器的一部分,诸如在图18的前提条件步骤20中所示。
另一个实施例是一种在应用(诸如ADN 1802)处的方法。将发布请求发送到MQTT服务器,诸如MQTT发服务器+1812,其使用预定的与对应用标识符的请求相关的话题过滤器参数,诸如在图18的前提条件步骤9中。从MQTT服务器+1812接收消息,其包括所指派的应用名称作为有效载荷。将订阅请求发送至MQTT服务器1812,包括所指派的应用名称作为话题过滤器的一部分,诸如在图18的前提条件步骤20中。
应该理解,执行图18中所图示的步骤的实体是逻辑实体,其可以以存储在网络节点或计算机系统的存储器中以及在其处理器上执行的软件(即,计算机可执行指令)的形式来实现,网络节点或计算机系统诸如图22C或图22D中所图示的那些。也就是,图18中所图示的方法可以以存储在网络节点的存储器中的软件(即,计算机可执行指令)的形式来实现,网络节点诸如图22C或图22D中所图示的节点或计算机系统,该计算机可执行指令当被节点的处理器执行时,执行图18中所图示的步骤。还应该理解,图18中所图示的任何发射和接收步骤可以由节点的通信电路在节点的处理器和其执行的计算机可执行指令(例如软件)的控制下执行。
图19是图示说明检索服务层操作的示例的流程图。
图19的前提条件步骤。
这些步骤可以在节点之间的网络连接必须被(重新)建立时执行。AE 1802已经注册并被指派了AE-ID。
在图19的前提条件步骤1,ADN-AE 1802引导ADN MQTT客户端1814发出CONNECT消息到与其注册者CSE 1804相关联的MQTT服务器+1812。AE标识符(AE-ID),或者基于<AE>资源名称的本地唯一相关版本,被用作CONNECT消息中的ClientID参数。
在图19的前提条件步骤2,MQTT服务器+1812用指示连接被接受的CNNACK消息来进行响应。
在图19的前提条件步骤3,ADN-AE 1802引导ADN MQTT客户端发出SUBSCRIBE消息到注册者CSE 1804的MQTT服务器+1812。<AE>URI被用于形成SUBSCRIBE消息中的话题过滤器参数。具体地,MQTT特殊字符“/”被附加到<AE>URI以构建话题过滤器串。
在图19的前提条件步骤4,MQTT服务器+1812用指示订阅请求被接收并被处理的SUBACK消息来进行响应。
在图19的前提条件步骤5,IN-CSE 1806引导IN MQTT客户端1820发出CONNECT消息到与该IN 1824相关联的MQTT服务器+1822。IN的CSE标识符(IN-CSE-ID,其在M2M服务提供方域中是唯一的)被用作CONNECT消息中的ClientID参数。
在图19的前提条件步骤6,MQTT服务器+1812用指示连接被接受的CNNACK消息来进行响应。
在图19的前提条件步骤7,IN-CSE 1806引导IN MQTT客户端1820发出SUBSCRIBE消息到IN MQTT服务器+1822。IN-CSE-ID被用于在SUBSCRIBE消息中构建话题过滤器参数。三个单独的话题过滤器串被包括在该参数中:‘<IN-CSE-ID>’加上通过附加MQTT单水平和多水平通配字符到‘<IN-CSE-ID>’而形成的两个附加串。
在图19的前提条件步骤8,MQTT服务器+1822用指示三个订阅请求中每个都被接收且被处理的SUBACK消息来进行响应。
在步骤9-16,MQTT服务器+1822在其发出CONNECT或SUBSCRIBE时充当MQTT客户端。
在图19的前提条件步骤9,MN-CSE 1804引导MN MQTT服务器+1812发出CONNECT消息到IN MQTT服务器+1822(IN MQTT服务器+1822的地址被预先配置)。MN-CSE-ID被用作ClientID参数。
在图19的前提条件步骤10,IN MQTT服务器+1822用指示连接被接受的CONNACK消息来进行响应。
在图19的前提条件步骤11,MN-CSE 1804引导MN MQTT服务器+1812发出SUBSCRIBE消息到IN MQTT服务器+1822。<MN-CSE-ID>URI用于在SUBSCRIBE消息中形成话题过滤器参数串。具体地,MQTT特殊字符“/#”被附加到<MN-CSE-ID>URI以构建话题过滤器串。该串指令IN MQTT服务器+1822以MN-CSEBase的第一水平或低于该水平向MN MQTT服务器+1822转发任何接收到的话题名称。
在图10的前提条件步骤12,IN MQTT服务器+1822用指示订阅请求被接收并被处理的SUBACK消息来进行响应。
在图19的前提条件步骤13,IN-CSE 1806引导IN MQTT服务器+1822发出CONNECT消息到MN MQTT服务器+1822(MN MQTT服务器+1812的地址被预先配置)。IN-CSE-ID被用作ClientID参数。
在图19的前提条件步骤14,MN MQTT服务器+1812用指示连接被接受的CNNACK消息来进行响应。
在图19的前提条件步骤15,IN-CSE 1806引导IN MQTT服务器+1822发出SUBSCRIBE消息到MN MQTT服务器+1822。<IN-CSE-ID>URI被用于在SUBSCRIBE消息中形成话题过滤器参数串。具体地,MQTT特殊字符“/#”被附加到<IN-CSE-ID>URI以构建话题过滤器串。该串指令MN MQTT服务器+1812以IN-CSEBase的第一水平或低于该水平向IN MQTT服务器+1822转发任何接收到的话题名称。
在图19的前提条件步骤16,MN MQTT服务器+1812用指示订阅请求被接收且被处理的SUBACK消息来进行响应。
图19的操作步骤。
下面的步骤假定上面的前提条件步骤已经发生。
在图19的操作步骤1,ADN-AE 1802(“发起者AE”)发出服务层检索请求基元到ADNMQTT客户端1814。基元的to参数是位于<IN-CSEBase>之下的资源的URI(其也被用作MQTT话题名称串)。fr参数是<AE-ID>URI(这是由目标CSE使用来寻址响应)。
在图19的操作步骤2,ADN MQTT客户端1814发出具有请求基元作为其有效载荷的PUBLISH消息到MN MQTT服务器+1812(通过其在图19的前提条件步骤中建立连接)。
在图19的操作步骤3,MN MQTT服务器+1812比较接收到的话题名称(<IN-CSEBase>下的资源URI)及其订阅列表且找到与INMQTT服务器+1822相对应的匹配(参见以上图19的前提条件步骤14)。MN MQTT服务器+1812将PUBLISH消息转发到IN MQTT服务器+1822。
在图19的操作步骤4,IN MQTT服务器+1822比较接收到的话题名称(<IN-CSEBase>下的资源URI)及其订阅列表且找到与IN MQTT客户端相对应的匹配(参见以上图19的前提条件步骤6)。IN MQTT服务器+转发PUBLISH消息到IN MQTT客户端1820。
在图19的操作步骤5,IN MQTT客户端递送接收到的有效载荷(即,检索请求基元)到IN-CSE 1806(目标CSE)。
在图19的操作步骤6,指定的资源内容被检索(如果发起者AE1802具有访问权限)。
在图19的操作步骤7,IN-CSE 1806发出检索响应基元到INMQTT客户端1820。传出基元的to参数被设置为接收到的fr参数(具有附加的“/”的<AE>URI)。cn参数被设置为合适内容;在成功情况下(示出)其被设置为所请求的检索资源的内容。
在图19的操作步骤8,IN MQTT客户端1820发出具有响应基元作为其有效载荷的PUBLISH消息到IN MQTT服务器+1822。
在图19的操作步骤9,IN MQTT服务器+1822比较接收到的话题名称(<AE>的URI,其在<MN-CSEBase>下,具有附加的“/”)及其订阅列表并找到与MN MQTT服务器+1812相对应的匹配(参见以上的前提条件步骤14)。IN MQTT服务器+1822转发PUBLISH消息到MN MQTT服务器+1812。
在图19的操作步骤10,MN MQTT服务器+1812比较接收到的话题名称(<AE>的URI,其在<MN-CSEBase>之下,具有附加的“/”)且找到与ADN-AE相对应的匹配。MN MQTT服务器+1812转发PUBLISH消息到ADN MQTT客户端1814。还参见图16中的话题名称匹配示例。
在图19的操作步骤11,ADN MQTT客户端1814递送检索响应(即,PUBLISH消息的有效载荷)到发起者AE 1802。
一个实施例是在中间节点处的在MQTT服务器+1812使用的方法。从具有在话题过滤器指示中间节点1810和应用1816的应用接收订阅请求,如图19的前提条件步骤3中所示。将订阅请求发送到在基础设施节点1824的MQTT服务器1822,用于具有指示中间节点1810的话题过滤器的话题,如图19的前提条件步骤11中所示。从在基础设施节点1824处的MQTT服务器1822接收订阅请求,用于具有指示基础设施节点1824的话题过滤器的话题,如图19的前提条件步骤15中所示。可以使用在中间节点和基础设施节点处所创建的话题将消息通过应用和基础设施节点之间的中间节点进行转发。
应该理解,执行图19中所图示的步骤的实体是逻辑实体,其可以以存储在网络节点或计算机系统的存储器中以及在其处理器上执行的软件(即,计算机可执行指令)的形式来实现,网络节点或计算机系统诸如图22C或图22D中所图示的那些。也就是,图19中所图示的方法可以以存储在网络节点的存储器中的软件(即,计算机可执行指令)的形式来实现,网络节点诸如图22C或图22D中所图示的节点或计算机系统,该计算机可执行指令,当被节点的处理器执行时,执行图19中所图示的步骤。还应该理解,图19中所图示的任何发射和接收步骤可以由节点的通信电路在节点的处理器和其执行的计算机可执行指令(例如软件)的控制下执行。
图20是图示说明在增强型oneM2M ROA实施例中的MQTTCSF的图。上述的MQTT服务器+功能可以实现为扩展软件库——其不需要被集成到CSE中以便起作用。但是,如果MQTT发出和递送功能更紧密与其他服务功能耦合,额外优化是可能的,如图20中所示。
例如,如果MQTT服务器+2004和CSE 2002是分开的,动态建立和拆除连接会较为麻烦,因为CSE 2002将需要总是知道MQTT服务器+2004所维持的连接(假定经由询问机制,如果它们是不同的实体)以便管理它们。集成到CSE 2002会减轻该问题。而且,AE-ID预先指派将需要少得多的协议开销,因为集成的MQTT服务器2004可以传递请求AE-ID预先指派的触发串直接到CSE 2002以便处理且直接返回结果到请求AE。
应该理解,图20中所图示的功能可以以存储在M2M网络的节点(例如,服务器、网关、设备或其他计算机系统)的存储器中以及在其处理器上执行的软件(即,计算机可执行指令)的形式来实现,M2M网络的节点诸如图22C或图22D中所图示的那些之一。
界面(诸如图形用户界面(GUI))可以被用于帮助用户使用MQTT控制和/或配置与服务层ROA互联相关的功能。图21是图示说明界面2102的图,其允许用户确定标识符号码以及注册和解除注册设备。应该理解,可以使用显示器来产生界面2102,显示器诸如在下面所述的图22C-D中所示的那些。
示例M2M/IoT/WoT通信系统
图22A是示例机器到机器(M2M)、物联网(IoT)、或者物联网(WoT)通信系统10的图,其中可以实现一个或多个公开的实施例。一般地,M2M技术为IoT/WoT提供建筑块,且任何M2M设备、M2M网关、M2M服务器或M2M服务平台可以是IoT/WoT的组件或节点以及IoT/WoT服务层等等。通信系统10可以被用于实现公开的实施例的功能且可以包括功能和逻辑实体,诸如发起者AE 1802、MQTT服务器+1812、1822和2004和CSE 1804、1806和2002以及创建GUI2102的逻辑实体。
如图22A中所示,M2M/IoT/WoT通信系统10包括通信网络12。通信网络12可以是固定网络(例如,以太网、光纤、ISDN、PLC等)或者无线网络(例如WLAN、蜂窝等)或者异构网络的网络。例如,通信网络12可以由多个访问网来组成,其提供诸如语音、数据、视频、消息传递、广播等的内容给多个用户。例如,通信网络12可以采用一个或多个信道访问方法,诸如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等。进一步,通信网络12可以包括其他网络,诸如核心网、互联网、传感器网络、工业控制网、个域网、融合个人网、卫星网、家庭网或者企业网。
如图22A中所示,M2M/IoT/WoT通信系统10可以包括基础设施域和场域。基础设施域指的是端到端M2M部署的网络侧,而场域指的是区域网络,通常在M2M网关之后。场域和基础设施域可以都包括各种不同网络节点(例如,服务器、网关、设备等)。例如,场域可以包括M2M网关14和终端设备18。将认识到,任意数目的M2M网关设备14和M2M终端设备18可以按需要被包括在M2M/IoT/WoT通信系统中。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包括,但不限于,平板、智能电话、医疗设备、温度和天气监视器、联网车辆、智能电表、游戏机、个人数字助理、健康和健身监视器、灯光、调温器、电器、车库门以及其他基于致动器的设备、安全设备和智能插座。
参看图22B,场域中的图示说明的M2M服务层22提供用于M2M应用20、M2M网关设备14和M2M终端设备18的服务以及通信网络12。通信网络12可以用于实现所公开的实施例的功能且可以包括功能和逻辑实体,诸如发起者AE 1802、MQTT服务器+1812、1822和2004和CSE 1804、1806和2002。M2M服务层22可以由一个或多个服务器、计算机、设备、虚拟机(例如云/存储去等等)等来实现,包括例如在下面所述的图22C和22D中所图示的设备。将理解,M2M服务层22可以按所需与任何数目的M2M应用、M2M网关14、M2M终端设备18和通信网络12来通信。M2M服务层22可以由网络的一个或多个节点来实现,其可以包括服务器、计算机、设备等。M2M服务层22提供应用到M2M终端设备18、M2M网关14和M2M应用20的服务能力。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’,其可以包括服务器、计算机、设备、虚拟机(例如云计算/存储去等等)等。
还参看图22B,M2M服务层22和22’提供服务递送能力的核心集合,多样的应用和行业垂直度可以被利用。这些服务能力使得M2M应用20和20’能够与设备交互且执行功能,诸如数据收集、数据分析、设备管理、安全、计费、服务/设备发现等等。必要地,这些服务能力释放实现这些功能的负担的应用,因此简化了应用开发并减少市场的成本和时间。服务层22和22’还使得M2M应用20和20’能够通过各种网络12和12’关于服务层22和22’提供的服务来通信。
本申请的方法可以被实现为服务层22和22’的一部分。服务层22和22’是软件中间件层,其通过应用编程接口(API)的集合和底层网络接口来支持增值服务能力。ETSI M2M和oneM2M都使用可以包含本申请的连接方法的服务层。ETSI M2M的服务层被称为服务能力曾(SCL)。SCL可以在M2M设备(这里其被称为设备SCL(DSCL))、网关(这里其被称为网关SCK(GSCL))和/或网络节点(这里其被称为网络SCL(NSCL))内实现。oneM2M服务层支持公共服务功能(CSF)(即服务能力)的集合。一个或多个特定类型的CSF的集合的实例被称为公共服务实体(CSE),其可以在不同类型的网络节点(例如,基础设施节点、中间节点、专用节点)上托管。进一步,本申请的连接方法可以被实现为使用面向服务体系架构(SOA)和/或面向资源体系架构(ROA)来访问服务的M2M网络的一部分,诸如本申请的连接方法。
在一些实施例中,M2M应用20和20’可以结合所公开的系统和方法来使用。M2M应用20和20’可以包括与UE或网关交互的应用且还可以结合其他公开的系统和方法来使用。
在一个实施例中,诸如发起者AE 1802、MQTT服务器+1812、1822和2004以及CSE1804、1806和2002的逻辑实体以及创建GUI 2102的逻辑实体可以在被M2M节点托管的M2M服务层实例内被托管,M2M节点诸如M2M服务器、M2M网关或M2M设备,如图22B中所示。例如,诸如发起者AE 1802、MQTT服务器+1812、1822和2004以及CSE 1804、1806和2002的逻辑实体以及创建GUI 2102的逻辑实体可以包括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)的一部分。不管是在ETSIM2M架构的DSCL、GSCL或NSCL中、在3GPP MTC架构的服务能力服务器(SCS)中、在oneM2M架构的CSF或CSE中,还是在网络的一些其他节点中体现,服务层的实例可以被实现为逻辑实体(例如,软件、计算机可执行指令等),在网络中的一个或多个独立节点上执行,包括服务器、计算机和其他计算设备或节点,或者作为一个或多个现有节点的一部分。作为示例,服务层或其组件的实例可以以运行在具有如下面所述的图22C或图22D中所图示的一般架构的网络节点(例如,服务器、计算机、网关、设备等)上的软件的形式来实现。
进一步,本申请的逻辑实体,诸如发起者AE 1802、MQTT服务器+1812、1822和2004以及CSE 1804、1806和2002,以及用于创建GUI 2102的逻辑实体,可以被实现为M2M网络的一部分,使用面向服务的体系架构(SOA)和/或面向资源的体系架构(ROA)来访问本申请的服务。
图22C是诸如M2M设备18、M2M网关14或M2M服务器等的M2M网络节点30的示例硬件/软件架构的框图。节点30可以执行或包括逻辑实体,诸如发起者AE 1802、MQTT服务器+1812、1822和2004以及CSE 1804、1806和2002,以及用于创建GUI 2102的逻辑实体。设备30可以是如图22A-B中所示的M2M网络的一部分或非M2M网络的一部分。如图22C中所示,M2M节点30可以包括处理器32、不可移除存储器44、可移除存储器46、扬声器/麦克风38、小键盘40、显示器、触摸板和/或指示器42、电源48、全球定位系统(GPS)芯片集50以及其他外围52。节点30还可以包括通信电路,诸如收发器34和发射/接收元件36。将认识到,M2M节点30可以包括任何前述元件的子组合而剩余部分与实施例相一致。该节点可以是实现这里所述的SMSF功能的节点。
处理器32可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)、状态机等。一般地,处理器21可以执行存储在节点的存储器(例如存储器44和/或存储器46)中的计算机可执行指令以便执行节点的各种所需功能。例如,处理器32可以执行信号编码、数据处理、电力控制、输入/输出处理和/或使得M2M节点30能够在无线或有线环境中操作的任何其他功能。处理器32可以运行应用层程序(例如浏览器)和/或无线电访问层(RAN)程序和/或其他通信程序。处理器32可以执行安全操作,诸如认证、安全密钥协定、和/或密码操作,诸如在访问层和/或应用层。
如图22C中所示,处理器32耦合到其通信电路(例如收发器34和发射/接收元件36)。处理器32,通过执行计算机可执行指令,可以控制通信电路以便使得节点30与其他节点经由其连接到的网络通信。特别是,处理器32可以控制通信电路以便执行这里和权利要求书中的发射和接收步骤。尽管图22C描绘了处理器32和收发器34为分别的组件,将认识到,处理器32和收发器34可以被集成在一起到电子封装或芯片中。
发射/接收元件36可以被配置为发射信号到其他M2M节点或者从其他M2M节点接收信号,其他M2M节点包括M2M服务器、网关、设备等。例如,在实施例中,发射/接收元件36可以是被配置为发射和/或接收RF信号的天线。发射/接收元件36可以支持各种网络和空中接口,诸如WLAN、WPAN、蜂窝等。在实施例中,发射/接收元件36可以是被配置为发射和/或接收例如IR、UV或可见光信号的发射器/检测器。在另一实施例中,发射/接收元件36可以被配置为发射和接收RF和光信号二者。将认识到,发射/接收元件36可以被配置为发射和/或接收无线或有线信号的任何组合。
此外,尽管发射/接收元件36在图22C中被描绘为单个元件,M2M节点30可以包括任何数目的发射/接收元件36。更具体地,M2M节点30可以采用MIMO技术。因此,在实施例中,M2M节点30可以包括两个或更多发射/接收元件36(例如,多个天线)用于发射和接收无线信号。
收发器34可以被配置为调制要由发射/接收元件36发射的信号以及解调由发射/接收元件36接收的信号。如上所注意到的,M2M节点30可以具有多模式性能。因此,收发器34可以包括多个收发器用于使得M2M节点30能够经由多个RAT(诸如UTRA和IEEE 802.11)来通信。
处理器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,其被配置为提供与M2M节点30的当前位置有关的位置信息(例如经纬度)。将认识到,M2M节点30可以通过任何合适位置确定方法来获取位置信息,同时保持与实施例的一致。
处理器32可以进一步被耦合到其他外围52,其可以包括提供附加特征、功能和/或有线或无线连接性的一个或多个软件和/或硬件模块。例如,外围52可以包括加速计、电子罗盘、卫星收发器、传感器、数码相机(用于照片或视频)、通用串行总线(USB)端口、振动设备、电视收发器、免提耳机、模块、调频(FM)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器等。
图22D是示例计算系统90的框图,其可以被用于实现M2M网络的一个或多个节点,诸如M2M服务器、网关、设备或其他节点。计算系统90可以包括计算机或服务器并且可以主要由计算机可读指令来控制,其形式可以是软件,无论从哪里或怎样存储或访问这样的软件。计算系统90可以执行或包括逻辑实体,诸如起源AE 1802、MQTT服务器+1812、1822和2004以及CSE 1804、1806和2002,以及用于创建GUI 2102的逻辑实体。计算系统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可以包含负责将指令从CPU 91通信到诸如打印机94、键盘84、鼠标95和磁盘驱动器85的外围的外围控制器83。
由显示器控制器96控制的显示器86被用于显示由计算系统90生成的视觉输出。这样的视觉输出可以包括文本、图形、动画图形和视频。显示器86可以利用基于CRT的视频显示器、基于LCD的平板显示器、基于气体等离子的平板显示器或触摸板来实现。显示器控制器96包括生成发送到显示器86的视频信号所需的电子组件。
进一步,计算系统90可以包含通信电路,诸如网络适配器97,其可以用于将计算系统90连接到外部通信网络,诸如图22A和图22B的网络12,以使得计算系统90能够与网络的其他节点通信。
应该理解,这里所述的任何或所有系统、方法和处理可以以在计算机可读存储介质上存储的计算机可执行指令(即程序代码)的方式来体现,该指令当被诸如M2M网络的节点,包括例如M2M服务器、网关、设备等的机器执行时,执行和/或实现这里所述的系统、方法和处理。具体地,上述的任何步骤、操作或功能,包括网关、UE、UE/GW或者移动核心网、服务层或网络应用提供方的任何节点的操作,可以以这样的计算机可执行指令的形式来实现。逻辑实体,诸如起源AE1802、MQTT服务器+1812、1822和2004以及CSE 1804、1806和2002,以及用于创建GUI 2102的逻辑实体,可以体现为存储在计算机可读存储介质上的计算机可执行指令的形式。计算机可读存储介质包括易失性和非易失性、可移除和不可移除介质,以用于信息存储的任何非暂时性(即,有形的或物理的)方法或技术来实现,但这样的计算机可读存储介质不包括信号。计算机可读存储介质包括,但不限于,RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁条带、磁盘存储或其他磁存储设备、或者能够用于存储所需信息且能够被计算机访问的任何其他物理介质。
在描述本公开内容的主题的优选实施例时,如图中所图示,特定术语被用于清楚的目的。但是,所要求保护的主题不旨在被限制为这样选择的特定术语,且应该理解,每个特定元素包括类似方式操作以完成类似目的的所有技术等价物。
这个书写的描述使用示例来公开发明,包括最佳模式,还使得任何技术人员能够实践发明,包括做出和使用任何设备或系统并执行任何合并的方法。发明的可要求专利保护的范围由权利要求限定,并且可以包括本领域技术人员想到的其他示例。如果它们具有不与权利要求文字语言不同的结构元素,或者如果它们包括具有与权利要求的文字语言的非实质区别的等价结构元素,这样的其他示例旨在落入权利要求的范围之内。
Claims (14)
1.一种由节点的消息排队遥测传输MQTT服务器使用的方法,所述方法包括:
从使用与对应用标识符的请求有关的预定的话题过滤器参数的应用接收发布请求;
响应于所述预定的话题过滤器参数,发布注册者公共服务实体CSE的消息,所述消息包括临时客户端标识符;
从注册者CSE接收消息,所述消息包括所指派的应用名称作为有效载荷;
提供所指派的应用名称给所述应用;以及
从所述应用接收订阅请求,所述订阅请求包括所指派的应用名称作为话题过滤器的一部分。
2.如权利要求1所述的方法,其中,所述临时客户端标识符是空标识符。
3.如权利要求1所述的方法,其中,所述节点实现消息排队遥测传输服务器。
4.如权利要求3所述的方法,其中,所述消息排队遥测传输服务器包括客户端功能。
5.如权利要求1所述的方法,其中,所述注册者是注册者公共服务实体。
6.一种由节点的消息排队遥测传输MQTT客户端使用的方法,所述方法包括:
从所述节点的应用将发布请求发送到使用与对应用标识符的请求有关的预定的话题过滤器参数的MQTT服务器;
从所述MQTT服务器接收消息,所述消息包括所指派的应用名称作为有效载荷;以及
发送订阅请求到所述MQTT服务器,所述订阅请求包括所指派的应用名称作为所述话题过滤器的一部分。
7.如权利要求6所述的方法,其中,所述节点实现应用。
8.如权利要求7所述的方法,其中,所述服务器是包括客户端功能的消息排队遥测传输服务器。
9.一种由节点使用的方法,所述方法包括:
利用指示中间节点和应用的话题过滤器,从应用接收订阅请求;
利用指示基础设施节点的话题过滤器,将对于话题的订阅请求发送到在所述基础设施节点处的消息排队遥测传输MQTT服务器;以及
利用指示所述基础设施节点的话题过滤器,从在所述基础设施节点处的所述MQTT服务器接收对于话题的订阅请求,其中,使用在所述中间节点和所述基础设施节点处所创建的话题,通过所述中间节点在所述应用和所述基础设施节点之间转发消息。
10.如权利要求9所述的方法,其中,所述节点是中间节点。
11.如权利要求9所述的方法,其中,所述节点实现消息排队遥测传输服务器。
12.如权利要求11所述的方法,其中,所述消息排队遥测传输服务器包括客户端功能。
13.如权利要求9所述的方法,其中,在所述基础设施节点处的所述服务器是消息排队遥测传输服务器。
14.一种节点,所述节点包括处理器和存储器,所述节点进一步包括存储在所述节点的所述存储器中的计算机可执行指令,所述指令当被所述节点的所述处理器执行时,使得所述节点实现根据权利要求1-13中任意一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462027129P | 2014-07-21 | 2014-07-21 | |
US62/027,129 | 2014-07-21 | ||
PCT/US2015/041311 WO2016014516A1 (en) | 2014-07-21 | 2015-07-21 | Service layer interworking using mqtt protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106797391A CN106797391A (zh) | 2017-05-31 |
CN106797391B true CN106797391B (zh) | 2020-05-19 |
Family
ID=53785724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580045003.XA Expired - Fee Related CN106797391B (zh) | 2014-07-21 | 2015-07-21 | 使用mqtt协议的服务层交互工作 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10313858B2 (zh) |
EP (2) | EP3576379B1 (zh) |
JP (2) | JP6367465B2 (zh) |
KR (2) | KR101877188B1 (zh) |
CN (1) | CN106797391B (zh) |
WO (1) | WO2016014516A1 (zh) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105611484B (zh) * | 2014-11-03 | 2020-07-10 | 中兴通讯股份有限公司 | 一种m2m节点的管理方法和装置 |
WO2017197273A1 (en) | 2016-05-12 | 2017-11-16 | Convida Wireless, Llc | Connecting to virtualized mobile core networks |
CN107404512B (zh) | 2016-05-19 | 2021-03-05 | 华为技术有限公司 | 资源订阅方法、资源订阅装置和资源订阅系統 |
EP3523724B1 (en) | 2016-10-07 | 2023-12-06 | Convida Wireless, LLC | Service layer resource management for generic interworking and extensibility |
WO2018071773A2 (en) * | 2016-10-13 | 2018-04-19 | Convida Wireless, Llc | Enabling multicast for service layer group operation |
GB2570427B (en) * | 2016-11-25 | 2021-11-17 | Mitsubishi Heavy Ind Mach Systems Ltd | Client, broker, communication system, communication method, and program |
EP3331197B1 (en) * | 2016-12-02 | 2020-08-26 | Advanced Digital Broadcast S.A. | A method and system for monitoring a connection status of a device |
KR102004160B1 (ko) | 2016-12-22 | 2019-07-26 | 경희대학교 산학협력단 | 사물인터넷 환경에서 클라이언트 식별자를 이용하여 클라이언트 노드들을 논리적으로 그룹화하는 장치 및 방법 |
JP6584440B2 (ja) * | 2017-01-27 | 2019-10-02 | キヤノン株式会社 | 情報処理システム、情報処理ステムの制御方法およびそのプログラム。 |
WO2018145056A1 (en) * | 2017-02-06 | 2018-08-09 | Pcms Holdings, Inc. | Securing communication of devices in the internet of things |
US11064550B2 (en) * | 2017-03-31 | 2021-07-13 | Ford Global Technologies, Llc | Method and apparatus for mobile session establishment with resilient connection strategy |
EP3610631A1 (en) * | 2017-04-13 | 2020-02-19 | Telefonaktiebolaget LM Ericsson (Publ) | Configuration of an m2m device |
US11323519B2 (en) * | 2017-04-19 | 2022-05-03 | Microsoft Technology Licensing, Llc | Internet of things pub-sub data publisher |
WO2018202276A1 (de) * | 2017-05-02 | 2018-11-08 | Siemens Aktiengesellschaft | Verfahren zum betreiben eines automatisierungsnetzwerks, automatisierungsnetzwerk und computerprogrammprodukt |
EP3419250B1 (en) * | 2017-06-23 | 2020-03-04 | Vestel Elektronik Sanayi ve Ticaret A.S. | Methods and apparatus for distributing publish-subscribe messages |
TWI674806B (zh) * | 2017-08-28 | 2019-10-11 | 亞旭電腦股份有限公司 | 訊息推送系統、客戶設備及其訊息推送方法 |
TWI699104B (zh) * | 2017-08-30 | 2020-07-11 | 威摩科技股份有限公司 | 連網裝置及其控制系統與方法 |
TWI659659B (zh) * | 2017-09-06 | 2019-05-11 | 國立臺灣大學 | 車輛資訊及環境監測複合式車載系統及其資料處理及傳輸方法 |
US11381656B2 (en) * | 2017-09-15 | 2022-07-05 | Convida Wireless, Llc | Service layer message templates in a communications network |
US11088981B2 (en) | 2017-09-26 | 2021-08-10 | Amazon Technologies, Inc. | Receiving a data object at a device |
KR102119456B1 (ko) | 2017-09-26 | 2020-06-05 | 경희대학교 산학협력단 | 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법 |
US10635687B2 (en) | 2017-09-26 | 2020-04-28 | Amazon Technologies, Inc. | Delivering a data object to a device |
WO2019067644A1 (en) * | 2017-09-26 | 2019-04-04 | Amazon Technologies, Inc. | RECEIVING A DATA OBJECT AT A DEVICE LEVEL |
EP3692441A1 (en) * | 2017-10-06 | 2020-08-12 | Convida Wireless, LLC | Enabling a fog service layer with application to smart transport systems |
CN107835445B (zh) * | 2017-11-01 | 2020-06-16 | 海信视像科技股份有限公司 | 基于mqtt协议的电视控制方法、移动终端及电视 |
KR102022602B1 (ko) * | 2017-11-20 | 2019-11-04 | 아주대학교산학협력단 | 게시-구독 메시지 서비스 방법 |
CN108418799A (zh) * | 2018-02-01 | 2018-08-17 | 北京云知声信息技术有限公司 | 长连接的建立方法及系统 |
GB2573516A (en) * | 2018-05-06 | 2019-11-13 | Bashir Anwar | Coded modules to re-purpose control |
KR102074916B1 (ko) * | 2018-08-01 | 2020-02-07 | 충북대학교 산학협력단 | Rpl 기반 분산 mqtt 브로커 구조 |
CN110868374A (zh) * | 2018-08-27 | 2020-03-06 | 京东方科技集团股份有限公司 | 安全认证方法、服务器及客户端设备 |
WO2020063048A1 (zh) * | 2018-09-29 | 2020-04-02 | 深圳前海达闼云端智能科技有限公司 | Pon网络及其通讯方法,olt,mqtt-sn网关,onu及mqtt服务器 |
KR102127652B1 (ko) * | 2018-10-31 | 2020-06-29 | 아주대학교산학협력단 | 발행 및 구독 통신 시스템 및 그 동작 방법 |
KR102093314B1 (ko) * | 2018-11-05 | 2020-03-25 | 유비라커산업(주) | Mqtt 프로토콜을 이용한 메시지 전달 시스템 및 그의 메시지 전달 방법 |
US11363104B2 (en) * | 2018-12-18 | 2022-06-14 | Hewlett Packard Enterprise Development Lp | Subscription based directory services for IOT devices |
CN111355756B (zh) * | 2018-12-21 | 2022-08-05 | 航天科工惯性技术有限公司 | 一种基于mqtt协议的gnss接收机数据通讯方法 |
KR102123314B1 (ko) * | 2019-02-18 | 2020-06-17 | 금오공과대학교 산학협력단 | 단방향 데이터 전달기법을 적용한 mms 기반의 산업용 사물인터넷 플랫폼 |
CN110445614B (zh) * | 2019-07-05 | 2021-05-25 | 创新先进技术有限公司 | 证书申请方法、装置、终端设备、网关设备和服务器 |
US11095460B2 (en) | 2019-07-05 | 2021-08-17 | Advanced New Technologies Co., Ltd. | Certificate application operations |
TWI726431B (zh) * | 2019-10-01 | 2021-05-01 | 中華電信股份有限公司 | 一種任務式工作節點系統及方法 |
CN110995617B (zh) * | 2019-10-31 | 2022-06-03 | 南京戎光软件科技有限公司 | 基于mqtt的数据报送方法、装置、计算机设备和存储介质 |
CN110855774B (zh) * | 2019-11-11 | 2021-08-10 | 卡乐电子(苏州)有限责任公司 | 基于mqtt协议的自动配置的物联网系统 |
US11503098B2 (en) * | 2019-12-26 | 2022-11-15 | Akamai Technologies, Inc. | Embedding MQTT messages in media streams |
US11399069B2 (en) | 2020-04-06 | 2022-07-26 | Computime Ltd. | Method and apparatus to implement a home computing cloud |
WO2021207191A1 (en) * | 2020-04-06 | 2021-10-14 | Computime Ltd. | Method and apparatus to implement a home computing cloud |
US11876876B2 (en) * | 2020-05-28 | 2024-01-16 | Siemens Aktiengesellschaft | Communication conversion method, gateway device, network system and computer medium |
CN111669315B (zh) * | 2020-06-04 | 2022-11-18 | 拉扎斯网络科技(上海)有限公司 | 消息推送方法、装置、系统、电子设备及可读存储介质 |
CN111935296B (zh) * | 2020-08-18 | 2023-02-03 | 成都长虹网络科技有限责任公司 | 一种高可用无限mqtt消息服务扩容的系统 |
CN112333115B (zh) * | 2020-08-19 | 2024-02-09 | 深圳Tcl新技术有限公司 | 数据传输方法、终端设备、服务器及存储介质 |
KR102219380B1 (ko) * | 2020-11-16 | 2021-02-24 | 주식회사 자임 | Mqtt 기반 통신에서 트래픽에 의한 지연을 감소시키기 위한 방법 및 시스템 |
CN114579324A (zh) * | 2020-11-18 | 2022-06-03 | 北京中祥英科技有限公司 | 通信方法、终端、服务器、通信系统、计算机设备和介质 |
US11811884B1 (en) * | 2020-12-11 | 2023-11-07 | Amazon Technologies, Inc. | Topic subscription provisioning for communication protocol |
US11902239B2 (en) * | 2021-01-11 | 2024-02-13 | Salesforce, Inc. | Unified application messaging service |
US11303521B1 (en) * | 2021-01-20 | 2022-04-12 | Dell Products L.P. | Support platform with bi-directional communication channel for performing remote actions on computing devices |
CN112731852B (zh) * | 2021-01-26 | 2022-03-22 | 南通大学 | 一种基于边缘计算的建筑能耗监测系统及其监测方法 |
EP4301017A4 (en) * | 2021-03-01 | 2024-04-10 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | INFORMATION TRANSMISSION METHOD AND APPARATUS, DEVICE AND STORAGE MEDIUM |
CN113162675B (zh) * | 2021-03-09 | 2022-04-12 | 浙江吉利控股集团有限公司 | 基于窄带卫星通信的数据传输系统、方法、装置及电子设备 |
CN113259161B (zh) * | 2021-05-11 | 2024-03-19 | 商汤国际私人有限公司 | 应用管理方法及装置、电子设备和存储介质 |
KR102487439B1 (ko) * | 2021-09-13 | 2023-01-11 | 건국대학교 산학협력단 | Mqtt 프로토콜에서 발행자와 구독자 사이의 종단 메시지 수신 확인 방법 및 이를 수행하는 시스템 |
CN113810495A (zh) * | 2021-09-17 | 2021-12-17 | 深圳市合信自动化技术有限公司 | 一种支持mqtt的楼宇控制器及其通讯方法 |
CN114125010B (zh) * | 2021-11-03 | 2024-02-20 | 中科智城(广州)信息科技有限公司 | 一种基于mqtt协议的集中控制器控制方法、系统及设备 |
CN113794782A (zh) * | 2021-11-16 | 2021-12-14 | 中建八局第二建设有限公司 | 一种基于中间件和mqtt协议的物联网通信系统和方法 |
TWI800114B (zh) * | 2021-11-24 | 2023-04-21 | 國立勤益科技大學 | 物聯網動態主題資訊安全方法及其應用 |
CN116436970B (zh) * | 2022-06-29 | 2023-12-12 | 上海铁路通信有限公司 | 一种基于mqtt协议的多客户端多串口通信方法及系统 |
CN115914197A (zh) * | 2022-11-29 | 2023-04-04 | 重庆长安汽车股份有限公司 | 基于mqtt协议的远程车控系统及方法 |
CN117201609B (zh) * | 2023-09-05 | 2024-02-20 | 中国船舶集团有限公司第七一九研究所 | 一种面向舰船的采集作动设备数据使用和存储管理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101331459A (zh) * | 2005-12-03 | 2008-12-24 | 国际商业机器公司 | 对应用程序产生的日志数据进行远程监视的方法和设备 |
CN103079176A (zh) * | 2012-12-31 | 2013-05-01 | Tcl集团股份有限公司 | 一种遥控电子设备的方法及系统和移动终端及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0305066D0 (en) | 2003-03-06 | 2003-04-09 | Ibm | System and method for publish/subscribe messaging |
US8250150B2 (en) * | 2004-01-26 | 2012-08-21 | Forte Internet Software, Inc. | Methods and apparatus for identifying and facilitating a social interaction structure over a data packet network |
KR100744786B1 (ko) * | 2005-11-03 | 2007-08-02 | 엘지전자 주식회사 | 미디어 스트림 전송 시스템 및 방법 |
GB201109312D0 (en) * | 2011-06-03 | 2011-07-20 | Vodafone Ip Licensing Ltd | Machine to machine communications |
US20130179791A1 (en) * | 2011-12-16 | 2013-07-11 | Webotics Inc. | System and method for real-time data in a graphical user interface |
-
2015
- 2015-07-21 WO PCT/US2015/041311 patent/WO2016014516A1/en active Application Filing
- 2015-07-21 KR KR1020177004684A patent/KR101877188B1/ko active IP Right Grant
- 2015-07-21 KR KR1020187018965A patent/KR20180079475A/ko active Application Filing
- 2015-07-21 EP EP19180085.3A patent/EP3576379B1/en active Active
- 2015-07-21 EP EP15747886.8A patent/EP3195566B1/en active Active
- 2015-07-21 JP JP2017503138A patent/JP6367465B2/ja not_active Expired - Fee Related
- 2015-07-21 US US15/327,146 patent/US10313858B2/en active Active
- 2015-07-21 CN CN201580045003.XA patent/CN106797391B/zh not_active Expired - Fee Related
-
2018
- 2018-07-04 JP JP2018127609A patent/JP6692862B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101331459A (zh) * | 2005-12-03 | 2008-12-24 | 国际商业机器公司 | 对应用程序产生的日志数据进行远程监视的方法和设备 |
CN103079176A (zh) * | 2012-12-31 | 2013-05-01 | Tcl集团股份有限公司 | 一种遥控电子设备的方法及系统和移动终端及电子设备 |
Non-Patent Citations (1)
Title |
---|
MQTT Protocol Binding Technical Specification;oneM2M partners;《URL:ftp://ftp.onem2m.org/Work Programme/WI-0014/old/oneM2M-TS-0010-MQTT Protocol Binding-v-0.2.0(rm).doc》;20140709;第1到第27页 * |
Also Published As
Publication number | Publication date |
---|---|
KR20170033399A (ko) | 2017-03-24 |
JP6692862B2 (ja) | 2020-05-13 |
EP3195566A1 (en) | 2017-07-26 |
JP2017523519A (ja) | 2017-08-17 |
EP3576379B1 (en) | 2021-09-01 |
KR20180079475A (ko) | 2018-07-10 |
JP2018160272A (ja) | 2018-10-11 |
WO2016014516A1 (en) | 2016-01-28 |
CN106797391A (zh) | 2017-05-31 |
EP3576379A1 (en) | 2019-12-04 |
US20180213378A1 (en) | 2018-07-26 |
KR101877188B1 (ko) | 2018-07-10 |
JP6367465B2 (ja) | 2018-08-01 |
EP3195566B1 (en) | 2019-09-04 |
US10313858B2 (en) | 2019-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106797391B (zh) | 使用mqtt协议的服务层交互工作 | |
KR102046700B1 (ko) | 메시지 버스 서비스 디렉토리 | |
KR101984413B1 (ko) | 서비스 레이어를 통해 제3자 서비스들에 대한 액세스를 가능하게 하는 시스템들 및 방법들 | |
KR102084104B1 (ko) | 종단간 m2m 서비스 계층 세션 | |
JP6364069B2 (ja) | デバイストリガ | |
EP3298806B1 (en) | Methods and apparatus for analyzing and grouping service layer subscriptions and notifications for enhanced efficiency | |
CN109964495B (zh) | 应用的服务层移动性管理 | |
WO2017023998A1 (en) | Mechanisms for ad hoc service discovery | |
KR20210131436A (ko) | 허가 기반 리소스 및 서비스 발견 | |
US10992578B2 (en) | Message retargeting in machine-to-machine service layer communications | |
JP2017536596A (ja) | サービス指向アーキテクチャ(soa)に基づくスケーラブル課金システム | |
JP2018506778A (ja) | サービス層におけるリソースリンク管理 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200519 |
|
CF01 | Termination of patent right due to non-payment of annual fee |