図面 (/)

技術 印刷ジョブ送信装置、印刷ジョブの管理方法、印刷システム、プログラムおよびその記録媒体

出願人 シャープ株式会社
発明者 アンドリューロドネイファーリッシュ
出願日 2009年9月11日 (11年2ヶ月経過) 出願番号 2009-210386
公開日 2010年4月22日 (10年7ヶ月経過) 公開番号 2010-092467
状態 拒絶査定
技術分野 付属装置、全体制御 タイプライター等へのデジタル出力
主要キーワード 即時出力 ネットワークコンピュータ環境 動作負荷 マスクROM 追加要素 標準システム キュー処理 ジョブ優先順位
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2010年4月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

プリンタメモリ容量を増大させることなく即時印刷予約印刷とを円滑に行う。

解決手段

ネットワークを介してプリンタ112に接続されたコンピュータシステム印刷ジョブ送信装置)101に、即時印刷ジョブ印刷する順に並べてスプールするためのデータ構造である即時印刷キュー150と、予約印刷ジョブを印刷する順に並べてスプールするためのデータ構造である予約印刷キュー152とを別々に設ける。

概要

背景

コンピュータ印刷環境では、ユーザ(あるいはアプリケーション)は、印刷出力のために特定のプリンタを選択し、さらに好みのオプションを指定することによって原稿印刷を要求する。最近のコンピュータ環境では、要求された印刷ジョブ(所望のパラメータを有する)は印刷スプーラ転送される。印刷スプーラは、その印刷ジョブ要求を、同じコンピュータシステムによって作成された他の印刷ジョブや、そのプリンタに接続された他のコンピュータシステムによって作成された印刷ジョブと一緒に、順にスプールキュー印刷キュー)に格納する。一般に、スプーラは、印刷ジョブデータファイルに保存し、印刷される印刷ジョブのキュー(待ち行列)を保持する。その後、スプール/キューに格納された印刷ジョブは、スプーラによって印刷キューから取り出されて印刷出力される。

一般に、ジョブスプール処理には即時印刷予約印刷の2つの方法がある。即時印刷はユーザが即時に(すなわち印刷ジョブがスプーラのキューのトップになり次第)印刷することを意図するものである。予約印刷は、印刷ジョブが所望の時間(指定時刻)に印刷されるようにスプーラに提供される。スプーラは予約印刷ジョブ印刷キュー内に保持しており(一般に、最先のものから最遅のものまで印刷時間の順に保持する)、その印刷予約時間になると印刷ジョブをキューから取り出して送信する。

ほとんどのコンピュータシステム(すなわち印刷スプーラ機能を有するオペレーティングシステム)において現在実用されているように、許容されるスプール処理の種類は、システム管理者がプリンタをインストールするときに定義される。すなわち、プリンタは、あるときには即時印刷のスプール処理のみを実行するようにユーザによって設定され、またあるときには予約印刷のスプール処理のみを行うように再設定される。

また、現在実用されている構成は、特定のプリンタに対して1種類のスプールオプションのみが定義されたものである。このため、特定のコンピュータ環境において、即時印刷と予約印刷との両方のスプールオプションを同時に使用することが望まれる場合には、1つのプリンタ(物理プリンタ)をコンピュータ上では仮想的に2つの別々のプリンタ(論理プリンタ)として定義して取り扱う必要がある。第1論理プリンタは即時印刷スプール処理を行うように設定され、第2論理プリンタは予約印刷スプール処理を行うように設定される。このような設定では、ユーザ(あるいはアプリケーションプログラム)は、原稿を印刷する前に、即時印刷スプール処理用に設定された第1論理プリンタに基づいて印刷するのか、予約印刷スプール処理用に設定された第2論理プリンタに基づいて印刷するのかを決定しなければならない。第1論理プリンタおよび第2論理プリンタのいずれに基づいて印刷する場合であっても、実際に印刷処理を行うのは共通のプリンタ(物理プリンタ)である。

なお、特許文献1には、ホストコンピュータから送られる印刷データを受信して受信バッファに格納し、時刻指定出力(予約印刷)が指定されている場合は指定時刻に出力し、時刻指定がされていない場合は即時出力する印刷制御装置が開示されている。

概要

プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行う。ネットワークを介してプリンタ112に接続されたコンピュータシステム(印刷ジョブ送信装置)101に、即時印刷ジョブを印刷する順に並べてスプールするためのデータ構造である即時印刷キュー150と、予約印刷ジョブを印刷する順に並べてスプールするためのデータ構造である予約印刷キュー152とを別々に設ける。

目的

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

印刷データとこの印刷データの印刷処理プリンタに実行させるための命令とを含む印刷ジョブスプールする印刷ジョブスプーラを備え、上記印刷ジョブスプーラがスプールした印刷ジョブを、ネットワークを介して接続された上記プリンタに送信する印刷ジョブ送信装置であって、上記印刷ジョブには、上記プリンタが利用可能になり次第印刷する即時印刷ジョブと、指定時刻に印刷する予約印刷ジョブとがあり、即時印刷ジョブであるか予約印刷ジョブであるかの選択指示受け付けスプールオプション取得部を備え、上記印刷ジョブスプーラは、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとが別々に構築されており、上記スプールオプション取得部が受け付けた上記選択指示に応じて、即時印刷ジョブを上記即時印刷キューに格納し、予約印刷ジョブを上記予約印刷キューに格納し、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信することを特徴とする印刷ジョブ送信装置。

請求項2

オペレーティングシステムと上記プリンタの動作を制御するプリンタドライバとを含むコンピュータシステムに備えられる印刷ジョブ送信装置であって、上記印刷ジョブスプーラは、即時印刷キューへの即時印刷ジョブの付加および即時印刷キューからの即時印刷ジョブの取り出しを管理する即時印刷キュー管理部と、予約印刷キューへの予約印刷ジョブの付加および予約印刷ジョブからの予約印刷ジョブの取り出しを管理する予約印刷キュー管理部とを備えており、上記即時印刷キュー管理部および上記予約印刷キュー管理部の両方が上記オペレーティングシステム内に組み込まれていることを特徴とする請求項1に記載の印刷ジョブ送信装置。

請求項3

オペレーティングシステムと上記プリンタの動作を制御するプリンタドライバとを含むコンピュータシステムに備えられる印刷ジョブ送信装置であって、上記印刷ジョブスプーラは、即時印刷キューへの即時印刷ジョブの付加および即時印刷キューからの即時印刷ジョブの取り出しを管理する即時印刷キュー管理部と、予約印刷キューへの予約印刷ジョブの付加および予約印刷ジョブからの予約印刷ジョブの取り出しを管理する予約印刷キュー管理部とを備えており、上記予約印刷キュー管理部は上記プリンタドライバ内に組み込まれており、上記即時印刷キュー管理部は上記オペレーティングシステム内に組み込まれていることを特徴とする請求項1に記載の印刷ジョブ送信装置。

請求項4

上記予約印刷キュー管理部は、上記予約印刷キューにスプールされた予約印刷ジョブの中に上記指定時刻に達した予約印刷ジョブがあるか否かを監視しており、上記指定時刻に達した予約印刷ジョブがある場合に、当該予約印刷ジョブを上記予約印刷キューから取り出して上記即時印刷キュー管理部に引渡し、上記即時印刷キュー管理部は、上記予約印刷キュー管理部から受け取った上記予約印刷ジョブを即時印刷ジョブとして上記即時印刷キューに加えることを特徴とする請求項2または3に記載の印刷ジョブ送信装置。

請求項5

上記即時印刷キュー管理部は、上記予約印刷キュー管理部から受け取った上記予約印刷ジョブを上記即時印刷キューにおける最先に印刷される位置に加え、上記プリンタが利用可能になり次第、当該予約印刷ジョブを上記プリンタに送信し、上記予約印刷キュー管理部は、上記指定時刻に達した予約印刷ジョブが上記予約印刷キュー内に存在しない場合にはその旨を上記即時印刷キュー管理部に通知し、上記即時印刷キュー管理部は、上記通知を受けた場合に、上記プリンタが利用可能になり次第、上記即時印刷キューにおける最先に印刷される位置に格納されている即時印刷ジョブを上記プリンタに送信することを特徴とする請求項4に記載の印刷ジョブ送信装置。

請求項6

初期状態では上記予約印刷キューは生成されておらず、上記印刷ジョブスプーラに予約印刷ジョブが入力されたときに上記予約印刷キュー管理部が上記予約印刷キューを生成することを特徴とする請求項2から5のいずれか1項に記載の印刷ジョブ送信装置。

請求項7

上記印刷ジョブスプーラは、上記予約印刷キューから上記予約印刷ジョブを取り出した後、この予約印刷キューに他の予約印刷ジョブがスプールされていない場合に、この予約印刷キューを削除することを特徴とする請求項6に記載の印刷ジョブ送信装置。

請求項8

ネットワークを介して複数のプリンタに接続され、上記印刷ジョブスプーラは、プリンタ毎に上記即時印刷キューと上記予約印刷キューとを生成することを特徴とする請求項1から7のいずれか1項に記載の印刷ジョブ送信装置。

請求項9

印刷データとこの印刷データの印刷処理をプリンタに実行させるための命令とを含む印刷ジョブをスプールする印刷ジョブスプーラを備え、上記印刷ジョブスプーラがスプールした印刷ジョブを、ネットワークを介して接続された上記プリンタに送信する印刷ジョブ送信装置における上記印刷ジョブの管理方法であって、上記印刷ジョブには、上記プリンタが利用可能になり次第印刷する即時印刷ジョブと、指定時刻に印刷する予約印刷ジョブとがあり、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとを別々に構築する工程と、即時印刷ジョブであるか予約印刷ジョブであるかの選択指示を受け付ける工程と、上記選択指示に応じて、印刷ジョブが即時印刷ジョブである場合には当該印刷ジョブを即時印刷キューに格納し、印刷ジョブが予約印刷ジョブである場合には当該印刷ジョブを上記予約印刷キューに格納する工程と、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信する工程とを含むことを特徴とする印刷ジョブの管理方法。

請求項10

請求項1から8のいずれか1項に記載の印刷ジョブ送信装置と、上記印刷ジョブ送信装置から受信した印刷ジョブに応じて印刷処理を行うプリンタとを備えていることを特徴とする印刷システム

請求項11

請求項1にから8のいずれか1項に記載の印刷ジョブ送信装置を動作させるプログラムであって、コンピュータを上記印刷ジョブスプーラとして機能させるためのプログラム。

請求項12

請求項11に記載のプログラムをコンピュータ読み取り可能に格納した記録媒体

技術分野

0001

本発明は、スプールした印刷ジョブプリンタに送信する印刷ジョブ送信装置に関するものである。より具体的には、即時印刷ジョブのスプールと予約印刷ジョブのスプールとを行う印刷ジョブ送信装置に関するものである。

背景技術

0002

コンピュータ印刷環境では、ユーザ(あるいはアプリケーション)は、印刷出力のために特定のプリンタを選択し、さらに好みのオプションを指定することによって原稿印刷を要求する。最近のコンピュータ環境では、要求された印刷ジョブ(所望のパラメータを有する)は印刷スプーラ転送される。印刷スプーラは、その印刷ジョブ要求を、同じコンピュータシステムによって作成された他の印刷ジョブや、そのプリンタに接続された他のコンピュータシステムによって作成された印刷ジョブと一緒に、順にスプール/キュー印刷キュー)に格納する。一般に、スプーラは、印刷ジョブデータファイルに保存し、印刷される印刷ジョブのキュー(待ち行列)を保持する。その後、スプール/キューに格納された印刷ジョブは、スプーラによって印刷キューから取り出されて印刷出力される。

0003

一般に、ジョブスプール処理には即時印刷予約印刷の2つの方法がある。即時印刷はユーザが即時に(すなわち印刷ジョブがスプーラのキューのトップになり次第)印刷することを意図するものである。予約印刷は、印刷ジョブが所望の時間(指定時刻)に印刷されるようにスプーラに提供される。スプーラは予約印刷ジョブを印刷キュー内に保持しており(一般に、最先のものから最遅のものまで印刷時間の順に保持する)、その印刷予約時間になると印刷ジョブをキューから取り出して送信する。

0004

ほとんどのコンピュータシステム(すなわち印刷スプーラ機能を有するオペレーティングシステム)において現在実用されているように、許容されるスプール処理の種類は、システム管理者がプリンタをインストールするときに定義される。すなわち、プリンタは、あるときには即時印刷のスプール処理のみを実行するようにユーザによって設定され、またあるときには予約印刷のスプール処理のみを行うように再設定される。

0005

また、現在実用されている構成は、特定のプリンタに対して1種類のスプールオプションのみが定義されたものである。このため、特定のコンピュータ環境において、即時印刷と予約印刷との両方のスプールオプションを同時に使用することが望まれる場合には、1つのプリンタ(物理プリンタ)をコンピュータ上では仮想的に2つの別々のプリンタ(論理プリンタ)として定義して取り扱う必要がある。第1論理プリンタは即時印刷スプール処理を行うように設定され、第2論理プリンタは予約印刷スプール処理を行うように設定される。このような設定では、ユーザ(あるいはアプリケーションプログラム)は、原稿を印刷する前に、即時印刷スプール処理用に設定された第1論理プリンタに基づいて印刷するのか、予約印刷スプール処理用に設定された第2論理プリンタに基づいて印刷するのかを決定しなければならない。第1論理プリンタおよび第2論理プリンタのいずれに基づいて印刷する場合であっても、実際に印刷処理を行うのは共通のプリンタ(物理プリンタ)である。

0006

なお、特許文献1には、ホストコンピュータから送られる印刷データを受信して受信バッファに格納し、時刻指定出力(予約印刷)が指定されている場合は指定時刻に出力し、時刻指定がされていない場合は即時出力する印刷制御装置が開示されている。

先行技術

0007

