CN111656750A - 针对iot设备的回退安全网络通信逻辑单元及对其进行管理的方法 - Google Patents

针对iot设备的回退安全网络通信逻辑单元及对其进行管理的方法 Download PDF

Info

Publication number
CN111656750A
CN111656750A CN201880071624.9A CN201880071624A CN111656750A CN 111656750 A CN111656750 A CN 111656750A CN 201880071624 A CN201880071624 A CN 201880071624A CN 111656750 A CN111656750 A CN 111656750A
Authority
CN
China
Prior art keywords
connection
network
driver
network communication
current version
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.)
Pending
Application number
CN201880071624.9A
Other languages
English (en)
Inventor
E·普雷韦劳德
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.)
Netatmo SAS
Original Assignee
Netatmo SAS
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 Netatmo SAS filed Critical Netatmo SAS
Publication of CN111656750A publication Critical patent/CN111656750A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种网络通信逻辑单元,该网络通信逻辑单元被配置为对连接驱动器的一个或多个先前的版本具有访问权。网络通信逻辑单元能够生成并评估连接/配置测试,并且如果测试在预定义的持续时间或次数内失败,则网络通信逻辑单元被配置为自动触发用先前版本之一替换连接驱动器的当前版本。由于本发明,即使升级已经发布了在该设备的配置中不起作用的版本,嵌入这种类型的网络通信逻辑单元的IoT设备也可以再次变得可操作。

Description

针对IOT设备的回退安全网络通信逻辑单元及对其进行管理 的方法
技术领域
本发明涉及一种将IoT设备连接到通信网络的网络连接逻辑单元。更具体地,本发明的IoT设备具有可以自动恢复的网络连接性,即不需要用户额外的输入或动作。
背景技术
物联网(IoT)的部署基于这样的假设:设备在所有情况下都保持连接到网络,以便能够接收和/或发送数据。例如,安装在公共或私人房屋的安全摄像机通常必须每天24小时/每周7天可操作。该规范对于电子锁也有效。对于控制加热或冷却装备、照明系统或任何类型的传感器(这些传感器捕获气候或环境参数,然后这些参数用于触发某种动作)的设备同样如此。大多数IoT设备都装载有控制设备的处理器、其传感器、访问其存储容量等的固件。
无论以何种关注度执行开发工作,通常的实践是不时地提供固件的升级(通常限于几个补丁),以纠正已知的错误或添加功能。即使当使用最新方法执行固件的维护(包括在现场部署之前执行各种类型的测试)时,也可能出现在安装升级之后设备的某些功能不再可操作的情况。这种现象被称为“回退”。对回退的简单修复在于返回到升级前可操作的固件的先前版本。
但是,当回退已经影响到管理设备的网络连接性的固件部分时,无法实现这种简单修复,因为补丁无法再从其制造商的维护平台到达设备。
在这种情况下,如果设备提供这种功能,唯一可用的修复可能是触发工厂重置。但是无论如何,这将要求用户的动作,并且将替换有漏洞的版本的固件版本将不是最新的而是初始版本。因此,对最新版本起效的用户定义的参数(例如,Wi-Fi密码)可能无法对初始版本起效,并且连接可能根本无法工作……
因此,需要一种用于IoT设备的网络连接驱动器,该驱动器能够在升级到不可操作的最后的版本的情况下自动恢复最新版本。
发明内容
本发明的目的是满足这一需要。为此,本发明特别公开了一种网络通信逻辑单元,其可操作用于确定IoT设备的固件的连接性功能已因升级而受损,并触发用最后一个功能版本来替换管理连接性的固件部分。
更准确地,本发明公开了一种网络通信逻辑单元,该网络通信逻辑单元包括连接驱动器的当前版本;对存储连接驱动器的先前版本的存储器的访问;其中,网络通信逻辑单元被配置为自动提供对连接驱动器的当前版本不可操作用于将设备连接到网络的确定;根据所述确定,自动触发对连接驱动器的先前版本而不是连接驱动器的当前版本的访问。
有利地,自动触发对连接驱动器的先前版本的访问包括自动触发用连接驱动器的先前版本对连接驱动器的当前版本的替换以及重新启动设备的连接。
有利地,自动触发用连接驱动器的先前版本对连接驱动器的当前版本的替换包括擦除连接驱动器的当前版本。
有利地,自动提供对连接驱动器的当前版本不可操作用于将设备连接到网络的确定包括将连接驱动器的选择的标志从当前版本更改为先前版本,并且自动触发对连接驱动器的先前版本的访问包括在标志处于先前版本状态时,触发对连接驱动器的先前版本的调用。
有利地,本发明的网络通信逻辑单元进一步包括对配置参数的当前版本的访问以及这些配置参数向连接驱动器的输入。
有利地,该连接是符合2G到5G蜂窝、Wi-Fi、Zigbee或蓝牙标准中的一个的无线连接或者SigFox或LoRa连接。
有利地,该连接是有线连接。
有利地,自动提供对连接驱动器的当前版本不可操作用于连接到网络的确定包括对如下时段超过预定义阈值的确定,在该时段期间将设备连接到网络的试验已经失败。
有利地,自动提供对连接驱动器的当前版本不可操作用于连接到网络的确定包括对将设备连接到网络的试验已经失败的次数超过预定义阈值的确定。
有利地,自动提供对连接驱动器的当前版本不可操作用于连接到网络的确定进一步包括对连接驱动器的当前版本已经在预定义阈值内被安装的确定。
有利地,自动提供对连接驱动器的当前版本不可操作用于连接到网络的确定进一步包括对利用配置参数配置设备失败的次数超过预定义阈值的确定。
有利地,时间限制和/或试验次数的预定义阈值在操作期间由网络的运营商提供的补丁进行调整。
有利地,时间限制和/或试验次数的预定义阈值基于连接/配置失败报告被调整。
有利地,当预定义数量的连接性测试或配置测试中的一个或多个有效时,自动触发对连接驱动器的先前版本而不是连接驱动器的当前版本的访问被禁用。
有利地,连接测试的频率随时间被调整。
本发明还公开了一种电子设备,其在固件中包括根据本发明的一些实施例的网络通信逻辑单元,该设备选自包括以下各项的组:气象站、摄像机、自动活动护窗/百叶窗、恒温散热器阀、智能插头、智能灯、智能锁。
本发明还公开了一种管理电子设备的固件的升级的方法,该方法包括通过网络连接将电子设备的固件的当前版本下载到电子设备,固件的当前版本包括网络通信逻辑单元中的连接驱动器的当前版本;重新引导电子设备;自动提供对连接驱动器的当前版本是否可操作用于将电子设备连接到网络的确定;如果该确定是否定的,则访问存储连接驱动器的先前版本的存储器;自动触发对连接驱动器的先前版本而不是连接驱动器的当前版本的访问。
本发明使得能够在不需要用户干预的情况下实现操作的无缝连续性,以及其他优点。
由于仅需要存储网络通信逻辑单元的先前版本,因此本发明要求设备中的最小存储器空间。
本发明可以使用无线或有线的任何类型的连接工作。
本发明允许定义可以由设备的运营商或用户调整到特定应用和设置的参数以调整条件,在该条件下确定网络连接性已经受到升级影响。
当执行连接性的测试时,本发明还使得能够在升级之后定义预定义的时间限制。
本发明可以在任何类型的连接设备中工作,例如,气象站、摄像机、自动活动护窗/百叶窗、恒温散热器阀、智能插头、智能灯、智能锁、智能电器、智能电视。
附图说明
在阅读下面特定实施例的具体实施方式(纯粹通过非限制性示例给出)时,将更好地理解本发明及其优点,参考附图进行该描述,在附图中:
图1表示在本发明的多个实施例中,可以由本发明实现的多个设备在智能家庭环境中的应用;
图2表示根据本发明的一些实施例的被配置为管理IoT网络的系统的架构;
图3表示根据本发明的一些实施例的网络通信逻辑单元的功能架构;
图4a、图4b和图4c是根据本发明的一些实施例的用于实现本发明的方法的流程图的变体。
具体实施方式
图1表示在本发明的多个实施例中,可以由本发明实现的多个设备在智能家庭环境中的应用。
图1中示出的不同系统的描述将允许更好地理解本发明的用例。然而,这些用例不应该被解释为限制性的,而应该被解释为仅是对本发明的应用领域的说明。特别地,本发明可以体现在安装在其他环境(比如集体住宅、工业或第三方建筑物、公共房屋或任何种类的设置)中的其他设备中。
图中所示的智能建筑物100具有一个或多个局域网或家庭局域网(LAN或HAN,110)。LAN可以使用各种类型的传输层:以太网电缆、光纤、电力线载波(PLC)、无线传输。可以使用不同的协议。在无线传输介质的情况下,Wi-Fi或Zigbee是其中最受欢迎的。当5G将变得可用时,很可能5G也将会用于HAN。
在建筑物中,可能存在单个LAN或多个LAN。该选项可能根据使用一个以上的网关与外部世界通信的义务。例如,可能有用于访问互联网服务的第一网关121,并且可能有用于访问计量系统132的第二网关122。这种隔离可能由管理智能计量系统的公用事业公司(电力、天然气、水等)实施,因为它们使用需要与其他HAN分开的专用通信单元。但是,在通过互联网应用执行计量的其他用例中,可以使智能仪表在同一单个HAN中共享。
但是选择隔离的HAN可能还有其他原因:将专用网络分配给特定应用可能更高效。图1中示出了一些示例性应用,但是当然可以设想其他应用。
安全监控应用131可以部署在建筑物100中和/或周围。它可以由多个传感器组成,例如:可见光或红外摄像机;雷达或激光雷达;声音探测器、存在传感器、接近传感器等……一些传感器可以位于建筑物内部。其他传感器可以位于建筑物外部。传感器可以系统地或选择性地捕获数据。选择性可以视检测到的对象或事件的预定义类型而定。可以本地或远程监控传感器数据。监控也可能本地或远程触发警报。警报可以是声音信号、光学信号,也可以是到达远程响应中心的消息形式,该远程响应中心将派遣安全人员到现场。
建筑物100的加热系统133可以是可编程的加热系统,该系统可以由可编程通信恒温器(PCT,143)本地控制。PCT可以具有一个或多个温度设定点。可以在PCT中手动输入温度设定点。可以基于每日时间线在PCT上本地编程多个温度设定点(通过非限制性示例,初夜/午夜/深夜/清晨/中午/日暮温度设定点)。PCT被连接到HAN,PCT也可以被远程编程,例如,使用安装在移动电话151上的应用和/或从移动电话151可访问的应用。在加热系统的一些实施例中,可以在加热系统的散热器中的一些或全部上安装恒温散热阀,并且也可以本地或远程控制其温度设定点。此外,可以以与控制加热系统的方式相似的方式本地或远程控制制冷装备。
可以使用车辆充电设备(VCD)在建筑物100的车库中重新装载电动车辆134。可以使用负载控制设备144本地控制VCD。由VCD分配的负载也可以使用应用进行远程控制。
智能照明系统(SLS,135)也可以安装在建筑物100中。SLS可以由多个智能灯泡或多个插入了灯具的智能插头组成。智能灯泡和智能插头配备有控制板或片上系统(SOC)。然后,照明控制145将允许控制智能灯泡或插头中的电流从关闭状态切换到打开状态,反之亦然,或者改变电流以降低/增加光的亮度。每个房间可能有一个遥控器。在一些实例中,遥控器可以与另一个开关组合以形成双向开关。但是,在一个房间中也可能存在多个照明控制,或者在其中可以控制多个房间的情况下中央照明控制也可能存在。应当注意,可以将不是灯具的装备插入智能插头,例如,电加热装备、电烹饪装备或任何其他类型的电气装备,其运行可以以二进制方式或连续方式命令。
图中未显示的其他类型的系统也可能包含在HAN中。例如,百叶窗/活动护窗可以配备有电动机,并且可以被本地(逐个房间或集中地)或远程控制和驱动。电视机可能被配备为远程可编程的,例如,用于录制节目以供以后回放。可以在建筑物内部或外部放置多个传感器,以监控温度、环境空气质量、风力强度、湿度、降雨量等。传感器的测量数据可以发送到服务提供商的服务器用于处理、合并以及重新分配给服务订阅者。测量数据也可能只能部分地(隐私问题)或全部发送给建筑物的所有者或承租人。
运行在建筑物100中的各种智能控制应用或子系统的控制器可以集中在中央家庭控制器146处。从中央家庭控制器,可以控制所有应用,或仅控制其中的一些应用。在一些实施例中,中央家庭控制器可以是远程可访问的。此外,中央家庭控制器146可以配备有屏幕以显示子系统的不同组件,由子系统的传感器收集的数据、图像或图形,设定点,警报,参数等……在一些实施例中,屏幕可以是触觉表面或特别适合用户或应用的另一输入设备。
根据本发明,不同子系统131、132、133、134、135的设备或装备中的一些或全部连接到作为RF网络的LAN/HAN。未显示在图中的其他子系统也可能连接到HAN。此外,子系统中的一些以及图中未显示的子系统的控制设备143、144、145应该连接到HAN。
在本发明的上下文中,安装在房屋中的网络中的一个或多个可以由运营商管理。运营商可以是设备中的一些设备的制造商或集成商,或者可以是第三方。运营商可以提供安装在设备中的一些设备上的固件模块的升级。升级可以由运营商管理并且连接到设备的服务器提供。
存在用于升级固件的各种解决方案。例如,一些制造商提供空中(OTA)固件,这些固件被推送到设备上并且在一夜之间安装。另一个示例包括在智能电话已经使用应用从服务器取回升级后,由智能电话使用例如蓝牙连接来提供升级。
升级可能旨在提供对由运营商检测到和/或由用户报告的错误的修复。升级也可能旨在向设备提供如运营商确定的附加功能,可能在用户社区提出请求之后。
IoT设备的功能通常嵌入在固件中,该固件是低级机器语言可执行指令集。因此,固件升级目前是作为当前固件的完全替换而提供的,而不是像其他类型的软件那样作为差异升级。当IoT设备获得更多要求更高级的语言和更长的代码的功能时,可能有必要且有可能使用差异升级。
相反地,多个嵌入式软件没有组织在文件中。在那种情况下,有必要替换整个软件,而不是仅替换软件的与网络管理有关的部分。
在升级在网络连接上被发送到用户的设备之前,必须由运营商对升级进行测试。但是这些测试无法提供升级是否与所有设备配置兼容的确定性。这些配置可能具有不同的硬件或软件配置,其中的一些与软件升级不兼容。
当兼容性的缺乏不影响与网络的连接性时,对该问题的简单修复是检测兼容性的缺乏的原因并且重新发送新的升级。
当与网络的连接性受到影响时,无法实现这种简单的修复。
正是在这样的上下文中,本发明提供了一种解决方案,如在说明书中进一步解释的。
图2表示根据本发明的一些实施例的被配置为管理IoT网络的系统的架构。
IoT设备的受管理的网络的运营商的服务器210连接到可以有线(ADSL、光纤或其他)或可以无线(蜂窝、卫星、电缆等……)的通信网络。
服务器可能不会物理上出现在确切位置上。由运营商使用的计算设施和/或通信能力可以位于云215中。
软件升级可以推送给订阅者,也可以由订阅者获取。升级可以是定期的,或者是在现场可用的,以应对由运营商或大量用户识别的错误。
向订阅者的房屋对升级的传送通过安装在房屋上的网关220传递。网关220本身可以是互联网的通用接入点,或者可以是其本身可以专用于对安装在这些房屋上的IoT设备中的一些或全部进行管理的辅助网关。在后一种情况下,网关本身可以由(多个)IoT设备网络的运营商中的一个管理,并且网关可以通过有线连接或无线连接连接到主互联网网关。
多个IoT设备可以连接到网关,例如,恒温器散热器阀231、恒温器232、气象站(室内模块233和室外模块234)或室内摄像机235。当然,其他设备可以连接到网关,例如,图1中所示的设备中的一些设备,或者其他设备。IoT设备可以全部属于同一品牌并且由同一运营商管理,或者它们可以属于不同的品牌并且由同一运营商或不同运营商管理。
在一些配置中,多个中继可能是必要的以确保对订阅者的房屋的适当覆盖,特别是如果房屋包括多个建筑物,或者如果设备中的一些设备位于网关本身所在的建筑物外部(可能是例如室外安全摄像机的情况)。
设备231、232、233、235可以全部直接地连接到网关220。气象站的室外模块234将通常通过室内模块233连接到网关。更一般地,根据房屋的配置、网关和可能的中继的定位,一些IoT设备可以使用例如以太网协议以有线模式直接连接到网关。在一些实例中,连接可以使用电力线载波(PCL)。在未配备有以太网电缆的私有财产中,通常会使用Wi-Fi、蓝牙、Zigbee或专有协议无线连接IoT设备。在某些情况下,设备本身可以形成局域网(LAN)。LAN可以在主-从架构中配置,或者LAN可以在网状网络架构中配置,该网状网络架构会随着某些设备附接到它而扩展自身,该变体未在图中示出。
在本发明的其中运营商具有安装在订阅者的房屋上的特定的网关220的第一个变体中,该网关可以用作安装在订阅者的房屋上的所有设备的软件升级的中间服务器。
在本发明的其中运营商使用房屋的通用网关的第二个变体中,如果存在安装在这些房屋上的多个IoT设备,则其中一个可以用作IoT设备的LAN的主节点以及用作软件升级的中间服务器,然后其他IoT设备成为从节点,这些从节点仅当已经证明该升级可以在主节点上工作时,才能获取其升级。
在本发明的第三个变体中,所有IoT设备将以相同的方式操作,并且软件升级将以相同的方式安装。
这些变体将在不同的架构或流程图中进行转换,这些架构或流程图将在说明书中进一步进行评述。根据技术效益分析和/或成本效益分析,不同的运营商可能会选择不同的变体。
作为未在图中描述的变体,升级可以通过使用应用已经取回升级的智能电话发送到IoT设备。
图3表示根据本发明的一些实施例的网络通信逻辑单元的功能架构。
本发明将在“网络通信逻辑单元”(NCL,300)中实现,该网络通信逻辑单元一般是安装在IoT设备上的固件的一部分。NCL可以包括连接到管理IoT设备的通信的处理器310的一组存储器电路。处理器310还可以是管理IoT设备的一些其他功能的通用处理器。NCL可以全部或部分地在ASIC或FPGA中实现。
NCL 300将通常包括:
-当前连接驱动器320,其包括在某一时刻活动以管理IoT设备到网络的连接的代码行;该驱动器将特定于连接类型;例如,“fw.bin”文件将用于Wi-Fi连接,并且从NCL的驱动器部分上传到Wi-Fi芯片组;一些文件将是必要的以将命令从OS发送到连接芯片组(在Linux OS管理Wi-Fi连接的情况下,则为“wpa-supplicant”和“hostapd”);
-后退连接驱动器331,其是在上次升级之前可工作的连接驱动器的先前可操作版本的副本;当在后退连接驱动器中未检测到缺陷时,它可能是实际的最后一个版本,或者当发现最后一个版本有缺陷时,它可能是再前一个版本;当当前连接驱动器320已经确定是有缺陷的时,根据本发明,用后退连接驱动器331替换当前连接驱动器320,作为要由设备使用的连接驱动器(即,然后是“后退”版本);当IoT设备具有一个以上的连接时(即,以太网;4G/5G;Wi-Fi;蓝牙;Zigbee等……);在一些变体中,可以保留一个以上的先前版本,并且后退到其中一个标记为比其他版本更可靠并且可能比最后一个版本更可靠的版本;在一些实例中,可以基于置信指数来决定后退版本,该置信指数取决于IoT设备的环境及其硬件和软件配置;一般地,后退连接驱动器331将与固件升级一起下载;如果使用部分/差异升级程序,则可能保留先前的后退连接驱动器331;
-无连接计数器332,IoT设备通常“定期”(见下文)轮询网络以建立连接,首先连接到网关(如果没有直接连接到互联网),并且然后通过网关连接到互联网上的默认服务器(例如,运营商的服务器),或者直接连接到互联网(如果它具有直接连接);无连接计数器332是一个内部计数器,用于在一段时间内跟踪自上次成功尝试以来经过的时间和/或尝试的次数;当尝试失败时,则计数器可以增加一个单位,并且当尝试成功时,计数器可以减少到零;
-在一些实例中,无连接计数器332随后可以与无连接计时器332a组合,该无连接计时器332a对自上次成功尝试以来经过的时间进行计数;连接尝试的频率(因此,在可以对设备的连接性状态进行诊断之前经过的时间)取决于设备的类型:
ο一些第一种类型的设备需要被连续地或几乎连续地连接,因为它们需要在事件发生后立即触发特定动作;安全摄像机典型地是这种情况,该安全摄像机需要能够在任何时刻及时向远程位置发送警报和/或图像;然后摄像机将会非常频繁地监控自己的连接性,例如,每分钟一次;
ο一些第二种类型的设备需要被定期连接;气象站典型地是这种情况,气象站的传感器测量其相应的物理数据(温度、风、噪声、二氧化碳浓度等……),并且将新的测量数据发送到服务器;例如,可以每30分钟执行一次测量/发送;
ο一些第三种类型的设备仅需要不频繁地连接,因为它们捕获不频繁的事件,而立即向服务器报告这些事件并不重要;活动监控设备典型地是这种情况,该设备将仅需要每天连接到服务器一次。
用于确定测试的成功或失败的标准可以是:
-将固件数据成功加载到网络芯片,以指示当前版本与设备硬件之间的兼容性;
-中央处理器与网络芯片之间的成功通信,以及网络硬件的激活;
-根据所选择的网络规范、低级别协商,通过设备加入由网关或其他对等设备提供的网络,以指示当前版本与安装设备的环境之间的兼容性;
-设备与其他设备或由运营商维护的公知的服务器之间的通信,以指示工作网络栈;
-由设备从外部服务器接收到的有效数据,以指示没有数据损坏。
由于节能是IoT设备的一个持续关注点,因此在一段时间内的尝试的次数应该保持最小;如下文所解释的,在升级后将尝试集中在有限的时间段内可能是有利的;这可能存在没有在足够数量的用例中测试升级版本以检查不存在回退的缺点;折衷可以是具有升级之后随着时间的推移而衰减的试验频率。
在某些情况下,先前连接尝试的历史记录可以用于在升级固件之前确定检测成功或失败的概率。例如,如果先前的网络连接是100%成功的,则检测成功或失败的概率将非常高。但是在任何情况下,都应该考虑到连接完全不起作用的可能性:接受执行无用的测试可能比具有不再可操作的设备以及随后需要实现硬件召回程序更好。
某些设备不需要仅出于检查其连接性的目的而检查其连接,而是作为其操作的一部分自然地执行网络接入(例如,每30分钟进行一次测量的传感器将短暂地激活其网络,仅用于上传其测量值)。在这种情况下,无连接计数器可以仅在这些情况下利用此操作模式进行升级;这将不会改变设备的能耗,并且仅可能根据网络接入的固有频率使缺陷检测变慢。
可选地,NCL 300还可以包括升级计时器335;该计数器可以记录连接驱动器的最后一次升级的时间;NCL可以使用升级计时器335来调整计数器332和334的阈值以优化连接试验,并且从而最小化误报、漏报和能耗。例如,在接近升级时间的日期,可以使用比后一个日期少的多个丢失的连接来触发用后退连接驱动器替换当前连接驱动器。
NCL应该有权访问连接配置表333;该表存储了网络参数(如果是Wi-Fi网络:网络名称;用户密码;静态IP地址/动态主机配置协议;域名服务器的选择;如果是Zigbee网络:个人区域网络ID;网络密钥);当连接驱动器已升级或恢复,将访问连接配置表以能够建立连接。当升级涉及将安全协议(例如,从WPA2——Wi-Fi-保护访问2加TKIP——临时密钥完整性协议)更改为WPA2加AES——高级加密标准时,可能有必要从另一个表或者通过用户输入取回需要添加到连接配置表中的特定信息,例如,SSID——服务集ID。
用户可以本地或远程访问连接配置表。在这种情况下,连接应该能够作为接入点工作。然后连接配置表对于在此模式下测试连接可能是必要的。
为此,可选地,可以在NCL 300中设置失败配置计数器334;像无连接计数器332一样,失败配置计数器可以作为内部计数器嵌入到NCL 300中,用于在一段时间内跟踪自上次成功尝试以来经过的时间和/或用户已经尝试且未能配置IoT设备的次数;当尝试失败时,计数器可以增加一个单位,并且当尝试成功时,计数器可以减少至零。
用于确定测试的成功或失败的标准可以是:
-将固件数据成功加载到网络芯片,以指示当前版本与设备硬件之间的兼容性;
-中央处理器与网络芯片之间的成功通信,以及网络硬件的激活;
-与用于执行配置的辅助设备成功连接或从用于执行配置的辅助设备成功连接:
ο例如,使用蓝牙连接连接到设备的智能电话,其中终端用户将在专用应用中输入新配置,该专用应用将经由蓝牙发送配置;
ο代替蓝牙,该设备可以充当Wi-Fi接入点,并且等待Wi-Fi客户端连接并发送新的配置参数;
ο在预定义的时间限制(例如,15分钟)内没有来自辅助配置设备的任何连接可以解释为用于此配置的网络接口的可能缺陷,并且在计数器中被计为“+1”。
-一旦从上一步接收到新配置,必须应用该配置;这可能要求首先将网络硬件重新编程为不同的模式(Wi-Fi客户端而不是Wi-Fi接入点),在这种模式下必须再次检测故障;
-一旦应用了新配置,就可以根据如上文解释的相同逻辑来测试网络连接性。
一般地,当网络上存在多个设备时,配置表的一些元素可以应用于所有设备,而一些其他元素可以仅应用于其中的一些设备。在这种情况下,连接配置表333和失败配置计数器334可以被分解为可能扮演主节点角色(不管它是否是网关)的设备中的一个。
在本发明的变体中,要升级的固件是一组代码行,这些代码行不是以文件形式组织的,并且不能管理文件。在这种情况下,软件升级不能包括文件格式的连接驱动器。代替两个不同的文件(当前连接驱动器320和后退连接驱动器331),“驱动器”将是两个功能集,当确定连接为OK时由NCL调用当前连接功能集320,并且当确定连接为KO时由NCL调用后退功能集331。连接/配置的状态例如记录在连接OK/连接KO标志中。然后,标志的状态触发适当的功能调用。
图4a、图4b和图4c是根据本发明的实施例中的一些的用于实现本发明的方法的流程图的变体。
流程图的结构在三幅图中是相同的:
-在步骤400,根据运营商的倡议或订阅者的倡议,在设备(或中间服务器)上下载软件升级;现有配置参数不能通过软件升级修改,即连接配置表333不能为空;
-在步骤410a、步骤410b、步骤410c,测试设备到网络的连接性;被执行的确切测试将取决于需要被测试的连接的类型;各种选项都是可能的,将在说明书中进一步讨论;
-如果连接性被测试为OK,则与下载之前一样,设备的操作继续420;
-如果连接性被测试为KO,则使NCL用先前的连接驱动器331替换431当前连接驱动器320;作为选项,在执行此替换之后,禁用连接性测试,直到下一次升级下载为止(步骤未在图中显示);
-在步骤433,执行设备的重新启动;使用被替换的驱动器通过受该功能限制的专用动作,或者通过设备的完全重新引导来重新激活网络接口。
图4a的流程图是本发明的默认变体,其中仅执行了连接性测试410a。
测试的是设备的标准操作模式,即设备作为连接接入点(可能是网关220)的客户端进行操作。测试包括自动确定当前连接驱动器320是否正确地工作。这是作为自动测试连接实现的,首先连接到网关,并且然后连接到互联网。可以定期地执行自动测试,例如,每小时、每两小时、每四小时,或者基于可能已经被记录在该连接驱动器上的回退的历史的任何有意义的值:回退的频率越高,最终决定不存在回退所需的测试频率越高。每次测试为肯定(连接OK)时,无连接计数器被重置为零;每次测试为否定(连接KO)时,计数器增加一。必须选择自测试开始以来经过的时间。如果当已经经过该时间时计数器的值为零,则连接被确定为OK;如果当已经经过该时间时计数器的值严格为正,则连接被确定为KO。考虑到用例,特别是是否每天长时间段(例如,在晚上)停用网关,可以将确定连接状态所经过的时间的值设置为24小时。可以使用其他值。可以在运营商工厂或制造商工厂中执行试验和错误后设置正确的值,或者在操作期间计算正确的值并且通过运营商发送到设备的补丁从中进行调整。
作为选项,如果计数器超过了阈值(例如,3),则也可以将连接声明为KO,这意味着三次连续的自动测试都已经失败。
连接失败的报告可以被记录并且发送给网络运营商,以供以后的升级考虑。该报告将在下一次升级中用于改进当前连接驱动器。
图4b的流程图是本发明的另一个变体,其中执行了连接性测试和配置测试的组合410b。
上面已经关于图4a解释了连接性测试。
可选地,根据本发明的一些实施例,配置测试被视为检查IoT设备能够接收由用户输入的新配置。接受新配置失败可能是由于上文描述的标准的连接性测试未检测到的原因造成的;例如,设备可能需要在配置模式下激活不同的网络驱动器,例如,使用蓝牙接收用于配置Wi-Fi连接的命令;或者暂时充当Wi-Fi接入点而不是Wi-Fi客户端,或在对等Wi-Fi中操作。
测试使用NCL的失败配置计数器334。如果存在配置参数(即,如果没有执行工厂重置程序,并且如果配置参数已恢复),则可以有效地执行测试。如果输入(通过连接配置表333的副本的自动输入,或通过本地或远程输入(例如,通过智能电话)的手动输入)失败(配置=KO),则失败配置计数器334增加一。如果配置成功(配置=OK),则失败配置计数器334被重置为零。定义了阈值。该阈值不应该太低(1或2),使得正常故障(例如,由于用户错误)不会产生误报。阈值不应该太高,以确保没有太多的尝试,使得用户不会损失太多的时间。通过示例的方式,该值可以设置为值3。可以使用其他值。正确的值可以在运营商工厂或制造商工厂中执行试验和错误后设置,或者在操作期间计算正确的值并且通过运营商发送到设备的补丁从中进行调整。
当测试的组合(连接性测试和配置测试)中的测试中的一个为否定(连接性测试=KO或配置测试=KO)时,用先前的连接驱动器331中的一个替换当前连接驱动器320的步骤431被自动触发。
可以记录连接或配置失败的报告,并且将其发送给网络运营商,以供以后的升级考虑。这样的报告将在下一次升级中用于改进当前连接驱动器。
图4c的流程图是本发明的另一个变体,其中执行了连接性测试、配置测试、升级计时器335的测试的组合410c。
上面已经关于图4a解释了连接性测试,并且上面已经关于图4b解释了配置测试。
为了最小化对失败的测试的误报,根据本发明的一些实施例,可选地,可以对自最后一次软件升级以来经过的时间执行额外的测量。
在升级定时器335中执行这样的额外的测量。升级定时器335存储了最后一次升级的下载的时间。然后,计时器对自下载的时间以来经过的时间计数。可以设置一个或多个阈值来确定连接/配置尝试的频率(可以针对连接尝试和配置尝试设置不同的阈值和频率)。例如,可以在下载后30分钟设置第一阈值。可以使用其他值。可以在运营商工厂或制造商工厂中执行试验和错误后设置正确的值,或者在操作期间计算正确的值并且通过运营商发送到设备的补丁从中进行调整。测试的频率可以基于经验设置为不同的值,对应的参数通过补丁发送到设备。
然后如上面所解释的执行其他测试,由于状态(连接性或配置为OK或KO)应用相同的程序。
考虑到升级计时器值和测试频率,可以记录连接或配置失败的报告,并且将其发送到网络运营商,以供以后的升级考虑。这样的报告将在下一次升级中用于改进当前连接驱动器。
在所有测试(410a、410b或410c)中,可以设置参数以确定最小数量的成功连接/配置具有连接/配置被视为OK的结果。该阈值可以设置为值1。可以使用其他值。可以在运营商工厂或制造商工厂中执行的试验和错误后设置正确的值,或者在操作期间计算正确的值并且通过运营商发送到设备的下一个升级从中进行调整。
在本发明的一些变体中,其中要升级的固件不包括文件管理系统,而不是用后退连接“驱动器”331替换当前连接“驱动器”320,NCL包括条件调用功能,如果连接性/配置为KO,则它将调用后退版本。该变体用单个步骤431a(“调用后退版本”)替换图4a、图4b和图4c中的步骤431和433。
在本发明的一些变体中,用后退版本331替换连接驱动器的前当前版本320表明从NCL 300的存储器中擦除前当前版本。这是有利的,特别是如果前当前版本具有安全弱点。
本公开的主题包括本文公开的各种过程、系统和配置的所有新颖且非显而易见的组合和子组合以及其他特征、功能、作用和/或特性,及其任何和所有等价物。
它们不以任何方式限制由所附权利要求定义的所述发明的范围。

