JP2009181344A - 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム - Google Patents

情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム Download PDF

Info

Publication number
JP2009181344A
JP2009181344A JP2008019843A JP2008019843A JP2009181344A JP 2009181344 A JP2009181344 A JP 2009181344A JP 2008019843 A JP2008019843 A JP 2008019843A JP 2008019843 A JP2008019843 A JP 2008019843A JP 2009181344 A JP2009181344 A JP 2009181344A
Authority
JP
Japan
Prior art keywords
drawing command
printer driver
printer
information processing
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008019843A
Other languages
English (en)
Inventor
Toru Suzuki
徹 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon IT Solutions Inc
Original Assignee
Canon IT Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon IT Solutions Inc filed Critical Canon IT Solutions Inc
Priority to JP2008019843A priority Critical patent/JP2009181344A/ja
Publication of JP2009181344A publication Critical patent/JP2009181344A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 情報処理装置から描画命令生成装置への再描画要求を減らし、ネットワーク負荷を低減させる。
【解決手段】 クライアント端末6〜8は、ターミナルサーバ1によって生成されるプリンタドライバに対する第1の描画命令と、プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを対応付けて管理する。そして、クライアント端末6〜8は、ターミナルサーバ1から第1の描画命令を受信し、受信した第1の描画命令をプリンタドライバにおいてPDLに変換可能か否かを判定し、PDLに変換できないと判定された場合、第1の描画命令に対応する第2の描画命令を検索する。次に、クライアント端末6〜8は、検索された第2の描画命令をプリンタドライバに対して提供する。
【選択図】 図1

Description

