CN101925878A - 客户机/服务器计算环境中部署非后向兼容服务器版本的方法和*** - Google Patents

客户机/服务器计算环境中部署非后向兼容服务器版本的方法和*** Download PDF

Info

Publication number
CN101925878A
CN101925878A CN200980102667XA CN200980102667A CN101925878A CN 101925878 A CN101925878 A CN 101925878A CN 200980102667X A CN200980102667X A CN 200980102667XA CN 200980102667 A CN200980102667 A CN 200980102667A CN 101925878 A CN101925878 A CN 101925878A
Authority
CN
China
Prior art keywords
client
server
version
application
client application
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.)
Granted
Application number
CN200980102667XA
Other languages
English (en)
Other versions
CN101925878B (zh
Inventor
J·考迪塞斯
S·蒙贝尔
P·多尔
C·陈
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.)
Amadeus SAS
Original Assignee
Amadeus SAS
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 Amadeus SAS filed Critical Amadeus SAS
Publication of CN101925878A publication Critical patent/CN101925878A/zh
Application granted granted Critical
Publication of CN101925878B publication Critical patent/CN101925878B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/40ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

描述了管理将应用服务器的新非后向兼容版本引入客户机/服务器联网环境的方法和***。该方法包括首先向应用服务器的新非后向兼容版本服务的客户机***分配与应用服务器的当前版本兼容的模式和与新的非后向兼容版本兼容的模式下可操作的客户机应用。在客户机***中安装时,设置客户机应用为与应用服务器的当前版本兼容的降级模式。在应用服务器的当前版本在正式使用时,保持客户机应用在降级模式下操作。在引入应用服务器的新非后向兼容版本时,将客户机应用设置为与应用服务器的新版本兼容的有效模式。从那时起在有效模式下操作客户机应用。在查询在客户机/服务器联网环境中操作的版本服务器的客户机***的每次重启时自动触发模式设置。查询包括客户机***标识和客户机应用版本号,以便从查询的版本服务器获得状态值,将客户机***操作为包括降级模式和有效模式的模式。

Description

