(57)【特許請求の範囲】
【請求項１】
分割されたデータをマルチコネクション通信で送信可能な画像読取装置であって、
原稿を読み取る読取部と、
ユーザ操作を受け付ける受付部と、
通信環境を測定する測定手段と、
前記読取部で読み取られる画像を外部装置に送信するための実行指示を前記受付部で受け付けたことにしたがって、前記読取部による読み取り処理と前記測定手段による測定処理を並列実行させる手段と、
前記読み取り処理の完了前に前記測定処理が完了した場合は前記測定処理の結果に基づいてマルチコネクション通信を通信方法に用いるかマルチコネクション通信ではない通信方法を用いるかを決定して且つ前記読み取り処理で取得した画像を前記決定した通信方法で外部装置に送信する手段であって、前記測定処理の完了前に前記読み取り処理が完了した場合は前記測定処理の完了を待たずに前記読み取り処理で取得した画像をマルチコネクション通信を用いて外部装置に送信する手段と、
を有することを特徴とする画像読取装置。
【請求項２】
前記マルチコネクション通信を実行する際のコネクション数を決定する決定手段を更に備え、
前記マルチコネクション通信を適用すると決定された場合に、前記送信する手段は、前記決定手段によって決定されたコネクション数で前記マルチコネクション通信を実行することを特徴とする請求項１に記載の画像読取装置。
【請求項３】
前記決定手段は、前記測定手段によって測定された前記通信環境に基づいて前記コネクション数を決定することを特徴とする請求項２に記載の画像読取装置。
【請求項４】
前記決定手段は、送信する画像のデータサイズに基づいて前記コネクション数を決定することを特徴とする請求項２に記載の画像読取装置。
【請求項５】
前記通信環境は、前記画像読取装置と外部装置との間のデータの転送レートであることを特徴とする請求項１乃至４のいずれか１項であることを特徴とする画像読取装置。
【請求項６】
前記測定手段は、前記受付部によって前記実行指示を受け付けられたことに応じて前記通信環境の測定を開始することを特徴とする請求項１乃至５のいずれか１項に記載の画像読取装置。
【請求項７】
原稿を読み取る読取部とユーザ操作を受付部と通信環境を測定する測定手段を備え分割されたデータをマルチコネクション通信で送信可能な画像読取装置の制御方法であって、
前記読取部で読み取られる画像を外部装置に送信するための実行指示を前記受付部で受け付けたことにしたがって、前記読取部による読み取り処理と前記測定手段による測定処理を並列実行させる工程と、
前記読み取り処理の完了前に前記測定処理が完了した場合は前記測定処理の結果に基づいてマルチコネクション通信を通信方法に用いるかマルチコネクション通信ではない通信方法を用いるかを決定して且つ前記読み取り処理で取得した画像を前記決定した通信方法で外部装置に送信する手段であって、前記測定処理の完了前に前記読み取り処理が完了した場合は前記測定処理の完了を待たずに前記読み取り処理で取得した画像をマルチコネクション通信を用いて外部装置に送信する工程と、
を有することを特徴とする制御方法。
【請求項８】
請求項７に記載の画像読取装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）では、情報処理装置はサーバとの間で１つのコネクションを確立して、データ通信を実行する。このデータ通信をより効率的に実行するための技術として、情報処理装置とサーバとの間で複数のコネクションを確立して、データを分割して分割したデータを複数のコネクションを使用して通信する技術が知られている。なお、以降の説明では、分割データを複数のコネクションを使用して通信することをマルチコネクション通信と呼ぶ。
【０００３】
マルチコネクション通信を実行する場合、複数のコネクションを並列して通信に使用できるため、１つのコネクションを使用してデータを通信する場合に比べてより効率的に実行することができる。特許文献１には、情報処理装置が最大接続数をサーバに通知し、通知された最大接続数に従って、サーバが情報処理装置との間で通信を実行する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−９５０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、マルチコネクション通信を実行したとしても、通信環境によっては必ずしもデータ通信の効率が向上する訳ではない。マルチコネクション通信によってデータを送信する際にはデータを分割する処理が発生し、また、マルチコネクション通信によってデータを受信する際にはデータを結合する処理が発生する。例えばデータの転送レートが十分に高い場合には、これらの分割処理や結合処理に要する時間を考慮すると、マルチコネクション通信を行わない方がデータ通信の効率が良い場合もある。
【０００６】
そこで本発明では、マルチコネクション通信を実行するか否かを、通信環境に応じて切り替えることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明が提供する画像読取装置は、分割されたデータをマルチコネクション通信で送信可能な画像読取装置であって、原稿を読み取る読取部と、ユーザ操作を受け付ける受付部と、通信環境を測定する測定手段と、前記読取部で読み取られる画像を外部装置に送信するための実行指示を前記受付部で受け付けたことにしたがって、前記読取部による読み取り処理と前記測定手段による測定処理を並列実行させる手段と、前記読み取り処理の完了前に前記測定処理が完了した場合は前記測定処理の結果に基づいてマルチコネクション通信を通信方法に用いるかマルチコネクション通信ではない通信方法を用いるかを決定して且つ前記読み取り処理で取得した画像を前記決定した通信方法で外部装置に送信する手段であって、前記測定処理の完了前に前記読み取り処理が完了した場合は前記測定処理の完了を待たずに前記読み取り処理で取得した画像をマルチコネクション通信を用いて外部装置に送信する手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、マルチコネクション通信を実行するか否かを、通信環境に応じて適切に切り替えることができる。
【図面の簡単な説明】
【０００９】
【図１】システム全体を示す図である。
【図２】マルチコネクション通信を説明する図である。
【図３】情報処理装置１０１の構成を示す図である。
【図４】実施形態１で実行される処理を示すフローチャートである。
【図５】アップロード画面を示す図である。
【図６】ＨＴＴＰコネクションの数を決定するためのテーブルを示す図である。
【図７】ＨＴＴＰコネクションの数を決定するためのテーブルを示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１１】
（実施形態１）
図１を用いて本実施形態に係る情報処理システムの構成を説明する。情報処理システムは、情報処理装置１０１とサーバ１０２を備え、情報処理装置１０１とサーバ１０２はネットワーク１０３を介して互いに通信可能に接続されている。
【００１２】
次に、図２を用いて情報処理装置１０１のハードウェア構成について説明する。情報処理装置１０１は、コピー機能、プリント機能、スキャン機能、送信機能等を備える印刷装置である。なお、本実施形態では、情報処理装置１０１として印刷装置を例にして説明するが、印刷装置に限らず、サーバ１０２と通信を実行できる装置（例えばＰＣ、携帯電話、スマートフォン等）であればよい。
【００１３】
ＣＰＵ２０１は、ＲＯＭ２０２に記憶された制御プログラムを読み出して、情報処理装置１０１全体の動作を制御する。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２０４は、フォントデータ、エミュレーションプログラム、フォームデータ等の各種データを記憶する。
【００１４】
なお、情報処理装置１０１の場合、１つのＣＰＵ２０１が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のＣＰＵが協働して後述するフローチャートに示す各処理を実行するようにすることもできる。
【００１５】
プリンタ２０５は、印刷ジョブやスキャナ２０６が生成したスキャン画像に基づいて印刷処理を実行する。スキャナ２０６は、原稿を読み取って画像データ（スキャン画像）を生成する。操作部２０７にはタッチパネル機能を有する液晶表示部やキーボードなどが備えられている。ユーザは操作部２０７を介して情報処理装置１０１に対する操作、指示を入力することができる。ネットワークＩ／Ｆ２０８は、ネットワーク１０３を介してサーバ１０２等の外部装置との通信を実行する。
【００１６】
情報処理装置１０１は、あるデータをサーバ１０２に送信する場合に、サーバ１０２との間で複数のコネクション（ＨＴＴＰコネクション）を確立して、この複数のコネクションを使用してデータを送信することができる。この際、送信対象のデータは所定のサイズに分割され、分割データが複数のコネクションを使用して並列してサーバ１０２に送信される。サーバ１０２は、受信した分割データを結合して、元のデータに戻すことができる。また、情報処理装置１０１は、あるデータをサーバ１０２から取得する場合にも、サーバ１０２との間で複数のコネクションを確立して、この複数のコネクションを使用してデータを取得することができる。
【００１７】
このように、分割データを複数のコネクションを使用して通信する通信方法のことを、以降の説明ではマルチコネクション通信と呼ぶこととする。マルチコネクション通信によれば、複数のコネクションを並列して通信に使用できるため、１つのコネクションを使用してデータを通信する場合に比べて通信をより効率的に実行することができる。
【００１８】
マルチコネクション通信について、図３を用いて更に詳しく説明する。図３は、情報処理装置１０１のスキャナ２０６が原稿を読み取ることで生成したスキャン画像を、マルチコネクション通信を用いてサーバ１０２にアップロードする場合を示す。図３の場合、スキャン画像を５つのデータに分割し、分割データを５本のＨＴＴＰコネクションを用いてサーバ１０２に送信する。
【００１９】
パケットのヘッダ部３０１は、Ｃｏｎｔｅｎｔ−Ｒａｎｇｅ情報が含まれていて、１つの分割データがデータ全体の何バイト目であるかを示している。ヘッダ部３０１の場合、０バイト目から９９９バイト目の分割データを送信することを示している。分割データを受信したサーバ１０２は、Ｃｏｎｔｅｎｔ−Ｒａｎｇｅ情報を参照することで、分割データを元の１つのデータに結合することができる。図３では記載を省略したが、すべての分割データのヘッダ部にはＣｏｎｔｅｎｔ−Ｒａｎｇｅ情報が指定される。
【００２０】
マルチコネクション通信を実行することで、１つのコネクションを使用してデータを通信する場合に比べてより効率的に通信を実行することができる。しかしながら、マルチコネクション通信を実行したとしても、通信環境によっては必ずしもデータ通信の効率が向上するわけではない。図３で説明したように、マルチコネクション通信を実行する場合には、送信側ではデータを分割する処理（分割処理）が発生するし、受信側ではデータを結合する処理（結合処理）が発生する。例えば情報処理装置１０１とサーバ１０２との間の通信における転送レートが十分に高い場合には、分割処理や結合処理に要する時間を考慮すると、マルチコネクション通信を行わない方がデータ通信の効率が良い場合もある。そこで本実施形態では、情報処理装置１０１とサーバ１０２との間の通信環境に応じて、マルチコネクション通信を実行するか否かを切り替えることを目的とする。
【００２１】
情報処理装置１０１がスキャン画像をサーバ１０２にアップロードする際に実行される処理を、図４のフローチャートを用いて説明する。図４のフローチャートに示す各ステップは、ＣＰＵ２０１がＲＯＭ２０２等のメモリに格納されたプログラムをＲＡＭ２０３に展開して実行することによって処理される。また、上記で説明した通り、情報処理装置１０１はマルチコネクション通信を実行可能である。
【００２２】
まずステップＳ４０１において、ＣＰＵ２０１は、スキャン画像をサーバ１０２にアップロードするための実行指示をユーザから受け付ける。
【００２３】
図５のアップロード画面５００は、操作部２０７が表示する画面であり、スキャン画像を所定のサーバにアップロードするために使用される。設定項目５０１は、原稿を読み取る際の読取設定を設定するための項目である。設定項目５０１のうち所望の項目を選択することで、ユーザは所望の読取設定を設定することができる。変更ボタン５０２は、アップロード先を変更するために使用される。所望の読取設定を設定してスキャナ２０６に原稿をセットしたユーザは、実行ボタン５０３を押す（タッチする）。本実施形態の場合、ユーザが実行ボタン５０３を押すことで、ステップＳ４０１において、スキャン画像をサーバ１０２にアップロードするための実行指示をＣＰＵ２０１がユーザから受け付ける。
【００２４】
ステップＳ４０１において実行指示を受け付けると、ステップＳ４０２において、スキャナ２０６はセットされた原稿の読み取りを開始する。原稿の読み取りを開始すると、ステップＳ４０３において、ＣＰＵ２０１は通信環境の測定を開始する。ステップＳ４０２による原稿の読み取りと開始と、ステップＳ４０３による通信環境の測定の開始は、図４で説明した順番で必ずしも実行する必要はなく、逆の順番で実行してもよい。重要な点は、原稿の読み取りと通信環境の測定を並行して行う点である。
【００２５】
通信環境の測定について、更に詳しく説明する。本実施形態の場合、通信環境として、情報処理装置１０１とスキャン画像のアップロード先であるサーバ１０２との間の転送レートを測定する。転送レートの測定方法は、公知の技術を用いればよく、特に限定されるものではない。例えば所定のパケットを情報処理装置１０１がサーバ１０２に送信し、送信したパケットに対する返信パケットを受信するまでに要する時間と送受信したパケットのサイズとに基づいて転送レートを測定してもよい。あるいは、転送レートを測定するための専用のデータをサーバ１０２から取得し、取得に要する時間と取得したデータのサイズとに基づいて転送レートを測定してもよい。また、本実施形態において測定する通信環境は転送レートに限らない。例えば、データ通信を実行する場合のパケットロス率や、データ通信の発生頻度など、他の要素を通信環境としてもよい。
【００２６】
フローチャートの説明に戻る。ステップＳ４０４において、ＣＰＵ２０１は、通信環境の測定が完了したか否かを判定する。本実施形態の場合、情報処理装置１０１とサーバ１０２との間の転送レートの測定が完了すると、ステップＳ４０４において通信環境の測定が完了したと判定され、ステップＳ４０５に進む。そしてステップＳ４０５において、ＣＰＵ２０１は、通信環境の測定結果、本実施形態の場合は情報処理装置１０１とサーバ１０２との間の転送レートをＨＤＤ２０４の所定の記憶領域に記憶し、ステップＳ４０６に進む。一方、ステップＳ４０４において通信環境の測定が完了したと判定していないと判定されると、ステップＳ４０６に進む。
【００２７】
次にステップＳ４０６において、ＣＰＵ２０１は、スキャナ２０６による原稿の読み取りが完了したか否かを判定する。スキャナ２０６による原稿の読み取りが完了していないと判定されると、処理はステップＳ４０４に戻り、原稿の読み取りが完了するまでステップＳ４０４〜ステップＳ４０６の処理を繰り返す。一方、原稿の読み取りが完了したとステップＳ４０６において判定されると、ステップＳ４０７に進む。なお、複数の原稿がスキャナ２０６にセットされた場合は、複数の原稿すべてを読み取ったことで、ステップＳ４０６において原稿の読み取りが完了したと判定される。
【００２８】
次にステップＳ４０７において、ＣＰＵ２０１は、通信環境の測定が完了しているか否かを判定する。ステップＳ４０３で開始した通信環境の測定が完了している場合、ステップＳ４０８に進む。一方、ステップＳ４０３で開始した通信環境の測定が完了していない場合、ステップＳ４０９に進む。本実施形態の場合、通信環境の測定が完了すると、ステップＳ４０５においてＨＤＤ２０４の所定の記憶領域に通信環境の測定結果が記憶される。ステップＳ４０７では、この情報が記憶されているか否かをＣＰＵ２０１がチェックし、記憶されている場合に通信環境の測定が完了していると判定される、記憶されていない場合に信環境の測定が完了していないと判定される。
【００２９】
次にステップＳ４０８について説明する。ステップＳ４０８において、ＣＰＵ２０１は、スキャン画像をアップロードするための通信にマルチコネクション通信を適用するか否かを判定する。本実施形態の場合、ＨＤＤ２０４に記憶されている通信環境の測定結果に基づいて、マルチコネクション通信を適用するか否かが判定される。通信環境の測定結果、つまり情報処理装置１０１とサーバ１０２との間の転送レートが所定の通信レート（例えば１０２４００Ｋｂｙｔｅ／ｓｅｃ）より大きい場合、マルチコネクション通信を適用しないとＣＰＵ２０１が判定し、ステップＳ４１０に進む。一方、通信環境の測定結果、つまり情報処理装置１０１とサーバ１０２との間の転送レートが所定の通信レート以下である場合、マルチコネクション通信を適用しないとＣＰＵ２０１が判定し、ステップＳ４０９に進む。
【００３０】
次にステップＳ４０９について説明する。ステップＳ４０９において、ＣＰＵ２０１は、マルチコネクション通信を用いてスキャン画像をサーバ１０２にアップロードするようにネットワークＩ／Ｆ２０８を制御する。そしてネットワークＩ／Ｆ２０８は、マルチコネクション通信を用いてスキャン画像をサーバ１０２にアップロードする。ステップＳ４０９でマルチコネクション通信を用いるのは、情報処理装置１０１とサーバ１０２との間の転送レートが所定の通信レート以下である場合であり、マルチコネクション通信を用いることでデータ通信の効率を向上させることができる。また、通信環境の測定よりも原稿の読み取りが先に完了した場合、つまりステップＳ４０７においてＮｏと判定された場合にも、ステップＳ４０９でマルチコネクション通信を用いる。なお、本実施形態の場合、マルチコネクション通信を実行する場合は、図３で説明したように５本のＨＴＴＰコネクションを確立することとするが、ＨＴＴＰコネクションの数は５本に限定される訳ではなく、２本や３本であってもよい。
【００３１】
次にステップＳ４１０について説明する。ステップＳ４０９において、ＣＰＵ２０１は、マルチコネクション通信を用いずにスキャン画像をサーバ１０２にアップロードするようにネットワークＩ／Ｆ２０８を制御する。そしてネットワークＩ／Ｆ２０８は、マルチコネクション通信を用いずに、１つのＨＴＴＰコネクションをサーバ１０２との間で確立してスキャン画像をサーバ１０２にアップロードする。ステップＳ４１０でマルチコネクション通信を用いないのは、情報処理装置１０１とサーバ１０２との間の転送レートが所定の通信レートより大きい場合である。この場合、マルチコネクション通信に必要なデータの分割処理や結合処理に要する時間を削減することができるため、データ通信の効率を向上させることができる。
【００３２】
以上の説明の通り、本実施形態によれば、一律マルチコネクション通信を用いるのではなく、通信環境によってはマルチコネクション通信を用いないように切り替えることができる。具体的には、情報処理装置１０１とサーバ１０２との間の転送レートが所定の通信レートより大きい場合、つまり十分な転送レートを確保できる場合には、マルチコネクション通信を用いずにデータ通信を実行することで、データ通信の効率を向上させることができる。
【００３３】
また、本実施形態によれば、通信環境の測定と原稿の読み取りを並行して行う。従って、通信環境の測定が完了した後に原稿の読み取りを行う場合や、原稿の読み取りが完了した後に通信環境の測定を行う場合に比べて、スキャン画像のアップロードが完了するまでに要する時間を短縮することができる。
【００３４】
また、本実施形態によれば、通信環境の測定よりも原稿の読み取りが先に完了した場合には、通信環境の測定が完了するのを待たずにマルチコネクション通信を用いてスキャン画像をアップロードする。通信環境の測定が完了していない場合は通信環境が悪いことが想定されるため、マルチコネクション通信を用いてスキャン画像をアップロードすることでデータ通信の効率を向上させることができる。
【００３５】
（実施形態２）
実施形態１の変形例を説明する。実施形態１では、図４のステップＳ４０８においてマルチコネクション通信を適用すると判定した場合に、一律同じ数のＨＴＴＰコネクションを確立する。これに対して本実施形態では、情報処理装置１０１とサーバ１０２との間の転送レートに基づいて、ＨＴＴＰコネクションのコネクション数を決定する。
【００３６】
図６のテーブル６００はＨＤＤ２０４に記憶されている情報である。本実施形態では、テーブル６００と、Ｓ４０５で記憶した測定結果、つまり情報処理装置１０１とサーバ１０２との間の転送レートとに基づいて、ＨＴＴＰコネクションの数を決定する。これにより、一律同じ数のＨＴＴＰコネクションでマルチコネクション通信を実行するのではなく、転送レートに応じた適切なＨＴＴＰコネクションの数を決定することができる。
【００３７】
（実施形態３）
実施形態１の変形例を更に説明する。実施形態１では、図４のステップＳ４０８においてマルチコネクション通信を適用すると判定した場合に、一律同じ数のＨＴＴＰコネクションを確立する。これに対して本実施形態では、サーバ１０２に送信するデータのサイズに基づいて、ＨＴＴＰコネクションのコネクション数を決定する。
【００３８】
図７のテーブル７００はＨＤＤ２０４に記憶されている情報である。本実施形態では、ステップＳ４０９においてマルチコネクション通信を用いる場合に、テーブル７００と、サーバ１０２にアップロードするスキャン画像のデータサイズとに基づいて、ＨＴＴＰコネクションの数を決定する。例えばスキャン画像のデータサイズが１ＧＢｙｔｅ以上であれば、ＣＰＵ２０１はＨＴＴＰコネクションの数を５本と決定する。
【００３９】
一方、スキャン画像のデータサイズが１００ＭＢｙｔｅ未満であれば、ＣＰＵ２０１は、ＨＴＴＰコネクションの数を１本、つまりマルチコネクション通信を用いないと決定する。送信するデータのサイズが小さい場合、マルチコネクション通信を用いると通信効率が低下してしまう。そこで本実施形態では、ステップＳ４０８においてマルチコネクション通信を適用すると判定された場合であっても、送信するデータのサイズが小さいことを条件にしてマルチコネクション通信を適用しない。これにより、送信するデータのサイズが小さい場合に、通信効率を向上させることができる。言い換えれば、本実施形態によれば、送信するデータのサイズに基づいて、マルチコネクション通信を適用するか否かを切り替えることができる。
【００４０】
（実施形態４）
上述した各実施形態では、情報処理装置１０１とサーバ１０２との間でデータ通信が発生するたびに、ステップ４０３において通信環境の測定を行っているが、他の形態であってもよい。例えば、初めてデータ通信が発生する場合に通信環境を測定し、その測定結果とサーバ１０２を示す識別情報（例えばサーバ１０２のＩＰアドレス）とを対応付けてＨＤＤ２０４等のメモリに記憶してもよい。そして２回目以降のデータ通信が発生した場合は、ＨＤＤ２０４等のメモリに記憶している情報を参照することで、通信環境の測定を省略してもよい。
【００４１】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００４２】
１０１  情報処理装置
１０２  サーバ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  ＨＤＤ
２０８  ネットワークＩ／Ｆ
【図１】
0006541322.tif 000002
【図２】
0006541322.tif 000003
【図３】
0006541322.tif 000004
【図４】
0006541322.tif 000005
【図５】
0006541322.tif 000006
【図６】
0006541322.tif 000007
【図７】
0006541322.tif 000008