(57)【特許請求の範囲】
【請求項１】
スキャナであって、
原稿台と、
スキャン実行部と、
メモリと、
第１の外部装置からネットワークを介して第１のスキャン設定情報を含む第１のジョブ生成要求が取得される場合に、第１のジョブＩＤを生成して、前記第１のジョブＩＤを含む第１の応答を前記第１の外部装置に供給する第１の応答供給部と、
前記第１の外部装置から前記ネットワークを介して前記第１のジョブ生成要求が取得された後に、前記第１の外部装置から前記第１のジョブＩＤを含む第１のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報に従って、前記原稿台に載置される第１の原稿のスキャンを前記スキャン実行部に実行させて、第１のスキャンデータを生成するスキャンデータ生成部と、
前記第１のスキャンデータを前記第１の外部装置に供給するスキャンデータ供給部と、
前記第１のスキャンデータと前記第１のスキャン設定情報とを前記メモリに記憶させる第１のメモリ制御部と、
前記第１の外部装置から第２のスキャン設定情報を含む第２のジョブ生成要求が取得される場合に、前記第１のジョブＩＤとは異なる第２のジョブＩＤを生成して、前記第２のジョブＩＤを含む第２の応答を前記第１の外部装置に供給する第２の応答供給部と、
前記第１のスキャンデータと前記第１のスキャン設定情報とが前記メモリに記憶されている状態で、前記第１の外部装置から前記ネットワークを介して前記第２のジョブ生成要求が取得された後に、前記第１の外部装置から前記第２のジョブＩＤを含む第２のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致するのか否かを判断する判断部と、を備え、
前記スキャンデータ生成部は、
前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致しないと判断される第１の場合に、前記第２のスキャン設定情報に従って、前記原稿台に載置される第２の原稿のスキャンを前記スキャン実行部に実行させて、第２のスキャンデータを生成し、
前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致すると判断される第２の場合に、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させず、
前記スキャンデータ供給部は、
前記第１の場合に、前記第２のスキャンデータ生成要求の供給元である前記第１の外部装置に前記第２のスキャンデータを供給し、
前記第２の場合に、前記第２のスキャンデータ生成要求の供給元である前記第１の外部装置に、前記第２のジョブＩＤを含む前記第２のスキャンデータ生成要求が取得されたにも関わらず、前記第１のジョブＩＤを含む前記第１のスキャンデータ生成要求が取得された際に生成された前記メモリ内の前記第１のスキャンデータを供給する、
スキャナ。
【請求項２】
前記スキャナは、さらに、
前記第１の原稿の前記スキャンが終了した後に、前記第１の原稿を前記スキャナから取り除くためのユーザ動作を検知する検知部を備え、
前記スキャンデータ生成部は、
前記ユーザ動作が検知される前に、前記第２のスキャンデータ生成要求が取得される場合において、前記第１の場合に、前記第２のスキャン設定情報に従って、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第２のスキャンデータを生成し、
前記ユーザ動作が検知される前に、前記第２のスキャンデータ生成要求が取得される場合において、前記第２の場合に、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させず、
前記ユーザ動作が検知された後に、前記第２のスキャンデータ生成要求が取得される第３の場合に、前記第２のスキャン設定情報に従って、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第２のスキャンデータを生成し、
前記スキャンデータ供給部は、前記第３の場合に、前記第２のスキャンデータ生成要求の供給元である前記第１の外部装置に前記第２のスキャンデータを供給する、請求項１に記載のスキャナ。
【請求項３】
前記スキャナは、さらに、
前記ユーザ動作が検知される場合に、前記メモリから前記第１のスキャンデータと前記第１のスキャン設定情報とを消去する第２のメモリ制御部を備え、
前記第３の場合は、前記メモリ内に前記第１のスキャンデータと前記第１のスキャン設定情報とが記憶されていない状態で、前記第２のスキャンデータ生成要求が取得されることを含む、請求項２に記載のスキャナ。
【請求項４】
前記第１のスキャン設定情報は、特定のスキャン設定として第１の設定値を含み、
前記第２のスキャン設定情報は、前記特定のスキャン設定として第２の設定値を含み、
前記判断部は、
前記第１の設定値を含む所定の数値範囲内に前記第２の設定値が含まれる場合に、前記第１のスキャン設定情報に含まれる前記特定のスキャン設定と、前記第２のスキャン設定情報に含まれる前記特定のスキャン設定と、が一致すると判断し、
前記所定の数値範囲内に前記第２の設定値が含まれない場合に、前記第１のスキャン設定情報に含まれる前記特定のスキャン設定と、前記第２のスキャン設定情報に含まれる前記特定のスキャン設定と、が一致しないと判断する、請求項１から３のいずれか一項に記載のスキャナ。
【請求項５】
前記第１のジョブ生成要求及び前記第１のスキャンデータ生成要求は、前記第１の外部装置に表示されるスキャン指示画面において、スキャンデータによって表わされるスキャン画像のプレビューの実行がユーザによって選択される場合に、前記第１の外部装置から取得される要求であり、
前記第２のジョブ生成要求及び前記第２のスキャンデータ生成要求は、前記第１の外部装置に表示される前記スキャン指示画面において、前記第１の外部装置内の所定の記憶領域へのスキャンデータの保存の実行が前記ユーザによって選択される場合に、前記第１の外部装置から取得される要求である、請求項１から４のいずれか一項に記載のスキャナ。
【請求項６】
前記スキャナは、さらに、
前記原稿台に対して開閉可能なカバー部材を備え、
前記判断部は、前記原稿台に対して前記カバー部材が閉じられており、かつ、前記第１のスキャンデータと前記第１のスキャン設定情報とが前記メモリに記憶されている状態で、前記第１の外部装置から前記第２のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致するのか否かを判断し、
前記スキャンデータ生成部は、前記原稿台に対して前記カバー部材が開かれている状態で、前記第１の外部装置から前記第２のスキャンデータ生成要求が取得される第４の場合に、前記第２のスキャン設定情報に従って、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第２のスキャンデータを生成し、
前記スキャンデータ供給部は、前記第４の場合に、前記第２のスキャンデータ生成要求の供給元である前記第１の外部装置に前記第２のスキャンデータを供給する、請求項１から５のいずれか一項に記載のスキャナ。
【請求項７】
前記スキャナは、さらに、
前記原稿台に対して開閉可能なカバー部材を備え、
前記第１のメモリ制御部は、
前記原稿台に対して前記カバー部材が閉じられている状態で、前記第１の外部装置から前記第１のスキャンデータ生成要求が取得される場合に、前記第１のスキャンデータと前記第１のスキャン設定情報とを前記メモリに記憶させ、
前記原稿台に対して前記カバー部材が開かれている状態で、前記第１の外部装置から前記第１のスキャンデータ生成要求が取得される場合に、前記第１のスキャンデータと前記第１のスキャン設定情報とを前記メモリに記憶させず、
前記判断部は、前記原稿台に対して前記カバー部材が閉じられており、かつ、前記第１のスキャンデータと前記第１のスキャン設定情報とが前記メモリに記憶されている状態で、前記第１の外部装置から前記第２のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致するのか否かを判断し、
前記スキャンデータ生成部は、前記原稿台に対して前記カバー部材が開かれている状態で、前記第１の外部装置から前記第２のスキャンデータ生成要求が取得される第４の場合に、前記第２のスキャン設定情報に従って、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第２のスキャンデータを生成し、
前記スキャンデータ供給部は、前記第４の場合に、前記第２のスキャンデータ生成要求の供給元である前記第１の外部装置に前記第２のスキャンデータを供給する、請求項１から６のいずれか一項に記載のスキャナ。
【請求項８】
原稿台とスキャン実行部とメモリとを備えるスキャナのためのコンピュータプログラムであって、
第１の外部装置からネットワークを介して第１のスキャン設定情報を含む第１のジョブ生成要求が取得される場合に、第１のジョブＩＤを生成して、前記第１のジョブＩＤを含む第１の応答を前記第１の外部装置に供給する第１の応答供給処理と、
前記第１の外部装置から前記ネットワークを介して前記第１のジョブ生成要求が取得された後に、前記第１の外部装置から前記第１のジョブＩＤを含む第１のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報に従って、前記原稿台に載置される第１の原稿のスキャンを前記スキャン実行部に実行させて、第１のスキャンデータを生成するスキャンデータ生成処理と、
前記第１のスキャンデータを前記第１の外部装置に供給するスキャンデータ供給処理と、
前記第１のスキャンデータと前記第１のスキャン設定情報とを前記メモリに記憶させる第１のメモリ制御処理と、
前記第１の外部装置から第２のスキャン設定情報を含む第２のジョブ生成要求が取得される場合に、前記第１のジョブＩＤとは異なる第２のジョブＩＤを生成して、前記第２のジョブＩＤを含む第２の応答を前記第１の外部装置に供給する第２の応答供給処理と、
前記第１のスキャンデータと前記第１のスキャン設定情報とが前記メモリに記憶されている状態で、前記第１の外部装置から前記ネットワークを介して前記第２のジョブ生成要求が取得された後に、前記第１の外部装置から前記第２のジョブＩＤを含む第２のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致するのか否かを判断する判断処理と、をコンピュータに実行させ、
前記スキャンデータ生成処理では、
前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致しないと判断される第１の場合に、前記第２のスキャン設定情報に従って、前記原稿台に載置される第２の原稿のスキャンを前記スキャン実行部に実行させて、第２のスキャンデータを生成し、
前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致すると判断される第２の場合に、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させず、
前記スキャンデータ供給処理では、
前記第１の場合に、前記第２のスキャンデータ生成要求の供給元である前記第１の外部装置に前記第２のスキャンデータを供給し、
前記第２の場合に、前記第２のスキャンデータ生成要求の供給元である前記第１の外部装置に、前記第２のジョブＩＤを含む前記第２のスキャンデータ生成要求が取得されたにも関わらず、前記第１のジョブＩＤを含む前記第１のスキャンデータ生成要求が取得された際に生成された前記メモリ内の前記第１のスキャンデータを供給する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、外部装置からスキャン要求を取得する場合に、原稿のスキャンを実行して、スキャンデータを外部装置に供給するスキャナを開示する。
【背景技術】
【０００２】
特許文献１には、スキャナ部を備える画像形成装置が開示されている。画像形成装置は、ＰＣからプルスキャン開始命令を受信する場合に、原稿のスキャンを実行して、当該スキャンによって得られる画像データをＰＣに転送する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２７７５８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スキャナが外部装置からスキャン要求を取得してからスキャンデータを外部装置に供給するまでの時間を短縮することが求められている。本明細書では、スキャナが、外部装置からスキャン要求を取得する場合に、スキャンデータを外部装置に迅速に供給するための技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書によって開示されるスキャナは、原稿台と、スキャン実行部と、メモリと、第１の外部装置からネットワークを介して第１のスキャン設定情報を含む第１のスキャン要求が取得される場合に、第１のスキャン設定情報に従って、原稿台に載置される第１の原稿のスキャンをスキャン実行部に実行させて、第１のスキャンデータを生成するスキャンデータ生成部と、第１のスキャンデータを第１の外部装置に供給するスキャンデータ供給部と、第１のスキャンデータと第１のスキャン設定情報とをメモリに記憶させる第１のメモリ制御部と、第１のスキャンデータと第１のスキャン設定情報とがメモリに記憶されている状態で、第１の外部装置又は第１の外部装置とは異なる第２の外部装置からネットワークを介して第２のスキャン設定情報を含む第２のスキャン要求が取得される場合に、第１のスキャン設定情報と第２のスキャン設定情報とが一致するのか否かを判断する判断部と、を備える。スキャンデータ生成部は、第１のスキャン設定情報と第２のスキャン設定情報とが一致しないと判断される第１の場合に、第２のスキャン設定情報に従って、原稿台に載置される第２の原稿のスキャンを前記スキャン実行部に実行させて、第２のスキャンデータを生成し、第１のスキャン設定情報と第２のスキャン設定情報とが一致すると判断される第２の場合に、第２の原稿のスキャンをスキャン実行部に実行させない。スキャンデータ供給部は、第１の場合に、第２のスキャン要求の供給元である第１の外部装置又は第２の外部装置に第２のスキャンデータを供給し、第２の場合に、第２のスキャン要求の供給元である第１の外部装置又は第２の外部装置にメモリ内の第１のスキャンデータを供給する。
【０００６】
上記の構成によると、スキャナは、第１のスキャンデータと第１のスキャン設定情報とがメモリに記憶されている状態で、外部装置（即ち第１の外部装置又は第２の外部装置）から第２のスキャン設定情報を含む第２のスキャン要求が取得される場合に、第１のスキャン設定情報と第２のスキャン設定情報とが一致するのか否かを判断する。スキャナは、第１のスキャン設定情報と第２のスキャン設定情報とが一致しないと判断される第１の場合に、第２のスキャン設定情報に従って、第２の原稿のスキャンを実行して、第２のスキャンデータを外部装置に適切に供給することができる。一方、スキャナは、第１のスキャン設定情報と第２のスキャン設定情報とが一致すると判断される第２の場合に、第２の原稿のスキャンを実行せずに、メモリ内の第１のスキャンデータを外部装置に供給する。このように、スキャナは、第２の場合に、第２の原稿のスキャンを実行せずに済むので、第１のスキャンデータを外部装置に迅速に供給することができる。
前記スキャナは、さらに、
前記第１の原稿の前記スキャンが終了した後に、前記第１の原稿を前記スキャナから取り除くためのユーザ動作を検知する検知部を備え、
前記スキャンデータ生成部は、
前記ユーザ動作が検知される前に、前記第２のスキャン要求が取得される場合において、前記第１の場合に、前記第２のスキャン設定情報に従って、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第２のスキャンデータを生成し、
前記ユーザ動作が検知される前に、前記第２のスキャン要求が取得される場合において、前記第２の場合に、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させず、
前記ユーザ動作が検知された後に、前記第２のスキャン要求が取得される第３の場合に、前記第２のスキャン設定情報に従って、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第２のスキャンデータを生成し、
前記スキャンデータ供給部は、前記第３の場合に、前記第２のスキャン要求の供給元である前記第１の外部装置又は前記第２の外部装置に前記第２のスキャンデータを供給してもよい。
前記スキャナは、さらに、
前記ユーザ動作が検知される場合に、前記メモリから前記第１のスキャンデータと前記第１のスキャン設定情報とを消去する第２のメモリ制御部を備え、
前記第３の場合は、前記メモリ内に前記第１のスキャンデータと前記第１のスキャン設定情報とが記憶されていない状態で、前記第２のスキャン要求が取得されることを含んでもよい。
前記第１のスキャン要求は、前記第１のスキャン設定情報を含む第１のジョブ生成要求と、第１のスキャンデータ生成要求と、を含み、
前記第２のスキャン要求は、前記第２のスキャン設定情報を含む第２のジョブ生成要求と、第２のスキャンデータ生成要求と、を含み、
前記スキャンデータ生成部は、前記第１の外部装置から前記第１のジョブ生成要求が取得された後に、前記第１の外部装置から前記第１のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報に従って、前記第１の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第１のスキャンデータを生成し、
前記判断部は、前記第１のスキャンデータと前記第１のスキャン設定情報とが前記メモリに記憶されている状態で、前記第１の外部装置又は前記第２の外部装置から前記第２のジョブ生成要求が取得された後に、前記第１の外部装置又は前記第２の外部装置から前記第２のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致するのか否かを判断してもよい。
前記スキャナは、さらに、
前記第１の外部装置から前記第１のジョブ生成要求が取得される場合に、第１のジョブＩＤを生成して、前記第１のジョブＩＤを含む第１の応答を前記第１の外部装置に供給し、
前記第１の外部装置又は前記第２の外部装置から前記第２のジョブ生成要求が取得される場合に、前記第１のジョブＩＤとは異なる第２のジョブＩＤを生成して、前記第２のジョブＩＤを含む第２の応答を前記第１の外部装置又は前記第２の外部装置に供給する応答供給部を備え、
前記スキャンデータ生成部は、前記第１の外部装置から前記第１のジョブＩＤを含む前記第１のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報に従って、前記第１の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第１のスキャンデータを生成し、
前記判断部は、前記第１のスキャンデータと前記第１のスキャン設定情報とが前記メモリに記憶されている状態で、前記第１の外部装置又は前記第２の外部装置から前記第２のジョブＩＤを含む前記第２のスキャンデータ生成要求が取得される場合に、前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致するのか否かを判断し、
前記スキャンデータ供給部は、前記第２の場合に、前記第２のジョブＩＤを含む前記第２のスキャンデータ生成要求が取得されたにも関わらず、前記第１のジョブＩＤを含む前記第２のスキャンデータ生成要求が取得された際に生成された前記メモリ内の前記第１のスキャンデータを前記第１の外部装置又は前記第２の外部装置に供給してもよい。
前記第１のスキャン設定情報は、特定のスキャン設定として第１の設定値を含み、
前記第２のスキャン設定情報は、前記特定のスキャン設定として第２の設定値を含み、
前記判断部は、
前記第１の設定値を含む所定の数値範囲内に前記第２の設定値が含まれる場合に、前記第１のスキャン設定情報に含まれる前記特定のスキャン設定と、前記第２のスキャン設定情報に含まれる前記特定のスキャン設定と、が一致すると判断し、
前記所定の数値範囲内に前記第２の設定値が含まれない場合に、前記第１のスキャン設定情報に含まれる前記特定のスキャン設定と、前記第２のスキャン設定情報に含まれる前記特定のスキャン設定と、が一致しないと判断してもよい。
前記第１のスキャン要求は、前記第１の外部装置に表示されるスキャン指示画面において、スキャンデータによって表わされるスキャン画像のプレビューの実行がユーザによって選択される場合に、前記第１の外部装置から取得される要求であり、
前記第２のスキャン要求は、前記第１の外部装置に表示される前記スキャン指示画面において、前記第１の外部装置内の所定の記憶領域へのスキャンデータの保存の実行が前記ユーザによって選択される場合に、前記第１の外部装置から取得される要求であってもよい。
前記第１のスキャン要求は、前記第１の外部装置に表示されるスキャン指示画面において、前記第１の外部装置内の所定の記憶領域へのスキャンデータの保存の実行が前記ユーザによって選択される場合に、前記第１の外部装置から取得される要求であり、
前記第２のスキャン要求は、前記第２の外部装置に表示されるスキャン指示画面において、前記第２の外部装置内の所定の記憶領域へのスキャンデータの保存の実行が前記ユーザによって選択される場合に、前記第２の外部装置から取得される要求であってもよい。
前記スキャナは、さらに、
前記原稿台に対して開閉可能なカバー部材を備え、
前記第１のメモリ制御部は、
前記原稿台に対して前記カバー部材が閉じられている状態で、前記第１の外部装置から前記第１のスキャン要求が取得される場合に、前記第１のスキャンデータと前記第１のスキャン設定情報とを前記メモリに記憶させ、
前記原稿台に対して前記カバー部材が開かれている状態で、前記第１の外部装置から前記第１のスキャン要求が取得される場合に、前記第１のスキャンデータと前記第１のスキャン設定情報とを前記メモリに記憶させず、
前記判断部は、前記原稿台に対して前記カバー部材が閉じられており、かつ、前記第１のスキャンデータと前記第１のスキャン設定情報とが前記メモリに記憶されている状態で、前記第１の外部装置又は前記第２の外部装置から前記第２のスキャン要求が取得される場合に、前記第１のスキャン設定情報と前記第２のスキャン設定情報とが一致するのか否かを判断し、
前記スキャンデータ生成部は、前記原稿台に対して前記カバー部材が開かれている状態で、前記第１の外部装置又は前記第２の外部装置から前記第２のスキャン要求が取得される第４の場合に、前記第２のスキャン設定情報に従って、前記第２の原稿の前記スキャンを前記スキャン実行部に実行させて、前記第２のスキャンデータを生成し、
前記スキャンデータ供給部は、前記第４の場合に、前記第２のスキャン要求の供給元である前記第１の外部装置又は前記第２の外部装置に前記第２のスキャンデータを供給してもよい。
【０００７】
上記のスキャナを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成とスキャン指示画面とを示す。
【図２】スキャナの制御構成を示す。
【図３】カバークローズ状態のスキャン処理のフローチャートを示す。
【図４】カバーオープン状態のスキャン処理のフローチャートを示す。
【図５】監視処理のフローチャートを示す。
【図６】スキャンデータが迅速に供給されるケースＡのシーケンス図を示す。
【図７】スキャン設定情報が変更されるケースＢのシーケンス図を示す。
【図８】スキャンデータが迅速に供給されるケースＣのシーケンス図を示す。
【図９】原稿が変更されるケースＤのシーケンス図を示す。
【図１０】カバーオープン状態でスキャンが実行されるケースＥのシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、スキャナＳＣと、複数個の端末装置ＴＤ１，ＴＤ２と、を備える。各デバイスＳＣ，ＴＤ１，ＴＤ２は、ＬＡＮ（Local Area Networkの略）４を介して、相互に通信可能である。スキャナＳＣは、端末装置（例えばＴＤ１）からＬＡＮ４を介して要求を取得する場合に、原稿のスキャンを実行して、ＬＡＮ４を介してスキャンデータを端末装置に供給する。即ち、スキャナＳＣは、いわゆるプルスキャン機能を実行可能である。
【００１０】
（各端末装置ＴＤ１，ＴＤ２の構成）
各端末装置ＴＤ１，ＴＤ２は、デスクトップＰＣ（Personal Computerの略）、ノートＰＣ等のコンピュータであり、公知のＯＳ（Operation Systemの略）プログラムと、スキャナドライバと、を備える。スキャナドライバは、各端末装置ＴＤ１，ＴＤ２の出荷段階から、各端末装置ＴＤ１，ＴＤ２に予め記憶されている。即ち、スキャナドライバは、スキャナＳＣのベンダによって提供されるものではなく、ＯＳプログラムのベンダによって提供されるいわゆるＩＮＢＯＸドライバである。スキャナドライバは、Semantic方式に従って、スキャナＳＣに原稿のスキャンを実行させるためのプログラムである。Semantic方式は、Printer Working Groupによって策定された「Network Scan Service Sematic Model and Service Interface (Version 1.0)」に記述されている。
【００１１】
図１には、スキャナドライバによって実現されるスキャン指示画面ＩＳの一例を示す。スキャン指示画面ＩＳは、複数個の項目領域Ａ０〜Ａ６と、プレビュー領域ＰＡと、プレビューボタンＢＯ１と、スキャンボタンＢＯ２と、キャンセルボタンＢＯ３と、を含む。
【００１２】
各項目領域Ａ０〜Ａ６は、ユーザがスキャン設定情報を指定するための領域である。項目領域Ａ０は、ドキュメント、写真等を含む複数個のプロファイル名の中から１個のプロファイル名を指定するための領域である。項目領域Ａ１は、１００ｄｐｉ、２００ｄｐｉ、３００ｄｐｉ、６００ｄｐｉ等を含む複数個のスキャン解像度の中から１個のスキャン解像度を指定するための領域である。項目領域Ａ２は、カラー、モノクロ等を含む複数個の色数の中から１個の色数を指定するための領域である。項目領域Ａ３は、ＪＰＥＧ（Joint Photograph Experts Groupの略）、ＴＩＦＦ（Tagged Image File Formatの略）、ＰＤＦ（Portable Document Formatの略）等を含む複数個のデータ形式の中から１個のデータ形式を指定するための領域である。項目領域Ａ４は、−１００％〜１００％の範囲内からスキャン画像の明るさ（即ちbrightness）を指定するための領域である。項目領域Ａ５は、−１００％〜１００％の範囲内からスキャン画像の明暗差（即ちcontrast）を指定するための領域である。以下では、項目領域Ａ４において指定される設定値、項目領域Ａ５において指定される設定値のことを、それぞれ、「明るさの設定値」、「コントラストの設定値」と呼ぶ。項目領域Ａ６は、フラットベット、フィーダ（片面スキャン）、フィーダ（両面スキャン）等を含む複数個のスキャナ種類の中から１個のスキャナ種類を指定するための領域である。なお、本実施例では、スキャナＳＣに設置された原稿が取り除かれることがカバーセンサ（図２の符号３６参照）によって検知されるので、スキャナ種類がフラットベットであることを前提として、以下の説明を続ける。スキャナドライバが起動される際には、スキャン指示画面ＩＳ内の各項目領域Ａ０〜Ａ６には、デフォルトのスキャン設定情報が最初に表示される。デフォルトのスキャン設定情報は、プロファイル名「ドキュメント」と、スキャン解像度「１００ｄｐｉ」と、色数「カラー」と、データ形式「ＪＰＥＧ」と、明るさの設定値「０％」と、コントラストの設定値「０％」と、スキャナ種類「フラットベット」と、を含む。
【００１３】
プレビュー領域ＰＡは、プレビューボタンＢＯ１の選択に応じて、プレビュー画像を表示するための領域である。プレビューボタンＢＯ１は、スキャン画像のプレビューの実行、即ち、プレビュー領域ＰＡでのプレビュー画像の表示、を望むユーザによって選択されるボタンである。スキャンボタンＢＯ２は、端末装置（例えばＴＤ１）内の所定の記憶領域へのスキャンデータの保存の実行を望むユーザによって選択されるボタンである。上記の所定の記憶領域は、例えば、端末装置のハードディスク内の所定のフォルダである。上記の所定の記憶領域は、例えば、スキャンボタンＢＯ２が選択される前にユーザによって予め指定されていてもよいし、スキャンボタンＢＯ２が選択された後に表示されるポップアップ画面（図示省略）上でユーザによって指定されていてもよい。キャンセルボタンＢＯ３は、スキャン指示画面ＩＳを閉じるためのボタンである。
【００１４】
（各端末装置ＴＤ１，ＴＤ２の処理）
続いて、各端末装置ＴＤ１，ＴＤ２がスキャナドライバに従って実行する処理の内容を説明する。端末装置（例えばＴＤ１）は、各項目領域Ａ０〜Ａ６においてスキャン設定情報が指定された後に、ユーザによってプレビューボタンＢＯ１又はスキャンボタンＢＯ２が選択される場合に、ジョブ情報（即ちいわゆるスキャンチケット）の生成を要求するためのジョブ生成要求をスキャナＳＣに供給する。ジョブ生成要求は、Semantic方式のCreate Scan Job Requestであり、スキャン設定情報を含む。当該スキャン設定情報は、各項目領域Ａ１〜Ａ６において指定された各設定値、即ち、スキャン解像度、色数、データ形式、明るさの設定値、コントラストの設定値、及び、スキャナ種類を含む。即ち、当該スキャン設定情報は、項目領域Ａ０で指定されたプロファイル名を含まない。
【００１５】
端末装置は、ジョブ生成要求をスキャナＳＣに供給した後に、スキャナＳＣからジョブ生成応答を取得する。ジョブ生成応答は、ジョブ生成要求に対する応答、即ち、Semantic方式のCreate Scan Job Responseであり、ジョブＩＤを含む。ジョブＩＤは、スキャンジョブを識別するためのユニークな識別情報であり、ジョブ生成要求に応じてスキャナＳＣによって生成される。そして、端末装置は、スキャナＳＣからジョブ生成応答を取得した後に、スキャンデータの生成を要求するためのスキャンデータ生成要求をスキャナＳＣに供給する。スキャンデータ生成要求は、プロトコル毎に決められる要求（例えばRetrieve Image等）であり、Create Scan Job Responseに従ったジョブ生成応答内のジョブＩＤを含む。
【００１６】
端末装置は、スキャンデータ生成要求をスキャナＳＣに供給した後に、スキャナＳＣからスキャンデータ生成応答を取得する。スキャンデータ生成応答は、スキャンデータ生成要求に対する応答であり、スキャンデータを含む。そして、端末装置は、スキャナＳＣからスキャンデータ生成応答を取得した後に、ユーザによって選択されたボタンＢＯ１又はＢＯ２に応じた処理を実行する。即ち、端末装置は、ユーザによってプレビューボタンＢＯ１が選択された場合には、スキャンデータによって表わされるプレビュー画像をプレビュー領域ＰＡに表示させる。また、端末装置は、ユーザによってスキャンボタンＢＯ２が選択された場合には、スキャンデータを端末装置内の所定の記憶領域に記憶させる。
【００１７】
上述したように、Semantic方式では、ユーザによってプレビューボタンＢＯ１又はスキャンボタンＢＯ２が選択される場合に、端末装置とスキャナＳＣとの間では、ジョブ生成要求とジョブ生成応答とスキャンデータ生成要求とスキャンデータ生成応答とを含む４個のコマンドの通信が順次実行される。これにより、端末装置は、スキャナＳＣからスキャンデータを取得することができる。なお、プレビューボタンＢＯ１が選択される場合に端末装置からスキャナＳＣに供給されるコマンド（即ち、ジョブ生成要求、スキャンデータ生成要求）と、スキャンボタンＢＯ２が選択される場合に端末装置からスキャナＳＣに供給されるコマンドと、を区別するための情報は、各コマンドに含まれない。従って、スキャナＳＣは、端末装置からコマンドを取得しても、当該コマンドが、プレビューボタンＢＯ１の操作に起因するものであるのか、スキャンボタンＢＯ２の操作に起因するものであるのか、を把握することができない。
【００１８】
（スキャナＳＣの構成）
スキャナＳＣは、スキャン機能を実行可能な周辺機器（即ち端末装置ＴＤ１等の周辺機器）である。スキャナＳＣは、原稿台１０と原稿カバー２０とを備える。原稿台１０は、筐体１２と透明板１４とを備える。筐体１２は、透明板１４を支持している。透明板１４には、原稿が載置される。
【００１９】
スキャナＳＣは、さらに、透明板１４の下方に、ＣＩＳ（Contact Image Sensorの略）方式又はＣＣＤ（Charge Coupled Deviceの略）方式に従って原稿のスキャンを実行するためのスキャン実行部３４（図２参照）を備える。透明板１４に原稿が載置されている状態で、原稿のスキャンがスキャン実行部３４によって実行されると、原稿を表わすスキャンデータが生成される。原稿カバー２０は、原稿台１０に対して開閉可能に構成されている。通常、原稿台１０に対して原稿カバー２０が閉じられている状態（以下では「カバークローズ状態」と呼ぶ）で、原稿のスキャンが実行される。ただし、例えば、比較的に厚い原稿（例えば本等）が原稿台１０に載置される場合には、原稿台１０に対して原稿カバー２０を閉じることができないので、原稿台１０に対して原稿カバー２０を開かれている状態（以下では「カバーオープン状態」と呼ぶ）で、原稿のスキャンが実行され得る。
【００２０】
続いて、図２を参照して、スキャナＳＣの制御構成を説明する。スキャナＳＣは、操作部３０と、表示部３２と、スキャン実行部３４と、カバーセンサ３６と、ＬＡＮインターフェース３８と、制御部５０と、を備える。各部３０〜５０は、バス線（符号省略）を介して、相互に接続されている。
【００２１】
操作部３０は、複数個のキーを備える。ユーザは、操作部３０を操作することによって、様々な指示をスキャナＳＣに入力することができる。表示部３２は、様々な情報を表示するためのディスプレイである。スキャン実行部３４は、制御部５０から与えられる指示に従って、原稿のスキャンを実行する。カバーセンサ３６は、原稿カバー２０の開閉を検知するためのセンサであり、カバーオープン状態であるのかカバークローズ状態であるのかを示す状態信号を制御部５０に供給する。ＬＡＮインターフェース３８は、ＬＡＮ４（図１参照）に接続される。
【００２２】
制御部５０は、ＣＰＵ５２とメモリ５４とを備える。ＣＰＵ５２は、メモリ５４に記憶されているプログラムＰＧに従って、様々な処理を実行するプロセッサ（即ちコンピュータ）である。メモリ５４は、上記のプログラムＰＧの他に、さらに、ジョブ情報ＪＩと、過去スキャン情報ＰＩと、を記憶し得る。
【００２３】
ジョブ情報ＪＩは、ジョブＩＤとスキャン設定情報ＳＩとが対応付けられている情報である。ジョブＩＤは、端末装置（例えばＴＤ１）から取得されるジョブ生成要求に応じて、スキャナＳＣによって生成される。スキャン設定情報ＳＩは、端末装置から取得されるジョブ生成要求に含まれる。過去スキャン情報ＰＩは、スキャナＳＣによって過去に実行された原稿のスキャンによって生成されたスキャンデータＳＤと、当該スキャンで利用されたスキャン設定情報ＳＩと、を含む。
【００２４】
（カバークローズ状態のスキャン処理；図３）
続いて、図３を参照して、カバークローズ状態でスキャナＳＣのＣＰＵ５２によって実行されるスキャン処理の内容を説明する。
【００２５】
Ｓ１０では、ＣＰＵ５２は、カバーセンサ３６からカバークローズ状態であることを示す状態信号を取得している状態で、端末装置（例えばＴＤ１）からスキャン設定情報を含むジョブ生成要求を取得する。以下では、Ｓ１０で取得されるジョブ生成要求の供給元の端末装置のことを「対象端末装置」と呼ぶ。
【００２６】
Ｓ１２では、ＣＰＵ５２は、ジョブＩＤを生成して、ジョブ情報をメモリ５４に記憶させる。具体的には、ＣＰＵ５２は、過去に生成されたいずれのジョブＩＤとも異なるユニークなジョブＩＤを生成し、当該ジョブＩＤと、Ｓ１０で取得されたジョブ生成要求内のスキャン設定情報（図２の符号ＳＩ参照）と、が対応付けられているジョブ情報（図２の符号ＪＩ参照）をメモリ５４に記憶させる。なお、以下では、Ｓ１２のジョブ情報内のスキャン設定情報のことを「対象スキャン設定情報」と呼び、対象スキャン設定情報に含まれる各設定値のことを「対象」という用語を付して記載する（例えば、「対象スキャン解像度」、「明るさの対象設定値」）。
【００２７】
Ｓ１４では、ＣＰＵ５２は、Ｓ１２で生成されたジョブＩＤを含むジョブ生成応答を対象端末装置に供給する。
【００２８】
Ｓ１６では、ＣＰＵ５２は、対象端末装置から、Ｓ１２で生成されたジョブＩＤを含むスキャンデータ生成要求を取得する。
【００２９】
Ｓ２０では、ＣＰＵ５２は、過去スキャン情報（図２の符号ＰＩ参照）がメモリ５４内に存在するのか否かを判断する。ＣＰＵ５２は、過去スキャン情報がメモリ５４内に存在すると判断する場合（Ｓ１８でＹＥＳ）にＳ２２に進み、過去スキャン情報がメモリ５４内に存在しないと判断する場合（Ｓ１８でＮＯ）にＳ３０に進む。
【００３０】
Ｓ２２では、ＣＰＵ５２は、Ｓ１２のジョブ情報内の対象スキャン設定情報と、過去スキャン情報内のスキャン設定情報と、が一致するのか否かを判断する。なお、以下では、過去スキャン情報内のスキャン設定情報のことを「過去スキャン設定情報」と呼び、過去スキャン設定情報に含まれる各設定値のことを「過去」という用語を付して記載する（例えば、「過去スキャン解像度」、「明るさの過去設定値」）。
【００３１】
ＣＰＵ５２は、スキャン解像度と色数とデータ形式とスキャナ種類とを含む４個の設定値については、完全一致の判断基準に基づいて、設定値が一致するのか否かを判断する。即ち、ＣＰＵ５２は、例えば、対象スキャン解像度が１００ｄｐｉであり、かつ、過去スキャン解像度が２００ｄｐｉである場合には、対象スキャン解像度と過去スキャン解像度とが一致しないと判断する。これに対し、ＣＰＵ５２は、明るさの設定値とコントラストの設定値とを含む２個の設定値については、数値範囲を利用した判断基準に基づいて、設定値が一致するのか否かを判断する。この点について次に詳しく説明する。
【００３２】
ＣＰＵ５２は、明るさの過去設定値（例えば０％）のプラスマイナス５％の数値範囲（例えば−５％〜＋５％）を決定し、当該数値範囲に明るさの対象設定値が含まれる場合に、明るさの対象設定値と明るさの過去設定値が一致すると判断し、当該数値範囲に明るさの対象設定値が含まれない場合に、明るさの対象設定値と明るさの過去設定値とが一致しないと判断する。同様に、ＣＰＵ５２は、コントラストの過去設定値（例えば８０％）のプラスマイナス５％の数値範囲（例えば７５〜８５％）を決定し、当該数値範囲にコントラストの対象設定値が含まれる場合に、コントラストの対象設定値とコントラストの過去設定値とが一致すると判断し、当該数値範囲にコントラストの対象設定値が含まれない場合に、コントラストの対象設定値とコントラストの過去設定値とが一致しないと判断する。
【００３３】
数値範囲を利用した判断基準を採用する理由は、以下のとおりである。即ち、数値範囲を利用した判断基準によると、完全一致の判断基準と比べると、設定値が一致すると判断され易く、この結果、対象スキャン設定情報と過去スキャン設定情報とが一致すると判断され易い（Ｓ２２でＹＥＳと判断され易い）。詳しくは後述するが、対象スキャン設定情報と過去スキャン設定情報とが一致すると判断されると、スキャンデータを対象端末装置に迅速に供給することができる。即ち、本実施例では、スキャンデータを対象端末装置に迅速に供給するために、数値範囲を利用した判断基準を採用している。なお、数値範囲を利用した判断基準を採用すると、例えば、明るさの対象設定値（例えば０％）とは異なる明るさの過去設定値（例えば＋５％）に従ったスキャンデータが、対象端末装置に供給され得る。しかしながら、明るさの設定値又はコントラストの設定値が５％程度相違しても、ユーザは、通常、スキャン画像の見た目の相違を知覚し難い。従って、本実施例では、ユーザに違和感を与えることを抑制しつつ、スキャンデータを対象端末装置に迅速に供給することができる。なお、変形例では、ＣＰＵ５２は、明るさの設定値とコントラストの設定値とを含む２個の設定値についても、数値範囲を利用した判断基準ではなく、完全一致の判断基準に基づいて、設定値が一致するのか否かを判断してもよい。
【００３４】
ＣＰＵ５２は、対象スキャン設定情報内の６個の設定値の全てが過去スキャン設定情報に一致する場合に、対象スキャン設定情報と過去スキャン設定情報とが一致すると判断して（Ｓ２２でＹＥＳ）、Ｓ２４に進む。一方、ＣＰＵ５２は、対象スキャン設定情報内の６個の設定値のうちの少なくとも１つが過去スキャン設定情報に一致しない場合に、対象スキャン設定情報と過去スキャン設定情報とが一致しないと判断して（Ｓ２２でＮＯ）、Ｓ３０に進む。
【００３５】
Ｓ２４では、ＣＰＵ５２は、メモリ５４から過去スキャン設定情報内のスキャンデータを取得する。Ｓ２４が終了すると、Ｓ３６に進む。即ち、この場合、ＣＰＵ５２は、原稿のスキャンをスキャン実行部３４に実行させず（即ちＳ３０を実行せず）、スキャンデータを生成しない（即ちＳ３４を実行しない）。
【００３６】
Ｓ３０では、ＣＰＵ５２は、スキャン実行部３４にスキャン実行指示を供給して、原稿台１０（図１参照）に載置されている原稿のスキャンをスキャン実行部３４に実行させる。これにより、スキャン実行部３４は、原稿のスキャン（即ち読取り）を実行して、アナログデータである読取データを生成し、読取データを制御部５０に供給する。ここで、上記のスキャン実行指示では、Ｓ１６で取得されたスキャンデータ生成要求内のジョブＩＤに対応付けられているスキャン設定情報、即ち、Ｓ１２のジョブ情報内の対象スキャン設定情報に含まれる対象スキャン解像度及び対象色数が指定される。例えば、ＣＰＵ５２は、対象スキャン解像度が「６００ｄｐｉ」であり、かつ、対象色数が「カラー」である場合には、６００ｄｐｉのカラースキャンをスキャン実行部３４に実行させる。また、例えば、ＣＰＵ５２は、対象スキャン解像度が「１００ｄｐｉ」であり、かつ、対象色数が「モノクロ」である場合には、１００ｄｐｉのモノクロスキャンをスキャン実行部３４に実行させる。
【００３７】
Ｓ３２では、ＣＰＵ５２は、原稿のスキャンが成功したのか否かを判断する。具体的には、ＣＰＵ５２は、スキャン実行部３４から読取データを取得する場合に、原稿のスキャンが成功したと判断して（Ｓ３２でＹＥＳ）、Ｓ３４に進む。一方、例えば、スキャン実行部３４のハードウェアが故障している状態では、スキャン実行部３４が原稿のスキャンを実行することができない可能性がある。この場合、ＣＰＵ５２は、スキャン実行部３４から読取データを取得しないので、原稿のスキャンが失敗したと判断して（Ｓ３２でＮＯ）、Ｓ４０に進む。
【００３８】
Ｓ３４では、ＣＰＵ５２は、スキャン実行部３４から取得された読取データを利用してスキャンデータを生成し、当該スキャンデータとＳ１２のジョブ情報内の対象スキャン設定情報とを含む過去スキャン情報をメモリ５４に記憶させる。ＣＰＵ５２は、まず、読取データを利用して、対象スキャン設定情報に含まれる対象データ形式、明るさの対象設定値、及び、コントラストの対象設定値に従ったスキャンデータを生成する。具体的には、ＣＰＵ５２は、アナログデータである読取データをデジタルデータ（例えば多階調のＲＧＢ値）に変換して、画像データを生成する。次いで、ＣＰＵ５２は、明るさの対象設定値に従った明るさ調整と、コントラストの対象設定値に従ったコントラスト調整と、を上記の画像データに対して実行して、調整済み画像データを生成する。そして、ＣＰＵ５２は、対象データ形式に従ったヘッダ情報（例えばＪＰＥＧヘッダ）を生成し、当該ヘッダ情報と、上記の調整済み画像データと、を含むスキャンデータを生成する。次いで、ＣＰＵ５２は、生成済みのスキャンデータと対象スキャン設定情報とを含む過去スキャン情報をメモリ５４に記憶させる。なお、メモリ５４内に古い過去スキャン情報が記憶されている状態で、Ｓ３４で新しい過去スキャン情報が生成される場合には、ＣＰＵ５２は、メモリ５４から古い過去スキャン情報を消去して、新しい過去スキャン情報をメモリ５４に記憶させる。即ち、メモリ５４は、最大で１個の過去スキャン情報を記憶可能である。
【００３９】
Ｓ３６では、ＣＰＵ５２は、スキャンデータを含むスキャンデータ生成応答を対象端末装置に供給する。Ｓ３４を経て実行されるＳ３６では、ＣＰＵ５２は、Ｓ３４で生成されたスキャンデータを対象端末装置に供給する。また、Ｓ２４を経て実行されるＳ３６では、ＣＰＵ５２は、Ｓ２４で取得されたスキャンデータを対象端末装置に供給する。Ｓ３６が実行されると、対象端末装置では、スキャンデータによって表わされるプレビュー画像がプレビュー領域ＰＡ（図１参照）に表示されたり、スキャンデータが対象端末装置内の所定の記憶領域に記憶されたりする。Ｓ３６が終了すると、Ｓ５０に進む。
【００４０】
Ｓ４０（即ち原稿のスキャンが失敗した場合）では、ＣＰＵ５２は、原稿のスキャンが失敗したことを示すエラー情報を含むスキャンデータ生成応答を対象端末装置に供給する。これにより、対象端末装置でエラー情報が表示されるので、ユーザは、原稿のスキャンが失敗したことを知ることができる。Ｓ４０が終了すると、Ｓ５０に進む。
【００４１】
Ｓ５０では、ＣＰＵ５２は、メモリ５４からＳ１２のジョブ情報を消去する。これにより、カバークローズ状態のスキャン処理が終了する。
【００４２】
（カバーオープン状態のスキャン処理；図４）
続いて、図４を参照して、カバーオープン状態でスキャナＳＣのＣＰＵ５２によって実行されるスキャン処理の内容を説明する。
【００４３】
Ｓ１１０〜Ｓ１１６は、図３の１０〜Ｓ１６と同様である。ただし、Ｓ１１０では、ＣＰＵ５２は、カバーセンサ３６からカバーオープン状態であることを示す状態信号を取得している状態で、対象端末装置からジョブ生成要求を取得する。
【００４４】
ＣＰＵ５２は、対象端末装置からスキャンデータ生成要求を取得する場合（Ｓ１１６）に、過去スキャン情報がメモリ５４内に存在するのか否かに関する判断（図３のＳ２０参照）を実行せずに、Ｓ１３０以降の処理を実行する。Ｓ１３０〜Ｓ１５０は、図３のＳ３０〜Ｓ５０と同様である。ただし、ＣＰＵ５２は、図３のＳ３４の処理（即ち、スキャンデータの生成、及び、過去スキャン情報の記憶）を実行せず、Ｓ１３６でスキャンデータを生成する。Ｓ１５０が終了すると、カバーオープン状態のスキャン処理が終了する。
【００４５】
（監視処理；図５）
続いて、図５を参照して、スキャナＳＣのＣＰＵ５２によって実行される監視処理の内容を説明する。
【００４６】
Ｓ２００では、ＣＰＵ５２は、カバーセンサ３６から取得される状態信号に基づいて、カバークローズ状態からカバーオープン状態に変化することを監視する。具体的には、ＣＰＵ５２は、カバークローズ状態を示す状態信号を取得している状態から、カバーオープン状態を示す状態信号を取得している状態に変化する場合に、Ｓ２００でＹＥＳと判断して、Ｓ２０２に進む。
【００４７】
Ｓ２０２では、ＣＰＵ５２は、過去スキャン情報がメモリ５４に記憶されている場合には、メモリ５４から過去スキャン情報を消去する。これにより、メモリ５４に過去スキャン情報が記憶されていない状態になり、この結果、図３のＳ２０でＮＯと判断され得る。Ｓ２０２が終了すると、Ｓ２００に戻る。また、ＣＰＵ５２は、過去スキャン情報がメモリ５４に記憶されていない場合には、Ｓ２０２を実行せずに、Ｓ２００に戻る。
【００４８】
（ケースＡ；図６）
続いて、図３〜図５の各処理によって実現される具体的なケースＡ〜ケースＥを説明する。図６のケースＡでは、端末装置ＴＤ１のユーザが、あるスキャン設定情報に従ったプレビュー画像に満足して、当該スキャン設定情報と同じスキャン設定情報に従ったスキャンデータを端末装置ＴＤ１内の所定の記憶領域に記憶させる状況を想定している。
【００４９】
ユーザは、まず、準備段階として、スキャナＳＣの原稿カバー２０（図１参照）を開いて、原稿ＤＣ１を原稿台１０に載置する。これにより、仮に、メモリ５４内に過去スキャン情報が記憶されていても、メモリ５４から過去スキャン情報が消去される（図５のＳ２００でＹＥＳ、Ｓ２０２）。そして、ユーザは、原稿カバー２０を閉じる。従って、ケースＡの初期状態では、スキャナＳＣは、カバークローズ状態であると共に、過去スキャン情報を記憶していない。
【００５０】
Ｔ１１０では、ユーザは、端末装置ＴＤ１に表示されるスキャン指示画面ＩＳ（図１参照）内のプレビューボタンＢＯ１を選択する。この場合、端末装置ＴＤ１は、スキャン設定情報ＳＩ１を含むジョブ生成要求１００をスキャナＳＣに供給する。
【００５１】
スキャナＳＣは、端末装置ＴＤ１からジョブ生成要求１００を取得すると（図３のＳ１０）、Ｔ１１２において、ジョブＩＤ［００１］を生成して、ジョブＩＤ［００１］とスキャン設定情報ＳＩ１とを含むジョブ情報ＪＩ１を記憶する（Ｓ１２）。次いで、スキャナＳＣは、ジョブＩＤ［００１］を含むジョブ生成応答１０２を端末装置ＴＤ１に供給する（Ｓ１４）。
【００５２】
端末装置ＴＤ１は、スキャナＳＣからジョブ生成応答１０２を取得すると、ジョブＩＤ［００１］を含むスキャンデータ生成要求１１０をスキャナＳＣに供給する。
【００５３】
スキャナＳＣは、端末装置ＴＤ１からスキャンデータ生成要求１１０を取得すると（Ｓ１６）、過去スキャン情報がメモリ５４内に存在しないと判断する（Ｓ２０でＮＯ）。この場合、Ｔ１１４において、スキャナＳＣは、スキャン設定情報ＳＩ１に従った原稿ＤＣ１のスキャンを実行する（Ｓ３０）。そして、スキャナＳＣは、スキャンデータＳＤ１を生成して、スキャンデータＳＤ１とスキャン設定情報ＳＩ１とを含む過去スキャン情報ＰＩ１を記憶する（Ｓ３２でＹＥＳ、Ｓ３４）。次いで、スキャナＳＣは、Ｔ１１４で生成されたスキャンデータＳＤ１を含むスキャンデータ生成応答１１２を端末装置ＴＤ１に供給する（Ｓ３６）。そして、Ｔ１１６において、スキャナＳＣは、メモリ５４からジョブ情報ＪＩ１を消去する（Ｓ５０）。
【００５４】
端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答１１２を取得すると、Ｔ１１８において、スキャンデータＳＤ１によって表わされるプレビュー画像をスキャン指示画面ＩＳ内のプレビュー領域ＰＡ（図１参照）に表示する。ユーザは、プレビュー画像に満足するので、スキャン指示画面ＩＳ内の項目領域Ａ０〜Ａ６の内容を変更せずに（即ちスキャン設定情報ＳＩ１を変更せずに）、Ｔ１２０において、スキャン指示画面ＩＳ内のスキャンボタンＢＯ２を選択する。この場合、端末装置ＴＤ１は、スキャン設定情報ＳＩ１を含むジョブ生成要求１２０をスキャナＳＣに供給する。
【００５５】
スキャナＳＣは、端末装置ＴＤ１からジョブ生成要求１２０を取得すると（図３のＳ１０）、Ｔ１２２において、ジョブＩＤ［００２］を生成して、ジョブＩＤ［００２］とスキャン設定情報ＳＩ１とを含むジョブ情報ＪＩ２を記憶する（Ｓ１２）。次いで、スキャナＳＣは、ジョブＩＤ［００２］を含むジョブ生成応答１２２を端末装置ＴＤ１に供給する（Ｓ１４）。
【００５６】
端末装置ＴＤ１は、スキャナＳＣからジョブ生成応答１２２を取得すると、ジョブＩＤ［００２］を含むスキャンデータ生成要求１３０をスキャナＳＣに供給する。
【００５７】
ユーザによって原稿ＤＣ１がスキャナＳＣから取り除かれていないので（即ち原稿カバー２０を開かれていないので）、スキャナＳＣのメモリ５４には、過去スキャン情報ＰＩ１が維持されている（図５のＳ２００でＮＯ、Ｓ２０２が実行されない）。従って、スキャナＳＣは、端末装置ＴＤ１からスキャンデータ生成要求１３０を取得すると（Ｓ１６）、過去スキャン情報ＰＩ１がメモリ５４内に存在すると判断する（Ｓ２０でＹＥＳ）。スキャナＳＣは、さらに、ジョブ情報ＪＩ２内のスキャン設定情報ＳＩ１と過去スキャン情報ＰＩ１内のスキャン設定情報ＳＩ１とが一致すると判断する（Ｓ２２でＹＥＳ）。この場合、Ｔ１２４において、スキャナＳＣは、原稿ＤＣ１のスキャンを実行せずに、過去スキャン情報ＰＩ１内のスキャンデータＳＤ１を取得する（Ｓ２４）。次いで、スキャナＳＣは、Ｔ１２４で取得されたスキャンデータＳＤ１を含むスキャンデータ生成応答１３２を端末装置ＴＤ１に供給する（Ｓ３６）。即ち、スキャナＳＣは、ジョブＩＤ［００２］を含むスキャンデータ生成要求１３０が取得されたにも関わらず、ジョブＩＤ［００１］を含むスキャンデータ生成要求１１０が取得された際に生成されたスキャンデータＳＤ１を端末装置ＴＤ１に供給する。そして、Ｔ１１６において、スキャナＳＣは、メモリ５４からジョブ情報ＪＩ２を消去する（Ｓ５０）。
【００５８】
端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答１３２を取得すると、Ｔ１２８において、スキャンデータＳＤ１を端末装置ＴＤ１内の所定の記憶領域に記憶させる。
【００５９】
（ケースＡの効果）
スキャナＳＣは、端末装置ＴＤ１からジョブ生成要求１２０及びスキャンデータ生成要求１３０を取得する場合に、原稿ＤＣ１のスキャンを実行せずに、メモリ５４内のスキャンデータＳＤ１を端末装置ＴＤ１に供給する。スキャナＳＣは、原稿ＤＣ１のスキャンを実行せずに済むので、端末装置ＴＤ１内の所定の記憶領域に記憶されるべきスキャンデータＳＤ１を端末装置ＴＤ１に迅速に供給することができる。
【００６０】
ケースＡのように、ユーザが、プレビュー画像に満足して、スキャン設定情報を変更することなく、スキャンボタンＢＯ２を選択する状況が起こり得る。例えば、スキャナＳＣのベンダによって提供されるスキャナドライバが端末装置ＴＤ１にインストールされるのであれば、端末装置ＴＤ１は、スキャンボタンＢＯ２が選択される場合に、プレビュー画像の表示のために取得済みのスキャンデータＳＤ１を所定の記憶領域に記憶させる構成を採用し得る。ただし、端末装置ＴＤ１がＩＮＢＯＸのスキャナドライバのみを備える状況では、上記の構成を実現するのが困難である。また、例えば、仮に、スキャナＳＣが、プレビューを示すスキャン要求であるのか、いわゆる本スキャンを示すスキャン要求であるのか、を区別することができるのであれば、以下の構成を採用し得る。即ち、スキャナＳＣは、プレビューを示すスキャン要求を取得する場合に、その後に本スキャンを示すスキャン要求を取得することが予測されるので、最高解像度を有するスキャンデータを生成して、当該スキャンデータを保存しておく。そして、スキャナＳＣは、プレビューを示すスキャン要求に応じて、最高解像度を有するスキャンデータよりも低い解像度を有するプレビュー画像データを供給する。次いで、スキャナＳＣは、本スキャンを示すスキャン要求を取得する場合に、保存済みのスキャンデータを利用いて、当該スキャン要求で指定されている解像度を有する本スキャン画像データを生成して、本スキャン画像データを供給する。この構成でも、スキャナＳＣは、本スキャンを示すスキャン要求を取得する場合に、原稿のスキャンを実行せずに済むので、本スキャン画像データを迅速に供給し得る。ただし、本実施例では、スキャナＳＣは、Semantic方式のジョブ生成要求及びスキャンデータ生成要求を取得しても、それらの要求が、プレビューボタンＢＯ１の選択に起因するものであるのか、スキャンボタンＢＯ２の選択に起因するものであるのか、を区別することができない。従って、Semantic方式の各コマンドが利用される場合には、上記の構成を実現するのが困難である。
【００６１】
上記の実情に鑑みて、本実施例では、端末装置ＴＤ１が、ＩＮＢＯＸのスキャナドライバに従って、Semantic方式の各コマンドをスキャナＳＣに供給する状況でも、スキャンデータＳＤ１を端末装置ＴＤ１に迅速に供給するための技術を提供する。即ち、スキャナＳＣは、スキャンデータＳＤ１とスキャン設定情報ＳＩ１とを含む過去スキャン情報ＰＩ１をメモリ５４に記憶しておく（Ｔ１１４）。そして、スキャナＳＣは、過去スキャン情報ＰＩ１がメモリ５４に記憶されている状態で、端末装置ＴＤ１からスキャン設定情報ＳＩ１を含むジョブ生成要求１２０を取得し、その後、端末装置ＴＤ１からスキャンデータ生成要求１３０を取得する。この場合、スキャナＳＣは、過去スキャン情報ＰＩ１内のスキャン設定情報ＳＩ１とジョブ生成要求１２０内のスキャン設定情報ＳＩ１とが一致すると判断し、原稿ＤＣ１のスキャンを実行せずに、メモリ５４内のスキャンデータＳＤ１を端末装置ＴＤ１に供給する。このように、スキャナＳＣは、端末装置ＴＤ１がＩＮＢＯＸのスキャナドライバのみを備える状況でも、スキャンデータＳＤ１を端末装置ＴＤ１に迅速に供給することができる。
【００６２】
（ケースＢ；図７）
図７のケースＢでは、端末装置ＴＤ１のユーザが、あるスキャン設定情報に従ったプレビュー画像を見た後に、当該スキャン設定情報とは異なるスキャン設定情報に従ったスキャンデータを端末装置ＴＤ１内の所定の記憶領域に記憶させる状況を想定している。ケースＢの初期状態は、図６のケースＡの初期状態と同じである。
【００６３】
Ｔ２１０〜Ｔ２１８及び各コマンド２００，２０２，２１０，２１２は、図６のＴ１１０〜Ｔ１１８及び各コマンド１００，１０２，１１０，１１２と同様である。ユーザは、Ｔ２１８で表示されるプレビュー画像を見た後に、Ｔ２１９において、スキャン指示画面ＩＳ内の項目領域Ａ１〜Ａ６（図１参照）のいずれかの内容を変更し、Ｔ２２０において、スキャンボタンＢＯ２を選択する。この場合、端末装置ＴＤ１は、スキャン設定情報ＳＩ１とは異なるスキャン設定情報ＳＩ２を含むジョブ生成要求２２０をスキャナＳＣに供給する。
【００６４】
スキャナＳＣは、端末装置ＴＤ１からジョブ生成要求２２０を取得すると（図３のＳ１０）、Ｔ２２２において、ジョブＩＤ［００２］を生成して、ジョブＩＤ［００２］とスキャン設定情報ＳＩ２とを含むジョブ情報ＪＩ２を記憶する（Ｓ１２）。その後に通信される各コマンド２２２，２３０は、図６の各コマンド１２２，１３０と同様である。
【００６５】
スキャナＳＣは、端末装置ＴＤ１からスキャンデータ生成要求２３０を取得すると（Ｓ１６）、過去スキャン情報ＰＩ１がメモリ５４内に存在すると判断し（Ｓ２０でＹＥＳ）、さらに、ジョブ情報ＪＩ２内のスキャン設定情報ＳＩ２と過去スキャン情報ＰＩ１内のスキャン設定情報ＳＩ１とが一致しないと判断する（Ｓ２２でＮＯ）。この場合、Ｔ２２４において、スキャナＳＣは、スキャン設定情報ＳＩ２に従った原稿ＤＣ１のスキャンを実行する（Ｓ３０）。そして、スキャナＳＣは、スキャンデータＳＤ２を生成して、過去スキャン情報ＰＩ１に代えて、スキャンデータＳＤ２とスキャン設定情報ＳＩ２とを含む過去スキャン情報ＰＩ２を記憶する（Ｓ３２でＹＥＳ、Ｓ３４）。次いで、スキャナＳＣは、Ｔ２２４で生成されたスキャンデータＳＤ２を含むスキャンデータ生成応答２３２を端末装置ＴＤ１に供給する（Ｓ３６）。そして、Ｔ２２６において、スキャナＳＣは、メモリ５４からジョブ情報ＪＩ２を消去する（Ｓ５０）。
【００６６】
端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答２３２を取得すると、Ｔ２２８において、スキャンデータＳＤ２を端末装置ＴＤ１内の所定の記憶領域に記憶させる。
【００６７】
（ケースＢの効果）
ユーザが、プレビュー画像を見た後に、スキャン設定情報ＳＩ１をスキャン設定情報ＳＩ２に変更する場合に、スキャナＳＣは、変更後のスキャン設定情報ＳＩ２に従ったスキャンデータＳＤ２を端末装置ＴＤ１に適切に供給することができる。なお、ケースＢの変形例として、スキャナＳＣは、端末装置ＴＤ１とは異なる端末装置ＴＤ２から各コマンド２２０，２３０を取得してもよい。この場合、スキャナＳＣは、スキャン設定情報ＳＩ２に従ったスキャンデータＳＤ２を端末装置ＴＤ２に適切に供給することができる。
【００６８】
（ケースＣ；図８）
図８のケースＣでは、端末装置ＴＤ１のユーザと端末装置ＴＤ２のユーザとが、同じスキャンデータを端末装置ＴＤ１内の所定の記憶領域と端末装置ＴＤ２内の所定の記憶領域とに記憶させる状況を想定している。ケースＣの初期状態は、図６のケースＡの初期状態と同じである。
【００６９】
Ｔ３１０では、端末装置ＴＤ１のユーザは、端末装置ＴＤ１に表示されるスキャン指示画面ＩＳ（図１参照）において、プレビューボタンＢＯ１ではなく、スキャンボタンＢＯ２を選択する。ここで、端末装置ＴＤ１のユーザは、例えば、項目領域Ａ０〜Ａ６に記述されているデフォルトのスキャン設定情報を変更することなく、スキャンボタンＢＯ２を選択する。各コマンド３００，３０２，３１０，３１２及びＴ３１２〜Ｔ３１６は、図６の各コマンド１００，１０２，１１０，１１２及びＴ１１２〜Ｔ１１６と同様である。端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答３１２を取得すると、Ｔ３１８において、スキャンデータＳＤ１を端末装置ＴＤ１内の所定の記憶領域に記憶させる。
【００７０】
次いで、Ｔ３２０では、端末装置ＴＤ２のユーザは、端末装置ＴＤ２に表示されるスキャン指示画面ＩＳ内のスキャンボタンＢＯ２を選択する。なお、端末装置ＴＤ１のユーザは、例えば、デフォルトのスキャン設定情報を利用したことを端末装置ＴＤ２のユーザに事前に伝えておく。この場合、端末装置ＴＤ２のユーザは、項目領域Ａ０〜Ａ６に記述されているデフォルトのスキャン設定情報を変更することなく、スキャンボタンＢＯ２を選択する。この結果、端末装置ＴＤ２は、端末装置ＴＤ１からスキャナＳＣに供給されたスキャン設定情報ＳＩ１に一致するスキャン設定情報ＳＩ１を含むジョブ生成要求３２０をスキャナＳＣに供給することができる。Ｔ３２２〜Ｔ３２８及び各コマンド３２２，３３０，３３２は、端末装置ＴＤ１とは異なる端末装置ＴＤ２が対象であることを除くと、図６のＴ１２２〜Ｔ１２８及び各コマンド１２２，１３０，１３２と同様である。
【００７１】
（ケースＣの効果）
スキャナＳＣは、過去スキャン情報ＰＩ１内のスキャン設定情報ＳＩ１とジョブ生成要求３２０内のスキャン設定情報ＳＩ１とが一致すると判断し、原稿ＤＣ１のスキャンを実行せずに、メモリ５４内のスキャンデータＳＤ１を端末装置ＴＤ２に供給する。スキャナＳＣは、原稿ＤＣ１のスキャンを実行せずに済むので、端末装置ＴＤ２内の所定の記憶領域に記憶されるべきスキャンデータＳＤ１を端末装置ＴＤ２に迅速に供給することができる。
【００７２】
（ケースＤ；図９）
図９のケースＤでは、端末装置ＴＤ１のユーザが、ある原稿を表わすスキャンデータを端末装置ＴＤ１内の所定の記憶領域に記憶させ、その後、さらに、当該原稿とは異なる原稿を表わすスキャンデータを端末装置ＴＤ１内の所定の記憶領域に記憶させる状況を想定している。ケースＤの初期状態は、図６のケースＡの初期状態と同じである。
【００７３】
Ｔ４１０では、端末装置ＴＤ１のユーザは、端末装置ＴＤ１に表示されるスキャン指示画面ＩＳ（図１参照）内のスキャンボタンＢＯ２を選択する。各コマンド４００，４０２，４１０，４１２及びＴ４１２〜Ｔ４１６は、図６の各コマンド１００，１０２，１１０，１１２及びＴ１１２〜Ｔ１１６と同様である。端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答４１２を取得すると、Ｔ４１８において、スキャンデータＳＤ１を端末装置ＴＤ１内の所定の記憶領域に記憶させる。
【００７４】
Ｔ４１９Ａでは、ユーザは、スキャナＳＣの原稿カバー２０を開いて、原稿ＤＣ１を取り除き、原稿ＤＣ２を原稿台１０に載置する。これにより、Ｔ４１９Ｂにおいて、スキャナＳＣは、メモリ５４から過去スキャン情報ＰＩ１を消去する（図５のＳ２００でＹＥＳ、Ｓ２０２）。そして、ユーザは、スキャン指示画面ＩＳ内の項目領域Ａ０〜Ａ６の内容を変更せずに（即ちスキャン設定情報ＳＩ１を変更せずに）、スキャン指示画面ＩＳ内のスキャンボタンＢＯ２を選択する。この場合、端末装置ＴＤ１は、スキャン設定情報ＳＩ１を含むジョブ生成要求４２０をスキャナＳＣに供給する。
【００７５】
Ｔ４２２及び各コマンド４２０，４２２，４３０は、図６のＴ１２２及び各コマンド１２０，１２２，１３０と同様である。スキャナＳＣは、端末装置ＴＤ１からスキャンデータ生成要求４３０を取得すると（Ｓ１６）、過去スキャン情報ＰＩ１がメモリ５４内に存在しないと判断する（Ｓ２０でＮＯ）この場合、Ｔ４２４において、スキャナＳＣは、スキャン設定情報ＳＩ１に従った原稿ＤＣ２のスキャンを実行する（Ｓ３０）。そして、スキャナＳＣは、スキャンデータＳＤ２を生成して、スキャンデータＳＤ２とスキャン設定情報ＳＩ１とを含む過去スキャン情報ＰＩ２を記憶する（Ｓ３２でＹＥＳ、Ｓ３４）。次いで、スキャナＳＣは、Ｔ４２４で生成されたスキャンデータＳＤ２を含むスキャンデータ生成応答４３２を端末装置ＴＤ１に供給する（Ｓ３６）。そして、Ｔ４２６において、スキャナＳＣは、メモリ５４からジョブ情報ＪＩ２を消去する。
【００７６】
端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答４３２を取得すると、Ｔ４２８において、スキャンデータＳＤ２を端末装置ＴＤ１内の所定の記憶領域に記憶させる。
【００７７】
（ケースＤの効果）
スキャナＳＣは、原稿ＤＣ１に代えて原稿ＤＣ２が載置される場合に、メモリ５４から過去スキャン情報ＰＩ１を消去する。従って、スキャナＳＣは、端末装置ＴＤ１からスキャンデータ生成要求４３０を取得する場合に、メモリ５４内に過去スキャン情報ＰＩ１が存在しないと判断する。この場合、スキャナＳＣは、原稿ＤＣ２のスキャンを実行して、スキャンデータＳＤ２を生成し（Ｔ４２４）、スキャンデータＳＤ２を含むスキャンデータ生成応答４３２を端末装置ＴＤ１に供給する。このように、ユーザが原稿ＤＣ１に代えて原稿ＤＣ２をスキャナＳＣに載置する場合に、スキャナＳＣは、原稿ＤＣ２を表わすスキャンデータＳＤ２を端末装置ＴＤ１に適切に供給することができる。なお、ケースＤの変形例として、スキャナＳＣは、端末装置ＴＤ１とは異なる端末装置ＴＤ２から各コマンド４２０，４３０を取得してもよい。この場合、スキャナＳＣは、原稿ＤＣ２を表わすスキャンデータＳＤ２を端末装置ＴＤ２に適切に供給することができる。
【００７８】
また、本実施例では、スキャナＳＣは、一般的なスキャナに通常設けられるカバーセンサ３６を利用して、原稿ＤＣ１に代えて原稿ＤＣ２が載置されたことを判断する。従って、原稿が変更されたことを検知するための特別な構成を設けずに済む。また、原稿ＤＣ１に代えて原稿ＤＣ２が載置される場合に、メモリ５４から過去スキャン情報ＰＩ１が消去される。このために、端末装置ＴＤ１から要求されたスキャンデータＳＤ２とは異なるスキャンデータＳＤ１が端末装置ＴＤ１に誤って供給されることを防止することができる。なお、本実施例では、スキャナＳＣは、原稿カバー２０が開かれた後に、同じ原稿ＤＣ１が載置される場合でも、メモリ５４から過去スキャン情報ＰＩ１を消去する。換言すると、スキャナＳＣは、原稿が変更された可能性があることを検知する場合に、メモリ５４から過去スキャン情報ＰＩ１を消去する。そして、スキャナＳＣは、原稿ＤＣ２（同じ原稿ＤＣ１が載置された場合には原稿ＤＣ１）のスキャンを実行して、スキャンデータＳＤ２を生成し、スキャンデータＳＤ２を含むスキャンデータ生成応答４３２を端末装置ＴＤ１に供給する。
【００７９】
（ケースＥ；図１０）
図１０のケースＥでは、原稿カバー２０（図１参照）が開かれている状態で、例えば本等の比較的に厚い原稿のスキャンが実行される状況を想定している。従って、ケースＥの初期状態では、スキャナＳＣは、カバーオープン状態であると共に、過去スキャン情報を記憶していない。
【００８０】
Ｔ５１０では、ユーザは、端末装置ＴＤ１に表示されるスキャン指示画面ＩＳ（図１参照）内のスキャンボタンＢＯ２を選択する。この場合、端末装置ＴＤ１は、スキャン設定情報ＳＩ１を含むジョブ生成要求５００をスキャナＳＣに供給する。
【００８１】
スキャナＳＣは、端末装置ＴＤ１からジョブ生成要求５００を取得すると（図４のＳ１１０）、Ｔ５１２において、ジョブ情報ＪＩ１を記憶する（Ｓ１１２）。次いで、スキャナＳＣは、ジョブ生成応答５０２を端末装置ＴＤ１に供給し（Ｓ１１４）、端末装置ＴＤ１からスキャンデータ生成要求５１０を取得し（Ｓ１１６）、Ｔ５１４において、スキャン設定情報ＳＩ１に従った原稿ＤＣ１のスキャンを実行して（Ｓ１３０）、スキャンデータＳＤ１を生成する（Ｓ１３６）。ただし、スキャナＳＣは、過去スキャン情報を記憶しない。次いで、スキャナＳＣは、スキャンデータＳＤ１を含むスキャンデータ生成応答５１２を端末装置ＴＤ１に供給する（Ｓ１３６）。そして、Ｔ５１６において、スキャナＳＣは、メモリ５４からジョブ情報ＪＩ１を消去する（Ｓ１５０）。
【００８２】
端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答５１２を取得すると、Ｔ５１８において、スキャンデータＳＤ１を端末装置ＴＤ１内の所定の記憶領域に記憶させる。
【００８３】
Ｔ５１９において、ユーザは、スキャナＳＣの原稿カバー２０が開かれている状態を維持しながら、例えば本の第１のページである原稿ＤＣ１に代えて、同じ本の第２のページである原稿ＤＣ２を原稿台１０に載置する。その後、ユーザは、スキャン設定情報ＳＩ１を変更せずに、Ｔ５２０において、スキャン指示画面ＩＳ内のスキャンボタンＢＯ２を選択する。この場合、端末装置ＴＤ１は、スキャン設定情報ＳＩ１を含むジョブ生成要求５２０をスキャナＳＣに供給する。
【００８４】
スキャナＳＣは、端末装置ＴＤ１からジョブ生成要求５２０を取得すると（図４のＳ１１０）、Ｔ５２２において、ジョブ情報ＪＩ２を記憶する（Ｓ１１２）。次いで、スキャナＳＣは、ジョブ生成応答５２２を端末装置ＴＤ１に供給し（Ｓ１１４）、端末装置ＴＤ１からスキャンデータ生成要求５３０を取得し（Ｓ１１６）、Ｔ５２４において、スキャン設定情報ＳＩ１に従った原稿ＤＣ２のスキャンを実行して（Ｓ１３０）、スキャンデータＳＤ２を生成する（Ｓ１３６）。ここでも、スキャナＳＣは、過去スキャン情報を記憶しない。次いで、スキャナＳＣは、スキャンデータＳＤ２を含むスキャンデータ生成応答５３２を端末装置ＴＤ１に供給する（Ｓ１３６）。そして、Ｔ５２６において、スキャナＳＣは、メモリ５４からジョブ情報ＪＩ２を消去する（Ｓ１５０）。
【００８５】
端末装置ＴＤ１は、スキャナＳＣからスキャンデータ生成応答５３２を取得すると、Ｔ５２８において、スキャンデータＳＤ２を端末装置ＴＤ１内の所定の記憶領域に記憶させる。
【００８６】
（ケースＥの効果）
スキャナＳＣがカバーオープン状態である状況では、ユーザが原稿ＤＣ１に代えて原稿ＤＣ２をスキャナＳＣに載置したことを判断するのが困難である。従って、本実施例では、スキャナＳＣは、カバーオープン状態で原稿ＤＣ１のスキャンを実行する場合に、過去スキャン情報を記憶しない。これにより、端末装置ＴＤ１から要求されたスキャンデータＳＤ２とは異なるスキャンデータＳＤ１が端末装置ＴＤ１に誤って供給されることを防止することができる。そして、スキャナＳＣは、カバーオープン状態で原稿ＤＣ２のスキャンを実行する場合に、原稿ＤＣ２のスキャンを実行して、スキャンデータＳＤ２を含むスキャンデータ生成応答５３２を端末装置ＴＤ１に供給する。ユーザが原稿ＤＣ１に代えて原稿ＤＣ２をスキャナＳＣに載置する場合に、スキャナＳＣは、原稿ＤＣ２を表わすスキャンデータＳＤ２を端末装置ＴＤ１に適切に供給することができる。なお、ケースＥの変形例として、スキャナＳＣは、端末装置ＴＤ１とは異なる端末装置ＴＤ２から各コマンド５２０，５３０を取得してもよい。この場合、スキャナＳＣは、原稿ＤＣ２を表わすスキャンデータＳＤ２を端末装置ＴＤ２に適切に供給することができる。
【００８７】
（対応関係）
端末装置ＴＤ１、端末装置ＴＤ２が、それぞれ、「第１の外部装置」、「第２の外部装置」の一例である。原稿台１０に対して原稿カバー２０を開くための動作が、「第１の原稿をスキャナから取り除くためのユーザ動作」の一例である。図３のＳ２２において、明るさの過去設定値（又はコントラストの過去設定値）、明るさの対象設定値（又はコントラストの対象設定値）が、それぞれ、「第１の設定値」、「第２の設定値」の一例である。また、明るさの過去設定値のプラスマイナス５％の数値範囲が、「所定の数値範囲」の一例である。図３のＳ２２でＮＯの場合、ＹＥＳの場合が、それぞれ、「第１の場合」、「第２の場合」の一例である。図３のＳ２０でＮＯの場合が、「第３の場合」の一例である。また、図４のＳ１１０及び１１６で各コマンドが取得される場合が、「第４の場合」の一例である。
【００８８】
図６〜図１０のケースＡ〜Ｅでは、スキャンデータＳＤ１、スキャンデータＳＤ２が、それぞれ、「第１のスキャンデータ」、「第２のスキャンデータ」の一例である。図６〜図８のケースＡ〜Ｃでは、原稿ＤＣ１が、「第１の原稿」及び「第２の原稿」の一例である。また、図９及び図１０のケースＤ及びＥでは、原稿ＤＣ１、原稿ＤＣ２が、それぞれ、「第１の原稿」、「第２の原稿」の一例である。
【００８９】
例えば、図６のケースＡでは、ジョブ生成要求１００及びスキャンデータ生成要求１１０が、「第１のスキャン要求」の一例であり、ジョブ生成要求１２０及びスキャンデータ生成要求１３０が、「第２のスキャン要求」の一例である。ジョブ生成要求１００、スキャンデータ生成要求１１０、ジョブ生成要求１２０、スキャンデータ生成要求３１０が、それぞれ、「第１のジョブ生成要求」、「第１のスキャンデータ生成要求」、「第２のジョブ生成要求」、「第２のスキャンデータ生成要求」の一例である。ジョブ生成応答１０２、ジョブ生成応答１２２が、それぞれ、「第１の応答」、「第２の応答」の一例である。ジョブＩＤ［００１］、ジョブＩＤ［００２］が、それぞれ、「第１のジョブＩＤ」、「第２のジョブＩＤ」の一例である。
【００９０】
例えば、図６及び図８のケースＡ及びＣでは、ジョブ生成要求１００（又は３００）内のスキャン設定情報ＳＩ１、ジョブ生成要求１２０（又は３２０）内のスキャン設定情報ＳＩ１が、それぞれ、「第１のスキャン設定情報」、「第２のスキャン設定情報」の一例である。例えば、図７のケースＢでは、ジョブ生成要求２００内のスキャン設定情報ＳＩ１、ジョブ生成要求２２０内のスキャン設定情報ＳＩ２が、それぞれ、「第１のスキャン設定情報」、「第２のスキャン設定情報」の一例である。
【００９１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００９２】
（変形例１）上記の実施例では、端末装置とスキャナＳＣとの間では、Semantic方式に従ったスキャン要求（即ちジョブ生成要求及びスキャンデータ生成要求）が通信される。これに代えて、端末装置とスキャナＳＣとの間では、Semantic方式とは異なる方式に従ったスキャン要求が通信されてもよい。例えば、端末装置は、スキャナＳＣのベンダによって提供されるスキャナドライバを備えていてもよい。この場合、スキャナＳＣは、端末装置から、当該スキャナドライバに従ったスキャン要求を取得してもよい。即ち、「スキャン要求」は、スキャンの実行をスキャナに要求するためのコマンドであればよい。
【００９３】
（変形例２）上記の実施例では、スキャナＳＣは、カバーセンサ３６を利用して、原稿をスキャナから取り除くためのユーザ動作を検知する（図５のＳ２００）。これに代えて、スキャナＳＣは、例えば、原稿サイズを検知するためのサイズセンサを備えていてもよい。そして、スキャナＳＣは、サイズセンサの出力値が、原稿サイズが変化したことを示す場合に、原稿をスキャナから取り除くためのユーザ動作を検知してもよい（図５のＳ２００でＹＥＳ）。また、別の変形例では、スキャナＳＣは、例えば、原稿が載置されているのか否かを検知するための載置センサを備えていてもよい。そして、スキャナＳＣは、載置センサの出力値が、原稿が載置されている状態から載置されていない状態に変化したことを示す場合に、原稿をスキャナから取り除くためのユーザ動作を検知してもよい（図５のＳ２００でＹＥＳ）。
【００９４】
（変形例３）スキャナＳＣは、原稿をスキャナから取り除くためのユーザ動作を検知せず、図５の処理を実行しなくてもよい。本変形例でも、図６のケースＡ及び図７のケースＣのように、スキャナＳＣは、スキャンデータを端末装置に迅速に供給し得る。一般的に言うと、「検知部」は省略可能である。
【００９５】
（変形例４）「スキャナ」は、スキャン機能に加えて、印刷機能、ＦＡＸ機能、電話機能等を備える多機能機であってもよい。即ち、「スキャナ」は、少なくともスキャン機能を備えていればよい。
【００９６】
（変形例５）上記の実施例では、スキャナＳＣのＣＰＵ５２がプログラムＰＧ（即ちソフトウェア）を実行することによって、図３〜図５の各処理が実現される。これに代えて、これらの各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００９７】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００９８】
２：通信システム、ＳＣ：スキャナ、ＴＤ１，ＴＤ２：端末装置、ＩＳ：スキャン指示画面、Ａ０〜Ａ６：項目領域、ＰＡ：プレビュー領域、ＢＯ１：プレビューボタン、ＢＯ２：スキャンボタン、１０：原稿台、１２：筐体、１４：透明板、２０：原稿カバー、３０：操作部、３２：表示部、３４：スキャン実行部、３６：カバーセンサ、３８：ＬＡＮインターフェース、５０：制御部、５２：ＣＰＵ、５４：メモリ、プログラムＰＧ、ＪＩ，ＪＩ１，ＪＩ２：ジョブ情報、ＰＩ，ＰＩ１，ＰＩ２：過去スキャン情報、ＳＤ，ＳＤ１，ＳＤ２：スキャンデータ、ＳＩ，ＳＩ１，ＳＩ２：スキャン設定情報、ＤＣ１，ＤＣ２：原稿、１００，１２０，２００，２２０，３００，３２０，４００，４２０，５００，５２０：ジョブ生成要求、１０２，１２２，２０２，２２２，３０２，３２２，４０２，４２２，５０２，５２２：ジョブ生成応答、１１０，１３０，２１０，２３０，３１０，３３０，４１０，４３０，５１０，５３０：スキャンデータ生成要求、１１２，１３２，２１２，２３２，３１２，３３２，４１２，４３２，５１２，５３２：スキャンデータ生成応答
【図１】
0006417793.tif 000002
【図２】
0006417793.tif 000003
【図３】
0006417793.tif 000004
【図４】
0006417793.tif 000005
【図５】
0006417793.tif 000006
【図６】
0006417793.tif 000007
【図７】
0006417793.tif 000008
【図８】
0006417793.tif 000009
【図９】
0006417793.tif 000010
【図１０】
0006417793.tif 000011