(57)【要約】【課題】ネットワークプリントシステム、出力管理装置、出力管理方法、プログラムおよび記録媒体を提供すること。【解決手段】出力管理装置１１０は、機器状態を取得し、機器情報管理部２１８ｆが格納する最新の機器状態を更新する状態監視部２１８ａと、クライアント装置が登録する機器情報を問い合わせ、クライアント装置が出力処理を要求する可能性のある機器を取得するクライアント情報管理部２１８ｃと、クライアント装置が出力処理を要求する可能性のある機器が出力不能状態であることを判断し、当該クライアント装置が代替することができる代替機を評価し、決定する代替機決定部２１８ｂと、代替機決定部２１８ｂによって決定された代替機のネットワークプリントのために必要な情報を取得して対象とするクライアント装置に対して当該情報を送付し代替機による印刷を可能としている。【選択図】図３
2011170412.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され印刷出力を行う機器と、当該機器に対して印刷処理を依頼するクライアント装置と、前記機器の印刷処理を管理する出力管理装置とを含むネットワークプリントシステムであって、
前記出力管理装置は、
前記機器の機器状態を取得し、機器情報管理部が格納する最新の機器状態を更新する状態監視手段と、
前記クライアント装置が登録する機器情報を問い合わせ、前記クライアント装置が出力処理を要求する可能性のある機器を取得するクライアント情報管理手段と、
前記クライアント装置が出力処理を要求する可能性のある前記機器が出力不能状態であることを判断し、当該クライアント装置が代替することができる代替機を評価し、決定する代替機決定手段と、
前記代替機決定手段によって決定された代替機のネットワークプリントのために必要な情報を取得して対象とするクライアント装置に対して当該情報を送付し、前記代替機の情報で前記クライアント装置が登録する出力不能状態の機器の情報を設定することにより前記代替機による印刷を可能とする情報設定手段と
を含むネットワークプリントシステム。
【請求項２】
前記状態監視手段は、前記機器状態を定期的にポーリングすることにより、前記最新の機器状態を更新する、請求項１に記載のネットワークプリントシステム。
【請求項３】
前記状態監視手段は、前記機器状態を、前記機器の状態変化があったときに通知を受けて前記最新の機器状態を更新する、請求項１または２に記載のネットワークプリントシステム。
【請求項４】
前記出力管理装置は、さらに出力不能条件のユーザ設定を受領して、前記代替機決定手段が前記代替機の評価を開始するための代替機検索条件テーブルに登録する出力不能条件管理手段を含む、請求項１〜３のいずれか１項に記載のネットワークプリントシステム。
【請求項５】
前記情報設定手段は、前記クライアント装置から前記代替機のネットワークプリントのために必要な情報の設定に失敗した通知を受領し、前記代替機のための新たなポートを設定するか、または前記代替機のためのドライバプログラムをインストールするための情報を当該クライアントに送付する、請求項１〜４のいずれか１項に記載のネットワークプリントシステム。
【請求項６】
前記情報設定手段は、印刷不能が解消された機器のポートモニタ情報をバッファメモリなどに退避させ、印刷不能であった機器が印刷不能から復帰したことを検出してバッファメモリに格納され、印刷不能が解消された当該機器のポートモニタ情報を読み出して前記読み出したポートモニタ情報で書き換える、請求項１〜５のいずれか１項に記載のネットワークプリントシステム。
【請求項７】
ネットワークに接続され印刷出力を行う機器と、当該機器に対して印刷処理を依頼するクライアント装置と、前記機器の印刷処理を管理する出力管理装置であって、
前記出力管理装置は、
前記機器の機器状態を取得し、機器情報管理部が格納する最新の機器状態を更新する状態監視手段と、
前記クライアント装置が登録する機器情報を問い合わせ、前記クライアント装置が出力処理を要求する可能性のある機器を取得するクライアント情報管理手段と、
前記クライアント装置が出力処理を要求する可能性のある前記機器が出力不能状態であることを判断し、当該クライアント装置が代替することができる代替機を評価し、決定する代替機決定部と、
前記代替機決定部によって決定された代替機のネットワークプリントのために必要な情報を取得して対象とするクライアント装置に対して当該情報を送付し、前記代替機の情報で前記クライアント装置が登録する出力不能状態の機器の情報を設定することにより前記代替機による印刷を可能とする情報設定手段と
を含む出力管理装置。
【請求項８】
前記状態監視手段は、前記機器状態の定期的なポーリングまたは前記機器状態の状態変化があったときに前記機器が発行する通知を受領して前記最新の機器状態を更新する、請求項７に記載の出力管理装置。
【請求項９】
前記出力管理装置は、さらに出力不能条件のユーザ設定を受領して、前記代替機決定部が前記代替機の評価を開始するための代替機検索条件テーブルに登録する出力不能条件管理手段を含む、請求項７または８に記載の出力管理装置。
【請求項１０】
前記情報設定手段は、前記クライアント装置から前記代替機のネットワークプリントのために必要な情報の設定に失敗した通知を受領し、前記代替機のための新たなポートを設定するか、または前記代替機のためのドライバプログラムをインストールするための情報を当該クライアントに送付する、請求項７〜９のいずれか１項に記載の出力管理装置。
【請求項１１】
前記情報設定手段は、印刷不能が解消された機器のポートモニタ情報をバッファメモリなどに退避させ、印刷不能であった機器が印刷不能から復帰したことを検出してバッファメモリに格納され、印刷不能が解消された当該機器のポートモニタ情報を読み出して前記読み出したポートモニタ情報で書き換える、請求項７〜１０のいずれか１項に記載の出力管理装置。
【請求項１２】
ネットワークに接続され印刷出力を行う機器と、当該機器に対して印刷処理を依頼するクライアント装置と、前記機器の印刷処理を管理するために情報処理装置が実行する出力管理方法であって、
前記機器の機器状態を取得し、機器情報管理部が格納する最新の機器状態を更新する状態監視するステップと、
前記クライアント装置が登録する機器情報を問い合わせ、前記クライアント装置が出力処理を要求する可能性のある機器を取得するクライアント情報を管理するステップと、
前記クライアント装置が出力処理を要求する可能性のある前記機器が出力不能状態であることを判断し、当該クライアント装置が代替することができる代替機を評価するステップと、
前記評価の結果に対応して代替させるべき代替機を決定するステップと、
前記決定された代替機のネットワークプリントのために必要な情報を取得して対象とするクライアント装置に対して当該情報を送付し、前記代替機の情報で前記クライアント装置が登録する出力不能状態の機器の情報を設定することにより前記代替機による印刷を可能とするステップと
を含む出力管理方法。
【請求項１３】
前記状態監視するステップは、前記機器状態の定期的なポーリングまたは前記機器状態の状態変化があったときに前記機器が発行する通知を受領して前記最新の機器状態を更新するステップを含む、請求項１２に記載の出力管理方法。
【請求項１４】
前記代替機を決定するステップは、さらに出力不能条件のユーザ設定を受領して前記代替機の評価を開始するための代替機検索条件テーブルに登録して出力不能条件をユーザオンデマンドに管理するステップを含む、請求項１２または１３に記載の出力管理方法。
【請求項１５】
前記代替機による印刷を可能とするステップは、前記クライアント装置から前記代替機のネットワークプリントのために必要な情報の設定に失敗した通知を受領し、前記代替機のための新たなポートを設定するステップ、または前記代替機のためのドライバプログラムをインストールするための情報を当該クライアントに送付するステップを含む、請求項１２〜１４のいずれか１項に記載の出力管理方法。
【請求項１６】
さらに、印刷不能が解消された機器のポートモニタ情報をバッファメモリなどに退避させ、印刷不能であった機器が印刷不能から復帰したことを検出してバッファメモリに格納され、印刷不能が解消された当該機器のポートモニタ情報を読み出して前記読み出したポートモニタ情報で書き換えるステップを含む、請求項１２〜１５のいずれか１項に記載の出力管理方法。
【請求項１７】
情報処理装置を、ネットワークを介した印刷出力を管理するための出力管理装置として機能させるための装置実行可能なプログラムであって、前記プログラムは、前記情報処理装置を、
機器状態の定期的なポーリングまたは前記機器状態の状態変化があったときに機器が発行する通知を受領して最新の機器状態を更新して取得し、格納した最新の機器状態を更新する状態監視する機能手段、
前記ネットワークを介して接続されたクライアント装置が登録する機器情報を問い合わせ、前記クライアント装置が出力処理を要求する可能性のある機器を取得するクライアント情報を管理する機能手段、
前記クライアント装置が出力処理を要求する可能性のある前記機器が出力不能状態であることを判断し、当該クライアント装置が代替することができる代替機を評価し、前記評価の結果に対応して代替させるべき代替機を決定する機能手段、
前記決定された代替機のネットワークプリントのために必要な情報を取得して対象とするクライアント装置に対して当該情報を送付し、前記代替機の情報で前記クライアント装置が登録する出力不能状態の機器の情報を設定することにより印刷を可能とする機能手段、
出力不能条件のユーザ設定を受領し、前記代替機の評価を開始するための代替機検索条件テーブルに登録して出力不能条件をユーザオンデマンドに管理する機能手段
として機能させるプログラム。
【請求項１８】
前記代替機による印刷を可能とする機能手段は、前記クライアント装置から前記代替機のネットワークプリントのために必要な情報の設定に失敗した通知を受領し、前記代替機のための新たなポートを設定する機能手段、または前記代替機のためのドライバプログラムをインストールするための情報を当該クライアントに送付する機能手段を含む、請求項１７に記載のプログラム。
【請求項１９】
前記印刷を可能とする機能手段は、印刷不能が解消された機器のポートモニタ情報をバッファメモリなどに退避させ、印刷不能であった機器が印刷不能から復帰したことを検出してバッファメモリに格納され、印刷不能が解消された当該機器のポートモニタ情報を読み出して前記読み出したポートモニタ情報で書き換える、請求項１７または１８に記載のプログラム。
【請求項２０】
請求項１７〜１９のいずれか１項に記載された装置実行可能なプログラムを記録した、装置可読な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された複数の画像処理装置の出力管理を行う技術に関し、より詳細には、ネットワークを介して画像処理装置といった機器の機器状態をモニタし、機器状態に対応して画像処理装置に対して出力を依頼するクライアント装置のネットワーク設定を更新する技術に関する。
【背景技術】
【０００２】
近年、ネットワーク技術の普及、情報処理装置、ネットワーク機器および画像処理装置の低価格化などを背景として、オフィス環境ばかりではなくホーム環境においてもネットワークに複数の画像処理装置が接続され、パーソナルコンピュータといったクライアント装置からの出力要求を受け取って受領したデータを処理し出力する。本明細書において、用語「画像処理装置」とは、コピー機能、スキャナ機能、ファクシミリ機能、ストレージ機能、ネットワーク接続機能などを含む多機能周辺機器(Multi-Function Peripheral)、コピー機、ファクシミリ装置、ページプリンタなど、イメージデータに基づいて生成されたデジタルデータを処理し、機器外に出力することが可能な装置を意味する。
【０００３】
クライアント装置は、上述した環境下で画像処理装置を選択しながら出力指令を行うことになるが、機器は、各種の機械・光学的機能、情報処理機能および消耗品を使用してその機能を提供することから、機械的機能・光学的機能・情報処理機能および消耗品の機能・残量状態によっては画像処理サービスの提供ができない状態となる場合がある。
【０００４】
従来、ネットワーク環境に接続されたプリンタの環境を設定することにより、ユーザのプリンタ設定時の労力を削減する技術が知られている。例えば、特開２００４−７４４５８号公報（特許文献１）では、プリントプロトコルなどを含むポートモニタの設定を可能とする機器、クライアント端末、記憶媒体が記載されている。特許文献１では、クライアント端末のオペレーティングシステム（以下、ＯＳとして参照する。）に合わせた印刷プロトコルのポートを自動または半自動で構築し、ポートモニタにより管理することで、機器設定を効率化することが可能とされている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、出力指令を受領しながら出力処理サービスを提供できない機器は、プリンタサーバ装置やクライアント装置に対してメッセージを発行し、現在出力サービスが提供できない状況であることや、その原因などを通知する。この様な通知を受領すると、クライアント装置のユーザは、ネットワーク上で利用可能な他の画像処理装置に出力先をマニュアルで変更し、再度出力を指令する。その際のマニュアル操作は、煩雑であり、ユーザによっては、どのように設定すれば良いかわからない場合もある。また、印刷不能の画像処理装置に宛ててクライアント装置からの出力指令とともに送付されたデジタルデータは、無駄になってしまうので作業効率の低下を招くことにもなる。なお、本明細書において、用語「印刷不能」とは、ハードウェアまたはファームウェア機能の障害、印刷用紙がない、トナー残量がないなどの消耗品的な不備、および対応可能なプリンタ制御コマンドをサポートしていないというアプリケーションレベルでの不備のいずれかにより、機器が印刷できないことを意味する。
【０００６】
したがって、クライアント装置のユーザがマニュアルで出力先を修正する手間を省き、また高付加価値の転送データを無駄にすることなく効率的な出力機能を提供することを可能とする、出力管理技術が提供されていた。また、近年のオフィス環境では、ＯＳの相違の他、異なるベンダの機器が混在して設置されているので、個々のプリンタドライバ層よりも、より上位層のアプリケーションを使用して、ネットワーク上に接続された機器の能力状態を予めモニタし、無駄となってしまう出力指令の発行を回避する機器管理を行うことが必要とされていた。
【０００７】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明は、画像処理装置などの機器の機械的・光学的・情報処理的な機能状態または消耗品状態を予めモニタして、最新の能力状態を更新し、最新の能力状態に最適な機器による出力を可能とすることで、ユーザオンデマンドで出力条件設定を可能としながら効率的な出力管理を可能とするネットワークプリントシステム、出力管理装置、出力管理方法、プログラムおよび記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では、出力管理装置は、ネットワークに接続されていて、ネットワーク接続された機器の設定を管理することにより、ネットワークプリンティングを可能とするネットワークプリントシステムを提供する。出力管理装置は、ネットワークに接続された画像処理装置の機械的・光学的・情報処理的または消耗品的な点からその機能状態を取得する。機器の状態取得は、SNMP(Simple Network Management Protocol)に基づき、PrinterMIBなどを利用して取得され、出力管理装置がネットワークに接続された機器に定期的にポーリングして問い合わせるか、または機器がTrapコマンドを利用して状態変化を出力管理装置に通知することにより行われる。また、本発明では、定期的なポーリングおよびTrapコマンドによる通知の両方を併用することで、最新の能力状態を取得することもできる。出力管理装置は、当該画像処理装置の状態に応答してクライアント装置が当該機器を代替することができる機器のポートモニタのデータで、障害発生した機器のポートモニタ情報を上書きする。なお、代替可能な機器は、印刷不能に陥った機器から見てロケーション的、機能的なアクセス性を有する機器として決定される。
【０００９】
出力管理装置は、クライアント装置が代替機のポートモニタ情報による上書き更新に失敗すると、当該クライアント装置に代替装置での印刷を可能とするためのポートモニタ情報を送付し、出力管理アプリケーションによる新規ポートモニタの登録を行う。また他の実施形態では、出力管理装置は、ドライバプログラムのインストーラを作成し、ポートモニタ情報とともにクライアントに送付して、代替機のドライバをインストールさせる。代替機への設定が変更されたクライアント装置は、更新された設定を以後のデフォルト設定として残すこともできるが、代替された画像処理装置の状態復旧に対応して代替前の機器のポートモニタ情報に戻すことにより、効率的な出力管理を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のネットワークプリントシステム１００の実施形態を示す。
【図２】本実施形態の出力管理装置１１０の機能ブロック図。
【図３】図２に示したクライアント装置管理部２１８のさらに詳細な機能ブロック図。
【図４】本実施形態で使用する機器情報テーブル４００の実施形態。
【図５】機器情報管理部２１８ｆが利用する状態コードリスト５００の実施形態。
【図６】本実施形態の代替機決定部２１８ｂが利用する代替リスト６００の実施形態。
【図７】本実施形態のクライアント装置の機能ブロックを、クライアント装置を例示とし用いて示した図。
【図８】本実施形態の出力管理方法のシーケンス図。
【図９】図８に示したシーケンスのステップＳ８の処理を開始させるための代替機決定部２１８ｂが利用する代替機検索条件データの実施形態。
【図１０】本実施形態の出力管理方法の他の実施形態のシーケンス図。
【図１１】ポートモニタ情報の変更に失敗した場合にポートモニタを追加する実施形態のシーケンス図。
【図１２】ポートモニタ情報の変更に失敗した場合にプリンタドライバのインストールにより代替可能とする実施形態のシーケンス図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施例を持って説明するが、本発明は後述する実施形態に限定して解釈されるものではない。図１は、本実施形態のネットワークプリントシステム１００の実施形態を示す。ネットワークプリントシステム１００は、出力管理装置１１０を接続し、さらに複数の機器１１２ａ、１１２ｂ、１２４ａ、１２４ｂが、ＬＡＮ(Local Area Network)１１６、１２６に接続している。さらにＬＡＮ１１６、１２６には、クライアント装置１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃが接続されていて、クライアント装置１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃは、機器１１２ａ、１１２ｂ、１２４ａ、１２４ｂに対してそれぞれ出力指令を、出力データとともに送付する。
【００１２】
ＬＡＮ１１６およびＬＡＮ１２６は、図示した実施形態では、レイヤ３ネットワーク機器として機能するルータ１１８により相互接続されていて、ＬＡＮ１１６およびＬＡＮ１２６を相互接続している。なお、ネットワークプリントシステム１００は、ルータ１１８の代わりにレイヤ２ネットワーク機器、いわゆるスイッチングハブで代替することができ、レイヤ２ネットワーク機器でＬＡＮ１１６およびＬＡＮ１２６を相互接続する場合、ＬＡＮ１１６およびＬＡＮ１２６は、仮想ＬＡＮ（ＶＬＡＮ）とすることができる。なお、図１に示した実施形態では、ＬＡＮドメインは、２つある実施形態として示しているが、さらに多数のＬＡＮドメインにわたるネットワークプリントシステム１００についても、類似の構成を利用することにより拡張可能である。
【００１３】
出力管理装置１１０は、パーソナルコンピュータ、ワークステーションまたは特定の利用形態に対応してサーバ装置として実装することができる。本実施形態の要旨には直接関連しないので詳細な説明は省略するが、出力管理装置１１０は、PENTIUM（登録商標）、PENTIUM（登録商標）DUAL CORE、CORE 2 DUO（登録商標）、i7（登録商標）、XEON（登録商標）、ATOM（登録商標）、PENTIUM（登録商標）互換チップなど、CISCアーキテクチャのマイクロプロセッサ、または、POWER  PC（登録商標）、MIPS（登録商標）などのRISCアーキテクチャのマイクロプロセッサを、シングルコアまたはマルチコアの形態で実装することができる。出力管理装置１１０は、そのOSとして、WINDOWS（登録商標）XP、WINDOWS VISTA（登録商標）、WINDOWS 7（登録商標）、WINDOWS（登録商標）SERVER 200X、UNIX（登録商標）、LINUX（登録商標）などを実装することができる。出力管理装置１１０は、C、C++、C#、JAVA（登録商標）、JAVA（登録商標）BEANS、PERL、RUBYなどのプログラミング言語を使用して実装されるアプリケーションプログラムを実行することができ、実装形式に応じて、CGI、サーブレット、APACHEなどのサーブレットを実行し、クライアント装置の管理を可能としている。
【００１４】
クライアント装置１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃは、またパーソナルコンピュータまたはワークステーションなどを使用して実装でき、プリント管理機能を搭載しない以外は、出力管理装置１１０と同様の構成とすることができる。また、クライアント装置１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃは、Windows Explorer（登録商標）、FireFox（登録商標）、Safari（登録商標）、Chrome（登録商標）といったブラウザプログラムを実装し、ネットワークアクセスを可能としている。
クライアント装置１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃは、ActiveXコントロール、特定の実施形態では、vb.net（登録商標）やJava Applet（登録商標）などのリモート制御が可能となっていてもよい。
【００１５】
機器１１２ａ、１１２ｂ、１２４ａ、１２４ｂは、コピー機能、スキャナ機能、ファクシミリ機能、ストレージ機能、ネットワーク接続機能などを含む多機能周辺機器(Multi-Function Peripheral)、コピー機、ファクシミリ装置、ページプリンタとして実装されており、ＬＡＮ１１６、ＬＡＮ１２６にネットワークインタフェースカード(NIC)を介してピア接続され、クライアント装置１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃの設定に対応して、出力サービスを提供する。なお、特定の実施形態および用途に応じて、図１に示したネットワークプリントシステム１００には、プリンタサーバ（図示せず）を接続し、プリンタサーバに対してプリントジョブの管理を委任するように実装することができる。プリンタサーバを採用する場合、出力管理装置１１０は、プリンタサーバが管理するポートモニタ情報の更新を、機器の状態変化に対応して実行する。
【００１６】
さらに、本実施形態のネットワーク環境を説明すると、ＬＡＮ１１６、ＬＡＮ１２６は、イーサネット（登録商標）として実装することができ、適宜、IEEE802.XXなどの規格のワイヤレスネットワーク、IrDA、Bluetoothなどのネットワークにより代替または置換して構成することができる。ネットワークプリントシステム１００は、TCP／IPプロトコルを利用してトランザクションを行って、FTP、HTTPなどの転送プロトコルによる他装置とのデータのトランザクションおよびインターネットを経由したサービスを受けている。
【００１７】
図２は、本実施形態の出力管理装置１１０の機能ブロック図である。出力管理装置１１０は、アプリケーション実行部２００と、出力管理処理部２１０、および各種インタフェースとして例示的に示したネットワークＩ／Ｆ２２０、ストレージＩ／Ｆ２３０を含んでいる。アプリケーション実行部２００は、出力管理アプリケーションやウェブアプリケーションといったプログラムを実行し、出力管理およびそのためのグラフィカルユーザインタフェース(GUI)を提供する。ウェブアプリケーションは、ネットワークを介してHTML、XMLなどの構造化文書、Java Script（登録商標）Java Applet（登録商標）などで記述されたプログラムをＬＡＮ１１６を介して送出し、クライアント装置１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃに対してウェブブラウザなどを介したGUI表示を提供する。なお、以下説明する各機能ブロックは、CPUが実行可能なプログラムを実行することによりコンピュータを当該機能手段として機能させることによりコンピュータ上に実現される。
【００１８】
出力管理処理部２１０は、プラグインプログラムなどとして実装することができ、状態管理処理部２１２、DBサーバ処理部２１４、ログサーバ処理部２１６およびクライアント装置管理部２１８を、その処理モジュールとして含んでいる。状態管理処理部２１２は、ＬＡＮ１１６などを介して取得した機器の能力状態を、SNMPプロトコルを使用し、例えば機器１１２ａ、１１２ｂ、１２４ａ、１２４ｂなどが開示しているMIBを参照して取得することができる。本実施形態では、用語「取得」とは、状態管理処理部２１２が能動的にポーリングする処理および機器の状態変化に対応して発行されるTrapメッセージを取得する処理のいずれかまたはその両方を含む処理を意味する。
【００１９】
DBサーバ処理部２１４は、出力管理処理に必要なデータを、データベースとして管理し、ネットワークアドレス、ポート番号、プリンタドライババージョン、制御言語などのポートモニタ情報、リソース情報、代替機検索条件データ機器の形成するドメイン情報などを管理している。ログサーバ処理部２１６は、ネットワークプリントシステム１００を介して送受信された印刷ジョブの履歴を管理し、事後的なネットワークプリントシステム１００の保守をサポートする。
DBサーバ処理部２１４およびログサーバ処理部２１６が生成した各データベースデータは、ATA、Serial ATA、Ultra ATAなどの規格のストレージI／Fを介してＨＤＤ装置といった記憶装置２４０に格納される。格納された各データは、読取／書込指令に対応し出力管理処理部２１０によりアクセスされる。なお、DBサーバ処理部２１４は、その他クライアント装置のポートモニタを遠隔的に制御するためのIPアドレス、MACアドレスといった情報も管理することができる。
【００２０】
クライアント装置管理部２１８は、状態管理処理部２１２が取得した機器の状態を参照し、当該機器が印刷不能の場合、当該機器を出力先として登録しているクライアント装置を検索し、検索されたクライアント装置がある場合、代替可能性を評価し、代替可能な場合、代替可能な機器を決定し、機器名称、ネットワークアドレスおよびプロトコル情報を取得し検索されたクライアント装置に送付する。当該クライアント装置は、受信したポートモニタ情報で印刷不能と判断された機器のポートモニタ情報を上書きする。
【００２１】
また、他の実施形態で、評価に基づいて上書き可能な他の機器がないと判断した場合、代替可能な機器のポートモニタ情報を取得し、新規ポートを生成するためのファイルを作成し、対象とされるクライアント装置に送付して、例えばWMIのAPI関数であるPrint Monitor Functionsクラスを利用してクライアント装置にとって新規プリンタポートを新設し、新規プリンタポートをデフォルト設定の機器として設定させる。
さらに他の実施形態では、評価に基づいて上書き可能な他の機器がないと判断した場合、出力管理装置１１０は、アクセス性を低下させない範囲でドライバプログラムおよびポートモニタ情報を用意し、クライアント装置に送付し、機器用のドライバプログラムをインストールし、新規プリンタポートをデフォルト設定の機器として設定させることもできる
【００２２】
図３は、図２に示したクライアント装置管理部２１８のさらに詳細な機能ブロック図である。クライアント装置管理部２１８は、状態監視部２１８ａ、代替機決定部２１８ｂおよびクライアント情報管理部２１８ｃを含んで構成されている。状態監視部２１８ａは、本実施形態ではSNMPマネージャの機能として実装され、ポーリングによりアクティブに状態を取得する場合には、「get-request」メッセージをタイマ起動するように実装することができる。また、パッシブに状態を取得する実施形態では、エージェントとして登録される機器からの「Trap」メッセージの受領を待機し、「Trap」メッセージが出力不可条件管理部２１８ｄが登録する印刷不可条件に適合した場合に、代替機決定部２１８ｂおよびクライアント情報管理部２１８ｃを呼出して代替装置を決定し、クライアント装置の設定に反映させる。
【００２３】
代替機決定部２１８ｂは、障害が発生した機器に代替できる機器を評価し、代替機を決定する。評価にあたっては、機器のプリンタドライバの共用性、リソースオプションおよび機器へのアクセス性を考慮する。このため、代替機決定部２１８ｂは、代替候補リストを管理し、代替リストに登録された機器の中から代替候補を評価し、代替候補を決定する。決定された機器のネットワークデータは、ポート情報設定部２１８ｅに送付され、障害を発生した機器を登録するクライアント装置に送付される。
【００２４】
さらに、クライアント装置管理部２１８は、出力不可条件管理部２１８ｄ、ポート情報設定部２１８ｅ、および機器情報管理部２１８ｆを含んでいる。出力不可条件管理部２１８ｄは、機器毎に異なる可能性のある出力不可コード（以下、エラーコードとして参照する。）を、ユーザ設定または出力管理装置１１０からの設定により、代替機検索条件テーブルの設定されたカラムに登録する。代替機検索条件テーブルの詳細については、代替機の評価・検索のシーケンスとともにより詳細に後述する。
【００２５】
また、ポート情報設定部２１８ｅは、例えばAPI関数である、Print Monitor Functionsクラスのメンバ関数を含んで構成され、クライアント装置に対して代替機の設定を可能とする処理を実行する。さらに機器情報管理部２１８ｆは、DBサーバ処理部２１４が管理する機器の現在の能力状態を登録する機器能力テーブルのエントリ項目の更新を行い、代替機決定部２１８ｂによる評価を可能とする。
【００２６】
クライアント装置管理部２１８は、その他、クライアント情報管理部２１８ｃを含んでいる。クライアント情報管理部２１８ｃは、ネットワークプリントシステム１００に接続するクライアント装置のネットワークアドレス、コンピュータ名、および当該クライアント装置が登録する機器の情報などを管理し、クライアント装置のネットワークプリントシステム１００への新規加入などに対応して、適宜情報を更新する。
【００２７】
出力不可条件管理部２１８ｄは、クライアント装置からオンデマンドで入力される出力不可条件を取得し、代替機決定部２１８ｂが管理する代替機検索条件テーブルにユーザの指定による出力不可条件を反映させる。
【００２８】
図４は、本実施形態で使用する機器情報テーブル４００の実施形態を示す。機器情報テーブル４００は、機器の最新の機能状態を反映するテーブルである。機器情報テーブル４００は、機器が公開するMIBなどを参照して出力管理装置１１０が定期的にポーリングして回収するか、または機器の状態変更に対応して適宜Trapコマンドなどまたはこれらのプロトコルを併用して使用し、出力管理装置１１０が取得することにより生成される。
上述した機器状態として、RFC1759で規定されるPrinter-MIBにおいては、prtAlertTrainig_LevelのMIBObject名が用意され、other, unknown, fieldService, trained, managementについては、サービスマンや機器管理者に依頼しなければならないエラーコードに対応する。本実施形態では、上述した共通するエラーコードを利用して代替機の評価・検索を実行することができる。
【００２９】
機器情報テーブル４００は、機器の状態を登録するカラム４１０と、当該機器の本体設定として当該状態における出力可否を登録するカラム４２０とを含む構成とされている。カラム４２０の状態は、機器の本体設定で指定された情報に基づいて更新される。なお、図４には、状態の理解を容易にするため、状態の内容を説明するカラム４３０が示されているが、カラム４３０のデータは、オプションであり、機器情報テーブル４００に必ずしも実装される必要はない。
【００３０】
また、ネットワークプリントシステム１００に接続される機器が例えば異なるベンダが提供する場合や、機器の機種が同系列ではない場合、例えば、MFPおよびページプリンタなどの場合などの場合も、近年のオフィス環境では充分に想定される。この様な場合、機器毎に同一の印刷能力状態であっても当該状態を示す状態コードが異なることが普通である。このため、機器情報管理部２１８ｆは、機器から回収した状態コードから、図４のカラム４１０に登録された状態に対応付けるための状態コードリストを管理する。
【００３１】
図５は、機器情報管理部２１８ｆが利用する状態コードリスト５００の実施形態を示す。状態コードリスト５００は、機器、例えばモデルＡ〜モデル##まで、ネットワークプリントシステム１００に接続された機器に対応するサブリストを含んだ構成とされていて、DBサーバ処理部２１４によって管理することができる。機器情報管理部２１８ｆは、各機器から取得した状態コード、より具体的にはエラーコードを対応するサブリストを参照して状態コードに対応する当該機器の機器状態にデコードし、機器情報テーブル４００の更新を行う。なお、図５に示した状態コードリスト５００は、機器のMIBなどとして公開しておくことができる。また、他の実施形態では、プリンタドライバの環境データとして追加しておき、クライアント装置からのデータ送付により、出力管理装置１１０に予め蓄積させることができる。
【００３２】
図６は、本実施形態の代替機決定部２１８ｂが利用する代替リスト６００の実施形態を示す。図６に示した実施形態では、代替リスト６００は、オフィス内における機器の空間的近接度に基づいてドメインを割り当て、当該ドメイン毎に代替評価の対象とする機器を集約したサブテーブル６１０、６２０、６３０などとして構成することができる。ドメインの設定は、出力を指令したユーザのアクセス性を、本来のネットワークにプリンタへのアクセス性と比較して過度に低下させることがないように、例えばネットワーク管理者が設定することもできるし、VLANをアクセス性を考慮して設定する場合、ドメインを特定のVLAN単位で設定することができる。また、ネットワークプリントシステム１００がアドホック型のワイヤレスネットワークを含む場合、同一のアクセスポイントによって管理される機器の単位をドメインとして割り当てることもできる。VLANまたはアクセスポイント単位でドメインを割り当てる場合、アドレステーブルを使用して代替リスト６００を自動構成することができる。
【００３３】
また、例えばサブテーブル６１０には、機器毎にそのプリンタドライバを指定するドライバ識別値、制御言語などのリソース情報を登録するリソースInfoカラムが対応付けられている。リソースInfoカラムは、代替機を選択する場合、クライアント装置からRAWまたはEMFなどのフォーマットとして送付されるプリントデータを処理可能か否かを評価して、互換性のある代替機を決定するために利用される。なお、リソースInfoとしては、図６に示した以外にも例えば、ソータ、ステープラ、丁合機能などのオプション機能の情報を追加することができる。
【００３４】
図７は、本実施形態のクライアント装置の機能ブロックを、クライアント装置１１４ａを例示とし用いて示した図である。クライアント装置１１４ａは、ネットワークインタフェース１１２ａ−１、OSシステム１１２ａ−２、アプリケーション１１２ａ−３、API(Application Program Interface)１１２ａ−４、およびプリンタドライバ１１２ａ−５を含んだ構成とされている。
【００３５】
ＯＳシステム１１２ａ−２は、OSモジュール１１２ａ−６と、ポートモニタモジュール１１２ａ−７とを含んでいて、各種アプリケーションの実行管理、例外処理対応などを行っている。ポートモニタモジュール１１２ａ−７は、プリンタドライバ１１２ａ−５が生成したRAWデータまたはEMFデータといったプリントデータを受領し、好ましい実施形態では、TCP／IPプロトコルを使用して宛先となる機器に受領したプリントデータを送付して印刷出力を実行させている。
【００３６】
以下、アプリケーションにより作成されたドキュメントを機器に出力させる際に、クライアント装置１１４ａが実行する処理を説明する。アプリケーション１１２ａ−３は、例えば、ワードプロセッサ、グラフィックス、メール、ファクシミリ、表計算、プリント管理アプリケーション、ウェブブラウジングなどの処理を実行し、出力するべきドキュメントをクライアント装置１１４ａの適切な記憶領域に生成する。なお、プリント管理アプリケーションは、本実施形態により実装されるアプリケーションであり、出力管理装置１１０から送付されるポート情報を受領して、API１１２ａ−４の特定のモジュールを介して当該ポート情報で対応する機器の情報を書き換えさせる他、ユーティリティを向上させるためのGUIを提供する。クライアント装置１１４ａのユーザが、アプリケーションからドキュメントの印刷を指令すると、API１１２ａ−４を介してドキュメントがプリンタドライバに渡され、プリンタドライバ１１２ａ−５によるプリントデータの作成が実行される。本実施形態では、API１１２ａ−４としては例示的にGDI(Graphics Device Interface)、WMI、WIN32API関数などを挙げることができ、グラフィックス変換およびPrint Monitor関数を使用してポートモニタモジュールの設定内容の修正などを可能とする。
【００３７】
例えば、WMIの場合には、アプリケーション１１２ａ−３などからAPI１１２ａ−４（WMIなど）経由でポートモニタに対する設定変更を指令することができる。また、vb.netなどを利用することにより、リモート（ネットワーク越し）に遠隔的に設置された適切なクライアント装置のポートモニタ情報の設定変更ができる。例えば、出力管理装置１１０からクライアント装置１１４ａにアクセスし、設定を変更するポートモニタ情報をWMI利用して修正する。説明する当該実施形態では、ＯＳモジュール自身がＣＯＭポートを介してクライアント装置１１４ａにデータ通信およびコマンド通信を行い、設定変更が行われる。
【００３８】
プリンタドライバ１１２ａ−５に送付されたドキュメントは、プリントプロセッサ／スプーラを利用する反復処理によってＲＡＷデータに変換され、さらにPDLといったプリンタ制御言語が追加されて順次ポートモニタモジュール１１２ａ−７に送付される。ポートモニタモジュール１１２ａ−７は、プリントデータの宛先となる機器のIPアドレスにプリントデータをネットワーク（LAN）を経由して送付し、機器による印刷を開始させている。
【００３９】
図８は、本実施形態の出力管理方法のシーケンス図を示す。図８に示したシーケンスでは、機器情報を問い合わせるポーリング処理が起動され、出力管理装置１１０が、ステップＳ１で記憶装置２４０から機器情報を読み込み、ステップＳ２で読み込んだ機器情報により特定される機器に対してその機器状態を問い合わせる。ステップＳ３で問い合わせた機器からの応答として機器状態を取得する。ステップＳ２の問い合わせは、各種のプロトコルを使用して実装することができ、例えば、SNMPを利用する場合であれば、get requestを利用して実装することができ、またステップＳ３の取得は、get responseを利用して実装することができる。
【００４０】
ステップＳ４では、出力管理装置１１０は、問い合わせに対応する機器から取得した機器状態で、当該機器に対応付けて格納されている機器状態を更新する。出力管理装置１１０は、さらに管理するべき機器（機器）が存在するか否かを判断し、問い合わせするべき機器がある場合、再度ステップＳ１からＳ４の処理を実行し、管理するべき機器全部について問い合わせを実行したと判断した場合、ステップＳ５で記憶装置２４０から出力不能状態の機器情報を読み込む。
【００４１】
出力管理装置１１０は、ステップＳ６で印刷不能状態の機器を登録するクライアント装置を調査するために、ポートモニタ情報を要求し、ステップＳ７で、ポートモニタ情報を収集する。問い合わせを行ったクライアント装置が当該機器を指定していない場合（ｎｏ）、再度処理をステップＳ６に処理を戻し、次のクライアント装置からのポートモニタ情報を取得し、ネットワークプリントシステム１００に参加しているクライアント装置全体にわたり、印刷不能となった機器を設定するクライアント装置を抽出する。
【００４２】
一方、ステップＳ７で取得したポートモニタ情報が印刷不能となった機器を含む場合、出力管理装置１１０は、ステップＳ８で代替器を評価して検索を実行する。評価の結果、代替機が見出された場合、ステップＳ９で代替機情報を取得し、ステップＳ１０で代替機のポートモニタ情報を、クライアント装置に送付し、対応する機器のポートモニタ情報を変更する。なお、ステップＳ９で代替機が見出されなかった場合の処理については後述する。
【００４３】
ステップＳ１０でのポートモニタ情報の変更は、クライアント装置が代替機情報を受領し、出力管理アプリケーションが例えばPrint Monitor Function APIを呼び出し、代替機情報で印刷不能となった機器のポートモニタ情報を上書きすることにより行うことができる。この際、後の時点で印刷不能となった機器の再度の利用を可能とするため、オリジナルのポートモニタ情報をバッファメモリなどに退避させておくことができる。上書きされたポートモニタ情報は、出力管理装置１１０が後の時点で対応する機器が印刷不能から復帰したことを検出した場合にバッファメモリから読み出され、本来のポートモニタ情報で書き換えることができる。また、ステップＳ１０の指令は、ステップＳ６、Ｓ７で取得されたクライアント装置に対しユニキャストを使用して個別的に送付することができるが、処理の高速化・効率化のため、マルチキャストによって発行することが好ましい。
【００４４】
図９は、図８に示したシーケンスのステップＳ８の処理を開始させるための代替機決定部２１８ｂが利用する代替機検索条件データの実施形態を示す。代替機検索条件データは、ネットワークに接続された機器に対して共通して適用できる出力可否条件に基づいて検索を行うために利用することができる。図９では、図４に示した機器情報テーブル４００に対して、機器から取得した状態コードを登録するカラム９２０および出力不可条件管理部２１８ｄがユーザから取得したオプション情報を登録するカラム９４０が追加されている。機器情報テーブル４００には、また本体のデフォルト設定として登録された出力可否設定を登録するカラム９３０が含まれており、機器状態または状態コードのいずれからでも検索が可能とされている。
【００４５】
ステップＳ８の処理は、図９に示したカラム９２０の設定とカラム９３０の論理積を計算し、論理積が結果「×」を与える場合に開始される。例えば、図９で、機器状態が「トレイ１に紙がない」の場合、本体設定の印刷可否は、「○」であるが、説明するユーザは、その場合に印刷不可として代替機を検索させるように「×」を設定している。この結果、「トレイ１に紙がない」の機器状態の場合、「×」の結果が生成されるので、代替機の検索処理が開始される。なお、ユーザによるプリンタ変更設定の欄がnullである場合、本体設定にしたがって代替機の検索が実行される。
【００４６】
代替機の検索は、図８のステップＳ８において、図６に示す印刷不可状態の機器が帰属されるドメインが含む機器のリソースInfoを比較し、機器の互換性を、プリンタドライバ識別値、制御言語、オプション機能などをこの順のウェイト付けで判断して評価を行う。代替機の最終的な決定は、プリンタドライバの一致、制御言語の一致、オプション機能などの一致について適切なスコアを与え、スコアが最大となる機器として決定することができるし、他の実施形態では、プリンタドライバの同一性だけで決定することもできる。
【００４７】
図１０には、本実施形態の出力管理方法の他の実施形態のシーケンス図を示す。図１０に示した実施形態は、出力管理装置１１０が定期的のポーリングすることによって機器状態情報を取得するのではなく、機器が、その状態の変更に対応してSNMPプロトコルのTrapコマンドにより出力管理装置１１０に状態変更を通知する実施形態に対応する。図１０に示したシーケンスは、機器情報の取得を出力管理装置１１０がパッシブに受取ることを除き、図８で説明したシーケンスと同様の処理を使用して代替機のポートモニタ情報で書き換える処理を実行するので、ステップＳ２１以下の処理については詳細な説明を省略する。
【００４８】
なお、本発明のさらに他の実施形態では、出力管理装置１１０による定期的なポーリングに加え、機器からのTrapコマンドによる適時的な更新を組み合わせてより高精度に機器情報を取得してもよい。
【００４９】
図１１および図１２は、図８で説明した出力管理装置１１０がアクティブにポーリングする実施形態において、それぞれポートモニタ情報の変更に失敗した場合にポートモニタを新規追加する場合の実施形態およびプリンタドライバのインストールにより代替可能とする実施形態のシーケンス図である。
【００５０】
図１１では、出力管理装置１１０がステップＳ５０で変更不成功通知を受領すると、出力管理装置１１０は、クライアント装置に対して代替機のポートモニタ情報とともにポートモニタの追加を指令する。クライアント装置は、当該指令を受領すると、プリント管理アプリケーションを介して、プリントモニタAPIを呼び出し、例えば、AddPort Functionを使用して、受領したポートモニタ情報を使用して新規ポートを追加する。
【００５１】
本実施例では、プリントモニタAPI、例えばWIN32_Printerクラスなどを利用し、新規に設定したポートに割り当てた機器がデフォルト設定の機器となるように設定することにより、ユーザがスムースなプリント指令を行うことができる。なお、この際、クライアント装置に実装されるプリント管理アプリケーションは、出力先の機器が障害により変更されたことを通知するGUI(Graphical User Interface)を表示し、同時に出力先の機器のオフィス内での位置を示すマップなどを表示させることで、印刷物へのアクセス性を向上させることができる。
【００５２】
図１２に示したシーケンス図は、プリンタドライバ自体をインストールする処理を追加する実施形態である。図１２に示すシーケンスでは、ステップＳ７０で変更不成功通知を受領すると、当該クライアント装置に対してインストールするべきポートモニタ情報をコピーし、ステップＳ７１で、実行形式（DLL:Dynamic Link Linrary）などの形式のプリンタドライバプログラム、ポートモニタ情報、およびインストール指令をクライアント装置に送付する。
【００５３】
クライアント装置は、当該インストール指令をインストールのために必要なデータを受領すると、プリント管理アプリケーションを呼び出し、API関数のうち、例えばAddPrinter関数などを呼び出してクライアント装置に対するプリンタのインストールを実行する。なお、この場合にも、WIN32_Printerクラスなどの利用して新規にインストールしたプリンタをデフォルト設定のプリンタとして切り換える処理を採用してもよく、またプリンタを切り換えたことを通知するGUIを提供してもよいことは、図１１で説明した実施形態と同様である。
【００５４】
本実施形態の上記機能は、C++、Java（登録商標）、Java Applet（登録商標）、Java（登録商標）Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、プログラムは、ハードディスク装置、CD-ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【００５５】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００５６】
１００…ネットワークプリントシステム、１１０…出力管理装置、１１２ａ、１１２ｂ、１２４ａ〜１２４ｃ…ネットワークプリンタ、１１４ａ〜１１４ｄ、１２２ａ〜１２２ｃ…クライアント装置、１１６…ＬＡＮ、１１８…ルータ、１２６…ＬＡＮ、２００…アプリケーション実行部、２１０…出力管理処理部、２１２…状態管理処理部、２１４…DBサーバ処理部、２１６…ログサーバ処理部、２１８…クライアント装置管理部、２１８ａ…状態監視部、２１８ｂ…代替機決定部、２１８ｃ…クライアント情報管理部、２１８ｄ…出力不可条件管理部、２１８ｅ…ポート情報設定部、２１８ｆ…機器情報管理部、２４０…記憶装置、４００…機器情報テーブル、４１０、４２０、４３０…カラム、５００…状態コードリスト、６００…代替リスト、６１０、６２０、６３０…サブテーブル、９１０、９２０、９３０、９４０…カラム
【先行技術文献】
【特許文献】
【００５７】
【特許文献１】特開２００４−７４４５８号公報
【図１】
2011170412.tif 000003
【図２】
2011170412.tif 000004
【図３】
2011170412.tif 000005
【図４】
2011170412.tif 000006
【図５】
2011170412.tif 000007
【図６】
2011170412.tif 000008
【図７】
2011170412.tif 000009
【図８】
2011170412.tif 000010
【図９】
2011170412.tif 000011
【図１０】
2011170412.tif 000012
【図１１】
2011170412.tif 000013
【図１２】
2011170412.tif 000014