JP7186815B2 - 情報処理装置及びプログラム及び方法 - Google Patents

情報処理装置及びプログラム及び方法 Download PDF

Info

Publication number
JP7186815B2
JP7186815B2 JP2021039526A JP2021039526A JP7186815B2 JP 7186815 B2 JP7186815 B2 JP 7186815B2 JP 2021039526 A JP2021039526 A JP 2021039526A JP 2021039526 A JP2021039526 A JP 2021039526A JP 7186815 B2 JP7186815 B2 JP 7186815B2
Authority
JP
Japan
Prior art keywords
printer
configuration information
printer driver
installation
application
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
JP2021039526A
Other languages
English (en)
Other versions
JP2021096869A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2021039526A priority Critical patent/JP7186815B2/ja
Publication of JP2021096869A publication Critical patent/JP2021096869A/ja
Application granted granted Critical
Publication of JP7186815B2 publication Critical patent/JP7186815B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1231Device related settings, e.g. IP address, Name, Identification
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • 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/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • 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
    • G06F9/4413Plug-and-play [PnP]
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1248Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)

Description

本発明は周辺装置の構成情報の取得のための技術に関する。
従来、コンピューターにデバイスドライバーをインストールした上で、プリンターやスキャナー、カメラ、3Dプリンターなどの周辺装置が利用されている。例えば、コンピューター上で作成した文書や図といったファイルをアプリケーションから印刷する際には、コンピューターにインストールされたプリンタードライバーを使って描画データをページ記述言語に変換し、周辺装置としてのプリンターに送信するのが一般的である。またそのとき、用紙の種類や両面、カラー、給紙方法といった印刷設定は、アプリケーションが持つ印刷設定用のユーザーインターフェースか、プリンタードライバーが提供する印刷設定用のユーザーインターフェース(以降、UIとも呼ぶ)を使って設定を行う。
また、Windows VISTA(登録商標)から導入された、周辺装置とコンピューターとの接続形態として、Web Services for Devices(WSDと呼ぶ)というものがある。このWSDでは、周辺装置に対応するデバイスドライバーをコンピューターにインストールした際に、その周辺装置と双方向通信を行い、周辺装置の能力情報やオプション構成情報などを含む構成情報を取得してデバイスドライバーに通知する仕組みがある。このオプション構成情報とは、周辺装置に対して、追加で設置できる機器や付加機能などのオプション構成に関する情報を指す。具体的には、プリンターの例では、印刷用紙を増加させるためのオプション給紙カセット装置や、印刷した用紙に対してホチキスやパンチができるようにするフィニッシャーオプション装置などのオプション機器や機能に関する情報である。また、Standard TCP/IPのポートでも、同様のオプション構成情報をSNMP(Simple Network Management Protocol)によって取得し、デバイスドライバーに通知する仕組みがある。この仕組みをAutoConfigという。AutoConfigについては、参考文献1等に記載されている。プリンタードライバーはこのような仕組みで取得したオプション構成情報を保存し、オプション構成に応じたGUIの表示や設定を行うことができる。
特開2005-25755号公報
前述のOSが提供するAutoConfigの仕組みでは、周辺装置のオプション構成情報が正しく取得できない場合がある。特に、コンピューターで所定バージョン以上のOSが実行され、周辺装置とコンピューターとがStandard TCP/IPのポートで接続している場合、ネットワーク環境によっては、オプション構成情報などの構成情報の取りこぼしが発生することがある。これはOSからの各オプション構成情報取得要求が非常に高速なUDP(User Datagram Protocol)によるリクエストであり、さらに周辺装置の応答が遅れても再送のリクエストも無いので、その情報は未取得とみなされるからである。OSの機能を介した構成情報の取りこぼしが発生すると、デバイスドライバーは、そのオプション構成がないものとして動作することが多い。例えば、給紙トレイや給紙カセットのオプション構成が取りこぼし対象になった場合、プリンタードライバーはそれらの給紙方法は使用できないとみなし、印刷設定のUIでもそれらの給紙方法は設定できなくしてしまう。その結果、プリンターにはオプションの給紙カセットが設置されているにも関わらず、印刷時にその給紙カセットからの給紙ができないという問題があった。このように、OSの機能に起因する構成情報の取りこぼしによって、デバイスドライバーで取りこぼした構成情報に係る機能を使用できないという問題が在る。
また、プリンタードライバー及び前記プリンタードライバー向けのグラフィカルユーザーインターフェース(GUI)を提供するアプリケーションのインストーラーであって、コンピューターに、前記プリンタードライバー及び前記アプリケーションをインストールするインストール工程と、インストールされた前記アプリケーションと通信する通信工程とを実行させ、当該通信により、前記アプリケーションは、プリンターから該プリンターの構成情報を取得することを特徴とするインストーラーが知られていなかった。
本発明は以下の構成を有する。すなわち、本願発明の一形態によれば、プリンタードライバーのインストール完了に基づき、インストールされた前記プリンタードライバーに登録されたプリンターから該プリンターの構成情報を取得するオペレーティングシステムがインストールされたコンピューターに、プリンタードライバー及び前記プリンタードライバーに対応するグラフィカルユーザーインターフェース(GUI)を提供するアプリケーションのインストーラーであって、
前記コンピューターに、
前記プリンタードライバー及び前記アプリケーションをインストールするインストール工程と、
前記オペレーティングシステムから、前記プリンタードライバーのインストール完了の通知を受信する受信工程と、
受信した前記プリンタードライバーのインストール完了の通知に基づき、前記アプリケーションに前記プリンターから構成情報を取得させるための通知をする通知工程と、
を実行させることを特徴とするインストーラーが提供される。
本発明の一形態によれば、上述したOSの構成情報の取得機能に起因する構成情報の取りこぼしによる不具合を軽減できる。また、本発明の別の形態によれば、インストーラがインストール後のアプリケーションと通信することにより、プリンターの構成情報を取得できるようになる。また、本発明の別の形態によれば、構成情報の取りこぼしによる不具合を有するOSの構成情報の取得機能とは異なる構成情報の取得が可能となる。
本発明の実施形態に係る印刷処理システムのクライアントコンピューター、サーバーおよび印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図 本発明の実施形態に係る印刷処理システムの一般的なコンピューターを用いたシステムのブロック構成図 本発明の実施形態に係る印刷処理システムの印刷システムのブロック構成図 本発明の実施形態に係る印刷処理システムのインストーラーモジュールのブロック構成図 本発明の実施形態に係る印刷処理システムのプリンタードライバーインストール時のプリンターからオプション構成情報を取得するシーケンス図 本発明の実施形態に係る印刷処理システムのPreConfig処理を説明するフローチャート 本発明の実施形態に係る印刷処理システムのAutoConfigが取得するオプション構成情報の定義の一例を示す図 本発明の実施形態に係る印刷処理システムにおけるインストール時のPreConfigを行うかどうかの判定処理を説明するフローチャート 本発明の実施形態に係る印刷処理システムにおける印刷設定画面起動時のPreConfigを行うかどうかの判定処理を説明するフローチャート 本発明の実施形態に係る印刷処理システムの印刷設定画面起動時に表示するメッセージ画面の一例 本発明の実施形を示す図態に係る印刷処理システムにおける印刷設定画面起動時の設定項目を有効化/無効化を判定する処理を説明するフローチャート 本発明の実施形態に係る印刷処理システムの印刷設定画面の一例その1を示す図 本発明の実施形態に係る印刷処理システムの印刷設定画面の一例その2を示す図
[実施形態1]
<印刷処理システム及びその構成要素の構成>
図1は本発明の実施形態に係る印刷処理システムのクライアントコンピューター、サーバーおよび印刷装置を適用可能なプリントシステムの構成の一例を示すシステム構成図である。本実施形態のプリントシステムは、1又は複数のクライアントコンピューター100(例えば、ユーザー毎)、1又は複数のサーバー2000(例えば、階毎に設置)、1又は複数のプリンター3000(例えば、階毎に設置)で構成される。さらに、上記クライアントコンピューター100、サーバー2000、プリンター3000がローカルエリアネットワーク4000を介して接続される構成となっている。ネットワーク4000にはPAN(Personal Area Network)、LAN(Local Area Network)などの小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお本実施形態では、プリンター或いは印刷装置は、プリンターを含むデバイスを指しており、たとえば多機能複写機(MFP)もプリンター或いは印刷装置に含まれる。
図2は本発明の実施形態に係る印刷処理システムの一般的なコンピューターすなわち情報処理装置を用いたシステムのブロック構成図である。ここでは、クライアントコンピューター100の構成を説明しているが、特に断らない限り、サーバー2000も同様の構成である。CPU101は主記憶装置102のROM1021、RAM1022あるいは補助記憶装置105に格納されたプログラムに従って、PC100全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105には、アプリケーション1051やインストーラー1052、プリンタードライバー1053、オペレーティングシステム1054等の各種プログラムが格納される。なお、これ以降アプリケーション1051をアプリ、プリンタードライバー1053をドライバー、オペレーティングシステム1054をOSと表記することもある。キーボード108やマウスまたはタッチパネルなどに代表されるポインティングデバイス(マウス)109などの入力機器は、入力I/F103を通じてPC100に接続される。出力I/F104にはモニター110などの出力デバイスが接続され、プログラムの指示に従いモニター上にユーザインターフェース(UI)を表示する。これらの入力・出力機器を通してユーザーからのプログラムへの操作を受け付ける。通信I/F106は、ネットワーク4000に接続されており、PC100の外部機器、例えば、図1のサーバー2000やプリンター3000との通信が可能である。上記のモジュールは、共通データシステムバス107で接続され、各モジュール間でデータのやり取りが可能である。プログラム1051~1054は、不図示のCD-ROMやUSBメモリーを介して補助記憶装置105に追加可能である。更にネットワーク4000を経由して補助記憶装置105に追加することも可能である。なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
<印刷システムのソフトウェア構成>
図3は本発明の実施形態に係る印刷処理システムの印刷システムのブロック構成図である。
印刷システムはXPSファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。印刷システムは、オペレーティングシステム1054上で動作している。プリントマネージャ218、GDItoXPS変換モジュール207、フィルタパイプラインマネージャ212、ポートモニター219はオペレーティングシステム1054に含まれるモジュールである。GDIとはプリンターの印刷イメージの生成を行うグラフィックスコンポーネントであり、XPSは、電子文書を記述するためのXMLベースのフォーマットである。XPSは、マイクロソフト社のウインドウズ(登録商標)で、GDIに代えて採用されたものであり、GDIからXPSへのデータの互換性を維持するためにGDItoXPS変換モジュール207が用意されている。本実施形態では、XPSがネイティブの形式であり、GDIデータはXPSデータに変換されてから印刷される。GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する機能を持つ。フィルタパイプラインマネージャ212は、XPS印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。ポートモニター219は、プリンターにアクセスするプリントマネージャ218とプリンタードライバー間で通信を制御することができ、プリンタードライバー1053はポートモニター219を経由して印刷処理を行う。また、プリントマネージャ218はポートモニター219を通して、プリンター3000と通信しAutoConfigを行う。本実施例では、周辺装置に対応するデバイスドライバーのGUI提供などの補助機能をもつ関連アプリケーションが周辺装置から構成情報を取得する取得機能をさらに持つ。具体的には、この関連アプリケーションの1例であるプリンターエクステンション210が、プリントマネージャ218やポートモニター219を経由せずに、プリンター3000と直接通信し、プリンター3000のオプション機器の構成を示すオプション構成情報を取得する経路を持つものとする。図3では、GDItoXPS変換モジュール207、コンフィギュレーションモジュール208、フィルタパイプラインマネージャ212は、プリンタードライバー1053に含まれているが、オペレーティングシステム1054から提供されているプリンタードライバー1053のモジュールという位置づけである。コンフィギュレーションモジュール208は、プリンタードライバー1053が提供する印刷設定編集モジュール2081を使用して印刷設定情報を編集することができる。印刷設定編集モジュール2081は、Constraint Scriptと呼ばれるスクリプト言語で記載され、プリンタードライバーが提供するプロパティバッグ2082、2083を利用して印刷設定情報を編集する。プロパティバッグとは、プリンターの機種依存情報として利用するためのDriverPropertyBag2082と呼ばれるデータ群と、プリントキューに紐づいたQueuePropertyBag2083と呼ばれるデータ群が保持された領域を指す。
DriverPropertyBag2082は、ドライバーパッケージ内に存在するプリンターの機種依存データであり、プリンタードライバーインストール後にOS内の特定の領域に読み取り専用としてデータ群が保持される。
QueuePropertyBag2083は、Key-Valueペアのxml定義ファイルをOSに登録することで利用することが可能であり、Valueに関して一定の権限上で編集が可能である。また、印刷設定定義ファイルであるGPDにもQueuePropertyBag2083の定義を記載することができる。
プリンタードライバー1053とフィルタパイプラインマネージャ212の各フィルタは、図1の補助記憶装置105にプリンタードライバー1053として格納されている。GDI印刷アプリケーション201とXPS印刷アプリケーション202は、図1の補助記憶装置105にアプリケーション1051として格納されている。GDI印刷アプリケーション201およびXPS印刷アプリケーション202はそれぞれ、GDIおよびXPS形式で印刷データを作成するアプリケーションであり、例えば文書処理アプリケーションなどがある。ユーザーはキーボード108やタッチパネル/マウスなどに代表されるポインティングデバイス109などといった入力装置を使用して、出力装置のモニター110に映し出されたGDI印刷アプリケーション201(以下、GDIアプリと略す)、もしくはXPS印刷アプリケーション202(以下、XPSアプリと略す)から印刷処理を実行する。印刷処理は、プリンターの選択、印刷設定の作成、描画データの変換と3つの処理を順番に行うことで実行する。なおXPS印刷アプリケーションおよびGDI印刷アプリケーションをまとめて印刷アプリケーションと呼ぶ。
まずは、印刷アプリケーションの画面から、印刷したいプリンター3000の選択をする。ユーザーから見るとプリンター3000の選択は、印刷を実行するプリンター3000に対応したプリンタードライバー1053を選択することと同義である。プリンタードライバー1053の選択には、不図示のプリントキューを利用する。
次に印刷設定を作成する。印刷設定はまず、アプリケーション1051が印刷設定用のメモリー領域をRAM1022に確保する。そして、アプリケーション1051は、選択されたプリンタードライバー1053のコンフィギュレーションモジュール208を呼び出して、印刷設定データを作成して格納する。GDIアプリ201では印刷設定データとしてバイナリのDEVMODE構造体203を用い、XPSアプリ202ではマークアップ言語のXMLで記載されたPrintTicket204を用いる。DEVMODE構造体203は、オペレーティングシステム1054が定義する標準領域とプリンタードライバー1053が独自で定義する拡張領域を持つ。PrintTicket204は、XML形式で記述された印刷設定情報で、標準領域と拡張領域は名前空間によって記載が分かれている。印刷設定データには機種固有の情報も含まれているので、コンフィギュレーションモジュール208は、機種依存ファイル209を利用して、印刷設定データを作成する。このDEVMODE構造体203もしくはPrintTicket204が印刷設定を保持しており、アプリケーションが直接、値を書き換えることで印刷設定を変更する。機種依存ファイル209は、GPDと呼ばれる印刷設定定義ファイルを指し、テキストベースで記載されている。またこの機種依存ファイル209である印刷設定定義ファイルには、プリンターの能力やプリンターのオプション構成、プリントキューに紐づくQueuePropertyBagの定義を記載することができる。
これら禁則情報も含めたプリンター3000に依存した専用の印刷設定は、プリンターエクステンション210が持つユーザーインターフェースで設定する。プリンタードライバー1053は、ユーザーインターフェースの設定に従い、DEVMODE構造体203もしくはPrintTicket204のプリンター3000に依存した設定を変更する。PrintTicket204は印刷設定がXML形式で記述されているので、XPSアプリ202がすべての設定値を直接変更して書き換えることは容易だが、プリンターエクステンション210のユーザーインターフェースを使って設定変更してもかまわない。このプリンターエクステンション210は、プリンタードライバー1053の一種ではあるが、プリンタードライバー1053とは別のアプリケーションとしてインストールが行われる。
印刷設定は文書等の印刷のたびに作成するが、プリンター3000のオプション機器構成や、ユーザーごとの環境設定など保持しておきたい設定は、プリンターエクステンション210がオペレーティングシステム1054のレジストリデータベース205に保存する。レジストリデータベース205が使用できないときは、プリンターエクステンション210は、アプリケーションデータ220に設定を保存する。印刷設定のデフォルト値はオペレーティングシステムのプリントマネージャ218が、レジストリデータベース205に保存する。レジストリデータベース205や、アプリケーションデータ220は、補助記憶装置105に保存される。
印刷設定が確定したら、ユーザーはアプリケーションから印刷処理を実行する。GDIアプリ201から印刷する場合は、OSのモジュールであるGDItoXPS変換モジュール207に描画データが送られ、XPS形式に変換されてXPSスプールファイル206が作成される。このときGDItoXPS変換モジュール207はコンフィギュレーションモジュール208を呼び出し、印刷設定をDEVMODE構造体203からPrintTicket204に変換する。変換する際には、コンフィギュレーションモジュール208によって、印刷設定編集モジュール2081が使用される。
一方、XPSアプリ202から印刷する場合は、XPSファイルをXPSアプリ自身が生成するのと、オペレーティングシステム1054がXPSアプリからの描画命令に応じてXPSファイルを生成するのと2通りの方法がある。どちらの方法であっても、印刷の途中でXPSスプールファイル206を生成する。
GDIアプリ201又はXPSアプリ202から印刷の指示が行われることでXPSスプールファイル206が生成されたら、プリントフィルタパイプライン211に処理が渡される。プリントフィルタパイプライン211は複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィグレーションファイル216でフィルタの数や順番を制御する。本実施形態ではプリンター3000と通信する機構を持つ通信フィルタ213、製本やスタンプのレイアウト処理を行う機構を持つレイアウトフィルタ214、XPSスプールファイル206をレンダリングしてPDL(PageDescriptionLanguage)に変換する機構を持つレンダラフィルタ215で構成される。PDLデータは印刷処理のスケジュール管理を行うプリントマネージャ218で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンター3000が印刷できる状態になったら、キューに登録した順にポートモニター219を通して送信する。このようにして、アプリケーションからの印刷データをPDLデータに変換することがプリンタードライバーの主な役目であり、印刷処理が行われる。
<インストーラーモジュールの構成>
図4は本発明の実施形態に係る印刷処理システムのインストーラー1052のブロック構成図の一例である。ブロック図の基本構成は、以下の通りである。
・ネットワーク探索モジュール10520
・ドライバーインストールモジュール10521
・ドライバー更新モジュール10522
・プリンターキューインストールモジュール10523
・PreConfigモジュール10524
これらのソフトウェアモジュールは、補助記憶装置105に格納されており、ユーザーの要求や、他のシステムの要求に応じて、補助記憶装置105からRAM1022にロードされ、CPU101で実行される。ネットワーク探索モジュール10520は、IPv4探索部400、IPv6探索部401、WSD探索部402で構成されている。ネットワーク探索モジュール10520とは、ネットワーク4000で繋がっているプリンターを探索する機能を搭載したモジュールである。探索するプロトコルはIPv4、IPv6、WSDがあり、IPv4探索部400、IPv6探索部401、WSD探索部402それぞれが、ユーザーの指示に従い、それぞれのプロトコルでプリンター3000と通信し、通信できたプリンター全てをリストする。探索した結果のリストを、それぞれIPv4探索部400は、IPv4探索結果リスト403に、IPv6探索部401は、IPv6探索結果リスト404に、WSD探索部402は、WSD探索結果リスト405に保存する。探索対象のデバイスは一般的なデバイスであるが、本例では特にプリンターが探索の対象となる。
ドライバーインストールモジュール10521は、デバイスドライバーをインストールするモジュールであり、たとえばインストール指示に応じてデバイスドライバーインストールすることができる。ドライバー更新モジュール10522は、インストール済みのドライバーを、それがリバイスされたことを示す情報などに応じて更新する。本実施形態では、ネットワークから探索したデバイス特にプリンターに対して、対応するドライバーをインストールするが、そのインストール処理はプリンターキューインストールモジュール10523により行われる。
プリンターキューインストールモジュール10523は、USBプリンターインストール部406、ネットワークプリンターインストール部407、WSDプリンターインストール部408で構成されている。USBプリンターインストール部406は、予め対象のプリンタードライバー1054をインストールしておき、その後、USBプラグアンドプレイインストールを行う。プラグアンドプレイインストールとはクライアントコンピューター100にプリンター3000を接続した際にOS1055が、プリンタードライバー1054のインストールと設定とを自動的に行う仕組みのことである。ユーザーは手順に従って、プリンター3000とクライアントコンピューター100とをケーブルで接続するだけでそのプリンターが利用可能となるので、ユーザビリティ(使い勝手)を向上させる技術の1つとなっている。WSDポートの場合もプラグアンドプレイインストールがあり、こちらの場合はケーブルを接続する必要もなく、手順に従って探索されたプリンターの一覧から所望するプリンター3000を選択するだけで利用可能となる。PreConigモジュール10524は、ドライバー呼び出し部410があり、プリンターキューインストールが完了した後に、必要に応じてインストールしたプリンタードライバー1053に対し、オプション構成情報取得を行うように指示を行う。
<オプション構成情報の取得手順>
図5は本発明の実施形態に係る印刷処理システムのプリンタードライバーインストール時において、プリンターからオプション構成情報を取得するシーケンス図である。プリンターがまずインストーラー1052がOS1054に対しインストール指示を行う(S501)。インストール指示は、たとえば、プリンターの探索結果に応じて、USBプリンターインストール部406、ネットワークプリンターインストール部407、WSDプリンターインストール部408により出される。OS1054はインストーラー1052からインストール指示を受け取りプリンタードライバー1053のインストール処理を実施し、その処理が完了すると、インストーラー1052に対しインストール完了通知処理を行う(S502)。プリンタードライバー1053のインストールに際して、対応するプリンターエクステンション210が未インストールの場合には、ドライバーインストールに伴いプリンターエクステンション210もインストールされることになる。それと同じタイミングでプリンター3000に対しオプション構成情報の取得要求を行う(S503)。プリンター3000は、OS1054からオプション構成情報の取得要求を受け取ると、現在のオプション構成情報を調べて、その結果を応答情報としてOS1054に送付する(S504)。OS1054は、プリンター3000からオプション構成情報の取得処理が完了すると、そのオプション構成情報を、インストールしたプリンタードライバー1052のQueuePropertyBag2083に書き込む(S505)。これまでの一連の処理をAutoConfigという。
一方、インストーラー1052はOS1054からインストール完了通知を受け取ると、該当するプリンタードライバー1053に対し、構成情報取得要求(または指示)を行う(S506)。本実施例では、プリンターエクステンション210が構成情報の取得機能を有するため、プリンターエクステンション210に対して、直接、構成情報の取得要求(または指示)を行うことも可能である。プリンタードライバー1053は、インストーラー1052から構成情報取得要求を受け取るとプリンター3000に対し、プリンターエクステンション210と連携して、オプション構成情報の取得要求を行う(S507)。プリンター3000は、プリンタードライバー1053からオプション構成情報の取得要求を受け取ると、現在のオプション構成情報を調べて、その結果を応答情報としてプリンタードライバー1053に送付する(S508)。プリンタードライバー1053は、オプション構成情報の取得処理が完了すると、その情報をQueuePropertyBag2083に登録する(S509)。インストーラー1052がプリンターエクステンション210に構成情報の取得要求を行った場合には、プリンターエクステンション210が、プリンターからの取得情報をQueuePropertyBag2083に登録する。
ステップS506からここまでの一連の処理を、OS1054がS503~S504で行うAutoConfig(オートコンフィグあるいは自動構成とも呼ぶ。)に対し、PreConfig(プレコンフィグ)という。AutoConfigは、OS1054に含まれるプリントマネージャ218が制御するオプション構成情報の取得処理なので、取得するオプション情報はベンダー側で定義しているが、取得方法についてはOS1054に依存する。接続ポートがWSDポートの場合、プリンターとの1回の通信で全てのオプション構成情報を取得できるのに対して、Standard TCP/IPポートだった場合、SNMPで取得するので、オプションの数に応じて、数回から数十回の複数回の通信でプリンターからオプション構成情報を取得できる。その複数回の通信は、環境によっては、OS1054から0.1ミリ程度の間隔(これを第1の時間間隔と呼ぶ)で行われるので、プリンター3000側で処理が追い付かず、応答が間に合わないことがある。しかもSNMPはUDPベースであり応答確認が行われない。その結果オプション構成情報の取りこぼしが発生する。
一方、PreConfigは、プリントマネージャ218を介さず、プリンター3000との通信を全てドライバー1053が制御するので、プリンター3000との通信回数を少なくしたり、通信間隔をたとえば第1の時間間隔よりも長い時間間隔(第2の時間間隔)としたりすることが可能である。さらにアプリケーションのレベルでオプション構成毎に構成情報の取得に成功したかどうかを判定し、失敗している場合は再度同じオプション構成情報取得を試みることも可能である。その結果、AutoConfigに比べてオプション構成情報の取りこぼしが少なくなる。あるいは、通信に物理的な障害等がない限りは取りこぼしをなくすこともできる。
このように図5の手順によって、たとえOSがAutoConfigによってオプション構成情報を取得し損ねることがあっても、PreConfigによってオプション構成情報を取得できる。なお図5のシーケンスでは、プレコンフィグをオートコンフィグの後で行うようにしている。このためには、たとえば、インストーラー1052がインストール完了通知を受信した後、オートコンフィグによる構成情報の書き込みの完了によるオートコンフィグ全体の取得処理の完了を、プリンタードライバー1053あるいはOS1054に対するポーリングにより判定してもよい。あるいは、プリンタードライバー1053が、プレコンフィグ要求を受信した場合に、オートコンフィグによるオプション構成情報の書き込み(S505)の完了までその処理を遅延させ、S505が完了した後、プリンターに対して構成情報の取得要求(S507)を行ってもよい。あるいは、プリンタードライバー1053は、インストール完了通知に応じたプレコンフィグ要求の受信後に受けたオートコンフィグによるオプション構成情報の書き込みを無視するように構成してもよい。
<PreConfig処理>
図6は本発明の実施形態に係る印刷処理システムのPreConfig処理を説明するフローチャートである。特に明記しない場合、フローチャートの各ステップの処理はプリンターエクステンション210が行う。プリンターエクステンション210は、補助記憶装置105に記録されており、RAM1022にロードされ、CPU101によって実行される。
本処理は、図5で説明した通り、インストール処理の完了通知(S502)をOS1054から受け取ったインストーラー1052がプリンタードライバー1053に構成情報取得を要求した際に発生し、プリンタードライバー1053の関連モジュールの1つであるプリンターエクステンション210により実現される。すなわちステップS506による要求に応じて実行される。
まず、プリンター3000と接続している接続ポートの種類を判別する(S601)。接続ポートを判別する理由は、接続ポート毎に、OS1054が行うAutoConfig処理が異なるため、それぞれの処理で取得できる情報に差があるため、PreConfigの処理も切り替えが必要であるためである。接続ポートがWSDポートの場合(S601でWSDポートと判定した場合)、オプション構成情報を含むWSD Schemaの一括取得を行う(S602)。取得したWSD Schemaから、必要なオプション構成情報を抜き出し、QueuePropertyBag2083に登録する(S603)。QueuePropertyBag2083への構成情報の登録による保存処理は、プリンターエクステンション210ではなくその取得結果を受けたプリンタードライバー1053が実行してもよい。
なお、WSDとはWeb Services for Devices(またはWeb Services on Devices)の略称である。接続ポートがWSDポートの場合、WSD Schemaは利用可能であるので、プリンター側の設定が、WSD Schemaが利用できない設定であることを理由としてWSD Schemaの取得に失敗することはない。しかしながら通信環境に起因して失敗することはあり得ることから、PreConfigにおいてオプション構成情報の再取得を試みている。したがって図6では省略しているが、ステップS602の直後に、WSD Schemaの一括取得に成功したか否かを判定し、成功でなければリトライするように構成してもよい。
ポート判別判定(S601)で、Standard TCP/IPポートだった場合(S601でStandard TCP/IPポートと判定した場合)、まずはWSD Schemaの一括取得を行う(S604)。この処理はS602と同じである。WSDポート接続時では、プリンター側の設定が、WSD Schemaが利用できない設定であることを理由としてWSD Schemaの一括取得が失敗することはない。しかし、Standard TCP/IPポート接続時では、プリンター側の設定により、WSD Schemaの取得に失敗することがあるので、オプション構成情報取得が成功したかどうかを判定する(S605)。この判定は、たとえば応答の内容から行うことができる。WSD Schemaの取得に失敗した場合には、ポートモニター219を経由してプリンター300と通信を行い、オプション構成情報を取得する。これはOSによるAutoConfigと同様である。しかし特にオプション構成が多い場合、OS1054からの多くの問い合わせが繰り返し行われて、それぞれの問い合わせに対して、プリンターが正しくの応答できず、そのためにAutoConfigは失敗している可能性がある。その場合に、オプション構成情報の取得に失敗したこととなる。一方、プリンターが、WSD Schemaが利用できるよう設定されていれば、WSD Schemaの一括取得は成功する。
そこでWSD Schemaの一括取得が成功している場合(S605のYes)は、WSDポート接続時同様、取得したWSD Schemaから、必要なオプション構成情報を抜き出し、QueuePropertyBag2083に登録する(S606)。
一方、プリンターの設定に起因してWSD Schemaの一括取得が失敗した場合(S605のNo)、ステップS607に分岐する。この場合には、上述したようにAutoConfigにおいてもオプション構成情報の取得に失敗している可能性がある。そこでその場合には、ポートモニター219を経由してプリンター3000と通信を行い、一定の時間間隔をおいたのち(S607)、必要な情報すなわちオプション構成情報の問い合わせを行う(S608)。必要な情報については、予め用意されており、それに従って問い合わせを行う。この通信経路は、OS1054によるAutoConfigと同じだが取得する方法が異なる。OS1054によるAutoConfigでは、全てのオプション情報を一気に取得しようとするが、プリンターエクステンション210によるPreConfigでの問い合わせは、一つ一つの項目についての情報を一定時間の間隔をあけてプリンターに問い合わせする。この一定間隔とは、プリンター3000がオプション構成情報の要求に対して確実に応答できる間隔(たとえば10ms~100ms程度)のことを指し、こうすることで情報の取りこぼしを軽減させることができる。また、プリンターエクステンション210は、1項目ずつでなくても、プリンター3000が処理可能な項目数分を、1度の問い合わせで要求することも可能である。全ての情報を取得できたら(S609のYes)、取得した構成情報をQueuePropertyBag2083に登録する(S610)。ステップS609において、リクエストしたオプション設定情報の項目が応答されなければ、そのリクエストを再送するようにしてもよい。また全項目についてリクエストした後、取得漏れがあれば、漏れた項目についてリクエストを再送しても良い。
なおポート判別判定(S601)で、USBポートだった場合(S601でUSBポートと判定した場合)、AutoConfigによりオプション構成情報の取得に成功していると考えられるので、PreConfigにおいては特に何もしていない。
このように、リクエストの時間間隔を、応答が期待できる適切な値にすることで、1回のリクエストにより対応する構成情報の取得がしやすくなる。さらに、必要な構成情報がすべて取得できたか確認することで、構成情報を確実に取得できる。以上の手順を用いることにより、Standard TCP/IPポート接続時にAutoConfigでオプション構成情報の取りこぼしが発生しても、再度PreConfigを行うことにより、オプション構成情報の取りこぼしが発生しにくくなる。
[実施形態2]
実施形態1の方法では、AutoConfigの後に、PreConfigを行うことによってオプション構成情報取得の取りこぼしを抑止していた。ただし、実施形態1では、全てのプリンターに対し、必ずPreConfigを行うようになっているので、AutoConfigで全てのオプション構成情報の取得が成功していてもPreConfigを実施してしまう。これは単に同じことをしているだけなので、インストール時のパフォーマンスに影響する。インストール対象が複数であれば、その台数分パフォーマンスが劣化する。
上記問題を解決する方法として、本実施例では、AutoConfigの後に、取得対象のオプション構成情報が全て取得できているかどうかを判断して、一つでも取得に失敗している場合のみ、PreConfigを実施する。実施形態1で説明した通りAutoConfigは、OS1054で制御されているので、取得処理時に取得に成功したかどうかを判断するのは難しい。そこで、AutoConfigで取得するオプション構成情報の結果の値に「未取得」の値を追加する。通常、オプション構成情報は、「なし」か「あり」かの値を定義する。AutoConfigでは、プリンター3000から取得した情報を元に、上記「なし」か「あり」かの値を設定する。この際、AutoConfigで取得できなかったオプション構成情報は、デフォルトの値に変換して設定する。つまり、大抵は「なし」の値に変換される。そこで、オプション構成情報の定義に「なし」、「あり」の他に「未取得」に相当する値を定義し、かつデフォルトの値をこの「未取得」にしておく。図7は、本実施形態に係る印刷処理システムのAutoConfigが取得するオプション構成情報の定義の一例である。本例では、カセット3の構成情報の定義に、「なし」を意味する「NotInstalled」と「あり」を意味する「Installed」の他に「未取得」を意味する「Unacquired」を追加定義する(710)。かつ、デフォルト値(*DefaultOptionに定義する値)をUnacquiredに設定する。こうすることで、AutoConfigがオプション構成情報時に取得できなかったオプション構成情報取得は「Unacquired」が設定されることになる。
図8は本発明の実施形態に係る印刷処理システムにおけるインストール時のPreConfigを行うかどうかの判定処理を説明するフローチャートである。特に明記しない場合、フローチャートの各ステップの処理はプリンタードライバー1053内に構成されているプリンターエクステンション210が行う。プリンターエクステンション210は、補助記憶装置105に記録されており、RAM1022にロードされ、CPU101によって実行される。
本処理は、図5で説明した通り、インストール処理の完了通知(S502)をOS1054から受け取ったインストーラー1052がプリンターエクステンション210に構成情報取得を要求した際に発生する。まず、AutoConfigの取得結果を調べる(S801)。オプション構成情報取得結果が「未取得」の場合(S802のYes)、PreConfigを実施する(S804)。PreConfigに関しては実施例1の図6と同等の処理なので説明は省略する。オプション構成情報が取得済みであることを全てのオプション構成情報について調べて(S802、S803)、全てのオプション構成情報が取得済だった場合(S803のYes)、PreConfigは行なわない。一方、ひとつでも未取得のオプション構成情報があればPreConfigを実施する。
以上の手順を用いることにより、AutoConfigのオプション構成情報取得状況により、PreConfigを行うかどうかを判断するので、AutoConfigで全てのオプション構成情報が正しく取得できている場合は、パフォーマンスの向上につながる。
[実施形態3]
実施形態2では、インストーラー1052がプリンタードライバー1053のインストール時に、AutoConfigの取得結果をもとにPreConfigを行うかどうかを自動で判断していた。ただしオフィス環境によっては、クライアントコンピューター100にプリンタードライバー1053を事前にインストールしておいて、設置後にプリンター3000と繋げて運用することもある。その場合、インストーラー1052ではオプション構成情報は取得できないまま、インストールが完了してしまう。上記問題を解決する方法として、本実施形態では、印刷設定画面起動時に取得対象のオプション構成情報が全て取得できているかどうかを判断して、一つでも取得に失敗している場合のみ、PreConfigを実施する。
図9は本発明の実施形態に係る印刷処理システムにおける印刷設定画面起動時のPreConfigを行うかどうかの判定処理を説明するフローチャートである。特に明記しない場合、フローチャートの各ステップの処理はプリンタードライバー1053内に構成されているプリンターエクステンション210が行う。プリンターエクステンション210は、補助記憶装置105に記録されており、RAM1022にロードされ、CPU101によって実行される。
本処理は、印刷アプリケーション1051から印刷を行う際に印刷設定画面を起動した際に発生する。ステップS901~ステップS903は、実施例2で説明したステップS801~S803と同等なので説明は省略する。オプション構成情報取得結果が「未取得」の場合(S902のYes)、オプション構成情報取得結果に「未取得」があったことを示すメッセージを表示する(S904)。表示するメッセージの具体的な例を図10に示す。ただし、これに限定されるものではない。ユーザーによって本メッセージ画面1000の[はい]ボタンが押下された場合(S905のYes)、PreConfigを実施する(S906)。PreConfigに関しては実施形態1の図6と同等の処理なので説明は省略する。本メッセージ画面1000の[いいえ]ボタンが押下された場合(S905のNo)、PreConfigは行なわない。
以上の手順を用いることにより、プリンタードライバーのインストール時にオプション構成情報取得が失敗した場合でも、印刷画面起動時に自動的に判断して、ユーザーの判断のもと、オプション構成情報取得ができるようになる。
[実施形態4]
実施形態3では、印刷設定画面起動時にAutoConfigの取得結果をもとにPreConfigを行うかどうかを判断し、必要な場合、その旨をユーザーに通知し、ユーザーの判断のもとでオプション構成情報取得が行えるようにした。ただし、該当するオプション構成情報がプリンター3000に定義されていない場合、プリンタードライバー1053で構成情報取得を行っても取得に失敗する。従来情報取得に失敗したオプション構成は、「なし」と判断して動作しているが、そうなった場合その機能がプリンターに設置されているにも関わらず使用できないという問題があった。
上記問題を解決する方法として、本実施例では、オプション構成情報が「未取得」に該当する結果であった場合、「あり」に相当する動作をする。
図11は本発明の実施形態に係る印刷処理システムにおける印刷設定画面起動時の設定項目を有効化/無効化を判定する処理を説明するフローチャートである。特に明記しない場合、フローチャートの各ステップの処理はプリンタードライバー1053内に構成されているプリンターエクステンション210が行う。プリンターエクステンション210は、補助記憶装置105に記録されており、RAM1022にロードされ、CPU101によって実行される。
本処理は、印刷アプリケーション1051から印刷を行う際に印刷設定画面を起動した際に発生する。まず、該当する印刷設定項目に関連するオプション構成情報の結果を調べる(S1101)。オプション構成情報の結果が「なし」に相当する値だった場合(S1102のなし)、使用できる機能を無効化する(S1103)。オプション構成情報の結果が「あり」に相当する値だった場合(S1102のあり)、使用できる機能を有効化する(S1104)。オプション構成情報の結果が「未取得」に相当する値だった場合(S1102の未取得)、使用できる機能を有効化する(S1105)。
例えば、図12のようにオプション構成情報取得をした結果、「排紙オプション」12001のオプション構成情報が失敗し「未取得」になった場合、図13の印刷設定画面における「ステイプル」13001の選択項目は、従来であれば「しない」のみの選択肢になっている。しかし、本実施形態では、「排紙オプション」12001は、未取得の場合には「あり」に相当して動作するので、ステイプル13001は「しない」の他に「する」、「する(針なしとじ)」の選択肢もあり、それらも選択可能の状態にする。
以上の手順を用いることにより、オプション構成情報に失敗した場合でも、情報が取得できていない状態と判断した場合、該当するオプション構成を「あり」として動作することにより、従来その機能を使用できるようになる。
[その他の実施例]
以上、デバイスドライバーの一例であるプリンタードライバーのインストール時などにおけるプリンターからの構成情報の取得に関する例を説明した。しかし、プリンター以外の周辺装置であっても、オプション構成を有しているデバイス(スキャナーやカメラ、3Dプリンターなど)であれば、本発明は適用可能である。つまり、上記実施形態と同様にして、構成情報をデバイスから取得し、その構成情報に基づいて、デバイスドライバーを用いてオプション構成を利用し、また、ユーザーに設定を行わせることができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 クライアントコンピューター、3000 プリンター、1051 アプリ、1052 インストーラー、1053 プリンタードライバー、1054 オペレーティングシステム、210 プリンターエクステンション、2101 双方向通信モジュール、218 プリントマネージャ、219 ポートモニター
2083 QueuePropertyBag、10524 PreConfigモジュール、410 ドライバー呼び出し部

