(57)【特許請求の範囲】
【請求項１】
印刷ジョブを出力する印刷ジョブ出力手段を有し、
前記印刷ジョブ出力手段は、
出力デバイス関連装置から初めてプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定とを比較して、保持する印刷ジョブのうち、デバイスの能力に合致する印刷設定を持つ印刷ジョブを出力し、
同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、保持する印刷ジョブを出力し、
同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定との比較を行わず、保持する印刷ジョブを出力する情報処理装置。
【請求項２】
前記印刷ジョブ出力手段は、出力する印刷ジョブが複数、存在する場合、前記複数の印刷ジョブを結合する請求項１記載の情報処理装置。
【請求項３】
前記印刷ジョブ出力手段は、出力する印刷ジョブが複数、存在する場合であっても、出力する印刷ジョブの印刷設定のうち、結合を妨げる印刷設定がなされている印刷ジョブが存在する場合、印刷ジョブの結合をキャンセルする請求項２記載の情報処理装置。
【請求項４】
情報処理装置が実行する情報処理方法であって、
出力デバイス関連装置から初めてプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定とを比較して、保持する印刷ジョブのうち、デバイスの能力に合致する印刷設定を持つ印刷ジョブを出力するステップと、
同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、保持する印刷ジョブを出力するステップと、
同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定との比較を行わず、保持する印刷ジョブを出力するステップと、
を含む情報処理方法。
【請求項５】
コンピュータに、
出力デバイス関連装置から初めてプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定とを比較して、保持する印刷ジョブのうち、デバイスの能力に合致する印刷設定を持つ印刷ジョブを出力するステップと、
同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、保持する印刷ジョブを出力するステップと、
同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定との比較を行わず、保持する印刷ジョブを出力するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、印刷物の盗難・紛失・覗き見・放置・置き忘れ等の対策を実現する方法が発案されてきた。特にホストＰＣ側で印刷ジョブを一時停止させておいて、出力デバイス側から何らかの合図を送り、停止しておいた印刷ジョブを出力する仕組み（プルプリント）が考案されてきた（例えば、特許文献１参照）。この方法は、出力デバイス側で高度な制御を必要とせず、また別途サーバー等の運用も不要になることが多いため、低コストで実現できるというメリットがあった。
また、プルプリントを行う際にホストＰＣ側から出力デバイスの構成情報を取得し、印刷ジョブの設定情報と出力デバイスの構成情報とを比較して印刷すべきかどうか判定する方法も考えられてきた（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−８６９７６号公報
【特許文献２】特開２００８−９７２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の方法は、高度な機能を持たない出力デバイスでもプルプリントを実現できたが、その一方で印刷ジョブの出力指示が単純なものにならざるを得なかった。特許文献１において、プルプリントの実行を指示する際、溜めておいた複数の印刷ジョブを一気に出力するか、若しくは１つずつ印刷ジョブを出力するしか方法はなかった。
また、ユーザーがプルプリントを指示して初めて出力デバイスが確定するので、ホストＰＣ上で行った印刷設定に効果があるのかは出力デバイスが確定するまでわからない。よって、誤印刷が増えてしまう。誤印刷を防ぐためには、特許文献２のような仕組みで正しくないと判断される印刷ジョブをホストＰＣ上で留めることになる。しかし、前述の通り、プルプリントの実行を指示する方法は、複数の印刷ジョブを一気に出力するか、若しくは１つずつ印刷ジョブを出力するしか方法はないので、この限定された手段で必ずしもユーザーが希望する出力物が得られるとは限らない。
【０００５】
以上の課題についてより具体例を挙げながら説明する。
まず、オフィスに複数の高速モノクロ複合機と複数の単機能のカラープリンタが導入されているケースを想定する。
ユーザーが、モノクロデータの印刷ジョブとカラーデータの印刷ジョブを複数投入して、その後カラープリンタからプルプリントを実行する場合、溜めていた全印刷ジョブを出力していては高速モノクロ複合機を有効活用できない。本来ならば、ユーザーは、モノクロデータの印刷ジョブは高速モノクロ複合機で出力したいし、カラーデータの印刷ジョブは単機能のカラープリンタで出力したいだろう。
ユーザーが、高速モノクロ複合機からプルプリントを実行する場合、２つの出力ケースが考えられる。１つ目は、カラーデータの印刷ジョブもモノクロで出力される。２つ目は、ホストＰＣ上で印刷ジョブがカラーデータにも係わらず出力デバイスがカラー印刷に未対応のため印刷ジョブを出力しないと判断されて、何も出力されない。ユーザーは、印刷実行を優先（カラーデータであってもモノクロで出力されてかまわない）するのか、それともカラー品質を優先（モノクロで出力されることを許さない）するのか、ホストＰＣ上で印刷ジョブを投入する前に決める必要がある。出力デバイスの確定を印刷ジョブの投入後に決めることができるシステムなのに、その詳細な挙動を早い段階で決定しなければならないことは、非常に使い勝手のよくないシステムと言える。
溜めておいた複数の印刷ジョブを１つずつ出力する場合、印刷ジョブ単位で出力デバイスの設置場所に赴きプルプリントを指示することになる。一見、前述の課題が解決されているように思える。しかし、このような状況下におかれたユーザーは、投入した印刷ジョブの設定内容とその順番とを把握してから、出力デバイスの元に赴くことになる。多くの印刷ジョブを投入した場合は困難な作業になる。
【０００６】
本発明はこのような問題点に鑑みなされたもので、出力デバイスを前にして、ユーザーが希望する印刷出力物を少ない手順で適切に得ることを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明の情報処理装置は、印刷ジョブを出力する印刷ジョブ出力手段を有し、前記印刷ジョブ出力手段は、出力デバイス関連装置から初めてプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定とを比較して、保持する印刷ジョブのうち、デバイスの能力に合致する印刷設定を持つ印刷ジョブを出力し、同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、保持する印刷ジョブを出力し、同じ出力デバイス関連装置から連続してプルプリントの要求を受け付けた場合には、出力対象のデバイスの能力と印刷設定との比較を行わず、保持する印刷ジョブを出力する。
【発明の効果】
【０００８】
本発明によれば、出力デバイスを前にして、ユーザーが希望する印刷出力物を少ない手順で適切に得ることができる。
【図面の簡単な説明】
【０００９】
【図１】ネットワークシステムの概略構成を示す図である。
【図２】認証ユニットの概略的なハードウェア構成の一例を示す図である。
【図３】認証サーバーが保持するＩＣカードのＩＤとＰＣのネットワークアドレスとの組み合わせ情報を説明する図である。
【図４】認証サーバーが保持する認証ユニットのネットワークアドレスと出力デバイスのネットワークアドレスとの組み合わせ情報を説明する図である。
【図５】ＰＣの概略的なハードウェア構成の一例を示す図である。
【図６】アプリケーション及び印刷処理関連プログラムが起動して、ＰＣのＲＡＭにプログラムやデータがロードされた状態でのＲＡＭのメモリマップを示す図である。
【図７】ＰＣにおいて、ユーザーによる印刷設定ＵＩ表示の指示を受けた仮想プリンタドライバが表示するＵＩの一部を示す図である。
【図８】ＰＣにおける印刷処理中のデータフローを説明した図である。
【図９】印刷ジョブ配送プログラムが認証サーバーからの信号を待機している間、ＰＣの画面に表示するＵＩを示す図である。
【図１０】図９で表示される複数の印刷ジョブが、ＰＣのＲＡＭにロードされた状態でのＲＡＭのメモリマップを示す図である。
【図１１】印刷ジョブ配送プログラムが実施する印刷ジョブ受信処理について説明したフローチャートである。
【図１２】印刷ジョブ配送プログラムが実施する本実施形態特有の情報処理について説明したフローチャートである。
【図１３】印刷設定丸め処理を説明したフローチャートである。
【図１４】図１２のＳ１２０６とＳ１２０７とで生成されるジョブＩＤリストが、ＰＣのＲＡＭにロードされた状態でのＲＡＭのメモリマップを示す図である。
【図１５】ジョブＩＤリスト生成処理を説明したフローチャートである。
【図１６】ジョブ結合可否判定処理を説明したフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
＜実施形態１＞
図１は、複数のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）と複数の認証ユニットと認証サーバーで制御される出力デバイスとを備えたネットワークシステムの概略構成を示す図である。
図１に示すように、このネットワークシステムは、複数のＰＣ（１１０ａ，１１０ｂ，・・・）、複数の認証ユニット（１２０ａ，１２０ｂ，・・・）、印刷機能を持つ複数の出力デバイス（１３０ａ，１３０ｂ，・・・）を含む。また、ネットワークシステムは、認証サーバー１４０、ＩＣカード１５０ａ等を含む。認証ユニットや認証サーバは、出力デバイス関連装置の一例である。
まず、システムを構成する各装置の詳細を説明する前に、システム運用の概要を説明する。
ユーザーによる印刷実行の指示を受けたＰＣ１１０ａは、出力対象のデバイスを特定せずに印刷処理を実行し、投入された印刷ジョブを保持する（Ｓ１１０）。次に、ユーザーがＩＣカードをかざすことによって出力デバイス１３０ａ選択の合図を受信（Ｓ１１１）した認証ユニット１２０ａは、ＩＣカード１５０ａからＩＣカード固有のＩＤを読み取り、認証サーバー１４０へＩＤを送る（Ｓ１１２）。認証サーバー１４０は、受信したＩＤと関連付けられたＰＣ１１０ａへ出力デバイス１３０ａのネットワークアドレスを送る（Ｓ１１３）。ＰＣ１１０ａは、受信した出力デバイス１３０ａのネットワークアドレスに対し、保持しておいた印刷ジョブをレンダリングして出力する。
次に、システム運用の概要を補足しながら、図１のシステムを構成する各装置の詳細について順次説明してゆく。
【００１２】
［認証ユニット１２０について］
認証ユニット１２０は、出力デバイスを特定し、セキュアなプルプリントを実行するための端末である。出力デバイスとペアで存在する必要があり、図１において、出力デバイス１３０ａには認証ユニット１２０ａ、出力デバイス１３０ｂには認証ユニット（１２０ｂ）という具合に関連付けられている。出力デバイスと認証ユニットとの関連付けに関しては認証ユニットでも実現可能ではあるが、本実施形態においては、後述する認証サーバー１４０にて実現している。
図２は、認証ユニット１２０の概略的なハードウェア構成の一例を示す図である。
図２に示すように、認証ユニット１２０は、ＣＰＵ２０１、設定情報記憶部２０２、認証部２０３、ネットワークＩ／Ｆ２０４、ローカルＩ／Ｆ２０５等を備える。認証ユニット１２０は、これら各々の機能部を、システムバス２０７により互いに接続して構成する。更に、認証ユニット１２０は、ローカルＩ／Ｆ２０５にＩＣカードリーダー２０６を接続して構成する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、認証ユニット１２０全体の制御を司る中央演算処理部である。設定情報記憶部２０２は、認証ユニット１２０の初期設定時に入力される認証サーバー１４０のネットワークアドレスを記憶しておく。ＩＣカードリーダー２０６は、ＩＣカードから一意な識別情報を読み取る。ここでは、Ｆｅｌｉｃａ（登録商標）のような非接触式ＩＣカードに対応した読み取り機器を想定しているが、この技術に限定されるものではなく、一意な識別情報の入力が可能ならば他の実現方法であってもよい。例えば、ＩＣカードリーダーの代わりに指紋センサー等の生体認証センサーを設置するという方法もある。尚、このＩＣカードリーダー２０６が、直接、システムバス２０７に接続せずにローカルＩ／Ｆ２０５を介して接続しているのは、ＩＤの取得方法を柔軟に変更できるようにするためである。認証部２０３は、ＩＣカードリーダー２０６を介して取得するＩＤを、ネットワークＩ／Ｆ２０４を介して、認証サーバー１４０へ送る。
【００１３】
［ＩＣカード１５０について］
ＩＣカード１５０は、一意な識別情報を保持する装置に該当するものである。印刷処理実行を指示したＰＣを特定するために使用される。ＩＣカードとＰＣとの関連付けに関しては前述した認証ユニット１２０でも実現可能ではあるが、本実施形態においては、後述する認証サーバー１４０にて実現している。尚、前述したとおり、「ＩＣカード」は、Ｆｅｌｉｃａのような非接触式ＩＣカードを想定しているが、この技術に限定されるものではない。指紋等の生体情報によって一意な識別情報を供給してもよい。
［出力デバイス１３０について］
出力デバイス１３０は、印刷機能を備えた、複合機（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ；略称ＭＦＰ）や単機能プリンタ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ；略称ＳＦＰ）である。尚、認証ユニット１２０は出力デバイス１３０を特定するためにあるので、通常、認証ユニットと出力デバイスとは物理的に接近して設置される。本実施形態においては、出力デバイスと認証ユニットとを分けて構成しているが、認証ユニット相当の機能を包含する出力デバイスがあってもよい。
［認証サーバー１４０について］
認証サーバー１４０は、図３のＩＣカードのＩＤとＰＣのネットワークアドレスの組み合わせ情報と図４の認証ユニットのネットワークアドレスと出力デバイスのネットワークアドレスとの組み合わせ情報を記憶している。認証サーバー１４０が図３の情報と図４の情報とを一元管理することによって、プルプリント・システムの管理を容易にしている。認証サーバー１４０は、認証ユニット１２０ａからＩＣカード１５０ａのＩＤを受信する。すると、認証サーバー１４０は、図３の情報からＩＣカード１５０ａのＩＤ（１６２６９６５０９４００６７８６５７）に関連付けられたＰＣのネットワークアドレス（１９２．１６８．０．２）を得る。更に、認証サーバー１４０は、図４の情報から認証ユニット１２０ａのネットワークアドレス（１９２．１６８．０．１６）に関連付けられた出力デバイスのネットワークアドレス（１９２．１６８．０．４８）を得る。そして、認証サーバー１４０は、ＰＣのネットワークアドレス（１９２．１６８．０．２）に対し、出力デバイスのネットワークアドレス（１９２．１６８．０．４８）をデータとして送信する。ちなみに、ネットワークアドレス（１９２．１６８．０．２）が指すＰＣは１１０ａ、ネットワークアドレス（１９２．１６８．０．４８）が指す出力デバイスは１３０ａ、を意味している。尚、認証サーバー１４０は、ＰＣや出力デバイスと同じオフィスに存在する必要は無く、クラウドコンピューティングサービスとして実現してもよい。
【００１４】
［ＰＣ１１０について］
ＰＣ１１０は、プルプリント・システムの本実施形態に係る最も重要な装置である。図５にそのブロック図を示す。ＰＣ１１０において、ＣＰＵ５０１は、ＲＡＭ５０２に記憶されているプログラムに従って、システムバス５０４に接続される各デバイスを総括的に制御している。尚、ＣＰＵ５０１が、プログラムに基づき処理を実行することによって、ＰＣ１１０の機能が実現されるが、以下では、説明の簡略化のため、プログラムが処理を行うよう説明を行う場合もある。ＲＡＭ５０２は、ＣＰＵ５０１の主メモリ、ワークエリア等としても機能している。ＲＯＭ５０３は、各種プログラム及びデータを格納している。ＲＯＭ５０３は、各種フォントを記憶するフォントＲＯＭ５０３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ５０３ｂ、及び各種データを記憶するデータＲＯＭ５０３ｃに区分けして構成されている。キーボードコントローラＩ／Ｆ５０５は、キーボード５０９や不図示のポインティングデバイス（マウス）からのキー入力を制御する。ディスプレイＩ／Ｆ５０６は、ディスプレイ５１０への表示を制御している。外部メモリＩ／Ｆ５０７は、ハードディスク等の外部メモリ５１１へのアクセスを制御している。プリンタＩ／Ｆ５０８は、ネットワークＩ／Ｆ５０８を介して出力デバイス１３０に接続され、出力デバイス１３０との間で通信制御処理を行なう。外部メモリ５１１は、例えばハードディスク（ＨＤ）やＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）やＭＯやフレキシブルディスク等である。外部メモリ５１１は、図示の如く、オペレーティングシステムプログラム（以下、ＯＳ）５２０を記憶している。また、外部メモリ５１１は、各種アプリケーション（例えば、文書処理アプリケーションプログラム）５２１、印刷処理関連プログラム５２２を記憶している他に、ユーザファイル、編集ファイル等も記憶している。印刷処理関連プログラム５２２は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用され得る。また、この印刷処理関連プログラム５２２は、本実施形態に係る印刷ジョブ出力手段の一例である印刷ジョブ配送プログラム５３０とプリンタ制御コマンド生成モジュール（以下、プリンタドライバ）５３２と仮想プリンタドライバ５３１とを含んでいる。外部メモリ５１１に記憶された、アプリケーション５２１は、ＲＡＭ５０２にロードされてＣＰＵ５０１により実行される。また、ＣＰＵ５０１は、例えば、ＲＡＭ５０２へのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ５１０上でのＷＹＳＩＷＹＧ（Ｗｈａｔ  Ｙｏｕ  Ｓｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ）を可能としている。更に、ＣＰＵ５０１は、ディスプレイ５１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザーは印刷を実行する際、仮想プリンタドライバ５３１により制御される印刷設定画面を開き、プリンタの設定や、印刷モードの選択を行なうことができる。
【００１５】
図６は、所定のアプリケーション及び印刷処理関連プログラムを起動して、ＰＣ１１０のＲＡＭ５０２にプログラムやデータがロードされた状態でのＲＡＭ５０２のメモリマップを示す図である。ＲＡＭ５０２には、図示の如く、ＢＩＯＳ、ＯＳ５２０をはじめ、アプリケーション５２１、印刷処理関連プログラム５２２、及び関連データ６０１がロードされている。更に、空きメモリ領域６００も確保されている。これにより、アプリケーション５２１及び印刷処理関連プログラム５２２が実行可能な状態となる。尚、印刷処理関連プログラム５２２における仮想プリンタドライバ５３１（図５）は、ユーザーによる印刷設定指令に応じて図７のような印刷設定ＵＩを表示し、印刷処理を実行する。
図７は、ＰＣ１１０において、ユーザーによる印刷設定ＵＩ表示の指示を受けた仮想プリンタドライバ５３１が表示するＵＩの一部を示す図である。ここでは、ユーザーが認証ユニット１２０に対し一回目にＩＣカード１５０をかざした際に、印刷ジョブ配送プログラム５３０が参照する設定内容を予め決定するＵＩである。設定内容の意味については図９にて後述する。
【００１６】
図８は、ＰＣ１１０における印刷処理中のデータフローを説明した図である。ユーザーによるアプリケーション５２１の操作に従い、アプリケーション５２１は、出力先として仮想プリンタドライバ５３１のプリントキューを選択し、印刷を実行する。アプリケーション５２１が、印刷実行時に仮想プリンタドライバ５３１を選択することは、この段階で出力デバイスが確定しないことを意味する。アプリケーション５２１は、ＯＳ５２０のインターフェイスを通して仮想プリンタドライバ５３１に印刷設定データ及び印刷描画データを送る。仮想プリンタドライバ５３１は、印刷ジョブ８００を印刷ジョブ配送プログラム５３０に送って印刷処理を終了する。印刷ジョブ配送プログラム５３０は、印刷ジョブ８００を受け取った状態で待機する。そして、印刷ジョブ配送プログラム５３０は、認証サーバーから信号を受信すると、出力デバイスのネットワークアドレスと関連付けられているプリンタドライバを、ＯＳ機能を使って選択する。そして、印刷ジョブ配送プログラム５３０は、ＯＳ５２０のインターフェイスを介して、選択したプリンタドライバに印刷ジョブ８００を再投入する。プリンタドライバ５３２ａが選択された場合、プリンタドライバ５３２ａは、投入された印刷ジョブをレンダリング処理して出力デバイス１３０ａのためのＰＤＬ８０１ａを生成する。そして、プリンタドライバ５３２ａは、出力デバイス１３０ａに対しＰＤＬ８０１ａを送信する。一方、印刷ジョブ配送プログラム５３０がプリンタドライバ５３２ｂを選択した場合、プリンタドライバ５３２ｂは、投入された印刷ジョブをレンダリング処理して出力デバイス１３０ｂのためのＰＤＬ８０１ｂを生成する。そして、プリンタドライバ５３２ｂは、出力デバイス１３０ｂに対しＰＤＬ８０１ｂを送信する。
【００１７】
図９は、印刷ジョブ配送プログラム５３０が認証サーバーからの信号を待機している間、ＰＣ１１０の画面に表示されるＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を示す図である。ＵＩには、仮想プリンタドライバ５３１から受け取った印刷ジョブ８００のリストが表示されている。印刷ジョブ配送プログラム５３０が認証サーバーからの信号を待機している間に、アプリケーション５２１は複数回印刷を実行することが可能で、印刷ジョブ配送プログラム５３０は複数の印刷ジョブを保持することができる。図中、３つの印刷ジョブ（９００、９０１、９０２）がリストアップされている。
図１０は、図９で表示される複数の印刷ジョブが、ＰＣ１１０のＲＡＭ５０２にロードされた状態でのＲＡＭ５０２のメモリマップを示す図である。図９の９００の行として表示されている印刷ジョブに対応するメモリは１０００である。図９の９０１の行として表示されている印刷ジョブに対応するメモリは１００１である。図９の９０２の行として表示されている印刷ジョブに対応するメモリは１００２である。１０００〜１００２は、配列としてメモリ上に保持される。以後、この印刷ジョブの配列をジョブリストと呼ぶ。各々のデータ（印刷ジョブ）の中身は、１００３〜１００８として構成される。１００３は、印刷ジョブを識別するためのＩＤを意味する。１００４は、印刷ジョブのドキュメント名を意味し、図９において画面表示に使用される。１００５は、後述する１００９のデータタイプを意味する。より具体的には、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）やＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ  Ｆｉｌｅ）といった種類を指示する。１００６は、印刷ジョブのページ数を意味し、図９において画面表示に使用される。１００７は、印刷ジョブのデータサイズ（即ち１００９のファイルサイズ）を意味し、図９において画面表示に使用される。１００８は、印刷ジョブの本体データを指すファイルパスを意味する。１００９は、印刷ジョブの本体データである。即ち１００９は、印刷設定データと印刷描画データとを保持するファイルである。このファイルの中に保持される印刷設定の一部として、カラー・モノクロ指定、両面・片面指定、ホチキスとめ指定、がある。そして、これらは、図９において画面表示に使用される。尚、１００９は、通常、外部メモリ５１１上に存在するが、ファイルサイズがＲＡＭ５０２の総量に対し十分に小さい場合は、ＲＡＭ５０２にロードされる。
【００１８】
図１１は、印刷ジョブ配送プログラム５３０が実施する印刷ジョブ受信処理について説明したフローチャートである。印刷ジョブ配送プログラム５３０は、スレッドを起動して、印刷ジョブ受信処理を開始する（Ｓ１１００）。印刷ジョブ配送プログラム５３０は、仮想プリンタドライバから印刷ジョブを受信したかどうか判断する（Ｓ１１０１）。印刷ジョブを受信した場合、印刷ジョブ配送プログラム５３０は、印刷ジョブを図１０のジョブリストに加える（Ｓ１１０２）。印刷ジョブ配送プログラム５３０は、ジョブリストを更新すると、同時に図９のＵＩも更新する。そして、印刷ジョブ配送プログラム５３０は、Ｓ１１０１へ戻る。印刷ジョブを受信していな場合、印刷ジョブ配送プログラム５３０は、終了通知を受信したかどうか判断する（Ｓ１１０３）。終了通知の発行元については図１２の説明において後述する。終了通知を受信していない場合、印刷ジョブ配送プログラム５３０は、Ｓ１１０１へ戻る。終了通知を受信した場合、印刷ジョブ配送プログラム５３０は、印刷ジョブ受信処理を終了する（Ｓ１１０４）。
【００１９】
図１２は、印刷ジョブ配送プログラム５３０が実施する本実施形態特有の情報処理について説明したフローチャートである。図１１の印刷ジョブ受信処理とは別スレッドで動作する。印刷ジョブ配送プログラム５３０は、ジョブリストに１つ目の印刷ジョブが加えられたところから処理を開始する（Ｓ１２００）。印刷ジョブ配送プログラム５３０は、認証サーバー１４０からプルプリントの要求の一例である信号を受信したかどうか判断する（Ｓ１２０１）。信号を受信した場合、印刷ジョブ配送プログラム５３０は、その信号から出力デバイスのネットワークアドレスを得る（Ｓ１２０２）。信号を受信しない場合、印刷ジョブ配送プログラム５３０は、Ｓ１２０１へもどる。印刷ジョブ配送プログラム５３０は、出力デバイスのネットワークアドレスを使って、出力デバイスと双方向通信を行い、出力デバイスの能力を得る（Ｓ１２０３）。能力とは、カラー印刷、両面印刷、ホチキスとめ印刷、といった機能の有無を意味する。印刷ジョブ配送プログラム５３０は、Ｓ１２０２で得たネットワークアドレスと前回取得した信号に含まれた出力デバイスのネットワークアドレスとが同じかどうか判断する（Ｓ１２０４）。つまり、Ｓ１２０４での処理は、ＩＣカードを２回連続で同じ認証ユニットにかざしたかどうかを判断することを意味する。ＩＣカードを２回連続で同じ認証ユニットにかざしたと判断した場合、印刷ジョブ配送プログラム５３０は、図１０のジョブリストが保持する全印刷ジョブの印刷設定をデバイス能力と比較して丸める（Ｓ１２０５）。
このＳ１２０５の丸め処理の詳細を図１３に示している。印刷ジョブ配送プログラム５３０は、図１３のＳ１３００から丸め処理を開始する。印刷ジョブ配送プログラム５３０は、Ｓ１３０１とＳ１３０２とでジョブリスト中の印刷ジョブを一つずつ列挙していく。出力デバイスがモノクロ機で印刷設定がカラー印刷指定の場合（Ｓ１３０３）、印刷ジョブ配送プログラム５３０は、印刷設定をモノクロ印刷指定に変更する（Ｓ１３０４）。出力デバイスが両面印刷機能非搭載なのに印刷設定が両面印刷指定の場合（Ｓ１３０５）、印刷ジョブ配送プログラム５３０は、印刷設定を片面印刷指定に変更する（Ｓ１３０６）。出力デバイスがホチキスとめ機能非搭載なのに印刷設定がホチキスとめ印刷指定の場合（Ｓ１３０７）、印刷ジョブ配送プログラム５３０は、印刷設定のホチキスとめ指定を無効化する（Ｓ１３０８）。ジョブリスト中の全ての印刷ジョブを列挙し終わった場合、印刷ジョブ配送プログラム５３０は、丸め処理を終了する（Ｓ１３０９）。以上の丸め処理により、出力デバイス側で指定された機能を実現できない場合に発生しやすいエラーや警告メッセージ等が無くなる。また、モノクロ機の出力デバイス対し、カラーデータ含むＰＤＬデータを送ることが無くなるので、無用なスループットの低下が避けられる。
【００２０】
図１２の説明に戻る。次に、印刷ジョブ配送プログラム５３０は、ジョブリストに含まれる全印刷ジョブから図１４のようなジョブＩＤのリストを生成する（Ｓ１２０６）。図１４は、ジョブＩＤリストがＲＡＭ５０２にロードされた状態でのＲＡＭ５０２のメモリマップを示す図である。各々のジョブＩＤ（１４００〜１４０２）は配列としてメモリ上に保持される。このジョブＩＤリストが出力デバイスに出力すべき印刷ジョブのリストとなる。Ｓ１２０４でＩＣカードを前回とは異なる認証ユニットにかざした、若しくは、初めて認証ユニットにかざした、と判定した場合、印刷ジョブ配送プログラム５３０は、印刷設定とデバイス能力と図７のマッチングを行う。そして、印刷ジョブ配送プログラム５３０は、保持する印刷ジョブのうち、デバイスの能力に合致する印刷設定を持つ印刷ジョブのジョブＩＤのリストを生成する（Ｓ１２０７）。
このＳ１２０７の詳細を図１５に示している。印刷ジョブ配送プログラム５３０は、図１５のＳ１５００からジョブＩＤリスト生成処理を開始する。印刷ジョブ配送プログラム５３０は、Ｓ１５０１とＳ１５０２とでジョブリスト中の印刷ジョブを一つずつ列挙していく。図７でカラーがチェックされていた場合（Ｓ１５０３）、印刷ジョブ配送プログラム５３０は、Ｓ１５０４へ進む。チェックされていない場合、印刷ジョブ配送プログラム５３０は、Ｓ１５０４をスキップしてキャンセルする。出力デバイスがモノクロ機で印刷設定がカラー印刷指定の場合（Ｓ１５０４）、印刷ジョブ配送プログラム５３０は、Ｓ１５０９をスキップして次のループ処理に進む（Ｓ１５０１）。それ以外の場合、印刷ジョブ配送プログラム５３０は、Ｓ１５０５に進む。図７で両面がチェックされていた場合（Ｓ１５０５）、印刷ジョブ配送プログラム５３０は、Ｓ１５０６へ進む。チェックされていない場合、印刷ジョブ配送プログラム５３０は、Ｓ１５０６をスキップしてキャンセルする。出力デバイスが両面印刷機能非搭載なのに印刷設定が両面印刷指定の場合（Ｓ１５０６）、印刷ジョブ配送プログラム５３０は、次のループ処理に進む（Ｓ１５０１）。それ以外の場合、印刷ジョブ配送プログラム５３０は、Ｓ１５０７へ進む。図７でホチキスがチェックされていた場合（Ｓ１５０７）、印刷ジョブ配送プログラム５３０は、Ｓ１５０８へ進む。チェックされていない場合、印刷ジョブ配送プログラム５３０は、Ｓ１５０８をスキップしてキャンセルする。出力デバイスがホチキスとめ機能非搭載なのに印刷設定がホチキスとめ印刷指定の場合（Ｓ１５０８）、印刷ジョブ配送プログラム５３０は、Ｓ１５０９をスキップして次のループ処理に進む（Ｓ１５０１）。それ以外の場合、印刷ジョブ配送プログラム５３０は、Ｓ１５０９に進む。Ｓ１５０９では、印刷ジョブ配送プログラム５３０は、処理中の印刷ジョブのＩＤを図１４のジョブＩＤリストに追加する。そして、印刷ジョブ配送プログラム５３０は、次のループ処理に進む（Ｓ１５０１）。ジョブリスト中の全ての印刷ジョブを列挙し終わった場合、印刷ジョブ配送プログラム５３０は、ジョブＩＤリスト生成処理を終了する（Ｓ１５１０）。
Ｓ１２０４の判断によるＳ１２０６やＳ１２０７の実施によって、ユーザーは、ＩＣカードを初めて認証ユニットにかざした場合、印刷設定に忠実な印刷出力物を得ることができる。つまり、ユーザーは、出力デバイスが印刷設定に相応しい能力を保持していない場合は、別の認証ユニットに対しＩＣカードをかざせばよい。もし、印刷設定に忠実なことにこだわりがなく、とにかく印刷することを優先するならば、ユーザーは、続けて同じ認証ユニットへＩＣカードをかざすだけでよい。このように、出力デバイスを前にして希望する印刷出力物を少ない手順で適切に得ることが可能となる。
【００２１】
以上で、出力対象となるジョブＩＤリストが得られた。次に、印刷ジョブ配送プログラム５３０は、ジョブＩＤリスト中のＩＤが複数かどうかを判断する（Ｓ１２０８）。複数のＩＤから構成されている場合、印刷ジョブ配送プログラム５３０は、各々の印刷ジョブの印刷設定にてジョブ結合を妨げる印刷設定がなされているかどうかを判断する（Ｓ１２０９）。
このＳ１２０９の詳細を図１６に示している。印刷ジョブ配送プログラム５３０は、図１６のＳ１６００からジョブ結合可否判定処理を開始する。印刷ジョブ配送プログラム５３０は、Ｓ１６０１とＳ１６０２とでジョブＩＤリスト中のジョブＩＤを一つずつ列挙していく。印刷ジョブ配送プログラム５３０は、Ｓ１６０１のジョブＩＤと図１０のジョブリスト中の印刷ジョブのジョブＩＤとを比較し、ジョブＩＤが一致する印刷ジョブを得る（Ｓ１６０３）。印刷ジョブ配送プログラム５３０は、Ｓ１６０３で得た印刷ジョブの印刷設定においてホチキスとめが指定されているかどうか判断する（Ｓ１６０４）。ホチキスとめが指定されている場合、印刷ジョブ配送プログラム５３０は、前回のループ処理においてホチキスとめが指定されていたかどうか判断する（Ｓ１６０５）。前回のループ処理においてホチキスとめが指定されていた場合、印刷ジョブ配送プログラム５３０は、次のループ処理に進む（Ｓ１６０１）。前回のループ処理においてホチキスとめが指定されていなかった場合、印刷ジョブ配送プログラム５３０は、ジョブ結合不可能と判断し（Ｓ１６０７）、ジョブ結合可否判定処理を終了する（Ｓ１６０８）。Ｓ１６０４にて、ホチキスとめが指定されていない場合、印刷ジョブ配送プログラム５３０は、前回のループ処理においてホチキスとめが指定されていなかったかどうか判断する（Ｓ１６０６）。前回のループ処理においてホチキスとめが指定されていなかった場合、印刷ジョブ配送プログラム５３０は、次のループ処理に進む（Ｓ１６０１）。前回のループ処理においてホチキスとめが指定されていた場合、印刷ジョブ配送プログラム５３０は、ジョブ結合不可能と判断し（Ｓ１６０７）、ジョブ結合可否判定処理を終了する（Ｓ１６０８）。尚、当フローチャートにおいて、ジョブ結合可否判定のポイントとしてホチキスとめを例示したが、パンチ等他にもジョブ結合を妨げる原因となる印刷設定は存在する。そのような印刷設定をジョブ結合可否判定処理に追加してもよい。
図１２の説明に戻る。ジョブ結合可否判定処理の結果、可と判断すると、印刷ジョブ配送プログラム５３０は、ジョブ結合を実施し、一つの印刷ジョブにまとめる（Ｓ１２１０）。そして、印刷ジョブ配送プログラム５３０は、結合した印刷ジョブを出力デバイスに向けて出力する（Ｓ１２１１）。Ｓ１２０９のジョブ結合可否判定処理の結果、否と判断すると、印刷ジョブ配送プログラム５３０は、Ｓ１２１０をスキップしてキャンセルし、ジョブＩＤリストに関連する印刷ジョブを一つずつ出力デバイスに向けて出力する（Ｓ１２１１）。Ｓ１２１０、Ｓ１２１１によって、複数の印刷ジョブを印刷中に他の印刷物で割り込まれることを防止できる。印刷ジョブ配送プログラム５３０は、出力デバイスに向けて出力した印刷ジョブはジョブリストから削除する（Ｓ１２１２）。印刷ジョブ配送プログラム５３０は、ジョブリストにまだ印刷ジョブが残っているかどうか判断し（Ｓ１２１３）、残っていた場合、Ｓ１２０１へ戻る。印刷ジョブが残っていなかった場合、印刷ジョブ配送プログラム５３０は、図１０の印刷ジョブ受信処理に対し終了通知を送り（Ｓ１２１４）、印刷処理を終了する（Ｓ１２１５）。
【００２２】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００２３】
上述した各実施形態によれば、ユーザーは、ＩＣカードを初めて認証ユニットにかざした場合、印刷設定に忠実な印刷出力物を得ることができる。出力デバイスが印刷設定に相応しい能力を保持していない場合は、別の認証ユニットに対しＩＣカードをかざせばよい。もし、印刷設定に忠実なことにこだわりがなく、とにかく印刷することを優先するならば、続けて同じ認証ユニットへＩＣカードをかざすだけでよい。このように、出力デバイスを前にして希望する印刷出力物を少ない手順で適切に得ることが可能となる。また、ホストＰＣ上でほとんどの処理が完結するので、低機能な出力デバイスも運用可能になる。
つまり、上述した各実施形態によれば、出力デバイスを前にして、ユーザーが希望する印刷出力物を少ない手順で適切に得ることができる。
【００２４】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005538916.tif 000002
【図２】
0005538916.tif 000003
【図３】
0005538916.tif 000004
【図４】
0005538916.tif 000005
【図５】
0005538916.tif 000006
【図６】
0005538916.tif 000007
【図７】
0005538916.tif 000008
【図８】
0005538916.tif 000009
【図９】
0005538916.tif 000010
【図１０】
0005538916.tif 000011
【図１１】
0005538916.tif 000012
【図１２】
0005538916.tif 000013
【図１３】
0005538916.tif 000014
【図１４】
0005538916.tif 000015
【図１５】
0005538916.tif 000016
【図１６】
0005538916.tif 000017