客户机/服务器计算环境中部署非后向兼容服务器版本的方法和***
技术领域
本发明总体上涉及客户机/服务器环境中的计算机***,更具体地说,涉及对无需与客户机版本后向兼容的服务器软件应用的新的版本的部署。
背景技术
在网络上实施的客户机/服务器计算模型已经被普遍采用。在该模型中,客户机节点的软件应用所发出的请求被发送到一个或多个所连接的服务器。一旦由服务器处理,所请求的信息就被返回到客户机。该模型是互联网的模型,其中客户机为web浏览器而服务器为包括诸如邮件服务器的许多专用服务器的web服务器。
该模型也是许多服务提供商的模型,其通常操作大量计算资源,以便可能通过包括互联网的公用网络和私有网络的混合来服务于客户机社区,即运行在服务提供商的计算资源上的软件应用的终端用户。这种提供商的示例是全球分配***(GDS),其将旅行服务提供给整个旅行产业,包括航空公司、传统在线旅行社(例如用于旅行计划和预订)以及机场(例如用于离场控制和乘客检入)。
通常的软件***在它们的生命周期内被频繁更新。甚至在开发阶段完成之后,当***处于正式使用中时,软件应用继续演进以应用校正并且通过添加新的特征来改进它们。此外,为了充分利用新型机器的性能,或者因为操作***是新的、已经被演进或是不同的,可能必须进行改变。
在客户机/服务器模型中,为了更设服务器侧应用的新的版本,标准实践是:新的版本必须后向兼容。因此,在任何节点处,无论客户机应用的哪个版本在使用中,新的服务器一旦被部署就立即能够以兼容格式处理客户机请求并且传送所请求的信息。
在某种程度上,这种理想方案应用于其中web服务器需要与全球公用网络的无数客户机使用的所有现有web浏览器兼容的互联网。但是这并非完全是事实。公知的是,并非所有web浏览器品牌都完全以相同方式反应,并且许多服务器实际上仅支持客户机应用的最近版本。例如,对于全球使用最多的浏览器,即微软公司的web浏览器Internet Explore(IE),许多近期的服务器应用目前仅支持版本5(IE5)以及更高版本。实际上,当浏览器较早版本、或不支持的浏览器品牌从升级后的服务器请求并且接收信息时,客户机图形用户界面(GUI)可能是严重不匹配的。
对后向兼容的维护具有高成本,即使实际上其仅仅部分地可实现。服务器新应用必须以一种方式或另一种方式应对在实际应用中要被支持的所有客户机版本的所有选项、特征、不兼容性和缺陷。这在需要更多时间和技能来开发新服务器应用并且可能需要实现更多存储和更快的硬件资源的开发阶段期间具有高成本。甚至更重要的是,要检验的服务器/客户机浏览器组合的数量正快速增长到了这样的程度,其中测试阶段为了允许在合理时间量内穷尽测试所有组合可能会需要用到不可能数量的资源(机器和人力)。
即使web浏览器被认为是“瘦客户机”,即实际仅执行在服务器应用与客户机应用之间要完成的有限份额工作以完成所请求的工作的客户机,上述情况也是真实的。实际上,web浏览器的主要任务是通过GUI显示web服务器所返回的页面。
对于通常仅与附属客户机(例如航空公司、旅行社、机场等)一起工作的无法公共接入的客户机/服务器***,如以上提到的GDS,客户机应用可能反而需要成为所谓的“富客户机”,其必须执行要在服务器与客户机之间共享的整个工作的更大一部分。这可能是需要的,因为它们之间的可用带宽过于受限,而无法允许客户机应用对于要完成的每一任务都向服务器请求。对于GDS,这例如是在机场中使用的用于控制飞机离场以及乘客检入的客户机应用***的情形,是当乘客登机时在高峰时间必须被加快的工作。实际上,小型机场可能仍具有受限的外部通信资源。此外,即使检入应用是由附属于GDS的航空公司使用的,机场计算资源也是由机场管理局所拥有并且在其控制之下的,其需要许可,因而需要时间来进行部署和更新。
因此,当客户机应用是设计为自身执行较大份额工作的富客户机时,与瘦客户机的情况相比,具有后向兼容服务器的问题如果不是不能实现的话,也是可能较难以完成的。实际上,要支持的富客户机应用的所有版本的选项和特征的数量潜在地会大得多,因此极大地加剧了上述提到的关于服务器应用的开发和测试阶段的问题。
US-A-5.732.275公开了一种用于管理和自动更新软件程序的方法和装置。该文献并未针对在部署服务器软件应用的新的非后向兼容版本之前调整网络的所有客户机软件应用的问题。根据该现有技术,假设客户机应用自身能够从共享存储器下载软件版本。这限制了这种技术的应用范围,而本发明可以应用于包括具有有限软件资源的相当简易的终端的网络。
WO01/69382A公开了一种用于客户机设备的初始配置的方法。根据该公开,下载新模板以初始地配置客户机应用。该模板意图将客户机应用调整为服务器的数据组织的新格式,而不是服务器软件应用自身的新的版本。
鉴于上述内容,因此期望在客户机/服务器环境中允许部署无需后向兼容的服务器应用的新的版本。
当参照附图研究以下描述时,本发明的其它目的、特征和优点对于本领域技术人员将变得显而易见。意图将任何附加的优点合并到此。
发明内容
本发明针对必须在客户机/服务器环境中部署后向兼容服务器的上述困难,本发明描述了一种用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进行管理的方法和***。所述方法包括:首先向要由应用服务器的软件程序的新的非后向兼容版本所服务的客户机***分配在与应用服务器的当前版本兼容的模式下以及在与新的非后向兼容版本兼容的模式下可操作的客户机应用。在安装在客户机***中时,将客户机应用设置为与应用服务器的当前版本兼容的降级模式。在应用服务器的当前版本仍在正式使用中时,将客户机应用保持在降级模式下操作。在引入应用服务器的新的非后向兼容版本时,将客户机应用设置为与应用服务器的新的版本兼容的有效模式。从该时刻起,在有效模式下操作客户机应用。在查询在客户机/服务器联网环境中操作的版本服务器的客户机***的每次重启时自动触发模式的设置。查询包括:客户机***的标识和客户机应用版本号,以便从所查询的版本服务器获得状态值,以将客户机***操作为包括降级模式和有效模式的模式。
根据本发明附加的但纯可选的实施例,所述方法使得:
-设置步骤在客户机***的每次重启时被自动触发,还包括以下步骤:
查询在客户机/服务器联网环境中操作的版本服务器,所述查询包括:还包括客户机应用版本号的客户机***的标识;
从所查询的版本服务器获得状态值,以将客户机***操作为包括降级模式和有效模式的模式。
-查询还包括地理位置、用户标识以及用于建立统计数据的关于客户机***的所有种类的信息。
-查询内容存储在版本服务器的数据库中。
-当应用服务器的软件程序的新的非后向兼容版本投入正式使用时,由操作应用服务器的服务提供商强制进行客户机***的重启。
-当加载应用服务器的软件程序的新的非后向兼容版本时,自动强制进行客户机***的重启。
-在退回先前版本的情况下,自动强制进行客户机***的重启。
-客户机应用从版本服务器接收状态值,以在无效模式下操作客户机***。
-在版本服务器中,所述获得步骤包括如下在前步骤:
针对元规则检验客户机应用版本号,以立即将比元规则所指定的客户机应用更早的客户机应用声明为无效的。
-如果元规则检验成功,则其包括进一步的步骤:
针对兼容性规则集合检验客户机应用版本号;
根据规则内容将兼容性规则所涉及的客户机应用声明为无效的、弃用的或降级的;否则,
将任何兼容性规则都没有涉及的客户机应用声明为有效的。
-所述获得步骤还向客户机***传送补丁,以校正一个或多个客户机应用问题。
-每次客户机***重启时,动态应用所述补丁。
-所述客户机应用包括图形用户界面。
本发明还涉及一种用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进行管理的***,其包括版本服务器和数据库,所述数据库包括用于执行所述方法的每个步骤的装置。
本发明还涉及一种计算机程序产品,其存储在计算机可读存储介质上,其包括计算机可读代码装置,用于使得至少一台计算机操作用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进行管理的方法。
附图说明
图1描述了基于包括版本服务器和数据库的GDS的根据本发明的示例性***。
图2是用于判定客户机应用和GUI必须如何根据正式使用中的服务器版本而操作的客户机节点中的方法的主要步骤的高级视图。
图3讨论了版本服务器如何进行管理以将状态赋予已经在登录时发出查询的客户机***。
图4描述了客户机***的在线补丁,即,通过使用版本服务器而带来的功能增强。
具体实施方式
本发明的以下详细描述参照附图。虽然说明书包括示例性实施例,但其它实施例也是可能的,并且在不脱离本发明精神和范围的情况下可以对所描述的实施例进行改变。
图1描述了基于背景技术部分中讨论的GDS(100)的根据本发明的示例性***。在客户机/服务器环境中通过网络提供服务的GDS或任何等同***通常从大量计算资源(110)实现服务器,以支持多个位于远程的客户机应用(120)(其为在客户机层面运行的软件应用)和***(122)的多样性。在用于说明本发明的这个特定例子中,客户机***是例如当乘客正在登上飞机时所使用的机场离场控制***(DCS)。在广域网(WAN)上在服务器和客户机之间维护连接,广域网可能包括包含互联网的公用网络和私有网络的任何组合。计算资源例如全部与私有局域网或LAN(105)互联。相似地,局部的客户机应用集合可以通过LAN(例如机场LAN(125))互连,而独立的客户机应用集合通过WAN(130)与GDS进行通信。在该示例中,通过网关(101)执行与客户机应用的接口,网关(101)允许客户机访问GDS所提供的所有应用(109),包括这里以上提到的DCS应用。这种***典型地包括用于检验尝试连接的客户机应用为合法的登录和安全服务器或LSS(103),并且可以提供被授权与任何受支持的应用(109)一起工作的期望的证书。
在本说明书中,应用服务器的软件程序表示在应用服务器层面使用的、用于执行其功能的软件资源。除非明确指出,否则术语“应用服务器的应用程序的软件程序”在下文中有时简写为表述“应用服务器”。实际上,即使服务器包括硬件组件,本发明的目的也是管理软件组件的版本。
本发明引入与数据库(107)结合工作的版本服务器(105)。如以下描述中详细解释的那样,版本服务器的作用是追踪在实际应用中存在的所有客户机应用版本(120)。典型地,使得GDS和等同***(100)能够通过全球WAN(130)与成千上万的远程客户机应用(120)进行接口。客户机特性存储于数据库中,当需要时版本服务器从所述数据库检索客户机特性。
当服务器后向兼容性是不可能的或者会太过昂贵时,本发明的方法在于:首先向所有远程客户机节点部署升级版本的客户机应用和GUI。这暗示使得客户机应用的新的版本兼容于服务器的当前版本和较新的版本,即将来的版本。通过这样一种方案,当安装时,新的服务器将无需与较早客户机应用以及GUI兼容。
由于上述策略,在部署阶段(完全部署可能典型地需要几个星期来在包括成千上万个客户机节点的网络中完成)期间,新的客户机应用当安装时降级为服务器版本N,即正式使用中的当前版本。其状态在版本服务器(105)的数据库(107)中相应地改变为“降级到版本N”。因此,在当客户机应用被部署在客户机节点中时的过渡时期期间,已经升级的那些节点***地(即每次客户机重启时)使用与当前服务器兼容的版本N。
一旦分配完成或者接近完成,服务器***(例如图1的GDS(100))就可以决定提升为新的服务器,使得所有或至少大部分终端用户可以开始利用升级后的客户机/服务器功能和特征。提升可以由***的管理员手动完成,或者可以在软件下载时自动触发。在此情况下,版本服务器被指示在数据库中将远程客户机节点的状态改变为“有效”,使得服务器的下一版本(N+1)可以投入正式使用,并且也使客户机应用和GUI在级别N+1操作。为了实现这种情况,版本服务器强制断开所有使用版本N(以及更早版本,如果存在的话)的会话。为此,由版本服务器将退出消息转发到每一客户机远程节点,以结束用户会话并且请求重启客户机应用和GUI。于是,在下一重启时,版本N+1得以自动使用,如在本发明以下描述中进一步讨论的那样。在此应注意,GDS服务提供商***具有通过版本服务器控制所需要的客户机节点多少的自由。仅特定升级所涉及的客户机节点需要重启。可以用各种非常不同的粒度级别执行升级、降级(例如在退回先前版本的情况下)以及版本阻塞(如果当前版本不兼容)。这个范围可能是从整个世界、地区、国家、城市、机场下至到任何可标识的位置,诸如机场中的特定航站楼、登机门、办公室等,因此在部署新的客户机版本中提供了大量灵活性。
图2描述用于判定客户机应用和GUI必须如何根据正式使用中的服务器版本而操作的客户机节点中的方法的主要步骤。
每次客户机应用(210)重启时执行处理。由客户机应用在登录时自动发起(212)事务处理,以从版本服务器和数据库(220)检索要使用的客户机应用版本的细节(214)。客户机应用自动发送到版本服务器的查询需要包含客户机节点的标识(ID),包括使用中的应用ID及其版本号。
在本发明优选实施例中,为了建立关于客户机应用版本的使用和新的版本的部署的进展的统计数据,查询应包含关于客户机节点的更多信息,包括:
-用户标识;
-用户办公室,例如:LONLH033代表位于伦敦的汉莎航空公司(LH)代理机构;
-用户位置,例如:LHR/T2/GTE/20代表伦敦Heathrow机场、航站楼2、在门20处;
-用户组织,例如:LH,航空公司名称;
-等等。
无论以何种方式提供给图1所示的登录和安全服务器(LSS)(103)的信息作为要提供的证书的一部分,以使得被看作应用服务器的合法用户。
客户机应用在查询(212)中所提供的内容可以因此用于获得关于在实际应用中的新的应用版本的部署的无价信息,并且该信息通常是关于与应用服务接口的客户机应用的总数的特性的。例如,GDS可以使用客户机应用的某一版本建立世界上的位置列表,或者可以检测何处仍在使用过早的版本。在数据库中收集客户机应用所提供的信息,并且该信息可以由从负责监视并且管理大量远程客户机节点的管理中心运行的任何种类的程序利用。
版本服务器(220)继续管理在所有客户机节点中使用的客户机应用和GUI的状态列表。然后,获知当前正式使用中的应用服务器的版本,并且如上所述,基于在查询中由客户机节点提供的信息,在登录时间将状态返回(214)到每一客户机***。状态可以取以下各值之一:
  有效:   是客户机应用和GUI的最新下载版本(N+1)的状态。这是在新的客户机应用已经被部署并且服务器的对应新的版本已经投入正式使用之后的正常状态。
  弃用:   即客户机应用和GUI是较早版本,但仍与当前正式使用的服务器兼容。该状态在GUI的新的版本可用,但较早部署的GUI仍然与当前服务器兼容时使用。根据客户机配置,告警消息在登录时可选地显示给终端用户。
  降级到版本N:   表明新部署的客户机应用和GUI版本N+1必须运作为版本N(而在激活对应新的服务器之前,新的客户机应用和GUI正被分配)。如上讨论的,该状态主要用于允许管理后向兼容服务器的激活。其也偶尔用于管理如下文所解释的服务器的退回(至先前版本)。
  无效:   即客户机应用和GUI是老版本,不与当前正式使用的服务器兼容。客户机节点的终端用户在登录时接收告警通知,并且通常受阻。
上述状态值是由客户机***(216)解释的,以便根据正式使用中的应用服务器的版本而运作。此后,可以在客户机应用与负责处理它们的应用服务器(230)之间发生正常事务处理(218)。
如果,出于任何原因,已经被提升的应用服务器遇到问题并且必须移除,则必然发生退回先前版本。于是,已经下载的新的客户机应用和GUI必须设置回到“降级”状态,使得它们根据先前服务器版本再次开始运作,如在进行部署时的过渡时期中那样。如果某些客户机***仍正使用客户机应用和GUI的先前版本,则它们的状态从“弃用”逆转为“有效”。
图3讨论了版本服务器如何管理以将状态赋予已经在登录时发出查询的客户机***。
处理开始于客户机***向版本服务器发出的查询中所提供的客户机应用和GUI的版本(310)。为了判定当客户机***询问时将要返回哪种状态,版本服务器使用均针对所提供的客户机版本(310)而受检验(340)的兼容性规则,获知应用服务器的哪个版本处于正式使用中。然而,为了避免兼容性规则的激增,存在针对元规则(320)的客户机版本的在先检验。元规则用于直接消除早于给定值的所有版本号。每个客户机应用存在一个元规则。因此,如果元规则的检验失败(331),直接返回(352)“无效状态”。或者,如果客户机版本通过元规则检验(332),则需要检验兼容性规则(340)。兼容性规则实际上追踪其中正式使用中的服务器与特定客户机***之间存在不兼容性的所有情形,使得规则不涉及的所有那些最终被声明为有效的(380)。或者,规则所涉及的客户机***根据应用于它们的规则内容而被声明为“无效”(350)、“弃用”(360)或“降级”(370)。
图4描述了客户机***的在线补丁,即通过使用版本服务器而带来功能增强。
使用版本服务器在包括可能涉及成千上万个客户机节点的大量客户机***的大型网络中尤其有用。于是,新的客户机应用的部署是繁重的,而且是典型地需要花费几个星期来完成的长期任务。因为远程站点可能不在服务提供商(例如用于说明本发明的GDS)的直接控制之下,因此那些负责人(例如机场管理局)实际上可能不愿意安装应用的新的版本,因为害怕对他们的***影响不利。本发明所支持的退回机制是对于这个担忧的一种回答,允许在严重问题的情况下返回到服务器的先前版本。根据本发明的版本服务器允许实现另外的功能增强,以在客户机应用的部署处于进行中时或在其已经被激活之后的任何时间避开将发现的问题。
如果主要阻塞问题在已经在全球部署的客户机应用版本(410)中被发现,则版本服务器(420)可以提供代码片段、补丁来规避问题,而无需重新分配整个客户机应用。为此,如图2中已经解释的那样,当版本服务器对在远程客户机***的登录时自动发送的查询(412)应答时,在响应中添加补丁。基于查询中提供的版本号和应用名称,版本服务器识别出客户机应用版本具有功能问题。于是,版本服务器所转发的应答包括已经讨论的状态、以及功能问题的补丁(414)。在接收服务器应答时,客户机应用根据版本状态改变其运作,并且将补丁应用于自身(416)。补丁既不永久地存储也不安装在客户机应用机器中,而是每次客户机应用重新启动时应用。此后,可以在客户机应用与负责处理它们的应用服务器(430)之间恢复正常事务处理(418)。这种操作模式持续,直到再次分配新的版本。

Claims (15)

1.一种用于对应用服务器(109)的软件程序的新的非后向兼容版本到客户机/服务器联网环境(130)的引入进行管理的方法,所述方法包括:
首先向要由应用服务器的软件程序的新的非后向兼容版本所服务的客户机***(122)分配在与应用服务器的当前版本兼容的降级模式下以及在与所述软件程序的新的非后向兼容版本兼容的有效模式下可操作的客户机应用(120);
在安装在客户机***中时,将客户机应用设置为与应用服务器的软件程序的当前版本兼容的降级模式(370);
保持在降级模式下操作客户机应用,直到引入应用服务器的软件程序的新的非后向兼容版本;
在引入应用服务器的软件程序的新的非后向兼容版本时,将客户机应用设置为与应用服务器的软件程序的新的版本兼容的有效模式(380);
从该时刻起,在有效模式下操作客户机应用(120)。
2.权利要求1所述的方法,其中,设置步骤是在客户机***的每次重启时自动触发的,还包括以下步骤:
查询(212)在客户机/服务器联网环境中操作的版本服务器(105),所述查询包括:还包括客户机应用版本号的客户机***的标识;
从所查询的版本服务器(105)获得(214)状态值,以将客户机***(216)操作为包括降级模式和有效模式的模式。
3.权利要求2所述的方法,其中,查询(212)还包括:地理位置、用户标识以及用于建立统计的关于客户机***的所有种类的信息。
4.权利要求2和3所述的方法,其中,查询内容被存储在版本服务器的数据库(107)中。
5.权利要求2所述的方法,其中,当应用服务器的软件程序的新的非后向兼容版本投入正式使用时,操作应用服务器(100)的服务提供商强制进行客户机***的重启。
6.权利要求5所述的方法,其中,当加载应用服务器的软件程序的新的非后向兼容版本时,自动强制进行客户机***的重启。
7.权利要求5所述的方法,其中,在退回先前版本的情况下,自动强制进行客户机***的重启。
8.权利要求1和2所述的方法,其中,客户机应用从版本服务器接收状态值,以在无效模式(350)下操作客户机***。
9.权利要求2所述的方法,其中,在版本服务器中,所述获得步骤包括以下在前步骤:
针对元规则(320)检验客户机应用版本号,以立即将比元规则所指定的客户机应用更早的客户机应用声明为无效的。
10.权利要求9所述的方法,如果元规则检验成功,则还包括以下步骤:
针对兼容性规则集合(340)检验客户机应用版本号;
根据规则内容将兼容性规则(340)所涉及的客户机应用声明为无效的(350)、弃用的(360)或降级的(370);否则
将任何兼容性规则没有涉及的客户机应用声明为有效的(380)。
11.权利要求2所述的方法,其中,所述获得步骤还向客户机***传送补丁(414),以校正一个或多个客户机应用问题。
12.权利要求11所述的方法,其中,每次客户机***重启(416),自动应用所述补丁。
13.前述各权利要求中的任一项所述的方法,其中,客户机应用包括图形用户界面(210)。
14.一种用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境(100)的引入进行管理的***,包括版本服务器(105)以及数据库(107),所述数据库(107)包括用于执行根据权利要求1至13中的任一项的方法的每个步骤的装置。
15.一种计算机程序产品,其存储在计算机可读存储介质上,其包括计算机可读代码装置,用于使得至少一台计算机(110,122)操作根据权利要求1至13中的任一项所述的、用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进行管理的方法。
CN200980102667.XA 2008-01-22 2009-01-16 客户机/服务器计算环境中部署非后向兼容服务器版本的方法和*** Active CN101925878B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP08300042A EP2083354A1 (en) 2008-01-22 2008-01-22 Method and system for deploying non-backward compatible server versions in a client/server computing environment
EP08300042.2 2008-01-22
US2283408P 2008-01-23 2008-01-23
US61/022,834 2008-01-23
PCT/EP2009/050471 WO2009092666A1 (en) 2008-01-22 2009-01-16 Method and system for deploying non-backward compatible server versions in a client/server computing environment

