(57)【要約】【課題】外部機器との通信可能な画像読取装置において，複数の外部機器に画像データを送信する場合に，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗するという送信結果を生じ難くする技術を提供すること。【解決手段】  ＭＦＰ１００は，原稿の画像を画像読取部２０に読み取らせて画像データを生成した後，複数の外部機器１，２，３に画像データを送信する前に，複数の外部機器１，２，３から画像データに関するデータ名のリストを取得する。そして，取得したリストに画像データのデータ名を照合し，取得したリストに画像データのデータ名と同じデータ名がある場合には，複数の外部機器の全てに画像データを送信しない。【選択図】図６
2018107634.tif 000002
【特許請求の範囲】
【請求項１】
原稿から画像を読み取る読取部と，
第１外部機器および第２外部機器と通信を行う通信部と，
記憶部と，
制御部と，
を備え，
前記制御部は，
原稿の画像データの送信先として前記第１外部機器と前記第２外部機器とが指定された場合，
前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，
前記生成処理にて生成された原稿の画像データを，データ名をつけて，前記記憶部に記憶させる記憶処理と，
前記通信部を制御して，
前記第１外部機器に保存されている画像データに関するデータ名のリストである第１リストを要求する第１リスト要求を送信させ，
前記第２外部機器に保存されている画像データに関するデータ名のリストである第２リストを要求する第２リスト要求を送信させる，
リスト要求処理と，
前記通信部を制御して，
前記第１外部機器に保存されている画像データに関するデータ名のリストである第１リストを受信させ，
前記第２外部機器に保存されている画像データに関するデータ名のリストである第２リストを受信させる，
リスト受信処理と，
前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記第１リストと前記第２リストとの少なくとも一方に存在するか否かを判断するデータ名判断処理と，
前記データ名判断処理にて，前記記憶部に記憶された前記画像データの前記データ名と同じデータ名が，前記第１リストと前記第２リストとのどちらにも存在しないと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記第１外部機器および前記第２外部機器に送信させ，
前記データ名判断処理にて，前記記憶部に記憶された前記画像データの前記データ名と同じデータ名が，前記第１リストと前記第２リストとの少なくとも一方に存在すると判断した場合に，前記記憶部に記憶された前記画像データを，前記第１外部機器および前記第２外部機器に送信させない，
送信処理と，
を実行することを特徴とする画像読取装置。
【請求項２】
請求項１に記載する画像読取装置において，
前記制御部は，
前記通信部を制御して，前記第１外部機器と前記第２外部機器との両方と通信を確立させる確立処理を実行し，
前記確立処理にて前記第１外部機器と前記第２外部機器との両方と通信を確立させることができた場合に，前記生成処理を実行し，
前記確立処理にて前記第１外部機器と前記第２外部機器との少なくとも一方と通信を確立させることが，できなかった場合に，前記生成処理を実行しない，
ことを特徴とする画像読取装置。
【請求項３】
請求項２に記載する画像読取装置において，
前記通信部は，ネットワークインターフェイスであり，
前記制御部は，
前記確立処理により，
前記第１外部機器とのネットワーク接続と前記第２外部機器とのネットワーク接続とがともに確立させることができた場合に，前記生成処理を実行し，
前記第１外部機器とのネットワーク接続と前記第２外部機器とのネットワーク接続の少なくとも一方が通信を確立できなかった場合に，前記生成処理を実行しない，
ことを特徴とする画像読取装置。
【請求項４】
請求項２または請求項３に記載する画像読取装置において，
前記制御部は，
前記確立処理では，
前記第１外部機器との通信を確立させた後，前記第１外部機器との間で確立させた通信を切断し，
前記第２外部機器との通信を確立させた後，前記第２外部機器との間で確立させた通信を切断し，
前記第１外部機器との通信と前記第２外部機器との通信とを切断した後に，前記生成処理を開始する，
ことを特徴とする画像読取装置。
【請求項５】
請求項２から請求項４のいずれか１つに記載する画像読取装置において，
画像を表示する表示部を備え，
前記制御部は，
前記確立処理にて前記第１外部機器と前記第２外部機器との少なくとも一方と通信を確立させることが不可能と判断した場合に，前記表示部を制御して，送信先と通信を確立できないことを示す画像を表示させる，
ことを特徴とする画像読取装置。
【請求項６】
請求項１から請求項５のいずれか１つに記載する画像読取装置において，
画像を表示する表示部を備え，
前記制御部は，
前記データ名判断処理にて前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記第１リストと前記第２リストとの少なくとも一方に存在すると判断した場合に，前記表示部を制御して，前記記憶部に記憶された前記画像データのデータ名と同じデータ名のデータが，送信先に存在することを示す画像を表示させる，
ことを特徴とする画像読取装置。
【請求項７】
請求項１から請求項６のいずれか１つに記載する画像読取装置において，
前記制御部は，
前記送信処理では，
前記通信部を制御して，前記第１外部機器との通信と前記第２外部機器との通信とを確立させた後，前記画像データを前記第１外部機器へ送信させ，
前記画像データの前記第１外部機器への送信が完了した後，前記通信部を制御して，前記第１外部機器との通信を切断させ，
前記通信部を制御して，前記第１外部機器との通信を切断させた後，前記画像データの前記第２外部機器への送信を開始させ，
前記画像データの前記第２外部機器への送信が完了した後，前記通信部を制御して，前記第２外部機器との通信を切断させる，
ことを特徴とする画像読取装置。
【請求項８】
請求項１から請求項７のいずれか１つに記載する画像読取装置において，
前記制御部は，
前記生成処理後，前記送信処理にて前記第１外部機器および前記第２外部機器に前記画像データを送信させなかった場合に，前記記憶部に記憶させた前記画像データを消去する，
ことを特徴とする画像読取装置。
【請求項９】
原稿から画像を読み取る読取部と，
第１外部機器および第２外部機器と通信を行う通信部と，
記憶部と，
制御部と，
を備え，
前記制御部は，
原稿の画像データの送信先として前記第１外部機器と前記第２外部機器とが指定された場合，
前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，
前記生成処理により生成された原稿の画像データを，前記記憶部に記憶させる記憶処理と，
前記通信部を制御して，
前記第１外部機器が保存可能なデータサイズである第１サイズを要求する第１サイズ要求を送信させ，
前記第２外部機器が保存可能なデータサイズである第２サイズを要求する第２サイズ要求を送信させる，
サイズ要求処理と，
前記通信部を制御して，
前記第１外部機器が保存可能なデータサイズである第１サイズを受信させ，
前記第２外部機器が保存可能なデータサイズである第２サイズを受信させる，        サイズ受信処理と，
前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとの少なくとも一方よりも大きいか否かを判断するサイズ判断処理と，
前記サイズ判断処理にて前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとのどちらよりも小さいと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記第１外部機器および前記第２外部機器に送信させ，
前記サイズ判断処理にて，前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとの少なくとも一方よりも大きいと判断した場合に，前記記憶部に記憶された前記画像データを，前記第１外部機器および前記第２外部機器に送信させない，
送信処理と，
を実行することを特徴とする画像読取装置。
【請求項１０】
原稿から画像を読み取る読取部と，
複数の外部機器と通信を行う通信部と，
記憶部と，
制御部と，
を備え，
前記制御部は，
原稿の画像データの送信先として複数の外部機器が指定された場合，
前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，
前記生成処理により生成された原稿の画像データを，前記記憶部に記憶させる記憶処理と，
前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存されているデータに関するデータ名のリストを要求するリスト要求を送信させるリスト要求処理と，
前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存されているデータに関するデータ名のリストを受信させるリスト受信処理と，
前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記複数の外部機器のそれぞれから取得したデータ名のリストに少なくとも１つ存在するか否かを判断するデータ名判断処理と，
前記データ名判断処理にて，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記複数の外部機器のそれぞれから取得したデータ名のリストに１つも存在しないと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記複数の外部機器に送信させ，
前記データ名判断処理にて，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記複数の外部機器のそれぞれから取得したデータ名のリストに少なくとも１つ存在すると判断した場合に，前記記憶部に記憶された前記画像データを，前記複数の外部機器に送信させない，
送信処理と，
を実行することを特徴とする画像読取装置。
【請求項１１】
原稿から画像を読み取る読取部と，
複数の外部機器と通信を行う通信部と，
記憶部と，
制御部と，
を備え，
前記制御部は，
原稿の画像データの送信先として複数の外部機器が指定された場合，
前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，
前記生成処理により生成された原稿の画像データを，前記記憶部に記憶させる記憶処理と，
前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存可能なデータサイズを要求するサイズ要求を送信させるサイズ要求処理と，
前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存可能なデータサイズを受信させるサイズ受信処理と，
前記記憶部に記憶された前記画像データのデータサイズが，前記複数の外部機器のそれぞれから取得したデータサイズの少なくとも１つよりも大きいか否かを判断するサイズ判断処理と，
前記サイズ判断処理にて，前記記憶部に記憶された前記画像データのデータサイズが，前記複数の外部機器のそれぞれから取得したデータサイズのいずれよりも小さいと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記複数の外部機器に送信させ，
前記サイズ判断処理にて，前記記憶部に記憶された前記画像データのデータサイズが，前記複数の外部機器のそれぞれから取得したデータサイズの少なくとも１つよりも大きいと判断した場合に，前記記憶部に記憶された前記画像データを，前記複数の外部機器に送信させない，
送信処理と，
を実行することを特徴とする画像読取装置。
【請求項１２】
原稿から画像を読み取る読取部と，
第１外部機器および第２外部機器と通信を行う通信部と，
記憶部と，
を備える画像読取装置において，
原稿の画像データの送信先として前記第１外部機器と前記第２外部機器とが指定された場合の，画像送信方法であって，
前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成ステップと，
前記生成ステップにより生成された原稿の画像データを，前記記憶部に記憶させる記憶ステップと，
前記通信部を制御して，
前記第１外部機器に保存されている画像データに関するデータ名のリストである第１リストを要求する第１リスト要求を送信させ，
前記第２外部機器に保存されている画像データに関するデータ名のリストである第２リストを要求する第２リスト要求を送信させる，
リスト要求ステップと，
前記通信部を制御して，
前記第１外部機器に保存されている画像データに関するデータ名のリストである第１リストを受信させ，
前記第２外部機器に保存されている画像データに関するデータ名のリストである第２リストを受信させる，
リスト受信ステップと，
前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記第１リストと前記第２リストとの少なくとも一方に存在するか否かを判断するデータ名判断ステップと，
前記データ名判断ステップにて，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記第１リストと前記第２リストとのどちらにも存在しないと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記第１外部機器および前記第２外部機器に送信させ，
前記データ名判断ステップにて，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記第１リストと前記第２リストとの少なくとも一方に存在すると判断した場合に，前記記憶部に記憶された前記画像データを，前記第１外部機器および前記第２外部機器に送信させない，
送信ステップと，
を含むことを特徴とする画像送信方法。
【請求項１３】
原稿から画像を読み取る読取部と，
第１外部機器および第２外部機器と通信を行う通信部と，
記憶部と，
を備える画像読取装置において，
原稿の画像データの送信先として前記第１外部機器と前記第２外部機器とが指定された場合の，画像送信方法であって，
前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成ステップと，
前記生成ステップにより生成された原稿の画像データを，前記記憶部に記憶させる記憶ステップと，
前記通信部を制御して，
前記第１外部機器が保存可能なデータサイズである第１サイズを要求する第１サイズ要求を送信させ，
前記第２外部機器が保存可能なデータサイズである第２サイズを要求する第２サイズ要求を送信させる，
サイズ要求ステップと，
前記通信部を制御して，
前記第１外部機器が保存可能なデータサイズである第１サイズを受信させ，
前記第２外部機器が保存可能なデータサイズである第２サイズを受信させる，
サイズ受信ステップと，
前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとの少なくとも一方よりも大きいか否かを判断するサイズ判断ステップと，
前記サイズ判断ステップにて，前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとのどちらよりも小さいと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記第１外部機器および前記第２外部機器に送信させ，
前記サイズ判断ステップにて，前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとの少なくとも一方よりも大きいと判断した場合に，前記記憶部に記憶された前記画像データを，前記第１外部機器および前記第２外部機器に送信させない，
送信ステップと，
を含むことを特徴とする画像送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像読取装置および画像送信方法に関する。さらに詳細には，画像読取装置にて生成された画像データを，外部機器に送信する技術に関するものである。
【背景技術】
【０００２】
従来から，外部機器との通信が可能な画像読取装置において，原稿を読み取って画像データを生成し，その生成された画像データを，送信先として指定された外部機器に送信する技術が知られている。
【０００３】
上述した技術を開示した文献としては，例えば，特許文献１がある。特許文献１には，画像読取装置とサーバ装置とを備えるシステムであって，画像読取装置は，サーバ装置とのコネクションを確立させるための処理を行い，コネクションが確立された場合には原稿を読み取って画像データを生成し，生成した画像データを，コネクションを確立させたサーバ装置へ送信する一方，コネクションが確立されなかった場合には原稿を読み取らない構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３０６２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では，画像読取装置から複数の外部機器へ画像データを送信した場合について考慮されていない。すなわち，特許文献１の技術を用いて，画像読取装置から複数の外部機器へ画像データを送信した場合，全ての外部機器に対する送信が成功する場合と，全ての外部機器に対する送信が失敗する場合と，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗する場合と，が生じ得る。
【０００６】
画像読取装置から外部機器への画像データの送信が個別に失敗する理由には，例えば，次の２つがある。１つ目の理由としては，画像読取装置が送信する画像データのデータ名と，送信先である外部機器に存在する画像データのデータ名と，が重複する場合である。この場合，画像読取装置が送信する画像データによって外部機器に存在するデータを上書きしてしまうため，画像読取装置は画像データを送信できない。従って，画像読取装置から外部機器への画像データの送信が失敗する。
【０００７】
２つ目の理由としては，画像読取装置が送信する画像データのデータサイズに比べ，送信先である外部機器が保存可能なデータのサイズが小さい場合である。この場合，画像読取装置が送信する画像データを外部機器が保存できないため，画像読取装置は画像データを送信できない。従って，画像読取装置から外部機器への画像データの送信が失敗する。
【０００８】
外部機器に存在する画像データのデータ名や，外部機器が保存可能なデータのサイズは，一般的に，外部機器ごとに異なる。そのため，画像読取装置から複数の外部機器へ画像データを送信する場合において，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗する場合が発生し得ることは明らかである。
【０００９】
そして，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗する場合には，次のような問題があった。すなわち，失敗した外部機器だけを再送信の送信先として選択して再送信する場合，再送信の送信先として送信に失敗した外部機器を探して選ぶ作業がユーザにとって煩雑で手間がかかる。特に外部機器の数が多いほど，この手間が顕著になる。この手間を省くために全ての外部機器を送信先として再送信する場合，もともと送信に成功していた外部機器にも同じ画像データが送信されることになり，無駄である。また，再送信によって同じ画像データの２つ目が送信されたのか，別の画像データが送信されたのか，を判別しにくいという問題も生じる。
【００１０】
本発明は，前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは，外部機器との通信可能な画像読取装置において，複数の外部機器に画像データを送信する場合に，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗するという送信結果を生じ難くする技術を提供することにある。
【課題を解決するための手段】
【００１１】
この課題の解決を目的としてなされた画像読取装置は，原稿から画像を読み取る読取部と，第１外部機器および第２外部機器と通信を行う通信部と，記憶部と，制御部と，を備え，前記制御部は，原稿の画像データの送信先として前記第１外部機器と前記第２外部機器とが指定された場合，前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，前記生成処理にて生成された原稿の画像データを，データ名をつけて，前記記憶部に記憶させる記憶処理と，前記通信部を制御して，前記第１外部機器に保存されている画像データに関するデータ名のリストである第１リストを要求する第１リスト要求を送信させ，前記第２外部機器に保存されている画像データに関するデータ名のリストである第２リストを要求する第２リスト要求を送信させる，リスト要求処理と，前記通信部を制御して，前記第１外部機器に保存されている画像データに関するデータ名のリストである第１リストを受信させ，前記第２外部機器に保存されている画像データに関するデータ名のリストである第２リストを受信させる，リスト受信処理と，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記第１リストと前記第２リストとの少なくとも一方に存在するか否かを判断するデータ名判断処理と，前記データ名判断処理にて，前記記憶部に記憶された前記画像データの前記データ名と同じデータ名が，前記第１リストと前記第２リストとのどちらにも存在しないと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記第１外部機器および前記第２外部機器に送信させ，前記データ名判断処理にて，前記記憶部に記憶された前記画像データの前記データ名と同じデータ名が，前記第１リストと前記第２リストとの少なくとも一方に存在すると判断した場合に，前記記憶部に記憶された前記画像データを，前記第１外部機器および前記第２外部機器に送信させない，送信処理と，を実行することを特徴とする。
【００１２】
上記構成の画像読取装置は，原稿から画像を読み取った後であって，その原稿の画像データを送信する前に，その画像データの送信先である第１外部機器と第２外部機器と少なくとも一方に，送信対象の画像データのデータ名と同じデータ名のデータがあるか否かを判断する。そして，第１及び第２外部機器のどちらにも，送信対象の画像データのデータ名と同じデータ名のデータが無いと判断した場合には，画像読取装置は，原稿の画像データを第１外部機器と第２外部機器との両方に送信する。これにより，画像読取装置は，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗するという送信結果を回避できる可能性が高まる。
【００１３】
また，この課題の解決を目的としてなされた画像読取装置は，原稿から画像を読み取る読取部と，第１外部機器および第２外部機器と通信を行う通信部と，記憶部と，制御部と，を備え，前記制御部は，原稿の画像データの送信先として前記第１外部機器と前記第２外部機器とが指定された場合，前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，前記生成処理により生成された原稿の画像データを，前記記憶部に記憶させる記憶処理と，前記通信部を制御して，前記第１外部機器が保存可能なデータサイズである第１サイズを要求する第１サイズ要求を送信させ，前記第２外部機器が保存可能なデータサイズである第２サイズを要求する第２サイズ要求を送信させる，サイズ要求処理と，前記通信部を制御して，前記第１外部機器が保存可能なデータサイズである第１サイズを受信させ，前記第２外部機器が保存可能なデータサイズである第２サイズを受信させる，サイズ受信処理と，前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとの少なくとも一方よりも大きいか否かを判断するサイズ判断処理と，前記サイズ判断処理にて，前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとのどちらよりも小さいと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記第１外部機器および前記第２外部機器に送信させ，前記サイズ判断処理にて，前記記憶部に記憶された前記画像データのデータサイズが，前記第１サイズと前記第２サイズとの少なくとも一方よりも大きいと判断した場合に，前記記憶部に記憶された前記画像データを，前記第１外部機器および前記第２外部機器に送信させない，送信処理と，を実行することを特徴とする。
【００１４】
上記構成の画像読取装置は，原稿から画像を読み取った後であって，その原稿の画像データを送信する前に，その画像データのデータサイズが，画像データの送信先である第１外部機器が保存可能なデータサイズと第２外部機器で保存可能なデータサイズとの少なくとも一方より大きいか否かを判断する。そして，原稿の画像データのデータサイズが，第１外部機器のデータサイズと第２外部機器のデータサイズの何れよりも大きくないと判断した場合には，画像読取装置は，原稿の画像データを第１外部機器と第２外部機器との両方に送信する。これにより，画像読取装置は，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗するという送信結果を回避できる可能性が高まる。
【００１５】
本明細書には，原稿から画像を読み取る読取部と，複数の外部機器と通信を行う通信部と，記憶部と，制御部と，を備え，前記制御部は，原稿の画像データの送信先として複数の外部機器が指定された場合，前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，前記生成処理により生成された原稿の画像データを，前記記憶部に記憶させる記憶処理と，前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存されているデータに関するデータ名のリストを要求するリスト要求を送信させるリスト要求処理と，前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存されているデータに関するデータ名のリストを受信させるリスト受信処理と，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記複数の外部機器のそれぞれから取得したデータ名のリストに少なくとも１つ存在するか否かを判断するデータ名判断処理と，前記データ名判断処理にて，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記複数の外部機器のそれぞれから取得したデータ名のリストに１つも存在しないと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記複数の外部機器に送信させ，前記データ名判断処理にて，前記記憶部に記憶された前記画像データのデータ名と同じデータ名が，前記複数の外部機器のそれぞれから取得したデータ名のリストに少なくとも１つ存在すると判断した場合に，前記記憶部に記憶された前記画像データを，前記複数の外部機器に送信させない，送信処理と，を実行することを特徴とする画像読取装置も開示されている。
【００１６】
また，本明細書には，原稿から画像を読み取る読取部と，複数の外部機器と通信を行う通信部と，記憶部と，制御部と，を備え，前記制御部は，原稿の画像データの送信先として複数の外部機器が指定された場合，前記読取部を制御して，原稿の画像を読み取らせて画像データを生成させる生成処理と，前記生成処理により生成された原稿の画像データを，前記記憶部に記憶させる記憶処理と，前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存可能なデータサイズを要求するサイズ要求を送信させるサイズ要求処理と，前記通信部を制御して，前記複数の外部機器のそれぞれについて，保存可能なデータサイズを受信させるサイズ受信処理と，前記記憶部に記憶された前記画像データのデータサイズが，前記複数の外部機器のそれぞれから取得したデータサイズの少なくとも１つよりも大きいか否かを判断するサイズ判断処理と，前記サイズ判断処理にて前記記憶部に記憶された前記画像データのデータサイズが，前記複数の外部機器のそれぞれから取得したデータサイズのいずれよりも小さいと判断した場合に，前記記憶部に記憶された前記画像データを，前記通信部を制御して前記複数の外部機器に送信させ，前記サイズ判断処理にて，前記記憶部に記憶された前記画像データのデータサイズが，前記複数の外部機器のそれぞれから取得したデータサイズの少なくとも１つよりも大きいと判断した場合に，前記記憶部に記憶された前記画像データを，前記複数の外部機器に送信させない，送信処理と，を実行することを特徴とする画像読取装置も開示されている。
【００１７】
上記装置の機能を実現するための制御方法，コンピュータプログラム，および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も，新規で有用である。
【発明の効果】
【００１８】
本発明によれば，外部機器との通信可能な画像読取装置において，複数の外部機器に画像データを送信する場合に，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗するという送信結果を生じ難くする技術を提供することが実現される。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１実施形態である画像読取装置の電気的構成を示すブロック図である。
【図２】宛先指定画面の一例を示す図である。
【図３】送信先リストの一例を示す図である。
【図４】複数宛先送信処理の手順を示すフローである。
【図５】接続確認処理の手順を示すフローである。
【図６】データ送信処理の手順を示すフローである。
【図７】データ名の有無を判断する処理の概念図である。
【図８】送信実行処理の手順を示すフローである。
【図９】本発明の第２実施形態である画像読取装置により実行されるデータ送信処理の手順を示すフローである。
【発明を実施するための形態】
【００２０】
以下，本実施形態にかかる装置について，添付図面を参照しつつ詳細に説明する。本形態は，読取機能を備える複合機（ＭＦＰ：Multi Function Peripheral）に本発明を適用したものである。
【００２１】
本形態のＭＦＰ１００は，図１に示すように，ＣＰＵ３１と，ＲＯＭ３２と，ＲＡＭ３３と，ＮＶＲＡＭ（不揮発性ＲＡＭ）３４とを含むコントローラ３０を備えている。また，ＭＦＰ１００は，画像形成部１０と，画像読取部２０と，ネットワークＩＦ（インターフェース）３７と，操作パネル４０と，を備え，これらがコントローラ３０に電気的に接続されている。
【００２２】
画像形成部１０は，シートに画像を印刷するための構成である。画像形成部１０の画像形成方式は，電子写真方式であっても，インクジェット方式であってもよい。本形態のＭＦＰ１００は，カラー画像の形成が可能な装置であっても，モノクロ画像専用の装置であってもよい。また，ＭＦＰ１００は，両面印刷可能な装置であっても，片面印刷のみの装置であってもよい。
【００２３】
画像読取部２０は，原稿の画像を読み取るための構成である。読取方式は，ＣＣＤ方式であってもＣＩＳ方式であってもよい。本形態のＭＦＰ１００は，カラー読み取りが可能な装置であっても，モノクロ読み取りのみの装置であってもよい。また，ＭＦＰ１００は，両面読み取りが可能な装置であっても，片面読み取りのみの装置であってもよい。画像読取部２０は，読取部の一例である。
【００２４】
ＲＯＭ３２には，ＭＦＰ１００を制御するための各種制御プログラムや各種設定，初期値等が記憶されている。ＲＡＭ３３は，各種制御プログラムが読み出される作業領域として，あるいは，データを一時的に記憶する記憶領域として利用される。ＲＡＭ３３は，記憶部の一例である。ＮＶＲＡＭ３４は，各種設定，ユーザの情報等を記憶する領域として利用される。
【００２５】
ＣＰＵ３１は，ＲＯＭ３２から読み出した制御プログラムに従って，その処理結果をＲＡＭ３３またはＮＶＲＡＭ３４に記憶させながら，ＭＦＰ１００の各構成要素を制御する。ＣＰＵ３１は，制御部の一例である。なお，コントローラ３０が制御部であってもよい。なお，コントローラ３０は，ＣＰＵ３１等，ＭＦＰ１００の制御に利用されるハードウェアを纏めた総称であって，実際にＭＦＰ１００に存在する単一のハードウェアを表すとは限らない。
【００２６】
ネットワークＩＦ３７は，ネットワークに接続する外部機器と通信を行うためのハードウェアである。通信方法は，有線であっても無線であってもよい。ネットワークＩＦ３７は，通信部の一例である。
【００２７】
操作パネル４０は，液晶ディスプレイ４１と，ボタン群４２とを備える。液晶ディスプレイ４１は，表示部の一例である。コントローラ３０は，動作状況等の各種の情報やユーザへのメッセージを操作パネル４０の液晶ディスプレイ４１に表示させる。液晶ディスプレイ４１は，入力操作も可能なタッチパネルであってもよい。その場合，ＭＦＰ１００は，各種のボタンを液晶ディスプレイ４１に表示させ，押下された位置に基づいて各種の指示を受け付ける。
【００２８】
ボタン群４２には，電源ボタン，実行ボタン，キャンセルボタン，テンキー等が含まれている。コントローラ３０は，ボタン群４２への操作を受け付けた場合に，そのボタンにて発信される信号を受信することにより，各種の指示入力を受け付ける。
【００２９】
なお，ネットワークには，外部機器１，２，３等が接続されている。外部機器１，２，３としては，例えば，サーバ，パーソナルコンピュータ（ＰＣ），携帯電話，プリンタ，複合機などがある。
【００３０】
続いて，ＭＦＰ１００が有する複数宛先送信機能について説明する。複数宛先送信機能とは，読み取った原稿の画像の画像データを，複数の外部機器に送信する機能をいう。
【００３１】
複数宛先送信機能を用いたジョブを実行するにあたって，ＭＦＰ１００には，予め，送信先が登録される。例えば，送信先は，ＭＦＰ１００に登録されている電話帳から選択される。また，送信先は，ユーザによって直接入力される。尚，送信先は，ＰＣ等からＭＦＰ１００に設定しても良い。
【００３２】
例えば，ＭＦＰ１００は，図２に示すように，宛先となる外部機器を指定するための宛先指定画面５２を液晶ディスプレイ４１に表示させる。宛先指定画面には，宛先を電話帳から選択するタグ５３と，宛先を入力するタグ５４が，表示される。
【００３３】
ユーザがタグ５３を選択した場合，液晶ディスプレイ４１には，電話帳が表示される。表示される電話帳には，宛先となる外部機器の使用者の名前・名称が記載されている。そこで，ユーザは，ボタン群４２を操作して名前・名称を選択し，宛先を指定する。ユーザが選択した宛先には，「選択」と表示される。よって，ユーザは，どこを宛先に指定したか確認できる。
【００３４】
ここで，ＭＦＰ１００は，電話帳を作成する場合に，名前・名称と，送信方法と，送信先アドレスと，ログイン名と，パスワードを関連付けて電話帳レコードを生成し，電話帳データベースに格納している。電話帳データベースは，ＮＶＲＡＭ３４に記憶される。
【００３５】
送信方法のフィールドには，ＭＦＰ１００が外部機器に画像データを送信する際に用いるプロトコルが登録される。プロトコルとしては，例えばＦＴＰ（File Transfer Protocol），ＳＭＢ（Server Message Block），ＣＩＦＳ（Common Internet File System），ＮＦＳ（Network File System），ＨＴＴＰ（Hypertext Transfer Protocol）などを使うことができる。送信方法の違いとしては，プロトコルの違いによるものの他，同一プロトコルでも宛先が違うもの，同一の外部機器でも画像データを記憶する場所（記憶媒体や記憶領域）が異なるもの，が該当する。
【００３６】
送信先アドレスのフィールドには，外部機器を特定する情報が登録される。送信先アドレスのフィールドには，例えば，送信方法がＦＴＰ等のようなデータ転送に関するプロトコルである場合には，接続先の接続情報が記憶されたプロファイルが登録される。また，例えば，送信先アドレスのフィールドには，送信方法がＣＩＦＳ等のようなネットワークである場合には，共有フォルダを特定する共有フォルダアドレスが登録される。
【００３７】
ログイン名のフィールドには，外部機器にログインするための情報が登録される。パスワードのフィールドには，外部機器の記憶領域にアクセスするためのパスワードが登録される。つまり，電話帳データベースには，外部機器と通信を確立させるための認証情報が記憶されている。
【００３８】
よって，ＭＦＰ１００は，電話帳から名前・名称が選択されると，選択された外部機器に対応する送信方法や送信アドレス，ログイン名，パスワードなどを簡単に取得できる。
【００３９】
一方，例えば，電話帳に登録されていない宛先を指定する場合には，ユーザは，タグ５４を選択する。すると，液晶ディスプレイ４１には，送信方法と送信先アドレスとログイン名とパスワードを手入力する宛先入力画面が表示される。ユーザは，ボタン群４２を操作して送信方法と送信先アドレスとログイン名とパスワードを入力することにより，宛先を指定する。よって，ＭＦＰ１００は，電話帳に登録されていない宛先でも受け付け，認証情報を取得することができる。
【００４０】
宛先を受け付けたＭＦＰ１００は，送信先リストを作成する。ＭＦＰ１００は，宛先として指定された順番に，送信方法と送信先アドレスとログイン名とパスワードを格納した送信先レコードを作成し，送信先リストに登録していく。例えば，図２の電話帳において，まず支店Ａが選択され，次に支店Ｃが選択された場合には，例えば，図３に示すように，１番目のレコードには，支店Ａに設置されたＦＴＰサーバＡにて使用されるプロトコルである「ＦＴＰ」が送信方法のフィールドに登録され，ＦＴＰサーバＡの「ProfilesA」が送信先アドレスのフィールドに登録され，ＦＴＰサーバＡのログイン名「ａａａ」がログイン名のフィールドに登録され，パスワード「１１１」がパスワードのフィールドに登録される。そして，２番目のレコードには，支店Ｃに設置されたＣＩＦＳサーバＡにて使用されるプロトコルである「ＣＩＦＳ」が送信方法のフィールドに登録され，ＣＩＦＳサーバＡの「共有フォルダアドレスＡ」が送信先アドレスのフィールドに登録され，ＣＩＦＳサーバＡのログイン名「ｂｂｂ」がログイン名のフィールドに登録され，パスワード「２２２」がパスワードのフィールドに登録される。
【００４１】
送信先リストを生成したＭＦＰ１００は，画像読取部２０を制御して，原稿の画像を読み取らせ，画像データを生成する。そして，ＭＦＰ１００は，ＲＡＭ３３を制御して，生成した画像データを記憶させる。それから，ＭＦＰ１００は，送信先リストの順番に従って外部機器と接続し，ＲＡＭ３３に記憶した画像データを送信する。つまり，ＭＦＰ１００は，先に登録された外部機器に対して画像データの送信を完了させてから，次に登録された外部機器に対して画像データの送信を開始させる。
【００４２】
ここで，ＭＦＰ１００は，外部機器に送信する画像データのデータ名と，外部機器に保存されている画像データのデータ名とが，重複する場合には，原稿の画像データのデータ名と同じデータ名の画像データを保存する外部機器には，原稿の画像データを送信できない。外部機器に保存されている画像データが上書きされるのを防ぐためである。複数の外部機器のうちの一部にて画像データの送信を成功させた状態で，データ名が重複することにより画像データの送信が失敗すると，同一の画像データを複数の外部機器の全てに残す保証が無くなり，成功した画像データの送信が無駄になってしまう。
【００４３】
そこで，ＭＦＰ１００は，原稿の画像を読み取った後であって，その原稿の画像データを送信する前に，送信先となる複数の外部機器の全てから画像データに関するデータ名のリストを取得し，それらのリストに原稿の画像データのデータ名と同じデータ名があるか否かを判断する。そして，ＭＦＰ１００は，原稿の画像データのデータ名と同じデータ名が存在するリストがない場合に，全ての外部機器に画像データを送信する。よって，ＭＦＰ１００は，画像データ送信時に，データ名の重複により外部機器に画像データを送信できないことを回避することが可能である。
【００４４】
続いて，ＭＦＰ１００が行う複数宛先送信処理の手順について，図４のフローチャートを参照して説明する。この複数宛先送信処理は，ボタン群４２を介して複数宛先送信指示が入力されたことを契機に，ＣＰＵ３１にて実行される。
【００４５】
この複数宛先送信処理では，ＣＰＵ３１は，まず，送信先となる外部機器の選択を受け付ける（Ｓ１）。送信先となる外部機器は，例えば，液晶ディスプレイ４１に表示される宛先指定画面５２を介して指定される。この場合，外部機器は，ＭＦＰ１００のＮＶＲＡＭ３４に記憶されている電話帳からの選択と，ボタン群４２を介した手入力によって，指定される。
【００４６】
次に，ＣＰＵ３１は，ボタン群４２を介して読取設定を受け付ける（Ｓ２）。読取設定では，原稿の画像を読み取って画像データを生成する条件が設定される。読取設定には，例えば，画像データをＲＡＭ３３に記憶させる場合のデータ形式の設定などが含まれる。
【００４７】
その後，ＣＰＵ３１は，ボタン群４２を介して開始指示が入力されると（Ｓ３：ＹＥＳ），Ｓ１で指定された外部機器を送信先としてＲＡＭ３３に記憶する（Ｓ４）。つまり，ＣＰＵ３１は，Ｓ１で指定された外部機器に基づいて，送信先リスト５１を生成する。ＣＰＵ３１は，送信先リスト５１をＲＡＭ３３に記憶させる。
【００４８】
次に，ＣＰＵ３１は，指定された外部機器の全てと通信を確立させ，接続できるか否かを確認する接続確認処理を実行する（Ｓ５）。接続確認処理は，確立処理の一例になる。指定された複数の外部機器の中に接続できない外部機器が含まれている場合には，同じ画像データを指定された外部機器の全てに残す保証を担保できない。そこで，ＣＰＵ３１は，原稿の画像を読み取って画像データを生成する前に，指定された外部機器とそれぞれ通信を確立させて接続できるか否かを確認する。これにより，ＣＰＵ３１は，画像読取部２０に原稿を読み取らせて画像データを生成する制御が無駄になることを回避する可能性が高くなる。接続確認処理の手順については，後述する。
【００４９】
それから，ＣＰＵ３１は，画像読取部２０に原稿の画像を読み取らせ，画像データを生成する（Ｓ６）。Ｓ６の処理は，生成処理の一例である。画像読取部２０は，図示しないＡＤＦ（自動原稿搬送装置）により搬送された原稿の画像を読み取っても，ユーザにより読取ガラス上にセットされた原稿の画像を読み取っても良い。
【００５０】
次に，ＣＰＵ３１は，連番を取得する（Ｓ７）。連番は，ＭＦＰ１００が画像読取部２０を制御して原稿を読み取った場合にカウントされる通し番号である。
【００５１】
それから，ＣＰＵ３１は，画像データを識別するためのデータ名を生成する（Ｓ８）。データ名の生成方法は，自動設定と手動設定とから選択される。ここで，自動設定とは，ＭＦＣ１００が自動的にデータ名を生成する設定をいう。自動生成では，例えば，Ｓ７にて取得した連番と所定の文字列「ＩＭＧ」を連結したデータ名（「ＩＭＧ００２１」など）を生成する。手動設定とは，ユーザがボタン群４２等を介してデータ名を生成する設定をいう。
【００５２】
その後，ＣＰＵ３１は，ＲＡＭ３３に画像データを保存する（Ｓ９）。Ｓ９の処理は，記憶処理の一例である。つまり，ＣＰＵ３１は，ＲＡＭ３３を制御して，例えば，Ｓ６において読み取った原稿の画像の画像データに，Ｓ７にて取得した連番と，Ｓ８にて設定したデータ名をつけて，ＲＡＭ３３に記憶させる。
【００５３】
例えば，Ｓ２にてデータ形式がＰＤＦに設定された場合には，ＣＰＵ３１は，１枚の原稿の画像を読み取った場合でも，複数枚の原稿の画像を読み取った場合でも，１個の画像データがＲＡＭ３３に記憶される。一方，例えば，Ｓ２にてデータ形式がＪＰＥＧに設定された場合には，原稿のページ数と同じ数の画像データが，ＲＡＭ３３に記憶される。
【００５４】
次に，ＣＰＵ３１は，画像データを送信するデータ送信処理を実行する（Ｓ１０）。ＣＰＵ３１は，Ｓ１にて指定された外部機器から画像データに関するデータ名のリストを取得する。そして，ＣＰＵ３１は，原稿の画像データのデータ名が取得したリストの何れかに存在するか否かを判断する。ＣＰＵ３１は，原稿の画像データのデータ名が取得したリストの何れにも存在しない場合には，原稿の画像データを指定された外部機器に順次送信する。一方，ＣＰＵ３１は，原稿の画像データのデータ名が取得したリストの少なくとも１つに存在する場合には，画像データを指定された外部機器に送信しない。データ送信処理については，後述する。
【００５５】
データ送信処理を終了させたＣＰＵ３１は，複数宛先送信処理を終了させる。
【００５６】
続いて，図４のＳ５に示す接続確認処理の手順を，図５のフローチャートを参照しながら説明する。
【００５７】
まず，ＣＰＵ３１は，原稿の画像データを送信する外部機器の順番Ｎを０に初期化する（Ｓ２１）。それから，ＣＰＵ３１は，順番Ｎに１を加算する（Ｓ２２）。これにより，ＣＰＵ３１は，画像データを送信する外部機器の順番をカウントし始める。
【００５８】
その後，ＣＰＵ３１は，第Ｎ送信先の認証情報を取得する（Ｓ２３）。ＣＰＵ３１は，ＲＡＭ３３に記憶された送信先リスト５１により，原稿の画像データを送信する外部機器の順番が規定されている。そこで，ＣＰＵ３１は，送信先リスト５１から第Ｎ番目の送信先レコードを読み出し，抽出した送信先レコードに登録されているログイン名とパスワードを，認証情報として抽出する。
【００５９】
そして，ＣＰＵ３１は，ネットワークＩＦ３７を制御して，第Ｎ送信先の外部機器にログインを試みる（Ｓ２４）。つまり，ＣＰＵ３１は，ネットワークＩＦ３７を制御して，Ｓ２３にて取得した認証情報であるログイン名とパスワードを，第Ｎ番目の送信先レコードに登録された送信先アドレスに，第Ｎ番目の送信先レコードに登録された送信方法に従って送信させ，第Ｎ送信先の外部機器とのネットワーク接続を試みる。
【００６０】
ＣＰＵ３１は，第Ｎ送信先にログインできたか否かを判断する（Ｓ２５）。ＣＰＵ３１は，第Ｎ送信先の外部機器から応答があった場合には，通信が確立し，ログインできたと判断する（Ｓ２５：ＹＥＳ）。この場合，ＣＰＵ３１は，ネットワークＩＦ３７を制御して，第Ｎ送信先の外部機器をログオフさせる（Ｓ２６）。つまり，ＣＰＵ３１は，ネットワークＩＦ３７を制御して，第Ｎ送信先である外部機器とのネットワーク接続を切断させる。例えば，送信先となる外部機器が多数ある場合には，各外部機器と通信を確立させることができるか否かを確認する時間や，原稿を送信するまでに要する時間が長くなる。また，ＭＦＰ１００は，原稿を読み取る間，外部機器に接続する必要がない。よって，ＣＰＵ３１は，ログインに成功した外部機器との通信を一旦切断することで，当該外部機器に画像データを送信するまでの間，当該外部機器を他の装置に利用させやすくする。
【００６１】
ＣＰＵ３１は，第Ｎ送信先をログオフしたら，ログインを試みない他の送信先があるか否かを判断する（Ｓ２７）。原稿を読み取って画像データを生成する前に，指定された外部機器の全てについて，通信を確立させることができるか否かを判断するためである。
【００６２】
ＣＰＵ３１は，ＲＡＭ３３の送信先リスト５１に登録された順番に，ログインを試みる。よって，ＣＰＵ３１は，送信先リスト５１にまだ読み出していない送信先レコードがある場合には，ログインを試みない他の送信先があると判断し（Ｓ２７：ＹＥＳ），Ｓ２２以降の処理を実行する。つまり，ＣＰＵ３１は，先の外部機器と通信を確立させることができることを確認した後，次の外部機器と通信を確立させることができるか否かを判断する。ＣＰＵ３１は，送信先リスト５１の順番に従って外部機器にログインを試みるので，指定された外部機器の全てについて，もれなく，ネットワーク接続等の通信を確立させることができるか否かを判断できる。
【００６３】
ＣＰＵ３１は，Ｓ２２〜Ｓ２７の処理を繰り返すことにより，送信先リスト５１に登録された全ての外部機器にログインできた場合には（Ｓ２７：ＮＯ），図４のＳ６に進み，画像読取部２０を制御して，原稿の画像を読み取らせる。つまり，ＣＰＵ３１は，指定された複数の外部機器の全てと通信を確立させることができた場合に，画像読取部２０に原稿の画像を読み取らせて画像データを生成する。
【００６４】
一方，ＣＰＵ３１は，外部機器へのログインを順次試みる途中で，ログインできない外部機器があった場合には（Ｓ２５：ＮＯ），液晶ディスプレイ４１を制御して，送信先と通信を確立できないことを示す画像として「接続失敗」を表示させる（Ｓ２８）。よって，ユーザは，画像データを送信できない原因が，特定の外部機器と通信を確立させることができないことであることを，認識できる。このとき表示する画面には，接続に失敗した外部機器を特定する情報を表示しても良い。これによれば，ユーザは，接続に失敗した外部機器を認識し，例えば，その外部機器の使用者に接続不良があることを連絡して修理を依頼するなどの対応をとりやすくなる。
【００６５】
上記通知画面を表示したＣＰＵ３１は，通信を確立できない外部機器に画像データを残すことができないので，複数宛先送信処理を終了させる。つまり，ＣＰＵ３１は，複数の外部機器の少なくとも１つとネットワーク接続等の通信を確立させることができなかった場合には，画像読取部２０に原稿の画像を読み取らせない。
【００６６】
このように，本形態のＭＦＰ１００は，画像読取部２０によって原稿の画像を読み取る前に，指定された複数の外部機器と通信を確立させることができるか否かを判断する。その結果，通信を確立させることができない外部機器が存在する場合には，ＭＦＰ１００は，画像読取部２０に原稿を読み取らせず，原稿の画像データを生成しない。そのため，ＭＦＰ１００は，全ての外部機器に原稿の画像データを送信しない。よって，ＭＦＰ１００は，複数の外部機器の少なくとも１つと通信を確立させることができず，複数の外部機器の全てに同じ画像データを残す保証がない場合には，画像読取部２０に原稿の画像を無駄に読み取らせたり，画像データを無駄に送信したりする制御を回避できる。
【００６７】
続いて，図４のＳ１０に示すデータ送信処理の手順を，図６のフローチャートを参照しながら説明する。
【００６８】
ＣＰＵ３１は，まず，画像データを送信する外部機器の順番Ｎを０に初期化する（Ｓ４１）。そして，順番Ｎに１を加算した後（Ｓ４２），第Ｎ送信先の認証情報となるログイン名とパスワードを送信先リスト５１から読み出し（Ｓ４３），第Ｎ送信先のログインを試みる（Ｓ４４）。そして，ＣＰＵ３１は，ログイン可能か否かを判断する（Ｓ４５）。Ｓ４１〜Ｓ４５の処理は，図５のＳ２１〜Ｓ２５と同様であるので，説明を省略する。
【００６９】
ＣＰＵ３１は，第Ｎ送信先にログインできない場合には（Ｓ４５：ＮＯ），液晶ディスプレイ４１を制御して，通信を確立させることができないことを示す画像である「接続失敗」を表示させる（Ｓ５３）。Ｓ５３の処理は，図５のＳ２８と同様なので説明を省略する。
【００７０】
ＣＰＵ３１は，液晶ディスプレイ４１に「接続失敗」を表示すると，ＲＡＭ３３に記憶した原稿の画像データを消去する（Ｓ５４）。指定された外部機器の一つと通信を確立できない時点で，指定された外部機器の全てに同じ画像データを送信する保証がなくなる。そのため，画像読取部２０が原稿から読み取った画像の画像データは，送信する必要がなくなる。そこで，ＣＰＵ３１は，その不用になった画像データをＲＡＭ３３から消去することにより，ＲＡＭ３３の空きを確保する。
【００７１】
これに対して，ＣＰＵ３１は，第Ｎ送信先にログインできた場合には（Ｓ４５：ＹＥＳ），ネットワークＩＦ３７を制御して，第Ｎ送信先に，第Ｎ送信先の外部機器に保存されている画像データに関するデータ名のリストを要求するリスト要求を，送信させる（Ｓ４６）。Ｓ４６の処理は，リスト要求処理の一例になる。外部機器は，記憶部に記憶されている画像データのデータ名に関するリストを備える。そこで，ＣＰＵ３１は，そのリストをＭＦＰ１００に提供することを外部機器に要求する。
【００７２】
ＣＰＵ３１は，第Ｎ送信先に保存されている画像データに関するデータ名のリストを，第Ｎ送信先に外部機器から受信すると（Ｓ４７），受信したリストをＲＡＭ３３に記憶させる（Ｓ４８）。Ｓ４７の処理は，リスト受信処理の一例になる。その後，ＣＰＵ３１は，第Ｎ送信先をログオフし，第Ｎ送信先の外部機器との通信を切断する（Ｓ４９）。画像データを送信するまでの間，第Ｎ送信先の外部機器を，他の装置が利用できるようにするためである。
【００７３】
そして，ＣＰＵ３１は，全送信先にログインしたか否かを判断する（Ｓ５０）。全送信先にログインしていない場合には（Ｓ５０：ＮＯ），リストを取得できていない外部機器があるので，Ｓ４２に戻り，次の外部機器からのリスト取得を試みる。つまり，ＣＰＵ３１は，Ｓ４２〜Ｓ５０の処理を繰り返すことにより，送信先リスト５１に登録された順番に従って，外部機器と順次通信を確立させてリストを取得していく。
【００７４】
ＣＰＵ３１は，全送信先にログインした場合には（Ｓ５０：ＹＥＳ），指定された外部機器の全てについてリストを取得できているので，ＲＡＭ３３に保存した画像データのデータ名が，受信した何れかのリストに存在するか否かを判断する（Ｓ５１）。Ｓ５１の処理は，データ名判断手段の一例になる。
【００７５】
具体的に説明すると，例えば図７に示すように，ＦＴＰサーバＡ，ＣＩＦＳサーバＢ，ＦＴＰサーバＣが，送信先として指定されたとする。ＦＴＰサーバＡ，ＣＩＦＳサーバＢ，ＦＴＰサーバＣには，それぞれ，自機の記憶部に記憶された画像データに関するデータ名のリストＡ，Ｂ，Ｃが備えられている。ＭＦＰ１００は，ＦＴＰサーバＡと通信を確立させると，画像データに関するデータ名のリストの送信を要求する。ＭＦＰ１００は，ＦＴＰサーバＡからリストＡを受信すると，ＲＡＭ３３に記憶する。これと同様にして，ＭＦＰ１００は，ＣＩＦＳサーバＢ，ＦＴＰサーバＣからリストＢ，Ｃを順次取得してＲＡＭ３３に記憶させる。
【００７６】
ＲＡＭ３３には，画像読取部２０に読み取らせた原稿の画像データＡ，Ｂ，Ｃが格納されている。ＭＦＰ１００のＣＰＵ３１は，画像データＡ，Ｂ，Ｃに各々つけられたデータ名が，ＲＡＭ３３に記憶されたリストＡ，Ｂ，Ｃの何れかに存在するか否かを判断する。
【００７７】
すなわち，ＣＰＵ３１は，原稿の画像データＡ，Ｂ，Ｃの各データ名が，リストＡに記憶されたデータ名「ａａ」「ｂｂ」と，リストＢに記憶されたデータ名「ｃｃ」「ｄｄ」と，リストＣに記憶されたデータ名「ｅｅ」「ｆｆ」の何れにも一致しない場合には，原稿の画像データＡ，Ｂ，Ｃのデータ名が何れのリストＡ，Ｂ，Ｃにも存在しないと判断する（Ｓ５１：ＮＯ）。一方，ＣＰＵ３１は，原稿の画像データＡ，Ｂ，Ｃのデータ名が，リストＡに記憶されたデータ名「ａａ」「ｂｂ」と，リストＢに記憶されたデータ名「ｃｃ」「ｄｄ」と，リストＣに記憶されたデータ名「ｅｅ」「ｆｆ」の少なくとも１つと一致する場合には，原稿の画像データＡ，Ｂ，Ｃのデータ名がリストＡ，Ｂ，Ｃの何れかに存在すると判断する（Ｓ５１：ＹＥＳ）。
【００７８】
図６に示すように，ＣＰＵ３１は，ＲＡＭ３３に保存した原稿の画像データのデータ名が，受信した何れかのリストに存在すると判断した場合には（Ｓ５１：ＹＥＳ），Ｓ５２の送信実行処理に進まず，原稿の画像データを指定された外部機器の何れにも送信しない。原稿の画像データのデータ名が何れかの外部機器に記憶された画像データのデータ名と重複するため，送信実行処理を実行しても，データ名が重複する外部機器に原稿の画像データを送信できない可能性が高いからである。
【００７９】
この場合，ＣＰＵ３１は，液晶ディスプレイ４１を制御して，原稿の画像データのデータ名と同じデータ名が外部機器に存在するために画像データを送信できないことを示す画像である「同一データ名存在による送信失敗」を表示させる（Ｓ５５）。これにより，ユーザは，原稿の画像データのデータ名が何れかの外部機器に保存された画像データのデータ名と重複することが原因で，画像データを送信できないことを認識できる。この場合，ユーザは，ボタン群４２等を操作してデータ名を変更することにより送信失敗の原因を排除してから，原稿の画像データを送り直すことができる。
【００８０】
その後，ＣＰＵ３１は，原稿の画像データをＲＡＭ３３から消去してから（Ｓ５６），複数宛先送信処理を終了する。送信しない画像データをＲＡＭ３３から消去することにより，不用な画像データがＲＡＭ３３を占有することを防ぎ，ＲＡＭ３３の記憶容量を確保できるからである。原稿の画像データを消去したら，ＣＰＵ３１は，複数宛先送信処理を終了する。なお，ＣＰＵ３１は，原稿の画像データの他，受信したリストも，ＲＡＭ３３から削除すると良い。ＲＡＭ３３の記憶容量を確保するためである。
【００８１】
一方，ＣＰＵ３１は，ＲＡＭ３３に保存した画像データのデータ名が，受信した何れかのリストに存在しないと判断した場合には（Ｓ５１：ＮＯ），画像データのデータ名が送信先の外部機器に記憶された画像データのデータ名と重複しないので，画像データの送信を実行する送信実行処理を行う（Ｓ５２）。Ｓ５２の処理は，送信処理の一例になる。送信実行処理の手順を，図８のフローチャートを参照しながら説明する。
【００８２】
図８に示すように，ＣＰＵ３１は，原稿の画像データを送信する順番Ｎを０に初期化した後（Ｓ６１），順番Ｎに１を加算する（Ｓ６２）。その後，第Ｎ送信先の認証情報となるログイン名とパスワードを送信先リスト５１から読み出し（Ｓ６３），第Ｎ送信先のログインを試みる（Ｓ６４）。そして，ＣＰＵ３１は，ログイン可能か否かを判断する（Ｓ６５）。Ｓ６１〜Ｓ６５の処理は，図５のＳ２１〜Ｓ２５と同様であるので，説明を省略する。
【００８３】
ＣＰＵ３１は，第Ｎ送信先の外部機器にログインできない場合には（Ｓ６５：ＮＯ），何れの外部機器にも画像データを送信しない。例えば，送信先が多数設定され，原稿の枚数が多い場合には，接続確認処理を実行する実行時間や原稿を読み取る読取時間が長くなる。そのため，接続確認処理において通信を確立できた外部機器でも，例えば，ＭＦＰ１００が当該外部機器に原稿の画像データを送信する際に，ネットワークケーブルが抜かれていたり，無線通信の場合に電波環境が悪くなっていたりしていることがある。この場合，ＭＦＰ１００は，当該外部機器にログインして通信を確立させることができず，画像データを送信できない。ＣＰＵ３１は，同一の画像データを指定した外部機器の全てに送信する保証が無くなるので，何れの外部機器にも画像データを送信しない。
【００８４】
この場合，ＣＰＵ３１は，液晶ディスプレイ４１に「接続失敗」を表示させる（Ｓ７０）。そして，ＣＰＵ３１は，ＲＡＭ３３から原稿の画像データを消去し（Ｓ７１），複数宛先送信処理を終了する。Ｓ７０，Ｓ７１の処理は，図６のＳ５３，Ｓ５４と同様なので，説明を省略する。
【００８５】
一方，ＣＰＵ３１は，第Ｎ送信先の外部機器との通信が確立し，ログインできた場合には（Ｓ６５：ＹＥＳ），第Ｎ送信先の外部機器にＲＡＭ３３に記憶された原稿の画像データの送信を開始する（Ｓ６６）。そして，ＣＰＵ３１は，画像データの送信を正常に完了したか否かを判断する（Ｓ６７）。例えば，画像データを送信している最中に，ネットワークケーブルが抜かれたり，電波環境が悪くなったりするなどして，画像データを送信できなくなる可能性があるからである。この問題は，特に，送信する画像データの数が多いほど生じやすくなる。
【００８６】
ＣＰＵ３１は，画像データの送信が正常に完了しなかった場合には（Ｓ６７：ＮＯ），画像データを送信せず，液晶ディスプレイ４１を制御して，画像データの送信に失敗したことを示す画像である「送信失敗」を表示させる（Ｓ７２）。これにより，ユーザは，画像データ送信中のトラブルが原因で，画像データの送信に失敗したことを認識できる。
【００８７】
その後，ＣＰＵ３１は，第Ｎ送信先の外部機器からログオフする（Ｓ７３）。ＭＦＰ１００が当該外部機器に接続する必要がなくなるため，他の装置が当該外部機器を利用しやすくするためである。それから，ＣＰＵ３１は，ＲＡＭ３３の画像データを削除する（Ｓ７４）。同一の画像データを複数の外部機器に残す保証が無くなるため，不用になった画像データをＲＡＭ３３から削除して，ＲＡＭ３３の記憶容量を確保するためである。画像データを削除したＣＰＵ３１は，複数宛先送信処理を終了する。
【００８８】
一方，画像データの送信が正常に完了した場合には（Ｓ６７：ＹＥＳ），第Ｎ送信先の外部機器をログオフする（Ｓ６８）。画像データを送った後は，第Ｎ送信先の外部機器と通信する必要がないからである。よって，ＣＰＵ３１は，第Ｎ送信先の外部機器に画像データの送信が完了すると，速やかに第Ｎ送信先の外部機器との接続を切断することにより，他の装置に第Ｎ送信先の外部機器を利用させやすくする。
【００８９】
その後，ＣＰＵ３１は，全送信先に画像データを送信したか否かを判断する（Ｓ６９）。全送信先に画像データを送信していない場合には（Ｓ６９：ＮＯ），Ｓ６２に戻る。つまり，ＣＰＵ３１は，先の外部機器に画像データを送信した後，次の外部機器に画像データを送信する。
【００９０】
ＣＰＵ３１は，全送信先に画像データを送信すると（Ｓ６９：ＹＥＳ），複数宛先送信処理を終了する。
【００９１】
以上説明したように，本形態のＭＦＰ１００は，原稿の読み取り後であって画像データの送信前に，その画像データの送信先である複数の外部機器に，送信対象の画像データのデータ名と同じデータ名のデータがあるか否かを判断する。そして，ＭＦＰ１００は，複数の外部機器の何れにも，画像読取部２０により読み取った原稿の画像データと同じデータ名のデータが無いと判断した場合には，原稿の画像データを複数の外部機器に送信する。これにより，ＭＦＰ１００は，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗するという送信結果を回避できる可能性が高まる。
【００９２】
具体的には，例えば，ＣＰＵ３１は，画像読取部２０に原稿の画像を読み取らせた後，画像データを送信する前に，図３に示す送信先リスト５１の第１〜第６番目の送信先レコードに登録された外部機器の全てから，画像データに関するリストを取得する。そして，取得したリストの中に，ＲＡＭ３３に記憶した画像データのデータ名があるか否かを判断する。例えば，送信先リスト５１の第１番目と，第３番目〜第６番目に登録された外部機器から取得したリストには，画像データと同じデータ名がなかったが，送信先リスト５１の第２番目に登録された外部機器から取得したリストに，原稿から読み取った画像の画像データと同じデータ名があった場合には，ＭＦＰ１００は，原稿の画像データを第１〜第６番目の外部機器の全てに画像データを送信しない。よって，例えば，第１番目と第３番目〜第６番目の外部機器に画像データが残り，第２番目の外部機器に画像データが残らないという送信結果を回避できる。
【００９３】
これにより，複数先送信に失敗したユーザは，画像データの送信に失敗した外部機器を探し出して画像データを送り直す手間がかからない。この利便性は，送信先の数が多いほど，顕著になる。また，外部機器は，データ名の重複により画像データが再送された場合でも，同じ画像データを記憶部に無駄に記憶しない。しかも，画像データを受信した外部機器の使用者は，受信した画像データが記憶部に記憶されている画像データと同じか，違うかを判別する必要がない。
【００９４】
続いて，本発明の第２実施形態について説明する。第２実施形態の画像読取装置は，データ送信処理におけるアクセスエラーの検出方法が第１実施形態の画像読取装置と相違する。すなわち，第１実施形態の画像読取装置は，データ名の重複による送信エラーを検出していたが，第２実施形態の画像読取装置は，外部機器の容量不足による送信エラーを検出する。この点を除き，第２実施形態の画像読取装置の構成は，第１実施形態の画像読取装置の構成と共通している。よって，ここでは，図９のフローチャートを参照しながら，第１実施形態と相違する送信エラーの検出を中心に説明し，第１実施形態と共通する点については，図面及び説明に第１実施形態と同じ符号を使用し，適宜説明を省略する。
【００９５】
ＣＰＵ３１は，第Ｎ送信先の外部機器と通信を確立させると（Ｓ４１〜Ｓ４４，Ｓ４５：ＹＥＳ），ネットワークＩＦ３７を制御して，第Ｎ送信先の外部機器が保存可能なデータサイズを要求するサイズ要求を送信させる（Ｓ８１）。ここで，外部機器が保存可能なデータサイズとは，外部機器に設けられた記憶領域の空き容量をいう。外部機器が，ＣＩＦＳサーバ等のように複数人が共有するネットワークサーバである場合には，当該サーバのユーザ毎に割り当てられた記憶領域の空き容量を，外部機器が保存可能なデータサイズとして，ＣＰＵ３１は当該サーバに要求する。また，外部機器が，ＦＴＰサーバ等のようなデータ転送用サーバである場合には，当該サーバの記憶部の物理的な空き容量を，外部機器が保存可能なデータサイズとして，ＣＰＵ３１は当該サーバに要求する。
【００９６】
ＣＰＵ３１は，ネットワークＩＦ３７を制御して，第Ｎ送信先の外部機器から保存可能なデータサイズを受信すると（Ｓ８２：ＹＥＳ），その保存可能なデータサイズをＲＡＭ３３に記憶させる（Ｓ８３）。
【００９７】
それから，ＣＰＵ３１は，第Ｎ送信先をログオフする（Ｓ４９）。これにより，他の装置が，第Ｎ送信先の外部機器を利用できるようになる。その後，ＣＰＵ３１は，送信先となる外部機器の全てにログインしたか否かを判断する（Ｓ５０）。
【００９８】
ＣＰＵ３１は，全送信先にログインしていない場合には（Ｓ５０：ＮＯ），Ｓ４２に戻る。Ｓ４２〜Ｓ４５，Ｓ８１〜Ｓ８３，Ｓ４９，Ｓ５０の処理を繰り返すことにより，ＣＰＵ３１は，全ての外部機器から，記憶部に保存可能なデータサイズを，順次取得する。
【００９９】
ＣＰＵ３１は，全ての外部機器からデータサイズを取得したら（Ｓ５０：ＹＥＳ），画像読取部２０により読み取った原稿の画像データのサイズが，各外部機器から受信したデータサイズの何れかより大きいか否かを判断する（Ｓ８４）。Ｓ８４の処理は，サイズ判断処理の一例になる。
【０１００】
ＣＰＵ３１は，原稿の画像データのサイズが，各外部機器から受信したデータサイズの何れかより大きくない場合には（Ｓ８４：ＮＯ），第Ｎ送信先の外部機器の記憶部に画像データを記憶させることができるので，画像データを送信する送信実行処理を実行する（Ｓ５２）。
【０１０１】
一方，ＣＰＵ３１は，原稿の画像データのサイズが，各外部機器から受信したデータサイズの何れかより大きい場合には（Ｓ８４：ＹＥＳ），画像データを送信できない外部機器が生じる。そこで，ＣＰＵ３１は，送信実行処理を実行せず，複数の外部機器の何れにも画像データを送信しない。
【０１０２】
この場合には，ＣＰＵ３１は，液晶ディスプレイ４１を制御して，外部機器の記憶部の容量が不足するために画像データを送信できないことを示す画像である「容量不足による送信失敗」を表示させる（Ｓ８５）。この表示により，ユーザは，画像データの送信失敗が外部機器の容量不足にあることを認識できる。そして，ユーザは，原稿の画像を読み取るときの画素数を減らしたり，データを圧縮させたりするなどして原稿の画像データのサイズを小さくして画像データを再送信できる。
【０１０３】
ＣＰＵ３１は，送信失敗画面を表示させると，ＲＡＭ３３に記憶されている画像データを消去し（Ｓ５６），複数宛先送信処理を終了する。
【０１０４】
よって，本形態のＭＦＰ１００は，原稿の画像を読み取った後であって，その原稿の画像データを送信する前に，原稿の画像データのデータサイズが，外部機器に保存可能なデータサイズの何れかより大きいか否かを判断する。そして，ＭＦＰ１００は，原稿の画像データのデータサイズが，複数の外部機器に保存可能なデータサイズの何れよりも大きくないと判断した場合には，ＭＦＰ１００は，画像データを複数の外部機器に送信する。これにより，ＭＦＰ１００は，記憶部の空き容量の不足により，一部の外部機器に対する送信が成功して残りの外部機器に対する送信が失敗するという送信結果を回避できる可能性が高まる。
【０１０５】
なお，本実施の形態は単なる例示にすぎず，本発明を何ら限定するものではない。したがって本発明は当然に，その要旨を逸脱しない範囲内で種々の改良，変形が可能である。本発明は，複合機に限らず，スキャナに適用しても良い。
【０１０６】
ＣＰＵ３１は，全送信先に画像データを送信できた場合に，液晶ディスプレイ４１に，複数宛先送信に成功ことを示す画像である「送信成功」を表示するようにしても良い。また，Ｓ２８，Ｓ５３，Ｓ７０に示す接続失敗を通知する画面を表示する処理や，Ｓ５５，Ｓ７２，Ｓ８５に示す送信失敗を通知する画面を表示する処理は，省略しても良い。
【０１０７】
ＣＰＵ３１は，複数宛先送信処理の送信結果をログに残してもよい。ログには，接続失敗や同一データ名存在による送信失敗や空き容量不足による送信失敗等のエラーに関するエラーログだけを残してもよいし，送信結果を全て残しても良い。また，送信結果は，液晶ディスプレイ４１への表示だけでなく，音声メッセージ等により報知しても良い。
【０１０８】
図５に示す接続確認処理では，個々の送信先について通信が確立される度に通信を切断したが，通信を切断するタイミングはこれに限定されない。例えば，ＣＰＵ３１は，全ての送信先について通信を確立させた後，纏めて通信を切断してもよい。また，ＣＰＵ３１は，接続確認処理において通信を切断せず，複数の外部機器と通信を確立させた状態で，画像読取部２０を制御して原稿の画像を読み取らせるようにしても良い。この場合，ＣＰＵ３１は，画像読取後に通信を纏めて切断しても良いし，外部機器に画像データを順次送信する際に個々に通信を切断しても良いし，複数の外部機器の全てに画像データを送信した後に纏めて通信を切断しても良い。
【０１０９】
図６及び図９のデータ送信処理では，Ｓ５６に示す画像データを消去する処理の代わりに，データ名の変更や，データサイズの変更を，ユーザに要求する画面を，液晶ディスプレイ４１に表示させても良い。そして，変更を受け付けた場合には，変更後のデータ名と同じデータ名が外部機器に存在しないこと，又は，変更後のデータサイズが外部機器に保存できるデータサイズより小さいことを確認できた場合には，ＣＰＵ３１が，ＲＡＭ３３に記憶された原稿の画像データを外部機器に送信するようにしても良い。これによれば，ユーザは，画像読取部２０に再度原稿を読み取らせなくても，データ名やデータサイズを変更するだけで，原稿の画像データを再送できるようになる。
【０１１０】
図８に示す送信実行処理では，原稿の画像データを複数の外部機器に順次送信したが，原稿の画像データを複数の外部機器に同時に送信しても良い。
【０１１１】
図６に示すデータ送信処理では，複数の外部機器に順次ログインしてリストを要求したが，複数の外部機器に同時にログインを試み，リストを要求しても良い。この場合には，ＣＰＵ３１は，何れかの外部機器からリストを取得できない場合に，液晶ディスプレイ４１に「送信失敗」を表示させる。
【０１１２】
図６に示すデータ送信処理では，ＣＰＵ３１が複数の外部機器からリストを取得したが，ＣＰＵ３１は，複数の外部機器に対して画像データに関するデータ名を送信することを要求し，複数の外部機器から受信したデータ名を登録したリストを作成してＲＡＭ３３に記憶するようにしても良い。また，ＣＰＵ３１は，外部機器に対して，リストの送信を要求し，リストを備えない外部機器に対してはデータ名を送信することを要求するようにしても良い。
【０１１３】
接続確認処理は，省略されても良い。また，原稿の読み取り後，ＭＦＰ１００が，リスト時や画像データ送信時に外部機器に接続できない場合や，データ名の重複により外部機器に画像データを送信できない場合には，原稿の画像データを消去しなくてもよい。
【０１１４】
また，実施の形態に開示されている処理は，単一のＣＰＵ，複数のＣＰＵ，ＡＳＩＣなどのハードウェア，またはそれらの組み合わせで実行されてもよい。また，実施の形態に開示されている処理は，その処理を実行するためのプログラムを記録した記録媒体，または方法等の種々の態様で実現することができる。
【符号の説明】
【０１１５】
１，２，３  外部機器
２０    画像読取部
３１    ＣＰＵ
３３    ＲＡＭ
３７    ネットワークＩＦ
４１    液晶ディスプレイ
１００  ＭＦＰ
【図１】
2018107634.tif 000003
【図２】
2018107634.tif 000004
【図３】
2018107634.tif 000005
【図４】
2018107634.tif 000006
【図５】
2018107634.tif 000007
【図６】
2018107634.tif 000008
【図７】
2018107634.tif 000009
【図８】
2018107634.tif 000010
【図９】
2018107634.tif 000011