特開2000−137591号公報(平成12年5月16日公開

発明が解決しようとする課題

0008

しかしながら、上記のような、1つの物理プリンタに複数の論理プリンタを対応付ける「ワークアラウンド」方式には、システム管理者が1つの物理プリンタに対応して2つの論理プリンタを設定するという追加的な工程を実行しなければならないという問題がある。オペレーティングシステムおよびスプール処理システムが、複数の論理プリンタ用にスプールされた印刷ジョブの印刷を1つの物理プリンタで行うための調整を行うように構成されていない場合にはこの設定はさらに複雑になる。

0009

また、1つのコンピュータシステム上に2つの論理プリンタを構築するには、そのシステムにおいて追加的なリソースを利用する必要がある。

0010

さらに、おそらく最も重要な問題として、そのユーザ(あるいはアプリケーション)が、2つの論理プリンタのそれぞれの目的を理解し、印刷ジョブ毎に適切なスプール処理設定を選択する必要があるという問題がある。

0011

また、上記特許文献1の技術では、予約印刷を行う場合には指定時刻になるまで印刷ジョブがプリンタのメモリに格納される。このため、予約印刷ジョブのデータ容量が大きい場合にはプリンタのメモリがこの予約印刷ジョブによって占有され、この予約印刷ジョブの印刷が完了するまで他の印刷ジョブを受け付けることができなくなってしまうという問題がある。また、この問題を解消するために、プリンタに備えられるメモリの容量を大きくすることが考えられるが、その場合にはプリンタの装置コストが増大してしまう。

0012

本発明は、上記の問題点に鑑みてなされたものであり、その目的は、プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行うことにある。

課題を解決するための手段

0013

本発明の印刷ジョブ送信装置は、上記の課題を解決するために、印刷データとこの印刷データの印刷処理をプリンタに実行させるための命令とを含む印刷ジョブをスプールする印刷ジョブスプーラを備え、上記印刷ジョブスプーラがスプールした印刷ジョブを、ネットワークを介して接続された上記プリンタに送信する印刷ジョブ送信装置であって、上記印刷ジョブには、上記プリンタが利用可能になり次第印刷する即時印刷ジョブと、指定時刻に印刷する予約印刷ジョブとがあり、即時印刷ジョブであるか予約印刷ジョブであるかの選択指示を受け付けるスプールオプション取得部を備え、上記印刷ジョブスプーラは、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとが別々に構築されており、上記スプールオプション取得部が受け付けた上記選択指示に応じて、即時印刷ジョブを上記即時印刷キューに格納し、予約印刷ジョブを上記予約印刷キューに格納し、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信することを特徴としている。

0014

上記の構成によれば、印刷ジョブスプーラが、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとが別々に構築されており、上記スプールオプション取得部が受け付けた上記選択指示に応じて、即時印刷ジョブを上記即時印刷キューに格納し、予約印刷ジョブを上記予約印刷キューに格納し、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信する。これにより、各印刷ジョブについて即時印刷ジョブとするか予約印刷ジョブとするかの選択指示を行うだけで、印刷ジョブ送信装置が即時印刷ジョブと予約印刷ジョブとを管理し、印刷可能な状態になった印刷ジョブをプリンタに順次送信する。したがって、即時印刷および予約印刷を行う場合のスプール処理を簡略化することができる。また、プリンタに送信される印刷ジョブは常に印刷可能な状態の印刷ジョブなので、プリンタに予約印刷ジョブが蓄積されることを防止できる。これにより、プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行うことができる。

0015

また、オペレーティングシステムと上記プリンタの動作を制御するプリンタドライバとを含むコンピュータシステムに備えられる印刷ジョブ送信装置であって、上記印刷ジョブスプーラは、即時印刷キューへの即時印刷ジョブの付加および即時印刷キューからの即時印刷ジョブの取り出しを管理する即時印刷キュー管理部と、予約印刷キューへの予約印刷ジョブの付加および予約印刷ジョブからの予約印刷ジョブの取り出しを管理する予約印刷キュー管理部とを備えており、上記即時印刷キュー管理部および上記予約印刷キュー管理部の両方が上記オペレーティングシステム内に組み込まれている構成としてもよい。

0016

上記の構成によれば、オペレーティングシステムに備えられる印刷ジョブスプーラによって即時印刷キューと予約印刷キューとを管理する機能を持たせることにより、即時印刷および予約印刷を行う場合のスプール処理を簡略化するとともに、プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行うことができる。

0017

また、オペレーティングシステムと上記プリンタの動作を制御するプリンタドライバとを含むコンピュータシステムに備えられる印刷ジョブ送信装置であって、上記印刷ジョブスプーラは、即時印刷キューへの即時印刷ジョブの付加および即時印刷キューからの即時印刷ジョブの取り出しを管理する即時印刷キュー管理部と、予約印刷キューへの予約印刷ジョブの付加および予約印刷ジョブからの予約印刷ジョブの取り出しを管理する予約印刷キュー管理部とを備えており、上記予約印刷キュー管理部は上記プリンタドライバ内に組み込まれており、上記即時印刷キュー管理部は上記オペレーティングシステム内に組み込まれている構成としてもよい。

0018

また、上記予約印刷キュー管理部は、上記予約印刷キューにスプールされた予約印刷ジョブの中に上記指定時刻に達した予約印刷ジョブがあるか否かを監視しており、上記指定時刻に達した予約印刷ジョブがある場合に、当該予約印刷ジョブを上記予約印刷キューから取り出して上記即時印刷キュー管理部に引渡し、上記即時印刷キュー管理部は、上記予約印刷キュー管理部から受け取った上記予約印刷ジョブを即時印刷ジョブとして上記即時印刷キューに加える構成としてもよい。

0019

上記の構成によれば、プリンタドライバに予約印刷キュー管理部を設けることにより、即時印刷および予約印刷を行う場合のスプール処理を簡略化するとともに、プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行うことができる。また、即時印刷キュー管理部として、従来のオペレーティングシステムに備えられる標準システムスプーラをそのまま適用することができる。

0020

また、上記即時印刷キュー管理部は、上記予約印刷キュー管理部から受け取った上記予約印刷ジョブを上記即時印刷キューにおける最先に印刷される位置に加え、上記プリンタが利用可能になり次第、当該予約印刷ジョブを上記プリンタに送信し、上記予約印刷キュー管理部は、上記指定時刻に達した予約印刷ジョブが上記予約印刷キュー内に存在しない場合にはその旨を上記即時印刷キュー管理部に通知し、上記即時印刷キュー管理部は、上記通知を受けた場合に、上記プリンタが利用可能になり次第、上記即時印刷キューにおける最先に印刷される位置に格納されている即時印刷ジョブを上記プリンタに送信する構成としてもよい。

0021

上記の構成によれば、指定時刻に達した予約印刷ジョブを優先的に印刷させることができる。

0022

また、初期状態では上記予約印刷キューは生成されておらず、上記印刷ジョブスプーラに予約印刷ジョブが入力されたときに上記予約印刷キュー管理部が上記予約印刷キューを生成する構成としてもよい。

0023

また、上記印刷ジョブスプーラは、上記予約印刷キューから上記予約印刷ジョブを取り出した後、この予約印刷キューに他の予約印刷ジョブがスプールされていない場合に、この予約印刷キューを削除する構成としてもよい。

0024

上記の構成によれば、予約印刷ジョブが存在しない場合には予約印刷キューが生成されないので、予約印刷キューが生成される場合に用いられる印刷ジョブ送信装置のリソースを開放して有効利用することができる。

0025

また、ネットワークを介して複数のプリンタに接続され、上記印刷ジョブスプーラは、プリンタ毎に上記即時印刷キューと上記予約印刷キューとを生成する構成としてもよい。

0026

上記の構成によれば、印刷ジョブ送信装置がネットワークを介して複数のプリンタに接続されている場合であっても、即時印刷ジョブおよび予約印刷ジョブをプリンタ毎に適切に管理することができる。

0027

本発明の印刷ジョブの管理方法は、上記の課題を解決するために、印刷データとこの印刷データの印刷処理をプリンタに実行させるための命令とを含む印刷ジョブをスプールする印刷ジョブスプーラを備え、上記印刷ジョブスプーラがスプールした印刷ジョブを、ネットワークを介して接続された上記プリンタに送信する印刷ジョブ送信装置における上記印刷ジョブの管理方法であって、上記印刷ジョブには、上記プリンタが利用可能になり次第印刷する即時印刷ジョブと、指定時刻に印刷する予約印刷ジョブとがあり、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとを別々に構築する工程と、即時印刷ジョブであるか予約印刷ジョブであるかの選択指示を受け付ける工程と、上記選択指示に応じて、印刷ジョブが即時印刷ジョブである場合には当該印刷ジョブを即時印刷キューに格納し、印刷ジョブが予約印刷ジョブである場合には当該印刷ジョブを上記予約印刷キューに格納する工程と、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信する工程とを含むことを特徴としている。

0028

上記の方法によれば、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとを別々に構築しておき、即時印刷ジョブであるか予約印刷ジョブであるかの選択指示に応じて、印刷ジョブが即時印刷ジョブである場合には当該印刷ジョブを即時印刷キューに格納し、印刷ジョブが予約印刷ジョブである場合には当該印刷ジョブを上記予約印刷キューに格納する。そして、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信する。これにより、各印刷ジョブについて即時印刷ジョブとするか予約印刷ジョブとするかの選択指示を行うだけで、即時印刷ジョブと予約印刷ジョブとを管理し、印刷可能な状態になった印刷ジョブをプリンタに順次送信することができる。したがって、即時印刷および予約印刷を行う場合のスプール処理を簡略化することができる。また、プリンタには送信される印刷ジョブは常に印刷可能な状態の印刷ジョブなので、プリンタに予約印刷ジョブが蓄積されることを防止できる。これにより、プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行うことができる。

0029

本発明の印刷システムは、上記したいずれかの印刷ジョブ送信装置と、上記印刷ジョブ送信装置から受信した印刷ジョブに応じて印刷処理を行うプリンタとを備えている。

0030

上記の構成によれば、即時印刷および予約印刷を行う場合のスプール処理を簡略化するとともに、プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行うことができる。

0031

なお、上記印刷ジョブ送信装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記印刷ジョブスプーラとして動作させることにより、上記印刷ジョブ送信装置をコンピュータにて実現させるプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に含まれる。

発明の効果

0032

以上のように、本発明の印刷ジョブ送信装置は、上記印刷ジョブスプーラは、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとが別々に構築されており、上記スプールオプション取得部が受け付けた上記選択指示に応じて、即時印刷ジョブを上記即時印刷キューに格納し、予約印刷ジョブを上記予約印刷キューに格納し、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信する。

0033

また、本発明の印刷ジョブの管理方法は、即時印刷ジョブを印刷する順に並べて格納するためのデータ構造である即時印刷キューと、予約印刷ジョブを印刷する順に並べて格納するためのデータ構造である予約印刷キューとを別々に構築する工程と、即時印刷ジョブであるか予約印刷ジョブであるかの選択指示を受け付ける工程と、上記選択指示に応じて、印刷ジョブが即時印刷ジョブである場合には当該印刷ジョブを即時印刷キューに格納し、印刷ジョブが予約印刷ジョブである場合には当該印刷ジョブを上記予約印刷キューに格納する工程と、上記プリンタが印刷ジョブを受信可能になる毎に、上記予約印刷キューに格納されている予約印刷ジョブのうち上記指定時刻に達した予約印刷ジョブおよび上記即時印刷キューに格納されている即時印刷キューを上記プリンタに順次送信する工程とを含む。

0034

それゆえ、即時印刷および予約印刷を行う場合のスプール処理を簡略化することができる。また、プリンタのメモリ容量を増大させることなく即時印刷と予約印刷とを円滑に行うことができる。

図面の簡単な説明

0035

本発明の一実施形態にかかる印刷システムの概略構成を示すブロック図である。
本発明の一実施形態にかかる印刷システムの変形例を示すブロック図である。
図1に示した印刷システムにおける処理の流れを示すフローチャートである。
図3におけるステップ308の処理の具体例を示すフローチャートである。
図3におけるステップ324の処理の具体例を示すフローチャートである。
図2に示した印刷システムにおける処理の流れを示すフローチャートである。
図1および図2に示した印刷システムを、ソフトウェアを用いて実現する場合の構成例を示すブロック図である。

実施例

0036

図1は、本実施形態にかかる印刷システム100の概略構成を示すブロック図である。

0037

なお、従来の技術では、上述したように、(1)システム管理者が、1つの物理プリンタに異なるスプール/キュー処理オプションのための2つの(あるいはそれ以上の)論理プリンタを定義する必要があり、(2)印刷ジョブを作製するユーザが、管理者によって定義された論理プリンタの中から所望するスプールオプションを利用するための論理プリンタを選択する必要があった。これに対して、本実施形態にかかる印刷システム100では、1つのプリンタに複数のキューを関連付けて管理することにより、上記(1)および(2)の処理を省略できるようになっている。

0038

図1に示すように、印刷システム100は、印刷ジョブ生成部102、印刷ジョブオプション取得部103、スプールオプション取得部104、プリンタドライバ107、印刷ジョブスプーラ110、即時印刷キュー(即時印刷キュー記憶部)150、および予約印刷キュー(予約印刷キュー記憶部)152を備えたコンピュータシステム101(印刷ジョブ送信装置。例えばパーソナルコンピュータワークステーションなど。)と、このコンピュータシステム101に対してネットワークを介して通信可能に接続されたプリンタ112とを備えている。なお、印刷ジョブスプーラ110はコンピュータシステム101のオペレーションシステム内に備えられる。また、印刷ジョブ生成部102は、例えばコンピュータシステム101において利用されるアプリケーションシステムの1つである。また、プリンタドライバ107は、プリンタ112に印刷ジョブに応じた印刷処理を実行させるためのものであり、印刷ジョブインターフェース106とスプールインターフェース108とを備えている。

0039

印刷ジョブ生成部102は、印刷ジョブを生成してプリンタドライバ107に出力する。なお、印刷ジョブとは、印刷するデータと当該データの印刷処理をプリンタに実行させるための命令とを含むデータである。また、本実施形態では、印刷ジョブ生成部102が印刷ジョブを生成するものとしているが、これに限らず、例えば、コンピュータシステム101が各種記録媒体に記録されている印刷ジョブを読み出すようにしてもよく、コンピュータシステム101がネットワークを介して印刷ジョブを取得する構成としてもよい。

0040

印刷ジョブオプション取得部103は、ユーザ(あるいはアプリケーション)から印刷ジョブに関する印刷オプション(例えば、両面印刷か否か、N−up(割付印刷)か否か、印刷枚数などの出力パラメータ)を受け付けて印刷ジョブインターフェース106に伝達する。

0041

スプールオプション取得部104は、即時印刷を行うかあるいは予約印刷を行うか、および予約印刷を行う場合には印刷処理を行う時刻(指定時刻)についてのユーザ(あるいはアプリケーション)からの選択指示(スプールオプション)を受け付けてスプールインターフェース108に伝達する。

0042

なお、印刷オプションおよびスプールオプションを、例えば、グラフカル・ユーザ・インターフェース(GUI)を使用してユーザが入力するようにしてもよい。この場合、GUIは、ユーザが印刷ジョブに対して印刷ジョブオプションおよびスプールオプションを指定することを可能にするとともに、印刷処理を実行するプリンタを選択できるように構成される。また、周知のダイアログボックスまたは他のグラフィカル/テクスチャ・ユーザ・インターフェイス技術を用いて印刷オプションおよびスプールオプションを入力するようにしてもよい。さらに、印刷オプションおよびスプールオプションの入力を可能にするために、印刷ジョブインターフェース106およびスプールインターフェース108にアクセスすることのできるアプリケーション・プログラム・インターフェイス(API)を利用してもよい。また、印刷オプションおよびスプールオプションを印刷ジョブと関連付けるために、上記した以外の設計選択をなし得ることは当業者にとって容易に明らかである。また、印刷ジョブ生成部102が印刷オプションおよび/またはスプールオプションを反映させた印刷ジョブを生成してプリンタドライバ107に出力するようにしてもよい。

0043

印刷ジョブインターフェース106は、印刷ジョブ生成部102から入力された印刷ジョブに、印刷ジョブオプション取得部103から入力された印刷オプションを実行させるための情報を付加してスプールインターフェース108に伝達する。

0044

スプールインターフェース108は、印刷ジョブインターフェース106から伝達された印刷ジョブにスプールオプション取得部104から入力されたスプールオプションを付加して印刷ジョブスプーラ110に出力する。

0045

印刷ジョブスプーラ110は、即時印刷キュー管理部121と予約印刷キュー管理部122とを備えており、印刷ジョブに関連付けられているスプールオプションに基づいて、印刷ジョブを格納(スプール)するキューを選択し、選択したキューに印刷ジョブを格納する。具体的には、スプールオプションによって即時印刷が指定されている場合には即時印刷キュー管理部121がその印刷ジョブを即時印刷キュー150に格納させ、予約印刷が指定されている場合には予約印刷キュー管理部122がその印刷ジョブを予約印刷キュー152に格納させる。なお、即時印刷キューとは即時印刷を行う印刷ジョブ(即時印刷ジョブ)を印刷する順に並べて格納するためのデータ構造であり、予約印刷キューとは予約印刷を行う印刷ジョブ(予約印刷ジョブ)を印刷する順に並べて格納するためのデータ構造である。

0046

また、印刷ジョブスプーラ110(即時印刷キュー管理部121および/または予約印刷キュー管理部122)は、プリンタ112が次の印刷ジョブを受信可能になることを監視する処理をバックグラウンド処理で実行する。そして、プリンタ112が次の印刷ジョブを受信できる状態になると、印刷ジョブスプーラ110は、即時印刷キュー150および予約印刷キュー152に格納された各印刷ジョブのスプールオプションに基づいて、次の印刷ジョブを取り出す。例えば、まず、予約印刷キュー管理部122が予約印刷キュー152に格納された印刷ジョブの中に印刷予約時間に達した印刷ジョブ(印刷可能な状態である印刷ジョブ)が存在するか否かを判断し、存在する場合、その印刷ジョブを予約印刷キュー152から取り出してプリンタ112に送信する。また、予約印刷キュー152に現時点で印刷可能な状態の印刷ジョブが存在しない場合、予約印刷キュー管理部122がその旨を即時印刷キュー管理部121に通知し、即時印刷キュー管理部121が即時印刷キュー150に印刷ジョブが格納されているか否かを確認し、格納されている場合には即時印刷キュー150から次の印刷ジョブを取り出してプリンタ112に送信する。これにより、プリンタ112は印刷ジョブスプーラ110から送信された印刷ジョブに含まれる印刷データを印刷媒体上へ印刷する。

0047

なお、初期設定では予約印刷キュー152を作成しておかず、印刷ジョブスプーラ110が予約印刷ジョブを受け付けたときに予約印刷キュー152を作成するようにしてもよい。これにより、予約印刷ジョブが印刷ジョブスプーラ110に入力されるまで、システムのリソース(メモリ)を開放してそのリソースを有効利用することができる。

0048

なお、本実施形態では、印刷システム100におけるプリンタ112以外の各要素がコンピュータシステム101に備えられているものとしたが、これに限るものではない。例えば、複数のコンピュータシステム(パーソナルコンピュータ、ワークステーションなど)を、ネットワークを介して共通の印刷ジョブスプーラ110に接続し、これら各コンピュータシステムにおいて印刷ジョブスプーラ110を操作できるようにしてもよい。この場合、印刷ジョブ生成部102、印刷ジョブオプション取得部103、およびスプールオプション取得部104は、プリンタドライバ107を操作可能である単一のコンピュータシステム内で操作可能であってもよい。あるいは、例えば、図1に示す全ての要素(プリンタ112以外の要素)を、スタンドアロンアプリケーション環境またはネットワークコンピュータ環境において操作可能な1つのコンピュータシステムに組み込んでもよい。あるいは、例えば、図1に示す全ての要素(プリンタ112以外の要素)を、クラウドコンピューティングサービスによって実現してもよく、サース(Software as a Service; SaaS)のようにインターネットを介してアクセスされるソフトウェアで実現してもよい。

0049

なお、本発明は図1に示した印刷システム100の構成に限定されるものではなく、必要に応じて各種要素を追加したり、同等の要素に置換したりしてもよいことは、当業者にとって自明であろう。本明細書では、説明を簡単かつ簡潔にするために、そのような追加要素および同等の要素についての説明は省略する。

0050

図2は、本実施形態にかかる印刷システムの変形例である印刷システム200の概略構成を示すブロック図である。なお、説明の便宜上、図1に示した印刷システム100と同様の機能を有する部材(要素)には同じ符号を付し、その説明を省略する。

0051

図1の印刷システム100と異なる点は、プリンタドライバ107に代えてプリンタドライバ207が備えられている点である。プリンタドライバ207は、図1のプリンタドライバ107における印刷ジョブインターフェース106に代えて印刷ジョブインターフェース206および内部スプーラ209を備えており、印刷ジョブスプーラ110に代えてシステム印刷ジョブスプーラ210を備えている。

0052

なお、システム印刷ジョブスプーラ210はコンピュータシステム201(印刷ジョブ送信装置。例えばパーソナルコンピュータ、ワークステーションなど。)のオペレーションシステム内に備えられる。また、印刷ジョブ生成部102は、例えばコンピュータシステム201において利用されるアプリケーションシステムの1つである。

0053

システム印刷ジョブスプーラ(即時印刷キュー管理部)210は、即時印刷ジョブを即時印刷キュー150に格納する処理を行う。このシステム印刷ジョブスプーラ210は、例えば、マイクロソフトウィンドウズ(登録商標)、ユニックス(登録商標)、およびリナックス(登録商標)などの市販のオペレーティングシステムに採用されているような標準的な印刷ジョブスプーラであってもよい。このような標準的なシステム印刷ジョブスプーラ210は、上述したように、特定のプリンタ112に対して1種類のスプールオプションを管理する能力を持つ。

0054

内部スプーラ(予約印刷キュー管理部)209は、印刷ジョブインターフェース206と関連付けられており、予約印刷ジョブを予約印刷キュー152に格納する。

0055

印刷ジョブ生成部102から印刷ジョブインターフェース206に印刷ジョブが入力され、印刷ジョブオプション取得部103から印刷ジョブインターフェース206に印刷ジョブオプションが入力されると、印刷ジョブインターフェース206は、スプールインターフェース108と情報をやり取りして、スプールオプション取得部104が受け付けたスプールオプションが即時印刷であるか予約印刷であるかを判断する。そして、即時印刷である場合、印刷ジョブオプションおよびスプールオプションを付加した印刷ジョブをスプールインターフェースからシステム印刷ジョブスプーラ210に出力する。これにより、システム印刷ジョブスプーラ210は、即時印刷ジョブを即時印刷キュー150に格納する。一方、予約印刷である場合、印刷ジョブインターフェース206は印刷ジョブオプションおよびスプールオプションを付加した印刷ジョブを内部スプーラ209に転送し、内部スプーラ209はこの印刷ジョブを予約印刷キュー152に格納する。

0056

内部スプーラ209とシステム印刷ジョブスプーラ210とは、その後協調して機能し、予約印刷キュー152および即時印刷キュー150に格納された各印刷ジョブを適切なタイミングで印刷させる。具体的には、内部スプーラ209は、予約印刷キュー152に格納した印刷ジョブについて、当該印刷ジョブの予約時刻になって当該印刷ジョブが印刷可能な状態になることを監視する。そして、予約印刷キュー152に格納された印刷ジョブが印刷可能な状態になったことを検出すると、内部スプーラ209は、その印刷ジョブを予約印刷キュー152から取り出し、印刷可能な状態の印刷ジョブ(即時印刷ジョブ)としてシステム印刷ジョブスプーラ210に転送する。すなわち、内部スプーラ209は、予約印刷キュー152に格納した予約印刷ジョブのうち、予約時刻になった予約印刷ジョブをシステム印刷ジョブスプーラ210に転送する。その後、システム印刷ジョブスプーラ210は、内部スプーラ209から受信した印刷ジョブ(予約時刻に達した予約印刷ジョブ)を即時印刷ジョブとして即時印刷キュー150における最上位(最先に印刷される位置)に加える。なお、ここではシステム印刷ジョブスプーラ210が内部スプーラ209から受信した印刷ジョブを即時印刷キュー150の最上位に加えるものとしたが、これに限らず、即時印刷キュー150に格納されている他の印刷ジョブとの優先順位は任意の方法で決定するようにすればよい。その後、システム印刷ジョブスプーラ210は、プリンタ112をモニターし、プリンタ112が次の印刷ジョブを受信できる状態になると即時印刷キュー150から次の印刷ジョブを取り出してプリンタ112へ転送する。

0057

なお、図1に示した印刷システム100の場合と同様、初期設定では予約印刷キュー152を作成しておかず、内部スプーラ209が予約印刷ジョブを受け付けたときに予約印刷キュー152を作成するようにしてもよい。これにより、予約印刷ジョブが印刷ジョブスプーラ110に入力されるまで、システムのリソース(メモリ使用量、およびアプリケーションの動作負荷)を節約できる。このようなシステムのリソースの節約は、予約印刷の頻度が低い場合に特に効果が大きい。例えば、予約印刷を行うシステムでは、印刷ジョブを適切なタイミングで取り出すことができるように、予約印刷キュー152をモニタリングする処理をバックグラウンド処理として行うスレッドが生じる。このため、当該スレッドの作成および実行により、コンピュータシステム上のリソースが消費される。したがって、予約印刷ジョブが不定期にしかない等、予約印刷キュー152がほとんど使用されない場合、内部スプーラ209が予約印刷ジョブを受信した場合にのみ予約印刷キュー152および対応するスレッド(モニタリングスレッド)を生成するようにすることで、コンピュータリソースを節約できる。また、予約印刷キュー152内の予約印刷ジョブを全てシステム印刷ジョブスプーラ210に転送した後、内部スプーラ209が予約印刷キュー152を削除するようにしてもよい。これにより、システムのリソースを開放して有効利用できる。なお、本発明は図2に示した印刷システム200の構成に限定されるものではなく、必要に応じて各種要素を追加したり、同等の要素に置換したりしてもよいことは、当業者にとって自明であろう。本明細書では、説明を簡単かつ簡潔にするために、そのような追加要素および同等の要素についての説明は省略する。

0058

図3は、図1に示した印刷システム100における印刷ジョブの生成工程および印刷ジョブのデスプール工程についての処理の流れを示すフローチャートである。

0059

はじめに、印刷ジョブの生成工程について説明する。まず、印刷ジョブスプーラ110がスプール処理の初期化(キューの作成)を行う(ステップ300)。例えば、即時印刷キュー150および予約印刷キュー152を作成(構築)する。なお、特定のスプールオプションについての最初の印刷ジョブが印刷ジョブスプーラ110に入力されるまで当該スプールオプションに対応するキューの作成を延期してもよい。例えば、上述したように、予約印刷キュー152については、予約印刷ジョブが印刷ジョブスプーラ110に入力されるまで生成しないようにしてもよい。

0060

その後、印刷ジョブ生成部102が印刷ジョブを生成する(ステップ302)。例えば、印刷ジョブは、ユーザが各種アプリケーションプログラムを用いて作成してもよい。アプリケーションプログラムは、例えば、特定の書類の印刷を要求し、特定の印刷特性を任意に関連付けた印刷ジョブを生成する。

0061

その後、印刷ジョブインターフェース106が、印刷ジョブ生成部102において生成された印刷ジョブを、特定のプリンタ112に関連付ける(ステップ304)。なお、印刷ジョブインターフェース106は、必要に応じて印刷ジョブオプション取得部103が取得した印刷ジョブオプションを印刷ジョブに付加する。

0062

その後、スプールインターフェース108が、印刷ジョブインターフェース106によってプリンタ112に関連付けられた印刷ジョブにスプールオプション取得部104が取得したスプールオプションを付加する(ステップ306)。上記スプールオプションとは、即時印刷を行うか予約印刷を行うかを指定するものであり、予約印刷を行う場合には予約時間に関する情報を含む。

0063

その後、印刷ジョブスプーラ110が、印刷ジョブオプションおよびスプールオプションを付加された印刷ジョブに基づいて印刷処理を行うプリンタおよび印刷ジョブを格納するキューを選択する(ステップ308)。例えば、印刷ジョブのスプールオプションが即時印刷を示している場合には即時印刷キュー150が選択され、印刷ジョブのスプールオプションが予約印刷を示している場合には予約印刷キュー152が選択される。

0064

その後、必要に応じて印刷ジョブを格納するためのキューが生成される(ステップ310)。例えば、印刷ジョブに対応付けられたスプールオプションが予約印刷を示している場合であって、予約印刷キュー152が未生成の場合、印刷ジョブスプーラ110は予約印刷キュー152を生成する。

0065

なお、それぞれ特定の予約時刻に対応付けられた複数の予約印刷キューを生成するようにしてもよい。この場合、同じ予約時刻に設定された複数の予約印刷ジョブが生成された場合、これら各予約印刷ジョブは同じ予約時刻に対応する予約印刷キューに加えられる。他の予約時刻に関連付けられた他の予約印刷ジョブは、その特定の予約時刻に関連付けられた予約印刷キューに加えられる。これは、例えば、最初の標準時間(例えば夜の12時)に予約時刻を設定した複数の印刷ジョブ、および他の標準時間(例えば昼の12時)に予約時刻を設定した他の一群の印刷ジョブを生成するような環境において有用である。

0066

その後、印刷ジョブスプーラ110が、選択したキューに印刷ジョブを格納する(ステップ312)。

0067

次に、印刷ジョブのデスプール工程について説明する。印刷ジョブスプーラ110は、プリンタ112が次の印刷ジョブを受信可能になるのを監視する処理をバックグラウンド処理として実行している。そして、プリンタ112が次の印刷ジョブを受信可能になったことを検出すると、印刷ジョブスプーラ110は、プリンタ112に対応する各キューの中に印刷ジョブが格納されているものがあるか否かを判断する(ステップ320)。そして、いずれのキューにも印刷ジョブが格納されていない場合、印刷ジョブスプーラ110は、上記のバックグラウンド処理を継続する。

0068

一方、印刷ジョブが格納されている場合、印刷ジョブスプーラ110は、キューに格納されている各印刷ジョブのスプールオプションに基づいてプリンタ112に送信すべき次の印刷ジョブを選択して取り出し(デスプールし)、プリンタ112に送信する(ステップ322)。例えば、予約印刷キュー152に格納されている印刷ジョブが予約時刻になったとき、この印刷ジョブは次の印刷ジョブとして予約印刷キュー152から取り出されてプリンタ112に送信される。また、予約印刷キュー152に格納されている印刷ジョブの中に予約時刻になって印刷可能な状態になった印刷ジョブが存在しない場合、印刷ジョブスプーラ110は、即時印刷キュー150に格納されている印刷ジョブの中から最先に印刷される位置に格納された印刷ジョブを取り出し、プリンタ112に送信する。

0069

その後、印刷ジョブスプーラ110は、印刷待ちの印刷ジョブ(印刷可能な状態のジョブ)がいずれかのキューに残っているか否かを判断する(ステップ324)。そして、残っていない場合、上記のバックグラウンド処理に戻ってステップ320以降の処理を繰り返し行う。

0070

一方、ステップ324において印刷待ちの印刷ジョブが残っていると判断した場合、印刷ジョブスプーラ110は、印刷待ちの印刷ジョブを取り出してプリンタ112に送信し(ステップ326)、上記のバックグラウンド処理に戻ってステップ320以降の処理を繰り返し行う。なお、予約印刷キュー152および即時印刷キュー150における印刷可能な状態の印刷ジョブを全てプリンタ112に出力し終えるまで、ステップ324およびステップ326の処理を繰り返すようにしてもよい。

0071

なお、図3に関する上記の説明では、即時印刷キュー150および予約印刷キュー152を印刷ジョブスプーラ110によって管理するものとして説明したが、これに限らず、例えば図2に示した印刷システム200のようにシステム印刷ジョブスプーラ210とプリンタドライバ207内に備えられる内部スプーラ209とに上記各キューの管理を割り当ててもよい。

0072

図4は、図3におけるステップ308の処理、すなわち印刷ジョブに関連付けられたスプールオプションに基づいて複数のキューの中から適切なキューを選択する処理の具体例を示すフローチャートである。

0073

まず、印刷ジョブスプーラ110は、受信した印刷ジョブに関連付けられたスプールオプションを検出し、当該スプールオプションが即時印刷を指定するものであるか、予約印刷を指定するものであるかを判断する(ステップ400)。そして、印刷ジョブスプーラ110は、即時印刷であると判断した場合には即時印刷キュー150を選択し(ステップ402)、予約印刷であると判断した場合には予約印刷キュー152を選択する(ステップ404)。その後、選択したキュー(即時印刷キュー150または予約印刷キュー152)に基づいて図3のステップ310以降の処理が行われる。

0074

図5は、図3におけるステップ324の処理、すなわちプリンタ112に対応する各キューの中から次にプリンタ112に送信する印刷ジョブを取り出す処理の具体例を示すフローチャートである。

0075

印刷ジョブスプーラ110は、まず、予約印刷キュー152に予約時間に達して現時点で印刷可能な印刷ジョブが格納されているか否かを判断する(ステップ500)。格納されている場合、印刷ジョブスプーラ110は、予約印刷キュー152から当該印刷ジョブを取り出し(ステップ502)、図3のステップ324において印刷可能なジョブが存在する場合の処理、すなわちステップ326の処理を行う(ステップ510)。一方、ステップ500において、予約印刷キュー152に現時点で印刷可能な状態の印刷ジョブ(予約時間に達した印刷ジョブ)が格納されていないと判断した場合、印刷ジョブスプーラ110は、即時印刷キュー150に印刷ジョブが格納されているか否かを判断する(ステップ504)。そして、格納されていると判断した場合、印刷ジョブスプーラ110は、即時印刷キュー150から印刷ジョブを取り出し(ステップ506)、図3のステップ326の処理を行う(ステップ510)。また、ステップ504において即時印刷キュー150に印刷ジョブが格納されていないと判断した場合、印刷ジョブスプーラ110は、図3のステップ324において印刷可能なジョブが存在しなかった場合の処理、すなわちステップ320の処理に戻る。

0076

図6は、図2に示した印刷システム200における印刷ジョブの生成工程および印刷ジョブのデスプール工程についての処理の流れを示すフローチャートである。図6に示す方法は、図3に示す方法に類似しているが、図3では即時印刷キュー150および予約印刷キュー152を単一の印刷ジョブスプーラ110で管理していたのに対して、図6では予約印刷キュー152についてはプリンタドライバ207備えられた内部スプーラ209で管理し、即時印刷キュー150についてはコンピュータシステム201のシステム印刷ジョブスプーラ210で管理する点が異なっている。

0077

図6に示す方法は、システム印刷ジョブスプーラ210として従来のコンピュータシステムに備えられている標準システムスプーラを用い、プリンタドライバ207内に設けた内部スプーラ209によって予約印刷キュー152を管理するようにするだけで実現できる。すなわち、システム印刷ジョブスプーラ210として、従来のコンピュータシステムに備えられている標準システムスプーラを改良することなくそのまま用いることができる。

0078

はじめに、印刷ジョブの生成工程について説明する。まず、内部スプーラ209がプリンタドライバ207内に予約印刷キュー152を生成し、システム印刷ジョブスプーラ210がシステムスプーラ内(オペレーティングシステム内)に即時印刷キュー150を生成(構築)する(ステップ600)。なお、ステップ600の処理は、システム印刷ジョブスプーラ(スプール処理システム)210およびプリンタドライバ207の初期化処理の一部として実行してもよい。また、初期状態では予約印刷キュー152を作成せず、予約印刷ジョブがプリンタドライバ207に入力されたときに必要に応じて予約印刷キュー152を生成するようにしてもよい。

0079

その後、印刷ジョブ生成部102が印刷ジョブを生成する(ステップ602)。例えば、印刷ジョブは、ユーザが各種アプリケーションプログラムを用いて作成してもよい。アプリケーションプログラムは、例えば、特定の書類の印刷を要求し、特定の印刷特性を任意に関連付けた印刷ジョブを生成する。

0080

その後、印刷ジョブインターフェース206が、印刷ジョブ生成部102において生成された印刷ジョブを、特定のプリンタ112に関連付ける(ステップ604)。また、印刷ジョブインターフェース206が、必要に応じて印刷ジョブオプション取得部103が取得した印刷ジョブオプションを印刷ジョブに付加する。なお、ステップ604の処理は、例えば、従来から公知のユーザーインターフェース技術やアプリケーションプログラムインターフェイス技術を用いて行うことができる。

0081

その後、スプールインターフェース108が、印刷ジョブインターフェース206によってプリンタ112に関連付けられ、印刷ジョブオプションを付加された印刷ジョブにスプールオプション取得部104が取得したスプールオプションを付加する(ステップ606)。上記スプールオプションとは、例えば、即時印刷を行うか予約印刷を行うかを指定し、予約印刷を行う場合には予約時間を示すものである。なお、ステップ606の処理は、例えば、従来から公知のユーザーインターフェース技術やアプリケーションプログラムインターフェイス技術を用いて行うことができる。

0082

その後、内部スプーラ209およびシステム印刷ジョブスプーラ210が、印刷ジョブおよび印刷ジョブに関連付けられたスプールオプションに基づいて印刷ジョブを格納するキューを選択し(ステップ608)、選択したキューに印刷ジョブを格納する(ステップ610)。具体的には、まず内部スプーラ209が、スプールオプションが予約印刷を示しているか否かを判断し、予約印刷を示している場合には予約印刷キュー152を選択して予約印刷キュー152に印刷ジョブを格納する。また、予約印刷ではない場合(即時印刷である場合)には内部スプーラ209が印刷ジョブをシステム印刷ジョブスプーラ210に出力し、システム印刷ジョブスプーラ210が即時印刷キュー150を選択して即時印刷キュー150に印刷ジョブを格納する。

0083

次に、印刷ジョブのデスプール工程について説明する。

0084

内部スプーラ209は、予約印刷キュー152内に現時点で印刷可能な印刷ジョブ(予約時間に達した印刷ジョブ)が存在するか否かを判断する処理をバックグラウンド処理で行っている(ステップ620)。

0085

そして、内部スプーラ209は、予約印刷キュー152内に現時点で印刷可能な印刷ジョブが存在する場合、予約印刷キュー152内から次に印刷すべき印刷ジョブを取り出し(ステップ622)、システム印刷ジョブスプーラ210に送信する(ステップ624)。システム印刷ジョブスプーラ210は、内部スプーラ209から受信した上記印刷ジョブを即時印刷キュー150に格納する。

0086

その後、システム印刷ジョブスプーラ210は、プリンタ112が次の印刷ジョブを受信可能になる毎に即時印刷キュー150から次に送信すべき印刷ジョブを取り出してプリンタ112に送信する(ステップ626)。

0087

なお、ステップ620において内部スプーラ209が予約印刷キュー152内に現時点で印刷可能な印刷ジョブが存在しないと判断した場合、内部スプーラ209からシステム印刷ジョブスプーラ210にその旨が通知され、システム印刷ジョブスプーラ210はステップ626の処理を行う。

0088

ステップ626の処理の後、システム印刷ジョブスプーラ210は、印刷待ちの印刷ジョブ(印刷可能な状態のジョブ)が即時印刷キュー150に残っているか否かを判断する(ステップ628)。そして、残っていない場合、ステップ620の処理に戻る。

0089

一方、ステップ628において即時印刷キュー150に印刷待ちの印刷ジョブが残っていると判断した場合、システム印刷ジョブスプーラ210は、印刷待ちの印刷ジョブを即時印刷キュー150から取り出してプリンタ112に送信し(ステップ630)、ステップ620の処理に戻る。

0090

なお、内部スプーラ209が、予約印刷キュー152内の印刷ジョブを全て取り出したときに、プリンタドライバ207から予約印刷キュー(予約印刷キュー記憶部)152を削除するようにしてもよい。例えば、初期状態では予約印刷キュー152を生成しない構成とし、プリンタドライバ207が予約印刷ジョブを受信したときに予約印刷キュー152および予約印刷キュー152をモニタリングするスレッドが既に生成されているか否かを判断し、存在しない場合に予約印刷キュー152およびそのモニタリングスレッドを生成するようにしてもよい。予約印刷キュー152およびそのモニタリングスレッドの生成後に新たな予約印刷ジョブを受信した場合には、その予約印刷ジョブは生成済みの予約印刷キュー152に格納される。そして、内部スプーラ209は、予約印刷キュー152から予約印刷ジョブを取り出してシステム印刷ジョブスプーラ210に送信すると、予約印刷キュー152が空になったか否か(予約印刷キュー152に残っている印刷ジョブがあるか否か)を判断し、空である場合には予約印刷キュー152およびそのモニタリングスレッドを削除する。これにより、予約印刷ジョブが存在しない場合にプリンタドライバ207内のリソースを開放できる。

0091

なお、上記の各実施形態において、即時印刷キュー150および予約印刷キュー152の管理に上記した以外の機能を追加してもよい。例えば、従来から公知のジョブ優先順位付け技術を用いて各キュー内の印刷ジョブに優先順位を付け、各キューから取り出す印刷ジョブを当該キュー内における各印刷ジョブの優先順位に応じて決定するようにしてもよい。例えば、各印刷ジョブのサイズに応じて(サイズの小さい順あるいはサイズの大きい順)に上記優先順位を付けてもよい。

0092

また、図3から図6に示した処理方法に対して、更なるステップ(処理)を追加したり、同等のステップに置換したりしてもよいことは、当業者にとって明らかであろう。このような追加的なステップおよび同等のステップは、説明を簡単かつ簡潔にするために、本明細書では省略している。

0093

また、上記各実施形態において、印刷システム100、200に備えられる各部(プリンタ112を除く)を、CPU等のプロセッサを用いてソフトウェアによって実現してもよい。この場合、印刷システム100、200は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである印刷システム100、200の制御プログラムのプログラムコード実行形式プログラム中間コードプログラムソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、印刷システム100,200に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。

0094

上記記録媒体としては、例えば、磁気テープカセットテープ等のテープ系、フロッピー(登録商標)ディスクハードディスク等の磁気ディスクCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカードメモリカードを含む)/光カード等のカード系、あるいはマスクROMEPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。

