(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0007】
以下、いくつかの実施形態に係る画像形成装置について図面を用いて説明する。
〔第1実施形態〕
図1は、第1実施形態に係る画像形成装置10の要部回路構成を示すブロック図である。画像形成装置10は、紙又は樹脂製のシート状の記録媒体などに画像を形成することで印刷を行う機能を有する。また、画像形成装置10は、シート状の記録媒体などに形成された画像を読み取ることでスキャンを行う機能を有する。また、画像形成装置10は、シート状の記録媒体などに形成された画像を読み取って、別のシート状の記録媒体に当該画像を印刷することでコピーを行う機能を有する。その他、画像形成装置10は、様々な機能を備える。画像形成装置10は、一例として、MFPである。画像形成装置10は、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14、通信インターフェース15、タッチパネル16、画像形成部17、画像読取部18及びバス19を含む。
【0008】
プロセッサー11は、画像形成装置10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。当該コンピューターは、制御部の一例である。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたシステムソフトウェア、アプリケーションソフトウェア又はファームウェアなどのプログラムに基づいて、画像形成装置10の各種の機能を実現するべく各部を制御する。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)又はGPU(graphics processing unit)などである。あるいは、プロセッサー11は、これらの組み合わせである。プロセッサー11は、制御部の一例である。
【0009】
ROM12は、プロセッサー11を中枢とするコンピューターの主記憶部分に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムの他、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
【0010】
RAM13は、プロセッサー11を中枢とするコンピューターの主記憶部分に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。
【0011】
補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶部分に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はSSD(solid state drive)などである。補助記憶デバイス14は、上記のプログラムの他、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。なお、画像形成装置10は、補助記憶デバイス14に代えて、あるいは補助記憶デバイス14に加えて、メモリカード又はUSB(Universal Serial Bus)メモリなどの記憶媒体を挿入可能なカードスロットなどのインターフェースを備えていてもよい。
【0012】
ROM12又は補助記憶デバイス14などに記憶されるプログラムは、後述する制御処理に関して記述した制御プログラムを含む。一例として、画像形成装置10は、制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で画像形成装置10の管理者などへと譲渡される。しかしながら、画像形成装置10は、後述する制御処理に関して記述した制御プログラムがROM12又は補助記憶デバイス14に記憶されない状態で当該管理者などに譲渡されても良い。また、画像形成装置10は、別の制御プログラムがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などに譲渡されても良い。そして、後述する制御処理に関して記述した制御プログラムが別途に当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下にROM12又は補助記憶デバイス14へと書き込まれても良い。このときの制御プログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
【0013】
また、補助記憶デバイス14などに記憶されるプログラムは、画像形成装置10の機能などを追加するアプリケーションソフトウェア(以下「内蔵アプリケーション」という。)を含む。一例として、画像形成装置10は、内蔵アプリケーションがROM12又は補助記憶デバイス14に記憶されない状態で画像形成装置10の管理者などへと譲渡される。そして、別途に当該管理者などへと譲渡される内蔵アプリケーションが、当該管理者又はサービスマンなどによる操作の下に補助記憶デバイス14などへと書き込まれる。しかしながら、画像形成装置10は、内蔵アプリケーションがROM12又は補助記憶デバイス14に記憶された状態で当該管理者などへと譲渡されても良い。内蔵アプリケーションの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
内蔵アプリケーションは、画像形成装置10にインストールされた実行環境上で動作する。画像形成装置10にインストールされた内蔵アプリケーションは、対応する実行環境のバージョンを示すバージョン情報が含まれる。
【0014】
画像形成装置10には、内蔵アプリケーションを実行するための実行環境がインストールされる。実行環境は、例えば、内蔵アプリケーションを実行するための、特定のプログラミング言語で記述されたプログラムを実行するためのランタイムなどを含む。インストールされた当該実行環境は、ROM12又は補助記憶デバイス14に記憶される。ROM12又は補助記憶デバイス14は、インストールされた実行環境のバージョンも記憶する。
一例として、画像形成装置10は、特定の実行環境がインストールされた状態で画像形成装置10の管理者などへと譲渡される。画像形成装置10は、当該特定の実行環境とは別のバージョンの実行環境が当該管理者などへと譲渡され、当該管理者又はサービスマンなどによる操作の下に当該別のバージョンの実行環境へのバージョンアップ又は上書きインストールが行われても良い。このときの実行環境の譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。
【0015】
通信インターフェース15は、画像形成装置10がネットワーク又は通信ケーブルなどを介して他の機器などと通信するためのインターフェースである。
タッチパネル16は、画像形成装置10の操作者に各種情報を通知するための画面を表示する表示デバイスとして機能する。また、タッチパネル16は、当該操作者によるタッチ操作を受け付ける入力デバイスとして機能する。
【0016】
画像形成部17は、紙又は樹脂等のシート状の記録媒体などに画像などを形成する。このために、画像形成部17は、例えば、レーザープリンター又はインクジェットプリンターなどのプリンターを備える。
【0017】
画像読取部18は、紙等のシート状の記録媒体などから画像を読み取る。このために、画像読取部18は、スキャナーなどを備える。当該スキャナーは、例えば、CCD(charge-coupled device)イメージセンサーなどの撮像素子を備える光学縮小方式である。あるいは例えば、当該スキャナーは、CMOS(complementary metal-oxide-semiconductor)イメージセンサーなどの撮像素子を備える密着センサー(CIS(contact image sensor))方式である。あるいは、当該スキャナーは、その他の公知の方式であっても良い。
【0018】
バス19は、コントロールバス、アドレスバス及びデータバスなどを含み、画像形成装置10の各部で授受される信号を伝送する。
【0019】
以下、第1実施形態に係る画像形成装置10の動作を
図2に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
図2は、画像形成装置10のプロセッサー11による制御処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶された制御プログラムに基づいてこの制御処理を実行する。
【0020】
図2のAct1において画像形成装置10のプロセッサー11は、内蔵アプリケーションをインストールするように指示する操作が行われたか否かを判定する。プロセッサー11は、内蔵アプリケーションをインストールするように指示する操作が行われないならば、Act1においてNoと判定してAct2へと進む。
【0021】
Act2においてプロセッサー11は、インストール済みの内蔵アプリケーションを実行するように指示する操作が行われたか否かを判定する。プロセッサー11は、内蔵アプリケーションを実行するように指示する操作が行われないならば、Act2においてNoと判定してAct3へと進む。かくして、プロセッサー11は、内蔵アプリケーションをインストールするように指示する操作が行われるか、内蔵アプリケーションを実行するように指示する操作が行われるまでAct1及びAct2を繰り返す。
【0022】
画像形成装置10の管理者又はサービスマンなどは、画像形成装置10に内蔵アプリケーションをインストールしたい場合、例えば、画像形成装置10が当該内蔵アプリケーションのインストールに必要なインストールパッケージなどにアクセスできるようにする。なお、画像形成装置10の管理者又はサービスマンなどは、画像形成装置10の操作者の例である。画像形成装置10がインストールパッケージなどにアクセスできるようにするために、サービスマンなどは、例えば、当該インストールパッケージなどを記憶しているUSBメモリなどを画像形成装置10に接続する。あるいは例えば、サービスマンなどは、当該インストールパッケージなどを記憶しているPC(personal computer)などを、例えば、通信インターフェース15及びネットワークを介して画像形成装置10に接続する。そして、サービスマンなどは、タッチパネル16を操作するなどして、当該内蔵アプリケーションをインストールするよう画像形成装置10に指示する。この指示には、例えば、インストールパッケージなどの場所を示す情報が含まれる。
なお、上記のインストールパッケージは、当該インストールパッケージでインストールされる内蔵アプリケーションが対応する実行環境のバージョンを示すバージョン情報を含む。
プロセッサー11は、Act1及びAct2の待受状態にあるときに内蔵アプリケーションをインストールするように指示する操作が行われたならば、Act1においてYesと判定してAct3へと進む。
Act3においてプロセッサー11は、インストールパッケージを展開する。当該インストールパッケージは、例えば、Act1の処理において受けた指示に含まれる情報で示された場所にあるものである。プロセッサー11は、Act3の処理の後、Act4へと進む。
【0023】
Act4においてプロセッサー11は、Act3で展開したインストールパッケージからバージョン情報を取得する。プロセッサー11は、Act4の処理の後、Act5へと進む。
【0024】
Act5においてプロセッサー11は、Act4で取得したバージョン情報が示すバージョンと、画像形成装置10にインストールされた実行環境のバージョンとが合致するか否かを判定する。プロセッサー11は、バージョンが合致しないならば、Act5においてNoと判定してAct6へと進む。
【0025】
Act6においてプロセッサー11は、Act3でインストールパッケージを展開した内蔵アプリケーションのインストールを中止する。プロセッサー11は、Act6の処理の後、Act1へと戻る。
【0026】
対して、プロセッサー11は、Act5においてバージョンが合致したならば、Noと判定してAct7へと進む。
Act7においてプロセッサー11は、Act3でインストールパッケージを展開した内蔵アプリケーションをインストールする。プロセッサー11は、Act7の処理の後、Act1へと戻る。
以上より、Act5の処理は、プログラムが対応する実行環境と当該プログラムのインストール先の実行環境とに基づいて当該プログラムのインストールの可否を判定する処理である。そして、Act7の処理は、当該インストールの可否の判定の結果に基づいて当該プログラムをインストールする処理である。したがって、Act5及びAct7の処理は、第1の動作の一例である。
【0027】
画像形成装置10の利用者は、画像形成装置10にインストールされた内蔵アプリケーションを使用したい場合、タッチパネル16などを操作して、当該内蔵アプリケーションを実行するよう画像形成装置10に指示する。
プロセッサー11は、Act1及びAct2の待受状態にあるときに内蔵アプリケーションを実行するように指示する操作が行われたならば、Act2においてYesと判定してAct8へと進む。
【0028】
Act8においてプロセッサー11は、Act2の処理において実行するように指示された内蔵アプリケーションから、当該内蔵アプリケーションが対応する実行環境のバージョンを示すバージョン情報を取得する。プロセッサー11は、Act8の処理の後、Act9へと進む。
【0029】
Act9においてプロセッサー11は、Act8で取得したバージョン情報が示すバージョンと、画像形成装置10にインストールされた実行環境のバージョンとが合致するか否かを判定する。プロセッサー11は、バージョンが合致しないならば、Act9においてNoと判定してAct10へと進む。
【0030】
Act10においてプロセッサー11は、Act2の処理において実行するように指示された内蔵アプリケーションの実行を中止する。また、プロセッサー11は、内蔵アプリケーションを起動できない旨、及び内蔵アプリケーションを更新するように促す旨を示す画像を表示するようにタッチパネル16に指示する。この指示を受けて、タッチパネル16は、当該画像を表示する。Act10の処理の後、Act1へと戻る。
【0031】
対して、プロセッサー11は、Act9においてバージョンが合致したならば、Noと判定してAct11へと進む。
Act11においてプロセッサー11は、Act2の処理において実行するように指示された内蔵アプリケーションを実行する。プロセッサー11は、Act11の処理の後、Act1へと戻る。
以上より、Act9の処理は、プログラムが対応する実行環境と当該プログラムのインストール先の実行環境とに基づいて当該プログラムの実行の可否を判定する処理である。そして、Act11の処理は、当該実行の可否の判定の結果に基づいて当該プログラムを実行する処理である。したがって、Act9及びAct11の処理は、第2の動作の一例である。
【0032】
第1実施形態の画像形成装置10は、インストールしようとする内蔵アプリケーションが対応する実行環境が、画像形成装置10にインストールされていない場合、当該内蔵アプリケーションをインストールしない。対応する実行環境がインストールされていない画像形成装置10で内蔵アプリケーションを実行した場合、当該内蔵アプリケーションは、意図しない動作をする可能性が、対応する実行環境がインストールされている場合に比べて高いと言える。したがって、画像形成装置10は、意図しない動作をする可能性が高い内蔵アプリケーションをインストールさせないことにより、内蔵アプリケーションの意図しない動作を防ぐことができる。
また、第1実施形態の画像形成装置10は、インストール済みの内蔵アプリケーションが対応する実行環境が画像形成装置10にインストールされていない場合、当該内蔵アプリケーションを実行しない。したがって、画像形成装置10は、内蔵アプリケーションの意図しない動作を防ぐことができる。また、画像形成装置10は、画像形成装置10にインストールされた実行環境のバージョンがバージョンアップなどによって変更される場合がある。この場合において、バージョンアップ前には実行環境が対応していた内蔵アプリケーションが新たなバージョンの実行環境に対応しなくなることがある。この場合にも、画像形成装置10は、当該内蔵アプリケーションを実行しない。したがって、画像形成装置10は、インストール済みの内蔵アプリケーションの意図しない動作を防ぐことができる。画像形成装置10は、内蔵アプリケーションのインストール及びバージョンアップなどを、サービスマンなどの手によって行う場合が多い。したがって、正常な動作をする保証が無い内蔵アプリケーションを動作させないことは、サービスマンに係るコストなどの観点から有用である。
【0033】
〔第2実施形態〕
以下、第2実施形態に係る画像形成装置10について説明する。第2実施形態に係る画像形成装置10は、第1実施形態に係る画像形成装置10と同様の構成なので、構成の説明を省略する。
第2実施形態に係る画像形成装置10の動作を第1実施形態と同様に
図2に基づいて説明する。ただし、第1実施形態と同様の処理などについては、説明を省略する場合がある。
第2実施形態では、内蔵アプリケーションは、複数のバージョンの実行環境に対応する。複数のバージョンの実行環境に対応するため、当該内蔵アプリケーションのインストールパッケージなどに含まれるバージョン情報は、複数のバージョンを示す。
【0034】
第2実施形態では、Act5においてプロセッサー11は、Act4で取得したバージョン情報が示す複数のバージョンのうちのいずれかが、画像形成装置10にインストールされた実行環境のバージョンと合致するか否かを確認する。
【0035】
第2実施形態では、Act7においてプロセッサー11は、Act5で合致したバージョンに対応するように内蔵アプリケーションをインストールする。このときインストールされる内蔵アプリケーションは、使用されている関数などによっては、当該選択されたバージョンの実行環境だけでなく、他のバージョンの実行環境にも対応する場合がある。したがって、インストールされた内蔵アプリケーションに含まれるバージョン情報は、当該選択されたバージョンを含む1又は複数のバージョンを示す。
【0036】
第2実施形態では、Act9においてプロセッサー11は、Act8で取得した実行環境のバージョンが示す複数のバージョンのうちのいずれかと、画像形成装置10にインストールされた実行環境のバージョンとが合致するか否かを判定する。
【0037】
第2実施形態の画像形成装置10は、第1実施形態の画像形成装置10と同様の効果が得られる。
画像形成装置10は、出荷時期又はバージョンアップの実施の有無などに応じて、インストールされている実行環境のバージョンは様々である。したがって、従来は、サービスマンなどは、画像形成装置10に内蔵アプリケーションをインストールさせたい場合、様々なバージョンに合わせた複数の内蔵アプリケーションを用意する必要があった。第2実施形態の画像形成装置10は、複数のバージョンの実行環境に対応する内蔵アプリケーションを、画像形成装置10にインストールされた実行環境のバージョンに合わせてインストールする。したがって、画像形成装置10は、他の実行環境との互換性を持たない実行環境のバージョンが存在する場合でも内蔵アプリケーションを正常に動作させることができる。このため、サービスマンなどは、画像形成装置10に内蔵アプリケーションをインストールさせたい場合に、様々なバージョンの実行環境に合わせた複数の内蔵アプリケーションを用意する必要がない。
【0038】
〔第3実施形態〕
以下、第3実施形態に係る画像形成装置10について説明する。第3実施形態に係る画像形成装置10は、第1実施形態に係る画像形成装置10と同様の構成なので、構成の説明を省略する。
第3実施形態に係る画像形成装置10の動作を第1実施形態と同様に
図2に基づいて説明する。ただし、第1実施形態と同様の処理などについては、説明を省略する場合がある。
第3実施形態では、第2実施形態と同様に、内蔵アプリケーションは、複数のバージョンの実行環境に対応する。
【0039】
第3実施形態では、Act5においてプロセッサー11は、Act4で取得したバージョン情報が示す複数のバージョンのうちのいずれかが、画像形成装置10にインストールされた実行環境のバージョンと合致するか否かを確認する。
【0040】
第3実施形態では、Act7においてプロセッサー11は、Act5で合致したバージョンに対応するように内蔵アプリケーションをインストールする。このとき、プロセッサー11は、画像形成装置10にインストールされたバージョンの実行環境だけでなく、他のバージョンの実行環境でも動作するように内蔵アプリケーションをインストールする。したがって、インストールされた内蔵アプリケーションに含まれるバージョン情報は、複数のバージョンを示す。なお、内蔵アプリケーションは、複数のバージョンに対応するため、実行環境のバージョンに応じて異なる動作をする場合がある。
【0041】
第3実施形態では、Act9においてプロセッサー11は、Act8で取得した実行環境のバージョンが示す複数のバージョンのうちのいずれかと、画像形成装置10にインストールされた実行環境のバージョンとが合致するか否かを判定する。
【0042】
第3実施形態では、Act11においてプロセッサー11は、画像形成装置10にインストールされた実行環境のバージョンに対応するように内蔵アプリケーションを実行する。
【0043】
第3実施形態の画像形成装置10は、第1実施形態の画像形成装置10と同様の効果が得られる。
また、第3実施形態の画像形成装置10は、複数のバージョンの実行環境に対応する内蔵アプリケーションをインストールする。そして、画像形成装置10は、当該内蔵アプリケーションを、画像形成装置10にインストールされた実行環境のバージョンに合わせて実行する。したがって、第3実施形態の画像形成装置10は、第2実施形態の画像形成装置10と同様の効果が得られる。また、インストールされた内蔵アプリケーションは、実行環境のバージョンに応じて異なる動作を行うことで複数のバージョンの実行環境に対応している。したがって、当該内蔵アプリケーションは、実行環境のバージョンに応じた異なる動作を行わない内蔵アプリケーションに比べて、画像形成装置10の実行環境のバージョンがバージョンアップなどによって変化した場合でも正常に動作する可能性が高い。
【0044】
〔第4実施形態〕
以下、第4実施形態に係る画像形成装置10について説明する。第4実施形態に係る画像形成装置10は、第1実施形態〜第3実施形態に係る画像形成装置10と同様の構成なので、構成の説明を省略する。
ただし、第4実施形態の画像形成装置10は、複数のバージョンの実行環境がインストールされている。また、第4実施形態の画像形成装置10は、
図2に示す制御処理に代えて
図3に示す制御処理に係るプログラムを記憶する。
以下、第4実施形態に係る画像形成装置10の動作を
図3に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
図3は、画像形成装置10のプロセッサー11による制御処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶された制御プログラムに基づいてこの制御処理を実行する。なお、
図3において
図2と同様の処理については、同一の符号を付している。また、第1実施形態〜第3実施形態と同様の処理などについては、説明を省略する場合がある。
第4実施形態では、内蔵アプリケーションは、1又は複数のバージョンの実行環境に対応する。
【0045】
Act21においてプロセッサー11は、Act4で取得したバージョン情報が示すいずれかのバージョンと、画像形成装置10にインストールされた複数の実行環境のうちのいずれかのバージョンとが合致するか否かを判定する。プロセッサー11は、バージョンが合致しないならば、Act21においてNoと判定してAct6へと進む。対して、プロセッサー11は、バージョンが合致するならば、Act21においてYesと判定してAct22へと進む。
【0046】
Act22においてプロセッサー11は、Act5で合致したバージョンの実行環境ののうちの1つを、インストールする内蔵アプリケーションを動作させる実行環境として選択する。なお、合致したバージョンが複数ある場合には、プロセッサー11は、その中から優先度の最も高いバージョンの実行環境を選択する。優先度は、例えば最新のバージョンほど高い。あるいは例えば、優先度は、安定して動作するバージョンほど高い。あるいは例えば、優先度は、画像形成装置10の管理者などが設定することが可能であっても良い。プロセッサー11は、Act22の処理の後、Act23へと進む。
【0047】
Act23においてプロセッサー11は、Act22で選択したバージョンの実行環境で動作するように内蔵アプリケーションをインストールする。インストールされた内蔵アプリケーションに含まれるバージョン情報は、1又は複数のバージョンを示す。プロセッサー11は、Act23の処理の後、Act1へと戻る。
以上より、Act21〜Act23の処理は、第1の動作の一例である。
【0048】
Act24においてプロセッサー11は、Act8で取得したバージョン情報が示すいずれかのバージョンと、画像形成装置10にインストールされた複数の実行環境のうちのいずれかのバージョンとが合致するか否かを判定する。プロセッサー11は、バージョンが合致しないならば、Act24においてNoと判定してAct10へと進む。対して、プロセッサー11は、バージョンが合致するならば、Act24においてYesと判定してAct25へと進む。
【0049】
Act25においてプロセッサー11は、Act9で合致したバージョンの実行環境のうちの1つを選択する。このとき選択するバージョンは、実行しようとしている内蔵アプリケーションのインストール時に選択したバージョンと同一であることが好ましい。あるいは例えば、プロセッサー11は、Act9で合致したバージョンのうち最も優先殿他界バージョンの実行環境を選択する。プロセッサー11は、Act25の処理の後、Act26へと進む。
【0050】
Act26においてプロセッサー11は、Act25で選択したバージョンの実行環境を実行する。そして、プロセッサー11は、当該実行環境上で内蔵アプリケーションを実行する。プロセッサー11は、Act26の処理の後、Act1へと戻る。
以上より、Act24〜Act26の処理は、第2の動作の一例である。
【0051】
第4実施形態の画像形成装置10は、第1実施形態の画像形成装置10と同様の効果が得られる。
第4実施形態の画像形成装置10は、複数のバージョンの実行環境を実装している。そして、画像形成装置10は、内蔵アプリケーションが対応しているバージョンに応じて当該内蔵アプリケーションを動作させる実行環境を変える。したがって、画像形成装置10は、画像形成装置10に実装されたうちのいずれかのバージョンに対応する内蔵アプリケーションであれば、正常に動作させることができる。
【0052】
以上の実施形態より、内蔵アプリケーションが複数のバージョンの実行環境に対応しているか、画像形成装置10に複数の実行環境がインストールされていれば、実施形態の画像形成装置10は、以下の効果が得られる。すなわち、画像形成装置10は、他の実行環境との互換性を持たない実行環境のバージョンが存在する場合でも内蔵アプリケーションを正常に動作させることができる。また、これにより、サービスマンなどは、画像形成装置10に内蔵アプリケーションをインストールさせたい場合に、様々なバージョンに合わせた複数の内蔵アプリケーションを用意する必要がない。
【0053】
〔第5実施形態〕
以下、第5実施形態に係る画像形成装置10について説明する。第5実施形態に係る画像形成装置10は、第1実施形態〜第4実施形態に係る画像形成装置10と同様の構成なので、構成の説明を省略する。
第5実施形態の画像形成装置10は、第4実施形態のように複数のバージョンの実行環境がインストールされていても良いし、第1実施形態〜第3実施形態のように1つのバージョンの実行環境がインストールされていても良い。第5実施形態の画像形成装置10は、
図2又は
図3に示す制御処理に代えて
図4に示す制御処理に係るプログラムを記憶する。
以下、第5実施形態に係る画像形成装置10の動作を
図4に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
図4は、画像形成装置10のプロセッサー11による制御処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶された制御プログラムに基づいてこの制御処理を実行する。
第5実施形態では、内蔵アプリケーションは、1又は複数のバージョンの実行環境に対応する。
【0054】
第5実施形態では、プロセッサー11は、Act21でNoと判定したならば、Act31へと進む。
【0055】
Act31においてプロセッサー11は、インストールしようとしている内蔵アプリケーションのコードを変換して、当該内蔵アプリケーションを、画像形成装置10にインストールされた実行環境のうちのいずれかのバージョンで動作可能にすることを試みる。プロセッサー11は、画像形成装置10にインストールされた実行環境が複数ある場合、例えば、その中で最も優先度の高いバージョンの実行環境で動作するようにコードの変換を試みる。プロセッサー11は、Act31の処理の後、Act32へと進む。
プロセッサー11は、コードの変換を、例えば、以下のようにする。すなわち、プロセッサー11は、実行環境に含まれるランタイムに係るプログラム言語において関数の仕様が変更されており、且つ内蔵アプリケーションのコードに当該関数が使われている場合、当該関数を当該仕様変更に応じたものに書き換える。
【0056】
Act32においてプロセッサー11は、Act31の処理によって所望のバージョンの実行環境で動作可能なように内蔵アプリケーションのコードを変換することに成功したか否かを判定する。プロセッサー11は、内蔵アプリケーションのコードを変換することに成功しなかったならば、Act32においてNoと判定してAct6へと進む。対して、プロセッサー11は、内蔵アプリケーションのコードを変換することに成功したならば、Act32においてYesと判定してAct33へと進む。
【0057】
Act33においてプロセッサー11は、Act31の処理でコードが変換された内蔵アプリケーションをインストールする。当該内蔵アプリケーションに含まれるバージョン情報は、コードの変換によって動作可能となった動作環境のバージョンを示す。プロセッサー11は、Act33の処理の後、Act1へと戻る。
以上より、Act31〜Act33の処理は、プログラムのインストール先の実行環境が、当該プログラムが対応する実行環境でない場合、当該インストール先の実行環境に対応するように当該プログラムを変更して、当該プログラムをインストールする第3の動作の一例である。
【0058】
Act34においてプロセッサー11は、実行しようとしている内蔵アプリケーションのコードを変換して、当該アプリケーションを、画像形成装置10にインストールされた実行環境のうちのいずれかのバージョンで動作可能にすることを試みる。プロセッサー11は、画像形成装置10にインストールされた実行環境が複数ある場合、例えば、その中で最も優先度の高いバージョンの実行環境で動作するようにコードの変換を試みる。プロセッサー11は、Act34の処理の後、Act35へと進む。
【0059】
Act35においてプロセッサー11は、Act31の処理によって所望のバージョンの実行環境で動作可能なように内蔵アプリケーションのコードを変換することに成功したか否かを判定する。プロセッサー11は、内蔵アプリケーションのコードを変換することに成功しなかったならば、Act35においてNoと判定してAct10へと進む。対して、プロセッサー11は、内蔵アプリケーションのコードを変換することに成功したならば、Act35においてYesと判定してAct36へと進む。
【0060】
Act36においてプロセッサー11は、Act31でコードを変換した内蔵アプリケーションに含まれるバージョン情報を更新して、コードの変換によって動作可能となった動作環境のバージョンを示すようにする。プロセッサー11は、Act36の処理の後、Act37へと進む。
以上より、Act34〜Act36の処理は、プログラムのインストール先の実行環境が、当該プログラムが対応する実行環境でない場合、当該インストール先の実行環境に対応するように当該プログラムを変更して、当該プログラムを実行する第4の動作の一例である。
【0061】
Act37においてプロセッサー11は、Act36で更新されたバージョン情報で示されるバージョンの実行環境を実行する。プロセッサー11は、当該実行環境上で内蔵アプリケーションを実行する。プロセッサー11は、Act37の処理の後、Act1へと戻る。
【0062】
第5実施形態の画像形成装置10は、内蔵アプリケーションが、画像形成装置10にインストールされているバージョンの実行環境に対応していない場合、当該内蔵アプリケーションのコードを変換して、当該実行環境に対応させる。したがって、画像形成装置10は、実装している実行環境に対応していない内蔵アプリケーションであっても、コード変換によって当該実行環境に対応させることができる。これにより、画像形成装置10は、他の実行環境との互換性を持たない実行環境のバージョンが存在する場合でも内蔵アプリケーションを正常に動作させることができる。
【0063】
〔第6実施形態〕
以下、第6実施形態に係る画像形成装置10について説明する。
図5は、画像形成システム1及び画像形成システムに含まれる画像形成装置10の要部回路構成を示すブロック図である。画像形成システム1は、画像形成装置10及びサーバー20を含む。画像形成装置10及びサーバー20は、ネットワークNWに接続されている。ネットワークNWは、典型的にはインターネットを含む通信網である。ネットワークNWは、イントラネットなどのプライベートネットワークを含む通信網であってもよい。
第6実施形態に係る画像形成装置10は、第1実施形態〜第5実施形態に係る画像形成装置10と同様の構成なので、構成の説明を省略する。
サーバー20は、複数の内蔵アプリケーションを、それぞれ複数のバージョン記憶している。サーバー20は、当該内蔵アプリケーションを画像形成装置10に送信する機能を有する。
【0064】
以下、第6実施形態に係る画像形成装置10の動作を
図6に基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
図6は、画像形成装置10のプロセッサー11による制御処理のフローチャートである。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶された制御プログラムに基づいてこの制御処理を実行する。
プロセッサー11は、実行環境を含むシステムソフトウェアのアップデートを行う場合、
図6に示す制御処理を開始する。
【0065】
図6のAct41においてプロセッサー11は、システムソフトウェアのアップデートを行う。プロセッサー11は、Act41の処理の後、Act42へと進む。
Act42においてプロセッサー11は、インストール済みの内蔵アプリケーションを列挙する。プロセッサー11は、Act42の処理の後、Act43へと進む。
【0066】
Act43においてプロセッサー11は、Act42で列挙した内蔵アプリケーションの中に、Act44の処理で未だ選択されていないものがあるか否かを判定する。プロセッサー11は、未選択の内蔵アプリケーションがあるならば、Act43においてYesと判定してAct44へと進む。
【0067】
Act44においてプロセッサー11は、Act42で列挙した内蔵アプリケーションの中から、未だ選択していない内蔵アプリケーションを1つ選択する。プロセッサー11は、Act44の処理の後、Act45へと進む。
【0068】
Act45においてプロセッサー11は、Act44で選択した内蔵アプリケーションに含まれるバージョン情報を取得する。プロセッサー11は、Act45の処理の後、Act46へと進む。
【0069】
Act46においてプロセッサー11は、Act45で取得したバージョン情報と、画像形成装置10にインストールされた複数の実行環境のうちのいずれかのバージョンとが合致するか否かを判定する。プロセッサー11は、バージョンが合致するならば、Act46においてNoと判定してAct43へと戻る。対して、プロセッサー11は、バージョンが合致しないならば、Act46においてNoと判定してAct47へと進む。
【0070】
Act47においてプロセッサー11は、サーバー20に対して送信するリクエストを生成する。当該リクエストは、画像形成装置10にインストールされた実行環境のバージョンを示すバージョン情報と、Act43で選択した内蔵アプリケーションを特定する特定情報と、Act44で取得したバージョン情報とを含む。そして、プロセッサー11は、生成した当該リクエストをサーバー20に送信するように通信インターフェース15に対して指示する。この指示を受けて通信インターフェース15は、当該リクエストをサーバー20に送信する。送信された当該リクエストは、サーバー20によって受信される。プロセッサー11は、Act47の処理の後、Act48へと進む。
【0071】
リクエストを受信したサーバー20は、記憶している内蔵アプリケーションの中に、特定情報で特定される内蔵アプリケーションの、画像形成装置10にインストールされた実行環境に対応するバージョンがあるか否かを確認する。サーバー20は、対応するバージョンがあったならば、当該バージョンの内蔵アプリケーションを含むレスポンスを画像形成装置10に送信する。対して、対応するバージョンが無かったならば、サーバー20は、対応するバージョンが無かった旨を示す情報を含むレスポンスを画像形成装置10に送信する。
【0072】
Act48においてプロセッサー11は、通信インターフェース15によって当該レスポンスが受信されるのを待ち受けている。プロセッサー11は、当該レスポンスが受信されたならば、Act48においてYesと判定してAct49へと進む。
【0073】
Act49においてプロセッサー11は、Act48で受信されたリクエストを参照して、対応するバージョンがあるか否かを判定する。プロセッサー11は、対応するバージョンがないならば、Act49においてNoと判定してAct43へと戻る。対して、プロセッサー11は、受信したリクエストを参照して、対応するバージョンがあるならば、Act49においてYesと判定してAct50へと進む。
【0074】
Act50においてプロセッサー11は、Act44で選択した内蔵アプリケーションを、Act48で受信されたリクエストに含まれる内蔵アプリケーションを用いてバージョンアップさせる。プロセッサー11は、Act50の処理の後、Act43へと戻る。
かくして、プロセッサー11は、インストール済みの内蔵アプリケーションそれぞれについて、Act44〜Act50の処理を行う。そして、プロセッサー11は、Act43の処理において、未選択の内蔵アプリケーションがないならば、Yesと判定して
図6に示す処理を終了する。
【0075】
第6実施形態の画像形成装置10は、画像形成装置10にインストールされた実行環境のバージョンに対応しない内蔵アプリケーションがインストールされている場合、サーバー20から内蔵アプリケーションを取得して更新を行う。サーバー20から取得する内蔵アプリケーションは、画像形成装置10にインストールされた実行環境に対応するバージョンのものである。したがって、画像形成装置10は、実装している実行環境に対応していない内蔵アプリケーションであっても、更新を行なうことで当該実行環境に対応させることができる。これにより、画像形成装置10は、他の実行環境との互換性を持たない実行環境のバージョンが存在する場合でも内蔵アプリケーションを正常に動作させることができる。また、画像形成装置10は、内蔵アプリケーションがバージョン情報を含まない場合であっても、コードを変換することができれば当該内蔵アプリケーションを正常に動作させることができる。
【0076】
上記の実施形態は以下のような変形も可能である。
画像形成装置10は、内蔵アプリケーションをインストールした後も当該内蔵アプリケーションのインストールパッケージを記憶しておいても良い。そして、その後に、画像形成装置10は、実行環境がバージョンアップされるなどして、当該インストールされた内蔵アプリケーションが当該実行環境に対応しなくなった場合、当該インストールパッケージを用いて、内蔵アプリケーションを当該実行環境に対応するようにアップデートしても良い。プロセッサー11は、当該アップデート処理を、Act10に代えて行う。そして、プロセッサー11は、当該アップデート処理の後、Act11へと進む。
【0077】
上記の実施形態では、バージョンの異なる実行環境間での内蔵アプリケーションの動作について述べた。しかしながら、実施形態は、種類の異なる実行環境間での内蔵アプリケーションの動作についても適用可能である。
【0078】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] プログラムが対応する実行環境及び前記プログラムのインストール先の実行環境のうちの少なくとも一方の実行環境が複数あり、
前記プログラムが対応する実行環境と前記プログラムのインストール先の実行環境とに基づいて前記プログラムのインストールの可否を判定し、前記インストールの可否の判定の結果に基づいて前記プログラムをインストールする第1の動作、
及び前記プログラムが対応する実行環境と前記プログラムのインストール先の実行環境とに基づいて前記プログラムの実行の可否を判定し、前記実行の可否の判定の結果に基づいて前記プログラムを実行する第2の動作、
のうちの少なくとも一方の動作を行う制御部を備える画像形成装置。
[C2] 前記プログラムを対応する実行環境が複数あり、前記プログラムのインストール先の実行環境が複数ある、C1に記載の画像形成装置。
[C3] プログラムのインストール先の実行環境が、前記プログラムが対応する実行環境でない場合、前記インストール先の実行環境に対応するように前記プログラムを変更して、前記プログラムをインストールする第3の動作、
プログラムのインストール先の実行環境が、前記プログラムが対応する実行環境でない場合、前記インストール先の実行環境に対応するように前記プログラムを変更して、前記プログラムを実行する第4の動作、
のうちの少なくとも一方の動作を行う制御部を備える画像形成装置。
[C4] 前記第3の動作は、インストール先の実行環境に対応するように前記プログラムを変更できなかった場合、前記プログラムをインストールせず、
前記第4の動作は、前記インストール先の実行環境に対応するように前記プログラムを変更することができなかった場合、前記プログラムを実行しない、C3に記載の画像形成装置。
[C5] プログラムが対応する実行環境及び前記プログラムのインストール先の実行環境のうちの少なくとも一方の実行環境が複数あり、
前記プログラムが対応する実行環境と前記プログラムのインストール先の実行環境とに基づいて前記プログラムのインストールの可否を判定し、前記インストールの可否の判定の結果に基づいて前記プログラムをインストールする第1の動作、
及び前記プログラムが対応する実行環境と前記プログラムのインストール先の実行環境とに基づいて前記プログラムの実行の可否を判定し、前記実行の可否の判定の結果に基づいて前記プログラムを実行する第2の動作、
のうちの少なくとも一方の動作を行う、画像形成装置の制御方法。
[C6] プログラムのインストール先の実行環境が、前記プログラムが対応する実行環境でない場合、前記インストール先の実行環境に対応するように前記プログラムを変更して、前記プログラムをインストールする第3の動作、
プログラムのインストール先の実行環境が、前記プログラムが対応する実行環境でない場合、前記インストール先の実行環境に対応するように前記プログラムを変更して、前記プログラムを実行する第4の動作、
のうちの少なくとも一方の動作を行う、画像形成装置の制御方法。