(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-28
(45)【発行日】2024-12-06
(54)【発明の名称】画像読取装置
(51)【国際特許分類】
H04N 1/00 20060101AFI20241129BHJP
H04L 65/1066 20220101ALI20241129BHJP
【FI】
H04N1/00 127B
H04N1/00 L
H04L65/1066
(21)【出願番号】P 2023082474
(22)【出願日】2023-05-18
(62)【分割の表示】P 2019074922の分割
【原出願日】2019-04-10
【審査請求日】2023-05-18
(73)【特許権者】
【識別番号】000104652
【氏名又は名称】キヤノン電子株式会社
(74)【代理人】
【識別番号】110002767
【氏名又は名称】弁理士法人ひのき国際特許事務所
(72)【発明者】
【氏名】伊藤 洋平
(72)【発明者】
【氏名】根岸 知樹
(72)【発明者】
【氏名】増澤 英樹
【審査官】橘 高志
(56)【参考文献】
【文献】特開2015-019125(JP,A)
【文献】特開2019-028719(JP,A)
【文献】特開2003-051824(JP,A)
【文献】特開2016-015606(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
H04L 65/1066
(57)【特許請求の範囲】
【請求項1】
原稿から画像を読み取る画像読取装置であって、
前記画像読取装置の画像読取処理を伴わない操作を行うための第1のセッション情報を管理する第1のセッション管理手段と、
前記第1のセッション情報に基づいてネットワークを介した前記画像読取装置の操作を可能にし、前記画像読取装置を動作させるためのドライバーをインストールすることなく、ネットワークを介して通信可能な情報処理装置からの要求に応じて
画像読取処理を行うとともに、該
画像読取処理を行っている場合には、他の情報処理装置からの要求を受け付け
ず、前記画像読取装置の前記画像読取処理を占有する排他制御を行う制御手段と、
前記排他制御を行うための
第2のセッション情報を管理する
第2のセッション管理手段と
を備え、
前記制御手段は、前記
第2のセッション情報が作成されてから所定時間経過すると前記排他制御が解除されるように構成され、前記画像の読み取りにおいてエラーが発生した場合には、前記
第2のセッション情報が作成されてから前記所定時間が経過しても前記排他制御が維持されるように制御することを特徴とする画像読取装置。
【請求項2】
前記
第2のセッション管理手段は、前記
第2のセッション情報が作成されてから所定時間経過すると前記
第2のセッション情報をタイムアウトさせ、
前記制御手段は、前記
第2のセッション情報がタイムアウトしたことで前記排他制御を解除することを特徴とする請求項1に記載の画像読取装置。
【請求項3】
前記
第2のセッション管理手段は、前記画像の読み取りにおいてエラーが発生した場合に、前記
第2のセッション情報のタイムアウトまでのタイムカウントをリスタートすることを特徴とする請求項2に記載の画像読取装置。
【請求項4】
前記画像の読み取りにおいてエラーが発生した場合に、前記
第2のセッション管理手段が第1セッション情報を一旦破棄したうえで
第2のセッション情報を作成することでセッションを維持したことに基づいて、前記排他制御を維持することを特徴とする請求項2に記載の画像読取装置。
【請求項5】
前記画像読取装置に設けられ、前記排他制御の解除指示をするキャンセル手段を有し、
前記
第2のセッション管理手段は、前記解除指示がなされたことに基づいて前記
第2のセッション情報を破棄することを特徴とする請求項1に記載の画像読取装置。
【請求項6】
前記制御手段は、前記エラーの種類に応じて、前記排他制御を維持する所定時間を変更することを特徴とする請求項1または2に記載の画像読取装置。
【請求項7】
原稿から画像を読み取る画像読取装置であって、
前記画像読取装置を動作させるためのドライバーをインストールすることなく、ネットワークを介して通信可能な情報処理装置からの要求に応じて処理を行うとともに、該処理を行っている場合には、他の情報処理装置からの要求を受け付けない排他制御を行う制御手段と、
前記情報処理装置で動作するウェブブラウザとの間で前記排他制御を行うためのセッション情報を管理するセッション管理手段と
を備え、
前記制御手段は、前記セッション情報が作成されてから所定時間経過すると前記排他制御が解除されるように構成され、前記画像の読み取りにおいてエラーが発生した場合には、前記エラーが前記処理の再開が予測されるエラーか否かを判定し、前記判定の結果に応じて、前記セッション情報が作成されてから前記所定時間が経過しても前記排他制御を維持するか取りやめるかを切替えることを特徴とする画像読取装置。
【請求項8】
前記制御手段は、前記処理の再開が予測されるエラーの種類に応じて、前記排他制御を維持する所定時間を変更することを特徴とする請求項7に記載の画像読取装置。
【請求項9】
前記処理の再開が予測されるエラーは、ジャム検知またはステープル検知によるエラーであることを特徴とする請求項7または8に記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、原稿に印刷されている内容を読み取り処理を行う画像読取装置に関する。
【背景技術】
【0002】
原稿に印刷されている内容を読み取って画像データに変換するためには、画像読取装置とそれを制御するパーソナルコンピュータ(PC)とがUSB等で接続されてなされる場合が一般的である。その場合、PCにはソフトウェアと画像読取装置を制御するドライバーをインストールすることが一般的な使用方法である。しかし、一般的なオペレーティングシステムを搭載したPCでは、ソフトウェアをインストールするためにはPCの管理権限が必要となる。また、ユーザーがPCの管理権限を有する場合でも、複数の画像読取装置を使用するような場合には、その台数だけドライバーをインストールする必要があり、煩雑であった。
【0003】
また、近年、ネットワークの発展に伴いネットワーク上に直接接続できる画像読取装置が増えている。このような画像読取装置には、PCなどのウェブブラウザからアクセス可能になっているものもある。
特許文献1には、画像読取装置とPCとがネットワークで接続する形態において、PC上で動作するウェブブラウザを使用して、画像読取装置を使用する技術が開示されている。
【0004】
ネットワークに接続される画像読取装置では、1台を複数のユーザーで使用する場面が多い。このような画像読取装置では、複数のユーザーが同時に使用するのを制限するため、現在使用中の1台のPCのみに使用権限を与え、そのPC以外からのリクエストを排他制御することが一般的に行われる。なお、スキャンが終了したら、使用権限は次にスキャン要求をしてきたPCに与えられ、該PCからのリクエストを受け取るように制御される。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1のようにウェブブラウザを経由して画像を読み込む場合、画像読取装置本体側で全ての画像処理を施す必要があるため、画像読取装置の要求ハードウエア構成が高価なものとなってしまったり、処理に時間がかかってしまう。
また、画像読取装置の使用のたびに、ウェブブラウザにおいて画像読取装置のIPアドレスを入力する必要がある。さらに、画像読取装置の使用権限を得るために、その画像読取装置のIPアドレスの再入力が何度も必要になる場合がある。また、画像読取装置の使用権限を得る際、画像読取装置が使用者に追加操作を要求する場合もあり、煩雑であるといった課題もあった。
【0007】
本発明は、上記の課題を解決するためになされたものである。本発明は、画像読取装置の要求ハードウエア構成を低価格に抑えた上で、情報処理装置に特別な管理権限が付与されていないユーザーであっても情報処理装置から画像読取装置を制御し、IPアドレスの再入力や使用権限取得の追加操作などの煩雑な操作なく、原稿の読み取りを可能にする仕組みを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、原稿から画像を読み取る画像読取装置であって、前記画像読取装置の画像読取処理を伴わない操作を行うための第1のセッション情報を管理する第1のセッション管理手段と、前記第1のセッション情報に基づいてネットワークを介した前記画像読取装置の操作を可能にし、前記画像読取装置を動作させるためのドライバーをインストールすることなく、ネットワークを介して通信可能な情報処理装置からの要求に応じて画像読取処理を行うとともに、該画像読取処理を行っている場合には、他の情報処理装置からの要求を受け付けず、前記画像読取装置の前記画像読取処理を占有する排他制御を行う制御手段と、前記排他制御を行うための第2のセッション情報を管理する第2のセッション管理手段とを備え、前記制御手段は、前記第2のセッション情報が作成されてから所定時間経過すると前記排他制御が解除されるように構成され、前記画像の読み取りにおいてエラーが発生した場合には、前記第2のセッション情報が作成されてから前記所定時間が経過しても前記排他制御が維持されるように制御することを特徴とする。
【発明の効果】
【0009】
本発明によれば、情報処理装置のウェブブラウザから画像読取装置を制御する際に、スキャン中にジャムなどのエラーが発生してスキャンが終了したとしても、タイムアウトを防止し、ユーザーにスキャン作業を完結させることができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態を示す画像読取装置の概略的な構成の一例を示す図。
【
図2】画像読取ユニットの概略的な構成の一例を示す図。
【
図4】原稿検知センサの概略的な構成の一例を示す図。
【
図5】原稿検知の制御処理の一例を示すフローチャート。
【
図6】使用者が画像読取装置からPCにスキャンアプリをダウンロード可能にするまでの処理を説明するシーケンス図。
【
図7】使用者がPC上で動作するウェブブラウザを操作して画像読取装置に画面要求を行って得られる画面の一例を示す図。
【
図8】使用者がPC上で動作するウェブブラウザを操作して画像読取装置に画面要求を行って得られる画面の一例を示す図。
【
図9】ダウンロードファイルの構成の一例を示す図。
【
図10】デバイスコンフィグレーションの記述の一例を示す図。
【
図11】PCにおけるスキャンアプリケーションの起動について説明するフローチャート。
【
図12】スキャンアプリケーション画面の一例を示す図。
【
図13】スキャンアプリケーションの動作を説明するシーケンス図。
【
図14】スキャンセッションID取得処理を説明するシーケンス図。
【
図15】画像読取装置におけるエラー検知を説明する図。
【
図16】画像読取装置におけるスキャンセッションIDを管理するタスクの処理の一例を示すフローチャート。
【
図18】本発明の第3実施形態を示すシステムの構成の一例を示す図。
【
図19】携帯端末を使ったスキャンの流れを説明する図。
【
図20】スキャナーのUI部に表示されるメニュー画面の一例を示す図。
【
図21】スキャナーのUI部に表示されるURL表示画面の一例を示す図。
【
図22】第3実施形態において携帯端末のUI部に表示されるスキャン設定画面の一例を示す図。
【
図23】携帯端末のUI部に表示されるスキャン中画面の一例を示す図。
【
図24】携帯端末のUI部に表示されるスキャン中画面の一例を示す図。
【
図25】携帯端末のUI部に表示される他ユーザー使用中画面の一例を示す図。
【
図26】第3実施形態におけるウェブアプリモードの終了処理の一例を示すフローチャート。
【
図27】第3実施形態のスキャナーのUI部に表示される終了確認画面の一例を示す図。
【
図28】第4実施形態において携帯端末のUI部に表示されるスキャン設定画面の一例を示す図。
【
図29】第4実施形態のスキャナーのUI部に表示されるパスコード入力画面の一例を示す図。
【
図30】第4実施形態のスキャナーのUI部に表示されるパスコード入力画面の一例を示す図。
【
図31】第4実施形態におけるウェブアプリモードの終了処理の一例を示すフローチャート。
【発明を実施するための形態】
【0011】
〔第1実施形態〕
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各実施形態は例示であり、本発明を各実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については説明を省略する。
【0012】
図1は、本発明の一実施形態を示す画像読取装置100の概略的な構成の一例を示す図である。
原稿台102は、読取対象の原稿101を積載収納する。
原稿台102上の原稿は、原稿台原稿検知センサ110によって検出され、給紙ローラ106により一枚ずつ分離されて搬送路108に送り出される。給紙ローラ106により給紙された原稿は、搬送ローラ107によって搬送路108に沿って搬送され、排出部103に排出される。なお、給紙ローラ106は、ピックアップローラと、その下流側に設けられた給送ローラおよび分離ローラが対向して配置された分離給送部とで構成されていても良い。
排出部103は、画像読取処理を終えた原稿101を積載収納する。
排出部原稿検知センサ111は、排出部103に積載収納されている排紙原稿の有無を検出する。
【0013】
レジストセンサ109は、搬送路108を搬送される原稿101を検出する。レジストセンサ109が原稿101を検出すると、画像読取ユニット104は、原稿上に形成された画像の読み取りを開始する。本実施形態において、画像読取ユニット104は、搬送路108の両側に2つ設けられており、一方が原稿101の表面を、他方が原稿101の裏面を読み取る。なお、画像読取ユニット104を1つのみとする構成であってもよい。各画像読取ユニット104の対向位置には、背景板105がそれぞれ設けられている。背景板105は、例えば、黒色の部材である。
排紙口センサ112は、原稿101が搬送路108に残っているか、排出部103に排出されたかを検出する。
【0014】
図2は、画像読取ユニット104の概略的な構成の一例を示す図である。
画像読取ユニット104は、筐体1041と、搬送路108に面して設けられたガラス板1042とによって、内部が密封されている。
【0015】
画像読取ユニット104の内部には、ラインイメージセンサ1043と、一対の発光部1044a及び1044bと、が設けられている。
ラインイメージセンサ1043は、原稿101の搬送方向と直交する方向(主走査方向)に延設され、主走査方向の1ライン分の画像を1度に読み取る。ラインイメージセンサ1043は、例えば、CCDラインセンサやコンタクトイメージセンサである。
【0016】
発光部1044aは、ラインイメージセンサ1043に対して原稿101の搬送方向の上流側に配置され、可視光を発光する光源を有する。発光部1044bは、ラインイメージセンサ1043に対して搬送方向の下流側に配置される光源を有する。
【0017】
ラインイメージセンサ1043は、一対の発光部1044a及び1044bの間に、挟みこまれるようにして配置されている。一対の発光部1044a及び1044bは、それぞれ、ラインイメージセンサ1043と略平行に延設されており、例えば、複数のLEDからなるLEDアレイにより構成される。
ラインイメージセンサ1043は、
図2において破線矢印で示すように、発光部1044aや1044bが照射し、原稿101で反射した反射光を受光・検出して原稿101上の画像を読み取る。
【0018】
図3は、画像読取装置100の制御構成の一例を示す図である。
画像読取装置100の制御部10は、CPU11、ROM12、RAM13、入出力I/F14、通信I/F15を備える。
【0019】
CPU11は、ROM12に記憶されたプログラムを実行し、画像読取装置100全体の制御を行う。ROM12には、CPU11が実行するプログラムや固定的なデータが記憶される。RAM13には、ラインイメージセンサ1043が読み取った画像データや、CPU11の演算結果といった可変データが記憶される。ROM12及びRAM13は他の記憶デバイスであってもよい。
【0020】
入出力I/F14には、発光部1044a及び1044bを駆動する駆動回路24や、ラインイメージセンサ1043が読み取った画像に対してシェーディング補正等の画像処理を行う画像処理回路26が接続される。ADC25は、ラインイメージセンサ1043が出力するアナログ画像信号をデジタル画像データに変換するアナログ・デジタル変換器である。
CPU11は、入出力I/F14を介して画像処理回路26から出力される画像データを取得する。
【0021】
通信I/F15は、パーソナルコンピュータ(PC)200と接続するためのインタフェースである。例えば、画像読取装置100が読み取った画像データは、通信I/F15経由でPC200に出力される。通信I/F15は、ネットワークインタフェースを含み、後述する
図17に示すように、画像読取装置100はネットワークを介してPC200と通信可能に接続されているものとする。
【0022】
また、制御部10には、発光部駆動回路123や、アナログ・デジタル変換器(ADC)124も接続されている。
発光部駆動回路123は、原稿検知発光部121を駆動する。原稿検知発光部121は、原稿台原稿検知センサ110と排出部原稿検知センサ111を構成する。
ADC124は、原稿検知受光部122が受光したアナログ信号をデジタルデータに変換する。
【0023】
次に、画像読取装置100が実行する処理について説明する。
画像読取装置100は、例えば、PC200を介して、ユーザーが読み取り開始を指示した場合に原稿101の読み取りを開始する。CPU11は、まず給紙ローラ106を駆動して原稿101の搬送を開始する。レジストセンサ109によって原稿101が画像読取ユニット104の読取位置に到達したことが検出されると、CPU11は、発光部1044a及び発光部1044bの発光を制御し、ラインイメージセンサ1043を駆動して原稿101の画像を読み取る。
【0024】
図4は、原稿台原稿検知センサ110,排出部原稿検知センサ111等の原稿検知センサの概略的な構成の一例を示す図である。
原稿台原稿検知センサ110,排出部原稿検知センサ111等の原稿検知センサにおいて、原稿検知発光部121は、例えばLED等の発光部である。原稿検知発光部121は、CPU11の制御に基づいて点灯や消灯を行う。
原稿検知受光部122は、集光レンズを含む受光体である。原稿検知受光部122は、受光した光を光電変換し、ADC124を介してCPU11に出力する。以下、
図5のフローチャートを用いて原稿検知処理について詳細に説明する。
【0025】
図5は、CPU11が実行する原稿検知の制御処理の一例を示すフローチャートである。このフローチャートの処理は、CPU11がROM12に格納されたプログラムを読み出して実行することにより実現される。
【0026】
まず、CPU11は、原稿検知発光部(LED)121を発光させる(S501)。また、CPU11は、受光A/D変換器を動作させ(S502)、所定のA/D変換時間待って(S503)、原稿検知受光部122で受光量を取得する(S504)。ここで得た値をV1とする。
【0027】
次に、CPU11は、原稿検知発光部(LED)121を消灯する(S505)。また、CPU11は、受光A/D変換器を動作させ(S506)、所定のA/D変換時間を待って(S507)、原稿検知受光部122で受光量を取得する(S508)。ここで得た値をV2とする。
【0028】
次に、CPU11は、式「|V2-V1|>S」に基づいて原稿の有無を判断する(S509)。CPU11は、|V2-V1|>Sの場合(S509でYesの場合)には、
図4(a)のような状態と判断し、「原稿あり(紙あり)」と判断する。一方、CPU11は、|V2-V1|≦Sの場合(S509でNoの場合)には、
図4(b)のような状態と判断し、「原稿なし(紙なし)」と判断する。
【0029】
図17は、画像読取装置100の接続形態の一例として、ネットワーク環境Local Area Network(LAN)に接続している様子を表す概念図である。
図17のように、LAN300に接続している場合、画像読取装置100は、複数のホストコンピュータ(PC200a~PC200n)から利用可能となる。なお、PC200a~PC200nを特に区別しない場合、PC200と記載する。
【0030】
以下、
図6~
図8を用いて、使用者が画像読取装置100からPC200にスキャンアプリケーションをダウンロードするまでの処理について説明する。
図6は、使用者が画像読取装置100からPC200にスキャンアプリケーションをダウンロード可能にするまでの処理を説明するシーケンス図である。このシーケンス図において、PC200の処理は、PC200のCPUがHDD等に記憶されたウェブブラウザ(Webブラウザ)プログラムを実行することにより実現される。また、画像読取装置100の処理は、CPU11がROM12に格納されたプログラムを実行することにより実現される。
【0031】
図7、
図8は、使用者がPC200上で動作するウェブブラウザを操作して、画像読取装置100に画面要求を行って得られる画面の一例を示す図である。本実施形態では、PC200から画像読取装置100に対して画面要求やスキャンコマンド、画像データの要求すべて、ネットワークポート80を使用したhttpプロトコルで実施しているがこれに限定されるものではない。
【0032】
また、本実施形態の画像読取装置100は、固定IPアドレスを使用してネットワークに接続されている。このIPアドレスは、予めROM12に保管されている機器固有のデータであり、例えば画像読取装置100の図示しない外観に貼付して使用者に通知している。使用者は、このIPアドレスを使用して画像読取装置100に接続することができる。なお、画像読取装置100のIPアドレスは変更可能であり、DHCPなどの方法で自動的に取得されていても構わない。
【0033】
図6に示すように、まず、使用者がPC200を操作して、PC200のウェブブラウザから画像読取装置100にhttp接続を行う(S601)。この例においては、画像読取装置100のIPアドレスを192.168.0.10としている。これに応じて、画像読取装置100のCPU11は、PC200のウェブブラウザに対し、ログイン画面へのリダイレクトを指示する(S602)。これに応じて、PC200のウェブブラウザは、ログイン画面にアクセスする(S603)。これに応じて、画像読取装置100は、PC200のウェブブラウザに、
図7のようなログイン画面を送信する(S604)。ここで、画像読取装置100は、httpリクエストヘッダーに含まれているPC200のIPアドレスをアクセスPCとしてRAM13に保存する。
上記S604で送信されたデータを受信したPC200のウェブブラウザは、該受信したデータに基づいて
図7のようなログイン画面を表示する。
【0034】
その後、
図7のようなログイン画面から、使用者によってログイン名とパスワードが入力され、「ログイン」ボタンが押下されると、PC200のウェブブラウザは、該入力されたログイン名とパスワードを画像読取装置100に送信する(S605)。
【0035】
このログイン名とパスワードを受信すると、画像読取装置100のCPU11は、ログイン処理を行う(S606)。このログイン処理では、画像読取装置100のCPU11は、ログイン名とパスワードの検証を行う。ログイン名,パスワードは予めROM12に保管されている機器が保持するデータであり、例えば画像読取装置100の図示しない外観に貼付して使用者に通知している。ここで、ログイン名とパスワードの検証の結果、正しくないログインリクエストであると判断した場合、画像読取装置100のCPU11は、S602に戻って処理をやり直すように制御する。一方、ログイン名,パスワード検証の結果、正しいログイン名とパスワードが送られてきたと判断した場合、画像読取装置100のCPU11は、セッションIDを生成してRAM13に保管したのち、セッションIDをCookieにもセットする。ここで、画像読取装置100は、httpリクエストヘッダーに含まれているPC200のIPアドレスをログインPCとしてRAM13に保存する。なお、S606で実行されるログイン処理において、ログイン名,パスワードは予めROM12や他のデータベースなどに登録可能に構成しても良く、S606において画像読取装置100がそれらを参照することによって正しいログインリクエストかどうかを判定しても良い。
さらに、画像読取装置100のCPU11は、”webmenu.html”へのリダイレクトを指示する(S607)。
【0036】
上記S607の指示を受信したPC200のウェブブラウザは、Cookieを保存する。そして、PC200のウェブブラウザは、該Cookieとともに”webmenu.html”にアクセスする(S608)。
【0037】
ウェブブラウザが“webmenu.html”にアクセスしてきたら、画像読取装置100のCPU11は、上記S606でRAM13に保管したセッションIDと、該アクセスに対応するCookieに含まれるセッションIDを検証する(S609)。以降の全てのWebリクエストに対して、CookieにセットされたセッションIDを用いた検証が行われる。
【0038】
該検証の結果、RAM13のセッションIDとCookieのセッションIDが異なる場合、又は、CookieにセッションIDが含まれていない場合、画像読取装置100のCPU11は、セッションIDが不適合と判断し、S602に戻ってやり直すように制御する。一方、該検証の結果、RAM13に保管したセッションIDとCookieのセッションIDが等しい場合、画像読取装置100のCPU11は、正しいセッションIDを持っていると判断し、
図8(a)のような画面をPC200のウェブブラウザに送信する(S610)。
これを受信したPC200のウェブブラウザは、
図8(a)のような画面を表示する。
【0039】
図8(a)の画面の入力フォーム801に配置されるテキストボックスには、画像読取装置100のIPアドレスが表示される。
また、
図8(a)画面には、スキャンアプリケーションをダウンロードするための「ダウンロード」ボタン802が配置されている。「ダウンロード」ボタン802が押下されると、PC200のウェブブラウザは、スキャンアプリケーションのダウンロードリクエストを画像読取装置100に送信する。このスキャンアプリケーションのダウンロードリクエストに応じて、画像読取装置100のCPU11は、後述するようなスキャンアプリケーションのダウンロードファイルを生成し、PC200に送信する。これにより、スキャンの実行をローカル側(すなわちPC200上)で行うためのスキャンアプリケーションが、PC200にダウンロードされる。また、画像読取装置100は、ダウンロードリクエストのhttpリクエストヘッダーに含まれているPC200のIPアドレスをダウンロードPCとしてRAM13に保存する。
なお、使用者は、入力フォーム801に配置されるテキストボックスと「変更」ボタンにより、スキャンアプリケーションをダウンロードする画像読取装置のIPアドレスを変更することができる。
【0040】
上記スキャンアプリケーションのダウンロードが完了すると、PC200のウェブブラウザには、
図8(b)のようにステータスバー803に、ダウンロード完了を示す表示がされ、使用者は、容易にダウンロードアプリケーションを起動することが可能となる。なお、
図8(a)に示すダウンロードボタン802は一例であり、他の機能を持ったボタン(例えばスキャン設定ボタン)に同等の機能を持たせても良い。
【0041】
次に、
図9、
図10を用いて、スキャンアプリケーションのダウンロードファイルについて説明する。
図9は、画像読取装置100で生成されたスキャンアプリケーションのダウンロードファイルの構成の一例を示す図である。
【0042】
図9に示すように、ダウンロードファイルの先頭000000h番地には、起動アプリケーションLauncher901が配置されている。ダウンロードファイルの生成の際、画像読取装置100のCPU11は、不揮発性メモリであるROM12に保管されているLauncher901を読みだして、ダウンロードファイルに追加している。
【0043】
Launcher901の後の001000h番地から続く箇所には、圧縮ファイル902が配置されている。圧縮ファイル902には、スキャン動作に必要な実行ファイルScanApplication.exe,ガンマ補正等を行う画像処理エンジン,デバイスのコンフィグレーション等が保管されている。ScanApplication.exeは、ネットワークを介して通信可能なPC200で動作し画像読取装置100を用いて原稿の読み取りを行うためのアプリケーションプログラムである。また、画像処理エンジンは、各種DLL等で構成されている。本実施形態では、圧縮ファイル902の生成には、Zip形式が用いられているがこれに限定されるものではない。ダウンロードファイルの生成の際、画像読取装置100のCPU11は、ROM12に保管されているScanApplication.exe,画像処理エンジン等を読みだして圧縮ファイル902に追加している。
【0044】
デバイスコンフィグレーション.xmlは、
図10のように、XML形式で表記されるデータである。
図10は、ダウンロードファイルに含まれるデバイスコンフィグレーション.xmlの一例を示す図である。
図10に示すように、デバイスコンフィグレーション.xmlは、さまざまなデバイスの設定値を保存している。例えば、セッションID、後述するスキャンに関する占有権を示すスキャンセッションIDの他に、デバイスの名称、MACアドレス、本体のIPアドレス、画像読取の能力値などの設定値を保存している。なお、デバイスの名称、MACアドレス、本体のIPアドレス等は、画像読取装置を特定する情報(特定情報)として機能する。ダウンロードファイルの生成の際、画像読取装置100のCPU11は、ROM12に保管されている上述のような設定値を読み出してXMLファイルを作成し、圧縮ファイル902に追加する。
【0045】
図9に示すように、最後に、画像読取装置100のCPU11は、ダウンロードファイルに対して、ROM12に保管されているデジタル署名秘密鍵を使用して署名を行うことで署名903を付加し、ダウンロードファイルの生成を完了する。
【0046】
ここで、上述したセッションIDとスキャンセッションIDについて説明する。
セッションIDは、ウェブブラウザを用いて画像読取装置100の設定値確認等を行う「スキャンを伴わない」操作のための識別IDである。この「スキャンを伴わない」操作については、複数の使用者が同時にアクセスすることを許可されており、セッションIDが同時に複数の使用者に割り当てられることがある。
【0047】
一方、スキャンセッションIDは、画像読取装置100の読み取り部を占有するための識別ID(識別情報)であり、同時に複数の使用者に割り当てられることはない。スキャンセッションIDを持っている使用者が、すなわちスキャン操作を許可された使用者となる。すなわち、スキャンセッションIDは、PC200で動作するスキャンアプリケーションとのセッションの管理に使用される。
【0048】
画像読取装置100のCPU11は、スキャンセッションIDを生成したらRAM13に保存しておき、スキャンが完了したときに、該RAM13のスキャンセッションIDを破棄(消去)する。なお、既にスキャンセッションIDがRAM13に保存されている場合には、画像読取装置100のCPU11は、新たなスキャンセッションIDを生成せず、無効なIDを埋め込んだダウンロードファイルをPC200に送信する。本実施形態では、セッションIDやスキャンセッションIDは、時刻とMACアドレスを元にMD5変換を行った文字列であり、無効なIDとは“d41d8cd98f00b204e9800998ecf8427e”とするが、これに限定されるものではなく、特定の文字列や空白も含まれる。
【0049】
また、画像読取装置100のCPU11は、スキャンセッションIDを発行してから所定の時間が経過するまでにスキャンが開始されない場合には、該スキャンセッションIDをRAM13から破棄する。
【0050】
なお、画像読取装置100のCPU11は、ダウンロードファイルを生成する際に、既にRAM13に後述するスキャンセッションIDが保存されている場合には、「ユーザーAが使用中です」のようなメッセージを表示するためのポップアップを、ダウンロード要求元のPC200のウェブブラウザに表示させるようにしてもよい。また、このメッセージを
図8(b)の画面に表示するようにしてもよい。なお、その場合、ダウンロードボタン802を押下されたときに、スキャンセッションIDが発行さ
れない旨を通知してもよい。
【0051】
以下、
図11を用いて、PC200におけるスキャンアプリケーションの起動について説明する。
図11は、PC200におけるスキャンアプリケーションの起動について説明するフローチャートである。一般的なウェブブラウザでは、ダウンロードが完了すると、
図8(b)のステータスバー803のように、ダウンロードしたファイルの起動や保管を促すメッセージを表示する。PC200のウェブブラウザでも同様とする。ユーザーがステータスバー803等からダウンロードファイルを起動すると、PC200のウェブブラウザは、
図9に示したLauncher901を起動する。
図11のフローチャートの処理は、PC200のCPUがLauncher901を実行することにより実現される。以下、Launcher901に基づきPC200のウェブブラウザが行う処理については、Launcher901を主体にして説明する。
【0052】
まず、Launcher901は、署名の確認を行うことで、ファイルに改ざんがないこととダウンロードが不完全でないことを判断する(S1101)。署名確認がNGの場合(S1101でNoの場合)、Launcher901は、ファイルに改ざんがある又はダウンロードが不完全であると判断し、そのまま処理を終了する。
【0053】
一方、署名確認がOKの場合(S1101でYesの場合)、Launcher901は、ファイルに改ざんがない且つダウンロードが不完全でないと判断し、S1102に処理を進める。
S1102において、Launcher901は、自身のファイルのオフセット001000hからデータを取り出して、Zip解凍処理を行って、書き込み可能なフォルダ(例えば、Linux(登録商標)システムでは“/tmp”など)に保管する。
次に、Launcher901は、上記S1102で保管したデータから、スキャンアプリケーションであるScanApplication.exeを起動して(S1103)、処理を終了する。
【0054】
スキャンアプリケーションが起動されると、
図12のように、読取モードに応じたスキャンボタンが表示される。
図12は、スキャンアプリケーション画面の一例を示す図である。
なお、スキャンアプリケーションは、スキャンアプリケーションと同じディレクトリ(フォルダ)に展開されたデバイスコンフィグレーション.xmlに有効なスキャンセッションIDが含まれていない場合には、スキャンアプリケーション画面(
図12)に「他のユーザーが使用中です」のようなメッセージを表示するようにしてもよい。
【0055】
図13は、スキャンアプリケーションの動作を説明するシーケンス図である。本実施形態では、例えばモノクロドキュメントボタン1201を押したスキャン動作について説明する。このシーケンス図において、PC200の処理は、PC200のCPUがダウンロードしたスキャンアプリケーションを実行することにより実現される。なお、スキャンアプリケーションに基づきPC200のウェブブラウザが行う処理については、スキャンアプリケーションを主体にして説明する。また、画像読取装置100の処理は、CPU11がROM12に格納されたプログラムを実行することにより実現される。
【0056】
図12のようなスキャンアプリケーション画面においてスキャンを実行するためのボタン(例えばモノクロドキュメントボタン1201)が押下されると、PC200のスキャンアプリケーションは、画像読取装置100にスキャンコマンド指令(原稿読み取り要求)をリクエストする(S1301)。この時、スキャンアプリケーションは、スキャンアプリケーションと同じディレクトリ(フォルダ)に展開されたデバイスコンフィグレーション.xmlを参照して、IPアドレスを読み込み、URIに組み込む。また、スキャンアプリケーションは、同じディレクトリに展開されたコンフィグレーション.xmlからセッションIDとスキャンセッションIDを読み込み、リクエストヘッダーのCookieにこれらをセットして上述のリクエストを発行する。
【0057】
上記S1301のリクエストに応じて、画像読取装置100のCPU11は、Cookieに含まれるスキャンセッションIDを検証する。ここで、スキャンセッションIDの検証が不適合の場合(RAM13に保存してあるスキャンセッションIDと異なる場合)、画像読取装置100のCPU11は、レスポンスとしてスキャンセッションID不適合を表す"status":"InvalidID"をPC200のスキャンアプリケーションに返却する(不図示)。
画像読取装置100からS1302で"status":"OK"が返却されない場合、PC200のスキャンアプリケーションは、S1301を所定の回数試みた後、エラーメッセージを使用者に通知して終了する。この場合、PC200のスキャンアプリケーションは、後述する
図14に示すスキャンセッションID要求リクエストにより、スキャンセッションIDの取得を試みることになる。
【0058】
一方、スキャンセッションIDの検証が適合の場合、画像読取装置100のCPU11は、レスポンスとして“status”:“OK”をPC200のスキャンアプリケーションに返却する(S1302)。本実施形態では、スキャンアプリケーションが発行するリクエストに対して、画像読取装置100のレスポンスデータはJSON形式で返信される。
【0059】
また、画像読取装置100のCPU11は、上記S1302で"status":"OK"を送信した場合、そのままスキャン動作を開始して、RAM13に画像データを蓄積する(S1305)。
スキャンアプリケーションは、上記S1302の"status":"OK"を受信した後、画像データを読み取るために、画像読取装置100に対して、リクエスト(“readimage”)を送信する(S1303)。
上記S1303のリクエスト(“readimage”)を受信した画像読取装置100のCPU11は、返却できる画像データがない場合には、"status":"Busy"を返却する(S1304)。スキャンアプリケーションは、画像読取装置100から"status":"OK"が返却されるまで、上記S1303のリクエスト(“readimage”)を繰り返す。
【0060】
そして、画像読取装置100から"status":"OK"が返却されると(S1307)、スキャンアプリケーションは、該返却されたレスポンスに含まれるdata要素を文字列(Base64)からバイナリに変換して画像データを形成する(S1308)。
【0061】
次に、スキャンアプリケーションは、上記S1308で形成した画像データに対してガ
ンマ補正,エッジ強調などの画像処理を施し、2階調化の画像変換を経て、例えばTIF
Fファイル形式といった画像ファイル形式に変換する(S1309)。
さらに、スキャンアプリケーションは、この画像ファイルをPC200の記憶部(ハードディスク等)に保存して、1画像の処理を完了する(S1310)。
【0062】
さらに、スキャンアプリケーションと画像読取装置100のCPU11が協働して、上述のS1306~S1310の処理(A)を繰り返すことで、全ての原稿の表裏画像をスキャンアプリケーションが実行されているPCのハードディスク等に保存して(S1311)、処理を終了する。
また、画像読取装置100は、全ての画像を読み出されたら、RAM13に保管しているスキャンセッションIDを破棄して、処理終了する。
【0063】
次に、スキャンセッションID要求リクエストについて説明する。
図14は、スキャンセッションID取得処理を説明するシーケンス図である。このシーケンス図において、PC200の処理は、PC200のCPUがダウンロードしたスキャンアプリケーションを実行することにより実現される。なお、スキャンアプリケーションに基づきPC200のウェブブラウザが行う処理については、スキャンアプリケーションを主体にして説明する。また、画像読取装置100の処理は、CPU11がROM12に格納されたプログラムを実行することにより実現される。
【0064】
画像読取装置100のCPU11は、スキャンセッションIDを生成したらRAM13に保存しておき、スキャンが完了したときに該スキャンセッションIDを破棄する。また、既にスキャンセッションIDがRAM13に保存されている場合には、画像読取装置100のCPU11は、新たなスキャンセッションIDを生成せず、無効なスキャンセッションIDを埋め込んだダウンロードファイルをPC200に送信する。このため、PC200のスキャンアプリケーションは、再度スキャンを行いたい場合や、無効なスキャンセッションIDを取得した場合等には、画像読取装置100にスキャンセッションIDを要求する必要が生じる。
【0065】
PC200のスキャンアプリケーションは、画像読取装置100から、以下の場合、スキャンセッションID要求リクエスト(スキャンセッションIDの発行要求)を画像読取装置100に送信する(S1401)。例えば、デバイスコンフィグレーション.xmlにスキャンセッションIDが含まれていない場合や無効なスキャンセッションIDが含まれている場合、画像読取装置100からセッションID不適合を表す"status":"InvalidID"を受け取った場合等がこれに該当する。
【0066】
上記S1401のリクエストに応じて、画像読取装置100のCPU11は、RAM13にスキャンセッションIDが保存されていない場合、新たなスキャンセッションIDを生成してRAM13に保存し、該生成したスキャンセッションIDをPC200に送信する(S1402)。これにより、PC200のスキャンアプリケーションは、画像読取装置100から送信されたスキャンセッションIDを受信して、スキャンを行うことが可能となる。
【0067】
なお、画像読取装置100のCPU11は、既にRAM13にスキャンセッションIDが保存されている場合、新たなスキャンセッションIDを生成せず、例えば無効なIDをPC200に送信する。この場合、PC200のスキャンアプリケーションは、再度スキャンセッションIDの要求を行う必要がある。
【0068】
本実施形態では、画像読取装置100のIPアドレスはデバイスコンフィグレーション.xmlファイルを参照する構成としたが、これに限定されるものではない。例えば、IPアドレスの入手方法の一例として、マルチキャストDNS(mDNS)の応答を使用してもよい。スキャンアプリケーションのプログラムによって、mDNSリクエストをPC200から発行した際に、画像読取装置100の応答データのTXTレコードの中にMACアドレス又はスキャナー名を入れておく。そして、スキャンアプリケーションは応答データのTXTレコードとデバイスコンフィグレーション.xmlを比較することで、ダウンロード元の画像読取装置100か、異なる画像読取装置または異なるネットワークデバイスなのか判断することができる。
【0069】
また本実施形態では、ダウンロードするアプリケーションは特定のOSでのみ動作する構成として示した。しかし、
図9のダウンロードファイル作成時に、HTTPリクエストヘッダーに含まれるユーザーエージェント(HTTP_USER_AGENT)情報からクライアントOSを検出して、LauncherやスキャンアプリケーションをOSに基づいて選択してダウンロードファイルを構成してもよい。
【0070】
また、本実施形態では、無効なセッションIDや無効なスキャンセッションIDを、“d41d8cd98f00b204e9800998ecf8427e”としたが、これに限定されるものではない。例えば、デバイスコンフィグレーション.xmlにおいて、scan-session-id要素を記述しなくてもよいし、空の文字列や、通常MD5で使用されない文字(例えば2バイト文字等)を使用しても構わない。
【0071】
以上のように、第1実施形態によれば、画像読取装置の構成を低価格に抑えた上で、管理権限を有さない情報処理装置の使用者でも使用可能で、ドライバーインストールの煩わしさも無くすことができる。また、複数使用者のいるネットワークに画像読取装置が接続されている場合において、IPアドレスの再入力や使用権限取得の操作などを使用者に要求する等の煩雑な操作を削減し、使用者の操作の手間を抑えることができる。このように使い勝手のよい画像読取装置を提供することができる。
【0072】
〔第2実施形態〕
上述した第1実施形態の画像読取装置は、スキャン終了時にスキャンセッションIDを破棄し、他のPCにスキャンセッションIDを発行可能な状態となる。このため、例えばスキャン中にジャムなどのエラーが発生してスキャンが終了した場合でもスキャンセッションIDが破棄される。エラー終了の場合、ジャムを解消したユーザーがすぐに再スキャンできない場合がある。例えば、ジャム解消作業中に他のPCのスキャンアプリケーションからスキャンが要求されると、そのスキャンアプリケーションに対して有効なスキャンセッションIDが付与されてしまう。また、ユーザーがエラーを解消している間にタイムアウトしてしまい、画像読取装置の使用権限が他のPCに移行してしまう可能性もある。このような場合、ジャムを解消したユーザーは、上記他のPCのユーザーがスキャンを終了するまで待機する必要があり、そのスキャン作業をすみやかに完了することができなくなる。そこで、第2実施形態では、ジャム等のエラーによりスキャン終了した場合には、そのスキャンセッションを継続、タイムアウトの防止等をするように構成する。以下、詳細に説明する。
【0073】
まず、
図15を用いて、原稿101の紙詰まり(ジャム)の検知について説明する。
図15は、画像読取装置におけるエラー検知を説明する図である。ここでは、原稿の紙詰まり(ジャム)の検知を例に説明する。
【0074】
画像読取装置100のCPU11は、各種センサの情報に基づいて原稿101のスキャン動作を制御する。例えば、レジストセンサ109によって原稿101が画像読取ユニット104の読取位置を通過したことが検知されると、CPU11は、画像読取ユニット104による原稿101の読み取りを終了するよう制御する。また、CPU11は、搬送路108を搬送する原稿101のジャムエラーをレジストセンサ109と排紙口センサ112の情報を基づいて、例えば以下のように検知する。
【0075】
まず、
図15(a)に、原稿を正常に搬送した場合の各センサの状態を示す。
レジストセンサ109は、搬送開始してからT1時間経過後に原稿101の到達を検知(点A)して、レジストセンサ109から画像読取ユニット104までの距離を原稿が搬送されるのに掛かる時間の経過後に読み取りを開始する。その後、原稿がレジストセンサ109を通過したことを検知(点B)するが、その時間をT3とする。
排紙口センサ112は、レジストセンサ109が原稿101の到達を検知してから、さらにT2時間経過後に原稿101の到達を検知(点C)して、さらにT3時間経過後に原稿101の通過を検知(点D)する。
【0076】
これに対し、例えば原稿101のジャムが発生した場合の各センサ状態は以下のようになる。
図15(b)のように、原稿101を搬送開始してT4時間経過してもレジストセンサ109が原稿101の到達を検知しない。ただし、T4>>T1とする。
または、
図15(c)のように、レジストセンサ109が原稿101の到達を検知(点A)してT6時間経過してもレジストセンサ109が原稿101の通過を検知しない。ただし、T6>>T3とする。
または、
図15(d)のように、レジストセンサ109が原稿101の到達を検知(点A)してT5時間経過しても、排紙口センサ112が原稿101の到達を検知しない。ただしT5>>T2とする。
または、
図15(e)のように、排紙口センサ112が原稿101の到達を検知(点C)してT6時間経過しても原稿101の通過を検知しない。ただし、T6>>T3とする。
【0077】
CPU11は、上記
図15(b)~
図15(e)のような状態が発生した場合、原稿のジャムエラーが発生したと判断して、原稿の搬送および画像の読み取り動作を停止する。本実施形態では、レジストセンサ109と排紙口センサ112の情報を基にジャムエラー検知を行う例を挙げたが、ラインイメージセンサ1043によって読み取った画像をもとにジャム検知を行うように構成してもよい。
また、本実施形態では、エラーとしてジャムエラーの例を挙げたが、カバーオープンエラー、重送エラー、ステープル検知エラーなどのエラーを含むように構成してももちろん構わない。なお、カバーオープンエラーは、スキャン動作中に画像読取装置100のカバーが開けられたことをセンサにより検知した場合のエラーに対応する。また、重送エラーは、複数枚の原稿が重なった状態で搬送されていることを例えば超音波センサにより検知した場合のエラーに対応する。また、ステープル検知エラーは、ステープル処理が施された原稿が搬送されるエラーであり、搬送されている原稿の跳ね上がりをセンサで検知(又はステープル針を金属検知センサで検知)等することにより検知される。
【0078】
次に、スキャンセッションIDの管理について、
図16のフローチャートに従って説明する。
図16は、画像読取装置100におけるスキャンセッションIDを管理するタスクの処理の一例を示すフローチャートである。このフローチャートの処理は、画像読取装置100のCPU11がROM12に格納されたプログラムを実行することにより実現される。
【0079】
画像読取装置100に電源が投入されると、CPU11は、ウェブブラウザからのダウンロードリクエスト、スキャンアプリケーションからのスキャンリクエスト、スキャンセッションID要求リクエスト、および画像読取装置100によって指示されるスキャン終了処理リクエストを処理するセッション管理タスクを生成する。そして、CPU11は、RAM13のスキャンセッションIDを記憶するスキャンセッションIDアドレスの初期化(例えば全て「0」で上書きして空にする)と、スキャンセッションIDタイマーを初期化(0にする)を行い(S1610)、上述の各リクエストの受け付けを開始する。スキャンセッションIDタイマーは、スキャンセッションIDが発行されてからの経過時間を計測するタイマーに対応する。
【0080】
画像読取装置100のCPU11は、ダウンロードリクエスト、スキャンリクエスト又はスキャンセッションID要求リクエストを受けると(S1620)、S1625に処理を進める。
S1625において、画像読取装置100のCPU11は、スキャンセッションIDアドレスが空か否かを判定する。スキャンセッションIDアドレスが空の場合(S1625でYesの場合)、画像読取装置100のCPU11は、スキャン操作を許可されたユーザーがいないと判断し、新たにスキャンセッションIDを作成してスキャンセッションIDアドレスに保存する(S1626)。さらに、画像読取装置100のCPU11は、ダウンロードリクエストに対してはS1626で作成した有効なスキャンセッションIDを付加したダウンロードファイルを作成し、スキャンリクエストに対してはスキャン許可する。また、スキャンセッションID要求リクエストに対しては、画像読取装置100のCPU11は、S1626で作成した有効なスキャンセッションIDを返す。また、画像読取装置100のCPU11は、スキャンセッションIDを生成してからの時間を計測するスキャンセッションIDタイマーをリスタートする(S1628)。これにより、有効なスキャンセッションIDが発行されてからの経過時間を再計測してタイムアウトまでの時間を延長することができる。その後、S1620に処理を移行する。
【0081】
一方、上記S1625において、スキャンセッションIDアドレスが空でない場合(S1625のNoの場合)、画像読取装置100のCPU11は、S1627に処理を進める。
S1627において、画像読取装置100のCPU11は、スキャンリクエストに対してはスキャンアプリケーションから送られてきたスキャンセッションIDとスキャンセッションIDアドレスに保存したIDを比較して両者が一致するか否かを判定する。
【0082】
上記S1627において、両者のIDが一致する場合(S1627のYesの場合)、画像読取装置100のCPU11は、スキャンを許可し(不図示のステップ)、S1628に処理を進める。すなわち、スキャンセッションIDタイマーをリスタートする。
【0083】
一方、上記S1627において、両者のIDが一致しない場合(S1627のNoの場合)、画像読取装置100のCPU11は、スキャンを許可することなく、S1629に処理を進める。なお、上記S1620で受けたリクエストがダウンロードリクエスト又はスキャンセッションID要求リクエストの場合には、リクエストにスキャンセッションIDが含まれていないため、上記S1627は常にNoと判定される。
【0084】
S1629において、画像読取装置100のCPU11は、無効なスキャンセッションIDを作成してリクエスト元に応答し、S1620に処理を移行する。なお、ダウンロードリクエストの場合、CPU11は、無効なスキャンセッションIDを付加したダウンロードファイルを作成してリクエスト元に応答する。本実施形態では、セッションIDやスキャンセッションIDは、時刻とMACアドレスを元にMD5変換を行った文字列であり、無効なIDとは“d41d8cd98f00b204e9800998ecf8427e”とする。
【0085】
また、上記S1620において、画像読取装置100のCPU11は、ダウンロードリクエスト、スキャンリクエスト又はスキャンセッションID要求リクエストのいずれも受けていない場合(S1620でNoの場合)、画像読取装置100のCPU11は、S1630に処理を進める。
【0086】
S1630において、画像読取装置100のCPU11は、スキャンが終了した状態か否かを判定する。なお、スキャンが終了した状態とは、スキャンが終了し、まだスキャンが終了した場合に行う処理を行っていない状態を示す。そして、スキャンが終了した状態の場合(S1630でYesの場合)、画像読取装置100のCPU11は、S1635に処理を進める。
【0087】
S1635において、画像読取装置100のCPU11は、上記終了したスキャンでエラーが発生したか否かを判定する。エラーが発生した場合(すなわち終了したスキャンがエラー終了だった場合)(S1635でYesの場合)、画像読取装置100のCPU11は、S1628に処理を進め、スキャンセッションIDタイマーをリスタートする。この場合、スキャンセッションIDアドレスに保存されているスキャンセッションIDを有効なままにする。
【0088】
一方、上記S1635において、エラーが発生していない場合(すなわち終了したスキャンが正常終了だった場合)(S1635でNoの場合)、画像読取装置100のCPU11は、S1645に処理を進める。
S1645において、画像読取装置100のCPU11は、スキャンセッションIDアドレスに保存しているスキャンセッションIDを初期化(空)して破棄するとともに、スキャンセッションIDタイマーも初期化(0)し、S1620に処理を移行する。
【0089】
また、上記S1630において、スキャンが終了した状態でない場合(S1630でN
oの場合)、画像読取装置100のCPU11は、S1640に処理を進める。
S1640において、画像読取装置100のCPU11は、スキャンセッションIDがタイムアウトした(スキャンセッションIDを作成してから所定時間経過した)か否かを判定する。そして、スキャンセッションIDがタイムアウトしていない場合(S1640でNoの場合)、画像読取装置100のCPU11は、S1620に処理を移行する。
【0090】
一方、上記S1640において、スキャンセッションIDがタイムアウトした場合(S1640でYesの場合)、画像読取装置100のCPU11は、S1645に処理を進め、スキャンセッションIDとスキャンセッションIDタイマーを初期化し、S1620に処理を移行する。
【0091】
なお、本実施形態では、セッション管理において、エラーの種類によらず、エラーが発生してスキャン終了した場合、スキャンセッションIDを破棄せず、そのまま保持するようにした例を挙げた。しかし、例えばカバーオープンのようにスキャンを中断する意図があると判断されるエラーや、ハードウェアエラーのように、処理が再開されないと予測されるエラーの場合にはスキャンセッションIDを破棄し、一方、ジャムやステープル検知エラー等の処理の再開が予測される所定のエラーの場合にはスキャンセッションIDを破棄せずそのまま保持するようにしてもよい、このように、発生したエラーの種類に応じて処理を切り換えるように制御してもよい。また、エラーの種類に応じて、タイムアウト時間を変更するようにしてもよい。例えば、ステープル検知エラーの場合、処理の再開まで時間がかかることが予測されるため、タイムアウト時間を通常のタイムアウト時間よりも長く設定するようにしてもよい。なお、ステープル検知エラーは、原稿の搬送路に設けられた図示しないセンサにより原稿の跳ね上がりを検知したり、図示しない金属センサによりステープル針を検知することにより検知可能である。
【0092】
また、上述の説明では、セッション管理において、エラーが発生してスキャン終了した場合、スキャンセッションIDを破棄せず、そのまま保持するようにした例を挙げた。しかし、エラーが発生してスキャン終了した場合、スキャンセッションIDを一旦破棄したうえで別のスキャンセッションIDを作成して、再度そのスキャンアプリケーションとのスキャンセッションを確立するように構成してもよい。すなわち、
図16のS1635でYesの場合に、S1626,S1628を実行し、スキャンセッションIDを再作成・保存して、そのスキャンアプリケーションに送信し、スキャンセッションIDタイマーをリスタートするようにしてもよい。
【0093】
以上、第2実施形態によれば、第1実施形態の効果に加え、スキャン中にジャム(原稿詰まり)などのエラーが発生してスキャンが終了したとしても、他のスキャンアプリケーションに対して有効なスキャンセッションIDを付与せず、現在のスキャンアプリケーションとのセッション確立を継続、タイムアウトの防止等をすることで、ユーザーにスキャン作業(原稿読み取り作業)を完結させることができる。
【0094】
なお、上記第1実施形態及び第2実施形態では、画像読取装置100は、PC200のスキャンアプリケーションからの原稿読み取り要求に無効なスキャンセッションIDが含まれていた場合、"status":"InvalidID"をPC200のスキャンアプリケーションに返却する構成について説明した。この構成の場合、"status":"InvalidID"を受け取ったPC200が
図14に示したスキャンセッションID取得処理を行い、再度、原稿読み取り要求を行うことになる。
しかし、画像読取装置100のRAM13にスキャンセッションIDが保存されていない場合には、PC200のスキャンアプリケーションからの原稿読み取り要求に無効なスキャンセッションIDが含まれていた場合でも"status":"InvalidID"を返却せず、該PC200のスキャンアプリケーションにスキャンセッションIDを発行しつつ、そのままスキャン動作を開始するように構成してもよい。この構成により、PC200のスキャンアプリケーションと画像読取装置100との間のやり取りを省略し、速やかにスキャン動作を開始することが可能となる。
【0095】
また、PC200のスキャンアプリケーションは、画像読取装置100に原稿読み取り要求をリクエストする場合、該要求にスキャンセッションIDを含める構成について説明した。そして、画像読取装置100側では、原稿読み取り要求に含まれるスキャンセッションIDを用いて、該原稿読み取り要求が保持してあるスキャンセッションIDに対して有効であるか否かを判定する構成であった。
しかし、原稿読み取り要求に、スキャンセッションIDを含めないようにしてもよい。この構成の場合、例えば、画像読取装置100は、スキャンセッションIDの発行時に、発行先のPC200のIPアドレス等(MACアドレスなどでもよい)をスキャンセッションIDに紐つけて保持しておき、原稿読み取り要求があった場合には、該要求元のIPアドレス等と上記保持してあるIPアドレス等を比較し、原稿読み取り要求が、保持してあるスキャンセッションIDに対して有効であるか否かを判定するようにしてもよい。
【0096】
また、上記各実施形態において、スキャンセッションIDは、MACアドレスなどを用いて生成される例について説明したが、例えば、PC200のデバイスの名称、IPアドレスなどのPC200に関する他の情報を用いて特定のルールを用いて生成しても良い。また、ダウンロードファイルにスキャンセッションIDを埋め込まずに、画像読取装置100側のみで記憶しておいても良い。その場合、PC200のスキャンアプリケーションから原稿読み取り要求を受け取った際に、画像読取装置100側でそのPC200の情報によって上記特定のルールを用いてスキャンセッションIDを一時的に作成し、記憶しているスキャンセッションIDと比較することで、受け取った原稿読み取り要求が有効か否かを判定するようにしてもよい。
【0097】
〔第3実施形態〕
画像読取装置100に接続される情報処理装置のうち、特にスマートフォンやタブレット型PCなどの携帯型の情報処理装置は、一般的に蓄電池で動作するため作業途中に電池切れとなったり、電話の受信などにより強制的にアプリケーションの切り替えが行われることなどが起こりやすい。これらの要因により、スキャン処理中に情報処理装置側でスキャンを実行しているアプリケーションが終了・中断してしまうと、画像読取装置ではスキャン処理が終了しないままとなってしまう可能性がある。この場合、タイムアウトとなるまでは、他の情報処理装置から画像読取装置を使用することができない場合がある。第3実施形態では、この課題を解決する構成について説明する。なお、本実施形態では周辺装置の一例として画像読取装置(スキャナー)を用いて説明するが、本発明を適用可能な周辺装置はスキャナーに限定されるものではなく、同様の環境において使用される周辺装置においても適用可能である。
【0098】
図18は、本発明の第3実施形態を示すシステムの構成の一例を示す図である。ここでは、スキャナー1810、携帯端末a(1820)、携帯端末b(1830)を含むシステムを例に説明する。
図18に示すように、スキャナー1810と、携帯端末a(1820)、携帯端末b(1830)は同一のLAN1800に接続されており、それぞれデータの送受信が可能である。例えば、スキャナー1810のIPアドレスは192.168.1.10、携帯端末a(1820)のIPアドレスは192.168.1.100、携帯端末b(1830)のIPアドレスは192.168.1.101が割り当てられている。なお、携帯端末をさらに増やすことや、携帯型ではない通常の端末(例えばPC)を用いてもよいが、説明を簡潔にするために本例では上述の構成とする。
【0099】
≪スキャナー≫
スキャナー1810は、紙の原稿を読み取って電子データへと変換する機能である画像読取部1811を備える画像読取装置である。画像読取部1811は、制御部1813の制御の下、原稿上の画像を読み取って電子データを作成し、記憶部1812に記憶する。
制御部1813は、スキャナー1810の全体を制御する。
【0100】
UI部1814は、例えば、表示パネル(タッチパネル付き表示器)、OKキー、キャンセルキー、上キー、下キー、テンキーなどの各種キーを備える。表示パネルに表示される画面と各種キーの押下検知は、制御部1813の制御の下に行われる。
【0101】
送受信部1815は、端末から発行されるリクエストに応じて後述するUI提供部1816で作成したUI(ユーザーインターフェース)を端末に送信する。また、送受信部1815は、スキャン開始リクエスト、状況確認リクエスト、画像取得リクエストなどのリクエストの受信と、受信したリクエストに対するレスポンスの送信を行う。
【0102】
UI提供部1816は、スキャン設定をするためのスキャン設定画面、スキャンした画像を端末に保存するための画像保存画面、スキャン中などの現在の状況を表す状況表示画面等の操作画面をhtml形式で作成し、端末に提供する。UI提供部1816は、JavaScript(登録商標)等で書かれたプログラムを埋め込んだhtml形式のデータを作成してもよい。また、html形式で作成することで、UI提供部1816で作成した画面を、端末のウェブブラウザ上に表示することができる。
【0103】
また、UI提供部1816は、スキャナー1810が特定の端末から使用されている状態のときに、他の端末からのリクエストに対して排他制御する排他機能を有している。
この排他機能は、セッション管理によって行われる。具体的には、端末のウェブブラウザからスキャナー1810にアクセスする際に、スキャナー1810は、アクセスしてきた端末のIPアドレスを取得する。そして、スキャナー1810は、アクセスしてきた端末のIPアドレスをセッション管理のためのセッションIDとしてUI提供部1816に記憶する。
【0104】
UI提供部1816に記憶するセッションIDの初期値は、初期状態であることを示す値(例えば「0」など)となっている。そして、セッションIDが初期値のときにUI提供部1816に対してUI提供リクエストを最初に行った端末のIPアドレスを、UI提供部1816に記憶するセッションIDとして上書きする。そして、スキャンに関する一連の処理が完了すると、UI提供部1816は、セッションIDを初期値に上書きする。
このような構成により、セッション中の端末からのみリクエストを受け付け、他の端末からのリクエストを排他することができる。なお、セッション中の端末から一定期間アクセスがない場合、UI提供部1816はセッションIDの初期値への上書き処理を実行する(タイムアウトによるセッションIDの初期化)。
【0105】
例えば、UI提供部1816のセッションIDが初期値のときに、携帯端末a(1820)からスキャナー1810のUI提供部1816にアクセスしてきた場合、UI提供部1816はセッションIDとして、携帯端末a(1820)のIPアドレス“192.168.1.100”を記憶する。その後は、UI提供部1816は、端末からのアクセスに対して、UI提供部1816に保存されているセッションIDとアクセス元のIPアドレスを比較する。比較結果が同じであれば、UI提供部1816は、リクエストに対して正常なレスポンスを返す。比較結果が異なれば、UI提供部1816は、スキャナーが使用中である旨を示すレスポンスを返す。
なお、制御部1813、UI提供部1816は、それぞれ内部の記憶部又は記憶部1812等に記憶されるプログラムを実行することにより、各種制御を行う。なお、セッションIDは一例であり、IPアドレス以外を用いても良い。
【0106】
≪携帯端末≫
携帯端末a(1820)、携帯端末b(1830)は、例えば、スマートフォンやタブレット型PCなどの携帯可能な端末である。なお、携帯端末a(1820)と携帯端末b(1830)とは同様の構成とし、同一のものには同一の符号を付してある。
【0107】
送受信部1821は、LAN上のデバイスと各種データの送受信を行う。
記憶部1822は、携帯端末のOSやウェブブラウザなどのアプリケーション等の各種プログラムが記憶されており、制御部1823の制御の下、各種プログラムの起動が行える。
UI部1824は、タッチパネルを備え、ホーム画面やウェブブラウザ画面などを表示する。UI部1824では、タッチパネルに表示されている画面にボタンが表示されている場合は、タップの検出が可能である。また、UI部1824は、ホームキーが備えられ、ホームキーが押下されることでタッチパネルにホーム画面が表示される。ホーム画面では、ウェブブラウザなどのアプリケーションの選択が可能である。タッチパネルの画面表示やタップ検出、ホームボタンの押下検出は、制御部1823の制御の下に行われる。
【0108】
携帯端末にはカメラ1825が搭載され、制御部1823の制御の下、カメラ1825で読み取った二次元バーコード(QRコード(登録商標))などの画像コードを読み取る機能を有していてもよい。QRコードの読み取りが可能な場合は、携帯端末は、QRコードから得られたURL情報を使ってURL先にアクセスすることができる。また、撮像した画像の中に含まれる文字列をOCR処理することなどによってもURL先にアクセスすることができる。
【0109】
≪スキャン処理フロー≫
以下、携帯端末a(1820)を使ったスキャンの流れを説明する。
図19は、携帯端末a(1820)を使ったスキャンの流れを説明する図である。
スキャナー1810は、電源がONになると、UI部1814の表示パネルに
図20のようなメニュー画面1900を表示する待機状態に遷移する。
図20は、スキャナー1810のUI部1814に表示されるメニュー画面の一例を示す図である。
メニューの項目はウェブアプリモード、本体設定の2つが存在する。ユーザーは、UI部1814の上キー、下キーを押して項目(1901又は1902)を選択し、OKキーを押すことで項目を決定する。ここで、ウェブアプリモード1901が選択されると、スキャナーはS2100に続くウェブアプリモードを開始する。本体設定1902が選択されると本体設定に関わる項目が表示され、その設定を用いてスキャンを実行することが可能となるが、ここでは説明を省略する。
【0110】
S2100において、スキャナー1810のUI提供部1816は、ウェブアプリモードを開始すると、スキャナーの表示パネルに、
図21のようなURL表示画面1910を表示する。
図21は、スキャナー1810のUI部1814に表示されるURL表示画面の一例を示す図である。この画面には、URLとURLの内容が埋め込まれたQRコードが表示されており、ウェブアプリモードのときは本画面が表示される。なお、本実施形態においては端末のウェブブラウザを用いてスキャナーの通信をHTTP通信により行っているが、端末にキャプチャーアプリをインストールし、キャプチャーアプリとスキャナーとの通信をHTTP通信以外の通信で行っても良い。
【0111】
S2101において、ユーザーは、携帯端末a(1820)のウェブブラウザを起動し、
図21のように表示されているURLを入力し、携帯端末a(1820)からスキャナーにアクセスすることで、ブラウザ上に
図22のようなスキャン設定画面2000が表示される。なお、端末装置aにカメラが搭載され、QRコードを読み取ることができる場合はそちらでURLの入力を代用してもよい。
図22は、第3実施形態において携帯端末のUI部1824に表示されるスキャン設定画面の一例を示す図である。
【0112】
S2102において、ユーザーは、携帯端末a(1820)のブラウザに表示されたスキャン設定画面2000のボタン2001~2003を操作し、スキャン設定を決定する。ここでは、一例として、カラーモードを「カラー」、原稿サイズを「A4」、解像度を「300dpi」としているが、スキャナーの有する機能に応じて適宜スキャン設定項目・内容を追加、変更してよい。
【0113】
S2103において、ユーザーがスキャン開始ボタン2004を押下すると、端末装置aは、スキャナー1810にスキャン開始リクエストを発行する。スキャナー1810は、スキャン開始リクエストを受信すると、該リクエストにて設定されたスキャン設定に基づきスキャン処理を開始する。この後、携帯端末a(1820)は、定期的にスキャン処理が終了したかスキャナー1810に問い合わせる状況確認リクエストを発行する。このリクエストに対して、スキャナー1810は現在の状況を表す状況表示画面を作成し、端末装置a(1820)に提供する。スキャン処理が終わっていなければ、
図23のようなスキャン中であることを示すスキャン中画面2010を提供し、スキャン処理が完了すると
図24のような画像保存画面2020を提供する。
図23は、携帯端末のUI部1824に表示されるスキャン中画面の一例を示す図である。
図24は、携帯端末のUI部1824に表示される画像保存画面の一例を示す図である。
【0114】
S2104において、携帯端末a(1820)には、
図24のようなスキャンした画像を保存するための画像保存画面2020が表示される。
図24の例では4枚の画像をスキャンしたときの画像保存画面2020が表示されており、4枚のスキャン画像に対応する4つのサムネイル2021、2022、2023、2024が表示されている。画像保存画面2020では、ユーザーが保存する画像をタップすることで、スキャナー1810に画像取得リクエストが送信されるようになっており、画像のダウンロードが行える。ダウンロードされた画像は、端末装置a(1820)の記憶部1822に保存される。一連の処理が終わると、ユーザーは、終了ボタン2025を押下することにより、ウェブアプリモードの一連の処理が終了する。なお、サムネイル表示された画像をすべて保存する一括保存ボタンが合っても良いし、終了ボタン2025がその機能を有していても良い。その場合、選択した画像だけを保存して終了するための他のボタンを設けることが好ましい。
【0115】
スキャンに関する一連の処理が完了すると、UI提供部1816は、セッションIDを初期値に上書きしてスキャナー1810は待機状態に遷移し、
図20のメニュー画面1900を表示する。
【0116】
≪排他処理フロー≫
上記の説明では、1台の携帯端末a(1820)とスキャナーを使ったスキャン処理の流れを説明した。次に、2台の携帯端末a(1820)、携帯端末b(1830)が存在する場合に起きる排他処理および排他処理解除の流れを説明する。
【0117】
例えば、携帯端末a(1820)が上述した
図19のS2104で画像保存画面2020を表示しているときに、携帯端末a(1820)の電源が切れるなどして以降の処理を継続できなくなってしまったとする。この場合、スキャナー1810は、携帯端末a(1820)とのセッションのタイムアウトが起きるまで他の端末からのアクセスを排他する。この状況で、携帯端末b(1830)のウェブブラウザを使ってスキャナー1810にアクセスすると、
図25に示す他ユーザー使用中画面2030がウェブブラウザに表示される。
図25は、携帯端末のUI部1824に表示される他ユーザー使用中画面の一例を示す図である。
【0118】
このようにセッション中に何らかのアクシデントで処理が継続できなくなった場合、本実施形態では、ユーザーが、スキャナー1810本体のUI部1814のキャンセルキー(不図示)を押下することで、排他処理を解除し、ウェブアプリモードを終了することができる。以下、詳細に説明する。
【0119】
図26は、第3実施形態におけるウェブアプリモードの終了処理の一例を示すフローチャートである。このフローチャートの処理は、スキャナー1810のUI提供部1816が内部の記憶部又は記憶部1812に格納されるプログラムを実行することにより実現される。
【0120】
S2700において、スキャナー1810のUI提供部1816は、ウェブアプリモード中にUI部1814のキャンセルキー(不図示)が押されると、表示パネルに
図27に示すようなウェブアプリモードの終了確認画面1920を表示するよう制御する。終了確認画面1920において、ユーザーは、ウェブアプリモードを終了するか否かを選択可能である。
図27は、第3実施形態のスキャナー1810のUI部1814に表示される終了確認
画面の一例を示す図である。
【0121】
次に、S2701において、スキャナー1810のUI提供部1816は、ウェブアプリモードの終了確認画面1920でのユーザー選択に基づき、ウェブアプリモードを終了するか否かを判定する。ここで、ウェブアプリモードの終了確認画面1920で「はい」1921が選択されると、スキャナー1810は、ウェブアプリモードを終了する(S2701でYes)と判定し、S2702に処理を進める。
【0122】
S2702において、スキャナー1810のUI提供部1816は、UI提供部1816に記憶されているセッションIDを初期値(例えば「0」)で上書きする。これにより、他の端末からのアクセスを受け付けることができるようになる。
さらにS2703において、スキャナー1810のUI提供部1816は、UI部1814の表示パネルに
図20のようなメニュー画面1900を表示し、処理を終了する。
【0123】
またS2701において、ウェブアプリモードの終了確認画面1920で「いいえ」1922が選択されると、スキャナー1810は、ウェブアプリモードを終了しない(S2701でNo)と判定し、S2704に処理を進める。
S2704において、スキャナー1810は、UI部1814の表示パネルに
図21のようなウェブアプリモード画面1910を表示し、処理を終了する。
【0124】
以上のように、第3実施形態では、例えば携帯端末の電池切れ等のような何らかのアクシデント等によりスキャン処理が継続できなくなった場合でも、スキャンセッションのタイムアウトを待つことなくウェブアプリモードを終了でき、他のユーザーがスキャナーを使用可能にすることができる。なお、
図26のS2702において、ウェブアプリモードを終了するかどうかの選択を受け付けるように構成したが、これに限られない。例えば、ウェブアプリモードを維持したまま、現在のセッションIDのみを破棄するようにしても良い。この場合、S2703においてメニュー画面1900を表示する代わりに、URL表示画面1910を表示しても良い。
すなわち、原稿読み取り処理が完了する前にウェブアプリケーション等が終了・中断されてしまってスキャンセッションが正常に終了されなかったとしても、スキャンセッションのタイムアウトを待つことなく、別の情報処理装置から画像読取装置を使用することを可能にする。
【0125】
〔第4実施形態〕
上記第3実施形態では、UI部1814のキャンセルキー(不図示)を押下することにより誰でもスキャナー1810のウェブアプリモードを終了することができる。そのため、悪意のあるユーザーによりウェブアプリモードを終了されてしまう可能性がある。そこで、第4実施形態では、ウェブアプリモードを終了する場合にパスコードの入力操作を要求するように構成する。以下、詳細に説明する。
【0126】
本実施形態では、
図19のS2102において、スキャン設定画面を操作しているときの携帯端末a(1820)に表示されるスキャン設定画面が、本例では
図28に示すスキャン設定画面2040となる。
図28は、第4実施形態において携帯端末のUI部1824に表示されるスキャン設定画面の一例を示す図である。
ここで、スキャン設定画面2040と
図22のスキャン設定画面2000との違いは、終了パスコード2045が表示されている点である。なお、スキャン設定画面2040のボタン2041~2044は、スキャン設定画面2000のボタン2001~2004と同一のものであり、説明を省略する。
【0127】
終了パスコード2045は、ウェブアプリモードを途中で終了するときに必要になるものである。本実施形態のスキャナー1810は、この終了パスコードをUI提供部1816に記憶しておき、後述するユーザーから入力されるパスコードと一致するか否かを判定し、ウェブアプリモードの終了を制御する。
【0128】
以下、
図31を用いて、ウェブアプリモード中にキャンセルキーが押されたときの処理の流れについて説明する。
図31は、第4実施形態におけるウェブアプリモードの終了処理の一例を示すフローチャートである。このフローチャートの処理は、スキャナー1810のUI提供部1816が内部の記憶部又は記憶部1812に格納されるプログラムを実行することにより実現される。
【0129】
S3100において、スキャナー1810のUI提供部1816は、ウェブアプリモード中にUI部1814のキャンセルキー(不図示)が押されると、表示パネルに
図29のようなパスコード入力画面1930を表示し、ユーザーからのパスコード入力を待機する。
図29、
図30は、第4実施形態のスキャナー1810のUI部1814に表示されるパスコード入力画面の一例を示す図である。
【0130】
なお、
図28に示したスキャン設定画面の例では、終了パスコードが「1234」に設定されているが、この終了パスコードはスキャン処理毎にランダムな値に変わることが望ましい。他にも、終了コードをユーザーが任意に設定できる構成にしてもよい。
図30の1940のように、終了コードが入力されると、スキャナー1810のUI提供部1816は、S3101に処理を進める。
【0131】
S3101において、スキャナー1810のUI提供部1816は、入力されたパスコードが一致するかどうかを判定する。
図30に示すようにユーザーがスキャナーのテンキーを操作して入力したパスコードがUI提供部1816に記憶されている終了パスコードと一致していると判定した場合(S3101でYesの場合)、スキャナー1810は、S3102に処理を進める。
【0132】
S3102において、スキャナー1810のUI提供部1816は、UI提供部1816に記憶されているセッションIDを初期値で上書きする。これにより、他の端末からのアクセスを受け付けることができるようになる。
さらにS3103において、スキャナー1810のUI提供部1816は、UI部1814の表示パネルに
図20のようなメニュー画面1900を表示し、処理を終了する。
【0133】
また上記S3101において、ユーザーがスキャナー1810のテンキーを操作して入力したパスコードがUI提供部1816に記憶されている終了パスコードと一致していないと判定した場合(S3101でNoの場合)、スキャナー1810のUI提供部1816は、S3104に処理を進める。
S3104において、スキャナー1810のUI提供部1816は、ウェブアプリモード画面1910を表示し、処理を終了する。
なお、
図29に示すパスコード入力画面1930の表示中に、スキャナー1810のキャンセルキーが押された場合には、スキャナー1810は、ウェブアプリモード画面1910(
図21)に表示を戻すようにしてもよい。
【0134】
以上説明したように、第4実施形態によれば、上記第3実施形態の効果に加え、スキャナー1810のウェブアプリモードを終了する場合にパスコードの入力を要求することにより、悪意のあるユーザー等によりウェブアプリモードを終了されてしまうことを防止することができる。
【0135】
なお、上記第3実施形態及び第4実施形態では、スキャナー1810は携帯端末のIPアドレスによりセッションを管理しているが、スキャナー1810においてIPアドレス以外のセッションIDを発行してセッションを管理する構成でもよい。
【0136】
また、上記第3実施形態及び第4実施形態では、携帯端末で動作するWebブラウザを介してスキャナー1810を操作する構成について説明したが、第1実施形態や第2実施形態のようにダウンロードされたスキャンアプリケーションによりスキャナー1810を操作する構成でもよいし、携帯端末にインストールされる専用のアプリケーションを用いてスキャナー1810を操作する構成でもよい。
【0137】
また、上記第3実施形態及び第4実施形態では、スキャンに関する一連の処理の実行中において、セッションIDを記憶部1812等に記憶することで携帯端末の排他制御を行っている際に、スキャナー1810のUI部1814のキャンセルキーを操作することでセッションIDを破棄することができる構成について説明した。他の形態として、以下のような構成を備えていてもよい。
【0138】
例えば携帯端末側でスキャン設定するたびにその内容がスキャナー1810に通知されるように構成する。さらに、スキャナー1810は、その通知を所定間隔内で受信している場合には、スキャンセッションIDを破棄しないように構成する。
また、スキャナー1810は、スキャンセッションIDを破棄する場合に、破棄して良いかどうかの問い合わせを該スキャンセッションIDに対応する携帯端末に通知し、応答がない場合に破棄可能に構成しても良い。なお、スキャナー1810は、上記破棄の問い合わせに応じて携帯端末側から破棄してはいけない旨の応答があった場合には、スキャンセッションIDの破棄動作をリセットする(例えばスキャンセッションIDを破棄せず、スキャンセッションIDタイマーをリスタートする。)。また、スキャナー1810は、スキャンセッションIDを破棄した場合には、スキャンセッションIDが破棄されたことを、破棄されたスキャンセッションIDに対応する携帯端末に通知する。なお、スキャナー1810から携帯端末への通知は、携帯端末がサーバー機能を有する場合には、該サーバーに通知することで行う。また、携帯端末がスキャナー1810に対してポーリングを行っている場合には、該ポーリングにより行うものとする。なお、その他の方法によって行っても良い。
【0139】
携帯端末側がポーリングしているシステムの場合、スキャンセッションIDが破棄されたことを、破棄されたスキャンセッションIDに対応する携帯端末によってポーリング可能なように、スキャナー1810はスキャンセッションIDを破棄したことを示すフラグを立てておく。スキャナー1810がスキャンセッションIDを破棄したことを携帯端末側で認識した場合には、携帯端末側でその旨をユーザー通知する。なお、ユーザーへの通知方法は、画面表示でも良いし、他の通知方法でも良い。
【0140】
また、第4実施形態では、スキャナー1810にスキャンセッションIDを破棄させる操作を行う場合にはパスコードを必要とする構成であったが、スキャナー1810が画像の読み取りを開始するまではパスコードなしでスキャンセッションIDを破棄させることができるようにしてもよい。なお、スキャナー1810が画像の読取完了後、
図24のような画面においてサムネイルで画像を選択中の場合には、スキャンセッションIDを破棄できないようにしてもよいし、パスコードの入力が要求するようにしてもよい。
さらに、ユーザーがスキャンセッションIDの破棄を禁止するタイミングをスキャナー1810に設定可能にし、スキャナー1810は、該設定されたタイミングにおいてはスキャンセッションIDの破棄を禁止するようにしてもよい。
【0141】
以上、各実施形態によれば、画像読取装置の要求ハードウエア構成が高価なものになることを抑えつつ、情報処理装置に特別な管理権限が付与されていないユーザーであっても情報処理装置から画像読取装置を制御し、IPアドレスの再入力や使用権限取得の追加操作などの煩雑な操作なく、原稿の読み取りを可能にする。
また、原稿読み取り中に原稿詰まりなどのエラーが発生して原稿読み取り処理が終了したとしても、エラー解除後に原稿読み取り処理を再開して原稿読み取り作業を完結させることを可能にする。
また、原稿読み取り処理が完了する前にウェブアプリケーション等が終了・中断されてしまってスキャンセッションが正常に終了されなかったとしても、セッションのタイムアウトを待つことなく、別の情報処理装置から画像読取装置を使用することを可能にする。
【0142】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【0143】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0144】
100 画像読取装置
10 制御部
11 CPU
12 ROM
13 RAM
200 PC