CN109074251A - 嵌入式系统的本地空中更新 - Google Patents

嵌入式系统的本地空中更新 Download PDF

Info

Publication number
CN109074251A
CN109074251A CN201780026220.3A CN201780026220A CN109074251A CN 109074251 A CN109074251 A CN 109074251A CN 201780026220 A CN201780026220 A CN 201780026220A CN 109074251 A CN109074251 A CN 109074251A
Authority
CN
China
Prior art keywords
equipment
embedded system
mirror image
encryption
digital mirror
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
Application number
CN201780026220.3A
Other languages
English (en)
Other versions
CN109074251B (zh
Inventor
P·甘地
P·F·亨特
D·J·梅尔斯
J·R·埃克霍尔特
A·卡塞雷斯
S·圣达信
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.)
Ela Iot Network Shenzhen Co ltd
Original Assignee
Ella & Co
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 Ella & Co filed Critical Ella & Co
Publication of CN109074251A publication Critical patent/CN109074251A/zh
Application granted granted Critical
Publication of CN109074251B publication Critical patent/CN109074251B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0492Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

计算设备确定与包括嵌入式系统的设备相关联的唯一标识符。该计算设备将唯一标识符发送到广域网(WAN)可访问服务并从该WAN可访问服务接收加密数字镜像,该加密数字镜像包括用于包括嵌入式系统的设备的固件更新。该计算设备将加密数字镜像存储在计算设备的存储区域中并使用该加密数字镜像发起对包括嵌入式系统的设备的固件的空中更新。

Description

嵌入式系统的本地空中更新
背景技术
许多现代化家电、消费者设备和其它设备包括配置成执行一个或多个专用功能的嵌入式系统。提供联网能力的这类设备的嵌入式系统可以周期性地受益于对控制这类能力的软件或固件的更新,以修复漏洞和/或添加新功能。
可以将对计算机软件和固件的更新从基于云的广域网(Wide Area Network,WAN)可访问服务或其它服务供应方(其可将软件的数字镜像传送到嵌入式系统)“空中”(OverThe Air,OTA)传送到一些具有联网能力的嵌入式系统。通常,具有可按该方式接收更新的嵌入式系统的设备能够使用与该供应方的安全通信链接来与镜像供应方通信以及下载镜像。一旦已将设备部署到终端用户,则未来的软件/固件更新依赖于与镜像供应方的安全通信。当设备无法与镜像供应方通信时,通常在不将该设备返回到制造商或不对该设备执行现场服务的情况下无法提供软件更新。当一次软件更新在建立安全连接方面引起意外的问题(作为结果,该问题阻止使用后续OTA更新来修正该问题)时,这尤其棘手。类似地,具有已打包很久但未部署的预加载软件的设备可能由于嵌入在软件中的连接证书到期而不能够再建立与镜像供应方的安全连接。
附图说明
现在将参照示出本申请的示例性实施方式的附图。
图1为示出包括远程可访问嵌入式系统的示例性网络架构的框图。
图2A为示出根据本发明的一个实施方式的用于控制远程可访问嵌入式系统的远程控制应用的框图。
图2B为广域网(WAN)可访问服务的示例性实施方式的框图。
图3为具有远程可访问嵌入式系统的示例性设备的框图。
图4为对嵌入式系统上的固件执行本地空中更新的示例性方法的流程图。
图5为连接到具有嵌入式系统的设备的示例性方法的流程图,该设备作为接入点操作。
图6为连接到具有嵌入式系统的设备的示例性方法的流程图,该嵌入式系统连接到局域网。
图7为发起空中更新的示例性方法的流程图。
图8为通过本地空中更新提供待安装在嵌入式系统上的加密数字镜像的示例性方法的流程图。
图9为确定存在可用的加密数字镜像的示例性方法的流程图。
图10为生成加密数字镜像的示例性方法的流程图。
图11为通过空中更新提供待安装在嵌入式系统上的加密数字镜像的示例性方法的流程图。
图12为根据本发明的实施方式的执行空中更新的时序图。
图13示出计算设备的一个实施方式的框图。
具体实施方式
实施方式针对于具有远程控制界面的嵌入式系统以及能够发起用于该嵌入式系统的固件的本地OTA更新的远程控制应用。远程控制应用能够建立与嵌入式系统的直接局域网(Local Area Network,LAN)会话以及通过LAN会话而与嵌入式系统通信。当嵌入式系统未连接到LAN时,如果该嵌入式系统作为接入点(Access Point,AP)操作,则远程控制应用可以建立与该嵌入式系统的直接会话。远程控制应用另外能够建立与广域网(WAN)可访问服务(例如网络服务或“云”服务)的会话,该WAN可访问服务托管包含用于嵌入式系统的固件更新的数字镜像。WAN可访问服务可以专门针对特定设备加密该数字镜像,以及使用远程控制应用作为代理来将加密数字镜像传送到嵌入式系统,直到直接在WAN可访问服务与嵌入式系统之间重新建立安全连接。由于加密固件更新以供特定设备使用,因此远程控制应用可以使用非安全连接将加密数字镜像传送到嵌入式系统。这提供了通过软件更新的方式恢复与嵌入式系统的安全连接而无需物理访问包括嵌入式系统的设备的硬件的能力。
在本文中的实施方式中的所描述的远程控制应用可以连接到嵌入式系统以获得关于特定设备的具体信息。然后远程控制应用可以连接到WAN可访问服务以确定是否存在可用于该设备的固件更新。远程控制应用可以通过将设备相关信息与从WAN可访问服务接收的信息相比较来进行该确定。例如,WAN可访问服务可以发送用于嵌入式系统的最新固件版本的版本号,且远程控制应用可以将该版本号与从嵌入式系统接收的信息相比较。可替选地,WAN可访问服务可以进行确定并向嵌入式系统通知任何可用更新。然后远程控制应用可以下载包含固件更新的加密数字镜像并将其存储在远程控制应用可访问的存储区域中。然后远程控制应用可以重新建立与嵌入式系统的连接(若需要,则从WAN可访问服务断开),并在本地无线连接上将加密数字镜像提供给嵌入式系统,从而可将该加密数字镜像安装在嵌入式系统上。
在一些实施方式中,WAN可访问服务专门针对具有特定设备序列号的嵌入式系统生成加密数字镜像。该加密数字镜像仅可以被具有特定设备序列号的设备解密且不可以被品牌或型号相同的任何其它设备使用。WAN可访问服务可以按需基于从远程控制应用接收的设备相关信息对数字镜像加密。可替选地,WAN可访问服务可以在接收到设备信息之前生成加密数字镜像。例如,制造商可以识别具有使用过时固件版本的嵌入式系统的所有已知设备,且可以通知WAN可访问服务生成用于每个所识别设备的加密数字镜像。
现在参照附图,图1为示出示例性网络架构100的框图,该示例性网络架构100包括远程可访问嵌入式系统和与该嵌入式系统交互的计算设备。网络架构100包括连接到局域网(LAN)165的一个或多个设备145和计算设备110。设备145为具有嵌入式系统150的设备,且可以包括例如电器,诸如冰箱、烤箱、洗涤器、干燥机、洗碗机、恒温器、警报器、空调、电视、收音机、接收器、放大器等。设备145也可以包括消费者设备,诸如数字手表、音乐播放器、游戏控制器、数码相机、打印机等。设备145的其它示例包括固定设备,诸如HVAC系统、交通信号灯、工厂控制器、指示牌、电子广告牌、洒水系统、和灌溉控制系统以及医疗器械。设备145也可以为包括嵌入式系统150的任何其它类型的设备。
嵌入式系统150为嵌入到另一设备145中而作为该设备145的一个构件的一类计算设备。设备145通常也包括可与嵌入式系统交互的其它硬件、电子和/或机械构件。嵌入式系统150通常配置成处理特定的一个或一组任务,可以针对该一个或一组任务优化嵌入式系统150。相应地,相比于一般计算设备,嵌入式系统150可以具有最小的成本和尺寸。
嵌入式系统150可以包括通信模块(未示出),该通信模块使嵌入式系统150(因此设备145)能够连接到LAN 165、或可替选地直接连接到计算设备110。通信模块可以配置成管理安全、管理会话、管理与外部设备的通信等等。在一个实施方式中,通信模块配置成使用进行通信。可替选地,通信模块可以配置成使用低功率无线局域网上的因特网协议版本6(6LowPAN)、电力线通信(PLC)、以太网(例如,10兆字节(Mb)、100Mb和/或1吉字节(Gb)以太网)或其它通信协议进行通信。下文参照图3更详细地描述嵌入式系统的一个示例。
在一些实施方式中,嵌入式系统145可以作为接入点(AP)操作,以在无线连接上直接连接到计算设备110。当操作在‘AP’模式下时,嵌入式系统150可以使用上文所列的通信标准连接到设备110。在一个实施方式中,嵌入式系统145可以在初始化(例如首次使用嵌入式系统)期间操作在AP模式下,从而该嵌入式系统可以被用户借助远程控制应用120配置成与LAN 165连接。例如,当用户安装新设备145且首次对其供电时,嵌入式系统150可能不具有可用于允许其连接到LAN 165的配置信息。响应于确定没有可用的连接配置信息,嵌入式系统150可以作为AP接受连接。用户可以指示远程控制应用120连接到作为AP的嵌入式系统150,以将合适的连接证书提供给嵌入式系统150,从而嵌入式系统150可以建立与LAN 165的安全连接(例如,通过提供用于与LAN 165连接的无线接入点的SSID和密码)。一旦嵌入式系统150已配置成直接与LAN 165连接,则嵌入式系统150可以从AP模式切换到“站模式”(STA模式),此时,嵌入式系统150可以停止作为接入点操作且开始作为网络的节点(例如LAN的站)操作。在一个实施方式中,嵌入式系统150默认被设为AP模式。相应地,重置设备145可以使得嵌入式系统150返回AP模式。
在另一实施方式中,嵌入式系统145可以操作在AP模式下以促进从远程控制应用120接收本地OTA更新(也被称为LAN OTA更新),如下文进一步详细描述。当嵌入式系统150无法借助LAN 165建立与WAN可访问服务130的安全连接时(例如当固件证书已到期时),可以使用LAN OTA更新。显然,当操作在AP模式下时,嵌入式系统150可以在未加密的无线连接上与远程控制应用120通信。可以在未加密的无线连接上将包含待安装在嵌入式系统145中的固件的加密数字镜像从远程控制应用120发送到嵌入式系统150。一旦固件更新已被解密且被嵌入式系统150安装,并且嵌入式系统150可以建立与LAN 165的安全连接,则嵌入式系统150可以从AP模式切换回到STA模式。
返回参照图1,LAN 165可以包括允许在连接到LAN 165的多个设备(例如设备145、计算设备110等)之间的通信的路由器、开关、桥接器或其它网络设备(未示出)。该网络设备可以使用例如以太网端口、通用串行总线(Universal Serial Bus,USB)和/或端口提供与LAN的有线连接。网络设备可以另外使用例如收发器提供与LAN的无线连接。
一些嵌入式系统150可以不支持被网络设备支持的通信类型中的任一者。例如,设备145可以支持Zigbee、蓝牙等。为了使这类设备能够连接到LAN 165,LAN 165可以包括网关设备(未示出),该网关设备借助被网络设备支持的连接类型之一(例如借助以太网或)连接到网络设备。该网关设备可以另外支持其它通信协议,诸如Zigbee、PLC和/或蓝牙,且可以在支持的通信协议之间转换。相应地,一些设备145可以通过网关设备连接到LAN。
LAN 165连接到广域网(WAN)170。WAN 170可以为私人WAN(例如内联网)或公共WAN,诸如因特网,或可以包括私人网络和公共网络的组合。LAN 165可以包括提供与WAN170的连接的路由器和/或调制解调器(例如,电缆调制解调器、直接串行链接(DirectSerial Link,DSL)调制解调器、微波存取全球互通(Worldwide Interoperability forMicrowave Access,)调制解调器、长期演进(Long Term Evolution,)调制解调器等)。
WAN 170可以包括或连接到服务器计算设备125-135。服务器计算设备125-135可以包括物理机和/或由物理机托管的虚拟机。物理机可以为机架式服务器、台式电脑或其它计算设备。在一个实施方式中,服务器计算设备125-135可以包括由云供应方系统管理且提供的虚拟机。由云服务供应方提供的每个虚拟机可以被托管在配置为云的一部分的物理机上。这类物理机经常位于数据中心。可以提供云供应方系统和云作为基础设施即服务(IaaS)层。这类云的一个示例为亚马逊的弹性计算云(Elastic Compute Cloud,)。
服务器计算设备125托管WAN可访问服务130,该WAN可访问服务130可以为基于网络的服务和/或云服务(例如,在云计算平台中托管的基于网络的服务)。WAN可访问服务130可以保持与嵌入式系统150的会话(例如借助连续性或间歇性连接)。可替选地,WAN可访问服务130可以周期性地建立与嵌入式系统150的会话。借助与嵌入式系统150的会话,WAN可访问服务130可以向嵌入式系统发布命令和/或从嵌入式系统接收状态更新。所述命令可以为改变嵌入式系统可控制的设备的一个或多个参数的状态的命令。例如,如果将嵌入式系统嵌入加热器或恒温器中,则所述命令可以包括提高或降低温度的命令。在另一示例中,如果将嵌入式系统嵌入家用自动化系统中,则所述命令可以包括开灯或关灯的命令。
从嵌入式系统150接收的状态更新可以识别包括嵌入式系统150的设备145的一些或全部可检测参数的值或状态。这类值或状态可以基于与设备的直接用户交互而改变。这类值或状态也可以响应于由WAN可访问服务130和/或由计算设备110发送到嵌入式系统150的命令而改变。通过保持或周期性地建立与嵌入式系统150的会话,WAN可访问服务130可以保持关于设备145的状态的最新信息。在一些实施方式中,从嵌入式系统150接收的状态更新可以包括与设备145相关联的设备相关信息,诸如与设备相关联的唯一标识符(例如,特定的设备序列号(Device Serial Number,DSN))、安装在嵌入式系统150上的固件组件的版本号等。WAN可访问服务可以使用状态更新确定安装在嵌入式系统150上的固件何时变为过时且需要更新。这可以发生在更新固件以提供增强的能力、以修正软件错误、以替换到期的加密证书等时。
WAN可访问服务130可以另外保持与计算设备110的远程控制应用120的会话(例如借助连续性或间歇性连接)。在嵌入式系统150不能直接连接到WAN可访问服务130的情况下,借助与远程控制应用120的会话,WAN可访问服务130可以接收上述的设备相关信息。在嵌入式系统150不能直接连接到WAN可访问服务130(例如,由于首次使用设备145、由于安装在嵌入式系统150上的固件组件的版本的问题等)的情况下,WAN可访问服务可以使用与远程控制应用120的会话作为用于与嵌入式系统150通信且将固件更新传送到嵌入式系统150的代理。
WAN可访问服务130可以基于从远程控制应用120接收的设备相关信息确定应当更新安装在嵌入式系统150上的固件组件。WAN可访问服务可以生成加密数字镜像,该加密数字镜像包含用于具有针对设备145的特定DSN的嵌入式系统150的固件更新,其中,该加密数字镜像仅对于具有该特定DSN的设备145是可用的。在一个实施方式中,WAN可访问服务130可以将设备145的特定DSN与一列DSN相比较,对于该列DSN,存在可用的加密数字镜像。在另一实施方式中,WAN可访问服务可以将安装在嵌入式系统150上的固件组件的版本与一列已知过时固件版本相比较,对于该列已知过时固件版本,存在用于LAN OTA更新的加密数字镜像和/或可以生成用于LAN OTA更新的加密数字镜像。
在一些实施方式中,WAN可访问服务130可以响应于从远程控制应用120接收设备相关信息而创建加密数字镜像。可替选地,WAN可访问服务130可以在接收设备相关信息之前创建加密数字镜像。WAN可访问服务130可以针对可受益于固件更新的每个特定DSN生成单独的加密数字镜像。例如,WAN可访问服务可以接收与具有旧固件版本的设备相关联的一列DSN,并针对每个DSN生成唯一的加密数字镜像,从而每个加密数字镜像仅可以被与加密该数字镜像所针对的DSN相关联的设备所解密和安装。
然后WAN可访问服务130可以将加密数字镜像提供给远程控制应用120。远程控制应用120可以通过将加密数字镜像的位置(例如统一资源定位符(Uniform ResourceLocator,URL))发送到远程控制应用120来提供加密数字镜像,从而远程控制应用120可以从该位置下载加密数字镜像。在一些实施方式中,加密数字镜像的位置可以指示远程控制应用120与WAN可访问服务130的子构件连接。可替选地,该位置可以指示远程控制应用120连接WAN可访问服务130外部的构件,诸如数字镜像服务140。
在一个实施方式中,服务器计算设备135托管数字镜像服务135,该数字镜像服务可以为基于网络的服务和/或云服务(例如,在云计算平台中托管的基于网络的服务)。数字镜像服务135可以独立于WAN可访问服务130而提供托管加密数字镜像以供下载的能力。这类服务的一个示例为亚马逊的简单存储服务在一些实施方式中,数字镜像服务140可以在与WAN可访问服务130分离的服务器计算设备上执行。可替选地,数字镜像服务140和WAN可访问服务130可以在同一服务器计算设备上执行。
计算设备110可以包括便携式设备,诸如电子书阅读器、便携式数字助手、移动手机、笔记本电脑、便携式媒体播放器、平板电脑、照相机、视频照相机、上网本、笔记本等。计算设备110也可以包括传统固定设备,诸如台式电脑、游戏控制器、数字视频光盘(DigitalVideo Disc,DVD)播放器、媒体中心等。计算设备110可以连接到WAN 170和/或LAN 165。当计算设备110进入LAN 165的邻区而足以和与LAN 165相关联的网络设备交换数据时,计算设备110可以连接到LAN 165。这可以包括进入与LAN 165相关联的无线天线的特定邻区内和/或借助例如以太网电缆而物理上连接到LAN 165。
计算设备110可以包括远程控制应用120。远程控制应用120配置成借助设备的嵌入式系统150与设备145中的一者或多者交互和/或控制设备145中的一者或多者。在一个实施方式中,计算设备110可以包括用于网络中的任何设备的嵌入式系统中的每一者的单独远程控制应用。可替选地,计算设备110可以包括能够针对多个不同设备而与嵌入式系统通信和控制嵌入式系统的单一远程控制应用。远程控制应用120可以使用与LAN 165的加密连接、直接使用与操作在AP模式下的嵌入式系统150的未加密连接、或间接使用与WAN可访问服务130的加密连接来与嵌入式系统150通信。
在计算设备110连接到WAN 170期间,远程控制应用120可以建立与WAN可访问服务130的会话。WAN可访问服务130可以提供用于间接控制且监控设备145的界面。如果用户希望改变设备的状态,则用户可以借助远程控制应用120发布命令,且可以将该命令发送到WAN可访问服务130。然后,WAN可访问服务130可以将该命令转发到合适的嵌入式系统。另外,当WAN可访问服务130从嵌入式系统接收设备的更新状态信息时,WAN可访问服务130可以将该状态信息转发到远程控制应用。这可以使用户能够从其有权访问因特网的任何地方连接到设备145且对其进行控制。
当计算设备110连接到LAN 165时,如果嵌入式系统150也连接到LAN165,则远程控制应用120可以自动地建立与嵌入式系统150的直接连接。在计算设备110连接到LAN 165的期间,计算设备110可以保持与嵌入式系统150的会话且控制嵌入式系统150,即使缺少与WAN 170的连接(例如,如果LAN165失去宽带因特网连接)。
在说明性示例中,如果计算设备为移动手机,则计算设备可以使用无线电连接到LAN 165。计算设备可以通过与无线载波系统的连接(例如通过全球移动通信系统(Global System for Mobile communications,GSM)、码分多址(Code Division MultipleAccess,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、时分多址(Time Division Multiple Access,TDMA)、通用移动通信系统(Universal MobileTelecommunications System,UMTS)、长期演进(LTE)、微波存取全球互通(WiMAX)或其它无线通信协议连接)连接到WAN 170和WAN可访问服务130。
当WAN可访问服务130无法与嵌入式系统150通信时,远程控制应用120可以另外被用作将固件更新提供给嵌入式系统150的代理。如上所述,在首次设置设备145期间、或如果固件更新在将设备145设置成修正可能阻止嵌入式系统150与WAN可访问服务130通信的问题之后的某个时刻是有益的,则可以将固件更新提供给嵌入式系统150。
远程控制应用120可以首先建立与嵌入式系统150的连接,以从嵌入式系统150获得上述的设备相关信息(例如,与设备相关联的唯一标识符、固件版本、连接状态等)。如上所述,在初始设备设置期间,当嵌入式系统150操作在AP模式下时,远程控制应用120可以借助直接连接而与嵌入式系统150连接。否则,远程控制应用可以借助LAN 165与嵌入式系统150连接。一旦已接收到设备相关信息,则远程控制应用120可以从嵌入式系统150断开。在远程控制应用120已连接到操作在AP模式下的嵌入式系统150的情况下,远程控制应用120可以断开AP连接。在远程控制应用120已连接到操作在STA模式下的嵌入式系统150且同时连接到LAN 165的情况下,远程控制应用120可以终止与嵌入式系统150的通信会话而不完全从LAN 165断开。可替选地,在LAN 165上与嵌入式系统150的通信会话可以保持活跃。
远程控制应用120可以连接到WAN可访问服务130。如上所述,该连接可以借助LAN165(例如使用)或借助WAN 170(例如使用无线载波系统)来建立。然后远程控制应用120可以将设备相关信息发送到WAN可访问服务130。在一些实施方式中,WAN可访问服务130可以使用如上所述的由远程控制应用120发送的设备相关信息来确定是否存在可用于嵌入式系统150的固件更新。在其它实施方式中,远程控制应用120可以确定将执行固件更新。
在一个实施方式中,远程控制应用120可以使用从嵌入式系统150接收的状态信息确定该嵌入式系统是否能够连接到WAN可访问服务130。响应于进行该确定,远程控制应用120可以将附加信息发送到WAN可访问服务130。例如,远程控制应用120可以发送嵌入式系统不能连接到WAN可访问服务的通知。可替选地,远程控制应用120可以将询问是否存在可用于嵌入式系统150的固件更新的查询发送到WAN可访问服务130。
在一些实施方式中,远程控制应用120可以从WAN可访问服务130接收包括用于嵌入式系统150的最新固件版本号的信息。然后远程控制应用120可以将该信息与从嵌入式系统150接收的设备相关信息相比较。如果空中更新配置成由远程控制应用120发起以更新嵌入式系统,则远程控制应用可以将对于新固件的请求发送到WAN可访问服务130。
一旦确定出存在可用于嵌入式系统150的LAN OTA固件更新,则远程控制应用120可以从WAN可访问服务130接收包含更新固件的加密数字镜像。如上所述,该加密数字镜像是专门针对具有在发送到WAN可访问服务130的设备相关信息中包括的唯一标识符的设备145加密的,且在型号与设备145相同的其它设备上是不可用的。在一些实施方式中,远程控制应用120首先从WAN可访问服务130接收位置信息,该位置信息指示存储加密数字镜像的位置。该位置可以为与WAN可访问服务130相同的服务器计算设备上的存储位置。可替选地,该位置可以为在另一服务器计算设备上的存储位置,诸如数字镜像服务140可访问的存储位置。然后远程控制应用120可以从接收的位置读取加密数字镜像,并将其存储在计算设备110的存储区域中。该存储区域可以为持久存储器、闪存、设备内存等。
一旦远程控制应用120已将加密数字镜像存储在计算设备110上,则计算设备110可以使用加密数字镜像发起对嵌入式系统150的固件的空中更新。远程控制应用120可以首先重新建立与嵌入式系统150的连接。如果嵌入式系统150仍操作在AP模式下,则远程控制应用120可以从WAN可访问服务130断开且建立与作为接入点的嵌入式系统150的新连接。如果嵌入式系统150操作在STA模式下,则远程控制应用可以将已使用LAN 165连接与嵌入式系统150建立的会话重新激活。
然后远程控制应用120可以将位置信息发送到嵌入式系统150,该位置信息包括对存储加密数字镜像的计算设备110的存储区域的引用。在一些实施方式中,位置信息可以为URL,该URL可以访问计算设备110的存储区域的可寻址部分。然后远程控制应用120可以在计算设备110上发起临时服务器进程以允许嵌入式系统150从计算设备110的存储区域读取加密数字镜像。远程控制应用120可以从嵌入式系统150接收指示加密数字镜像是否被嵌入式系统150成功读取的状态。然后远程控制应用120可以将该状态转发到WAN可访问服务130。如果嵌入式系统150操作在STA模式下,则远程控制应用120可以利用已与WAN可访问服务130建立的会话。如果嵌入式系统150操作在AP模式下,则远程控制应用120可以从嵌入式系统150断开且建立与WAN可访问服务130的另一连接,如上所述。
图2A为远程控制应用205的示例性实施方式的框图。远程控制应用205可以为由处理设备(例如由图1的计算设备110的处理器)执行的程序或库。远程控制应用205可以编程为在各种操作系统上运作,仅举几例,诸如操作系统、操作系统、操作系统、操作系统和操作系统。远程控制应用205也可以配置成固件,或硬件,或软件、固件和/或硬件的某种组合。在一些实施方式中,远程控制应用205包括图形用户界面(Graphical User Interface,GUI)232、搜索模块210、空中(OTA)更新管理器215、通信模式选择器220、局域网(LAN)通信器225、广域网(WAN)通信器230、接入点(AP)通信器235、和在其它实施方式中,GUI 232、搜索模块210、OTA更新管理器215、通信模式选择器220、LAN通信器225、WAN通信器230、AP通信器235、和/或临时服务器233中的一些或全部的功能可以被组合为单一模块或划分为附加模块。
远程控制应用205也可以有权访问设备数据240,该设备数据240可以包括用于远程控制应用205注册到的设备的设备ID 242、该设备的最近得知的设备状态244、和指示安装在与远程控制应用注册到的设备上的固件的版本的固件版本246。在一个实施方式中,设备ID 244包括嵌入式系统的媒体接入控制(Media Access Control,MAC)地址。可替选地,设备ID 244可以为独立于MAC地址的分配给嵌入式系统(或嵌入式系统中的通信模块)的唯一标识符。设备数据240可以被运转远程控制应用205的计算设备存储和/或可以被远程WAN可访问服务存储。
图形用户界面(GUI)232使用户能够以直观的且用户友好的方式与设备交互且控制设备。GUI 232可以提供表示用于设备的不同参数的状态和值以及用于改变那些状态和值的控制的图形图标、视觉指示器、按钮、触发器、滑块等的集合。用户可以与GUI 232交互以使得远程控制应用生成通知、命令、性质更新和其它消息,以及核对可用的固件更新并针对在GUI中表示的设备发起固件的OTA更新。
搜索模块210搜索远程控制应用205先前已注册到的嵌入式系统、或远程控制应用205打算注册到的新嵌入式系统。在一个实施方式中,每当执行远程控制应用205的计算设备连接到LAN时,搜索模块210发起搜索。在一个实施方式中,搜索模块210首先试图使用设备的最近得知的IP地址连接到该设备。搜索模块210可以将声脉冲消息发送到IP地址。如果从设备接收到响应,则搜索模块210确定该设备与远程控制应用205共享LAN连接。如果未从设备接收到响应或从非预期的不同设备接收到响应,则搜索模块可以使用组播域名系统(multicast Domain Name System,mDNS)定位该设备。相应地,搜索模块210可以广播查询消息,该查询消息在网络上请求具有设备ID 248的任何设备以识别其自身。如果设备在LAN上,则该设备的嵌入式系统将在LAN上广播其IP地址。这然后识别嵌入式系统到搜索模块210的IP地址。如果设备未在LAN上(例如,如果设备还未注册远程控制应用205),则搜索模块210可以搜索具有作为独立接入点(AP)的嵌入式系统的设备。
通信模式选择器220确定远程控制应用205将直接在LAN上、直接利用作为接入点(AP)的嵌入式系统、还是使用作为代理的WAN可访问服务来与设备的嵌入式系统通信。如果搜索模块210将设备识别为在与远程控制应用205相同的LAN上,则通信模式选择器可以选择直接LAN通信模式。另外,在一些情况下,为了获得用于无法与WAN可访问服务通信的设备的更新固件,通信模式选择器220可以选择WAN通信模式来获得更新固件。如果搜索模块210确定设备作为AP操作(例如,当首次使用设备时、如果用户由于系统问题而重置设备等等),则通信模式选择器220可以选择AP通信模式。
如果选择LAN通信模式来与设备进行,则LAN通信器225建立与该设备的嵌入式系统的直接LAN连接和会话。如果选择AP通信模式来与设备进行,则AP通信器235建立与该设备的嵌入式系统的直接连接和会话。可以使用无线联网协议(诸如等)建立AP直接连接。一旦已借助LAN通信器225或AP通信器235建立与设备的连接,适用的通信器模块可以从该设备获得设备相关信息(例如,与该设备相关联的唯一标识符、存储在该设备的嵌入式系统上的固件版本、该设备的连接状态等)。通信器可以存储设备ID作为设备ID244、存储设备的连接状态作为设备状态224、以及将嵌入式系统上的固件的当前版本存储在设备数据240的固件版本数据246中。
一旦设备相关信息已被适用的通信器模块接收,则远程控制应用205可以调用OTA更新管理器215来确定是否存在可用于设备的嵌入式系统的固件更新。OTA更新管理器215可以连接到WAN可访问服务以确定是否存在可用于设备的嵌入式系统的固件更新。这样做,OTA更新管理器可以在发起与WAN可访问服务的连接之前调用通信模块之一来从设备断开。在远程控制应用205已连接到操作在AP模式下的嵌入式系统的情况下,OTA更新管理器215可以调用AP通信器来断开AP连接。在远程控制应用205已借助LAN连接而连接到嵌入式系统的情况下,OTA更新管理器215可以调用LAN通信器225来终止与嵌入式系统的通信会话而不完全从LAN断开。可替选地,LAN通信器225可以留下在LAN连接上与嵌入式系统的通信会话激活。
然后OTA更新管理器215可以调用WAN通信器230来建立与WAN可访问服务的连接。WAN通信器230可以将用户和/或远程控制应用的证书提供给WAN可访问服务。响应于WAN通信器230提供合适证书,WAN可访问服务可以建立与远程控制应用205的会话。在一个实施方式中,可以将安全套接层(Secure Sockets Layer,SSL)或其它安全协议用于安全会话。一旦建立会话,则WAN通信器230可以向WAN可访问服务提供上述的设备相关信息(例如设备的唯一标识符)。在一些实施方式中,然后WAN可访问服务可以基于设备相关信息确定是否存在可用于嵌入式系统的固件更新。在其它实施方式中,然后WAN可访问服务可以向WAN通信器230提供WAN可访问服务已知的与设备相关联的信息,从而OTA更新管理器215可以确定需要固件更新。
在一个实施方式中,WAN通信器230可以从WAN可访问服务接收包括用于嵌入式系统150的最新固件版本号的信息,并将该信息存储在设备数据240中。然后OTA更新管理器215可以将该信息与从嵌入式系统接收的设备相关信息相比较。如果空中更新配置成由远程控制应用205发起以更新嵌入式系统,则OTA更新管理器215可以将对于新固件的请求发送到WAN可访问服务。
在一个实施方式中,OTA更新管理器215可以使用从嵌入式系统150接收的状态信息确定该嵌入式系统是否能够连接到WAN可访问服务。例如,OTA更新管理器215可以使用存储在从嵌入式系统接收的设备状态242中的状态信息,该状态信息指示嵌入式系统的连接状态(例如,状态指示符、与WAN可访问服务的最近成功通信的数据/时间戳等)。响应于进行该确定,OTA更新管理器215可以调用WAN通信器230来将附加信息发送到WAN可访问服务。例如,WAN通信器230可以发送嵌入式系统不能连接到WAN可访问服务的通知。可替选地,WAN通信器230可以将询问是否存在可用于嵌入式系统的固件更新的查询发送到WAN可访问服务130。
一旦确定出存在可用于嵌入式系统的固件更新,则WAN通信器230可以从WAN可访问服务接收包含更新固件的加密数字镜像。该加密数字镜像是专门针对具有在发送到WAN可访问服务的设备相关信息中包括的唯一标识符的设备加密的,且在型号与设备145相同的其它设备上是不可用的。例如,对于电子器件,诸如冰箱,可以针对特定冰箱生成加密数字镜像,该加密数字镜像仅可以被该冰箱使用。型号相同的任何其它冰箱将不能加密和安装该镜像。
在一些实施方式中,OTA更新管理器215首先从WAN可访问服务接收位置信息,该位置信息指示存储加密数字镜像的地方。该位置可以为与WAN可访问服务相同的服务器计算设备上的存储位置。可替选地,该位置可以为在托管镜像传送服务的另一服务器计算设备上的存储位置。然后OTA更新管理器215可以从接收的位置读取加密数字镜像,并将其存储在计算设备的存储区域中,诸如加密数字镜像250。该存储区域可以为持久存储器、闪存、设备内存等。
加密数字镜像250可以包括报头252和镜像数据254。如上所述,加密数字镜像250可以被WAN可访问服务加密,以供特定设备使用,该加密数字镜像250不能被任何其它设备使用。报头252可以包含被设备用来解密镜像数据254的信息。下文参照图2A进一步详细描述加密数字镜像250。
一旦OTA更新管理器215已存储加密数字镜像250,则该OTA更新管理器215可以使用加密数字镜像250发起对嵌入式系统的固件的空中更新。OTA更新管理器215首先可以重新建立与设备的嵌入式系统的连接。OTA更新管理器215可以调用通信模式选择器220来确定应当使用的设备的通信模式。在远程控制应用205最初连接到操作在AP模式下的嵌入式系统的情况下,OTA更新管理器215可以发信号给WAN通信器230以从WAN可访问服务断开、以及可以调用AP通信器235来建立与作为接入点的嵌入式系统的新连接。在远程控制应用205最初连接到操作在AP模式下的嵌入式系统的情况下,OTA更新管理器215可以发信号给WAN通信器230以从WAN可访问服务断开、以及可以调用AP通信器235来建立与作为接入点的嵌入式系统的新连接。在远程控制应用205已借助LAN连接而连接到嵌入式系统的情况下,OTA更新管理器215可以发信号给LAN通信器225以将已使用LAN连接与嵌入式系统建立的会话重新激活。
然后OTA更新管理器215可以将位置信息发送到嵌入式系统,该位置信息包括对存储加密数字镜像250的存储区域的引用。在一些实施方式中,该位置信息可以为URL,该URL可以访问包含加密数字镜像250的存储区域的可寻址部分。然后OTA更新管理器215可以发起临时服务器233以允许嵌入式系统从存储区域接收加密数字镜像250。在一个实施方式中,临时服务器233可以为超文本传输协议(Hypertext Transfer Protocol,HTTP)进程。在一个实施方式中,临时服务器233可以为文件传输协议(File Transfer Protocol,FTP)进程。临时服务器进程233可以接受从嵌入式系统进程进来的读取加密数字镜像250的会话请求。
然后OTA更新管理器215可以从嵌入式系统接收指示加密数字镜像是否被成功读取和安装的状态。然后OTA更新管理器215可以将该状态转发到WAN可访问服务。例如,如果嵌入式系统读取且解密数字镜像以及随后确定解密的固件更新已被损坏(例如具有不正确的数字签名),则嵌入式系统可以在该状态下对此进行指示。在一些实施方式中,WAN可访问服务可以使用状态信息确定应当重新生成加密数字镜像以及重复用于嵌入式系统的固件的OTA更新。如果嵌入式系统操作在STA模式下,则OTA更新管理器215可以调用LAN通信器255或WAN通信器230来利用已与WAN可访问服务建立的会话。如果嵌入式系统操作在AP模式下,则OTA更新管理器215可以再次调用AP通信器来从嵌入式系统断开,然后调用WAN通信器230来建立与WAN可访问服务的另一连接,如上所述。
显著地,由于加密数字镜像250是专门针对一个特定嵌入式系统(在一个特定物理设备上)加密的,因此可以借助未加密连接将加密数字镜像250传送到该嵌入式系统。因此,在嵌入式系统与WAN可访问服务之间无法建立安全连接的情况下,用户可以将关键的固件更新提供给嵌入式系统而无需涉及技术服务人员。
图2B为WAN可访问服务255的示例性实施方式的框图,在一个实施方式中,该WAN可访问服务255对应于图1的WAN可访问服务130。WAN可访问服务255可以包括数字镜像生成器260、数字镜像服务265、嵌入式系统接口270、应用接口275、图形用户界面285和OTA镜像管理器288。可替选地,数字镜像生成器260、数字镜像服务265、嵌入式系统接口270、应用接口275、图形用户界面285和OTA镜像管理器288中的一者或多者的功能可以被组合为单一模块或划分为多个子模块。尽管图2B将数字镜像服务265示出为WAN可访问服务255的构件,但是在一些实施方式中,数字镜像服务265可以与WAN可访问服务255分离。数字镜像服务265可以被包括在与WAN可访问服务255相同的服务器计算设备上,或可以被包括在单独的服务器计算设备上。
嵌入式系统接口270负责连接到嵌入式系统。WAN可访问服务255可以建立与一个或多个嵌入式系统的安全会话和/或保持与一个或多个嵌入式系统的安全会话。借助活跃的会话,嵌入式系统接口270可以将通知、性质更新和/或控制消息发送到嵌入式系统以及从嵌入式系统接收确认、(例如设备状态242和/或本地IP地址250的)状态更新和其它信息(例如设备ID 248)。
应用接口275负责连接到远程控制应用。应用接口275可以使用户能够通过提供合适证书而在WAN可访问服务上登录用户账户。作为登录过程的一部分,可以建立与远程控制应用的安全会话。一旦建立安全会话(例如借助SSL)且将远程控制应用登录到特定用户账户,则应用接口275可以向远程控制应用提供用于远程控制应用注册到的嵌入式系统的更新状态信息。另外,应用接口275可以从远程控制应用接收用于修改远程控制应用注册到的一个或多个嵌入式系统的状态(或以其它方式控制该一个或多个嵌入式系统)的命令。应用接口275可以接收与嵌入式系统相关联的设备相关信息,诸如与设备相关联的唯一标识符(例如特定设备序列号(DSN))、安装在嵌入式系统上的固件组件的版本号等。应用接口275可以将设备相关信息存储在设备240中,从而该设备相关信息可以被OTA镜像管理器288用来确定是否存在可安装在嵌入式系统上的。
图形用户界面285可以为从计算设备使用网络浏览器可访问的网络界面。相应地,不包括远程控制应用的计算设备可以仍登录用户账户,用以借助图形用户界面285监控和/或控制嵌入式系统。
数字镜像生成器260可以生成待安装在嵌入式系统上的加密数字镜像(例如加密数字镜像250)。在一个实施方式中,响应于应用接口275接收设备相关信息,如上所述,数字镜像生成器250可以生成加密数字镜像250。在一个实施方式中,数字镜像生成器可以识别一列设备,每个设备具有对于固件更新是合格的嵌入式系统。例如,数字镜像生成器260可以接收一列DSN,全部DSN的型号相同(例如,全部都为特定型号的冰箱),其中,每个DSN与包含安装有过时固件版本的嵌入式系统的设备相关联。然后数字镜像生成器260可以针对该列表上的每个设备的嵌入式系统生成唯一的加密数字镜像250,该唯一的加密数字镜像250仅可用于其生成所针对的设备。
数字镜像生成器260可以使用非对称加密(例如RSA加密)和对称加密(例如高级加密标准(Advance Encryption Standard,AES))技术的组合来生成加密数字镜像250,以使镜像的复杂度最小化同时使其安全性最大化。密钥生成器262可以首先生成用于镜像数据254的对称加密的一次性密钥。密钥生成器262可以使用随机数生成器、伪随机数生成器或其它密钥生成机构来生成一次性密钥。在一个实施方式中,密钥生成器262可以生成用于一次性密钥的256位随机数(例如,用于256位AES对称加密)。然后数字镜像生成器260可以生成报头252,该报头252包含用于镜像254的元数据(诸如版本号信息)、一次性密钥、和用于加密数字镜像的数字签名。在一些实施方式中,数字镜像生成器260也可以在对镜像数据254加密之前计算镜像数据254的哈希值(例如SHA哈希值)。然后可以将哈希信息包括在报头252中,在镜像已被加密之后,该报头252可以被嵌入式系统用来验证镜像。
然后数字镜像生成器260可以识别与包括嵌入式系统的设备的DSN相关联的私人加密密钥,将针对该嵌入式系统生成加密数字镜像250。可以调用镜像加密器264来使用私人密钥非对称地加密用于加密数字镜像250的报头252。因此,仅具有对应公共密钥的DSN可以成功地解密报头254,以获得用于解密镜像的主体(称为镜像数据254)的一次性密钥。可以调用镜像加密器264来使用报头252中包含的一次性密钥对称地加密该镜像数据254。可以在加密报头252之前或之后加密该镜像数据254。然后数字镜像生成器260可以组合加密的报头252和加密的镜像数据254以创建加密数字镜像250。
数字镜像服务265可以通过保持服务器进程将加密数字镜像250提供给远程控制应用,该远程控制应用可以连接到该服务器进程以读取加密数字镜像250。数字镜像服务265可以包括镜像传送服务器266和镜像清单268。在一个实施方式中,镜像传送服务器266可以为超文本传输协议(HTTP)进程。在一个实施方式中,镜像传送服务器266可以为文件传输协议(FTP)进程。镜像传送服务器266可以接受从远程控制应用进来的读取加密数字镜像250的会话请求。镜像清单268可以包含用于下载每个可用加密数字镜像的位置信息。例如,镜像清单268可以包含与每个可用加密数字镜像250(可被发送到请求远程控制应用)相关联的URL,从而远程控制应用可以启动下载。
OTA镜像管理器288可以确定是否存在可用于特定设备的嵌入式系统的加密数字镜像。在一些实施方式中,OTA镜像管理器288可以使用由应用接口275接收的设备相关信息来进行确定。在一个实施方式中,OTA镜像管理器288可以将在设备相关信息中接收的设备的特定DSN与DSN列表290相比较,该DSN列表290包含一列DSN,对于该列DNS,存在可用的加密数字镜像。如果设备的DSN匹配DSN列表290中的条目之一,则OTA镜像管理器288可以从列表上的匹配条目识别用于该DSN的对应加密数字镜像250,以及可以将其添加到镜像清单268以供分布。在另一个实施方式中,OTA镜像管理器288可以将安装在设备的嵌入式系统上的固件组件的版本与过时固件列表292相比较,该过时固件列表292包含一列已知过时固件版本,对于该列已知过时固件版本,存在可用的加密数字镜像。如果设备的版本号匹配过时固件列表292中的条目之一,则OTA镜像管理器288可以从列表上的匹配条目识别对应加密数字镜像250,以及可以将其添加到镜像清单268以供分布。
图3为具有远程可访问嵌入式系统315的示例性设备305的框图。设备305可以包括前述的具有嵌入式系统的多种设备中的任一种,以及在一个实施方式中对应于图1的设备145。在一个实施方式中,设备305包括机械构件310、电子构件312和嵌入式系统315。电子构件312和/或机械构件310可以包括传感器、可编程逻辑控制器(Programmable LogicController,PLC)、开关、马达、阀门、致动器等。
嵌入式系统315可以包括主机处理设备325、连接到主机处理设备325的主机存储器330和/或通信模块350。嵌入式系统315也可以包括本文中未示出的多个其它构件。这类附加构件的示例可以包括发光二极管(Light Emitting Diode,LED)、电源调节器、保险丝、端口、用户界面、数模(D/A)转换器、模数(A/D)转换器、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、专用集成电路(Application Specific IntegratedCircuit,ASIC)等。
在一个实施方式中,主机处理设备325可以为微处理器或数字信号处理器(Digital Signal Processor,DSP)。主机处理设备325可以替选地或附加地包括可编程逻辑控制器(PLC)、现场可编程门阵列(FPGA)或复杂可编程逻辑器件(Complex ProgrammableLogic Device,CPLD)。主机处理设备325可以配置成执行与设备305的操作和控制相关的特定功能。
主机存储器330可以包括随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、一次性可编程(One Time Programmable,OTP)ROM、闪存(例如非易失闪存)、或其它类型的存储器。主机存储器330可以存储用于通信模块350的应用程序接口(Application Programming Interface,API)。API 335可以使主机处理设备325能够将命令和/或数据发送到通信模块350以及从通信模块350接收命令和/或数据。
主机存储器330可以附加地包括用于设备305的设备状态340。设备状态340可以包括当前设备状态、历史设备状态、和/或在特定时段内对设备状态进行的改变。例如,在一个实施方式中,设备状态340包括从失去与WAN可访问服务的连接起对设备状态进行的改变。设备状态340可以存储设备305与WAN可访问服务(活跃、不活跃等)的当前连接状态以及安装在设备305的通信模块350上的任何固件390的版本号信息。主机存储器330也可以包括用于主机处理设备325的固件,该固件将主机处理设备配置成执行针对于设备305的一个或多个操作。
在一些实施方式中,主机存储器330可以被集成到主机处理设备325中。例如,微控制器通常包括处理器内核、存储器和可编程输入/输出外设。相应地,如果主机处理设备325为微控制器,则主机存储器330可以为主机处理设备325的存储器。
通信模块350可以为配置成联接到嵌入式系统315的主机处理设备325的集成电路(Integrated Circuit,IC)。通信模块350可以由第三方连同API 335一起提供给设备的制造商,且可以使网络能力和远程控制能力能够很容易被添加到设备305。通信模块350可以包括其自身的处理设备355、存储器365和/或网络适配器360。处理设备355可以为微控制器、片上系统(System on a Chip,SoC)、数字信号处理器(DSP)、可编程逻辑控制器(PLC)、微处理器或可编程逻辑器件,诸如现场可编程门阵列(FPGA)或复杂可编程逻辑器件(CPLD)。存储器可以包括非易失性存储器(例如RAM)和/或易失性存储器(例如ROM,闪存等)。在一个实施方式中,存储器365被集成到处理设备355中。
存储器365可以存储公共密钥370,该公共密钥370用于解密可借助OTA更新从远程控制应用(诸如图1的远程控制应用120)接收的加密数字镜像。存储器365也可以存储用于处理设备355的固件390,诸如包括用于远程接口382的指令的固件。
网络适配器360可以为有线网络适配器(例如以太网适配器)或无线网络适配器(例如适配器或其它无线局域网(Wireless Local Area Network,WLAN)适配器)。网络适配器360也可以配置成使用Zigbee、PLC、蓝牙、6LowPAN或其它通信协议提供与网络或其它设备的连接。网络适配器360可以从WAN可访问服务和/或远程控制应用接收通知和其它消息。网络适配器360可以附加地将传出消息发送到WAN可访问服务和/或远程控制应用。
可以由处理设备355执行远程接口380以对从WAN可访问服务和/或远程控制应用接收的消息和通知进行操作。在一些实施方式中,如果设备305不能与WAN可访问服务通信,则嵌入式系统315的通信模块350可以作为接入点操作(在AP模式下)以直接与远程控制应用通信。
远程接口380也可以确定是否具有足够的资源来建立与远程控制应用的会话。例如,在一个实施方式中,远程接口380可以包括足够的资源来保持与特定数量的远程控制应用的LAN会话。在这类实例中,远程接口380将确定特定数量的远程控制应用是否已具有与嵌入式系统的会话。如果是,则远程接口将不建立与新远程控制应用的连接,从该新远程控制应用接收通知。如果存在少于特定数量的具有LAN会话的远程控制应用,则远程接口380将发起会话建立。
在已建立会话之后,远程接口380可以从远程控制应用和从也具有活跃会话的任何其它远程控制应用接收通知。另外,远程接口380可以从WAN可访问服务接收通知。每个通知可以指示该通知的发送方具有用于嵌入式系统315的消息(例如命令或性质更新)。远程接口380可以或不可以将通知的接收确认发送到发送方。另外,远程接口380可以基于接收通知的次序将这些通知放入队列中,以及可以在先进先出(First In First Out,FIFO)的基础上处理通知。
当将要处理一个通知时,远程接口382将消息发送到请求消息的通知的发送方。然后远程接口382接收所请求的消息、解密该消息、并将来自该消息的任何命令或性质更新转发到主机处理设备325。主机处理设备325可以基于命令执行一个或多个操作,这可以导致用于设备305的一个或多个参照或性质的状态发生改变。主机处理设备325可以将改变的设备状态上报到处理设备355。
在一个实施方式中,通知可以为来自远程控制应用的对于设备相关信息的请求,以便确定是否存在可用于嵌入式系统315的固件更新。远程接口380可以从设备状态340读取所请求的信息并将其发送到提出请求的远程控制应用。
在一个实施方式中,可以从远程控制应用接收可借助OTA更新从远程控制应用读取固件更新的通知。该通知可以包括存储在执行远程控制应用的设备的加密数字镜像的位置(例如,上文参照图2进一步所描述)。然后远程接口380可以调用OTA更新模块375来完成加密数字镜像的下载和解密。
OTA更新模块375可以从通知中指定的位置读取加密数字镜像并将其存储在存储器365中作为固件更新395。在一些实施方式中,可以在单一操作中下载并存储固件更新395。可替选地,可以按块下载固件更新395,且随后每次存储一块。OTA更新模块375可以首先使用公共密钥370来解密加密数字镜像的报头。然后OTA更新模块375可以使用报头中的一次性密钥来解密镜像数据而获得固件更新395。随后,可以安装固件更新395以代替固件390。
在一些实施方式中,如果按块下载加密数字镜像,则可以在适当位置上飞速解密每一块以及可以针对下载块计算签名。该签名可以为随着从远程控制应用下载镜像所计算的该镜像的SHA哈希值,其可用于验证该镜像的真实性。例如,加密镜像可以被下载、然后被解密并被存储在适当位置上(例如,存储解密数据使得其代替存储器中的加密数据)。一旦下载已完成,则OTA更新模块375验证针对固件更新395所计算的SHA哈希值匹配在加密数字镜像的报头中包括的哈希值。如果是,则可以在设备上安装固件更新395。否则,可以丢弃固件更新395,以及可以将状态更新消息发送到远程控制应用以指示加密数字镜像是无效的。
如果启用自动回声模式,则远程接口382可以生成状态更新消息并将其发送到连接的远程控制应用和WAN可访问服务。如果禁用自动回声模式,则主机处理设备可以确定将向哪些(如果有)远程控制应用和/或WAN可访问服务通知状态更新以及何时将分布这类更新。例如,主机处理设备325可以确定针对每个状态改变主动地更新LAN会话、以及每天仅利用最新信息更新WAN可访问服务一次。然后WAN可访问服务可以将状态更新转发到在LAN上未直接连接到嵌入式系统315的任何远程控制应用。
处理设备355可以和与其具有活跃会话的每个远程控制应用和WAN可访问服务保持联系。可以以多种方式检测WAN可访问服务的可达性。例如,远程接口380可以尝试公布具有状态更新的WAN可访问服务和/或可以尝试向WAN可访问服务发送回显信息。如果公布尝试和/或发送回显信息尝试在一次或多次重试之后都失败了,则处理设备355可以向主机处理设备325通知该WAN可访问服务是不可达的。于是远程接口382可以周期性地尝试重新连接到该WAN可访问服务(例如每5分钟、每10分钟、或以某种其它间隔)。
在一个实施方式中,每当通信模块350连接到目的地(例如WAN可访问服务或远程控制应用)或失去与该目的地的连接时,处理设备355通知主机处理设备325。主机处理设备325可以使用该消息记录WAN可访问服务可达性以及记录在设备状态340中哪些性质更新/状态改变还未被上报到WAN可访问服务。一旦重新建立与WAN可访问服务的连接,则主机处理设备325或处理设备355可以发送该WAN可访问服务错过的所有更新。
图4至图7为示出从远程控制应用借助OTA更新提供用于嵌入式系统的固件的更新的各种方法的流程图。这些方法可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如电路、专用逻辑、可编程逻辑、微代码等)、软件(例如在处理设备上运行以执行硬件仿真的指令)、或其组合。在一个实施方式中,这些方法的至少一些操作由执行远程控制应用(诸如图2A的远程控制应用205)的计算设备执行。
图4为对嵌入式系统上的固件执行LAN空中更新的示例性方法400的流程图。在方法400的框405,处理逻辑确定与包括嵌入式系统的设备相关联的唯一标识符。处理逻辑可以通过向嵌入式系统请求设备相关信息来确定该标识符。
在框410,处理逻辑将唯一标识符发送到广域网(WAN)可访问服务。在框415,处理逻辑从WAN可访问服务接收加密数字镜像。该加密数字镜像可以由用于具有嵌入式系统的设备的固件更新组成,其中,该加密数字镜像是专门针对具有在框410发送到WAN可访问服务的唯一标识符的设备加密的、且在具有与具有嵌入式系统的设备相同的型号的其它设备上是不可用的。
在框420,处理逻辑将加密数字镜像存储在存储区域中。在框425,处理逻辑使用加密数字镜像发起设备的固件的LAN空中更新。下文参照图7提出了发起空中更新的一个实施方式。在框425,图4的方法结束。
图5为连接到具有嵌入式系统的设备的示例性方法500的流程图,该设备作为接入点操作。
在方法500的框505,处理逻辑确定具有嵌入式系统的设备作为接入点操作。在框510,处理逻辑使用接入点建立与嵌入式系统的连接。在框515,处理逻辑在接入点连接上建立与嵌入式系统的会话。在框520,处理逻辑借助接入点连接接收设备相关信息。在框525,处理逻辑从接入点断开。
在框530,处理逻辑建立与WAN可访问服务的连接。在框532,处理逻辑从WAN可访问服务接收加密数字镜像。该加密数字镜像可以由用于具有嵌入式系统的设备的固件更新组成,其中,该加密数字镜像是专门针对该设备加密的、且在具有与具有嵌入式系统的设备相同的型号的其它设备上是不可用的。在一些实施方式中,处理逻辑可以将在框520接收的设备相关信息发送到WAN可访问服务,从而WAN可访问服务可以确定是否存在可用于嵌入式系统的加密数字镜像。
在框535,处理逻辑从WAN可访问服务断开。在框540,处理逻辑使用接入点建立与嵌入式系统的第二连接。在框545,处理逻辑在接入点连接上建立与嵌入式系统的第二会话。
在框550,处理逻辑在第二会话上将加密数字镜像提供给嵌入式系统。下文参照图7提出了通过发起空中更新来将数字镜像提供给嵌入式系统的一个实施方式。在框550,图5的方法结束。
图6为连接到具有嵌入式系统的设备的示例性方法600的流程图,该设备连接到局域网。
在方法600的框605,处理逻辑建立与LAN的局域网(LAN)连接。在框610,处理逻辑确定具有嵌入式系统的设备也连接到LAN。在框615,处理逻辑在LAN连接上建立与设备的嵌入式系统的第一会话。在框620,处理逻辑借助LAN连接接收设备相关信息。在框625,处理逻辑建立与WAN可访问服务的会话。
在框630,处理逻辑将设备相关信息发送到WAN可访问服务。在框632,处理逻辑从WAN可访问服务接收加密数字镜像。该加密数字镜像可以由用于具有嵌入式系统的设备的固件更新组成,其中,该加密数字镜像是专门针对该设备加密的、且在具有与具有嵌入式系统的设备相同的型号的其它设备上是不可用的。在一些实施方式中,处理逻辑可以将在框620接收的设备相关信息发送到WAN可访问服务,从而WAN可访问服务可以确定是否存在可用于嵌入式系统的加密数字镜像。在框635,处理逻辑在第一会话上将加密数字镜像提供给嵌入式系统。下文参照图7提出了通过发起空中更新来将数字镜像提供给嵌入式系统的一个实施方式。在框635,图6的方法结束。
图7为发起空中更新的示例性方法700的流程图。在方法700的框705,处理逻辑将用于加密数字镜像的位置信息发送到嵌入式系统。该位置信息可以包括对计算设备的存储区域的引用,其中,该存储区域是在计算设备上存储有该加密数字镜像的位置。在一些实施方式中,该引用可以为统一资源定位符(URL),该URL可以访问计算设备的存储区域的可寻址部分。在框710,处理逻辑发起服务器进程以允许嵌入式系统使用位置信息从存储区域读取加密数字镜像。在一个实施方式中,服务器进程可以为超文本传输协议(HTTP)进程。在一个实施方式中,服务器进程可以为文件传输协议(FTP)进程。服务器进程可以接受从嵌入式系统进来的读取加密数字镜像的会话请求。
在框715,处理逻辑可以借助嵌入式系统与在框710发起的服务器进程之间建立的会话将加密数字镜像发送到嵌入式系统。然后嵌入式系统可以在与服务器进程建立的会话上从指定位置读取加密数字镜像。例如,处理逻辑可以从嵌入式系统接收HTTP GET请求,以从指定位置读取加密数字镜像。在框720,处理逻辑从嵌入式系统接收指示加密数字镜像是否被嵌入式系统成功读取且安装的状态。例如,如果嵌入式系统读取且解密数字镜像以及随后确定解密的固件更新已被损坏(例如具有不正确的数字签名),则嵌入式系统可以在该状态下对此进行指示。然后处理逻辑可以将从嵌入式系统接收的状态信息发送到WAN可访问服务。在一些实施方式中,WAN可访问服务可以使用状态信息确定应当重新生成加密数字镜像以及重复用于嵌入式系统的固件的OTA更新。在框715,图7的方法结束。
图8至图11为示出由WAN可访问服务执行的操作的各种方法的流程图。这些方法可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如电路、专用逻辑、可编程逻辑、微代码等)、软件(例如在处理设备上运行以执行硬件仿真的指令)、或其组合。在一个实施方式中,这些方法的至少一些操作由图2B的WAN可访问服务执行。
图8为通过空中更新提供待安装在嵌入式系统上的加密数字镜像的示例性方法800的流程图。
在方法800的框805,处理逻辑生成用于设备的嵌入式系统的加密数字镜像。该加密数字镜像可以包括用于具有特定设备序列号(DSN)的设备的嵌入式系统的固件更新,其中,该加密数字镜像仅对于具有该特定DSN的设备是可用的。
在框810,处理逻辑从计算设备接收设备相关信息。该设备相关信息可以包括具有嵌入式系统的设备的DSN和安装在嵌入式系统上的当前固件组件的版本号。在框815,处理逻辑确定存在可用于设备的加密数字镜像。下文参照图9至图10提出了确定存在可用于设备的加密数字镜像的实施方式。在框820,处理逻辑将加密数字镜像提供给计算设备,以供计算设备使用来更新嵌入式系统的固件版本。在框820,图8的方法结束。
图9为确定存在可用的加密数字镜像的示例性方法900的流程图。在方法900的框905,处理逻辑接收用于具有嵌入式系统的设备的设备相关信息。在框910,处理逻辑接收存在可用的对应加密数字镜像的一列DSN。在框915,处理逻辑将具有嵌入式系统的设备的来自在框905接收的设备相关信息的DSN与在框910接收的该列DSN相比较。
在框920,处理逻辑确定设备的DSN与该列DSN上的条目匹配。在框925,处理逻辑从该列上的匹配条目识别用于DSN的对应加密数字镜像。在框925,图9的方法结束。
图10为确定存在可用的加密数字镜像的示例性方法1000的流程图。
在方法1000的框1005,处理逻辑接收用于具有嵌入式系统的设备的设备相关信息。在框1010,处理逻辑接收存在可用的对应加密数字镜像的一列过时固件版本。在框1015,处理逻辑将安装在设备上的当前固件的来自在框1005接收的设备相关信息的版本号与在框1010接收的该列过时固件版本相比较。在框1020,处理逻辑确定安装在设备上的当前固件的版本号与该列过时的固件上的条目匹配。
在框1025,处理逻辑从该列上的匹配条目识别对应加密数字镜像。在框1025,图10的方法结束。
图11为生成加密数字镜像的示例性方法1100的流程图。在方法1100的框1105,处理逻辑生成随机数作为第一密钥。在框1110,处理逻辑生成用于加密数字镜像的数据头。该数据头可以包括在框1105生成的第一密钥、与加密数字镜像相关联的元数据、和用于加密数字镜像的数字签名。处理逻辑可以在对数字镜像加密之前计算该数字镜像的数字签名。在框1115,处理逻辑识别与具有嵌入式系统的设备的DSN相关联的私人加密密钥。在框1120,处理逻辑通过非对称加密,利用来自框1115的私人加密密钥加密在框1110生成的数据头,以生成加密数字镜像的第一部分。在框1125,处理逻辑通过对称加密,利用第一密钥加密用于嵌入式系统的固件更新,以生成加密数字镜像的第二部分。在框1130,处理逻辑组合第一部分和第二部分以创建加密数字镜像。在框1130,图11的方法结束。
图12为根据本发明的实施方式的由远程控制应用1201对嵌入式系统1202中的固件执行空中更新的时序图1200。该时序图1200示出了远程控制应用1201充当用于将包含固件更新的加密数字镜像从WAN可访问服务1203传送到嵌入式系统1202的代理。
最初,远程控制应用1201不具有与嵌入式系统1201的会话,且可以建立连接1205以发起这类会话。远程控制应用1201可以借助LAN连接而连接到嵌入式系统1202,或直接与作为接入点操作的嵌入式系统1202连接。可以建立该连接,如上文参照图1至图2所进一步描述。在建立与嵌入式系统1202的会话之后,远程控制应用1201可以将对于设备信息1210的请求发送到嵌入式系统1202,以获得设备相关信息,诸如用于具有嵌入式系统1202的设备的DSN、安装在嵌入式系统1202的固件版本等。然后嵌入式系统1202可以将设备信息1215发送到远程控制应用1201。
在某个后续时刻,然后远程控制应用1201可以建立与WAN可访问服务1203的连接1220。在与作为接入点操作的嵌入式系统1202建立连接1205的实施方式中,远程控制应用1201可以首先从嵌入式系统1202断开。在使用LAN连接建立连接1205的实施方式中,可以使用相同的LAN连接建立连接1220。一旦已建立连接1220,则远程控制应用1201可以将设备信息1225发送到WAN可访问服务1203。在图示的实施方式中,WAN可访问服务使用设备信息1225确定是否存在可用于嵌入式系统1202的加密数字镜像。
然后WAN可访问服务1203可以将加密数字镜像位置1230发送到远程控制应用1201。加密数字镜像位置1230可以包括加密数字镜像的统一资源定位符(URL),远程控制应用1201可以使用该URL来下载加密数字镜像。然后远程控制应用1201可以发起从接收的位置下载加密数字镜像1235。
然后远程控制应用可以通过发起连接1240来重新建立与嵌入式系统1202的连接。在嵌入式系统1202作为接入点操作的实施方式中,远程控制应用1201可以首先从WAN可访问服务1203断开且建立与嵌入式系统1202的新连接。在嵌入式系统1202连接到LAN的实施方式中,远程控制应用可以使用针对连接1205建立的与嵌入式系统1202的会话。
然后远程控制应用1201可以通过将加密数字镜像1245提供给嵌入式系统1202来发起在嵌入式系统1202上的固件的OTA更新。在一个实施方式中,远程控制应用1201可以启动服务器进程,该服务器进程允许嵌入式系统1202下载由远程控制应用1201存储的加密数字镜像。在一些实施方式中,然后嵌入式系统1202可以将状态1250发送到远程控制应用1201以指示加密数字镜像已被成功安装。随后,远程控制应用1201可以将状态1255发送到WAN可访问服务1203以将加密数字镜像的传送的成功或失败上报到嵌入式系统1202。
图13示出以计算设备1300的示例性形式的机器的图解表示,在该计算设备1300内可以执行一组指令,该组指令用于使得该机器执行本文中所讨论的方法中的任何一者或多者。在替选实施方式中,该机器可以连接(例如联网)到局域网(LAN)、内联网、外联网或因特网中的其它机器。该机器可以在客户端-服务器网络环境下在服务器或客户端机器的能力中操作,或在点对点(或分布式)网络环境下作为对等机操作。该机器可以为个人计算机(Personal Computer,PC)、平板电脑、机顶盒(Set-Top Box,STB)、个人数字助理(PersonalDigital Assistant,PDA)、移动手机、网络设备、服务器、网络路由器、开关或桥接器、或能够执行指定将由该机器采取的行动的一组指令(顺序的或以其它方式)的任何机器。另外,尽管示出了仅一个机器,但是术语“机器”也应当被视为包括单独地或联合地执行一组(或多组)指令以执行本文中所讨论的方法中的任何一者或多者的机器(例如计算机)的任何集合。
示例性计算设备1300包括借助总线1330互相通信的处理设备1302、主存储器1304(例如只读存储器(ROM)、闪存、动态随机存取存储器(Dynamic Random Access Memory,DRAM),诸如同步DRAM(SDRAM)或内存总线式DRAM(RDRAM)等)、静态存储器1306(例如闪存、静态随机存取存储器(Static Random Access Memory,SRAM))、和次级存储器(例如数据存储设备1318)。
处理设备1302表示一个或多个通用处理器,诸如微处理器、中央处理单元等。更具体地,处理设备1302可以为复杂指令集计算(Complex Instruction Set Computing,CISC)微处理器、精简指令集计算(Reduced Instruction Set Computing,RISC)微处理器、超长指令字(Very Long Instruction Word,VLIW)微处理器、实现其它指令集的处理器、或实现指令集的组合的处理器。处理设备1302也可以为一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备1002配置成执行处理逻辑(指令1322),该处理逻辑用于执行本文中所讨论的操作和步骤。
计算设备1300还可以包括网络接口设备1308。计算设备1000也可以包括视频显示单元1310(例如液晶显示器(Liquid Crystal Display,LCD)或阴极射线管(Cathode RayTube,CRT))、字母数字输入设备1312(例如键盘)、光标控制设备1314(例如鼠标)、和信号生成设备1316(例如扬声器)。
数据存储设备1318可以包括机器可读存储介质(或更具体地,计算机可读存储介质)1328,其上存储的是体现本文中所描述的方法或功能中的任何一者或多者的一组或多组指令1322。指令1322也可以在其被计算系统1300执行期间完全地或至少部分地存在于主存储器1304内和/或处理设备1302内,主存储器1304和处理设备1302也构成计算机可读存储介质。
计算机可读存储介质1328也可以用于存储远程控制应用(如参照图2A所描述)和/或包含调用远程控制应用的方法的软件库。尽管计算机可读存储介质1328在示例性实施方式中被示出为单一介质,但是术语“计算机可读存储介质”应当被视为包括存储一组或多组指令的单一介质或多个介质(例如集中式或分布式数据库和/或相关联的缓存和服务器)。术语“计算机可读存储介质”也应当被视为包括能够存储或编码用于被机器执行且使得该机器执行本文中所描述的方法中的任何一者或多者的一组指令的任何介质。术语“计算机可读存储介质”因此应被视为包括但不限于固态存储器、以及光学和磁性介质。
本文中所描述的模块、构件和其它特征(例如参照图1至图2B)可以被实现为分立硬件构件或被集成在硬件构件(诸如ASIC、FPGA、DSP或类似设备)的功能中。另外,模块可以被实现为硬件设备内的固件或功能电路。另外,模块可以以硬件设备和软件组件的任何组合或仅以软件来实现。
在计算机存储器内的数据位上按照操作的算法和符号表示来呈现详细描述的某些部分。这些算法描述和表示为在数据处理领域中的技术人员用来最有效地将其工作传达给本领域的其它技术人员的手段。算法在此且通常被设想为导致预期结果的有条理的步骤序列。这些步骤为需要物理量的物理操控的步骤。通常但不一定,这些量采用能够被存储、被传送、被组合、被比较和以其它方式被操控的电信号或磁信号。主要出于习惯用语的原因,已证明有时将这些信号称为位、值、元素、符号、字符、项、数字等较为方便。
然而,应当牢记,这些术语和类似术语全部都将与合适的物理量相关联且仅为应用于这些量的方便标签。除非另有明确指示,否则如从以下讨论明显可见,要领会到,贯穿说明书,利用诸如“发送”、“接收”、“存储”、“发起”、“建立”、“断开”等术语的讨论指的是计算机系统或类似电子计算设备的行动和进程,该行动和进程操控在计算机系统的寄存器和存储器内表示为物理(电子)量的数据并将其转换为在计算机系统存储器或寄存器或其它这类信息存储、传输或显示设备内类似地表示为物理量的其它数据。
本发明的实施方式也涉及用于执行本文中的操作的装置。该装置可以专门针对所讨论的目的来构造,或该装置可以包括通过存储在计算机系统中的计算机程序选择性地编程的通用计算机系统。这类计算机程序可以被存储在计算机可读存储介质中,诸如但不限于任何类型的磁盘(包括软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁盘存储介质、光学存储介质、闪存设备、其它类型的机器可访问存储介质、或适合于存储电子指令的任何类型的介质,每一者都联接到计算机系统总线。
应当理解,以上描述意图是说明性的而非限制性的。在阅读和理解以上描述后,许多其它实施方式对于本领域技术人员来说是显而易见的。尽管已参考具体示例性实施方式描述了本发明,但是将认识到,本发明不限于所描述的实施方式,而是可以利用在所附权利要求的精神和范围内的修改和变型来实践。相应地,说明书和附图将被视为说明性的而非限制性的。因此,本发明的范围应当参考所附权利要求连同拥有这类权利要求的权利的等效物的整个范围来确定。

Claims (20)

1.一种方法,包括:
通过计算设备确定与包括嵌入式系统的设备相关联的唯一标识符;
通过所述计算设备将所述唯一标识符发送到广域网(WAN)可访问服务;
通过所述计算设备从所述WAN可访问服务接收加密数字镜像,所述加密数字镜像包括用于所述设备的固件更新,其中,所述加密数字镜像是专门针对具有所述唯一标识符的所述设备加密的且在具有与所述设备相同的型号的其它设备上是不可用的;
通过所述计算设备将所述加密数字镜像存储在所述计算设备的存储区域中;以及
通过所述计算设备使用包括所述固件更新的所述加密数字镜像发起对所述设备的固件的空中更新。
2.如权利要求1所述的方法,还包括:
确定所述嵌入式系统不能连接到所述WAN可访问服务;以及
向所述WAN可访问服务发送如下项中的至少一者:a)所述嵌入式系统不能连接到所述WAN可访问服务的通知、或b)询问是否存在所述固件更新的查询。
3.如权利要求1所述的方法,其中,所述计算设备为执行用于所述设备的远程控制应用的移动计算设备,所述方法还包括:
确定在所述嵌入式系统上安装有第一固件版本;
确定关于所述嵌入式系统存在较新的第二固件版本;以及
确定所述空中更新配置成由所述计算设备发起以从所述移动计算设备更新所述嵌入式系统。
4.如权利要求1所述的方法,还包括:
确定所述设备作为接入点操作;
使用所述接入点建立与所述设备的所述嵌入式系统的第一连接;
在所述第一连接上建立与所述嵌入式系统的第一会话;以及
借助所述第一连接接收设备相关信息,所述设备相关信息包括所述唯一标识符和安装在所述嵌入式系统上的当前固件版本的版本号。
5.如权利要求4所述的方法,还包括:
响应于接收所述设备相关信息,从所述接入点断开且建立与所述WAN可访问服务的第二连接;
其中,发起所述空中更新包括:
从所述WAN可访问服务断开;
使用所述接入点建立与所述设备的所述嵌入式系统的第三连接;
在所述第三连接上建立与所述嵌入式系统的第二会话;以及
在所述第二会话上将所述加密数字镜像提供给所述设备的所述嵌入式系统。
6.如权利要求5所述的方法,其中,发起所述空中更新还包括:
将位置信息发送到所述嵌入式系统,其中,所述位置信息包括对所述计算设备的所述存储区域的引用,其中,所述存储区域是在所述计算设备上存储有所述加密数字镜像的位置;
在所述计算设备上发起服务器过程,以允许所述嵌入式系统使用所述位置信息从所述计算设备的所述存储区域读取所述加密数字镜像;以及
从所述嵌入式系统接收指示所述加密数字镜像是否被所述嵌入式系统成功读取的状态。
7.如权利要求1所述的方法,其中,所述嵌入式系统连接到局域网(LAN),所述方法还包括:
通过所述计算设备建立与所述LAN的LAN连接;
确定所述设备也连接到所述LAN;
在所述LAN连接上建立与所述嵌入式系统的第一会话;以及
借助所述LAN连接接收设备相关信息,所述设备相关信息包括所述唯一标识符和安装在所述嵌入式系统上的当前固件版本的版本号。
8.如权利要求7所述的方法,还包括:
建立与所述WAN可访问服务的第二会话,其中,在所述第二会话上将所述唯一标识符发送到所述WAN可访问服务;而且
其中,发起所述空中更新包括:在所述第一会话上将所述加密数字镜像提供给所述设备的所述嵌入式系统。
9.如权利要求1所述的方法,其中,从所述WAN可访问服务接收所述加密数字镜像包括:
从所述WAN可访问服务接收位置信息,其中,所述位置信息指示在所述WAN可访问服务上存储有所述加密数字镜像的位置;以及
从所述位置读取所述加密数字镜像。
10.一种方法,包括:
通过执行广域网(WAN)可访问服务的处理设备生成加密数字镜像,所述加密数字镜像包括用于具有特定设备序列号(DSN)的设备的嵌入式系统的固件更新,其中,所述加密数字镜像仅对于具有所述特定DSN的所述设备是可用的;
通过所述处理设备从计算设备接收设备相关信息,其中,所述设备相关信息包括:包括所述嵌入式系统的所述设备的所述DSN和安装在所述嵌入式系统上的当前固件组件的版本号;
使用所述设备相关信息确定存在可用于所述设备的所述加密数字镜像;以及
通过所述处理设备将所述加密数字镜像提供给所述计算设备,以供所述计算设备使用来更新所述嵌入式系统的固件版本。
11.如权利要求10所述的方法,其中,确定存在可用于所述设备的所述加密数字镜像,还包括:
接收存在可用的对应加密数字镜像的DSN列表;
将所述设备的来自所述设备相关信息的所述DSN与所述DSN列表相比较;
确定所述设备的所述DSN与所述DSN列表上的条目匹配;以及
从所述DSN列表上的匹配条目识别用于所述DSN的对应加密数字镜像。
12.如权利要求10所述的方法,其中,确定存在可用于所述设备的所述加密数字镜像,还包括:
接收存在可用的对应替换数字镜像的过时固件版本列表;
将安装在所述设备上的所述当前固件组件的来自所述设备相关信息的所述版本号与所述过时固件版本列表相比较;
确定所述当前固件组件的所述版本号与所述过时固件版本列表上的条目匹配;以及
从所述过时固件版本列表上的匹配条目识别对应加密数字镜像。
13.如权利要求10所述的方法,其中,生成所述加密数字镜像包括:
生成随机数作为第一密钥;
生成用于所述加密数字镜像的数据头,其中,所述数据头包括所述第一密钥、与所述加密数字镜像相关联的元数据、和用于所述加密数字镜像的数字签名;
识别与所述设备的所述DSN相关联的私人加密密钥;
通过非对称加密,利用所述私人加密密钥加密所述数据头,以生成所述加密数字镜像的第一部分;
通过对称加密,利用所述第一密钥加密所述固件更新,以生成所述加密数字镜像的第二部分;以及
组合所述第一部分和所述第二部分以创建所述加密数字镜像。
14.如权利要求10所述的方法,还包括:
识别与包括附加嵌入式系统的附加设备相关联的附加DSN,其中,所述附加设备具有与所述设备相同的型号,且其中,所述附加嵌入式系统对于所述固件更新是合格的;以及
生成包括用于所述附加设备的所述附加嵌入式系统的所述固件更新的附加加密数字镜像,其中,所述附加加密数字镜像仅对于具有所述附加DSN的所述附加设备是可用的。
15.一种具有指令的非易失性计算机可读存储介质,所述指令在被处理设备执行时使得所述处理设备执行操作,所述操作包括:
确定与包括嵌入式系统的设备相关联的唯一标识符;
将所述唯一标识符发送到广域网(WAN)可访问服务;
从所述WAN可访问服务接收加密数字镜像,所述加密数字镜像包括用于所述设备的固件更新,其中,所述加密数字镜像是专门针对具有所述唯一标识符的所述设备加密的且在具有与所述设备相同的型号的其它设备上是不可用的;
将所述加密数字镜像存储在计算设备的存储区域中;以及
使用包括所述固件更新的所述加密数字镜像发起对所述设备的固件的空中更新。
16.如权利要求15所述的非易失性计算机可读存储介质,所述操作还包括:
确定所述设备作为接入点操作;
使用所述接入点建立与所述设备的所述嵌入式系统的第一连接;
在所述第一连接上建立与所述嵌入式系统的第一会话;
借助所述第一连接接收设备相关信息,所述设备相关信息包括所述唯一标识符和安装在所述嵌入式系统上的当前固件版本的版本号;以及
响应于接收所述设备相关信息,从所述接入点断开且建立与所述WAN可访问服务的第二连接;
其中,发起所述空中更新包括:
从所述WAN可访问服务断开;
使用所述接入点建立与所述设备的所述嵌入式系统的第三连接;
在所述第三连接上建立与所述嵌入式系统的第二会话;以及
在所述第二会话上将所述加密数字镜像提供给所述设备的所述嵌入式系统。
17.如权利要求14所述的非易失性计算机可读存储介质,其中,所述嵌入式系统连接到局域网(LAN),所述操作还包括:
通过所述计算设备建立与所述LAN的LAN连接;
确定所述设备也连接到所述LAN;
在所述LAN连接上建立与所述嵌入式系统的第一会话;
借助所述LAN连接接收设备相关信息,所述设备相关信息包括所述唯一标识符和安装在所述嵌入式系统上的当前固件版本的版本号;
建立与所述WAN可访问服务的第二会话,其中,在所述第二会话上将所述唯一标识符发送到所述WAN可访问服务;以及
其中,发起所述空中更新包括:在所述第一会话上将所述加密数字镜像提供给所述设备的所述嵌入式系统。
18.如权利要求14所述的非易失性计算机可读存储介质,所述操作还包括:
将位置信息发送到所述嵌入式系统,其中,所述位置信息包括对所述计算设备的所述存储区域的引用,其中,所述存储区域是在所述计算设备上存储有所述加密数字镜像的位置;
在所述计算设备上发起服务器过程,以允许所述嵌入式系统使用所述位置信息从所述计算设备的所述存储区域读取所述加密数字镜像;以及
从所述嵌入式系统接收指示所述加密数字镜像是否被所述嵌入式系统成功读取的状态。
19.如权利要求14所述的非易失性计算机可读存储介质,其中,从所述WAN可访问服务接收所述加密数字镜像包括:
从所述WAN可访问服务接收位置信息,其中,所述位置信息指示在所述WAN可访问服务上存储有所述加密数字镜像的位置;以及
从所述位置读取所述加密数字镜像。
20.如权利要求14所述的非易失性计算机可读存储介质,其中,所述计算设备为执行用于所述设备的远程控制应用的移动计算设备,所述操作还包括:
确定在所述嵌入式系统上安装有第一固件版本;
确定关于所述嵌入式系统存在较新的第二固件版本;以及
确定所述空中更新配置成由所述计算设备发起以从所述移动计算设备更新所述嵌入式系统。
CN201780026220.3A 2016-02-26 2017-02-17 嵌入式系统的本地空中更新 Expired - Fee Related CN109074251B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/055,409 US10162622B2 (en) 2016-02-26 2016-02-26 Local over the air update of an embedded system
US15/055,409 2016-02-26
PCT/US2017/018351 WO2017147011A1 (en) 2016-02-26 2017-02-17 Local over the air update of an embedded system

