客户机/服务器计算环境中部署非后向兼容服务器版本的方法和系统的制作方法

文档序号:6592632阅读:429来源:国知局
专利名称:客户机/服务器计算环境中部署非后向兼容服务器版本的方法和系统的制作方法
技术领域
本发明总体上涉及客户机/服务器环境中的计算机系统,更具体地说,涉及对无 需与客户机版本后向兼容的服务器软件应用的新的版本的部署。
背景技术
在网络上实施的客户机/服务器计算模型已经被普遍采用。在该模型中,客户机 节点的软件应用所发出的请求被发送到一个或多个所连接的服务器。一旦由服务器处理, 所请求的信息就被返回到客户机。该模型是互联网的模型,其中客户机为web浏览器而服 务器为包括诸如邮件服务器的许多专用服务器的web服务器。该模型也是许多服务提供商的模型,其通常操作大量计算资源,以便可能通过包 括互联网的公用网络和私有网络的混合来服务于客户机社区,即运行在服务提供商的计算 资源上的软件应用的终端用户。这种提供商的示例是全球分配系统(GDS),其将旅行服务提 供给整个旅行产业,包括航空公司、传统在线旅行社(例如用于旅行计划和预订)以及机场 (例如用于离场控制和乘客检入)。通常的软件系统在它们的生命周期内被频繁更新。甚至在开发阶段完成之后,当 系统处于正式使用中时,软件应用继续演进以应用校正并且通过添加新的特征来改进它 们。此外,为了充分利用新型机器的性能,或者因为操作系统是新的、已经被演进或是不同 的,可能必须进行改变。在客户机/服务器模型中,为了更设服务器侧应用的新的版本,标准实践是新的 版本必须后向兼容。因此,在任何节点处,无论客户机应用的哪个版本在使用中,新的服务 器一旦被部署就立即能够以兼容格式处理客户机请求并且传送所请求的信息。在某种程度上,这种理想方案应用于其中web服务器需要与全球公用网络的无数 客户机使用的所有现有web浏览器兼容的互联网。但是这并非完全是事实。公知的是, 并非所有web浏览器品牌都完全以相同方式反应,并且许多服务器实际上仅支持客户机 应用的最近版本。例如,对于全球使用最多的浏览器,即微软公司的web浏览器Internet Explore (IE),许多近期的服务器应用目前仅支持版本5 (IE5)以及更高版本。实际上,当浏 览器较早版本、或不支持的浏览器品牌从升级后的服务器请求并且接收信息时,客户机图 形用户界面(GUI)可能是严重不匹配的。对后向兼容的维护具有高成本,即使实际上其仅仅部分地可实现。服务器新应用 必须以一种方式或另一种方式应对在实际应用中要被支持的所有客户机版本的所有选项、 特征、不兼容性和缺陷。这在需要更多时间和技能来开发新服务器应用并且可能需要实现 更多存储和更快的硬件资源的开发阶段期间具有高成本。甚至更重要的是,要检验的服务 器/客户机浏览器组合的数量正快速增长到了这样的程度,其中测试阶段为了允许在合理 时间量内穷尽测试所有组合可能会需要用到不可能数量的资源(机器和人力)。即使web浏览器被认为是“瘦客户机”,即实际仅执行在服务器应用与客户机应用
4之间要完成的有限份额工作以完成所请求的工作的客户机,上述情况也是真实的。实际上, web浏览器的主要任务是通过⑶I显示web服务器所返回的页面。对于通常仅与附属客户机(例如航空公司、旅行社、机场等)一起工作的无法公共 接入的客户机/服务器系统,如以上提到的GDS,客户机应用可能反而需要成为所谓的“富 客户机”,其必须执行要在服务器与客户机之间共享的整个工作的更大一部分。这可能是需 要的,因为它们之间的可用带宽过于受限,而无法允许客户机应用对于要完成的每一任务 都向服务器请求。对于GDS,这例如是在机场中使用的用于控制飞机离场以及乘客检入的客 户机应用系统的情形,是当乘客登机时在高峰时间必须被加快的工作。实际上,小型机场可 能仍具有受限的外部通信资源。此外,即使检入应用是由附属于⑶S的航空公司使用的,机 场计算资源也是由机场管理局所拥有并且在其控制之下的,其需要许可,因而需要时间来 进行部署和更新。因此,当客户机应用是设计为自身执行较大份额工作的富客户机时,与瘦客户机 的情况相比,具有后向兼容服务器的问题如果不是不能实现的话,也是可能较难以完成的。 实际上,要支持的富客户机应用的所有版本的选项和特征的数量潜在地会大得多,因此极 大地加剧了上述提到的关于服务器应用的开发和测试阶段的问题。US-A-5. 732. 275公开了一种用于管理和自动更新软件程序的方法和装置。该文献 并未针对在部署服务器软件应用的新的非后向兼容版本之前调整网络的所有客户机软件 应用的问题。根据该现有技术,假设客户机应用自身能够从共享存储器下载软件版本。这 限制了这种技术的应用范围,而本发明可以应用于包括具有有限软件资源的相当简易的终 端的网络。W001/69382A公开了一种用于客户机设备的初始配置的方法。根据该公开,下载新 模板以初始地配置客户机应用。该模板意图将客户机应用调整为服务器的数据组织的新格 式,而不是服务器软件应用自身的新的版本。鉴于上述内容,因此期望在客户机/服务器环境中允许部署无需后向兼容的服务 器应用的新的版本。当参照附图研究以下描述时,本发明的其它目的、特征和优点对于本领域技术人 员将变得显而易见。意图将任何附加的优点合并到此。

