CN105138354B - 用于对多个装置进行升级的方法及系统 - Google Patents

用于对多个装置进行升级的方法及系统 Download PDF

Info

Publication number
CN105138354B
CN105138354B CN201510486604.6A CN201510486604A CN105138354B CN 105138354 B CN105138354 B CN 105138354B CN 201510486604 A CN201510486604 A CN 201510486604A CN 105138354 B CN105138354 B CN 105138354B
Authority
CN
China
Prior art keywords
firmware
data
partition
electronic device
electronic devices
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.)
Active
Application number
CN201510486604.6A
Other languages
English (en)
Other versions
CN105138354A (zh
Inventor
约纳斯·霍姆伯格
约阿基姆·图尔贝里
约翰·阿道夫松
克里斯季娜·斯滕
马丁·格伦
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.)
Anxinshi Co Ltd
Original Assignee
Anxinshi Co Ltd
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 Anxinshi Co Ltd filed Critical Anxinshi Co Ltd
Publication of CN105138354A publication Critical patent/CN105138354A/zh
Application granted granted Critical
Publication of CN105138354B publication Critical patent/CN105138354B/zh
Active 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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Abstract

本发明涉及一种用于对多个装置进行升级的方法及系统。首先,配置所述多个电子装置中的第一电子装置中的固件。然后,通过使用固件更新文件发生器,基于所配置的固件在所述第一电子装置中生成固件更新文件。接着,通过数据网络从第一电子装置向若干个电子装置发送固件更新文件。最后,通过在各电子装置中执行固件更新文件来更新若干个电子装置中的固件。

Description