0095

また、印刷システム100、200を通信ネットワーク接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネットエキストラネット、LAN、ISDN、VAN、CATV通信網仮想専用網(virtual private network)、電話回線網移動体通信網衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送ケーブルTV回線電話線ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線HDR携帯電話網衛星回線地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。

0096

また、印刷システム100、200の各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよく、処理の一部を行うハードウェアと当該ハードウェアの制御や残余の処理を行うソフトウェアを実行する演算手段とを組み合わせたものであってもよい。

0097

図7は、ソフトウェアを用いて印刷システム100、200(プリンタ112を除く)を実現する場合の構成例を示すブロック図である。この図に示す印刷スプールコンピュータシステム701は、制御部(プロセッサ)700、プログラムおよびデータを記憶するメモリ702、入出力装置(I/Oデバイス)704、ネットワークインターフェース706、およびコンピュータ読取可能なプログラムを記録した記録媒体712を備えている。また、制御部700、プログラムおよびデータを記憶するメモリ702、入出力装置704、およびネットワークインターフェース706はシステムバス750を介して互いに接続されている。

0098

制御部700は、印刷スプールコンピュータシステム701の各部の動作を制御するものである。なお、制御部700は複数の制御要素集合によって構成されるものであってもよい。

0099

入出力装置704は、ユーザからの指示を受け付けるためのものであり、例えば、キーボードディスプレイポインティング・デバイス、あるいはこれらの組み合わせによって構成される。

