专利名称:固件空中传输供应方法
技术领域:
本发明总体上涉及移动设备的固件空中传输(FirmwareOver-the-Air,FOTA)供应(provisioning)。特别的是,不过不是排他性的,本发明涉及一种用于更新与FOTA供应相关联的设备管理树(Device Management Tree,DMT)的方法。
背景技术:
诸如移动电话之类的移动电子设备已经从只有语音的手机发展到完善的多媒体设备。移动电话现在经常包括诸如因特网浏览器、照相机以及多媒体播放器之类的特征。对这种特征的操作往往要求复杂的软件应用程序(称为固件)驻留在移动电话上。
维护和更新移动设备上的固件是一个困难的处理。诸如驻留在个人计算机上的常规软件应用程序经常能够使用因特网来安排自动的软件更新,并且由此所述更新对于计算机用户来说是透明的并且是方便的。然而,移动设备的固件更新往往要求制造商召回设备,或者要求设备在服务机构硬线连接至因特网,这两种做法对于设备的用户来说都极为不便,并且对于移动服务供应商来说费用浩大。
固件空中传输(FOTA)是相对较新的技术,该技术能够使设备制造商和/或服务供应商使用无线通信来更新移动设备的固件。使用FOTA技术的固件无线供应具有许多优点,包括缩短进入市场时间、加快安全补丁和反病毒更新的开发、减少召回和服务成本、加快新应用程序的采用以及提高客户满意度。
发明内容
依照本发明的一个方面,提供了一种用于利用固件空中传输(FOTA)更新来更新移动设备中的设备管理树(DMT)的方法,所述方法包括如下步骤接收与所述移动设备相关联的设备简档(profile);经由空中把固件更新数据下载至所述移动设备;并且经由空中把DMT结构更新数据下载至所述移动设备。
依照本发明的一个方面,提供了一种用于利用固件空中传输(FOTA)更新来更新移动设备中的设备管理树(DMT)的方法,所述方法包括如下步骤从所述移动设备发送与所述移动设备相关联的设备简档;经由空中在移动设备处接收固件更新数据;并且经由空中在所述移动设备处接收DMT结构更新数据。
为了使本发明易于理解并且投入实际使用,现在对参考附图所举例说明的示例性实施例做出描述,其中在各个单独的视图中相似的附图标记涉及同样的或者功能上类似的元素。所述附图连同下面的详细说明一起并入本说明书中并且形成本说明书的一部分,并且用来依照本发明进一步举例说明实施例并且解释各种原理和优势,其中图1是举例说明包括本发明实施例各步骤的固件空中传输(FOTA)更新处理的示意图;图2是依照开放移动联盟(Open Mobile Alliance,OMA)设备管理(DM)标准的、称为固件更新管理对象(Firmware UpdateManagement Object,FUMO)的设备管理树(DMT)部件的说明;图3是依照本发明实施例举例说明了使用FOTA更新处理更新移动设备中的DMT的方法的消息序列图,其中所述FOTA更新处理从递送服务器下载更新包;图4是依照本发明另一实施例举例说明了使用FOTA更新处理来更新移动设备中的DMT的方法的消息序列图,其中所述FOTA更新处理从递送服务器下载单个带内(in-band)更新包;图5是举例说明依照本发明实施例的带外(out-of-band)下载处理的流程图;
图6是依照本发明实施例举例说明了从服务器的角度看、使用FOTA更新来更新移动设备中的DMT的方法的总体流程图;图7是依照本发明实施例举例说明了从移动设备的角度看、使用FOTA更新来更新移动设备中的DMT的方法的总体流程图。
本领域技术人员将会理解,附图中的元素仅仅是为了简单并且清楚而示出的,而且不一定是按比例描绘的。例如,附图中某些元素的尺寸可能相对于其他元素被夸大了,以便帮助提高对本发明实施例的理解。
具体实施例方式
在详细说明依照本发明的实施例以前,应该观察到的是,所述实施例主要在于固件空中传输(FOTA)供应的方法步骤和与所述方法相关的设备部件的组合。因此,设备部件和方法步骤已经在附图中通过常规符号适当地表示出来,并且只示出了与理解本发明实施例有关的那些具体细节,以免因对于得益于此处的描述的本领域普通技术人员来说显而易见的那些细节而模糊了本公开内容。
在此文献中,诸如左和右、第一和第二之类的相关术语仅仅用来区别一个实体或者动作与另一个实体或动作,而不必要求或者暗示这种实体或动作之间的任何实际的这种关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排它性的包含,由此使包括一系列元素的处理、方法、物品或者设备不仅包括那些元素,而且还包括没有明确列出的其他元素,或者这种处理、方法、物品或者设备固有的元素。在没有更多限制的情况下,在元素前加上“包括一个......”,不排除在包括所述元素的处理、方法、物品或者设备中存在另外的相同元素。
参照图1,该图是举例说明包括本发明实施例各步骤的固件空中传输(FOTA)更新处理100的示意图。首先,设备制造商机构105创建固件更新包,诸如“固件版本2”,并且把所述包上载至载体机构120处的包存储库115。然后在所述载体机构120处测试所述包,并且把所述包发布给递送服务器125。最后,把所述包经由空中递送至诸如移动电话或者个人数字助理之类的移动设备130。依照本发明的实施例,所述包包括固件更新数据和设备管理树(DMT)更新数据。
DMT是与移动设备130相关联的分层树形结构,其中所述树形结构的内节点和叶节点对应于移动设备130的设置,并且叶节点值是设备设定值。由此,可以通过操作所述节点来对所述设备130进行配置。对DMT的节点的访问是通过指定从根开始到所述节点的分层路径来实现的。考虑到开放移动联盟(OMA)设备管理(DM)标准,把这种分层路径称作通用资源标识符(Universal Resource Identifier,URI)。
参照图2,该图举例说明了依照OMA DM标准的、称为固件更新管理对象(FUMO)的DMT部件200。标记为“x”的占位符205可以表示一个特定的固件更新,并且通常位于DMT的内节点处。例如,占位符205可以对应于诸如“/DevDetail/Ext/Phone/PhoneUpdate”的DMT地址。FUMO的叶节点可以包括如下部件,诸如更新包名称210、更新包版本215、由执行程序使用以便启动下载的节点220、下载描述符文件的位置225、由执行程序使用以便启动更新的节点230、更新包的存储235、由执行程序使用以便启动下载和更新处理的节点240、下载描述符文件的位置245、表示试图下载或者更新之后的设备130的状态的状态250以及制造商专用扩展的异常分支(hook)255。
在许多FOTA更新情况中,当更新设备130上的固件时,还必需更新与设备130相关联的DMT的结构。此外,在某些情况中,必须在用于更新固件的同一DM会话中更新DMT;否则,更新后的固件可能无法正确工作。例如,对移动电话软件应用程序的FOTA更新可以更新电话的网络连接简档,并且在新的DMT节点中定位已更新的简档。然而,如果DMT不是相应地在同一DM会话中被更新的,那么所述应用程序可能无法与适当的网络连接。因此,依照本发明的实施例,与固件更新相关联的DMT结构能够在与固件更新相同的DM会话中被更新。作为选择,所述DMT结构可以在紧接着设备130报告已经成功完成固件更新之后的新的DM会话(由服务器125或者设备130启动)中被更新。
所述DMT结构是以DMT结构更新数据的形式被下载至移动设备130的,依照本发明一个实施例,该数据更新整个DMT结构,而不是仅仅更新、添加或者除去DMT中的单个节点或者多个相关节点。
参照图3,该图依照本发明实施例举例说明了使用FOTA更新处理来更新移动设备130中的DMT的方法的消息序列图300,其中所述FOTA更新处理从递送服务器125下载更新包。首先,进行发现处理,其中所述服务器125执行推启动步骤,该步骤用于把推(push)启动信号发送至设备130,由此表示服务器125具有一个或多个可适合于下载至设备130的更新包。然后,所述设备130通过发送设备简档至服务器125来响应所述消息,其中所述简档与设备130相关联。所述设备简档可以包括任何类型的信息,所述信息用于标识与移动设备130有关的某些特征或者方面。例如,所述设备简档可以包括设备130的序列号、设备制造商名称、设备模型名称、固件版本、DMT版本、与驻留在设备130上的一个或多个应用程序有关的其它信息、服务预订信息或者与设备130的用户有关的信息。
接下来,服务器125使用设备简档来标识哪个更新包适于下载至设备130(如果有的话)。如果标识出至少一个适当的更新包,那么服务器125把描述符文件的URL发送至移动设备130。所述描述符文件包括涉及适当更新包(一个或多个)的更多细节,并且包括涉及指定的OTA下载方法的指令。
本领域技术人员将会意识到,上述发现处理步骤通常依照诸如OMA DM固件更新协议被标准化。此外,存在上述发现处理的各种替代方式,诸如使用从设备130发送至服务器125的FOTA拉(pull)命令、而不是使用推启动步骤来启动所述处理。例如,当设备130的用户决定经由空中下载全新的软件应用程序至设备130时,可以用于拉命令。
在完成上述发现处理之后,从移动设备130请求并且接收来自于服务器125的描述符文件(一个或多个)开始来执行下载处理。然后,所述设备130提出请求,并且所述服务器125经由空中下载适当的固件更新包。然后,还经由空中从服务器125把DMT更新包下载到设备130。接下来,所述设备130打开并且处理固件和DMT更新包。图3中还举例说明了示出不同DMT结构的更新前(pre-update)DMT图标305和更新后(post-update)DMT图标310。最后,在通知处理期间,所述设备130把更新状态报告发送至服务器125。所述更新状态报告可以从事各种工作,包括表明是否成功更新、更新包中的任何数据是否被破坏、是否要求另外的更新包等等。
图3中举例说明的下载处理涉及本发明的实施例,其中固件更新数据和DMT结构更新数据以独立的更新包被下载至设备130。例如,与固件更新包相关联的EXEC命令可以指定附加参数用以表明还要求DMT更新包。然后,所述附加参数触发与下载DMT更新包相关联的另一EXEC命令。此处,把每个包称为“带外”包。作为选择,可以使用被称为“带内”更新包的单个更新包把所述固件更新数据和DMT结构更新数据下载至设备130。
参照图4,该图是依照本发明另一实施例举例说明使用FOTA更新处理来更新移动设备130中的DMT的消息序列图400,其中所述FOTA更新处理从递送服务器125下载单个带内更新包。此处,所述发现处理与以上涉及带外下载处理所描述的处理相同。然而,在带内下载处理期间,请求并且从所述服务器125接收涉及单个带内更新包的单个描述符文件。然后还请求并且从服务器125接收在描述符文件中定义的单个带内更新包。然后在移动设备130处理该带内更新包以便执行固件和DMT更新。此处还举例说明了示出不同DMT结构的更新前DMT图标305和更新后DMT图标310。
本发明实施例的带内和带外下载特征就如何把固件更新数据和DMT结构更新数据两者下载至移动设备130而言提供了明显的灵活性。例如,在特定的情况下,带内下载可以更快地完成,并且对于载体机构120而言可以更加简单地把固件更新数据和DMT结构更新数据两者集合在单个包中。然而,在其他情况下,多个带外下载可以向移动设备130提供所期望的另外下载选项。
例如,参照图5,该图是举例说明依照本发明实施例的带外下载处理500的流程图。在步骤505,移动设备130接收来自于服务器125的涉及推启动处理的通知,并且将其设备简档发送到服务器。在步骤510,执行对设备130的DMT FUMO节点的命令以便启动带外固件更新包的下载。接下来,在步骤515,可以确定——在设备130或者在服务器125处——是否还需要带外DMT更新包。如果是这样的话,那么在步骤520,如请求下载DMT更新包中的DMT结构更新数据的DMT FUMO节点执行命令。例如,如上所述,某些应用程序可能要求在固件更新包成功地在设备130上被处理以前接收DMT结构更新数据。然后,在步骤525,处理所述固件更新包以便执行固件更新。然后,在步骤530,可以确定——在设备130或者在服务器125处——是否需要进一步的DMT更新。如果是这样的话,在步骤535,处理所述DMT更新包以便执行DMT更新。最后,在步骤540,所述设备130把状态更新发送至服务器125。
由此上述处理500举例说明了带外下载如何能够使更新处理实时满足特定设备130的需求。其具有显著优点,包括节省了设备130上的存储空间,节省了设备处理器的时间,以及节省了设备的电池功耗。
参照图6,该图是依照本发明实施例举例说明了从服务器125的角度看使用FOTA更新来更新移动设备130中的DMT的方法600的总体流程图。首先,在步骤605,确定是使用拉启动处理还是推启动处理。如果使用推启动处理,那么在步骤610,服务器125把推启动消息发送至设备130。作为选择,如果使用拉启动处理,那么在步骤615,在服务器125接收FOTA拉命令。接下来在步骤620,接收设备简档。然后在步骤625把描述符文件的URL下载至设备130。然后在步骤630接收描述符文件的请求,并且在步骤635下载描述符文件。然后在步骤640和645分别下载固件更新数据和DMT结构更新数据。最后,在步骤650,接收来自于移动设备130的更新状态报告。
参照图7,该图是依照本发明实施例举例说明了从移动设备130的角度看使用FOTA更新来更新移动设备130中的DMT的方法700的总体流程图。首先,在步骤705,确定是使用拉启动处理还是推启动处理。如果使用推启动处理,那么在步骤710,设备130接收来自于服务器125的推启动消息。作为选择,如果使用拉启动处理,那么在步骤715,把FOTA拉命令发送给服务器125。接下来,在步骤720,发送设备简档。然后在步骤725接收描述符文件的URL。然后在步骤730发送描述符文件的请求,并且在步骤735接收描述符文件。然后在步骤740和745分别接收固件更新数据和DMT结构更新数据。在步骤750,分别处理固件更新数据和DMT结构更新数据这两者以便执行固件和DMT更新。最后,在步骤755,发送更新状态报告。
因此,本发明的优点包括更加灵活的OTA更新方法,所述方法使移动设备130处的固件和DMT更新能实时满足与设备130相关联的特定需求。因此,可以更加可靠地执行更新处理。此外,可以在设备130和递送服务器125处节省存储器、处理器和电源资源,并且可以使用FOTA技术来执行多种多样的更新处理。
上述详细说明仅仅提供了一个示例性实施例,而且不打算限制本发明的范围、适用性或者配置。确切的讲,示例性实施例的详细说明为本领域技术人员提供了足以实现本发明示例性实施例的描述。应该理解,在不脱离本发明的精神和范围的情况下,可以在元件和步骤的功能以及设置方面做出各种改变,其中本发明的范围由所附权利要求书来限定。将会理解,此处所述的本发明的实施例可以由一个或多个常规的处理器和唯一存储的程序指令组成,所述程序指令用于控制所述一个或多个处理器以便结合某些非处理器电路来实现此处所述的某些、大部分或者所有固件OTA供应的功能。所述非处理器电路可以包括但是不局限于无线电接收机、无线电发射机、信号驱动器、时钟电路、电源电路和用户输入设备。同样,这些功能可以被解释为用于执行固件OTA供应的方法的步骤。作为选择,某些或者所有功能可以通过不具有存储的程序指令的状态机来实现,或者在一个或多个专用集成电路(ASIC)中实现,其中每个功能或者某些特定功能的组合可以作为定制逻辑来实现。当然,可以使用上述两种方法的组合。由此,此处已经描述了用于这些功能的方法和装置。此外,本领域普通技术人员能够预料到,尽管例如因为可利用时间、现有技术以及经济方面的考虑可能需要付出明显的努力和许多设计选择,但是当由此处公开的概念和原理来指导时,能够利用最小的试验工作来生成这种软件指令、程序以及IC。
在先前的说明书中,已经描述了本发明的特定实施例。然而,本领域普通技术人员将会理解,在不脱离本发明的范围的情况下,可以作出各种修改和变化,本发明的范围由所附权利要求书限定。据此,说明书和附图应被视为说明性的而不是限制性的意义,并且意图使所有这种修改都被包括在本发明的范围内。益处、优点、问题的解决方案以及任何可能引起任何益处、优点或者解决方案发生或者变得更加明确的元素都不应看作是任意或所有权利要求的关键性的、必需的或者基本特征或元素。本发明只由所附权利要求书来限定,所述权利要求书包括了在此申请未决期间所做出的任何修改以及那些权利要求的等效含义。
权利要求
1.一种利用固件空中传输(FOTA)更新来更新移动设备中的设备管理树(DMT)的方法,所述方法包括如下步骤接收与所述移动设备相关联的设备简档;经由空中将固件更新数据下载至移动设备;以及经由空中将DMT结构更新数据下载至所述移动设备。
2.如权利要求1所述的方法,其中所述固件更新数据被包括在固件更新包中,并且所述DMT结构更新数据被包括在DMT更新包中。
3.如权利要求2所述的方法,其中所述固件更新包包括表明是否需要DMT更新包的参数。
4.如权利要求1所述的方法,其中所述DMT结构更新数据包括指令以及基于DMT数据的脚本。
5.如权利要求1所述的方法,其中所述固件更新数据以及DMT结构更新数据被包括在带内更新包中。
6.如权利要求1所述的方法,其中所述方法在设备管理服务器处被执行,并且所述方法还包括将推启动信号发送到所述移动设备;将描述符文件的URL下载至所述移动设备;接收来自于移动设备的对描述符文件的请求;并且将描述符文件下载至所述移动设备。
7.如权利要求1所述的方法,还包括接收来自于移动设备的对DMT结构更新数据的请求,其中所述请求是在将固件更新数据下载到移动设备之后接收的。
8.如权利要求1所述的方法,还包括在下载所述固件更新数据之后,确定是否需要所述DMT结构更新数据。
9.如权利要求1所述的方法,还包括接收来自于所述移动设备的FOTA拉命令。
10.如权利要求1所述的方法,还包括接收来自于所述移动设备的更新状态报告。
11.如权利要求1所述的方法,其中所述方法遵循开放移动联盟(OMA)设备管理(DM)标准。
12.一种利用固件空中传输(FOTA)更新来更新移动设备中的设备管理树(DMT)的方法,所述方法包括如下步骤从所述移动设备发送与所述移动设备相关联的设备简档;经由空中在所述移动设备处接收固件更新数据;以及经由空中在所述移动设备处接收DMT结构更新数据。
13.如权利要求12所述的方法,其中所述固件更新数据被包括在固件更新包中,并且所述DMT结构更新数据被包括在DMT更新包中。
14.如权利要求13所述的方法,其中所述固件更新包包括表明是否需要DMT更新包的参数。
15.如权利要求12所述的方法,其中所述固件更新数据以及DMT结构更新数据被包括在带内更新包中。
16.如权利要求12所述的方法,其中所述方法还包括在所述移动设备处接收推启动请求;在所述移动设备处接收描述符文件的URL;从所述移动设备发送对描述符文件的请求;在所述移动设备处接收所述描述符文件;在所述移动设备处处理所接收的固件更新数据和所接收的DMT结构更新数据;以及从所述移动设备发送更新状态报告。
17.如权利要求12所述的方法,还包括从所述移动设备发送对DMT结构更新数据的请求,其中所述请求是在接收到固件更新数据之后发送的。
18.如权利要求12所述的方法,还包括在接收所述固件更新数据之后,确定是否需要所述DMT结构更新数据。
19.如权利要求12所述的方法,还包括从所述移动设备发送FOTA拉命令。
20.如权利要求12所述的方法,其中所述方法遵循开放移动联盟(OMA)设备管理(DM)标准。
全文摘要
使用固件空中传输(FOTA)更新处理来更新移动设备中的设备管理树(DMT)的方法,能够使固件和DMT更新满足与移动设备相关联的特定需求。一种方法包括接收与所述移动设备相关联的设备简档(步骤620)。然后经由空中把固件更新数据下载至移动设备(步骤640)。然后经由空中把DMT结构更新数据下载至移动设备(步骤645)。
文档编号H04L12/00GK1949718SQ20051011367
公开日2007年4月18日 申请日期2005年10月14日 优先权日2005年10月14日
发明者林钟冬, 蒋建明 申请人:摩托罗拉公司