发明内容
本发明针对必须在客户机/服务器环境中部署后向兼容服务器的上述困难,本发 明描述了一种用于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联 网环境的引入进行管理的方法和系统。所述方法包括首先向要由应用服务器的软件程序 的新的非后向兼容版本所服务的客户机系统分配在与应用服务器的当前版本兼容的模式 下以及在与新的非后向兼容版本兼容的模式下可操作的客户机应用。在安装在客户机系统 中时,将客户机应用设置为与应用服务器的当前版本兼容的降级模式。在应用服务器的当 前版本仍在正式使用中时,将客户机应用保持在降级模式下操作。在引入应用服务器的新 的非后向兼容版本时,将客户机应用设置为与应用服务器的新的版本兼容的有效模式。从 该时刻起,在有效模式下操作客户机应用。在查询在客户机/服务器联网环境中操作的版 本服务器的客户机系统的每次重启时自动触发模式的设置。查询包括客户机系统的标识和客户机应用版本号,以便从所查询的版本服务器获得状态值,以将客户机系统操作为包 括降级模式和有效模式的模式。根据本发明附加的但纯可选的实施例,所述方法使得-设置步骤在客户机系统的每次重启时被自动触发,还包括以下步骤查询在客户机/服务器联网环境中操作的版本服务器,所述查询包括还包括客 户机应用版本号的客户机系统的标识;从所查询的版本服务器获得状态值,以将客户机系统操作为包括降级模式和有效 模式的模式。_查询还包括地理位置、用户标识以及用于建立统计数据的关于客户机系统的所 有种类的信息。-查询内容存储在版本服务器的数据库中。-当应用服务器的软件程序的新的非后向兼容版本投入正式使用时,由操作应用 服务器的服务提供商强制进行客户机系统的重启。-当加载应用服务器的软件程序的新的非后向兼容版本时,自动强制进行客户机 系统的重启。-在退回先前版本的情况下,自动强制进行客户机系统的重启。-客户机应用从版本服务器接收状态值,以在无效模式下操作客户机系统。-在版本服务器中,所述获得步骤包括如下在前步骤针对元规则检验客户机应用版本号,以立即将比元规则所指定的客户机应用更早 的客户机应用声明为无效的。-如果元规则检验成功,则其包括进一步的步骤针对兼容性规则集合检验客户机应用版本号;根据规则内容将兼容性规则所涉及的客户机应用声明为无效的、弃用的或降级 的;否则,将任何兼容性规则都没有涉及的客户机应用声明为有效的。-所述获得步骤还向客户机系统传送补丁,以校正一个或多个客户机应用问题。-每次客户机系统重启时,动态应用所述补丁。-所述客户机应用包括图形用户界面。本发明还涉及一种用于对应用服务器的软件程序的新的非后向兼容版本到客户 机/服务器联网环境的引入进行管理的系统,其包括版本服务器和数据库,所述数据库包 括用于执行所述方法的每个步骤的装置。本发明还涉及一种计算机程序产品,其存储在计算机可读存储介质上,其包括计 算机可读代码装置,用于使得至少一台计算机操作用于对应用服务器的软件程序的新的非 后向兼容版本到客户机/服务器联网环境的引入进行管理的方法。


