专利名称:用于管理可移动媒体设备的固件的装置和方法
技术领域:
本发明涉及用于管理可移动媒体设备的固件的装置和方法,尤其涉及用于根据可移动媒体设备的检测到的关键字值来自动更新可移动媒体设备的固件的装置和方法。
背景技术:
当前的可移动媒体设备或可移动存储设备通常通过例如通用串行总线(USB)与计算机连接,并用于与计算机交换数据。USB是一种串行端口,并常常被称为即插即用接口,它允许将诸如音频播放器、操纵杆、键盘、电话机之类的外围设备简单地插入计算机中。
另外,USB接口比典型的串行端口更快且更便于连接。例如,USB版本1.1支持每秒12Mbps的速度,而USB 2.0支持每秒480Mbps的速度。USB接口还能最多互连128个设备。另外,USB接口即使在计算机正在使用时也能立即识别出新添加的设备,且不需要单独的电源。另外,计算机通常具有两个能用USB集线器分成更多端口的USB端口,从而计算机能与多个外围设备连接。下文将通过USB接口连接的可移动媒体设备称为“USB设备”。
现参见图1——用于更新USB设备的固件的相关技术过程的流程图。如图所示,为了更新USB设备的固件,用户首先通过因特网,从光盘(CD)等,或从预先由USB设备的制造商提供的固件文件,下载并存储用于更新USB设备的固件文件(步骤101)。
然后,用户将USB设备连接至计算机(步骤S102),并将存储在计算机上的固件文件传送至USB设备(步骤S103)。另外,USB设备确定所接收到的固件文件的版本是否比当前运行的固件版本新(步骤S104)。
当所接收到的固件文件是较新的版本时(步骤S104中的是),则USB设备将所接收到的固件文件存储在缓冲器中(步骤S105)。另外,还将用于升级固件版本的升级程序存储在缓冲器中(步骤S106)。
然后,USB设备执行该升级程序,以删除当前的固件文件(S107),并将新的固件文件存储在闪存中(步骤S109)。当固件文件的新版本已被存储在闪存中时,用新的固件驱动USB设备(步骤S109)。然而,当所接收到的固件文件不是较新的版本时(步骤S104中的否),则终止该更新过程。
因此,根据相关技术固件更新过程,用户必须首先例如通过访问USB设备的制造商的主页来确定是否存在固件的较新的版本。另外,较新的版本在其能在USB设备上被更新之前必须首先被下载并存储在计算机上。因此,不便于用户更新USB设备的固件。另外,没有办法防止固件的版权版本被非法复制到计算机上。
发明内容
因此,本发明的一个目的是解决上述和其它问题。
本发明的另一目的是提供一种用于管理诸如MP3播放器之类的可移动媒体设备的固件的方法和装置。
本发明的又一目的是提供一种用于自动更新可移动媒体设备的固件的方法和装置。
本发明的再一目的是提供一种用于防止某人非法更新可移动媒体设备的固件的方法和装置。
为了实现这些和其它优点并根据本发明的目的,如本文所具体化并广义地描述的,本发明在一个方面提供一种用于管理可移动媒体设备的固件的方法。该方法包括检测可移动媒体设备的关键字值,核查所检测到的关键字值是否存储在可移动媒体设备所连接的计算机上,如果所检测到的关键字值存储在计算机上,则确定存储在与计算机连接的服务器上的固件的版本是否晚于可移动媒体设备上的固件的版本,并当所述确定步骤确定服务器上的固件的版本是较晚的版本时将服务器上所存储的固件的版本安装到可移动媒体设备上。
根据另一方面,本发明提供至少一个可记录介质上的一种用于管理可移动媒体设备的固件的计算机程序产品。该计算机程序产品包括第一计算机代码,它被配置成检测可移动媒体设备的关键字值;第二计算机代码,它被配置成核查所检测到的关键字值是否存储在可移动媒体设备所连接的计算机上;第三计算机代码,它被配置成如果所检测到的关键字值存储在计算机上,则确定存储在与计算机连接的服务器上的固件的版本是否晚于可移动媒体设备上的固件的版本;和第四计算机代码,它被配置成当所述第三计算机代码确定服务器上的固件的版本是较晚的版本时将服务器上所存储的固件的版本安装到可移动媒体设备上。
本发明的其它适用性范围将通过下文给出的详细说明而变得明显。然而,应理解,详细说明和具体例子虽然指示本发明的较佳实施例,但只是通过示例的方法给出的,因为通过此详细说明,本发明的精神和范围内的各种变化和修改对本领域的技术人员将变得显而易见。
通过下列结合附图的详细说明,本发明的上述和其它目的、特征和优点将变得更明显,附图中图1为用于更新USB设备的固件的相关技术过程的流程图,图2(a)为按照本发明的一个实施例的用于自动更新USB设备的固件的装置的概图,图2(b)为图2(a)中所示的USB设备管理器单元的框图,图3示出包括与固件版本有关的信息的USB描述符文件的一个例子,图4示出从USB设备传送至主机的、包括USB设备的固件版本信息的数据格式的一个例子,以及图5是按照本发明的一个实施例的用于自动更新USB设备的固件的方法的流程图。
具体实施例方式
下面将参照附图更详细地描述按照本发明的一个实施例的用于管理USB设备的固件的方法和装置。
更具体来说,图2(a)为按照本发明的一个实施例的用于自动更新USB设备的固件的装置的概图。如图所示,计算机200通过USB接口与能存储数据的USB设备100连接。计算机200还通过因特网与存储USB设备的最晚的固件文件的服务器300连接。另外,计算机200包括USB设备管理器单元210和因特网连接器单元220。另外,USB设备管理器单元210识别USB设备100何时被连接并自动更新USB设备100的固件。因特网连接器单元220通过因特网将计算机200连接至服务器300。
另外,USB设备100包括存储用于操作设备的固件、用于更新固件的更新程序等的闪存。服务器300存储包括USB设备200的最晚的固件版本在内的多个固件文件,并响应于来自计算机200的请求传送固件文件。所传送的固件文件对应于用于操作USB设备100的操作程序。因此,当USB设备100已通过USB接口连接至计算机200时,USB设备管理器单元210确定USB设备100的当前固件和存储在服务器300中的固件的最晚的版本。
另外,USB设备100用USB描述符文件存储并管理它自己的固件版本。更具体来说,USB描述符文件包括使计算机200能识别USB设备100已被连接的各种信息。USB描述符文件还包括关于固件版本的信息,当USB设备100与计算机200连接时,该信息也能被自动注册在计算机200的注册表中。另外,固件信息还可作为单独的文本文档存储在USB设备100上。
另外,USB设备管理器单元210将所连接的USB设备100的固件版本与服务器300中所管理的固件版本相比较。当服务器300上所存储的固件文件的版本比USB设备100上的固件版本新时,USB设备管理器单元210下载服务器300上所存储的固件文件,并为USB设备100执行固件更新过程。
现参见图2(b),它是图2(a)中所示的USB设备管理器单元210的框图。USB设备管理器单元210的功能可以用硬件模块或软件程序来实现,并且可以在单个模块中合并和实现类似的功能。
如图2中所示,USB设备管理器单元210包括USB连接单元211,用于检测和识别连接的USB设备100;USB设备版本确认单元212,用于确定USB设备100上的固件的当前版本;更新确定单元213,用于确定是否需要将固件更新成较新的版本;更新执行单元214,用于执行固件更新过程;服务器连接单元215,用于通过因特网将计算机200连接至服务器300;服务器版本确认单元216,用于确定服务器300上所存储的固件文件的版本;下载单元217,用于下载服务器300上所存储的固件文件;和存储单元218,用于将所下载的固件文件和合适的固件更新程序一起存储。
另外,USB连接单元211和服务器连接单元215可以被合并成单个连接单元,且USB设备版本确认单元212和服务器版本确认单元216可以被合并成单个版本确认单元。类似地,更新确定单元213和更新执行单元214可以被合并成单个更新单元。
另外,USB连接单元211检测USB设备110何时与计算机200连接,并与USB设备100交换数据。USB设备版本确认单元212分析从连接的USB设备100传送的USB描述符文件,并核查所传送的USB描述符中所包括的固件版本。
更详细地说,图3示出包括固件版本信息的USB描述符文件的一个例子,而图4示出从USB设备100传送的数据格式的一个例子。在图3中,USB描述符文件中具有偏移值15的“iProduct”字段除了USB设备100的名称外还包括固件版本信息。另外,如图4中所示,可以将固件版本信息另外插入到处于从USB设备100传送的数据格式的最低字节(字节号32-34)的“ProductRevision Level”字段中。
另外,USB连接单元211从USB设备100接收USB描述符文件,而USB设备版本确认单元212确定USB描述符文件中所包括的版本信息。另选地,USB设备版本确认单元212通过接收作为文本类型文档(例如,作为“version.ini”或“version.txt”)存储在USB设备100的分离的存储空间中的固件信息来确定USB设备100的固件版本。分离的存储空间可以是嵌入诸如MP3播放器、便携式多媒体播放器(PMP)、便携式媒体中心(PMC)、移动电话、电子字典等USB设备的主存储空间的一部分,或是电可擦可编程只读存储器(EEPROM)或USB设备中分离的闪存的一部分区域。
另外,当USB设备100已与计算机200连接时,USB设备管理器单元210向用户报告所确认的USB设备的名称和/或固件版本信息,从而用户能确认所报告的信息。例如,可以将USB设备的名称和/或固件版本信息显示在USB设备100的显示屏上以通知用户。
另外,服务器连接单元215通过因特网与服务器300连接,而服务器版本确认单元216确定服务器300上所存储的固件文件的版本。在USB设备版本确认单元212确定USB设备100的固件版本且服务器版本确认单元216确定服务器300上所存储的固件文件的版本之后,更新确定单元213将USB设备100的固件版本与服务器300上所存储的版本相比较,然后确定是否需要更新USB设备100的固件。当需要更新时,下载单元217从服务器300下载新的固件版本。
现参见图5,它是按照本发明的一个实施例的用于自动更新USB设备的固件的方法和流程图。如图所示,当USB设备100与计算机200连接时(步骤S501),USB连接单元211通过接收从USB设备100传送的USB描述符文件识别USB设备100,而USB设备版本确认单元212确定所接收到的USB描述符文件中所包括的USB设备100的固件的版本信息(步骤S502)。
在从USB连接单元211接收到USB设备100已被连接的报告之后,服务器连接单元215通过因特网与服务器300连接,而服务器版本确认单元216确定服务器300上所存储的USB设备100的固件版本(步骤S503)。
然后,更新确定单元213将USB设备100的固件的版本与服务器300上所存储的固件版本相比较,并确定是否需要执行固件更新过程(步骤S504)。即,步骤S504在服务器300上所存储的固件文件的版本比USB设备100的当前固件版本新时确定需要执行固件更新过程。作为步骤S504中的确定的结果,当需要执行固件更新过程时(步骤S504中的是),下载单元217从服务器300下载新的固件文件(步骤S505)并将所下载的文件存储在存储单元218中。
然后,更新执行单元214删除USB设备100的闪存中所存储的现有的固件(步骤S506),并将存储单元218中所存储的新版本的固件文件存储在USB设备100的闪存上(步骤S507)。此后,更新执行单元214用新的固件重新启动USB设备100(步骤S508),从而完成固件更新过程。
另外,当将固件信息作为文本类型文件存储在USB设备100的分离的存储空间中时,更新执行单元214生成包含要更新的固件的新版本信息的文本类型文件,并将所生成的文件记录在USB设备100的分离的存储空间中。包含新的固件版本信息的文件可以代替在USB设备100的分离的存储空间中所存储的前一固件版本信息文件而被记录,或者可用对前一固件版本信息文件的另一文件名来另外记录。
根据如上所述的本发明的实施例,USB设备管理器单元210将用于执行USB设备100的更新的程序存储在存储单元218中,从而更新执行单元214能更新USB设备100的固件。然而,根据USB设备100的类型,存在各种用于执行更新的方法。例如,USB设备管理器单元210可以调用预先存储在USB设备100的闪存中的更新程序并将其用于更新过程。
USB设备管理器单元210还能将更新过程设置成在引导计算机200时自动执行,由用户启动,或当USB设备100与计算机200连接时自动启动。另外,当计算机200与USB设备100连接时,USB设备管理器单元210可周期性地执行步骤S502-S508,以将USB设备100的固件更新成包括新的固件。
另外,在另一实施例中,本发明提供一种用于管理可移动媒体设备的固件的方法。该方法包括检测可移动媒体设备的关键字值,核查所检测到的关键字值是否存储在可移动媒体设备所连接的计算机上,如果所检测到的关键字值存储在计算机上,则确定存储在与计算机连接的服务器上的固件的版本是否晚于可移动媒体设备上的固件的版本。这些步骤可以在图5的步骤S504中执行。该方法还包括当所述确定步骤确定服务器上的固件的版本是较晚的版本时将服务器上所存储的固件的版本安装在可移动媒体设备上(步骤S505-S506)。
另外,关键字值较佳地包括可移动媒体设备的产品标识(pid)或厂商标识(vid),可移动媒体设备可以通过通用串行总线(USB)与计算机连接,且关于可移动媒体设备上的固件的版本的信息可以被存储在通用串行总线(USB)描述符中。
另外,关于可移动媒体设备上的固件的版本的信息可以用文本形式存储在USB描述符中,或作为单独的文本文件存储在可移动媒体设备的存储器的一部分中。另外,存储器可包括例如主存储空间、电可擦可编程只读存储器(EEPROM)、嵌入可移动媒体设备中的闪存等。还可向用户提示确认将服务器上所存储的固件的版本安装到可移动媒体设备上。可移动媒体设备还可包括例如MP3播放器、便携式多媒体播放器(PMP)、便携式媒体中心(PMC)、移动电话、配备有USB接口的电子字典等。
该方法还包括在计算机上所存储的表格中搜索可移动媒体设备的关键字值,并从表格中读取对应于可移动媒体设备的关键字值的最佳版本。
另外,如果最佳版本与服务器上所存储的固件的较晚的版本一致,则将服务器上所存储的固件的较晚的版本安装到可移动媒体设备上,而如果最佳版本与服务器上所存储的固件的较晚的版本不一致,则不将服务器上所存储的固件的较晚的版本安装到可移动媒体设备上。
根据如上所述的本发明,能将可移动媒体设备的固件自动更新成最新的版本,且可移动媒体设备在它与主机连接时能用最新版本的固件操作。另外,可以保护用户不受固件文件的非法复制。
如计算机领域的技术人员所显而易见的,可以方便地用传统的通用数字计算机或按照本说明书编程的微处理器来实现本发明。如计算机领域的技术人员所显而易见的,有技能的程序设计员可以根据本公开的内容容易地准备合适的软件编码。如计算机领域的技术人员所显而易见的,本发明还可以通过准备专用集成电路以将传统的计算机电路的适合的网络互连来实现。
在通用计算机或微处理器上所实现的本发明的任何部分包括计算机程序产品,该产品是包括能用于将计算机编程以执行本发明的过程的指令的存储介质。存储介质可包括,但不限于,包括软盘、光盘、CD-ROM和磁光盘在内的任何类型的盘、ROM、RAM、EPROM、EEPROM、磁或光卡或适用于存储电子指令的任何类型的介质。
虽然出于示例已描述了本发明的较佳实施例,但本领域的技术人员将理解,可能有各种修改、添加和替换而不偏离所附权利要求中所公开的本发明的范围和精神。
权利要求
1.一种用于管理可移动媒体设备的固件的方法,包括检测可移动媒体设备的关键字值,核查所检测到的关键字值是否存储在可移动媒体设备所连接的计算机上,如果所检测到的关键字值存储在计算机上,则确定存储在与计算机连接的服务器上的固件的版本是否晚于可移动媒体设备上的固件的版本,以及当所述确定步骤确定服务器上的固件的版本是较晚的版本时,将服务器上所存储的固件的版本安装在可移动媒体设备上。
2.如权利要求1所述的方法,其特征在于,所述关键字值包括可移动媒体设备的产品标识(pid)或厂商标识(vid)。
3.如权利要求1所述的方法,其特征在于,所述可移动媒体设备通过通用串行总线(USB)与计算机连接。
4.如权利要求3所述的方法,其特征在于,关于所述可移动媒体设备上的固件的版本的信息被存储在通用串行总线(USB)描述符中。
5.如权利要求4所述的方法,其特征在于,关于所述可移动媒体设备上的固件的版本的信息以文本形式被存储在USB描述符中。
6.如权利要求1所述的方法,其特征在于,关于所述可移动媒体设备上的固件的版本的信息以单独的文本文件被存储在可移动媒体设备的存储器的一部分中。
7.如权利要求6所述的方法,其特征在于,所述存储器包括主存储空间、电可擦可编程只读存储器(EEPROM)和嵌入可移动媒体设备中的闪存中的至少一个。
8.如权利要求1所述的方法,其特征在于,还包括当所述确定步骤确定所述服务器上所存储的固件的版本是较晚的版本时,在计算机上显示关于服务器上所存储的固件的版本晚于可移动媒体设备上的固件的版本的信息。
9.如权利要求8所述的方法,其特征在于,所述在计算机上显示的信息请求用户确认将服务器上所存储的固件的版本安装到可移动媒体设备上的步骤。
10.如权利要求1所述的方法,其特征在于,所述可移动媒体设备是MP3播放器、便携式多媒体播放器(PMP)、便携式媒体中心(PMC)、移动电话和配有USB接口的电子字典中的一个。
11.如权利要求1所述的方法,其特征在于,所述确定步骤还包括在计算机上所存储的表格中搜索可移动媒体设备的关键字值,以及从表格中读取对应于可移动媒体设备的关键字值的最佳版本。
12.如权利要求11所述的方法,其特征在于,如果所述最佳版本与服务器上所存储的固件的较晚的版本一致,则所述安装步骤将服务器上所存储的固件的较晚的版本安装到可移动媒体设备上,而如果所述最佳版本与服务器上所存储的固件的较晚的版本不一致,则不将服务器上所存储的固件的较晚的版本安装到可移动媒体设备上。
13.至少一个可记录介质上的一种用于管理可移动媒体设备的固件的计算机程序产品,所述计算机程序产品包括第一计算机代码,它被配置成检测可移动媒体设备的关键字值;第二计算机代码,它被配置成核查所检测到的关键字值是否存储在可移动媒体设备所连接的计算机上;第三计算机代码,它被配置成如果所检测到的关键字值存储在计算机上,则确定存储在与计算机连接的服务器上的固件的版本是否晚于可移动媒体设备上的固件的版本;以及第四计算机代码,它被配置成当所述第三计算机代码确定服务器上的固件的版本是较晚的版本时将服务器上所存储的固件的版本安装在可移动媒体设备上。
14.如权利要求13所述的计算机程序产品,其特征在于,所述关键字值包括所述可移动媒体设备的产品标识(pid)或厂商标识(vid)。
15.如权利要求13所述的计算机程序产品,其特征在于,所述可移动媒体设备通过通用串行总线(USB)与计算机连接。
16.如权利要求15所述的计算机程序产品,其特征在于,关于所述可移动媒体设备上的固件的版本的信息被存储在通用串行总线(USB)描述符中。
17.如权利要求15所述的计算机程序产品,其特征在于,关于所述可移动媒体设备上的固件的版本的信息以文本形式被存储在USB描述符中。
18.如权利要求13所述的计算机程序产品,其特征在于,关于所述可移动媒体设备上的固件的版本的信息以单独的文本文件被存储在可移动媒体设备的存储器的一部分中。
19.如权利要求18所述的计算机程序产品,其特征在于,所述存储器包括主存储空间、电可擦可编程只读存储器(EEPROM)和嵌入可移动媒体设备中的闪存中的至少一个。
20.如权利要求13所述的计算机程序产品,其特征在于,还包括第五计算机代码,它被配置成当所述第三计算机代码确定所述服务器上所存储的固件的版本是较晚的版本时,在计算机上显示关于服务器上所存储的固件的版本晚于可移动媒体设备上的固件的版本的信息。
21.如权利要求20所述的计算机程序产品,其特征在于,所述在计算机上显示的信息请求用户确认第四计算机代码将服务器上所存储的固件的版本安装到可移动媒体设备上。
22.如权利要求13所述的计算机程序产品,其特征在于,所述可移动媒体设备是MP3播放器、便携式多媒体播放器(PMP)、便携式媒体中心(PMC)、移动电话和配有USB接口的电子字典中的一个。
23.如权利要求13所述的计算机程序产品,其特征在于,还包括第五计算机代码,它被配置成在计算机上所存储的表格中搜索可移动媒体设备的关键字值,以及第六计算机代码,它被配置成从表格中读取对应于可移动媒体设备的关键字值的最佳版本。
24.如权利要求23所述的计算机程序产品,其特征在于,如果所述最佳版本与服务器上所存储的固件的较晚的版本一致,则所述第四计算机代码将服务器上所存储的固件的较晚的版本安装到可移动媒体设备上,而如果所述最佳版本与服务器上所存储的固件的较晚的版本不一致,则不将服务器上所存储的固件的较晚的版本安装到可移动媒体设备上。
25.如权利要求13所述的计算机程序产品,其特征在于,所述计算机程序产品在计算机上执行。
全文摘要
一种用于管理可移动媒体设备的固件的方法,包括检测可移动媒体设备的关键字值,核查所检测到的关键字值是否存储在可移动媒体设备所连接的计算机上,如果所检测到的关键字值存储在计算机上,则确定存储在与计算机连接的服务器上的固件的版本是否晚于可移动媒体设备上的固件的版本,并且当所述确定步骤确定服务器上的固件的版本是较晚的版本时,将服务器上所存储的固件的版本安装在可移动媒体设备上。
文档编号G06F9/445GK1855050SQ200610077700
公开日2006年11月1日 申请日期2006年4月29日 优先权日2005年4月29日
发明者崔成昊 申请人:Lg电子株式会社