Claims (13)

  1. プリンタードライバーのインストール完了に基づき、インストールされた前記プリンタードライバーに登録されたプリンターから該プリンターの構成情報を取得するオペレーティングシステムがインストールされたコンピューターに、プリンタードライバー及び前記プリンタードライバーに対応するグラフィカルユーザーインターフェース(GUI)を提供するアプリケーションのインストーラーであって、
    前記コンピューターに、
    前記プリンタードライバー及び前記アプリケーションをインストールするインストール工程と、
    前記オペレーティングシステムから、前記プリンタードライバーのインストール完了の通知を受信する受信工程と、
    受信した前記プリンタードライバーのインストール完了の通知に基づき、前記アプリケーションに前記プリンターから構成情報を取得させるための通知をする通知工程と、
    を実行させることを特徴とするインストーラー。
  2. 前記アプリケーションは、前記プリンタードライバーに登録された前記プリンターから前記プリンターの構成情報を取得する機能を有することを特徴とする請求項1に記載のインストーラー。
  3. 前記アプリケーションは、前記通知工程における制御に基づき、追加のユーザー操作なしに前記プリンターの構成情報を取得することを特徴とする請求項1または2に記載のインストーラー。
  4. 前記アプリケーションは、前記オペレーティングシステムにより取得された前記プリンターの構成情報が記憶されているファイルに、前記通知工程の通知に基づき取得した前記プリンターの構成情報を記憶することを特徴とする請求項1乃至3のいずれか一項に記載のインストーラー。
  5. プリンタードライバーのインストール完了に基づき、インストールされた前記プリンタードライバーに登録されたプリンターから該プリンターの構成情報を取得するオペレーティングシステムがインストールされたコンピューターの制御方法であって、
    前記プリンタードライバー及び前記プリンタードライバーに対応するグラフィカルユーザーインターフェース(GUI)を提供するアプリケーションをインストールするインストール工程と、
    前記オペレーティングシステムから、前記プリンタードライバーのインストール完了の通知を受信する受信工程と、
    受信した前記プリンタードライバーのインストール完了の通知に基づき、前記アプリケーションに前記プリンターから構成情報を取得させるための通知をする通知工程と、
    を有することを特徴とする制御方法。
  6. 前記アプリケーションは、前記プリンタードライバーに登録された前記プリンターから前記プリンターの構成情報を取得する機能を有することを特徴とする請求項5に記載の制御方法。
  7. 前記アプリケーションは、前記通知工程における制御に基づき、追加のユーザー操作なしに前記プリンターの構成情報を取得することを特徴とする請求項5または6に記載の制御方法。
  8. 前記アプリケーションは、前記オペレーティングシステムにより取得された構成情報が記憶されるファイルに前記アプリケーションにより取得された構成情報を記憶することを特徴とする請求項5乃至7のいずれか一項に記載の制御方法。
  9. オペレーティングシステムがインストールされている情報処理装置であって、
    プリンタードライバーと前記プリンタードライバーに対応するグラフィカルユーザインタフェース(GUI)を提供するアプリケーションをインストールするインストール手段と、
    前記プリンタードライバーのインストールに基づき、前記オペレーティングシステムを用いて、前記プリンタードライバーに登録されたプリンターから構成情報を取得する第1の取得手段と、
    前記プリンタードライバーのインストールに基づき、前記アプリケーションを用いて、前記プリンタードライバーに登録されたプリンターから構成情報を取得する第2の取得手段と、
    を有し、
    前記オペレーティングシステムは、前記プリンタードライバーのインストール完了を通知し、
    前記第2の取得手段は、前記オペレーティングシステムからのインストール完了の通知に基づいて実行される
    ことを特徴とする情報処理装置。
  10. 前記インストール手段は、前記プリンタードライバーと前記アプリケーションをインストールするためのインストーラーを実行することで、前記プリンタードライバーと前記アプリケーションをインストールすることを特徴とする請求項9に記載の情報処理装置。
  11. 前記オペレーティングシステムは、前記プリンタードライバーのインストール完了を前記インストーラーに通知し、
    前記第2の取得手段は、前記オペレーティングシステムから通知を受け付けた前記インストーラーにより実行されることを特徴とする請求項10に記載の情報処理装置。
  12. 前記第2の取得手段は、前記プリンタードライバーのインストールに基づき、ユーザーによる追加指示なしに前記プリンターから前記プリンターの構成情報を取得することを特徴とする請求項9乃至11のいずれか一項に記載の情報処理装置。
  13. 前記第1の取得手段により取得された構成情報をファイルに記憶する第1の記憶手段と、
    前記第2の取得手段により取得された構成情報を前記ファイルに記憶する第2の記憶手段と、を有することを特徴とする請求項9乃至12のいずれか一項に記載の情報処理装置。
