基于设备管理命令更新固件的方法和装置与流程

文档序号:12836595阅读:261来源:国知局
基于设备管理命令更新固件的方法和装置与流程
本说明书涉及一种用于更新固件的方法和装置,尤其涉及一种用于基于设备管理命令更新固件的方法和装置。

背景技术:
设备管理指的是一种为电子装置提供面向用户的设置、远程管理、更新等功能的一项技术。设备管理技术可以用于产品制造的过程中,并且用于产品购买后的初始设置、错误和校正的共同更新、产品的远程管理等用途。由开放移动联盟(OMA)所建立的技术正被用作移动通信领域中的应用程序和服务领域中的标准化技术。OMA处理的是移动网络、网络浏览、数字版权管理(DRM)方案、互联网协议(IP)多媒体、设备管理、移动广播、以及与文件标准化相关的移动等,以便促进移动数据服务的互操作性。

技术实现要素:
技术问题特别是,OMA中的设备管理技术的标准化允许以无线方式执行诸如固件更新、软件下载、新服务、错误校正等处理。因而,需要建立用于更新固件的详细过程,其中所述固件包括实施执行设备管理功能的操作的程序、以及用于控制其他装置的操作系统等。问题的解决方案因此,详细说明书的一个方案是提供一种基于设备管理消息来更新固件的方法。本详细说明书的另一个方案是提供一种通过使用处于未激活状态的区域稳定地接收固件来更新固件的方法。本详细说明书的再一个方案是提供一种基于OMA设备管理标准更新与家用电器相关的固件的方法。为实现这些以及其他优点,并且根据本说明书的意图,如具体实施和在此广泛描述的,提供一种电子装置,包括:存储器,包括处于激活状态的第一存储区域和处于未激活状态的第二存储区域;以及第一控制器,配置为执行存储在所述第一存储区域中的第一操作系统,以及对于所述第一操作系统执行固件更新管理命令。一个示例性实施例和其他示例性实施例可以包括下列特征其中之一。第一控制器可以从管理服务器接收管理命令,基于管理命令接收更新数据,将更新数据存储在第二存储区域中,激活第二存储区域,去激活第一存储区域,并执行更新数据内的更新的第一操作系统。更新数据可以具有包括所述更新的第一操作系统的固件图像的形式。更新数据可以包括用于所述第一操作系统的更新部分或更新的整个第一操作系统的数据。所述管理命令可以是通过基于开放移动联盟(OMA)设备管理标准对控制消息的交换而被接收的。此外,所述管理命令可以指示下载和更新的执行。所述电子设备还可以包括第二控制器,配置为执行用于控制家用电器功能的第二操作系统。这里,所述存储器还可以包括用以存储所述第二操作系统的第三存储区域,以及所述第一控制器可以将在所述更新数据内的更新的第二操作系统存储在所述第三存储区域中。所述第一控制器可以通过经由通用异步收发传输器(UART)发送所述更新的第二操作系统而将所述更新的第二操作系统存储在所述第三存储区域中。所述第一控制器和第二控制器可以通过使用单独的硬件而被实施。此外,所述第一控制器可以连接至所述电子装置的显示模块。根据一个示例性实施例可以公开一种固件更新方法。该方法可以包括:经由设备管理会话(session)从管理服务器接收关于更新数据的地址信息;基于所述地址信息接收所述更新数据;将所述更新数据存储在呈未激活状态的存储区域中;将所述存储区域转换为激活状态;以及执行包含在所述更新数据中的更新的第一操作系统,所述更新数据已存储在被转换为激活状态的所述存储区域中。一个示例性实施例和其他示例性实施例可以包括下列特征其中之一。该方法还可以包括:将更新的第二操作系统存储在微控制器单元(MCU)能够访问的另一可访问存储区域中,所述更新的第二操作系统被包含于所述存储区域内的所述更新数据中。此外,关于更新数据的地址信息可以是通过基于开放移动联盟(OMA)设备管理标准进行消息交换而被接收的。根据示例性实施例的电子装置可以基于设备管理消息来执行固件更新。该电子装置可以包括存储器,该存储器被分为当前执行的操作系统所存储于的区域和待被更新的操作系统所存储于的区域,由此,即使在固件更新过程中产生了错误,当前执行的操作系统也可较少受到这些错误的影响。即使电子装置的多个操作系统分别被提供在不同环境中,也可基于设备管理消息来执行固件更新。通过以下给出的详细说明,本申请的实用性的进一步范围将变得更加明显。但是应当理解,仅作为说明方式给出表示本发明优选实施例的详细说明和具体实例,因为通过详细说明,本发明的精神和范围内的各种变化和改型对于本领域普通技术人员都将变得明显。附图说明图1是示出应用了根据本说明书的技术的设备管理系统的视图;图2是示出根据一个示例性实施例应用了根据本说明书的技术的电子设备的视图;图3是示出符合OMA设备管理标准的电子装置和管理服务器交换用于设备管理的消息的过程的视图;图4是示意性示出基于从管理服务器接收的固件更新命令来更新固件的方法的流程图;图5至图7是示意性示出电子装置基于固件更新命令更新固件的方法的流程图;图8和图9是示出服务代理处理固件更新命令的过程的视图;以及图10是示出电子装置基于固件更新命令更新固件的方法的流程图。具体实施方式本说明书使用的技术术语仅用来说明特定实施例,并且应被理解为它们不是旨在限定本公开内容。只要不被不同地定义,本文使用的包括技术或科学术语的所有术语都可以具有与本公开内容所属领域的普通技术人员通常理解的含义相同的含义,而不应被解释为过度广泛的含义或过度受限的含义。单数表达只要其表达了与上下文明确不同的含义,则该单数表达也可以包括复数表达。这里使用的术语“包括”或“具有”应被理解为它们旨在表示存在说明书中公开的若干组件或若干步骤,并且其也可被理解为可以不包括部分这些组件或步骤,或者还可以包括附加的组件或步骤。应当理解,虽然本文可以使用术语第一、第二等来描述各种元件,但是这些元件不应受限于这些术语。这些术语仅用来将一个元件与另一元件区分开。例如,第一元件可以被称为第二元件,并且类似地,第二元件可以被称为第一元件,而不脱离本公开内容的范围。应当理解,当一元件被称为与另一元件“连接”时,该元件可以与该另一元件直接连接,或者也可以存在中间元件。相反,当一元件被称为与另一元件“直接连接”时,不存在中间元件。下面将参照附图详细描述本发明的实施例,其中相同或相应的组件提供相同的附图标记(而不管图号如何),并且将省略多余的说明。在对本发明的描述中,如果对相关已知功能或构造的详细说明被认为是不必要地偏离了本发明的要旨,则这些说明已经被省略但会被本领域普通技术人员所理解。附图被用来帮助容易地理解本发明的构想,而且应当理解,本发明的构想不受限于附图。本发明的构想应被解释为延伸至附图以外的任何更改、等效物以及替换。本说明书中使用的术语“终端”可被替换为用户设备(UE)、移动设备(ME)、移动站(MS)、用户终端(UT)、用户站(SS)、移动用户站(MSS)、无线装置、手持装置、接入终端(AT)等。在下文中,参照图1和图2,将描述根据本说明书中公开的示例性实施例的设备管理系统内布置的实体。图1是示出应用了根据本说明书的技术的设备管理系统的视图,图2是示出应用了根据本说明书的技术的电子装置一个示例性实施例的视图。如图1所示,该设备管理系统可以包括电子装置100和管理服务器200。电子装置100是受到管理的对象,并且对应于各种家用设备、通信设备等。电子装置100可以执行由管理服务器200请求的管理命令。电子装置100可以是家用电器。电子装置100可以包括与涉及家用电器功能的硬件对应的家用电器模块130。电子装置100可以是具有用于以各种方式使用家用电器模块130的应用程序的智能家用电器。管理服务器200可以是用于执行对电子装置100的管理服务的装置。特别地,管理服务器200可以包括用于将管理命令执行请求发送至电子装置100的模块,以及用于从电子装置100接收管理命令的执行结果以提供给用户的模块。下面将参照图2详细描述电子装置100和管理服务器200的配置。该设备管理系统还可以包括管理门户300。管理门户300是用于为电子装置100提供用户的订阅和支持服务的服务器。管理门户300可以执行若干功能,例如管理电子装置100的用户,以及执行电子装置100的产品认证。管理门户300可以是由电子装置100的制造者或电子装置100的销售者运行的装置或服务系统。同时,该设备管理系统还可以包括计算单元400。计算单元400是用来访问由管理门户300提供的服务的装置。例如,计算单元400可以是设置有网络功能和用户界面的装置,例如个人计算机等。计算装置400可以用来管理有关电子装置100的信息或用户信息。该设备管理系统还可以包括终端500。终端500用来访问由管理服务器200提供的用于电子装置100的管理服务。终端500可以通过使用由管理服务器200提供的应用程序接口(API)模块来使用管理服务。在本说明书中描述的终端对应于能够访问管理服务器以使用用于包括DM客户端的电子装置的管理服务的任意电子装置,并且应该被解释为例如包括便携式电话、蜂窝电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、平板装置、计算机、多媒体装置等的含义。参照图2,电子装置100可以包括通信单元110、接口(interface)单元120、存储器140以及处理单元180。通信单元110是用于向管理服务器200发送或从管理服务器200接收用于执行管理命令的控制消息、执行管理命令所需的数据、以及管理命令的执行结果等的通信模块。通信单元110可以包括用于与管理服务器200进行通信的无线通信模块111或有线通信模块112。特别是,无线通信模块111是用于与位于短距离内的装置进行通信的模块。例如,无线通信模块111可以是支持近距离通信技术的模块,例如,蓝牙、射频识别(RFID)、红外线数据协定(IrDA)、超宽带(UWB)、ZigBee、无线局域网(诸如蓝牙802.11n等协议)等。接口单元120可以用作连接至在电子装置100内的家用电器模块130的路径。接口单元120可以基于管理命令允许家用电器模块130发送和接收控制信号和状态信息。接口单元120可以被实施成执行家用电器模块130与DM客户端171或DM守护进程(demon)172之间的管理命令所需的库(library)的形式。经接口单元120连接的家用电器模块130例如可以是用于执行例如洗涤功能、烹饪功能、清洁功能或保存(存储)功能的硬件。具体地,处理单元180可以根据存储在存储器140中的应用程序160所包含的控制方法控制经接口单元120而与其连接的家用电器模块130。存储器140可以存储用于处理单元180的操作的程序,以及暂时存储输入/输出数据。此外,存储器140可以存储各种软件组件。具体地,存储器140可以存储操作系统(OS)150、应用程序160以及管理平台170。存储器140还可以存储包括可操作地连接至通信单元110的模块和可操作地连接至接口单元120的模块的软件组件。操作系统150(例如,LINUX、UNIX、OSX、WINDOWS、Chrome、Symbian(塞班)、WinCE、WindowsMobile(移动视窗)、iOS、Android(安卓)、Bada、VxWorks、pSOS或其它嵌入操作系统)可以包括各种软件组件和/或用于控制系统任务(例如存储器管理、功率管理等)的驱动器。同时,电子装置100的操作系统150可以被实施为使得多个操作系统能够相互协作。即,电子装置100可以被配置为使得能够根据执行的任务种类、执行环境中可用资源的量等来执行不同的操作系统。此外,处理单元180可以被实施为包括多个控制器,并且在这种情况下,所述多个操作系统可以用作操作各个控制器的操作系统。假设操作系统150包括第一OS和第二OS,则第一OS可以是提供执行电子装置100的家用电器功能的硬件的操作环境的OS,第二OS可以是一个通用OS,其提供支持电子装置100的用户接口或通信单元110的操作的一般应用程序的执行环境。例如,第一OS可以是提供具有较少资源的环境的OS(例如,在微控制器单元(MCU)上执行的实时OS),第二OS可以是在嵌入式操作系统当中可执行各种应用程序的通用OS。存储器140可以被配置为在不同区域中存储多个操作系统。例如,存储器140可被分为存储第一OS的第一区域和存储第二OS的第二区域。可以使用物理上不同的硬件或逻辑上不同的分区来划分第一和第二区域。当存储器140被分为多个区域时,每个区域可以被激活或未被激活(deactivate)。存储器140内处于激活状态的区域可以存储当前使用的应用程序或操作系统,处于未被激活状态的区域可以存储当前未使用的应用程序或操作系统,尤其是待被更新的应用程序或操作系统。同时,操作系统150可以通过固件更新处理而改变。该固件更新处理可以基于终端500经DM服务器发送至DM客户端171的管理命令来执行。用于固件更新的管理命令可以是用于请求执行升级功能的命令。应用程序160指的是在操作系统150上执行的程序。应用程序160可以包括用于安装在电子装置100中的家用电器模块130的特定功能的程序。具体地,处理单元180可以根据应用程序160控制连接至接口单元120的家用电器模块130。例如,当涉及洗涤功能的硬件被安装电子装置100中时,用于管理洗涤模块(例如洗涤筒控制单元、洗涤水供应单元、传感单元、洗涤剂调节单元、振动调节单元或水平(level)调节单元)的控制信号和状态收集信号可以经接口单元120来发送和接收。这里,用于管理洗涤模块的控制信号可以根据响应于洗涤进程来指示洗涤方法的应用程序160而被处理,其中所述洗涤进程基于关于待洗涤对象的信息(例如衣物的材料、质地等)来设定洗涤、漂洗和脱水的方法、次序、时间和次数(count)。又例如,当涉及烹饪功能的硬件被安装在电子装置100中时,用于管理烹饪模块(例如,烹饪单元、电力/燃料控制单元、照明单元、空气调节单元或传感单元)的控制信号和状态收集信号经由接口单元120来发送和接收。这里,用于管理烹饪模块的控制信号可以根据基于驱动模式、烹饪进程或食谱来指示烹饪方法的应用程序而被处理。再例如,当涉及清洁功能的硬件被安装在电子装置100中时,用于管理清洁模块(例如,驱动单元、清洁单元、障碍物检测单元、位置识别单元或传感单元)的控制信号和状态收集信号经接口单元120来发送和接收。这里,用于管理清洁模块的控制信号可以根据指示清洁方法的应用程序160而被处理。再例如,当涉及保存功能的硬件被安装在电子装置100中时,用于管理储存模块(例如,冷却单元、温度控制单元、传感单元或功率控制单元)的控制信号和状态收集信号经接口单元120来发送和接收。这里,用于管理存储模块的控制信号可以根据基于保存模式、成熟模式(maturemode)或保藏(preserving)模式指示存储方法的操作系统160而被处理。同时,应用程序160可以根据软件更新处理来改变。该软件更新处理可以基于终端500经DM服务器发送到DM客户端171的管理命令来执行。用于软件更新的管理命令可以是用于请求执行升级功能的命令。管理平台170表示在操作系统150上执行的管理程序。管理平台170可以包括设备管理(DM)客户端171。DM客户端171可以向DM服务器发送和从DM服务器接收用于管理电子装置100的管理消息。DM客户端171可以管理安装在电子装置100中的家用电器模块130,例如对家用电器模块130执行诸如监控、诊断、升级、远程控制等功能。监控功能是用以监控家用电器模块130的状态。DM客户端171可以执行监控功能以便收集家用电器模块130中产生的事件或记录数据。例如,当涉及洗涤功能的硬件被安装在电子装置100中时,DM客户端171可以允许涉及洗涤功能的硬件为各种项目收集事件或记录数据,所述项目包括操作状态、剩余时间、初始设置时间、洗涤进程编号、漂洗水平、脱水RPM、温度或预定(scheduled)洗涤时间。诊断功能是用以诊断家用电器模块130的状态。DM客户端171可以执行诊断功能以便通过代理(agent)获取对家用电器模块130中产生的错误的检测或诊断。升级功能是用以更新电子装置100的固件、服务或应用程序。DM客户端171可以执行升级功能以便更新存储在存储器140中的操作系统150、应用程序160及管理平台170。另外,DM客户端171可以执行升级功能以便更新包括可操作地连接至通信单元110的模块和可操作地连接至接口单元120的模块的软件组件。远程控制功能用以从远程地点控制电子装置100。DM客户端171可以执行远程控制功能以便控制家用电器模块130的操作。例如,当涉及存储功能的硬件被安装在电子装置100中时,DM客户端171可以指示涉及存储功能的硬件执行冷藏室、冷冻室等的温度控制,或者执行诸如速冷等功能。管理平台170可以包括设备管理(DM)守护进程172。DM守护进程172可以接收从管理服务器200的通知模块发送的通知消息,用于DM客户端171。DM守护进程172可以执行处理DM客户端171的异常情况(exception)的功能。管理平台170可以包括服务代理173。服务代理173可以被DM客户端171使用以根据管理命令控制电子装置100内的硬件,或者被处理单元180使用以通过执行应用程序控制硬件。存储器140可以包括至少一种存储介质,包括:随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁存储器、磁盘、光盘、闪速存储器类型、硬盘类型、多媒体卡微型、存储器卡类型(例如,SD或DX存储器)等。此外,存储器140可以实施为通过经通信单元110连接的网络存储器或云服务提供的存储功能的存储区形式。处理单元180可以控制电子装置100的组件,以执行本说明书中公开的示例性方法。即,处理单元180可以控制通信单元110、接口单元120以及存储器140。处理单元180可以被配置为执行存储在存储器140中的软件组件。控制器180可以根据应用程序160控制连接至接口单元120的家用电器模块130。处理单元180可以通过单独包括多个控制器来实施。例如,处理单元180可被实施为包括各单独的控制器以执行相应的操作系统。此外,处理单元180可被实施为分别包括根据功能来控制家用电器模块的微控制单元(MCU)和通过激活通用操作系统来执行各种控制操作的控制器。当处理单元180被分为多个控制器时,与在单独板上实施的MCU不同,执行通用操作系统的控制器可被连接至电子装置100的显示模块等。根据本公开内容的示例性实施例,处理单元180可以执行或更新应用程序160,以执行从管理服务器200接收的管理命令。参照图2,管理服务器200可以包括通信单元210、存储器240以及处理单元280。通信单元210可以与电子装置100和终端500进行通信。存储器240可以存储用于处理单元280的操作的程序,并且暂时存储输入/输出数据。特别是,存储器240可以存储用于将从终端500接收的管理命令的执行请求传输到电子装置100的模块,以及用于从电子装置100接收管理命令的执行结果的模块。具体地,存储器240可以包括应用程序接口(API)模块241、连接模块242、下载服务器模块243、设备管理(DM)服务器模块244以及通知模块245中的至少一个。首先,API模块241是用于将DM服务提供给管理服务器200的外部终端或应用程序的接口模块。更具体地,API模块241可以包括多个接口功能的至少一个,例如,认证期望访问DM服务的终端或应用程序是否被许可、远程诊断电子装置100、监控电子装置100、控制电子装置100的应用程序、以及控制电子装置100的家用电器模块130。这里,提供接口的功能可以通过独立的装置(例如,API服务器)来提供。接下来,连接模块242可以执行消息传输功能,用于将从管理服务器200的外部终端发送的管理命令请求消息传输到电子装置100,以及将来自电子装置100响应于管理命令请求消息的管理命令的执行结果传输到管理服务器200。这里,消息传输功能可以通过独立的装置(例如,连接服务器)来执行。下载服务器模块243可以执行将下载数据发送到电子装置100的功能。下载服务器模块243可以是用于基于OMA下载标准发送下载数据的模块。这里,发送下载数据的功能可以通过独立的装置(例如,下载服务器)来执行。DM服务器模块244可以通过向DM客户端发送和从DM客户端接收控制消息来执行请求执行管理命令和接收管理命令的执行结果的功能,其中该DM客户端布置在电子装置100内以执行与设备管理相关的功能。DM服务器模块244可以基于OMADM标准发送和接收用于管理命令的消息。发送和接收用于设备管理的控制消息的功能可以通过独立的设备(例如,DM服务器)来执行。通知模块245可以执行向电子装置100发送以及从电子装置100接收用于设备管理的通知消息的通知功能。通知模块245可以允许在电子装置100与DM服务器模块之间以推送方式交换消息。此外,该通知功能可以通过独立的装置(例如,通知服务器)来执行。图1和图2示出实施为单个装置形式的管理服务器200。可选地,管理服务器200可以被分成根据实施形式起着不同作用的多个服务器。例如,管理服务器200可以被分成API服务器、连接服务器、下载服务器、DM服务器和通知服务器。这里,管理服务器200被分成多个服务器仅是示例性的,不应解释为根据本公开内容的管理服务器200的配置和方法局限于被实施成各独立服务器的形式。处理单元280可以控制管理服务器200的各组件,以执行根据本公开内容的示例性方法。即,处理单元280可以控制通信单元210和存储器240。处理单元280可以被配置为执行存储在存储器240中的模块。图3是示出符合OMA设备管理标准的电子装置和管理服务器交换用于设备管理的消息的过程的视图。如图3所示,管理服务器200内的DM服务器可以通过基于OMADM标准与电子装置100内的DM客户端171交换控制消息,来对电子装置100执行管理。管理服务器200和电子装置100可以通过发送和接收数据包(package)0(数据包#0)、数据包1(数据包#1)以及数据包2(数据包#2),来进行设置阶段(setupphase)的操作。该设置阶段是指交换认证信息和设备信息的步骤。具体地,管理服务器200将与用于启动管理会话的触发消息对应的数据包0发送到电子装置100。一旦接收到数据包0,则电子装置100将包括与DM客户端171有关的认证信息(证书(credential))和设备信息的数据包1发送到管理服务器200。在接收到数据包1之后,管理服务器200检查与DM客户端171有关的认证信息。当检查结果有效时,管理服务器200将包括与DM服务器有关的认证信息和管理命令的数据包2发送到电子装置100。接下来,管理服务器200和电子装置100可以通过发送和接收数据包3(数据包#3)和数据包4(数据包#4),来进行管理阶段的操作。该管理阶段是指将在设置阶段已发送的管理命令的执行结果发送到管理服务器200的步骤。管理阶段中的数据包可以被连续地发送和接收,直到管理命令执行结果的发送完成为止。具体地,电子装置100将包括对管理命令的响应的数据包3发送到管理服务器200。一旦接收到数据包3,则当需要对于管理命令的额外处理时,管理服务器200将数据包4发送到电子装置100。如上所述,在基于OMADM标准交换控制消息的过程中,数据包对应于以标记语言写成的数据,例如,同步标记语言(SyncML))消息。数据包通过被包括在根据超文本传输协议(HTTP)的请求/响应的正文(body)中而被发送和接收。此外,为了交换数据包,电子装置100和管理服务器200可以使用各种类型的传输协议。如果电子装置100具有无线通信功能,则电子装置100可以使用短消息服务(SMS)或无线应用协议(WAP)推送来发送数据包。另一方面,如果其具有基于互联网协议(IP)的网络通信功能,则电子装置100可以使用经由通用传输控制协议(TCP)套接字(socket)的连接、经由安全套接层(SSL)的连接等。以下,将参照图4描述根据本公开内容的用于更新固件的方法。图4是示意性示出基于从管理服务器接收的固件更新命令来更新固件的方法的流程图。管理服务器200执行更新开始过程(S100)。通过更新开始过程S100,管理服务器200通知电子装置100该电子装置100的固件需要更新。可选地,用户可以经终端500将用于执行固件更新的管理命令传输至管理服务器200。这里,可以在终端500与管理服务器200之间执行诸如登录等认证过程,并且用于电子装置100固件更新的管理命令可被发送至管理服务器200。之后,管理服务器200通过第一DM会话将固件更新命令传输至电子装置100(S200)。第一DM会话可以是基于OMADM标准的控制消息。更具体地,管理服务器200可以向电子装置100传输下载更新数据所需的地址信息,所述更新数据包括根据电子装置100的请求将被更新的固件。之后,电子装置100基于通过固件更新命令获取的与更新数据有关的地址信息执行下载处理(S300)。通过下载处理S300接收的更新数据可以被存储在电子装置100的存储器内处于未激活状态的区域中。然后,电子装置100基于下载的更新数据执行固件更新处理(S400)。固件更新处理S400用以更新当前使用的固件,并且对应于用于执行将要在更新数据内被更新的操作系统或应用程序的控制处理。为此目的,电子装置100可以将当前使用的固件在存储器内所存储于的区域转换为未激活(inactive)(去激活(deactivated))状态,并且将待被更新的操作系统或应用程序所处的区域转换为激活(活化)状态。此外,当待由另一控制器执行的操作系统或应用程序存在于更新数据中时,电子装置100可以将该操作系统或应用程序存储在存储器内的特定区域中,以便该另一控制器执行它。之后,在必要时,电子装置100通过第二DM会话通知固件更新命令的处理结果(S500)。以下,将参照图5至图10描述固件更新方法的具体示例性实施例。图5至图7和图10是顺序示出电子装置基于固件更新命令更新固件的方法的流程图。将参照图5详细描述用于固件更新的开始过程(S100)。当固件更新开始过程S100响应于终端500的请求而启动时,管理服务器200可以执行检查终端500是否被允许请求关于电子装置100的管理命令的处理。具体而言,该终端将登录请求消息发送到管理服务器200(S110)。该登录请求消息可以包括用于认证终端500或在终端500中执行的用于设备管理的应用程序的信息。管理服务器200可以提供API型接口,其被形成为允许正由外部设备执行的应用程序对电子装置100执行管理命令。管理服务器200认证调用(call)接口的应用程序、设备或用户,以使被许可的应用程序或设备能够调用接口。该登录请求消息可以是用来告知电子装置100被允许使用该接口的认证消息。管理服务器200检查包含在登录请求消息中的认证信息,并且当基于登录请求消息中包含的认证信息的检查结果确认终端500或终端500中执行的用于设备管理的应用程序被允许从管理服务器200请求管理命令时,管理服务器200将登录响应消息发送到终端500(S120)。该登录响应消息可以包括终端500请求执行管理命令所需的访问信息。该访问信息可以是与用于接收实时型管理命令的请求的管理服务器200相关的访问信息。例如,该访问信息可以是管理服务器200的IP地址或TCP端口。之后,终端500访问管理服务器200以请求执行用于固件更新的管理命令(S140)。将参照图6详细描述第一DM会话S200。管理服务器200可以基于固件更新管理命令的类型,与电子装置100执行传输用于固件更新的管理命令的处理。首先,管理服务器200确定所请求的管理命令的类型(S210)。可以根据在管理服务器200与电子装置100之间发送或接收用于执行管理命令的控制消息的方法来识别管理命令的类型。当管理命令的类型是应在预定时间内执行的实时型命令时,管理命令执行请求和执行结果的传输可以通过面向连接的会话以中继(relay)方式执行。当管理命令的类型是非实时型命令时,管理命令执行请求和执行结果的传输可以通过基于OMADM标准发送和接收控制消息来执行。用于更新电子装置的固件或软件的管理命令对应于在预定时间执行更新,因此该管理命令可被确定为充分具有非实时特性。之后,可以执行用于传输固件更新命令的设备管理会话。具体地,管理服务器200将触发消息发送到电子装置100(S220)。更具体地,用于指示接收管理命令的触发消息可以是基于OMADM标准产生的数据包0。接下来,管理服务器200将于指示消息的确认(ACK)消息发送到管理服务器200(S230)。一旦接收到指示消息,则电子装置100将包含关于DM客户端171的认证信息的消息发送到管理服务器200(S240)。包含关于DM客户端171的认证信息的消息可以是基于OMADM标准产生的数据包1。在接收到关于DM客户端171的认证信息之后,管理服务器200验证关于DM客户端171的认证信息。当关于DM客户端171的认证信息有效时,管理服务器200将包含关于DM服务器240的认证信息的消息发送到电子装置100(S250)。包含关于DM服务器240的认证信息的消息可以是基于OMADM标准产生的数据包2。一旦接收到关于DM服务器240的认证信息,则电子装置200验证该认证信息。当关于DM服务器240的认证信息有效时,DM客户端171可以经服务代理173查询包含固件版本的设备信息(S255)。然后,电子装置100将包含固件版本的数据包3发送到管理服务器200(S260)。管理服务器200从而可以基于固件版本来确定是否有必要更新固件。当确定要更新固件时,管理服务器200基于从终端500请求的固件更新命令,将包含关于更新数据(该更新数据包含待被更新的固件)的地址信息的数据包4发送到电子装置100(S270)。关于更新数据的地址信息可以是URL、PkgURL或相关器(Correlator)信息。一旦接收到数据包4,则电子装置100存储关于更新数据的地址信息(S275),并发送数据包5以告知经由数据包4的更新命令已被存储(S280)。管理服务器200随后响应于数据包5而发送数据包6(S290)。更新命令可以是仅指示下载的命令,或者是指示下载和更新二者的命令。当更新命令被配置为仅指示下载时,电子装置100可以单独执行随后的更新处理。以下,将参照图7详细描述下载会话(S300)。电子装置100可以根据接收到的固件更新命令基于关于所存储的更新数据的URL信息(PkgURL)来执行下载处理。首先,电子装置100请求管理服务器200通过使用从所存储的URL信息中提取的下载描述符(DD)的URL,来发送用于待被下载的更新数据的下载描述符(DD),并且电子装置100从管理服务器200下载用于待被下载的更新数据的DD(S320)。之后,电子装置100请求管理服务器200使用从所存储的URL信息中提取的更新数据的URL来发送更新数据(S330),并且从管理服务器200下载更新数据(S340)。以下,将参照图8和图9来详细描述通过服务代理来处理固件管理命令的处理(S400)。首先,电子装置100将更新数据存储在等待(待命(standby))区域中(S410)。等待区域可以是指存储固件的存储器中未被控制器使用的区域,即,为存储器内处于未激活状态的区域。例如,参照图9A,存储器140可以被分为第一区域141a、第二区域141b和第三区域142。第一区域141a和第二区域141b可以是用于第一操作系统的区域,第三区域142可以是用于第二操作系统的区域。当第一区域141a处于激活状态而第二区域141b处于未激活状态时,电子装置100可以将接收到的更新数据存储在第二区域141b中,如图9B所示。这里,更新数据可以是固件图像形式的数据,其包含基于固件更新命令待被更新的新的第一操作系统。或者,更新数据可以是这样一种数据,其包含用于第一操作系统的待被更新的那部分的数据。之后,当更新数据包含第二操作系统时,电子装置100通过将第二操作系统存储在第三区域142中来执行更新操作(S420)。第二操作系统可以是用于控制家用电器模块的操作系统。电子装置100可以单独地包括用于执行第二操作系统的控制器。该控制器可以经由通用异步收发传输器(UART)来发送更新的第二操作系统152’,以便将更新的第二操作系统存储在第三存储区域中。参照图9C,经UART发送的第二操作系统152’存储在处于可执行状态的第三区域142中。电子装置100随后将等待区域转换为激活状态,以使包含在更新数据中的更新的第一操作系统151’能够是可执行的(S430)。图10示出通过第二DM会话S500将固件更新结果告知管理服务器200的处理。具体地,电子装置100检查固件更新命令的执行结果(S510),并通过将检查的执行结果包括在数据包1中而将检查的执行结果发送到管理服务器200(S520)。继而,管理服务器200响应于数据包1发送数据包2(S530)。前述实施例和优点仅为示例性的,并且不被解释为限制本公开内容。本文的教导能够被容易地应用于其他类型的装置。本说明书旨在作为说明性的,并且不限制权利要求书的范围。许多替换、改型和变动对于本领域普通技术人员是明显的。这里描述的示例性实施例的特征、结构、方法和其他特性可以以各种方式组合,以得到附加和/或替代的示例性实施例。由于本文特征可具体实施为多种形式而不脱离其特性,因此还应理解,除非另有规定,否则上述实施例不受限于前述说明的任何细节,而应在随附权利要求书所限定的范围内宽泛地解释,因此,落在权利要求书的界限或该界限的等同物内的所有变化和改型都意图被所附权利要求书所涵盖。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1