(57)【要約】      （修正有）【課題】  印刷依頼を受けたサーバの処理能力に関わらず、常に理想的な高速印刷が可能であり、さらに、機密文書の印刷処理で安全確保が可能である、分散オブジェクト技術を共有する印刷ネットワークシステムを提供する。【解決手段】  印刷要求があると、プリンタＰｒｔ１の制御オブジェクトＯｂｊ２１がスタブＯｂｊ２２を生成し、それを介してサーバＳ１に処理が委託される。この際、サーバＳ１の機密性のチェックを行い、問題なければ印刷データオブジェクトＯｂｊ２５を生成して印刷依頼を出す。サーバＳ１は依頼された印刷を自身で処理した方が速いか否か判断し、別のサーバであるサーバＳ２に委託した方が速いと判断した場合は、サーバＳ２に委託する。サーバＳ２で処理が行われると、依頼された印刷データを展開したビットマップデータを作成して、サーバＳ１経由でプリンタＰｒｔ１に返す。プリンタＰｒｔ１は展開後の印刷データ受信後、印刷を実行する。【選択図】  図１
2006079477.tif 000002
【特許請求の範囲】
【請求項１】
外部装置との相互通信手段と、印刷を要求する印刷要求手段とを有するクライアント装置と、分散オブジェクト技術を実装し、前記クライアント装置から要求されたプリンタ言語または画像データのデータ処理手段と、前記データ処理手段を外部装置に分散処理させる第１の分散手段と、外部機器との相互通信手段と、前記プリンタ言語または前記画像データとそのデータ処理を含むオブジェクトの全てまたは一部を１つ以上の外部装置と共有する共有手段と、前記第１の分散手段により外部装置がデータ処理を行った結果を受信する受信手段と、前記受信手段の結果に基づいて印刷を実行する印刷実行手段とを有する画像処理装置と、
分散オブジェクト技術を実装し、外部装置との相互通信手段と、外部装置からの分散処理要求を受信する受信手段と、前記受信手段による要求を外部装置の代わりに実行する分散処理実行手段と、前記分散処理実行手段の処理結果を前記分散処理要求を行った外部装置に返す処理結果返信手段とを有する複数のサーバ装置とを、
前記相互通信手段によって接続した印刷ネットワークシステムであって、
前記サーバ装置において前記第１の分散手段を行うか否かの判断を行う第１の判断手段と、
前記第１の判断手段の判断に基づいて他の前記サーバ装置に前記データ処理を実行させる手段と、
をさらに有することを特徴とする印刷ネットワークシステム。
【請求項２】
前記第１の判断手段は、判断を行うためにあらかじめ前記データ処理手段で前記プリンタ言語または前記画像データに付加された判別情報と、前記サーバ装置にあらかじめ付加されている前記判別情報とを比較して判断することを特徴とする請求項１に記載の印刷ネットワークシステム。
【請求項３】
前記判別情報は、前記クライアント装置から入力されたパスワード、前記クライアント装置に印刷を要求したユーザのユーザ情報、前記クライアント装置自身の情報であることを特徴とする請求項２に記載の印刷ネットワークシステム。
【請求項４】
前記第１の判断手段により前記サーバ装置以外の他のサーバ装置に画像処理を分散すると判断した場合は、前記他のサーバ装置に画像処理を分散する第２の分散手段とをさらに有することを特徴とする請求項１から３のいずれか１項に記載の印刷ネットワークシステム。
【請求項５】
前記印刷実行手段を実行する印刷機器は、自身の現在の状態および処理能力を判断し、分散オブジェクト技術を実装した外部装置に画像処理を分散するか否かを判断する第２の判断手段と、
前記第２の判断手段にて他の外部装置に画像処理を分散すると判断した場合は、前記他の外部装置に画像処理を分散する第３の分散手段とをさらに有することを特徴とする請求項１から４のいずれか１項に記載の印刷ネットワークシステム。
【請求項６】
前記印刷機器における現在の状態および処理能力は、最大の印刷速度、搭載されているメモリ容量、エラー発生状況であること特徴とする請求項５に記載の印刷ネットワークシステム。
【請求項７】
前記サーバ装置は、自身の現在の状態および処理能力を判断し、分散オブジェクト技術を実装した外部装置に画像処理を分散するか否かを判断する第３の判断手段と、前記第３の判断手段にて他の外部装置に画像処理を分散すると判断した場合は、前記他の外部装置に画像処理を分散する第４の分散手段とをさらに有することを特徴とする請求項１から６のいずれか１項に記載の印刷ネットワークシステム。
【請求項８】
前記サーバ装置における現在の状態および処理能力は、ＣＰＵの種類・周波数・使用率、実装メモリ容量・使用率、許可された残存磁気記憶媒体の容量であることを特徴とする請求項７に記載の印刷ネットワークシステム。
【請求項９】
前記第１の分散手段によって分散処理を開始した後に、前記サーバ装置の状態の変化に応じて前記分散処理を行うか否かの判断を行う第４の判断手段と、
前記第４の判断手段の判断に基づいて前記サーバ装置に前記データ処理を実行させる手段とをさらに有することを特徴とする請求項１から８のいずれか１項に記載の印刷ネットワークシステム。
【請求項１０】
前記変化した状態は、前記分散処理の動作中に発生したエラー情報であることを特徴とする請求項９に記載の印刷ネットワークシステム。
【請求項１１】
前記変化した状態は、前記分散処理の動作中に、前記クライアント装置から要求された新たな印刷要求であることを特徴とする請求項９に記載の印刷ネットワークシステム。
【請求項１２】
前記新たな印刷要求と動作中の前記分散処理の要求とを比較し、分散処理の優先度を判断する第５の判断手段をさらに有し、前記第５の判断手段の判断に応じて画像処理を分散する第５の分散手段とをさらに有することを特徴とする請求項１から１１のいずれか１項に記載の印刷ネットワークシステム。
【請求項１３】
前記サーバ装置が、現在動作している前記分散処理の実行条件から、前記サーバ装置以外の他のサーバ装置に前記分散処理を行うか否かを判断する第６の判断手段と、
前記第６の判断手段の判断に基づいて他の前記サーバ装置に前記データ処理を実行させる手段とをさらに有することを特徴とする請求項１から１２のいずれか１項に記載の印刷ネットワークシステム。
【請求項１４】
前記第６の判断手段により判断される前記実行条件は、前記クライアント装置の、前記サーバ装置に対するリソースの使用権利から判断される手段をさらに有することを特徴とする請求項１３に記載の印刷ネットワークシステム。
【請求項１５】
前記第６の判断手段により判断されるリソースの前記使用権利は、前記クライアント装置から入力されたパスワード、前記クライアント装置に印刷を要求したユーザのユーザ情報、前記クライアント装置自身の情報であることを特徴とする請求項１４に記載の印刷ネットワークシステム。
【請求項１６】
前記リソースは、前記サーバ装置におけるＣＰＵの処理能力、磁気記憶媒体の容量・使用率、実装メモリの容量・使用率であることを特徴とする請求項１５に記載の印刷ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ネットワークシステムに関し、特に、印刷要求を行うことが可能なクライアント装置と、分散オブジェクト環境を共有する分散処理サーバ及び印刷装置とを有する印刷ネットワークシステムに関する。
【背景技術】
【０００２】
印刷装置は、ＬＡＮ（Local Area Network）やＵＳＢインタフェース、或いは専用シリアルインタフェース等にて接続されたクライアント装置からの印刷要求に従い、印刷を行う。クライアント装置としては、パーソナルコンピュータが一般的であるが、最近では印刷装置のベンダと同一のベンダによって提供されるデジタルカメラ等のデバイスからも、ベンダ独自規格のインタフェースや、赤外線通信等の汎用的な通信インタフェースによって、印刷要求を行い、印刷装置は印刷を実行することが可能である。
【０００３】
例えば、現在、個人ユーザ向け、或いは中小規模事業者向けに提供されているような印刷装置を用いて印刷を行うのであれば、クライアント数が少なく、且つクライアントからの印刷要求が少なければ、クライアントからの印刷要求後、ただちに印刷処理が実行される。
また、多少クライアント数が多かったり、或いは一時的に印刷要求が多くなった場合でも、印刷装置側での印刷実行の動作が多少遅れてしまうことがあるが、印刷装置の処理性能を高めることによるメリット（労働時間の短縮等による人件費削減等）とデメリット（印刷装置自体の購入経費・運用経費等のコストアップ、より大型な印刷装置の設置場所の確保、確保のための人件費や経費の増加等）とを考慮した場合、デメリットの方が大きい場合が殆どであり、このような場合は、安価な印刷機器による印刷で十分である。
【０００４】
しかしながら、ＩＴシステムを本格的に導入している企業や部署などにおいては、クライアント端末の台数は非常に多く、また、印刷専門の部署（例えば、月次の請求書や領収書などを大量に発行する部署等）などにおいては、クライアント端末からの印刷要求も非常に多い。また、高度な再現性（組版のためのカラー写真の高度再現性等）を要求される印刷においては、その印刷要求の内容も非常に高度である。
そのため、処理性能を高めたことによるメリットの方が大きい場合が殆どである。
そして、過去においては、クライアントから印刷要求を行っても、該印刷要求の印刷処理が行われるのが遅くなってしまうという問題が生じていた。
【０００５】
このような処理性能の問題を解決するためには、どの部分で処理性能のアップを図るかという問題と共に解決する必要がある。
例えば、クライアント端末と印刷機器間の通信速度の問題で印刷処理が遅れてしまうのであれば、通信速度を早めるための技術を開発すればよい。また、用紙の搬送速度が遅すぎて印刷処理が遅れてしまうのであれば、搬送モータの回転速度を速くする技術を開発して、用紙の搬送速度を速くすれば良い。
【０００６】
一般的に、印刷機器において用紙の搬送速度は、正確な画像形成を行うため、その速度はある程度の上限を設けている。言い換えれば、印刷間隔は、ある程度までしか短縮できない。そして、印刷要求に対して実際の印刷実行が遅れてしまうのは、前記印刷間隔の間に１ページ分の画像処理を行うことが出来ないためである。
しかしながら、このことは、搬送速度以上の処理性能（主に画像データの処理性能）を有すれば、この問題は解決されることを意味する。
【０００７】
そこで、従来の技術では、多くの印刷要求があった場合に、その印刷要求の画像処理に多くの時間を要する場合が多いという問題に着目して問題を解決している。しかも、印刷機器自体の画像処理性能を上げるのは、製造者から見た場合、開発のコストが大きく、ユーザから見た場合、導入のコストが大きくなるため、画像処理自体を高速処理が別の機構（サーバ等）に分散させるという方法を採用することが多い。
例えば、大規模な分散処理システムに存在する多数のオブジェクトを効率的に利用、管理ができる分散処理システムに関する発明がある（特許文献１参照）。
【０００８】
また、処理能力の高い情報処理装置の実行環境の効率的な活用を図ること、及びネットワークに接続されたプリンタ及び前記情報処理装置の効率的な分散処理を実現することを目的とするネットワークシステム、情報処理装置及び情報記憶媒体に関する発明がある（特許文献２参照）。
【０００９】
また、クライアント端末からの遠隔操作を可能とするため、装置の操作部から実行可能な指示内容を、クライアント装置に送信し、クライアント装置から、装置における操作と同様の手続きで、装置の実行可能な動作指示を行うことが可能である分散処理システムおよびその制御方法に関する発明がある（特許文献３参照）。
【００１０】
一方、印刷処理を複数の分散処理システムで行うものには、扱う印刷物が機密文書のような、重要な印刷物の場合もある。このような場合には、各分散処理システムから機密である文書情報が第三者に参照されてしまうおそれがある。印刷処理の高速化もさることながら、機密文書などの重要書類を保護するセキュリティを確保することも重要な問題となっている。
【特許文献１】特開平５−４６５７０号公報
【特許文献２】特開平１１−１７５２９５号公報
【特許文献３】特開平８−３２９００５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来の技術では、１台の分散処理サーバだけで動作している場合、メモリ使用量の問題や、ＣＰＵの占有率の問題、或いはＣＰＵ等のハードウェア・スペックの問題等により、常に理想的な高速印刷が可能であるとは限らない。
【００１２】
また、印刷装置の制御動作等を行う機構は、最近では、専用のプログラムを実行させることにより、制御を行っている。しかしながら、専用プログラムはＣＰＵや、前記専用プログラムを実行可能とする基本ソフトウェア（ＯＳ）に依存するため、汎用性が低く、処理高速化のためにＣＰＵの設計が変わると、ＯＳ等も変更となる可能性があり、ＯＳが変わることによって、専用プログラムは使い物ではなくなってしまう可能性がある。
【００１３】
本発明は上記事情を鑑みてなされたものであり、処理能力が十分であるか否かに関わらず、第１のサーバに処理を依頼することによって、自動的に十分な処理能力を持つ第２のサーバに処理が委託され、あたかも第１のサーバが処理したかのように処理結果を得ることが可能である、分散オブジェクト技術を共有する印刷ネットワークシステムを提供することを目的とする。
【００１４】
また、本発明は前記印刷ネットワークシステム内で共有する処理情報に、機密性の判断に必要な情報を付加して、各サーバの情報と比較してから印刷情報を該サーバに委託するかどうかの判断を行う印刷ネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記のような課題を解決するために、請求項１記載の印刷ネットワークシステムは、外部装置との相互通信手段と、印刷を要求する印刷要求手段とを有するクライアント装置と、分散オブジェクト技術を実装し、前記クライアント装置から要求されたプリンタ言語または画像データのデータ処理手段と、前記データ処理手段を外部装置に分散処理させる第１の分散手段と、外部機器との相互通信手段と、前記プリンタ言語または前記画像データとそのデータ処理を含むオブジェクトの全てまたは一部を１つ以上の外部装置と共有する共有手段と、前記第１の分散手段により外部装置がデータ処理を行った結果を受信する受信手段と、前記受信手段の結果に基づいて印刷を実行する印刷実行手段とを有する画像処理装置と、分散オブジェクト技術を実装し、外部装置との相互通信手段と、外部装置からの分散処理要求を受信する受信手段と、前記受信手段による要求を外部装置の代わりに実行する分散処理実行手段と、前記分散処理実行手段の処理結果を前記分散処理要求を行った外部装置に返す処理結果返信手段とを有する複数のサーバ装置とを、前記相互通信手段によって接続した印刷ネットワークシステムであって、前記サーバ装置において前記第１の分散手段を行うか否かの判断を行う第１の判断手段と、前記第１の判断手段の判断に基づいて他の前記サーバ装置に前記データ処理を実行させる手段と、を有することを特徴とする。
【００１６】
請求項２に記載の発明は、請求項１に記載の印刷ネットワークシステムにおいて、前記第１の判断手段は、判断を行うためにあらかじめ前記データ処理手段で前記プリンタ言語または前記画像データに付加された判別情報と、前記サーバ装置にあらかじめ付加されている前記判別情報とを比較して判断することを特徴とする。
【００１７】
請求項３に記載の発明は、請求項２に記載の印刷ネットワークシステムにおいて、前記判別情報は、前記クライアント装置から入力されたパスワード、前記クライアント装置に印刷を要求したユーザのユーザ情報、前記クライアント装置自身の情報であることを特徴とする。
【００１８】
請求項４に記載の発明は、請求項１から３のいずれか１項に記載の印刷ネットワークシステムにおいて、前記第１の判断手段により前記サーバ装置以外の他のサーバ装置に画像処理を分散すると判断した場合は、前記他のサーバ装置に画像処理を分散する第２の分散手段とを有することを特徴とする。
【００１９】
請求項５に記載の発明は、請求項１から４のいずれか１項に記載の印刷ネットワークシステムにおいて、前記印刷実行手段を実行する印刷機器は、自身の現在の状態および処理能力を判断し、分散オブジェクト技術を実装した外部装置に画像処理を分散するか否かを判断する第２の判断手段と、前記第２の判断手段にて他の外部装置に画像処理を分散すると判断した場合は、前記他の外部装置に画像処理を分散する第３の分散手段とを有することを特徴とする。
【００２０】
請求項６に記載の発明は、請求項５に記載の印刷ネットワークシステムにおいて、前記印刷機器における現在の状態および処理能力は、最大の印刷速度、搭載されているメモリ容量、エラー発生状況であること特徴とする。
【００２１】
請求項７に記載の発明は、請求項１から６のいずれか１項に記載の印刷ネットワークシステムにおいて、前記サーバ装置は、自身の現在の状態および処理能力を判断し、分散オブジェクト技術を実装した外部装置に画像処理を分散するか否かを判断する第３の判断手段と、前記第３の判断手段にて他の外部装置に画像処理を分散すると判断した場合は、前記他の外部装置に画像処理を分散する第４の分散手段とを有することを特徴とする。
【００２２】
請求項８に記載の発明は、請求項７に記載の印刷ネットワークシステムにおいて、前記サーバ装置における現在の状態および処理能力は、ＣＰＵの種類・周波数・使用率、実装メモリ容量・使用率、許可された残存磁気記憶媒体の容量であることを特徴とする。
【００２３】
請求項９に記載の発明は、請求項１から８のいずれか１項に記載の印刷ネットワークシステムにおいて、前記第１の分散手段によって分散処理を開始した後に、前記サーバ装置の状態の変化に応じて前記分散処理を行うか否かの判断を行う第４の判断手段と、前記第４の判断手段の判断に基づいて前記サーバ装置に前記データ処理を実行させる手段とを有することを特徴とする。
【００２４】
請求項１０に記載の発明は、請求項９に記載の印刷ネットワークシステムにおいて、前記変化した状態は、前記分散処理の動作中に発生したエラー情報であることを特徴とする。
【００２５】
請求項１１に記載の発明は、請求項９に記載の印刷ネットワークシステムにおいて、前記変化した状態は、前記分散処理の動作中に、前記クライアント装置から要求された新たな印刷要求であることを特徴とする。
【００２６】
請求項１２に記載の発明は、請求項１から１１のいずれか１項に記載の印刷ネットワークシステムにおいて、前記新たな印刷要求と動作中の前記分散処理の要求とを比較し、分散処理の優先度を判断する第５の判断手段をさらに有し、前記第５の判断手段の判断に応じて画像処理を分散する第５の分散手段とを有することを特徴とする。
【００２７】
請求項１３に記載の発明は、請求項１から１２のいずれか１項に記載の印刷ネットワークシステムにおいて、前記サーバ装置が、現在動作している前記分散処理の実行条件から、前記サーバ装置以外の他のサーバ装置に前記分散処理を行うか否かを判断する第６の判断手段と、前記第６の判断手段の判断に基づいて前記サーバ装置に前記データ処理を実行させる手段とを有することを特徴とする。
【００２８】
請求項１４に記載の発明は、請求項１３に記載の印刷ネットワークシステムにおいて、前記第６の判断手段により判断される前記実行条件は、前記クライアント装置の、前記サーバ装置に対するリソースの使用権利から判断されることを特徴とする。
【００２９】
請求項１５に記載の発明は、請求項１４に記載の印刷ネットワークシステムにおいて、前記第６の判断手段により判断されるリソースの前記使用権利は、前記クライアント装置から入力されたパスワード、前記クライアント装置に印刷を要求したユーザのユーザ情報、前記クライアント装置自身の情報であることを特徴とする。
【００３０】
請求項１６に記載の発明は、請求項１５に記載の印刷ネットワークシステムにおいて、前記リソースは、前記サーバ装置におけるＣＰＵの処理能力、磁気記憶媒体の容量・使用率、実装メモリの容量・使用率であることを特徴とする。
【発明の効果】
【００３１】
本発明によれば、処理能力が十分であるか否かに関わらず、第１のサーバに処理を依頼することによって、自動的に十分な処理能力を持つ第２のサーバに処理が委託され、あたかも第１のサーバが処理したかのように処理結果を得ることが可能である、分散オブジェクト技術を共有する印刷ネットワークシステムを提供することができる。したがって、常に理想的な高速印刷が可能となる。
【００３２】
また、本発明は前記印刷ネットワークシステム内で共有する処理情報に、機密性の判断に必要な情報を付加して、各サーバの情報と比較してから印刷情報を該サーバに委託するかどうかの判断を行う印刷ネットワークシステムを提供することができる。これにより、印刷処理の高速化のみならず、機密文書のような重要書類の印刷処理において、安全を確保することが可能となる。
【発明を実施するための最良の形態】
【００３３】
ここで、分散オブジェクト技術と仮想マシン（ＶＭ）について簡単に説明する。
分散オブジェクト技術には、様々な技術があるが、特に、ＣＯＲＢＡ（Common Object Request Broker Architecture）が有名である。ＣＯＲＢＡは、分散オブジェクト技術に関する仕様であり、オブジェクト（プログラム部品）をネットワーク機器に分散させて配置し、プラットフォーム（ハードウェア、ＯＳ、プログラミング言語等）の違いに関係なく、相互にメッセージ（データや処理要求など）の交換を行うソフトウェアであるＯＲＢ（Object Request Broker）の共通仕様として、ＯＭＧ（Object Management Group）により、定められており、既に、ＩＴを中心に多くの分野でこれらの技術が用いられ、実用化されている。
【００３４】
また、米国Sun Microsystems社によるＪａｖａ（登録商標）は、オブジェクト指向の言語で、このＪａｖａ（登録商標）プラットフォームを基板とした、ＲＭＩ（Remote Method Invocation）やＪｉｎｉ（登録商標）といった分散オブジェクトに関する技術があり、分散オブジェクト環境の技術基盤は整っている。
また、Ｊａｖａ（登録商標）で記述され、コンパイルされたクラスコードは、Ｊａｖａ（登録商標）  ＶＭが実装されている環境で実行可能であるため、ＣＰＵやＯＳ等のプラットフォームに依存することなく、同じクラスコードを実行させることが可能である。このマルチプラットフォーム環境と分散オブジェクト環境との技術により、あるオブジェクトを複数の実行環境で動作させることが可能である。
本発明は、このようなマルチプラットフォーム環境と分散オブジェクト環境とを有する装置によって構成されることが好ましい。
【００３５】
〔第１の実施形態〕
次に、添付図面を参照しながら、本発明の実施形態を説明する。
図１は、本発明の実施形態の印刷ネットワークシステムにおけるネットワーク構成図である。
システムの構成としては、印刷要求を行うクライアントであるＰＣ１、印刷を実行するプリンタＰｎｔ１、印刷データを展開する分散処理サーバＳ１、または分散処理サーバＳ２、プリンタＰｎｔ２からなる。
プリンタＰｎｔ１、Ｐｎｔ２、サーバＳ１、Ｓ２は、分散オブジェクト環境を共有可能とするため、Ｊａｖａ（登録商標）  ＶＭやＣＯＲＢＡを搭載している。
【００３６】
図２は、本発明の実施形態の印刷ネットワークシステムにおける静的構造を示すクラス図である。
一般的に、オブジェクト指向では、データ（アトリビュート）と、そのデータを処理する手段（メソッド）をクラスとしてセットに扱うことによって、データの適切な処理を常に行うことを容易にしている。
どのようなデータやメソッドをクラスとして実装するかは、ネットワークを構成するプリンタや、或いは設計次第で様々な形態を取ることが可能である。
制御クラスＣ１は、主にプリンタの各種制御を中心に行うクラスであり、アトリビュートとして、クライアントから受信する印刷データと、メソッドとして、印刷データクラスＣ２（印刷データオブジェクト）に対する印刷指示を行う印刷指示メソッドを含み実装している。
ここで、印刷データとは、クライアントからの印刷指示により、クライアントのドライバで生成されるプリンタ言語で書かれたデータである。
【００３７】
印刷データクラスＣ２は、アトリビュートとして、印刷データと、印刷データが展開されることにより、プリンタにて印刷が可能であるビットマップデータ（展開後データ）と、メソッドとして、印刷データをビットマップデータに展開する展開メソッドを含み実装している。
印刷クラスＣ３は、メソッドとして、実際に印刷を実行する印刷実行メソッドと、アトリビュートとして、印刷実行メソッドに必要なビットマップデータ（展開後データ）を実装している。
【００３８】
なお、展開メソッドには、実際に印刷データを展開する処理が実装されていても構わないし、実際に印刷データを展開する実体を他のクラスで実装し、そのクラスへのインタフェースを実装するだけでも構わない。
一般的には、印刷データを展開する実体は他のクラスで定義し、そのクラスへのインタフェースを実装するだけの方が、印刷データクラスの他クラスとの依存性が少なくなり、また、クラスの再利用などの面を考慮しても、より好ましい。
【００３９】
図３は、本発明の実施形態の印刷ネットワークシステムにおけるオブジェクト間の協調動作を示すコラボレーション図である。なお、本図では、分散オブジェクト環境ではないが、オブジェクト間の基本的な協調動作を分かりやすく示すため、プリンタ１台とクライアント１台の最も簡易な構成の場合について説明している。
また、制御クラスＣ１、印刷データクラスＣ２、印刷クラスＣ３は、いずれもプリンタ上に実装されている。
【００４０】
制御クラスＣ１のインスタンスである制御オブジェクトＯｂｊ１は、クライアントであるＰＣ１からプリンタ言語で記述された印刷データを受信し、そのデータから印刷データクラスＣ２のインスタンスである印刷データオブジェクトＯｂｊ２を生成する（シーケンスＳＱ１）。制御オブジェクトＯｂｊ１は、印刷データオブジェクトＯｂｊ２に対して、展開メソッドを実行し、印刷データオブジェクトは、ビットマップ展開を行う（シーケンスＳＱ２）。
ビットマップ展開が終了したら、制御オブジェクトＯｂｊ１は、印刷データオブジェクトＯｂｊ２に対し印刷指示を行う（シーケンスＳＱ３）。
印刷データオブジェクトＯｂｊ２は、実質的な印刷を行う印刷オブジェクトＯｂｊ３に対し、展開済みビットマップデータのオブジェクトとともに印刷指示を出すことにより、印刷することができる（シーケンスＳＱ４）。
【００４１】
上記の印刷動作を、分散オブジェクト環境で実装する。
図４は、本発明の実施形態の印刷ネットワークシステムにおけるオブジェクト間の協調動作を示すコラボレーション図である。なお、本図では、プリンタとサーバが分散オブジェクト環境を共有し、ビットマップ展開を行う実体がサーバ上で実装されている。
ここで、分散オブジェクト環境技術におけるスタブとスケルトンについて簡単に説明する。
本実施形態では、制御オブジェクトＯｂｊ１１が、クライアントであるＰＣ１から印刷データを受信すると、サーバ上のオブジェクトを仮想的に実行するサーバの代理オブジェクトＯｂｊ１２を生成する。代理オブジェクトの実装コードは、インタフェース定義から生成されるスタブ・コードの中に含まれており、一般的にスタブ（スタブ・オブジェクト）と呼ばれている。以下、代理オブジェクトをスタブオブジェクトと言う。
また、サーバ側では、クライアントとなるプリンタ側のスタブからの要求を実行することができるスケルトン（スケルトン・オブジェクト）Ｏｂｊ１４を生成する。
分散オブジェクト環境を有するということは、クライアント側にスタブと、サーバ側にスケルトンを実装していることである。そして、スタブとスケルトンとの間のオブジェクト通信を実現している技術基盤が、ＯＲＢ（Object Request Broker）やＣＯＲＢＡ（Common Object Request Broker Architecture）等である。
【００４２】
図４の説明を行う。
プリンタＰｒｔ１に実装されている制御クラスＣ１のインスタンスである制御オブジェクトＯｂｊ１１は、印刷要求を行うクライアントであるＰＣ１から印刷データを受信すると、スタブＯｂｊ１２と印刷データオブジェクトＯｂｊ１３を生成する（シーケンスＳＱ１０１、ＳＱ１０２）。
次に、スタブＯｂｊ１２に対して、サーバ情報のチェックを行う。このチェックとは、展開処理を行うサーバが、印刷データを展開・生成しても印刷データの性質上問題がないかどうかを判断するものであり、特に、印刷する文書が機密文書のような場合には一層重要となる。サーバのチェックは、例えば、クライアントであるＰＣ１から入力されたパスワードなどでもよく、機密性の判断に必要な情報をあらかじめ付加しておき、スタブＯｂｊ１２から展開指示を出す際に、展開処理を行うサーバの情報と比較して判断するなどしてもよい。
サーバ情報のチェックによって、サーバが印刷データを展開・生成しても問題ないと判断された場合には、続いて、スタブＯｂｊ１２に対して、印刷データを含む印刷データオブジェクトを渡し、サーバ上に印刷データオブジェクトを転送し、スタブＯｂｊ１２に対して印刷オブジェクトの展開指示を出す（シーケンスＳＱ１０３）。スタブＯｂｊ１２は、スケルトンＯｂｊ１４を生成し（シーケンスＳＱ１０４）、スタブ−スケルトンのインタフェースを介して、サーバ上にある印刷データオブジェクトＯｂｊ１５がビットマップ展開を行い（シーケンスＳＱ１０５）、展開終了後、展開終了通知を送る（シーケンスＳＱ１０６）。
【００４３】
制御オブジェクトは、印刷データオブジェクトを受信する準備が出来次第、サーバへ展開後データの要求を行う。サーバは展開後ビットマップデータを含む印刷データオブジェクトをクライアントプリンタＰｒｔ１へ返す（シーケンスＳＱ１０７）。
制御オブジェクトＯｂｊ１１は、展開後ビットマップデータを含む印刷データオブジェクトＯｂｊ１３に対して印刷指示を行い（シーケンスＳＱ１０８）、印刷クラスＣ３のインスタンスである印刷オブジェクトＯｂｊ１６に対して、展開後ビットマップデータの印刷実行を指示する（シーケンスＳＱ１０９）ことにより、プリンタＰｒｔ１にて印刷が実行される。
【００４４】
上記で示したサーバでの分散処理（印刷データのビットマップ展開）を、分散オブジェクト環境を有するプリンタＰｒｔ２で実装することも可能であり、その場合は、同様の処理をプリンタＰｒｔ２で行う。
これらの実行環境をＪａｖａ（登録商標）  ＴＭやＣＯＲＢＡ上に構築することによって、異なるプラットフォーム上で実行可能となる。これは、Ｊａｖａ（登録商標）  ＴＭ等の技術基盤をプリンタに搭載すれば、ＣＰＵやＯＳが異なっていても、ＰＣやサーバと同じように振る舞うことが可能であることを意味する。
【００４５】
図５は、本発明の実施形態の印刷ネットワークシステムにおけるオブジェクト間の協調動作を示すコラボレーション図である。なお、本図では、プリンタＰｒｔ１とサーバＳ１、サーバＳ２が分散オブジェクト環境を共有しているケースである。
プリンタＰｒｔ１に実装されている制御クラスＣ１のインスタンスである制御オブジェクトＯｂｊ２１は、印刷要求を行うクライアントであるＰＣ１から印刷データを受信すると、サーバＳ１の代理オブジェクト（スタブ）Ｏｂｊ２２と印刷データオブジェクトＯｂｊ２３を生成する（シーケンスＳＱ２０１、ＳＱ２０２）。
【００４６】
次に、スタブＯｂｊ２２に対して、サーバＳ１のサーバ情報のチェックを行い、印刷データの持つクライアント情報やユーザ情報などと比較して、サーバＳ１が、印刷データを展開・生成しても印刷データの性質上問題がないかどうか、機密性を判断する。
【００４７】
サーバ情報のチェックによって、サーバＳ１が印刷データを展開・生成しても問題ないと判断された場合には、続いて、スタブＯｂｊ２２に対して、印刷データを含む印刷データオブジェクトを渡し、サーバＳ１上に印刷データオブジェクトを転送し、スタブＯｂｊ２２に対して印刷オブジェクトの展開指示を出す（シーケンスＳＱ２０３）。スタブＯｂｊ２２は、スケルトンＯｂｊ２４を生成し（シーケンスＳＱ２０４）、スタブＯｂｊ２２−スケルトンＯｂｊ２４のインタフェースを介して、サーバＳ１に印刷データオブジェクトＯｂｊ２５を生成し、印刷データの展開の指示を出す（シーケンスＳＱ２０５）。
【００４８】
また、サーバＳ１が印刷データオブジェクトの展開処理に十分な能力があるか、サーバＳ１自身で展開処理が可能であるか否かを判断する。展開処理に十分な能力を持っていない、または処理が可能な状態でない、と判断した場合には、サーバＳ２の代理オブジェクト（スタブ）Ｏｂｊ２６を生成し、スタブＯｂｊ２６に対して印刷データオブジェクトを転送し、印刷データオブジェクトの展開指示を出す（シーケンスＳＱ２０６）。
【００４９】
この展開指示により、サーバＳ２上にスケルトンＯｂｊ２７が生成される（シーケンスＳＱ２０７）。ここで、サーバＳ１で行われた処理と同様に、サーバＳ２のサーバ情報のチェックを行い、サーバＳ２が、印刷データを展開・生成しても印刷データの性質上問題がないかどうかを判断する。
ここで、サーバＳ２がこの印刷データを印刷するには問題のある信用できないサーバである、と判断した場合には、スケルトンＯｂｊ２７に印刷データを渡さずに、サーバＳ１が処理可能な状況になるまで待機する。そして、サーバＳ１の印刷データオブジェクトＯｂｊ２５の展開処理が可能な状況になってから、ビットマップ展開を行う。
【００５０】
展開終了後、サーバＳ１は、プリンタＰｒｔ１上の制御オブジェクトに展開終了通知を送る（シーケンスＳＱ２０８）。
制御オブジェクトＯｂｊ２１は、印刷データオブジェクトを受信する準備が出来次第、サーバＳ１に、展開後データ要求を行う。サーバＳ１は、展開後ビットマップデータを含む印刷データオブジェクトをクライアントプリンタＰｒｔ１へ返す（シーケンスＳＱ２０９）。
【００５１】
制御オブジェクトＯｂｊ２１は、展開後ビットマップデータを含む印刷データオブジェクトＯｂｊ２３に対して印刷指示を行い（シーケンスＳＱ２１０）、印刷クラスＣ３のインスタンスである印刷オブジェクトＯｂｊ２８に対して、展開後ビットマップデータの印刷実行を指示する（シーケンスＳＱ２１１）ことにより、プリンタＰｒｔ１にて印刷が実行される。
【００５２】
なお、サーバＳ１が印刷データオブジェクトの展開処理に十分な能力があるか、また、サーバＳ１自身で展開処理が可能であるか否か、さらには、サーバＳ１が印刷データを印刷しても問題ない信用できるサーバかどうか、を判断するときに、展開処理を行うのに十分な能力があり、サーバＳ１自身で展開処理が可能であると判断した場合や、サーバＳ１が印刷データを印刷しても問題ない信用できるサーバであると判断された場合などには、図４に示した動作と同じ動作を行う。
【００５３】
また、本実施形態では、サーバＳ１の印刷データオブジェクトＯｂｊ２５の展開処理が可能な状況になるまで印刷データを渡さずに待機していたが、サーバＳ２が印刷データを印刷するには問題のある信用できないサーバであり、サーバＳ１で処理ができない状況でも、サーバＳ１で処理可能になるまで待機するのではなく、更に別のサーバＳ３に処理を委託するようにして、以下サーバＳ４、サーバＳ５、・・・、と連鎖的に処理が委託されていくように印刷ネットワークシステムを構築することも可能である。
【００５４】
〔第２の実施形態〕
次に、本発明の実施形態の印刷ネットワークシステムにおけるオブジェクト間の協調動作において、分散処理実行開始後に状況が変化した場合を説明する。図６はサーバＳ１においてエラーが発生した場合を示す示すコラボレーション図である。なお、本図では、プリンタＰｒｔ１とサーバＳ１、サーバＳ２が分散オブジェクト環境を共有しているケースである。
プリンタＰｒｔ１に実装されている制御クラスＣ１のインスタンスである制御オブジェクトＯｂｊ３１は、印刷要求を行うクライアントであるＰＣ１から印刷データを受信すると、サーバＳ１の代理オブジェクト（スタブ）Ｏｂｊ３２と印刷データオブジェクトＯｂｊ２３を生成する（シーケンスＳＱ３０１、ＳＱ３０２）。
【００５５】
続いて、スタブＯｂｊ３２に対して、印刷データを含む印刷データオブジェクトを渡し、サーバＳ１上に印刷データオブジェクトを転送し、スタブＯｂｊ３２に対して印刷オブジェクトの展開指示を出す（シーケンスＳＱ３０３）。スタブＯｂｊ３２は、スケルトンＯｂｊ３４を生成し（シーケンスＳＱ３０４）、スタブＯｂｊ３２−スケルトンＯｂｊ３４のインタフェースを介して、サーバＳ１に印刷データオブジェクトＯｂｊ３５を生成し、印刷データの展開の指示を出す（シーケンスＳＱ３０５）。
【００５６】
ここで、何らかの問題（エラー）が発生し、生成・展開処理を続行できないと判断した場合には、サーバＳ２の代理オブジェクト（スタブ）Ｏｂｊ３６を生成し、スタブＯｂｊ３６に対して印刷データオブジェクトを転送し、印刷データオブジェクトの展開指示を出す（シーケンスＳＱ３０６）。
この展開指示により、サーバＳ２上にスケルトンＯｂｊ３７の生成、サーバ情報のチェックが行われ、印刷データのセキュリティを確保した後、展開指示を受信し（シーケンスＳＱ３０７）、印刷データオブジェクトＯｂｊ３８を生成し、展開処理を実行する（シーケンスＳＱ３０８）。
【００５７】
展開終了後、サーバＳ２は、展開後ビットマップデータをサーバＳ１に送信し（シーケンスＳＱ３０９、ＳＱ３１０）、更にサーバＳ１は、サーバＳ２から展開後ビットマップデータを受信した後、プリンタＰｒｔ１上の制御オブジェクトに展開終了通知を送る（シーケンスＳＱ３１１、ＳＱ３１２）。
【００５８】
制御オブジェクトＯｂｊ３１は、印刷データオブジェクトを受信する準備が出来次第、サーバＳ１に、展開後データ要求を行う。サーバＳ１は、展開後ビットマップデータを含む印刷データオブジェクトをクライアントプリンタＰｒｔ１へ返す（シーケンスＳＱ３１２）。
【００５９】
制御オブジェクトＯｂｊ３１は、展開後ビットマップデータを含む印刷データオブジェクトＯｂｊ３３に対して印刷指示を行い（シーケンスＳＱ３１３）、印刷クラスＣ３のインスタンスである印刷オブジェクトＯｂｊ２９に対して、展開後ビットマップデータの印刷実行を指示する（シーケンスＳＱ３１４）ことにより、プリンタＰｒｔ１にて印刷が実行される。
【００６０】
なお、サーバＳ１において印刷データオブジェクトの展開処理中に何ら状況の変化がない場合、すなわち、エラーなども発生せずに通常通りに展開処理が行われた場合などには、図４に示した動作と同じ動作を行う。
【００６１】
また、サーバＳ２に展開指示が出された場合において、サーバＳ２で印刷データオブジェクトＯｂｊ３８を生成、展開処理を実行する際に、再度エラーが発生した場合などには、更に別のサーバＳ３に処理を委託するようにして、以下サーバＳ４、サーバＳ５、・・・、と連鎖的に処理が委託されていくように印刷ネットワークシステムを構築することも可能である。
【００６２】
また、今回はエラーが発生した場合を例に挙げたが、通常の生成、展開処理を行っている際に、制御オブジェクトに現在行っている生成、展開処理よりも優先度の高い新たな処理要求が発生した場合などにも、本実施形態と同様の処理動作を行うことができる。
この場合には、優先度の高い新たな要求を現在生成、展開処理を行っているオブジェクトで行い、それまで生成、展開処理が行われていた元の印刷データを、新たなオブジェクトで行うことになる。
【００６３】
〔第３の実施形態〕
次に、図７を用いて、オブジェクトを使用することに特定の権利を要する場合の分散処理について説明する。図７はサーバＳ２に対するリソースの使用権利を持っていない場合を示すコラボレーション図である。なお、本図では、プリンタＰｒｔ１とサーバＳ１、サーバＳ２が分散オブジェクト環境を共有しているケースである。
プリンタＰｒｔ１に実装されている制御クラスＣ１のインスタンスである制御オブジェクトＯｂｊ４１は、印刷要求を行うクライアントであるＰＣ１から印刷データを受信すると、サーバＳ１の代理オブジェクト（スタブ）Ｏｂｊ４２と印刷データオブジェクトＯｂｊ２３を生成する（シーケンスＳＱ４０１、ＳＱ４０２）。
【００６４】
次に、スタブＯｂｊ４２に対して、サーバＳ１のサーバ情報のチェックを行い、印刷データの持つクライアント情報やユーザ情報などと比較して、サーバＳ１のリソースを使用する権利があるかどうかを判断する。
【００６５】
サーバ情報のチェックによって、サーバＳ１のリソースを使用する権利があると判断された場合には、続いて、スタブＯｂｊ４２に対して、印刷データを含む印刷データオブジェクトを渡し、サーバＳ１上に印刷データオブジェクトを転送し、スタブＯｂｊ４２に対して印刷オブジェクトの展開指示を出す（シーケンスＳＱ４０３）。スタブＯｂｊ４２は、スケルトンＯｂｊ４４を生成し（シーケンスＳＱ４０４）、スタブＯｂｊ４２−スケルトンＯｂｊ４４のインタフェースを介して、サーバＳ１に印刷データオブジェクトＯｂｊ４５を生成し、印刷データの展開の指示を出す（シーケンスＳＱ４５）。
【００６６】
また、サーバＳ１が印刷データオブジェクトの展開処理に十分な能力があるか、サーバＳ１自身で展開処理が可能であるか否かを判断する。展開処理に十分な能力を持っていない、または処理が可能な状態でない、と判断した場合には、サーバＳ２の代理オブジェクト（スタブ）Ｏｂｊ４６を生成し、スタブＯｂｊ４６に対して印刷データオブジェクトを転送し、印刷データオブジェクトの展開指示を出す（シーケンスＳＱ４６）。
【００６７】
この展開指示により、サーバＳ２上にスケルトンＯｂｊ４７が生成される。ここで、サーバＳ１で行われた処理と同様に、サーバＳ２のサーバ情報のチェックを行い、印刷データの持つクライアント情報やユーザ情報などと比較して、サーバＳ２のリソースを使用する権利があるかどうかを判断する。ここで、サーバＳ２のリソースを使用する権利がない、と判断した場合には、スケルトンＯｂｊ４７に印刷データを渡さずに、サーバＳ１が処理可能な状況になるまで待機する。そして、サーバＳ１の印刷データオブジェクトＯｂｊ４５の展開処理が可能な状況になってから、ビットマップ展開を行う。
【００６８】
展開終了後、サーバＳ１は、プリンタＰｒｔ１上の制御オブジェクトに展開終了通知を送る（シーケンスＳＱ４０８）。
制御オブジェクトＯｂｊ４１は、印刷データオブジェクトを受信する準備が出来次第、サーバＳ１に、展開後データ要求を行う。サーバＳ１は、展開後ビットマップデータを含む印刷データオブジェクトをクライアントプリンタＰｒｔ１へ返す（シーケンスＳＱ４０９）。
【００６９】
制御オブジェクトＯｂｊ４１は、展開後ビットマップデータを含む印刷データオブジェクトＯｂｊ４３に対して印刷指示を行い（シーケンスＳＱ４１０）、印刷クラスＣ３のインスタンスである印刷オブジェクトＯｂｊ４８に対して、展開後ビットマップデータの印刷実行を指示する（シーケンスＳＱ４１１）ことにより、プリンタＰｒｔ１にて印刷が実行される。
【００７０】
なお、サーバＳ１が印刷データオブジェクトの展開処理に十分な能力があるか、また、サーバＳ１自身で展開処理が可能であるか否か、さらには、サーバＳ１が印刷データを印刷しても問題ない信用できるサーバかどうか、を判断するときに、展開処理を行うのに十分な能力があり、サーバＳ１自身で展開処理が可能であると判断した場合や、サーバＳ１が印刷データを印刷しても問題ない信用できるサーバであると判断された場合などには、図４に示した動作と同じ動作を行う。
【００７１】
また、本実施形態では、サーバＳ１の印刷データオブジェクトＯｂｊ４５の展開処理が可能な状況になるまで印刷データを渡さずに待機していたが、サーバＳ２がリソースを使用する権利を持っていないサーバであり、サーバＳ１で処理ができない状況でも、サーバＳ１で処理可能になるまで待機するのではなく、更に別のサーバＳ３に処理を委託するようにして、以下サーバＳ４、サーバＳ５、・・・、と連鎖的に処理が委託されていくように印刷ネットワークシステムを構築することも可能である。
【００７２】
図８は、本発明の実施形態である印刷ネットワークシステムにおける、プリンタの内部構成を示すブロック図である。
ＲＯＭ１０２やＨＤＤ（磁気ハードディスク）１０７には、プリンタの全体を制御するためのプログラムや、本発明に係る分散オブジェクト技術基盤（ＯＲＢやＣＯＲＢＡ等）、プラットフォームに依存せずにプログラムを実行することが可能である技術基盤（Ｊａｖａ（登録商標）  ＴＭ等）が格納されており、必要に応じてこれらがＲＡＭ１０３に展開され、ＣＰＵ１０１にて処理される。
システムコントローラ１０８は、主に印刷用画像データの処理を行うユニットである。
フレームメモリ１０９は、印刷用の画像データを展開するためのメモリであり、大量印刷に備えるために、大容量のメモリであることがより好ましい。
プリンタエンジン１１１は、プリンタ動作の中心機能を制御するユニットであり、例えば、感光体へのレーザー光照射や、転写用紙の搬送動作、或いは転写部や熱定着部の制御などの、最も機械的な動作に近い部分の制御を行う。そのため、プリンタエンジン２１は、これらの制御専用のプログラムを有し、ＣＰＵ１０１とは独立したＣＰＵを有する場合が多い。
また、その他のユニットも、プリンタエンジンと同様にＣＰＵ１０１とは独立した演算制御機構を有し、独自の制御を行う場合がある。
【００７３】
ＬＡＮコントローラ１０４は、クライアントコンピュータＰＣ１や、サーバコンピュータＳ１、Ｓ２等と、データの相互通信を行うためのインタフェースである。
なお、本実施例では、相互通信のインタフェースとして、イーサネット（登録商標）によるＬＡＮでシステムを構築している。
【００７４】
以上の説明から明らかなように、外部装置との相互通信手段と、印刷を要求する印刷要求手段とを有することを特徴とするクライアント装置と、分散オブジェクト技術を実装し、外部装置との相互通信手段と、前記クライアント装置から要求されたプリンタ言語または画像データの画像データ処理手段と、前記画像データ処理手段を外部装置に分散処理させる第１の分散手段と、外部機器との相互通信手段と、前記プリンタ言語または画像データとそのデータ処理を含むオブジェクトの全てまたは一部を１つ以上の外部装置と共有する共有手段と、前記第１の分散手段により外部装置が画像データ処理を行った結果を受信する受信手段と、前記受信手段の結果に基づいて印刷を実行する印刷実行手段とを有することを特徴とする画像処理装置と、分散オブジェクト技術を実装し、外部装置との相互通信手段と、外部装置からの分散処理要求を受信する受信手段と、前記受信手段による要求を外部装置の代わりに実行する分散処理実行手段と、前記分散処理実行手段の処理結果を前記分散処理要求を行った外部装置に返す処理結果返信手段とを有することを特徴とするサーバ装置とを、前記相互通信手段によって接続した印刷ネットワークシステムを構成することにより、分散処理を依頼された高速サーバ装置が、あたかも分散処理を依頼した印刷装置が処理したかのように高速処理を行い、印刷装置はあたかも自身で処理したかのように処理結果を得ることが可能となり、高速印刷が実現される。
【００７５】
また、前記印刷実行手段を実行する印刷機器は、自身の現在の状態および処理能力を判断し、分散オブジェクト技術を実装した外部装置に画像処理を分散するか否かを判断する第１の判断手段と、前記第１の判断手段にて他の外部装置に画像処理を分散すると判断した場合は、前記他の外部装置に画像処理を分散する第２の分散手段とを有することにより、分散依頼された処理要求を、サーバ装置に分散処理要求を依頼することが可能となり、高速印刷が実現される。
【００７６】
また、前記印刷実行手段を実行する印刷機器における現在の状態および処理能力として、最大の印刷速度、搭載されているメモリ容量、エラー発生状況を確認し、画像処理を分散するか否かを判断することにより、分散依頼された処理要求を、サーバ装置に処理要求を依頼することが可能となり、高速印刷が実現される。
【００７７】
また、前記サーバ装置は、自身の現在の状態および処理能力を判断し、分散オブジェクト技術を実装した外部装置に画像処理を分散するか否かを判断する第２の判断手段と、前記第２の判断手段にて他の外部装置に画像処理を分散すると判断した場合は、前記他の外部装置に画像処理を分散する第３の分散手段とを有することにより、分散依頼された処理要求を、更に、別のサーバ装置に分散処理要求を依頼することが可能となり、高速印刷が実現される。
【００７８】
また、前記サーバ装置における現在の状態および処理能力として、ＣＰＵの種類・周波数・使用率、実装メモリ容量・使用率、許可された残存磁気記憶媒体の容量を確認し、画像処理を分散するか否かを判断することにより、分散依頼された処理要求を、更に別のサーバ装置に処理要求を依頼することが可能となり、高速印刷が実現される。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態である印刷ネットワークシステムのネットワーク構成図である。
【図２】本発明の実施形態である印刷ネットワークシステムにおける静的構造を示すクラス図である。
【図３】本発明の実施形態である印刷ネットワークシステムにおけるオブジェクト間の協調動作を示すコラボレーション図であり、プリンタ１台とクライアント１台の最も簡易な構成の場合について説明する図である。
【図４】本発明の実施形態である印刷ネットワークシステムにおけるオブジェクト間の協調動作を示すコラボレーション図であり、プリンタとサーバが分散オブジェクト環境を共有している状態を示す図である。
【図５】本発明の実施形態である印刷ネットワークシステムにおけるオブジェクト間の協調動作を示すコラボレーション図であり、プリンタＰｒｔ１とサーバＳ１、サーバＳ２が分散オブジェクト環境を共有している状態を示す図である。
【図６】本発明の実施形態である印刷ネットワークシステムにおけるオブジェクト間の協調動作において、分散処理実行開始後に状況が変化した場合を示した図である。
【図７】本発明の実施形態である印刷ネットワークシステムにおけるオブジェクト間の協調動作において、オブジェクトを使用することに特定の権利を要する場合を示した図である。
【図８】本発明の実施形態である印刷ネットワークシステムにおける、プリンタの内部構成を示すブロック図である。
【符号の説明】
【００８０】
１０１    ＣＰＵ
１０２    ＲＯＭ
１０３    ＲＡＭ
１０７    ＨＤＤ（磁気記憶媒体）
ＰＣ１    クライアントコンピュータ
Ｓ１、Ｓ２    分散処理サーバ
Ｐｒｔ１、Ｐｒｔ２    プリンタ
Ｃ１    制御クラス
Ｃ２    印刷データクラス
Ｃ３    印刷クラス
Ｏｂｊ１〜Ｏｂｊ３、Ｏｂｊ１１〜Ｏｂｊ１５、Ｏｂｊ２１〜Ｏｂｊ２８    各種オブジェクト
ＳＱ１〜ＳＱ４、ＳＱ１１〜ＳＱ１９、ＳＱ２１〜ＳＱ３１    オブジェクト間の協調動作を示すシーケンス
【図１】
2006079477.tif 000003
【図２】
2006079477.tif 000004
【図３】
2006079477.tif 000005
【図４】
2006079477.tif 000006
【図５】
2006079477.tif 000007
【図６】
2006079477.tif 000008
【図７】
2006079477.tif 000009
【図８】
2006079477.tif 000010