JP2007026318A - 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法 - Google Patents

携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法 Download PDF

Info

Publication number
JP2007026318A
JP2007026318A JP2005210422A JP2005210422A JP2007026318A JP 2007026318 A JP2007026318 A JP 2007026318A JP 2005210422 A JP2005210422 A JP 2005210422A JP 2005210422 A JP2005210422 A JP 2005210422A JP 2007026318 A JP2007026318 A JP 2007026318A
Authority
JP
Japan
Prior art keywords
program
cpu
mobile phone
version
divided
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.)
Ceased
Application number
JP2005210422A
Other languages
English (en)
Inventor
Hideaki Asada
英昭 浅田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005210422A priority Critical patent/JP2007026318A/ja
Publication of JP2007026318A publication Critical patent/JP2007026318A/ja
Ceased legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 2つのCPUを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減できるようにする。
【解決手段】 携帯電話機200は、2つのCPU201,206と1つのROM207とを含み、2CPU構成の携帯電話機が本来備えるROMのうちの一方をなくした構成を採用する。ROM207は、CPU206用プログラムを格納するとともに、CPU201用プログラムを分割し圧縮した複数の分割圧縮プログラムを格納する。CPU206は、ROM207から各分割圧縮プログラムを読み出し、バス211を介してCPU201に転送する。また、CPU201は、転送された各分割圧縮プログラムを解凍し、RAM203に展開する。そして、CPU201は、RAM203に展開したCPU201用プログラムに従って処理を実行する。
【選択図】 図1

Description

