(57)【要約】【課題】適切なタイミングでプリインストール済みのアプリケーションプログラムのアクティベーション処理を実行することができる情報処理装置及びその制御方法並びにプログラムを提供する。【解決手段】複合機１００が起動したとき、今回の起動が初回の起動でない場合、今回の起動時におけるファームウェアのアップデートにおいて外部から新たに取得されＲＯＭ１０２に入力されたアプリケーションプログラムのインストール用パッケージ３０１のバージョンと、既に複合機１００のファームウェア上で実行している、アクティベーション処理済みのアプリケーションプログラムのバージョンを取得する。取得した２つのバージョンが異なる場合、新たに外部から取得されたパッケージを展開する。【選択図】図６
2018092220.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムをファームウェア上で動作させることのできる情報処理装置であって、
前記アプリケーションプログラムを圧縮したパッケージとして保存する保存手段と、
前記パッケージを展開し、前記アプリケーションプログラムを利用可能な状態にする展開手段と、
前記情報処理装置の今回の起動が初回の起動であるか否かを判別する判別手段と、
前記判別手段により、初回の起動でないと判別された場合、前記今回の起動時における前記ファームウェアのアップデートにおいて前記パッケージとして新たに保存された前記アプリケーションプログラムのバージョンと、既に前記展開手段による展開が済みの前記アプリケーションプログラムのバージョンを取得する取得手段とを備え、
前記取得したバージョンが異なる場合、前記展開手段により前記新たに保存されたパッケージを展開することを特徴とする情報処理装置。
【請求項２】
前記判別手段は、初期設定の登録処理が実行済みかどうかを示すフラグに基づき、前記情報処理装置の今回の起動が初回であるか否かを判別することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記フラグを保持する保持手段をさらに備えることを特徴とする請求項２記載の情報処理装置。
【請求項４】
ユーザ指示に従って前記初期設定の登録処理を実行するための画面を表示する表示手段を更に備え、
前記判別手段により、初回の起動であると判別された場合、前記展開手段は、前記画面を表示した後に前記パッケージを展開することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記判別手段は、前記情報処理装置が現在工場での検査工程中である場合は、前記今回の起動が初回の起動であるか否かの判別を行わないことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
アプリケーションプログラムをファームウェア上で動作させることのできる情報処理装置の制御方法であって、
前記アプリケーションプログラムを圧縮したパッケージとして保存する保存ステップと、
前記パッケージを展開し、前記アプリケーションプログラムを利用可能な状態にする展開ステップと、
前記情報処理装置の今回の起動が初回の起動であるか否かを別する判別ステップと、
前記判別ステップにおいて、初回の起動でないと判別された場合、前記今回の起動時における前記ファームウェアのアップデートにおいて前記パッケージとして新たに保存された前記アプリケーションプログラムのバージョンと、既に前記展開ステップにおける展開が済みの前記アプリケーションプログラムのバージョンを取得する取得ステップとを有し、
前記取得したバージョンが異なる場合、前記展開ステップにおいて、前記新たに保存されたパッケージを展開することを特徴とする制御方法。
【請求項７】
請求項６の制御方法を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法並びにプログラムに関し、特にファームウェア上にローダブルなアプリケーションプログラムを実行する情報処理装置及びその制御方法並びにプログラムに関する。
【背景技術】
【０００２】
ファームウェア上にローダブルなアプリケーションプログラムをインストールし、様々なサービスを動作させることができる情報処理装置がある。
【０００３】
このような情報処理装置では、初回起動後速やかにアプリケーションプログラムを使用可能な状態にするために、プリインストールというインストール形態を用いて予め装置にアプリケーションプログラムを組み込んでおく事がある。
【０００４】
特許文献１では、起動時もしくはユーザによる任意のタイミングで、上記装置に予め組み込まれたアプリケーションプログラムを利用可能な状態とする（以下、アクティベーション処理という）技術が開示されている。
【０００５】
一方、特許文献２では、プログラムのインストール又はアップデートを行うかどうかを機体の情報を基に判断する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−５９７７２号公報
【特許文献２】特開２００６−１４８８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１のように起動時もしくはユーザによる任意のタイミングでアクティベーション処理を実行すると問題が発生する場合がある。
【０００８】
例えば、アクティベーション処理をユーザによる任意のタイミングで実行する場合、ユーザがアップデートのためのアクティベーション処理を実行し忘れてしまうとアプリケーションプログラムが古いままになってしまうという問題が発生する。また、初回起動時にユーザがアクティベーション処理を実行し忘れてしまった場合、そもそもプリインストール済みのアプリケーションプログラムを使用する事すらできない。さらには、特許文献１では、ファームウェア上で予めアプリケーションのアクティベーション処理をするか否かが設定されている。このため、どのようなタイミングであっても上記設定でアクティベーション処理をしないという設定となっている場合、アクティベーション処理が実行されないという問題がある。
【０００９】
一方、特許文献２の方法では、プログラムのインストール又はアップデートを行うかどうかの判断に用いる機体の情報は、ＣＰＵの種類（Ｘ８６等）であり、インストール又はアップデートすべきプログラム自体の状態を示す情報ではない。
【００１０】
本発明は、適切なタイミングでプリインストール済みのアプリケーションプログラムのアクティベーション処理を実行することができる情報処理装置及びその制御方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の情報処理装置は、アプリケーションプログラムをファームウェア上で動作させることのできる情報処理装置であって、前記アプリケーションプログラムを圧縮したパッケージとして保存する保存手段と、前記パッケージを展開し、前記アプリケーションプログラムを利用可能な状態にする展開手段と、前記情報処理装置の今回の起動が初回の起動であるか否かを判別する判別手段と、前記判別手段により、初回の起動でないと判別された場合、前記今回の起動時における前記ファームウェアのアップデートにおいて前記パッケージとして新たに保存された前記アプリケーションプログラムのバージョンと、既に前記展開手段による展開が済みの前記アプリケーションプログラムのバージョンを取得する取得手段とを備え、前記取得したバージョンが異なる場合、前記展開手段により前記新たに保存されたパッケージを展開することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、適切なタイミングでプリインストール済みのアプリケーションプログラムのアクティベーション処理を実行することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る情報処理装置としての複合機のハードウエア構成を示す図である。
【図２】図１の複合機内のＲＯＭのデータ領域の構成を示す図である。
【図３】ＲＯＭ内にアプリケーションプログラムをプリインストールする際に入力されるアプリケーションプログラムのインストール用パッケージとその格納先となるＲＯＭ内の領域を説明する図である。
【図４】ＲＯＭ内のインストール用パッケージのアクティベーション処理を実行したときのアプリケーションプログラムの格納先を示す図である。
【図５】本発明におけるアプリケーションプログラムのアクティベーション処理の実行タイミングを示すテーブルである。
【図６】本発明における起動毎に行われるアクティベーション処理の手順を示すフローチャートである。
【図７】図６のステップＳ６０３のアクティベーション処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、本発明の好ましい実施形態について、図面を用いて説明する。
【００１５】
図１は、本発明に係る情報処理装置としての複合機のハードウエア構成を示す図である。
【００１６】
図１において、ＣＰＵ１０１はシステム制御部であり、複合機１００の全体を制御する。ＲＯＭ１０２はｅＭＭＣなどのフラッシュメモリで構成されており、ＣＰＵ１０１が実行する制御プログラムを格納するためのものである。ＲＯＭ１０２は、その他にも電源ＯＦＦ時に消えてはいけない設定値や画像データなどの格納も行う。また、後述するアプリケーションプログラムもＲＯＭ１０２に保存される。ＤＲＡＭ１０３は、図５で説明する各種フラグを含むプログラム制御変数等を保持するためのものである。また処理する画像データなどを一時的に保存できる揮発性メモリでもある。操作部１０４は複合機１００の情報を表示するユーザとのインターフェイス部である。読み取り部１０５は画像データを読み取り、バイナリデータに変換する装置であり、これを用いて画像送信するための原稿読み取りが行なわれる。記録部１０６は画像データを記録紙に出力する装置である。画像処理部１０７は画像送信機能で扱う画像データの符号化復号化処理を行う。通信部１０８は機器と外部通信網とのインターフェイス部であり、ネットワークへのインターフェイスであるネットワーク通信部を含む。ＣＰＵ１０１、ＲＯＭ１０２、ＤＲＡＭ１０３、操作部１０４、読み取り部１０５、記録部１０６、画像処理部１０７、および通信部１０８のそれぞれの制御部はデータバス１１０を介して繋がっている。
【００１７】
本実施形態では、まず、複合機１００本体で動作するメインプログラム（ファームウェア）上にアプリケーションプログラムを予めプリインストールしておく。さらに、そのプリインストールしたアプリケーションプログラムを適切なタイミングでアクティベーションし、アプリケーションプログラムを利用可能な状態にする。ここでプリインストールとは、アプリケーションプログラムを圧縮したパッケージを外部から複合機１００のＲＯＭ１０２内に用意されている特定領域にコピーする処理を指す。そしてアクティベーション処理とは、複合機１００の状態を参照し適切なタイミングでパッケージを展開して複合機１００で動作するアプリケーションプログラムを利用可能な状態にする処理を指す。そのため、ここで述べるアクティベーション処理はライセンス管理とは無関係である。
【００１８】
以上より、アプリケーションプログラムは、単にパッケージとしてインストールされるだけでは利用可能とならず、パッケージのアクティベーション処理を実行しないと利用可能とはならない。
【００１９】
図２は、図１の複合機１００内のＲＯＭ１０２のデータ領域の構成を示す図である。
【００２０】
ＲＯＭ１０２であるｅＭＭＣは用途により複数の領域に分かれている。この複数の領域として、複合機１００本体を動作させるファームウェアを保持するメインプログラム領域２１０や、受信した画像を保存しておく画像データ保存領域２１１が設定されている。さらに、本実施形態では、ファームウェア上でアプリケーションプログラムを動作させるためのアプリケーションプログラム領域２１２が設定されている。以下、この領域にアプリケーションプログラムをプリインストールして動作させる方法について説明する。
【００２１】
図３は、ＲＯＭ１０２内にアプリケーションプログラムをプリインストールする際に入力されるアプリケーションプログラムのインストール用パッケージとその格納先となるＲＯＭ１０２内の領域を示した図である。
【００２２】
アプリケーションプログラムのプリインストールは、ファームウェアのアップデート時に外部からアプリケーションプログラムのインストール用パッケージ３０１を取得してＲＯＭ１０２のアプリケーションプログラム領域２１２に入力することにより行う。このアプリケーションプログラムのインストール用パッケージ３０１はアプリケーションプログラムを圧縮しサイズを小さくしたものであり、それ単体ではアプリケーションプログラムとして動作する事は無い。そのため、アプリケーションプログラムを利用可能な状態にするには、図４で後述する、このインストール用パッケージ３０１のアクティベーション処理が必要となる。
【００２３】
図４は、ＲＯＭ１０２内のインストール用パッケージ３０１のアクティベーション処理をしたときのアプリケーションプログラムの格納先を示す図である。
【００２４】
アクティベーション処理では、プリインストール処理にてＲＯＭ１０２に保存されたアプリケーションプログラムのインストール用パッケージ３０１を展開しアプリケーションプログラム４０１を生成する。このアクティベーション処理により、ユーザはプリインストールしたアプリケーションプログラムを利用する事が可能となる。
【００２５】
以上の手順によりパッケージとしてプリインストールされたアプリケーションプログラムのアクティベーション処理を実行することにより利用可能な状態とする。しかし、上記手順では新しいバージョンのアプリケーションプログラムがプリインストールされていても、そのアクティベーション処理が適切なタイミングで行われない場合は利用可能な状態にする事が出来ない。このため、すでにアクティベーション処理済みの古いバージョンのアプリケーションプログラムが複合機１００上で動作してしまう。
【００２６】
そこで、アプリケーションプログラムのアクティベーション処理を適切なタイミングで行う事が重要となる。
【００２７】
図５は、本発明におけるアプリケーションプログラムのアクティベーション処理の実行タイミングを示すテーブルである。
【００２８】
図５のテーブルに示すように、アプリケーションプログラムのアクティベーション処理の実行タイミングは、複合機１００の利用状況及び各種フラグの状態に応じて決定される。
【００２９】
まずは、この図中で言及している工程モードフラグと設置ナビ実行済フラグに関してそれぞれ説明する。工程モードフラグは、工場における複合機１００の検査工程中であるかどうかを示すフラグを意味する。設置ナビ実行済フラグは、ユーザが複合機１００を初めて起動したときに、操作部１０４に表示される設置ナビ画面に従ってユーザが各種初期設定の登録処理の実行をしたかどうかを示すフラグを意味する。
【００３０】
複合機１００の利用状況が初回起動時の場合、工程モードフラグをＦＡＬＳＥ、設置ナビ実行済フラグをＦＡＬＳＥに設定する。この設定の場合，操作部１０４に表示される設置ナビ画面がアプリケーションインストール画面に遷移した時にアクティベーション処理を実行する。
【００３１】
一方、複合機１００の利用状況が初回起動時ではなく、ファームウェアのアップデートによる起動時の場合、工程モードフラグをＦＡＬＳＥ、設置ナビ実行済フラグをＴＲＵＥに設定する。この設定の場合、異なるバージョンのアプリケーションプログラムの存在時にアクティベーション処理を実行する。
【００３２】
尚、本実施例では、アプリケーションプログラムのアクティベーション処理の実行タイミングを決定するためのフラグとして、工程モードフラグと設置ナビ実行済みフラグの２つのフラグを利用したが、設置ナビ実行済みフラグのみを利用するようにしてもよい。
【００３３】
図６は、本発明における起動毎に行われるアクティベーション処理の手順を示すフローチャートである。
【００３４】
図６において、複合機１００が起動する毎に、まず工程モードフラグを確認する（ステップＳ６０１）。
【００３５】
ステップＳ６０１において工程モードフラグがＴＲＵＥと確認された場合は、現在工場での検査工程中であると判断し、工程の時間が増加するのを防ぐために、アクティベーション処理を行わず、そのまま本処理を終了する。
【００３６】
一方ステップＳ６０１において工程モードフラグがＦＡＬＳＥと確認された場合は、設置ナビ実行済フラグを確認する（ステップＳ６０２）。
【００３７】
ステップＳ６０２において設置ナビ実行済フラグがＴＲＵＥと確認された場合は、今回の複合機１００の起動がファームウェアのアップデートによる起動であると判別する。その後、図７で後述するアクティベーション処理を行い（ステップ６０３）、本処理を終了する。
【００３８】
ステップＳ６０２において設置ナビ実行済フラグがＦＡＬＳＥと確認された場合は、操作部１０４に表示される設置ナビ画面の表示に従ってユーザが各種初期設定の登録処理の実行をすると判断する。すなわち、今回の複合機１００の起動が初回の起動であると判別する。その後、操作部１０４に表示される設置ナビ画面が、アプリケーションプログラムのインストール画面に遷移した事を検知したとき（ステップＳ６０４）、アクティベーション処理を実行する（ステップＳ６０５）。その後、本処理を終了する。
【００３９】
以上により、初回起動時及びファームウェアのアップデート時において必ずアクティベーション処理を実行する事が出来る。
【００４０】
図７は、図６のステップＳ６０３のアクティベーション処理の手順を示すフローチャートである。
【００４１】
まず、今回の起動時におけるファームウェアのアップデートにおいて外部から新たに取得されＲＯＭ１０２に入力されたアプリケーションプログラムのインストール用パッケージ３０１のバージョンを取得する（ステップＳ７０１）。
【００４２】
次に、既に複合機１００のファームウェア上で実行している、アクティベーション処理済みのアプリケーションプログラムのバージョンを取得する（ステップＳ７０２）。そして、ステップＳ７０１，ステップＳ７０２で取得したバージョンを比較する（ステップＳ７０３）。ステップＳ７０１及びステップＳ７０２で取得した２つのバージョンが異なる場合はインストール用パッケージ３０１を展開してアプリケーションプログラム４０１を生成し（ステップＳ７０４）、その後、本処理を終了する。ステップＳ７０１及びステップＳ７０２で取得した２つのバージョンが一致する場合はそのまま本処理を終了する。
【００４３】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【符号の説明】
【００４４】
１００  複合機
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＤＲＡＭ
１０４  操作部
２１０  メインプログラム領域
２１１  画像データ保存領域
２１２  アプリケーションプログラム領域
３０１  アプリケーションプログラムのインストール用パッケージ
４０１  アプリケーションプログラム
【図１】
2018092220.tif 000003
【図２】
2018092220.tif 000004
【図３】
2018092220.tif 000005
【図４】
2018092220.tif 000006
【図５】
2018092220.tif 000007
【図６】
2018092220.tif 000008
【図７】
2018092220.tif 000009