Publications (2)

Publication Number Publication Date
CN101925878A true CN101925878A (zh) 2010-12-22
CN101925878B CN101925878B (zh) 2015-01-14

Family

ID=39238889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980102667.XA Active CN101925878B (zh) 2008-01-22 2009-01-16 客户机/服务器计算环境中部署非后向兼容服务器版本的方法和***

Country Status (11)

Country Link
US (1) US9098371B2 (zh)
EP (2) EP2083354A1 (zh)
JP (1) JP5437270B2 (zh)
KR (1) KR101676042B1 (zh)
CN (1) CN101925878B (zh)
AU (1) AU2009207774B2 (zh)
BR (1) BRPI0906423A2 (zh)
CA (1) CA2711944C (zh)
ES (1) ES2632740T3 (zh)
WO (1) WO2009092666A1 (zh)
ZA (1) ZA201004928B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521001A (zh) * 2011-12-19 2012-06-27 青岛海信网络科技股份有限公司 一种c/s结构应用程序版本兼容性控制方法
CN111226497A (zh) * 2017-10-17 2020-06-02 瑞典爱立信有限公司 通信网络中的服务注册

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161551B1 (en) * 2009-04-21 2012-04-17 Mcafee, Inc. System, method, and computer program product for enabling communication between security systems
US9262149B2 (en) * 2012-04-12 2016-02-16 International Business Machines Corporation Managing incrementally applied system updates
US9509566B2 (en) * 2013-06-27 2016-11-29 Yokogawa Electric Corporation System and method for generating output data
US9262237B2 (en) 2013-12-17 2016-02-16 International Business Machines Corporation Automating software availability management based on API versioning
US9262152B1 (en) * 2015-01-22 2016-02-16 Bank Of America Corporation Modular system including management and deployment of software updates and revisions
CN106897053B (zh) * 2016-07-08 2020-06-26 阿里巴巴集团控股有限公司 一种代码发布方法与装置
US10417116B2 (en) * 2016-07-28 2019-09-17 International Business Machines Corporation System, method, and apparatus for crowd-sourced gathering of application execution events for automatic application testing and replay
US10289401B1 (en) * 2016-12-30 2019-05-14 Juniper Networks, Inc Systems and methods for efficiently downgrading operating systems installed on network devices
US10997192B2 (en) 2019-01-31 2021-05-04 Splunk Inc. Data source correlation user interface
US10754638B1 (en) 2019-04-29 2020-08-25 Splunk Inc. Enabling agile functionality updates using multi-component application
US11194564B1 (en) 2019-04-29 2021-12-07 Splunk Inc. Maintaining compatibility in a multi-component application
CN112738550B (zh) * 2019-10-14 2022-10-11 腾讯科技(深圳)有限公司 内容数据的处理方法、装置、电子设备及介质
US11151125B1 (en) 2019-10-18 2021-10-19 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
CN111522561B (zh) * 2020-03-06 2023-06-06 杜晓楠 Dbft分布式网络中平滑向后兼容升级的方法、计算机可读存储介质和dbft网络
US11269876B1 (en) 2020-04-30 2022-03-08 Splunk Inc. Supporting graph data structure transformations in graphs generated from a query to event data
US11561821B1 (en) * 2020-05-07 2023-01-24 Amazon Technologies, Inc. Controlling placement of virtualized resources based on desirability index for host pools
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data
CN113885903B (zh) * 2021-08-30 2022-07-29 珠海读书郎软件科技有限公司 一种应用市场多应用升级的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
WO2001069382A1 (en) * 2000-03-10 2001-09-20 Aether Systems, Inc. System, method and apparatus for initial configuration of a client device
US20020078262A1 (en) * 2000-12-14 2002-06-20 Curl Corporation System and methods for providing compatibility across multiple versions of a software system
CN1545363A (zh) * 2003-11-14 2004-11-10 中兴通讯股份有限公司 一种分布式***中客户端从服务器端下载软件的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581010A (ja) * 1991-09-20 1993-04-02 Fujitsu Ltd パツチ実施方法
JPH07129373A (ja) * 1993-10-29 1995-05-19 Matsushita Electric Ind Co Ltd アプリケーションバージョン管理装置
US5754785A (en) * 1995-04-27 1998-05-19 General Datacomm Communications network equipment
US6343328B1 (en) * 1997-02-10 2002-01-29 International Business Machines Corporation Digital computer system using embedded comments to manipulate virtual controller functions
US6718549B1 (en) * 1999-05-05 2004-04-06 Microsoft Corporation Methods for managing the distribution of client bits to client computers
US6754848B1 (en) * 1999-09-30 2004-06-22 International Business Machines Corporation Method, system and program products for operationally migrating a cluster through emulation
US6950847B2 (en) * 2001-07-12 2005-09-27 Sun Microsystems, Inc. Service provider system for delivering services in a distributed computing environment
JP2004334767A (ja) * 2003-05-12 2004-11-25 Nec Corp 情報処理方法、情報処理装置及び情報処理プログラム
JP2005107708A (ja) * 2003-09-29 2005-04-21 Canon Inc アプリケーション配布システム
US20050108706A1 (en) * 2003-11-14 2005-05-19 International Business Machines Corporation Method and system for dynamically loading server code on a client to support multiple veresions of client and servers in a client/server application
US20050132032A1 (en) * 2003-12-15 2005-06-16 Bertrand Daniel W. Autonomous agent-based system management
EP1794688A2 (en) * 2004-09-17 2007-06-13 International Business Machines Corporation Display and installation of portlets on a client platform
US7792522B1 (en) * 2006-01-13 2010-09-07 Positive Access Corporation Software key control for mobile devices
JP4842690B2 (ja) * 2006-04-14 2011-12-21 富士通株式会社 アプリケーション管理プログラム、アプリケーション管理方法およびアプリケーション管理装置
US7606836B2 (en) * 2006-08-21 2009-10-20 Tibco Software Inc. Methods for efficient data version verification

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
WO2001069382A1 (en) * 2000-03-10 2001-09-20 Aether Systems, Inc. System, method and apparatus for initial configuration of a client device
US20020078262A1 (en) * 2000-12-14 2002-06-20 Curl Corporation System and methods for providing compatibility across multiple versions of a software system
CN1545363A (zh) * 2003-11-14 2004-11-10 中兴通讯股份有限公司 一种分布式***中客户端从服务器端下载软件的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521001A (zh) * 2011-12-19 2012-06-27 青岛海信网络科技股份有限公司 一种c/s结构应用程序版本兼容性控制方法
CN102521001B (zh) * 2011-12-19 2014-04-02 青岛海信网络科技股份有限公司 一种c/s结构应用程序版本兼容性控制方法
CN111226497A (zh) * 2017-10-17 2020-06-02 瑞典爱立信有限公司 通信网络中的服务注册
US11576031B2 (en) 2017-10-17 2023-02-07 Telefonaktiebolaget Lm Ericsson (Publ) Service registration in a communications network
CN111226497B (zh) * 2017-10-17 2024-02-09 瑞典爱立信有限公司 通信网络中的服务注册