Publications (2)

Publication Number Publication Date
CN109074251A true CN109074251A (zh) 2018-12-21
CN109074251B CN109074251B (zh) 2021-08-24

Family

ID=59678997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780026220.3A Expired - Fee Related CN109074251B (zh) 2016-02-26 2017-02-17 嵌入式系统的本地空中更新

Country Status (4)

Country Link
US (2) US10162622B2 (zh)
EP (1) EP3420448A4 (zh)
CN (1) CN109074251B (zh)
WO (1) WO2017147011A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175038A (zh) * 2019-04-09 2019-08-27 北京深思数盾科技股份有限公司 软锁许可的更新方法及装置
CN110175037A (zh) * 2019-04-09 2019-08-27 北京深思数盾科技股份有限公司 对软锁许可所绑定的硬件指纹更新的方法及系统
CN111600846A (zh) * 2020-04-22 2020-08-28 烽火通信科技股份有限公司 一种网关设备的恢复方法和恢复系统
CN111880823A (zh) * 2020-07-17 2020-11-03 合肥移瑞通信技术有限公司 系统升级通信模块的方法、系统以及介质、计算机设备

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10425430B2 (en) * 2016-04-22 2019-09-24 Expanse, Inc. Hierarchical scanning of internet connected assets
KR20170126230A (ko) * 2016-05-09 2017-11-17 한국전자통신연구원 펌웨어 업데이트 장치 및 방법, 그리고 펌웨어 업데이트 시스템
WO2018049580A1 (en) * 2016-09-14 2018-03-22 Honeywell International Inc. Over the air modem firmware upgrade based on mesh network
US10871963B2 (en) * 2016-10-17 2020-12-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Adjustment of voltage regulator firmware settings based upon external factors
US11182143B2 (en) 2016-10-18 2021-11-23 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Adjustment of voltage regulator firmware settings based upon an efficiency score
US10693660B2 (en) * 2017-01-05 2020-06-23 Serge Vilvovsky Method and system for secure data storage exchange, processing, and access
US11229023B2 (en) * 2017-04-21 2022-01-18 Netgear, Inc. Secure communication in network access points
US10938855B1 (en) * 2017-06-23 2021-03-02 Digi International Inc. Systems and methods for automatically and securely provisioning remote computer network infrastructure
US10871952B2 (en) * 2017-12-20 2020-12-22 Nio Usa, Inc. Method and system for providing secure over-the-air vehicle updates
CN108449198A (zh) * 2018-01-25 2018-08-24 捷开通讯(深圳)有限公司 一种ota升级的方法、系统及存储设备
CN108762788B (zh) * 2018-05-31 2023-07-28 杭州吉吉知识产权运营有限公司 一种基于服务器的嵌入式设备固件加密方法和系统
JP6680318B2 (ja) * 2018-08-09 2020-04-15 ダイキン工業株式会社 空調機通信システム、空調機通信システムの接続確認方法、無線lanアダプタ、及び、空調機通信システムの接続確認プログラム
CN111104149A (zh) * 2018-10-25 2020-05-05 华为技术有限公司 一种固件升级方法、装置及终端
US11372977B2 (en) * 2018-11-12 2022-06-28 Thirdwayv, Inc. Secure over-the-air firmware upgrade
US11550593B2 (en) * 2019-01-08 2023-01-10 Dell Products L.P. Information handling system quick boot
US11171995B2 (en) * 2019-01-25 2021-11-09 EMC IP Holding Company LLC Identifying and mitigating risks of cryptographic obsolescence
WO2020222845A1 (en) * 2019-05-02 2020-11-05 Siemens Aktiengesellschaft External module for network connection to programmable logic controller (plc) backplane
US11119750B2 (en) * 2019-05-23 2021-09-14 International Business Machines Corporation Decentralized offline program updating
US11968202B2 (en) * 2019-05-24 2024-04-23 AVAST Software s.r.o. Secure authentication in adverse environments
EP3745291B1 (en) * 2019-05-29 2024-05-08 F. Hoffmann-La Roche AG Interface proxy device for cyber security
CN111142892B (zh) * 2019-12-30 2023-06-20 飞天诚信科技股份有限公司 ios应用程序自动安装方法及通信装置
US11093236B1 (en) * 2020-03-26 2021-08-17 Atlassian Pty Ltd. Systems and methods for delivering updates to client devices
US20220201468A1 (en) * 2020-12-23 2022-06-23 Intel Corporation Systems and methods for module configurability
WO2022140853A1 (en) * 2020-12-30 2022-07-07 Mastercard Technologies Canada ULC Systems, methods, computer-readable media, and devices for authenticating users
CN114237676B (zh) * 2021-12-28 2023-12-08 湖南云箭智能科技有限公司 一种fpga逻辑更新方法、装置、设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512357A (zh) * 2002-12-30 2004-07-14 �ʼҷ����ֵ��ӹɷ����޹�˾ 一种增加光盘防拷贝系统扩展性的方法及系统
US20110173457A1 (en) * 2009-08-14 2011-07-14 Jeffrey Reh Enhanced security for over the air (ota) firmware changes
US20120094643A1 (en) * 2010-10-14 2012-04-19 At&T Intellectual Property I, L.P. Over-the-air content management of wireless equipment in confined-coverage wireless networks
US20130185548A1 (en) * 2012-01-12 2013-07-18 Gueorgui Djabarov Multiple System Images for Over-The-Air Updates
US20140122674A1 (en) * 2012-10-31 2014-05-01 Aruba Networks, Inc. Zero touch provisioning
US20140351548A1 (en) * 2005-10-11 2014-11-27 Infortrend Technology, Inc. Pool Spares for Data Storage Virtualization Subsystem
CN104246529A (zh) * 2012-02-22 2014-12-24 高通股份有限公司 使用短距离无线广播来定位无线标识发射机
CN104239109A (zh) * 2014-09-30 2014-12-24 上海瑞猫自动化控制技术有限公司 嵌入式系统固件在线管理方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6084969A (en) * 1997-12-31 2000-07-04 V-One Corporation Key encryption system and method, pager unit, and pager proxy for a two-way alphanumeric pager network
US6954929B2 (en) * 2001-07-30 2005-10-11 Hewlett-Packard Development Company, L.P. Method for just-in-time updating of programming parts
IL159838A0 (en) * 2004-01-13 2004-06-20 Yehuda Binder Information device
JP2005242555A (ja) * 2004-02-25 2005-09-08 Hitachi Ltd 記憶制御システム及び記憶制御システムが有するディスク型記憶装置にファームウェアを搭載する方法
US9332424B2 (en) * 2005-08-05 2016-05-03 Qualcomm Incorporated Centrally managed solution for all device management activities
US7699233B2 (en) * 2005-11-02 2010-04-20 Nokia Corporation Method for issuer and chip specific diversification
KR100782080B1 (ko) * 2006-09-07 2007-12-04 삼성전자주식회사 이동 통신 단말기 및 시스템의 펌웨어 갱신 방법
US8515547B2 (en) * 2007-08-31 2013-08-20 Cardiac Pacemakers, Inc. Wireless patient communicator for use in a life critical network
US8724790B2 (en) * 2009-02-13 2014-05-13 Conexant Systems, Inc. Systems and methods for network facsimile transmissions
US8354913B2 (en) * 2009-07-23 2013-01-15 Chargepoint, Inc. Authorization in a networked electric vehicle charging system
EP3429163B1 (en) * 2011-02-10 2020-08-19 Trilliant Holdings, Inc. Device and method for facilitating secure communications over a cellular network
ES2782359T3 (es) * 2011-08-12 2020-09-14 Abb Schweiz Ag Procedimiento y sistema para la transmisión protegida de archivos
US9462466B2 (en) * 2011-09-29 2016-10-04 Israel L'Heureux Gateway router supporting session hand-off and content sharing among clients of a local area network
US9197600B2 (en) * 2011-09-29 2015-11-24 Israel L'Heureux Smart router
US9961686B2 (en) * 2012-06-28 2018-05-01 Cable Television Laboratories, Inc. Contextual awareness architecture
EP2936785A1 (en) * 2012-12-24 2015-10-28 Telefonaktiebolaget L M Ericsson (PUBL) Enabling external access to multiple services on a local server
US10026090B2 (en) * 2013-12-09 2018-07-17 CrowdCare Corporation System and method of creating and using a reference device profile
KR20160002321A (ko) * 2014-06-30 2016-01-07 삼성전자주식회사 무선 통신 시스템에서 통신서비스 제공을 위한 프로파일을 송수신하는 방법 및 장치
EP3167598B1 (en) 2014-07-07 2021-04-14 Harman Connected Services, Inc. Remote embedded device update platform apparatuses, methods and systems
US9307067B2 (en) * 2014-07-30 2016-04-05 Google Technology Holdings LLC Contextually updating wireless device firmware
WO2016034575A1 (en) * 2014-09-05 2016-03-10 Koninklijke Kpn N.V. Wan control failover broker for vhgw
US9503444B2 (en) * 2015-02-20 2016-11-22 International Business Machines Corporation System and method for sharing access to a service within a home network
US9811699B2 (en) * 2015-05-15 2017-11-07 Schlumberger Technology Corporation Master tracking device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512357A (zh) * 2002-12-30 2004-07-14 �ʼҷ����ֵ��ӹɷ����޹�˾ 一种增加光盘防拷贝系统扩展性的方法及系统
US20140351548A1 (en) * 2005-10-11 2014-11-27 Infortrend Technology, Inc. Pool Spares for Data Storage Virtualization Subsystem
US20110173457A1 (en) * 2009-08-14 2011-07-14 Jeffrey Reh Enhanced security for over the air (ota) firmware changes
US20120094643A1 (en) * 2010-10-14 2012-04-19 At&T Intellectual Property I, L.P. Over-the-air content management of wireless equipment in confined-coverage wireless networks
US20130185548A1 (en) * 2012-01-12 2013-07-18 Gueorgui Djabarov Multiple System Images for Over-The-Air Updates
CN104246529A (zh) * 2012-02-22 2014-12-24 高通股份有限公司 使用短距离无线广播来定位无线标识发射机
US20140122674A1 (en) * 2012-10-31 2014-05-01 Aruba Networks, Inc. Zero touch provisioning
CN104239109A (zh) * 2014-09-30 2014-12-24 上海瑞猫自动化控制技术有限公司 嵌入式系统固件在线管理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175038A (zh) * 2019-04-09 2019-08-27 北京深思数盾科技股份有限公司 软锁许可的更新方法及装置
CN110175037A (zh) * 2019-04-09 2019-08-27 北京深思数盾科技股份有限公司 对软锁许可所绑定的硬件指纹更新的方法及系统
CN110175038B (zh) * 2019-04-09 2020-10-02 北京深思数盾科技股份有限公司 软锁许可的更新方法及装置
CN111600846A (zh) * 2020-04-22 2020-08-28 烽火通信科技股份有限公司 一种网关设备的恢复方法和恢复系统
CN111880823A (zh) * 2020-07-17 2020-11-03 合肥移瑞通信技术有限公司 系统升级通信模块的方法、系统以及介质、计算机设备
CN111880823B (zh) * 2020-07-17 2024-01-30 合肥移瑞通信技术有限公司 系统升级通信模块的方法、系统以及介质、计算机设备

Also Published As

Publication number Publication date
WO2017147011A1 (en) 2017-08-31
US20190095194A1 (en) 2019-03-28
US10990376B2 (en) 2021-04-27
US10162622B2 (en) 2018-12-25
EP3420448A1 (en) 2019-01-02
CN109074251B (zh) 2021-08-24
EP3420448A4 (en) 2019-10-16
US20170249135A1 (en) 2017-08-31

Similar Documents

Publication Publication Date Title
CN109074251A (zh) 嵌入式系统的本地空中更新
US20200287726A1 (en) Remote device control
US8966018B2 (en) Automated network device configuration and network deployment
EP2033082B1 (en) Automated policy-based network device configuration and network deployment
US9264241B2 (en) Secure wireless network-based activation for table-side information and point-of-sale devices
US20070268514A1 (en) Method and business model for automated configuration and deployment of a wireless network in a facility without network administrator intervention
US20070268506A1 (en) Autonomous auto-configuring wireless network device
CN105981352A (zh) 用于在控制器和附件之间通信的统一通信协议
EP4160988A1 (en) Configuration systems and methods for secure operation of networked transducers
TWI382724B (zh) 用戶端設備自動供裝系統與方法
JP2006260530A (ja) 被管理装置、管理システム、被管理装置の制御方法、プログラム及び記録媒体
WO2007136862A2 (en) Automatic configuration of remote network switch and connected access point devices
EP3582439B1 (en) Method for providing an over the air (ota) update to devices of an internet of things (iot) platform
KR102312994B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
CN105072108B (zh) 用户信息的传输方法、装置及系统
JP6558279B2 (ja) 情報処理システム、情報処理装置、情報処理方法、情報処理プログラム
CN106961334A (zh) 控制器和附件之间的安全无线通信
CN109359472A (zh) 一种数据加解密处理方法、装置以及相关设备
CN113433831A (zh) 智能家居设备的控制方法、模块及存储介质
CN113630374A (zh) 实现通过网络与目标装置的安全通信的方法
WO2017159067A1 (ja) 情報処理装置およびエージェントシステム
US11728997B2 (en) Cloud-based creation of a customer-specific symmetric key activation database
EP4057588A1 (en) Secure key management device, authentication system, wide area network and method for generating session keys
US11924286B2 (en) Encrypted communication processing apparatus, encrypted communication processing system, and non-transitory recording medium
US20240163664A1 (en) Secure key management device, authentication system, wide area network and method for generating session keys

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
TA01 Transfer of patent application right

Effective date of registration: 20200612

Address after: 1501, building B, innovation building, 198 Daxin Road, majialong community, Nantou street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: ELA IOT network (Shenzhen) Co.,Ltd.

Address before: California, USA

Applicant before: AYLA NETWORKS Inc.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210824

CF01 Termination of patent right due to non-payment of annual fee