(57)【要約】【課題】  基本ソフトウェアの標準機能や印刷フレームワークを改変することなく、共有プリンタ・システムにおけるクライアント側から見た印刷ジョブの円滑且つ迅速な処理を実現することが可能な共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を提供する。【解決手段】  本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法は、サーバに搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラをサーバ上に設け、追加スプーラは、先行して受信した印刷ジョブの処理動作終了を待たずに、クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なくクライアントとの通信コネクションを遮断する、ことを含む共有プリンタ・システムの動作を実現する。【選択図】  図１
2006259888.tif 000002
【特許請求の範囲】
【請求項１】
プリンタが接続されたサーバと、ネットワークを介して前記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御プログラムであって、
前記サーバに搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを前記サーバ上に設け、
前記追加スプーラは、先行して受信した印刷ジョブの処理動作終了を待たずに、前記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく前記クライアントとの通信コネクションを遮断する、
ことを含む前記共有プリンタ・システムの動作を実現することを特徴とする共有プリントサーバ制御プログラム。
【請求項２】
前記追加スプーラは、受信した印刷ジョブを前記標準スプーラに順次転送することを特徴とする請求項１に記載の共有プリントサーバ制御プログラム。
【請求項３】
前記標準スプーラ及び前記追加スプーラは、前記クライアント側から見たときに、いずれか一方のみが排他的に認識されることを特徴とする請求項１又は２に記載の共有プリントサーバ制御プログラム。
【請求項４】
前記共有プリントサーバ制御プログラムのインストール時又は起動時に、前記基本ソフトウェアの前記共有プリンタ機能が無効になる設定が行われることを特徴とする請求項１乃至３のいずれかに記載の共有プリントサーバ制御プログラム。
【請求項５】
前記共有プリントサーバ制御プログラムの起動時に、前記基本ソフトウェアの前記共有プリンタ機能が有効であるか又は無効であるかを監視することを特徴とする請求項１乃至４のいずれかに記載の共有プリントサーバ制御プログラム。
【請求項６】
前記共有プリントサーバ制御プログラムの起動後に、前記基本ソフトウェアの前記共有プリンタ機能が有効であるか又は無効であるかを継続的に監視することを特徴とする請求項１乃至５のいずれかに記載の共有プリントサーバ制御プログラム。
【請求項７】
前記基本ソフトウェアの前記共有プリンタ機能が有効であることを検知したときは、前記追加スプーラの通信機能を無効とすることを特徴とする請求項５又は６に記載の共有プリントサーバ制御プログラム。
【請求項８】
前記基本ソフトウェアの前記共有プリンタ機能が無効であることを検知したときは、前記追加スプーラの通信機能を有効とすることを特徴とする請求項５乃至７のいずれかに記載の共有プリントサーバ制御プログラム。
【請求項９】
印刷ジョブの処理動作開始後、前記追加スプーラは、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた前記クライアントに対し、所定のプロトコルによりエラー情報を通知することを特徴とする請求項１乃至８のいずれかに記載の共有プリントサーバ制御プログラム。
【請求項１０】
プリンタが接続されたサーバと、ネットワークを介して前記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御方法であって、
前記サーバに搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを前記サーバ上に設ける過程と、
前記クライアントから前記サーバに印刷ジョブが送信されると、前記追加スプーラが、先行して受信した印刷ジョブの処理動作終了を待たずに、前記クライアントから送信された印刷ジョブを順次総て受信する過程と、
前記追加スプーラが、前記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく前記クライアントとの通信コネクションを遮断する過程と、
を備えていることを特徴とする共有プリントサーバ制御方法。
【請求項１１】
前記追加スプーラが、受信した印刷ジョブを前記標準スプーラに順次転送する過程をさらに備えていることを特徴とする請求項１０に記載の共有プリントサーバ制御方法。
【請求項１２】
印刷ジョブの処理動作開始後、前記追加スプーラが、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた前記クライアントに対し、所定のプロトコルによりエラー情報を通知する過程をさらに備えていることを特徴とする請求項１１に記載の共有プリントサーバ制御方法。
【請求項１３】
前記標準スプーラ及び前記追加スプーラは、前記クライアント側から見たときに、いずれか一方のみが排他的に認識されることを特徴とする請求項１０乃至１２のいずれかに記載の共有プリントサーバ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム全体を管理する基本ソフトウェア、即ち、オペレーティングシステム（ＯＳ）に備えられている共有プリントサーバ制御機能を改善する共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に関する。
【背景技術】
【０００２】
アップル・コンピュータ社（Apple Computer,Inc.（登録商標））が提供するパーソナル・コンピュータ「マッキントッシュ（Macintosh（登録商標））」、「パワー・マッキントッシュ（Power Macintosh（登録商標））」、「パワー・マック（Power Mac（登録商標））」、「アイ・マック（iMac（登録商標））」、「イー・マック（eMac（登録商標））」、「マック・ミニ（Mac mini（登録商標））」、「アイ・ブック（iBook（登録商標））」、「パワー・ブック（Power Book（登録商標））」等に搭載されている基本ソフトウェア、即ち、オペレーティングシステム（ＯＳ）の現行バージョンである「Ｍａｃ  ＯＳ  Ｘ（マック・オーエス・テン（登録商標））」には、印刷処理の際に使用される「共有プリンタ」という機能が備えられている。
【０００３】
この「共有プリンタ」機能を利用する場合、プリントサーバとして機能するマッキントッシュ・パーソナル・コンピュータ（以下、「サーバ」という。）に搭載されている基本ソフトが提供するユーザインタフェース（ＵＩ）を通じて所定の設定を行うことにより、ネットワークを介してサーバに接続されている他のマッキントッシュ・パーソナル・コンピュータ（以下、「クライアント」という。）から送信される印刷ジョブをサーバが受信して、サーバにローカル接続又はネットワーク接続されたプリンタを使用して、当該印刷ジョブに基づく印刷を実行することができる。
【０００４】
図５は、プリンタが接続されたサーバ、及び、ネットワークを介してサーバに接続されたクライアントにより構成される共有プリンタ・システムのブロック図である。
【０００５】
サーバ３には、プリンタ４がローカル接続又はネットワーク接続されている。また、サーバ３には、クライアント１がネットワーク２を介して接続されている。尚、図５においては、図面の簡略化のため、サーバ３にネットワーク接続されているクライアント１は一つのみが示されているが、通常は、複数のクライアント１が接続されている。
【０００６】
クライアント１にインストールされている任意のアプリケーション・ソフトウェア１１により文書ファイル、画像ファイル等の印刷対象ファイルが作成又は編集されて、印刷実行命令が入力されると、アプリケーション・ソフトウェア１１により生成されたイメージ・データに基づきグラフィック・エンジン１３が１ページごとのＰＤＦファイル１４を作成する。
【０００７】
一方、アプリケーション・ソフトウェア１１からは、プリントＡＰＩ（Application Program Interface）１２に対し印刷要求が出力され、これに応じてプリントＡＰＩ１２は、共有プリンタ・システムに対して印刷要求を行うクエリー又はジョブチケットを作成し、ＰＤＦファイル１４に添付する。
【０００８】
クライアント１に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行うクライアント・スプーラ（ＣＵＰＳ（Common UNIX Printing System（登録商標）））１５は、印刷ジョブを構成するＰＤＦファイル１４をクエリー又はジョブチケットと共に、ネットワーク２を介してサーバ３に送信する。
【０００９】
サーバ３に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラ（ＣＵＰＳ）３１は、ネットワーク２を介してクライアント１から印刷ジョブを受信すると、その印刷ジョブを順次ラスタ・データに変換してバックエンド３２に送信し、バックエンド３２は、当該ラスタ・データをプリント・データとしてプリンタ４に出力し、プリンタ４は、当該プリント・データに基づいて印刷を実行する。
【００１０】
「Ｍａｃ  ＯＳ  Ｘ」の標準機能に基づいて構成される上述のような共有プリンタ・システムについては、アップル・コンピュータ社の公式ウェブサイト等において詳細に解説されている（例えば、非特許文献１参照）。
【非特許文献１】「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）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
「Ｍａｃ  ＯＳ  Ｘ」の標準機能に基づいて構成される上述のような共有プリンタ・システムでは、サーバ３における印刷ジョブの処理動作中においても、サーバ３とクライアント１との通信コネクションは維持され、印刷ジョブの処理動作終了までの間に何等かのエラーが発生した場合には、エラー情報がクライアント１に通知される。
【００１２】
上記共有プリンタ・システムにおいては、当該エラー情報がクライアント１に備えられているユーザインタフェースを通じて表示されることが一つの特徴点となっており、印刷フレームワークとしてＣＵＰＳを用いているＬｉｎｕｘ（登録商標）には無い利便性を提供している。
【００１３】
しかしながら、「Ｍａｃ  ＯＳ  Ｘ」の標準機能に基づいて構成される共有プリンタ・システムは、上述のように、印刷ジョブの処理動作終了までサーバ３とクライアント１との通信コネクションを維持するために、以下のような不都合な点を有している。
【００１４】
第一に、複数のクライアントが複数の印刷ジョブをサーバに送信しようとする場合、各クライアントは、当該クライアントが先行して送信した印刷ジョブの処理が完了するまで、後続の印刷ジョブを送信することができず、従って、急を要する印刷を迅速に実行することができないという不都合がある。
【００１５】
第二に、クライアントからサーバに印刷ジョブが送信されると、印刷ジョブの処理動作終了まで両者間の通信コネクションが維持され、かつ、クライアントのモニタ上には印刷ジョブの処理動作の進捗状況を表示するジョブ・ウィンドウが表示され続けるため、クライアントからサーバに印刷ジョブを送信し終わった後であっても、印刷ジョブの処理動作終了までクライアントの電源を切ることができないという不都合がある。
【００１６】
以上のような不都合な点を有するため、特に、複数のクライアントが複数の印刷ジョブをそれぞれサーバに同時に送信しようとして、サーバ上に複数の印刷ジョブが停滞した状況下において、クライアントのユーザビリティ、利便性を著しく低下させるという問題点を発生させる。
【００１７】
上記問題点は、「Ｍａｃ  ＯＳ  Ｘ」の印刷フレームワークである「ＴＩＯＧＡ」に起因しているが、印刷フレームワークをオープンソース・ソフトウェアであるＣＵＰＳに入れ替えたバージョンでも同様に発生する。
【００１８】
従って、上記問題点は、「Ｍａｃ  ＯＳ  Ｘ」の印刷フレームワークの改善によって解消されることが望ましいが、その見通しはない。
【００１９】
しかし、「Ｍａｃ  ＯＳ  Ｘ」の印刷フレームワークは、「Ｍａｃ  ＯＳ  Ｘ」の設計ポリシーによるものであり、ベンダ等が任意に変更することは容認されるべきではない。
【００２０】
一方、上記問題点の回避は、特に、多数の印刷ジョブを処理する必要のあるハイエンドユーザから強く要望されているところであり、「Ｍａｃ  ＯＳ  Ｘ」の印刷フレームワーク自体を変更することなく、ベンダにおいて提供可能な問題回避策が望まれている。
【００２１】
本発明の目的は、基本ソフトウェアの標準機能や印刷フレームワークを改変することなく、共有プリンタ・システムにおけるクライアント側から見た印刷ジョブの円滑且つ迅速な処理を実現することが可能な共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を提供することである。
【課題を解決するための手段】
【００２２】
本発明に係る共有プリントサーバ制御プログラムによれば、
プリンタが接続されたサーバと、ネットワークを介して上記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御プログラムであって、
上記サーバに搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを上記サーバ上に設け、
上記追加スプーラは、先行して受信した印刷ジョブの処理動作終了を待たずに、上記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく上記クライアントとの通信コネクションを遮断する、
ことを含む上記共有プリンタ・システムの動作を実現することを特徴とする。
【００２３】
本発明に係る共有プリントサーバ制御プログラムの上記構成において、上記追加スプーラは、受信した印刷ジョブを上記標準スプーラに順次転送するものとするとよい。
【００２４】
上記標準スプーラ及び上記追加スプーラは、上記クライアント側から見たときに、いずれか一方のみが排他的に認識されるものとするとよい。
【００２５】
上記共有プリントサーバ制御プログラムのインストール時又は起動時に、上記基本ソフトウェアの上記共有プリンタ機能が無効になる設定が行われるものとするとよい。
【００２６】
上記共有プリントサーバ制御プログラムの起動時に、上記基本ソフトウェアの上記共有プリンタ機能が有効であるか又は無効であるかを監視するものとするとよい。
【００２７】
上記共有プリントサーバ制御プログラムの起動後に、上記基本ソフトウェアの上記共有プリンタ機能が有効であるか又は無効であるかを継続的に監視するものとするとよい。
【００２８】
上記基本ソフトウェアの上記共有プリンタ機能が有効であることを検知したときは、上記追加スプーラの通信機能を無効とするものとするとよい。
【００２９】
上記基本ソフトウェアの上記共有プリンタ機能が無効であることを検知したときは、上記追加スプーラの通信機能を有効とするものとするとよい。
【００３０】
印刷ジョブの処理動作開始後、上記追加スプーラは、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた上記クライアントに対し、所定のプロトコルによりエラー情報を通知するものとするとよい。
【００３１】
本発明に係る共有プリントサーバ制御方法によれば、
プリンタが接続されたサーバと、ネットワークを介して上記サーバに接続された一つ以上のクライアントとを含む共有プリンタ・システムにおいて使用される共有プリントサーバ制御方法であって、
上記サーバに搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラの他に、印刷ジョブの管理を補助する追加スプーラを上記サーバ上に設ける過程と、
上記クライアントから上記サーバに印刷ジョブが送信されると、上記追加スプーラが、先行して受信した印刷ジョブの処理動作終了を待たずに、上記クライアントから送信された印刷ジョブを順次総て受信する過程と、
上記追加スプーラが、上記クライアントから送信された印刷ジョブを順次総て受信した後、遅滞なく上記クライアントとの通信コネクションを遮断する過程と、
を備えていることを特徴とする。
【００３２】
本発明に係る共有プリントサーバ制御方法の上記構成において、上記追加スプーラが、受信した印刷ジョブを上記標準スプーラに順次転送する過程をさらに備えているものとするとよい。
【００３３】
印刷ジョブの処理動作開始後、上記追加スプーラが、プリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定の常駐プログラムが予めインストールされた上記クライアントに対し、所定のプロトコルによりエラー情報を通知する過程をさらに備えているものとするとよい。
【００３４】
上記標準スプーラ及び上記追加スプーラは、上記クライアント側から見たときに、いずれか一方のみが排他的に認識されるものとするとよい。
【発明を実施するための最良の形態】
【００３５】
以下、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法の実施の形態について、図面を参照しながら説明する。
【００３６】
図１は、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法により構成される共有プリンタ・システムのブロック図である。
【００３７】
共有プリンタ・システムは、プリンタ４がローカル接続又はネットワーク接続されたサーバ３と、ネットワーク２を介してサーバ３に接続されたクライアント１とにより構成されている。尚、図１においても、図面の簡略化のため、サーバ３にネットワーク接続されているクライアント１は一つのみが示されているが、通常は、複数のクライアント１が接続されている。
【００３８】
クライアント１からサーバ３に印刷ジョブが送信されるまでの動作手順については、従来の共有プリンタ・システムと同様であり、先ず、クライアント１にインストールされている任意のアプリケーション・ソフトウェア１１により文書ファイル、画像ファイル等の印刷対象ファイルが作成又は編集されて、印刷実行命令が入力されると、アプリケーション・ソフトウェア１１により生成されたイメージ・データに基づきグラフィック・エンジン１３が１ページごとのＰＤＦファイル１４を作成する。
【００３９】
一方、アプリケーション・ソフトウェア１１からは、プリントＡＰＩ１２に対し印刷要求が出力され、これに応じてプリントＡＰＩ１２は、共有プリンタ・システムに対して印刷要求を行うクエリー又はジョブチケットを作成し、ＰＤＦファイル１４に添付する。
【００４０】
クライアント１に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行うクライアント・スプーラ（ＣＵＰＳ）１５は、印刷ジョブを構成するＰＤＦファイル１４をクエリー又はジョブチケットと共に、ネットワーク２を介してサーバ３に送信する。
【００４１】
ここで、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法が適用された共有プリンタ・システムにおいては、サーバ３に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラ（ＣＵＰＳ）３１の他に、印刷ジョブの管理を補助する追加スプーラ３３がサーバ３上に設けられている。
【００４２】
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ３上に設けられた追加スプーラ３３は、クライアント１からサーバ３に印刷ジョブが送信されると、複数のクライアント１からそれぞれ複数の印刷ジョブが送信された場合であっても、先行して受信した印刷ジョブの処理動作終了を待たずに、それらの複数の印刷ジョブを順次総て受信した後、遅滞なく各クライアント１との通信コネクションを遮断すると共に、受信した複数の印刷ジョブを標準スプーラ３１に順次転送する。
【００４３】
追加スプーラ３３は、先行して受信した印刷ジョブの処理動作終了を待たずに、各クライアント１から送信された印刷ジョブを順次総て受信するので、クライアント１は、送信したい印刷ジョブが複数あり、かつ、他のクライアント１からも印刷ジョブが送信されている場合であっても、自身が先行して送信した印刷ジョブの処理動作終了を待たずに、それらの複数の印刷ジョブを円滑且つ迅速に送信することができる。従って、急を要する印刷実行のための印刷ジョブの送信を速やかに完了することができる。
【００４４】
また、追加スプーラ３３は、あるクライアント１から送信された印刷ジョブを順次総て受信した後、遅滞なく当該クライアント１との通信コネクションを遮断するので、その時点で、当該クライアント１のモニタ上に表示されていたジョブ・ウィンドウが消滅する。従って、各クライアント１は、印刷ジョブを送信し終わった後、自身が送信した総ての印刷ジョブの処理動作終了を待たずに、サーバ３との通信コネクションから解放されるので、印刷ジョブの送信完了後、直ちに電源を切ることが可能となる。例えば、クライアント１を操作するユーザが、実際の印刷結果の確認は後刻でもよいが、印刷ジョブの送信完了後に直ちにクライアント１の電源を切って外出又は帰宅したい場合等に、利便性が向上する。
【００４５】
追加スプーラ３３は、ネットワーク２を介して各クライアント１から受信し保持している印刷ジョブを、受信した順序に標準スプーラ３１に順次転送していく。
【００４６】
サーバ３に搭載されている基本ソフトウェアに備えられ、共有プリンタ機能に基づく印刷ジョブの管理を行う標準スプーラ３１は、追加スプーラ３３から印刷ジョブを受信すると、その印刷ジョブを順次ラスタ・データに変換してバックエンド３２に送信し、バックエンド３２は、当該ラスタ・データをプリント・データとしてプリンタ４に出力し、プリンタ４は、当該プリント・データに基づいて印刷を実行する。
【００４７】
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法は、サーバ３上に追加スプーラ３３を設けることに関し、サーバ３に搭載されている基本ソフトウェアに備えられている「共有プリンタ」機能と同等の通信プロトコルに従うものとするとよい。
【００４８】
但し、基本ソフトウェアの「共有プリンタ」機能が有効になっており、標準スプーラ３１がクライアント１側から認識可能な状態になっていると、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法において使用する通信ポートと、基本ソフトウェアの「共有プリンタ」機能が使用する通信ポートとについて占有の衝突が発生し、共有プリンタ・システムが正常に機能しなくなるばかりか、基本ソフトウェアの動作に重大な影響を与える可能性がある。
【００４９】
従って、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を共有プリンタ・システムに適用する場合には、ユーザの操作又は操作スクリプトの実行により、基本ソフトウェアの「共有プリンタ」機能を予め無効にしておくことが望ましい。また、基本ソフトウェアの「共有プリンタ」機能が当初は無効になっていても、その後のユーザの操作により有効にされ得るので、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかは、継続的に監視する必要がある。
【００５０】
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を共有プリンタ・システムに適用する際には、原則として、基本ソフトウェアの「共有プリンタ」機能を予め無効にしておくこととするが、本発明に係る共有プリントサーバ制御プログラムの起動時に基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかを監視すると共に、その後、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかを継続的に監視し、基本ソフトウェアの「共有プリンタ」機能が有効であることを検知したときは、追加スプーラ３３の通信機能を無効とする一方、基本ソフトウェアの「共有プリンタ」機能が無効であることを検知したときは、追加スプーラ３３の通信機能を有効とする。
【００５１】
クライアント１側から見ると、基本ソフトウェアの「共有プリンタ」機能が有効であり、追加スプーラ３３の通信機能が無効であるときは、標準スプーラ３１のみが認識され、逆に、基本ソフトウェアの「共有プリンタ」機能が無効であり、追加スプーラ３３の通信機能が有効であるときは、追加スプーラ３３のみが認識される。
【００５２】
即ち、標準スプーラ３１及び追加スプーラ３３は、クライアント１側から見たときに、いずれか一方のみが排他的に認識されるようにする。これにより、通信ポートの占有の衝突の問題を回避することができ、共有プリンタ・システムの動作上の不都合を回避することができる。
【００５３】
但し、標準スプーラ３１及び追加スプーラ３３のいずれか一方のみが排他的に認識されるのは、クライアント１側から見たときに関してであり、実際には、サーバ３上では、標準スプーラ３１及び追加スプーラ３３の双方とも、前述したように稼働状態となっていて所定の処理動作を行っている。
【００５４】
以下、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法を共有プリンタ・システムに適用するに際して、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかを監視するための具体的方法について説明する。
【００５５】
図２は、本発明に係る共有プリントサーバ制御プログラムの起動時における基本ソフトウェアの「共有プリンタ」機能の監視動作手順を示すフローチャートである。
【００５６】
先ず最初に、本発明に係る共有プリントサーバ制御方法を実施するためのプログラム、即ち、本発明に係る共有プリントサーバ制御プログラムの起動時に（ステップＳ１０）、サーバ３に搭載されている基本ソフトウェアの「共有プリンタ」機能によりサーバ３の所定のポートが占有されているか否かを監視する（ステップＳ１１）。
【００５７】
基本ソフトウェアの「共有プリンタ」機能によりサーバ３の所定のポートが占有されている場合（Ａ）は、その旨を警告するアラート表示をサーバ３及び／又はクライアント１のモニタ上で行い（ステップＳ１２）、本発明に係る共有プリントサーバ制御プログラムを稼働状態にせずに、基本ソフトウェアの「共有プリンタ」機能が無効にされるまで、即ち、基本ソフトウェアの「共有プリンタ」機能により占有されていた所定のポートがオープン（開放）状態となるまで、待機する。
【００５８】
一方、基本ソフトウェアの「共有プリンタ」機能によりサーバ３の所定のポートが占有されていない場合（Ｂ）、即ち、上記所定のポートがオープン（開放）状態となっている場合は（ステップＳ１３）、本発明に係る共有プリントサーバ制御プログラムを起動して稼働状態にするための処理を継続する（ステップＳ１４）。
【００５９】
以上の監視動作手順により、本発明に係る共有プリントサーバ制御プログラムの起動時における通信ポートの占有の衝突の問題を回避することができる。
【００６０】
しかし、上述のように、基本ソフトウェアの「共有プリンタ」機能は、ユーザの操作によりいつでも有効にされ得るので、基本ソフトウェアの「共有プリンタ」機能が有効であるか又は無効であるかは、継続的に監視する必要がある。
【００６１】
基本ソフトウェアの「共有プリンタ」機能の設定変更が行われると、設定変更を行うためのユーザインタフェースにより呼び出されるスクリプト（CUPSd.config）の設定ファイルが書き換えられて当該スクリプトが再起動されることから、スクリプトの再起動前に上記設定ファイルを解読して、スクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が有効になるのか無効になるのかを事前に検知することができる。そして、その検知結果に応じて、本発明に係る共有プリントサーバ制御プログラム（以下、「本アプリケーション・ソフトウェア」ともいう。尚、図１及び図５に示す「アプリケーション・ソフトウェア１１」とは異なる。）が上記所定のポートを使用するか否かの設定を変更して、本アプリケーション・ソフトウェアを再起動する。これにより、基本ソフトウェアの「共有プリンタ」機能と本アプリケーション・ソフトウェアとの間における通信ポートの占有の衝突の問題を回避することができる。
【００６２】
図３は、基本ソフトウェアの「共有プリンタ」機能の設定変更が行われる際における「共有プリンタ」機能の有効又は無効の検知、及び、それに応じた本発明に係る共有プリントサーバ制御プログラムの設定変更の動作手順を示すフローチャートである。
【００６３】
ユーザの操作等により基本ソフトウェアの「共有プリンタ」機能の設定変更が行われると、設定変更を行うためのユーザインタフェースにより呼び出されるスクリプトの設定ファイルが書き換えられるので、当該スクリプトの再起動前に上記設定ファイルを解読して（ステップＳ２１）、次回のスクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が有効になるのか無効になるのかを事前に検知する（ステップＳ２２）。
【００６４】
設定ファイルの解読の結果、次回のスクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が有効になることが検知された場合は、本アプリケーション・ソフトウェアの設定ファイルにおける上記所定のポートを使用するか否かの設定を「ポート未使用」に書き換える（ステップＳ２３）。
【００６５】
一方、設定ファイルの解読の結果、次回のスクリプトの再起動後に基本ソフトウェアの「共有プリンタ」機能が無効になることが検知された場合は、本アプリケーション・ソフトウェアの設定ファイルにおける上記所定のポートを使用するか否かの設定を「ポート使用」に書き換える（ステップＳ２４）。
【００６６】
その後、基本ソフトウェアの「共有プリンタ」機能の設定変更に関わるスクリプトが再起動されると共に（ステップＳ２５）、本アプリケーション・ソフトウェアも再起動されて（ステップＳ２６）、上記動作手順に従う設定変更が行われる。
【００６７】
結果として、基本ソフトウェアの「共有プリンタ」機能と本アプリケーション・ソフトウェアとの間における通信ポートの占有の衝突の問題を回避することができる。
【００６８】
尚、本発明に係る共有プリントサーバ制御プログラムのインストール時又は起動時に、基本ソフトウェアの「共有プリンタ」機能が無効になる設定が行われるようにしておくことが一つの方策として考えられるが、そのような方策を採る場合でも、基本ソフトウェアの「共有プリンタ」機能は、その後のユーザの操作により有効にされ得るので、上述のような継続的な監視を行う必要がある。
【００６９】
ところで、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ３上に設けられる追加スプーラ３３は、前述のように、あるクライアント１から送信された印刷ジョブを順次総て受信した後、遅滞なく当該クライアント１との通信コネクションを遮断する。
【００７０】
この通信コネクション遮断処理は、クライアント１をサーバ３との通信コネクションから解放して前述のような利便性を提供する反面、そのままでは、印刷ジョブの処理動作中にエラーが発生しても、クライアント１はその事実を認識することができなくなってしまう。
【００７１】
そこで、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ３上に設けられる追加スプーラ３３は、標準スプーラ３１のＡＰＩを定期的に呼び出してプリンタ・ステータスを監視し、印刷ジョブの処理動作中にプリンタにエラーが発生した場合には、所定のプロトコルによりエラー情報をクライアント１に通知する。クライアント１には、所定のプロトコルによりエラー情報を受信して表示することができる所定の常駐プログラムを予めインストールしておく。
【００７２】
図４は、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法におけるサーバからクライアントへのエラー情報通知のための動作手順を示すフローチャートである。
【００７３】
本発明に係る共有プリントサーバ制御方法を実施するためのプログラム、即ち、本発明に係る共有プリントサーバ制御プログラムが稼働している状態でクライアント１からサーバ３に印刷ジョブが送信されると、プリンタ・ステータスの監視動作が開始される。
【００７４】
本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法に基づいてサーバ３上に設けられる追加スプーラ３３は、標準スプーラ３１のＡＰＩであるＣＵＰＳ関数を定期的に呼び出して（ステップＳ３１）、その戻り値をチェックする（ステップＳ３２）。
【００７５】
この標準スプーラ３１のＡＰＩ（ＣＵＰＳ関数）の呼び出しとその戻り値のチェックは、印刷ジョブの処理動作終了まで所定時間間隔ごとに定期的に行われ、戻り値が総て正常であれば、プリンタ・ステータスの監視動作はそのまま終了する。
【００７６】
一方、いずれかの時点での戻り値が異常であったとき、即ち、エラーが発生したときは、所定のプロトコルによる通信を行い（ステップＳ３３）、登録先へ例えばメールを発行する等して、エラー情報を通知する（ステップＳ３４）。エラー情報は、通常、当該印刷ジョブの送信元であるクライアント１へ通知される。エラー情報は、例えば、そのエラーの種類、発生時刻、発生原因等の情報を含むものとするとよい。クライアント１を操作するユーザは、そのエラー情報に基づき、適切且つ迅速な対応を取ることができる。
【００７７】
上述の本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法の動作手順は、サーバ３及びクライアント１に搭載されている基本ソフトウェアと協働する本発明に係る共有プリントサーバ制御プログラムに基づき、サーバ３及びクライアント１に備えられているＣＰＵ（中央処理装置）により実行される。
【００７８】
以上に説明したように、本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法によれば、基本ソフトウェアの標準機能や印刷フレームワークを改変することなく、共有プリンタ・システムにおけるクライアント側から見た印刷ジョブの円滑且つ迅速な処理を実現することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法により構成される共有プリンタ・システムのブロック図である。
【図２】本発明に係る共有プリントサーバ制御プログラムの起動時における基本ソフトウェアの「共有プリンタ」機能の監視動作手順を示すフローチャートである。
【図３】基本ソフトウェアの「共有プリンタ」機能の設定変更が行われる際における「共有プリンタ」機能の有効又は無効の検知、及び、それに応じた本発明に係る共有プリントサーバ制御プログラムの設定変更の動作手順を示すフローチャートである。
【図４】本発明に係る共有プリントサーバ制御プログラム及び共有プリントサーバ制御方法におけるサーバからクライアントへのエラー情報通知のための動作手順を示すフローチャートである。
【図５】プリンタが接続されたサーバ、及び、ネットワークを介してサーバに接続されたクライアントにより構成される共有プリンタ・システムのブロック図である。
【符号の説明】
【００８０】
１  クライアント
２  ネットワーク
３  サーバ
４  プリンタ
１１  アプリケーション・ソフトウェア
１２  プリントＡＰＩ
１３  グラフィック・エンジン
１４  ＰＤＦファイル
１５  クライアント・スプーラ（ＣＵＰＳ）
３１  標準スプーラ（ＣＵＰＳ）
３２  バックエンド
３３  追加スプーラ
【図１】
2006259888.tif 000003
【図２】
2006259888.tif 000004
【図３】
2006259888.tif 000005
【図４】
2006259888.tif 000006
【図５】
2006259888.tif 000007