IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン電子株式会社の特許一覧

特開2025-25059画像読取装置及びその制御方法、並びにプログラム
<>
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図1
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図2
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図3
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図4
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図5
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図6
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図7
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図8
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図9
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図10
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図11
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図12
  • 特開-画像読取装置及びその制御方法、並びにプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025025059
(43)【公開日】2025-02-21
(54)【発明の名称】画像読取装置及びその制御方法、並びにプログラム
(51)【国際特許分類】
   H04N 1/00 20060101AFI20250214BHJP
【FI】
H04N1/00 127B
H04N1/00 L
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023129503
(22)【出願日】2023-08-08
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】000104652
【氏名又は名称】キヤノン電子株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】宮本 夢加
【テーマコード(参考)】
5C062
【Fターム(参考)】
5C062AA02
5C062AA05
5C062AA13
5C062AA29
5C062AB02
5C062AB17
5C062AB20
5C062AB23
5C062AB32
5C062AB38
5C062AB42
5C062AC02
5C062AC05
5C062AC22
5C062AC34
5C062AC58
5C062AC69
5C062AC70
5C062AE03
5C062AE07
5C062AE14
5C062AF00
5C062AF01
5C062AF06
5C062AF15
(57)【要約】
【課題】画像読取装置においてエラーが発生した場合に、タイムアウトの発生による端末装置とのセッションの切断を防止できるようにする。
【解決手段】Webサーバは、ネットワークを介して画像読取装置と通信可能な端末装置からアクセスを受け付けると、当該端末装置との間でセッションを確立する。スキャン処理部は、セッションを介して端末装置から受信したスキャン指示に従って、原稿の画像を読み取ってスキャン画像の画像データを生成するスキャン処理を実行する。セッション管理部は、端末装置からセッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、当該セッションを切断する。セッション管理部は、スキャン処理の実行中に発生したエラーの検知に応じて、タイムアウト時間を延長する。
【選択図】図10
【特許請求の範囲】
【請求項1】
画像読取装置であって、
前記画像読取装置と通信可能な端末装置からアクセスを受け付けると、前記端末装置との間でセッションを確立する確立手段と、
前記セッションを介して前記端末装置から受信したスキャン指示に従って、原稿の画像を読み取ってスキャン画像の画像データを生成するスキャン処理を実行する処理手段と、
前記端末装置から前記セッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、前記セッションを切断するセッション管理手段と、を備え、
前記セッション管理手段は、前記スキャン処理の実行中に発生したエラーの検知に応じて、前記タイムアウト時間を延長する、
ことを特徴とする画像読取装置。
【請求項2】
前記画像読取装置において発生するエラーを検知する検知手段を更に備え、
前記セッション管理手段は、前記検知手段によってエラーが検知された際に設定されている前記タイムアウト時間を、前記検知手段によって検知されるエラーのタイプごとに予め設定されている個別のタイムアウト時間に変更する、
ことを特徴とする請求項1に記載の画像読取装置。
【請求項3】
搬送中の原稿シートのジャムによるエラーに対して設定されたタイムアウト時間は、重送エラーに対して設定されたタイムアウト時間よりも長い、
ことを特徴とする請求項2に記載の画像読取装置。
【請求項4】
前記検知手段は、前記画像読取装置の内部に配置されたセンサの出力に基づいて、前記スキャン処理の実行中に発生したエラーを検知する、
ことを特徴とする請求項2又は3に記載の画像読取装置。
【請求項5】
前記セッション管理手段は、前記スキャン処理の実行中に、搬送中の原稿シートのジャムによるエラーの発生が検知されると、前記タイムアウト時間を延長し、前記ジャムが解消される前に前記画像読取装置のカバーが開けられたことによるエラーの発生が検知されると、前記タイムアウト時間を更に延長する、
ことを特徴とする請求項1乃至3のいずれか一項に記載の画像読取装置。
【請求項6】
前記セッション管理手段は、前記スキャン処理の実行中に、前記画像読取装置のカバーが開けられたことによるエラーの発生が検知されると、前記カバーが閉じられるまでの間、前記タイムアウト時間の判定のための計時を停止する、
ことを特徴とする請求項1乃至3のいずれか一項に記載の画像読取装置。
【請求項7】
前記タイムアウト時間の設定を受け付けるための操作画面を、前記画像読取装置と通信可能な端末装置に提供する提供手段を更に備え、
前記セッション管理手段は、前記操作画面を介して受け付けた設定内容に従って、エラーのタイプごとの個別のタイムアウト時間の設定を変更する、
ことを特徴とする請求項2に記載の画像読取装置。
【請求項8】
前記スキャン処理の実行中に重送エラーが発生したことが検知されると、前記スキャン処理を継続するか否かの選択を操作ユーザから受け付けるための操作画面を、前記端末装置に提供する提供手段を更に備え、
前記処理手段は、前記操作画面を介して受け付けた選択に従って、前記スキャン処理を継続するか、又は前記スキャン処理を終了する、
ことを特徴とする請求項1乃至3のいずれか一項に記載の画像読取装置。
【請求項9】
前記操作画面は、前記スキャン処理を継続するか、前記スキャン処理によりそれまでに生成された画像データを破棄して前記スキャン処理を終了するか、前記スキャン処理によりそれまでに生成された画像データを前記端末装置に保存して前記スキャン処理を終了するかを選択可能に構成される、
ことを特徴とする請求項8に記載の画像読取装置。
【請求項10】
前記提供手段は、前記スキャン処理の実行中に重送エラーが発生したことが検知された場合、前記スキャン処理を継続するか否かの選択を操作ユーザから受け付けるための操作画面を、前記端末装置に提供し、前記スキャン処理の実行中に重送エラー以外のエラーが発生したことが検知された場合、前記操作画面を前記画像読取装置の表示部に表示する、
ことを特徴とする請求項8に記載の画像読取装置。
【請求項11】
前記重送エラー以外のエラーは、搬送中の原稿シートのジャム、前記画像読取装置のカバーのオープン、及びローラの交換のうちの少なくとも1つを含む、
ことを特徴とする請求項10に記載の画像読取装置。
【請求項12】
前記セッション管理手段は、前記セッションを介して前記端末装置から受信されるコマンドに応じて、前記タイムアウト時間を変更する、
ことを特徴とする請求項1乃至3のいずれか一項に記載の画像読取装置。
【請求項13】
前記セッション管理手段は、前記セッションを介して前記端末装置から受信されるコマンドに応じて変更される前記タイムアウト時間よりも、前記スキャン処理の実行中に発生したエラーの検知に応じて延長される前記タイムアウト時間を優先して使用する、
ことを特徴とする請求項12に記載の画像読取装置。
【請求項14】
前記セッション管理手段は、前記スキャン処理の実行中に前記画像読取装置においてエラーが発生したことが検知された後に、前記端末装置以外の他の端末装置からコマンドが受信されない限り、前記セッションを維持する、
ことを特徴とする請求項12に記載の画像読取装置。
【請求項15】
前記セッション管理手段は、前記スキャン処理の実行中に前記画像読取装置においてエラーが発生したことが検知された後に、前記端末装置以外の他の端末装置からコマンドが受信されると、前記タイムアウト時間の判定のための計時を開始する、
ことを特徴とする請求項12に記載の画像読取装置。
【請求項16】
前記処理手段は、前記セッションを介した前記端末装置からのアクセスを、予め設定された時間間隔で前記スキャン処理の実行中に受け付けている限り、前記スキャン処理の実行を続ける、
ことを特徴とする請求項1乃至3のいずれか一項に記載の画像読取装置。
【請求項17】
画像読取装置の制御方法であって、
前記画像読取装置と通信可能な端末装置からアクセスを受け付けると、前記端末装置との間でセッションを確立する確立工程と、
前記セッションを介して前記端末装置から受信したスキャン指示に従って、原稿の画像を読み取ってスキャン画像の画像データを生成するスキャン処理を実行する処理工程と、
前記端末装置から前記セッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、前記セッションを切断するセッション管理工程と、を含み、
前記セッション管理工程では、前記スキャン処理の実行中に発生したエラーの検知に応じて、前記タイムアウト時間を延長する、
を含むことを特徴とする画像読取装置の制御方法。
【請求項18】
画像読取装置のコンピュータに、請求項17に記載の画像読取装置の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像読取装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【0002】
原稿の画像を読み取って読取画像の画像データを生成する画像読取装置として、外部装置からのWebブラウザによるアクセスを可能にするためにWebサーバを実装したものが知られている。Webサーバが実装された画像読取装置は、外部装置側に専用のアプリケーション又はドライバを必要とせずに、Webブラウザに提供した操作画面を介してスキャン指示を受け付けることが可能である。
【0003】
上述のようなWebサーバは、Webブラウザからアクセスが無い状態が所定時間、継続した(即ち、タイムアウトが発生した)場合、Webブラウザとのセッションを切断することが一般的である。しかし、スキャン処理の実行中に、モバイル端末又はPC等の端末装置と画像読取装置とのセッションが切断されると、スキャン処理の完了後に読取画像の画像データを画像読取装置から端末装置へ送信できなくなりうる。特許文献1には、このようなタイムアウトの発生を防止する技術として、Webサーバでの処理の実行中に、Webブラウザが一定時間周期でWebサーバに処理の実行状況を問い合わせる技術が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011-232893号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、画像読取装置においてエラーが発生してスキャン処理が中断した場合に、ユーザがエラーの解消作業に手間取っている間に画像読取装置と端末装置とのセッションのタイムアウトが発生してしまう可能性がある。タイムアウトの発生によりセッションが切断されると、スキャン処理により得られた読取画像の画像データを画像読取装置から端末装置へ送信できなくなりうる。
【0006】
本発明は、画像読取装置においてエラーが発生した場合に、タイムアウトの発生による端末装置とのセッションの切断を防止できるようにする技術を提供するものである。
【課題を解決するための手段】
【0007】
本開示の一態様に係る画像読取装置は、前記画像読取装置と通信可能な端末装置からアクセスを受け付けると、前記端末装置との間でセッションを確立する確立手段と、前記セッションを介して前記端末装置から受信したスキャン指示に従って、原稿の画像を読み取ってスキャン画像の画像データを生成するスキャン処理を実行する処理手段と、前記端末装置から前記セッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、前記セッションを切断するセッション管理手段と、を備え、前記セッション管理手段は、前記スキャン処理の実行中に発生したエラーの検知に応じて、前記タイムアウト時間を延長する、ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、画像読取装置においてエラーが発生した場合に、タイムアウトの発生による端末装置とのセッションの切断を防止できるようになる。
【図面の簡単な説明】
【0009】
図1】画像読取装置100の概略的な構成例を示す断面図。
図2】画像読取ユニット104の概略的な構成例を示す断面図。
図3】画像読取装置100のハードウェア構成例を示すブロック図。
図4】画像読取システムの構成例を示す図。
図5】画像読取装置100の機能構成例を示すブロック図。
図6】画像読取システムにおける処理のシーケンスの例を示すシーケンス図。
図7】Webブラウザによって表示される操作画面の例を示す図。
図8】Webブラウザによるリクエスト処理の手順の例を示すフローチャート。
図9】セッションタイムアウト時間の設定値の例を示す図。
図10】セッション管理部による処理の手順を示すフローチャート。
図11】画像読取システムにおける処理のシーケンスの例を示すシーケンス図。
図12】セッション管理テーブルの例を示す図。
図13】ジャムエラーの検知に応じてWebブラウザによって表示される操作画面の例を示す図。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴は任意に組み合わされてもよい。また、同一又は同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0011】
[第1実施形態]
まず、本開示の第1実施形態に係る画像読取装置(原稿搬送装置)の構成例について説明する。
【0012】
<画像読取装置>
図1は、本実施形態に係る画像読取装置100の概略的な構成例を示す断面図である。画像読取装置100は、読取対象の原稿101が積載される原稿台102を備える。原稿台102上の原稿は、原稿検出センサ110によって検出される。原稿台102上の原稿は、給紙ローラ106により1枚ずつ分離されて搬送路108に送り出される。搬送路108に送り出され、搬送路108を搬送される原稿101は、レジストセンサ109によって検出される。レジストセンサ109によって原稿101が検出されると、画像読取ユニット104は、搬送路108を搬送中の原稿101の画像(原稿上に形成された画像)の読み取りを開始する。
【0013】
図1に示すように、本実施形態の画像読取装置100は、搬送路108の両側に2つの画像読取ユニット104を備える。一方の画像読取ユニット104が、原稿101の第一面(表面)の画像を読み取るように構成され、他方の画像読取ユニット104が、原稿101の第二面(裏面)の画像を読み取るように構成される。搬送路108を介して各画像読取ユニット104に対向する位置には、背景板105が配置されている。背景板105は、例えば、黒色の部材である。なお、画像読取装置100は、1つの画像読取ユニット104のみを備えるように構成されてもよい。
【0014】
画像読取ユニット104による画像の読み取りが行われた原稿101は、排出部103に向けて搬送ローラ107によって搬送路108を搬送され、最終的に排出部103に排出されて排出部103において積載される。排出部103に設けられた原稿検出センサ111は、排出部103に排出されて積載されている原稿101の検出に用いられる。また、搬送路108の排出口付近に設けられた原稿検出センサ112は、搬送路108に残っている原稿101の検出に用いられる。原稿検出センサ111及び112を用いることで、原稿101が搬送路108に残っているか、排出部103に排出されたかを検出可能である。
【0015】
画像読取装置100は更に、搬送路108に沿って給紙ローラ106とレジストセンサ109との間の位置に、重送検出センサ120を備える。重送検出センサ120は、複数枚の原稿が重なった状態(静電気等により複数枚の原稿が密着した状態)で搬送路108を搬送される重送の検出に用いられる。重送検出センサ120は、例えば、超音波の発信部及び受信部を備える超音波センサで構成される。超音波センサを用いる場合、搬送路108上の原稿(原稿シート)を通過する際の超音波の減衰量に基づいて重送を検出可能である。
【0016】
図2は、画像読取ユニット104の概略的な構成例を示す断面図である。画像読取ユニット104は、筐体1041と、搬送路108に面して設けられたガラス板1042とを備える。筐体1041及びガラス板1042によって画像読取ユニット104の内部が密封されている。画像読取ユニット104の内部には、イメージセンサ1043と、一対の発光部1044a及び1044bと、が設けられている。
【0017】
イメージセンサ1043は、ラインイメージセンサで構成され、例えば、CCDラインセンサ又はコンタクトイメージセンサで構成される。原稿101の搬送方向と直交する方向(主走査方向)に沿って配置されている。イメージセンサ1043は、搬送中の原稿101の画像を主走査方向の1ライン単位で読み取って画像信号を出力する。
【0018】
発光部1044aは、イメージセンサ1043に対して原稿101の搬送方向の上流側に配置される光源を有する。発光部1044bは、イメージセンサ1043に対して原稿101の搬送方向の下流側に配置される光源を有する。イメージセンサ1043は、発光部1044aと発光部1044bとの間に挟まれた位置に配置される。発光部1044a及び1044bは、それぞれ、メージセンサ1043と平行に、主走査方向に沿って配置され、複数のLEDを含むLEDアレイで構成される。図2に示すように、イメージセンサ1043は、発光部1044a及び1044bが原稿101に照射した光の反射光を受光することで、原稿101上の画像を読み取る。
【0019】
図3は、本実施形態に係る画像読取装置100のハードウェア構成例を示すブロック図である。画像読取装置100の制御部10は、CPU11、RAM(ランダムアクセスメモリ)12、記憶部13、入出力I/F(インタフェース)14及び通信I/F15を備える。
【0020】
CPU11は、1つ以上のプロセッサで構成される。CPU11は、記憶部13に格納されているプログラムをRAM12に読み出して実行することで、画像読取装置100全体の制御を行う。RAM12は、CPU11による作業領域として使用される。記憶部13は、制御部10によって実行される各種プログラム(例えば、制御プログラム)、及び制御部10による処理に用いられる各種情報又はデータを格納するように構成される。例えば、イメージセンサ1043による原稿の画像の読み取りによって得られた画像データが記憶部13に保存される。記憶部13は、例えば、RAM(ランダムアクセスメモリ)、ROM(読み出し専用メモリ)、HDD(ハードディスクドライブ)及びSSD(ソリッドステートドライブ)等の1つ以上の記憶装置(メモリ)で構成される。
【0021】
入出力I/F14には、駆動回路24及び画像処理回路26が接続される。駆動回路24は、画像読取ユニット104の発光部1044a及び1044bを駆動する。画像処理回路26は、ADC25を介してイメージセンサ1043と接続される。イメージセンサ1043は、搬送中の原稿101の画像を主走査方向の1ライン単位で読み取って画像信号を出力する。ADC(アナログ/デジタル変換器)25は、イメージセンサ1043から出力されるアナログ形式の画像信号をデジタル形式の画像データに変換して出力する。画像処理回路26は、ADC25から出力された画像データに対して、シェーディング補正等の画像処理を行う。CPU11は、画像処理回路26から出力される画像データを取得する。
【0022】
通信I/F15は、外部装置との通信を行うためのインタフェースであり、有線通信インタフェース、無線LAN通信若しくはBluetooth(登録商標)通信等のための無線通信インタフェース、USBインタフェース、又はSCSIインタフェース等で構成されうる。本実施形態では一例として、通信I/F15は、有線LAN(ローカルエリアネットワーク)に接続された有線通信インタフェースであるものとする。なお、画像読取装置100は、個別の外部装置又はネットワークと接続される複数の通信I/F15を備えてもよい。例えば、画像読取装置100は、複数の通信I/F15として、ある外部装置と直接接続されたUSB又はSCSIインタフェースと、有線LANと接続された有線通信インタフェースとを備えてもよい。
【0023】
通信I/F15は、任意の通信プロトコルに従って外部装置と通信可能であり、任意の通信経路を介して外部装置と通信可能である。複数の外部装置と接続される場合、外部装置ごとに異なる通信プロトコル及び通信経路が用いられてもよい。例えば、通信I/F15は、ある端末とHTTPプロトコルで通信し、別の端末とFTPプロトコルで通信するように構成されてもよい。本実施形態の画像読取装置100は、HTTPプロトコルに従って外部装置と通信可能なWebサーバ500(図5)を有する。このため、外部装置は、当該外部装置上で動作するWebブラウザにより、画像読取装置100のWebサーバ500にアクセス可能である。
【0024】
画像読取装置100は、制御部10に接続された操作部130を備える。操作部130は、入力部及び出力部を含む。入力部は、タッチパネル及びハードキー等を備え、ユーザからの各種操作の受け付けを行う。出力部(表示部)は、液晶ディスプレイ等の表示装置を備え、ユーザに対して各種情報の出力(表示)を行う。入力部及び出力部は、タッチパネルディスプレイのように、1つのモジュールとして実現されてもよい。
【0025】
<画像読取処理>
画像読取装置100において、制御部10(CPU11)は、例えば、操作部130の操作により、又は外部装置から原稿の読み取りの開始指示(スキャン指示)を受けると、原稿台102にセットされた原稿101に対する画像読取処理を開始する。画像読取処理において、CPU11は、まず給紙ローラ106を駆動して、原稿台102からの原稿101の搬送を開始する。原稿台102に複数枚の原稿101がセットされた場合、1枚ずつ原稿が分離されて搬送路108を搬送される。CPU11は、その後、レジストセンサ109によって原稿101が検出されると、当該検出のタイミングを基準として、原稿101の画像の読み取りのための画像読取ユニット104の制御を行う。
【0026】
具体的には、CPU11は、発光部1044a及び発光部1044bの発光を制御し、イメージセンサ1043を駆動することで、原稿101の画像の読み取りを行う。画像読取ユニット104は、イメージセンサ1043によって原稿101の画像を読み取って読取画像の画像データを生成し、生成した画像データを制御部10へ出力する。制御部10は、得られた画像データを画像読取装置100のRAM12又は記憶部13に一時的に保存する。なお、画像データは、画像読取装置100と通信可能な外部装置(サーバ装置)に保存されてもよい。
【0027】
<画像読取システムの構成>
図4は、本実施形態に係る画像読取システムの構成例を示す。画像読取システムは、画像読取装置100と、ネットワークを介して画像読取装置100と通信可能な端末装置(端末)200及び300とを含む。当該ネットワークは、有線LAN及び無線LAN等を含む。本実施形態では、画像読取装置100の通信I/F15は、ネットワークを介して端末200及び端末300と通信可能に接続される。
【0028】
端末200及び300は、例えば、パーソナルコンピュータ(PC)又はモバイル端末等の情報処理装置で構成される。例えば、端末200又は300が、スマートフォン又はタブレット端末等のモバイル端末で構成される場合、当該端末は、無線LAN通信用の無線アクセスポイントに無線接続し、当該無線アクセスポイントを介して有線LANに接続することで、画像読取装置100と通信してもよい。
【0029】
本実施形態において、端末200は、画像読取装置100を操作するユーザ(操作ユーザ)によって使用される端末装置である。なお、端末300は、この操作ユーザとは異なるユーザが操作する端末の例を示しており、その構成は端末200と同様である。端末200にはWebブラウザ210が予めインストールされている。操作ユーザは、端末200上で動作するWebブラウザ210を介して画像読取装置100を操作する。端末200は、操作ユーザの操作に従って、Webブラウザ210により画像読取装置100のWebサーバ500(図5参照)にアクセスする。これにより、Webブラウザ210は、画像読取装置100の操作用の操作画面に対応する画面データとして、HTML(Hyper Text Markup Language)データをWebサーバ500から取得し、取得したHTMLデータに基づいて操作画面を表示する。端末200(Webブラウザ210)は、表示した操作画面を介して操作ユーザから原稿の読み取りの開始指示(スキャン指示)を受け付けると、当該スキャン指示を画像読取装置100へ送信する。
【0030】
画像読取装置100の制御部10(CPU11)は、端末200から受信したスキャン指示に従って、上述のように画像読取処理を行う。CPU11は、原稿101の搬送を開始して当該原稿の読み取りを行い、当該読み取りにより得られた読取画像の画像データを、RAM12又は記憶部13に一時的に保存する。保存された画像データは、その後、ネットワークを介して端末200、又はサーバ装置等の外部装置へ送信される。なお、本実施形態では、端末200が、画像読取処理の完了後に画像形成装置100から読取画像の画像データをダウンロードして保存する例について説明する。
【0031】
<画像読取装置の機能構成>
図5は、画像読取装置100の機能構成例(ソフトウェア構成例)を示すブロック図である。画像読取装置100は、OS上で動作するアプリケーションとしてWebサーバ500を有する。画像読取装置100の起動時に、CPU11は、OSを起動し、その後にWebサーバ500を起動する。Webサーバ500は、CPU11上に常駐するプロセスとして動作し、ネットワークを介してリクエスト(要求)を受信するまで待機する。リクエストの受信に応じて、Webサーバ500は、当該リクエストに応じたレスポンス(応答)を返す。なお、Webサーバ500上には、外部装置のWebブラウザと通信するためのWebサービスタスクが常駐し、Webブラウザからのリクエストの受け付けを行う。
【0032】
画像読取装置100は、Webサーバ500上で動作する機能ユニット(アプリケーション)として、UI表示制御部501、スキャン処理部502、エラー管理部503、及びセッション管理部504を有する。UI表示制御部501は、Webサーバ500の起動に応じて起動され、操作部130における画面の表示を制御する。スキャン処理部502は、Webサーバ500が画像読取処理の開始指示(スキャン指示)を受け付けると、Webサーバ500によって起動される。スキャン処理部502は、受け付けたスキャン指示に従って、スキャナドライバ(図示せず)を介して画像読取ユニット104を制御することで画像読取処理(スキャン処理)を行う。
【0033】
エラー管理部503は、画像読取装置100において発生したエラーの検知処理を行い、画像読取装置100におけるエラーの発生状況を管理する。エラー管理部503は、検知処理において、画像読取装置100の内部に配置されたセンサ(重送検出センサ120等)の出力に基づいて、スキャン処理の実行中に発生したエラーを検知する。エラー管理部503は、画像読取装置100において発生するエラーとして、例えば、少なくとも以下のエラーを検知し、検知したエラーを示す情報(変数値)を、RAM12又は記憶部13に保持する。
‐原稿の搬送枚数のカウント値が所定値を超えることで搬送路上の搬送ローラの交換が必要になることによるエラー(ローラ交換エラー)。
‐搬送路上に原稿の滞留が生じることによるエラー(ジャムエラー)。
‐複数枚の原稿が重なった状態で搬送される重送の発生によるエラー(重送エラー)。
‐画像読取装置100のカバーが開いた状態となるエラー(カバーオープンエラー)。
【0034】
また、エラー管理部503は、エラーが発生したエラー状態から画像読取装置100が復帰したか否かを示す値が設定される変数comebackを、RAM12又は記憶部13に保持する。エラー管理部503は、発生したエラーの解消直後のタイミングにのみ、変数comebackに値trueを設定し、それ以外のタイミングには変数comebackに値falseを設定するように動作する。後述するように、変数comebackは、例えばWebサーバ500によって参照されて、所定の判定処理に使用される。
【0035】
セッション管理部504は、端末200,300等の端末装置(外部装置)との間で確立されるセッションを管理する。例えば、セッション管理部504は、セッションタイムアウトが生じたセッションのセッションIDをセッション管理テーブルから削除する処理(図10参照)を行う。
【0036】
なお、本実施形態において、スキャン処理部502は、セッションを介して端末装置から受信したスキャン指示に従って、原稿の画像を読み取って画像データを生成するスキャン処理を行う処理手段の一例として機能する。スキャン処理部502は、端末装置とのセッションが継続している状態においてスキャン処理の実行を続けるように構成される。また、セッション管理部504は、端末装置からセッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、セッションを切断するセッション管理手段の一例として機能する。セッション管理部504は、スキャン処理の実行中に発生したエラーの検知に応じて、タイムアウト時間を延長するように構成される。
【0037】
<セッションID(SID)>
セッションとは、一般に、通信の開始から終了までを指す。本明細書においては、端末装置(端末200,300)上で動作するWebブラウザからWebサーバ500への接続が行われた時点でセッションが開始し、Webサーバ500から接続が切断されると終了する。このようなセッションの開始及び終了を管理することはセッション管理と称される。
【0038】
Webサーバ500は、レスポンス(応答)を送信する際に、アクセス元のWebブラウザの管理(例えば、識別状態及び処理の状態の管理)のために、セッションID(SID)を発行する。SIDは、通信中のWebブラウザが使用するセッションを識別するための識別子(ID)である。SIDは、複数のユーザ(端末装置)に対して個別に割り当てられる。SIDを割り当てられているユーザ(端末装置)は、画像読取装置100におけるスキャン操作を許可されたユーザとなる。発行されたSIDは、RAM12又は記憶部13に保持された、図12に例示するセッション管理テーブルに格納された状態で、セッション管理部504によって管理される。
【0039】
<画像読取装置100のスキャン機能>
本実施形態の画像読取装置100は、画像読取装置100本体の操作部130を介して受け付けたスキャン指示(読取指示)に従ってスキャン処理を実行し、得られた読取画像の画像データを所定の送信先へ直接送信するスキャン機能を有する。本明細書では、このスキャン機能をPUSHスキャン機能とも称する。PUSHスキャン機能では、PC等の外部装置を介さずに、読取画像の画像データに対して画像読取装置100の内部で画像処理を行い、所定の形式(PDF形式等)のファイルを生成し、送信先(ユーザが指定した共有フォルダ等)へファイルを送信する。
【0040】
画像形成装置100は更に、上述のように、画像読取装置100と通信可能な端末装置(端末200等)で動作するWebブラウザに提供した設定画面を介して受け付けたスキャン指示に従ってスキャン処理を行うスキャン機能を有する。本明細書では、このスキャン機能をブラウザスキャン機能とも称する。ブラウザスキャン機能では、端末装置において動作するWebブラウザから送信されたスキャン指示に従ってスキャン処理を実行することで、読取画像の画像データを生成する。スキャン処理により得られた読取画像の画像データは、例えば、端末装置のWebブラウザからのリクエストに応じて当該Webブラウザへ送信されることで、端末装置へ送信される。
【0041】
<画像読取システムにおけるスキャン処理>
図6は、画像読取装置100におけるスキャン処理のシーケンスの例を示すシーケンス図である。本例では、端末200のWebブラウザ210から送信されたスキャン指示に従って、画像読取装置100がスキャン処理を行う例について説明する。
【0042】
端末200のユーザは、スキャン処理を画像読取装置100に実行させるために、ネットワークを介して、端末200のWebブラウザ210による画像読取装置100のWebサーバ500へのアクセスを行う。ユーザはまず、端末200を操作してWebブラウザ210を起動する。
【0043】
S601で、端末200のユーザが、Webブラウザ210によって端末200の表示部に表示されるブラウザ画面のURL入力欄に、画像読取装置100上で動作するWebサーバ500のIPアドレスを入力する。これにより、Webブラウザ210は、Webサーバ500のIPアドレスを含むURLに対してHTTPリクエスト(要求)を送信する。このIPアドレスを含むURLは、画像読取装置100の操作部130の表示部などに表示される二次元コードなどのコード画像や文字列を、端末200が有するカメラ等によって読み込むことで取得されてもよい。
【0044】
Webサーバ500は、Webブラウザ210からHTTPリクエストを受信すると、当該HTTPリクエストに対するレスポンス(応答)として、ホーム画面の画面データ(HTMLデータ)をWebブラウザ210へ送信する。これにより、Webブラウザ210は、ホーム画面をブラウザ画面として表示する。
【0045】
図7(A)は、S601においてWebブラウザ210によってホーム画面として表示されるスキャン設定画面の例を示している。スキャン設定画面700は、スキャン設定の入力を受け付けるための操作画面として構成されている。スキャン設定画面700では、一例として、カラーモード(カラー、グレー又は白黒)、原稿(用紙)サイズ、解像度、及び読取面(片面又は両面)の各設定項目についての設定が可能である。スキャン設定画面700では更に、重送検知を行うか否か、及び画像の傾き補正を行うか否かの設定項目についての設定が可能である。スキャン設定画面700は、タイムアウト設定画面710(図7(B))に表示画面を遷移させるためのボタン701と、スキャン処理の開始を指示するスキャン指示を行うための「スキャン」ボタン702とを含む。
【0046】
S602で、端末200のユーザが、スキャン設定画面700を用いて各設定項目について設定を入力した後に「スキャン」ボタン702を押すことで、スキャン指示を入力する。これにより、Webブラウザ210はまず、セッションID(SID)の発行リクエストをWebサーバ500へ送信する。図6に示すように、SIDの発行リクエストは、リソース名(コマンド)として「sid」を含むリクエストとして構成される。
【0047】
Webサーバ500は、受信したリクエストに従って、SIDをWebブラウザ210に対して発行し、発行したSIDをセッション管理テーブルに格納(追加)する。セッション管理テーブルは、例えば、RAM12又は記憶部13に保持されている。本実施形態では、図12(A)に示すように、Webサーバ500は、発行したSIDと関連付けて、最終アクセス時刻、リソース名、及びタイムアウト時間をセッション管理テーブルに格納する。Webサーバ500は、セッション管理テーブルに、受信したリクエストに含まれるリソース名とともに、現在時刻を最終アクセス時刻として格納する。Webサーバ500は更に、タイムアウト時間の初期値をセッション管理テーブルに格納する。本実施形態では、初期値を「10分」とした例について説明する。
【0048】
その後、Webサーバ500は、発行したSID(図6の例では「AAA」)を、受信したリクエストに対するレスポンスとしてWebブラウザ210へ送信する。本実施形態では、セッション管理テーブルに格納可能なSIDの上限数が1である場合を想定する。この場合、Webサーバ500は、他の端末(他のWebブラウザ)に対してSIDを既に発行済みの状態ある場合、エラー情報を含むレスポンスをWebブラウザ210へ送信する。
【0049】
このようにして、Webサーバ500は、画像形成装置100と通信可能な端末200(Webブラウザ210)からアクセスを受け付けると、当該端末200との間でセッションを確立する。Webサーバ500は、確立したセッションに対応するSIDをセッション管理テーブルに格納して管理する。確立されたセッションは、セッション管理部504によって管理される。セッションタイムアウトの発生に応じて、対応するSIDがセッション管理テーブルから削除される。
【0050】
S602においてWebサーバ500から、発行済みのSIDを含むレスポンスが送信されると、Webブラウザ210は、当該レスポンスを受信し、受信したレスポンスからSIDを取得する。Webブラウザ210は、上記レスポンスの受信に応じて、S603で、スキャン処理の開始を求めるリクエスト(スキャン処理の開始を指示するスキャン指示)を、画像読取装置100(Webサーバ500)へ送信する。なお、Webブラウザ210は、SIDの取得後には、画像形成装置100(Webサーバ500)へ送信する全てのリクエストに対してSIDを付加する。図6に示すように、スキャン処理の開始を求めるリクエストは、リソース名(コマンド)として「scanstart」を含むリクエストとして構成される。
【0051】
画像読取装置100(Webサーバ500)は、Webブラウザから(SIDの発行リクエスト以外の)リクエストを受信すると、SIDの有効性の確認処理を含む、リクエストに従った処理(リクエスト処理)を実行する。リクエスト処理は、Webサーバ500上で動作するWebサービスタスクによって、図8に示す手順で実行される(詳細については後述する)。図6のシーケンスにおけるこれ以降の処理では、端末200(Webブラウザ210)からリクエストが受信されるごとに、図8に示す手順による処理が行われ、SIDが有効(後述するS802で「YES」)であるかどうかの判定が行われるものとする。また、その判定結果が有効であれば、S803~S807の処理(後述するS803における、リクエストに従った処理を含む)が行われるものとする。
【0052】
図6の説明に戻り、Webサーバ500は、スキャン処理の開始を求めるリクエスト(スキャン処理の開始を指示するスキャン指示)の受信(S603)に応じて、S604で、スキャン処理部502にスキャン処理の実行を開始させる。具体的には、Webサーバ500は、スキャン処理部502を起動し、Webブラウザ210からのスキャン指示で指定されたスキャン設定に従ってスキャン処理を開始するよう、スキャン処理部502に指示する。スキャン処理部502は、Webブラウザ210から受信したスキャン設定に従ってスキャン処理を行う。本実施形態において、スキャン処理部502は、リクエストの送信元の端末200とのセッションが継続している状態において(即ち、セッション管理部504によってセッションが維持されている状態において)スキャン処理の実行を続けるように制御される。
【0053】
スキャン処理部502によってスキャン処理が正常に開始されると、Webサーバ500は、S605で、スキャン処理が開始されたことを示す情報(result:0)を、S603において受信したリクエストに対するレスポンスとして、Webブラウザ210へ送信する。なお、(Webサーバ500からWebブラウザ210へ送信される)このレスポンス及びこれ以降の各レスポンスは、図8のS803において送信されるレスポンスに相当する。
【0054】
Webブラウザ210は、スキャン処理が開始されたことを示す情報を含むレスポンスを受信した後、S606で、スキャン処理のステータス(実行状況)を確認するためのステータス取得リクエストを、Webサーバ500へ送信する。Webサーバ500は、スキャン処理が実行中である場合、スキャン処理が実行中であることを示すステータス情報(status:1)を含むレスポンスを、Webブラウザ210へ送信する。図6に示すように、ステータス取得リクエストは、リソース名(コマンド)として「scanning」を含むリクエストとして構成され、例えばあらかじめ設定された時間間隔で、繰り返し送信(ポーリング)される。なお、スキャン処理部502は、端末200とのセッションを介した端末200からのアクセス(本例ではステータス取得リクエスト)を、予め設定された時間間隔(ポーリング間隔)でスキャン処理の実行中に受け付けている限り、スキャン処理の実行を続けるように制御される。
【0055】
S607で、スキャン処理部502は、スキャン処理が完了すると、スキャン処理が完了したことを示す通知を、Webサーバ500へ送信する。その後、S608で、Webサーバ500は、Webブラウザ210からS606と同様のステータス取得リクエストを受信すると、スキャン処理が完了したことを示すステータス情報(status:0)を含むレスポンスを、Webブラウザ210へ送信する。
【0056】
スキャン処理が完了したことを示すステータス情報を含むレスポンスを受信すると、S609で、Webブラウザ210は、スキャン処理により得られた読取画像の画像データを取得するためのリクエストを、Webサーバ500へ送信する。図6に示すように、このリクエストは、リソース名(コマンド)として「image」を含むリクエストとして構成される。Webサーバ500は、受信したリクエストに対するレスポンスとして、図7(C)に例示する画像確認画面720の画面データをWebブラウザ210へ送信する。これにより、Webブラウザ210は、画像確認画面720をブラウザ画面として表示する。
【0057】
図7(C)は、読取画像(スキャン画像)の確認のための画像確認画面720を示す。画像確認画面720は、表示エリア721と保存ボタン722と継続スキャンボタン723とを含む。Webブラウザ210は、ユーザによる読取画像の確認のために表示エリア721に読取画像のプレビュー画像を表示する。ここでは読取画像のサムネイルを表示しており、読取画像はまだ画像読取装置100内にある。保存ボタン722は、スキャン処理により得られた読取画像の画像データを、ネットワークを介して画像読取装置100から取得(ダウンロード)して端末200内に保存することを指示するために用いられる。継続スキャンボタン723は、スキャン処理により得られた読取画像の画像データに追加する新たな読取画像を取得するスキャン処理を実行指示するために用いられる。
【0058】
次にS610で、端末200のユーザが、画像確認画面720の保存ボタン722を押すことで、保存指示を入力する。これに応じて、Webブラウザ210は、S611で、スキャン処理により得られた読取画像の画像データのダウンロードを求めるリクエストを、Webサーバ500へ送信する。図6に示すように、このリクエストは、リソース名(コマンド)として「save」を含むリクエストとして構成される。Webサーバ500は、受信したリクエストに応じてWebブラウザ210への画像データの送信を開始する。
【0059】
なお、画像確認画面720において継続スキャンボタン723が押されると、Webブラウザ210は、S603に処理を戻し、スキャン処理の開始を求めるリクエストを、再びWebサーバ500へ送信する。
【0060】
<Webサーバ500によるリクエスト処理>
図8は、Webサーバ500(Webサービスタスク)によって実行されるリクエスト処理の手順の例を示すフローチャートである。上述のように、Webサーバ500(Webサービスタスク)は、SIDの発行時に、発行したSID及びそれに関連付けられた情報を、セッション管理テーブルに追加する。Webサーバ500(Webサービスタスク)は更に、リクエストの受信時に、セッション管理ーブル内の、当該リクエストを受信したセッションに対応するSIDに関連付けられた情報を、図8の手順に従ったリクエスト処理によって更新する。
【0061】
まず、S801で、Webサーバ500(Webサービスタスク)は、受信したリクエスト内にSIDが含まれているか否かを判定する。Webサーバ500は、受信したリクエスト内にSIDが含まれていない場合、S808へ処理を進め、SIDが無いことを示すエラー情報を表示するためのレスポンス(応答)を、Webブラウザへ送信し、リクエスト処理を終了する。
【0062】
一方、Webサーバ500は、受信したリクエスト内にSIDが含まれている場合、S802へ処理を進め、当該SIDがセッション管理テーブルに格納されているか否かを判定する。Webサーバ500は、セッション管理テーブルにSIDが格納されていない場合、S808へ処理を進め、SIDが無いことを示すエラー情報を表示するためのレスポンスを送信し、リクエスト処理を終了する。Webサーバ500は、受信したリクエスト内に含まれているSIDが、セッション管理テーブルに格納されている場合、S803へ処理を進める。S803で、Webサーバ500は、受信したリクエストに従った処理(例えば、S604におけるスキャン処理の開始)を行い、受信したリクエストに対するレスポンス(例えば、S605におけるレスポンス)をWebブラウザへ送信する。
【0063】
その後S804で、Webサーバ500は、受信したリクエストが、画像読取装置100において発生したエラーの解消直後のリクエスト(エラー解消後の最初のリクエスト)であるか否かを判定する。この判定処理は、例えば、エラー管理部503によってRAM12又は記憶部13に保持されている変数comebackを参照することで行われる。変数comebackは、エラーが発生したエラー状態から画像形成装置100が復帰したか否かを示す値を保持している。すなわち、エラー管理部503は、発生したエラーの解消直後のタイミングにのみ、変数comebackに値trueを設定し、それ以外のタイミングには変数comebackに値falseを設定するように動作しうる。Webサーバ500は、変数comebackに設定された値に基づいて、上記の判定を行うことが可能である。
【0064】
Webサーバ500は、受信したリクエストが、エラー解消後の最初のリクエストではない場合には、S804からS805へ処理を進める。S805で、Webサーバ500は、セッション管理テーブル内の対象SIDと関連付けられた情報のうち、最終アクセス時刻、リソース名及びタイムアウト時間を更新することで、セッション管理テーブルを更新する。具体的には、Webサーバ500は、最終アクセス時刻を、レスポンスを送信した時刻に更新し、リソース名を、受信したリクエストに含まれるリソース名に更新し、タイムアウト時間を初期値(本実施形態では10分)に更新する。
【0065】
一方、Webサーバ500は、受信したリクエストが、エラー解消後の最初のリクエストである場合には、S804からS806へ処理を進める。S806で、Webサーバ500は、セッション管理テーブル内の対象SIDと関連付けられた情報のうち、最終アクセス時刻及びリソース名を更新することで、セッション管理テーブルを更新する。具体的には、Webサーバ500は、最終アクセス時刻を、レスポンスを送信した時刻に更新し、リソース名を、受信したリクエストに含まれるリソース名に更新する。
【0066】
S805又はS806の処理が完了すると、Webサーバ500は、図8の手順によるリクエスト処理を終了する。
【0067】
<セッションタイムアウト時間の設定>
本実施形態では、図9に示すように、画像読取装置100において発生し、エラー管理部503によって検知されるエラーのタイプごとに、端末装置との間で確立されたセッションに対する個別のタイムアウト時間が予め設定されている。本実施形態では、上述のように、タイムアウト時間の初期値が「10分」に設定されており、この初期値はエラーが発生していない状態におけるタイムアウト時間として使用される。エラーのタイプごとのタイムアウト時間の設定値、及びタイムアウト時間の初期値は、例えば記憶部13に保存されている。
【0068】
図9に示すように、エラーの各タイプに対するタイムアウト時間は、タイムアウト時間の初期値よりも長い時間に設定されている。これにより、セッション管理部504は、スキャン処理の実行中に発生したエラーの検知に応じて、エラーが検知された際に設定されているタイムアウト時間を、エラーのタイプごとに設定されている個別のタイムアウト時間に変更するように構成される。例えば、搬送中の原稿シートのジャムによるエラーに対して設定されたタイムアウト時間は、重送エラーに対して設定されたタイムアウト時間よりも長い時間に設定されうる。これは、一般に、重送エラーよりもジャムエラーの解消の方が、エラーの解消処理に時間を要する可能性が高いためである。
【0069】
図9に示すタイムアウト時間の設定値は、Webサーバ500によって端末200等の端末装置(Webサーバブラウザ210)へ提供される、タイムアウト時間の設定を受け付けるための設定画面を用いて、ユーザによる変更が可能である。図7(B)に示すタイムアウト設定画面710は、このような設定画面の一例である。端末装置において、スキャン設定画面700のボタン701が押されることで、Webブラウザ210によってタイムアウト設定時間710が表示される。タイムアウト設定画面710の画面データは、画像読取装置100(Webサーバ500)から取得される。タイムアウト設定画面710においてボタン711が押されると、Webブラウザ210は、表示画面をスキャン設定画面700に戻す。
【0070】
本例のタイムアウト時間画面710は、ローラ交換エラー、ジャムエラー、重送エラー、カバーオープンエラー、及びこれらのエラー以外のその他のエラーに対するタイムアウト時間の設定値の入力を受け付け可能に構成されている。なお、タイムアウト時間画面710は、各エラーに対するタイムアウト時間として、初期値以上の値の入力のみを受け付けるように構成されてもよい。
【0071】
<セッション管理部504による処理>
図10は、画像読取装置100においてセッション管理部504によって実行される処理の手順の例を示すフローチャートである。セッション管理部504は、画像読取装置100の起動中に、図10の手順による処理を実行し続けるように構成される。
【0072】
S1001で、セッション管理部504は、セッション管理テーブルにSIDが格納されているか否かを判定する。セッション管理部504は、セッション管理テーブルにSIDが格納されていない場合には、S1001の判定を繰り返す。一方、セッション管理部504は、セッション管理テーブルにSIDが格納されている場合には、S1002へ処理を進め、セッション管理テーブルに格納されているSIDごとに、S1002以降の処理を実行する。
【0073】
S1002で、セッション管理部504は、画像読取装置100において何らかのエラーが発生している状態であるか否かを判定する。セッション管理部504は、エラー管理部503による検知処理による検知結果に基づいて判定を行う。セッション管理部504は、エラーが発生している状態ではない場合には、S1006へ処理を進め、エラーが発生している状態である場合には、S1003へ処理を進める。
【0074】
S1003で、セッション管理部504は、発生したエラーに対応するタイムアウト時間の設定値を記憶部13から取得する。例えば、セッション管理部504は、ジャムエラーが発生した場合には、記憶部13に保存されている、ジャムエラーに対応するタイムアウト時間の設定値(図9の例では17分)を取得する。
【0075】
その後、S1004で、セッション管理部504は、セッション管理テーブルに格納されているタイムアウト時間を、S1003で取得されたタイムアウト時間の設定値を用いて変更するか否かを判定する。具体的には、セッション管理部504は、S1003で取得されたタイムアウト時間の設定値が、セッション管理テーブルに格納されているタイムアウト時間を上回る場合に、上記の変更を行う。セッション管理部504は、セッション管理テーブルに格納されているタイムアウト時間を変更しない場合には、S1006へ処理を進め、変更する場合には、S1005へ処理を進める。S1005で、セッション管理部504は、上記の変更を行い、S1006へ処理を進める。
【0076】
S1006で、セッション管理部504は、セッション管理テーブルに格納されているSIDに対応するセッションについてタイムアウトが発生したか否かを判定する。具体的には、セッション管理部504は、セッション管理テーブルを参照し、各SIDについて、最終アクセス時刻からの経過時間(端末200からセッションを介したアクセスが無い状態の継続時間)がタイムアウト時間に達しているか否かを判定する。セッション管理部504は、最終アクセス時刻からの経過時間がタイムアウト時間に達している場合には、セッションタイムアウトが発生したと判定し、S1007へ処理を進める。一方、最終アクセス時刻からの経過時間がタイムアウト時間に達していない場合には、セッションタイムアウトは発生していないと判定し、S1001へ処理を戻す。
【0077】
S1007で、セッション管理部504は、セッション管理テーブルから対象SID及びそれに関連付けられた情報を削除することで、対象SIDに対応するセッションを切断し、S1001へ処理を戻す。このようにして、セッション管理部504は、端末200からセッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、当該セッションを切断する。
【0078】
<画像読取システムにおけるスキャン処理(エラーが発生する場合)>
図11は、画像読取装置100におけるスキャン処理のシーケンスの例を示すシーケンス図であり、スキャン処理の実行中にエラーが発生する場合を示している。本例では、端末200のWebブラウザ210から送信されたスキャン指示に従って、画像読取装置100がスキャン処理を行う例について説明する。なお、図6の処理と同様の処理を行うステップについては同じ参照符号を付して説明を省略している。
【0079】
S601~S606の処理は、図6の処理と同様である。S602におけるSIDの発行に応じて、例えば図12(A)に示されるSID及びそれに関連付けられた情報が、セッション管理テーブルに格納される。セッション管理テーブルにおいて、当該SIDに関連付けて、端末200(Webブラウザ210)から受信されたSIDの発行リクエストに含まれるリソース名(コマンド)「sid」が格納され、タイムアウト時間として初期値(10分)が設定される(S805)。
【0080】
S604におけるスキャン処理の開始後、ステータス取得リクエストが、例えば所定の時間間隔で、端末200(Webブラウザ210)から画像読取装置100(Webサーバ500)へ送信される。スキャン処理の実行中には、図12(B)に示すように、セッション管理テーブルにおいて、SIDに関連付けられたリソース名(コマンド)が、「sid」から、ステータス取得リクエストに含まれるリソース名「scanning」に変更される(S805)。また、この時点では、画像読取装置100においてエラーが発生していないため、SIDに関連付けられたタイムアウト時間は初期値(10分)から変更されていない。
【0081】
S1101で、上述のスキャン処理の実行中に、画像読取装置100においてエラーが発生し、エラー管理部503によって当該エラーが検知される。この場合、S1102で、Webサーバ500は、Webブラウザ210から受信されたステータス取得リクエストの受信に応じて、発生したエラーの内容を示すエラーコードを含むレスポンスを、Webブラウザ210へ送信する。なお、画像読取装置100においてエラーが発生した場合、スキャン処理自体は一旦終了するよう処理されるため、本実施形態においては、この時点でセッションのみが維持された状態となる。
【0082】
また、エラーの発生に応じて、セッション管理部504によって、使用中のセッションのタイムアウト時間が、発生したエラーに対応するタイムアウト時間に変更(延長)される(S1005)。これにより、図12(C)に示すように、SIDに関連付けてセッション管理テーブルに格納されているタイムアウト時間が、変更後のタイムアウト時間に更新される。図12(C)には、ジャムエラーの発生に応じて、タイムアウト時間の設定値が、図9に示すジャムエラーに対する設定値(17分)に変更される例を示している。これにより、ユーザによる、ジャムエラーの解消のための作業に時間を要したとしても、その間にセッションタイムアウトが発生することを防止できる。
【0083】
本実施形態において、画像読取装置100(Webサーバ500)は、発生したエラーの内容に応じて、エラー通知画面を、画像読取装置100の操作部130に表示するか、端末200(Webブラウザ210)に表示させるかを制御する。具体的には、Webサーバ500は、例えばジャムエラー等の、重送エラー以外のエラーの発生が検知された場合には、図13に例示するエラー通知画面1300を、UI表示制御部501によって操作部130に表示させる。一方、Webサーバ500は、重送エラーの発生が検知された場合には、図7(D)に例示するエラー通知画面730の画面データをWebブラウザ210へ送信する。これにより、エラー通知画面730をWebブラウザ210に表示させる。エラー通知画面1300又は730の表示により、画像読取装置100におけるエラーの解消をユーザに促す。
【0084】
S1103で、ユーザは、画像読取装置100におけるエラーを解消した後に(例えば、搬送路においてジャムが発生したシートの除去を行った後に)、再スキャンの実行等を指示しうる。例えば、ジャムエラーが発生した場合には、エラー通知画面1300において、再スキャンボタン1301が押されると、Webサーバ500は、再スキャンの実行を指示されたものと判定する。一方、エラー通知画面1300において、ボタン1302が押されると、Webサーバ500は、再スキャンの実行をスキャン処理部502に指示することなく、表示画面にホーム画面(スキャン設定画面700)を表示する。
【0085】
また、重送エラーが発生した場合には、Webブラウザ210は、エラー通知画面730において、ボタン731~733のいずれかの操作をユーザから受け付け、受け付けたボタンに対応するリクエストをWebサーバ500に送信する。Webサーバ500は、継続スキャンボタン731が押された場合には、中断したスキャン処理を継続する継続スキャン指示(S1103)を受け付けたと判定する。Webブラウザ210は、ボタン732が押された場合には、それまでにスキャン処理で生成された読取画像の画像データを破棄し、スキャン処理を終了する指示を受け付けたと判定する。また、Webブラウザ210は、ボタン733が押された場合には、それまでにスキャン処理で生成された読取画像の画像データを画像読取装置100からダウンロードして保存する指示を受け付けたものと判定する。上述したように、エラー発生後の状態としてはスキャン処理が終了し、セッションのみが維持された状態である。従って、継続スキャンボタン731以外のボタンが押された場合、もしくはタイムアウト時間が経過した場合には、このときに維持されているセッションが破棄されることになる。
【0086】
図11の例では、ジャムエラーが発生し、エラーの解消後に、S1103で再スキャンの実行が指示された場合を示している。この場合、S1104で、Webブラウザ210は、スキャン処理の開始を求めるリクエストを、画像読取装置100(Webサーバ500)へ送信する。このリクエストは、S603と同様、リソース名(コマンド)として「scanstart」を含むリクエストとして構成される。
【0087】
Webサーバ500は、スキャン処理の開始を求めるリクエストの受信(S1104)に応じて、S1105で、スキャン処理部502にスキャン処理の実行を再び開始させる。なお、Webサーバ500は、S1104におけるリクエストの受信時には、発生したエラーの解消直後のタイミングであるため、リクエスト処理(図8)において、受信したリクエストに含まれるSIDに対応するタイムアウト時間の初期化は行わない(S806)。このため、この時点では、図12(C)に示すタイムアウト時間(17分)の使用が続けられる。
【0088】
スキャン処理部502によってスキャン処理が正常に開始されると、Webサーバ500は、S1106で、スキャン処理が開始されたことを示す情報(result:0)を、S1104において受信したリクエストに対するレスポンスとして、Webブラウザ210へ送信する。
【0089】
その後、S1107で、Webブラウザ210は、S606と同様、スキャン処理のステータス(実行状況)を確認するためのステータス取得リクエストを、Webサーバ500へ送信する。Webサーバ500は、スキャン処理が実行中である場合、スキャン処理が実行中であることを示すステータス情報(status:1)を含むレスポンスを、Webブラウザ210へ送信する。このとき、Webサーバ500は、リクエスト処理(図8)において、受信したリクエストに含まれるSIDに対応するタイムアウト時間の初期化を行う(S805)。これにより、図12(D)に示すように、エラーの発生に応じて延長されたタイムアウト時間が、延長前のタイムアウト時間(10分)に戻されることになる。
【0090】
S1108で、スキャン処理部502は、スキャン処理が完了すると、スキャン処理が完了したことを示す通知を、Webサーバ500へ送信する。その後、S1109で、Webサーバ500は、Webブラウザ210からステータス取得リクエストを受信すると、スキャン処理が完了したことを示すステータス情報(status:0)を含むレスポンスを、Webブラウザ210へ送信する。
【0091】
その後に実行されるS1110~S1112の処理は、図6のS609~S611の処理と同様である。
【0092】
以上説明したように、本実施形態の画像読取装置100において、Webサーバ500は、ネットワークを介して画像読取装置100と通信可能な端末装置からアクセスを受け付けると、当該端末装置との間でセッションを確立する。スキャン処理部502は、セッションを介して端末装置から受信したスキャン指示に従って、原稿の画像を読み取ってスキャン画像の画像データを生成するスキャン処理を実行する。セッション管理部504は、端末装置からセッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、当該セッションを切断する。セッション管理部504は、スキャン処理の実行中に発生したエラーの検知に応じて、タイムアウト時間を延長する。
【0093】
このように、本実施形態では、画像読取装置100においてエラーが発生した際に設定されているタイムアウト時間を延長することで、ユーザがエラーの解消作業に手間取っている間に、端末装置とのセッションのタイムアウトが発生することを回避する。このため、本実施形態によれば、画像読取装置100においてエラーが発生した場合に、タイムアウトの発生による端末装置とのセッションの切断を防止できるようになる。
【0094】
また、本実施形態では、エラーが発生した際に設定されているタイムアウト時間を、検知されたエラーのタイプごとに設定されている個別のタイムアウト時間に変更する。これにより、エラーのタイプに合わせて適切にタイムアウト時間を延長(例えば、エラーの解消に比較的長い時間を要するエラーのタイプに対して、より長いタイムアウト時間に延長)することが可能になる。
【0095】
上述の実施形態は種々の変更が可能である。例えば、セッション管理部504は、スキャン処理の実行中に、ジャムエラーの発生が検知されると、タイムアウト時間を延長し、ジャムが解消される前にカバーオープンエラーの発生が検知されると、タイムアウト時間を更に延長するように構成されてもよい。これにより、エラーの発生状況に合わせて、発生したエラーをユーザが解消する作業のための時間を十分に確保することが可能になる。また、セッション管理部504は、スキャン処理の実行中に、カバーオープンエラーの発生が検知されると、カバーが閉じられるまでの間、タイムアウト時間の判定のための計時を停止するように構成されてもよい。
【0096】
[第2実施形態]
第1実施形態では、セッション管理部504は、スキャン処理の実行中に発生したエラーの検知に応じて、タイムアウト時間を延長し、エラーの発生時以外のタイムアウト時間は初期値(例:10分)に設定されている。第2実施形態では、セッションを介して端末装置から受信されるコマンド(リクエストに含まれるリソース名)に応じて、タイムアウト時間を変更する例について説明する。なお、第1実施形態における、発生したエラーの検知に応じてタイムアウト時間を延長する処理と組み合わされてもよいし、組み合わされなくてもよい。以下では、第1実施形態と共通する部分の説明については省略する。
【0097】
本実施形態のセッション管理部504は、端末装置から受信されるコマンド(図6及び図11に示す各リソース名)ごとの、個別のタイムアウト時間の設定値をRAM12又は記憶部13に保持するように構成される。例えば、リソース名「sid」に対して、タイムアウト時間の初期値(例えば、第1実施形態と同様10分)が設定され、リソース名「image」に対して、それより長い時間(例:20分)が設定される。これは、画像確認画面720を用いてユーザがスキャン画像を確認し、保存するスキャン画像を選択するのにある程度の時間を要する可能性があり、その間にセッションのタイムアウトが発生することを防止するためである。なお、画像確認画面720においてページの削除や画像の回転などの画像編集が可能に構成されている場合であっても、これらの画像編集操作を、画像確認画面720を構成するWebページ上でJavascriptなどを用いて実現している(すなわちWebサーバ500に何のリクエストも送信しない)場合に好適である。このように、例えば図6及び図11に例示している各コマンド(リソース名)「sid」、「scanstart」、「scanning」、「image」及び「save」に対して、個別のタイムアウト時間が設定されうる。また、図7(B)に示すような設定画面を端末装置に提供することで、コマンドごとのタイムアウト時間の設定を可能にしてもよい。
【0098】
セッション管理部504は、例えば、セッション管理テーブルに格納されているSIDに対応するセッションについてタイムアウトが発生したか否かを判定する際に(図10のS1006)、セッション管理テーブルにおいてSIDに関連付けられているリソース名を参照し、当該リソース名に対応するタイムアウト時間の設定を取得して使用する。ただし、セッション管理部504は、画像読取装置100においてエラーが発生している状態である場合には(S1002で「YES」)、エラーの検知に応じて延長されるタイムアウト時間を優先して使用する。即ち、セッション管理部504は、セッションを介して端末装置から受信されるコマンド(リクエストに含まれるリソース名)に応じて変更されるタイムアウト時間よりも、スキャン処理の実行中に発生したエラーの検知に応じて延長されるタイムアウト時間を優先して使用するように構成される。
【0099】
また、セッション管理部504は、スキャン処理の実行中に画像読取装置100においてエラーが発生したことが検知された後に、セッションを確立している端末装置(一例として端末200とする)以外の他の端末装置(一例として端末300とする)からコマンドが受信されない限り、当該セッションを維持するように動作してもよい。これは、端末200以外に画像読取装置100を使用しようとしている他の端末装置が存在しなければ、エラーの解消作業が完了するまでセッションを維持しても(即ち、端末200のユーザに画像読取装置100を占有させたとしても)問題が無いためである。これにより、エラーの解消作業のための十分な時間をユーザに対して確保することが可能になる。一方、セッション管理部504は、スキャン処理の実行中に画像読取装置100においてエラーが発生したことが検知された後に、他の端末装置(端末300)からコマンドが受信されると、タイムアウト時間の判定のための計時を開始するように動作してもよい。
【0100】
以上説明したように、本実施形態の画像読取装置100において、セッション管理部50は、セッションを介して端末装置から受信されるコマンド(リクエストに含まれるリソース名)に応じて、タイムアウト時間を変更する。これにより、画像読取装置100による処理内容及びユーザによる操作内容等に合わせて、適切にタイムアウト時間を設定し、タイムアウトの発生による端末装置とのセッションの切断を防止できるようになる。
【0101】
なお、上述した各実施形態においては、図12を用いて説明したセッション管理テーブルにおけるセッションのタイムアウト時間を図9に基づいて変更することでセッションのタイムアウト時間を変更することについて説明した。本発明はこれに限られず、例えばエラーが発生した際にセッションタイムアウトのためのタイムカウントを停止し、エラー解消後のスキャン指示(S1104)を受信した時点でタイムカウントを再開することによって、実質的にセッションのタイムアウト時間を延長するように構成しても良い。
【0102】
本明細書の開示は、以下の画像読取装置及びその制御方法、並びにプログラムを含む。
(項目1)
画像読取装置であって、
前記画像読取装置と通信可能な端末装置からアクセスを受け付けると、前記端末装置との間でセッションを確立する確立手段と、
前記セッションを介して前記端末装置から受信したスキャン指示に従って、原稿の画像を読み取ってスキャン画像の画像データを生成するスキャン処理を実行する処理手段と、
前記端末装置から前記セッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、前記セッションを切断するセッション管理手段と、を備え、
前記セッション管理手段は、前記スキャン処理の実行中に発生したエラーの検知に応じて、前記タイムアウト時間を延長する、
ことを特徴とする画像読取装置。
(項目2)
前記画像読取装置において発生するエラーを検知する検知手段を更に備え、
前記セッション管理手段は、前記検知手段によってエラーが検知された際に設定されている前記タイムアウト時間を、前記検知手段によって検知されるエラーのタイプごとに予め設定されている個別のタイムアウト時間に変更する、
ことを特徴とする項目1に記載の画像読取装置。
(項目3)
搬送中の原稿シートのジャムによるエラーに対して設定されたタイムアウト時間は、重送エラーに対して設定されたタイムアウト時間よりも長い、
ことを特徴とする項目2に記載の画像読取装置。
(項目4)
前記検知手段は、前記画像読取装置の内部に配置されたセンサの出力に基づいて、前記スキャン処理の実行中に発生したエラーを検知する、
ことを特徴とする項目2又は3に記載の画像読取装置。
(項目5)
前記セッション管理手段は、前記スキャン処理の実行中に、搬送中の原稿シートのジャムによるエラーの発生が検知されると、前記タイムアウト時間を延長し、前記ジャムが解消される前に前記画像読取装置のカバーが開けられたことによるエラーの発生が検知されると、前記タイムアウト時間を更に延長する、
ことを特徴とする項目1乃至4のいずれか1項目に記載の画像読取装置。
(項目6)
前記セッション管理手段は、前記スキャン処理の実行中に、前記画像読取装置のカバーが開けられたことによるエラーの発生が検知されると、前記カバーが閉じられるまでの間、前記タイムアウト時間の判定のための計時を停止する、
ことを特徴とする項目1乃至5のいずれか1項目に記載の画像読取装置。
(項目7)
前記タイムアウト時間の設定を受け付けるための操作画面を、前記画像読取装置と通信可能な端末装置に提供する提供手段を更に備え、
前記セッション管理手段は、前記操作画面を介して受け付けた設定内容に従って、エラーのタイプごとの個別のタイムアウト時間の設定を変更する、
ことを特徴とする項目2に記載の画像読取装置。
(項目8)
前記スキャン処理の実行中に重送エラーが発生したことが検知されると、前記スキャン処理を継続するか否かの選択を操作ユーザから受け付けるための操作画面を、前記端末装置に提供する提供手段を更に備え、
前記処理手段は、前記操作画面を介して受け付けた選択に従って、前記スキャン処理を継続するか、又は前記スキャン処理を終了する、
ことを特徴とする項目1乃至6のいずれか1項目に記載の画像読取装置。
(項目9)
前記操作画面は、前記スキャン処理を継続するか、前記スキャン処理によりそれまでに生成された画像データを破棄して前記スキャン処理を終了するか、前記スキャン処理によりそれまでに生成された画像データを前記端末装置に保存して前記スキャン処理を終了するかを選択可能に構成される、
ことを特徴とする項目8に記載の画像読取装置。
(項目10)
前記提供手段は、前記スキャン処理の実行中に重送エラーが発生したことが検知された場合、前記スキャン処理を継続するか否かの選択を操作ユーザから受け付けるための操作画面を、前記端末装置に提供し、前記スキャン処理の実行中に重送エラー以外のエラーが発生したことが検知された場合、前記操作画面を前記画像読取装置の表示部に表示する、
ことを特徴とする項目8又は9に記載の画像読取装置。
(項目11)
前記重送エラー以外のエラーは、搬送中の原稿シートのジャム、前記画像読取装置のカバーのオープン、及びローラの交換のうちの少なくとも1つを含む、
ことを特徴とする項目10に記載の画像読取装置。
(項目12)
前記セッション管理手段は、前記セッションを介して前記端末装置から受信されるコマンドに応じて、前記タイムアウト時間を変更する、
ことを特徴とする項目1乃至11のいずれか1項目に記載の画像読取装置。
(項目13)
前記セッション管理手段は、前記セッションを介して前記端末装置から受信されるコマンドに応じて変更される前記タイムアウト時間よりも、前記スキャン処理の実行中に発生したエラーの検知に応じて延長される前記タイムアウト時間を優先して使用する、
ことを特徴とする項目12に記載の画像読取装置。
(項目14)
前記セッション管理手段は、前記スキャン処理の実行中に前記画像読取装置においてエラーが発生したことが検知された後に、前記端末装置以外の他の端末装置からコマンドが受信されない限り、前記セッションを維持する、
ことを特徴とする項目12又は13に記載の画像読取装置。
(項目15)
前記セッション管理手段は、前記スキャン処理の実行中に前記画像読取装置においてエラーが発生したことが検知された後に、前記端末装置以外の他の端末装置からコマンドが受信されると、前記タイムアウト時間の判定のための計時を開始する、
ことを特徴とする項目12乃至14のいずれか1項目に記載の画像読取装置。
(項目16)
前記処理手段は、前記セッションを介した前記端末装置からのアクセスを、予め設定された時間間隔で前記スキャン処理の実行中に受け付けている限り、前記スキャン処理の実行を続ける、
ことを特徴とする項目1乃至15のいずれか1項目に記載の画像読取装置。
(項目17)
画像読取装置の制御方法であって、
前記画像読取装置と通信可能な端末装置からアクセスを受け付けると、前記端末装置との間でセッションを確立する確立工程と、
前記セッションを介して前記端末装置から受信したスキャン指示に従って、原稿の画像を読み取ってスキャン画像の画像データを生成するスキャン処理を実行する処理工程と、
前記端末装置から前記セッションを介したアクセスが無い状態の継続時間がタイムアウト時間に達すると、前記セッションを切断するセッション管理工程と、を含み、
前記セッション管理工程では、前記スキャン処理の実行中に発生したエラーの検知に応じて、前記タイムアウト時間を延長する、
を含むことを特徴とする画像読取装置の制御方法。
(項目18)
画像読取装置のコンピュータに、項目17に記載の画像読取装置の制御方法を実行させるためのプログラム。
【0103】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【符号の説明】
【0104】
100:画像読取装置、104:画像読取ユニット、10:制御部、11:CPU、13:記憶部、130:操作部、210:Webブラウザ、500:Webサーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13