Also Published As

Publication number Publication date
KR101676042B1 (ko) 2016-11-14
EP2235625A1 (en) 2010-10-06
BRPI0906423A2 (pt) 2015-07-14
AU2009207774B2 (en) 2014-10-30
ZA201004928B (en) 2012-10-31
US9098371B2 (en) 2015-08-04
JP2011510388A (ja) 2011-03-31
JP5437270B2 (ja) 2014-03-12
ES2632740T3 (es) 2017-09-15
KR20100113573A (ko) 2010-10-21
EP2235625B1 (en) 2017-05-03
CA2711944C (en) 2018-08-14
CN101925878B (zh) 2015-01-14
US20110185348A1 (en) 2011-07-28
AU2009207774A1 (en) 2009-07-30
CA2711944A1 (en) 2009-07-30
EP2083354A1 (en) 2009-07-29
WO2009092666A1 (en) 2009-07-30

Similar Documents

Publication Publication Date Title
CN101925878A (zh) 客户机/服务器计算环境中部署非后向兼容服务器版本的方法和***
CN100481005C (zh) 更新软件程序的***和方法
CN100541475C (zh) 用于设备管理***的设备管理方法
US7302558B2 (en) Systems and methods to facilitate the creation and configuration management of computing systems
CN1882911B (zh) 网络中文件传输的方法
EP2021937B1 (en) Techniques to perform gradual upgrades
EP1978672B1 (en) Method for implementing management software, hardware with pre-configured software and implementing method thereof
RU2429529C2 (ru) Динамическое конфигурирование, выделение и развертывание вычислительных систем
CN1934538B (zh) 用于多代理***的异常管理方案
CN102782650A (zh) 用于管理分布式环境中***管理代理的配置的方法与***
EP1076848A1 (en) Remote installation of computer operating systems
CN101267341A (zh) 一种分布式网络管理***、网管服务器和方法
US8924947B2 (en) Direct deployment of static content
CN101877655A (zh) 网络管理***、网管服务器和方法
CN111158752A (zh) 一种saas多版本控制***及其使用方法
US7076488B2 (en) XML-LDAP adapters and methods therefor
CN100452721C (zh) 客户端管理***以及方法
JPH10301786A (ja) ネットワーク経由によるソフトウェアの自動インストール方式
CN114257503A (zh) 加速域名部署方法、服务器、***和存储介质
CN107181629B (zh) 一种组件升级方法及***
CN113553004A (zh) 一种分布式的云存储服务方法、***及云存储服务平台
US20100138461A1 (en) Apparatus for managing new device component of mobile terminal and method of the same
Sage et al. Using a Nameserver to Enhance Control System Efficiency
KR20090085464A (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