JP2021039526A 2017-01-31 2021-03-11 情報処理装置及びプログラム及び方法 Active JP7186815B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021039526A JP7186815B2 (ja) 2017-01-31 2021-03-11 情報処理装置及びプログラム及び方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017016118A JP6857040B2 (ja) 2017-01-31 2017-01-31 情報処理装置及びプログラム
JP2021039526A JP7186815B2 (ja) 2017-01-31 2021-03-11 情報処理装置及びプログラム及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017016118A Division JP6857040B2 (ja) 2017-01-31 2017-01-31 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2021096869A JP2021096869A (ja) 2021-06-24
JP7186815B2 true JP7186815B2 (ja) 2022-12-09

Family

ID=62979861

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017016118A Active JP6857040B2 (ja) 2017-01-31 2017-01-31 情報処理装置及びプログラム
JP2021039526A Active JP7186815B2 (ja) 2017-01-31 2021-03-11 情報処理装置及びプログラム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017016118A Active JP6857040B2 (ja) 2017-01-31 2017-01-31 情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US20180217788A1 (ja)
JP (2) JP6857040B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6874626B2 (ja) * 2017-09-29 2021-05-19 ブラザー工業株式会社 プリンタドライバ
US10547495B2 (en) * 2017-12-22 2020-01-28 Kyocera Document Solutions Inc. Information processing apparatus, recording medium, and information processing method
JP6973056B2 (ja) * 2017-12-27 2021-11-24 ブラザー工業株式会社 通信装置のためのコンピュータプログラムと通信装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226582A (ja) 2011-04-20 2012-11-15 Ricoh Co Ltd プリンタドライバ、プログラムおよび記録媒体
JP2016058041A (ja) 2014-09-12 2016-04-21 キヤノン株式会社 情報処理装置、プログラム及び制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005338940A (ja) * 2004-05-24 2005-12-08 Canon Inc インストール方法、情報処理装置、及びデバイスドライバ
JP4984612B2 (ja) * 2006-04-10 2012-07-25 ブラザー工業株式会社 インストーラパッケージ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226582A (ja) 2011-04-20 2012-11-15 Ricoh Co Ltd プリンタドライバ、プログラムおよび記録媒体
JP2016058041A (ja) 2014-09-12 2016-04-21 キヤノン株式会社 情報処理装置、プログラム及び制御方法