0100

記録媒体712はコンピュータ読取可能なプログラムを記録した記録媒体である。

0101

ネットワークインターフェース706はネットワークを介して印刷スプールコンピュータシステム701と他のデータ処理システムや記憶装置とを接続するためのものである。

0102

制御部700は、記録媒体712から読み出したプログラム、あるいはネットワークインターフェース706を介して受信したプログラムをメモリ702に一時的に格納し、これを適宜読み出して実行することで上述した印刷処理(例えば図3図6の処理)を行う。

0103

本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。

0104

本発明は、即時印刷ジョブのスプールと予約印刷ジョブのスプールとを行う印刷ジョブ送信装置、この印刷ジョブ送信装置を備えたコンピュータシステム、および印刷システムに適用できる。

0105

100,200印刷システム
101,201コンピュータシステム(印刷ジョブ送信装置)
102印刷ジョブ生成部
103印刷ジョブオプション取得部
104スプールオプション取得部
106,206印刷ジョブインターフェース
107,207プリンタドライバ
108スプールインターフェース
110印刷ジョブスプーラ
112プリンタ
121即時印刷キュー管理部
122予約印刷キュー管理部
150 即時印刷キュー(即時印刷キュー記憶部)
152 予約印刷キュー(予約印刷キュー記憶部)
209 内部スプーラ(予約印刷キュー管理部)
210 システム印刷ジョブスプーラ(即時印刷キュー管理部)

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • シチズン時計株式会社の「 プリンタ」が 公開されました。( 2020/09/24)

    【課題】 ファンで発生した風を無駄なくサーマルヘッドの狙いの位置に当てることができるプリンタを提供する。【解決手段】 ケース2の縦壁に配置されるファン41と、ケース2の開口部2aを開閉するカバー(... 詳細

  • 富士ゼロックス株式会社の「 メッセージ提供装置、プログラム、及び表示制御方法」が 公開されました。( 2020/09/24)

    【課題】チャットルームでユーザがチャットボットとメッセージをやり取りする場合において、ユーザが意図しないチャットボットがメッセージに応答する事態を抑制する技術を提供する。【解決手段】複数のユーザがそれ... 詳細

  • 東芝テック株式会社の「 画像処理装置および画像処理方法」が 公開されました。( 2020/09/24)

    【課題】 本発明が解決しようとする課題は、所定の条件を満たした場合に宛先やアドレスを全桁表示することで適切な宛先を選択できるようにすることである。【解決手段】 上記課題を解決するために、本実施形態... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