对等软件更新的制作方法_2

文档序号:9204219阅读:来源:国知局
机程序或其他软件产品、并与其他计算机器通信的任何计算机器。例如,客户端机器可以是台式电脑、笔记本电脑、移动设备(例如,智能电话、平板电脑、个人数字助理(PDA)、全球定位系统(GPS)设备,等),或者具有处理器、存储器和通信能力的任何其他机器。每个客户端机器也可以包含安装在该客户端机器的存储器中(例如,硬盘驱动器)的一个或多个计算机程序或应用程序。
[0024]更新服务器105可以是单一系统或机器,或者由多个计算机器构成的虚拟服务器。更新服务器105可以被配置为存储一个或多个软件更新(例如,更新补丁),用于安装在客户端机器110、115、120、125和130上的软件产品。有时候,软件开发人员可以将用于计算机程序的软件更新上传到该更新服务器105,以便使得该软件更新可用于客户端机器110、115、120、125和130中的一个或多个。
[0025]为了更新已安装的计算机程序,客户端机器可以被配置为联系该更新服务器以确定计算机程序的软件更新是否可用,以及该软件更新要将计算机程序更新到计算机程序的什么版本。如果软件更新可用,则客户端机器可以尝试从客户端机器的对等体中的一个或多个尝试取回计算机程序的更新后的版本。如果该客户端机器不能取回该更新后的版本,则客户端机器可从更新服务器105下载软件更新,并通过执行该软件更新以更新计算机程序。
[0026]图3是根据本主题技术的各个方面的图示示例客户端机器300的概念性方框图。该客户端机器300可以包含服务器接口模块310、对等接口模块320、以及更新模块330。然而根据其他方面,该客户端机器300可以包含另外组件、更少组件、或不同组件。
[0027]图3中的该服务器接口模块310被配置为与更新服务器105通信,以便确定用于安装在客户端机器300上的软件产品(例如,操作系统或另一计算机程序)的更新是否可用。客户端机器300可以是,例如,图1中客户端机器110、115、120、125或130中的一个,其可以与更新服务器105通信。如果更新可用,则对等接口模块320被配置为联系一个或多个对等机器,以确定该对等机器是否具有更新后的软件产品。
[0028]如果对等机器中的一个或多个具有更新后的软件产品,则对等接口模块320可以从该对等机器取回所述更新后的软件产品。更新模块330可以被配置为采取任何步骤(如果必要的话),以使得能够使用从对等机器取回的更新后的软件产品。如果对等接口模块320不能从对等机器获取已更新的软件产品,则服务器接口模块310被配置为从更新服务器105取回软件更新补丁。然后更新模块330可以通过运行该软件更新补丁以更新安装在客户端机器300上的软件产品。
[0029]图4是根据本主题技术的各个方面的图示用于提供软件更新的示例过程400的流程图。尽管过程400中的方框以一种特定顺序示出,但是某些方框可以按不同顺序执行或者同时执行。此外,尽管过程400中的方框被描述为正在由图3的客户端机器300的组件所执行,但是这些方框不限于被所述组件执行。
[0030]在方框405处,客户端机器300的服务器接口模块310与更新服务器通信,以确定用于安装在客户端机器300上的计算机程序(例如,操作系统或其他应用程序)的软件更新是否可用。在方框410处,更新模块330确定用于计算机程序的更新是否可用。例如,月艮务器接口模块310可以周期性地联系更新服务器,或者当该计算机程序被打开的时候联系更新服务器,并且请求关于计算机程序的最新版本的信息,或者客户端机器300上的计算机程序的版本是不是最新版本的?目息。
[0031]如果更新服务器响应指示客户端机器300上的计算机程序的版本为最新版本,或者如果更新模块330确定没有可用的计算机程序的更加新版本,则在方框415处,无需更新安装在客户端机器300上的计算机程序。如果有来自更新服务器的可用更新,则在方框420处,对等接口模块320可以在方框420处检查是否存在具有可用的更新后的计算机程序(例如,计算机程序的最新版本)的任何对等机器。
[0032]如果对等机器先前从更新服务器安装了更新补丁,且运行该更新补丁以便将计算机程序更新至最新版本,则该对等机器可以具有更新后的计算机程序。可替代地,如果对等机器先前从一个或多个其它对等机器取回了更新后的计算机程序或者更新后的计算机程序的部分,则对等机器可以具有更新后的计算机程序。如果该对等机器具有更新后的计算机程序的至少一部分,则其可以使得更新后的计算机程序的那些部分可用于其它对等机器。
[0033]对等接口模块320可以确定对等机器是否具有更新后的计算程序,通过例如直接查询、查询中心服务器、或查看更新后的计算程序的各部分是否正在经由广播、多播或客户端机器300可以开始接收的其他多接收器机构发送。
[0034]如果没有对等机器具有更新后的计算机程序,则在方框425处,服务器接口模块310可以从更新服务器取回(例如,下载)被配置为安装软件更新的软件更新补丁。在下载该软件更新补丁之后,在方框430处,更新模块330执行软件更新补丁,以便将安装在客户端机器300上的计算机程序的当前安装的版本更新到计算机程序的更新后的版本。
[0035]该软件更新补丁可以包含大量指令和数据,所述指令和数据可以被用于更新计算机程序,通过例如,将与计算机程序相关联的文件拷贝到该计算系统的存储器上(例如,硬盘驱动器或者硬盘驱动器的一个分区)、删除该存储器上的文件、改变存储器上的数据或者这些的组合。在将该软件更新补丁应用到计算机器上的计算机程序之后,在方框440处使得该更新后的计算机程序,而不是更新补丁,可用于其它对等计算机器。
[0036]另一方面,如果存在具有计算机程序的更新后的版本的一个或多个对等机器,则对等接口模块320可以在方框435处从一个或多个对等计算机器取回该更新后的计算机程序。根据一些方面,该客户端机器和对等机器中的一个或多个可以位于同一子网(例如,局域网),并且在一些情况下,该子网上可用的带宽可以大于可用于将数据从更新服务器发送到客户端机器的带宽。
[0037]根据一些方面,可以从使用了对等(P2P)技术的对等机器取回更新后的计算机程序。例如,更新后的计算机程序可以由多个数据块构成,且对等接口模块320可以从一个对等机器接收用于更新后的计算机程序的一些数据块,并从其他对等计算机器接收用于该更新后的计算机程序的其他数据块。从对等机器接收的用于更新后的计算机程序的数据块可以被一起放置于客户端机器300处,以形成更新后的计算机程序。根据一些方面,当用于更新后的计算机程序的数据块接收自对等计算机器时,在方框440处同样可以使得这些数据块可用于其他对等计算机器。
[0038]—旦从对等机器取回更新后的计算机程序,该更新后的计算机程序就能够使用。相应地,客户端机器300可以在不运行软件更新补丁的情况下使用该更新后的计算机程序。然而在一些情况下,可能需要重新启动客户端机器,以便使用更新后的计算机程序。例如,如果更新后的计算机程序是操作系统的新版本,则所述操作系统的新版本可以下载至客户端机器300上的特定位置(例如,专门分区)。为了从操作系统的新版本启动,客户端机器300可以用指令以重新启动以从操作系统的新版本启动。
[0039]根据一些方面,可以通过发送其上安装了更新后的计算机程序的整个存储器单元,以将更新后的计算机程序从对等机器发送到客户端机器300。例如,如果更新后的计算机程序安装在对等计算机器的特定硬盘驱动分区上,则可以将整个分区发送到客户端计算机机器300。在其他方面,如果更新后的计算机程序安装在特定文件系统上或特定文件夹中,则可以将整个文件系统或
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1