(57)【要約】【課題】    ローカルコンピュータを有するリモートプラットフォームにおいて、コンピュータコードをプログラミングする方法を提供する。【解決手段】    ホームデバイスは、ローカルコンピュータに対して、無線伝送を介してコンピュータコードを送信し、コンピュータコードは、フラッシュメモリの別領域内に保存される。一度コンピュータコードの完全なコピーがローカルコンピュータにおいて認識されると、コンピュータコードの完全性は確認され、もし適切であれば、新しい起動アドレスは、ローカルコンピュータにおいて割当てられる。ローカルコンピュータは、新しいコンピュータコードを使用して再起動されるので、効率的にコンピュータソフトウェアをアップデートできる。【選択図】    図５
2009020886.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリを備える、ローカルコンピュータを有しているリモートプラットフォームにおいて、コンピュータコードをプログラミングする方法であって、
無線を介して通信される、複数のコンピュータコードパケットを受信する工程と、
前記ローカルコンピュータのフラッシュメモリの別領域に、前記コンピュータコードを構成している、前記複数のコンピュータコードパケットを保存する工程と、
前記ローカルコンピュータにおいて、前記コンピュータコードの完全なコピーの受信を認識する工程と、
この受信したコンピュータコードの完全性を確認する工程と、
この確認工程を受けて、前記ローカルコンピュータの起動アドレスを変更する工程と、
この起動アドレス変更後、前記ローカルコンピュータを再起動する工程と、
前記ローカルコンピュータを再起動する工程を受けて、新しいコンピュータコードを用いて、前記ローカルコンピュータを再起動させる工程とを有する方法。
【請求項２】
前記リモートプラットフォームは、モバイルプラットフォームである、請求項１記載の方法。
【請求項３】
前記コンピュータコードは、複数のアプリケーションを構成している、請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＯＴＡプログラミングシステムとその使用方法に関する。より詳しく言うと、本発明は、リモートプラットフォームにおけるコンピュータコードをプログラミングする方法に関する。
【背景技術】
【０００２】
リモートデバイス、モバイルデバイス、又は、メディアと情報を通信するためのＯＴＡＰ（オーバー  ジ  エア  プログラミング）システムは、当該者に周知である。多くの場合、モバイルデバイスは、ローカルコンピュータを有しており、ローカルコンピュータは、ホームデバイスから、ＯＴＡ通信を無線によって受信している。ローカルコンピュータは、マイクロコントローラ、及びメモリシステム等を含有しており、ユーザに様々な機能を提供する。ローカルコンピュータは、複数のアプリケーション、システム、又はプログラム等を有しており、これらは、ユーザのために、ローカルコンピュータの様々な操作モード及び機能を提供する。
【０００３】
当技術分野において、アプリケーション、システム、又はプログラム等をアップデートする必要があるとき、ホームデバイスは、リモートデバイスに対して信号を送り、リモートデバイスは、ローカルコンピュータに複数のコンピュータコードパケットを送信する。このパケットは、ローカルコンピュータ内のシステム、プログラム、又はアプリケーション等をアップデートするコンピュータコードを構成している。現在、当技術分野において、コンピュータコードが受信されると、ローカルコンピュータは再起動し、再起動処理の間、コードの完全性を確認し、アップデートが適切であるかどうかを判断する。
【０００４】
この処理は、ローカルコンピュータをアップデートするのに有効ではあるが、この処理には多大な時間を要することとなる。特に、再起動処理の間、コードの完全性が適切であるかどうかを判断するために、プログラムを、分析及び確認しなければならないため、ユーザは、コードの完全性の確認を待った後でなければ、ローカルコンピュータの操作を継続できない。このように即時操作ができないことは、ユーザにとって不快であるばかりでなく、効率的でもない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の主たる目的は、コンピュータをアップデートする効率的な方法を提供することにある。
【０００６】
本発明の別の目的は、コンピュータがアップデートの最中にあっても、ユーザ処理のための時間を最大限にする方法を提供することにある。
【０００７】
本発明の上記の目的、他の目的、特徴及び利点については、本明細書と請求の範囲により、明らかになると思う。
【課題を解決するための手段】
【０００８】
リモートプラットフォームにおけるコンピュータコードをプログラムする方法を開示する。リモートプラットフォームはローカルコンピュータを有し、ローカルコンピュータはフラッシュメモリを備えている。
【０００９】
本発明の方法は、複数のコンピュータコードパケットを受信する工程を含み、コンピュータコードパケットは、無線を介して通信される。次の工程は、ローカルコンピュータのフラッシュメモリの別の領域内に複数のコンピュータコードパケットを保存する工程である。複数のコンピュータコードパケットは、１つのコンピュータコードを構成している。次に、ローカルコンピュータは、コンピュータコードの完全なコピーの受信を認識し、この受信したコンピュータコードの完全性を確認し、再起動処理に入る。
【００１０】
コンピュータコードの完全性を確認すると、ローカルコンピュータの起動アドレスは変更されるので、起動アドレス変更後、ユーザの都合に合わせて、ローカルコンピュータが再起動されることがある。一度、ローカルコンピュータが再起動されると、コンピュータは、新しいコンピュータコードを用いて再起動する。再起動処理の間、コンピュータコードの完全性を確認する必要はない。
【発明を実施するための最良の形態】
【００１１】
図１は、ＯＴＡＰシステム１０を示し、このシステム１０は、ホームデバイス１２と、このホームデバイス１２からＯＴＡ信号を受信する、リモートプラットフォーム１４とを有している。好ましい例では、リモートプラットフォーム１４は、メディアのようなモバイルデバイスである。具体的には、ホームデバイス１２は、複数のコンピュータコードパケット１６を含有しており、このパケット１６は、リモートプラットフォーム１４へ転送され、リモートプラットフォーム１４のローカルコンピュータ１８で受信される。
【００１２】
ローカルコンピュータ１８は、図２に最も良く示されているように、複数のオペレーティングシステム／アプリケーション／プログラム等を有しており、ローカルコンピュータ１８の動作を制御する。このシステム／アプリケーション／プログラムは、マイクロコントローラ２０と、別領域２４を有しているフラッシュメモリ２２と、マネージャコントローラ２６等を備えているが、これらに限られるものではない。他のメモリ等は、当該者に周知のように、ローカルコンピュータ１８内に設けられている。
【００１３】
ローカルコンピュータ１８は、ホームデバイス１２から通信を受信し、好適例においては、マネージャコントローラ２６は、１つのコンピュータコードを構成する複数のコンピュータコードパケット１６を受信する。この実施例においては、コンピュータコードは、複数のアプリケーションを有することができ、組込みバルブセクションコントローラ、又は組込みポンププロセッサ、又はディストリビューテッドマイクロコントローラ、又はＩ／Ｏモジュール等のようなディストリビューテッドプロセッサにダウンロードされることとなる。従って、ローカルコンピュータ１８は、マネージャコントローラ２６内で、複数のアプリケーションを受信することができる。
【００１４】
図３は、フラッシュメモリ２２の別領域２４のプログラミングデータを示している。特に、この別領域２４は、ソフトウェアであって、スタートアップコードと、アプリケーションローダと、アプリケーションと、メッセージプロセッサと、オペレーティングシステムと、書き込みコード等のような複数のコンポーネント２８を含んでいる。これらのコンポーネント２８を用いることによって、ソフトウェアは、アップデートを受信し、かつ、このアップデートを実行することができる。従って、ローカルコンピュータ１８は、データ３０及びヘッダ領域（ＨＤＲ）３２を有するアップデートソフトウェア（図４を参照のこと。）を受信することができ、このアップデートされたソフトウェア、又はコンピュータコードパケット１６を用いて、ローカルコンピュータ１８でソフトウェアをアップデートすることができる。
【００１５】
図５は、フラッシュメモリ２２内のソフトウェア３４が動作して、ローカルコンピュータ１８内のソフトウェアをアップデートする要領を示している。具体的には、ブロック３６において、ソフトウェアは通常どおり動作している。複数のコンピュータコードパケットを介して新しいコードを受信する前に、ブロック３８において、ソフトウェア３４は、システムをモニタし、新しいプログラムに起動コマンドを渡すかどうかを判断する。新しいプログラムがまだ準備できていないとき、ブロック４０において、通常の動作が開始される。
【００１６】
ブロック４２において、ソフトウェア３４はモニタを続け、新しいコードを渡すために、複数のコンピュータコードパケットが受信されたかどうかを判断する。もし受信していなければ、ブロック３６において、通常動作が開始される。しかし、ブロック４２において、新しいコードが検出されると、ブロック４４において、この検出されたコードが受信され、別領域２４へ転送される。このとき、ブロック４６において、判断が実行され、もしソフトウェア３４が、新しいコードの転送は完了していないと判断すると、ソフトウェア３４は、別領域２４へコードを転送し続ける。ブロック４６において、転送が完了している場合、ブロック４８において、新しいコード、又はプログラムの完全性が判断される。
【００１７】
従って、ブロック４８において、新しいコードの完全性は、ローカルコンピュータ１８を再起動する前に確認され、ソフトウェア３４は、たとえ、ブロック４８において、プログラムの完全性が確認されている最中であっても、ユーザがローカルコンピュータ１８を操作し続けられるようにする。従って、新しいプログラム、又はコードの完全性は、再起動処理の間は確認される必要はない。
【００１８】
従って、ブロック５０において、新しいコンピュータコードが正しいかどうかの判断が実行される。もし正しくなければ、ブロック５２において、ソフトウェア３４はローカルコンピュータ１８に、正しくファイル転送をできなかったことを通知する。しかし、もし新しいコンピュータコードが正しいと、ソフトウェア３４は、ブロック５４において、新しいプログラムを設定する。ブロック５４において、一度新しいプログラムの準備ができると、ブロック５６において、ソフトウェア３４は、ローカルコンピュータ１８に転送の成功を通知する。そして、ブロック３６において、コンピュータユーザがローカルコンピュータ１８のさらなる操作を続ける間、通常動作は継続する。
【００１９】
このとき、新しいプログラムに起動コマンドを渡すかどうかという判断３８が与えられ、ブロック５４において、新しいプログラムは準備ができているため、ブロック５８において、ソフトウェア３４は、新しいプログラムが準備できているかどうかを判断することができる。
【００２０】
準備ができていない場合には、ブロック５０において、ローカルコンピュータ１８には、準備できていないことが通知される。一方、ブロック５８において、新しいプログラムが準備できている場合、ブロック６２において、ソフトウェア３４は、ローカルコンピュータ１８の起動アドレスを再割当てするか、又は変更する。そして、ローカルコンピュータ１８を再起動する。再起動処理の間、ローカルコンピュータ１８は、アップデートで提供された新しいコンピュータコードで再起動する。
【００２１】
ソフトウェア３４は、ローカルコンピュータ１８が動作している間に受信したコンピュータコードの完全性を判断することができるため、プログラムの完全性を確認するステップは、再起動処理の間実行される必要はない。従って、再起動時間を最小限に抑える。同様に、これは、プログラムの完全性の確認は、ユーザが操作している間、同時になされることができるので、ユーザの効率を最大限にする。従って、少なくとも上述した全目的が達成される。
【００２２】
本発明の精神と範囲から逸脱することなしに、デバイスに対して、他の様々な変形例や変更例が可能であることは、当該者にとっては明らかであると思う。このような変形例や変更例は、総て特許請求の範囲に含まれ、網羅されるものである。
【図面の簡単な説明】
【００２３】
【図１】ＯＴＡＰシステムのブロック図である。
【図２】ＯＴＡＰを受信するように設計されたローカルコンピュータのブロック図である。
【図３】フラッシュメモリの別領域内におけるコードのブロック図である。
【図４】プログラムを転送するために、図１のシステムにおいて使用されているメッセージの図である。
【図５】ＯＴＡＰを実行するために使用される処理工程のフローチャートである。
【符号の説明】
【００２４】
１０  ＯＴＡＰシステム
１２  ホームデバイス
１４  リモートプラットフォーム
１６  複数のコンピュータコードパケット
１８  ローカルコンピュータ
２０  マイクロコントローラ
２２  フラッシュメモリ
２４  別領域
２６  マネージャコントローラ
２８  コンポーネント
３０  データ
３２  ヘッダ領域（ＨＤＲ）
３４  ソフトウェア
３８  判断
３６、３８、４０、４２、４４、４６、４８、５０、５２、５４、５６、５８、６２  ブロック
【図１】
2009020886.tif 000003
【図２】
2009020886.tif 000004
【図３】
2009020886.tif 000005
【図４】
2009020886.tif 000006
【図５】
2009020886.tif 000007
【外国語明細書】
2009020886000001.pdf