Claims (17)

1.一种网络通信逻辑单元(300),包括:
-连接驱动器的当前版本(320);
-对存储所述连接驱动器的先前版本(331)的存储器的访问;
其中,所述网络通信逻辑单元被配置为:
-自动提供(410a、410b、410c)对所述连接驱动器的所述当前版本不可操作用于将设备连接到网络的确定;
-根据所述确定,自动触发(431)对所述连接驱动器的所述先前版本而不是所述连接驱动器的所述当前版本的访问。
2.根据权利要求1所述的网络通信逻辑单元,其中,自动触发对所述连接驱动器的所述先前版本的访问包括自动触发用所述连接驱动器的所述先前版本(331)对所述连接驱动器的所述当前版本(320)的替换以及重新启动(433)所述设备的连接。
3.根据权利要求2所述的网络通信逻辑单元,其中,自动触发用所述连接驱动器的所述先前版本(331)对所述连接驱动器的所述当前版本(320)的替换包括擦除所述连接驱动器的所述当前版本(320)。
4.根据权利要求1所述的网络通信逻辑单元,其中,自动提供对所述连接驱动器的所述当前版本不可操作用于将设备连接到所述网络的确定包括将所述连接驱动器的选择的标志从所述当前版本更改为所述先前版本,并且自动触发对所述连接驱动器的所述先前版本的访问包括在所述标志处于先前版本状态时,触发对所述连接驱动器的所述先前版本(331)的调用。
5.根据权利要求1至4中的任一项所述的网络通信逻辑单元,进一步包括对配置参数的当前版本的访问以及这些配置参数向所述连接驱动器的输入。
6.根据权利要求1至5中的任一项所述的网络通信逻辑单元,其中,所述连接是符合2G至5G蜂窝、Wi-Fi、Zigbee或蓝牙标准中的一个的无线连接或者SigFox或LoRa连接。
7.根据权利要求1至6所述的网络通信逻辑单元,其中,所述连接是有线连接。
8.根据权利要求1至7中的任一项所述的网络通信逻辑单元,其中,自动提供对所述连接驱动器的所述当前版本不可操作用于连接到所述网络的确定包括对如下时段超过预定义阈值的确定,在所述时段期间将所述设备连接到所述网络的试验已经失败。
9.根据权利要求1至8中的任一项所述的网络通信逻辑单元,其中,自动提供对所述连接驱动器的所述当前版本不可操作用于连接到所述网络的确定包括对将所述设备连接到所述网络的试验已经失败的次数超过预定义阈值的确定。
10.根据权利要求8至9中的任一项所述的网络通信逻辑单元,其中,自动提供对所述连接驱动器的所述当前版本不可操作用于连接到所述网络的确定进一步包括对所述连接驱动器的所述当前版本已经在预定义阈值内被安装的确定。
11.根据权利要求1至10中的任一项所述的网络通信逻辑单元,其中,自动提供对所述连接驱动器的所述当前版本不可操作用于连接到所述网络的确定进一步包括对利用所述配置参数配置所述设备失败的次数超过预定义阈值的确定。
12.根据权利要求8至11中的任一项所述的网络通信逻辑单元,其中,时间限制和/或试验次数的所述预定义阈值在操作期间由所述网络的运营商提供的补丁进行调整。
13.根据权利要求12所述的网络通信逻辑单元,其中,时间限制和/或试验次数的所述预定义阈值基于连接/配置失败报告被调整。
14.根据权利要求1至13中的任一项所述的网络通信逻辑单元,其中,当预定义数量的连接性测试或配置测试中的一个或多个有效时,自动触发对所述连接驱动器的所述先前版本而不是所述连接驱动器的所述当前版本的访问被禁用。
15.根据权利要求1至14中的任一项所述的网络通信逻辑单元,其中,连接测试的频率随时间被调整。
16.一种电子设备,其在固件中包括根据权利要求1至15中的任一项所述的网络通信逻辑单元,所述设备选自包括以下各项的组:气象站、摄像机、自动活动护窗/百叶窗、恒温散热器阀、智能插头、智能灯、智能锁。
17.一种管理电子设备的固件的升级的方法,所述方法包括:
-通过网络连接将所述电子设备的所述固件的当前版本下载到所述电子设备,所述固件的所述当前版本包括网络通信逻辑单元中的连接驱动器的当前版本;
-重新引导所述电子设备;
-自动提供对所述连接驱动器的所述当前版本是否可操作用于将所述电子设备连接到所述网络的确定;
-如果所述确定是否定的:
ο访问存储所述连接驱动器的先前版本的存储器;
ο自动触发对所述连接驱动器的所述先前版本而不是所述连接驱动器的所述当前版本的访问。
CN201880071624.9A 2017-11-06 2018-10-26 针对iot设备的回退安全网络通信逻辑单元及对其进行管理的方法 Pending CN111656750A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17306537.6A EP3481032B1 (en) 2017-11-06 2017-11-06 Regression safe network communication logic for an iot device and method of managing the same
EP17306537.6 2017-11-06
PCT/EP2018/079411 WO2019086342A1 (en) 2017-11-06 2018-10-26 Regression safe network communication logic for an iot device and method of managing the same

