CN1147190C - 下载到无线终端的方法和设备 - Google Patents

下载到无线终端的方法和设备 Download PDF

Info

Publication number
CN1147190C
CN1147190C CNB008107912A CN00810791A CN1147190C CN 1147190 C CN1147190 C CN 1147190C CN B008107912 A CNB008107912 A CN B008107912A CN 00810791 A CN00810791 A CN 00810791A CN 1147190 C CN1147190 C CN 1147190C
Authority
CN
China
Prior art keywords
software
version
wireless terminal
current version
designator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB008107912A
Other languages
English (en)
Other versions
CN1364390A (zh
Inventor
H
H·哈尔
M·艾利松
G·福尔斯格伦
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1364390A publication Critical patent/CN1364390A/zh
Application granted granted Critical
Publication of CN1147190C publication Critical patent/CN1147190C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及将软件下载到无线终端的方法,该终端具有至少两个软件,其中一个软件作为当前的版本工作。当终端被接通时,确定在无线终端中软件的当前的版本起作用的能力。如果告知有新的版本,或如果当前的版本不能工作,则下载软件的另一个版本。如果当前的版本能工作,则当前的版本在下载新的版本之前被加以存储。软件的当前的版本起作用的能力在使用前被测试。测试结果以这样的形式表示,以使得可以确定软件的所述被测试的版本的起作用的能力。本发明也涉及包括用于实行本发明的方法的装置的无线终端。

Description

下载到无线终端的方法和设备
技术领域
本发明涉及将软件下载到无线终端(例如移动电话)的方法和设备,更具体地,涉及远距离地更新软件。
背景技术
无线终端典型地使用两个软件来编程,第一个软件被硬编码在可编程只读存储器(PROM)中,以及第二个可更新的软件被装载在快闪可编程只读存储器(快闪PROM)中。被装载在快闪PROM中的软件可以周期地被更新。
通常,程序的新版本被定期地制作,所以,具有通过远距离地使用无线通信链路来重新编程无线终端(诸如蜂窝电话)的方法和设备。如果这样的方法可将老的软件一直保持至更新的软件被测试和被验证为止,则是有利的。
在本申请人的国际专利申请WO98/38820中,给出了通过无线通信将软件下载到位于远端的蜂窝电话中的方法和无线电设备。该文件中的蜂窝电话包括两个用于存储软件的存储器,其中一个存储器存储当前的软件,第二个存储器可供下载新的软件之用。蜂窝电话也包括一个控制器,用于把接收的软件装载到蜂窝电话,以及用于对新的软件执行检验,以便控制用于将新的软件下载到电话机的过程。如果计算的“检验和”不能与发送的“检验和”相匹配,则重新传榆新的软件。
在某些情形下,无线终端(特别是如果它是移动电话的话)在用于用户安全的紧急呼叫的情形下起作用是极其重要的。所以,软件必须是非常可靠的。当软件通过无线网或其它网络被下载和在无线终端中被更新时,新的版本有可能包含程序错误,或许会不能正确地启动或甚至完全不启动。当软件由第三方编写时,就可以是这种情形。而且,软件可能是相当先进,所以,从程序员看来,很难说出应用程序实际上何时启动,即使已执行了用于下载过程的“检验和”处理。即使假设一个版本是能工作的,程序本身也会在某种程度上被弄乱。“检验和”只能控制从服务器发送的程序是否与被无线终端接收时具有相同的形式。如果程序在服务器处具有错误,则相同的错误被传送到无线终端。
如果已被安装的软件的版本看来不能正常工作,则应当具有某种方法来获得能正确工作的版本。此外也还具有获知应用软件何时已被成功地启动的问题。
发明内容
本发明的一个目的是提供一种方法和设备,通过这种方法和设备,用户总是能够获知在无线终端中当前的软件是否起作用。
本发明的另一个目的是提供一种用于将软件下载和安装到无线终端中以满足以上的目的的方法和设备。
所以,本发明的方法主要的特征在于确定在无线终端中软件的当前的版本起作用的能力。任选地,在进行所述确定之前或之后,告知可能存在软件的新版本。作为所述确定和或所述告知的可能结果,选择要被下载的另一个版本。如果按照所述确定,软件的当前的版本不能工作,则将要下载软件的另一个版本。在另一个版本被下载之前,软件的当前的版本优选地被存储,如果它是按照所述确定的、能工作的版本的话。如果按照所述确定或所述告知有理由下载的话,被选择的软件版本被下载到无线终端以便成为当前的版本,然后,测试该软件版本(它现在是无线终端中的当前的版本)的起作用的能力。如上所述,当前的版本可以是当终端被接通的一开始时就存在于终端中的版本,它可以是另一个版本,或它可以是新的版本。所述测试的结果以这样的形式来表示:使得可以确定软件的所述被测试版本的起作用的能力。
因此,本发明也包含这样的方法,其中排除了通知新版本的存在的步骤,以及还包含这样的方法,其中这个步骤是必须的步骤。
在另一个版本被安装之前,一个版本也可以被测试一次以上。
本发明提供了具有至少两个软件的无线终端,其中一个软件作为当前的版本进行工作,其特征在于,
(a)用于通过存在或不存在表示无线终端中的软件状况的特别的指示符而检验在无线终端中软件的当前的版本的实用能力的装置,
(b)用于告知是否存在软件的新的版本的装置,
(c)用于选择要被下载来代替当前的版本的软件的另一个版本的装置,
(d)用于存储软件的当前的版本的装置,
(e)用于把软件的另一个版本下载到无线终端成为当前的版本的装置,
(f)用于测试软件的当前版本的实用能力的装置,以及
(g)用于以这样的形式表示所述测试的结果以使得可以检验软件的所述被测试的版本的实用能力的装置。
在本申请中,术语“下载”是指远端下载和安装以及从另一个存储器重新安装和重新装载。术语“当前的版本”是指在终端中软件的实际的版本。所存储的其它的版本是不工作的。应当指出,当新的版本是可提供使用时,不必立即下载它。如果它被下载,则不必立即启动它,这可以在以后(例如,下次终端被接通时)再完成。而且,软件的新版本可以是软件的新近的版本、更好的版本或改进的版本。一个想法是:告知可能存在着“新的”版本,以便有可能下载某个希望的、还没有被存储在终端中的版本。
下面给出对于本发明的方法和设备的某些另外的优选特性。
当无线终端被接通时,优选地完成的第一件事是确定软件的当前的版本是否起作用。这个确定可以通过识别是否存在一个表示软件状态和已被插入到终端的指示符而被完成。指示符可以是所述测试的结果,它通过存在或不存在一个可以由程序中的对象来处理的特别的指示符来表示。
这样标志可以是持久的对象。如果存在该对象,则可以得知,用于下载软件的新的版本的先前的启动或另一个版本的安装失败。这样的实施例也是有可能的:其中不存在标志是指当前的版本不能工作。然后安装一个被认为是能工作的版本,以及该方法可以立即或在以后重复进行,直至测试结果表明终端的当前的版本是能工作的为止。该方法也可以在下次无线终端被接通时(优选地,在每次接通终端时)重复进行。
所述另一个版本的软件可以是早先被存储的、老的版本,优选地是先前使用的版本。要被存储的版本的数目通过删除一个或多个较老的版本被选择,优选地,取决于被安装的新的版本。
被选择为要加以下载的所述其它版本可以是软件的新的版本,如果这样的新的版本按照所述告知是存在的话。如果当前激活的版本按照所述确定不能工作,或如果没有新版本或不希望安装新的版本,则被选择为要被下载的其它的软件版本是早先存储的更老的版本。
如果当系统被启动时存在有持久的对象(或在替换的实施例中,不存在持久的对象),则它是一个表示上次出现某些错误的标志。如上所述,工作的版本然后被安装成为当前的版本,或该版本至少再次被测试。
在一个实施例中,要作为当前版本被安装的软件的所述其它版本可以是被存储在ROM中的基本版本,或如果所存储的较老的版本或当前的版本都不能工作,则它可以从制造商的服务器中被下载。在某些实施例中,可能有任选方案:如果希望的话,基本版本总可以被安装。
如上所述,所述测试的结果通过在移动电话中是否存在一个显示软件状态的特别的指示符而被表示,借助于这种指示,可以告知在移动电话中的软件的当前版本的起作用的能力。
当软件的所述被安装/下载的版本的起作用的能力可通过不存在所述特别的指示符来给出、以及相反的情形则由存在所述指示符来给出时,在本发明的一个实施例中该指示符被去除,当按照测试时,启动软件的工作的版本。在另一个实施例中,所述指示符在每次执行功能测试时被更新,以便显示所执行的测试的数目或标识软件的当前的版本。
被选择为要被下载的软件的其它版本可以根据更新的指示符进行选择。如果指示符表明测试已执行多次,则可建议重新装载软件的基本版本。
因此,在本发明的一个实施例中,代替在测试通过时删除该对象以及然后在下一次测试创建新的对象,可以采取更新现有的对象,以便给出关于该软件的实际的版本所执行的测试数目的信息等等。可以提前决定:在另一个或基本的版本被安装之前,一个程序将被测试多少次。如果指示符显示一个以上,则它通常表示某些其它事情是错误的,在这种情形下,最好在这个阶段安装上面已提到的基本的第一版本。在第三方代码的情形下,另一个程序可能破坏实际的版本。在无线终端中文件的复制是另一个可能的理由。所以,也可以建议在安装更早的版本或基本版本之前对同一个程序测试一次以上。
所述特别的指示符可以以这样的形式作出:使得软件的实际的版本可被识别,以及它可以具有普通的文件的形式。
软件的所述版本的起作用的能力可以通过设置多个检验点而进行测试,这些检验点是软件应当通过的,以便作为工作的版本正确地启动。每个检验点例如可以是在软件中每个线程的关键点,或是在必须被通过的软件中每个终端资源的关键点。资源可以是网络、文件系统、声音等等。其它替换例也是有可能的,它们可根据程序来选择。一个检验点计数器可被使用来计数已通过的检验点,已通过的检验点的数目可被检验出,以及如果在计数器中的检验点数目等于要被通过的检验点的数目,则所述特别的标志可被删除或被更新。
当前的版本可以通过把它与压缩的程序组合在一起来进行存储,以便减小对电话(例如邮区程序)所需要的空间的总量。
关于了解软件的新版本是否被成功地启动的问题,在本发明中是这样解决的:即,根据软件的功能来确定是否存在一个指示符。如果新的版本被启动,则该指示符将被删除,或在替换的实施例中,如果新的版本被启动,则该指示符被保持。
本发明提供了一种将软件下载到无线终端的方法,该无线终端具有至少两个软件,其中一个软件作为当前的版本进行工作,
其特征在于以下步骤:
(a)通过存在或不存在表示无线终端中的软件状况的特别的指示符而确定在无线终端中软件的当前的版本的实用能力,
(b)告知是否存在软件的新版本,
(c)如果当前版本不能工作或如果有软件的新版本可供使用,则选择要被下载的软件的另一个版本,
(d)如果当前的版本是能工作的版本,则在新版本被下载之前存储软件的当前版本,
(e)把在步骤(c)选择的软件的另一个版本下载到无线终端成为当前的版本,
(f)测试软件的当前版本的实用能力,以及
(g)通过存在或不存在特别的指示符来表示步骤(f)的测试结果,在步骤(a)曾经借助于该指示符确定在无线终端中软件的当前版本的实用能力。
本发明还提供了一种将软件下载到无线终端的方法,该无线终端具有至少两个软件,其中一个软件作为当前的版本进行工作,
其特征在于以下步骤:
(a)通过存在或不存在表示无线终端中的软件状况的特别的指示符而确定在无线终端中软件的当前版本的实用能力,
(b)如果当前的版本不能工作,则选择要被下载的软件的另一个版本,
(c)如果当前的版本是能工作的版本,则在新版本被下载之前存储软件的当前的版本,
(d)把在步骤(b)选择的软件的另一个版本下载到无线终端成为当前的版本,
(e)测试软件的当前版本的实用能力,以及
(f)通过存在或不存在特别的指示符来表示步骤(e)的测试结果,在步骤(a)曾经借助于该指示符确定在无线终端中软件的当前版本的实用能力。
本发明还提供了一种具有至少两个软件的无线终端,其中一个软件作为当前的版本进行工作,其特征在于,
(a)用于通过存在或不存在表示无线终端中的软件状况的特别的指示符而检验在无线终端中软件的当前的版本的实用能力的装置,
(b)用于告知是否存在软件的新的版本的装置,
(c)用于选择要被下载来代替当前的版本的软件的另一个版本的装置,
(d)用于存储软件的当前的版本的装置,
(e)用于把软件的另一个版本下载到无线终端成为当前的版本的装置,
(f)用于测试软件的当前版本的实用能力的装置,以及
(g)用于以这样的形式表示所述测试的结果以使得可以检验软件的所述被测试的版本的实用能力的装置。
通过本发明的方法和设备,总是可以保证有一个工作的版本,因此,系统是非常可靠的。
本发明的无线终端可以是计算机或移动电话等等。
下面将通过四个流程图和一个示意图更详细地说明本发明。应当指出,这些说明只是本发明的实施例的例子。
附图说明
图1显示用于将软件下载到无线终端的示意图。
图2是本发明的总的流程图。
图3是按照本发明的程序过程的两个实例的流程图。
图4是本发明的实施例的更详细的例子。
图5是图2的步骤5、8和9的详细的例子。
具体实施方式
在图1上,显示一个用于从远端下载软件到无线终端10的设备的例子。一个更新服务器处理器11与网络12通信,网络12具有到无线终端10的无线通信链路13。软件的新的版本从更新服务器处理器11经过网络12和无线通信链路13并通过天线14被发送到无线终端10。除了具有无线终端的通常的功能以外,图1的终端10包含收发信机15、控制器16、第一存储器17和第二存储器18。软件从更新服务器11下载到无线终端10,是通过天线14经由控制器15传送到一个存储器而实现的。
当软件的新的版本是可供使用时,更新服务器处理器11可以在控制器16的控制下发送一个消息到无线终端10,控制器16可以按照本发明来选择下载新的版本或者不下载。软件的新版本的可提供性对于无线终端10可以是已知的,这样,无线终端10可向更新服务器11询问关于新的版本的存在。下载操作本身通常是通过在服务器处理器11与无线终端之间的消息传送来实现的。按照本发明,更新处理器11也可以发送软件的较老的版本到无线终端。
当新的版本已被下载到终端时,它被认为是当前的版本,在程序启动时,它的起作用的能力被测试。软件的启动过程后面通过多个检验点,这些检验点是软件在正确的启动时应当通过的。检验点计数器可被使用来计数所通过的检验点,通过的检验点的数目可被检验,以及根据与要被通过的检验点的数目相等的计数器中的检验点数目,特别的指示符可被创建、删除或被更新。
在图2上,借助于流程图给出本发明的详细的实施例。本发明中一个行进的方式是跟踪连续线的箭头。另一种行进的方式是用点线表示的。在某些实施例中,可以按照预定的准则选择替换方案。
优选地,每次终端按照参考数字1被接通时,执行该方法。在图2上,首先要做的是检验软件的当前的版本是否为能工作的版本,如图上步骤2所表示的。这个基于所述检验的确定是按照图1借助于测试结果的指示而实现的,该测试是按照步骤8实现的,以及按照步骤9的指示在下面说明。在步骤9的测试结果的指示与步骤2的检验之间的信息的改变用双向箭头3表示。测试结果的指示可以以多种方式来执行。它可以是以作为普通文件的持久对象的形式出现的标志。
如果按照步骤9的测试结果指示,当前的版本表现为不能工作,这意味着在软件的先前的启动中有什麽地方出错。步骤4a现在可被执行,按照该步骤,另一个被认为能工作的版本被安装。这个版本可以是软件的先前存储的能工作的版本,或它甚至可以是被存储在ROM中的基本版本,或它甚至可以从制造商的服务器中下载。如果当前的版本表现为是不能工作的,则它也可以在步骤8和9中再次被测试。这个替换的方式在图上用点线给出。
如果按照步骤9的测试结果表示的当前的版本是在步骤2中被认为是能工作的版本,则在图2的步骤4b,检验是否存在新的版本。没有检验到新的版本的替换的另一方法方案用点线箭头表示,在这种情形下,当前的版本被启动,如步骤5表示。当软件按照程序中的检验点组被启动时,当前版本的起作用的能力被测试,如步骤8所表示的。
即使在无线终端中没有较早先的版本,有可能下载软件的新的版本,但这个实施例没有被显示。在这种情形下,本发明中的第一步骤是下载新的版本,它然后被启动和测试,以及测试结果被表示如所说明的那样。
如果没有新的版本(或它没有被下载),则当前的版本被启动(如步骤5所表示的),以及被测试(如步骤8所表示的)。
不下载软件的新的版本的可替换的方法方案由点线箭头表示。
如果有新的版本,则当前的版本在图2上在步骤6被存储,以及新的版本在步骤7中被下载。
对于在步骤7下载的新的版本,可以结合启动来执行功能测试,如步骤5和8所表示的。
如步骤8所表示的,被下载的或被安装的软件版本的起作用的能力是通过设置多个检验点而被测试的,这些检验点是软件应当通过的,以便作为工作的版本正确地启动。检验点计数器可被使用来计数所通过的检验点,如果计数器中的检验点数目等于要被通过的检验点的数目,则特别的标志可被删除或被更新。
测试的结果在步骤9以这样的形式表示,以使得软件的当前的版本的起作用的能力总是可被确定。所以,所述测试的结果是通过在终端中是否存在表示软件状态的特别的指示符或标志而被表示的,借助于这种指示,可以告知在终端中的软件的当前版本的起作用的能力。
下载的新的版本或被安装的版本在步骤8结合程序的启动被测试。然而,可以有嵌入的检验点,如果这些检验点没有被通过,则它将呈现在测试结果的表示中。
图3是说明本发明的方法可以如何执行的两个例子的详细的流程图。必须指出,下载过程取决于:终端中的软件如何工作以及新的版本的可提供性,无论如何,该例子并不打算限制本发明,而只是为了说明目的被显示的。
按照参考数字100,终端被接通。在本实施例中,测试结果的指示以持久的对象的形式来执行,持久的对象的存在表明在终端中的软件的当前的版本不能工作。
在图3上,步骤200在图3的第一实例中显示存在着对象,这意味着在软件的先前的启动中有什麽地方出错。现在步骤400a1可被执行,按照这个步骤,安装被认为是能工作的另一个版本。这个版本可以是早先存储的软件的可工作的版本,或甚至可以是被存储在ROM中的基本版本,或甚至可以是从制造商的服务器中被下载的。被下载的版本在步骤500被启动,由此创建新的持久的对象。在步骤800:2,下载的版本被测试,以及因为测试被通过,持久的对象在步骤900:2被删除。
现在回到步骤200,在第二个实例中持久的对象的不存在使得程序去执行步骤400b,由此,现在检验是否存在有新的版本。由于有新的版本,当前的版本在步骤600被存储,以及新的版本在步骤700作为当前的版本被存储。新的版本在步骤800:1中被启动,由此,持久的对象被创建,以及设置要被通过的多个检验点。在步骤900:1中,新的版本被测试。当这个版本没有正确地启动时,在步骤400a2采取行动来校正错误,例如通过进入到步骤400a1,以及按第一步骤中所说明的那样进行。
下面讨论另一个实施例。例如,终端的用户可以从不正确的程序运行状态得出结论:有什麽地方出错,以及通过首先关断终端然后立即再次接通它而重新启动终端,这实际上意味着转到步骤100。也有可能:程序执行被终结,以及控制被切换到内核,由此可以检验通过的检验点的数目。然后,响应于在预先设置的计数值与所通过的检验点的数目之间的失配,可以执行一些自动操作。也有可能在步骤800实施低级别的中断,由此内核可以检测:程序执行是否已停止或进入到一个环路。然后在步骤400a2,内核执行一些自动操作来校正错误,例如,从步骤200重新启动该程序执行。如果内核可以进行控制,则当出现错误程序时,可以改变这些自动操作。例如,内核可以向用户表示:程序错误已被检测,但某些功能将是允许的。用户例如可以被允许管理本地日程表,而网络连接可能是不允许的。内核可以根据对已通过的检验点汇编出的数据的分析来确定哪些程序功能是能工作的。
在图4上,显示了本发明的实施例的详细的例子。在图上,相应于图2的步骤的不同的步骤用与图2上相应的参考数字表示,不同的是,在这个实施例中,上标′和″和被使用来表示这个特别的实施例。下标a,b,和c被使用来表示可替换的方式。其中的不同的步骤先前已在正文中被解释,这个图的目的是显示本发明的实施的例子。
在步骤1’,终端被接通。在步骤4b’,告知新的版本的存在。如果有新的版本,则在步骤6’,移动当前的版本。(如果当前的版本是工作的版本,则它被存储,否则它被删除。)新的版本在步骤7’被装载,以及在步骤5a′被启动。在启动时,在步骤9b’创建一个对象,以便表示在步骤8’执行的测试已通过。在步骤2b’,告知测试通过。如果测试没有通过,则按照步骤1b′进行重新启动。在这种情形下,在步骤2’,告知当前的版本起作用的能力。在本实施例中,如果存在一个对象,在步骤2″告知这是否为第二次尝试启动软件。(这可以通过在每次未通过的测试时这样地更新对象而进行告知)。在图4上,如果在步骤2″通知这是第二次尝试引导,则在步骤4a′,重新装载基本版本。
如果步骤2″表明这不是第二次尝试,则在步骤2进行告知:例如是否存在着一个老的当前版本,正如由在图1中被装载的第二存储器所表示的那样。这可以通过为此目的创建自己的对象而进行通知。如果正是这种情形,则老的版本在步骤4″被重新装载,以及在步骤5c′被启动和被测试,其中也包括创建新的对象。在步骤2c′,告知测试通过。如果测试通过,则在步骤9d′删除该对象,以及当前的软件版本可被使用。
如果在步骤2c′告知测试没有被通过,则当前的对象在步骤9c′被更新,以便表示在步骤2″的以后的执行中第二次尝试。此后,在步骤1b′人工地或自动地进行重新启动。
如果按照步骤2,没有更老的能工作的版本,则在步骤4a′重新装载基本版本。然后程序执行进到步骤5b′、9b′,测试重新装载的基本版本。
如果按照步骤2′没有对象,则这意味着当前版本是能工作的,以及它在步骤5b′被启动。在步骤9a′创建一个对象,如果按照步骤8a′的测试被通过,则该目标在步骤9c′被删除,此后程序已准备好可供使用。
如果在步骤2a′测试没有被通过,则在步骤1b′进行重新启动。
如果在步骤4b′没有可供使用的新的软件版本,则下一个步骤是步骤2′,这已在上面说明。
图5是在终端结合步骤5的启动对于当前的软件执行的功能测试的详细的例子。在步骤51A,创建对象52。软件版本的功能是通过设置该软件应当通过的多个检验点C1、C2、C3(在图5上被成为检验点1、检验点2和检验点3)而被测试的,从而使它被作为能工作的版本正确地启动。在步骤51B规定要被通过的检验点的数目,以及在步骤53,把检验点的数目存储在对象52中。检验点的数目可以变化,但为了说明的目的,在图5上表示有三个检验点。检验点的数目被包含在程序中,以及在程序执行的早期阶段被复制到对象52中。
每个检验点,例如,可以是在软件中必须被通过的每个线程的关键点。在图5上,只描述了一个线程。另一些替换例也有是可能的,它们可根据程序而被选择。在对象中可以使用检验点计数器54,以便计数被通过的检验点,以及每次检验点被通过时,计数器数目被递增1。在图5上,显示了其中全部三个检验点都通过的情形。
在步骤55,已通过的检验点的数目与规定的总数进行比较,以及如果在对象中规定的检验点的数目等于按照计数器通过的检验点数目,则测试被通过,正如由步骤56表示的,以及该软件已准备好可供使用。如果在对象中规定的检验点的数目不等于已通过的检验点数目,则在本实施例中,在步骤57更新老的对象,或创建新的对象。

Claims (31)

1.将软件下载到无线终端的方法,该无线终端具有至少两个软件,其中一个软件作为当前的版本进行工作,
其特征在于以下步骤:
(a)通过存在或不存在表示无线终端中的软件状况的特别的指示符而确定在无线终端中软件的当前的版本的实用能力,
(b)告知是否存在软件的新版本,
(c)如果当前版本不能工作或如果有软件的新版本可供使用,则选择要被下载的软件的另一个版本,
(d)如果当前的版本是能工作的版本,则在新版本被下载之前存储软件的当前版本,
(e)把在步骤(c)选择的软件的另一个版本下载到无线终端成为当前的版本,
(f)测试软件的当前版本的实用能力,以及
(g)通过存在或不存在特别的指示符来表示步骤(f)的测试结果,在步骤(a)曾经借助于该指示符确定在无线终端中软件的当前版本的实用能力。
2.按照权利要求1的方法,其特征在于,该方法被重复进行,直至在无线终端中有一个能工作的软件版本为止。
3.按照权利要求1的方法,其特征在于,当前版本的实用能力被测试和被确定至少一次。
4.按照权利要求1的方法,其特征在于,每次无线终端被接通时,执行该方法。
5.按照权利要求1的方法,其特征在于,存储在无线终端中的版本的数目是通过删除一个或多个更老的版本而被选择的。
6.按照权利要求1的方法,其特征在于,存储在无线终端中的版本的数目是通过按照被安装的新的版本来删除一个或多个更老的版本而进行选择的。
7.按照权利要求1的方法,其特征在于,如果存在这样的新的版本,则选定要被下载的另一个版本是软件的新版本。
8.按照权利要求1的方法,其特征在于,如果当前的版本不能工作,则选定要被下载的软件的另一个版本是较早先存储的更老的版本。
9.按照权利要求1的方法,其特征在于,如果根据步骤a)当前的版本不能工作以及没有新的版本可供使用,则选定要被下载的软件的另一个版本是较早先存储的更老的版本,优选地,是以前存储的能工作的版本。
10.按照权利要求1的方法,其特征在于,选定要被下载的软件的另一个版本是被存储在ROM中的基本版本,如果它是以前存储的能工作的版本的话,或如果该方法被重复进行直至它是无线终端中唯一的能工作的软件版本为止。
11.按照权利要求1的方法,其特征在于,选定要被下载的软件的另一个版本是从制造商的服务器处被下载的。
12.按照权利要求1的方法,其特征在于,软件的所述当前的版本的实用能力是通过不存在所述特别的指示符而被表示为能工作的,和通过存在所述指示符而被表示为不能工作的,根据测试,当能工作的软件版本已被启动时,所述指示符被删除。
13.按照权利要求1的方法,其特征在于,软件的所述当前的版本的实用能力是通过不存在所述特别的指示符而被表示为能工作的和通过存在所述指示符而被表示为不能工作的,在每次表示测试结果以便显示被执行的测试的数目时,所述指示符被更新。
14.按照权利要求13的方法,其特征在于,选定要被下载的软件的另一个版本是根据更新的指示符来选择的,软件的所述当前的版本的实用能力是通过不存在所述特别的指示符而被表示为能工作的和通过存在所述指示符而被表示为不能工作的。
15.按照权利要求1的方法,其特征在于,所述特别的指示符被做成这样的形式,以使得软件的当前版本可被识别。
16.按照权利要求1的方法,其特征在于,所述指示符具有普通文件的形式。
17.按照权利要求1的方法,其特征在于,软件的所述当前版本的实用能力是通过设置多个检验点而被测试的,这些检验点是软件应当通过的,以便作为能工作的版本正确地启动。
18.按照权利要求17的方法,其特征在于,每个检验点是在软件中每个线程的关键点,或是在必须被通过的软件中每个终端资源的关键点。
19.按照权利要求17的方法,其特征在于,实用能力测试包括以下步骤:
利用检验点计数器来通知每个被通过的检验点,
检验检验点的数目,以及
如果在检验点计数器中的检验点数目对应于应当被通过的检验点的数目,则把被测试的软件版本表示为能工作的版本。
20.按照权利要求1的方法,其特征在于,当软件的当前的版本被存储时,当前的软件版本通过压缩程序被封装,以便减小对无线终端所要求的空间量。
21.按照权利要求1的方法,其特征在于,所述无线终端是移动电话。
22.具有至少两个软件的无线终端,其中一个软件作为当前的版本进行工作,其特征在于,
(a)用于通过存在或不存在表示无线终端中的软件状况的特别的指示符而检验在无线终端中软件的当前的版本的实用能力的装置,
(b)用于告知是否存在软件的新的版本的装置,
(c)用于选择要被下载来代替当前的版本的软件的另一个版本的装置,
(d)用于存储软件的当前的版本的装置,
(e)用于把软件的另一个版本下载到无线终端成为当前的版本的装置,
(f)用于测试软件的当前版本的实用能力的装置,以及
(g)用于以这样的形式表示所述测试的结果以使得可以检验软件的所述被测试的版本的实用能力的装置。
23.按照权利要求22的无线终端,其特征在于,将一个或多个能工作的版本存储起来。
24.按照权利要求23的无线终端,其特征在于,被存储的软件版本之一是存储在ROM中的基本版本。
25.按照权利要求22的无线终端,其特征在于,用于在每次所述测试被重复进行时更新特别的指示符以便显示被执行的测试数目的装置。
26.按照权利要求22的无线终端,其特征在于,用于以这样的形式创建所述特别指示符以使得软件的当前版本可被识别的装置。
27.按照权利要求22的无线终端,其特征在于,用于创建具有普通文件形式的所述指示符。
28.按照权利要求22的无线终端,其特征在于,用于通过设置多个检验点来测试软件的当前版本的装置,这些检验点是软件应当通过的,以便作为能工作的版本正确地启动。
29.按照权利要求28的无线终端,其特征在于,
用于通知每个被通过的检验点的检验点计数器,
用于检验所述检验点的数目的装置,以及
用于根据被通过的检验点的数目来表示测试结果的装置。
30.按照权利要求22的无线终端,其特征在于,用于通过利用压缩程序封装当前版本来存储软件的当前的版本以便减小对无线终端所要求的空间量的装置。
31.按照权利要求22的无线终端,其特征在于,无线终端是移动电话。
CNB008107912A 1999-05-26 2000-05-19 下载到无线终端的方法和设备 Expired - Fee Related CN1147190C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE99019044 1999-05-26
SE9901904A SE516806C2 (sv) 1999-05-26 1999-05-26 Sätt för inladdning av programvara i en radioterminal, såsom en mobiltelefon, och tillhörande radioterminal

