CN1906575A - 动态软件更新系统、方法及程序产品 - Google Patents
动态软件更新系统、方法及程序产品 Download PDFInfo
- Publication number
- CN1906575A CN1906575A CNA2005800019384A CN200580001938A CN1906575A CN 1906575 A CN1906575 A CN 1906575A CN A2005800019384 A CNA2005800019384 A CN A2005800019384A CN 200580001938 A CN200580001938 A CN 200580001938A CN 1906575 A CN1906575 A CN 1906575A
- Authority
- CN
- China
- Prior art keywords
- server
- renewal
- publish
- computer
- subscribe
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (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)
- Stored Programmes (AREA)
Abstract
公开了一种用于动态更新计算机应用的系统、方法和计算机程序产品。根据所述方法,预订请求被发送到公布/预订服务器从而接收对计算机应用的更新。从公布/预订服务器接收更新通知或更新,并在执行期间把更新动态应用到计算机应用而不重新启动计算机应用。在一实施例中,从公布/预订服务器接收更新通知,把更新请求发送到第二服务器,并从第二服务器接收更新。还提供了一种用于把更新发送到计算机应用的系统、方法和计算机程序产品。
Description
技术领域
本发明总体涉及计算机应用领域,具体而言涉及用于该类应用的动态软件更新系统。
背景技术
诸如因特网的计算机网络允许用户共享诸如文件和硬件的资源。因特网的扩展和万维网标准的采用使得用户对文件的查看和下载几乎毫不费力。用户不需要了解任何编程语言。仅通过运行Web浏览器,用户仅需要指向并点击来查看和下载所需文件。这些程序的可用性允许在分布式计算机网络上在被远距离分开、有相似想法的个人间进行轻松合作和文件共享,所述分布式计算机网络实际上可以跨全球。
在传统客户/服务器基础设施中,分布式计算机网络被建有至少一个服务器节点和多个客户节点。特定而言,每个用户节点是可经过网络来访问服务器节点且在具有适当授权时向服务器节点公布(publish)文件的客户。一旦一个文件被公布给服务器节点,网络上的其它客户就可以访问服务器节点来查看或下载文件。而且,服务器节点可以允许客户自动将文件发送给另一个经网络可到达的客户。客户仅将文件与识别所需接受者的信息一起发送给服务器节点,服务器节点把文件发送到相应客户上。服务器节点也可用于允许客户共享诸如打印机的硬件资源。
现在,计算机应用包括检查因特网位置来用于其源代码更新的“更新”特征是惯例。无论更新何时启动(周期性或响应于用户请求),计算机应用典型地检查该更新。所述更新操作下载经更新的程序组件,然后要求用户重新启动计算机应用来应用该更新。这种更新操作对于用户体验是中断性的,因此许多软件供应商相对不经常发布更新。而且,对于网站或关键系统操作员来说很难关闭和重新启动应用。同时,把更新动态地应用(不重新启动计算机应用)到在静态编译语言(诸如C或C++)上实现的计算机应用中,即便不是不可能,也是困难的。
发明内容
根据本发明的第一方面,提供一种用于动态更新计算机应用的方法,该方法包括以下步骤:用公布/预订服务器进行预订从而通知计算机应用可用的更新;从所述公布/预订服务器接收更新信息;以及在执行期间把可用更新动态应用到计算机应用而不重新启动计算机应用。
提供一种用于动态更新计算机应用的系统、方法和计算机程序产品。
提供一种用于发送更新到计算机应用的系统、方法和计算机程序产品。
所述更新信息可以是更新本身或是更新可用的通知。
在一实施例中,从公布/预订服务器接收更新通知,更新请求被发送到第二服务器,并且从第二服务器接收更新。当更新信息是更新本身时,更新优选地从公布/预订服务器接收。该更新可以包括计算机应用的经更新的源代码。
根据另一方面,提供一种用于发送有关计算机应用的更新信息的方法,该方法包括以下步骤:在公布/预订服务器处接收请求把可用于计算机应用的更新通知给订户的预订请求;在所述公布/预订服务器处接收有关计算机应用的更新信息;以及通过所述公布/预订服务器的公布把更新信息发送给所有订户用于有关计算机应用的更新信息。
所述更新信息可以是实际更新或更新通知。
根据一实施例,响应于接收到更新通知,对可用更新的请求被发送给第二服务器。然后从第二服务器接收更新。
在一实施例中,可用更新从公布/预订服务器发送。
在一实施例中,可用更新包括计算机应用的经更新源代码。
根据另一方面,本发明提供了一种用于动态更新计算机应用的计算机程序产品,该计算机程序产品包括:处理电路可读的存储媒体,所述存储媒体存储由处理电路执行用于执行下述方法的指令,该方法包括以下步骤:用公布/预订服务器进行预订从而通知计算机应用可用的更新;从所述公布/预订服务器接收更新信息;以及在执行期间把可用更新动态应用到计算机应用而不重新启动计算机应用。
根据另一方面,提供一种用于发送有关计算机应用的更新信息的计算机程序产品,该计算机程序产品包括:处理电路可读的存储媒体,所述存储媒体存储由处理电路执行用于执行下述方法的指令,该方法包括以下步骤:在公布/预订服务器处接收请求把可用于计算机应用的更新通知给订户的预订请求;在所述公布/预订服务器处接收有关计算机应用的更新信息;以及通过所述公布/预订服务器的公布把更新信息发送给所有订户用于有关计算机应用的更新信息。
根据另一方面,提供一种用于动态更新计算机应用的系统,该系统包括:发送器,用于把预订请求发送到公布/预订服务器从而通知计算机应用可用的更新;接收器,用于从所述公布/预订服务器接收更新信息;以及动态更新模块,用于在执行期间把可用更新动态应用到计算机应用而不重新启动计算机应用。
根据另一方面,提供一种用于发送有关计算机应用的更新信息的公布/预订服务器,该公布/预订服务器包括:接收器,用于接收请求把可用于计算机应用的更新通知给订户的预订请求,所述接收器还包括用于在所述公布/预订服务器处接收有关计算机应用的更新信息的装置;并且其中所述服务器还包括:发送器,用于通过所述公布/预订服务器的公布把更新信息发送给所有订户用于有关计算机应用的更新信息。
附图说明
现将仅通过示例并参考以下附图来描述本发明的优选实施例,在附图中:
图1为例示传统计算机网络的整体系统体系结构的框图。
图2为描述传统计算机应用更新系统的整体操作和控制流的流程图。
图3A为例示本发明一优选实施例的整体系统体系结构的框图。
图3B为描述根据本发明一优选实施例的更新系统的整体操作和控制流的流程图。
图4为描述本发明一示例性实现的框图。
图5为描述图4中示例性实现的计算机应用更新过程的操作和控制流的流程图。
图6为可用于根据一优选实施例来实现本发明的计算机系统的框图。
另外,标号最左侧的数字标识的是该标号第一次出现时所在的附图。
具体实施方式
简介
根据一优选实施例,本发明通过提供一种高效且易实现的用于动态更新计算机应用而不重新启动计算机应用的方法来解决现有技术的问题。
用动态编程语言或递增编译语言(incrementally compiledlanguage)编写的计算机应用使得计算机应用更新在运行时进行应用。换言之,计算机应用的源代码在运行时被改变。所公开的系统提供了对用户体验造成最小中断的实时计算机应用更新系统。动态编程语言的示例包括JavaScriptTM、动态超文本标记语言(DHTML)、可扩展超文本标记语言(XHTML)、Jscript、Visual Basic Script(VBScript)、Perl Script、LISP、PHP和Cold Fusion。递增编译语言的示例包括经解释的Python和经解释的BASIC。(Java和所有基于Java的商标和标识皆为SunMicrosystems在美国、其它国家或上述二者之中的商标。)
在本发明一优选实施例中,除了传统的更新触发(诸如计算机应用启动、周期性和用户驱动)之外,计算机应用还连接到公布/预订服务器(诸如IBMGryphon系统)并监听可用的计算机应用更新。该更新在运行时(即在执行期间)被应用于计算机应用,这对于计算机应用的用户来说是透明的。使用公布/预订服务器保证了运行中的计算机应用在改进被发布后尽快地进行更新,而这解决了一个普遍的安全问题。数字签名保证了计算机应用更新是由初始软件供应商或被授权的第三方所创造。(IBM为国际商业机器公司在美国、其它国家或上述二者之中的商标。)。
这种计算机应用更新可以解决安全问题、校正程序设计者的错误或修改运行中的计算机应用的外观。软件更新所执行功能的示例包括用改进的实现来重新定义错误功能、修改用户界面外观、改变界面的背景颜色或给界面增加按钮。
系统概述
图1为例示传统计算机网络的系统体系结构的框图。图1示出了客户计算机112和114,客户应用102和104分别位于其上。图1还示出了向客户计算机112和114提供软件和/或更新的软件供应商服务器108。软件供应商服务器108包括任何可购买到的、允许客户计算机112和114在与软件供应商服务器108的客户/服务器关系中存在的服务器系统。例如客户计算机112和114和软件供应商服务器108可以是一个或多个个人计算机(PC)(例如运行MicrosoftWindows操作系统的IBM或可兼容的PC工作站,运行Mac OS操作系统的Macintosh,或等同物)、个人数字助理(PDA)、手持式计算机、掌上计算机、智能电话、游戏控制台或任何其它信息处理设备。客户计算机112和114和软件供应商服务器108中任何一个的计算机系统也可以是服务器系统(例如运行SunOS操作系统或IBMRS/6000工作站的SUN Ultra工作站和运行AIX操作系统的服务器)。客户计算机112和114和服务器108的示例性计算机系统将在下文中参考图6更详细描述。(RS/6000和AIX为国际商业机器公司在美国、其它国家或上述二者之中的商标。Microsoft和Windows为微软公司在美国、其它国家或上述二者之中的商标。)
网络106是诸如公共服务电话网络(PSTN)的电路交换网络。可替换地,所述网络是包交换网络。所述包交换网络是诸如全球因特网的广域网(WAN)、专用WAN、局域网(LAN)、电信网络或上述网络的任意结合。在另一个备选方案中,所述网络是有线网络、无线网络、广播网络或点对点网络。
软件供应商服务器108是提供包括计算机应用102和104的软件的实体。软件供应商服务器108可以由计算机应用102和104的实际开发者或第三方来操作。软件供应商服务器108还向计算机112和114提供计算机应用102和104的更新。从这个意义上讲,软件供应商服务器108作为用于为计算机应用102和104存储大量更新的储存库。
图2为描述传统的计算机应用更新系统的整体操作和控制流的流程图。图2的整体操作和控制流从步骤202开始并直接进行到步骤204。
在步骤204中,客户应用102检测出更新触发。更新触发是提示更新过程启动的事件。例如,更新过程可以通过启动对客户应用102的执行来启动。因此,客户应用102一启动,更新过程就启动。可替换地,或另外地,更新过程可以周期性地在预定时间或在预定时间段后启动或根据用户要求而启动。更普遍地,更新过程可以被客户应用102可检测到的任何事件所启动。
在步骤208中,客户应用102向软件供应商服务器108发送更新请求。在步骤210中,软件供应商服务器108确定更新是否可用于客户应用102。如果该确定结果是肯定的,则控制流向步骤214。如果该确定结果是否定的,则控制流向步骤212。在步骤212中,“无可用更新”的响应被返回而客户应用102继续正常执行。
在步骤214中,软件供应商服务器108向客户应用102发送更新。客户应用102接收更新且准备应用该更新。在步骤216中,客户应用102关闭以便应用接收到的更新。在步骤218中,更新被应用于客户应用102,且可选地客户应用102被重新启动。
图3A为例示本发明一优选实施例的整体系统体系结构的框图。软件供应商服务器108、客户计算机112、客户应用102、客户计算机114、客户应用104以及网络106与图1中的相应单元相同。公布/预订服务器110是使用信息流图的公布/预订消息传送系统,诸如由本发明受让人所开发出的Gryphon系统(在http://www.research,ibm.com/gryphon中描述)。Gryphon系统提供了基于内容的预订服务且通过归并分布式公布/预订通信和数据库技术来执行消息代理调度(brokering)。在Gryphon系统的核心的是规定了事件的选择性传送、事件变换和新事件生成的信息流图。
公布/预订消息传送系统的示例性实现是用于传送股票交易信息的系统。在该系统中,源自两个信息源(NYSE和NASDAQ)的股票交易被结合、变换、过滤并传送给预订客户。例如,一个用户可以预订并请求接收NYSE和NASDAQ上的价值超过一百万美元的所有股票交易。公布/预订消息传送系统从NYSE和NASDAQ二者接收例如价格和数量的原始股票交易信息。根据用户的预订,服务器归并来自两个源的股票交易信息,把原始价格和数量信息变换成每笔交易的价值信息,然后过滤所得出的价值来产生价值超过一百万美元的交易子集。以相似方式,每个预订用户规定其自己的标准,而所述公布/预订消息传送系统执行信息选择、变换、过滤以及传送,以便给每个用户提供所请求的信息。关于公布/预订消息传送系统的另外的信息在2002年7月26日提交的美国专利申请序列号10/207,685(标题为“INTERACTIVE ONE TO MANY COMMUNICATION IN A COOPERATINGCOMMUNITY OF USERS”)中可以找到,该发明已转让给国际商业机器公司,在此将其内容引入作为参考。
在本发明实施例中,每个“服务器”(诸如软件供应商服务器108和公布/预订服务器110)都可以通过单一服务器或由任意多个服务器组成的服务器群来单独实现。这种服务器群中的个体服务器可以用多种方式彼此连接或连接于因特网,甚至可以被分开很远的距离以便提供适当水平的服务和有利特征,诸如数据和路径冗余。
在图3A的实施例中,诸如客户应用102的客户应用通过公布/预订服务器110进行登记并预订,以便接收客户应用的更新通知和/或更新。如下所详述,更新通知和更新可以通过多种方式发送。尽管在图3A中软件供应商服务器108和公布/预订服务器110被示为单独实体,但两个实体的功能可以合并成一个实体。而且,尽管图3A示出了两个用户计算机112和114以及两个计算机应用102和104,但本发明可以支持任意多个客户计算机和计算机应用。
图3B为描述根据本发明一优选实施例的更新系统的整体操作和控制流的流程图。图3B的操作和控制流从步骤302开始并直接进行到步骤304。
在步骤304中,用动态编程语言或递增编译语言编写的客户应用(诸如客户应用102)通过公布/预订服务器110预订一个或多个信道,以便接收客户应用102的更新通知。在预订期间,客户应用102向公布/预订服务器110标识自身并指定用于向客户应用102发送更新通知的地址。
在步骤305中,软件供应商服务器108把更新通知发送给公布/预订服务器110来通告新的更新可用。在步骤306中,公布/预订服务器110通过把更新通知发送给所有预订者来向包括客户应用102在内的相关信道公布更新通知。
在步骤308中,响应于更新通知,客户应用102把更新请求发送给软件供应商服务器108。在步骤314中,软件供应商服务器108把更新发送给客户应用102。客户应用102接收更新并准备应用该更新。在步骤316中,更新被动态应用于客户应用102(即在执行期间不需要求重新启动客户应用102或对客户应用102的其它中断)。在可替换的实施例中,与步骤306中公布更新通知不同,公布/预订服务器110公布更新本身。这消除了客户应用从软件供应商服务器108请求和接收更新的需要,但大大增加了公布/预订服务器110上的负载。
在本发明实施例中,更新请求的发送和更新的传输可以通过多种方式执行,所述多种方式包括:通过一封或多封电子邮件、即时消息传送、文件传输协议(FTP)、超文本传输协议(HTTP)或任何其它通过网络传输信息的方法。在本发明优选实施例中,更新的传输通过客户应用102和软件供应商服务器108之间的连接(诸如虚拟专用网(VPN)连接、传输控制协议/网际协议(TCP/IP)连接或任何其它网络连接)来执行。
在本发明的某些实施例中,当客户应用102首先启动时,它联系软件供应商服务器108并请求从其最近一次更新时起(例如根据版本号)的累积改变。任何所述更新都通过软件供应商服务器108被发送到客户应用102,从而在启动时使应用文件内容更新。在该初始更新同步之后,任何发布的新的更新通过公布/预订服务器110向客户应用102通告或发送。
优选地,所有更新以安全方式提供给客户应用102。例如,在一实施例中,把更新发送到客户应用102的连接被加密,诸如通过VPN或HTTPS连接。另外地,或者可替换地,更新可以被密码保护(例如被加密或数字签名)从而确保客户应用所接收到的更新是真实的。
相应地,本发明允许(根据一优选实施例)公布/预订系统被用来通告或发送更新且允许在没有重新启动用户应用的中断或以其它方式强制其它用户输入的情况下动态应用该更新。这使更新过程对用户透明且对用户友好。这也允许分段软件组件的维护和升级,而不用强制或以其它方式加重客户应用的用户的负担。
网页实现
图4为描述本发明一示例性实现的框图。具体而言,图4的框图描述了本发明的例示性网页实现。如图所示,客户计算机112在执行驻留的客户应用——网页402,所述网页402是例如使用Web浏览器装入的。图4还示出了公布/预订服务器110。
图5为描述图4中示例性实现的计算机应用更新过程的操作和控制流的流程图。在步骤504中,用户装入包括客户应用的网页402。客户应用包括动态软件更新组件。在此示例性实施例中,网页402用动态编程语言JavaScript编写。在步骤506中,网页402的动态软件更新组件与软件供应商服务器连接,且请求最近的更新。如果更新存在,那么控制流向步骤510。否则,控制流向步骤512。
在步骤510中,软件供应商服务器把更新发送给客户计算机112而更新被动态应用到网页402。在步骤512中,网页402通过公布/预订服务器110预订合适的信道,以便接收任何将来的更新。
在步骤514中,产生新的更新,因此公布/预订服务器110通过把新的更新406发送给所有预订者来向包括网页402在内的相关信道公布所述新的更新406。一收到新的更新406,网页402就动态应用新的更新406。因此,不用要求对网页的重新启动、再装入或其它中断,经更新的网页即可被呈现给用户。例如,如果更新包括网页JavaScript代码的更新,用于改变在用户单击网页402上的按钮时执行的代码,那么经更新的代码在下次用户单击按钮时被执行。可替换地,如以上参考图3B的描述的实施例中所示,公布/预订服务器110可以不公布更新本身,而是公布更新通知。
动态更新的另一个例子是改变网页HTML属性(诸如背景颜色的改变)的更新。在此情形中,Web服务器上的网页HTML文件被改变,因此无论何时网页被装入或再装入都将提供经更新的网页。另外,JavaScript代码更新经由公布/预订服务器被发送出去。因此,如果网页已经打开,则更新组件评估新的代码并且立刻改变网页背景颜色。优选地,客户被指示在装入网页时总是检查Web服务器中的较新的版本(例如在HTTP头部中),因此无论何时网页再装入都将接收到经更新版本的网页。
为了例示的目的,现在将更详细解释动态更新和不用重新启动或再装入即可进行动态应用的过程的一个具体示例。
考虑复杂形式的Web界面和/或客户打开很长时间段(例如一整天)的网页。传统上,直到网页在用户Web浏览器里进行再装入时,用户才会接收到该Web界面的更新或故障修复。类似地,某些桌面应用实际上使用Web浏览器控制来实现用户界面逻辑和绘制。这种应用典型地只有在应用启动时或者甚至更罕见地在执行手动更新时才会再装入DHTML内容。
下述DHTML源代码是用于输入“要求表格(Claim Form)”的示例性Web界面。要求表格包括输入姓名、电话号码和邮政编码的文本字段以及“处理表格(process form)”按钮。要注意“updater”对象被嵌入网页,而且助手功能“onEval”允许控制方便地在当前页的上下文中评估代码。
<html>
<head>
<title>Claim Form</title>
<style>
body,input,table{
font:10pt verdana;
}
</style>
<script language="JavaScript">
function validateForm(form){
if(form.phoneNumber.value.length==12){
return true;
}else{
alert("Phone number invalid.");
form.phoneNumber.focus();
form.phoneNumber.select();
return false;
}
}
function onLoad(){
scriptUpdater.onEval=onEval;
}
function onEval(text){
eval(text);
}
</script>
</head>
<body>
<p>
<b>Claim Form</b>
</p>
<form name="claimForm"
action="http://ibm.com/claims/processClaim.jsp"
method="POST"onsubmit="return validateForm(this)">
<table>
<tr>
<td>
Name:
</td>
<td>
<input name="name"type="text">
</td>
</tr>
<tr>
<td>
Phone Number:
</td>
<td>
<input name="phoneNumber"type="text">
</td>
</tr>
<tr>
<td>
ZIP Code:
</td>
<td>
<input name="zipCode"type="text">
</td>
</tr>
<tr>
<td colspan="2"align="right">
<input type="submit"value="Process Form″>
</td>
</tr>
</table>
</form>
<object id="scriptUpdater"
classid="clsid:B63B82EE-4AC1-4770-859B-56793D3F5861"
codebase="updater.cab"
onreadystatechange="onLoad();"
style="display:none;">
<param name="server"value="updates.ibm.com:1500">
<param name="user"value="anonymous">
<param name="password"value="none">
</object>
</body>
</html>
开发者后来意识到此源代码仅仅通过测试输入的电话号码串的总长度来验证电话号码,且期望更新源代码从而将正则表达式用来验证所输入的10位数字的电话号码是否带有虚线。出于此目的,开发者使用集成开发环境(IDE)来编辑原始HTML中的DHTML源代码从而移除:
if(form.phoneNumber.value.length==12)
并用下面内容替换:
if(form.phoneNumber.value.match(/^\s*\d\d\d[-]*\d\d\d[-]*\d\d\d\d\s*$/))
然后开发者把修改过的HTML文件复制到Web服务器,Web服务器为随后装入或再装入页的任何用户更新网页。
开发者还会采取附加行动以更新已经在浏览器或应用中打开网页的用户。具体而言,IDE推荐更新“validateForm”的功能定义,因为它的某些代码已经被修改,且建议发送以下更新以便在已打开的网页上下文中进行评估:
validateForm=\
function(form){\
if(form.phoneNumber.value.match(/^\\s*\\d\\d\\d[-]*\\d\\d\\d
[-]*\\d\\d\\d\\d\\s*$/)){\
return true;\
}else{\
alert(\"Phone number invalid.\");\
form.phoneNumber.focus();\
form.phoneNumber.select();\
return false;\
}\
}
如上所示,开发环境把功能定义转换为等同的JavaScript语句,适于重新定义传输过程中的功能。更新系统现在必须将JavaScript安置于每个打开的网页中以调用内置“eval”功能,把上述语句作为单一参数来传递。在本例中,开发者接受自动生成的更新(或补丁(patch)),并如上所述通过公布/预订服务器将其公布给用户。更新通过任何当前连接的更新控制来接收,然后应用于那些打开的网页。
这样的动态更新过程也可以应用于动态生成的网页,其中开发者编辑JSP(Java ServerPages)文件而不是HTML文件。而且,如果所述网页已经被再装入,则系统可以利用版本号(例如在HTML资源上)来防止任何冗余更新。
尽管上述例子中的更新很简单而且自动发生,但在更复杂的情况下开发者可能需要来手工制作给更新数据结构添加代码的这样一个补丁,提供对HTML元素的JavaScript等同改变,和/或提醒用户该改变。
示例性实现
本发明可以在硬件、软件或硬件和软件的结合中实现。根据本发明优选实施例的系统可以在一个计算机系统里以集中方式实现,或以分布式方式实现,其中不同单元跨若干互连的计算机系统分布。任何种类的计算机系统或适于执行此处描述方法的任何装置都是适合的。硬件和软件的典型结合可以是具有计算机程序的通用计算机系统,所述计算机程序在被装入和执行时控制计算机系统,使其执行此处描述的方法。
本发明实施例也可以嵌入包括使此处描述的方法得以实现的所有特征的计算机程序产品,且当其被装入计算机系统中时能够执行这些方法。本发明中所使用的计算机程序工具或计算机程序是指以任何语言、代码或符号形式出现的指令集的任何表达形式,所述指令集意在使得具有信息处理能力的系统直接执行或在下列两种情况中的任一种或两种之后执行特定功能:a)转换到另一语言、代码或符号;和b)以不同有形形式再现。
计算机系统可以特别地包括一个或多个计算机和至少在计算机可读媒体上的计算机程序产品,其允许计算机系统从计算机可读媒体读取数据、指令、消息或消息包以及其它计算机可读信息。计算机可读媒体可以包括诸如ROM、闪速存储器、盘驱动存储器、CD-ROM及其它永久存储装置的非易失性存储器。另外,例如,计算机可读媒体可以包括诸如RAM、缓冲器、高速缓冲存储器以及网络电路的易失性存储器。而且计算机可读媒体可以包括临时状态媒体中的计算机可读信息,所述临时状态媒体诸如允许计算机系统读取上述计算机可读信息的、包括有线网络或无线网络的网络链路和/或网络接口。
图6为可用于实现本发明实施例的计算机系统的框图。图6的计算机系统包括诸如处理器604的一个或多个处理器。处理器604被连接到通信基础设施602(例如通信总线、跨接条(cross-over bar)或网络)。
计算机系统可以包括转发图形、文本和来自通信基础设施602的(或来自未示出的帧缓冲器的)其它数据用以在显示单元610上显示的显示接口608。计算机系统还包括主存储器606,优选地包括随机存取存储器(RAM),还可以包括次级存储器612。次级存储器612可以包括例如硬盘驱动器614和/或代表软盘驱动器、磁带驱动器、光盘驱动器等的可移动存储驱动器616。可移动存储驱动器616以本领域普通技术人员公知的方式从可移动存储单元618中进行读取和/或写入到该单元。可移动存储单元618代表了例如可以由可移动存储驱动器616读和写的软盘、磁带、光盘等。将要理解,可移动存储单元618包括其中存储有计算机软件和/或数据的计算机可用存储媒体。
在可替换的实施例中,次级存储器612可以包括用于允许计算机程序或其它指令被装入计算机系统中的其它类似装置。所述装置可以包括例如可移动存储单元622和接口620。其示例可以包括:程序盒式存储装置(cartridge)和盒式存储装置接口(诸如视频游戏设备中所见的)、可移动存储器芯片(诸如EPROM或PROM)和相关联插槽、以及允许软件和数据从可移动存储单元622传输到计算机系统的其它可移动存储器单元622和接口620。
计算机系统还可以包括通信接口624。通信接口624允许软件和数据在计算机系统和外部设备间进行传输。通信接口624的例子可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、PCMCLA槽和卡等。通过通信接口624传输的软件和数据可以是信号的形式,例如可以是被通信接口624接收的电子、电磁、光或其它信号。这些信号通过通信路径(即信道)626被提供给通信接口624。该信道626承载信号,并可用电线或电缆、光纤、电话线、蜂窝式电话链路、RF链路和/或其它通信信道来实现。
在本文档中,术语“计算机程序媒体”、“计算机可用媒体”和“计算机可读媒体”总体用来指下述媒体,诸如主存储器606、次级存储器612、可移动存储驱动器616、安装在硬盘驱动器614中的硬盘、以及信号。这些计算机程序产品是用于把软件提供给计算机系统的装置。计算机可读媒体允许计算机系统从计算机可读媒体读取数据、指令、消息或消息包以及其它计算机可读信息。例如,计算机可读媒体可以包括诸如软盘、ROM、闪速存储器、盘驱动存储器、CD-ROM和其它永久存储装置的非易失性存储器。它可用于例如在计算机系统间传输诸如数据和计算机指令的信息。而且计算机可读媒体可以包括临时状态媒体中的计算机可读信息,所述临时状态媒体诸如允许计算机系统读取上述计算机可读信息的、包括有线网络或无线网络的网络链路和/或网络接口。
计算机程序(也被称作计算机控制逻辑)存储于主存储器606和/或次级存储器612中。计算机程序还可以通过通信接口624被接收。这种计算机程序在被执行时可以使计算机系统得以执行在此所讨论的本发明的特征。具体而言,所述计算机程序在被执行时可以使处理器604得以执行计算机系统的特征。相应地,所述计算机程序代表计算机系统的控制器。
尽管已公开了本发明的具体实施例,但本领域普通技术人员将会理解,可以对具体实施例做出改变而不背离本发明精神和范围。因此本发明的范围没有被限定于具体实施例。此外,所附权利要求旨在覆盖本发明范围内的任何和所有的这些应用、修改和实施例。
Claims (19)
1.一种用于动态更新计算机应用的方法,该方法包括以下步骤:用公布/预订服务器进行预订从而通知计算机应用可用的更新;从所述公布/预订服务器接收更新信息;以及在执行期间把可用更新动态应用到计算机应用而不重新启动计算机应用。
2.根据权利要求1的方法,其中所述更新信息为更新通知,其中所述接收步骤包括:从所述公布/预订服务器接收更新通知;响应于接收到更新通知,把更新请求发送到第二服务器;以及从所述第二服务器接收更新。
3.根据权利要求1的方法,其中所述更新信息为可用更新,所述接收步骤包括:从所述公布/预订服务器接收更新。
4.根据权利要求1的方法,其中所述更新信息为可用更新,其中所述更新包括用于计算机应用的经更新源代码。
5.一种用于发送有关计算机应用的更新信息的方法,该方法包括以下步骤:在公布/预订服务器处接收请求把可用于计算机应用的更新通知给订户的预订请求;在所述公布/预订服务器处接收有关计算机应用的更新信息;以及通过所述公布/预订服务器的公布把更新信息发送给所有订户用于有关计算机应用的更新信息。
6.根据权利要求5的方法,其中所述发送步骤包括发送更新通知,且所述方法还包括:响应于接收到更新通知,把对可用更新的请求发送到第二服务器;以及从所述第二服务器接收更新。
7.根据权利要求5的方法,其中所述发送步骤包括从所述公布/预订服务器发送可用更新。
8.根据权利要求5的方法,其中可用更新包括用于计算机应用的经更新的源代码。
9.一种用于动态更新计算机应用的计算机程序产品,该计算机程序产品包括:处理电路可读的存储媒体,所述存储媒体存储由处理电路执行用于执行下述方法的指令,该方法包括以下步骤:用公布/预订服务器进行预订从而通知计算机应用可用的更新;从所述公布/预订服务器接收更新信息;以及在执行期间把可用更新动态应用到计算机应用而不重新启动计算机应用。
10.根据权利要求9的计算机程序产品,其中所述更新信息为更新通知,以及其中所述接收步骤包括:从所述公布/预订服务器接收更新通知;响应于接收到到更新通知,把更新请求发送到第二服务器;以及从所述第二服务器接收更新。
11.根据权利要求9的计算机程序产品,其中所述更新信息为可用更新,其中所述更新包括用于计算机应用的经更新的源代码。
12.一种用于发送有关计算机应用的更新信息的计算机程序产品,该计算机程序产品包括:处理电路可读的存储媒体,所述存储媒体存储由处理电路执行用于执行下述方法的指令,该方法包括以下步骤:在公布/预订服务器处接收请求把可用于计算机应用的更新通知给订户的预订请求;在所述公布/预订服务器处接收有关计算机应用的更新信息;以及通过所述公布/预订服务器的公布把更新信息发送给所有订户用于有关计算机应用的更新信息。
13.根据权利要求12的计算机程序产品,其中所述发送步骤包括发送更新通知,且所述方法还包括以下步骤:响应于接收到更新通知,把对可用更新的请求发送到第二服务器;以及从所述第二服务器接收更新。
14.根据权利要求12的计算机程序产品,其中可用更新包括用于计算机应用的经更新的源代码。
15.一种用于动态更新计算机应用的系统,该系统包括:发送器,用于把预订请求发送到公布/预订服务器从而通知计算机应用可用的更新;接收器,用于从所述公布/预订服务器接收更新信息;以及动态更新模块,用于在执行期间把可用更新动态应用到计算机应用而不重新启动计算机应用。
16.根据权利要求15的系统,其中所述接收器包括用于从所述公布/预订服务器接收更新通知的装置,所述发送器包括用于响应于接收到更新通知而把对可用更新的请求发送到第二服务器的装置,且其中所述接收器包括用于从第二服务器接收更新的装置。
17.一种用于发送有关计算机应用的更新信息的公布/预订服务器,所述公布/预订服务器包括:接收器,用于接收请求把可用于计算机应用的更新通知给订户的预订请求;所述接收器还包括用于在所述公布/预订服务器处接收有关计算机应用的更新信息的装置;并且其中所述服务器还包括:发送器,用于通过所述公布/预订服务器的公布把更新信息发送给所有订户用于有关计算机应用的更新信息。
18.根据权利要求17的系统,其中所述发送器包括用于发送更新通知的装置,且其中所述更新从第二服务器接收。
19.一种计算机程序,包括:当所述程序在计算机上运行时,适于执行权利要求1到8中任一权利要求的方法的程序代码工具。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/752,473 | 2004-01-06 | ||
US10/752,473 US7305672B2 (en) | 2004-01-06 | 2004-01-06 | Dynamic software update system, method and program product |
PCT/EP2005/050033 WO2005069133A1 (en) | 2004-01-06 | 2005-01-05 | Dynamic software update system, method and program product |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1906575A true CN1906575A (zh) | 2007-01-31 |
CN1906575B CN1906575B (zh) | 2010-11-03 |
Family
ID=34711637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800019384A Active CN1906575B (zh) | 2004-01-06 | 2005-01-05 | 动态软件更新系统、方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7305672B2 (zh) |
EP (1) | EP1704474A1 (zh) |
CN (1) | CN1906575B (zh) |
WO (1) | WO2005069133A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393528B (zh) * | 2008-10-30 | 2011-11-16 | 上海交通大学 | 软件动态更新中确定实例对象转换次序的方法及系统 |
CN104303148A (zh) * | 2012-03-22 | 2015-01-21 | 爱迪德加拿大公司 | 更新软件组件 |
CN104503812A (zh) * | 2015-01-12 | 2015-04-08 | 北京恒华伟业科技股份有限公司 | 一种移动应用更新方法及装置 |
CN102137126B (zh) * | 2010-01-21 | 2015-04-08 | 腾讯科技(深圳)有限公司 | 网页数据更新系统及方法 |
US9430217B2 (en) | 2012-09-12 | 2016-08-30 | International Business Machines Corporation | Method and apparatus for patching |
CN107179922A (zh) * | 2016-03-09 | 2017-09-19 | 福特全球技术公司 | 车辆询问更新的空中触发 |
US10101988B2 (en) | 2013-01-15 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Dynamic firmware updating |
US10318271B2 (en) | 2015-01-05 | 2019-06-11 | Irdeto Canada Corporation | Updating software components in a program |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324685B1 (en) * | 1998-03-18 | 2001-11-27 | Becomm Corporation | Applet server that provides applets in various forms |
US9565275B2 (en) | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
US20050166144A1 (en) * | 2004-01-22 | 2005-07-28 | Mathcom Inventions Ltd. | Method and system for assigning a background to a document and document having a background made according to the method and system |
US8539469B2 (en) * | 2004-05-11 | 2013-09-17 | Microsoft Corporation | Efficient patching |
US20050289539A1 (en) * | 2004-06-29 | 2005-12-29 | Sudhir Krishna S | Central installation, deployment, and configuration of remote systems |
DE102004062434A1 (de) * | 2004-12-20 | 2006-06-22 | Abb Research Ltd. | System und Verfahren zum automatischen Aktualisieren von Funktionalitäten in einem verteilten Netzwerk |
EP1839130A1 (en) * | 2004-12-24 | 2007-10-03 | Telecom Italia S.p.A. | Method and system for upgrading the software of a telecommunication terminal, in particular of a video telephone, and relatted computer program product |
WO2007023497A1 (en) * | 2005-08-23 | 2007-03-01 | Red Bend Ltd. | Method and system for in-place updating content stored in a storage device |
US20100076994A1 (en) * | 2005-11-05 | 2010-03-25 | Adam Soroca | Using Mobile Communication Facility Device Data Within a Monetization Platform |
US7577665B2 (en) | 2005-09-14 | 2009-08-18 | Jumptap, Inc. | User characteristic influenced search results |
US9201979B2 (en) | 2005-09-14 | 2015-12-01 | Millennial Media, Inc. | Syndication of a behavioral profile associated with an availability condition using a monetization platform |
US7769764B2 (en) * | 2005-09-14 | 2010-08-03 | Jumptap, Inc. | Mobile advertisement syndication |
US9058406B2 (en) | 2005-09-14 | 2015-06-16 | Millennial Media, Inc. | Management of multiple advertising inventories using a monetization platform |
US8311888B2 (en) | 2005-09-14 | 2012-11-13 | Jumptap, Inc. | Revenue models associated with syndication of a behavioral profile using a monetization platform |
US20090234861A1 (en) * | 2005-09-14 | 2009-09-17 | Jorey Ramer | Using mobile application data within a monetization platform |
US9703892B2 (en) | 2005-09-14 | 2017-07-11 | Millennial Media Llc | Predictive text completion for a mobile communication facility |
US10911894B2 (en) | 2005-09-14 | 2021-02-02 | Verizon Media Inc. | Use of dynamic content generation parameters based on previous performance of those parameters |
US9471925B2 (en) | 2005-09-14 | 2016-10-18 | Millennial Media Llc | Increasing mobile interactivity |
US7912458B2 (en) | 2005-09-14 | 2011-03-22 | Jumptap, Inc. | Interaction analysis and prioritization of mobile content |
US7752209B2 (en) | 2005-09-14 | 2010-07-06 | Jumptap, Inc. | Presenting sponsored content on a mobile communication facility |
US8103545B2 (en) | 2005-09-14 | 2012-01-24 | Jumptap, Inc. | Managing payment for sponsored content presented to mobile communication facilities |
US8989718B2 (en) | 2005-09-14 | 2015-03-24 | Millennial Media, Inc. | Idle screen advertising |
US8503995B2 (en) | 2005-09-14 | 2013-08-06 | Jumptap, Inc. | Mobile dynamic advertisement creation and placement |
US8364540B2 (en) | 2005-09-14 | 2013-01-29 | Jumptap, Inc. | Contextual targeting of content using a monetization platform |
US7660581B2 (en) | 2005-09-14 | 2010-02-09 | Jumptap, Inc. | Managing sponsored content based on usage history |
US8364521B2 (en) | 2005-09-14 | 2013-01-29 | Jumptap, Inc. | Rendering targeted advertisement on mobile communication facilities |
US8666376B2 (en) | 2005-09-14 | 2014-03-04 | Millennial Media | Location based mobile shopping affinity program |
US8805339B2 (en) | 2005-09-14 | 2014-08-12 | Millennial Media, Inc. | Categorization of a mobile user profile based on browse and viewing behavior |
US10038756B2 (en) | 2005-09-14 | 2018-07-31 | Millenial Media LLC | Managing sponsored content based on device characteristics |
US7702318B2 (en) | 2005-09-14 | 2010-04-20 | Jumptap, Inc. | Presentation of sponsored content based on mobile transaction event |
US8615719B2 (en) | 2005-09-14 | 2013-12-24 | Jumptap, Inc. | Managing sponsored content for delivery to mobile communication facilities |
US8832100B2 (en) | 2005-09-14 | 2014-09-09 | Millennial Media, Inc. | User transaction history influenced search results |
US10592930B2 (en) | 2005-09-14 | 2020-03-17 | Millenial Media, LLC | Syndication of a behavioral profile using a monetization platform |
US8209344B2 (en) | 2005-09-14 | 2012-06-26 | Jumptap, Inc. | Embedding sponsored content in mobile applications |
US7676394B2 (en) | 2005-09-14 | 2010-03-09 | Jumptap, Inc. | Dynamic bidding and expected value |
US8688671B2 (en) | 2005-09-14 | 2014-04-01 | Millennial Media | Managing sponsored content based on geographic region |
US9076175B2 (en) | 2005-09-14 | 2015-07-07 | Millennial Media, Inc. | Mobile comparison shopping |
US8819659B2 (en) | 2005-09-14 | 2014-08-26 | Millennial Media, Inc. | Mobile search service instant activation |
US8238888B2 (en) | 2006-09-13 | 2012-08-07 | Jumptap, Inc. | Methods and systems for mobile coupon placement |
US8532633B2 (en) | 2005-09-14 | 2013-09-10 | Jumptap, Inc. | System for targeting advertising content to a plurality of mobile communication facilities |
US8660891B2 (en) | 2005-11-01 | 2014-02-25 | Millennial Media | Interactive mobile advertisement banners |
US20110313853A1 (en) | 2005-09-14 | 2011-12-22 | Jorey Ramer | System for targeting advertising content to a plurality of mobile communication facilities |
US8812526B2 (en) | 2005-09-14 | 2014-08-19 | Millennial Media, Inc. | Mobile content cross-inventory yield optimization |
US8015152B2 (en) * | 2006-01-24 | 2011-09-06 | Microsoft Corporation | Web based client/server notification engine |
JP2007226740A (ja) * | 2006-02-27 | 2007-09-06 | Kyocera Corp | 通信システム、ソフトウェア更新方法、通信装置、管理サーバ装置、およびプログラム |
US8145719B2 (en) * | 2006-03-03 | 2012-03-27 | Gogroups | Method and system for messaging and communication based on groups |
US20070214239A1 (en) * | 2006-03-10 | 2007-09-13 | Mechkov Chavdar B | Dynamically updated web page |
US7962125B2 (en) * | 2006-03-27 | 2011-06-14 | Research In Motion Limited | Wireless email communications system providing resource updating features and related methods |
EP2005294B1 (en) * | 2006-03-27 | 2019-09-04 | BlackBerry Limited | Wireless email communications system providing resource updating features and related methods |
JP4710688B2 (ja) * | 2006-03-28 | 2011-06-29 | 沖電気工業株式会社 | 冗長システムのファイル更新方法 |
US7984432B2 (en) * | 2006-05-30 | 2011-07-19 | Infineon Technologies Ag | Method for patching a read-only memory and a data processing system comprising a means of patching the read-only memory based on patch contexts |
US7873957B2 (en) * | 2006-07-27 | 2011-01-18 | Microsoft Corporation | Minimizing user disruption during modification operations |
US9569587B2 (en) | 2006-12-29 | 2017-02-14 | Kip Prod Pi Lp | Multi-services application gateway and system employing the same |
US9602880B2 (en) | 2006-12-29 | 2017-03-21 | Kip Prod P1 Lp | Display inserts, overlays, and graphical user interfaces for multimedia systems |
US11316688B2 (en) | 2006-12-29 | 2022-04-26 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US11783925B2 (en) | 2006-12-29 | 2023-10-10 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
WO2008085201A2 (en) | 2006-12-29 | 2008-07-17 | Prodea Systems, Inc. | Managed file backup and restore at remote storage locations through multi-services gateway device at user premises |
US20170344703A1 (en) | 2006-12-29 | 2017-11-30 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US8316141B2 (en) * | 2007-04-13 | 2012-11-20 | Research In Motion Limited | Wireless email communications system providing resource update tracking features and related methods |
US8893108B1 (en) * | 2007-10-31 | 2014-11-18 | Intuit Inc. | Method and system for context-based software updates |
US7904484B2 (en) * | 2007-11-30 | 2011-03-08 | Red Hat, Inc. | Incremental packaging |
US8943488B2 (en) * | 2007-12-31 | 2015-01-27 | Activision Publishing, Inc. | Video game forward compatibility including software patching |
US20090228973A1 (en) * | 2008-03-06 | 2009-09-10 | Chendil Kumar | Techniques for automatic discovery and update of client environmental information in a virtual private network (vpn) |
US8490077B2 (en) * | 2008-05-15 | 2013-07-16 | Microsoft Corporation | Runtime versioning and distribution of dynamic web-elements |
US20100011060A1 (en) * | 2008-07-08 | 2010-01-14 | Solid State Networks, Inc. | Methods and apparatus for distributing content |
US8266612B2 (en) * | 2008-10-03 | 2012-09-11 | Microsoft Corporation | Dynamic, customizable and configurable notification mechanism |
US20100153866A1 (en) * | 2008-12-11 | 2010-06-17 | Accenture Global Services Gmbh | Method and system for modifying the execution of a native application running on a portable electronic device |
US20100162374A1 (en) * | 2008-12-19 | 2010-06-24 | Nair Jiji U | Cost effective updating of mobile computing devices and communicating with mobile computing devices |
US8683432B2 (en) * | 2009-03-20 | 2014-03-25 | Microsoft Corporation | Providing execution context in continuation based runtimes |
US20100293538A1 (en) * | 2009-05-15 | 2010-11-18 | Microsoft Corporation | Dynamic program updating in a continuation based runtime |
US8260793B2 (en) * | 2009-06-29 | 2012-09-04 | Raytheon Company | Method and system for data class update |
US10387140B2 (en) | 2009-07-23 | 2019-08-20 | S3G Technology Llc | Modification of terminal and service provider machines using an update server machine |
US7908348B2 (en) | 2009-11-30 | 2011-03-15 | General Electric Company | Dynamic installation and uninstallation system of renewable energy farm hardware |
TW201135594A (en) * | 2010-04-08 | 2011-10-16 | Inventec Corp | System for updating software using separated modules and method thereof |
US8825962B1 (en) | 2010-04-20 | 2014-09-02 | Facebook, Inc. | Push-based cache invalidation notification |
US8966377B2 (en) * | 2010-08-20 | 2015-02-24 | Nokia Corporation | Method and apparatus for a virtual desktop |
US8959068B2 (en) * | 2010-09-29 | 2015-02-17 | International Business Machines Corporation | Dynamic configuration of a persistence provider |
US8806469B2 (en) | 2011-02-22 | 2014-08-12 | International Business Machines Corporation | Runtime code replacement |
US10791538B1 (en) * | 2011-07-06 | 2020-09-29 | BlueStack Systems, Inc. | Cloud-based data synchronization |
US9445392B1 (en) | 2011-10-07 | 2016-09-13 | BlueStack Systems, Inc. | Method of providing non-native notifications and system thereof |
CN102420903A (zh) * | 2011-11-28 | 2012-04-18 | 惠州Tcl移动通信有限公司 | 一种基于手机的软件处理方法及手机 |
US9477936B2 (en) | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
US9032386B1 (en) * | 2012-07-30 | 2015-05-12 | Adobe Systems Incorporated | Product upgrade location identifier for software upgrade |
US8887151B2 (en) * | 2012-12-14 | 2014-11-11 | Google Inc. | Systems and methods for managing updates to applications installed on electronic devices |
ITMI20122140A1 (it) | 2012-12-14 | 2014-06-15 | Faac Spa | Sistema elettronico ad accesso agevolato per la gestione della movimentazione di almeno una barriera mobile |
US20140258969A1 (en) * | 2013-03-05 | 2014-09-11 | Research In Motion Limited | Web-Based Integrated Development Environment For Real-Time Collaborative Application Development |
US9158518B2 (en) * | 2013-03-11 | 2015-10-13 | Blackberry Limited | Collaborative application development environment using a connected device |
US10977425B1 (en) * | 2013-03-13 | 2021-04-13 | Sprint Communications Company L.P. | Dynamic resource refresh |
US9773264B2 (en) | 2013-03-26 | 2017-09-26 | Blackberry Limited | Method for providing composite user interface controls and an online storefront for same |
US10026049B2 (en) | 2013-05-09 | 2018-07-17 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US9989958B2 (en) | 2013-05-09 | 2018-06-05 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment |
US9786197B2 (en) | 2013-05-09 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system |
US9438648B2 (en) | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US9703902B2 (en) | 2013-05-09 | 2017-07-11 | Rockwell Automation Technologies, Inc. | Using cloud-based data for industrial simulation |
US9709978B2 (en) | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
CN104182241A (zh) * | 2013-05-24 | 2014-12-03 | 华为终端有限公司 | 一种网页应用程序更新方法及通信设备 |
EP2951955B1 (en) * | 2013-08-15 | 2017-11-15 | IMMUN.IO Inc. | Method and system for protecting web applications against web attacks |
US9766874B2 (en) * | 2014-01-09 | 2017-09-19 | Ford Global Technologies, Llc | Autonomous global software update |
US10140109B2 (en) * | 2014-02-25 | 2018-11-27 | Ford Global Technologies, Llc | Silent in-vehicle software updates |
KR20150102376A (ko) * | 2014-02-28 | 2015-09-07 | 한국전자통신연구원 | 운영 환경의 변화에 적응하는 시스템 업그레이드와 진화 기법 및 그 시스템 |
US9716762B2 (en) | 2014-03-31 | 2017-07-25 | Ford Global Technologies Llc | Remote vehicle connection status |
US10140110B2 (en) | 2014-04-02 | 2018-11-27 | Ford Global Technologies, Llc | Multiple chunk software updates |
US20150372865A1 (en) | 2014-06-23 | 2015-12-24 | Rockwell Automation Technologies, Inc. | System and method for autonomous dynamic provisioning |
US9519468B2 (en) | 2015-02-13 | 2016-12-13 | Oracle International Corporation | Modular co-versioning in a dynamically linked runtime environment |
US9841971B1 (en) * | 2015-03-11 | 2017-12-12 | Intuit, Inc. | Embedding software updates into content retrieved by applications |
US10496061B2 (en) | 2015-03-16 | 2019-12-03 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
US11513477B2 (en) | 2015-03-16 | 2022-11-29 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US11243505B2 (en) | 2015-03-16 | 2022-02-08 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US11042131B2 (en) | 2015-03-16 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Backup of an industrial automation plant in the cloud |
US10728237B2 (en) * | 2016-12-09 | 2020-07-28 | Blackberry Limited | Providing a secure communication path for receiving a software update |
CN109669715A (zh) * | 2018-12-24 | 2019-04-23 | 北京金山安全软件有限公司 | 应用程序动态更新方法、设备及存储介质 |
CN114553855B (zh) * | 2020-11-25 | 2024-04-05 | 北京奇艺世纪科技有限公司 | 插件灰度发布方法、装置、电子设备及存储介质 |
EP4040243A1 (en) * | 2021-02-09 | 2022-08-10 | Siemens Aktiengesellschaft | Plc-based support for zero-downtime upgrades of control functions |
US12039054B2 (en) * | 2021-06-25 | 2024-07-16 | Citrix Systems, Inc. | Systems and methods for dynamic detection of vulnerable credentials |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212557B1 (en) * | 1990-01-29 | 2001-04-03 | Compaq Computer Corporation | Method and apparatus for synchronizing upgrades in distributed network data processing systems |
US5410703A (en) * | 1992-07-01 | 1995-04-25 | Telefonaktiebolaget L M Ericsson | System for changing software during computer operation |
CN1169189A (zh) * | 1995-11-20 | 1997-12-31 | 菲利浦电子有限公司 | 用于分配计算机程序的系统 |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5919247A (en) * | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US6353926B1 (en) * | 1998-07-15 | 2002-03-05 | Microsoft Corporation | Software update notification |
US6185734B1 (en) * | 1998-07-21 | 2001-02-06 | Hewlett-Packard Company | Hierarchical registry structure for managing multiple versions of software components |
JP2001034551A (ja) * | 1999-07-22 | 2001-02-09 | Takaoka Electric Mfg Co Ltd | ネットワーク装置 |
US6931623B2 (en) | 1999-08-30 | 2005-08-16 | Touchnet Information Systems, Inc. | Method of accessing data and logic on existing systems through dynamic construction of software components |
FR2793910B1 (fr) | 2000-03-20 | 2005-03-25 | Ibm | Procede et systeme pour publier des documents dynamiques sur le web |
US7117371B1 (en) | 2000-06-28 | 2006-10-03 | Microsoft Corporation | Shared names |
CA2322594C (en) | 2000-10-06 | 2005-01-11 | Ibm Canada Limited-Ibm Canada Limitee | System and method for managing web page components |
US7574481B2 (en) | 2000-12-20 | 2009-08-11 | Microsoft Corporation | Method and system for enabling offline detection of software updates |
US7003767B2 (en) * | 2001-10-02 | 2006-02-21 | International Business Machines Corp. | System and method for remotely updating software applications |
GB0123861D0 (en) * | 2001-10-04 | 2001-11-28 | Marconi Comm Ltd | Comunications networks |
US9124447B2 (en) | 2002-07-26 | 2015-09-01 | International Business Machines Corporation | Interactive client computer communication |
CN1298149C (zh) * | 2003-07-31 | 2007-01-31 | 中兴通讯股份有限公司 | 基于包模式的流量控制装置及方法 |
-
2004
- 2004-01-06 US US10/752,473 patent/US7305672B2/en active Active
-
2005
- 2005-01-05 EP EP05701445A patent/EP1704474A1/en not_active Withdrawn
- 2005-01-05 CN CN2005800019384A patent/CN1906575B/zh active Active
- 2005-01-05 WO PCT/EP2005/050033 patent/WO2005069133A1/en active Application Filing
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101393528B (zh) * | 2008-10-30 | 2011-11-16 | 上海交通大学 | 软件动态更新中确定实例对象转换次序的方法及系统 |
CN102137126B (zh) * | 2010-01-21 | 2015-04-08 | 腾讯科技(深圳)有限公司 | 网页数据更新系统及方法 |
CN104303148A (zh) * | 2012-03-22 | 2015-01-21 | 爱迪德加拿大公司 | 更新软件组件 |
CN104303148B (zh) * | 2012-03-22 | 2018-10-19 | 爱迪德技术有限公司 | 更新软件组件 |
US9430217B2 (en) | 2012-09-12 | 2016-08-30 | International Business Machines Corporation | Method and apparatus for patching |
CN103677878B (zh) * | 2012-09-12 | 2017-07-14 | 国际商业机器公司 | 一种打补丁的方法和装置 |
US10241813B2 (en) | 2012-09-12 | 2019-03-26 | International Business Machines Corporation | Method and apparatus for patching |
US10101988B2 (en) | 2013-01-15 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Dynamic firmware updating |
US10318271B2 (en) | 2015-01-05 | 2019-06-11 | Irdeto Canada Corporation | Updating software components in a program |
CN104503812A (zh) * | 2015-01-12 | 2015-04-08 | 北京恒华伟业科技股份有限公司 | 一种移动应用更新方法及装置 |
CN107179922A (zh) * | 2016-03-09 | 2017-09-19 | 福特全球技术公司 | 车辆询问更新的空中触发 |
CN107179922B (zh) * | 2016-03-09 | 2022-01-25 | 福特全球技术公司 | 用于询问车辆更新的系统、方法和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2005069133A1 (en) | 2005-07-28 |
CN1906575B (zh) | 2010-11-03 |
EP1704474A1 (en) | 2006-09-27 |
US20050149922A1 (en) | 2005-07-07 |
US7305672B2 (en) | 2007-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1906575A (zh) | 动态软件更新系统、方法及程序产品 | |
CN1892639A (zh) | 主题变换系统、便携通信设备、服务器装置和计算机程序 | |
US9672028B1 (en) | Device management system, apparatus and method for notification and scheduling of firmware update | |
CN1150476C (zh) | 信息处理方法、信息终端支持服务器 | |
AU2009268883B2 (en) | System and method of regulating the download of data files from a server to a client device | |
US8656452B2 (en) | Data assurance | |
CN1249605C (zh) | 信息提供服务器、终端装置及其控制方法以及信息提供系统 | |
CN1313953C (zh) | 在软件对象与以结构化语言要素为基础的文件之间映射的系统及方法 | |
CN1143208C (zh) | 用于消息转换的装置和方法 | |
CN100351835C (zh) | 信息处理设备及用于信息处理设备的方法 | |
CN1615507A (zh) | 用于作为图形布局/表示对象的宿主的系统 | |
CN1783019A (zh) | 用于创建web服务并与其交互的接口基础结构 | |
CN1558349A (zh) | 数据通信 | |
CN1568453A (zh) | 环境自适应网络浏览器 | |
CN1942860A (zh) | 在分布式网络体系结构中建模和动态部署服务的系统和方法 | |
CN1701326A (zh) | 合作电子邮件 | |
CN1913522A (zh) | 基于xml文件的rss信息交互处理方法 | |
US20140229868A1 (en) | Multi-modal/multi-channel application tool architecture | |
CN1969272A (zh) | 自动生成内容的导入 | |
JP2013539084A (ja) | ウェブベースの電子署名文書 | |
CN1873685A (zh) | 图像处理设备、方法和存储有程序的存储介质 | |
CN1873689A (zh) | 图像处理设备、方法和存储有程序的存储介质 | |
CN1976352A (zh) | 用于提供远程软件应用的支持的方法和系统 | |
CN1967485A (zh) | 一种实现j2ee应用的方法及系统 | |
CN1908894A (zh) | 基于Brew的一种动态用户界面的体系结构和实现方法 |
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 |