(57)【特許請求の範囲】
【請求項１】
ホストコンピュータにより、それぞれがスキャン機能とプリント機能とを有する第１の画像入出力装置と第２の画像入出力装置とを仲介して処理を行なう分散処理システムであって、
前記第１の画像入出力装置は、ドライバプログラムを保存し、
前記ホストコンピュータは、前記ドライバプログラムを前記第１の画像入出力装置から獲得し、前記第１の画像入出力装置を駆動する前記第２の画像入出力装置に対して、第１の画像入出力装置を駆動するための前記ドライバプログラムを送信し、
前記第２の画像入出力装置は、前記ホストコンピュータから受信した、前記第１の画像入出力装置を駆動するための前記ドライバプログラムを実行し、
前記ドライバプログラムの実行に応じて前記第１の画像入出力装置が駆動されてスキャン動作することで画像データを読み込んで前記第２の画像入出力装置に転送し、
当該第１の画像入出力装置がスキャン動作して得られた画像データを前記第２の画像入出力装置が取得し、
前記第１の画像入出力装置から取得した画像データを前記第２の画像入出力装置がプリント処理することを特徴とする分散処理システム。
【請求項２】
ホストコンピュータにより、それぞれがスキャン機能とプリント機能とを有する第１の画像入出力装置と第２の画像入出力装置とを仲介して処理を行なう分散処理システムの制御方法であって、
前記ホストコンピュータの獲得手段が、ドライバプログラムを保存している第１の画像入出力装置から、前記ドライバプログラムを獲得し、
前記ホストコンピュータの送信手段が、前記第１の画像入出力装置を駆動する第２の画像入出力装置に対して、第１の画像入出力装置を駆動するための前記ドライバプログラムを送信し、
前記第２の画像入出力装置が、前記ホストコンピュータから受信した、前記第１の画像入出力装置を駆動するための前記ドライバプログラムを実行し、
前記ドライバプログラムの実行に応じて前記第１の画像入出力装置が駆動されてスキャン動作することで画像データを読み込んで前記第２の画像入出力装置に転送し、
当該第１の画像入出力装置がスキャン動作して得られた画像データを第２の画像入出力装置が取得し、
前記第１の画像入出力装置から取得した画像データを第２の画像入出力装置がプリント処理することを特徴とする分散処理システムの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばデータ入力機能やデータ出力機能等の単機能を組み合わせて複合機能を提供する分散処理システム及びその制御方法に関する。
【０００２】
【従来の技術】
従来、イメージスキャナやデジタルカメラ、ファクシミリ受信装置等の入力装置とプリンタやファクシミリ送信装置等の出力装置などの単機能装置を互いにネットワーク接続し、これら単機能装置の機能を組み合わせた複合機能を提供する分散型の文書処理システムの開発研究が盛んに行なわれている。また、単一の匡体内に複数の上記単機能装置の機能を統合したいわゆるマルチファンクションプロダクト（ＭＦＰ）においても同様に、その内部の単機能を切り出して、ネットワークを介し他の装置の機能と組み合わせることで種々の複合機能を適宜柔軟に実現することが求められ、分散型文書処理システムの開発研究が盛んに行なわれている。
【０００３】
ネットワークに分散した情報処理装置間に跨った機能の提供を容易にするためのプログラミングモデルとしてリモートプロシージャコール（ＲＰＣ）や分散オブジェクトの技術が広く知られている。分散オブジェクトは、オブジェクト指向のソフトウェアモデルを分散システムに拡張したものであり、あるネットワークノード上のオブジェクトが同一ノード上のオブジェクトの操作を呼び出す手順と同等の手順によって（透過に）他のネットワークノード上のオブジェクトの操作の呼び出しを可能とするものである。
【０００４】
文書入力や文書出力を含む文書処理においても、分散オブジェクト技術を適用することで複数の機能の柔軟な連係を達成することが期待されている。純粋な計算などの情報処理の分散処理以外も視野におさめた分散オブジェクトに基づくシステムの提案は、例えばＳｕｎによるＪａｖａの応用であるＪＩＮＩやＯｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ（ＯＭＧ）によるＣＯＲＢＡにおける印刷のための共通ファシリティなどの提案の中に見ることができる。
【０００５】
ネットワークに接続された文書処理のための各種装置群が分散オブジェクトにより制御可能となれば、所定のインタフェースに基づくオブジェクトを提供する各種装置を可換に組み合わせる柔軟なクライアントアプリケーションを容易に記述することが可能となる。また、オブジェクトを操作するたのインタフェースを動的に問い合わせることや、あるいは、遠隔地にあり実際にサービスを提供するサーバオブジェクトとの通信を隠蔽するスタブのインタフェース情報を動的に取得あるいは代理（ｐｒｏｘｙ）オブジェクトを動的にダウンロードすることで、装置の拡張等に伴う制御インタフェースの変更に動的に対応可能なクライアントアプリケーションを容易に記述することもできる。
【０００６】
【発明が解決しようとする課題】
しかしながら上記従来例は、クライアントアプリケーションの動作環境上で文書処理装置の動作を組合せるために以下に述べるような問題があった。すなわち、ネットワーク接続された単機能および複合機能の文書処理装置を組み合わせて必要な組合せ機能を実現するクライアントアプリケーションを記述する場合であって、特に文書入力装置と文書出力装置を組み合わせる場合、例えば文書入力装置である画像スキャナと文書出力装置である画像プリンタとを組み合わせてネットワーク分散型の複写装置を実現する場合、クライアントアプリケーションは、画像スキャナのスキャン操作を呼び出して一般に大量のデータ量となる原稿画像の画像データを取得し、次に画像プリンタのプリント操作を呼び出して、スキャナから取得した画像データをプリンタに渡す手続きをとることになる。これによってクライアントアプリケーションから見るとオブジェクトがどのネットワークノードに存在するかを意識せずに容易かつ統一的な操作の呼び出しによってアプリケーションを記述でき、したがって、様々な文書処理装置を汎用的に組み合わせることが容易となるが、その反面次のような問題を生じる。
【０００７】
すなわち、スキャナからクライアントアプリケーションへ、そして、クライアントアプリケーションからプリンタへ、画像データの転送処理が発生するために、ネットワーク上に多大なトラフィックを発生し、またクライアントアプリケーションの動作環境の記憶領域を大量に占有するという両面で、貴重な資源を消費するコスト的な問題があった。
【０００８】
特に、スキャナから文書入力を開始後にプリンタがエラー状態になった場合などのように、原稿画像データが実際には使われなかった場合であっても、装置からクライアントアプリケーションへ画像データの転送を行なうことになり、ネットワーク上に無駄なトラフィックを増やし、またクライアントアプリケーションの動作環境の記憶領域を無駄に占有するという問題があった。また特に、たとえ同一装置のスキャナとプリンタを組み合わせて動作させる場合であっても、装置からクライアントアプリケーションへ、また、クライアントアプリケーションから装置へ、の２回、画像データの転送を行なうことになり、ネットワーク上に無駄なトラフィックを増やし、またクライアントアプリケーションの動作環境の記憶領域を無駄に占有するという問題があった。
【０００９】
本発明は上記の問題を解決するためになされたものであり，本発明の第１の目的は、分散オブジェクトによる制御可能な装置と概装置からなるシステムにおいて、クライアントアプリケーション動作環境における画像の一時蓄積を行なわず、これによってクライアントの動作環境に大容量記憶領域を不用とするコスト的に有利な分散処理システム及びその制御方法を提供することである。
【００１０】
また本発明の第２の目的は、文書入力装置からクライアントアプリケーションへ、およびクライアントアプリケーションから出力装置へのデータ転送を避け、ネットワークトラフィックを低減する分散処理システム及びその制御方法を提供することである。
【００１１】
また本発明の第３の目的は、特に同一ＭＦＰが提供する文書入力処理のためのオブジェクトと文書出力処理のためのオブジェクトとがクライアントアプリケーションによって組み合わせられる場合には、文書データ転送のためのネットワーク資源の利用を全く行なわず、しかもこれを、クライアントアプリケーションおよび文書入力と文書出力の各オブジェクトからは透過にすることで、分散オブジェクトによる組み合わせの柔軟性や拡張性などを損ねずに達成する、分散処理システム及びその制御方法を提供することである。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明は次のような構成からなる。
【００１３】
ホストコンピュータにより、それぞれがスキャン機能とプリント機能とを有する第１の画像入出力装置と第２の画像入出力装置とを仲介して処理を行なう分散処理システムであって、
前記第１の画像入出力装置は、スキャンサービススタブドライバプログラムを保存し、
前記ホストコンピュータは、前記スキャンサービススタブドライバプログラムを前記第１の画像入出力装置から獲得し、前記第１の画像入出力装置を駆動する前記第２の画像入出力装置に対して、第１の画像入出力装置を駆動するための前記スキャンサービススタブドライバプログラムを送信し、
前記第２の画像入出力装置は、前記ホストコンピュータから受信した、前記第１の画像入出力装置を駆動するための前記スキャンサービススタブドライバプログラムを実行することで前記第１の画像入出力装置を駆動してスキャン動作させ、
当該第１の画像入出力装置がスキャン動作して得られた画像データを前記第２の画像入出力装置が取得し、
前記第１の画像入出力装置から取得した画像データを前記第２の画像入出力装置がプリント処理する。
【００２３】
【発明の実施の形態】
［第１実施形態］
図１は本発明の第１の実施形態であるネットワークシステムを示す図である。同図において、ネットワーク１１にはＪａｖａやＣＯＲＢＡといった分散オブジェクト環境に対応している２台の画像入出力装置１２−１、１２−２とクライアントコンピュータ１３、サービスドライバサーバコンピュータ１４が接続されている。分散オブジェクト環境対応画像入出力装置１２−１と１２−２はそれぞれのデータをネットワーク１１を介して転送することができる。また、クライアントコンピュータ１３から分散オブジェクト環境対応画像入出力装置１２−１と１２−２をそれぞれ遠隔操作を行うことができるようになっている。
【００２４】
サービスドライバサーバコンピュータ１４はクライアントコンピュータ１３から分散オブジェクト環境対応画像入出力装置１２を遠隔操作するために必要なサービスドライバが登録されている。
【００２５】
＜画像入出力装置の構成＞
図２は図１の分散オブジェクト環境対応画像入出力装置１２−１，１２−２の構成を示すブロック図である。
【００２６】
同図において、リーダ部１は原稿の画像を読み取り、原稿画像に応じた画像データを画像入出力制御部３へ出力する。プリンタ部２は画像入出力制御部３からの画像データに応じた画像を記録紙上に記録する。画像入出力制御部３はリーダ部１およびプリンタ部２に接続されており、ファクシミリ部４、ストレージ部５、コンピュータインターフェイス部７、ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ）部８、操作部９、コア部１０などからなる。
【００２７】
ファクシミリ部４は電話回線を介して受信した圧縮画像データを伸長して、伸長された画像データをコア部１０へ転送し、又、コア部１０から転送された画像データを圧縮して、圧縮された圧縮画像データを電話回線を介して送信する。送受信する画像データは、ストレージ部５に接続されたハードディスク６中に一時的に保存することができる。
【００２８】
ストレージ部５にはハードディスク６が接続されており、ストレージ部５はコア部１０から転送された画像データを圧縮し、その画像データを検索するためのＩＤ番号とともにハードディスク６に記憶させる。又、ストレージ部５はコア部１０を介して転送されたコードデータに基づいてハードディスク６に記憶されている圧縮画像データを検索し、検索された圧縮画像データを読み出して伸長し、伸長された画像データをコア部１０へ転送する。コンピュータインターフェイス部７は、ネットワーク１１とコア部１０の間のインターフェイスであり、クライアントコンピュータ１３や他の分散オブジェクト環境対応画像入出力装置１２とのデータのやり取りを行う。
【００２９】
ＲＩＰ部８はネットワーク１１から転送された画像を表すコードデータ（ＰＤＬ）をプリンタ部２で記録できる画像データに展開するものである。
【００３０】
操作部９はタッチパネルディスプレイとハードキーを備え、ユーザーインターフェースにより、本分散オブジェクト環境対応画像入出力装置への動作指示や動作設定等を行うものである。
【００３１】
コア部１０については後述するが、コア部１０はリーダ部１、プリンタ部２、ファクシミリ部４、ストレージ部５、コンピュータインターフェイス部７、ＲＩＰ部８、操作部９のそれぞれの間のデータの流れを制御するものである。
【００３２】
図３はリーダ部１及びプリンタ部２の断面図である。リーダ部１の原稿給送装置１０１は原稿を先頭順に１枚ずつプラテンガラス１０２上へ給送し、原稿の読み取り動作終了後、プラテンガラス１０２上の原稿を排出するものである。原稿がプラテンガラス１０２上に搬送されると、ランプ１０３を点灯し、そしてスキャナユニット１０４の移動を開始させて、原稿を露光走査する。この時の原稿からの反射光は、ミラー１０５、１０６、１０７、及びレンズ１０８によってＣＣＤイメージセンサ（以下ＣＣＤという）１０９へ導かれる。このように、走査された原稿の画像はＣＣＤ１０９によって読み取られる。ＣＣＤ１０９から出力される画像データは、所定の処理が施された後、画像入出力制御部３のコア部１０へ転送される。
【００３３】
プリンタ部２のレーザドライバ２２１はレーザ発光部２０１を駆動するものであり、画像入出力制御部３のコア部１０から出力された画像データに応じたレーザ光をレーザ発光部２０１に発光させる。このレーザ光は感光ドラム２０２に照射され、感光ドラム２０２にはレーザ光に応じた潜像が形成される。この感光ドラム２０２の潜像の部分には現像器２０３によって現像剤が付着される。そして、レーザ光の照射開始と同期したタイミングで、カセット２０４及びカセット２０５のいずれかから記録紙を給紙して転写部２０６へ搬送し、感光ドラム２０２に付着された現像剤を記録紙に転写する。現像剤の乗った記録紙は定着部２０７に搬送され、定着部２０７の熱と圧力により現像剤は記像紙に定着される。定着部２０７を通過した記録紙は排出ローラ２０８によって排出され、フィニッシャー２２０は排出された記録紙を束ねて記録紙の仕分けをしたり、仕分けされた記録紙のステイプルを行う。また、両面記録が設定されている場合は、排出ローラ２０８のところまで記録紙を搬送した後、排出ローラ２０８の回転方向を逆転させ、フラッパ２０９によって再給紙搬送路２１０へ導く。再給紙搬送路２１０へ導かれた記録紙は上述したタイミングで転写部２０６へ給紙される。
【００３４】
図４はコア部１０のブロック図である。リーダ部１からの画像データはインターフェース１２２を介して、データ処理部１２１へ転送される。データ処理部１２１は画像の回転処理や変倍処理などの画像処理や画像データの圧縮、伸長を行うものであり、内部にＡ４／Ｌｅｔｔｅｒサイズ相当の画像データ複数ページ分のページメモリを有する。リーダ部１からデータ処理部１２１へ転送された画像データは、ページメモリに一時的に記憶された後、圧縮されてインターフェイス１２０を介してストレージ部５へ転送される。また、コンピュータインターフェイス部７を介して入力された画像を表すコードデータ（ＰＤＬ）は、インターフェース１２０を介してデータ処理部１２１に転送された後ＲＩＰ部８へ転送されて画像データに展開され、この画像データはデータ処理部１２１に転送された後、ページメモリに一時的に記憶された後、圧縮されてストレージ部５へ転送される。ファクシミリ部４からの画像データは、データ処理部１２１へ転送された後、ページメモリに一時的に記憶された後、圧縮されてストレージ部５へ転送される。また、ストレージ部５からの画像データは、データ処理部１２１へ転送された後、伸長されてページメモリに一時的に記憶された後、プリンタ部２やファクシミリ部４、コンピュータインターフェイス部７へ転送される。尚、前述したデータ処理部１２１へ各種画像データを入力し、ページメモリに一時的に記憶した後、ストレージ部５へ画像データを転送する前に、プリンタ部２やファクシミリ部４、コンピュータインダーフェイス部７へ転送することも内部のセレクタを切り替えて転送することができる。
【００３５】
ＣＰＵ１２３は、メモリ１２４に記憶されている制御プログラム、及び操作部９から転送された制御コマンドに従ってこのような制御を行う。また、メモリ１２４はＣＰＵ１２３の作業領域としても使われる。このように、コア部１０を中心に、データ処理部１２１およびストレージ部５を介して、原稿画像の読み取り、画像のプリント、画像の送受信、画像の保存、コンピュータからのデータの入出力などの機能を複合させた処理を行うことが可能である。
【００３６】
＜ジョブ制御＞
次に、本実施例に係る分散オブジェクト環境対応画像入出力装置におけるジョブ制御について、図５を用いて説明する。図５はジョブ制御の単位を論理的に示したものである。ジョブ制御の単位は複数ページを含む画像データひとまとまりに対する入力および出力処理である。これにより制御されるジョブは画像入力ジョブと画像出力ジョブに大別される。画像入力ジョブはリーダー部で読み取った画像データを順次ストレージ部５へ記録する画像入力ジョブ４１１、ＲＩＰ部で展開された画像データを順次ストレージ部５へ記録する画像入力ジョブ４１２、ファクシミリ部で受信された画像データを順次ストレージ部５へ記録する画像入力ジョブ４１３、コンピュータインターフェース部から入力された画像データを順次ストレージ部５へ記録する画像入力ジョブ４１４にさらに分類される。また、画像出力ジョブは、ストレージ部５から読み出した画像データを順次プリンタ部へ出力する画像出力ジョブ４０１、ストレージ部５から読み出した画像データを順次ファクシミリ部へ出力する画像出力ジョブ４０３、ストレージ部５から読み出した画像データを順次コンピュータインターフェース部へ出力する画像出力ジョブ４０４に分類される。
【００３７】
図６は、複数のジョブを組み合わせた単位（以下セッションと呼ぶ）の一例を示したものである。コピーセッション５０１は、画像入力ジョブ４１１と画像出力ジョブ４０１を組み合わせてセッションとして制御する。ＰＤＬプリントセッション５０２は、画像入力ジョブ４１２と画像出力ジョブ４０１を組み合わせてセッションとして制御するものである。ファクシミリ受信セッション５０３は、画像入力ジョブ４１３と画像出力ジョブ４０１を組み合わせてセッションとして制御する。プリンタセッション５０４は、画像入力ジョブ４１４と画像出力ジョブ４０１を組み合わせてセッションとして制御する。ファクシミリ送信セッション５０５は、画像入力ジョブ４１１と画像出力ジョブ４０３を組み合わせてセッションとして制御する。スキャンセッション５０６は、画像入力ジョブ４１１と画像出力ジョブ４０４を組み合わせてセッションとして制御する。ＦＡＸモデム受信セッション５０７は、画像入力ジョブ４１３と画像出力ジョブ４０４を組み合わせてセッションとして制御する。ＦＡＸモデム送信セッション５０８は、画像入力ジョブ４１４と画像出力ジョブ４０３を組み合わせてセッションとして制御する。尚、セッションは１つ以上のジョブを含む制御単位であり、例えば画像入力ジョブ４１２を１セッションとして扱ったり、また、画像出力ジョブ４０１をセッションとして扱ったり、画像入力ジョブ４１２と画像出力ジョブ４０１と、画像出力ジョブ４０３を組み合わせて１セッションとして扱っても良い。
【００３８】
図７はコンピュータインターフェース部７のブロック図である。コンピュータインターフェース部７には各セッションに対応するサービスドライバ群６０１が登録されている。ここではコンピュータインターフェース部６がデータの転送経路となる画像入力ジョブ４１４、あるいは画像出力ジョブ４０４を含むセッションが対象となる。また、例外的にＲＩＰ部８からの画像入力ジョブ４１２はＲＩＰ部８へＰＤＬデータが転送する経路としてコンピュータインターフェース部７が含まれるので、画像入力ジョブ４１２が含まれるセッションも対象となる。つまり図６におけるセッションにおいて、ＰＤＬプリントセッション５０２、プリンタセッション５０４、スキャンセッション５０６、ＦＡＸモデム受信セッション５０７、ＦＡＸモデム送信セッション５０８が対象となり、それぞれ対応するＰＤＬプリントサービスドライバ６０２、プリンタサービスドライバ６０３、スキャンサービスドライバ６０４、ＦＡＸモデム受信サービスドライバ６０５、ＦＡＸモデム送信サービスドライバ６０６らのサービスドライバがコンピュータインターフェース部７に登録されている。さらにサービスドライバはスケルトンサービスドライバとスタブサービスドライバとに分けられる。例えばＰＤＬプリントサービスドライバ６０２においては、ＰＤＬプリントサービススケルトンドライバ６０７とＰＤＬプリントサービススタブドライバ６０８に分けられる。他のサービスドライバも同様にプリンタサービススケルトンドライバ６０９とプリンタサービススタブドライバ６１０、スキャンサービススケルトンドライバ６１１とスキャンサービススタブドライバ６１２、ＦＡＸモデム受信サービススケルトンドライバ６１３とＦＡＸモデム受信サービススタブドライバ６１４、ＦＡＸモデム送信サービススケルトンドライバ６１５とＦＡＸモデム送信サービススタブドライバのようにスケルトンドライバとスタブドライバが一組となって構成されている。
【００３９】
図１１を用いてスケルトンドライバとスタブドライバの関係を示す。これらスケルトンドライバ、スタブドライバの関係は、すでに分散オブジェクト環境のリモートプロシージャコールとして、公知の技術としてさまざまな場面で利用されている。例えば、Ｊａｖａ言語のＲＭＩやＣＯＲＢＡのＯＲＢなどである。スケルトンドライバ、スタブドライバの例としてＰＤＬプリントサービススケルトンドライバ６０７とＰＤＬプリントサービススタブドライバ６０８を用いて説明する。ＰＤＬプリントサービススケルトンドライバ６０７はそのサービスを提供する分散オブジェクト環境対応画像入出力装置１２に留まるソフトウェア部品である。それに対しＰＤＬプリントスタブドライバ６０８は、そのサービスを利用したい装置（ここではクライアントコンピュータ１３）から呼ばれて実行される。
【００４０】
ＰＤＬプリントサービススケルトンドライバ６０７に「印刷」というサービス２００１がある場合、そのサービスを呼ぶためのインターフェース２００２をＰＤＬプリントサービススタブドライバ６０８は持っている。
【００４１】
分散オブジェクト環境対応画像入出力装置１２の「印刷」というサービスを利用したいクライアントコンピュータ１３はＰＤＬプリントサービススタブドライバ６０８のインターフェース２００２を呼ぶことによって、ＰＤＬプリントサービススケルトンドライバ６０７のある分散オブジェクト環境対応画像入出力装置１２に印刷を行うことが可能となる。
【００４２】
＜リモートプリント手順＞
図８を用いて本実施形態に関わるクライアントコンピュータ１３から分散オブジェクト環境対応画像入出力装置１２へＰＤＬプリントを行なう手順を説明する。クライアントコンピュータ１３から分散オブジェクト環境対応画像入出力装置１２へＰＤＬプリントを行うには、クライアントコンピュータ１３は分散オブジェクト環境対応画像入出力装置１２からコンピュータインターフェース部７に登録されているサービスドライバ群６０１のうち、ＰＤＬプリントサービスドライバ６０２のＰＤＬプリントサービススタブドライバ６０８をダウンロードする必要がある。クライアントコンピュータ１３には仮想マシン８０１が備わっている。ＰＤＬプリントサービススタブドライバ６０８はこの仮想マシン８０１上で動作する中間言語（たとえばＪａｖａ言語）で記述されており、クライアントコンピュータ１３のＣＰＵやオペレーティングシステムを問わずに動作可能である。
【００４３】
ＰＤＬプリントサービススタブドライバ６０８の構造は図９に示すようにユーザーインターフェース部９０１とプログラムインターフェース部９０２の２つに分けることができる。ユーザーインターフェース部９０１はユーザーがＰＤＬプリントサービスをどのように使いたいか、例えば出力する用紙のサイズや、部数などといったサービスとの対話部分を担当するプログラムである。これらユーザーインターフェース部９０１の一例を図１０に示す。プログラムインターフェース部９０２はＰＤＬプリントサービススケルトンドライバ６０７とのリモートプロシージャコールのインターフェースである。プログラムインターフェースを呼び出すと、それに対応するＰＤＬプリントサービススケルトンドライバ６０７のインターフェースが呼び出される。プログラムインターフェース部９０２には最低限のインターフェースとして受信（ｐｕｌｌ）９０３、送信（ｐｕｓｈ）９０４の２つが必要である。
【００４４】
まず、クライアントコンピュータ１３から分散オブジェクト環境対応画像入出力装置１２へＰＤＬプリントを行なう手順を図１２のイベントトレース図を用いて説明する。
【００４５】
ステップ（Ｓ１２０１）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２に対してＰＤＬプリントを行うために、ＰＤＬプリントサービススタブドライバ６０８を分散オブジェクト環境対応画像入出力装置１２に要求する。
【００４６】
ステップ（Ｓ１２０２）では、分散オブジェクト環境対応画像入出力装置１２がクライアントコンピュータ１３からの要求（Ｓ１２０１）に応え、ＰＤＬプリントサービススタブドライバ６０８をクライアントコンピュータ１３に渡す。
【００４７】
ステップ（Ｓ１２０３）では、分散オブジェクト環境対応画像入出力装置１２のプリント命令を呼び出す。
【００４８】
ステップ（Ｓ１２０４）では，ドキュメントの実データが転送され，データがプリントアウトされる。
【００４９】
＜リモートスキャン手順＞
次に図１３のように分散オブジェクト環境対応画像入出力装置１２のスキャンサービスを利用し、クライアントコンピュータ１３に画像データを取り込む場合を説明する。クライアントコンピュータ１３は分散オブジェクト環境対応画像入出力装置１２のスキャンサービスを利用するために、スキャンサービススタブドライバ６１２を分散オブジェクト環境対応画像入出力装置１２から取り込む。実際の動作の流れを図１４を用いて説明する。
【００５０】
ステップ（Ｓ１４０１）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２に対してスキャンを行うために、スキャンサービススタブドライバ６１２を分散オブジェクト環境対応画像入出力装置１２に要求する。
【００５１】
ステップ（Ｓ１４０２）では、分散オブジェクト環境対応画像入出力装置１２がクライアントコンピュータ１３からの要求（Ｓ１４０１）に応え、スキャンサービススタブドライバ６１２をクライアントコンピュータ１３に渡す。
【００５２】
ステップ（Ｓ１４０３）では、分散オブジェクト環境対応画像入出力装置１２のスキャン命令を呼び出す。
【００５３】
ステップ（Ｓ１４０４）では、分散オブジェクト環境対応画像入出力装置１２がクライアントコンピュータ１３からの要求（Ｓ１４０３）に応え、スキャンした実データがクライアント側へ転送される。
【００５４】
＜リモートコピー手順（１）＞
次に、図１５に示したような構成において、分散オブジェクト環境対応画像入出力装置１２−１により原稿画像をスキャンし、分散オブジェクト環境対応画像入出力装置１２−２によりそれを印刷させるリモートコピーの手順を説明する。
【００５５】
図１５のようにネットワーク１１上に分散オブジェクト環境対応画像入出力装置１２が２台（それぞれ分散オブジェクト環境対応画像入出力装置１２−１、分散オブジェクト環境対応画像入出力装置１２−２とする）、クライアントコンピュータ１３が接続されている。クライアントコンピュータ１３は、分散オブジェクト環境対応画像入出力装置１２−１のスキャンサービスを利用し、そして分散オブジェクト環境対応画像入出力装置１２−のプリントサービスを利用し、分散オブジェクト環境対応画像入出力装置１２−１から分散オブジェクト環境対応画像入出力装置１２−２へのリモートコピーを行なう。クライアントコンピュータ１３は分散オブジェクト環境対応画像入出力装置１２−１のスキャンサービスを利用するために、スキャンサービススタブドライバ６１２を分散オブジェクト環境対応画像入出力装置１２−１から取り込む。また分散オブジェクト環境対応画像入出力装置１２−２のプリントサービスを利用するためにプリントサービススタブドライバ６１０を分散オブジェクト環境対応画像入出力装置１２−２から取り込む。実際の動作の流れを図１６を用いて説明する。
【００５６】
ステップ（Ｓ１６０１）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２−１に対してスキャンを行うために、スキャンサービススタブドライバ６１２を分散オブジェクト環境対応画像入出力装置１２−１に要求する。
【００５７】
ステップ（Ｓ１６０２）では、分散オブジェクト環境対応画像入出力装置１２−１がクライアントコンピュータ１３からの要求（Ｓ１６０１）に応え、スキャンサービススタブドライバ６１２をクライアントコンピュータ１３に渡す。
【００５８】
ステップ（Ｓ１６０３）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２−２に対してプリントを行なうために、プリントサービススタブドライバ６１０を分散オブジェクト環境対応画像入出力装置１２−２に要求する。
【００５９】
ステップ（Ｓ１６０４）では、分散オブジェクト環境対応画像入出力装置１２−２がクライアントコンピュータ１３からの要求（Ｓ１６０３）に応え、スキャンサービススタブドライバ６１０をクライアントコンピュータ１３に渡す。
【００６０】
ステップ（Ｓ１６０５）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２−１に書き込み先である画像入力装置１２−２のスタブドライバを渡す。
【００６１】
ステップ（Ｓ１６０６）では、画像入出力装置１２−１が自身のｓｃａｎメソッドを起動してドキュメントデータを読み込んだ後、画像入出力装置１２−２の書き込みメソッドを呼び出す。
【００６２】
ステップ（Ｓ１６０７）では、画像入出力装置１２−１から画像入出力装置１２−２へ、実際にデータを転送する。このデータが画像入出力装置１２−２により印刷出力される。
【００６３】
＜リモートコピー手順（２）＞
また、他のリモートコピーの手順として次のような例を説明する。この例でも、図１５に示したような構成において、分散オブジェクト環境対応画像入出力装置１２−１により原稿画像をスキャンし、分散オブジェクト環境対応画像入出力装置１２−２によりそれを印刷させる。実際の動作の流れを図２１を用いて説明する。
【００６４】
ステップ（Ｓ２１０１）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２−１に対してスキャンを行うために、スキャンサービススタブドライバ６１２を分散オブジェクト環境対応画像入出力装置１２−１に要求する。
【００６５】
ステップ（Ｓ２１０２）では、分散オブジェクト環境対応画像入出力装置１２−１がクライアントコンピュータ１３からの要求（Ｓ２１０１）に応え、スキャンサービススタブドライバ６１２をクライアントコンピュータ１３に渡す。
【００６６】
ステップ（Ｓ２１０３）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２−２に対してプリントを行なうために、プリントサービススタブドライバ６１０を分散オブジェクト環境対応画像入出力装置１２−２に要求する。
【００６７】
ステップ（Ｓ２１０４）では、分散オブジェクト環境対応画像入出力装置１２−２がクライアントコンピュータ１３からの要求（Ｓ２１０３）に応え、スキャンサービススタブドライバ６１０をクライアントコンピュータ１３に渡す。
【００６８】
ステップ（Ｓ２１０５）では、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２−２に読み込み先である画像入力装置１２−１のスタブドライバを渡す。
【００６９】
ステップ（Ｓ２１０６）では、分散オブジェクト環境対応画像入出力装置１２−２が自身のｐｒｉｎｔメソッドを起動し、その中で分散オブジェクト環境対応画像入出力装置１２−１の読み込みメソッドを呼び出す。
【００７０】
ステップ（Ｓ２１０７）では、分散オブジェクト環境対応画像入出力装置１２−１が分散オブジェクト環境対応画像入出力装置１２−２からの読込みメソッドの呼出し要求（Ｓ２１０６）に応えてドキュメントをスキャンし、読み込んだドキュメントの実データを転送する。
【００７１】
画像入出力装置１２−２は、画像入出力装置１２−１から受信したデータを印刷する。
【００７２】
以上のようにして、スタブドライバを仲介するホストコンピュータが有するのではなく、文書データのリード及びライトを行う装置のいずれかに相手装置のスタブドライバを持たせ、そのスタブドライバによって相手装置を制御してデータのリードあるいはライトを行わせる。こすることにより、仲介するホストコンピュータコンピュータは、文書データの送受信から解放され、資源の消費を節約でき、ホストコンピュータで実行される処理が、仲介による負荷によって遅滞したり、あるいは実行できない状態となったりする事態を防止できる。
【００７３】
また、特に同一ＭＦＰが提供する文書入力処理のためのオブジェクトと文書出力処理のためのオブジェクトとがクライアントアプリケーションによって組み合わせられる場合には、文書データ転送のためのネットワーク資源を全く利用せずに済む。しかもこれを、クライアントアプリケーションおよび文書入力と文書出力の各オブジェクトからは透過にすることで、分散オブジェクトによる組み合わせの柔軟性や拡張性などを損ねずに達成できる。
【００７４】
［第２実施形態］
図１２のＳ１２０１、図１４のＳ１４０１、図１６のＳ１６０１、Ｓ１６０３、あるいは図２１のＳ２１０１、Ｓ２１０３において、分散オブジェクト環境対応画像入出力装置１２のスキャンサービスやＰＤＬプリントサービス、そしてプリントサービスを利用するために、それぞれの分散オブジェクト環境対応画像入出力装置１２からスタブドライバをダウンロードしていた。しかし、第１実施形態の方法ではネットワーク１１上にあらかじめ分散オブジェクト環境対応画像入出力装置１２が存在していることをクライアントコンピュータ１３を利用するユーザーは知っていなければならない。
【００７５】
そこで、クライアントコンピュータ１３を利用するユーザーがネットワーク１１の構成を知らなくても、自分の利用したい周辺機器のサービスに対応したスタブドライバをダウンロードできる仕組みを図１７を用いて説明する。図１５の構成と異なり、ネットワーク上にはドライバサーバー１４が存在している。まず、ネットワークに接続された分散オブジェクト環境対応画像入出力装置１２−１と１２−２はスタブドライバ群６１７−１、６１７−２をそれぞれドライバサーバー１４に登録する。
【００７６】
ドライバサーバ１４内では、登録されたスタブドライバは、図１８に示すスタブドライバ管理テーブル１８０１に、登録された日時とサービスの内容と周辺機器名で管理されている。クライアントコンピュータ１３は「プリントサービスを受けたい」「スキャンサービスを受けたい」という要求がある場合には、まずドライバサーバ１４の管理テーブル１８０１をクライアントコンピュータ１３は見て、どのようなサービスが登録されているのかを確認し、自分が要求するサービスをドライバサーバ１４からダウンロードする。
【００７７】
図１９に周辺機器からスタブドライバをドライバサーバ１４へアップロードするまでの過程と、図２０にドライバサーバ１４からクライアントコンピュータ１３へドライバをダウンロードするまでの過程を図示する。
【００７８】
図１９において、まず分散オブジェクト環境対応画像入出力装置１２がネットワーク１１に接続された瞬間に、ネットワーク１１上に対してドライバサーバーが存在するかどうかのブロードキャストパケットを投げる（１）。そのパケットを受け取ったドライバサーバ１４は、分散オブジェクト環境対応画像入出力装置１２に対して、ドライバサーバ１４の存在を通知する（２）。その後、分散オブジェクト環境対応画像入出力装置１２は発見したドライバサーバ１４に対してドライバ６１７を登録する（３）。このようにして、ドライバサーバに１４に管理テーブル１８０１が作成され格納される。
【００７９】
また、周辺機器が有するデバイスがネットワーク１１から切り離されたときも同様にして、デバイスの切り離しにより機能しなくなったドライバをサーバ１４に通知する。サーバはこれを受信して管理テーブルを更新する。また、周辺機器そのものがネットワークから切り離された場合には、定期的にネットワーク上に流されるデータが途絶えたことをもってその周辺機器がネットワークから切り離されたものと判定し、その周辺機器が備えるデバイスのスタブドライバを使用不能として管理テーブル１８０１に登録する。
【００８０】
図２０において、クライアントコンピュータ１３が分散オブジェクト環境対応画像入出力装置１２を利用する場合、まずドライバサーバ１４に対して、どのようなサービスに対応しているドライバが存在しているかどうか検索する（１）。そしてクライアントコンピュータ１３が必要だと思われるドライバをドライバサーバーからダウンロードし（２）、目的のサービスを提供する分散オブジェクト環境対応画像入出力装置１２と通信を行う（３）。なお、このステップ（１）と（２）においては、クライアントが管理テーブル１８０１をサーバ１４からダウンロードしてその内容を検索し、必要なドライバプログラムをサーバ１４に要求するという手順であっても良いし、クライアントが必要なデバイスの識別子（周辺機器名）と必要なサービス内容とをサーバ１４に送信し、サーバ１４が条件に適合するスタブドライバを管理テーブル１８から検索してクライアントに送信しても良い。
【００８１】
以上のようにして、ネットワークに接続されたデバイスのスタブドライバをドライバサーバの管理テーブルにより一元的に管理することにより、この管理テーブルを参照することで使用可能なスタブドライバを知ることができ、ユーザがネットワーク資源に関してドライバサーバ１４以外の知識が無くても、ネットワーク資源を利用することができる。
【００８２】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８３】
また、本発明の目的は、前述した実施形態の機能を実現する、図１６あるいは図２１の手順を各装置において実行するためのソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成される。
【００８４】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８６】
【発明の効果】
以上のように、本発明によれば、画像の入力デバイスと出力デバイスとの間で画像データの一時蓄積を行なわないので、このための記憶領域及びデータ転送及び記憶処理が不要となり、システム資源を節約し、効率的な処理を少ない資源で行える。
【００８７】
また本発明によれば、画像データの転送を減らし、ネットワークトラフィックを低減することができる。
【００８８】
また、デバイスの機能を一元的に管理することで、システムに関する知識が無くとも、デバイスを利用することができる。
【図面の簡単な説明】
【図１】本発明の実施例のネットワーク構成の図である。
【図２】本発明の実施例の分散オブジェクト環境対応画像入出力装置のブロック図である。
【図３】リーダ部及びプリンタ部の断面図である。
【図４】コア部のブロック図である。
【図５】画像入力ジョブと画像出力ジョブのブロック図である。
【図６】セッションの構成例を示す図である。
【図７】コンピュータインターフェース部の構成を示す図である。
【図８】実施例１のネットワークの構成を示す図である
【図９】スタブドライバの構成を示す図である。
【図１０】スタブドライバのユーザーインターフェースの例を示す図である。
【図１１】スケルトンドライバとスタブドライバの関係を示す図である。
【図１２】リモートプリントのイベントトレース図である。
【図１３】ネットワークの構成を示す図である。
【図１４】リモートスキャンのイベントトレース図である。
【図１５】ネットワークを示す図である。
【図１６】リモートコピーのイベントトレース図（１）である。
【図１７】画像入出力装置内のスタブドライバの取得法を示す図である。
【図１８】ドライバサーバー内の管理テーブルの構成を示す図である。
【図１９】ドライバサーバーに周辺機器がドライバを登録する方法を示した図である。
【図２０】クライアントコンピュータがドライバサーバーよりドライバを取得する方法を示した図である。
【図２１】リモートコピーのイベントトレース図（２）である。
【符号の説明】
１  リーダ部
２  プリンタ部
３  画像入出力制御部
４  ファクシミリ部
５  ストレージ部
７  コンピュータインターフェイス部
８  ＲＩＰ部
９  操作部
１０  コア部
１１  ネットワーク
１２−１  分散オブジェクト環境対応画像入出力装置１
１２−２  分散オブジェクト環境対応画像入出力装置２
１３  クライアントコンピュータ
１４  ドライバサーバー
６０１  サービスドライバ
６０７，６０９，６１１，６１３，６１５  サービススケルトンドライバ
６０８，６１０，６１２，６１４，６１６  サービススタブドライバ
６１７  サービススケルトンドライバ群
【図１】
0004383625.tif 000002
【図２】
0004383625.tif 000003
【図３】
0004383625.tif 000004
【図４】
0004383625.tif 000005
【図５】
0004383625.tif 000006
【図６】
0004383625.tif 000007
【図７】
0004383625.tif 000008
【図８】
0004383625.tif 000009
【図９】
0004383625.tif 000010
【図１０】
0004383625.tif 000011
【図１１】
0004383625.tif 000012
【図１２】
0004383625.tif 000013
【図１３】
0004383625.tif 000014
【図１４】
0004383625.tif 000015
【図１５】
0004383625.tif 000016
【図１６】
0004383625.tif 000017
【図１７】
0004383625.tif 000018
【図１８】
0004383625.tif 000019
【図１９】
0004383625.tif 000020
【図２０】
0004383625.tif 000021
【図２１】
0004383625.tif 000022