(57)【特許請求の範囲】
【請求項１】
他のデータ処理装置と特定のプロトコルで通信可能なデータ処理装置であって、
プリンタの状態情報を取得する取得手段と、
前記他のデータ処理装置から印刷データを受信するのに応答して、前記プリンタが利用できるかを前記取得手段が取得した状態情報を用いて判定する判定手段と、
前記判定手段が前記プリンタが利用できないと判定した場合に、前記他の情報処理装置に対して判定結果を通知し、前記判定手段が前記プリンタが利用できると判定した場合に、前記プリンタに対して印刷データを送信し、当該印刷データの印刷が終了するのに応答して、印刷完了通知を前記他のデータ処理装置に対して通知する通知手段と、
データ処理装置内のアプリケーションからの指示に基づき、プリンタドライバを用いて前記プリンタに対して出力すべき第１の印刷データを生成する生成手段と、
前記生成手段により生成された第１の印刷データ及び前記データ処理装置が前記他のデータ処理装置から受信した第２の印刷データを前記プリンタに対して出力する出力手段とを有し、
前記通知手段は、前記出力手段により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に対して通知し、前記通知手段は、前記出力手段により前記第２の印刷データが出力されなかった場合に、当該第２の印刷データ及び第１の印刷データを含む印刷待ちのデータを示す情報を印刷要求元となる他のデータ処理装置に対して通知することを特徴とするデータ処理装置。
【請求項２】
前記取得手段は、前記プリンタを制御するプリンタドライバあるいは前記インタフェースを介して前記プリンタの状態情報を取得することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記取得手段は、前記プリンタを制御するプリンタドライバおよび前記インタフェースを介して前記プリンタの状態情報を取得可能とすることを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記プリンタに対して出力すべき第１の印刷データを生成する生成手段と、
前記生成手段により生成された第１の印刷データまたは前記通信手段が前記他のデータ処理装置から受信する第２の印刷データを記憶する印刷情報記憶手段と、
前記印刷情報記憶手段から読み出される第１または第２の印刷データを前記プリンタに出力する出力手段とを有し、
前記通信手段は、前記出力手段により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に通知することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記プリンタに対して出力すべき第１の印刷データを生成する生成手段と、
前記生成手段により生成された第１の印刷データまたは前記通信手段が前記他のデータ処理装置から受信する第２の印刷データを記憶する印刷情報記憶手段と、
前記記憶手段に記憶された状態情報に基づいて前記印刷情報記憶手段に記憶された第１または第２の印刷データを前記プリンタが印刷可能かどうかを判定する状態判定手段と、
前記状態判定手段による判定結果に基づいて、前記印刷情報記憶手段から読み出される第１または第２の印刷データを前記プリンタに出力する出力手段と、
前記出力手段により印刷された第１または第２の印刷データを前記印刷情報記憶手段から削除する削除手段とを有し、
前記通信手段は、前記出力手段により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に通知することを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記出力手段は、前記印刷情報記憶手段から読み出される第１または第２の印刷データをプリンタドライバを介して前記プリンタに出力することを特徴とする請求項１、４、５のいずれかに記載のデータ処理装置。
【請求項７】
前記特定のプロトコルは、ネットワーク管理プロトコルであることを特徴とする請求項１、４、５のいずれかに記載のデータ処理装置。
【請求項８】
他のデータ処理装置と特定のプロトコルで通信可能なデータ処理装置におけるデータ処理方法であって、
プリンタの状態情報を取得する取得工程と、
前記他のデータ処理装置から印刷データを受信するのに応答して、前記プリンタが利用できるかを前記取得工程が取得した状態情報を用いて判定する判定工程と、
前記判定工程が前記プリンタが利用できないと判定した場合に、前記他の情報処理装置に対して判定結果を通知し、前記判定工程が前記プリンタが利用できると判定した場合に、前記プリンタに対して印刷データを送信し、当該印刷データの印刷が終了するのに応答して、印刷完了通知を前記他のデータ処理装置に対して通知する通知工程と、
データ処理装置内のアプリケーションからの指示に基づき、プリンタドライバを用いて前記プリンタに対して出力すべき第１の印刷データを生成する生成工程と、
前記生成工程により生成された第１の印刷データ及び前記データ処理装置が前記他のデータ処理装置から受信した第２の印刷データを前記プリンタに対して出力する出力工程とを有し、
前記通知工程は、前記出力工程により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に対して通知し、
前記通知工程は、前記出力工程により前記第２の印刷データが出力されなかった場合に、当該第２の印刷データ及び第１の印刷データを含む印刷待ちのデータを示す情報を印刷要求元となる他のデータ処理装置に対して通知することを特徴とするデータ処理方法。
【請求項９】
前記取得工程は、前記プリンタを制御するプリンタドライバあるいは前記インタフェースを介して前記プリンタの状態情報を取得することを特徴とする請求項８に記載のデータ処理方法。
【請求項１０】
前記取得工程は、前記プリンタを制御するプリンタドライバおよび前記インタフェースを介して前記プリンタの状態情報を取得可能とすることを特徴とする請求項８に記載のデータ処理方法。
【請求項１１】
前記プリンタに対して出力すべき印刷データを生成する生成工程と、
前記生成工程により生成された第１の印刷データまたは前記通信工程が前記他のデータ処理装置から受信する第２の印刷データを印刷情報記憶手段に記憶する印刷情報記憶工程と、
前記印刷情報記憶手段から読み出される第１または第２の印刷データを前記プリンタに出力する出力工程とを有し、
前記通信工程は、前記出力工程により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に通知することを特徴とする請求項８記載のデータ処理方法。
【請求項１２】
前記プリンタに対して出力すべき印刷データを生成する生成工程と、
前記生成工程により生成された第１の印刷データまたは前記通信工程が前記他のデータ処理装置から受信する第２の印刷データを印刷情報記憶手段に記憶する印刷情報記憶工程と、
前記記憶手段に記憶された状態情報に基づいて前記印刷情報記憶手段に記憶された第１または第２の印刷データを前記プリンタが印刷可能かどうかを判定する状態判定工程と、
前記状態判定工程による判定結果に基づいて、前記印刷情報記憶手段から読み出される第１または第２の印刷データを前記プリンタに出力する出力工程と、
前記出力工程により印刷された第１または第２の印刷データを前記印刷情報記憶手段から削除する削除工程とを有し、
前記通信工程は、前記出力工程により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に通知することを特徴とする請求項８に記載のデータ処理方法。
【請求項１３】
前記出力工程は、前記印刷情報記憶手段から読み出される第１または第２の印刷データをプリンタドライバを介して前記プリンタに出力することを特徴とする請求項８、１１、１２のいずれかに記載のデータ処理方法。
【請求項１４】
前記特定のプロトコルは、ネットワーク管理プロトコルであることを特徴とする請求項８、１１、１２のいずれかに記載のデータ処理方法。
【請求項１５】
請求項８〜１４のいずれかに記載のデータ処理方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、特定のプロトコルで通信可能な他のデータ処理装置に接続されるプリンタの状態情報を通知するデータ処理装置のデータ通信処理に関する。
【０００２】
【従来の技術】
近年、ネットワークシステムは急速に普及しており、例えば周辺機器にネットワークインタフェースカード（以下、「ＮＩＣ」）を装備して、ネットワークに直接接続させ、前記ＮＩＣに単純ネットワーク管理プロトコル（ＳｉｍｐｌｅＮｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ, 以下、「ＳＮＭＰ」）を使用して、ＳＮＭＰエージェント機能を搭載することにより、これら周辺機器をＳＮＭＰマネージャが一元管理するようになってきている。
【０００３】
【発明が解決しようとする課題】
しかしながら、コンピュータにローカル接続されているプリンタに関しては、そのコンピュータの管理下であり、ＳＮＭＰによる一元管理の対象にならないため、このローカルプリンタもＳＮＭＰでの管理下にする方法が要望されている。
【０００４】
本発明は、上記の問題点を解消するためになされたもので、本発明の目的は、プリンタドライバが生成する第１の印刷データと、特定のプロトコルで通信可能な他のデータ処理装置から受信する第２の印刷データとの双方の印刷要求を処理する場合に、第１、第２の印刷データの印刷待ち状態を特定のプロトコルを用いて他のデータ処理装置に通知できる仕組みを提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明に係るデータ処理装置は、以下の特徴的構成を備える。
他のデータ処理装置と特定のプロトコルで通信可能なデータ処理装置であって、プリンタの状態情報を取得する取得手段と、前記他のデータ処理装置から印刷データを受信するのに応答して、前記プリンタが利用できるかを前記取得手段が取得した状態情報を用いて判定する判定手段と、前記判定手段が前記プリンタが利用できないと判定した場合に、前記他の情報処理装置に対して判定結果を通知し、前記判定手段が前記プリンタが利用できると判定した場合に、前記プリンタに対して印刷データを送信し、当該印刷データの印刷が終了するのに応答して、印刷完了通知を前記他のデータ処理装置に対して通知する通知手段と、データ処理装置内のアプリケーションからの指示に基づき、プリンタドライバを用いて前記プリンタに対して出力すべき第１の印刷データを生成する生成手段と、前記生成手段により生成された第１の印刷データ及び前記データ処理装置が前記他のデータ処理装置から受信した第２の印刷データを前記プリンタに対して出力する出力手段とを有し、前記通知手段は、前記出力手段により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に対して通知し、前記通知手段は、前記出力手段により前記第２の印刷データが出力されなかった場合に、当該第２の印刷データ及び第１の印刷データを含む印刷待ちのデータを示す情報を印刷要求元となる他のデータ処理装置に対して通知することを特徴とする。
【０００６】
本発明に係るデータ処理方法は、以下の特徴的構成を備える。
他のデータ処理装置と特定のプロトコルで通信可能なデータ処理装置におけるデータ処理方法であって、プリンタの状態情報を取得する取得工程と、前記他のデータ処理装置から印刷データを受信するのに応答して、前記プリンタが利用できるかを前記取得工程が取得した状態情報を用いて判定する判定工程と、前記判定工程が前記プリンタが利用できないと判定した場合に、前記他の情報処理装置に対して判定結果を通知し、前記判定工程が前記プリンタが利用できると判定した場合に、前記プリンタに対して印刷データを送信し、当該印刷データの印刷が終了するのに応答して、印刷完了通知を前記他のデータ処理装置に対して通知する通知工程と、データ処理装置内のアプリケーションからの指示に基づき、プリンタドライバを用いて前記プリンタに対して出力すべき第１の印刷データを生成する生成工程と、前記生成工程により生成された第１の印刷データ及び前記データ処理装置が前記他のデータ処理装置から受信した第２の印刷データを前記プリンタに対して出力する出力工程とを有し、前記通知工程は、前記出力工程により前記第２の印刷データが出力された場合に、当該第２の印刷データの印刷終了を前記特定のプロトコルで印刷要求元となる他のデータ処理装置に対して通知し、前記通知工程は、前記出力工程により前記第２の印刷データが出力されなかった場合に、当該第２の印刷データ及び第１の印刷データを含む印刷待ちのデータを示す情報を印刷要求元となる他のデータ処理装置に対して通知することを特徴とする。
【００４４】
【発明の実施の形態】
〔第１実施形態〕
＜装置の説明＞
図１は、本発明に係るデータ処理装置を含むネットワーク機器のシステム構成を説明する図である。
【００４５】
図において、プリンタ１０２は開放型アーキテクチュを持つプリンタで、ネットワークボード（ＮＢ）１０１を介してネットワークに接続されている。ＮＢ１０１は、同軸コネクタをもつＥｔｈｅｒｎｅｔインタフェース１０Ｂａｓｅ−２や、ＲＪ−４５をもつ１０Ｂａｓｅ−Ｔなどのローカルエリアネットワークインタフェースを介して、ローカルエリアネットワーク（ＬＡＮ）１００に接続される。
【００４６】
ＰＣ１０３、ＰＣ１０４、ＰＣ１１１、ＰＣ１１２などの複数のパーソナルコンピュータ（ＰＣ）もＬＡＮ１００に接続されており、これらのＰＣは、ネットワークオペレーティングシステムの制御のもと、ＮＢ１０１と通信することができる。
【００４７】
従って、ＰＣの１つを、例えばＰＣ１０３をネットワークデバィス管理用ＰＣとして使用することができる。また、ＰＣ１０４にプリンタ１０５をローカルプリンタとしてローカル接続してもよい。
【００４８】
また、ファイルサーバとして機能するＰＣ１０６がＬＡＮ１００に接続されており、大容量（例えば、１００億バイト）のネットワークディスク１０７に記憶されたファイルへのアクセスを皆理する。
【００４９】
プリントサーバとして機能するＰＣ１０４は、ローカルに接続されたプリンタ１０５、または遠隔地にあるプリンタ１０２などのプリンタへの印刷を管理する。
【００５０】
同様に、スキャナサーバとして機能するＰＣ１１５は、ローカル接続されたスキャナ１１７、または遠隔地にあるスキャナ１１０などのスキャナを管理する。スキャナ１１０は、ネットワークボード等を介してＬＡＮ１００に接続されている。また、複写機１１８は、イメージプロセッシングユニット１１９の管理制御の下に、プリンタやスキャナとしての機能を提供している。
【００５１】
図１に示すネットワークでは、様々なネットワークメンバ間で効率よく通信を行うために、ＮｏｖｅｌｌやＵＮＩＸなどのネットワークソフトウエアを使用することができる。例えば、Ｎｏｖｅｌｌ社のＮｅｔＷａｒｅ（Ｎｏｖｅｌｌ社の登録商標。以下、省略）ソフトウエアを使用することができる。このソフトウエアパソケージに関する詳細説明は、ＮｅｔＷａｒｅパッケージに同梱されているオンラインドキュメンテーション（Ｎｏｖｅｌｌ社からＮｅｔＷａｒｅパッケージに同梱される）に記載されているので説明は省略する。
【００５２】
ＰＣ１０３およびＰＣ１０４はそれぞれ、データファィルの生成、生成したデータファイルのＬＡＮ１００への送信、また、ＬＡＮ１００からのファイルの受信、さらに、それらのファイルの表示および／または処理を行うことができる一般的なＰＣである。
【００５３】
図１では、パーソナルコンピュータ機器（ＰＣ）が示されているが、ネットワークソフトウエアを実行するのに適した他のコンピュータ機器であってもよい。例えば、ＵＮＩＸのソフトウエアを使用している場合にはＵＮＩＸワークステーションをネットワークに接続してもよく、これらのワークステーションは図示されているＰＣと共に使用される。
【００５４】
通常、ＬＡＮ１００は、比較的ローカルなユーザグループに、例えば、１つの建物内の１つの階または連続した複数の階のユーザグループ等にサービスを提供する。
【００５５】
一方、ユーザが異なる建物や異なる県に居るなど、ユーザ同士が離れるに従って、ワイドエリアネットワーク（ＷＡＮ）を構築してもよい。
基本的には、ＷＡＮは、いくつかのＬＡＮがサービス総合デジタルネットワーク（ＩＳＤＮ）などの高速度デジタル線で接続されることにより形成される、ＬＡＮの集合体である。例えば、図１に示すように、ＬＡＮ１００とＬＡＮ１２０とが、バックボーン１４０によって接続されることにより、ＷＡＮが形成される。ＬＡＮ１００，ＬＡＮ１２０，ＬＡＮ１３０にそれぞれ接続されている機器は、ＷＡＮ接続を介して他のＬＡＮに接続されている機器の機能にアクセスすることができる。
【００５６】
＜装置の説明＞
図２は、本発明に係るデータ処理装置の構成を説明するブロック図であり、例えば図１に示したＰＣあるいはサーバに対応する。
【００５７】
図において、１ｂはビデオＲＡＭ（ＶＲＡＭ）で、ＣＲＴ表示装置（ＣＲＴ）１ａの画面に表示される文字、イメージを展開記憶する。１ｃはビットムーブユニット（ＢＭＵ）で、メモリ間あるいはメモリと各デバイス間のデータ転送をコントロールする。
【００５８】
１ｄは入力に関する各種キーを備えたキーボード（ＫＢ）である。１ｅはポインティングデバイス（ＰＤ）で、画面上でアイコンなどを指し示すためなどに用いられる。１ｇはＲＯＭで、ブートプログラム及びＢＩＯＳ等を記憶している。
【００５９】
１ｈはＲＡＭで、各種プログラムをロードしたり、ＣＰＵ１ｆが実行するときにワークエリア、エラー処理時の一時退避エリアとして用いられ、その容量は図示しないオプションＲＡＭにより拡張できるように構成されている。
【００６０】
１ｉはハードディスクドライブ（ＨＤＤ）で、ＯＳや各種プログラム（デバイスドライバを含む）やデータ、ライブラリなどの保存用に用いられる。１ｊはフロッピーディスクドライブ（ＦＤＤ）、１ｋはプリンタ（ＰＲＮ）で、ローカルポートに接続しており、本実施形態を用いてＳＮＭＰの被管理機器となる出力機器である。
【００６１】
１１はＬＡＮ接続を行うネットワークインタフェース（ＮＥＴ−Ｉ／Ｆ）を示し、他の装置との間でネットワークを経由してデータ転送を行うためにネットワーク上でデータ制御、診断を行う。１ｍは上述した各ユニット間を接続するＩ／Ｏバス( アドレスバス、データバス及び制御バスからなる) である。
上記のように構成されたデータ処理装置において、装置に電源を投入すると、ＣＰＵ１ｆはＲＯＭ１ｇのブートプログラムに従って装置を初期化し、ＨＤＤ１ｉからＯＳのＲＡＭ１ｈへのロードを行い、その後で各種アプリケーション等を動作させることになる。
【００６２】
なお、本実施形態の装置は、凡用のデータ処理装置（パーソナルコンピュータ等）をその基礎としているので、プログラムはハードディスク等に記憶されているものとしたが、勿論、ＲＯＭに記憶させるようにしてもよいし、記憶媒体によって本発明が限定されるものではない。
【００６３】
＜ネットワークプリンタのＳＮＭＰ管理＞
以下に、マネージャとエージェントからなり、単純ネットワーク管理プロトコル（以下、「ＳＮＭＰ」）で管理される情報機器について説明する。
【００６４】
図３は、本発明に係るデータ処理装置における第１のネットワーク接続構成を説明する図である。
【００６５】
図において、２ａはネットワークを示しており、２ｂはローカルプリンタ２ｃが接続している、例えばパーソナルコンピュータ等で構成されるデータ処理装置である。２ｄはＳＮＭＰマネージャ機能を持つデータ処理装置であり、前記ネットワーク２ａ上のＳＮＭＰエージェント機能を持つ情報機器の管理を行う。
【００６６】
２ｅはネットワークインタフェースカード（以下、「ＮＩＣ」）で、ＳＮＭＰエージェント機能を持ち、プリンタ２ｆに接続して、プリンタ２ｆをＳＮＭＰの被管理機器として動作させるための専用カードである。このＮＩＣ２ｅおよびプリンタ２ｆの組合せにより、データ処理装置２ｄによって管理されるネットワークプリンタとなる。
【００６７】
本来、図におけるＮＩＣ２ｅとプリンタ２ｆのような組合せから構成されるネットワークプリンタのみがＳＮＭＰマネージャの被管理機器となるが、本実施形態は、前記ローカルプリンタ２ｃが接続するデータ処理装置２ｂもＳＮＭＰマネージャの被管理機器として実現するものである。
【００６８】
＜プリンタの状態情報の取得＞
ここで、前記図３に示した本実施形態の対象であるデータ処理装置２ｂの内部プログラム構成例について説明する。
【００６９】
図４は、図３に示したデータ処理装置２ｂのモジュール構成を説明する図であり、プリンタ２ｃと印刷処理及びＳＮＭＰマネージャを持つデータ処理装置２ｄとの連携を示したものである。なお、図３と同一のものには同一の符号を付してある。
【００７０】
図において、３ａはネットワークインタフェースであり、ネットワーク２ａ上にあるデータ処理装置２ｄとＳＮＭＰでやりとりを行うためのネットワークへの接続を制御するプログラムである。
【００７１】
３ｂはＳＮＭＰ処理プログラムで、ＳＮＭＰマネージャ機能を持つデータ処理装置２ｄからネットワークインタフェース３ａを通してくるリクエストを受信し、詳細は後述するプリンタ状態管理プログラム３ｃからリクエスト内の要求情報に適した情報を取得して、ネットワークインタフェース３ａを通してＳＮＭＰマネージャを持つデータ処理装置２ｄに対してリクエスト応答を行う処理、または、プリンタ状態管理プログラム３ｃでプリンタ２ｃの状態変化が起きた場合は、その情報を取得してＳＮＭＰマネージャに対してその変更情報のトラップ処理、リクエスト応答処理とトラップ処理の両方を行うことが可能なプログラムである。
【００７２】
なお、プリンタ状態管理プログラム３ｃは、ポート通信プログラム３ｅを通してプリンタ２ｃの情報を取得するプログラムであり、記憶領域３ｄにその情報を記憶させたり、前記ＳＮＭＰ処理プログラム３ｂに対して情報を提供する。
【００７３】
また、記憶領域３ｄは、プリンタ状態管理プログラム３ｃがその内容を記憶するために用いる記憶領域である。
【００７４】
さらに、ポート通信プログラム３ｅは、ローカルポートに接続しているローカルプリンタ２ｃとローカルポートを通して直接通信するプログラムであり、プリンタの状態情報を取得して、プリンタ状態管理プログラム３ｃに情報を提供したりするプログラムである。これらプログラムによって、本実施形態が実現可能となる。
【００７５】
図５は、本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートであり、プリンタ２ｃに状態変化が生じた場合に、ＳＮＭＰマネージャ機能を持つデータ処理装置２ｄに対してのトラップ処理手順に対応する。なお、Ｓ４０１〜Ｓ４０３は各ステップを示す。
【００７６】
まず、ステップＳ４０１において、プリンタ２ｃの状態変化が生じたかどうかを判定し、変化がないと判定した場合は、処理を終了する。
【００７７】
一方、ステップＳ４０１で、プリンタ２ｃの状態変化が生じていると判定した場合は、ステップＳ４０２で、変化したプリンタ２ｃの状態を取得する。そして、ステップＳ４０３で、取得した情報をＳＮＭＰマネージャ機能を持つデータ処理装置２ｄに対してトラップ処理を行い、処理を終了する。
【００７８】
図６は、本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートであり、ＳＮＭＰマネージャからリクエストが来た際のリクエスト応答処理手順に対応する。なお、Ｓ５０１〜Ｓ５０４は各ステップを示す。
【００７９】
まず、ステップＳ５０１で、ＳＮＭＰマネージャ機能を持つデータ処理装置２ｄからのリクエストがあるかどうか、すなわち、ＳＮＭＰマネージャからのリクエストを示す情報を取得できたかどうかを判定し、リクエストがなかったと判定した場合は、処理を終了する。
【００８０】
一方、ステップＳ５０１で、リクエストを示す情報を取得できたと判定した場合は、ステップＳ５０２で、取得したリクエストの内容で要求された管理情報を確認する。そして、ステップＳ５０３で、上記ステップＳ５０２において確認した管理情報要求に適したデータをプリンタ２ｃから取得する。
【００８１】
さらに、ステップＳ５０４で、プリンタ２ｃより取得した情報をＳＮＭＰマネージャにリクエストに対する応答として送信を行い、処理を終了する。
【００８２】
また、本実施形態の機器は、図５及び図６に示すデータ処理を兼ね備えた場合でも成り立ち、ＳＮＭＰエージェントのリクエスト応答処理とトラップ処理の双方を兼ね備えたデータ処理装置を提供することができる。
【００８３】
以上説明したように、本実施形態によれば、従来ＳＮＭＰマネージャの管理下に属さないローカルプリンタを、被管理機器として実現できるＳＮＭＰエージェントを持ったデータ処理装置として印刷システムを構築することができる。
【００８４】
〔第２実施形態〕
前記第１実施形態では、従来ＳＮＭＰマネージャの管理下に属さないローカルプリンタであるプリンタ２ｃを、ローカルポートと直接通信をＳＮＭＰで行いプリンタの状態変化を示す情報を取得して、その情報を利用して被管理機器として実現できるＳＮＭＰエージェントを持ったデータ処理装置２ｂがローカル接続されるプリンタ２ｃを被管理機器として通信制御する場合について説明したが、直接ローカルポートと通信するのではなく、プリンタのデバイスドライバが取得した情報を用いてＳＮＭＰエージェント機能を実現し、データ処理装置に接続するローカルプリンタを被管理機器として制御するように構成してもよい。以下、その実施形態について説明する。
【００８５】
なお、本第２実施形態を含む以下の説明において、データ処理装置の装置構成は図１と同様であり、ネットワークの構成についても図２と同様であるものとして説明する。
【００８６】
図７は、本発明の第２実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図であり、図４と同一のものには同一の符号を付してある。
【００８７】
図７において、６ａはプリンタ状態管理プログラムで、プリンタドライバ６ｃから取得することが可能な情報をドライバ通信プログラム６ｂに対して要求して、取得した情報を記憶領域３ｄに保持させる。
【００８８】
なお、ドライバ通信プログラム６ｂはプリンタドライバ６ｃに対して、プリンタ状態管理プログラム６ａから要求された情報をプリンタドライバ６ｃから取得して、プリンタ状態管理プログラム６ａに送信する。
【００８９】
６ｃはプリンタドライバであり、ローカルプリンタとしてのプリンタ２ｃの印刷制御や状態取得などを行うためにＯＳに登録されているプログラム（ソフトウエア）である。
【００９０】
本実施形態は、データ処理装置２ｂを上記のように構成することにより、ＳＮＭＰエージェント機能におけるリクエスト応答及びトラップは、情報資源がローカルポートを通じたローカルプリンタであるか、プリンタドライバであるかの違いがあるだけで、図５、図６とほぼ同様の処理手順によりデータ処理される。
【００９１】
以上説明したように、情報取得対象をプリンタドライバ６ｃとしたプリンタ状態管理を行い、さらにこれら情報を用いてＳＮＭＰ処理を行うことにより、プリンタドライバ６ｃから取得した情報を用いたローカルプリンタをＳＮＭＰマネージャの被管理機器として印刷システムを構築することができる。
【００９２】
〔第３実施形態〕
第１，第２実施形態では、従来ＳＮＭＰマネージャの管理下に属さないローカルプリンタを、ローカルポートと直接通信を行い情報を取得した場合と、プリンタのデバイスドライバを通し情報を取得した各場合について、その情報を利用して被管理機器として実現できるＳＮＭＰエージェントを持ったデータ処理装置を構築する場合について説明したが、プリンタのドライバ経由での取得及び、直接ローカルポートと通信による取得でそれぞれ得た情報を用いて、すなわち、第１，第２実施形態の双方の構成を備えるＳＮＭＰエージェントを実現するデータ処理装置を設けて、ローカルプリンタをＳＮＭＰマネージャの被管理機器としてＳＮＭＰ印刷システムを構築するように構成してもよい。
【００９３】
なお、第１実施形態と第２実施形態との双方の構成を備える理由は、以下の通りである。
【００９４】
一般的に、プリンタのデバイスドライバは、印刷をする上での設定情報を扱うことを可能とする情報を記憶している。例えば、現在の印刷のジョブ数やドライバレベルにおける状態情報などを扱っている。
【００９５】
これに対して直接ローカルポートを通して取れる情報としては、現在印刷中のデータや、ドアオープンやインク／トナー切れといった情報を取得できる。もちろん、プリンタドライバにおいてもこれらの情報を取得して記憶するものもあると考えられる。
【００９６】
そこで、本実施形態では、上記の両方の情報を取得して、ＳＮＭＰマネージャからきたリクエスト管理情報でより所望の情報を返すことを特徴とする。
【００９７】
例えば、プリンタドライバの状態が利用不可能であり、ローカルポートからの情報は利用可能な状態である場合は、利用不可能である状態をＳＮＭＰマネージャにリクエスト応答する。一方で、プリンタドライバの状態は利用可能でも、電源ＯＦＦなどでローカルポートからの情報は利用不可の場合も、やはり利用不可能とリクエスト応答をする。
【００９８】
図８は、本発明の第３実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図であり、図４，図７と同一のものには同一の符号を付してある。
【００９９】
図８において、７ａはプリンタ状態管理プログラムで、ドライバ通信プログラム６ｂとポート通信プログラム３ｅの双方の情報を取得して、さらに内容を比較してより適切な情報を選択して、ＳＮＭＰ処理プログラム３ｂに提供するプログラムである。
【０１００】
上記のプリンタ状態管理プログラム７ａを用いることにより、適切な情報を判定してＳＮＭＰ処理に送信することができる、データ処理手順については図５，図６に上記情報を判定するステップを追加するだけでよい。
【０１０１】
以上説明したように、第３実施形態によれば、前記第１及び第２実施形態ではそれぞれどちらかの情報しか取得できなかったローカルプリンタの情報の双方を取得可能とし、より適切な情報を用いてＳＮＭＰエージェント機能を実現することを可能とするデータ処理装置として印刷システムを構築することができる。
【０１０２】
〔第４実施形態〕
上記第１から第３実施形態では、従来ＳＮＭＰマネージャの管理下に属さないローカルプリンタとしてのプリンタ２ｃを、被管理機器として実現できるＳＮＭＰエージェント機能を持ったデータ処理装置２ｂにより印刷システムを構築する場合について説明したが、第１〜第３実施形態のデータ処理装置であって、このデータ処理装置自身がＳＮＭＰマネージャの被管理機器である際に、接続するローカルプリンタも被管理機器としてＳＮＭＰ印刷システムを構築するように構成してもよい。以下、その実施形態について説明する。
【０１０３】
図９は、本発明の第４実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図であり、図４と同一のものには同一の符号を付してある。ただし、第４実施形態では、説明を簡単化するため、プリンタ状態管理プログラムの例として第１実施形態における方法を用いているが、特にこの方法に限定するものではなく、第２、３実施形態で説明したプリンタのデバイスドライバから情報取得する方法も勿論利用できる。以下、本実施形態では、特徴的な、ＳＮＭＰリクエストの内容を判定する部分と、自身のＳＮＭＰリクエスト及びトラップ処理について詳述する。
【０１０４】
図９において、８ａはＳＮＭＰ判定プログラムで、ＳＮＭＰマネージャ機能を持つデータ処理装置２ｄからのリクエストをネットワークインタフェース３ａを通して取得し、その内容が自身である際に、自身のＳＮＭＰ処理プログラム８ｂにデータを送信し、一方、内容がプリンタに関するものである際に、プリンタのＳＮＭＰ処理プログラム３ｂにデータを送信する。
【０１０５】
このＳＮＭＰ判定プログラム８ａにより、自身のＳＮＭＰマネージャからのリクエストを自身のＳＮＭＰ処理とローカルプリンタのＳＮＭＰ処理とを使い分けることが可能になる。
【０１０６】
なお、自身のＳＮＭＰ処理プログラム８ｂは、公知の方法でよく、特に第４実施形態において限定するものではない。
【０１０７】
なお、ＳＮＭＰ判定処理プログラム８ａにより、受信した内容がプリンタに関するものである場合にプリンタのＳＮＭＰ処理プログラム３ｂに処理が移るが、この処理は上記実施形態で説明したので、その説明は省略する。
【０１０８】
また、トラップ処理に関しては、自身のＳＮＭＰ処理プログラム８ｂ及び、プリンタのＳＮＭＰ処理プログラム３ｂがそれぞれ個別にネットワークインタフェース３ａを通して行っても、ＳＮＭＰ判定プログラム８ａに転送処理を行うようにしても構わなく、特に限定するものではない。
【０１０９】
図１０は、本発明に係るデータ処理装置における第３のデータ処理手順の一例を示すフローチャートであり、第４の実施形態の特徴であるＳＮＭＰ判定処理プログラム８ａの機能処理手順に対応する。なお、Ｓ９０１〜Ｓ９０４は各ステップを示す。
【０１１０】
まず、ステップＳ９０１において、ＳＮＭＰマネージャ機能を持つデータ処理装置２ｄからのリクエストがあったかどうかを判定し、ないと判定した場合には、処理を終了する。
【０１１１】
一方、ステップＳ９０１で、リクエストがあったと判定した場合には、ステップＳ９０２で、そのリクエスト内容が自身のデータ処理装置に対してか、ローカルプリンタに対してかを判定し、もしプリンタに関してのリクエストであると判定した場合は、ステップＳ９０３に進み、自身のデータ処理装置に関してのリクエストであると判定した場合は、ステップＳ９０４に進む。
【０１１２】
そして、ステップＳ９０３では、プリンタのＳＮＭＰのリクエスト応答処理（ＳＮＭＰマネージャに対して取得した情報を送信する処理）を実行し、処理を終了する。
【０１１３】
また、ステップＳ９０４では、データ処理装置のＳＮＭＰのリクエスト応答処理（ＳＮＭＰマネージャに対して取得した情報を送信する処理）を実行して、処理を終了する。
【０１１４】
なお、トラップ処理については、自身のデータ処理装置とローカルプリンタに関するそれぞれのＳＮＭＰ処理部分がその機器を管理して状態変化があった場合に、各ＳＮＭＰマネージャに通知することを行う処理であるためそれぞれが独自でトラップ処理を行えばよく、当該トラップ処理の手順については省略する。
【０１１５】
以上説明したように、第４実施形態によれば、このデータ処理装置自身がＳＮＭＰマネージャの被管理機器である際に、接続するローカルプリンタも被管理機器として提供するデータ処理装置として印刷システムを構築することができる。
【０１１６】
〔第５実施形態〕
上記各実施形態では、従来ＳＮＭＰマネージャの管理下に属さないローカルプリンタを、被管理機器として実現できるＳＮＭＰエージェントを持ったデータ処理装置として印刷システムを構築する場合について説明したが、各実施形態のデータ処理装置であって、さらに、ネットワーク上の他のデータ処理装置から取得した印刷データ、もしくは、データ処理装置自身のアプリケーションからの印刷指示による印刷データを、プリンタの情報を取得して、利用可能な場合は印刷データの出力処理を行い、不可能な場合は出力不可としてその印刷処理の結果をトラップ処理もしくはＳＮＭＰマネージャからのリクエストの応答として、ＳＮＭＰを用いて通知するデータ処理装置として印刷システムを構築してもよい。以下、その実施形態について説明する。
【０１１７】
図１１は、本発明の第５実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図であり、図４と同一のものには同一の符号を付してある。また、本実施形態では、説明を簡易化するために第１実施形態で示したローカルポートから情報を取得する場合について説明するが、勿論、第２実施形態で示したドライバからの取得でも双方からの取得でも構わない。また、第４実施形態で示したとおり、データ処理装置自身がＳＮＭＰエージェント機能を持った場合でも勿論構わず、これらを組合せることができることはいうまでもない。
【０１１８】
以下、本実施形態の特徴であるＳＮＭＰ情報を同期した印刷データの処理について説明することとする。
【０１１９】
図１１において、１０ａはネットワークインタフェースであり、ＳＮＭＰの送受信に加え、印刷データをも受信するインタフェースである。
【０１２０】
１０ｂはＳＮＭＰ応答プログラムで、図４に示したＳＮＭＰ処理プログラム３ｂに相当するものであり、ＳＮＭＰエージェント機能を実現するプログラムである。
【０１２１】
１０ｃはプリンタ情報管理プログラムで、図４に示したプリンタ状態管理プログラム３ｃにおけるプリンタ状態に加え、後述する印刷データ管理プログラム１０ｇとの間においても情報のやり取りを行い、その印刷データに関する情報も記憶領域１０ｄに保持したり、印刷データ管理プログラム１０ｇから通知される印刷データの処理結果等、あらゆるプリンタの情報を管理し、ＳＮＭＰプログラム処理プログラム１０ｂに対して情報を提供する。
【０１２２】
１０ｄは記憶領域で、プリンタ情報管理プログラム１０ｃが利用するためのものである。１０ｅはポート通信用プログラムで、図４に示したポート通信プログラム３ｅにおけるプリンタの状態をローカルポートから取得する処理に加え、印刷データ管理プログラム１０ｇから送られてくる印刷データを受信して、ローカルポートを用いてローカルプリンタ２ｃに対して、印刷データを出力させる処理を行う。
【０１２３】
１０ｆは印刷データ受信プログラムで、ネットワークインタフェース１０ａを通して、ネットワーク上の他のデータ処理装置が送信した印刷データで自分のアドレスが指定されているものを受信し、印刷データ管理プログラム１０ｇに渡すプログラムである。なお、印刷データの取得方法は、印刷データが取得できる方法であれば公知の方法で構わなく本発明において限定するものではない。
【０１２４】
印刷データ管理プログラム１０ｇは、印刷データ受信プログラム１０ｆから渡される印刷データ又は、アプリケーション１０ｈからの印刷データを管理する。
【０１２５】
なお、印刷データ管理プログラム１０ｇは、プリンタ情報管理プログラム１０ｃから現在のローカルプリンタの状態を取得して、状態が利用可能な場合は、その印刷データをポート通信プログラム１０ｅに対して印刷指示を出すプログラムである。一方、利用不可能な場合は、エラーとして終了する。そして、印刷データ管理プログラム１０ｇは、出力結果（成功／失敗）をプリンタ情報管理プログラム１０ｃに対して送信する処理を行う。
【０１２６】
１０ｈはデータ処理装置内にあるアプリケーションプログラムであり、文書や画像等を作成・編集して印刷指示を行うものである。このアプリケーションプログラム１０ｈにおいて、印刷指示が行われた場合、ネットワークから送信された印刷データと同様に、印刷データ管理プログラム１０ｇによって処理が行われる。以上説明したプログラム構成例によって本実施形態の処理がなされる。
【０１２７】
図１２は、本発明に係るデータ処理装置における第４のデータ処理手順の一例を示すフローチャートであり、印刷データの処理手順に対応する。なお、Ｓ１１０１〜Ｓ１１０６は各ステップを示す。
【０１２８】
まず、ステップＳ１１０１で、ネットワーク上の他のデータ処理装置から印刷データを受信したかどうかを判定し、もし受信していないと判定した場合は、ステップＳ１１０２に進み、データ処理装置自身にあるアプリケーションが印刷指示を行い、印刷データが発生したかどうかを判定して、印刷データがないと判定した場合、本処理を終了する。
【０１２９】
一方、ステップＳ１１０１またはステップＳ１１０２のいずれかにおいて印刷データが発生したと判定した場合は、次のステップＳ１１０３に進み、管理しているプリンタの状態情報を用いて、現在ローカルプリンタが使用可能かどうかを判定し、もし利用不可能であると判定した場合は、ステップＳ１１０４に進み、印刷データが出力できない状態であることをＳＮＭＰマネージャ機能を持つデータ処理装置２ｄに対して送信して、処理を終了する。
【０１３０】
一方、ステップＳ１１０３において、利用可能であると判定した場合は、ステップＳ１１０５に進み、前記ステップＳ１１０１又はステップＳ１１０２のいずれかで取得した印刷データをローカルポートを通して、ローカルプリンタであるプリンタ２ｃに対して出力処理する。
【０１３１】
そして、当該印刷データの印刷が終了した場合、ステップＳ１１０６に進み、印刷終了した旨をＳＮＭＰマネージャを持つデータ処理装置２ｄに対して送信して、処理を終了する。
【０１３２】
上記処理に関してはトラップ処理を用いたが、ＳＮＭＰマネージャから指定した印刷データが出力されたか等に関するリクエストが来た場合に応答することも可能とする。この処理は、印刷処理の結果を記憶しておいて、リクエストに対して応答する方法を用いればよく、その詳細手順については説明を省略する。
【０１３３】
以上説明したように、第５実施形態によれば、ネットワーク上の他のデータ処理装置から取得した印刷データ、もしくは、データ処理装置自身のアプリケーションからの印刷指示による印刷データを、プリンタの情報を取得して、利用可能な場合は印刷データの出力処理を行い、不可能な場合は出力不可としてその印刷処理の結果をトラップ処理もしくはＳＮＭＰマネージャからのリクエストの応答として処理を行うＳＮＭＰエージェント機能を実現するデータ処理装置として印刷システムを構築することができる。
【０１３４】
〔第６実施形態〕
上記第５実施形態では、ネットワーク上の他のデータ処理装置から取得した印刷データ、もしくは、データ処理装置自身のアプリケーションからの印刷指示による印刷データを、プリンタの状態情報を取得して、利用可能な際は印刷データの出力処理を行い、利用不可の場合は出力不可として、印刷処理の結果をＳＮＭＰ通知するデータ処理装置として印刷システムを構築する場合について説明したが、ネットワークから送信された印刷データ及び自身のアプリケーションの印刷データを一度記憶領域に保持して、利用可能な場合はそのデータを出力が終了した時点で記憶領域から削除して印刷終了をＳＮＭＰで通知し、一方、利用不可能な場合は、利用不可能であることをＳＮＭＰで通知すると共に、その印刷データを保持しておき、印刷データが保持されていることをＳＮＭＰで通知するようにデータ処理装置として印刷システムを構築してもよい。以下、その実施形態について説明する。
【０１３５】
図１３は、本発明の第６実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図であり、図１１と同一のものには同一の符号を付してある。
【０１３６】
図において、１２ａは印刷データ管理プログラムで、図１１に示した印刷データ管理プログラム１０ｇの機能に加えて、さらにアプリケーションプログラム１０ｈおよび印刷データ受信プログラム１０ｆから取得した印刷データを一度、後述の記憶領域１２ｂに保持して、プリンタ状態管理からプリンタの状態を取得／判定して利用可能な際に、その出力処理を行い記憶していた印刷データを削除し、印刷の終了をプリンタ情報管理プログラム１２ｃに通知する。
【０１３７】
一方、利用不可能な場合は、利用可能になるまで印刷データを保持し続け、この保持している印刷データに関する情報をプリンタ情報管理プログラム１２ｃに通知しておき、利用可能になった時点で印刷を行い、記憶していた印刷データを削除し、さらに印刷終了をプリンタ情報管理プログラム１２ｃに通知する処理を行う。
【０１３８】
なお、ここでいう利用不可というのは、現在ローカルプリンタにおいて、他の印刷データが印刷中であることも含めることとする。従って、プリンタ情報管理プログラム１２ｃに対しては、現在印刷中の印刷データに対しては印刷中である通知、待ち行列に入った印刷データはもちろん、待ち状態である通知を行うことになる。
【０１３９】
１２ｂは記憶領域で、プリンタ情報管理プログラム１２ｃ及び印刷データ管理プログラム１２ａの印刷データ管理が使用する記憶領域である。
【０１４０】
また、プリンタ情報管理プログラム１２ｃは、図１１に示したプリンタ情報管理プログラム１０ｃの機能に加えて、印刷データ管理プログラム１２ａや記憶領域１２ｂに保持されているデータから、現在利用不可能なために印刷待ちにある印刷データをもその情報を記憶領域１２ｂに保持し、ＳＮＭＰ応答プログラム１２ｄに対して通知するプログラムである。
【０１４１】
ＳＮＭＰ応答プログラム１２ｄは、図１１に示したＳＮＭＰ応答プログラム１０ｂの機能に加え、さらに、プリンタ情報管理プログラム１２ｃから取得できる印刷待ちや印刷中の印刷データ情報などに対しても適宜情報を取得して、トラップやリクエスト応答を行うプログラムである。以上説明したプログラム構成の例によって本実施形態の処理がなされる。
【０１４２】
図１４は、本発明に係るデータ処理装置における第５のデータ処理手順の一例を示すフローチャートであり、第６実施形態における印刷データ処理手順に対応する。なお、Ｓ１３０１〜Ｓ１３１１は各ステップを示す。
【０１４３】
まず、ステップＳ１３０１において、ネットワークのデータ処理装置から印刷データを取得したか判定し、取得しないと判定した場合は、ステップＳ１３０２に進み、データ処理装置自身のアプリケーションが印刷データを生成したかどうか、すなわち、自信のアプリケーションより印刷指示があるかどうかを判定し、生成していないと判定した場合は、処理を終了する。
【０１４４】
一方、ステップＳ１３０１，１Ｓ１３０２ともにＹＥＳの場合、すなわち、印刷データを取得した場合は、次のステップＳ１３０３に進み、印刷データを記憶領域１２ｂに保存する。
【０１４５】
そして、ステップＳ１３０４で、ローカルプリンタが利用可能かどうかを確認し、もし利用不可能であると判定した場合は、ステップＳ１３０５に進み、現在プリンタが使用不可能であることと、印刷データが印刷待ち状態であることをＳＮＭＰ応答プログラム１２ｄに対して通知する。この場合の通知とは、ＳＮＭＰマネージャ機能を持つデータ処理装置２ｄからのリクエストによってその状態をリクエストとして応答することも考えられ、また状態変化なのでトラップとしての通知も考えられる。
【０１４６】
ここでは、そのネットワークシステムにおいて、所望の方法で通知を行えばよく、またリクエスト応答とトラップの両方を用いてもよい。第６実施形態では、ＳＮＭＰ応答プログラム１２ｄに対して通知を行うものとする。
【０１４７】
次に、ステップＳ１３０６で、印刷中止かどうかを判定して、継続であると判定した場合は、ステップＳ１３０４に戻って再度ローカルプリンタが利用可能かをチェックする。
【０１４８】
一方、ステップＳ１３０６において、印刷中止としたと判定した場合は、ステップＳ１３０７に進む。
【０１４９】
なお、ここで、印刷中止を指定する手段は、ユーザに選択させてもよいし、また回数を決める方法や、一定の待ち時間を設ける方法も考えられここでは特に限定しない。
【０１５０】
次に、ステップＳ１３０７では、記憶していた印刷データの削除を行う。そして、ステップＳ１３０８において、印刷が失敗に終わったことをＳＮＭＰ応答プログラム１２ｄに対して通知して、処理を終了する。
【０１５１】
一方、ステップＳ１３０４において、ローカルプリンタが利用可能であったと判定した場合は、ステップＳ１３０９に進み、対象となる印刷データをローカルプリンタから出力する。そして、印刷処理が終了すると、ステップＳ１３１０において、ステップＳ１３０３で記憶した印刷データを削除し、ステップＳ１３１１で、出力の終了をＳＮＭＰ応答プログラム１２ｄに対して通知して、処理を終了する。
【０１５２】
以上説明したように、第６実施形態によれば、ローカルプリンタが利用不可能な場合において、その印刷データを保持し、さらに印刷待ち状態であるＳＮＭＰ通知を行い、利用可能になった時点で印刷を再開し、印刷終了をＳＮＭＰで通知するデータ処理装置として印刷システムを構築することができる。
【０１５３】
〔第７実施形態〕
上記第５，第６実施形態では、ネットワーク上の他のデータ処理装置から取得した印刷データ、もしく、データ処理装置自身のアプリケーションからの印刷指示による印刷データを、ローカルポートを経由して直接プリンタに出力を行う上で、その印刷データ情報に関してもＳＮＭＰによって通知するデータ処理装置について説明したが、第５実施形態において、ネットワークから送信された印刷データ及び自身のアプリケーションの印刷データをプリンタのデバイスドライバを用いて出力し、その時の各情報をＳＮＭＰで通知するデータ処理装置として印刷システムを構築してもよい。以下、その実施形態について説明する。
【０１５４】
図１５は、本発明の第７実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図であり、図１２と同一のものには同一の符号を付してある。但し、特徴的構成の説明を簡易化するために、プリンタに関する情報取得方法として前記第２実施形態で示したプリンタのデバイスドライバからの取得方法を示すが、勿論この方法に限定する必要はなく、第１実施形態で示したポート通信を用いても良いし、第３実施形態で示した双方からの取得方法を用いてもよい。
【０１５５】
また、第４実施形態で示したデータ処理装置自身がＳＮＭＰマネージャによる被管理機器である場合でもまた勿論適用することが可能である。またプログラム構成例として表示した印刷データの管理方法も本実施形態の説明を簡略化するため、第５実施形態における方法を用いたが、第６実施形態における方法を用いることも可能である。
【０１５６】
図において、１４ａはプリンタドライバであり、ローカルプリンタの印刷制御や状態取得などを行うためにＯＳに登録されているプログラム（ソフトウエア）である。１４ｂはドライバ通信プログラムで、印刷データ管理プログラム１４ｃから渡される印刷データをプリンタドライバ１４ａに用意されたインタフェースを用いて渡したり、プリンタ状態を取得したり、さらにアプリケーションプログラム１４ｅから印刷指示されプリンタドライバに渡された印刷データの情報も取得するプログラムである。
【０１５７】
印刷データ管理プログラム１４ｃは、プリンタ状態管理プログラム１４ｄから現在のプリンタの状態を取得して利用可能の際に、ドライバ通信プログラム１４ｂに対して取得した印刷データを渡して印刷処理を行わせるプログラムである。
【０１５８】
プリンタ状態管理プログラム１４ｄは、ドライバ通信プログラム１４ｂを用いてプリンタドライバ１４ａの状態情報や、アプリケーションプログラム１４ｅからの印刷データの情報を取得して管理するプログラムである。
【０１５９】
アプリケーションプログラム１４ｅは、プリンタドライバ１４ａに対して画像や文書などのデータを印刷指示することが可能なプログラムである。以上説明したプログラム構成の例によって本実施形態の処理がなされる。
【０１６０】
なお、第７実施形態の特徴は、出力方法をデバイスドライバ経由で行うことであり、フローチャートは、図１４に示す処理手順と同様であり、詳細な説明は省略する。
【０１６１】
以上説明したように、第７実施形態によれば、ネットワークから送信された印刷データ及び自身のアプリケーションの印刷データをプリンタのデバイスドライバを用いて出力し、その時の各情報をＳＮＭＰで通知するデータ処理装置及びその制御方法を実現可能となる。
【０１６２】
なお、前記第１〜第７実施形態で説明したプログラムは、構成を説明する上でそれぞれ分割してシステムを構成する場合について説明したが、特にこれらは分割されていてそれぞれが起動可能なプログラムでもいいし、１つのプログラムであってもよく、またライブラリとしてロードされる形式でもよく、これらの内容の機能を果たすものであれば、特に限定するものではない。
【０１６３】
またさらに、各実施形態においてアプリケーションを動作させるデータ処理装置は、パーソナルコンピュータ等の汎用データ処理装置で実現できる。要するに、上記の処理を行うためのプログラムを組み込むことで、本願発明が実現できるわけである。
【０１６４】
以下、図１６に示すメモリマップを参照して本発明に係るデータ処理装置で読み出し可能なデータ処理プログラムの構成について説明する。
【０１６５】
図１６は、本発明に係るデータ処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１６６】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１６７】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１６８】
本実施形態における図５，図６，図１０，図１２，図１４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１６９】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１７０】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１７１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ等を用いることができる。
【０１７２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７４】
【発明の効果】
以上説明したように、本発明によれば、プリンタドライバが生成する第１の印刷データと、特定のプロトコルで通信可能な他のデータ処理装置から受信する第２の印刷データとの双方の印刷要求を処理する場合に、第１、第２の印刷データの印刷待ち状態を特定のプロトコルを用いて他のデータ処理装置に通知できるという効果を奏する。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置を含むネットワーク機器のシステム構成を説明する図である。
【図２】本発明に係るデータ処理装置の構成を説明するブロック図である。
【図３】本発明に係るデータ処理装置における第１のネットワーク接続構成を説明する図である。
【図４】図３に示したデータ処理装置のモジュール構成を説明する図である。
【図５】本発明に係るデータ処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図６】本発明に係るデータ処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図７】本発明の第２実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図である。
【図８】本発明の第３実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図である。
【図９】本発明の第４実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図である。
【図１０】本発明に係るデータ処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図１１】本発明の第５実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図である。
【図１２】本発明に係るデータ処理装置における第４のデータ処理手順の一例を示すフローチャートである。
【図１３】本発明の第６実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図である。
【図１４】本発明に係るデータ処理装置における第５のデータ処理手順の一例を示すフローチャートである。
【図１５】本発明の第７実施形態を示すデータ処理装置の印刷制御モジュール構成を説明する図である。
【図１６】本発明に係るデータ処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
２ｂ，２ｄ  データ処理装置
２ｃ  プリンタ
３ａ  ネットワークインタフェース
３ｂ  ＳＮＭＰ処理プログラム
３ｃ  プリンタ状態管理プログラム
３ｅ  ポート通信プログラム
３ｄ  記憶領域
【図１】
0003950575.tif 000002
【図２】
0003950575.tif 000003
【図３】
0003950575.tif 000004
【図４】
0003950575.tif 000005
【図５】
0003950575.tif 000006
【図６】
0003950575.tif 000007
【図７】
0003950575.tif 000008
【図８】
0003950575.tif 000009
【図９】
0003950575.tif 000010
【図１０】
0003950575.tif 000011
【図１１】
0003950575.tif 000012
【図１２】
0003950575.tif 000013
【図１３】
0003950575.tif 000014
【図１４】
0003950575.tif 000015
【図１５】
0003950575.tif 000016
【図１６】
0003950575.tif 000017