CN100530158C - 在网络化的资源上复制源文件的方法和服务器计算装置 - Google Patents

在网络化的资源上复制源文件的方法和服务器计算装置 Download PDF

Info

Publication number
CN100530158C
CN100530158C CNB031086500A CN03108650A CN100530158C CN 100530158 C CN100530158 C CN 100530158C CN B031086500 A CNB031086500 A CN B031086500A CN 03108650 A CN03108650 A CN 03108650A CN 100530158 C CN100530158 C CN 100530158C
Authority
CN
China
Prior art keywords
source file
group
server
increment
delta package
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.)
Expired - Fee Related
Application number
CNB031086500A
Other languages
English (en)
Other versions
CN1455348A (zh
Inventor
保罗·约瑟夫·莱曼·肖特兰德
高瑞夫·拉夫·达蔓
大卫·C·詹姆斯
拉杰高波兰·巴卓·纳拉亚南
马丁·内皮尔·戴伊
戴尼欧·尼超拉斯·卓斯夫·卓
多伊尔·S·克隆柯
郑凯·肯尼斯·潘
布鲁斯·W·科柏兰德
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1455348A publication Critical patent/CN1455348A/zh
Application granted granted Critical
Publication of CN100530158C publication Critical patent/CN100530158C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

所公开的结构和程序在网络化资源上复制源文件。具体地说,服务器接收对应于在先前的源文件组和一个或多个新源文件组之间的差别的软件包更新通知。响应接收软件包更新通知,识别对应于该差别的源文件的增量组。确定为增量复制配置的在企业网络中的一组源和/或发布服务器。将所识别的源文件的增量组发送给所确定的源和/或发布服务器。

Description

在网络化的资源上复制源文件的方法和服务器计算装置
技术领域
本发明涉及企业管理。更具体地说,所公开的发明涉及在企业网络内的软件应用系统的安装和维护。
背景技术
因特网和环球网(WWW)已对企业网络产生了极大的影响,公司使用它们进行电子商务和因特网存取以及客户/服务器应用系统和传统的网络服务(比如电子邮件)。有效的系统和网络管理通过如下的措施降低并控制成本:实行有效的资产管理、降低高强度任务比如安装、维护和重新配置软件所需的时间、使大范围的数据通信链路的成本最小、使系统在停工期的成本最小、提供适当等级的服务,等等。
对于在地理上跨越较大区域的公司来说在企业网络中安装和维护软件是主要的成本。这是因为维护公司计算机系统的绝大部分成本通常来自软件的安装、支持和维护。几个厂商提供了整个企业管理方案以在整个企业中安装和维护软件应用系统。
但不幸的是,常规的整个企业管理软件安装和维护技术一般具有这样的局限:它们通常要求相当大量的并且可能是昂贵的企业网络带宽来在整个企业网络上进行大数据量通信以执行比如软件安装、更新或修复。
例如,安装、更新或修复软件应用系统的整个企业管理技术通常包含给在企业中的任何数量的源文件发布点(DP)发送完整的软件包。完整的软件包例如包括一个或多个软件应用系统,该应用软件系统带有与对被包括的软件应用系统的安装、删除、修复或其它的维护所需的所有的相应文件(例如数据文件、配置文件、脚本文件等)。DP是最终用户从其中安装新的软件应用系统安装、更新和/或修复用的软件应用系统源文件的位置。企业可以具有几千个DP以服务不同的网络化设备(例如,终端用户计算机、打印机以及其它的外围设备、网络器具等)的软件要求。
从由中央统一管理的源文件服务器发布到目标DP的每个软件包可能包括正确执行和配置特定的软件应用系统所需的任何数量的文件(例如,可能几十、几百或几千个文件)。此外,每包的软件安装/删除脚本确保,在它们将当前的软件包的内容拷贝到目标DP上之前,从目标DP中删除软件应用系统的任何的先前安装的版本。根据这一点,很清楚的是,常规的整个企业管理软件安装和维护技术通常要求使用相当大的甚至可能特别昂贵的网络带宽来在企业的每个DP中安装和/或维护软件。
通过下述的结构和程序可解决传统系统和程序在整个企业网络上安装、更新以及维护软件应用系统的这些局限性以及其它的局限性。
发明内容
所公开的结构和程序在网络化资源上复制源文件。
具体地说,本发明提供一种在网络化的资源上复制源文件的计算机执行的方法,该方法包括:通过中央源服务器从发布服务器接收指示在先前的源文件组和一个或多个新源文件组之间的差别的包更新通知;以及响应接收包更新通知:通过中央源服务器识别对应于该差别的源文件的增量组,其中源文件的增量组包括更新、保持或修复一个或多个可执行的软件应用的脚本;通过中央源服务器确定被配置用于增量复制到一个或多个客户计算装置的在企业网络中的一组发布服务器;和通过中央源服务器将源文件的增量组发送给该组发布服务器,其中为了进一步从中央源服务器发布到发布服务器而不是从发布服务器发布到中央源服务器的目的,进行源文件的增量组的发送。
本发明还提供一种在网络化的资源上复制源文件的中央服务器计算装置,该服务器计算装置包括:接收装置,用于接收指示在先前的源文件组和一个或多个新源文件组之间的差别的包更新通知,该包更新通知是从与中央服务器连接的发布服务器接收的;识别装置,用于响应接收包更新通知,识别对应于该差别的源文件的增量组,其中源文件的增量组包括更新、保持或修复一个或多个可执行的软件应用的脚本;确定装置,用于确定为增量复制配置的在企业网络中的一组发布服务器;和发送装置,用于将源文件的增量组发送给该发布服务器,以便随后发布到其它计算装置,其中发布服务器不是为了更新任何其它的计算装置的目的而将源文件的任何增量组发送到中央服务器计算装置。
附图说明
在整个附图中相同的标号用于表示相似的特征和部件。
附图1所示为在网络化的资源上执行源文件和包的增量复制的实例性系统。
附图2所示为在站点体系中通过将增量源和/或增量包复制到任何数量的第一级和第二级站点来管理在企业中的源文件的发布的附图1的实例性源服务器的特征。
附图3所示为在网络化的资源上执行源文件和包的增量复制的实例性程序。
附图4所示为附图3的实例性程序以在网络化的资源上执行源文件和包的增量复制(DR)的进一步特征。具体地说,附图4所示为将增量源发送给使用(enable)DR的那些站点的进一步的实例性特征。
附图5所示为附图3的实例性程序以在网络化的资源上执行源文件的DR的进一步特征。具体地说,附图5所示为将增量包发送给使用DR的那些站点的进一步的实例性特征。
具体实施方式
下文的描述阐述了实例性的主题以在带有子位置的位置之间执行源文件和包的增量复制。这些实例性主题满足规定的条件。但是,这些描述本身并不希望限制本专利的范围。而是,结合其它当前或将来的技术,本发明人认为所要求保护的主题还可以以其它的方式实施以包括不同的部件或与在本说明书中描述的部件类似的部件的结合。
概述
所描述的主题执行源包和文件的增量复制以将软件发布给网络化的计算机。具体地说,在企业网络内的中央的或第一级的服务器产生并发布完整包或增量包以在企业内的发布点上安装、更新、修复和/或一般维护软件。例如这种第一级服务器和发布点可以以部分执行Microsoft’s System Management
Figure C0310865000081
(SMS)技术的相应服务器为代表,这种技术已经被适当地修改以并入本详细描述的说明书的新技术。
不管是以完整包、增量包发布源文件还是作为增量源(即,仅仅源文件变化/更新的镜像拷贝),所发布的包都将包括发布点安装、更新、修复或一般维护特定站点的软件清单所需的所有文件(例如,软件源文件、删除和/或安装脚本、数据文件等)。(最终用户通过存取站点软件清单可以在它们相应的客户上存取和安装站点软件)。具体地说,如果需要的是,完整包包括从DP中完整地删除的对应于先前安装的任何软件应用系统的所有文件的脚本。完整包也包括将与软件应用系统相对应的所有源文件、数据文件、脚本等完整地安装在DP上的脚本。
与这种完整包相反,增量包或增量源仅包括与在特定DP上先前安装的软件相比的差别、变化或增量,这些差别、变化或增量是更新、修复及其维护在DP上的软件应用系统所需的。一旦被DP接收,打开增量文件可以删除一个或多个先前安装的源文件、数据、文件、脚本等以及带有相应的更新和/或修复版本的对应部分的替换。
此外,中央的企业服务器可以产生增量包,以使将在特定的DP上的源文件或软件应用系统从一个特定的版本更新到另一个版本。在该实例中,与在中央的服务器上的当前的版本相比,如果在特定的DP上的源文件或应用系统是过期的几个版本,则构造所产生的增量包以仅包括在特定的DP上删除和安装在不同版本之间的差别所需的那些文件。这种过程称为“规范化”,因为它使在特定的DP上的软件清单与在第一级父服务器(它可以是或不是企业的中央服务器)上的软件清单同步。
此外,如果基于每个DP的相应的要求源文件必须复制到许多不同的状态,则增量复制构造并发布不同的增量包以使仅相对于将特定的DP正确更新到当前版本状态所要求的文件(或者所请求的版本状态)更新每个DP。(如果要产生新的DP或源位置,则增量复制将发送完整包或完整源文件给特定的站点,因此可以开始起源文件位置的作用)。
由于源文件的有效运动是使在较大的或在物理上完全不同的企业内不同位置之间昂贵的且可能是非常昂贵的带宽使用最小的关键,与在背景技术部分中所描述的常规的发布技术相比,所描述的在带有子位置的位置之间的源文件和包复制可以实质地减小整个企业管理软件发布拷贝的次数和通信通路带宽的消耗。
实例性系统
附图1所示为从在通信通路104比如网络(例如,企业内部互联网和/或因特网)上的中央父站点(如,站点102)到任何数量的子站点106实施源文件和包的增量复制的实例性系统100。每个站点(即,102至106的第一级和第二级站点)是在相同的局域网(LAN)上的一个或多个区域的组。一个区域是在相应的站点102或106内作为一组管理的一组服务器和客户(例如,相对于站点102所示的服务器108和客户110)。(下文参考附图2-4更详细地描述实例性服务器108的特征)。
通过将站点组织为分级结构表示在系统100内的父站点和子站点。父站点(例如站点102)是包括在分级结构中在它之下的其它站点(例如站点106)的站点(中央的和/或第一级的)。子站点是报告给在分级结构中在它之上的父站点的站点(第一级的或第二级的)。第一级站点存储用于它自己和它的子站点的系统数据比如软件清单信息等(例如系统数据可以本地存储在数据库比如SQL数据库中)。第二级站点将它的数据(例如软件清单信息)报告给第一级站点并且不存储其它站点的数据。在系统100中每个第一级和第二级站点能够与它的相应的父站点和任何中间子站点进行数据(例如软件清单、增量复制包等)通信。
在这种实例性的系统100中,站点102是父站点,它也是中央站点,因为它在系统100或站点分析结构中的顶部。因此,中央站点102也是存储用于管理为所有的其它站点106以完整包和/或增量复制包发布源文件的全系统的信息的第一级站点。在另一实例中,第一级站点106-2是父站点(例如,站点106-N的父站点)以及子站点(例如中央/第一级站点102的子站点)。
因此,系统100包括中央站点102和任何数量的子站点106。因此,系统100的特定的系统结构可大可小并且能够被构造成适合于特定的组织、管理和/或管理要求(例如,系统100的父/子站点体系可以几乎是平面的或者可以是很多层的,具有少数几个站点或多个站点)。
虽然所示的服务器108和客户110对应于站点102,并且每个其它的站点106也具有相应的服务器108和客户110。每个服务器108是源服务器和/或发布服务器。源服务器108包括要发布给位于子站点106上的发布服务器108(“子站点”,是当前的站点的子站点)的原始源文件。发布服务器108接收增量源文件(例如作为镜像拷贝)和/或拆开通过源服务器108所发布的完整或增量复制包,由此使在该站点上的客户110可得到该文件(即,接收增量源或包文件)。这意味着虽然下文的描述涉及使增量源和/或增量包218从源服务器108或200发送到发布服务器108,但是可以理解的是接收发布服务器108的增量源/包218自身可以是将所接收的源/包218发布给位于子站点106的其它的发布服务器108的源服务器108。(下文参考附图2-4更详细地分别描述实例性的服务器108的特征)。
根据系统100所需的管理确定将特定的服务器108构造成源和/或发布服务器108。但是,因为第一级站点102也是站点分层结构100的中央站点102(即,它存储管理所有其它的第一级和第二级站点的源文件的发布的全系统的信息),因此中央站点至少具有一个源服务器108。此外,每个站点(第一级或第二级)必须具有至少一个发布服务器108。
客户110是包括耦合到处理器的存储器的任何计算装置,其中存储器包括计算机可执行的指令以将源文件接收并安装到存储器中并将源文件清单报告给发布服务器108。(存储器包括读和写的易失性和非易失性计算机可读媒体的任何组合)。因此,客户装置110可作为如下许多不同的计算装置110中的任一种运行,比如个人计算机、图像服务器计算机、小型客户、大型客户、手持或膝上型设备、多处理器系统、微处理器系统、置顶盒、可编程用户电子器件、无线电话、应用专用集成电路(ASIC)、网络PC、小型计算机、大型计算机等。
实例性增量包和源文件服务器
附图2所示为存储用于管理以完整或增量复制包和/或作为增量源文件将源文件发布给在附图1的站点体系100中的任何数量的第一级和第二级站点的全系统信息的实例性源服务器200(例如附图1的源服务器108)的特征。源服务器200包括在总线203上耦合到系统存储器204的处理器202。
总线203表示几种类型中的一种或多种总线结构,包括存储器总线或存储器控制器、外设总线、加速的图形端口和使用任何总线结构的处理器或局部总线。作为举例但不是限制性的,这种结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线和也称为中楼总线的外设部件互连(PCI)总线。
系统存储器204包括许多种计算机可读媒体。这种媒体可以是通过处理器202可存取的任何商用媒体,它包括易失性和非易失性媒体、可移动或不可移动媒体。例如,系统存储器204包括易失性存储器形式的计算机可读媒体,比如随机存取存储器(RAM)和/或非易失性存储器,比如只读存储器(ROM)。基本的输入/输出系统(BIOS)包含有助于在计算机200内的元件之间比如在启动的过程中传递信息的基本程序,它存储在ROM中。RAM通常包含通过处理器202可立即存取或马上运行的至少一部分数据208和程序模块204。
处理器202被构造为从存储器204的应用系统或程序模块206部分中获取并执行计算机程序指令。以通过计算机执行的计算机可执行的指令的通常方式描述程序模块204。一般地,程序模块204包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、部件、数据结构等。
在网络化的资源上执行源文件和包的增量复制的实例性系统和程序在附图1的分布式计算环境100中实施,在这种分布式计算环境中通过由通信网络链接的远程处理装置执行任务。因此,程序模块204可以位于包括存储器存储装置的本地和远程计算机存储器媒体中。
源服务器200的程序模块204例如包括增量包和增量源管理器模块210和其它模块212(例如,操作系统、全企业管理应用系统、网页浏览器等)。处理器也可以被构造成从存储器204的数据208部分中获取数据,同时执行程序模块204。数据208例如包括站点分级体系的原始源文件214的软件清单216、增量包218、配置数据220和其它的数据。现在描述模块206和数据208的实例性特征。
完整包和增量包管理器模块210有利于在企业网络中不同的DP站点106上安装、更新、修复和/或配置软件应用系统和其它源文件214。为实现这些,管理器模块210构造、维护完整包、增量包218和/或增量源(例如至少一个源文件214)并将其连同指定的脚本或任务发送给这些不同的DP。包和任务的组合使管理器模块210可以在LAN或广域网(WAN)上进行软件通信,将软件和其它的数据发布到在站点106上的指定的DP服务器,以及从指定的站点106(例如服务器108)中删除软件或源文件214。
完整包包括对应于特定的应用系统的所有的源文件214(包括数据、脚本等),不管某些源文件214是否已经被改变、更新等,而其它的源文件没有。换句话说,一个完整包并不是仅仅包括与先前版本的软件包相比的改变或“增量”。一旦接收了完整包,发布服务器108在数据库(如果它第一级站点)中存储该包,如果压缩该包,则在将它的相应的内容存储到存储器比如客户110的数据库中之前对包进行解压以便访问和可能的进一步发布给在子站点106上的其它发布服务器108(如果有的话)。
与完整包相对比,增量包或增量源218仅包括自将先前的包(完整或增量)已经发送给一个或多个子站点106时起已经改变的那些源文件214。例如,源服务器108(尤其是包管理器模块210)构造增量包218以便仅以特定的发布服务器108所需的那些源文件214更新特定的发布服务器108。
因此,管理器模块210产生增量包218或识别增量源218以复制对应于应用系统的任何数量的源文件214的不同配置。因为增量包218仅包括源文件变化、更新、调整、对应的脚本(用于自动安装和增量包218内容的配置)等,发布的增量包可能实质上比完整包小,在常规的方式中将完整包发送给发布服务器108。发送更小的增量包218(如同增量源218)给在大的和/或在物理上完全不同的企业中的任何数量发布服务器108对企业的限制通信通路数据通过量或带宽和处理资源产生实质更小的影响。
一旦接收增量包218,发布服务器108在数据库(如果它是第一级站点的话)中存储增量包218,并且如果压缩包,则在将它的相应内容存储在存储器比如客户110的数据库中之前解压该包以便访问和可能的到在子站点106上的其它的发布服务器108(如果有的话)的其它的发布。
现在参考附图3和4的实例性增量包应用编程接口(API)和实例性程序300描述增量包和源文件管理器210的进一步特征,进一步阐述它们每个增量源文件和/或包218的产生、维护和发布的相应的特征。
用于增量包的产生和操作的实例性API
包管理器模块210包含许多新的增量复制文件API以构造、维护和发布增量源文件和/或包218(连同指定的脚本或任务)给发布服务器108。(增量源文件和/或包产生信息、维护和发布API在下文中称为增量包API)。API可以以任何方式实施。例如,增量包API可以作为部件对象模型(COM)对象实施。COM是十分公知的面向对象的编程模型,它定义了对象如何在单个的应用系统或应用系统之间作用。在COM中,客户软件通过指向与接口相关的功能组的指针存取对象,这称为对象方法(methods-on the object)。现在描述一组实例性的增量文件API。
产生压缩的文件增量接口将源文件与原始文件(都以源文件214表示)进行比较,可以压缩或可以不压缩它。基于在原始文件中存储的文件记录进行压缩;如果压缩了该文件,则不要求解压。如果已经增加或改变了文件则压缩它并将其增加到增量包218(改变的文件替换在包中的它的相应的过期的文件)。如果已经从应用系统中删除了特定的文件,则这个接口给增量包218增加记录或标志,它表示从相应的完整包222中已经删除了特定的文件。
合并压缩的文件数据接口将改变的或增量文件合并到压缩的文件中。换句话说,这个接口根据增量文件的内容从压缩的文件中增加、替换或删除条目。通过产生临时的输出文件可以实现这些,在临时输出文件中通过根据需要从增量文件或原始压缩文件中增加数据可以产生新的压缩文件。然后以新的文件替换在完整包222中的旧的文件。
规范化的压缩文件增量接口获取序列增量文件单并从旧的增量文件中删除冗余数据以节省磁盘空间以及减小增量更新所要求的网络数据通过量(例如,如果将文件增加到第一增量中,从第二增量中删除,然后再次将某些修改(即,与在第一增量中的文件比较)增加到第三数据中,仅一次将文件发送给特定的发布服务器,而不管三个增量版本如何。
合并压缩的文件增量接口获取序列增量文件单并产生包含在原始文件中所有变化的单个文件。将这个增量应用到压缩文件中等效于将每个原始增量应用到客户从其中安装应用系统/文件的源位置中。
复制包接口评价在目的子站点106上的包版本差异并产生适当的增量包218。例如,按照在父站点上的数据库中所要求,获得的远程包版本接口确定子站点发布点版本条目的最低的发布服务器106包版本。这种在最低发布点包版本中在父站点之间的包版本之间的差异被发送给产生包增量接口以合并这些版本的增量以产生要发送给子站点106的完整增量包218。
产生包增量接口合并中间增量包版本的增量以产生最新的增量包以发送给所有的子站点106。如果任何中间增量遗失或者被破坏,则从在产生包的站点102上的压缩包源文件夹中删除它们,还一并标记包括比被破坏的版本更早的版本的包的任何增量以便删除。
获得远程包版本功能查询在父站点、父站点发布点、子站点和子站点发布点上的源214的完整包版本中的增量。这种接口返回最小的指定的站点106的源214版本。
增量包产生和管理的实例性程序
附图3所示为在网络化的资源上执行源文件和包的增量复制的实例性程序300。在方块302中,通过附图1的中央源服务器102接收包更新通知消息。这种通知消息指示当前在中央的服务器102上的源文件的完全或完整包222已经被更新、修改或某些改变。管理控制台的管理者(例如,SMS管理者控制台)可以响应在完整包222中的源文件的更新产生这种通知消息。
在产生和/或更新这种完整包222时,管理者指定特定的包数据源选项以指示:(1)压缩的源文件拷贝(一个包)是否应该从相应的源服务器108发送给相应的发布服务器108;或者(2)源文件是否应该以未封装的形式(即增量源文件)从在源服务器108上的源目录214或224发送给相应的发布服务器108。
包数据源选项可能以许多不同的方式与特定的包222相关。例如,包数据源选项可以存储在源服务器108上作为配置数据220、软件清单数据220、作为在特定的包222中的标题等。
在块304中,响应已接收包更新通知(块302),包管理器评价站点控制文件。这种评价识别特定的目标站点106以接收更新并进一步指示是否为增量复制(DR)而配置在目标站点106上的发布服务器108;即,作为增量包/源218接收并管理这种更新的能力。如果服务器108能够接收增量更新并为任何子发布点和/或站点产生增量更新,则服务器108是使用增量的。
在块306中,包管理器210将完整包222发送给那些不使用DR的发布服务器108。
在块308中,包管理器210将增量包或增量源发送给那些使用DR的发布服务器108。(是否给特定的站点106发送增量包或源取决于对应于所接收的包更新通知(块302)的包222的包数据源选项;下文参考附图4更详细地描述这些特征)。
在块310中,包管理器210对指示由于某些原因(例如由于通信失败、破坏数据等)造成特定的增量包218(规则的或规范化的)的发送不成功的所有的站点106进行自动恢复。这种成功/失败的表示可以以许多方式确定。例如,发布服务器108可以将状态消息发送给发送源服务器108,在这里状态消息指示接收或安装所发送的增量包或增量源218成功或失败。
为执行块312的自动恢复操作,包管理器210可以再次试图将最新产生的增量包218(规则的或规范化的)发送给表示先前失败接收、安装或构造所发送的包218或222的那些发布服务器108。可替换的是,包管理器210可以将所压缩的更新完整包222发送给指示了这种失败的状态的发布服务器108。(参考附图4的块408更详细地描述实例性压缩更新完整包222)。这样,包管理器210能够在发布服务器108进行包/源通信/安装失败的情况下执行自动恢复机构。
在块314中,增量包管理器210通过从旧的增量包218中删除冗余数据对增量包218进行规范化。具体地说,包管理器210相对于最新产生的增量包218的内容评价先前产生的增量包218的内容(块308)。根据保持这种信息的在附图2中的增量版本历史数据文件216可以很容易地确定相应的旧的增量包218的内容。通过将所有缓存的增量包218(即对应于特定的完整包222)规范化为单个最新的增量包218来进一步减小数据存储器的要求。
附图4所示为在整个网络化的资源上执行源文件和包的增量复制的附图3的实例性程序300的进一步特征。具体地说,附图4进一步示出了将增量源或增量包发送给使用DR的那些发布服务器108,如上文参考附图3的块308所示。
在块402中,已经确定在特定的站点106(附图3的块304)中使用DR,在中央源服务器108上的增量包管理器210确定先前为新的完整包222的发布选择的特定的数据源选项。(即,如上文参考附图3的块302讨论)在第一次产生源文件214的包222时,管理者指定特定的包222数据源选项。数据源选项是:(1)使用源的压缩拷贝;或者,(2)总是从源清单中获得文件。在第一次发送包222时包管理器210为父站点106DP108不同地产生并发布增量包218,管理者基于该增量包选择特定的选项。
在块404中,如果“总是从源清单中获得文件”不是包发布选项,则在附图5的块502(以页面标号“A”表示)继续详细说明程序300的块308。否则,在块406中,包管理器210执行增量源文件218到站点106DP108的镜像拷贝操作。为实现这个操作,增量源管理器210将在新的包222中的源文件之间的文件属性与软件清单或在相应的目标发布服务器108中已有的源文件进行比较。以这种方式进行比较的源文件属性例如包括文件名、文件大小、文件时间标记和/或文件路径。
增量包管理器210维护在软件清单216数据文件中的站点软件清单。如果在新的包222中的特定的源文件与在特定的发布服务器108上的源文件不同(例如,被增加、被删除、被修改等),则特定的源文件拷贝到特定的发布服务器108;否则特定的源文件不拷贝到特定的发布服务器108。
块402和404的特定的数据发布确定操作(即,包或源文件是否要发送给子站点106)更专用于企业的中央源服务器108。在子站点106从父站点102或102接收包或源文件时,所接收的源文件包的任何进一步分发都以与接收它们的方式相同的方式发送给任何接收站点106的子站点106(如果有的话)。
附图5所示为在网络化的资源上执行源文件和包的增量复制的附图3的实例性程序300的进一步特征。具体地说,附图5所示为将增量源或增量包发送给那些使用DR的站点108的进一步的实例性特征,如上文参考附图3和4的块308所描述。
在块502中,如果“使用源的压缩的拷贝”是包的发布选项,则增量包管理器210通过比较在原始发布的完整包222中的源文件和新包222的源文件内容产生增量包218。在原始包222和新包222之间的差异存储在新的增量包218中。
在块504中,包管理器210将最新产生的增量包218(块502)合并到对应于所接收的更新通知(附图3的块302)的原始压缩的包文件222以在新包222中产生源文件的完全压缩的二进制等价文件。然后通过源服务器108将这种压缩的更新的完整包222存储以用于后续的使用(例如,用于响应附加的更新通知消息(附图3的块302),用于在附图3的块312的自动恢复机构中使用,等)。
在块506中,对于其目标是接收包更新的每个发布服务器108(附图3的块302),增量包管理器210从在所接收的包更新(块302)中表示的源文件中确定当前正被每个相应目标的发布服务器108所使用的包的版本是否过期不止一个版次。在块(508)中,对于使用与所接收的包更新(块302)相比过期不超过一个版次的每个相应的发布服务器108,增量包管理器210将新近产生的增量包218(块502)发送给相应的发布服务器108。
在块510中,对于与所接收的包更新(块302)相比当前具有过期不止一个版次的包的每个相应的发布服务器108,增量包管理器210产生相应的规范化的增量包218。规范化的增量包218包括使特定的发布服务器108从它的源文件的过期版本到当前的源文件版本所需的整个源文件,如由最新产生的增量包218所示。
为执行这种规范化的操作,增量包管理器210确定使相应的发布服务器108内容从它的特定的源文件版本到当前的源文件版本所需的每个相应的源文件,如最新产生的增量包218(块502)所示。基于这些所确定的源文件差异增量包管理器210将一个或多个先前产生的增量包218与最新产生的增量包218合并(块502)以产生规范化的增量包218。
在包管理器210中缓存先前的增量包文件218直到在特定的源发布服务器108配置数据220中识别的最大数量。这种最大的增量包缓存数可能基于许多标准。例如,默认数量的缓存增量包218可取决于系统100的特定的站点106的配置、子站点106的数量和更新为包222的数量和频率等。
此外,包管理器210可以产生规范化的增量包218,这些增量包218仅包括那些使在发布服务器108上的特定的软件应用系统从特定的版本更新到另一指定的版本所需的源文件差异,所指定的版本不必是最新的版本。包/源管理器210以许多不同的方法中的任意方法确定发布服务器108希望哪种软件应用版本。例如,包/源管理器210通过到服务器108的通信消息询问希望哪个软件应用版本,并响应这种询问发布服务器108以它所希望的版本作出响应。此外,这种版本信息可以作为配置数据220存储并因此进行更新。
在块512中,增量包管理器210将相应的规范化的增量包218发送给具有相应的包的发布服务器108,该相应的包与所接收的包更新(块304)相比过期不止一个版次。
计算机可读媒体
从在通信通路104比如网络(例如企业内部互联网和/或因特网)的中央父站点102到任何数量子站点106执行源文件和包的增量复制的实例性主题可以在某些形式的计算机可读媒体上存储或发送。计算机可读媒体可以是由计算机可存取的任何可用媒体。例如(但不限于),计算机可读媒体可以包括“计算机存储媒体”和“通信媒体”。
“计算机存储媒体”包括以任何方法实施的易失性和非易失性、可移动的和非可移动的媒体或存储信息的技术比如计算机可读指令、数据结构、程序模块或其它的数据。计算机存储媒体包括(但不限于)RAM、ROM、EEPROM、高速存储器或其它的存储技术、CD-ROM、数字通用盘(DVD)或其它的光学存储器、盒式磁带、磁带、磁盘存储器或其它的磁性存储装置或能够用作存储所需的信息并可由计算机存取的任何其它的媒体。
“通信媒体”通常包含计算机可读指令、数据结构、程序模块或在已调制的数据信号中的其它的数据,比如载波或其它的传输机构。通信媒体也包括任何信息输送媒体。
术语“已调制的数据信号”是指具有一个或多个特征集或以对该信号中的信息进行编码的方式改变的信号。作为举例但并不限于,通信媒体包括有线媒体(比如有线网络或直接有线连接)和无线媒体(比如声、RF、红外和其它的无线媒体)。任何上述的媒体的组合也都包括在计算机可读媒体的范围内。
总结
所述的结构和程序用于在网络化的资源上执行源文件和包的增量复制。虽然在本说明书中就特定的结构特征和方法步骤已经描述了在网络化的资源上执行源文件和包的增量复制的结构和系统,但是应该理解的是如在附加的权利要求中所定义的结构程序不必限于所描述的特定的特征或操作。相反所公开的特定的结构和操作是作为实施所要求的保护的主题的优选形式。

Claims (19)

1.一种在网络化的资源上复制源文件的计算机执行的方法,该方法包括:
通过中央源服务器从发布服务器接收指示在先前的源文件组和一个或多个新源文件组之间的差别的包更新通知;以及
响应接收包更新通知:
通过中央源服务器识别对应于该差别的源文件的增量组,其中源文件的增量组包括更新、保持或修复一个或多个可执行的软件应用的脚本;
通过中央源服务器确定被配置用于增量复制到一个或多个客户计算装置的在企业网络中的一组发布服务器;和
通过中央源服务器将源文件的增量组发送给该组发布服务器,其中为了进一步从中央源服务器发布到发布服务器而不是从发布服务器发布到中央源服务器的目的,进行源文件的增量组的发送。
2.如在权利要求1中所述的方法,其中该差别对应于对先前的源文件组进行的源文件的修改、删除或增加。
3.如在权利要求1中所述的方法,其中发送源文件的增量组进一步包括:
将源文件的增量组压缩成增量包;和
将增量包发送给所述组的服务器以便随后拆包、安装和/或进一步发布。
4.如在权利要求1中所述的方法,其中发送源文件的增量组进一步包括将源文件的增量组镜象到该组发布服务器。
5.如在权利要求1中所述的方法,在发送操作之前,进一步包括:
识别具有与由新的源文件组所表示的特定版本相比过期不止一个版次的当前包的目标发布服务器;
产生包括一组源文件的规范化的增量包,该增量包可以由所述目标发布服务器用于更新当前的包以使该当前的包是至少更接近该特定的版本的一个版次;和
其中发送给该目标发布服务器的源文件的增量组是规范化的增量包。
6.如在权利要求1中所述的方法,在发送操作之前,进一步包括:
识别具有与由新的源文件组所表示的特定版本相比过期不止一个版次的当前包的目标发布服务器;
产生包括一组源文件的规范化的增量包,该增量包可以由所述目标发布服务器用于更新当前的包以使该当前的包对应于该特定的版本;和
其中发送给该目标发布服务器的源文件的增量组是规范化的增量包。
7.如在权利要求1中所述的方法,进一步包括基于源文件的增量组的内容通过从先前增量包中删除数据来规范化先前的增量包。
8.如在权利要求6中所述的方法,进一步包括:
将先前的增量包规范化为单个最新的增量包,该最新的增量包并入了由源文件的增量组所表示的差别;和
删除先前的增量包。
9.如在权利要求1中所述的方法,进一步包括:
确定将源文件的增量组发送给每个发布服务器的成功或失败状态;和
响应确定失败状态,将新的源文件组发送给其中确定失败状态的所有发布服务器,该新的源文件组表示源文件的完整包。
10.如在权利要求1中所述的方法,进一步包括:
确定将源文件的增量组发送给每个发布服务器的成功或失败状态;和
响应确定失败状态,将源文件的增量组重新发送给其中确定失败状态的所有发布服务器。
11.一种在网络化的资源上复制源文件的中央服务器计算装置,该服务器计算装置包括:
接收装置,用于接收指示在先前的源文件组和一个或多个新源文件组之间的差别的包更新通知,该包更新通知是从与中央服务器连接的发布服务器接收的;
识别装置,用于响应接收包更新通知,识别对应于该差别的源文件的增量组,其中源文件的增量组包括更新、保持或修复一个或多个可执行的软件应用的脚本;
确定装置,用于确定为增量复制配置的在企业网络中的一组发布服务器;和
发送装置,用于将源文件的增量组发送给该发布服务器,以便随后发布到其它计算装置,其中发布服务器不为了更新任何其它的计算装置的目的而将源文件的任何增量组发送到中央服务器计算装置。
12.如在权利要求11中所述的服务器计算装置,其中该差别对应于对先前的源文件组进行的源文件的修改、删除或增加。
13.如在权利要求11中所述的服务器计算装置,其中发送源文件的增量组的装置进一步包括:
压缩装置,用于将源文件的增量组压缩成增量包;和
所述发送装置进一步包括用于将增量包发送给该组发布服务器以便随后拆包、安装和/或进一步发布的装置。
14.如在权利要求11中所述的服务器计算装置,其中发送源文件的增量组的发送装置进一步包括将源文件的增量组镜象到该组发布服务器的镜像装置。
15.如在权利要求11中所述的服务器计算装置,其中:
所述识别装置进一步包括用于识别具有与由新的源文件组所表示的特定版本相比过期不止一个版次的当前包的目标发布服务器的装置;
所述服务器计算装置进一步包括产生装置,用于产生包括一组源文件的规范化的增量包,该增量包可以由所述目标发布服务器用于更新当前的包以使该当前的包是至少更接近该特定的版本的一个版次;和
其中发送给该目标发布服务器的源文件的增量组是规范化的增量包。
16.如在权利要求11中所述的服务器计算装置,进一步包括基于源文件的增量组的内容通过从先前增量包中删除数据来规范化先前的增量包的规范化装置。
17.如在权利要求15中所述的服务器计算装置,进一步包括:
规范化装置,用于将先前的增量包规范化为单个最新的增量包,该最新的增量包并入了由源文件的增量组所表示的差别;和
删除装置,用于删除先前的增量包。
18.如在权利要求11中所述的服务器计算装置,其中:
所述确定装置进一步包括用于确定将源文件的增量组发送给每个发布服务器的成功或失败状态的装置;和
所述发送装置进一步包括用于响应确定失败状态,将新的源文件组发送给其中确定失败状态的所有发布服务器的装置,该新的源文件组表示源文件的完整包。
19.如在权利要求11中所述的服务器计算装置,其中:
所述确定装置进一步包括用于确定将源文件的增量组发送给每个发布服务器的成功或失败状态;和
所述服务器计算装置进一步包括重新发送装置,用于响应确定失败状态,将源文件的增量组重新发送给其中确定失败状态的所有发布服务器。
CNB031086500A 2002-04-03 2003-04-02 在网络化的资源上复制源文件的方法和服务器计算装置 Expired - Fee Related CN100530158C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/116,775 US7600021B2 (en) 2002-04-03 2002-04-03 Delta replication of source files and packages across networked resources
US10/116,775 2002-04-30

Publications (2)

Publication Number Publication Date
CN1455348A CN1455348A (zh) 2003-11-12
CN100530158C true CN100530158C (zh) 2009-08-19

Family

ID=28041092

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031086500A Expired - Fee Related CN100530158C (zh) 2002-04-03 2003-04-02 在网络化的资源上复制源文件的方法和服务器计算装置

Country Status (5)

Country Link
US (1) US7600021B2 (zh)
EP (1) EP1351136A3 (zh)
JP (1) JP4159394B2 (zh)
CN (1) CN100530158C (zh)
TW (1) TWI326168B (zh)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925467B2 (en) * 2002-05-13 2005-08-02 Innopath Software, Inc. Byte-level file differencing and updating algorithms
US7228317B1 (en) * 2002-06-18 2007-06-05 Yahoo! Inc. Method and apparatus for accelerating and improving access to network files
US20040025033A1 (en) * 2002-08-02 2004-02-05 Todd Luke B. System and method for preventing unauthorized installation, use and reproduction of software
US9646339B2 (en) * 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US6836657B2 (en) * 2002-11-12 2004-12-28 Innopath Software, Inc. Upgrading of electronic files including automatic recovery from failures and errors occurring during the upgrade
US7096311B2 (en) * 2002-09-30 2006-08-22 Innopath Software, Inc. Updating electronic files using byte-level file differencing and updating algorithms
US7003534B2 (en) * 2002-11-18 2006-02-21 Innopath Software, Inc. Generating difference files using module information of embedded software components
US7844734B2 (en) 2002-11-18 2010-11-30 Innopath Software, Inc. Dynamic addressing (DA) using a centralized DA manager
US7007049B2 (en) * 2002-11-18 2006-02-28 Innopath Software, Inc. Device memory management during electronic file updating
US7320010B2 (en) 2002-11-18 2008-01-15 Innopath Software, Inc. Controlling updates of electronic files
US20040098421A1 (en) * 2002-11-18 2004-05-20 Luosheng Peng Scheduling updates of electronic files
US7904432B2 (en) * 2003-01-24 2011-03-08 Hewlett-Packard Development Company, L.P. Compressed data structure for extracted changes to a database and method of generating the data structure
US8255361B2 (en) * 2003-01-31 2012-08-28 Oracle America, Inc. Method and system for validating differential computer system update
US7031972B2 (en) 2003-07-21 2006-04-18 Innopath Software, Inc. Algorithms for block-level code alignment of software binary files
US8539063B1 (en) 2003-08-29 2013-09-17 Mcafee, Inc. Method and system for containment of networked application client software by explicit human input
EP1676195A4 (en) * 2003-10-23 2007-08-29 Innopath Software Inc DYNAMIC ADDRESSING BY CENTRALIZED DYNAMIC ADDRESSING MANAGER
WO2005055055A1 (ja) * 2003-12-05 2005-06-16 Fujitsu Limited データ管理システム,データ管理装置,データ管理方法,データ供給システム,データ管理プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US7231502B2 (en) * 2004-02-04 2007-06-12 Falcon Stor Software, Inc. Method and system for storing data
JP4354314B2 (ja) * 2004-03-16 2009-10-28 株式会社日立製作所 サーバ差分管理システム及び情報処理装置の制御方法
US7516451B2 (en) 2004-08-31 2009-04-07 Innopath Software, Inc. Maintaining mobile device electronic files including using difference files when upgrading
US7747998B2 (en) * 2004-08-31 2010-06-29 Microsoft Corporation Elevated patching
US7552431B2 (en) * 2004-08-31 2009-06-23 Microsoft Corporation Multiple patching in a single installation transaction
US7703090B2 (en) * 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US7552430B2 (en) * 2004-08-31 2009-06-23 Microsoft Corporation Patch sequencing
US7873955B1 (en) 2004-09-07 2011-01-18 Mcafee, Inc. Solidifying the executable software set of a computer
US7769849B2 (en) * 2004-10-25 2010-08-03 Lsi Corporation Method for detecting changes in a storage area network without external tools and hardware
US8972545B2 (en) 2004-11-02 2015-03-03 Dell Products L.P. System and method for information handling system image network communication
US20060112152A1 (en) * 2004-11-22 2006-05-25 Microsoft Corporation Smart patching by targeting particular prior versions of a file
US20060117075A1 (en) * 2004-12-01 2006-06-01 International Business Machines Corporation Prerequisite, dependent and atomic deltas
TWI255420B (en) * 2004-12-22 2006-05-21 Mitac Technology Corp Software package system
JP2006185059A (ja) * 2004-12-27 2006-07-13 Fujitsu Ltd コンテンツ管理装置
US8949388B2 (en) * 2005-04-25 2015-02-03 Dell Products L.P. System and method for information handling system image network communication
US8255362B2 (en) * 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using local changesets that represent differences between software on a repository and a local system
US8255363B2 (en) * 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
US7577661B2 (en) * 2005-06-30 2009-08-18 Microsoft Corporation Extensible and automatically replicating server farm configuration management infrastructure
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US7725436B1 (en) * 2006-01-12 2010-05-25 Network Appliance, Inc, Method and system for reducing the number of read-only, persistent point-in-time images on a storage server
US7676565B2 (en) * 2006-01-27 2010-03-09 Microsoft Corporation Light weight software and hardware inventory
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
RU2388045C2 (ru) * 2006-06-19 2010-04-27 Самсунг Электроникс Ко., Лтд. Система и способ обновления программы для переносного устройства с поддержкой ота
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US9563640B2 (en) * 2007-02-09 2017-02-07 Micro Focus Software Inc. Techniques for versioning files
US20080201705A1 (en) 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US8762984B2 (en) * 2007-05-31 2014-06-24 Microsoft Corporation Content distribution infrastructure
US8701189B2 (en) 2008-01-31 2014-04-15 Mcafee, Inc. Method of and system for computer system denial-of-service protection
US8560732B2 (en) * 2008-02-19 2013-10-15 Red Hat, Inc. Peer-to-peer object distribution
JP4840670B2 (ja) * 2008-03-25 2011-12-21 日本電気株式会社 仮想マシンのデプロイ高速化システム、その方法及びそのプログラム
US8615502B2 (en) 2008-04-18 2013-12-24 Mcafee, Inc. Method of and system for reverse mapping vnode pointers
US20100083242A1 (en) * 2008-09-30 2010-04-01 Kai Altstaedt Installation management system for an aircraft server
DE102008042497A1 (de) * 2008-09-30 2010-04-08 Airbus Deutschland Gmbh Installationsmanagementsystem für einen Flugzeugserver
US8544003B1 (en) 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
TWI405439B (zh) * 2009-04-30 2013-08-11 Ipanel Technologies Ltd 資料下載和上傳的實現方法、網路節點及通信系統
US8381284B2 (en) 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
JP5478986B2 (ja) * 2009-08-21 2014-04-23 株式会社日立ソリューションズ 情報機器及びプログラム
US9122558B2 (en) 2009-11-09 2015-09-01 Bank Of America Corporation Software updates using delta patching
US8671402B2 (en) 2009-11-09 2014-03-11 Bank Of America Corporation Network-enhanced control of software updates received via removable computer-readable medium
US20110113226A1 (en) * 2009-11-09 2011-05-12 Bank Of America Corporation Distribution Of Software Updates
US9128799B2 (en) 2009-11-09 2015-09-08 Bank Of America Corporation Programmatic creation of task sequences from manifests
US8972974B2 (en) * 2009-11-09 2015-03-03 Bank Of America Corporation Multiple invocation points in software build task sequence
US9176898B2 (en) 2009-11-09 2015-11-03 Bank Of America Corporation Software stack building using logically protected region of computer-readable medium
US8584113B2 (en) * 2009-11-09 2013-11-12 Bank Of America Corporation Cross-updating of software between self-service financial transaction machines
US9552497B2 (en) 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US9582319B2 (en) 2010-08-13 2017-02-28 International Business Machines Corporation Migrating virtual machines across network separated data centers
US8549003B1 (en) 2010-09-12 2013-10-01 Mcafee, Inc. System and method for clustering host inventories
CN102402441B (zh) * 2010-09-16 2014-08-20 腾讯科技(深圳)有限公司 一种对多台计算机进行配置的系统和方法
US10289453B1 (en) * 2010-12-07 2019-05-14 Amazon Technologies, Inc. Allocating computing resources
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US8856486B2 (en) * 2011-02-23 2014-10-07 Citrix Systems, Inc. Deploying a copy of a disk image from source storage to target storage
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
JP5760716B2 (ja) 2011-03-30 2015-08-12 富士通株式会社 アプリ提供システム、アプリ提供方法、情報処理装置及び情報処理プログラム
JP5686046B2 (ja) 2011-03-31 2015-03-18 富士通株式会社 アプリ提供システム、アプリ提供方法及びアプリ提供プログラム
US10169381B2 (en) * 2011-05-13 2019-01-01 Entit Software Llc Database recovery by container
US8997085B2 (en) 2011-06-24 2015-03-31 International Business Machines Corporation Image delta-based upgrade of complex stack in software appliance
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8973144B2 (en) 2011-10-13 2015-03-03 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
CN102508740A (zh) * 2011-10-26 2012-06-20 上海文广互动电视有限公司 文件系统远程复制方法
US9389606B2 (en) * 2011-11-11 2016-07-12 Rockwell Automation Technologies, Inc. Agile control model system and method
US8700691B2 (en) * 2011-12-05 2014-04-15 Microsoft Corporation Minimal download and simulated page navigation features
US10289743B2 (en) 2012-01-19 2019-05-14 Microsoft Technology Licensing, Llc Client-side minimal download and simulated page navigation features
US9846605B2 (en) 2012-01-19 2017-12-19 Microsoft Technology Licensing, Llc Server-side minimal download and error failover
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US9075693B2 (en) 2012-06-27 2015-07-07 Google Inc. Methods for updating applications
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9455876B1 (en) * 2013-02-01 2016-09-27 Ingram Micro Inc. Method and standard for integrating applications into a cloud
CN104252364B (zh) * 2013-06-25 2017-09-12 腾讯科技(深圳)有限公司 增量更新的方法、设备及系统
CN103401895B (zh) * 2013-07-12 2016-08-10 深信服网络科技(深圳)有限公司 网络加速方法及系统
CN105580023B (zh) 2013-10-24 2019-08-16 迈克菲股份有限公司 网络环境中的代理辅助的恶意应用阻止
CN104714811A (zh) * 2013-12-13 2015-06-17 中兴通讯股份有限公司 差分升级包的制作方法及装置、系统差分升级方法及装置
US9996339B2 (en) 2014-06-04 2018-06-12 Microsoft Technology Licensing, Llc Enhanced updating for digital content
US9563418B1 (en) 2015-03-26 2017-02-07 Captioncall, Llc Communication endpoints, software update servers, and related methods
US9740473B2 (en) 2015-08-26 2017-08-22 Bank Of America Corporation Software and associated hardware regression and compatibility testing system
CN105260265A (zh) * 2015-09-23 2016-01-20 浪潮(北京)电子信息产业有限公司 一种融合快照实现方法及系统
CN105373408A (zh) * 2015-12-07 2016-03-02 福建新大陆通信科技股份有限公司 一种基于机顶盒软件的补丁包升级方法及系统
US10324637B1 (en) * 2016-12-13 2019-06-18 EMC IP Holding Company LLC Dual-splitter for high performance replication
CN108965974A (zh) * 2017-05-22 2018-12-07 中兴通讯股份有限公司 一种下载机顶盒的显示界面的方法及装置
US10963239B2 (en) 2018-10-18 2021-03-30 International Business Machines Corporation Operational file management and storage
CN110492979B (zh) * 2019-08-22 2022-10-28 杭州海兴电力科技股份有限公司 一种增量数据传输方法、装置、从机及存储介质
CN111708619B (zh) * 2020-08-20 2020-11-06 上海冰鉴信息科技有限公司 基于消息队列和数据库的分布式事务处理方法及系统
CN112947983B (zh) * 2021-04-15 2024-03-15 网易(杭州)网络有限公司 应用程序更新方法及装置、电子设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996038785A1 (de) * 1995-05-29 1996-12-05 Siemens Aktiengesellschaft Aktualisierungsmechanismus für benützerprogramme in einem rechnernetz
EP0981099A2 (en) * 1998-08-17 2000-02-23 Connected Place Limited A method of and an apparatus for merging a sequence of delta files
JP2000076105A (ja) * 1998-08-29 2000-03-14 Stc Internatl Computers Ltd タイムバ―ジョンデ―タ記憶装置
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816872B1 (en) * 1990-04-26 2004-11-09 Timespring Software Corporation Apparatus and method for reconstructing a file from a difference signature and an original file
US5630116A (en) * 1993-08-11 1997-05-13 Nec Corporation Automatic delivery system for master files in a distributed processing system
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
US5806078A (en) * 1994-06-09 1998-09-08 Softool Corporation Version management system
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US6389582B1 (en) * 1995-12-21 2002-05-14 John Valainis Thermal driven placement
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication
US6314565B1 (en) * 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
EP1005674A4 (en) * 1997-07-15 2002-03-13 Pocket Soft Inc SYSTEM FOR DETECTING DIFFERENCES BETWEEN TWO COMPUTER FILES AND UPDATING OF COMPUTER FILES
US6351467B1 (en) * 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files
JPH11167510A (ja) * 1997-12-04 1999-06-22 Hitachi Ltd レプリケーション方法、レプリケーションツール、および、レプリケーションサーバ
GB2341462B (en) * 1998-09-12 2003-06-11 Ibm Method for deployment of incremental versions of applications
US6338092B1 (en) * 1998-09-24 2002-01-08 International Business Machines Corporation Method, system and computer program for replicating data in a distributed computed environment
US6163811A (en) * 1998-10-21 2000-12-19 Wildseed, Limited Token based source file compression/decompression and its application
US6516327B1 (en) * 1998-12-24 2003-02-04 International Business Machines Corporation System and method for synchronizing data in multiple databases
US6647399B2 (en) * 1999-11-29 2003-11-11 International Business Machines Corporation Method, system, program, and data structures for naming full backup versions of files and related deltas of the full backup versions
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
AU2001272970A1 (en) * 2000-06-22 2002-01-02 Synchrologic, Inc. A system and method for file transmission using file differentiation
KR100455566B1 (ko) * 2000-06-30 2004-11-09 인터내셔널 비지네스 머신즈 코포레이션 코드 갱신을 위한 장치 및 방법
US6944856B2 (en) * 2001-05-09 2005-09-13 Sun Microsystems, Inc. Method, system, program, and data structures for applying a patch to a computer system
US7185063B1 (en) * 2001-06-22 2007-02-27 Digital River, Inc. Content delivery network using differential caching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996038785A1 (de) * 1995-05-29 1996-12-05 Siemens Aktiengesellschaft Aktualisierungsmechanismus für benützerprogramme in einem rechnernetz
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
EP0981099A2 (en) * 1998-08-17 2000-02-23 Connected Place Limited A method of and an apparatus for merging a sequence of delta files
JP2000076105A (ja) * 1998-08-29 2000-03-14 Stc Internatl Computers Ltd タイムバ―ジョンデ―タ記憶装置

Also Published As

Publication number Publication date
JP2003308210A (ja) 2003-10-31
CN1455348A (zh) 2003-11-12
TW200305319A (en) 2003-10-16
US7600021B2 (en) 2009-10-06
EP1351136A2 (en) 2003-10-08
TWI326168B (en) 2010-06-11
US20030220944A1 (en) 2003-11-27
EP1351136A3 (en) 2006-03-15
JP4159394B2 (ja) 2008-10-01

Similar Documents

Publication Publication Date Title
CN100530158C (zh) 在网络化的资源上复制源文件的方法和服务器计算装置
CN100449524C (zh) 维护基于组件的软件产品
WO2021213065A1 (zh) 一种区块链数据归档方法、装置和计算机可读存储介质
US9047392B2 (en) System and method for conversion of JMS message data into database transactions for application to multiple heterogeneous databases
JP4549715B2 (ja) ネットワーク化された周辺デバイスクライアントのための周辺デバイスドライバ維持管理スキーム
US7010580B1 (en) Method and apparatus for exchanging data in a platform independent manner
AU2005229697B2 (en) Method and apparatus for metadata driven business logic processing
US6223345B1 (en) System and method for building client and server application packages
CN100365569C (zh) 以完全无影响方式安装软件应用程序的系统和方法
US10621212B2 (en) Language tag management on international data storage
US8250102B2 (en) Remote storage and management of binary object data
US20170223003A1 (en) Integrated data extraction and retrieval system
US20140025802A1 (en) Method for extending business systems to a mobile workforce
US9274783B2 (en) Dynamic delivery and integration of static content into cloud
US20040194016A1 (en) Dynamic data migration for structured markup language schema changes
CN104781791A (zh) 通用可插拔云灾难恢复系统
US9971779B2 (en) Automated data intake system
CN102165419A (zh) 用于管理批作业的计算机系统及其方法及计算机程序
US11036590B2 (en) Reducing granularity of backup data over time
CN102804202A (zh) 内容网格搜索
CN114490677A (zh) 数据分析系统中的数据同步
US20050234990A1 (en) System and method for tracking documents
EP3051457A1 (en) Method for performing file synchronization control, and associated apparatus
CN116964985A (zh) 通知控制方法、验证方法、信息处理装置以及通知控制程序
US7783662B2 (en) Federated information management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CI01 Publication of corrected invention patent application

Correction item: Priority

Correct: [32]2002.04.03

False: [32]2002.04.30

Number: 46

Volume: 19

CI02 Correction of invention patent application

Correction item: Priority

Correct: [32]2002.04.03

False: [32]2002.04.30

Number: 46

Page: The title page

Volume: 19

COR Change of bibliographic data

Free format text: CORRECT: PRIORITY; FROM: ¢32!2002.4.30 TO: ¢32!2002.4.3

ERR Gazette correction

Free format text: CORRECT: PRIORITY; FROM: ¢32!2002.4.30 TO: ¢32!2002.4.3

C14 Grant of patent or utility model
GR01 Patent grant
CI01 Publication of corrected invention patent application

Correction item: priority date

Correct: 2002.4.3

False: 2002.4.30

Number: 33

Page: 1734

Volume: 25

CI03 Correction of invention patent

Correction item: priority date

Correct: 2002.4.3

False: 2002.4.30

Number: 33

Page: The title page

Volume: 25

ERR Gazette correction

Free format text: CORRECT: DATE OF PRIORITY DATE; FROM: 2002.4.30 TO: 2002.4.3

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20200402

CF01 Termination of patent right due to non-payment of annual fee