JP6024279B2 - デバイス制御プログラム、情報処理装置および情報処理システム - Google Patents

デバイス制御プログラム、情報処理装置および情報処理システム Download PDF

Info

Publication number
JP6024279B2
JP6024279B2 JP2012179483A JP2012179483A JP6024279B2 JP 6024279 B2 JP6024279 B2 JP 6024279B2 JP 2012179483 A JP2012179483 A JP 2012179483A JP 2012179483 A JP2012179483 A JP 2012179483A JP 6024279 B2 JP6024279 B2 JP 6024279B2
Authority
JP
Japan
Prior art keywords
storage area
model information
control program
additional model
additional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012179483A
Other languages
English (en)
Other versions
JP2014038417A (ja
Inventor
剛広 赤津
剛広 赤津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2012179483A priority Critical patent/JP6024279B2/ja
Priority to US13/962,167 priority patent/US9063690B2/en
Publication of JP2014038417A publication Critical patent/JP2014038417A/ja
Application granted granted Critical
Publication of JP6024279B2 publication Critical patent/JP6024279B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラム、情報処理装置および情報処理システムに関し、より詳細には、デバイス制御プログラムの更新時に生じ得る互換性の問題を解消するためのプログラム、情報処理装置および情報処理システムに関する。
近年、複数の機種固有のモードを搭載し、接続されている機種に応じて動作を変更する、ユニバーサル・ドライバと呼ばれる形態のプリンタドライバが提供されている。上記ユニバーサル・ドライバは、機種固有の機種ファイル複数をドライバ・パッケージ内に保持し、これにより各機種固有の動作を実現している。
また、新しい機種がリリースされた際に、新しいバージョンのドライバを取得および導入する作業負担を低減するための技術も開発されている。例えば、特開2009−25865号公報(特許文献1)は、ユニバーサル・ドライバのコア自体は更新せず、新しい機種を規定する機種ファイルを追加することによって、新しい機種を使用可能にするユニバーサル・ドライバを開示する。
また、オペレーティング・システム(以下、OSと参照する。)が提供する機能として、ポイント・アンド・プリント機能が知られている。ポイント・アンド・プリント機能は、必要なすべてのファイルおよび構成情報をプリントサーバからクライアントへ提供することによって、クライアント環境においてリモートプリンタへの接続を簡易に作成可能とする機能である。
上記ポイント・アンド・プリント環境において、プリンタドライバがインストールされている場合、サーバ側で設定された機種情報がレジストリに保存され、その機種情報がクライアント側に引き継がれる。選択する機種が変更されたり、機種情報ファイルが更新されたりした場合も、更新されたドライバ構成ファイルがサーバからクライアント側に引き継がれるとともに、レジストリの内容が更新され、その都度、クライアントに最新の情報が引き継がれるように構成されている。
しかしながら、上述した機種ファイルを追加することで、新しい機種を使用可能にするユニバーサル・ドライバでは、ポイント・アンド・プリントを適用した場合に不具合が発生する可能性があった。Windows(登録商標)Vista以降、ポイント・アンド・プリント環境においては、サーバ側のドライバが更新された場合、クライアント側でドライバ構成ファイルを更新するか、更新を行わず従前の環境を維持するかを選択することが可能となった。このようにクライアント側で、サーバ側と独立して更新が可能となったことに起因して、各クライアント環境におけるドライバコアのバージョンが異なるケースが発生し得るようになった。
クライアント側で更新が行われなかった場合、最新のドライバ構成ファイルがクライアント側に引き継がれず、一方で、上記引き継ぎ機能によって、レジストリの内容は最新の状態に維持される。このため、ドライバ構成ファイルと、レジストリの情報との更新状態の差に起因して互換性が失われてしまう可能性がある。また、クライアントが管理者権限を有する場合、クライアント側の設定がサーバ側に伝達されるため、更新状態の差に起因して、クライアント側で行った設定がサーバ側の設定を上書きしてしまい、互換性が失われてしまう可能性があった。互換性が失われてしまうと、ユーザ・インタフェース(UI)表示に不整合が発生したり、正常な印刷が妨げられてしまったりする可能性がある。
本発明は、機能情報を追加することで、新しい機能が使用可能となり、外部装置側の更新状態とは独立して更新が行われるデバイス制御ドライバにおいて、互換性の問題を解消することができるプログラム、情報処理装置および情報処理システムを提供することを目的とする。
本発明では、上記課題を解決するために、以下のプログラムを提供する。本プログラムは、コンピュータを、
外部装置上で動作する外部装置側プログラムとは独立して更新され、本体部を含み構成されるデバイス制御プログラム手段、
上記外部装置側プログラムから引き継がれた、上記本体部に対し付加された付加機能を規定する付加機能情報が格納される第1格納部、
上記第1格納部とは別に、上記付加機能を規定する付加機能情報を格納するための第2格納部、および
上記第1格納部および第2格納部に格納された1以上の付加機能情報のうち上記本体部に対し互換性を有する付加機能情報を判定する互換判定手段、
として機能させるためのプログラムである。
上記構成により、機能情報を追加することで、新しい機能が使用可能となり、外部装置側の更新状態とは独立して更新が行われるデバイス制御ドライバにおいて、互換性の問題を解消することが可能となる。
ユニバーサル・プリンタドライバの概略図。 ユニバーサル・プリンタドライバにおけるポイント・アンド・プリント機能によるクライアントへのインストール動作を説明する図。 ユニバーサル・プリンタドライバの更新動作における問題点を説明する図。 第1の実施形態によるネットワーク・プリント・システムにおけるサーバおよびクライアント上に実現される機能ブロック図。 本実施形態において、レジストリおよびローカル格納領域に保存される追加機種情報のデータ構造を例示する図。 第1の実施形態によるクライアント側で実行される処理を表すフローチャート。 第1の実施形態で表示される通知画面を例示する図。 第1の実施形態においてサーバ上で更新パッケージを用いて更新が行われる一方で、クライアント上では更新が選択されなかった場合の状態を説明する図。 クライアント側が管理者権限を有する場合の問題点を説明する図。 第1の実施形態におけるプリンタドライバの機種の切り替え画面を例示する図。 第1の実施形態によるコンピュータ装置で実行される機種情報を書き込む処理を表すフローチャート。 第1の実施形態によるネットワーク・プリント・システムにおける、不要な追加機種情報を削除するために主要な機能ブロック図。 第2の実施形態によるネットワーク・プリント・システムにおけるサーバおよびクライアント上に実現される機能ブロック図。 第2の実施形態においてクライアント上では更新が選択されなかった場合であって、クライアント側で管理者権限により追加機種が選択された場合の動作を説明する図。 本実施形態によるコンピュータ装置のハードウェア構成を示す図。
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下の説明では、プログラム、情報処理装置および情報処理システムの一例として、ユニバーサル・プリンタドライバ・パッケージ、ユニバーサル・プリンタドライバを動作させるクライアント、およびユニバーサル・プリンタドライバをそれぞれ動作させるサーバとクライアントとを含むネットワーク・プリント・システムを用いて説明する。
(ユニバーサル・プリンタドライバの基本動作)
以下、図1および図2を参照しながら、ユニバーサル・プリンタドライバ(以下、単にプリンタドライバと参照する。)の基本的な動作について説明する。図1は、本プリンタドライバの概略を例示する図である。本プリンタドライバは、実行形式またはシステム定義ファイルの形態で提供されるユニバーサル・プリンタドライバ・パッケージ(以下、単にパッケージという。)100を用いてコンピュータ装置上にインストールされる。
図1に示すパッケージ100は、ドライバコア・ファイル102と、1以上の機種ファイル104とを含み構成される。ドライバコア・ファイル102は、本プリンタドライバのユーザ・インターフェイス(以下、UIと参照する。)を表示させたり、描画データを生成したりするなどの中核的な機能を担当するプログラムのファイルである。機種ファイル104は、ドライバコア・ファイル102と分離して提供され、機種固有の動作を実現するための定義情報を記述した定義データである。機種ファイル104は、ドライバコア・ファイル102に機能を付与するものである。図1に例示するパッケージ100は、2つの機種ファイル104a,104bを含んでいる。
パッケージ100を用いてインストールが行われると、本プリンタドライバを構成する各種ドライバ構成ファイルが、オペレーティング・システム(以下、OSと参照する。)上に準備された所定の記憶領域120内に保存される。図1に示す例では、ドライバコア・ファイル130、機種A用機種ファイル132aおよび機種B用機種ファイル132bといったドライバ構成ファイルが、所定の記憶領域120に保存される。上記記憶領域120は、特定の実施形態であるWindows(登録商標)環境においては、”3”フォルダ、”system32”フォルダ、”ApplicationData”フォルダなどである。なお、以下、Windows(登録商標)環境を例として説明する。
本プリンタドライバのドライバコア・ファイル130は、コンピュータ装置上で実行されて、記憶領域120に保存された機種ファイル132a,132bの情報をUIに出力し、またUIで設定された内容に応じて描画データを生成する。これにより、複数の機種固有のモードが実現され、接続されているプリンタの機種に応じて動作が変更される。
さらに、本プリンタドライバでは、インストール後に、外部の機種ファイルを用いて対応機種を追加することが可能に構成されており、パッケージ100を用いたインストール後の適時に、ドライバコアなどの更新を伴わずに、新たな機種ファイルを追加導入することができる。図1に示す例では、外部の機種ファイル106c,106dを用いて、機種C用機種ファイル134cおよび機種D用機種ファイル134dが記憶領域120に追加されている。
機種ファイルの追加は、典型的には、入手した機種ファイルを手動で、または機種ファイルの管理ツールや機種ファイルのインストーラなどのソフトウェア・コンポーネントを用いて、記憶領域120の適切な保存位置に格納することによって行われる。以下、このように追加された機種ファイルを追加機種ファイルと参照する。
また、パッケージ100のインストールによって導入されたドライバ構成ファイルを格納する部分を、本体部122と参照する。これに対し、追加機種ファイル134を格納する部分を、プリンタドライバの本体部122に付加された機能を含むものとして、付加機能部124と参照する。
さらに、本プリンタドライバは、プリントサーバとして動作させるコンピュータ装置(以下、サーバと参照する。)140にインストールされた後、OSが提供するポイント・アンド・プリント機能によって、クライアントとして動作させる1以上のコンピュータ装置(以下、クライアントと参照する。)にインストールすることができる。
図2は、プリンタドライバにおけるポイント・アンド・プリント機能によるクライアントへのインストール動作を説明する図である。例えば、第1クライアント170上で、サーバ140上のプリンタに対し接続確立の指示が行われたことに応答して、サーバ140から第1クライアント170へ、ドライバ構成ファイル(ドライバコア・ファイル、機種A用機種ファイル、機種B用機種ファイル)がダウンロードされ、第1クライアント170にプリンタドライバ本体部172がインストールされる。クライアント側のプリンタドライバ本体部172は、サーバ140側のプリンタドライバ本体部142と同様に、ドライバコア・ファイル174と、機種A用機種ファイル176aと、機種B用機種ファイル176bとを含み構成される。第2クライアント180などの他のクライアントについても同様である。
一方、サーバ140側で追加導入された追加機種ファイル154に関しては、ポイント・アンド・プリント機能によってその内容がクライアントへ引き継がれるレジストリ160を経由してクライアントへ引き継がせることができる。サーバ140上において、所定の追加機種が選択されたことに応答して、プリンタドライバ本体部142が、その追加機種ファイル154(例えば機種D用機種ファイル154d)を読み出し、その機種として動作する。同時にプリンタドライバ本体部142は、読み出された追加機種ファイル154の内容をレジストリ160へ保存して、追加機種情報162(例示に従うと機種D用機種情報162d)を生成する。
レジストリ160の内容は、ポイント・アンド・プリント機能により、適時にクライアント側にも引き継がれる。第1クライアント170においては、プリンタドライバ本体部172が、レジストリ160の追加機種情報162を読み込むことによって、サーバ140側で選択された機種として動作することが可能となる。これは、第2クライアント180などの他のクライアントについても同様である。
さらに、本プリンタドライバは、更新されたユニバーサル・プリンタドライバ・パッケージ(以下、更新パッケージと参照する。)を用いて、またはプリンタドライバのアップデート機能を用いて、新しい内容に更新することができる。
図3は、ユニバーサル・プリンタドライバの更新動作における問題点を説明する図である。例えば、図2に示したような状態において、サーバ140上で、更新パッケージを用いた更新インストールが行われると、プリンタドライバ本体部142内のドライバ構成ファイルが更新される。上記例示に従えば、図3に示すように、ドライバコア・ファイル150および機種ファイル152a,152bが新しいもので上書き更新される。また、図示しないが、新たに機種をサポートする更新パッケージが用いられる場合は、新たな機種の機種ファイルが新規保存される場合もある。
一方で、付加機能部144の追加機種ファイルについても、手動で本体部142と互換性を有するものに置き換えられる場合がある。あるいは、差分情報等が事前定義される場合には、自動で従前のバージョンの追加機種ファイルが新しいバージョンの追加機種ファイルへ変換される場合もある。
また、サーバ140側でプリンタドライバの更新が行われた場合、クライアント側では、上述したように、OSが提供する機能によって、クライアント側でもドライバ構成ファイルを更新するか、またはクライアント側では更新を行わず従前の環境を維持するかを選択できる。すなわち、クライアント側では、サーバ側の更新状態とは独立して更新できるように構成されている。図3に示す例示では、第1クライアント170が、更新を選択した場合に対応し、第2クライアント180が、更新を行わず従前の環境を維持することを選択した場合に対応する。
更新が選択された場合は、第1クライアント170上のプリンタドライバ本体部172内のドライバ構成ファイルが新たなものに更新される。上記例示に従えば、図3に示すように、ドライバコア・ファイル174および機種ファイル176a,176bの従前のもの(Ver1.0)が新しいもの(Ver.1.1)で上書き更新される。一方、更新が選択されなかった場合は、第2クライアント180上のプリンタドライバ本体部182内のドライバ構成ファイルは、従前のまま維持される。
付加機能部144内の追加機種ファイルについては、サーバ140上において、所定の追加機種が選択されたことに応答して、クライアント側で更新が選択されたかされなかったかにかかわらず、プリンタドライバ本体部142が、その新しい追加機種ファイル(Ver1.1)を読み出し、レジストリ160へ追加機種情報162として上書き保存する。そして、レジストリ160の内容が、ポイント・アンド・プリント機能により、クライアント側に引き継がれる。
このとき、更新が選択された場合は、第1クライアント170上のプリンタドライバ本体部172内のドライバ構成ファイルおよびレジストリ160内の内容が共に最新の状態に維持されており、互換性の問題は発生しない。しかしながら、更新が選択されなかった場合は、第2クライアント180上では、プリンタドライバ本体部182が、従前のままのドライバ構成ファイル(Ver.1.0)である一方で、レジストリ160内の内容が、最新の状態に維持される。そして、従前のプリンタドライバ本体部182と、最新の状態に更新された追加機種情報162との間の更新状態の差に起因して、互換性が失われてしまう可能性がある。互換性が失われてしまうと、UI表示に不整合が発生したり、正常な印刷が妨げられてしまったりする可能性がある。
そこで、本実施形態におけるプリンタドライバは、上述した互換性の問題を解消するべく、以下に詳細を説明する構成を備える。以下、本プリンタドライバの第1の実施形態および第2の実施形態について説明する。
(第1の実施形態)
以下、図4〜図12を参照して、第1の実施形態によるネットワーク・プリント・システム200におけるプリンタドライバの動作について説明する。図4は、第1の実施形態によるネットワーク・プリント・システム200におけるサーバ210およびクライアント250上に実現される機能ブロック図である。
図4には、サーバ210上の主要な機能部として、ドライバコア220および機種ファイル222a,222bを含み構成されるプリンタドライバ本体部212と、追加機種ファイル224dを含む付加機能部214とが示されている。同様に、図4には、クライアント250上の主要な機能部として、ポイント・アンド・プリント機能によって、サーバ140上で動作するプリンタドライバ本体部212に関連付けられるプリンタドライバ本体部252が示されている。クライアント側の本体部252は、サーバ側と同様に、ドライバコア260および機種ファイル262a,262bを含み構成される。
サーバ210およびクライアント250上には、ポイント・アンド・プリント機能によって両者間で内容を一致するように維持されるレジストリ230が存在する。図4に示すサーバ210上のプリンタドライバは、機種情報書込部226を含む。サーバ210上のプリンタドライバにおいて追加機種が選択されると、機種情報書込部226は、選択された追加機種に対応した追加機種ファイル224(図4の例では機種D用機種ファイル224d)を読み出し、レジストリ230内に同内容を書き込んで、追加機種情報232(図4の例では機種D用機種情報232d)を生成する。レジストリ230には、その追加機種の最新の機種情報が書き込まれることになる。レジストリ230は、本体部に対し付加された追加機種を規定する追加機種情報232が格納される、本実施形態における第1格納部を構成する。
図4に示すクライアント250上のプリンタドライバ本体部252は、さらに、機種情報保存部270と、互換判定部272とを含み構成される。機種情報保存部270は、サーバ210側のプリンタドライバから引き継がれて上記レジストリ230内の追加機種情報が更新される場合に、更新にかかる追加機種情報を所定の記憶領域に保存する手段である。機種情報保存部270がレジストリ230を確認する契機としては、プリンタドライバのインストール時、UIが開かれた時、印刷時などを上げることができる。レジストリ230とは別に、追加機種情報264を格納するための記憶領域をローカル格納領域254と参照する。ローカル格納領域254は、本実施形態における第2格納部に対応する。
機種情報保存部270は、レジストリ230内の追加機種情報232が更新されたことを検知し、更新後の追加機種情報をローカル格納領域254に保存することができる。あるいは、機種情報保存部270は、実際に更新が実行される前に、更新前の追加機種情報を保存することとしてもよい。また好適な実施形態では、異なるバージョンの複数の追加機種情報を保持できるように追加保存される。また保存は、各バージョンについて追加機種情報の全体を保存する態様で行われてもよいが、バージョン間の差分情報を保存するなど、各バージョンの追加機種情報が再現できる態様で行われればよい。
図5は、本実施形態において、レジストリ230およびローカル格納領域254に保存される追加機種情報のデータ構造を例示する図である。追加機種情報(232,264)は、パッケージ100が保有する機種ファイル104や追加機種ファイル106と同様のものである。追加機種情報(232,264)は、図5に示すように、機種名、特徴一覧、UIレイアウト情報などの機種の特徴および仕様を表す情報を保持しており、好ましくは、本機種情報のバージョンと、当該機種が追加機種であるか否かを示す情報とを有する。
上記ローカル格納領域254は、ファイル・システム上の記憶領域、またはレジストリなどとして提供される。上記ローカル格納領域254は、ファイルとして保存する場合は、例えば”ApplicationData”フォルダ下とすることができる。レジストリとして保存する場合は、上記ローカル格納領域254は、HKEY_CURRENT_USER(HKCU)下などとすることができる。また、ファイル名およびレジストリキー名は、追加機種情報であること、対象機種と、対象バージョンとを識別できる名称を用いることによって、各バージョン毎に各追加機種毎の追加機種情報を保持することができる。
再び図4を参照すると、互換判定部272は、レジストリ230およびローカル格納領域254の両方または一方に格納された1以上の追加機種情報(232,264)のうち、当該クライアント側の本体部252に対し互換性を有する追加機種情報を判定する。互換性の判定は、ドライバコア260内に記述されるバージョンと、追加機種情報(232,264)のバージョンとを比較することによって行うことができる。両バージョンが一致すれば互換性を有すると判定される。または事前にドライバコアのバージョンと、それと互換性を有する機種情報のバージョンとを対応付ける互換対応表が存在する場合は、その対応付けから判定される。上記機種情報保存部270のはたらきにより、レジストリ230とローカル格納領域254とには同一バージョンの追加機種情報が重複して保存される場合があるが、その場合は一方のみを判定の対象とすればよい。
互換性を有すると判定された場合は、その互換性を有する追加機種情報がプリンタドライバ本体部252に読み込まれる。図4に示す例示では、ドライバコア260のバージョン(Ver.1.0)と、レジストリ230内の機種情報232dおよびローカル格納領域254内の機種情報254のバージョン(Ver.1.0)とが両方とも一致するので、これらのいずれかが読み出されることになる。
図6は、第1の実施形態によるクライアント側で実行される処理を表すフローチャートである。図6に示す処理は、ステップS100から開始され、ステップS101では、クライアント250は、追加機種情報232が格納されるレジストリ230を確認する契機となるイベントを検出する。例えば、プリンタのプロパティのダイアログ等のUIが開かれたとき、またはドライバアップデート時などに、追加機種が選択されていた場合に契機となる。
ステップS102では、クライアント250は、プリンタドライバ本体部252(ドライバコア260)のバージョンを取得する。ステップS103では、クライアント250は、機種情報保存部270により、ローカル格納領域254内に、選択された追加機種に対応した追加機種情報が存在するか否かを判定する。例えば、追加機種情報を保存する保存場所および保存形式を事前定義しておき、その保存場所を検索することによって、確認することができる。また、保存場所を選択可能としておけば、環境に応じて適切な保存場所に保存できるようになる。
ステップS103で、対応する追加機種情報が存在すると判定された場合(YES)は、ステップS104へ処理が進められる。ステップS104では、クライアント250は、機種情報保存部270により、さらに、レジストリにある追加機種情報232と同一バージョン(またはタイムスタンプ)の追加機種情報264が存在するか否かを判定する。この判定を行うためには、機種情報内にそのバージョン情報を記載すればよく、または取得できるタイムスタンプからも同一性を判定してもよい。また、ローカル格納領域254内には、複数の機種情報が存在する場合もあるので、そのすべてを確認する。上記ステップS104で、同一バージョンのものが存在すると判定された場合(YES)は、ステップS105を経由せずに、ステップS106へ処理が進められる。
一方、上記ステップS104で、同一バージョン(またはタイムスタンプ)のものが存在しないと判定された場合(NO)は、ステップS105へ処理が進められる。また、上記ステップS103で、対応する追加機種情報264が存在しないと判定された場合(NO)も、ステップS105へ処理が進められる。ステップS105では、クライアント250は、機種情報保存部270により、レジストリ230内の追加機種情報232を読み出し、ローカル格納領域254に追加機種情報264として保存する。ここでは、複数のバージョンの追加機種情報が保存できるように、機種およびバージョンで階層を形成したり、ファイル名およびレジストリキー名に機種およびバージョンを含めたりすることができる。
ステップS103〜ステップS105で、サーバ210側の現行バージョンの追加機種情報がローカル格納領域254内に確保されると、ステップS106へ処理が進められる。ステップS106では、クライアント250は、互換判定部272により、レジストリ230およびローカル格納領域254内に、クライアント250側のプリンタドライバ本体部252と互換性を有する追加機種情報が存在するか否かを判定する。互換性の判定は、クライアント250側のドライバコア260のバージョンと、追加機種ファイルのバージョンとを比較することにより行われる。
ステップS106で、互換性を有する追加機種情報が存在すると判定された場合(YES)は、ステップS107へ処理が進められる。ステップS107では、クライアント250は、プリンタドライバ本体部252により、互換判定部272によって互換性を有する追加機種情報であるとして判定された追加機種情報(232または264)を読み込み、本プリンタドライバを対応する機種として動作させる。ステップS109では、クライアント250は、ローカル格納領域254内の不要な追加機種情報を削除し、ステップS110で、本処理を終了させる。ここでは、クライアント250側のドライバコア260のバージョンより古い機種情報につては、今後使用されることはないため、削除することができる。
一方、ステップS106で、互換性を有する追加機種情報が存在しないと判定された場合(NO)は、ステップS108へ処理が分岐される。この分岐処理は、万が一、ファイルが削除されたり、エラーにより生成されなかったりして、互換性のあるバージョンの追加機種情報が存在しない場合を考慮して、そのような場合でもドライバが不正な動作をしないようにするために行われる。ステップS108では、図7に示すような通知画面をディスプレイ画面に表示させ、ドライバコアのバージョンをサーバ側に適合させるようユーザに促し、適宜Genericモードに切り替えて動作させ、ステップS110で本処理を終了させる。
図7は、図6に示したステップS108で表示させることができる通知画面を例示する図である。図7に示す通知画面400は、ユーザにクライアント250側ドライバコア260の更新を促すメッセージ表示402と、Genericモードとして動作させる指示を受け付けるチェックボックス404と、指示を完了させるOKボタン406とを含む。クライアント250側において、ドライバコア260のバージョンと互換性を有する追加機種情報が存在しない場合は、その機種モードで動作することができない。図7に示す通知画面400は、このような場合に表示されるものであり、ユーザにクライアント250側ドライバ本体部252の更新を促すとともに、Genericモードとして動作させる途を残すものである。
図8は、第1の実施形態においてサーバ210上で更新パッケージを用いて更新が行われる一方で、クライアント250上では更新が選択されなかった場合の状態を説明する図である。例えば、図4に示したような状態において、サーバ210上で、更新パッケージ(Ver.1.1)を用いて更新インストールが行われると、図8に示すように、プリンタドライバ本体部212内のドライバ構成ファイルが更新される。付加機能部214の追加機種ファイル224についても、本体部212に互換性を有するものに置き換えられる。一方で、クライアント250側で更新が選択されないと、クライアント250上のプリンタドライバ本体部252内のドライバ構成ファイルは従前のまま維持される。
付加機能部214内の追加機種ファイル224については、サーバ210上において、追加機種が選択されたことに応答して、プリンタドライバ本体部212の機種情報書込部226が、その新しい追加機種ファイル(Ver1.1)を読み出し、レジストリ160へ追加機種情報232として上書き保存する。そして、レジストリ230の内容が、ポイント・アンド・プリント機能により、クライアント側に引き継がれる。クライアント250上では、上述した処理により、機種情報保存部270は、上記レジストリ230内の追加機種情報が更新されたことを検知して、更新にかかる追加機種情報をローカル格納領域254に保存する。図8に示す例では、従前に追加された機種D用機種情報264d−0(Ver.1.0)に加えて、新たに機種D用機種情報264d−1(Ver.1.1)が追加されている。
図6に示したステップS106およびステップS107では、互換判定部272は、レジストリ230およびローカル格納領域254に格納された追加機種情報(232d,264d−0,264d−1)のうち、当該クライアント250側の本体部252に対し互換性を有する追加機種情報を判定する。図8に示す例では、本体部252とバージョン(Ver.1.0)を一致する追加機種情報264d−0が、互換性を有する追加機種情報であると判定され、ステップS107で、読み込まれることになる。
上述した構成により、サーバの更新状態とは独立して更新が可能であり、サーバ210とドライバコアのバージョンが異なるクライアント250においても、レジストリ230に格納される最新の追加機種情報とは別に、クライアント250側のドライバコア260のバージョンに適合した追加機種情報が保持される。これにより、サーバ210およびクライアント250間のプリンタドライバ本体部の更新状態の差に起因した互換性の問題が解消される。ひいては、UI表示や印刷を正常に行うことができるようになる。
また、レジストリ230には、各追加機種について1つの追加機種情報232だけが保存されるので、バージョンが増えても、レジストリに保存する情報が増えないため、ネットワークが狭い環境である等、レジストリの大きさが不利な環境でも良好に動作することができる。
以下、サーバ210上で更新パッケージを用いて更新が行われ、一方でクライアント250上では更新が選択されなかった場合であって、クライアント側が管理者権限を有する場合に生じる可能性のある問題について説明する。図9は、クライアント側が管理者権限を有する場合の問題点を説明する図である。上述までの処理により、サーバ210とクライアント250との間で、ドライバコアのバージョンが異なり得る環境において、クライアント250に、クライアント250側で互換性を有する追加機種情報264が保持される。しかしながら、クライアント250がサーバ210側と異なるバージョンの追加機種情報を保持し得ることに起因して、クライアントが管理者権限を有する場合に問題が生じ得る。
図10は、本実施形態におけるプリンタドライバの機種の切り替え画面を例示する。プリンタドライバのプロパティ画面450は、複数のタブを有し、タブ452は、本プリンタドライバの機種の切り替え画面を表示するためのタブである。本プリンタドライバの機種の切り替え画面450は、現在選択されているプリンタの機種を表示する現在機種表示454と、機種を手動で切り替えるためのプルダウン・メニュー456と、設定内容を適用するための更新ボタン458と、設定内容を確定するためのOKボタン460と、設定をキャンセルするためのキャンセル・ボタン462とを含む。
図10においてカーソル456aで示すように、クライアント側の管理者権限ユーザが、プリンタのプロパティ画面450で機種を選択し、更新ボタン458あるいはOKボタン460により設定を反映させると、その選択された機種の情報がレジストリ230に保存される。したがって、サーバ210側において機種情報書込部226によりレジストリ230に書き込まれた機種情報(図9の例示では、機種D用機種情報232d−1)が、クライアント250側の機種情報書込部266により、そのドライバコア260に互換性を有する追加機種情報(図9の例示では、機種D用機種情報232d−0)で上書きされる。そして、この書き込まれた情報が、サーバ210や他のクライアントに影響を及ぼし、互換性問題を発生させてしまう可能性がある。
そこで、第1の実施形態におけるプリンタドライバは、上述したクライアント側の管理者権限に基づく設定変更に起因した互換性の問題を解消するべく、以下に説明する構成を備える。第1の実施形態のクライアント250における機種情報書込部266は、本クライアントに対する操作によりレジストリ230内の追加機種情報が更新される契機を検出する検出手段、および、これに応答して、サーバ側本体部212に対し互換性を有する付加機能情報が存在する場合にだけ、該互換性を有する付加機能情報をレジストリ230に書き込む書込手段に対応する。
図11は、第1の実施形態によるコンピュータ装置で実行される機種情報を書き込む処理を表すフローチャートである。なお、図11に示す処理は、サーバ210およびクライアント250の機種情報書込部226,266が実行する処理である。図11に示す処理は、ステップS200から開始され、ステップS201では、コンピュータ装置(サーバまたはクライアント)は、操作によりレジストリ230内の追加機種情報が更新される契機となるイベントを検出する。例えば、管理者権限ユーザが、図10に示したプリンタのプロパティ画面450において、リストボックス456で機種を選択し、更新ボタン458あるいはOKボタン460により設定を反映させると、該イベントが検出される。
ステップS202では、コンピュータ装置は、プリンタドライバ本体部252により、選択された追加機種に対応し、かつ、ドライバコアと互換性を有する追加機種情報を読み取り、対応する機種として動作させる。ステップS203では、本処理の実行主体が、サーバであるか、クライアントであるかに応じて処理を分岐させる。
ステップS203の判定で、サーバが実行主体であり、クライアントではないと判定された場合(NO)は、ステップS206へ処理を進める。この場合は、サーバ側の最新の機種情報で更新すればよいため、ステップS206では、コンピュータ装置は、機種情報書込部226により、レジストリ230内の追加機種情報を更新し、ステップS207で、本処理を終了させる。
一方、ステップS203の判定で、クライアントが実行主体であると判定された場合(YES)は、ステップS204へ処理が分岐される。ステップS204では、コンピュータ装置は、選択されている機種に対応し、かつ、サーバ210側のドライバコア220と互換性を有する追加機種情報が存在するか否かを判定する。ステップS204の判定で、サーバ210側と互換性を有する追加機種情報が存在しないと判定された場合(NO)は、ステップS205へ処理を分岐させる。ステップS205では、コンピュータ装置は、レジストリ230内の追加機種情報を更新せずに、ステップS207へ処理を進めて、本処理を終了させる。
一方、ステップS204の判定で、サーバ210側と互換性を有する追加機種情報が存在する判定された場合(YES)は、ステップS206へ処理を分岐させる。ステップS206では、コンピュータ装置は、機種情報書込部266により、サーバ210側と互換性を有する追加機種情報でレジストリ230を更新し、ステップS207で本処理を終了させる。
上述した構成により、クライアント250側のプリンタドライバ本体部252の更新状態にかかわらず、サーバ210側のドライバコア220のバージョンに適合した追加機種情報がレジストリ230内に保持されることになる。このため、クライアント側で機種の選択が行われても、サーバ210や他のクライアントには、適切な追加機種情報が引き継がれる。したがって、クライアント250側が管理者権限を有する場合でも、サーバ210およびクライアント250間のプリンタドライバ本体部の更新状態の差に起因した互換性の問題は生じない。
ローカル格納領域254には、追加機種情報264が追加保存されて行くので、以下、さらに、不要な追加機種情報を削除する構成について説明する。図12は、第1の実施形態によるネットワーク・プリント・システムにおける、不要な追加機種情報を削除するために主要なサーバおよびクライアント上に実現される機能ブロック図を示す。本実施形態によるサーバ210側の機種情報書込部226は、サーバ210側のプリンタドライバ本体部212に対し付加された1以上の追加機種を登録する追加機種登録リスト234を、レジストリ230内に書き込む。追加機種登録リスト234は、1以上の追加機種が登録される登録部であり、いずれの機種が追加されたものであるかが理解できるように、機種名を羅列したリストなどとして構成される。
そして、本実施形態によるクライアント250側のプリンタドライバ本体部252は、レジストリ230を参照した適時において、追加機種登録リスト234に登録されていない追加機種の全追加機種情報をローカル格納領域254から削除する未登録機種情報削除部274をさらに備えることができる。
例えば、図12に示す状態において、サーバ210側で追加機種F(図12中、反転表示されている。)が削除された場合、追加機種登録リストから機種Fが削除され、その情報がクライアント250に引き継がれる。クライアント250は、未登録機種情報削除部274により、追加機種登録リスト234を参照し、ローカル格納領域254に追加機種情報が存在する機種Fが抹消されたことを検知し、ローカル格納領域254にある機種Fのすべての追加機種情報264f−0,264f−0(図12中、反転表示されている。)を削除する。
上述した構成により、不要な追加機種情報がローカル格納領域254に蓄積されてしまうことを好適に防止することができる。
(第2の実施形態)
上述までの第1の実施形態は、クライアント側で自身のバージョンに適合した追加機種情報が得られるように、クライアント側でローカル格納領域254に、各バージョン毎の追加機種情報を保存するものであった。以下、図13および図14を参照して、サーバ側でレジストリ内に各バージョン毎の追加機種情報を保存する第2の実施形態について説明する。
図13は、第2の実施形態によるネットワーク・プリント・システム300におけるサーバ310およびクライアント350上に実現される機能ブロック図である。図13には、図4に示したものと同様の構成が示されており、サーバ310上の主要な機能部として、プリンタドライバ本体部312と、付加機能部314とが示され、クライアント350上の主要な機能部として、プリンタドライバ本体部352が示されている。サーバ310およびクライアント350上には、第1の実施形態と同様に、レジストリ330が設けられる。
第2の実施形態によるサーバ310側の機種情報書込部326は、サーバ上で追加機種が選択されたことに応答して、選択された追加機種に対応した全バージョンの追加機種ファイル324(図13に示す例では、機種D用機種ファイル324d−0,324d−1)を読み出し、レジストリ330内に書き込んで、全バージョンの追加機種情報332(図13の例では機種D用機種情報332d−0,332d−1)を生成する。第2の実施形態では、レジストリ330には、サーバ側に存在するその追加機種に対応した機種情報すべてが書き込まれることになる。第2の実施形態において、レジストリ330の最新の追加機種情報が格納される領域が第1格納部に対応し、レジストリ330の旧バージョンの追加機種情報が格納される領域が第2格納部に対応する。
クライアント350側の互換判定部372は、レジストリ330に格納された全バージョンの追加機種情報のうち、当該クライアント側の本体部352に対し互換性を有する追加機種情報を判定する。互換性の判定は、第1の実施形態と同様に行われる。互換性を有すると判定された場合は、その互換性を有する追加機種情報がプリンタドライバ本体部352に読み込まれ、本プリンタドライバは、その対応機種として動作することになる。図13に示す例示では、ドライバコア360と、レジストリ330内の追加機種情報332d−0とがそのバージョン(Ver.1.0)において一致するので、追加機種情報332d−0が読み出されることになる。
第2の実施形態では、クライアント350側のユーザが管理者権限を持っていても、クライアント350のローカル環境には追加機種情報が存在しないので、その機種を選ぶことができないようにしてもよい。あるいは、図13に示すように、少なくともクライアントのユーザが管理者の場合は、機種情報保存部370が、レジストリ330に書かれた追加機種情報332の全バージョンをローカル格納領域354内に保存するように構成し、クライアント350側で、その追加機種情報を選択可能としてもよい。
図14は、第2の実施形態においてクライアント上では更新が選択されなかった場合であって、クライアント側で管理者権限により追加機種が選択された場合の動作を説明する。クライアント350側で追加機種情報を選択可能とする実施形態では、クライアント側の管理者権限ユーザが、追加機種を選択し設定を反映させると、その選択された機種の全バージョンの追加機種情報がレジストリ330に保存される。したがって、サーバ310側では、クライアント350側の機種情報書込部366により書き込まれた全バージョンの追加機種情報(図14の例示では、機種D用機種情報364d−0,364d−1)のうち、サーバ側本体部320のバージョンに適合した機種情報が読み出すことができる。
第2の実施形態は、第1の実施形態と比較して、以下のメリットを有する。すなわち、第2の実施形態では、必ずしもクライアント350のローカル環境にファイルを残すことを要しないため、ローカル環境に作成される各バージョンの追加機種情報のファイル管理が不要になる。なお、第1の実施形態の方式とするか、第2の実施形態の方式とするかは、環境に応じてユーザが選択できるようにするとよい。
(ハードウェア構成)
以下、図15を参照しながら、上述した第1および第1の実施形態で用いることができるコンピュータ装置のハードウェア構成について説明する。図15は、本実施形態によるコンピュータ装置のハードウェア構成を示す図である。本実施形態によるコンピュータ装置10は、デスクトップ型、ノート型あるいはモバイル型のパーソナル・コンピュータ、ワークステーションなどの汎用コンピュータ、またはタブレット端末やスマートフォン端末などの携帯情報端末として構成される。
図15に示すコンピュータ装置10は、シングルコアまたはマルチコアのCPU(Central Processing Unit)を含む制御部12と、RAM(Random Access Memory)などの主記憶部14と、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの補助記憶部16と、外部記憶装置I/F部18と、NIC(Network interface Card)などのネットワークI/F部20と、入力部22と、ディスプレイ部24とを含む。
補助記憶部16は、コンピュータ装置を制御するためのOS、上述した機能部を実現するための制御プログラムや各種システム情報や各種設定情報を格納する。外部記憶装置I/F部18は、USBフラッシュメモリ、スマートメディア(登録商標)、SDメモリーカード(登録商標)などの外部記憶メディアと接続するためインタフェース機器である。ネットワークI/F部20は、コンピュータ装置10をネットワークに接続させるインタフェース機器である。
入力部22およびディスプレイ部24は、当該コンピュータ装置10のオペレータからの、ドライバ更新やUI表示などの各種指示の入力を受け付けるためのユーザ・インタフェースを提供する。入力部22は、マウス、キーボード、タッチパネルなどの入力装置を含む。コンピュータ装置10は、補助記憶部16からOSのプログラムや上記パッケージなどを読み出し、主記憶部14が提供する作業空間に展開することにより、制御部12の制御の下、上述した各機能部および各処理を実現する。
以上説明したように、本実施形態によれば、機能情報を追加することで、新しい機能が使用可能となり、外部装置側の更新状態とは独立して更新が行われるデバイス制御ドライバにおいて、互換性の問題を解消することができるプログラム、情報処理装置および情報処理システムを提供することができる。
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
100…パッケージ、102,130,150,174,184,220,260,320,360…ドライバコア・ファイル、104,132,152,176,186,222,262,322,362…機種ファイル、106…外部機種ファイル、120…記憶領域、122,142,172,182,212,252,312,352…プリンタドライバ本体部、124,144,214,314…付加機能部、134,154,224,324…追加機種ファイル、140,210,310…サーバ、144,214,314…付加機能部、170,180,250,350…クライアント、160,230,330…レジストリ、162,232,264,332,364…追加機種情報、200,300…ネットワーク・プリント・システム、226,266,326,366…機種情報書込部、234…追加機種登録リスト、254,354…ローカル格納領域、270,370…機種情報保存部、272,372…互換判定部、274…未登録機種情報削除部、400…通知画面、402…メッセージ表示、404…チェックボックス、406,460…OKボタン、450…プロパティ画面、452…タブ、454…現在機種表示、456…プルダウン・メニュー、458…更新ボタン、462…キャンセル・ボタン、10…コンピュータ装置、12…制御部、14…主記憶部、16…補助記憶部、18…外部記憶装置I/F部、20…ネットワークI/F部、22…入力部、24…ディスプレイ部
特開2009−25865号公報

Claims (9)

  1. 外部装置上で動作する、本体部を含む外部装置側制御プログラムから複製され、
    複製されたプログラムに含まれる本体部は、前記外部装置側制御プログラムに含まれる本体部とは独立してバージョンのアップデートが可能な、デバイス制御プログラムであって、
    コンピュータを、
    前記外部装置側制御プログラムに含まれる本体部のバージョンに対応するバージョンである、該制御プログラムに機能を追加するための追加機種情報を受信して、該追加機種情報を第1記憶領域に記憶する第1記憶手段、
    前記第1記憶領域に記憶されているバージョンの追加機種情報が、前記第1記憶領域とは異なる記憶領域である第2記憶領域に記憶されていない場合に、該追加機種情報を前記第2記憶領域に記憶する第2記憶手段、
    前記第1記憶領域と前記第2記憶領域に記憶されている追加機種情報のうち、前記複製されたプログラムに含まれる本体部と対応するバージョンの追加機種情報を判定する判定手段
    として機能させるためのデバイス制御プログラム。
  2. 前記コンピュータを、
    前記外部装置側制御プログラムから引き継がれて前記第1記憶領域内の追加機種情報が更新される場合に、更新にかかる追加機種情報を前記第2記憶領域に保存する保存手段
    としてさらに機能させるための請求項1に記載のデバイス制御プログラム。
  3. 前記外部装置側制御プログラムから引き継がれて、前記第1記憶領域には、前記外部装置側制御プログラム内の本体部に対し互換性の有する追加機種情報が記憶され、前記第2記憶領域には、前記外部装置側制御プログラム内の本体部に対し互換性の有する追加機種情報とは異なるバージョンの追加機種情報が記憶される、請求項1に記載のデバイス制御プログラム。
  4. 前記コンピュータを、
    前記コンピュータに対する操作により前記第1記憶領域内の追加機種情報が更新される契機を検出する検出手段、および
    前記検出手段が契機を検出したことに応答して、前記外部装置側制御プログラムの本体部に対し互換性を有する追加機種情報が存在する場合に、該互換性を有する追加機種情報を前記第1記憶領域に書き込む書込手段
    としてさらに機能させる、請求項1〜3のいずれか1項に記載のデバイス制御プログラム。
  5. 前記コンピュータを、
    前記外部装置側制御プログラムの本体部に対し互換性を有する追加機種情報が登録される登録部と、前記登録部に登録されていない追加機種情報を前記第2記憶領域から削除する削除手段としてさらに機能させる、請求項1〜4のいずれか1項に記載のデバイス制御プログラム。
  6. 前記コンピュータを、
    前記互換判定手段により前記本体部に対し互換性を有する追加機種情報が存在しないと判定された場合に、前記デバイス制御プログラムの前記本体部の更新を促す通知を行う通知手段
    としてとしてさらに機能させる、請求項1〜5のいずれか1項に記載のデバイス制御プログラム。
  7. 外部装置上で動作する、本体部を含む外部装置側制御プログラムから複製され、
    複製されたプログラムに含まれる本体部は、前記外部装置側制御プログラムに含まれる本体部とは独立してバージョンのアップデートが可能なデバイス制御プログラムを、アップデートする情報処理装置であって、
    前記外部装置側制御プログラムに含まれる本体部のバージョンに対応するバージョンである、該制御プログラムに機能を追加するための追加機種情報を受信して、該追加機種情報を第1記憶領域に記憶する第1記憶手段と、
    前記第1記憶領域に記憶されているバージョンの追加機種情報が、前記第1記憶領域とは異なる記憶領域である第2記憶領域に記憶されていない場合に、該追加機種情報を前記第2記憶領域に記憶する第2記憶手段と、
    前記第1記憶領域と前記第2記憶領域に記憶されている追加機種情報のうち、前記複製されたプログラムに含まれる本体部と対応するバージョンの追加機種情報を判定する判定手段と
    を含む情報処理装置。
  8. 第1のデバイス制御プログラム手段と、
    前記第1のデバイス制御プログラム手段とは独立して更新され、本体部を含み構成される第2のデバイス制御プログラム手段と、
    前記第1の制御プログラム手段に含まれる本体部のバージョンに対応するバージョンである、該制御プログラムに機能を追加するための追加機種情報を受信して、該追加機種情報を第1記憶領域に記憶する第1記憶手段と、
    前記第1記憶領域に記憶されているバージョンの追加機種情報が、前記第1記憶領域とは異なる記憶領域である第2記憶領域に記憶されていない場合に、該追加機種情報を前記第2記憶領域に記憶する第2記憶手段と、
    前記第1記憶領域と前記第2記憶領域に記憶されている追加機種情報のうち、前記第2の制御プログラム手段に含まれる本体部と対応するバージョンの追加機種情報を判定する判定手段と
    を含む情報処理システム。
  9. 前記第1のデバイス制御プログラム手段から引き継がれて前記第1記憶領域内の追加機種情報が更新される場合に、更新にかかる追加機種情報を前記第2記憶領域に保存する保存手段、または、
    前記第1のデバイス制御プログラム手段内の本体部に対し互換性の有する追加機種情報を前記第1記憶領域記憶するとともに、前記第1のデバイス制御プログラム手段内の本体部に対し互換性の有する追加機種情報とは異なるバージョンの追加機種情報を前記第2記憶領域記憶する書込手段
    をさらに含む、請求項8に記載の情報処理システム。
JP2012179483A 2012-08-13 2012-08-13 デバイス制御プログラム、情報処理装置および情報処理システム Active JP6024279B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012179483A JP6024279B2 (ja) 2012-08-13 2012-08-13 デバイス制御プログラム、情報処理装置および情報処理システム
US13/962,167 US9063690B2 (en) 2012-08-13 2013-08-08 Information processing apparatus, information processing system, and recording medium storing a program includes a device control program that is updated independently from a program executed on an external apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012179483A JP6024279B2 (ja) 2012-08-13 2012-08-13 デバイス制御プログラム、情報処理装置および情報処理システム

Publications (2)

Publication Number Publication Date
JP2014038417A JP2014038417A (ja) 2014-02-27
JP6024279B2 true JP6024279B2 (ja) 2016-11-16

Family

ID=50065985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012179483A Active JP6024279B2 (ja) 2012-08-13 2012-08-13 デバイス制御プログラム、情報処理装置および情報処理システム

Country Status (2)

Country Link
US (1) US9063690B2 (ja)
JP (1) JP6024279B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204560B2 (en) 2019-04-26 2021-12-21 Canon Kabushiki Kaisha Electrophotographic photosensitive member, process cartridge, and electrophotographic apparatus

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6337520B2 (ja) * 2014-03-03 2018-06-06 株式会社リコー 情報処理装置、プログラム、情報処理システム、及び情報処理方法
JP6032567B2 (ja) * 2014-05-08 2016-11-30 コニカミノルタ株式会社 プリンタドライバ及び印刷システム並びにプリンタドライバの画面表示方法
JP6217669B2 (ja) * 2015-02-27 2017-10-25 コニカミノルタ株式会社 プリンタードライバープログラム
JP6975009B2 (ja) 2017-10-10 2021-12-01 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム
JP7017069B2 (ja) 2017-11-22 2022-02-08 株式会社リコー 通信装置及び画像形成装置
JP6810315B2 (ja) * 2018-06-20 2021-01-06 株式会社ユピテル システム及びプログラム
JP7259419B2 (ja) * 2019-03-06 2023-04-18 富士フイルムビジネスイノベーション株式会社 情報処理装置、管理装置、情報処理システム及びプログラム
US20220342655A1 (en) * 2021-04-22 2022-10-27 STMicroelectronics (Grand Ouest) SAS Microcontroller, computer program product, and method for adding an additional function to a computer program

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584115B2 (en) * 2006-10-05 2013-11-12 International Business Machines Corporation Automated operating system device driver updating system
JP5022748B2 (ja) * 2007-03-23 2012-09-12 キヤノン株式会社 クライアント装置及び情報処理方法
JP4961288B2 (ja) * 2007-07-17 2012-06-27 株式会社リコー 情報処理装置、情報処理プログラム、記録媒体、印刷装置及びネットワークシステム
JP4944812B2 (ja) * 2008-02-20 2012-06-06 株式会社リコー 情報処理システムと情報処理方法とプログラム
JP2010009097A (ja) * 2008-06-24 2010-01-14 Seiko Epson Corp ネットワークシステム及びプリンタドライバ
JP2010117975A (ja) * 2008-11-14 2010-05-27 Kyocera Mita Corp 画像形成システム、端末装置、サーバ、画像形成装置、及び画像形成方法
JP5768342B2 (ja) * 2009-08-11 2015-08-26 株式会社リコー 印刷制御システム、及びデータ制御方法
JP5625477B2 (ja) * 2010-05-18 2014-11-19 株式会社リコー ドライバ制御システム、及びドライバ制御方法
JP5531858B2 (ja) * 2010-08-23 2014-06-25 コニカミノルタ株式会社 プリンタドライバ更新プログラム、およびプリンタドライバ更新方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204560B2 (en) 2019-04-26 2021-12-21 Canon Kabushiki Kaisha Electrophotographic photosensitive member, process cartridge, and electrophotographic apparatus

Also Published As

Publication number Publication date
US20140043636A1 (en) 2014-02-13
US9063690B2 (en) 2015-06-23
JP2014038417A (ja) 2014-02-27

Similar Documents

Publication Publication Date Title
JP6024279B2 (ja) デバイス制御プログラム、情報処理装置および情報処理システム
US9854131B2 (en) Image forming apparatus with personal setting synchronization and method for controlling same
TWI475402B (zh) 遠端備份系統及其遠端備份方法
JP5114932B2 (ja) 文書処理装置及び文書処理プログラム
JP4810282B2 (ja) モジュールインストール方法、モジュールインストール装置、及びプログラム
US20150067671A1 (en) Information processing apparatus, control method, and storage medium
JP2010039512A (ja) ソフトウェア更新装置、およびソフトウェア更新プログラム
US10558405B2 (en) Information processing apparatus and driver customizing method
JP4733509B2 (ja) 情報処理装置、情報処理方法およびプログラム
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
JP5605076B2 (ja) プリンタドライバ更新プログラムおよびプリンタドライバ更新方法
JP5975113B2 (ja) 情報処理装置、作業環境連携方法、及び作業環境連携プログラム
JP6570364B2 (ja) 画像形成装置及びその制御方法
JP2016173771A (ja) プログラム、情報処理装置、情報処理方法、記憶媒体
JP5141196B2 (ja) センタ管理装置、センタ管理プログラム、センタ管理方法
JP2013235312A (ja) 情報処理装置、プログラムおよび記録媒体
JP2009223717A (ja) 文書管理装置、文書管理方法、及びプログラム
JP6580920B2 (ja) 情報処理装置、情報処理装置の動作環境設定情報を更新する方法、及び、情報処理装置の動作環境設定情報を更新するプログラム
JP2019036792A (ja) 画像形成装置およびその制御方法とプログラム
JP4507609B2 (ja) ファイル管理プログラム及びファイル管理装置
JP2017162106A (ja) 情報処理装置及びデバイスドライバのインストール方法
JP2005293272A (ja) データ管理システム、データ管理方法、データ管理プログラム、およびファイル管理プログラム
JP2016081164A (ja) 情報処理装置、管理装置、情報処理装置の制御方法、管理装置の制御方法及びプログラム
JP2024087589A (ja) ファイル管理プログラムおよびファイル管理装置
JP2012242872A (ja) ソフトウェアのログ管理システムおよびその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160926

R151 Written notification of patent or utility model registration

Ref document number: 6024279

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151