Also Published As

Publication number Publication date
JP2021096869A (ja) 2021-06-24
US20180217788A1 (en) 2018-08-02
JP2018124770A (ja) 2018-08-09
JP6857040B2 (ja) 2021-04-14

Similar Documents

Publication Publication Date Title
JP7186815B2 (ja) 情報処理装置及びプログラム及び方法
JP4240690B2 (ja) 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体
KR102549370B1 (ko) 정보 처리 장치, 제어 방법 및 프로그램
US9442678B2 (en) Information processing apparatus, information processing system and non-transitory computer-readable information recording medium
US8659776B2 (en) Print job management server which manages print jobs to be processed by an image forming apparatus
JP5857611B2 (ja) 情報処理装置、システム、プログラム
US8456665B2 (en) Methods and systems for printing error recovery
US8780388B2 (en) Printing apparatus, server, printing system, control method for printing apparatus, and storage medium storing control program therefor
EP3471389A2 (en) Program
EP2031496A1 (en) Automatic installation of drivers for network printers
US8605316B2 (en) Information processing apparatus and control method thereof, and storage medium
EP2423812A1 (en) Device and help server
US9122428B2 (en) Information processing apparatus allowing a user certain print setting operations in an environment where an image processing apparatus is undetermined
US20200089440A1 (en) Server system that improves availability of a plurality of printers, print controller, information processing apparatus, and print service system
US8605305B2 (en) Information processing apparatus, image forming apparatus and user interface generating method
JP6737170B2 (ja) サーバー装置、画像処理ユニット及びプログラム
US11093185B2 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium for acquiring configuration information
US11520536B2 (en) Information processing apparatus, control method and program therefor, and server system capable of communicating with the information processing apparatus
JP5533790B2 (ja) ウェブアプリケーションを備えたクライアントサーバーシステム、及び当該クライアントサーバーシステムにおけるクライアント装置
JP6827738B2 (ja) 制御方法、プログラム及び情報処理装置
JP2006171991A (ja) 代行及び分散印刷システム
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
US20230333786A1 (en) Information processing apparatus, control method therefor, and non-transitory computer-readable storage medium
US20230333794A1 (en) Information processing apparatus, control method of information processing apparatus, and non-transitory computer-readable storage medium
JP2020071693A (ja) 情報処理装置、及びその制御方法並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220726

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: 20221031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221129

R151 Written notification of patent or utility model registration

Ref document number: 7186815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151