提供软件分发和更新服务而不管端点机的状态或物理位置的制作方法

文档序号:7896257阅读:196来源:国知局
专利名称:提供软件分发和更新服务而不管端点机的状态或物理位置的制作方法
技术领域
本发明涉及软件分发和更新服务。
背景技术
在许多情况下,期望在计算机已经被分发并且处于使用中之后向这些计算机提供 软件。这可能涉及提供附加的软件或者更新现有的软件。向现有的设备(通常称为端点机)提供新软件有时是困难且麻烦的。可以在设备销 售之后提供的软件类型可以包括用于提供新的服务和用户应用程序(application)、中间 件、设备固件、以及基本输入/输出系统的驱动器(driver)。所述软件可以由独立软件供应 商或由相对于设备供应商的其他第三方来提供。因此,这些软件供应商期望以可能的最高 效的方式向端点机用户提供所述软件。

发明内容
根据本发明的第一方面,提供一种方法。所述方法包括将软件可用于分发的指示 存储在非易失性随机存取存储器内的专用位置中;针对软件下载来检查所述位置;下载所 述软件;以及标记所述位置以指示所述软件被下载了。根据本发明的第二方面,提供一种计算机可读介质。所述计算机可读介质用于存 储使得计算机能够执行以下操作的指令使用基于管理引擎固件的连网堆栈来建立带外通 信链路;以及使用所述链路将软件下载到主机,而不管其操作系统的状态。根据本发明的第三方面,提供一种装置。所述装置包括带外因特网协议连网堆 栈;以及控制器,用于将软件可用于分发的指示存储在非易失性随机存取存储器内的专用 位置中,针对软件下载来检查所述位置,下载所述软件,以及标记所述位置以指示所述软件 被下载了。