Publications (2)

Publication Number Publication Date
CN1364390A CN1364390A (zh) 2002-08-14
CN1147190C true CN1147190C (zh) 2004-04-21

Family

ID=20415736

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008107912A Expired - Fee Related CN1147190C (zh) 1999-05-26 2000-05-19 下载到无线终端的方法和设备

Country Status (6)

Country Link
JP (1) JP2003501907A (zh)
CN (1) CN1147190C (zh)
AU (1) AU4968800A (zh)
DE (1) DE10084626T1 (zh)
SE (1) SE516806C2 (zh)
WO (1) WO2000074412A1 (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2359908B (en) * 2000-03-04 2004-09-15 Motorola Inc Communication system architecture and method of controlling data download to subscriber equipment
IT1321121B1 (it) * 2000-12-20 2003-12-30 Cselt Centro Studi Lab Telecom Procedimento e dispositivo di selezione casuale di un operatore ditelefonia mobile per telefoni cellulari.
US20020083160A1 (en) * 2000-12-21 2002-06-27 Don Middleton Method and apparatus for managing applications and data in a mobile device
JP3607208B2 (ja) * 2001-02-26 2005-01-05 株式会社東芝 無線端末の認定試験システム
US7734285B2 (en) * 2001-04-03 2010-06-08 Qualcomm Incorporated Method and apparatus for network initiated uninstallation of application program over wireless network
ITMI20010882A1 (it) * 2001-04-27 2002-10-27 Siemens Inf & Comm Networks Stazione ricetrasmittente di un sistema di comunicazione cellulare con un'interfaccia configurabile per un'unita' periferica e procedimento
US7386846B2 (en) 2001-07-26 2008-06-10 Kyocera Wireless Corp. System and method for the management of wireless communications device system software downloads in the field
JP4104546B2 (ja) * 2001-07-26 2008-06-18 キョウセラ ワイヤレス コープ. 現場更新可能な無線通信デバイスソフトウェアを組織化するシステムおよび方法
US7159214B2 (en) 2001-07-26 2007-01-02 Kyocera Wireless Corp. System and method for compacting field upgradeable wireless communication device software code sections
US7184759B2 (en) 2001-07-26 2007-02-27 Kyocera Wireless Corp. Modular software components for wireless communication devices
US7027806B2 (en) 2001-07-26 2006-04-11 Kyocera Wireless, Corp. System and method for field downloading a wireless communications device software code section
US7143407B2 (en) 2001-07-26 2006-11-28 Kyocera Wireless Corp. System and method for executing wireless communications device dynamic instruction sets
US9554268B2 (en) 2001-07-26 2017-01-24 Kyocera Corporation System and method for updating persistent data in a wireless communications device
US6961537B2 (en) 2001-08-10 2005-11-01 Kyocera Wireless Corp. System and method for peer-to-peer handset communication
US7743115B2 (en) * 2002-02-27 2010-06-22 Motorola, Inc. Software content downloading methods in radio communication networks
JP2004005006A (ja) * 2002-03-27 2004-01-08 Nec Corp 移動通信端末装置の辞書追加方法
EP1395074A1 (de) * 2002-08-30 2004-03-03 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Endgerätes in einem Funkkommunikationssystem, Funkkommunikationssystem, Endgerät und Bestätigungseinheit für ein Funkkommunikationssystem
US7359698B2 (en) 2003-09-08 2008-04-15 Kyocera Wireless Corp. Systems and methods for enhanced over-the-air programming
JP4459905B2 (ja) * 2003-12-22 2010-04-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 無線機器の無線伝送によるソフトウェアのダウンロードと更新
EP1560446B1 (en) * 2004-01-27 2008-04-23 Research In Motion Limited Method and device for updating non-volatile memory items on a wireless device by checking and comparing a unique identifier item stored in said memory with a software identifier
US8418162B2 (en) 2004-01-27 2013-04-09 Research In Motion Limited Network delivered dynamic persistent data
US7222340B2 (en) 2004-01-27 2007-05-22 Research In Motion Limited Software-delivered dynamic persistent data
ATE415062T1 (de) * 2004-01-27 2008-12-15 Research In Motion Ltd Verfahren und gerät zur aktualisierung nichtflüchtiger speicherinhalte auf einem schnurlosen gerät durch überprüfen und vergleich eines spezifischen, in besagtem speicher abgelegten identifikations-elements mit einer software-identifikation
WO2006000122A1 (fr) * 2004-06-23 2006-01-05 Zte Corporation Procede de mise en concordance de version sur systeme de communications mobiles
GB2425193B (en) * 2005-04-14 2007-10-17 Nec Technologies Method of software updating and related device
JP2008299709A (ja) * 2007-06-01 2008-12-11 Nec Corp ファームウェア更新システム、ネットワーク接続機器、ファームウェア更新方法及びプログラム
CN102014419A (zh) * 2009-09-09 2011-04-13 苏州工业园区科升通讯有限公司 采用终端手机进行2g与3g网络测试的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155837A (en) * 1989-03-02 1992-10-13 Bell Communications Research, Inc. Methods and apparatus for software retrofitting
EP0767426B1 (de) * 1995-10-05 2014-01-01 Gigaset Communications GmbH Verfahren zur Programmierung eines Gerätes
FI955188A (fi) * 1995-10-30 1997-06-24 Nokia Telecommunications Oy Matkaviestimen ohjelmiston ylläpito
US5956481A (en) * 1997-02-06 1999-09-21 Microsoft Corporation Method and apparatus for protecting data files on a computer from virus infection
DE19741703C2 (de) * 1997-09-22 2000-02-24 Siemens Ag Verfahren zum Laden von Betriebssoftware sowie Mobiltelefon hierfür

Also Published As

Publication number Publication date
JP2003501907A (ja) 2003-01-14
AU4968800A (en) 2000-12-18
CN1364390A (zh) 2002-08-14
SE9901904L (sv) 2000-11-27
SE516806C2 (sv) 2002-03-05
DE10084626T1 (de) 2002-05-16
SE9901904D0 (sv) 1999-05-26
WO2000074412A1 (en) 2000-12-07

Similar Documents

Publication Publication Date Title
CN1147190C (zh) 下载到无线终端的方法和设备
US9703542B2 (en) Preinstalled application management method for mobile terminal and mobile terminal
CN100351779C (zh) 利用配置管理器的回滚与安全特性在移动计算设备上安装软件
KR100915564B1 (ko) 실행하는 동안 애플리케이션을 업그레이드하기 위한 방법,소프트웨어 및 장치
US7934210B1 (en) System and method for updating one or more programs and their environment
CN1089538C (zh) 软件的灵活下载
CN1252951C (zh) 节点b单板软件下载及升级方法
US20040188511A1 (en) System to automatically process components on a device
CN1585926A (zh) 软件更新方法、设备和系统
CA2457098A1 (en) System for updating software in a wireless device
US20070197202A1 (en) System and method for application auto-disable/restore enhancement
CN1886976A (zh) 用于使用动作列表及版本控制对一无线装置执行动作的方法、软件及设备
CN101034348A (zh) 软件组件管理装置和方法
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
CN1666176A (zh) 软件下载-接收器
US20040188510A1 (en) System for registry-based automatic installation and component handling on a device
CN113961224B (zh) 基于Android端的应用程序更新方法及系统
CN1567232A (zh) 嵌入式系统的测试装置及测试方法
CN107608698B (zh) 一种命令行工具更新方法及装置
CN112463208A (zh) 版本管理方法及装置、电子设备、存储介质
CN116955061A (zh) 引擎资源的内存占用更新方法、装置、设备及存储介质
CN101069155A (zh) 用于执行期间的应用程序升级的方法、软件和装置
CN116301765A (zh) 一种基于Git工作流的图片压缩方法、装置、设备及介质
AU2002356071A1 (en) System for updating software in a wireless device

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee