(57)【要約】【課題】  サーバから受信されるスキャンコマンドに応じて、スキャンデータを用いて得られるファイルを複数個の通信プロトコルに従った複数個のデータ送信先に送信することができる技術を提供すること。【解決手段】  スキャナは、サーバからスキャンコマンドを受信する場合に、原稿のスキャンをスキャンエンジンに実行させる。スキャナは、スキャンコマンドから第１の通信プロトコルに従ったデータ送信先を示す第１の送信先情報を抽出し、スキャンデータを用いて得られる第１のファイルを、第１の通信プロトコルに従って、第１の送信先情報によって示される第１の外部装置に送信し、スキャンコマンドから第２の通信プロトコルに従ったデータ送信先を示す第２の送信先情報を抽出し、スキャンデータを用いて得られる第２のファイルを、第２の通信プロトコルに従って、第２の送信先情報によって示される第２の外部装置に送信する。【選択図】図５
2018074290.tif 000002
【特許請求の範囲】
【請求項１】
スキャナであって、
スキャンエンジンと、
通信インターフェースと、
前記通信インターフェースを介して、サーバからスキャンコマンドを受信する第１の受信部であって、前記スキャンコマンドは、第１の通信プロトコルに従ったデータ送信先を示す第１の送信先情報と、前記第１の通信プロトコルとは異なる第２の通信プロトコルに従ったデータ送信先を示す第２の送信先情報と、を含む、前記第１の受信部と、
前記スキャンコマンドが受信される場合に、原稿のスキャンを前記スキャンエンジンに実行させて、前記スキャンエンジンからスキャンデータを取得するエンジン制御部と、
前記スキャンコマンドから前記第１の送信先情報を抽出する第１の抽出部と、
前記スキャンデータを用いて得られる第１のファイルを、前記通信インターフェースを介して、前記第１の通信プロトコルに従って、抽出済みの前記第１の送信先情報によって示される第１の外部装置に送信する第１のファイル送信部と、
前記スキャンコマンドから前記第２の送信先情報を抽出する第２の抽出部と、
前記スキャンデータを用いて得られる第２のファイルを、前記通信インターフェースを介して、前記第２の通信プロトコルに従って、抽出済みの前記第２の送信先情報によって示される第２の外部装置に送信する第２のファイル送信部と、
を備えるスキャナ。
【請求項２】
前記スキャナは、さらに、
複数個の通信プロトコルに対応する複数個の文字列を格納するメモリを備え、
前記第１の抽出部は、前記スキャンコマンドから、前記複数個の文字列のうち、前記第１の通信プロトコルに対応する第１の文字列に関係する第１の記述領域を特定して、前記第１の記述領域に記述されている前記第１の送信先情報を抽出し、
前記第２の抽出部は、前記スキャンコマンドから、前記複数個の文字列のうち、前記第２の通信プロトコルに対応する第２の文字列に関係する第２の記述領域を特定して、前記第２の記述領域に記述されている前記第２の送信先情報を抽出する、請求項１に記載のスキャナ。
【請求項３】
前記スキャナは、さらに、
前記スキャンコマンドが受信される場合に、前記第１の外部装置及び前記第２の外部装置のそれぞれについて、当該外部装置との通信を実行可能であるのか否かを確認する確認部を備え、
前記エンジン制御部は、前記第１の外部装置についての前記確認と前記第２の外部装置についての前記確認との双方が完了した後に、前記原稿の前記スキャンを前記スキャンエンジンに実行させる、請求項１又は２に記載のスキャナ。
【請求項４】
前記エンジン制御部は、
前記第１の外部装置及び前記第２の外部装置の双方との通信を実行可能であると確認される場合に、前記原稿の前記スキャンを前記スキャンエンジンに実行させ、
前記第１の外部装置及び前記第２の外部装置のうちの少なくとも一方との通信を実行可能でないと確認される場合に、前記原稿の前記スキャンを前記スキャンエンジンに実行させない、請求項３に記載のスキャナ。
【請求項５】
前記スキャナは、さらに、
前記スキャンデータを利用して、第１のファイル名を有する前記第１のファイルを生成する第１の生成部と、
前記スキャンデータを利用して、前記第１のファイル名とは異なる第２のファイル名を有する前記第２のファイルを生成する第２の生成部と、
を備える、請求項１から４のいずれか一項に記載のスキャナ。
【請求項６】
前記スキャンコマンドは、さらに、前記第１の送信先情報に関連付けられている前記第１のファイル名と、前記第２の送信先情報に関連付けられている前記第２のファイル名と、を含み、
前記第１の生成部は、前記スキャンコマンドに含まれる前記第１のファイル名を有する前記第１のファイルを生成し、
前記第２の生成部は、前記スキャンコマンドに含まれる前記第２のファイル名を有する前記第２のファイルを生成する、請求項５に記載のスキャナ。
【請求項７】
前記スキャンコマンドは、さらに、第１のファイル形式を示す形式情報を含み、
前記スキャナは、さらに、
前記第１の外部装置及び前記第２の外部装置のそれぞれについて、当該外部装置が所定の外部装置であるのか否かを判断する判断部と、
前記第１の外部装置が前記所定の外部装置でないと判断される場合に、前記スキャンデータを利用して、前記スキャンコマンドに含まれる前記形式情報によって示される前記第１のファイル形式を有する前記第１のファイルを生成する第１の生成部と、
前記第２の外部装置が前記所定の外部装置であると判断される場合に、前記スキャンデータを利用して、前記スキャンコマンドに含まれる前記形式情報が前記第１のファイル形式を示すにも関わらず、前記第１のファイル形式とは異なる第２のファイル形式を有する前記第２のファイルを生成する第２の生成部と、
を備える、請求項１から６のいずれか一項に記載のスキャナ。
【請求項８】
前記スキャナは、さらに、
前記第２の外部装置が前記所定の外部装置であると判断される場合に、前記所定の外部装置である前記第２の外部装置から、前記第２のファイル形式を示す特定情報を受信する第２の受信部を備え、
前記第２の生成部は、受信済みの前記特定情報に従って、前記特定情報によって示される前記第２のファイル形式を有する前記第２のファイルを生成する、請求項７に記載のスキャナ。
【請求項９】
前記スキャナは、さらに、
前記第１の外部装置への前記第１のファイルの送信と前記第２の外部装置への前記第２のファイルの送信との双方が完了した後に、前記通信インターフェースを介して、前記第１のファイルの送信結果と前記第２のファイルの送信結果との双方を示す結果情報を前記サーバに送信する結果情報送信部を備える、請求項１から８のいずれか一項に記載のスキャナ。
【請求項１０】
前記第１の通信プロトコル及び前記第２の通信プロトコルのそれぞれは、ＦＴＰ（File Transfer Protocolの略）、ＳＦＴＰ（SSH File Transfer Protocolの略）、ＨＴＴＰ（Hyper Text Transfer Protocolの略）、ＨＴＴＰＳ（Hyper Text Transfer Protocol Secureの略）、ＳＭＴＰ（Simple Mail Transfer Protocolの略）、ＣＩＦＳ（Common Internet File Systemの略）に応じたプロトコル、ＳｈａｒｅＰｏｉｎｔに応じたプロトコル、及び、ＵＳＢ（Universal Serial Busの略）に応じたプロトコルのいずれかである、請求項１から９のいずれか一項に記載のスキャナ。
【請求項１１】
スキャナのためのコンピュータプログラムであって、
前記スキャナに搭載されるコンピュータを、
前記スキャナの通信インターフェースを介して、サーバからスキャンコマンドを受信する受信部であって、前記スキャンコマンドは、第１の通信プロトコルに従ったデータ送信先を示す第１の送信先情報と、前記第１の通信プロトコルとは異なる第２の通信プロトコルに従ったデータ送信先を示す第２の送信先情報と、を含む、前記受信部と、
前記スキャンコマンドが受信される場合に、原稿のスキャンを前記スキャナのスキャンエンジンに実行させて、前記スキャンエンジンからスキャンデータを取得するエンジン制御部と、
前記スキャンコマンドから前記第１の送信先情報を抽出する第１の抽出部と、
前記スキャンデータを用いて得られる第１のファイルを、前記通信インターフェースを介して、前記第１の通信プロトコルに従って、抽出済みの前記第１の送信先情報によって示される第１の外部装置に送信する第１のファイル送信部と、
前記スキャンコマンドから前記第２の送信先情報を抽出する第２の抽出部と、
前記スキャンデータを用いて得られる第２のファイルを、前記通信インターフェースを介して、前記第２の通信プロトコルに従って、抽出済みの前記第２の送信先情報によって示される第２の外部装置に送信する第２のファイル送信部と、
して機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、スキャンデータを用いて得られるファイルを外部装置に送信するスキャナを開示する。
【背景技術】
【０００２】
下記の特許文献１に開示されている多機能機は、仲介サーバからアップロード開始指示を受信する場合に、スキャン処理を実行し、スキャンデータファイルをサービス提供サーバに送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６７７６８号公報
【特許文献２】特開２０１５―１３９１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、スキャンデータファイルを１個のデータ送信先（即ちサービス提供サーバ）のみに送信することしか想定されていない。本明細書では、サーバから受信されるスキャンコマンドに応じて、スキャンデータを用いて得られるファイルを複数個の通信プロトコルに従った複数個のデータ送信先に送信することができる技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書によって開示されるスキャナは、スキャンエンジンと、通信インターフェースと、前記通信インターフェースを介して、サーバからスキャンコマンドを受信する受信部であって、前記スキャンコマンドは、第１の通信プロトコルに従ったデータ送信先を示す第１の送信先情報と、前記第１の通信プロトコルとは異なる第２の通信プロトコルに従ったデータ送信先を示す第２の送信先情報と、を含む、前記受信部と、前記スキャンコマンドが受信される場合に、原稿のスキャンを前記スキャンエンジンに実行させて、前記スキャンエンジンからスキャンデータを取得するエンジン制御部と、前記スキャンコマンドから前記第１の送信先情報を抽出する第１の抽出部と、前記スキャンデータを用いて得られる第１のファイルを、前記通信インターフェースを介して、前記第１の通信プロトコルに従って、抽出済みの前記第１の送信先情報によって示される第１の外部装置に送信する第１のファイル送信部と、前記スキャンコマンドから前記第２の送信先情報を抽出する第２の抽出部と、前記スキャンデータを用いて得られる第２のファイルを、前記通信インターフェースを介して、前記第２の通信プロトコルに従って、抽出済みの前記第２の送信先情報によって示される第２の外部装置に送信する第２のファイル送信部と、を備えていてもよい。
【０００６】
上記の技術では、スキャナは、サーバから、複数個の通信プロトコルに従った複数個のデータ送信先を示す複数個の送信先情報を含むスキャンコマンドを受信する。この場合、スキャナは、第１の通信プロトコルに従って、スキャンデータを用いて得られる第１のファイルを第１の外部装置に送信し、第２の通信プロトコルに従って、同じスキャンデータを用いて得られる第２のファイルを第２の外部装置に送信する。このように、スキャナは、サーバから受信されるスキャンコマンドに応じて、スキャンデータを用いて得られるファイルを複数個の通信プロトコルに従った複数個のデータ送信先に送信することができる。
【０００７】
上記のスキャナを実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を模式的に示す。
【図２】スキャンコマンドの一例を示す。
【図３】スキャナによって実行される処理のフローチャートを示す。
【図４】生成送信処理のフローチャートを示す。
【図５】スキャナ及び各サーバによって実行される各処理のシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（通信システム２の構成；図１）
通信システム２は、スキャナ１０と、管理サーバ５０と、複数個の保存サーバ１００，１１０，１２０と、を備える。各デバイス１０，５０，１００〜１２０は、同じＬＡＮ４（Local Area Networkの略）に接続されており、相互に通信可能である。変形例では、各サーバ５０，１００〜１２０のうちの少なくとも１個のサーバは、スキャナ１０と同じＬＡＮ４に接続されていなくてもよく、インターネット上に設置されていてもよい。
【００１０】
（スキャナ１０の構成）
スキャナ１０は、スキャン機能を実行可能な周辺装置（即ち図示省略のＰＣ（Personal Computerの略）等の周辺装置）である。スキャナ１０は、スキャン機能のみならず、印刷機能、ＦＡＸ機能、電話機能等を実行可能な多機能機であってもよい。
【００１１】
スキャナ１０は、操作部１２と、表示部１４と、ネットワークインターフェース１６と、スキャンエンジン１８と、制御部３０と、を備える。操作部１２は、複数個のボタンを含む。ユーザは、操作部１２を操作することによって、様々な指示をスキャナ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。表示部１４は、タッチパネルとしても機能する。即ち、表示部１４は、操作部としても機能する。ネットワークインターフェース１６は、ＬＡＮ４に接続されている。スキャンエンジン１８は、ＣＣＤ（Charge Coupled Deviceの略）イメージセンサ、ＣＩＳ（Contact Image Sensorの略）等のスキャン機構を備える。
【００１２】
制御部３０は、ＣＰＵ３２とメモリ３４とを備える。メモリ３４は、ＲＯＭ（Read Only Memoryの略）、ＲＡＭ（Random Access Memoryの略）等によって構成される。ＣＰＵ３２は、メモリ３４に格納されているプログラム４０に従って、様々な処理（例えば後述の図３及び図４の処理）を実行するプロセッサである。
【００１３】
メモリ３４は、さらに、文字列情報４２を格納する。文字列情報４２は、スキャナ１０がスキャンデータを用いて得られるスキャンファイルを保存サーバ１００等に送信するために利用可能な複数個の通信プロトコルに対応する複数個の文字列を含む。本実施例では、スキャナ１０は、ＦＴＰ（File Transfer Protocolの略）、ＣＩＦＳ（Common Internet File Systemの略）に応じたプロトコル、及び、ＨＴＴＰ（Hyper Text Transfer Protocolの略）を利用可能である。従って、文字列情報４２は、「ＦＴＰ」、「ＣＩＦＳ」、及び、「ＨＴＴＰ」の３個の文字列を含む。
【００１４】
（他のデバイス５０，１００〜１２０の構成）
管理サーバ５０は、スキャンコマンド６０を格納する。スキャンコマンド６０は、スキャナ１０にスキャンを実行させるためのコマンドであり、通信システム２の管理者によって管理サーバ５０に予め格納される。このように管理サーバ５０がスキャンコマンド６０を格納しているので、１個のスキャナ１０のみならず、複数個のスキャナがＬＡＮ４に接続されている状況において、管理サーバ５０は、同じコマンド６０を複数個のスキャナに送信することができる。本実施例では、特に、スキャンコマンド６０は、複数個の通信プロトコルに従った複数個のデータ送信先に同じ原稿画像を表わすスキャンファイルを保存させるためのコマンドである。
【００１５】
ＦＴＰサーバ１００、ＣＩＦＳサーバ１１０、ＨＴＴＰサーバ１２０は、それぞれ、ＦＴＰ、ＣＩＦＳに応じたプロトコル、ＨＴＴＰに従ったデータ通信をスキャナ１０と実行して、スキャナ１０からスキャンファイルを受信する場合に、スキャンファイルを保存する。なお、変形例では、管理サーバ５０が保存サーバを兼用していてもよい。即ち、管理サーバ５０は、スキャンコマンド６０をスキャナに送信することに応じて、ＦＴＰ、ＣＩＦＳ、及び、ＨＴＴＰのいずれかに従って、スキャナ１０からスキャンファイルを受信して保存してもよい。
【００１６】
（スキャンコマンド６０の一例；図２）
続いて、図２を参照して、管理サーバ５０に格納されるスキャンコマンド６０について説明する。スキャンコマンド６０は、保存設定を記述するための保存設定領域７０と、スキャン設定を記述するためのスキャン設定領域９０と、を含む。保存設定領域７０は、「ＦＴＰ」を示す文字列８１Ａ，８２Ａによって画定（即ち定義）される送信情報領域８０Ａと、「ＨＴＴＰ」を示す文字列８１Ｂ，８２Ｂによって画定される送信情報領域８０Ｂと、を含む。
【００１７】
送信情報領域８０Ａでは、複数個の情報８３Ａ〜８７Ａが関連付けられている。情報８３Ａは、ＦＴＰサーバ１００のサーバアドレス８３Ａである。情報８４Ａ，８５Ａは、ＦＴＰサーバ１００にログインするためのユーザ名及びパスワードである。情報８６Ａは、スキャンファイルが保存されるべきＦＴＰサーバ１００内のフォルダを示すフォルダ名である。情報８７Ａは、スキャンファイルに付されるべきファイル名である。
【００１８】
送信情報領域８０Ｂでは、ＨＴＴＰサーバ１２０に関する情報が記述されている点を除くと、送信情報領域８０Ａ内の情報８３Ａ〜８７Ａと同様の情報８３Ｂ〜８７Ｂが関連付けられている。なお、スキャンコマンド６０は、上記の２個の領域８０Ａ，８０Ｂのうちの少なくとも一方に代えて、又は、それらに加えて、ＣＩＦＳサーバ１１０に関する情報が記述されている送信情報領域を含んでいてもよい。
【００１９】
スキャン設定領域９０には、スキャン解像度を示す解像度情報９１と、ファイル形式を示す形式情報９２と、が記述されている。この例では、解像度情報９１が「６００ｄｐｉ」を示し、かつ、形式情報９２が「ＰＤＦ」を示すので、スキャナ１０は、通常、スキャンコマンド６０に応じて、６００ｄｐｉのスキャン解像度に従って原稿のスキャンを実行し、ＰＤＦ形式を有するスキャンファイルを生成する。なお、変形例では、形式情報９２は、「ＰＤＦ」に代えて、「ＪＰＥＧ（Joint Photographic Experts Groupの略）」、「ＴＩＦＦ（Tagged Image File Formatの略）」等の他のファイル形式を示していてもよい。なお、変形例では、スキャンコマンド６０は、テキスト形式ではなく、バイナリ形式で記述されていてもよい。
【００２０】
（スキャナ１０によって実行される処理；図３）
続いて、図３を参照して、スキャナ１０のＣＰＵ３２がプログラム４０に従って実行する処理の内容を説明する。ユーザは、複数個の保存サーバに同じ原稿画像を表わすスキャンファイルを保存することを望む場合に、スキャナ１０の表示部１４に表示されるメニュー画面において、文字列「スキャンｔｏマルチ」を示すボタンを操作する。この場合、ＣＰＵ３２は、図３の処理を開始する。なお、上記のメニュー画面は、スキャナ１０に保存されていてもよいし、管理サーバ５０に保存されていてもよい。後者の場合、ＣＰＵ３２は、管理サーバ５０からメニュー画面を表わすデータを受信して、当該データを利用してメニュー画面を表示部１４に表示させる。また、以下のいずれの通信もネットワークインターフェース１６を介して実行されるので、以下では、「ネットワークインターフェース１６を介して」という説明を省略する。
【００２１】
Ｓ１０では、ＣＰＵ３２は、操作情報を管理サーバ５０に送信する。操作情報は、文字列「スキャンｔｏマルチ」を示すボタンが操作されたことを示す情報である。ＣＰＵ３２は、操作情報を管理サーバ５０に送信することに応じて、Ｓ１２において、管理サーバ５０からスキャンコマンド６０を受信する。
【００２２】
Ｓ２０では、ＣＰＵ３２は、受信済みのスキャンコマンド６０から、メモリ３４内の文字列情報４２に含まれる１個の文字列（例えば「ＦＴＰ」）によって画定される１個の送信情報領域（例えば図２の８０Ａ）を特定する。そして、Ｓ２２では、ＣＰＵ３２は、特定済みの送信情報領域から、サーバアドレス、ユーザ名、及び、パスワード（例えば図２の８３Ａ〜８５Ａ）を抽出する。以下では、ここで抽出される情報のことを「送信先情報」と呼ぶ。本実施例では、メモリ３４が文字列情報４２を格納しているので、ＣＰＵ３２は、文字列情報４２に含まれる文字列によって画定される送信情報領域を適切に特定することができ、この結果、特定済みの送信情報領域から送信先情報を適切に抽出することができる。
【００２３】
Ｓ２４では、ＣＰＵ３２は、抽出済みの送信先情報に含まれるサーバアドレスによって示される保存サーバ（例えばＦＴＰサーバ１００）にログイン要求を送信する。ログイン要求は、抽出済みの送信先情報に含まれるサーバアドレス、ユーザ名、及び、パスワードを含む。当該サーバアドレスによって示される保存サーバが存在し、かつ、当該ユーザ名及び当該パスワードが保存サーバに登録されている場合には、ＣＰＵ３２は、保存サーバからログイン成功通知を受信する。当該ユーザ名及び当該パスワードが保存サーバに登録されていない場合には、ＣＰＵ３２は、保存サーバからログイン失敗通知を送信する。また、当該サーバアドレスによって示される保存サーバが存在しない場合には、ＣＰＵ３２は、どちらの通知も受信せず、ログインが失敗したと判断する。
【００２４】
Ｓ２６では、ＣＰＵ３２は、保存サーバへのログインが成功したのか否かを判断する。ＣＰＵ３２は、ログインが成功した場合（Ｓ２６でＹＥＳ）にはＳ３０に進み、ログインが失敗した場合（Ｓ２６でＮＯ）にはＳ４０に進む。
【００２５】
Ｓ３０では、ＣＰＵ３２は、スキャンコマンド６０に含まれる全ての送信情報領域をＳ２０で特定済みであるのか否かを判断する。ＣＰＵ３２は、全ての送信情報領域を特定済みである場合（Ｓ３０でＹＥＳ）にはＳ５０に進み、全ての送信情報領域を特定済みでない場合（Ｓ３０でＮＯ）には、Ｓ２０に戻り、文字列情報４２に含まれる他の文字列（例えば「ＨＴＴＰ」）によって画定される１個の送信情報領域（例えば図２の８０Ｂ）を特定する。そして、Ｓ２２〜Ｓ３０の処理が繰り返される。
【００２６】
Ｓ４０では、ＣＰＵ３２は、エラー画面を表示部１４に表示させて、Ｓ５０及びＳ６０を実行することなく、図３の処理を終了する。このように、ＣＰＵ３２は、スキャンコマンド６０によって指定されている複数個の保存サーバのうちの少なくとも１個の保存サーバへのログインを実行不可能である場合、即ち、スキャンファイルを当該少なくとも１個の保存サーバに送信不可能である場合には、スキャン処理（即ちＳ５０）を実行することなく、処理を終了する。従って、スキャンコマンド６０に応じて、「スキャンｔｏマルチ」という機能を適切に実行不可能である状況において、スキャン処理を実行せずに済む。
【００２７】
Ｓ５０では、ＣＰＵ３２は、スキャン処理を実行する。具体的には、まず、ＣＰＵ３２は、スキャンコマンド６０から、スキャン設定領域９０に記述されている解像度情報９１を抽出する。そして、ＣＰＵ３２は、抽出済みの解像度情報９１によって示されるスキャン解像度を含むスキャン実行指示をスキャンエンジン１８に供給する。この結果、スキャンエンジン１８は、スキャン実行指示に含まれるスキャン解像度に従って原稿のスキャンを実行し、原稿画像を表わすスキャンデータを生成し、スキャンデータを制御部３０に供給する。これにより、ＣＰＵ３２は、スキャンエンジン１８からスキャンデータを取得することができる。スキャンデータは、多階調のＲＧＢ値によって表現されるビットマップデータである。
【００２８】
Ｓ６０では、ＣＰＵ３２は、スキャンファイルを生成して送信するための生成送信処理（図４参照）を実行する。Ｓ６０が終了すると、図３の処理が終了する。
【００２９】
（生成送信処理；図４）
続いて、図４を参照して、図３のＳ６０で実行される生成送信処理の内容を説明する。Ｓ１００では、ＣＰＵ３２は、図３のＳ２０と同様に、スキャンコマンド６０から１個の送信情報領域（例えば図２の８０Ａ）を特定する。そして、Ｓ１０２では、ＣＰＵ３２は、特定済みの送信情報領域からファイル名（例えば図２の８７Ａ）を抽出する。
【００３０】
Ｓ１１０では、ＣＰＵ３２は、特定済みの送信情報領域において指定されている保存サーバがＨＴＴＰサーバ１２０であるのか否かを判断する。具体的には、ＣＰＵ３２は、特定済みの送信情報領域が文字列「ＨＴＴＰ（即ち符号８１Ｂ，８２Ｂ）」を含む場合には、Ｓ１１０でＹＥＳと判断してＳ１１５に進み、特定済みの送信情報領域が文字列「ＨＴＴＰ」とは異なる文字列（例えば「ＦＴＰ」（即ち符号８１Ａ，８２Ａ））を含む場合には、Ｓ１１０でＮＯと判断してＳ１１２に進む。
【００３１】
Ｓ１１２では、ＣＰＵ３２は、スキャンコマンド６０から、スキャン設定領域９０に記述されている形式情報９２（即ち「ＰＤＦ」）を抽出する。そして、Ｓ１１４では、ＣＰＵ３２は、図３のＳ５０で取得済みのスキャンデータを利用して、Ｓ１０２で抽出済みのファイル名を有すると共に、Ｓ１１２で抽出済みの形式情報９２によって示されるファイル形式を有するスキャンファイルを生成する。ここでの生成処理は、ファイル形式に応じた圧縮方法を利用してスキャンデータを圧縮すること、ファイル形式に応じたヘッダ情報及びフッタ情報を記述すること、Ｓ１０２で抽出済みのファイル名を付すこと等を含む。Ｓ１１４が終了すると、Ｓ１２０に進む。
【００３２】
Ｓ１１５では、ＣＰＵ３２は、形式要求をＨＴＴＰサーバ１２０に送信する。形式要求は、ＨＴＴＰサーバ１２０が保存可能なファイル形式を示す特定情報を要求するためのコマンドである。そして、ＣＰＵ３２は、形式要求の送信に応じて、ＨＴＴＰサーバ１２０からファイル形式を示す特定情報を受信する。本実施例では、特定情報は、ＪＰＥＧ形式を示す。ただし、変形例では、特定情報は、ＪＰＥＧ形式に代えて、ＨＴＴＰサーバ１２０が保存可能な他のファイル形式（例えばＴＩＦＦ等）であってもよい。
【００３３】
Ｓ１１６では、ＣＰＵ３２は、図３のＳ５０で取得済みのスキャンデータを利用して、Ｓ１０２で抽出済みのファイル名を有すると共に、Ｓ１１５で受信済みの特定情報によって示されるファイル形式（即ちＪＰＥＧ形式）を有するスキャンファイルを生成する。即ち、ＣＰＵ３２は、スキャンコマンド６０に含まれる形式情報９２が「ＰＤＦ」を示すにも関わらず、ＰＤＦとは異なるＪＰＥＧ形式を有するスキャンファイルを生成する。ここでの生成処理は、ＪＰＥＧ形式が利用される点を除くと、Ｓ１１４と同様である。ＨＴＴＰサーバ１２０が、スキャンコマンドに記述されているファイル形式を有するファイルを保存することができない可能性がある。本実施例では、ＣＰＵ３２は、ＨＴＴＰサーバ１２０にスキャンファイルを送信すべき状況（Ｓ１１０でＹＥＳ）では、スキャンコマンド６０に含まれる形式情報９２に関わらず、ＨＴＴＰサーバ１２０が保存可能なファイル形式であるＪＰＥＧ形式を有するスキャンファイルを生成する。これにより、スキャンファイルをＨＴＴＰサーバ１２０に適切に保存させることができる。Ｓ１１６が終了すると、Ｓ１２０に進む。
【００３４】
Ｓ１２０では、ＣＰＵ３２は、特定済みの送信情報領域から、送信先情報（即ち、サーバアドレス、ユーザ名、及び、パスワード）と、フォルダ名（例えば図２のＳ８６Ａ）と、を抽出する。
【００３５】
Ｓ１３０では、ＣＰＵ３２は、Ｓ１１４又はＳ１１６で生成されたスキャンファイルを、特定済みの送信情報領域に対応する通信プロトコル（例えばＦＴＰ）に従って、特定済みの送信情報領域によって指定される保存サーバ（例えばＦＴＰサーバ１００）に送信する。具体的には、ＣＰＵ３２は、まず、図３のＳ２４と同様に、ログイン要求を保存サーバに送信して、保存サーバにログインする。なお、図３のＳ２４のログインが継続されている状況では、ここでのログインのための処理を省略可能である。そして、ＣＰＵ３２は、Ｓ１２０で抽出済みのフォルダ名が送信先として指定されている保存コマンドと、Ｓ１１４又はＳ１１６で生成されたスキャンファイルと、をログイン済みの保存サーバに送信する。これにより、保存サーバは、Ｓ１２０で抽出済みのフォルダ名を有するフォルダ内にスキャンファイルを保存する。なお、特定済みの送信情報領域にフォルダ名が記述されていない場合には、スキャンファイルは、保存サーバ内のルートディレクトリに保存されてもよい。
【００３６】
Ｓ１４０では、ＣＰＵ３２は、Ｓ１３０で実行されるスキャンファイルの送信に応じて、保存サーバから保存成功通知が受信されるのか否かを判断する。保存成功通知は、スキャンファイルが保存サーバに保存された場合に、保存サーバからスキャナ１０に送信される通知である。例えば、Ｓ１３０で送信される保存コマンド内のフォルダ名を有するフォルダが保存サーバに存在しない場合には、スキャンファイルが保存されないので、保存サーバからスキャナ１０に保存成功通知が送信されない。ＣＰＵ３２は、保存サーバから保存成功通知が受信される場合に、Ｓ１４０でＹＥＳと判断して、Ｓ１４２において、保存サーバを示す文字列（例えばＦＴＰ）と成功を示す文字列とを関連付けて結果情報に記述する。一方、ＣＰＵ３２は、Ｓ１３０でスキャンファイルを送信してから所定時間が経過しても保存サーバから保存成功通知が受信されない場合に、Ｓ１４０でＮＯと判断して、Ｓ１４４において、保存サーバを示す文字列（例えばＦＴＰ）と失敗を示す文字列とを関連付けて結果情報に記述する。
【００３７】
Ｓ１５０では、ＣＰＵ３２は、スキャンコマンド６０に含まれる全ての送信情報領域をＳ１００で特定済みであるのか否かを判断する。ＣＰＵ３２は、全ての送信情報領域を特定済みである場合（Ｓ１５０でＹＥＳ）にはＳ１６０に進み、全ての送信情報領域を特定済みでない場合（Ｓ１５０でＮＯ）には、Ｓ１００に戻り、他の送信情報領域（例えば図２の８０Ｂ）を特定する。そして、Ｓ１０２〜Ｓ１４４の処理が繰り返される。
【００３８】
Ｓ１６０では、ＣＰＵ３２は、Ｓ１４２又はＳ１４４で生成される結果情報を管理サーバ５０に送信する。これにより、複数個の保存サーバのそれぞれについて、当該保存サーバへのスキャンファイルの保存が成功したのか否かを示す情報を、管理サーバ５０に提供することができる。例えば、管理者は、管理サーバ５０にアクセスして、当該情報を見ることができる。これにより、管理者は、失敗を示す情報を見て、保存サーバの設定（例えば新規フォルダの生成）を変更したり、スキャンコマンド６０内のフォルダ名を変更したりすることができる。
【００３９】
なお、例えば、１個の保存サーバへのスキャンファイルの送信が実行される毎に（即ちＳ１４２又はＳ１４４が実行される毎に）、結果情報を管理サーバ５０に送信する比較例の構成が考えられる。この構成によると、スキャナ１０から管理サーバ５０への結果情報の送信が複数回に亘って実行され、スキャナ１０と管理サーバ５０との間の通信負荷が高くなる。これに対し、本実施例では、複数個の保存サーバへのスキャンファイルの送信が実行された後に、全ての送信結果を含む結果情報が送信されるので、結果情報の送信が１回だけ実行される。このために、比較例の構成と比べると、スキャナ１０と管理サーバ５０との間の通信負荷を低減させることができる。なお、変形例では、当該比較例の構成が採用されてもよい。Ｓ１６０が終了すると、図４の処理が終了する。
【００４０】
（具体的なケース；図５）
続いて、図５を参照して、図３及び図４の処理によって実現される具体的なケースを説明する。
【００４１】
スキャナ１０は、Ｔ１０において、操作情報を管理サーバ５０に送信することに応じて（図３のＳ１０）、Ｔ１２において、管理サーバ５０からスキャンコマンド６０を受信する（Ｓ１２）。
【００４２】
スキャナ１０は、スキャンコマンド６０から、ＦＴＰサーバ１００に対応する送信情報領域８０Ａを特定する（Ｓ２０）。そして、スキャナ１０は、Ｔ２４Ａにおいて、ユーザ名８４Ａ及びパスワード８５Ａを含むログイン要求をＦＴＰサーバ１００に送信して（Ｓ２４）、Ｔ２６Ａにおいて、ＦＴＰサーバ１００からログイン成功通知を受信する（Ｓ２６でＹＥＳ）。
【００４３】
次いで、スキャナ１０は、スキャンコマンド６０から、ＨＴＴＰサーバ１２０に対応する送信情報領域８０Ｂを特定する（Ｓ２０）。そして、スキャナ１０は、Ｔ２４Ｂにおいて、ユーザ名８４Ｂ及びパスワード８５Ｂを含むログイン要求をＨＴＴＰサーバ１２０に送信して（Ｓ２４）、Ｔ２６Ｂにおいて、ＨＴＴＰサーバ１２０からログイン成功通知を受信する（Ｓ２６でＹＥＳ）。
【００４４】
スキャナ１０は、ＦＴＰサーバ１００へのログインとＨＴＴＰサーバ１２０へのログインとの双方が完了した後に、Ｔ５０において、スキャン処理を実行して、原稿画像を表わすスキャンデータを生成する（Ｓ５０）。
【００４５】
スキャナ１０は、スキャンコマンド６０から、ＦＴＰサーバ１００に対応する送信情報領域８０Ａを特定する（図４のＳ１００）。Ｔ１１４では、スキャナ１０は、Ｔ５０で生成されたスキャンデータを利用して、ファイル名８７Ａ（即ち「scanfile」）を有すると共に、形式情報９２によって示されるＰＤＦ形式を有するスキャンファイル（以下では「ＰＤＦファイル」と呼ぶ）を生成する（Ｓ１１０でＮＯ、Ｓ１１４）。そして、スキャナ１０は、Ｔ１３０Ａにおいて、フォルダ名８６Ａ（即ち「/scandata」）が送信先として指定されている保存コマンドとＰＤＦファイルとを、ＦＴＰに従ってＦＴＰサーバ１００に送信して、Ｔ１４０Ａにおいて、ＦＴＰサーバ１００から保存成功通知を受信する（Ｓ１４０でＹＥＳ）。
【００４６】
次いで、スキャナ１０は、スキャンコマンド６０から、ＨＴＴＰサーバ１２０に対応する送信情報領域８０Ｂを特定する（Ｓ１００）。Ｔ１１６では、スキャナ１０は、スキャン処理を再び実行することなく、Ｔ５０で生成されたスキャンデータ（即ちＴ１１４のＰＤＦファイルの生成に利用されたスキャンデータ）を利用して、ファイル名８７Ｂ（即ち「image」）を有すると共に、図示省略の通信でＨＴＴＰサーバ１２０から受信された特定情報によって示されるＪＰＥＧ形式を有するスキャンファイル（以下では「ＪＰＥＧファイル」と呼ぶ）を生成する（Ｓ１１０でＹＥＳ、Ｓ１１５、Ｓ１１６）。ここで、スキャナ１０は、スキャンコマンド６０に応じて、ＰＤＦファイルのファイル名（即ち「scanfile」）とは異なるファイル名（即ち「image」）を有するＪＰＥＧファイルを生成することができる。このために、管理者によって指定される異なるファイル名を有する各ファイルを各サーバ１００，１２０に保存させることができる。また、スキャナ１０は、スキャンコマンド６０に含まれる形式情報９２に関わらず、ＪＰＥＧ形式を有するＪＰＥＧファイルを生成する。このために、スキャンファイル（即ちＪＰＥＧファイル）をＨＴＴＰサーバ１２０に適切に保存させることができる。そして、スキャナ１０は、Ｔ１３０Ｂにおいて、フォルダ名８６Ｂ（即ち「/storage」）が送信先として指定されている保存コマンドとＪＰＥＧファイルとを、ＨＴＴＰに従ってＨＴＴＰサーバ１２０に送信して、Ｔ１４０Ｂにおいて、ＨＴＴＰサーバ１２０から保存成功通知を受信する（Ｓ１４０でＹＥＳ）。
【００４７】
最後に、Ｔ１６０において、スキャナ１０は、文字列「ＦＴＰ」と文字列「成功」とが関連付けられていると共に、文字列「ＨＴＴＰ」と文字列「成功」とが関連付けられている結果情報を管理サーバ５０に送信する。
【００４８】
（実施例の効果）
本実施例によると、スキャナ１０は、管理サーバ５０から、複数個の通信プロトコルに従った複数個のデータ送信先を示す複数個の送信先情報８３Ａ，８３Ｂ等を含むスキャンコマンド６０を受信する（図５のＴ１２）。この場合、スキャナ１０は、ＦＴＰに従って、スキャンデータを用いて得られるＰＤＦファイルをＦＴＰサーバ１００に送信し（Ｔ１３０Ａ）、ＨＴＴＰに従って、同じスキャンデータを用いて得られるＪＰＥＧファイルをＨＴＴＰサーバ１２０に送信する（Ｔ１３０Ｂ）。このように、スキャナ１０は、管理サーバ５０から受信されるスキャンコマンド６０に応じて、スキャンデータを用いて得られる各ファイル（即ち同じ原稿画像を表わす各ファイル）を複数個の通信プロトコルに従った複数個のデータ送信先に送信することができる。
【００４９】
（対応関係）
管理サーバ５０、ＦＴＰサーバ１００、ＨＴＴＰサーバ１２０が、それぞれ、「サーバ」、「第１の外部装置」、「第２の外部装置」の一例である。ＨＴＴＰサーバ１２０が、「所定の外部装置」の一例である。ＦＴＰ、ＨＴＴＰが、それぞれ、「第１の通信プロトコル」、「第２の通信プロトコル」の一例である。文字列情報４２が、「複数個の文字列」の一例である。図２の送信情報領域８０Ａ、送信情報領域８０Ｂが、それぞれ、「第１の記述領域」、「第２の記述領域」の一例である。符号８３Ａ〜８５Ａの情報、符号８３Ｂ〜８５Ｂの情報が、それぞれ、「第１の送信先情報」、「第２の送信先情報」の一例である。符号８７Ａのファイル名「scanfile」、符号８７Ｂのファイル名「image」が、それぞれ、「第１のファイル名」、「第２のファイル名」の一例である。ＰＤＦ、ＪＰＥＧが、それぞれ、「第１のファイル形式」、「第２のファイル形式」の一例である。ＰＤＦファイル、ＪＰＥＧファイルが、それぞれ、「第１のファイル」、「第２のファイル」の一例である。
【００５０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００５１】
（変形例１）ＨＴＴＰサーバ１２０に代えて、ＳｈａｒｅＰｏｉｎｔサーバ（以下では「ＳＰサーバ」と呼ぶ）が設けられてもよい。この場合、図４のＳ１１０では、ＣＰＵ３２は、特定済みの送信情報領域に対応する保存サーバがＳＰサーバであるのか否かを判断する。ＣＰＵ３２は、Ｓ１１０でＹＥＳの場合に、Ｓ１１５を実行せず、Ｓ１１６において、所定のファイル形式を有するスキャンファイルを生成する。所定のファイル形式は、例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）から提供されるＰｏｗｅｒＰｏｉｎｔ（登録商標）で採用されるＰＰＴ形式（即ち拡張子として「ppt」を含むファイル形式）であってもよい。ただし、変形例では、所定のファイル形式は、ＰＰＴ形式に代えて、ＳＰサーバが保存可能な他のファイル形式（例えばＥｘｃｅｌ（登録商標）で採用されるファイル形式）であってもよい。ＳＰサーバが、例えば、ＰＤＦ、ＪＰＥＧ等のファイル形式を有するファイルを保存することができない可能性がある。そして、ＳＰサーバは、通常、ＰＰＴ形式を有するファイルを保存することができる。本変形例によると、スキャンファイルをＳＰサーバに適切に保存させることができる。本変形例では、ＳＰサーバが「所定の外部装置」の一例であり、「第２の受信部」を省略可能である。
【００５２】
（変形例２）例えば、ＨＴＴＰサーバ１２０がＰＤＦファイルを保存可能である環境では、図４のＳ１１０及びＳ１１６が省略されてもよい。本変形例では、「判断部」を省略可能である。即ち、本変形例では、ＦＴＰサーバ１００に送信されるスキャンファイルと、ＨＴＴＰサーバ１２０に送信されるスキャンファイルと、は同じＰＤＦ形式を有するファイルである。一般的に言うと、「第１のファイル」及び「第２のファイル」は、図５のケースのように、異なるファイル形式を有していてもよいし、本変形例のように、同じファイル形式を有していてもよい。
【００５３】
（変形例３）スキャンコマンド６０において、ファイル名８７Ａ及びファイル名８７Ｂは同じファイル名であってもよい。一般的に言うと、「第１のファイル」及び「第２のファイル」とは、図５のケースのように、異なるファイル名を有していてもよいし、本変形例のように、同じファイル名を有していてもよい。
【００５４】
（変形例４）スキャンコマンド６０は、ファイル名８７Ａ及びファイル名８７Ｂを含まなくてもよい。例えば、スキャナ１０のメモリ３４は、ＦＴＰサーバ１００に送信されるべきスキャンファイルのファイル名と、ＨＴＴＰサーバ１２０に送信されるべきスキャンファイルのファイル名と、を予め格納していてもよい。そして、ＣＰＵ３２は、メモリ３４内のファイル名を有するスキャンファイルを生成してもよい。即ち、「スキャンコマンド」は、「第１のファイル名」及び「第２のファイル名」を含まなくてもよい。
【００５５】
（変形例５）ＣＰＵ３２は、複数個の保存サーバのうちの少なくとも１個の保存サーバについて、図３のＳ２６でＮＯと判断する場合でも、Ｓ５０のスキャン処理を実行してもよい。この場合、ＣＰＵ３２は、Ｓ２６でＹＥＳと判断された保存サーバのみにスキャンファイルを送信する。即ち、「エンジン制御部」は、第１の外部装置及び第２の外部装置のうちの少なくとも一方との通信を実行可能でないと確認されても、原稿のスキャンをスキャンエンジンに実行させてもよい。また、ＣＰＵ３２は、１個の保存サーバについて、図３のＳ２６でＹＥＳと判断する際に、他の保存サーバについて、図３のＳ２４，Ｓ２６を実行する前に、スキャン処理を実行して、当該１個の保存サーバにスキャンファイルを送信してもよい。この場合、ＣＰＵ３２は、当該他の保存サーバについて、図３のＳ２６でＹＥＳと判断する際に、スキャン処理を再び実行することなく、先のスキャン処理で生成されたスキャンデータを利用して、当該他の保存サーバにスキャンファイルを送信してもよい。即ち、「エンジン制御部」は、第１の外部装置についての確認と、第２の外部装置についての確認と、の双方が完了する前に、原稿のスキャンをスキャンエンジンに実行させてもよい。
【００５６】
（変形例６）スキャナ１０は、ＦＴＰ、ＣＩＦＳに応じたプロトコル、及び、ＨＴＴＰに代えて、又は、それらのプロトコルに加えて、ＳＦＴＰ（SSH File Transfer Protocolの略）、及び／又は、ＨＴＴＰＳ（Hyper Text Transfer Protocol Secureの略）、及び／又は、ＳｈａｒｅＰｏｉｎｔに応じたプロトコル、及び／又は、ＳＭＴＰ（Simple Mail Transfer Protocolの略）に応じたプロトコル、及び／又は、ＵＳＢ（Universal Serial Busの略）に応じたプロトコルに従って、スキャンファイルを外部装置に送信してもよい。この場合、スキャンコマンド６０では、文字列８１Ａ，８２Ａに対応する箇所に、ＨＴＴＰＳ、ＳＭＴＰ、ＳｈａｒｅＰｏｉｎｔ、ＵＳＢ等が記述され得るので、文字列情報４２は、これらの文字列を含んでいてもよい。即ち、「第１（又は第２）の通信プロトコル」は、ＨＴＴＰＳ等であってもよい。なお、ＵＳＢが採用される場合には、スキャナ１０に装着されるＵＳＢメモリが、「第１（又は第２）の外部装置」の一例であり、ネットワークインターフェース１６とＵＳＢインターフェースとの双方が、「通信インターフェース」の一例である。
【００５７】
（変形例７）上記の実施例では、スキャナ１０のＣＰＵ３２がプログラム４０（即ちソフトウェア）を実行することによって、図３及び図４の各処理が実現される。これに代えて、図３及び図４の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００５８】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００５９】
２：通信システム、１０：スキャナ、１２：操作部、１４：表示部、１６：ネットワークインターフェース、１８：スキャンエンジン、３０：制御部、３２：ＣＰＵ、３４：メモリ、４０：プログラム、４２：文字列情報、５０：管理サーバ、６０：スキャンコマンド、７０：保存設定領域、８０Ａ，８０Ｂ：送信情報領域、９０：スキャン設定領域、９１：解像度情報、９２：形式情報、１００：ＦＴＰサーバ、１１０：ＣＩＦＳサーバ、１２０：ＨＴＴＰサーバ
【図１】
2018074290.tif 000003
【図２】
2018074290.tif 000004
【図３】
2018074290.tif 000005
【図４】
2018074290.tif 000006
【図５】
2018074290.tif 000007