(57)【特許請求の範囲】
【請求項１】
画像データを取得する取得手段と、
外部の装置とＨＴＴＰに従いデータ通信を行う通信手段と、
データを記憶する記憶手段と
を備え、
前記記憶手段は、予め定められた規則に従うサイズの送信済みのデータを一時的に記憶するための記憶領域を確保し、前記取得手段が取得した画像データを前記記憶領域以外の領域に記憶し、前記画像データのうち前記通信手段により前記外部の装置に送信されたデータを前記記憶領域に記憶し、前記記憶領域の空き領域が不足する場合は前記記憶領域のうち最後にデータが書き込まれた時期が早い順に選択される領域に前記通信手段により新たに送信されたデータを記憶し、
前記通信手段は、前記外部の装置から前記画像データの送信要求を受信したとき、前記送信要求に応じて前記記憶領域以外の領域に記憶されている前記画像データを前記外部の装置に送信し、前記外部の装置から前記画像データのうち前記外部の装置に送信済みのデータの再送信要求を受信したとき、前記再送信要求に応じて前記記憶領域に記憶されているデータを前記外部の装置に送信する
送信装置。
【請求項２】
前記通信手段により前記再送信要求が受信されたとき、前記記憶手段は前記記憶領域のうち、最後にデータが書き込まれた時期が前記再送信要求の対象のデータの書き込まれた時期よりも前である領域を新たなデータを記憶するための領域とする
請求項１に記載の送信装置。
【請求項３】
前記取得手段により前記画像データと異なる画像データが取得され、前記通信手段により前記異なる画像データの送信要求が受信されたとき、前記記憶手段は前記記憶領域の全てを新たなデータを記憶するための領域とする
請求項１または２に記載の送信装置。
【請求項４】
前記通信手段により前記送信要求に応じた前記画像データの全ての送信が完了した後、予め定められた時間が経過するまで、前記記憶手段は前記記憶領域に記憶されているデータを保持する
請求項１乃至３のいずれか１項に記載の送信装置。
【請求項５】
コンピュータに、
画像データを取得する処理と、
予め定められた規則に従うサイズの送信済みのデータを一時的に記憶するための記憶領域を確保する処理と、
取得した前記画像データを前記記憶領域以外の領域に記憶する処理と、
ＨＴＴＰに従い外部の装置から前記画像データの送信要求を受信する処理と、
前記送信要求に応じてＨＴＴＰに従い前記記憶領域以外の領域に記憶されている前記画像データを前記外部の装置に送信する処理と、
前記画像データのうち前記外部の装置に送信したデータを前記記憶領域に記憶し、前記記憶領域の空き領域が不足する場合は前記記憶領域のうち最後にデータが書き込まれた時期が早い順に選択される領域に前記外部の装置に新たに送信されたデータを記憶する処理と、
ＨＴＴＰに従い前記外部の装置から、前記画像データのうち前記外部の装置に送信済みのデータの再送信要求を受信したとき、前記再送信要求に応じて前記記憶領域に記憶されているデータをＨＴＴＰに従い前記外部の装置に送信する処理と
を実行させるためのプログラム。
【請求項６】
前記コンピュータに、
前記再送信要求を受信したとき、前記記憶領域のうち、最後にデータが書き込まれた時期が前記再送信要求の対象のデータの書き込まれた時期よりも前である領域を新たなデータを記憶するための領域とする処理
を実行させるための請求項５に記載のプログラム。
【請求項７】
前記コンピュータに、
前記画像データと異なる画像データを取得する処理と、
ＨＴＴＰに従い前記外部の装置から前記異なる画像データの送信要求を受信する処理と、
前記異なる画像データの送信要求を受信したとき、前記記憶領域の全てを新たなデータを記憶するための領域とする処理と
を実行させるための請求項５または６に記載のプログラム。
【請求項８】
前記コンピュータに、
前記送信要求に応じた前記画像データの全ての送信が完了した後、予め定められた時間が経過するまで、前記記憶領域に記憶されているデータを保持する処理
を実行させるための請求項５乃至７のいずれか１項に記載のプログラム。
【請求項９】
請求項１乃至４のいずれか１項に記載の送信装置と、
前記送信装置から画像データを受信する受信装置と
を備え、
前記受信装置は、
前記送信装置とＨＴＴＰに従いデータ通信を行う通信手段と、
前記送信装置から前記通信手段が受信した前記画像データのうち前記受信装置において失われたデータを特定する特定手段と
を備え、
前記受信装置の前記通信手段は、前記画像データの送信要求を前記送信装置に送信し、前記送信要求に応じて前記送信装置から送信されてくる画像データを受信し、
前記受信装置の前記通信手段は、前記特定手段により特定されたデータの再送信要求を前記送信装置に送信し、前記再送信要求に応じて前記送信装置から送信されてくるデータを受信する
画像データの通信のためのシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを送信するための技術に関する。
【背景技術】
【０００２】
画像を読み取り生成した画像データを配信するＨＴＴＰサーバ機能を備えた画像読取装置がある。ユーザは画像読取装置に所望する画像の読み取りを指示した後、ＨＴＴＰクライアント機能を備えるＰＣ（Personal Computer）等の端末装置を用いて画像読取装置により提供されるＨＴＴＰサーバに画像データの送信要求を送信する。画像読取装置は端末装置からの送信要求に応じて、読み取りにより生成した画像データを要求元の端末装置に送信する。これらの画像読取装置と端末装置とのデータ通信は、ＨＴＴＰサーバとＨＴＴＰクライアントとのデータ通信に用いられる通信プロトコルであるＨＴＴＰ（Hypertext Transfer Protocol）に従い行われる。
【０００３】
通信障害等によりデータ通信に問題が生じた場合に、当該問題を回避するための技術が提案されている。例えば、特許文献１には、チェックポイントを取得しながら処理を進めていき、障害が発生したときに、最後に取得したチェックポイントから処理を再実行することにより障害からの回復を実現するコンピュータシステムに適用されるチェックポイント通信処理システムが記載されている。特許文献１に記載のチェックポイント通信処理システムによれば、従来であれば、次のチェックポイントが取得されるまで待機させていた通信処理を可能な限りチェックポイントを待たずに即時に発行させることにより通信処理の大幅な高速化を図ることが可能となる、と述べられている。
【０００４】
また、特許文献２には、ＨＴＴＰのＲａｎｇｅヘッダを使ってコンテンツサーバからコンテンツ受信装置へＡＶコンテンツを分割伝送中にコンテンツ受信装置ユーザが一時停止をした場合、ＵＰｎＰ−ＡＶコネクションがコンテンツサーバで破棄されてＡＶコンテンツの伝送が再開されない、という問題を回避する仕組みが記載されている。特許文献２に記載の仕組みでは、ＡＶコンテンツの分割伝送の一時停止中にＨＴＴＰ  ＨＥＡＤリクエストメッセージが定期的に送信されるため、ＵＰｎＰ−ＡＶコネクションが破棄されず、ＡＶコンテンツの伝送が再開できない、という問題が回避される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−４９４６１号公報
【特許文献２】特開２００６−１８５３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、ＨＴＴＰに従い送信装置から受信装置に対し送信された画像データの一部が受信装置において失われた場合に、受信装置が画像データのうち当該失われた部分を再受信可能とすることである。
【課題を解決するための手段】
【０００７】
本発明は、画像データを取得する取得手段と、外部の装置とＨＴＴＰに従いデータ通信を行う通信手段と、データを記憶する記憶手段とを備え、前記記憶手段は、予め定められた規則に従うサイズの送信済みのデータを一時的に記憶するための記憶領域を確保し、前記取得手段が取得した画像データを前記記憶領域以外の領域に記憶し、前記画像データのうち前記通信手段により前記外部の装置に送信されたデータを前記記憶領域に記憶し、前記記憶領域の空き領域が不足する場合は前記記憶領域のうち最後にデータが書き込まれた時期が早い順に選択される領域に前記通信手段により新たに送信されたデータを記憶し、前記通信手段は、前記外部の装置から前記画像データの送信要求を受信したとき、前記送信要求に応じて前記記憶領域以外の領域に記憶されている前記画像データを前記外部の装置に送信し、前記外部の装置から前記画像データのうち前記外部の装置に送信済みのデータの再送信要求を受信したとき、前記再送信要求に応じて前記記憶領域に記憶されているデータを前記外部の装置に送信する送信装置を第１の態様として提案する。
【０００８】
また、本発明は、上記の第１の態様の送信装置において、前記通信手段により前記再送信要求が受信されたとき、前記記憶手段は前記記憶領域のうち、最後にデータが書き込まれた時期が前記再送信要求の対象のデータの書き込まれた時期よりも前である領域を新たなデータを記憶するための領域とする、という構成を第２の態様として提案する。
【０００９】
また、本発明は、上記の第１または第２の態様の送信装置において、前記取得手段により前記画像データと異なる画像データが取得され、前記通信手段により前記異なる画像データの送信要求が受信されたとき、前記記憶手段は前記記憶領域の全てを新たなデータを記憶するための領域とする、という構成を第３の態様として提案する。
【００１０】
また、本発明は、上記の第１乃至第３のいずれかの態様の送信装置において、前記通信手段により前記送信要求に応じた前記画像データの全ての送信が完了した後、予め定められた時間が経過するまで、前記記憶手段は前記記憶領域に記憶されているデータを保持する、という構成を第４の態様として提案する。
【００１１】
また、本発明は、コンピュータに、画像データを取得する処理と、予め定められた規則に従うサイズの送信済みのデータを一時的に記憶するための記憶領域を確保する処理と、取得した前記画像データを前記記憶領域以外の領域に記憶する処理と、ＨＴＴＰに従い外部の装置から前記画像データの送信要求を受信する処理と、前記送信要求に応じてＨＴＴＰに従い前記記憶領域以外の領域に記憶されている前記画像データを前記外部の装置に送信する処理と、前記画像データのうち前記外部の装置に送信したデータを前記記憶領域に記憶し、前記記憶領域の空き領域が不足する場合は前記記憶領域のうち最後にデータが書き込まれた時期が早い順に選択される領域に前記外部の装置に新たに送信されたデータを記憶する処理と、ＨＴＴＰに従い前記外部の装置から、前記画像データのうち前記外部の装置に送信済みのデータの再送信要求を受信したとき、前記再送信要求に応じて前記記憶領域に記憶されているデータをＨＴＴＰに従い前記外部の装置に送信する処理とを実行させるためのプログラムを第５の態様として提案する。
【００１２】
また、本発明は、前記コンピュータに、前記再送信要求を受信したとき、前記記憶領域のうち、最後にデータが書き込まれた時期が前記再送信要求の対象のデータの書き込まれた時期よりも前である領域を新たなデータを記憶するための領域とする処理を実行させるためのプログラムを第６の態様として提案する。
【００１３】
また、本発明は、上記の第５または第６の態様のプログラムであって、前記コンピュータに、前記画像データと異なる画像データを取得する処理と、ＨＴＴＰに従い前記外部の装置から前記異なる画像データの送信要求を受信する処理と、前記異なる画像データの送信要求を受信したとき、前記記憶領域の全てを新たなデータを記憶するための領域とする処理とを実行させるためのプログラムを第７の態様として提案する。
【００１４】
また、本発明は、上記の第５乃至第７のいずれかの態様のプログラムであって、前記コンピュータに、前記送信要求に応じた前記画像データの全ての送信が完了した後、予め定められた時間が経過するまで、前記記憶領域に記憶されているデータを保持する処理を実行させるためのプログラムを第８の態様として提案する。
【００１５】
また、本発明は、上記の第１乃至第４の態様のいずれか１項の送信装置と、前記送信装置から画像データを受信する受信装置とを備え、前記受信装置は、前記送信装置とＨＴＴＰに従いデータ通信を行う通信手段と、前記送信装置から前記通信手段が受信した前記画像データのうち前記受信装置において失われたデータを特定する特定手段とを備え、前記受信装置の前記通信手段は、前記画像データの送信要求を前記送信装置に送信し、前記送信要求に応じて前記送信装置から送信されてくる画像データを受信し、前記受信装置の前記通信手段は、前記特定手段により特定されたデータの再送信要求を前記送信装置に送信し、前記再送信要求に応じて前記送信装置から送信されてくるデータを受信する画像データの通信のためのシステムを第９の態様として提案する。
【発明の効果】
【００１６】
上記の第１および第７の態様によれば、ＨＴＴＰに従い送信装置から受信装置に対し送信された画像データの一部が受信装置において失われた場合に、受信装置は画像データのうち当該失われた部分を再受信することができる。
【００１７】
上記の第２の態様によれば、再送信要求に応じるために確保された記憶領域のうち新たなデータを記憶するための領域が、再送信要求の受信に応じて増加する。
【００１８】
上記の第３の態様によれば、再送信要求に応じるために確保された記憶領域のうち新たなデータを記憶するための領域が、画像データの送信要求の受信に応じて増加する。
【００１９】
上記の第４の態様によれば、送信装置から受信装置に対する画像データの送信が完了した後、受信装置において受信された画像データの一部が失われた場合に、受信装置は画像データのうち当該失われたデータを再受信することができる。
【００２０】
上記の第５乃至第８の態様によれば、上記の第１乃至第４の態様の送信装置がコンピュータにより実現される。
【図面の簡単な説明】
【００２１】
【図１】一実施形態にかかる画像データ通信システムの全体構成を示した図。
【図２】一実施形態にかかるコンピュータの基本構成を示した図。
【図３】一実施形態にかかる画像読取送信装置の構成を示した図。
【図４】一実施形態にかかる受信装置と送信装置の機能構成を示した図。
【図５Ａ】一実施形態にかかる画像データ通信システムの動作を示すシーケンス図。
【図５Ｂ】一実施形態にかかる画像データ通信システムの動作を示すシーケンス図。
【図６】一実施形態にかかる画像データ通信システムの動作を示すシーケンス図。
【発明を実施するための形態】
【００２２】
［実施形態］
以下に本発明の一実施形態にかかる画像データ通信システム１を説明する。図１は画像データ通信システム１の全体構成を示した図である。画像データ通信システム１はコンピュータ１０と画像読取送信装置１２を備える。コンピュータ１０と画像読取送信装置１２は無線または有線によりネットワークを介して、もしくはネットワークを介さずに直接、接続されており、互いにデータ通信が可能である。
【００２３】
コンピュータ１０は端末装置用の一般的なコンピュータである。図２はコンピュータ１０の基本構成を示した図である。コンピュータ１０は、各種データを記憶するメモリ１０１、メモリ１０１に記憶されているプログラムに従いデータ処理を行うプロセッサ１０２、外部の装置とデータ通信を行うインタフェースである通信ＩＦ１０３、ユーザに対し画像を表示する液晶ディスプレイ等の表示装置１０４、ユーザの操作を受け付けるキーボード等の操作装置１０５を備える。
【００２４】
なお、コンピュータ１０が備える構成部の一部が異なる筐体に配置されてもよい。例えば、表示装置１０４や操作装置１０５が、プロセッサ１０２等を収容する筐体と異なる筐体に収容されてもよい。
【００２５】
図３は画像読取送信装置１２の構成を示した図である。画像読取送信装置１２は紙等の媒体に形成された画像を光学的に読み取り画像データを生成する画像読取装置１２１と、画像読取装置１２１により生成された画像データをコンピュータ１０に送信するコンピュータ２０を備える。
【００２６】
画像読取装置１２１は一般的なイメージスキャナであり、ユーザによる読み取り指示のための操作を受け付けるユーザインタフェースを備えている。ユーザが媒体を原稿台またはオートシートフィーダにセットした後にユーザインタフェースに対し画像の読み取りを指示する操作を行うと、画像読取装置１２１は媒体に形成されている画像を読み取って画像データを生成し、生成した画像データをコンピュータ２０に出力する。なお、図３において画像読取装置１２１の構成の図示は省略されている。
【００２７】
コンピュータ２０は一般的なサーバ装置用のコンピュータである。コンピュータ２０は、各種データを記憶するメモリ２０１、メモリ２０１に記憶されているプログラムに従いデータ処理を行うプロセッサ２０２、画像読取装置１２１から出力される画像データの入力を受け付けるインタフェースである入力ＩＦ２０３、コンピュータ１０とデータ通信を行うインタフェースである通信ＩＦ２０４を備える。
【００２８】
コンピュータ１０のプロセッサ１０２がメモリ１０１に記憶されているプログラムに従ったデータ処理を実行すると、画像読取送信装置１２から画像データを受信する受信装置１１が実現される。また、コンピュータ２０のプロセッサ２０２がメモリ２０１に記憶されているプログラムに従ったデータ処理を実行すると、画像読取装置１２１により生成された画像データを受信装置１１に送信する送信装置１２２が実現される。
【００２９】
図４は受信装置１１と送信装置１２２の機能構成を示した図である。以下に受信装置１１と送信装置１２２が備える機能構成部を説明する。取得手段１２２１は画像読取装置１２１により生成された画像データを取得する。記憶手段１２２２は取得手段１２２１により取得された画像データを記憶する。なお、記憶手段１２２２は後述する画像データの再送信要求に応じるために送信済みのデータを一時的に記憶するための記憶領域１２２２Ａを確保する。
【００３０】
通信手段１２２３は受信装置１１とデータ通信を行う。通信手段１１１は送信装置１２２とデータ通信を行う。通信手段１２２３と通信手段１１１は、ＨＴＴＰに従い互いにデータ通信を行う。
【００３１】
記憶手段１１２は通信手段１１１が送信装置１２２から受信した画像データを記憶する。特定手段１１３は通信手段１１１が送信装置１２２から受信した画像データのうち受信装置１１において失われたデータを特定する。特定手段１１３が特定するデータとは、通信手段１１１によって通信手段１２２３から正しく受信された後、例えばメモリバッファからメインメモリへ転送される際にエラーにより失われた、といったデータである。
【００３２】
なお、受信装置１１を実現するためのプロフラムとは異なったアプリケーションプログラムに従った処理によりコンピュータ１０が受信装置１１において失われたデータを検知する場合がある。この場合、特定手段１１３はアプリケーションプログラムに従った処理による検知結果に基づき失われたデータを特定する。
【００３３】
なお、通信手段１２２３から通信手段１１１に対するデータの送受信が正しく行われたか否かは、例えばＴＣＰ（Transmission Control Protocol）等のトランスポート層上のプロトコルに従い、通信手段１２２３および通信手段１１１により確認される。すなわち、通信手段１２２３から通信手段１１１へのデータ通信の経路において失われたデータがある場合、当該データは特定手段１１３によってではなく、通信手段１２２３と通信手段１１１により特定される。
【００３４】
続いて画像データ通信システム１の動作を説明する。図５Ａおよび図５Ｂ（以下、図５Ａおよび図５Ｂを総称して図５という）は画像データ通信システム１の動作を示すシーケンス図である。まず、画像読取送信装置１２の起動時に、送信装置１２２は記憶手段１２２２に記憶領域１２２２Ａを確保する（ステップＳ１００）。記憶領域１２２２Ａのサイズは予め定められた規則に従い決定される。予め定められた規則とは、例えば１メガバイト等の固定サイズとする、という規則である。
【００３５】
続いて、ユーザが画像読取装置１２１の原稿台またはオートシートフィーダに媒体をセットした後、ユーザインタフェースに対し読み取り指示の操作を行うと、画像読取装置１２１による画像の読み取りが行われる（ステップＳ１０１）。画像読取装置１２１は読み取った画像を示す画像データを送信装置１２２に出力する（ステップＳ１０２）。
【００３６】
オートシードフィーダに複数枚の媒体がセットされた場合、ステップＳ１０１において画像読取装置１２１は複数枚の媒体の各々から画像を読み取る。画像読取装置１２１は読み取った複数の画像を示す１つの画像データ（以下、「マルチページ画像データ」という）を生成してもよいし、読み取った複数の画像を各々示す複数の画像データ（以下、「シングルページ画像データ」）を生成してもよい。以下の説明において、画像読取装置１２１は例として、シングルページ画像データを生成するものとする。
【００３７】
送信装置１２２は画像読取装置１２１から出力された画像データを記憶手段１２２２に記憶する（ステップＳ１０３）。送信装置１２２は記憶手段１２２２に記憶された画像データを識別する識別子である画像データＩＤを生成し、画像データに割り当てる（ステップＳ１０４）。ステップＳ１０４において生成される画像データＩＤは画像データの格納位置を示すＵＲＩ（Uniform Resource Identifier）を含む。なお、ステップＳ１０４において複数の画像データに対し画像データＩＤが割り当てられる場合、これらの画像データＩＤは画像の読み取り順序を示すデータを含む。
【００３８】
ユーザが受信装置１１を操作して受信装置１１を送信装置１２２にアクセスさせると、受信装置１１は送信装置１２２に対し画像データＩＤの送信要求を行う（ステップＳ１０５）。例えば、送信装置１２２はＨＴＴＰサーバ装置として機能し、受信装置１１はＨＴＴＰクライアントとして機能する。ユーザが受信装置１１に画像データの送信要求を指示する操作を行うと、受信装置１１から送信装置１２２に対する画像データＩＤの送信要求が行われる。
【００３９】
送信装置１２２は、受信装置１１からの送信要求に応じて、ステップＳ１０４において割り当てた画像データＩＤを受信装置１１に送信する（ステップＳ１０６）。ステップＳ１０３において複数の画像データが記憶された場合、これら複数の画像データの各々を識別する複数の画像データＩＤがステップＳ１０６において送信される。
【００４０】
受信装置１１は、送信装置１２２から受信した画像データＩＤにより識別される画像データの送信要求を送信装置１２２に対し行う（ステップＳ１０７）。画像データの送信要求には、例えば画像データＩＤに含まれるＵＲＩが含まれる。また、ステップＳ１０６において送信装置１２２から受信した画像データＩＤが複数ある場合、受信装置１１はステップＳ１０７において、これらの複数の画像データＩＤの中から読み取り順序に従って選択した１つの画像データＩＤにより識別される画像データの送信要求を行う。
【００４１】
送信装置１２２は、画像データの送信要求を受信すると、記憶領域１２２２Ａの全てを解放する（ステップＳ１０８）。本願において、記憶領域１２２２Ａを解放する、とは、記憶領域１２２２Ａの全てまたは一部の領域を、新たなデータを記憶するための領域とすることを意味する。すなわち、記憶領域１２２２Ａのうち解放された領域には必要に応じていつでも新たなデータが上書きされるため、その領域に記憶されているデータは消去されてもよいし、消去されずに残っていたとしても消去されたものとして扱われる。また、本願において、記憶領域１２２２Ａに記憶されているデータを保持する、という場合、当該データが記憶されている領域を解放しないことを意味する。
【００４２】
続いて、送信装置１２２はカウンタｉに初期値「１」を代入する。カウンタｉは送信装置１２２が受信装置１１に画像データを送信する際に画像データを適当なサイズに分割して得られるデータのまとまり（以下、「チャンク」という）の画像データにおける番号を意味する。ただし、カウンタｉは後述する再送信処理等に伴いリセットされる場合があるため、カウンタｉが画像データにおけるチャンクの順序を示すとは限らない。
【００４３】
続いて、送信装置１２２は受信装置１１に対し、画像データの第ｉ番目のチャンク（以下、単に「第ｉチャンク」という）を送信する（ステップＳ１１０）。送信装置１２２は送信した第ｉチャンクを記憶領域１２２２Ａの解放されている領域に記憶する（ステップＳ１１１）。なお、ステップＳ１１１において記憶領域１２２２Ａに記憶されたチャンクのオリジナルは記憶手段１２２２から削除される。
【００４４】
ステップＳ１１１において、記憶領域１２２２Ａに解放されている領域が不足する場合がある。この場合、送信装置１２２は記憶領域１２２２Ａに最後にデータが記憶された時期が早い順に選択される領域、すなわち、記憶されているデータが受信装置１１に送信された時期が早い順に選択される領域を解放し、解放した領域に新たなデータを記憶する。
【００４５】
続いて、送信装置１２２はステップＳ１０７において受信した送信要求の対象の画像データのうち未送信のチャンクがあるか否かを判定する（ステップＳ１１２）。未送信のチャンクがある場合（ステップＳ１１２；Ｙｅｓ）、送信装置１２２はカウンタｉを１だけ増加し（ステップＳ１１３）、処理をステップＳ１１０に戻す。これにより、未送信のチャンクが順次、送信装置１２２から受信装置１１に送信されることになる（ステップＳ１１０〜Ｓ１１３）。全てのチャンクが受信装置１１に送信されると（ステップＳ１１２；Ｎｏ）、送信装置１２２は受信装置１１に送信完了を通知する（ステップＳ１１４）。
【００４６】
送信完了の通知の後、送信装置１２２は予め定められた時間（例えば、６０秒間）が経過したか否かを継続的に判定する（ステップＳ１１５）。予め定められた時間が経過すると（ステップＳ１１５；Ｙｅｓ）、送信装置１２２は記憶領域１２２２Ａの全てを解放する（ステップＳ１１６）。また、送信装置１２２は送信を完了した画像データに割り当てていた画像データＩＤを破棄する（ステップＳ１１７）。
【００４７】
送信装置１２２によりステップＳ１１０〜Ｓ１１３の処理が繰り返される間、受信装置１１は送信装置１２２から送信されてくる画像データのチャンクを受信し記憶する（ステップＳ１１８）。受信装置１１は、受信したデータのうち受信装置１１において失われたデータがあるか否かを判定する（ステップＳ１１９）。なお、図５においてステップＳ１１９の判定はチャンクの受信毎に行われるように記載されているが、ステップＳ１１９の判定のタイミングはステップＳ１１８のチャンクの受信のタイミングと無関係であってもよい。
【００４８】
受信装置１１において失われたデータがあった場合（ステップＳ１１９；Ｙｅｓ）、受信装置１１は送信装置１２２に対し、失われたデータの再送信要求を行う（ステップＳ１２０）。ステップＳ１２０において受信装置１１が送信装置１２２に送信する再送信要求は、例えばＲａｎｇｅヘッダのフォーマットに従うデータを含む。
【００４９】
Ｒａｎｇｅヘッダは、例えば「Ｒａｎｇｅ：ｂｙｔｅｓ＝３２５４９６」や「Ｒａｎｇｅ：ｂｙｔｅｓ＝３２５４９６−３８３５２４」という形式のデータである。「Ｒａｎｇｅ：ｂｙｔｅｓ＝３２５４９６」は、画像データの先頭から３２５４９６バイト以降のデータの送信を要求するデータである。「Ｒａｎｇｅ：ｂｙｔｅｓ＝３２５４９６−３８３５２４」は、画像データの先頭から３２５４９６バイト以降、３８３５２４バイト以前のデータの送信を要求するデータである。このように、Ｒａｎｇｅヘッダは、再送信要求の対象のデータを、送信要求の対象の画像データにおける開始位置、または開始位置と終了位置により指定する。
【００５０】
受信装置１１において失われたデータが発見されることなく（ステップＳ１１９；Ｎｏ）、送信装置１２２から送信完了の通知が受信装置１１に対し送信されると（ステップＳ１１４）、受信装置１１はステップＳ１０６において受信した画像データＩＤにより識別される画像データのうち、まだ送信要求が行われていない画像データがあるか否かを判定する（ステップＳ１２１）。まだ送信要求が行われていない画像データがある場合（ステップＳ１２１；Ｙｅｓ）、受信装置１１は処理をステップＳ１０７に戻す。その結果、ステップＳ１０７〜Ｓ１２１の処理が、複数の画像データに関し繰り返し実行されることになる。
【００５１】
図６はステップＳ１２０における再送信要求が行われた際に行われる画像データ通信システム１の動作を示すシーケンス図である。送信装置１２２は受信装置１１から送信されてくる再送信要求を受信すると、その時点で実行していた第ｉチャンクの送信を中止する（ステップＳ２０１）。続いて、送信装置１２２は記憶領域１２２２Ａのうち、再送信要求の対象のデータより前に送信したデータが記憶されている領域を解放する（ステップＳ２０２）。再送信要求の対象のデータより前に送信したデータは、受信装置１１において失われていないことが確認済みのデータと判断されるためである。
【００５２】
続いて、送信装置１２２は再送信要求の対象のデータを必要に応じた数のチャンクに分割し、それらのチャンクを受信装置１１に順次送信する（ステップＳ１０９〜Ｓ１１３）。図６に示されるステップＳ１０９〜Ｓ１１３の処理は、図５に示したステップＳ１０９〜Ｓ１１３の処理と同じ処理である。
【００５３】
送信装置１２２により、再送信要求の対象のデータに関するチャンクの送信が行われる間、受信装置１１はそれらのチャンクを受信し記憶するとともに、受信したデータのなかに受信装置１１において失われたデータがあるか否かの判定を行う（ステップＳ１１８〜１２０）。図６に示されるステップＳ１１８〜Ｓ１２０の処理は、図５に示したステップＳ１１８〜Ｓ１２０の処理と同じ処理である。
【００５４】
送信装置１２２は、再送信要求の対象のデータに関する全てのチャンクの送信を完了すると、ステップＳ１０７において受信した送信要求の対象の画像データのうち未送信の部分があるか否かを判定する（ステップＳ２０３）。ステップＳ１２０において送信装置１２２が受信した再送信要求が、例えば「Ｒａｎｇｅ：ｂｙｔｅｓ＝３２５４９６−３８３５２４」のように再送信対象のデータの終了位置が指示されている場合、再送信対象のデータの後に未送信のデータが存在する場合がある。再送信対象のデータの後に未送信のデータが存在する場合（ステップＳ２０３；Ｙｅｓ）、送信装置１２２は処理を図５のステップＳ１０９に戻す。これにより、送信要求の対象の画像データのうち未送信のデータが順次、送信装置１２２から受信装置１１へ送信されることになる。
【００５５】
以上述べたように、画像データ通信システム１によれば、送信装置１２２から受信装置１１へ正しく送信されたデータのうち記憶領域１２２２Ａの容量に応じた量のデータ（最近送信されたもの）が記憶領域１２２２Ａに記憶される。従って、送信装置１２２は受信装置１１からの再送信要求に応じて、過去に送信に成功したデータの再送信を行うことができる。その結果、受信装置１１は失ったデータを再取得することができる。
【００５６】
［変形例］
上述した実施形態は一具体例であって、本発明の技術的思想の範囲内で様々に変形可能である。以下にそれらの変形の例を示す。なお、上述した実施形態と以下に例示する変形例はそれらの２以上が組み合わされてもよい。
【００５７】
（１）上述した画像読取送信装置１２は画像読取装置１２１と送信装置１２２のみを備えるものとしたが、画像読取送信装置１２が、例えば画像読取装置１２１により生成された画像データや外部の装置から受信した画像データが示す画像を紙等の媒体に形成する画像形成装置等の、他の装置を備える複合機として構成されてもよい。
【００５８】
（２）上述した送信装置１２２は画像読取装置１２１が媒体から読み取った画像を示す画像データを受信装置１１に送信する。送信装置１２２が受信装置１１に送信する画像データは媒体から読み取った画像を示すものに限られない。例えば、送信装置１２２が撮像装置から人物や風景を示す画像データを取得し、受信装置１１に送信する構成が採用されてもよい。
【００５９】
（３）上述した画像データ通信システム１において、記憶領域１２２２Ａのサイズは例として１メガバイト等の固定サイズであるものとしたが、記憶領域１２２２Ａのサイズは他の規則に従い決定されてもよい。例えば、画像読取装置１２１により生成される画像データがマルチページ画像データである場合、記憶領域１２２２Ａのサイズは、例えばマルチページ画像データのうち最後に送信を完了したページのサイズと、送信中のページのサイズとを合計したサイズとしてもよい。この場合、記憶領域１２２２Ａのサイズは送信対象のデータのサイズによって動的に変化することになる。
【００６０】
また、記憶領域１２２２Ａのサイズが、受信装置１１から指定される構成が採用されてもよい。例えば、受信装置１１は画像データの送信要求において再送信を保証するデータのサイズ（最近受信したデータのうち再送信が可能なデータのサイズ）を指定してもよい。この場合、送信装置１２２は受信装置１１から指定されたサイズに応じたサイズ（例えば、記憶領域１２２２Ａがバンクバッファであれば指定されたサイズの２倍のサイズ、記憶領域１２２２Ａがリングバッファであれば指定されたサイズ）の記憶領域１２２２Ａを確保する。
【００６１】
（４）記憶領域１２２２Ａの形式は特に限定されない。例えば、記憶領域１２２２Ａはリングバッファとして確保され利用されてもよいし、バンクバッファとして確保され利用されてもよい。
【００６２】
（５）上述した実施形態において、受信装置１１および送信装置１２２はコンピュータがプログラムに従った処理を実行することにより実現されるものとした。これに代えて、受信装置１１および送信装置１２２の一方または両方が、例えばＡＳＩＣ（Application Specific Integrated Circuit）等を備える専用装置として構成されてもよい。
【００６３】
（６）上述した実施形態において、コンピュータ１０に受信装置１１の処理を実行させるためのプログラム、およびコンピュータ２０に送信装置１２２の処理を実行させるためのプログラムは、持続的にデータを記録する記録媒体に記録されて配布されてもよいし、インターネット等のデータ通信ネットワークを介してコンピュータへダウンロードされる形態で配布されてもよい。
【符号の説明】
【００６４】
１…画像データ通信システム、１０…コンピュータ、１１…受信装置、１２…画像読取送信装置、２０…コンピュータ、１０１…メモリ、１０２…プロセッサ、１０３…通信ＩＦ、１０４…表示装置、１０５…操作装置、１１１…通信手段、１１２…記憶手段、１１３…特定手段、１２１…画像読取装置、１２２…送信装置、２０１…メモリ、２０２…プロセッサ、２０３…入力ＩＦ、２０４…通信ＩＦ、１２２１…取得手段、１２２２…記憶手段、１２２３…通信手段
【図１】
0006497154.tif 000002
【図２】
0006497154.tif 000003
【図３】
0006497154.tif 000004
【図４】
0006497154.tif 000005
【図５Ａ】
0006497154.tif 000006
【図５Ｂ】
0006497154.tif 000007
【図６】
0006497154.tif 000008