JP4716165B2 - 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法 - Google Patents

共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法 Download PDF

Info

Publication number
JP4716165B2
JP4716165B2 JP2005073537A JP2005073537A JP4716165B2 JP 4716165 B2 JP4716165 B2 JP 4716165B2 JP 2005073537 A JP2005073537 A JP 2005073537A JP 2005073537 A JP2005073537 A JP 2005073537A JP 4716165 B2 JP4716165 B2 JP 4716165B2
Authority
JP
Japan
Prior art keywords
shared
print
spooler
server control
client
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
JP2005073537A
Other languages
English (en)
Other versions
JP2006259888A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005073537A priority Critical patent/JP4716165B2/ja
Priority to US11/375,262 priority patent/US20060244994A1/en
Publication of JP2006259888A publication Critical patent/JP2006259888A/ja
Application granted granted Critical
Publication of JP4716165B2 publication Critical patent/JP4716165B2/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/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/1211Improving printing performance
    • G06F3/1215Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
    • 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

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)

Description

本発明は、コンピュータシステム全体を管理する基本ソフトウェア、即ち、オペレーティングシステム(OS)に備えられている共有プリントサーバ制御機能を改善する共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に関する。
アップル・コンピュータ社(Apple Computer,Inc.(登録商標))が提供するパーソナル・コンピュータ「マッキントッシュ(Macintosh(登録商標))」、「パワー・マッキントッシュ(Power Macintosh(登録商標))」、「パワー・マック(Power Mac(登録商標))」、「アイ・マック(iMac(登録商標))」、「イー・マック(eMac(登録商標))」、「マック・ミニ(Mac mini(登録商標))」、「アイ・ブック(iBook(登録商標))」、「パワー・ブック(Power Book(登録商標))」等に搭載されている基本ソフトウェア、即ち、オペレーティングシステム(OS)の現行バージョンである「Mac OS X(マック・オーエス・テン(登録商標))」には、印刷処理の際に使用される「共有プリンタ」という機能が備えられている。
この「共有プリンタ」機能を利用する場合、プリントサーバとして機能するマッキントッシュ・パーソナル・コンピュータ(以下、「サーバ」という。)に搭載されている基本ソフトが提供するユーザインタフェース(UI)を通じて所定の設定を行うことにより、ネットワークを介してサーバに接続されている他のマッキントッシュ・パーソナル・コンピュータ(以下、「クライアント」という。)から送信される印刷ジョブをサーバが受信して、サーバにローカル接続又はネットワーク接続されたプリンタを使用して、当該印刷ジョブに基づく印刷を実行することができる。
図5は、プリンタが接続されたサーバ、及び、ネットワークを介してサーバに接続されたクライアントにより構成される共有プリンタ・システムのブロック図である。
サーバ3には、プリンタ4がローカル接続又はネットワーク接続されている。また、サーバ3には、クライアント1がネットワーク2を介して接続されている。尚、図5においては、図面の簡略化のため、サーバ3にネットワーク接続されているクライアント1は一つのみが示されているが、通常は、複数のクライアント1が接続されている。
クライアント1にインストールされている任意のアプリケーション・ソフトウェア11により文書ファイル、画像ファイル等の印刷対象ファイルが作成又は編集されて、印刷実行命令が入力されると、アプリケーション・ソフトウェア11により生成されたイメージ・データに基づきグラフィック・エンジン13が1ページごとのPDFファイル14を作成する。
一方、アプリケーション・ソフトウェア11からは、プリントAPI(Application Program Interface)12に対し印刷要求が出力され、これに応じてプリントAPI12は、共有プリンタ・システムに対して印刷要求を行うクエリー又はジョブチケットを作成し、PDFファイル14に添付する。
クライアント1に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行うクライアント・スプーラ(CUPS(Common UNIX Printing System(登録商標)))15は、印刷ジョブを構成するPDFファイル14をクエリー又はジョブチケットと共に、ネットワーク2を介してサーバ3に送信する。
サーバ3に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラ(CUPS)31は、ネットワーク2を介してクライアント1から印刷ジョブを受信すると、その印刷ジョブを順次ラスタ・データに変換してバックエンド32に送信し、バックエンド32は、当該ラスタ・データをプリント・データとしてプリンタ4に出力し、プリンタ4は、当該プリント・データに基づいて印刷を実行する。
「Mac OS X」の標準機能に基づいて構成される上述のような共有プリンタ・システムについては、アップル・コンピュータ社の公式ウェブサイト等において詳細に解説されている(例えば、非特許文献1参照)。
「About the Mac OS X Printing System」(http://developer.apple.com/documentation/Printing/Conceptual/About_MacOSX_Printing/index.html又はhttp://developer.apple.com/documentation/Printing/Conceptual/About_MacOSX_Printing/prtfund.pdf)
「Mac OS X」の標準機能に基づいて構成される上述のような共有プリンタ・システムでは、サーバ3における印刷ジョブの処理動作中においても、サーバ3とクライアント1との通信コネクションは維持され、印刷ジョブの処理動作終了までの間に何等かのエラーが発生した場合には、エラー情報がクライアント1に通知される。
上記共有プリンタ・システムにおいては、当該エラー情報がクライアント1に備えられているユーザインタフェースを通じて表示されることが一つの特徴点となっており、印刷フレームワークとしてCUPSを用いているLinux(登録商標)には無い利便性を提供している。
しかしながら、「Mac OS X」の標準機能に基づいて構成される共有プリンタ・システムは、上述のように、印刷ジョブの処理動作終了までサーバ3とクライアント1との通信コネクションを維持するために、以下のような不都合な点を有している。
第一に、複数のクライアントが複数の印刷ジョブをサーバに送信しようとする場合、各クライアントは、当該クライアントが先行して送信した印刷ジョブの処理が完了するまで、後続の印刷ジョブを送信することができず、従って、急を要する印刷を迅速に実行することができないという不都合がある。
第二に、クライアントからサーバに印刷ジョブが送信されると、印刷ジョブの処理動作終了まで両者間の通信コネクションが維持され、かつ、クライアントのモニタ上には印刷ジョブの処理動作の進捗状況を表示するジョブ・ウィンドウが表示され続けるため、クライアントからサーバに印刷ジョブを送信し終わった後であっても、印刷ジョブの処理動作終了までクライアントの電源を切ることができないという不都合がある。
以上のような不都合な点を有するため、特に、複数のクライアントが複数の印刷ジョブをそれぞれサーバに同時に送信しようとして、サーバ上に複数の印刷ジョブが停滞した状況下において、クライアントのユーザビリティ、利便性を著しく低下させるという問題点を発生させる。
上記問題点は、「Mac OS X」の印刷フレームワークである「TIOGA」に起因しているが、印刷フレームワークをオープンソース・ソフトウェアであるCUPSに入れ替えたバージョンでも同様に発生する。
従って、上記問題点は、「Mac OS X」の印刷フレームワークの改善によって解消されることが望ましいが、その見通しはない。
しかし、「Mac OS X」の印刷フレームワークは、「Mac OS X」の設計ポリシーによるものであり、ベンダ等が任意に変更することは容認されるべきではない。
一方、上記問題点の回避は、特に、多数の印刷ジョブを処理する必要のあるハイエンドユーザから強く要望されているところであり、「Mac OS X」の印刷フレームワーク自体を変更することなく、ベンダにおいて提供可能な問題回避策が望まれている。
本発明の目的は、基本ソフトウェアの標準機能や印刷フレームワークを改変することなく、共有プリンタ・システムにおけるクライアント側から見た印刷ジョブの円滑且つ迅速な処理を実現することが可能な共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を提供することである。
本発明に係る共有プリントサーバ制御プログラムによれば、
プリンタが接続されたサーバと、ネットワークを介して上記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御プログラムであって、
上記サーバに搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを上記サーバ上に設け、
上記追加スプーラは、先行して受信した印刷ジョブの処理動作終了を待たずに、上記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく上記クライアントとの通信コネクションを遮断する、
ことを含む上記共有プリンタ・システムの動作を実現することを特徴とする。
本発明に係る共有プリントサーバ制御プログラムの上記構成において、上記追加スプーラは、受信した印刷ジョブを上記標準スプーラに順次転送するものとするとよい。
上記標準スプーラ及び上記追加スプーラは、上記クライアント側から見たときに、いずれか一方のみが排他的に認識されるものとするとよい。
上記共有プリントサーバ制御プログラムのインストール時又は起動時に、上記基本ソフトウェアの上記共有プリンタ機能が無効になる設定が行われるものとするとよい。
上記共有プリントサーバ制御プログラムの起動時に、上記基本ソフトウェアの上記共有プリンタ機能が有効であるか又は無効であるかを監視するものとするとよい。
上記共有プリントサーバ制御プログラムの起動後に、上記基本ソフトウェアの上記共有プリンタ機能が有効であるか又は無効であるかを継続的に監視するものとするとよい。
上記基本ソフトウェアの上記共有プリンタ機能が有効であることを検知したときは、上記追加スプーラの通信機能を無効とするものとするとよい。
上記基本ソフトウェアの上記共有プリンタ機能が無効であることを検知したときは、上記追加スプーラの通信機能を有効とするものとするとよい。
印刷ジョブの処理動作開始後、上記追加スプーラは、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた上記クライアントに対し、所定のプロトコルによりエラー情報を通知するものとするとよい。
本発明に係る共有プリントサーバ制御方法によれば、
プリンタが接続されたサーバと、ネットワークを介して上記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御方法であって、
上記サーバに搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを上記サーバ上に設ける過程と、
上記クライアントから上記サーバに印刷ジョブが送信されると、上記追加スプーラが、先行して受信した印刷ジョブの処理動作終了を待たずに、上記クライアントから送信された印刷ジョブを順次総て受信する過程と、
上記追加スプーラが、上記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく上記クライアントとの通信コネクションを遮断する過程と、
を備えていることを特徴とする。
本発明に係る共有プリントサーバ制御方法の上記構成において、上記追加スプーラが、受信した印刷ジョブを上記標準スプーラに順次転送する過程をさらに備えているものとするとよい。
印刷ジョブの処理動作開始後、上記追加スプーラが、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた上記クライアントに対し、所定のプロトコルによりエラー情報を通知する過程をさらに備えているものとするとよい。
上記標準スプーラ及び上記追加スプーラは、上記クライアント側から見たときに、いずれか一方のみが排他的に認識されるものとするとよい。
以下、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法の実施の形態について、図面を参照しながら説明する。
図1は、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法により構成される共有プリンタ・システムのブロック図である。
共有プリンタ・システムは、プリンタ4がローカル接続又はネットワーク接続されたサーバ3と、ネットワーク2を介してサーバ3に接続されたクライアント1とにより構成されている。尚、図1においても、図面の簡略化のため、サーバ3にネットワーク接続されているクライアント1は一つのみが示されているが、通常は、複数のクライアント1が接続されている。
クライアント1からサーバ3に印刷ジョブが送信されるまでの動作手順については、従来の共有プリンタ・システムと同様であり、先ず、クライアント1にインストールされている任意のアプリケーション・ソフトウェア11により文書ファイル、画像ファイル等の印刷対象ファイルが作成又は編集されて、印刷実行命令が入力されると、アプリケーション・ソフトウェア11により生成されたイメージ・データに基づきグラフィック・エンジン13が1ページごとのPDFファイル14を作成する。
一方、アプリケーション・ソフトウェア11からは、プリントAPI12に対し印刷要求が出力され、これに応じてプリントAPI12は、共有プリンタ・システムに対して印刷要求を行うクエリー又はジョブチケットを作成し、PDFファイル14に添付する。
クライアント1に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行うクライアント・スプーラ(CUPS)15は、印刷ジョブを構成するPDFファイル14をクエリー又はジョブチケットと共に、ネットワーク2を介してサーバ3に送信する。
ここで、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法が適用された共有プリンタ・システムにおいては、サーバ3に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラ(CUPS)31の他に、印刷ジョブの管理を補助する追加スプーラ33がサーバ3上に設けられている。
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ3上に設けられた追加スプーラ33は、クライアント1からサーバ3に印刷ジョブが送信されると、複数のクライアント1からそれぞれ複数の印刷ジョブが送信された場合であっても、先行して受信した印刷ジョブの処理動作終了を待たずに、それらの複数の印刷ジョブを順次総て受信した後、遅滞なく各クライアント1との通信コネクションを遮断すると共に、受信した複数の印刷ジョブを標準スプーラ31に順次転送する。
追加スプーラ33は、先行して受信した印刷ジョブの処理動作終了を待たずに、各クライアント1から送信された印刷ジョブを順次総て受信するので、クライアント1は、送信したい印刷ジョブが複数あり、かつ、他のクライアント1からも印刷ジョブが送信されている場合であっても、自身が先行して送信した印刷ジョブの処理動作終了を待たずに、それらの複数の印刷ジョブを円滑且つ迅速に送信することができる。従って、急を要する印刷実行のための印刷ジョブの送信を速やかに完了することができる。
また、追加スプーラ33は、あるクライアント1から送信された印刷ジョブを順次総て受信した後、遅滞なく当該クライアント1との通信コネクションを遮断するので、その時点で、当該クライアント1のモニタ上に表示されていたジョブ・ウィンドウが消滅する。従って、各クライアント1は、印刷ジョブを送信し終わった後、自身が送信した総ての印刷ジョブの処理動作終了を待たずに、サーバ3との通信コネクションから解放されるので、印刷ジョブの送信完了後、直ちに電源を切ることが可能となる。例えば、クライアント1を操作するユーザが、実際の印刷結果の確認は後刻でもよいが、印刷ジョブの送信完了後に直ちにクライアント1の電源を切って外出又は帰宅したい場合等に、利便性が向上する。
追加スプーラ33は、ネットワーク2を介して各クライアント1から受信し保持している印刷ジョブを、受信した順序に標準スプーラ31に順次転送していく。
サーバ3に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラ31は、追加スプーラ33から印刷ジョブを受信すると、その印刷ジョブを順次ラスタ・データに変換してバックエンド32に送信し、バックエンド32は、当該ラスタ・データをプリント・データとしてプリンタ4に出力し、プリンタ4は、当該プリント・データに基づいて印刷を実行する。
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法は、サーバ3上に追加スプーラ33を設けることに関し、サーバ3に搭載されている基本ソフトウェアに備えられている「共有プリンタ」機能と同等の通信プロトコルに従うものとするとよい。
但し、基本ソフトウェアの「共有プリンタ」機能が有効になっており、標準スプーラ31がクライアント1側から認識可能な状態になっていると、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法において使用する通信ポートと、基本ソフトウェアの「共有プリンタ」機能が使用する通信ポートとについて占有の衝突が発生し、共有プリンタ・システムが正常に機能しなくなるばかりか、基本ソフトウェアの動作に重大な影響を与える可能性がある。
従って、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を共有プリンタ・システムに適用する場合には、ユーザの操作又は操作スクリプトの実行により、基本ソフトウェアの「共有プリンタ」機能を予め無効にしておくことが望ましい。また、基本ソフトウェアの「共有プリンタ」機能が当初は無効になっていても、その後のユーザの操作により有効にされ得るので、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかは、継続的に監視する必要がある。
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を共有プリンタ・システムに適用する際には、原則として、基本ソフトウェアの「共有プリンタ」機能を予め無効にしておくこととするが、本発明に係る共有プリントサーバ制御プログラムの起動時に基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかを監視すると共に、その後、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかを継続的に監視し、基本ソフトウェアの「共有プリンタ」機能が有効であることを検知したときは、追加スプーラ33の通信機能を無効とする一方、基本ソフトウェアの「共有プリンタ」機能が無効であることを検知したときは、追加スプーラ33の通信機能を有効とする。
クライアント1側から見ると、基本ソフトウェアの「共有プリンタ」機能が有効であり、追加スプーラ33の通信機能が無効であるときは、標準スプーラ31のみが認識され、逆に、基本ソフトウェアの「共有プリンタ」機能が無効であり、追加スプーラ33の通信機能が有効であるときは、追加スプーラ33のみが認識される。
即ち、標準スプーラ31及び追加スプーラ33は、クライアント1側から見たときに、いずれか一方のみが排他的に認識されるようにする。これにより、通信ポートの占有の衝突の問題を回避することができ、共有プリンタ・システムの動作上の不都合を回避することができる。
但し、標準スプーラ31及び追加スプーラ33のいずれか一方のみが排他的に認識されるのは、クライアント1側から見たときに関してであり、実際には、サーバ3上では、標準スプーラ31及び追加スプーラ33の双方とも、前述したように稼働状態となっていて所定の処理動作を行っている。
以下、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を共有プリンタ・システムに適用するに際して、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかを監視するための具体的方法について説明する。
図2は、本発明に係る共有プリントサーバ制御プログラムの起動時における基本ソフトウェアの「共有プリンタ」機能の監視動作手順を示すフローチャートである。
先ず最初に、本発明に係る共有プリントサーバ制御方法を実施するためのプログラム、即ち、本発明に係る共有プリントサーバ制御プログラムの起動時に(ステップS10)、サーバ3に搭載されている基本ソフトウェアの「共有プリンタ」機能によりサーバ3の所定のポートが占有されているか否かを監視する(ステップS11)。
基本ソフトウェアの「共有プリンタ」機能によりサーバ3の所定のポートが占有されている場合(A)は、その旨を警告するアラート表示をサーバ3及び/又はクライアント1のモニタ上で行い(ステップS12)、本発明に係る共有プリントサーバ制御プログラムを稼働状態にせずに、基本ソフトウェアの「共有プリンタ」機能が無効にされるまで、即ち、基本ソフトウェアの「共有プリンタ」機能により占有されていた所定のポートがオープン(開放)状態となるまで、待機する。
一方、基本ソフトウェアの「共有プリンタ」機能によりサーバ3の所定のポートが占有されていない場合(B)、即ち、上記所定のポートがオープン(開放)状態となっている場合は(ステップS13)、本発明に係る共有プリントサーバ制御プログラムを起動して稼働状態にするための処理を継続する(ステップS14)。
以上の監視動作手順により、本発明に係る共有プリントサーバ制御プログラムの起動時における通信ポートの占有の衝突の問題を回避することができる。
しかし、上述のように、基本ソフトウェアの「共有プリンタ」機能は、ユーザの操作によりいつでも有効にされ得るので、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかは、継続的に監視する必要がある。
基本ソフトウェアの「共有プリンタ」機能の設定変更が行われると、設定変更を行うためのユーザインタフェースにより呼び出されるスクリプト(CUPSd.config)の設定ファイルが書き換えられて当該スクリプトが再起動されることから、スクリプトの再起動前に上記設定ファイルを解読して、スクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が有効になるのか無効になるのかを事前に検知することができる。そして、その検知結果に応じて、本発明に係る共有プリントサーバ制御プログラム(以下、「本アプリケーション・ソフトウェア」ともいう。尚、図1及び図5に示す「アプリケーション・ソフトウェア11」とは異なる。)が上記所定のポートを使用するか否かの設定を変更して、本アプリケーション・ソフトウェアを再起動する。これにより、基本ソフトウェアの「共有プリンタ」機能と本アプリケーション・ソフトウェアとの間における通信ポートの占有の衝突の問題を回避することができる。
図3は、基本ソフトウェアの「共有プリンタ」機能の設定変更が行われる際における「共有プリンタ」機能の有効又は無効の検知、及び、それに応じた本発明に係る共有プリントサーバ制御プログラムの設定変更の動作手順を示すフローチャートである。
ユーザの操作等により基本ソフトウェアの「共有プリンタ」機能の設定変更が行われると、設定変更を行うためのユーザインタフェースにより呼び出されるスクリプトの設定ファイルが書き換えられるので、当該スクリプトの再起動前に上記設定ファイルを解読して(ステップS21)、次回のスクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が有効になるのか無効になるのかを事前に検知する(ステップS22)。
設定ファイルの解読の結果、次回のスクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が有効になることが検知された場合は、本アプリケーション・ソフトウェアの設定ファイルにおける上記所定のポートを使用するか否かの設定を「ポート未使用」に書き換える(ステップS23)。
一方、設定ファイルの解読の結果、次回のスクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が無効になることが検知された場合は、本アプリケーション・ソフトウェアの設定ファイルにおける上記所定のポートを使用するか否かの設定を「ポート使用」に書き換える(ステップS24)。
その後、基本ソフトウェアの「共有プリンタ」機能の設定変更に関わるスクリプトが再起動されると共に(ステップS25)、本アプリケーション・ソフトウェアも再起動されて(ステップS26)、上記動作手順に従う設定変更が行われる。
結果として、基本ソフトウェアの「共有プリンタ」機能と本アプリケーション・ソフトウェアとの間における通信ポートの占有の衝突の問題を回避することができる。
尚、本発明に係る共有プリントサーバ制御プログラムのインストール時又は起動時に、基本ソフトウェアの「共有プリンタ」機能が無効になる設定が行われるようにしておくことが一つの方策として考えられるが、そのような方策を採る場合でも、基本ソフトウェアの「共有プリンタ」機能は、その後のユーザの操作により有効にされ得るので、上述のような継続的な監視を行う必要がある。
ところで、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ3上に設けられる追加スプーラ33は、前述のように、あるクライアント1から送信された印刷ジョブを順次総て受信した後、遅滞なく当該クライアント1との通信コネクションを遮断する。
この通信コネクション遮断処理は、クライアント1をサーバ3との通信コネクションから解放して前述のような利便性を提供する反面、そのままでは、印刷ジョブの処理動作中にエラーが発生しても、クライアント1はその事実を認識することができなくなってしまう。
そこで、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ3上に設けられる追加スプーラ33は、標準スプーラ31のAPIを定期的に呼び出してプリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定のプロトコルによりエラー情報をクライアント1に通知する。クライアント1には、所定のプロトコルによりエラー情報を受信して表示することができる所定の常駐プログラムを予めインストールしておく。
図4は、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法におけるサーバからクライアントへのエラー情報通知のための動作手順を示すフローチャートである。
本発明に係る共有プリントサーバ制御方法を実施するためのプログラム、即ち、本発明に係る共有プリントサーバ制御プログラムが稼働している状態でクライアント1からサーバ3に印刷ジョブが送信されると、プリンタ・ステータスの監視動作が開始される。
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ3上に設けられる追加スプーラ33は、標準スプーラ31のAPIであるCUPS関数を定期的に呼び出して(ステップS31)、その戻り値をチェックする(ステップS32)。
この標準スプーラ31のAPI(CUPS関数)の呼び出しとその戻り値のチェックは、印刷ジョブの処理動作終了まで所定時間間隔ごとに定期的に行われ、戻り値が総て正常であれば、プリンタ・ステータスの監視動作はそのまま終了する。
一方、いずれかの時点での戻り値が異常であったとき、即ち、エラーが発生したときは、所定のプロトコルによる通信を行い(ステップS33)、登録先へ例えばメールを発行する等して、エラー情報を通知する(ステップS34)。エラー情報は、通常、当該印刷ジョブの送信元であるクライアント1へ通知される。エラー情報は、例えば、そのエラーの種類、発生時刻、発生原因等の情報を含むものとするとよい。クライアント1を操作するユーザは、そのエラー情報に基づき、適切且つ迅速な対応を取ることができる。
上述の本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法の動作手順は、サーバ3及びクライアント1に搭載されている基本ソフトウェアと協働する本発明に係る共有プリントサーバ制御プログラムに基づき、サーバ3及びクライアント1に備えられているCPU(中央処理装置)により実行される。
以上に説明したように、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法によれば、基本ソフトウェアの標準機能や印刷フレームワークを改変することなく、共有プリンタ・システムにおけるクライアント側から見た印刷ジョブの円滑且つ迅速な処理を実現することができる。
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法により構成される共有プリンタ・システムのブロック図である。 本発明に係る共有プリントサーバ制御プログラムの起動時における基本ソフトウェアの「共有プリンタ」機能の監視動作手順を示すフローチャートである。 基本ソフトウェアの「共有プリンタ」機能の設定変更が行われる際における「共有プリンタ」機能の有効又は無効の検知、及び、それに応じた本発明に係る共有プリントサーバ制御プログラムの設定変更の動作手順を示すフローチャートである。 本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法におけるサーバからクライアントへのエラー情報通知のための動作手順を示すフローチャートである。 プリンタが接続されたサーバ、及び、ネットワークを介してサーバに接続されたクライアントにより構成される共有プリンタ・システムのブロック図である。
符号の説明
1 クライアント
2 ネットワーク
3 サーバ
4 プリンタ
11 アプリケーション・ソフトウェア
12 プリントAPI
13 グラフィック・エンジン
14 PDFファイル
15 クライアント・スプーラ(CUPS)
31 標準スプーラ(CUPS)
32 バックエンド
33 追加スプーラ

Claims (11)

  1. プリンタが接続されたサーバと、ネットワークを介して前記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御プログラムであって、
    前記サーバに搭載されている基本ソフトウェアに備えられ、一つ以上のクライアントの間でプリンタを共有するための共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを前記サーバ上に設け、
    前記追加スプーラは、先行して受信した印刷ジョブの処理動作終了を待たずに、前記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく前記クライアントとの通信コネクションを遮断するとともに、
    前記追加スプーラは、受信した印刷ジョブを前記標準スプーラに順次転送
    前記標準スプーラは、印刷ジョブをプリント・データに変換する、
    ことを含む前記共有プリンタ・システムの動作を実現することを特徴とする共有プリントサーバ制御プログラム。
  2. 前記標準スプーラ及び前記追加スプーラは、前記クライアント側から見たときに、いずれか一方のみが排他的に認識されることを特徴とする請求項1に記載の共有プリントサーバ制御プログラム。
  3. 前記共有プリントサーバ制御プログラムのインストール時又は起動時に、前記基本ソフトウェアの前記共有プリンタ機能が無効になる設定が行われることを特徴とする請求項1又は請求項2に記載の共有プリントサーバ制御プログラム。
  4. 前記共有プリントサーバ制御プログラムの起動時に、前記基本ソフトウェアの前記共有プリンタ機能が有効であるか又は無効であるかを監視することを特徴とする請求項1乃至3のいずれかに記載の共有プリントサーバ制御プログラム。
  5. 前記共有プリントサーバ制御プログラムの起動後に、前記基本ソフトウェアの前記共有プリンタ機能が有効であるか又は無効であるかを継続的に監視することを特徴とする請求項1乃至4のいずれかに記載の共有プリントサーバ制御プログラム。
  6. 前記基本ソフトウェアの前記共有プリンタ機能が有効であることを検知したときは、前記追加スプーラの通信機能を無効とすることを特徴とする請求項4又は5に記載の共有プリントサーバ制御プログラム。
  7. 前記基本ソフトウェアの前記共有プリンタ機能が無効であることを検知したときは、前記追加スプーラの通信機能を有効とすることを特徴とする請求項4乃至6のいずれかに記載の共有プリントサーバ制御プログラム。
  8. 印刷ジョブの処理動作開始後、前記追加スプーラは、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた前記クライアントに対し、所定のプロトコルによりエラー情報を通知することを特徴とする請求項1乃至7のいずれかに記載の共有プリントサーバ制御プログラム。
  9. プリンタが接続されたサーバと、ネットワークを介して前記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御方法であって、
    前記サーバに搭載されている基本ソフトウェアに備えられ、一つ以上のクライアントの間でプリンタを共有するための共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを前記サーバ上に設ける過程と、
    前記クライアントから前記サーバに印刷ジョブが送信されると、前記追加スプーラが、先行して受信した印刷ジョブの処理動作終了を待たずに、前記クライアントから送信された印刷ジョブを順次総て受信する過程と、
    前記追加スプーラが、前記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく前記クライアントとの通信コネクションを遮断する過程と、
    前記追加スプーラが、受信した印刷ジョブを前記標準スプーラに順次転送する過程と、
    前記標準スプーラが、印刷ジョブをプリント・データに変換する過程と、
    を備えていることを特徴とする共有プリントサーバ制御方法。
  10. 印刷ジョブの処理動作開始後、前記追加スプーラが、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた前記クライアントに対し、所定のプロトコルによりエラー情報を通知する過程をさらに備えていることを特徴とする請求項9に記載の共有プリントサーバ制御方法。
  11. 前記標準スプーラ及び前記追加スプーラは、前記クライアント側から見たときに、いずれか一方のみが排他的に認識されることを特徴とする請求項9又は請求項10に記載の共有プリントサーバ制御方法。
JP2005073537A 2005-03-15 2005-03-15 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法 Active JP4716165B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005073537A JP4716165B2 (ja) 2005-03-15 2005-03-15 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法
US11/375,262 US20060244994A1 (en) 2005-03-15 2006-03-15 Shared print server control program and shared print server control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005073537A JP4716165B2 (ja) 2005-03-15 2005-03-15 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法

Publications (2)

Publication Number Publication Date
JP2006259888A JP2006259888A (ja) 2006-09-28
JP4716165B2 true JP4716165B2 (ja) 2011-07-06

Family

ID=37099113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005073537A Active JP4716165B2 (ja) 2005-03-15 2005-03-15 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法

Country Status (2)

Country Link
US (1) US20060244994A1 (ja)
JP (1) JP4716165B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5473755B2 (ja) * 2010-04-27 2014-04-16 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
JP2021193502A (ja) * 2020-06-08 2021-12-23 キヤノン株式会社 情報処理方法、情報処理装置およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010749A (ja) * 1998-06-25 2000-01-14 Mitsubishi Electric Corp スプール制御方法
JP2000181656A (ja) * 1998-12-11 2000-06-30 Fuji Xerox Co Ltd 印刷データ管理装置及び印刷データ管理方法
JP2003271349A (ja) * 2002-03-12 2003-09-26 Sharp Corp 印刷ジョブチケットを用いて印刷ジョブを管理且つ処理するためのシステムおよび方法
JP2004178124A (ja) * 2002-11-26 2004-06-24 Hitachi Ltd 印刷自動回復装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3639772B2 (ja) * 1999-06-30 2005-04-20 キヤノン株式会社 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3817429B2 (ja) * 2000-02-23 2006-09-06 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US6874034B1 (en) * 2000-08-17 2005-03-29 Hewlett-Packard Development Company, L.P. Intelligent peer hybrid printing protocol
JP3720740B2 (ja) * 2000-09-12 2005-11-30 キヤノン株式会社 分散印刷システム、分散印刷制御方法、記憶媒体、及びプログラム
JP4420421B2 (ja) * 2001-03-19 2010-02-24 キヤノン株式会社 情報処理装置およびその制御方法
US7324220B1 (en) * 2001-07-09 2008-01-29 Lexmark International, Inc. Print performance under the windows® operating system
US20050179936A1 (en) * 2004-02-13 2005-08-18 Microsoft Corporation Scalable print spooler

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010749A (ja) * 1998-06-25 2000-01-14 Mitsubishi Electric Corp スプール制御方法
JP2000181656A (ja) * 1998-12-11 2000-06-30 Fuji Xerox Co Ltd 印刷データ管理装置及び印刷データ管理方法
JP2003271349A (ja) * 2002-03-12 2003-09-26 Sharp Corp 印刷ジョブチケットを用いて印刷ジョブを管理且つ処理するためのシステムおよび方法
JP2004178124A (ja) * 2002-11-26 2004-06-24 Hitachi Ltd 印刷自動回復装置

Also Published As

Publication number Publication date
JP2006259888A (ja) 2006-09-28
US20060244994A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
US8717601B2 (en) Server apparatus, and terminal apparatus
US8860996B2 (en) Printing system, printer, print server, and method thereof
US20100182638A1 (en) Recording medium and information processor
KR20120049127A (ko) 정보 처리 장치, 그의 인쇄 데이터 처리 방법, 및 그의 프로그램을 저장하는 저장 매체
CN107728960B (zh) 信息处理装置、信息处理方法和存储介质
JP6547462B2 (ja) 通信制御装置、通信制御ドライバーおよび通信制御方法
US20150116755A1 (en) Information processing apparatus, control method, and storage medium
JP4577610B2 (ja) 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法
US11076055B2 (en) Control apparatus detects an error in image processor and reboots the image processor before transmits printing data to printing apparatus
KR20130004155A (ko) 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
US20120062936A1 (en) Printer, computer readable medium, and method
JP5620674B2 (ja) 画像処理装置、画像処理装置の制御方法及びプログラム
JP5396847B2 (ja) 印刷装置及びその制御方法
JP4716165B2 (ja) 共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法
JP2017204139A (ja) 更新アプリケーション及び更新方法
US10397439B2 (en) Server system transmitting job to processing apparatus, information processing system, and control method for server system
US9917964B2 (en) Information processing apparatus, information system, information processing method, and storage medium
US9917958B2 (en) Printing apparatus and control method of printing apparatus requesting print job from server system based on detected event
JP6794281B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
US20170289314A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
JP5961937B2 (ja) 情報処理システム
JP6481422B2 (ja) 画像処理装置およびプログラム
US20170228623A1 (en) Print control device, printing system, non-transitory computer readable medium, and print control method
JP6464657B2 (ja) 画像処理装置、プログラム更新方法、およびコンピュータプログラム
JP4155512B2 (ja) 多重アクセス制御システムおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101022

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101129

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110317

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350