(57)【要約】【課題】ドライバを用いることなく情報処理装置がスキャン装置からスキャンデータを取得することを課題とする。【解決手段】スキャナ１０は、名前付きパイプへのＰＣ３０による読み込みの有無を判断する。又は、ＰＣによるファイルの読み込みを実行するためのコマンドを、受信したか否かを判断する。そして、名前付きパイプへのＰＣによる読み込みがあった場合、又は、コマンドをスキャナが受信した場合に、スキャン処理が実行される。そして、スキャン処理により生成されたスキャンデータが、名前付きパイプに書き込まれる。若しくは、スキャンデータが情報処理装置に送信される。つまり、ＰＣは、名前付きパイプへの読み込みを実行、若しくは、ファイルの読み込みを実行するためのコマンドを出力するだけで、スキャンデータを取得することが可能となる。これにより、ドライバを用いることなく情報処理装置がスキャン装置からスキャンデータを取得できる。【選択図】図１
2015192162.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と通信可能な通信部と、
制御部と、
を備えたスキャン装置であって、
前記制御部は、
仮想的に設けられている疑似画像ファイルの、前記情報処理装置による読み込みの要求の有無を判断する読み込み判断手段と、
前記読み込み判断手段によって前記情報処理装置による前記疑似画像ファイルの読み込みが有ったと判断された場合に、スキャン処理を実行するスキャン実行手段と、
前記スキャン実行手段によるスキャン処理により生成されたスキャンデータを、前記疑似画像ファイルに書き込むスキャンデータ書き込み手段と、
を有することを特徴とするスキャン装置。
【請求項２】
前記制御部は、
前記疑似画像ファイルを作成する疑似画像ファイル作成手段を有することを特徴とする請求項１に記載のスキャン装置。
【請求項３】
前記疑似画像ファイル作成手段は、
前記スキャン装置によるスキャン処理に関して設けられた複数の設定値のうちの、いずれかの設定値と関連づけて、前記疑似画像ファイルを作成し、
前記スキャン実行手段は、
前記読み込み判断手段によって読み込みの要求があったと判断された疑似画像ファイルに関連づけられた設定値で、スキャン処理を実行することを特徴とする請求項２に記載のスキャン装置。
【請求項４】
前記制御部は、
前記スキャン装置の状態を取得する状態取得手段をさらに有し、
前記疑似画像ファイル作成手段によって作成された前記疑似画像ファイルのうちの、前記状態取得手段により取得した状態において、スキャン処理を実行できない設定値に関連付けて作成された疑似画像ファイルを削除する疑似画像ファイル削除手段を有することを特徴とする請求項３に記載のスキャン装置。
【請求項５】
前記制御部は、
前記スキャンデータ書き込み手段によって前記疑似画像ファイルにスキャンデータが書き込まれ、当該疑似画像ファイルへの前記情報処理装置による読み込みが終了した後に、当該疑似画像ファイルを閉鎖する疑似画像ファイル閉鎖手段を有することを特徴とする請求項１乃至４の何れか１項に記載のスキャン装置。
【請求項６】
前記制御部は、
前記読み込み判断手段によって前記情報処理装置による前記疑似画像ファイルの読み込みの要求が有ったと判断された場合に実行されるスキャン処理以外のスキャン処理実行中に、前記スキャン実行手段によるスキャン処理を制限する制限手段を有することを特徴とする請求項１乃至５の何れか１項に記載のスキャン装置。
【請求項７】
前記制限手段は、
前記疑似画像ファイルの読み込みを禁止することで、前記スキャン実行手段によるスキャン処理の開始を制限することを特徴とする請求項６に記載のスキャン装置。
【請求項８】
前記制御部は、
前記読み込み判断手段によって前記情報処理装置による前記疑似画像ファイルの読み込みの要求が有ったと判断された場合に実行されるスキャン処理以外のスキャン処理が終了した場合に、前記制限手段によるスキャン処理の制限を解除する解除手段を有することを特徴とする請求項６又は７に記載のスキャン装置。
【請求項９】
前記読み込み判断手段は、
ネットワークを介したファイル共有を実現するためのプロトコル、若しくは、ＵＳＢストレージクラスを利用した、前記情報処理装置による前記疑似画像ファイルの読み込みの有無を判断することを特徴とする請求項１乃至８の何れか１項に記載のスキャン装置。
【請求項１０】
情報処理装置と通信可能な通信部と、
ファイルを記憶する記憶部と、
制御部と、
を備えたスキャン装置であって、
前記制御部は、
前記情報処理装置による前記ファイルの読み込みを実行するためのコマンドを、前記通信部を介して、受信したか否かを判断する受信判断部と、
前記受信判断部によって前記コマンドを受信したと判断された場合に、スキャン処理を実行するスキャン実行手段と、
前記スキャン実行手段によるスキャン処理により生成されたスキャンデータを、前記通信部を介して、前記情報処理装置に送信するスキャンデータ送信手段と、
を有することを特徴とするスキャン装置。
【請求項１１】
前記記憶部は、
前記スキャン装置によるスキャン処理に関して設けられた複数の設定値のうちの、いずれかの設定値と関連づけて、前記ファイルを記憶しており、
前記スキャン実行手段は、
前記受信判断部によって前記コマンドを受信したと判断された場合に、当該コマンドによる読み込み対象の画像ファイルに関連づけられた設定値で、スキャン処理を実行することを特徴とする請求項１０に記載のスキャン装置。
【請求項１２】
前記受信判断手段は、
ネットワークを介したファイル共有を実現するためのプロトコル、若しくは、ＵＳＢストレージクラスを利用して、前記コマンドを、前記通信部を介して、受信したか否かを判断することを特徴とする請求項１０又は１１に記載のスキャン装置。
【請求項１３】
前記疑似画像ファイルは、名前付きパイプであることを特徴とする請求項１乃至１２の何れか１項に記載のスキャン装置。
【請求項１４】
情報処理装置と通信可能な通信部を備えたスキャン装置のコンピュータが読み取り可能なスキャンプログラムであって、
仮想的に設けられている疑似画像ファイルの、前記情報処理装置による読み込みの要求の有無を判断する読み込み判断手段と、
前記読み込み判断手段によって前記情報処理装置による前記疑似画像ファイルの読み込みが有ったと判断された場合に、スキャン処理を実行するスキャン実行手段と、
前記スキャン実行手段によるスキャン処理により生成されたスキャンデータを、前記疑似画像ファイルに書き込む スキャンデータ書き込み手段と、
して前記コンピュータを機能させることを特徴とするスキャンプログラム。
【請求項１５】
情報処理装置と通信可能な通信部と、ファイルを記憶する記憶部とを備えたスキャン装置のコンピュータが読み取り可能なスキャンプログラムであって、
前記情報処理装置による前記画像ファイルの読み込みを実行するためのコマンドを、前記通信部を介して、受信したか否かを判断する受信判断部と、
前記受信判断部によって前記コマンドを受信したと判断された場合に、スキャン処理を実行するスキャン実行手段と、
前記スキャン実行手段によるスキャン処理により生成されたスキャンデータを、前記通信部を介して、前記情報処理装置に送信するスキャンデータ送信手段と、
して前記コンピュータを機能させることを特徴とするスキャンプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と通信可能なスキャン装置、そのスキャン装置のコンピュータが読み取り可能なスキャンプログラムに関する。
【背景技術】
【０００２】
ＰＣ（Personal computerの略）等の情報処理装置でスキャンデータを取得しようとした場合、アプリケーションプログラムから、下記特許文献に記載されているように、ＡＰＩ（Application Programming Interfaceの略）を使用することによって、スキャン装置のドライバを呼び出し、呼び出したドライバを用いてスキャナへスキャン指令を送信する必要がある。すなわち、ユーザはスキャンドライバのＰＣへのインストールを事前に行っておく必要がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−７１０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、そのような事情に鑑みてなされたものであり、ドライバを用いることなく情報処理装置がスキャン装置からスキャンデータを取得できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のスキャン装置は、情報処理装置と通信可能な通信部と、制御部と、を備えたスキャン装置であって、前記制御部は、仮想的に設けられている疑似画像ファイルの、前記情報処理装置による読み込みの要求の有無を判断する読み込み判断手段と、前記読み込み判断手段によって前記情報処理装置による前記疑似画像ファイルの読み込みが有ったと判断された場合に、スキャン処理を実行するスキャン実行手段と、前記スキャン実行手段によるスキャン処理により生成されたスキャンデータを、前記疑似画像ファイルに書き込むスキャンデータ書き込み手段と、を有することを特徴とする。
【０００６】
上記課題を解決するために、本発明のスキャン装置は、情報処理装置と通信可能な通信部と、ファイルを記憶する記憶部と、制御部と、を備えたスキャン装置であって、前記制御部は、前記情報処理装置による前記ファイルの読み込みを実行するためのコマンドを、前記通信部を介して、受信したか否かを判断する受信判断部と、前記受信判断部によって前記コマンドを受信したと判断された場合に、スキャン処理を実行するスキャン実行手段と、前記スキャン実行手段によるスキャン処理により生成されたスキャンデータを、前記通信部を介して、前記情報処理装置に送信するスキャンデータ送信手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明のスキャン装置、および、スキャンプログラムでは、疑似画像ファイルへの情報処理装置による読み込みの有無が判断される。若しくは、情報処理装置によるファイルの読み込みを実行するためのコマンドを、スキャン装置が受信したか否かが判断される。そして、疑似画像ファイルへの情報処理装置による読み込みがあった場合、若しくは、ファイルの読み込みを実行するためのコマンドをスキャン装置が受信した場合に、スキャン処理が実行される。そして、スキャン処理により生成されたスキャンデータが、疑似画像ファイルに書き込まれる。若しくは、スキャンデータが情報処理装置に送信される。つまり、情報処理装置は、疑似画像ファイルへの読み込みを実行、若しくは、ファイルの読み込みを実行するためのコマンドを出力するだけで、スキャンデータを取得することが可能となる。これにより、ドライバを用いることなく情報処理装置がスキャン装置からスキャンデータを取得できる。
【図面の簡単な説明】
【０００８】
【図１】通信システム１のブロック図である。
【図２】スキャナ１０の動作フローチャートを示す図である。
【図３】スキャナ１０の動作フローチャートを示す図である。
【図４】スキャナ１０の動作フローチャートを示す図である。
【図５】スキャナ１０の動作フローチャートを示す図である。
【図６】スキャナ１０の動作フローチャートを示す図である。
【図７】スキャナ１０の動作フローチャートを示す図である。
【図８】スキャナ１０の動作フローチャートを示す図である。
【図９】第２実施形態のスキャナ１０の動作フローチャートを示す図である。
【図１０】第２実施形態のスキャナ１０の動作フローチャートを示す図である。
【図１１】第２実施形態のスキャナ１０の動作フローチャートを示す図である。
【図１２】第３実施形態のスキャナ１０の動作フローチャートを示す図である。
【図１３】第３実施形態のスキャナ１０の動作フローチャートを示す図である。
【図１４】第４実施形態のスキャナ１０の動作フローチャートを示す図である。
【図１５】第４実施形態のスキャナ１０の動作フローチャートを示す図である。
【発明を実施するための形態】
【０００９】
＜通信システムの構成＞
図１に、本願に係る第１実施形態として例示される通信システム１のブロック図を示す。通信システム１は、スキャナ（本発明のスキャン装置の一例）１０、ＰＣ（Personal computerの略）（本発明の情報処理装置の一例）３０、ＰＣ５０、ルーター５２を備える。
【００１０】
スキャナ１０の構成について説明する。スキャナ１０は、ＣＰＵ（Central Processing Unitの略）（本発明の制御部およびコンピュータの一例）１２、記憶部１４、パネル１６、ボタン入力部１８、読取部２０、ネットワークＩ／Ｆ（本発明の通信部の一例）２２、ＵＳＢ用Ｉ／Ｆ（本発明の通信部の一例）２３を主に備えている。これらの構成要素は、入出力ポート２４を介して互いに通信可能とされている。
【００１１】
パネル１６は、スキャナ１０の各種機能を表示する表示面を備える。ボタン入力部１８は、スキャナ１０の各機能を実行するためのキーであり、タッチパネルとして、パネル１６と一体に構成されていてもよい。読取部２０は、ＡＤＦ（Auto Document Feederの略）若しくは、フラットベッドに載置された原稿をスキャンして、画像データを作成する部位である。
【００１２】
ネットワークＩ／Ｆ２２は、ルーター５２を介して外部装置と通信するものであり、ルーター５２を介して、ＰＣ３０，５０に接続される。これにより、スキャナ１０は、ＰＣ３０，５０と各種データの送受信を行うことが可能である。なお、ルーター５２を介したスキャナ１０とＰＣ３０，５０との通信では、ＳＭＢ（Server Message Blockの略）プロトコルを用いた通信が行われる。
【００１３】
また、ＵＳＢ用Ｉ／Ｆ２３には、ＵＳＢケーブル２５が接続されており、ＵＳＢ用Ｉ／Ｆ２３は、ＵＳＢケーブル２５を介して、ＰＣ３０に接続される。これにより、スキャナ１０は、ＰＣ３０と各種データの送受信を行うことが可能である。ＵＳＢ用Ｉ／Ｆ２３は、ストレージクラスのインターフェースおよびベンダークラスのインターフェースを持つ。
【００１４】
ＣＰＵ１２は、記憶部１４内のスキャンプログラム（本発明のスキャンプログラムの一例）２６に従って処理を実行する。スキャンプログラム２６は、スキャン処理を実行するためのプログラムである。以降、スキャンプログラム２６など、プログラムを実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「スキャンプログラム２６が」という記載は、「スキャンプログラム２６を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１５】
なお、記憶部１４は、ＲＡＭ（Random Access Memoryの略）、ＲＯＭ（Read Only Memoryの略）、フラッシュメモリー、ＨＤＤ（ハードディスクの略）、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。また、記憶部１４は、データ記憶領域（本発明の記憶部の一例）２８を備える。データ記憶領域２８は、読取部２０により作成された画像データ、スキャンプログラム２６の実行に必要なデータなどを記憶する領域である。
【００１６】
ＰＣ３０の構成について説明する。ＰＣ３０は、ＣＰＵ３２、記憶部３４、ディスプレイ３６、キーボード３８、ネットワークＩ／Ｆ４０、ＵＳＢ用Ｉ／Ｆ４２を主に備えている。これらの構成要素は、入出力ポート４４を介して互いに通信可能とされている。
【００１７】
ディスプレイ３６は、ＰＣ３０の各種機能を表示する表示面を備える。キーボード３８は、ＰＣ３０の各機能を実行するためのキーを備える。
【００１８】
ネットワークＩ／Ｆ４０は、ルーター５２を介して外部装置と通信するものであり、ルーター５２を介して、スキャナ１０に接続される。これにより、ＰＣ３０は、スキャナ１０と各種データの送受信を行うことが可能である。なお、ルーター５２を介したスキャナ１０とＰＣ３０との通信では、ＳＭＢプロトコルを用いた通信が行われる。
【００１９】
また、ＵＳＢ用Ｉ／Ｆ４２には、ＵＳＢケーブル２５が接続されており、ＵＳＢ用Ｉ／Ｆ４２は、ＵＳＢケーブル２５を介して、スキャナ１０に接続される。これにより、ＰＣ３０は、スキャナ１０と各種データの送受信を行うことが可能である。なお、ＵＳＢケーブル２５を介したスキャナ１０とＰＣ３０との通信では、ＵＳＢストレージクラスを用いた通信が行われる。
【００２０】
ＣＰＵ３２は、記憶部３４内の画像処理プログラム４６に従って処理を実行する。画像処理プログラム４６は、画像データを処理するためのプログラムである。以降、画像処理プログラム４６など、プログラムを実行するＣＰＵ３２のことを、単にプログラム名でも記載する場合がある。例えば、「画像処理プログラム４６が」という記載は、「画像処理プログラム４６を実行するＣＰＵ３２が」ということを意味する場合がある。
【００２１】
なお、記憶部３４は、ＲＡＭ、ＲＯＭ、フラッシュメモリー、ＨＤＤ、ＣＰＵ３２が備えるバッファなどが組み合わされて構成されている。また、記憶部３４は、データ記憶領域（本発明の記憶部の一例）４８を備える。データ記憶領域４８は、スキャナ１０から取得した画像データ、画像処理プログラム４６の実行に必要なデータなどを記憶する領域である。
【００２２】
また、ＰＣ５０は、ＰＣ３０と略同じ構成であるが、ルーター５２を介して、スキャナ１０と接続されている。
【００２３】
＜名前付きパイプを利用したスキャン処理＞
ＰＣ３０の画像処理プログラム４６は画像データを読み込み、その画像データを処理するように構成されている。この画像処理プログラム４６はスキャナドライバのＡＰＩを呼び出す機能、及びスキャナを直接制御する機能はもたない。このようなプログラムは画像アップローダ等で一般的な構成である。そのような画像処理プログラムに対してスキャン画像を読み込ます構成として、本実施例では「名前付パイプ」（本発明の疑似画像ファイルの一例）を用いている。
【００２４】
この名前付パイプは下記のような特徴を有するファイルである。
（１）      書き込まれたデータは、書き込まれた順に読み出される。
（２）      読み出されたデータは消去される。
（３）      書き込み・ブロッキングモードでオープンを行うと、そのパイプに対して別プロセスから読み込みがあるまで、オープン処理が遅延する。 
この名前付パイプは、Ｕｎｉｘ，Ｌｉｎｕｘ（登録商標）にて一般的なものである。
【００２５】
スキャナ１０にはスキャンプログラム２６がインストールされており、そのスキャンプログラム２６を用いて名前付パイプを介して画像処理プログラム４６にスキャン画像を提供する。画像処理プログラム４６は、ＳＭＢプロトコル若しくは、ＵＳＢストレージクラスを用いて、通常の画像ファイルと同様に名前付パイプをファイルとして読み込むことによりスキャンデータを読み込む。この名前付パイプは、ＪＰＧなどの画像データを示す拡張子が付けられている。この拡張子が示す画像フォーマットは、スキャンデータの画像フォーマットと一致する。
【００２６】
ユーザはスキャナ１０のボタン入力部１８を操作することにより各種設定をおこなうことができる。その設定の一つにバックアップモードがある。これは名前付パイプを利用したスキャンデータをスキャナ１０のデータ記憶領域２８に記憶するモードである。
【００２７】
スキャン処理の設定値および、バックアップモードの設定が行われると、スキャンプログラム２６は、スキャナ１０のデータ記憶領域２８にディレクトリを作成し、異なるディレクトリの各々に、設定モードで設定されたスキャン処理の設定値を設定する。具体的には、例えば、２つのディレクトリを作成し、第１のディレクトリに、カラースキャンおよび、解像度２００×２００ｄｐｉの設定値を設定し、第２のディレクトリに、モノクロスキャンおよび、解像度４００×４００ｄｐｉの設定値を設定する。複数の設定がある場合は、それぞれに下位ディレクトリを作成して、それぞれに別の設定を割り当てる。
つまりスキャン設定はディレクトリにより階層的に管理される。
【００２８】
次に、作製されたディレクトリ毎に、名前付きパイプが作成される。詳しくは、スキャンプログラム２６の実行により、設定されているスキャン処理の設定値が読み込まれ、ディレクトリ毎にスキャン処理の設定値が抽出される。そして、スキャン処理の設定値に応じて、名前付きパイプが、ディレクトリ毎に作成される。なお、設定モードでバックアップモードが設定されている場合には、シリアルナンバーに関する情報が含まれたパイプ名の名前付きパイプが作成され、設定モードでバックアップモードが設定されていない場合には、シリアルナンバーに関する情報が含まれていないパイプ名の名前付きパイプが作成される。名前付きパイプが作成されると、作成された名前付パイプに対しブロッキングモードが指定されオープン処理が行われる。
【００２９】
スキャナ１０がＰＣ３０にＵＳＢ用Ｉ／Ｆ２３を介して接続されると、ＰＣ３０はスキャナ１０にディスクリプタを要求する。スキャナ１０はその要求に応答して自らがストレージクラスならびにベンダークラスを持つことを示すディスクリプタ要求に対する応答として送信する。ＰＣ３０はディスクリプタを受信すると、スキャナ１０が内部に記憶装置を有すると認識する。この結果、例えばＰＣ３０のＯＳがWindows（登録商標）であるならば、新たなドライブレター（例えばＥ：）を作成する。また、スキャナ１０がＰＣ３０にネットワークＩ／Ｆ２２を介して接続された場合は、ＳＭＢプロトコルなどのファイル共有プロトコルにより、同様に新たに記憶装置が接続されたと認識される。前記ディレクトリならびに名前付パイプは、このように認識されたあらたな記録装置に記憶されているものとしてＰＣ３０に認識される。
【００３０】
名前付きパイプが、ＰＣ３０の画像処理プログラム４６によって読み込まれた場合には、スキャンプログラム２６の実行により、その名前付きパイプに対応して設定されているスキャン処理の設定値が取得される。次に、取得された設定値に基づくスキャン処理がスキャンプログラム２６により実行され、スキャン処理により作成されたスキャンデータが読み込こまれる。そして、スキャンプログラム２６は、その読み取ったスキャンデータを、画像処理プログラム４６によって読み込まれた名前付きパイプに書き込む。このため、名前付きパイプに書き込まれたスキャンデータが、ＰＣ３０の画像処理プログラム４６を用いて取得される。つまり、ＰＣ３０の画像処理プログラム４６は通常の画像ファイルの読み込みと同じ操作にてスキャナ１０で作成されたスキャンデータを読み込むことができる。これにより、ドライバを用いることなくＰＣ３０は、スキャナ１０からスキャンデータを取得できる。また、ドライバを必要としないために、ＰＣ３０のアーキテクチャ（ＣＰＵの種類）、プラットフォーム（ＯＳの種類）に依存することなく、スキャンを実行できる。なお、ＰＣ３０による名前付きパイプへの読み込みは、ＳＭＢプロトコルとＵＳＢストレージクラスとの何れを利用してもよい。つまり、ＰＣ３０は、ルーター５２とＵＳＢケーブル２５との何れを介して、名前付きパイプを読み込むことが可能である。
【００３１】
そして、名前付きパイプに書き込まれたスキャンデータが、ＰＣ３０により取得されると、名前付きパイプが使用不能な状態とされる。つまり、名前付きパイプが閉鎖される。そして、名前付きパイプが、データ記憶領域２８から削除される。ただし、削除された名前付きパイプは、上述した手法により、再度、作成され、使用可能な状態とされる。また、バックアップモードが設定されている場合には、削除されるパイプに書き込まれたスキャンデータが、削除されるパイプ名と同じ名前で、データ記憶領域２８に記憶される。なお、新たに名前付きパイプが作成される際には、シリアル番号はインクリメントされる。これにより、読み込みに使用された名前付きパイプと同じ名前で、スキャンデータが残ることになる。
【００３２】
また、ＰＣ５０の画像処理プログラム４６はスキャナドライバのＡＰＩを呼び出す機能を備えており、画像処理プログラム４６の実行により、スキャナ１０にスキャン指令を送信することが可能となっている。このため、スキャナ１０は、ＰＣ５０からのスキャン指令を受信した場合に、スキャン処理を実行する。このＡＰＩを呼び出す機能を用いた読み込みは、スキャナ１０がＰＣ５０にＵＳＢを介して接続されている場合にあっては、前記ベンダークラスのインターフェースを介して行われる。また、スキャナ１０では、スキャナ１０のボタン入力部１８へのユーザ操作に従って、スキャン処理が実行される場合がある。具体的には、スキャナ１０のパネル１６には、通常、入力待ち画面（図示省略）が表示されており、その入力待ち画面には、スキャン処理実行ボタン（図示省略）が表示されている。そして、このスキャン処理実行ボタンへのユーザ操作により、スキャナ１０はスキャン処理を実行する。
【００３３】
このように、スキャナ１０では、名前付きパイプを利用したスキャン処理と、ＰＣ５０からのスキャン指令に従ったスキャン処理と、スキャナ１０のボタン操作に従ったスキャン処理を実行することが可能である。これら３種類のスキャン処理のうち、複数の処理が入力される場合があり、このような場合には、先に入力された処理が実行され、後に入力された処理は、待機させられる。
【００３４】
具体的には、例えば、名前付きパイプを利用したスキャン処理、若しくは、ＰＣ５０からのスキャン指令に従ったスキャン処理が実行されている際に、スキャナ１０のパネル１６には、入力待ち画面の代わりに、ＢＵＳＹ画面（図示省略）が表示される。ＢＵＳＹ画面には、スキャン処理中であるため、ボタン操作によるスキャン処理を実行できない旨のコメントが表示される。また、ＢＵＳＹ画面には、スキャン処理実行ボタンが表示されない。これにより、スキャナ１０のボタン操作に従ったスキャン処理が、待機させられる。
【００３５】
また、例えば、名前付きパイプを利用したスキャン処理、若しくは、スキャナ１０のボタン操作に従ったスキャン処理が実行されている際に、ＰＣ５０からスキャン指令を受信した場合には、スキャナ１０は、ＰＣ５０にＢＵＳＹステータスを送信する。これにより、ＰＣ５０のディスプレイ上にエラーが表示される。このため、ＰＣ５０のユーザは、他のユーザがスキャナ１０を使用していることが解り、スキャン処理を待機する。
【００３６】
また、例えば、ＰＣ５０からのスキャン指令に従ったスキャン処理、若しくは、スキャナ１０のボタン操作に従ったスキャン処理が実行されている際には、データ記憶領域２８に記憶されている全ての名前付きパイプのパーミッションを読取禁止にする。これにより、名前付きパイプへの読み込みができなくなり、読み込み処理の際にエラーが表示される。これによりユーザは他のユーザがスキャナ１０を使用していることが解り、スキャン処理を待機する。
【００３７】
また、名前付きパイプを利用したスキャン処理と、ＰＣ５０からのスキャン指令に従ったスキャン処理と、スキャナ１０のボタン操作に従ったスキャン処理とのうち、１つの処理が実行されている際に、残りの２つの処理の開始トリガが入力される場合がある。例えば、スキャナ１０のボタン操作に従ったスキャン処理が実行されている際に、ＰＣ５０からのスキャン指令の受信と、名前付きパイプへの読み込みとが行われる場合がある。このような場合には、予め設定された優先ルールに従って、名前付きパイプを利用したスキャン処理、とＰＣ５０からのスキャン指令に従ったスキャン指令との一方が、他方に優先して実行させることもできる。
【００３８】
この場合、優先ルールは、任意に設定することが可能である。例えば、名前付きパイプを利用したスキャン処理（名前付きパイプへの読み込みがＵＳＢストレージクラスを利用した場合）を、ＰＣ５０からのスキャン指令に従ったスキャン処理、名前付きパイプを利用したスキャン処理（名前付きパイプへの読み込みがＳＭＢプロトコルを利用した場合）より優先してもよい。また、スキャナ１０のボタン操作に従ったスキャン処理を、名前付きパイプを利用したスキャン処理より優先してもよい。さらに、名前付きパイプを利用したスキャン処理（名前付きパイプへの読み込みがＳＭＢプロトコルを利用した場合）と、ＰＣ５０からのスキャン指令に従ったスキャン処理とでは、開始トリガの入力の早いほうを優先してもよい。
【００３９】
＜スキャンプログラム＞
上述した名前付きパイプを利用したスキャン処理と、ＰＣ５０からのスキャン指令に従ったスキャン処理と、スキャナ１０のボタン操作に従ったスキャン処理の各々は、スキャナ１０のＣＰＵ１２においてスキャンプログラム２６が実行されることによって行われる。以下に、図２乃至図８を用いて、ＣＰＵ１２でスキャンプログラム２６が実行される際のフローを説明する。なお、設定モードでのフローは本発明の本質と離れるのでここでは説明を省略する。
【００４０】
スキャンプログラム２６はスキャナ１０が立ち上がると直ちに実行される。スキャンプログラム２６が実行されると、まず、スキャナ１０のデータ記憶領域２８に、スキャン設定に対応したディレクトリが作成される（ステップ（以下、「Ｓ」と略す）１００）。この際、ディレクトリ毎に、設定モードで設定されたスキャン処理の設定値が設定される。例えば印刷設定として解像度３００ＤＰＩ／６００ＤＰＩ、スキャンモードとしてカラー／モノクロがあるならば
…/RESO300dpi/color
…/RESO300dpi/mono
…/RESO600dpi/color
…/RESO600dpi/mono
のような形でディレクトリが作成される。
【００４１】
次に、上記ディレクトリの最下層に対応してパイプ監視プロセスが作成される（Ｓ１０２）。次に、図２に示すように、Ｓ１００で作成されたデータ記憶領域２８の各ディレクトリの全てのパイプ監視プロセスが作成されたか否かが、ＣＰＵ１２によって判断される（Ｓ１０４）。全ての監視プロセスが作成されていない場合（Ｓ１０４のＮＯ）には、Ｓ１０２に戻る。一方、全ての監視プロセスが作成された場合（Ｓ１０４のＹＥＳ）には、コマンド監視プロセスが作成される（Ｓ１０６）。次に、パネル操作監視プロセスが作成される（Ｓ１０８）、次に、排他監視・パーミッション設定プロセスが作成される（Ｓ１１０）。以上の処理により、作成された複数のパイプ監視プロセス、コマンド監視プロセス、パネル操作監視プロセス、排他監視・パーミッション設定プロセスが並行して動作することになる。
【００４２】
パイプ監視プロセスでは、図３に示すように、ディレクトリ毎に設定されているスキャン処理の設定値が読み取られる（Ｓ１２０）。次に、設定モードにおいて、バックアップモードが設定されているか否かが、ＣＰＵ１２によって判断される（Ｓ１２２）。バックアップモードが設定されていない場合（Ｓ１２２のＮＯ）には、固定のパイプ名の名前付きパイプが、対応するディレクトリに作成される（Ｓ１２４）。たとえば、このパイプ監視プロセスがディレクトリ「/RESO300dpi/color」に対応づけられて作成されたものであるならば、この名前付きパイプは「/RESO300dpi/color」に作成されることになる。一方、バックアップモードが設定されている場合（Ｓ１２２のＹＥＳ）には、シリアルナンバーに関する情報が含まれたパイプ名の名前付きパイプが該ディレクトリに作成される（Ｓ１２６）。
【００４３】
名前付きパイプが作成されると、パイプオープン処理が実行される（Ｓ１２８）。この処理では、書き込みオンリーのモードでかつブロッキングモードが指定される。ブロッキングモードとは書き込み可能となるまで関連する処理を停止するモードであり、このモードでオープンされた場合に、このオープン処理はその名前付パイプに対して読み込みがあるまでブロッキング（処理停止）状態となる。このオープン処理を終了すると、換言すれば名前付パイプに対して外部（ＰＣ３０の画像処理プログラム４６）から読み込み要求があると、パイプオープン処理が終了し、Ｓ１３０に進む。
【００４４】
次に、排他処理中であるか否かが、ＣＰＵ１２によって判断される（Ｓ１３０）。排他処理とは、スキャン処理の開始トリガが入力された場合、ここでは、名前付きパイプに対して外部から読み込み要求があった場合に、既にスキャン処理が実行されていることを条件として、開始トリガによるスキャン処理が実行されないようにする処理であり、他のステップにおいて、排他処理が開始される。
【００４５】
排他処理中である場合（Ｓ１３０のＹＥＳ）には、排他処理が終了するまで待機し（Ｓ１３２）、排他処理が終了した後に、Ｓ１３４に進む。一方、排他処理中でない場合（Ｓ１３０のＮＯ）にも、Ｓ１３４に進む。Ｓ１３４において、ＣＰＵ１２は排他処理を開始する（Ｓ１３４）。そして、読み込まれた名前付きパイプを記憶しているディレクトリに設定されているスキャン処理の設定値に応じたスキャン処理が実行される（Ｓ１３６）。次に、スキャン処理により生成されたスキャンデータが、名前付きパイプに書き込まれる（Ｓ１３８）。
【００４６】
続いて、名前付きパイプが読み込まれてから所定の時間を時間、経過したか否かが、ＣＰＵ１２によって判断される（Ｓ１４０）。所定時間経過していない場合（Ｓ１４０のＮＯ）には、全てのスキャン処理が終了したか否かが、ＣＰＵ１２によって判断される（Ｓ１４２）。全てのスキャン処理が終了していない場合（Ｓ１４２のＮＯ）には、Ｓ１３６に戻る。一方、全てのスキャン処理が終了した場合（Ｓ１４２のＹＥＳ）には、Ｓ１４４に進む。また、Ｓ１４０で所定時間経過している場合（Ｓ１４０のＹＥＳ）にも、Ｓ１４４に進む。この場合はエラーとして不完全な画像がＰＣ３０に読み込まれることになるが、通常その場合は読み込んだアプリケーションにより不正画像としてエラー処理されることになる。
【００４７】
Ｓ１４４において、ＣＰＵ１２は、排他処理を終了する（Ｓ１４４）。そして、スキャン処理に用いられた名前付きパイプが使用不能な状態にされる（Ｓ１４６）。つまり、閉鎖される。次に、閉鎖された名前付きパイプが、ディレクトリから削除される（Ｓ１４８）。続いて、バックアップモードが設定されているか否かが、ＣＰＵ１２によって判断される（Ｓ１５０）。バックアップモードが設定されている場合には（Ｓ１５０のＹＥＳ）、削除された名前付きパイプのパイプ名と同じ名前で、スキャンデータが記憶される（Ｓ１５２）。そして、シリアル番号がインクリメントされる（Ｓ１５４）。そして、Ｓ１２２に戻る。
【００４８】
コマンド監視プロセスでは、図６に示すように、ＰＣ５０等の外部装置からスキャン指令等のコマンドが入力されたか否かが、ＣＰＵ１２によって判断される（Ｓ１６０）。コマンドが入力されていない場合（Ｓ１６０のＮＯ）には、Ｓ１６０の処理が繰り返される。一方、コマンドが入力されている場合（Ｓ１６０のＹＥＳ）には、排他処理中であるか否かが、ＣＰＵ１２によって判断される（Ｓ１６２）。排他処理中である場合（Ｓ１６２のＹＥＳ）には、ＢＵＳＹステータスがコマンドの送信元の外部装置に送信される（Ｓ１６４）。そして、Ｓ１６０に戻る。
【００４９】
一方、排他処理中でない場合（Ｓ１６２のＮＯ）には、ＣＰＵ１２は、排他処理を開始する（Ｓ１６６）。そして、コマンドに応じたスキャン処理が実行される（Ｓ１６８）。次に、スキャン処理により生成されたスキャンデータが、コマンドの送信元の外部装置に送信される（Ｓ１７０）。続いて、ＣＰＵ１２は、排他処理を終了する（Ｓ１７２）。そして、Ｓ１６０に戻る。
【００５０】
パネル操作監視プロセスでは、図７に示すように、排他処理中であるか否かが、ＣＰＵ１２によって判断される（Ｓ１８０）。排他処理中である場合（Ｓ１８０のＹＥＳ）には、ＢＵＳＹ画面がスキャナ１０のパネル１６に表示される（Ｓ１８２）。そして、Ｓ１８０に戻る。
【００５１】
一方、排他処理中でない場合（Ｓ１８０のＮＯ）には、入力待ち画面がスキャナ１０のパネル１６に表示される（Ｓ１８４）。次に、入力待ち画面において、スキャン処理実行ボタンが操作されたか否かが、ＣＰＵ１２によって判断される（Ｓ１８６）。スキャン処理実行ボタンが操作された場合（Ｓ１８６のＹＥＳ）には、ＣＰＵ１２は、排他処理を開始する（Ｓ１８８）。そして、スキャン処理が実行される（Ｓ１９０）。次に、スキャン処理により生成されたスキャンデータが、予め登録された外部装置に送信される（Ｓ１９２）。続いて、ＣＰＵ１２は、排他処理を終了する（Ｓ１９４）。そして、Ｓ１８０に戻る。なお、Ｓ１８６でスキャン処理実行ボタンが操作されていない場合（Ｓ１８６のＮＯ）にも、Ｓ１８０に戻る。
【００５２】
排他監視・パーミッション設定プロセスでは、図８に示すように、排他状況の切替え待ちが実行される（Ｓ２００）。そして、排他状況が切り替えられた結果、現在、排他処理中であるか否かが、ＣＰＵ１２によって判断される（Ｓ２０２）。現在、排他処理中である場合（Ｓ２００のＹＥＳ）には、名前付きパイプのパーミッションが読取禁止にされ（Ｓ２０４）、Ｓ２００に戻る。なお、このパイプ読み取り禁止処理Ｓ２０４は、その排他処理がＳ１３４の処理により発生した場合、換言すればパイプに対する読み取りにより発生した場合は、その対象となる現在読み取りが行われているパイプに対しては読み取り禁止処理の対象外とする。一方、現在、排他処理中でない場合（Ｓ２００のＮＯ）には、名前付きパイプのパーミッションが読取可能にされ（Ｓ２０６）、Ｓ２００に戻る。
【００５３】
なお、Ｓ１２８を実行するＣＰＵ１２は、読み込み判断手段の一例である。Ｓ１３６を実行するＣＰＵ１２は、スキャン実行手段の一例である。Ｓ１３８を実行するＣＰＵ１２は、スキャンデータ書き込み手段の一例である。Ｓ１２４、Ｓ１２６を実行するＣＰＵ１２は、疑似画像ファイル作成手段の一例である。Ｓ１４６を実行するＣＰＵ１２は、疑似画像ファイル閉鎖手段の一例である。Ｓ２０４を実行するＣＰＵ１２は、制限手段の一例である。Ｓ２０６を実行するＣＰＵ１２は、解除手段の一例である。
【００５４】
＜第２実施形態＞
上記実施形態では、名前付きパイプがスキャナ１０のデータ記憶領域２８に作成されているが、ＰＣ３０のデータ記憶領域４８に名前付きパイプを作成することが可能である。詳しくは、スキャナ１０とＰＣ３０との間で、ＳＭＢプロトコルの認証が行われる。この認証が成功した場合には、スキャナ１０は、ＰＣ３０のパーミッションを取得し、ＰＣ３０のパーミッションに基づいて、ＰＣ３０のデータ記憶領域４８に各種データを書き込むことが可能であるか否かを判断する。そして、データ記憶領域４８に各種データを書き込むことが可能である場合に、スキャナ１０は、ＰＣ３０のデータ記憶領域４８に名前付きパイプを作成する。なお、スキャナ１０とＰＣ３０との間でのＳＭＢプロトコルの認証が成功しなかった場合、および、データ記憶領域４８に各種データを書き込むことが不可能な場合には、スキャナ１０のパネル１６にエラー画面が表示される。
【００５５】
ＰＣ３０のデータ記憶領域４８に名前付きパイプが作成されると、第１実施形態と同様に、パイプオープン処理が行われる。そして、名前付パイプに対してＰＣ３０の画像処理プログラム４６から読み込み要求があると、パイプオープン処理が終了し、スキャナ１０は、スキャン処理を実行する。スキャン処理により生成されたスキャンデータは、ＳＭＢプロトコルを利用して、ＰＣ３０のデータ記憶領域４８に作成されている名前付きパイプに書き込まれる。このように、ＰＣ３０のデータ記憶領域４８に名前付きパイプを作成することでも、第１実施形態と同様の効果を得ることが可能である。
【００５６】
以下に、上述した第２実施形態の処理を実行するべく、ＣＰＵ１２でスキャンプログラム２６が実行される際のフローを、図９ないし図１１を用いて説明する。なお、下記で説明するフローは、パイプ監視プロセスであり、図２のフロー中のパイプ監視プロセスの代わりに実行される。なお、本パイプ監視プロセスは、バックアップモードが設定されている条件下で行われているものとする。
【００５７】
本パイプ監視プロセスでは、図９に示すように、ディレクトリ毎に設定されているスキャン処理の設定値が読み取られる（Ｓ２１０）。次に、スキャナ１０とＰＣ３０との間で、ＳＭＢプロトコルの認証が行われる（Ｓ２１２）。続いて、ＳＭＢプロトコルの認証が成功したか否かかが、ＣＰＵ１２によって判断される（Ｓ２１４）。ＳＭＢプロトコルの認証が成功した場合（Ｓ２１４のＹＥＳ）には、スキャナ１０は、ＰＣ３０のパーミッションを取得する（Ｓ２１６）。
【００５８】
そして、取得したパーミッションに基づいて、ＰＣ３０のデータ記憶領域４８に各種データを書き込むことができるか否かが、ＣＰＵ１２によって判断される（Ｓ２１８）。ＰＣ３０のデータ記憶領域４８に各種データを書き込むことが可能である場合（Ｓ２１８のＹＥＳ）には、シリアルナンバーに関する情報が含まれたパイプ名の名前付きパイプが、データ記憶領域４８のディレクトリに作成される（Ｓ２２０）。
【００５９】
名前付きパイプが作成されると、排他処理中であるか否かが、ＣＰＵ１２によって判断される（Ｓ２２２）。排他処理中である場合（Ｓ２２２のＹＥＳ）には、排他処理が終了するまで待機し（Ｓ２２４）、排他処理が終了した後に、Ｓ２２６に進む。一方、排他処理中でない場合（Ｓ２２２のＮＯ）にも、Ｓ２２６に進む。Ｓ２２６において、パイプオープン処理が実行される（Ｓ２２６）。そして、Ｓ２２８以降の処理が実行されるが、Ｓ２２８以降の処理は、第１実施形態のパイプ監視プロセスのＳ１３６〜Ｓ１４８、Ｓ１５２、Ｓ１５４と同じ処理であることから、説明を省略する。
【００６０】
なお、Ｓ２１４でＳＭＢプロトコルの認証が成功しなかった場合（Ｓ２１４のＮＯ）若しくは、Ｓ２１８でＰＣ３０のデータ記憶領域４８に各種データを書き込むことが不可能である場合（Ｓ２１８のＮＯ）には、スキャナ１０のパネル１６にエラー画面が表示され（Ｓ２４６）、Ｓ２１２に戻る。
【００６１】
なお、Ｓ２２６を実行するＣＰＵ１２は、読み込み判断手段の一例である。Ｓ２２８を実行するＣＰＵ１２は、スキャン実行手段の一例である。Ｓ２３０を実行するＣＰＵ１２は、スキャンデータ書き込み手段の一例である。Ｓ２２０を実行するＣＰＵ１２は、疑似画像ファイル作成手段の一例である。Ｓ２３８を実行するＣＰＵ１２は、疑似画像ファイル閉鎖手段の一例である。
【００６２】
＜第３実施形態＞
本実施形態では、ユーザが使用しないと想定される名前付きパイプを、削除することが可能である。例えば、スキャナ１０に何らかのエラーが発生し、エラー発生の箇所に応じて特定のスキャン処理ができない場合には、その特定のスキャン処理に関して設定されているディレクトリが検索され、検索されたディレクトリに記憶されている名前付きパイプが削除される。具体的には、ＡＤＦが故障し、ＡＤＦに載置された原稿のスキャン処理ができない場合には、ＡＤＦに載置された原稿のスキャン処理に関して設定されているディレクトリが検索され、その検索されたディレクトリに記憶されている名前付きパイプが削除される。そして、そのディレクトリにエラーメッセージが書き込まれたテキストファイルを作成する。これにより、例えば、ユーザがスキャンを行うためにそのディレクトリにＰＣ３０から読み込みを行った場合に、ユーザはそのディレクトリに疑似画像ファイルであるパイプの代わりにテキストファイルを発見することになる。エラーメッセージには、ＡＤＦが故障しているため、ＡＤＦを用いたスキャン処理ができない旨のコメントが含まれており、ＰＣ３０のユーザは、ＡＤＦを用いたスキャン処理ができないことを認知する。
【００６３】
そして、エラーが解除され、エラー解除に応じて特定のスキャン処理を再開できる場合には、その特定のスキャン処理に関して設定されているディレクトリが検索され、検索されたディレクトリのエラーメッセージが書き込まれたテキストファイルが削除される。そして、そのディレクトリに再度、名前付きパイプが作成される。具体的には、ＡＤＦの故障が直った場合には、ＡＤＦに載置された原稿のスキャン処理に関して設定されているディレクトリが検索され、その検索されたディレクトリのテキストファイルが削除される。そして、そのディレクトリに、再度、名前付きパイプが作成される。これにより、名前付きパイプを利用したスキャン処理において、ＡＤＦに載置された原稿のスキャン処理を行うことが可能となる。
【００６４】
また、エラーが発生した場合だけでなく、名前付きパイプを利用したスキャン処理が実行されている際に、そのスキャン処理の対象となっている名前付きパイプ以外の名前付きパイプも削除される。そして、削除された名前付きパイプが記憶されていたディレクトリにＢＵＳＹメッセージが書き込まれたテキストファイルが作成される。ＢＵＳＹメッセージには、スキャン処理実行中であるため新たなスキャン処理を受け付けできない旨のコメントが含まれており、ＰＣ３０のユーザは、現在、スキャン処理ができないことを認知する。
【００６５】
そして、そのスキャン処理が終了すると、先に削除された名前付きパイプが、再度、作成される。また、再作成された名前付きパイプを記憶するディレクトリのテキストファイルが削除される。これにより、再度、名前付きパイプを利用したスキャン処理を実行することが可能となる。
【００６６】
以下に、上述した第３実施形態の処理を実行するべく、ＣＰＵ１２でスキャンプログラム２６が実行される際のフローを、図１２および１３を用いて説明する。なお、下記で説明するフローは、スキャナ監視プロセスであり、図２を用いて説明したフローの、例えばＳ１１０の後において、作成することが可能である。スキャナ監視プロセスでは、図１２に示すように、スキャナ１０において、何らかのエラーが発生しているか否かが、ＣＰＵ１２によって判断される（Ｓ２８０）。
【００６７】
エラーが発生している場合（Ｓ２８０のＹＥＳ）には、そのエラーに関係する設定値が設定されているディレクトリが検索される（Ｓ２８２）。そして、検索されたディレクトリに記憶されている名前付きパイプが削除される（Ｓ２８４）。次に、削除された名前付きパイプを記憶していたディレクトリにエラーメッセージが書き込まれたテキストファイルを作成する（Ｓ２８６）。そして、Ｓ２８０に戻る。
【００６８】
また、Ｓ２８０でエラーが発生していない場合（Ｓ２８０のＮＯ）には、発生していたエラーが解除されたか否かが、ＣＰＵ１２によって判断される（Ｓ２８８）。エラーが解除された場合（Ｓ２８８のＹＥＳ）には、解除されたエラーに関係する設定値が設定されているディレクトリが検索される（Ｓ２９０）。そして、検索されたディレクトリのテキストファイルが削除される（Ｓ２９２）。次に、検索されたディレクトリに、名前付きパイプが再作成される（Ｓ２９４）。そして、Ｓ２８０に戻る。
【００６９】
Ｓ２８８でエラーが解除されていない場合（Ｓ２８８のＮＯ）には、名前付きパイプを利用したスキャン処理が実行中であるか否かが、ＣＰＵ１２によって判断される（Ｓ２９６）。スキャン処理が実行中である場合（Ｓ２９６のＹＥＳ）には、実行中のスキャン処理に対応する名前付きパイプ以外の全ての名前付きパイプが削除される（Ｓ２９８）。そして、削除された名前付きパイプのディレクトリのＢＵＳＹメッセージが書き込まれたテキストファイルを作成する（Ｓ３００）。そして、Ｓ２８０に戻る。
【００７０】
Ｓ２９６で名前付きパイプを利用したスキャン処理が実行中でない場合（Ｓ２９６のＮＯ）には、名前付きパイプを利用したスキャン処理が終了したか否かが、ＣＰＵ１２によって判断される（Ｓ３０２）。スキャン処理が終了した場合（Ｓ３０２のＹＥＳ）には、エラーメッセージが書き込まれていないディレクトリに、名前付きパイプが再作成される（Ｓ３０４）。そして、全てのディレクトリのＢＵＳＹメッセージのテキストファイルが削除される（Ｓ３０６）。そして、Ｓ２８０に戻る。
【００７１】
なお、Ｓ２８０を実行するＣＰＵ１２は、状態取得手段の一例である。Ｓ２８４を実行するＣＰＵ１２は、疑似画像ファイル削除手段の一例である。上記の実施形態では、スキャンの阻害要因（エラー・ビジー）を同時検出しないものとして説明した。しかし同時検出し得るようにすることも可能である。その場合は、既にエラーメッセージが書き込まれたテキストファイルがある場合は、新たに検出した別の要因のメッセージを追記するようにする。その場合、スキャン阻害要因が解除された場合は、その解除された要因に関連するエラーメッセージのみを削除するようにする。そしてすべてのエラーメッセージが削除された場合に、そのテキストファイルを削除するとともに、そのディレクトリに名前付パイプを再作成する。
【００７２】
＜第４実施形態＞
上記実施形態では、名前付きパイプ、つまり、仮想的に設けられている疑似画像ファイルを利用したスキャン処理が実行されるが、ファイルシステムに対する処理コマンドを監視し、必要に応じてその処理を変えることにより実現することも可能である。通常ＵＳＢにて接続されている場合にあってはストレージクラスのコマンドによりファイル処理が行われる。またネットワーク接続にあってはＳＭＢプロトコルに従ったコマンドによりファイル処理が行われる。それらのコマンドを監視して、ファイル読み取り要求があったと判断される場合に、その応答として読み取られた画像のファイルを返す。詳しくは、スキャナ１０のデータ記憶領域２８に記憶されているディレクトリには、予め空の画像ファイル（以下、「スキャン起動ファイル」と記載する場合がある）が作成されている。このスキャン起動ファイルは、ＪＰＧなどの画像データを示す拡張子が付けられている。この拡張子が示す画像フォーマットは、スキャンデータの画像フォーマットと一致する。そして、そのスキャン起動ファイルへの読み込みが行われた場合に、スキャン処理が実行される。なお、スキャン起動ファイルへの読み込みが行われたか否かの判定は、実際に、スキャン起動ファイルが読み込まれたか否か、つまり、スキャン起動ファイルへのアクセスが有ったか否かにより判定されるのではなく、スキャン起動ファイルへの読み込みが行わる際のコマンドに基づいて、行われる。つまり、スキャナ１０に入力されるコマンドが監視されており、入力されたコマンドの対象が、スキャン起動ファイルであるか否かが、判定される。そして、コマンドの対象が、スキャン起動ファイルである場合には、コマンドの内容が、ファイルの読み込みであるか否かが判定され、コマンドの内容がファイルの読み込みである場合に、スキャン起動ファイルへの読み込みが行われたと判定される。
【００７３】
スキャン起動ファイルへの読み込みが行われたと判定された場合に、スキャナ１０は、スキャン処理を実行する。そして、スキャン処理により生成されたスキャンデータのファイルが、コマンドの送信元の外部装置に読み込み処理の対象となったファイルとして送信される。このように、名前付きパイプではなく、通常のファイルを用いることでも、第１実施形態と同様の効果を得ることが可能である。
【００７４】
以下に、上述した第４実施形態の処理を実行するべく、ＣＰＵ１２でスキャンプログラム２６が実行される際のフローを、図１４および図１５を用いて説明する。なお、下記で説明するフローは、ファイル監視プロセスであり、図２のフローにおいて、パイプ監視プロセスの代わりに作成される。またこのフローは概念を説明するものであり、実際のＵＳＢストレージクラスのコマンドあるいはＳＭＢプロトコルのコマンドとは一致しない。
【００７５】
ファイル監視プロセスでは、図１４に示すように、スキャナ１０へのファイルに対するＳＭＢプロトコルあるいはＵＳＢストレージクラスのコマンドの入力待ちが行われる（Ｓ２５０）。次に、入力されたコマンドの対象がスキャン起動ファイルであるか否かが、ＣＰＵ１２によって判断される（Ｓ２５２）。コマンドの対象がスキャン起動ファイルである場合（Ｓ２５２のＹＥＳ）には、コマンドの内容がファイルの読み込みであるか否かが、ＣＰＵ１２によって判断される（Ｓ２５４）。コマンドの内容がファイルの読み込みである場合（Ｓ２５４のＹＥＳ）には、ＣＰＵ１２は、排他処理を開始する（Ｓ２５６）。
【００７６】
そして、スキャン起動ファイル内にスキャンデータが有るか否かが、ＣＰＵ１２によって判断される（Ｓ２６０）。このファイルは初期値としては空の画像ファイルであるが、すでにこの機能が使われている場合は、前回スキャンされた画像が記憶されている場合がある。スキャン起動ファイル内にスキャンデータが有る場合（Ｓ２６０のＹＥＳ）には、そのスキャンデータが削除され（Ｓ２６２）、Ｓ２６４に進む。一方、スキャン起動ファイル内にスキャンデータがない場合（Ｓ２６０のＹＥＳ）には、Ｓ２６２の処理がスキップされ、Ｓ２６４に進む。そして、Ｓ２６４では、スキャン処理が実行される（Ｓ２６４）。
【００７７】
次に、スキャン処理により、スキャンデータが作成され（Ｓ２６６）、作成されたスキャンデータがスキャン起動ファイルとして記憶される。そして、コマンドの送信元の外部装置にファイル読み込み処理の応答として送信される（Ｓ２６８）。そして、ＣＰＵ１２は、排他処理を終了する（Ｓ２７０）。そして、Ｓ２５０に戻る。
【００７８】
また、Ｓ２５２でコマンドの対象がスキャン起動ファイルでない場合（Ｓ２５２のＮＯ）若しくは、Ｓ２５４でコマンドの内容がファイルの読み込みでない場合（Ｓ２５４のＮＯ）には、コマンドに応じた通常の処理が行われる（Ｓ２５８）。そして、Ｓ２５０に戻る。
【００７９】
なお、Ｓ２５２、Ｓ２５４を実行するＣＰＵ１２は、受信判断手段の一例である。Ｓ２６４を実行するＣＰＵ１２は、スキャン実行手段の一例である。Ｓ２６８を実行するＣＰＵ１２は、スキャンデータ送信手段の一例である。
【００８０】
なお、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、ＰＣ３０での画像処理プログラム４６の実行により名前付きパイプに読み込みがあった場合にスキャンデータが取得されているが、文書作成プログラム，印刷処理プログラム等、種々のプログラム実行時の名前付きパイプへの読み込みにより、スキャンデータを取得することが可能である。
【００８１】
また、上記実施形態では、ＰＣ５０からのスキャン指令に従ったスキャン処理が実行される際に、スキャナ１０が、ＰＣ５０からスキャン指令を受信した場合に排他処理が開始されているが、ＰＣ５０でスキャナドライバが実行された場合に、ＰＣ５０が所定の信号をスキャナ１０に送信し、スキャナ１０は、その所定の信号を受信したら、排他処理を開始することが可能である。つまり、スキャナ１０は、ＰＣ５０でのスキャナドライバの実行により、排他処理を開始することが可能である。
【００８２】
また、上記実施形態では、ＣＰＵ１２によって図２乃至図１５に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵやＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【００８３】
１０：ＰＣ（情報処理装置）
１２：ＣＰＵ（制御部）（コンピュータ）
１４：記憶部
２０：無線ＬＡＮＩ／Ｆ（通信部）
３２：画像処理プログラム（所定のプログラム）
３４：スキャンプログラム
２６：マウス（入力部）
６０：スキャナ（スキャン装置）
１７０：読み込み判断手段
１７２：スキャン指令送信手段
１７４：スキャンデータ受信手段
１７６：スキャンデータ書き込み手段
１７８：疑似画像ファイル作成手段
１８０：第１疑似画像ファイル削除手段
１８２：第２疑似画像ファイル削除手段
１８４：第１記憶制御手段
１８６：第２記憶制御手段
１８８：疑似画像ファイル閉鎖手段
１９０：画面表示手段
１９２：設定値受信手段
１９４：エラーデータ書き込み手段
【図１】
2015192162.tif 000003
【図２】
2015192162.tif 000004
【図３】
2015192162.tif 000005
【図４】
2015192162.tif 000006
【図５】
2015192162.tif 000007
【図６】
2015192162.tif 000008
【図７】
2015192162.tif 000009
【図８】
2015192162.tif 000010
【図９】
2015192162.tif 000011
【図１０】
2015192162.tif 000012
【図１１】
2015192162.tif 000013
【図１２】
2015192162.tif 000014
【図１３】
2015192162.tif 000015
【図１４】
2015192162.tif 000016
【図１５】
2015192162.tif 000017