説明

スキャナ自動接続プログラム

【課題】ユーザがスキャンを実行した際、自動的にUSBスキャナとPCを接続し、スキャンが完了すると切断する、スキャナに関する自動接続プログラムを提供する。
【解決手段】クライアント端末とスキャナがローカル接続されたUSBデバイスサーバとがネットワークで接続されたシステムにおいて、クライアント端末内で、スキャニングアプリケーションからスキャニングコマンドが発行された際に、DSMからコマンドを取得する機能と、コマンドの対象が自動接続のスキャナであった場合に、スキャナを管理するUSBデバイスサーバのネットワーク情報およびスキャナを特定可能な情報を設定保持部から読み込む機能と、仮想USBポートドライバに対して、USBデバイスサーバの情報およびスキャナ情報と共にコマンドを送信する機能と、DSを介して画像取得要求および画像データ取得を行う機能をクライアント端末のコンピュータに実現させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スキャナの標準的なインタフェースであるTWAIN(Tool Without An Interesting Name)を利用したリモート・スキャナの自動接続プログラムに関するものである。
【背景技術】
【0002】
昨今、インターネットの普及に伴い、小規模であってもコンピュータ同士をネットワークで接続し、データの共有やプリンタ等コンピュータ周辺機器の共用が一般的である。また、USB(Universal Serial Bus)規格の実用化に伴い、USBケーブルでコンピュータに接続できる手軽さから、数多くのコンピュータ周辺機器(以下、USBデバイスと称する)にUSB端子が実装されている。
【0003】
しかしながら、本来USBデバイスはコンピュータと1対1で接続することを前提に設計されており、ネットワークで共有しようとしてもその具体的手段が見当たらなかった。かかる問題を解決するため、USBデバイスとは独立した装置である周辺機器サーバ装置が用いられる。この周辺機器サーバ装置が用いられることにより、場合によっては、あらかじめ接続するUSBデバイスのドライバをコンピュータ(PC)にインストールしておくことで、多くの種類のUSBデバイスをネットワーク環境下で共有することが可能となる。プリンタだけでなくスキャナやストレージなど様々な種類のUSBデバイスをネットワーク環境下で共有し得る周辺機器サーバ装置として、USBデバイスサーバが知られている(非特許文献1)。
【0004】
特に、スキャナに関しては、専有面積が比較的大きく、常時利用されることが多くないといった理由から、ネットワーク化が強く要望されていた。このような要望に対し、上記したUSBデバイスサーバを用いることで、スキャナをネットワーク越しに利用することが可能となり、この結果、スキャナの利便性を大きく向上させることができる。
【0005】
このようにUSBデバイスサーバは、従来1台のPCからしか接続使用できなかったUSBデバイスを、ネットワーク上の任意のPCからネットワークを介して共用できるようにするものである。
【0006】
各PCでは、このUSBデバイスサーバに接続されたUSBデバイスを、自ら備えるローカルインタフェースに接続されているUSBデバイスと同様に利用できる。すなわち、USBデバイスサーバに接続されたUSBデバイスのステータスを画面上でモニタしたり、データファイルを送受信したりすることができる。より具体的には、USBデバイスサーバに接続されたUSBデバイスであるプリンタやスキャナを、ネットワーク上のPCから選択してプリンタ出力やスキャニングデータの取込みを行えることができる。
【0007】
ここで、USBデバイスサーバのシステム(以下、USBデバイスサーバシステム)を、図1のシステム概略図を用いて説明する。かかるシステムは、PC(101a、101b、101c)と、USBデバイスサーバ103と、USBデバイスサーバ103に接続されたUSBデバイス104から構成される。PC(101a,101b,101c)とUSBデバイスサーバ103との間はLAN(ローカルエリアネットワーク)などのネットワーク102によって接続され、USBデバイスサーバ103とUSBデバイス104との間はUSBケーブルによって接続されている。
USBデバイスサーバ103の有するUSBポートの数以上のUSBデバイス103を利用する場合、USBハブを介してUSBデバイス104をUSBデバイスサーバ103に接続すればよい。また、複数のUSBデバイスサーバ103がネットワーク102上に存在し、それぞれにUSBデバイスを接続するようにしても良い。
【0008】
次に、USBデータの送受信のプロセスについて説明する。
PC(101a,101b,101c)からUSBデバイス104へデータを送信する場合、PC(101a,101b,101c)は、アプリケーションから発行されるUSBデバイス104へのコマンドやデータをTCP/IP等のネットワークプロトコル内部にカプセル化し、USBデバイスサーバ103に向けて送信する。
このカプセル化処理は、PCに予め組み込んである仮想USBポートドライバ(図示せず)により行われる。USBデバイスサーバ103は、これを受信すると、カプセル化を解除し、コマンドやデータを抽出し、かかるコマンドやデータをUSBデバイス104へ与える。このようにしてUSBデバイスサーバのシステムは、PC(101a,101b,101c)からネットワーク102を経由したUSBデバイス104のリモートコントロールを可能としている。逆にPC(101a,101b,101c)が、USBデバイス104からデータを受信する場合は、前述した送信プロセスとは逆の方法で動作している。
【0009】
次に実際の使用方法について説明する。
USBデバイスサーバ103に接続されたUSBデバイス104をユーザがPCから利用する場合、まず、USBデバイスサーバ103に付属のアプリケーションをユーザが操作して、USBデバイスサーバ103とPC間の接続を確立する必要がある。
より具体的には、前述したアプリケーションの画面にはネットワーク上に存在するUSBデバイスサーバ103とこれに接続されているUSBデバイス104の一覧が表示されており、ユーザがこの一覧から所望の機器を手動で選択し、アプリケーション上の接続ボタンを押下することにより接続する。即ち、USBデバイス104を利用する前に、必ず上記した接続のプロセスが必要になる。
一方、USBデバイス104使用後は、逆に切断作業が必要になり、この作業を行わない限り、当該USBデバイス104は他PCから利用できないことになる。
【0010】
このような操作は、頻繁にUSBデバイス104を利用する場合、面倒な作業となり、特に使用頻度の多いプリンタでは利便性を欠いていた。また、このような作業は、コンピュータに不慣れなユーザにとっては敷居の高い作業となっていた。
上述した問題を解決するため、印刷のスプール領域を監視するプログラムをPCに組み込んでおき、印刷データがスプールされると、予め指定しておいたUSBデバイス104と自動的に接続し、スプール領域が空になると切断する、自動接続・切断技術が公開されている(特許文献1)。
【0011】
【特許文献1】国際公開公報第2006082782号
【非特許文献1】サイレックス・テクノロジー社のHP「USBデバイスサーバ」(URLアドレス:http://www.silex.jp/japan/products/network/what/index3.html)
【発明の開示】
【発明が解決しようとする課題】
【0012】
上述した自動接続・切断技術は、PCにおける印刷スプール領域を監視するものであり、プリンタ以外のスキャナなどその他USBデバイスには利用できない。また、上述したように、スキャナはネットワーク化が強く要望されている。USBデバイスサーバシステムを利用することにより、ネットワーク上での利用が可能になるものの、依然としてUSBデバイスサーバシステム特有の接続・切断作業が必要となる。このような作業は面倒であり、また、コンピュータに不慣れなユーザにとっては敷居の高い作業である。
【0013】
本発明は、上記した課題に鑑みたものであり、USBデバイスサーバシステムにおいて、 ユーザがスキャンを実行した際、自動的にUSBスキャナとPCを接続し、スキャンが完了すると切断する、スキャナに関する自動接続プログラムを提供することである。
【課題を解決するための手段】
【0014】
上記目的を達成するため、本発明のスキャナ自動接続プログラムは、1または複数のクライアントPCと、スキャナが接続されたUSBデバイスサーバとがネットワークで接続されたシステムにおいて、
自動接続に指定されたスキャナ選択情報を設定保持部に設定保存する機能と、データソースマネージャ(DSM)からスキャン開始コマンドを受け取る機能と、スキャン開始コマンドの処理対象が自動接続に指定されているスキャナであった場合に、スキャナが接続されたUSBデバイスサーバのネットワーク情報とスキャナを特定可能な情報とを設定保持部から読み込む機能と、読み込んだUSBデバイスサーバのネットワーク情報およびスキャナに関する情報を、仮想USBポートドライバに対して送信する機能と、データソース(DS)より画像取得コマンドを受け取り、これを透過的に仮想USBポートドライバへ送信する機能と、をクライアントPCに実現させるためのものである。
【0015】
上記した本発明のスキャナ自動接続プログラムにより、ユーザがスキャンを実行した際、自動的にUSBスキャナとクライアントPCを接続することが可能となる。
本発明のスキャナ自動接続プログラムは、実質的には後述する仮想データソース(仮想DS)のことである。
なお、データソース(DS)より画像取得コマンドを受け取り、これを透過的に仮想USBポートドライバへ送信するとは、DSより受け取った画像取得コマンドに対し、特に加工を加えずに、仮想USBポートドライバへ送信するという意味である。
【0016】
また、本発明のスキャナ自動接続プログラムは、上記のプログラムにおいて、好適には、DSMよりクローズコマンドを受け取ると、仮想USBポートドライバに対し、クライアントPCとスキャナとの切断を指示する要求を送信する機能をさらにクライアントPCに実現させるためのものである。
【0017】
上記した本発明のスキャナ自動接続プログラムにより、ユーザがスキャンを実行した際、自動的にUSBスキャナとクライアントPCを接続し、スキャンが完了すると切断することが可能となる。
【0018】
また、本発明のスキャナ自動接続プログラムは、上記のプログラムにおいて、好適には、自動接続に指定されているスキャナが他のクライアントPCによって使用されているか否かを監視する機能と、スキャナが他のクライアントPCによって使用中と判断する、または、当該スキャナが他のクライアントPCによる使用から解放されたと判断する場合に、メッセージを画面に表示する機能と、をさらにクライアントPCに実現させるためのものである。
【0019】
自動接続に指定されているスキャナが他のクライアントPCによって使用されているか否かを監視する機能と、スキャナが他のクライアントPCによって使用中と判断する、または、当該スキャナが他のクライアントPCによる使用から解放されたと判断する場合に、メッセージを画面に表示する機能により、ユーザがスキャナ操作のリトライを行う手間を省くことができ、利便性が向上する。
【0020】
また、本発明のスキャナ自動接続プログラムは、上記のプログラムにおいて、好適には、タイマ機能を備え、DSMから自動接続に指定されているスキャナに対するスキャン開始コマンドを受け取った際、タイマ機能により設定されている所定の時間が経過するまでその後の処理を中断する機能をさらにクライアントPCに実現させるためのものである。
【0021】
設定されている所定の時間が経過するまでその後の処理を中断するタイマ機能により、ユーザがクライアントPCの場所からスキャナの場所まで移動する時間を考慮してスキャニング処理の開始を遅らせることが可能となる。
【発明の効果】
【0022】
本発明のスキャナ自動接続プログラムによれば、ユーザがスキャンを実行した際、自動的にUSBスキャナとPCを接続し、スキャンが完了すると自動的に切断するといったユーザにフレンドリーなスキャナ使用環境を提供できるといった効果がある。
【発明を実施するための最良の形態】
【0023】
以下、本発明の実施形態について、特にスキャナの標準的なインタフェースであるTWAIN(Tool Without An Interesting Name)を利用したものを例に挙げ、図面を参照しながら詳細に説明していく。以下、USBデバイスサーバシステムにおけるスキャナ自動接続プログラムの一実施形態を説明する。
【0024】
本発明は、スキャナの標準的なインタフェースであるTWAIN(Tool Without An Interesting Name)を利用したプログラムである。先ず、図2にUSBデバイスサーバシステムを使用しない場合におけるPC内部の機能ブロック図を示す。
図2においてスキャニングアプリケーションは、画像取り込みに使用するソフトウェアを示している。具体的にはイメージ処理を行うアプリケーションの場合が多い。また、DSM(データソースマネージャ)は、通常OS(オペレーティングシステム)に予め組み込まれており、スキャニングアプリケーションと後述するDS(データソース)との間に位置し、PCに組み込まれているDSの一覧を持つなど、DSを管理するものである。
【0025】
なお、スキャニングアプリケーションとDSMおよびDSMとDSとのインタフェースは、TWAINを用いている。
DSは、通常各スキャナベンダから提供されるものであり、DSMを介して得られたTWAINコマンドを各スキャナ独自のコマンドに置き換える。置き換えられたコマンドはUSBインタフェースを介してスキャナに送られる。
【0026】
図3に、本発明を用いない従来のUSBデバイスサーバシステムにおけるPC内部の機能ブロック図を示す。図2と比較して、PC内に、DSとネットワークインタフェースの間に位置する仮想USBポートドライバおよび設定アプリケーションが追加されている。
【0027】
また、図15に本発明を用いない従来のUSBデバイスサーバシステムの処理フローチャートを示す。仮想USBポートドライバは、背景技術で記載した通り、スキャナに対するコマンドをカプセル化し、これをネットワークパケットとしてUSBデバイスサーバに送信するコンポーネントである。ここでは、DSから得られたスキャナ操作に関するコマンドをネットワークパケットにカプセル化し、ネットワークインタフェースを通じてUSBデバイスサーバに送信する。
【0028】
一方、USBデバイスサーバから得られるカプセル化された応答データは、送信とは逆にカプセル化を解除して、DSに送る。また、仮想USBポートドライバは、上記したカプセル化に関する処理だけでなく、後述する設定アプリケーションからの接続の指示により、PCとUSBデバイスサーバに接続されたスキャナとの接続を実行し、このPCに対してスキャナを仮想的に認識させるようプラグアンドプレイ(PnP)通知処理も行う。設定アプリケーションは、ネットワーク上に存在するUSBデバイスサーバおよびこれに接続されているUSBデバイス情報を検索・取得し、これらの全てまたは一部分の一覧を設定アプリケーション画面に表示する。ここでいう情報とは、具体的には、USBデバイスサーバのIPアドレスを含むネットワーク情報およびUSBデバイスの名称等である。ユーザは設定アプリケーションに表示されるUSBデバイスサーバおよびUSBデバイスを手動で選択し、接続を実行することにより、PCからUSBデバイスを使用する。ここでは図示していないが、後述するように、設定アプリケーションが取得したこれらの情報を記憶領域に保存しても良い。なお、同図に示す他のコンポーネントであるDSMやDSの動作については後述する実施例にて説明する。
【0029】
図4に、本発明におけるPC内部の機能ブロック図を示す。図3のPC側と比較して、DSMと仮想USBポートドライバとの間に位置する仮想DS(データソース)、設定保持部およびコマンドバッファ部が追加されている。DSMからみた場合、仮想DSは通常のDSと同様に認識される。即ち、DSMにとって仮想DSとDSは等価のものであり、DSMは、これらの差異を意識する必要がない。
【0030】
設定保持部は、通常PCに備え付けられているハードディスク(HDD)等の記憶装置であり、上述したように、設定アプリケーションが取得したデータを保存する領域である。なお、保存されるデータは上述した情報に加え、どのスキャナに対し自動接続するかを示す選択情報が付加されている。コマンドバッファ部については後述する。
【0031】
設定保持部が持つ情報テーブルの一例を図12に示す。「IPアドレス」は、ネットワーク上に存在するUSBデバイスサーバのIPアドレスである。「ホスト」はUSBデバイスサーバのホスト名である。「デバイス」はUSBデバイスサーバに接続されているUSBデバイスの名称であり、これはUSBデバイスサーバ上において、USBデバイスが接続されている物理ポートなどの情報を含むロケーション情報(図示せず)に関連づけられている。「DS」は、デバイスであるスキャナに対応するDS名である。「自動接続」は、自動接続する際、どのスキャナに接続するかを示す選択情報である。
【0032】
即ち、図12の場合、ホスト名Server2のUSBデバイスサーバに接続されている、Scanner2が自動接続の対象である。この自動接続の選択情報は、通常、設定アプリケーションからユーザ操作により与えられる。また、設定保持部を設けることで、設定アプリケーションを介さずとも、仮想DSが、直接、接続先スキャナ情報を読み込み、取得することができる。コマンドバッファ部は、DSMから得られるTWAINコマンドを必要に応じて一時保存する領域である。これは、通常PCに備えるRAM(図示せず)等により実現される。
以下の実施例では、本発明の仮想DSの一実施形態について説明する。
【実施例1】
【0033】
先ず、本発明である第1の実施形態について説明する。図5は、第1の実施形態における仮想DSの機能ブロック図を示している。
図5において、TWAINインタフェースはDSMと通信するインタフェースであり、このDSMを通じてスキャニングアプリケーションからのスキャナに対するTWAINコマンドを受け取る。また、コマンド処理部は、DSMからのTWAINコマンドを監視し予め指定されたコマンドを検出すると、後述する所定の処理を実行する。また、DSインタフェースは、TWAINインタフェースを介して受け取ったTWAINコマンドをDSとやりとりするインタフェースである。そして、仮想USBポートドライバ制御部は、仮想USBポートドライバと仮想DSとの間のやりとりを制御する。
【0034】
図6は、PCからスキャナに対し自動接続し、画像取得を行う際のシーケンスを示している。以下、図6に示すシーケンスを用いて、第1の実施形態における処理の流れを説明する。
【0035】
(1)先ず、ユーザが設定アプリケーションを用いて、自動接続したいスキャナに対応するDSを選択する(S601)。
このときの選択画面の一例を図13に示す。この選択画面では、仮想DSを「SX Virtual TWAIN」と言う名称で表示しており、仮想DSであるSX Virtual TWAINと自動接続したいスキャナに対応するDSであるTWAIN2とが関連づけられている。これにより、図12に示す設定保持部が持つデータである自動接続カラムの対象スキャナが選択され、仮想DSと選択したDSとが関連づけられる。
【0036】
(2)ユーザがスキャニングアプリケーションのDS選択画面を開くと(S602)、スキャニングアプリケーションからDSMに対し、PCに組み込まれているDSのリストが要求される(S603)。DSMはDSリストの要求に対し、管理しているDSのリストをスキャニングアプリケーションに応答する(S604)。
【0037】
(3)DSMよりDSリストを受け取ったスキャニングアプリケーションは、スキャニングアプリケーション上にDSのリストを表示する(S605)。このとき、正規のDSと共に仮想DS(SX Virtual TWAIN)も表示される。図14にDS選択画面例を示す。ここでは、ユーザは自動接続機能を利用するため、仮想DSである「SX Virtual TWAIN」を選択する。
【0038】
(4)ユーザがDSのリストから仮想DSを選択し(S606)、スキャニングアプリケーションからスキャンの指示を出すことで(S607)、DSMに対しOPENコマンドが送信される(S608)。S606に示すように、スキャニングアプリケーションから仮想DSをDSとして選択することで、スキャニングアプリケーションからのコマンドは全て仮想DSに対して送られることとなる。
ここでOPENコマンドとは、DSMを使用する際、最初に必要となる複数のTWAINコマンド群の総称である。これら一連のコマンド群の処理が完了した後、実際のスキャンデータの通信が可能になる。また、S606に示す仮想DSを選択する処理は、必ずしも毎回必須ではなく、既に選択されている場合は不要としても良い。
【0039】
(5)アプリケーションからOPENコマンドを受け取ったDSMは、このOPENコマンドを仮想DSに送る(S609)。仮想DSではコマンド制御部がDSMからのTWAINコマンドを監視しており、特定のコマンドを検出すると、これに従った処理を実行する。ここで、DSMから受けとったOPENコマンドは特定の処理に関連づけられている。
【0040】
(6)コマンド処理部はこのOPENコマンドを受け取ったことに反応し、次の処理を実行する。先ずは、このOPENコマンドをコマンドバッファ部に保存(S610)する。(7)次に、設定保持部から自動接続の選択がなされているスキャナに対応するUSBデバイスサーバのIPアドレスおよびスキャナ名等、接続に必要な情報を読み込む(S611)。さらに、読み込んだ情報に従って、仮想USBポートドライバ制御部を介して、仮想USBポートドライバに対し、PCとスキャナとの接続を指示する(S612)。
【0041】
(8)仮想USBポートドライバは、S612により受け取った接続要求指示に応答して、USBデバイスサーバに対し接続されているスキャナのディスクリプタ情報を要求する(S613)。
(9)次に、USBデバイスサーバよりこれに対する応答を受信すると(S614)、OSに対しスキャナのプラグアンドプレイ(PnP)を通知すると同時に、PCとスキャナとの間の接続を確立する(S615)。
【0042】
(10)この後、接続が完了した旨を仮想DSの仮想USBポートドライバ制御部に対して通知する(S616)。この処理が完了した時点で、USBデバイスサーバに接続されたスキャナとPCは、ネットワーク越しに接続される事となる。
(11)接続完了通知を受け取った仮想DSは、これに反応してS610で保持しておいたOPENコマンドをDSに対して送信し(S640)、DSよりこれに対する完了応答(S641)を受け取る。次いで、仮想DSは、この完了応答をDSMに返し(S617)、同時にコマンドバッファ部に保存しておいたOPENコマンドを消去する(図示せず)。
【0043】
(12)OPENコマンドに対する完了応答を受け取ったDSMは、この旨をスキャニングアプリケーションに応答する(S618)。
(13)スキャニングアプリケーションはS618を受け取ることにより、DSMに対するOPEN処理が完了したことを認識する。即ち、画像取得コマンドが発行可能な状態になる。
【0044】
(14)スキャニングアプリケーションは、画像取得コマンドをDSMに対して発行する(S619)。
(15)DSMはこのコマンドを仮想DSに対し送り(S620)、仮想DSではこのコマンドを透過的に(S621)DSに送る(S622)。ここで透過的とは、DSMより受け取った画像取得コマンドに対し、一切の処理を加えないというのではなく、コマンドの要旨を変えない範囲での処理は含む。
例えば、各ベンダ若しくはスキャナごとに異なるDSの動作に合わせ、コマンドの送るタイミング等を変化させるなどである。即ちこの場合、タイミングは変更しても、コマンド自身に加工は加えない。
【0045】
(16)DSはステップS622により画像取得コマンドを受け取ると、これを仮想USBポートドライバに送る(S623)。
(17)仮想USBポートドライバは、ステップS623による画像取得コマンドを、ネットワーク越しに接続されているスキャナに対して送信し(S624)、これに対する応答であるスキャナからの画像データを受信する(S625)。
【0046】
(18)仮想USBポートドライバは、この画像データをそのままDSに対して送り(S626)、DSは受け取った画像データを仮想DSに送る(S627)。
(19)仮想DSでは、この画像データを透過的(S628)にDSMに送る(S629)。DSMはこの画像データをスキャニングアプリケーションに送る(S630)。
(20)画像データを受信したスキャニングアプリケーションは、これを画面上にスキャンデータとして表示する(S631)。
【0047】
以上が一連の画像取得の流れであるが、実際には、スキャニングアプリケーションが画像取得コマンドを発行してから(S619)、画像データを受け取る(S630)までのシーケンスが繰り返し実行されることで、スキャニングアプリケーションが画像データを得る。
【0048】
次に、第1の実施形態におけるPCからスキャナに対する自動切断シーケンスについて説明する。図7は自動切断処理のシーケンスを示している。
(1)先ず、スキャニングアプリケーションから画像取得指示を出すと、TWAIN画面が起動するが、自動切断処理では、このTWAIN画面が閉じられることをトリガとして処理が開始する。TWAIN画面が閉じられたことにより(S701)、スキャニングアプリケーションからはCLOSEコマンドがDSMに送られる(S702)。
ここでCLOSEコマンドとは、OPENコマンドと同様、クローズ処理に必要な一連のTWAINコマンド群の総称である。
【0049】
(2)DSMはこのコマンドを仮想DSに送り(S703)、仮想DSはDSMにCLOSEコマンドに対する完了応答をする(S704)。
(3)DSMはこの完了応答をスキャニングアプリケーションに返し(S705)、この処理を以て、CLOSEコマンドに対する、全てのクローズ処理が完了する。
(4)一方、仮想DSは、S704にてCLOSEコマンドに対する応答を返した後、仮想USBポートドライバに対し、スキャナとPCとの接続を切断するよう要求する(S706)。
(5)この要求を受け取った仮想USBポートドライバは、OSに対し該当スキャナが取り外されたことを示すPnPを発行する(S707)。
(6)次いで、PCとスキャナとの接続を切断する(S708)。
(7)この後、切断が完了した旨を仮想DSの仮想USBポートドライバ制御部に対して通知する(S709)。
この処理を以て、自動切断処理は完了する。
【0050】
なお、スキャナとの切断を要求するS706の処理は、DSMからのCLOSEコマンドの全てに応答した後でなければならないわけでなくこの処理と同時に進めても良い。即ち、ステップS703とS704の間に実行しても良い。さらに、この自動切断処理は必ずしも実行される必要はなく、設定アプリケーション等の手段によって、この実行のON/OFFを切り換えるようにしても良い。
【0051】
第1の実施形態によれば、USBデバイスサーバシステムにおいて、ユーザがスキャナを利用する際、予めPCとスキャナを手動で接続する必要がなくなる。このため、第1の実施形態にかかる発明は、面倒な作業が不要になるだけでなく、ローカルに接続されたスキャナと同様の手順で利用できることから、ネットワークを意識する必要が無くコンピュータに不慣れなユーザにとっても利用しやすいものである。
また、スキャナの使用が終わると自動的にPCとスキャナとの接続を切断するので、切断をし忘れた事によるスキャナの占有が発生せず、リソースを有効に共有できる。
【実施例2】
【0052】
次に、第2の実施形態として、自動接続対象のスキャナが他のPCによって利用中かどうかの状態を監視し、対象のスキャナが利用可能になるとメッセージにて通知され得ることが可能な実施形態について説明する。図8は、第2の実施形態における仮想DSの機能ブロック図を示している。
第2の実施形態では、図8に示すように第1の実施形態と比較し、仮想DSにリソース確認部およびメッセージ表示部が追加されている。リソース確認部は、任意のPCとスキャナとの接続が確立されているか否かを確認するものである。
【0053】
USBデバイスサーバシステムにおいて、スキャナは排他的に利用するものである。即ち接続を確立している1台のPCからしかスキャンが行えない。スキャナを利用したい複数のPCが存在する場合に、既に確立されているPCとスキャナとの接続が解除された後でなければ、他のPCが当該スキャナとの間で接続を確立できない。
第2の実施形態では、スキャニングアプリケーションから画像取得が指示された際、接続先スキャナの接続状態を把握するため、リソース確認部がUSBデバイスサーバに問い合わせを行うようにしている。この結果を以て、PCとスキャナとの接続を実行するか否かを決定する。以下、図9に示すフローチャートを用いて、第2の実施形態における仮想DSの処理の流れを説明する。
【0054】
図9に示す第2の実施形態における仮想DSの処理フローチャートは、図6に示される第1の実施形態の自動接続シーケンス図のうち、ステップS611以降における仮想DSの処理を示すものである。即ち、コマンド処理部がDMSからのOPENコマンドを受信したことに反応して、設定保持部から接続先情報を読み込んだ後の処理である。
【0055】
第2の実施形態における仮想DSの処理フローについて以下に説明する。
(1)先ず、リソース確認部が接続先情報を下に、該当のUSBデバイスサーバに対し所望のスキャナが利用可能かどうかを問い合わせる(S901)。
(2)受信した応答の結果(S902)、利用可能ならば本処理は終了し、図6に示すステップS612以降の処理を続ける。一方、他のPCが接続しているなど、利用可能でないならば、リソース確認部はメッセージ表示部に対し、利用中の旨を示すメッセージを表示させる(S903)。
(3)次に、コマンド処理部は、図6に示すステップS610で保存したOPENコマンドに対する応答を返す(S904)。なお、この応答はOPENに失敗した旨を含むものである。
(4)メッセージ表示部は、ステップS905で接続先スキャナの接続状態を監視するかどうかのメッセージを表示し、得られたユーザの判断によりこの後の処理を分岐させる(S905)。監視しないならば、本処理は終了し、スキャニングアプリケーションからの操作待ち状態、即ちユーザからの操作を待つ状態になる。監視するなら、リソース確認部は、ステップS906,S907に示すように、該当スキャナの接続状態が利用可能になるまで繰り返し確認する。
(5)この結果、利用可能になったことを検出すると、メッセージ表示部に対し利用可能になった旨を表示させ(S908)、本処理は終了する。
【0056】
第2の実施形態によれば、あるPCから画像取得を実行した際、他のPCが既にこのスキャナを使用中の場合でも、画像取得を実行したPCのスキャニングアプリケーションがタイムアウト等の好ましくない処理を実行することを防ぐことができる。
また、他のPCによる利用中の状態を監視し、リソースが利用可能になるとこの旨がメッセージにて通知されるため、ユーザは何度もタイムアウト等のエラー処理に遭遇したり、手動で接続状態を何度もチェックする必要がない。
【実施例3】
【0057】
次に、第3の実施形態として、スキャン指示が出されてから実際にスキャンが開始されるまでにタイムラグを設けることが可能な実施形態について説明する。図10は、第3の実施形態における仮想DSの機能ブロック図を示している。
図10に示すように第3の実施形態では、第1の実施形態と比較し、仮想DSにタイマ部を追加する。以下、図11に示すフローチャートを用いて、第3の実施形態における仮想DSの処理の流れを説明する。
【0058】
図11に示す第3の実施形態における仮想DSの処理フローチャートは、図6に示される第1の実施形態の自動接続シーケンス図におけるステップS621に相当する部分である。即ち、第3の実施形態における自動接続シーケンス図は、図6のシーケンス図において、ステップS621の部分が図11に示されるフローに替わり、その他の部分は図6と同じである。
【0059】
第3の実施形態における仮想DSの処理フローについて以下に説明する。
(1)先ず、仮想DSはDSMより画像取得コマンドを受信すると、コマンド処理部がこの画像取得コマンドを検出する(S1101)。
(2)画像取得コマンドを検出すると、このコマンドをコマンドバッファ部に保存し(S1102)、さらにタイマ部を起動(S1103)する。
(3)タイマ部では所定の時間を保持しており、この時間に達するまでの判定を繰り返し実行する(S1104)。
(4)所定の時間に達した場合、コマンド処理部はステップS1102で保存しておいた画像取得コマンドを読み込み、DSに対してこのコマンドを送る(S1105)。
(5)次に、コマンド処理部はタイマ部のタイマを初期値“0”にリセットする(S1106)。なお、タイマ部に設定されている所定の時間は、設定アプリケーションなどの手段により任意の値を設定することができる。
【0060】
以上の処理(1)〜(5)から明らかなように、第3の実施形態のタイマ部は、第1の実施形態だけでなく、第2の実施形態に付加することも可能である。
【0061】
第3の実施形態によれば、スキャン指示を出してから実際にスキャンが開始されるまでのタイムラグを、ユーザが任意に設定できる。USBデバイスサーバは、ネットワークで利用されるものであり、これに接続されているスキャナはPCから離れた位置にある場合が多い。
スキャナの場合、まずスキャナ本体にスキャン対象(紙など)をセットする必要があるが、予めユーザがこれをセットし、PCに戻りスキャンを実行し、さらにスキャン完了後、再びスキャナ本体に赴き、スキャン対象を回収する。この場合、ユーザはPCとスキャナ本体との間を2往復しなくてはならない。本実施形態では、予め設定された時間だけ画像取得コマンドを保持するので、実際のスキャン動作はユーザがスキャンの実行を指示してから、所定のタイムラグの後、開始されることになる。
即ち、ユーザは、PCにてスキャンを指示し、スキャナ本体に赴きスキャナ対象をセットした後、実際のスキャンが開始され、これが終わるとスキャン対象を取り出しPCに戻ればよいだけである。
なお、コマンドを保持する時間はユーザが任意に設定できるので、例えばスキャニングアプリケーション毎に異なるタイムアウトの時間に対し、柔軟に対応できる。
【産業上の利用可能性】
【0062】
本発明のスキャナ自動接続プログラムは、スキャナをネットワーク上で共用するシステムに利用できる。
【図面の簡単な説明】
【0063】
【図1】USBデバイスサーバのシステム概略図
【図2】USBデバイスサーバシステムを使用しない場合におけるPC内部の機能ブロック図
【図3】本発明の仮想DSを用いないUSBデバイスサーバシステムにおけるPC内部の機能ブロック図
【図4】本発明の仮想DSを組み込んだPC内部の機能ブロック図
【図5】第1の実施形態の仮想DSの機能ブロック図
【図6】第1の実施形態における自動接続シーケンス図
【図7】第1の実施形態における自動切断シーケンス図
【図8】第2の実施形態の仮想DSの機能ブロック図
【図9】第2の実施形態における仮想DSの処理フローチャート
【図10】第3の実施形態の仮想DSの機能ブロック図
【図11】第3の実施形態における仮想DSの処理フローチャート
【図12】設定保持部が持つ情報テーブルの一例
【図13】ユーザが自動接続したいスキャナに対応するDSを選択する画面の一例
【図14】DS選択画面の一例
【図15】本発明を用いないUSBデバイスサーバシステムの処理フローチャート
【符号の説明】
【0064】
101a,101b,101c PC
102 ネットワーク
103 USBデバイスサーバ
104 USBデバイス

【特許請求の範囲】
【請求項1】
1または複数のクライアントPCと、スキャナが接続されたUSBデバイスサーバとがネットワークで接続されたシステムにおいて、
自動接続に指定されたスキャナ選択情報を設定保持部に設定保存する機能と、
データソースマネージャ(DSM)からスキャン開始コマンドを受け取る機能と、
前記スキャン開始コマンドの処理対象が自動接続に指定されているスキャナであった場合に、前記スキャナが接続されたUSBデバイスサーバのネットワーク情報と前記スキャナを特定可能な情報とを前記設定保持部から読み込む機能と、
読み込んだ前記USBデバイスサーバの前記ネットワーク情報および前記スキャナに関する情報を、仮想USBポートドライバに対して送信する機能と、
データソース(DS)より画像取得コマンドを受け取り、これを透過的に前記仮想USBポートドライバへ送信する機能と、
を前記クライアントPCに実現させることを特徴とするスキャナ自動接続プログラム。
【請求項2】
請求項1記載のスキャナ自動接続プログラムにおいて、
前記DSMよりクローズコマンドを受け取ると、前記仮想USBポートドライバに対し、前記クライアントPCと前記スキャナとの切断を指示する要求を送信する機能、
をさらに前記クライアントPCに実現させることを特徴とするスキャナ自動接続プログラム。
【請求項3】
請求項1又は2に記載のスキャナ自動接続プログラムにおいて、さらに、
前記自動接続に指定されているスキャナが他のクライアントPCによって使用されているか否かを監視する機能と、
当該スキャナが他のクライアントPCによって使用中と判断する、または、当該スキャナが他のクライアントPCによる使用から解放されたと判断する場合に、メッセージを画面に表示する機能とを、
前記クライアントPCに実現させることを特徴とするスキャナ自動接続プログラム。
【請求項4】
請求項1乃至3のいずれか1項に記載のスキャナ自動接続プログラムにおいて、
タイマ機能を備え、
前記DSMから自動接続に指定されているスキャナに対するスキャン開始コマンドを受け取った際、前記タイマ機能により設定されている所定の時間が経過するまでその後の処理を中断する機能を、
さらに前記クライアントPCに実現させることを特徴とするスキャナ自動接続プログラム。

【図9】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2008−193217(P2008−193217A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2007−23060(P2007−23060)
【出願日】平成19年2月1日(2007.2.1)
【出願人】(500112146)サイレックス・テクノロジー株式会社 (74)
【Fターム(参考)】