本発明は、2つのCPUを搭載する携帯電話機に関する。また、本発明は、2つのCPUを搭載する携帯電話機が用いるプログラムを作成するプログラム作成方式及びプログラム作成方法に関する。更に、本発明は、2つのCPUを搭載する携帯電話機が用いるプログラムを更新するプログラム更新方式及びプログラム更新方法に関する。
携帯電話機が高機能化し、携帯電話機に多様なアプリケーションソフトウェアが搭載されるようになるに従って、携帯電話機の処理負担が増加している。そのため、2つのCPUを含む構成(以下、2CPU構成ともいう)を採用する携帯電話機が増えつつある。例えば、特許文献1には、2つのCPUを搭載し、搭載部品点数の増加及びCPUの処理負担を抑制してCPUのリセットを行うことが可能な携帯電話機が記載されている。
特開2003−316478号公報(段落0008−0013、図1−2)
図14は、2CPU構成を備えた携帯電話機の構成例を示すブロック図である。図14に示すように、携帯電話機900は、2つのCPU901,906と、2つのROM902,907と、2つのRAM903,908と、送受信部905と、LCD/KEY910とを含む。
CPU901とCPU906とはバス911を介して接続され、CPU901とCPU906とは、バス911を介して各種信号を送受信する。また、CPU901は、バス904を介して、ROM902、RAM903及び送受信部905に接続される。また、CPU906は、バス909を介して、ROM907、RAM908及びLCD/KEY910に接続される。
ROM902は、CPU901が用いるプログラムを格納するプログラム格納用メモリとして用いられる。また、ROM907は、CPU906が用いるプログラムを格納するプログラム格納用メモリとして用いられる。RAM903は、CPU901の作業用メモリとして用いられる。また、RAM908は、CPU906の作業用メモリとして用いられる。
送受信部905は、アンテナ91を介して無線信号を送受信し、送受信するデータを処理する回路である。LCD/KEY910は、各種情報をLCD表示部等の表示部に表示させたり、キー操作部等の入力部からの入力を制御する回路である。
図14に示すように、2CPU構成を用いる場合、携帯電話機900は、CPU901,906毎に、プログラムを格納するためのROM902,907及び作業用のRAM903,908を備えなければならない。そのため、携帯電話機900のコスト(価格)が高くなってしまう。
携帯電話機900のコストを低減するために、携帯電話機900の起動時に、2つのCPU901,906のうちの一方が、他方のCPUにプログラムを転送するようにすることが考えられる。この場合、例えば、ROM907は、CPU906が用いるプログラム(CPU906用プログラム)とともに、CPU901が用いるプログラム(CPU901用プログラム)を格納する。そして、携帯電話機900の起動時に、CPU906は、ROM907からCPU901用プログラムを読み出し、バス911を介してCPU901に転送する。そのようにすれば、2つのROM902,907のうちのいずれか一方(本例では、転送される側のCPU901に接続されるROM202)をなくことができ、ROM1つ分のコストを低減することができる。
しかし、携帯電話機900の起動時にCPU901,906間でプログラムを転送するようにすると、プログラムの転送処理を行うための時間がかかり、携帯電話機900の起動時間が長くなる。
そこで、本発明は、2つのCPUを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減できる携帯電話機、プログラム作成方式、プログラム作成方法、プログラム更新方式及びプログラム更新方法を提供することを目的とする。
本発明による携帯電話機は、第1のCPU(例えば、CPU206)と、第2のCPU(例えば、CPU201)とを備え、第1のCPUに接続されるプログラム格納手段(例えば、ROM207)とを備え、プログラム格納手段は、第2のCPUが用いるプログラム(例えば、CPU201用プログラム)を分割した複数の分割プログラム(例えば、分割圧縮プログラム)を格納し、第1のCPUは各分割プログラムを第2のCPUに転送し、第2のCPUは転送された各分割プログラムに基づいて、第2のCPUが用いるプログラムを展開し処理を実行することを特徴とする。なお、「プログラムを展開する」とは、例えば、分割プログラムをRAMに随時記憶させることによって、第2のCPUが用いるプログラムがRAMに記憶された状態にすることである。
また、携帯電話機において、各分割プログラムは転送された第2のCPUが解凍可能にデータ圧縮されており、第2のCPUは、転送された各分割プログラムを解凍後第2のCPUが用いるプログラムを展開し処理を実行するものであってもよい。
また、携帯電話機において、プログラム格納手段は、各分割プログラムと共に第1のCPUが用いるプログラム(例えば、CPU206用プログラム)を格納するものであってもよい。
また、携帯電話機は、第2のCPUに接続されるRAM(例えば、RAM203)をさらに備え、第1のCPUはRAMにプログラムを展開するものであってもよい。
また、携帯電話機において、第1のCPUと第2のCPUはCPU間接続バス(例えば、バス(CPU間接続バス)211)を用いて接続されていてもよい。
また、携帯電話機において、第1のCPUと第2のCPUは共用バス(例えば、共通のバス(共用バス)212)を用いて接続されていてもよい。
本発明によるプログラム作成方式は、携帯電話機が用いるプログラムを作成するプログラム作成方式であって、携帯電話機と、携帯電話機が用いるプログラムを作成するプログラム作成端末とを備え、携帯電話機は、第1のCPUと、第1のCPUに接続され、第1のCPUが用いるプログラムを格納するプログラム格納手段と、第1のCPUが実行する処理とは異なる処理を実行する第2のCPUとを含み、プログラム格納手段は、第1のCPUが用いるプログラムとともに、第2のCPUが用いるプログラムを分割した複数の分割プログラムを格納し、第1のCPUは、プログラム格納手段が格納するプログラムのうち、各分割プログラムを第2のCPUに転送し、第2のCPUは、第1のCPUから転送された各分割プログラムに基づいて、第2のCPUが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、プログラム作成端末は、携帯電話機が用いるプログラムを作成するプログラム作成手段(例えば、プログラムに従って動作するプログラム作成端末のCPUによって実現される)と、プログラム作成手段が作成したプログラムを、携帯電話機のプログラム格納手段に書き込むプログラム書込手段(例えば、プログラムに従って動作するプログラム作成端末のCPU及び入出力インタフェース部によって実現される)とを含むことを特徴とする。
また、プログラム作成方式において、プログラム作成端末は、プログラム作成手段が作成するプログラムのうち、第2のCPUが用いるプログラムを記憶するプログラム記憶手段(例えば、ハードディスク装置等の記憶装置によって実現される)と、プログラム作成手段が第2のCPUが用いるプログラムを新たに作成すると、プログラム記憶手段が記憶するプログラムと、プログラム作成手段が新たに作成したプログラムとに差分があるか否かを判定する差分判定手段(例えば、プログラムに従って動作するプログラム作成端末のCPUによって実現される)と、差分判定手段が、プログラムに差分があると判定すると、プログラム作成手段が新たに作成したプログラムにバージョン(例えば、バージョン番号)を付与するバージョン付与手段(例えば、プログラムに従って動作するプログラム作成端末のCPUによって実現される)とを含むものであってもよい。
また、プログラム作成方式において、プログラム作成端末は、プログラム作成手段が作成するプログラムのうち、第2のCPUが用いるプログラムを分割して複数の分割プログラムを作成するプログラム分割手段(例えば、プログラムに従って動作するプログラム作成端末のCPUによって実現される)を含み、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割した複数の分割プログラムを記憶し、差分判定手段は、プログラム分割手段が分割プログラムを新たに作成すると、プログラム記憶手段が記憶する分割プログラムと、プログラム分割手段が作成した分割プログラムとに差分があるか否かを、分割プログラム毎に判定し、バージョン付与手段は、プログラム分割手段が新たに作成した分割プログラムのうち、差分判定手段が差分があると判定した分割プログラムにバージョンを付与するものであってもよい。
また、プログラム作成方式において、プログラム作成端末は、プログラム分割手段が作成した分割プログラムを圧縮した複数の分割圧縮プログラムを作成するプログラム圧縮手段(例えば、プログラムに従って動作するプログラム作成端末のCPUによって実現される)を含み、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、差分判定手段は、プログラム圧縮手段が分割圧縮プログラムを新たに作成すると、プログラム記憶手段が記憶する分割圧縮プログラムと、プログラム圧縮手段が作成した分割圧縮プログラムとに差分があるか否かを、分割圧縮プログラム毎に判定し、バージョン付与手段は、プログラム分割圧縮手段が新たに作成した分割圧縮プログラムのうち、差分判定手段が差分があると判定した分割圧縮プログラムにバージョンを付与するものであってもよい。
また、プログラム作成方式において、プログラム作成端末は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを読み出すバージョン読出手段(例えば、プログラムに従って動作するプログラム作成端末のCPU及び入出力インタフェース部によって実現される)と、バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを判定するバージョン判定手段(例えば、プログラムに従って動作するプログラム作成端末のCPUによって実現される)とを含み、プログラム書込手段は、バージョン判定手段がバージョンが異なると判定すると、プログラム記憶手段が記憶するプログラムを、携帯電話機のプログラム格納手段に書き込むものであってもよい。
また、プログラム作成方式において、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割した複数の分割プログラムを記憶し、バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割プログラム毎に読み出し、バージョン判定手段は、バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割プログラム毎に判定し、プログラム書込手段は、プログラム記憶手段が記憶する分割プログラムのうち、バージョン判定手段がバージョンが異なると判定した分割プログラムを、携帯電話機のプログラム格納手段に書き込むものであってもよい。
また、プログラム作成方式において、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割圧縮プログラム毎に読み出し、バージョン判定手段は、バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、プログラム書込手段は、プログラム記憶手段が記憶する分割圧縮プログラムのうち、バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを、携帯電話機のプログラム格納手段に書き込むものであってもよい。
本発明によるプログラム更新方式は、携帯電話機が用いるプログラムを更新するプログラム更新方式であって、携帯電話機と、携帯電話機が用いるプログラムを配信する配信サーバ(例えば、ネットワークサーバ50)とを備え、携帯電話機は、第1のCPUと、第1のCPUに接続され、第1のCPUが用いるプログラムを格納するプログラム格納手段と、第1のCPUが実行する処理とは異なる処理を実行する第2のCPUとを含み、プログラム格納手段は、第1のCPUが用いるプログラムとともに、第2のCPUが用いるプログラムを分割した複数の分割プログラムを格納し、第1のCPUは、プログラム格納手段が格納するプログラムのうち、各分割プログラムを第2のCPUに転送し、第2のCPUは、第1のCPUから転送された各分割プログラムに基づいて、第2のCPUが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、配信サーバは、携帯電話機が用いるプログラムを蓄積するプログラム蓄積手段(例えば、プログラムデータベース51によって実現される)と、携帯電話機からの要求に応じて、プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して携帯電話機に送信するプログラム配信手段(例えば、プログラムに従って動作するネットワークサーバ50のCPU及びネットワークインタフェース部によって実現される)を含むことを特徴とする。
また、プログラム更新方式において、配信サーバは、携帯電話機が現在搭載するプログラムのバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定する現バージョン判定手段(例えば、プログラムに従って動作するネットワークサーバ50のCPUによって実現される)を含み、プログラム配信手段は、現バージョン判定手段がバージョンが異なると判定すると、プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して携帯電話機に送信するものであってもよい。
また、プログラム更新方式において、携帯電話機は、携帯電話機を識別するための端末識別情報(例えば、移動機識別番号)を、通信ネットワークを介して配信サーバに送信する識別情報送信手段(例えば、プログラムに従って動作する携帯電話機200のCPU201及び送受信部205によって実現される)を含み、配信サーバは、各携帯電話機が現在搭載しているプログラムのバージョンを、端末識別情報に対応付けて記憶するバージョン情報記憶手段(例えば、プログラムデータベース51によって実現される)と、携帯電話機から受信した端末識別情報に対応するバージョンを、バージョン情報記憶手段から抽出することによって、携帯電話機が現在搭載しているプログラムのバージョンを特定するバージョン特定手段(例えば、プログラムに従って動作するネットワークサーバ50のCPUによって実現される)とを含み、現バージョン判定手段は、バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定するものであってもよい。
また、プログラム更新方式において、プログラム蓄積手段は、携帯電話機が用いるプログラムのうち、第2のCPUが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを蓄積し、バージョン特定手段は、携帯電話機から受信した端末識別情報に対応するバージョンを、バージョン情報記憶手段から抽出することによって、携帯電話機が現在搭載しているプログラムのバージョンを、分割圧縮プログラム毎に特定し、現バージョン判定手段は、バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、プログラム配信手段は、プログラム蓄積手段が蓄積する分割圧縮プログラムのうち、現バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを抽出し、通信ネットワークを介して携帯電話機に送信するものであってもよい。
本発明によるプログラム作成方法は、携帯電話機が用いるプログラムを作成するプログラム作成方法であって、2つのCPUを搭載する携帯電話機が用いるプログラムを作成するステップと、携帯電話機が用いるプログラムを記憶手段(例えば、ハードディスク装置等の記憶装置)に記憶するステップと、携帯電話機が用いるプログラムを新たに作成すると、記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があるか否かを判定するステップと、記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があると判定すると、新たに作成したプログラムにバージョンを付与するステップとを含むことを特徴とする。
また、プログラム作成方法は、携帯電話機から、携帯電話機が記憶するプログラムのバージョンを読み出すステップと、読み出したバージョンと記憶手段に記憶するプログラムのバージョンとが異なるか否かを判定するステップと、バージョンが異なると判定すると、記憶手段に記憶するプログラムを携帯電話機に書き込むステップとを含むものであってもよい。
本発明によるプログラム更新方法は、携帯電話機が用いるプログラムを更新するプログラム更新方法であって、配信サーバが、携帯電話機が用いるプログラムを予めデータベース(例えば、プログラムデータベース51)に蓄積するステップと、配信サーバが、2つのCPUを搭載する携帯電話機からの要求に応じて、携帯電話機が現在搭載するプログラムのバージョンと、データベースに蓄積するプログラムのバージョンとが異なるか否かを判定するステップと、配信サーバが、バージョンが異なると判定すると、データベースからプログラムを抽出し、通信ネットワークを介して携帯電話機に送信するステップとを含むことを特徴とする。
本発明によれば、2つのCPUを搭載する携帯電話機において、第1のCPUに接続されるプログラム格納手段は、第1のCPUが用いるプログラムとともに、第2のCPUが用いるプログラムを分割した分割プログラムを格納する。また、第1のCPUは、プログラム格納手段が格納するプログラムのうち、各分割プログラムを第2のCPUに転送する。そして、第2のCPUは、第1のCPUから転送された各分割プログラムに基づいてプログラムを展開する。そのため、2CPU構成を備えた携帯電話機が本来備える2つのプログラム格納手段のうちの一方をなくすことができ、プログラム格納手段1つ分のコスト(価格)を低減することができる。
また、本発明によれば、分割した状態でプログラムを転送するので、分割プログラムを転送される毎に、第2のCPUがプログラムを展開する処理を随時行うことができる。そのため、プログラム転送の際に第1のCPUと第2のCPUとが並行して処理を実行することができ、プログラムの転送にかかる時間を低減することができる。従って、2つのCPUを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減することができる。
また、本発明において、プログラム格納手段が第2のCPUが用いるプログラムを圧縮した状態で格納するように構成すれば、プログラム格納手段が記憶するデータ容量を低減することができる。
また、本発明において、第1のCPUが第2のCPUにプログラムを転送すると同時に、転送処理を行う第1のCPUとは別の転送先の第2のCPUがプログラムを解凍するように構成すれば、プログラムの転送処理と解凍処理とを並行して行うことができる。従って、転送処理と解凍処理とを並行して行うことによって、携帯電話機の起動時間をより低減することができる。
また、本発明において、第1のCPU、第2のCPU及びプログラム格納手段を共通のバスを介して接続するように構成すれば、携帯電話機が高機能化するに従ってCPU間で送受信されるデータ量が増加した場合であっても、CPU間の通信速度を確保することができる。
また、本発明において、第2のCPUが用いるプログラムを分割した分割プログラム毎に、バージョンの差分を判定して携帯電話機への書き込みを行うように構成すれば、第2のCPUが用いるプログラムのうち、更新された部分の分割プログラムのみを書き込むことができる。そのため、携帯電話機へのプログラム書き替え時間を短縮することができる。
また、本発明において、配信サーバが、携帯電話機からの要求に応じて、分割プログラム毎に、バージョンの差分を判定して携帯電話機にプログラムを配信するように構成すれば、更新後の第2のCPUが用いるプログラムのうち、更新された部分のプログラムのみをダウンロードすることができる。そのため、携帯電話機へのプログラムのダウンロード時間を短縮することができる。また、更新後の第2のCPUが用いるプログラムを圧縮した状態でダウンロードするように構成すれば、携帯電話機へのプログラムのダウンロード時間を更に短縮することができる。
実施の形態1.
以下、本発明の第1の実施の形態を図面を参照して説明する。図1は、本発明による2CPU構成を備えた携帯電話機の構成の一例を示すブロック図である。図1に示すように、携帯電話機200は、2つのCPU201,206と、2つのRAM203,208と、送受信部205と、ROM207と、LCD/KEY210とを含む。本実施の形態では、携帯電話機200は、ROM207を1つだけ含む点で、図14に示した携帯電話機900と異なる。すなわち、本実施の形態において、携帯電話機200は、2CPU構成において本来含まれる2つのROMのうちの一方をなくした構成となっている。
CPU201とCPU206とはバス(CPU間接続バス)211を介して接続され、CPU201とCPU206とは、バス211を介して各種信号を送受信する。また、CPU201は、バス204を介して、RAM203及び送受信部205に接続される。また、CPU206は、バス209を介して、ROM207、RAM208及びLCD/KEY210に接続される。
ROM207は、CPU206が用いるプログラム(CPU206用プログラムともいう)を格納するプログラム格納用メモリとして用いられる。また、本実施の形態では、ROM207は、CPU206用プログラムとともに、CPU201が用いるプログラム(CPU201用プログラムともいう)を格納する。本実施の形態では、ROM207は、CPU201用プログラムを、所定の単位で分割し圧縮した状態で記憶する。以下、CPU201用プログラムを所定の単位で分割し圧縮した各プログラムを分割圧縮プログラムともいう。
RAM203は、CPU201がプログラムに従って処理を実行する際の作業用メモリとして用いられる。また、RAM208は、CPU206がプログラムに従って処理を実行する際の作業用メモリとして用いられる。
CPU206は、ROM207が記憶するCPU206用プログラムに従って、処理を実行する機能を備える。本実施の形態では、CPU206は、LCD表示部等の表示部に各種情報を表示するように、バス209を介してLCD/KEY210を制御する。また、CPU206は、ユーザの入力操作に従って、キー操作部等の入力部から各種情報を入力するように、バス209を介してLCD/KEY210を制御する。すなわち、本実施の形態において、CPU206は、携帯電話機200が行う各処理のうち、ユーザインタフェースに関する処理(例えば、各種入出力処理)を行う。
また、CPU206は、ROM207が記憶する各分割圧縮プログラムを読み出し、バス211を介してCPU201に送信(転送)する機能を備える。
CPU201は、各分割圧縮プログラムを、バス211を介してCPU206から受信する機能を備える。また、CPU201は、各分割圧縮プログラムを解凍する機能を備える。また、CPU201は、解凍したプログラムを、バス204を介してRAM203に展開する(記憶させる)機能を備える。
また、CPU201は、RAM203に展開したCPU201用プログラムに従って、処理を実行する機能を備える。すなわち、CPU201は、CPU206から転送されたプログラムに従って処理を実行する。本実施の形態では、例えば、CPU201は、アンテナ21を介して、無線信号として各種データを送受信するように、バス204を介して送受信部205を制御する。本実施の形態において、CPU201は、携帯電話機200が行う各処理のうち、ユーザインタフェースに関する処理以外の処理(例えば、データの送受信処理)を行う。
携帯電話機200が搭載する2つのCPU201,206は、携帯電話機200が実行する各処理を、所定の取り決めに従って分担して実行する。本実施の形態では、CPU201は、CPU206が実行する処理(本例では、ユーザインタフェースに関する処理)とは異なる処理を実行する。そのようにすることによって、1つのCPUあたりにかかる処理負担を軽減している。
送受信部205は、具体的には、アンテナ21を介して無線信号を送受信する送受信回路である。送受信部205は、CPU201の制御に従って、アンテナ21を介して無線信号として各種データを送受信する機能を備える。また、送受信部205は、CPU201の制御に従って、送受信するデータを処理する機能を備える。
LCD/KEY210は、具体的には、各種入出力の処理を行う回路である。LCD/KEY210は、CPU206の制御に従って、各種情報をLCD表示部等の表示部に表示させる機能を備える。また、LCD/KEY210は、CPU206の制御に従って、ユーザの入力操作に伴い、キー操作部等の入力部から各種情報を入力する機能を備える。
次に、動作について説明する。携帯電話機200は、ユーザによって電源をオンにされた場合、ROM207が記憶する各プログラムを起動して処理を開始する。この場合、CPU206は、ROM207が記憶するCPU206用プログラムをそのまま起動し、処理を開始する。また、CPU206は、ROM207が記憶するCPU201用プログラム(分割圧縮プログラム)を読み出し、CPU201に転送する。そして、CPU201は、転送されたCPU201用プログラムを起動し、処理を開始する。
図2は、CPU206からCPU201にプログラムを転送し、転送したプログラムを起動する処理の一例を示す流れ図である。CPU206は、ROM207から分割圧縮プログラムを読み出す。そして、CPU206は、読み出した分割圧縮プログラムを、バス211を介してCPU201に転送(ブート)する(ステップS501)。
CPU201は、分割圧縮プログラムを受信すると、受信した分割圧縮プログラムを解凍する(ステップS502)。例えば、CPU206は、ユーザによって携帯電話機200の電源をオンにされた際に、所定のアーカイバを、バス211を介してCPU201に転送する。そして、CPU201は、予め転送されたアーカイバを用いて、分割圧縮プログラムを解凍する。
分割圧縮プログラムを解凍すると、CPU201は、解凍後のプログラム(CPU201用プログラムを所定単位に分割した状態のプログラム)をRAM203に記憶させる(ステップS503)。
CPU206は、ROM207が記憶する全ての分割圧縮プログラムをCPU201に転送したか否かを判断する(ステップS504)。全ての分割圧縮プログラムを転送していない(未転送の分割圧縮プログラムがある)と判断すると、携帯電話機200は、ステップS501に戻り、ステップS501からステップS504までの処理を繰り返し実行する。
全ての分割圧縮プログラムが転送され、解凍されてRAM203に記憶されると、RAM203にCPU201用プログラムが展開された状態となる。ステップS504で全ての分割圧縮プログラムを転送したと判断すると、CPU201は、RAM203が記憶するCPU201用プログラムを起動し(ステップS505)、RAM203が記憶するCPU201用プログラムに従って処理を開始する。
図3は、図2に示すプログラムの転送処理を実行する際に、CPU201とCPU206との間で実行される処理の流れを示す流れ図である。CPU206は、ROM207から1つ目の分割圧縮プログラムを読み出すと、読み出した分割圧縮プログラムをCPU201に転送する(ステップS501a)。CPU201は、1つ目の分割圧縮プログラムをCPU206から受信し終えると、受信した分割圧縮プログラムを解凍し(ステップS502a)、解凍したプログラムをRAM203に展開する(ステップS503a)。
一方、CPU206は、1つ目の分割圧縮プログラムを転送し終えると、ROM207から2つ目の分割圧縮プログラムを読み出し、CPU201への転送を開始する(ステップS501b)。すなわち、1つ目の分割圧縮プログラムの転送が終わると、CPU201が受信プログラムを解凍すると同時に、CPU206が2つ目の分割圧縮プログラムの転送を開始する。
そして、2つ目以降の分割圧縮プログラムについても同様に、分割圧縮プログラムの転送が終わると、CPU201が受信プログラムを解凍し(ステップS502b・・・)、RAM203に展開する(ステップS503b・・・)と同時に、CPU206が次の分割圧縮プログラムの転送を開始する(ステップS501c・・・)。
例えば、CPU206が分割圧縮プログラムを解凍した上でCPU201に転送するようにすると、CPU206がプログラムの解凍処理及び転送処理の両方の処理を行わなければならず、CPU206の処理負担が大きい。また、解凍後のプログラムをCPU201に転送するので、転送するデータの容量が大きくなってしまい、CPU206からCPU201にプログラムを転送するために時間がかかる。そのため、携帯電話機200を起動させるまでにかかる時間が長くなってしまう。
本実施の形態では、プログラムの転送処理を行うCPU206とは別のCPU201(転送先のCPU)がプログラムの解凍処理を行うので、プログラムの転送処理と解凍処理とを並行して行うことができる。また、プログラムを圧縮した状態のままでCPU206からCPU201に転送するので、転送するデータの容量を小さくでき、データの転送時間を低減できる。従って、携帯電話機200を起動させるまでの起動時間を低減することができる。
次に、携帯電話機200を製作する際に、各CPU201,206が用いるプログラムを作成し、携帯電話機200に書き込む手順を説明する。本実施の形態において、CPU201用プログラム及びCPU206用プログラムは、携帯電話機200を製作するメーカ等に設置される端末(以下、プログラム作成端末という)を用いて作成される。なお、プログラム作成端末は、具体的には、パーソナルコンピュータ等の情報処理端末によって実現される。また、プログラム作成端末は、CPU201用プログラムやCPU206用プログラムを作成/書込するためのプログラム作成/書込プログラムに従って、プログラムの作成や書き込みの処理を実行する。
まず、CPU206用プログラムを作成し、携帯電話機200に書き込む場合を説明する。携帯電話機200を製作するメーカ等の作業員(又は、プログラマ)は、プログラム作成端末を用いて、CPU206用プログラムのコンパイル操作を行う。また、作業員は、携帯電話機200をプログラム作成端末にケーブル等を用いて接続し、コンパイルしたCPU206用プログラムの書き込み操作を行う。プログラム作成端末は、作業員の操作に従って、CPU206用プログラムをコンパイルし、ケーブル等を介して送信することによって、CPU206用プログラムを携帯電話機200に書き込む。この場合、携帯電話機200は、受信したCPU206用プログラムをROM207に記憶させる。
なお、不具合等が見つかりプログラムがバージョンアップされた場合には、プログラム作成端末は、作業員の操作に従って、バージョンアップ後のCPU206用プログラムを随時コンパイルする。そして、プログラム作成端末は、作業員の操作に従って、携帯電話機200に、ROM207に記憶するCPU206用プログラムを、バージョンアップ後のプログラムに随時更新させる。
次に、CPU201用プログラムを作成し、携帯電話機200に書き込む場合を説明する。図4は、プログラム作成端末が、CPU201用プログラムをコンパイルし、携帯電話機200への書き込み用のプログラムを作成する処理の一例を示す流れ図である。なお、CPU201用プログラムを最初に作成した場合には、プログラム作成端末は、図4に示す処理に従って、CPU201用プログラムをコンパイルし、コンパイル後の各分割圧縮プログラムにバージョン番号を付与する。また、不具合等が見つかりCPU201用プログラムを更新した場合には、プログラム作成端末は、図4に示す処理に従って、更新後のCPU201用プログラムをコンパイルし、コンパイル後の各分割圧縮プログラムにバージョン番号を付与しなおす。
まず、CPU201用プログラムを最初に作成した場合を説明する。プログラム作成端末は、作業員の操作に従って、CPU201用プログラムをコンパイルする(ステップS301)。また、プログラム作成端末は、コンパイルしたCPU201用プログラムを所定の単位に分割する(ステップS302)。例えば、プログラム作成端末は、コンパイル後のCPU201用プログラムを、モジュール単位(例えば、受信モジュールや送信モジュール)に分割する。また、プログラム作成端末は、分割後のプログラム(以下、分割プログラムともいう)をそれぞれ圧縮して、分割圧縮プログラムを作成する(ステップS303)。
また、プログラム作成端末は、今回作成した分割圧縮プログラムのファイルと、前回CPU201用プログラムをコンパイルした際に作成した分割圧縮プログラム(更新前のプログラム)のファイルとを比較する(ステップS304)。そして、プログラム作成端末は、前回作成した分割圧縮プログラム(更新前のプログラム)と今回作成した分割圧縮プログラムとで、ファイルのデータに差分があるか否かを判断する(ステップS305)。
ファイルのデータに差分があると判断すると、プログラム作成端末は、分割圧縮プログラムに対してバージョン番号を付与する(ステップS306)。また、プログラム作成端末は、全ての分割圧縮プログラムについて差分の確認を行ったか否かを判断する(ステップS307)。全ての分割圧縮プログラムについて差分の確認を行っていない(未確認の分割圧縮プログラムがある)と判断すると、プログラム作成端末は、次の分割圧縮プログラムに対して、ステップS304からステップS307までの処理を繰り返し実行する。
CPU201用プログラムを最初に作成した場合には、まだ前回作成した分割圧縮プログラム(更新前のプログラム)がないので、プログラム作成端末は、全ての分割圧縮プログラムに対して差分があると判断する。そして、プログラム作成端末は、全ての分割圧縮プログラムに対して新たにバージョン番号を付与する。
ステップS307で全ての分割圧縮プログラムについて差分の確認を行ったと判断すると、プログラム作成端末は、作成した各分割圧縮プログラムを、ハードディスク装置等の記憶装置に記憶し、プログラムの作成を完了する(ステップS308)。図5は、プログラム作成端末の記憶装置が記憶する情報の例を示す説明図である。図5に示すように、プログラム作成端末の記憶装置は、各分割圧縮プログラムをバージョン番号に対応付けて記憶する。
次に、不具合等が見つかりCPU201用プログラムを更新した場合を説明する。プログラム作成端末は、作業員の操作に従って、更新後のCPU201用プログラムをコンパイルする(ステップS301)。また、プログラム作成端末は、コンパイルした更新後のCPU201用プログラムを所定の単位に分割する(ステップS302)。また、プログラム作成端末は、更新後の分割プログラムをそれぞれ圧縮して、分割圧縮プログラムを作成する(ステップS303)。
また、プログラム作成端末は、今回作成した更新後の分割圧縮プログラムのファイルと、前回新規作成時の分割圧縮プログラム(更新前のプログラム)のファイルとを、分割圧縮プログラム毎に比較する(ステップS304)。この場合、プログラム作成端末は、今回作成した分割圧縮プログラムのファイルを、前回新規作成時の分割圧縮プログラムのうちの対応する分割圧縮プログラムと比較する。例えば、CPU201用プログラムをモジュール単位に分割した場合には、プログラム作成端末は、今回作成した分割圧縮プログラムと前回新規作成時の分割圧縮プログラムとを、モジュール毎に比較する。そして、プログラム作成端末は、前回新規作成時の分割圧縮プログラムと今回作成した更新後の分割圧縮プログラムとで、ファイルのデータに差分があるか否かを判断する(ステップS305)。
ファイルのデータに差分があると判断すると、プログラム作成端末は、更新後の分割圧縮プログラムに対してバージョン番号を付与しなおす(ステップS306)。また、ファイルのデータに差分がないと判断すると、プログラム作成端末は、更新後の分割圧縮プログラムに対してバージョン番号を付与することなく、ステップS307に移行する。
また、プログラム作成端末は、全ての分割圧縮プログラムについて差分の確認を行ったか否かを判断する(ステップS307)。全ての分割圧縮プログラムについて差分の確認を行っていない(未確認の分割圧縮プログラムがある)と判断すると、プログラム作成端末は、次の分割圧縮プログラムに対して、ステップS304からステップS307までの処理を繰り返し実行する。
一般に、不具合等によってプログラムを更新する場合、プログラムに含まれる全てのモジュールを更新するとは限らない。本実施の形態では、ステップS304からステップS307の処理を繰り返し実行することによって、CPU201用プログラムのうち、更新された部分の分割圧縮プログラムに対してのみ、バージョン番号を付与しなおす。
ステップS307で全ての分割圧縮プログラムについて差分の確認を行ったと判断すると、プログラム作成端末は、更新後の各分割圧縮プログラムを、ハードディスク装置等の記憶装置に記憶し、プログラムの作成を完了する(ステップS308)。図6は、プログラム作成端末の記憶装置が記憶する更新後の情報の例を示す説明図である。図6では、CPU201用プログラムのうち、分割圧縮プログラムBのみが更新された場合の例を示す。図6に示すように、プログラム作成端末は、更新された部分に対応する分割圧縮プログラムBのみ、バージョン番号を「2.0」から「2.1」に更新する。
以上のように、プログラム作成端末は、ステップS301からステップS308までの処理を実行することによって、CPU201用プログラムに対する各分割圧縮プログラムを作成し、ハードディスク装置等の記憶装置に保存する。また、プログラム作成端末は、CPU201用プログラムか更新される毎に、分割圧縮プログラムを作成しなおし、記憶装置に保存しなおす。
なお、プログラム作成端末は、各分割プログラムを圧縮する前に、新たに作成した分割プログラムのファイルと、記憶装置に記憶する前回作成時の分割プログラムとに差分があるか否かを、分割プログラム毎に判定するようにしてもよい。また、プログラム作成端末は、新たに作成した分割プログラムのうち、差分があると判定した分割プログラムにバージョンを付与するようにしてもよい。そして、プログラム作成端末は、バージョンを付与した後に、各分割プログラムを圧縮して分割圧縮プログラムを作成するようにしてもよい。
図7は、プログラム作成端末が作成したプログラムを携帯電話機200に書き込む処理の一例を示す流れ図である。まず、CPU201用プログラムに対する各分割圧縮プログラムを、携帯電話機200に最初に書き込む場合を説明する。作業員は、保存した各分割圧縮プログラムを携帯電話機200に書き込む場合、携帯電話機200をプログラム作成端末にケーブル等を用いて接続し、各分割圧縮プログラムの書き込み操作を行う。プログラム作成端末は、作業員の書き込み操作に従って、携帯電話機200が現在搭載する(ROM207に記憶している)分割圧縮プログラムのバージョン番号を、携帯電話機200に要求する(ステップS400)。すると、携帯電話機200は、ROM207に記憶する分割圧縮プログラムのバージョン番号を抽出し、プログラム作成端末に送信する。
プログラム作成端末は、携帯電話機200から受信したバージョン番号と、記憶装置に記憶する分割圧縮プログラムのバージョン番号(今回作成したプログラムのバージョン番号)とを比較する(ステップS401)。そして、プログラム作成端末は、携帯電話機200から受信したバージョン番号と、記憶装置に記憶する分割圧縮プログラムのバージョン番号とに差分がある(同じでない)か否かを判断する(ステップS402)。
バージョン番号に差分がある(同じでない)と判断すると、プログラム作成端末は、対応する分割圧縮プログラムを記憶装置から読み出し、携帯電話機200に書き込む(ステップS403)。また、プログラム作成端末は、全ての分割圧縮プログラムについて、バージョン番号の差分の確認を行ったか否かを判断する(ステップS404)。バージョン番号の差分の確認を行っていない(未確認の分割圧縮プログラムがある)と判断すると、プログラム作成端末は、記憶装置に記憶する次の分割圧縮プログラムに対して、ステップS400からステップS404までの処理を繰り返し実行する。
CPU201用プログラムの各分割圧縮プログラムを最初に携帯電話機200に書き込む場合には、まだ携帯電話機200のROM207に分割圧縮プログラムが記憶されていないので、プログラム作成端末は、全ての分割圧縮プログラムに対してバージョン番号の差分があると判断する。そして、プログラム作成端末は、全ての分割圧縮プログラムを記憶装置から抽出して、携帯電話機200に書き込む。この場合、プログラム作成端末は、抽出した各分割圧縮プログラムを携帯電話機200に送信する。すると、携帯電話機200は、受信した各分割圧縮プログラムをROM207に記憶する。
ステップS404で全ての分割圧縮プログラムについてバージョン番号の差分の確認を行ったと判断すると、プログラム作成端末は、プログラムの書き込み処理を終了する(ステップS405)。
次に、携帯電話機200の製作段階において、不具合等によってCPU201用プログラムを更新した場合に、更新後の各分割圧縮プログラムを携帯電話機200に書き込む場合を説明する。プログラム作成端末は、作業員の書き込み操作に従って、携帯電話機200が現在搭載する(ROM207に記憶している)分割圧縮プログラムのバージョン番号を、携帯電話機200に要求する(ステップS400)。すると、携帯電話機200は、ROM207に記憶する分割圧縮プログラムのバージョン番号を抽出し、プログラム作成端末に送信する。
プログラム作成端末は、携帯電話機200から受信したバージョン番号と、記憶装置に記憶する分割圧縮プログラムのバージョン番号(更新後の分割圧縮プログラムのバージョン番号)とを比較する(ステップS401)。そして、プログラム作成端末は、携帯電話機200から受信したバージョン番号と、更新後分割圧縮プログラムのバージョン番号とに差分がある(同じでない)か否かを判断する(ステップS402)。
バージョン番号に差分がある(同じでない)と判断すると、プログラム作成端末は、更新後の分割圧縮プログラムを記憶装置から読み出し、携帯電話機200に書き込む(ステップS403)。また、バージョン番号に差分がない(同じである)と判断すると、プログラム作成端末は、分割圧縮プログラムの書き込みを行うことなく、そのままステップS404に移行する。
また、プログラム作成端末は、全ての分割圧縮プログラムについて、バージョン番号の差分の確認を行ったか否かを判断する(ステップS404)。バージョン番号の差分の確認を行っていない(未確認の分割圧縮プログラムがある)と判断すると、プログラム作成端末は、記憶装置に記憶する次の分割圧縮プログラムに対して、ステップS400からステップS404までの処理を繰り返し実行する。
一般に、不具合等によってプログラムを更新する場合、プログラムに含まれる全てのモジュールを更新するとは限らない。本実施の形態では、ステップS400からステップS404の処理を繰り返し実行することによって、CPU201用プログラムのうち、更新された部分の分割圧縮プログラムのみを、携帯電話機200に再度書き込む。
例えば、CPU201用プログラムを更新した結果、プログラム作成端末が、図6に示すバージョン番号を記憶装置に記憶しているとする。この場合、分割圧縮プログラムBのバージョン番号だけが「2.0」から「2.1」に更新されているので、プログラム作成端末は、分割圧縮プログラムBのバージョン番号だけが差分があると判断する。そして、プログラム作成端末は、CPU201用プログラムのうち、更新後の分割圧縮プログラムBのみを携帯電話機200に再度書き込む。
以上のように、本実施の形態によれば、2つのCPU201,206を搭載する携帯電話機200において、CPU206用プログラムの格納用メモリであるROM207は、CPU206用プログラムとともに、CPU201用プログラムの各分割圧縮プログラムを記憶する。また、CPU206は、ROM207が格納するプログラムのうち、CPU201用プログラムの各分割圧縮プログラムをCPU201に転送する。そして、CPU201は、CPU206から転送されたプログラムに従って処理を実行する。そのため、2CPU構成を備えた携帯電話機200が本来備える2つのROMのうちの一方をなくすことができ、ROM1つ分のコスト(価格)を低減することができる。
また、本実施の形態によれば、CPU201用プログラムを分割した状態でCPU201に転送するので、分割圧縮プログラムを受信する毎に、CPU201がプログラムを展開する処理(プログラムを解凍しRAM203に記憶させる処理)を随時行うことができる。そのため、プログラム転送の際にCPU201とCPU206とが並行して処理を実行することができ、プログラムの転送にかかる時間を低減することができる。従って、2つのCPUを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減することができる。
また、本実施の形態によれば、CPU206がCPU201に転送するCPU201用プログラムを圧縮した状態でROM207に格納する。そのため、ROM207が記憶するデータ容量を低減することができる。
また、本実施の形態によれば、携帯電話機200の電源投入時等に、CPU206がCPU201にプログラムを転送すると同時に、転送処理を行うCPUとは別のCPUである転送先のCPU201が転送されたプログラムを解凍する。そのため、プログラムの転送処理と解凍処理とを並行して行うことができ、携帯電話機200を起動させるまでの起動時間をより低減することができる。
また、本実施の形態によれば、プログラムの作成及び書込時に、CPU201用プログラムを分割した分割プログラムを作成し、分割プログラム毎(分割圧縮プログラム毎)に、バージョンの差分を判定して携帯電話機200への書き込みを行う。CPU201用プログラムのうち、更新された部分の分割プログラム(分割圧縮プログラム)のみを書き込むので、携帯電話機200へのプログラム書き替え時間を短縮することができる。
実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。図8は、2CPU構成を備えた携帯電話機の他の構成例を示すブロック図である。第1の実施の形態では、携帯電話機200が、ユーザインタフェースに関する処理を実行するCPU206側に接続されるROM207だけを含み、ユーザインタフェースに関する処理以外の処理を実行するCPU201側のROMをなくす場合を説明した。本実施の形態では、図8に示すように、携帯電話機200は、ユーザインタフェースに関する処理以外の処理を実行するCPU201側に接続されるROM202だけを含み、ユーザインタフェースに関する処理を実行するCPU206側のROMをなくす場合を説明する。
本実施の形態では、ROM202は、CPU201用プログラムを格納するとともに、CPU206用プログラムを格納する。また、本実施の形態では、ROM202は、CPU206用プログラムを、所定の単位で分割した状態で記憶する。
本実施の形態では、CPU201は、図2と同様の処理に従って、ROM202が記憶する各分割圧縮プログラムを、バス211を介してCPU206に転送する。また、CPU206は、図2と同様の処理に従って、転送された分割圧縮プログラムを解凍してRAM208に展開する。そして、CPU206は、RAM208に展開したCPU206用プログラムを起動し、処理を開始する。
また、本実施の形態では、携帯電話機200を製作する際に、プログラム作成端末は、図4と同様の処理に従って、CPU206用プログラムを分割し圧縮して分割圧縮プログラムを作成する。また、プログラム作成端末は、図4と同様の処理に従って、各分割圧縮プログラムにバージョン番号を付与する。また、不具合等によってCPU206を更新した場合、プログラム作成端末は、図4と同様の処理に従って、更新後の分割圧縮プログラムを作成し、バージョン番号を付与しなおす。
また、プログラム作成端末は、図7と同様の処理に従って、CPU206用プログラムに対する各分割圧縮プログラムを携帯電話機200に書き込む。また、不具合等によってCPU206を更新した場合、プログラム作成端末は、図7と同様の処理に従って、CPU206用プログラムのうち、更新された部分に対応する分割圧縮プログラムを携帯電話機200に書き込む。
なお、携帯電話機200は、ROM202と第1の実施の形態で示したROM207とを両方備えてもよい。そのようにすれば、一方のROMが故障した場合に、他の一方のROMをバックアップとして用いることができ、携帯電話機200の保守性を向上させることができる。例えば、ROM202が故障した場合、CPU206は、ROM207が記憶するCPU201用プログラムの分割圧縮プログラムをCPU201に転送し、バックアップしてもよい。また、例えば、ROM207が故障した場合、CPU201は、ROM202が記憶するCPU206用プログラムの分割圧縮プログラムをCPU206に転送し、バックアップしてもよい。
実施の形態3.
次に、本発明の第3の実施の形態を図面を参照して説明する。図9は、2CPU構成を備えた携帯電話機の更に他の構成例を示すブロック図である。本実施の形態では、図9に示すように、2つのCPU201,206、2つのRAM203,208、送受信部205、ROM207及びLCD/KEY210が、共通のバス(共用バス)212を介して接続されている点で、第1の実施の形態と異なる。
本実施の形態において、2つのCPU201,206、2つのRAM203,208、送受信部205、ROM207及びLCD/KEY210の基本的な機能は、第1の実施の形態で示したそれらの機能と同様である。本実施の形態では、CPU201とCPU206とは、共通のバス212を介して各種信号を送受信する。
以上のように、本実施の形態によれば、2つのCPUを搭載した携帯電話機200において、携帯電話機200の各構成要素が、共通のバス212を介して接続される。CPU201とCPU206とが専用のバス211を介して接続される場合、携帯電話機200が高機能化するに従ってCPU間で送受信されるデータ量が増加し、CPU間の通信速度が遅くなってしまう。本実施の形態によれば、携帯電話機200の各構成要素が接続される共通のバス212を介して、CPU201とCPU206とが各種信号を送受信できる。そのため、携帯電話機200が高機能化するに従ってCPU間で送受信されるデータ量が増加した場合であっても、CPU間の通信速度を確保することができる。
実施の形態4.
次に、本発明の第4の実施の形態を図面を参照して説明する。本実施の形態では、携帯電話機200を販売した後に、不具合等によりCPU201用プログラムを更新した場合に、携帯電話機200が記憶する各分割圧縮プログラムを書き替える場合を説明する。図10は、更新後のCPU201用プログラムの各分割圧縮プログラムを、携帯電話機200にダウンロードするダウンロードシステムの構成の一例を示すブロック図である。
図10に示すように、ダウンロードシステムは、携帯電話機200、プログラム作成端末30及びネットワークサーバ50を含む。また、携帯電話機200、プログラム作成端末30及びネットワークサーバ50は、インターネット等の通信ネットワーク500を介して接続される。
携帯電話機200は、ユーザが使用する端末である。本実施の形態において、携帯電話機200の機能は、第1の実施の形態で示した携帯電話機200の機能と同様である。なお、図10では、1つの携帯電話機200を示しているが、ダウンロードシステムは、複数の携帯電話機200を含む。
プログラム作成端末30は、携帯電話機200を製作するメーカ等に設置され、具体的には、パーソナルコンピュータ等の情報処理端末によって実現される。プログラム作成端末30は、作業員(又は、プログラマ)の操作に従って、携帯電話機200用のプログラム(CPU201用プログラム及びCPU206用プログラム)を作成する機能を備える。また、プログラム作成端末30は、携帯電話機200の製作時に、図4に示す処理に従って、CPU201用プログラムの分割圧縮プログラムを作成し、各分割圧縮プログラムにバージョン番号を付与すする機能を備える。また、プログラム作成端末30は、携帯電話機200の製作時に、図7に示す処理に従って、各プログラムを携帯電話機200に書き込む機能を備える。
プログラム作成端末30は、携帯電話機200の出荷時のプログラム(CPU201用プログラム及びCPU206用プログラム)、及び出荷した各携帯電話機200の移動機識別番号を、通信ネットワーク500を介してネットワークサーバ50にアップロード(送信)する機能を備える。また、プログラム作成端末30は、携帯電話機200の出荷後に不具合が見つかった場合に、携帯電話機200用の更新後のプログラム、及び更新対象の携帯電話機200の移動機識別番号を、通信ネットワーク500を介してネットワークサーバ50にアップロード(送信)する機能を備える。
ネットワークサーバ50は、例えば、携帯電話会社が運営するサーバである。ネットワークサーバ50は、具体的には、ワークステーションやパーソナルコンピュータ等の情報処理装置によって実現される。図10に示すように、ネットワークサーバ50は、プログラムデータベース51を備える。
プログラムデータベース51は、具体的には、磁気ディスク装置や光ディスク装置等のデータベース装置によって実現される。プログラムデータベース51は、携帯電話機200用の最新のプログラム(CPU201用プログラム及びCPU206用プログラム)を蓄積する。また、プログラムデータベース51は、携帯電話機200用のプログラムのうち、CPU201用プログラムを分割し圧縮した状態で蓄積する。すなわち、プログラムデータベース51は、CPU201用プログラムの複数の分割圧縮プログラムを蓄積する。
また、プログラムデータベース51は、各携帯電話機200が搭載するプログラムのバージョン番号を、携帯電話機200に対応付けて記憶する。図11は、プログラムデータベース51が記憶する携帯電話機200のバージョン番号の例を示す説明図である。図11に示すように、プログラムデータベース51は、各携帯電話機200が搭載する分割圧縮プログラムのバージョン番号を、携帯電話機200を識別するための移動機識別番号(例えば、International Mobile Equipment Identity (IMEI))に対応付けて記憶する。
ネットワークサーバ50は、携帯電話機200からプログラムのダウンロード要求を受信すると、ダウンロード要求されたプログラム(CPU206用プログラムや各分割圧縮プログラム9)を、プログラムデータベース51から抽出する機能を備える。また、ネットワークサーバ50は、抽出したプログラムを、通信ネットワーク500を介して携帯電話機200に送信する機能を備える。
また、ネットワークサーバ50は、プログラムデータベース51が記憶するバージョン番号に基づいて、各携帯電話機200が搭載するプログラムのバージョン番号を管理する機能を備える。本実施の形態では、ネットワークサーバ50は、ダウンロード要求に応じて携帯電話機200にプログラムを送信すると、プログラムデータベース51が記憶するバージョン番号を更新する。
次に、動作について説明する。プログラム作成端末30は、携帯電話機200の出荷時に、作業員の操作に従って、携帯電話機200用の各プログラム、及び出荷した各携帯電話機200の移動機識別番号を、通信ネットワーク500を介してネットワークサーバ50にアップロードする。すると、ネットワークサーバ50は、受信した各プログラム(CPU206用プログラム及び各分割圧縮プログラム)を、プログラムデータベース51に予め蓄積する。また、ネットワークサーバ50は、受信した各分圧縮プログラムの出荷時のバージョン番号を、各携帯電話機200の移動機識別番号に対応付けてプログラムデータベース51に記憶させる。
まず、出荷後に不具合等によりCPU201用プログラムを更新した場合に、ネットワークサーバ50に更新後の各分割圧縮プログラムを再アップロードする動作を説明する。この場合、プログラム作成端末30は、図4に示すステップS301からステップS303と同様の処理に従って、更新後のCPU201用プログラムを更新し、分割圧縮プログラムを作成する。
図12は、プログラム作成端末30が、更新後の各分割圧縮プログラムをネットワークサーバ50に再アップロードする処理の一例を示す流れ図である。プログラム作成端末30は、更新後の分割圧縮プログラムのファイルと、出荷時の分割圧縮プログラムのファイルとを比較する(ステップS601)。そして、プログラム作成端末30は、出荷時の分割圧縮プログラムと更新後の分割圧縮プログラムとで、ファイルのデータに差分があるか否かを判断する(ステップS602)。
ファイルのデータに差分があると判断すると、プログラム作成端末30は、更新後の分割圧縮プログラムに対してバージョン番号を付与しなおす(ステップS603)。ファイルのデータに差分がないと判断すると、プログラム作成端末30は、バージョン番号を付与することなく、ステップS604に移行する。
また、プログラム作成端末30は、全ての分割圧縮プログラムについて差分の確認を行ったか否かを判断する(ステップS604)。全ての分割圧縮プログラムについて差分の確認を行っていない(未確認の分割圧縮プログラムがある)と判断すると、プログラム作成端末30は、次の分割圧縮プログラムに対して、ステップS601からステップS604までの処理を繰り返し実行する。
本実施の形態では、ステップS601からステップS604までの処理を繰り返し実行することによって、CPU201用プログラムのうち、更新された部分の分割圧縮プログラムに対してのみ、バージョン番号を付与しなおす。
ステップS604で全ての分割圧縮プログラムについて差分の確認を行ったと判断すると、プログラム作成端末30は、更新後の各分割圧縮プログラム(差分のあったプログラム)を、通信ネットワーク500を介してネットワークサーバ50にアップロードする(ステップS605)。この場合、プログラム作成端末30は、各分割圧縮プログラムとともに、プログラム更新対象の各携帯電話機200の移動機識別番号をネットワークサーバ50に送信する。すると、ネットワークサーバ50は、受信した更新後の各分割圧縮プログラムに基づいて、プログラムデータベース51が蓄積するプログラムを更新する。
次に、携帯電話機200からのダウンロード要求に応じて、更新後の分割圧縮プログラムを携帯電話機200にダウンロードする動作を説明する。図13は、更新後の分割圧縮プログラムを携帯電話機200にダウンロードする処理の一例を示す流れ図である。携帯電話機200用のプログラムを最新版に更新する場合、ユーザは、携帯電話機200を操作して、最新のプログラムのダウンロード操作を行う。携帯電話機200は、ユーザの操作に従って、最新プログラムのダウンロード要求を、通信ネットワーク500を介してネットワークサーバ50に送信する。この場合、携帯電話機200は、ダウンロード要求とともに、自分の移動機識別番号をネットワークサーバ50に送信する。
ネットワークサーバ50は、受信した移動機識別番号に基づいて、携帯電話機200が現在搭載してる各分割圧縮プログラムのバージョン番号を特定する(ステップS701)。この場合、ネットワークサーバ50は、受信した移動機識別番号に対応する各バージョン番号を、プログラムデータベース51が記憶するバージョン番号に基づいて特定する。例えば、ネットワークサーバ50は、移動機識別番号「11111」を受信した場合、図11に示すプログラムデータベース51が記憶するバージョン番号に基づいて、携帯電話機200が現在搭載する各分割圧縮プログラムのバージョン番号がそれぞれ「1.0」、「2.1」及び「3.0」であると特定する。
ネットワークサーバ50は、特定したバージョン番号と、プログラムデータベース51に蓄積する最新版の各分割圧縮プログラムのバージョン番号とに差分がある(同じでない)か否かを判断する(ステップS702)。すなわち、ネットワークサーバ50は、携帯電話機200が現在搭載するプログラムのバージョン番号が、最新版のプログラムのバージョン番号と同じであるか否かを判断する。
バージョン番号に差分がある(同じでない)分割圧縮プログラムがあると判断すると、ネットワークサーバ50は、バージョン番号に差分がある分割圧縮プログラムを、プログラムデータベース51から抽出する。そして、ネットワークサーバ50は、抽出した分割圧縮プログラムを、通信ネットワーク500を介して携帯電話機200に送信する(ステップS703)。
例えば、最新版の分割圧縮プログラムAのバージョン番号が「1.0」であり、最新版の分割圧縮プログラムBのバージョン番号が「2.1」であり、最新版の分割圧縮プログラムCのバージョン番号が「3.0」であるとする。また、ネットワークサーバ50が、携帯電話機200から受信した移動機識別番号が「22222」であったとする。この場合、ネットワークサーバ50は、図11に示すプログラムデータベース51が記憶するバージョン番号に基づいて、携帯電話機200が現在搭載する分割圧縮プログラムBのバージョン番号が「2.0」であると特定する。そして、ネットワークサーバ50は、分割圧縮プログラムBのバージョン番号に差分があると判断し、分割圧縮プログラムBを携帯電話機200に送信する。
なお、ネットワークサーバ50は、分割圧縮プログラムA及び分割圧縮プログラムCについては、バージョン番号に差分がないと判断し、プログラムの送信を行わない。すなわち、ネットワークサーバ50は、CPU201用プログラムのうち、更新された部分に対応する分割圧縮プログラムBのみをネットワークサーバ50に送信する。
携帯電話機200は、受信した分割圧縮プログラムをROM207に書き込む(ステップS704)。ROM207への書き込みを完了すると、携帯電話機200は、更新後の分割圧縮プログラムの書き込みを完了した旨を示す通知情報を、ネットワークサーバ50を介してネットワークサーバ50に送信する(ステップS705)。
携帯電話機200から通知情報を受信すると、ネットワークサーバ50は、プログラムデータベース51に記憶するバージョン番号を更新する。例えば、図11に示す例において、移動機識別番号「22222」の携帯電話機200から通知情報を受信すると、ネットワークサーバ50は、プログラムデータベース51に記憶する移動機識別番号「22222」に対応する各バージョン番号を、最新版のバージョン番号に更新する。
ステップS702でバージョン番号に差分がある分割圧縮プログラムがない(全ての分割圧縮プログラムのバージョン番号が最新版のバージョン番号と同じである)と判断すると、ネットワークサーバ50は、そのままダウンロード処理を終了する(ステップS706)。例えば、図11に示す例において、携帯電話機200から移動機識別番号「11111」を受信したとする。この場合、携帯電話機200が現在搭載している各分割圧縮プログラムのバージョン番号が全て最新版のバージョン番号と同じであるので、ネットワークサーバ50は、分割圧縮プログラムのダウンロードを行う必要がないと判断し、そのまま処理を終了する。
以上のように、本実施の形態によれば、ネットワークサーバ50は、更新後のプログラムを分割した分割プログラム(分割圧縮プログラム)を蓄積する。また、ネットワークサーバ50は、携帯電話機200からの要求に応じて、分割プログラム毎(分割圧縮プログラム毎)に、バージョンの差分を判定して携帯電話機200に配信する。更新後のCPU201用プログラムのうち、更新された部分(分割圧縮プログラム)のみをダウンロードできるので、携帯電話機200へのプログラムのダウンロード時間を短縮することができる。また、更新後のCPU201用プログラムを圧縮した状態でダウンロードできるので、携帯電話機200へのプログラムのダウンロード時間を短縮することができる。
本発明は、2つのCPUを搭載する携帯電話機に適用できる。また、本発明は、更新後の携帯電話機用のプログラムを、通信ネットワークを介して携帯電話機にダウンロードさせるダウンロードサービスの用途に適用できる。
本発明による2CPU構成を備えた携帯電話機の構成の一例を示すブロック図である。 CPU206からCPU201にプログラムを転送し、転送したプログラムを起動する処理の一例を示す流れ図である。 図2に示すプログラムの転送処理を実行する際に、CPU201とCPU206との間で実行される処理の流れを示す流れ図である。 プログラム作成端末が、CPU201用プログラムをコンパイルし、携帯電話機200への書き込み用のプログラムを作成する処理の一例を示す流れ図である。 プログラム作成端末の記憶装置が記憶する情報の例を示す説明図である。 プログラム作成端末の記憶装置が記憶する更新後の情報の例を示す説明図である。 プログラム作成端末が作成したプログラムを携帯電話機200に書き込む処理の一例を示す流れ図である。 2CPU構成を備えた携帯電話機の他の構成例を示すブロック図である。 2CPU構成を備えた携帯電話機の更に他の構成例を示すブロック図である。 更新後のCPU201用プログラムの各分割圧縮プログラムを、携帯電話機200にダウンロードするダウンロードシステムの構成の一例を示すブロック図である。 プログラムデータベース51が記憶する携帯電話機200のバージョン番号の例を示す説明図である。 プログラム作成端末30が、更新後の各分割圧縮プログラムをネットワークサーバ50に再アップロードする処理の一例を示す流れ図である。 更新後の分割圧縮プログラムを携帯電話機200にダウンロードする処理の一例を示す流れ図である。 2CPU構成を備えた携帯電話機の構成例を示すブロック図である。
符号の説明
200 携帯電話機
201,206 CPU
203,208 RAM
204,209 バス
205 送受信部
207 ROM
210 LCD/KEY
211 バス(CPU間接続バス)
212 共通のバス(共用バス)

