JP2012164099A - 情報処理装置、制御方法、及び、プログラム - Google Patents

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

Info

Publication number
JP2012164099A
JP2012164099A JP2011023490A JP2011023490A JP2012164099A JP 2012164099 A JP2012164099 A JP 2012164099A JP 2011023490 A JP2011023490 A JP 2011023490A JP 2011023490 A JP2011023490 A JP 2011023490A JP 2012164099 A JP2012164099 A JP 2012164099A
Authority
JP
Japan
Prior art keywords
print queue
printer
driver
print
printer driver
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.)
Granted
Application number
JP2011023490A
Other languages
English (en)
Other versions
JP5704947B2 (ja
JP2012164099A5 (ja
Inventor
Hideyuki Kanamori
秀幸 金森
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 JP2011023490A priority Critical patent/JP5704947B2/ja
Priority to US13/364,136 priority patent/US8670135B2/en
Publication of JP2012164099A publication Critical patent/JP2012164099A/ja
Publication of JP2012164099A5 publication Critical patent/JP2012164099A5/ja
Application granted granted Critical
Publication of JP5704947B2 publication Critical patent/JP5704947B2/ja
Expired - Fee Related 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/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • 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/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
    • 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/126Job scheduling, e.g. queuing, determine appropriate device
    • 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/1267Job repository, e.g. non-scheduled jobs, delay printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置にプリンタドライバを適切にインストールして適切に動作させること。
【解決手段】ドライバBのインストーラは、インストールするドライバBが制御するプリンタ20に対応するドライバAのプリントキューを検索し(S101、S102)、該検索した前記プリントキューの出力先がリモートプリンタであるか否かを判定し(S105(図7のS302))、前記プリントキューの出力先がリモートプリンタであると判定した場合、OSへの前記プリントキューの更新要求を行うことなくインストール処理を終了する。
【選択図】図4

Description

本発明は、コンピュータにプリンタドライバをインストールする際の制御に関する。
従来、ホストコンピュータとプリンタから成る印刷システムにおいて、同一のプリンタに対して複数種類のプリンタドライバが動作可能なコンピュータがある。
特許文献1には、同一のプリンタに対して複数種類のプリンタドライバをインストールする技術が示されている。
通常、ホストコンピュータには、複数種類のプリンタドライバをインストールできるが、同一のプリンタに対して何れか1つのプリンタドライバを使用することが一般的である。
ホストコンピュータにプリンタドライバをインストールすると、プリンタドライバを使用して順次印刷ジョブを処理するプリントキューがOSにより生成される。1つのプリンタに異なる種類のプリンタドライバを使用するプリントキューが既にあれば、OSにより予め決められた優先度に従ってどちらかのプリンタドライバを使用するプリントキューに更新される。
特開2009−099027号公報
しかしながら、ホストコンピュータに接続されたプリンタを共有プリンタとして他のコンピュータから使用可能にしたサーバ・クライアント型の印刷システムでは、サーバとクライアントの双方で互換性のあるプリンタドライバが稼働している必要がある。
サーバ側のプリンタドライバは、クライアントから送られてくる印刷データとクライアント側のプリンタドライバで設定された各種印刷設定値に基づき出力データを生成し、プリンタに送信する。
よって、サーバ又はクライアントの何れかに既存のプリンタドライバと互換性のない異なる種類のプリンタドライバをインストールして稼働するプリンタドライバを変更すると、サーバのプリンタドライバはクライアントから送られてくる各種印刷設定値を解釈できなくなり、クライアントからの印刷ができなくなるという問題があった。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置にプリンタドライバを適切にインストールして適切に動作させるための仕組みを提供することである。
本発明は、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置であって、プリンタドライバのインストール処理において、インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索手段と、前記検索手段により検索された前記プリントキューの出力先が他装置を介して接続された印刷装置であるか否かを判定する判定手段と、前記判定手段により前記プリントキューの出力先が他装置を介して接続された印刷装置であると判定された場合、前記オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御手段と、を有することを特徴とする。
本発明によれば、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置にプリンタドライバを適切にインストールして適切に動作させることができる。
本実施例の印刷システムの構成の一例を示すブロック図である。 PC1及びPC10のハードウェア構成の一例を示すブロック図である。 ドライバBのインストーラの操作画面の一例を示す図である。 実施例1におけるドライバBのインストーラのインストール処理の一例を示すフローチャートである。 プリントキュー一覧画面を示す図である。 図4のS103にてプリントキューの共有状態を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。 図4のS105にてプリントキューの印刷先を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。 インストール続行確認画面の一例を示す図である。 実施例2におけるドライバBのインストーラのインストール処理を示すフローチャートである。 サーバPCで動作するドライバBの印刷処理を示すフローチャートである。 クライアントPCで動作するドライバAの印刷設定時のプリントキューの更新処理を示すフローチャートである。 印刷再設定指示画面、ドライバ不一致エラー画面の一例を示す図である。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、本実施例の印刷システムの構成の一例を示すブロック図である。
図1において、データ処理装置1及び10は、プリンタの制御を行う。ここでは、データ処理装置1及び10は、パーソナルコンピュータ(以下、PCと称す)である。なお、本実施例では、PC1及びPC10は、オペレーティングシステム(以下、OSと称す)としてMacOS(登録商標)X10.5を想定して説明するが、これらのOSに限定されるものではない。OSは、図1には示していないが、PCの資源、たとえばPC内の各ブロックを管理する。PC1及びPC10は、一般的な情報処理装置が備えるハードウェア構成を有している。ここで、図2を用いて、PC1及び10のハードウェア構成について説明する。
図2は、PC1及びPC10のハードウェア構成の一例を示すブロック図である。なお、図2の説明においては、PC1及びPC10を情報処理装置1000と記すこととする。
図2に示す情報処理装置1000において、CPU1001は、ROM1003のプログラム用ROMに記憶された、或いは外部メモリ1011からRAM1002にロードされたOSやアプリケーション等のプログラムを実行する。また、RAM1002は、CPU1001の主メモリ、ワークエリア等としても機能する。
キーボードコントローラ(KBC)1005は、キーボード(KB)1009や図示しないポインティングデバイス(例えばマウスやタッチパッド)からの入力を制御する。ディスプレイコントローラ(ディスプレイC)1006は、ディスプレイ1010の表示を制御する。なお、ディスプレイ1010は、CRTであってもLCD等のその他の形式の表示装置であってもよい。また、ディスプレイ1010は、タッチパネル式のディスプレイであってもよい。
メモリコントローラ(MC)1007は、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)等の外部メモリ1011とのアクセスを制御する。ネットワークインタフェースカード(NIC)1008は、ネットワーク(通信インタフェース30)を介して他の装置との通信を制御する。
外部インタフェース(外部I/F)1012は、有線又は無線により他の装置との通信を制御する。外部I/F1012は、例えばUSBインタフェース等である。
以下、図1の説明に戻る。以下、PC1について説明するが、PC10の構成も同様である。
PC1は、ステータス格納部3、アプリケーション4、ジョブ制御部5、プリントキュー6を備える。プリンタドライバ印刷設定部2(以下、印刷設定部と称す)、プリンタドライバ印刷処理部7(以下、印刷処理部7と称す)は、PC1にプリンタドライバをインストールするとPC1上に保存(生成)される。印刷設定部2及び印刷処理部7は、OSの制御に従ってアプリケーションやプリントキューと連動して印刷を制御する。なお、プリンタドライバは、印刷設定部2と印刷処理部7で構成される。
通信インタフェース30は、イーサネット(登録商標)等のLAN(Local Area Network)を想定している。PC1は、通信インタフェース30を介して同様の構成をもつPC10とデータのやり取りが可能である。なお、通信インタフェース40は、USB(Universal Serial Bus)を想定しているが、USBに限られるものではなく、他の通信インタフェース(例えば、SCCI、LAN等)でもよい。PC1は通信インタフェース40を介してプリンタ20に接続される。
プリンタ20は、印刷制御部21、印刷部22を備える。本実施例では、プリンタ20としてインクジェットプリンタを想定しているが、これに限らない。レーザプリンタ、ファクシミリ、複写機、及びこれらの複合機であってもよい。
ユーザは、アプリケーション4で印刷すべきデータ(文書等)を作成する。そして、ユーザが印刷設定部2を使ってプリントダイアログ(不図示)上で各種印刷設定を行うと、印刷設定部2は前記各種印刷設定をアプリケーション4が作成したジョブチケットに格納する。さらに、ユーザが印刷を要求する操作を行うと(プリントダイアログ上の「プリント」ボタンをクリックすると)、印刷設定部2はOSに制御を戻し、OSはアプリケーション4に制御を渡す。アプリケーション4は、上記各種印刷設定情報が格納されたジョブチケットと印刷データを含む印刷ジョブを作成し、ジョブ制御部5に送る。
ジョブ制御部5は、印刷ジョブを受け取ると、該印刷ジョブをプリントキューを通して印刷処理部7に送る。印刷処理部7は、受け取ったジョブチケットに保持される各種印刷設定情報に基づき印刷データを出力データに変換し、プリンタ20に送信する。
MacOS X10.5では、上記のようなローカル印刷だけでなく、PC1のプリントキュー6をPC10と共有し、PC10で作成した印刷ジョブをPC1で処理するリモート印刷も可能である。
PC10のアプリケーション4と印刷設定部2で印刷ジョブを作成すると、PC10のジョブ制御部5は、受け取った印刷ジョブをPC1のジョブ制御部5に送る。
PC1のジョブ制御部5は、PC10からの印刷ジョブを受け取ると、該印刷ジョブをPC1のプリントキュー6を通してPC1の印刷処理部7に送る。PC1の印刷処理部7は、受け取った印刷ジョブのジョブチケットに保持される各種印刷設定情報に基づき印刷データを出力データに変換し、プリンタ20に送信する。
このようなリモート印刷では、PC10上で稼働する印刷設定部2とPC1上で稼働する印刷処理部7が連動して印刷処理を行う。
なお、本実施例で想定しているMacOS X10.5では、MacOS X10.4以前のOSで動作可能なプリンタドライバ(以下、ドライバAと称す)と、MacOS X10.6以降のOSで動作可能なプリンタドライバ(以下、ドライバBと称す)が使用可能である。本実施例においては、ドライバAはTioga用のプリンタドライバ、ドライバBはCUPS(Common Unix(登録商標) Printing System)用のプリンタドライバをそれぞれ想定している。ドライバAとドライバBはそれぞれ互換性のない種類のプリンタドライバである。また、ドライバBは、MacOS X10.5において優先される種類のプリンタドライバである。
プリンタ20のプリンタドライバとしてドライバAとドライバBの両方のプリンタドライバがMacOS X10.5で動作するPCにインストールされている場合、該PCでは、MacOS X10.6以降で動作可能なドライバBが優先して使用される。ここでは、ドライバAがインストールされてドライバAを使用するプリントキューが生成されている状態のPCに、ドライバBをインストールする場合を例に説明する。ドライバBのインストーラにより、プリンタ20用のプリントキューの更新が要求されると、OSは、ドライバAよりドライバBを優先してプリンタ20用のプリントキューを更新する。即ち、OSは、ドライバAを使用するプリンタ20のプリントキューを、ドライバBを使用するプリンタ20のプリントキューに更新する。しかし、ドライバAとドライバBとは互換性がない。そのため、ドライバAを用いて動作するサーバ又はクライアントの何れかにドライバBをインストールして、上述のように、ドライバAを使用するプリンタ20のプリントキューが、ドライバBを使用するプリンタ20のプリントキューに更新されてしまうと、サーバのプリンタドライバはクライアントから送られてくる各種印刷設定値を解釈できなくなり、クライアントからの印刷ができなくなってしまう。
以下、PC1とPC10の双方にドライバAがインストールされ、ドライバAを使用するプリントキューが生成されているサーバ・クライアント型の印刷システムにおいて、サーバPC1又はクライアントPC10にドライバBをインストールする本実施例の処理について詳しく説明する。
以下PC1、PC10に共通の構成を示す場合には、単にPCと記す。
図3は、ドライバBのインストーラの操作画面の一例を示す図である。
インストール処理は、ドライバBとそのインストールプログラムから成るインストーラを使って行われ、PC上でインストーラを起動するとインストール操作画面50が、PCのディスプレイ1010上に表示される。
クローズボタン51を押下すると、PCのCPU1001は、画面50を閉じた後にインストーラを終了する。インストールボタン52を押下すると、PCのCPU1001は、ドライバBのインストール処理(図4)を開始する。
図4は、実施例1におけるドライバBのインストーラのインストール処理の一例を示すフローチャートである。このインストール処理は、PCのCPU1001が外部メモリ1011等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
図3のインストールボタンを押下すると、ドライバBのインストーラを実行するPCのCPU1001(以下、単にCPU1001)は、ドライバAを使用するプリンタ20のプリントキューが既にPC上に存在するか否かを検索する(S101)。即ち、CPU1001は、インストールするドライバBが制御するプリンタと同一のプリンタを制御するインストール済でドライバBと互換性のない種類のプリンタドライバ(ドライバA)を用いる既存のプリントキューを検索する。ここでは、CPU1001は、PPD(PostScript Printer Description)ファイルを参照して検索する。PPDファイルには、プリンタ及びプリンタドライバの各種情報が格納されており、OSによってプリントキューと対応付けて管理されている。CPU1001は、このPPDファイルを参照することにより、各プリントキューで使用するプリンタドライバの種類を判別できる。なお、PPDファイルは、PCの外部メモリ1011に格納されている。
次に、S102にて、CPU1001は、ドライバAを使用するプリンタ20の既存のプリントキューがあるか否かを判定する。そして、ドライバAを使用するプリンタ20のプリントキューがないと判定した場合(S102でNo)、CPU1001は、S107へ処理を進め、ドライバBをインストールする。即ち、ドライバBのプリンタドライバファイルをPCの外部メモリ1011に格納する。さらに、S108にて、CPU1001は、プリンタ20のプリントキューの更新をOSに要求し、処理を終了する(S109)。このプリントキューの更新要求に応じて、OSは、ドライバBを使用するプリンタ20のプリントキューを生成する。
一方、ドライバAを使用するプリンタ20のプリントキューがあると判定した場合(S102でYes)、CPU1001は、S103へ処理を進める。
S103では、CPU1001は、プリンタ20のプリントキューの共有状態を確認してインストール続行可能か否かを判定する。この処理は、インストール先のPCがサーバPCとして稼働している場合に、ドライバBをインストールしても問題ないか否かを確認するために行うものである。本処理については後述する図6にて詳細に示す。
次に、S104にて、上記S103の確認結果を判定する。そして、「続行不可」である(「続行可能」でない)と判定した場合(S104でNo)、CPU1001は、そのままインストール処理を終了する(S109)。
一方、「続行可能」であると判定した場合(S104でYes)、CPU1001は、S105へ処理を進める。
S105では、CPU1001は、プリンタ20のプリントキューの印刷先を確認してインストール続行可能か否かを判定する。この処理は、インストール先のPCがクライアントPCとして稼働している場合に、ドライバBをインストールしても問題ないか否かを確認するために行うものである。本処理については後述する図7にて詳細に示す。
次に、S106にて、上記S105の確認結果を判定する。そして、「続行不可」である(「続行可能」でない)と判定した場合(S106でNo)、CPU1001は、そのままインストール処理を終了する(S109)。
一方、「続行可能」であると判定した場合(S106でYes)、CPU1001は、S107に処理を進め、ドライバBをインストールする(ドライバBのプリンタドライバファイルをPCの外部メモリ1011に格納する)。さらに、CPU1001は、S108にて、プリンタ20のプリントキューの更新をOSに要求し、処理を終了する(S109)。このプリントキューの更新要求に応じて、OSは、ドライバAを使用するプリンタ20のプリントキューを、ドライバBを使用するプリンタ20のプリントキューに更新する。
以上示したように、ドライバBのインストーラは、プリンタ20のドライバAを用いるプリントキューの共有状態や印刷先に基づきインストール続行不可の場合、OSへのプリンタ20のプリントキューの更新要求を行うことなくドライバBのインストール処理を終了するように制御する。
図5は、プリントキュー一覧画面を示す図である。
プリントキュー一覧画面60は、ユーザがPCのKBやマウス等にて、OSのプリント環境設定機能の表示を選択操作すると、PCのCPU1001により、ディスプレイ1010に表示される。
プリントキュー一覧表示部61には、使用可能なプリントキューが表示される。プリントキュー操作部62には、プリントキュー一覧表示部で選択されているプリントキューの共有設定を操作するための共有設定チェックボックス63が表示される。このチェックボックスにより、プリントキューをネットワーク上の他のPCと共有するか否かを設定できる。この設定は、PCの外部メモリ1011内に保存される。
図6は、図4のS103にてプリントキューの共有状態を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。この処理は、PCのCPU1001が外部メモリ1011等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
CPU1001は、初めにプリンタ20のプリントキューの共有情報を取得する(S201)。ここでは、CPU1001は、図5のプリントキュー一覧画面で設定されるプリントキューの共有設定状態を示す情報をPCの外部メモリ1011から取得する。
次に、S202にて、CPU1001は、上記S201で取得したプリンタ20のプリントキューの共有設定状態を示す情報から共有状態を判定する。そして、プリンタ20のプリントキューが共有状態でないと判定した場合(S202でNo)、CPU1001は、S210に処理を進め、確認結果を「続行可能」として処理を終了し(S211)、図4のフローチャートに処理を戻す。
一方、プリンタ20のプリントキューが共有状態であると判定した場合(S202でYes)、CPU1001は、インストール先のPCがサーバ・クライアント型の印刷システムにおけるサーバPCであると判断し、S203に処理を進める。
S203では、CPU1001は、過去の印刷時に生成されたスプールファイルを参照する。スプールファイルには、印刷ジョブを作成したPCや作成に使用したドライバの情報が含まれ、参照することによりクライアントPCからの実際の印刷状況を確認できる。なお、スプールファイルは、PCの外部メモリ1011に格納されている。
本実施例ではスプールファイルを参照することによって、実際の印刷状況を確認しているが、他の方法を用いて、印刷状況を確認してもよい。例えば、まずクライアント上で動作するプリンタドライバが、印刷ジョブ作成時に自身が動作するコンピュータを判別するための情報をジョブチケットにジョブ作成PC情報として格納する。そしてサーバ上で動作するプリンタドライバが、印刷ジョブ処理時にジョブ作成PC情報をジョブチケットから取得し、履歴として保存しておき、この履歴を上記S203にて参照するようにする。このようにすることよって、サーバPC上で動作するプリンタドライバがクライアントからの印刷状況を確認しても良い。
CPU1001は、スプールファイルを参照した結果をS204にて判定する。そして、クライアントPCとして稼働する他のPCでドライバAを使用して作成した印刷ジョブのスプールファイルがないと判定すると、CPU1001は、S210に処理を進める。S210では、CPU1001は、確認結果を「続行可能」として処理を終了し(S211)、図4のフローチャートに処理を戻す。
一方、クライアントPCとして稼働する他のPCでドライバAを使用して作成した印刷ジョブのスプールファイルがあると判定すると、CPU1001は、
プリンタ20のプリントキューが他装置と共有状態で稼働していると判断し、S205に処理を進める。
S205では、CPU1001は、図8(a)に示すインストール続行確認画面70をディスプレイ1010に表示し、S206にて、インストールの続行/中断の選択を受け付ける。
図8(a)は、インストール続行確認画面70の一例を示す図である。
インストールを続行する場合には、インストール続行確認画面70においてOKボタン72を押下する。インストールを中断する場合には、インストール続行確認画面70においてキャンセルボタン71を押下する。
インストール続行確認画面70でのインストールの続行/中断の選択操作を検知すると、CPU1001は、S207にて、インストールの続行/中断の選択操作を判定する。
キャンセルボタン71が押下されていた場合には、CPU1001は、中断(続行しない)と判定し(S207でNo)、S208にて、確認結果を「続行不可」として処理を終了し(S211)、図4のフローチャートに処理を戻す。
一方、OKボタン72が押下されていた場合には、CPU1001は、続行と判定し(S207でYes)、S209にて、確認結果を「続行可能」として処理を終了し(S211)、図4のフローチャートに処理を戻す。
なお、プリンタ20のドライバAを用いるプリントキューが他装置と共有状態であると判定した場合(S202でYes)、CPU1001は、そのままS208に処理を進め、インストール続行不可と判定するように構成してもよい。
また、プリンタ20のドライバAを用いるプリントキューが他装置と共有状態で稼働していると判定した場合(S204でYes)、CPU1001は、そのままS208に処理を進め、インストール続行不可と判定するように構成してもよい。
以上のように、ドライバBのインストーラは、プリンタ20のドライバAを用いるプリントキューが共有状態で稼働している場合、OSへのプリンタ20のプリントキューの更新要求を行うことなくドライバBのインストール処理を終了するように制御する。
図7は、図4のS105にてプリントキューの印刷先を確認してインストール続行可能か否かを判定する処理の詳細を示すフローチャートである。この処理は、PCのCPU1001が外部メモリ1011等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
CPU1001は、初めにプリンタ20のプリントキューの印刷先を取得する(S301)。ここでは、PPDファイルを参照して、プリンタ20のプリントキューの印刷先がローカルプリンタかリモートプリンタかの情報を取得する。上述したように、PPDファイルには、プリンタ及びプリンタドライバの各種情報が格納されており、OSによってプリントキューと対応付けて管理されている。CPU1001は、このPPDファイルを参照することにより、プリントキューの印刷先を判別できる。
次に、S302にて、CPU1001は、上記S301で取得した印刷先がリモートプリンタであるか否かを判定する。即ち、CPU1001は、ドライバBと同一のプリンタを制御するインストール済のドライバAを用いるプリントキューの出力先が他装置を介して接続された印刷装置(リモートプリンタ)であるか否かを判定する。そして、印刷先がローカルプリンタである(リモートプリンタでない)と判定した場合(S302でNo)、CPU1001は、S308にて確認結果を「続行可能」として処理を終了し(S309)、図4のフローチャートに処理を戻す。
一方、印刷先がリモートプリンタであると判定した場合(S302でYes)、CPU1001は、インストール先のPCがサーバ・クライアント型の印刷システムにおけるクライアントPCであると判断し、S303に処理を進める。
S303では、CPU1001は、図8(b)に示すインストール続行確認画面80をディスプレイ1010に表示し、S304にて、インストールの続行/中断の選択を受け付ける。
図8(b)は、インストール続行確認画面80の一例を示す図である。
インストールを続行する場合には、インストール続行確認画面80においてOKボタン82を押下する。インストールを中断する場合には、インストール続行確認画面80においてキャンセルボタン81を押下する。
インストール続行確認画面80でのインストールの続行/中断の選択操作を検知すると、CPU1001は、S305にて、インストールの続行/中断の選択操作を判定する。
キャンセルボタン81が押下されていた場合には、CPU1001は、中断(続行しない)と判定し(S305でNo)、S306にて、確認結果を「続行不可」として処理を終了し(S309)、図4のフローチャートに処理を戻す。
一方、OKボタン82が押下されていた場合には、CPU1001は、続行と判定し(S305でYes)、S307にて、確認結果を「続行可能」として処理を終了し(S309)、図4のフローチャートに処理を戻す。
なお、プリンタ20のドライバAを用いるプリントキューの印刷先がリモートプリンタであると判定した場合(S302でYes)、CPU1001は、そのままS306に処理を進め、インストール続行不可と判定するように構成してもよい。以上のように、ドライバBのインストーラは、プリンタ20のドライバAを用いるプリントキューの印刷先がリモートプリンタの場合、OSへのプリンタ20のプリントキューの更新要求を行うことなくドライバBのインストール処理を終了するように制御する。
以上説明したように、実施例1の印刷システムによれば、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作するコンピュータ、特にサーバ又はクライアントとして稼働するコンピュータに、プリンタドライバのインストール処理において、リモート印刷を正しく行えなくなる場合には、その旨をユーザに通知するとともに、OSへのプリントキューの更新要求を行うことなくインストール処理を終了することができる。
なお、本実施例では、ドライバAを用いるプリントキューが共有状態で稼働している場合や印刷先がリモートプリンタの場合に、ドライバBのインストールと、OSへのプリントキューの更新要求を行うことなくドライバBのインストール処理を終了する構成を示した。しかし、上記のような場合でも、ドライバBのインストールは行い、OSへのプリントキューの更新要求を行うことなくドライバBのインストール処理を終了するように構成してもよい。
この構成でも、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作するコンピュータ(特にサーバ・クライアント型の印刷システムを構成するコンピュータ)にプリンタドライバを適切にインストールして適切に動作させることができる。
次に、本発明の実施例2を説明する。以下、実施例1と異なる部分のみ説明する。
以下、PC1とPC10の双方にドライバAがインストールされ、ドライバAを使用するプリントキューが生成されているサーバ・クライアント型の印刷システムにおいて、ドライバBのインストール処理、及び、ドライバBのインストール処理と関係するドライバA及びドライバBの印刷処理について詳細に説明する。
図9は、実施例2におけるドライバBのインストーラのインストール処理を示すフローチャートである。このインストール処理は、PCのCPU1001が外部メモリ1011等にコンピュータ読み取り可能に記録されたインストーラプログラムを読み出して実行することにより実現される。
図3のインストールボタンを押下すると、インストーラを実行するPCのCPU1001(以下、単にCPU1001)は、ドライバBをインストールする。即ち、ドライバBのプリンタドライバファイルをPCの外部メモリ1011に格納する。
次に、CPU1001は、ドライバAを使用するプリントキューが既にPC上に存在するか否かを検索する(S402)。この処理は図4のS101と同様である。
次に、S403にて、CPU1001は、ドライバAを使用するプリンタ20のプリントキューがあるか否かを判定する。そして、ドライバAを使用するプリンタ20のプリントキューがないと判定した場合、CPU1001は、S406へ処理を進める。S406では、CPU1001は、プリンタ20のプリントキューの更新をOSに要求し、処理を終了する(S407)。このプリントキューの更新要求に応じて、OSは、ドライバBを使用するプリンタ20のプリントキューを生成する。
一方、S403にて、ドライバAを使用するプリンタ20のプリントキューがあると判定した場合、CPU1001は、S404へ処理を進める。
S404では、CPU1001は、プリンタ20のプリントキューの印刷先を取得する。この処理は図7のS301と同様である。
次に、S405にて、CPU1001は、上記S404で取得した印刷先がリモートプリンタであるか否かを判定する。そして、印刷先がローカルプリンタである(リモートプリンタでない)と判定した場合(S405でNo)、CPU1001は、S406へ処理を進める。S406では、プリンタ20のプリントキューの生成をOSに要求し、処理を終了する(S407)。このプリントキューの更新要求に応じて、OSは、ドライバAを使用するプリンタ20のプリントキューを、ドライバBを使用するプリンタ20のプリントキューに更新する。
一方、印刷先がリモートプリンタであると判定した場合(S405でYes)、CPU1001は、インストール先のPCがサーバ・クライアント型の印刷システムにおけるクライアントPCであると判断し、プリントキューを更新せずに処理を終了する(S407)。
以上のように、ドライバBのインストーラは、プリンタ20のドライバAを用いるプリントキューの印刷先がリモートプリンタの場合、OSへのプリンタ20のプリントキューの更新要求を行うことなくドライバBのインストール処理を終了するように制御する。
なお、印刷先がリモートプリンタであると判定した場合(S405でYes)、PCの外部メモリ1011に、図8(b)のような警告画面を表示し、ユーザがOKボタンを選択することにより、ドライバAを用いるプリントキューをドライバBを用いるプリントキューに更新する処理を実行させることができるように構成してもよい。
なお、実施例2のインストール処理では、プリントキューの共有状態を確認しない。よってインストール先のPCがサーバPCとして稼働している場合は、ドライバBをインストールし、プリントキューで使用するプリンタドライバをドライバBに更新する。一方、インストール先のPCがクライアントPCとして稼働している場合は、ドライバBをインストールするが、ドライバAを使用するプリントキューが既に存在していればそのキューの更新は行わない。よってクライアントPCにおいては、ドライバBをインストールしてもドライバBでなくドライバAが引き続き使用されることとなる。なお、クライアントPCにおけるプリントキューの更新は、印刷実行時にサーバPCにてドライバBが稼働していることを確認した後で行われる。
以下、クライアントPCからの印刷実行時に、クライアントPCのプリントキューを更新する処理について説明する。
図10は、サーバPCで動作するドライバBの印刷処理を示すフローチャートである。この処理は、サーバとして動作するPC1のCPU1001が外部メモリ1011等にコンピュータ読み取り可能に記録(インストール)されたドライバBのプログラムを読み出して実行することにより実現される。
PC1で印刷処理が開始されると、PC1のドライバBの印刷処理部7(即ち、ドライバBを実行するPC1のCPU1001)は、S601にて、ジョブチケットから印刷ジョブを作成したPCの情報を取得する。なお、ジョブチケットには、印刷ジョブの作成時に印刷ジョブの処理に必要な各種情報が格納され、印刷ジョブとともにジョブ制御部5を経て印刷処理部7に送られる。本実施例では、印刷ジョブを作成したPCや作成に使用したドライバの種類もジョブチケットに格納される。
次に、S602にて、PC1のドライバBの印刷処理部7は、上記S601で取得した、印刷ジョブを作成したPCがクライアントPCとして稼働する他のPC(例えばPC10)であるか否かを判定する。そして、印刷ジョブを作成したPCがクライアントPCとして稼働する他のPCでないと判定した場合(S602でNo)、PC1のドライバBの印刷処理部7は、S607に処理を進め、通常の印刷処理を行い、終了する(S606)。
一方、印刷ジョブを作成したPCがクライアントPCとして稼働する他のPCであると判定した場合(S602でYes)、PC1のドライバBの印刷処理部7は、サーバ・クライアント型の印刷システムにおいて他のクライアントPCからの印刷ジョブであると判断し、S603に処理を進める。
S603では、PC1のドライバBの印刷処理部7は、ドライバBの印刷処理部7は、引き続きジョブチケットから印刷ジョブの作成に使用したドライバの種類を取得する。
さらに、S604にて、PC1のドライバBの印刷処理部7は、上記S603にて取得したドライバの種類がドライバBか否かを判定する。そして、印刷ジョブの作成に使用したドライバの種類がドライバBであると判定した場合(S604でYes)、PC1のドライバBの印刷処理部7は、通常の印刷処理を行い(S607)、処理を終了する(S606)。
一方、印刷ジョブの作成に使用したドライバの種類がドライバAである(ドライバBでない)と判定した場合(S604でYes)、PC1のドライバBの印刷処理部7は、S605に処理を進める。
S605では、PC1のドライバBの印刷処理部7は、ドライバ不一致エラーをOSに通知する。この通知は、OSにより、サーバPCとクライアントPCのステータス格納部にそれぞれ保存されると共に、エラーとしてユーザに通知される(PC1のディスプレイ1010に表示される)。そして、PC1のドライバBの印刷処理部7は、印刷処理を行わずに処理を終了する(S606)。
以上により、サーバ・クライアント型のシステムにおいて、クライアントPCからの印刷ジョブがサーバPCのドライバとは異なる種類のドライバから実施されていた場合に、サーバPCは自身のドライバの種類との不一致を検知してエラーとして通知する。
次に、クライアントPCのドライバの動作について説明する。
図11は、クライアントPCで動作するドライバAの印刷設定時のプリントキューの更新処理を示すフローチャートである。この処理は、クライアントとして動作するPC10のCPU1001が外部メモリ1011等にコンピュータ読み取り可能に記録(インストール)されたドライバAのプログラムを読み出して実行することにより実現される。
PC10でプリンタ20を用いる印刷の印刷設定が開始されると、PC10のドライバAの印刷設定部2(即ち、ドライバAを実行するPC10のCPU1001)は、S701にて、印刷設定入力画面(プリントダイアログ)をPC10のディスプレイ1010に表示する。そして、PC10のドライバAの印刷設定部2は、ユーザからの各種印刷設定値の入力を受け付ける(S702)。
次に、ユーザが各種印刷設定値を入力して印刷を要求する操作を行うと(プリントダイアログ上の「プリント」ボタンをクリックすると)、PC10のドライバAの印刷設定部2は、S703にて、プリンタ20のプリントキューの印刷先を取得する。ここでは、PPDファイルを参照して、プリンタ20のプリントキューの印刷先がローカルプリンタかリモートプリンタかの情報を取得する。
次に、S704にて、PC10のドライバAの印刷設定部2は、上記S703で取得した印刷先がリモートプリンタであるか否かを判定する。そして、印刷先がローカルプリンタである(リモートプリンタでない)と判定した場合(S704でNo)、PC10のドライバAの印刷設定部2は、S709に処理を進める。
S709では、PC10のドライバAの印刷設定部2は、印刷ジョブを発行(作成)するためにOSに制御を戻す。OSはアプリケーション4に制御を渡し、アプリケーション4は、各種印刷設定情報が格納されたジョブチケットと印刷データを含む印刷ジョブを作成し、ジョブ制御部5に送る。上記S709を終了すると、ドライバAの印刷設定部2は、印刷設定処理を終了する(S710)。
一方、印刷先がリモートプリンタであると判定した場合(S704でYes)、
PC10のドライバAの印刷設定部2は、S705に処理を進める。
S705では、PC10のドライバAの印刷設定部2は、PC10のステータス格納部3を参照し、S706にて、サーバPCからドライバ不一致エラーが通知されているか否かを確認する。そして、ドライバ不一致エラーが通知されていないと判定した場合(S706でNo)、PC10のドライバAの印刷設定部2は、S707に処理を進める。
PC10のドライバAの印刷設定部2は、PC10の識別情報を、PC10のアプリケーションが生成したジョブチケットに格納し(S707)、ドライバの種類(ドライバA)を上記ジョブチケットに格納する(S708)。さらに、ドライバAの印刷設定部2は、S709にて、印刷ジョブを発行(作成)するためにOSに制御を戻す。OSはアプリケーション4に制御を渡し、アプリケーション4は、上記ジョブチケットと印刷データを含む印刷ジョブを作成し、ジョブ制御部5に送る。上記S709を終了すると、ドライバAの印刷設定部2は、印刷設定処理を終了する(S710)。
一方、ドライバ不一致エラーが通知されていると判定した場合(S706でYes)、PC10のドライバAの印刷設定部2は、S711に処理を進める。
S711では、PC10のドライバAの印刷設定部2は、ドライバBがインストールされているか検索し、S712にて、ドライバBがインストール済みか否かを判定する。即ち、ドライバBのプリンタドライバファイルがPC10の外部メモリ1011内に格納されているか否かを判定する。そして、ドライバBがインストールされていると判定した場合(S712でYes)、PC10のドライバAの印刷設定部2は、S714に処理を進める。
S714では、PC10のドライバAの印刷設定部2は、プリンタ20のプリントキューの生成をOSに要求し、処理を終了する(S710)。このプリントキューの更新要求に応じて、PC10のOSは、ドライバAを使用するプリンタ20のプリントキューを、ドライバBを使用するプリンタ20のプリントキューに更新する。
次に、S715にて、PC10のドライバAの印刷設定部2は、図12(a)に示す印刷再設定指示画面90をPC10のディスプレイ1010に表示する。
図12(a)は、印刷再設定指示画面90の一例を示す図である。
そして、印刷再設定指示画面90においてOKボタン91が押下されたら、PC10のドライバAの印刷設定部2は、本画面90を閉じ、印刷ジョブを作成させることなく、印刷設定処理を終了する(S710)。上記S715の処理により、以後、ユーザがPC10でプリンタ20の印刷設定を開始すると、PC10のドライバBの印刷設定部2により、印刷設定処理が行われることとなる。
一方、ドライバBがインストールされていないと判定した場合(S712でNo)、PC10のドライバAの印刷設定部2は、S713に処理を進める。
S713では、PC10のドライバAの印刷設定部2は、図12(b)に示すドライバ不一致エラー画面92をPC10のディスプレイ1010に表示する。
図12(b)は、ドライバ不一致エラー画面92の一例を示す図である。
そして、ドライバ不一致エラー画面92においてOKボタン93が押下されたら、PC10のドライバAの印刷設定部2は、本画面92を閉じ、印刷ジョブを作成させることなく、印刷設定処理を終了する(S710)。
以上のように、ドライバAは、印刷ジョブの処理時に、クライアントPC10に、ドライバAを用いるプリントキューの出力先がリモートプリンタであるか判定し、リモートプリンタであると判定した場合、サーバPC1からエラーの通知を受けた履歴が有るか判定し、エラーの通知を受けた履歴が有ると判定した場合、ドライバBがPC10にインストール済であるか判定し、インストール済であると判定した場合、OSにプリンタ20のプリントキューの更新を要求する処理を実行させる構成を有する。この構成により、サーバ・クライアント型のシステムにおいて、ジョブ処理時に、クライアントPC10で稼働するドライバがサーバPCで稼働するドライバとは異なる種類の(互換性のない)ドライバである場合に、同一の種類の(互換性のない)ドライバにクライアントPC10で稼働するドライバを更新することができる。
以上説明してきたように、実施例2の印刷システムによれば、クライアントのドライバはサーバで稼働するドライバの種類が異なっていることを検知すると、サーバと同じ種類のドライバが稼働するようにプリントキューを更新することができる。
本発明の実施例では、異なる種類のプリンタドライバとしてMacOS X10.4以前のOSで動作可能なドライバAとMacOS X10.6以降のOSで動作可能なドライバBを例にあげたが、これに限定されるものではない。
例えば、同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムであれば本発明を適用可能である。
なお、上記複数種類のプリンタドライバは、プリンタドライバの印刷設定方法の違いや処理可能なデータ形式の違い、プログラムファイルの構成の違いなどにより、互いに異なる複数種類のプリンタドライバであれば、本発明を適用可能である。
さらに、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
1,10 データ処理装置(PC)
2 プリンタドライバ印刷設定部
3 ステータス格納部
4 アプリケーション
5 ジョブ制御部
6 プリントキュー
7 プリンタドライバ印刷処理部
20 プリンタ
30,40 通信インタフェース

Claims (15)

  1. 同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置であって、
    プリンタドライバのインストール処理において、インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索手段と、
    前記検索手段により検索された前記プリントキューの出力先が他装置を介して接続された印刷装置であるか否かを判定する判定手段と、
    前記判定手段により前記プリントキューの出力先が他装置を介して接続された印刷装置であると判定された場合、前記オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御手段と、
    を有することを特徴とする情報処理装置。
  2. 前記検索手段は、前記既存のプリントキューであって、前記インストールするプリンタドライバと互換性のない種類のプリンタドライバを用いるプリントキューを検索することを特徴とする請求項1に記載の情報処理装置。
  3. 前記判定手段により前記プリントキューの出力先が他装置を介して接続された印刷装置であると判定された場合、前記インストール処理を続行すると前記プリントキューを用いて正しく印刷できなくなる旨の警告を行う警告手段を有することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記警告手段は、前記インストール処理の続行を指示する指示手段を有し、
    前記指示手段がユーザにより指示されると、前記制御手段は、前記インストール処理を続行して前記オペレーティングシステムへの前記プリントキューの更新要求を行うことを特徴とする請求項3に記載の情報処理装置。
  5. 前記複数種類のプリンタドライバのうち前記オペレーティングシステムに優先される種類のプリンタドライバと互換性のない種類のプリンタドライバは、印刷ジョブの処理時に、前記情報処理装置に、
    前記互換性のない種類のプリンタドライバを用いるプリントキューの出力先が他装置を介して接続された印刷装置であるか判定し、
    前記プリントキューの出力先が他装置を介して接続された印刷装置であると判定した場合、前記他装置からエラーの通知を受けた履歴が有るか判定し、
    前記他装置からエラーの通知を受けた履歴が有ると判定した場合、前記優先される種類のプリンタドライバが前記情報処理装置にインストール済であるか判定し、
    前記優先される種類のプリンタドライバがインストール済であると判定した場合、前記オペレーティングシステムに前記印刷装置のプリントキューの更新を要求する処理を、
    実行させることを特徴とする請求項2に記載の情報処理装置。
  6. 同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置であって、
    プリンタドライバのインストール処理において、インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索手段と、
    前記検索手段により検索された前記プリントキューが他装置と共有状態で稼働しているか否かを判定する判定手段と、
    前記判定手段により前記プリントキューが他装置と共有状態で稼働していると判定された場合、前記オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御手段と、
    を有することを特徴とする情報処理装置。
  7. 前記判定手段は、過去の印刷時に生成されたスプールファイルの中らから前記プリントキューで処理した印刷ジョブを生成した装置の情報を取得し、該取得した情報に他装置が含まれている場合に、前記プリントキューが他装置と共有状態で稼働していると判定することを特徴とする請求項6に記載の情報処理装置。
  8. 前記検索手段は、前記既存のプリントキューであって、前記インストールするプリンタドライバと互換性のない種類のプリンタドライバを用いるプリントキューを検索することを特徴とする請求項6又は7に記載の情報処理装置。
  9. 前記判定手段により前記プリントキューが他装置と共有状態で稼働していると判定された場合、前記インストール処理を続行すると前記プリントキューを用いて正しく印刷できなくなる旨の警告を行う警告手段を有することを特徴とする請求項7又は8に記載の情報処理装置。
  10. 前記警告手段は、前記インストール処理の続行を指示する指示手段を有し、
    前記指示手段がユーザにより指示されると、前記制御手段は、前記インストール処理を続行して前記オペレーティングシステムへの前記プリントキューの更新要求を行うことを特徴とする請求項9に記載の情報処理装置。
  11. 前記複数種類のプリンタドライバのうち前記オペレーティングシステムに優先される種類のプリンタドライバは、印刷ジョブの処理時に、前記情報処理装置に、
    前記印刷ジョブが他装置において前記優先される種類のプリンタドライバと互換性のない種類のプリンタドライバを用いて作成された印刷ジョブであるか判定し、
    前記印刷ジョブが他装置において前記優先される種類のプリンタドライバと互換性のない種類のプリンタドライバを用いて作成された印刷ジョブであると判定された場合、前記他装置にプリンタドライバの互換性がない旨のエラーを通知する処理を、
    実行させることを特徴とする請求項6に記載の情報処理装置。
  12. 同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置における制御方法であって、
    前記情報処理装置のコントローラが、
    プリンタドライバのインストール処理において、インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索ステップと、
    前記検索ステップにより検索された前記プリントキューの出力先が他装置を介して接続された印刷装置であるか否かを判定する判定ステップと、
    前記判定ステップにより前記プリントキューの出力先が他装置を介して接続された印刷装置であると判定された場合、前記オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御ステップと、
    を実行することを特徴とする制御方法。
  13. 同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する情報処理装置における制御方法であって、
    前記情報処理装置のコントローラが、
    プリンタドライバのインストール処理において、インストールするプリンタドライバが制御するプリンタに対応する既存のプリントキューを検索する検索ステップと、
    前記検索ステップにより検索された前記プリントキューが他装置と共有状態で稼働しているか否かを判定する判定ステップと、
    前記判定ステップにより前記プリントキューが他装置と共有状態で稼働していると判定された場合、前記オペレーティングシステムへの前記プリントキューの更新要求を行うことなく前記インストール処理を終了するように制御する制御ステップと、
    を実行することを特徴とする制御方法。
  14. 同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する際に、コンピュータを、請求項1乃至5のいずれか1項に記載された手段として機能させるためのプログラム。
  15. 同一の印刷装置に対応する複数種類のプリンタドライバがインストールされている状態で前記印刷装置のプリントキューを更新する場合に、いずれかの種類のプリンタドライバを優先させてプリントキューを更新するオペレーティングシステムが動作する際に、コンピュータを、請求項6乃至11のいずれか1項に記載された手段として機能させるためのプログラム。
JP2011023490A 2011-02-07 2011-02-07 情報処理装置、制御方法、及び、プログラム Expired - Fee Related JP5704947B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011023490A JP5704947B2 (ja) 2011-02-07 2011-02-07 情報処理装置、制御方法、及び、プログラム
US13/364,136 US8670135B2 (en) 2011-02-07 2012-02-01 Information processing apparatus and control method when installing a printer driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011023490A JP5704947B2 (ja) 2011-02-07 2011-02-07 情報処理装置、制御方法、及び、プログラム

Publications (3)

Publication Number Publication Date
JP2012164099A true JP2012164099A (ja) 2012-08-30
JP2012164099A5 JP2012164099A5 (ja) 2014-03-06
JP5704947B2 JP5704947B2 (ja) 2015-04-22

Family

ID=46600470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011023490A Expired - Fee Related JP5704947B2 (ja) 2011-02-07 2011-02-07 情報処理装置、制御方法、及び、プログラム

Country Status (2)

Country Link
US (1) US8670135B2 (ja)
JP (1) JP5704947B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127127A (ja) * 2012-12-27 2014-07-07 Ricoh Co Ltd 情報処理装置、プログラム、情報処理システム及びデータ変換処理方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6289085B2 (ja) * 2013-12-25 2018-03-07 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6217669B2 (ja) * 2015-02-27 2017-10-25 コニカミノルタ株式会社 プリンタードライバープログラム
JP2022178924A (ja) * 2021-05-21 2022-12-02 キヤノン株式会社 プログラム、情報処理方法、及び情報処理装置
JP2023039264A (ja) * 2021-09-08 2023-03-20 キヤノン株式会社 情報処理装置、情報処理方法、システム
JP2023054486A (ja) * 2021-10-04 2023-04-14 セイコーエプソン株式会社 情報処理装置、インストール方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004245A (ja) * 2005-06-21 2007-01-11 Canon Inc ソフトウェアのインストール方法
JP2009099027A (ja) * 2007-10-18 2009-05-07 Canon Inc インストール方法、プログラム、及びコンピュータ
JP2010250369A (ja) * 2009-04-10 2010-11-04 Canon Inc 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4182094B2 (ja) * 2004-08-30 2008-11-19 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP5460215B2 (ja) * 2009-09-29 2014-04-02 キヤノン株式会社 情報処理装置及びその方法
JP5455527B2 (ja) * 2009-09-29 2014-03-26 キヤノン株式会社 画像形成装置、該装置の制御方法、制御プログラム
JP5489619B2 (ja) * 2009-09-29 2014-05-14 キヤノン株式会社 情報処理装置及びその方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004245A (ja) * 2005-06-21 2007-01-11 Canon Inc ソフトウェアのインストール方法
JP2009099027A (ja) * 2007-10-18 2009-05-07 Canon Inc インストール方法、プログラム、及びコンピュータ
JP2010250369A (ja) * 2009-04-10 2010-11-04 Canon Inc 情報処理装置、情報処理方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127127A (ja) * 2012-12-27 2014-07-07 Ricoh Co Ltd 情報処理装置、プログラム、情報処理システム及びデータ変換処理方法

Also Published As

Publication number Publication date
JP5704947B2 (ja) 2015-04-22
US20120200877A1 (en) 2012-08-09
US8670135B2 (en) 2014-03-11

Similar Documents

Publication Publication Date Title
US9075627B2 (en) Server connected to image forming apparatus and client, client, and method of remotely installing driver of image forming apparatus
US9274736B2 (en) Information processing apparatus, output system, information processing method, and recording medium storing information processing program
US8493591B2 (en) Job-submission-request apparatus and method for making a request from a plurality of apparatuses
JP5704947B2 (ja) 情報処理装置、制御方法、及び、プログラム
US9354832B2 (en) Print system for recovering a print job in a redundant print server, print server and print control method
JP2020004254A (ja) 情報処理装置、制御方法及びプログラム
KR101506764B1 (ko) 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP2013073369A (ja) 印刷制御システム、印刷制御方法、画像処理装置、及び印刷制御プログラム
JP2016118983A (ja) 情報処理装置、印刷制御方法、およびプログラム
JP2007164480A (ja) 印刷システム及び印刷方法
JP4886501B2 (ja) 印刷装置、印刷制御方法、及びプログラム
JP2016053862A (ja) 情報処理装置、プログラム及び制御方法
WO2020110767A1 (ja) 情報処理装置、サーバ装置、制御方法、制御プログラム
JP5961937B2 (ja) 情報処理システム
JP2020184241A (ja) 情報処理装置、情報処理装置の制御方法、及び印刷拡張アプリケーション
JP2012168807A (ja) 印刷指示プログラム、印刷指示方法、印刷指示装置、および印刷指示システム
JP2018147124A (ja) システムおよび制御方法
JP2005165391A (ja) 画像形成装置情報管理システム、および画像形成装置情報管理システム用のプログラム
JP4983229B2 (ja) サーバーコンピュータ、クライアントサーバーシステム及びソフトウェアインストール方法
JP2018147300A (ja) 情報処理装置、情報処理方法及びプログラム
JP2012059280A (ja) 印刷装置、データ処理装置、印刷制御方法、及びプログラム
JP2012133533A (ja) プリントサーバ及びその制御方法、プリントシステム
JP5460774B2 (ja) 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム
JP4143598B2 (ja) 情報処理装置における管理方法、情報処理装置、プログラム及び記憶媒体
JP2013218473A (ja) ネットワーク上の画像処理装置の管理システム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150224

LAPS Cancellation because of no payment of annual fees