用于对多个装置进行升级的方法及系统
本申请是申请日为2007年2月27日、申请号为200780005770.3(PCT/SE2007/000180)的标题为“用于对多个装置进行升级的方法及系统”的专利申请的分案申请。
技术领域
本发明总的来说涉及用于对多个电子装置中的固件进行升级的方法、电子装置、用户接口设备、包括电子装置和用户接口设备的系统以及计算机程序产品。
背景技术
现今的很多电子产品是可以定制的,即可以根据特定用户的需求来对电子产品进行配置。然而,定制电子产品可能很困难,尤其是对于对所涉及的技术不熟悉的用户来说更是如此。
然而,如果通过网络将多个电子产品相互连接,就会产生新的问题。例如,如果要对一些电子产品的软件进行更新,那么针对这种更新的正确过程就必须是可获得的。这种过程可能包括手动更新电子产品的步骤。
如果要对大量电子产品进行更新,那么就需要大量的时间来手动更新这些电子产品,这当然是一个瑕疵。另一瑕疵在于有出错的风险,或者换句话说是由用户产生的错误的风险。
而且,在很多情况下,定制是由非该产品制造商的公司请求或期望的。这种公司可能是例如为存在问题的电子产品提供服务的公司、使用这种电子产品的公司等。下文将这些公司称为定制公司。
如今很多对电子产品的定制可以通过改变该电子产品的固件来实现。然而,为了获得这种定制的固件,定制公司要么必须使制造商对被定制固件进行准备并编程,要么使制造商提供用于对定制固件进行准备并编程的信息和工具。对定制固件进行准备并编程一般需要大量的工作并且需要对待被定制的电子产品的软件和硬件系统两者都有很好的了解。
所以,需要一种使大量电子产品的更新变得容易的方案。进一步需要降低出现与更新相关联的错误的风险。
发明内容
因此,本发明的目的在于解决或至少减少以上所讨论的问题。具体来说,一个目的在于提供一种有效、安全用户友好的方式来对连接到数据网络的若干个电子装置进行定制。
固件这一措词被开放地解释为软件指令和参数值。
根据本发明的第一方面,通过一种用于更新连接到数据网络的多个电子装置中的若干个电子装置中的固件的方法来提供以上目的,所述方法包括:
根据定制公司生成的定制数据将多个电子装置中的第一电子装置中的固件配置为定制公司生成的固件,通过使用所述第一电子装置中的固件更新文件发生器,基于在所述第一电子装置中所配置的固件来生成定制公司生成的固件更新文件,通过数据网络从所述第一电子装置向所述多个电子装置中的若干个电子装置发送定制公司生成的固件更新文件,以及通过在所述多个电子装置中的若干个电子装置中的各电子装置中执行定制公司生成的固件更新文件来更新所述多个电子装置中的若干个电子装置中的固件。
本发明的一个优点在于便于电子装置的定制。
另一优点在于便于为已有的电子装置定制固件的准备和编程,并且可以容易地由对产品没有特别详细了解的人员或组织进行对定制固件的准备和编程。
另外,定制公司不必对电子产品的软件和硬件具有详细的了解。这也意味着定制公司自己可以容易地进行定制。
可选地,其中所述配置多个电子装置中的第一电子装置中的固件的步骤由以下步骤来实现:通过所述数据网络从用户接口设备向所述第一电子装置发送定制公司生成的定制数据。
可选地,该方法可进一步包括从用户接口设备向所述第一电子装置发送固件更新文件发生器。
这样做的优点在于除非固件更新文件发生器被发送到该电子装置,否则不可能生成定制公司生成的固件更新文件。这意味着增加了系统的安全性。
可选地,所述从所述第一电子装置向所述多个电子装置中的若干个电子装置发送定制公司生成的固件更新文件的步骤包括以下子步骤:从所述第一电子装置向用户接口设备发送定制公司生成的固件更新文件,以及从所述用户接口设备向所述多个电子装置中的若干个电子装置发送定制公司生成的固件更新文件。
这样做的优点在于定制公司生成的固件更新文件在被发送给若干个电子装置之前首先被发送给用户接口设备。这样,用户接口设备的操作者可以确认向若干个电子装置的发送,这意味着增加了系统的安全性。
可选地,该方法进一步包括一旦所述配置多个电子装置中的第一电子装置中的固件的步骤完成,即从所述第一电子装置向所述用户接口设备发送反馈信号。
而且,在生成定制公司生成的固件更新文件期间,也可从第一电子装置向用户接口设备发送反馈。
可选地,所述多个电子装置中的若干个电子装置的各电子装置均包括具有不可更改的分区和可更改的分区的存储器,所述方法可以进一步包括以下步骤:针对所述多个电子装置中的若干个电子装置中的各电子装置来标记所述可更改的分区中包含装置特定信息的数据段,并且其中所述通过在所述多个电子装置中的若干个电子装置中的各电子装置中执行定制公司生成的固件更新文件来更新所述多个电子装置的若干个电子装置的步骤进一步包括:利用来自所述不可更改的分区的装置特定信息来替换所述可更改的分区中的被标记数据段。
可选地,该方法可以进一步包括根据用户生成的定制数据来在所述多个电子装置中的若干个电子装置中的一个电子装置中配置定制公司生成的固件,其中所述配置定制公司生成的固件的步骤进一步包括:将定制公司生成的固件作为定制公司生成的默认固件存储在所述多个电子装置中的若干个电子装置中的该电子装置的存储器中,以及根据用户定制数据,由用户生成的固件来替换所述多个电子装置中的若干个电子装置中的该电子装置中的定制公司生成的固件。
可选地,该方法可以进一步包括向所述多个电子装置中的若干个电子装置中的该电子装置发送定制公司生成的默认固件请求,以及由所存储的定制公司生成的默认固件来替换所述多个电子装置中的若干个电子装置中的该电子装置中的用户生成的固件。
这样做的优点在于可以将电子装置重置到定制公司生成的固件,即定制公司默认设置。
可选地,该方法可以进一步包括通过所述数据网络从所述用户接口设备向所述多个电子装置中的若干个电子装置发送生产公司生成的默认固件请求,通过所述数据网络将生产公司生成的默认固件更新文件从外部服务器下载到所述多个电子装置中的若干个电子装置,以及在所述多个电子装置中的若干个电子装置中,通过使用生产公司默认固件更新文件来替换更新后的固件。
根据本发明的第二方面,通过一种电子装置来提供上述目的,该电子装置包括网络接口,适于使能通过数据网络接收和发送数据;存储器,适于存储数据;与所述存储器相关联的处理器;被配置为提供固件配置器,适于通过使用定制公司生成的定制数据来将所述存储器中的固件配置为定制公司生成的固件;固件更新文件发生器接收器,适于通过所述数据网络接收固件更新文件发生器,所述固件更新文件发生器适于基于所述电子装置中所配置的固件来生成定制公司生成的固件更新文件,以及定制公司生成的固件更新文件的发送器,适于使能通过所述数据网络发送定制公司生成的固件更新文件,其中所述定制公司生成的固件更新文件适于在多个电子装置中的若干个电子装置中执行时更新所述多个电子装置中的若干个电子装置中的固件。
第一方面的优点也适用于第二方面。
可选地,所述固件更新文件发生器接收器被可以配置为使能通过所述数据网络从用户接口设备接收固件更新文件发生器。
可选地,所述定制公司生成的固件更新文件的发送器可以被配置为使能通过所述数据网络向所述多个电子装置中的若干个电子装置发送固件更新文件。
可选地,所述定制公司生成的固件更新文件的发送器可以被配置为使能通过所述数据网络向用户接口设备发送固件更新文件。
可选地,该电子装置进一步包括反馈信号发送器,所述反馈信号发送器适于从所述电子装置向所述用户接口设备发送反馈信号,其中所述反馈信号包括描述更新后的固件的信息。
可选地,所述存储器可以被划分为不可更改的分区,包括加载器软件和装置特定信息;以及可更改的分区,包括包含装置特定信息的被标记数据段,其中所述被标记数据段在执行定制公司生成的固件更新文件时被装置特定信息替换。
可选地,所述可更改的分区可以被划分为只读分区,包括定制公司生成的默认固件;以及可读且可写分区,包括所述电子装置中使用的数据和应用程序,其中一旦接收到定制生成的默认固件请求,所述可读且可写分区即被定制公司生成的默认固件替换。
可选地,所述固件配置器被进一步配置为在用更新后的固件替换定制公司生成的固件之前,将定制公司生成的固件作为定制公司生成的默认固件来存储。
可选地,该电子装置可以进一步包括生产公司生成的默认固件的接收器,适于从外部服务器接收生产公司生成的默认固件,以及生产公司生成的默认固件的控制装置,适于一旦接收到生产公司生成的默认固件请求,即用所接收的生产公司生成的默认固件替换更新后的固件。
可选地,该电子装置可以是网络摄像机。
根据发明的第三方面,通过一种用户接口设备来提供以上目的,所述用户接口设备包括网络接口,适于使能通过相关联的数据网络接收和发送数据;用户输入装置;存储器,适于存储数据;处理器,与所述存储器相关联,被配置为提供定制数据发生器,适于基于通过所述用户输入装置接收的数据来生成定制公司生成的定制数据,以及定制公司生成的定制数据的发送控制装置,被配置为通过所述数据网络向第一电子装置发送所生成的定制数据。
第一方面的优点也适用于第三方面。
可选地,与所述存储器关联的处理器可以被进一步配置为提供固件更新文件接收器,被配置为从所述第一电子装置接收定制公司生成的固件更新文件,以及固件更新文件分发器,被配置为通过所述数据网络向多个电子装置中的若干个电子装置发送所接收的定制公司生成的固件更新文件。
可选地,所述用户输入设备可以被进一步配置为通过所述数据网络从所述用户接口设备向外部服务器发送生产公司生成的默认固件请求,其中所述固件更新文件接收器被进一步配置为从所述外部服务器接收生产公司生成的默认固件更新文件,并且其中所述固件更新文件分发器被进一步配置为通过所述数据网络向多个电子装置中的若干个电子装置发送所接收的生产公司生成的默认固件更新文件。
可选地,所述用户接口设备可以进一步包括反馈信号接收器,适于通过所述数据网络从所述第一电子装置接收反馈信号,以及用户输出装置,适于显示反馈信号。
根据本发明的第四方面,通过一种系统来提供以上目的,该系统包括:
数据网络,与所述数据网络相关联的上述用户接口设备,至少一个与所述数据网络相关联的上述电子装置,多个电子装置,其中所述多个电子装置中的各电子装置被配置为通过所述数据网络接收固件更新文件,并且通过执行所接收的固件更新文件来更新固件。
发明的第一方面的优点也适用于发明的第四方面。
可选地,这些电子装置中的各电子装置可以根据上述内容来配置。
可选地,更新后的固件文件可以从所述多个电子装置中的至少一个电子装置发送到所述多个电子装置中类似的电子装置。
可选地,该系统可以进一步包括外部服务器,该外部服务器适于保存生产公司默认固件更新文件,并且被配置为一旦所述用户接口设备有请求,即向所述用户接口设备发送所述生产公司生成的默认固件更新文件。
根据本发明的第五方面,通过一种计算机程序来提供以上目的,所述计算机程序包括被布置为施行上述方法的软件指令。
本发明的其它目的、特征和优点将从以下详细的公开内容、所附的从属权利要求以及附图中出现。
通常,除非这里另有明确的限定,在权利要求中使用的所有术语根据它们在技术领域中的普通含义来解释。
所有对“一个/该[元件、装置、组件、工具、步骤等]”的引用应被开放性地解释为所述元件、装置、组件、工具、步骤等的至少一个示例,除非另有明确声明。这里所公开的任何方法的步骤不一定以所公开的顺序来施行,除非有明确声明。
附图说明
本发明的以上以及另外的目的、特征和优点将通过以下参见附图对本发明优选实施例的说明性而非限制性详细描述而更好理解,在附图中,相同的附图标记用于类似的元件,其中:
图1是包括若干个电子装置、用户接口设备、外部服务器和将用户接口设备连接到电子装置的数据网络的系统的示意图,
图2是用于对多个电子装置中的固件进行更新的一般方法,
图3是电子装置的示意图,
图4是图3所示的电子装置中所包括的非易失性存储器的示意图,
图5是根据本发明的方法的实施例的流程图,
图6A和6B是根据本发明的方法的另一实施例的流程图,
图7是电子装置的另一实施例的示意图,以及
图8是用户接口设备的实施例的示意图。
具体实施方式
图1概略地示出包括用户接口设备102和通过数据网络106互相连接的多个电子装置104A-104F。进一步,数据网络106可以是基于IP的数据网络。
用户接口设备102可以是客户端计算机,也可以是包括用户接口的其它设备,所述用户接口为诸如按钮之类的用户输入装置和诸如显示器之类的作为可选项的用户输出装置。电子装置104可以是包括处理器和存储器的装置,其中对该装置的控制或部分控制由在该装置自身中被存储并被处理的软件指令来启动。这种软件指令可以称作固件。
可选地,外部服务器108可以与数据网络106相关联。该外部服务器可以包括可通过用户接口设备102或电子装置104A-104F下载的数据。
图2中示出用于对电子装置的固件进行更新的方法的一般实施例。
首先,步骤200,定制所述多个电子装置104A-104F中的第一电子装置104A。这种定制可以包括客户特定功能、客户特定参数、客户特定参考数据等。这种类型的客户特定数据在下文中可以被称为定制数据。
第二,步骤202,当第一电子装置已经被定制时,将固件更新文件发生器下载到所述单个电子装置104A中并执行,从而生成固件更新文件。
第三,步骤204,向系统100的其它电子装置104B-104F中的所有或若干个电子装置发送所生成的固件更新文件。
可选地,固件更新文件被发送到的装置可以是与第一电子装置类似并且连接到数据网络的装置。
第四,步骤206,根据接收到的所生成的定制固件更新文件来定制其它电子装置104A-104F中的各电子装置。
换句话说,电子装置104A-104F中只有一个电子装置首先被定制,在该例子中是单个电子装置104A。这意味着用户可以在该单个电子装置104A上尝试若干种组合,并且当得到合适的定制时,将该合适的定制转发给其它电子装置104B-104F。
可选地,固件发生器可以包含在单个电子装置104A中作为默认,即固件发生器不是必须下载的。
在图3中,示意性地示出电子装置104的实施例。在该实施例中,电子装置104包括处理器300、诸如闪速存储器之类的非易失性存储器302、诸如RAM之类的易失性存储器304及被配置为将电子装置104连接到数据网络106的网络接口306。
定制数据,即软件指令、参数、参考数据等,可以存储在非易失性存储器302中。所以,当根据先前描述的步骤200来定制电子装置时,存储在非易失性存储器中的定制数据会被改变。
当根据步骤202将固件发生器下载到单个电子装置104A并在该单个电子装置104A中执行时,可以将该固件发生器下载到易失性存储器304中,并在该易失性存储器304中执行。
在图4中,示出非易失性存储器302的一个实施例。在该实施例中,非易失性存储器被划分为至少三个分区,称为第一分区400、第二分区402和第三分区404。
通常,第一分区400可以是不可更改的分区,这意味着在定制电子装置104时,无论是固件更新文件还是用户都不能改变存储在第一分区400中的数据。
在一个实施例中,这种第一不可更改的分区400可以包括基本闪速加载器软件406及装置特有的数据和参数408。在装置出厂之后该分区不会被重写。基本闪速加载器406可以是在其它分区被指示有错误时能够,例如通过使用http或其它协议的网络来将数据加载到闪速存储器的驻留闪速加载器RFL。这种错误可能,在例如系统启动期间当第二和/或第三分区的校验和不匹配时被指示。装置特有的数据和参数可以是例如装置ID、序列号、解密和/或加密密钥中的一项或者这些的组合。
通常,第二分区402可以包括在定制电子装置104时可以由固件更新文件更改而不可由用户更改的数据。
在一个实施例中,闪速存储器的第二分区是CRAMFS(压缩的ROM文件系统),是只读分区。该第二分区可以包括分区表410、被布置为至少复原(unpack)内核的解压缩器412、压缩的操作系统内核414以及使能重置为该电子装置的“出厂默认(factory default)”的重置数据416。该操作系统内核可以是,例如Linux内核、Unix内核等。重置数据416可以包括一组文件、数据和/或程序,该组文件、数据和/或程序是系统出厂时驻留在第三分区中的一组文件、数据和/或程序的副本,即“出厂默认”。当该电子装置被重置为出厂默认时,所述重置数据416被复制到第三分区404中。
通常,第三分区404是可被固件更新文件和定制数据更改的分区。
在一个实施例中,第三分区可以是具有JFFS(日志闪速文件系统),例如JFFS1或JFFS2的可读且可写分区。然而,第三分区可以具有任意类型的可读且可写文件系统。该分区中包括在该电子装置中使用的数据、应用程序或其它程序。
总之,固件更新文件可以包括用于建立第二分区和第三分区的数据以及这些分区中将要包括的所有数据。
在根据本发明的方法中,参见图5,通过以下过程来实现一种用于电子装置的新固件。
将固件发生器下载到电子装置中500。当下载完成时,在装置中执行该固件发生器502。可以将固件发生器下载到RAM中,并从该RAM中执行。
在执行固件发生器期间,处理第三分区的内容,并利用替换指示符来替换第三分区的数据中的一些特定值504。用替换指示符替换的值针对各独立装置是独特的值,因此必须用固件升级过程期间固件被加载到的装置的值来替换。这种值的一些例子可以是装置的MAC地址、序列号、主机名、一些装置标识符508。
当已经处理了第三分区的内容时,以类似的方式处理第二分区,即将特定值与替换指示符交换。另外,用第三分区的副本来替换第二分区中包括的出厂默认数据。
然后,将第二分区和第三分区的处理后的内容合并为单个文件510,并发送到客户端512,用于作为新的固件来分发514。新的固件被发送至的客户端可以是用于启动固件的创建的计算机或被布置为接收并管理这类定制的新固件的预定地址。
通过使用以上方法来生成固件,易于通过仅对单个装置进行准备,即将定制软件、参数和数据下载到该电子装置的非易失性存储器中,来定制该电子装置。在与以上所述的实施例类似的实施例中,在定制单个装置期间,将这类定制软件、参数和数据下载到第三分区中。然后当已经定制了该单个装置时,将固件发生器下载到该单个装置中,并在该单个装置中执行,以生成定制的新固件,可以通过将该定制的新固件简单地安装到那些其它类似的装置中,使用该定制的新固件来更新所述其它类似的装置,来定制所述其它类似的装置。
在一些电子装置中,非易失性存储器的存储空间有限,因此固件发生器可能没有驻留在非易失性存储器中。为了执行电子装置中的固件发生器文件,可以通过计算机网络,例如LAN、WAN、因特网或任何其它网络,从一计算机来访问该电子装置,然后,可以将可从所述计算机访问的固件发生器文件下载到该电子装置中。固件发生器文件具有可以使电子装置将该文件识别为固件发生器文件的特征。当固件发生器文件已经下载到该电子装置时,该电子装置将该文件识别为固件发生器文件,并在易失性存储器中执行该固件发生器文件。在执行固件发生器文件时,固件发生器文件施行上述方法。
如上所述,固件发生器的执行对第三分区和第二分区进行处理,利用不同于复制期间出现的数据的其它数据来替换第三分区的一些数据和第二分区的一些数据。
在一些系统中,该处理可以包括将这些分区复制到易失性存储器,然后在副本中利用替换指示符来替换待被替换的数据。在这类系统中,从分区中复制和调整的数据可以在该电子装置的易失性存储器中合并为一个新的固件文件。
然而,在一些系统中,没有足够的易失性存储器来完全在易失性存储器中施行处理。针对这种情况,固件发生器可以使用并不将分区的数据复制到易失性存储器中进行进一步调整的方法。一种这样的方法包括以下步骤:
对将要使用替换标识符来替换的第三分区中的数据进行标识。当数据已被标识时,将该数据暂时复制到易失性存储器中,并且对发现被标识数据的文件系统中的路径和文件夹,例如路径“a/b/c/x/”中的文件夹“x”进行标识。然后,固件发生器在该路径中的该文件夹上挂载一文件系统。如果Linux或Unix操作系统正在运行,则该新的文件系统代替非易失性存储器的“x”文件夹,并使写入该文件夹“x”的数据存储到另一存储器,例如易失性存储器中。文件夹“x”中驻留在先前访问的第三分区的地址处的数据仍然在第三分区中,但无法通过那个路径访问。然后,将先前从该文件夹中复制的数据复制到具有新文件系统的文件夹中,并由替换标识符来替换待替换的数据。以该方式管理所有包括用于替换的被标识数据的文件夹。当第三分区的处理结束时,以类似的方式处理第二分区。在第二分区中对出厂默认数据和到达包括该数据的文件系统的文件夹路径进行标识,将新的文件系统挂载在该文件夹上,并将第三分区的数据存储在该新的文件系统中。然后,通过定义为固件文件的上传路径来上传该固件文件。然后,该处理将上传驻留在非易失性存储器中的文件夹,非易失性存储器是这些文件夹的初始位置。然而在上传新文件系统被挂载到的文件夹时,从新挂载的文件夹的地址而非原始文件夹的地址检索数据。
该方法除了具有占用的临时存储器空间的量很小的优点之外,还产生了额外的优点。一种额外优点是,如果在处理中该电子装置由于其它原因停止工作或发生故障,则该电子装置在重启时会使用该装置的原始文件系统。因此,由于没有对原始文件系统的地址处的数据进行改变,因此替换不会生效,且该装置可以像从来没有发生过故障或数据从来没有被改变过一样运行。
固件发生器可以是程序或脚本。在一个实施例中,固件发生器是CGI脚本。管理员可以通过访问驻留在该电子装置上的HTML页面(超文本标记语言)来将固件发生器下载到该电子装置上。该HTML页面允许管理员从管理员可访问的任何网站中选择文件,并启动下载。该HTML页面可以被布置为仅由能够验证自己是管理员的管理员可访问。
相应地,描述了用于更新多个电子装置或装置的方法,该方法包括:更新单个电子装置,通过由单个电子装置施行的处理来生成更新文件,从单个电子装置向该单个电子装置外部的储存介质发送该更新文件,向类似于该单个电子装置的多个电子装置发送该更新文件。
另外,还描述了用于生成更新文件和新的固件文件的方法,该方法包括:在单个电子装置中执行固件发生器,通过从该电子装置的非易失性存储器中读取数据来生成新的固件文件,使用替换指示符来替换装置特有的数据,利用构成电子装置当前配置的数据来替换用于将该电子装置重置为出厂默认而存储的数据,以及将最后得到的数据布置在固件文件中。
根据发明的一个实施例,可以在添加、删除和修改文件及参数默认值的方面来定制安讯士(Axis)网络摄像机或视频服务器的固件。该文件描述了如何创建原始安讯士固件的修改版本。定制固件可用于对相同型号的几个摄像机或视频服务器进行升级,并且当装置被设置为出厂默认时,这些装置都会包含与用于创建新固件的摄像机或视频服务器相同的配置、脚本、定制网页、定制应用等。
以下描述根据本发明的方法的具体实施例。
引言
使用固件版本4.20或以后版本的装置支持运行通过HTTP上传的脚本和应用程序。该功能被称作点击启动(kickstart),并且由HTML页面和CGI脚本组成。用户从HTML页面选择要上传的UNIX tar文件。CGI脚本接收该文件,将该文件从该档案文件提取到该装置中的临时目录,并且如果所提取的文件中存在点击启动文件,则执行所提取的点击启动文件。当点击启动文件的执行结束时,所上传的文件和从该文件中提取的所有文件被删除。
使用点击启动HTML页面来上传定制固件点击启动文件启动了固件图像文件的构建。该固件是根据执行点击启动所位于的网络摄像机或视频服务器的实况文件系统而生成的。所生成的固件的出厂默认设置与启动新固件的构建时装置的当前设置相同。上传点击启动文件的网页浏览器在装置建造新的固件时接收进度信息。当新固件就绪时,将其作为八位字节流发送至网页浏览器,并提示用户将该固件保存为二进制文件。
生成新固件的装置不会受到操作的影响。然而,返回的固件可以用于使用正常固件升级程序来对该装置以及相同型号的所有装置进行升级。
理论
所生成的固件几乎是生成该固件的产品上当前正在运行的固件的准确复制品。然而,一些东西并不是该产品所包含内容的准确副本,例如MAC地址。
以下属性会在生成新的固件时自动改变:
/usr/share/axis-release/variables(/用户/共享/安讯士发布/变量)(参数Properties.Firmware.Version(属性.固件.版本))中的变量RELEASE(版本)会被修改,以指示新固件不同于原始固件。
字符串“-custom#”被附加于RELEASE的值上,其中#是序列号,基于每个生成的固件而增加。因此,为了作为对早先生成的固件的升级而生成的固件通过早先生成的固件而完成是很重要的。否则,两个固件将具有相同的版本号。
/usr/etc/defaultfiles/jimageid中的变量JIMAGEID和/etc/release中的变量JFFSID被修改。
安讯士视频产品具有两个文件系统。一个是包含不可由用户修改的文件的只读文件系统;一个是包含可以被用户添加、删除或修改的文件(例如包含参数值的文件)的可写文件系统。当对产品进行升级时,新固件的只读文件系统中的JIMAGEID的值与旧固件的可写文件系统中的JFFSID的值进行比较。只有在该值不同时,可写文件系统才会被升级。当生成新固件时,这两个值必须都被修改,从而按计划对已生成的固件产品进行升级。
RELEASE的新值被用作JIMAGEID和JFFSID两者的值。因此,为了作为对早先定制的固件版本的升级而生成的固件通过先前的定制固件版本而完成是很重要的。否则,两个固件版本的JIMAGEID和JFFSID将具有相同的值,且从一个版本到另一个版本的升级不会按计划运转。
出厂默认图像(/usr/etc/defaultfiles/jimage)将被重新生成,以与新固件的可写文件系统相匹配。
文件/etc/conf.d/hostname的变量HOSTNAME(主机名)(参数Network.Hostname(网络.主机名))将被重置为默认值。
文件/etc/conf.d/mac中的变量MAC将被重置为默认值。
文件/etc/conf.d/upnp中的变量UPNP_FRIENDLYNAME(参数Network.UPnP.FriendlyName)将被重置为默认值。
文件/etc/conf.d/rendezvous中的变量RENDEZVOUS_FRIENDLYNAME(参数Network.Bonjour.FriendlyName)将被重置为默认值。
文件/etc/sysconfig/rtp.conf中的AudioAddress和VideoAddress的所有具体值(参数Network.RTP.R#AudioAddress和Network.RTP.R#VideoAddress)均将被重置为默认值。
生成固件
遵循这些步骤来生成新的固件版本。
-配置产品
-改变参数设置,向可写文件系统等上传文件,直到所有内容都因为处于新固件的出厂默认状态而处于期望状态。
-使能点击启动
在默认状态下,点击启动功能是禁用的,因此在上电之后以及在每次上传点击启动文件之后,必须使能点击启动功能。
为了使能点击启动CGI,必须在该产品的文件系统中创建称作/var/lib/kickstart的文件,且该文件必须只包含字符1。使用内置编辑器editcgi来创建该文件:
-例如使用网页浏览器中的位置http://myserver/admin-bin/editcgi.cgi?file=/var/lib/resolv.conf来打开editcgi中的已有文件。
-将Save as(另存为)输入字段改为/var/lib/kickstart
-将文件内容输入区域改为:1
注意
输入区域必须只包含一个字符,且没有空格字符。使用你键盘上的箭头键来确保在1的前面和后面都没有空格或换行。
-按下Save file(保存文件)按钮。
-确保网页浏览器中的回复指示所保存的是仅有一个字节的数据。
当点击启动文件被上传,或该产品被重启时,该文件被删除。该文件将不会呈现在生成的固件中。
-上传该点击启动文件
在启动新的固件版本的构建之前,确保该产品处于期望的默认状态。
-在兼容网页浏览器中打开http://myserver/admin/kickstart.html。
-使用HTML页面中的Browse(浏览)按钮来定位定制固件点击启动文件。
-按下Start(启动)按钮。当生成新固件时,你的浏览器中应该呈现进度信息。该过程会花费几分钟,因此耐心等待,让浏览器等待回复。当已经生成固件时,生成的固件会作为应用程序/八位字节流附件而被直接发送到网页浏览器。
-在你的计算机上保存所生成的固件。
注意
当创建所生成的定制固件版本的新版本时,该新版本必须根据先前生成的定制固件版本而生成。否则,正常升级程序仅对只读文件系统进行升级,而让旧的可写文件系统保持原样,直到该产品被重置为出厂默认为止。
使用所生成的固件
-使用正常固件升级程序,通过对与生成该固件的产品具有相同型号的产品进行升级来使用所生成的固件。查阅产品手册以获得更多信息。
注意正常的固件升级会保留一些文件的参数值和内容。为了将升级后的产品设置为新定制固件的默认状态,将该产品重置为出厂默认。
提示
通过使用按钮Restore(恢复)或HTTP API http://myserver/axis-cgi/admin/factorydefault.cgi,该产品会保持其IP地址。
通过使用在http://www.axis.com/可获得的最新固件来对视频产品进行升级,然后将该最新固件设置为出厂默认,可以在任何时间将该视频产品恢复为安讯士的原始出厂默认。
因此,定制固件是使用装置本身来生成具有定制出厂默认设置的新的装置固件的一种方式。
包含特定工具的文件通过HTTP被上传,并由该装置中的CGI-脚本来接收。CGI-脚本从该文件中提取工具,并启动对生成新固件的脚本的执行,其中该装置的当前设置被用作出厂默认设置。
这样做的优点在于,与已有固件的版本发布类似,定制固件使得为非从零开始建造的装置,即不使用非装置本身的任何其它硬件的装置创建新固件成为可能。
在图6中,示出根据本发明的用于更新连接至数据网络的多个电子装置中的若干个电子装置中的固件的方法实施例。该方法包括:
根据定制公司生成的定制数据,将所述多个电子装置中的第一电子装置中的固件配置为定制公司生成的固件600,
通过使用所述第一电子装置中的固件更新文件发生器,基于所述第一电子装置中所配置的固件来生成定制公司生成的固件更新文件602,
通过数据网络从所述第一电子装置向所述多个电子装置中的若干个电子装置发送所述定制公司生成的固件更新文件604,以及
通过在所述多个电子装置中的若干个电子装置的各电子装置中执行所述定制公司生成的固件更新文件来更新所述多个电子装置中的若干个电子装置中的固件606。
可选地,配置所述多个电子装置中的第一电子装置中的固件的步骤可以通过以下步骤来实现:
通过所述数据网络从用户接口设备向所述第一电子装置发送定制公司生成的定制数据608。
可选地,该方法可进一步包括:
从用户接口设备向所述第一电子装置发送所述固件更新文件发生器610。
可选地,从所述第一电子装置向所述多个电子装置中的若干个电子装置发送所述固件更新文件的步骤可以包括以下子步骤:
从所述第一电子装置向所述用户接口设备发送所述定制公司生成的固件更新文件612,以及
从所述用户接口设备向所述多个电子装置中的若干个电子装置发送所述定制公司生成的固件更新文件614。
可选地,该方法进一步包括:一旦配置所述多个电子装置中的第一电子装置中的固件的步骤完成,立即从所述第一电子装置向所述用户接口设备发送反馈信号616。
可选地,所述多个电子装置中的若干个电子装置的各电子装置可以包括具有不可更改的分区和可更改的分区的存储器,所述方法可以进一步包括:针对所述多个电子装置中的若干个电子装置的各电子装置来标记可更改的分区中包含装置特定信息的数据段618,并且通过在所述多个电子装置中的若干个电子装置的各电子装置中执行所述定制公司生成的固件更新文件来更新所述多个电子装置的若干个电子装置的步骤可以进一步包括:利用来自所述不可更改的分区的装置特定信息来替换在所述可更改的分区中所标记的数据段620。
可选地,该方法可以进一步包括
根据用户生成的定制数据来在多个电子装置中的若干个电子装置之一中配置所述定制公司生成的固件622,其中配置所述定制公司生成的固件的步骤进一步包括
将所述定制公司生成的固件作为定制公司生成的默认固件存储在所述多个电子装置的若干个电子装置之一中的存储器中623,以及
根据所述用户定制数据由用户生成的固件来替换多个电子装置中的若干个电子装置之一中的所述定制公司生成的固件624。
可选地,该方法可以进一步包括
向所述多个电子装置中的若干个电子装置之一发送定制公司生成的默认固件请求626,以及
由所存储的定制公司生成的默认固件来替换所述多个电子装置中的若干个电子装置之一中的所述用户生成的固件628。
可选地,该方法可以进一步包括:通过所述数据网络从所述用户接口设备向所述多个电子装置中的若干个电子装置发送生产公司生成的默认固件请求630,通过所述数据网络将生产公司生成的默认固件更新文件从外部服务器下载到所述多个电子装置中的若干个电子装置632,以及通过使用所述多个电子装置中的若干个电子装置中的所述生产公司生成的默认固件来替换经过更新的固件634。
在图7中,示出根据本发明的电子装置700。电子装置700包括适于通过数据网络704使能数据的接收和发送的网络接口702,
适于存储数据的存储器706,
与所述存储器706相关联的处理器708,被配置为提供
固件配置器710,适于通过使用定制公司生成的定制数据将所述存储器中的固件配置为定制公司生成的固件,
固件更新文件发生器接收器712,适于通过所述数据网络接收固件更新文件发生器,所述固件更新文件发生器适于基于所述电子装置中所配置的固件来生成定制公司生成的固件更新文件,以及
定制公司生成的固件更新文件的发送器714,适于使能通过所述数据网络发送所述定制公司生成的固件更新文件,其中所述定制公司生成的固件更新文件适于在所述多个电子装置中的若干个电子装置中执行时更新所述多个电子装置中的若干个电子装置中的固件。
可选地,固件更新文件发生器接收器712可以被配置为使能通过所述数据网络704从用户接口设备接收所述固件更新文件发生器。
可选地,定制公司生成的固件更新文件发送器714可以被配置为使能通过所述数据网络704向所述多个电子装置中的若干个电子装置发送所述固件更新文件。
可选地,定制公司生成的固件更新文件发送器714可以被配置为使能通过所述数据网络704向用户接口设备发送所述固件更新文件。
可选地,该电子装置可以进一步包括反馈信号发送器724,所述反馈信号发送器适于从所述电子装置向所述用户接口设备发送反馈信号,其中所述反馈信号包括描述更新后的固件的信息。
可选地,存储器706可以被划分为包括加载器软件和装置特定信息的不可更改的分区716以及包括包含装置特定信息的被标记数据段的可更改的分区718,其中所述被标记数据段在执行所述定制公司生成的固件更新文件时被所述装置特定信息替换。
可选地,可更改的分区718可以被划分为包括定制公司生成的默认固件的只读分区720以及包括所述电子装置700中使用的数据和应用程序的可读且可写分区722,其中所述可读且可写分区一旦接收到定制生成的默认固件请求,即被所述定制公司生成的默认固件替换。
可选地,固件配置器710可以被配置为在用所述更新后的固件替换所述定制公司生成的固件之前存储所述定制公司生成的固件作为重置数据。
可选地,该电子装置可以进一步包括请求接收器726和固件重置控制装置728,所述请求接收器726适于通过所述数据网络接收定制公司生成的固件默认请求,所述固件重置控制装置728被配置为一旦接收到定制生成的默认固件请求,即由所存储的定制公司生成的默认固件来替换所述可读且可写分区。
可选地,该电子装置可以进一步包括,生产公司生成的默认固件接收器730和生产公司生成的默认固件控制装置732,所述生产公司生成的默认固件接收器730适于从外部服务器接收生产公司生成的默认固件,所述生产公司生成的默认固件控制装置732适于一旦接收到生产公司生成的默认固件请求,即用所接收的生产公司生成的默认固件来替换更新后的固件。
可选地,该电子装置可以是网络摄像机。
在图8中,用户接口设备800包括:适于使能通过相关联的数据网络804接收和发送数据的网络接口802、用户输入装置806、适于存储数据的存储器808、与所述存储器808相关联的处理器810,该处理器810被配置为提供定制数据发生器812和定制公司生成的定制数据发送控制装置814,定制数据发生器812适于基于通过所述用户输入装置接收的数据来生成定制公司生成的定制数据,定制公司生成的定制数据发送处理器814被配置为通过所述数据网络向第一电子装置发送所生成的定制数据。
可选地,与所述存储器808关联的处理器810可以进一步被配置为提供固件更新文件接收器816和固件更新文件分发器818,固件更新文件接收器816被配置为从所述第一电子装置接收定制公司生成的固件更新文件,固件更新文件分发器818被配置为通过所述数据网络804向多个电子装置中的若干个电子装置发送所接收的定制公司生成的固件更新文件。
可选地,用户输入设备806可以进一步被配置为通过所述数据网络804从所述用户接口设备800向外部服务器发送生产公司生成的默认固件请求,其中所述固件更新文件接收器816可以进一步被配置为从所述外部服务器接收生产公司生成的默认固件更新文件,并且其中所述固件更新文件分发器818可以进一步被配置为通过所述数据网络804向多个电子装置中的若干个电子装置发送所接收的生产公司生成的默认固件更新文件。
可选地,用户接口设备可以进一步包括反馈信号接收器820和用户输出装置822,反馈信号接收器820适于通过所述数据网络从所述第一电子装置接收反馈信号,用户输出装置822适于显示所述反馈信号。
图1示出根据本发明的系统。系统100包括数据网络106、如上所述的与数据网络106相关联的用户接口设备102、至少一个以上所述的与所述数据网络相关联的电子装置104A以及多个电子装置104B-104F,其中多个电子装置104B-104F中的各电子装置被配置为通过所述数据网络接收固件更新文件,并且
通过执行所接收的固件更新文件来更新固件。
可选地,各电子装置可以按照以上所述的内容来配置。
可选地,更新后的固件文件可以从所述多个电子装置中的至少一个电子装置发送给所述多个电子装置中类似的电子装置。
可选地,系统100可以进一步包括外部服务器108,该外部服务器108适于保存生产公司生成的默认固件更新文件,并且被配置为一旦所述用户接口设备102有请求,即向所述用户接口设备102发送所述生产公司生成的默认固件更新文件。
以上参照几个实施例主要描述了本发明。然而,本领域技术人员所容易理解,除以上所描述的几个实施例之外的其它实施例也以等同的可能性在所附的专利权利要求所限定的本发明的范围之内。

Claims (12)

1.一种生成并分发定制固件文件的方法,包括:
利用用户输入装置配置电子装置;
在所述电子装置中执行固件发生器,所述固件发生器实施以下步骤:
从所述电子装置的非易失性存储器中读取数据;其中,所述非易失性存储器被划分为分区,其中第二分区由固件文件可更改而由用户不可更改,并且其中第三分区由所述固件软件和所述用户可更改;
利用构成所述电子装置的当前配置的所述第三分区的数据的副本来替换包括在所述第二分区中的出厂默认数据,并将最后得到的数据布置在所述定制固件文件中;
经由数据网络从所述电子装置向多个电子装置发送所述定制固件文件。
2.根据权利要求1所述的方法,进一步包括:
将所述固件发生器下载到所述电子装置。
3.根据权利要求1或2所述的方法,其中配置步骤包括以下组中的至少一个步骤:
增加、删除和/或修改文件、参数默认值、脚本、网页和/或应用。
4.根据权利要求1至2中任一项所述的方法,进一步包括:所述固件发生器实施以下步骤:
使用替换指示符来替换装置特有的数据。
5.一种用于更新多个电子装置的方法,包括:
实施权利要求1至3中任一项中的步骤;
在所述多个电子装置中的每一个中执行所述定制固件文件。
6.根据权利要求5所述的方法,其中所述多个电子装置中的每一个包括具有不可更改的分区和可更改的分区的存储器,并且所述方法进一步包括:
针对所述多个电子装置中的每一个标记所述可更改的分区中包含装置特定信息的数据段;并且
其中通过在所述多个电子装置中的每一个中执行所述定制固件文件来更新所述多个电子装置的步骤包括:
利用来自所述不可更改的分区的装置特定信息来替换所述可更改的分区中的被标记数据段。
7.一种用于生成并分发定制固件文件的电子装置,所述电子装置包括:
非易失性存储器和易失性存储器;其中,所述非易失性存储器被划分为分区,其中第二分区由固件文件可更改而由用户不可更改,并且第三分区由所述固件软件和所述用户可更改;
处理器,与所述易失性存储器关联,并被配置为在所述电子装置中执行固件发生器;
所述电子装置被布置为从用户输入装置接收配置数据;
所述固件发生器被布置为:
从所述电子装置的非易失性存储器中读取数据;
利用构成所述电子装置的当前配置的所述第三分区的数据的副本来替换存储在所述第二分区中的出厂默认数据,并将最后得到的数据布置在定制固件文件中;
经由数据网络从所述电子装置向多个电子装置发送所述定制固件文件。
8.根据权利要求7所述的电子装置,其中所述配置数据包括以下组中的至少一个:
文件、参数默认值、脚本、网页和/或应用的增加、删除和/或修改。
9.根据权利要求7或8所述的电子装置,其中所述固件发生器被配置为被下载到所述电子装置。
10.根据权利要求7至8中任一项所述的电子装置,进一步包括:
所述固件发生器被布置为:
使用替换指示符来替换装置特有的数据。
11.一种用于生成并分发定制固件文件的系统,所述系统包括:
数据网络;
用户输入装置;
至少一个根据权利要求7至9中任一项所述的电子装置;以及
多个电子装置,其中所述多个电子装置中的每一个被配置为经由所述数据网络接收定制固件文本,并通过执行所接收的定制固件文件而更新固件。
12.根据权利要求11所述的系统,其中所述多个电子装置中的每一个包括:
具有不可更改的分区和可更改的分区的存储器;其中
所述定制固件文本在被执行时被布置为针对所述多个电子装置中的每一个标记所述可更改的分区中包含装置特定信息的数据段;并且
利用来自所述不可更改的分区的装置特定信息来替换所述可更改的分区中的被标记数据段。
CN201510486604.6A 2006-03-01 2007-02-27 用于对多个装置进行升级的方法及系统 Active CN105138354B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US77862106P 2006-03-01 2006-03-01
US60/778,621 2006-03-01
CNA2007800057703A CN101384997A (zh) 2006-03-01 2007-02-27 用于对多个装置进行升级的方法及系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800057703A Division CN101384997A (zh) 2006-03-01 2007-02-27 用于对多个装置进行升级的方法及系统

Publications (2)

Publication Number Publication Date
CN105138354A CN105138354A (zh) 2015-12-09
CN105138354B true CN105138354B (zh) 2019-12-13

Family

ID=38169857

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510486604.6A Active CN105138354B (zh) 2006-03-01 2007-02-27 用于对多个装置进行升级的方法及系统
CNA2007800057703A Pending CN101384997A (zh) 2006-03-01 2007-02-27 用于对多个装置进行升级的方法及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNA2007800057703A Pending CN101384997A (zh) 2006-03-01 2007-02-27 用于对多个装置进行升级的方法及系统

Country Status (6)

Country Link
US (1) US8032881B2 (zh)
EP (1) EP1830256B1 (zh)
JP (1) JP5100664B2 (zh)
KR (1) KR101471206B1 (zh)
CN (2) CN105138354B (zh)
WO (1) WO2007100288A1 (zh)

Families Citing this family (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658091B1 (en) 2002-02-01 2003-12-02 @Security Broadband Corp. LIfestyle multimedia security system
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
AU2005223267B2 (en) 2004-03-16 2010-12-09 Icontrol Networks, Inc. Premises management system
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US10313303B2 (en) 2007-06-12 2019-06-04 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US10200504B2 (en) 2007-06-12 2019-02-05 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US10444964B2 (en) 2007-06-12 2019-10-15 Icontrol Networks, Inc. Control system user interface
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US11368327B2 (en) 2008-08-11 2022-06-21 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US9191228B2 (en) 2005-03-16 2015-11-17 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US8988221B2 (en) 2005-03-16 2015-03-24 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US8963713B2 (en) 2005-03-16 2015-02-24 Icontrol Networks, Inc. Integrated security network with security alarm signaling system
US9609003B1 (en) 2007-06-12 2017-03-28 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US8635350B2 (en) 2006-06-12 2014-01-21 Icontrol Networks, Inc. IP device discovery systems and methods
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US10375253B2 (en) 2008-08-25 2019-08-06 Icontrol Networks, Inc. Security system with networked touchscreen and gateway
US10382452B1 (en) 2007-06-12 2019-08-13 Icontrol Networks, Inc. Communication protocols in integrated systems
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US10999254B2 (en) 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US9306809B2 (en) 2007-06-12 2016-04-05 Icontrol Networks, Inc. Security system with networked touchscreen
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US7378966B2 (en) * 2006-01-04 2008-05-27 Microsoft Corporation RFID device groups
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US8207822B2 (en) * 2006-06-15 2012-06-26 Microsoft Corporation Support for batching of events, and shredding of batched events in the RFID infrastructure platform
US20080001711A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Reliability of execution for device provider implementations
US9395968B1 (en) 2006-06-30 2016-07-19 American Megatrends, Inc. Uniquely identifying and validating computer system firmware
US7590835B1 (en) 2006-06-30 2009-09-15 American Megatrends, Inc. Dynamically updating a computer system firmware image
US7797696B1 (en) * 2006-06-30 2010-09-14 American Megatrends, Inc. Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure
US20080174404A1 (en) * 2007-01-23 2008-07-24 Microsoft Corporation Dynamic updates in rfid manager
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US8245219B2 (en) * 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
JP5029098B2 (ja) * 2007-03-30 2012-09-19 富士通株式会社 ネットワークシステム、端末カスタマイズ方法およびカスタマイズサービス方法
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US10389736B2 (en) 2007-06-12 2019-08-20 Icontrol Networks, Inc. Communication protocols in integrated systems
US10498830B2 (en) 2007-06-12 2019-12-03 Icontrol Networks, Inc. Wi-Fi-to-serial encapsulation in systems
US10051078B2 (en) 2007-06-12 2018-08-14 Icontrol Networks, Inc. WiFi-to-serial encapsulation in systems
US10616075B2 (en) 2007-06-12 2020-04-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10666523B2 (en) 2007-06-12 2020-05-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US10423309B2 (en) 2007-06-12 2019-09-24 Icontrol Networks, Inc. Device integration framework
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
JP4535143B2 (ja) * 2008-02-20 2010-09-01 セイコーエプソン株式会社 情報管理システム及びそれを利用した情報管理方法
US8402455B2 (en) * 2008-03-17 2013-03-19 Landis+Gyr Innovations, Inc. Methods and systems for distributing firmware through an over-the-air network
US8255896B2 (en) 2008-04-01 2012-08-28 Honeywell International Inc. Network software normalization and installation in a fire detection system
US8869140B2 (en) * 2008-05-09 2014-10-21 Sap Se Deploying software modules in computer system
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US10530839B2 (en) 2008-08-11 2020-01-07 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
CN101778022A (zh) * 2009-01-12 2010-07-14 华为终端有限公司 通用即插即用设备软件管理的方法和装置
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
CN101593119B (zh) * 2009-05-26 2013-07-03 中兴通讯股份有限公司 一种独占闪存组合设备空中固件升级方法及装置
JP2011095950A (ja) * 2009-10-29 2011-05-12 Seiko Epson Corp ネットワークデバイス、ネットワークデバイスシステムおよびネットワークデバイスのソフトウェア更新方法
TW201118731A (en) * 2009-11-18 2011-06-01 Inventec Corp Method for upadating firmware of embedded system
JP5564956B2 (ja) * 2010-01-15 2014-08-06 富士通株式会社 情報処理装置及び情報処理装置のファームウェア更新方法
US8495497B2 (en) * 2010-01-28 2013-07-23 International Business Machines Corporation Graphical guides to aid user selection of groups of instruction packages
CN102156638A (zh) * 2010-02-11 2011-08-17 崴联科技股份有限公司 客制化软件源码的更新方法
US20110246977A1 (en) * 2010-03-31 2011-10-06 Leviton Manufacturing Co., Inc. Control system code installation and upgrade
AU2011250886A1 (en) 2010-05-10 2013-01-10 Icontrol Networks, Inc Control system user interface
CN101901160B (zh) * 2010-08-11 2015-06-03 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN101924607B (zh) * 2010-08-27 2013-01-23 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及系统
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US11750414B2 (en) * 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
CN102316439B (zh) * 2011-09-09 2017-11-24 中兴通讯股份有限公司 一种实现用户侧设备的固件升级方法和系统
JP5786613B2 (ja) * 2011-09-30 2015-09-30 ブラザー工業株式会社 管理装置
JP5786612B2 (ja) 2011-09-30 2015-09-30 ブラザー工業株式会社 管理装置
CN104317623B (zh) * 2011-12-13 2016-09-28 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
CN102521031B (zh) 2011-12-13 2014-11-05 华为终端有限公司 移动终端预置应用程序的管理方法和移动终端
US9141370B1 (en) * 2012-07-30 2015-09-22 Google Inc. Updating control devices in a data center
JP6094152B2 (ja) * 2012-11-08 2017-03-15 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
CN103826080B (zh) * 2012-11-16 2018-02-16 杭州海康威视数字技术股份有限公司 对硬盘录像机进行批量升级的方法及系统
US9439567B2 (en) * 2013-02-06 2016-09-13 Abraham Carter Updating firmware to customize the performance of a wearable sensor device for a particular use
US8918778B2 (en) * 2013-04-17 2014-12-23 American Megatrends, Inc. Method of fail safe flashing management device and application of the same
WO2015001614A1 (ja) * 2013-07-02 2015-01-08 富士通株式会社 マシン提供方法,マシン提供システム,およびマシン提供プログラム
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
CN103853587A (zh) * 2014-03-18 2014-06-11 浪潮集团有限公司 一种基于cramfs和jffs2的烧写flash的方法
KR101950445B1 (ko) * 2015-01-19 2019-02-20 엘에스산전 주식회사 태양광 발전 시스템
EP3365861A4 (en) * 2015-10-19 2019-04-24 Merit Medical Systems, Inc. SYSTEMS AND METHOD FOR PRODUCING MEDICAL DEVICES
KR20170088618A (ko) * 2016-01-25 2017-08-02 한화테크윈 주식회사 장비 관리 장치 및 방법
CN106250175A (zh) * 2016-07-21 2016-12-21 广东欧珀移动通信有限公司 一种应用的升级方法及终端设备
US10120678B2 (en) * 2016-11-15 2018-11-06 Dell Products, L.P. Firmware update control mechanism using organizational groups
US10528708B2 (en) * 2016-12-16 2020-01-07 International Business Machines Corporation Prevention of unauthorized resource updates
CN107992310B (zh) * 2017-11-15 2021-07-13 惠州市蓝微电子有限公司 一种实现bq电量管理芯片快速测试的方法和设备
CN108549555A (zh) * 2018-04-10 2018-09-18 Tcl通力电子(惠州)有限公司 客制化软件的处理方法、嵌入式系统设备及存储介质
JPWO2020003379A1 (ja) * 2018-06-26 2020-07-27 日立ジョンソンコントロールズ空調株式会社 保守システム、保守用基板およびデータ書込方法
CN110895477B (zh) * 2018-09-13 2023-06-02 杭州海康威视数字技术股份有限公司 一种设备启动方法、装置及设备
CN109656597A (zh) * 2018-12-19 2019-04-19 广东美的暖通设备有限公司 固件升级方法、装置及计算机可读存储介质
CN113330438A (zh) 2019-01-30 2021-08-31 惠普发展公司,有限责任合伙企业 安全代码映像分发
CN111045524B (zh) * 2019-11-22 2022-01-18 联想(北京)有限公司 一种控制方法及装置
CN117519742A (zh) * 2022-01-10 2024-02-06 荣耀终端有限公司 操作系统升级方法、电子设备、存储介质及芯片系统
US11797295B1 (en) * 2023-07-14 2023-10-24 Auradine, Inc. Separate firmware to fixed and removable storages

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588312A (zh) * 2004-08-31 2005-03-02 北京智凯办公自动化设备有限公司 打印机程序及参数设置的远程更新方法及系统
CN1610883A (zh) * 2001-08-24 2005-04-27 皇家飞利浦电子股份有限公司 升级在只读存储器中保存的软件
CN1711747A (zh) * 2002-11-12 2005-12-21 创道软件有限公司 包括从升级中发生的故障和错误自动恢复的电子文件升级

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01201755A (ja) * 1988-02-08 1989-08-14 Nec Corp マルチデバイスアダプタ
JPH04226437A (ja) * 1990-08-13 1992-08-17 Olympus Optical Co Ltd カメラ
US5828911A (en) * 1993-05-24 1998-10-27 Olympus Optical Co., Ltd. One chip microcomputer built-in system
JP3721253B2 (ja) * 1997-11-28 2005-11-30 株式会社日立製作所 クライアント計算機における環境設定方法
US6360362B1 (en) * 1998-02-20 2002-03-19 Intel Corporation Automatic update of camera firmware
CA2414281C (en) * 2000-11-17 2009-06-02 Bitfone Corporation System and method for updating and distributing information
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US20030018759A1 (en) * 2001-07-17 2003-01-23 International Business Machines Corporation Method and system for performing computer system cloning
US7111055B2 (en) * 2001-08-30 2006-09-19 Sun Microsystems, Inc. Method and apparatus to facilitate automated software installation on remote computers over a network
US20040040023A1 (en) * 2002-08-22 2004-02-26 Ellis David G. Remote identification loader
JP2004118586A (ja) * 2002-09-26 2004-04-15 Murata Mach Ltd 管理装置およびそのプログラム
JP2004164625A (ja) * 2002-10-21 2004-06-10 Matsushita Electric Ind Co Ltd 通信端末および通信システム
AU2003284292A1 (en) * 2002-10-21 2004-05-13 Bitfone Corporation System with required enhancements to syncml dm environment to support firmware updates
JP2004227143A (ja) * 2003-01-21 2004-08-12 Pioneer Electronic Corp 情報処理装置および情報処理方法
US7219343B2 (en) * 2003-04-10 2007-05-15 International Business Machines Corporation Firmware update mechanism in a multi-node data processing system
TWI220195B (en) * 2003-07-10 2004-08-11 Benq Corp Device to be updated using a disk label to update firmware and method using a disk label to update firmware
US20050010913A1 (en) * 2003-07-11 2005-01-13 Chih-Wei Chen Computer code upgrading method and system
US20050044548A1 (en) * 2003-08-20 2005-02-24 John Page Efficient replication of embedded operating system with a write filter and overlay partition
CN1849576B (zh) * 2003-09-11 2010-06-09 皇家飞利浦电子股份有限公司 从存储媒体中检索数据的方法、装置及系统
WO2005031570A1 (en) * 2003-09-26 2005-04-07 Bitfone Corporation Update package catalog for update package transfer between generator and content server in a network
US7562360B2 (en) * 2003-12-01 2009-07-14 Texas Instruments Incorporated Method and system for firmware downloads
US7809836B2 (en) * 2004-04-07 2010-10-05 Intel Corporation System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system
TWI238355B (en) * 2004-05-06 2005-08-21 Lite On It Corp Firmware updating method
US7600006B2 (en) * 2004-08-31 2009-10-06 Inter-Tel, Inc Peer-to-peer distribution of firmware
US20070067419A1 (en) * 2005-09-19 2007-03-22 Bennett James D Dedicated client devices supporting web based service, specifications and interaction

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610883A (zh) * 2001-08-24 2005-04-27 皇家飞利浦电子股份有限公司 升级在只读存储器中保存的软件
CN1711747A (zh) * 2002-11-12 2005-12-21 创道软件有限公司 包括从升级中发生的故障和错误自动恢复的电子文件升级
CN1588312A (zh) * 2004-08-31 2005-03-02 北京智凯办公自动化设备有限公司 打印机程序及参数设置的远程更新方法及系统

Also Published As

Publication number Publication date
WO2007100288A1 (en) 2007-09-07
EP1830256A1 (en) 2007-09-05
CN105138354A (zh) 2015-12-09
KR20080098437A (ko) 2008-11-07
US20070250830A1 (en) 2007-10-25
KR101471206B1 (ko) 2014-12-12
JP2009530694A (ja) 2009-08-27
US8032881B2 (en) 2011-10-04
EP1830256B1 (en) 2014-08-13
JP5100664B2 (ja) 2012-12-19
CN101384997A (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
CN105138354B (zh) 用于对多个装置进行升级的方法及系统
AU725581B2 (en) Updating mechanism for software
US5752042A (en) Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
US7430736B2 (en) Download and installation of software from a network printer
US8037198B2 (en) Firmware upgrade for thin clients using one or more servers
US9146729B2 (en) Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file
US8819670B2 (en) Automated software installation with interview
US20100218178A1 (en) Firmware updating apparatus, firmware updating method, and storage medium
EP2668589B1 (en) Generating and validating custom extensible markup language (xml) configuration on a client embedded image
WO2012102909A1 (en) Transferring configuration data from a public cloud server and applying onto a mobile client
WO2012102911A1 (en) State-based provisioning of a client having a windows-based embedded image
WO2001080023A1 (en) A system and method for upgrading networked devices
EP2668559A1 (en) Configuring and customizing a specific-purpose client having a window-based embedded image using extensible markup language (xml) configuration
JP2007264901A (ja) ソフトウェア管理装置、ソフトウェア管理システム、ソフトウェア管理方法及びソフトウェア管理プログラム
JP4576130B2 (ja) 通信系アプリケーションプログラムのバージョン更新方法及びそのプログラム
JP2004038296A (ja) 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体
Cisco CiscoView 4.0(1) on AIX CD Installation Instructions
Cisco CiscoView 4.0(1) on AIX CD Installation Instructions
Cisco CiscoView CD Installation Instructions for AIX
Cisco CiscoView CD Installation Instructions for AIX
Cisco Working with the IOS File System, Configuration Files, and Software Images
JP6541484B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP7051601B2 (ja) 管理装置、管理装置の制御方法、及びプログラム
AU2013200859B2 (en) Method and system for managing data and a corresponding computer program and a corresponding computer-readable storage medium
Schultschik About the Integration of Mac OS X Devices into a Centrally Managed UNIX Environment.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant