(57)【要約】【課題】  ２つのＣＰＵを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減できるようにする。【解決手段】  携帯電話機２００は、２つのＣＰＵ２０１，２０６と１つのＲＯＭ２０７とを含み、２ＣＰＵ構成の携帯電話機が本来備えるＲＯＭのうちの一方をなくした構成を採用する。ＲＯＭ２０７は、ＣＰＵ２０６用プログラムを格納するとともに、ＣＰＵ２０１用プログラムを分割し圧縮した複数の分割圧縮プログラムを格納する。ＣＰＵ２０６は、ＲＯＭ２０７から各分割圧縮プログラムを読み出し、バス２１１を介してＣＰＵ２０１に転送する。また、ＣＰＵ２０１は、転送された各分割圧縮プログラムを解凍し、ＲＡＭ２０３に展開する。そして、ＣＰＵ２０１は、ＲＡＭ２０３に展開したＣＰＵ２０１用プログラムに従って処理を実行する。【選択図】  図１
2007026318.tif 000002
【特許請求の範囲】
【請求項１】
第１のＣＰＵと、
第２のＣＰＵとを備え、
前記第１のＣＰＵに接続されるプログラム格納手段とを備え、
前記プログラム格納手段は、前記第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを格納し、
前記第１のＣＰＵは前記各分割プログラムを前記第２のＣＰＵに転送し、
前記第２のＣＰＵは転送された前記各分割プログラムに基づいて、前記第２のＣＰＵが用いる前記プログラムを展開し処理を実行することを特徴とする携帯電話機。
【請求項２】
前記各分割プログラムは転送された第２のＣＰＵが解凍可能にデータ圧縮されており、
前記第２のＣＰＵは、転送された前記各分割プログラムを解凍後前記第２のＣＰＵが用いるプログラムを展開し処理を実行することを特徴とする携帯電話機。
【請求項３】
前記プログラム格納手段は、前記各分割プログラムと共に前記第１のＣＰＵが用いるプログラムを格納することを特徴とする請求項１又は請求項２記載の携帯電話機。
【請求項４】
第２のＣＰＵに接続されるＲＡＭをさらに備え、
前記第１のＣＰＵは前記ＲＡＭに前記プログラムを展開することを特徴とする請求項１から請求項３のうちのいずれか１項に記載の携帯電話機。
【請求項５】
前記第１のＣＰＵと前記第２のＣＰＵはＣＰＵ間接続バスを用いて接続されていることを特徴とする請求項１から請求項４のうちのいずれか１項に記載の携帯電話機。
【請求項６】
前記第１のＣＰＵと前記第２のＣＰＵは共用バスを用いて接続されていることを特徴とする請求項１から請求項４のうちのいずれか１項に記載の携帯電話機。
【請求項７】
携帯電話機が用いるプログラムを作成するプログラム作成方式であって、
携帯電話機と、
前記携帯電話機が用いるプログラムを作成するプログラム作成端末とを備え、
前記携帯電話機は、
第１のＣＰＵと、
前記第１のＣＰＵに接続され、前記第１のＣＰＵが用いるプログラムを格納するプログラム格納手段と、
前記第１のＣＰＵが実行する処理とは異なる処理を実行する第２のＣＰＵとを含み、
前記プログラム格納手段は、前記第１のＣＰＵが用いるプログラムとともに、前記第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを格納し、
前記第１のＣＰＵは、前記プログラム格納手段が格納するプログラムのうち、前記各分割プログラムを前記第２のＣＰＵに転送し、
前記第２のＣＰＵは、前記第１のＣＰＵから転送された各分割プログラムに基づいて、前記第２のＣＰＵが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、
前記プログラム作成端末は、
前記携帯電話機が用いるプログラムを作成するプログラム作成手段と、
前記プログラム作成手段が作成したプログラムを、前記携帯電話機の前記プログラム格納手段に書き込むプログラム書込手段とを含む
ことを特徴とするプログラム作成方式。
【請求項８】
プログラム作成端末は、
プログラム作成手段が作成するプログラムのうち、第２のＣＰＵが用いるプログラムを記憶するプログラム記憶手段と、
前記プログラム作成手段が前記第２のＣＰＵが用いるプログラムを新たに作成すると、前記プログラム記憶手段が記憶するプログラムと、前記プログラム作成手段が新たに作成したプログラムとに差分があるか否かを判定する差分判定手段と、
前記差分判定手段が、プログラムに差分があると判定すると、前記プログラム作成手段が新たに作成したプログラムにバージョンを付与するバージョン付与手段とを含む
請求項７記載のプログラム作成方式。
【請求項９】
プログラム作成端末は、プログラム作成手段が作成するプログラムのうち、第２のＣＰＵが用いるプログラムを分割して複数の分割プログラムを作成するプログラム分割手段を含み、
プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを記憶し、
差分判定手段は、前記プログラム分割手段が分割プログラムを新たに作成すると、前記プログラム記憶手段が記憶する分割プログラムと、前記プログラム分割手段が作成した分割プログラムとに差分があるか否かを、分割プログラム毎に判定し、
バージョン付与手段は、前記プログラム分割手段が新たに作成した分割プログラムのうち、前記差分判定手段が差分があると判定した分割プログラムにバージョンを付与する
請求項８記載のプログラム作成方式。
【請求項１０】
プログラム作成端末は、プログラム分割手段が作成した分割プログラムを圧縮した複数の分割圧縮プログラムを作成するプログラム圧縮手段を含み、
プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、
差分判定手段は、前記プログラム圧縮手段が分割圧縮プログラムを新たに作成すると、前記プログラム記憶手段が記憶する分割圧縮プログラムと、前記プログラム圧縮手段が作成した分割圧縮プログラムとに差分があるか否かを、分割圧縮プログラム毎に判定し、
バージョン付与手段は、前記プログラム分割圧縮手段が新たに作成した分割圧縮プログラムのうち、前記差分判定手段が差分があると判定した分割圧縮プログラムにバージョンを付与する
請求項９記載のプログラム作成方式。
【請求項１１】
プログラム作成端末は、
携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを読み出すバージョン読出手段と、
前記バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを判定するバージョン判定手段とを含み、
プログラム書込手段は、前記バージョン判定手段がバージョンが異なると判定すると、前記プログラム記憶手段が記憶するプログラムを、前記携帯電話機の前記プログラム格納手段に書き込む
請求項８から請求項１０のうちのいずれか１項に記載のプログラム作成方式。
【請求項１２】
プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを記憶し、
バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割プログラム毎に読み出し、
バージョン判定手段は、前記バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割プログラム毎に判定し、
プログラム書込手段は、前記プログラム記憶手段が記憶する分割プログラムのうち、前記バージョン判定手段がバージョンが異なると判定した分割プログラムを、前記携帯電話機の前記プログラム格納手段に書き込む
請求項１１記載のプログラム作成方式。
【請求項１３】
プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、
バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割圧縮プログラム毎に読み出し、
バージョン判定手段は、前記バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、
プログラム書込手段は、前記プログラム記憶手段が記憶する分割圧縮プログラムのうち、前記バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを、前記携帯電話機の前記プログラム格納手段に書き込む
請求項１１記載のプログラム作成方式。
【請求項１４】
携帯電話機が用いるプログラムを更新するプログラム更新方式であって、
携帯電話機と、
前記携帯電話機が用いるプログラムを配信する配信サーバとを備え、
前記携帯電話機は、
第１のＣＰＵと、
前記第１のＣＰＵに接続され、前記第１のＣＰＵが用いるプログラムを格納するプログラム格納手段と、
前記第１のＣＰＵが実行する処理とは異なる処理を実行する第２のＣＰＵとを含み、
前記プログラム格納手段は、前記第１のＣＰＵが用いるプログラムとともに、前記第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを格納し、
前記第１のＣＰＵは、前記プログラム格納手段が格納するプログラムのうち、前記各分割プログラムを前記第２のＣＰＵに転送し、
前記第２のＣＰＵは、前記第１のＣＰＵから転送された各分割プログラムに基づいて、前記第２のＣＰＵが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、
前記配信サーバは、
前記携帯電話機が用いるプログラムを蓄積するプログラム蓄積手段と、
前記携帯電話機からの要求に応じて、前記プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信するプログラム配信手段を含む
ことを特徴とするプログラム更新方式。
【請求項１５】
配信サーバは、携帯電話機が現在搭載するプログラムのバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定する現バージョン判定手段を含み、
プログラム配信手段は、前記現バージョン判定手段がバージョンが異なると判定すると、前記プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信する
請求項１４記載のプログラム更新方式。
【請求項１６】
携帯電話機は、当該携帯電話機を識別するための端末識別情報を、通信ネットワークを介して配信サーバに送信する識別情報送信手段を含み、
前記配信サーバは、
各携帯電話機が現在搭載しているプログラムのバージョンを、端末識別情報に対応付けて記憶するバージョン情報記憶手段と、
前記携帯電話機から受信した端末識別情報に対応するバージョンを、前記バージョン情報記憶手段から抽出することによって、前記携帯電話機が現在搭載しているプログラムのバージョンを特定するバージョン特定手段とを含み、
現バージョン判定手段は、前記バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定する
請求項１５記載のプログラム更新方式。
【請求項１７】
プログラム蓄積手段は、携帯電話機が用いるプログラムのうち、第２のＣＰＵが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを蓄積し、
バージョン特定手段は、前記携帯電話機から受信した端末識別情報に対応するバージョンを、バージョン情報記憶手段から抽出することによって、前記携帯電話機が現在搭載しているプログラムのバージョンを、分割圧縮プログラム毎に特定し、
現バージョン判定手段は、前記バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、
プログラム配信手段は、前記プログラム蓄積手段が蓄積する分割圧縮プログラムのうち、前記現バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信する
請求項１６記載のプログラム更新方式。
【請求項１８】
携帯電話機が用いるプログラムを作成するプログラム作成方法であって、
２つのＣＰＵを搭載する携帯電話機が用いるプログラムを作成するステップと、
前記携帯電話機が用いるプログラムを記憶手段に記憶するステップと、
前記携帯電話機が用いるプログラムを新たに作成すると、前記記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があるか否かを判定するステップと、
前記記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があると判定すると、新たに作成したプログラムにバージョンを付与するステップとを
含むことを特徴とするプログラム作成方法。
【請求項１９】
携帯電話機から、当該携帯電話機が記憶するプログラムのバージョンを読み出すステップと、
読み出したバージョンと記憶手段に記憶するプログラムのバージョンとが異なるか否かを判定するステップと、
バージョンが異なると判定すると、前記記憶手段に記憶するプログラムを前記携帯電話機に書き込むステップとを含む
請求項１８記載のプログラム作成方法。
【請求項２０】
携帯電話機が用いるプログラムを更新するプログラム更新方法であって、
配信サーバが、携帯電話機が用いるプログラムを予めデータベースに蓄積するステップと、
前記配信サーバが、２つのＣＰＵを搭載する携帯電話機からの要求に応じて、携帯電話機が現在搭載するプログラムのバージョンと、前記データベースに蓄積するプログラムのバージョンとが異なるか否かを判定するステップと、
前記配信サーバが、バージョンが異なると判定すると、前記データベースからプログラムを抽出し、通信ネットワークを介して前記携帯電話機に送信するステップとを
含むことを特徴とするプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのＣＰＵを搭載する携帯電話機に関する。また、本発明は、２つのＣＰＵを搭載する携帯電話機が用いるプログラムを作成するプログラム作成方式及びプログラム作成方法に関する。更に、本発明は、２つのＣＰＵを搭載する携帯電話機が用いるプログラムを更新するプログラム更新方式及びプログラム更新方法に関する。
【背景技術】
【０００２】
携帯電話機が高機能化し、携帯電話機に多様なアプリケーションソフトウェアが搭載されるようになるに従って、携帯電話機の処理負担が増加している。そのため、２つのＣＰＵを含む構成（以下、２ＣＰＵ構成ともいう）を採用する携帯電話機が増えつつある。例えば、特許文献１には、２つのＣＰＵを搭載し、搭載部品点数の増加及びＣＰＵの処理負担を抑制してＣＰＵのリセットを行うことが可能な携帯電話機が記載されている。
【０００３】
【特許文献１】特開２００３−３１６４７８号公報（段落０００８−００１３、図１−２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１４は、２ＣＰＵ構成を備えた携帯電話機の構成例を示すブロック図である。図１４に示すように、携帯電話機９００は、２つのＣＰＵ９０１，９０６と、２つのＲＯＭ９０２，９０７と、２つのＲＡＭ９０３，９０８と、送受信部９０５と、ＬＣＤ／ＫＥＹ９１０とを含む。
【０００５】
ＣＰＵ９０１とＣＰＵ９０６とはバス９１１を介して接続され、ＣＰＵ９０１とＣＰＵ９０６とは、バス９１１を介して各種信号を送受信する。また、ＣＰＵ９０１は、バス９０４を介して、ＲＯＭ９０２、ＲＡＭ９０３及び送受信部９０５に接続される。また、ＣＰＵ９０６は、バス９０９を介して、ＲＯＭ９０７、ＲＡＭ９０８及びＬＣＤ／ＫＥＹ９１０に接続される。
【０００６】
ＲＯＭ９０２は、ＣＰＵ９０１が用いるプログラムを格納するプログラム格納用メモリとして用いられる。また、ＲＯＭ９０７は、ＣＰＵ９０６が用いるプログラムを格納するプログラム格納用メモリとして用いられる。ＲＡＭ９０３は、ＣＰＵ９０１の作業用メモリとして用いられる。また、ＲＡＭ９０８は、ＣＰＵ９０６の作業用メモリとして用いられる。
【０００７】
送受信部９０５は、アンテナ９１を介して無線信号を送受信し、送受信するデータを処理する回路である。ＬＣＤ／ＫＥＹ９１０は、各種情報をＬＣＤ表示部等の表示部に表示させたり、キー操作部等の入力部からの入力を制御する回路である。
【０００８】
図１４に示すように、２ＣＰＵ構成を用いる場合、携帯電話機９００は、ＣＰＵ９０１，９０６毎に、プログラムを格納するためのＲＯＭ９０２，９０７及び作業用のＲＡＭ９０３，９０８を備えなければならない。そのため、携帯電話機９００のコスト（価格）が高くなってしまう。
【０００９】
携帯電話機９００のコストを低減するために、携帯電話機９００の起動時に、２つのＣＰＵ９０１，９０６のうちの一方が、他方のＣＰＵにプログラムを転送するようにすることが考えられる。この場合、例えば、ＲＯＭ９０７は、ＣＰＵ９０６が用いるプログラム（ＣＰＵ９０６用プログラム）とともに、ＣＰＵ９０１が用いるプログラム（ＣＰＵ９０１用プログラム）を格納する。そして、携帯電話機９００の起動時に、ＣＰＵ９０６は、ＲＯＭ９０７からＣＰＵ９０１用プログラムを読み出し、バス９１１を介してＣＰＵ９０１に転送する。そのようにすれば、２つのＲＯＭ９０２，９０７のうちのいずれか一方（本例では、転送される側のＣＰＵ９０１に接続されるＲＯＭ２０２）をなくことができ、ＲＯＭ１つ分のコストを低減することができる。
【００１０】
しかし、携帯電話機９００の起動時にＣＰＵ９０１，９０６間でプログラムを転送するようにすると、プログラムの転送処理を行うための時間がかかり、携帯電話機９００の起動時間が長くなる。
【００１１】
そこで、本発明は、２つのＣＰＵを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減できる携帯電話機、プログラム作成方式、プログラム作成方法、プログラム更新方式及びプログラム更新方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による携帯電話機は、第１のＣＰＵ（例えば、ＣＰＵ２０６）と、第２のＣＰＵ（例えば、ＣＰＵ２０１）とを備え、第１のＣＰＵに接続されるプログラム格納手段（例えば、ＲＯＭ２０７）とを備え、プログラム格納手段は、第２のＣＰＵが用いるプログラム（例えば、ＣＰＵ２０１用プログラム）を分割した複数の分割プログラム（例えば、分割圧縮プログラム）を格納し、第１のＣＰＵは各分割プログラムを第２のＣＰＵに転送し、第２のＣＰＵは転送された各分割プログラムに基づいて、第２のＣＰＵが用いるプログラムを展開し処理を実行することを特徴とする。なお、「プログラムを展開する」とは、例えば、分割プログラムをＲＡＭに随時記憶させることによって、第２のＣＰＵが用いるプログラムがＲＡＭに記憶された状態にすることである。
【００１３】
また、携帯電話機において、各分割プログラムは転送された第２のＣＰＵが解凍可能にデータ圧縮されており、第２のＣＰＵは、転送された各分割プログラムを解凍後第２のＣＰＵが用いるプログラムを展開し処理を実行するものであってもよい。
【００１４】
また、携帯電話機において、プログラム格納手段は、各分割プログラムと共に第１のＣＰＵが用いるプログラム（例えば、ＣＰＵ２０６用プログラム）を格納するものであってもよい。
【００１５】
また、携帯電話機は、第２のＣＰＵに接続されるＲＡＭ（例えば、ＲＡＭ２０３）をさらに備え、第１のＣＰＵはＲＡＭにプログラムを展開するものであってもよい。
【００１６】
また、携帯電話機において、第１のＣＰＵと第２のＣＰＵはＣＰＵ間接続バス（例えば、バス（ＣＰＵ間接続バス）２１１）を用いて接続されていてもよい。
【００１７】
また、携帯電話機において、第１のＣＰＵと第２のＣＰＵは共用バス（例えば、共通のバス（共用バス）２１２）を用いて接続されていてもよい。
【００１８】
本発明によるプログラム作成方式は、携帯電話機が用いるプログラムを作成するプログラム作成方式であって、携帯電話機と、携帯電話機が用いるプログラムを作成するプログラム作成端末とを備え、携帯電話機は、第１のＣＰＵと、第１のＣＰＵに接続され、第１のＣＰＵが用いるプログラムを格納するプログラム格納手段と、第１のＣＰＵが実行する処理とは異なる処理を実行する第２のＣＰＵとを含み、プログラム格納手段は、第１のＣＰＵが用いるプログラムとともに、第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを格納し、第１のＣＰＵは、プログラム格納手段が格納するプログラムのうち、各分割プログラムを第２のＣＰＵに転送し、第２のＣＰＵは、第１のＣＰＵから転送された各分割プログラムに基づいて、第２のＣＰＵが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、プログラム作成端末は、携帯電話機が用いるプログラムを作成するプログラム作成手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵによって実現される）と、プログラム作成手段が作成したプログラムを、携帯電話機のプログラム格納手段に書き込むプログラム書込手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵ及び入出力インタフェース部によって実現される）とを含むことを特徴とする。
【００１９】
また、プログラム作成方式において、プログラム作成端末は、プログラム作成手段が作成するプログラムのうち、第２のＣＰＵが用いるプログラムを記憶するプログラム記憶手段（例えば、ハードディスク装置等の記憶装置によって実現される）と、プログラム作成手段が第２のＣＰＵが用いるプログラムを新たに作成すると、プログラム記憶手段が記憶するプログラムと、プログラム作成手段が新たに作成したプログラムとに差分があるか否かを判定する差分判定手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵによって実現される）と、差分判定手段が、プログラムに差分があると判定すると、プログラム作成手段が新たに作成したプログラムにバージョン（例えば、バージョン番号）を付与するバージョン付与手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵによって実現される）とを含むものであってもよい。
【００２０】
また、プログラム作成方式において、プログラム作成端末は、プログラム作成手段が作成するプログラムのうち、第２のＣＰＵが用いるプログラムを分割して複数の分割プログラムを作成するプログラム分割手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵによって実現される）を含み、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを記憶し、差分判定手段は、プログラム分割手段が分割プログラムを新たに作成すると、プログラム記憶手段が記憶する分割プログラムと、プログラム分割手段が作成した分割プログラムとに差分があるか否かを、分割プログラム毎に判定し、バージョン付与手段は、プログラム分割手段が新たに作成した分割プログラムのうち、差分判定手段が差分があると判定した分割プログラムにバージョンを付与するものであってもよい。
【００２１】
また、プログラム作成方式において、プログラム作成端末は、プログラム分割手段が作成した分割プログラムを圧縮した複数の分割圧縮プログラムを作成するプログラム圧縮手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵによって実現される）を含み、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、差分判定手段は、プログラム圧縮手段が分割圧縮プログラムを新たに作成すると、プログラム記憶手段が記憶する分割圧縮プログラムと、プログラム圧縮手段が作成した分割圧縮プログラムとに差分があるか否かを、分割圧縮プログラム毎に判定し、バージョン付与手段は、プログラム分割圧縮手段が新たに作成した分割圧縮プログラムのうち、差分判定手段が差分があると判定した分割圧縮プログラムにバージョンを付与するものであってもよい。
【００２２】
また、プログラム作成方式において、プログラム作成端末は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを読み出すバージョン読出手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵ及び入出力インタフェース部によって実現される）と、バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを判定するバージョン判定手段（例えば、プログラムに従って動作するプログラム作成端末のＣＰＵによって実現される）とを含み、プログラム書込手段は、バージョン判定手段がバージョンが異なると判定すると、プログラム記憶手段が記憶するプログラムを、携帯電話機のプログラム格納手段に書き込むものであってもよい。
【００２３】
また、プログラム作成方式において、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを記憶し、バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割プログラム毎に読み出し、バージョン判定手段は、バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割プログラム毎に判定し、プログラム書込手段は、プログラム記憶手段が記憶する分割プログラムのうち、バージョン判定手段がバージョンが異なると判定した分割プログラムを、携帯電話機のプログラム格納手段に書き込むものであってもよい。
【００２４】
また、プログラム作成方式において、プログラム記憶手段は、プログラム作成手段が作成したプログラムのうち、第２のＣＰＵが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを記憶し、バージョン読出手段は、携帯電話機から、プログラム格納手段が記憶するプログラムのバージョンを、分割圧縮プログラム毎に読み出し、バージョン判定手段は、バージョン読出手段が読み出したバージョンと、プログラム記憶手段が記憶するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、プログラム書込手段は、プログラム記憶手段が記憶する分割圧縮プログラムのうち、バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを、携帯電話機のプログラム格納手段に書き込むものであってもよい。
【００２５】
本発明によるプログラム更新方式は、携帯電話機が用いるプログラムを更新するプログラム更新方式であって、携帯電話機と、携帯電話機が用いるプログラムを配信する配信サーバ（例えば、ネットワークサーバ５０）とを備え、携帯電話機は、第１のＣＰＵと、第１のＣＰＵに接続され、第１のＣＰＵが用いるプログラムを格納するプログラム格納手段と、第１のＣＰＵが実行する処理とは異なる処理を実行する第２のＣＰＵとを含み、プログラム格納手段は、第１のＣＰＵが用いるプログラムとともに、第２のＣＰＵが用いるプログラムを分割した複数の分割プログラムを格納し、第１のＣＰＵは、プログラム格納手段が格納するプログラムのうち、各分割プログラムを第２のＣＰＵに転送し、第２のＣＰＵは、第１のＣＰＵから転送された各分割プログラムに基づいて、第２のＣＰＵが用いるプログラムを展開し、展開したプログラムに従って処理を実行し、配信サーバは、携帯電話機が用いるプログラムを蓄積するプログラム蓄積手段（例えば、プログラムデータベース５１によって実現される）と、携帯電話機からの要求に応じて、プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して携帯電話機に送信するプログラム配信手段（例えば、プログラムに従って動作するネットワークサーバ５０のＣＰＵ及びネットワークインタフェース部によって実現される）を含むことを特徴とする。
【００２６】
また、プログラム更新方式において、配信サーバは、携帯電話機が現在搭載するプログラムのバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定する現バージョン判定手段（例えば、プログラムに従って動作するネットワークサーバ５０のＣＰＵによって実現される）を含み、プログラム配信手段は、現バージョン判定手段がバージョンが異なると判定すると、プログラム蓄積手段からプログラムを抽出し、通信ネットワークを介して携帯電話機に送信するものであってもよい。
【００２７】
また、プログラム更新方式において、携帯電話機は、携帯電話機を識別するための端末識別情報（例えば、移動機識別番号）を、通信ネットワークを介して配信サーバに送信する識別情報送信手段（例えば、プログラムに従って動作する携帯電話機２００のＣＰＵ２０１及び送受信部２０５によって実現される）を含み、配信サーバは、各携帯電話機が現在搭載しているプログラムのバージョンを、端末識別情報に対応付けて記憶するバージョン情報記憶手段（例えば、プログラムデータベース５１によって実現される）と、携帯電話機から受信した端末識別情報に対応するバージョンを、バージョン情報記憶手段から抽出することによって、携帯電話機が現在搭載しているプログラムのバージョンを特定するバージョン特定手段（例えば、プログラムに従って動作するネットワークサーバ５０のＣＰＵによって実現される）とを含み、現バージョン判定手段は、バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを判定するものであってもよい。
【００２８】
また、プログラム更新方式において、プログラム蓄積手段は、携帯電話機が用いるプログラムのうち、第２のＣＰＵが用いるプログラムを分割し圧縮した複数の分割圧縮プログラムを蓄積し、バージョン特定手段は、携帯電話機から受信した端末識別情報に対応するバージョンを、バージョン情報記憶手段から抽出することによって、携帯電話機が現在搭載しているプログラムのバージョンを、分割圧縮プログラム毎に特定し、現バージョン判定手段は、バージョン特定手段が特定したバージョンと、プログラム蓄積手段が蓄積するプログラムのバージョンとが異なるか否かを、分割圧縮プログラム毎に判定し、プログラム配信手段は、プログラム蓄積手段が蓄積する分割圧縮プログラムのうち、現バージョン判定手段がバージョンが異なると判定した分割圧縮プログラムを抽出し、通信ネットワークを介して携帯電話機に送信するものであってもよい。
【００２９】
本発明によるプログラム作成方法は、携帯電話機が用いるプログラムを作成するプログラム作成方法であって、２つのＣＰＵを搭載する携帯電話機が用いるプログラムを作成するステップと、携帯電話機が用いるプログラムを記憶手段（例えば、ハードディスク装置等の記憶装置）に記憶するステップと、携帯電話機が用いるプログラムを新たに作成すると、記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があるか否かを判定するステップと、記憶手段に記憶したプログラムと、新たに作成したプログラムとに差分があると判定すると、新たに作成したプログラムにバージョンを付与するステップとを含むことを特徴とする。
【００３０】
また、プログラム作成方法は、携帯電話機から、携帯電話機が記憶するプログラムのバージョンを読み出すステップと、読み出したバージョンと記憶手段に記憶するプログラムのバージョンとが異なるか否かを判定するステップと、バージョンが異なると判定すると、記憶手段に記憶するプログラムを携帯電話機に書き込むステップとを含むものであってもよい。
【００３１】
本発明によるプログラム更新方法は、携帯電話機が用いるプログラムを更新するプログラム更新方法であって、配信サーバが、携帯電話機が用いるプログラムを予めデータベース（例えば、プログラムデータベース５１）に蓄積するステップと、配信サーバが、２つのＣＰＵを搭載する携帯電話機からの要求に応じて、携帯電話機が現在搭載するプログラムのバージョンと、データベースに蓄積するプログラムのバージョンとが異なるか否かを判定するステップと、配信サーバが、バージョンが異なると判定すると、データベースからプログラムを抽出し、通信ネットワークを介して携帯電話機に送信するステップとを含むことを特徴とする。
【発明の効果】
【００３２】
本発明によれば、２つのＣＰＵを搭載する携帯電話機において、第１のＣＰＵに接続されるプログラム格納手段は、第１のＣＰＵが用いるプログラムとともに、第２のＣＰＵが用いるプログラムを分割した分割プログラムを格納する。また、第１のＣＰＵは、プログラム格納手段が格納するプログラムのうち、各分割プログラムを第２のＣＰＵに転送する。そして、第２のＣＰＵは、第１のＣＰＵから転送された各分割プログラムに基づいてプログラムを展開する。そのため、２ＣＰＵ構成を備えた携帯電話機が本来備える２つのプログラム格納手段のうちの一方をなくすことができ、プログラム格納手段１つ分のコスト（価格）を低減することができる。
【００３３】
また、本発明によれば、分割した状態でプログラムを転送するので、分割プログラムを転送される毎に、第２のＣＰＵがプログラムを展開する処理を随時行うことができる。そのため、プログラム転送の際に第１のＣＰＵと第２のＣＰＵとが並行して処理を実行することができ、プログラムの転送にかかる時間を低減することができる。従って、２つのＣＰＵを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減することができる。
【００３４】
また、本発明において、プログラム格納手段が第２のＣＰＵが用いるプログラムを圧縮した状態で格納するように構成すれば、プログラム格納手段が記憶するデータ容量を低減することができる。
【００３５】
また、本発明において、第１のＣＰＵが第２のＣＰＵにプログラムを転送すると同時に、転送処理を行う第１のＣＰＵとは別の転送先の第２のＣＰＵがプログラムを解凍するように構成すれば、プログラムの転送処理と解凍処理とを並行して行うことができる。従って、転送処理と解凍処理とを並行して行うことによって、携帯電話機の起動時間をより低減することができる。
【００３６】
また、本発明において、第１のＣＰＵ、第２のＣＰＵ及びプログラム格納手段を共通のバスを介して接続するように構成すれば、携帯電話機が高機能化するに従ってＣＰＵ間で送受信されるデータ量が増加した場合であっても、ＣＰＵ間の通信速度を確保することができる。
【００３７】
また、本発明において、第２のＣＰＵが用いるプログラムを分割した分割プログラム毎に、バージョンの差分を判定して携帯電話機への書き込みを行うように構成すれば、第２のＣＰＵが用いるプログラムのうち、更新された部分の分割プログラムのみを書き込むことができる。そのため、携帯電話機へのプログラム書き替え時間を短縮することができる。
【００３８】
また、本発明において、配信サーバが、携帯電話機からの要求に応じて、分割プログラム毎に、バージョンの差分を判定して携帯電話機にプログラムを配信するように構成すれば、更新後の第２のＣＰＵが用いるプログラムのうち、更新された部分のプログラムのみをダウンロードすることができる。そのため、携帯電話機へのプログラムのダウンロード時間を短縮することができる。また、更新後の第２のＣＰＵが用いるプログラムを圧縮した状態でダウンロードするように構成すれば、携帯電話機へのプログラムのダウンロード時間を更に短縮することができる。
【発明を実施するための最良の形態】
【００３９】
実施の形態１．
以下、本発明の第１の実施の形態を図面を参照して説明する。図１は、本発明による２ＣＰＵ構成を備えた携帯電話機の構成の一例を示すブロック図である。図１に示すように、携帯電話機２００は、２つのＣＰＵ２０１，２０６と、２つのＲＡＭ２０３，２０８と、送受信部２０５と、ＲＯＭ２０７と、ＬＣＤ／ＫＥＹ２１０とを含む。本実施の形態では、携帯電話機２００は、ＲＯＭ２０７を１つだけ含む点で、図１４に示した携帯電話機９００と異なる。すなわち、本実施の形態において、携帯電話機２００は、２ＣＰＵ構成において本来含まれる２つのＲＯＭのうちの一方をなくした構成となっている。
【００４０】
ＣＰＵ２０１とＣＰＵ２０６とはバス（ＣＰＵ間接続バス）２１１を介して接続され、ＣＰＵ２０１とＣＰＵ２０６とは、バス２１１を介して各種信号を送受信する。また、ＣＰＵ２０１は、バス２０４を介して、ＲＡＭ２０３及び送受信部２０５に接続される。また、ＣＰＵ２０６は、バス２０９を介して、ＲＯＭ２０７、ＲＡＭ２０８及びＬＣＤ／ＫＥＹ２１０に接続される。
【００４１】
ＲＯＭ２０７は、ＣＰＵ２０６が用いるプログラム（ＣＰＵ２０６用プログラムともいう）を格納するプログラム格納用メモリとして用いられる。また、本実施の形態では、ＲＯＭ２０７は、ＣＰＵ２０６用プログラムとともに、ＣＰＵ２０１が用いるプログラム（ＣＰＵ２０１用プログラムともいう）を格納する。本実施の形態では、ＲＯＭ２０７は、ＣＰＵ２０１用プログラムを、所定の単位で分割し圧縮した状態で記憶する。以下、ＣＰＵ２０１用プログラムを所定の単位で分割し圧縮した各プログラムを分割圧縮プログラムともいう。
【００４２】
ＲＡＭ２０３は、ＣＰＵ２０１がプログラムに従って処理を実行する際の作業用メモリとして用いられる。また、ＲＡＭ２０８は、ＣＰＵ２０６がプログラムに従って処理を実行する際の作業用メモリとして用いられる。
【００４３】
ＣＰＵ２０６は、ＲＯＭ２０７が記憶するＣＰＵ２０６用プログラムに従って、処理を実行する機能を備える。本実施の形態では、ＣＰＵ２０６は、ＬＣＤ表示部等の表示部に各種情報を表示するように、バス２０９を介してＬＣＤ／ＫＥＹ２１０を制御する。また、ＣＰＵ２０６は、ユーザの入力操作に従って、キー操作部等の入力部から各種情報を入力するように、バス２０９を介してＬＣＤ／ＫＥＹ２１０を制御する。すなわち、本実施の形態において、ＣＰＵ２０６は、携帯電話機２００が行う各処理のうち、ユーザインタフェースに関する処理（例えば、各種入出力処理）を行う。
【００４４】
また、ＣＰＵ２０６は、ＲＯＭ２０７が記憶する各分割圧縮プログラムを読み出し、バス２１１を介してＣＰＵ２０１に送信（転送）する機能を備える。
【００４５】
ＣＰＵ２０１は、各分割圧縮プログラムを、バス２１１を介してＣＰＵ２０６から受信する機能を備える。また、ＣＰＵ２０１は、各分割圧縮プログラムを解凍する機能を備える。また、ＣＰＵ２０１は、解凍したプログラムを、バス２０４を介してＲＡＭ２０３に展開する（記憶させる）機能を備える。
【００４６】
また、ＣＰＵ２０１は、ＲＡＭ２０３に展開したＣＰＵ２０１用プログラムに従って、処理を実行する機能を備える。すなわち、ＣＰＵ２０１は、ＣＰＵ２０６から転送されたプログラムに従って処理を実行する。本実施の形態では、例えば、ＣＰＵ２０１は、アンテナ２１を介して、無線信号として各種データを送受信するように、バス２０４を介して送受信部２０５を制御する。本実施の形態において、ＣＰＵ２０１は、携帯電話機２００が行う各処理のうち、ユーザインタフェースに関する処理以外の処理（例えば、データの送受信処理）を行う。
【００４７】
携帯電話機２００が搭載する２つのＣＰＵ２０１，２０６は、携帯電話機２００が実行する各処理を、所定の取り決めに従って分担して実行する。本実施の形態では、ＣＰＵ２０１は、ＣＰＵ２０６が実行する処理（本例では、ユーザインタフェースに関する処理）とは異なる処理を実行する。そのようにすることによって、１つのＣＰＵあたりにかかる処理負担を軽減している。
【００４８】
送受信部２０５は、具体的には、アンテナ２１を介して無線信号を送受信する送受信回路である。送受信部２０５は、ＣＰＵ２０１の制御に従って、アンテナ２１を介して無線信号として各種データを送受信する機能を備える。また、送受信部２０５は、ＣＰＵ２０１の制御に従って、送受信するデータを処理する機能を備える。
【００４９】
ＬＣＤ／ＫＥＹ２１０は、具体的には、各種入出力の処理を行う回路である。ＬＣＤ／ＫＥＹ２１０は、ＣＰＵ２０６の制御に従って、各種情報をＬＣＤ表示部等の表示部に表示させる機能を備える。また、ＬＣＤ／ＫＥＹ２１０は、ＣＰＵ２０６の制御に従って、ユーザの入力操作に伴い、キー操作部等の入力部から各種情報を入力する機能を備える。
【００５０】
次に、動作について説明する。携帯電話機２００は、ユーザによって電源をオンにされた場合、ＲＯＭ２０７が記憶する各プログラムを起動して処理を開始する。この場合、ＣＰＵ２０６は、ＲＯＭ２０７が記憶するＣＰＵ２０６用プログラムをそのまま起動し、処理を開始する。また、ＣＰＵ２０６は、ＲＯＭ２０７が記憶するＣＰＵ２０１用プログラム（分割圧縮プログラム）を読み出し、ＣＰＵ２０１に転送する。そして、ＣＰＵ２０１は、転送されたＣＰＵ２０１用プログラムを起動し、処理を開始する。
【００５１】
図２は、ＣＰＵ２０６からＣＰＵ２０１にプログラムを転送し、転送したプログラムを起動する処理の一例を示す流れ図である。ＣＰＵ２０６は、ＲＯＭ２０７から分割圧縮プログラムを読み出す。そして、ＣＰＵ２０６は、読み出した分割圧縮プログラムを、バス２１１を介してＣＰＵ２０１に転送（ブート）する（ステップＳ５０１）。
【００５２】
ＣＰＵ２０１は、分割圧縮プログラムを受信すると、受信した分割圧縮プログラムを解凍する（ステップＳ５０２）。例えば、ＣＰＵ２０６は、ユーザによって携帯電話機２００の電源をオンにされた際に、所定のアーカイバを、バス２１１を介してＣＰＵ２０１に転送する。そして、ＣＰＵ２０１は、予め転送されたアーカイバを用いて、分割圧縮プログラムを解凍する。
【００５３】
分割圧縮プログラムを解凍すると、ＣＰＵ２０１は、解凍後のプログラム（ＣＰＵ２０１用プログラムを所定単位に分割した状態のプログラム）をＲＡＭ２０３に記憶させる（ステップＳ５０３）。
【００５４】
ＣＰＵ２０６は、ＲＯＭ２０７が記憶する全ての分割圧縮プログラムをＣＰＵ２０１に転送したか否かを判断する（ステップＳ５０４）。全ての分割圧縮プログラムを転送していない（未転送の分割圧縮プログラムがある）と判断すると、携帯電話機２００は、ステップＳ５０１に戻り、ステップＳ５０１からステップＳ５０４までの処理を繰り返し実行する。
【００５５】
全ての分割圧縮プログラムが転送され、解凍されてＲＡＭ２０３に記憶されると、ＲＡＭ２０３にＣＰＵ２０１用プログラムが展開された状態となる。ステップＳ５０４で全ての分割圧縮プログラムを転送したと判断すると、ＣＰＵ２０１は、ＲＡＭ２０３が記憶するＣＰＵ２０１用プログラムを起動し（ステップＳ５０５）、ＲＡＭ２０３が記憶するＣＰＵ２０１用プログラムに従って処理を開始する。
【００５６】
図３は、図２に示すプログラムの転送処理を実行する際に、ＣＰＵ２０１とＣＰＵ２０６との間で実行される処理の流れを示す流れ図である。ＣＰＵ２０６は、ＲＯＭ２０７から１つ目の分割圧縮プログラムを読み出すと、読み出した分割圧縮プログラムをＣＰＵ２０１に転送する（ステップＳ５０１ａ）。ＣＰＵ２０１は、１つ目の分割圧縮プログラムをＣＰＵ２０６から受信し終えると、受信した分割圧縮プログラムを解凍し（ステップＳ５０２ａ）、解凍したプログラムをＲＡＭ２０３に展開する（ステップＳ５０３ａ）。
【００５７】
一方、ＣＰＵ２０６は、１つ目の分割圧縮プログラムを転送し終えると、ＲＯＭ２０７から２つ目の分割圧縮プログラムを読み出し、ＣＰＵ２０１への転送を開始する（ステップＳ５０１ｂ）。すなわち、１つ目の分割圧縮プログラムの転送が終わると、ＣＰＵ２０１が受信プログラムを解凍すると同時に、ＣＰＵ２０６が２つ目の分割圧縮プログラムの転送を開始する。
【００５８】
そして、２つ目以降の分割圧縮プログラムについても同様に、分割圧縮プログラムの転送が終わると、ＣＰＵ２０１が受信プログラムを解凍し（ステップＳ５０２ｂ・・・）、ＲＡＭ２０３に展開する（ステップＳ５０３ｂ・・・）と同時に、ＣＰＵ２０６が次の分割圧縮プログラムの転送を開始する（ステップＳ５０１ｃ・・・）。
【００５９】
例えば、ＣＰＵ２０６が分割圧縮プログラムを解凍した上でＣＰＵ２０１に転送するようにすると、ＣＰＵ２０６がプログラムの解凍処理及び転送処理の両方の処理を行わなければならず、ＣＰＵ２０６の処理負担が大きい。また、解凍後のプログラムをＣＰＵ２０１に転送するので、転送するデータの容量が大きくなってしまい、ＣＰＵ２０６からＣＰＵ２０１にプログラムを転送するために時間がかかる。そのため、携帯電話機２００を起動させるまでにかかる時間が長くなってしまう。
【００６０】
本実施の形態では、プログラムの転送処理を行うＣＰＵ２０６とは別のＣＰＵ２０１（転送先のＣＰＵ）がプログラムの解凍処理を行うので、プログラムの転送処理と解凍処理とを並行して行うことができる。また、プログラムを圧縮した状態のままでＣＰＵ２０６からＣＰＵ２０１に転送するので、転送するデータの容量を小さくでき、データの転送時間を低減できる。従って、携帯電話機２００を起動させるまでの起動時間を低減することができる。
【００６１】
次に、携帯電話機２００を製作する際に、各ＣＰＵ２０１，２０６が用いるプログラムを作成し、携帯電話機２００に書き込む手順を説明する。本実施の形態において、ＣＰＵ２０１用プログラム及びＣＰＵ２０６用プログラムは、携帯電話機２００を製作するメーカ等に設置される端末（以下、プログラム作成端末という）を用いて作成される。なお、プログラム作成端末は、具体的には、パーソナルコンピュータ等の情報処理端末によって実現される。また、プログラム作成端末は、ＣＰＵ２０１用プログラムやＣＰＵ２０６用プログラムを作成／書込するためのプログラム作成／書込プログラムに従って、プログラムの作成や書き込みの処理を実行する。
【００６２】
まず、ＣＰＵ２０６用プログラムを作成し、携帯電話機２００に書き込む場合を説明する。携帯電話機２００を製作するメーカ等の作業員（又は、プログラマ）は、プログラム作成端末を用いて、ＣＰＵ２０６用プログラムのコンパイル操作を行う。また、作業員は、携帯電話機２００をプログラム作成端末にケーブル等を用いて接続し、コンパイルしたＣＰＵ２０６用プログラムの書き込み操作を行う。プログラム作成端末は、作業員の操作に従って、ＣＰＵ２０６用プログラムをコンパイルし、ケーブル等を介して送信することによって、ＣＰＵ２０６用プログラムを携帯電話機２００に書き込む。この場合、携帯電話機２００は、受信したＣＰＵ２０６用プログラムをＲＯＭ２０７に記憶させる。
【００６３】
なお、不具合等が見つかりプログラムがバージョンアップされた場合には、プログラム作成端末は、作業員の操作に従って、バージョンアップ後のＣＰＵ２０６用プログラムを随時コンパイルする。そして、プログラム作成端末は、作業員の操作に従って、携帯電話機２００に、ＲＯＭ２０７に記憶するＣＰＵ２０６用プログラムを、バージョンアップ後のプログラムに随時更新させる。
【００６４】
次に、ＣＰＵ２０１用プログラムを作成し、携帯電話機２００に書き込む場合を説明する。図４は、プログラム作成端末が、ＣＰＵ２０１用プログラムをコンパイルし、携帯電話機２００への書き込み用のプログラムを作成する処理の一例を示す流れ図である。なお、ＣＰＵ２０１用プログラムを最初に作成した場合には、プログラム作成端末は、図４に示す処理に従って、ＣＰＵ２０１用プログラムをコンパイルし、コンパイル後の各分割圧縮プログラムにバージョン番号を付与する。また、不具合等が見つかりＣＰＵ２０１用プログラムを更新した場合には、プログラム作成端末は、図４に示す処理に従って、更新後のＣＰＵ２０１用プログラムをコンパイルし、コンパイル後の各分割圧縮プログラムにバージョン番号を付与しなおす。
【００６５】
まず、ＣＰＵ２０１用プログラムを最初に作成した場合を説明する。プログラム作成端末は、作業員の操作に従って、ＣＰＵ２０１用プログラムをコンパイルする（ステップＳ３０１）。また、プログラム作成端末は、コンパイルしたＣＰＵ２０１用プログラムを所定の単位に分割する（ステップＳ３０２）。例えば、プログラム作成端末は、コンパイル後のＣＰＵ２０１用プログラムを、モジュール単位（例えば、受信モジュールや送信モジュール）に分割する。また、プログラム作成端末は、分割後のプログラム（以下、分割プログラムともいう）をそれぞれ圧縮して、分割圧縮プログラムを作成する（ステップＳ３０３）。
【００６６】
また、プログラム作成端末は、今回作成した分割圧縮プログラムのファイルと、前回ＣＰＵ２０１用プログラムをコンパイルした際に作成した分割圧縮プログラム（更新前のプログラム）のファイルとを比較する（ステップＳ３０４）。そして、プログラム作成端末は、前回作成した分割圧縮プログラム（更新前のプログラム）と今回作成した分割圧縮プログラムとで、ファイルのデータに差分があるか否かを判断する（ステップＳ３０５）。
【００６７】
ファイルのデータに差分があると判断すると、プログラム作成端末は、分割圧縮プログラムに対してバージョン番号を付与する（ステップＳ３０６）。また、プログラム作成端末は、全ての分割圧縮プログラムについて差分の確認を行ったか否かを判断する（ステップＳ３０７）。全ての分割圧縮プログラムについて差分の確認を行っていない（未確認の分割圧縮プログラムがある）と判断すると、プログラム作成端末は、次の分割圧縮プログラムに対して、ステップＳ３０４からステップＳ３０７までの処理を繰り返し実行する。
【００６８】
ＣＰＵ２０１用プログラムを最初に作成した場合には、まだ前回作成した分割圧縮プログラム（更新前のプログラム）がないので、プログラム作成端末は、全ての分割圧縮プログラムに対して差分があると判断する。そして、プログラム作成端末は、全ての分割圧縮プログラムに対して新たにバージョン番号を付与する。
【００６９】
ステップＳ３０７で全ての分割圧縮プログラムについて差分の確認を行ったと判断すると、プログラム作成端末は、作成した各分割圧縮プログラムを、ハードディスク装置等の記憶装置に記憶し、プログラムの作成を完了する（ステップＳ３０８）。図５は、プログラム作成端末の記憶装置が記憶する情報の例を示す説明図である。図５に示すように、プログラム作成端末の記憶装置は、各分割圧縮プログラムをバージョン番号に対応付けて記憶する。
【００７０】
次に、不具合等が見つかりＣＰＵ２０１用プログラムを更新した場合を説明する。プログラム作成端末は、作業員の操作に従って、更新後のＣＰＵ２０１用プログラムをコンパイルする（ステップＳ３０１）。また、プログラム作成端末は、コンパイルした更新後のＣＰＵ２０１用プログラムを所定の単位に分割する（ステップＳ３０２）。また、プログラム作成端末は、更新後の分割プログラムをそれぞれ圧縮して、分割圧縮プログラムを作成する（ステップＳ３０３）。
【００７１】
また、プログラム作成端末は、今回作成した更新後の分割圧縮プログラムのファイルと、前回新規作成時の分割圧縮プログラム（更新前のプログラム）のファイルとを、分割圧縮プログラム毎に比較する（ステップＳ３０４）。この場合、プログラム作成端末は、今回作成した分割圧縮プログラムのファイルを、前回新規作成時の分割圧縮プログラムのうちの対応する分割圧縮プログラムと比較する。例えば、ＣＰＵ２０１用プログラムをモジュール単位に分割した場合には、プログラム作成端末は、今回作成した分割圧縮プログラムと前回新規作成時の分割圧縮プログラムとを、モジュール毎に比較する。そして、プログラム作成端末は、前回新規作成時の分割圧縮プログラムと今回作成した更新後の分割圧縮プログラムとで、ファイルのデータに差分があるか否かを判断する（ステップＳ３０５）。
【００７２】
ファイルのデータに差分があると判断すると、プログラム作成端末は、更新後の分割圧縮プログラムに対してバージョン番号を付与しなおす（ステップＳ３０６）。また、ファイルのデータに差分がないと判断すると、プログラム作成端末は、更新後の分割圧縮プログラムに対してバージョン番号を付与することなく、ステップＳ３０７に移行する。
【００７３】
また、プログラム作成端末は、全ての分割圧縮プログラムについて差分の確認を行ったか否かを判断する（ステップＳ３０７）。全ての分割圧縮プログラムについて差分の確認を行っていない（未確認の分割圧縮プログラムがある）と判断すると、プログラム作成端末は、次の分割圧縮プログラムに対して、ステップＳ３０４からステップＳ３０７までの処理を繰り返し実行する。
【００７４】
一般に、不具合等によってプログラムを更新する場合、プログラムに含まれる全てのモジュールを更新するとは限らない。本実施の形態では、ステップＳ３０４からステップＳ３０７の処理を繰り返し実行することによって、ＣＰＵ２０１用プログラムのうち、更新された部分の分割圧縮プログラムに対してのみ、バージョン番号を付与しなおす。
【００７５】
ステップＳ３０７で全ての分割圧縮プログラムについて差分の確認を行ったと判断すると、プログラム作成端末は、更新後の各分割圧縮プログラムを、ハードディスク装置等の記憶装置に記憶し、プログラムの作成を完了する（ステップＳ３０８）。図６は、プログラム作成端末の記憶装置が記憶する更新後の情報の例を示す説明図である。図６では、ＣＰＵ２０１用プログラムのうち、分割圧縮プログラムＢのみが更新された場合の例を示す。図６に示すように、プログラム作成端末は、更新された部分に対応する分割圧縮プログラムＢのみ、バージョン番号を「２．０」から「２．１」に更新する。
【００７６】
以上のように、プログラム作成端末は、ステップＳ３０１からステップＳ３０８までの処理を実行することによって、ＣＰＵ２０１用プログラムに対する各分割圧縮プログラムを作成し、ハードディスク装置等の記憶装置に保存する。また、プログラム作成端末は、ＣＰＵ２０１用プログラムか更新される毎に、分割圧縮プログラムを作成しなおし、記憶装置に保存しなおす。
【００７７】
なお、プログラム作成端末は、各分割プログラムを圧縮する前に、新たに作成した分割プログラムのファイルと、記憶装置に記憶する前回作成時の分割プログラムとに差分があるか否かを、分割プログラム毎に判定するようにしてもよい。また、プログラム作成端末は、新たに作成した分割プログラムのうち、差分があると判定した分割プログラムにバージョンを付与するようにしてもよい。そして、プログラム作成端末は、バージョンを付与した後に、各分割プログラムを圧縮して分割圧縮プログラムを作成するようにしてもよい。
【００７８】
図７は、プログラム作成端末が作成したプログラムを携帯電話機２００に書き込む処理の一例を示す流れ図である。まず、ＣＰＵ２０１用プログラムに対する各分割圧縮プログラムを、携帯電話機２００に最初に書き込む場合を説明する。作業員は、保存した各分割圧縮プログラムを携帯電話機２００に書き込む場合、携帯電話機２００をプログラム作成端末にケーブル等を用いて接続し、各分割圧縮プログラムの書き込み操作を行う。プログラム作成端末は、作業員の書き込み操作に従って、携帯電話機２００が現在搭載する（ＲＯＭ２０７に記憶している）分割圧縮プログラムのバージョン番号を、携帯電話機２００に要求する（ステップＳ４００）。すると、携帯電話機２００は、ＲＯＭ２０７に記憶する分割圧縮プログラムのバージョン番号を抽出し、プログラム作成端末に送信する。
【００７９】
プログラム作成端末は、携帯電話機２００から受信したバージョン番号と、記憶装置に記憶する分割圧縮プログラムのバージョン番号（今回作成したプログラムのバージョン番号）とを比較する（ステップＳ４０１）。そして、プログラム作成端末は、携帯電話機２００から受信したバージョン番号と、記憶装置に記憶する分割圧縮プログラムのバージョン番号とに差分がある（同じでない）か否かを判断する（ステップＳ４０２）。
【００８０】
バージョン番号に差分がある（同じでない）と判断すると、プログラム作成端末は、対応する分割圧縮プログラムを記憶装置から読み出し、携帯電話機２００に書き込む（ステップＳ４０３）。また、プログラム作成端末は、全ての分割圧縮プログラムについて、バージョン番号の差分の確認を行ったか否かを判断する（ステップＳ４０４）。バージョン番号の差分の確認を行っていない（未確認の分割圧縮プログラムがある）と判断すると、プログラム作成端末は、記憶装置に記憶する次の分割圧縮プログラムに対して、ステップＳ４００からステップＳ４０４までの処理を繰り返し実行する。
【００８１】
ＣＰＵ２０１用プログラムの各分割圧縮プログラムを最初に携帯電話機２００に書き込む場合には、まだ携帯電話機２００のＲＯＭ２０７に分割圧縮プログラムが記憶されていないので、プログラム作成端末は、全ての分割圧縮プログラムに対してバージョン番号の差分があると判断する。そして、プログラム作成端末は、全ての分割圧縮プログラムを記憶装置から抽出して、携帯電話機２００に書き込む。この場合、プログラム作成端末は、抽出した各分割圧縮プログラムを携帯電話機２００に送信する。すると、携帯電話機２００は、受信した各分割圧縮プログラムをＲＯＭ２０７に記憶する。
【００８２】
ステップＳ４０４で全ての分割圧縮プログラムについてバージョン番号の差分の確認を行ったと判断すると、プログラム作成端末は、プログラムの書き込み処理を終了する（ステップＳ４０５）。
【００８３】
次に、携帯電話機２００の製作段階において、不具合等によってＣＰＵ２０１用プログラムを更新した場合に、更新後の各分割圧縮プログラムを携帯電話機２００に書き込む場合を説明する。プログラム作成端末は、作業員の書き込み操作に従って、携帯電話機２００が現在搭載する（ＲＯＭ２０７に記憶している）分割圧縮プログラムのバージョン番号を、携帯電話機２００に要求する（ステップＳ４００）。すると、携帯電話機２００は、ＲＯＭ２０７に記憶する分割圧縮プログラムのバージョン番号を抽出し、プログラム作成端末に送信する。
【００８４】
プログラム作成端末は、携帯電話機２００から受信したバージョン番号と、記憶装置に記憶する分割圧縮プログラムのバージョン番号（更新後の分割圧縮プログラムのバージョン番号）とを比較する（ステップＳ４０１）。そして、プログラム作成端末は、携帯電話機２００から受信したバージョン番号と、更新後分割圧縮プログラムのバージョン番号とに差分がある（同じでない）か否かを判断する（ステップＳ４０２）。
【００８５】
バージョン番号に差分がある（同じでない）と判断すると、プログラム作成端末は、更新後の分割圧縮プログラムを記憶装置から読み出し、携帯電話機２００に書き込む（ステップＳ４０３）。また、バージョン番号に差分がない（同じである）と判断すると、プログラム作成端末は、分割圧縮プログラムの書き込みを行うことなく、そのままステップＳ４０４に移行する。
【００８６】
また、プログラム作成端末は、全ての分割圧縮プログラムについて、バージョン番号の差分の確認を行ったか否かを判断する（ステップＳ４０４）。バージョン番号の差分の確認を行っていない（未確認の分割圧縮プログラムがある）と判断すると、プログラム作成端末は、記憶装置に記憶する次の分割圧縮プログラムに対して、ステップＳ４００からステップＳ４０４までの処理を繰り返し実行する。
【００８７】
一般に、不具合等によってプログラムを更新する場合、プログラムに含まれる全てのモジュールを更新するとは限らない。本実施の形態では、ステップＳ４００からステップＳ４０４の処理を繰り返し実行することによって、ＣＰＵ２０１用プログラムのうち、更新された部分の分割圧縮プログラムのみを、携帯電話機２００に再度書き込む。
【００８８】
例えば、ＣＰＵ２０１用プログラムを更新した結果、プログラム作成端末が、図６に示すバージョン番号を記憶装置に記憶しているとする。この場合、分割圧縮プログラムＢのバージョン番号だけが「２．０」から「２．１」に更新されているので、プログラム作成端末は、分割圧縮プログラムＢのバージョン番号だけが差分があると判断する。そして、プログラム作成端末は、ＣＰＵ２０１用プログラムのうち、更新後の分割圧縮プログラムＢのみを携帯電話機２００に再度書き込む。
【００８９】
以上のように、本実施の形態によれば、２つのＣＰＵ２０１，２０６を搭載する携帯電話機２００において、ＣＰＵ２０６用プログラムの格納用メモリであるＲＯＭ２０７は、ＣＰＵ２０６用プログラムとともに、ＣＰＵ２０１用プログラムの各分割圧縮プログラムを記憶する。また、ＣＰＵ２０６は、ＲＯＭ２０７が格納するプログラムのうち、ＣＰＵ２０１用プログラムの各分割圧縮プログラムをＣＰＵ２０１に転送する。そして、ＣＰＵ２０１は、ＣＰＵ２０６から転送されたプログラムに従って処理を実行する。そのため、２ＣＰＵ構成を備えた携帯電話機２００が本来備える２つのＲＯＭのうちの一方をなくすことができ、ＲＯＭ１つ分のコスト（価格）を低減することができる。
【００９０】
また、本実施の形態によれば、ＣＰＵ２０１用プログラムを分割した状態でＣＰＵ２０１に転送するので、分割圧縮プログラムを受信する毎に、ＣＰＵ２０１がプログラムを展開する処理（プログラムを解凍しＲＡＭ２０３に記憶させる処理）を随時行うことができる。そのため、プログラム転送の際にＣＰＵ２０１とＣＰＵ２０６とが並行して処理を実行することができ、プログラムの転送にかかる時間を低減することができる。従って、２つのＣＰＵを搭載する携帯電話機のコストを低減できるとともに、携帯電話機の起動時間を低減することができる。
【００９１】
また、本実施の形態によれば、ＣＰＵ２０６がＣＰＵ２０１に転送するＣＰＵ２０１用プログラムを圧縮した状態でＲＯＭ２０７に格納する。そのため、ＲＯＭ２０７が記憶するデータ容量を低減することができる。
【００９２】
また、本実施の形態によれば、携帯電話機２００の電源投入時等に、ＣＰＵ２０６がＣＰＵ２０１にプログラムを転送すると同時に、転送処理を行うＣＰＵとは別のＣＰＵである転送先のＣＰＵ２０１が転送されたプログラムを解凍する。そのため、プログラムの転送処理と解凍処理とを並行して行うことができ、携帯電話機２００を起動させるまでの起動時間をより低減することができる。
【００９３】
また、本実施の形態によれば、プログラムの作成及び書込時に、ＣＰＵ２０１用プログラムを分割した分割プログラムを作成し、分割プログラム毎（分割圧縮プログラム毎）に、バージョンの差分を判定して携帯電話機２００への書き込みを行う。ＣＰＵ２０１用プログラムのうち、更新された部分の分割プログラム（分割圧縮プログラム）のみを書き込むので、携帯電話機２００へのプログラム書き替え時間を短縮することができる。
【００９４】
実施の形態２．
次に、本発明の第２の実施の形態を図面を参照して説明する。図８は、２ＣＰＵ構成を備えた携帯電話機の他の構成例を示すブロック図である。第１の実施の形態では、携帯電話機２００が、ユーザインタフェースに関する処理を実行するＣＰＵ２０６側に接続されるＲＯＭ２０７だけを含み、ユーザインタフェースに関する処理以外の処理を実行するＣＰＵ２０１側のＲＯＭをなくす場合を説明した。本実施の形態では、図８に示すように、携帯電話機２００は、ユーザインタフェースに関する処理以外の処理を実行するＣＰＵ２０１側に接続されるＲＯＭ２０２だけを含み、ユーザインタフェースに関する処理を実行するＣＰＵ２０６側のＲＯＭをなくす場合を説明する。
【００９５】
本実施の形態では、ＲＯＭ２０２は、ＣＰＵ２０１用プログラムを格納するとともに、ＣＰＵ２０６用プログラムを格納する。また、本実施の形態では、ＲＯＭ２０２は、ＣＰＵ２０６用プログラムを、所定の単位で分割した状態で記憶する。
【００９６】
本実施の形態では、ＣＰＵ２０１は、図２と同様の処理に従って、ＲＯＭ２０２が記憶する各分割圧縮プログラムを、バス２１１を介してＣＰＵ２０６に転送する。また、ＣＰＵ２０６は、図２と同様の処理に従って、転送された分割圧縮プログラムを解凍してＲＡＭ２０８に展開する。そして、ＣＰＵ２０６は、ＲＡＭ２０８に展開したＣＰＵ２０６用プログラムを起動し、処理を開始する。
【００９７】
また、本実施の形態では、携帯電話機２００を製作する際に、プログラム作成端末は、図４と同様の処理に従って、ＣＰＵ２０６用プログラムを分割し圧縮して分割圧縮プログラムを作成する。また、プログラム作成端末は、図４と同様の処理に従って、各分割圧縮プログラムにバージョン番号を付与する。また、不具合等によってＣＰＵ２０６を更新した場合、プログラム作成端末は、図４と同様の処理に従って、更新後の分割圧縮プログラムを作成し、バージョン番号を付与しなおす。
【００９８】
また、プログラム作成端末は、図７と同様の処理に従って、ＣＰＵ２０６用プログラムに対する各分割圧縮プログラムを携帯電話機２００に書き込む。また、不具合等によってＣＰＵ２０６を更新した場合、プログラム作成端末は、図７と同様の処理に従って、ＣＰＵ２０６用プログラムのうち、更新された部分に対応する分割圧縮プログラムを携帯電話機２００に書き込む。
【００９９】
なお、携帯電話機２００は、ＲＯＭ２０２と第１の実施の形態で示したＲＯＭ２０７とを両方備えてもよい。そのようにすれば、一方のＲＯＭが故障した場合に、他の一方のＲＯＭをバックアップとして用いることができ、携帯電話機２００の保守性を向上させることができる。例えば、ＲＯＭ２０２が故障した場合、ＣＰＵ２０６は、ＲＯＭ２０７が記憶するＣＰＵ２０１用プログラムの分割圧縮プログラムをＣＰＵ２０１に転送し、バックアップしてもよい。また、例えば、ＲＯＭ２０７が故障した場合、ＣＰＵ２０１は、ＲＯＭ２０２が記憶するＣＰＵ２０６用プログラムの分割圧縮プログラムをＣＰＵ２０６に転送し、バックアップしてもよい。
【０１００】
実施の形態３．
次に、本発明の第３の実施の形態を図面を参照して説明する。図９は、２ＣＰＵ構成を備えた携帯電話機の更に他の構成例を示すブロック図である。本実施の形態では、図９に示すように、２つのＣＰＵ２０１，２０６、２つのＲＡＭ２０３，２０８、送受信部２０５、ＲＯＭ２０７及びＬＣＤ／ＫＥＹ２１０が、共通のバス（共用バス）２１２を介して接続されている点で、第１の実施の形態と異なる。
【０１０１】
本実施の形態において、２つのＣＰＵ２０１，２０６、２つのＲＡＭ２０３，２０８、送受信部２０５、ＲＯＭ２０７及びＬＣＤ／ＫＥＹ２１０の基本的な機能は、第１の実施の形態で示したそれらの機能と同様である。本実施の形態では、ＣＰＵ２０１とＣＰＵ２０６とは、共通のバス２１２を介して各種信号を送受信する。
【０１０２】
以上のように、本実施の形態によれば、２つのＣＰＵを搭載した携帯電話機２００において、携帯電話機２００の各構成要素が、共通のバス２１２を介して接続される。ＣＰＵ２０１とＣＰＵ２０６とが専用のバス２１１を介して接続される場合、携帯電話機２００が高機能化するに従ってＣＰＵ間で送受信されるデータ量が増加し、ＣＰＵ間の通信速度が遅くなってしまう。本実施の形態によれば、携帯電話機２００の各構成要素が接続される共通のバス２１２を介して、ＣＰＵ２０１とＣＰＵ２０６とが各種信号を送受信できる。そのため、携帯電話機２００が高機能化するに従ってＣＰＵ間で送受信されるデータ量が増加した場合であっても、ＣＰＵ間の通信速度を確保することができる。
【０１０３】
実施の形態４．
次に、本発明の第４の実施の形態を図面を参照して説明する。本実施の形態では、携帯電話機２００を販売した後に、不具合等によりＣＰＵ２０１用プログラムを更新した場合に、携帯電話機２００が記憶する各分割圧縮プログラムを書き替える場合を説明する。図１０は、更新後のＣＰＵ２０１用プログラムの各分割圧縮プログラムを、携帯電話機２００にダウンロードするダウンロードシステムの構成の一例を示すブロック図である。
【０１０４】
図１０に示すように、ダウンロードシステムは、携帯電話機２００、プログラム作成端末３０及びネットワークサーバ５０を含む。また、携帯電話機２００、プログラム作成端末３０及びネットワークサーバ５０は、インターネット等の通信ネットワーク５００を介して接続される。
【０１０５】
携帯電話機２００は、ユーザが使用する端末である。本実施の形態において、携帯電話機２００の機能は、第１の実施の形態で示した携帯電話機２００の機能と同様である。なお、図１０では、１つの携帯電話機２００を示しているが、ダウンロードシステムは、複数の携帯電話機２００を含む。
【０１０６】
プログラム作成端末３０は、携帯電話機２００を製作するメーカ等に設置され、具体的には、パーソナルコンピュータ等の情報処理端末によって実現される。プログラム作成端末３０は、作業員（又は、プログラマ）の操作に従って、携帯電話機２００用のプログラム（ＣＰＵ２０１用プログラム及びＣＰＵ２０６用プログラム）を作成する機能を備える。また、プログラム作成端末３０は、携帯電話機２００の製作時に、図４に示す処理に従って、ＣＰＵ２０１用プログラムの分割圧縮プログラムを作成し、各分割圧縮プログラムにバージョン番号を付与すする機能を備える。また、プログラム作成端末３０は、携帯電話機２００の製作時に、図７に示す処理に従って、各プログラムを携帯電話機２００に書き込む機能を備える。
【０１０７】
プログラム作成端末３０は、携帯電話機２００の出荷時のプログラム（ＣＰＵ２０１用プログラム及びＣＰＵ２０６用プログラム）、及び出荷した各携帯電話機２００の移動機識別番号を、通信ネットワーク５００を介してネットワークサーバ５０にアップロード（送信）する機能を備える。また、プログラム作成端末３０は、携帯電話機２００の出荷後に不具合が見つかった場合に、携帯電話機２００用の更新後のプログラム、及び更新対象の携帯電話機２００の移動機識別番号を、通信ネットワーク５００を介してネットワークサーバ５０にアップロード（送信）する機能を備える。
【０１０８】
ネットワークサーバ５０は、例えば、携帯電話会社が運営するサーバである。ネットワークサーバ５０は、具体的には、ワークステーションやパーソナルコンピュータ等の情報処理装置によって実現される。図１０に示すように、ネットワークサーバ５０は、プログラムデータベース５１を備える。
【０１０９】
プログラムデータベース５１は、具体的には、磁気ディスク装置や光ディスク装置等のデータベース装置によって実現される。プログラムデータベース５１は、携帯電話機２００用の最新のプログラム（ＣＰＵ２０１用プログラム及びＣＰＵ２０６用プログラム）を蓄積する。また、プログラムデータベース５１は、携帯電話機２００用のプログラムのうち、ＣＰＵ２０１用プログラムを分割し圧縮した状態で蓄積する。すなわち、プログラムデータベース５１は、ＣＰＵ２０１用プログラムの複数の分割圧縮プログラムを蓄積する。
【０１１０】
また、プログラムデータベース５１は、各携帯電話機２００が搭載するプログラムのバージョン番号を、携帯電話機２００に対応付けて記憶する。図１１は、プログラムデータベース５１が記憶する携帯電話機２００のバージョン番号の例を示す説明図である。図１１に示すように、プログラムデータベース５１は、各携帯電話機２００が搭載する分割圧縮プログラムのバージョン番号を、携帯電話機２００を識別するための移動機識別番号（例えば、International Mobile Equipment Identity （ＩＭＥＩ））に対応付けて記憶する。
【０１１１】
ネットワークサーバ５０は、携帯電話機２００からプログラムのダウンロード要求を受信すると、ダウンロード要求されたプログラム（ＣＰＵ２０６用プログラムや各分割圧縮プログラム９）を、プログラムデータベース５１から抽出する機能を備える。また、ネットワークサーバ５０は、抽出したプログラムを、通信ネットワーク５００を介して携帯電話機２００に送信する機能を備える。
【０１１２】
また、ネットワークサーバ５０は、プログラムデータベース５１が記憶するバージョン番号に基づいて、各携帯電話機２００が搭載するプログラムのバージョン番号を管理する機能を備える。本実施の形態では、ネットワークサーバ５０は、ダウンロード要求に応じて携帯電話機２００にプログラムを送信すると、プログラムデータベース５１が記憶するバージョン番号を更新する。
【０１１３】
次に、動作について説明する。プログラム作成端末３０は、携帯電話機２００の出荷時に、作業員の操作に従って、携帯電話機２００用の各プログラム、及び出荷した各携帯電話機２００の移動機識別番号を、通信ネットワーク５００を介してネットワークサーバ５０にアップロードする。すると、ネットワークサーバ５０は、受信した各プログラム（ＣＰＵ２０６用プログラム及び各分割圧縮プログラム）を、プログラムデータベース５１に予め蓄積する。また、ネットワークサーバ５０は、受信した各分圧縮プログラムの出荷時のバージョン番号を、各携帯電話機２００の移動機識別番号に対応付けてプログラムデータベース５１に記憶させる。
【０１１４】
まず、出荷後に不具合等によりＣＰＵ２０１用プログラムを更新した場合に、ネットワークサーバ５０に更新後の各分割圧縮プログラムを再アップロードする動作を説明する。この場合、プログラム作成端末３０は、図４に示すステップＳ３０１からステップＳ３０３と同様の処理に従って、更新後のＣＰＵ２０１用プログラムを更新し、分割圧縮プログラムを作成する。
【０１１５】
図１２は、プログラム作成端末３０が、更新後の各分割圧縮プログラムをネットワークサーバ５０に再アップロードする処理の一例を示す流れ図である。プログラム作成端末３０は、更新後の分割圧縮プログラムのファイルと、出荷時の分割圧縮プログラムのファイルとを比較する（ステップＳ６０１）。そして、プログラム作成端末３０は、出荷時の分割圧縮プログラムと更新後の分割圧縮プログラムとで、ファイルのデータに差分があるか否かを判断する（ステップＳ６０２）。
【０１１６】
ファイルのデータに差分があると判断すると、プログラム作成端末３０は、更新後の分割圧縮プログラムに対してバージョン番号を付与しなおす（ステップＳ６０３）。ファイルのデータに差分がないと判断すると、プログラム作成端末３０は、バージョン番号を付与することなく、ステップＳ６０４に移行する。
【０１１７】
また、プログラム作成端末３０は、全ての分割圧縮プログラムについて差分の確認を行ったか否かを判断する（ステップＳ６０４）。全ての分割圧縮プログラムについて差分の確認を行っていない（未確認の分割圧縮プログラムがある）と判断すると、プログラム作成端末３０は、次の分割圧縮プログラムに対して、ステップＳ６０１からステップＳ６０４までの処理を繰り返し実行する。
【０１１８】
本実施の形態では、ステップＳ６０１からステップＳ６０４までの処理を繰り返し実行することによって、ＣＰＵ２０１用プログラムのうち、更新された部分の分割圧縮プログラムに対してのみ、バージョン番号を付与しなおす。
【０１１９】
ステップＳ６０４で全ての分割圧縮プログラムについて差分の確認を行ったと判断すると、プログラム作成端末３０は、更新後の各分割圧縮プログラム（差分のあったプログラム）を、通信ネットワーク５００を介してネットワークサーバ５０にアップロードする（ステップＳ６０５）。この場合、プログラム作成端末３０は、各分割圧縮プログラムとともに、プログラム更新対象の各携帯電話機２００の移動機識別番号をネットワークサーバ５０に送信する。すると、ネットワークサーバ５０は、受信した更新後の各分割圧縮プログラムに基づいて、プログラムデータベース５１が蓄積するプログラムを更新する。
【０１２０】
次に、携帯電話機２００からのダウンロード要求に応じて、更新後の分割圧縮プログラムを携帯電話機２００にダウンロードする動作を説明する。図１３は、更新後の分割圧縮プログラムを携帯電話機２００にダウンロードする処理の一例を示す流れ図である。携帯電話機２００用のプログラムを最新版に更新する場合、ユーザは、携帯電話機２００を操作して、最新のプログラムのダウンロード操作を行う。携帯電話機２００は、ユーザの操作に従って、最新プログラムのダウンロード要求を、通信ネットワーク５００を介してネットワークサーバ５０に送信する。この場合、携帯電話機２００は、ダウンロード要求とともに、自分の移動機識別番号をネットワークサーバ５０に送信する。
【０１２１】
ネットワークサーバ５０は、受信した移動機識別番号に基づいて、携帯電話機２００が現在搭載してる各分割圧縮プログラムのバージョン番号を特定する（ステップＳ７０１）。この場合、ネットワークサーバ５０は、受信した移動機識別番号に対応する各バージョン番号を、プログラムデータベース５１が記憶するバージョン番号に基づいて特定する。例えば、ネットワークサーバ５０は、移動機識別番号「１１１１１」を受信した場合、図１１に示すプログラムデータベース５１が記憶するバージョン番号に基づいて、携帯電話機２００が現在搭載する各分割圧縮プログラムのバージョン番号がそれぞれ「１．０」、「２．１」及び「３．０」であると特定する。
【０１２２】
ネットワークサーバ５０は、特定したバージョン番号と、プログラムデータベース５１に蓄積する最新版の各分割圧縮プログラムのバージョン番号とに差分がある（同じでない）か否かを判断する（ステップＳ７０２）。すなわち、ネットワークサーバ５０は、携帯電話機２００が現在搭載するプログラムのバージョン番号が、最新版のプログラムのバージョン番号と同じであるか否かを判断する。
【０１２３】
バージョン番号に差分がある（同じでない）分割圧縮プログラムがあると判断すると、ネットワークサーバ５０は、バージョン番号に差分がある分割圧縮プログラムを、プログラムデータベース５１から抽出する。そして、ネットワークサーバ５０は、抽出した分割圧縮プログラムを、通信ネットワーク５００を介して携帯電話機２００に送信する（ステップＳ７０３）。
【０１２４】
例えば、最新版の分割圧縮プログラムＡのバージョン番号が「１．０」であり、最新版の分割圧縮プログラムＢのバージョン番号が「２．１」であり、最新版の分割圧縮プログラムＣのバージョン番号が「３．０」であるとする。また、ネットワークサーバ５０が、携帯電話機２００から受信した移動機識別番号が「２２２２２」であったとする。この場合、ネットワークサーバ５０は、図１１に示すプログラムデータベース５１が記憶するバージョン番号に基づいて、携帯電話機２００が現在搭載する分割圧縮プログラムＢのバージョン番号が「２．０」であると特定する。そして、ネットワークサーバ５０は、分割圧縮プログラムＢのバージョン番号に差分があると判断し、分割圧縮プログラムＢを携帯電話機２００に送信する。
【０１２５】
なお、ネットワークサーバ５０は、分割圧縮プログラムＡ及び分割圧縮プログラムＣについては、バージョン番号に差分がないと判断し、プログラムの送信を行わない。すなわち、ネットワークサーバ５０は、ＣＰＵ２０１用プログラムのうち、更新された部分に対応する分割圧縮プログラムＢのみをネットワークサーバ５０に送信する。
【０１２６】
携帯電話機２００は、受信した分割圧縮プログラムをＲＯＭ２０７に書き込む（ステップＳ７０４）。ＲＯＭ２０７への書き込みを完了すると、携帯電話機２００は、更新後の分割圧縮プログラムの書き込みを完了した旨を示す通知情報を、ネットワークサーバ５０を介してネットワークサーバ５０に送信する（ステップＳ７０５）。
【０１２７】
携帯電話機２００から通知情報を受信すると、ネットワークサーバ５０は、プログラムデータベース５１に記憶するバージョン番号を更新する。例えば、図１１に示す例において、移動機識別番号「２２２２２」の携帯電話機２００から通知情報を受信すると、ネットワークサーバ５０は、プログラムデータベース５１に記憶する移動機識別番号「２２２２２」に対応する各バージョン番号を、最新版のバージョン番号に更新する。
【０１２８】
ステップＳ７０２でバージョン番号に差分がある分割圧縮プログラムがない（全ての分割圧縮プログラムのバージョン番号が最新版のバージョン番号と同じである）と判断すると、ネットワークサーバ５０は、そのままダウンロード処理を終了する（ステップＳ７０６）。例えば、図１１に示す例において、携帯電話機２００から移動機識別番号「１１１１１」を受信したとする。この場合、携帯電話機２００が現在搭載している各分割圧縮プログラムのバージョン番号が全て最新版のバージョン番号と同じであるので、ネットワークサーバ５０は、分割圧縮プログラムのダウンロードを行う必要がないと判断し、そのまま処理を終了する。
【０１２９】
以上のように、本実施の形態によれば、ネットワークサーバ５０は、更新後のプログラムを分割した分割プログラム（分割圧縮プログラム）を蓄積する。また、ネットワークサーバ５０は、携帯電話機２００からの要求に応じて、分割プログラム毎（分割圧縮プログラム毎）に、バージョンの差分を判定して携帯電話機２００に配信する。更新後のＣＰＵ２０１用プログラムのうち、更新された部分（分割圧縮プログラム）のみをダウンロードできるので、携帯電話機２００へのプログラムのダウンロード時間を短縮することができる。また、更新後のＣＰＵ２０１用プログラムを圧縮した状態でダウンロードできるので、携帯電話機２００へのプログラムのダウンロード時間を短縮することができる。
【産業上の利用可能性】
【０１３０】
本発明は、２つのＣＰＵを搭載する携帯電話機に適用できる。また、本発明は、更新後の携帯電話機用のプログラムを、通信ネットワークを介して携帯電話機にダウンロードさせるダウンロードサービスの用途に適用できる。
【図面の簡単な説明】
【０１３１】
【図１】本発明による２ＣＰＵ構成を備えた携帯電話機の構成の一例を示すブロック図である。
【図２】ＣＰＵ２０６からＣＰＵ２０１にプログラムを転送し、転送したプログラムを起動する処理の一例を示す流れ図である。
【図３】図２に示すプログラムの転送処理を実行する際に、ＣＰＵ２０１とＣＰＵ２０６との間で実行される処理の流れを示す流れ図である。
【図４】プログラム作成端末が、ＣＰＵ２０１用プログラムをコンパイルし、携帯電話機２００への書き込み用のプログラムを作成する処理の一例を示す流れ図である。
【図５】プログラム作成端末の記憶装置が記憶する情報の例を示す説明図である。
【図６】プログラム作成端末の記憶装置が記憶する更新後の情報の例を示す説明図である。
【図７】プログラム作成端末が作成したプログラムを携帯電話機２００に書き込む処理の一例を示す流れ図である。
【図８】２ＣＰＵ構成を備えた携帯電話機の他の構成例を示すブロック図である。
【図９】２ＣＰＵ構成を備えた携帯電話機の更に他の構成例を示すブロック図である。
【図１０】更新後のＣＰＵ２０１用プログラムの各分割圧縮プログラムを、携帯電話機２００にダウンロードするダウンロードシステムの構成の一例を示すブロック図である。
【図１１】プログラムデータベース５１が記憶する携帯電話機２００のバージョン番号の例を示す説明図である。
【図１２】プログラム作成端末３０が、更新後の各分割圧縮プログラムをネットワークサーバ５０に再アップロードする処理の一例を示す流れ図である。
【図１３】更新後の分割圧縮プログラムを携帯電話機２００にダウンロードする処理の一例を示す流れ図である。
【図１４】２ＣＰＵ構成を備えた携帯電話機の構成例を示すブロック図である。
【符号の説明】
【０１３２】
２００  携帯電話機
２０１，２０６  ＣＰＵ
２０３，２０８  ＲＡＭ
２０４，２０９  バス
２０５  送受信部
２０７  ＲＯＭ
２１０  ＬＣＤ／ＫＥＹ
２１１  バス（ＣＰＵ間接続バス）
２１２  共通のバス（共用バス）
【図１】
2007026318.tif 000003
【図２】
2007026318.tif 000004
【図３】
2007026318.tif 000005
【図４】
2007026318.tif 000006
【図５】
2007026318.tif 000007
【図６】
2007026318.tif 000008
【図７】
2007026318.tif 000009
【図８】
2007026318.tif 000010
【図９】
2007026318.tif 000011
【図１０】
2007026318.tif 000012
【図１１】
2007026318.tif 000013
【図１２】
2007026318.tif 000014
【図１３】
2007026318.tif 000015
【図１４】
2007026318.tif 000016