固件代理的制作方法_2

文档序号:8207698阅读:来源:国知局
。在框202,计算布置100可被通电。从框202,过程200可进行到框204。在框204,固件代理104可确定计算布置100是否具有新设备118或具备更新的设备固件的设备118。固件代理104可经由多种已知技术来确定新设备118的存在,例如,通过枚举在计算环境102中附连到各种总线(未示出)的设备。固件代理104还可通过与OS 116和/或设备驱动器122核对、或者通过检查由OS 116和/或设备驱动器122维护的数据结构来确定某设备固件是否已经更新。
[0016]在确定新设备或至少一个更新的设备固件的存在时,过程200可进行到框206。在框206,固件代理104可从一个或多个设备驱动器122或存储装置114获得新的或更新的固件。对于后一情况,可由一个或多个设备驱动器122将新的或更新的固件的一个或多个位置提供给固件代理104。
[0017]从框206,过程200可以可选地进行到框208,或者不执行框208的操作而直接进行到框210。在框208,对于安全性更敏感的实施例,固件代理104可认证提供的固件。可使用本领域已知的多个认证技术中的任一个来执行认证。在框210,在成功认证或不认证时(取决于实现),固件代理104可将提供的固件存储在存储装置106中(如先前描述,在一些实施例中,所述存储装置106可以是安全存储装置)。
[0018]从框210,过程200可返回到框204以确定是否存在要获得的附加的新的或更新的设备固件,并且如果需要,则重复框206-210的操作。在确定不存在(附加的)新的或更新的设备固件时,过程200可进行到框212,过程可在那里结束。
[0019]在备选实施例中,在接收到存储装置114中存储的固件126的更新时,可由对应的设备驱动器122来触发在存储装置106中存储的固件126的更新,而不是使固件代理104确定一个或多个设备的固件是否已经更新并且着手获得更新的版本(利用或不利用认证)。
[0020]图3按照本公开的各种实施例,示出用于由固件代理向设备提供固件的过程。过程300可在框302开始。在框302,固件代理104可对于设备118的通电事件进行监视。当没有检测到设备通电事件时,过程300可停留在框302,并且循环直到这样的事件被检测到。
[0021]在检测到设备118的通电事件时,过程300可从框302进行到框304。在框304,固件代理104可从存储装置106取回设备的固件126,并且向设备118提供固件126。通过如此做,固件126可更有效率地被提供给设备118。在实施例中,在框304,在取回固件126并且向设备118提供固件126之前,固件代理104可进一步将来自功率管理代理124的通电信号转发到设备118。在实施例中,固件代理104还可将来自功率管理代理124的断电信号转发到设备118 (未不出)。
[0022]图4按照本公开的各种实施例,示出与固件代理结合的示例计算设备。如所示,计算设备400可包括多个处理器或处理器核402、一个或多个协处理器414和系统存储器404。为了包括权利要求的本申请,除非上下文另外明确要求,否则术语“处理器”和“处理器核”可视作同义的。另外,计算设备400可包括大容量存储设备406 (诸如磁盘、硬盘驱动器、压缩盘只读存储器(CD-ROM)等等)、输入/输出设备408(诸如显示器、键盘、光标控制器等等)、通信接口 410(诸如网络接口卡、调制解调器等等)和安全引擎416(如先前所描述,具有固件代理和存储装置)。元件可经由可表示一个或多个总线的系统总线412互相耦合。在多个总线的情况中,它们可由一个或多个总线桥(未示出)桥接。
[0023]除元件416以外,这些元件402-414的构成是已知的,并且因此将不再进一步描述。安全引擎416可以是具有其自己的一个或多个处理器的固化嵌入式控制器或者信任的执行环境。安全引擎416中的固件代理可通过由安全引擎416的一个或多个处理器支持的汇编指令或诸如例如C(其能够被编译成这样的指令)之类的高级语言来实现。
[0024]在工厂或现场中,可通过例如诸如压缩盘(CD)之类的分发介质(未示出)、或者(从分发服务器(未示出))通过通信接口 410,将编程指令放置到安全引擎416中。换言之,可采用具有固件代理的实现的一个或多个分发介质以促进其分发。
[0025]图5按照本公开的各种实施例,示出具有配置成实施参照图2-3的过程的所有或所选方面的指令的示例非暂时计算机可读存储介质。如所示,非暂时计算机可读存储介质502可包括多个编程指令504。编程指令504可配置成使设备(例如,计算设备400)能够响应于编程指令的执行以执行图2-3的各种流程的各种操作。在备选实施例中,编程指令504可改为被布置在多个非暂时计算机可读存储介质502上。
[0026]因此,公开的实施例包括具有设备和处理器的装置,所述处理器与设备耦合,接管包括设备和设备的设备驱动器的计算环境。装置还可包括在计算环境的外部布置并且与设备耦合的固件代理,固件代理代表设备驱动器在设备通电时向设备提供固件。
[0027]在实施例中,设备可以是编码器、解码器、图形单元、收发器或全球定位系统中的所选的一个。计算环境还可包括耦合到设备以将设备通电或断电的功率管理代理。固件代理可配置成响应于功率管理代理将设备通电,向设备提供固件。只要装置进入比正常操作模式消耗更少功率的功率节约模式时,则功率管理代理可将设备断电。只要设备在一段时间没有被使用而装置处于正常操作模式时,则功率管理代理也可将设备断电。
[0028]在实施例中,计算环境还可包括包含功率管理代理的操作系统。固件代理还可配置成将功率管理代理耦合到设备,并且将功率管理代理的通电或断电命令或信号转发到设备。
[0029]在实施例中,固件代理还可配置成在装置的启动期间从设备驱动器获得固件。装置还可包括在计算环境的外部布置并且与固件代理耦合的安全存储装置。而且,固件代理还可配置成在装置的启动期间获得固件时将固件存储在安全存储装置中,并且在设备通电时从安全存储装置取回固件以提供给设备。固件代理还可配置成在将固件存储到安全存储装置中之前认证固件。装置还可包括在计算环境的外部布置的安全引擎,其中安全引擎包括固件代理。装置可以是智能电话或计算平板装置中的所选的一个。
[0030]公开的实施例还包括包含多个指令的至少一个非暂时计算机可读存储介质,其中,指令响应于由计算装置的安全引擎对指令的执行,实现用于计算装置的固件代理,以代表设备的设备驱动器在设备通电时向计算装置的设备提供固件,其中设备和设备驱动器是由计算装置的处理器接管的计算环境的一部分,并且包括固件代理的安全引擎布置在计算环境的外部并且耦合到设备。
[0031]在实施例中,计算环境还可包括耦合到设备以将设备通电或断电的功率管理代理。固件代理还可配置成响应于功率管理代理将设备通电,向设备提供固件。在实施例中,固件代理还可配置成将功率管理代理耦合到设备,并且将功率管理代理的通电或断电命令或信号转发到设备。在实施例中,固件代理还可配置成在计算装置的启动期间从设备驱动器获得固件。计算装置还可包括在计算环境的外部布置并且与固件代理耦合的安全存储装置。固件代理还可配置成在计算装置的启动期间获得固件时将固件存储在安全存储装置中,并且在设备通电时从安全存储装置取回固件以提供给设备。固件代理还可配
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1