Claims (20)

  1. 第1のCPUと、
    第2のCPUとを備え、
    前記第1のCPUに接続されるプログラム格納手段とを備え、
    前記プログラム格納手段は、前記第2のCPUが用いるプログラムを分割した複数の分割プログラムを格納し、
    前記第1のCPUは前記各分割プログラムを前記第2のCPUに転送し、
    前記第2のCPUは転送された前記各分割プログラムに基づいて、前記第2のCPUが用いる前記プログラムを展開し処理を実行することを特徴とする携帯電話機。
  2. 前記各分割プログラムは転送された第2のCPUが解凍可能にデータ圧縮されており、
    前記第2のCPUは、転送された前記各分割プログラムを解凍後前記第2のCPUが用いるプログラムを展開し処理を実行することを特徴とする携帯電話機。
  3. 前記プログラム格納手段は、前記各分割プログラムと共に前記第1のCPUが用いるプログラムを格納することを特徴とする請求項1又は請求項2記載の携帯電話機。
  4. 第2のCPUに接続されるRAMをさらに備え、
    前記第1のCPUは前記RAMに前記プログラムを展開することを特徴とする請求項1から請求項3のうちのいずれか1項に記載の携帯電話機。
  5. 前記第1のCPUと前記第2のCPUはCPU間接続バスを用いて接続されていることを特徴とする請求項1から請求項4のうちのいずれか1項に記載の携帯電話機。
  6. 前記第1のCPUと前記第2のCPUは共用バスを用いて接続されていることを特徴とする請求項1から請求項4のうちのいずれか1項に記載の携帯電話機。
  7. 携帯電話機が用いるプログラムを作成するプログラム作成方式であって、
    携帯電話機と、
    前記携帯電話機が用いるプログラムを作成するプログラム作成端末とを備え、
    前記携帯電話機は、
    第1のCPUと、
    前記第1のCPUに接続され、前記第1のCPUが用いるプログラムを格納するプログラム格納手段と、
    前記第1のCPUが実行する処理とは異なる処理を実行する第2のCPUとを含み、
    前記プログラム格納手段は、前記第1のCPUが用いるプログラムとともに、前記第2のCPUが用いるプログラムを分割した複数の分割プログラムを格納し、
    前記第1のCPUは、前記プログラム格納手段が格納するプログラムのうち、前記各分割プログラムを前記第2のCPUに転送し、
    前記第2のCPUは、前記第1のCPUから転送された各分割プログラムに基づいて、前記第2のCPUが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、
    前記プログラム作成端末は、
    前記携帯電話機が用いるプログラムを作成するプログラム作成手段と、
    前記プログラム作成手段が作成したプログラムを、前記携帯電話機の前記プログラム格納手段に書き込むプログラム書込手段とを含む
    ことを特徴とするプログラム作成方式。
  8. プログラム作成端末は、
    プログラム作成手段が作成するプログラムのうち、第2のCPUが用いるプログラムを記憶するプログラム記憶手段と、
    前記プログラム作成手段が前記第2のCPUが用いるプログラムを新たに作成すると、前記プログラム記憶手段が記憶するプログラムと、前記プログラム作成手段が新たに作成したプログラムとに差分があるか否かを判定する差分判定手段と、
    前記差分判定手段が、プログラムに差分があると判定すると、前記プログラム作成手段が新たに作成したプログラムにバージョンを付与するバージョン付与手段とを含む
    請求項7記載のプログラム作成方式。
  9. プログラム作成端末は、プログラム作成手段が作成するプログラムのうち、第2のCPUが用いるプログラムを分割して複数の分割プログラムを作成するプログラム分割手段を含み、
    プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割した複数の分割プログラムを記憶し、
    差分判定手段は、前記プログラム分割手段が分割プログラムを新たに作成すると、前記プログラム記憶手段が記憶する分割プログラムと、前記プログラム分割手段が作成した分割プログラムとに差分があるか否かを、分割プログラム毎に判定し、
    バージョン付与手段は、前記プログラム分割手段が新たに作成した分割プログラムのうち、前記差分判定手段が差分があると判定した分割プログラムにバージョンを付与する
    請求項8記載のプログラム作成方式。
  10. プログラム作成端末は、プログラム分割手段が作成した分割プログラムを圧縮した複数の分割圧縮プログラムを作成するプログラム圧縮手段を含み、
    プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、
    差分判定手段は、前記プログラム圧縮手段が分割圧縮プログラムを新たに作成すると、前記プログラム記憶手段が記憶する分割圧縮プログラムと、前記プログラム圧縮手段が作成した分割圧縮プログラムとに差分があるか否かを、分割圧縮プログラム毎に判定し、
    バージョン付与手段は、前記プログラム分割圧縮手段が新たに作成した分割圧縮プログラムのうち、前記差分判定手段が差分があると判定した分割圧縮プログラムにバージョンを付与する
    請求項9記載のプログラム作成方式。
  11. プログラム作成端末は、
    携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを読み出すバージョン読出手段と、
    前記バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを判定するバージョン判定手段とを含み、
    プログラム書込手段は、前記バージョン判定手段がバージョンが異なると判定すると、前記プログラム記憶手段が記憶するプログラムを、前記携帯電話機の前記プログラム格納手段に書き込む
    請求項8から請求項10のうちのいずれか1項に記載のプログラム作成方式。
  12. プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割した複数の分割プログラムを記憶し、
    バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割プログラム毎に読み出し、
    バージョン判定手段は、前記バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割プログラム毎に判定し、
    プログラム書込手段は、前記プログラム記憶手段が記憶する分割プログラムのうち、前記バージョン判定手段がバージョンが異なると判定した分割プログラムを、前記携帯電話機の前記プログラム格納手段に書き込む
    請求項11記載のプログラム作成方式。
  13. プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第2のCPUが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、
    バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割圧縮プログラム毎に読み出し、
    バージョン判定手段は、前記バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、
    プログラム書込手段は、前記プログラム記憶手段が記憶する分割圧縮プログラムのうち、前記バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを、前記携帯電話機の前記プログラム格納手段に書き込む
    請求項11記載のプログラム作成方式。
  14. 携帯電話機が用いるプログラムを更新するプログラム更新方式であって、
    携帯電話機と、
    前記携帯電話機が用いるプログラムを配信する配信サーバとを備え、
    前記携帯電話機は、
    第1のCPUと、
    前記第1のCPUに接続され、前記第1のCPUが用いるプログラムを格納するプログラム格納手段と、
    前記第1のCPUが実行する処理とは異なる処理を実行する第2のCPUとを含み、
    前記プログラム格納手段は、前記第1のCPUが用いるプログラムとともに、前記第2のCPUが用いるプログラムを分割した複数の分割プログラムを格納し、
    前記第1のCPUは、前記プログラム格納手段が格納するプログラムのうち、前記各分割プログラムを前記第2のCPUに転送し、
    前記第2のCPUは、前記第1のCPUから転送された各分割プログラムに基づいて、前記第2のCPUが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、
    前記配信サーバは、
    前記携帯電話機が用いるプログラムを蓄積するプログラム蓄積手段と、
    前記携帯電話機からの要求に応じて、前記プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信するプログラム配信手段を含む
    ことを特徴とするプログラム更新方式。
  15. 配信サーバは、携帯電話機が現在搭載するプログラムのバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定する現バージョン判定手段を含み、
    プログラム配信手段は、前記現バージョン判定手段がバージョンが異なると判定すると、前記プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信する
    請求項14記載のプログラム更新方式。
  16. 携帯電話機は、当該携帯電話機を識別するための端末識別情報を、通信ネットワークを介して配信サーバに送信する識別情報送信手段を含み、
    前記配信サーバは、
    各携帯電話機が現在搭載しているプログラムのバージョンを、端末識別情報に対応付けて記憶するバージョン情報記憶手段と、
    前記携帯電話機から受信した端末識別情報に対応するバージョンを、前記バージョン情報記憶手段から抽出することによって、前記携帯電話機が現在搭載しているプログラムのバージョンを特定するバージョン特定手段とを含み、
    現バージョン判定手段は、前記バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定する
    請求項15記載のプログラム更新方式。
  17. プログラム蓄積手段は、携帯電話機が用いるプログラムのうち、第2のCPUが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを蓄積し、
    バージョン特定手段は、前記携帯電話機から受信した端末識別情報に対応するバージョンを、バージョン情報記憶手段から抽出することによって、前記携帯電話機が現在搭載しているプログラムのバージョンを、分割圧縮プログラム毎に特定し、
    現バージョン判定手段は、前記バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、
    プログラム配信手段は、前記プログラム蓄積手段が蓄積する分割圧縮プログラムのうち、前記現バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信する
    請求項16記載のプログラム更新方式。
  18. 携帯電話機が用いるプログラムを作成するプログラム作成方法であって、
    2つのCPUを搭載する携帯電話機が用いるプログラムを作成するステップと、
    前記携帯電話機が用いるプログラムを記憶手段に記憶するステップと、
    前記携帯電話機が用いるプログラムを新たに作成すると、前記記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があるか否かを判定するステップと、
    前記記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があると判定すると、新たに作成したプログラムにバージョンを付与するステップとを
    含むことを特徴とするプログラム作成方法。
  19. 携帯電話機から、当該携帯電話機が記憶するプログラムのバージョンを読み出すステップと、
    読み出したバージョンと記憶手段に記憶するプログラムのバージョンとが異なるか否かを判定するステップと、
    バージョンが異なると判定すると、前記記憶手段に記憶するプログラムを前記携帯電話機に書き込むステップとを含む
    請求項18記載のプログラム作成方法。
  20. 携帯電話機が用いるプログラムを更新するプログラム更新方法であって、
    配信サーバが、携帯電話機が用いるプログラムを予めデータベースに蓄積するステップと、
    前記配信サーバが、2つのCPUを搭載する携帯電話機からの要求に応じて、携帯電話機が現在搭載するプログラムのバージョンと、前記データベースに蓄積するプログラムのバージョンとが異なるか否かを判定するステップと、
    前記配信サーバが、バージョンが異なると判定すると、前記データベースからプログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信するステップとを
    含むことを特徴とするプログラム更新方法。
