(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
本発明を実施するための実施形態について、図面を用いて説明する。本発明は、以下に記載の構成に限定されるものではなく、同一の技術的思想において種々の構成を採用することができる。例えば、以下に示す構成の一部は、省略し又は他の構成等に置換してもよいし、他の構成を含むようにしてもよい。
【0013】
図2を用いて、本実施形態に係るシステムについて説明する。
図2に示す如く、本実施形態に係るシステムでは、インターネットやイントラネットなどのネットワーク500を介して、ユーザ端末(情報処理装置)200、Webアプリケーションサービス提供システム300、Webストレージシステム400(外部装置)が接続される。なお、ユーザ端末200、Webアプリケーションサービス提供システム300、Webストレージシステム400は複数接続されていてもよい。また、以下では一例として、Webアプリケーションサービス提供システム300およびブラウザ201のドメインを「ドメインA」、Webストレージシステム400のドメインを「ドメインB」、ScanServer202のドメインを「ドメインC」として説明する。
【0014】
画像読取装置(デバイス装置)100は、ユーザ端末200と接続される。ユーザ端末200との接続は、有線通信(例えば、USBケーブル)に限らず無線通信でもよい。また、ユーザ端末200内に画像読取装置100を備える構成でもよい。
【0015】
なお、以下の説明では、デバイス装置の一例として、画像読取装置について説明するが、これに限らず、撮像装置(例えば、カメラ)、画像形成装置(例えば、複合機)、電化製品(例えば、冷蔵庫)、センサ(例えば、温度計)、自動車等でもよい。撮像装置であれば撮影画像情報や音声情報が送信対象になる。電化製品であれば電化製品自体の状態の情報が送信対象になる。センサであれば各センサでセンシング可能な情報が送信対象になる。自動車であれば走行距離や位置などの情報が送信対象になる。また、いずれか一つがユーザ端末200に接続されるものに限定するものではなく、複数種類のデバイス装置がユーザ端末200に接続されてよい。
【0016】
<画像読取装置の構成>
図1は、本施形態に係る画像読取装置100の概略図である。
画像読取装置100は、載置台1に積載された一又は複数の搬送媒体Sを1つずつ装置内に経路RTにて搬送してその画像を読み取り、排出トレイ2に排出する装置である。読み取る搬送媒体Sは、例えば、OA紙、チェック、小切手、カード類等のシートであり、厚手のシートであっても、薄手のシートであってもよい。カード類は、例えば、保険証、免許証、クレジットカード等を挙げることができる。搬送媒体Sには、また、パスポートなどの冊子も含まれる。
【0017】
経路RTに沿って搬送媒体Sを給送する給送機構としての第1搬送部10が設けられている。第1搬送部10は本実施形態の場合、送りローラ11と、送りローラ11に対向配置される分離ローラ12と、を備え、載置台1上の搬送媒体Sを搬送方向D1に一つずつ順次搬送する。送りローラ11には、モータ等の駆動部3から伝達部5を介して駆動力が伝達され、図中矢印方向(経路RTに沿って搬送媒体Sを搬送させる正方向)に回転駆動される。伝達部5は例えば電磁クラッチであり、駆動部3からの送りローラ11への駆動力を断続する。
【0018】
駆動部3と送りローラ11とを接続する伝達部5は、例えば、本実施形態では、通常時において駆動力が伝達される状態とし、搬送媒体Sの逆送の場合に駆動力を遮断する。送りローラ11は伝達部5により駆動力の伝達が遮断されると、自由回転可能な状態となる。なお、このような伝達部5は、送りローラ11を一方向のみに駆動させる場合には設けなくてもよい。
【0019】
送りローラ11に対向配置される分離ローラ12は、搬送媒体Sを1枚ずつ分離するためのローラであり、送りローラ11に対して一定圧で圧接している。この圧接状態を確保するため、分離ローラ12は揺動可能に設けると共に送りローラ11へ付勢されるように構成される。分離ローラ12は、トルクリミッタ12aを介して駆動部3から駆動力が伝達され、実線矢印方向(送りローラ11の正方向とは逆方向))に回転駆動される。
【0020】
分離ローラ12はトルクリミッタ12aにより駆動力伝達が規制されるため、送りローラ11と当接している際は送りローラ11に連れ回りする方向(破線矢印方向)に回転する。これにより、複数の搬送媒体Sが送りローラ11と分離ローラ12との圧接部に搬送されてきた際には、一つを残して2つ以上の搬送媒体Sが下流に搬送されないようにせき止められる。
【0021】
なお、本実施形態では分離ローラ12と送りローラ11とで分離機構を構成したが、このような分離機構は必ずしも設けなくてもよく、経路RTに搬送媒体Sを1つずつ順次給送する給送機構であればよい。また、分離機構を設ける場合においては、分離ローラ121のような構成の代わりに、搬送媒体Sに摩擦力を付与する分離パッドを送りローラ11に圧接させて、同様の分離作業を持たせるようにしてもよい。
【0022】
第1搬送部10の搬送方向下流側にある搬送機構としての第2搬送部20は、駆動ローラ21と、駆動ローラ21に従動する従動ローラ22とを備え、第1搬送部10から搬送されてきた搬送媒体Sをその下流側へ搬送する。駆動ローラ21にはモータ等の駆動部4から駆動力が伝達され、図中矢印方向に回転駆動される。従動ローラ22は駆動ローラ21に対して一定圧で圧接し、駆動ローラ21に連れ回る。この従動ローラ22は、バネ等の付勢ユニット(不図示)によって駆動ローラ21に対して付勢された構成としてもよい。
【0023】
このような第2搬送部20よりも搬送方向下流側にある第3搬送部30は、駆動ローラ31と、駆動ローラ31に柔道する従動ローラ32とを備え、第2搬送部20から搬送されてきた搬送媒体Sを排出トレイ2へ搬送する。つまり、この第3搬送部30は排出機構として機能する。駆動ローラ31にはモータ等の駆動部4から駆動力が伝達され、図中矢印方向に回転駆動される。従動ローラ32は駆動ローラ31に対して一定圧で圧接し、駆動ローラ31に連れまわる。この従動ローラ32は、バネ等の付勢ユニット(不図示)によって駆動ローラ31に対して付勢された構成としてもよい。
【0024】
ここで、本実施形態の画像読取装置100では、第2搬送部20と第3搬送部30との間に配置される画像読取ユニット70によって画像の読み取りを行うため、第2搬送部20及び第3搬送部30は搬送媒体Sを定速搬送する。搬送速度は常に第1搬送部10の搬送速度以上とすることで、先行搬送媒体Sに後続搬送媒体Sが追いついてしまう事態を確実に回避できる。例えば、本実施形態では、第2搬送部20及び第3搬送部30による搬送媒体Sの搬送速度を、第1搬送部10による搬送媒体Sの搬送速度よりも速くなるように速度制御するようにした。
【0025】
なお、第2搬送部20及び第3搬送部30による搬送媒体Sの搬送速度と、第1搬送部10による搬送媒体Sの搬送速度とを同一条件とした場合でも、駆動部3を制御して後続搬送媒体Sの給送開始タイミングを間欠的にずらすことにより先行搬送媒体Sと後続搬送媒体Sとの間に最低限の間隔を形成することも可能である。
【0026】
第1搬送部10と第2搬送部20との間に配置される重送検出センサ40は、静電気等で紙などの搬送媒体S同士が密着し、第1搬送部10を通過してきた場合(つまり重なって搬送される重送状態の場合)に、これを検出するための検出センサ(シートの挙動や状態を検出するセンサ)の一例である。重送検出センサ40としては、種々のものが利用可能であるが本実施形態の場合には超音波センサであり、超音波の発信部41とその受信部42とを備え、紙等の搬送媒体Sが重送されている場合と1つずつ搬送されている場合とで、搬送媒体Sを通過する超音波の減衰量が異なることを原理として重送を検出する。
【0027】
このような重送検出センサ40よりも搬送方向下流側に配置される媒体検出センサ50は第2搬送部20よりも上流側で、第1搬送部10よりも下流側に配置された上流側の検出センサ(シートの挙動や状態を検出するセンサ)としての一例であり、第1搬送部10により搬送される搬送媒体Sの位置、詳細には、媒体検出センサ50の検出位置に搬送媒体Sの端部が到達又は通過したか否かを検出する。媒体検出センサ50としては、種々のものが利用可能であるが、本実施形態の場合には光学センサであり、発光部51とその受光部52とを備え、搬送媒体Sの到達又は通過により受光強度(受光量)が変化することを原理として搬送媒体Sを検出する。
【0028】
本実施形態の場合、搬送媒体Sの先端が媒体検出センサ50で検出されると、搬送媒体Sが重送検出センサ40により重送を検出可能な位置に到達しているように、上記の媒体検出センサ50は重送検出センサ40の近傍においてその下流側に設けられている。なお、この媒体検出センサ50は、上記の光学センサに限定されず、例えば、搬送媒体Sの端部が検知できるセンサ(イメージセンサ等)を用いてもよいし、経路RTに突出したレバー型のセンサでもよい。
【0029】
媒体検出センサ50とは別の媒体検出センサ60は画像読取ユニット70よりも上流側で、第2搬送部20よりも下流側に配置された下流側の検出センサとしての一例であり、第2搬送部20により搬送される搬送媒体Sの位置を検出する。媒体検出センサ60としては、種々のものが利用可能であるが、本実施形態の場合、媒体検出センサ50と同様に光センサであり、発光部61と受光部62とを備え、搬送媒体Sの到達又は通過により受光強度(受光量)が変化することを原理として搬送媒体Sを検出する。なお、本実施形態では、第2搬送部20の搬送方向上流側と下流側のそれぞれに媒体検出センサ50、60を配置したが、何れか一方だけでもよい。
【0030】
媒体検出センサ60よりも下流側にある画像読取ユニット70は、例えば、光学的に走査し、電気信号に変換して画像データとして読み取るものであり、内部にLED等の光源、イメージセンサ、レンズアレー等を備えている。本実施形態の場合、画像読取ユニット70は経路RTの両側に一つずつ配置されており、搬送媒体Sの表裏面を読み取る。しかし、経路RTの片側にのみ一つ配置して、搬送媒体Sの片面のみを読み取る構成としてもよい。また、本実施形態では、画像読取ユニット70を経路RTの両側に対向配置した構造としているが、例えば、経路RTの方向に間隔をあけて配置してもよい。
【0031】
図3を参照して制御部8について説明する。
図3は、実施形態に係る画像読取装置100のハードウェア構成を示すAの制御部8のブロック図である。制御部8はCPU81、記憶部82、操作部83、通信部84、アクチュエータ85、インターフェース部86、画像メモリ89及び帳票処理部90を備える。CPU81は記憶部82に記憶されたプログラムを実行することにより、画像読取装置100全体の制御を行う。記憶部82は例えばRAM、ROM等から構成される。操作部83は、例えば、スイッチやタッチパネル等で構成され、操作者からの操作を受け付ける。
【0032】
通信部84は、外部装置との情報通信を行うインターフェースである。外部装置としてPC(ユーザ端末)を想定した場合、通信部84としては、例えば、USBインターフェースやSCSIインターフェースを挙げることができる。また、このような有線通信のインターフェースの他、通信部84は無線通信のインターフェースとしてもよく、有線通信、無線通信の双方のインターフェースを備えていてもよい。インターフェース部86は、アクチュエータ85やセンサ87とのデータの入出力を行うI/Oインターフェースである。アクチュエータ85には、駆動部3、駆動部4、伝達部5等が含まれる。センサ87には、重送検出センサ40、媒体検出センサ50及び60、画像読取ユニット70等が含まれる。画像メモリ89は、センサ87で読み取った画像データを保存する。帳票処理部90は、画像メモリ89に保存されている画像データから光学文字認識処理を行い、帳票の種類を認識し、画像データに情報を付加する。
【0033】
ここで、画像読取装置100の基本的な動作について説明する。制御部8は、例えば、画像読取装置100が接続されたユーザ端末200から画像読み取りの開始指示を受信すると、第1乃至第3搬送部10乃至30の駆動を開始する。載置台1に積載された搬送媒体Sはその最も下に位置する搬送媒体Sから1つずつ搬送される。搬送の途中で搬送媒体Sは重送検出センサ40により重送の有無が判定され、重送が無いと判定されると搬送が継続される。なお、重送があると判定された場合には、搬送を停止するか、第1搬送部10による後続搬送媒体Sの取り込みを停止して、重送状態にある搬送媒体Sをそのまま排出するようにしてもよい。
【0034】
制御部8は、媒体検出センサ60の検出結果に基づくタイミングで、第2搬送部20により搬送されてきた搬送媒体Sの、画像読取ユニット70による画像の読み取りを開始し、読み取った画像を画像メモリ89に保存し、保存されている画像データから光学文字認識処理を行い、帳票の種類を認識し、画像データに情報を付加する。その後、画像データを順次ユーザ端末200へ送信する。画像が読み取られた搬送媒体Sは、第3搬送部30により排出トレイ2に排出されてその搬送媒体Sの画像読取処理が終了する。
【0035】
<ユーザ端末の構成>
図4は、ユーザ端末200に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
CPU41は、ROM42やRAM43に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行う。ROM42には、本コンピュータの設定データや、ブートプログラムなどが格納されている。CPU81は、ユーザ端末200が行うものとして後述する各処理を実行する。
【0036】
RAM43は、HDD(ハードディスクドライブ)44からロードされたコンピュータプログラムやデータ、インターフェース47を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。更に、RAM43は、CPU41が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM43は、各種のエリアを適宜提供することができる。
【0037】
HDD44には、OS(オペレーティングシステム)や、本コンピュータを適用した装置が行う各種の処理をCPU41に実行させるためのコンピュータプログラムやデータが保存されている。係るコンピュータプログラムには、ユーザ端末200が行うものとして後述する各処理をCPU41に実行させるためのコンピュータプログラムが含まれている。HDD44に保存されているコンピュータプログラムやデータは、CPU41による制御に従って適宜RAM43にロードされ、CPU41による処理対象となる。また、HDD44には、クロスドメイン通信を許可する許可設定(許可ドメイン、アクセストークン等)が記録されている。
【0038】
入力装置45は、キーボードやマウスなどにより構成されており、本コンピュータの操作者は、この入力装置45を操作することで、各種の指示をCPU41に対して入力することができる。表示装置46は、CRTや液晶画面などにより構成されており、CPU41による処理結果を画像や文字などでもって表示することができる。インターフェース47は、様々なインターフェースで構成されている。例えば、本コンピュータをネットワークに接続する為のネットワークインターフェース、本コンピュータに画像読取装置100を接続する為のデバイスインターフェースを含む。48は上述の各部を繋ぐバスである。本実施形態では説明を簡単にするために、ユーザ端末200の何れも
図4に示した構成を有するコンピュータであるものとして説明するが、コンピュータの構成については係る構成に限定するものではない。
【0039】
図2に示すように、ユーザ端末200は、ユーザによって操作され、ブラウザ(Webブラウザ)201、ScanServer202、ドライバ205を備える。ユーザは、ユーザ端末200内のブラウザ201を介して、Webアプリケーション(Webアプリケーションサービス提供システム300、Webストレージシステム400)を利用することができる。
【0040】
ScanServer202は、Webサーバ部203、画像読取装置操作部204を備える。ブラウザ201は、Webアプリケーション(Webアプリケーションサービス提供システム300、Webストレージシステム400)と通信を行う。ScanServer202は、Webアプリケーション(Webアプリケーションサービス提供システム300、Webストレージシステム400)と通信を行うブラウザ201が動作するユーザ端末200内で動作するプログラム(Webサーバプログラム)である。ScanServer202のWebサーバ部203は、ファイアウォール(不図示)による通信のブロックを回避し、どのユーザ端末上のブラウザからでも名前解決可能なWebサーバとして動作するために、ユーザ端末200においてホスト名localhostで待ち受けを行ってもよい。
【0041】
ScanServer202は、ユーザ端末200に接続された画像読取装置100を利用して、画像読込処理等を行うエンドポイント(画像読取装置操作部204)と、リクエスト送信元であるWebシステムとは異なるドメインのWebシステムと通信するエンドポイント(Webサーバ部203)を提供する。Webサーバ部203へのリクエストによって、画像読取装置操作部204へ画像読取装置100の操作を指示できる。画像読取装置操作部204は、ユーザ端末200に接続された画像読取装置100を操作する。ドライバ205は、画像読取装置100を制御するためのソフトウェアである。
【0042】
本実施形態において、ScanServer202はドメインCに属し、Webアプリケーションサービス提供システム300はドメインAに属することから、それぞれ異なるドメインに属する。そのため、ユーザ端末200内のブラウザ201で動作する、Webアプリケーションサービス提供システム300のWebアプリケーションが、ScanServer202のWebサーバ部203と通信しようとする場合は、クロスドメインリクエストとなる。
【0043】
従って、ブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションは、ScanServer202と通信する際、クロスドメインリクエストとなる為、CORS標準仕様に従ったリクエスト送信(HTTPメッセージ送信)を試みる。なお、HTTPメッセージには、HTTPS通信によるリクエスト/レスポンスも含まれる。ここで、
図5と
図6を用いて、クロスドメインリクエストを許可し、クロスドメイン通信を可能にする処理について具体的に説明する。
【0044】
<ブラウザ201の処理>
図5は、ブラウザ201の処理を示すフローチャートである。ユーザ端末200を操作しているユーザが、Webアプリケーションサービス提供システム300のユーザである場合、ユーザはユーザ端末200内のブラウザ201から、Webアプリケーションサービス提供システム300にアクセスを行う。ブラウザ201は、Webアプリケーションサービス提供システム300のドメイン(ドメインA)にアクセスする(S5001)。
【0045】
ブラウザ201は、異なるドメイン(例えば、ScanServer202のドメイン(ドメインC))へのリクエスト送信(HTTPメッセージ送信)か否かを判定する(S5002)。異なるドメインへのリクエスト送信ではない場合(S5002のNO)、処理を繰り返す。
【0046】
異なるドメイン(ScanServer202のドメイン(ドメインC))へのリクエスト送信である場合(S5002のYES)、ユーザ端末200内のブラウザ201は、リクエスト内のOriginヘッダーに、Webアプリケーションサービス提供システム300のドメイン(ドメインA)を付与し、ScanServer202へCORSの仕様に従ったリクエスト送信(HTTPメッセージ送信)を行う(S5003)。だたしScanServer202へのリクエストについては、HTTPだけでなく、WebSocketや別のプロトコルであってもよい。
【0047】
ブラウザ201は、ScanServer202から、正常レスポンスを受信したか否か判定する(S5004)。ScanServer202にて、Webアプリケーションサービス提供システム300のドメイン(ドメインA)が許可されている場合は正常のレスポンスを受信し、許可されていない場合はエラーのレスポンスを受信する。
【0048】
ブラウザ201(ブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーション)は、ScanServer202から正常レスポンスを受信した場合(S5004のYES)、ScanServer202との通信が可能となる(S5005)。すなわち、クロスドメイン通信(ドメインAとドメインCの通信)が可能となる。ブラウザ201(ブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーション)は、ScanServer202からエラーレスポンスを受信した場合(S5004のNO)、ScanServer202との通信を行うことができない。
【0049】
<ScanServer202の処理>
図6は、ScanServer202の処理を示すフローチャートである。開始されたScanServer202は(S6001)、CORSに従ったリクエスト(HTTPメッセージ)を受信したか否か判定する(S6002)。受信していない場合(S6002のNO)、処理を繰り返す。
【0050】
CORSに従ったリクエストを受信した場合(S6002のYES)、リクエスト内のOriginヘッダーから、リクエスト元(ブラウザ201)ドメイン(ドメインA)を取得する(S6003)。取得したドメインが許可されているドメインとして登録されているか(許可設定されているか)否かを判定する(S6004)。登録されている場合(S6004のYES)、リクエスト元(ブラウザ201)ドメイン(ドメインA)に正常のレスポンスを送信する(S6005)。
【0051】
ScanServer202に許可されているドメインが登録されていない場合(S6004のNO)、ScanServer202は、Originヘッダーに含まれていたドメインを、許可ドメインに登録可能か否かを判定する(S6006)。登録可能か否かの判断は、例えば、予め許可ドメインを登録できる数を登録しておき、その時点で登録されている数が登録できる数以下ならば登録可能とし、登録できる数以上ならば登録不可とする。また、予め許可できないドメインを登録しておき(例えば、ブラックリスト)、Originヘッダーに含まれていたドメインが許可できないドメインであれば登録不可とし、それ以外であれば登録可能とする。また、予め許可できるドメインを登録しておき(例えば、ホワイトリスト)、Originヘッダーに含まれていたドメインが許可できるドメインであれば登録可能とし、それ以外であれば登録不可とする。
【0052】
また、許可されているドメインの設定は、リクエスト毎に毎回必要なものではなく、事前に登録されていれば省略することもできる。S6006にて、登録可能か否かの判断を行うことにより、ユーザへの不要な確認メッセージの表示を削減することができる。登録できない場合(S6006のNO)、CORSによるアクセスが禁止されている動作として、リクエスト元(ブラウザ201)ドメイン(ドメインA)に、エラーレスポンスを送信する(S6010)。
【0053】
登録可能な場合(S6006のYES)、CORS設定の許可確認メッセージを、ユーザ端末200に表示する(S6007)。ScanServer202は、Webアプリケーションサービス提供システム300からのリクエストがユーザから許可されたか否か判定する(S6008)。許可されていない場合(S6008のNO)、S6010に進む。
【0054】
許可された場合(S6008のYES)、そのドメイン(ドメインA)を許可されているドメインとして設定して登録し(S6009)、S6005に進む。
【0055】
なお、S6006乃至S6009の処理を省略し、許可ドメインに登録されていない場合(S6004のNO)は、エラーレスポンスを送信する(S6010)処理としてもよい。また、受信したリクエストは、S6004とS6006の処理を省略し、CORS設定の許可確認メッセージをユーザ端末200に表示する(S6007)処理としてもよい。 また、取得したドメインが許可されているドメインか否か(S6004)の処理を省略し、正常レスポンスを送信する(S6005)処理としてもよい。
【0056】
<画像読取処理結果を含む情報の取得>
従来技術の認証用のプロトコルであるOAuth2.0等の認証情報(例えば、アクセストークン)によって、Webストレージシステム400へのアクセスが可能である場合、ScanServer202は、画像読取処理結果(読み取った画像データ)を含む情報を、Webストレージシステム400(ドメインB)に送信する際にWebストレージシステム400のアクセストークンが必要となる。そこで、ユーザ端末200内のブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションは、画像読取処理を開始する前に、ScanServer202を介して、Webストレージシステム400のアクセストークンを取得し記憶する。
【0057】
図7は、実施形態に係るシステムの機能構成例を示すシーケンス図である。ユーザ1000は、ブラウザ201を介して認証開始操作を指示する(S10010)。ブラウザ201は、Webストレージサービス400へ認証画面要求を送信する(S10011)。Webストレージサービス400は、ブラウザ201へ認証画面の返答を送信する(S10012)。
【0058】
ユーザ1000は、ブラウザ201を介して認証操作を指示する(S10020)。ブラウザ201は、Webストレージサービス400へ認証情報の送信と認可画面要求を送信する(S10021)。Webストレージサービス400は、ブラウザ201へ認可画面の返答を送信する(S10022)。
【0059】
ユーザ1000は、ブラウザ201を介して認可操作を指示する(S10030)。ブラウザ201は、Webストレージサービス400へ認可情報の送信と認可コード取得要求を送信する(S10031)。Webストレージサービス400は、ブラウザ201へ認可コードとリダイレクトを送信する(S10032)。ブラウザ201は、ScanServer202へアクセストークン取得要求を送信する(S10033)。ScanServer202は、Webストレージサービス400へアクセストークン取得要求を送信する(S10034)。Webストレージサービス400は、ScanServer202へアクセストークンの返答を送信する(S10035)。ScanServer202は、ブラウザ201へアクセストークンの返答を送信する(S10036)。ブラウザ201は、受信したアクセストークンを記憶する。なお、アクセストークンは、ScanServer202にて記憶してもよい。
【0060】
ユーザは、ブラウザ201を介して画像読取処理を指示する(S10050)。指示には、スキャン設定(例えば、保存先、解像度、白黒/カラー選択、読取サイズ、ファイル形式等)の情報が含まれる。
図8は、ブラウザ201で表示する画面の一例を示す図である。例えば、書類のボタンを選択した場合、指定のスキャン設定(白黒、300dpi、A4サイズ、両面)にて画像の読取を指示する。なお、ブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションは、
図8に限定されず、ユーザにて自由にカスタマイズすることが可能である。
【0061】
ユーザ端末200内のブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションは、ScanServer202に、S10035にて取得したアクセストークンと、スキャン設定情報と、画像読取処理を開始するリクエスト(画像読取に関するリクエスト)を送信する(S10051)。ScanServer202は、S10035にて取得したアクセストークンを保持する。ScanServer202は、画像読取装置100を占有するために、リクエスト元に一意な接続ID(識別情報)を発行することで、利用元を固定するロック機能を持っていてもよい。
【0062】
図9はユーザ端末200内のブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーション301がロック機能を利用して画像読取処理を行う一例を示した図である。Webアプリケーション301は、画像読取装置100で画像読取処理を開始する前に、ScanServer202に新規の接続IDの発行を依頼する。ScanServer202は、新規の接続IDを発行した場合、接続IDを保持しない他のアプリケーション302からのScanServer202の使用を拒否する。接続IDを伴った画像読取処理を開始し、画像読取装置100の利用が終了した時点で、Webアプリケーション301は、接続IDを伴った切断リクエストを送信する。ScanServer202は、切断リクエストを受信すると、既存の接続IDを破棄し、新規の接続ID発行を待ち受ける状態に戻る。
【0063】
なお、ロック機能において発行された接続IDを知るWebアプリケーション301が接続IDを伴った切断依頼を行う前に終了してしまった場合、
図10のようにScanServer202はロックされたままになってしまい、他のWebアプリケーション302へ接続IDを発行することができない状態になってしまう。この為、ScanServer202は一定時間で発行した接続IDを破棄可能にする機能を保持してもよい。
図11は一定時間で発行した接続IDを破棄可能にした場合を示した図である。一定時間を過ぎた後、新規の接続要求で接続IDを新たに発行している場合は、既存の接続IDによる操作は拒否する。このとき、新たな接続要求を受信した場合には、既存の接続IDを破棄した上で、新たな接続IDを発行するようにしてもよい。しかし、
図12のように一定時間を過ぎた後でも、新規の接続要求がなく、既存の接続IDでの操作リクエストが来た場合、リクエストを受け付けてもよい。またロックが解除される一定時間はWebアプリケーションから指定してもよい。
【0064】
ScanServer202は、ドライバ205にスキャン設定情報と、画像読取処理を開始するリクエストを送信し、ドライバ205は、画像読取装置100にスキャン設定情報と画像読取処理を開始するリクエストを送信する。(S10052)。
【0065】
画像読取装置100は、
図1で説明したように、第1乃至第3搬送部10乃至30の駆動を開始する。載置台1に積載された搬送媒体Sはその最も下に位置する搬送媒体Sから1つずつ搬送される。制御部8は、媒体検出センサ60の検出結果に基づくタイミングで、第2搬送部20により搬送されてきた搬送媒体Sについて、受信したスキャン設定情報に基づいて画像読取ユニット70による画像の読み取りを開始する。読み取った画像は、画像メモリ89に保存し、保存されている画像データから光学文字認識処理を行い、帳票の種類を認識し、画像データに帳票の種類の情報を付加する。その後、取得した画像データを順次ドライバ205に送信する。ドライバ205は、取得した画像データをScanServer202へ送信する(S10053)。画像が読み取られた搬送媒体Sは、第3搬送部30により排出トレイ2に排出されてその搬送媒体Sの画像読取処理が終了する。
【0066】
画像読取装置100は、搬送媒体Sの読み取りに失敗することがある。その原因には、搬送媒体Sが画像読取装置100に詰まってしまう場合や、画像読取装置100のカバーが開かれた結果、読み取りが行えない状態になる場合などが考えられる。
図13のように画像データの読み取りに失敗した場合、画像読取装置100は画像データではなく、読み取り失敗原因をドライバ205に送信する。ドライバ205は、画像読み取り失敗とその原因を、ScanServer202へ送信する。ScanServer202では、画像読み取り処理が失敗し、画像データを取得することなく終了する。その後、画像読取装置100の状態がユーザ端末200と接続している限り、ScanServer202は定期的に画像読取装置100の状態をドライバ205に確認し、次の画像読み取り処理が開始できる状態であるかを保持してもよい。また、画像読取装置100の状態を確認する処理は一定の期間もしくは回数で終了してもよい。
【0067】
ScanServer202は、ユーザ端末200内のブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションから指定された、ScanServer202に保持されているアクセストークンと、画像読取処理結果(画像データ)を含む情報のリクエストを、保存先であるWebストレージサービス6006に送信する(S10054)。画像読取処理結果を含む情報とは、例えば、ユーザと画像データを対応付けた情報、画像データのOCR情報、時間等である。Webストレージサービス6006は、ScanServer202にレスポンスを送信する(S10055)。
【0068】
その後、ユーザ端末200内のブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションは、画像読取処理結果を含む情報と送信結果の要求を適宜ScanServer202に送信し(S10056)、ScanServer202は、レスポンスをブラウザ201に送信する(S10057)。
【0069】
従って、ユーザ端末200内のブラウザ201で動作するWebアプリケーションサービス提供システム300(ドメインA)のWebアプリケーションは、ScanServer202との通信のみで、画像読取処理とWebストレージシステム400(ドメインB)への画像読取処理結果(読み取った画像データ)を含む情報の送信を行うことができる。
【0070】
なお、ScanServer202が画像読取処理結果や情報を送信する際に、Webストレージシステム400がアクセストークンを要求しない場合、
図7におけるアクセストークン取得の処理(S10010〜S10036)を省略することが可能である。
【0071】
本実施例によれば、ScanServer202への画像読取処理を指示する通信を行う際に、ブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションは、異なるドメインであるWebストレージシステム400から取得した認証情報(例えば、アクセストークン)を、ScanServer202へ付与することで、ScanServer202は、画像読取処理結果を含む情報をWebストレージシステム400へ送信することができる。
【0072】
また、ScanServer202からWebストレージシステム400へのリクエスト送信は、ブラウザ201からではなく、一般的なアプリケーションからの通信であるため、クロスドメインアクセスに該当しない。従って、ブラウザ201で動作するWebアプリケーションサービス提供システム300のWebアプリケーションは、ユーザ端末200内のScanServer202を経由することで、Webアプリケーションサービス提供システム300とは異なるドメインであるWebストレージシステム400と直接通信を行わずに、Webストレージシステム400に画像読取装置100より取得した画像読取処理結果(画像データ)を含む情報の送信を行うことができる。
【0073】
ここまでドメインAとドメインBは異なることが前提だったが、同じでもよい。例えば、同じドメインの中にWebアプリケーションと画像読取処理結果を含む情報を受信するためのURLをそれぞれ用意している場合などである。
【0074】
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0075】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【0076】
本願は、2016年11月30日提出の日本国特許出願特願2016−233612を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。