Publications (1)

Publication Number Publication Date
CN111656750A true CN111656750A (zh) 2020-09-11

Family

ID=60409247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880071624.9A Pending CN111656750A (zh) 2017-11-06 2018-10-26 针对iot设备的回退安全网络通信逻辑单元及对其进行管理的方法

Country Status (4)

Country Link
US (1) US20200329120A1 (zh)
EP (1) EP3481032B1 (zh)
CN (1) CN111656750A (zh)
WO (1) WO2019086342A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11539609B2 (en) * 2018-09-11 2022-12-27 Trilliant Networks, Inc. Method and apparatus for reporting power down events in a network node without a backup energy storage device
US11416269B2 (en) * 2020-11-20 2022-08-16 Motorola Solutions, Inc. Method, system and computer program product for serving user settings interface components
CN114286366B (zh) * 2021-12-23 2023-07-14 深圳创维数字技术有限公司 无线网格网络升级方法、装置、主节点及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314532B1 (en) * 1998-12-04 2001-11-06 Lucent Technologies Inc. Method and system for recovering from a software failure
CN102105883A (zh) * 2008-06-23 2011-06-22 Nxp股份有限公司 电子装置以及电子装置的软件或固件更新的方法
EP2615566A2 (en) * 2012-01-13 2013-07-17 Nexenta Systems, Inc. Unified local storage supporting file and cloud object access
US20140157266A1 (en) * 2012-12-03 2014-06-05 International Business Machines Corporation Restoring a Previous Version of a Virtual Machine Image
US9110679B1 (en) * 2011-06-03 2015-08-18 Phoenix Technologies Ltd. Pre-boot management of drivers and programs
US20150277402A1 (en) * 2014-03-26 2015-10-01 Honeywell International Inc. Controller having a version control system
US20170118092A1 (en) * 2015-10-22 2017-04-27 Level 3 Communications, Llc System and methods for adaptive notification and ticketing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081964B2 (en) * 2012-12-27 2015-07-14 General Electric Company Firmware upgrade error detection and automatic rollback

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314532B1 (en) * 1998-12-04 2001-11-06 Lucent Technologies Inc. Method and system for recovering from a software failure
CN102105883A (zh) * 2008-06-23 2011-06-22 Nxp股份有限公司 电子装置以及电子装置的软件或固件更新的方法
US9110679B1 (en) * 2011-06-03 2015-08-18 Phoenix Technologies Ltd. Pre-boot management of drivers and programs
EP2615566A2 (en) * 2012-01-13 2013-07-17 Nexenta Systems, Inc. Unified local storage supporting file and cloud object access
US20140157266A1 (en) * 2012-12-03 2014-06-05 International Business Machines Corporation Restoring a Previous Version of a Virtual Machine Image
US20150277402A1 (en) * 2014-03-26 2015-10-01 Honeywell International Inc. Controller having a version control system
US20170118092A1 (en) * 2015-10-22 2017-04-27 Level 3 Communications, Llc System and methods for adaptive notification and ticketing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈涛等: "基于SVN的版本控制方案研究与比较", 《金融电子化》 *

