CN1229944C - 网络服务器编程环境升级方法及使用该方法的网络服务器 - Google Patents

网络服务器编程环境升级方法及使用该方法的网络服务器 Download PDF

Info

Publication number
CN1229944C
CN1229944C CNB028069552A CN02806955A CN1229944C CN 1229944 C CN1229944 C CN 1229944C CN B028069552 A CNB028069552 A CN B028069552A CN 02806955 A CN02806955 A CN 02806955A CN 1229944 C CN1229944 C CN 1229944C
Authority
CN
China
Prior art keywords
upgrading
higher level
transaction
level
lower level
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 - Lifetime
Application number
CNB028069552A
Other languages
English (en)
Other versions
CN1502190A (zh
Inventor
吉安尼·坎奈尔
阿尔伯托·库达
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.)
Telecom Italia SpA
Original Assignee
Telecom Italia SpA
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 Telecom Italia SpA filed Critical Telecom Italia SpA
Publication of CN1502190A publication Critical patent/CN1502190A/zh
Application granted granted Critical
Publication of CN1229944C publication Critical patent/CN1229944C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

依据本发明的方法能实时地更换服务器(S)的编程环境,该方法是按要被替代的进程(1)和替代进程(1′)在一段时间内共存的方式进行的。由该被替代的进程(1)决定该操作的持续时间,并且能判定何时完成已在该将被替换进程(1)中进行的各事务处理。

Description