本発明は、ネットワーク負荷を考慮して再描画要求に対する描画命令をプリンタドライバに提供するための技術に関するものである。
近年、情報セキュリティ保持の観点から業務情報及びその処理についてユーザ各自のコンピュータで行っていたものを中央のサーバに移す事例がよく見られる。例えばマイクロソフト社のWindows(登録商標)やWindows上で動作するCitrix社のMetaFrame(登録商標)という製品では、業務情報を保持するデータ及びそれを処理するアプリケーションがターミナルサーバと呼ばれるサーバ装置上に配置される。ユーザ各自のコンピュータには、入出力のみを行うクライアントソフトウェアが配置されて利用されている。
この場合、データ及びアプリケーションについてはサーバ装置上で集中管理されるものの、プリンタについてはユーザの身近にあるものを利用する必要がある。そのため、ユーザのコンピュータに構成されているプリンタドライバをそのまま利用したいという要望がある。
この要望に応えるべく、MetaFrameではユーザが自身のコンピュータからクライアントソフトウェアを通してターミナルサーバを利用するときに、仮想プリンタを構成してターミナルサーバ内で処理しているデータを普段ユーザが利用しているプリンタから印刷することを可能としている(例えば、特許文献1、2参照)。
この仮想プリンタを構成して印刷する方法は、ターミナルサーバの管理者が予め各ユーザが使用しているプリンタメーカが提供するプリンタのプリンタドライバ(ネイティブドライバ)をターミナルサーバに構成しておく方法である。この方法ではユーザが普段利用しているプリンタドライバを使うことから、高い利便性が得られる。
また、仮想プリンタを構成して印刷する方法は、ターミナルサーバにユニバーサルプリンタドライバという汎用(様々な種類のプリンタに適用可能)プリンタドライバを構成する。そして、クライアントにも汎用プリンタドライバを構成し、汎用プリンタドライバ同士が設定情報や描画情報の送受信を行う方法である。この方法ではターミナルサーバの管理者は汎用プリンタドライバのみを構成しておけば、ユーザが利用するプリンタ製品の種類が多岐に渡っても、クライアント端末に構成されているプリンタドライバのバージョンが更新されても、更新作業は実施する必要がなく、プリンタドライバの維持管理の手間がかからず管理が容易であった。
特開2005−346737号公報 特開2005−346738号公報
しかしながら、1つ目の、ターミナルサーバの管理者が予め各ユーザが使用しているプリンタのプリンタドライバをターミナルサーバに構成しておく方法は、ユーザが利用しているプリンタ製品の種類が多岐にわたる場合や、プリンタドライバのバージョンアップが頻繁に行われる場合においては、ターミナルサーバ内に構成したプリンタドライバの維持管理に大変手間がかかるといった課題が存在していた。
また、2つ目のターミナルサーバにユニバーサルプリンタドライバという汎用プリンタドライバを構成する。そしてクライアント側にも汎用プリンタドライバを構成し、汎用プリンタドライバ同士が設定情報や描画情報の送受信を行う方法は、ターミナルサーバ上で動作するプリンタドライバは汎用(基本)機能しか持ち合わせていないことから、機能面で制限が発生するという技術的課題が存在していた。
このように、2つの方法で印刷処理がなされるため、ターミナルサーバを導入する企業は、上記どちらかの方法を選択して印刷システムを構築しなければならなかった。
特に上述した1つ目の方法では、仮にクライアント端末のプリンタドライバのバージョンが上がる、或いは新規のプリンタドライバがインストールされた場合、クライアント端末と、サーバ間でのプリンタドライバの整合性が合わない。そのため、サーバから描画命令を取得したクライアント端末のプリンタドライバは解釈できない描画命令を受信することになる。従って、クライアント端末のプリンタドライバはサーバに再描画を要求し、クライアント端末とサーバ間の処理が頻繁に行われ、ネットワークの負荷を高めてしまっていた。
そこで、本発明の目的は、情報処理装置から描画命令生成装置への再描画要求を減らし、ネットワーク負荷を低減させることにある。
本発明の情報処理装置は、プリンタドライバを備えるとともに、前記プリンタドライバに対応するプリンタと前記プリンタドライバに対する描画命令を生成する描画命令生成装置と通信可能に接続される情報処理装置であって、前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを対応付けて管理する管理手段と、前記描画命令生成装置から前記第1の描画命令を受信する受信手段と、前記受信手段により受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定手段と、前記判定手段により前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索手段と、前記検索手段により検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供手段とを有することを特徴とする。
本発明の描画命令生成装置は、プリンタドライバを備える情報処理装置と通信可能に接続され、前記プリンタドライバに対する描画命令を生成する描画命令生成装置であって、前記プリンタドライバに対する第1の描画命令を生成する第1の生成手段と、前記第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置により生成される第2の描画命令とを対応付けて管理する前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信手段と、前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する第1の受信手段と、前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成手段と、前記第2の生成手段により生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信手段とを有することを特徴とする。
本発明の情報処理システムは、プリンタドライバを備える情報処理装置と、前記プリンタドライバに対する描画命令を生成する描画命令生成装置とが通信可能に接続される情報処理システムであって、前記情報処理装置は、前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを対応付けて管理する管理手段と、前記描画命令生成装置から前記第1の描画命令を受信する受信手段と、前記受信手段により受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定手段と、前記判定手段により前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索手段と、前記検索手段により検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供手段とを有し、前記描画命令生成装置は、前記プリンタドライバに対する第1の描画命令を生成する第1の生成手段と、前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信手段と、前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する受信手段と、前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成手段と、前記第2の生成手段により生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信手段とを有することを特徴とする。
本発明の情報処理装置の制御方法は、プリンタドライバを備えるとともに、前記プリンタドライバに対応するプリンタと、前記プリンタドライバに対する描画命令を生成する描画命令生成装置と通信可能に接続される情報処理装置の制御方法であって、前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを管理手段において対応付けて管理する管理ステップと、前記描画命令生成装置から前記第1の描画命令を受信する受信ステップと、前記受信ステップにより受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定ステップと、前記判定ステップにより前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索ステップと、前記検索ステップにより検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供ステップとを含むことを特徴とする。
本発明の描画命令生成装置の制御方法は、プリンタドライバを備える情報処理装置と通信可能に接続され、前記プリンタドライバに対する描画命令を生成する描画命令生成装置の制御方法であって、前記プリンタドライバに対する第1の描画命令を生成する第1の生成ステップと、前記第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置により生成される第2の描画命令とを対応付けて管理する前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信ステップと、前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する受信ステップと、前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成ステップと、前記第2の生成ステップにより生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信ステップとを含むことを特徴とする。
本発明のプログラムの第1の態様は、プリンタドライバを備えるとともに、前記プリンタドライバに対応するプリンタと、前記プリンタドライバに対する描画命令を生成する描画命令生成装置と通信可能に接続される情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを管理手段において対応付けて管理する管理ステップと、前記描画命令生成装置から前記第1の描画命令を受信する受信ステップと、前記受信ステップにより受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定ステップと、前記判定ステップにより前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索ステップと、前記検索ステップにより検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供ステップとをコンピュータに実行させることを特徴とする。
本発明のプログラムの第2の態様は、接続されるプリンタに対応するプリンタドライバを備える情報処理装置と接続され、前記プリンタドライバに対する描画命令を生成する描画命令生成装置の制御方法をコンピュータに実行させるためのプログラムであって、前記プリンタドライバに対する第1の描画命令を生成する第1の生成ステップと、前記第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置により生成される第2の描画命令とを対応付けて管理する前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信ステップと、前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する受信ステップと、前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成ステップと、前記第2の生成ステップにより生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信ステップとをコンピュータに実行させることを特徴とする。
本発明においては、描画命令生成装置において生成される第1の描画命令に対してプリンタドライバからの再描画要求が発生し、第1の描画命令に対応する第2の描画命令が情報処理装置側で管理されている場合、管理されている第2の描画命令を情報処理装置に対して提供するようにしている。従って、本発明によれば、情報処理装置から描画命令生成装置への再描画要求を減らし、ネットワーク負荷を低減させることが可能となる。
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
先ず、本発明の実施形態を説明するために必要な用語の定義を以下に記載する。
本説明においてプリンタドライバは3種類存在し、内1種類、つまりキャッシュモードプリンタドライバが新規に追加した種類のプリンタドライバとなる。以下に3種類のプリンタドライバについて説明する。
ネイティブプリンタドライバとは、従来のプリンタ本体に同梱されるプリンタベンダーが提供するプリンタドライバソフトウェアであり、OSからの描画要求に応じてプリンタ本体が解釈可能なPDLというデータに変換するものである。尚、ネイティブプリンタドライバは、後述する汎用プリンタドライバとは異なり、様々な印刷機能を利用した印刷が可能である。
汎用プリンタドライバ(ユニバーサルプリンタドライバ)とは、ターミナルサーバ内に唯一存在する汎用(基本)機能を有したプリンタドライバであり、ネイティブプリンタドライバの代替として機能することができるプリンタドライバである。汎用プリンタドライバは、OSからの描画要求をまとめたEMFファイルを生成した上でこれをクライアント端末上のネイティブプリンタドライバに送付し、以降の描画処理はネイティブプリンタドライバに行わせる。
キャッシュモードプリンタドライバとは、ターミナルサーバ側にのみ構成されるプリンタドライバである。キャッシュモードプリンタドライバは、プリンタドライバになされる各要求や問い合わせについて、ターミナルサーバ内にあるキャッシュデータにある情報はそれを用い、ないものについてはクライアント端末に構成されるネイティブプリンタドライバに転送する機能を持つ。また、キャッシュモードプリンタは、ネイティブプリンタドライバへの転送とターミナルサーバ内のキャッシュデータの検索機能のみを持ち、ネイティブプリンタドライバが持つようなPDLの生成機能は持たない。自身で描画要求を処理しない点において汎用プリンタドライバと類似するが、EMFという一時ファイルを生成する汎用プリンタドライバと比較し、キャッシュモードプリンタドライバは一時ファイルを生成しない。
GDIとはグラフィックスデバイスインタフェースの略語であり、OS(Windows)が備えるグラフィックスエンジンであり、画面への描画やプリンタへの印刷要求を担当する。
DDIとはデバイスドライバインタフェースの略語であり、Windowsのプリンタドライバを含むデバイスドライバが公開すべきインタフェースである。プリンタドライバの場合、これらのインタフェースはGDIから呼び出される。
本実施形態におけるキャッシュモードとは、ターミナルサーバ上でキャッシュモードプリンタドライバが構成され、それに付随してクライアント端末上でGDI擬装モジュールが構成される動作モードである。このときターミナルサーバ側ではGDIからのプリンタ能力情報の要求について、逐一クライアント端末側のネイティブプリンタドライバに問い合わせずに済ませることを目的としてクライアント端末の接続時、つまり印刷が開始される前に予め、ネイティブプリンタドライバに一括して問合せを行い、その問い合わせ内容と結果とターミナルサーバ側にキャッシュする。また、実際の描画処理はクライアント端末上のネイティブプリンタドライバで実施するが、ネイティブプリンタドライバが処理しきれない複雑な描画に関するGDIへの再描画処理要求を従来どおり処理すると、1度の再描画要求で必ずターミナルサーバへの問合せとその回答が発生することから、ターミナルサーバ側に1度行った再描画要求とその結果をクライアント端末側で印刷用キャッシュデータとして保持することにより、ターミナルサーバへの問合せ処理を削減する。
図1は、本発明の実施形態に係るネットワーク印刷システムの構成を示すシステム図である。
図1において、2つのネットワーク2、3が存在し、同一構内にある異なるフロアのネットワークを想定している。1はターミナルサーバであり、本実施形態ではマイクロソフト社のWindows(登録商標)上でCitrix社のMetaFrame(登録商標)が稼働していることを前提として説明する。
6、7、8はターミナルサーバ1と通信可能に接続されるクライアント端末であり、これらもマイクロソフト社のWindows(登録商標)が稼働していることを前提としている。ユーザはこのクライアント端末6、7、8を操作することにより、実際にはターミナルサーバ1に存在するアプリケーションプログラムを用いて、業務を遂行する。なお、ターミナルサーバ1は、本発明の描画命令生成装置の適用例となる構成であり、クライアント端末6は、本発明の情報処理装置の適用例となる構成である。
4、5はプリンタであり、ユーザは各自操作しているクライアント端末6、7、8から近い場所にあるプリンタから印刷することを志向するものとする。例えばクライアント端末8を使用しているユーザは同じネットワーク3上に存在する、プリンタ5に印刷する。
<ターミナルサーバ1及びクライアント端末6〜8のハードウェア構成>
図2は、ターミナルサーバ1及びクライアント端末6〜8となるコンピュータの機器構成を示すブロック図である。
ターミナルサーバ1及びクライアント端末6〜8は同じマイクロソフト社のWindows(登録商標)を搭載したコンピュータであり、ハードウェアの構成としては特に変わるものではなく、動作しているソフトウェアによってその役割が異なっている。
図2において、11はCPUであり演算処理を行う。なお、CPU11の演算に用いるデータやその結果についてはRAM12に保持される。また、RAM12に保持されているデータは揮発することから、最終的にはHDD13に格納するよう制御する。
HDD13にはOS(Operating System)を構成するシステムファイルやコンピュータ本体の内外に存在する機器類のデバイスドライバファイルが格納されており、CPU11は制御に際してそれらのファイルをRAM12にロードして処理を行う。
コンピュータの内部の機器はバス15で連結されており、CPU11がバス15を制御することにより内部機器間の通信を行う。またバス16には外部の記憶媒体からデータを読み出すためのCD−ROMドライブ14が接続されており、記憶媒体に格納されているデータをRAM12やHDD13に読み出すことができる。
その他に入力用I/F16を通してマウス20が、入力用I/F17を通してキーボード21が接続されている。また、出力用I/F18を通してディスプレイ22が接続されている。さらに、通信用I/F19を通してコンピュータはネットワーク2もしくは3と接続されており、後述するクライアント端末6〜8とターミナルサーバ1の間の通信はこのネットワークを通して送受信する。
<ターミナルサービスプログラム>
図3は、ターミナルサーバ1にて動作しているターミナルサービスプログラムを概念的に示す図である。
図3においてRAM12のメモリ空間はセッションという形で分離されている。31は共通セッションであり、ターミナルサーバ1が起動するとOSの初期化処理によって、HDD13に格納されているファイルを読み込む。
34及び40はOSを構成する核となるシステムファイルであり、HDD13に格納されているシステムファイル40がRAM12にシステムファイル31という形で読み込まれる。
この初期化処理において周辺機器を動作させるために、CPU11はHDD13からデバイスドライバファイル41を読み込み、RAM12内の共通セッション35として格納する。以降、CPU11は周辺機器制御についてはデバイスドライバファイル35を適時読み込んで実施する。なお、プリンタドライバはデバイスドライバの1種であることから、同様にして共通セッション31にて動作する。
クライアント端末6〜8からユーザがターミナルサーバ1にログオンすると、CPU11はその時点でRAM12にそのユーザ用のセッションを作成する。
32は仮にAというユーザがいる場合に、Aがログオンした際に作成されるユーザAのセッションである。同様にZというユーザがログオンした際にはAのセッションや共通セッションとは独立した33、つまりユーザZのセッションが作成される。
ユーザセッション32、33ではユーザが利用するアプリケーションプログラム42がHDD13から読み込まれて、メモリ上でアプリケーションプログラム36、38として動作する。アプリケーションプログラム42はHDD13の中で共通の領域に格納され、ユーザが使用するときはCPU11が各ユーザのセッションに個別に読み込んで動作させる。
実際にユーザ毎に個別の内容が保持されているデータについてはHDD13でユーザ毎に区画されたデータ領域43に格納される。データ領域43はユーザ毎にユーザデータA44やユーザデータZ45というように区画されており、ユーザAセッション32にはユーザデータA44のみがユーザデータ37としてRAM12に読み込まれ、同様にユーザZセッション33にはユーザデータZ45がユーザデータZ39として読み込まれる。
ユーザAがターミナルサーバ1に接続したことを識別し、HDD13に格納されているユーザデータA44へのアクセスを許可することは、CPU11がHDD13内のシステムファイル40に格納されているセキュリティデータベースの内容を参照することによって実施している。
<クライアント接続時のプリンタ構成>
図4は、クライアント端末6〜8がターミナルサーバ1に接続した際の処理の流れを示すフローチャートである。
ターミナルサーバ1では、クライアント端末6〜7の接続時に3種類のプリンタドライバのどれを用いるかについて決定し、その結果として図5又は図6のようなシステムが構成される。ターミナルサーバ1、クライアント端末6〜8の処理はそれぞれのOS内で動作しているスプーラモジュール内で行われる。
図4にて、S101でクライアント端末6〜8はターミナルサーバ1に接続要求を送信する。クライアント端末6〜8からの接続要求を受信したターミナルサーバ1は接続処理を開始する。
S102にて、クライアント端末6〜8はクライアント端末上に構成されているプリンタの機種名をターミナルサーバ1に送信する。
ターミナルサーバ1は、S151でプリンタ機種名を受信する。続いて、ターミナルサーバ1は、S152にてプリンタ機種名でターミナルサーバ1に構成済みのネイティブプリンタドライバを検索する。
S153にて、ターミナルサーバ1は、当該プリンタ機種名のネイティブプリンタドライバの有無をクライアント端末6〜8に通知する。続いて、ターミナルサーバ1は、S154にて、当該プリンタ機種名のネイティブプリンタドライバの有無を判定する。
既にネイティブプリンタドライバが構成されていれば、ターミナルサーバ1は、S157にてネイティブドライバファイルを読み込んで処理を行う。これにより、ターミナルサーバ1は、ネイティブプリンタドライバを介して描画命令をクライアント端末6に対して送信することになる。なお、本処理は、本発明の第4の送信手段の一処理例である。
一方、ネイティブドライバがターミナルサーバ1上になかった場合、ターミナルサーバ1は、S155にてクライアント端末6〜8に対してキャッシュモード利用の適否を問い合わせる。なお、S155は、本発明の問い合わせ手段の一処理例である。
クライアント端末6〜8は、S103にてターミナルサーバ1におけるネイティブプリンタドライバの有無について取得する。続いて、クライアント端末6〜8は、S104にてネイティブプリンタドライバの有無を判定する。その結果、S104にてネイティブプリンタドライバがないと判断された場合、クライアント端末6〜8は、S155の問い合わせに応じて、S105にてキャッシュモードを利用するかを問うメッセージ画面を表示する。
続いて、クライアント端末6〜8は、メッセージ画面に対するユーザからの回答をS106で受け取り、それをターミナルサーバ1に返信するとともに、S107にてユーザからの回答を判定する。一方、ターミナルサーバ1は、クライアント端末6〜8からの回答を受信し、S158で回答を確認する。
S158の確認の結果、キャッシュモードを利用しない場合は汎用プリンタドライバを利用するケースとなり、ターミナルサーバ1ではS159にて汎用ドライバファイルがRAM12に読み込まれる。これにより、ターミナルサーバ1は、汎用プリンタドライバを介して描画命令をクライアント端末6に対して送信することになる。なお、本処理は、本発明の第3の送信手段の一処理例である。
S107の判定の結果、キャッシュモードを利用する場合は、クライアント端末6〜8では、S108にてGDI擬装モジュールが起動される。GDI擬装モジュールの構成では本来プリンタドライバと処理を行うモジュールがGDIであるところをその処理をフックすることによって、GDIになりすます。
一方、S158の確認の結果、キャッシュモードを利用する場合、ターミナルサーバ1では、S160にてまずキャッシュモードプリンタドライバのファイルを読み込む。そして、ターミナルサーバ1は、S161でクライアント端末6〜8のGDI擬装モジュールを通してネイティブプリンタドライバからプリンタの能力情報を取得し、ターミナルサーバ1内でキャッシュモードプリンタドライバがアクセスするキャッシュデータに格納する。なお、S161は、本発明の第2の受信手段の一処理例である。
3つのモードのいずれかでドライバファイルを読み込んだ後にターミナルサーバ1ではS162にて仮想論理プリンタの構成を行い、ユーザが利用可能なプリンタアイコンを作成する。ターミナルサーバ1は、ここで決定した仮想論理プリンタの名称をS163にてクライアント端末6〜8に送信する。
クライアント端末6〜8ではS109にて仮想論理プリンタの名称を取得した後、S110にて実際にクライアント端末6〜8上のプリンタを共有し、ターミナルサーバ1上の仮想プリンタからの接続を許可する処理を行う。
<モジュール構成>
図5は、ターミナルサーバ1とクライアント端末6における一連の処理を実行するためのモジュール構成とその処理の流れを示した図である。なお、クライアント端末7、8のモジュール構成についてもクライアント端末6と同様のものとなる。図6は、MetaFrameの処理の流れを示した図である。
図5において、アプリケーションプログラム36はユーザデータA37を読み込んで処理をした上で印刷命令を送信するが、それに先んじてプリンタの能力情報を取得する。
例えばカラー印刷をサポートしているかであるとか、用紙の種類と言った情報を取得する。このとき、アプリケーションプログラム36はGDI51にプリンタの能力情報を要求する。これを受けてGDI51はキャッシュモードプリンタドライバ52にプリンタ能力の問い合わせを行う。
キャッシュモードプリンタドライバ52自体は汎用のプリンタドライバであるため、本来はプリンタの能力情報は持っていないが、クライアント端末6の接続時に実施した初期化処理において、プリンタの能力情報がキャッシュデータ54に格納されている。キャッシュモードプリンタドライバ52はここから必要な能力情報を読み出してGDI51を通じてアプリケーションプログラム36にプリンタの能力情報を返す。
必要なプリンタの能力情報を得た後、アプリケーションプログラム36はユーザデータA37を読み込んで処理をした上で印刷命令を送信する。この印刷命令に呼応して共通セッションに読み込まれているGDI51が印刷命令を解釈してキャッシュモードプリンタドライバ52に描画命令を送信する。
キャッシュモードプリンタドライバ52は、描画命令の内容そのものを通信モジュール53及び54を通してクライアント端末6内のGDI擬装モジュール55に送信する。
図6に示すMetaFrameの処理では、アプリケーションプログラム36からの印刷命令から発生する描画命令を全てEMFファイル58に格納する。アプリケーションプログラム36の印刷命令が終了した後に初めてEMFファイル58は通信モジュール53及び54を通してクライアント端末6に送信される。
ここに図5に示す処理と図6に示す処理と異なる点の1つがあり、図5に示す処理では、ターミナルサーバ1にEMFファイルという一時ファイルを生成しなくてよいことが利点となる。特にユーザデータのファイルサイズが大きい場合やアプリケーションプログラムの種類によってはこのEMFファイルのサイズが肥大化することがある。多数のユーザが接続するターミナルサーバ1で一斉に印刷処理がなされるとターミナルサーバ1上のディスク資源を逼迫しかねない。図5に示す処理では、印刷処理時に一時ファイルは生成しない。RAM12上にキャッシュデータ54は生成するが、プリンタの能力情報のみを格納した非常に小さいものである。
図5にて、描画命令を受け取ったGDI擬装モジュール55はその内容を再生し、ネイティブプリンタドライバ56に描画の要求を行う。
ネイティブプリンタドライバ56は描画要求に対し、ネイティブプリンタドライバ56で処理可能なものについては、PDLに変換してスプーラモジュール57を通してプリンタ4に送信する。また、ネイティブプリンタドライバ56で処理不可能なもの、つまりプリンタの能力に対して要求がより高度であるものについては、GDI51に対して要求を差し戻し、より低レベルの描画要求を発行するよう求める。
図6に示すMetaFrameの場合では、ネイティブプリンタドライバ56は自ら描画できない要求についてGDI59に対して再描画を要求する。
一方で、図5に示す処理では、実際に処理を行うGDIモジュールはターミナルサーバ1にあるGDI51に一本化するため、クライアント端末6のGDIは用いない。その代わりとしてGDI擬装モジュール55が処理を行う。GDI擬装モジュール55はネイティブプリンタドライバ56から差し戻された描画要求の内容をクライアント端末6のRAM12上にある印刷用キャッシュデータ60に格納する。そして次回に同じパターンの再描画要求があった場合、GDI擬装モジュール55は、印刷用キャッシュデータ60から読み込んでネイティブプリンタドライバ56に再描画要求を送信する。
また、印刷用キャッシュデータ60に同じパターンの再描画要求がなかった場合、GDI擬装モジュール55は、通信モジュール54を通してターミナルサーバ1に再描画要求を送信し、GDI51がこれを受け取って再度描画要求を送信する。
クライアント端末6上の印刷用キャッシュデータ60は特に複雑な描画要求を大量に発生させるようなアプリケーションプログラム36での印刷に効果を発揮する。このようなケースではネイティブプリンタドライバ56で処理できないデータがターミナルサーバ1に戻るケースが多くなるため、そこで速度低下することをクライアント端末6〜8上に印刷用キャッシュデータ60を持つことによって抑制する。
<キャッシュデータの構成>
図7は、ターミナルサーバ1にてキャッシュモードプリンタドライバ52が操作するキャッシュデータ54の内容について示した図である。キャッシュデータ54は、本発明の管理手段の適用例となる構成である。
図7において、D701はキャッシュデータ全体を示す。キャッシュデータは仮想プリンタ毎に1つずつ存在し、クライアント端末6の接続、つまり仮想プリンタの生成に伴ってRAM12上に生成され、クライアント端末6の切断に伴う仮想プリンタの削除に伴ってRAM12から消去される。
D701はプリンタ毎に存在するためプリンタ識別子をキャッシュデータに付与し、それを仮想プリンタと関連付けて管理する。
D702は、キャッシュデータD701を構成する各レコードである。どのような能力情報に対する要求かを示す命令(DDI)があり、ここで命令はプリンタの能力情報を要求する命令であり、パラメータは要求する情報の種類を示す。この命令とパラメータの組み合わせによって、一意に戻り値と付加情報が決定される。
D703は、キャッシュデータD701に格納するデータであり、仮想プリンタの初期化時にキャッシュモードプリンタドライバ52がクライアント端末6側のネイティブプリンタドライバ56に対して一斉に全ての問い合わせを行い、その内容をD703の形式で得てこれをD701内にD702として格納する。よって、クライアント端末の接続時(仮想プリンタ生成時)には一通りのデータがキャッシュデータD701に揃っていることになる。
D704は、GDI51からプリンタの能力情報の問い合わせが来た際にキャッシュモードプリンタドライバ52がキャッシュデータ54を検索するためのデータ形式である。D705は、GDI51からのプリンタの能力情報の問い合わせに対して、キャッシュモードプリンタドライバ52が返すデータの形式である。
<キャッシュデータに関連する処理>
図8〜図10は、キャッシュデータを操作・参照するための処理を示すフローチャートである。図8は、キャッシュモードプリンタドライバ52においてプリンタの能力情報を格納する処理を示しており、図4のS161に対応する処理である。
キャッシュモードプリンタドライバ52は、S801にてプリンタの能力を要求する命令(DDI)とパラメータの組み合わせをクライアント端末6のネイティブプリンタドライバ56に送信する。
続いて、キャッシュモードプリンタドライバ52は、S802にてS801の結果としてネイティブプリンタドライバ56から戻り値やデータを受信する。命令によっては戻り値が結果を示すこともあればデータが結果を示すこともあるため、両方ともに格納する。このようにクライアント端末6からターミナルサーバ1に対して戻り値やデータを送信する処理は、本発明の送信ステップSダンの一処理例である。
続いて、キャッシュモードプリンタドライバ52は、S803で得られた戻り値とデータを命令及びパラメータと組み合わせて図7のD703の形式にしてキャッシュデータ54に格納する。
続いて、キャッシュモードプリンタドライバ52は、S804で全ての命令とパラメータの組み合わせについて格納したかを確認し、全ての命令とパラメータの組み合わせを格納するまで処理を繰り返す。
図9は、キャッシュモードプリンタドライバ52において、GDI51からプリンタの能力情報について問い合わせを受けた際の処理を示している。
キャッシュモードプリンタドライバ52は、S900にてGDI51から印刷開始の指示を受けるまで待機する。
続いて、キャッシュモードプリンタドライバ52は、S901にてGDI51から印刷開始に伴い、プリンタの能力を要求する命令(DDI)とパラメータの組み合わせを受信する。
続いて、キャッシュモードプリンタドライバ52は、S902にてキャッシュデータを命令とパラメータの組み合わせをキーに検索する。例えばD704が検索用のデータであり、プリンタの能力要求をする命令と「カラー印刷可否」という能力情報のパラメータの組み合わせをキーとして検索している。基本的には、ここで必ずキャッシュデータには該当データが入っているはずであるが、エラー処理も考慮して、キャッシュモードプリンタドライバ52は、S903にてキャッシュデータが実際に存在するかを確認する。
実際にキャッシュデータに該当データが存在する場合には、キャッシュモードプリンタドライバ52は、S904にてキャッシュから読み込んだデータをデータ形式D705にてGDI51に送信する。
また仮にもキャッシュデータ54に該当データが存在しなかった場合、キャッシュモードプリンタドライバ52は、S905にて実際にクライアント端末6上のネイティブドライバ56に問い合わせを行い、得られた結果をやはりD705の形式のデータでGDI51に送信する。
この一連の能力問合せの後で、キャッシュモードプリンタドライバ52は、S906にてGDI51が実際の描画要求を開始するので、ここでGDI51から描画命令やそのパラメータ(座標等)を受信する。
S907では、キャッシュモードプリンタドライバ52は、S906にて得られた描画命令の種類やパラメータをクライアント端末6側のGDI擬装モジュール55に転送する目的で通信モジュール53に送信する。
図10は、プリンタの能力情報が更新されたときの処理を示すフローチャートである。S1000〜S1001−2まではクライアント端末6上のネイティブプリンタドライバ56での処理であり、S1002及びS1003はターミナルサーバ1上のキャッシュモードプリンタドライバ52での処理である。
ネイティブプリンタドライバ56は、S1000にてクライアント端末6上のプリンタ設定が変更になるのを待ち受ける。ここでのプリンタ設定は印刷設定ではなく、プリンタの機器設定である。例えば両面印刷を可能とするようなオプション機器をプリンタに装着することにより、プリンタが両面印刷可能になる場合、オプション機器を装着した後にクライアント端末6上のプリンタの設定を変更し、機器装着状態の旨を設定することによりプリンタは両面印刷可能がなる。
ネイティブプリンタドライバ56は、S1001にてS1000のプリンタ設定変更を受けてクライアント端末6上のプリンタの能力情報を更新する。
このような能力情報の更新が発生した場合、S1001−2にてネイティブプリンタドライバ56が更新情報をキャッシュモードプリンタドライバ52に送信する。
キャッシュモードプリンタドライバ52は、S1002にて更新情報を受信する。続いて、キャッシュモードプリンタドライバ52は、S1003にて更新情報に応じてキャッシュデータ54の更新を行う。なお、S1002は、本発明の第3の受信手段、S1003は、本発明の更新手段の一処理例である。
<印刷データキャッシュの構成>
図11は、クライアント端末6にてGDI擬装モジュール55から操作・参照される印刷用キャッシュデータ60のデータ構造を示す図である。
D1101は、印刷用キャッシュデータ全体を示している。印刷用キャッシュデータはクライアント端末6上のRAM12に存在する揮発性データであり、1回の印刷処理毎に1つの印刷用キャッシュデータが生成される。印刷処理が終了すると破棄される。データは印刷ジョブの識別子をキーとして管理される。
D1102は、印刷用キャッシュデータの中のレコードである。印刷用キャッシュデータはGDI擬装モジュール55からネイティブプリンタドライバ56に対して描画命令を発行した際にネイティブプリンタドライバ56で処理できないために再描画要求のあったデータをキャッシュする。
ここでの描画命令(DDI)は、当初のネイティブプリンタドライバ56が処理できない命令であり、そのパラメータもコピーして同じく保持する。
D1103は、ネイティブプリンタドライバ56からGDI擬装モジュール55に対して再描画要求時に与えられるデータである。GDI擬装モジュール55は、この描画命令とパラメータに一致するデータが印刷用キャッシュデータになければ、D1103の形式でターミナルサーバ1のGDI51に送信して再描画を要求する。
D1104は、GDI51への再描画要求の結果、返ってきた新たな描画命令とパラメータである。GDI51から返ってきた描画命令とパラメータをGDI擬装モジュール55が送信した描画命令とパラメータの組み合わせ(D1103)と組み合わせてD1102という形で印刷用キャッシュデータに格納する。
<印刷用キャッシュデータに関連する処理>
図12は、GDI擬装モジュール55が印刷処理時に印刷用キャッシュデータをどのように処理するかを示したフローチャートである。図12のうち、S1201、S1202、S1207−2、S1208〜S1212は、GDI擬装モジュール55により行われる処理である。S1203〜S1205及びS1207はネイティブプリンタドライバ56で行われる処理である。S1206はクライアント端末6上のスプーラモジュール57で行われる処理である。
GDI擬装モジュール55は、S1201にてターミナルサーバ1から描画命令とパラメータを受信する。これは、S907にてキャッシュモードプリンタドライバ52がGDI擬装モジュール55へ描画命令を転送した処理に続く処理である。当該描画命令は、本発明の第1の描画命令の適用例となる構成である。また、S907は、本発明の第1の送信手段の一処理例であり、S907において、クライアント端末が当該描画命令を受信する処理は、本発明の受信手段の一処理例である。さらに、当該描画命令をターミナルサーバ1が生成する処理は、本発明の第1の生成手段の一処理例である。
続いて、GDI擬装モジュール55は、S1202にて、得られた命令とパラメータをネイティブプリンタドライバ56に送信する。
続いて、ネイティブプリンタドライバ56は、S1203にて、受信した命令とパラメータを元にPDLへの変換処理を試みる。次に、ネイティブプリンタドライバ56は、S1204にて、PDL、即ちプリンタが解釈可能な言語への変換が実施できたかを確認する。PDLに変換できた場合、ネイティブプリンタドライバ56は、S1205にてPDLをスプーラモジュール57に送信する。スプーラモジュール57は、S1206にてこれをプリンタ4に転送する。
仮にネイティブプリンタドライバ56でPDLへの変換処理ができなかった場合、描画要求の内容が高度であったとしてS1207にてネイティブプリンタドライバ56からGDI51に対して再描画要求がなされる。
続いて、GDI擬装モジュール55は、S1207−2にて、S1207で行われたクライアント端末6上のGDI59への再描画要求をフックしてその内容を取得する。
続いて、GDI擬装モジュール55は、S1208にて、印刷用キャッシュデータ60内において、データ形式D1103のデータをキーとして検索を行う。S1208は、本発明の検索手段の一処理例である。
続いて、GDI擬装モジュール55は、S1209にて、検索条件に合致するデータ形式D1102のデータを存在するか否かを判定する。S1209にて検索条件に合致するデータ形式D1102のデータが存在する場合、GDI擬装モジュール55は、合致したデータをD1104形式にてネイティブプリンタドライバ56に送信する。これにより、ネイティブプリンタドライバ56は再度S1203の描画処理を実施することができる。なお、S1209は、本発明の判定手段の一処理例である。S1208とS1209の処理順序は入れ替えてもよい。また、GDI擬装モジュール55が、合致したデータをD1104形式にてネイティブプリンタドライバ56に送信する処理は、本発明の提供手段の一処理例である。
一方、印刷用キャッシュデータ60が存在しない場合、GDI擬装モジュール55は、S1210にてターミナルサーバ1のGDI51へ再描画要求を転送する。このように転送された再描画要求をターミナルサーバ1が受信する処理は、本発明の第1の受信手段の一処理例である。
その結果、再度低レベルになった描画命令がターミナルサーバ1から送信され、GDI擬装モジュール55は、S1211にてこれを受信する。なお、再描画要求に応じて低レベルとなった描画命令をターミナルサーバ1が生成する処理は、本発明の第2の生成手段の一処理例であり、ターミナルサーバ1が当該描画命令を送信する処理は、本発明の第2の送信手段の一処理例である。続いて、GDI擬装モジュール55は、S1212にてデータをD1102の形式にして印刷用キャッシュデータに格納した後、ネイティブプリンタドライバ56に送信する。
<ターミナルサーバ1内の構成済みプリンタドライバ情報>
図13は、ターミナルサーバ1内にて構成済みのプリンタドライバの情報を格納しているデータを示す図である。
本実施形態においては、ターミナルサーバ1内には、最低限でも汎用プリンタドライバ(図13内の「Citrix Universal Driver」)とキャッシュモードプリンタドライバ(同じく「Cash mode Driver」)は構成済みとなっている。この他にターミナルサーバ1の管理者がユーザの要請に応じて、ネイティブプリンタドライバ56(同じく上記2つ以外のプリンタドライバ)を構成する。
ターミナルサーバ1は、S152にてネイティブプリンタドライバ56の有無を検索する場合、このデータ内を検索する。検索のキーとしては、プリンタドライバ名称と環境及びOSの組み合わせとなり、三者がクライアント端末で利用している論理プリンタのプリンタドライバと一致する場合にはネイティブプリンタドライバ56が用いられる。
<ターミナルサーバ/クライアント端末内の一時データ>
図14及び図15では、接続情報等を管理するための一時データについて示している。図14は、ターミナルサーバ1内にて接続しているユーザ、クライアント端末及びプリンタ4についての情報を格納しているデータを示す図である。
ユーザ名とクライアント端末の名称は紐付けて格納され、それに対してクライアント端末上に構成されている複数の論理プリンタに対応する仮想論理プリンタ情報が格納される。
本データはS162にて生成され、ユーザがクライアント端末をターミナルサーバ1から切断した時点で削除が行われる。
図15は、図14と同様の仮想論理プリンタ情報をクライアント端末内に保持する際の情報を格納しているデータを示す図である。
S162にてターミナルサーバ1内で仮想論理プリンタが構成された後に仮想論理プリンタの名称がS163にてクライアント端末側に送信される。クライアント端末6ではS109でこれを受信した後に、S110で図15に示すデータを生成して格納する。
上述した実施形態によれば、ターミナルサーバ1上には汎用プリンタドライバのみを1度だけ構成するだけでよく、従来の汎用プリンタドライバを利用する方法と同様にターミナルサーバ1の管理者の管理の手間が軽減される。一方で、クライアント端末6〜8上には、製品版のプリンタドライバ(ネイティブプリンタドライバ)を構成した上で、ターミナルサーバ1に構成した仮想プリンタは、クライアント端末6〜8に構成されているプリンタドライバの機能を十全に利用することできることから機能性も損なわずに済む。特に同じ構内にターミナルサーバ1とクライアント端末6〜8がある環境では、高速なネットワークにより応答速度が向上するため、印刷処理速度が速くなる。
本発明の実施形態に係るネットワーク印刷システムの構成を示すシステム図である。 ターミナルサーバ及びクライアント端末となるコンピュータの機器構成を示すブロック図である。 ターミナルサーバにて動作しているターミナルサービスプログラムを概念的に示す図である。 クライアント端末がターミナルサーバに接続した際の処理の流れを示すフローチャートである。 ターミナルサーバとクライアント端末における一連の処理を実行するためのモジュール構成とその処理の流れを示した図である。 MetaFrameの処理における処理の流れを示した図である。 ターミナルサーバにてキャッシュモードプリンタドライバが操作するキャッシュデータの内容について示した図である。 キャッシュモードプリンタドライバにおいてプリンタの能力情報を格納する処理の流れを示すフローチャートである。 キャッシュモードプリンタドライバにおいて、GDIからプリンタの能力情報について問い合わせを受けた際の処理を示すフローチャートである。 プリンタの能力情報が更新されたときの処理を示すフローチャートである。 クライアント端末にてGDI擬装モジュールから操作・参照される印刷用キャッシュデータのデータ構造を示す図である。 GDI擬装モジュールが印刷処理時に印刷用キャッシュデータをどのように処理するかを示したフローチャートである。 ターミナルサーバ内にて構成済みのプリンタドライバの情報を格納しているデータを示す図である。 ターミナルサーバ内にて接続しているユーザ、クライアント端末及びプリンタについての情報を格納しているデータを示す図である。 図14と同様の仮想論理プリンタ情報をクライアント端末内に保持する際の情報を格納しているデータを示す図である。
符号の説明
1 ターミナルサーバ
2、3 ネットワーク
4、5 プリンタ
6、7、8 クライアント端末
11 CPU
12 RAM
13 HDD
14 CD−ROMドライブ
15 システムバス
16、17 入力用インタフェース
18 出力用インタフェース
19 通信用インタフェース
20 マウス
21 キーボード
22 ディスプレイ
31 RAM内のシステム共通のセッション領域
32 RAM内のユーザAが占有するセッション領域
33 RAM内のユーザZが占有するセッション領域
34 OSのシステムファイル
35 周辺機器類のデバイスドライバファイル
36、38 アプリケーションプログラム
37、39 ユーザデータ
40 HDDに格納されているOSのシステムファイル
41 HDDに格納されているデバイスドライバファイル
42 HDDに格納されているアプリケーションプログラム
43 HDD内のデータ格納用領域
44、45 HDD内のユーザデータ
51、59 OSのグラフィックス担当モジュール(GDI)
52 キャッシュモードプリンタドライバ
53 通信モジュール
54 キャッシュデータ
55 GDI擬装モジュール
56 ネイティブプリンタドライバ
57 OSのスプーラモジュール
58 EMFファイル
60 印刷用キャッシュデータ

