(57)【要約】【課題】記憶領域を大幅に増設することなく、不具合発生時等において、ソフトウェアを再インストールして、システムを元の状態に安全に戻すこと。【解決手段】パッケージ取得部１０２は、ネットワーク１０１を介してソフトウェアパッケージを取得する。パッケージ情報保持部１０５は、ソフトウェアパッケージを取得した際のソフトウェアパッケージのパッケージ情報を保持する。インストール部１０３は、取得したソフトウェアパッケージをアプリケーション領域１０４にインストールする。再インストール制御部１０７は、削除部１０６を介してインストール済のソフトウェアパッケージを削除させたアプリケーション領域１０４に、パッケージ取得部１０２を介して取得したパッケージ情報を用いて再取得させたソフトウェアパッケージを、インストール部１０３により再インストールさせる。【選択図】図１
2009026011.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのソフトウェアパッケージをインストールして使用する組み込み機器において、
ネットワークを介して前記ソフトウェアパッケージを取得するパッケージ取得手段と、
前記ソフトウェアパッケージを取得した際の前記ソフトウェアパッケージの取得先情報を保持する取得先情報保持手段と、
取得した前記ソフトウェアパッケージを記憶部のアプリケーション領域にインストールするインストール手段と、
前記アプリケーション領域にインストールされた前記ソフトウェアパッケージを削除する削除手段と、
前記削除手段を介してインストール済のソフトウェアパッケージを削除させた前記アプリケーション領域に、前記取得先情報を用いて前記パッケージ取得手段によって再取得させた前記ソフトウェアパッケージを、前記インストール手段により再インストールさせる再インストール制御手段と、
を有する組み込み機器。
【請求項２】
前記ソフトウェアパッケージをインストールした際の機器自体のシステムの不具合発生を判定する不具合判定手段を備え、
前記再インストール制御手段は、不具合発生の判定によって、前記ソフトウェアパッケージを再インストールさせる請求項１記載の組み込み機器。
【請求項３】
前記ソフトウェアパッケージをインストールした後の機器自体の不具合発生を判定する不具合判定手段を備え、
前記再インストール制御手段は、不具合発生の判定によって、前記パッケージ取得手段に、前記取得先情報が示す取得先から再取得するソフトウェアパッケージの最新バージョンを取得させる請求項１記載の組み込み機器。
【請求項４】
前記再インストール制御手段は、前記不具合の発生直前にインストールされた前記ソフトウェアパッケージの取得先情報以外の取得先情報を用いて、前記パッケージ取得手段に、再インストールするための前記ソフトウェアパッケージを再取得させる請求項２記載の組み込み機器。
【請求項５】
前記不具合判定手段により不具合発生が判定された場合、不具合が発生した際に前記アプリケーション領域にインストールされたソフトウェアパッケージを前記ネットワークに接続される外部装置に通知する不具合通知手段を備える請求項２記載の組み込み機器。
【請求項６】
ネットワークを介して前記ソフトウェアパッケージを取得する際に、取得するソフトウェアパッケージの取得先情報を取得して保持する取得先情報保持ステップと、
取得した前記ソフトウェアパッケージを記憶部のアプリケーション領域にインストールするインストールステップと、
前記ソフトウェアパッケージの再インストール指示がある場合、前記アプリケーション領域にインストールされた前記ソフトウェアパッケージを削除する削除ステップと、
保持された取得先情報を用いて、当該取得先情報が示す取得先から、先に取得した前記ソフトウェアパッケージを再取得させる再取得ステップと、
再取得したソフトウェアパッケージを、前記アプリケーション領域に再インストールさせる再インストールステップとを有するソフトウェアの再インストール方法。
【請求項７】
ネットワークを介して前記ソフトウェアパッケージを取得する際に、取得するソフトウェアパッケージの取得先情報を取得して保持する手順と、
取得した前記ソフトウェアパッケージを記憶部のアプリケーション領域にインストールする手順と、
前記ソフトウェアパッケージの再インストール指示がある場合、前記アプリケーション領域にインストールされた前記ソフトウェアパッケージを削除する削除ステップと、
保持された取得先情報を用いて、当該取得先情報が示す取得先から、先に取得した前記ソフトウェアパッケージを再取得させる手順と、
再取得したソフトウェアパッケージを、前記アプリケーション領域に再インストールさせる手順と、
をコンピュータに実行させるための再インストールプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話等の組み込み機器、ソフトウェアの再インストール方法及び再インストールプログラムに関するものである。
【背景技術】
【０００２】
従来、ＯＳが組み込まれて自律して動作する組み込み機器において、システムを復旧させる場合、例えば、特許文献１に示すシステムファイルをバックアップする方法や、特許文献２に示すインストールパッケージ（ソフトウェアパッケージ）をバックアップする方法が知られている。
【０００３】
図５は、システムファイルをバックアップすることによってシステムを復旧する従来の方法の説明に供する図である。
【０００４】
図５に示す処理部１では、ファイル監視部１１は、プログラムのインストール時に、共用ファイルの監視を行い、変更がある場合には、その変更内容を抽出情報管理部４に渡す。抽出情報管理部４は、ファイル監視部１１により渡された抽出情報を管理し、ＯＳ５を介して記憶装置６にバックアップする。システム不具合発生時には、復元処理部８が、抽出情報管理部４に記憶装置６に記憶された情報を抽出させることによって復元処理を行っている。
【０００５】
また、図６は、インストールパッケージをバックアップする従来の再インストール方法の説明に供する図である。
【０００６】
図６では、コンピュータ装置３０内のデインストーラ３１は、インストール情報３２に従って、コンピュータ装置３０の固定ディスク３にインストールされているインストーラ３３、ソフトウェア３４、デインストーラ３１を、外部の記録媒体などに、再インストールソフト３５として保存する。また、レジストリに登録されている該当するソフトウェア３４のレジストリ情報３６とインストール情報３２とから再インストール時に必要となるインストール情報３２ａを作成して保存する。ソフトウェア３４によって作成されたユーザデータ３７が存在する場合には、そのユーザデータ３７も保存する。再インストールソフト３５を用いて、コンピュータ装置３０への再インストールを行う。
【０００７】
すなわち、図６に示すコンピュータ装置３０は、当該コンピュータ装置３０にインストールされたインストールソフト３８を削除（デインストール）する場合、再インストールソフト３５を生成してシステムの復旧に対応する。
【特許文献１】特開平９−１４６７６２号公報（９頁、図１）
【特許文献２】特開２００６−２６０１６３号公報（２４頁、図１１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来の構成では、システムファイルを記憶装置６にバックアップしたり、削除するインストールソフト３８を再インストールソフト３５として保持しておいたりする必要がある。
【０００９】
このため、システム自体にバックアップや再インストールソフトを保持する記憶領域が必要となり、携帯電話のような組み込み機器において、上記再インストール技術を実現する際には価格の高い記憶領域を倍以上増設しなければならないという課題を有していた。
【００１０】
本発明はかかる点に鑑みてなされたものであり、記憶領域を大幅に増設することなく、不具合発生時等において、ソフトウェアを再インストールして、システムを元の状態に安全に戻すことができる組み込み機器、ソフトウェアの再インストール方法及び再インストールプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の組み込み機器は、少なくとも一つのソフトウェアパッケージをインストールして使用する組み込み機器において、ネットワークを介して前記ソフトウェアパッケージを取得するパッケージ取得手段と、前記ソフトウェアパッケージを取得した際の前記ソフトウェアパッケージの取得先情報を保持する取得先情報保持手段と、取得した前記ソフトウェアパッケージを記憶部のアプリケーション領域にインストールするインストール手段と、前記アプリケーション領域にインストールされた前記ソフトウェアパッケージを削除する削除手段と、前記削除手段を介してインストール済のソフトウェアパッケージを削除させた前記アプリケーション領域に、前記取得先情報を用いて前記パッケージ取得手段によって再取得させた前記ソフトウェアパッケージを、前記インストール手段により再インストールさせる再インストール制御手段とを有する構成を採る。
【００１２】
本発明のソフトウェアの再インストール方法は、ネットワークを介して前記ソフトウェアパッケージを取得する際に、取得するソフトウェアパッケージの取得先情報を取得して保持する取得先情報保持ステップと、取得した前記ソフトウェアパッケージを記憶部のアプリケーション領域にインストールするインストールステップと、前記ソフトウェアパッケージの再インストール指示がある場合、前記アプリケーション領域にインストールされた前記ソフトウェアパッケージを削除する削除ステップと、保持された取得先情報を用いて、当該取得先情報が示す取得先から、先に取得した前記ソフトウェアパッケージを再取得させる再取得ステップと、再取得したソフトウェアパッケージを、前記アプリケーション領域に再インストールさせる再インストールステップとを有するようにした。
【００１３】
また、本発明のプログラムは、ネットワークを介して前記ソフトウェアパッケージを取得する際に、取得するソフトウェアパッケージの取得先情報を取得して保持する手順と、取得した前記ソフトウェアパッケージを記憶部のアプリケーション領域にインストールする手順と、前記ソフトウェアパッケージの再インストール指示がある場合、前記アプリケーション領域にインストールされた前記ソフトウェアパッケージを削除する削除ステップと、保持された取得先情報を用いて、当該取得先情報が示す取得先から、先に取得した前記ソフトウェアパッケージを再取得させる手順と、再取得したソフトウェアパッケージを、前記アプリケーション領域に再インストールさせる手順とをコンピュータに実行させるようにした。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、記憶領域を大幅に増設することなく、不具合発生時等において、ソフトウェアを安全に再インストールして、システムを元の状態に戻すことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１６】
図１は、本発明の一実施の形態に係る組み込み機器の機能ブロック図である。
組み込み機器は、ＲＯＭにプログラムが組み込まれ、ＣＰＵによって動作する組み込みシステムが適用された機器であり、ここでは、携帯電話として説明する。
【００１７】
図１において、組み込み機器１００は、ＯＳに再インストールプログラムが適用されたシステムにより動作し、ネットワーク１０１に接続されている。
【００１８】
組み込み機器１００は、ネットワーク１０１を介してアプリケーションパッケージを取得するパッケージ取得部１０２と、インストール部１０３と、ユーザアプリ領域１０４と、パッケージ情報保持部１０５と、削除部１０６と、再インストール制御部１０７と、パッケージ情報取得部１０８と、不具合判定部１０９と、不具合通知部１１１とを有する。
【００１９】
パッケージ取得部１０２は、ネットワーク１０１を介して、ＯＳ上で動作させるソフトウェアパッケージをダウンロードによって取得して、インストール部１０３に出力する。また、パッケージ取得部１０２は、ネットワーク１０１を介してサーバ２００にアクセスして、サーバ２００に格納された情報を取得できる。
【００２０】
パッケージ情報取得部１０８は、パッケージ取得部１０２により取得されたソフトウェアパッケージから、ソフトウェアパッケージに関するパッケージ情報を抽出し、パッケージ情報保持部１０５に保持させる。
【００２１】
インストール部１０３は、パッケージ取得部１０２を介して取得したソフトウェアパッケージ（具体的には、取得したソフトウェアアプリケーション）を記憶部９０のユーザアプリ領域１０４にインストールして、動作可能な使用状態にする。
【００２２】
また、インストール部１０３は、再インストール制御部１０７から、パッケージ取得部１０２により取得されたソフトウェアパッケージの再インストールの指示を受けて、パッケージ取得部１０２により再取得されたソフトウェアパッケージをユーザアプリ領域１０４に再インストールする。
【００２３】
ユーザアプリ領域１０４は、記憶部９０における読み書き自在の領域であり、インストール部１０３を介してパッケージ取得部１０２が取得したソフトウェアパッケージがインストールされて保存される。ユーザアプリ領域１０４に保存されたソフトウェアパッケージは、ＯＳのプログラムに組み込まれて、ＯＳ上で起動するようになる。なお、記憶部９０は、ソフトウェアパッケージ（「アプリケーション」ともいう）がインストールされるユーザアプリ領域の他に、システムプログラムが保存されるシステム領域及び、アプリケーションなどで用いられる電話帳、カメラ画像などのユーザデータが格納されるデータ領域とを有する。
【００２４】
パッケージ情報保持部１０５は、パッケージ情報取得部１０８によりソフトウェアパッケージから取得されたパッケージ情報を保持する。パッケージ情報保持部１０５としては、記憶部９０においてアプリケーションがインストールされるユーザアプリ領域１０４とは異なる領域が用いられる。例えば、パッケージ情報保持部１０５としては、記憶部９０において、電話帳、カメラ撮像画像など、使用してもシステム自体に不具合が発生しにくいデータを記憶するユーザデータ領域が用いられる。なお、このパッケージ情報保持部１０５は、記憶部９０において読み書き自在であれば、どこに設けられてもよく、例えば、複数のディレクトリを重ね、１つのディレクトリとして扱うことができるシステムであるUnionFS（登録商標）や、KNOPPIX（登録商標）のファイル技術を用いた場合、記憶部９０においてリードオンリであるシステム領域に存在するものとしてもよい。
【００２５】
パッケージ情報保持部１０５により保持されるパッケージ情報は、取得したソフトウェアパッケージの所在先の情報を含む。具体的には、パッケージ情報は、インターネット上に存在するソフトウェアパッケージの場所を指し示す取得先の情報であり、例えば、情報の種類やサーバ名、ポート番号、フォルダ名、ファイル名などで構成されている。
【００２６】
ここでは、パッケージ情報保持部１０５は、保持するパッケージ情報として、インストールしたソフトウェアパッケージの名称と、存在した場所（取得元）を示すＵＲＬ（Uniform Resource Locator）とを保存する。
【００２７】
図２は、パッケージ情報保持部が保持するパッケージ情報（「ダウンロード情報」ともいう）の保存形式の一例を示す図である。
【００２８】
図２では、組み込み装置１００のシステムにインストールされるパッケージの名称（ｎａｍｅ）が、それぞれのパッケージのダウンロード元（ｕｒｌ）とともに記載されている。
【００２９】
図２に示すように、パッケージ情報保持部１０５では、ダウンロード元（ｕｒｌ）がｈｔｔｐ：／／ｗｗｗ．ｈｏｇｅｈｏｇｅ．ｃｏｍ／ｂｒｏｗｓｅｒ／ｍｏｂｉｌｅ／ｈｏｇｅｈｏｇｅ１０．ｊａｒである、ｈｏｇｅｈｏｇｅ  Ｆｕｌｌ  Ｂｒｏｗｓｅｒという名称（ｎａｍｅ）のパッケージと、ダウンロード元（ｕｒｌ）がｈｔｔｐ：／／ｗｗｗ．ｆｏｇｅ．ｃｏｍ／ｄｏｗｎｌｏａｄ／ｆｏｇｅｑｕｅｓｔ３０．ｊａｒである、Ｆｏｇｅ  Ｑｕｅｓｔという名称（ｎａｍｅ）のパッケージとが記録されている。
【００３０】
このようなパッケージ情報を保持するパッケージ情報保持部１０５は、再インストール制御部１０７によってパッケージ情報を読み取られる。
【００３１】
削除部１０６は、再インストール制御部１０７の全削除指示によりユーザアプリ領域１０４に記憶されている、インストールされたアプリケーション（インストール済みのソフトウェアアプリケーション）を全て削除する。
【００３２】
再インストール制御部１０７は、再インストール指示を受けて、削除部１０６、インストール部１０３、パッケージ取得部１０２、パッケージ情報保持部１０５を用いて先にインストールしたソフトウェアの再インストールを行う。
【００３３】
ここでは、再インストール制御部１０７に入力される再インストール指示は、不具合判定部１０９からのシステム不具合発生を示す不具合判定情報としている。すなわち、本実施の形態では、不具合判定情報が入力された際に、つまり、システム不具合が発生した場合、再インストール制御部１０７は、ユーザアプリ領域１０４にインストールされたソフトウェアパッケージの再インストールを行う。
【００３４】
具体的には、再インストール制御部１０７は、システム不具合が発生した時に、削除部１０６にユーザアプリ領域１０４に記憶されたアプリケーションの全削除を指示し、ユーザアプリ領域１０４の全てのインストールアプリケーションを削除させる。
【００３５】
また、再インストール制御部１０７は、不具合が発生した際に、パッケージ情報保持部１０５からパッケージ情報を取得し、この取得したパッケージ情報を用いて、パッケージ取得部１０２に、ネットワーク１０１を介して、同パッケージ情報が示すソフトウェアパッケージを再ダウンロードさせる。
【００３６】
さらに、再インストール制御部１０７は、不具合が発生した際に、インストール部１０３にソフトウェアパッケージの再インストール指示を行う。つまり、再インストール制御部１０７は、パッケージ取得部１０２に再ダウンロード（再取得）させたソフトウェアパッケージを、インストール部１０３にユーザアプリ領域１０４に再インストールさせる。
【００３７】
なお、再インストール制御部１０７に入力される不具合判定情報は、図示しない操作部を介してユーザから入力されてもよい。例えば、再インストール制御部１０７に接続された操作部は、所定のキー（数字「１」＋「５」＋「９」を押しつつ電源ボタンＯＮ）を押すことで、不具合の判定情報を再インストール制御部１０７に出力するようにしてもよい。再インストール制御部１０７では、入力される不具合の判定情報を再インストールの指示情報として受け入れて、再インストール制御を行う。
【００３８】
また、再インストール制御部１０７は、システム不具合が発生した際に、パッケージ情報保持部１０５からパッケージ情報を取得し、この取得したパッケージ情報を、不具合発生時のソフトウェアパッケージの組み合わせを示す情報として不具合通知部１１１に出力する。つまり、再インストール制御部１０７は、不具合通知部１１１によって、不具合が発生したアプリケーションの組み合わせを外部装置（サーバ２００）に通知させる。なお、サーバ２００は、ネットワーク１０１を介して本実施の形態と同様に構成された他の組み込み機器によりアクセスでき、サーバ２００に格納された不具合となるソフトウェアの組み合わせ情報は、他の組み込み機器のパッケージ取得部により取得される。これにより端組み込み機器のユーザは不具合が発生するアプリケーションの組み合わせを認識することができ、ソフトウェアパッケージのインストールによるシステム不具合の発生を回避することができる。
【００３９】
不具合判定部１０９は、組み込み機器１００において、パッケージ取得部１０２によりネットワーク１０１を介してダウンロードしたアプリケーションを起動させた際に、ＯＳ自体がフリーズするなど発生した不具合を検出して判定し、不具合が有る場合、不具合判定情報を再インストール制御部１０７に出力する。
【００４０】
不具合通知部１１１は、不具合判定部１０９による不具合発生の判定結果により、当該不具合が発生した状態のシステム状況（インストールアプリやネイティブアプリの組み合わせ等）をネットワーク１０１を介して外部装置に通知する。具体的には、不具合発生通知部１１１は、不具合判定部１０９によりシステムの不具合、ここでは新たにソフトウェアパッケージをインストールした際に発生するシステムの不具合が判定された場合、そのときインストールしたソフトウェアパッケージと既にインストールされたソフトウェアパッケージとを示す情報を不具合情報としてネットワーク１０１に接続されたサーバ２００に通知する。
【００４１】
なお、これらパッケージ取得部１０２、インストール部１０３、ユーザアプリ領域１０４、パッケージ情報保持部１０５、削除部１０６、再インストール制御部１０７、パッケージ情報取得部１０８、不具合判定部１０９及び不具合通知部１１１の各機能ブロックは、集積回路であるＬＳＩとして実現される。
【００４２】
これら各ブロックは個別に１チップ化されてもよいし、一部、または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ（Large Scale Integration）、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００４３】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【００４４】
次に、本発明の組み込み機器におけるソフトウェアの再インストール動作について説明する。
【００４５】
先ず、組み込み機器１００におけるソフトウェアアプリケーションのインストール方法について図３を参照して説明する。
【００４６】
図３は、本発明の一実施の形態に係る組み込み機器における通常のインストール時の動作を示すフローチャートである。
【００４７】
組み込み機器１００では通常のインストール時において、先ず、パッケージ取得部１０２はネットワーク１０１からソフトウェアアプリケーションパッケージ（インストールパッケージ）をダウンロードして取得する（ステップＳ１１）。
【００４８】
ステップＳ１２では、パッケージ情報取得部１０８が、パッケージ取得部１０２により取得されたインストールパッケージからパッケージ情報を抽出してダウンロード情報としパッケージ情報保持部１０５に記録する。
【００４９】
図２に示す例では、システムにインストールされるパッケージの名称（ｎａｍｅ）がｈｏｇｅｈｏｇｅ  Ｆｕｌｌ  Ｂｒｏｗｓｅｒであり、ダウンロード元（ｕｒｌ）がｈｔｔｐ：／／ｗｗｗ．ｈｏｇｅｈｏｇｅ．ｃｏｍ／ｂｒｏｗｓｅｒ／ｍｏｂｉｌｅ／ｈｏｇｅｈｏｇｅ１０．ｊａｒである。また、このｈｏｇｅｈｏｇｅ  Ｆｕｌｌ  Ｂｒｏｗｓｅｒの前にインストールされたパッケージは、ダウンロード元（ｕｒｌ）がｈｔｔｐ：／／ｗｗｗ．ｆｏｇｅ．ｃｏｍ／ｄｏｗｎｌｏａｄ／ｆｏｇｅｑｕｅｓｔ３０．ｊａｒであるＦｏｇｅ  Ｑｕｅｓｔと記録されている。
【００５０】
このようにパッケージ情報保持部１０５では、インストールしたソフトウェアパッケージ（インストールパッケージ）全てのダウンロード先の情報が記録されている。
【００５１】
ステップＳ１３では、インストール部１０３が、パッケージ取得部１０２により入力されたインストールパッケージを、ユーザアプリ領域１０４にインストールして処理を終了する。
【００５２】
このように本実施の形態の組み込み機器１００では、ネットワーク１０１を介して、外部から情報資源（ここではソフトウェアアプリケーションパッケージ）を取得（ダウンロード）してインストールする場合、取得した情報資源の所在元情報（例えば、ｕｒｌ）を記録する。
【００５３】
複数のソフトウェアアプリケーションのパッケージをインストールした場合には、アプリケーション情報保持部１０５は、インストールしたアプリケーションパッケージのそれぞれの所在元を示すダウンロード先の情報（パッケージ情報）を記録する。
【００５４】
次いで、システム不具合が発生した場合など、既にインストールされたソフトウェアパッケージ（インストールアプリケーションともいう）の再インストールを行う動作について説明する。
【００５５】
図４は、本発明の一実施の形態に係る組み込み機器におけるインストールパッケージを再インストールする動作を示すフローチャートである。
【００５６】
図４に示すように、組み込み機器１００では、インストールパッケージの再インストールを行う場合、例えば、システム不具合が発生した場合、不具合判定部１０９が、システムの不具合を検知して、再インストール制御部１０７に、その旨の信号を出力する。
【００５７】
例えば、図２に示すインストールパッケージを有する組み込み機器１００において、新たに取得したソフトウェアパッケージをユーザアプリ領域１０４にインストールした際に、システム不具合が発生した場合、不具合判定部１０９はそれを検出して判定し、再インストール制御部１０７に出力する。
【００５８】
すると、ステップＳ２１において、再インストール制御部１０７は、削除部１０６にユーザアプリ領域１０４に記憶された内容を全て削除する。言い換えれば、ステップＳ２１では、再インストール制御部１０７の指示を受けて、削除部１０６は、ユーザアプリ領域の全削除を行う。
【００５９】
ステップＳ２２では、再インストール制御部１０７は、パッケージ情報保持部１０５からパッケージ情報を取得する。
【００６０】
ステップＳ２３では、再インストール制御部１０７は、取得したパッケージ情報を用いて、パッケージ取得部１０２に、ネットワーク１０１から再度インストールパッケージをダウンロードさせる。ダウンロードされた再インストールパッケージは、インストール部１０３に出力される。
【００６１】
ステップＳ２４では、再インストール制御部１０７は、インストール部１０３に、再ダインロードされた再インストールパッケージをユーザアプリ領域１０４に再度インストールするよう指示する。これを受けて、インストール部１０３は、再インストールパッケージを、インストールされたソフトウェアが全削除されたユーザアプリ領域１０４に、再びインストールする。
【００６２】
ステップＳ２５では、再インストール制御部１０７は、パッケージ情報保持部１０５内のパッケージ情報から、まだ、インストールしていないインストールパッケージ（ソフトウェアパッケージ）の有無を判定する。
【００６３】
ステップＳ２５において、再インストールされていないパッケージが無ければ（ステップＳ２５：Ｎｏ）、処理は終了し、再インストールされていないパッケージが有れば（ステップＳ２５：Ｙｅｓ）、ステップＳ２６に移行する。
【００６４】
ステップＳ２６では、再インストール制御部１０７は、パッケージ情報保持部１０５から、まだ再インストールしていないパッケージ（インストールパッケージ）のパッケージ情報（取得先を示す情報）を取得して、ステップＳ２３に移行する。ステップＳ２３では、パッケージ取得部１０２は、取得したパッケージ情報（再インストールパッケージの取得先）に存在するインストールパッケージを再ダウンロードする。
【００６５】
なお、ステップＳ２６において、再インストール部１０７は、パッケージ情報保持部１０５に保持しているパッケージ情報全てをインストールするようにしたが、これに限らず、再インストール部１０７に、ユーザにより操作される操作部を接続し、この操作部の操作を介してユーザがインストールするパッケージを選択して、再インストール部１０７にインストールさせるようにしてもよい。
【００６６】
このように、組み込み機器１００では、ステップＳ２５の処理を、パッケージ保持部１０５が保持するパッケージ情報（図２に示すダウンロード先を示す情報）全てに対して行うことによって、システム不具合発生前の状態に戻す。
【００６７】
つまり、再インストール制御部１０７では、インストールパッケージを再インストールすることによって、システムを、インストールによりシステム不具合を生じさせたソフトウェアパッケージのインストール前の状態に復旧させる。
【００６８】
このように本実施の形態の組み込み機器１００では、少なくとも一つのソフトウェアパッケージをインストールして使用する組み込み機器において、パッケージ取得部１０２は、ネットワーク１０１を介してソフトウェアパッケージを取得する。また、取得先情報保持部（パッケージ情報保持部）１０５は、ソフトウェアパッケージを取得した際のソフトウェアパッケージの取得先情報（パッケージ情報）を保持する。インストール部１０３は、取得したソフトウェアパッケージを記憶部９０のアプリケーション領域（ユーザアプリ領域）１０４にインストールする。再インストール制御部１０７は、削除部１０６に、アプリケーション領域１０４にインストールされたソフトウェアパッケージを削除させる。また、再インストール制御部１０７は、削除部１０６を介してインストール済のソフトウェアパッケージを削除させたアプリケーション領域１０４に、取得先情報（パッケージ情報）を用いてパッケージ取得部１０２に再取得させたソフトウェアパッケージを、インストール部１０３により再インストールさせる。また、不具合判定部１０９は、ソフトウェアパッケージをインストールした際の機器自体のシステムの不具合発生を判定し、再インストール制御部１０７は、不具合発生の判定によって、ソフトウェアパッケージを再インストールさせている。なお、ここでは、再インストール制御部１０７は、不具合の発生直前にインストールされたソフトウェアパッケージの取得先情報以外の取得先情報を用いて、パッケージ取得部１０２に、再インストールするためのソフトウェアパッケージを再取得させている。
【００６９】
言い換えれば、組み込み機器１００では、ネットワーク１０１を介して前記ソフトウェアパッケージを取得する際に、取得するソフトウェアパッケージの取得先情報を取得して保持する取得先情報保持ステップと、取得した前記ソフトウェアパッケージを記憶部９０のアプリケーション領域にインストールするインストールステップと、前記ソフトウェアパッケージの再インストール指示がある場合、前記アプリケーション領域にインストールされた前記ソフトウェアパッケージを削除する削除ステップと、保持された取得先情報を用いて、当該取得先情報が示す取得先から、先に取得した前記ソフトウェアパッケージを再取得させる再取得ステップと、再取得したソフトウェアパッケージを、前記アプリケーション領域に再インストールさせる再インストールステップとを有するソフトウェアの再インストール方法を行う。
【００７０】
よって、本実施の形態の組み込み機器１００によれば、インストールした情報資源（ソフトウェアパッケージ）のダウンロード先の情報（ダウンロード情報）のみを保持しておくことによって、バックアップ領域のような大きな記憶領域を必要とすることなく、システムの不具合発生時に元の状態、つまり、不具合が発生する前の状態に戻すことによってシステム不具合からの復旧を行うことができる。つまり、従来と異なり、バックアップ領域等を構成するために、記憶領域を大幅に増設することなく、不具合発生時等において、ソフトウェアを再インストールして、システムを不具合発生前の状態に安全に戻すことができる。
【００７１】
例えば、組み込み機器１００において、アプリケーション領域に既にｈｏｇｅｈｏｇｅと、Ｆｏｇｅ  Ｑｕｅｓｔとがインストールされ、これらに加えて新たに他のソフトウェアパッケージをインストールした際に、ソフトウェア（アプリケーション）の組み合わせによってシステム不具合が発生したとする。この場合、組み込み機器１００では、削除部１０６によってアプリケーション領域に既にインストール済のソフトウェアパッケージ（ｈｏｇｅｈｏｇｅ及びＦｏｇｅ  Ｑｕｅｓｔ）の全削除が行われ、当該インストール済のソフトウェアパッケージ（ｈｏｇｅｈｏｇｅ及びＦｏｇｅ  Ｑｕｅｓｔの取得先を示すパッケージ情報を用いて、同ソフトウェアパッケージを再取得する。次いで、これら再取得したソフトウェアパッケージ（ｈｏｇｅｈｏｇｅ及びＦｏｇｅ  Ｑｕｅｓｔ）を再インストールすることによって、組み込み機器１００では、不具合発生前のシステムに復元することができる。
【００７２】
また、本実施の形態では、従来と異なり、ファイルのトランザクションの一つ一つを記憶部に保存することなく、ソフトウェアの再インストールを行い、システムの復旧を図ることができる。
【００７３】
なお、本実施の形態において、パッケージ取得部１０２は、パッケージ情報を用いて、インストールパッケージをダウンロードするようにしたが、パッケージ情報として記録されている情報よりも、ネットワーク１０１に新しいバージョンのインストールパッケージのパッケージ情報がある場合、最新のインストールパッケージをダウンロードしてきても良い。
【００７４】
つまり、本実施の形態の組み込み機器１００において、ソフトウェアパッケージをインストールした後の機器自体の不具合発生を判定する不具合判定部１０９を備え、再インストール制御部１０７は、不具合発生の判定によって、パッケージ取得部１０２に、取得先情報が示す取得先から再取得するソフトウェアパッケージの最新バージョンを取得させるようにする。これにより、機器自体の不具合が発生した場合、再インストールするソフトウェアの最新バージョンを取得してインストールすることによって、インストールにより不具合を発生させたソフトウェアパッケージを再びインストールした際のシステム不具合の発生を回避できる。
【００７５】
また、本実施の形態の組み込み機器１００では、システム不具合発生時において、再インストールを行うものとして説明したが、これに限らず、再インストールの対象となるソフトウェアの取得先の情報であるパッケージ情報を用いて、当該パッケージ情報が示す取得先からソフトウェアパッケージを再インストールするものであればどのような条件で再インストールが行われても良い。
【００７６】
例えば、再インストール制御部１０７に接続される操作部を設け、操作部を介したユーザの操作によって、再インストール指示が再インストール制御部１０７に入力されるようにしてもよい。具体的には、アプリケーションのソフトウェアパッケージＡ、Ｂがインストールされたシステムにおいて、ソフトウェアパッケージＣをインストールした後、ソフトウェアパッケージＣのインストール前の状態に戻したい状況などがあり得る。この場合、操作部を介して、再インストール制御部１０７は、ソフトウェアＡ、Ｂの再インストールを行うこととなる。
【００７７】
また、本実施の形態の組み込み機器１００の使用時において、携帯電話の機種変更等、組み込み機器の入替時に、変更前の組み込み機器と同様のシステム上で、同様のソフトウェアを使用したい状況等があり得る。この場合、変更先の機器を本実施の形態と同様の構成にすることによって、変更先の機器で、自動的にソフトウェアの再インストールが行われることとなり、変更前の機種と同様に変更先の組み込み機器を使用することができる。
【００７８】
さらに、本実施の形態の組み込み機器１００では、不具合通知部１１１は、システム不具合発生時に、そのときに保持しているダウンロード情報をサーバ２００に通知する。
【００７９】
つまり、組み込み機器１００では、不具合判定部１０９により不具合発生が判定された場合、不具合が発生した際にアプリケーション領域（ユーザアプリ領域）１０４にインストールされたソフトウェアパッケージをネットワーク１０１に接続される外部装置（サーバ）２００に通知する不具合通知部１１１を備える。
【００８０】
これにより、他の組み込み機器等における他のシステムのパッケージ取得部に、ネットワーク１０１を介してサーバ２００からその情報を取得させることができる。よって、システム不具合が発生するソフトウェアの組み合わせを、当該ソフトウェアパッケージをダウンロードする前の他ユーザに警告することができる。
【００８１】
具体的には、不具合発生時に、再インストール部１０７は、パッケージ保持部１０５からパッケージを読み込み、この読み込んだパッケージ情報をパッケージ取得部１０２に出力して、通信機能を有するパッケージ取得部１０２を介してネットワーク１０１上のサーバ２００に通知するようにする。サーバ２００に通知されたパッケージ情報は、組み込み機器１００と同様にネットワーク１０１を介してアクセスできる他の組み込み機器（システム）のパッケージ取得部によって取得される。
【００８２】
この取得したパッケージ情報によって他の組み込み機器は、当該パッケージ情報が示す存在元にあるソフトウェアパッケージをインストールする際に発生するシステム不具合を検出し、同様の不具合を回避することができる。
【００８３】
また、パッケージ情報保持部１０５には、パッケージ情報とともに、組み込み機器１００にインストール後のソフトウェア（アプリケーション）に対してユーザが使用設定を変更した際の使用設定の状態を示す設定情報を保存するようにしてもよい。これにより、組み込み機器１００は、システム不具合発生によってインストール済ソフトウェアを再インストールした後でも、設定情報を用いることによって、インストールしたアプリケーションを、不具合前と同じ設定状態にすることができる。
【００８４】
なお、パッケージ情報保持部１０５は、組み込み機器に接続される外部記憶装置や、組み込み機器に着脱自在に接続できる記憶媒体に設けた構成としてもよい。
【００８５】
本実施の形態では、組み込み機器を携帯電話として説明したが、これに限らず、ネットワークに接続できれば、どのような組み込み機器であってもよい。例えば、組み込み機器は、携帯電話、携帯情報機器、カーナビ、家庭用電話機、携帯ゲーム機、家庭用ゲーム機、HDDレコーダ、DVDレコーダ、セットトップボックス、ミシン等としてもよい。また、業務用機器として、通信機器、カラオケ機器等としてもよい。
【００８６】
本発明に係る組み込み機器は上記実施の形態に限定されず、種々変更して実施することが可能である。
【００８７】
例えば、本発明に係る組み込み機器は、無線通信システムにおける通信端末装置御及び基地局装置に搭載することが可能であり、これにより上記と同様の作用効果を有する無線通信端末を提供することができる。
【００８８】
なお、ここでは、本発明をハードウェアで構成する場合を例にとって説明したが、本発明をソフトウェアで実現することも可能である。例えば、本発明に係る再送方法のアルゴリズムをプログラム言語によって記述し、このプログラムをメモリに記憶しておいて情報処理手段によって実行させることにより、本発明に係る装置と同様の機能を実現することができる。
【００８９】
つまり、再インストールプログラムは、再インストールのためのパッケージ取得先情報を保存する手順と、ユーザアプリ領域を削除する手順と、システム不具合発生を判定する手順とを有し、コンピュータに導入されて、システム不具合が判定されると、ユーザアプリ領域を削除し、保存されているパッケージ取得先情報を元に、ネットワーク１０１からソフトウェアパッケージをダウンロードし、再度インストールを行わせる。このように、システムにはパッケージ取得先情報のみを保持しておくことで、システム不具合発生時に復旧することができる。
【００９０】
また、本実施の形態は、サンドボックス技術が適用されたソフトウェアパッケージ（アプリケーション）に対しても適用することができる。
【００９１】
このような再インストールプログラムは、多大な記憶領域を必要とせずにシステム復旧を行うことができ、記憶領域の限られた組み込み機器等に有用である。また、システム復旧だけでなく、ハードウェアの入れ替え等の用途にも応用できる。
【産業上の利用可能性】
【００９２】
本発明に係る組み込み機器、ソフトウェアの再インストール方法及び再インストールプログラムは、多大な記憶領域を必要とせずにソフトウェアがインストールされたシステムを復旧させることができる効果を有し、ネットワークに接続可能な組み込み機器として有用である。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施の形態に係る組み込み機器の機能ブロック図
【図２】パッケージ情報保持部が保持するパッケージ情報の保存形式の一例を示す図
【図３】本発明の一実施の形態に係る組み込み機器における通常のインストール時の動作を示すフローチャート
【図４】本発明の一実施の形態に係る組み込み機器におけるインストールパッケージを再インストールする動作を示すフローチャート
【図５】従来のシステムファイルのバックアップ方法の説明に供する図
【図６】従来の再インストール支援方法の説明に供する図
【符号の説明】
【００９４】
９０  記憶部
１００  組み込み機器
１０１  ネットワーク
１０２  パッケージ取得部
１０３  インストール部
１０４  ユーザアプリ領域
１０５  パッケージ情報保持部
１０６  削除部
１０７  再インストール制御部
１０８  パッケージ情報取得部
１０９  不具合判定部
１１１  不具合通知部
【図１】
2009026011.tif 000003
【図２】
2009026011.tif 000004
【図３】
2009026011.tif 000005
【図４】
2009026011.tif 000006
【図５】
2009026011.tif 000007
【図６】
2009026011.tif 000008