(57)【要約】      （修正有）【課題】外部のサービス、付加的なハードウェア、および特殊なプリンタドライバに依存しないネットワーククラスタ印刷を提供する。【解決手段】クラスタエージェントはクラスタの各プリンタにインストールされ、一態様において、仮想ネットワークアドレスで構成されたマスタプリンタで印刷ジョブを受信するステップを含むように構成されている。マスタプリンタは、どのプリンタにその印刷ジョブを送信すべきかを決定し、その決定に基づき適当なプリンタにその印刷ジョブを送信する。実施形態において、その決定は、プリンタに関する属性情報に基づく。属性情報はマスタプリンタにより維持される。さらに、仮想ネットワークアドレスではなく、特定のプリンタに関連するリアルネットワークアドレスに宛てられた印刷ジョブは、該特定のプリンタにより処理され、印刷される。【選択図】図３
2006031283.tif 000002
【特許請求の範囲】
【請求項１】
同一の仮想ネットワークアドレスで構成された複数の印刷装置のうち第１の印刷装置で、前記仮想ネットワークアドレスに宛てた印刷ジョブ要求を受信するステップと、
前記第１の印刷装置により、前記印刷ジョブ要求を前記複数の印刷装置のうちの一の印刷装置に送信するステップと
を含む、印刷する方法。
【請求項２】
請求項１に記載の方法であって、
前記第１の印刷装置により前記印刷ジョブ要求が送信される前記一の印刷装置を決定するステップをさらに含む方法。
【請求項３】
請求項２に記載の方法であって、
前記決定するステップは、前記複数の印刷装置の一以上の印刷装置に関連する属性情報に基づく方法。
【請求項４】
請求項１に記載の方法であって、
前記第１の印刷装置において、前記複数の印刷装置の一以上の印刷装置に関連する属性情報を維持するステップをさらに含む方法。
【請求項５】
請求項１に記載の方法であって、
前記第１の印刷装置において、前記複数の印刷装置のうちの前記第１の印刷装置のみに関連するネットワークアドレスであって前記仮想ネットワークアドレスとは異なるアドレスに宛てられた、第２の印刷ジョブ要求を受信するステップと、
前記第２の印刷ジョブ要求を処理するステップと
をさらに含む方法。
【請求項６】
請求項１に記載の方法であって、
前記仮想アドレスにある前記第１の印刷装置により、前記複数の印刷装置のうち一の印刷装置の登録を受信するステップを含む方法。
【請求項７】
請求項６に記載の方法であって、
前記登録は前記一の印刷装置に関連する属性情報を含み、
前記方法は、前記複数の印刷装置のうち一以上の印刷装置に前記属性情報をブロードキャストするステップをさらに含み、前記属性情報は前記一以上の印刷装置に記憶される方法。
【請求項８】
請求項１に記載の方法であって、
前記一の印刷装置は前記第１の印刷装置である方法。
【請求項９】
請求項１に記載の方法であって、
前記複数の印刷装置のうち一の印刷装置によって、前記仮想ネットワークアドレスに信号を送信するステップと、
前記信号がアクノレッジされたとき、前記一の印刷装置がスレーブ印刷装置としての役割を引き受けるステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記複数の印刷装置の一以上の印刷装置がアクティブのとき、前記複数の印刷装置のうちいずれが前記第１の印刷装置の役割を引き受けるかを決定するため、前記一以上の印刷装置とネゴシエートするステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記複数の印刷装置のうち他の印刷装置がどれもアクティブでないとき、前記マスタ印刷装置としての役割を引き受けるステップと
をさらに含む方法。
【請求項１０】
請求項９に記載の方法であって、
前記ネゴシエーションに基づき、前記一の印刷装置が前記第１の印刷装置としての役割を引き受けるステップをさらに含む方法。
【請求項１１】
２以上の印刷装置のネットワークを管理する方法であって、
前記印刷装置のネットワークの一の印刷装置が、前記印刷装置のネットワークに関連する仮想ネットワークアドレスに信号を送信するステップと、
前記信号がアクノレッジされたとき、前記一の印刷装置がスレーブ印刷装置としての役割を引き受けるステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記印刷装置のネットワークの一以上の印刷装置がアクティブのとき、前記複数の印刷装置のうちいずれがマスタ印刷装置の役割を引き受けるかを決定するため、前記一以上の印刷装置とネゴシエーションするステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記印刷装置のネットワークのうち他の印刷装置がどれもアクティブでないとき、前記マスタ印刷装置としての役割を引き受けるステップと
をさらに含む方法。
【請求項１２】
請求項１１に記載の方法であって、前記一の印刷装置がスレーブ印刷装置としての役割を引き受けるとき、前記マスタ印刷装置を登録するステップをさらに含む方法。
【請求項１３】
請求項１２に記載の方法であって、
前記登録は前記一の印刷装置に関連する属性情報の登録を含み、
前記方法は、前記マスタ印刷装置により、前記印刷装置のネットワークの一以上の印刷装置に前記属性をブロードキャストするステップをさらに含む方法。
【請求項１４】
請求項１２に記載の方法であって、
前記一の印刷装置において、前記印刷装置のネットワークの前記一の印刷装置のみに関連するネットワークアドレスに宛てられた印刷ジョブ要求を受信するステップと、
前記一の印刷装置において、前記印刷ジョブ要求を処理するステップと
をさらに含む方法。
【請求項１５】
請求項１１に記載の方法であって、
前記一の印刷装置が前記マスタ印刷装置の役割を引き受けると決定したとき、前記一の印刷装置が前記仮想ネットワークアドレスを前記一の印刷装置のネットワークインターフェイスに結合するステップをさらに含む方法。
【請求項１６】
請求項１５に記載の方法であって、
前記一の印刷装置において、前記印刷装置のネットワークの前記一の印刷装置のみに関連するネットワークアドレスに宛てられた第１の印刷ジョブ要求を受信するステップと、
前記一の印刷装置において、前記第１の印刷ジョブ要求を処理するステップと
をさらに含む方法。
【請求項１７】
請求項１６に記載の方法であって、
前記一の印刷装置において、前記仮想ネットワークアドレスに宛てられた第２の印刷ジョブ要求を受信するステップと、
前記一の印刷装置が、前記印刷装置のネットワークのいずれの印刷装置にも前記第２の印刷ジョブ要求を送信するステップと
をさらに含む方法。
【請求項１８】
請求項１５に記載の方法であって、
前記一の印刷装置において、前記仮想ネットワークアドレスに当てられた印刷ジョブ要求を受信するステップと、
前記一の印刷装置が、前記印刷装置のネットワークのうち一の印刷装置に前記印刷ジョブ要求を送信するステップと
をさらに含む方法。
【請求項１９】
請求項１８に記載の方法であって、
前記一の印刷装置が、前記印刷ジョブ要求が送信された前記一の印刷装置を決定するステップをさらに含む方法。
【請求項２０】
請求項１１に記載の方法であって、
前記マスタ印刷装置が、前記マスタ印刷装置のネットワークインターフェイスに前記仮想ネットワークアドレスを結合するステップをさらに含む方法。
【請求項２１】
印刷命令の一以上のシーケンスを格納するコンピュータ読み取り可能な媒体であって、一以上のプロセッサにより前記印刷命令の一以上のシーケンスを実行することにより、前記一以上のプロセッサは：
同一の仮想ネットワークアドレスで構成された複数の印刷装置のうち第１の印刷装置で、前記仮想ネットワークアドレスに宛てた印刷ジョブ要求を受信するステップと、
前記第１の印刷装置により、前記印刷ジョブ要求を前記複数の印刷装置のうちの一の印刷装置に送信するステップと
を実行する、媒体。
【請求項２２】
請求項２１に記載のコンピュータ読み取り可能な媒体であって、
前記命令は前記プロセッサに、前記第１の印刷装置により前記印刷ジョブ要求が送信される前記一の印刷装置を決定するステップを実行させる媒体。
【請求項２３】
請求項２２に記載のコンピュータ読み取り可能な媒体であって、
前記決定するステップは、前記複数の印刷装置の一以上の印刷装置に関連する属性情報に基づく媒体。
【請求項２４】
請求項２１に記載のコンピュータ読み取り可能な媒体であって、
前記命令は前記プロセッサに、前記第１の印刷装置において、前記複数の印刷装置の一以上の印刷装置に関連する属性情報を維持するステップを実行させる媒体。
【請求項２５】
請求項２１に記載のコンピュータ読み取り可能な媒体であって、
前記命令は前記プロセッサに、前記第１の印刷装置において、前記複数の印刷装置のうちの前記第１の印刷装置のみに関連するネットワークアドレスであって前記仮想ネットワークアドレスとは異なるアドレスに宛てられた、第２の印刷ジョブ要求を受信するステップと、
前記第２の印刷ジョブ要求を処理するステップと
を実行させる媒体。
【請求項２６】
請求項２１に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記仮想アドレスにある前記第１の印刷装置により、前記複数の印刷装置のうち一の印刷装置の登録を受信するステップを実行させる媒体。
【請求項２７】
請求項２６に記載のコンピュータ読み取り可能な媒体であって、
前記登録は前記一の印刷装置に関連する属性情報を含み、
前記命令は前記プロセッサに、前記複数の印刷装置のうち一以上の印刷装置に前記属性情報をブロードキャストするステップを実行させ、前記属性情報は前記一以上の印刷装置に記憶される媒体。
【請求項２８】
請求項２１に記載のコンピュータ読み取り可能な媒体であって、
前記一の印刷装置は前記第１の印刷装置である媒体。
【請求項２９】
請求項１に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記複数の印刷装置のうち一の印刷装置によって、前記仮想ネットワークアドレスに信号を送信するステップと、
前記信号がアクノレッジされたとき、前記一の印刷装置がスレーブ印刷装置としての役割を引き受けるステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記複数の印刷装置の一以上の印刷装置がアクティブのとき、前記複数の印刷装置のうちいずれが前記第１の印刷装置の役割を引き受けるかを決定するため、前記一以上の印刷装置とネゴシエートするステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記複数の印刷装置のうち他の印刷装置がどれもアクティブでないとき、前記マスタ印刷装置としての役割を引き受けるステップと
を実行させる媒体。
【請求項３０】
請求項２９に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記ネゴシエーションに基づき、前記一の印刷装置が前記第１の印刷装置としての役割を引き受けるステップを実行させる媒体。
【請求項３１】
２以上の印刷装置のネットワークを管理する命令の一以上のシーケンスを格納するコンピュータ読み取り可能な媒体であって、一以上のプロセッサにより前記一以上のシーケンスを実行することにより前記一以上のプロセッサに、
前記印刷装置のネットワークの一の印刷装置が、前記印刷装置のネットワークに関連する仮想ネットワークアドレスに信号を送信するステップと、
前記信号がアクノレッジされたとき、前記一の印刷装置がスレーブ印刷装置としての役割を引き受けるステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記印刷装置のネットワークの一以上の印刷装置がアクティブのとき、前記複数の印刷装置のうちいずれがマスタ印刷装置の役割を引き受けるかを決定するため、前記一以上の印刷装置とネゴシエーションするステップと、
前記信号がアクノレッジされず、前記ネットワークにおいて前記印刷装置のネットワークのうち他の印刷装置がどれもアクティブでないとき、前記マスタ印刷装置としての役割を引き受けるステップと
を実行させる媒体。
【請求項３２】
請求項３１に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、前記一の印刷装置がスレーブ印刷装置としての役割を引き受けるとき、前記マスタ印刷装置を登録するステップを実行させる媒体。
【請求項３３】
請求項３２に記載のコンピュータ読み取り可能な媒体であって、
前記登録は前記一の印刷装置に関連する属性情報の登録を含み、
前記命令は前記プロセッサに、前記マスタ印刷装置により、前記印刷装置のネットワークの一以上の印刷装置に前記属性をブロードキャストするステップを実行させる媒体。
【請求項３４】
請求項３２に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記一の印刷装置において、前記印刷装置のネットワークの前記一の印刷装置のみに関連するネットワークアドレスに宛てられた印刷ジョブ要求を受信するステップと、
前記一の印刷装置において、前記印刷ジョブ要求を処理するステップと
を実行させる媒体。
【請求項３５】
請求項３１に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記一の印刷装置が前記マスタ印刷装置の役割を引き受けると決定したとき、前記一の印刷装置が前記仮想ネットワークアドレスを前記一の印刷装置のネットワークインターフェイスに結合するステップを実行させる媒体。
【請求項３６】
請求項３５に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記一の印刷装置において、前記印刷装置のネットワークの前記一の印刷装置のみに関連するネットワークアドレスに宛てられた第１の印刷ジョブ要求を受信するステップと、
前記一の印刷装置において、前記第１の印刷ジョブ要求を処理するステップと
を実行させる媒体。
【請求項３７】
請求項３６に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記一の印刷装置において、前記仮想ネットワークアドレスに宛てられた第２の印刷ジョブ要求を受信するステップと、
前記一の印刷装置が、前記印刷装置のネットワークのいずれの印刷装置にも前記第２の印刷ジョブ要求を送信するステップと
を実行させる媒体。
【請求項３８】
請求項３５に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記一の印刷装置において、前記仮想ネットワークアドレスに当てられた印刷ジョブ要求を受信するステップと、
前記一の印刷装置が、前記印刷装置のネットワークのうち一の印刷装置に前記印刷ジョブ要求を送信するステップと
を実行させる媒体。
【請求項３９】
請求項３８に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記一の印刷装置が、前記印刷ジョブ要求が送信された前記一の印刷装置を決定するステップを実行させる媒体。
【請求項４０】
請求項３１に記載のコンピュータ読み取り可能な媒体であって、前記命令は前記プロセッサに、
前記マスタ印刷装置が、前記マスタ印刷装置のネットワークインターフェイスに前記仮想ネットワークアドレスを結合するステップを実行させる媒体。
【請求項４１】
同一の仮想ネットワークアドレスで構成された複数の印刷装置のうち第１の印刷装置で、前記仮想ネットワークアドレスに宛てた印刷ジョブ要求を受信する手段と、
前記第１の印刷装置により、前記印刷ジョブ要求を前記複数の印刷装置のうちの一の印刷装置に送信する手段と
を備えた印刷システム。
【請求項４２】
請求項４１に記載の印刷システムであって、
前記第１の印刷装置により前記印刷ジョブ要求が送信される前記一の印刷装置を決定する手段をさらに備えたシステム。
【請求項４３】
請求項４２に記載の印刷システムであって、
前記決定する手段は、前記複数の印刷装置の一以上の印刷装置に関連する属性情報に基づき決定するシステム。
【請求項４４】
請求項４１に記載の印刷システムであって、
前記第４１の印刷装置において、前記複数の印刷装置の一以上の印刷装置に関連する属性情報を維持する手段をさらに備えたシステム。
【請求項４５】
請求項４１に記載の印刷システムであって、
前記第１の印刷装置において、前記複数の印刷装置のうちの前記第１の印刷装置のみに関連するネットワークアドレスであって前記仮想ネットワークアドレスとは異なるアドレスに宛てられた、第２の印刷ジョブ要求を受信する手段と、
前記第２の印刷ジョブ要求を処理する手段と
をさらに備えたシステム。
【請求項４６】
請求項４１に記載の印刷システムであって、
前記仮想アドレスにある前記第１の印刷装置により、前記複数の印刷装置のうち一の印刷装置の登録を受信する手段をさらに備えたシステム。
【請求項４７】
請求項４６に記載の印刷システムであって、
前記登録は前記一の印刷装置に関連する属性情報を含み、
前記システムは、前記複数の印刷装置のうち一以上の印刷装置に前記属性情報をブロードキャストする手段をさらに備え、前記属性情報は前記一以上の印刷装置に記憶されるシステム。
【請求項４８】
請求項４１に記載の印刷システムであって、
前記一の印刷装置は前記第１の印刷装置であるシステム。
【請求項４９】
請求項４１に記載の印刷システムであって、
前記複数の印刷装置のうち一の印刷装置によって、前記仮想ネットワークアドレスに信号を送信する手段と、
前記信号がアクノレッジされたとき、前記一の印刷装置がスレーブ印刷装置としての役割を引き受ける手段と、
前記信号がアクノレッジされず、前記ネットワークにおいて前記複数の印刷装置の一以上の印刷装置がアクティブのとき、前記複数の印刷装置のうちいずれが前記第１の印刷装置の役割を引き受けるかを決定するため、前記一以上の印刷装置とネゴシエートする手段と、
前記信号がアクノレッジされず、前記ネットワークにおいて前記複数の印刷装置のうち他の印刷装置がどれもアクティブでないとき、前記マスタ印刷装置としての役割を引き受ける手段と
を備えたシステム。
【請求項５０】
請求項４９に記載の印刷システムであって、
前記ネゴシエーションに基づき、前記一の印刷装置が前記第１の印刷装置としての役割を引き受ける手段をさらに含むシステム。
【請求項５１】
２以上の印刷装置のネットワークを管理する印刷システムであって、
前記印刷装置のネットワークの一の印刷装置が、前記印刷装置のネットワークに関連する仮想ネットワークアドレスに信号を送信する手段と、
前記信号がアクノレッジされたとき、前記一の印刷装置がスレーブ印刷装置としての役割を引き受ける手段と、
前記信号がアクノレッジされず、前記ネットワークにおいて前記印刷装置のネットワークの一以上の印刷装置がアクティブのとき、前記複数の印刷装置のうちいずれがマスタ印刷装置の役割を引き受けるかを決定するため、前記一以上の印刷装置とネゴシエーションする手段と、
前記信号がアクノレッジされず、前記ネットワークにおいて前記印刷装置のネットワークのうち他の印刷装置がどれもアクティブでないとき、前記マスタ印刷装置としての役割を引き受ける手段と
を備えたシステム。
【請求項５２】
請求項５１に記載の印刷システムであって、前記一の印刷装置がスレーブ印刷装置としての役割を引き受けるとき、前記マスタ印刷装置を登録する手段をさらに備えたシステム。
【請求項５３】
請求項５２に記載の印刷システムであって、
前記登録は前記一の印刷装置に関連する属性情報の登録を含み、
前記印刷システムは、前記マスタ印刷装置により、前記印刷装置のネットワークの一以上の印刷装置に前記属性をブロードキャストする手段をさらに含むシステム。
【請求項５４】
請求項５２に記載の印刷システムであって、
前記一の印刷装置において、前記印刷装置のネットワークの前記一の印刷装置のみに関連するネットワークアドレスに宛てられた印刷ジョブ要求を受信する手段と、
前記一の印刷装置において、前記印刷ジョブ要求を処理する手段と
をさらに含むシステム。
【請求項５５】
請求項５１に記載の印刷システムであって、
前記一の印刷装置が前記マスタ印刷装置の役割を引き受けると決定したとき、前記一の印刷装置が前記仮想ネットワークアドレスを前記一の印刷装置のネットワークインターフェイスに結合する手段をさらに備えたシステム。
【請求項５６】
請求項５５に記載の印刷システムであって、
前記一の印刷装置において、前記印刷装置のネットワークの前記一の印刷装置のみに関連するネットワークアドレスに宛てられた第１の印刷ジョブ要求を受信する手段と、
前記一の印刷装置において、前記第１の印刷ジョブ要求を処理する手段と
をさらに含むシステム。
【請求項５７】
請求項５６に記載の印刷システムであって、
前記一の印刷装置において、前記仮想ネットワークアドレスに宛てられた第２の印刷ジョブ要求を受信する手段と、
前記一の印刷装置が、前記印刷装置のネットワークのいずれの印刷装置にも前記第２の印刷ジョブ要求を送信する手段と
をさらに備えたシステム。
【請求項５８】
請求項５５に記載の印刷システムであって、
前記一の印刷装置において、前記仮想ネットワークアドレスに当てられた印刷ジョブ要求を受信する手段と、
前記一の印刷装置が、前記印刷装置のネットワークのうち一の印刷装置に前記印刷ジョブ要求を送信する手段と
をさらに備えたシステム。
【請求項５９】
請求項５８に記載の印刷システムであって、
前記一の印刷装置が、前記印刷ジョブ要求が送信された前記一の印刷装置を決定する手段をさらに備えたシステム。
【請求項６０】
請求項５１に記載の印刷システムであって、
前記マスタ印刷装置が、前記マスタ印刷装置のネットワークインターフェイスに前記仮想ネットワークアドレスを結合する手段をさらに備えたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタシステムに関し、特にプリンタサイドネットワーククラスタープリンティング技術に関する。
【背景技術】
【０００２】
コンピュータネットワークのオフィスおよび家庭における普及により、多くのネットワークにおいて複数のプリンターを含む構成が使用されている。複数のネットワークに接続されたプリンタにより、ネットワークに接続されたワークステーションにより広範なプリントサービスが提供されるのと同様に、冗長性がもたらされ、プリンタをいつでも使用できるようになる。例えば、複数のプリンタを含むネットワークに接続されたあるワークステーションは、ネットワークに接続されたいずれかのプリンタによる提供されるサービスや特徴を利用することができる。
【０００３】
複数のプリンタをともなうネットワークの既知の実装によると、コンピュータがプリンタの所在を特定し利用するために外部のサービスを必要とすることが多い。これはアドレスの動的割当てのように、プリンタのネットワークアドレスが静的でなく変化する場合に、特に当てはまる。例えば、利用可能なネットワークプリンタの位置を特定するために、LDAP(Lightweight  Directory  Access)が必要となる。他の例としては、プリントジョブを処理し（例えばラスタライジング）、管理するために、複数のコンピュータにRIPソフトウェアが必要となる。
【０００４】
プリンタのネットワークが取りうる構成の1つとして、クラスター構成がある。プリンタがクラスターを構成しているとき、ユーザはプリントジョブをクラスターに送信する。ユーザは、どのプリンタまたは複数のプリンタがそのジョブを受け取るかを、通常知ることができる。しかし、クラスタープリンティングへの既知のアプローチによると、クラスターを管理するためにユニークなプリンタドライバが必要となる。さらに、そのドライバはプリンタの特定のモデルやブランドに特有である。それゆえ、ワークステーション上で複数のドライバのセットを管理することは困難である。したがって、このようなプリンタクラスターは柔軟性がなく、スケーラビリティに欠けるとされている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
それゆえ、上記に基づき、プリンタのクラスタにプリントする技術が望まれている。また、外部のサービス、付加的なソフトウェア、または特有のプリンタドライバを必要としない、プリンタのクラスタにプリントする技術が特に望まれている。
【課題を解決するための手段】
【０００６】
外部のサービス、付加的なハードウェア、および特殊なプリンタドライバに依存しないネットワーククラスタ印刷が望まれている。実施において、クラスタエージェントがクラスタの各プリンタにインストールされ、ここに説明するプロセスを実行するように構成される。一の態様において、各瞬間に、ひとつのプリンタがマスタプリンタとして動作し、他のプリンタはスレーブプリンタとして動作する。
【０００７】
一態様において、ネットワークプリンタを用いた印刷方法は、仮想ネットワークアドレスで構成されたマスタプリンタで印刷ジョブを受信するステップを含む。仮想ネットワークアドレスは、マスタプリンタを含む複数のネットワーク化されたプリンタに関連する。受信した印刷ジョブは、仮想ネットワークアドレスに宛てられている。仮想ネットワークアドレスはマスタプリンタのネットワークインターフェイスに結び付けられている。マスタプリンタは、どのプリンタにその印刷ジョブを送信すべきかを決定し、その決定に基づき適当なプリンタにその印刷ジョブを送信する。実施形態において、その決定は、プリンタに関する属性情報に基づく。属性情報はマスタプリンタにより維持される。さらに、仮想ネットワークアドレスではなく、特定のプリンタに関連するリアルネットワークアドレスに宛てられた印刷ジョブは、該特定のプリンタにより処理され、印刷される。
【０００８】
一の態様において、プリンタネットワークを管理する方法は、プリンタネットワークの特定のプリンタにより仮想ネットワークアドレスに信号を送信するステップを含む。その信号がアクノレッジされたとき、マスタプリンタの役割を果たしているプリンタがあることを意味する。よって、信号がアクノレッジされたとき、該特定のプリンタはスレーブプリンタの役割を引き受ける。信号がアクノレッジされず、ネットワークに他のアクティブなクラスタプリンタがないとき、該特定のプリンタはマスタプリンタの役割を引き受ける。信号がアクノレッジされず、ネットワーク他のアクティブなクラスタプリンタがあるとき、該特定のプリンタはアクティブなプリンタとネゴシエーションし、どれがマスタプリンタの役割を引き受けるかを決定する。実施形態において、スレーブプリンタとして動作する該特定のプリンタに関する属性情報は、マスタプリンタに送信され、スレーブプリンタにブロードキャストされ、記憶される。
【発明を実施するための最良の形態】
【０００９】
ネットワーククラスタプリンティングの技術について説明する。以下の説明において、本発明を十分に理解してもらうため、多数の具体的な詳細について説明している。しかし、本発明はこれらの具体的詳細がなくても実施可能であることは明らかである。他の例においては、本発明を不必要に不明瞭にしないよう、周知の構成と装置をブロック図の形で示した。
【００１０】
（動作環境）
図１は、ここで開示する技術の動作環境の一例を示すブロック図である。図１には、通信ネットワーク１０６を介して仮想プリンタ１０４に通信可能に結合したワークステーション１０２が示されている。例えば、ワークステーション１０２は従来からあるデスクトップコンピュータであり、通信ネットワーク１０６は従来からあるLANである。
【００１１】
仮想プリンタ１０４は、ネットワークプリンタ１０８ａ、１０８ｂ、１０８ｎ（集合的に１０８ａ−１０８ｎと呼ぶ）を含む。プリンタ１０８ａ−１０８ｎは、ワークステーション１０２がネットワーク１０６を介して送信した印刷ジョブを受信し、解釈し、実行することができる。プリンタ１０８ａ−１０８ｎは、基本的に従来のハードウェアとソフトウェアを含むが、以下に詳しく説明するように、クラスタエージェントソフトウェアアプリケーションを含む点が異なる。図１には個々に分離したプリンタとして示したが、仮想プリンタ１０４を構成する複数のプリンタ１０８ａ−１０８ｎは、複数の印刷エンジンおよびメカニズムが搭載された単一の印刷装置であってもよい。
【００１２】
プリンタ１０８ａ−１０８ｎは、一以上の標準のまたは専用のプリンタ通信プロトコルを用いて、ネットワーク１０６を介して相互に通信可能に構成されている。例えば、プリンタ１０８ａ−１０８ｎは、OSI(Open  System  Interconnection)参照モデルのネットワーク層におけるインターネットプロトコル（ＩＰ）を用いて、ネットワーク１０６を介して通信することができる。しかし、その他の適当なネットワーク通信プロトコルを利用してもよいし、今後開発されるプロトコルを利用してもよい。プリンタ１０８ａ−１０８ｎは、各プリンタの物理ネットワークインターフェイスに少なくとも２つのネットワークアドレスを割り当てられるように、適切なハードウェアとソフトウェアから構成されている。例えば、BSDUnixオペレーティングシステムをプリンタ１０８ａ−１０８ｎ上で起動することができ、複数のネットワークアドレスを取り扱うことができる。
【００１３】
仮想プリンタ１０４において、プリンタ１０８ａ−１０８ｎのいずれか１つがマスタプリンタ（図２の１０８Ｍ）の役割を引き受け、他のプリンタがマスタプリンタに関連するスレーブプリンタ(図２の１０８Ｓ)の役割を引き受ける。プリンタ１０８ａ−１０８ｎの各々は、リアルネットワークアドレスと呼ばれる独自のユニークなネットワークアドレスを有し、仮想ネットワークアドレスと呼ばれる共通のネットワークアドレスを共有する。例えば、ネットワーク１０６がＩＰベースのネットワークである場合、リアルおよび仮想ネットワークアドレスはＩＰアドレスであってもよい。仮想ネットワークアドレスは、プリンタ１０８ａ−１０８ｎ等のクラスタとして動作するように構成されたプリンタに共通である。仮想プリンタ１０４のプリンタは、例えばネットワーク管理者により仮想アドレスで構成されてもよい。リアルネットワークアドレスは動的に割り当てられたアドレスであってもよく、時間の経過と共に変化してもよい。しかし、クラスタの仮想ネットワークアドレスは比較的変化せず、クラスタを再構成することはあるが、あまり頻繁には行われない。
【００１４】
通信ネットワーク１０６は、信号としてメッセージを好適に送信できるものであれば、どのようなネットワークでもよい。ネットワーク１０６は、ネットワークの構成要素がネットワーク層のＩＰのようなそれぞれのレイヤに関連した様々な通信プロトコルにより通信する、例えば、イーサネット(登録商標)や他の好適な技術を用いたＬＡＮであってもよい。
【００１５】
（クラスタプリンタのアーキテクチャ）
図２は、プリンタ１０８ａ−１０８ｎ（図１）のような、ネットワーククラスタプリンタのアーキテクチャを示すブロック図である。図２は、クラスタエージェント２０２を含む、マスタプリンタ１０８Ｍとスレーブプリンタ１０８Ｓを示している。クラスタエージェント２０２は、クラスタ印刷機能およびここに記載した方法を実行する。クラスタエージェント２０２は、リアルネットワークインターフェイス２０６ｒと仮想ネットワークインターフェイス２０６ｖのような、プリンタアプリケーション２０４とネットワークインターフェイス２０６の間のレイヤで実行されるソフトウェアコードを含む。それゆえ、ここに記載した方法を実行するために既存のプリンタアプリケーション２０４を変更する必要はない。実装において、マスタプリンタ１０８Ｍとスレーブプリンタ１０８Ｓのクラスタエージェントは同一のコードを含む。よって、プリンタ１０８ａ−１０８ｎのいずれもが、マスタプリンタ１０８Ｍまたはスレーブプリンタ１０８Ｓいずれになることもできる。
【００１６】
各スレーブプリンタ１０８Ｓとマスタプリンタ１０８Ｍは、リアルネットワークインターフェイス２０６ｒを含む。リアルネットワークインターフェイス２０６ｒは、ネットワーク１０６(図１)により使用される技術と互換性がある、ネットワークインターフェイスカード（ＮＩＣ）等の従来の物理ネットワークインターフェイスを含む。例えば、ネットワーク１０６がイーサネット（登録商標）技術を使用するとき、プリンタ１０８ａ−１０８ｎがネットワーク１０６を介して相互にまたはワークステーション１０２(図１)と通信できるように、リアルネットワークインターフェイス２０６ｒは同じ技術をサポートしていなければならない。リアルネットワークインターフェイス２０６ｒは、少なくとも１つの物理ポートを含む、それを通して通信が行われる。ネットワークインターフェイス２０６ｒ、２０６ｖは、通信ネットワーク１０６（図１）に接続されたネットワークリンクに通信結合を与える。ワイヤレスリンクが実装されてもよい。実装において、ネットワークインターフェイスは、多様なタイプの情報を表示するデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
【００１７】
マスタプリンタ１０８Ｍとして動作するとき、プリンタは仮想ネットワークインターフェイス２０６ｖを追加的に含む。一の実施形態において、リアルネットワークインターフェイス２０６ｒと仮想ネットワークインターフェイス２０６ｖは、同じ物理インターフェイスであるが、ソフトウェアが異なる。例えば、リアルネットワークインターフェイスと仮想ネットワークインターフェイスに宛てられたパケットを両方とも受信するように、ＮＩＣの同一のポートを構成することができる。しかし、インターフェイス２０６ｒと２０６ｖは、異なる物理インターフェイスであってもよい。さらに、クラスタ２０２は、リアルネットワークインターフェイス２０６ｒに宛てられたパケットと、仮想ネットワークインターフェイス２０６ｖに宛てられたパケットとを区別でき、両者を適切に経路指定することができる。
【００１８】
（ネットワークプリンタを管理する方法）
図３は、プリンタネットワークを管理する方法を示すフロー図である。クラスタプリンタのクラスタエージェント２０２(図２)は、図３に示した方法を実行する。「クラスタプリンタ」という用語は、仮想プリンタ１０４(図１)のプリンタ１０８ａ−１０８ｎのいずれをも参照するためにしようする。図３の方法は、クラスタが送信された印刷ジョブを管理するマスタプリンタを必ず含むように、（１）クラスタプリンタがネットワーク上でオンラインとなったとき、（２）クラスタプリンタが新しいリアルネットワークアドレスを割り当てられ、または取得したとき、または（３）定期的に、実行される。図３に示した方法は、本発明の様々な実施形態を含むものである。それゆえ、本発明を実施するためには、すべてのブロックを実行しなくともよく、以下に説明する順序で実行しなくともよい。
【００１９】
ブロック３０２において、信号がプリンタネットワークの一のプリンタからプリンタネットワークに関連する仮想ネットワークアドレスに送信される。例えば、複数のプリンタをネットワークされたクラスタとして構成するとき、クラスタの各プリンタは、共通の仮想ネットワークアドレスで構成される。クラスタプリンタがオンラインとなるとき、リアルアドレスを変更するとき、または定期的に、仮想アドレスに信号が送信される。この信号は、クラスタプリンタのいずれかがそのネットワークインターフェイスに結びついた仮想アドレスを有し、マスタプリンタの役割を引き受けているかどうかを決定するためにしようされる。
【００２０】
ブロック３０４において、該信号がアクノレッジされたとき、ブロック３０６において、該一のプリンタはスレーブプリンタとしての役割を引き受ける。該信号がアクノレッジされたとき、仮想アドレスは、マスタプリンタの役割を引き受けたクラスタプリンタの１つのネットワークインターフェイスに結び付けられている。マスタプリンタが１つだけの実施形態において、図３の方法を実行するプリンタは、スレーブプリンタとなる（ブロック３０６）。
【００２１】
一の実施形態において、ブロック３０７において、スレーブプリンタの役割を引き受けたプリンタは、マスタプリンタに登録される。一の実施形態において、マスタプリンタへの登録は、マスタプリンタはプリンタ属性情報を送信することを含む。いずれのプリンタ１０８ａ−１０８ｎの属性情報も、（１）プリンタの利用可能性、（２）プリンタにより提供される印刷または印刷後のフィーチャ、（３）プリンタで利用可能な媒体のタイプとサイズ、（４）プリンタの現在のリアルネットワークアドレス、（５）プリンタで利用可能な記憶容量、（６）ネットワークにおけるプリンタの「ブートアップ」またはマスタプリンタへの登録に関連するタイムスタンプ等を含むが、これに限定されるものではない。
【００２２】
一の実施形態において、スレーブプリンタの役割を引き受けたプリンタは、該スレーブプリンタのみに関連し他のクラスタプリンタには関連しないネットワークアドレスに宛てられた印刷ジョブ要求を受信する。ジョブが宛てられたネットワークアドレスは、該スレーブプリンタのリアルネットワークアドレスとして参照される。その後、該スレーブプリンタは、印刷ジョブを実施し印刷を行う。要約すると、スレーブプリンタの役割を引き受けたクラスタプリンタは、それらのリアルネットワークアドレスそれぞれに直接宛てられた印刷ジョブを受信することができ、または仮想ネットワークアドレスに宛てられ、関連するマスタプリンタによりそれらのリアルネットワークアドレスに経路指定された印刷ジョブを受信することができる。いずれのシナリオにおいても、スレーブプリンタは、ジョブが初めにリアルネットワークアドレスに宛てられたか仮想ネットワークアドレスに宛てられたかによらずに、同様にジョブを実施する。
【００２３】
図３に戻り、ブロック３０２で送信された信号がブロック３０４でアクノレッジされなかった場合、（１）ブロック３０８において、他のプリンタがネットワークにおいてアクティブであるとき、例えば、他のクラスタプリンタがネットワークにおいてアクティブで、マスタプリンタに登録されていたとき、ブロック３１２において、該他のアクティブなクラスタプリンタとネゴシエーションし、いずれがマスタプリンタの役割を引き受けるかを決定する。例えば、ブロック３０２で送信した信号（例えばping）がアクノレッジされないが、ネットワーク上の他のプリンタがアクティブであることは、前のマスタプリンタはダウンしているか、若しくは何らかの理由で利用可能でないことを意味するものと解される。よって、他のプリンタがマスタプリンタの役割を引き受けて、仮想プリンタ１０４(図１)に送信され仮想アドレスで受信された印刷ジョブを処理する。ブロック３１２のネゴシエーションは、アクティブなクラスタプリンタの各々に関連する属性情報を考慮してもよい。アクティブなクラスタプリンタは、マスタプリンタにすでに登録されており、その属性情報は仲間のクラスタプリンタにブロードキャストされている。例えば、いずれのクラスタプリンタがマスタプリンタの役割を引き受けるかをネゴシエーションをして決定するとき、利用可能な記憶容量が考慮されてもよい。
【００２４】
ブロック３０２で送信された信号がブロック３０４でアクノレッジされなかった場合、（２）ブロック３０８において、他のプリンタがネットワークにおいてアクティブでないとき、ブロック３１０において、マスタプリンタとしての役割を引き受ける。例えば、ブロック３０２で送信された信号がアクノレッジされず、ネットワーク上に他のアクティブなプリンタがないことは、該一のプリンタがネットワーク上で唯一の現在アクティブなプリンタであることを意味すると解される。よって、該一のプリンタが、仮想プリンタ１０４(図１)に送信され仮想アドレスで受信された印刷ジョブを処理することができるように、マスタプリンタの役割を引き受ける。
【００２５】
どのクラスタプリンタがマスタプリンタの役割を引き受けるにしても、一の実施形態において、ブロック３１４において仮想ネットワークアドレスはマスタプリンタのネットワークインターフェイスに結び付けられる。それゆえ、図４Ａに示した方法等により、マスタプリンタのネットワークインターフェイスは仮想アドレスに送信された印刷ジョブを受信し、認識し、しかるべく処理することができる。
【００２６】
要約すると、図３の方法を実行した後、仮想プリンタ１０４（図１）を構成するクラスタプリンタ１０８ａ−１０８ｎのために、一のクラスタプリンタがマスタプリンタ１０８Ｍ（図２）の役割を引き受ける。それゆえ、ブロック３０２−３０７のように、他のクラスタプリンタはスレーブプリンタとしてマスタプリンタに登録される。
【００２７】
（プリンタネットワークを用いて印刷する方法）
図４Ａは、ネットワークプリンタを用いて印刷する方法を示すフロー図である。クラスタプリンタのクラスタエージェント２０２（図２）は、図４Ａに示した方法を実行する。図４Ａに示した方法は、本発明の様々な実施形態を含む。それゆえ、本発明を実施するためにすべてのブロックを実行する必要はなく、以下に説明する順序で実行する必要もない。
【００２８】
ブロック４０２において、印刷ジョブが、仮想ネットワークアドレスで構成されたマスタプリンタにより受信される。仮想ネットワークアドレスは、仮想プリンタ１０４（図１）のプリンタ１０８ａ−１０８ｎのような複数のプリンタに関連し、印刷ジョブは仮想ネットワークアドレスに宛てられる。例えば、ワークステーション１０２（図１）を使用しているユーザが、ネットワーク１０６(図１)を介して仮想プリンタ１０４に印刷ジョブを送信する。ユーザにはトランスペアレントであるが、図４Ａの方法の一部が、印刷ジョブを処理しクラスタプリンタの１つに該印刷ジョブを送信するために実行される。
【００２９】
ブロック４０８に飛んで、マスタプリンタは、印刷ジョブを複数のプリンタのどれに送信するかを決定する。一の実施形態において、該決定はクラスタプリンタに関連する属性情報に基づいて行われる。考慮可能な属性情報のタイプについては、図３のブロック３０７を参照して説明した。決定を推進するために、マスタプリンタはジョブヘッダとプリンタ属性情報を参照することができる。例えば、ヘッダ情報は、媒体のタイプ、ページ数、後処理等の印刷ジョブの仕様を含む。ゆえに、仕様を参照し解釈することにより、マスタプリンタは、印刷ジョブを利用可能なプリンタのうち自分自身も含めその印刷ジョブを実施するのに最も好適なプリンタに印刷ジョブを割り当てることができる。ユーザは、仮想プリンタ１０４（図１）により提供される印刷サービスの向上した利用可能性と発展したフィーチャを利用するために、ジョブがどのプリンタに送信されたかを知る必要はない。
【００３０】
その後、ブロック４１０において、マスタプリンタは印刷ジョブを適当なプリンタに送信する。ジョブは、スレーブプリンタまたはマスタプリンタ自身のアプリケーション２０４(図２)のようなアプリケーションセットに、処理および印刷のために送信される。
【００３１】
実施形態において、図４Aのブロック４０４と４０６は、マスタプリンタにより実行されてもよい任意的なステップである。ブロック４０４に戻り、マスタプリンタは仮想アドレスにおいて複数のクラスタプリンタの一のプリンタ、例えばスレーブプリンタ、の登録を受信する。図３を参照して上に説明したように、スレーブプリンタの登録は、スレーブプリンタに関連する属性情報の登録を含む。
【００３２】
一の実施形態において、マスタプリンタはクラスタプリンタに関連する属性情報を保持する。一の実施形態において、マスタプリンタは、スレーブプリンタの各々の属性情報を受信し、おそらく定期的に保持する。属性情報が保持される仕方は重要ではなく、実装の仕方により変わってもよい。例えば、マスタプリンタは、登録されたスレーブプリンタの各々の現在の属性を表示する情報のテーブルをローカルに保持する。他の例において、マスタプリンタは、ネットワークされたデータベースに、いかなるデータ構造で、登録されたスレーブプリンタの各々の現在の属性情報を保持する。その属性情報は各々のクラスタプリンタが利用することができる。
【００３３】
一の実施形態において、マスタプリンタは、ブロック４０６において、それ自身の属性情報と同様に、登録されたスレーブプリンタの属性情報をクラスタプリンタにブロードキャストする。実装において、マスタプリンタはその属性情報を登録されたスレーブプリンタの各々にブロードキャストする。例えば、マスタプリンタは、適当なプリンタとネットワークの通信プロトコルを用いて、登録されたスレーブプリンタのリアルネットワークアドレスの各々に属性情報を送信する。例えば、ブロードキャストは、定期的に、または新しいスレーブプリンタが登録されたときに行われる。一の実施形態において、スレーブプリンタは各々、クラスタプリンタの各々の属性情報を含む属性テーブルまたは他のデータ構造のバージョンをローカルに保持する。この属性テーブルまたは他のデータ構造のバージョンはマスタプリンタによりブロードキャストされる。しかし、属性情報は、マスタプリンタにより、各クラス他プリンタが情報にアクセスできる中央リポジトリとして保持されてもよい。
【００３４】
図４Bは、プリンタネットワークを用いて印刷する方法を示すフロー図である。この方法は、図４Aの方法に続けて、またはそれとは独立に実行されるステップを有する、本発明の一の実施形態を表す。それゆえ、ブロック４１２と４１４は、図４Aの方法の続きとして表示されているが、連続して実行しなければならないわけではない。図１の仮想プリンタ１０４のプリンタ１０８ａ−１０８ｎのいずれか等の、クラスタプリンタのクラスタエージェント２０２（図２）は、図４Ｂの方法を実行する。
【００３５】
ブロック４１２において、第２の印刷ジョブがマスタプリンタにより受信される。第２の印刷ジョブは、マスタプリンタのみに関連し他のクラスタプリンタには関連しないネットワークアドレスに宛てられている。第２の印刷ジョブが宛てられたネットワークアドレスは、マスタプリンタのリアルネットワークアドレスとして参照され、仮想ネットワークアドレスとは異なる。ブロック４１４において、マスタプリンタが第２の印刷ジョブを実行、または印刷する。要約すると、ブロック４１２において、マスタプリンタは、自分自身のリアルネットワークアドレスに宛てられた印刷ジョブを受信でき、ブロック４１４において、そのジョブをしかるべく実行する。さらに、ブロック４０２において、マスタプリンタは仮想ネットワークアドレスに宛てられた印刷ジョブを受信し、ブロック４０８と４１０において、その印刷ジョブをしかるべく処理する。
【００３６】
（クラスタエージェントのアーキテクチャ）
クラスタエージェント２０２（図２）に関連したプロセスを説明した。クラスタエージェントのアーキテクチャの一例を説明する。図５は、本発明の一実施形態によるクラスタエージェントのアーキテクチャの一例を示すブロック図である。
【００３７】
クラスタエージェント２０２は、ローソケットハンドラ５０２、仮想プリンタアプリケーション５０４、ステータスモニタ５０６を含む。一般に、ブロック３０２と３０４（図３）において、ローソケットハンドラ５０２はネットワーク上の仮想アドレスを検索する。その結果仮想アドレスが見つからなければ、ブロック３０８、３１０、および３１４（図３）のように、プリンタはマスタプリンタに要求する。ローソケットハンドラ５０２は、ネットワークインターフェイス２０６から受信した未処理のパケットを、ブロック４１２と４１４(図４Ｂ)のように、その宛て先がプリンタのリアルネットワークアドレスであるときはリアルプリンタアプリケーション２０４に、その宛て先が仮想ネットワークアドレスであるときは仮想プリンタアプリケーション５０４に、それぞれ送信する。さもなければ、ネットワーク上に仮想アドレスを見つけたときは、ブロック３０６と３０７(図３)のように、それがスレーブプリンタになる。そして、ブロック３０２と３０４（図３）のように、マスタプリンタがまだアクティブで利用可能であるかどうかをチェックする。ローソケットハンドラ５０２はスレーブプリンタとして、初めは仮想ネットワークアドレスに宛てられていて、マスタプリンタの仮想プリンタアプリケーション５０４からリアルネットワークアドレスに転送された印刷ジョブを受信する。
【００３８】
ステータスモニタ５０６は、ブロック４０４（図４Ａ）において、各クラスタプリンタのステータスと、登録時に受信した属性情報等の属性を保持する。また、ブロック４０６（図４Ａ）において、ステータスモニタ５０６はマスタプリンタとして、仮想プリンタアプリケーション５０４とローソケットハンドラ５０２と協働して、ネットワークインターフェイス２０６に関して、属性情報をクラスタプリンタにブロードキャストする。
【００３９】
ブロック４０２と４０８(図４Ａ)において、仮想プリンタアプリケーション５０４はマスタプリンタとして、仮想プリンタ１０４（図１）の仮想ネットワークアドレスに宛てられた印刷ジョブを受信し、どのクラスタプリンタが与えられた印刷ジョブに最も好適であるかを決定する。また、ブロック４１０（図４Ａ）において、仮想プリンタアプリケーション５０４は、ローソケットハンドラと協働して、ネットワークインターフェイス２０６に関して、その好適なプリンタに印刷ジョブを送信する。
【００４０】
あるシナリオにおいては、仮想プリンタアプリケーション５０４は、ブロック３０８と３１２（図３）のように、ネゴシエーションにより新しいマスタプリンタとなる。さらに、ブロック３１４（図３）のように、マスタプリンタとして、仮想プリンタアプリケーション５０４は、仮想ネットワークアドレスを該プリンタのネットワークインターフェイス２０６に結びつける。
【００４１】
（ハードウェアの概観）
図６は、本発明の一実施形態が実装されるシステム６００を示すブロック図である。システム６００は、一般化されたコンピュータシステムを表しており、それゆえ、システム６００によりここに説明した技術を実装する仕方は異なってくることがある。よって、これらの技術の実装においては、システム６００に示した構成要素のいくつかは削除してもよいし、他の構成要素を追加してもよい。一態様において、プリンタ装置上で実行される一以上の命令のシーケンスを用いて、本発明の実施形態を実装する。よって、本実施形態においては、システム６００はプリンタ装置である。
【００４２】
システム６００は、情報通信を行うバス６０２またはその他の通信メカニズムと、情報処理を行うバス６０２に結合したプロセッサ６０４を含む。システム６００は、情報とプロセッサ６０４により実行される命令を記憶するための、バス６０２に結合された、ランダムアクセスメモリ（ＲＡＭ）やその他の動的記憶装置等である主メモリ６０６も含む。主メモリ６０６は、プロセッサ６０４により実行される命令の実行中に変数やその他の中間情報を記憶するために使用されてもよい。システム６００は、静的な情報やプロセッサ６０４の命令を記憶した、バス６０２に結合した、リードオンリメモリ（ＲＯＭ）６０８や、その他の静的記憶装置等をさらに含む。磁気ディスクや光ディスク等の記憶装置６１０が、情報と命令を記憶するために備えられ、バス６０２に結合されている。
【００４３】
システム６００は、ユーザに情報を表示するために、陰極線管（ＣＲＴ）等であるディスプレイ６１２にバス６０２を介して結合されている。入力デバイス６１４は、英数字やその他のキーを含み、プロセッサ６０４に情報とコマンド選択を通信するためにバス６０２を介して結合されている。その他のタイプのユーザ入力装置は、マウス、トラックボール、またはカーソル方向キー等のカーソル制御６１６であり、プロセッサ６０４に方向情報とコマンド選択を通信し、ディスプレイ６１２上のカーソルの動きを制御する。この入力装置は通常、２つの軸（例えばｘ軸とｙ軸）で２つの自由度を有しており、平面上で位置を特定できるようになっている。
【００４４】
本発明は、プリンタネットワークを管理し、プリンタネットワークを用いて印刷するためのシステム６００の使用に関する。本発明の一実施形態によると、ここに説明した技術は、主メモリ６０６に含まれる一以上の命令の一以上のシーケンスを実行するプロセッサ６０４に応じて、システム６００により提供される。そのような命令は、記憶装置６１０等のコンピュータ読み取り可能な媒体から主メモリ６０６に読み込まれてもよい。主メモリ６０６に記憶されている命令のシーケンスを実行することにより、プロセッサ６０４は、ここに説明したプロセスステップを実行する。複数処理装置の一以上のプロセッサを、主メモリ６０６に記憶された命令のシーケンスを実行するために使用してもよい。別の実施形態においては、本発明を実装するために、ソフトウェアの代わりに、またはソフトウェアと組み合わせてハードワイヤ回路を使用してもよい。よって、本発明の実施形態は、ハードウェア回路とソフトウェアのいかなる特定の組み合わせにも限定されない。
【００４５】
ここで使用する「コンピュータ読み取り可能媒体」という用語は、プロセッサ６０４に実行させるために命令を供給するいかなる媒体をも参照するものである。そのような媒体は多くの形体をとり、不揮発性媒体、揮発性媒体、および送信媒体を含むが、これに限定されるものではない。不揮発性媒体は、記憶装置６１０等である例えば光または磁気ディスクを含む。揮発性媒体は、主メモリ６０６等であるダイナミックメモリを含む。送信媒体は、バス６０２を形成するワイヤを含む、同軸ケーブル、銅線、光ファイバを含む。送信媒体は、ラジオ波や赤外データ通信等の音響や光波の形体を取ることもある。
【００４６】
コンピュータ読み取り可能な媒体の一般的な形体は、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、ＣＤ−ＲＯＭ、その他の光媒体、パンチカード、紙テープ、その他の穴パターンを有する物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、その他のメモリチップまたはカートリッジ、ここに説明した搬送波、その他コンピュータが読み取ることができる媒体を含む。
【００４７】
コンピュータ読み取り可能な媒体の多様な形体は、プロセッサ６０４が実行する一以上の命令の一以上のシーケンスを記憶するものであってもよい。例えば、命令は最初、遠隔地のコンピュータの磁気ディスクに記憶される。そのコンピュータは、その命令をダイナミックメモリにロードし、モデムを用いて電話回線を介して送信する。システム６００のモデムは、電話回線を介してそのデータを受信し、赤外線送信機を使ってそのデータを赤外線信号に変換する。バス６０２に結合した赤外線検出器は、赤外線信号で搬送されたデータを受信し、そのデータをバス６０２上に伝える。バス６０２は、そのデータを主メモリ６０６に搬送する。プロセッサ６０４は主メモリ６０６からデータを読み出し実行する。主メモリ６０６により受信された命令は、プロセッサ６０４により実行される前、または後に、任意的に記憶装置６１０に記憶される。
【００４８】
システム６００は、バス６０２に結合した通信インターフェイス６１８も含む。通信インターフェイス６１８は、ネットワーク６２２に接続されたネットワークリンク６２０に結合した２方向データ通信を提供する。通信インターフェイス６１８は、例えば、電話回線のタイプに応じてデータ通信接続を提供する統合サービスデジタルネットワーク（ＩＳＤＮ）カードまたはモデムである。他の例として、通信インターフェイス６１８は、ＬＡＮ回線を通してデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードでもよい。ワイヤレスリンクが実装されてもよい。このような実装において、通信インターフェイス６１８は、様々なタイプの情報を表示するデジタルデータストリームを搬送する電気信号、電磁気信号、光信号を送信し、受信する。
【００４９】
ネットワークリンク６２０は、通常、他のデータ装置に一以上のネットワークを介するデータ通信を提供する。例えば、ネットワークリンク６２０は、他のプリンタ装置にネットワーク６２２を介した接続を提供する。ネットワーク６２２は、デジタルデータストリームを搬送する電気信号、電磁信号、光信号を使用する。様々なネットワークを介した信号と、ネットワークリンク６２０上および通信インターフェイス６１８を介した信号は、デジタルデータをシステム６００に、またはシステム６００から搬送するものであり、情報を送信する搬送波の一例である。
【００５０】
システム６００は、ネットワーク、ネットワークリンク６２０、通信インターフェイス６１８を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。例えば、サーバは、インターネット、ネットワーク６２２、通信インターフェイス６１８を介してアプリケーションプログラムの要求されたコードを送信する。本発明によると、そのようにダウンロードされたアプリケーションにより、ここに説明した技術を実行することができる。
【００５１】
受信したコードはそのままプロセッサ６０４により実行されてもよく、後に実行するため記憶装置６１０または他の不揮発性記憶に記憶されてもよい。このように、システム６００はアプリケーションコードを搬送波の形で取得してもよい。
【００５２】
システム６００は、少なくともプリンタメカニズム６５６を制御するためのコントローラ６５０をさらに含む。コントローラ６５０は、印刷ジョブに応じて印刷するように動作する。コントローラ６５０は、特殊なマイクロプロセッサ、エンベディッドコード、または、例えば、印刷ジョブの受信、解釈、処理に応じてメモリ６０６に記憶されたコードを実行するプロセッサであってもよい。
【００５３】
（拡張および代替）
以上の説明を通じて、実施形態のコンテクストを理解を最も容易にするように、本発明の実施形態を説明した。さらに、本発明を特定の実施形態を参照して説明した。しかし、本発明のより広い精神と範囲から逸脱することなく、様々な修正や変更をなし得ることは明らかである。例えば、本技術を印刷ジョブと、プリンタ装置により提供される印刷機能を参照して説明したが、他のクラスタ化された装置と関連するジョブ、例えば、ファクシミリ装置とファクシミリジョブをここに説明した技術を用いて管理することができる。それゆえ、本明細書と図面は、本発明を例示するものであり、限定するものではないと考えるべきである。
【００５４】
また、この説明において、プロセスのステップを特定の順序で説明し、ステップを特定するために英字と英数字のラベルを用いた。具体的に説明しない限り、本発明の実施形態は、これらのステップを実行するいかなる特定の順序にも限定される必要はない。特に、ラベルはステップを適宜特定するためにだけ使用されており、ステップを実行する特定の順序を示すものではない。
【図面の簡単な説明】
【００５５】
添付した図面は、本発明を例示するものであり限定するものではない。添付した図面においては、同じ参照番号は同じ構成要素を示す。
【図１】ここに開示する技術の動作環境の一例を示すブロック図である。
【図２】ネットワーククラスタプリンタのアーキテクチャを示すブロック図である。
【図３】プリンタのネットワークを管理する方法を示すフロー図である。
【図４Ａ】プリンタのネットワークを用いたプリント方法を示すブロック図である。
【図４Ｂ】図４Aに示したプリンタのネットワークを用いたプリント方法の続きを占めずブロック図である。
【図５】クラスタエージェントのアーキテクチャの一例を示すブロック図である。
【図６】本発明の実施形態が実装されるシステムを示すブロック図である。
【符号の説明】
【００５６】
１０２  ワークステーション
１０４  仮想プリンタ
１０６  通信ネットワーク
１０８ａ、１０８ｂ、１０８ｎ  ネットワークプリンタ
２０２  クラスタエージェント
２０４  アプリケーション
２０６  ネットワークインターフェース
５０２  ローソケットハンドラ
５０４  仮想プリンタアプリケーション
５０６  ステータスモニタ
６００  システム
６０２  バス
６０４  プロセッサ
６０６  主メモリ
６０８  ＲＯＭ
６１０  記憶装置
６１２  ディスプレイ
６１４  入力装置
６１６  カーソル制御
６１８  通信インターフェイス
６２０  ネットワークリンク
６２２  ネットワーク
６５０  コントローラ
【図１】
2006031283.tif 000003
【図２】
2006031283.tif 000004
【図３】
2006031283.tif 000005
【図４Ａ】
2006031283.tif 000006
【図４Ｂ】
2006031283.tif 000007
【図５】
2006031283.tif 000008
【図６】
2006031283.tif 000009