JP3998006B2 - スキャナ制御装置、スキャナ制御システムおよび制御方法 - Google Patents

スキャナ制御装置、スキャナ制御システムおよび制御方法 Download PDF

Info

Publication number
JP3998006B2
JP3998006B2 JP2004139703A JP2004139703A JP3998006B2 JP 3998006 B2 JP3998006 B2 JP 3998006B2 JP 2004139703 A JP2004139703 A JP 2004139703A JP 2004139703 A JP2004139703 A JP 2004139703A JP 3998006 B2 JP3998006 B2 JP 3998006B2
Authority
JP
Japan
Prior art keywords
scanner
network
control device
client
function
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 - Fee Related
Application number
JP2004139703A
Other languages
English (en)
Other versions
JP2004312755A (ja
Inventor
敏 飯沼
正博 塩見
司 久保田
勇二郎 竹下
洋一 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004139703A priority Critical patent/JP3998006B2/ja
Publication of JP2004312755A publication Critical patent/JP2004312755A/ja
Application granted granted Critical
Publication of JP3998006B2 publication Critical patent/JP3998006B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、スキャナのネットワーク対応に関する技術であり、特に、ローカル接続したスキャナをネットワークを介して使用する技術に関する。
図18に、パソコン(パーソナルコンピュータ)などのクライアント1にスキャナ2を取り付けた概略を示してある。スキャナ2は、SCSIインタフェース3などのシリアルインタフェースまたはセントロニクスインタフェースなどのパラレルインタフェースを介してクライアント1にハード的に接続され、クライアント1にはスキャナ2を制御するためのドライバ4がインストールされている。
そして、OS5の上で動作する画像データを処理可能なアプリケーション6でスキャナ2を用いて画像データを入力しようとすると、ドライバ4が呼び出される。ドライバ4を用いてスキャナ2の設定を行うと共にスキャナ2から画像データを取得してハードディスク7などの記録媒体にアプリケーション6で処理可能なデータ形式の画像データファイルとして格納する。
スキャナ2を制御するドライバ4としては、アプリケーションソフトウェア6に対し、スキャナなどの画像入力用の周辺装置を制御するための共通のインタフェースあるいはプロトコルを提供するために開発されたTWAINドライバが多く用いられている。TWAINドライバ4は、アプリケーション6に対し共通のAPIを提供するアプリケーション対応部11と、そのAPIに基づきスキャナ2を操作できるスキャナ独自のあるいはスキャナメーカ独自の操作コマンドを生成する操作部12と、スキャナ2から取得した画像データを適当なファイル形式に変換してハードディスク7などの記録媒体に格納する画像データ取得部13とを備えている。操作部12は、さらに、TWAINドライバ4が呼出されたときに詳細なスキャナの条件を設定したり、スキャナ2を直に制御するためのダイアログボックスを表示して操作コマンドを生成し、スキャナ2を制御する機能を備えている。
近年、クライアントの能力も向上し、画像データを処理する機会が増えており、スキャナ、特にカラースキャナを必要とするジョブが増えている。解像度の高いカラースキャナなどの高性能のスキャナは、低コスト化されつつあるがまだ高価であり、また、設置スペースも必要である。さらに、スキャナの使用頻度を考慮すると、個々のクライアントにカラースキャナを接続するのは過剰設備となることが多い。したがって、複数のクライアントが設置されているオフィスなどでは、複数のクライアント毎にスキャナが設置されることが多く、特に、カラースキャナの導入時期においては複数のクライアントに対し限られた数のカラースキャナを設置することが検討される。
クライアントがイーサネットなどのコンピュータネットワーク(以降においてはネットワーク)で接続されている場合は、スキャナがローカル接続されたクライアントで画像データを取り込む処理を行い、その後、ネットワーク経由で自己のクライアントに画像データを送るという操作でスキャナを共有することが可能である。しかしながら、ローカルで接続されたスキャナに対しては、TWAINドライバをインストールしておくことにより、アプリケーションから抜けなくてもその中からスキャナが制御できるようになっているのに対し、ネットワークに接続されたスキャナを使用するときは、他のクライアントを操作して画像データを取り込む作業を行わなければ画像データを取得できないのでは非常に作業が面倒であり、作業効率が悪い。一方、個々のクライアントに対しカラースキャナをローカル接続するのは、コスト、スペースあるいは稼動頻度などの面で効率が悪い。
そこで、本発明においては、ネットワークに接続されたスキャナをローカル接続されたスキャナと同様の感覚で操作で制御できるようにすることを目的としている。また、スキャナをネットワークを介して共有するための制御システム、制御装置および制御方法を提供することを目的としている。さらに、データ入力機能をネットワーク経由で確実に利用することができる制御システム、制御装置および制御方法を提供することも目的としている。また、設定条件の多いスキャナをネットワークを介して制御する際に、トラフィックの増加などのネットワーク負荷の増大を抑止できる制御装置および制御方法を提供することを目的としている。
このため、本発明においては、スキャナをネットワーク経由で制御できるようにするために、クライアント側およびスキャナ側にネットワーク対応のスキャナ制御装置を設け、クライアント側のスキャナ制御部では操作部で生成される操作コマンドをネットワーク経由で送出し、送られてきた応答コマンドを抽出して操作部に供給し、一方、スキャナ側のスキャナ制御部では、送られてきた操作コマンドを抽出してスキャナ本体に供給すると共に応答コマンドをネットワークを介して送出することができるシステムを提供するようにしている。
すなわち、本発明のスキャナ制御システムは、原稿をスキャンして画像データを取得可能なスキャナ本体との間でデータの授受が可能なスキャナインタフェースを備えた第1のスキャナ制御装置(スキャナ側のスキャナ制御装置)と、この第1のスキャナ制御装置とコンピュータネットワークを介してデータの授受が可能な第2のスキャナ制御装置(クライアント側のスキャナ制御装置)とを有するスキャナ制御システムであって、第2のスキャナ制御装置は、スキャナ本体に対する操作コマンドを生成し、これに応答して返送される応答コマンドを解析してスキャナ本体を操作可能な操作部と、画像データを取得可能な画像データ取得部と、操作コマンドをコンピュータネットワークを介して第1のスキャナ制御装置宛てに送信し、第1のスキャナ制御装置から受信したデータから応答コマンドまたは画像データを抽出可能なネットワーク対応部とを備えており、第1のスキャナ制御装置は、コンピュータネットワークを介してデータの授受が可能なネットワークインタフェースと、第2のスキャナ制御装置から受信したデータから操作コマンドを抽出してスキャナ本体に供給し、スキャナ本体から得られた応答コマンドを第2のスキャナ制御装置宛てに送信し、さらに、スキャナ本体で得られた画像データをコンピュータネットワークを介して送信可能な制御部とを備えていることを特徴としている。
また、本発明の、原稿をスキャンして画像データを取得可能なスキャナ本体との間でデータの授受が可能な第1のスキャナ制御装置に対し、コンピュータネットワークを介してデータの授受が可能な第2のスキャナ制御装置からスキャナ本体に対する操作コマンドを送信してスキャナ本体を制御するスキャナ制御方法においては、例えば、以下の工程を備えていることを特徴としている。
1.第2のスキャナ制御装置において前記操作コマンドを生成する操作コマンド生成工程。
2.操作コマンドをコンピュータネットワークを介して前記第1のスキャナ制御装置宛てに送信する操作コマンド送信工程。
3.第2のスキャナ制御装置から送信されたデータから操作コマンドを抽出して前記スキャナ本体に供給する操作コマンド供給工程。
4.スキャナ本体から得られた応答コマンドを第2のスキャナ制御装置宛てに送信する応答コマンド送信工程。
5.第1のスキャナ制御装置から返送されたデータから応答コマンドを抽出する応答コマンド供給工程。
6.応答コマンドを解析してスキャナ本体を操作状況を把握する応答コマンド解析工程。
なお、本発明に係る、スキャナ制御装置、スキャナ制御システム、制御方法、記録媒体においては、前記コマンドの送受信、また、画像データの送受信は、例えば、データをパケット化して行なうことができる。
本発明のスキャナ制御システムあるいは制御方法においては、第2のスキャナ制御装置から操作コマンドをネットワーク経由でスキャナ本体に送り、また、スキャナ本体から応答コマンドをネットワーク経由で受け取って抽出し解析できるようになっている。このため、操作部としては従来のTWAINドライバと同様に操作コマンドおよび応答コマンドを用いた処理が可能である。したがって、アプリケーションに対しスキャナをローカル接続したのと同様のインタフェースを提供できる。
このため、本発明のネットワーク対応型のスキャナ制御装置、例えば、ネットワーク対応型のTWAINドライバをインストールすることにより、TWAIN対応のアプリケーションであればスキャナがローカル接続されているのと同様にネットワークを経由してスキャナを操作および使用することができる。このため、ユーザはクライアントで稼動しているアプリケーションからネットワーク上のスキャナを操作することが可能となる。
さらに、ローカル接続されているスキャナとの間で授受される操作コマンドおよび応答コマンドをそのままネットワーク経由で送受信されるようにしているので、送受信の際のデータ変換にかかるオーバヘッドを低減でき、処理速度を向上できる。
また、第1のスキャナ制御装置の側では、受信データから抽出された操作コマンドがスキャナ本体に供給され、また、スキャナ本体から供給された応答コマンドがネットワークに送り出せるようにしている。このため、スキャナ本体は従来と同様に操作コマンドを受け取って応答コマンドを返すローカル接続仕様のものでネットワークに対応させることができる。この第1のスキャナ制御装置を独立した制御装置として提供し、第1のスキャナ制御装置に従来型のスキャナをSCSIなどのインタフェースを経由して接続する構成も可能であるし、あるいは、第1のスキャナ制御装置とスキャナ本体を一体にしてネットワーク対応型のスキャナとして提供することも可能である。
第2のスキャナ制御装置も、クライアントでスキャナ操作専用のソフトウェアとして提供することも可能であり、また、TWAINドライバと同様に操作部および画像データ取得部とアプリケーションの間のデータ交換を行うアプリケーション対応部を設けてアプリケーションから使用できるようにすることができる。
ネットワークに接続されたスキャナは複数のクライアントに対し共有された周辺機器となる。しかしながら、プリンタなどの出力型の周辺機器と異なり複数のユーザに対し同時に画像データを出力する共有サービスは提供できず、あるユーザのクライアントとコネクションが成立してスキャナのパラメータを設定している間、あるいは、画像データを読み取っている間は、他のユーザに対応するためにパラメータの設定に変えたり、あるいは他のユーザの原稿を読み取ることができない。
そこで、本発明のスキャナ制御システムにおいては、第1のスキャナ制御装置の制御部に、コンピュータネットワークを介して1の第2のスキャナ制御装置と接続中に他の第2のスキャナ制御装置からアクセスされると使用不可能であることを示すロック情報を他の第2のスキャナ制御装置宛てに返すロック機能を設け、他の第2のスキャナ制御装置、すなわち他のクライアントとのコネクションが成立しないようにしている。スキャナは、クライアントとだけでなく、ネットワーク上のプリンタあるいはローカル接続されたプリンタと接続され、スキャナで読み取った画像データをプリンタで出力するコピー処理のために利用することも可能であり、このようなコピー処理中もネットワーク経由でスキャナを利用することができない。したがって、ロック機構はコピー処理を行っている間もロック情報を返してコネクションが成立しないようにすることが望ましい。
一方、第2のスキャナ制御装置においては、ネットワーク対応部がロック情報を受信するとそのロック情報の少なくとも1部を出力することによって接続確認を行うことができる。さらに、ロック情報に使用中のクライアントの情報、例えば、ドメイン名あるいはIPアドレスが含まれていれば、それを表示することにより、使用中のユーザを特定することが可能であり、便利である。
また、第1のスキャナ制御装置の制御部によりコンピュータネットワークを介して使用中のときは、第1のスキャナ制御装置側のローカル操作パネルにネットワーク経由で使用中であることを示すロック表示を表示することが望ましい。スキャナに原稿をセットする際に使用中であるか否かが明確に判るので、画像データを取得中の原稿を除いてしまったり、ローカルコピーあるいはネットワークコピーを開始してしまうような事態を未然に防止することができる。
また、第1のスキャナ制御装置側のローカル操作パネルにストップボタンを設け、コンピュータネットワークを介して第2のスキャナ制御装置と接続中であってもストップボタンが操作されるとその接続が解除されるようにしておくことが望ましい。誤ってスキャナが接続中のまま放置されている場合にはストップボタンを押すことにより他のユーザにスキャナを開放することができる。また、誤った原稿を原稿台あるいはドキュメントフィーダにセットしてしまったときに、スキャナ側でジョブを解除することができる。
さらに、第1のスキャナ制御装置側のローカル操作パネルにスタートボタンを設け、コンピュータネットワークを介して第2のスキャナ制御装置と接続中にスタートボタンが操作されると、第2のスキャナ制御装置宛てに、画像データの取り込み処理を開始するためのトリガー情報を送信できるようにすることが望ましい。また、第2のスキャナ制御装置のネットワーク対応部は、トリガー情報を受信すると、画像データ取得部を稼動または稼動に繋がる一連の処理を開始させるトリガー機能を備えていることが望ましい。このスタート機能により、原稿をスキャナ本体にセットしたときに、クライアントに戻らなくてもスキャナ側で画像データを取り込む処理を開始することができる。
第1および第2のスキャナ制御装置の間で送受信される操作コマンドあるいは応答コマンドは、操作コマンド毎に、あるいは応答コマンド毎にパケット化して送受信することが可能であるが、スキャナのように設定するパラメータの数が多い周辺機器においてはコマンドの送受信がネットワーク上のトラフィックを増加させる要因となる可能性がある。このため、第2のスキャナ制御装置のネットワーク対応部は、操作部から供給された複数の操作コマンドをバッファリングして送信するバッファリング機能を設け、また、第1のスキャナ制御装置の制御部には、バッファリングされた複数の操作コマンドをデコードし、個々の操作コマンドをスキャナ本体に供給するデコード機能を設けることが望ましい。応答コマンドにおいても同様である。即ち、操作コマンドあるいは応答コマンドを蓄積(バッファリング)して複数のコマンドを共通(例えば、1つ)のパケットで送受信することによりトラフィックを低減することが可能であり、ネットワークにかかる負荷を低減することができる。
しかしながら、すべての操作コマンドあるいは応答コマンドをバッファリングして送受信すると、緊急性を有するコマンド、あるいは応答コマンドを待って次の操作を行う操作コマンド、例えば、ステータスを要求する操作コマンドがバッファリングされてしまうと、スキャナの制御が順調に進まず、処理速度が低下してしまう。このため、バッファリング機能では、バッファリング指定されている操作コマンドまたは応答コマンドはバッファリングして送信し、スルー指定、すなわち、バッファリングせずに単独で送受信されることが指定されている操作コマンドまたは応答コマンドはバッファリングしないで送信することにより、ネットワーク負荷を軽減できると共に、スキャナの操作をスムーズに高速で進めることができる。
さらに、スルー指定されている操作コマンドまたは応答コマンドが供給されるとバッファリングされた操作コマンドまたは応答コマンドを送信し、その後にスルー指定された操作コマンドまたは応答コマンドを送信することにより、バッファリングされたコマンドに対するスルー指定されたコマンドの前後関係を崩すことなくスキャナを操作することが可能である。このため、スルー指定されたステータスを要求するような操作コマンドに対して、それ以前に指定されたパラメータなどが設定済みのスキャナの状態を返すことができる。
また、操作コマンドなどをバッファリングする際は、操作コマンドまたは応答コマンドを、パケットデータ中の、各操作コマンドまたは応答コマンド毎に予め決まった位置にバッファリングすることにより、操作コマンドあるいは応答コマンドを圧縮した状態で送受信することができる。したがって、データ量を減らすことができるので、よりネットワークの負荷を軽減できる。また、同じパラメータを設定途中で変えるような場合は、バッファリング中のコマンドが送出される以前に置き換わるので、スキャナとの間で無駄な応答を避けることができる。
本発明のスキャナ制御システムは、上記のような処理を実行可能な命令を有する制御プログラムとして実現することが可能であり、第1のスキャナ制御装置として機能する制御プログラムをスキャナがローカル接続された端末、あるいは、スキャナにインストールし、第2のスキャナ制御装置として機能する制御プログラムをクライアントにドライバなどとしてインストールし、これらの端末またはスキャナをネットワークで接続することにより実現できる。これらの制御プログラムはコンピュータで読み取り可能なハードディスク、CD−ROMあるいはROMなどの記録媒体に記録して提供あるいは使用することが可能である。また、制御プログラムは、ネットワークを介して提供してもよい。この場合、制御プログラムを物理的な信号として実体化させた搬送波が用いられる。搬送波としては、例えば、パケットが利用される。
以上に説明したように、本発明のスキャナ制御装置、スキャナ制御システムおよび制御方法を用いることにより、スキャナをコンピュータネットワークを介して共有することが可能となる。特に、第2のスキャナ制御装置をネットワーク対応のTWAINドライバとして実現することにより、ローカル接続されたスキャナを使用するのと同様の操作感覚でネットワーク上のスキャナを使用することが可能となる。また、TWAIN対応のアプリケーションであれば、ローカル接続したスキャナであっても、ネットワーク上のスキャナであっても同様に操作が可能であり、簡単な操作でスキャナから所望のイメージデータを自己の端末に取り込み、アプリケーションで処理することが可能となる。
また、上記にて説明したスキャナ制御装置、制御システムおよび制御方法では、データ入力装置の1つであるスキャナをネットワークを用いて複数のユーザで共有するための保護あるいはデータ交換にかかる種々の発明を開示しており、本発明にかかるスキャナ制御装置、システムおよび制御方法を採用することにより実際にスキャナをネットワークに接続して複数のユーザで共有することが可能となる。したがって、スキャナを複数のユーザで活用することが可能となり、マルチカラーあるいは高解像度対応の高性能のスキャナなどの資源を有効利用することができる。
(システムの概要)
以下に図面を参照しながら本発明の実施の形態を説明する。図1に、本発明に係るスキャナ制御システムの概要を示してある。本例のスキャナ制御システム20は、ユーザのパソコン(パーソナルコンピュータ)1にインストールされたネットワーク対応型のTWAINドライバ(第2のスキャン制御装置として機能する)10と、ネットワーク22を介してパソコン1と接続された周辺機器管理装置30との組み合わせで構成されている。TWAINドライバ10は、例えば、後述するCD−ROMリーダ200を介してCD−ROMによってインストールすることができる。もちろん、プレインストールされていてもよい。また、例えば、インターネットを介して、サーバよりダウンロードして、インストールすることができる。その際、TWAINドライバ10を構成するプログラムは、パケット等の搬送波に物理的な信号の形に実体化された形で提供されることができる。
パソコン1は、図18に基づいて説明したものと略同様の構成であり、TWAIN対応のアプリケーション6がOS(オペレーティングシステム)5の上で動作できるようになっている。さらに、本例のパソコン1は、ネットワーク22を経由してデータを交換するために、LANカードなどのハードウェア的なインタフェース機能およびTCP/IPなど適当なネットワークプロトコルをサポートするソフトウェア的なインタフェース機能を備えたネットワークインタフェース(ネットワークモジュール)19を備えており、インストールされたネットワーク対応のTWAINドライバ10がネットワークを介してデータ交換できるようになっている。また、パソコン1は、TWAINドライバ10で取得した画像データを収納できるハードディスク7、さらに、アプリケーションあるいはTWAINドライバ10から適当な表示をOS5を経由して出力できるディスプレイ8、キーボードなどの入力用機器9を備えている。また、プログラム等をインストールするためのCD−ROMリーダ200が接続されている。
本例のTWAINドライバ10は、アプリケーション6に対し従来のTWAINドライバと同様のインタフェースを提供するために、共通のAPIを提供するアプリケーション対応部11と、そのAPIに基づきスキャナ2を操作するためのスキャナ独自、あるいはスキャナメーカ独自の操作コマンドを生成する操作部12と、スキャナ2から取得した画像データを適当なファイル形式に変換してハードディスク7などの記録媒体に格納する画像データ取得部13とを備えている。操作部12は、さらに、TWAINドライバが呼出されたときに詳細なスキャナの条件を設定したり、スキャナ2を直に制御するためのダイアログボックスを表示して操作コマンドを生成し、スキャナ2を制御する機能も備えている。
本例のTWINドライバ10は、これらに加えて、ネットワーク上のスキャナを制御するために、ネットワーク対応部14が設けられており、このネットワーク対応部14の送信部15で操作部12から供給された操作コマンドがパケット化されてネットワーク22経由でスキャナ宛てに送信され、受信部16でスキャナから受信したパケットから応答コマンドを抽出(デコード)して操作部12に供給できるようになっている。また、受信部16は、パケット化された画像データを受信した場合は、その画像データを画像データ取得部13に供給するようになっている。さらに、ドライバ10は、詳しくは後述するが、ネットワーク上のスキャナがすでに使用されているときにスキャナ側から提供されるロック情報を表示する接続確認機能17と、スキャナ側からネットワーク経由で送信されたトリガー情報に基づき画像データを取得する処理を開始するトリガー機能18を備えている。
本例のスキャナ制御システム20を構成するスキャナ2の側のスキャナ制御装置は、スタンドアロンの周辺機器管理装置30として実現されている。もちろん、スキャナ2と一体化されたネットワークスキャナなどの他の形態で提供することも可能である。本例の周辺機器管理装置30は、図1に機能的な概略構成を示してあるように、ネットワーク22と接続してデータ授受を可能とするためのネットワークインタフェース31と、基本的な機能をサポートするOS(オペレーティングシステム)32と、このOS32の上で動作する制御部50とを備えている。さらに、SCSIインタフェース33、セントロニクスインタフェース34などの周辺機器用のインタフェースを備えており、これらにスキャナ2およびプリンタ35が接続されている。
制御部50を実現するためのソフトウエアは、予め周辺機器管理装置30のハードディスク7にインストールしておくことができる。もちろん、ソフトウエアの全部または一部をROMに格納しておくこともできる。このほか、図示していないが、CD−ROMリーダ等を用いて、インストールすることができる。また、ネットワーク22またはインターネットを介してインストールすることも可能である。
また、本例の周辺機器管理装置30は、LCD(液晶ディスプレイ)等のディスプレイと、操作パネルとの機能を持つローカル操作パネル36が接続され、制御部50から制御できるようになっている。このような周辺機器管理装置30は、例えば、CPU、ROM、RAM、インタフェースコントローラおよびこれらを接続するバスなどを備え、それに、ハードディスク7等が接続されるパソコン(パーソナルコンピュータ)などの情報処理装置をベースに構築することができる。もちろん、一部または全部をハードウエアロジックにより実現するようにしてもよい。
周辺機器管理装置30のネットワークインタフェース31は、パソコン1のネットワークインタフェースと同様にネットワーク22を介してデータを授受するためのハードおよびソフト的なサポート機能を備えており、制御部50がネットワーク22を介してパソコン1などとデータの授受ができるようになっている。
制御部50は、ネットワーク経由でコマンドを送受信するための応答部51を備えており、この応答部51の受信機能52でパソコン1から受信したパケットデータから操作コマンドを抽出して、SCSIインタフェース33を経由してスキャナ2に供給できるようになっている。また、応答部51の送信機能53により、スキャナ2から供給された応答コマンドをパケット化してネットワーク経由でパソコン1に送信できるようになっている。
さらに、制御部50は、スキャナ2が使用中のときにネットワーク経由でアクセスしたユーザに対しロック情報を提供したり、あるいはロック情報をローカル操作パネル36に表示するロック機能54、ローカル操作パネル36のスタートボタンが押されたときに、トリガー用のデータをネットワーク経由で送信するスタート機能55、ローカル操作パネル36のストップボタンが押されときにコネクションを強制的に解除する解除機能56を備えている。
さらに、本例の制御部50は、SCSIインタフェース33を介してスキャナ2から受信した画像データをパケット化してネットワーク経由でパソコン1宛てに送信する画像データ出力機能57を備えている。この画像データ出力機能57は、さらに、操作パネル36の操作によって、スキャナ2で得られた画像データを、セントロニクスインタフェース34を経由してローカル接続されたプリンタ35に提供してローカルコピーを行う機能、さらに、ネットワークインタフェース31を介してネットワーク22に接続されたネットワークプリンタ(図示せず)に画像データを提供してネットワークコピーを行う機能もサポートしている。
(処理の概要)
図2および図3に示したフローチャートに基づき、ネットワーク対応型のTWAINドライバ10および周辺機器管理装置30を備えた本実施の形態に係るスキャナ制御システムの処理の概要を説明する。
まず、パソコン1のアプリケーション6からネットワーク対応型のTWAINドライバ(以降においてはドライバ)10が呼び出されると、ステップ101でドライバ10が起動する。ドライバ10が起動すると、ステップ102でOSの種類、ネットワーク環境、例えば、ネットワークモジュールのバージョンチェックなどの動作環境チェックが行われる。そして、ステップ103でネットワーク22を経由して周辺機器管理装置(以降においては管理装置)30宛てにコネクション要求を発送する。
本例のスキャナ制御システムにおいては、ネットワークプロトコルとしてTCP/IPが採用されており、スキャナ制御システムにかかるデータの授受用のポート番号として特定の番号、例えば、1865が割り当てられている。したがって、管理装置30は、ステップ301でそのポート番号宛てにコネクション要求が出されるのを待ち、コネクション要求があるとステップ302以降の処理でそれに対する応答メッセージを返す。
図4に、応答メッセージなど、以降のプロセスにおいてドライバ10と管理装置30との間でネットワーク22を経由して授受されるパケットデータ60の構成例を示してある。パケットデータ60は、12バイトのヘッダーデータ61と、このヘッダーデータ(ヘッダ情報)61に続く実データ62から構成されておいる。全体のデータ長がイーサネットなどのネットワーク22の規格に従った長さに納まるようになっている。ヘッダーデータ61には、スキャナ制御システムのパケットデータであることを示す識別データ63と、パケット化された情報の種別を示すパケット種別64と、実データに収納されたデータの圧縮状態を示すデータ種別65などが含まれている。
パケット種別としては図5に示してあるように、透過モード(スルー)の操作コマンドが含まれているパケット、バッファモードの操作コマンドが含まれているパケット、コネクション要求に対する応答メッセージが含まれているパケット、応答コマンドが含まれているパケット、イメージデータ転送用のパケット、さらには、トリガー情報が含まれているパケットなどの区別ができるようになっている。したがって、これらのパケットを受信した管理装置の制御部50あるいはドライバ10のネットワーク対応部14は、ヘッダーデータ61に基づいてパケットからデータを抽出し、また、必要に応じてバッファリングされたデータのデコードなどの処理を行うことができる。
ステップ302で生成される、クライアント1に返送すべき応答メッセージのパケットは、ヘッダーデータ61のパケット種別64がコネクション応答となり、実データ62として管理装置30に対応するドライバのバージョン情報が含まれたパケットデータとなる。なお、この段階では、応答メッセージは送信されない。さらに、管理装置30に接続されたスキャナ2が他のユーザによって使用されているかを判断する(ステップ303)。使用されていないときは、前記応答メッセージを送信させる(ステップ304a)。そして、ローカル操作パネル36に、スキャナ2が使用可能である旨を表示する。一方、スキャナ2がユーザに使用されている場合には、スキャナ2がロックされた状態であるので、制御部30のロック機能54から、そのジョブの種別と使用中のユーザの情報(ロック情報)がコネクション応答(応答メッセージ)パケットに追加され、応答メッセージを送信させる(ステップ304c)。そして、使用可能でない場合、ロック機能54により、アクセスしたクライアント1とのコネクションは切断され(ステップ304e)、接続待ちの状態に戻る。
ドライバ10は、ステップ104で応答メッセージが送信されているのを待ち、ステップ105でコネクションが確立されたか否かを確認する。そして、コネクションが拒絶された場合は、ステップ106において、ドライバ10のネットワーク対応部14の接続確認機能17が、パソコン1のディスプレイ8に応答メッセージに含まれる関連情報を表示する。
図6には、ドライバ10を始めて起動したとき、あるいは、使用するスキャナの選択(アドレス)を変えたときに示される表示内容を示してある。ドライバ10を起動したときに、初期設定ダイアログ67としてネットワークスキャナの指定入力67aを備えたダイアログが表示され、所望のスキャナをIPアドレスで指定することができる。ドライバ10は、指定されたアドレスの管理装置30に対しコネクション要求を発送し、該当するIPアドレスに管理装置30が存在するか否かを確認し、その結果を表示する。その際、管理装置30に接続されたスキャナ2が使用中であれば、そのジョブ種類と使用中のユーザの情報を表示する。
図6では、ネットワーク上に該当する管理装置が存在するが、そのスキャナは、他のユーザ(IPアドレスで示されている)によってネットワーク対応のTWAINドライバを用いて専有されていることが表示されている。したがって、所望のスキャナ2が接続された管理装置30とのコネクションは確立されず、スキャナをすぐに利用することはできない。
また、図7に示すように、パソコン1にインストールされているドライバ10のバージョンが管理装置30と合っていないと、ネットワークを経由したデータ授受に支障が生ずる可能性がある。したがって、ドライバ10の接続確認機能17では、さらに、応答メッセージに含まれるバージョン情報を確認し、ドライバ10のバージョンと対応していないときは、バージョンアップすることを推奨するコメント68を表示し、コネクションを切断して処理を終了する。
さらに、ドライバ10を用いてアクセスするネットワークスキャナのアドレスがすでに設定されている場合は、そのスキャナの管理装置30にコネクション要求が送らる。また、コネクションが成立しない場合は、その応答メッセージに含まれた情報が図8および図9に示すようなメッセージとして表示される。図8(a)に示したメッセージ69は、管理装置30のスキャナ2が、IPアドレス(符号69a参照)で表示された他のクライアント1によってネットワーク経由で使用されていることを示している。
なお、パソコン1は、IPアドレスと、ユーザデータ(例えば、ユーザ名)を管理するデータサーバがネットワーク22に接続されている場合には、OS5が有する問い合わせ機能を用いて、例えば、図20に示すようなデータサーバに、IPアドレスに対応するユーザ名を問い合わせ、その結果を受け取って、例えば、図8(b)に示すように、“TAROU1”のような表示を行うことができる。
一方、図9(a)に示したメッセージ70aでは、スキャナ2がネットワーク22に接続されたネットワークプリンタにイメージデータを送ってネットワークコピーを行うために使用されていることを示しており、コピー先のプリンタがIPアドレスで表示されている。この場合、OS32が問い合わせを行う機能を有するときには、上述した場合と同様に、データサーバに問い合わせることによってユーザ名を取得して表示させることができる。また、図9(b)に示されたメッセージ70bでは、スキャナ2が管理装置30にローカル接続されたプリンタ35にイメージデータを送ってローカルコピーするために使用されていることを示しており、このケースではユーザの情報は表示されない。
スキャナ2が他のユーザによって使用されているときは、図2に示すように、ステップ304eで、管理装置30の制御部50のロック機構54によってローカル操作パネル36に、図10(a)に示すようなロック情報がローカル表示される。本例では、ロック中であること、および、使用中のユーザの情報がIPアドレスで表示される(符号36c)。このため、ローカルコピーあるいはネットワークコピーなどの目的で管理装置30に接続されたスキャナ2を使用しようとするユーザは、スキャナ2がネットワークを介して使用されていることを一目で把握することができる。したがって、読み取り中に誤って原稿台の原稿を外してデータの取り込みに支障が生じさせたり、あるいは、スキャナがロックされていて使用できないにも関わらず、原稿をセットするなどの無駄な作業を行うのを防止することができる。
なお、この場合にも、IPアドレスを用いてデータサーバに問い合わせることで、ユーザ名を取得して、表示させることができる。図10(b)は、その一例である(符号36d)。
ドライバ10においては、コネクションが成立すると、ステップ107で操作部12によりスキャナの詳細設定および制御を行うためのダイアログがディスプレイ8に表示される。図11にダイアログの一例を示してある。このダイアログ71により、スキャナ2で行うハーフトーン処理などの画像処理、濃度補正などの補正処理、解像度などのデータフォームの設定、読み取りモードなど多くの設定情報が入力できるようになっている。ドライバ10の操作部12は、このダイアログの設定に基づき順番に操作コマンドを生成しスキャナを操作することができる。
ステップ108でダイアログ71を介してスキャナから画像データを取得するための、一連のパラメータの設定が終了すると、ステップ109でスキャナ2による原稿のスキャンを開始する。ステップ109のスキャン開始は、パソコン1の側でダイアログ71に表示された取り込みボタン71aをクリックすることによって指示することができる。また、管理装置30の操作パネル36のスタートボタン36aを操作してもスキャンを開始させることができる。
ネットワーク22に管理装置30を介して接続されたスキャナ2と、クライアント1との距離は一般に離れていることが多い。したがって、スキャナがクライアントにローカルで接続されているときのように、スキャナに原稿をセットしながらクライアントを操作するような環境は期待できない。ネットワークに接続されたスキャナ2を使用する場合は、スキャナ2の原稿台あるいはドキュメントフィーダに原稿をセットした後にクライアント1の側でスキャナのパラメータを設定し、読み取りを開始するパターンと、クライアント1の側でスキャナのパラメータを設定した後に、原稿をスキャナ2にセットして読み取りを開始するパターンが主に考えられる。前者のパターンの場合は、ディスプレイ8に表示されたダイアログ71を操作することによって読み取りを簡単に開始できる。これに対し、後者のパターンでは、ダイアログ71でのみスキャン開始ができるのでは、原稿をスキャナ2にセットした後に、再びパソコン1に戻って操作を行うことが必要となり、無駄な動きが生ずる。
そこで、本例のスキャナ制御システムにおいては、管理装置30の制御部50に、ステップ305でスタートボタン36aが操作されると、ステップ308でトリガー情報をパケット化して接続先のパソコン1に送信するスタート機能55を設けてある。また、スタートボタンが押されない場合、ネットワークからのデータの受信があるかを判断し(ステップ306)、受信している場合には、ステップ310に進む。一方、受信していない場合には、ストップボタンが押されたかを調べる(ステップ307)。押されていない場合には、ステップ305に戻る。押されている場合には、ドライバ10は、ステップ109においてダイアログ71の取り込みボタンの操作のみではなく、送信されたトリガー情報によって操作部12および画像取得部13がコマンドを送受信して画像データを取得する処理を自動的に開始するトリガー機能18をネットワーク対応部14に設けてある。さらに、図5に示したように、パケット種別としてトリガデータであることを示す種別を用意してあり、トリガー機能18はパケット種別を判別してドライバ10の処理を進めることができる。
このようなスタート機能およびトリガー機能を設けることにより、ユーザは原稿をスキャナ2にセットした後に、管理装置30の機側でスタートボタン36aを操作することによりスキャンを開始させ、画像データをパソコン1に送信することが可能となり、その度にパソコン1に戻る必要がなくなる。したがって、スキャナ2とパソコン1が離れている場合であってもスムーズに原稿を読み取らせ、その画像データをパソコン1で取り込むことができる。
スキャンが開始されると、図12に示すように、管理装置30の操作パネル36にはスキャナが読み取り中であることが表示され、スキャナ2を使用中のユーザあるいはスキャナ2を使用するために到来した他のユーザに対しスキャナ2の使用状況が明確に示される。したがって、スキャン中であることが容易に確認でき、原稿を誤って操作するなどの不具合の発生を未然に防止することができる。
さらに、図12に示してあるように、管理装置30の操作パネル36には、スタートボタン36aに加えてストップボタン36bを設けてある。このストップボタン36bを操作すると、制御部50の解除機能56がステップ307でストップボタンが操作されたことを判断し、スキャナが読み取り処理を行っているときは読み取り処理を中断する。そして、ステップ316で作業終了にしてステップ317でパソコン1とのコネクションを切断する。同時に、パソコン1に対しストップボタンが押されたことを示すパケットを送信する。パソコン1のドライバ10は、ストップボタンが押されたことを示すパケットを受信するとステップ116で作業終了を判断する。そして、ディスプレイ8にドライバ10によってストップボタンが押されてコネクションが解除されたことを示す図13のメッセージ72を表示し、ステップ117でコネクションを切断する。
ストップボタン36bによるコネクションの強制解除機能は、スキャナ2に間違った原稿をセットしてしまったときなどに有効であり、さらに、ローカルで緊急にコピーを取りたいときなどにも有効である。また、誤って接続が解除されないままスキャナ2が未使用状態で放置されているような場合にも有効である。さらに、管理装置30の制御部50には、未使用状態で長時間(例えば、15分程度)放置された場合は、自発的にコネクションを切断する機能も設けられている。この機能によってコネクションが切断されると、図14に示したようなメッセージ73がパソコン1のディスプレイ8にドライバ10によって表示され、ドライバは処理を終了する。
図2に戻って、ダイアログ71あるいはローカル操作パネル36のスタートボタン36aでスキャン開始が指示されると、ドライバ10ではコマンドを送受信する処理110が開始され、それに呼応して管理装置30においてもコマンドを送受信する処理310が開始される。ドライバ10においては、ステップ111でダイアログ71の設定に基づいて操作部12から操作コマンドが生成され、ステップ112で送信部15が操作コマンドをパケット化して管理装置30宛てに送信する。
一方、管理装置30においては、応答部51の受信機能52が、ステップ311で、パソコン(クライアント)1から受信したパケット化されたデータから操作コマンドを抽出し、SCSIインタフェース33を介してスキャナ2に供給する。操作コマンドに対するスキャナ2の応答コマンドは、逆のルートを辿り、ステップ312で応答部51の送信機能53によりパケット化されてクライアント(パソコン)1宛てに送信される。クライアント1では、ステップ113で、ネットワーク対応部14の受信部16がパケット化されたデータから応答コマンドを抽出し、操作部12に供給する。そして、ステップ114で、操作部12は、応答コマンドを解析して、操作コマンドにしたがった設定がスキャナ2で行われたか否かなどの判断を行い、次の処理に進む。
このように、本例のスキャナ制御システムにおいては、パソコン1とスキャナ2がネットワークを介して接続されているが、ドライバ10の操作部12で取り扱われるデータは、スキャナをパソコンにローカル接続しているときに授受される操作コマンドおよび応答コマンドそのものである。したがって、TWAINドライバ10の主要な機能はそのまま使用することが可能であり、ネットワーク経由でスキャナと接続されていても、アプリケーション6に対しては、ローカル接続と同様のインタフェースを提供することができる。
また、操作部12の処理内容もローカル接続されているときとほとんど変わりがないので、ドライバをネットワーク化する際の作業時間も短くて済む。さらに、操作部12およびスキャナ本体2で使用されるコマンドをネットワーク対応のデータとするときに、他のコマンド体系、あるいは言語に変換する必要がないので、コマンドを送信および受信するときのデータ変換にかかるオーバヘッドを低減できる。従って、処理速度が速く、パソコン1あるいは管理装置30に対する負荷の少ないスキャナ制御システムを提供することができる。
また、スキャナ2においても、管理装置30から供給される操作コマンドおよび管理装置30に返す応答コマンドは、スキャナ2がローカル接続されている場合と同じである。したがって、従来のローカル接続型のスキャナを、管理装置30を介してネットワーク22に接続することが可能となり、複数のユーザでスキャナを共有することができる。
ステップ110および310で操作コマンドおよび応答コマンドを授受してスキャナ2の設定が終了すると、ステップ115およびステップ315において管理装置30からパソコンのドライバ10に画像データが送信される。画像データもネットワーク22を介して送信できるように、適当なサイズのデータ長でパケット化されて管理装置30の画像データ出力部57からネットワーク22に送り出される。ドライバ10の受信部16は、受信したパケットから画像データを抽出して画像データ取得部13に供給し、画像データ取得部13が所定のフォーマットでハードディスク7などの記録媒体に画像データを収納する。
画像データの送受信が終了すると、ドライバ10および管理装置30は、ステップ116および316で、ジョブが終了したか否かを判断する。ジョブが継続されている場合は、ドライバ10は条件設定のステップ108に戻って新たなパラメータをスキャナ2に設定できる状態となる。また、管理装置30もコマンドを送受信可能な状態に戻る。一方、ダイアログ71の終了ボタンがクリックされたり、あるいはローカル操作パネルのストップボタン36bが操作された場合は、ステップ117および317で接続を切断して処理を終了する。
(コマンドの送受信について)
図3に、操作コマンドおよび応答コマンドをドライバ10と管理装置30の間で授受する処理をさらに詳しく示してある。ステップ111で操作部12において操作コマンドが生成されるたびに、その操作コマンドをパケット化して管理装置30宛てに発送することも可能である。しかしながら、スキャナ2の設定項目は画像処理、補正処理、さらにデータフォームなど多岐にわたるため、操作部12からスキャナ2に提供される操作コマンドの数は多い。さらに、この操作コマンドに対して応答コマンドがスキャナ2から発せられるのでネットワーク22を介して授受するデータ量は非常に多くなる。したがって、スキャナ2をネットワーク22に接続したことによりネットワーク上のトラフィックが増大しネットワークの性能が低下することが懸念される。
このため、本例においては、複数の操作コマンドおよび応答コマンドをバッファリングして一括で送受信し、ネットワークトラフィックを軽減できるようにしている。また、すべての操作コマンドおよび応答コマンドを一括で送受信したのでは、操作コマンドに対する応答コマンドを待って処理を進める機能、例えば、ステータス要求などのスキャナからデータを受信する実行関連の処理では、処理が進まず処理速度が低下してしまう。このため、本例のスキャナ制御システムにおいては、操作コマンドおよび応答コマンドをバッファリングするコマンドと、バッファリングしないコマンド(透過コマンドまたはスルーコマンド)に分けて処理を行うようにしている。
図15に、本例のスキャナ制御システムにおいてスキャナ2と操作部12との間で授受される操作コマンド81の種類と、その操作コマンドのモードとが示され、さらに、操作コマンドに対する応答状態を模式的に示す。本実施の形態のように、スキャナがSCSI接続(ローカル接続)である場合には、コマンドが1つずつ送られていく。一方、ネットワーク接続の場合には、スルーコマンドは、1つずつスキャナに送られるが、バファリングコマンドは、一旦、蓄積され、まとめてスキャナに送られる。
本実施の形態のスキャナ制御システムにおけるスキャナ2に対する操作コマンド81の体系は、「ESC」に続く1文字あるいは数文字のデータで表現される「ESC/I」と呼ばれる体系が採用されている。また、それらの操作コマンド81に応答する応答コマンドはAckまたはAck/Nackの操作コマンドの結果のみを示すものと、所定のデータを伴うものに分けられる。操作コマンド81をバッファリングして良いか否かは、操作コマンド毎に検討されており、主に、単に操作コマンドによる設定が正常に進んだことが確認されれば良い操作コマンドはバッファリングされるようになっている。
これに対し、応答コマンドあるいはそれらに付随するデータを操作部12が解析してエラー表示を行ったり、あるいは、原稿が排紙されたか否かのように、その操作コマンドに対する結果(応答コマンド)を待って次の処理が進む操作コマンドなどはバッファリングされずに、単独でパケット化されて送信される(スルー)ようになっている。本例のスキャナ制御システムにおけるバッファリングとスルーの種別は予め定められている。操作コマンド81がバッファリングされる場合は、応答コマンド82もバッファリングされてパソコン1に返されるようになっている。
図3に戻って、ステップ111において操作部12から操作コマンドが供給されると、ネットワーク対応部14の送信部15は、ステップ121でその操作コマンドがバッファリング指定されているかスルー指定されているかを判断する。
バッファリングするコマンドとして指定されている操作コマンドは、ステップ122で所定のフォーマットでその操作コマンドをバッファリングする。
図16に、操作コマンドをバッファリングするパケットデータ90の構成を示してある。このパケットデータ90には、パケット種別が図5に示したバッファリングモードコマンドにセットされたヘッダ情報61が先頭に設けられており、これに続いて、有効な操作コマンドに相当する位置のビットが立てられたコマンドステータスブロック91が配置され、さらに、操作コマンドに付随するパラメータがそれぞれの操作コマンド毎に定められた位置に収納されるコマンドインフォメーションエリア92が配置されている。
したがって、ステップ122においては、バッファリングする操作コマンドが供給されると、コマンドステータスブロック91内の、その操作コマンド毎に予め定められたビットが立てられ、その操作コマンドがパケットデータ90にバッファリングされる。さらに、その操作コマンドにパラメータが付随している場合は、そのパラメータの内容がコマンドインフォメーションエリア92の所定の領域に収納される。コマンドステータスブロック91およびコマンドインフォメーションエリア92は、バッファリングされる操作コマンドの全てに対し予め定まったビットおよびエリアが予約されており、数10個の操作コマンドを1つのパケットデータ90としてネットワーク22を介して管理装置30に送ることができる。
これらの操作コマンドに対応して管理装置30からドライバ10に返送される応答コマンドも、図17に示す、上記と同様の方法でバッファリングされて送られるようになっている。応答コマンド用のパケットデータ95は、図5に示した、バッファリングモードコマンドに対する応答であることを示すパケット種別が収納されたヘッダ情報96に続いて、応答コマンド毎に予め決まった位置のビットが立てられるリターンコマンドステータスブロック97が設けられている。そして、操作コマンドに対し応答コマンドがAckのときはビットを立てず、Ack応答が得られなかったとき、あるいはNackなどのエラーが発生したときに、リターンコマンドステータスブロック97のうち、図16に示したコマンドステータスブロック91の該当する操作コマンドのビットを立てて応答コマンドとしている。
このように、操作コマンドおよび応答コマンドをバッファリングすることにより、スキャナ2を操作するためにネットワーク22を介して授受されるデータ量を大幅に低減することが可能であり、ネットワーク負荷を軽減することができる。また、操作コマンドをパケットデータ90のコマンド毎に定まった位置にバッファリングすることにより、同一の操作コマンドが何らかの条件により複数回、操作部12から供給された場合であっても、バッファリングされたデータが上書きされるだけであり、ネットワークを経由して授受するデータ量を増やさずに済む。
図3に戻って、ステップ111で操作部12から供給された操作コマンドがスルー指定されている操作コマンドの場合は、ステップ123で、そのスルーコマンドが供給される以前の操作コマンドがバッファリングされたパケットデータ90を管理装置30宛てに送信する。
管理装置30においては、ステップ321でドライバ10からのパケットデータを受信すると、ステップ322において、応答部51の受信機能52がパケットデータのヘッダ情報からスルー指定された操作コマンドのパケットか、操作コマンドがバッファリングされたパケットかを判断する。バッファリングされたパケットであれば、ステップ323で受信機能52がパケットデータ90のコマンドステータスブロック91およびコマンドインフォメーションエリア92のデータをデコードし、所定の順番で、操作部12から供給されたESC/Iベースの操作コマンドを再現する。
一方、データを受信しない場合には、スタートボタンが押されたかを調べる(ステップ321a)。そして、押されていない場合には、ステップ321に戻る。また、押されている場合には、トリガ情報を生成して、図2のD(ステップ316)に進む。
バッファリングされている操作コマンドは、操作部12から供給された順番とスキャナ2に供給される順番とが一致する必要がないため、バッファリングされる際に生成された順番(時間情報)は削除されており、管理装置30の受信機能52においては、予め定められた順番で操作コマンドを再現し、ステップ324でスキャナ2にその操作コマンドを供給する。ステップ325で、供給した操作コマンドに対応する応答コマンドをスキャナ2から受け取ると、管理装置30の応答部51の送信機能53は、ステップ326で応答コマンドをパケットデータ95にバッファリングする。ステップ324および325を繰り返してパケットデータ90でバッファリングして送られた操作コマンドをすべてスキャナ2に提供し、その応答コマンドが得られると、それらの応答コマンドがステップ326でバッファリングされた状態でドライバ10に返送される。
ステップ124でドライバ10がバッファリングされた応答コマンドを受信すると、応答コマンドをデコードし操作部に提供する。そして、図2に示したように、その応答コマンドを解析してエラーの有無を判断する。エラーがないときは、ステップ125でスルー指定された操作コマンドを管理装置30宛てに発信する。このようにして、スルーコマンドが供給されると、それまでにバッファリングされていたコマンドが管理装置30宛てに送信され、スキャナ2がそれらの操作コマンドにしたがって設定される。したがって、それらの操作コマンドの設定状態に関わることが多いスルーコマンドが管理装置30を経由してスキャナ2に送られたときは、スキャナ2が所望の状態に設定されており、処理をスムーズに継続することができる。また、スルーコマンドの前に操作コマンドをバッファリングして一括送付することにより、ネットワーク上を流れるデータ量を大幅に低減できることは上述したとおりである。
スルー指定された操作コマンドのパケットが管理装置30に受信されると、ステップ322でスルーコマンドであることが判断され、ステップ327でコマンドが抽出されてスキャナ2に提供される。そして、スキャナ2からの応答コマンドがステップ329でパケット化されてドライバ10に送信される。ドライバ10は送信されたパケットから応答コマンドを抽出して操作部12に提供し、操作部12はその情報、例えばステータス情報、給紙あるいは排紙情報などに基づいて次の処理、あるいは操作コマンドを生成する。
スルー指定されたコマンドには、スキャナ2の設定を終了してイメージデータ(画像データ)の送信開始を指示する操作コマンドが含まれている。したがって、ステップ126でこのイメージデータ取得を指示する操作コマンドであることが判ると、操作コマンドによってスキャナ2を設定する処理110からステップ130のイメージデータを取得する処理に移行する。管理装置30においても、イメージデータの送信開始を指示するスルー指定の操作コマンドを受信すると、ステップ328でスキャナ2を設定する処理310からステップ330のイメージデータを送信する処理に移行する。
ステップ330のイメージデータを送信する処理においては、図5に示したイメージデータの転送パケットであることを示すパケット種別を含んだヘッダ情報61に続いて、実データ62としてイメージデータが続いたパケットデータがドライバ10宛てに送信される。1つのパケットで送信できるデータ量はかぎられている。このため、スキャナ2から供給されるイメージデータが1つのパケットで納まらない場合は、ステップ331で1サイクルのイメージデータが終了するまで複数のパケットデータに分解して送られる。ドライバ10においても、ネットワーク対応部14の受信部16がステップ130でパケット毎にイメージデータを受信し、そのパケットからイメージデータを抽出して画像データ取得部13に画像データを供給する処理をステップ131で画像データが終了したと判断されるまで繰り返す。
ステップ131において、データが終了していない場合において、ストップボタンが押されているかを調べる(ステップ332)。ここで、押されていなければ、ステップ330に戻る。一方、押されている場合には、トリガ情報を出力する(ステップ333)。
以上に説明したスキャナ制御システムは、従来のTWAINドライバでも用いられている操作コマンドおよび応答コマンドをパケット化して、ネットワーク上のスキャナとクライアントとを接続したシステムであり、ネットワーク上のスキャナをローカル接続されたスキャナと同様にアプリケーションから操作することができる。また、操作コマンドおよび応答コマンドの体系を変えていないので、ネットワークを介して送受信する際のデータ変換にかかるオーバーヘッドが少なくて済み、処理速度の速いスキャナ制御システムを実現できる。さらに、従来のTWAINドライバの資源を有効に活用してネットワーク対応のドライバを提供することができるので、開発にかかる時間およびコストも低くできる。また、ネットワークに接続されるスキャナにおいても、スキャナ本体を制御するコマンド体系は従来のローカル接続されるものと同じにできるので、スキャナ本体のオペレーティングシステムを変えずに、上述した管理装置としての機能を備えた端末を介して、あるいはその機能を内蔵したネットワークスキャナとすることによりネットワークに接続することが可能である。
また、上述したスキャナ制御システムにおいては、あるユーザにスキャナが使用されているときはロック状態として、他のユーザに対してはスキャナを開放しないようにしており、これによって、スキャナの操作および画像データの信頼性を確保できるようにしている。その一方で、使用中のユーザの情報を表示したり、ネットワーク経由で送信することにより、スキャナの使用状態が明確に判るようにしている。また、ストップボタンによる強制終了あるいは時間による強制終了するモードを設けて、スキャナの稼動効率を向上できるようにしている。
さらに、クライアントのドライバとスキャナとの間で多くのコマンドが授受されるので、これらのコマンドをそのままネットワークを介して授受したときにネットワークの性能に大きな影響が発生しないようにコマンドをバッファリングして授受するようにしている。その一方で、応答コマンドあるいはこれに付随するデータが処理をスムーズに進行するために必要な操作コマンドにおいては、バッファリングしないで授受できるようにしており、本例のスキャナ制御システムは、ネットワーク負荷を軽減すると共にスキャナをスムーズに、迅速に操作することができる。
なお、上記では、クライアント側の第2のスキャナ制御装置としてアプリケーションから操作できるTWAINドライバとしてインストールされる制御プログラムを例に説明しているが、もちろん、上述した機能を備えたアプリケーションなど、他の形態で実現することも可能である。また、スキャナ側の第1のスキャナ制御装置も管理装置というスタンドアロンの装置で説明しているが、スキャナ本体と一体としてネットワークスキャナとして実現したり、あるいは、他の機能と共に汎用的なネットワークサーバとして実現することなども可能である。また、コマンド体系としてESC/Iを例に説明しているが、他のコマンド体系であっても良いことはもちろんである。また、上記にて示した数値などは例示に過ぎず、発明がこれらによって限定されるないことはもちろんである。
次に、本発明の他の実施の形態について、図19、図20を参照して説明する。本実施の形態は、上述した周辺機器管理装置30に代えて、汎用のコンピュータシステム、例えば、パソコンを用いてスキャナを管理する例である。
図19は、本実施の形態で用いられる、一般的なコンピュータシステを構成するハードウエアシステムの構成図である。同図に示すように、コンピュータシステム1000は、プログラムを実行することで、各種の機能を実現する中央処理装置(CPU)1100と、プログラムおよび固定データを格納するROM1200と、ランダムアクセスメモリRAM1300と、インタフェース1400とを備える。インタフェース1400には、プリンタ35、スキャナ2、ディスプレイ8、入力用機器9、ハードディスク7およびCD−ROMリーダ200が接続される。本実施の形態で実行されるプログラムは、例えば、上述したパソコン1におけるTWAINドライブ10の場合と同様に、CD−ROM、インターネットにより提供される。前者の場合には、CD−ROMリーダ200により読み出され、ハードディスク7にインストールされる。そして、実行時に、ハードディスク7から読み出されて、RAM1300に展開される。また、ネットワーク22を介して他のコンピュータから取り込むこともできる。
図20は、上述したハードウエア資源を用いて実現される各種機能を示す。図20に示す機能は、実現するプログラムは異なるものの、果たすべき働きは、基本的には、図1に示す周辺機器管理装置30と同等のものを含む。すなわち、スキャナ制御用汎用コンピュータ100は、OS105と、その上で動作するアプリケーション106と、スキャナの動作を制御する制御部150と、ネットワークインタフェース119と、プリンタ35が接続されるセントロニクスインタフェース134と、スキャナ2が接続されるSCSIインタフェース133とを、実現すべき機能として有する。OS105は、ディスプレイ8、入力用機器9、ハードディスク7およびCD−ROM200を管理下に置き、それぞれの動作を制御するドライバと共に、これらの動作を制御する。
制御部150は、受信機能152および送信機能153を有する応答部151と、ロック機能154、スタート機能155、マンマシンインタフェース158を有する。ここで、マンマシンインタフェース158を除き、他の機能は、プログラムの構成上の差異があるとしても、実現すべき機能の内容としては、基本的には、図1に示した周辺機器管理装置30が搭載している機能と同様である。従って、それらについては、説明を繰り返さない。
マンマシンインタフェース158は、ディスプレイ8に、例えば、図10に示すような画面を表示する。図10の例では、スタートボタン36a、ストップボタン36bは、画像ではなく、実際の押しボタンスイッチが用いられている。しかし、本実施の形態では、それらも含めて、画像による表示を行う。そして、スタート、ストップの選択は、入力用機器9、例えば、マウスによって、ディスプレイ8の該当する個所をクリックすることにより行う。マンマシンインタフェース158は、マウスによるクリックを受け付けて、該当するボタンについての操作として処理する。
また、図20では、ネットワーク22に、クライアント側の装置として、図1に示すパソコン1と同じものが接続されている。もちろん、汎用コンピュータ10と同じ装置を接続し、それに、パソコン1で用いているTWAINドライバ10を搭載して、クライアントとして用いることができる。
さらに、図20に示すシステムでは、ユーザデータを管理するデータサーバ300を有する。このデータサーバ300は、ネットワークインタフェース319、制御部310およびIPアドレス/ユーザ名蓄積部320を有する。クライアントパソコン1からの問い合わせがあると、問い合わせに含まれるIPアドレスに対応する登録ユーザ名(パソコン名の場合もある)を検索し、その結果を問い合わせ元にパケットに乗せて返送する。これにより、問い合わせたパソコン1は、画面上に、例えば、図8(b)に示すように、IPアドレスと共に、ユーザ名を表示することができる。
本実施の形態では、スキャナの利用側については、前述した実施の形態と同じである。一方、スキャナが接続されるスキャナ制御用汎用コンピュータ100は、ネットワーク22を介してクライアントからの操作コマンドを取り出して、スキャナに伝達し、スキャナからの応答コマンド、データ等については、制御部150によって、要求元に送付する。
本実施の形態によれば、汎用のコンピュータにスキャナをローカル接続し、このコンピュータをネットワークに接続することで、他のコンピュータからスキャナを遠隔制御することが可能となる。
本発明にかかるスキャナ制御システムの概要を示すブロック図である。 図1に示すスキャナ制御システムにおける処理の概要を示すフローチャートである。 図1に示すスキャナ制御システムにおいてコマンドを交換する処理をさらに詳しく示すフローチャートである。 図1に示すスキャナ制御システムで交換されるパケットデータの概要を示す図である。 図4に示すパケット種別を説明する図である。 ネットワークスキャナのアドレスを指定する画面の例を示す図である。 ドライバのバージョンが対応してないことを示すメッセージの例である。 ネットワークスキャナが他のユーザによりネットワーク経由で使用されていることを示すメッセージの例である。 ネットワークスキャナが他のユーザによりローカルコピーあるいはネットワークコピーに使用されていることを示すメッセージの例である。 ネットワークスキャナ側の操作パネルの表示例であり、スキャナがロックされていることを示す例である。 クライアントに表示されるスキャナの条件を設定するためのダイアログの例である。 ネットワークスキャナ側の操作パネルにスキャナが読み取り中であることを表示した例である。 ネットワークスキャナの側でストップボタンが押され、コネクションが強制解除されたときのメッセージの例である。 ネットワークスキャナに一定時間アクセスしなかったためにコネクションが強制解除されたときのメッセージの例である。 バッファリング指定あるいはスルー指定された操作コマンドおよび応答コマンドの例を示す図である。 操作コマンドをバッファリングしたパケットデータの構成例である。 応答コマンドをバッファリングしたパケットデータの構成例である。 スキャナをクライアントにローカル接続した例を示すブロック図である。 本発明の他の実施の形態で用いられるコンピュータのハードウエアシステム構成を示すブロック図である。 本発明の他の実施の形態における機能を示すブロック図である。
符号の説明
1・・パソコン(クライアント)
2・・スキャナ
3、33・・SCSIインタフェース
4・・TWAINドライバ
5、32・・OS
6・・TWAIN対応のアプリケーション
7・・ハードディスク
8・・ディスプレイ
9・・入力装置
10・・ネットワーク対応のTWAINドライバ(第2のスキャナ制御装置)
11・・アプリケーション対応部
12・・操作部
13・・画像取得部
14・・ネットワーク対応部
15・・送信部
16・・受信部
17・・接続確認部
18・・トリガー部
19、31・・ネットワークインタフェース
20・・スキャナ制御システム
22・・コンピュータネットワーク(ネットワーク)
30・・周辺機器管理装置(管理装置、第1のスキャナ制御装置)
35・・プリンタ
36・・ローカル操作パネル
50・・制御部
51・・応答部
52・・受信機能
53・・送信機能
54・・ロック機能
55・・スタート機能
56・・解除機能
57・・画像出力機能

Claims (12)

  1. 原稿をスキャンして画像データを取得可能なスキャナ本体との間でデータ授受が可能なスキャナインタフェースと、クライアントとコンピュータネットワークを介してデータの授受が可能なネットワークインタフェースと、を備えるスキャナ制御装置であって、
    表示および操作を行う機能を有するローカル操作パネルと、
    前記スキャナインタフェースを介して得られた画像データを前記ネットワークインタフェースを介して前記クライアントに送信可能であり、前記クライアントから受信したデータから操作コマンドを抽出して前記スキャナ本体に供給し、前記スキャナ本体から供給された応答コマンドをコンピュータネットワークを介して前記クライアント宛てに送信可能な応答機能、コンピュータネットワークを介して1のクライアントと接続中に他のクライアントからアクセスされると、使用不可能であることを示すロック情報を返すロック機能、前記ローカル操作パネルにおいて、コンピュータネットワークを介してクライアントと接続中は、ネットワーク経由で使用中であること、或いは、自装置がスキャナ本体を使用中であることを示すロック表示を表示する表示機能、スキャナ本体との接続を開始後に未使用状態で所定時間経過した場合には自発的にその接続を切断する自発的切断機能、および、前記ローカル操作パネルに備わるストップボタンが操作されたときに、スキャナ本体との接続を切断する強制切断機能、を備えた制御部と、
    を有していることを特徴とするスキャナ制御装置。
  2. 請求項1において、前記ロック情報には、使用中のクライアントの情報が含まれていることを特徴とするスキャナ制御装置。
  3. 請求項1または2において、前記ロック表示には使用中のクライアントの情報が含まれていることを特徴とするスキャナ制御装置。
  4. 請求項1乃至3のいずれか1項において、前記制御部は、前記ローカル操作パネルにおける操作に基づき、原稿をスキャンして画像データを取得し、取得した画像データをローカルまたはコンピュータネットワークに接続されたプリンタに送出するコピー機能を備えており、
    前記ロック機能は、このコピー機能の使用中にコンピュータネットワークを介してクライアントからアクセスされると、コピー機能により使用不可能であることを示すロック情報を返すことを特徴とするスキャナ制御装置。
  5. 原稿をスキャンして画像データを取得可能なスキャナ本体との間でデータ授受が可能なスキャナインタフェースを備えた第1のスキャナ制御装置と、
    この第1のスキャナ制御装置とコンピュータネットワークを介してデータの授受が可能な1または複数の第2のスキャナ制御装置と、を有するスキャナ制御システムであって、
    前記第2のスキャナ制御装置は、
    前記スキャナ本体に対する操作コマンドを生成し、これに応答して返送される応答コマンドを解析してスキャナを操作可能な操作部と、
    画像データを取得可能な画像データ取得部と、
    操作コマンドをコンピュータネットワークを介して前記第1のスキャナ制御装置宛てに送信し、前記第1のスキャナ制御装置から受信したデータから応答コマンドまたは画像データを抽出可能であり、
    前記第1のスキャナ制御装置とコンピュータネットワークを介して前記スキャナ本体にアクセスした際に、該スキャナ本体が異なったジョブに専有され使用不可能であることを示すロック情報を受信すると、そのロック情報の少なくとも1部を出力する接続確認機能を備えているネットワーク対応部と、を有し
    前記第1のスキャナ制御装置は、
    コンピュータネットワークを介してデータを授受が可能なネットワークインタフェースと、
    表示および操作を行う機能を有するローカル操作パネルと、
    前記スキャナインタフェースを介して得られた画像データを前記ネットワークインタフェースを介して前記第2のスキャナ制御装置に送信可能であり、前記第2のスキャナ制御装置から受信したデータから操作コマンドを抽出して前記スキャナ本体に供給し、前記スキャナ本体から供給された応答コマンドをコンピュータネットワークを介して前記第2のスキャナ制御装置宛てに送信可能な応答機能、コンピュータネットワークを介して1の第2のスキャナ制御装置と接続中に他の第2のスキャナ制御装置からアクセスされると、使用不可能であることを示すロック情報を返すロック機能、ローカル操作パネルにおいて、コンピュータネットワークを介して第2のスキャナ制御装置と接続中は、ネットワーク経由で使用中であること、或いは、自装置がスキャナ本体を使用中であることを示すロック表示を表示する表示機能、および、スキャナ本体との接続を開始後に未使用状態で所定時間経過した場合には自発的にその接続を切断する自発的切断機能、ローカル操作パネルに備わるストップボタンが操作されたときに、スキャナ本体との接続を切断する強制切断機能、を備えた制御部と、
    を有していることを特徴とするスキャナ制御システム。
  6. 請求項5において、前記ロック情報には、使用中の第2のスキャナ制御装置の情報が含まれていることを特徴とするスキャナ制御システム。
  7. 請求項5または6において、前記ロック表示には使用中の第2のスキャナ制御装置の情報が含まれていることを特徴とするスキャナ制御システム。
  8. 請求項5乃至7のいずれか1項において、前記第1のスキャナ制御装置の制御部は、前記ローカル操作パネルにおける操作に基づき、原稿をスキャンして画像データを取得し、取得した画像データをローカルまたはコンピュータネットワークに接続されたプリンタに送出するコピー機能を備えており、
    前記ロック機能は、このコピー機能の使用中にコンピュータネットワークを介して第2のスキャナ制御装置からアクセスされると、コピー機能により使用不可能であることを示すロック情報を返すことを特徴とするスキャナ制御システム。
  9. 原稿をスキャンして画像データを取得可能なスキャナ本体との間でデータ授受が可能なスキャナインタフェースと、クライアントとコンピュータネットワークを介してデータの授受が可能なネットワークインタフェースと、前記スキャナインタフェースを介して得られた画像データを前記ネットワークインタフェースを介してクライアントに送信可能な制御部と、を有し、表示および操作を行う機能を有するローカル操作パネルを備えるスキャナ制御装置におけるスキャナ制御方法であって、
    前記制御部が、
    前記クライアントから受信したデータから操作コマンドを抽出して前記スキャナ本体に供給し、前記スキャナ本体から供給された応答コマンドをコンピュータネットワークを介して前記クライアント宛てに送信する応答ステップと、
    コンピュータネットワークを介して1のクライアントと接続中に他のクライアントからアクセスされると、使用不可能であることを示すロック情報を返すロック情報返信ステップと、
    ローカル操作パネルにおいて、コンピュータネットワークを介してクライアントと接続中は、ネットワーク経由で使用中であること、或いは、自装置がスキャナ本体を使用中であることを示すロック表示を表示する表示ステップと、
    スキャナ本体との接続を開始後に未使用状態で所定時間経過した場合には自発的にその接続を切断するか、或いは、ローカル操作パネルに備わるストップボタンが操作されたときに、スキャナ本体との接続を切断する切断ステップと、
    を行うことを特徴とするスキャナ制御方法。
  10. 請求項9において、前記ロック情報には、使用中のクライアントの情報が含まれていることを特徴とするスキャナ制御方法。
  11. 請求項9または10において、前記ロック表示には使用中のクライアントの情報が含まれていることを特徴とするスキャナ制御方法。
  12. 請求項9乃至11のいずれか1項において、前記制御部が、前記ローカル操作パネルにおける操作に基づき、原稿をスキャンして画像データを取得し、取得した画像データをローカルまたはコンピュータネットワークに接続されたプリンタに送出するコピーステップをさらに行ない、
    前記ロック情報返信ステップにおいて、前記コピーステップの実行中にコンピュータネットワークを介してクライアントからアクセスされると、コピーステップの実行中により使用不可能であることを示すロック情報を返すことを特徴とするスキャナ制御方法。
JP2004139703A 1998-05-06 2004-05-10 スキャナ制御装置、スキャナ制御システムおよび制御方法 Expired - Fee Related JP3998006B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004139703A JP3998006B2 (ja) 1998-05-06 2004-05-10 スキャナ制御装置、スキャナ制御システムおよび制御方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP12371998 1998-05-06
JP2004139703A JP3998006B2 (ja) 1998-05-06 2004-05-10 スキャナ制御装置、スキャナ制御システムおよび制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP06715799A Division JP3649027B2 (ja) 1998-05-06 1999-03-12 スキャナ制御装置、スキャナ制御システムおよび制御方法

Publications (2)

Publication Number Publication Date
JP2004312755A JP2004312755A (ja) 2004-11-04
JP3998006B2 true JP3998006B2 (ja) 2007-10-24

Family

ID=33477850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004139703A Expired - Fee Related JP3998006B2 (ja) 1998-05-06 2004-05-10 スキャナ制御装置、スキャナ制御システムおよび制御方法

Country Status (1)

Country Link
JP (1) JP3998006B2 (ja)

Also Published As

Publication number Publication date
JP2004312755A (ja) 2004-11-04

Similar Documents

Publication Publication Date Title
US8176143B2 (en) Web service providing apparatus
JP4240690B2 (ja) 情報処理装置と情報処理方法、及び情報処理システム、並びに記録媒体
US5764866A (en) Scanner, network scanner system, and method for network scanner system
US6775729B1 (en) Peripheral device, peripheral device control method, peripheral device control system, storage medium for storing peripheral device control programs, sending device for sending peripheral device control programs, and peripheral device control program product
JP3649027B2 (ja) スキャナ制御装置、スキャナ制御システムおよび制御方法
JP3904008B2 (ja) スキャナ制御装置、スキャナ制御システムおよび制御方法
US7532352B2 (en) Image forming apparatus, information processing method, and network system
JP4425238B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷装置およびプリントシステムの制御方法および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラム
JP4895800B2 (ja) プリントシステムおよび印刷管理サーバおよび印刷装置およびプリントシステムの制御方法および印刷管理サーバの制御方法および印刷装置の制御方法およびプログラム
JP2004070494A (ja) ネットワークシステム
JP4063899B2 (ja) スキャナ機能を有する装置
JP3998006B2 (ja) スキャナ制御装置、スキャナ制御システムおよび制御方法
JP4207985B2 (ja) スキャナ制御装置、スキャナ制御システムおよび制御方法
JP3677474B2 (ja) 画像形成装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム
JP3920893B2 (ja) 情報処理装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム
CN1893511B (zh) 图像处理装置
JP2002287931A (ja) 情報処理装置および印刷制御装置およびプルプリント印刷システムおよび情報処理方法およびデータ処理方法および記憶媒体並びにプログラム
JP4268174B2 (ja) キー操作再生方法、この方法をコンピュータに実行させるプログラムおよび画像形成装置
JP4435772B2 (ja) キー操作監視方法、この方法をコンピュータに実行させるプログラムおよび画像形成装置
JP2006260596A (ja) 描画情報取得方法、この方法をコンピュータに実行させるプログラムおよび画像形成装置
JP2000330734A (ja) ネットワークプリント方法および該方法を用いたネットワークプリントシステム
JP2002189546A (ja) ネットワーク端末装置および表示制御方法および表示制御プログラム
JP4898874B2 (ja) 情報処理装置、情報処理方法及び印刷装置
JP2000293473A (ja) ネットワーク端末装置及びその表示方法
JP2000293464A (ja) データ処理装置および表示処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070615

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: 20070717

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070730

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100817

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110817

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120817

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130817

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees