(57)【特許請求の範囲】
【請求項１】
第１アプリケーション・プログラムを第１スキャナにインターフェースするためのドライバであって、
前記第１アプリケーション・プログラムは前記第１スキャナにコマンドを転送するように働き、前記第１スキャナはドキュメントをスキャンして画像データおよび状態データを前記スキャンから前記第１アプリケーション・プログラムに転送するように働き、前記ドライバが、
前記第１アプリケーション・プログラムと結合され、前記第１アプリケーション・プログラムから前記コマンドを受け取るように働くアプリケーション・プログラム・インタフェース（「ＡＰＩ」）と、
前記ＡＰＩおよび前記第１スキャナと結合され、前記第１スキャナから前記画像データおよび前記状態データを受け取り、前記画像データおよび前記状態データを前記第１アプリケーション・プログラムに提供し、かつ少なくとも前記状態データに基づく前記第１アプリケーション・プログラムからのコマンドであって、前記第１スキャナのスキャン品質を再調整するコマンドを前記第１スキャナに送信するように働く第１スキャナ・パーソナリティ・モジュール（「ＳＰＭ」）とを備え、
前記ＡＰＩおよび前記第１ＳＰＭが、前記第１アプリケーション・プログラムと前記第１スキャナとの間の実時間通信を可能にするドライバ。
【請求項２】
前記第１スキャナが第１型であり、前記第１ＳＰＭが前記第１型に関連付けられ、前記ドライバがさらに、前記第１ＡＰＩと結合されかつ第２型のスキャナに関連付けられた第２ＳＰＭを備えた請求項１に記載のドライバ。
【請求項３】
前記第１ＳＰＭがさらに、前記コマンドを前記第１スキャナに転送しながら、前記第１スキャナから前記画像データおよび前記状態データを同時に受け取るように働く、請求項１に記載のドライバ。
【請求項４】
前記第１ＳＰＭがさらに、前記第１アプリケーション・プログラムが非同期にアクセス可能なバッファに前記画像データを提供するように働く、請求項１に記載のドライバ。
【請求項５】
前記バッファがハード・ディスクを含む、請求項４に記載のドライバ。
【請求項６】
前記第１ＳＰＭがさらに、前記スキャンの進行中に、前記第１スキャナのスキャン品質を再調整するコマンドを前記第１スキャナに実質的に同時に転送するように働く、請求項１に記載のドライバ。
【請求項７】
ワークステーション上で実行する１つまたはそれ以上のアプリケーション・プログラムを、前記ワークステーションに結合された１つまたはそれ以上のスキャナにインターフェースするためにコンピュータ・ワークステーション内にインプリメントされたシステムであって、前記１つまたはそれ以上のスキャナの各々がスキャナ・インタフェースを含み、前記システムが、
前記１つまたはそれ以上のアプリケーション・プログラムからコマンドを受け取るように働く第１モジュールと、
前記第１モジュールに結合され、前記１つまたはそれ以上のスキャナのうちの第１スキャナに関連付けられた第２モジュールであって、前記第２モジュールが前記１つまたはそれ以上のスキャナのうちの前記第１スキャナの前記スキャナ・インタフェースと結合され、前記第１モジュールから前記コマンドを受け取り、前記コマンドを前記スキャナ・インタフェースに変換するように働き、前記第２モジュールがさらに前記１つまたはそれ以上のスキャナのうちの前記第１スキャナから前記スキャナ・インタフェースを介して画像データおよび状態データを受け取り、前記画像データおよび前記状態データを前記１つまたはそれ以上のアプリケーション・プログラムに供給するよう働く第２モジュールと、
を備え、
前記１つまたはそれ以上のスキャナのうちの前記第１スキャナでスキャンが進行中に、前記第２モジュールが前記コマンドを前記スキャナ・インタフェースに変換し、かつ前記画像データおよび前記状態データを受け取ることができ、
前記１つまたはそれ以上のスキャナのうちの前記第１スキャナでスキャンが進行中に、前記第２モジュールが前記コマンドを前記スキャナ・インタフェースに変換し、かつ前記画像データおよび前記状態データを前記１つまたはそれ以上のアプリケーション・プログラムに供給し、前記アプリケーション・プログラムが進行中のスキャンを再調整する少なくとも前記状態データに基づくコマンドを前記第１モジュールに供給することができるシステム。
【請求項８】
前記第１モジュールがさらに、前記１つまたはそれ以上のアプリケーションの全てに統一な（uniform）インタフェースを提供するように働く、請求項７に記載のシステム。
【請求項９】
前記スキャナ・インタフェースがさらにハードウェア・インタフェースおよびソフトウェア・インタフェースを含む、請求項７に記載のシステム。
【請求項１０】
バッファをさらに含み、前記バッファに前記１つまたはそれ以上のアプリケーション・プログラムが非同期にアクセスすることができ、前記第２モジュールがさらに前記画像データを前記バッファに格納するように働く、請求項７に記載のシステム。
【請求項１１】
前記バッファがハード・ディスクを含む、請求項１０に記載のシステム。
【請求項１２】
第１アプリケーション・プログラムを第１スキャナに接続する方法であって、前記第１アプリケーション・プログラムが前記第１スキャナに結合された第１コンピュータ上で実行し、前記方法が、
（ａ）前記第１アプリケーション・プログラムによって指示される通りに前記第１スキャナ上で第１ドキュメントの第１スキャンを開始し、
（ｂ）前記第１スキャンが進行するにつれて、前記第１スキャンによって生成された第１画像データを受け取り、
（ｃ）前記第１スキャンが進行するにつれて、前記第１スキャナから第１状態データを受け取り、
（ｄ）前記第１スキャンが進行するにつれて、前記第１画像データおよび前記第１状態データを前記第１アプリケーション・プログラムに供給し、
（ｅ）前記第１スキャンが進行するにつれて、前記受け取った第１画像データおよび前記受け取った第１状態データに基づいて前記第１スキャンを調整することを含む方法。
【請求項１３】
（ｅ）の処理が、前記第１アプリケーション・プログラムによって指示される通りに前記第１スキャンを調整することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記調整が自動である、請求項１３に記載の方法。
【請求項１５】
（ｅ）の処理が、前記第１スキャナの画像処理アルゴリズムを調整することをさらに含む、請求項１２に記載の方法。
【請求項１６】
（ｅ）の処理が、前記第１スキャナの画像処理の解像度を調整することをさらに含む、請求項１２に記載の方法。
【請求項１７】
（ｅ）の処理が、前記第１スキャナのビット深度（bit depth）を調整することをさらに含む、請求項１２に記載の方法。
【請求項１８】
（ｄ）の処理が、前記第１アプリケーション・プログラムがアクセス可能なバッファ領域に前記第１画像データを供給することをさらに含む、請求項１２に記載の方法。
【請求項１９】
前記バッファ領域がハード・ドライブを含む、請求項１８に記載の方法。
【請求項２０】
前記バッファ領域が前記第１アプリケーション・プログラムによって非同期にアクセス可能である、請求項１８に記載の方法。
【請求項２１】
前記第１スキャンが毎分約６５ページの速度で進行する、請求項１２に記載の方法。
【請求項２２】
（ａ）の処理が、前記第１スキャンを開始するために前記第１アプリケーション・プログラムによって生成された１つまたはそれ以上の汎用コマンドを第１モジュールで受け取り、前記１つまたはそれ以上の汎用コマンドを前記第１モジュールに結合された第２モジュールに転送し、前記１つまたはそれ以上の汎用コマンドを前記第２モジュールで１つまたはそれ以上の特定コマンドに変換し、前記１つまたはそれ以上の特定コマンドを前記第２モジュールから前記第１スキャナに転送することをさらに含み、
（ｂ）の処理が、前記第２モジュールによって前記第１画像データを受け取ることをさらに含み、
（ｃ）の処理が、前記第２モジュールによって前記第１状態データを受け取ることをさらに含み、
（ｄ）の処理が、前記第２モジュールから前記第１アプリケーション・プログラムに前記第１画像データおよび前記第１状態データを転送することをさらに含む、請求項１２に記載の方法。
【請求項２３】
前記第１スキャナが第１型であり、前記第２モジュールが前記第１型に関連付けられ、前記方法が、前記第１モジュールに結合されかつ第２型の第２スキャナに関連付けられた第３モジュールを提供することをさらに含む、請求項２２に記載の方法。
【請求項２４】
前記第３モジュールが前記第２モジュールの代わりに前記第１モジュールに結合される、請求項２３に記載の方法。
【請求項２５】
前記第３モジュールが前記第２モジュールと同時に前記第１モジュールに結合される、請求項２３に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロダクション・スキャナに接続するためのシステムおよび方法に関する。
関連出願
共同譲受人に譲渡された以下の同時係属米国特許出願は、本願と同日に出願された。この出願は、本願に開示する実施形態の他の態様に関し、それをさらに記載するものであり、以下の文献を援用する。
本願と同時出願の米国特許出願第０９／６８６，９９５号「複数のプロダクション・スキャナに接続するためのシステムおよび方法」（弁護士参照番号第１０４３２／３３号）
付属書への言及
付属書ＡおよびＢが請求の範囲のすぐ前に含まれ印刷される。加えて、請求の範囲の後に付属書Ｃ、ＤおよびＥも含まれる（なお、付属書Ｃ、ＤおよびＥは、手続補足書により提出する）。
著作権の告知
本特許文書の開示の一部分に、著作権の保護を受ける資料が含まれる。著作権の所有者は、それが特許商標庁の特許ファイルまたは記録にあるので、誰かによる特許文書または特許開示のファクシミリ複製に異議は無いが、それ以外ではどんなものでも全著作権を保有する。
【０００２】
【技術の分野】
ほとんど全てのコンピュータ・ユーザは彼ら自身のプリンタを所有し、高品質のドキュメントを生成することができるが、そのようなドキュメントを大量にかつ例えば製本など特殊仕上げ機能により生成する能力は依然として、商業印刷所および企業の複写部の範囲内である。ドキュメントの大量の仕上げ生産は一般的に生産印刷と呼ばれる。生産プリンタは、大量のドキュメントの高速生産が可能な印刷装置である。一般的にこれらのプリンタは高い用紙処理能力、複数の供給源からの複数の媒体の種類を利用する能力、および製本を追加することによるなどドキュメントを自動的に仕上げる能力を有する。生産プリンタおよびコンピュータ技術の急増によって提供されるオートメーションにもかかわらず、特にデスクトップ出版の領域では、生産印刷は依然として複雑であり、しばしば手動プロセスである。
【０００３】
典型的な印刷所では、顧客が、製本された小冊子、三折りパンフレット、またはタブ付き三リング・バインダ式ノートなどの完成品に仕上げたい原稿ドキュメントを持ち込む。加えて、彼らは一般的に、例えばパンフレット１００部など、大量の完成品を必要とする。原稿ドキュメントと仕上げ製品を生産するための指示を合わせた組合せは、「ジョブ」と呼ばれる。ドキュメントは、ハード・コピーまたは例えばフロッピー・ディスク、コンパクト・ディスク、またはテープなど電子的形態のいずれかで持ち込むことができ、あるいはインターネットなどネットワークを介して印刷所に送信することができる。
【０００４】
【発明が解決しようとする課題】
ハード・コピーの形で印刷所に引き渡されるドキュメントは、それらを編集しかつそれ以外の生産準備を行なうことができるように、最初に印刷所のコンピュータ・システムにスキャンしなければならない。一般的に、印刷所は、１つまたはそれ以上のプロダクション・スキャナに結合された１つまたはそれ以上のワークステーション・コンピュータから成る１つまたはそれ以上のスキャンニング・ステーションを有する。消費者等級のスキャナ装置に比較して、プロダクション・スキャナは、大量の原稿を高速度および高解像度で連続的にスキャンすることができる大量装置である。スキャナは非常に精密かつ信頼できる装置である傾向があるが、ドキュメントのスキャンニングは依然として、特に生産印刷所の大量高速環境に関連して、非常に資源集約的になり得る。
【０００５】
典型的な操作では、オペレータがドキュメントをスキャナの自動給紙機に装填する。次にオペレータは、スキャンニング・アプリケーションがまだロードされていなければ、それをワークステーションにロードし、次いでドキュメントをスキャンするようにスキャナに指示する。ひとたびスキャンが完了すると、オペレータはスキャンされたドキュメントを見て、忠実な複製が作成されたことを確認することができる。しかし、しばしば、スキャンニング・プロセス中にエラーが発生し、再スキャンニングが必要になることがある。そのようなエラーはオペレータのエラー、またはスキャンニング・ガラス上の塵、用紙の供給ミス、もしくはランプの故障などスキャナの誤動作を含む。さらに、時には、原稿ドキュメントの特徴を考慮して、画像処理アルゴリズム、コントラスト、またはカラー・バランスなど、スキャンのパラメータを調整する必要がある。これらの調整は、原稿ドキュメントの目視検査からは明らかでない場合があり、パラメータを正しく設定するために何回か再スキャンを要することもある。大きいドキュメントの場合、そのような再スキャンは時間と費用がかかり得る。
【０００６】
大きいドキュメント、印刷所の大作業量、および必然的なエラーの発生が組み合わさると、スキャンニング・プロセスはできるだけ効率的である必要がある。これは一般的に、オペレータのエラーの減少ならびにエラー回復および是正の費用の減少に言い換えられる。１つの解決策は、オペレータがスキャンニング・ワークステーションで使用する、問題を予想してスキャンニング動作の直観的かつ効率的な制御を提供する知的かつ効率的なスキャンニング・アプリケーションを提供することである。残念ながら、そのようなアプリケーションはしばしば、スキャナの動作ならびにエラーの検出および是正のための状態および事象データのスキャナ・フィードバックに対し必要な制御を提供することができない、スキャナのハードウェアおよびソフトウェア・インタフェースによって制限される。さらに、これらのインタフェースは、複数のスキャナまたはクリーン・ルーム環境などスキャンニング・ワークステーションから遠隔的に配置されたスキャナの効率的な管理および動作を可能にする能力に欠ける。
したがって、スキャンニング・アプリケーションを大量プロダクション・スキャナに接続するための効率的なシステムおよび方法が必要である。
【０００７】
【課題を解決するための手段】
本発明は上記の請求項によって明確に定められ、本節のいずれの記載もそれらの請求項の制限とみなすべきではない。序論として、以下で記載する好適な実施形態は、第１アプリケーション・プログラムを第１スキャナに接続するためのドライバに関する。第１アプリケーション・プログラムはコマンドを第１スキャナに転送するように働き、第１スキャナはドキュメントをスキャンして、画像データおよび状態データ（ステータスデータ）をスキャンから第１アプリケーション・プログラムに転送するように働く。ドライバは、第１アプリケーション・プログラムと結合され、第１アプリケーション・プログラムからコマンドを受け取り、かつ画像データおよび状態データを第１アプリケーション・プログラムに提供するように働くアプリケーション・プログラム・インタフェース（「ＡＰＩ」）を含む。ドライバはさらに、ＡＰＩおよび第１スキャナに結合され、第１スキャナから画像データおよび状態データを受け取り、かつコマンドを第１スキャナに転送するように働く第１スキャナ・パーソナリティ・モジュール（「ＳＰＭ」）を含む。ここで、ＡＰＩおよび第１ＳＰＭは、第１アプリケーション・プログラムと第１スキャナとの間の実時間通信を容易にする。
【０００８】
好適な実施形態はさらに、第１アプリケーション・プログラムを第１スキャナに接続する方法にも関係し、第１アプリケーション・プログラムは、第１スキャナに結合された第１コンピュータ上で実行される。この方法は、第１アプリケーション・プログラムによって指示された通り第１スキャナで第１ドキュメントの第１スキャンを開始し、第１スキャンが進行するにつれて第１スキャナによって生成される第１画像データを受け取り、第１スキャンが進行するにつれて第１スキャナから第１状態データを受け取り、第１スキャンが進行するにつれて第１画像データおよび第１状態データを第１アプリケーション・プログラムに提供し、第１スキャンが進行するにつれて第１スキャンを調整することを含む。
【０００９】
【発明の実施の形態】
今、図１を参照すると、商業大量コピー店または印刷所など典型的な生産印刷所における生産ワークフロー１００を示す流れ図が示されている（なお、図１ａは左図、図１ｂは右図としてひとつのまとまった図１を表す。）。ワークフローとは、タスク、手続きステップ、関係する組織または人々、必要な入出力情報、および業務プロセスの各ステップで必要なツールと定義される。下で論じるように、生産印刷などの業務またはプロセスの分析および管理に対するワークフロー法は、オブジェクト指向法と組み合わせることができ、これはドキュメント、ページ、データ、およびデータベースなど、関係する離散オブジェクトおよびプロセスに焦点を合わせる傾向がある。この開示の目的として、用語「オブジェクト指向」は、開示する実施の形態に適用される場合、オブジェクト指向プログラミング法が開示の実施形態の唯一の実現方法であることを含意しない。
【００１０】
図１はさらに、印刷所用の典型的なコンピュータ・ネットワーク１１２をも示す。典型的なデジタル印刷所では、コンピュータ・ネットワーク１１２を構成するコンピュータ・ワークステーション１１４、１１６、サーバ１１８、１２０、大量入力装置１２４、および大量出力装置１２２のネットワーク１１２がある。サーバ１１８、１２０はネットワーク・サーバ１１８およびプリント・サーバ１２０を含む。ネットワーク１１２のトポロジは一般的に、印刷所のワークフロー１００と整合するように構成される。ネットワーク１１２は、有線または無線イーサネット・ネットワークまたはその他の形として、もしくはローカル・エリア・ネットワークとして実現することができる。さらに、ネットワーク１１２は、インターネットなどの広域ネットワークへの有線または無線接続、および仮想私設網を介してなど他のローカル・エリア・ネットワークへの接続を含むことができる。
【００１１】
生産ワークフロー１００は、ジョブ発生１０２、ジョブ実行依頼１０４、ジョブ準備１０６、印刷生産１０８、および最終達成１１０の手続き段階を含む。代替的に、これらの手続き段階の１つまたはそれ以上を併合することができるだけでなく、他の追加手続き段階を設けることもできる。ジョブ発生１０２は、まとめて「ジョブ」と定義されるドキュメントおよび指示を顧客から受け取る手続き段階である。ジョブ発生１０２は、顧客がハード・コピーか電子的形態かに関わらず彼のジョブを物理的に印刷所に持ち込むか、さもなくば電話、ファックス、郵便、電子メール、もしくはインターネットを介してなどローカル・エリア・ネットワークまたは広域ネットワークのいずれによるかに関わらず、ジョブを印刷所に送信したときに、発生することができる。ジョブは２つ以上のドキュメントおよび２組以上の指示を含むことができることに注意されたい。例えばジョブは、各々が本の１章である多くのドキュメントを、本の表紙を含むドキュメントと共に含むことができる。この例示的ジョブは、個々の章のドキュメントから本の本文を生成するための指示、および表紙を生成するための別の組の指示を含むことができる。加えて、下で論じる通り、本の本文に表紙を組み付けるための第３組の指示を設けることができる。
【００１２】
ジョブ実行依頼１０４は、印刷所によるジョブの受取り、およびジョブを印刷所の生産システムまたはワークフロー内に投入することである。一般的に顧客からの指示は、「チケット」または「ジョブ・チケット」として知られる専用用紙に書き留められる。チケットは電子的に作成し維持することもできる。さらに、標準化指示用に予め定められたチケットを利用することもできる。例えば、印刷所は、ドキュメントを複製し、最終出力に三穴をあけ、穴をあけた最終出力を三リング・バインダに取り付ける指示付きの予め印刷されたチケットのはぎ取り式綴りを備えることができる。これが顧客による一般的な要求である場合、そのような予め印刷されたチケットにより、時間と資源を節約することができる。注文を受け付ける店員がしなければならないことは、生成するコピーの枚数など、顧客に特定的な詳細を記入するだけである。予め定められたチケットは、作業を標準化し、顧客からの指示を書き写す際のエラーを防止するのに役立てることができる。非常に簡素な印刷所では、ジョブ実行依頼１０４は単に、チケットの作成と共に原稿ドキュメントおよび指示を受け取り、ジョブをペーパ・ホルダに入れ、それを後で後続の手続き段階で処理するための物理的待ち行列にセットするだけとすることができる。
【００１３】
ジョブを電子的に処理する印刷所では、ジョブ実行依頼１０４は、ジョブを印刷所の電子生産システム内に入れる必要がある。顧客がハード・コピーとして持ち込んだドキュメントの場合、ドキュメントは最初に印刷所のコンピュータ・システム内に電子的にスキャンしなければならない。電子的形態で引き渡されたドキュメントの場合、ドキュメントデータ・ファイルを印刷所のコンピュータ・システムにロードしなければならない。
【００１４】
ジョブ実行依頼段階１０４のために、コンピュータ・ネットワーク１１２は１つまたはそれ以上の「店頭」ワークステーション１１４を含む。店頭ワークステーション１１４は、注文受付デスクまたは店員のステーションに配置されるか顧客セルフ・サービス用に設置されたコンピュータ・システムである。これらのワークステーション１１４はジョブ実行依頼段階１０４用に使用され、一般的にフロッピー・ディスク、コンパクト・ディスク、テープ等など多くの様々な種類の電子媒体を取り扱うように構成される。これらのステーションはまた、インターネットまたは顧客との他の形のネットワーク接続を通してジョブを受信するように構成することもできる。さらに、これらのワークステーション１１４は一般的に、ワシントン州レドモンドに位置するマイクロソフト社によって製造されたマイクロソフト・オフィスTMファミリの製品によって使用されるような多くの様々な電子ファイル・フォーマット、もしくはアルダス・ページメーカ（ＡｌｄｕｓＰａｇｅｍａｋｅｒ）TM（ＴＭは、商標を示す。以下同様。）またはクォークエクスプレス（ＱｕａｒｋＸｐｒｅｓｓ）TMなど種々の他のデスクトップ・パブリッシング・プログラム・ファイル・フォーマットを読み取るように構成される。加えて、これらのステーション１１４は、ポータブル・ドキュメント・フォーマット（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）TM（「ＰＤＦ」）、ポストスクリプト（Ｐｏｓｔｓｃｒｉｐｔ）TM（「ＰＳ」）またはプリンタ制御言語（「ＰＣＬ」）など、後述する「レディ・フォー・プリンタ（ｒｅａｄｙ  ｆｏｒ  ｐｒｉｎｔｅｒ）」ファイル・フォーマットも読み取ることができる。ジョブ準備ワークステーション１１６はまた、タグド・イメージ・ファイル・フォーマット（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）（「ＴＩＦＦ」）、ビットマップ（「ＢＭＰ」）、およびＰＣＸなどのイメージ・フォーマットをも受け入れることができる。これらのステーション１１４は、ハード・コピーのドキュメントをコンピュータ・システムにスキャンするためのスキャナ１２４を含むこともできる。スキャナは一般的に操作が複雑な装置であり、一部の印刷所では、後述するように訓練された職員だけが使用するジョブ準備ワークステーション１１６に結合されたジョブ準備段階１０６にスキャナ１２４を配置する（図示するように）ことが好まれる。加えて、店頭コンピュータ１１４はまた、生産印刷タスクを完了するための全ての指示を含むジョブのためのチケットを電子的にまたはハード・コピーの形で生成する能力をも提供する。チケットを生成するこのプロセスは、予め定義されたチケットを含めて自動化するか、手動か、あるいはそれらの組合せとすることができる。
【００１５】
ジョブ準備１０６は、チケットの指示に従って印刷するためのドキュメントの準備を含む。ハード・コピーの形で提出されたドキュメントの場合、ジョブ準備１０６は、ドキュメントをスキャンし、忠実な、エラーの無い電子的複製を作成することを含むことができる。いったん電子の形になっているドキュメントもまた、印刷所がドキュメントを編集しかつ印刷するために使用できる共通ファイル・フォーマットに純化または変換しなければならない。これは、オペレータが複数の異なるプログラムを扱う必要性を緩和し、異なる電子ファイル・フォーマットを使用して印刷するために複合ドキュメントをひとつに組み付ける必要性を排除する。
【００１６】
例えば顧客は、１つが本の本文、もう１つが特定のページに挿入される写真という、２つの異なるドキュメントを持ち込むかもしれない。顧客は次いで、写真を特定のページに挿入し、最終アセンブリに連続ページ番号を付け加えるように指示するかもしれない。写真の画像はアドビ・フォトショップTMフォーマットである一方、本の本文はマイクロソフト・ワードTMフォーマットであるかもしれない。オペレータは各々の個別ソフトウェア・パッケージを使用して、どのページに画像を挿入するかを割り出し、本と写真のページを適切に割り当てる事ができるが、これは非常に複雑で時間のかかるプロセスである。また、オペレータがある範囲のソフトウェア・パッケージについて訓練し精通していることも要求され、顧客が使用した特定のパッケージにオペレータが精通していないという危険を冒すことでもある。したがって、様々なファイル・フォーマットの各々を統一フォーマットに純化すると、オペレータが単一ソフトウェア・インタフェースを使用してジョブを準備することができるようになり、効率的である。好適な実施形態では、全てのドキュメントは、ハード・コピーで提供されたか電子的に提供されたかにかかわらず、「レディ・フォー・プリンタ」または「プリント・レディ（ｐｒｉｎｔ  ｒｅａｄｙ）」ファイル・フォーマットに純化または変換される。好適な実施形態では、レディ・フォー・プリンタ・フォーマットとして、カリフォルニア州サノゼに位置するアドビ・システムズ社によって開発されたポータブル・ドキュメント・フォーマットTMを使用する。
【００１７】
レディ・フォー・プリンタ・ファイル・フォーマットとは、データ画像を出力媒体上にラスタ化するために、プリンタまたは他の形のハード・コピー出力装置の内部処理エンジンによって直接解釈することができるプリンタ制御命令と共に印刷される両方のデータを含むファイル・フォーマットと定義される。ラスタ化とは、出力媒体の特定の位置に画像データを配置することである。そのようなファイル・フォーマットは、どちらもカリフォルニア州サノゼに位置するアドビ・システムズ社によって製造されたポータブル・ドキュメント・フォーマットTM（「ＰＤＦ」）およびポストスクリプトTM（「ＰＳ」）のみならず、カリフォルニア州パロアルトに位置するヒューレット・パッカードによって製造されたプリンタ制御言語（「ＰＣＬ」）をも含む。非レディ・フォー・プリンタ・フォーマットの例は、マイクロソフト・ワードTMなどパーソナル・コンピュータ・アプリケーション・プログラム用のネイティブ・アプリケーション・ファイル・フォーマットを含む。これらのファイル・フォーマットは、印刷する前に、まずレディ・フォー・プリンタ・ファイル・フォーマットに変換しなければならない。さらに、タグド・イメージ・ファイル・フォーマット（「ＴＩＦＦ（Tagged Image File Format）」）など一部の画像ファイル・フォーマットは、出力媒体上のその出力位置を指定し、プリンタの内部処理エンジンによる解釈のためのプリンタ制御命令を含まず、したがってこの開示の目的ではレディ・フォー・プリンタ・ファイル・フォーマットではないフォーマットにすでになっているビット画像データだけを含む。レディ・フォー・プリンタ・フォーマットを使用することにより、画像データのラスタ化を、出力媒体上における画像データの最終配置のできるだけ近くまで遅らせることができる。これは、内部制御論理でラスタ化処理を最適化させ、結果的にオペレータの期待に沿う可能性がいっそう高い出力を生じることにより、生産印刷装置（production print device）１２２の最も効率的な使用を可能にする。
【００１８】
ジョブ準備段階１０６のために、コンピュータ・ネットワーク１０６は、ネットワーク１１２を介して店頭ワークステーション１１４に結合されたジョブ準備ワークステーション１１６、スキャナ１２４、およびネットワーク・サーバ１１８を含む。ここで、句「結合された」とは、直接接続されること、もしくは１つまたはそれ以上の中間構成部品を通して間接的に接続されることを意味する。そのような中間構成部品は、ハードウェアおよびソフトウェアをベースにする構成部品の両方を含むことができる。ジョブ準備ワークステーション１１６は、オペレータにジョブを管理、編集、および印刷させるワークフロー管理ソフトウェアを実行することが好ましい。ネットワーク・サーバ１１８はジョブの操作、管理、格納、および達成を可能にするドキュメントライブラリ、またはそれらのそれぞれのドキュメントおよび／またはチケットを含むだけでなく、店頭コンピュータ１１４からジョブ準備ワークステーション１１６へ、およびジョブ準備ワークステーション１１６から印刷サーバ１２０または生産出力装置１２２へのジョブの流れも促進し管理する。例示的ドキュメントライブラリは、ミネソタ州イーデンプレーリに位置するイントラネット・ソリューションズ社によって製造されたＩｎｔｒａ．ＤｏｃTMドキュメント管理システム、およびカナダ国オンタリオ州ヨークに位置するハミングバード社によって製造されたＤＯＣＦｕｓｉｏｎドキュメント管理システムを含む。好適な実施形態では、ジョブ準備ワークステーション１１６は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルＬ．Ｌ．Ｃ．によって製造されたイメージスマート（Ｉｍａｇｅｓｍａｒｔ）TMワークステーションである。代替的に、カリフォルニア州サンタクララに位置するインテル社によって製造されたペンティアム（Ｐｅｎｔｉｕｍ）TMクラスまたはそれ以上のプロセッサ、６４メガバイトまたはそれ以上のＲＡＭ、２０ギガバイトまたはそれ以上のハード・ディスク、および適切なディスプレイ装置を含む適切なコンピュータ・ハードウェア・プラットフォームを使用することができる。さらに、好適な実施形態では、ネットワーク・サーバ１１８が開放型ドキュメント管理アーキテクチャ（「ＯＤＭＡ（Open Document Management Architecture）」）標準に従い、ドキュメント管理能力およびスケーラブルな記憶装置を備えることが好ましい。
【００１９】
ジョブ準備ワークステーション１１６はまた、顧客にサービスを提供することによって印刷生産プロセスに価値を付加する印刷所の能力をも提供する。そのようなサービスは、顧客によって提供されたドキュメントに手を加え、顧客が自分では追加しようとしないまたはできない特徴を追加する能力を含む。そのような特徴は、複数のドキュメントにまたがってページ番号を付け加えること、ベイツ・ナンバリング（bates numbering）、タブ・ストック（tab stock）のためのページ・レイアウトの調整、および綴じ付けを考えた出力の位置合わせを含む。さらに、ジョブ準備ワークステーション１１６は、スキャンされた画像におけるアーティファクトの除去、および望まれていないテキストまたはマーキングに対するマスキングなど、ドキュメントの誤りを修正する能力を提供する。ジョブ準備ワークステーション１１６はまた、印刷または製本プロセスによって引き起こされる、完成品における間違いを防止するために使用することもできる。そのような間違いは、ドキュメントが折り丁組付けを使用して小冊子／パンフレットに組み付けられた後で発生するバインダのクリープを含む。バインダのクリープは、用紙上の画像の配置が、本のページ数の関数としての綴じ付けの厚さを考慮し損ない、表紙に近付くにつれてページ上の画像が内側にずれていくときに発生する。バインダのクリープは、ドキュメントに折り丁の組み付けを実行するときに、画像をわずかにずらすことによって防止される。加えて、ジョブ準備ワークステーション１１６は、オペレータに「組み付け（imposition）」および「折り丁組付け（signature imposition、背丁組付け）」としても知られる最終出力のドキュメントページの管理および割付けを実行させる。加えて、オペレータはページを組み替え、ページを裏返し、空白ページを挿入し、ページのトリミングと移動を行い、裁ち切りページを作成し、「ｎ−ｕｐ」としても知られる１枚の用紙に複数のページを配置して校正刷りセット、小冊子、またはパンフレット等を作成することができる。さらに、ジョブ準備ワークステーション１１６は、オペレータにベイツ番号、ページ番号、ロゴ、および透かし模様など注釈をドキュメントに付け加えさせる。これらのサービスは全て、最終出力に価値を付加する。ドキュメントのフォーマット化およびその他の変更は、余白の移動など、ドキュメント全体に帯域的に適用することができ、あるいは選択されたページにだけ適用することができる。ドキュメントに対するそのような変更は、ドキュメント／ページ機能または属性として知られる。さらに、これらの変更は、一般的に顧客によって設定された原稿ドキュメントフォーマットの特定のインスタンスを無効にするので、ドキュメントまたはページ例外としても知られる。
【００２０】
印刷生成のワークフロー１００における次の段階は、印刷生成段階１０８である。印刷生成段階１０８で、印刷用の最終形式のドキュメントは印刷サーバ１２０に送られ、それはジョブを最終出力装置１２２に配布する。手動印刷所では、この段階１０８は、生成の準備ができたジョブをオペレータが所望の出力装置１２２に手動的に引き渡してジョブを開始することに類似している。印刷生成段階１０８は、印刷所の出力資源を管理する。そのような管理は、印刷所の適切な装置１２２の待ち行列にジョブを入れ、利用できる装置１２２にジョブを発送し、様々な装置１２２に加えられる負荷を均衡させ、それを特定の装置１２２に送る前にジョブを分割またはＲＩＰ処理するなどジョブを前処理することを含む。ＲＩＰはラスタ・イメージ・プロセッサを表わし、レディ・フォー・プリンタ・データをラスタ・イメージに変換するハードウェアおよび／またはソフトウェアである。それはまた、ページ画像を出力媒体上にラスタ化するための一般用語でもある。
【００２１】
印刷生成段階１０８で使用する印刷サーバ１２０は、ネットワーク１１２を通してジョブ準備ワークステーション１１６およびネットワーク・サーバ１１８に結合される。さらに、印刷サーバ１２０は、印刷所の様々な出力装置１２２に結合される。一部の出力装置１２２は、出力されるデータの電子的転送をサポートしないかもしれず、手動操作ステップが必要になるかもしれないことに注意されたい。そのような装置は、部分的に仕上げられたドキュメントを手動で製本機に転送して生産を完成させることが必要な特殊製本機を含むかもしれない。印刷サーバ１２０は、ネットワーク１１２に結合された別個のコンピュータとして実現することが好ましいが、ネットワーク・サーバ１１８、ジョブ準備ワークステーション１１６、または店頭ワークステーション１１４上で実行されるソフトウェアをベースとする印刷サーバを使用することもできる。好適な実施形態では、印刷サーバ１２０は、一般的にＵＮＩＸまたはウィンドウズＮＴオペレーティング・システムを実行する独立コンピュータ・ワークステーション、ソフトウェア印刷サーバ・エンジン、およびソフトウェア印刷・サーバ・アプリケーションを含むことができる。印刷サーバ・アプリケーションは、印刷サーバの動作を構成し管理するユーザ・インタフェース能力を提供する。印刷サーバ・エンジンは、印刷サーバの自動化プロセスを実行する。これらのプロセスは、ジョブおよびジョブ内容（つまりドキュメント）をスプールし待ち行列に入れ、印刷ジョブの属性およびこれらの属性が印刷エンジンによっていかに満たされるかに基づいてジョブを特定の生産出力装置に指し向け、全てのプリンタを完全に利用し続けるように、例えば白黒ジョブからカラーを分離するように様々な生産出力装置の間でジョブの負荷均衡を図り、複数の入力通信および印刷プロトコルを受け入れてそれら生産出力装置１２２が理解する通信および印刷プロトコルに翻訳する通信ゲートウェイとして働くことを含む。
【００２２】
生産印刷ワークフロー１００の最終段階は最終履行段階（final fulfillment stage）１１０である。最終履行段階１１０は、完成品が生産出力装置１２２で生成される段階である。生産出力装置は、印刷ドキュメントの大量生産用に設計されたプリンタなどのコンピュータ出力装置である。そのような装置は、混合媒体型でありステープル綴じまたは製本など様々な完成度の大量のドキュメントを非常に高速で生産する能力を含むことが好ましい。例示的出力装置は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルＬ．Ｌ．Ｃ．によって製造されたデジマスタTMデジタル大量プリンタ、およびニューヨーク州ロチェスタに位置するネクスプレス社によって製造されたネクスプレスTMカラー・プリンタを含む。
【００２３】
今、図２を参照すると、好適な実施形態のジョブ実行依頼および準備段階１０４、１０６のユーザ機能性ワークフロー２００を示す流れ図が示されている。ユーザ・ワークフロー２００は、入力ソース段階（input source stage）２０２、プレフライト段階（preflight stage）２０４、および生成段階（production stage）２０６を含む。入力ソース段階２０２では、ジョブの全てのドキュメントが様々な入力ソース２０８からひとつに収集される。詳述した通り、収集されたドキュメントは全て、レディ・フォー・プリンタ・フォーマット、好ましくはポータブル・ドキュメント・フォーマットTMに変換される。この変換は手動もしくは自動化プロセス、またはそれらの組合せとすることができる。例えばネットワーク・サーバ１１８に特殊ディレクトリを作成することができ、そこに、例えば顧客からドキュメントを受け取りそれらを店頭ワークステーション１１４に入力する店員が、様々なファイル・フォーマットのデータ・ファイルを入れることができる。このディレクトリを監視する自動化論理はファイルの配置に気を付け、それらをレディ・フォー・プリンタ・フォーマットに自動的に変換する（またはそれらに手動変換のフラグを立てる）。自動化論理で処理できないドキュメントは、手動変換のフラグを立てることができる。変換されたドキュメントは次いでプレフライト段階２０４に渡され、そこでそれらは生成のために準備される。変換されたドキュメントのこの転送は、ドキュメントをネットワーク・サーバ１１８の特殊ディレクトリに移すことによって、またはドキュメントをジョブ準備ワークステーション１１６に転送する事によって起こり、ネットワーク・サーバ１１８の特殊ディレクトリではそれらはジョブ準備ワークステーション１１６によってアクセスが可能である。このプロセスは手動または自動とすることができ、生成の準備を待つドキュメントの待ち行列にドキュメントを入れることを含むことができる。さらに、このプロセスは、利用可能なジョブ準備ワークステーション１１６に現在ログインしている様々なオペレータの能力、熟練レベル、または訓練レベルと同様に、それぞれの待ち行列におけるジョブの現在のロード／バックログの手動または自動決定を含むことができる。これらの要素を考慮に入れて、ジョブは自動的または手動的に、技術的にも便宜的にもジョブを最もよく処理できるオペレータに送ることができる。この機能性は、印刷所で働く様々なオペレータの能力、熟練レベル、および訓練レベルを追跡するオペレータ・データベースを作成することによって実現することができる。このデータベースは、各ステーション１１６におけるジョブのロード／バックログを均衡させる待ち行列管理ソフトウェアと結合することができる。
【００２４】
プレフライト段階２０４で、ドキュメントは本などに組み立て、注釈を付け、編集し、組付けまたは他のページ特徴を適用させることができる。ドキュメントの生成のための準備が終わると、それらは生成段階２０６に渡される。生成段階２０６で、準備されたドキュメントは（チケットからの）生成指示と共に、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルＬ．Ｌ．Ｃ．によって製造されたプリント・ファイル・ダウンローダ（Ｐｒｉｎｔ  Ｆｉｌｅ  Ｄｏｗｎｌｏａｄｅｒ）TMアプリケーション・プログラムなどのファイル・ダウンローダを使用して、印刷サーバに、または直接生産出力装置１２２に提出される。このユーザ機能性ワークフロー１１６は、ハードウェア、ソフトウェア、および手動で実行される構成部品の組合せとして実現することができ、先に生産印刷ワークフローで詳述した１つまたはそれ以上の構成部品を含むことができる。
【００２５】
生産印刷ワークフローに関するさらなる情報については、２０００年５月１７日出願の「生産印刷ワークフローにおいてページを表示し管理するためのシステムおよび方法」と称する米国特許出願第０９／５７３，３６８号、第０９／５７２，３６８号、２０００年５月１７日出願の「生産印刷ワークフローを表示し制御するためのシステムおよび方法」と称する米国特許出願第０９／５７３，０２６号、第０９／５７２，０２６号、２０００年５月１７日出願の「ジョブ・ストリーム内での印刷資源の効率的利用」と称する米国特許出願第０９／５７３，１０８号、第０９／５７２，１０８号、２０００年５月１７日出願の「生産印刷ワークフローにおいて複合ドキュメントを実行するためのシステムおよび方法」と称する米国特許出願第０９／５７３，３４１号、第０９／５７２，３４１号、２０００年５月１７日出願の「生産印刷ワークフローにおけるページの視覚的表示のためのシステムおよび方法」と称する米国特許出願第０９／５７３，０９３号、第０９／５７２，０９３号、および２０００年５月１７日出願の「再スキャンなしのインタラクティブ・ハードコピー・リサンプリング」と称する米国特許出願第０９／５７３，４７８号、第０９／５７２，４７８号を参照されたい。
【００２６】
ジョブがハード・コピーの形で印刷所に持ち込まれた場合、それは上述の通り、最初に印刷所のコンピュータ・システム内にスキャンしなければならない。スキャンは、印刷所のワークフローのジョブ実行依頼１０４またはジョブ準備１０６の段階で行われる。一般的に、ドキュメントは、ジョブ準備ワークステーション１１６（「スキャナ・ホスト」または「スキャナ・ホスト・ワークステーション」）に結合された生産／大量スキャナ１２４の自動給紙機に装填される。好適な実施形態では、プロダクション・スキャナ１２４は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルＬ．Ｌ．Ｃ．によって製造されたイメージダイレクト・スキャナ（ＩｍａｇｅＤｉｒｅｃｔ  Ｓｃａｎｎｅｒ）である。オペレータは次いで、スキャナ１２４に結合されたジョブ準備ワークステーション１１６からスキャンを開始し、制御する。オペレータは、ジョブ準備ワークステーション１１６にロードされたスキャンニング・アプリケーション・プログラムを用いて、スキャナ１２４と対話する。スキャンニング・アプリケーションは、スキャナのパラメータを設定し、スキャンを開始しかつ制御し、スキャンの結果を見る能力を提供する。スキャンニング・アプリケーションは一般的に、スキャナ１２あるいはジョブ準備ワークステーション１１６のメーカとは異なる第三者企業によって作成されたコンピュータ・プログラムである。一例はカリフォルニア州サノゼに位置するアドビ・システムズ社である。
【００２７】
技術上知られている通り、コンピュータ・ワークステーション上で実行されるアプリケーション・プログラムは、ドライバと呼ばれるインタフェース・プログラムを用いて、そのワークステーションに結合された外部ハードウェア装置と接続する。ドライバは、装置と装置を使用するプログラムとの間の翻訳プログラムのように働く。コンピュータに結合された各装置は一般的に、そのドライバだけが知るそれ自身の専用コマンド・セットを有する。対照的に、大部分のアプリケーション・プログラムは、汎用コマンドを使用することによってこれらの装置へのアクセスの仕方を知っているだけである。したがって、ドライバはアプリケーション・プログラムから汎用コマンドを受け取り、次いでそれらを装置用の専用コマンドに翻訳する。基本的に、オペレーティング・システムとコンピュータのマザーボード上に直接位置しない事実上全てのハードウェアとの間の経路は、これらの特殊ドライバ・プログラム内を通る。ドライバの機能の多くは、ハードウェア・サブシステムの電気信号と、オペレーティング・システムおよびアプリケーション・プログラムの高水準プログラミング言語との間の翻訳プログラムとしてのものである。例えばドライバはオペレーティング・システムがファイルとして定義したデータを受け取り、それらを、記憶装置の特定の場所に配置されたビット・ストリームまたはプリンタ内の一連のレーザ・パルスに変換する。ドライバを介して制御されるハードウェアの種類には非常に幅広い違いがあるので、ドライバ・プログラムが機能する方法には必然的に違いがあるが、大部分のドライバは、装置が要求されたときに実行され、他のプロセスとほとんど同様に機能する。オペレーティング・システムは、ハードウェア資源ができるだけ素早く解除されてさらなる用途に使用できるように、高優先メモリ・ブロックをドライバに割り当てる。ドライバがオペレーティング・システムから分離している１つの理由は、オペレーティング・システム自体を変更し、再コンパイルし、再分布する必要なく、新しい機能をドライバに、およびしたがってハードウェア・サブシステムに追加できるようにするためである。新しいハードウェア装置のドライバの開発を通して、そのような開発はしばしばオペレーティング・システムの発行者ではなくサブシステムのメーカによって行われるか支払われ、総合的システムの入力／出力能力を大幅に向上することができる。
【００２８】
例示的ドライバ・プログラムは、アプリケーション・プログラムが、直接的かネットワークを介するなど間接的かにかかわらず、ワークステーションに結合されたプリンタ上で出力を印刷することを可能にするプリンタ・ドライバである。異なる会社によって製造された異なるプリンタは一般的に、その会社の財産である様々な特徴を提供し、様々なコマンドを利用する。先に説明した通り、ドライバ・プログラムはアプリケーション・プログラムと種々の利用可能なプリンタとの間で１層の抽象化が可能なので、アプリケーション・プログラムは、利用可能な様々なプリンタの全てを利用するそれ自体の能力を維持したり、または後に開発された装置を扱うために更新したりする必要が無い。ドライバは、アプリケーション・プログラムが一般的にアプリケーション・プログラム・インタフェースまたはＡＰＩと対話するための標準ソフトウェア・インタフェースを提供する。ドライバは次いで、これらの汎用対話を装置特定的コマンドに変換して、取り付けられた装置を制御する。加えて、ドライバは、特定の装置のベンダ特定的な機能を制御するためのユーザ・インタフェースをも提供することができる。例えば、二重化をサポートするプリンタは、ユーザ・インタフェースを提供できるドライバを使用して接続することができ、オペレータに二重化機能を選択させることができる。さらに、ドライバは、装置をワークステーションに接続する特定のハードウェア・インタフェースを制御するようにもプログラムされる。そのようなハードウェア・インタフェースは、技術上周知の通り、スモール・コンピュータ・システム・インタフェース（「ＳＣＳＩ」）、ユニバーサル・シリアル・バス（「ＵＳＢ」）、シリアル、パラレル、およびＩＥＥＥ１３９４（「ファイヤワイヤ（Fire Wire）」）を含む。異なる装置が取り付けられた場合、ユーザは新しいドライバをロードするだけで、アプリケーション・プログラムは新しいハードウェアと接続することができる。スキャナ１２４は一般的に、ＳＣＳＩインタフェースを利用してジョブ準備ワークステーション１１６と物理的に結合される。
【００２９】
スキャナ・ドライバは一般的に、カリフォルニア州ボールダークリークに位置するトゥェイン（ＴＷＡＩＮ）グループによって定義されたＴＷＡＩＮ、およびカリフォルニア州サノゼに位置するピクセル・トランスレーション社によって開発され、米国規格協会仕様ＡＮＳＩ／ＡＩＩＭ  ＭＳ６１−１９９６でも規定されたイメージ・アンド・スキャナ・インタフェース仕様（「ＩＳＩＳ」）の２種類がある。ＴＷＡＩＮおよびＩＳＩＳに基づくドライバは低量スキャンに要求される基本的機能性を提供するが、一般的に、生産印刷所で行われるような生産／大量スキャンニングの要求には不適切であることが分かっている。そのような要求は、効率的なエラー検出、訂正、および診断能力を伴った、複数の大量原稿を高解像度および高速度で連続的にスキャンする能力を含む。さらに、印刷所はしばしば、異なるメーカによって製造された複数のスキャナ１２４を効率的にかつ最小限の資源で同時に作動させる必要がある。これには通常、一人のオペレータが複数のスキャナ１２４を１つのジョブ準備ワークステーション１１６に接続してそこから操作することが要求される。
【００３０】
ＴＷＡＩ仕様に基づいて作成されたドライバはジョブ指向である。ジョブは、スキャンニング属性の全て、例えば画像の解像度およびビットの深さなどのスキャンニングおよび画像処理属性、用紙プレクス（シンプレックスまたはデュプレックス）などの一定／スキャナ独立属性の全て、およびバーコード読取り能力など特定のスキャナに特定的な属性の集合と定義される。ＴＷＡＩＮドライバは全てのジョブ・パラメータをセットアップし、次いでスキャンを開始する。しかし、ひとたび開始すると、パラメータはスキャンが完了または停止するまで変更できない。したがって、パラメータを間違って設定した場合、スキャンは停止して完全に再始動する必要がある。これは、例えばスキャン・エラーが１００ページのドキュメントの１０ページ目に発生した場合、問題が生じ得る。この例では、エラーを考慮してスキャナ１２４を調整することができるようになる前に、スキャンを完了させなければならず、あるいはスキャンを停止し、再ロードし、再始動しなければならず、いずれの場合にも著しい遅れを招く。
【００３１】
さらに、ＴＷＡＩＮに基づくドライバは、スキャンしたドキュメントをスキャナ・ハードウェア・インタフェースからスキャンニング・アプリケーションへ一度に１画像ずつ引き渡す。これは、ドライバが各画像ごとにスキャナのハードウェア・インタフェースからアプリケーション・プログラムにハンドシェークしなければならない（つまりアプリケーションを中断し、接続を確立し、データを引き渡す）ことを意味する。これは、特に大量環境において、および単一スキャンニング・アプリケーションを利用して、同時にスキャンする複数のスキャナ１２４を管理する場合に、アプリケーション・プログラムにとって不必要なオーバヘッドを生じる。加えて、ＴＷＡＩＮドライバは同一ワークステーションと複数のスキャナの接続をサポートするが、複数のスキャナを同一ワークステーションから同時に操作することをサポートしない。オペレータは、任意の一時にスキャンニングに使用する１つの特定のスキャナ１２４を選択し、異なるスキャナ１２４を選択する前にそのスキャンが完了するのを待たなければならない。
【００３２】
ＩＳＩＳドライバは装置／スキャナ特定的ドライバであり、スキャナへのユーザ・インタフェースを提供しない。代わりに、ＩＳＩＳドライバは、アプリケーション・プログラムがスキャナへのユーザ・インタフェースを提供することを要求する。さらに、ＩＳＩＳ標準は、ＴＷＡＩＮ標準がユーザ指定可能な属性を広範囲に使用して行なうような、スキャナ・ジョブを定義する包括的な方法を提供しない。ＩＳＩＳインタフェースは、ユーザがスキャナ・ジョブをセットアップするために、ＴＷＡＩＮドライバが行なうようなスキャナ特定的なユーザ・インタフェースを表示する能力を提供しない。ＩＳＩＳのやり方では、アプリケーションが全てのユーザ・インタフェース・ソフトウェアを提供しなければならない。このやり方は、複数の種類のスキャナ１２４の使用においてコヒーレント・ユーザ・インタフェースを提供しながら、これらのスキャナ１２４を取り扱うことができることが必要なスキャンニング・アプリケーションの場合には機能的である。ＩＳＩＳは、スキャナ・ジョブを定義する包括的な方法を提供する上で、ＴＷＡＩＮほど頑健ではない。しばしばスキャナのベンダは、要求される機能性を実行するために、ＩＳＩＳのアプリケーション・プログラム・インタフェース（「ＡＰＩ」）に向上を要求する必要がある。さらに、アプリケーションがＩＳＩＳ  ＡＰＩとの必要な対話を実行して、スキャナ１２４の自動給紙機に装填された１組の原稿ドキュメントのスキャンニング・プロセスを開始した後、ＩＳＩＳドライバは、ドキュメント全体がスキャンし終わるまで、ホスト・コンピュータの全部のコンピュータ電力を消費する。最後に、ＩＳＩＳに基づくドライバは、複数のスキャナが同一ワークステーションから同時に操作されることをサポートしない。ＩＳＩＳドライバ用に作成されたアプリケーションは、１つのドライバだけがホスト・コンピュータにロードされることを想定している。
【００３３】
ＴＷＡＩＮおよびＩＳＩＳに基づくドライバは両方ともさらに、実時間情報をスキャンニング・ホスト・ワークステーション・コンピュータに供給する能力に欠けている。そのような実時間情報または状態データは、ランプ温度およびスキャナのパラメータ設定などの状態情報を含む。状態データはさらに、用紙の送りミスまたはランプの故障など、スキャンニング・イベントについての情報を含む。実時間とは、スキャンを進行しながら、スキャンが完了するまで待つことなく、スキャンニング・アプリケーションに状態データを提供できることを意味する。実時間は、ユーザが充分に即時と感じる、またはコンピュータが何らかの外部プロセス（例えば絶えず変化する天候の視覚化を提示する）に遅れずについていくことができるコンピュータ応答のレベルである。
【００３４】
本実施の形態は、ここでバーチャル・スキャナ・ドライバ（Virtual Scanner Driver）またはＶＳＤと呼ぶ、アプリケーション開発者のために改善されたスキャナ・インタフェース解決策を説明する。好適な実施の形態は、ジョブ準備ワークステーション１１６と結合されたスキャナ１２４の銘柄とは独立した単一ＡＰＩに単一アプリケーションを連絡させる能力を備えている。さらに、ジョブ準備ワークステーション１２４に結合された特定のスキャナ１２４のベンダ特定的な機能性を包含する、パーソナリティ・モジュール（personally module）またはＰＭも提供する。ＰＭはＶＳＤ  ＡＰＩをスキャナ１２４に接続する。ＰＭはスキャンニングの３つの側面、つまりスキャナ１２４への連絡方法（ＵＳＢ、ＳＣＳＩ、シリアル、パラレル、ファイヤワイヤ等）、スキャナ１２４から来る画像データおよび状態データの引渡し方法、ならびにスキャナ１２４自体によって提供されるもの以上に要求される増強された画像処理を提供する。
【００３５】
ワークステーション１１６に結合されたスキャナ１２４の種類ごとに、ジョブ準備ワークステーション１１６にロードされるＰＭを提供することにより、ＶＳＤは、スキャンニング・アプリケーションによって特定のスキャナ１２４でスキャンを開始するように指示されたときに、自動的に適切なＰＭを利用することができる。ＶＳＤは、オペレータによって選択されたスキャナ１２４に基づいて、どのＰＭを使用するかを動的に選択する。
【００３６】
さらに、ＶＳＤおよびＰＭは、スキャナ１２４とワークステーション１１６との間の実時間連絡を促進または可能にする。つまりＶＳＤおよびＰＭは、スキャンがスキャナ１２４で進行している間に、スキャナ１２４が画像および／または状態データをワークステーション１１６に送り、ワークステーション１１６がスキャナ１２４にコマンドを送ることを可能にする。例えば、ＶＳＤはスキャナの状態、イベント、およびスキャナ１２４によって提供されるその他のテレメトリ・データをはじめとするスキャナ１２４の状態データの実時間フィードバックを提供する。この情報は、スキャンの進行中、およびスキャンが完了した後で提供される。この情報は、スキャンが進行している間に、スキャンを停止または再始動する必要なく、オペレータがスキャン・パラメータを調整するために使用することができる。これは、スキャン品質が徐々に劣化しているが、まだスキャン・ジョブが危険にさらされる時点には至っていないときに便利である。そのような状況で、実時間調整つまりワークステーション１１６からのコマンドは、スキャンを停止および／または開始する遅延無しで、スキャン品質を改善し、劣化を除去することができる。さらに、診断アプリケーションなどのアプリケーションは、ＶＳＤによって提供された実時間フィードバックを利用して、ランプの故障など差し迫ったハードウェアの故障を検出することができる。自動化スキャン品質アプリケーションは、進行中のスキャンの品質を監視し、様々なスキャナ・パラメータおよび画像処理アルゴリズムを自動的に調整して、スキャナ・ガラス上の塵、または原稿の送りミスによって生じる歪んだ画像など、品質の劣化を是正することができる。そのようなアプリケーションはさらに、スキャンニング・プロセスを自動化し、オペレータのエラーを低減し、それにより効率およびスループットを改善することができる。
【００３７】
加えて、ＶＳＤは、画像ごとにアプリケーションにハンドシェークすることなく、画像データをスキャンニング・アプリケーションに引き渡す。好適な実施形態では、一般的にドキュメントのスキャンされた各ページの個別画像ファイルからなる画像データは、好ましくはジョブ準備ワークステーション１１６のファイル・システム内に配置された、ＶＳＤおよびスキャンニング・アプリケーションが共通にアクセス可能なバッファ記憶装置に引き渡される。このバッファ記憶装置はランダム・アクセス・メモリ内、ローカル・ハード・ディスク上、またはネットワーク・ディスク上に配置することができる。好適な実施形態では、ＶＳＤは、ハイパーテキスト・トランスファ・プロトコル（Hypertext Transfer Protocol）によって指定されたユニフォーム・リソース・ロケータ（Uniform Resource Locator）を利用して、ジョブ準備ワークステーション１１６に結合された装置ハードウェアとは独立した、一様な汎用ファイルをベースにした引渡し方法を提供する。技術上周知の通り、ファイル・トランスファ・プロトコル（「ＦＴＰ」および「ＴＦＴＰ」）およびネットワーク・ファイル・システム（「ＮＦＳ」）をはじめ、他のファイル引渡しプロトコルも使用できることは理解されるであろう。画像データをバッファ記憶装置に引き渡すことにより、スキャンニング・アプリケーションはデータが必要な時に非同期に画像データを検索することができる。これによりスキャンニング・アプリケーションは、同一のスキャンニング・アプリケーションおよびジョブ準備ワークステーション１１６から複数のスキャナの同時動作を効率的に操作し、サポートすることができる。さらに、これによりＶＳＤは、複数のスキャンニング１２４が作動しているときでさえも、スキャナ１２４の定格速度と実質的に同一速度で画像データの引渡しを実行することができる。好適なスキャナであるイメージダイレクト・スキャナの場合、この速度は６５ページ／分である。
【００３８】
今、図３を参照すると、ＶＳＤ３０８の第１実施形態を利用する生産スキャンニング・システムのブロック図が示されている。システム３００はジョブ準備ワークステーション１１６、スキャナ３０２、スキャンニング・アプリケーション３０６、およびバッファ記憶装置３１６を含む。ジョブ準備ワークステーション１１６は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルＬ．Ｌ．Ｃ．によって製造されたデジマスタTM９１１０によって使用されるスキャン・ホスト（Ｓｃａｎ  Ｈｏｓｔ）TMステーションであることが好ましい。代替的に、カリフォルニア州サンタクララに位置するインテル社によって製造されたペンティアムTMクラス以上のプロセッサ、６４メガバイト以上のＲＡＭ、２０ギガバイト以上のハード・ディスク、および適切なディスプレイ装置を含む適切なコンピュータ・ハードウェア・プラットフォームを使用することができる。さらに、スキャナ３０２は、同じくハイデルバーグ・デジタルＬ．Ｌ．Ｃ．によって製造されたイメージダイレクト・スキャナであることが好ましい。スキャナ３０２は、ハードウェア・インタフェース３０４を使用してジョブ準備ワークステーション１１６に結合される。ハードウェア・インタフェース３０４は好ましくはＳＣＳＩインタフェースである。代替的に、ハードウェア・インタフェース３０４はＵＳＢ、ファイヤワイヤ、シリアル、またはパラレル・インタフェースとすることができる。さらに、スキャナ３０２は、技術上周知の通りイーサネットまたは他の匹敵するネットワーク・インタフェース／アーキテクチャを利用して、ネットワークを介してジョブ準備ワークステーション１１６に結合することができる。ハードウェア・インタフェース３０４は、高帯域幅、高スループット双方向通信をサポートすることが好ましい。バッファ記憶装置３１６は、ジョブ準備ワークステーション１１６のファイル・システムと結合され、好ましくは物理的にステーション１１６と接続されたハード・ディスク・ドライブであることが好ましい。代替実施形態では、バッファ記憶装置３０６は、ランダム・アクセス・メモリ、スキャナ３０２と結合された専用ハード・ドライブ、またはネットワーク・ドライブなどのリモート・ディスク・ドライブとすることができる。ジョブ準備ワークステーション１１６のオペレーティング・システムは、スキャンニング・アプリケーション３０６およびＶＳＤ３０８の両方からバッファ記憶装置３１６への共通アクセスを可能にすることが好ましい。
【００３９】
スキャンニング・アプリケーション３０６は、ジョブ準備ワークステーション１１６上で実行されるソフトウェア・プログラムであり、これによりオペレータがスキャン・ジョブを開始し制御するだけでなく、結果的に得られる画像を編集するなど、または生産プリンタ１２２へ結果を送ることにより、スキャンの結果を一覧し、操作することも可能になる。好適な実施形態では、スキャンニング・アプリケーション３０６は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルＬ．Ｌ．Ｃ．によって製造されたデジマスタTM９１１０によって使用されるスキャン・ホストTMソフトウェアである。システム３００はさらに、スキャンニング・アプリケーション３０６と結合されたＶＳＤ３３０８を含む。スキャンニング・アプリケーション３０６は、技術上知られる通り、ＶＳＤ３０８のＡＰＩ３１０を介してＶＳＤ３０８と連絡する。ＡＰＩ３１０は、スキャンニング・アプリケーション３０６が使用できる様々なスキャナ３０２にコヒーレントな均質ユーザ・インタフェースを提供する。このＡＰＩ３１０については付属書Ａでより詳しく記述する。ＶＳＤ３０８はさらに、１つまたはそれ以上のＰＭ３１２Ａ、Ｂを含む。ＰＭ３１２Ａ、Ｂは、ジョブ準備ワークステーション１１６に接続されているか、接続することができる各々のスキャナ３０２に対して定義される。ＰＭ３１２Ａ、Ｂは、ＡＰＩ３１０とスキャナ３０２に対するハードウェア・インタフェース３０４との間のインタフェース・ギャップに架橋する。ＰＭ３１２Ａ、Ｂは特定のスキャナ３０２のスキャナ特定的属性を包含し、ＡＰＩ３１０からの汎用コマンドをスキャナ３０２が理解する特定的コマンドに翻訳する。さらに、ＰＭ３１２Ａ、Ｂは、これらのコマンドをフォーマットして、スキャナ３０２をジョブ準備ワークステーション１１６に接続するために使用される特定のハードウェア・インタフェース３０４を通して転送する、ハードウェア・インタフェース連結性３１４Ａ、Ｂを含む。ＰＭ３１２Ａ、Ｂはスキャナ装置３０２への通信インタフェースを提供するので、スキャンニング・アプリケーション３０６はこの側面を取り扱う必要が無い。これは、通信の開始および維持を含む。上述した通り、通信のインタフェースはＳＣＳＩ、ファイヤワイヤ、ファイバ・チャネル、ＵＳＢ、シリアルまたはパラレル等の型のインタフェースとすることができる。ＰＭ３１２Ａ、Ｂはさらに、バッファ記憶装置３１６に対する直接インタフェース３１８を提供する。これによりＰＭ３１２Ａ、Ｂはスキャナ３０２からバッファ記憶装置３０６へ画像データを引き渡すことができ、そこからスキャンニング・アプリケーション３０６は非同期にそれを検索することができる。ＰＭ３１２Ａ、Ｂは、局所的にジョブ準備ステーション１１６にまたはネットワーク・ドライブ上など遠隔的に配置することができる宛先バッファ記憶装置３１６に、スキャンされた画像データを引き渡す責任を担う。遠隔バッファ記憶装置３１６への画像データの引渡しを可能にするために、ＰＭ３１２Ａ、Ｂは、ＦＴＰまたはＮＦＳなどの何らかの形のファイル・システム・プロトコル、もしくは上述したようなＨＴＴＰなど他のプロトコルを使用することができる��最後に、ＰＭ３１２Ａ、Ｂはスキャナ装置３０２自体でサポートすることができない（ネイティブでない）画像処理機能を識別して提供する。特定の画像処理機能がスキャナ３０２で利用できない場合、ＰＭ３１２Ａ、Ｂはソフトウェア代替物を提供する。このようにして、ＶＳＤ３０８はスキャンニング・アプリケーション３０６に均一な機能セットを提供することができ、スキャナ３０２の実際に利用可能な機能セットによって制限されない。ＰＭ３１２Ａ、Ｂによって実現される好適なスキャナ・インタフェースについては、付属書Ｃでより詳しく記述する。このようにして、ＶＳＤ３０８は、スキャンニング・アプリケーション３０６およびスキャナ／ベンダ特定的インタフェース属性を具現化するＰＭ３１２Ａ、Ｂに接続する共通ＡＰＩ３１０へと論理的に区分される。さらに、上述の通り、ＡＰＩ３１０は、スキャンニング・アプリケーション３０６からコマンドを受け取り、それらをＰＭ３１２Ａ、Ｂに渡すことができ、ＰＭ３１２Ａ、Ｂは、スキャンが進行中に、および画像または状態データがスキャナ３０２からＰＭ３１２Ａ、Ｂに転送されている間に、これらのコマンドをスキャナ３０２に渡すことができ、ＰＭ３１２Ａ、Ｂは画像または状態データを、後にスキャンニング・アプリケーション３０６が検索できるようにバッファ記憶装置３１６に転送し、それによりスキャナ３０２とスキャンニング・アプリケーション３０６／ワークステーション１１６との間の実時間通信が促進される／可能になる。ＶＳＤ３０８のソフトウェア・アーキテクチャに関するさらなる詳細については、付属書Ｂを参照されたい。
【００４０】
今、図４を参照すると、ＶＳＤ４０８の第２実施形態を利用する第２スキャンニング・システム４００のブロック図が示されている。この図は、複数のスキャナ４０２Ａ〜Ｃを同時に利用できるスキャンニング・システム４００を示す。スキャンニング・システム４００は、ハードウェア・インタフェース４０４Ａ〜Ｃを使用してスキャナ４０２Ａ〜Ｃと結合されたジョブ準備ワークステーション１１６を含む。各スキャナ４０２Ａ〜Ｃは異なる種類とすることができ、上述の通り異なるハードウェア・インタフェース４０４Ａ〜Ｃを使用してジョブ準備ワークステーション１１６と接続することができることは理解されるであろう。さらに、スキャンニング４００は、上述の通り、共通アクセス可能なバッファ記憶領域４１６を含み、ＰＭ４１４Ａ〜Ｃはスキャナ４０２Ａ〜Ｃの定格速度で画像データを引き渡すことが可能になり、かつスキャンニング・アプリケーション４０６はハンドシェーキングを必要とせずに画像データを非同期に検索することが可能になる。
【００４１】
図４はさらに、ＶＳＤ  ＡＰＩ４１０と結合されたＰＭ４１４Ａ〜Ｃを示す。これらのＰＭ４１４Ａ〜Ｃは、図３の実施形態について上述したように作動する。基本的に、スキャンニング・アプリケーション４０６は、適切なコマンドをＶＳＤ  ＡＰＩ４１０に送ることによって、スキャナ４０２Ａ〜Ｃ上でスキャンを開始する。次いでＡＰＩ４１０は各スキャナ４０２〜Ｃ用に適切なＰＭ４１２Ａ〜Ｃをロードする。各ＰＭ４１２Ａ〜Ｃは、他のＰＭ４１２Ａ〜Ｃと実質的に並列に共存し同時実行することができ、単一のスキャンニング・アプリケーション４０６およびＶＳＤ  ＡＰＩ４１０からのスキャナ４０２Ａ〜Ｃの同時操作が可能になる。さらに、ＶＳＤ  ＡＰＩ４１０およびＰＭ４１２Ａ〜Ｃは、上述したようにスキャンがこれらのスキャナ４０２Ａ〜Ｃで進行しているときに、スキャンニング・アプリケーション４０６／ワークステーション１１６が実時間に１つまたはそれ以上のスキャナ４０２Ａ〜Ｃと連絡し／作動してそこから画像データを受け取ることを促進する／可能にする。代替実施形態では、そのような同時スキャンニング能力は、複数のスキャンニング・アプリケーション４０６をジョブ準備ワークステーション１１６上で実質的に並列に実行させ作動させることによって実現することができる。そのようなマルチタスキングは技術上よく知られている。さらに、スキャンニング・アプリケーション４０６は単一のＶＳＤ  ＡＰＩ４０８と通信して、述べた通り複数のＰＭ４１２Ａ〜Ｃにより複数のスキャナ４０２Ａ〜Ｃを制御することができ、あるいは代替的にＶＳＤ  ＡＰＩ４０８はそれ自体、各ＰＭ４１２Ａ〜Ｃを備えたジョブ準備ワークステーション１１６上で複数回インスタンシエーションを行なうことができる。
【００４２】
加えて、付属書Ａ〜Ｅも含まれる。付属書ＡはＶＳＤ  ＡＰＩのインタフェース使用をより詳しく記述する。付属書ＢはＶＳＤのソフトウェア・アーキテクチャをより詳しく記述する。付属書Ｃは、ＶＳＤ  ＰＭによって実現される好適なスキャナのＳＣＳＩをベースとするユーザ・インタフェースについて記述する。付属書Ｄは、ＶＳＤ  ＰＭによって実現される好適なスキャナのＳＣＳＩをベースとする診断インタフェースについて記述する。
【００４３】
付属書Ｅを参照すると、好適なイメージダイレクト・スキャナのための例示的ＶＳＤおよびＰＭのコンピュータ・コードが含まれている。このコードは、６４Ｍｂまたはそれ以上のランダム・アクセス・メモリ、２０ＧＢまたはそれ以上のハード・ディスク、およびカリフォルニア州サンタクララに位置するインテル社によって製造されたペンティアム・クラス以上のプロセッサを含むコンピュータ・システムでコンパイルするように意図されている。さらに、このコードは、ワシントン州レドモンドに位置するマイクロソフト社によって製造されたマイクロソフト・ビジュアル・ステューディオ（Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｓｔｕｄｉｏ）バージョン６．０を使用してコンパイルするように意図されている。当業界の通常の熟練者は、付属書の１〜４ページに指定するように、コード・ファイルをディレクトリ構造にロードしなければならないことを理解されるであろう。ロード後、周知の通りＶＳＤコードをコンパイルし実行するために、ファイル作成（ｍａｋｅ  ｆｉｌｅ）を実行しなければならない。
【００４４】
したがって、上記の詳細説明は限定ではなく例示とみなされるように意図されており、本発明の精神および範囲を定義するように意図されているのは、全ての均等物を含む以下の請求項であることを理解されたい。
【００４５】
付属書Ａ
バーチャル・スキャナ・ドライバ・インタフェース仕様書
【００４６】
はじめに
バーチャル・スキャナ・ドライバ（ＶＳＤ）は、デジタル・ハイ・ボリューム（ＤＨＶ）製品の環境内でのスキャンニング・ワークフローへのアクセスに備えている。ＶＳＤは、下にあるスキャナに対する汎用の拡張可能なインタフェースを介して、このアクセスを提供する。ＶＳＤの目的は、各々の個別スキャナによって提供される特定のインタフェースに関係なく、クライアントが複数のモデルおよび型のスキャナにアクセスできるようにすることである。
目的
本書はＶＳＤへのインタフェースを提示する。ＶＳＤはＤＨＶ環境内でのスキャンニング・ワークフローに対するインタフェースを提供する。本書では、このインタフェースについて、それが提供するオペレーションおよび型の定義を含めて説明する。本書はまた、ＶＳＤクライアントによるインタフェースへのアクセスおよび使用に関する情報も提供する。
範囲
本書では、ＶＳＤによって提供されるインタフェースについて述べ、それがＤＨＶ環境で使用される状況について述べる。これは、このインタフェースを明らかにするために必要な場合、ＶＳＤ構成要素の設計および実装に関する詳細をも含む。
読者
本書は、ＶＳＤに接続するクライアント・ソフトウェアの開発者の要求を満たすように意図されている。本書はまた、スキャナ・ソフトウェアおよびＶＳＤの開発者および保守担当者、ならびにＶＳＤによって提供される機能性に関係するプロジェクト・プランナおよび管理者にも役立つかもしれない。
用語、頭字語、および略語
本節では、本書全体を通して使用する用語、頭字語、および略語を定義する。
【００４７】
【表１】
0003904422.tif 000002
【００４８】
概要
本節では、ＶＳＤインタフェースについて高水準の記述を提示する。これは、インタフェースの目的、その使用環境、およびその内容の概略についての考察を含む。
【００４９】
インタフェースの目標
ＶＳＤインタフェースの一次目的は、クライアントに対しスキャンニング・ワークフローの汎用表現を提供することである。ワークフローは、ＶＳＤインタフェースによって提供されるオペレーションによって記述される。汎用表現を提供することにより、任意のクライアントが、ＶＳＤを使用するように構成されたどのスキャナとも通信することが可能になる。さらに、多くの様々なスキャナが、クライアントの実現に影響することなく、ＶＳＤを使用するように構成することができる。
ＶＳＤインタフェースの二次目的は、サポートされるスキャナの設定および型に関する拡張性である。ＶＳＤが進化するので、ワークフローおよびしたがってサポートされるオペレーションは基本的に同じままである。しかし、スキャナの設定の数および型は変化することがある。これにより、潜在的に新しい能力を備えた新しいスキャナを、再び既存のクライアントの実現に影響することなく、ＶＳＤの下でサポートすることができる。
【００５０】
使用環境（Context）
ＶＳＤは、ＤＨＶ環境のコンテキストで実行するように設計されている。ＶＳＤインタフェースは、この環境内でスキャンニング・ワークフロー機能性をクライアントに提供する。クライアントはこのインタフェースを使用して、スキャナと接続し、スキャン・ジョブを介して画像捕捉を管理する。
ＶＳＤは、ＤＨＶ環境内のスキャン・ホストに常駐する。各スキャン・ホストに対してＶＳＤがインストールされ、任意の接続されたスキャナのためのインタフェースを提供する。クライアントはＶＳＤインタフェースを利用して、特定のスキャン・ホストに接続された特定のスキャナにアクセスすることができる。ＤＨＶ環境は、クライアントがスキャン・ホストおよび対応するＶＳＤを発見するメカニズムを提供する。
【００５１】
スキャン・ホスト上の各スキャナにアクセスするために、ＶＳＤはそのスキャナのスキャナ・パーソナリティ・モジュール（ＳＰＭ）と通信する。ＳＰＭは、特定のスキャナの機能性を提供するソフトウェア構成要素である。ＶＳＤインタフェースはこのスキャナ機能性をラップして拡張可能な汎用表現にする。これによりクライアントは、特定のスキャナ・インタフェースに関係なく、スキャナにアクセスすることができる。これはまた、様々なスキャナをＶＳＤおよびそのクライアントが使用するように構成することをも可能にする。
【００５２】
スキャンニング・ワークフローに加えて、ＶＳＤはスキャナリソースへのアクセスを調整する。ＶＳＤインタフェースは、ロッキング機能を介して特定のスキャナのスキャン・ジョブの直列化を明示的に実行する。これにより、一人のクライアントだけが特定の一時にスキャナでスキャン・ジョブを実行できることが保証される。このようにしてＶＳＤは、複数のクライアントが、回線争奪（コンテンション）を引き起こすことなく複数のスキャナにアクセスすることを可能にする。
図５は、ＶＳＤクライアント、ＶＳＤ、およびＳＰＭのインタフェーシングを示す。
【００５３】
使用モデル
ＶＳＤインタフェースを介して提供されるスキャナの機能性にアクセスするために、クライアントは最初に、コンフィギュレーションの中でどのスキャナが利用可能かを決定しなければならない。クライアントは、ＶＳＤインタフェースを介して提供されるスキャナ列挙機能を使用して、この決定を行なう。これにより、クライアントは適切なスキャナを識別することができる。
【００５４】
【表２】
0003904422.tif 000003
【００５５】
スキャナを識別した後、クライアントはそのスキャナを使用することをＶＳＤに登録しなければならない。これにより、ＶＳＤはそのスキャナのために資源を管理し、クライアントが思いがけなく切断した場合に、適切に対応することができる。クライアントがスキャナを登録すると、ＶＳＤは、そのスキャナのＳＰＭがそれ以前に始動していなければ（つまり他のクライアントがまだ登録していなければ）、それを始動する。スキャナの登録後、クライアントはそのスキャナの状態標識を受け取る。スキャナが使用禁止されていなければ、スキャナによって生成されたイベントがクライアントに転送される。これらのイベントは、状態変化標識およびスキャナのＶＳＤ追跡状態の変化を含む。スキャナが使用禁止されていないと仮定して、クライアントはＶＳＤの操作を介してスキャナの初期状態標識を検索することができる。そうすることにより、生成されたイベントを介して更新情報が到着し、クライアントはスキャナの状態を追跡することができる。
【００５６】
【表３】
0003904422.tif 000004
【００５７】
適切なフォーマットで画像を捕捉するために、クライアントはスキャナの設定を交渉しなければならない。これは、スキャナがどの設定をサポートするかを決定し、所望の画像捕捉のために適切な値を設定することを含む。これは、ＶＳＤインタフェースを通して提供されるスキャナ設定操作を介して達成される。
【００５８】
【表４】
0003904422.tif 000005
【００５９】
適切なスキャンニング値を設定した後、クライアントは、選択したスキャナから画像を捕捉する手順に進むことができる。クライアントは最初に、独占的アクセス権を得るために、スキャナをロックしなければならない。これにより、クライアントは特定のスキャナを使用しようとする試みで衝突しないことが保証される。クライアントがスキャナに対してロックを掛けると、それは画像を捕捉し始めることができる。クライアントは、必要に応じてスキャナを休止したり再始動することによって、画像捕捉シーケンスを制御することができる。クライアントはまた、希望する場合、画像捕捉を取り消すこともできる。ＶＳＤインタフェースにより、クライアントはスキャナのロッキングや画像捕捉を使用可能にする操作ができる。
【００６０】
【表５】
0003904422.tif 000006
【００６１】
代替的に、クライアントはスキャナに対するＶＳＤアクセスを使用禁止にすることを選択し、こうして異なるメカニズム（例えば診断ソフトウェア）によるアクセスを可能にすることもできる。スキャナが使用禁止状態の間に他のクライアントがスキャナを使用しようとするのを防止するために、ここでもクライアントはまず最初にスキャナをロックしなければならない。スキャナを使用禁止にした場合、クライアントはその後スキャナを再び使用可能状態にし、ロックを解除することができる。これによりＶＳＤは再びスキャナにアクセスして、システムで画像捕捉のためにそれを利用することができる。ＶＳＤインタフェースは、スキャナを使用可能にしたり使用禁止にする操作を提供する。
【００６２】
【表６】
0003904422.tif 000007
【００６３】
クライアントがスキャナを使用し終わったら、そのクライアントはスキャナのロックを解除し、そのスキャナの登録を取り消すことができる。これによりＶＳＤは、クライアントがもうスキャナに関心を示さなくなったときに、スキャナ資源を解除することができる。ＶＳＤインタフェースは、この目的のためにロック解除および登録取消しの機能を備えている。
【００６４】
【表７】
0003904422.tif 000008
【００６５】
従属性
本節では、ＶＳＤインタフェースのアクセスおよび使用に関する従属性について提示する。
【００６６】
クライアント・アクセス
ＶＳＤ機能性にアクセスするために、クライアントはＶＳＤインタフェースに接続しなければならない。これは、ＶＳＤのスキャン・ホストを捜し出し、インタフェースを実現するソフトウェア構成要素に接続することを含む。ＤＨＶ環境は、この目的のためのメカニズムを提供する。クライアント接続を容易にするために、ＶＳＤインタフェースはＤＨＶ環境で発行しなければならない。
【００６７】
スキャナ・アクセス
スキャン・ホストに接続されたスキャナにアクセスするために、ＶＳＤは各スキャナのＳＰＭを識別し、捜し出すことができなければならない。これを容易にするために、ＶＳＤは、接続されたスキャナに関する構成情報（configuration information）を必要とする。この情報は、スキャン・ホストの動作環境内でＶＳＤによってアクセス可能でなければならない。
【００６８】
インタフェースの説明
本節では、ＶＳＤインタフェースの内容を提示し、それが提供するオペレーションおよび型について述べる。ＶＳＤインタフェースは、クライアントがスキャナと対話し、画像を得ることを可能にする多数のオペレーションを包含する。このインタフェースはまた、スキャナによってサポートされる特性、状態標識、およびイベントについて多数の型定義をも含む。
【００６９】
オペレーション
ＶＳＤインタフェースは、ＶＳＤ構成要素によって実現されるオペレーション、およびＶＳＤクライアントによって実現されるコールバック・オペレーションを定義する。
【００７０】
ＶＳＤオペレーション
ＶＳＤインタフェースは以下のオペレーションを提供する。
【００７１】
【表８】
0003904422.tif 000009
【表９】
0003904422.tif 000010
【表１０】
0003904422.tif 000011
【００７２】
クライアント・オペレーション
ＶＳＤは、コールバックを通してそのクライアントにイベント情報を伝達しなければならない。このコールバックは、上述のクライアント登録オペレーションに渡されたインタフェース上に提供される。ＶＳＤクライアントは、ＶＳＤへの接続を可能にするためにこのインタフェースを実現しなければならない。コールバックの定義は次の通りである。
【００７３】
【表１１】
0003904422.tif 000012
【００７４】
例外
ＶＳＤは、クライアントによって呼び出されたオペレーションに応答して、例外を生成する場合がある。オペレーションによって返却される例外は、オペレーションが無事に完了できなかったことを示す。特定の例外は、クライアントが正しく形成されていないオペレーション・パラメータまたは特性設定値を渡さなかったこと、あるいはスキャナがオペレーションを実行できない状態であることを示す場合がある。ＶＳＤは以下の例外を生成することがある。
【００７５】
【表１２】
0003904422.tif 000013
【表１３】
0003904422.tif 000014
【００７６】
型
ＶＳＤインタフェースは、プロパティ、状態インジケータ、およびイベント識別子のタイプ定義をサポートする。このインタフェースはまた、特性設定および状態に関連するマニフェスト値をも定義する。
ＶＳＤインタフェースは以下の特性をサポートする。
【００７７】
【表１４】
0003904422.tif 000015
【表１５】
0003904422.tif 000016
【表１６】
0003904422.tif 000017
【表１７】
0003904422.tif 000018
【表１８】
0003904422.tif 000019
【表１９】
0003904422.tif 000020
【００７８】
状態インジケータ（status indicator）
ＶＳＤインタフェースは以下の状態インジケータをサポートする。
【００７９】
【表２０】
0003904422.tif 000021
【００８０】
イベント
ＶＳＤインタフェースは以下のイベントをサポートする。
【００８１】
【表２１】
0003904422.tif 000022
【００８２】
実現上の考慮事項
本節では、ＶＳＤインタフェースの実現に関する詳細を提示する。これは、ＶＳＤの構成要素により利用される技術の説明のみならず、ＶＳＤが実行される目標環境についても記述する。
【００８３】
アーキテクチャ
ＶＳＤアーキテクチャは、ＣＯＲＢＡおよびＣＯＭの両方のために設計された構成要素を包含する。アーキテクチャの各レベルで、構成要素はそれらのクライアントに対するインタフェースを提供する。これらのインタフェースは、本書で記載するインタフェースの特定的実現である。
【００８４】
ＣＯＲＢＡ
ＶＳＤは、最上レベルにＣＯＲＢＡインタフェースを提供する。このインタフェースにより、ＣＯＲＢＡクライアントは、ＶＳＤおよび下にあるスキャン・ソフトウェアによって実現される機能性にアクセスすることができる。このインタフェースへのアクセスはオブジェクト・リクエスト・ブローカ（ＯＲＢ）によって調整され、ＣＯＲＢＡの中心を成す位置透過的方法呼出しメカニズムを備えている。
【００８５】
ＶＳＤの機能性をクライアントが利用できるようにするために、ＯＲＢはＶＳＤ実現を捜し出すことができなければならない。これを促進するために、ＶＳＤはＯＲＢに登録される。これによりクライアントはＯＲＢサービスを使用してＶＳＤに結合し、そのインタフェースにアクセスすることができる。このシナリオでは、ＶＳＤはＣＯＲＢＡサーバとして働く。
ＶＳＤの実際のＣＯＲＢＡサーバ構成要素は、次節で記述する下にあるＣＯＭ構成要素の代理として働く。これは、ＣＯＲＢＡ構成要素がＣＯＭ構成要素への転送動作以上のことをほとんど行なわず、道に沿ってＣＯＲＢＡからＣＯＭへの必要なデータ変換が実行されることを意味する。
【００８６】
ＣＯＭ
上述の通り、ＶＳＤのＣＯＲＢＡ層はＣＯＭ構成要素と対話する。この構成要素は完全ＶＳＤインタフェースを実現し、ＳＰＭと対話して必要な機能性を達成する。ＣＯＭ構成要素に全インタフェースを実現させることは、（ＣＯＲＢＡ層に先立つ）ＣＯＭクライアントをインタフェースでサポートできるという意味で有利である。
【００８７】
ＣＯＭ構成要素は、ＣＯＭ特定的オブジェクトおよびインタフェース情報をシステム・レジストリに発行することによって、クライアントに利用可能になる。これにより、ＣＯＲＢＡのＣＯＭ代理層などのＣＯＭクライアントは、標準ＣＯＭイディオムを使用して、ＶＳＤ機能性にアクセスすることができる。
【００８８】
環境
ＶＳＤはＤＨＶソフトウェアの構成要素として目標化される。ＤＨＶは、スキャナ・ワークステーションへの接続を介してスキャナのインストールをサポートする。このスキャナ・ワークステーションは、ＶＳＤおよびＳＰＭの動作環境を提供する。動作環境はウィンドウズＮＴである。
【００８９】
実行
前節で述べたように、ＶＳＤの機能性は、ＣＯＲＢＡ  ＯＲＢを介して最上レベルでクライアントに利用可能になる。ＯＲＢによりクライアントはＶＳＤ実現に結合し、インタフェースにアクセスすることができる。この結合動作により、ＶＳＤ実行可能コードが始動するメカニズムが提供される。システムの最初のＶＳＤクライアントが結合を試みると、ＯＲＢはＶＳＤに実行を開始させる。ひとたび開始すると、ＶＳＤはそれ自体を構成し、クライアントにサービスを提供し始める。
【００９０】
構成
ＶＳＤは、スキャナ・ワークステーションにインスールされたスキャナを決定するために、構成情報を必要とする。この情報により、ＶＳＤは、どのスキャナがワークステーションに接続されているか、およびどのソフトウェア・モジュールがこれらのスキャナを特にサポートするかを決定することができる。ＶＳＤはＮＴ環境で実行されるので、その構成情報はＮＴシステム・レジストリに格納される。初期化後、ＶＳＤはレジストリを調べてその構成を決定し、この情報を用いて必要なソフトウェア構成要素を始動させる。この構成段階が完了すると、ＶＳＤおよび下にある構成要素は機能する。
【００９１】
付属書Ｂ
バーチャル・スキャナ・ドライブ・ソフトウェアのアーキテクチャ
【００９２】
はじめに
バーチャル・スキャナ・ドライバ（ＶＳＤ）は、デジタル・ハイ・ボリューム（ＤＨＶ）製品の環境内でのスキャンニング・ワークフローへのアクセスに備えている。ＶＳＤは、下にあるスキャナに対する汎用の拡張可能なインタフェースを介して、このアクセスを提供する。ＶＳＤの目的は、各々の個別スキャナによって提供される特定のインタフェースに関係なく、クライアントが複数のモデルおよび型のスキャナにアクセスできるようにすることである。
【００９３】
目的
本書はＶＳＤのアーキテクチャを提示する。ＶＳＤは多数のソフトウェア構成要素から成り、それらが一緒に作動して必要な機能性を提供する。本書は、これらの構成要素の構造および対話に関する情報を提供する。本書は、これらの構成要素に接続してアクセスを提供するために使用されるツールおよび技術の考察を含む。
【００９４】
範囲
本書はＶＳＤのアーキテクチャに関する。本書は、ＶＳＤを構成するソフトウェア構成要素、それらの対話、およびこれらの構成要素にアクセスするためのメカニズムを提供する。アーキテクチャを明確にするために必要な場合、これらの構成要素の実現に関する詳細も含まれる。
【００９５】
読者
本書は、ＶＳＤのアーキテクチャ全体に関わるソフトウェアの開発者および保守担当者を対象とする。本書はまた、特定のＶＳＤクライアントおよび特定のスキャナ構成要素の開発者、ならびにＶＳＤによって提供される機能性に関わるプロジェクト・プランナおよび管理者にも役立つかもしれない。
用語、頭字語、および略語
【００９６】
【表２２】
0003904422.tif 000023
【００９７】
アーキテクチャの概要
本節では、ＶＳＤのアーキテクチャの最高水準の概要を提供する。これは、ＤＨＶ環境全体の概観、およびＶＳＤを構成するソフトウェア構成要素の列挙を含む。
【００９８】
ＤＨＶ環境
ＶＳＤはＤＨＶ環境の状況で実行するように設計され、スキャンニング・ワークフローはこの環境内でクライアントに提供される。ＤＨＶ環境は、ＵｎｉｘおよびＷｉｎｄｏｗｓ  ＮＴの動作環境の下で実行される構成要素の集合を含む。主要なＤＨＶ構成要素は、生産機能性の大部分を提供する多数のＵｎｉｘアプリケーションを含む。これは、印刷、スキャン、およびコピー・ジョブを管理する構成要素を含む。一般的に、このグループ内の構成要素は、共通オブジェクト・リクエスト・ブローカ・アーキテクチャ（ＣＯＲＢＡ）をサポートするオブジェクト・リクエスト・ブローカ（ＯＲＢ）を介して通信する。ＤＨＶのＶＳＤクライアントはこれらの構成要素の中に常駐し、ＯＲＢを使用してＶＳＤと通信する。
【００９９】
ＤＨＶ製品のスキャンニング・サポートを提供する構成要素は、スキャン・ホストに常駐するＷｉｎｄｏｗｓ  ＮＴに基づく構成要素である。これらの構成要素は一般的に、ＮＴ環境によって提供される構成要素オブジェクト・モデル（ＣＯＭ）サポートを用いて相互通信する。これらの構成要素は、他のＤＨＶ構成要素との通信をサポートするためにＣＯＲＢＡを使用許可することもできる。ＶＳＤはＮＴ環境に常駐し、他の構成要素との通信のためにＣＯＲＢＡおよびＣＯＭの両方の方法を使用する。
【０１００】
高水準アーキテクチャ
ＤＨＶ環境のスキャンニング・ワークフローは、基本的に３つの構成要素クラスによってサポートされる。これらはＶＳＤクライアント、ＶＳＤ自体、および多数のスキャナ・パーソナリティ・モジュールを含み、様々なスキャナをサポートする。
【０１０１】
ＶＳＤクライアント構成要素はＶＳＤと通信して、ＤＨＶに対してスキャンニング・ワークフローを使用可能にする。この構成要素はＶＳＤ機能性を利用してスキャナにアクセスし、画像キャプチャのためにこれらのスキャナでスキャン・ジョブを管理する。ネットワークされたスキャン・ホストを突き止め、ＯＲＢを介してＶＳＤとの通信を開始するのはクライアントの役割である。
【０１０２】
ＶＳＤは、ＤＨＶに対してスキャンニング・ワークフローを使用可能にするための機能性を提供する構成要素である。この機能性は、汎用の拡張可能なインタフェースを通して提供される。クライアントはこのインタフェースを介して、スキャンニング・タスクのためにＶＳＤを利用する。様々なモデルおよび型のスキャナをサポートするために、ＶＳＤはスキャン・ホストに接続されたスキャナにスキャナ・パーソナリティ・モジュール（ＳＰＭ）を利用する。各ＳＰＭは特定のスキャナを管理し、スキャン・ジョブを介する画像キャプチャのサポートを提供する。
【０１０３】
スキャナ・パーソナリティ・モジュール（ＳＰＭ）は、特定のモデルおよび型のスキャナのサポートを提供する構成要素である。この構成要素は、一般的にＳＣＳＩインタフェースを介してスキャナとの全ての直接対話を処理する。その機能性を提供するために、ＳＰＭはソフトウェア・インタフェースを提供する。このインタフェースにより、スキャン・ジョブ、スキャナ状態報告、イベント伝搬、およびスキャナからの画像キャプチャをサポートするために必要なその他の機能性の管理が可能になる。
【０１０４】
以下の図６は、ＤＨＶ環境におけるＶＳＤのコンテキストを示す。
ＶＳＤ構成要素アーキテクチャ
本節では、ＤＨＶスキャンニング・サブシステムの構成要素アーキテクチャについて述べる。これは、ＶＳＤ自体の構成要素アーキテクチャの提示を含む。これはまた、ＶＳＤクライアントおよびＳＰＭなどサポート構成要素に関する関連情報、およびこれらの構成要素がＶＳＤと対話するためのメカニズムをも含む。
【０１０５】
ＶＳＤ構成要素
ＶＳＤはＣＯＲＢＡ構成要素およびＣＯＭ構成要素から成る。これらの構成要素は一緒に作動して、ＶＳＤクライアントのためにスキャナへのアクセスを提供する。
【０１０６】
ＣＯＲＢＡのＣＯＭプロキシ
最上レベルで、ＶＳＤはＣＯＲＢＡインタフェースをそのクライアントに提供する。このインタフェースは、ＣＯＲＢＡサーバとして働くＶＳＤの構成要素によって提供される。これはＯＲＢによるアクセスを含意し、この構成要素をＣＯＲＢＡ環境内で登録することが必要である。ＯＲＢへの登録により、ＣＯＲＢＡクライアントがＶＳＤに結合する手段がもたらされ、位置透過的方法呼出しが容易になる。要するに、ＣＯＲＢＡサーバ構成要素は、ＶＳＤにＣＯＲＢＡ連結性を提供する。
ＶＳＤのＣＯＲＢＡ構成要素は、下にあるＣＯＭオブジェクトのプロキシとして働く。この構成要素は方法呼出しをＣＯＭ構成要素に転送し、必要なＣＯＲＢＡからＣＯＭへのデータ型変換を実行する。この構成要素はまた、方法呼出しの処理中にエラーが発生した場合、ＣＯＲＢＡ例外処理をも可能にする。最後に、この構成要素は、ＶＳＤクライアントによって実現されるクライアント・インタフェースを通してのイベントの受渡しを可能にする。
【０１０７】
ＶＳＤ  ＣＯＭオブジェクト
ＶＳＤアーキテクチャのＣＯＭ構成要素は、ＮＴ環境でスキャナへのアクセスを容易にする。この構成要素は全ＶＳＤ機能性を実現し、ＣＯＭ環境でスキャナ・ワークフローを完全に使用可能にする。この点で、この構成要素はＣＯＭサーバとして働き、最高水準のＣＯＲＢＡ構成要素などのクライアントをサポートする。これには、ＮＴ環境のＣＯＭサブシステムへの登録が必要である。この構成要素の登録により、標準ＣＯＭイディオムを使用して下にある機能性にアクセスすることが可能になる。
【０１０８】
ＶＳＤ  ＣＯＭオブジェクトは、スキャナの構成情報をＶＳＤインタフェースを介してそのクライアントに提供する。この情報はローカル・スキャン・ホストに接続されたスキャナを記述し、クライアントがアクセスするスキャナを選択することを可能にする。スキャナの構成情報は、スキャン・ホスト内で局所的にＮＴシステム・レジストリに格納される。ＶＳＤ  ＣＯＭオブジェクトはこの構成記憶を利用して、必要な情報をそのクライアントに提供する。
【０１０９】
スキャナにアクセスする手段を提供した後、ＶＳＤ  ＣＯＭオブジェクトはそのクライアントに実際にスキャナを接続しなければならない。ＣＯＭ構成要素は、構成されたスキャナの各々に対してＳＰＭを使用することによりこれを達成する。ＶＳＤ  ＣＯＭオブジェクトは特定のスキャナのためにＳＰＭをロードして、そのスキャナへのアクセスを提供する。次いでスキャンニング・ワークフロー・オペレーションが、クライアントの要求に基づいてＶＳＤによってＳＰＭに送られる。最後に、スキャナへのアクセスがもはや必要でなくなると、ＶＳＤはＳＰＭをアンロードする。このようにして、ＶＳＤ  ＣＯＭ構成要素は資源を管理して、そのクライアントの必要に応じたスキャナへのアクセスを可能にする。
【０１１０】
サポート構成要素
ＤＨＶの画像キャプチャを完全に使用可能にするために、ＶＳＤはＳＰＭおよびＶＳＤクライアントの両方と対話する。これらの構成要素は、クライアントがプロセスを操縦し、ＳＰＭがスキャナ連結性を提供して、スキャンニング・ワークフローのためのサポートを完遂する。
【０１１１】
ＶＳＤクライアント
ＶＳＤクライアントは、ＶＳＤを利用してスキャナにアクセスしかつスキャン・ジョブを管理し、画像キャプチャ・プロセスを操縦する。ＤＨＶの場合、クライアントはＤＨＶ環境内に存在するＣＯＲＢＡクライアントである。そういうものとして、これらのクライアントは、ＶＳＤ  ＣＯＲＢＡサーバと同様に、ＯＲＢに登録しなければならない。
ＶＳＤにアクセスするためには、クライアントは適切なスキャン・ホストおよび対応するＶＳＤ実現を捜し出さなければならない。ＣＯＲＢＡの用語集では、これはＶＳＤ  ＣＯＲＢＡサーバと結合することを含める。クライアントがＶＳＤに結合されると、それはＶＳＤ方法にアクセスし始める。
【０１１２】
特定のスキャナを画像キャプチャのために利用するために、クライアントはそのスキャナをＶＳＤに登録しなければならない。そうする際に、クライアントはＶＳＤからのコールバックを可能にするインタフェースを提供する。クライアントは、ＶＳＤインタフェースで要求されたときにイベントの受け渡しを容易にするために、このインタフェースを実現する。このようにして、クライアントとＶＳＤとの間に双方向通信が確立する。
【０１１３】
スキャナ・パーソナリティ・モジュール
スキャナ・パーソナリティ・モジュールは、スキャン・ホストに接続されたスキャナに直接通信を提供する。ＳＰＭは、スキャン・ホスト上でＮＴ動作環境の状況で実行されるＣＯＭオブジェクトである。これらの構成要素はＶＳＤによって管理され、そのクライアントのスキャナ・アクセス要求を満たす。ＶＳＤによるＳＰＭへのアクセスを可能にするために、これらの構成要素をＮＴ環境のＣＯＭサブシステムに登録しなければならない。登録により、標準ＣＯＭイディオムを介してのこれらの構成要素へのアクセスが可能になる。
【０１１４】
スキャナの機能性を効果的に提供するために、ＳＰＭはスキャン・ホスト上で適切なスキャナを対応付けなければならない。これは事実上、ＶＳＤが接続されたスキャナを記述する構成情報を用いてＳＰＭを識別できなければならないことを意味する。これは、スキャン・ホストのＮＴシステム・レジストリにスキャナの登録と共にＳＰＭ構成情報を含めることによって達成される。
【０１１５】
以下の図７は、ＶＳＤ構成要素の高水準アーキテクチャを示す。
アーキテクチャの従属性
本節ではＶＳＤアーキテクチャの従属性を提示する。これは、ＶＳＤの実行をサポートするために必要なサービスおよび構成要素に関する情報を含む。
【０１１６】
ＣＯＲＢＡデーモン（daemon）
ＤＨＶの目的のために、ＶＳＤはそのクライアントに対してＣＯＲＢＡサーバとして働く。ＣＯＲＢＡを介して機能性を提供するために、ＶＳＤはＣＯＲＢＡアーキテクチャからのサポートを必要とする。このサポートはＣＯＲＢＡデーモンによって提供される。ＣＯＲＢＡデーモンは、そのホスト・システムでのＣＯＲＢＡオブジェクトの実行およびそれに対する連結性を提供する構成要素である。したがってＶＳＤは、スキャン・ホストでのＣＯＲＢＡデーモンの実行に依存する。
【０１１７】
ＣＯＲＢＡサーバ登録
ＣＯＲＢＡデーモンのサポートを得るために、ＣＯＲＢＡオブジェクトをホスト・システムに登録しなければならない。そうすることにより、ＣＯＲＢＡデーモンはインタフェースをオブジェクトに関連付け、オブジェクト・クライアントに結合サービスを提供することができる。ＣＯＲＢＡサポートを得るために、ＶＳＤは適切なＣＯＲＢＡオブジェクトおよびインタフェースの登録を必要とする。
【０１１８】
ＯＲＢの実行
実行時にＣＯＲＢＡオブジェクトへの連結性を提供するには、ＣＯＲＢＡデーモンをホスト・システム上で実行しなければならない。このデーモン・プロセスにより、ＣＯＲＢＡインタフェースを介してクライアントをオブジェクトに接続するＯＲＢサービスが提供される。ＤＨＶ環境の場合、ＯＲＢはデーモン・プロセスの状況で実行される。
【０１１９】
ＣＯＲＢＡサービスが利用できることを確実にするために、ＣＯＲＢＡデーモンは、クライアントがオブジェクトを結合しようとする前に実行しなければならない。一般的にＣＯＲＢＡデーモンは、ホスト・システムがブートされるときに始動する。したがって、スキャン・ホストのＮＴ環境では、ＣＯＲＢＡデーモンは、ブート時に始動するＮＴサービスとして実行される。
【０１２０】
ＣＯＭサポート
ＶＳＤはそのクライアントにＣＯＲＢＡインタフェースを提供するが、下にある機能性はＣＯＭを介して実現される。ＣＯＭイディオムは、ＣＯＲＢＡ層にサポートを提供したり、ＳＰＭに接続するために、ＶＳＤによって使用される。したがってＶＳＤは、スキャン・ホスト上のＮＴ環境に組み込まれたＣＯＭサブシステムに従属する。
【０１２１】
ＣＯＭサーバ登録
ＣＯＭサブシステムからサポートを得るために、ＣＯＭオブジェクトをホスト・システムに登録しなければならない。ＣＯＭオブジェクトの登録は、ＮＴシステム・レジストリにエントリ数を書き込むことによって達成される。オブジェクトの実現によっては、自己登録ができる場合がある（例えばＥＸＥサーバ）。そうでなければ、システム・ツールを使用してオブジェクトおよびそのインタフェースを登録することができる（例えばＤＬＬサーバの場合）。ＣＯＭを介してサービスを提供するために、ＶＳＤはスキャン・ホストにおけるＣＯＭサブシステムの登録を必要とする。
【図面の簡単な説明】
【図１】好適な生産印刷のワークフローを示す流れ図である。
【図２】好適な実施形態のユーザ機能性のワークフローを示す流れ図である。
【図３】第１実施形態によるスキャナ・インタフェースのブロック図である。
【図４】第２実施形態によるスキャナ・インタフェースのブロック図である。
【図５】ＶＳＤクライアント、ＶＳＤ、およびＳＰＭのインタフェーシングである。
【図６】ＤＨＶ環境におけるＶＳＤのコンテキストである。
【図７】ＶＳＤ構成要素の高水準アーキテクチャである。
【図１ａ】
0003904422.tif 000024
【図１ｂ】
0003904422.tif 000025
【図２】
0003904422.tif 000026
【図３】
0003904422.tif 000027
【図４】
0003904422.tif 000028
【図５】
0003904422.tif 000029
【図６】
0003904422.tif 000030
【図７】
0003904422.tif 000031