网络服务器编程环境升级方法及使用该方法的网络服务器
技术领域
本发明涉及使用服务器的网络;更具体地,本发明涉及用来更新这些服务器的编程环境的功能,或者换言之,涉及目前用“软件升级”表示的功能。尤其,依据本发明的该方法是在特别注意管理事务处理(transactions)的并且保持某状态的服务器的潜在应用下开发的,其中该状态的丧失会造成永久或暂时的故障。
背景技术
在必须保证不中断地或者以最少数量的中断完成某服务的情况中,服务器软件升级是特别难以处理的,因为可能造成服务的失效。
鉴于此并且为了确保一定的容错度,常用的解决办法是更换服务器。在进行升级操作时,暂时地使得不能达到该操作中所涉及的服务器或服务器组(典型地通过消除可以定位这些服务器的数据库,例如借助域名服务器(DNS)机制)并且把负载传送到保持现用的服务器上。
这种解决办法的主要缺点如下:
-判定何时可以使某个服务器无效并不总是容易的:实际中必须确保不存在正在进行的事务处理,并且必须确保在任何充当客户的部件中服务器列出的本地拷贝不含有对所涉及的服务器的引用;
-另一个和该缺点直接相关的问题是,管理操作总是相当慢的,尤其在紧急情况下(例如当必须处理潜在的安全问题时),唯一的可能是暂时中断服务。
-另外,如果该进程保持的状态的持续时间超过某事务处理的持续时间并且(常常是这样)不容易识别它的有效寿命的结束,可能丢失该状态,从而造成暂时性的故障,以及
-最后,如果(如大多数情况中发生那样)难以预测通信量趋势并且在升级操作期间出现通信量峰值,则保持现用的服务器可能在处理它们的工作负荷时遇到困难:防止该问题的唯一方法是在足以应付正常环境的机器之外至少再部署一台机器,这需要增加在别的情况下完全不必要的系统冗余。
发明内容
从而本发明的目的是提供一种能克服上面概括的问题的解决办法。
依据本发明,通过一种具有在权利要求书中详细列出的特征的方法达到该目的。本发明还涉及一种关联系统,或者换言之该系统配置成基于上述方法操作,而且还涉及一种相关的软件产品或者代码,当在计算机上装入并运行它时能把该计算机配置成其可基于上述方法操作。
根据本发明的第一方面,提供一种用于对执行至少一个进程的网络服务器的编程环境进行升级的方法,所述进程包括一个和网络分组接口的较低层或级以及一个用于处理所述分组的较高层或级,该方法包括步骤:提供一个升级进程,该升级进程包括一个和网络分层接口的升级的较低层和一个用于处理所述分组的升级的较高层;所述升级的较低层与一个把网络分组从所述升级的较低层转向到所述较高层的通信信道相关联,用所述升级的较低层替代所述较低层,检查从所述升级的较低层接收的分组是和已在所述较高层进行的事务处理还是和新的事务处理有关,在所述较高层处理和已在较高层上进行的事务处理有关的分组,在所述升级的较高层上处理和新事务处理有关的分组,判定是否已经完成已在所述较高层上进行的各事务处理,以及当已经结束已在所述较高层上进行的所述各事务处理时,关闭所述通信信道,以完成对服务器的编程升级。
根据本发明的第二方面,提供一种利用如上述本发明第一方面的方法对编程环境进行升级的网络服务器。
本质上,该依据本发明的解决办法涉及“热(hot)”服务器进程替代(process replacement),其按使得将被替代的进程在一确定的时间阶段内和它的替代进程共存的方式进行。该操作的持续时间是由该替代进程决定的,从而确保在最后一个事务处理结束后该操作总会发生。可以把任何寿命更长的状态信息从一个进程传送到另一个进程,例如借助套接字(socket)或者其它双向进程间通信机制。
附图说明
下面的仅用作为例子的、不构成限制的说明将参照各附图,附图中:
图1是一个功能方块图,示出依据本发明操作的服务器的常规操作,
图2是一个采用和图1相同的形式的功能方块图,其示出如何进行图1中描述的服务器升级操作,以及
图3是一个流程图,示出如何进行图2中描述的操作。
具体实施方式
图1示意示出服务器S的总配置。该服务器例如可以是一个电信网中使用的实现SIP(会话发起协议)代理功能的服务器。
例如,它可以是位于加州Polo Alto的太阳微系统公司(SunMicrosystems)制造的采用Solaris TM操作系统的企业服务器。
服务器S能完成处理操作,例如整体上用1标记的处理操作。
操作1包括:
-较低层(或级-以下这二个术语是等同的)2,其和网络直接接口以确保分组接收/传输,以及
-较高层3,其处理分组,接收它们并把它们传到较低层。
层2和层3如用箭头表示那样按通常的双向通信方式接口。
由于意识到所有上述各点与本领域技术人员完全应熟悉的配置和应用准则相对应,故不必在本文中对它们提供详细说明。
在更新服务器的编程环境中(或换言之在所谓的软件升级操作中),现行的用1标识的配置必须用一个整体上用1′标记的并且类似地组织成较低层2′和较高层3′的更新配置替代,在更新或升级操作结束时较低层2′和高层3′会替代对应的层2和层3。
依据本发明的方法的意图是确保用更新版本1′代替或替代现行进程1的操作对于网络是完全透明的,换言之是按以下方式发生的,即与服务器S交互的客户机实际上不能检测出已经开始该升级操作并且所述操作正在进行中。
在保证正常管理正在进行的各事务处理,甚至在该进程保持的状态的持续时间超过事务处理的持续时间的情况中(这常常造成不能容易地识别有效寿命的结束),并且避免未预见的通信量峰值之后会造成任何困难的前提下,实现这一切。
该更新操作首先面对的是,对应于更新或升级1′的进程与现行的进程1连接,必须用整体上由4标记的自身验证的套接字或其它IPC机制替代该进程1。
当然,该要被替代的现行进程1还检查是否由同一个机器S进行该升级操作。
要被替代的现行进程1释放它的各个端口(较低层2)。这些端口立刻由升级进程1′的对应层2′捕获,层2′配置成可以选择性转向它接收到的分组流,以便作为通过信道4把该流转发到现行进程1的较高层3的准备。
接着由升级进程1′的较低层2′独占地接收从网络到达的分组。
在任何情况中,还把这些分组传送到进程1的正被在替换的较高层3。从而使较高层3进入好像一个滤波器那样工作的状态:如果这些报文涉及新的事务处理(或换言之升级操作开始后启动的事务处理),则把它们直接地、不再处理地传送到升级进程1′的相应较高层3′。相反,如果这些报文涉及已经在要替换的进程1的较高层3进行的事务处理,则它们继续由所述较高层3处理。
同时,二个进程1和1′可以交换和事务处理无关的状态信息。
当被替代的进程1的较高层3判定它管理的所有事务都已结束时,产生一个指示已完成升级操作的信号。在信道4发送的该信号确保升级进程1′的较低层2′不再向已升级的进程1的较高层3发送任何类型的分组或报文。关掉通信信道4,并且从而这一刻升级进程1′在各个方面都替代了进程1,而且使进程1无效。
在图3中示出的流程图中更详细地示出上面说明的完成升级操作中所采用的各个步骤。
在该流程图中,参考数字100代表该升级操作中的第一步骤,其对应于打开连接4。
参考数字102表示现行进程1检查是否在同一机器上进行升级的步骤。
当该检查的输出是负的(输出F),则不向下进行该升级操作并且在步骤104中断。
当该在步骤102进行的检查的输出是肯定的(输出V)时,在步骤106中系统的各端口(或者实际中和网络的接口)从现行进程1的低层2转移到升级进程1′的低层2′,并且接着在步骤108中进行状态信息的转送。
从此刻向前,建立其中和已经在进行的事务处理有关的报文继续由现行过程1处理而和新的事务处理有关的报文由升级进程1′处理的操作环境。
具体地,参考数字110表示其中读新取报文的步骤,而参考数字112表示其中进行检查以判定刚读出的分组和已知的还是和新的事务处理有关的步骤。
当报文涉及新事务(步骤112输出F)时,把该分组标识为“新”事务处理并且从而在步骤114由升级进程1′处理。
在已读出的报文被识别成和已知的事务处理对应(步骤112输出V)时,在步骤116中由现行进程1处理该报文。
从步骤114和116开始该升级操作继续并汇合到下一个用118标记的步骤,在步骤118中判定要被替代的进程即现行进程1中的各事处理是否被认为结束。
如果还存在尚未结束的事务处理(步骤118输出F)时,在要读取一个新分组的条件下,系统操作再次返回到步骤110的上游。
相反,如果已结束必须由要被替代的进程1处理的各个事务处理(步骤118输出V),系统转到用120标记的最后步骤,在步骤120中关闭通信信道4,从而完成该升级操作。
自然地并且不损害本发明的基本原理,在不超出本发明的范围下,可以相对于本文中提供的说明及描述广泛地改变其实现细节和形式。
例如,对于上面参照图1和3说明的总的方法,只作为例子的并且在任何方面不构成限制的可能的改变包括:
-用信道4标识的通信机制不是套接字:其实质在于,概括地说该信道允许双向通信而且它也能肯定地确定何处要进行另一个进程。
-用较低层2′替换或替代较低层2的初始机构,除了应用于各端口或作为替代应用于各端口,还应用到其它排他地用于输入/输出功能的专用资源上。
本质上,依据本发明的方法应用于其中必须使服务中断时间为最短(虚零(virtually nil)),并且不能识别其中要处理的通信量合理地低的期间的所有情形。

Claims (8)

1、一种用于对执行至少一个进程(1)的网络服务器(S)的编程环境进行升级的方法,所述进程(1)包括一个和网络分组接口的较低层或级(2)以及一个用于处理所述分组的较高层或级(3),该方法的特征在于包括步骤:
-提供一个升级进程(1′),该升级进程(1′)包括一个和网络分组接口的升级的较低层(2′)和一个用于处理所述分组的升级的较高层(3′);所述升级的较低层(2′)与一个把网络分组从所述升级的较低层(2′)转向到所述较高层(3)的通信信道(4)相关联,
-用所述升级的较低层(2′)替代(106)所述较低层(2),
-检查(112)从所述升级的较低层(2′)接收的分组是和已在所述较高层(3)进行的事务处理还是和新的事务处理有关,
-在所述较高层(3)处理(114)和已在较高层(3)上进行的事务处理有关的分组,
-在所述升级的较高层(3′)上处理(116)和新事务处理有关的分组,
-判定(118)是否已经完成已在所述较高层(3)上进行的各事务处理,以及
-当已经结束已在所述较高层(3)上进行的所述各事务处理时,关闭(120)所述通信信道(4),以完成对服务器(S)的编程升级。
2、依据权利要求1的方法,其特征在于:该方法包括为了进行所述编程升级而检查(102)是否在该同一个服务器(S)上进行所述编程升级的步骤。
3、依据权利要求1或2的方法,其特征在于:所述用所述升级的较低层(2′)替代所述较低层(2)的步骤包括把所述较低层(2)的各网络端口转移到所述升级的较低层(2′)上的步骤。
4、依据权利要求1的方法,其特征在于:所述检查(112)接收到的分组是和已在所述较高层(3)上进行的事务处理还是和新事务处理有关的步骤是在所述较高层(3)进行的,所述较高层(3)配置成通过所述通信信道(4)把和新事务处理有关的分组转发到所述升级的较高层(3′)。
5、依据权利要求1的方法,其特征在于:该方法包括把所述通信信道(4)配置成在要被升级的进程(1)和升级进程(1′)之间交换状态信息(108)。
6、依据权利要求1的方法,其特征在于:该方法包括把所述通信信道(4)配置成套接字的步骤。
7、一种网络服务器,其被配置成利用权利要求1至6中任一权利要求的方法对编程环境进行升级。
8、依据权利要求7的服务器,其特征在于:所述服务器是会话发起协议代理。
CNB028069552A 2001-03-21 2002-03-12 网络服务器编程环境升级方法及使用该方法的网络服务器 Expired - Lifetime CN1229944C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT2001TO000264A ITTO20010264A1 (it) 2001-03-21 2001-03-21 Procedimento per l'aggiornamento delle condizioni di programmazione di server di rete, relativo sistema e prodotto informatico.
ITTO01AOOO264 2001-03-21

Publications (2)

Publication Number Publication Date
CN1502190A CN1502190A (zh) 2004-06-02
CN1229944C true CN1229944C (zh) 2005-11-30

Family

ID=11458712

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028069552A Expired - Lifetime CN1229944C (zh) 2001-03-21 2002-03-12 网络服务器编程环境升级方法及使用该方法的网络服务器

Country Status (12)

Country Link
US (1) US7644189B2 (zh)
EP (1) EP1371172B1 (zh)
JP (1) JP4025650B2 (zh)
KR (1) KR100865516B1 (zh)
CN (1) CN1229944C (zh)
AT (1) ATE339821T1 (zh)
CA (1) CA2441402C (zh)
DE (1) DE60214688T2 (zh)
ES (1) ES2275855T3 (zh)
IT (1) ITTO20010264A1 (zh)
RU (1) RU2304353C2 (zh)
WO (1) WO2002076020A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100450014C (zh) * 2005-09-01 2009-01-07 腾讯科技(深圳)有限公司 一种网络服务在线升级的方法
CN100464522C (zh) * 2007-05-17 2009-02-25 华为技术有限公司 一种进程升级的方法及进程升级系统
CN101399692B (zh) * 2007-09-27 2011-12-21 华为技术有限公司 业务迁移的方法和系统
CN101442437B (zh) * 2008-10-31 2011-05-04 金蝶软件(中国)有限公司 一种实现高可用性的方法、系统及设备
JP4957765B2 (ja) * 2009-08-24 2012-06-20 日本電気株式会社 ソフトウェアプログラム実行装置、ソフトウェアプログラム実行方法、及びプログラム
US8997080B2 (en) * 2013-02-11 2015-03-31 Citrix Systems, Inc. System updates with personal virtual disks
CN104216725B (zh) * 2013-06-04 2019-04-19 Sap欧洲公司 用于软件解决方案托管的存储库层策略调整
JP6296612B2 (ja) * 2014-08-27 2018-03-20 日本電信電話株式会社 ネットワークシステム及びそのバージョン変更方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
SE504943C2 (sv) * 1994-12-09 1997-06-02 Ericsson Telefon Ab L M Synkroniseringsförfarande som tillåter tillståndsöverföring
DE19652628A1 (de) * 1996-12-18 1998-06-25 Philips Patentverwaltung Kommunikationssystem
US7107329B1 (en) * 1999-05-21 2006-09-12 Lucent Technologies Inc. In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption
US6856317B2 (en) * 2003-04-16 2005-02-15 Hewlett-Packard Development Company, L.P. System and method for storing public and secure font data in a font file

Also Published As

Publication number Publication date
KR100865516B1 (ko) 2008-10-29
ATE339821T1 (de) 2006-10-15
EP1371172B1 (en) 2006-09-13
RU2304353C2 (ru) 2007-08-10
JP2004526246A (ja) 2004-08-26
DE60214688T2 (de) 2007-09-13
ES2275855T3 (es) 2007-06-16
CA2441402C (en) 2011-05-10
RU2003130971A (ru) 2005-04-10
CN1502190A (zh) 2004-06-02
KR20030086606A (ko) 2003-11-10
WO2002076020A1 (en) 2002-09-26
EP1371172A1 (en) 2003-12-17
US20040088693A1 (en) 2004-05-06
ITTO20010264A0 (it) 2001-03-21
US7644189B2 (en) 2010-01-05
ITTO20010264A1 (it) 2002-09-21
DE60214688D1 (de) 2006-10-26
CA2441402A1 (en) 2002-09-26
JP4025650B2 (ja) 2007-12-26

Similar Documents

Publication Publication Date Title
US9055046B2 (en) Safe output protocol for files to multiple destinations with integrity check
CN1251446C (zh) 一种防御网络传输控制协议同步报文泛滥攻击的方法
CN101741855B (zh) 地址解析协议缓存表维护方法和网络设备
CN1713593A (zh) 应用服务器安全法与网络安全法的安全系统与方法
CN1859182A (zh) 一种对光网络单元onu进行版本升级的方法
CN1229944C (zh) 网络服务器编程环境升级方法及使用该方法的网络服务器
CN101043398A (zh) 一种动态共享连接的方法和系统
CN100454901C (zh) 一种arp报文处理方法
CN1992672A (zh) 一种防止由于地址老化时间不一致导致网络中断的方法
CN1832458A (zh) 用于实现应用服务器功能性的方法和接入节点
CN1308278A (zh) 集群服务器的ip容错方法
CN1852263A (zh) 一种报文的访问控制方法及一种网络设备
CN1801790A (zh) 使用浮动ip地址提高数据通信可靠性的方法
CN1152517C (zh) 防范网络攻击的方法
US20070266159A1 (en) System and Method for Communication Between Remote Objects and Local Proxies
CN1120418C (zh) 利用“移动软件代理”与移动数据处理设备进行通信的系统和方法
CN1235346C (zh) 提高接入服务器路由转发可靠性的方法
CN1567905A (zh) 一种实现媒体网关监测媒体网关控制器运作状态的方法
CN101064668A (zh) 一种分布式路由子系统在ipv6协议栈的实现方法
CN1113505C (zh) 具有分布网管代理的网管方法
CN1842011A (zh) 一种基于流量进行计费的改进方法和系统
CN1190933C (zh) 端对端地保护移动终端和因特网服务器之间在应用层上的事务
CN101060462A (zh) 一种数据恢复方法、装置、存储服务器及dhcp服务器
CN1841341A (zh) 信息处理装置、信息处理方法和信息处理程序
CN1492650A (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
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20051130

CX01 Expiry of patent term