Also Published As

Publication number Publication date
EP3481032B1 (en) 2022-11-02
WO2019086342A1 (en) 2019-05-09
US20200329120A1 (en) 2020-10-15
EP3481032A1 (en) 2019-05-08

Similar Documents

Publication Publication Date Title
CN108432282B (zh) 用于通过无线通信管理电子装置的方法和设备
US10156377B2 (en) Distributed heating, ventilation, and air conditioning system with concurrent network connections
CN111656750A (zh) 针对iot设备的回退安全网络通信逻辑单元及对其进行管理的方法
US9898921B2 (en) Security system installation
CN108886482B (zh) 用于配置、控制或监测家庭自动化设施的方法
CN108234238B (zh) 局域网中的调试和个性化设备
EP3074963A1 (en) Modular wireless power, light and automation control with user verification
WO2011103652A1 (en) System and method for facility management and operational monitoring and control
US20160295397A1 (en) Presence detection in building automation systems
US11538294B2 (en) Smart thermostat hub
US20170352244A1 (en) Retroactive messaging for handling missed synchronization events
US20200099576A1 (en) Group Association Fallback For Improved Network Resilience
US20230180026A1 (en) Node control unit and network-service device
KR101696348B1 (ko) 벽면 매립형 오픈 월 패드 및 시스템
US11442720B2 (en) Communication adapter and program update method for communication adapter
JP4395769B2 (ja) 電力線搬送通信システム
CN112995264A (zh) 防止数据误删除的方法、设备、存储介质及程序产品
BR102018068874A2 (pt) Métodos e aparelhos para controle de coberturas arquitetônicas
JP3778209B1 (ja) 通信中継装置、通信システム、通信制御方法、通信制御プログラム、および、記録媒体
KR102167099B1 (ko) 전원통신 통합 라인의 신규 설비 제어 자동 설정 방법 및 컴퓨터-판독가능 기록매체
CN113630728A (zh) 一种无线局域网设备状态管理方法及系统
KR20170007495A (ko) 벽면 매립형 오픈 월 패드 및 시스템
KR20130125487A (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200911