(57)【特許請求の範囲】
【請求項１】
画像データの入出力を行うサーバ装置と、通信ネットワークを介して上記サーバ装置に接続されたクライアント端末装置とからなり、
上記クライアント端末装置は、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、
上記プロトコル変更要求を上記サーバ装置へ送信する端末通信部とを備え、
上記サーバ装置は、原稿を光学的に読み取り、読取画像からなるスキャンデータを生成する光学読取部と、
上記スキャンデータを保持するサーバ記憶部と、
上記クライアント端末装置から受信した上記プロトコル変更要求に基づいて、プロトコル変更応答を上記クライアント端末装置へ送信し、通信プロトコルを上記双方向プロトコルへ変更するサーバ通信部とを備え、
上記端末通信部は、上記サーバ装置から受信した上記プロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更し、
上記サーバ通信部は、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに、当該スキャンデータを上記クライアント端末装置へ送信することを特徴とする原稿読取システム。
【請求項２】
原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置において、
ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、
上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更する端末通信部と、
上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを保持する端末記憶部とを備えたことを特徴とするクライアント端末装置。
【請求項３】
上記端末通信部は、上記サーバ装置を指定した読込指示に基づいて、上記プロトコル変更要求を上記サーバ装置へ送信し、上記プロトコル変更応答を受信したときから、通信を終了させるための終了操作を検知するまで、上記サーバ装置との間のコネクションを維持することを特徴とする請求項２に記載のクライアント端末装置。
【請求項４】
上記端末通信部は、上記読込指示に基づいて、未送信スキャンデータの有無を確認するための画像確認要求を上記サーバ装置へ送信し、未送信のスキャンデータが上記サーバ記憶部内にあった場合に、当該スキャンデータを取得するための画像送信要求を上記サーバ装置へ送信する一方、未送信のスキャンデータが上記サーバ記憶部内になかった場合に、上記プロトコル変更要求を上記サーバ装置へ送信することを特徴とする請求項３に記載のクライアント端末装置。
【請求項５】
上記双方向プロトコルが、上記サーバ装置及び上記クライアント端末装置のいずれも、状態確認のための状態確認要求を送信することができるウェブソケットプロトコルであることを特徴とする請求項２〜４のいずれかに記載のクライアント端末装置。
【請求項６】
原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置において実行されるコンピュータプログラムであって、
ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成ステップと、
上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更するネットワーク通信ステップと、
上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを記憶するスキャンデータ記憶ステップとを備えたことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿読取システム、クライアント端末装置及びコンピュータプログラムに係り、さらに詳しくは、画像データの入出力を行うサーバ装置と、通信ネットワークを介してサーバ装置に接続されたクライアント端末装置とからなる原稿読取システムに関する。
【背景技術】
【０００２】
スキャナとＰＣ（パーソナルコンピュータ）とがネットワーク接続され、ＨＴＴＰ（HyperText Transfer Protocol：ハイパーテキスト転送プロトコル）に基づいて通信を行うシステムでは、スキャナ及びＰＣがそれぞれサーバ装置及びクライアント端末装置として機能する。例えば、スキャナが原稿から読み取ったスキャンデータをＰＣが取得する場合、まず、ＰＣからスキャナへ画像送信要求が送信される。スキャンデータは、この画像送信要求に対する応答として、スキャナからＰＣへ送信される（例えば、特許文献１〜３）。
【０００３】
この様な従来の原稿読取システムにおいて、ＰＣがスキャナからスキャンデータを取得する具体的な方法には、スキャンボックスを利用するスキャンボックス方式と、ＰＣからの指示によって読取処理を開始させるリアルタイムスキャン方式がある。スキャンボックスは、読取画像からなるスキャンデータを格納するための記憶領域からなり、任意に作成することができる。スキャンボックス方式の場合、原稿を収容部内に配置し、スキャンデータの格納先を指定して読取開始を指示すれば、読取処理が開始され、スキャンデータが対応するスキャンボックス内に格納される。ＰＣでは、スキャンボックスを指定した読込指示を入力することにより、スキャナドライバにスキャンボックス内のスキャンデータを取得させることができる。
【０００４】
リアルタイムスキャン方式の場合には、スキャンモードへ切り替え、原稿を収容部内に配置する。ＰＣでは、スキャンボックスを指定した読込指示により、スキャナドライバが、スキャンデータを取得するための画像送信要求をスキャナへ送信する。スキャナは、この画像送信要求に基づいて、読取処理を開始し、スキャンデータをＰＣへ送信する。上述したいずれの方式であっても、ＰＣからスキャナ内のスキャンデータを取得することができるが、使い勝手が良くないという課題があった。すなわち、スキャンボックス方式では、ＰＣにおける読込指示に先立って取得対象のスキャンデータをスキャンボックス内に格納しておく必要がある。このため、例えば、読込指示後に新たに原稿を読み取らせる場合、当該原稿を読み取らせた後、再度ＰＣ上において読込指示を入力しなければならず、操作手順が複雑であった。
【０００５】
一方、リアルタイムスキャン方式では、ＰＣにおける読込指示に先立って読取対象の原稿を収容部内に配置しておく必要がある。このため、連続読取が不可能な原稿群、例えば、複数のページからなる冊子を読み取らせる場合に、原稿の配置と読込指示とを繰り返さなければならず、操作手順が複雑であった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１１２５９４号公報
【特許文献２】特開２００８−１７２２８８号公報
【特許文献３】特開２００５−２７５６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記事情に鑑みてなされたものであり、クライアント端末装置からサーバ装置内のスキャンデータを取得する際の使い勝手を向上させた原稿読取システムを提供することを目的としている。
【０００８】
特に、新たに格納されたスキャンデータをサーバ装置から自動的に取得することができるクライアント端末装置を提供することを目的としている。また、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができるクライアント端末装置を提供することを目的としている。
【０００９】
また、本発明は、その様なクライアント端末装置において実行されるコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の本発明による原稿読取システムは、画像データの入出力を行うサーバ装置と、通信ネットワークを介して上記サーバ装置に接続されたクライアント端末装置とからなり、上記クライアント端末装置が、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、上記プロトコル変更要求を上記サーバ装置へ送信する端末通信部とを備え、上記サーバ装置が、原稿を光学的に読み取り、読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部と、上記クライアント端末装置から受信した上記プロトコル変更要求に基づいて、プロトコル変更応答を上記クライアント端末装置へ送信し、通信プロトコルを上記双方向プロトコルへ変更するサーバ通信部とを備え、上記端末通信部が、上記サーバ装置から受信した上記プロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更し、上記サーバ通信部が、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに、当該スキャンデータを上記クライアント端末装置へ送信するように構成される。
【００１１】
この原稿読取システムでは、サーバ装置が、クライアント端末装置からプロトコル変更要求を受信した場合に、そのプロトコル変更要求に基づいて、プロトコル変更応答をクライアント端末装置へ送信し、通信プロトコルをハイパーテキスト転送プロトコル（ＨＴＴＰ）から双方向プロトコルへ変更する。一方、クライアント端末装置も、サーバ装置からプロトコル変更応答を受信すれば、そのプロトコル変更応答に基づいて、通信プロトコルをＨＴＴＰから双方向プロトコルへ変更する。双方向プロトコルへ移行した後には、新たにスキャンデータがサーバ記憶部内に格納されるごとに、スキャンデータがクライアント端末装置へ送信される。このため、クライアント端末装置では、スキャンデータの送信を要求しなくてもサーバ装置からスキャンデータが送信されるので、新たにサーバ記憶部内に格納されたスキャンデータをサーバ装置から自動的に取得することができる。また、プロトコル変更要求を送信することによって双方向プロトコルへ移行させておくことにより、原稿から順次に読み取らせたスキャンデータが自動取得されるので、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができる。従って、クライアント端末装置からサーバ装置内のスキャンデータを取得する際の使い勝手を向上させることができる。
【００１２】
第２の本発明によるクライアント端末装置は、原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置であって、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更する端末通信部と、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを保持する端末記憶部とを備えて構成される。
【００１３】
第３の本発明によるクライアント端末装置は、上記構成に加え、上記端末通信部が、上記サーバ装置を指定した読込指示に基づいて、上記プロトコル変更要求を上記サーバ装置へ送信し、上記プロトコル変更応答を受信したときから、通信を終了させるための終了操作を検知するまで、上記サーバ装置との間のコネクションを維持するように構成される。
【００１４】
この様な構成によれば、プロトコル変更応答を受信したときから、ユーザが終了操作を行うまで、サーバ装置との間のコネクションが維持されるので、サーバ装置及びクライアント端末装置間の通信手順を簡素化することができる。
【００１５】
第４の本発明によるクライアント端末装置は、上記構成に加え、上記端末通信部が、上記読込指示に基づいて、未送信スキャンデータの有無を確認するための画像確認要求を上記サーバ装置へ送信し、未送信のスキャンデータが上記サーバ記憶部内にあった場合に、当該スキャンデータを取得するための画像送信要求を上記サーバ装置へ送信する一方、未送信のスキャンデータが上記サーバ記憶部内になかった場合に、上記プロトコル変更要求を上記サーバ装置へ送信するように構成される。
【００１６】
この様な構成によれば、読込指示時に未送信スキャンデータの有無が確認され、未送信のスキャンデータがサーバ記憶部内にあるか否かに応じた要求がサーバ装置へ送信される。このため、未送信スキャンデータがサーバ装置内に格納されていれば、当該スキャンデータを直ちに取得することができる。一方、未送信スキャンデータがサーバ装置内に格納されていなかった場合には、双方プロトコルへ移行させて新たに格納されるスキャンデータを自動取得することができる。
【００１７】
第５の本発明によるクライアント端末装置は、上記構成に加え、上記双方向プロトコルが、上記サーバ装置及び上記クライアント端末装置のいずれも、状態確認のための状態確認要求を送信することができるウェブソケットプロトコルであるように構成される。この様な構成によれば、双方向プロトコルへ移行した後、サーバ装置及びクライアント端末装置は、互いに相手が通信可能であるか否かを任意のタイミングで確認することができる。
【００１８】
第６の本発明によるコンピュータプログラムは、原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置において実行されるコンピュータプログラムであって、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成ステップと、上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更するネットワーク通信ステップと、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを記憶するスキャンデータ記憶ステップとを備えて構成される。
【発明の効果】
【００１９】
本発明による原稿読取システムでは、クライアント端末装置からサーバ装置内のスキャンデータを取得する際の使い勝手を向上させることができる。
【００２０】
特に、本発明によるクライアント端末装置では、クライアント端末装置では、スキャンデータの送信を要求しなくてもサーバ装置からスキャンデータが送信されるので、新たにサーバ記憶部内に格納されたスキャンデータをサーバ装置から自動的に取得することができる。また、プロトコル変更要求を送信することによって双方向プロトコルへ移行させておくことにより、原稿から順次に読み取らせたスキャンデータが自動取得されるので、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができる。
【００２１】
また、本発明によるコンピュータプログラムでは、端末装置を上述したクライアント端末装置として機能させることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態による原稿読取システム１の一構成例を示したシステム図である。
【図２】図１のＰＣ１０においてディスプレイ１１上に表示されるスキャナドライバ設定画面３の一例を示した図である。
【図３】図１の原稿読取システム１における読込指示時の動作の一例を示したシーケンス図である。
【図４】図１の原稿読取システム１において送受信されるウェブソケットフレームの一例を模式的に示した説明図である。
【図５】図１のＰＣ１０の構成例を示したブロック図である。
【図６】図５のＰＣ１０におけるドライバ処理の一例を示したフローチャートである。
【図７】図５のＰＣ１０におけるドライバ処理の一例を示したフローチャートである。
【図８】図１のＭＦＰ２０の構成例を示したブロック図である。
【図９】図８のＭＦＰ２０におけるＧＥＴ要求受信時の動作の一例を示したフローチャートである。
【発明を実施するための形態】
【００２３】
＜原稿読取システム１＞
図１は、本発明の実施の形態による原稿読取システム１の一構成例を示したシステム図である。この原稿読取システム１は、複数のＰＣ１０と複数のＭＦＰ（Multifunction Peripheral：複合機）２０とが、ＬＡＮ（ローカルエリアネットワーク）２を介して互いに接続されたネットワークシステムである。
【００２４】
原稿読取システム１では、ＭＦＰ２０において原稿から読み取られたスキャンデータをいずれかのＰＣ１０へ送信する処理を実行させることができる。ここでは、この処理をネットワークスキャンと呼ぶ。また、原稿読取システム１では、通信プロトコルとして、ＨＴＴＰ又はウェブソケット（Web Socket）プロトコルのいずれかを選択することができる。
【００２５】
ＨＴＴＰは、ネットワーク接続された２つの通信機器間で、ハイパーテキストデータを送受信するためのリクエスト−レスポンス型の通信プロトコルであり、一方の通信機器がサーバ装置として機能し、他方の通信機器がクライアント装置として機能する。これらの機能は、固定的に割り当てられる。ハイパーテキストデータは、ＨＴＭＬ（HyperText Markup Language）などのマークアップ言語を用いて記述されたデータからなる。
【００２６】
一方、ウェブソケットプロトコルは、ネットワーク接続された２つの通信機器間でバイナリデータを送受信するための双方向プロトコルであり、双方の通信機器のいずれも、状態確認のための状態確認要求を送信することができる。
【００２７】
ネットワークスキャンなどの入出力ジョブを実行させる場合、ＨＴＴＰでは、ＰＣ１０及びＭＦＰ２０がそれぞれクライアント装置及びサーバ装置として機能し、ＭＦＰ２０は、ＰＣ１０からの要求に基づいて、画像データの出力を行う。
【００２８】
ＰＣ１０は、各種設定画面が表示されるディスプレイ１１と、キーボード、マウスからなる操作部１２とを有する端末装置である。ＰＣ１０には、ネットワークスキャンを実行するためのスキャナドライバがインストールされている。
【００２９】
ＭＦＰ２０は、スキャナ機能、プリンタ機能、ＦＡＸ送受信機能、複写機能を有し、これらの機能を選択的に実行させることができる画像形成装置である。操作パネルには、ディスプレイ２１及び操作部２２が設けられている。また、原稿から読み取ったスキャンデータを格納するための複数のスキャンボックス２３が設けられている。
【００３０】
ネットワークスキャン時には、ユーザが指定したスキャンボックス２３内にスキャンデータが格納される。スキャンデータは、原稿を光学的に読み取ることによって生成される読取画像からなり、ファイル化して格納される。原稿を読み取る読取処理は、操作部２２のスタートキーを押下することによって開始される。スキャンボックス２３は、任意に作成することができ、ポート番号などの所定のサブアドレスが割り当てられる。
【００３１】
ＰＣ１０からＭＦＰ２０内のスキャンデータを取得する際には、ＭＦＰ２０を特定するためのＩＰ（Internet Protocol）アドレスと、スキャンボックス２３を特定するためのサブアドレスとからなるネットワークアドレスを指定する必要がある。
【００３２】
ＰＣ１０では、ネットワークスキャンを実行させるＭＦＰ２０がスキャン実行機器として予め登録される。スキャン実行機器の登録情報、スキャンデータを読み込むための読込条件などは、所定の設定画面によって確認し、或いは、変更することができる。
【００３３】
＜スキャナドライバ設定画面３＞
図２は、図１のＰＣ１０においてディスプレイ１１上に表示されるスキャナドライバ設定画面３の一例を示した図である。このスキャナドライバ設定画面３は、予め指定された読込条件からなる編集画面であり、スキャナドライバによって表示される。
【００３４】
スキャナドライバ設定画面３には、スキャンボックスリストの表示欄３１、スキャンデータリスト３２、各種の設定欄３３〜３５、読込ボタン３６、スキャナ変更ボタン３７、リスト更新ボタン３８及び終了ボタン３９が配置されている。表示欄３１には、スキャン実行機器として登録されているＭＦＰ２０内に設けられているスキャンボックス２３が、ボックス番号などの識別情報に対応づけてツリー状に表示される。
【００３５】
スキャンデータリスト３２は、スキャンボックス２３内に格納されているスキャンデータファイルについて、その読取日時、ページ数をファイル番号に対応づけて配置したデータファイル表である。このスキャンデータリスト３２には、表示欄３１で選択されているスキャンボックス２３について、スキャンデータの読取日時などがファイルごとに表示されている。
【００３６】
設定欄３３は、解像度を指定するための入力欄であり、スキャンデータファイルをＭＦＰ２０からＰＣ１０内に取り込む際に解像度を変更するか否か、変更する場合の変更後の解像度を指定することができる。設定欄３４は、読取範囲を指定するための入力欄である。設定欄３５は、スキャンデータファイルの削除を指定するための入力欄であり、ＰＣ１０内にスキャンデータを取り込んだ後、元のスキャンデータをＭＦＰ２０から削除するか否かを選択することができる。
【００３７】
読込ボタン３６は、ネットワークスキャンを実行させるための操作アイコンである。表示欄３１内のいずれかのスキャンボックス２３をスキャンデータの取得対象として選択し、マウスポインタ４を読込ボタン３６上に移動させた状態でマウスをクリックすることにより、ネットワークスキャンを実行させることができる。
【００３８】
スキャナ変更ボタン３７は、スキャン実行機器を変更するための操作アイコンである。スキャナ変更ボタン３７を操作すれば、スキャン実行機器をＬＡＮ２上の他のＭＦＰ２０に変更することができる。リスト更新ボタン３８は、表示欄３１内のスキャンボックスリスト及びスキャンデータリスト３２を更新させるための操作アイコンである。終了ボタン３９は、スキャンデータの読み込みを終了させるための操作アイコンである。
【００３９】
ＰＣ１０では、ネットワークスキャンを実行する場合、まず、スキャンボックス２３内に未送信のスキャンデータがあるか否かを確認するための画像確認要求がＭＦＰ２０へ送信される。そして、未送信のスキャンデータがスキャンボックス２３内にあれば、当該スキャンデータを取得するための画像送信要求がＭＦＰ２０へ送信される。
【００４０】
一方、未送信のスキャンデータがスキャンボックス２３内になかった場合には、通信プロトコルをＨＴＴＰからウェブソケットプロトコルへ変更させるためのプロトコル変更要求がＭＦＰ２０へ送信され、ウェブソケットシーケンスが実行される。ウェブソケットシーケンスは、ウェブソケットプロトコルに基づく通信手順であり、スキャナドライバ設定画面３内の終了ボタン３９が操作されるまで、ＭＦＰ２０との間でＴＣＰ（Transmission Control Protocol）コネクション（仮想的な通信路）が維持される。
【００４１】
＜ウェブソケットシーケンス＞
図３は、図１の原稿読取システム１における読込指示時の動作の一例を示したシーケンス図である。ＰＣ１０において、スキャンデータの取得対象のスキャンボックス２３を指定した読込指示が入力されれば、アップグレードコマンドを含むＧＥＴ要求５１が生成され、ＭＦＰ２０へ送信される（ステップＳ１０１，Ｓ１０２）。
【００４２】
ＧＥＴ要求５１は、通信プロトコルをＨＴＴＰからウェブソケットプロトコルへ変更させるためのプロトコル変更要求であり、ＨＴＴＰのＧＥＴメソッドと呼ばれる所定のデータフォーマットからなる。例えば、ＧＥＴ要求５１は、スキャンボックス２３を特定するための識別情報「scanbox 01」、ＨＴＴＰのバージョンを示すバージョン情報、ホスト機器のＩＰアドレス、アップグレードコマンド、ウェブソケット通信用の識別コードからなる。
【００４３】
ＭＦＰ２０は、受信したＧＥＴ要求５１に基づいて、ハンドシェイク応答５２を生成し、ＰＣ１０へ送信する（ステップＳ１０３）。ＰＣ１０及びＭＦＰ２０は、ハンドシェイク応答５２の送受信によって、通信プロトコルをウェブソケットプロトコルへ変更し、ウェブソケットシーケンスを実行する（ステップＳ１０４）。
【００４４】
ＰＣ１０は、ＧＥＴ要求５１を送信した後、一定時間内にハンドシェイク応答５２が受信しなければ、この読込処理を終了する。
【００４５】
ウェブソケットシーケンスへ移行した後、通信可能であるか否かを確認するための状態確認要求５３が、定期的に送信される。すなわち、状態確認要求５３は、一定時間ごとに送信され、或いは、予め定められた送信スケジュールに基づいて送信される。この状態確認要求５３は、ウェブソケットフレームと呼ばれる所定フォーマットのデータフレームからなり、ＰＣ１０又はＭＦＰ２０のいずれも送信することができる。
【００４６】
例えば、アプリケーションデータとしてメッセージ「please store data in scanbox 01.」を含む状態確認要求５３がＭＦＰ２０へ送信されれば、当該メッセージがＭＦＰ２０のディスプレイ２１上に表示され、状態確認応答５４がＰＣ１０へ送信される。この状態確認応答５４にも、アプリケーションデータとしてメッセージ「please wait.」が含まれていれば、当該メッセージがスキャナドライバ設定画面３上に表示される。
【００４７】
ＭＦＰ２０において、原稿を収容部内に配置し、スキャンデータの格納先を指定した後、操作部２２のスタートキーを押下すれば、読取処理が開始され、読取画像からなるスキャンデータ５５が順次に生成される（ステップＳ１０５）。スキャンデータ５５は、格納先として指定されたスキャンボックス２３内に格納されるとともに、ＰＣ１０へ送信される（ステップＳ１０６）。
【００４８】
ＭＦＰ２０は、１枚目の原稿から読み取ったスキャンデータ５５をＰＣ１０へ送信した後、状態確認要求５６をＰＣ１０へ送信し、対応する状態確認応答５７が受信すれば、２枚目の原稿から読み取ったスキャンデータをＰＣ１０へ送信する。
【００４９】
例えば、アプリケーションデータとしてメッセージ「There is the following page.」を含む状態確認要求５６がＰＣ１０へ送信されれば、当該メッセージが設定画面３上に表示され、状態確認応答５７がＭＦＰ２０へ送信される。
【００５０】
ＭＦＰ２０は、新たにスキャンデータをスキャンボックス２３内に格納するごとに、当該スキャンデータをＰＣ１０へ送信する。そして、最後の原稿から読み取ったスキャンデータ５８をＰＣ１０へ送信した後、メッセージ「These data are last pages.」を含む状態確認要求５９がＰＣ１０へ送信され、対応する状態確認応答６０がＭＦＰ２０へ送信される。
【００５１】
ＰＣ１０において、設定画面３内の終了ボタン３９を操作することによって読込処理の終了が指示されれば、ＴＣＰコネクションを解放し、ウェブソケットシーケンスを終了させるためのクロージングハンドシェイク要求６１が生成され、ＭＦＰ２０へ送信される（ステップＳ１０７）。
【００５２】
ＭＦＰ２０では、クロージングハンドシェイク要求６１が受信すれば、クロージングハンドシェイク応答６２がＰＣ１０へ送信される。ＰＣ１０及びＭＦＰ２０は、このハンドシェイク応答６２の送受信によって、ＴＣＰコネクションを解放し、ウェブソケットシーケンスを終了する（ステップＳ１０８）。
【００５３】
＜ウェブソケットフレーム＞
図４は、図１の原稿読取システム１において送受信されるウェブソケットフレームの一例を模式的に示した説明図である。ウェブソケットフレームは、ＭＯＲＥビット、リザーブビット、オペレーションコード、データ長及びアプリケーションデータからなるデータフレームである。
【００５４】
ＭＯＲＥビットは、データフレームが最終フレームであるか否かを示すビットであり、最終フレームの場合には、「０」、後続フレームがある場合には、「１」が指定される。リザーブビットには、ＲＳＶ１〜４があり、全て「０」が指定される。オペレーションコード（opcode）は、データフレームの種別を示す情報であり、データフレームが、クローズ（close）フレーム、ピン（ping）フレーム、ポン（pong）フレーム、テキストフレーム又はバイナリ（binary）フレームのいずれであるかを識別することができる。
【００５５】
クローズフレームは、ウェブソケットシーケンスの終了を示すデータフレームである。ピンフレームは、状態確認要求を示すデータフレームであり、ポンフレームは、状態確認応答を示すデータフレームである。テキストフレームは、テキストデータを送受信するためのデータフレームである。バイナリフレームは、スキャンデータなどをアプリケーションデータ（Application Data）として送受信するためのデータフレームである。
【００５６】
データ長は、アプリケーションデータのデータサイズを示す情報であり、「Payload length」と、「Extended payload length」がある。ウェブソケットシーケンスでは、この様なウェブソケットフレームがＰＣ１０及びＭＦＰ２０間で送受信される。
【００５７】
＜ＰＣ１０＞
図５は、図１のＰＣ１０の構成例を示したブロック図である。このＰＣ１０は、ディスプレイ１１、操作部１２、スキャナドライバ記憶部１０１、読込設定記憶部１０２、読込実行部１０３、ネットワーク通信部１０４及びスキャンデータ記憶部１０５により構成される。
【００５８】
操作部１２は、ユーザによるマウスの操作及びキーボードの操作を検出して所定の入力信号を生成し、読込実行部１０３へ出力する。スキャナドライバ記憶部１０１には、スキャナドライバが保持され、読込設定記憶部１０２には、読込条件が保持される。スキャナドライバは、ＭＦＰ２０を制御してスキャンデータを取得するためのソフトウェアであり、スキャナとＰＣとの間の接続仕様を規定する所定の接続規格、例えば、ＴＷＡＩＮ（Tool Without An Interesting Name）に対応している。
【００５９】
ネットワーク通信部１０４は、ＬＡＮ２を介してパケットデータの送受信を行う送受信部である。スキャンデータ、各種要求などは、パケットデータとして送受信される。
【００６０】
読込実行部１０３は、確認要求生成部１１１、送信要求生成部１１２、変更要求生成部１１３及びスキャンデータ書込部１１４からなり、スキャナドライバを実行することにより、各種要求を生成し、ネットワーク通信部１０４を介してＭＦＰ２０へ送信する。例えば、アプリケーションソフトの実行中における所定の起動操作に基づいて、スキャナドライバを起動させ、スキャナドライバ設定画面３をディスプレイ１１に表示する。
【００６１】
確認要求生成部１１１は、未送信スキャンデータの有無を確認するための画像確認要求を生成する。この画像確認要求は、スキャンデータの取得対象のＭＦＰ２０とスキャンボックス２３とを指定した所定の読込指示に基づいて生成され、ＭＦＰ２０へ送信される。例えば、画像確認要求は、スキャナドライバ設定画面３内の読込ボタン３６を操作することによって送信される。
【００６２】
送信要求生成部１１２は、スキャンデータを取得するための画像送信要求としてＧＥＴ要求を生成する。このＧＥＴ要求は、ＭＦＰ２０から画像確認要求に対する応答として受信した確認応答に基づいて生成され、ＭＦＰ２０へ送信される。具体的には、未送信のスキャンデータがスキャンボックス２３内にあった場合に、当該スキャンデータを取得するためのＧＥＴ要求（アップグレードの記載なし）がＭＦＰ２０へ送信される。スキャンデータ書込部１１４は、ＭＦＰ２０からＧＥＴ要求に対する応答として受信したスキャンデータをスキャンデータ記憶部１０５内に書き込む。
【００６３】
変更要求生成部１１３は、ＨＴＴＰからウェブソケットプロトコルへ通信プロトコルを変更させるためのプロトコル変更要求としてＧＥＴ要求を生成する。このＧＥＴ要求は、ＭＦＰ２０から画像確認要求に対する応答として受信した確認応答に基づいて生成され、ＭＦＰ２０へ送信される。具体的には、未送信のスキャンデータがスキャンボックス２３内になかった場合に、ＧＥＴ要求（アップグレードの記載あり）がＭＦＰ２０へ送信される。
【００６４】
ネットワーク通信部１０４は、ＭＦＰ２０からＧＥＴ要求に対する応答として受信したハンドシェイク応答（プロトコル変更応答）に基づいて、通信プロトコルをウェブソケットプロトコルへ変更し、ウェブソケットシーケンスを実行する。ネットワーク通信部１０４では、ハンドシェイク応答を受信したときから、通信を終了させるための所定の終了操作を検知するまで、ＭＦＰ２０との間のＴＣＰコネクションが維持される。すわなち、ＴＣＰコネクションは、終了ボタン３９が操作されるまで維持される。
【００６５】
スキャンデータ書込部１１４は、ウェブソケットプロトコルへ移行した後、ＭＦＰ２０から受信したスキャンデータをスキャンデータ記憶部１０５内に格納する。
【００６６】
＜ドライバ処理＞
図６及び図７のステップＳ２０１〜Ｓ２１９は、図５のＰＣ１０におけるドライバ処理の一例を示したフローチャートである。まず、読込実行部１０３は、アプリケーションソフトの実行中に、ユーザによる所定の起動操作を検知すれば、スキャナドライバを起動させ、スキャナドライバ設定画面３を表示する（ステップＳ２０１，Ｓ２０２）。
【００６７】
次に、読込実行部１０３は、ユーザによる所定の選択操作によって、スキャンデータの取得対象とするスキャンボックス２３が指定され、読込ボタン３６が操作されれば、画像確認要求を生成し、ＭＦＰ２０へ送信する（ステップＳ２０３〜Ｓ２０５）。
【００６８】
次に、読込実行部１０３は、ＭＦＰ２０から受信した画像確認応答に基づいて、取得対象として指定したスキャンボックス２３内に未送信のスキャンデータがあれば、当該スキャンデータを取得するためのＧＥＴ要求（アップグレードなし）を生成し、ＭＦＰ２０へ送信する（ステップＳ２０６，Ｓ２０７）。
【００６９】
読込実行部１０３は、ＭＦＰ２０からＨＴＴＰ応答としてスキャンデータが受信すれば、データフォーマットをビットマップ形式に変換してアプリケーションソフトへ渡し、スキャナドライバ設定画面３の表示を終了する（ステップＳ２０８〜Ｓ２１０）。
【００７０】
一方、取得対象として指定したスキャンボックス２３内に未送信のスキャンデータがなかった場合には、ウェブソケットプロトコルへ通信プロトコルを変更させるためのＧＥＴ要求（アップグレードあり）が生成され、ＭＦＰ２０へ送信される（ステップＳ２０６，Ｓ２１１）。
【００７１】
ネットワーク通信部１０４は、ＭＦＰ２０からウェブソケットハンドシェイク応答が受信すれば、通信プロトコルをウェブソケットプロトコルへ変更し、ウェブソケットシーケンスを実行する（ステップＳ２１２，Ｓ２１３）。
【００７２】
次に、読込実行部１０３は、ＭＦＰ２０からウェブソケットフレームとしてスキャンデータが受信すれば、受信データをスキャンデータ記憶部１０５内に格納する（ステップＳ２１４，Ｓ２１５）。ステップＳ２１４，Ｓ２１５の処理手順は、終了ボタン３９が操作されるまで繰り返される。そして、終了ボタン３９が操作されれば、読込実行部１０３は、通信を終了させるためのクローズフレームからなるクロージングハンドシェイク要求をＭＦＰ２０へ送信する（ステップＳ２１６，Ｓ２１７）。
【００７３】
読込実行部１０３は、スキャンデータ記憶部１０５内に格納したスキャンデータについて、データフォーマットをビットマップ形式に変換し、アプリケーションソフトへ渡すとともに、スキャナドライバ設定画面３の表示を終了する（ステップＳ２１８，Ｓ２１９）。
【００７４】
＜ＭＦＰ２０＞
図８は、図１のＭＦＰ２０の構成例を示したブロック図である。このＭＦＰ２０は、ディスプレイ２１、操作部２２、スキャンボックス２３、ネットワーク通信部２０１、読取制御部２０２、光学読取部２０３、確認要求生成部２０４及び表示制御部２０５により構成される。
【００７５】
操作部２２は、ユーザ操作を検出して所定の入力信号を生成し、読取制御部２０２へ出力する。光学読取部２０３は、所定の収容部内に配置された原稿を光学的に読み取り、読取画像からなるスキャンデータを生成する。
【００７６】
読取制御部２０２は、光学読取部２０３を制御し、原稿から読み取られたスキャンデータをユーザにより指定されたスキャンボックス２３内に格納する。読取処理は、スタートキーを押下することによって開始され、予め指定された読取条件に基づいて実行される。スキャンボックス２３は、ＴＷＡＩＮに基づいて作成され、ＴＷＡＩＮに対応しているソフトウェアによってアクセスすることができる。
【００７７】
ネットワーク通信部２０１は、ＬＡＮ２を介してパケットデータの送受信を行う送受信部である。読取制御部２０２は、ＰＣ１０から画像確認要求を受信した場合に、当該画像確認要求に基づいて、スキャンボックス２３内に未送信のスキャンデータがあるか否かを確認する。そして、その確認結果に基づいて、画像確認応答が生成され、ネットワーク通信部２０１を介してＰＣ１０へ送信される。
【００７８】
また、読取制御部２０２は、ＰＣ１０からＧＥＴ要求（アップグレードの記載なし）を受信した場合に、当該ＧＥＴ要求に基づいて、スキャンボックス２３からスキャンデータを読み出し、ネットワーク通信部２０１を介してＰＣ１０へ送信する。
【００７９】
ネットワーク通信部２０１は、ＰＣ１０からＧＥＴ要求（アップグレードの記載あり）を受信した場合に、当該ＧＥＴ要求に基づいて、ハンドシェイク応答をＰＣ１０へ送信し、通信プロトコルをウェブソケットプロトコルへ変更する。
【００８０】
確認要求生成部２０４は、ウェブソケットシーケンスへ移行した後、通信可能であるか否かを確認するための状態確認要求を定期的に生成し、ネットワーク通信部２０１を介してＰＣ１０へ送信する。表示制御部２０５は、ディスプレイ２１を制御し、ウェブソケットシーケンスにおいて、ＰＣ１０から受信したメッセージを表示する。
【００８１】
読取制御部２０２では、ウェブソケットシーケンスにおいて、新たにスキャンデータがスキャンボックス２３内に格納されれば、当該スキャンデータを直ちにＰＣ１０へ送信する。また、ネットワーク通信部２０１は、ＰＣ１０からクローズフレームからなるクロージングハンドシェイク要求を受信した場合に、当該クロージングハンドシェイク要求に基づいて、クロージングハンドシェイク応答を生成し、ＰＣ１０へ送信する。
【００８２】
図９のステップＳ３０１〜Ｓ３１０は、図８のＭＦＰ２０におけるＧＥＴ要求受信時の動作の一例を示したフローチャートである。まず、読取制御部２０２は、アップグレードの記載のないＧＥＴ要求が受信すれば、当該ＧＥＴ要求によって指定されたスキャンボックス２３内に未送信のスキャンデータがあるか否かを確認し（ステップＳ３０１，Ｓ３０２，Ｓ３０８）、未送信のスキャンデータがあれば、当該スキャンデータを読み出し、ＨＴＴＰ応答としてＰＣ１０へ送信する（ステップＳ３０９）。未送信のスキャンデータがなかった場合には、エラー状態がＨＴＴＰ応答としてＰＣ１０へ送信される（ステップＳ３１０）。
【００８３】
一方、ネットワーク通信部２０１は、アップグレードの記載のあるＧＥＴ要求を受信した場合に、当該ＧＥＴ要求に基づいて、ハンドシェイク応答を生成し、ＰＣ１０へ送信するとともに、ウェブソケットシーケンスへ移行する（ステップＳ３０１〜Ｓ３０４）。
【００８４】
読取制御部２０２は、ウェブソケットシーケンスへ移行した後、ＧＥＴ要求によって指定されたスキャンボックス２３内に、新たにスキャンデータが格納されるごとに、当該スキャンデータをスキャンボックス２３から読み出してＰＣ１０へ送信する（ステップＳ３０５，Ｓ３０６）。
【００８５】
次に、ネットワーク通信部２０１は、ＰＣ１０からクロージングハンドシェイク要求が受信すれば、クロージングハンドシェイク応答をＰＣ１０へ送信し、ＴＣＰコネクションを解放する（ステップＳ３０７）。
【００８６】
本実施の形態によれば、ＰＣ１０では、スキャンデータの送信を要求しなくてもＭＦＰ２０からスキャンデータが送信されるので、新たにスキャンボックス２３内に格納されたスキャンデータをＭＦＰ２０から自動的に取得することができる。また、プロトコル変更要求を送信することによってウェブソケットプロトコルへ移行させておくことにより、原稿から順次に読み取らせたスキャンデータが自動取得されるので、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができる。
【００８７】
また、プロトコル変更応答を受信したときから、ユーザが終了操作を行うまで、ＭＦＰ２０との間のＴＣＰコネクションが維持されるので、ＰＣ１０及びＭＦＰ２０間の通信手順を簡素化することができる。さらに、未送信スキャンデータがスキャンボックス２３内に格納されていれば、当該スキャンデータを直ちに取得することができる。一方、未送信スキャンデータがスキャンボックス２３内に格納されていなかった場合には、ウェブソケットプロトコルへ移行させて新たに格納されるスキャンデータを自動取得することができる。
【００８８】
なお、本実施の形態では、読込指示時に、スキャンデータがスキャンボックス２３内にあれば、ＧＥＴ要求（アップグレードなし）を送信し、スキャンデータがスキャンボックス２３内になければ、ＧＥＴ要求（アップグレードあり）を送信する場合の例について説明した。しかしながら、本発明はこの様な構成に限定されるものではない。例えば、スキャンデータがスキャンボックス２３内にあった場合には、まず、ＧＥＴ要求（アップグレードの記載なし）を送信することによって当該スキャンデータをＭＦＰ２０から取得させる。その後、ＧＥＴ要求（アップグレードの記載あり）を送信することによってウェブソケットシーケンスへ移行させるような構成であっても良い。
【符号の説明】
【００８９】
１  原稿読取システム
２  ＬＡＮ
３  スキャナドライバ設定画面
３６  読込ボタン
３９  終了ボタン
４  マウスポインタ
１０  ＰＣ
１１  ディスプレイ
１２  操作部
１０１  スキャナドライバ記憶部
１０２  読込設定記憶部
１０３  読込実行部
１０４  ネットワーク通信部
１０５  スキャンデータ記憶部
１１１  確認要求生成部
１１２  送信要求生成部
１１３  変更要求生成部
１１４  スキャンデータ書込部
２０  ＭＦＰ
２１  ディスプレイ
２２  操作部
２３  スキャンボックス
２０１  ネットワーク通信部
２０２  読取制御部
２０３  光学読取部
２０４  確認要求生成部
２０５  表示制御部
【図１】
0005712678.tif 000002
【図２】
0005712678.tif 000003
【図３】
0005712678.tif 000004
【図４】
0005712678.tif 000005
【図５】
0005712678.tif 000006
【図６】
0005712678.tif 000007
【図７】
0005712678.tif 000008
【図８】
0005712678.tif 000009
【図９】
0005712678.tif 000010