| 【発明の名称】 |
プリンタ構成データと状態データを更新する方法及び装置 |
| 【発明者】 |
【氏名】レイモンド ジェイ サッバー
【氏名】メイ ジェイ オナガ
【氏名】リカン グオ
【氏名】エヴラル イー ボッデン
|
| 【要約】 |
【課題】プリントドライバを更新する新規な方法および装置を提供する。
【解決手段】装置は、プリンタの構成と状態を監視するポートモニタを備えている。プリントヘッドの構成に変化が起きると、ポートモニタはプリントサーバ上のプリントドライバ・レジストリを更新する。ポートモニタはさらにプリントサーバ上のプリントドライバを起こして、プリントドライバに構成の変化を知らせる。使用するクライアント・オペレーティングシステムに応じて、サーバの共用プリント待ち行列に接続されたクライアントデバイスは、構成データを直接読み取るか、またはプリントサーバから構成データを要求する。或るクライアントオペレーティングシステムには、クライアントデバイスがそれ自身のローカルレジストリを更新して、プリンタの構成の変化を反映させることができる。 |
【特許請求の範囲】
【請求項1】 プリントサーバ内のプリントドライバを更新する方法であって、プリンタポートにおいてプリンタからプリンタ構成データを収集すること、入ってくるプリンタ構成データの変化を監視すること、構成データの変化を認識すること、および構成データの変化を集約されたデータとしてスプーラレジストリに保存すること、の諸動作を含むことを特徴とする方法。 【請求項2】 さらに、集約されたデータを内部フォーマットへ変換できるように、サーバプリントドライバを起こし、サーバプリントドライバに構成データの変化を知らせる動作を含むことを特徴とする請求項1に記載の方法。 【請求項3】 サーバプリントドライバに知らせる動作はプリントサーバのプリンタマネージャ・スレッドが行うことを特徴とする請求項3に記載の方法。 【請求項4】 前記監視する動作は、さらに、新しいプリンタ構成データを定期的に収集するためプリンタをポーリングすること、およびポーリング動作で収集したデータと保存したプリンタ構成データとを比較すること、を含むことを特徴とする請求項1に記載の方法。 【請求項5】 前記監視する動作は、さらに、前記比較する動作が新しいプリンタ構成データと保存した構成データとが一致しないと決定したとき、フラグをセットすること、およびプリントドライバを起こし、セットしたフラグに一致する構成変化をさせること、を含むことを特徴とする請求項4に記載の方法。 【請求項6】 前記起こす動作は、Windows(登録商標)オペレーティングシステムによって定義されたプリントドライバ・イベントAPIを送信することによって行われることを特徴とする請求項2に記載の方法。 【請求項7】 クライアントデバイス内のプリントドライバを更新する方法であって、プリントサーバのプリンタポートにおいてプリンタから集約されたプリンタデータを収集すること、プリントサーバにおいて入ってくるプリンタ構成データの変化を監視すること、および集約された構成データの変化が起きたとき、プリントサーバのプリントサーバレジストリを更新すること、の諸動作を含むことを特徴とする方法。 【請求項8】 Windows NT(登録商標)クライアントはプリントサーバレジストリから集約されたプリンタデータを直接に検索することを特徴とする請求項7に記載の方法。 【請求項9】 ローカルクライアント・レジストリを維持するクライアントは、集約されたプリンタデータをクライアントデバイスへ転送するようにパイプサーバスレッドを通じて要求することを特徴とする請求項7に記載の方法。 【請求項10】 さらに、集約されたプリンタデータの変化が起きたとき、クライアントデバイスプリント・レジストリを更新する動作を含むことを特徴とする請求項7に記載の方法。 【請求項11】 前記転送する動作は、サーバレジストリから構成オプションを決定し、構成オプションをクライアントデバイスへ転送するサーバスレッドを使用して行われることを特徴とする請求項7に記載の方法。 【請求項12】 前記構成オプションの転送は、オペレーティングシステム・オブジェクトを使用して行われることを特徴とする請求項11に記載の方法。 【請求項13】 前記集約されたプリンタデータはプリンタ構成データであることを特徴とする請求項7に記載の方法。 【請求項14】 前記集約されたプリンタデータはプリンタ状態データであることを特徴とする請求項7に記載の方法。 【請求項15】 印刷されたドキュメントを出力する装置であって、電子信号を印刷されたドキュメントとして変換出力し、特定の時間間隔に対応する構成状態を有するプリンタ、入力を受け取り、プリンタで印刷するドキュメントを定義するプリント信号を送信し、プリンタの構成状態を維持するローカルプリント・レジストリを有する第1クライアントデバイス、第2入力を受け取り、プリンタで印刷する第2ドキュメントを定義するプリント信号を送信する第2クライアントデバイス、第1および第2クライアントデバイスに接続されていて、プリンタの構成状態を維持するプリントサーバ・レジストリを有するプリントサーバ、を備えていることを特徴とする装置。 【請求項16】 前記プリントサーバ・レジストリ内のデータは第1クライアントのローカルレジストリと、第2クライアントの第2ローカルレジストリへ定期的に転送されることを特徴とする請求項15に記載の装置。 【請求項17】 前記転送は、第1クライアントのポーリングおよび第2クライアントによるポーリングが、プリンタの構成状態の変化が起きたと決定したときに起きることを特徴とする請求項15に記載の装置。 【請求項18】 前記プリントサーバは、マイクロソフトによって定義されたWindows(登録商標) オペレーティングシステムに従うソフトウェアを実行し、構成状態の変化をプリンタからクライアントデバイスへ転送するパイプサーバスレッドを使用することを特徴とする請求項15に記載の装置。 【請求項19】 前記プリントサーバで実行するソフトウェアは、さらにプリンタを定期的にポーリングし、そのポーリングの結果とサーバレジストリとを比較して、構成状態の変化を決定する第1コードセクション、を含んでいることを特徴とする請求項15に記載の装置。 【請求項20】 前記ソフトウェアは、構成状態の変化を第1クライアントデバイスと第2クライアントデバイスへ転送する第2コードセクションを含んでいることを特徴とする請求項19に記載の装置。 【請求項21】 前記プリントサーバは、Windows NT(登録商標)オペレーティングシステムを動作させること、そして前記第2クライアントデバイスはサーバプリントレジストリをローカルレジストリとして使用するWindows(登録商標)オペレーティングシステムを動作させることを特徴とする請求項15に記載の装置。 【請求項22】 前記プリントサーバは、プリンタ構成状態の変化の知らせを受け取って、プリントサーバ・レジストリを更新するドライバを有することを特徴とする請求項15に記載の装置。
|
【発明の詳細な説明】【0001】 【従来の技術】コンピュータデータをフォーマットし、データソース(例えばコンピュータ)から出力装置(例えばプリンタ)へコンピュータデータを転送するのに、プリントドライバが長年使用されてきた。しかし、異なる製造者のプリンタは、一般にソフトウェアとハードウェア構成が異なるので、一般に、プリントドライバを特定のプリンタ構成に合うようにカスタマイズする必要がある。プリントドライバをカスタマイズするため、ユーザが関連データをコンピュータにエントリする。 【0002】プリンタをカスタマイズするデータをユーザがエントリするのは時間がかかるし、間違いを起こしやすい。このため、プリンタの状態データと構成データを受け取って、処理することができる双方向ドライバが開発された。 【0003】しかし、最も広く使用されているオペレーティングシステム、マイクロソフト社の Windows(登録商標)オペレーティングシステムは、双方向ドライバをサポートするように設計されていない。マイクロソフトオペレーティングシステムにおける双方向ドライバの現行手段は、双方向のデータ流れを可能にするためスプーラを迂回する。スプーラを迂回することはマイクロソフト社の仕様書に従っていない。マイクロソフト社の仕様書に従っていないことは、使用する Windows(登録商標)オペレーティングシステムに関係無く、問題を引き起こす。多数のクライアントがプリントサーバを通じてプリンタと通信する Windows NT(登録商標)システムにおいては、一般にシステム・アドミニストレータだけがプリンタサーバ内のプリンタ構成の設定を変更することができるので、プリントスプーラを迂回することはプリントサーバ内のプリンタ情報の更新を妨げる。プリントサーバを使用する Windows95(登録商標)および Windows98(登録商標)システムにおいては、Windows(登録商標)はプリンタ構成データをローカルクライアントデータであるとみなし、したがってプリントサーバを更新することができないので、プリントサーバデータは更新されない。 【0004】このため、改良された双方向プリントドライバが要望されている。 【0005】 【発明の実施の形態】図1は、プリントサーバ100に結合されたプリンタ104を含む、ネットワークで接続されたシステムを示す。プリントサーバ100は多数のクライアント108、112、116からプリンタ104へ印刷するデータを転送する。プリントサーバ100は、さらに、プリンタ104からクライアント108、112、116へプリンタ状態データと構成データを含むプリンタデータを転送する。 【0006】データの流れを制御するために、各クライアント108、112、116においてローカルスプーラ・プログラムが進行する。一実施例においては、スプーラ・プログラムはマイクロソフト社の Windows 98(登録商標)または Windows NT(登録商標)など、オペレーティングシステムの一部分である。ユーザがインストールしたポートモニタ内のポートドライバは、プリントスプーラとインタフェースして、プリントスプーラからのデータを、対応するプリンタに適したフォーマットに変換する。たとえば、ゼロックス社製のプリンタと通信する時は、ドキュメントのフォーマッティングをLPRまたはPort 9100プロトコルに従わせるために、Xerox TCP/IPポートモニタをサーバコンピュータにインストールすることができる。プリントモニタはプリンタ構成とプリンタ状態に関するデータを維持する。プリンタ構成データの例に、両面複写情報などのプリンタのセットアップに関する情報、用紙サイズや色を指示することができるトレーおよび封筒情報、および用紙に関する事前印刷されるヘッダ情報、等が含まれる。プリンタ状態データの例に、トナーレベルが低いかどうか、あるいはプリンタ内に紙詰りが起きているかどうかに関する情報が含まれる。本出願の便宜上、プリンタ構成データとプリンタ状態データの両方を含めるため、用語「集約プリンタデータ」を使用する。 【0007】単方向プリントモニタは、クライアントコンピュータからプリンタへデータの流れを許すだけである。したがって、プリンタ構成またはプリンタ状態に対する更新はエンドユーザによって手動でエントリされる。前に検討したように、そのようなデータのエントリは間違いを起こしやすい。双方向プリントモニタによって、プリンタは自動的にモニタデータを更新することができる。しかし、Windows NT(登録商標)および Windows 98(登録商標)内の Microsoftスプーラアーキテクチャは、双方向プリントモニタをサポートするように設計されなかった。このため、Microsoftオペレーティングシステムにおいて動作する双方向プリントモニタの最新の実施例においては、プリントデバイスドライバがプリンタのIPアドレスを得て、プリンタを直接アドレスし、オペレーティングシステムのプリントスプーラを迂回する。 【0008】オペレーティングシステムのプリントスプーラを迂回することは、MicrosoftWindows(登録商標) オペレーティングシステムの現世代のためのオペレーティングシステム・プロトコルを無視する。さらに、オペレーティングシステムのプリントスプーラを迂回することは、プリンタサーバを使用してプリンタ設定を維持し、監視するWindows NT(登録商標)ネットワークにおいては、別の問題を引き起こす。詳細に述べると、プリントサーバを使用してプリンタ設定を維持する場合は、一般に、プリントサーバのローカル構成を変更する権限がプリントサーバのアドミニストレータだけに与えられているので、プリントサーバに接続されたクライアントコンピュータは、保存されたプリンタ構成の設定を変更したり、他の方法で更新することはできない。 【0009】Microsoft Windows(登録商標) オペレーティングシステムにおいて双方向プリントドライバを実現し、プリントサーバにおいてプリンタ構成をアップグレードできるように、本発明の一実施例はデータを更新するポーリング法を使用する。図2は、ポーリング「プッシュ」アーキテクチャにおけるデータの通信を示すフローチャートである。ブロック204において、ポーリング・デバイス(ポートモニタ内に実現することができる)は、要求信号を定期的にプリンタへ送る。サーバ・アドミニストレータは定期的な要求信号間の時間間隔を設定できる。一般的なプリンタデータの要求は、プリンタ構成データとプリンタ状態データを含むことがあるが、それらに限定されない。プリンタ構成データの例に、用紙の種類、用紙のサイズ、用紙の仕上げ(光沢またはつや消し)、および封筒トレーが含まれる。プリンタ状態データは一般にプリンタ動作の状態を記述している。プリンタ状態データの例に、プリンタの準備は完了したかどうか、プリンタは紙詰まりしているか、あるいはトナーのレベルは低いか、などが含まれる。ブロック208において、プリンタは要求信号に答える応答信号を送信する。応答信号は要求されたデータを与える。 【0010】ブロック212において、プロセッサは前のポーリング要求からの保存されたデータと、ポーリング要求に応じて受け取ったプリンタデータとを比較する。もしポーリングしたデータと保存されたデータとが一致しており、変化が起きなかったならば、制御フラグをセットされなく、システムは、ブロック214において、別のポーリング要求を送信するまでのプリセット時間間隔だけ待機する。しかし、もし受け取ったデータが保存されたデータと一致しなければ、プリンタ状態またはプリンタ構成に変化が起きており、ブロック216において、対応する制御フラグがセットされる。一実施例においては、ポートモニタマネージャは、制御フラグの設定と保存された設定を用いて、将来のプリンタ命令を指示する。代替実施例においては、ブロック220に示すように、ポートモニタマネージャはプリントドライバを起こして、構成変更を行わせる。 【0011】ポーリングデバイスがプリンタサーバ内に実現されると、システムを通じてプリンタ構成または状態の変化を「プッシュする」ことができる。ここで使用する用語「プッシュする」は、システムを通じてプリンタからプリントサーバへ、そしてプリントサーバからクライアントへデータを転送することをいう。ブロック224において、プリントサーバはプリンタ構成データおよびプリンタ状態データの変化を、プリンタ命令を発したクライアントコンピュータへ送信する。そのような変化を連絡する1つの方法は、制御フラグを送信する方法である。 【0012】マイクロソフト社の Windows NT(登録商標)オペレーティングシステムにおいて、プリントドライバに構成の変化を知らせる好ましい方法は、マイクロソフト社が出版したWindows NT DDK(Device Driver Kit)に定義、説明されているPrint Driver Event APIによる方法である。サーバ・レジストリがローカル・レジストリであるとみなされないオペレーティングシステムにおいては、クライアントはパイプサーバスレッドを使用して、制御フラグまたは更新されたプリンタデータをサーバ・レジストリからクライアント・コンピュータへ転送することを要求する。サーバ・レジストリがローカル・レジストリであるとみなされないオペレーティングシステムの例に、Windows 95(登録商標)と Windows 98(登録商標)が含まれる。したがって、前に説明した実施例においては、プリントサーバまたはプリント待ち行列に接続されたクライアントコンピュータは自動的に更新された設定を受け取る。 【0013】図3は、Microsoft Windows(登録商標) NT クライアントシステム304から複数のプリンタ306、308、310、312への考えられるデータ流れ経路を示す。Windows(登録商標) NTプリントサーバ・アーキテクチャの詳細な説明は、前に引用したWindows NT DDKに記載されている。アプリケーション314(一般に、Microsoft Power Point(登録商標)または Microsoft Word(登録商標)など、テキストまたは図形を生成するソフトウェア)は、ドキュメントを生成する。アプリケーション314は、データ経路318で示すように、グラフィックドライバ・インタフェース316(GDI)を呼び出すことによってプリントジョブを生成する。グラフィックドライバ・インタフェース316はスプールファイルを生成する。専用アプリケーションにおいては、データ経路320に沿って示すように、GDIを使用しないで、アプリケーションプログラムがスプールファイルを直接生成する。 【0014】プリントプロバイダによって定義される大部分のファンクションは、入力としてプリンタハンドルを要求する。Windows NT(登録商標)オペレーティング環境の例では、クライアントスプーラは、クライアントWinspooler.drv322内の OpenPrinterを呼び出すことによってプリンタハンドルを得る。OpenPrinter コマンドの呼出しによって、Winspool.drv 322はAPIサーバ324(spoolsv.exe)を呼び出す。スプーラの能力は利用可能なAPIファンクションによって定義される。 【0015】プリントプロバイダの1つがプリントハンドルを供給し、プリントプロバイダを示すリターン値が指定されたプリンタ名を認識するまで、クライアントスプーラ・ルータ326(Windows NT(登録商標)では、spoolss.dll)が各プリントプロバイダの OpenPrinterファンクションを呼び出す。呼び出すプリンタは、ローカルプリンタ、Windows NT(登録商標)を実行しているリモートプリンタ、その他のオペレーティングシステムを実行しているリモートプリンタのいずれでもよい。ローカルプリンタはWin32spl.dll328を使用してローカル接続を通じて呼び出される。Windows(登録商標) NTプリントサーバは Win32spl.dll330を使用してリモート接続を通じて呼び出すことができる。互換性のある Non Windowsオペレーティングシステムを使用するプリントサーバは、他のProvider DLL322を使用して呼び出すことができる。Windows NT(登録商標)および/またはWindows 2000(登録商標)クライアントシステムによってサポートされた Non Windows DLLの例として、Novell NetWareプリントサーバのための Nwprovau.dllと、URLへ送られたプリントジョブを取り扱うHTTPプリントプロバイダのためのinetpp.dllがあるが、それらに限定されない。 【0016】カーネルモードまたはポートドライバ・スタック334は、クライアントシステム304からのオープンプリンタ呼出しを、ローカルプリンタ306へ、リモートプリンタ307へ、対応するプリンタ308、310に結合されたネットワーク接続サーバ336、338へ、そして対応するプリンタ312に結合されたWindows NT(登録商標)サーバシステム340へ送る。Windows NT(登録商標)サーバシステム340は、リモートプリントサーバ・ルータ344の所でクライアントシステム304からのリモートフ゜ロシージャ呼出し(RPC)信号342を受け取る。プリントサーバ・ルータ344は、サーバLocalspl.dll348およびプリントサーバのカーネルモード・ポートドライバスタック350を通ってプリンタ312へ伝わるそれ自身の OpenPrinterファンクション346を生成する。 【0017】プリンタの1つがプリンタ・ハンドルを与え、プリンタ312を示すリターン値が指定されたプリンタ名を認識するまで、プリンタスプーラ・ルータ344は各プリンタ312の OpenPrinterファンクションを呼び出す。そのあと、プリンタスプーラ・ルータ344はそれ自身のハンドルをクライアントシステム304へ戻す。プリントルータ・ハンドルはプリンタ・ハンドルとプリントサーバ・ハンドルの両方を含んでいる。このプリントサーバ・ハンドルはアプリケーション314へ戻される。転送されたハンドルによって、アプリケーション314は次の呼出しを正しいプリントサーバとプリンタへ送ることができる。 【0018】図4は、発明の一実施例において実現されたポートモニタ・アーキテクチャ400を示す。発明の一実施例においては、図4のポートモニタを使用して、サーバは、ポーリング法を用いてプリンタ状態と構成に関する質問をプリンタへ送信する。プリンタ状態または構成に変化が起きると、ポートモニタはサーバレジストリに保存されたプリンタ構成と状態データを更新する。あるクライアントオペレーティングシステム、たとえば Windows NT(登録商標)は、サーバレジストリをローカルレジストリとして使用する。しかし、別のクライアントオペレーティングシステム、たとえばWindows 95(登録商標)やWindows 98(登録商標)を含む Windows(登録商標)9xシリーズのオペレーティングシステムは、独立したローカルレジストリを保有している。そのようなシステムにおいては、クライアントが定期的にサーバにポーリングし、プリンタ構成および/または状態の変化を決定することができる。そのような変化が検出されると、クライアントはプリンタ構成または状態の変化をサーバ・スレッド(server thread)を通じてサーバから検索することができる。 【0019】ブロック402は、プロトコルサポート404のハードウェアとソフトウェアを含んでおり、プロトコル・サポート404は各ポートセルたとえば第1ポート406と第2ポート408からプリントデータストリームを受け取る。プロトコルサポート404は、プリンタへ出力するため、データを変換して、許容可能なプリンタプロトコルに合致するプリントデータストリームにする。一般的なIEEE承認のプロトコルは、他のプロトコルも同様に可能であるが、LPR(Line Print Protocol)、バイト・カウンティング付きLPR、およびAP Socket 9100を含んでいる。 【0020】プリントシステムは動的システムであるので、プリンタとクライアントをネットワークに加えることができる。図4のブロック410は、プリントサーバにポートを加えるのに使用される構成要素を含んでいる。ブロック410において、ポートウィザードソフトウェア412は自動プリンタ・ディスカバリ・動的リンク・ライブラリ(DLL: Dynamic Link Library)414と通信する。ディスカバリDDL414は、ディスカバリAPI416を使用して、付属のプリンタまたは利用可能なプリンタを決定する。利用可能なプリンタを決定した後、ポートウィザードソフトウェア412は、add port サブルーチン418を使用してポートを加える。Configure port サブルーチン420は加えられたポートを正しく配置する。プリントスプーラ424がオペレーティングシステムの一部分である場合は、ブロック402のポート管理ソフトウェアと、ブロック410のadd port ソフトウェアは共に、ブロック422に示したポートモニタ・アプリケーションプログラム・インタフェース(API: Application Program interface)を使用して、要求をフォーマットして、プリントスプーラへ送信する。オペレーティングシステムがマイクロソフト社の Windows(登録商標)オペレーティングシステムである場合は、ブロック422内のポートモニタAPIは、Windows(登録商標)プリントスプーラと通信するのに用いられるマイクロソフト定義のAPIである。 【0021】図4において、ポートデバイスデータ・マネージャ426は、ポートモニタプリンタ・マネージャ428とインタフェースする。発明の一実施例においては、ポートデバイスデータ・マネージャ426とポートモニタプリンタ・マネージャ428は共にプリンタとクライアントコンピュータ間で情報を転送するプリントサーバの一部分である。 【0022】ポートデバイスデータ・マネージャ426は、プリントサーバに接続された各プリンタごとに構成データと状態データを維持するロックされた共用メモリ430を含んでいる。ポートマネージャAPI440は、標準通信プロトコルたとえばSNMPを使用して、プリンタとの通信を管理する。SNMP通信はプリンタ情報を含むテキストベース・ファイルによって制御される。そのようなテキストベース・ファイルの例は、図4に“product config. ini”422として含まれている。通信ネットワークすなわち対応する Bidi スレッドたとえば第1ポートスレッド432は、構成データ434と状態データ436をプリンタからロックされた共用メモリ430の適当な記憶場所438へ伝える。 【0023】状態データと構成データを維持する1つの方法は、記憶場所438に保存された構成データと状態データを、新しく受け取った構成データと状態データで絶えず置き換えることである。しかし、すべてのクライアントへのすべてのプリンタ構成データと状態データの定期的に繰返される再送信は、過大なネットワークバンド幅を無駄遣いする。プリントサーバからクライアントデバイスへの構成データと状態データの再送信最小限度にするために、構成データまたは状態データのすべての変化を表す適当な制御フラグ444を設定することによって、構成データと状態データの変化を集約することができる。発明の一実施例においては、ロックされた共用メモリはさらに制御フラグ444も保存する。 【0024】記載した通信ネットワークすなわち第1ポートスレッド432はプリンタに接続された各ポートごとに複製することができる。たとえば、図4に、第2プリンタ(図示せず)から対応する構成データ448と状態データ450を受け取る第2ポートスレッド446を示す。ロックされた共用メモリ430の第2記憶領域452は、構成データと状態データのほかに、制御フラグの対応する設定を維持する。第2記憶領域452内のデータは、プリントサーバによって使用することができるほか、クライアントコンピュータへ再送信することができる。 【0025】ポートモニタプリンタ・マネージャ428は、ポートデバイス・マネージャ426のロックされた共用メモリ430からデータを受け取るマルチタスキング・プリンタマネージャ・スレッド454を含んでいる。データは構成データ、状態データ、および/または制御フラグを含むことがある。プリンタ変化通知スレッド456はプリントサーバのそれぞれのポートに接続されたプリンタにおける変化を追跡する。Microsoft Windows(登録商標) 環境においてプリンタ変化通知スレッド456が実現されると、プリンタ変化通知スレッド456は標準Microsoft APIを使用してプリンタ変化を検出することができる。ポートモニタプリンタ・マネージャ428は、プリンタ変化通知スレッド456とプリンタマネージャ・スレッド454からの情報と、プリンタリスト458に保存された利用可能プリンタデータとポートリスト460に保存された利用可能ポートデータとを統合する。プリンタリスト458に識別されたプリンタは、一般にプリンタに対応するリジストリ468内の対応するエントリを有する。プリンタリスト458内の各プリンタエントリは、プリンタ名、デバイスId、ポート名、ポートハンドル、構成Id、状態Id、およびプリンタイベントを含むことがあるが、それらに限定されない。ポートリスト460は、各ポートに関係のあるデータたとえばポートハンドル、および前の制御状態を含むことがあるが、それらに限定されない。 【0026】プリントマネージャ・スレッド454は、プリンタリスト458、ポートリスト460、及びロックされた共用メモリ430から受け取ったデータを集約し、集約されたデータを、プリンタレジストリ468内の集約データ領域469へ送る。その他に、プリントマネージャ・スレッド454はプリントドライバ462に変化を知らせる。プリントドライバ464は集約されたデータ469をプリントドライバ462に適合する内部フォーマットデータ471へ変換する。内部フォーマットデータ471は、プリンタレジストリ468の対応する領域に保存される。一般的なプリントドライバの動作は、Microsoft Windows NT DDKに記載されている。 【0027】クライアント464がローカルプリントドライバを維持し、したがってサーバプリントドライバの使用を自動的に受け継がないとき、(そのようなオペレーティングシステムの例としては、Microsoft Windows 95(登録商標)および/または Windows 98(登録商標)を使用して動作するクライアントコンピュータと呼ばれるWindows(登録商標)9xクライアントがある。) クライアント464はパイプサーバ・スレッド466が集約されたデータ469を検索することを要求する。パイプサーバ・スレッド466は、データ要求コマンドばかりでなく、パイプサーバ・スレッド466が生成した構成および状態情報の応答のクライアント送信の両方を実行または容易にすることができる。 【0028】一部のクライアントはローカルドライバとしてプリントサーバドライバの使用を受け継ぐオペレーティングシステムを使用するかもしれない。そのようなオペレーティングシステムの一例は Windows NT(登録商標)オペレーティングシステムである。各 Windows NT(登録商標)クライアント、たとえばクライアント470はレジストリ468から直接データにアクセスできる。 【0029】図5は、双方向通信を制御する手段を提供することができるユーザインタフェースの一例である。画面504に、ポート設定の要約506が提供されている。それらのどの値も、Backボタン508を選択して、選択した特性を変更することによって、それらの値のどれでも修正できる。ポート構成の完了はFinishボタン512を作動させることによって達成できる。 【0030】図6の画面516に、ポートを構成する追加の詳細な手続を示す。画面516の双方向セッティング・セクション520によって、ユーザは双方向通信を使用可能または使用不能にすることができる。さらに、画面516の対応する時間間隔ボックス524、528に記入することによって、ユーザはプリンタ構成の更新およびプリンタ状態の更新の間の時間間隔を定義することができる。 【0031】以上の説明は例証するつもりであることは理解されるであろう。説明した実施例から、この分野の専門家はその変更や修正を思い浮かべるであろう。たとえば、説明の焦点は、プリンタと Windows(登録商標)オペレーティングシステムを実行しているクライアント間のデータの転送であった。しかし、説明したオペレーティングシステムに似たアーキテクチャを使用する他のオペレーティングシステムも同様に説明した発明を具体化することができる。さらに別の例として、説明したプリンタ状態データとプリンタ構成データの例のほかに、異なる形式のプリンタデータを転送することができる。したがって、そうでないと指示されないかぎり、この説明は特許請求の範囲を限定すると解釈すべきでない。
|
| 【出願人】 |
【識別番号】590000798 【氏名又は名称】ゼロックス・コーポレーション
|
| 【出願日】 |
平成13年7月24日(2001.7.24) |
| 【代理人】 |
【識別番号】100059959 【弁理士】 【氏名又は名称】中村 稔 (外9名)
|
| 【公開番号】 |
特開2002−108585(P2002−108585A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2001−223268(P2001−223268) |
|