Claims (12)

  1. プリンタドライバを備えるとともに、前記プリンタドライバに対応するプリンタと前記プリンタドライバに対する描画命令を生成する描画命令生成装置と通信可能に接続される情報処理装置であって、
    前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを対応付けて管理する管理手段と、
    前記描画命令生成装置から前記第1の描画命令を受信する受信手段と、
    前記受信手段により受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定手段と、
    前記判定手段により前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索手段と、
    前記検索手段により検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供手段とを有することを特徴とする情報処理装置。
  2. 前記描画命令生成装置に対して前記プリンタの能力情報を送信する送信手段を更に有し、
    前記第1の描画命令は、前記描画命令生成装置が前記プリンタの能力情報に応じて生成した描画命令であることを特徴とする請求項1に記載の情報処理装置。
  3. プリンタドライバを備える情報処理装置と通信可能に接続され、前記プリンタドライバに対する描画命令を生成する描画命令生成装置であって、
    前記プリンタドライバに対する第1の描画命令を生成する第1の生成手段と、
    前記第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置により生成される第2の描画命令とを対応付けて管理する前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信手段と、
    前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する第1の受信手段と、
    前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成手段と、
    前記第2の生成手段により生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信手段とを有することを特徴とする描画命令生成装置。
  4. 前記プリンタドライバであるネイティブプリンタドライバに対応するプリンタドライバが前記描画命令生成装置において存在しない場合、前記プリンタの能力情報を前記情報処理装置から受信する第2の受信手段を更に有し、
    前記第1の生成手段は、前記プリンタの能力情報に応じて前記第1の描画命令を生成することを特徴とする請求項3に記載の描画命令生成装置。
  5. 前記プリンタドライバであるネイティブプリンタドライバに対応するプリンタドライバが前記描画命令生成装置において存在しない場合、前記プリンタの能力情報に応じて前記第1の描画命令を生成するか否かを前記情報処理装置に対して問い合わせる問い合わせ手段と、
    前記問い合わせ手段による問い合わせの結果、前記プリンタの能力情報に応じて前記第1の描画命令を生成することが選択されなかった場合、汎用プリンタドライバを介して描画命令を前記情報処理装置に対して送信する第3の送信手段とを更に有することを特徴とする請求項4に記載の描画命令生成装置。
  6. 前記プリンタドライバであるネイティブプリンタドライバに対応するプリンタドライバが前記描画命令生成装置において存在する場合、前記描画命令生成装置内の前記ネイティブプリンタドライバに対応するプリンタドライバを介して描画命令を前記情報処理装置に対して送信する第4の送信手段を更に有することを特徴とする請求項4又は5に記載の描画命令生成装置。
  7. 前記プリンタの設定が更新された場合、前記プリンタの能力の更新情報を前記情報処理装置から受信する第3の受信手段と、
    前記プリンタの能力の更新情報に応じて、前記プリンタの能力情報を更新する更新手段とを更に有することを特徴とする請求項3乃至6の何れか1項に記載の描画命令生成装置。
  8. プリンタドライバを備える情報処理装置と、前記プリンタドライバに対する描画命令を生成する描画命令生成装置とが通信可能に接続される情報処理システムであって、
    前記情報処理装置は、
    前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを対応付けて管理する管理手段と、
    前記描画命令生成装置から前記第1の描画命令を受信する受信手段と、
    前記受信手段により受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定手段と、
    前記判定手段により前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索手段と、
    前記検索手段により検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供手段とを有し、
    前記描画命令生成装置は、
    前記プリンタドライバに対する第1の描画命令を生成する第1の生成手段と、
    前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信手段と、
    前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する受信手段と、
    前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成手段と、
    前記第2の生成手段により生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信手段とを有することを特徴とする情報処理システム。
  9. プリンタドライバを備えるとともに、前記プリンタドライバに対応するプリンタと、前記プリンタドライバに対する描画命令を生成する描画命令生成装置と通信可能に接続される情報処理装置の制御方法であって、
    前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを管理手段において対応付けて管理する管理ステップと、
    前記描画命令生成装置から前記第1の描画命令を受信する受信ステップと、
    前記受信ステップにより受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定ステップと、
    前記判定ステップにより前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索ステップと、
    前記検索ステップにより検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供ステップとを含むことを特徴とする情報処理装置の制御方法。
  10. プリンタドライバを備える情報処理装置と通信可能に接続され、前記プリンタドライバに対する描画命令を生成する描画命令生成装置の制御方法であって、
    前記プリンタドライバに対する第1の描画命令を生成する第1の生成ステップと、
    前記第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置により生成される第2の描画命令とを対応付けて管理する前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信ステップと、
    前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する受信ステップと、
    前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成ステップと、
    前記第2の生成ステップにより生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信ステップとを含むことを特徴とする描画命令生成装置の制御方法。
  11. プリンタドライバを備えるとともに、前記プリンタドライバに対応するプリンタと、前記プリンタドライバに対する描画命令を生成する描画命令生成装置と通信可能に接続される情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
    前記描画命令生成装置によって生成される前記プリンタドライバに対する第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置によって生成される第2の描画命令とを管理手段において対応付けて管理する管理ステップと、
    前記描画命令生成装置から前記第1の描画命令を受信する受信ステップと、
    前記受信ステップにより受信した前記第1の描画命令を前記プリンタドライバにおいて前記プリンタが解釈可能な言語に変換可能か否かを判定する判定ステップと、
    前記判定ステップにより前記第1の描画命令を前記プリンタドライバが前記プリンタで解釈可能な言語に変換できないと判定された場合、前記管理手段から前記第1の描画命令に対応する前記第2の描画命令を検索する検索ステップと、
    前記検索ステップにより検索された前記第2の描画命令を前記プリンタドライバに対して提供する提供ステップとをコンピュータに実行させるためのプログラム。
  12. 接続されるプリンタに対応するプリンタドライバを備える情報処理装置と接続され、前記プリンタドライバに対する描画命令を生成する描画命令生成装置の制御方法をコンピュータに実行させるためのプログラムであって、
    前記プリンタドライバに対する第1の描画命令を生成する第1の生成ステップと、
    前記第1の描画命令と、前記プリンタドライバからの再描画要求に応じて前記描画命令生成装置により生成される第2の描画命令とを対応付けて管理する前記情報処理装置に対し、前記第1の描画命令を送信する第1の送信ステップと、
    前記第1の描画命令を前記プリンタドライバにおいて前記プリンタで解釈可能な言語に変換できず、且つ前記第1の描画命令に対応する前記第2の描画命令が前記情報処理装置において管理されていない場合、前記プリンタドライバからの再描画要求を前記情報処理装置から受信する受信ステップと、
    前記プリンタドライバからの再描画要求に応じて、前記プリンタドライバに対する前記第2の描画命令を生成する第2の生成ステップと、
    前記第2の生成ステップにより生成される前記第2の描画命令を前記情報処理装置に対して送信する第2の送信ステップとをコンピュータに実行させるためのプログラム。
