(57)【特許請求の範囲】
【請求項１】
ドキュメントデータを印刷するための印刷指示を受け付ける前にユーザー情報が入力された印刷装置の情報と前記ユーザー情報を取得する取得手段と、
前記印刷指示を受け付ける受信手段と、
前記取得手段により取得された前記ユーザー情報が前記印刷指示を発行したユーザーに対応する場合、前記印刷指示に基づいて生成された印刷ジョブを前記印刷装置の情報により特定される印刷装置に送信する送信手段と、
前記印刷指示を受け付ける前にユーザー情報が印刷装置に入力されていない場合、前記印刷ジョブが生成される前の前記ドキュメントデータの描画データを保存する保存手段と、
を有する情報処理装置。
【請求項２】
前記取得手段は、前記印刷装置の情報と前記ユーザー情報を前記印刷装置から取得し、
前記受信手段は、前記印刷指示をクライアントパソコンから受信する請求項１記載の情報処理装置。
【請求項３】
前記ドキュメントデータを保持する保持手段を更に有し、
前記印刷指示には、前記ユーザー情報と印刷対象となるドキュメントデータを特定するための情報が含まれる請求項１又は２記載の情報処理装置。
【請求項４】
前記ユーザー情報が印刷装置から通知された時刻から前記印刷指示をクライアント装置から受け取るまでの時刻により特定される経過時間が所定の時間よりも長い場合、前記ドキュメントデータを印刷するための指示を受け付ける前にユーザー情報が印刷装置に入力されている場合であっても、前記保存手段は、前記描画データを保存する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
印刷ジョブにかかる印刷時間を算出する算出手段を更に有し、
前記算出手段で算出された印刷ジョブにかかる印刷時間が所定の時間よりも長い場合、前記ユーザー情報が印刷装置から通知された時刻から前記印刷指示をクライアント装置から受け取るまでの時刻により特定される経過時間が所定の時間よりも長い場合であっても、前記送信手段は、前記印刷ジョブを送信する請求項４記載の情報処理装置。
【請求項６】
印刷ジョブのセキュリティ情報を取得するセキュリティ情報取得手段を更に有し、
前記セキュリティ情報取得手段で取得されたセキュリティ情報のセキュリティレベルが所定の条件を満たす場合、前記送信手段は、印刷ジョブを送信する請求項１乃至５何れか１項記載の情報処理装置。
【請求項７】
情報処理装置が実行する情報処理方法であって、
ドキュメントデータを印刷するための印刷指示を受け付ける前にユーザー情報が入力された印刷装置の情報と前記ユーザー情報を取得する取得ステップと、
前記印刷指示を受け付ける受信ステップと、
前記取得ステップにより取得された前記ユーザー情報が前記印刷指示を発行したユーザーに対応する場合、前記印刷指示に基づいて生成された印刷ジョブを前記印刷装置の情報により特定される印刷装置に送信する送信ステップと、
前記印刷指示を受け付ける前にユーザー情報が印刷装置に入力されていない場合、前記印刷ジョブが生成される前の前記ドキュメントデータの描画データを保存する保存ステップと、
を含む情報処理方法。
【請求項８】
コンピュータを、
ドキュメントデータを印刷するための印刷指示を受け付ける前にユーザー情報が入力された印刷装置の情報と前記ユーザー情報を取得する取得手段と、
前記印刷指示を受け付ける受信手段と、
前記取得手段により取得された前記ユーザー情報が前記印刷指示を発行したユーザーに対応する場合、前記印刷指示に基づいて生成された印刷ジョブを前記印刷装置の情報により特定される印刷装置に送信する送信手段と、
前記印刷指示を受け付ける前にユーザー情報が印刷装置に入力されていない場合、前記印刷ジョブが生成される前の前記ドキュメントデータの描画データを保存する保存手段と、
して機能させるためのプログラム。
【請求項９】
前記取得手段は、前記印刷装置の情報と前記ユーザー情報を前記印刷装置から取得し、
前記受信手段は、前記印刷指示をクライアントパソコンから受信する請求項８記載のプログラム。
【請求項１０】
前記ドキュメントデータを保持する保持手段として更に機能させ、
前記印刷指示には、前記ユーザー情報と印刷対象となるドキュメントデータを特定するための情報が含まれる請求項８又は９記載のプログラム。
【請求項１１】
前記ユーザー情報が印刷装置から通知された時刻から前記印刷指示をクライアント装置から受け取るまでの時刻により特定される経過時間が所定の時間よりも長い場合、前記ドキュメントデータを印刷するための指示を受け付ける前にユーザー情報が印刷装置に入力されている場合であっても、前記保存手段は、前記描画データを保存する請求項８乃至１０何れか１項記載のプログラム。
【請求項１２】
印刷ジョブにかかる印刷時間を算出する算出手段として更に機能させ、
前記算出手段で算出された印刷ジョブにかかる印刷時間が所定の時間よりも長い場合、前記ユーザー情報が印刷装置から通知された時刻から前記印刷指示をクライアント装置から受け取るまでの時刻により特定される経過時間が所定の時間よりも長い場合であっても、前記送信手段は、前記印刷ジョブを送信する請求項１１記載のプログラム。
【請求項１３】
印刷ジョブのセキュリティ情報を取得するセキュリティ情報取得手段として更に機能させ、
前記セキュリティ情報取得手段で取得されたセキュリティ情報のセキュリティレベルが所定の条件を満たす場合、前記送信手段は、印刷ジョブを送信する請求項８乃至１２何れか１項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
昨今、ドキュメントデータの一元管理化、モバイルＰＣ化、シンクライアント化が益々加速してきている。したがって印刷環境においても、クライアントＰＣにはプリンタードライバーをインストールすることなく印刷する環境提供が必要となる。ここで、プリンタードライバーをインストールしないことで起こる問題の一つとして、印刷時に出力するプリンターをユーザーが把握できないことが挙げられる。これはプリンタードライバーが選択されることにより、印刷物を出力するプリンターが選択されることになる。しかしながら、プリンタードライバーがインストールされていない以上、ユーザーがプリンタードライバーを選択できないため、プリンターも選択されていないことなり、上記問題が発生する。
また、例えば、クライアントＰＣから一旦、プリントサーバー３００が印刷要求を受け付け、プリントサーバー３００側で印刷状況に応じて、最適なプリンターを選択し、印刷ジョブを出力するもの（例えば、特許文献１参照）がある。
また、印刷ジョブを一旦、プリントサーバー３００に保存する。その後、ユーザーが出力したいプリンターの操作パネルを操作してプリントサーバー３００にアクセスして印刷ジョブを指定すると、プリントサーバー３００から印刷ジョブがプリンターに送信され印刷するもの（例えば、特許文献２参照）がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−０６７１５７号公報
【特許文献２】特開２００５−２０２７２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は、出力するプリンターを特定しないで印刷が可能だが、ユーザーは、実際に使用されるプリンターが物理的にどこに置かれているかが分からない問題があった。モバイル環境を想定して、出張先等で印刷を行った場合、ユーザーは、印刷ジョブに対する印刷処理を行ったプリンターを特定できず、印刷ジョブの印刷物を見失う問題がある。
特許文献２は、常に一度、プリントサーバーに印刷ジョブを溜めてユーザーが出力するプリンターの前まで行き、該当するプリントサーバーから印刷を実行するジョブを指定する方法（以下「プルプリント」という）である。つまり、ユーザーは、出力するプリンターの前で印刷を開始するため、印刷が終了するまで待っていなければならず、時間がかかる大量枚数の印刷には向いていない。また、常に決まった出力先のプリンターがある場合でも、ユーザーは、印刷の度にプリンター側でプルプリントの操作が必要になるため手間が掛ってしまう。
【０００５】
本発明はこの様な問題点に鑑みてなされたもので、ユーザーが、印刷の出力先の印刷装置を迷うことがないようにすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の情報処理装置は、ドキュメントデータを印刷するための印刷指示を受け付ける前にユーザー情報が入力された印刷装置の情報と前記ユーザー情報を取得する取得手段と、前記印刷指示を受け付ける受信手段と、前記取得手段により取得された前記ユーザー情報が前記印刷指示を発行したユーザーに対応する場合、前記印刷指示に基づいて生成された印刷ジョブを前記印刷装置の情報により特定される印刷装置に送信する送信手段と、前記印刷指示を受け付ける前にユーザー情報が印刷装置に入力されていない場合、前記印刷ジョブが生成される前の前記ドキュメントデータの描画データを保存する保存手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、ユーザーが、印刷の出力先の印刷装置を迷うことがないようにすることができる。
【図面の簡単な説明】
【０００８】
【図１】印刷システムのシステム構成の一例を示した図である。
【図２】プリントサーバーとプリンターとのハードウェア構成の一例を示す図である。
【図３】印刷システムのハードウェア構成及びソフトウェア構成の一例を示す図である。
【図４】対象プリンターが、ユーザー情報を受け付けた際の処理の一例を示すフローチャートである。
【図５】プリントサーバーが、ユーザー情報を受け取った際の処理の一例を示すフローチャートである。
【図６】実施形態１における印刷制御処理の一例を示すフローチャートである。
【図７】実施形態２における印刷制御処理の一例を示すフローチャートである。
【図８】実施形態２の対応表の一例を示した図である。
【図９】実施形態３における印刷制御処理の一例を示すフローチャートである。
【図１０】実施形態３の対応表の一例を示した図である。
【図１１】実施形態４における印刷制御処理の一例を示すフローチャートである。
【図１２】実施形態４の対応表の一例を示した図である。
【図１３】実施形態５における印刷制御処理の一例を示すフローチャートである。
【図１４】ＵＩの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、印刷システムのシステム構成の一例を示した図である。本実施形態の印刷システムには、少なくともプリントサーバー３００とプリンター１５０とクライアントＰＣ５００とが含まれている。更に本実施形態の印刷システムには、ドキュメントデータをはじめとする、全てのデジタルデータを保存するストレージサーバー４００、文書作成用のアプリケーションを管理するアプリケーションサーバー４１０が接続されている。また、更に、本実施形態の印刷システムには、ポータルサイトを提供するポータルサーバー４２０も含まれている。また、図１に示す印刷システムには、プリンターＡ１５１、プリンターＢ１５２も接続されている。
【００１１】
図２は、プリントサーバーとプリンターとのハードウェア構成の一例を示す図である。
サーバー装置（情報処理装置）の一例であるプリントサーバー３００は、ＲＯＭ３のプログラム用ＲＯＭ或いは外部メモリ１１に記憶されたプログラム等に基づいて処理を実行することにより、後述する実施形態にかかる処理を実行するＣＰＵ１を備える。更に、ＣＰＵ１は、プログラム等を実行することによってシステムバス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
ＲＯＭ３のプログラム用ＲＯＭ或いは外部メモリ１１は、オペレーティングシステムプログラム（以下、ＯＳという）等を記憶する。ＲＯＭ３のフォント用ＲＯＭ或いは外部メモリ１１は、フォントデータ等を記憶する。ＲＯＭ３のデータ用ＲＯＭ或いは外部メモリ１１は、後述する処理に用いられる各種データを記憶する。
ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。キーボードＩ／Ｆ５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ディプレイＩ／Ｆ６は、ディスプレイ１０の表示を制御する。外部メモリＩ／Ｆ７は、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。外部メモリ１１は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタードライバー等を記憶する。
プリンターＩ／Ｆ８は、所定の双方向性のインターフェース２２を介してプリンター１５０に接続されて、プリンター１５０との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザーは、印刷を実行する際、印刷の設定に関するウインドウを開き、プリンターの設定や、印刷モードの選択を含むプリンタードライバーに対する印刷処理方法（印刷設定情報）を設定できる。
【００１２】
印刷装置の一例であるプリンター１５０において、ＣＰＵ１２は、制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンターエンジン）１７に出力情報としての画像信号を出力する。なお、制御プログラムは、ＲＯＭ１４のプログラム用ＲＯＭや外部メモリ２１等に記憶される。ＲＯＭ１４のフォント用ＲＯＭは、上記出力情報を生成する際に使用するフォントデータ等を記憶する。ＲＯＭ１４のデータ用ＲＯＭは、ハードディスク等の外部メモリ２１がないプリンターの場合には、ホストコンピュータ上で利用される情報等を記憶する。
ＣＰＵ１２は、入力部１６を介してホストコンピュータとの通信処理が可能となっており、プリンター１５０内の情報等をプリントサーバー３００に通知可能に構成されている。ＲＡＭ１３は、ＣＰＵ１２の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１３は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ２１は、メモリコントローラ（ＭＣ）１８によりアクセスを制御される。外部メモリ２１は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作部２０には、操作パネルの操作のためのスイッチ及びＬＥＤ表示器等が配されている。また、プリンター１５０は、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンター制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、プリンター１５０は、図示しないＮＶＲＡＭを有し、操作部２０からのプリンターモード設定情報を記憶するようにしてもよい。
なお、図２ではプリントサーバー３００として説明したが、ホストコンピュータも同じような構成であってもよい。
【００１３】
図３は、印刷システムのハードウェア構成及びソフトウェア構成の一例を示す図である。クライアントＰＣ５００にはＷｅｂブラウザ５０１がインストールされておりプリンターを特定する様なプリンタードライバーはインストールされていない。アプリケーションサーバー４１０には、クライアントＰＣ５００のＷｅｂブラウザからドキュメントデータの閲覧、編集を可能とするアプリケーション４１１がインストールされている。
ストレージサーバー４００は、アプリケーション４１１で作成したドキュメントデータを保存するためのメモリ４０１を備える。プリントサーバー３００には、クライアントＰＣ５００のＷｅｂブラウザから指示を受け付けるＷｅｂサービス２０１、グラフィックエンジン２０２、プリンタードライバー２０３、システムスプーラー２０４がインストールされている。それらは外部メモリ１１に保存され、ＯＳやそのプログラムを利用する別のプログラムからの指示によってＲＡＭ２にロードされ、ＣＰＵ１によって実行されるプログラムモジュールである。また、Ｗｅｂサービス２０１及びプリンタードライバー２０３は、外部メモリ１１のＦＤや不図示のＣＤ−ＲＯＭ、或いは不図示のネットワークを経由して外部メモリ１１のＨＤに追加することが可能となっている。更に、プリントサーバー３００は、ドキュメントデータの描画データを溜置きするメモリ２０５を内蔵し、プリンター１５０からの印刷指示を受け付けるまで、ドキュメントデータの描画データを保存しておく。
【００１４】
図３の印刷システムの印刷処理に係わるハードウェア並びにソフトウェア構成を踏まえた上で、印刷処理の代表的な処理を以下に説明する。
クライアントＰＣ５００は、予めアプリケーションサーバー４１０のアプリケーション４１１を使って、ドキュメントデータを作成し、ストレージサーバー４００のメモリ４０１に保存する。Ｗｅｂブラウザ５０１が、Ｗｅｂサービス２０１を介してメモリ４０１に保存されているドキュメントデータの一覧を表示する。クライアントＰＣ５００は、ユーザーがＷｅｂブラウザ５０１を使って入力した指示に従い印刷するドキュメントデータを指定すると共に印刷を指示する。
印刷指示を受けたプリントサーバー３００は、指定されたドキュメントデータをストレージサーバー４００から取得する。Ｗｅｂサービス２０１より起動された印刷用アプリケーション（図示なし）は、グラフィックエンジン２０２を利用して、取得されたドキュメントデータを描画データ（例えばＥＭＦデータ）に変換する。グラフィックエンジン２０２は、印刷装置毎に用意されたプリンタードライバー２０３を外部メモリ１１からＲＡＭ２にロードする。プリンタードライバー２０３は、ドキュメントデータの描画データを印刷ジョブ（ＰＤＬデータ）に変換する。変換された印刷ジョブはＯＳによってＲＡＭ２にロードされたシステムスプーラー２０４を経て、インターフェース２２経由でプリンター１５０へ送信される。また、プリンタードライバー２０３により印刷ジョブに変換される前の描画データが、メモリ２０５に溜置かれ、プリンター１５０からの指示により、プリンター１５０のプリンタードライバーが描画データを印刷ジョブに変換して、プリンター１５０に送信する。なお、本願において描画データとは、ＥＭＦデータやＸＰＳデータ、ＰＤＦデータなど印刷ジョブ（ＰＤＬデータ）に変換される前のデータを指す。
【００１５】
本実施形態におけるプリンター１５０が、印刷を行う前にユーザー情報が入力された場合の処理を、図４に基づいて説明する。具体的には、ユーザーが印刷に使用したいプリンターの前まで行き、そのプリンターの操作パネルを使ってユーザー情報を入力した時に実行されるフローチャートである。図４の処理はプリンターのＣＰＵ１２が本処理に関係するプログラムをメモリから読み出して実行することで実現される。
まず、プリンター１５０は、ユーザーが操作パネルを使って入力した、ユーザーを特定できる様なユーザー情報（ユーザー識別情報）を受け取る（ステップＳ１０１）。プリンター１５０は、受け取ったユーザー情報をプリントサーバー３００に通知する（ステップＳ１０２）。なお、ユーザー情報は、例えばＩＣカードを使ってプリンター１５０に入力されてもよい。
本実施形態におけるプリントサーバー３００が、プリンター１５０からユーザー情報を通知された際の処理を、図５に基づいて説明する。図５の処理はプリントサーバーのＣＰＵ１が本処理に関係するプログラムをメモリから読み出して実行することで実現される。
まず、プリントサーバー３００は、プリンター１５０からユーザー情報を受け取る（ステップＳ１０５）。プリントサーバー３００は、受け取ったユーザー情報をユーザー情報データの一例であるユーザー情報リストに追加する（ステップＳ１０６）。なお、ユーザー情報データには、ユーザー情報と当該ユーザー情報を送信したプリンターの印刷装置識別情報（ＩＰアドレス、Ｍａｃアドレス）が含まれる。
プリントサーバー３００はＳ１０５においてユーザー情報をプリンター１５０から受け取った時刻又はＳ１０６でユーザー情報をユーザー情報リストに追加した時刻を対象プリンターが指定された時刻（日時）としてユーザー情報データに含めて記憶する。
【００１６】
本実施形態にて印刷を行った場合のプリントサーバー３００における処理を図６に基づいて説明する。図６の処理はプリントサーバーのＣＰＵ１が本処理に関係するプログラムをメモリから読み出して実行することで実現される。
プリントサーバー３００は、クライアントＰＣから印刷指示を受け取る（ステップＳ１１１）と、受け取った印刷指示からユーザーを特定できる様なユーザー情報（ユーザー識別情報）を取得する（Ｓ１１２）。なお、印刷指示にはユーザー情報と印刷対象となるドキュメントデータを特定するための情報が含まれる。ユーザー情報のより具体的な例としては、ユーザーアカウント名やユーザーＩＤ、若しくはユーザー毎に所有するＩＣカードから取得したユーザー識別情報である。
プリントサーバー３００は、取得したユーザー情報を自サーバー内に保存しているユーザー情報リストの中から検索する（ステップＳ１１３）。プリントサーバー３００は、合致するユーザー情報を見つけた場合（ステップＳ１１４のＹｅｓ）、合致するユーザー情報と共にユーザー情報データに含まれる対象プリンターの情報（印刷装置識別情報）を取得する（ステップＳ１１５）。そして、プリントサーバー３００は、印刷指示において指定されたドキュメントデータの印刷ジョブを対象プリンターの情報により特定された送信先へ送信する（ステップＳ１１９）。対象プリンターの情報のより具体的な例としては、プリンターのＩＰアドレス、Ｍａｃアドレス等である。この際、プリントサーバー３００は、特定された送信先のプリンターに対応するプリンタードライバーを使って印刷ジョブを生成する。なお、プリンタードライバーは、送信先である印刷装置が特定される前にインストールされていてもよいし、特定された後にインストールされてもよい。
【００１７】
プリントサーバー３００は、合致するユーザー情報が見つからなかった場合（ステップＳ１１４のＮｏ）、プリントサーバー３００に当該印刷指示により生成された描画データを溜置き（記憶）する（ステップＳ１１６）。その後、プリントサーバー３００は、プリンターから溜置きした描画データに対してプルプリントの指示を受け付けたか否かを判定する（Ｓ１１８）。なお、プルプリントとは、情報処理装置（本実施形態ではプリントサーバー）に記憶されている描画データをプリンターからの指示により印刷する処理を指す。そのため、プリントサーバー３００は、印刷装置からドキュメントデータを指定する情報を受け付けた場合、プルプリントの指示を受け付けたと判定する。プルプリントの指示を受け付けたと判定した場合、プリントサーバー３００は、プルプリントの指示において指定されたドキュメントの描画データを印刷ジョブに変換して、プルプリントの指示が入力された対象プリンターへ送信する（Ｓ１１９）。なお、プルプリントの指示には、印刷すべきドキュメント（描画データ）を指定する情報とプリンターのＩＰアドレスが含まれる。よって、プリントサーバー３００は、プルプリントを指示したプリンターに指定されたドキュメントの印刷ジョブを送信できる。なお、本実施形態では、プリントサーバー３００は、プルプリントの指示を受け付けた後に、プルプリントの指示を発行したプリンターのプリンタードライバーを使って指定されたドキュメントの描画データから印刷ジョブを生成する。
【００１８】
図６に示すフローチャートに従って処理すると、クライアントＰＣ５００がプリントサーバー３００に印刷指示を発行する前にユーザーがプリンターにおいてユーザー情報を入力しておけば、ユーザー情報を入力したプリンターにて印刷が実行される。一方、印刷指示の前にユーザーがプリンターにおいてユーザー情報を入力していない場合、プリントサーバー３００は、クライアントＰＣ５００から受け付けた印刷指示により特定されたドキュメントデータの描画データを溜置きする。プリントサーバー３００は、プリンターからのプルプリントの指示を受け付けた場合に、プルプリントの指示を入力したプリンターにプルプリントの指示において特定されたドキュメントの描画データから印刷ジョブを生成して、出力する。
つまり、本実施形態によれば、ユーザーは、クライアントＰＣから印刷指示を発行する前にプリンターの前まで行ってユーザー情報を入力してからクライアントＰＣを使って印刷指示を発行する。そのため、印刷されるプリンターの位置を迷うことがない。また、ユーザーは、クライアントＰＣから印刷指示を発行する前にプリンターの前まで行ってユーザー情報を入力しなかった場合でも、印刷対象ドキュメントの描画データはプリントサーバー３００に溜置きされる。そして、プルプリント指示により印刷ジョブの結果（印刷物）が出力される。したがって、クライアントＰＣから印刷指示を発行する前にプリンターにてユーザー情報が入力された場合であっても、入力されていない場合であっても、ユーザーが印刷物を見失う問題はなくなる。
【００１９】
＜実施形態２＞
実施形態１において、プリントサーバー３００は、印刷指示に含まれるユーザーを特定するユーザー情報に合致するユーザー情報が、ユーザー情報リスト内に保存されていた場合、無条件でプリンターに印刷ジョブを送信していた。しかし、例えば、一旦はそのプリンターに出力しようとして、ユーザー情報を入力したが、ユーザーがプリンターを指定（ユーザー情報を入力）したことを忘れてしまっている可能性もある。また、ユーザーがユーザー情報を入力したプリンターは前回の印刷時に指定したもので、今回は特にプリンターを指定していない可能性もある。つまり、ユーザーは、プリントサーバー３００に溜置きするものと認識していたのに、過去に入力されたユーザー情報がプリントサーバー３００に残ることにより、ユーザーの意図しないプリンターにて印刷が実行されてしまう場合がある。
【００２０】
この様な問題を解決するための処理を、図７のフローチャートに基づいて説明する。なお、本実施形態では実施形態１と異なる点について詳細に説明する。図７の処理はプリントサーバーのＣＰＵ１が本処理に関係するプログラムをメモリから読み出して実行することで実現される。
ステップＳ１２１〜Ｓ１２５の処理は、実施形態１のステップＳ１１１〜Ｓ１１５の処理と同じなので説明を省略する。
プリントサーバー３００は、ユーザー情報データから対象プリンターが指定された時刻を取得し、取得された時刻と印刷指示を受け付けた時刻とに基づいて、対象プリンターの指定から印刷指示の受け付けまでの時間を算出する（Ｓ１２６）。プリントサーバー３００は、Ｓ１２６において算出された時間が一定時間（所定の時間）内に収まっているか否かを判断する（ステップＳ１２７）。Ｓ１２６において算出された時間が一定時間内に収まっている場合（ステップＳ１２７のＹｅｓ）、プリントサーバー３００は、指定されている対象プリンターに印刷ジョブを送信する（ステップＳ１３１）。
プリントサーバー３００は、Ｓ１２６において算出された時間が一定時間より長い場合（ステップＳ１２７のＮｏ）、指定された対象プリンターに印刷ジョブを送信せずに、描画データをプリントサーバー３００に溜置きする（ステップＳ１２８）。溜置きしてからプルプリントするステップＳ１２８〜ステップＳ１３０の処理は、実施形態１のステップＳ１１６〜Ｓ１１８の処理と同じ処理なので、説明は省略する。
プリントサーバー３００は、対象プリンターに印刷ジョブを送信した時刻で前記ユーザー情報データに含まれる対象プリンターが指定された時刻を更新する（ステップＳ１３２）。
【００２１】
図８は、実施形態２のユーザーがプリンターの前に行き、プリンターの操作パネルを使ってユーザー情報を出力プリンターに入力した（対象プリンターが指定された）時刻から印刷指示が入力された時刻に対する出力先判別の対応表の一例を示した図である。図８の例では、プリントサーバー３００は、ユーザーが対象プリンターを指定してから２０分以内に同じユーザーが印刷指示を発行した場合、対象プリンターへ印刷ジョブをする。
一方、対象プリンターを指定してから２０分以上経過した後に印刷指示を発行した場合、プリントサーバー３００は、印刷指示に含まれるユーザー情報がユーザー情報リストに含まれていても、ドキュメントの描画データを溜置く（記憶する）。なお、この対応表はプリントサーバー３００の例えば外部メモリ１１等に登録されており、ユーザー操作等に応じて適宜変更することができる（図示なし）。
図７に示すフローチャートに従って処理すると、指定した日時が古い対象プリンターには出力せずにプリントサーバー３００に印刷対象の描画データを溜置き、ユーザーがプルプリントを指示してから印刷ジョブを送信する。これにより、ユーザーの意図しないプリンターにて印刷が実行される問題の発生を防ぐことができる。
【００２２】
＜実施形態３＞
実施形態２では、プリントサーバー３００は、対象プリンターを指定した時刻と印刷指示を受け付けた時刻とから経過時間を算出した。そして、プリントサーバー３００は、対象プリンターを指定した日時が新しいと判断した場合は対象プリンターに印刷ジョブを送信し、古いと判断した場合は印刷対象のドキュメントの描画データをプリントサーバー３００に溜置きしていた。
しかし、実施形態２の処理では、対象プリンターを指定しているにも関わらず、指定から時間が一定期間経過した場合、描画データが自動的にプリントサーバー３００に溜置きされてしまう。そのため、大量の印刷物を対象プリンターに出力しようとしていても、対象プリンターを指定してからの時間が一定期間経過した場合、描画データはプリントサーバー３００に溜置きされる。よって、その描画データを印刷するためにユーザーはプルプリントをプリンターにて指示しなければならない。その結果、出力するプリンターを指定してから印刷を開始することになるので、印刷が終了するまでユーザーがプリンターの前に居なくてはならず、効率的ではない。
【００２３】
そこで実施形態３では、この問題を解決するための処理を、図９のフローチャートに基づいて説明する。なお、本実施形態では、実施形態１、２と異なる点について説明する。図９の処理はプリントサーバーのＣＰＵ１が本処理に関係するプログラムをメモリから読み出して実行することで実現される。
ステップＳ１４１〜Ｓ１４７の処理は実施形態２のステップＳ１２１〜Ｓ１２７の処理と同じなので説明を省略する。
プリントサーバー３００は、対象プリンターが指定されてから印刷指示を受け付けるまでの時間が一定時間内に入っていない場合（ステップＳ１４７のＮｏ）、受け付けた印刷指示において生成された印刷ジョブの印刷にかかる時間を算出する（ステップＳ１４８）。例えば、プリントサーバー３００は、印刷ジョブであるＰＤＬが示す命令をテーブル等を使って加算することで印刷にかかる時間を算出する。なお、プリントサーバー３００は、プリンター毎の能力情報等を保持し、ステップＳ１４５で取得された対象プリンターの情報に対応するプリンターの能力情報と印刷ジョブとに基づき、印刷にかかる時間を算出してもよい。
プリントサーバー３００は、印刷ジョブの印刷にかかる印刷時間が一定時間より長いか否かを判断する（ステップＳ１４９）。印刷ジョブの印刷にかかる印刷時間が一定時間より長い場合（ステップＳ１４９のＹｅｓ）、プリントサーバー３００は、対象プリンターに印刷ジョブを送信する（ステップＳ１５３）。
一方、印刷ジョブの印刷にかかる印刷時間が一定時間より短い場合（ステップＳ１４９のＮｏ）、プリントサーバー３００は、プルプリントの指示を受け付けるまで、その印刷ジョブが生成される前の描画データを溜めおく（一時記憶する）（ステップＳ１５０）。ステップＳ１５１〜Ｓ１５４の処理は、実施形態２のステップＳ１２８〜Ｓ１３２の処理と同じなので説明は省略する。そのため、本実施形態では、印刷ジョブが生成される前の描画データを残しながら、その描画データの印刷ジョブが生成される。
【００２４】
図１０は、実施形態３の対象プリンターが指定されたときから印刷指示を受け付けるまでの時間に対する出力先判別の対応表の一例を示した図である。図１０の例では、印刷にかかる時間が１０分以内であれば、プリントサーバー３００は、対象プリンターが指定されてから６０分以内に印刷指示を受け付けた場合、その印刷指示により生成される印刷ジョブを対象プリンターへ送信する。つまり、プルプリントの指示は不要である。この対応表はプリントサーバー３００の例えば外部メモリ１１等に登録されており、ユーザー操作等に応じて適宜変更ができる（図示なし）。
図９に示すフローチャートに従って処理すると、指定した日時が古い対象プリンターでも、印刷に時間のかかる印刷ジョブは、プリントサーバー３００に溜置きされずに対象プリンターへ送信される。これにより時間がかかる印刷ジョブは対象プリンターに直接送信されるので、ユーザーがプリンターデバイスの前に行ってからプルプリントするより、印刷を待つ時間を短縮できる。
【００２５】
＜実施形態４＞
実施形態４では、プリントサーバー３００がセキュリティレベルに応じて対象プリンターへ印刷ジョブを送信するか、サーバーに溜置きするかを判断する処理について、図１１のフローチャートに基づいて説明する。なお、本実施形態では、実施形態１〜３と異なる点について説明する。図１１の処理はプリントサーバーのＣＰＵ１が本処理に関係するプログラムをメモリから読み出して実行することで実現される。
ステップＳ１６１〜Ｓ１６９までの処理は、実施形態３のステップＳ１４１〜Ｓ１４９までの処理と同じなので説明を省略する。
プリントサーバー３００は、受け取った印刷指示内に設定されているセキュリティ情報を取得（セキュリティ情報取得）する（ステップＳ１７０）。また、プリントサーバー３００は、例えば、印刷指示において生成された印刷ジョブに地紋印刷に係るデータや社外秘等の閲覧を限定するスタンプに係るデータが含まれていた場合、前記セキュリティ報情報示すセキュリティレベルを高く設定するようにしてもよい。
プリントサーバー３００は、獲得したセキュリティレベル情報が示すセキュリティレベルが一定のレベルより低いか否かを判断する（ステップＳ１７１）。獲得したセキュリティレベル情報が示すセキュリティレベルが一定のレベルより低い場合（ステップＳ１７１のＹｅｓ）、プリントサーバー３００は、対象プリンターに印刷ジョブを送信する（ステップＳ１７５）。プリントサーバー３００は、セキュリティレベルが一定のレベルより高い場合（ステップＳ１７１のＮｏ）、印刷ジョブを生成する前の描画データを溜置きしてプルプリントされるまで一時、保存する。
ステップＳ１７２〜Ｓ１７６の処理は、実施形態３のステップＳ１５１〜Ｓ１５４の処理と同じなので説明は省略する。
【００２６】
図１２は、セキュリティレベルと対象プリンターが指定されてから印刷指示を受け付けるまでの時間に対応する出力先判別の対応表の一例を示した図である。図１２の例では、プリントサーバー３００は、セキュリティレベルが高いと判定した印刷ジョブは、対象プリンターが指定されてから５分以内に印刷指示を受け付けた場合のみ印刷ジョブを対象プリンターへ送信する。つまり、プルプリントの指示は不要である。
それ以降の場合は、プリントサーバー３００は、印刷ジョブを溜置きし、プルプリントの指示を受け付けた場合に印刷ジョブをプリンターへ送信する。なお、この対応表はプリントサーバー３００の例えば外部メモリ１１等に登録されており、ユーザー操作等に応じて適宜変更ができる（図示なし）。
図１１に示すフローチャートに従って処理すると、セキュリティレベルの高い文書に対しては、より、ユーザーが指定したことを認識している確率が高いプリンターにのみ印刷ジョブが送信される。また印刷を実行した場所から対象プリンターが遠くにあり、印刷ジョブを出力してから取りに行く時間がかかってしまう場合、他人にその印刷ジョブを見られてしまう様なことは回避することができる。
【００２７】
＜実施形態５＞
実施形態５では、ユーザーが対象プリンターを指定してから印刷指示を発行するまでの時間の情報を利用して、ユーザーが対象プリンターの前に到着する時間に合わせて、印刷ジョブを対象プリンターに送信する処理について説明する。この処理を図１３に基づいて説明する。なお、本実施形態では、実施形態１〜４と異なる点について説明する。図１３の処理はプリントサーバーのＣＰＵ１が本処理に関係するプログラムをメモリから読み出して実行することで実現される。
図１４は、プリンタードライバーのユーザーインターフェース（ＵＩ）の一例を示す図である。ユーザーは、このＵＩの「デバイスの到着時刻に印刷ジョブを出力する」をチェックボックスの設定で、「デバイスの到着時刻に印刷ジョブを出力する」処理のＯＮ／ＯＦＦを切り替えることができる。
図１３の説明に戻り、プリントサーバー３００は、対象プリンターが指定された時刻を記録する（ステップＳ１８１）。プリントサーバー３００は、ステップＳ１０５においてユーザー情報を対象プリンター１５０から受け取った時刻又はステップＳ１０６でユーザー情報をユーザー情報リストに追加した時刻を対象プリンターが指定された時刻としてユーザー情報データに記憶する。
【００２８】
プリントサーバー３００は、印刷指示を受け付けると（ステップＳ１８２）、受け付けた時刻を記録する（ステップＳ１８３）。それ以降のステップＳ１８４〜Ｓ１８７の処理は、実施形態４のステップＳ１６２〜Ｓ１６５の処理と同じなので説明は省略する。ここで「デバイスの到着時刻に印刷ジョブを出力する」の設定がＯＮの場合（ステップＳ１８８のＹｅｓ）、プリントサーバー３００は、受け取った印刷ジョブの印刷にかかる時間を算出する（ステップＳ１８９）。
プリントサーバー３００は、対象プリンターが指定された時刻と印刷指示を受け取った時刻との差分を計算する。そして、その差分が印刷ジョブの印刷にかかる時間より大きくなった場合（ステップＳ１９０のＹｅｓ）、プリントサーバー３００は、対象プリンターに印刷ジョブを送信する（ステップＳ１９５）。プリントサーバー３００は、差分が印刷ジョブの印刷にかかる時間より小さい場合（ステップＳ１９０のＮｏ）、一定時間待って（ステップＳ１９１）、前記差分が印刷ジョブの印刷にかかる時間より大きくなるまでこの処理を繰り返す。
【００２９】
図１３に示すフローチャートに従って処理すると対象プリンターを指定してから印刷指示を受け付けた時間と印刷してから対象プリンターの前に到着するまでの時間とをほぼ同じと想定する。そして、ユーザーが対象プリンターの前に到着する時刻に印刷ジョブを出力することができる。
こうすることにより、他人に見られたくないドキュメント等を印刷するときに、ちょうどプリンターの前に到着するときを計算して印刷を完了させるようにすることができる。
【００３０】
ここまでの実施形態では、本願の図１のような印刷システムを想定していたが、クライアントＰＣとプリンターから構成される印刷システムにおいても、本願の処理を適用できる。
この場合、クライアントＰＣが、図１のプリントサーバー３００の役目を果たすことで実現される。具体的には、クライアントＰＣは、プリンター１５０〜プリンターＢ１５２のプリンタードライバーに関するプログラムを記憶する。なお、クライアントＰＣは、プリンタードライバーに関するプログラムを記憶しているが、プリンタードライバーはインストールされていない。また、クライアントＰＣは、設定画面を提供できるが印刷ジョブを生成できないプリンタードライバーを備える。クライアントＰＣは、この設定画面を介して印刷設定情報と印刷ジョブを生成する印刷指示を受け付ける（図６のＳ１１１−Ｓ１１２）。この印刷指示を受け付ける前にユーザーがユーザー情報をプリンターに入力していた場合、クライアントＰＣは、ユーザーがユーザー情報を入力したプリンターに対応するプリンタードライバーをインストールする。そして、クライアントＰＣは、インストールされたプリンタードライバーを使ってドキュメントデータの印刷ジョブを生成して、ユーザーがユーザー情報を入力したプリンターに印刷ジョブを送信する。一方、この印刷指示を受け付ける前にユーザーがユーザー情報をプリンターに入力していない場合、クライアントＰＣは、印刷対象のドキュメントの描画データを溜置き、プルプリントの指示に従いプリンタードライバーをインストールして、印刷ジョブを生成する。
以上の処理により、クライアントＰＣとプリンターにて構成されるプリントサーバーが存在しない印刷システムにおいても、クライアントＰＣが本願の処理を実現できる。
【００３１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００３２】
１５０  プリンター、３００  プリントサーバー
【図１】
0005451234.tif 000002
【図２】
0005451234.tif 000003
【図３】
0005451234.tif 000004
【図４】
0005451234.tif 000005
【図５】
0005451234.tif 000006
【図６】
0005451234.tif 000007
【図７】
0005451234.tif 000008
【図８】
0005451234.tif 000009
【図９】
0005451234.tif 000010
【図１０】
0005451234.tif 000011
【図１１】
0005451234.tif 000012
【図１２】
0005451234.tif 000013
【図１３】
0005451234.tif 000014
【図１４】
0005451234.tif 000015