JP4602644B2 - 通信端末装置およびアプリケーションプログラム - Google Patents

通信端末装置およびアプリケーションプログラム Download PDF

Info

Publication number
JP4602644B2
JP4602644B2 JP2003091295A JP2003091295A JP4602644B2 JP 4602644 B2 JP4602644 B2 JP 4602644B2 JP 2003091295 A JP2003091295 A JP 2003091295A JP 2003091295 A JP2003091295 A JP 2003091295A JP 4602644 B2 JP4602644 B2 JP 4602644B2
Authority
JP
Japan
Prior art keywords
application program
execution
management software
control unit
communication terminal
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
JP2003091295A
Other languages
English (en)
Other versions
JP2004302517A (ja
Inventor
雅之 津田
淳樹 富岡
信之 渡邉
易憲 服部
直樹 成瀬
裕一 市川
真和 西田
真生 浅井
達郎 大井
理人 竹下
和宏 山田
大 神谷
諭 鷲尾
直樹 山根
圭一 村上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Priority to JP2003091295A priority Critical patent/JP4602644B2/ja
Priority to TW093108409A priority patent/TWI297997B/zh
Priority to CNB200410032229XA priority patent/CN100393155C/zh
Priority to US10/811,060 priority patent/US7401127B2/en
Priority to EP04007536A priority patent/EP1471426A3/en
Publication of JP2004302517A publication Critical patent/JP2004302517A/ja
Application granted granted Critical
Publication of JP4602644B2 publication Critical patent/JP4602644B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

【0001】
【発明の属する技術分野】
通信端末装置に記憶されているアプリケーションプログラムをバージョンアップする技術に関する。
【0002】
【従来の技術】
例えば、ゲーム機能やスケジューラ機能などの様々なアプリケーションを実現するためのアプリケーションプログラムを実行可能な携帯電話機などの通信端末装置がある。この種の通信端末装置のユーザはインターネットに接続されたコンテンツサーバから所望のアプリケーションプログラムをダウンロードし利用することができる。
【0003】
このようなアプリケーションプログラムを提供するコンテンツプロバイダ(以下、「CP」と称する)は、過去に提供したアプリケーションプログラムに対して不具合の修正や新たな機能追加を行った新たなアプリケーションプログラムを提供することがある。以下では、前者を旧アプリケーションプログラムと称し、後者を新アプリケーションプログラムと称する。旧アプリケーションプログラムを利用しているユーザは、新アプリケーションプログラムを利用することを所望する場合には、この新アプリケーションプログラムをダウンロードし、通信端末装置に記憶させている旧アプリケーションプログラムを新アプリケーションプログラムで上書きする必要がある。以下では、新アプリケーションプログラムをダウンロードし、この新アプリケーションプログラムで旧アプリケーションプログラムを上書きすることをバージョンアップと称する。
【0004】
しかしながら、新アプリケーションプログラムが提供される度に、上記バージョンアップを行うことはユーザにとって甚だ不便である。その理由は、ユーザは新アプリケーションプログラムがいつ提供されるかを事前に知ることができないため、例えば定期的に新アプリケーションプログラムが提供されているか否かをCPに問い合わせるなどしなければならないからである。
【0005】
このような不便さを解消する技術として、特許文献1に開示されている技術がある。特許文献1に開示されている技術によれば、新アプリケーションプログラムを提供する際に、旧アプリケーションプログラムを記憶している通信端末装置に対して、CPが前者で後者を上書きするため、このような不便さが解消される。
【0006】
【特許文献1】
特開2001−53882号公報
【0007】
【発明が解決しようとする課題】
ところで、CPからアプリケーションプログラムの提供を受けた全てのユーザが上述したようなバージョンアップを所望している訳ではない。CPがアプリケーションプログラムのバージョンアップを行おうとするときに、既にそのアプリケーションプログラムの利用を取りやめているユーザもいるからである。
【0008】
一方、CPにとっても、そのCPからアプリケーションプログラムの提供を受けた全てのユーザについて、アプリケーションプログラムのバージョンアップを行うのではなく、実際にそのアプリケーションプログラムを利用しているユーザについてのみバージョンアップを行うことが望ましい。その理由は、ユーザの通信端末装置と通信しアプリケーションプログラムのバージョンアップを行う際にコンテンツサーバに掛かる負荷は、アプリケーションプログラムの更新が必要な通信端末装置の数に比例して高くなるからである。
【0009】
しかしながら、特許文献1に開示されている技術では、通信端末装置に記憶されているアプリケーションプログラムがユーザに利用されているか否かに拘わらず、そのアプリケーションプログラムのバージョンアップが行われるといった問題点がある。このような問題点を解決するための方策として、CP側からアプリケーションプログラムのバージョンアップを行う際に、アプリケーションプログラムのバージョンアップを許可するか否かをユーザに問合せ、ユーザに許可された場合にのみバージョンアップを行うことが考えられる。しかしながら、ユーザにとっては、もはや利用していないアプリケーションプログラムについて、このような問合せに一々応答することは煩わしく、甚だ不便である。
【0010】
本発明は上記課題に鑑みてなされたものであり、実際にユーザに利用されているアプリケーションプログラムのみをバージョンアップする技術を提供することを目的としている。
【0011】
【課題を解決するための手段】
上記課題を解決するために、本発明は、アプリケーションプログラムの提供元と通信網を介して通信する通信手段と、特定のコマンドを内包したアプリケーションプログラムを実行する実行手段と、前記特定のコマンドが前記実行手段により実行された場合に、該アプリケーションプログラムの実行をサスペンドするサスペンド手段と、前記サスペンド手段により実行をサスペンドされたアプリケーションプログラムの提供元と前記通信手段により通信し該アプリケーションプログラムのバージョンアップを行うバージョンアップ手段とを有する通信端末装置を提供する。
【0012】
本発明に係る通信端末装置によれば、該通信端末装置でアプリケーションプログラムの実行中に該アプリケーションプログラムに内包されている特定のコマンドが実行された場合に、該アプリケーションプログラムの実行がサスペンドされ、該アプリケーションプログラムのバージョンアップが行われる。
【0013】
また、上記課題を解決するために、本発明は、コンピュータ装置に、アプリケーションプログラムの提供元と通信網を介して通信する通信手段と、特定のコマンドを内包したアプリケーションプログラムを実行する実行手段と、前記特定のコマンドが前記実行手段により実行された場合に、該アプリケーションプログラムの実行をサスペンドするサスペンド手段と、前記サスペンド手段により実行をサスペンドされたアプリケーションプログラムの提供元と前記通信手段により通信し該アプリケーションプログラムのバージョンアップを行うバージョンアップ手段とを実現させるためのプログラムを提供する。
【0014】
本発明に係るプログラムによれば、該プログラムに従って作動するコンピュータ装置でアプリケーションプログラムの実行中に該アプリケーションプログラムに内包されているバージョンアップメソッドが実行された場合に、該アプリケーションプログラムの実行がサスペンドされ、該アプリケーションプログラムのバージョンアップが行われる。
【0015】
【発明の実施の形態】
以下、図面を参照しつつ本発明の実施形態について説明する。
【0016】
[A.構成]
(1:通信システムの構成)
図1は、本実施形態に係る通信端末装置10を有する通信システムの全体構成の一例を示す図である。図1に示されるコンテンツサーバ40は、一般的なコンピュータ装置と同一の構成を有するものであり、インターネット30に接続されている。このコンテンツサーバ40は、通信端末装置10へ提供するためのアプリケーションプログラムをそのアプリケーションプログラムの提供を開始した日時を示すデータ(以下「提供日時データ」と称する)と対応づけて記憶している。このアプリケーションプログラムは、オブジェクト指向のプログラム言語の一つであるJava(登録商標)で記述されている(以下、「JavaAPP」と称する)。このJavaAPPは、後述するJava実行環境で解釈および実行可能なJavaバイトコードで構成されている。
【0017】
移動パケット通信網20は、当該移動パケット通信網20に収容される通信端末装置10に対して、パケット通信サービスを提供するためのものである。この移動パケット通信網20は、基地局21とゲートウェイ(以下、「GW」と称する)装置22とを有している。基地局21は、移動パケット通信網20のサービスエリア内に多数設置されている。この基地局21は、一定の広さ(例えば、当該基地局21を中心とする半径500メートルの範囲)を有する無線セルを形成し、この無線セルに在圏する通信端末装置10と無線通信を行うためのものである。GW装置22は、移動パケット通信網20における通信プロトコルとインターネット30における通信プロトコルとを相互変換し、移動パケット通信網20とインターネット30との間の通信を仲介するためのものである。
【0018】
通信端末装置10は、Java実行環境を備えた携帯電話機である。この通信端末装置10は、移動パケット通信網20とインターネット30とを介してコンテンツサーバ40からJavaAPPをダウンロードすることができ、予め定められた個数(例えば、30個)のJavaAPPを記憶することができる。本実施形態では、通信端末装置10には、時計機能を実現するためのJavaAPPが記憶されているものとする。具体的には、このJavaAPPを実行することにより、通信端末装置10は図2に示されるフローチャートに従った動作を行い、図3に示す表示画面を表示部に表示させる。そして、このJavaAPPは、自身をバージョンアップさせるためのコマンドを内包したバージョンアップメソッドを有している。このバージョンアップメソッドが呼出され、このコマンドが実行されると、このJavaAPPのバージョンアップが行われる。なお、通信端末装置10に記憶されているJavaAPPは、このような時計機能を実現するものに限定されるものではなく、ゲーム機能やスケジューラ機能などを実現するためのJavaAPPであっても勿論良い。
【0019】
(2:通信端末装置10の構成)
次に、通信端末装置10のハードウェア構成を、図4を参照しつつ説明する。図4に示されるように、通信端末装置10は、制御部410と、表示部420と、操作部430と、計時部440と、無線通信部450と、記憶部460と、これら各構成要素間のデータ授受を仲介するバス470とを有している。
【0020】
制御部410は、例えばCPU(Central Processing Unit)であり、記憶部460に格納されているソフトウェアを実行することにより通信端末装置10の各部を制御するものである。表示部420は、例えば液晶ディスプレイとその駆動回路であり、制御部410から引渡された画像データに応じた画像を表示する。操作部430は、数字や文字、操作指示などをユーザに入力させるための複数の操作子を備えており、これらの操作子の操作内容に応じたデータを制御部410へ引渡す。計時部440は、計時機能を備えており、現在日時を示す現在日時データを制御部410へ供給するものである。
【0021】
無線通信部450は、図示せぬアンテナを備えており、通信端末装置10の在圏する無線セルを形成する基地局21と無線通信するためのものである。この無線通信部450は、基地局21から送信されてくるデータを受信し、受信したデータを制御部410へ引渡すと共に、制御部410から引渡されたデータを基地局21へ送出する。
【0022】
記憶部460は、揮発性記憶部461と不揮発性記憶部462とを有している。揮発性記憶部461は、例えばRAM(Random Access Memory)であり、ソフトウェアを実行中の制御部410によりワークエリアとして使用される。不揮発性記憶部462は、例えばEEPROM(Electrically Erasable Programmable Read Only Memory)であり、コンテンツサーバ40からダウンロードしたJavaAPPを格納するためのプログラム格納領域462aを有している。この不揮発性記憶部462は、上記JavaAPPの他に、オペレーティングシステム(以下、「OS」という)を実現するためのOSソフトウェアや、Java実行環境を構築するためのソフトウェアを格納している。また、不揮発性記憶462には、基地局21と無線通信可能であるか否かを制御部410に判定させるための閾値が格納されている。制御部410は、無線通信部450を介して基地局21から受信した電波の電波強度を示す値とこの閾値とを比較することにより、基地局21を介してコンテンツサーバ40と通信可能であるか否かを判定することができる。
【0023】
まず、プログラム格納領域462aについて図5を参照しつつ説明する。図5に示されるように、プログラム格納領域462aには、上述したJavaAPPを内包するJAR(Java ARchive)ファイルと、このJARファイルをダウンロードした日時を示すデータ(以下、「ダウンロード日時データ」と称する)とを対応付けて格納するための領域が31組設けられている。JARファイルとは、JavaAPPの本体プログラム(Javaバイトコードで記述されたプログラム)と、このプログラムを実行する際に使用される画像データを格納した画像ファイルや音声データを格納した音声ファイルなどの、いわゆる「リソース」を1つにまとめたファイルである。なお、通信端末装置10に記憶可能なJavaAPPの個数が30個であることに対して、プログラム格納領域462a内に31組の領域が設けられている理由は、31番目の領域をJavaAPPのバージョンアップの際にワークエリアとして使用するためである。以下では、この31番目の領域を「予備エリア」と称する。
【0024】
次に、Java実行環境を構築するために通信端末装置10に組み込まれているソフトウェアについて図6を参照しつつ説明する。図6は、通信端末装置10におけるJava実行環境を説明するための図である。この図に示されるように、通信端末装置10には、J2ME(Java 2 platform Micro Edition)に準拠したJava実行環境を実現するためのソフトウェアが組み込まれている。ここで、J2MEとは、小型電子器機向けに定められたJava実行環境の規格である。この通信端末装置10に組み込まれたソフトウェアには、KVMと、CLDC(Connected Limited Device Configuration)クラスライブラリと、オリジナルJava拡張プロファイルと、JAM(Java Application Manager)とが含まれている。なお、本実施形態では、J2MEに準拠したJava実行環境を有する通信端末装置10に本発明を適用する場合について説明するが、J2SE(Java2 Standard Edition)やJ2EE(Java2 Enterprise Edition)に準拠したJava実行環境を有する通信端末装置に本発明を適用するとしても勿論良い。J2SEとは、パーソナルコンピュータ装置(以下、「PC」と称する)向けに定められたJava実行環境の規格であり、J2EEとは、例えばコンテンツサーバ40のようなサーバ装置向けに定められたJava実行環境の規格である。
【0025】
KVMは、JVMの1種であり、携帯電話機やPDA(Personal Digital Assistance)等の小型電子機器用に設計されている。JVMとは、JavaAPPを構成しているJavaバイトコードを制御部410が解釈可能なマシン語コードに変換し、制御部410に実行させるためのものである。また、CLDCクラスライブラリは、携帯電話機やPDAなどの小型電子器機向けの汎用的な機能を提供するためのクラスライブラリである。
【0026】
オリジナルJava拡張プロファイルは、CLDCクラスライブラリを基礎として携帯電話機に特化した機能を提供するためのクラスライブラリである。このオリジナルJava拡張プロファイルには、例えば、ユーザインタフェイスAPI(Application Program Interface)、ネットワーキングAPI、スクラッチパッドAPIなどが含まれている。JavaAPPを実行中の制御部410は、そのJavaAPPを構成するJavaバイトコードに従って、これらAPIを呼出すことにより、これらAPIの提供する機能を利用することができる。
【0027】
ユーザインタフェイスAPIとは、通信端末装置10のユーザインタフェイス機能をサポートするためのAPIである。ネットワーキングAPIとは、URL(Uniform Resource Locator)により指定されたネットワークリソースへアクセスするためのAPIである。スクラッチパッドAPIとは、スクラッチパッドに対する書き込みや読み出しをサポートするためのAPIである。なお、スクラッチパッドとは、詳細な図示は省略したが、不揮発性記憶部462内に設けられた記憶領域である。このスクラッチパッドには、JavaAPPの実行に応じて発生するデータが格納される。なお、詳細な図示は省略したが、通信端末装置10は、上述したCLDCクラスライブラリやオリジナルJava拡張プロファイルの他に、メーカ独自拡張ライブラリを有している。このメーカ独自拡張ライブラリは、通信端末装置10の製造者がそれぞれ独自の機能を提供するためのクラスライブラリである。
【0028】
JAMは、OSによる制御の下で、通信端末装置10に記憶されているJavaAPPの管理を行うためのソフトウェアである。具体的には、制御部410は、JavaAPPの管理を行うために、JAMに従いJavaAPPのインストールやバージョンアップ、削除を行う機能、プログラム格納領域462aに格納されているJavaAPPの名称をリスト表示する機能、JavaAPPの実行管理を行う機能を営む。JavaAPPをインストールする機能とは、コンテンツサーバ40からダウンロードしたJavaAPPをプログラム格納領域462aへ書き込む機能である。JavaAPPをバージョンアップする機能とは、コンテンツサーバ40から新JavaAPPをダウンロードするとともに、プログラム格納領域462aに格納されている旧JavaAPPをこの新JavaAPPで上書きする機能である。
【0029】
JavaAPPの実行管理を行う機能とは、JavaAPPの実行の開始および終了を行う機能である。より詳細に説明すると、ユーザにJavaAPPの実行を指示されると、まず、制御部410はJAMに従ってそのJavaAPPを実行するためのワークエリアを揮発性記憶部461内に確保する。このワークエリアには、ユーザに実行を指示されたJavaAPPを構成するJavaバイトコードが展開されたり、JavaAPPを実行中にユーザにより入力されたデータが格納される。次に、制御部410は、そのJavaAPPを構成しているJavaバイトコードを揮発性記憶部461内に確保したワークエリアへ展開し、そのJavaバイトコードをKVMに従って解釈し実行する。そして、ユーザにJavaAPPの終了を指示されると制御部410は、KVMによるJavaバイトコードの解釈および実行を終了するとともに、そのJavaAPPを実行するために揮発性記憶部461内に確保したワークエリアを開放し、そのJavaAPPの実行を終了する。
【0030】
また、制御部410は、JAMに従ってJavaAPPの実行をサスペンドすることや、サスペンドされているJavaAPPの実行をレジュームすることができる。JavaAPPの実行をサスペンドするとは、そのJavaAPPを構成するJavaバイトコードを揮発性記憶部461へ展開したままで、そのJavaバイトコードの解釈および実行を中断することである。このように、JavaAPPの実行がサスペンドされる場合には、そのJavaAPPを実行するために確保されたワークエリアの開放は行われない。このため、サスペンドされるまでにユーザにより入力されたデータが保持される。また、サスペンドされているJavaAPPの実行をレジュームするとは、そのJavaAPPを構成するJavaバイトコードの解釈および実行をサスペンドされた時点から再開することである。
【0031】
[B.動作]
次に、本実施形態に係る通信端末装置10の制御部410が行う動作のうち、本通信端末装置10の特徴を顕著に示す動作についてのみ図を参照しつつ説明する。なお、以下に説明する動作例の前提として、通信端末装置10に記憶されているJavaAPPは、2002年11月1日にダウンロードされたものとする(図5参照)。このJavaAPPに対して、図3に示される表示画面に替えて、図7に示される表示画面を表示させるように修正された新たなJavaAPPの提供がコンテンツサーバ40を運営するCPにより2002年11月20日から開始されたものとする。以下では、図2に示される表示画面を表示させるJavaAPP(すなわち、通信端末装置10に記憶されているJavaAPP)を「旧JavaAPP」と称し、図7に示される表示画面を表示させるJavaAPPを「新JavaAPP」と称する。そして、2002年11月21日に通信端末装置10のユーザが、上記旧JavaAPPを実行したものとする。
【0032】
(1:JavaAPPに従って制御部410が行う動作)
まず、制御部410が、旧JavaAPPに従って行う動作について図2を参照しつつ説明する。図2に示されるように、制御部410は、まず、計時部440から現在日時データを取得し(ステップSA1)、この現在日時データで示される日時が所定の日時であるか否かを判定する(ステップSA2)。
【0033】
ステップSA2の判定結果が“No”である場合には、制御部410は、ステップSA1にて取得した現在日時データに基づいて図3に示す表示画面を表示部420に表示(ステップSA3)させ、後続するステップSA6の処理を行う。逆に、ステップSA2の判定結果が“Yes”である場合には、制御部410は、この旧JavaAPPのバージョンアップが必要か否かを判定する(ステップSA4)。具体的には、制御部410は、このJavaAPPの提供日時データをコンテンツサーバ40から取得し、プログラム格納領域462aに格納されているダウンロード日時データと比較する。そして、前者が後者よりも後の日時を示す場合には、バージョンアップ必要と判定し、逆に、前者が後者以前の日時を示す場合にはバージョンアップ不要と判定する。
【0034】
ステップSA4の判定結果が“Yes”である場合には、制御部410は、このJavaAPPに内包されているバージョンアップメソッドを実行する(ステップSA5)。なお、バージョンアップメソッドが実行された後の制御部410の動作については、後述する。逆に、ステップSA4の判定結果が“No”である場合には、制御部410は、上述したステップSA3の処理を行う。本動作例では、前者は「2002年11月20日」を示しており、後者は「2002年11月1日」を示しているから、制御部410はステップSA4にて「バージョンアップ必要」と判定する。
【0035】
ステップSA3に後続するステップSA6では、制御部410は、ユーザにより旧JavaAPPの実行を終了することを指示されたか否かを判定する。ステップS6の判定結果が“Yes”である場合には、制御部410は、旧JavaAPPの実行を終了し、逆に、ステップSA6の判定結果が“No”である場合には、制御部410は、上述したステップSA1以降の処理を繰り返し実行する。
【0036】
なお、本実施形態では、旧JavaAPPを実行中の制御部410が、その旧JavaAPPをバージョンアップする必要があるか否かを定期的に判定し、JavaAPPをバージョンアップ必要と判定した場合にのみ、バージョンアップメソッドを実行する場合について説明した。しかしながら、制御部410がバージョンアップメソッドを実行する契機は、このような態様に限定されるものではない。例えば、JavaAPPを実行中に、コンテンツサーバ40から送信されてくる通信メッセージであって、そのJavaAPPをバージョンアップ可能である旨の通信メッセージを受信した場合に、上記バージョンアップメソッドを制御部410に実行させるとしても良い。
【0037】
(2:バージョンアップメソッドが実行された場合の制御部410の動作)
次に、上記バージョンアップメソッドが実行された場合に、制御部410がJAMに従って行う動作について図8を参照しつつ説明する。図8は、上記バージョンアップメソッドが実行された場合に、JAMによる制御部410が行う動作の流れを示すフローチャートである。
【0038】
図8に示されるように、制御部410は、まず、旧JavaAPPの実行をサスペンド(ステップSB1)し、この旧JavaAPPのバージョンアップを完遂できるか否かを判定する(ステップSB2)。具体的には、制御部410は基地局21との間の無線通信の電波強度を検出し、検出した電波強度の値と不揮発性記憶部462に格納されている閾値とを比較し、前者が後者より大きい場合には、JavaAPPのバージョンアップを完遂できると判定し、逆に前者が後者より小さい場合には、JavaAPPのバージョンアップを完遂できないと判定する。
【0039】
ステップSB2の判定結果が“No”である場合には、制御部410は、ステップSB1にてサスペンドされたJavaAPPの実行をレジュームし(ステップSB3)、バージョンアップ動作を完了する。逆に、ステップSB2の判定結果が“Yes”である場合には、制御部410は、コンテンツサーバ40から新JavaAPPをダウンロードし、ダウンロードした新JavaAPPを予備エリアへ格納する(ステップSB4)。このように、基地局21から送信されてくる電波の電波強度が所定の閾値以下である場合に、新JavaAPPのダウンロードを行わない理由は、このような場合には、新JavaAPPのダウンロード中に無線通信不能になり、新JavaAPPのダウンロードを失敗する虞があるからである。以下、本動作例においては、通信端末装置10と基地局21との間の電波強度が所定の閾値より大きい場合について説明する。すなわち、上述したステップSB4の処理が行われる。なお、本実施形態では、ステップSB2の判定結果が“Yes”である場合には、即座に新JavaAPPのダウンロードを行う場合について説明したが、新JavaAPPのダウンロードを行うか否かをユーザに確認させ、新JavaAPPのダウンロードを行うことをユーザに指示された場合にのみ、上記ステップSB4を行うとしても勿論良い。
【0040】
ステップSB4に後続するステップSB5では、制御部410は、新JavaAPPのダウンロードが正常に終了したか否かを判定する。そして、ステップSB5の判定結果が“Yes”である場合には、制御部410は、ステップSB1にてサスペンドした旧JavaAPPの実行を終了し(ステップSB6)、旧JavaAPPを新JavaAPPで上書きする。逆に、ステップSB5の判定結果が“No”である場合には、上述したステップSB3の処理を行い、バージョンアップ動作を完了する。このように、新JavaAPPのダウンロードが正常に終了した場合にのみ、旧JavaAPPを新JavaAPPで上書きする理由は、新JavaAPPのダウンロードが正常に終了しなかった場合に、このような上書きを行うと、そのJavaAPPを正常に実行できない虞があるからである。なお、新JavaAPPのダウンロードが正常に終了しない場合としては、ユーザにより新JavaAPPのダウンロードが中止された場合や、新JavaAPPのダウンロード中に基地局21と無線通信不能になった場合などが挙げられる。以下、本動作例では、新JavaAPPのダウンロードが正常に終了した場合についてのみ説明する。
【0041】
ステップSB6に後続するステップSB7では、制御部410はステップSB4で予備エリアへ格納した新JavaAPPでプログラム格納領域462a内に格納されている旧JavaAPPを書き換え(ステップSB7)、その新JavaAPPを実行する(ステップSB8)。このようにしてバージョンアップされた新JavaAPPを実行することにより、通信端末装置10の表示部220には、図7に示す表示画面が表示される。
【0042】
以上説明したように、本実施形態に係る通信端末装置10は、旧JavaAPPを実行中にバージョンアップメソッドを呼出すことにより、実行中の旧JavaAPPを新JavaAPPへバージョンアップすることができる。これにより、ユーザに実際に利用されるJavaAPPのみのバージョンアップが行われる。
【0043】
[C.変形例]
以上、本発明の実施形態について説明したが、本発明は係る実施形態に限定されるものではなく、その技術思想の範囲内で様々な変形が可能である。なお、変形例としては、例えば、以下のようなものが考えられる。
【0044】
(変形例1)上述した実施形態では、基地局21から送信されてくる電波の電波強度を示す値が予め定められた閾値より大きい場合にのみ、JavaAPPのバージョンアップを完遂できると判定する場合について説明した。しかしながら、通信端末装置10の制御部410が、JavaAPPのバージョンアップを完遂できるか否かを判定するための基準となる情報は、係る電波強度を示す値に限定されるものではない。例えば、通信端末装置10に内蔵されている電池の電池残量であっても良い。このように電池残量に基づいてバージョンアップを開始するか否かを判定する理由は、以下のとおりである。
【0045】
一般に、携帯電話機などの移動通信端末装置は、自装置に内蔵している電池から動作電力の供給を受けている。このため、電池残量が十分でない場合にJavaAPPのバージョンアップを開始してしまうと、そのバージョンアップが完了する前に電池が放電しきってしまうことがあり得る。このような場合には、移動通信端末装置は、もはや動作不能でありバージョンアップを完遂することができなくなる。バージョンアップを開始する前に、電池残量をチェックするようにすれば、このような事態の発生を回避することができる。
【0046】
(変形例2)上述した実施形態では、Java実行環境を有する携帯電話機に本発明を提供する場合について説明した。しかしながら、本発明の適用対象は係る携帯電話機に限定されるものではない。例えば、Java実行環境を備えたPDAやPHS(Personal Handyphone System:登録商標)端末であっても良く、Java実行環境を有するPCであって、図9に示されるように、GW装置50を介してインターネット30に接続されたLAN60を構成するPC70A〜70Cであっても良い。要は、Java実行環境を備えJAMに従ってJavaAPPを実行する機能とともに、通信網を介してコンテンツサーバ40と通信する機能を有するコンピュータ装置であれば、いずれであっても良い。
【0047】
なお、図9に示されるPC70A〜70Cで実行されているJavaAPPのバージョンアップを行う場合には、JavaAPPのバージョンアップを完了できるか否かを判定すること(図8:ステップSB2)や、ダウンロードが正常に終了したか否かを判定すること(図8:ステップSB5)は不要になる。これは、図9に示されるPC70A〜70Cは、LAN60を介してインターネット30へ有線接続されているために、常に、コンテンツサーバ40と通信することが可能であり、JavaAPPのバージョンアップを確実に完了できるからである。
【0048】
(変形例3)上述した実施形態では、Javaで記述されたアプリケーションプログラムを通信端末装置10に記憶させておく場合について説明した。しかしながら、係るアプリケーションプログラムを記述するプログラミング言語はJavaに限定されるものではない。例えば、C++で記述されたアプリケーションプログラムであっても良い。ただし、このような場合には、そのアプリケーションプログラムを記憶する通信端末装置に、そのアプリケーションプログラムの管理を行うためのソフトウェアをJAMに替えて記憶させておく必要がある。
【0049】
(変形例4)上述した実施形態では、実行中のJavaAPPをバージョンアップするためのソフトウェアを予め通信端末装置10に記憶させておく場合について説明した。しかしながら、一般的なコンピュータ装置に、本発明に係る通信端末装置の機能を実現するソフトウェアを記憶させることにより、係る通信端末装置と同一の機能を付与することができる。
【0050】
具体的には、コンピュータ装置読み取り可能な記録媒体であって、上記ソフトウェアを記録した記録媒体を用いて一般的なコンピュータ装置に係るソフトウェアをインストールすることにより、一般的なコンピュータ装置に本発明に係る通信端末装置と同一の機能を付与することができる。
【0051】
【発明の効果】
本発明によれは、実行中のアプリケーションプログラムがバージョンアップされる。そのため、ユーザが実際に利用するアプリケーションプログラムのみがバージョンアップされるといった効果を奏する。
【図面の簡単な説明】
【図1】 本発明に係る通信端末装置10を有する通信システムの構成例を示す図である。
【図2】 同通信端末装置10の制御部410がJavaAPPに従って行う動作の流れを説明するためのフローチャートである。
【図3】 同通信端末装置10の表示部420に表示される表示画面の一例を示す図である。
【図4】 同通信端末装置10の構成例を示す図である。
【図5】 同通信端末装置10のプログラム格納領域462aの一例を示す図である。
【図6】 同通信端末装置10に組み込まれているJava実行環境を説明するための図である。
【図7】 同通信端末装置10の表示部420に表示される表示画面の一例を示す図である。
【図8】 バージョンアップメソッドが呼出された場合に制御部410がJAMに従って行う動作の流れを説明するためのフローチャートである。
【図9】 変形例2に係る通信システムの構成例を示す図である。
【符号の説明】
10…通信端末装置、20…移動パケット通信網、21…基地局、22…GW装置、30…インターネット、40…コンテンツサーバ、410…制御部、420…表示部、430…操作部、440…計時部、450…無線通信部、460…記憶部、461…揮発性記憶部、462…不揮発性記憶部、462a…プログラム格納領域、470…バス。

Claims (6)

  1. アプリケーションプログラムの提供元と通信網を介して通信する通信手段と、
    バージョンアップメソッドを内包したアプリケーションプログラムおよび前記アプリケーションプログラムの管理を行う管理ソフトウェアを実行する制御手段と、
    記憶手段と
    を有し、
    前記制御手段は、前記アプリケーションプログラムを解釈および実行をし、前記アプリケーションプログラムに内包された前記バージョンアップメソッドを解釈および実行をした場合に、前記制御手段は、前記管理ソフトウェアを実行し、前記管理ソフトウェアに従い、前記アプリケーションプログラムを前記記憶手段に展開したままで、前記アプリケーションプログラムの解釈および実行を中断することにより前記アプリケーションプログラムの実行をサスペンドし、
    前記管理ソフトウェアに従い、前記アプリケーションプログラムの実行をサスペンドしたままで、前記実行をサスペンドされたアプリケーションプログラムの提供元と前記通信手段により通信し、前記アプリケーションプログラムのバージョンアップを行う
    ことを特徴とする通信端末装置。
  2. 前記制御手段は、前記管理ソフトウェアに従い、前記アプリケーションプログラムのバージョンアップが完了した後に、前記バージョンアップされたアプリケーションプログラムを実行する
    ことを特徴とする請求項1に記載の通信端末装置。
  3. 前記制御手段は、前記管理ソフトウェアに従い、前記実行をサスペンドされたアプリケーションプログラムのバージョンアップを完遂できるか否かを、前記通信手段を介して検出される電波強度に基づいて、前記バージョンアップを完遂する前に判定し、
    前記バージョンアップを完遂できないと判定した場合、前記制御手段は、前記管理ソフトウェアに従い、前記実行をサスペンドされたアプリケーションプログラムの実行をレジュームし、
    前記バージョンアップを完遂できると判定した場合、前記制御手段は、前記管理ソフトウェアに従い、前記アプリケーションプログラムをバージョンアップする
    ことを特徴とする請求項1に記載に通信端末装置。
  4. 電池を有し、
    前記制御手段は、前記管理ソフトウェアに従い、前記実行をサスペンドされたアプリケーションプログラムのバージョンアップを完遂できるか否かを、前記電池の残量に基づいて、前記バージョンアップを完遂する前に判定し、
    前記バージョンアップを完遂できないと判定した場合、前記制御手段は、前記管理ソフトウェアに従い、前記実行をサスペンドされたアプリケーションプログラムの実行をレジュームし、
    前記バージョンアップを完遂できると判定した場合、前記制御手段は、前記管理ソフトウェアに従い、前記アプリケーションプログラムをバージョンアップする
    ことを特徴とする請求項1に記載に通信端末装置。
  5. 前記制御手段は、前記管理ソフトウェアに従い、前記アプリケーションプログラムのバージョンアップを中止するべき事象の発生を検出し、
    前記アプリケーションプログラムのバージョンアップを完了する前に、前記事象の発生を検出した場合、前記制御手段は、前記管理ソフトウェアに従い、前記アプリケーションプログラムのバージョンアップを中止し、
    前記事象の発生を検出した場合、前記制御手段は、前記管理ソフトウェアに従い、前記実行をサスペンドされたアプリケーションプログラムの実行をレジュームする
    ことを特徴とする請求項1に記載の通信端末装置。
  6. 通信手段と制御手段と記憶手段とを有するコンピュータ装置において前記制御手段により実行され、バージョンアップメソッドを内包したアプリケーションプログラムであって、
    前記コンピュータ装置に、
    前記バージョンアップメソッドが前記制御手段により実行された場合に、前記制御手段に、前記アプリケーションプログラムの管理を行う管理ソフトウェアを実行させ、前記制御手段が、前記管理ソフトウェアに従い、前記アプリケーションプログラムを前記記憶手段に展開したままで、前記アプリケーションプログラムの解釈および実行を中断することにより前記アプリケーションプログラムの実行をサスペンドするステップと、
    前記アプリケーションの実行をサスペンドしたままで、前記制御手段が、前記管理ソフトウェアに従い、前記実行をサスペンドされたアプリケーションプログラムの提供元と前記通信手段により通信し、前記アプリケーションプログラムのバージョンアップを行うステップと
    を実行させるアプリケーションプログラム。
JP2003091295A 2003-03-28 2003-03-28 通信端末装置およびアプリケーションプログラム Expired - Fee Related JP4602644B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003091295A JP4602644B2 (ja) 2003-03-28 2003-03-28 通信端末装置およびアプリケーションプログラム
TW093108409A TWI297997B (en) 2003-03-28 2004-03-26 Communication terminal device and storage medium storing program
CNB200410032229XA CN100393155C (zh) 2003-03-28 2004-03-26 通信终端装置
US10/811,060 US7401127B2 (en) 2003-03-28 2004-03-26 Communication terminal device and program
EP04007536A EP1471426A3 (en) 2003-03-28 2004-03-29 Communication terminal device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003091295A JP4602644B2 (ja) 2003-03-28 2003-03-28 通信端末装置およびアプリケーションプログラム

Publications (2)

Publication Number Publication Date
JP2004302517A JP2004302517A (ja) 2004-10-28
JP4602644B2 true JP4602644B2 (ja) 2010-12-22

Family

ID=32959522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003091295A Expired - Fee Related JP4602644B2 (ja) 2003-03-28 2003-03-28 通信端末装置およびアプリケーションプログラム

Country Status (5)

Country Link
US (1) US7401127B2 (ja)
EP (1) EP1471426A3 (ja)
JP (1) JP4602644B2 (ja)
CN (1) CN100393155C (ja)
TW (1) TWI297997B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4417123B2 (ja) * 2003-02-19 2010-02-17 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置
CN100442901C (zh) * 2005-10-25 2008-12-10 华为技术有限公司 在设备管理中监控和升级软件的方法及装置
US9848081B2 (en) * 2006-05-25 2017-12-19 Celltrust Corporation Dissemination of real estate information through text messaging
CA2663007A1 (en) * 2006-09-08 2008-03-13 E-Max Gaming Corporation Wireless electronic gaming unit
US9262232B2 (en) * 2012-02-29 2016-02-16 Red Hat, Inc. Priority build execution in a continuous integration system
TWM439905U (en) * 2012-04-26 2012-10-21 Gigastone Corp Mobile power source device having card reading function
US20140173577A1 (en) * 2012-12-19 2014-06-19 Asurion, Llc Patchless update management on mobile devices
CN103077048B (zh) * 2012-12-28 2016-02-10 东莞宇龙通信科技有限公司 通信模块的运行参数更新方法及通信终端
KR20140122072A (ko) * 2013-04-09 2014-10-17 삼성전자주식회사 전자 장치에서 어플리케이션을 업데이트하기 위한 장치 및 방법
JP6351225B2 (ja) * 2013-09-02 2018-07-04 キヤノン株式会社 画像処理装置、情報処理システム、及びその制御方法、並びに情報処理装置と画像処理装置のプログラム
CH709804B1 (de) * 2014-06-23 2018-12-28 Legic Identsystems Ag Elektronische Zugangskontrollvorrichtung und Zugangskontrollverfahren.
US9952953B2 (en) 2015-11-02 2018-04-24 Microsoft Technology Licensing Llc Non-monotonic eventual convergence for desired state configuration
US10560356B2 (en) * 2016-07-14 2020-02-11 International Business Machines Corporation Assuring data correctness in non-stable network environment
CN107329778B (zh) * 2017-06-08 2021-01-12 Oppo广东移动通信有限公司 系统更新的方法及相关产品

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428671A (en) * 1992-11-09 1995-06-27 Compaq Computer Corporation Modem for tight coupling between a computer and a cellular telephone
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5802162A (en) * 1995-10-27 1998-09-01 Lucent Technologies Inc. Method for selectively changing the call handling capacity of a telecommunications switch
DE19543843C2 (de) * 1995-11-24 2001-02-08 Acer Peripherals Inc Verfahren zur Aktualisierung der Software in einem mikrocomputergestützten Telefon
CA2224420C (en) * 1997-02-26 2000-10-10 Amsc Subsidiary Corporation Computer architecture for service preemption for mobile terminals in a mobile satellite communications system
KR100287137B1 (ko) * 1997-04-11 2001-04-16 윤종용 휴대형 정보 단말기의 버전 관리방법
US6055426A (en) * 1997-06-17 2000-04-25 Highwaymaster Communications, Inc. Notification of a mobile unit out of coverage
US6275694B1 (en) * 1997-12-19 2001-08-14 Vlsi Technology, Inc. Method for remotely updating software code for personal handy phone system equipment
US6360363B1 (en) * 1997-12-31 2002-03-19 Eternal Systems, Inc. Live upgrade process for object-oriented programs
US6418555B2 (en) * 1998-07-21 2002-07-09 Intel Corporation Automatic upgrade of software
US6378069B1 (en) * 1998-11-04 2002-04-23 Nortel Networks Limited Apparatus and methods for providing software updates to devices in a communication network
JP2000218089A (ja) * 1999-01-29 2000-08-08 Kao Corp クリーニング装置
JP4296624B2 (ja) * 1999-03-01 2009-07-15 ソニー株式会社 データ受信装置
JP2000311143A (ja) * 1999-04-27 2000-11-07 Toshiba Tec Corp 携帯用端末システム及び携帯用端末装置並びにホスト装置
JP3562393B2 (ja) 1999-08-11 2004-09-08 日本電気株式会社 移動通信システム及びそれに用いるプログラムダウンロード方法
JP2001051851A (ja) 1999-08-17 2001-02-23 Nec Corp 携帯電子機器のプログラム変更システム及び方法
US6487393B1 (en) * 1999-10-04 2002-11-26 General Electric Company Method for data exchange with a mobile asset considering communication link quality
JP2001318795A (ja) * 2000-02-29 2001-11-16 Fujitsu Ltd アプレットの最新バージョン自動設定システム、及び自動設定方法
GB2369008B (en) * 2000-11-13 2002-09-11 Lucent Technologies Inc Radio telecommunications network user equipment and method of operation
JP2002281123A (ja) * 2001-03-19 2002-09-27 Matsushita Electric Ind Co Ltd メモリデータ編集可能な携帯端末装置、及び、メモリデータ編集プログラムを記憶した記録媒体
EP1289324A1 (en) * 2001-08-20 2003-03-05 Lucent Technologies Inc. Software upgrade of telecommunications user terminal

Also Published As

Publication number Publication date
EP1471426A3 (en) 2005-02-16
EP1471426A2 (en) 2004-10-27
US7401127B2 (en) 2008-07-15
TW200423775A (en) 2004-11-01
CN100393155C (zh) 2008-06-04
US20050021693A1 (en) 2005-01-27
TWI297997B (en) 2008-06-11
JP2004302517A (ja) 2004-10-28
CN1535061A (zh) 2004-10-06

Similar Documents

Publication Publication Date Title
JP4602644B2 (ja) 通信端末装置およびアプリケーションプログラム
US20190058789A1 (en) Method and apparatus for remote control and updating of wireless mobile devices
JP4565032B2 (ja) コンフィギュレーションマネージャのセキュリティ機能を使用してモバイルコンピューティングデバイスにソフトウェアをインストールする方法、システム、コンピュータプログラム
EP1697836B1 (en) Mobile device programming system and method
JP4205980B2 (ja) 端末装置およびプログラム
CA2604445C (en) A method and system for implementing customizable container services as component wireless applications
TWI228364B (en) Communication system, relay device and communication control method
US6684324B2 (en) Method for installing two or more operating systems/user interfaces into an electronic device and an electronic device
US20070169099A1 (en) Firmware update system for facilitating firmware update in mobile handset
EP1872230B1 (en) Centralized memory management in wireless terminal devices
US20060136548A1 (en) Method for managing use of storage region by application
EP1983430A1 (en) System and method for managing applications on a computing device having limited storage space
US7266370B2 (en) System and method for developing and deploying device independent applications
JPWO2008114491A1 (ja) アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
US8782636B2 (en) Information processing apparatus, control method thereof, and program
US20040015960A1 (en) Method for loading and executing an application in an embedded environment
JP2002297483A (ja) 移動体通信端末、移動体通信端末の通信方法及びプログラム
JP5108857B2 (ja) 表示制御装置及びプログラム
JP4180953B2 (ja) 通信装置及びプログラム
JP4138591B2 (ja) 端末装置
JP2004126736A (ja) 通信端末及び通信制御方法
TWI244615B (en) Terminal device and computer readable medium
JP2006318198A (ja) フラッシュロムへのダウンロード方法
JP4680485B2 (ja) 端末装置、プログラムおよび記録媒体
CN114356799A (zh) 数据存储方法、装置、系统与计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080508

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080523

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100902

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100930

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4602644

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees