CN1949758A - 用于更新分布式应用的方法和系统 - Google Patents
用于更新分布式应用的方法和系统 Download PDFInfo
- Publication number
- CN1949758A CN1949758A CN200610082579.6A CN200610082579A CN1949758A CN 1949758 A CN1949758 A CN 1949758A CN 200610082579 A CN200610082579 A CN 200610082579A CN 1949758 A CN1949758 A CN 1949758A
- Authority
- CN
- China
- Prior art keywords
- application
- server
- application server
- message
- message transfer
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种用于更新多个应用-服务器环境中的分布式应用的方法、系统和计算机程序产品,其中至少一个服务器比另一服务器更迟接收更新,并且更新传送被更新跟踪器以消息历史的形式跟踪。在优选实施例中,应用将跨多个服务器分布,并且将跨网络或其它通信组构从中央储存库接收更新。响应于启动数据处理系统中的应用服务器,通过安全连接来联系消息传送系统,以确定是否在应用服务器不能用来更新应用的时候发生了应用更新分发,并且响应于确定出发生了所述应用更新分发而接收应用。
Description
技术领域
本发明一般地涉及数据处理,并且具体而言涉及由多个节点构成的企业中的数据处理。更具体地说,本发明提供了一种用于向企业中的节点部署应用的方法、系统和计算机程序产品。
背景技术
因特网(也被称作“互联网”)是借助网关联合在一起的一组计算机网络,这些计算机网络很可能不相同,并且网关用来处理数据传送以及从发送网络的协议到接收网络所用协议的消息转换。当大写时,术语“因特网(Internet)”指的是世界范围内的使用TCP/IP协议组的网关与网络的集合。
因特网已经成为作为信息与娱乐源的文化工具。许多企业正在创建因特网站点以作为它们市场工作的不可分割的一部分,进而通知消费者企业所提供的产品或服务,或者提供意在产生品牌忠诚度的其它信息。许多联邦、州以及地方政府机构出于提供信息的目的也使用因特网站点,特别是实际上必须与社会的所有部门交互的机构,例如国内税务局和州秘书处。此外,提供在线公共记录的可搜索数据库和/或信息指南可以减少工作成本。而且,因特网作为商业事务的媒体正在变得越来越流行。
目前,最常用的在因特网上传送数据的方法是使用万维网环境(也被简称为Web)。存在其它因特网协议用于传送信息,例如文件传输协议(FTP)和Gopher,但是还未达到Web的流行程度。在Web环境中,服务器和客户利用超文本传输协议(HTTP)来实现数据事务,超文本传输协议是一种用于处理各种数据文件(例如,文本、静态图形图像、音频、动态视频等)的传送的公知协议。
各种数据文件中的信息通过标准页描述语言:超文本标记语言(HTML)而被格式化用以呈现给用户。除了进行基本的呈现格式化外,HTML还允许开发者指定由统一资源定位符(URL)标识的到其它Web资源的“链接”。URL是用于定义到特定信息的通信路径的特殊语法标识符。客户可访问的信息的每个逻辑块(被称为“页”或“Web页”)由URL标识。URL提供一种用于寻找并访问该信息的统一且一致的方法,其不必为用户提供,而主要是为用户的Web“浏览器”提供。浏览器是能够提交对标识符(例如,URL)所标识信息的请求的程序。用户可以通过浏览器的图形用户界面(GUI)输入域名以访问内容源。域名被域名系统(DNS)自动转换为因特网协议(IP)地址,域名系统是一种通过在数据库中查找域名而将用户输入的符号名称翻译为IP地址的服务。
因特网还被广泛用于向使用浏览器的用户传送应用。对于Web上的商业,个体消费者和企业使用Web购买各种商品和服务。在提供商品和服务期间,一些公司仅在Web上提供商品和服务,而另一些公司使用Web扩展他们的范围。
网站在服务器数据处理系统中被托管。通常不止一个服务器数据处理系统支持针对单个网站的事务或请求。换句话说,对于一网站的特定URL,不止一个服务器数据处理系统可以用来处理来自Web上的用户的请求。这些服务器数据处理系统通常被组织成组群(grouping)(被称为群集或服务器群集)。群集是提供容错和/或负载均衡的一组服务器数据处理系统。如果群集中的一个服务器数据处理系统发生故障,则一个或多个其它的服务器数据处理系统仍旧可用。负载均衡将工作负荷分布到群集中的多个数据处理系统上。
这些服务器数据处理系统运行用来处理请求的应用。例如,网站的应用可以包括用来提供关于商品和服务的信息的应用、用来提供购物车的应用、以及用来处理订单的应用。常常执行对这些应用的更新,以确保应用以及应用所提供的信息是最新的。这些更新例如可以包括安装新的应用模块。安装新应用模块的一个示例可以源于访问与服务器群集相关联的数据源的数据库工具的更新。在现有技术中,服务器数据处理系统中当发生安装新应用模块时停机、不能用或以其它方式不可用的任何工具,在数据库工具的使用方面,将丧失与群集中其它服务器的同步。
结果,当请求由丧失与群集的其它服务器的同步的服务器来处理时,会发生错误。这些错误例如可以包括提供关于所提供的商品和服务的不正确的信息。另一错误例如是“未找到数据源”的错误。当前,这些服务器数据处理系统仍旧没有同步,直到发生了群集的强制再同步为止。这些再同步要求群集的管理员进行手工干预。此外,为了发生该过程,管理员必须知道服务器数据处理系统现在可用。
因此,得到一种用于保证新应用模块在一组数据处理系统中的同步安装的改良方法、装置和计算机指令将是有利的。
发明内容
公开了一种用于更新多个应用-服务器环境中的分布式应用的方法、系统和计算机程序产品,其中至少一个服务器比另一服务器更迟接收更新,并且更新传送被更新跟踪器以消息历史的形式跟踪。在优选实施例中,应用将跨多个服务器分布,并且将跨网络或其它通信组构(fabric)从中央储存库接收更新。响应于启动数据处理系统中的应用服务器,通过安全连接来联系消息传送系统,以确定是否在应用服务器不能用来更新应用的时候发生了应用更新分发,并且响应于确定出发生了所述应用更新分发而接收应用。
附图说明
所附的权利要求中阐述了被认为是新颖特征的本发明的特性。然而,通过参考下文对示例性实施例的详细说明并结合附图阅读,将最佳地理解发明本身和优选的使用方式及其进一步的目标和优点,附图中:
图1是可以实现本发明的数据处理系统网络的图示;
图2是根据本发明优选实施例的服务器群集的示图;
图3是根据本发明优选实施例可以被实现为服务器的数据处理系统的框图;
图4是图示出可以实现本发明的数据处理系统的框图;
图5是根据本发明优选实施例的用来保证数据处理系统中的应用为最新的组件的框图;
图6是根据本发明优选实施例的用于使用持久签名(subscription)来标识应用更新分发的过程的流程图;
图7是根据本发明优选实施例的用于在启动时检查应用更新分发的过程的流程图;
图8是根据本发明优选实施例的用于通告应用更新分发的过程的流程图;以及
图9是根据本发明优选实施例的用于重发消息的过程的流程图。
具体实施方式
现在参考附图,图1描述了可以实现本发明的数据处理系统网络。网络数据处理系统100是可以实现本发明的计算机网络。网络数据处理系统100包含网络102,网络102是提供在网络数据处理系统100中被连接在一起的各种设备与计算机之间的通信链路的媒体。网络102可以包括各种物理媒体,例如导线、无线通信链路或光纤光缆。在一实施例中,网络102可以包括诸如因特网的广域网(WAN)。当然,可替代地或者附加地,网络102可以包括其它网络,例如内联网或局域网(LAN)。
在所描述的示例中,服务器群集104、存储单元106和客户108、110和112连接到网络102。客户108、110和112例如可以是个人计算机或网络计算机。在所描述的示例中,服务器群集104向客户108-112提供诸如引导文件、操作系统映像和应用的数据。网络数据处理系统100可以包括额外的服务器、客户和没有示出的其它设备。图1意在用作示例而不是作为对本发明体系结构方面的限制。
图2是根据本发明优选实施例的服务器群集的示图。服务器群集104包含组构202,组构202例如可以是总线、以太网网络、或某些其它互连系统。服务器数据处理系统204、206、208、210、212和214连接到服务器群集104中的组构202。
流量调度器216(例如路由器)也连接到组构202。尽管作为单独的物理组件被示出,但可替代地,流量调度器216可以是分布在服务器群集104中的一个或多个服务器204-214内的逻辑结构。
来自客户108-112的初始请求被流量调度器216接收。可以使用负载均衡算法和/或其它策略将该初始请求引导到服务器群集104中的服务器204-214之一。客户做出的后续请求可以被流量调度器216处理,或者可替代地,可以由启动会话的服务器204-214直接处理。会话(也被称为用户会话)是具有唯一IP地址的用户在指定时间段期间与服务器的交互。
接下来,图3是根据本发明优选实施例可以被实现为服务器(例如图2中的服务器204)的数据处理系统300的框图。数据处理系统300可以是对称多处理器(SMP)系统,其包括连接到系统总线306的多个处理器302和304。而且,存储器控制器/高速缓存308连接到系统总线306,并且提供到本地存储器309的接口。I/O总线桥310连接到系统总线306并且提供到I/O总线312的接口。存储器控制器/高速缓存308和I/O总线桥310可以如所示那样被集成。
外围组件互连(PCI)总线桥314连接到I/O总线312并且提供到PCI本地总线316的接口。多个调制解调器可以被连接到PCI本地总线316。调制解调器318和网络适配器320提供经由网络102到图1中的客户108-112的通信链路。这些组件通过内插式连接器连接到PCI本地总线316。
附加的PCI总线桥322和324提供用于附加的PCI本地总线326和328的接口,通过PCI本地总线326和328可以支持附加的调制解调器或网络适配器。这样,数据处理系统300允许到多个网络计算机的连接。存储映射式图形适配器330和硬盘332如所示直接或间接连接到I/O总线312。
本领域普通技术人员将认识到,图3中描述的硬件可以变化。例如,除了所描述的硬件或作为其替代,还可以使用其它的外围设备,例如光盘驱动器等。所描述的示例不是想要对本发明在体系结构方面进行限制。
图4是图示出可以实现本发明的数据处理系统的框图。数据处理系统400是客户计算机(例如图1的客户计算机108)的示例。数据处理系统400使用外围组件互连(PCI)本地总线体系结构。尽管所描述的示例使用PCI总线,但是也可以使用诸如加速图形端口(AGP)和工业标准体系结构(ISA)的其它总线体系结构。处理器402和主存储器404通过PCI桥408连接到PCI本地总线406。PCI桥408还可以包括用于处理器402的集成的存储器控制器和高速缓冲存储器。在所描述的示例中,局域网(LAN)适配器410、小型计算机系统接口(SCSI)主机总线适配器412和扩展总线接口414通过直接组件连接而连接到PCI本地总线406。与之不同,音频适配器416、图形适配器418和音频/视频适配器419通过插到扩展槽中的内插板而连接到PCI本地总线406。扩展总线接口414连接到键盘与鼠标适配器420、调制解调器422和附加存储器424。SCSI主机总线适配器412连接到硬盘驱动器426、磁带驱动器428和CD-ROM驱动器430。
操作系统在处理器402上运行,并且协调并提供对图4的数据处理系统400内的各种组件的控制。操作系统可以是可购买到的操作系统,例如Windows XP,其可从Microsoft公司购买。诸如Java的面向对象编程系统可以结合操作系统运行,并且可以提供从在数据处理系统400上执行的Java程序员应用到操作系统的调用。“Java”是Sun Microsystems公司的商标。诸如硬盘426的存储设备含有用于操作系统、面向对象编程系统和应用或程序的指令。处理器402将这些指令加载到主存储器404中用于执行。
本领域普通技术人员将意识到,图4中的硬件可以取决于实施方式而变化。除了图4中描述的硬件或者作为其替代,可以使用其它的内部硬件或外围设备,例如闪速只读存储器(ROM)、等效的非易失性存储器、或者光盘驱动器等。
图4中描述的示例性体系结构不是要在体系结构方面进行任何限制。例如,数据处理系统400还可以是笔记本计算机、手持计算机、PDA、信息站计算机、Web设备、或微处理器数据处理系统,例如图3的数据处理系统300。
本发明提供了一种用于更新和同步把企业应用向群集中的服务器数据处理系统进行部署的改良方法、装置和计算机指令。当应用服务器进程启动时,该进程联系消息传送系统,以确定是否在应用服务器进程不可用的时候发生了应用更新分发。如果在服务器进程不可用的时候发生了应用更新分发,则应用服务器进程接收应用数据以实现应用更新分发,从而用于应用服务器进程的应用被更新。
图5是根据本发明优选实施例的在服务器数据处理系统204-214上使用来保证服务器数据处理系统204-214中的应用为最新的组件的框图。在所图示的示例中,在服务器群集104的任何服务器数据处理系统204-214之上运行的部署管理器500被用来从储存库502向服务器群集104的服务器数据处理系统204-214分发应用更新546,所述应用更新546包含已更新的用于应用506和516的可执行模块以及其它更新。储存库502包含这些示例中的更新,并且是在存储装置106上运行的进程。部署管理器500使用签名列表522(驻留在存储装置106中)来标识服务器群集104中的服务器数据处理系统508和514(之前的服务器数据处理系统204-214中的两个),并且在消息历史524(也驻留在存储装置106中)中记录与服务器数据处理系统508和514的通信。存储装置106中的签名列表522从服务器数据处理系统204-214中标识出要接收更新通知的不同数据处理系统,例如应用更新546从存储装置106中的储存库502向服务器数据处理系统508和514的分发。在图5中呈现的图示性示例中,存储装置106中的签名列表522中的服务器群集104中的所有服务器接收相同应用更新546的分发。
具体地说,服务器数据处理系统508上的操作系统(OS)504可以从部署管理器500接收应用更新546来更新位于服务器数据处理系统508内的应用506。应用506包含应用服务器510使用的程序模块。应用服务器510使用应用506来处理从远程数据处理系统(例如客户112)接收的流量。
按照类似的方式,服务器数据处理系统514中的操作系统512可以从部署管理器500接收应用更新546来更新应用516。在这些示例中,应用服务器518是服务器数据处理系统514中处理流量的进程,所述流量例如是来自位于远程数据处理系统(例如客户108)上的浏览器的请求。
在图5中描述的图示性示例中,部署管理器500将应用更新546发送到服务器数据处理系统508和服务器数据处理系统514。以前,如果在部署管理器500部署应用更新时这些服务器数据处理系统之一停机或者不能用或者无法联系到,则该服务器数据处理系统将丧失与其它服务器数据处理系统的同步。例如,如果在用于代替服务器群集104的应用506和516中的模块的应用更新546被部署时服务器数据处理系统508不可用,则服务器数据处理系统508在其应用506中将不具有最新的模块,并因此将丧失与服务器数据处理系统514的更新。该情形以前需要由管理员发起的强制再同步。
部署管理器500内的消息传送进程520将应用更新546发送到服务器数据处理系统508和514。消息传送进程520是持久签名者(subscriber)系统的一部分,并且可以使用标准加密与认证协议分别通过安全连接542和540与服务器数据处理系统508和514进行通信。如果消息在签名者断开连接或以其它方式不可用时被公布或发送,则消息传送进程520将消息保存到消息历史524。当签名者重新连接到消息传送系统时,消息传送进程520传送这些消息。
操作系统,例如服务器数据处理系统508中的操作系统504和服务器数据处理系统514中的操作系统512被配置为从消息传送进程520接收这些分发。当从消息传送进程520接收到应用更新546的分发的时候,这些操作系统向消息传送进程520发送响应或确认。
例如,如果服务器数据处理系统508不可用并且没有返回对应用更新546的分发的应答,则部署管理器500将该服务器数据处理系统的标识和未传送的消息放入消息历史524。当服务器数据处理系统508再次变为可用时,操作系统504向消息传送进程520通告其可用性。在这些示例中,操作系统504通过安全连接542将该通告引导到消息传送进程520。该通告例如可以被包含在由操作系统504通过安全连接542向消息传送进程520发送的消息中,以通告现在存在服务器数据处理系统508。可替代地,可以在操作系统504和消息传送进程520之间进行某些其它类型的连接。
响应于检测到服务器数据处理系统508上的操作系统504的存在,消息传送进程520检查消息历史524以确定对于操作系统504是否存在任何未传送的应用更新546。在所图示的示例中,消息传送进程520发现通告应用更新546未被传送的消息。响应于该确定,消息传送进程520将未传送的应用更新546通过安全连接542发送到操作系统504。随后,操作系统504通过安全连接542检索到应用更新546以更新应用506。结果,应用506现在是与服务器群集104中的其余服务器数据处理系统同步的。这类部署使用“推(push)”来向签名者部署应用更新546。如果操作系统504使用了“拉(pull)”机制,则运行在每个服务器数据处理系统204-214上的守护(daemon)进程可以被用来检查消息历史524的改变。
图6是根据本发明优选实施例的用于使用持久签名来标识应用更新546的分发的过程的流程图。图6图示的过程可以由数据处理系统(例如图5中的服务器数据处理系统508)中的部署管理器500实现。
过程开始于部署管理器500侦听新应用更新546的分发(步骤600)。当存在应用更新分发时,部署管理器500从储存库502接收应用更新546(步骤602)。这些应用更新546是通过接口接收的,所述接口例如是基于Web的接口、FTP接口或某些其它接口。部署管理器500将应用546的分发推向进行签名的操作系统504和512(步骤604)。例如,步骤604可以被用来代替参与服务器群集104的所有服务器数据处理系统204-214上的数据库引擎。部署管理器500将应用更新546从储存库502推出,以分别更新签名服务器数据处理系统508和514上的应用服务器510和518上的应用506和516。
接下来,部署管理器500做出关于应用更新546的分发是否完成的确定(步骤606)。在步骤606中,如果服务器数据处理系统508和514已经接收并安装了应用更新546,则应用更新546的分发被认为完成。部署管理器500从服务器数据处理系统508和514接收确认,以指示应用更新546的分发已经完成。如果没有接收到确认,则部署管理器500缺省假定应用更新546的分发未被完成。部署管理器500随后检查储存库502中的附加应用更新546(步骤608),并且过程返回步骤600以侦听更多的新应用更新546。在步骤608,通过确定是否存在要被分发的新应用更新546来进行检查。
返回步骤606,如果不存在完成通知,则部署管理器500报告错误(步骤610),随后过程终止。
接下来,图7是根据本发明优选实施例的用于在启动时检查应用更新546的过程的流程图。图7中图示的过程在图5中的服务器数据处理系统508的操作系统504中实现。
过程开始于服务器数据处理系统508的启动(步骤700)。接下来,服务器数据处理系统508确定应用更新546是否存在于操作系统504中的队列上(步骤702),所述队列缓存接收到的应用更新546。在步骤702,服务器数据处理系统508做出关于是否已经从部署管理器500的消息传送进程520接收到指示存在应用更新546的通知的确定。如果应用更新546没有存在于队列上,则服务器数据处理系统508恢复启动(步骤704),并且随后过程终止。再次参考步骤702,如果应用更新546存在于队列上,则服务器数据处理系统508安装应用更新546(步骤706)。过程随后进入步骤707,在步骤707,服务器数据处理系统508向消息传送进程520发送完成通知,用以存储在消息历史524中,并且过程返回步骤702。
图8和图9图示出用于确保服务器数据处理系统508和514中的应用506和516保持同步的消息传送。这些附图中描述的过程使用消息传送进程520中的持久签名系统,以对于一组服务器(例如群集104中的那些服务器)将应用506和516维持在同步状态。图8是根据本发明优选实施例的用于通告并传播应用更新546的过程的流程图。图8中的过程可以在部署系统(例如图5中的部署管理器500)中实现。更具体地说,所述过程可以在图5中的消息传送进程520中实现。
过程开始于部署管理器500标识出储存库502中的应用更新546(步骤800)。消息传送进程520随后将通告应用更新546的消息发送到签名者(步骤802),所述签名者例如是操作系统504和512。在步骤802中,消息传送进程520将多个消息发送到签名者,例如与应用更新546有关的操作系统504和512。在步骤802中,使用签名列表(例如图5中的签名列表522)来选择应用更新546的接受者(例如操作系统504和512)。部署管理器500随后等待从操作系统504和512接收对应用更新546的接收确认(步骤804)。在步骤804中,过程等待的时间量取决于实施方式。
接下来,由部署管理器500确定是否已经接收了所有确认(步骤806)。如果没有接收到所有确认,则部署管理器500将没有从其接收到确认的操作系统504和512中的任何一个放入存储在消息历史524中的列表中(步骤808),并且随后过程终止。当已经接收到所有的确认时,过程也在步骤806终止。
图9是根据本发明优选实施例的用于重发消息的过程的流程图。图9中的过程可以在部署系统(例如图5中的部署管理器500)中实现。更具体地说,过程可以在图5中的消息传送进程520中实现。
过程开始于部署管理器500接收服务器启动消息(步骤900)。该消息被用来指示先前可能已经不可用的服务器(例如服务器数据处理系统508或514)现在可用以接收消息。在另一示例中,部署管理器500可以以不同的间隔查验(ping)服务器(例如服务器数据处理系统508或514)以确定服务器数据处理系统508或514中的任一个是否现在可用。接下来,做出关于服务器数据处理系统508或514是否在消息历史524中的未经确认列表上的确认(步骤902)。在这些示例中,缺少的确认被存储在数据结构中,例如图5中的消息历史524。如果服务器(例如服务器数据处理系统508或514)存在于消息历史524中的未经确认列表中,则部署管理器500向该服务器重发待决的应用更新546(步骤904),并且随后过程终止。如果服务器没有存在于消息历史524中的未经确认列表中,则过程也在步骤902中终止。
因此,本发明提供了一种用于管理一组服务器中的应用的改良方法、装置和计算机指令。本发明的机制涉及标识出没有确认收到应用更新分发的通告的服务器。当服务器稍后可用时,该通告被重发到服务器,服务器随后更新其应用。这样,当服务器启动或变得可用时,本发明的机制允许服务器的应用的自动再同步。
重要的是要注意,尽管已经在充分运行的数据处理系统的上下文中描述了本发明,但是本领域普通技术人员将意识到本发明的过程可以以指令的计算机可读媒体的形式以及多种形式发布,并且可以同等地应用本发明而与实际用来实现该发布的承载信号的媒体的具体类型无关。计算机可读媒体的示例包括可记录型媒体和传输型媒体,可记录型媒体例如是软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,传输型媒体例如是数字与模拟通信链路、有线或无线通信链路,所述无线通信链路例如使用诸如射频传输和光波传输的传输形式。计算机可读媒体可以采用经编码的格式形式,该经编码格式被解码用于在具体数据处理系统中的实际使用。
已经出于图示和说明的目的呈现了对本发明的说明,但是其不是想要将本发明穷尽或限制在所公开的形式中。本领域普通技术人员很容易看出许多修改和变化形式。在这些示例中,应用是为群集中的服务器而被维护的。本发明的机制还可以应用于任何逻辑上或物理上的服务器或其它数据处理系统的群组。所选择并描述的实施例是为了最好地解释本发明的原理和实际应用,并且使本领域普通技术人员能够理解本发明的具有多种修改形式的多种实施例可以适用于所构思的具体应用。
Claims (15)
1.一种用于更新多个应用-服务器环境中的分布式应用的方法,其中至少一个服务器比另一服务器更迟接收更新,所述方法包括:
响应于启动数据处理系统中的应用服务器,通过安全连接来联系消息传送系统,以确定是否在应用服务器不能用来更新应用的时候发生了应用更新分发,以及
响应于确定出发生了所述应用更新分发而接收应用。
2.如权利要求1所述的方法,其中所述联系消息传送系统的步骤还包括利用持久签名来联系所述消息传送系统。
3.如权利要求1所述的方法,其中所述接收应用的步骤还包括从远程数据处理系统接收应用。
4.如权利要求1所述的方法,其中所述启动应用服务器的步骤还包括启动作为服务器群集一部分的数据处理系统上的应用服务器。
5.如权利要求1所述的方法,其中所述联系消息传送系统的步骤还包括:
向所述消息传送系统发送存在应用服务器的指示,其中所述消息传送系统返回指示所述应用更新分发是在所述应用服务器无效的时候发生的消息。
6.如权利要求1所述的方法,其中所述联系消息传送系统以确定是否在应用服务器不能用来更新应用的时候发生了应用更新分发的步骤还包括:
响应于应用更新分发的存在,向一组应用服务器发送应用更新;
响应于无法将所述应用更新传送到所述应用服务器,保存所述应用更新以形成经保存的消息;
响应于随后检测到所述应用服务器的存在,将所述经保存的消息发送到所述应用服务器;以及
将所述应用更新发送到所述应用服务器,其中所述应用服务器使用所述应用数据来执行所述应用更新分发,其中所述应用服务器中的所述应用被更新。
7.如权利要求6所述的方法,其中所述向一组应用服务器发送应用更新的步骤还包括部署管理器向一组应用服务器发送应用更新。
8.一种用于更新多个应用-服务器环境中的分布式应用的系统,其中至少一个服务器比另一服务器更迟接收更新,所述系统包括:
用于响应于启动数据处理系统中的应用服务器,通过安全连接来联系消息传送系统以确定是否在应用服务器不能用来更新应用的时候发生了应用更新分发的装置,以及
用于响应于确定出发生了所述应用更新分发而接收应用的装置。
9.如权利要求8所述的系统,其中所述用于联系消息传送系统的装置还包括用于利用持久签名来联系所述消息传送系统的装置。
10.如权利要求8所述的系统,其中所述用于接收应用的装置还包括用于从远程数据处理系统接收应用的装置。
11.如权利要求8所述的系统,其中所述用于启动应用服务器的装置还包括用于启动作为服务器群集一部分的数据处理系统上的应用服务器的装置。
12.如权利要求8所述的系统,其中所述用于联系消息传送系统的装置还包括:
用于向所述消息传送系统发送存在应用服务器的指示的装置,其中所述消息传送系统返回指示所述应用更新分发是在所述应用服务器无效的时候发生的消息。
13.如权利要求8所述的系统,其中所述用于联系消息传送系统以确定是否在应用服务器不能用来更新应用的时候发生了应用更新分发的装置还包括:
用于响应于应用更新分发的存在而向一组应用服务器发送应用更新的装置;
用于响应于无法将所述应用更新传送到所述应用服务器而保存所述应用更新以形成经保存的消息的装置;
用于响应于随后检测到所述应用服务器的存在而将所述经保存的消息发送到所述应用服务器的装置;以及
用于将所述应用更新发送到所述应用服务器的装置,其中所述应用服务器使用所述应用数据来执行所述应用更新分发,其中所述应用服务器中的所述应用被更新。
14.如权利要求13所述的系统,其中所述用于向一组应用服务器发送应用更新的装置还包括用于部署管理器向一组应用服务器发送应用更新的装置。
15.一种其中具有可由机器处理的多个指令的机器可用媒体,其中所述多个指令在被所述机器处理时,使得所述机器执行用于更新多个应用-服务器环境中的分布式应用的方法,其中至少一个服务器比另一服务器更迟接收更新,所述方法包括根据前述方法权利要求中的任何一种方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/249,932 US20070100957A1 (en) | 2005-10-13 | 2005-10-13 | Method and apparatus to provide guaranteed deployment of applications to nodes in an enterprise |
US11/249,932 | 2005-10-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1949758A true CN1949758A (zh) | 2007-04-18 |
Family
ID=37997880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610082579.6A Pending CN1949758A (zh) | 2005-10-13 | 2006-05-18 | 用于更新分布式应用的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20070100957A1 (zh) |
CN (1) | CN1949758A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762984B2 (en) * | 2007-05-31 | 2014-06-24 | Microsoft Corporation | Content distribution infrastructure |
US8990796B2 (en) * | 2007-11-16 | 2015-03-24 | Thomas Lamantia | Method of automated operating system deployment for a network of multiple data processors |
US9753713B2 (en) * | 2010-10-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Coordinated upgrades in distributed systems |
US9110747B2 (en) * | 2011-11-22 | 2015-08-18 | 1Elimited | Obtaining program data over a network |
JP5880315B2 (ja) * | 2012-07-02 | 2016-03-09 | 富士通株式会社 | システム管理装置、システムの管理方法、及びシステムの管理プログラム |
JP2016009260A (ja) * | 2014-06-23 | 2016-01-18 | 株式会社東芝 | コンテンツ提供装置、コンテンツ提供方法及びプログラム |
JP6659944B2 (ja) * | 2015-11-18 | 2020-03-04 | アイコム株式会社 | データ設定システム、データ更新システムおよびデータ設定方法 |
US11132274B2 (en) | 2018-03-01 | 2021-09-28 | Target Brands, Inc. | Establishing and monitoring programming environments |
US10990608B2 (en) * | 2019-03-19 | 2021-04-27 | Snowflake Inc. | Transferring connections in a multiple deployment database |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI95975C (fi) * | 1994-02-25 | 1996-04-10 | Nokia Telecommunications Oy | Hierarkkinen synkronointimenetelmä |
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
US6335937B1 (en) * | 1998-09-24 | 2002-01-01 | International Business Machines Corp. | Node failure recovery in a hub and spoke data replication mechanism |
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 |
US6411967B1 (en) * | 1999-06-18 | 2002-06-25 | Reliable Network Solutions | Distributed processing system with replicated management information base |
US20020004848A1 (en) * | 2000-03-29 | 2002-01-10 | Krishna Sudarshan | System and method of providing an asynchronous interface between a client system and an enterprise javabeans-enabled server |
US6959331B1 (en) * | 2000-08-14 | 2005-10-25 | Sun Microsystems, Inc. | System and method for operating a client network computer in a disconnected mode by establishing a connection to a fallover server implemented on the client network computer |
US20030050932A1 (en) * | 2000-09-01 | 2003-03-13 | Pace Charles P. | System and method for transactional deployment of J2EE web components, enterprise java bean components, and application data over multi-tiered computer networks |
JP2002182961A (ja) * | 2000-12-13 | 2002-06-28 | Nec Corp | データベースの同期化システムとその同期化の方法 |
CA2357382A1 (en) * | 2001-09-17 | 2003-03-17 | Soma Networks, Inc. | Software update method, apparatus and system |
WO2003036521A1 (en) * | 2001-10-24 | 2003-05-01 | Bea Systems, Inc. | Data synchronization |
-
2005
- 2005-10-13 US US11/249,932 patent/US20070100957A1/en not_active Abandoned
-
2006
- 2006-05-18 CN CN200610082579.6A patent/CN1949758A/zh active Pending
-
2008
- 2008-05-21 US US12/124,684 patent/US7793113B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7793113B2 (en) | 2010-09-07 |
US20070100957A1 (en) | 2007-05-03 |
US20080222164A1 (en) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1949758A (zh) | 用于更新分布式应用的方法和系统 | |
US7653729B2 (en) | Information processing system, server apparatus, information processing apparatus, and control method thereof | |
US8090681B2 (en) | Resolving conflicts in content management systems | |
CN1221898C (zh) | 刷新网络代理高速缓存服务器对象的系统和方法 | |
CN100345106C (zh) | 用于软件自动更新和测试的方法和设备 | |
US10554748B2 (en) | Content management | |
CN1526109A (zh) | 用于被分割的对等计算的方法与装置 | |
US7805420B2 (en) | Versioning and concurrency control for multiple client access of data | |
JP7228322B2 (ja) | ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理 | |
US20070271393A1 (en) | System and Methods for Domain Name Acquisition and Management | |
US9697379B2 (en) | Database virtualization | |
CN101310265B (zh) | 生产性套件到业务线的同步机制 | |
KR20140047580A (ko) | 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법 | |
RU2453916C1 (ru) | Способ поиска информационных ресурсов с использованием переадресаций | |
CN101689169B (zh) | 分布式操作系统中外部硬件装置的管理 | |
CN1534949A (zh) | 用于获取网格中的状态信息的方法和设备 | |
WO2007035580A2 (en) | Providing local access to managed content | |
JP2006510991A (ja) | 分散コンテンツ管理システム | |
CN103119551A (zh) | 优化的恢复 | |
CN1691677A (zh) | 管理计算机身份的方法、系统和装置 | |
CN1767519B (zh) | 用于优化Web服务绑定的方法和装置 | |
CN1598848A (zh) | 撤消先前已发送的电子邮件消息的系统、装置与方法 | |
CN1595890A (zh) | 与预订通知服务的虚拟连接 | |
US20060230263A1 (en) | Method and apparatus to guarantee configuration settings in remote data processing systems | |
CN1670718A (zh) | 用于远程提供驱动程序信息的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20070418 |