CN1762154A - 数字媒体服务器的升级 - Google Patents
数字媒体服务器的升级 Download PDFInfo
- Publication number
- CN1762154A CN1762154A CNA2004800076607A CN200480007660A CN1762154A CN 1762154 A CN1762154 A CN 1762154A CN A2004800076607 A CNA2004800076607 A CN A2004800076607A CN 200480007660 A CN200480007660 A CN 200480007660A CN 1762154 A CN1762154 A CN 1762154A
- Authority
- CN
- China
- Prior art keywords
- new
- digital media
- old
- aku
- logic
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 124
- 238000012545 processing Methods 0.000 claims description 18
- 238000005192 partition Methods 0.000 claims description 15
- 230000032683 aging Effects 0.000 claims description 14
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 6
- 238000007689 inspection Methods 0.000 claims 3
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 13
- 230000002950 deficient Effects 0.000 description 5
- 101001129114 Arcanobacterium haemolyticum (strain ATCC 9345 / DSM 20595 / CCUG 17215 / LMG 16163 / NBRC 15585 / NCTC 8452 / 11018) Phospholipase D Proteins 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/818—OS software
-
- 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
- G06F8/656—Updates while running
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/241—Operating system [OS] processes, e.g. server setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Abstract
公开了一种系统和方法,其用于升级数字媒体服务器的硬件和软件组件,而不中断媒体传输服务。在一个优选实施例中,本系统和方法采用面向对象的模型,其允许系统服务器保持完全运行,同时安装操作系统和应用程序级的软件升级程序。此外,该系统和方法使用冗余的或可分区的可编程逻辑器件,以执行固件升级,而不中断媒体传输服务。
Description
技术领域
本发明涉及数字媒体服务器领域。
背景技术
数字媒体服务器,例如网络服务器和视频点播服务器,典型地包括许多功能性组件,这些组件包括用于存储数字媒体,将这种媒体从文件格式转换到线格式(wire format),以及安排媒体包(media packet)的传输的组件。在运行期间,媒体服务器从客户或管理器接受对内容的输入请求,并通过网络向客户传输媒体包。
大多数数字媒体服务器采用基于PC的结构(PC-based architecture)并运行多种软件组件,以提供上述的功能。在这些软件组件的设计中,技术人员付出了很大的努力以确保对其进行了充分地调试,并且没有缺陷。然而,实际上,许多缺陷在设计阶段是不能被发现的,只有当软件被投入实际运行中时才能暴露出这些缺陷。
系统运行中发现的缺陷常常可以通过进行软件组件的升级而纠正。有时也进行软件升级以补充或改进服务器功能,从而延长服务器的竞争生命。
为了升级正在执行的软件组件,就必须停止该组件的运行,将替换版本载入存储器并运行。在这个阶段中,组件不能提供正常的服务。
媒体服务器操作系统的缺陷产生的后果可能更为严重。典型地,操作系统围绕许多紧密结合的模块设计,这些模块向其它程序提供抽象数据结构,例如文件、存储器、输入/输出流、信号量(semaphore)、程序以及线程。应用程序通过应用程序接口(API)存取这些抽象结构。对这些结构其中之一的改变可能导致其它结构或模块中的副作用。通常地,操作系统级组件的替代要求重新载入整个操作系统,并在服务器重新启动过程中完成。因此,没有使媒体服务器脱机就不能升级操作系统级资源,并且在这些服务被恢复之前,重新启动可能需要相当长的时间。
脱机的服务器不能接收输入的请求或向已有的会话传输内容。因此,脱机的服务器可能影响整个服务网络的可用性,除非有足够的冗余服务器可用。
图1说明典型的升级过程及其对网络可用性的影响。如图1所示,在步骤105中,启动升级。接着,在步骤110中,检测到升级包。如果该升级包不能被下载,则升级过程结束(步骤190)。
在可以安装升级软件之前,执行升级前管理步骤120。特别地,在步骤125中,用户会话或者变少,或者被转移到未受影响的机器。接着,在步骤127中,中断将被更新的软件所影响的服务。
接着,执行升级过程步骤140。特别地,在步骤145中,系统的设置和属性或者被复制或者被修改。在步骤147中,从升级包复制新的组件。尽管一些媒体服务器可能允许在其运行时从本地或远程传输数据进入该服务器,但是为了实现升级,一些服务中断是特别必须的,而且在大多数情况下,服务器必需首先脱机工作。
接着,执行升级后过程步骤160。特别地,在步骤165中,媒体服务器的电源被关断并接着接通(如果服务器脱机),并且重新开始升级后的软件提供的服务。单个电源周期可以持续从只有几秒到几分钟之内的任何时间。单个电源周期需要的时间量依赖于服务器在断开电源之前依次断开正在运行的应用程序所需要的时间加上在电源再次接通后重新启动服务器和重新恢复应用程序所需要的时间。只有在这些事件完成后,服务器才能开始接收新的用户会话(步骤167)。
上述过程可能较大地影响系统的操作,特别是在整个系统升级的情况下,例如所有系统API和低级驱动器的升级。一般的数字媒体公司可能具有很多受这种升级影响的在线媒体服务器。尽管公司可能选择当服务器应用处于最低点的时候进行升级,但是如果需要关闭媒体服务器,升级仍然可能在某种程度上中断服务。至少公司可能由于停机时间受到收入的损失和遭受客户的不满。
为了避免这种服务中断现象,公司经常保有过多的服务器容量或冗余系统,以处理在升级过程中从受影响的服务器引导出来的通信量。但是冗余系统会引入额外的开支并且在许多情况下是无效的。
发明内容
本发明公开了一种系统和方法,其用于升级数字媒体服务器的硬件和软件组件,而不会中断媒体传输服务。在一个优选实施例中,本系统和方法采用面向对象的模型,其允许当安装操作系统和应用程序级的软件升级程序时,系统服务器保持完全运行状态。此外,该系统和方法使用冗余或可分区可编程逻辑器件以执行固件升级,而不中断媒体传输服务。
在另一方面,本发明旨在提供一种升级数字媒体服务器的方法,包括检查包括新对象的升级包的存在;在升级包中识别新的对象;识别新的对象的功能和属性;评估新的对象的兼容性;将新的对象示例为应用程序对象或服务对象;确定新的对象是否代替旧的对象;以及如果该新的对象代替旧的对象,则替换旧的对象。
在本发明的另一方面,替换的步骤进一步包括:锁闭旧的对象和新的对象;从旧的对象向新的对象复制字段(field);建立从所述新的对象到对所述旧的对象有关联的各个对象的链接;将其它对象到所述旧的对象的链接重新连接到所述新的对象;解锁新的对象;以及删除旧的对象。
在本发明的另一方面,删除的步骤包括存档(archiving)旧的对象。
在本发明的另一方面,删除的步骤包括清除(purging)旧的对象。
在本发明的另一方面,升级包进一步包括一种或多种用于旧的对象的新方法,所述方法进一步包括:识别一种或多种新方法;评估一种或多种新方法的兼容性;确定新方法是否代替旧方法;以及如果新方法代替旧方法,则停止并替换旧方法。
在本发明的另一方面,旧方法是一个接口。
在本发明的另一方面,该方法进一步包括从网络源下载升级包。
在本发明的另一方面,该方法进一步包括从存储介质载入升级包。
在另一方面,本发明旨在一种升级数字媒体服务器的方法,其具有包括第一活动分区和第二非活动分区的可分区的可编程逻辑器件,该方法包括:用新的逻辑为第二分区编程;将第二分区从非活动状态转换到活动状态,并同时从第一分区接管(assume)数据处理功能;以及将第一分区转换为非活动状态。
在本发明的另一方面,所述方法进一步包括用新的逻辑为第一分区编程。
在另一方面,本发明旨在提供一种升级数字媒体服务器的方法,数字媒体服务器具有两个或多个冗余的可编程逻辑器件,每个具有活动和非活动状态,所述方法包括:确定处于活动状态的第一组可编程逻辑器件;向处于非活动状态的一个或多个逻辑器件的第二组载入新的逻辑;将第二组器件转换到活动状态,并同时从第一组器件接管数据处理功能;以及将第一器件转换为非活动状态。
在本发明的另一方面,该方法进一步包括向第一组器件载入新的逻辑。
在另一方面,本发明旨在提供一种在数字媒体服务器上安装升级软件的方法,该数字媒体服务器包括通用计算机和硬件引擎,所述计算机包括面向对象的运行时间环境,而且所述硬件引擎包括具有第一活动分区和第二非活动分区的可编程的逻辑器件,所述方法包括:检查包括新的对象和新逻辑的升级包的存在;在升级包中识别新的对象;识别新的对象的功能和属性;评估新的对象的兼容性;将新的对象示例为应用程序对象或服务对象;确定新的对象是否代替旧的对象;如果新的对象代替旧的对象,则替换旧的对象;在升级包中识别新逻辑;用新逻辑编程第二非活动分区;将第二分区从非活动状态转换到活动状态,并同时从第一活动分区接管数据处理功能;以及将第一分区转换为非活动状态。
在本发明的另一方面,替换的步骤进一步包括:锁闭旧的对象和新的对象;从旧的对象向新的对象复制字段(field);建立从所述新的对象到各个对所述旧的对象相关联的对象的链接;将其它对象到所述旧的对象的链接重新连接到所述新的对象;解锁新的对象;以及删除旧的对象。
在另一方面,本发明旨在提供一种在数字媒体服务器上安装升级软件的方法,该数字媒体服务器包括通用计算机和硬件引擎,所述计算机包括面向对象的运行时间环境,而所述硬件引擎包括两个或多个可编程的逻辑器件,每个器件具有活动和非活动状态,所述方法包括:检查包括新的对象和新逻辑的升级包的存在;在升级包中识别新的对象;识别新的对象的功能和属性;评估新的对象的兼容性;将新的对象示例为应用程序对象和服务对象;确定新的对象是否代替旧的对象;如果新的对象代替旧的对象,则替换旧的对象;在升级包中识别新逻辑;确定处于活动状态的第一组可编程逻辑器件;将新逻辑编程进入处于非活动状态的一个或多个逻辑器件中的第二组;将第二组器件转换到活动状态,并同时从第一组器件接管数据处理功能;以及将第一组器件转换到非活动状态。
在本发明的另一方面,替换的步骤进一步包括:锁闭旧的对象和新的对象;从旧的对象向新的对象复制字段;建立从所述新的对象到各个对所述旧的对象相关联的对象的链接;将其它对象到所述旧的对象的链接重新连接到所述新的对象;解锁新的对象;以及删除旧的对象。
在本发明的另一方面,升级包进一步包括用于旧的对象的一种或多种新方法,以及所述方法进一步包括:识别一种或多种新方法;评估一种或多种新方法的兼容性;确定新方法是否代替旧方法;以及如果新方法代替旧方法,则停止并替换旧方法。
在本发明的另一方面,所述旧方法是一个接口。
在另一方面,本发明旨在提供一种数字媒体服务器,其包括:对象存储;面向对象的运行时间环境,其包括:服务对象,应用程序对象,以及对象管理器,其适合方便服务对象和应用程序对象的替换,而不中断服务和应用程序对象提供的数据处理功能。
在本发明的另一方面,服务器进一步包括网络接口,其用于下载包括替代的服务和应用程序对象的升级包。
在本发明的另一方面,服务器进一步包括存储介质,其用于存储包括替代的服务和应用程序对象的升级包。
在另一方面,本发明旨在提供一种数字媒体服务器,其包括:两个或多个可编程的逻辑器件,每个器件能够在活动状态和非活动状态之间切换;输入数据通路;以及输出数据通路;其中处于活动状态的一个或多个可编程的逻辑器件处理到达输入数据通路的数字媒体,并将被处理的数字媒体提供给输出数据通路,同时编程处于非活动状态的一个或多个可编程的逻辑器件。
在另一方面,本发明旨在提供一种数字媒体服务器,其包括:可分区的可编程的逻辑器件,其具有两个或多个独立的可编程的分区,每个分区能够在活动状态和非活动状态之间切换;输入数据通路;和输出数据通路;其中处于活动状态的一个或多个分区处理到达输入数据通路的数字媒体,并将被处理的数字媒体提供给输出数据通路,同时编程处于非活动状态的一个或多个分区。
在另一方面,本发明旨在提供一种数字媒体服务器,其包括:对象存储;面向对象的运行时间环境,其包括:服务对象,应用程序对象,对象管理器,其适合方便服务对象和应用程序对象的替换,而不中断服务和应用程序对象提供的数据处理功能;两个或多个可编程的逻辑器件,每个器件能够在活动状态和非活动状态之间切换;输入数据通路;以及输出数据通路;其中处于活动状态的一个或多个可编程的逻辑器件处理到达输入数据通路的数字媒体,并将被处理的数字媒体提供给输出数据通路,同时用新逻辑编程处于非活动状态的一个或多个可编程的逻辑器件。
在另一方面,本发明旨在提供一种数字媒体服务器,其包括:对象存储;面向对象的运行时间环境,其包括:服务对象,应用程序对象,以及对象管理器,其适合方便服务对象和应用程序对象的替换,而不中断服务和应用程序对象提供的数据处理功能;可分区的可编程的逻辑器件,其具有两个或多个独立的可编程的分区,每个分区能够在活动状态和非活动状态之间切换;输入数据通路;以及输出数据通路;其中处于活动状态的一个或多个分区处理到达输入数据通路的数字媒体,并将被处理的数字媒体提供给输出数据通路,同时用新逻辑编程处于非活动状态的一个或多个分区。
附图说明
图1是说明根据现有技术的升级过程的流程图;
图2是描述数字媒体服务器的优选实施例的方块图;
图3是说明数字媒体服务器数据流动过程的优选实施例的流程图;
图4A是对象的示例性实施例;
图4B是描述本发明一个实施例中通用计算设备的优选实施例的方块图;
图5是说明优选实施例中用于执行升级程序的步骤的流程图;
图6是说明优选实施例中用于进行对象的替代的步骤的流程图;
图7A是说明使用可分区的可重新编程的逻辑器件的数字媒体传输途径的优选实施例的方块图;
图7B是说明使用冗余的可重新编程的器件的数字媒体传输途径的优选实施例的方块图;
图8是说明使用可分区的可编程的逻辑器件执行硬件引擎的固件升级的优选实施例的流程图;以及
图9是说明使用冗余的可编程的逻辑器件执行硬件引擎的固件升级的优选实施例的流程图。
具体实施方式
为了说明和方便理解本发明,将结合特定的数字媒体服务器描述下述优选实施例。
如图2所示,这些优选实施例的数字媒体服务器200优选地包括:硬件引擎220,通用计算机240,以及存储设备210。硬件引擎220优选地包括:媒体缓冲器225,一个或可多个可编程逻辑器件(PLD)227,以及网络接口230。如下面的详细描述,在一个优选实施例中,硬件引擎220可以包括可分区的PLD或冗余PLD,以方便媒体服务器升级而不会产生服务中断。
通用计算机240优选地包括:面向对象的运行时间环境250,操作系统260,以及硬件接口270。总线280提供硬件引擎220、通用计算机240和存储设备210之间的数据通信通路。
硬件引擎220优选地适用于从存储在存储设备210上的数据生成线数据包(wire data packet),并通过数字网络将其发送给客户。在一个优选实施例中,在通用计算设备240的控制下,数据从存储设备210复制到媒体缓冲器225。在2003年2月19日提交的美国专利申请号No.10/369,305,名称为“混合流平台(Hybrid Streaming Platform)”(被Pennie & EdmondsLLP标记为案号no.11055-005-999)的申请中描述了包括通用计算设备240和硬件引擎220的优选的结构,因此其中的每个教导和实施例被全部包括作为参考。
PLD 227优选地适合于将媒体缓冲器225中被复制的数据从文件格式转换为线格式。通过网络接口230,完整的数据包被送到网络。在2003年2月19日提交的美国专利申请No.10/369,306,名称为“可变流硬件(Flexible Streaming Hardware)”(被Pennie & Edmonds LLP标记为案号no.11055-006-999)的申请中描述了用于执行这些步骤的优选系统和方法,因此其中的每个教导和实施例被全部包括作为参考。
图3说明数字媒体服务器200执行的数据流过程的优选实施例。如图3所示,在步骤310中,从存储设备210中读出媒体数据块,并根据来自通用计算设备240的指令直接复制到媒体缓冲器225。在步骤320中,硬件引擎220重新装配来自于存储在媒体缓冲器225中数据块的媒体数据。
在步骤330中,硬件引擎220在从媒体缓冲器225读出时生成数据包。在步骤340中,硬件引擎220将刚生成的数据包传输到网络接口230,其接着将数据包写入数字网络。正如下列专利指出的,在2003年2月19日提交的美国专利申请No.10/369,306,名称为“可变流硬件(FlexibleStreaming Hardware)”(被Pennie & Edmonds LLP标记为案号no.11055-006-999)和美国专利申请号No.10/369,305,名称为“混合流平台(Hybrid Streaming Platform)”(被Pennie & Edmonds LLP标记为案号no.11055-005-999)的申请中更详细地描述了该过程和执行该过程的平台,因此两者中的每个教导和实施例被全部包括作为参考。
在一个优选实施例中,通用计算设备240优选地已经安装了运行时间环境250,其适于运行面向对象的软件程序,该软件程序包括用于实现任何希望的流解决方案或其它任务的程序。这种任务可以包括会话设置、管理和流话路的拆卸以及误差处理。在一个优选实施例中,这些程序被设计为面向对象的程序。
图4A说明一个优选实施例中对象410的组成。如图4A所示,对象410优选地包括:字段412,方法415以及动态参考418。字段412在对象410中存储数据,并包括能够被其它对象(通常所说的属性414)访问的数据,以及隐藏于其它对象的数据。字段412表示对象410的当前状态。
方法415是可以对字段412中的数据进行操作的程序或功能。而可以被其它对象调用以与对象互相作用的对象的方法称为接口417。
动态参考418表示对象410之间的控制和数据流通路。对象的参考418不需在运行时间之前定义,并且甚至能够在运行时间环境250中建立对象410之后被改变。
图4B更详细地说明运行时间环境250。环境250优选地包括:应用程序420,服务430以及对象管理器440。应用程序420是被设计为执行某项任务的对象的集合。对象之间的动态参考418被说明为图4B中的双向箭头。服务430是被设计为提供应用程序对象和通用计算机240的操作系统(OS)260以及硬件接口270之间的接口的对象的集合。
对象管理器440优选地负责维持包括在应用程序420和服务430中的所有对象410的状态。在一个优选实施例中,对象管理器440验证对象410,以确保这些对象被正确地构成,并在将其载入运行时间环境250之前不会被破坏。对象管理器440同时列举对象数量并对其评估,以确保其与对象管理器440、环境250以及其他对象410的兼容性。
运行时间环境250优选地建立在通用计算机240的操作系统260提供的装置之上。通过操作系统260与服务430相互作用,应用程序对象能够间接地访问硬件270。本领域技术人员将知道使用面向对象的组件可以执行操作系统260。这种操作系统可以被定位在运行时间环境250中,并作为服务430的扩充来运行。实际上,运行时间环境250可以被看作与操作系统260结合。这就允许不中断操作系统提供的功能而对操作系统升级,正如下面所述。
硬件270优选地包括输入-输出接口卡272、274,用于与运行时间环境中的对象和数据存储设备210交互。
数据存储设备210是存储库,其优选地包含对象或被称为包490的对象集合的定义。这种包被典型地组合,以使对象集合的传输更加方便。
升级过程
下面结合图5描述对运行在通用计算机240上的面向对象的软件进行升级的优选实施例。如图5所示,在步骤505中,系统管理器启动升级会话。在步骤510中,对象管理器440确定在数据存储器210中是否存在对象包490(包括被升级对象)。如果升级包可用,则在步骤520中执行运行时间可扩展升级。
在执行运行时间可扩展升级(步骤520)之前,对象管理器440继续跟踪环境250中对象的所有当前情况,包括对其他对象的动态参考418。在步骤530中,对象管理器440识别升级包490中的任何新的对象,并且,在这种情况下,验证这些对象被正确地形成并且不会被破坏。在步骤535中,列举包490中的每个对象以及与对象相应的接口和属性。在该列举过程中,对象管理器440确定对象将如何与其它对象交互。接着,在步骤540中,评估每个对象与可能调用它的其它对象的兼容性。同时,优选地检查对象版本以确保其与对象管理器440和环境250以及其它交互的对象的兼容性。
在步骤550中,对象管理器440在环境250的适当区域建立新对象的实例。对象管理器440同时建立新对象和已有的服务430或应用程序420之间的逻辑连接。
关于全部或部分替换已有对象提供的功能的新对象,对象管理器440优选地适用于指导从被替换的已有对象到被安装的新对象的依次转换。这里该过程被称为升级,下面结合图6更详细地描述该过程。在步骤560中,对象管理器440将字段412从已有的对象复制到其相应的替代对象中。接着,在步骤570中,在用于维持在线的已有对象和任何新对象之间建立新的动态参考418。在步骤575中,已有的动态参考418被重新路由到新对象。这就允许对象参考418从已有对象到新对象的顺序重新路由。
在步骤580中,不再处于有效使用中的对象410或者被对象管理器440从环境250中永久地清除,或者被存入存储设备210用于以后可能的恢复。
由于升级可能包括对已有对象的部分或全部替换,就可能存在被替换的对象所提供的服务或功能的中断。在一个优选实施例中,本系统和方法通过升级新的替代对象解决该问题,以避免已有对象被替换时的服务中断。更特别地,升级允许对象管理器440在升级中将活动数据传输通路从已有对象转换到新对象,而不会中断或终止这些数据传输通路。
在图6中说明了示例性的升级过程。在图6的示例性情况下,作为升级的一部分,对象A被对象B代替。在步骤610中,对象管理器440验证对象B的方法和属性与对象A参考的上游对象的兼容。这些上游对象为向对象A提供数据或服务的对象。在步骤615中,对象管理器440验证对象B的方法和属性与参考对象A的下游对象的兼容。这些下游对象为从对象A请求服务或接收数据的对象。一旦完成这些验证,对象管理器440在环境250中建立对象B的实例。
接着,在步骤625中,对象管理器440在环境250中锁闭对象A和对象B。锁闭防止任一对象的字段412变化,并在从对象A到对象B的转换中为对象管理器440提供对这些对象的专用存取。
当对象在步骤630中被锁闭时,对象管理器440将对象A发现的字段值复制到对象B。接着,在步骤635中,从对象A到对象B复制到上游对象的参考418。同样地,在步骤640中,在下游对象中发现的到对象A的参考被重新定向到对象B。在步骤645中,对象B被对象管理器440解锁,从而恢复最初由对象A提供但现在由对象B提供的服务和功能,并使对象B提供的任何新服务和功能可用。在步骤650中,对象管理器440清除或存档对象A,从而完成升级过程。
升级也可以包括更精细的(finer grained)方法,其中不需替换整个对象而改变对象的方法。在这种情况下,不需锁闭整个对象;而是,限制对升级的方法的访问。例如,假如包括在流管理器对象中的日志记录器(logwriter)接口要求升级。流管理器对象继续通过其它方法向其它对象提供功能。升级过程阻止对象访问日志记录器接口,但是不锁闭流管理器对象。在用于日志记录器接口的代码被替换之后,对象能够重新开始与日志记录器接口的交互。
运行时间可扩充的数字媒体服务器
硬件引擎220中的可编程逻辑器件227一般地不包括类似通用计算机240的操作系统。而是,PLD227一般用可编程逻辑器件设计,以有效地实现相对有限的一组数据处理任务,如上所述。下面描述两个优选实施例,其用于在PLD 227中得到的可编程逻辑的升级中,保持媒体以满负荷传输。
在第一个优选实施例中,每个PLD227能够选择地分区和重新编程器件的指定部分,其它不受影响的部分正常地运行。在第二个优选实施例中,硬件引擎220包括冗余PLD。下面结合图7A-B和图8-9描述这些实施例。
图7A说明可分区的PLD实施例。在该实施例中,数字媒体传输途径700优选地包括数据通路710和可分区的可重新编程的逻辑器件720。可分区的可重新编程的逻辑器件720优选地包括多个分区,(例如,722,724,726),每个分区可以在其它分区继续工作时,被独立地重新编程。
在图8中更详细地说明了用于可分区的PLD700的固件升级过程的例子。如图8所示,在步骤810中,当系统管理器启动固件升级时,在PLD700中建立新的分区。接着,在步骤820中,用一组新的硬件描述语言(HDL)逻辑编程该分区。在步骤830中,进行可操作的传输,其中分区控制来自其代替的初始分区的处理功能。更具体地,新的非活动的分区被转换为活动状态,并提供继续流数字媒体所需要的处理功能。同时,初始分区被转换为非活动状态。接着,在步骤840中,初始分区被重新编程,从而完成升级会话。
图7B说明冗余逻辑器件的实施例。在该实施例中,数字媒体传输路径750优选地包括数据通路760,第一可编程逻辑器件770(PLD-A),以及第二可编程逻辑器件780(PLD-B)。非活动的器件仅通过通路760传递数据。
由于采用该冗余方法,一个PLD可以用于重新编程,而另一个响应来自通用计算机240的请求。随后,两个PLD可以再次交换控制,从而另一个可以被升级。因此可以完成固件升级而不会中断数字媒体传输服务。
在图9中更详细地说明了用于冗余PLD路径750的固件升级过程的例子。如图9所示,步骤910中,当系统管理器启动固件升级时,确定器件770、780哪个处于活动状态、哪个处于非活动状态或通过(passthrough)。对于图7B的示例性情况,假设PLD-A 770处于活动状态。接着,在步骤920中,通过载入一组新的硬件描述语言(HDL)逻辑升级PLD-B780。在步骤930中,进行有效的转换,其中PLD-B 780成为活动器件,PLD-A 770成为非活动器件。接着,在步骤940中,用一组新的HDL逻辑升级PLD-A,从而完成升级会话。
当结合特定实施例描述本发明时,根据前面的描述本领域技术人员应该清楚许多可供选择的方法,修改和变化。
Claims (39)
1、一种升级数字媒体服务器的方法,其包括:
检查包括新的对象的升级包的存在;
在所述升级包中识别新的对象;
识别所述新的对象的功能和属性;
评估所述新的对象的兼容性;
将新的对象示例为应用程序对象或服务对象;
确定新的对象是否代替旧的对象;以及
如果所述新的对象代替旧的对象,则替换所述旧的对象。
2、如权利要求1所述的方法,其中所述替换的步骤进一步包括:
锁闭所述旧的对象和所述新的对象;
从所述旧的对象向所述新的对象复制字段;
建立从所述新的对象到对所述旧的对象有关联的各个对象的链接;
将其它对象到所述旧的对象的链接重新连接到所述新的对象;
解锁所述新的对象;以及
删除所述旧的对象。
3、如权利要求2所述的方法,其中所述删除的步骤包括存档所述旧的对象。
4.如权利要求2所述的方法,其中所述删除的步骤包括清除所述旧的对象。
5、如权利要求1所述的方法,其中所述升级包进一步包括一种或多种用于旧的对象的新方法,所述方法进一步包括:
识别一种或多种新方法;
评估一种或多种新方法的兼容性;
确定新方法是否代替旧方法;以及
如果所述新方法代替所述旧方法,则停止并替换所述旧方法。
6、如权利要求5所述的方法,其中所述旧方法是一个接口。
7、如权利要求1所述的方法,进一步包括从网络源下载所述升级包。
8、如权利要求1所述的方法,进一步包括从存储介质载入所述升级包。
9、一种升级数字媒体服务器的方法,该数字媒体服务器具有包括第一活动分区和第二非活动分区的可分区的可编程逻辑器件,该方法包括:
用新的逻辑为所述第二分区编程;
将所述第二分区从所述非活动状态转换到所述活动状态,并同时从所述第一分区接管数据处理功能;以及
将所述第一分区转换为非活动状态。
10、如权利要求9所述的方法,进一步包括用新的逻辑为所述第一分区编程。
11、一种升级数字媒体服务器的方法,该数字媒体服务器具有两个或多个冗余的可编程逻辑器件,每个器件具有活动和非活动状态,所述方法包括:
确定处于所述活动状态的第一组可编程逻辑器件;
向处于所述非活动状态的一个或多个逻辑器件的第二组载入新的逻辑;
将所述第二组器件转换到所述活动状态,并同时从所述第一组器件接手数据处理功能;以及
将所述第一器件转换为所述非活动状态。
12、如权利要求11所述的方法,进一步包括向所述第一组器件载入新的逻辑。
13、一种在数字媒体服务器上安装升级软件的方法,该数字媒体服务器包括一台通用计算机和一个硬件引擎,所述计算机包括面向对象的运行时间环境,而所述硬件引擎包括具有第一活动分区和第二非活动分区的可编程的逻辑器件,所述方法包括:
检查包含新的对象和新逻辑的升级包的存在;
在所述升级包中识别新的对象;
识别所述新的对象的功能和属性;
评估所述新的对象的兼容性;
将新的对象示例为应用程序对象或服务对象;
确定新的对象是否代替旧的对象;
如果所述新的对象代替所述旧的对象,则替换所述旧的对象;
在所述升级包中识别新逻辑;
用所述新逻辑编程所述第二非活动分区;
将所述第二分区从非活动状态转换到活动状态,并同时从所述第一活动分区接手数据处理功能;以及
将所述第一分区转换为非活动状态。
14、如权利要求13所述的方法,进一步包括用所述新逻辑编程所述第一分区。
15、如权利要求13所述的方法,进一步包括从网络源下载所述升级包。
16、如权利要求13所述的方法,进一步包括从存储介质载入所述升级包。
17、如权利要求13所述的方法,其中所述替换的步骤进一步包括:
锁闭所述旧的对象和所述新的对象;
从所述旧的对象向所述新的对象复制字段;
建立从所述新的对象到各个对所述旧的对象相关联的对象的链接;
将到所述旧的对象的链接从其它对象重新连接到所述新的对象;
解锁所述新的对象;以及
删除所述旧的对象。
18、如权利要求17所述的方法,其中所述删除的步骤包括存档所述旧的对象。
19、如权利要求17所述的方法,其中所述删除的步骤包括清除所述旧的对象。
20、一种在数字媒体服务器上安装升级软件的方法,该数字媒体服务器包括一台通用计算机和一个硬件引擎,所述计算机包括面向对象的运行时间环境,而所述硬件引擎包括两个或多个可编程的逻辑器件,每个器件具有活动和非活动状态,所述方法包括:
检查包含新的对象和新逻辑的升级包的存在;
在所述升级包中识别新的对象;
识别所述新的对象的功能和属性;
评估所述新的对象的兼容性;
将新的对象示例为应用程序对象或服务对象;
确定新的对象是否代替旧的对象;
如果所述新的对象代替所述旧的对象,则替换所述旧的对象;
在所述升级包中识别新逻辑;
确定处于所述活动状态的第一组可编程逻辑器件;
将新逻辑编程进入第二组一个或多个处于非活动状态的逻辑器件;
将所述第二组器件转换到活动状态,并同时从所述第一组器件接手数据处理功能;以及
将所述第一组器件转换到所述非活动状态。
21、如权利要求20所述的方法,进一步包括将所述新逻辑编程进入所述第一组器件。
22、如权利要求20所述的方法,进一步包括从网络源下载所述升级包。
23、如权利要求20所述的方法,进一步包括从存储介质载入所述升级包。
24、如权利要求20所述的方法,其中所述替换的步骤进一步包括:
锁闭所述旧的对象和所述新的对象;
从所述旧的对象向所述新的对象复制字段;
建立从所述新的对象到各个与所述旧的对象相关联的对象的链接;
将到所述旧的对象的链接从其它对象重新连接到所述新的对象;
解锁所述新的对象;以及
删除所述旧的对象。
25、如权利要求24所述的方法,其中所述删除的步骤包括存档所述旧的对象。
26、如权利要求24所述的方法,其中所述删除的步骤包括清除所述旧的对象。
27、如权利要求20所述的方法,其中所述升级包进一步包括用于旧的对象的一种或多种新方法,所述方法进一步包括:
识别所述一种或多种新方法;
评估所述一种或多种新方法的兼容性;
确定新方法是否可以代替旧方法;以及
如果所述新方法代替所述旧方法,则停止并替换所述旧方法。
28、如权利要求27所述的方法,其中所述旧方法是一个接口。
29、一种数字媒体服务器,其包括:
对象存储;以及
面向对象的运行时间环境,其包括:
服务对象,
应用程序对象,以及
对象管理器,其适用于帮助服务对象和应用程序对象的替换,而不中断由服务和应用程序对象提供的数据处理功能。
30、如权利要求29所述的服务器,进一步包括网络接口,其用于下载包括替代的服务和应用程序对象的升级包。
31、如权利要求29所述的服务器,进一步包括存储介质,其用于存储包括替代的服务和应用程序对象的升级包。
32、一种数字媒体服务器,其包括:
两个或多个可编程的逻辑器件,每个器件能够在活动状态和非活动状态之间切换;
输入数据通路;以及
输出数据通路;
其中处于所述活动状态的一个或多个可编程的逻辑器件处理到达所述输入数据通路的数字媒体,并将被处理的数字媒体提供给所述输出数据通路,同时处于所述非活动状态的一个或多个可编程的逻辑器件已被编程。
33、一种数字媒体服务器,其包括:
可分区的可编程的逻辑器件,其具有两个或多个独立的可编程的分区,每个分区能够在活动状态和非活动状态之间切换;
输入数据通路;以及
输出数据通路;
其中处于所述活动状态的一个或多个分区处理到达所述输入数据通路的数字媒体,并将被处理的数字媒体提供给所述输出数据通路,同时处于所述非活动状态的一个或多个分区已被编程。
34、一种数字媒体服务器,其包括:
对象存储;
面向对象的运行时间环境,其包括:
服务对象,
应用程序对象,
对象管理器,其适用于方便所述服务对象和所述应用程序对象的代替,而不中断由所述服务和应用程序对象提供的数据处理功能;
两个或多个可编程的逻辑器件,每个器件能够在活动状态和非活动状态之间切换;
输入数据通路;以及
输出数据通路;
其中处于所述活动状态的一个或多个可编程的逻辑器件处理到达所述输入数据通路的数字媒体,并将被处理的数字媒体提供给所述输出数据通路,同时用新逻辑编程处于所述非活动状态的一个或多个可编程的逻辑器件。
35、如权利要求34所述的服务器,进一步包括网络接口,其用于下载包括替代的服务和应用程序对象和新逻辑的升级包。
36、如权利要求34所述的服务器,其进一步包括存储介质,其用于存储包括替代的服务和应用程序对象和新逻辑的升级包。
37、一种数字媒体服务器,其包括:
对象存储;
面向对象的运行时间环境,其包括:
服务对象,
应用程序对象,
对象管理器,其适用于方便所述服务对象和所述应用程序对象的代替,而不中断由所述服务和应用程序对象提供的数据处理功能;
可分区的可编程的逻辑器件,其具有两个或多个独立的可编程的分区,每个分区能够在活动状态和非活动状态之间切换;
输入数据通路;以及
输出数据通路;
其中处于所述活动状态的一个或多个分区处理到达所述输入数据通路的数字媒体,并将被处理的数字媒体提供给所述输出数据通路,同时用新逻辑编程处于所述非活动状态的一个或多个分区。
38、如权利要求37所述的服务器,进一步包括网络接口,其用于下载包括替代服务和应用程序对象和新逻辑的升级包。
39、如权利要求37所述的服务器,进一步包括存储介质,其用于存储包括替代服务和应用程序对象和新逻辑的升级包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/406,108 US6978452B2 (en) | 2003-04-02 | 2003-04-02 | Upgrading digital media servers |
US10/406,108 | 2003-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1762154A true CN1762154A (zh) | 2006-04-19 |
CN100568938C CN100568938C (zh) | 2009-12-09 |
Family
ID=33097253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800076607A Expired - Lifetime CN100568938C (zh) | 2003-04-02 | 2004-03-30 | 数字媒体服务器的升级 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6978452B2 (zh) |
EP (1) | EP1609308A4 (zh) |
JP (2) | JP5329039B2 (zh) |
KR (1) | KR101076642B1 (zh) |
CN (1) | CN100568938C (zh) |
WO (1) | WO2004090686A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE42685E1 (en) | 2003-04-02 | 2011-09-06 | Oesterreicher Richard T | Upgrading digital media servers |
CN102301652A (zh) * | 2009-04-27 | 2011-12-28 | 国际商业机器公司 | 消息转换 |
CN103294503A (zh) * | 2012-02-24 | 2013-09-11 | 纬创资通股份有限公司 | 伺服器部署系统及数据更新的方法 |
CN106407410A (zh) * | 2009-10-26 | 2017-02-15 | 亚马逊技术股份有限公司 | 供应并管理已复制数据 |
CN107479937A (zh) * | 2017-09-25 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种多节点集群交叉升级的方法 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7284236B2 (en) * | 2002-10-29 | 2007-10-16 | Brocade Communications Systems, Inc. | Mechanism to change firmware in a high availability single processor system |
US6996635B2 (en) * | 2003-08-22 | 2006-02-07 | International Business Machines Corporation | Apparatus and method to activate transparent data storage drive firmware updates |
US7526771B2 (en) * | 2003-11-12 | 2009-04-28 | Ntt Docomo, Inc. | Method and apparatus for configuring an application while the application is running |
US7490323B2 (en) * | 2004-02-13 | 2009-02-10 | International Business Machines Corporation | Method and system for monitoring distributed applications on-demand |
US7543019B1 (en) * | 2004-03-31 | 2009-06-02 | Emc Corporation | Methods and apparatus providing backward compatibility for applications that access a changing object model |
US8146073B2 (en) * | 2004-09-30 | 2012-03-27 | Microsoft Corporation | Updating software while it is running |
TWI255408B (en) * | 2004-12-24 | 2006-05-21 | Hon Hai Prec Ind Co Ltd | System and method for client linking with server automatically |
CN100521676C (zh) * | 2005-04-14 | 2009-07-29 | 华为技术有限公司 | 在机顶盒中单独升级业务软件的实现方法和装置 |
US7814479B2 (en) * | 2005-12-14 | 2010-10-12 | International Business Machines Corporation | Simultaneous download to multiple targets |
US7761734B2 (en) * | 2007-04-13 | 2010-07-20 | International Business Machines Corporation | Automated firmware restoration to a peer programmable hardware device |
US7761735B2 (en) * | 2007-04-13 | 2010-07-20 | International Business Machines Corporation | Automated firmware restoration to a peer programmable hardware device |
US8418164B2 (en) * | 2008-05-29 | 2013-04-09 | Red Hat, Inc. | Image install of a network appliance |
US8516037B2 (en) * | 2008-06-16 | 2013-08-20 | International Business Machines Corporation | Methods for dynamic partitioning of applications in client-server environments |
JP5402930B2 (ja) * | 2008-07-23 | 2014-01-29 | 富士通株式会社 | 静的にリンクされた実行形式プログラムファイルにおけるオブジェクトを結合するオブジェクト結合装置、オブジェクトの結合方法およびそのプログラム |
US8275116B2 (en) | 2008-08-29 | 2012-09-25 | 8X8, Inc. | Networked contact center |
US8243913B2 (en) * | 2008-08-29 | 2012-08-14 | 8×8, Inc. | Limiting contact in a networked contact center environment |
US8448256B2 (en) * | 2008-09-30 | 2013-05-21 | Infineon Technologies Ag | Secure partitioning of programmable devices |
US8332842B2 (en) * | 2008-11-14 | 2012-12-11 | International Business Machines Corporation | Application restore points |
US8589904B2 (en) * | 2009-08-10 | 2013-11-19 | Symantec Corporation | Systems and methods for updating a software product |
US20110099556A1 (en) * | 2009-10-22 | 2011-04-28 | International Business Machines Corporation | Updating system for a microcontroller and associated methods |
US20130117738A1 (en) * | 2011-11-03 | 2013-05-09 | Microsoft Corporation | Server Upgrades with Safety Checking and Preview |
US10725984B2 (en) * | 2012-03-16 | 2020-07-28 | Nec Corporation | Time series data device, time series data processing method and time series data processing program storage medium |
US9075669B2 (en) | 2012-03-16 | 2015-07-07 | Nec Corporation | Time series data processing device, time series data processing method and time series data processing program storage medium |
US8949818B2 (en) | 2012-06-29 | 2015-02-03 | Intel Corporation | Mechanism for facilitating dynamic and trusted cloud-based extension upgrades for computing systems |
CN102857949B (zh) * | 2012-09-14 | 2018-11-20 | 中兴通讯股份有限公司 | 一种规划数据一致性保证的方法和装置 |
US20150248441A1 (en) * | 2012-09-18 | 2015-09-03 | Nec Corporation | Time-series data processing device, time-series data processing method and medium for storing time-series data processing program |
CN104903853B (zh) * | 2013-01-15 | 2018-09-04 | 慧与发展有限责任合伙企业 | 动态固件更新 |
US9003386B2 (en) * | 2013-02-28 | 2015-04-07 | Sap Se | Fallback system for software upgrade |
US9575744B2 (en) | 2014-09-26 | 2017-02-21 | Oracle International Corporation | Live updating of a shared plugin registry with no service loss for active users |
CN104898592B (zh) * | 2015-03-31 | 2017-11-28 | 联想(北京)有限公司 | 一种联动规则的生成方法及电子设备 |
US9857975B2 (en) | 2015-06-26 | 2018-01-02 | International Business Machines Corporation | Non-volatile memory drive partitions within microcontrollers |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE123174T1 (de) | 1989-05-22 | 1995-06-15 | Siemens Ag | Halbleiterspeicheranordnung mit kondensatoren mir zwei in einem graben angeordneten elektroden und verfahren zu deren herstellung. |
US5210854A (en) * | 1989-06-14 | 1993-05-11 | Digital Equipment Corporation | System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version |
US5432927A (en) * | 1992-06-17 | 1995-07-11 | Eaton Corporation | Fail-safe EEPROM based rewritable boot system |
JPH07200279A (ja) * | 1993-12-28 | 1995-08-04 | Toshiba Corp | オブジェクト管理システム及びネットワーク管理システム |
SE504943C2 (sv) * | 1994-12-09 | 1997-06-02 | Ericsson Telefon Ab L M | Synkroniseringsförfarande som tillåter tillståndsöverföring |
JP3590688B2 (ja) * | 1995-04-05 | 2004-11-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーションを導入するための導入計画オブジェクトを構築する方法、及びそのシステム |
US5867713A (en) * | 1995-04-05 | 1999-02-02 | International Business Machines Corporation | Committing an install plan object for the network installation of application programs |
US5826085A (en) * | 1995-07-12 | 1998-10-20 | Oracle Corporation | Object oriented computer interface supporting interactive networked applications |
US6112253A (en) * | 1995-10-12 | 2000-08-29 | International Business Machines Corporation | Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs |
JPH09198233A (ja) * | 1996-01-19 | 1997-07-31 | Canon Inc | バージョンアップ方法 |
DE19628168A1 (de) | 1996-07-12 | 1998-01-22 | Ibm | Vernetztes multimediales Netz |
RU2104130C1 (ru) | 1996-08-01 | 1998-02-10 | Закрытое акционерное общество "Техно-ТМ" | Способ соединения элементов композиционной мишени из тугоплавкого и труднодеформируемого материалов |
JPH1074143A (ja) * | 1996-08-30 | 1998-03-17 | Hitachi Ltd | ディスクアレイサブシステムのバージョンアップ方法 |
US6266736B1 (en) * | 1997-01-31 | 2001-07-24 | Sony Corporation | Method and apparatus for efficient software updating |
US6189145B1 (en) * | 1997-05-28 | 2001-02-13 | International Business Machines Corporation | Concurrent patch to logical partition manager of a logically partitioned system |
EP0934563A1 (en) * | 1997-05-30 | 1999-08-11 | Koninklijke Philips Electronics N.V. | Failsafe method for upgrading set-top system software from a network server |
US5920725A (en) * | 1997-07-02 | 1999-07-06 | Adaptivity Inc. | Run-time object-synthesis and transparent client/server updating of distributed objects using a meta server of all object descriptors |
US6516356B1 (en) * | 1997-09-30 | 2003-02-04 | International Business Machines Corporation | Application interface to a media server and a method of implementing the same |
JPH11161482A (ja) * | 1997-11-25 | 1999-06-18 | Fuji Xerox Co Ltd | 情報処理システム及びそのソフトウェア更新処理方法 |
US6360363B1 (en) * | 1997-12-31 | 2002-03-19 | Eternal Systems, Inc. | Live upgrade process for object-oriented programs |
AU2978699A (en) * | 1998-03-03 | 1999-09-20 | Siebel Systems, Inc. | Method, system, apparatus and program product for distribution and instantiationof software upgrades |
DE19810814B4 (de) * | 1998-03-12 | 2004-10-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung |
JP3882321B2 (ja) * | 1998-03-13 | 2007-02-14 | 株式会社日立製作所 | オペレーティングシステムのモジュールプログラムを備えた計算機 |
JP2000137598A (ja) * | 1998-10-30 | 2000-05-16 | Toshiba Corp | ファームウェア管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3888827B2 (ja) * | 2000-03-15 | 2007-03-07 | 富士通株式会社 | プログラム置換システム、分散処理システム及びプログラム置換方法 |
US7031989B2 (en) * | 2001-02-26 | 2006-04-18 | International Business Machines Corporation | Dynamic seamless reconfiguration of executing parallel software |
US7373643B2 (en) * | 2001-03-06 | 2008-05-13 | Cybersoft, Inc. | Apparatus, methods and articles of manufacture for data transmission |
US7266816B1 (en) * | 2001-04-30 | 2007-09-04 | Sun Microsystems, Inc. | Method and apparatus for upgrading managed application state for a java based application |
TWI242725B (en) * | 2001-06-11 | 2005-11-01 | Oce Tech Bv | A method for executing a hot migrate operation through an incremental roll-over process that uses migration plug-in means for conversion during an upgrade transition, and a multiprocessing system and a system arranged for implementing such method |
JP2002366381A (ja) * | 2001-06-12 | 2002-12-20 | Hitachi Ltd | オブジェクトの動的入替え処理方法 |
US20030018964A1 (en) * | 2001-07-19 | 2003-01-23 | International Business Machines Corporation | Object model and framework for installation of software packages using a distributed directory |
US20030051235A1 (en) * | 2001-09-07 | 2003-03-13 | Simpson Mark D. | Method and apparatus for verifying and analyzing computer software installation |
US7003767B2 (en) * | 2001-10-02 | 2006-02-21 | International Business Machines Corp. | System and method for remotely updating software applications |
US20030074487A1 (en) * | 2001-10-17 | 2003-04-17 | Tankut Akgul | Dynamic operating system |
US20040133888A1 (en) * | 2002-08-02 | 2004-07-08 | Delvan Ard | Wizard-based voice/data telecommunications system installation and configuration tool |
US7665080B2 (en) * | 2003-02-12 | 2010-02-16 | Bea Systems, Inc. | System and method for using a classloader hierarchy to load software applications |
US6978452B2 (en) | 2003-04-02 | 2005-12-20 | Beach Unlimited Llc | Upgrading digital media servers |
-
2003
- 2003-04-02 US US10/406,108 patent/US6978452B2/en not_active Ceased
-
2004
- 2004-03-30 WO PCT/US2004/009887 patent/WO2004090686A2/en active Application Filing
- 2004-03-30 CN CNB2004800076607A patent/CN100568938C/zh not_active Expired - Lifetime
- 2004-03-30 JP JP2006509528A patent/JP5329039B2/ja not_active Expired - Fee Related
- 2004-03-30 EP EP04758665A patent/EP1609308A4/en not_active Ceased
-
2005
- 2005-10-04 KR KR1020057018871A patent/KR101076642B1/ko active IP Right Grant
-
2007
- 2007-12-20 US US11/961,991 patent/USRE42685E1/en not_active Expired - Lifetime
-
2010
- 2010-11-22 JP JP2010260642A patent/JP5727200B2/ja not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE42685E1 (en) | 2003-04-02 | 2011-09-06 | Oesterreicher Richard T | Upgrading digital media servers |
CN102301652A (zh) * | 2009-04-27 | 2011-12-28 | 国际商业机器公司 | 消息转换 |
US10412146B2 (en) | 2009-04-27 | 2019-09-10 | International Business Machines Corporation | Message switching |
US11956300B2 (en) | 2009-04-27 | 2024-04-09 | International Business Machines Corporation | Message switching |
CN106407410A (zh) * | 2009-10-26 | 2017-02-15 | 亚马逊技术股份有限公司 | 供应并管理已复制数据 |
US11321348B2 (en) | 2009-10-26 | 2022-05-03 | Amazon Technologies, Inc. | Provisioning and managing replicated data instances |
US11907254B2 (en) | 2009-10-26 | 2024-02-20 | Amazon Technologies, Inc. | Provisioning and managing replicated data instances |
CN103294503A (zh) * | 2012-02-24 | 2013-09-11 | 纬创资通股份有限公司 | 伺服器部署系统及数据更新的方法 |
CN107479937A (zh) * | 2017-09-25 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种多节点集群交叉升级的方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20060073535A (ko) | 2006-06-28 |
USRE42685E1 (en) | 2011-09-06 |
KR101076642B1 (ko) | 2011-10-26 |
WO2004090686A2 (en) | 2004-10-21 |
CN100568938C (zh) | 2009-12-09 |
JP5329039B2 (ja) | 2013-10-30 |
EP1609308A2 (en) | 2005-12-28 |
JP2011065676A (ja) | 2011-03-31 |
EP1609308A4 (en) | 2007-08-08 |
US20040197073A1 (en) | 2004-10-07 |
JP5727200B2 (ja) | 2015-06-03 |
US6978452B2 (en) | 2005-12-20 |
JP2006522416A (ja) | 2006-09-28 |
WO2004090686A3 (en) | 2005-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1762154A (zh) | 数字媒体服务器的升级 | |
US7107329B1 (en) | 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 | |
US7130897B2 (en) | Dynamic cluster versioning for a group | |
US7735057B2 (en) | Method and apparatus for packaging and streaming installation software | |
CN101047561A (zh) | 一种设备自动化升级的方法 | |
CN111162941B (zh) | 一种Kubernetes环境自动化管理虚拟IP的方法 | |
CA2904253C (en) | Computer system using in-service software upgrade | |
CN1946226A (zh) | 电信设备升级的方法、设备及升级引擎单元 | |
CN101046749A (zh) | 一种芯片固件升级方法 | |
US20230370429A1 (en) | Upgrading firewall module on port-by-port basis | |
US8031637B2 (en) | Ineligible group member status | |
CN101034348A (zh) | 软件组件管理装置和方法 | |
CN1501621A (zh) | 一种系统安全启动方法 | |
CN1295601C (zh) | 进行软件应用的时间优化的替换 | |
CN1092358C (zh) | 带有检测点功能的计算机系统 | |
CN1798057A (zh) | 软件加载方法 | |
CN1241117C (zh) | 机群自适应的控制方法 | |
US7404184B2 (en) | Efficient firmware update for hierarchical data storage systems | |
CN110781158A (zh) | 一种基于ceph的分布式存储方法及系统 | |
CN1489047A (zh) | 嵌入式系统中软件补丁的加载与同步的方法 | |
CN106301877A (zh) | 一种虚拟网元的升级方法和装置 | |
CN1567232A (zh) | 嵌入式系统的测试装置及测试方法 | |
CN1722627A (zh) | 一种通讯设备中主备用单元倒换的实现方法和装置 | |
CN117389713B (zh) | 存储系统应用业务数据迁移方法、装置、设备及介质 | |
JP3451499B2 (ja) | 入出力装置制御システム構成の変更処理方法 |
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: 20091209 |
|
CX01 | Expiry of patent term |