JP3904422B2 - プロダクション・スキャナに接続するためのシステムおよび方法 - Google Patents
プロダクション・スキャナに接続するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP3904422B2 JP3904422B2 JP2001310293A JP2001310293A JP3904422B2 JP 3904422 B2 JP3904422 B2 JP 3904422B2 JP 2001310293 A JP2001310293 A JP 2001310293A JP 2001310293 A JP2001310293 A JP 2001310293A JP 3904422 B2 JP3904422 B2 JP 3904422B2
- Authority
- JP
- Japan
- Prior art keywords
- scanner
- module
- vsd
- interface
- scan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B42—BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
- B42C—BOOKBINDING
- B42C19/00—Multi-step processes for making books
- B42C19/02—Multi-step processes for making books starting with single sheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1275—Print workflow management, e.g. defining or changing a workflow, cross publishing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B42—BOOKBINDING; ALBUMS; FILES; SPECIAL PRINTED MATTER
- B42P—INDEXING SCHEME RELATING TO BOOKS, FILING APPLIANCES OR THE LIKE
- B42P2261/00—Manufacturing; Forming
- B42P2261/04—Producing books by printing sheets in following order, e.g. for ordering via the Internet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Facsimiles In General (AREA)
- Image Input (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、プロダクション・スキャナに接続するためのシステムおよび方法に関する。
関連出願
共同譲受人に譲渡された以下の同時係属米国特許出願は、本願と同日に出願された。この出願は、本願に開示する実施形態の他の態様に関し、それをさらに記載するものであり、以下の文献を援用する。
本願と同時出願の米国特許出願第09/686,995号「複数のプロダクション・スキャナに接続するためのシステムおよび方法」(弁護士参照番号第10432/33号)
付属書への言及
付属書AおよびBが請求の範囲のすぐ前に含まれ印刷される。加えて、請求の範囲の後に付属書C、DおよびEも含まれる(なお、付属書C、DおよびEは、手続補足書により提出する)。
著作権の告知
本特許文書の開示の一部分に、著作権の保護を受ける資料が含まれる。著作権の所有者は、それが特許商標庁の特許ファイルまたは記録にあるので、誰かによる特許文書または特許開示のファクシミリ複製に異議は無いが、それ以外ではどんなものでも全著作権を保有する。
【0002】
【技術の分野】
ほとんど全てのコンピュータ・ユーザは彼ら自身のプリンタを所有し、高品質のドキュメントを生成することができるが、そのようなドキュメントを大量にかつ例えば製本など特殊仕上げ機能により生成する能力は依然として、商業印刷所および企業の複写部の範囲内である。ドキュメントの大量の仕上げ生産は一般的に生産印刷と呼ばれる。生産プリンタは、大量のドキュメントの高速生産が可能な印刷装置である。一般的にこれらのプリンタは高い用紙処理能力、複数の供給源からの複数の媒体の種類を利用する能力、および製本を追加することによるなどドキュメントを自動的に仕上げる能力を有する。生産プリンタおよびコンピュータ技術の急増によって提供されるオートメーションにもかかわらず、特にデスクトップ出版の領域では、生産印刷は依然として複雑であり、しばしば手動プロセスである。
【0003】
典型的な印刷所では、顧客が、製本された小冊子、三折りパンフレット、またはタブ付き三リング・バインダ式ノートなどの完成品に仕上げたい原稿ドキュメントを持ち込む。加えて、彼らは一般的に、例えばパンフレット100部など、大量の完成品を必要とする。原稿ドキュメントと仕上げ製品を生産するための指示を合わせた組合せは、「ジョブ」と呼ばれる。ドキュメントは、ハード・コピーまたは例えばフロッピー・ディスク、コンパクト・ディスク、またはテープなど電子的形態のいずれかで持ち込むことができ、あるいはインターネットなどネットワークを介して印刷所に送信することができる。
【0004】
【発明が解決しようとする課題】
ハード・コピーの形で印刷所に引き渡されるドキュメントは、それらを編集しかつそれ以外の生産準備を行なうことができるように、最初に印刷所のコンピュータ・システムにスキャンしなければならない。一般的に、印刷所は、1つまたはそれ以上のプロダクション・スキャナに結合された1つまたはそれ以上のワークステーション・コンピュータから成る1つまたはそれ以上のスキャンニング・ステーションを有する。消費者等級のスキャナ装置に比較して、プロダクション・スキャナは、大量の原稿を高速度および高解像度で連続的にスキャンすることができる大量装置である。スキャナは非常に精密かつ信頼できる装置である傾向があるが、ドキュメントのスキャンニングは依然として、特に生産印刷所の大量高速環境に関連して、非常に資源集約的になり得る。
【0005】
典型的な操作では、オペレータがドキュメントをスキャナの自動給紙機に装填する。次にオペレータは、スキャンニング・アプリケーションがまだロードされていなければ、それをワークステーションにロードし、次いでドキュメントをスキャンするようにスキャナに指示する。ひとたびスキャンが完了すると、オペレータはスキャンされたドキュメントを見て、忠実な複製が作成されたことを確認することができる。しかし、しばしば、スキャンニング・プロセス中にエラーが発生し、再スキャンニングが必要になることがある。そのようなエラーはオペレータのエラー、またはスキャンニング・ガラス上の塵、用紙の供給ミス、もしくはランプの故障などスキャナの誤動作を含む。さらに、時には、原稿ドキュメントの特徴を考慮して、画像処理アルゴリズム、コントラスト、またはカラー・バランスなど、スキャンのパラメータを調整する必要がある。これらの調整は、原稿ドキュメントの目視検査からは明らかでない場合があり、パラメータを正しく設定するために何回か再スキャンを要することもある。大きいドキュメントの場合、そのような再スキャンは時間と費用がかかり得る。
【0006】
大きいドキュメント、印刷所の大作業量、および必然的なエラーの発生が組み合わさると、スキャンニング・プロセスはできるだけ効率的である必要がある。これは一般的に、オペレータのエラーの減少ならびにエラー回復および是正の費用の減少に言い換えられる。1つの解決策は、オペレータがスキャンニング・ワークステーションで使用する、問題を予想してスキャンニング動作の直観的かつ効率的な制御を提供する知的かつ効率的なスキャンニング・アプリケーションを提供することである。残念ながら、そのようなアプリケーションはしばしば、スキャナの動作ならびにエラーの検出および是正のための状態および事象データのスキャナ・フィードバックに対し必要な制御を提供することができない、スキャナのハードウェアおよびソフトウェア・インタフェースによって制限される。さらに、これらのインタフェースは、複数のスキャナまたはクリーン・ルーム環境などスキャンニング・ワークステーションから遠隔的に配置されたスキャナの効率的な管理および動作を可能にする能力に欠ける。
したがって、スキャンニング・アプリケーションを大量プロダクション・スキャナに接続するための効率的なシステムおよび方法が必要である。
【0007】
【課題を解決するための手段】
本発明は上記の請求項によって明確に定められ、本節のいずれの記載もそれらの請求項の制限とみなすべきではない。序論として、以下で記載する好適な実施形態は、第1アプリケーション・プログラムを第1スキャナに接続するためのドライバに関する。第1アプリケーション・プログラムはコマンドを第1スキャナに転送するように働き、第1スキャナはドキュメントをスキャンして、画像データおよび状態データ(ステータスデータ)をスキャンから第1アプリケーション・プログラムに転送するように働く。ドライバは、第1アプリケーション・プログラムと結合され、第1アプリケーション・プログラムからコマンドを受け取り、かつ画像データおよび状態データを第1アプリケーション・プログラムに提供するように働くアプリケーション・プログラム・インタフェース(「API」)を含む。ドライバはさらに、APIおよび第1スキャナに結合され、第1スキャナから画像データおよび状態データを受け取り、かつコマンドを第1スキャナに転送するように働く第1スキャナ・パーソナリティ・モジュール(「SPM」)を含む。ここで、APIおよび第1SPMは、第1アプリケーション・プログラムと第1スキャナとの間の実時間通信を容易にする。
【0008】
好適な実施形態はさらに、第1アプリケーション・プログラムを第1スキャナに接続する方法にも関係し、第1アプリケーション・プログラムは、第1スキャナに結合された第1コンピュータ上で実行される。この方法は、第1アプリケーション・プログラムによって指示された通り第1スキャナで第1ドキュメントの第1スキャンを開始し、第1スキャンが進行するにつれて第1スキャナによって生成される第1画像データを受け取り、第1スキャンが進行するにつれて第1スキャナから第1状態データを受け取り、第1スキャンが進行するにつれて第1画像データおよび第1状態データを第1アプリケーション・プログラムに提供し、第1スキャンが進行するにつれて第1スキャンを調整することを含む。
【0009】
【発明の実施の形態】
今、図1を参照すると、商業大量コピー店または印刷所など典型的な生産印刷所における生産ワークフロー100を示す流れ図が示されている(なお、図1aは左図、図1bは右図としてひとつのまとまった図1を表す。)。ワークフローとは、タスク、手続きステップ、関係する組織または人々、必要な入出力情報、および業務プロセスの各ステップで必要なツールと定義される。下で論じるように、生産印刷などの業務またはプロセスの分析および管理に対するワークフロー法は、オブジェクト指向法と組み合わせることができ、これはドキュメント、ページ、データ、およびデータベースなど、関係する離散オブジェクトおよびプロセスに焦点を合わせる傾向がある。この開示の目的として、用語「オブジェクト指向」は、開示する実施の形態に適用される場合、オブジェクト指向プログラミング法が開示の実施形態の唯一の実現方法であることを含意しない。
【0010】
図1はさらに、印刷所用の典型的なコンピュータ・ネットワーク112をも示す。典型的なデジタル印刷所では、コンピュータ・ネットワーク112を構成するコンピュータ・ワークステーション114、116、サーバ118、120、大量入力装置124、および大量出力装置122のネットワーク112がある。サーバ118、120はネットワーク・サーバ118およびプリント・サーバ120を含む。ネットワーク112のトポロジは一般的に、印刷所のワークフロー100と整合するように構成される。ネットワーク112は、有線または無線イーサネット・ネットワークまたはその他の形として、もしくはローカル・エリア・ネットワークとして実現することができる。さらに、ネットワーク112は、インターネットなどの広域ネットワークへの有線または無線接続、および仮想私設網を介してなど他のローカル・エリア・ネットワークへの接続を含むことができる。
【0011】
生産ワークフロー100は、ジョブ発生102、ジョブ実行依頼104、ジョブ準備106、印刷生産108、および最終達成110の手続き段階を含む。代替的に、これらの手続き段階の1つまたはそれ以上を併合することができるだけでなく、他の追加手続き段階を設けることもできる。ジョブ発生102は、まとめて「ジョブ」と定義されるドキュメントおよび指示を顧客から受け取る手続き段階である。ジョブ発生102は、顧客がハード・コピーか電子的形態かに関わらず彼のジョブを物理的に印刷所に持ち込むか、さもなくば電話、ファックス、郵便、電子メール、もしくはインターネットを介してなどローカル・エリア・ネットワークまたは広域ネットワークのいずれによるかに関わらず、ジョブを印刷所に送信したときに、発生することができる。ジョブは2つ以上のドキュメントおよび2組以上の指示を含むことができることに注意されたい。例えばジョブは、各々が本の1章である多くのドキュメントを、本の表紙を含むドキュメントと共に含むことができる。この例示的ジョブは、個々の章のドキュメントから本の本文を生成するための指示、および表紙を生成するための別の組の指示を含むことができる。加えて、下で論じる通り、本の本文に表紙を組み付けるための第3組の指示を設けることができる。
【0012】
ジョブ実行依頼104は、印刷所によるジョブの受取り、およびジョブを印刷所の生産システムまたはワークフロー内に投入することである。一般的に顧客からの指示は、「チケット」または「ジョブ・チケット」として知られる専用用紙に書き留められる。チケットは電子的に作成し維持することもできる。さらに、標準化指示用に予め定められたチケットを利用することもできる。例えば、印刷所は、ドキュメントを複製し、最終出力に三穴をあけ、穴をあけた最終出力を三リング・バインダに取り付ける指示付きの予め印刷されたチケットのはぎ取り式綴りを備えることができる。これが顧客による一般的な要求である場合、そのような予め印刷されたチケットにより、時間と資源を節約することができる。注文を受け付ける店員がしなければならないことは、生成するコピーの枚数など、顧客に特定的な詳細を記入するだけである。予め定められたチケットは、作業を標準化し、顧客からの指示を書き写す際のエラーを防止するのに役立てることができる。非常に簡素な印刷所では、ジョブ実行依頼104は単に、チケットの作成と共に原稿ドキュメントおよび指示を受け取り、ジョブをペーパ・ホルダに入れ、それを後で後続の手続き段階で処理するための物理的待ち行列にセットするだけとすることができる。
【0013】
ジョブを電子的に処理する印刷所では、ジョブ実行依頼104は、ジョブを印刷所の電子生産システム内に入れる必要がある。顧客がハード・コピーとして持ち込んだドキュメントの場合、ドキュメントは最初に印刷所のコンピュータ・システム内に電子的にスキャンしなければならない。電子的形態で引き渡されたドキュメントの場合、ドキュメントデータ・ファイルを印刷所のコンピュータ・システムにロードしなければならない。
【0014】
ジョブ実行依頼段階104のために、コンピュータ・ネットワーク112は1つまたはそれ以上の「店頭」ワークステーション114を含む。店頭ワークステーション114は、注文受付デスクまたは店員のステーションに配置されるか顧客セルフ・サービス用に設置されたコンピュータ・システムである。これらのワークステーション114はジョブ実行依頼段階104用に使用され、一般的にフロッピー・ディスク、コンパクト・ディスク、テープ等など多くの様々な種類の電子媒体を取り扱うように構成される。これらのステーションはまた、インターネットまたは顧客との他の形のネットワーク接続を通してジョブを受信するように構成することもできる。さらに、これらのワークステーション114は一般的に、ワシントン州レドモンドに位置するマイクロソフト社によって製造されたマイクロソフト・オフィスTMファミリの製品によって使用されるような多くの様々な電子ファイル・フォーマット、もしくはアルダス・ページメーカ(AldusPagemaker)TM(TMは、商標を示す。以下同様。)またはクォークエクスプレス(QuarkXpress)TMなど種々の他のデスクトップ・パブリッシング・プログラム・ファイル・フォーマットを読み取るように構成される。加えて、これらのステーション114は、ポータブル・ドキュメント・フォーマット(Portable Document Format)TM(「PDF」)、ポストスクリプト(Postscript)TM(「PS」)またはプリンタ制御言語(「PCL」)など、後述する「レディ・フォー・プリンタ(ready for printer)」ファイル・フォーマットも読み取ることができる。ジョブ準備ワークステーション116はまた、タグド・イメージ・ファイル・フォーマット(Tagged Image File Format)(「TIFF」)、ビットマップ(「BMP」)、およびPCXなどのイメージ・フォーマットをも受け入れることができる。これらのステーション114は、ハード・コピーのドキュメントをコンピュータ・システムにスキャンするためのスキャナ124を含むこともできる。スキャナは一般的に操作が複雑な装置であり、一部の印刷所では、後述するように訓練された職員だけが使用するジョブ準備ワークステーション116に結合されたジョブ準備段階106にスキャナ124を配置する(図示するように)ことが好まれる。加えて、店頭コンピュータ114はまた、生産印刷タスクを完了するための全ての指示を含むジョブのためのチケットを電子的にまたはハード・コピーの形で生成する能力をも提供する。チケットを生成するこのプロセスは、予め定義されたチケットを含めて自動化するか、手動か、あるいはそれらの組合せとすることができる。
【0015】
ジョブ準備106は、チケットの指示に従って印刷するためのドキュメントの準備を含む。ハード・コピーの形で提出されたドキュメントの場合、ジョブ準備106は、ドキュメントをスキャンし、忠実な、エラーの無い電子的複製を作成することを含むことができる。いったん電子の形になっているドキュメントもまた、印刷所がドキュメントを編集しかつ印刷するために使用できる共通ファイル・フォーマットに純化または変換しなければならない。これは、オペレータが複数の異なるプログラムを扱う必要性を緩和し、異なる電子ファイル・フォーマットを使用して印刷するために複合ドキュメントをひとつに組み付ける必要性を排除する。
【0016】
例えば顧客は、1つが本の本文、もう1つが特定のページに挿入される写真という、2つの異なるドキュメントを持ち込むかもしれない。顧客は次いで、写真を特定のページに挿入し、最終アセンブリに連続ページ番号を付け加えるように指示するかもしれない。写真の画像はアドビ・フォトショップTMフォーマットである一方、本の本文はマイクロソフト・ワードTMフォーマットであるかもしれない。オペレータは各々の個別ソフトウェア・パッケージを使用して、どのページに画像を挿入するかを割り出し、本と写真のページを適切に割り当てる事ができるが、これは非常に複雑で時間のかかるプロセスである。また、オペレータがある範囲のソフトウェア・パッケージについて訓練し精通していることも要求され、顧客が使用した特定のパッケージにオペレータが精通していないという危険を冒すことでもある。したがって、様々なファイル・フォーマットの各々を統一フォーマットに純化すると、オペレータが単一ソフトウェア・インタフェースを使用してジョブを準備することができるようになり、効率的である。好適な実施形態では、全てのドキュメントは、ハード・コピーで提供されたか電子的に提供されたかにかかわらず、「レディ・フォー・プリンタ」または「プリント・レディ(print ready)」ファイル・フォーマットに純化または変換される。好適な実施形態では、レディ・フォー・プリンタ・フォーマットとして、カリフォルニア州サノゼに位置するアドビ・システムズ社によって開発されたポータブル・ドキュメント・フォーマットTMを使用する。
【0017】
レディ・フォー・プリンタ・ファイル・フォーマットとは、データ画像を出力媒体上にラスタ化するために、プリンタまたは他の形のハード・コピー出力装置の内部処理エンジンによって直接解釈することができるプリンタ制御命令と共に印刷される両方のデータを含むファイル・フォーマットと定義される。ラスタ化とは、出力媒体の特定の位置に画像データを配置することである。そのようなファイル・フォーマットは、どちらもカリフォルニア州サノゼに位置するアドビ・システムズ社によって製造されたポータブル・ドキュメント・フォーマットTM(「PDF」)およびポストスクリプトTM(「PS」)のみならず、カリフォルニア州パロアルトに位置するヒューレット・パッカードによって製造されたプリンタ制御言語(「PCL」)をも含む。非レディ・フォー・プリンタ・フォーマットの例は、マイクロソフト・ワードTMなどパーソナル・コンピュータ・アプリケーション・プログラム用のネイティブ・アプリケーション・ファイル・フォーマットを含む。これらのファイル・フォーマットは、印刷する前に、まずレディ・フォー・プリンタ・ファイル・フォーマットに変換しなければならない。さらに、タグド・イメージ・ファイル・フォーマット(「TIFF(Tagged Image File Format)」)など一部の画像ファイル・フォーマットは、出力媒体上のその出力位置を指定し、プリンタの内部処理エンジンによる解釈のためのプリンタ制御命令を含まず、したがってこの開示の目的ではレディ・フォー・プリンタ・ファイル・フォーマットではないフォーマットにすでになっているビット画像データだけを含む。レディ・フォー・プリンタ・フォーマットを使用することにより、画像データのラスタ化を、出力媒体上における画像データの最終配置のできるだけ近くまで遅らせることができる。これは、内部制御論理でラスタ化処理を最適化させ、結果的にオペレータの期待に沿う可能性がいっそう高い出力を生じることにより、生産印刷装置(production print device)122の最も効率的な使用を可能にする。
【0018】
ジョブ準備段階106のために、コンピュータ・ネットワーク106は、ネットワーク112を介して店頭ワークステーション114に結合されたジョブ準備ワークステーション116、スキャナ124、およびネットワーク・サーバ118を含む。ここで、句「結合された」とは、直接接続されること、もしくは1つまたはそれ以上の中間構成部品を通して間接的に接続されることを意味する。そのような中間構成部品は、ハードウェアおよびソフトウェアをベースにする構成部品の両方を含むことができる。ジョブ準備ワークステーション116は、オペレータにジョブを管理、編集、および印刷させるワークフロー管理ソフトウェアを実行することが好ましい。ネットワーク・サーバ118はジョブの操作、管理、格納、および達成を可能にするドキュメントライブラリ、またはそれらのそれぞれのドキュメントおよび/またはチケットを含むだけでなく、店頭コンピュータ114からジョブ準備ワークステーション116へ、およびジョブ準備ワークステーション116から印刷サーバ120または生産出力装置122へのジョブの流れも促進し管理する。例示的ドキュメントライブラリは、ミネソタ州イーデンプレーリに位置するイントラネット・ソリューションズ社によって製造されたIntra.DocTMドキュメント管理システム、およびカナダ国オンタリオ州ヨークに位置するハミングバード社によって製造されたDOCFusionドキュメント管理システムを含む。好適な実施形態では、ジョブ準備ワークステーション116は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルL.L.C.によって製造されたイメージスマート(Imagesmart)TMワークステーションである。代替的に、カリフォルニア州サンタクララに位置するインテル社によって製造されたペンティアム(Pentium)TMクラスまたはそれ以上のプロセッサ、64メガバイトまたはそれ以上のRAM、20ギガバイトまたはそれ以上のハード・ディスク、および適切なディスプレイ装置を含む適切なコンピュータ・ハードウェア・プラットフォームを使用することができる。さらに、好適な実施形態では、ネットワーク・サーバ118が開放型ドキュメント管理アーキテクチャ(「ODMA(Open Document Management Architecture)」)標準に従い、ドキュメント管理能力およびスケーラブルな記憶装置を備えることが好ましい。
【0019】
ジョブ準備ワークステーション116はまた、顧客にサービスを提供することによって印刷生産プロセスに価値を付加する印刷所の能力をも提供する。そのようなサービスは、顧客によって提供されたドキュメントに手を加え、顧客が自分では追加しようとしないまたはできない特徴を追加する能力を含む。そのような特徴は、複数のドキュメントにまたがってページ番号を付け加えること、ベイツ・ナンバリング(bates numbering)、タブ・ストック(tab stock)のためのページ・レイアウトの調整、および綴じ付けを考えた出力の位置合わせを含む。さらに、ジョブ準備ワークステーション116は、スキャンされた画像におけるアーティファクトの除去、および望まれていないテキストまたはマーキングに対するマスキングなど、ドキュメントの誤りを修正する能力を提供する。ジョブ準備ワークステーション116はまた、印刷または製本プロセスによって引き起こされる、完成品における間違いを防止するために使用することもできる。そのような間違いは、ドキュメントが折り丁組付けを使用して小冊子/パンフレットに組み付けられた後で発生するバインダのクリープを含む。バインダのクリープは、用紙上の画像の配置が、本のページ数の関数としての綴じ付けの厚さを考慮し損ない、表紙に近付くにつれてページ上の画像が内側にずれていくときに発生する。バインダのクリープは、ドキュメントに折り丁の組み付けを実行するときに、画像をわずかにずらすことによって防止される。加えて、ジョブ準備ワークステーション116は、オペレータに「組み付け(imposition)」および「折り丁組付け(signature imposition、背丁組付け)」としても知られる最終出力のドキュメントページの管理および割付けを実行させる。加えて、オペレータはページを組み替え、ページを裏返し、空白ページを挿入し、ページのトリミングと移動を行い、裁ち切りページを作成し、「n−up」としても知られる1枚の用紙に複数のページを配置して校正刷りセット、小冊子、またはパンフレット等を作成することができる。さらに、ジョブ準備ワークステーション116は、オペレータにベイツ番号、ページ番号、ロゴ、および透かし模様など注釈をドキュメントに付け加えさせる。これらのサービスは全て、最終出力に価値を付加する。ドキュメントのフォーマット化およびその他の変更は、余白の移動など、ドキュメント全体に帯域的に適用することができ、あるいは選択されたページにだけ適用することができる。ドキュメントに対するそのような変更は、ドキュメント/ページ機能または属性として知られる。さらに、これらの変更は、一般的に顧客によって設定された原稿ドキュメントフォーマットの特定のインスタンスを無効にするので、ドキュメントまたはページ例外としても知られる。
【0020】
印刷生成のワークフロー100における次の段階は、印刷生成段階108である。印刷生成段階108で、印刷用の最終形式のドキュメントは印刷サーバ120に送られ、それはジョブを最終出力装置122に配布する。手動印刷所では、この段階108は、生成の準備ができたジョブをオペレータが所望の出力装置122に手動的に引き渡してジョブを開始することに類似している。印刷生成段階108は、印刷所の出力資源を管理する。そのような管理は、印刷所の適切な装置122の待ち行列にジョブを入れ、利用できる装置122にジョブを発送し、様々な装置122に加えられる負荷を均衡させ、それを特定の装置122に送る前にジョブを分割またはRIP処理するなどジョブを前処理することを含む。RIPはラスタ・イメージ・プロセッサを表わし、レディ・フォー・プリンタ・データをラスタ・イメージに変換するハードウェアおよび/またはソフトウェアである。それはまた、ページ画像を出力媒体上にラスタ化するための一般用語でもある。
【0021】
印刷生成段階108で使用する印刷サーバ120は、ネットワーク112を通してジョブ準備ワークステーション116およびネットワーク・サーバ118に結合される。さらに、印刷サーバ120は、印刷所の様々な出力装置122に結合される。一部の出力装置122は、出力されるデータの電子的転送をサポートしないかもしれず、手動操作ステップが必要になるかもしれないことに注意されたい。そのような装置は、部分的に仕上げられたドキュメントを手動で製本機に転送して生産を完成させることが必要な特殊製本機を含むかもしれない。印刷サーバ120は、ネットワーク112に結合された別個のコンピュータとして実現することが好ましいが、ネットワーク・サーバ118、ジョブ準備ワークステーション116、または店頭ワークステーション114上で実行されるソフトウェアをベースとする印刷サーバを使用することもできる。好適な実施形態では、印刷サーバ120は、一般的にUNIXまたはウィンドウズNTオペレーティング・システムを実行する独立コンピュータ・ワークステーション、ソフトウェア印刷サーバ・エンジン、およびソフトウェア印刷・サーバ・アプリケーションを含むことができる。印刷サーバ・アプリケーションは、印刷サーバの動作を構成し管理するユーザ・インタフェース能力を提供する。印刷サーバ・エンジンは、印刷サーバの自動化プロセスを実行する。これらのプロセスは、ジョブおよびジョブ内容(つまりドキュメント)をスプールし待ち行列に入れ、印刷ジョブの属性およびこれらの属性が印刷エンジンによっていかに満たされるかに基づいてジョブを特定の生産出力装置に指し向け、全てのプリンタを完全に利用し続けるように、例えば白黒ジョブからカラーを分離するように様々な生産出力装置の間でジョブの負荷均衡を図り、複数の入力通信および印刷プロトコルを受け入れてそれら生産出力装置122が理解する通信および印刷プロトコルに翻訳する通信ゲートウェイとして働くことを含む。
【0022】
生産印刷ワークフロー100の最終段階は最終履行段階(final fulfillment stage)110である。最終履行段階110は、完成品が生産出力装置122で生成される段階である。生産出力装置は、印刷ドキュメントの大量生産用に設計されたプリンタなどのコンピュータ出力装置である。そのような装置は、混合媒体型でありステープル綴じまたは製本など様々な完成度の大量のドキュメントを非常に高速で生産する能力を含むことが好ましい。例示的出力装置は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルL.L.C.によって製造されたデジマスタTMデジタル大量プリンタ、およびニューヨーク州ロチェスタに位置するネクスプレス社によって製造されたネクスプレスTMカラー・プリンタを含む。
【0023】
今、図2を参照すると、好適な実施形態のジョブ実行依頼および準備段階104、106のユーザ機能性ワークフロー200を示す流れ図が示されている。ユーザ・ワークフロー200は、入力ソース段階(input source stage)202、プレフライト段階(preflight stage)204、および生成段階(production stage)206を含む。入力ソース段階202では、ジョブの全てのドキュメントが様々な入力ソース208からひとつに収集される。詳述した通り、収集されたドキュメントは全て、レディ・フォー・プリンタ・フォーマット、好ましくはポータブル・ドキュメント・フォーマットTMに変換される。この変換は手動もしくは自動化プロセス、またはそれらの組合せとすることができる。例えばネットワーク・サーバ118に特殊ディレクトリを作成することができ、そこに、例えば顧客からドキュメントを受け取りそれらを店頭ワークステーション114に入力する店員が、様々なファイル・フォーマットのデータ・ファイルを入れることができる。このディレクトリを監視する自動化論理はファイルの配置に気を付け、それらをレディ・フォー・プリンタ・フォーマットに自動的に変換する(またはそれらに手動変換のフラグを立てる)。自動化論理で処理できないドキュメントは、手動変換のフラグを立てることができる。変換されたドキュメントは次いでプレフライト段階204に渡され、そこでそれらは生成のために準備される。変換されたドキュメントのこの転送は、ドキュメントをネットワーク・サーバ118の特殊ディレクトリに移すことによって、またはドキュメントをジョブ準備ワークステーション116に転送する事によって起こり、ネットワーク・サーバ118の特殊ディレクトリではそれらはジョブ準備ワークステーション116によってアクセスが可能である。このプロセスは手動または自動とすることができ、生成の準備を待つドキュメントの待ち行列にドキュメントを入れることを含むことができる。さらに、このプロセスは、利用可能なジョブ準備ワークステーション116に現在ログインしている様々なオペレータの能力、熟練レベル、または訓練レベルと同様に、それぞれの待ち行列におけるジョブの現在のロード/バックログの手動または自動決定を含むことができる。これらの要素を考慮に入れて、ジョブは自動的または手動的に、技術的にも便宜的にもジョブを最もよく処理できるオペレータに送ることができる。この機能性は、印刷所で働く様々なオペレータの能力、熟練レベル、および訓練レベルを追跡するオペレータ・データベースを作成することによって実現することができる。このデータベースは、各ステーション116におけるジョブのロード/バックログを均衡させる待ち行列管理ソフトウェアと結合することができる。
【0024】
プレフライト段階204で、ドキュメントは本などに組み立て、注釈を付け、編集し、組付けまたは他のページ特徴を適用させることができる。ドキュメントの生成のための準備が終わると、それらは生成段階206に渡される。生成段階206で、準備されたドキュメントは(チケットからの)生成指示と共に、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルL.L.C.によって製造されたプリント・ファイル・ダウンローダ(Print File Downloader)TMアプリケーション・プログラムなどのファイル・ダウンローダを使用して、印刷サーバに、または直接生産出力装置122に提出される。このユーザ機能性ワークフロー116は、ハードウェア、ソフトウェア、および手動で実行される構成部品の組合せとして実現することができ、先に生産印刷ワークフローで詳述した1つまたはそれ以上の構成部品を含むことができる。
【0025】
生産印刷ワークフローに関するさらなる情報については、2000年5月17日出願の「生産印刷ワークフローにおいてページを表示し管理するためのシステムおよび方法」と称する米国特許出願第09/573,368号、第09/572,368号、2000年5月17日出願の「生産印刷ワークフローを表示し制御するためのシステムおよび方法」と称する米国特許出願第09/573,026号、第09/572,026号、2000年5月17日出願の「ジョブ・ストリーム内での印刷資源の効率的利用」と称する米国特許出願第09/573,108号、第09/572,108号、2000年5月17日出願の「生産印刷ワークフローにおいて複合ドキュメントを実行するためのシステムおよび方法」と称する米国特許出願第09/573,341号、第09/572,341号、2000年5月17日出願の「生産印刷ワークフローにおけるページの視覚的表示のためのシステムおよび方法」と称する米国特許出願第09/573,093号、第09/572,093号、および2000年5月17日出願の「再スキャンなしのインタラクティブ・ハードコピー・リサンプリング」と称する米国特許出願第09/573,478号、第09/572,478号を参照されたい。
【0026】
ジョブがハード・コピーの形で印刷所に持ち込まれた場合、それは上述の通り、最初に印刷所のコンピュータ・システム内にスキャンしなければならない。スキャンは、印刷所のワークフローのジョブ実行依頼104またはジョブ準備106の段階で行われる。一般的に、ドキュメントは、ジョブ準備ワークステーション116(「スキャナ・ホスト」または「スキャナ・ホスト・ワークステーション」)に結合された生産/大量スキャナ124の自動給紙機に装填される。好適な実施形態では、プロダクション・スキャナ124は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルL.L.C.によって製造されたイメージダイレクト・スキャナ(ImageDirect Scanner)である。オペレータは次いで、スキャナ124に結合されたジョブ準備ワークステーション116からスキャンを開始し、制御する。オペレータは、ジョブ準備ワークステーション116にロードされたスキャンニング・アプリケーション・プログラムを用いて、スキャナ124と対話する。スキャンニング・アプリケーションは、スキャナのパラメータを設定し、スキャンを開始しかつ制御し、スキャンの結果を見る能力を提供する。スキャンニング・アプリケーションは一般的に、スキャナ12あるいはジョブ準備ワークステーション116のメーカとは異なる第三者企業によって作成されたコンピュータ・プログラムである。一例はカリフォルニア州サノゼに位置するアドビ・システムズ社である。
【0027】
技術上知られている通り、コンピュータ・ワークステーション上で実行されるアプリケーション・プログラムは、ドライバと呼ばれるインタフェース・プログラムを用いて、そのワークステーションに結合された外部ハードウェア装置と接続する。ドライバは、装置と装置を使用するプログラムとの間の翻訳プログラムのように働く。コンピュータに結合された各装置は一般的に、そのドライバだけが知るそれ自身の専用コマンド・セットを有する。対照的に、大部分のアプリケーション・プログラムは、汎用コマンドを使用することによってこれらの装置へのアクセスの仕方を知っているだけである。したがって、ドライバはアプリケーション・プログラムから汎用コマンドを受け取り、次いでそれらを装置用の専用コマンドに翻訳する。基本的に、オペレーティング・システムとコンピュータのマザーボード上に直接位置しない事実上全てのハードウェアとの間の経路は、これらの特殊ドライバ・プログラム内を通る。ドライバの機能の多くは、ハードウェア・サブシステムの電気信号と、オペレーティング・システムおよびアプリケーション・プログラムの高水準プログラミング言語との間の翻訳プログラムとしてのものである。例えばドライバはオペレーティング・システムがファイルとして定義したデータを受け取り、それらを、記憶装置の特定の場所に配置されたビット・ストリームまたはプリンタ内の一連のレーザ・パルスに変換する。ドライバを介して制御されるハードウェアの種類には非常に幅広い違いがあるので、ドライバ・プログラムが機能する方法には必然的に違いがあるが、大部分のドライバは、装置が要求されたときに実行され、他のプロセスとほとんど同様に機能する。オペレーティング・システムは、ハードウェア資源ができるだけ素早く解除されてさらなる用途に使用できるように、高優先メモリ・ブロックをドライバに割り当てる。ドライバがオペレーティング・システムから分離している1つの理由は、オペレーティング・システム自体を変更し、再コンパイルし、再分布する必要なく、新しい機能をドライバに、およびしたがってハードウェア・サブシステムに追加できるようにするためである。新しいハードウェア装置のドライバの開発を通して、そのような開発はしばしばオペレーティング・システムの発行者ではなくサブシステムのメーカによって行われるか支払われ、総合的システムの入力/出力能力を大幅に向上することができる。
【0028】
例示的ドライバ・プログラムは、アプリケーション・プログラムが、直接的かネットワークを介するなど間接的かにかかわらず、ワークステーションに結合されたプリンタ上で出力を印刷することを可能にするプリンタ・ドライバである。異なる会社によって製造された異なるプリンタは一般的に、その会社の財産である様々な特徴を提供し、様々なコマンドを利用する。先に説明した通り、ドライバ・プログラムはアプリケーション・プログラムと種々の利用可能なプリンタとの間で1層の抽象化が可能なので、アプリケーション・プログラムは、利用可能な様々なプリンタの全てを利用するそれ自体の能力を維持したり、または後に開発された装置を扱うために更新したりする必要が無い。ドライバは、アプリケーション・プログラムが一般的にアプリケーション・プログラム・インタフェースまたはAPIと対話するための標準ソフトウェア・インタフェースを提供する。ドライバは次いで、これらの汎用対話を装置特定的コマンドに変換して、取り付けられた装置を制御する。加えて、ドライバは、特定の装置のベンダ特定的な機能を制御するためのユーザ・インタフェースをも提供することができる。例えば、二重化をサポートするプリンタは、ユーザ・インタフェースを提供できるドライバを使用して接続することができ、オペレータに二重化機能を選択させることができる。さらに、ドライバは、装置をワークステーションに接続する特定のハードウェア・インタフェースを制御するようにもプログラムされる。そのようなハードウェア・インタフェースは、技術上周知の通り、スモール・コンピュータ・システム・インタフェース(「SCSI」)、ユニバーサル・シリアル・バス(「USB」)、シリアル、パラレル、およびIEEE1394(「ファイヤワイヤ(Fire Wire)」)を含む。異なる装置が取り付けられた場合、ユーザは新しいドライバをロードするだけで、アプリケーション・プログラムは新しいハードウェアと接続することができる。スキャナ124は一般的に、SCSIインタフェースを利用してジョブ準備ワークステーション116と物理的に結合される。
【0029】
スキャナ・ドライバは一般的に、カリフォルニア州ボールダークリークに位置するトゥェイン(TWAIN)グループによって定義されたTWAIN、およびカリフォルニア州サノゼに位置するピクセル・トランスレーション社によって開発され、米国規格協会仕様ANSI/AIIM MS61−1996でも規定されたイメージ・アンド・スキャナ・インタフェース仕様(「ISIS」)の2種類がある。TWAINおよびISISに基づくドライバは低量スキャンに要求される基本的機能性を提供するが、一般的に、生産印刷所で行われるような生産/大量スキャンニングの要求には不適切であることが分かっている。そのような要求は、効率的なエラー検出、訂正、および診断能力を伴った、複数の大量原稿を高解像度および高速度で連続的にスキャンする能力を含む。さらに、印刷所はしばしば、異なるメーカによって製造された複数のスキャナ124を効率的にかつ最小限の資源で同時に作動させる必要がある。これには通常、一人のオペレータが複数のスキャナ124を1つのジョブ準備ワークステーション116に接続してそこから操作することが要求される。
【0030】
TWAI仕様に基づいて作成されたドライバはジョブ指向である。ジョブは、スキャンニング属性の全て、例えば画像の解像度およびビットの深さなどのスキャンニングおよび画像処理属性、用紙プレクス(シンプレックスまたはデュプレックス)などの一定/スキャナ独立属性の全て、およびバーコード読取り能力など特定のスキャナに特定的な属性の集合と定義される。TWAINドライバは全てのジョブ・パラメータをセットアップし、次いでスキャンを開始する。しかし、ひとたび開始すると、パラメータはスキャンが完了または停止するまで変更できない。したがって、パラメータを間違って設定した場合、スキャンは停止して完全に再始動する必要がある。これは、例えばスキャン・エラーが100ページのドキュメントの10ページ目に発生した場合、問題が生じ得る。この例では、エラーを考慮してスキャナ124を調整することができるようになる前に、スキャンを完了させなければならず、あるいはスキャンを停止し、再ロードし、再始動しなければならず、いずれの場合にも著しい遅れを招く。
【0031】
さらに、TWAINに基づくドライバは、スキャンしたドキュメントをスキャナ・ハードウェア・インタフェースからスキャンニング・アプリケーションへ一度に1画像ずつ引き渡す。これは、ドライバが各画像ごとにスキャナのハードウェア・インタフェースからアプリケーション・プログラムにハンドシェークしなければならない(つまりアプリケーションを中断し、接続を確立し、データを引き渡す)ことを意味する。これは、特に大量環境において、および単一スキャンニング・アプリケーションを利用して、同時にスキャンする複数のスキャナ124を管理する場合に、アプリケーション・プログラムにとって不必要なオーバヘッドを生じる。加えて、TWAINドライバは同一ワークステーションと複数のスキャナの接続をサポートするが、複数のスキャナを同一ワークステーションから同時に操作することをサポートしない。オペレータは、任意の一時にスキャンニングに使用する1つの特定のスキャナ124を選択し、異なるスキャナ124を選択する前にそのスキャンが完了するのを待たなければならない。
【0032】
ISISドライバは装置/スキャナ特定的ドライバであり、スキャナへのユーザ・インタフェースを提供しない。代わりに、ISISドライバは、アプリケーション・プログラムがスキャナへのユーザ・インタフェースを提供することを要求する。さらに、ISIS標準は、TWAIN標準がユーザ指定可能な属性を広範囲に使用して行なうような、スキャナ・ジョブを定義する包括的な方法を提供しない。ISISインタフェースは、ユーザがスキャナ・ジョブをセットアップするために、TWAINドライバが行なうようなスキャナ特定的なユーザ・インタフェースを表示する能力を提供しない。ISISのやり方では、アプリケーションが全てのユーザ・インタフェース・ソフトウェアを提供しなければならない。このやり方は、複数の種類のスキャナ124の使用においてコヒーレント・ユーザ・インタフェースを提供しながら、これらのスキャナ124を取り扱うことができることが必要なスキャンニング・アプリケーションの場合には機能的である。ISISは、スキャナ・ジョブを定義する包括的な方法を提供する上で、TWAINほど頑健ではない。しばしばスキャナのベンダは、要求される機能性を実行するために、ISISのアプリケーション・プログラム・インタフェース(「API」)に向上を要求する必要がある。さらに、アプリケーションがISIS APIとの必要な対話を実行して、スキャナ124の自動給紙機に装填された1組の原稿ドキュメントのスキャンニング・プロセスを開始した後、ISISドライバは、ドキュメント全体がスキャンし終わるまで、ホスト・コンピュータの全部のコンピュータ電力を消費する。最後に、ISISに基づくドライバは、複数のスキャナが同一ワークステーションから同時に操作されることをサポートしない。ISISドライバ用に作成されたアプリケーションは、1つのドライバだけがホスト・コンピュータにロードされることを想定している。
【0033】
TWAINおよびISISに基づくドライバは両方ともさらに、実時間情報をスキャンニング・ホスト・ワークステーション・コンピュータに供給する能力に欠けている。そのような実時間情報または状態データは、ランプ温度およびスキャナのパラメータ設定などの状態情報を含む。状態データはさらに、用紙の送りミスまたはランプの故障など、スキャンニング・イベントについての情報を含む。実時間とは、スキャンを進行しながら、スキャンが完了するまで待つことなく、スキャンニング・アプリケーションに状態データを提供できることを意味する。実時間は、ユーザが充分に即時と感じる、またはコンピュータが何らかの外部プロセス(例えば絶えず変化する天候の視覚化を提示する)に遅れずについていくことができるコンピュータ応答のレベルである。
【0034】
本実施の形態は、ここでバーチャル・スキャナ・ドライバ(Virtual Scanner Driver)またはVSDと呼ぶ、アプリケーション開発者のために改善されたスキャナ・インタフェース解決策を説明する。好適な実施の形態は、ジョブ準備ワークステーション116と結合されたスキャナ124の銘柄とは独立した単一APIに単一アプリケーションを連絡させる能力を備えている。さらに、ジョブ準備ワークステーション124に結合された特定のスキャナ124のベンダ特定的な機能性を包含する、パーソナリティ・モジュール(personally module)またはPMも提供する。PMはVSD APIをスキャナ124に接続する。PMはスキャンニングの3つの側面、つまりスキャナ124への連絡方法(USB、SCSI、シリアル、パラレル、ファイヤワイヤ等)、スキャナ124から来る画像データおよび状態データの引渡し方法、ならびにスキャナ124自体によって提供されるもの以上に要求される増強された画像処理を提供する。
【0035】
ワークステーション116に結合されたスキャナ124の種類ごとに、ジョブ準備ワークステーション116にロードされるPMを提供することにより、VSDは、スキャンニング・アプリケーションによって特定のスキャナ124でスキャンを開始するように指示されたときに、自動的に適切なPMを利用することができる。VSDは、オペレータによって選択されたスキャナ124に基づいて、どのPMを使用するかを動的に選択する。
【0036】
さらに、VSDおよびPMは、スキャナ124とワークステーション116との間の実時間連絡を促進または可能にする。つまりVSDおよびPMは、スキャンがスキャナ124で進行している間に、スキャナ124が画像および/または状態データをワークステーション116に送り、ワークステーション116がスキャナ124にコマンドを送ることを可能にする。例えば、VSDはスキャナの状態、イベント、およびスキャナ124によって提供されるその他のテレメトリ・データをはじめとするスキャナ124の状態データの実時間フィードバックを提供する。この情報は、スキャンの進行中、およびスキャンが完了した後で提供される。この情報は、スキャンが進行している間に、スキャンを停止または再始動する必要なく、オペレータがスキャン・パラメータを調整するために使用することができる。これは、スキャン品質が徐々に劣化しているが、まだスキャン・ジョブが危険にさらされる時点には至っていないときに便利である。そのような状況で、実時間調整つまりワークステーション116からのコマンドは、スキャンを停止および/または開始する遅延無しで、スキャン品質を改善し、劣化を除去することができる。さらに、診断アプリケーションなどのアプリケーションは、VSDによって提供された実時間フィードバックを利用して、ランプの故障など差し迫ったハードウェアの故障を検出することができる。自動化スキャン品質アプリケーションは、進行中のスキャンの品質を監視し、様々なスキャナ・パラメータおよび画像処理アルゴリズムを自動的に調整して、スキャナ・ガラス上の塵、または原稿の送りミスによって生じる歪んだ画像など、品質の劣化を是正することができる。そのようなアプリケーションはさらに、スキャンニング・プロセスを自動化し、オペレータのエラーを低減し、それにより効率およびスループットを改善することができる。
【0037】
加えて、VSDは、画像ごとにアプリケーションにハンドシェークすることなく、画像データをスキャンニング・アプリケーションに引き渡す。好適な実施形態では、一般的にドキュメントのスキャンされた各ページの個別画像ファイルからなる画像データは、好ましくはジョブ準備ワークステーション116のファイル・システム内に配置された、VSDおよびスキャンニング・アプリケーションが共通にアクセス可能なバッファ記憶装置に引き渡される。このバッファ記憶装置はランダム・アクセス・メモリ内、ローカル・ハード・ディスク上、またはネットワーク・ディスク上に配置することができる。好適な実施形態では、VSDは、ハイパーテキスト・トランスファ・プロトコル(Hypertext Transfer Protocol)によって指定されたユニフォーム・リソース・ロケータ(Uniform Resource Locator)を利用して、ジョブ準備ワークステーション116に結合された装置ハードウェアとは独立した、一様な汎用ファイルをベースにした引渡し方法を提供する。技術上周知の通り、ファイル・トランスファ・プロトコル(「FTP」および「TFTP」)およびネットワーク・ファイル・システム(「NFS」)をはじめ、他のファイル引渡しプロトコルも使用できることは理解されるであろう。画像データをバッファ記憶装置に引き渡すことにより、スキャンニング・アプリケーションはデータが必要な時に非同期に画像データを検索することができる。これによりスキャンニング・アプリケーションは、同一のスキャンニング・アプリケーションおよびジョブ準備ワークステーション116から複数のスキャナの同時動作を効率的に操作し、サポートすることができる。さらに、これによりVSDは、複数のスキャンニング124が作動しているときでさえも、スキャナ124の定格速度と実質的に同一速度で画像データの引渡しを実行することができる。好適なスキャナであるイメージダイレクト・スキャナの場合、この速度は65ページ/分である。
【0038】
今、図3を参照すると、VSD308の第1実施形態を利用する生産スキャンニング・システムのブロック図が示されている。システム300はジョブ準備ワークステーション116、スキャナ302、スキャンニング・アプリケーション306、およびバッファ記憶装置316を含む。ジョブ準備ワークステーション116は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルL.L.C.によって製造されたデジマスタTM9110によって使用されるスキャン・ホスト(Scan Host)TMステーションであることが好ましい。代替的に、カリフォルニア州サンタクララに位置するインテル社によって製造されたペンティアムTMクラス以上のプロセッサ、64メガバイト以上のRAM、20ギガバイト以上のハード・ディスク、および適切なディスプレイ装置を含む適切なコンピュータ・ハードウェア・プラットフォームを使用することができる。さらに、スキャナ302は、同じくハイデルバーグ・デジタルL.L.C.によって製造されたイメージダイレクト・スキャナであることが好ましい。スキャナ302は、ハードウェア・インタフェース304を使用してジョブ準備ワークステーション116に結合される。ハードウェア・インタフェース304は好ましくはSCSIインタフェースである。代替的に、ハードウェア・インタフェース304はUSB、ファイヤワイヤ、シリアル、またはパラレル・インタフェースとすることができる。さらに、スキャナ302は、技術上周知の通りイーサネットまたは他の匹敵するネットワーク・インタフェース/アーキテクチャを利用して、ネットワークを介してジョブ準備ワークステーション116に結合することができる。ハードウェア・インタフェース304は、高帯域幅、高スループット双方向通信をサポートすることが好ましい。バッファ記憶装置316は、ジョブ準備ワークステーション116のファイル・システムと結合され、好ましくは物理的にステーション116と接続されたハード・ディスク・ドライブであることが好ましい。代替実施形態では、バッファ記憶装置306は、ランダム・アクセス・メモリ、スキャナ302と結合された専用ハード・ドライブ、またはネットワーク・ドライブなどのリモート・ディスク・ドライブとすることができる。ジョブ準備ワークステーション116のオペレーティング・システムは、スキャンニング・アプリケーション306およびVSD308の両方からバッファ記憶装置316への共通アクセスを可能にすることが好ましい。
【0039】
スキャンニング・アプリケーション306は、ジョブ準備ワークステーション116上で実行されるソフトウェア・プログラムであり、これによりオペレータがスキャン・ジョブを開始し制御するだけでなく、結果的に得られる画像を編集するなど、または生産プリンタ122へ結果を送ることにより、スキャンの結果を一覧し、操作することも可能になる。好適な実施形態では、スキャンニング・アプリケーション306は、ニューヨーク州ロチェスタに位置するハイデルバーグ・デジタルL.L.C.によって製造されたデジマスタTM9110によって使用されるスキャン・ホストTMソフトウェアである。システム300はさらに、スキャンニング・アプリケーション306と結合されたVSD3308を含む。スキャンニング・アプリケーション306は、技術上知られる通り、VSD308のAPI310を介してVSD308と連絡する。API310は、スキャンニング・アプリケーション306が使用できる様々なスキャナ302にコヒーレントな均質ユーザ・インタフェースを提供する。このAPI310については付属書Aでより詳しく記述する。VSD308はさらに、1つまたはそれ以上のPM312A、Bを含む。PM312A、Bは、ジョブ準備ワークステーション116に接続されているか、接続することができる各々のスキャナ302に対して定義される。PM312A、Bは、API310とスキャナ302に対するハードウェア・インタフェース304との間のインタフェース・ギャップに架橋する。PM312A、Bは特定のスキャナ302のスキャナ特定的属性を包含し、API310からの汎用コマンドをスキャナ302が理解する特定的コマンドに翻訳する。さらに、PM312A、Bは、これらのコマンドをフォーマットして、スキャナ302をジョブ準備ワークステーション116に接続するために使用される特定のハードウェア・インタフェース304を通して転送する、ハードウェア・インタフェース連結性314A、Bを含む。PM312A、Bはスキャナ装置302への通信インタフェースを提供するので、スキャンニング・アプリケーション306はこの側面を取り扱う必要が無い。これは、通信の開始および維持を含む。上述した通り、通信のインタフェースはSCSI、ファイヤワイヤ、ファイバ・チャネル、USB、シリアルまたはパラレル等の型のインタフェースとすることができる。PM312A、Bはさらに、バッファ記憶装置316に対する直接インタフェース318を提供する。これによりPM312A、Bはスキャナ302からバッファ記憶装置306へ画像データを引き渡すことができ、そこからスキャンニング・アプリケーション306は非同期にそれを検索することができる。PM312A、Bは、局所的にジョブ準備ステーション116にまたはネットワーク・ドライブ上など遠隔的に配置することができる宛先バッファ記憶装置316に、スキャンされた画像データを引き渡す責任を担う。遠隔バッファ記憶装置316への画像データの引渡しを可能にするために、PM312A、Bは、FTPまたはNFSなどの何らかの形のファイル・システム・プロトコル、もしくは上述したようなHTTPなど他のプロトコルを使用することができる。最後に、PM312A、Bはスキャナ装置302自体でサポートすることができない(ネイティブでない)画像処理機能を識別して提供する。特定の画像処理機能がスキャナ302で利用できない場合、PM312A、Bはソフトウェア代替物を提供する。このようにして、VSD308はスキャンニング・アプリケーション306に均一な機能セットを提供することができ、スキャナ302の実際に利用可能な機能セットによって制限されない。PM312A、Bによって実現される好適なスキャナ・インタフェースについては、付属書Cでより詳しく記述する。このようにして、VSD308は、スキャンニング・アプリケーション306およびスキャナ/ベンダ特定的インタフェース属性を具現化するPM312A、Bに接続する共通API310へと論理的に区分される。さらに、上述の通り、API310は、スキャンニング・アプリケーション306からコマンドを受け取り、それらをPM312A、Bに渡すことができ、PM312A、Bは、スキャンが進行中に、および画像または状態データがスキャナ302からPM312A、Bに転送されている間に、これらのコマンドをスキャナ302に渡すことができ、PM312A、Bは画像または状態データを、後にスキャンニング・アプリケーション306が検索できるようにバッファ記憶装置316に転送し、それによりスキャナ302とスキャンニング・アプリケーション306/ワークステーション116との間の実時間通信が促進される/可能になる。VSD308のソフトウェア・アーキテクチャに関するさらなる詳細については、付属書Bを参照されたい。
【0040】
今、図4を参照すると、VSD408の第2実施形態を利用する第2スキャンニング・システム400のブロック図が示されている。この図は、複数のスキャナ402A〜Cを同時に利用できるスキャンニング・システム400を示す。スキャンニング・システム400は、ハードウェア・インタフェース404A〜Cを使用してスキャナ402A〜Cと結合されたジョブ準備ワークステーション116を含む。各スキャナ402A〜Cは異なる種類とすることができ、上述の通り異なるハードウェア・インタフェース404A〜Cを使用してジョブ準備ワークステーション116と接続することができることは理解されるであろう。さらに、スキャンニング400は、上述の通り、共通アクセス可能なバッファ記憶領域416を含み、PM414A〜Cはスキャナ402A〜Cの定格速度で画像データを引き渡すことが可能になり、かつスキャンニング・アプリケーション406はハンドシェーキングを必要とせずに画像データを非同期に検索することが可能になる。
【0041】
図4はさらに、VSD API410と結合されたPM414A〜Cを示す。これらのPM414A〜Cは、図3の実施形態について上述したように作動する。基本的に、スキャンニング・アプリケーション406は、適切なコマンドをVSD API410に送ることによって、スキャナ402A〜C上でスキャンを開始する。次いでAPI410は各スキャナ402〜C用に適切なPM412A〜Cをロードする。各PM412A〜Cは、他のPM412A〜Cと実質的に並列に共存し同時実行することができ、単一のスキャンニング・アプリケーション406およびVSD API410からのスキャナ402A〜Cの同時操作が可能になる。さらに、VSD API410およびPM412A〜Cは、上述したようにスキャンがこれらのスキャナ402A〜Cで進行しているときに、スキャンニング・アプリケーション406/ワークステーション116が実時間に1つまたはそれ以上のスキャナ402A〜Cと連絡し/作動してそこから画像データを受け取ることを促進する/可能にする。代替実施形態では、そのような同時スキャンニング能力は、複数のスキャンニング・アプリケーション406をジョブ準備ワークステーション116上で実質的に並列に実行させ作動させることによって実現することができる。そのようなマルチタスキングは技術上よく知られている。さらに、スキャンニング・アプリケーション406は単一のVSD API408と通信して、述べた通り複数のPM412A〜Cにより複数のスキャナ402A〜Cを制御することができ、あるいは代替的にVSD API408はそれ自体、各PM412A〜Cを備えたジョブ準備ワークステーション116上で複数回インスタンシエーションを行なうことができる。
【0042】
加えて、付属書A〜Eも含まれる。付属書AはVSD APIのインタフェース使用をより詳しく記述する。付属書BはVSDのソフトウェア・アーキテクチャをより詳しく記述する。付属書Cは、VSD PMによって実現される好適なスキャナのSCSIをベースとするユーザ・インタフェースについて記述する。付属書Dは、VSD PMによって実現される好適なスキャナのSCSIをベースとする診断インタフェースについて記述する。
【0043】
付属書Eを参照すると、好適なイメージダイレクト・スキャナのための例示的VSDおよびPMのコンピュータ・コードが含まれている。このコードは、64Mbまたはそれ以上のランダム・アクセス・メモリ、20GBまたはそれ以上のハード・ディスク、およびカリフォルニア州サンタクララに位置するインテル社によって製造されたペンティアム・クラス以上のプロセッサを含むコンピュータ・システムでコンパイルするように意図されている。さらに、このコードは、ワシントン州レドモンドに位置するマイクロソフト社によって製造されたマイクロソフト・ビジュアル・ステューディオ(Microsoft Visual Studio)バージョン6.0を使用してコンパイルするように意図されている。当業界の通常の熟練者は、付属書の1〜4ページに指定するように、コード・ファイルをディレクトリ構造にロードしなければならないことを理解されるであろう。ロード後、周知の通りVSDコードをコンパイルし実行するために、ファイル作成(make file)を実行しなければならない。
【0044】
したがって、上記の詳細説明は限定ではなく例示とみなされるように意図されており、本発明の精神および範囲を定義するように意図されているのは、全ての均等物を含む以下の請求項であることを理解されたい。
【0045】
付属書A
バーチャル・スキャナ・ドライバ・インタフェース仕様書
【0046】
はじめに
バーチャル・スキャナ・ドライバ(VSD)は、デジタル・ハイ・ボリューム(DHV)製品の環境内でのスキャンニング・ワークフローへのアクセスに備えている。VSDは、下にあるスキャナに対する汎用の拡張可能なインタフェースを介して、このアクセスを提供する。VSDの目的は、各々の個別スキャナによって提供される特定のインタフェースに関係なく、クライアントが複数のモデルおよび型のスキャナにアクセスできるようにすることである。
目的
本書はVSDへのインタフェースを提示する。VSDはDHV環境内でのスキャンニング・ワークフローに対するインタフェースを提供する。本書では、このインタフェースについて、それが提供するオペレーションおよび型の定義を含めて説明する。本書はまた、VSDクライアントによるインタフェースへのアクセスおよび使用に関する情報も提供する。
範囲
本書では、VSDによって提供されるインタフェースについて述べ、それがDHV環境で使用される状況について述べる。これは、このインタフェースを明らかにするために必要な場合、VSD構成要素の設計および実装に関する詳細をも含む。
読者
本書は、VSDに接続するクライアント・ソフトウェアの開発者の要求を満たすように意図されている。本書はまた、スキャナ・ソフトウェアおよびVSDの開発者および保守担当者、ならびにVSDによって提供される機能性に関係するプロジェクト・プランナおよび管理者にも役立つかもしれない。
用語、頭字語、および略語
本節では、本書全体を通して使用する用語、頭字語、および略語を定義する。
【0047】
【表1】
【0048】
概要
本節では、VSDインタフェースについて高水準の記述を提示する。これは、インタフェースの目的、その使用環境、およびその内容の概略についての考察を含む。
【0049】
インタフェースの目標
VSDインタフェースの一次目的は、クライアントに対しスキャンニング・ワークフローの汎用表現を提供することである。ワークフローは、VSDインタフェースによって提供されるオペレーションによって記述される。汎用表現を提供することにより、任意のクライアントが、VSDを使用するように構成されたどのスキャナとも通信することが可能になる。さらに、多くの様々なスキャナが、クライアントの実現に影響することなく、VSDを使用するように構成することができる。
VSDインタフェースの二次目的は、サポートされるスキャナの設定および型に関する拡張性である。VSDが進化するので、ワークフローおよびしたがってサポートされるオペレーションは基本的に同じままである。しかし、スキャナの設定の数および型は変化することがある。これにより、潜在的に新しい能力を備えた新しいスキャナを、再び既存のクライアントの実現に影響することなく、VSDの下でサポートすることができる。
【0050】
使用環境(Context)
VSDは、DHV環境のコンテキストで実行するように設計されている。VSDインタフェースは、この環境内でスキャンニング・ワークフロー機能性をクライアントに提供する。クライアントはこのインタフェースを使用して、スキャナと接続し、スキャン・ジョブを介して画像捕捉を管理する。
VSDは、DHV環境内のスキャン・ホストに常駐する。各スキャン・ホストに対してVSDがインストールされ、任意の接続されたスキャナのためのインタフェースを提供する。クライアントはVSDインタフェースを利用して、特定のスキャン・ホストに接続された特定のスキャナにアクセスすることができる。DHV環境は、クライアントがスキャン・ホストおよび対応するVSDを発見するメカニズムを提供する。
【0051】
スキャン・ホスト上の各スキャナにアクセスするために、VSDはそのスキャナのスキャナ・パーソナリティ・モジュール(SPM)と通信する。SPMは、特定のスキャナの機能性を提供するソフトウェア構成要素である。VSDインタフェースはこのスキャナ機能性をラップして拡張可能な汎用表現にする。これによりクライアントは、特定のスキャナ・インタフェースに関係なく、スキャナにアクセスすることができる。これはまた、様々なスキャナをVSDおよびそのクライアントが使用するように構成することをも可能にする。
【0052】
スキャンニング・ワークフローに加えて、VSDはスキャナリソースへのアクセスを調整する。VSDインタフェースは、ロッキング機能を介して特定のスキャナのスキャン・ジョブの直列化を明示的に実行する。これにより、一人のクライアントだけが特定の一時にスキャナでスキャン・ジョブを実行できることが保証される。このようにしてVSDは、複数のクライアントが、回線争奪(コンテンション)を引き起こすことなく複数のスキャナにアクセスすることを可能にする。
図5は、VSDクライアント、VSD、およびSPMのインタフェーシングを示す。
【0053】
使用モデル
VSDインタフェースを介して提供されるスキャナの機能性にアクセスするために、クライアントは最初に、コンフィギュレーションの中でどのスキャナが利用可能かを決定しなければならない。クライアントは、VSDインタフェースを介して提供されるスキャナ列挙機能を使用して、この決定を行なう。これにより、クライアントは適切なスキャナを識別することができる。
【0054】
【表2】
【0055】
スキャナを識別した後、クライアントはそのスキャナを使用することをVSDに登録しなければならない。これにより、VSDはそのスキャナのために資源を管理し、クライアントが思いがけなく切断した場合に、適切に対応することができる。クライアントがスキャナを登録すると、VSDは、そのスキャナのSPMがそれ以前に始動していなければ(つまり他のクライアントがまだ登録していなければ)、それを始動する。スキャナの登録後、クライアントはそのスキャナの状態標識を受け取る。スキャナが使用禁止されていなければ、スキャナによって生成されたイベントがクライアントに転送される。これらのイベントは、状態変化標識およびスキャナのVSD追跡状態の変化を含む。スキャナが使用禁止されていないと仮定して、クライアントはVSDの操作を介してスキャナの初期状態標識を検索することができる。そうすることにより、生成されたイベントを介して更新情報が到着し、クライアントはスキャナの状態を追跡することができる。
【0056】
【表3】
【0057】
適切なフォーマットで画像を捕捉するために、クライアントはスキャナの設定を交渉しなければならない。これは、スキャナがどの設定をサポートするかを決定し、所望の画像捕捉のために適切な値を設定することを含む。これは、VSDインタフェースを通して提供されるスキャナ設定操作を介して達成される。
【0058】
【表4】
【0059】
適切なスキャンニング値を設定した後、クライアントは、選択したスキャナから画像を捕捉する手順に進むことができる。クライアントは最初に、独占的アクセス権を得るために、スキャナをロックしなければならない。これにより、クライアントは特定のスキャナを使用しようとする試みで衝突しないことが保証される。クライアントがスキャナに対してロックを掛けると、それは画像を捕捉し始めることができる。クライアントは、必要に応じてスキャナを休止したり再始動することによって、画像捕捉シーケンスを制御することができる。クライアントはまた、希望する場合、画像捕捉を取り消すこともできる。VSDインタフェースにより、クライアントはスキャナのロッキングや画像捕捉を使用可能にする操作ができる。
【0060】
【表5】
【0061】
代替的に、クライアントはスキャナに対するVSDアクセスを使用禁止にすることを選択し、こうして異なるメカニズム(例えば診断ソフトウェア)によるアクセスを可能にすることもできる。スキャナが使用禁止状態の間に他のクライアントがスキャナを使用しようとするのを防止するために、ここでもクライアントはまず最初にスキャナをロックしなければならない。スキャナを使用禁止にした場合、クライアントはその後スキャナを再び使用可能状態にし、ロックを解除することができる。これによりVSDは再びスキャナにアクセスして、システムで画像捕捉のためにそれを利用することができる。VSDインタフェースは、スキャナを使用可能にしたり使用禁止にする操作を提供する。
【0062】
【表6】
【0063】
クライアントがスキャナを使用し終わったら、そのクライアントはスキャナのロックを解除し、そのスキャナの登録を取り消すことができる。これによりVSDは、クライアントがもうスキャナに関心を示さなくなったときに、スキャナ資源を解除することができる。VSDインタフェースは、この目的のためにロック解除および登録取消しの機能を備えている。
【0064】
【表7】
【0065】
従属性
本節では、VSDインタフェースのアクセスおよび使用に関する従属性について提示する。
【0066】
クライアント・アクセス
VSD機能性にアクセスするために、クライアントはVSDインタフェースに接続しなければならない。これは、VSDのスキャン・ホストを捜し出し、インタフェースを実現するソフトウェア構成要素に接続することを含む。DHV環境は、この目的のためのメカニズムを提供する。クライアント接続を容易にするために、VSDインタフェースはDHV環境で発行しなければならない。
【0067】
スキャナ・アクセス
スキャン・ホストに接続されたスキャナにアクセスするために、VSDは各スキャナのSPMを識別し、捜し出すことができなければならない。これを容易にするために、VSDは、接続されたスキャナに関する構成情報(configuration information)を必要とする。この情報は、スキャン・ホストの動作環境内でVSDによってアクセス可能でなければならない。
【0068】
インタフェースの説明
本節では、VSDインタフェースの内容を提示し、それが提供するオペレーションおよび型について述べる。VSDインタフェースは、クライアントがスキャナと対話し、画像を得ることを可能にする多数のオペレーションを包含する。このインタフェースはまた、スキャナによってサポートされる特性、状態標識、およびイベントについて多数の型定義をも含む。
【0069】
オペレーション
VSDインタフェースは、VSD構成要素によって実現されるオペレーション、およびVSDクライアントによって実現されるコールバック・オペレーションを定義する。
【0070】
VSDオペレーション
VSDインタフェースは以下のオペレーションを提供する。
【0071】
【表8】
【表9】
【表10】
【0072】
クライアント・オペレーション
VSDは、コールバックを通してそのクライアントにイベント情報を伝達しなければならない。このコールバックは、上述のクライアント登録オペレーションに渡されたインタフェース上に提供される。VSDクライアントは、VSDへの接続を可能にするためにこのインタフェースを実現しなければならない。コールバックの定義は次の通りである。
【0073】
【表11】
【0074】
例外
VSDは、クライアントによって呼び出されたオペレーションに応答して、例外を生成する場合がある。オペレーションによって返却される例外は、オペレーションが無事に完了できなかったことを示す。特定の例外は、クライアントが正しく形成されていないオペレーション・パラメータまたは特性設定値を渡さなかったこと、あるいはスキャナがオペレーションを実行できない状態であることを示す場合がある。VSDは以下の例外を生成することがある。
【0075】
【表12】
【表13】
【0076】
型
VSDインタフェースは、プロパティ、状態インジケータ、およびイベント識別子のタイプ定義をサポートする。このインタフェースはまた、特性設定および状態に関連するマニフェスト値をも定義する。
VSDインタフェースは以下の特性をサポートする。
【0077】
【表14】
【表15】
【表16】
【表17】
【表18】
【表19】
【0078】
状態インジケータ(status indicator)
VSDインタフェースは以下の状態インジケータをサポートする。
【0079】
【表20】
【0080】
イベント
VSDインタフェースは以下のイベントをサポートする。
【0081】
【表21】
【0082】
実現上の考慮事項
本節では、VSDインタフェースの実現に関する詳細を提示する。これは、VSDの構成要素により利用される技術の説明のみならず、VSDが実行される目標環境についても記述する。
【0083】
アーキテクチャ
VSDアーキテクチャは、CORBAおよびCOMの両方のために設計された構成要素を包含する。アーキテクチャの各レベルで、構成要素はそれらのクライアントに対するインタフェースを提供する。これらのインタフェースは、本書で記載するインタフェースの特定的実現である。
【0084】
CORBA
VSDは、最上レベルにCORBAインタフェースを提供する。このインタフェースにより、CORBAクライアントは、VSDおよび下にあるスキャン・ソフトウェアによって実現される機能性にアクセスすることができる。このインタフェースへのアクセスはオブジェクト・リクエスト・ブローカ(ORB)によって調整され、CORBAの中心を成す位置透過的方法呼出しメカニズムを備えている。
【0085】
VSDの機能性をクライアントが利用できるようにするために、ORBはVSD実現を捜し出すことができなければならない。これを促進するために、VSDはORBに登録される。これによりクライアントはORBサービスを使用してVSDに結合し、そのインタフェースにアクセスすることができる。このシナリオでは、VSDはCORBAサーバとして働く。
VSDの実際のCORBAサーバ構成要素は、次節で記述する下にあるCOM構成要素の代理として働く。これは、CORBA構成要素がCOM構成要素への転送動作以上のことをほとんど行なわず、道に沿ってCORBAからCOMへの必要なデータ変換が実行されることを意味する。
【0086】
COM
上述の通り、VSDのCORBA層はCOM構成要素と対話する。この構成要素は完全VSDインタフェースを実現し、SPMと対話して必要な機能性を達成する。COM構成要素に全インタフェースを実現させることは、(CORBA層に先立つ)COMクライアントをインタフェースでサポートできるという意味で有利である。
【0087】
COM構成要素は、COM特定的オブジェクトおよびインタフェース情報をシステム・レジストリに発行することによって、クライアントに利用可能になる。これにより、CORBAのCOM代理層などのCOMクライアントは、標準COMイディオムを使用して、VSD機能性にアクセスすることができる。
【0088】
環境
VSDはDHVソフトウェアの構成要素として目標化される。DHVは、スキャナ・ワークステーションへの接続を介してスキャナのインストールをサポートする。このスキャナ・ワークステーションは、VSDおよびSPMの動作環境を提供する。動作環境はウィンドウズNTである。
【0089】
実行
前節で述べたように、VSDの機能性は、CORBA ORBを介して最上レベルでクライアントに利用可能になる。ORBによりクライアントはVSD実現に結合し、インタフェースにアクセスすることができる。この結合動作により、VSD実行可能コードが始動するメカニズムが提供される。システムの最初のVSDクライアントが結合を試みると、ORBはVSDに実行を開始させる。ひとたび開始すると、VSDはそれ自体を構成し、クライアントにサービスを提供し始める。
【0090】
構成
VSDは、スキャナ・ワークステーションにインスールされたスキャナを決定するために、構成情報を必要とする。この情報により、VSDは、どのスキャナがワークステーションに接続されているか、およびどのソフトウェア・モジュールがこれらのスキャナを特にサポートするかを決定することができる。VSDはNT環境で実行されるので、その構成情報はNTシステム・レジストリに格納される。初期化後、VSDはレジストリを調べてその構成を決定し、この情報を用いて必要なソフトウェア構成要素を始動させる。この構成段階が完了すると、VSDおよび下にある構成要素は機能する。
【0091】
付属書B
バーチャル・スキャナ・ドライブ・ソフトウェアのアーキテクチャ
【0092】
はじめに
バーチャル・スキャナ・ドライバ(VSD)は、デジタル・ハイ・ボリューム(DHV)製品の環境内でのスキャンニング・ワークフローへのアクセスに備えている。VSDは、下にあるスキャナに対する汎用の拡張可能なインタフェースを介して、このアクセスを提供する。VSDの目的は、各々の個別スキャナによって提供される特定のインタフェースに関係なく、クライアントが複数のモデルおよび型のスキャナにアクセスできるようにすることである。
【0093】
目的
本書はVSDのアーキテクチャを提示する。VSDは多数のソフトウェア構成要素から成り、それらが一緒に作動して必要な機能性を提供する。本書は、これらの構成要素の構造および対話に関する情報を提供する。本書は、これらの構成要素に接続してアクセスを提供するために使用されるツールおよび技術の考察を含む。
【0094】
範囲
本書はVSDのアーキテクチャに関する。本書は、VSDを構成するソフトウェア構成要素、それらの対話、およびこれらの構成要素にアクセスするためのメカニズムを提供する。アーキテクチャを明確にするために必要な場合、これらの構成要素の実現に関する詳細も含まれる。
【0095】
読者
本書は、VSDのアーキテクチャ全体に関わるソフトウェアの開発者および保守担当者を対象とする。本書はまた、特定のVSDクライアントおよび特定のスキャナ構成要素の開発者、ならびにVSDによって提供される機能性に関わるプロジェクト・プランナおよび管理者にも役立つかもしれない。
用語、頭字語、および略語
【0096】
【表22】
【0097】
アーキテクチャの概要
本節では、VSDのアーキテクチャの最高水準の概要を提供する。これは、DHV環境全体の概観、およびVSDを構成するソフトウェア構成要素の列挙を含む。
【0098】
DHV環境
VSDはDHV環境の状況で実行するように設計され、スキャンニング・ワークフローはこの環境内でクライアントに提供される。DHV環境は、UnixおよびWindows NTの動作環境の下で実行される構成要素の集合を含む。主要なDHV構成要素は、生産機能性の大部分を提供する多数のUnixアプリケーションを含む。これは、印刷、スキャン、およびコピー・ジョブを管理する構成要素を含む。一般的に、このグループ内の構成要素は、共通オブジェクト・リクエスト・ブローカ・アーキテクチャ(CORBA)をサポートするオブジェクト・リクエスト・ブローカ(ORB)を介して通信する。DHVのVSDクライアントはこれらの構成要素の中に常駐し、ORBを使用してVSDと通信する。
【0099】
DHV製品のスキャンニング・サポートを提供する構成要素は、スキャン・ホストに常駐するWindows NTに基づく構成要素である。これらの構成要素は一般的に、NT環境によって提供される構成要素オブジェクト・モデル(COM)サポートを用いて相互通信する。これらの構成要素は、他のDHV構成要素との通信をサポートするためにCORBAを使用許可することもできる。VSDはNT環境に常駐し、他の構成要素との通信のためにCORBAおよびCOMの両方の方法を使用する。
【0100】
高水準アーキテクチャ
DHV環境のスキャンニング・ワークフローは、基本的に3つの構成要素クラスによってサポートされる。これらはVSDクライアント、VSD自体、および多数のスキャナ・パーソナリティ・モジュールを含み、様々なスキャナをサポートする。
【0101】
VSDクライアント構成要素はVSDと通信して、DHVに対してスキャンニング・ワークフローを使用可能にする。この構成要素はVSD機能性を利用してスキャナにアクセスし、画像キャプチャのためにこれらのスキャナでスキャン・ジョブを管理する。ネットワークされたスキャン・ホストを突き止め、ORBを介してVSDとの通信を開始するのはクライアントの役割である。
【0102】
VSDは、DHVに対してスキャンニング・ワークフローを使用可能にするための機能性を提供する構成要素である。この機能性は、汎用の拡張可能なインタフェースを通して提供される。クライアントはこのインタフェースを介して、スキャンニング・タスクのためにVSDを利用する。様々なモデルおよび型のスキャナをサポートするために、VSDはスキャン・ホストに接続されたスキャナにスキャナ・パーソナリティ・モジュール(SPM)を利用する。各SPMは特定のスキャナを管理し、スキャン・ジョブを介する画像キャプチャのサポートを提供する。
【0103】
スキャナ・パーソナリティ・モジュール(SPM)は、特定のモデルおよび型のスキャナのサポートを提供する構成要素である。この構成要素は、一般的にSCSIインタフェースを介してスキャナとの全ての直接対話を処理する。その機能性を提供するために、SPMはソフトウェア・インタフェースを提供する。このインタフェースにより、スキャン・ジョブ、スキャナ状態報告、イベント伝搬、およびスキャナからの画像キャプチャをサポートするために必要なその他の機能性の管理が可能になる。
【0104】
以下の図6は、DHV環境におけるVSDのコンテキストを示す。
VSD構成要素アーキテクチャ
本節では、DHVスキャンニング・サブシステムの構成要素アーキテクチャについて述べる。これは、VSD自体の構成要素アーキテクチャの提示を含む。これはまた、VSDクライアントおよびSPMなどサポート構成要素に関する関連情報、およびこれらの構成要素がVSDと対話するためのメカニズムをも含む。
【0105】
VSD構成要素
VSDはCORBA構成要素およびCOM構成要素から成る。これらの構成要素は一緒に作動して、VSDクライアントのためにスキャナへのアクセスを提供する。
【0106】
CORBAのCOMプロキシ
最上レベルで、VSDはCORBAインタフェースをそのクライアントに提供する。このインタフェースは、CORBAサーバとして働くVSDの構成要素によって提供される。これはORBによるアクセスを含意し、この構成要素をCORBA環境内で登録することが必要である。ORBへの登録により、CORBAクライアントがVSDに結合する手段がもたらされ、位置透過的方法呼出しが容易になる。要するに、CORBAサーバ構成要素は、VSDにCORBA連結性を提供する。
VSDのCORBA構成要素は、下にあるCOMオブジェクトのプロキシとして働く。この構成要素は方法呼出しをCOM構成要素に転送し、必要なCORBAからCOMへのデータ型変換を実行する。この構成要素はまた、方法呼出しの処理中にエラーが発生した場合、CORBA例外処理をも可能にする。最後に、この構成要素は、VSDクライアントによって実現されるクライアント・インタフェースを通してのイベントの受渡しを可能にする。
【0107】
VSD COMオブジェクト
VSDアーキテクチャのCOM構成要素は、NT環境でスキャナへのアクセスを容易にする。この構成要素は全VSD機能性を実現し、COM環境でスキャナ・ワークフローを完全に使用可能にする。この点で、この構成要素はCOMサーバとして働き、最高水準のCORBA構成要素などのクライアントをサポートする。これには、NT環境のCOMサブシステムへの登録が必要である。この構成要素の登録により、標準COMイディオムを使用して下にある機能性にアクセスすることが可能になる。
【0108】
VSD COMオブジェクトは、スキャナの構成情報をVSDインタフェースを介してそのクライアントに提供する。この情報はローカル・スキャン・ホストに接続されたスキャナを記述し、クライアントがアクセスするスキャナを選択することを可能にする。スキャナの構成情報は、スキャン・ホスト内で局所的にNTシステム・レジストリに格納される。VSD COMオブジェクトはこの構成記憶を利用して、必要な情報をそのクライアントに提供する。
【0109】
スキャナにアクセスする手段を提供した後、VSD COMオブジェクトはそのクライアントに実際にスキャナを接続しなければならない。COM構成要素は、構成されたスキャナの各々に対してSPMを使用することによりこれを達成する。VSD COMオブジェクトは特定のスキャナのためにSPMをロードして、そのスキャナへのアクセスを提供する。次いでスキャンニング・ワークフロー・オペレーションが、クライアントの要求に基づいてVSDによってSPMに送られる。最後に、スキャナへのアクセスがもはや必要でなくなると、VSDはSPMをアンロードする。このようにして、VSD COM構成要素は資源を管理して、そのクライアントの必要に応じたスキャナへのアクセスを可能にする。
【0110】
サポート構成要素
DHVの画像キャプチャを完全に使用可能にするために、VSDはSPMおよびVSDクライアントの両方と対話する。これらの構成要素は、クライアントがプロセスを操縦し、SPMがスキャナ連結性を提供して、スキャンニング・ワークフローのためのサポートを完遂する。
【0111】
VSDクライアント
VSDクライアントは、VSDを利用してスキャナにアクセスしかつスキャン・ジョブを管理し、画像キャプチャ・プロセスを操縦する。DHVの場合、クライアントはDHV環境内に存在するCORBAクライアントである。そういうものとして、これらのクライアントは、VSD CORBAサーバと同様に、ORBに登録しなければならない。
VSDにアクセスするためには、クライアントは適切なスキャン・ホストおよび対応するVSD実現を捜し出さなければならない。CORBAの用語集では、これはVSD CORBAサーバと結合することを含める。クライアントがVSDに結合されると、それはVSD方法にアクセスし始める。
【0112】
特定のスキャナを画像キャプチャのために利用するために、クライアントはそのスキャナをVSDに登録しなければならない。そうする際に、クライアントはVSDからのコールバックを可能にするインタフェースを提供する。クライアントは、VSDインタフェースで要求されたときにイベントの受け渡しを容易にするために、このインタフェースを実現する。このようにして、クライアントとVSDとの間に双方向通信が確立する。
【0113】
スキャナ・パーソナリティ・モジュール
スキャナ・パーソナリティ・モジュールは、スキャン・ホストに接続されたスキャナに直接通信を提供する。SPMは、スキャン・ホスト上でNT動作環境の状況で実行されるCOMオブジェクトである。これらの構成要素はVSDによって管理され、そのクライアントのスキャナ・アクセス要求を満たす。VSDによるSPMへのアクセスを可能にするために、これらの構成要素をNT環境のCOMサブシステムに登録しなければならない。登録により、標準COMイディオムを介してのこれらの構成要素へのアクセスが可能になる。
【0114】
スキャナの機能性を効果的に提供するために、SPMはスキャン・ホスト上で適切なスキャナを対応付けなければならない。これは事実上、VSDが接続されたスキャナを記述する構成情報を用いてSPMを識別できなければならないことを意味する。これは、スキャン・ホストのNTシステム・レジストリにスキャナの登録と共にSPM構成情報を含めることによって達成される。
【0115】
以下の図7は、VSD構成要素の高水準アーキテクチャを示す。
アーキテクチャの従属性
本節ではVSDアーキテクチャの従属性を提示する。これは、VSDの実行をサポートするために必要なサービスおよび構成要素に関する情報を含む。
【0116】
CORBAデーモン(daemon)
DHVの目的のために、VSDはそのクライアントに対してCORBAサーバとして働く。CORBAを介して機能性を提供するために、VSDはCORBAアーキテクチャからのサポートを必要とする。このサポートはCORBAデーモンによって提供される。CORBAデーモンは、そのホスト・システムでのCORBAオブジェクトの実行およびそれに対する連結性を提供する構成要素である。したがってVSDは、スキャン・ホストでのCORBAデーモンの実行に依存する。
【0117】
CORBAサーバ登録
CORBAデーモンのサポートを得るために、CORBAオブジェクトをホスト・システムに登録しなければならない。そうすることにより、CORBAデーモンはインタフェースをオブジェクトに関連付け、オブジェクト・クライアントに結合サービスを提供することができる。CORBAサポートを得るために、VSDは適切なCORBAオブジェクトおよびインタフェースの登録を必要とする。
【0118】
ORBの実行
実行時にCORBAオブジェクトへの連結性を提供するには、CORBAデーモンをホスト・システム上で実行しなければならない。このデーモン・プロセスにより、CORBAインタフェースを介してクライアントをオブジェクトに接続するORBサービスが提供される。DHV環境の場合、ORBはデーモン・プロセスの状況で実行される。
【0119】
CORBAサービスが利用できることを確実にするために、CORBAデーモンは、クライアントがオブジェクトを結合しようとする前に実行しなければならない。一般的にCORBAデーモンは、ホスト・システムがブートされるときに始動する。したがって、スキャン・ホストのNT環境では、CORBAデーモンは、ブート時に始動するNTサービスとして実行される。
【0120】
COMサポート
VSDはそのクライアントにCORBAインタフェースを提供するが、下にある機能性はCOMを介して実現される。COMイディオムは、CORBA層にサポートを提供したり、SPMに接続するために、VSDによって使用される。したがってVSDは、スキャン・ホスト上のNT環境に組み込まれたCOMサブシステムに従属する。
【0121】
COMサーバ登録
COMサブシステムからサポートを得るために、COMオブジェクトをホスト・システムに登録しなければならない。COMオブジェクトの登録は、NTシステム・レジストリにエントリ数を書き込むことによって達成される。オブジェクトの実現によっては、自己登録ができる場合がある(例えばEXEサーバ)。そうでなければ、システム・ツールを使用してオブジェクトおよびそのインタフェースを登録することができる(例えばDLLサーバの場合)。COMを介してサービスを提供するために、VSDはスキャン・ホストにおけるCOMサブシステムの登録を必要とする。
【図面の簡単な説明】
【図1】好適な生産印刷のワークフローを示す流れ図である。
【図2】好適な実施形態のユーザ機能性のワークフローを示す流れ図である。
【図3】第1実施形態によるスキャナ・インタフェースのブロック図である。
【図4】第2実施形態によるスキャナ・インタフェースのブロック図である。
【図5】VSDクライアント、VSD、およびSPMのインタフェーシングである。
【図6】DHV環境におけるVSDのコンテキストである。
【図7】VSD構成要素の高水準アーキテクチャである。
Claims (25)
- 第1アプリケーション・プログラムを第1スキャナにインターフェースするためのドライバであって、
前記第1アプリケーション・プログラムは前記第1スキャナにコマンドを転送するように働き、前記第1スキャナはドキュメントをスキャンして画像データおよび状態データを前記スキャンから前記第1アプリケーション・プログラムに転送するように働き、前記ドライバが、
前記第1アプリケーション・プログラムと結合され、前記第1アプリケーション・プログラムから前記コマンドを受け取るように働くアプリケーション・プログラム・インタフェース(「API」)と、
前記APIおよび前記第1スキャナと結合され、前記第1スキャナから前記画像データおよび前記状態データを受け取り、前記画像データおよび前記状態データを前記第1アプリケーション・プログラムに提供し、かつ少なくとも前記状態データに基づく前記第1アプリケーション・プログラムからのコマンドであって、前記第1スキャナのスキャン品質を再調整するコマンドを前記第1スキャナに送信するように働く第1スキャナ・パーソナリティ・モジュール(「SPM」)とを備え、
前記APIおよび前記第1SPMが、前記第1アプリケーション・プログラムと前記第1スキャナとの間の実時間通信を可能にするドライバ。 - 前記第1スキャナが第1型であり、前記第1SPMが前記第1型に関連付けられ、前記ドライバがさらに、前記第1APIと結合されかつ第2型のスキャナに関連付けられた第2SPMを備えた請求項1に記載のドライバ。
- 前記第1SPMがさらに、前記コマンドを前記第1スキャナに転送しながら、前記第1スキャナから前記画像データおよび前記状態データを同時に受け取るように働く、請求項1に記載のドライバ。
- 前記第1SPMがさらに、前記第1アプリケーション・プログラムが非同期にアクセス可能なバッファに前記画像データを提供するように働く、請求項1に記載のドライバ。
- 前記バッファがハード・ディスクを含む、請求項4に記載のドライバ。
- 前記第1SPMがさらに、前記スキャンの進行中に、前記第1スキャナのスキャン品質を再調整するコマンドを前記第1スキャナに実質的に同時に転送するように働く、請求項1に記載のドライバ。
- ワークステーション上で実行する1つまたはそれ以上のアプリケーション・プログラムを、前記ワークステーションに結合された1つまたはそれ以上のスキャナにインターフェースするためにコンピュータ・ワークステーション内にインプリメントされたシステムであって、前記1つまたはそれ以上のスキャナの各々がスキャナ・インタフェースを含み、前記システムが、
前記1つまたはそれ以上のアプリケーション・プログラムからコマンドを受け取るように働く第1モジュールと、
前記第1モジュールに結合され、前記1つまたはそれ以上のスキャナのうちの第1スキャナに関連付けられた第2モジュールであって、前記第2モジュールが前記1つまたはそれ以上のスキャナのうちの前記第1スキャナの前記スキャナ・インタフェースと結合され、前記第1モジュールから前記コマンドを受け取り、前記コマンドを前記スキャナ・インタフェースに変換するように働き、前記第2モジュールがさらに前記1つまたはそれ以上のスキャナのうちの前記第1スキャナから前記スキャナ・インタフェースを介して画像データおよび状態データを受け取り、前記画像データおよび前記状態データを前記1つまたはそれ以上のアプリケーション・プログラムに供給するよう働く第2モジュールと、
を備え、
前記1つまたはそれ以上のスキャナのうちの前記第1スキャナでスキャンが進行中に、前記第2モジュールが前記コマンドを前記スキャナ・インタフェースに変換し、かつ前記画像データおよび前記状態データを受け取ることができ、
前記1つまたはそれ以上のスキャナのうちの前記第1スキャナでスキャンが進行中に、前記第2モジュールが前記コマンドを前記スキャナ・インタフェースに変換し、かつ前記画像データおよび前記状態データを前記1つまたはそれ以上のアプリケーション・プログラムに供給し、前記アプリケーション・プログラムが進行中のスキャンを再調整する少なくとも前記状態データに基づくコマンドを前記第1モジュールに供給することができるシステム。 - 前記第1モジュールがさらに、前記1つまたはそれ以上のアプリケーションの全てに統一な(uniform)インタフェースを提供するように働く、請求項7に記載のシステム。
- 前記スキャナ・インタフェースがさらにハードウェア・インタフェースおよびソフトウェア・インタフェースを含む、請求項7に記載のシステム。
- バッファをさらに含み、前記バッファに前記1つまたはそれ以上のアプリケーション・プログラムが非同期にアクセスすることができ、前記第2モジュールがさらに前記画像データを前記バッファに格納するように働く、請求項7に記載のシステム。
- 前記バッファがハード・ディスクを含む、請求項10に記載のシステム。
- 第1アプリケーション・プログラムを第1スキャナに接続する方法であって、前記第1アプリケーション・プログラムが前記第1スキャナに結合された第1コンピュータ上で実行し、前記方法が、
(a)前記第1アプリケーション・プログラムによって指示される通りに前記第1スキャナ上で第1ドキュメントの第1スキャンを開始し、
(b)前記第1スキャンが進行するにつれて、前記第1スキャンによって生成された第1画像データを受け取り、
(c)前記第1スキャンが進行するにつれて、前記第1スキャナから第1状態データを受け取り、
(d)前記第1スキャンが進行するにつれて、前記第1画像データおよび前記第1状態データを前記第1アプリケーション・プログラムに供給し、
(e)前記第1スキャンが進行するにつれて、前記受け取った第1画像データおよび前記受け取った第1状態データに基づいて前記第1スキャンを調整することを含む方法。 - (e)の処理が、前記第1アプリケーション・プログラムによって指示される通りに前記第1スキャンを調整することをさらに含む、請求項12に記載の方法。
- 前記調整が自動である、請求項13に記載の方法。
- (e)の処理が、前記第1スキャナの画像処理アルゴリズムを調整することをさらに含む、請求項12に記載の方法。
- (e)の処理が、前記第1スキャナの画像処理の解像度を調整することをさらに含む、請求項12に記載の方法。
- (e)の処理が、前記第1スキャナのビット深度(bit depth)を調整することをさらに含む、請求項12に記載の方法。
- (d)の処理が、前記第1アプリケーション・プログラムがアクセス可能なバッファ領域に前記第1画像データを供給することをさらに含む、請求項12に記載の方法。
- 前記バッファ領域がハード・ドライブを含む、請求項18に記載の方法。
- 前記バッファ領域が前記第1アプリケーション・プログラムによって非同期にアクセス可能である、請求項18に記載の方法。
- 前記第1スキャンが毎分約65ページの速度で進行する、請求項12に記載の方法。
- (a)の処理が、前記第1スキャンを開始するために前記第1アプリケーション・プログラムによって生成された1つまたはそれ以上の汎用コマンドを第1モジュールで受け取り、前記1つまたはそれ以上の汎用コマンドを前記第1モジュールに結合された第2モジュールに転送し、前記1つまたはそれ以上の汎用コマンドを前記第2モジュールで1つまたはそれ以上の特定コマンドに変換し、前記1つまたはそれ以上の特定コマンドを前記第2モジュールから前記第1スキャナに転送することをさらに含み、
(b)の処理が、前記第2モジュールによって前記第1画像データを受け取ることをさらに含み、
(c)の処理が、前記第2モジュールによって前記第1状態データを受け取ることをさらに含み、
(d)の処理が、前記第2モジュールから前記第1アプリケーション・プログラムに前記第1画像データおよび前記第1状態データを転送することをさらに含む、請求項12に記載の方法。 - 前記第1スキャナが第1型であり、前記第2モジュールが前記第1型に関連付けられ、前記方法が、前記第1モジュールに結合されかつ第2型の第2スキャナに関連付けられた第3モジュールを提供することをさらに含む、請求項22に記載の方法。
- 前記第3モジュールが前記第2モジュールの代わりに前記第1モジュールに結合される、請求項23に記載の方法。
- 前記第3モジュールが前記第2モジュールと同時に前記第1モジュールに結合される、請求項23に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/686850 | 2000-10-10 | ||
US09/686,850 US7072057B1 (en) | 2000-10-10 | 2000-10-10 | System and method for interfacing with a production scanner |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002199149A JP2002199149A (ja) | 2002-07-12 |
JP3904422B2 true JP3904422B2 (ja) | 2007-04-11 |
Family
ID=24758007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001310293A Expired - Lifetime JP3904422B2 (ja) | 2000-10-10 | 2001-10-05 | プロダクション・スキャナに接続するためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7072057B1 (ja) |
EP (1) | EP1197347A3 (ja) |
JP (1) | JP3904422B2 (ja) |
CA (1) | CA2358611C (ja) |
DE (1) | DE10148655A1 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657835B2 (en) * | 1997-01-31 | 2010-02-02 | Making Everlasting Memories, L.L.C. | Method and system for creating a commemorative presentation |
US8456665B2 (en) | 2001-01-11 | 2013-06-04 | Sharp Laboratories Of America, Inc. | Methods and systems for printing error recovery |
US7548331B2 (en) * | 2001-01-11 | 2009-06-16 | Sharp Laboratories Of America, Inc. | Methods and systems for print system component-based remote printing |
US7480068B2 (en) * | 2001-01-11 | 2009-01-20 | Sharp Laboratories Of America, Inc. | Methods and systems for page-independent spool file sheet assembly |
US20030227644A1 (en) * | 2001-01-11 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Methods and systems for driver independent customized printing |
US20020089687A1 (en) * | 2001-01-11 | 2002-07-11 | Ferlitsch Andrew Rodney | Methods and systems for print-processor-based printer status detection and print task distribution |
US8411298B2 (en) * | 2001-01-11 | 2013-04-02 | Sharp Laboratories Of America, Inc. | Methods and systems for printing device load-balancing |
JP2005521110A (ja) * | 2001-07-06 | 2005-07-14 | コンピュータ アソシエイツ シンク,インコーポレイテッド | 情報バックアップシステム及び方法 |
US20030095284A1 (en) * | 2001-11-19 | 2003-05-22 | Parry Travis J. | Method and apparatus job retention |
US8368950B2 (en) * | 2003-10-06 | 2013-02-05 | Marvell International Technology Ltd. | Method of pre-processing data on a host machine for a host-based print system |
US8120799B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for accessing remote, descriptor-related data at an imaging device |
US8120798B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for providing access to remote, descriptor-related data at an imaging device |
US8115945B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device job configuration management |
US8065384B2 (en) | 2004-10-08 | 2011-11-22 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device event notification subscription |
US8115946B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and sytems for imaging device job definition |
US8125666B2 (en) | 2004-10-08 | 2012-02-28 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device document management |
US8384925B2 (en) | 2004-10-08 | 2013-02-26 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting data management |
US8230328B2 (en) | 2004-10-08 | 2012-07-24 | Sharp Laboratories Of America, Inc. | Methods and systems for distributing localized display elements to an imaging device |
US8060921B2 (en) | 2004-10-08 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential authentication and communication |
US8006176B2 (en) | 2004-10-08 | 2011-08-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging-device-based form field management |
US8120793B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for displaying content on an imaging device |
US7920101B2 (en) | 2004-10-08 | 2011-04-05 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device display standardization |
US8115944B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for local configuration-based imaging device accounting |
US8115947B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for providing remote, descriptor-related data to an imaging device |
US8156424B2 (en) | 2004-10-08 | 2012-04-10 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device dynamic document creation and organization |
US8213034B2 (en) | 2004-10-08 | 2012-07-03 | Sharp Laboratories Of America, Inc. | Methods and systems for providing remote file structure access on an imaging device |
US8060930B2 (en) | 2004-10-08 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential receipt and authentication |
US8024792B2 (en) * | 2004-10-08 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential submission |
US8237946B2 (en) | 2004-10-08 | 2012-08-07 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting server redundancy |
US8120797B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for transmitting content to an imaging device |
US8428484B2 (en) | 2005-03-04 | 2013-04-23 | Sharp Laboratories Of America, Inc. | Methods and systems for peripheral accounting |
US20080022120A1 (en) * | 2006-06-05 | 2008-01-24 | Michael Factor | System, Method and Computer Program Product for Secure Access Control to a Storage Device |
US8345272B2 (en) | 2006-09-28 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for third-party control of remote imaging jobs |
US8488211B2 (en) * | 2006-11-07 | 2013-07-16 | Colin Mark Ruskin | Device, system and method for portable data scanning and transmission |
US7979376B2 (en) * | 2007-11-27 | 2011-07-12 | Xerox Corporation | Method and system for adding processes to print production workflows utilizing asset metadata and automated reasoning |
US9350911B2 (en) | 2011-10-18 | 2016-05-24 | Hewlett Packard Enterprise Development Lp | Image acquisition |
CN110217013A (zh) * | 2019-05-05 | 2019-09-10 | 特立平(广州)科技有限公司 | 一种共享智能服务终端 |
JP7490981B2 (ja) * | 2020-02-27 | 2024-05-28 | ブラザー工業株式会社 | プログラムおよびスキャンシステム |
CN112130118B (zh) * | 2020-08-19 | 2023-11-17 | 复旦大学无锡研究院 | 基于snn的超宽带雷达信号处理系统及处理方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04180174A (ja) * | 1990-11-15 | 1992-06-26 | Ricoh Co Ltd | 電子ファイリング装置 |
US5764866A (en) * | 1995-05-26 | 1998-06-09 | Ricoh Company, Ltd. | Scanner, network scanner system, and method for network scanner system |
US5752032A (en) * | 1995-11-21 | 1998-05-12 | Diamond Multimedia Systems, Inc. | Adaptive device driver using controller hardware sub-element identifier |
JPH10191011A (ja) * | 1996-12-27 | 1998-07-21 | Canon Inc | ネットワークスキャナシステム及び原稿読み取り方法 |
DE19719055A1 (de) * | 1997-05-06 | 1998-11-12 | Ibm | System und Verfahren zur Ansteuerung von Ein- und Ausgabegeräten über Dateisystemfunktionen |
US6163816A (en) * | 1997-08-29 | 2000-12-19 | Flashpoint Technology, Inc. | System and method for retrieving capability parameters in an electronic imaging device |
JPH11122437A (ja) | 1997-10-14 | 1999-04-30 | Pfu Ltd | 画像読み取り装置の制御方法およびその記録媒体 |
US6286054B2 (en) * | 1997-10-27 | 2001-09-04 | Flashpoint Technology, Inc. | Method and system for supporting multiple capture devices |
-
2000
- 2000-10-10 US US09/686,850 patent/US7072057B1/en not_active Expired - Lifetime
-
2001
- 2001-10-02 DE DE10148655A patent/DE10148655A1/de not_active Withdrawn
- 2001-10-02 EP EP01123239A patent/EP1197347A3/de not_active Ceased
- 2001-10-05 JP JP2001310293A patent/JP3904422B2/ja not_active Expired - Lifetime
- 2001-10-10 CA CA002358611A patent/CA2358611C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7072057B1 (en) | 2006-07-04 |
CA2358611C (en) | 2005-04-19 |
EP1197347A3 (de) | 2006-10-11 |
CA2358611A1 (en) | 2002-04-10 |
DE10148655A1 (de) | 2002-06-13 |
JP2002199149A (ja) | 2002-07-12 |
EP1197347A2 (de) | 2002-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3904422B2 (ja) | プロダクション・スキャナに接続するためのシステムおよび方法 | |
US7012706B1 (en) | System and method for interfacing with multiple production scanners | |
JP4240690B2 (ja) | 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体 | |
CN100476712C (zh) | 信息处理装置、打印系统、打印设备、及其控制方法 | |
US6509974B1 (en) | Automated job creation for job preparation | |
CA2375140C (en) | System and method for representing and controlling a production printing workflow | |
CN1312599C (zh) | 服务供给设备和服务供给方法 | |
US7158248B2 (en) | Control of software via bundling | |
US8386945B1 (en) | System and method for implementing compound documents in a production printing workflow | |
CA2375171C (en) | System and method for visual representation of pages in a production printing workflow | |
US6738156B1 (en) | Reusable job editing and delivery system | |
US20050157330A1 (en) | Image-forming system with a graphical user interface having an interconnection architecture hyperlink | |
WO2005073840A2 (en) | Communicating with printers using web site technology | |
US7889359B2 (en) | Information processing apparatus and control method thereof, and program | |
JP2003533825A (ja) | ジョブの流れの中での印刷資源の効率的な利用 | |
JP2003533821A (ja) | 生産印刷ワークフローにおいてページを表現し管理するシステムと方法 | |
US8749815B2 (en) | Job processing method, image processing system and image processing apparatus | |
US7689436B2 (en) | Peripheral device output job user data processing | |
US7307742B2 (en) | Information processing method, information processing apparatus, program for information processing apparatus, and storage medium | |
US20040109175A1 (en) | Print service method and print service apparatus | |
JP3700373B2 (ja) | 印刷制御装置及び印刷制御方法並びに印刷制御プログラムが記録された記録媒体 | |
JP2000276311A (ja) | ネットワーク情報出力装置及び方法 | |
GB2396035A (en) | Preview and editing of print jobs | |
JP2004192064A (ja) | 印刷制御装置 | |
JP2003177894A (ja) | 印刷制御装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040924 |
|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20041005 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20041116 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050523 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060711 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061006 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061117 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3904422 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120119 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130119 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |