CN101952816B - 用于验证已递送软件的***和方法 - Google Patents

用于验证已递送软件的***和方法 Download PDF

Info

Publication number
CN101952816B
CN101952816B CN200980000261.0A CN200980000261A CN101952816B CN 101952816 B CN101952816 B CN 101952816B CN 200980000261 A CN200980000261 A CN 200980000261A CN 101952816 B CN101952816 B CN 101952816B
Authority
CN
China
Prior art keywords
software item
site
user site
software
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200980000261.0A
Other languages
English (en)
Other versions
CN101952816A (zh
Inventor
J·明凯尔里
S·西塞拉曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of CN101952816A publication Critical patent/CN101952816A/zh
Application granted granted Critical
Publication of CN101952816B publication Critical patent/CN101952816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明的某些实施方式提供一种用于对从主站点分发到用户站点的软件进行验证的***。在操作期间,该***在用户站点处从主站点接收主列表,其中主列表指定可以在用户站点上安装的软件项。该***还在用户站点上生成实际列表,其指示在用户站点上实际安装了哪些软件项。该***继而比较实际列表与主列表;以及如果实际列表与主列表不一致,则***执行补救动作。

Description

用于验证已递送软件的***和方法
技术领域
本发明总体上涉及用于通过计算机网络来分发软件的***。更具体地,本发明涉及促进将软件递送至远程站点并且周期性地验证远程站点具有已递送软件的有效、最新版本的软件存储库。
背景技术
高速网络近来蓬勃的发展使得将计算机软件分发到远程站点越发容易。然而,软件分发可能是复杂的过程,因为软件分发经常要分发数百个不同的软件产品,并且每个产品通常具有多个发布(release)。而且,软件产品可能被分发到数百个甚至数千个站点,其中每个站点可能潜在地使用软件产品的不同版本的唯一组合。***管理员进一步增加了这种复杂性,***管理员关于如何安装不同软件通常是具有独创性的,这意味着每个安装通常是不同的。上述每个因素都使得难以有效地分发和维护软件产品。
发明内容
本发明的某些实施方式提供一种用于递送软件的***。在操作期间,该***接收来自用户的选择,其中所述选择指定要从主站点递送至用户站点的软件项。该***还接收来自用户的优先级信息,其中所述优先级信息指定递送选定的软件项的优先级。接下来,该***基于所述优先级信息来确定递送选定的软件项的顺序。最后,该***按照所确定的递送顺序将选定的软件项从主站点递送到用户站点。
在某些实施方式中,递送选定的软件项包括迭代地进行以下动作:将选定的软件项从主站点发送至用户站点;以及在发送下一选定软件项之前,接收对所述选定项的递送的确认。
在某些实施方式中,该***附加地计算递送选定软件项的费用,其中所述费用基于:安装选定软件项的复杂性;选定软件项的大小;和/或组成选定软件项的文件的数目。
在某些实施方式中,在递送选定的软件项之后,该***自动地将对选定软件项的更新从主站点推送至用户站点。
在某些实施方式中,主站点可以是:包含软件的主存储库的主站点;或者包含所述主存储库的副本的从站点。
在某些实施方式中,***接收来自用户的递送选项,其中该递送选项指定选定的软件项是按照预定的安排递送,还是按需递送。在这些实施方式中,递送选定的软件项包括:按照所述递送选项来递送选定的软件项。
在某些实施方式中,该***附加地标识哪些软件项在先前时段中未被加载或者使用,并继而将所标识的软件项归档并将其从主站点移除。
在某些实施方式中,将所标识的软件项归档并将其从主站点移除包括:压缩所标识的软件项;将经过压缩的软件项存储在归档存储库中;以及将所标识的软件项从主站点上的主存储库中移除。
本发明的某些实施方式提供了对从主站点分发到用户站点的软件进行验证的***。在操作期间,该***在用户站点处从主站点接收主列表,其中该主列表指定了可以在用户站点上安装的软件项。该***还在用户站点上生成实际列表,其指示在用户站点上实际安装的软件项。该***继而将实际列表与主列表进行比较,如果实际列表与主列表不一致,则***执行补救动作。
在某些实施方式中,补救动作可以包括:将不一致自动通知给负责该用户站点的***管理员;以及从主站点向用户站点自动重传丢失的、更新的或者损坏的软件项。
在某些实施方式中,主列表是在主站点上更新主列表时接收的,而实际列表在用户站点上周期性地生成。
在某些实施方式中,生成实际列表包括:标识在用户站点处安装了哪些软件项,并继而验证所标识的软件项是否在用户站点处有效安装。
在某些实施方式中,验证给定的软件项有效安装包括验证给定软件项的以下属性:版本号,文件数目,和/或安装的大小和/或校验和。
附图说明
图1示出了按照本发明实施方式的计算机***的联网集合。
图2A示出了按照本发明实施方式的主站点的结构。
图2B示出了按照本发明实施方式的用户站点的结构。
图3给出了示出按照本发明实施方式的分发软件的过程的流程图。
图4给出了示出按照本发明实施方式的自动验证和更新软件的过程的流程图。
图5给出了示出按照本发明实施方式将软件归档并将其从主存储库移除的过程的流程图。
具体实施方式
给出下文描述是为了使本领域技术人员能够实践和使用本发明,并且下文描述是在特定应用及其需求的上下文中提供的。对于本领域技术人员而言,对所公开实施方式的各种修改将是易见的,而且在不脱离本发明的精神和范围的情况下,可以将在此限定的一般性原理应用于其他实施方式和应用。由此,本发明并不限于所示实施方式,而是按照在此公开的原理和特征的最宽范围。
具体实施方式中描述的数据结构和代码通常存储在计算机可读存储介质上,该介质可以是能够存储代码和/或数据以供计算机***使用的任何设备或者介质。计算机可读存储介质包括但不限于:易失性存储器,非易失性存储器,诸如盘驱动、磁带、CD(压缩盘)、DVD(数字通用盘或者数字视频盘)的磁性和光学存储设备,或者现在已知或将来开发的能够存储计算机可读介质的其他介质。
具体实施方式部分中所描述的方法和过程可以具体化为代码和/或数据,其可以存储在如上所述的计算机可读存储介质中。当计算机***读取和执行存储在计算机可读存储介质上的代码和/或数据时,计算机***执行具体化为数据结构和代码并存储在计算机可读存储介质中的方法和过程。此外,下文描述的方法和过程可以包括在硬件模块中。例如,硬件模块可以包括但不限于:专用集成电路(ASIC)芯片,现场可编程门阵列(FPGA),以及现在已知或将来开发的其他可编程逻辑器件。当硬件模块激活时,该硬件模块执行包括在该硬件模块中的方法和过程。
***
图1示出了按照本发明实施方式的计算机***的联网集合。更具体地,图1中所示的示例性***包括主站点107,其包含主存储库,主存储库包含最终要分发至多个用户站点110-116的软件。主站点107还将软件传播到从站点108-109,从站点108-109包含主存储库的副本。这些副本充当“第二层存储库”,其可以用来将软件分发给通常比较靠近从站点的用户站点。更具体地,参考图1,从站点108将软件分发给用户站点113-114,而从站点109将软件分发给用户站点115-116。注意,如果软件项在从站点108处不可用,则主站点107可以绕过从站点108并将软件项直接分发给用户站点114。(注意,软件项可以同时或者随后递送到从站点108。)
而且,每个用户站点包括用于***的瘦客户端,其可以容易地安装在不同的计算平台上,并且促进主站点107与从站点108-109之间的数据传送。更具体地,在图1中,用户站点113包括瘦客户端120,其包含促进将软件从从站点108递送到用户站点113的代码。例如,瘦客户端120可以包括基于web的图形用户界面(GUI),其允许用户选择将要递送的软件项以及关联的递送选项。该基于web的GUI还可以允许用户在各种分发协议之间进行选择。
注意,站点107-116可以属于不同的组织,或者备选地可以属于相同组织。例如,在本发明的一个实施方式中,主站点107和从站点108-109属于软件分发者,而用户站点110-116属于软件分发者的客户。在另一实施方式中,主站点107、从站点108-109和用户站点110-116都属于相同的组织,其中用户站点110-116是该组织的地理上分布的办公室。
上述站点107-116通常可以包括任何类型的计算机***或者计算设备,其可以基于微处理器、大型计算机、数字信号处理器、便携式计算设备、个人组织器、设备控制器或者工具内的计算引擎。
站点107-116通过网络(未示出)彼此通信,网络可以包括能够将计算节点耦合在一起的、任何类型的有线或者无线通信信道。该网络可以包括但不限于:局域网,广域网或者网络组合。在本发明的一个实施方式中,网络包括因特网。在本发明的某些实施方式中,网络包括电话网络和蜂窝电话网络。
主站点
图2示出了按照本发明实施方式的主站点107的结构。主站点107包括:与主存储库202、归档存储库210以及站点数据库(站点DB)214通信的计算引擎212。
如上所述,计算引擎212通常可以包括任何类型的计算机***或者计算设备,其可以基于微处理器、大型计算机、数字信号处理器、便携式计算设备、个人组织器、设备控制器或者工具内的计算引擎。
主存储库202存储不同软件项的产品版本,其例如可以包括不同的软件模块、软件包、软件应用和/或软件工具。更具体地,主存储库202可以包括不同的盘片,其包含不同类型的软件。例如,主存储库202可以包含用于产品应用204、第三方应用206和免费软件208的盘片。注意,主存储库202还可以存储其他类型的非软件内容,诸如包含文本信息的数据文件,或者包含图像、声音或者视频的媒体文件。
归档存储库210包含不同软件项的压缩表示,或者用户站点110-116处的用户不再访问或使用的任何其他类型的内容。
站点DB 214包含关于哪些软件项存储在特定用户站点上的信息。例如,站点DB可以存储:站点标识符、站点名称、与用户站点相关联的客户的名称、客户的联系信息、以及指示要将哪些软件项递送到哪些站点以及何时将特定软件项递送到特定站点的递送信息。站点DB 214还存储用于用户站点的优选递送方法(例如,rsync、ftp)。站点DB还存储必须随同媒体递送到站点的所有相关性信息。该相关性信息可以包括但不限于:用于模块文件、默认版本文件或者任何其他应用/媒体目录的指示符。注意,上述某些信息可以用于计费目的,这将在下文更为详细地描述。
站点DB 214还包含指定如何使用软件项的使用信息。更具体地,使用信息可以指示(1)访问软件项的日期和时间,(2)关联用户,(3)关联机器,(4)软件项的类别和版本号,以及(5)软件项是否被加载或者卸载。注意,如下文更详细地描述的,该信息可以在归档和移除过程中使用。该信息还可以用于主动将用户注册为接收针对某类软件的更新。例如,如果***确定用户频繁访问特定类别的项,则***可以根据趋势分析而自动地将用户注册为接收针对该特定类别中的软件的更新。
注意,主站点107可以使用“推送模型”或者“拉取模型”将软件分发到用户站点。更具体地,主站点107包括模式选择机制200,其将同步模式选择为“推送”或者“拉取”。在推送模型下,数据226(包括软件项)从主站点107或者从站点直接推送到用户站点。与之相反,在拉取模型下,主站点107向用户站点发送通知(诸如电子邮件消息),指示可以从指定的文件传输协议(FTP)服务器222下载软件项。注意,在FTP服务器222上为每个客户分配有专用的、不公开的且安全的区域。而且,FTP服务器222被配置为不知情(blind)和单向,以便仅供客户下载。还要注意,FTP下载需要注册的用户名和口令。用户站点继而在用户站点准备好下载软件项时进行下载。注意,在指定的时段之后,FTP服务器222将自动删除所有用户站点软件递送。
在本发明的一个实施方式中,***可以选择性地使用不同的分发协议来分发软件,诸如“rsync”协议(其对UNIX文件和目录进行同步)、远程shell(RSH)协议、安全shell(SSH)协议或者FTP。
在本发明的一个实施方式中,***创建并行流,以便将新的或者经修改的软件项并行地发送给不同的客户,其中每个客户都具有独立的流。注意,在每个流内,可以顺序地分发软件项。因此,如果要将三个软件项发送给给定客户,则这三个软件项将在针对该给定客户的专用流中发送。然而,在专用流内,这三个软件项将串行(serially)发送。
在某些实施方式中,***还支持基于时间的递送,其中软件项的递送可以延迟到较不繁忙的时间(通常是下班时间)期间进行,从而最小化将会影响其因特网连接的用户站点用户的可能的带宽竞争问题。
在某些实施方式中,***还跟踪与软件工具相关联的包之间的相关性。这使得***例如能够在已经递送了包括软件工具的其他包之后,递送诸如模块文件或者库文件之类的补充包。
在某些实施方式中,在将软件分发给用户站点时,***自动改变程序代码中的硬编码路径名称,使得路径名称映射至不同用户站点处的不同目录中的有效位置。这可以包括站点级映射和应用级映射二者。例如,对于属于ABC公司的站点,***可以将“/remote/foobar”自动映射为“/remote/ABC”。然而,对于属于ABC公司的站点上的Synthesis(合成)应用而言,***可以将“/remote/foobar”自动映射为“/remote/ABC/synthesis”。
在某些实施方式中,主站点107处的计算引擎212执行“更新检查”操作,以确定主存储库202是否包含需要分发给用户站点的新的或更新的软件项。更具体地,更新检查包括首先创建存储库中所有项的列表汇编,并将该汇编与最后生成的汇编进行比较,以确定是否已经添加了新的类别。(通过指定的配置设定,计算引擎212可以每天创建和比较项目列表N次。)更新检查还包括对主存储库202中整个存储库的修改时间的第二级检查,以确定是否发生过任何改变。如果修改时间指示发生了某些改变,则***标识主存储库202中任何新的或者已修改的软件项。这使得***能够按照需要将该新的或经修改的软件项分发给用户站点。
在某些实施方式中,***支持自监测多级通知/网络延时检测特征。在这些实施方式中,通过检查同步是否在将内容递送给特定用户站点中正有所进展,以及针对特定用户站点的吞吐量是否在预定的可接受范围之内,计算引擎212能够(通过多级监测技术)监测其自己的同步状态。更具体地,在某些实施方式中,***支持两级监测,包括(1)监测同步状态以及(2)监测吞吐量。
在检测同步状态的同时,计算引擎212检查对用户站点的同步是否按照预期进展。如果同步过程针对特定用户站点的运行长于预定时段,则计算引擎212可以发送电子邮件消息形式的通信提示,以警告***管理员已经检测到了问题,并且可能没有满足所需的服务级协议(SLA)。注意,每个用户站点可被独立编程,以指定有效同步过程的适当持续时间,以及指定在出现问题时要通知的一个或多个人员。而且,计算引擎212可以配置为在预定的时间检查每个用户站点的状态。
在监测吞吐量的同时,计算引擎212检查对用户站点的每个递送的吞吐率,以检测网络带宽的任何不利变化。此类不利变化可能导致带宽降低,并可能由此导致对用户站点的递送的吞吐量下降到针对此类递送的已建立标准之下。如果对于指定的用户站点,吞吐率从之前的已建立速率有所下降,则可以向管理员发送电子邮件消息形式的通信提示。更具体地,在每个递送之后,计算引擎212可以将每个递送的当前吞吐量与站点的预期吞吐量进行比较,并且可以在最近递送的吞吐量显著降低的情况下提示管理员。可以针对计算引擎212中注册的用户站点的每个唯一的同步流执行该检查。
用户站点
图2B示出了按照本发明实施方式的用户站点113的结构。用户站点113包括用户存储库232,其包含之前从主站点107获得的软件项的本地副本。
用户站点113还包括盘空间监测器234,其跟踪用户存储库232中有多少盘空间可用。在软件递送过程期间,盘空间监测器234确定用户站点113是否具有足够的空间来容纳递送。这可以包括将可用盘空间与将要递送的软件项的大小(以及各种阈值)进行比较。如果需要,***发送两级提示,其通知***管理员(或者其他负责人员):(1)盘空间“低”并且递送在继续,或者(2)盘空间“非常低”并且无法促进后续递送。
用户站点113还包括应用使用分析器230,其跟踪软件项的使用信息。如上所述,该使用信息可以指定(1)访问软件项的日期和时间,(2)关联用户,(3)关联机器,(4)软件项的类别和版本号,以及(5)软件项是否被加载或卸载。注意,该信息可以传送至主站点107,以便在归档移除过程中使用,这将在下文更为详细地描述。使用信息可选地支持从最常使用的媒体的计算引擎212到目标用户站点的自动同步。
分发软件
图3给出了示出按照本发明实施方式的分发软件的过程的流程图。在操作期间,***接收来自用户的选择,其中该选择指定将要从主站点递送到用户站点的软件项(步骤302)。注意,该选择可以接收自位于用户站点之一处的用户。而且,该选择可以与购买协议、许可协议或者使用该软件的其他任何类型的合同相关联。
***还可以从用户接收其他类型的信息。例如,***可以附加地从用户接收优先级信息,其指定递送选定软件项的优先级(步骤304)。这使得***能够首先递送较为重要或者时间要求较严格的软件项。***还可以从用户接收递送选项,其中递送选项指定如何递送选定的软件项(步骤306)。例如,选定的软件项可以基于预定的安排进行递送,或者备选地,其可以在用户请求递送时按需递送。
接下来,***基于优先级信息来确定期望的递送顺序(步骤308)。***继而按照所确定的递送顺序以及选定的递送选项,将选定的软件项从主站点107递送至用户站点。在此过程期间,***迭代地执行以下动作:将选定的软件项从主站点发送到用户站点(步骤310);以及在发送下一选定软件项之前,确认该选定项的递送(步骤312)。注意,如果无法确认给定软件项的递送,则***可以重发该给定软件项。(与之相反,在拉取模型下,主站点107向用户站点发送通知,指示选定软件项已准备好递送,并且用户站点从主站点107内的FTP服务器222拉取软件。)
在某些实施方式中,***附加地计算递送选定软件项的费用(步骤314)。例如,费用可以基于:安装选定软件项的复杂性;选定软件项的大小;和/或组成选定软件项的文件的数目。***继而可以基于所计算的费用向用户收费。账单还可以包括针对来源于不同源的媒体的不同递送成本,并且这些不同递送成本可以合并到同一账单中。
在本发明的某些实施方式中,在递送选定软件项之后,***自动地将对选定软件项的更新从主站点推送至用户站点以及已加载了相同软件的任何其他用户站点(步骤316)。
验证和更新软件
图4给出了示出按照本发明实施方式的自动验证和更新软件的过程的流程图。在操作期间,***在用户站点处从主站点107接收主列表(也称为“清单”),其中主列表指定了可以安装在用户站点上的软件项(步骤402)。在某些实施方式中,只要主列表在主站点上更新,就接收主列表。
***还周期性地生成用户站点上的实际列表(清单),其指示在用户站点上实际安装的软件项(步骤404)。注意,该过程可以包括标识在用户站点处安装了哪些软件项,以及继而验证所标识的软件项在用户站点处是否有效安装。在某些实施方式中,验证给定的软件项是否有效安装包括验证该给定软件项的以下属性:版本号,文件数目,和/或安装的大小和/或校验和。
***继而将实际列表与主列表进行比较(步骤406)。如果实际列表与主列表不一致(步骤408-“是”),***执行补救动作,这可以包括将不一致自动地通知给负责该用户站点的***管理员(步骤410)。这还可以包括自动从主站点向用户站点重传丢失的、更新的或者损坏的软件项(步骤412)。在重传之后,***通过在用户站点处执行检查来确定重传是否成功。***继而将重传状态通知给***管理员(步骤414)。如果重传不成功,***可以返回步骤412,以再次重传软件项(如步骤414到步骤412的返回箭头所示)。在不成功地进行N次重传之后,***可以将该问题通知给管理员,并建议管理员可能需要人工重传来解决和/或调试该问题。
归档和移除软件
图5给出了示出按照本发明的实施方式将软件归档并将其从主存储库移除的过程的流程图。在此过程期间,***标识哪些软件项在先前时段内未在用户站点处加载或者使用(步骤502)。例如,每个用户站点可以跟踪在该用户站点处加载了哪些软件项。继而可以将该信息周期性地发送给主站点。这使得主站点能够标识在先前一段时段(例如,90天)内未在任何用户站点处被加载的软件项。在先前时段内未加载软件项这一事实指示:该软件项可能在将来也不会被加载。
接下来,为了节约主存储库中的盘空间,***对所标识的软件项归档并将其从主存储库移除。这可以包括:压缩所标识的软件项(步骤504);将经过压缩的软件项存储在归档存储库中(步骤506);以及将所标识的软件项从主站点上的主存储库移除(步骤508)。
注意,如果在将来有所请求,可以恢复已归档的软件项。这包括:从归档存储库获取软件项;解压缩软件项;以及继而将解压缩的软件项恢复到主存储库,使其可以按照需要分发给用户站点。
仅仅出于示例和描述目的,给出了对实施方式的上文描述。其并非意在穷尽或是将本发明限于所公开的形式。因此,多种修改和变形对于本领域技术人员而言将是易见的。而且,上述公开内容并不意在限制本发明。本发明的范围由所附权利要求书限定。

Claims (8)

1.一种用于从主站点向用户站点分发软件的方法,包括:
在所述用户站点处从所述主站点接收主列表,其中所述主列表指定主存储库中的能够被安装在所述用户站点上的软件项;
在所述用户站点上生成实际列表,其指示在所述用户站点上实际安装了哪些软件项;
比较所述实际列表与所述主列表;
响应于确定所述主列表中列出的软件项未被安装在所述用户站点上,从所述主站点向所述用户站点传输所述软件项以在所述用户站点处安装;
响应于确定已经超过了用于将所述主列表与所述实际列表同步的预定时间量,向负责管理所述主站点的管理员发送通知,以指示已经超过了所述预定时间量;
响应于确定所述传输的网络吞吐量低于预定吞吐量值,向负责管理所述主站点的管理员发送通知,以指示所述网络吞吐量低于所述预定吞吐量值;
标识哪些软件项在先前时段内未在用户站点处加载或者使用;以及
向所述主站点周期性发送所标识的软件项列表,由此使得所述主站点能够标识哪些软件项在先前一段时段内未在任何用户站点处被加载,对所标识的软件项进行归档并将其从所述主存储库移除。
2.如权利要求1所述的方法,
其中使得所述主站点能够对所标识的软件项进行归档并将其从所述主存储库移除包括:
压缩所标识的软件项;
将经过压缩的软件项存储在归档存储库中;以及
将所标识的软件项从所述主存储库移除。
3.如权利要求1所述的方法,其中生成所述实际列表包括:
标识在所述用户站点处安装了哪些软件项;以及
验证已标识的软件项在所述用户站点处是否有效安装。
4.如权利要求3所述的方法,其中验证给定软件项是否有效安装包括验证所述给定软件项的一个或多个以下属性:
版本号;
文件数目;
安装的大小;以及
校验和。
5.一种从主站点向用户站点分发软件的设备,包括:
接收装置,其配置用于在所述用户站点处从所述主站点接收主列表,其中所述主列表指定主存储库中的能够被安装在所述用户站点上的软件项;
列表生成装置,其配置用于在所述用户站点上生成实际列表,指示在所述用户站点上实际安装了哪些软件项;
比较装置,其配置用于比较所述实际列表与所述主列表;
传输装置,其配置用于响应于确定所述主列表上列出的软件项未被安装在所述用户站点上,从所述主站点向所述用户站点传输所述软件项以在所述用户站点处安装;
第一通知装置,配置用于响应于确定已经超过了用于将所述主列表与所述实际列表同步的预定时间量,向负责管理所述主站点的管理员发送通知,以指示已经超过了所述预定时间量;
第二通知装置,配置用于响应于确定所述传输的网络吞吐量低于预定吞吐量值,向负责管理所述主站点的管理员发送通知,以指示所述网络吞吐量低于所述预定吞吐量;
标识装置,其配置用于标识哪些软件项在先前时段内未在用户站点处加载或者使用;以及
发送装置,其配置用于向所述主站点周期性发送所标识的软件项列表,由此使得所述主站点能够标识哪些软件项在先前一段时段内未在任何用户站点处被加载,对所标识的软件项进行归档并将其从所述主存储库移除。
6.如权利要求5所述的设备,
其中使得所述主站点能够对所标识的软件项进行归档并将其从所述主存储库移除包括:
压缩所标识的软件项;
将经过压缩的软件项存储在归档存储库中;以及
将所标识的软件项从所述主存储库移除。
7.如权利要求5所述的设备,其中在生成所述实际列表时,所述列表生成装置配置用于:
标识在所述用户站点处安装了哪些软件项;以及
验证已标识的软件项在所述用户站点处是否有效安装。
8.如权利要求7所述的设备,其中在验证给定软件项是否有效安装时,所述列表生成装置配置用于验证所述给定软件项的一个或多个以下属性:
版本号;
文件数目;
安装的大小;以及
校验和。
CN200980000261.0A 2008-09-29 2009-08-11 用于验证已递送软件的***和方法 Active CN101952816B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/240,555 US20100083246A1 (en) 2008-09-29 2008-09-29 System and method for verifying delivered software
US12/240,555 2008-09-29
PCT/US2009/053398 WO2010036454A2 (en) 2008-09-29 2009-08-11 System and method for verifying delivered software

Publications (2)

Publication Number Publication Date
CN101952816A CN101952816A (zh) 2011-01-19
CN101952816B true CN101952816B (zh) 2014-06-25

Family

ID=42059085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980000261.0A Active CN101952816B (zh) 2008-09-29 2009-08-11 用于验证已递送软件的***和方法

Country Status (4)

Country Link
US (1) US20100083246A1 (zh)
CN (1) CN101952816B (zh)
TW (1) TW201023041A (zh)
WO (1) WO2010036454A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515727B2 (en) * 2008-03-19 2013-08-20 International Business Machines Corporation Automatic logic model build process with autonomous quality checking
CN102346709A (zh) 2010-07-30 2012-02-08 国际商业机器公司 软件开发辅助方法及***
CN102012826A (zh) * 2010-11-19 2011-04-13 奇智软件(北京)有限公司 一种软件智能安装/升级的方法及***
KR101816589B1 (ko) * 2011-08-10 2018-01-09 한국전자통신연구원 서비스형 소프트웨어 목록 갱신 방법 및 이를 위한 시스템
GB2513913A (en) * 2013-05-10 2014-11-12 Vetco Gray Controls Ltd A method of reducing downtime of production controls during upgrades
CN106445584B (zh) * 2016-08-31 2019-01-04 福建联迪商用设备有限公司 软件模块的管理方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075943A (en) * 1997-08-13 2000-06-13 International Business Machines Corporation System and method for client server software installation
US6199204B1 (en) * 1998-01-28 2001-03-06 International Business Machines Corporation Distribution of software updates via a computer network
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446109B2 (en) * 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US6418555B2 (en) * 1998-07-21 2002-07-09 Intel Corporation Automatic upgrade of software
US6553375B1 (en) * 1998-11-25 2003-04-22 International Business Machines Corporation Method and apparatus for server based handheld application and database management
EP1170667B1 (en) * 2000-07-07 2005-06-29 Sun Microsystems, Inc. Software package verification
JP2004178206A (ja) * 2002-11-26 2004-06-24 Nec Corp ネットワークを利用したソフトウェア資産管理漏れ検出方法、システム、サーバ、及びプログラム
US7225263B1 (en) * 2002-12-04 2007-05-29 Cisco Technology, Inc. Method and apparatus for retrieving access control information
US7555749B2 (en) * 2003-03-10 2009-06-30 Microsoft Corporation Software updating system and method
JP3862738B2 (ja) * 2004-05-19 2006-12-27 クワンティ株式会社 情報処理装置、ソフトウェア更新システム、ソフトウェア更新方法及びそのプログラム
US20060015450A1 (en) * 2004-07-13 2006-01-19 Wells Fargo Bank, N.A. Financial services network and associated processes
US20060026010A1 (en) * 2004-07-29 2006-02-02 Van Moorsel Adrianus P Computerized cost tracking system
US8813063B2 (en) * 2006-12-06 2014-08-19 International Business Machines Corporation Verification of successful installation of computer software
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075943A (en) * 1997-08-13 2000-06-13 International Business Machines Corporation System and method for client server software installation
US6199204B1 (en) * 1998-01-28 2001-03-06 International Business Machines Corporation Distribution of software updates via a computer network
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software

Also Published As

Publication number Publication date
CN101952816A (zh) 2011-01-19
US20100083246A1 (en) 2010-04-01
WO2010036454A2 (en) 2010-04-01
WO2010036454A3 (en) 2010-07-22
TW201023041A (en) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101784998A (zh) 用于递送软件的***和方法
CN101952816B (zh) 用于验证已递送软件的***和方法
US7788352B2 (en) System and method for servicing a user device
US8112549B2 (en) Alert mechanism for notifying multiple user devices sharing a connected-data-set
US7904900B2 (en) Method in a network of the delivery of files
US7925635B1 (en) System and method for collecting statistics related to software usage
US20070014243A1 (en) System and method for provisioning a user device
US20070016632A1 (en) System and method for synchronizing between a user device and a server in a communication network
CN105653329A (zh) 一种应用管理的方法、装置及***
WO2005107417A2 (en) System and method for communicating with electronic devices
CN103608781A (zh) 用于服务的恢复服务位置
CN101194233A (zh) 测试无线组件应用程序的***和方法
US20100042991A1 (en) Business-in-a-box integration server and integration method
CN104317607A (zh) 一种企业In-house IOS APP自动升级***与方法
CN109992450A (zh) ***升级回退方法、终端、服务器及存储介质
CN109324821B (zh) 一种自助终端***版本管理方法
US7181739B1 (en) Installation relationship database
JP2004535626A (ja) データおよび/またはサービスのダイナミックな配信のためのシステムおよび方法
CN112000540A (zh) 分布式部署产品的监控处理方法、***、设备和存储介质
CN104184767A (zh) 文件自动传输方法
US20240193254A1 (en) Systems, devices, and methods for tracking remote equipment location and utilization of computing devices
CN114693233A (zh) 企业资源规划***及其自动更新方法
CN117850829A (zh) 软件更新方法、启动器、服务器、电子设备、存储介质
US20090150206A1 (en) Notification system and method
KR20090096221A (ko) 소프트웨어 콤포넌트의 설치 결과를 보고하기 위한 방법 및장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant