(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143256
(43)【公開日】2024-10-11
(54)【発明の名称】情報処理プログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20241003BHJP
B41J 29/38 20060101ALI20241003BHJP
【FI】
G06F3/12 329
G06F3/12 303
G06F3/12 328
G06F3/12 360
G06F3/12 361
G06F3/12 386
B41J29/38 201
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023055833
(22)【出願日】2023-03-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110003096
【氏名又は名称】弁理士法人第一テクニカル国際特許事務所
(72)【発明者】
【氏名】門田 政敏
【テーマコード(参考)】
2C061
【Fターム(参考)】
2C061AP01
2C061HJ06
2C061HN05
2C061HN15
2C061HQ03
2C061HQ17
(57)【要約】
【課題】サーバがなくともプリンタの占有を実現でき、且つ、ローカルプリンタにも対応することができる情報処理プログラムを提供する。
【解決手段】各クライアントPC100の各プリンタアプリケーション170は、印刷システム1が有する少なくとも1つのクライアントPC100による、プリンタ200に対する占有を管理するための設定ファイルを取得するステップS140と、ステップS140で取得した設定ファイルに基づき、少なくとも1つのクライアントPC100によるプリンタ200の占有を実行するステップS160~ステップS190と、を実行する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
第1排紙部を備えた第1印刷装置に対し通信可能な情報処理装置の演算部によって実行可能であり、前記第1印刷装置に対応可能な情報処理プログラムであって、前記情報処理装置にはOS標準印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記OS標準印刷ソフトウェアに仮想の印刷装置として登録可能であり、
前記情報処理プログラムは、前記OS標準印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記情報処理装置の演算部に対し、
前記OS標準印刷ソフトウェアからの第1印刷データを取得し、当該第1印刷データに基づく第2印刷データを前記第1印刷装置へ向けて送信する印刷データ送信処理と、
前記情報処理装置を含む前記第1印刷装置と通信可能な複数の情報処理装置のうちの少なくとも1つの情報処理装置による、前記第1印刷装置又は前記第1排紙部に対する占有を管理するための占有管理情報を取得する占有管理情報取得処理と、
前記占有管理情報取得処理で取得した前記占有管理情報に基づき、前記少なくとも1つの情報処理装置による前記第1印刷装置又は前記第1排紙部の占有を実行する占有実行処理と、
を実行させるための、情報処理プログラム。
【請求項2】
前記演算部に対し、さらに、
前記占有実行処理により前記少なくとも1つの情報処理装置による前記第1印刷装置又は前記第1排紙部の占有が実行されている場合に、前記少なくとも1つの情報処理装置以外の他の情報処理装置が印刷を要求した際に当該他の情報処理装置に向けて前記第1印刷装置又は前記第1排紙部が使用不可であることの通知情報を送信する通知情報送信処理を実行させる、請求項1記載の情報処理プログラム。
【請求項3】
前記演算部を備えた前記情報処理装置は、外部装置に対し通信可能に構成されており、
前記占有管理情報取得処理では、
前記占有管理情報を前記外部装置から取得する、請求項1記載の情報処理プログラム。
【請求項4】
前記占有管理情報は、
前記少なくとも1つの情報処理装置による前記第1印刷装置又は前記第1排紙部の占有の時間帯情報を含む、請求項1乃至請求項3のいずれか1項記載の情報処理プログラム。
【請求項5】
前記演算部に対し、さらに、
現在時刻を取得する時刻情報取得処理と、
前記時刻情報取得処理で取得された前記現在時刻が前記時間帯情報の表す時間帯に該当するか否かを判定する時刻判定処理と、を実行させ、
前記占有実行処理は、
前記時刻判定処理で前記現在時刻が前記時間帯に該当すると判定した場合に、前記第1印刷装置又は前記第1排紙部の占有を実行する、請求項4記載の情報処理プログラム。
【請求項6】
前記演算部に対し、さらに、
前記時刻判定処理で前記現在時刻が前記時間帯に該当すると判定した場合に、前記占有管理情報に基づき印刷を要求する前記情報処理装置が前記時間帯において前記第1印刷装置又は前記第1排紙部を占有する主体であるか否かを判定する占有主体判定処理を実行させ、
前記占有実行処理は、
前記占有主体判定処理で前記印刷を要求する前記情報処理装置が前記第1印刷装置又は前記第1排紙部を占有する主体であると判定した場合に、前記第1印刷装置又は前記第1排紙部の占有を実行する、請求項5記載の情報処理プログラム。
【請求項7】
前記占有実行処理は、
前記占有主体判定処理で前記印刷を要求する前記情報処理装置が前記第1印刷装置又は前記第1排紙部を占有する主体であると判定した場合に、前記第1印刷装置又は前記第1排紙部の接続ステータスをオンラインとし、前記占有主体判定処理で前記印刷を要求する前記情報処理装置が前記第1印刷装置又は前記第1排紙部を占有する主体でないと判定した場合に、前記第1印刷装置又は前記第1排紙部の接続ステータスをオフラインとする、請求項6記載の情報処理プログラム。
【請求項8】
前記占有管理情報は、
前記第1印刷装置又は前記第1排紙部の占有開始の指示情報及び占有終了の指示情報のうち少なくとも一方を含む、請求項1乃至請求項3のいずれか1項記載の情報処理プログラム。
【請求項9】
前記占有管理情報は、
前記第1印刷装置又は前記第1排紙部の占有の終了タイミング情報として、前記占有の実行時に非印刷状態が所定時間継続したことを含む、請求項1乃至請求項3のいずれか1項記載の情報処理プログラム。
【請求項10】
前記演算部に対し、さらに、
前記占有主体判定処理で前記印刷を要求する前記情報処理装置が前記第1印刷装置又は前記第1排紙部を占有する主体でないと判定した場合に、前記第1印刷装置に代替する第2印刷装置又は前記第1排紙部に代替する前記第1印刷装置が備える第2排紙部が設定されているか否かを判定する代替判定処理を実行させ、
前記代替判定処理で前記第2印刷装置又は前記第2排紙部が設定されていると判定した場合には、前記印刷データ送信処理において、前記第2印刷データを前記第2印刷装置又は前記第1印刷装置へ向けて送信する、
請求項6記載の情報処理プログラム。
【請求項11】
前記演算部に対し、さらに、
前記代替判定処理で前記第2印刷装置又は前記第2排紙部が設定されていないと判定した場合には、前記時刻判定処理において前記現在時刻が前記時間帯に該当しないと判定されるようになるまで待機する待機処理を実行させ、
前記時刻判定処理において前記現在時刻が前記時間帯に該当しないと判定されたら、前記印刷データ送信処理において、前記第2印刷データを前記第1印刷装置へ向けて送信する、
請求項10記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置に対し通信可能な情報処理装置によって実行される情報処理プログラムに関する。
【背景技術】
【0002】
一般に、プリンタは印刷ジョブを受信した順に印刷を実行する。このため、複数のユーザが共有して使用するプリンタでは、連続性のある複数の印刷ジョブを印刷している最中に他の印刷ジョブが混入してしまうことが起こり得る。
【0003】
従来、このような印刷ジョブの混入を防止可能な印刷システムが知られている。例えば特許文献1には、プリンタに送信しようとするジョブに連続性がある場合に、プリントサーバがプリンタに対して占有開始を指示し、連続性を有するジョブのプリンタへの送信が終了すると占有終了を指示する、印刷システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記従来技術の印刷システムは、プリンタに対して占有開始及び占有終了を指示するプリントサーバを有する。このため、システム構成が複雑化すると共に、ローカルプリンタに対応することができない。
【0006】
本発明の目的は、サーバがなくともプリンタの占有を実現でき、且つ、ローカルプリンタにも対応することができる情報処理プログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本願発明は、第1排紙部を備えた第1印刷装置に対し通信可能な情報処理装置の演算部によって実行可能であり、前記第1印刷装置に対応可能な情報処理プログラムであって、前記情報処理装置にはOS標準印刷ソフトウェアを有するオペレーティングシステムが搭載されており、前記情報処理プログラムは前記OS標準印刷ソフトウェアに仮想の印刷装置として登録可能であり、前記情報処理プログラムは、前記OS標準印刷ソフトウェアに前記仮想の印刷装置として登録されたとき、前記情報処理装置の演算部に対し、前記OS標準印刷ソフトウェアからの第1印刷データを取得し、当該第1印刷データに基づく第2印刷データを前記第1印刷装置へ向けて送信する印刷データ送信処理と、前記情報処理装置を含む前記第1印刷装置と通信可能な複数の情報処理装置のうちの少なくとも1つの情報処理装置による、前記第1印刷装置又は前記第1排紙部に対する占有を管理するための占有管理情報を取得する占有管理情報取得処理と、前記占有管理情報取得処理で取得した前記占有管理情報に基づき、前記少なくとも1つの情報処理装置による前記第1印刷装置又は前記第1排紙部の占有を実行する占有実行処理と、を実行させる。
【0008】
本願発明の情報処理プログラムは、第1排紙部を備えた第1印刷装置に対し通信可能な情報処理装置の演算部によって実行可能であり、第1印刷装置に対応可能である。情報処理装置にはOS標準印刷ソフトウェアを有するオペレーティングシステムが搭載されており、情報処理プログラムはOS標準印刷ソフトウェアに仮想の印刷装置として登録可能である。情報処理プログラムは、OS標準印刷ソフトウェアに仮想の印刷装置として登録されたとき、情報処理装置の演算部に対し、印刷データ送信処理と、占有管理情報取得処理と、占有実行処理と、を実行させる。印刷データ送信処理では、OS標準印刷ソフトウェアからの第1印刷データが取得され、当該第1印刷データに基づく第2印刷データが第1印刷装置へ向けて送信される。占有管理情報取得処理では、情報処理装置を含む第1印刷装置と通信可能な複数の情報処理装置のうちの少なくとも1つの情報処理装置による、第1印刷装置又は第1排紙部に対する占有を管理するための占有管理情報が取得される。占有実行処理では、占有管理情報取得処理で取得した占有管理情報に基づき、少なくとも1つの情報処理装置による第1印刷装置又は第1排紙部の占有が実行される。
本願発明によれば、第1印刷装置に対して通信可能な複数の情報処理装置のうちの少なくとも1つの情報処理装置、例えばユーザが使用するPCにより、第1印刷装置又は第1排紙部を占有することができる。本願発明によれば、印刷装置の占有、又は、印刷装置が複数の排紙部を有する場合には特定の排紙部の占有を、サーバがなくても実現できるので、印刷システムの構成を簡素化できる。また、PCに直接接続された印刷装置又は印刷装置の排紙部を占有することができるので、ローカルプリンタにも対応することができる。
【発明の効果】
【0009】
本発明によれば、サーバがなくともプリンタの占有を実現でき、且つ、ローカルプリンタにも対応することができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係る印刷システムの全体構成の一例を表す図である。
【
図2】管理PCの設定ファイル記憶部に記憶された、第1実施形態に係る設定ファイルの内容の一例を表す図である。
【
図3】第1実施形態に係る管理PCのプロセッサによる設定ファイルの入力に係わる処理手順の一例を表すフローチャートである。
【
図4】第1実施形態に係る各クライアントPCの各プリンタアプリケーションが実行するプリンタの占有に係わる処理手順の一例を表すフローチャートである。
【
図5】管理PCの設定ファイル記憶部に記憶された、第2実施形態に係る設定ファイルの内容の一例を表す図である。
【
図6】第2実施形態に係る各クライアントPCの各プリンタアプリケーションが実行するプリンタの占有に係わる処理手順の一例を表すフローチャートである。
【
図7】再開スレッドで実行する処理手順の一例を表すフローチャートである。
【
図8】印刷システムが有するプリンタのうち、印刷要求対象のプリンタとは異なる他のプリンタが実行するフォローミープリントの要求手順の一例を表すフローチャートである。
【
図9】排紙トレイを占有する変形例において、管理PCの設定ファイル記憶部に記憶された設定ファイルの内容の一例を表す図である。
【
図10】排紙トレイを占有する変形例において、各クライアントPCの各プリンタアプリケーションが実行する排紙トレイの占有に係わる処理手順の一例を表すフローチャートである。
【
図11】印刷システムの他のシステム構成の一例を表す図である。
【
図12】クライアントPC及びプリンタのハードウェア構成の一例を表すブロック図である。
【
図13】管理PCのハードウェア構成の一例を表すブロック図である。
【発明を実施するための形態】
【0011】
<第1実施形態>
本発明の実施形態を図面を参照しつつ説明する。まず、本発明の第1実施形態について
図1~
図4を用いて説明する。第1実施形態は、代替プリンタが設定されていない場合の実施形態である。
【0012】
<印刷システムの全体構成>
図1に、第1実施形態に係る印刷システム1の全体構成の一例を示す。
図1に示すように、印刷システム1は、複数のクライアントPC100A,100Bと、プリンタ200と、管理PC300と、を有する。第1クライアントPC100Aは、例えばユーザAが使用する端末装置であり、プリンタ200と例えばUSB(Universal Serial Bus)ケーブルにより通信可能に接続されている。第2クライアントPC100Bは、例えばユーザBが使用する端末装置であり、プリンタ200と例えばUSBケーブルにより通信可能に接続されている。ユーザA及びユーザBはプリンタ200を共用する。管理PC300は、例えば印刷システム1の管理者Cが使用する端末装置であり、第1クライアントPC100A及び第2クライアントPC100Bと例えばインターネット、有線LAN又は無線LAN等のネットワークを介して通信可能に接続されている。なお、第1クライアントPC100A及び第2クライアントPC100Bが情報処理装置の一例であり、プリンタ200が第1印刷装置の一例であり、管理PC300が外部装置の一例である。
【0013】
第1クライアントPC100Aは、プリンタ200に印刷データを送信して印刷を実行させる。第1クライアントPC100Aは、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等であるが、スマートフォン等の携帯端末でもよい。詳細は後述するが、第1クライアントPC100Aはプロセッサ110と、各種の情報処理プログラムを記憶した記憶装置115と、を有する(後述の
図12参照)。プロセッサ110が各種の情報処理プログラムを実行することで、第1クライアントPC100Aは
図1に示す機能構成を有する。なお、プロセッサ110が演算部の一例である。
【0014】
第1クライアントPC100Aには、CUPS(Common Unix Printing System)160Aを有するOS(オペレーティングシステム)が搭載されている。第1クライアントPC100Aは、編集アプリケーション102Aと、CUPS160Aと、プリンタアプリケーション170Aと、を有する。編集アプリケーション102Aは、印刷ジョブをCUPS160Aに出力する。CUPS160Aは、OSに標準に搭載されプリンタベンダの提供するドライバを用いないドライバレス印刷を実行可能な、OS用のモジュール化された印刷システムである。CUPS160AがOS標準印刷ソフトウェアの一例であり、プリンタアプリケーション170Aが情報処理プログラムの一例である。
【0015】
プリンタアプリケーション170Aは、プリンタ200に対応する仮想プリンタとして、CUPS160Aに登録可能である。CUPS160Aは、プリンタアプリケーション170Aをプリンタとして取り扱い印刷に係わる各種の処理を実行する。各種の処理には、例えば能力情報取得処理や印刷データ送信処理等が含まれる。能力情報取得処理では、プリンタアプリケーション170Aは、プリンタ200の能力を表すアトリビュートを取得し、取得したアトリビュートをCUPS160Aが対応可能か否か、機能制限があるか否か、等に応じて変換し、変換したアトリビュートをCUPS160Aへ向けて出力する。CUPS160Aの印刷データ送信処理に対し、プリンタアプリケーション170Aは、CUPS160Aから印刷データを取得する。当該印刷データは、上記CUPS160Aの能力情報取得処理で出力したアトリビュートに対応している。プリンタアプリケーション170Aは、取得した印刷データをプリンタ200のアトリビュートや機能制限等に応じて変換し、変換した印刷データをプリンタ200へ向けて送信する。なお、変換前のアトリビュートが第1能力情報の一例であり、変換後のアトリビュートが第2能力情報の一例であり、変換前の印刷データが第1印刷データの一例であり、変換後の印刷データが第2印刷データの一例である。
【0016】
また、プリンタアプリケーション170Aは、プリンタ200に対する占有を管理するための設定ファイルを管理PC300から取得し、取得した設定ファイルに基づいてプリンタ200の占有を実行する処理等も行う。当該処理の詳細については後述する。
【0017】
第2クライアントPC100Bは、プリンタ200に印刷データを送信して印刷を実行させる。第2クライアントPC100Bは、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等であるが、スマートフォン等の携帯端末でもよい。第2クライアントPC100Bは、第1クライアントPC100Aと同様に、プロセッサ110と、各種の情報処理プログラムを記憶した記憶装置115と、を有する(後述の
図12参照)。プロセッサ110が各種の情報処理プログラムを実行することで、第2クライアントPC100Bは
図1に示す機能構成を有する。
【0018】
第2クライアントPC100Bには、CUPS160Bを有するOSが搭載されている。第2クライアントPC100Bは、編集アプリケーション102Bと、CUPS160Bと、プリンタアプリケーション170Bと、を有する。CUPS160BもOS標準印刷ソフトウェアの一例であり、プリンタアプリケーション170Bも情報処理プログラムの一例である。これらの機能は、上記第1クライアントPC100Aと同様であるので説明を省略する。
【0019】
管理PC300は、例えばデスクトップ型PC、ノート型PC、タブレットコンピュータ等である。詳細は後述するが、管理PC300はプロセッサ310と、各種の情報処理プログラムを記憶した記憶装置315と、を有する(後述の
図13参照)。プロセッサ310が各種の情報処理プログラムを実行する。管理PC300は、例えば管理者Cにより設定ファイルを入力する処理を実行する。入力された設定ファイルは、設定ファイル記憶部301に記憶される。設定ファイル記憶部301は、例えば記憶装置315の不揮発性記憶装置330のデータ記憶領域332(後述の
図13参照)である。当該処理の詳細については後述する。
【0020】
本実施形態では、第1クライアントPC100Aと第2クライアントPC100Bとを区別しない場合には、単に「クライアントPC100」と記載する。CUPS160AとCUPS160Bとを区別しない場合には、単に「CUPS160」と記載する。プリンタアプリケーション170Aとプリンタアプリケーション170Bとを区別しない場合には、単に「プリンタアプリケーション170」と記載する。
【0021】
なお、上述した印刷システム1のシステム構成は一例であり、上記以外としてもよい。例えば、クライアントPC100は上記2台に限らず3台以上でもよい。管理PC300は上記1台に限らず複数台でもよい。印刷システム1が有するプリンタ200は上記1台に限らず複数台でもよい。複数のプリンタ200を有する場合、各プリンタ200が各クライアントPC100にそれぞれ接続されてもよい。すなわち、複数のクライアントPC100が1台のプリンタ200に接続された構成を含めばよい。クライアントPC100とプリンタ200との接続は上記USBに限らず、例えばインターネット、有線LAN又は無線LAN等を介したネットワーク接続でもよい。
【0022】
<設定ファイルの内容>
図2に、管理PC300の設定ファイル記憶部301に記憶された、第1実施形態に係る設定ファイルの内容の一例を示す。設定ファイルは、印刷システム1が有する複数のクライアントPC100のうちの少なくとも1つのクライアントPC100による、プリンタ200に対する占有を管理するためのデータである。「占有」とは、占有の主体として設定されたクライアントPC100のみがプリンタ200を使用でき、占有の主体でないクライアントPC100はプリンタ200を使用できないことをいう。本実施形態では、占有状態を設定することを「予約」ともいう。設定ファイルが占有管理情報の一例である。
【0023】
図2に示す例では、印刷システム1は複数のプリンタ200、例えば第1プリンタ200A及び第2プリンタ200Bを有する。また印刷システム1は、ユーザAが使用する第1クライアントPC100A及びユーザBが使用する第2クライアントPC100Bの他に、例えばグループCが使用する1台又は複数台の第3クライアントPC100Cを有する。
図2に示すように、設定ファイルは占有の予約時間帯を含む。例えばユーザAが使用する第1クライアントPC100Aが、第1プリンタ200Aを、2023年の3月3日の12:00~17:00の予約時間帯で占有することが設定されている。また、例えばユーザBが使用する第2クライアントPC100Bが、第2プリンタ200Bを、2023年の3月4日の12:00~17:00の予約時間帯で占有することが設定されている。また、例えばグループCが使用する第3クライアントPC100Cが、第1プリンタ200Aを、2023年の3月5日の13:00~14:00の予約時間帯で占有することが設定されている。上記予約時間帯が時間帯情報の一例である。グループCは、例えばクライアントPC100を使用するユーザが属する企業、部門、所属グループ等に応じて設定されてもよい。あるいは、ドメインのグループ管理、OSのグループ管理などでの所属グループに応じて設定されてもよい。上記第1プリンタ200A及び第2プリンタ200Bが第1印刷装置の一例である。
【0024】
<管理PCによる設定ファイルの入力に係わる処理手順>
図3に、第1実施形態に係る管理PC300のプロセッサ310による設定ファイルの入力に係わる処理手順の一例を示す。
【0025】
ステップS10では、管理PC300のプロセッサ310は、管理者Cが例えば操作部350(後述の
図13参照)を使用して設定ファイルの内容を入力するまで待機する。
【0026】
ステップS20では、管理PC300のプロセッサ310は、上記ステップS10で入力された内容を、設定ファイル記憶部301に記憶された設定ファイルに反映(追記、修正、削除)する。以上により、本フローチャートを終了する。
【0027】
<プリンタアプリケーションによるプリンタの占有に係わる処理手順>
図4に、第1実施形態に係る各クライアントPC100の各プリンタアプリケーション170が実行するプリンタ200の占有に係わる処理手順の一例を示す。
図4のフローチャートは、例えば第1クライアントPC100Aのプリンタアプリケーション170Aと、第2クライアントPC100Bのプリンタアプリケーション170Bと、によってそれぞれ実行される。なお、プリンタアプリケーション170は、CUPS160に仮想プリンタとして登録されたときに以下のフローチャートを実行する。
【0028】
ステップS110では、プリンタアプリケーション170は、イベントの発生を待つために待機する。イベントには、例えばプリンタ200のアトリビュートの要求や印刷実行の要求等が含まれる。
【0029】
ステップS120では、プリンタアプリケーション170は、プリンタ200がオフライン状態であるかオンライン状態であるかを表すアトリビュートの要求を受け付けたか否かを判定する。プリンタアプリケーション170は、上記アトリビュートの要求を受け付けていない場合には(ステップS120:No)、次のステップS125に移行する。
【0030】
ステップS125では、プリンタアプリケーション170は、上記ステップS120で受け付けた、アトリビュートの要求以外の他の要求に応じたその他の処理を実行する。例えば印刷実行の要求を受け付けた場合には印刷を実行する。その後、上記ステップS110に戻る。
【0031】
一方、上記ステップS120において、プリンタアプリケーション170は、上記アトリビュートの要求を受け付けた場合には(ステップS120:Yes)、次のステップS130に移行する。
【0032】
ステップS130では、プリンタアプリケーション170は、上記ステップS120で受け付けたアトリビュートの要求の要求元情報を取得する。要求元情報は、例えばアトリビュートの要求を出力したユーザ、クライアントPC100、グループ等を識別するための情報である。
【0033】
ステップS140では、プリンタアプリケーション170は、管理PC300の設定ファイル記憶部301から設定ファイルを取得する。当該ステップS140が占有管理情報取得処理の一例である。
【0034】
ステップS150では、プリンタアプリケーション170は、現在時刻を取得する。当該ステップS150が時刻情報取得処理の一例である。
【0035】
ステップS160では、プリンタアプリケーション170は、上記ステップS140で取得した設定ファイルと、上記ステップS150で取得した現在時刻と、に基づき、現在時刻がプリンタ200の予約時間中であるか否かを判定する。すなわち、プリンタアプリケーション170は、現在時刻が設定ファイルの予約時間帯に該当するか否かを判定する。当該ステップS160が時刻判定処理の一例である。プリンタアプリケーション170は、現在時刻がプリンタ200の予約時間中でない場合には(ステップS160:No)、次のステップS170に移行する。
【0036】
ステップS170では、プリンタアプリケーション170は、プリンタ200がオンライン状態であることを表すアトリビュートを、要求元のクライアントPC100に送信する。上記アトリビュートが接続ステータスの一例である。これにより、要求元のクライアントPC100はプリンタ200を使用して印刷を実行できる。その後、上記ステップS110に戻る。
【0037】
一方、上記ステップS160において、プリンタアプリケーション170は、現在時刻がプリンタ200の予約時間中である場合には(ステップS160:Yes)、次のステップS180に移行する。
【0038】
ステップS180では、プリンタアプリケーション170は、上記ステップS130で取得した要求元情報と、上記ステップS140で取得した設定ファイルと、に基づき、アトリビュートの要求元が設定ファイルで設定された予約ユーザ、クライアントPC、又はグループであるか否かを判定する。すなわち、プリンタアプリケーション170は、アトリビュートの要求元のクライアントPC100が現在時刻の時間帯においてプリンタ200を占有する主体であるか否かを判定する。当該ステップS180が占有主体判定処理の一例である。
【0039】
プリンタアプリケーション170は、予約ユーザ等である場合には(ステップS180:Yes)、上記ステップS170に移行し、プリンタ200がオンライン状態であることを表すアトリビュートを、要求元のクライアントPC100に送信する。これにより、要求元のクライアントPC100はプリンタ200を使用して印刷を実行できる。その後、上記ステップS110に戻る。一方、プリンタアプリケーション170は、予約ユーザ等でない場合には(ステップS180:No)、次のステップS190に移行する。
【0040】
ステップS190では、プリンタアプリケーション170は、プリンタ200がオフライン状態であることを表すアトリビュートを、要求元のクライアントPC100に送信する。上記アトリビュートが接続ステータスの一例である。これにより、要求元のクライアントPC100はプリンタ200を使用することができない。その後、上記ステップS110に戻る。
【0041】
上記ステップS160~ステップS190では、プリンタアプリケーション170は、少なくとも1つのクライアントPC100によるプリンタ200の占有を実行する。具体的には、プリンタアプリケーション170は、ステップS160で現在時刻が予約時間帯に該当すると判定し、かつ、ステップS180でアトリビュートを要求するクライアントPC100がプリンタ200を占有する主体であると判定した場合に、ステップS170でプリンタ200の接続ステータスをオンラインとする。また、プリンタアプリケーション170は、プリンタ200を占有する主体でないと判定した場合に、ステップS190でプリンタ200の接続ステータスをオフラインとする。このためCUPS160からプリンタアプリケーション170を仮想プリンタとしてみた場合、予約されている場合はその予約ユーザのみがオンラインとして扱われ印刷ジョブが送られる。その印刷ジョブはステップS125により印字される。またそのとき予約外のユーザはオフラインとしてみえるため印刷ジョブが送られることはない。このように、現在時刻が予約時間帯に該当する場合、占有主体であると判定された場合のみプリンタ200の接続ステータスをオンラインとなるようにすることで、プリンタアプリケーション170はプリンタ200の占有を実行する。上記ステップS160~ステップS190が占有実行処理の一例である。
【0042】
なお、上記ステップS190の後に、アトリビュートの要求元のクライアントPC100にプリンタ200が使用不可であることの通知情報を送信するステップを設けてもよい。なお、当該通知情報に、例えば他のユーザ等による予約中であること、予約時間、予約中のユーザ等の識別情報等を含めてもよい。当該通知情報を送信するステップが通知情報送信処理の一例である。
【0043】
<第1実施形態の効果>
第1実施形態では、各クライアントPC100の各プリンタアプリケーション170は、ステップS140と、ステップS160~ステップS190と、を実行する。ステップS140では、印刷システム1が有する少なくとも1つのクライアントPC100による、プリンタ200に対する占有を管理するための設定ファイルが取得される。ステップS160~ステップS190では、ステップS140で取得した設定ファイルに基づき、少なくとも1つのクライアントPC100によるプリンタ200の占有が実行される。
【0044】
本実施形態によれば、ユーザが使用するクライアントPC100によりプリンタ200を占有することができる。本実施形態によれば、プリンタ200の占有をサーバがなくても実現できるので、印刷システム1の構成を簡素化できる。また、クライアントPC100にUSBケーブル等により直接接続されたプリンタ200を占有することができるので、ローカルプリンタにも対応することができる。
【0045】
また、本実施形態では特に、クライアントPC100は管理PC300に対し通信可能に構成されており、ステップS140では設定ファイルを管理PC300から取得する。本実施形態によれば、管理PC300において入力された設定ファイルに基づいて、プリンタ200の占有を管理することができる。
【0046】
また、本実施形態では特に、設定ファイルは、少なくとも1つのクライアントPC100によるプリンタ200の占有の予約時間帯を含む。本実施形態によれば、プリンタ200の占有を時間により管理することができる。
【0047】
また、本実施形態では特に、プリンタアプリケーション170は、ステップS150と、ステップS160と、を実行する。ステップS150では現在時刻が取得される。ステップS160では、ステップS150で取得された現在時刻が設定ファイルの予約時間帯に該当するか否かが判定される。ステップS160で現在時刻が予約時間帯に該当すると判定された場合、ステップS180、ステップS170及びステップS190においてプリンタ200の占有が実行される。本実施形態によれば、設定ファイルにより占有の時間帯を設定することで、プリンタ200の占有を管理することができる。
【0048】
また、本実施形態では特に、プリンタアプリケーション170は、ステップS180を実行する。ステップS180では、ステップS160で現在時刻が予約時間帯に該当すると判定した場合に、設定ファイルに基づき印刷を要求するクライアントPC100が当該予約時間帯においてプリンタ200を占有する主体であるか否かを判定する。ステップS180で印刷を要求するクライアントPC100がプリンタ200を占有する主体であると判定された場合、ステップS170においてプリンタ200の占有が実行される。本実施形態によれば、設定ファイルにより占有の時間帯及び占有の主体を設定することで、プリンタ200の占有を管理することができる。
【0049】
また、本実施形態では特に、ステップS180で印刷を要求するクライアントPC100がプリンタ200を占有する主体であると判定した場合に、ステップS170でプリンタ200の接続ステータスをオンラインとする。ステップS180で印刷を要求するクライアントPC100がプリンタ200を占有する主体でないと判定した場合に、ステップS190でプリンタ200の接続ステータスをオフラインとする。本実施形態によれば、印刷を要求するクライアントPC100が設定ファイルにより設定された占有主体である場合にのみオンラインとしてプリンタ200を使用可能とし、占有主体でない場合にはオフラインとして使用不可とすることができる。本実施形態によれば、設定ファイルに基づいてプリンタ200の占有を確実に実行することができる。
【0050】
<第2実施形態>
次に、本発明の第2実施形態について
図5~
図8を用いて説明する。第2実施形態は、代替プリンタが設定されている場合の実施形態である。なお、第2実施形態に係る印刷システム1の全体構成は、
図1に示した第1実施形態に係る印刷システム1の構成と同様であるため、説明を省略する。
【0051】
<設定ファイルの内容>
図5に、管理PC300の設定ファイル記憶部301に記憶された、第2実施形態に係る設定ファイルの内容の一例を示す。
図5に示す設定ファイルが、
図2に示した第1実施形態に係る設定ファイルと異なる点は、代替プリンタが設定されている点である。代替プリンタは、所定のユーザ等によるプリンタ200の予約時間帯に他のユーザ等が当該プリンタ200での印刷を要求した場合に、代わりに印刷を実行するプリンタとして指定された他のプリンタである。
図5に示す例では、例えばユーザAが使用する第1クライアントPC100Aが、第1プリンタ200Aを、2023年の3月3日の12:00~17:00の予約時間帯で占有することが設定されると共に、代替プリンタXが設定されている。また、例えばグループCが使用する第3クライアントPC100Cが、第1プリンタ200Aを、2023年の3月5日の13:00~14:00の予約時間帯で占有することが設定されると共に、代替プリンタYが設定されている。上記第1プリンタ200A及び第2プリンタ200Bが第1印刷装置の一例であり、代替プリンタX,Yが第2印刷装置の一例である。
【0052】
第2実施形態に係る管理PC300のプロセッサ310による設定ファイルの入力に係わる処理手順は、前述の
図3と同様であるため説明を省略する。
【0053】
<プリンタアプリケーションによるプリンタの占有に係わる処理手順>
図6に、第2実施形態に係る各クライアントPC100の各プリンタアプリケーション170が実行するプリンタ200の占有に係わる処理手順の一例を示す。
図6のフローチャートは、例えば第1クライアントPC100Aのプリンタアプリケーション170Aと、第2クライアントPC100Bのプリンタアプリケーション170Bと、によってそれぞれ実行される。なお、プリンタアプリケーション170は、CUPS160に仮想プリンタとして登録されたときに以下のフローチャートを実行する。
【0054】
ステップS205では、プリンタアプリケーション170は、印刷要求を待つために待機する。印刷要求は、特定のプリンタ200を指定した印刷ジョブである。
【0055】
ステップS210では、プリンタアプリケーション170は、上記ステップS205で受け付けた印刷要求の要求元情報を取得する。要求元情報は、例えば印刷要求を出力したユーザ、クライアントPC100、グループ等を識別するための情報である。
【0056】
ステップS215では、プリンタアプリケーション170は、管理PC300の設定ファイル記憶部301から設定ファイルを取得する。当該ステップS215も占有管理情報取得処理の一例である。
【0057】
ステップS220では、プリンタアプリケーション170は、現在時刻を取得する。当該ステップS220も時刻情報取得処理の一例である。
【0058】
ステップS225では、プリンタアプリケーション170は、上記ステップS215で取得した設定ファイルと、上記ステップS220で取得した現在時刻と、に基づき、現在時刻がプリンタ200の予約時間中であるか否かを判定する。すなわち、プリンタアプリケーション170は、現在時刻が設定ファイルの予約時間帯に該当するか否かを判定する。当該ステップS225も時刻判定処理の一例である。プリンタアプリケーション170は、現在時刻がプリンタ200の予約時間中でない場合には(ステップS225:No)、次のステップS230に移行する。
【0059】
ステップS230では、プリンタアプリケーション170は、プリンタ200に印刷データを送信して印刷を実行させる。その後、上記ステップS205に戻る。
【0060】
一方、上記ステップS225において、プリンタアプリケーション170は、現在時刻がプリンタ200の予約時間中である場合には(ステップS225:Yes)、次のステップS235に移行する。
【0061】
ステップS235では、プリンタアプリケーション170は、上記ステップS210で取得した要求元情報と、上記ステップS215で取得した設定ファイルと、に基づき、印刷の要求元が設定ファイルで設定された予約ユーザ、クライアントPC、又はグループであるか否かを判定する。すなわち、プリンタアプリケーション170は、印刷の要求元のクライアントPC100が現在時刻の時間帯においてプリンタ200を占有する主体であるか否かを判定する。当該ステップS235も占有主体判定処理の一例である。
【0062】
プリンタアプリケーション170は、予約ユーザ等である場合には(ステップS235:Yes)、上記ステップS230に移行し、プリンタ200に印刷データを送信して印刷を実行させる。その後、上記ステップS205に戻る。一方、プリンタアプリケーション170は、予約ユーザ等でない場合には(ステップS235:No)、次のステップS240に移行する。
【0063】
ステップS240では、プリンタアプリケーション170は、上記ステップS215で取得した設定ファイルに基づき、現在の予約時間帯に代替プリンタが指定されているか否かを判定する。代替プリンタが指定されていない場合には(ステップS240:No)、次のステップS245に移行する。当該ステップS240が代替判定処理の一例である。
【0064】
ステップS245では、プリンタアプリケーション170は、印刷の要求元である利用者に、印刷を要求したプリンタ200が使用不可であることの通知情報を送信する。なお、通知情報に、代替プリンタが指定されていないことを含めてもよい。当該ステップS245が通知情報送信処理の一例である。
【0065】
ステップS250では、プリンタアプリケーション170は、上記ステップS205で受け付けた印刷ジョブを所定の格納場所にスプールする。
【0066】
ステップS255では、プリンタアプリケーション170は、上記ステップS250でスプールした印刷ジョブを再開するための再開スレッドを作成する。再開スレッドで実行する処理については後述する。その後、上記ステップS205に戻る。
【0067】
一方、上記ステップS240において、プリンタアプリケーション170は、代替プリンタが指定されている場合には(ステップS240:Yes)、次のステップS260に移行する。
【0068】
ステップS260では、プリンタアプリケーション170は、代替プリンタのステータスが印字可の状態であるか否かを判定する。ここでいう印字可能とは、プリンタがReadyであり、かつ別のユーザにより占有されていないこと(そのように設定ファイルにかかれていないこと)である。プリンタアプリケーション170は、代替プリンタのステータスがReady状態でない場合には(ステップS260:No)、上記ステップS245に進む。一方、プリンタアプリケーション170は、代替プリンタのステータスがReady状態である場合には(ステップS260:Yes)、次のステップS265に移行する。
【0069】
ステップS265では、プリンタアプリケーション170は、上記ステップS205で受け付けた印刷ジョブを代替プリンタに向けて転送してステップS270に進む。当該ステップS265が印刷データ送信処理の一例である。
【0070】
ステップS270では、プリンタアプリケーション170は、印刷の要求元である利用者に、印刷を要求したプリンタ200が使用不可であり、且つ、代替プリンタで印刷を実行することの通知情報を送信する。当該ステップS270も通知情報送信処理の一例である。その後、上記ステップS205に戻る。
【0071】
図7に、上記ステップS255で作成した再開スレッドで実行する処理手順の一例を示す。
【0072】
ステップS310では、プリンタアプリケーション170は、印刷要求対象のプリンタ200の占有の解除時間まで待機する。すなわち、プリンタアプリケーション170は、上記ステップS255において現在時刻が予約時間帯に該当しないと判定されるようになるまで待機する。当該ステップS310が待機処理の一例である。
【0073】
ステップS320では、プリンタアプリケーション170は、上記ステップS250でスプールした印刷ジョブをプリンタ200に送信し、印刷を実行させる。
【0074】
ステップS330では、プリンタアプリケーション170は、スプールされた印刷ジョブを削除して、再開スレッドを終了する。
【0075】
図8に、印刷システム1が有するプリンタ200のうち、印刷要求対象のプリンタ200とは異なる他のプリンタ200が実行するフォローミープリントの要求手順の一例を示す。当該フローチャートは、例えば上記ステップS250で印刷ジョブがスプールされたことを契機に、上記他のプリンタ200のプリンタアプリケーション170によって実行される。
【0076】
ステップS410では、上記他のプリンタ200のプリンタアプリケーション170は、いずれかのプリンタ200からフォローミープリント(プルプリント)の要求があるまで待機する。そしてフォローミープリントの要求があった場合はステップS420に移行する。
【0077】
ステップS420では、プリンタアプリケーション170は、上記ステップS250でスプールされた印刷ジョブの格納場所にアクセスして印刷ジョブを取得し、印刷を実行する。フォローミープリントはいわゆるプルプリントである。その後、スプールされた印刷データを削除し、本フローチャートを終了する。
【0078】
なお、ステップS410の待機中にステップS320にて印刷が行われた場合は、その時点でステップS410はステップS420に移行することなく終了する(フローでは図示せず)。
【0079】
<第2実施形態の効果>
以上説明した第2実施形態によれば、前述の第1実施形態と同様の効果を得るのに加えて次のような効果を得ることができる。すなわち、第2実施形態では、プリンタアプリケーション170はステップS240を実行する。ステップS240では、ステップS235で印刷を要求するクライアントPC100がプリンタ200を占有する主体でないと判定した場合に、プリンタ200に代替する他のプリンタが設定されているか否かが判定される。ステップS240で代替プリンタが設定されていると判定された場合には、ステップS265において印刷ジョブを代替プリンタへ向けて転送する。本実施形態によれば、代替プリンタを予め設定しておくことで、他のユーザ等の占有によりプリンタ200が使用できない場合でも、代替プリンタを使用して印刷を実行できる。本実施形態によれば、他のユーザ等による占有が終了するまで待たずに印刷を実行できるので、例えばユーザが急いで印刷を行いたいような場合に有効である。
【0080】
また、本実施形態では特に、プリンタアプリケーション170は、ステップS310を実行する。ステップS310では、ステップS240で代替プリンタが設定されていないと判定された場合に、ステップS225において現在時刻が予約時間帯に該当しないと判定されるようになるまで待機する。ステップS310の実行により、ステップS225において現在時刻が予約時間帯に該当しないと判定されたら、ステップS230において印刷データがプリンタ200へ向けて送信される。本実施形態によれば、代替プリンタが設定されていない場合には、他のユーザ等による占有が終了するまで待機し、占有が終了したら自動的に印刷を実行させることができる。他のユーザ等によるプリンタ200の占有が終了するのを監視する必要が無いので、ユーザの利便性を向上できる。
【0081】
また、本実施形態では特に、プリンタアプリケーション170は、ステップS245又はステップS270を実行する。ステップS245,S270では、印刷要求対象のプリンタ200が他のユーザ等により占有されている場合に、印刷要求元のユーザ等に向けてプリンタ200が使用不可であることの通知情報が送信される。本実施形態によれば、ユーザが印刷を要求した際にプリンタ200が他のユーザ等により占有されている場合にその旨を通知することで、ユーザは他のユーザ等の占有によりプリンタ200を使用できないことを認識することができる。
【0082】
<変形例>
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を順に説明する。
【0083】
(1)排紙トレイを占有する場合
上記実施形態では、プリンタ200を占有する対象としたが、例えばプリンタ200が複数の排紙トレイを有する場合には、プリンタ200における特定の排紙トレイを占有できるようにしてもよい。以下、本変形例の詳細について説明する。
【0084】
<設定ファイルの内容>
図9に、管理PC300の設定ファイル記憶部301に記憶された、本変形例に係る設定ファイルの内容の一例を示す。
図9に示す例では、例えばユーザAが使用する第1クライアントPC100Aが、第1プリンタ200Aの第1排紙トレイを、2023年の3月3日の12:00~17:00の予約時間帯で占有することが設定されると共に、代替トレイQが設定されている。代替トレイQは、第1排紙トレイと同じプリンタでもよいし異なるプリンタでもよい。また、例えばユーザBが使用する第2クライアントPC100Bが、第2プリンタ200Bの第2排紙トレイを、2023年の3月4日の12:00~17:00の予約時間帯で占有することが設定されている。また、例えばグループCが使用する第3クライアントPC100Cが、第1プリンタ200Aの第2排紙トレイを、2023年の3月5日の13:00~14:00の予約時間帯で占有することが設定されると共に、代替トレイRが設定されている。代替トレイRは、第2排紙トレイと同じプリンタでもよいし異なるプリンタでもよい。上記第1排紙トレイ及び第2排紙トレイが第1排紙部の一例であり、代替トレイが第2排紙部の一例である。
【0085】
<プリンタアプリケーションによる排紙トレイの占有に係わる処理手順>
図10に、本変形例における各クライアントPC100の各プリンタアプリケーション170が実行する排紙トレイの占有に係わる処理手順の一例を示す。なお、プリンタアプリケーション170は、CUPS160に仮想プリンタとして登録されたときに以下のフローチャートを実行する。
【0086】
ステップS505では、プリンタアプリケーション170は、印刷要求を待つために待機する。印刷要求は、複数の排紙トレイを備えたプリンタ200における特定の排紙トレイを指定した印刷ジョブである。
【0087】
ステップS510では、プリンタアプリケーション170は、上記ステップS505で受け付けた印刷要求の要求元情報を取得する。要求元情報は、例えば印刷要求を出力したユーザ、クライアントPC100、グループ等を識別するための情報である。
【0088】
ステップS515では、プリンタアプリケーション170は、管理PC300の設定ファイル記憶部301から設定ファイルを取得する。当該設定ファイルは、上記
図9に示した設定ファイルである。
【0089】
ステップS520では、プリンタアプリケーション170は、現在時刻を取得する。当該ステップS520も時刻情報取得処理の一例である。
【0090】
ステップS525では、プリンタアプリケーション170は、上記ステップS515で取得した設定ファイルと、上記ステップS520で取得した現在時刻と、に基づき、現在時刻がプリンタ200の予約時間中であるか否かを判定する。なお、プリンタ200の予約時間中には、プリンタ200が備える複数の排紙トレイのうちいずれか1つの排紙トレイが予約時間中である場合が含まれる。当該ステップS525も時刻判定処理の一例である。プリンタアプリケーション170は、現在時刻がプリンタ200の予約時間中でない場合には(ステップS525:No)、次のステップS530に移行する。
【0091】
ステップS530では、プリンタアプリケーション170は、プリンタ200に印刷データを送信して印刷を実行させ、印刷物を要求対象の排紙トレイから排紙させる。その後、上記ステップS505に戻る。
【0092】
一方、上記ステップS525において、プリンタアプリケーション170は、現在時刻がプリンタ200の予約時間中である場合には(ステップS525:Yes)、次のステップS535に移行する。
【0093】
ステップS535では、プリンタアプリケーション170は、上記ステップS515で取得した設定ファイルに基づき、要求対象の排紙トレイが予約された排紙トレイであるか否かを判定する。プリンタアプリケーション170は、例えば排紙トレイに予約が無い等により、要求対象の排紙トレイが予約された排紙トレイでない場合には(ステップS535:No)、上記ステップS530に移行し、プリンタ200に印刷データを送信して印刷を実行させ、要求対象の排紙トレイから排紙させる。その後、上記ステップS505に戻る。一方、プリンタアプリケーション170は、要求対象の排紙トレイが予約された排紙トレイである場合には(ステップS535:Yes)、次のステップS537に移行する。
【0094】
ステップS537では、プリンタアプリケーション170は、上記ステップS510で取得した要求元情報と、上記ステップS515で取得した設定ファイルと、に基づき、印刷の要求元が設定ファイルで設定された予約ユーザ、クライアントPC、又はグループ、トレイ指定を判断し、そのトレイの使用権限があるか否かを判定する。すなわち、プリンタアプリケーション170は、印刷の要求元のクライアントPC100が現在時刻の時間帯において要求対象の排紙トレイを占有する主体であるか否かを判定する。当該ステップS537も占有主体判定処理の一例である。
【0095】
プリンタアプリケーション170は、予約ユーザ等である場合には(ステップS537:Yes)、上記ステップS530に移行し、プリンタ200に印刷データを送信して印刷を実行させ、印刷物を要求対象の排紙トレイから排紙させる。その後、上記ステップS505に戻る。一方、プリンタアプリケーション170は、予約ユーザ等でない場合には(ステップS537:No)、次のステップS540に移行する。
【0096】
ステップS540では、プリンタアプリケーション170は、上記ステップS515で取得した設定ファイルに基づき、現在の予約時間帯に代替トレイが指定されているか否かを判定する。代替トレイが指定されていない場合には(ステップS540:No)、次のステップS545に移行する。当該ステップS540が代替判定処理の一例である。
【0097】
ステップS545では、プリンタアプリケーション170は、印刷の要求元である利用者に、要求対象の排紙トレイが使用不可であることの通知情報を送信する。なお、通知情報に、代替トレイが指定されていないことを含めてもよい。当該ステップS545が通知情報送信処理の一例である。
【0098】
ステップS550では、プリンタアプリケーション170は、上記ステップS505で受け付けた印刷ジョブを所定の格納場所にスプールする。
【0099】
ステップS555では、プリンタアプリケーション170は、上記ステップS550でスプールした印刷ジョブを再開するための再開スレッドを作成する。再開スレッドで実行する処理は前述の
図7と同様である。その後、上記ステップS505に戻る。
【0100】
一方、上記ステップS540において、プリンタアプリケーション170は、代替トレイが指定されている場合には(ステップS540:Yes)、次のステップS560に移行する。
【0101】
ステップS560では、プリンタアプリケーション170は、設定ファイルに基づき代替トレイが予約状態であるか否かを判定する。プリンタアプリケーション170は、代替トレイのステータスが予約状態の場合には(ステップS560:Yes)、上記ステップS545に進む。一方、プリンタアプリケーション170は、代替トレイのステータスが予約状態でない場合には(ステップS560:No)、次のステップS565に移行する。
【0102】
ステップS565では、プリンタアプリケーション170は、上記ステップS505で受け付けた印刷ジョブを代替トレイを備えたプリンタ200に向けて転送する。当該ステップS565が印刷データ送信処理の一例である。
【0103】
ステップS570では、プリンタアプリケーション170は、印刷の要求元である利用者に、要求対象の排紙トレイが使用不可であり、且つ、代替トレイを使用することの通知情報を送信する。当該ステップS570も通知情報送信処理の一例である。その後、上記ステップS505に戻る。
【0104】
なお、この変形例においても、ステップS550でスプールされた印刷ジョブは先の実施形態の
図8と同様の処理によりフォローミープリント可能である。
【0105】
以上説明した変形例によれば、プリンタ単位でなく、プリンタの排紙トレイ単位で占有を実行することができる。
【0106】
(2)印刷システムの他のシステム構成
以上では、第1クライアントPC100A及び第2クライアントPC100Bの両方がプリンタ200に接続される場合について説明したが、印刷システム1の構成は上記に限られない。例えば、いずれか一方のクライアントPC100のみがプリンタ200に接続され、他方のクライアントPC100の印刷データは一方のクライアントPC100を介してプリンタ200に送信される構成としてもよい。
【0107】
例えば
図11に示す例では、第2クライアントPC100Bがプリンタ200と接続され、第1クライアントPC100Aはプリンタ200と接続されていない。第2クライアントPC100Bがプリンタアプリケーション170Bを有しており、当該プリンタアプリケーション170Bが前述の
図4、
図6~
図8、
図10の各処理を実行する。第1クライアントPC100AのCUPS160Aは、第2クライアントPC100BのCUPS160B及びプリンタアプリケーション170Bを介してプリンタ200に印刷データを送信する。第1クライアントPC100Aは、プリンタアプリケーション170Aを有していてもよいし、有していなくともよい。
【0108】
また、設定ファイルは管理PC300に保存され、必要なときにクライアントPC100が取得するようにしたが、変更時に管理PC300がブロードキャストで通知し、各クライアントPC100がその通知に呼応してその設定ファイルを取得して内部に記憶するようにしてもよい。
【0109】
本変形例のシステム構成の場合にも、前述の第1実施形態及び第2実施形態と同様の効果を得ることができる。
【0110】
(3)その他
以上では、プリンタ200又は排紙トレイの占有を設定ファイルにより時間で管理するようにしたが、占有の管理態様は時間に限られない。例えば、ユーザにより入力された占有開始の指示及び占有終了の指示に基づいて占有を実行してもよい。この場合、プリンタアプリケーション170は、前述の設定ファイルに代えて、プリンタ200又は排紙トレイの占有開始の指示情報及び占有終了の指示情報のうち少なくとも一方を取得する。本変形例によれば、プリンタ200又は排紙トレイの占有を、占有開始及び占有終了の指示により管理することができる。本変形例によれば、例えば連続性のある複数の印刷ジョブを実行させる場合等にその時点から直ちに占有を開始したり、例えば連続性のある複数の印刷ジョブの印刷が終了した場合等にその時点で直ちに占有を終了することが可能となる。このようにして、プリンタ200又は排紙トレイの占有をリアルタイムに実行することができる。
【0111】
また以上では、設定ファイルにおいて、プリンタ200又は排紙トレイの占有の開始タイミングと共に終了タイミングについても時間で指定したが、これに限られない。例えば占有の終了タイミング情報として、占有の実行時に非印刷状態が所定時間継続したことを設定ファイルに含めてもよい。この場合、占有の実行時に非印刷状態が所定時間継続すると占有を自動的に終了させることができるので、印刷状況に応じた適切なタイミングで占有を終了することができる。
【0112】
また以上では、設定ファイルを管理PC300から取得するようにしたが、これに限られない。例えば設定ファイル記憶部をクライアントPC100に設けておき、設定ファイルをクライアントPC100の内部から取得してもよい。この場合、クライアントPC100において設定ファイルの内容を入力可能としてもよい。
【0113】
また、
図3~
図4、
図6~
図8及び
図10に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
【0114】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【0115】
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【0116】
<クライアントPC、プリンタ、管理PCのハードウェア構成>
図12を用いて、クライアントPC100及びプリンタ200のハードウェア構成の一例を説明する。なお、第1クライアントPC100Aと第2クライアントPC100Bのハードウェア構成を共通としてもよい。
【0117】
<クライアントPC>
図12に示すように、クライアントPC100は、プロセッサ110と、記憶装置115と、表示部140と、操作部150と、通信インタフェース190と、を有している。これらプロセッサ110、記憶装置115、表示部140、操作部150、及び通信インタフェース190は、バス105を介して互いにデータ送受信可能に接続されている。
【0118】
記憶装置115は、揮発性記憶装置120と、不揮発性記憶装置130と、を備えている。揮発性記憶装置120は、例えば、DRAMであり、処理対象となる各種のプログラムやデータを記憶する。不揮発性記憶装置130は、例えば、ハードディスクドライブ、あるいはソリッドステートドライブであり、プログラム記憶領域131と、データ記憶領域132と、を有している。
【0119】
プログラム記憶領域131には各種プログラムが格納されている。各種プログラムには、前述の
図4、
図6~
図8及び
図10のフローチャート等に基づく情報処理プログラム等が含まれる。データ記憶領域132には、各種プログラムの実行に必要なデータ等が記憶されている。
【0120】
プロセッサ110は、データ処理を行う装置、例えばCPUであり、プログラム記憶領域131に格納された各種プログラムを実行する。プロセッサ110は、プリンタ200及びネットワークNTに接続された管理PC300等に対するデータ通信を含む各種の処理を行う。
【0121】
表示部140は、例えば液晶ディスプレイ等であり、種々の情報を表示可能である。操作部150は、例えばマウスやキーボード等であり、ユーザによる操作を受け付ける。ユーザは、操作部150を操作することによって、種々の指示をクライアントPC100に入力可能である。
【0122】
通信インタフェース190は、他の装置と通信するための有線又は無線のネットワークインタフェースであり、USBケーブルやネットワークNTに接続されている。
【0123】
なお、上記記憶装置115は上述した装置要素での構成に限られず、例えば、RAM、ROM、EEPROM、HDD、クライアントPC100に着脱されるUSBメモリ等の可搬記録媒体、プロセッサ110が備えるバッファ等、或いはそれらの組み合わせによって構成されてもよい。
なお、記憶装置115は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。後述するプリンタ200の記憶装置215及び管理PC300の記憶装置315についても同様である。
【0124】
<プリンタ>
図12に示すように、プリンタ200は、プロセッサ210と、記憶装置215と、表示部240と、操作部250と、通信インタフェース270と、印刷部290と、を有している。これらプロセッサ210、記憶装置215、表示部240、操作部250、通信インタフェース270、及び印刷部290は、バス205を介して互いにデータ送受信可能に接続されている。
【0125】
記憶装置215は、揮発性記憶装置220と、不揮発性記憶装置230と、を備えている。揮発性記憶装置220は、例えば、DRAMであり、印刷対象の画像データを記憶する画像データ記憶領域222を備えている。不揮発性記憶装置230は、例えばNVRAM、フラッシュメモリ等であり、プログラム記憶領域231と、データ記憶領域232と、を備えている。プログラム記憶領域231には各種プログラムが格納されている。各種プログラムには、印刷処理プログラムなどのファームウェア等が含まれる。データ記憶領域232には、上記各種プログラムを実行するための各種データ等が記憶されている。
【0126】
プロセッサ210は、データ処理を行う装置であり、例えば、CPUである。プロセッサ210は、プログラム記憶領域231に格納された各種プログラムを実行する。
【0127】
表示部240は、例えば、液晶ディスプレイであり、種々の情報を表示可能である。操作部250は、ユーザによる操作を受け付ける装置である。ユーザは、操作部250を操作することによって、種々の指示をプリンタ200に入力可能である。通信インタフェース270は、他の装置と通信するための有線または無線のネットワークインタフェースであり、USBケーブルやネットワークNTに接続されている。
【0128】
印刷部290は、図示しない搬送機構により搬送されるシートに画像を印刷する。印刷部290は、クライアントPC100から送信された印刷データ、若しくは、操作部250での操作に基づき自ら生成した印刷ジョブに基づいて、シートに画像を印刷する。
【0129】
<管理PC>
図13に示すように、管理PC300は、プロセッサ310と、記憶装置315と、表示部340と、操作部350と、通信インタフェース390と、を有している。これらプロセッサ310、記憶装置315、表示部340、操作部350、及び通信インタフェース390は、バス305を介して互いにデータ送受信可能に接続されている。
【0130】
記憶装置315は、揮発性記憶装置320と、不揮発性記憶装置330と、を備えている。揮発性記憶装置320は、例えば、DRAMであり、処理対象となる各種のプログラムやデータを記憶する。不揮発性記憶装置330は、例えば、ハードディスクドライブ、あるいはソリッドステートドライブであり、プログラム記憶領域331と、データ記憶領域332と、を有している。
【0131】
プログラム記憶領域331には各種プログラムが格納されている。各種プログラムには、前述の
図3のフローチャート等に基づく情報処理プログラム等が含まれる。データ記憶領域332には、各種プログラムの実行に必要なデータ等が記憶されている。
【0132】
プロセッサ310は、データ処理を行う装置、例えばCPUであり、プログラム記憶領域331に格納された各種プログラムを実行する。プロセッサ310は、ネットワークNTに接続されたクライアントPC100等に対するデータ通信を含む各種の処理を行う。
【0133】
表示部340は、例えば液晶ディスプレイ等であり、種々の情報を表示可能である。操作部350は、例えばマウスやキーボード等であり、ユーザによる操作を受け付ける。ユーザは、操作部350を操作することによって、種々の指示を管理PC300に入力可能である。
【0134】
通信インタフェース390は、他の装置と通信するための有線又は無線のネットワークインタフェースであり、ネットワークNTに接続されている。
【符号の説明】
【0135】
1 印刷システム
100A 第1クライアントPC(情報処理装置の一例)
100B 第2クライアントPC(情報処理装置の一例)
110 プロセッサ(演算部の一例)
160A CUPS(OS標準印刷ソフトウェアの一例)
160B CUPS(OS標準印刷ソフトウェアの一例)
170A プリンタアプリケーション(情報処理プログラムの一例)
170B プリンタアプリケーション(情報処理プログラムの一例)
200 プリンタ(第1印刷装置の一例)
300 管理PC(外部装置の一例)
301 設定ファイル記憶部
310 プロセッサ