CN101040552B - 控制软件版本更新的方法和系统 - Google Patents

控制软件版本更新的方法和系统 Download PDF

Info

Publication number
CN101040552B
CN101040552B CN200680000981.3A CN200680000981A CN101040552B CN 101040552 B CN101040552 B CN 101040552B CN 200680000981 A CN200680000981 A CN 200680000981A CN 101040552 B CN101040552 B CN 101040552B
Authority
CN
China
Prior art keywords
update
software
version number
terminal device
script
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.)
Active
Application number
CN200680000981.3A
Other languages
English (en)
Other versions
CN101040552A (zh
Inventor
布伦杜沙·L·弗里奇
菲拉·比布尔
弗拉基米尔·布拉戈耶维奇
布赖恩·R·戈林
迈克尔·申菲尔德
卡门·B·维塔诺夫
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.)
Maliki Innovation Co ltd
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN101040552A publication Critical patent/CN101040552A/zh
Application granted granted Critical
Publication of CN101040552B publication Critical patent/CN101040552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了用于控制软件更新的异步分发和安装的方法和系统,所述软件更新影响在无线网络的终端设备中安装的应用程序。由应用程序开发环境实施的版本号分配计划使终端设备的运行时间环境能够估计软件更新,以便识别潜在的兼容性问题并控制该更新的安装。

Description

控制软件版本更新的方法和系统 
技术领域
本发明涉及无线通信设备,尤其涉及一种控制无线终端设备的软件版本更新的方法和系统。 
背景技术
诸如移动电话、可无线通信的膝上型电脑和具有无线通信能力的PDA、自助电话亭和双向寻呼机之类的无线终端设备,数量与种类都在快速地增长。这些设备上运行的软件应用程序也增加了其效用。例如,移动电话可以包含应用程序,用来检索城市范围内的天气情况,或者PDA可以包含应用程序来使用户能够购买杂货。这些软件应用程序利用了到网络的连通性以便向用户提供及时和有效的服务。 
正如本领域所公知的,软件应用程序开发者频繁地提出他们软件的新的和/或更新的版本。这些软件更新的发布可能非常频繁,例如,作为补丁发布出来以解决前面发布的软件的缺陷。例如,可以一年或两年发布一次重要升级,并且经常提供新的功能以便加强特定设备的效用。 
但是,尽管软件开发者可能很容易开发并且发布软件更新,而实际在所有受影响设备上执行更新却是非常复杂的。例如,在无线网络中,连通性经常是断断续续的,以至于当发布更新时特定的设备可能没有连接到网络。在这种情况下,就需要一些方法来使更新在稍后的时间能够被下载并安装。甚至当完成这些时,一些设备还可能缺乏资源(例如足够的内存)来下载和成功地安装特定的更新。在其他情况下,应用程序更新可能需要在应用程序被安装前就更新设备的控制器软件。在其它情况下,可能必须以特定顺序来下载和安装一系列应用程序升级。因此,例如,必须在用于纠正新特征中包括缺陷的诸多问题的服务补丁之前,安装提供新特征的应用程序升级。
因此,始终非常需要用于控制向无线终端设备安装软件更新的方法和系统。 
发明内容
据此,本发明的目的在于提供用于控制向无线终端设备安装软件更新的方法和系统。 
因此,本发明的一个方面提供了一种控制无线网络的多个终端设备上软件更新的异步安装方法。按照本发明,由主持(hosting)对应终端设备的应用程序网关响应软件更新来接收更新通知消息。更新通知消息包括:唯一地识别更新影响的应用程序的软件标识符;与软件更新关联的版本号;以及对应终端设备可访问的数据网络中更新脚本的地址。更新脚本适于在对应终端设备上安装软件更新。在更新注册处记录更新通知消息,并且通知消息被转发给受到软件更新影响的终端设备。通知消息包括:软件标识符、版本号和更新脚本的地址,以便终端设备可以访问并执行更新脚本从而安装软件更新。 
本发明的另一个方面提供了一种控制无线网络的终端设备上软件更新的异步安装方法。按照本发明,由终端设备的运行时间环境接收包括与可用软件更新有关的信息的更新通知消息。更新通知消息包括:唯一地识别更新影响的应用程序的软件标识符;与该软件更新关联的版本号;以及终端设备可访问的数据网络中更新脚本的地址,更新脚本适于在终端设备中安装软件更新。使用更新版本号来确定软件更新的兼容性。其后,使用地址来访问更新脚本,并执行它来安装软件更新。 
本发明的另一个方面提供了一种方法,能够控制影响安装在无线网络的多个终端设备上的应用程序的软件更新的分发。按照本发明,版本号分配计划被定义为包括分别与应用程序多方面中每一方面相对应的字段。当发布初始应用程序加载时,定义了每一个字段的初始值。对于影响应用程序的每一个连续软件更新,识别软件更新影响的应用程序的每一个方面,并且递增各个字段的值。 
附图说明
结合附图,根据以下详细的描述本发明更多的特点和优点将变得显而易见,附图中: 
图1是示意性地示出了网络系统的框图; 
图2是示意性地示出了按照本发明一方面的应用程序开发环境的结构和操作的框图; 
图3是示意性地示出了按照本发明一方面的公布软件升级的处理的消息流程图; 
图4是示意性地示出了按照本发明实施例在终端设备上安装软件升级的处理的消息流程图;以及 
图5是示意性地示出了按照本发明另一实施例在终端设备上安装软件升级的处理的消息流程图。 
应当注意,在所有附图中,相同的部分利用相同的参考数字标识。 
具体实施方式
本发明提供了用于控制无线终端设备上软件更新的分发和安装的方法和系统。以下仅作为示例,参考图1-5来描述本发明的实施例。 
参考图1,按照本发明典型实施例的系统通常包含连接在无线网络4和数据网络6(例如,因特网)之间的应用程序网关(AG)2。系统还具有在线注册处8,包括:简档注册处10,包含针对每一个订户的终端设备14a、14b、14c的信息表,用于识别分别存储在各个终端设备上的软件应用程序;以及更新注册处12,包含识别任意可用应用程序更新的信息。 
按照申请人同时待审的美国专利公开No.2004/0215700和2004/0220998(这二者一并在此作为参考)所述的方式,AG2通常进行操作,以便在与无线网络4相连的终端设备14a、14b、14c和通过数据网络6可访问的数据业务之间传达消息流。 
在线注册处8可以与AG 2共同驻留(co-resident)或者可以远离AG并由AG通过数据网络6进行访问。在图1的实施例中,在线注册处8包括简档注册处10和更新注册处12。简档注册处10包含针对 多个终端设备的每一个的简档。每一个简档都至少包含唯一地识别运行时间环境(RE)和安装在各自终端设备上的每一个应用程序的软件标识符(SW-ID)的列表。安装在终端设备上的每一个应用程序的各自“当前”版本号还可以与各自的SW-ID相关联地存储在在线注册处8,或者可以存储在终端设备中。针对每一个软件更新,分离的脚本注册处40包含设计用于执行终端设备上的软件更新的一个或多个脚本。 
通常,终端设备可以是多种软件控制的无线设备中的任意一种,包括但不限于:无线启用的膝上型计算机14a、移动或蜂窝电话14b、具有无线通信功能的PDA 14c、自助电话亭以及双向寻呼机。从图1中可以看出,这些设备通常包括:与用于无线通信的RF部件18相连的微处理器16、存储器20(至少其一部分通常是非易失性的)、以及包括显示器24和一个或多个用户输入设备(UID)26(例如键盘、指轮、输入笔、麦克风等)的用户接口(UI)22。微处理器16在软件控制下进行操作,以提供终端设备的功能。优选地,以一种分层模型来设计软件,其中RE 32在应用程序软件30和终端设备的本机语言34之间进行翻译来控制终端设备的硬件,并与数据业务进行通信。这种分层软件模型及其操作的方式可以从申请人同时待审的美国专利公开No.2004/0215700和2004/0220998中得到。RE还可以保持终端设备注册处28(图1中表示为“TD-REG”),用来识别终端设备上安装的每一个应用程序以及每一个应用程序的当前版本号。下面将详细描述能够向终端设备异步分发和安装软件升级的RE的操作。 
如申请人同时待审的美国专利公开No.2004/0215700和2004/0220998中所述,AG 2的操作能够使软件应用程序在终端设备中执行以便与数据网络6提供的数据业务(未示出)进行通信。例如,这个操作可以包括访问并下载来自与数据网络6相连的后端数据源(未示出)的文件。如图1中可以看出,以及下面更详细所述,应用程序开发者(AD)36还可以通过数据网络6分发和支持新的或更新的软件。例如,可下载的应用程序软件和安装脚本可以存储在能被用户(直接或间接地)通过数据网络6访问的应用程序开发者注册处38。 
应用程序开发环境 
现在参考图2,应用程序开发者按照本领域通常公知的方式,使用运行在计算设备上的应用程序开发环境(ADE)50的应用程序开发工具箱(ADT)52来对应用程序软件进行编码、测试和调试。计算设备可以是连接到或者可连接到数据网络或其它网络工作站的个人计算机或膝上型计算机。再次按照本领域公知的方式,该相同的ADE还可以用于开发应用程序的后续更新。按照本发明,ADE 50还包括版本号分配(versioning)模块70,基于编码、测试和调试的处理中应用程序源代码发生的改变来自动地分配版本号。版本号分配模块70还能够用于产生更新脚本60,当在终端设备中执行所述更新脚本60时,更新脚本60将下载和安装终端设备上的更新。 
例如,版本号分配模块70能够用于识别以下任何之一: 
·现有数据组成(诸如数据结构)的改变,即,通过添加或去除字段,或改变字段类型的定义;在全局变量定义和枚举的改变; 
·现有消息的改变,即,通过添加或去除字段,或改变字段类型定义; 
·现有应用程序逻辑的改变; 
·要被添加到应用程序的新数据组成、消息或应用程序逻辑。 
在每一种情况下,版本号分配模块70检测到的改变和添加均与应用程序的“当前”版本相关(也就是说,具有所安装的任意后续发布的更新的初始版本)。根据需要,可以通过利用修订日志54在编辑处理期间实时跟踪应用程序开发者的动作(例如键击),或者通过比较应用程序源代码的“过去”和“之后”版本,或者通过将应用程序的更新版本与该应用程序的之前版本进行比较来确定发生了什么改变的任意其它方式,来检测改变。在任何情况下,版本号分配模块70识别随后被写入一个或多个更新文件58的新的和/或修订的数据组成、消息、以及应用程序逻辑。然后,这些更新文件58可以被保存到更新文件注册处42,优选地,如图1和2所示,更新文件注册处42驻留在应用程序开发者注册处38。可选地,在如图2所示的实施例中,修订日志 54跟踪由AD工具箱52对应用程序源代码做的改变。可以理解,版本号分配模块70可以包含修订日志54,或者修订日志54可以是ADE50中的独立模块。 
另外,如下面更详细地描述,可以生成更新脚本60来控制终端设备下载和安装更新文件58。更新脚本60可以被保存到脚本注册处40,优选地,如图2所示,脚本注册处40驻留在应用程序开发者注册处38。 
如果需要,可以提供脚本编辑模块或更新脚本编辑器56,以使应用程序开发者可以手动编写更新脚本60,也可以回顾和编辑自动生成的更新脚本。 
可以便利地以结构化语言(诸如Java,JavaScrip或XML)来开发更新脚本60,以使设备可以在更新处理期间,通过数据网络6来访问一个或多个后端数据源。这使得更新脚本60能够在执行期间根据需要来访问和下载更新文件58。由于更新脚本60能够在执行期间将需要的更新文件58从后端数据源“拉出(pull)”,这促进了更新的异步分发。此外,在特定的实现方式中,用于升级的通知消息可以包含足够的信息使终端设备中的RE能够自己拉出应用程序更新。 
版本号分配计划 
如上所述,版本号分配模块70自动地向初始版本和应用程序的每一个更新分配各自的版本号。在初始版本的情况下,可以使用任意需要的“初始”版本号。但是,在初始版本之后,基于该更新所做的改变的类型,向每个后续的更新分配自动生成的版本号。这个设置具有很多优点。例如,由于由版本号分配模块70分配每一个版本号,因此版本号之间的连续性是强制的。例如,这意味着终端设备的RE可以使用更新的版本号来确定是否必须首先安装任意其它的更新。另一个优点在于,终端设备的RE可以在试图安装更新之前,估计更新的版本号以检测潜在的兼容性问题。 
通过将版本号格式化为多个字段的版本号分配计划来启用这些功能,其中每一个字段分别表示应用程序的不同方面。例如,版本号分 配模块被设计成检测现有数据组成、消息或逻辑的改变,以及新数据组成、消息或逻辑的添加。理论上说,这些因素的每一个都可以用版本号的各个字段表示。但是,实际上却发现使用“数据.消息.特征”组合排列的三字段计划可以得到令人满意的性能,如下面的表1所示。 
表1 
    字段 描述
    数据 现有数据定义的改变。例如,这可以包括:数据组成的改变(例如添加或去除数据字段、改变字段类型的定义);永久的全局变量;或枚举。
    消息 应用程序使用的现有消息的改变。例如,这可以包括:消息组成的改变(例如添加或去除字段、改变字段类型定义、或改变映射)。
    特征 应用程序特征的添加。例如,这可以包括:添加或改变应用程序逻辑、筛选(screen)和/或全局;新消息的添加;和/或数据组成或字段的添加。
