"画像データの入出力を行うサーバ装置と、通信ネットワークを介して上記サーバ装置に接続されたクライアント端末装置とからなり、上記クライアント端末装置は、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、上記プロトコル変更要求を上記サーバ装置へ送信する端末通信部とを備え、上記サーバ装置は、原稿を光学的に読み取り、読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部と、上記クライアント端末装置から受信した上記プロトコル変更要求に基づいて、プロトコル変更応答を上記クライアント端末装置へ送信し、通信プロトコルを上記双方向プロトコルへ変更するサーバ通信部とを備え、上記端末通信部は、上記サーバ装置から受信した上記プロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更し、上記サーバ通信部は、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに、当該スキャンデータを上記クライアント端末装置へ送信することを特徴とする原稿読取システム。原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置において、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更する端末通信部と、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを保持する端末記憶部とを備えたことを特徴とするクライアント端末装置。上記端末通信部は、上記サーバ装置を指定した読込指示に基づいて、上記プロトコル変更要求を上記サーバ装置へ送信し、上記プロトコル変更応答を受信したときから、通信を終了させるための終了操作を検知するまで、上記サーバ装置との間のコネクションを維持することを特徴とする請求項2に記載のクライアント端末装置。上記端末通信部は、上記読込指示に基づいて、未送信スキャンデータの有無を確認するための画像確認要求を上記サーバ装置へ送信し、未送信のスキャンデータが上記サーバ記憶部内にあった場合に、当該スキャンデータを取得するための画像送信要求を上記サーバ装置へ送信する一方、未送信のスキャンデータが上記サーバ記憶部内になかった場合に、上記プロトコル変更要求を上記サーバ装置へ送信することを特徴とする請求項2又は3に記載のクライアント端末装置。上記双方向プロトコルが、上記サーバ装置及び上記クライアント端末装置のいずれも、状態確認のための状態確認要求を送信することができるウェブソケットプロトコルであることを特徴とする請求項2~4のいずれかに記載のクライアント端末装置。原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置において実行されるコンピュータプログラムであって、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成ステップと、上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更するネットワーク通信ステップと、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを記憶するスキャンデータ記憶ステップとを備えたことを特徴とするコンピュータプログラム。本発明は、上記事情に鑑みてなされたものであり、クライアント端末装置からサーバ装置内のスキャンデータを取得する際の使い勝手を向上させた原稿読取システムを提供することを目的としている。特に、新たに格納されたスキャンデータをサーバ装置から自動的に取得することができるクライアント端末装置を提供することを目的としている。また、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができるクライアント端末装置を提供することを目的としている。また、本発明は、その様なクライアント端末装置において実行されるコンピュータプログラムを提供することを目的とする。第1の本発明による原稿読取システムは、画像データの入出力を行うサーバ装置と、通信ネットワークを介して上記サーバ装置に接続されたクライアント端末装置とからなり、上記クライアント端末装置が、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、上記プロトコル変更要求を上記サーバ装置へ送信する端末通信部とを備え、上記サーバ装置が、原稿を光学的に読み取り、読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部と、上記クライアント端末装置から受信した上記プロトコル変更要求に基づいて、プロトコル変更応答を上記クライアント端末装置へ送信し、通信プロトコルを上記双方向プロトコルへ変更するサーバ通信部とを備え、上記端末通信部が、上記サーバ装置から受信した上記プロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更し、上記サーバ通信部が、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに、当該スキャンデータを上記クライアント端末装置へ送信するように構成される。この原稿読取システムでは、サーバ装置が、クライアント端末装置からプロトコル変更要求を受信した場合に、そのプロトコル変更要求に基づいて、プロトコル変更応答をクライアント端末装置へ送信し、通信プロトコルをハイパーテキスト転送プロトコルHTTPから双方向プロトコルへ変更する。一方、クライアント端末装置も、サーバ装置からプロトコル変更応答を受信すれば、そのプロトコル変更応答に基づいて、通信プロトコルをHTTPから双方向プロトコルへ変更する。双方向プロトコルへ移行した後には、新たにスキャンデータがサーバ記憶部内に格納されるごとに、スキャンデータがクライアント端末装置へ送信される。このため、クライアント端末装置では、スキャンデータの送信を要求しなくてもサーバ装置からスキャンデータが送信されるので、新たにサーバ記憶部内に格納されたスキャンデータをサーバ装置から自動的に取得することができる。また、プロトコル変更要求を送信することによって双方向プロトコルへ移行させておくことにより、原稿から順次に読み取らせたスキャンデータが自動取得されるので、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができる。従って、クライアント端末装置からサーバ装置内のスキャンデータを取得する際の使い勝手を向上させることができる。第2の本発明によるクライアント端末装置は、原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置であって、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成部と、上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更する端末通信部と、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを保持する端末記憶部とを備えて構成される。第3の本発明によるクライアント端末装置は、上記構成に加え、上記端末通信部が、上記サーバ装置を指定した読込指示に基づいて、上記プロトコル変更要求を上記サーバ装置へ送信し、上記プロトコル変更応答を受信したときから、通信を終了させるための終了操作を検知するまで、上記サーバ装置との間のコネクションを維持するように構成される。この様な構成によれば、プロトコル変更応答を受信したときから、ユーザが終了操作を行うまで、サーバ装置との間のコネクションが維持されるので、サーバ装置及びクライアント端末装置間の通信手順を簡素化することができる。第4の本発明によるクライアント端末装置は、上記構成に加え、上記端末通信部が、上記読込指示に基づいて、未送信スキャンデータの有無を確認するための画像確認要求を上記サーバ装置へ送信し、未送信のスキャンデータが上記サーバ記憶部内にあった場合に、当該スキャンデータを取得するための画像送信要求を上記サーバ装置へ送信する一方、未送信のスキャンデータが上記サーバ記憶部内になかった場合に、上記プロトコル変更要求を上記サーバ装置へ送信するように構成される。この様な構成によれば、読込指示時に未送信スキャンデータの有無が確認され、未送信のスキャンデータがサーバ記憶部内にあるか否かに応じた要求がサーバ装置へ送信される。このため、未送信スキャンデータがサーバ装置内に格納されていれば、当該スキャンデータを直ちに取得することができる。一方、未送信スキャンデータがサーバ装置内に格納されていなかった場合には、双方プロトコルへ移行させて新たに格納されるスキャンデータを自動取得することができる。第5の本発明によるクライアント端末装置は、上記構成に加え、上記双方向プロトコルが、上記サーバ装置及び上記クライアント端末装置のいずれも、状態確認のための状態確認要求を送信することができるウェブソケットプロトコルであるように構成される。この様な構成によれば、双方向プロトコルへ移行した後、サーバ装置及びクライアント端末装置は、互いに相手が通信可能であるか否かを任意のタイミングで確認することができる。第6の本発明によるコンピュータプログラムは、原稿を光学的に読み取って読取画像からなるスキャンデータを生成する光学読取部と、上記スキャンデータを保持するサーバ記憶部とを有するサーバ装置に通信ネットワークを介して接続されたクライアント端末装置において実行されるコンピュータプログラムであって、ハイパーテキスト転送プロトコルから双方向プロトコルへ通信プロトコルを変更させるためのプロトコル変更要求を生成するプロトコル変更要求生成ステップと、上記プロトコル変更要求を上記サーバ装置へ送信し、上記サーバ装置が上記プロトコル変更要求に対する応答として送信するプロトコル変更応答に基づいて、通信プロトコルを上記双方向プロトコルへ変更するネットワーク通信ステップと、上記双方向プロトコルへ移行した後、新たに上記スキャンデータが上記サーバ記憶部内に格納されるごとに上記サーバ装置が送信するスキャンデータを記憶するスキャンデータ記憶ステップとを備えて構成される。本発明による原稿読取システムでは、クライアント端末装置からサーバ装置内のスキャンデータを取得する際の使い勝手を向上させることができる。特に、本発明によるクライアント端末装置では、クライアント端末装置では、スキャンデータの送信を要求しなくてもサーバ装置からスキャンデータが送信されるので、新たにサーバ記憶部内に格納されたスキャンデータをサーバ装置から自動的に取得することができる。また、プロトコル変更要求を送信することによって双方向プロトコルへ移行させておくことにより、原稿から順次に読み取らせたスキャンデータが自動取得されるので、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができる。また、本発明によるコンピュータプログラムでは、端末装置を上述したクライアント端末装置として機能させることができる。<原稿読取システム1>図1は、本発明の実施の形態による原稿読取システム1の一構成例を示したシステム図である。この原稿読取システム1は、複数のPC10と複数のMFPMultifunctionPeripheral:複合機20とが、LANローカルエリアネットワーク2を介して互いに接続されたネットワークシステムである。原稿読取システム1では、MFP20において原稿から読み取られたスキャンデータをいずれかのPC10へ送信する処理を実行させることができる。ここでは、この処理をネットワークスキャンと呼ぶ。また、原稿読取システム1では、通信プロトコルとして、HTTP又はウェブソケットWebSocketプロトコルのいずれかを選択することができる。HTTPは、ネットワーク接続された2つの通信機器間で、ハイパーテキストデータを送受信するためのリクエスト-レスポンス型の通信プロトコルであり、一方の通信機器がサーバ装置として機能し、他方の通信機器がクライアント装置として機能する。これらの機能は、固定的に割り当てられる。ハイパーテキストデータは、HTMLHyperTextMarkupLanguageなどのマークアップ言語を用いて記述されたデータからなる。一方、ウェブソケットプロトコルは、ネットワーク接続された2つの通信機器間でバイナリデータを送受信するための双方向プロトコルであり、双方の通信機器のいずれも、状態確認のための状態確認要求を送信することができる。ネットワークスキャンなどの入出力ジョブを実行させる場合、HTTPでは、PC10及びMFP20がそれぞれクライアント装置及びサーバ装置として機能し、MFP20は、PC10からの要求に基づいて、画像データの出力を行う。PC10は、各種設定画面が表示されるディスプレイ11と、キーボード、マウスからなる操作部12とを有する端末装置である。PC10には、ネットワークスキャンを実行するためのスキャナドライバがインストールされている。MFP20は、スキャナ機能、プリンタ機能、FAX送受信機能、複写機能を有し、これらの機能を選択的に実行させることができる画像形成装置である。操作パネルには、ディスプレイ21及び操作部22が設けられている。また、原稿から読み取ったスキャンデータを格納するための複数のスキャンボックス23が設けられている。ネットワークスキャン時には、ユーザが指定したスキャンボックス23内にスキャンデータが格納される。スキャンデータは、原稿を光学的に読み取ることによって生成される読取画像からなり、ファイル化して格納される。原稿を読み取る読取処理は、操作部22のスタートキーを押下することによって開始される。スキャンボックス23は、任意に作成することができ、ポート番号などの所定のサブアドレスが割り当てられる。PC10からMFP20内のスキャンデータを取得する際には、MFP20を特定するためのIPInternetProtocolアドレスと、スキャンボックス23を特定するためのサブアドレスとからなるネットワークアドレスを指定する必要がある。PC10では、ネットワークスキャンを実行させるMFP20がスキャン実行機器として予め登録される。スキャン実行機器の登録情報、スキャンデータを読み込むための読込条件などは、所定の設定画面によって確認し、或いは、変更することができる。<スキャナドライバ設定画面3>図2は、図1のPC10においてディスプレイ11上に表示されるスキャナドライバ設定画面3の一例を示した図である。このスキャナドライバ設定画面3は、予め指定された読込条件からなる編集画面であり、スキャナドライバによって表示される。スキャナドライバ設定画面3には、スキャンボックスリストの表示欄31、スキャンデータリスト32、各種の設定欄33~35、読込ボタン36、スキャナ変更ボタン37、リスト更新ボタン38及び終了ボタン39が配置されている。表示欄31には、スキャン実行機器として登録されているMFP20内に設けられているスキャンボックス23が、ボックス番号などの識別情報に対応づけてツリー状に表示される。スキャンデータリスト32は、スキャンボックス23内に格納されているスキャンデータファイルについて、その読取日時、ページ数をファイル番号に対応づけて配置したデータファイル表である。このスキャンデータリスト32には、表示欄31で選択されているスキャンボックス23について、スキャンデータの読取日時などがファイルごとに表示されている。設定欄33は、解像度を指定するための入力欄であり、スキャンデータファイルをMFP20からPC10内に取り込む際に解像度を変更するか否か、変更する場合の変更後の解像度を指定することができる。設定欄34は、読取範囲を指定するための入力欄である。設定欄35は、スキャンデータファイルの削除を指定するための入力欄であり、PC10内にスキャンデータを取り込んだ後、元のスキャンデータをMFP20から削除するか否かを選択することができる。読込ボタン36は、ネットワークスキャンを実行させるための操作アイコンである。表示欄31内のいずれかのスキャンボックス23をスキャンデータの取得対象として選択し、マウスポインタ4を読込ボタン36上に移動させた状態でマウスをクリックすることにより、ネットワークスキャンを実行させることができる。スキャナ変更ボタン37は、スキャン実行機器を変更するための操作アイコンである。スキャナ変更ボタン37を操作すれば、スキャン実行機器をLAN2上の他のMFP20に変更することができる。リスト更新ボタン38は、表示欄31内のスキャンボックスリスト及びスキャンデータリスト32を更新させるための操作アイコンである。終了ボタン39は、スキャンデータの読み込みを終了させるための操作アイコンである。PC10では、ネットワークスキャンを実行する場合、まず、スキャンボックス23内に未送信のスキャンデータがあるか否かを確認するための画像確認要求がMFP20へ送信される。そして、未送信のスキャンデータがスキャンボックス23内にあれば、当該スキャンデータを取得するための画像送信要求がMFP20へ送信される。一方、未送信のスキャンデータがスキャンボックス23内になかった場合には、通信プロトコルをHTTPからウェブソケットプロトコルへ変更させるためのプロトコル変更要求がMFP20へ送信され、ウェブソケットシーケンスが実行される。ウェブソケットシーケンスは、ウェブソケットプロトコルに基づく通信手順であり、スキャナドライバ設定画面3内の終了ボタン39が操作されるまで、MFP20との間でTCPTransmissionControlProtocolコネクション仮想的な通信路が維持される。<ウェブソケットシーケンス>図3は、図1の原稿読取システム1における読込指示時の動作の一例を示したシーケンス図である。PC10において、スキャンデータの取得対象のスキャンボックス23を指定した読込指示が入力されれば、アップグレードコマンドを含むGET要求51が生成され、MFP20へ送信されるステップS101,S102。GET要求51は、通信プロトコルをHTTPからウェブソケットプロトコルへ変更させるためのプロトコル変更要求であり、HTTPのGETメソッドと呼ばれる所定のデータフォーマットからなる。例えば、GET要求51は、スキャンボックス23を特定するための識別情報scanbox01、HTTPのバージョンを示すバージョン情報、ホスト機器のIPアドレス、アップグレードコマンド、ウェブソケット通信用の識別コードからなる。MFP20は、受信したGET要求51に基づいて、ハンドシェイク応答52を生成し、PC10へ送信するステップS103。PC10及びMFP20は、ハンドシェイク応答52の送受信によって、通信プロトコルをウェブソケットプロトコルへ変更し、ウェブソケットシーケンスを実行するステップS104。PC10は、GET要求51を送信した後、一定時間内にハンドシェイク応答52が受信しなければ、この読込処理を終了する。ウェブソケットシーケンスへ移行した後、通信可能であるか否かを確認するための状態確認要求53が、定期的に送信される。すなわち、状態確認要求53は、一定時間ごとに送信され、或いは、予め定められた送信スケジュールに基づいて送信される。この状態確認要求53は、ウェブソケットフレームと呼ばれる所定フォーマットのデータフレームからなり、PC10又はMFP20のいずれも送信することができる。例えば、アプリケーションデータとしてメッセージpleasestoredatainscanbox01を含む状態確認要求53がMFP20へ送信されれば、当該メッセージがMFP20のディスプレイ21上に表示され、状態確認応答54がPC10へ送信される。この状態確認応答54にも、アプリケーションデータとしてメッセージpleasewaitが含まれていれば、当該メッセージがスキャナドライバ設定画面3上に表示される。MFP20において、原稿を収容部内に配置し、スキャンデータの格納先を指定した後、操作部22のスタートキーを押下すれば、読取処理が開始され、読取画像からなるスキャンデータ55が順次に生成されるステップS105。スキャンデータ55は、格納先として指定されたスキャンボックス23内に格納されるとともに、PC10へ送信されるステップS106。MFP20は、1枚目の原稿から読み取ったスキャンデータ55をPC10へ送信した後、状態確認要求56をPC10へ送信し、対応する状態確認応答57が受信すれば、2枚目の原稿から読み取ったスキャンデータをPC10へ送信する。例えば、アプリケーションデータとしてメッセージThereisthefollowingpageを含む状態確認要求56がPC10へ送信されれば、当該メッセージが設定画面3上に表示され、状態確認応答57がMFP20へ送信される。MFP20は、新たにスキャンデータをスキャンボックス23内に格納するごとに、当該スキャンデータをPC10へ送信する。そして、最後の原稿から読み取ったスキャンデータ58をPC10へ送信した後、メッセージThesedataarelastpagesを含む状態確認要求59がPC10へ送信され、対応する状態確認応答60がMFP20へ送信される。PC10において、設定画面3内の終了ボタン39を操作することによって読込処理の終了が指示されれば、TCPコネクションを解放し、ウェブソケットシーケンスを終了させるためのクロージングハンドシェイク要求61が生成され、MFP20へ送信されるステップS107。MFP20では、クロージングハンドシェイク要求61が受信すれば、クロージングハンドシェイク応答62がPC10へ送信される。PC10及びMFP20は、このハンドシェイク応答62の送受信によって、TCPコネクションを解放し、ウェブソケットシーケンスを終了するステップS108。<ウェブソケットフレーム>図4は、図1の原稿読取システム1において送受信されるウェブソケットフレームの一例を模式的に示した説明図である。ウェブソケットフレームは、MOREビット、リザーブビット、オペレーションコード、データ長及びアプリケーションデータからなるデータフレームである。MOREビットは、データフレームが最終フレームであるか否かを示すビットであり、最終フレームの場合には、0、後続フレームがある場合には、1が指定される。リザーブビットには、RSV1~4があり、全て0が指定される。オペレーションコードopcodeは、データフレームの種別を示す情報であり、データフレームが、クローズcloseフレーム、ピンpingフレーム、ポンpongフレーム、テキストフレーム又はバイナリbinaryフレームのいずれであるかを識別することができる。クローズフレームは、ウェブソケットシーケンスの終了を示すデータフレームである。ピンフレームは、状態確認要求を示すデータフレームであり、ポンフレームは、状態確認応答を示すデータフレームである。テキストフレームは、テキストデータを送受信するためのデータフレームである。バイナリフレームは、スキャンデータなどをアプリケーションデータApplicationDataとして送受信するためのデータフレームである。データ長は、アプリケーションデータのデータサイズを示す情報であり、Payloadlengthと、Extendedpayloadlengthがある。ウェブソケットシーケンスでは、この様なウェブソケットフレームがPC10及びMFP20間で送受信される。<PC10>図5は、図1のPC10の構成例を示したブロック図である。このPC10は、ディスプレイ11、操作部12、スキャナドライバ記憶部101、読込設定記憶部102、読込実行部103、ネットワーク通信部104及びスキャンデータ記憶部105により構成される。操作部12は、ユーザによるマウスの操作及びキーボードの操作を検出して所定の入力信号を生成し、読込実行部103へ出力する。スキャナドライバ記憶部101には、スキャナドライバが保持され、読込設定記憶部102には、読込条件が保持される。スキャナドライバは、MFP20を制御してスキャンデータを取得するためのソフトウェアであり、スキャナとPCとの間の接続仕様を規定する所定の接続規格、例えば、TWAINToolWithoutAnInterestingNameに対応している。ネットワーク通信部104は、LAN2を介してパケットデータの送受信を行う送受信部である。スキャンデータ、各種要求などは、パケットデータとして送受信される。読込実行部103は、確認要求生成部111、送信要求生成部112、変更要求生成部113及びスキャンデータ書込部114からなり、スキャナドライバを実行することにより、各種要求を生成し、ネットワーク通信部104を介してMFP20へ送信する。例えば、アプリケーションソフトの実行中における所定の起動操作に基づいて、スキャナドライバを起動させ、スキャナドライバ設定画面3をディスプレイ11に表示する。確認要求生成部111は、未送信スキャンデータの有無を確認するための画像確認要求を生成する。この画像確認要求は、スキャンデータの取得対象のMFP20とスキャンボックス23とを指定した所定の読込指示に基づいて生成され、MFP20へ送信される。例えば、画像確認要求は、スキャナドライバ設定画面3内の読込ボタン36を操作することによって送信される。送信要求生成部112は、スキャンデータを取得するための画像送信要求としてGET要求を生成する。このGET要求は、MFP20から画像確認要求に対する応答として受信した確認応答に基づいて生成され、MFP20へ送信される。具体的には、未送信のスキャンデータがスキャンボックス23内にあった場合に、当該スキャンデータを取得するためのGET要求アップグレードの記載なしがMFP20へ送信される。スキャンデータ書込部114は、MFP20からGET要求に対する応答として受信したスキャンデータをスキャンデータ記憶部105内に書き込む。変更要求生成部113は、HTTPからウェブソケットプロトコルへ通信プロトコルを変更させるためのプロトコル変更要求としてGET要求を生成する。このGET要求は、MFP20から画像確認要求に対する応答として受信した確認応答に基づいて生成され、MFP20へ送信される。具体的には、未送信のスキャンデータがスキャンボックス23内になかった場合に、GET要求アップグレードの記載ありがMFP20へ送信される。ネットワーク通信部104は、MFP20からGET要求に対する応答として受信したハンドシェイク応答プロトコル変更応答に基づいて、通信プロトコルをウェブソケットプロトコルへ変更し、ウェブソケットシーケンスを実行する。ネットワーク通信部104では、ハンドシェイク応答を受信したときから、通信を終了させるための所定の終了操作を検知するまで、MFP20との間のTCPコネクションが維持される。すわなち、TCPコネクションは、終了ボタン39が操作されるまで維持される。スキャンデータ書込部114は、ウェブソケットプロトコルへ移行した後、MFP20から受信したスキャンデータをスキャンデータ記憶部105内に格納する。<ドライバ処理>図6及び図7のステップS201~S219は、図5のPC10におけるドライバ処理の一例を示したフローチャートである。まず、読込実行部103は、アプリケーションソフトの実行中に、ユーザによる所定の起動操作を検知すれば、スキャナドライバを起動させ、スキャナドライバ設定画面3を表示するステップS201,S202。次に、読込実行部103は、ユーザによる所定の選択操作によって、スキャンデータの取得対象とするスキャンボックス23が指定され、読込ボタン36が操作されれば、画像確認要求を生成し、MFP20へ送信するステップS203~S205。次に、読込実行部103は、MFP20から受信した画像確認応答に基づいて、取得対象として指定したスキャンボックス23内に未送信のスキャンデータがあれば、当該スキャンデータを取得するためのGET要求アップグレードなしを生成し、MFP20へ送信するステップS206,S207。読込実行部103は、MFP20からHTTP応答としてスキャンデータが受信すれば、データフォーマットをビットマップ形式に変換してアプリケーションソフトへ渡し、スキャナドライバ設定画面3の表示を終了するステップS208~S210。一方、取得対象として指定したスキャンボックス23内に未送信のスキャンデータがなかった場合には、ウェブソケットプロトコルへ通信プロトコルを変更させるためのGET要求アップグレードありが生成され、MFP20へ送信されるステップS206,S211。ネットワーク通信部104は、MFP20からウェブソケットハンドシェイク応答が受信すれば、通信プロトコルをウェブソケットプロトコルへ変更し、ウェブソケットシーケンスを実行するステップS212,S213。次に、読込実行部103は、MFP20からウェブソケットフレームとしてスキャンデータが受信すれば、受信データをスキャンデータ記憶部105内に格納するステップS214,S215。ステップS214,S215の処理手順は、終了ボタン39が操作されるまで繰り返される。そして、終了ボタン39が操作されれば、読込実行部103は、通信を終了させるためのクローズフレームからなるクロージングハンドシェイク要求をMFP20へ送信するステップS216,S217。読込実行部103は、スキャンデータ記憶部105内に格納したスキャンデータについて、データフォーマットをビットマップ形式に変換し、アプリケーションソフトへ渡すとともに、スキャナドライバ設定画面3の表示を終了するステップS218,S219。<MFP20>図8は、図1のMFP20の構成例を示したブロック図である。このMFP20は、ディスプレイ21、操作部22、スキャンボックス23、ネットワーク通信部201、読取制御部202、光学読取部203、確認要求生成部204及び表示制御部205により構成される。操作部22は、ユーザ操作を検出して所定の入力信号を生成し、読取制御部202へ出力する。光学読取部203は、所定の収容部内に配置された原稿を光学的に読み取り、読取画像からなるスキャンデータを生成する。読取制御部202は、光学読取部203を制御し、原稿から読み取られたスキャンデータをユーザにより指定されたスキャンボックス23内に格納する。読取処理は、スタートキーを押下することによって開始され、予め指定された読取条件に基づいて実行される。スキャンボックス23は、TWAINに基づいて作成され、TWAINに対応しているソフトウェアによってアクセスすることができる。ネットワーク通信部201は、LAN2を介してパケットデータの送受信を行う送受信部である。読取制御部202は、PC10から画像確認要求を受信した場合に、当該画像確認要求に基づいて、スキャンボックス23内に未送信のスキャンデータがあるか否かを確認する。そして、その確認結果に基づいて、画像確認応答が生成され、ネットワーク通信部201を介してPC10へ送信される。また、読取制御部202は、PC10からGET要求アップグレードの記載なしを受信した場合に、当該GET要求に基づいて、スキャンボックス23からスキャンデータを読み出し、ネットワーク通信部201を介してPC10へ送信する。ネットワーク通信部201は、PC10からGET要求アップグレードの記載ありを受信した場合に、当該GET要求に基づいて、ハンドシェイク応答をPC10へ送信し、通信プロトコルをウェブソケットプロトコルへ変更する。確認要求生成部204は、ウェブソケットシーケンスへ移行した後、通信可能であるか否かを確認するための状態確認要求を定期的に生成し、ネットワーク通信部201を介してPC10へ送信する。表示制御部205は、ディスプレイ21を制御し、ウェブソケットシーケンスにおいて、PC10から受信したメッセージを表示する。読取制御部202では、ウェブソケットシーケンスにおいて、新たにスキャンデータがスキャンボックス23内に格納されれば、当該スキャンデータを直ちにPC10へ送信する。また、ネットワーク通信部201は、PC10からクローズフレームからなるクロージングハンドシェイク要求を受信した場合に、当該クロージングハンドシェイク要求に基づいて、クロージングハンドシェイク応答を生成し、PC10へ送信する。図9のステップS301~S310は、図8のMFP20におけるGET要求受信時の動作の一例を示したフローチャートである。まず、読取制御部202は、アップグレードの記載のないGET要求が受信すれば、当該GET要求によって指定されたスキャンボックス23内に未送信のスキャンデータがあるか否かを確認しステップS301,S302,S308、未送信のスキャンデータがあれば、当該スキャンデータを読み出し、HTTP応答としてPC10へ送信するステップS309。未送信のスキャンデータがなかった場合には、エラー状態がHTTP応答としてPC10へ送信されるステップS310。一方、ネットワーク通信部201は、アップグレードの記載のあるGET要求を受信した場合に、当該GET要求に基づいて、ハンドシェイク応答を生成し、PC10へ送信するとともに、ウェブソケットシーケンスへ移行するステップS301~S304。読取制御部202は、ウェブソケットシーケンスへ移行した後、GET要求によって指定されたスキャンボックス23内に、新たにスキャンデータが格納されるごとに、当該スキャンデータをスキャンボックス23から読み出してPC10へ送信するステップS305,S306。次に、ネットワーク通信部201は、PC10からクロージングハンドシェイク要求が受信すれば、クロージングハンドシェイク応答をPC10へ送信し、TCPコネクションを解放するステップS307。本実施の形態によれば、PC10では、スキャンデータの送信を要求しなくてもMFP20からスキャンデータが送信されるので、新たにスキャンボックス23内に格納されたスキャンデータをMFP20から自動的に取得することができる。また、プロトコル変更要求を送信することによってウェブソケットプロトコルへ移行させておくことにより、原稿から順次に読み取らせたスキャンデータが自動取得されるので、連続読取が不可能な原稿群を読み取らせる場合の操作性を向上させることができる。また、プロトコル変更応答を受信したときから、ユーザが終了操作を行うまで、MFP20との間のTCPコネクションが維持されるので、PC10及びMFP20間の通信手順を簡素化することができる。さらに、未送信スキャンデータがスキャンボックス23内に格納されていれば、当該スキャンデータを直ちに取得することができる。一方、未送信スキャンデータがスキャンボックス23内に格納されていなかった場合には、ウェブソケットプロトコルへ移行させて新たに格納されるスキャンデータを自動取得することができる。なお、本実施の形態では、読込指示時に、スキャンデータがスキャンボックス23内にあれば、GET要求アップグレードなしを送信し、スキャンデータがスキャンボックス23内になければ、GET要求アップグレードありを送信する場合の例について説明した。しかしながら、本発明はこの様な構成に限定されるものではない。例えば、スキャンデータがスキャンボックス23内にあった場合には、まず、GET要求アップグレードの記載なしを送信することによって当該スキャンデータをMFP20から取得させる。その後、GET要求アップグレードの記載ありを送信することによってウェブソケットシーケンスへ移行させるような構成であっても良い。"