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

文档序号:17988067发布日期:2019-06-22 00:33阅读:360来源:国知局
提供软件分发和更新服务而不管端点机的状态或物理位置的制作方法

本发明涉及软件分发和更新服务。



背景技术:

在许多情况下,期望在计算机已经被分发并且处于使用中之后向这些计算机提供软件。这可能涉及提供附加的软件或者更新现有的软件。

向现有的设备(通常称为端点机)提供新软件有时是困难且麻烦的。可以在设备销售之后提供的软件类型可以包括用于提供新的服务和用户应用程序(application)、中间件、设备固件、以及基本输入/输出系统的驱动器(driver)。所述软件可以由独立软件供应商或由相对于设备供应商的其他第三方来提供。因此,这些软件供应商期望以可能的最高效的方式向端点机用户提供所述软件。



技术实现要素:

根据本发明的第一方面,提供一种方法。所述方法包括:将软件可用于分发的指示存储在非易失性随机存取存储器内的专用位置中;针对软件下载来检查所述位置;下载所述软件;以及标记所述位置以指示所述软件被下载了。

根据本发明的第二方面,提供一种计算机可读介质。所述计算机可读介质用于存储使得计算机能够执行以下操作的指令:使用基于管理引擎固件的连网堆栈来建立带外通信链路;以及使用所述链路将软件下载到主机,而不管其操作系统的状态。

根据本发明的第三方面,提供一种装置。所述装置包括:带外因特网协议连网堆栈;以及控制器,用于将软件可用于分发的指示存储在非易失性随机存取存储器内的专用位置中,针对软件下载来检查所述位置,下载所述软件,以及标记所述位置以指示所述软件被下载了。

附图说明

图1是用于端点的根据本发明一个实施例的硬件架构的描绘;

图2示出根据本发明一个实施例的用于分发软件的一个序列;

图3示出根据本发明另一实施例的用于分发软件的另一序列;

图4示出根据本发明一个实施例的用于分发软件的又一序列;以及

图5是一个实施例的流程图。

具体实施方式

图1示出可以使用可能需要被更新的软件的计算机系统或端点机。例如,独立软件供应商可能希望向分布于全世界的大量此类系统提供软件更新。另外,在一些情况下可能期望提供附加的软件。

特别是在图1中所示的类型的系统包括intel®主动管理技术的情况下,硬件架构可以驻留在固件中。图形与存储控制器集线器44内的微控制器45容纳管理引擎(me)固件以便代表管理应用程序来实施各种服务。非易失性随机存取存储器28容纳由管理引擎所使用的系统的基本输入/输出系统代码以及使应用程序能够根据需要将信息存储在非易失性存储器中的第三方数据存储(3pds)。在一个实施例中存储器28可以是闪速存储器。

intel®主动管理技术(amt)是用于计算机系统的远程发现、修复(healing)和保护的硅驻留管理机制。它可以为用于解决可管理性问题、提高远程管理和资产库存功能和第三方管理软件的效率、保护关键代理的功能免受操作系统故障、断电、以及有意的或无意的客户端去除的影响的软件解决方案提供基础。

驻留在微控制器45内的管理引擎在辅助电源上运行,并且在所有系统电源状态下都是可用的。因此,intel®amt技术允许管理应用程序访问客户端计算机,即使当它们处于断电状态时也是如此。

存储第三方数据存储的非易失性随机存取存储器28可以是高度可配置的存储器,其是持久的且受保护的。它提供即使当操作系统24无响应或者管理代理失去时也能被可管理性应用程序访问的非易失性存储器空间。存储器28由控制机构来保护,所述控制机构使用访问控制列表来实施对所述空间的访问,因此仅仅经授权的远程设备或应用程序可以访问在那里存储的数据。

在一个实施例中,intel®amt是图1中所示类型的intel®vpro工作站平台的组件。它可以包括中央处理单元40、多个软件代理42和操作系统24。在一些实施例中,图形与存储控制器集线器44可以由动态随机存取存储器54和56来支持。i/o控制器集线器46可以包括多个滤波器48、多个传感器50、以及介质访问控制(mac)52,在一个实施例中所述介质访问控制(mac)被耦合到闪速存储器28。局域网(lan)控制器58可以被耦合到集线器46。它可以提供有线局域网(包括带外连接60和吉比特以太网连接62)以及无线带外连接性64和ieee802.11连接性66。

根据图2中示出的本发明第一实施例,intel®amt软件包还可以在运行操作系统(os)24的端点12上包括软件分发服务或sds模块20。端点12可以是还包括更新服务器14的网络10的一部分。该模块可以实现未来软件安装。amt固件可以被配置成给软件分发分配特定存储空间。在一个实施例中,该区域开始时在其中没有数据。例如,非易失性随机存取存储器28的3pds部分能够被预配置成保留用于给定实体(例如独立软件供应商)的区域,以利用它来定义用于捕获软件供应所必需的信息的结构。

在一个实施例中,基于软件分发商的请求,非易失性随机存取存储器28的3pds部分可以被供应正确的软件分发信息二进制大对象(blob)。能够使用信息交换服务器或在因特网上连同软件分发服务器一起工作以获得适当的供应blob或信息的任何中央服务器来实施blob。amt能够缺省地或者基于由软件更新提供商制订出的策略而连接到该远程供应服务器。这能够在管理系统首次在该系统中启动时发生。

因此,当该系统出现时,主机嵌入式控制器接口(heci)驱动器检查非易失性随机存取存储器28的3pds部分以便通过读取上面描述的包含信息blob的已配置区域来查明是否需要供应软件,如在38处所示。如果答案为是,则heci驱动器22触发sds以便开始软件下载过程,如在32处所示。

sds20查询3pds并且连接(通过连接34)到虚拟专用网(vpn)软件服务器14,所述虚拟专用网(vpn)软件服务器14已经在非易失性随机存取存储器28的3pds部分中被供应。例如,sds模块20与服务器14交谈并且下载和安装软件客户端18或准系统(barebones)安装程序(installer)以用于更新软件。sds使用在3pds中存储的散列值向客户端18验证所下载的包,如在块36中所示。sds或更新服务器14(例如网关16)利用标志在3pds中标记适当的区域,从而指示不需要进一步的下载并且下载已经完成,如在36处所示。在一些实施例中,当终端用户准备好使用软件客户端18时,终端用户能够使用已经下载的安装程序并且结束下载完整包。

在一些实施例中,提供能够与多个软件供应商一起工作的可扩展机制。它还可以给信息技术管理员一个选择,以在他不打算使用分发机制的情况下禁用sds安装。将来,如果客户想要该分发机制,则客户还能够开始sds安装程序并且整个包能够自己启动。

根据图3中所示的另一实施例,可以使用客户端发起的远程访问(cira)来向企业客户端提供分发服务。一些端点(包括那些使用intel®vpro技术的端点)具有硬件、软件和固件组件以促进端点的下述能力:即使机器在物理上处于防火墙之外并且端点的主机操作系统受损,也能够联系企业网络。这些端点技术依赖于被置于企业停火区(demilitarizedzone)中的软件管理存在服务器(mps),以促成(broker)在端点和防火墙内的企业信息技术资产之间的通信。软件提供商可以向企业端点提供用于各种软件(包括例如虚拟专用网客户端软件)的分发和更新服务。一种特定于位于公司防火墙外的端点的实施方式提供了为此目的的安全手段,同时保留了信息技术管理员在其端点上管理软件映像(image)的能力。

因此,参考图3,本地可管理性服务(lms)70可以相当于先前实施例的sds20。lms70在端点12上提供软件分发服务功能。再次,3pds可以是非易失性随机存取存储器28的一部分,从而提供用于存储软件分发blob的数据存储,正如上面所描述的那样。带外因特网连网堆栈30可以提供带外通信堆栈和功能。在一个实施例中,它可以是通过amt固件提供的带外信道。它可以实施cira协议,并且在一些实施例中还可以实施虚拟专用网客户端和固件。服务器14a在本实施例中可以是具有vpn网关16a的vpn服务器,其还可以是软件管理存在服务器或mps。它促进了通过因特网的软件分发。

在系统启动期间,lms70检查非易失性随机存取存储器28的3pds部分中的软件安装标志。基于该标志,lms触发到远程服务器14a或到mps代理服务器的带外cira连接,所述mps代理服务器又与服务器14a进行通信。这可以通过使用heci驱动器22和客户端19来完成,如由触发箭头72所示。在一个实施例中,客户端19可以是可从ciscosystems,inc.,sanjose,ca95134获得的anyconnectlitevpn客户端。远程服务器14a将软件映像的散列写入3pds中以用于验证,如在36处所示。lms还发起到远程服务器的带内的基于操作系统的连接,如在74处所示,所述远程服务器提供软件映像以用于分发。接下来,lms从远程服务器下载软件映像,如在32处所示,从而产生客户端18a。它利用在3pds中存储的散列值来证实软件的映像以在它安装软件之前确保其是有效映像。一旦下载成功,lms或远程服务器/mps就重置3pds中的软件安装标志,如由箭头36所示。

带外通信链路可以是基于管理引擎的连网堆栈,其独立于主机操作系统堆栈而工作。因此,带外通信链路允许下载软件,而不管主机的电源状态(上电、休眠、睡眠、下电),不管操作系统状态(启用(up)、禁用(down)或破坏),以及不管主机位置(企业内部或外部)。

参考图4,根据又一实施例,可以使用零环(ringzero)76。也就是,操作系统核心模块和驱动器可以被用来执行软件分发功能。在一个实施例中,sds功能20可以被嵌入heci驱动器22内部。在一个实施例中通过连接80,局域网/网络接口卡驱动器78可以被用于网络通信。该流程的其余部分与针对图2所描述的相同,除了使用相对于3环sds窗口服务或应用程序的基于heci驱动器的sds功能之外。

因此,在一些实施例中,可以以独立于平台的物理位置或当前状态的方式分发软件以接收软件更新。管理引擎可以被用来帮助软件分发,从而为软件供应商提供附加安全保证。

参考图5,可以以软件、硬件或固件来实施序列。在软件实施的序列中,软件可以被存储在光、磁或半导体存储器中。例如,它能够被存储在图1中所示的存储器54或56之一中。存储器可以存储由计算机(例如微控制器45)执行的指令序列。

一开始,在块82处的检查确定非易失性随机存取存储器28的3pds部分是否被供应了blob,所述blob提供软件更新或下载的识别。然后,通常在启动时,在块84中,进行检查以确定是否存在blob以及blob是什么。如果存在blob并且没有设置标志来指示软件已经被下载,如在菱形86中所确定的那样,则软件下载被启动,如在块88中所示,否则该流程结束。该下载被验证,如在块90中所示,然后在块92中,blob被标记以指示软件已经被下载,使得下一次系统启动时,它将不被再次下载。

贯穿本说明书提到的“一个实施例”或“实施例”是指,结合该实施例所描述的特定的特征、结构或特性被包括在包含在本发明内的至少一个实施方式中。因此,短语“一个实施例”或“在实施例中”的出现并不一定指代相同的实施例。此外,特定的特征、结构或特性可以以与所说明的特定实施例不同的其他合适的形式来建立,并且所有这样的形式都可以被包含在本申请的权利要求内。

尽管已经相对于有限数量的实施例描述了本发明,但是本领域技术人员将由其认识到许多修改和变化。所附权利要求打算覆盖所有这样的落入本发明的真实精神和范围内的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1