JP2005210422A 2005-07-20 2005-07-20 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法 Ceased JP2007026318A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005210422A JP2007026318A (ja) 2005-07-20 2005-07-20 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005210422A JP2007026318A (ja) 2005-07-20 2005-07-20 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法

Publications (1)

Publication Number Publication Date
JP2007026318A true JP2007026318A (ja) 2007-02-01

Family

ID=37786960

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005210422A Ceased JP2007026318A (ja) 2005-07-20 2005-07-20 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法

Country Status (1)

Country Link
JP (1) JP2007026318A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223866A (ja) * 2008-02-19 2009-10-01 Canon Inc 情報処理装置及び情報処理方法
JP2010204326A (ja) * 2009-03-03 2010-09-16 Canon Inc 携帯機器および撮像装置
JP2010258755A (ja) * 2009-04-24 2010-11-11 Nec Corp 携帯端末装置、メモリ更新方法、及び、プログラム
US10540169B2 (en) 2017-06-19 2020-01-21 Clarion Co., Ltd. Electronic device configured to update program stored therein using difference data and program updating method using difference data

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03111961A (ja) * 1989-09-27 1991-05-13 Fujitsu Kiden Ltd マルチcpuのプログラムロード方式
JPH0855097A (ja) * 1994-08-09 1996-02-27 Toshiba Corp データ処理システム及びそのメモリアクセス方法
JP2000112722A (ja) * 1998-10-02 2000-04-21 Fuji Electric Co Ltd 版数管理システム、管理方法及び記憶媒体
JP2000339284A (ja) * 1999-05-28 2000-12-08 Fujitsu Ltd マルチプロセッサシステム及びその起動方法
JP2002175237A (ja) * 2000-12-05 2002-06-21 Mitsubishi Electric Corp 中継方式及びプログラム中継システム及び中継方法及び中継プログラムを記録したコンピュータで読み取り可能な記録媒体
JP2002244857A (ja) * 2001-02-15 2002-08-30 Toyoda Mach Works Ltd 制御装置
JP2003316478A (ja) * 2002-04-25 2003-11-07 Hitachi Ltd リセット方法およびこれを用いた携帯端末
JP2004030539A (ja) * 2002-06-28 2004-01-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
WO2004063927A1 (en) * 2003-01-14 2004-07-29 International Business Machines Corporation Backup firmware in a distributed system
JP2004213201A (ja) * 2002-12-27 2004-07-29 Fujitsu Ltd バージョンアップ方法
JP2005018418A (ja) * 2003-06-26 2005-01-20 Konica Minolta Business Technologies Inc 画像形成装置
JP2005056319A (ja) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd ソフトウエア更新システム、ソフトウエア更新方法、およびソフトウエア更新プログラム

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03111961A (ja) * 1989-09-27 1991-05-13 Fujitsu Kiden Ltd マルチcpuのプログラムロード方式
JPH0855097A (ja) * 1994-08-09 1996-02-27 Toshiba Corp データ処理システム及びそのメモリアクセス方法
JP2000112722A (ja) * 1998-10-02 2000-04-21 Fuji Electric Co Ltd 版数管理システム、管理方法及び記憶媒体
JP2000339284A (ja) * 1999-05-28 2000-12-08 Fujitsu Ltd マルチプロセッサシステム及びその起動方法
JP2002175237A (ja) * 2000-12-05 2002-06-21 Mitsubishi Electric Corp 中継方式及びプログラム中継システム及び中継方法及び中継プログラムを記録したコンピュータで読み取り可能な記録媒体
JP2002244857A (ja) * 2001-02-15 2002-08-30 Toyoda Mach Works Ltd 制御装置
JP2003316478A (ja) * 2002-04-25 2003-11-07 Hitachi Ltd リセット方法およびこれを用いた携帯端末
JP2004030539A (ja) * 2002-06-28 2004-01-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2004213201A (ja) * 2002-12-27 2004-07-29 Fujitsu Ltd バージョンアップ方法
WO2004063927A1 (en) * 2003-01-14 2004-07-29 International Business Machines Corporation Backup firmware in a distributed system
JP2005018418A (ja) * 2003-06-26 2005-01-20 Konica Minolta Business Technologies Inc 画像形成装置
JP2005056319A (ja) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd ソフトウエア更新システム、ソフトウエア更新方法、およびソフトウエア更新プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223866A (ja) * 2008-02-19 2009-10-01 Canon Inc 情報処理装置及び情報処理方法
US8806241B2 (en) 2008-02-19 2014-08-12 Canon Kabushiki Kaisha Apparatus and method for shortening the time returning from a power-saving mode to normal power mode and reducing power consumption in the power-saving mode
JP2010204326A (ja) * 2009-03-03 2010-09-16 Canon Inc 携帯機器および撮像装置
JP2010258755A (ja) * 2009-04-24 2010-11-11 Nec Corp 携帯端末装置、メモリ更新方法、及び、プログラム
US10540169B2 (en) 2017-06-19 2020-01-21 Clarion Co., Ltd. Electronic device configured to update program stored therein using difference data and program updating method using difference data

