当前位置: 首页 > 专利查询>微软公司专利>正文

用于软件发布服务的系统和方法技术方案

技术编号:3543238 阅读:163 留言:0更新日期:2012-04-11 18:40
本发明专利技术针对一种用于管理软件更新的系统和方法。更明确地说,本发明专利技术针对一种系统和方法,用于促进软件更新的选择和实现,同时,使选择和实现这些软件更新所要求的带宽和处理资源最小化。根据本发明专利技术的一个方面,软件更新服务控制对服务器上所存储的软件更新的访问。根据另一个方面,该软件更新服务与客户机同步,以识别可应用的更新。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及软件和计算机网络,尤其涉及管理和传递软件更新的系统和方法。
技术介绍
市场上最常见的软件产品要经受连续的修订过程,以修补或升级特征和/或功 能。软件产品或组件的每一次修订可能需要添加新的文件和/或用更加新版本的文 件替换现有的文件。 一旦销售商隔离了软件产品问题并创建了该问题的解决方案, 他可能希望将该修补放入更新中,并令更新对顾客广泛地可用。软件销售商具有尽 可能快和无故障地向顾客分发软件更新的商业动机。因特网为顾客提供了一种获得软件产品的最近更新的重要渠道。因特网使用 率的蓬勃发展造成了顾客对软件产品和更新在线提供用于下载的常见期望。促进因 特网的使用来分发更新也是软件销售商所感兴趣的,因为它减少了他们的成本,并 允许顾客在修补可用于下载后立即可获得所确定问题的修补。因特网上的销售商站 点可被设计成令发现和査找应用程序的更新文件是非常简单的。文件下载的技术方 面大多数已从用户的观点中消失,并且它现在通常由操作系统来处理。在常规的方法中,软件销售商将软件更新构造为包用于下载。包通常是 自提取的可执行文件,它具有设置程序,并且产品的更新文件的每一个被嵌入并被 压縮以使包更小。包的大小通常是每一改变的文件的压縮后大小的总和,加上提取 代码本身的大小。在执行时,包将所包含的每一文件提取到一临时位置,然后开始 设置程序以将每一文件安装到系统目录中一正确的位置。以压縮形式发货的文件在 它们被安装时被解压。同一位置中名字相同的任一现有文件将简单地被替换文件所 覆盖。即使因特网令软件更新的广泛和快速分发成为可能,然而网络传输的有限带 宽导致了问题。常见软件应用程序的绝对大小导致了更新的下载大小变得不合理的 大。通常,用于产品的各种问题的多个修补将被组合成一个更新。如果销售商以常 规的基础更新软件产品,则更新包的下载大小将继续增长,这是因为销售商无法在假设用户已经具有来自较早更新的那些文件的假设上省略这些文件。由于更新包组 合了若干的完整文件,即使文件被压縮,它也可能相当大。有时,即使在最快的调 制解调器连接上,下载的带宽效率也被降低。常规下载过程的耗时方面当然是不合需要的。在某些情况下,顾客在下载这 些文件的过程中支付了长距离或连接时间的费用。连接时间的任何减少将减少这些 顾客的直接金钱成本。销售商通常也具有关于他们所提供的下载大小的可辨识成 本,因此减小尺寸也可给予他们直接的金钱收益。减小下载的尺寸将增加他们的可 用网络带宽,从而允许他们用现有的网络服务器设备来服务更多的顾客。下载大的更新所花费的长时间也令下载过程变得更易受各种网络连接问题的 攻击。对于为什么因特网话路可能会被过早地断开连接有多个原因,包括电话线噪 声、呼叫等待信号以及无意的命令。某些因特网服务供应商实施了连接时间限制, 限制了用户可以在单个话路中在线的时间量。如果当网络连接被切断时用户正在下 载大文件,则他或她可能必须从头开始。最常见的操作系统和文件传输协议不允许 文件传输的再继续,因此任何中间的进度将会丢失,并且传输必须重新开始。失败 的几率如此之大,以致于许多用户发现在线获取更新几乎是不可能的。如果更新包 的尺寸太大,则用户可能永远也无法完整地下载它。减小软件更新的尺寸并提高带宽效率的一种尝试涉及增量补丁,或二进制补 丁的使用。本领域的技术人员可以理解,增量补丁对应于当由计算装置执行时修改 现有文件的专用软件代码。由于增量补丁包括专用软件代码,因此对文件的每一唯 一版本需要唯一的增量补丁。当应用于软件更新时,软件更新服务可发送较小尺寸 的更新增量补丁,而非发送完整的更新文件。已更新的增量补丁然后用于将现有文 件修改成已更新的文件。尽管更新增量补丁可潜在地减少更新文件所需的数据量,然而现有的增量打 补丁方法在存在大量的文件版本的情况下管理可适用的增量文件的选择时是不够 的。由于对文件的每一版本需要唯一的增量补丁,因此典型的软件更新系统通常会 要求上百(如果不是上千)个对应于文件的每一唯一版本的唯一增量补丁。在一种 方法中,支持增量打补丁的某些更新服务将所有可能的增量补丁发送到客户机计算 装置。然而,这一方法通常在可能更新增量补丁的数量增加时也增加了实现软件更 新所需的数据量。因此,潜在可适用的增量补丁的数量可迅速增长为与完整的更新 文件相同的大小。在另一种方法中,网络化更新软件服务扫描客户机机器以选择对 每一客户机机器可应用哪一增量补丁。尽管这减少了所发送的增量补丁信息量,然而它需要软件更新服务上的附加逻辑来扫描客户机机器并选择可适用的增量补丁。 附加逻辑的使用增加了必须由服务提供的系统资源。此外,该方法通常阻止如通常 由传统的web服务器所实现的网络高速缓存的使用。除上述缺点之外,现有的系统无法传送某些类型的软件更新,如硬件驱动程 序。如本领域中所已知的,专用软件更新,如应用于硬件驱动程序的软件更新,难 以在大规模分发的基础上提供给用户,因为大多数专用软件更新仅在具有特殊硬件 的客户计算机上起作用。例如,在大多数情况下,如果客户计算机获得了不兼容的 硬件驱动程序升级,则该驱动程序升级的安装会导致致命的错误,或甚至会阻止计 算机运行。如可以从上述内容容易地理解的,需要一种具有服务器和多个客户机之间的 软件更新的改进通信的系统和方法。另外,对具有允许更新服务在传送专用更新时 以特定类型的客户机为目标的改进机制的软件更新系统和方法有需求。专利技术概述本专利技术针对一种用于管理软件更新的系统和方法。更明确地说,本专利技术针对 一种系统和方法,用于促进软件更新的选择和实现,同时将选择和实现这些软件更 新所要求的带宽和处理资源最小化。根据本专利技术的一个方面,软件更新服务控制对 服务器上所存储的软件更新的访问。根据另一个方面,软件更新服务与客户机同步, 以识别可应用的更新。根据本专利技术的一个方面,提供了一种方法,用于在分布式处理系统中的客户 机计算设备进程与服务器进程之间进行通信。根据该方法,客户机进程发出同步请 求。如果客户机计算设备存储被安装的软件更新,则该同步请求包括该被安装的软 件更新的标识符。如果该同步请求包括至少一个软件更新的标识符,则服务器进程 接收该同步请求,并选择额外的软件更新。该额外的软件更新的选择取决于该额外 的软件更新中所定义的先决条件的履行。该先决条件要求该同步请求包括至少一个 特定软件更新的标识符。如果服务器进程确定该同步请求不包括至少一个软件更新 的标识符,那么,它选择具有作为先决条件的空值的第一级软件更新。服务器进程 发出该被选择的软件更新的指令部分。如果客户机计算设备包含履行被存储在被选 择的软件更新中的适用性规则的条件的至少一个部分,那么,客户机进程接收被选 择的软件更新的指令部分,并将被选择的软件更新的指令部分存储在客户机计算设 备中,作为被安装的软件更新。根据本专利技术的另一个方面,提供了一种方法,用于在分布式处理系统中的客 户机计算设备进程与服务器进程之间进行通信。根据该方法,客户机进程发出授权请求。该授权请求包含与目标组相关联的客户机授权模块的标识符。如果服务器进 程检测到与该目标组相关联的服务器软件模块的存在,那么,服务器进程接收该授权请求,并发出标识该目标组的服务器cookie。客户机进程接收本文档来自技高网...

【技术保护点】
一种用于在分布式处理系统中的客户机计算设备进程与服务器进程之间进行通信的方法,其特征在于,所述方法包括: (a)由所述客户机进程发出一同步请求,其中,如果所述客户机计算设备存储一被安装的软件更新,则所述同步请求包括所述被安装的软件更新 的标识符; (b)由所述服务器进程接收所述同步请求; (c)如果所述同步请求包括至少一个软件更新的标识符,则由所述服务器进程选择一额外的软件更新,其中,所述额外的软件更新的选择取决于所述额外的软件更新中所定义的先决条件的履行,其 中,所述先决条件要求所述同步请求包括至少一个特定软件更新的标识符; (d)如果确定所述同步请求不包括至少一个软件更新的标识符,则由所述服务器进程选择具有作为先决条件的空值的第一级软件更新; (e)由所述服务器进程发出所选择的软件 更新的指令部分; (f)由所述客户机进程接收所选择的软件更新的指令部分; (g)如果所述客户机计算设备包含履行所选择的软件更新中存储的适用性规则的条件的至少一个部分,则由所述客户机进程将所选择的软件更新的指令部分存储在所述客户机 计算设备中,作为被安装的软件更新。...

【技术特征摘要】
【国外来华专利技术】US 2003-12-15 10/737,7261.一种用于在分布式处理系统中的客户机计算设备进程与服务器进程之间进行通信的方法,其特征在于,所述方法包括(a)由所述客户机进程发出一同步请求,其中,如果所述客户机计算设备存储一被安装的软件更新,则所述同步请求包括所述被安装的软件更新的标识符;(b)由所述服务器进程接收所述同步请求;(c)如果所述同步请求包括至少一个软件更新的标识符,则由所述服务器进程选择一额外的软件更新,其中,所述额外的软件更新的选择取决于所述额外的软件更新中所定义的先决条件的履行,其中,所述先决条件要求所述同步请求包括至少一个特定软件更新的标识符;(d)如果确定所述同步请求不包括至少一个软件更新的标识符,则由所述服务器进程选择具有作为先决条件的空值的第一级软件更新;(e)由所述服务器进程发出所选择的软件更新的指令部分;(f)由所述客户机进程接收所选择的软件更新的指令部分;(g)如果所述客户机计算设备包含履行所选择的软件更新中存储的适用性规则的条件的至少一个部分,则由所述客户机进程将所选择的软件更新的指令部分存储在所述客户机计算设备中,作为被安装的软件更新。2. 如权利要求1所述的方法,其特征在于,所述方法还包括,如果所选择 的软件更新的指令部分提供存在供所述客户机进程处理的额外的软件更新的指示, 则由所述客户机进程重复元素(a) - (g)。3. 如权利要求l所述的方法,其特征在于,所述方法还包括 由所述服务器进程发出所选择的软件更新的本地化数据部分;以及 由所述客户机进程接收所选择的软件更新的本地化数据部分,其中, 一接收到所述本地化数据部分,所述客户机进程就调用一应用程序,以便在显示器上生成 所选择的软件更新的本地化数据部分的显示。4. 如权利要求3所述的方法,其特征在于,所述方法还包括由所述客户机进程接收用于调用与所选择的软件更新相关联的数据文件的通 信的命令;以及由所述客户机进程发出用于传递与所选择的软件更新相关联的数据文件的命令;由所述服务器进程接收用于传递与所选择的软件更新相关联的数据文件,并 用于调用 一应用程序来下载所述数据文件的命令。5. 如权利要求l所述的方法,其特征在于,所述方法还包括-如果由所述客户机进程读取的存储器存储该所述被安装的软件更新,则由所述客户机进程将所述被安装的软件更新的标识符并入所述同步请求中。6. 如权利要求l所述的方法,其特征在于,所述方法还包括如果所述客户机进程确定所选择的软件更新中存储的适用性规则的至少一个 条件没有被履行,则由所述客户机进程将所选择的软件更新的指令部分存储在所述 客户机计算设备中,作为失败的软件更新。7. 如权利要求7所述的方法,其特征在于,所述方法还包括 由所述客户机进程将所述失败的软件更新的标识符并入所述同步请求中; 如果所选择的软件更新与所述失败的软件更新有关,则由所述服务器进程所选择的软件更新的发行。8. —种在分布式处理系统中的客户机计算设备进程与服务器进程之间进行通 信的方法,其特征在于,所述方法包括(a) 由所述客户机进程发出一授权请求,其中,所述授权请求包含与一目标 组相关联的客户机授权模块的标识符;(b) 由所述服务器进程接收所述授权请求;(c) 如果所述服务器进程检测到与所述目标组相关联的服务器软件模块的 存在,则由所述服务器进程发出标识所述目标组的服务器cookie;(d) 由所述客户机进程接收标识所述目标组的所述服务器cookie;(e) 由所述客户机进程发出对至少一个软件更新的更新请求,其中,所述请 求包含所述服务器cookie;(f) 由所述服务器进程接收所述更新请求;(g) 如果所述软件更新与所述服务器cookie中标识的目标组相关联,则由 所述服务器进程发行所述软件更新;以及(h) 如果所述软件更新与所述服务器cookie中标识的目标组相关联,则由 所述客户机进程接收所述软件更新。9. 如权利要求8所述的方法,其特征在于,所述授权请求包括先前被存储的 服务器cookie中的数据;并且,其中,由所述服务器进程发出的所述服务器cookie 包括该先前被存储的服务器cookie的数据。10. 如权利要求8所述的方法,其特征在于,如果与所述服务器进程进行通信的服务器授权模块标识了与所述客户机授权模块相关联的一目标组,则确定所述 客户机计算设备与同一目标组相关联。11. 如权利要求8所述的方法,其特征在于,所述服务器cookie包括一到期 时间,其中,所述方法还包括,如果已经过了所述服务器cookie的到期时间,则 所述服务器进程不发行所述软件更新。12. 如权利要求8所述的方法,其特征在于,所述服务器cookie用明文格式 和加密格式来存储所述到期时间,并且,其中,所述服务器cookie包含标识至少 一个目标组的加密数据,其中,所述方法还包括由所述客户机进程从所述服务器cookie获得所述到期时间,其中,所述客户 机进程从用明文格式存储的到期时间中获得所述到期时间;以及由所述客户机进程发出对至少一个软件更新的请求,其中,所述请求包括所 述服务器cookie 。13. 如权利要求8所述的方法,其特征在于,所述软件更新的发行包括发行 所述软件更新的指令部分,并且,如果所述软件更新的指令部分指出存在额外的软 件更新,则所述方法还包括由所述客户机进程发出对本地化数据的请求; 由所述服务器进程接收对本地化数据的请求;由所述服务器进程发行所述软件更新的本地化数据部分; 由所述客户机进程接收所述本地化数据;以及由所述客户机进程处理用于至少一个更新文件的选择的本地化数据部分。14. 一种用于传递和管理软件更新的系统,其特征在于,所述系统包括(a) 存储多个软件更新的第一数据库,其中,存储在所述数据库中的单独的软件更新包括(i) 包含定义至少一个条件的适用性规则的指令数据字段,其中,所述 适用性规则可以包括空值,其中,所述指令部分包含标识安装所述单独的软 件更新所要求的一个或多个软件更新的一组先决条件,并且,其中,该组先决条件可以包括空值;(ii) 包含文本数据的本地化数据字段,所述文本数据描述与所述单独的 软件更新有关的通用信息;以及(m)标识与所述单独的软件更新相关联的至少一个数据流文件的数据部分;(b) 用于授权对存储在所述第一数据库中的软件更新的访问的授权服务器, 其中,如果客户机计算设备包含指出所述客户机计算设备与一目标组相关联的授权 模块,则所述授权服务器发出服务器cookie,用于允许...

【专利技术属性】
技术研发人员:J罗伯特斯M默哈姆德W威泰尔M谢帕尔德
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1