CN111886845A - 在通信互连装置网络中执行空中下载(ota)升级的方法和装置 - Google Patents
在通信互连装置网络中执行空中下载(ota)升级的方法和装置 Download PDFInfo
- Publication number
- CN111886845A CN111886845A CN201980021565.9A CN201980021565A CN111886845A CN 111886845 A CN111886845 A CN 111886845A CN 201980021565 A CN201980021565 A CN 201980021565A CN 111886845 A CN111886845 A CN 111886845A
- Authority
- CN
- China
- Prior art keywords
- ota
- server
- network
- upgrade
- client device
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 33
- 230000008859 change Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 229910002091 carbon monoxide Inorganic materials 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/672—Short addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/681—Types of network addresses using addresses for wireless personal area networks or wireless sensor networks, e.g. Zigbee addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
- Air Conditioning Control Device (AREA)
- Stored Programmes (AREA)
Abstract
一种客户端装置的空中下载(OTA)数据升级或更新的方法(50),以及被布置用于其的服务器(19)和在网络(1)中通信互连的网络节点或客户端装置(3,5)。在正在进行的OTA数据升级期间,在服务器(19)等待来自所选择的OTA客户端(5)的响应或请求消息超时(54)的情况下,OTA服务器(19)检查是否是所选择的OTA客户端(5)的网络地址变化(51)导致OTA服务器超时。
Description
技术领域
本公开总体上涉及通信互连装置网络中的通信和控制,并且尤其涉及例如在住宅、办公室、零售、酒店和工业的各种不同应用中使用的大规模网状网络中的这种装置的空中下载(OTA)升级或更新。
背景技术
无线网状网络(WMN)、无线个人区域网(WPAN)或者一般的包括多个通信互连装置的通信网络,通常包括多个网络端节点、网络中继节点,诸如网桥、交换机和其他电气基础设施装置和设备。这些节点装置通常由至少一个网络控制或协调器装置控制,例如,其可以提供对其他网络和因特网的访问。这种网络控制或协调器装置一般称为网关装置。
这种通信装置的示例是用户前置设备(CPE),例如具有通信能力的照明装置、物联网(IoT)装置以及用于移动电话和数据通信的用户设备(UE)。通过联网装置或节点交换数据的网络协议通常是可用的,并被称为基于ZigBeeTM、BluetoothTM以及WiFi的无线网络协议,和诸如DALITM(数字可寻址照明接口)、DSI(数字串行接口)、DMX(数字多路复用)和KNX(基于KNX的系统)的有线总线网络。
例如,装置可以使用蓝牙低能量(BLE)、网状协议或ZigBee协议来以单播模式和广播模式中的任一种进行通信。例如,具有ZigBee和BLE连接性的所谓的组合节点装置可以作为移动电话和基于ZigBee的照明网络之间的临时桥接节点来操作。
ZigBee网络代表了一种低功率/低成本的无线网络,其允许网状拓扑中的装置之间的多跳通信。ZigBee装置提供了降低的功耗和成本,以及网状联网能力,这使得它们适用于大规模部署。ZigBee网状网络的典型应用示例包括住宅自动化、楼宇自动化、零售服务、智能能量和无线室内照明系统。
网络及其装置的入网初始化是如下过程,在该过程中,当新装置被添加到现有网络中时,或者根据设计目标或规范,在安装和测试网络的节点装置、网关设备和通信设施之后,建立新网络。
例如,在ZigBee网络中,在网络的入网初始化之后,每个节点广播装置通告包或消息,包括相应节点的地址信息,诸如其特定网络地址和/或媒体访问控制(MAC)地址。装置的MAC地址是分配给装置的网络接口控制器(NIC)的唯一标识符,用于网络数据链路层的通信。利用装置通告包,网络网关装置接收用于通信和控制目的的网络中的相应节点的地址信息,也称为短地址,并且可以获得用于加密网络中装置之间的通信的网络密钥。
例如,智能电气装置或电子装置(诸如ZigBee网络中的智能照明装置)通常具有内置软件,并且在其整个生命周期中需要多次升级或更新其软件。当装置安装在端用户的站点处时,升级或更新它们的最方便的方式是执行空中下载(OTA)升级。例如,在ZigBee中,产品的ZigBee信道可以用于向装置发送升级或更新文件或升级或更新数据。
在实践中,软件升级或更新由可操作地连接到网络的OTA服务器来执行。这种OTA服务器通常位于网络的网关装置中,然而这种服务器也可以远离网络或网关操作。一般而言,在OTA升级的情况下,需要升级或更新的网络装置称为客户端装置。在本说明书和权利要求书中,术语“节点装置”或简称“节点”和“客户端装置”或简称“客户端”对于在WMN、WPAN或任何通信互连通信装置网络中连接的所有装置都是通用的。
例如,在支持ZigBee的网络和装置中,OTA开始之前,OTA服务器建立OTA列表。OTA列表包括所有可能需要升级或更新的候选OTA客户端的网络地址。接下来,OTA服务器向整个网络广播通知消息,以通知所有候选OTA客户端OTA即将开始。
OTA开始于OTA服务器通过基于该OTA客户端的网络地址发送通知消息来选择相应的OTA客户端。该通知消息优选地以单播操作模式交换。在接收到通知消息之后,被寻址的OTA客户端请求来自OTA服务器的数据,并且服务器用包括升级或更新信息的数据块或数据包来回复该请求。OTA数据块或包以广播操作模式进行交换,使得所有其他OTA客户端也可以接收它们。
一旦相应的OTA客户端已经接收到所有的升级或更新数据,OTA客户端就发送消息,该消息告知OTA服务器该客户端已经接收到升级文件的所有数据并且对该OTA客户端的升级完成。
接下来,OTA服务器通过基于另一个OTA客户端的网络地址发送相应的通知消息来选择该另一个OTA客户端。因为该另一个OTA客户端已经从OTA服务器向先前的OTA客户端广播的升级数据或更新数据中接收到许多数据块或数据包,所以该另一个OTA客户端现在仅请求来自OTA服务器的可能丢失的数据块或数据包。如果该另一个客户端没有丢失数据块,则它将立即发送消息,该消息告知OTA服务器该客户端已经接收到升级文件的所有数据并且对该OTA客户端的升级完成。由于所有的候选OTA客户端都接收广播的OTA数据,所以上述OTA升级也称为快速OTA。
OTA服务器一个接一个地重复寻址到列表中所有其他候选OTA客户端的通知消息的发送,直到OTA服务器已经接收到来自所有OTA客户端的消息,这些消息告知OTA服务器所有OTA客户端已经接收到升级文件并且可以完成对所有OTA客户端的升级。
在大型ZigBee网络中,对于整个网络来说,OTA升级通常是以广播数据交换模式执行的。这是因为,例如在单播模式下,每个单个节点或客户端装置的逐步完成的OTA将花费太多的时间,例如诸如长达1000分钟。
发明内容
在正在进行的升级过程中,即从通过OTA服务器建立候选OTA客户端列表起,OTA客户端的网络地址(诸如ZigBee短地址)可能发生变化。例如,如果大型网络中的两个节点装置之间存在任何地址冲突,则可能导致这种网络地址变化。一般而言,在客户端的网络地址变化之后,客户端在装置通告包或消息中广播其新网络地址或当前网络地址,如上文关于网络及其装置的入网初始化所提及的那样。特别是在大规模网络中,由于在网络中通过广播交换消息是不可靠的,尤其是例如当网络中存在大量的OTA业务时,OTA服务器可能不会接收到消息。因此,OTA服务器一直不知道新的短地址,并且最终,OTA升级过程可能失败,因为OTA服务器和OTA客户端不再能够彼此通信。如果OTA升级失败,则OTA服务器可以从头重新启动OTA升级。
OTA升级失败也可能是由正在进行的OTA升级过程中的客户端或节点重置引起的。然后,整个快速OTA将被延迟,因为该节点将从开始处起执行OTA升级,因为在服务器关于另一个客户端的OTA广播期间记录的数据包可能由于客户端重置而丢失。此外,由于网状网络中的室外环境非常恶劣,在客户端可能遇到的电力中断或电力故障的情况下,对于特定的一个或多个客户端,快速OTA升级可能失败。
一般而言,任何可能导致客户端装置重启的事件都可能导致OTA升级失败。
因此,需要在通信互连的OTA客户端的网络中的OTA服务器对一个或多个特定客户端的OTA升级或更新失败的情况下,处理客户端装置的正在进行的OTA升级或更新。
在本公开的第一方面,上述和其他目的通过由通信互连的客户端装置的网络中的服务器执行空中下载(OTA)升级的方法来实现,其中,如果客户端装置的正在进行的OTA升级导致服务器处的超时,则服务器发送网络地址查询消息,并且其中,在服务器接收到客户端装置的包括其当前网络地址的网络地址报告消息之后,服务器恢复客户端装置的OTA升级。
根据本公开,OTA升级服务器在正在进行的OTA升级中超时的情况下,通过检查客户端服务器的网络地址变化是否可能已经导致OTA升级失败来尝试恢复OTA升级。
在客户端装置的网络地址变化的情况下,客户端装置可能没有接收到由服务器发送的OTA升级通知消息,该消息向客户端装置通知正在进行的OTA升级。因此,客户端装置将不会通过请求服务器发送OTA升级的数据来响应通知消息,由此,服务器最终经历超时。
由于数据请求消息中的网络地址与服务器发送的OTA升级通知消息的网络地址不匹配,所以在正在进行的OTA升级中的客户端装置的网络地址变化也可能在接收来自客户端装置的发送OTA升级数据的请求时导致服务器处的超时。在这种情况下,服务器类似地假设没有接收到来自由OTA升级通知消息寻址的客户端装置的响应,这同样导致服务器处的超时。
一般而言,如果服务器没有接收到基于客户端的网络地址的客户端的任何预期消息,诸如与升级结束相关的请求或消息,例如当客户端已经接收到所有升级数据时,则在客户端的正在进行的升级中可能发生服务器处的超时。
因此,根据本公开,通过由服务器查询客户端装置的网络地址变化是否已经导致正在进行的OTA升级中的超时,并且在服务器接收到客户端装置的包括其当前网络地址的网络地址报告消息之后恢复客户端装置的OTA升级,OTA升级可以继续,并且因此与必须重新开始整个OTA升级过程相比,可以节省时间和资源。
根据本公开,由服务器发送的网络地址查询消息可以包括客户端装置的媒体访问控制(MAC)地址或所谓的IEEE地址,作为客户端装置的唯一标识。应当理解,除了客户端装置的MAC地址或IEEE地址之外,服务器可用的客户端装置的任何标识都可以用于在网络地址查询消息中标识客户端装置。
为了确保客户端装置接收到网络地址查询消息,根据本公开的实施例,所述网络地址查询消息由网络中的服务器广播。
例如,网络地址查询消息可以由服务器重复,直到超过最大重复次数。
在根据本公开的替代实施例中,由服务器发送的网络地址查询消息也可以采取查询消息的形式,该查询消息命令或使得网络中的节点或客户端装置通告它们的地址信息,诸如在网络的入网初始化中使用的地址信息。根据网络地址通告消息中包括的客户端装置的MAC地址或IEEE地址或任何其他唯一标识,服务器可以基于通过网络的入网初始化而令服务器可用的客户端或节点标识信息来标识特定的客户端装置。
在本公开的实施例中,服务器通过基于接收到的客户端装置的当前网络地址向客户端装置发送通知OTA升级的OTA升级通知消息来恢复客户端装置的OTA升级。
为了确保在客户端装置处接收OTA升级通知消息的可靠性,基于接收到的客户端装置的当前网络地址,OTA升级通知消息以单播传输模式从服务器发送到客户端装置。
根据本公开的第二方面,在通信互连的客户端装置的网络中,在正在进行的OTA升级中接收来自服务器的网络地址查询消息的客户端装置响应于该网络地址查询消息而在网络中发送网络地址报告消息,该网络地址报告消息包括客户端装置的当前网络地址。
当来自服务器的网络地址查询消息包括客户端的标识时,诸如客户端的MAC地址或IEEE地址,只有接收网络地址查询消息的客户端装置将对该查询消息做出响应,该客户端装置的客户端标识与接收客户端装置的标识相匹配。
在网络地址报告消息中,客户端装置还可以包括其标识,诸如其MAC或IEEE标识,服务器基于在网络的入网初始化时接收到的信息,可以将从该标识接收到的网络地址链接到正确的客户端装置。
为了提高网络地址报告消息将被OTA服务器接收的概率,网络报告消息以单播模式发送。
为了进一步增强OTA服务器对网络地址报告消息的接收,在根据本公开的实施例中,网络地址报告消息由客户端装置重复,直到超过最大重复次数。
特别地,在包括多个节点或客户端装置的大型网络中,网络地址变化可以发生在正在进行的OTA升级的任何阶段,也可以发生在OTA升级的数据包或更新数据已经由服务器发送的时候。客户端装置的断电、电力故障或任何其他重置或重启可能导致在客户端装置处接收的升级数据丢失。
在另一个实施例中,本公开提供在客户端装置中记录接收到的OTA升级数据包和非易失性存储器中的当前OTA升级状态,并且其中当客户端装置在接收到来自服务器的向客户端装置通知OTA升级的OTA升级通知消息之后恢复OTA升级时。
以这种方式,通过避免在正在进行的OTA升级中、特别是在快速OTA升级或更新中重新发送已经发送的数据包,节省了时间和资源,其中候选升级客户端接收由服务器发送的数据包,尽管服务器在OTA升级中有效地与另一客户端装置通信,例如在ZigBee快速OTA升级中。
在本公开的第三方面,提供了一种服务器装置,其被布置用于根据本公开的第一方面的方法,在通信互连的客户端装置的网络中执行空中下载(OTA)升级。
在第四方面,本公开提供了一种客户端装置,其被布置用于根据本公开的第二方面的方法,在通信互连的客户端装置的网络中执行空中下载(OTA)升级。
在本公开的第五方面,提供了一种计算机可读计算机程序产品,包括计算机程序代码指令,当在计算机装置上运行时,该计算机程序代码指令使得计算机装置执行本公开的第一和第二方面中的任一方面的方法。例如,计算机程序产品可以采取计算机可读存储介质或非暂时性介质的形式,比如记忆棒、数据盘等,和/或可以作为网络中的下载信号来提供。
在本公开的第七方面,提供了一种电气或电子装置,诸如照明装置,包括根据本公开的第四方面的客户端装置。
参考下文描述的实施例,本公开的这些和其他方面将变得显而易见并得以阐明。
附图说明
图1示意性地示出了通信互连的网络节点装置和网关装置的网络,该网络被布置为作为空中下载(OTA)服务器来操作。
图2以序列图示出了在通信互连的网络节点装置的网络中请求和报告节点装置地址通告消息的方法的示例。
图3以序列图示出了根据ZigBee规范的快速OTA过程的示例。
图4以序列图示出了根据本公开的快速OTA过程的示例。
图5以序列图示出了根据本公开的快速OTA过程的另一示例。
图6以序列图示出了在支持ZigBee的通信网络中从外部源进行的已知快速OTA升级的综合示例。
图7以序列图示出了根据本公开的正在进行的快速OTA过程中节点装置的重置或断电的发生。
图8以流程图示出了在节点装置重置或断电的情况下恢复中断的OTA升级的算法。
图9示意性示出了根据本公开的OTA服务器装置的实施例的电路图。
图10示意性示出了根据本公开的节点装置的实施例的电路图。
具体实施方式
下面参考支持无线ZigBeeTM的网络和支持ZigBee的装置来详细描述本公开。本领域技术人员将理解,本公开不限于ZigBee操作的网络和装置,而是可应用于通信互连的节点装置的多种网络,部分有线和/或部分无线,并且被布置用于交换可操作地连接到网络中的节点装置的补充或外围电气或电子装置的软件升级或更新数据。
其他可应用的传输协议的非限制性示例是BluetoothTM、ThreadTM以及基于WiFi的协议和符合3GPP标准的传输协议,以及有线总线网络,诸如DALITM(数字可寻址照明接口)、DSI(数字串行接口)、DMX(数字多路复用)和KNX(基于KNX的系统)、有线以太网等。
图1示意性地示出了通信互连的网络节点装置或客户端装置或简称的节点或客户端3、4、5、6、7、8的网络1,以及包括用于客户端装置的软件数据的升级或更新的服务器或处理器19的网关装置2。根据ZigBee协议,网络1被配置为所谓的无线网状网络(WMN),也通常称为无线个人区域网(WPAN)。
例如,网络1包括多个网络端节点或客户端3、5、8以及网络中继节点或客户端4、6,诸如网桥和交换机。节点或客户端3 - 8可以形成电气或电子联网装置的一部分。网络装置2 - 8之间的无线通信连接由虚线箭头9表示。本领域技术人员将理解,在一般网络架构中,节点或客户端装置中的一部分也可以通过有线通信链路(未示出)连接。
网络端节点或客户端3、5、8是通用的,用于支持多种电气或电子装置的数据通信,这些装置是移动或可移动装置和/或非移动或固定装置。这种装置的示例是照明装置,特别是智能照明装置,包括发光二极管(LED)、照明模块、用于移动电话和数据通信的智能设备、客户前置设备(CPE)和所谓的物联网(IoT)装置。
附图标记12 - 16表示装置或系统,诸如用于测量湿度、温度、红外(IR)辐射、一氧化碳、二氧化碳(通常表示为COx)的传感器、致动器、相机系统、报警系统和运行软件应用的其他智能设备。在所示的实施例中,装置12、15和16通过有线连接17连接到相应的节点或客户端装置,而装置13和14通过无线连接18连接到相应的节点或客户端装置,用点划线表示。应当理解,装置12 - 16可以在外部或内部,即集成在网络节点或客户端装置中。在本实施例中,连接17和18上的数据交换也符合ZigBee协议。
如果网络端节点或客户端3、5、8不能在这些端节点之间建立直接通信连接,则网络中继节点或客户端4、6可以桥接在相邻网络端节点或客户端3、5或5、8之间的通信距离。注意,网络中继节点或客户端4、6除了扩展网络范围之外,还可以支持与上面结合端节点或客户端3、5、8提到的相同的多个电气或电子装置的补充数据通信。此外,端节点或客户端和中继节点或客户端可以包括在单个物理装置中。例如,节点或客户端装置可以是市电或电池操作的。
网关装置2作为网络控制或协调器装置操作,其例如可以提供对其他网络的访问11,诸如因特网10。这种网络控制或协调器装置也称为网络接入装置。网关装置2可以部署在网络1中或者远离网络1。出于通信目的,网关2可以包括集成的收发器设备,其可以直接连接到网关2的数据处理部分,例如通过通用串行总线(USB)端口等,并且包括通信功能,用于使用与网络节点或客户端装置3 - 8相同的协议(即在本示例中的ZigBee通信协议)来与网络1中的网络节点或客户端交换数据包或消息。
例如,智能电气或电子装置(诸如ZigBee网络中的智能照明装置)通常具有内置软件,并且通常在其整个生命周期中需要多次升级或更新其软件。当这些装置被安装在端用户的站点处时,升级或更新它们的最方便的方式是通过网络1中的节点或客户端装置3- 8执行空中下载(OTA)数据升级或更新。为此,在所示的实施例中,网关装置2包括用于升级或更新客户端装置的软件数据的OTA服务器或处理器19。本领域技术人员将理解,OTA服务器19也可以位于网关装置2的外部,例如在因特网或数据“云”10中,或者可以作为网络1中的单独的OTA服务器节点或OTA服务器网关装置来操作。
网络节点或客户端装置3 - 8可以直接与网关装置2通信9,或者如上所述,消息或数据包可以经由网状网络1中的相邻网络中继节点或客户端4中继到网关装置2。网络节点或客户端装置3 - 8还被配置成与它们附近的节点或客户端装置中的一个或多个交换数据消息或数据包。
在网络节点或客户端3 - 8中生成并转发到网关2的消息通常被称为上行链路消息或上行链路业务。从网关2转发到网络节点或客户端3 - 8的消息被称为下行链路消息或下行链路业务。当没有明确提及时,节点或客户端装置3 - 8和网关装置2被布置用于在本公开的网络1中以单播和广播传输模式中的一种或两种模式传送消息或数据包。
图2以序列图20示出了网关装置根据ZigBee标准组织发布的ZigBee规范在网络的入网初始化时查询节点或客户端装置地址通知消息的方法的示例,该ZigBee规范通过引用被完全并入本文。
为了清楚起见,在序列图中仅示出了三个节点装置3、4、5。
在图2中,时间从纸张的顶部运行到底部(未示出)。在该示例中,在网络1的入网初始化之后,即在根据设计目标或规范安装和测试网络的节点装置和网关设备以及通信设施之后,网关装置2在网络1中广播查询消息MINQ或查询数据包21。例如,查询消息21由端节点或客户端装置3和中继节点或客户端装置4直接接收,并且由端节点或客户端装置5通过网络中继节点或客户端装置4间接接收。该查询消息21可以在网络开始或结束入网初始化之后的某个时间间隔之后被广播。例如,查询消息21可以在网络1的入网初始化结束后的15分钟的时间间隔之后被广播。
查询消息21的接收命令或使得网络中的节点或客户端装置通告它们的地址信息。网关装置2可能需要知道网络中所有节点装置的特定网络地址和/或媒体访问控制(MAC)地址或IEEE地址中的任何一个或两者,以便正确地控制这些节点装置并与之通信。
每个节点或客户端装置在网络1中发送(即,以广播或单播传输模式)其节点装置地址通告消息MANN或地址通告数据包22、23、24,以供网关装置2接收。节点装置地址通告消息22、23、24包括网络1中用于通信和控制目的的相应节点或客户端装置的网络地址信息,诸如ZigBee中的特定或短网络地址和/或分配给相应节点装置的MAC地址。
例如,在支持ZigBee的网络中,当一个节点或客户端在入网初始化后改变其网络地址时,诸如例如节点或客户端装置5,该节点或客户端在节点装置通告包或消息中发送其新网络地址或当前网络地址,诸如附图标记25的虚线所示。
网关装置2如此收集的网络地址信息可用于OTA服务器19。
一般而言,在OTA升级的情况下,需要升级或更新的网络装置称为客户端装置。在本说明书和权利要求书中,术语“节点装置”或简称“节点”和“客户端装置”或简称“客户端”对于在WMN、WPAN或任何通信互连的通信装置的网络中连接的所有装置都是通用的。
图3以序列图30示出了根据ZigBee协议的所谓的快速OTA升级的示例。为了清楚起见,仅示出了两个节点装置3和5,而时间是从纸张的顶部运行到底部(未示出)。
一般而言,在OTA开始之前,OTA服务器19建立OTA列表。OTA列表包括所有可能需要升级或更新的候选OTA客户的网络地址。假设节点或客户端3和5或分别连接到节点装置5、3的装置14和/或16中的任一个中的软件将被升级或更新。这样的网络1在序列图30中由单独的方框表示。
在OTA升级的第一阶段,网络中的所有候选客户端被告知升级,其中服务器19通过网关装置2(如果适用的话)在网络1中广播通知消息32(图像通知(广播)(ImageNotify(broadcast))),以通知所有候选OTA客户端OTA将要开始(附图标记31,阶段1告知所有节点)。
由OTA进行的数据包或数据块的传输开始于OTA升级的阶段2(附图标记33,阶段2开始下载到列表中的第一节点),其中OTA服务器19通过基于候选列表中的第一OTA客户端(比如OTA客户端3)的网络地址以单播模式发送通知消息来选择该OTA客户端(附图标记34,图像通知(客户端3地址,单播)(ImageNotify(client3Address,unicast)))。
在接收到通知消息34之后,被寻址的OTA客户端3通过单播消息请求来自OTA服务器19的数据(附图标记35,图像块请求(单播)(ImageBlockRequest(unicast))),并且OTA服务器19以广播模式用包括升级或更新信息的数据块或数据包回复该请求(附图标记36,图像块响应(广播))。OTA数据块或包以广播操作模式进行交换,使得所有其他OTA客户也可以接收它们。
一旦OTA客户端3已经接收到所有升级或更新数据(块37,接收到所有数据),OTA客户端3就以单播模式发送消息38(升级结束请求(单播)(UpgradeEndRequest(unicast))),该消息38告知OTA服务器19 OTA客户端3已经接收到升级文件的所有数据。OTA服务器19通过完成消息39(升级结束响应(单播)(UpgradeEndResponse(unicast)))以单播模式确认对该OTA客户端3的升级完成。
接下来,在OTA升级的阶段3(附图标记40,阶段3下载到列表中的所有其他节点),升级候选列表中的其他客户端由OTA服务器19选择,以检查这些节点或客户端的升级完成。在本示例中,OTA服务器19以单播模式向OTA客户端5发送相应的通知消息41(图像通知(客户端5地址,单播)(ImageNotify(client5Address,unicast)))。因为OTA客户端5可能已经从OTA服务器19先前向OTA客户端3广播的升级数据或更新数据中接收到许多数据块或数据包,所以OTA客户端5现在可以只请求来自OTA服务器19的可能丢失的数据块或数据包。
如果数据块丢失,则OTA客户端5响应于通知消息41而以单播模式向服务器19发送相应的数据请求消息42(图像块请求(单播)(ImageBlockRequest(unicast))),并且OTA服务器19以广播模式用包括丢失的升级或更新信息的数据块或数据包来回复该请求(附图标记43,图像块响应(广播)(ImageBlockResponse(broadcast)))。丢失的OTA数据块或包以广播操作模式进行交换,使得所有其他OTA客户端也可以接收它们。
在OTA升级期间,OTA客户端5和OTA服务器19可以交换若干数据请求和数据响应消息42、43。
如果OTA客户端5已经接收到所有丢失的升级数据包或数据块(附图标记44,所有丢失的数据都被接收),则该OTA客户端5的升级通过从OTA客户端5到OTA服务器19的消息45(升级结束请求(单播)(UpgradeEndRequest(unicast)))和从OTA服务器19到OTA客户端5的OTA完成消息46(升级结束响应(单播)(UpgradeEndResponse(unicast)))的交换而结束。两个消息都以单播传输模式交换。
如果OTA客户端5没有丢失的数据块,则它将响应于通知消息41立即发送升级结束请求(单播)消息45,该消息45告知OTA服务器19 OTA客户端5已经接收到升级文件的所有数据,并且对该OTA客户端的升级可以通过OTA服务器19响应以升级结束响应(单播)消息46来完成。
OTA服务器19一个接一个地重复发送寻址到来自升级列表中的所有其他候选OTA客户端的通知消息,直到OTA服务器已经接收到来自所有OTA客户端的完成消息,这些完成消息告知OTA服务器所有OTA客户端已经接收到升级文件,并且可以完成对所有OTA客户端的升级。
如上所述,在正在进行的升级期间,即以OTA服务器建立候选OTA客户端列表为开始,OTA客户端的网络地址(诸如ZigBee短地址)可能发生变化。例如,如果在大型网络中的两个节点装置之间存在任何地址冲突,例如当新装置被添加到网络中时,就可能导致这样的网络地址变化。
在客户端的网络地址改变之后,客户端可以在网络中广播其新网络地址或当前网络地址,诸如利用装置通告包或消息,如上面关于网络及其装置的入网初始化所提到的。然而,特别是在大规模网络中,OTA服务器可能不会接收到消息。装置是否广播新地址可能取决于所使用的通信协议。实际上,OTA服务器在正在进行的OTA升级过程中可能一直不知道新网络地址。
图4以序列图50示出了一示例,其中OTA客户端5在OTA升级或更新过程的阶段3中表现出网络地址变化,并且OTA服务器19没有被告知该网络地址变化。OTA升级的阶段1和阶段2中的步骤与上面参考图4公开的步骤相同,并且为了方便起见,分别由单个双箭头32和34-39表示。
在该示例中,假设OTA客户端5的网络地址变化发生在OTA服务器19在OTA升级过程的阶段3中已经通过在图像块响应(广播)43中发送OTA升级数据而对OTA客户端5的图像块请求(单播)42做出回复之后。
作为网络地址变化的结果,通过基于OTA客户端5的当前网络地址(即新网络地址)以单播模式向OTA服务器19发送图像块请求(当前网络地址)(ImageBlockRequest(current_netw_address))52,OTA客户端5可以向OTA服务器19重新请求升级数据。
由于数据请求消息52中的网络地址与OTA服务器19先前发送的OTA升级通知消息41的网络地址不匹配,所以OTA服务器19将不会将数据请求消息52识别为与OTA客户端5正在进行的OTA升级中的请求,并且将丢弃该数据请求,如附图标记53(丢弃图像块请求)所表示的。
OTA客户端5可以在经过一段时间间隔之后,重复一次或多次图像块请求(当前网络地址)52。
由于OTA服务器19将在正在进行的OTA升级中丢弃与OTA客户端5的当前网络地址一起接收的任何消息,最终OTA服务器19将假设没有接收到来自OTA客户端5的响应,使得OTA服务器19处发生超时,如附图标记54(OTA客户端5OTA升级的超时(Timeout of OTAUpgrade OTA client 5))所示,并且OTA升级过程失败,因为OTA服务器19和OTA客户端5不再能够彼此通信。
根据本公开,在超时的情况下,OTA服务器19通过例如以广播操作模式在网络1中发送网络地址查询消息55(查询网络地址(广播)(Query Network Address(broadcast))),来以可靠的方式检查有关OTA客户端5的网络或短地址变化。广播可以重复若干次,以确保OTA客户端5将接收到它。网络地址查询消息55可以基于或包括节点或客户端装置5的媒体访问控制(MAC)地址或IEEE地址,或网络1中唯一标识OTA客户端5的任何其他标识符。
一旦OTA客户端5接收到网络地址查询消息55,OTA客户端就通过在网络地址报告消息56(报告当前网络地址(单播)(Report current network address(unicast)))中向OTA服务器报告其当前或新网络地址来回复该消息,该消息56优选地以单播模式发送。在OTA服务器19处接收到OTA客户端5的变化的网络地址时,OTA客户端5的OTA升级过程将通过由OTA服务器19发送相应的通知消息41(图像通知(客户端5地址,单播))来继续。在此消息中,客户端5地址是OTA客户端5的新网络地址或短地址。然后,OTA升级如上面参考图4的阶段3所描述的那样继续进行,并且为了方便起见,在图4中用双箭头41-46表示。
图5中的序列图60示出了另一个示例,其中OTA服务器19可能在正在进行的OTA升级过程中OTA客户端装置的网络地址变化的情况下导致超时。同样地,假设OTA服务器将被告知或者还未被告知OTA客户端5的网络地址的变化。在该示例中,OTA客户端5处的网络地址变化发生在阶段3的开始,在向OTA客户端5发送通知消息以请求来自OTA服务器19的可能丢失的升级数据块或数据包之前,如附图标记61(网络地址变化(Network addresschange))所示。
OTA服务器基于OTA客户端5的旧网络地址或先前网络地址以单播模式发送通知消息41(图像通知(旧客户端5地址,单播))。OTA客户端装置5将不会接收到由OTA服务器19发送的OTA升级通知消息41,因为该消息的网络地址与OTA客户端5的当前或新网络地址不匹配。因此,OTA客户端装置5不会通过请求服务器发送OTA升级的丢失数据来响应通知消息。通知消息41可以由OTA服务器19重复几次。由于OTA服务器19不会接收到对升级数据的请求,所以最终在服务器19处发生超时62(图像块请求的超时等待(Timeout waiting forImageBlockRequest))。
根据本公开,在超时的情况下,OTA服务器19通过在网络1中发送网络地址查询消息63(查询网络地址(广播)(Query Network Address(broadcast))),来检查有关OTA客户端5的网络或短地址变化。网络地址查询消息63基于或包括节点或客户端装置5的媒体访问控制(MAC)地址或IEEE地址,或网络1中唯一标识OTA客户端5的任何其他标识符。
一旦OTA客户端5接收到网络地址查询消息63,OTA客户端就通过在网络地址报告消息64(报告当前网络地址(单播)(Report current network address(unicast)))中向OTA服务器19报告其当前或新网络地址来回复该消息,该消息64优选地以单播模式发送。在OTA服务器19处接收到OTA客户端5的变化的网络地址时,OTA客户端5的OTA升级过程将通过由OTA服务器19发送相应的通知消息41等来继续,如上面参考图3和4所公开的那样,并且在图5中一般性地用双箭头41-46来指示。
尽管未明确示出,但是本领域技术人员将理解,当在OTA客户端发送升级结束请求(单播)45之前OTA客户端中发生网络地址变化时,OTA服务器19处也可能发生超时。此外,如果OTA客户端在正在进行的OTA升级或更新的阶段1或阶段2期间改变网络地址,也可能发生服务器超时。
例如,网络地址查询消息55、63可以由OTA服务器重复,直到超过设定或可设定的最大重复次数。在这种情况下,例如,如参考图2所示,可以重新开始OTA升级或者可以开始网络地址查询过程。
为了完整起见,图6以序列图65示出了在支持ZigBee的通信网络1中的已知的快速OTA升级的综合示例,该示例是可从连接到因特网或云10的外部源获得的MQTT(消息队列遥测传输)协议67(Mqtt升级协议)。MQTT是一种机器对机器(M2M)/物联网连接协议,并用于例如在支持ZigBee的通信环境中连接的传感器。这种协议也适用于移动应用,因为它体积小、功耗低、数据包最少,并且有效地将信息分发给一个或多个接收器。也参见图1。
在由附图标记70总体标识的第一步骤中,从云10中的后端装置下载更新或升级文件,如附图标记68(更新协议)所示。如上所述,从数据库69中检索要被更新的候选节点装置或客户端装置的列表,例如在网关2或OTA服务器19中可用的列表。OTA升级在OTA服务器19的控制下执行。
在OTA升级的第一阶段,即阶段1,所有要被更新的节点或客户端(即3、5、8或节点1、节点2、节点3)分别被告知OTA升级的开始,这总体地由附图标记71标识。
接下来,在阶段2中,对于候选升级列表中的第一节点或客户端,由OTA服务器19广播升级数据包或数据块,直到该节点或客户端3的升级完成。在OTA服务器19和基于云的更新源10之间交换升级状态信息。通知、查询和提供升级数据的步骤总体地由附图标记72表示。
在阶段3,所有其他节点或客户端5、8一个接一个地被检查以更新,如附图标记74总体表示的,并且在该阶段还交换升级状态信息。
图7中的序列图75示出了OTA升级的阶段3的客户端5的重置或电力中断76(重置/电力中断)的示例。如上所述,在OTA升级的阶段2,在客户端3的升级或更新期间,客户端5已经接收到OTA服务器19广播的数据包或数据块。在快速OTA升级的阶段3,OTA服务器19仅广播客户端3丢失的数据包。
然而,如果重置或电力中断76导致已经由客户端5收集的升级数据包丢失,则整个快速OTA升级将被延迟,因为该OTA客户端将从开始执行OTA升级,包括已经在OTA过程的阶段2广播的数据包的交换。
最终,OTA升级失败也可能起因于正在进行的OTA升级期间的客户端或节点重置或断电,例如,如果OTA服务器19在通过图像通知(客户端5地址,单播)消息41发送OTA服务器19可用于升级节点5的通知之后没有接收到来自(禁用的)客户端5的响应,并且最终超时。也参见图4。
本领域技术人员将理解,以上结合图5公开的OTA服务器19的超时也适用于重置或断电更长时间的情况。在这种情况下,根据本公开,OTA服务器19可以通过来自OTA服务器19的网络地址查询消息和来自客户端5的网络地址报告消息来快速恢复OTA更新或更新,因为客户端5的网络地址通常不会变化。即使客户端5的网络地址会由于装置重置而变化,OTA升级也可以用根据本公开的解决方案继续进行,如图7中标记为55-56、63-64的双箭头所公开的,并且继续下载丢失的包,如双箭头41-46所示。
为了避免在节点装置或客户端丢失已经存储的数据包,建议确保客户端或节点在快速OTA期间将持续记录接收到的数据包或图像以及OTA状态或阶段信息。如果发生任何重置或断电,节点或客户端可以恢复以继续快速OTA过程,即步骤41-46,而没有任何数据丢失。这将大大减少整个网络的总升级时间。
持续数据存储支持可以通过非易失性存储器或存储装置来实现,诸如串行外围接口(SPI)、闪存或其他可由OTA客户端装置访问的外部闪存。OTA状态或阶段信息保存在OTA客户端装置的OTA状态机中。
图8以流程图类型图80示出了在节点或客户端装置处接收的数据包和OTA状态信息的非易失性存储的情况下,在客户端或节点装置重置或重启之后恢复OTA升级的算法。在流程图80中,正常的操作流程是从纸张的顶部运行到底部。在所有其他情况下,箭头表示流程方向。
在装置或OTA客户端重启(块81“装置重启”)之后,OTA恢复和OTA状态检查由OTA客户端执行。也就是说,检查OTA客户端在重置或重启之前存在于的快速OTA阶段或状态(判定框82,“OTA恢复检查,OTA状态存在”)。如果存在OTA客户端的OTA状态,即OTA客户端参与了正在进行的OTA升级,即判定框81的结果为“是”,则OTA客户端状态机和已经接收的正在进行的OTA升级的数据包应该被恢复,即框83(“恢复OTA状态机和数据”)。通过检查是否接收到OTA升级数据包(即判定块86,“接收OTA包”)来恢复OTA升级。
如果不存在OTA状态,即判定框81的结果为“否”,则通过检查对OTA服务器19通知消息的接收,以由OTA客户端开始请求OTA升级数据包,来在OTA客户端处恢复OTA升级过程,即判定框84(“接收图像通知”)。如果否定,即判定框84的结果为“否”,则客户端装置继续检查。在肯定的情况下,即判定框84的结果为“是”,则保存客户端OTA信息和状态机,即框85(“保存OTA信息和状态机”),并且OTA升级数据包被OTA客户端接收并被存储,即判定框86的结果为“是”以及框87(“将接收到的包保存在闪存中”)。也就是说,在该实施例中,接收到的OTA升级数据被存储在闪存中,并且索引也被记录。
如果没有接收到OTA数据包,即判定框86的结果为“否”,则客户端装置保持在接收OTA升级或更新数据包的模式,以及只要没有接收到所有OTA数据,即判定框88“OTA包完成”的结果为“否”,客户端装置也保持在接收OTA升级或更新数据包的模式。
如果OTA包完成,即判定框88的结果为“是”,则OTA过程停止,例如,如图4和6所示,即框89(“快速OTA结束”)。
因此,利用上述重置-恢复算法,在OTA状态期间,如果节点被重置或断电/通电,OTA过程将继续,并且不需要从开始起接收所有升级包。这也大大减少了升级网络中所有节点或客户端的总时间,如果在选择更新或升级的客户端装置中的一个或多个处发生任何断电事件的话。
图9示意性地示出了根据本公开的服务器装置90的实施例的电路图,该服务器装置90被布置用于执行网状网络等中的客户端装置的OTA升级或更新。服务器90包括收发器Tx/Rx模块91,其被布置用于网络中消息或数据包的无线92(即空中下载)交换。收发器91还被布置用于通过输入/输出数据终端94与外部装置进行有线数据交换,外部装置诸如是因特网或云10(图1)中的后端服务器。收发器91可以被配置为以广播和单播操作模式中的一种或两种模式,根据上面参考图1提到的任一数据通信技术和协议来操作,并且如果适用,例如可以被配置用于与其他网络(诸如因特网)中的外部源进行数据交换。
服务器装置90还包括至少一个数据处理器或控制器95,以及至少一个数据储存库或存储装置或存储器96,特别地用于存储计算机程序代码指令,当计算机程序代码指令被加载并运行到一个或多个处理器或控制器95上时,将服务器装置配置为根据本公开的方法操作。
网络中的客户端的升级数据可以存储在储存库96中,或者可由至少一个处理器或控制器95访问的单独的存储器或存储装置中。至少一个处理器或控制器95经由服务器装置90的内部数据通信总线98与收发器91和至少一个储存库或存储装置96通信地交互并控制它们。
尽管在图9中没有明确示出,但是根据本公开,加密狗可以连接到总线98,来用于执行地址查询处理。实际上,服务器90可以形成网关装置2的一部分,如图1所示。
图10示意性地示出了根据本公开的节点或客户端装置的实施例的电路图。节点装置100包括收发器Tx/Rx模块101,该模块101被布置用于在通信互连的网络节点装置的网络中与网关和/或空中下载升级服务器以及其他节点装置(包括中继节点装置)进行消息或数据包的无线102和/或有线103交换。收发器101可以被配置为以广播和单播操作模式中的一种或两种模式,根据上面参考图1提到的任一数据通信技术和协议来操作。
节点装置100还包括至少一个数据处理器或控制器105,以及至少一个数据储存库或存储装置或存储器106,特别地用于存储计算机程序代码指令,当计算机程序代码指令被加载并运行到一个或多个处理器或控制器105上时,将节点装置100配置为根据本公开进行操作。网络中节点装置的地址信息107,包括其MAC地址,可以存储在储存库106中,或者存储在可由至少一个处理器或控制器105访问的单独的存储器或存储装置中。
储存库或存储器106还可以被布置为持久或可编程可擦除存储装置,用于存储正在进行的OTA过程的升级数据包和状态信息。为此,数据储存库或存储装置106可以被布置为非易失性存储器或存储装置,诸如串行外围接口(SPI)、闪存或其他可由OTA客户端装置访问的外部闪存。例如,OTA状态或阶段信息也可以保存在存在于OTA客户端装置100的处理器或控制器105中的OTA状态机108中。
至少一个处理器或控制器105经由节点或客户端装置100的内部数据通信总线109与收发器101和至少一个储存库或存储装置106通信地交互并控制它们。
节点或客户端装置100可以是包括照明模块111(优选为LED照明模块)的电气或电子装置(诸如照明装置110)的一部分,或者可操作地连接104到该电气或电子装置,该照明模块111的操作可以由节点装置100从网络网关或通过网络网关控制,或者例如由远程控制装置控制。如上所述,根据本公开,代替照明装置或除了照明装置之外,节点装置可以控制可操作地连接在网络中的若干其他电气或电子装置。
本公开提出让OTA服务器检查所选择的OTA客户端的网络地址变化是否导致OTA服务器在正在进行的OTA数据升级期间超时等待来自OTA客户端的响应或请求消息。代替由OTA服务器基于OTA客户端的变化的网络地址丢弃发送OTA升级的请求,即,在图4中丢弃53图像块请求(当前网络地址)43,有可能由OTA服务器广播具有特定状态值的图像块响应作为网络地址查询消息,该图像块响应告知OTA客户端向OTA服务器报告其当前网络地址。当OTA服务器接收到来自未知装置(即OTA服务器不知道其网络地址的装置)的请求时,OTA服务器可以发送中止状态来作为响应。
或者,在支持ZigBee的网络中的网络地址变化时,由OTA服务器选择的进行OTA升级的OTA客户端可以在发送OTA升级的失败请求(即,图像请求)时多次重新广播装置通告消息(装置通告)。地址变化的OTA客户端还可以在地址变化后的一段时间内将其IEEE地址包括在NWK报头中。例如,根据ZigBee规范,在接收到包含64位IEEE地址的帧时,应检查nwk地址映射和邻居表的内容是否一致,并在必要时进行更新。除了广播的装置通告消息之外,地址变化的OTA客户端还可以向OTA服务器单播装置通告消息(装置通告)或APS装置更新命令。这是为了克服上述来自OTA客户端的广播可能无法到达OTA服务器的问题。用于图像块请求的来自客户端的单播似乎被假设为正可靠地工作。
此外,对OTA服务器丢弃来自未知网络或短地址的图像请求命令的要求可以放宽(在超时之后)。这可以允许OTA服务器通过在正在进行的OTA升级中仅接受OTA客户端装置的新网络地址来从当前问题中恢复。当OTA客户端在更新中发生断电或失去连接时,也可以应用这种方法,因为其他客户端也可以跟踪超时,并基于选择算法替代地发送图像请求。
在由OTA服务器选择的OTA客户端正在进行OTA升级期间OTA客户端断电或重置的情况下,并且如果该OTA客户端在更长时间内没有操作,则OTA服务器可以选择另一个客户端进行升级,并且优选地从OTA服务器停止重启客户端的地方开始。当重启装置再次运行时,其仍然可以恢复块,并继续收集传入的数据包。
此外,如果是OTA服务器在OTA交换过程中被断电和再通电,同样可以持久地存储与正在进行的OTA升级相关的任何信息,诸如当前OTA客户端的网络地址、发送的数据块或数据包等。
虽然上文没有明确描述,但是由OTA服务器交换的OTA升级或更新数据块或数据包可以包括块或包号或标识以及特定OTA升级中的数据块或数据包的总数的标识。
注意,上述装置可以基于具有分立硬件组件、集成芯片或芯片模块布置的分立硬件电路来实施,或者基于由存储在存储器中、写在计算机可读介质上或从网络(例如因特网)下载的软件例程或程序控制的信号处理装置或芯片来实施。
应当理解,上述方面的装置、入网初始化和/或控制装置、照明器装置、照明系统、方法和计算机程序产品可以具有类似和/或相同的优选实施例,特别是如从属权利要求中所定义的。
应当理解,本发明的优选实施例也可以是从属权利要求或上述实施例与相应独立权利要求的任何组合。
Claims (15)
1.一种在通信互连的客户端装置(3-8)的网络(1)中通过服务器(19)执行空中下载(OTA)升级的方法(50;60),其中,如果客户端装置(3-8)的正在进行的OTA升级导致在所述服务器(19)处的超时(54;62),则所述服务器(19)发送网络地址查询消息(55;63),并且其中,在所述服务器(19)接收到所述客户端装置的包括其当前网络地址的网络地址报告消息(56;64)之后,所述服务器(19)恢复(41-46)所述客户端装置的所述OTA升级。
2.根据权利要求1所述的方法,其中所述网络地址查询消息(55;63)包括所述客户端装置的媒体访问控制(MAC)地址。
3.根据权利要求2所述的方法,其中所述网络地址查询消息(55;63)由所述服务器在所述网络中广播。
4.根据前述权利要求中任一项所述的方法,其中所述服务器(19)由于在发送OTA升级通知消息(41)之后未能接收到来自客户端装置的发送OTA升级数据的请求而导致所述超时(62),所述OTA升级通知消息(41)向所述客户端装置通知所述OTA升级。
5.根据前述权利要求中任一项所述的方法,其中所述服务器(19)由于接收到来自包括与由所述服务器发送的OTA升级通知消息(41)的网络地址不匹配的网络地址的客户端装置的发送OTA升级数据(52)的请求而导致所述超时(54),所述OTA升级通知消息(41)由所述服务器发送,向所述客户端设备通知所述OTA升级。
6.根据前述权利要求中任一项所述的方法,其中所述网络地址查询消息(55;63)被所述服务器(19)重复,直到超过最大重复次数。
7.根据前述权利要求中任一项所述的方法,其中所述服务器(19)通过基于所述接收到的所述客户端装置的当前网络地址发送OTA升级通知消息(41)来恢复所述客户端装置的所述OTA升级,所述OTA升级通知消息(41)向所述客户端装置通知所述OTA升级。
8.根据权利要求7所述的方法,其中,基于所述接收到的所述客户端装置的当前网络地址,所述OTA升级通知消息(41)以单播模式从所述服务器发送到所述客户端装置。
9.一种在通信互连的客户端装置(3-8)的网络(1)中通过客户端装置(3-8)从服务器(19)执行空中下载(OTA)升级的方法(50;60),其中,在正在进行的OTA升级中,所述客户端装置响应于从所述服务器(19)接收到网络地址查询消息(55;63)而发送包括其当前网络地址的网络地址报告消息(56;64)。
10.根据权利要求9所述的方法,其中所述网络地址报告消息(56;64)被所述客户端装置重复,直到超过最大重复次数。
11.根据权利要求9或10所述的方法,其中客户端装置(3-8;100)在非易失性存储器(106)中记录(85、86;106、108)接收到的OTA升级数据包和当前OTA升级状态,并且其中所述客户端装置在从所述服务器(19)接收到OTA升级通知消息(41)之后恢复所述OTA升级(41-46),所述OTA升级通知消息(41)向所述客户端装置通知所述OTA升级。
12. 一种服务器(19;90),被布置用于根据权利要求1 - 8中任一项所述的方法在通信互连的客户端装置(3-8;100)的网络(1)中执行空中下载(OTA)升级。
13. 一种客户端装置(3-8;100),被布置用于根据权利要求9 - 10中任一项所述的方法在通信互连的客户端装置(3-8;100)的网络(1)中执行空中下载(OTA)升级。
14. 一种计算机可读计算机程序产品,包括计算机程序代码指令,当所述计算机程序代码指令在计算机装置(95;105)上运行时,使得所述计算机装置执行根据权利要求1 - 8中任一项所述的方法或权利要求9或10中任一项所述的方法。
15.一种电气或电子装置(110),诸如照明装置(111),包括根据权利要求13所述的客户端装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2018/080220 | 2018-03-23 | ||
CN2018080220 | 2018-03-23 | ||
EP18192519.9 | 2018-09-04 | ||
EP18192519 | 2018-09-04 | ||
PCT/EP2019/057095 WO2019180146A1 (en) | 2018-03-23 | 2019-03-21 | A method of and devices for performing an over-the-air, ota, upgrade in a network of communicatively interconnected devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111886845A true CN111886845A (zh) | 2020-11-03 |
CN111886845B CN111886845B (zh) | 2024-06-21 |
Family
ID=66001174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980021565.9A Active CN111886845B (zh) | 2018-03-23 | 2019-03-21 | 在通信互连装置网络中执行空中下载(ota)升级的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11726762B2 (zh) |
EP (1) | EP3769493B1 (zh) |
CN (1) | CN111886845B (zh) |
ES (1) | ES2936479T3 (zh) |
FI (1) | FI3769493T3 (zh) |
WO (1) | WO2019180146A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170330153A1 (en) * | 2014-05-13 | 2017-11-16 | Monster Worldwide, Inc. | Search Extraction Matching, Draw Attention-Fit Modality, Application Morphing, and Informed Apply Apparatuses, Methods and Systems |
CN112751699B (zh) * | 2019-10-31 | 2023-04-28 | 阿里巴巴集团控股有限公司 | Ota升级与升级管理方法、设备、网络及存储介质 |
US20210306296A1 (en) * | 2020-03-27 | 2021-09-30 | The Nielsen Company (Us), Llc | Methods and apparatus to facilitate device identification |
CN113094068B (zh) * | 2021-04-14 | 2023-09-26 | 珠海优特电力科技股份有限公司 | 配电图纸更新方法和装置、存储介质及电子设备 |
CN113467804A (zh) * | 2021-07-01 | 2021-10-01 | 江苏希塔信息科技有限公司 | 一种基于批量空中升级实现物联网设备升级的方法 |
CN113791804B (zh) * | 2021-09-14 | 2024-04-26 | 中元汇吉生物技术股份有限公司 | 多路仪器并行升级的方法、装置、计算机设备及存储介质 |
CN114466098B (zh) * | 2022-01-19 | 2023-12-26 | 上海黑眸智能科技有限责任公司 | 基于app交互的ota升级方法、系统、设备端以及app端 |
CN115038075A (zh) * | 2022-04-21 | 2022-09-09 | 清研智行(北京)科技有限公司 | 智能汽车应用软件空中升级的方法、装置及存储介质 |
CN116056068A (zh) * | 2023-01-17 | 2023-05-02 | 深圳锐越微技术有限公司 | 网络远程升级系统及方法 |
CN115987976B (zh) * | 2023-03-20 | 2023-06-13 | 北京集度科技有限公司 | 对节点进行升级的方法及设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002011402A1 (en) * | 2000-07-31 | 2002-02-07 | Loudcloud, Inc. | Dhcp server with rarp request handling capabilities |
CN1689310A (zh) * | 2002-08-21 | 2005-10-26 | 松下电器产业株式会社 | 使用mac地址来确定ip目标地址的网络终端器件、地址管理服务器、通信系统和网络通信方法 |
US20080013474A1 (en) * | 2006-07-14 | 2008-01-17 | Symbol Technologies, Inc. | Wireless switch network architecture implementing layer 3 mobility domains |
KR20080047857A (ko) * | 2006-11-27 | 2008-05-30 | 엘지전자 주식회사 | Ota를 이용한 소프트웨어 다운로드 방법 및 이를 위한방송 수신기 |
CN101237466A (zh) * | 2008-02-29 | 2008-08-06 | 华为技术有限公司 | 对终端进行网络配置的方法、装置和系统 |
US20100099396A1 (en) * | 2008-10-21 | 2010-04-22 | Qualcomm Incorporated | Remote control of devices utilizing a mobile network |
WO2010083629A1 (zh) * | 2009-01-24 | 2010-07-29 | 上海贝尔股份有限公司 | 通过网络地址配置服务器实现设备远程控制的方法及装置 |
CN103179551A (zh) * | 2013-03-04 | 2013-06-26 | 东莞宇龙通信科技有限公司 | 一种无线升级的方法及系统 |
US20140211658A1 (en) * | 2013-01-25 | 2014-07-31 | AAC Technologies Pte. Ltd | Wireless apparatus and network address report method in zigbee network |
CN103973502A (zh) * | 2014-05-28 | 2014-08-06 | 梅志国 | 智能家居系统的设备的程序无线升级方法 |
CN105516923A (zh) * | 2015-12-16 | 2016-04-20 | 青岛海信移动通信技术股份有限公司 | 一种确定终端设备所在区域位置的方法和ota服务器 |
CN105933355A (zh) * | 2016-07-07 | 2016-09-07 | 中国联合网络通信集团有限公司 | 一种物联网终端管理方法、物联网服务器和网络服务器 |
CN107589956A (zh) * | 2017-10-24 | 2018-01-16 | 杨鲲 | 一种分布式优先级镜像页ota固件升级方法及系统 |
CN107786683A (zh) * | 2016-08-25 | 2018-03-09 | 福特全球技术公司 | 移动装置网络地址服务器更新 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003125445A (ja) | 2001-10-10 | 2003-04-25 | Toshiba Corp | システム情報ダウンロード方法及び移動通信端末 |
US7243141B2 (en) * | 2002-05-13 | 2007-07-10 | Sony Computer Entertainment America, Inc. | Network configuration evaluation |
US7376870B2 (en) * | 2004-09-30 | 2008-05-20 | Intel Corporation | Self-monitoring and updating of firmware over a network |
US20080288654A1 (en) | 2007-05-17 | 2008-11-20 | Nokia Corporation | Node and method to provide and keep real-time up-to-date data in a distributed hash table |
US8387112B1 (en) * | 2008-10-29 | 2013-02-26 | Juniper Networks, Inc. | Automatic software update on network devices |
US9609085B2 (en) * | 2011-07-28 | 2017-03-28 | Hewlett-Packard Development Company, L.P. | Broadcast-based update management |
KR101828412B1 (ko) | 2011-12-13 | 2018-02-13 | 삼성전자주식회사 | 통신 방법, 통신 장치 및 통신 시스템 |
WO2013105269A1 (ja) | 2012-01-13 | 2013-07-18 | 富士通株式会社 | サーバ装置、情報処理システム、サーバ装置のアドレス管理方法、及びサーバ装置のアドレス管理プログラム |
US20170039372A1 (en) * | 2013-03-15 | 2017-02-09 | Electro Industries/Gauge Tech | Devices, systems and methods for upgrading firmware in intelligent electronic devices |
US9706582B2 (en) | 2014-04-01 | 2017-07-11 | Belkin International Inc. | Smart local device rediscovery |
CN105225449A (zh) | 2014-06-30 | 2016-01-06 | 艾默生网络能源有限公司 | 监控系统及监控采集器 |
US10616176B2 (en) * | 2016-05-20 | 2020-04-07 | Ford Global Technologies, Llc | Virtual DNS record updating method for dynamic IP address change of vehicle hosted server |
US10205606B2 (en) * | 2016-06-15 | 2019-02-12 | Abl Ip Holding Llc | Mesh over-the-air (OTA) luminaire firmware update |
US10348514B2 (en) | 2016-10-26 | 2019-07-09 | Abl Ip Holding Llc | Mesh over-the-air (OTA) driver update using site profile based multiple platform image |
CN108449198A (zh) | 2018-01-25 | 2018-08-24 | 捷开通讯(深圳)有限公司 | 一种ota升级的方法、系统及存储设备 |
-
2019
- 2019-03-21 EP EP19715011.3A patent/EP3769493B1/en active Active
- 2019-03-21 ES ES19715011T patent/ES2936479T3/es active Active
- 2019-03-21 FI FIEP19715011.3T patent/FI3769493T3/fi active
- 2019-03-21 WO PCT/EP2019/057095 patent/WO2019180146A1/en active Application Filing
- 2019-03-21 US US16/982,929 patent/US11726762B2/en active Active
- 2019-03-21 CN CN201980021565.9A patent/CN111886845B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002011402A1 (en) * | 2000-07-31 | 2002-02-07 | Loudcloud, Inc. | Dhcp server with rarp request handling capabilities |
CN1689310A (zh) * | 2002-08-21 | 2005-10-26 | 松下电器产业株式会社 | 使用mac地址来确定ip目标地址的网络终端器件、地址管理服务器、通信系统和网络通信方法 |
US20080013474A1 (en) * | 2006-07-14 | 2008-01-17 | Symbol Technologies, Inc. | Wireless switch network architecture implementing layer 3 mobility domains |
KR20080047857A (ko) * | 2006-11-27 | 2008-05-30 | 엘지전자 주식회사 | Ota를 이용한 소프트웨어 다운로드 방법 및 이를 위한방송 수신기 |
CN101237466A (zh) * | 2008-02-29 | 2008-08-06 | 华为技术有限公司 | 对终端进行网络配置的方法、装置和系统 |
US20100099396A1 (en) * | 2008-10-21 | 2010-04-22 | Qualcomm Incorporated | Remote control of devices utilizing a mobile network |
WO2010083629A1 (zh) * | 2009-01-24 | 2010-07-29 | 上海贝尔股份有限公司 | 通过网络地址配置服务器实现设备远程控制的方法及装置 |
US20140211658A1 (en) * | 2013-01-25 | 2014-07-31 | AAC Technologies Pte. Ltd | Wireless apparatus and network address report method in zigbee network |
CN103179551A (zh) * | 2013-03-04 | 2013-06-26 | 东莞宇龙通信科技有限公司 | 一种无线升级的方法及系统 |
CN103973502A (zh) * | 2014-05-28 | 2014-08-06 | 梅志国 | 智能家居系统的设备的程序无线升级方法 |
CN105516923A (zh) * | 2015-12-16 | 2016-04-20 | 青岛海信移动通信技术股份有限公司 | 一种确定终端设备所在区域位置的方法和ota服务器 |
CN105933355A (zh) * | 2016-07-07 | 2016-09-07 | 中国联合网络通信集团有限公司 | 一种物联网终端管理方法、物联网服务器和网络服务器 |
CN107786683A (zh) * | 2016-08-25 | 2018-03-09 | 福特全球技术公司 | 移动装置网络地址服务器更新 |
CN107589956A (zh) * | 2017-10-24 | 2018-01-16 | 杨鲲 | 一种分布式优先级镜像页ota固件升级方法及系统 |
Non-Patent Citations (2)
Title |
---|
LIANG SHEN;等: "Optimization on ZigBee OTA Technique", 《2016 IEEE ADVANCED INFORMATION MANAGEMENT, COMMUNICATES, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE (IMCEC)》 * |
王永;奚吉;: "基于ZigBee的空中下载技术的分析及优化", 电子器件, no. 03 * |
Also Published As
Publication number | Publication date |
---|---|
US11726762B2 (en) | 2023-08-15 |
FI3769493T3 (fi) | 2023-02-22 |
CN111886845B (zh) | 2024-06-21 |
US20210011705A1 (en) | 2021-01-14 |
EP3769493A1 (en) | 2021-01-27 |
WO2019180146A1 (en) | 2019-09-26 |
EP3769493B1 (en) | 2022-11-09 |
ES2936479T3 (es) | 2023-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111886845B (zh) | 在通信互连装置网络中执行空中下载(ota)升级的方法和装置 | |
US9930166B2 (en) | Method for operating a communication device in a communication network, a communication device, a luminaire equipped with such communication device | |
JP2019509703A (ja) | Wi−Fiネットワークのクラウドベース制御 | |
US7688795B2 (en) | Coordinated reboot mechanism reducing service disruption in network environments | |
US11930431B2 (en) | Wireless sensor system, wireless terminal device, communication control method and communication control program | |
US20200220776A1 (en) | Network Nodes with Intelligent Integration | |
JP2013510494A (ja) | バッテリレスジグビー装置を有するネットワークにおいて通信する方法、それに対するネットワーク及び装置 | |
JP2018538718A (ja) | メッシュネットワーク接続性 | |
US8233454B2 (en) | Communication system and method for switching between wireless connections | |
US11464071B2 (en) | Method of and devices for inquiring address announce messages in a communication network | |
JP5976571B2 (ja) | 無線lanルータ | |
CN103973502A (zh) | 智能家居系统的设备的程序无线升级方法 | |
US20220321462A1 (en) | A method of and an arrangement for communicating by a server with a node device of a network of interconnected node devices | |
US11659417B2 (en) | Communication apparatus, method for controlling the same, and storage medium | |
US11284476B1 (en) | Systems and methods for commissioning nodes of a wireless network | |
US20230013924A1 (en) | Route discovery in networks with combo nodes | |
KR20230087944A (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 |