Similar Documents

Publication Publication Date Title
JP2009544095A (ja) Ota可能な携帯端末のプログラム更新システム及び方法
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
US11775288B2 (en) Method and apparatus for generating difference between old and new versions of data for updating software
CN104038520B (zh) 一种多版本分布式资源管理方法和系统
JP5500999B2 (ja) 情報処理装置およびその制御方法およびプログラム
CN103809996A (zh) 对移动计算设备传播经更新驱动程序的方法和其传播系统
KR20110076432A (ko) Can 통신을 이용한 다중 프로그램 업데이트 시스템 및 방법
CN110851154B (zh) 用于更新只读存储器编码的计算机实施方法、系统及介质
CN111142884A (zh) 小程序的版本部署方法、装置、电子设备及存储介质
US20230359454A1 (en) Software update device, update control method, and non-transitory storage medium
CN112394932A (zh) 浏览器网页自动换肤方法及装置
JP2007026318A (ja) 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法
CN110989986A (zh) 基于软件模板的软件生成方法、装置和计算机设备
KR100747901B1 (ko) 이동통신단말기의 실행 파일 압축 방법
KR20020009741A (ko) 휴대전화단말기의 오퍼레이팅 기반환경 구축장치 및 이를이용한 응용프로그램의 무선 업그레이드 방법
CN112416384A (zh) 软件升级方法、装置及计算机设备
CN114610366A (zh) 一种差分包升级方法、系统、智能电子设备和存储介质
US9122555B2 (en) Information processing system, information processing apparatus, storage medium having stored therein information processing program, method of executing application, and storage medium stored therein data of application
CN110825406A (zh) 一种软件升级的方法及相关设备
CN109857440A (zh) 固件更新方法、服务器以及客户端
CN108664259B (zh) 一种进行应用安装的方法和终端
US10540169B2 (en) Electronic device configured to update program stored therein using difference data and program updating method using difference data
JPS63178358A (ja) ダウンロ−ド処理方式
JP2022147666A (ja) ダウンロードデバイス、ダウンロードシステム、及び、サーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110608

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111027

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20120813

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120914