利用这个版本号分配计划,可以针对应用程序的初始版本向版本号的每个字段分配初始值(例如D=1,M=1,F=0)。之后,对于每一个更新版本,版本号分配模块通过递增应用程序字段的数值,自动地产生分别用于更新的各个版本号。 
例如,如前所述,考虑携带版本号“1.1.0”被发布的应用程序。在初始发布之后,应用程序开发者提出应用程序更新,修改了现有的数据字段并添加了新的应用程序逻辑。通过递增数据和特征字段,这些改变将反映在更新的版本号中。因此,第一次更新的版本号将是2.1.1。在首次更新的发布之后,它的版本号(2.1.1)变为应用程序的“当前”版本号,并与下次发布的应用程序更新进行比较。因此,例如考虑第二个应用程序更新,修改了现有消息的格式。通过递增消息字段,在第二个更新的版本号中反映这个改变,因此第二个更新版本号将是2.2.1。 
应当理解,这个模式可以持续任意次数的更新,每一次都可能影响 应用程序的任意或多个方面。还将理解,可以扩展版本号分配计划以提供更精细的粒度。例如,可以利用分别表示新数据、消息或应用程序逻辑的添加的字段集合来替代特征字段。在另一个示例,可以将一个字段添加到版本号上,以表示是否必须在应用程序的安装前更新RE。 
还可以理解,本发明并不限于应用程序本身。例如,版本号分配计划以及此处描述的更新方法可以等同地应用于RE本身,由此可以控制RE的更新。 
异步软件分发 
参考图3,当应用程序开发者(AD)36发行(初始软件加载或更新的)软件版本时,版本号分配模块分配版本号,并将更新脚本和更新文件存储于AD注册处38。然后,AD 36向AG 2发出更新通知消息。优选地,更新通知消息包括唯一地识别应用程序的软件标识符(SW-ID)、版本号、以及到存储在脚本注册处40中的更新脚本的链路(例如URL)。当AG 2从AD 36接收到更新通知消息时,AG 2通过在更新注册处12存储软件ID、版本号和脚本URL来记录更新。一旦更新被AG 2记录下来,就可以按照多种方式实现向用户的终端设备异步分发。下面参考图4和5描述两种有代表性的分发方案。 
图4示出了一种异步分发方案,例如,由AG 2响应从AD 36接收到的更新通知消息来发起所述方案。因此,AG 2使用软件ID(例如包含在更新通知里)来搜索简档注册处10。搜索返回识别了其上已经安装了应用程序的所有终端设备的信息(例如设备ID)。然后,AG 2可以生成通知消息并将通知消息发送到所识别的每一个终端设备。例如,通知消息可以包含更新的软件ID和版本号、以及到存储于应用程序开发者注册处38的脚本部分40中的更新脚本的链路(例如,URL)。 
当接收到通知消息时,运行时间环境(RE)可以从消息中提取软件ID和版本号,并且使用这个信息来确定更新可以是否被安全地安装在终端设备上。这个估计可以采用以下兼容性检查的形式: 
·将“新”版本号与保存在终端设备注册处(TD-REG)28中的当前 版本号进行比较,以识别在更新中将改变应用程序的哪些方面。例如,可以通过将新的版本号和当前版本号逐字段相减的方式来实现这项功能。例如,考虑当前版本号是“2.2.1”以及包含在通知消息中的新版本号是“2.3.2”的情况。从新版本号中逐字段地减去当前版本号得到“0.1.1”,这表示更新涉及:现有数据组成不改变;至少一个现有消息发生改变;至少增加了一个新的特征。 
·确定是否必须在通知消息标识的“当前”更新之前安装任意插入的更新。这可以通过上述的减法结果来完成。具体地,如果减法结果的任意字段都有大于“1”的数值,那么必须在“当前”更新之前安装至少一个更新。 
一般而言,新特征的添加不会产生任何兼容性问题。但是,现有数据组成或消息的改变可能会有兼容性问题,这是因为存储在存储器中的用户数据有可能与修订的数据和/或消息定义不兼容。因此,更新的安装将需要所保存的数据的转换,并且执行这种转换的能力可能会受终端设备的硬件性能的限制。此外,数据转换会存在一些数据可能被破坏或丢失的风险,这样用户就可能宁愿不安装更新,即使所需要的转换功能是终端设备性能所具有的。 
因此,只要RE确定更新影响了现有数据组成和/或现有消息,则RE就可以向用户提供警告消息,表示更新是可用的,但是其安装可能会引起数据丢失或破坏。然后,该用户可以选择是否安装更新。可选地,由应用程序开发者使用AD工具定义的更新脚本可以对于不兼容的更新执行数据转换。 
当(或者如果)该用户选择安装更新时,或者如果RE确定没有兼容性问题(即,更新仅添加新特征),则RE可以通过打开包含在更新通知消息中的链路(URL)来发起更新的安装,并由此访问和下载更新脚本。当从应用程序开发者注册处(AD-REG)38中的脚本部件40成功地下载更新脚本时,RE可以装入脚本,然后所述脚本控制从应用程序开发者注册处38的更新文件部分42下载和安装更新文件。 
当成功地安装了更新时,则RE使用在更新通知消息中接收的更新版本号,更新存储于终端设备注册处中的应用程序的“当前”版本号, 并向AG2发出更新完成消息。当接收到更新完成消息时,AG 2利用新版本号更新设备简档,由此表示软件更新已经成功地安装在终端设备14b上。 
图4所述方案的局限在于AG 2通过向其上安装了受影响的软件的每一个终端设备发送通知消息来发起更新分发方案(例如,响应从AD36接收到更新通知消息)。这可能导致不愿看到的大量通知消息涌入网络,其可能加重无线网络带宽的负荷。此外,当AG发送通知时,一些终端设备可能没有被连接,结果“断开”的终端设备可能错过该更新。这些问题可以由下面参考图5描述的异步分发方案来解决。 
在图5示出的分发方案中,由终端设备触发异步分发。在示出的示例中,触发事件在于当终端设备登录到AG 2上时,尽管也可以使用其它事件。例如,RE可以向AG 2发送消息以便按照预定的时间表来检查更新,或者当将应用程序装入终端设备14b时来检查更新。无论如何,AG 2通过访问终端设备的简档来响应终端设备14b,以便识别安装在终端设备14b上的每一个应用程序和当前的版本号。然后,这个信息用于搜索更新注册处12,以识别影响终端设备14b的任意记录的更新以及相应的更新版本号。然后,当前和更新版本号之间的比较使AG能够确定终端设备14b是否还存在没有被安装的任意更新。 
然后,AG 2针对每一个未安装的更新定制适当的更新通知消息,并将其发送给终端设备14b。然后,终端设备14b检查更新通知消息和安装更新的后续处理符合参考图4描述的上述处理,也就是说,该终端设备14b检查兼容性,然后通过打开链路(URL)从AD-REG 38下载脚本来安装该更新。在该终端设备上执行该脚本使得能够访问和下载存储在AD-REG 38中的更新文件。当更新完成后,终端设备通过向AG通知软件ID和版本号来信号通知表示更新的完成。然后,该AG通过向简档注册处10通知软件ID和版本号来更新简档注册处10中的简档文件。 
上述本发明的实施例意欲仅作为示例。因此,仅由所附的权利要求来限制本发明的范围。 

Claims (17)

1.一种控制无线网络的多个终端设备上软件更新的异步安装的方法,所述方法包括由主持对应终端设备的应用程序网关执行的步骤:
响应所述软件更新来接收更新通知消息,所述更新通知消息包括:
唯一地识别受所述更新影响的应用程序的软件标识符;
与所述软件更新相关的版本号;以及
所述对应终端设备可访问的数据网络中的更新脚本的地址,所述更新脚本适于在所述对应终端设备上安装所述软件更新;
在更新注册处记录所述更新通知消息;以及
向受到所述软件更新影响的终端设备转发通知消息,所述通知消息包括软件标识符、版本号和更新脚本的地址。
2.如权利要求1所述的方法,其中,所述数据网络是因特网协议(IP)网络,以及更新脚本的地址包含所述IP网络上的所述更新脚本的统一资源定位器(URL)地址。
3.如权利要求1所述的方法,其中,在注册处记录所述更新通知消息的步骤包括步骤:在更新注册处至少存储软件标识符、版本号和更新脚本的地址。
4.如权利要求1所述的方法,其中,转发所述通知消息的步骤包括步骤:
搜索包含识别安装在所述多个终端设备中每一个上的每一个应用程序的信息的简档注册处,以便识别受到所述软件更新影响的每一个终端设备;以及
向每一个识别的终端设备发送所述通知消息。
5.如权利要求4所述的方法,其中,所述简档注册处包括多个简档,每一个简档与各自的终端设备相关,并且对于安装在所述对应终端设备中每个应用程序,所述简档还包括:应用程序的各自软件标识符以及表示所述安装的应用程序的版本的当前版本号,以及其中搜索简档注册处的步骤包括步骤:识别更新的软件标识符与终端设备中安装的应用程序的标识符相匹配的每一个终端设备。
6.如权利要求5所述的方法,还包括步骤:识别与所述软件更新相关的版本号的至少一个字段大于所述当前版本号的相应字段的每一个终端设备。
7.如权利要求1所述的方法,其中,转发通知消息的步骤包括步骤:
从所述终端设备接收用于检查更新的消息;
访问与所述设备相关的简档,所述简档包含用于识别安装在所述终端设备上的软件的信息;
利用所述简档来搜索所述更新注册处,以便识别影响安装在所述终端设备上的软件的任意软件更新;以及
向所述终端设备发送关于每一个被识别的软件更新的通知消息。
8.如权利要求7所述的方法,其中,对于安装在所述终端设备中的每一个应用程序,所述简档包括:各自的软件标识符和表示所述软件应用程序的版本的当前版本号,并且其中搜索更新注册处的步骤还包括步骤:
将与所述软件更新相关的版本号与所述当前版本号相比较;以及
识别所述相关版本号的至少一个字段大于所述当前版本号的相应字段的每一个软件更新。
9.如权利要求1所述的方法,其中,所述脚本还适于针对不兼容的更新执行数据转换。
10.一种控制无线网络的终端设备上的软件更新的异步安装的方法,所述方法包括步骤:
接收包含关于可用软件更新的信息的更新通知消息,所述更新通知消息包含:
唯一地识别所述更新影响的应用程序的软件标识符;
与所述软件更新相关的版本号;以及
所述终端设备可访问的数据网络中的更新脚本的地址,所述更新脚本适于在所述终端设备上安装所述软件更新;
利用所述更新版本号确定所述软件更新的兼容性;
利用所述地址访问所述更新脚本;以及
执行所述更新脚本。
11.如权利要求10所述的方法,其中,确定所述软件更新的兼容性的步骤包括步骤:将所述更新版本号与受影响的应用程序的当前版本号相比较。
12.如权利要求11所述的方法,其中,按照包含与应用程序的多个方面的每一个分别对应的字段的版本号分配计划来定义更新和当前版本号,其中将更新版本号与当前版本号相比较的步骤包括步骤:从更新版本号的相应字段的数值中减去当前版本号的每一个字段的数值。
13.如权利要求12所述的方法,还包括步骤:如果所述减法结果中任意字段的数值大于1,则确定在软件更新的安装之前必须安装的至少一个其他软件更新。
14.如权利要求12所述的方法,其中,所述版本号分配计划包含与所述应用程序的数据组成相对应的至少一个“数据”字段,并且如果减法结果中的“数据”字段的数值大于“0”,则确定软件更新的兼容性的步骤包括:确定所述软件更新可能需要转换存储在所述终端设备中的用户数据。
15.如权利要求12所述的方法,其中,所述版本号分配计划包含与所述应用程序的消息组成相对应的至少一个“消息”字段,并且如果减法结果中的“消息”字段的数值大于“0”,则确定软件更新的兼容性的步骤包括步骤:确定所述软件更新可能需要转换存储在所述终端设备中的用户数据。
16.如权利要求12所述的方法,其中,所述版本号分配计划包含与应用程序的运行时间环境相对应的至少一个“RE”字段,并且如果减法结果的“RE”字段的数值大于“0”,则确定软件更新的兼容性的步骤包括步骤:确定应用程序的运行时间环境必须在所述软件更新前进行更新。
17.如权利要求10所述的方法,其中,所述脚本还适于针对非兼容更新执行数据转换。
CN200680000981.3A 2005-04-18 2006-03-31 控制软件版本更新的方法和系统 Active CN101040552B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US67209605P 2005-04-18 2005-04-18
US60/672,096 2005-04-18
PCT/CA2006/000481 WO2006110991A1 (en) 2005-04-18 2006-03-31 Method and system for controlling software version updates

Publications (2)

Publication Number Publication Date
CN101040552A CN101040552A (zh) 2007-09-19
CN101040552B true CN101040552B (zh) 2010-12-01

Family

ID=37114661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680000981.3A Active CN101040552B (zh) 2005-04-18 2006-03-31 控制软件版本更新的方法和系统

Country Status (5)

Country Link
US (2) US7747995B2 (zh)
EP (1) EP1803313A4 (zh)
CN (1) CN101040552B (zh)
CA (1) CA2577244A1 (zh)
WO (1) WO2006110991A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9823916B2 (en) 2012-03-27 2017-11-21 Juniper Networks, Inc. Methods and apparatus for improving compatibility between network devices

Families Citing this family (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1293981A1 (en) * 2001-09-18 2003-03-19 Deutsche Thomson-Brandt Gmbh Method for processing information parts of recorded data
JP3785640B2 (ja) * 2002-02-25 2006-06-14 ソニー株式会社 サービス提供装置及びサービス提供方法
US7961194B2 (en) * 2003-11-19 2011-06-14 Lucid Information Technology, Ltd. Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system
GB2415270A (en) * 2004-06-16 2005-12-21 Argo Interactive Ltd A method of generating a test routine
JP4764056B2 (ja) * 2005-04-14 2011-08-31 キヤノン株式会社 画像処理装置、制御プログラムの更新方法、およびプログラム
CN101040552B (zh) * 2005-04-18 2010-12-01 捷讯研究有限公司 控制软件版本更新的方法和系统
CA2601937C (en) * 2005-04-18 2013-01-22 Research In Motion Limited Implementing data-compatibility-based version scheme
CN101346634B (zh) * 2005-11-04 2012-10-24 甲骨文国际公司 用于通信网络中的网守的系统和方法
US20070104186A1 (en) * 2005-11-04 2007-05-10 Bea Systems, Inc. System and method for a gatekeeper in a communications network
JP2007274165A (ja) 2006-03-30 2007-10-18 Toshiba Corp Ip電話システム
JP5452836B2 (ja) * 2006-03-31 2014-03-26 日本電気株式会社 資格審査システムおよびその審査方法ならびに資格審査装置
US20080005732A1 (en) * 2006-05-11 2008-01-03 Coon Robert F Method and System for Integrating Software Update Services with Software Applications
US8171466B2 (en) * 2006-05-16 2012-05-01 Oracle International Corporation Hitless application upgrade for SIP server architecture
US8219697B2 (en) 2006-05-17 2012-07-10 Oracle International Corporation Diameter protocol and SH interface support for SIP server architecture
US8856288B2 (en) 2006-09-07 2014-10-07 Omnitracs, Llc Method and apparatus for the distribution of configuration data
WO2008050042A2 (fr) * 2006-10-26 2008-05-02 France Telecom Procede et systeme de gestion des capacites informatiques d'un terminal
US8942739B2 (en) * 2006-11-06 2015-01-27 Qualcomm Incorporated Methods and apparatus for communication of notifications
US9155023B2 (en) * 2006-11-06 2015-10-06 Qualcomm Incorporated Apparatus and methods for communicating system state information change to wireless devices
KR20090003094A (ko) * 2006-12-04 2009-01-09 한국전자통신연구원 소프트웨어 그룹 서비스 서버, 단말 및 그 방법
US8239688B2 (en) * 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
US8056070B2 (en) * 2007-01-10 2011-11-08 Goller Michael D System and method for modifying and updating a speech recognition program
US8756694B2 (en) * 2007-03-30 2014-06-17 Microsoft Corporation Prevention of exploitation of update rollback
US20080244519A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Identifying, Correcting and Displaying Application Website and Device Compatibility Issues
US8299924B2 (en) 2007-06-06 2012-10-30 The Boeing Company Method and apparatus for locating objects using radio frequency identification
US8289201B2 (en) 2007-06-06 2012-10-16 The Boeing Company Method and apparatus for using non-linear ground penetrating radar to detect objects located in the ground
US7893862B2 (en) 2007-06-06 2011-02-22 The Boeing Company Method and apparatus for using collimated and linearly polarized millimeter wave beams at Brewster's angle of incidence in ground penetrating radar to detect objects located in the ground
US8726260B2 (en) * 2007-11-26 2014-05-13 Lenovo (Singapore) Pte Ltd Techniques for providing software patches to a computer system
US8141094B2 (en) * 2007-12-03 2012-03-20 International Business Machines Corporation Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions
EP2218271B1 (en) 2007-12-06 2017-08-16 Telefonaktiebolaget LM Ericsson (publ) Method for updating ue capability information in a mobile telecommunications network
US8239850B2 (en) * 2007-12-14 2012-08-07 GM Global Technology Operations LLC Computer-implemented method of releasing battery state estimation software
US9182961B1 (en) * 2007-12-17 2015-11-10 Cisco Technology, Inc. System and method for providing computer code to obtain data from devices optionally using a web services interface
US8055393B2 (en) * 2008-02-06 2011-11-08 The Boeing Company Method and apparatus for loading software aircraft parts
US8051031B2 (en) 2008-02-06 2011-11-01 The Boeing Company Metadata for software aircraft parts
US20090210882A1 (en) * 2008-02-18 2009-08-20 International Business Machines Corporation System and methods for asynchronously updating interdependent tasks provided by disparate applications in a multi-task environment
US9697229B2 (en) * 2008-04-11 2017-07-04 Adobe Systems Incorporated Methods and systems for creating and storing metadata
US20100100876A1 (en) * 2008-10-21 2010-04-22 Enfora, Inc. Wireless device provisioning hardware tool
US8463254B2 (en) * 2008-11-25 2013-06-11 Research In Motion Limited System and method for over-the-air software loading in mobile device
US8914783B2 (en) * 2008-11-25 2014-12-16 Fisher-Rosemount Systems, Inc. Software deployment manager integration within a process control system
US8898660B2 (en) * 2008-11-25 2014-11-25 Fisher-Rosemount Systems, Inc. Systems and methods to provide customized release notes during a software system upgrade of a process control system
US8493968B2 (en) * 2008-12-12 2013-07-23 Verizon Patent And Licensing Inc. Voice-over-Internet Protocol device load profiling
US8489210B2 (en) 2009-03-24 2013-07-16 Rockwell Automation Technologies, Inc. Electronic operator interface based controller and device automatic downloads
US8903669B1 (en) 2009-03-27 2014-12-02 The Boeing Company Multi-band receiver using harmonic synchronous detection
US8054212B1 (en) 2009-03-27 2011-11-08 The Boeing Company Multi-band receiver using harmonic synchronous detection
DE102009016746B4 (de) * 2009-04-09 2022-09-22 Volkswagen Ag Verfahren und Vorrichtung zur Installation oder Aktualisierung einer Software in einem Mobilgerät mittels eines Fahrzeugs sowie entsprechend ausgestaltetes Mobilgerät und Fahrzeug
JP5368878B2 (ja) * 2009-05-25 2013-12-18 キヤノン株式会社 情報処理装置、製造装置及びデバイス製造方法
US8275572B2 (en) 2009-06-10 2012-09-25 The Boeing Company Difference frequency detection with range measurement
US9298445B1 (en) * 2009-09-04 2016-03-29 Symantec Corporation Systems and methods for correlating software inventory information with delivered software
ES2866631T5 (en) 2009-09-08 2025-10-07 Abbott Diabetes Care Inc Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
CN101715191B (zh) * 2009-11-05 2013-07-03 中兴通讯股份有限公司 一种导游导航终端的注册方法及系统
US9436444B2 (en) * 2009-11-11 2016-09-06 Adobe Systems Incorporated Method and system to determine component deprecation
CN102098662A (zh) * 2009-12-09 2011-06-15 乐金电子(中国)研究开发中心有限公司 一种移动终端的软件更新方法和系统
EP2755131B1 (en) * 2009-12-22 2020-09-02 DISH Technologies L.L.C. A method and system for changing software or firmware on an electronic device
JP5531692B2 (ja) * 2010-03-17 2014-06-25 株式会社リコー 機器管理装置、機器管理システム、情報管理方法、情報管理プログラム、及びそのプログラムを記録した記録媒体
US20110276651A1 (en) * 2010-05-10 2011-11-10 Nokia Siemens Networks Oy Routing logic
US12159203B1 (en) 2010-05-26 2024-12-03 Automation Anywhere, Inc. Creation and execution of portable software for execution on one or more remote computers
US10430180B2 (en) * 2010-05-26 2019-10-01 Automation Anywhere, Inc. System and method for resilient automation upgrade
US10733540B2 (en) 2010-05-26 2020-08-04 Automation Anywhere, Inc. Artificial intelligence and knowledge based automation enhancement
US9407718B2 (en) * 2010-07-01 2016-08-02 Broadcom Corporation Method and system for service discovery and deployment in an IP multimedia network
KR20120024082A (ko) * 2010-09-03 2012-03-14 엘에스산전 주식회사 에너지 계량기에 대한 원격 펌웨어 업데이트 시스템과 그 방법, 원격 펌웨어 업데이트 기능이 있는 전력량계
US8943146B2 (en) 2010-09-21 2015-01-27 Benbria Corporation Method and system and apparatus for mass notification and instructions to computing devices
US9313259B2 (en) 2010-09-30 2016-04-12 Cellco Partnership Method for updating an application program on a wireless terminal in a controlled manner
KR20120055772A (ko) * 2010-11-23 2012-06-01 한국전자통신연구원 서비스 에이전트 제공 시스템 및 방법
TW201224814A (en) * 2010-12-07 2012-06-16 Hon Hai Prec Ind Co Ltd System and method for updating software on android
CN102123385A (zh) * 2011-03-01 2011-07-13 宇龙计算机通信科技(深圳)有限公司 终端上应用程序的更新提示方法及终端
US9380102B2 (en) * 2011-03-02 2016-06-28 Verizon Patent And Licensing Inc. Secure management of SIP user credentials
US8954722B2 (en) * 2011-03-04 2015-02-10 Broadcom Corporation Enforcing software updates in an electronic device
US20120272103A1 (en) * 2011-04-21 2012-10-25 Microsoft Corporation Software operability service
US20120331153A1 (en) * 2011-06-22 2012-12-27 International Business Machines Corporation Establishing A Data Communications Connection Between A Lightweight Kernel In A Compute Node Of A Parallel Computer And An Input-Output ('I/O') Node Of The Parallel Computer
CN103543684B (zh) * 2011-11-11 2017-10-24 洛克威尔自动控制技术股份有限公司 用于传达对象的状态信息的变化的方法和自动控制部件
US9864365B2 (en) * 2011-11-11 2018-01-09 Rockwell Automation, Inc. Control environment change communication
US9529355B2 (en) * 2011-11-11 2016-12-27 Rockwell Automation Technologies, Inc. Control environment change communication
CN102495733A (zh) * 2011-12-08 2012-06-13 方正国际软件有限公司 应用程序与相关数据库脚本兼容性检测和升级维护的方法
US9087154B1 (en) * 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
CN102447955B (zh) * 2011-12-27 2015-04-15 深圳国微技术有限公司 数字电视条件接收芯片及条件接收的实现方法
US8656343B2 (en) * 2012-02-09 2014-02-18 Sonatype, Inc. System and method of providing real-time updates related to in-use artifacts in a software development environment
JP5964077B2 (ja) * 2012-02-27 2016-08-03 三菱重工業株式会社 制御プログラム管理システム、及び制御プログラムの変更方法
CN102722392B (zh) * 2012-06-07 2015-11-25 腾讯科技(深圳)有限公司 软件运行方法和系统
US8881291B2 (en) 2012-09-25 2014-11-04 Oracle International Corporation System and method for inhibiting the processing of new code modules by an outdated runtime environment
CN103731815B (zh) * 2012-10-11 2017-05-17 北京新媒传信科技有限公司 一种实现手机客户端软件升级的方法及装置
CN103792873B (zh) * 2012-10-26 2017-11-07 洛克威尔自动控制技术股份有限公司 控制环境变化传达
US9040920B1 (en) 2013-01-02 2015-05-26 The Boeing Company Optical object detection system
JP5954738B2 (ja) * 2013-03-19 2016-07-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ファイルのバックアップの処理を行うコンピュータ、システム、方法およびプログラム
CN103246604B (zh) * 2013-03-29 2016-06-15 北京京东尚科信息技术有限公司 软件测试系统和方法
US20150007163A1 (en) * 2013-06-26 2015-01-01 International Business Machines Corporation Monitoring the deployment of code onto a system
US9317411B2 (en) * 2013-07-31 2016-04-19 Bank Of America Corporation Testing coordinator
CN105379225A (zh) * 2013-08-05 2016-03-02 诺基亚技术有限公司 安全存储同步
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9185514B1 (en) * 2013-10-10 2015-11-10 Sprint Communications Company L.P. Orchestration of application updates over a wireless communication network
CN103685471B (zh) * 2013-11-21 2017-05-03 珠海金山网络游戏科技有限公司 一种以独占方式对软件客户端进行更新的方法及系统
US9367299B2 (en) * 2013-12-31 2016-06-14 Google Inc. Preventing application downgrade in an application store
US10140109B2 (en) * 2014-02-25 2018-11-27 Ford Global Technologies, Llc Silent in-vehicle software updates
CN105100021B (zh) * 2014-05-20 2021-03-16 西安中兴新软件有限责任公司 一种设备管理会话的触发方法、设备及系统
US10049033B2 (en) * 2014-06-03 2018-08-14 Sap Se Application gateway for cloud computing systems
CN104079631B (zh) * 2014-06-09 2018-10-16 中国建设银行股份有限公司 一种版本管理方法及相关装置
CN105468395B (zh) * 2014-09-10 2019-11-05 阿里巴巴集团控股有限公司 更新方法、装置及系统
CN104298527A (zh) * 2014-09-30 2015-01-21 小米科技有限责任公司 应用更新的处理方法和装置
US10095500B2 (en) * 2014-09-30 2018-10-09 Apple Inc. Revision locking
US10565534B2 (en) * 2014-11-11 2020-02-18 Amazon Technologies, Inc. Constraints and constraint sharing in a catalog service platform
US11244261B2 (en) 2014-11-11 2022-02-08 Amazon Technologies, Inc. Catalog service platform for deploying applications and services
US11023846B2 (en) 2015-04-24 2021-06-01 United Parcel Service Of America, Inc. Location-based pick up and delivery services
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10146512B1 (en) 2015-08-28 2018-12-04 Twitter, Inc. Feature switching kits
GB2555026A (en) * 2015-09-02 2018-04-18 Google Llc Software development and distribution platform
WO2017036564A1 (en) * 2015-09-04 2017-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Indicator-controlled utilization of outdated configuration defined in access information table for access network
WO2017036552A1 (en) 2015-09-04 2017-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Controlling access to a wireless communication network
US9992065B2 (en) * 2015-12-15 2018-06-05 T-Mobile Usa, Inc. Selective wi-fi calling router updates
CN105607935B (zh) * 2015-12-24 2019-12-13 北京奇虎科技有限公司 应用程序更新方法及其终端、服务器
CN107205001A (zh) * 2016-03-16 2017-09-26 阿里巴巴集团控股有限公司 python脚本的更新方法及装置、客户端、服务器
US10216510B2 (en) * 2016-06-04 2019-02-26 Airwatch Llc Silent upgrade of software with dependencies
US11159615B2 (en) * 2016-07-12 2021-10-26 International Business Machines Corporation Replication optimization for object storage environments
US10572240B2 (en) * 2016-12-19 2020-02-25 Vmware Inc. Operating system update management for enrolled devices
US10127141B2 (en) 2017-02-20 2018-11-13 Bank Of America Corporation Electronic technology resource evaluation system
CN107015830B (zh) * 2017-03-31 2021-04-02 Oppo广东移动通信有限公司 音频播放系统的升级方法、装置及音频播放设备
EP3767495B1 (en) 2017-08-28 2023-04-19 Bright Data Ltd. Method for improving content fetching by selecting tunnel devices
US10657261B2 (en) 2017-11-30 2020-05-19 Mocana Corporation System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
US10162968B1 (en) 2017-11-30 2018-12-25 Mocana Corporation System and method for securely updating a registered device using a development system and a release management system operated by an update provider and an update publisher
US11775814B1 (en) 2019-07-31 2023-10-03 Automation Anywhere, Inc. Automated detection of controls in computer applications with region based detectors
US10853097B1 (en) 2018-01-29 2020-12-01 Automation Anywhere, Inc. Robotic process automation with secure recording
US11055087B2 (en) * 2018-03-16 2021-07-06 Google Llc Leveraging previously installed application elements to install an application
US10769427B1 (en) 2018-04-19 2020-09-08 Automation Anywhere, Inc. Detection and definition of virtual objects in remote screens
US10733329B1 (en) * 2018-04-20 2020-08-04 Automation Anywhere, Inc. Robotic process automation system and method with secure credential vault
US10908950B1 (en) 2018-04-20 2021-02-02 Automation Anywhere, Inc. Robotic process automation system with queue orchestration and task prioritization
US11354164B1 (en) 2018-04-20 2022-06-07 Automation Anywhere, Inc. Robotic process automation system with quality of service based automation
US11693923B1 (en) 2018-05-13 2023-07-04 Automation Anywhere, Inc. Robotic process automation system with hybrid workflows
US12164934B1 (en) 2018-05-13 2024-12-10 Automation Anywhere, Inc. Robotic process automation system with advanced combinational triggers
JP6557760B1 (ja) * 2018-06-19 2019-08-07 Jig−Saw株式会社 機器の制御方法、制御装置及びシステム
WO2020112516A1 (en) * 2018-11-29 2020-06-04 Mocana Corporation System and method for protection of multipart system applications using a cryptographically protected package, a package map and a package object store for decryption and verification at runtime on the target device platform
WO2020117549A1 (en) 2018-12-06 2020-06-11 Mocana Corporation System and method for zero touch provisioning of iot devices
EP3780547B1 (en) 2019-02-25 2023-02-15 Bright Data Ltd. System and method for url fetching retry mechanism
CN109947449B (zh) * 2019-03-18 2022-08-09 Oppo广东移动通信有限公司 系统升级方法、装置、存储介质及电子设备
US11556362B2 (en) 2019-03-31 2023-01-17 Automation Anywhere, Inc. Robotic process automation system with device user impersonation
EP3935792B1 (en) 2019-04-02 2025-12-03 Bright Data Ltd. System and method for managing non-direct url fetching service
US11614731B2 (en) 2019-04-30 2023-03-28 Automation Anywhere, Inc. Zero footprint robotic process automation system
US11113095B2 (en) 2019-04-30 2021-09-07 Automation Anywhere, Inc. Robotic process automation system with separate platform, bot and command class loaders
US11301224B1 (en) 2019-04-30 2022-04-12 Automation Anywhere, Inc. Robotic process automation system with a command action logic independent execution environment
US11243803B2 (en) 2019-04-30 2022-02-08 Automation Anywhere, Inc. Platform agnostic robotic process automation
US11824872B1 (en) * 2019-05-31 2023-11-21 United Services Automobile Association (Usaa) Method and apparatus for anomaly detection for user behavior
WO2020256608A1 (en) 2019-06-20 2020-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for service image deployment in a cloud computing system based on distributed ledger technology
US12002576B2 (en) * 2019-07-15 2024-06-04 Carefusion 303, Inc. Systems and methods for updating firmware of medical devices while minimizing clinical impact
WO2021034730A1 (en) * 2019-08-16 2021-02-25 The Gap, Inc. Systems and methods for deploying enterprise software updates
US12017362B2 (en) 2019-10-31 2024-06-25 Automation Anywhere, Inc. Productivity plugin for integration with robotic process automation
WO2021093984A1 (de) 2019-11-15 2021-05-20 Sew-Eurodrive Gmbh & Co. Kg Verfahren zur übertragung von daten
CN111061642B (zh) * 2019-12-19 2021-02-02 北京智能工场科技有限公司 一种基于用户数据的全自动竞赛数据处理系统以及方法
US11481304B1 (en) 2019-12-22 2022-10-25 Automation Anywhere, Inc. User action generated process discovery
US10911546B1 (en) 2019-12-30 2021-02-02 Automation Anywhere, Inc. Robotic process automation with automated user login for multiple terminal server hosted user sessions
US11086614B1 (en) 2020-01-31 2021-08-10 Automation Anywhere, Inc. Robotic process automation system with distributed download
US11348353B2 (en) 2020-01-31 2022-05-31 Automation Anywhere, Inc. Document spatial layout feature extraction to simplify template classification
US11514154B1 (en) 2020-01-31 2022-11-29 Automation Anywhere, Inc. Automation of workloads involving applications employing multi-factor authentication
US11182178B1 (en) 2020-02-21 2021-11-23 Automation Anywhere, Inc. Detection of user interface controls via invariance guided sub-control learning
CN111414188A (zh) * 2020-02-25 2020-07-14 北京小米移动软件有限公司 应用版本匹配方法、应用版本匹配装置及存储介质
CN111797402B (zh) * 2020-06-17 2025-04-25 北京世纪互联宽带数据中心有限公司 一种软件漏洞检测的方法、装置及存储介质
US12423118B2 (en) 2020-08-03 2025-09-23 Automation Anywhere, Inc. Robotic process automation using enhanced object detection to provide resilient playback capabilities
US12111646B2 (en) 2020-08-03 2024-10-08 Automation Anywhere, Inc. Robotic process automation with resilient playback of recordings
US20220108107A1 (en) 2020-10-05 2022-04-07 Automation Anywhere, Inc. Method and system for extraction of table data from documents for robotic process automation
US11734061B2 (en) 2020-11-12 2023-08-22 Automation Anywhere, Inc. Automated software robot creation for robotic process automation
US11782734B2 (en) 2020-12-22 2023-10-10 Automation Anywhere, Inc. Method and system for text extraction from an application window for robotic process automation
US12072865B2 (en) * 2021-03-17 2024-08-27 Intuit Inc. Competing updates from multiple servicing instances
CN113032773B (zh) * 2021-05-21 2021-08-17 长扬科技(北京)有限公司 一种软件的安全应用方法和装置
US11968182B2 (en) 2021-07-29 2024-04-23 Automation Anywhere, Inc. Authentication of software robots with gateway proxy for access to cloud-based services
US12097622B2 (en) 2021-07-29 2024-09-24 Automation Anywhere, Inc. Repeating pattern detection within usage recordings of robotic process automation to facilitate representation thereof
US11820020B2 (en) 2021-07-29 2023-11-21 Automation Anywhere, Inc. Robotic process automation supporting hierarchical representation of recordings
CN113709235B (zh) * 2021-08-25 2025-08-19 上海商汤智能科技有限公司 设备注册方法及装置、电子设备和存储介质
US12197927B2 (en) 2021-11-29 2025-01-14 Automation Anywhere, Inc. Dynamic fingerprints for robotic process automation
US11973878B2 (en) 2021-12-02 2024-04-30 Bank Of America Corporation Non-fungible token custody chain for multi-component hardware devices
US20230289171A1 (en) * 2022-03-09 2023-09-14 Taiga Motors Inc. System and method for updating software on a vehicle
US12333292B2 (en) * 2022-12-01 2025-06-17 Sap Se Product lifecycle management of data migration during a system update

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999045451A2 (en) * 1998-03-03 1999-09-10 Puma Technology, Inc. Remote data access and synchronization
CN1535419A (zh) * 2001-07-26 2004-10-06 用于编制现场可升级的无线通信设备软件的系统及方法
EP1489501A1 (en) * 2003-06-20 2004-12-22 Samsung Electronics Co., Ltd. Mobile terminal and method for performing a fail-safe over-the-air software update.

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345288B1 (en) * 1989-08-31 2002-02-05 Onename Corporation Computer-based communication system and method using metadata defining a control-structure
US5404488A (en) * 1990-09-26 1995-04-04 Lotus Development Corporation Realtime data feed engine for updating an application with the most currently received data from multiple data feeds
US5896566A (en) * 1995-07-28 1999-04-20 Motorola, Inc. Method for indicating availability of updated software to portable wireless communication units
US6304661B1 (en) * 1995-09-02 2001-10-16 New Transducers Limited Loudspeakers comprising panel-form acoustic radiating elements
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
US6256664B1 (en) * 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US6385770B1 (en) * 1999-01-29 2002-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Software upgrade
US6574657B1 (en) * 1999-05-03 2003-06-03 Symantec Corporation Methods and apparatuses for file synchronization and updating using a signature list
AU5129000A (en) * 1999-05-10 2000-11-21 Brian Evan Mcginnis Method and system for network management
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US6779177B1 (en) * 1999-10-28 2004-08-17 International Business Machines Corporation Mechanism for cross channel multi-server multi-protocol multi-data model thin clients
US6560604B1 (en) 2000-03-10 2003-05-06 Aether Systems, Inc. System, method, and apparatus for automatically and dynamically updating options, features, and/or services available to a client device
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US8145798B1 (en) * 2000-05-01 2012-03-27 Novell, Inc. System and method for automatic provisioning of onsite networking services
US6665867B1 (en) * 2000-07-06 2003-12-16 International Business Machines Corporation Self-propagating software objects and applications
US7739308B2 (en) * 2000-09-08 2010-06-15 Oracle International Corporation Techniques for automatically provisioning a database over a wide area network
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
DE10105454A1 (de) * 2001-02-07 2002-08-29 Bosch Gmbh Robert Verfahren zur automatischen Ergänzung von Software
US6886029B1 (en) * 2001-03-13 2005-04-26 Panamsat Corporation End to end simulation of a content delivery system
US7051327B1 (en) * 2001-05-08 2006-05-23 Gateway Inc. System for providing data backup and restore with updated version by creating data package based upon configuration data application data and user response to suggestion
US7055149B2 (en) * 2001-07-25 2006-05-30 Lenovo (Singapore) Pte Ltd. Method and apparatus for automating software upgrades
US20030186689A1 (en) * 2001-08-06 2003-10-02 Samsung Electronics Co., Ltd System and method for IOTA software download notification for wireless communication devices
US7003767B2 (en) * 2001-10-02 2006-02-21 International Business Machines Corp. System and method for remotely updating software applications
US6993760B2 (en) * 2001-12-05 2006-01-31 Microsoft Corporation Installing software on a mobile computing device using the rollback and security features of a configuration manager
US20040010456A1 (en) 2002-07-09 2004-01-15 Hoang Khoi Nhu Incrementally updated electronic catalog with localized distribution
JP3952893B2 (ja) * 2002-07-30 2007-08-01 株式会社日立製作所 ネットワーク機器およびプログラム自動更新方式
US20040203693A1 (en) * 2002-09-18 2004-10-14 Dell Products L.P. Over the air firmware and policy programming
US7216343B2 (en) * 2002-09-20 2007-05-08 International Business Machines Corporation Method and apparatus for automatic updating and testing of software
JP4408033B2 (ja) * 2002-09-24 2010-02-03 株式会社リコー 遠隔管理システム
US7003534B2 (en) * 2002-11-18 2006-02-21 Innopath Software, Inc. Generating difference files using module information of embedded software components
US20040098421A1 (en) * 2002-11-18 2004-05-20 Luosheng Peng Scheduling updates of electronic files
US7461373B2 (en) * 2002-12-05 2008-12-02 Samsung Electronics Co., Ltd. Apparatus and method for upgrading software of a wireless mobile station
US8332464B2 (en) * 2002-12-13 2012-12-11 Anxebusiness Corp. System and method for remote network access
US7149508B2 (en) * 2003-02-05 2006-12-12 Samsung Electronics Co., Ltd. System and method for delta-based over-the-air software upgrades for a wireless mobile station
US7657884B2 (en) * 2003-03-24 2010-02-02 Hewlett-Packard Development Company, L.P. Electronic device supporting multiple update agents
US7363342B1 (en) * 2003-07-08 2008-04-22 Microsoft Corporation Method and apparatus for providing web services in a collaborative computing system
US7657885B2 (en) * 2004-04-16 2010-02-02 Gateway, Inc. System and method for downloading software and services
AU2005237638A1 (en) * 2004-04-28 2005-11-10 Openlogic, Inc. Tools for stacking uncoordinated software projects
US7526534B2 (en) * 2004-07-16 2009-04-28 Cassatt Corporation Unified system services layer for a distributed processing system
KR100644621B1 (ko) * 2004-08-06 2006-11-10 삼성전자주식회사 네트워크 디바이스의 소프트웨어 업데이트 방법
US7530065B1 (en) * 2004-08-13 2009-05-05 Apple Inc. Mechanism for determining applicability of software packages for installation
US7516451B2 (en) * 2004-08-31 2009-04-07 Innopath Software, Inc. Maintaining mobile device electronic files including using difference files when upgrading
US7552431B2 (en) * 2004-08-31 2009-06-23 Microsoft Corporation Multiple patching in a single installation transaction
US7552430B2 (en) * 2004-08-31 2009-06-23 Microsoft Corporation Patch sequencing
US8146073B2 (en) * 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
US7490349B2 (en) * 2005-04-01 2009-02-10 International Business Machines Corporation System and method of enforcing hierarchical management policy
CN101040552B (zh) * 2005-04-18 2010-12-01 捷讯研究有限公司 控制软件版本更新的方法和系统
CA2601937C (en) * 2005-04-18 2013-01-22 Research In Motion Limited Implementing data-compatibility-based version scheme
US7966612B2 (en) * 2005-04-28 2011-06-21 International Business Machines Corporation Method, system and computer program for installing shared software components
US7937697B2 (en) * 2005-05-19 2011-05-03 International Business Machines Corporation Method, system and computer program for distributing software patches
US7814480B2 (en) * 2005-09-05 2010-10-12 Seiko Epson Corporation Control software updating technique for a network apparatus
US8271967B2 (en) * 2008-06-09 2012-09-18 Ricoh Company, Ltd. MFP software update using web service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999045451A2 (en) * 1998-03-03 1999-09-10 Puma Technology, Inc. Remote data access and synchronization
CN1535419A (zh) * 2001-07-26 2004-10-06 用于编制现场可升级的无线通信设备软件的系统及方法
EP1489501A1 (en) * 2003-06-20 2004-12-22 Samsung Electronics Co., Ltd. Mobile terminal and method for performing a fail-safe over-the-air software update.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9823916B2 (en) 2012-03-27 2017-11-21 Juniper Networks, Inc. Methods and apparatus for improving compatibility between network devices

Also Published As

Publication number Publication date
US20060236083A1 (en) 2006-10-19
EP1803313A1 (en) 2007-07-04
CN101040552A (zh) 2007-09-19
CA2577244A1 (en) 2006-10-26
US8464240B2 (en) 2013-06-11
EP1803313A4 (en) 2007-10-31
US7747995B2 (en) 2010-06-29
WO2006110991A1 (en) 2006-10-26
US20100242033A1 (en) 2010-09-23

Similar Documents

Publication Publication Date Title
CN101040552B (zh) 控制软件版本更新的方法和系统
CN100552629C (zh) 实现基于数据兼容性的版本计划
CN112000348B (zh) 服务灰度发布的控制方法、装置、计算机设备
US8549490B2 (en) Static code analysis for packaged application customization
CN101571809A (zh) 一种插件注册的实现方法及其装置
US10606586B2 (en) Application architecture generation
CN103645923A (zh) 一种插件安装方法及系统
WO2019237239A1 (zh) 数据测试方法、装置、设备/终端/服务器及计算机可读存储介质
CN112000343B (zh) 使用Devops在Kubernetes中部署多版本服务的方法及系统
CN110968339A (zh) 前端构建工具的方法、装置以及电子设备
CN105511914A (zh) 应用更新方法、装置和系统
EP1872230B1 (en) Centralized memory management in wireless terminal devices
CN114185555A (zh) 一种服务器部署的方法、装置及电子设备
CN113961232A (zh) 提供集成开发环境的终端、方法和平台服务器
US20100191710A1 (en) Network Meta-Data Libraries And Related Methods
Ayed et al. An adaptation methodology for the deployment of mobile component-based applications
EP1710698A2 (en) Generic software requirements analyser
CN111291101A (zh) 集群管理方法及系统
CN116028138B (zh) 应用发布方法及装置
WO2005006187A1 (en) A method of dynamically changing a software design
CN120353462A (zh) 基于Web动态化渲染方法及系统
CN120849262A (zh) 一种基于云管理平台的应用测试方法以及云管理平台
CN116302710A (zh) 应用版本回滚方法、装置、计算机设备和存储介质
CN117370189A (zh) 一种自动化集成测试方法及相关产品
CN120371941A (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
CP03 Change of name, title or address

Address after: Ontario, Canada

Patentee after: BlackBerry Ltd.

Country or region after: Canada

Address before: Ontario, Canada

Patentee before: RESEARCH IN MOTION Ltd.

Country or region before: Canada

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240520

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada

TR01 Transfer of patent right