图1描述了基于包括版本服务器和数据库的GDS的根据本发明的示例性系统。图2是用于判定客户机应用和GUI必须如何根据正式使用中的服务器版本而操作 的客户机节点中的方法的主要步骤的高级视图。
6
图3讨论了版本服务器如何进行管理以将状态赋予已经在登录时发出查询的客 户机系统。图4描述了客户机系统的在线补丁,即,通过使用版本服务器而带来的功能增强。
具体实施例方式本发明的以下详细描述参照附图。虽然说明书包括示例性实施例,但其它实施例 也是可能的,并且在不脱离本发明精神和范围的情况下可以对所描述的实施例进行改变。图1描述了基于背景技术部分中讨论的GDS(IOO)的根据本发明的示例性系统。 在客户机/服务器环境中通过网络提供服务的GDS或任何等同系统通常从大量计算资源 (110)实现服务器,以支持多个位于远程的客户机应用(120)(其为在客户机层面运行的软 件应用)和系统(122)的多样性。在用于说明本发明的这个特定例子中,客户机系统是例如 当乘客正在登上飞机时所使用的机场离场控制系统(DCS)。在广域网(WAN)上在服务器和 客户机之间维护连接,广域网可能包括包含互联网的公用网络和私有网络的任何组合。计 算资源例如全部与私有局域网或LAN(105)互联。相似地,局部的客户机应用集合可以通过 LAN(例如机场LAN(125))互连,而独立的客户机应用集合通过WAN(130)与⑶S进行通信。 在该示例中,通过网关(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(IOO))就可以决定提 升为新的服务器,使得所有或至少大部分终端用户可以开始利用升级后的客户机/服务器功能和特征。提升可以由系统的管理员手动完成,或者可以在软件下载时自动触发。在此 情况下,版本服务器被指示在数据库中将远程客户机节点的状态改变为“有效”,使得服务 器的下一版本(N+1)可以投入正式使用,并且也使客户机应用和⑶I在级别N+1操作。为 了实现这种情况,版本服务器强制断开所有使用版本N(以及更早版本,如果存在的话)的 会话。为此,由版本服务器将退出消息转发到每一客户机远程节点,以结束用户会话并且请 求重启客户机应用和⑶I。于是,在下一重启时,版本N+1得以自动使用,如在本发明以下描 述中进一步讨论的那样。在此应注意,GDS服务提供商系统具有通过版本服务器控制所需 要的客户机节点多少的自由。仅特定升级所涉及的客户机节点需要重启。可以用各种非常 不同的粒度级别执行升级、降级(例如在退回先前版本的情况下)以及版本阻塞(如果当 前版本不兼容)。这个范围可能是从整个世界、地区、国家、城市、机场下至到任何可标识的 位置,诸如机场中的特定航站楼、登机门、办公室等,因此在部署新的客户机版本中提供了 大量灵活性。图2描述用于判定客户机应用和GUI必须如何根据正式使用中的服务器版本而操 作的客户机节点中的方法的主要步骤。每次客户机应用(210)重启时执行处理。由客户机应用在登录时自动发起(212) 事务处理,以从版本服务器和数据库(220)检索要使用的客户机应用版本的细节(214)。客 户机应用自动发送到版本服务器的查询需要包含客户机节点的标识(ID),包括使用中的应 用ID及其版本号。在本发明优选实施例中,为了建立关于客户机应用版本的使用和新的版本的部署 的进展的统计数据,查询应包含关于客户机节点的更多信息,包括-用户标识;-用户办公室,例如L0NLH033代表位于伦敦的汉莎航空公司(LH)代理机构;-用户位置,例如LHR/T2/GTE/20代表伦敦Heathrow机场、航站楼2、在门20处;-用户组织,例如LH,航空公司名称;-等等。无论以何种方式提供给图1所示的登录和安全服务器(LSS) (103)的信息作为要 提供的证书的一部分,以使得被看作应用服务器的合法用户。客户机应用在查询(212)中所提供的内容可以因此用于获得关于在实际应用中 的新的应用版本的部署的无价信息,并且该信息通常是关于与应用服务接口的客户机应用 的总数的特性的。例如,GDS可以使用客户机应用的某一版本建立世界上的位置列表,或者 可以检测何处仍在使用过早的版本。在数据库中收集客户机应用所提供的信息,并且该信 息可以由从负责监视并且管理大量远程客户机节点的管理中心运行的任何种类的程序利 用。版本服务器(220)继续管理在所有客户机节点中使用的客户机应用和GUI的状态 列表。然后,获知当前正式使用中的应用服务器的版本,并且如上所述,基于在查询中由客 户机节点提供的信息,在登录时间将状态返回(214)到每一客户机系统。状态可以取以下 各值之一 上述状态值是由客户机系统(216)解释的,以便根据正式使用中的应用服务器的 版本而运作。此后,可以在客户机应用与负责处理它们的应用服务器(230)之间发生正常 事务处理(218)。如果,出于任何原因,已经被提升的应用服务器遇到问题并且必须移除,则必然发 生退回先前版本。于是,已经下载的新的客户机应用和⑶I必须设置回到“降级”状态,使得 它们根据先前服务器版本再次开始运作,如在进行部署时的过渡时期中那样。如果某些客 户机系统仍正使用客户机应用和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)。这种操作模式持续,直到再次分配新的版本。
权利要求
一种用于对应用服务器(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中的任一项所述的、用 于对应用服务器的软件程序的新的非后向兼容版本到客户机/服务器联网环境的引入进 行管理的方法。
全文摘要
描述了管理将应用服务器的新非后向兼容版本引入客户机/服务器联网环境的方法和系统。该方法包括首先向应用服务器的新非后向兼容版本服务的客户机系统分配与应用服务器的当前版本兼容的模式和与新的非后向兼容版本兼容的模式下可操作的客户机应用。在客户机系统中安装时,设置客户机应用为与应用服务器的当前版本兼容的降级模式。在应用服务器的当前版本在正式使用时,保持客户机应用在降级模式下操作。在引入应用服务器的新非后向兼容版本时,将客户机应用设置为与应用服务器的新版本兼容的有效模式。从那时起在有效模式下操作客户机应用。在查询在客户机/服务器联网环境中操作的版本服务器的客户机系统的每次重启时自动触发模式设置。查询包括客户机系统标识和客户机应用版本号,以便从查询的版本服务器获得状态值,将客户机系统操作为包括降级模式和有效模式的模式。
文档编号G06F9/445GK101925878SQ200980102667
公开日2010年12月22日 申请日期2009年1月16日 优先权日2008年1月22日
发明者C·陈, J·考迪塞斯, P·多尔, S·蒙贝尔 申请人:阿玛得斯两合公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1