JP2008019843A 2008-01-30 2008-01-30 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム Pending JP2009181344A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008019843A JP2009181344A (ja) 2008-01-30 2008-01-30 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008019843A JP2009181344A (ja) 2008-01-30 2008-01-30 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2009181344A true JP2009181344A (ja) 2009-08-13

Family

ID=41035280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008019843A Pending JP2009181344A (ja) 2008-01-30 2008-01-30 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2009181344A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186612A (ja) * 2012-03-07 2013-09-19 Ricoh Co Ltd 情報処理装置、プログラム及び記録媒体
KR20140143775A (ko) * 2012-04-05 2014-12-17 마이크로소프트 코포레이션 캐시 관리 기법
JP2020057071A (ja) * 2018-09-28 2020-04-09 株式会社日本総合研究所 印刷方法、印刷指示装置及び印刷指示プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013186612A (ja) * 2012-03-07 2013-09-19 Ricoh Co Ltd 情報処理装置、プログラム及び記録媒体
KR20140143775A (ko) * 2012-04-05 2014-12-17 마이크로소프트 코포레이션 캐시 관리 기법
JP2015514274A (ja) * 2012-04-05 2015-05-18 マイクロソフト コーポレーション キャッシュ管理
US10198462B2 (en) 2012-04-05 2019-02-05 Microsoft Technology Licensing, Llc Cache management
KR102098415B1 (ko) 2012-04-05 2020-04-07 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 캐시 관리 기법
JP2020057071A (ja) * 2018-09-28 2020-04-09 株式会社日本総合研究所 印刷方法、印刷指示装置及び印刷指示プログラム

Similar Documents

Publication Publication Date Title
US11989462B2 (en) Information processing apparatus, method, and a non-transitory storage medium, receives first print settings information supports the internet printing protocol (IPP) and further receives second print settings that does not support the internet printing protocol (IPP) from printer
US6965958B1 (en) Searching for printers over a network using intermediate print data
JP4371693B2 (ja) 印刷制御装置、印刷制御方法及びコンピュータプログラム
US8773691B2 (en) Printing control apparatus, printing control method, and storage medium
JP5338505B2 (ja) 情報処理装置、プログラムおよび記録媒体
JP5293035B2 (ja) データ処理装置、データ処理方法、プログラムおよび記録媒体
US9135528B2 (en) Information processing apparatus, job processing method in information processing apparatus, and storage medium
KR101506764B1 (ko) 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP2010113623A (ja) 情報処理装置及び印刷制御方法
JP2008158646A (ja) データ処理装置、印刷装置、印刷処理方法、記憶媒体、プログラム
US8688864B2 (en) Information processing apparatus, information processing method, and information processing program
JP5656459B2 (ja) ジョブデータ送信装置、その制御方法、およびプログラム
JP6095261B2 (ja) クライアント/サーバソフトウェアインターラクションにおける動的機能の利用方法及び装置
JP2006350443A (ja) 印刷システムおよび印刷制御方法およびプログラム
US8237949B2 (en) System and method for combining at a single location selection of image finishing operations of multiple devices
JP2009181344A (ja) 情報処理装置、描画命令生成装置、情報処理システム、情報処理装置の制御方法、描画命令生成装置の制御方法及びプログラム
JP2007323207A (ja) 帳票処理装置及び方法
US8213032B2 (en) Information processing apparatus and method and computer-readable storage medium thereof
US20100188692A1 (en) Printing System, Printing Apparatus, and Printing Method
JP2008158645A (ja) 印刷装置、データ処理装置、印刷制御方法、記憶媒体、プログラム
JP2002287931A (ja) 情報処理装置および印刷制御装置およびプルプリント印刷システムおよび情報処理方法およびデータ処理方法および記憶媒体並びにプログラム
JP2001216116A (ja) ネットワークシステムおよびネットワークシステムのデータ処理方法および記録媒体
JP3957972B2 (ja) 情報処理装置および印刷制御装置およびデータ処理方法および記憶媒体
JP2015001829A (ja) 印刷システム、情報処理装置およびその制御方法、並びにプログラム
JP2024063454A (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム、およびプログラム