(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-12
(45)【発行日】2022-09-21
(54)【発明の名称】情報処理装置、ドライバープログラム更新防止方法およびドライバープログラム更新防止プログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20220913BHJP
H04N 1/00 20060101ALI20220913BHJP
G06F 8/65 20180101ALI20220913BHJP
G06F 8/61 20180101ALI20220913BHJP
H04L 67/10 20220101ALI20220913BHJP
【FI】
G06F3/12 325
G06F3/12 303
G06F3/12 385
H04N1/00 127B
H04N1/00 E
G06F8/65
G06F8/61
H04L67/10
(21)【出願番号】P 2018159371
(22)【出願日】2018-08-28
【審査請求日】2021-07-15
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】100108523
【氏名又は名称】中川 雅博
(72)【発明者】
【氏名】平本 博嗣
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2016-206816(JP,A)
【文献】特開2012-218262(JP,A)
【文献】特開2013-101595(JP,A)
【文献】特開2018-112873(JP,A)
【文献】特開2009-056608(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/09- 3/12
B41J 29/00- 29/70
H04N 1/00
G06F 8/65
G06F 8/61
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得手段と、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断手段と、
前記既存プログラムを前記更新プログラムで更新すると判断される場合に前記既存プログラムを前記更新プログラムで更新する更新手段と、を備え、
前記更新手段は、ユーザーにより更新を指示する操作が入力されていなければ前記既存プログラムを前記更新プログラムで更新しない、情報処理装置。
【請求項2】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得手段と、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断手段と、を備え、
前記更新判断手段は、前記更新プログラムで前記既存プログラムを更新する前後で前記処理対象データに対して実行する処理が同じ場合に前記既存プログラムを前記更新プログラムで更新しないと判断する、情報処理装置。
【請求項3】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得手段と、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断手段と、を備え、
前記更新判断手段は、所定の処理を実行するための条件として前記既存プログラムにより定められた条件および前記所定の処理を実行するための条件として前記更新プログラムにより定められた条件を前記処理対象データがともに満たす場合または前記処理対象データがともに満たさない場合は、更新しないと判断する、情報処理装置。
【請求項4】
前記既存プログラムを前記更新プログラムで更新すると判断される場合に前記既存プログラムを前記更新プログラムで更新する更新手段を、さらに備えた、請求項
2または3に記載の情報処理装置。
【請求項5】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムが存在する場合に前記既存プログラムを前記更新プログラムで更新する更新手段と、
前記既存プログラムと前記更新プログラムとの差分を示す差分情報を取得する差分情報取得手段と、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断手段と、
前記既存プログラムを前記更新プログラムで更新しないと判断される場合に前記既存プログラムを前記更新プログラムで更新することを禁止する禁止手段と、を備えた情報処理装置。
【請求項6】
前記更新手段は、ユーザーにより更新を指示する操作が入力されていなければ前記既存プログラムを前記更新プログラムで更新しない、請求項
1、4および5のいずれかに記載の情報処理装置。
【請求項7】
前記更新判断手段は、前記更新プログラムで前記既存プログラムを更新する前後で前記処理対象データに対して実行する処理が同じ場合に前記既存プログラムを前記更新プログラムで更新しないと判断する、請求項
1、3~6のいずれかに記載の情報処理装置。
【請求項8】
前記更新判断手段は、前記更新プログラムで前記既存プログラムを更新する前後で前記処理対象データに対して実行する処理が異なる場合に前記既存プログラムを前記更新プログラムで更新すると判断する、請求項
2または7に記載の情報処理装置。
【請求項9】
前記更新判断手段は、所定の処理を実行するための条件として前記既存プログラムにより定められた条件および前記所定の処理を実行するための条件として前記更新プログラムにより定められた条件を前記処理対象データがともに満たす場合または前記処理対象データがともに満たさない場合は、更新しないと判断する、請求項
1、2、4および5のいずれかに記載の情報処理装置。
【請求項10】
前記差分情報は、前記所定の処理を実行するための条件として前記更新プログラムにより定められた条件とを含み、
前記更新判断手段は、前記所定の処理を実行するための条件として前記既存プログラムにより定められた条件を前記処理対象データが満たさずかつ前記所定の処理を実行するための条件として前記更新プログラムにより定められた条件を前記処理対象データが満たす場合に更新すると判断する、請求項
3または9に記載の情報処理装置。
【請求項11】
前記更新判断手段は、前記既存プログラムを実行するタスクに前記処理対象データが入力されるごとに、前記既存プログラムを前記更新プログラムで更新するか否かを判断する、請求項1~
10のいずれかに記載の情報処理装置。
【請求項12】
前記更新判断手段により更新すると判断される場合にユーザーに通知する通知手段を、さらに備えた請求項
11に記載の情報処理装置。
【請求項13】
前記処理対象データは、アプリケーションプログラムを実行するタスクからオペレーティングシステムプログラムを実行するタスクを経由して前記既存プログラムを実行するタスクに入力される、請求項1~
12のいずれかに記載の情報処理装置。
【請求項14】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと、前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、
前記既存プログラムを前記更新プログラムで更新すると判断される場合に前記既存プログラムを前記更新プログラムで更新する更新ステップと、を情報処理装置に実行させ
、
前記更新ステップは、ユーザーにより更新を指示する操作が入力されていなければ前記既存プログラムを前記更新プログラムで更新しないステップを含む、ドライバープログラム更新
防止方法。
【請求項15】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと、前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置に実行させ、
前記更新判断ステップは、前記更新プログラムで前記既存プログラムを更新する前後で前記処理対象データに対して実行する処理が同じ場合に前記既存プログラムを前記更新プログラムで更新しないと判断するステップを含む、ドライバープログラム更新防止方法。
【請求項16】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと、前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置に実行させ、
前記更新判断ステップは、所定の処理を実行するための条件として前記既存プログラムにより定められた条件および前記所定の処理を実行するための条件として前記更新プログラムにより定められた条件を前記処理対象データがともに満たす場合または前記処理対象データがともに満たさない場合は、更新しないと判断するステップを含む、ドライバープログラム更新防止方法。
【請求項17】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムが存在する場合に前記既存プログラムを前記更新プログラムで更新する更新ステップと、
前記既存プログラムと前記更新プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、
前記既存プログラムを前記更新プログラムで更新しないと判断される場合、前記既存プログラムを前記更新プログラムで更新することを禁止する禁止ステップと、を情報処理装置に実行させるドライバープログラム更新防止方法。
【請求項18】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、
前記既存プログラムを前記更新プログラムで更新すると判断される場合に前記既存プログラムを前記更新プログラムで更新する更新ステップと、を情報処理装置を制御するコンピューターに実行させ
、
前記更新ステップは、ユーザーにより更新を指示する操作が入力されていなければ前記既存プログラムを前記更新プログラムで更新しないステップを含む、ドライバープログラム更新
防止プログラム。
【請求項19】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと、前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置を制御するコンピューターに実行させ、
前記更新判断ステップは、前記更新プログラムで前記既存プログラムを更新する前後で前記処理対象データに対して実行する処理が同じ場合に前記既存プログラムを前記更新プログラムで更新しないと判断するステップを含む、ドライバープログラム更新防止プログラム。
【請求項20】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムと前記既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと、前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置を制御するコンピューターに実行させ、
前記更新判断ステップは、所定の処理を実行するための条件として前記既存プログラムにより定められた条件および前記所定の処理を実行するための条件として前記更新プログラムにより定められた条件を前記処理対象データがともに満たす場合または前記処理対象データがともに満たさない場合は、更新しないと判断するステップを含む、ドライバープログラム更新防止プログラム。
【請求項21】
制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンの前記ドライバープログラムである更新プログラムが存在する場合に前記既存プログラムを前記更新プログラムで更新する更新ステップと、
前記既存プログラムと前記更新プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、
前記既存プログラムを実行するタスクが処理の対象とする処理対象データと前記差分情報とに基づいて前記既存プログラムを前記更新プログラムで更新するか否かを判断する更新判断ステップと、
前記既存プログラムを前記更新プログラムで更新しないと判断される場合、前記既存プログラムを前記更新プログラムで更新することを禁止する禁止ステップと、を情報処理装置を制御するコンピューターに実行させるドライバープログラム更新防止プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置、ドライバープログラム更新防止方法およびドライバープログラム更新防止プログラムに関し、特に、制御装置を制御するドライバープログラムがインストールされた情報処理装置、その情報処理装置で実行されるドライバープログラム更新防止方法、そのドライバープログラム更新防止方法をコンピューターに実行させるドライバープログラム更新防止プログラムに関する。
【背景技術】
【0002】
パーソナルコンピューター(以下「PC」という)等の情報処理装置は、複合機(以下「MFP」という)等の外部装置を制御するために、ドライバープログラムがインストールされる。以下、情報処理装置が備えるCPUがドライバープログラムを実行するタスクを、単に「プリンタドライバー」という。
【0003】
ドライバープログラムは、MFPのメーカーから提供され、バージョンアップされる場合に新たなバージョンのドライバープログラムが提供される。通常は、バージョンアップする都度に新たなバージョンのドライバープログラムがインストールされる。新たなバージョンのドライバープログラムをインストールする場合はそのためのインストール時間が必要となる。また、情報処理装置を再起動するための再起動時間が必要となる場合がある。
【0004】
例えば、特開2003-067168号公報には、ネットワークを介して複数の情報端末装置により共用されるプリンタであって、前記プリンタが、前記情報端末装置で使用されるプリンタドライバーを格納するドライバ格納部と、前記情報端末装置からの印刷指示からプリンタドライバーのバージョンを読み出すとともに、前記読み出したプリンタドライバーのバージョンが前記ドライバ格納部に格納されているプリンタドライバーのバージョンよりも古い場合には前記格納されているプリンタドライバーにより前記情報端末装置のプリンタドライバーを書き換える制御手段とを有することを特徴とするプリンタが記載されている。
【0005】
また、特開2007-293514号公報には、プリンタドライバーインストーラにドライババージョン情報を管理・表示する手段とプリンタからファームのバージョンを受信する手段と、プリンタドライバーインストーラ内にプリンタファームバージョン情報DBを読み込む手段を有し、前記プリンタドライバーインストーラ画面において、前記ファームのバージョンを取得し、前記プリンタファームバージョン情報DBより、ドライバとファームウェアの整合性を判断し、整合性のないバージョンの場合、ドライバ、ファームいずれかの自動バージョンアップ機能を使用してプリンタドライバー整合性を維持するインストーラが記載されている。
【0006】
一方、情報処理装置には、ドライバープログラムとは別に、オペレーションシステムプログラム(以下「OSプログラム」という)またはアプリケーションプログラムがインストールされている。プリンタドライバーは、情報処理装置が備えるCPUがアプリケーションプログラムを実行するタスクまたはOSプログラムを実行するタスクの出力にしたがってMFPを制御する。OSプログラムまたはアプリケーションプログラムのバージョンが異なる場合、情報処理装置がアプリケーションプログラムを実行するタスクまたはOSプログラムを実行するタスクの出力が異なる場合がある。このため、2つの情報処理装置に同一のバージョンのドライバープログラムがインストールされていても、それらにインストールされているOSプログラムおよびアプリケーションプログラムのバージョンが異なる場合、それら2つの情報処理装置それぞれのプリンタドライバーの動作が異なる場合がある。このため、新たなプリンタドライバープログラムのインストールが有効でない場合がある。新たなプリンタドライバープログラムのインストールが有効でない場合にプリンタドライバープログラムを更新する場合はインストール時間または再起動時間が無駄に消費されるといった問題がある。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2003-067168号公報
【文献】特開2007-293514号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
この発明の他の目的は、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能な情報処理装置を提供することである。
【0011】
この発明の他の目的は、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能なドライバープログラム更新防止方法を提供することである。
【0013】
この発明の他の目的は、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能なドライバープログラム更新防止プログラムを提供することである。
【課題を解決するための手段】
【0014】
上述した目的を達成するためにこの発明のある局面によれば、情報処理装置は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得手段と、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断手段と、既存プログラムを更新プログラムで更新すると判断される場合に既存プログラムを更新プログラムで更新する更新手段と、を備え、更新手段は、ユーザーにより更新を指示する操作が入力されていなければ既存プログラムを更新プログラムで更新しない。
【0015】
この局面に従えば、処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断するので、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効な場合にドライバープログラムを更新することが可能な情報処理装置を提供することができる。また、既存プログラムを更新プログラムで更新すると判断される場合に既存プログラムを更新プログラムで更新するので、ドライバープログラムを更新することができる。さらに、既存プログラムが更新プログラムで自動的に更新されないようにできる。
この発明の他の局面によれば、情報処理装置は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得手段と、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断手段と、を備え、更新判断手段は、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が同じ場合に既存プログラムを更新プログラムで更新しないと判断する。
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに対して更新プログラムが有効でない場合に既存プログラムが更新プログラムで更新されないようにできる。
この発明のさらに他の局面によれば、情報処理装置は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得手段と、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断手段と、を備え、更新判断手段は、所定の処理を実行するための条件として既存プログラムにより定められた条件および所定の処理を実行するための条件として更新プログラムにより定められた条件を処理対象データがともに満たす場合または処理対象データがともに満たさない場合は、更新しないと判断する。
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに対して更新プログラムが有効でない場合に既存プログラムが更新プログラムで更新されないようにできる。
【0016】
好ましくは、既存プログラムを更新プログラムで更新すると判断される場合に既存プログラムを更新プログラムで更新する更新手段を、さらに備える。
【0017】
この局面に従えば、既存プログラムを更新プログラムで更新すると判断される場合に既存プログラムを更新プログラムで更新するので、ドライバープログラムを更新することができる。
【0018】
この発明の他の局面によれば、情報処理装置は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムが存在する場合に既存プログラムを更新プログラムで更新する更新手段と、既存プログラムと更新プログラムとの差分を示す差分情報を取得する差分情報取得手段と、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断手段と、既存プログラムを更新プログラムで更新しないと判断される場合に既存プログラムを更新プログラムで更新することを禁止する禁止手段と、を備える。
【0019】
この局面に従えば、処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断し、既存プログラムを更新プログラムで更新しないと判断される場合に既存プログラムを更新プログラムで更新することを禁止する。このため、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能な情報処理装置を提供することができる。
【0020】
好ましくは、更新手段は、ユーザーにより更新を指示する操作が入力されていなければ既存プログラムを更新プログラムで更新しない。
【0021】
この局面に従えば、既存プログラムが更新プログラムで自動的に更新されないようにできる。
【0022】
好ましくは、更新判断手段は、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が同じ場合に既存プログラムを更新プログラムで更新しないと判断する。
【0023】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに対して更新プログラムが有効でない場合に既存プログラムが更新プログラムで更新されないようにできる。
【0024】
好ましくは、更新判断手段は、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が異なる場合に既存プログラムを更新プログラムで更新すると判断する。
【0025】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに更新プログラムが有効な場合に既存プログラムが更新プログラムで更新されるようにできる。
【0026】
好ましくは、更新判断手段は、所定の処理を実行するための条件として既存プログラムにより定められた条件および所定の処理を実行するための条件として更新プログラムにより定められた条件を処理対象データがともに満たす場合または処理対象データがともに満たさない場合は、更新しないと判断する。
【0027】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに更新プログラムが有効でない場合に既存プログラムが更新プログラムで更新されないようにできる。
【0028】
好ましくは、差分情報は、所定の処理を実行するための条件として更新プログラムにより定められた条件とを含み、更新判断手段は、所定の処理を実行するための条件として既存プログラムにより定められた条件を処理対象データが満たさずかつ所定の処理を実行するための条件として更新プログラムにより定められた条件を処理対象データが満たす場合に更新すると判断する。
【0029】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに更新プログラムが有効な場合に既存プログラムが更新プログラムで更新されるようにできる。
【0030】
好ましくは、更新判断手段は、既存プログラムを実行するタスクに処理対象データが入力されるごとに、既存プログラムを更新プログラムで更新するか否かを判断する。
【0031】
この局面に従えば、既存プログラムを実行するタスクに処理対象データが入力されるごとに、既存プログラムを更新プログラムで更新するか否かを判断するので、既存プログラムを更新プログラムで自動的に更新することができる。
【0032】
好ましくは、更新判断手段により更新すると判断される場合にユーザーに通知する通知手段を、さらに備える。
【0033】
この局面に従えば、ドライバープログラムを更新する場合にユーザーに通知するので、ドライバープログラムが更新されることをユーザーに知らせることができる。
【0034】
好ましくは、処理対象データは、アプリケーションプログラムを実行するタスクからオペレーティングシステムプログラムを実行するタスクを経由して既存プログラムを実行するタスクに入力される。
【0035】
この発明のさらに他の局面によれば、ドライバープログラム更新防止方法は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと、差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、既存プログラムを更新プログラムで更新すると判断される場合に既存プログラムを更新プログラムで更新する更新ステップと、を情報処理装置に実行させ、更新ステップは、ユーザーにより更新を指示する操作が入力されていなければ既存プログラムを更新プログラムで更新しないステップを含む。
この発明のさらに他の局面によれば、ドライバープログラム更新防止方法は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと、差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置に実行させ、更新判断ステップは、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が同じ場合に既存プログラムを更新プログラムで更新しないと判断するステップを含む。
この発明のさらに他の局面によれば、ドライバープログラム更新防止方法は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと、差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置に実行させ、更新判断ステップは、所定の処理を実行するための条件として既存プログラムにより定められた条件および所定の処理を実行するための条件として更新プログラムにより定められた条件を処理対象データがともに満たす場合または処理対象データがともに満たさない場合は、更新しないと判断するステップを含む。
【0036】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能なドライバープログラム更新防止方法を提供することができる。
【0037】
この発明のさらに他の局面によれば、ドライバープログラム更新防止方法は、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムが存在する場合に既存プログラムを更新プログラムで更新する更新ステップと、既存プログラムと更新プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、既存プログラムを更新プログラムで更新しないと判断される場合、既存プログラムを更新プログラムで更新することを禁止する禁止ステップと、を情報処理装置に実行させる。
【0038】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能なドライバープログラム更新防止方法を提供することができる。
【0039】
この発明のさらに他の局面によれば、ドライバープログラム更新防止プログラムは、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、既存プログラムを更新プログラムで更新すると判断される場合に既存プログラムを更新プログラムで更新する更新ステップと、を情報処理装置を制御するコンピューターに実行させ、更新ステップは、ユーザーにより更新を指示する操作が入力されていなければ既存プログラムを更新プログラムで更新しないステップを含む。
この発明のさらに他の局面によれば、ドライバープログラム更新防止プログラムは、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと、差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置を制御するコンピューターに実行させ、更新判断ステップは、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が同じ場合に既存プログラムを更新プログラムで更新しないと判断するステップを含む。
この発明のさらに他の局面によれば、ドライバープログラム更新防止プログラムは、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと、差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、を情報処理装置を制御するコンピューターに実行させ、更新判断ステップは、所定の処理を実行するための条件として既存プログラムにより定められた条件および所定の処理を実行するための条件として更新プログラムにより定められた条件を処理対象データがともに満たす場合または処理対象データがともに満たさない場合は、更新しないと判断するステップを含む。
【0040】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能なドライバープログラム更新防止プログラムを提供することができる。
【0041】
この発明のさらに他の局面によれば、ドライバープログラム更新防止プログラムは、制御の対象となる外部装置を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムが存在する場合に既存プログラムを更新プログラムで更新する更新ステップと、既存プログラムと更新プログラムとの差分を示す差分情報を取得する差分情報取得ステップと、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する更新判断ステップと、既存プログラムを更新プログラムで更新しないと判断される場合、既存プログラムを更新プログラムで更新することを禁止する禁止ステップと、を情報処理装置を制御するコンピューターに実行させる。
【0042】
この局面に従えば、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することが可能なドライバープログラム更新防止プログラムを提供することができる。
【図面の簡単な説明】
【0043】
【
図1】本発明の実施の形態の1つにおけるプリントシステムの全体概要の一例を示す図である。
【
図2】本実施の形態におけるPCのハードウェア構成の概要の一例を示すブロック図である。
【
図3】PCが備えるCPUが有する機能の一例を示すブロック図である。
【
図7】更新処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0044】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらの詳細な説明は繰返さない。
【0045】
図1は、本発明の実施の形態の1つにおけるプリントシステムの全体概要の一例を示す図である。
図1を参照して、プリントシステム1は、複合機であるMFP(Multi Function Peripheral)100と、パーソナルコンピューター(PC)200,200A,200Bと、を含む。MFP100およびPC200,200A,200Bは、ローカルエリアネットワーク(LAN)3に接続されている。以下、PC200,200A,200Bを総称してPC200という場合がある。
【0046】
PC200,200A,200Bは、一般的なコンピューターであり、オペレーティングシステム(OS)プログラムおよびアプリケーションプログラムがインストールされている。また、PC200,200A,200Bは、オペレーションシステムプログラム(以下「OSプログラム」という)がインストールされるとともに、MFP100を制御するためのドライバープログラムがインストールされている。
【0047】
PC200,200A,200Bのハードウェア構成および機能は同じなので、ここでは、PC200を例に説明する。PC200,200A,200Bと同様にLAN3に接続可能であれば、PC200,200A,200Bの代わりに、スマートフォン、タブレット端末またはPDA(Personal Digital Assistants)など、ユーザーが携帯して使用する携帯情報装置が用いられてもよい。
【0048】
図2は、本実施の形態におけるPCのハードウェア構成の概要の一例を示すブロック図である。
図2を参照して、PC200は、PC200の全体を制御するための中央演算処理装置(CPU)201と、CPU201が実行するためのプログラムを記憶するROM(Read Only Memory)202と、CPU201の作業領域として使用されるRAM(Random Access Memory)203と、データを不揮発的に記憶するハードディスクドライブ(HDD)204と、CPU201をLAN3に接続する通信部205と、情報を表示する表示部206と、ユーザーの操作の入力を受け付ける操作部207と、外部記憶装置209と、を含む。
【0049】
CPU201は、インターネットに接続されたコンピューターからプログラムをダウンロードしてHDD204に記憶する。また、ネットワークに接続されたコンピューターがプログラムをHDD204に書込みする場合に、HDD204にプログラムが記憶される。CPU201は、HDD204に記憶されたプログラムをRAM203にロードして実行する。また、HDD204は、OSプログラムおよびアプリケーションプログラムを記憶する。
【0050】
CPU201のソフトウェアアーキテクチャとして、CPU201には、オペレーティングシステム(OS)層が形成され、その上の階層に、アプリケーション層が形成される。OS層は、CPU201がOSプログラムを実行するタスクが属する。OS層に属するタスクは、PC200のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、ROM202、RAM203、HDD204、通信部205、表示部206、操作部207および外部記憶装置209を含む。OS層に属するタスクは、アプリケーション層から入力されるオペレーティングコマンドにしたがって、ハードウェア資源を制御する。アプリケーション層は、CPU201がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがPC200にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。さらに、アプリケーションプログラムを実行するタスクは、PC200を操作する操作ユーザーによる指示に基づいて、アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。アプリケーションプログラムで定められる複数種類の処理は、CPU201がアプリケーションプログラムを実行することにより生成されるデータを、MFP100にプリントさせる処理を少なくとも含む。
【0051】
外部記憶装置209は、CD-ROM(Compact Disk Read Only Memory)209Aが装着される。本実施の形態においては、CPU201は、ROM202またはHDD204に記憶されたプログラムを実行する例を説明するが、CPU201は、外部記憶装置209を制御して、CD-ROM209AからCPU201が実行するためのプログラムを読出し、読み出したプログラムをRAM203に記憶し、実行してもよい。
【0052】
なお、CPU201が実行するためのプログラムを記憶する記録媒体としては、CD-ROM209Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)等の半導体メモリ等の媒体でもよい。ここでいうプログラムは、CPU201により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0053】
図3は、PC200が備えるCPU201が有する機能の一例を示すブロック図である。ここでは、PC200が備えるCPU201の機能を示している。
図3に示す機能は、ハードウェアで実現してもよいし、PC200が備えるCPU201に、ROM202、HDD204またはCD-ROM209Aに記憶されたプログラムを実行させることにより、CPU201で実現してもよい。ここで、PC200が備えるCPU201にアプリケーションプログラム、MFP100を制御するためのドライバープログラムおよびドライバープログラム更新プログラムを実行させる場合を例に説明する。
【0054】
図3を参照して、PC200が備えるCPU201は、アプリケーション部51と、ドライバ部53と、差分情報取得部55と、設定部57と、更新判断部59と、更新部61と、禁止部63と、指示受付部67と、更新通知部65と、を含む。
【0055】
アプリケーション部51は、アプリケーションプログラムを実行し、アプリケーションプログラムにより定められた処理を実行する。換言すれば、アプリケーション部51は、CPU201がアプリケーションプログラムを実行するタスクである。アプリケーション部51は、MFP100にプリントを実行するための操作がユーザーにより操作部207に入力される場合、プリントデータをドライバ部53に出力する。
【0056】
また、ユーザーが操作部207に入力する操作は、プリントデータに対する処理の内容を定める操作を含む。アプリケーション部51は、プリントデータに対する処理の内容を定める操作が入力される場合、操作にしたがって処理の内容を決定する。また、プリントデータに対する処理の内容はデフォルトで定められてもよい。アプリケーション部51は、プリントデータに対する処理の内容を指示するコマンドをプリントデータとともにドライバ部53に出力する。
【0057】
アプリケーション部51がドライバ部53に出力するデータのデータ量の最大値は、アプリケーションプログラムにより定められている。
【0058】
このため、アプリケーション部51は、プリントデータをドライバ部53に出力する場合、プリントデータを複数の分割データに分割し、複数の分割データを順にドライバ部53に出力する。分割データのデータ量は、アプリケーションプログラムにより定められる最大値以下である。アプリケーションプログラムにより定められる最大値は、アプリケーションプログラムのバージョンにより異なる場合がある。このように、アプリケーション部51は、アプリケーションプログラムにより定められた最大値以下の単位量の単位データをドライバ部53に出力する。
【0059】
アプリケーション部51がドライバ部53にプリントデータを出力する場合、OSプログラムを実行するタスクを経由する。このため、アプリケーション部51はOSプログラムを実行するタスクにアプリケーションプログラムを分割した複数の分割データを順に出力する。OSプログラムを実行するタスクがドライバ部53に出力するデータのデータ量の最大値は、OSプログラムにより定められている。OSプログラムにより定められる最大値は、OSプログラムのバージョンにより異なる場合がある。
【0060】
このため、OSプログラムを実行するタスクは、OSプログラムにより定められた最大値を超えるデータ量の分割データがアプリケーション部51から入力される場合、分割データを複数の再分割データに分割し、複数の再分割データを順にドライバ部53に出力する。再分割データのデータ量は、OSプログラムにより定められた最大値以下である。このように、OSプログラムを実行するタスクは、OSプログラムにより定められた最大値以下の単位量の単位データをドライバ部53に出力する。OSプログラムを実行するタスクは、OSプログラムにより定められた最大値を超えないデータ量の分割データがアプリケーション部51から入力される場合、分割データをドライバ部53に出力する。
【0061】
ドライバ部53は、ドライバープログラムを実行し、ドライバープログラムにより定められた処理を実行する。換言すれば、ドライバ部53は、CPU201がドライバープログラムを実行するタスクである。以下、ドライバ部53が実行するドライバープログラムを既存プログラムという。
【0062】
ドライバ部53は、アプリケーション部51が出力するプリントデータが、オペレーティングプログラムを実行するタスクを経由して入力される。ドライバ部53は、アプリケーション部51が出力するプリントデータを処理対象データとして処理する。上述したように、ドライバ部53は、アプリケーション部51が出力するプリントデータが、OSプログラムを実行するタスクから複数の分割データまたは複数の再分割データとして入力される。複数の分割データまたは複数の再分割データはドライバ部53が処理対象とする処理対象データである。
【0063】
差分情報取得部55は、ドライバ部53が実行する既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報を取得する。例えば、差分情報取得部55は、通信部205を制御し、MFP100を提供する者が管理するサーバーに差分情報を要求し、サーバーから差分情報を取得する。差分情報の要求は、既存プログラムのバージョンを示すバージョン情報含む。サーバーは、差分情報の要求に応答して、既存プログラムよりも新しいバージョンのドライバープログラムのバージョンを示すバージョン情報を含む場合に、差分情報を送信する。以下、差分情報に含まれるバージョン情報で特定されるバージョンのドライバープログラムを更新プログラムという。また、差分情報は、既存プログラムと更新プログラムとの差分を示す。具体的には、差分情報は、同一の処理を実行するための条件が既存プログラムと更新プログラムとで異なる場合に更新プログラムでその処理を実行するための条件を含む。
【0064】
差分情報は、更新プログラムで定められる複数の処理のうち直前のバージョンのドライバープログラムで定められる複数の処理のいずれかと同じ処理であって処理を実行する条件が異なる処理と、その処理を実行する第1条件とを定める。ここでは、更新プログラムが既存プログラムの直後のバージョンで、既存プログラムと更新プログラムとが同一の処理としてデータを圧縮する圧縮処理を定めている場合を例に説明する。また、既存プログラムおよび更新プログラムそれぞれにおいて圧縮処理を実行する条件として処理対象データが満たすべき第1条件が定められているとする。したがって、差分情報は、更新プログラムで定められる第1条件を含む。
【0065】
図4は、差分情報の一例を示す図である。
図4を参照して、差分情報は、バージョンの項目と、既存プログラムから条件が変更された処理を示す変更処理の項目と、第1条件の項目と、第2条件の項目を含む。バージョンの項目は、更新プログラムのバージョンが番号002であることを示す。変更処理の項目は、既存プログラムから第1条件が変更された処理が画像を圧縮する圧縮処理であることを示す。第1条件の項目は、更新プログラムにおいて定められる第1条件が処理対象データの満たすべき条件として、データ種類が画像、データ幅が300dpi(dot/inch)以上かつデータ高さが50dpi以上であることを示す。以下、既存プログラムで定められる第1条件が処理対象データの満たすべき条件としてデータ種類が画像、データ幅が400dpi以上かつデータ高さが100dpi以上である場合を例に説明する。このように、更新プログラムで定められる第1条件が既存プログラムで定められる第1条件から変更される場合がある。なお、ここでは、データのサイズを示すしきい値は、データ幅およびデータ高さで示すしきい値であるが、データ量を示すしきい値であってもよい。
【0066】
第2条件の項目は、更新プログラムにおいて圧縮処理を実行する第2条件を定める。第2条件は、処理対象データに対して実行する処理の内容を定める設定値を示す。第2条件として定められる設定値は、MFP100に出力するデータの種類を示す情報である。MFP100に出力するデータの種類は、処理対象データをその種類のデータに変換する処理の内容を特定する。MFP100に出力するデータの種類を示す出力情報は色数を示す。色数を単色とする種類はモノクロであり、色数を複数色とする種類はカラーである。ここでは、第2条件として定められる設定値にモノクロが定められている。
【0067】
図3に戻って、差分情報取得部55は、差分情報に基づいて、更新プログラムの存否を判断する。差分情報取得部55は、ドライバ部53が実行する既存プログラムよりもバージョンのドライバープログラムプログラムの差分情報が存在すれば、更新プログラムが存在すると判断する。差分情報取得部55は、更新プログラムが存在すると判断する場合、差分情報を更新判断部59および更新部61に出力する。
【0068】
設定部57は、更新モードを設定する。更新モードは、自動更新モードと、手動更新モードと、更新無効コードと、を含む。設定部57は、操作部207にユーザーにより入力される操作にしたがって、更新モードを設定する。設定部57は、ユーザーにより設定された更新モードを更新判断部59に出力する。設定部57は、更新設定画面を表示し、ユーザーが更新設定画面にしたがって入力する設定により更新モードを設定する。
【0069】
図5は、更新設定画面の一例を示す図である。
図5を参照して、更新設定画面300は、更新タイミングを設定するための領域310と、更新手順を設定するための領域320と、を含む。領域310は、自動更新モードまたは手動更新モードを設定するためのボタン311と、更新禁止モードを設定するためのボタン312と、を含む。ボタン311は、それに対応する領域に「プリンタドライバーの更新用日を印刷時に常時行う」の文字列が配置され、自動更新モードまたは手動更新モードを設定するためのボタンであることがユーザーに通知される。ボタン312は、それに対応する領域に「プリンタドライバーで「更新要否検証」ボタン押下時のみ行う」の文字列が配置され、更新禁止モードを設定するためのボタンであることがユーザーに通知される。
図5では、ボタン311が選択されて、自動更新モードまたは手動更新モードが選択されたことを示している。
【0070】
領域320は、自動更新モードに設定するためのボタン321と、手動更新モードに設定するためのボタン322と、を含む。ボタン321は、それに対応する領域に「プリンタドライバーの更新を自動で行う」の文字列が配置され、自動更新モードを設定するためのボタンであることがユーザーに通知される。ボタン322は、それに対応する領域に「プリンタドライバーの更新を自動で行わない」の文字列が配置され、手動更新モードを設定するためのボタンであることがユーザーに通知される。
図5では、ボタン321が選択されて、自動更新モードが選択されたことを示している。
【0071】
図3に戻って、更新判断部59は、差分情報が入力される場合でかつ更新モードが自動更新モードおよび手動更新モードのいずれかに設定されている場合、ドライバ部53に処理対象データが入力されるごとに、既存プログラムを更新プログラムで更新するか否かを判断する。なお、処理対象データは、プリントデータを分割した複数の分割データの1つなので、更新判断部59は、プリントデータを構成する複数の分割データのすべてが入力される場合に既存プログラムを更新するか否かを判断してもよい。この場合、複数の分割データのうちサイズが最大の分割データを処理対象データとすればよい。
【0072】
更新判断部59は、更新モードが更新無効モードに設定されている場合、ドライバ部53においてユーザーにより更新要否検証ボタンを押下する操作が受け付けられていなければ、ドライバ部53に処理対象データが入力されても既存プログラムを更新するか否かを判断しない。更新判断部59は、更新モードが更新無効モードに設定されている場合、ドライバ部53においてユーザーにより更新要否検証ボタンを押下する操作が受け付けられていれば、ドライバ部53に処理対象データが入力されるごとに、既存プログラムを更新プログラムで更新するか否かを判断する。更新判断部59は、更新要否検証ボタンを押下する操作が受け付けられたか否かをドライバ部53から取得する。
【0073】
更新判断部59は、既存プログラムを更新プログラムで更新しないと判断する場合は禁止部63に禁止指示を出力し、既存プログラムを更新プログラムで更新すると判断する場合は更新通知部65に通知指示を出力する。
【0074】
上述したように、ドライバ部53に入力される処理対象データは、アプリケーション部51から出力されてOSプログラムを実行するタスクを経由して分割データまたは再分割データとして入力される。ここでは、ドライバ部53にOSプログラムを実行するタスクから分割データが処理対象データとして入力される場合を例に説明する。
【0075】
更新判断部59は、処理対象データが既存プログラムにより定められる第1条件を満たしかつ処理対象データが更新プログラムにより定められる第1条件を満たす場合および処理対象データが既存プログラムにより定められる第1条件を満たさずかつ更新プログラムにより定められる第1条件を満たさない場合に、既存プログラムを更新プログラムで更新しないと判断する。
【0076】
すなわち、更新判断部59は、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が同じ場合に既存プログラムを更新プログラムで更新しないと判断する。処理対象データが既存プログラムにより定められる第1条件を満たす場合は既存プログラムを実行するタスクが処理対象データに圧縮処理を実行する。また、処理対象データが更新プログラムにより定められる第1条件を満たす場合は既存プログラムを更新プログラムで更新した後に更新プログラムを実行するタスクが処理対象データに圧縮処理を実行する。したがって、更新プログラムで既存プログラムを更新する前後で処理対象データに対して圧縮処理が実行される。このため、処理対象データに基づいて更新プログラムで既存プログラムを更新しないと判断するので、OSプログラムまたはアプリケーションプログラムに対して更新プログラムによる更新が有効でない場合に既存プログラムが更新プログラムで更新されるのを防止することができる。
【0077】
また、処理対象データが既存プログラムにより定められる第1条件を満たさない場合は既存プログラムを実行するタスクが処理対象データに圧縮処理を実行しない。また、処理対象データが更新プログラムにより定められる第1条件を満たさない場合は既存プログラムを更新プログラムで更新した後に更新プログラムを実行するタスクが処理対象データに圧縮処理を実行しない。したがって、更新プログラムで既存プログラムを更新する前後で処理対象データに対して圧縮処理が実行されない。
【0078】
更新判断部59は、処理対象データが既存プログラムにより定められる第1条件を満たすことなくかつ更新プログラムにより定められる第1条件を満たす場合に、更新すると判断する。
【0079】
すなわち、更新判断部59は、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が異なる場合に既存プログラムを更新プログラムで更新すると判断する。処理対象データが既存プログラムにより定められる第1条件を満たさない場合は既存プログラムを実行するタスクが処理対象データに圧縮処理を実行しない。また、処理対象データが更新プログラムにより定められる第1条件を満たさない場合は既存プログラムを更新プログラムで更新した後に更新プログラムを実行するタスクが処理対象データに圧縮処理を実行する。したがって、更新プログラムで既存プログラムを更新する前は処理対象データに対して圧縮処理が実行されないが、更新プログラムで既存プログラムを更新した後は処理対象データに対して圧縮処理が実行される。このため、処理対象データに基づいて更新プログラムで既存プログラムを更新すると判断するので、OSプログラムまたはアプリケーションプログラムに対して更新プログラムによる更新が有効な場合に既存プログラムを更新プログラムで更新することができる。
【0080】
既存プログラムおよび更新プログラムそれぞれにおいて圧縮処理を実行する第2条件として、処理対象データに対して実行する処理の内容を定める設定値が設定されている場合がある。ここでは、差分情報により更新プログラムで定められる第2条件として定められる設定値にモノクロが定められている。処理対象データに対して実行する処理の内容を定める設定値は、アプリケーション部51からプリントデータとともにドライバ部53に出力されるコマンドによって特定される。
【0081】
更新判断部59は、既存プログラムおよび更新プログラムそれぞれにおいて第2条件が定められている場合、既存プログラムで定められる第2条件と更新プログラムで定められる第2条件が同じでかつコマンドにより特定される設定値が既存プログラムおよび更新プログラムそれぞれにおいて定められた第2条件を満たすか否かを判断する。更新判断部59は、既存プログラムで定められる第2条件と更新プログラムで定められる第2条件が同じでかつコマンドにより特定される設定値が第2条件を満たす場合に既存プログラムを更新プログラムで更新するか否かを判断するが、既存プログラムで定められる第2条件と更新プログラムで定められる第2条件とが異なる場合またはコマンドで特定される設定値が第2条件を満たさない場合は、既存プログラムを更新プログラムで更新するか否かを判断しない。このため、ユーザーがMFP100を使用する状況に基づいて、既存プログラムが更新プログラムで更新されるのを防止することができる。
【0082】
更新部61は、差分情報取得部55から差分情報が入力される場合、差分情報と既存プログラムとから更新プログラムを特定し、更新プログラムを取得する。具体的には、更新部61は、通信部205を制御し、MFP100を提供する者が管理するサーバーに更新プログラムを要求し、サーバーから更新プログラムを受信する。更新部61は、既存プログラムをアンインストールし、更新プログラムをインストールすることにより、既存プログラムを更新プログラムで更新する。
【0083】
禁止部63は、更新判断部59から禁止指示が入力される場合、更新部61による更新を禁止する。具体的には、禁止部63は、更新判断部59から禁止指示が入力される場合、更新部61が既存プログラムを更新プログラムで更新しないように、更新部61を制御する。更新部61は、禁止部63により既存プログラムを更新プログラムで更新しないように制御される場合、差分情報取得部55から差分情報が入力される場合であっても既存プログラムを更新プログラムで更新しない。
【0084】
更新通知部65は、差分情報取得部55から差分情報が入力される場合かつ更新モードが手動更新モードに設定されている場合、既存プログラムの更新が必要であることをユーザーに通知する。具体的には、更新通知部65は、既存プログラムの更新が必要であることを通知するメッセージを含む通知画面を表示部206に表示する。更新通知部65は、ユーザーに通知した後に指示受付部67に通知画面を表示したことを示す表示信号を出力する。
【0085】
図6は、通知画面の一例を示す図である。通知画面は、「プリンタドライバーを更新する必要があります。」および「理由:画像圧縮の条件が変更されました。」の文字列と、許可の文字が表された許可ボタンと、を含む。通知画面を見るユーザーは、更新プログラムで更新が可能なことおよび更新の理由を知ることがきる。また、更新の理由から更新するか否かを判断することができる。
【0086】
図3に戻って、指示受付部67は、更新モードが手動更新モードに設定されている場合に更新通知部65から表示信号が入力される場合、ユーザーによる更新指示を受け付ける。更新指示は、例えば、通知画面に含まれる許可ボタンを指示するユーザーによる操作である。指示受付部67は、操作部207が更新指示を受け付ける場合、更新部61による更新を許可する許可信号を出力する。
【0087】
更新部61は、更新モードが自動更新モードに設定されている場合は、禁止部63により既存プログラムの更新が禁止されていなければ差分情報が入力されることに応じて既存プログラムを更新プログラムで更新する。更新部61は、更新モードが自動更新モードに設定されている場合であって禁止部63により既存プログラムの更新が禁止される場合は既存プログラムを更新プログラムで更新しない。
【0088】
更新部61は、更新モードが手動更新モードに設定されている場合は、差分情報が入力された後に指示受付部67から指示信号が入力されるまで既存プログラムを更新プログラムで更新しない。更新部61は、更新モードが手動更新モードに設定されている場合は、差分情報が入力された後に指示受付部67から指示信号が入力されることに応じて、既存プログラムを更新プログラムで更新する。
【0089】
更新部61は、更新モードが更新禁止モードに設定されている場合は、差分情報が入力される場合であっても既存プログラムを更新プログラムで更新しない。
【0090】
図7は、更新処理の流れの一例を示すフローチャートである。更新処理は、PC200が備えるCPU201が、ROM202、HDD204またはCD-ROM209Aに記憶されたプログラムを実行することにより、CPU201により実行される処理である。
図7を参照して、CPU201は、更新モードが更新禁止モードに設定されているか否かを判断する(ステップS01)。更新禁止モードに設定されているならば処理を終了するが、そうでなければ処理をステップS02に進める。
【0091】
ステップS02においては、差分情報を取得し、処理をステップS03に進める。通信部205を制御し、MFP100を提供する者が管理するサーバーに差分情報を要求し、サーバーから差分情報を取得する。差分情報の要求は、既存プログラムのバージョンを示すバージョン情報を含む。差分情報は、既存プログラムと更新プログラムとの差分を示す。具体的には、差分情報は、同一の処理を実行するための条件が既存プログラムと更新プログラムとで異なる場合に更新プログラムでその処理を実行するための条件を含む。
【0092】
ステップS03においては、更新プログラムが存在するか否かを判断する。差分情報に基づいて、既存プログラムよりも新しいバージョンのドライバープログラムが存在すれば、更新プログラムが存在すると判断する。更新プログラムが存在すれば処理をステップS04に進めるが、そうでなければ処理をステップS01に戻す。
【0093】
ステップS04においては、処理対象データを検出したか否かを判断する。具体的には、既存プログラムを実行するタスクにOSプログラムを実行するタスクから処理対象データが入力される場合に、処理対象データを検出する。処理対象データを検出するまで待機状態となり(ステップS04でNO)、処理対象データを検出したならば(ステップS04でYES)、処理をステップS05に進める。
【0094】
ステップS05においては、コマンドを取得する。アプリケーションプログラムを実行するタスクから既存プログラムを実行するタスクに出力されるコマンドを取得する。そして、取得されたコマンドで定められ、処理対象データに対して実行する処理の内容を定める設定値を特定する(ステップS06)。ここでは、処理対象データに対して実行する処理の内容を定める設定値はMFP100に出力するデータの種類を示す情報である。MFP100に出力するデータの種類は色数を示し、色数を単色とする種類はモノクロであり、色数を複数色とする種類はカラーである。
【0095】
次のステップS07においては、既存プログラムで定められる第2条件と更新プログラムで定められる第2条件が同じか否かを判断する。双方の第2条件が同じならば処理をステップS08に進めるが、そうでなければ処理をステップS01に戻す。ステップS08においては、ステップS06において特定された設定値が第2条件を満たすか否かを判断する。具体的には、設定値が第2条件として定められた設定値と同じならば設定値が第2条件を満たすと判断するが、そうでなければ第2条件を満たさないと判断する。設定値が第2条件を満たすならば処理をステップS09に進めるが、そうでなければ処理をステップS10に進める。このため、ユーザーがMFP100を使用する状況に基づいて、既存プログラムが更新プログラムで更新されるのを防止することができる。
【0096】
ステップS09においては、処理対象データが既存プログラムで定められる第1条件を満たすか否かを判断する。ここでは、既存プログラムで定められる第1条件は、処理対象データのサイズである。処理対象データが既存プログラムで定められる第1条件を満たすならば処理をステップS10に進めるが、そうでなければ処理をステップS11に進める。
【0097】
ステップS10においては、処理対象データが更新プログラムで定められる第1条件を満たすか否かを判断する。ここでは、更新プログラムで定められる第1条件は、処理対象データのサイズである。処理対象データが更新プログラムで定められる第1条件を満たすならば処理をステップS12に進めるが、そうでなければ処理をステップS10に進める。
【0098】
ステップS10においては、既存プログラムの更新を禁止すること決定し、処理をステップS01に戻す。
【0099】
ステップS12においては、既存プログラムを更新することに決定し、処理をステップS13に進める。ステップS13においては、更新モードによって処理を分岐させる。更新モードが自動更新モードに設定されていれば処理をステップS16に進めるが、更新モードが手動更新モードに設定されていれば処理をステップS14に進める。
【0100】
ステップS14においては、ユーザーに更新を通知し、処理をステップS15に進める。具体的には、表示部206に通知画面を表示する。そして、更新指示を受け付けるまで待機状態となり(ステップS15でNO)、更新指示を受け付けると(ステップS15でYES)、処理をステップS16に進める。通知画面に含まれる許可ボタンを指示するユーザーによる操作を操作部207が受け付けると、更新指示を受け付ける。更新指示を受け付けるまで更新しないので、ユーザーは、更新プログラムで更新するタイミングを決定することができる。
【0101】
ステップS16においては、更新プログラムをダウンロードし、処理をステップS17に進める。PC200に予め登録されたサーバーから更新プログラムをダウンロードする。ステップS17においては、既存プログラムをアンインストールし、処理をステップS18に進める。ステップS18においては、更新プログラムをインストールし、処理をステップS01に戻す。
【0102】
以上説明したように本実施の形態におけるPC200は、情報処理装置として機能し、制御の対象となるMFP100を制御するためのドライバープログラムとしてインストールされている既存プログラムのバージョンより新しいバージョンのドライバープログラムである更新プログラムと既存プログラムとの差分を示す差分情報をサーバーから取得し、既存プログラムを実行するタスクが処理の対象とする処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断する。このため、PC200にインストールされているOSプログラムまたはアプリケーションプログラムに対して有効な場合にドライバープログラムを更新することができる。
【0103】
また、PC200は、処理対象データと差分情報とに基づいて既存プログラムを更新プログラムで更新するか否かを判断し、既存プログラムを更新プログラムで更新しないと判断される場合に既存プログラムを更新プログラムで更新することを禁止する。このため、インストールされているOSプログラムまたはアプリケーションプログラムに対して有効でない場合にドライバープログラムが更新されるのを防止することができる。
【0104】
また、PC200は、ユーザーにより更新を指示する操作が入力されていなければ既存プログラムを更新プログラムで更新しないので、ユーザーの知らない間に既存プログラムが更新プログラムで自動的に更新されないようにできる。
【0105】
また、PC200は、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が同じ場合に既存プログラムを更新プログラムで更新しないので、OSプログラムまたはアプリケーションプログラムが更新プログラムに対して有効でない場合に更新しないようにして、既存プログラムが更新プログラムで更新される回数を減らすことができる。
【0106】
また、PC200は、更新プログラムで既存プログラムを更新する前後で処理対象データに対して実行する処理が異なる場合に既存プログラムを更新プログラムで更新するので、インストールされているOSプログラムまたはアプリケーションプログラムに対して更新プログラムが有効である場合に既存プログラムが更新プログラムで更新されるようにできる。
【0107】
また、PC200は、圧縮処理を実行するための条件として既存プログラムにより定められた第1条件および圧縮処理を実行するための条件として更新プログラムにより定められた第1条件を処理対象データがともに満たす場合または処理対象データがともに満たさない場合は、既存プログラムを更新プログラムで更新しない。このため、インストールされているOSプログラムまたはアプリケーションプログラムに更新プログラムが有効でない場合に既存プログラムが更新プログラムで更新されないようにできる。
【0108】
また、PC200は、圧縮処理を実行するための条件として既存プログラムにより定められた第1条件を処理対象データが満たさずかつ圧縮処理を実行するための条件として更新プログラムにより定められた第1条件を処理対象データが満たす場合は、既存プログラムを更新プログラムで更新する。このため、インストールされているOSプログラムまたはアプリケーションプログラムに対して更新プログラムが有効である場合に既存プログラムが更新プログラムで更新されるようにできる。
【0109】
また、PC200は、さらに、圧縮処理を実行するための第2条件としてユーザーにより設定されるMFP100に出力するデータの種類が既存プログラムによりモノクロが定められている場合、更新プログラムにおいて圧縮処理を実行するための第2条件としてモノクロが定められていない場合は、既存プログラムを更新プログラムで更新するか否かを判断しない。このため、ユーザーの使用状況に基づいて、既存プログラムが更新プログラムで更新されるのを防止することができる。
【0110】
また、PC200は、既存プログラムを実行するタスクに処理対象データが入力されるごとに、既存プログラムを更新プログラムで更新するか否かを判断するので、自動的に既存プログラムを更新プログラムで更新することができる。
【0111】
また、PC200は、既存プログラムを更新プログラムで更新すると判断する場合、ユーザーに通知するので、ユーザーに既存プログラムが更新プログラムで更新されることを知らせることができる。
【0112】
上述した実施の形態においては、情報処理装置の一例としてPC200について説明したが、
図7に示した更新処理をPC200に実行させるドライバープログラム更新方法またはドライバープログラム更新防止方法、そのドライバープログラム更新方法またはドライバープログラム更新防止方法をPC200が備えるCPU201に実行させるドライバープログラム更新プログラムまたはドライバープログラム更新防止プログラムとして捉えることができるのは言うまでもない。
【0113】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0114】
<付記>
(1) 前記所定の処理を実行するための条件は前記処理対象データのデータ容量、第1方向の量、第1方向と交わる第2方向の量および種類の少なくとも1つのしきい値を定める、請求項7または8に記載の情報処理装置。
(2) 前記更新判断手段は、さらに、前記既存プログラムを実行するタスクに対して前記所定の処理を実行するための条件の1つとして設定された前記外部装置に出力するデータの種類が、前記所定の処理を実行するための条件として前記更新プログラムにより定められている条件を満たさない場合は、前記既存プログラムを前記更新プログラムで更新するか否かを判断しない、請求項1~11のいずれかに記載の情報処理装置。
(3)前記所定の処理を実行するための条件は前記制御装置に出力するデータの色数を定める、(2)に記載の情報処理装置。
(4) 前記更新判断手段は、ユーザーにより更新の判断を指示する操作が入力されていなければ前記既存プログラムを前記更新プログラムで更新するか否かを判断しない、請求項9に記載の情報処理装置。
(5) 前記差分情報取得手段は、ネットワークを介して接続されるコンピューターから前記差分情報を取得する、請求項1~11のいずれかに記載の情報処理装置。
【符号の説明】
【0115】
1 プリントシステム、200 PC、201 CPU、202 ROM、203 RAM、204 HDD、205 通信部、206 表示部、207 操作部、209 外部記憶装置、51 アプリケーション部、53 ドライバ部、55 差分情報取得部、57 設定部、59 更新判断部、61 更新部、63 禁止部、65 更新通知部、67 指示受付部。