(57)【要約】  無線端末内にアップグレードされたソフトウェアを提供するための方法及び装置。初期バージョンのソフトウェアが無線端末内の少なくとも一つのメモリに提供されている。ソフトウェア・アップグレード・パッケージは、無線端末の製造者により該少なくとも１つのメモリに転送される。アップグレードバージョンのソフトウェアは、無線端末内で初期バージョンのソフトウェア及びソフトウェア・アップグレード・パッケージから生成される。無線端末は、アップグレードバージョンのソフトウェアに従って動作してもよい。
2007503654.tif 000002
【特許請求の範囲】
【請求項１】
無線端末内でソフトウェアをアップグレードするための方法であって、
初期バージョンのソフトウェアを前記無線端末内の少なくとも一つのメモリに提供する工程と、
ソフトウェア・アップグレード・パッケージを前記少なくとも一つのメモリ内に、前記無線端末の製造者により転送する工程と、
前記無線端末内で、前記初期バージョンのソフトウェアと前記ソフトウェア・アップグレード・パッケージから、エンドユーザーによる前記無線端末の利用により発生する所定のイベントに応じてアップグレードバージョンのソフトウェアを生成する工程と、
前記無線端末を、前記アップグレードバージョンのソフトウェアに従って動作させる工程と
を備えることを特徴とする方法。
【請求項２】
前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記無線端末の初期のセットアップに応じたものであること特徴とする請求項１に記載の方法。
【請求項３】
前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、少なくとも一つの無線通信チャネルを介して無線ネットワークに登録するための前記無線端末による試みに応じたものであること特徴とする請求項１に記載の方法。
【請求項４】
前記初期バージョンのソフトウェアにより定義される無線通信プロトコルに従って、前記少なくとも一つの無線通信チャネルを介して前記無線ネットワークに前記無線端末を登録する工程を更に備え、前記無線端末の登録は、前記ソフトウェア・アップグレード・パッケージの転送の後に実行され、かつ、前記アップグレードバージョンのソフトウェアの生成よりも先に実行されることを特徴とする請求項３に記載の方法。
【請求項５】
前記無線端末内におけるアップグレードバージョンのソフトウェアの生成は、前記少なくとも一つの無線通信チャネルを介した前記無線ネットワークからのコマンド受信に応じたものであることを特徴とする請求項４に記載の方法。
【請求項６】
前記無線端末を動作させる工程は、前記アップグレードバージョンのソフトウェアにより定義される無線通信プロトコルに従って通信信号をフォーマットする工程を備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記アップグレードバージョンのソフトウェアの生成が行われている間において、前記通信信号のフォーマットを妨げる工程を更に備えることを特徴とする請求項６に記載の方法。
【請求項８】
前記無線端末に、取り外し可能なバッテリから電源を供給する工程を更に備え、
前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記取り外し可能なバッテリから前記無線端末への電源供給に応じたものであることを特徴とする請求項１に記載の方法。
【請求項９】
前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かを決定する工程を更に備え、前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かの決定に基づくことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程を更に備え、前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かの決定に基づくことを特徴とする請求項１に記載の方法。
【請求項１１】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程は、認証キーをユーザーから受け付ける工程と、前記認証キーと前記無線端末内の認証コードとを比較する工程とを備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程は、前記ソフトウェア・アップグレード・パッケージ内の認証キーと前記無線端末内の認証コードとを比較する工程とを備えることを特徴とする請求項１０に記載の方法。
【請求項１３】
前記認証キーは、前記無線端末を一意に識別するためのものであることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記認証キーは、前記ソフトウェア・アップグレード・パッケージの製造者を一意に識別するためのものであることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程は、前記ソフトウェア・アップグレード・パッケージを解読する工程を備えることを特徴とする請求項１０に記載の方法。
【請求項１６】
前記初期バージョンのソフトウェアとリファレンスとなるアップグレードバージョンのソフトウェアとの比較から、前記ソフトウェア・アップグレード・パッケージを前記無線端末の外部で生成する工程を更に備えることを特徴とする請求項１に記載の方法。
【請求項１７】
アップグレードバージョンのソフトウェアを生成する工程は、前記ソフトウェア・アップグレード・パッケージ内の命令に従って、前記初期バージョンのソフトウェアを前記アップグレードバージョンのソフトウェアに変換する工程を備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記無線端末内におけるアップグレードバージョンのソフトウェアのユーザーによる利用可能性の指標を、前記無線端末内において生成する工程を更に備え、前記アップグレードバージョンのソフトウェアの生成は、ユーザーからの指示に応じたものであることを特徴とする請求項１に記載の方法。
【請求項１９】
無線端末であって、
初期バージョンのソフトウェアを含む少なくとも一つのメモリと、
前記少なくとも一つのメモリにソフトウェア・アップグレード・パッケージを転送するように構成されたダウンロード・コントローラと、
前記無線端末のエンドユーザーによる利用により発生する所定のイベントに応じて、前記初期バージョンのソフトウェア及び前記ソフトウェア・アップグレード・パッケージから、前記少なくとも一つのメモリ内でアップグレードバージョンのソフトウェアを生成するように構成されたアップグレード・コントローラと、
前記アップグレードバージョンのソフトウェアに従って前記無線端末を動作させるように構成されたオペレーショナル・コントローラと
を備えることを特徴とする無線端末。
【請求項２０】
前記アップグレード・コントローラは、前記無線端末の初期のセットアップに応じて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２１】
前記オペレーショナル・コントローラは、少なくとも一つの無線通信チャネルを介して無線ネットワークに前記無線端末を登録するように更に構成され、
前記アップグレード・コントローラは、前記少なくとも一つの無線通信チャネルを介して前記無線ネットワークに登録するための前記無線端末による試みに応じて、前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２２】
前記アップグレード・コントローラは、前記無線ネットワークシステムからのコマンドに応じて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項２１に記載の無線端末。
【請求項２３】
前記オペレーショナル・コントローラは、前記アップグレードバージョンのソフトウェアにより定義される無線通信プロトコルに従って通信信号をフォーマットするように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２４】
前記アップグレード・コントローラは、取り外し可能なバッテリからの電源供給に応じて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２５】
前記アップグレード・コントローラは、前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かを決定し、前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かに基づいて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２６】
前記アップグレード・コントローラは、前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定し、前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かに基づいて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２７】
前記アップグレード・コントローラは、前記ソフトウェア・アップグレード・パッケージ内の命令に従って、前記初期バージョンのソフトウェアを前記アップグレードバージョンのソフトウェアに変換するように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２８】
無線端末であって、
初期バージョンのソフトウェアを含む少なくとも一つのメモリと、
前記少なくとも一つのメモリにソフトウェア・アップグレード・パッケージを転送する手段と、
前記無線端末のエンドユーザーによる利用により発生する所定のイベントに応じて、前記初期バージョンのソフトウェア及び前記ソフトウェア・アップグレード・パッケージから、前記少なくとも一つのメモリ内でアップグレードバージョンのソフトウェアを生成する手段と
前記アップグレードバージョンのソフトウェアに従って前記無線端末を動作させる手段と
を備えることを特徴とする無線端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部に格納されたソフトウェアに従って動作する無線端末に関する。より詳細には、携帯無線電話のような無線端末において、ソフトウェアをアップグレードするための方法に関する。
【背景技術】
【０００２】
携帯端末のような消費者用の無線端末は、製造者により販売されるのに先だって、不揮発性メモリー内のソフトウェアにより予めプログラムされているのが一般的である（このような場合、係るソフトウェアはしばしばファームウェアと呼ばれる。）。携帯端末の場合、このようなソフトウェアは一般的に、無線通信プロトコル、オペレーティングシステム、及び、ゲーム、電話帳及び電子メールのようなアプリケーションを定義している。当該ソフトウェアは、不揮発性メモリが携帯端末に搭載される以前に、該メモリにロードされても良い。或いは、該ソフトウェアはそれ以降、例えば製造工程における検証段階においてロードされても良い。例えば、検証用ソフトウエアを携帯端末にロードしておいて、検証をサポートしても良く、その場合に、携帯端末が検証をパスした場合に動作ソフトウェアがロードされても良い。
【０００３】
製造者は、無線端末の実用性を拡張するため、或いは、装置の動作に関する潜在的或いは実際の問題を救済するために、付加的な機能をユーザに提供するための方法を頻繁に模索している。そのような場合の多くは、予めロードされているソフトウェアの代替として、アップグレードされたソフトウェアをロードすることにより、装置内のソフトウェアをアップグレードする必要があろう。時には、このようなアップグレードを、出荷前の製造工程において実行することもできる。しかしながら、装置が生産者在庫、流通機関、或いは、卸売在庫に置かれる場合に、ソフトウェアのアップグレードが必要となる場合も時にはあるかも知れない。また、ソフトウェアのアップグレードにより、消費者用無線端末を開梱し、ソフトウェアを再プログラムし、ソフトウェアを検証し、そして装置を再梱包することを余儀なくされるかも知れない。
【０００４】
ソフトウェアを不揮発性メモリへロードするには、かなり時間を要するかも知れない。これは、例えば、不揮発性メモリ（例えば、ＥＥＰＲＯＭ及びフラッシュＥＥＰＲＯＭ）の長い書込サイクル時間とそれに関連する遅い書込動作によるものである。例えば、携帯端末にソフトウェアをロードするためには、３分から１２分を要する。ソフトウェアアップグレード行為を完了させるために必要とされる時間は、その行為に要するコストの主要部分となりえる。ソフトウェアアップグレードは、その対象が、何千もの消費者用無線端末であれば、或いは、そのうちの何百かであったとしても、非常に高価なものとなりえる。
【０００５】
ソフトウェアアップグレードにかかるコストを低減するための幾つかのアプローチには、より高速の書込サイクルを有する不揮発性メモリを使用すること、及び、ソフトウェアプログラマーと消費者用装置との間のデータ接続をより高速なものとすることの少なくとも何れかにより、ソフトウェアのロード時間を削減することが含まれる。幾つかの他のアプローチには、多くの無線端末においてソフトウェアのアップグレードを同時に行うことを可能とするソフトウェアプログラミング装置の利用が含まれる。
【発明の開示】
【０００６】
本発明の実施形態は、無線端末においてソフトウェアをアップグレードするための方法を提供する。初期バージョンのソフトウェアは、無線端末内の少なくとも一つのメモリ内に提供される。ソフトウェアアップグレードパッケージは、無線端末の製造者によりメモリ内に転送される。アップグレードバージョンのソフトウェアは、エンドユーザーによる無線端末の利用により発生する所定のイベントに応じて、初期バージョンのソフトウェア及びソフトウェアアップグレードパッケージから無線端末内において生成される。アップグレードバージョンのソフトウェアは、無線端末内のメモリに格納される。無線端末は、アップグレードバージョンのソフトウェアにより動作することができる。
【０００７】
この方法において、製造者は、初期バージョンのソフトウェアを無線端末にロードしておけばよい。製造者が初期バージョンのソフトウェアのアップグレード（即ち、修正）を希望する場合には、ソフトウェア・アップグレード・パッケージを生成し、無線端末内にロードさせればよい。ソフトウェア・アップグレード・パッケージは、無線端末内において、初期バージョンのソフトウェアとソフトウェア・アップグレード・パッケージから、アップグレードバージョンのソフトウェアを生成するために無線端末により利用される命令及びデータを含むことができる。ソフトウェア・アップグレード・パッケージは初期バージョンのソフトウェアよりも実質的に小さいので、無線端末にロードするために要する時間は、初期バージョンのソフトウェアをロードするために必要な時間よりも実質的に短くなる。
【０００８】
無線端末内におけるアップグレードバージョンのソフトウェアの生成は、エンドユーザによる無線端末の利用によって生ずる、後の所定のイベントの発生まで遅延される。従って、無線端末内においてソフトウェアをアップグレードするために必要とされる時間の一部、場合によっては全アップグレード時間の大部分が、製造者から切り離されることとなるかも知れない。
【発明を実施するための最良の形態】
【０００９】
以下において、本発明の実施形態を示す添付の図面を参照して、本発明をより詳細に記述する。しかしながら、本発明は、ここで説明する実施形態のみに限定されるものとして解釈されるべきではない。むしろ、これらの実施形態は、本開示が完璧かつ完全となるように、また当業者に本発明の範囲を十分に伝えるように提供されている。全体を通じて、類似の番号は類似の要素を指す。
【００１０】
また、「備える（"comprising"又は"comprise"）」との語は、オープンエンドスタイルの語であって、記述した１以上の要素、工程及び機能の少なくともいずれかを、記述していない１以上の要素、工程及び機能の少なくともいずれかを除外することなく含むものとして、理解されよう。
【００１１】
本発明は、本発明の実施形態に従う方法及び無線端末のブロック図及び動作図の少なくともいずれかを参照して以下に記述される。ブロック図及び動作図の少なくとも何れかにおける各ブロック及びそれらの結合は、無線周波数、アナログハードウェア及びデジタルハードウェアの少なくとも何れか、及び、コンピュータプログラム命令の少なくとも何れかにより実施することができることは、理解されよう。これらのコンピュータプログラム命令は、該命令が、コンピュータ及びプログラム可能なデータ処理装置の少なくともいずれかのプロセッサにおいて実行され、ブロック図や動作ブロック若しくはブロックの少なくとも何れかにおいて特定される機能／動作を実行するための手段を生成するように、汎用コンピュータ、特定用途コンピュータ、ＡＳＩＣ、及び無線端末内の他のプログラム可能なデータ装置の少なくとも何れかのプロセッサに提供されてもよい。いくつかの代替的な実施形態において、ブロックにおいて規定される機能／動作は、動作図に示される順番から外れて実行されても良い。例えば、連続する二つのブロックは、実質的に同時に実行されても良いし、或いは、そこに含まれる機能／動作に応じて時には逆順で実行されても良い。
【００１２】
本書面において“無線端末”との語が使用される場合、マルチラインディスプレイを有する（又は有しない）携帯無線電話、データ処理機能、ファクシミリ機能及びデータ通信機能を携帯電話機と結合したところの個人用通信システム（Personal Communications System:PCS）端末、無線電話機能、ページャー機能、インターネット／イントラネット接続機能、ウェブブラウザ機能、オーガナイザー機能、カレンダー機能及びＧＰＳ受信機能の少なくとも何れかを含むことのできるＰＤＡ（Personal Digital Assistant）、及び、無線電話送受信機能を有する従来的なラップトップ及びパームトップ携帯型コンピュータの少なくとも何れか、のうち少なくとも何れかを含む概念として使用されることは、理解されるべきである。
【００１３】
また、”メモリ”との語は、１以上の物理的なユニット、又は、２以上のタイプの物理的なメモリを意味するものであることは理解されるべきである。無線端末は、幾つかのタイプのメモリを含むことができる。その中には、ＲＡＭ及び不揮発性メモリが含まれ、各種のメモリは、２以上の物理的なユニットに更に分割されても良い。ＲＡＭの幾つか或いは全ては、例えば、プロセッサと同一の集積回路上に実際に配置されていても良い。同様に、ここで記述される処理機能のいかなるものも、実際には複数のプロセッサの結合として実現されてもよい。そして、”プロセッサ”の語は、少なくとも一つのプロセッサを意味するものとしここでは使われる。
【００１４】
本発明の様々な実施形態は、図１の模式的なブロック図を参照してここで記述される。図１は、典型的な無線通信システムを示し、そこには無線端末１０、ソフトウェア・アップグレード・ジェネレータ３２、ソフトウェア・ダウンロード・マネージャ３０及び無線通信ネットワーク４０が含まれる。
【００１５】
ソフトウェア・ダウンロード・マネージャ３０を利用することで、製造者は初期バージョンのソフトウェアを無線端末１０にロードすることができる。製造者が初期バージョンのソフトウェアのアップグレード（即ち、修正）を希望する場合には、ソフトウェア・アップグレード・パッケージがソフトウェア・アップグレード・ジェネレータ３２により生成され、ダウンロード・マネージャ３０を介して無線端末１０内にロードされる。無線端末１０へのソフトウェア・アップグレード・パッケージのロードは、初期バージョンをロードするために利用されたものと同一のダウンロード・マネージャ３０を利用して実行されても良し、或いは、同等の機能を有する別のシステムを利用しても良い。ソフトウェア・アップグレード・パッケージには、初期バージョンのソフトウェア及びソフトウェア・アップグレード・パッケージから、アップグレードバージョンのソフトウェアを無線端末１０内で生成するために無線端末１０によって利用される、命令（instraction）及びデータが含まれていても良い。ソフトウェア・アップグレード・パッケージは、初期バージョンのソフトウェアより実質的に小さく、そのために、初期バージョンのソフトウェアをロードするのに要する時間よりも実質的に少ない時間で無線端末１０内にロードすることができるであろう。
【００１６】
無線端末１０内におけるアップグレードバージョンのソフトウェアの生成は、エンドユーザー（即ち、顧客）による無線端末１０の使用により発生する、後の所定のイベントの発生まで遅延されても良い。該所定のイベントは、例えば、無線端末がエンドユーザに販売された後、梱包を解いた後、及び、最初に使用された後に発生しても良い。また、信号を無線端末１０へ無線ネットワーク４０から送信して、無線端末１０内におけるアップグレードバージョンのソフトウェアの生成のトリガーをかけてもよい。これにより、無線端末１０におけるソフトウェアのアップグレードに要する時間の一部、場合によってはアップグレードに要する全時間の大部分を、製造者から切り離すことが可能となる。時間の節約及び関連するコストの節約は、例えば、無線端末１０を大量に製造するような場合には、製造者にとって重要となりえる。
【００１７】
ソフトウェア・ダウンロード・マネージャ３０、ソフトウェア・アップグレード・ジェネレータ３２、無線端末１０、及び、無線端末１０内におけるアップグレードバージョンのソフトウェアの生成の要因となる所定のイベントを、本発明の幾つかの実施形態について、更に詳細に記述する。
【００１８】
図１に示されるように、ソフトウェア・ダウンロード・マネージャ３０は、電気的インタフェース３６を介して無線端末１０内の電気的インタフェース２９と通信可能に結合できるターミナル・プログラマー３４を利用して、初期バージョンのソフトウェアを無線端末１０にロードすることができる。本発明の幾つかの他の実施形態では、ソフトウェア・ダウンロード・マネージャ３０は、例えば無線ネットワーク４０のような、無線インタフェースを介してソフトウェアを無線端末１０に送信するように構成された無線送信機を含んでいても良い。ソフトウェア・ダウンロード・マネージャ３０と無線端末１０の間でソフトウェアを送信するための別の方法には、赤外線通信や短距離無線通信（例えば、無線ＬＡＮやBluetooth）が含まれる。図２を参照すると、製造者が無線端末１０のソフトウェアのアップグレード（例えば、変更）を希望する場合に、ソフトウェア・アップグレード・パッケージを初期バージョンのソフトウェア２００及びリファレンス・アップグレード・ソフトウェア２０２から生成するために、ソフトウェア・アップグレード・ジェネレータ３２が利用されても良い。初期バージョンのソフトウェア２００は、無線端末１０に最初にロードされたソフトウェアであってもよく、リファレンス・アップグレード・ソフトウェア２０２は、所望のアップグレードされたソフトウェアであってもよい。比較器２０４は、初期バージョンのソフトウェア２００とリファレンス・アップグレード・ソフトウェア２０２との間の相違を比較して、ソフトウェア・アップグレード・パッケージ２０６を生成する。比較器２０４を実現するための様々なアルゴリズムは公知のものであるから、ここで更に詳細には記述しない。
【００１９】
ソフトウェア・アップグレード・パッケージ２０６には、初期バージョンのソフトウェア２００及びソフトウェア・アップグレード・パッケージ２０６から、アップグレードバージョンのソフトウェアを無線端末１０内で生成するために無線端末１０によって利用される、命令及びデータが含まれていても良い。ソフトウェア・ダウンロード・マネージャ３０は、無線端末１０内にソフトウェア・アップグレード・パッケージ２０６をロードするために利用されても良い。ソフトウェア・アップグレード・パッケージ２０６は、初期バージョンのソフトウェアより実質的に小さく、そのために、リファレンス・アップグレード・ソフトウェア２０２をロードするのに要する時間よりも実質的に少ない時間で無線端末１０内にロードすることができるであろう。従って、無線端末１０内でソフトウェアをアップグレードするために必要な時間、及び、アップグレードに関連するコストは、リファレンス・アップグレード・ソフトウェア２０２の代わりにソフトウェア・アップグレード・パッケージ２０６をロードすることにより削減されるであろう。
【００２０】
図１に示されるように、無線端末１０は携帯用ハウジング１２、キーボード／キーパッド１４、ディスプレイ１６、スピーカー１８、マイク２０を含んでいても良い。無線端末１０はまた、プロセッサ２２及び少なくとも１つの不揮発性メモリ２４を含み、また、送受信器２６を含んでいても良い。不揮発性メモリ２４は、消去及びプログラムが可能なリード・オンリ・メモリ（ＥＰＲＯＭ又はフラッシュＥＰＲＯＭ）、バッテリー・バックアップ付きのランダム・アクセス・メモリ（ＲＡＭ）、磁気的格納装置、光学的格納装置或いは他のデジタル格納装置のうちの１つ以上を含んでいても良い。更に、不揮発性メモリ２４は、プロセッサ２２とは切り離されていてもよいし、或いは、少なくとも一部がプロセッサ２２内に含まれていてもよい。送受信器２４は、典型的に送信器と受信器との両方を含み、双方向通信を可能とする。しかし、本発明は、そのような装置に限定されるものではなく、ここで使用されるように、”送受信器”は受信器と送信器の両方、或いは、そのような通信回路の一つのみを含んでいても良い。無線端末１０は、これにより、無線周波数信号を利用して無線通信ネットワーク４０と通信することができる。無線周波数信号は、アンテナ２６を介して少なくとも一つの通信チャネル２８上で無線通信ネットワーク４０と通信される。
【００２１】
プロセッサ２２は、メモリ２４内のソフトウェアによって定義される無線端末１０の機能に関連する様々な通信及びアプリケーションをサポートすることができる。ソフトウェアに従って動作することで、プロセッサ２２は、無線通信プロトコルに従った通信チャネル２８での送信のために、通信信号をフォーマットしてもよいし、通信チャネルを介して受信した、フォーマットされた通信信号を解釈してもよい。（“通信チャネル”との語は、ここでは広義に用いられ、送信及び受信は、実際には同一チャネル又は論理的或いは物理的に分割されたチャネルにおいて行われても良い。）無線通信プロトコルは、無線ネットワーク４０との通信接続としての通信チャネル２８を確立するための動作、通信接続を維持するための動作、マイク２０からの音声（スピーチ）信号を、通信チャネル２８での通信に適したデジタル通信信号にフォーマットするための動作（即ち、音声コーディング）、及び、通信チャネル２８を介して受信した音声信号を、スピーカー１８から出力するのに適した信号にフォーマットするための動作（即ち、音声デコーディング）のうち、少なくともいずれかを含んでいてもよい。フォーマットされた通信信号は、トラヒック（音声及びデータの少なくともいずれか）と、制御信号（例えば、ページング信号／入来呼のためのメッセージ）を含んでいてもよい。本発明の実施形態において利用される無線通信プロトコルの例には、ＡＮＳＩ−１３６、ＧＳＭ、符号分割多元接続（ＣＤＭＡ）、ワイドバンドＣＤＭＡ、ＣＤＭＡ２０００、ＥＤＧＥ（Enhanced Data retes for GSM Evolution）、ＵＭＴＳ（Universal Mobile Telecommunications System）、Ｂｌｕｅｔｏｏｔｈ、及びＩＥＥＥ８０２．１１ｂを含む無線ローカル・エリア・ネットワーク（ＷＬＡＮ）プロトコル、等がある。これら及び他の無線通信プロトコルは、当業者には公知であるので、ここでの更なる説明は行わない。
【００２２】
ソフトウェアはまた、以下に挙げる動作のうち、少なくともいずれかを定義していてもよい。該動作には、ユーザにゲームを提供するための動作、音楽（例えば、ｍｐ３や他のフォーマットの音楽）を再生するための動作、無線端末１０内の電話帳にアクセスするための動作、及び、ショート・メッセージ・サービスのメッセージ、電子メール、データ、電子写真及びビデオの少なくともいずれかにつき、生成、受信、及び、ディスプレイ１６表示のうちの少なくともいずれかを可能とする動作が含まれる。
【００２３】
図３に示されるように、プロセッサ２２はダウンロード・コントローラ３００、アップグレード・コントローラ３０２、及びオペレーショナル・コントローラ３０４を含んでいてもよい。コントローラ３００、３０２、及び、３０４は、独立した回路であっても良いし、或いは、少なくとも幾つか、又は全部の共通回路を共有していても良い、更に、汎用コンピュータ、特定用途コンピュータ、ＡＳＩＣ及び他のプログラム可能なデータ処理装置の少なくともいずれかにに提供される命令であってもよい。ダウンロードコントローラ３００は、初期バージョンのソフトウェア及びソフトウェア・アップグレード・パッケージの少なくともいずれかを電気的インタフェース２９から不揮発性メモリ２４へロード（即ち、受信）するように構成されていても良い。ソフトウェア・アップグレード・パッケージは、初期バージョンのソフトウェアと同一のメモリ及び独立したメモリの少なくとも何れかにロードされても良い。
【００２４】
本発明の他の実施形態では、初期バージョンのソフトウェア及びソフトウェア・アップグレード・パッケージの少なくともいずれかが、不揮発性メモリ２４が無線端末１０内にアセンブルされる以前に該メモリ２４にロードされても良い。本発明の更に他の実施形態では、ダウンロード・コントローラ３００は、初期バージョンのソフトウェア及びソフトウェア・アップグレード・パッケージの少なくともいずれかを、アンテナ２６及び送受信器２４を経由で、無線ネットワーク４０から通信チャネル２８を介して受信し、受信ソフトウェアを不揮発性メモリ２４にロードするように構成されても良い。
【００２５】
アップグレード・コントローラ３０２は、初期バージョンのソフトウェア及びソフトウェア・アップグレード・パッケージから、アップグレードバージョンのソフトウェアを生成するように構成されても良い。本発明の幾つかの実施形態では、アップグレード・コントローラ３０２は、図４に示された動作に従って、アップグレードバージョンのソフトウェアを生成しても良い。図４のブロック４００を参照すると、アップグレードバージョンのソフトウェアの生成は、所定の状況が発生する後まで遅延さる。
【００２６】
所定の状況は、初期バージョンのソフトウェアとソフトウェア・アップグレード・パッケージが先だってロードされその後に電源が断たれた後に、バッテリ及び外部電源の少なくともいずれかのような電源に、無線端末１０が最初に接続された場合におけるものであっても良い。典型的には、ユーザは製造者によって無線端末にバッテリを接続するように指示され、無線端末１０の使用前にバッテリを完全に充電することとなる。バッテリ及び外部電源の少なくともいずれかを無線端末１０に接続するにより、ソフトウェア・アップグレード・パッケージが存在する場合には、アップグレードバージョンのソフトウェアの生成が開始されても良い。
【００２７】
所定の状況は、無線端末の初期のセットアップ(initial setup)に応じたものであってもよい。例えば、初期バージョンのソフトウェアにより定義された無線通信プロトコルに従って、無線ネットワーク４０への登録、及び、無線ネットワーク４０によるアクティベートの少なくともいずれかを試みる際に、無線端末１０がアップグレードバージョンのソフトウェアの生成を開始してもよい。家庭内携帯電話網（home cellular network）での利用のために携帯無線端末をアクティベートするための動作、及び、携帯電話網に携帯無線端末を登録するための動作は公知のものであるので、ここでは更に説明しない。別の例では、無線端末１０の初期のセットアップは、ユーザによる最初の利用の前に無線端末１０により実行される動作であってもよい。
【００２８】
アップグレードバージョンのソフトウェアの生成は、無線ネットワーク４０から通信チャネル２８を介して受信されるアップグレード・コマンドに応じて実行されてもよい。無線ネットワーク４０は、無線ネットワーク４０によるアクティベート及び無線ネットワーク４０への登録の少なくともいずれかの試み(attempt)に基づいて、アップグレードコマンドを無線端末に通信してもよい。無線ネットワーク４０はまず、シリアル番号、モデル番号及び製造者の少なくともいずれかのような無線端末のアイデンティティを決定し、更に無線端末により使用されるソフトウェアのバージョン又は他の指標を識別してもよい。無線ネットワーク４０は、この情報を利用して、ソフトウェア・アップグレードが求められているかどうかを決定し、無線端末にソフトウェアのアップグレードを要求してもよい。
【００２９】
ブロック４００における所定の状況が満たされた後、ブロック４０２では、アップグレードバージョンのソフトウェアが生成されるまで、無線端末の動作初期バージョンのソフトウェアを利用した動作が妨げらるか、或いは、停止されてもよい。アップグレードバージョンのソフトウェアは、アップグレードの間にメモリ２４内の初期バージョンのソフトウェアと少なくとも部分的に入れ替わるかも知れないので、メモリ２４は、初期バージョンとアップグレードバージョンのソフトウェアの不正確な結合体（incomplete combination）を含むかもしれない。無線端末１０が、そのような不正確な結合体に従って動作しようとする場合、不正確にフォーマットされた通信信号や他の不正確な動作が発生することとなるであろう。従って、無線端末１０が、メモリ２４内でアップグレードバージョンのソフトウェアの生成が完了するまで、初期バージョンのソフトウェアを使用した通信信号のフォーマット動作が少なくとも妨げられる／停止されることには、利点があろう。
【００３０】
もし、無線端末１０が切迫したソフトウェアアップグレードの前、或いは、ソフトウェアップグレードの間に“ＯＮ”であれば、無線端末の動作が停止されることをユーザに警告するために、”電話のソフトウェアを設定中(Configuring Phone Software)”といったメッセージをユーザに対して表示してもよい。また、ソフトウェアアップグレードの開始、ソフトウェアアップグレードが後の時間に、或いは、他の所定のイベントに応じて実行されるようなスケジューリング、及び、ソフトウェアアップグレードの拒否の少なくともいずれかが、ユーザに対して許可されてもよい。
【００３１】
ブロック４０４では、例えば、ソフトウェアのパリティ・チェックや、エラーを検証するための他の動作により、ソフトウェア・アップグレード・パッケージの完全性（integrity）が検証されてもよい。ブロック４０６では、ソフトウェア・アップグレード・パッケージの真正性（authenticity）が検証されてもよい。真正性を決定することで、異なるタイプの無線端末のためのソフトウェア・アップグレード・パッケージの使用、及び、不認可の個人や団体により開発或いは修正されたソフトウェアの使用の少なくとも何れかを妨げることができる。真正性の決定は、認証キーのような情報を、無線端末１０内の認証コードと比較した結果に対応するものであってもよい。認証キー及び認証コードの少なくとも何れかは、デジタル署名或いはデジタルパターン、パターンシーケンス、及び、計算結果(computational result)のうちの少なくとも何れかを含んでもよい。キー又はコードは、ソフトウェアバージョン及びソフトウェアソースの少なくともいずれか、無線端末１０の製造者、モデルタイプ（例えば、製品モデル番号、又は、製品ファミリー識別（product family identify））及び、無線端末１０のユニークな識別子（uniquely identify）（例えば、端末識別番号又はシリアル番号）であってもよい。真正性の決定は、公知のＲＳＡやＳＨＡ−１アルゴリズムのような暗号解読アルゴリズムの利用を含んでいてもよい。認証キー及び認証コードの少なくとも何れかは、無線端末１０のユーザから受け付けるものであってもよいし、通信チャネル２８を介して無線ネットワークから受信されるものであってもよい。或いは、無線端末１０内の初期バージョンのソフトウェア及びソフトウェア・アップグレード・パッケージ内に独立して格納されていてもよい。
【００３２】
ソフトウェア・アップグレード・パッケージが、ブロック４０４及び４０６における完全性及び真正性の検証を満たす場合には、ブロック４０８において、初期バージョンのソフトウェアとソフトウェア・アップグレード・パッケージからアップグレードバージョンのソフトウェアが生成される。ソフトウェア・アップグレード・パッケージは、初期バージョンのソフトウェアをアップグレードバージョンのソフトウェアに変換するために利用される命令及びデータの少なくとも何れかを含んでいてもよい。メモリスペースを節約するために、アップグレードバージョンのソフトウェアは、初期バージョンのソフトウェアの少なくとも一部に上書きされて不揮発性メモリ内に格納されてもよい。しかしながら、初期バージョンのソフトウェアの修正を円滑に行うためには、例えば、もしアップグレードバージョンのソフトウェアの生成が適切に完了しない場合や、完全性の検証を満たさない場合に、アップグレードソフトウェアを初期バージョンのソフトウェアから独立して格納してもよい。また、ソフトウェア・アップグレード・パッケージが、アップグレードソフトウェアを初期バージョンのソフトウェアに変換するための命令及びデータの少なくともいずれかを含んでいて、そのような復帰が円滑に行えるようにしてもよい。
【００３３】
ブロック４１０では、アップグレードバージョンのソフトウェアによる無線端末１０の動作が少なくとも一部において提供される。アップグレードバージョンのソフトウェアは、無線端末により無線ネットワーク４０と通信される信号をフォーマットするために使用される無線通信プロトコル、及び、無線端末１０により使用される新しい、或いは、修正されたアプリケーションの少なくともいずれかを定義していてもよい。
【００３４】
従って、無線端末内のソフトウェアは初期バージョンのソフトウェアとソフトウェア・アップグレード・パッケージとを利用してアップグレードされてもよい。ソフトウェア・アップグレード・パッケージは初期バージョンのソフトウェアよりも実質的に小さくてもよいので、無線端末へロードするために要する時間は、初期バージョンのソフトウェアをロードするために必要な時間よりも実質的に短くなるかもしれない。無線端末内におけるソフトウェアのアップグレードは、エンドユーザによる無線端末の利用によって生ずる、後の所定のイベントの発生まで遅延される。この所定のイベントは、例えば、無線端末がエンドカスタマーに販売された後に発生してもよい。従って、無線端末内においてソフトウェアをアップグレードするために必要とされる時間の一部、場合によっては全アップグレード時間の大部分が、製造者から切り離されることとなるかも知れない。時間節約と関連するコストの節約は、無線端末を大量に製造する製造者にとっては重要である。
【００３５】
図面及び明細書において、本発明の典型的かつ例示的な実施形態を示した。ここでは、特定の用語が使用されているが、一般的かつ記述的な意味においてのみ使用されたものであって、限定的な目的で使用されたものではない。また、本発明の範囲は、特許請求の範囲に記載される請求項により説明されるものである。
【図面の簡単な説明】
【００３６】
【図１】本発明の幾つかの実施形態に従うソフトウェア・ダウンロード・マネージャ、無線端末及び無線ネットワークを概略的に示すブロック図である。
【図２】本発明の実施形態に従うソフトウェア・アップグレード・ジェネレータを概略的に示すブロック図である。
【図３】本発明の実施形態に従う図１のプロセッサを概略的に示すブロック図である。
【図４】本発明の実施形態に従う、アップグレードバージョンのソフトウェアを制止するための動作の一例を示すフローチャートである。
【図１】
2007503654.tif 000003
【図２】
2007503654.tif 000004
【図３】
2007503654.tif 000005
【図４】
2007503654.tif 000006
【手続補正書】
【提出日】平成17年3月7日(2005.3.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
無線端末内でソフトウェアをアップグレードするための方法であって、
初期バージョンのソフトウェアを前記無線端末内の少なくとも一つのメモリに提供する工程と、
ソフトウェア・アップグレード・パッケージを前記少なくとも一つのメモリ内に、前記無線端末の製造者により転送する工程と、
前記無線端末内で、前記初期バージョンのソフトウェアと前記ソフトウェア・アップグレード・パッケージから、エンドユーザーによる前記無線端末の利用により発生する所定のイベントに応じてアップグレードバージョンのソフトウェアを生成する工程であって、前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記無線端末の初期のセットアップに応じたものである工程と、
前記無線端末を、前記アップグレードバージョンのソフトウェアに従って動作させる工程と
を備えることを特徴とする方法。
【請求項２】
前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、少なくとも一つの無線通信チャネルを介して無線ネットワークに登録するための前記無線端末による試みに応じたものであること特徴とする請求項１に記載の方法。
【請求項３】
前記初期バージョンのソフトウェアにより定義される無線通信プロトコルに従って、前記少なくとも一つの無線通信チャネルを介して前記無線ネットワークに前記無線端末を登録する工程を更に備え、前記無線端末の登録は、前記ソフトウェア・アップグレード・パッケージの転送の後に実行され、かつ、前記アップグレードバージョンのソフトウェアの生成よりも先に実行されることを特徴とする請求項２に記載の方法。
【請求項４】
前記無線端末内におけるアップグレードバージョンのソフトウェアの生成は、前記少なくとも一つの無線通信チャネルを介した前記無線ネットワークからのコマンド受信に応じたものであることを特徴とする請求項３に記載の方法。
【請求項５】
前記無線端末を動作させる工程は、前記アップグレードバージョンのソフトウェアにより定義される無線通信プロトコルに従って通信信号をフォーマットする工程を備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記アップグレードバージョンのソフトウェアの生成が行われている間において、前記通信信号のフォーマットを妨げる工程を更に備えることを特徴とする請求項６に記載の方法。
【請求項７】
前記無線端末に、取り外し可能なバッテリから電源を供給する工程を更に備え、
前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記取り外し可能なバッテリから前記無線端末への電源供給に応じたものであることを特徴とする請求項１に記載の方法。
【請求項８】
前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かを決定する工程を更に備え、前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かの決定に基づくことを特徴とする請求項１に記載の方法。
【請求項９】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程を更に備え、前記無線端末内における前記アップグレードバージョンのソフトウェアの生成は、前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かの決定に基づくことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程は、認証キーをユーザーから受け付ける工程と、前記認証キーと前記無線端末内の認証コードとを比較する工程とを備えることを特徴とする請求項９に記載の方法。
【請求項１１】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程は、前記ソフトウェア・アップグレード・パッケージ内の認証キーと前記無線端末内の認証コードとを比較する工程とを備えることを特徴とする請求項９に記載の方法。
【請求項１２】
前記認証キーは、前記無線端末を一意に識別するためのものであることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記認証キーは、前記ソフトウェア・アップグレード・パッケージの製造者を一意に識別するためのものであることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定する工程は、前記ソフトウェア・アップグレード・パッケージを解読する工程を備えることを特徴とする請求項９に記載の方法。
【請求項１５】
前記初期バージョンのソフトウェアとリファレンスとなるアップグレードバージョンのソフトウェアとの比較から、前記ソフトウェア・アップグレード・パッケージを前記無線端末の外部で生成する工程を更に備えることを特徴とする請求項１に記載の方法。
【請求項１６】
アップグレードバージョンのソフトウェアを生成する工程は、前記ソフトウェア・アップグレード・パッケージ内の命令に従って、前記初期バージョンのソフトウェアを前記アップグレードバージョンのソフトウェアに変換する工程を備えることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記無線端末内におけるアップグレードバージョンのソフトウェアのユーザーによる利用可能性の指標を、前記無線端末内において生成する工程を更に備え、前記アップグレードバージョンのソフトウェアの生成は、ユーザーからの指示に応じたものであることを特徴とする請求項１に記載の方法。
【請求項１８】
無線端末であって、
初期バージョンのソフトウェアを含む少なくとも一つのメモリと、
前記少なくとも一つのメモリにソフトウェア・アップグレード・パッケージを転送するように構成されたダウンロード・コントローラと、
前記無線端末のエンドユーザーによる利用により発生する所定のイベントに応じて、前記初期バージョンのソフトウェア及び前記ソフトウェア・アップグレード・パッケージから、前記少なくとも一つのメモリ内でアップグレードバージョンのソフトウェアを生成するように構成され、前記無線端末の初期のセットアップに応じて前記アップグレードバージョンのソフトウェアを生成するように構成されたアップグレード・コントローラと、
前記アップグレードバージョンのソフトウェアに従って前記無線端末を動作させるように構成されたオペレーショナル・コントローラと
を備えることを特徴とする無線端末。
【請求項１９】
前記オペレーショナル・コントローラは、少なくとも一つの無線通信チャネルを介して無線ネットワークに前記無線端末を登録するように更に構成され、
前記アップグレード・コントローラは、前記少なくとも一つの無線通信チャネルを介して前記無線ネットワークに登録するための前記無線端末による試みに応じて、前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１８に記載の無線端末。
【請求項２０】
前記アップグレード・コントローラは、前記無線ネットワークシステムからのコマンドに応じて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１９に記載の無線端末。
【請求項２１】
前記オペレーショナル・コントローラは、前記アップグレードバージョンのソフトウェアにより定義される無線通信プロトコルに従って通信信号をフォーマットするように更に構成されていることを特徴とする請求項１８に記載の無線端末。
【請求項２２】
前記アップグレード・コントローラは、取り外し可能なバッテリからの電源供給に応じて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１８に記載の無線端末。
【請求項２３】
前記アップグレード・コントローラは、前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かを決定し、前記ソフトウェア・アップグレード・パッケージがエラーを含むか否かに基づいて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１８に記載の無線端末。
【請求項２４】
前記アップグレード・コントローラは、前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かを決定し、前記ソフトウェア・アップグレード・パッケージが真正のものであるか否かに基づいて前記アップグレードバージョンのソフトウェアを生成するように更に構成されていることを特徴とする請求項１８に記載の無線端末。
【請求項２５】
前記アップグレード・コントローラは、前記ソフトウェア・アップグレード・パッケージ内の命令に従って、前記初期バージョンのソフトウェアを前記アップグレードバージョンのソフトウェアに変換するように更に構成されていることを特徴とする請求項１８に記載の無線端末。
【請求項２６】
無線端末であって、
初期バージョンのソフトウェアを含む少なくとも一つのメモリと、
前記少なくとも一つのメモリにソフトウェア・アップグレード・パッケージを転送する手段と、
前記無線端末のエンドユーザーによる利用により発生する所定のイベントに応じて、前記初期バージョンのソフトウェア及び前記ソフトウェア・アップグレード・パッケージから、前記少なくとも一つのメモリ内でアップグレードバージョンのソフトウェアを生成する手段であって、前記無線端末の初期のセットアップに応じて前記アップグレードバージョンのソフトウェアを生成するように構成された手段と
前記アップグレードバージョンのソフトウェアに従って前記無線端末を動作させる手段と
を備えることを特徴とする無線端末。
【国際調査報告】
2007503654.tif 000007
2007503654.tif 000008
2007503654.tif 000009
2007503654.tif 000010