图1是用于端点的根据本发明一个实施例的硬件架构的描绘; 图2示出根据本发明一个实施例的用于分发软件的一个序列;
图3示出根据本发明另一实施例的用于分发软件的另一序列; 图4示出根据本发明一个实施例的用于分发软件的又一序列;以及 图5是一个实施例的流程图。
具体实施例方式图1示出可以使用可能需要被更新的软件的计算机系统或端点机。例如,独立软 件供应商可能希望向分布于全世界的大量此类系统提供软件更新。另外,在一些情况下可 能期望提供附加的软件。特别是在图1中所示的类型的系统包括INTEL 主动管理技术的情况下,硬件架构可以驻留在固件中。图形与存储控制器集线器44内的微控制器45容纳管理引擎(ME)固 件以便代表管理应用程序来实施各种服务。非易失性随机存取存储器观容纳由管理引擎 所使用的系统的基本输入/输出系统代码以及使应用程序能够根据需要将信息存储在非 易失性存储器中的第三方数据存储(3PDS)。在一个实施例中存储器观可以是闪速存储器。INTEL 主动管理技术(AMT)是用于计算机系统的远程发现、修复(healing)和保 护的硅驻留管理机制。它可以为用于解决可管理性问题、提高远程管理和资产库存功能和 第三方管理软件的效率、保护关键代理的功能免受操作系统故障、断电、以及有意的或无意 的客户端去除的影响的软件解决方案提供基础。驻留在微控制器45内的管理引擎在辅助电源上运行,并且在所有系统电源状态 下都是可用的。因此,INTEL AMT技术允许管理应用程序访问客户端计算机,即使当它们 处于断电状态时也是如此。存储第三方数据存储的非易失性随机存取存储器观可以是高度可配置的存储 器,其是持久的且受保护的。它提供即使当操作系统M无响应或者管理代理失去时也能被 可管理性应用程序访问的非易失性存储器空间。存储器观由控制机构来保护,所述控制机 构使用访问控制列表来实施对所述空间的访问,因此仅仅经授权的远程设备或应用程序可 以访问在那里存储的数据。在一个实施例中,INTEL AMT是图1中所示类型的INTEL vPro工作站平台的 组件。它可以包括中央处理单元40、多个软件代理42和操作系统M。在一些实施例中,图 形与存储控制器集线器44可以由动态随机存取存储器M和56来支持。I/O控制器集线器 46可以包括多个滤波器48、多个传感器50、以及介质访问控制(MAC)52,在一个实施例中所 述介质访问控制(MAC)被耦合到闪速存储器观。局域网(LAN)控制器58可以被耦合到集 线器46。它可以提供有线局域网(包括带外连接60和吉比特以太网连接62)以及无线带外 连接性64和IEEE 802. 11连接性66。根据图2中示出的本发明第一实施例,INTEL AMT软件包还可以在运行操作系 统(OS)M的端点12上包括软件分发服务或SDS模块20。端点12可以是还包括更新服务 器14的网络10的一部分。该模块可以实现未来软件安装。AMT固件可以被配置成给软件 分发分配特定存储空间。在一个实施例中,该区域开始时在其中没有数据。例如,非易失性 随机存取存储器观的3PDS部分能够被预配置成保留用于给定实体(例如独立软件供应商) 的区域,以利用它来定义用于捕获软件供应所必需的信息的结构。在一个实施例中,基于软件分发商的请求,非易失性随机存取存储器观的3PDS部 分可以被供应正确的软件分发信息二进制大对象(BLOB)。能够使用信息交换服务器或在因 特网上连同软件分发服务器一起工作以获得适当的供应BLOB或信息的任何中央服务器来 实施BLOB。AMT能够缺省地或者基于由软件更新提供商制订出的策略而连接到该远程供应 服务器。这能够在管理系统首次在该系统中启动时发生。因此,当该系统出现时,主机嵌入式控制器接口(HECI)驱动器检查非易失性随机 存取存储器观的3PDS部分以便通过读取上面描述的包含信息BLOB的已配置区域来查明 是否需要供应软件,如在38处所示。如果答案为是,则HECI驱动器22触发SDS以便开始 软件下载过程,如在32处所示。SDS 20查询3PDS并且连接(通过连接34)到虚拟专用网(VPN)软件服务器14,所述虚拟专用网(VPN)软件服务器14已经在非易失性随机存取存储器观的3PDS部分 中被供应。例如,SDS模块20与服务器14交谈并且下载和安装软件客户端18或准系统 (barebones)安装程序(installer)以用于更新软件。SDS使用在3PDS中存储的散列值向 客户端18验证所下载的包,如在块36中所示。SDS或更新服务器14 (例如网关16)利用 标志在3PDS中标记适当的区域,从而指示不需要进一步的下载并且下载已经完成,如在36 处所示。在一些实施例中,当终端用户准备好使用软件客户端18时,终端用户能够使用已 经下载的安装程序并且结束下载完整包。在一些实施例中,提供能够与多个软件供应商一起工作的可扩展机制。它还可以 给信息技术管理员一个选择,以在他不打算使用分发机制的情况下禁用SDS安装。将来,如 果客户想要该分发机制,则客户还能够开始SDS安装程序并且整个包能够自己启动。根据图3中所示的另一实施例,可以使用客户端发起的远程访问(CIRA)来向企业 客户端提供分发服务。一些端点(包括那些使用INTEL vPro技术的端点)具有硬件、软件和 固件组件以促进端点的下述能力即使机器在物理上处于防火墙之外并且端点的主机操作 系统受损,也能够联系企业网络。这些端点技术依赖于被置于企业停火区(demilitarized zone)中的软件管理存在服务器(MPS),以促成(broker)在端点和防火墙内的企业信息技 术资产之间的通信。软件提供商可以向企业端点提供用于各种软件(包括例如虚拟专用网 客户端软件)的分发和更新服务。一种特定于位于公司防火墙外的端点的实施方式提供了 为此目的的安全手段,同时保留了信息技术管理员在其端点上管理软件映像(image)的能 力。因此,参考图3,本地可管理性服务(LMS)70可以相当于先前实施例的SDS 200 LMS 70在端点12上提供软件分发服务功能。再次,3PDS可以是非易失性随机存取存储器观的 一部分,从而提供用于存储软件分发BLOB的数据存储,正如上面所描述的那样。带外因特 网连网堆栈30可以提供带外通信堆栈和功能。在一个实施例中,它可以是通过AMT固件提 供的带外信道。它可以实施CIRA协议,并且在一些实施例中还可以实施虚拟专用网客户端 和固件。服务器14a在本实施例中可以是具有VPN网关16a的VPN服务器,其还可以是软 件管理存在服务器或MPS。它促进了通过因特网的软件分发。在系统启动期间,LMS 70检查非易失性随机存取存储器观的3PDS部分中的软件 安装标志。基于该标志,LMS触发到远程服务器1 或到MPS代理服务器的带外CIRA连接, 所述MPS代理服务器又与服务器1 进行通信。这可以通过使用HECI驱动器22和客户端 19来完成,如由触发箭头72所示。在一个实施例中,客户端19可以是可从CISCO Systems, Inc. , San Jose, CA 951;34获得的AnyConnect Lite VPN客户端。远程服务器Ha将软件 映像的散列写入3PDS中以用于验证,如在36处所示。LMS还发起到远程服务器的带内的 基于操作系统的连接,如在74处所示,所述远程服务器提供软件映像以用于分发。接下来, LMS从远程服务器下载软件映像,如在32处所示,从而产生客户端18a。它利用在3PDS中 存储的散列值来证实软件的映像以在它安装软件之前确保其是有效映像。一旦下载成功, LMS或远程服务器/MPS就重置3PDS中的软件安装标志,如由箭头36所示。带外通信链路可以是基于管理引擎的连网堆栈,其独立于主机操作系统堆栈而工 作。因此,带外通信链路允许下载软件,而不管主机的电源状态(上电、休眠、睡眠、下电),不 管操作系统状态(启用(up)、禁用(down)或破坏),以及不管主机位置(企业内部或外部)。
参考图4,根据又一实施例,可以使用零环(ring zero) 76。也就是,操作系统核 心模块和驱动器可以被用来执行软件分发功能。在一个实施例中,SDS功能20可以被嵌入 HECI驱动器22内部。在一个实施例中通过连接80,局域网/网络接口卡驱动器78可以被 用于网络通信。该流程的其余部分与针对图2所描述的相同,除了使用相对于3环SDS窗 口服务或应用程序的基于HECI驱动器的SDS功能之外。因此,在一些实施例中,可以以独立于平台的物理位置或当前状态的方式分发软 件以接收软件更新。管理引擎可以被用来帮助软件分发,从而为软件供应商提供附加安全 保证。参考图5,可以以软件、硬件或固件来实施序列。在软件实施的序列中,软件可以被 存储在光、磁或半导体存储器中。例如,它能够被存储在图1中所示的存储器M或56之一 中。存储器可以存储由计算机(例如微控制器45)执行的指令序列。一开始,在块82处的检查确定非易失性随机存取存储器观的3PDS部分是否被供 应了 BLOB,所述BLOB提供软件更新或下载的识别。然后,通常在启动时,在块84中,进行检 查以确定是否存在BLOB以及BLOB是什么。如果存在BLOB并且没有设置标志来指示软件 已经被下载,如在菱形86中所确定的那样,则软件下载被启动,如在块88中所示,否则该流 程结束。该下载被验证,如在块90中所示,然后在块92中,BLOB被标记以指示软件已经被 下载,使得下一次系统启动时,它将不被再次下载。贯穿本说明书提到的“一个实施例”或“实施例”是指,结合该实施例所描述的特 定的特征、结构或特性被包括在包含在本发明内的至少一个实施方式中。因此,短语“一个 实施例”或“在实施例中”的出现并不一定指代相同的实施例。此外,特定的特征、结构或特 性可以以与所说明的特定实施例不同的其他合适的形式来建立,并且所有这样的形式都可 以被包含在本申请的权利要求内。尽管已经相对于有限数量的实施例描述了本发明,但是本领域技术人员将由其认 识到许多修改和变化。所附权利要求打算覆盖所有这样的落入本发明的真实精神和范围内 的修改和变化。
权利要求
1.一种方法,包括将软件可用于分发的指示存储在非易失性随机存取存储器内的专用位置中; 针对软件下载来检查所述位置; 下载所述软件;以及标记所述位置以指示所述软件被下载了。
2.根据权利要求1所述的方法,其中,针对软件下载来检查所述位置包括检查非易 失性随机存取存储器的专用部分中的二进制大对象。
3.根据权利要求2所述的方法,包括在所述二进制大对象中识别要被下载的软件。
4.根据权利要求3所述的方法,包括验证所述下载的软件。
5.根据权利要求4所述的方法,包括利用标志来标记所述存储器以指示在所述二进 制大对象中指示的软件已经被下载。
6.根据权利要求2所述的方法,包括向第三方数据存储供应所述二进制大对象。
7.根据权利要求1所述的方法,包括每当系统启动时就针对软件下载进行自动的检查。
8.根据权利要求1所述的方法,包括使用客户端发起的远程访问来下载所述软件。
9.根据权利要求1所述的方法,包括即使当所述系统受损时也下载所述软件。
10.根据权利要求1所述的方法,包括与远程服务器进行通信以用于通过带外通信 链路的软件下载。
11.根据权利要求1所述的方法,包括使用零环来下载所述软件。
12.—种计算机可读介质,用于存储使得计算机能够执行以下操作的指令 使用基于管理引擎固件的连网堆栈来建立带外通信链路;以及使用所述链路将软件下载到主机,而不管其操作系统的状态。
13.根据权利要求12所述的介质,还存储用于实现软件下载而不管所述主机的电源 状态的指令。
14.根据权利要求12所述的介质,还存储用于实现软件下载而不管所述主机是在企 业内部还是在企业外部的指令。
15.根据权利要求12所述的介质,还存储用于将软件可用于分发的指示存储在非易 失性随机存取存储器内的专用位置中的指令。
16.根据权利要求15所述的介质,还存储用于针对软件下载来检查所述位置的指令。
17.根据权利要求16所述的介质,还存储用于下载所述软件并且标记所述位置以指 示所述软件被下载了的指令。
18.根据权利要求15所述的介质,还存储用于检查非易失性随机存取存储器的专用 部分中的二进制大对象的指令。
19.根据权利要求18所述的介质,还存储用于在所述二进制大对象中识别要被下载 的软件的指令。
20.根据权利要求19所述的介质,还存储用于利用标志来标记所述存储器以指示在 所述二进制大对象中指示的软件已经被下载的指令。
21.一种装置,包括带外因特网协议连网堆栈;以及控制器,用于将软件可用于分发的指示存储在非易失性随机存取存储器内的专用位置 中,针对软件下载来检查所述位置,下载所述软件,以及标记所述位置以指示所述软件被下 载了。
22.根据权利要求21所述的装置,包括非易失性随机存取存储器,所述非易失性随机 存取存储器包括所述专用位置。
23.根据权利要求21所述的装置,包括带外因特网协议连网堆栈以独立于所述装置 上的操作系统而操作,使得即使当所述操作系统不起作用时所述堆栈也起作用。
24.根据权利要求21所述的装置,每当所述装置启动时,所述控制器就针对软件下载 进行自动的检查。
25.根据权利要求M所述的装置,所述控制器使用客户端发起的远程访问来下载软件。
26.根据权利要求21所述的装置,所述控制器使用零环来下载软件。
27.根据权利要求21所述的装置,所述装置建立与更新服务器的连接以下载软件。
28.根据权利要求21所述的装置,其下载软件而不管所述装置的电源状态。
29.根据权利要求21所述的装置,所述控制器下载软件而不管所述装置相对于企业 的位置。
全文摘要
本发明公开了提供软件分发和更新服务而不管端点机的状态或物理位置。根据一些实施例,即使当端点不是完全起作用时,软件也可以被下载到所述端点。关于软件可用于分发的指示可以被存储在非易失性存储器内的专用位置中。可以针对软件下载来检查该位置,例如在每次启动时。所述软件然后可以被下载和验证。其后,该位置被标记以指示软件已经被下载。
文档编号H04L29/08GK102104624SQ201010598088
公开日2011年6月22日 申请日期2010年12月21日 优先权日2009年12月21日
发明者A·K·伊伦杜拉, B·K·约尔根森, H·M·霍斯拉维, N·M·史密斯, T·L·真蒂, Y·拉希德 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1