(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-27
(45)【発行日】2024-09-04
(54)【発明の名称】画像読取装置、画像読取装置の制御方法、及びプログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20240828BHJP
G03G 21/00 20060101ALI20240828BHJP
【FI】
H04N1/00 127B
H04N1/00 L
G03G21/00 390
(21)【出願番号】P 2020134444
(22)【出願日】2020-08-07
【審査請求日】2023-08-03
(73)【特許権者】
【識別番号】000104652
【氏名又は名称】キヤノン電子株式会社
(74)【代理人】
【識別番号】110002767
【氏名又は名称】弁理士法人ひのき国際特許事務所
(72)【発明者】
【氏名】山本 祥宜
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開平07-030683(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
G03G 21/00
G06F 3/12
(57)【特許請求の範囲】
【請求項1】
ネットワークを介して複数の情報処理装置と通信可能な画像読取装置であって、
前記ネットワークを介した情報処理装置からの要求に応じ
て一の情報処理装置に対して前記画像読取装置の使用を許可するとともに
、使用を許可しなかった情報処理装置を予約の装置とし
て順に使用を許可
するように制御する制御手段を有し、
前記制御手段は
、使用が許可された情報処理装置による前記画像読取装置の使用が終了した際に
前記予約の装置のうちの予約の先頭
の装置から改めて使用の要求を受ける前においては、前記
画像読取装置を最後に使用した情報処理装置からの要求に対し
て使用を許可し、他の情報処理装置からの要求に対し
て使用を許可しない、ことを特徴とする画像読取装置。
【請求項2】
前記制御手段によ
り使用が許可された情報処理装置に対して前記画像読取装置の使用が許可されたことを示す第1通知を行い、前記制御手段によ
り使用が許可されなかった情報処理装置に対して前記画像読取装置が
他の情報処理装置により使用されていることを示す第2通知を行い
、使用が許可された情報処理装置による前記画像読取装置の使用が終了した際に前記予約の先頭
の装置に対して
、前記予約の先頭の装置による使用を許可することが可能となっ
た許可可能状態であることを示す第3通知を行う通知手段を有し、
前記通知手段は、前記制御手段により前記画像読取装置を最後に使用した情報処理装置に
再度使用が許可された場合に、前記予約の先頭
の装置に対して、前記画像読取装置の使用を許可できなくなったことを示す第4通知を行う、ことを特徴とする請求項1に記載の画像読取装置。
【請求項3】
前記制御手段は
、前記第3通知が行われてから一定の期間が経過しても前記予約の先頭
の装置から改め
て使用の要求がない場合には、
前記予約の先頭の装置を前記予約の装置から除くことを特徴とする請求項2に記載の画像読取装置。
【請求項4】
ネットワークを介して複数の情報処理装置と通信可能な画像読取装置の制御方法であって、
前記ネットワークを介した情報処理装置からの要求に応じて一の情報処理装置に対して前記画像読取装置の使用を許可するとともに、使用を許可しなかった情報処理装置を予約の装置として順に使用を許可するように制御するステップ
を有し、
前記ステップでは、使用が許可された情報処理装置による前記画像読取装置の使用が終了した際に前記予約の装置のうちの前記予約の先頭の装置から使用の要求を受ける前においては、前記画像読取装置を最後に使用した情報処理装置からの要求に対して使用を許可し、他の情報処理装置からの要求に対して使用を許可しない、ことを特徴とする画像読取装置の制御方法。
【請求項5】
コンピュータを、請求項1から3のいずれか一項に記載の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像読取装置、画像読取装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
ネットワークに接続されたスキャナ等の画像読取装置を、使用者が操作する情報処理装置から遠隔操作して、スキャンすることができるシステムが広く利用されている。この時、複数の使用者が同時にネットワーク上に存在する画像読取装置を操作することが考えられる。しかし、あるユーザが画像読取装置を使用している最中に別のユーザがコマンドを送信することによりシーケンスエラーなどが発生し、画像読取装置の機能を満たすことができなくなる可能性がある。このため、最初に使い始めたユーザに画像読取装置を占有させ、後から使おうとしたユーザには使用を許可しないなどの、排他制御が行われている。
【0003】
この種の技術では、画像読取装置と同じネットワーク上に存在する全ての情報処理装置が自由に画像読取装置の占有が可能である。このため、画像読取装置を使用したいユーザは、画像読取装置を使用しているユーザが使用を終了したタイミングで画像読取装置の占有を行わないと、第3のユーザに占有されてしまう。この場合、画像読取装置を使用したいユーザは、画像読取装置を使用できず作業が滞ってしまう可能性がある。このように、この種の技術では、必ずしもユーザにとって効率的な排他制御が行われているとは言えないといった課題があった。
【0004】
この課題を解決するための方法の一つとして、特許文献1に記載の技術がある。この技術では、第1のユーザによって画像読取装置が占有されていた場合には、第2のユーザは画像読取装置の予約を行うことができる。この場合、画像読取装置は第1のユーザが使用を終えて占有を解除したのちに、画像読取装置の使用を予約した第2のユーザに対し、画像読取装置の使用が可能になった旨を通知する。第2のユーザが画像読取装置の予約を行った後に、第3のユーザが画像読取装置の予約を行っていた場合で、かつ、画像読取装置は第2のユーザからの操作が一定時間ない場合は、第3のユーザに画像読取装置の使用が可能になった旨を通知し、第3のユーザが画像読取装置を使用できることを特徴とする。これにより、各ユーザの利便性を向上させることを目的としている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載の予約方法では、利便性が向上しないユーザが残ってしまう。例えば、第1のユーザが画像読取装置の使用を終了した後に、一部タスクを行うのを忘れてしまったことや読取画像の不備を発見した場合のように、第1のユーザがもう一度画像読取装置を使用しなければならないことに気付く場合がある。このような場合、この時点で、第1のユーザは、新たに画像読取装置を予約して使用することになる。しかし、その時点で他のユーザが画像読取装置の使用を予約している場合には、第1のユーザは、その時点で予約されている全てのユーザの使用時間分、画像読取装置の使用を待たなければならないといった事態が発生する。
【0007】
このように、ほんの一部の出力画像の不備のために画像読取装置の使用を待機することは第1のユーザにとっての利便性が著しく低下させてしまう。特に、画像読取装置の使用終了直後は、読取画像の不備に気が付きやすいため、再使用が必要であることに気づいた時点で、即座に画像読取装置の再使用が可能となることが望ましい。なお、この種の課題は画像読取装置に限定されるものではなく、ネットワークを介して情報処理装置から使用する周辺装置等の各種装置に共通の課題でもある。
【0008】
本発明は、上記の課題を解決するためになされたものである。本発明は、より多くのユーザの利便性を向上させることが可能な仕組みを提供することを目的とするものである。
【課題を解決するための手段】
【0009】
本発明は、上記を鑑み、ネットワークを介して複数の情報処理装置と通信可能な画像読取装置であって、前記ネットワークを介した情報処理装置からの要求に応じて一の情報処理装置に対して前記画像読取装置の使用を許可するとともに、使用を許可しなかった情報処理装置を予約の装置として順に使用を許可するように制御する制御手段を有し、前記制御手段は、使用が許可された情報処理装置による前記画像読取装置の使用が終了した際に前記予約の装置のうちの予約の先頭の装置から改めて使用の要求を受ける前においては、前記画像読取装置を最後に使用した情報処理装置からの要求に対して使用を許可し、他の情報処理装置からの要求に対して使用を許可しない、ことを特徴とする。
【発明の効果】
【0010】
本発明によれば、より多くのユーザの利便性を向上させることが可能となる。
【図面の簡単な説明】
【0011】
【
図1】本実施形態を示す画像読取装置を含むシステムの概略の一例を示す図。
【
図2】本実施形態の画像読取装置の概略構成の一例を示す断面図。
【
図3】本実施形態の画像読取装置の制御部の構成の一例を示すブロック図。
【
図4】本実施形態の情報処理装置の制御ユニットの構成の一例を示すブロック図。
【
図5】本実施形態におけるシーケンスの一例を示す図。
【
図6】本実施形態の画像読取装置で実行される使用処理を示すフローチャート。
【
図7】本実施形態の情報処理装置のユーザインターフェースの一例を示す図。
【
図8】本実施形態の情報処理装置のユーザインターフェースの一例を示す図。
【
図9】本実施形態の使用中止処理の一例を示すシーケンス図。
【
図10】本実施形態の情報処理装置のユーザインターフェースの一例を示す図。
【
図11】本実施形態を示す画像読取装置を含むシステムの他の例を示す図。
【
図12】本実施形態におけるシーケンスの他の例を示す図。
【発明を実施するための形態】
【0012】
図1は、本発明の一実施形態を示す画像読取装置を含むシステムの概略の一例を示す図である。
図1に示すシステムでは、画像読取装置Aと2つの情報処理装置から構成される例を示す。本実施形態では情報処理装置はパーソナルコンピュータ(PC)であるとし、それぞれPC100、PC200とする。画像読取装置AとPC100、また、画像読取装置AとPC200はそれぞれネットワーク(以下「LAN」)を介して通信可能に接続可能である。なお、LANは、無線でも有線でも、それらが混在するものでもよい。
また、本実施形態では、情報処理装置としてPCを例に説明するが、これは一例であり、スマートフォンやタブレット型コンピュータ等でもよい。
【0013】
<装置の構成>
図2は、画像読取装置Aの概略構成の一例を示す断面図である。
画像読取装置Aは、載置台1に積載された1又は複数の搬送媒体Sを1枚ずつ装置内に経路RTにて搬送してその画像を読み取り、排出トレイ2に排出する装置である。読み取る搬送媒体Sは、例えば、OA紙、チェック、小切手、カード類等のシートであり、厚手のシートであっても、薄手のシートであってもよい。カード類は、例えば、保険証、免許証、クレジットカード等を挙げることができる。また、搬送媒体Sには、パスポートなどの冊子も含まれる。
【0014】
画像読取装置Aには、経路RTに沿って搬送媒体Sを給送する給送機構としての第1搬送部10が設けられている。第1搬送部10は本実施形態の場合、送りローラ11と、送りローラ11に対向配置される分離ローラ12と、を備え、載置台1上の搬送媒体Sを搬送方向D1に1枚ずつ順次搬送する。送りローラ11には、モータ等の駆動部3から伝達部5を介して駆動力が伝達され、図中矢印方向(経路RTに沿って搬送媒体Sを搬送させる正方向)に回転駆動される。
【0015】
伝達部5は例えば電磁クラッチであり、駆動部3からの送りローラ11への駆動力を断続する。駆動部3と送りローラ11とを接続する伝達部5は、例えば本実施形態では、通常時において駆動力が伝達される状態とし、搬送媒体Sの逆送の場合に駆動力を遮断する。送りローラ11は伝達部5により駆動力の伝達が遮断されると、自由回転可能な状態となる。なお、このような伝達部5は、送りローラ11を一方向のみに駆動させる場合には設けなくてもよい。
【0016】
送りローラ11に対向配置される分離ローラ12は、搬送媒体Sを1枚ずつ分離するためのローラであり、送りローラ11に対して一定圧で圧接している。この圧接状態を確保するため、分離ローラ12を揺動可能に設けると共に、送りローラ11へ付勢されるように構成する。分離ローラ12は、トルクリミッタ12aを介して駆動部3から駆動力が伝達され、実線矢印方向(送りローラ11の正方向とは逆方向))に回転駆動される。
【0017】
分離ローラ12は、トルクリミッタ12aにより駆動力伝達が規制されるため、送りローラ11と当接している際は、送りローラ11に連れ回りする方向(破線矢印方向)に回転する。これにより、複数の搬送媒体Sが送りローラ11と分離ローラ12との圧接部に搬送されてきた際には、一つを残して2つ以上の搬送媒体Sが下流に搬送されないようにせき止められる。
【0018】
なお、本実施形態では分離ローラ12と送りローラ11とで分離機構を構成したが、このような分離機構は必ずしも設けなくてもよく、経路RTに搬送媒体Sを1つずつ順次給送する給送機構であればよい。また、分離機構を設ける場合においては、分離ローラ12のような構成の代わりに、搬送媒体Sに摩擦力を付与する分離パッドを送りローラ11に圧接させて、同様の分離作業を持たせるようにしてもよい。
【0019】
第1搬送部10の搬送方向下流側にある搬送機構としての第2搬送部20は、駆動ローラ21と、駆動ローラ21に従動する従動ローラ22とを備え、第1搬送部10から搬送されてきた搬送媒体Sをその下流側へ搬送する。駆動ローラ21にはモータ等の駆動部4から駆動力が伝達され、図中矢印方向に回転駆動される。従動ローラ22は駆動ローラ21に対して一定圧で圧接し、駆動ローラ21に連れ回る。この従動ローラ22は、バネ等の付勢ユニット(不図示)によって駆動ローラ21に対して付勢された構成としてもよい。
【0020】
第2搬送部20よりも搬送方向下流側にある第3搬送部30は、駆動ローラ31と、駆動ローラ31に従動する従動ローラ32とを備え、第2搬送部20から搬送されてきた搬送媒体Sを排出トレイ2へ搬送する。つまり、この第3搬送部30は排出機構として機能する。駆動ローラ31にはモータ等の駆動部4から駆動力が伝達され、図中矢印方向に回転駆動される。従動ローラ32は駆動ローラ31に対して一定圧で圧接し、駆動ローラ31に連れまわる。この従動ローラ32は、バネ等の付勢ユニット(不図示)によって駆動ローラ31に対して付勢された構成としてもよい。
【0021】
ここで、本実施形態の画像読取装置Aでは、第2搬送部20と第3搬送部30との間に配置される画像読取ユニット70によって画像の読み取りを行うため、第2搬送部20及び第3搬送部30は搬送媒体Sを定速搬送する。搬送速度は、常に第1搬送部10の搬送速度以上とすることで、先行搬送媒体Sに後続搬送媒体Sが追いついてしまう事態を確実に回避できる。例えば、本実施形態では、第2搬送部20及び第3搬送部30による搬送媒体Sの搬送速度を、第1搬送部10による搬送媒体Sの搬送速度よりも速くなるように速度制御するようにしている。
【0022】
なお、第2搬送部20及び第3搬送部30による搬送媒体Sの搬送速度と、第1搬送部10による搬送媒体Sの搬送速度とを同一条件とした場合でも、駆動部3を制御して後続搬送媒体Sの給送開始タイミングを間欠的にずらすことにより、先行搬送媒体Sと後続搬送媒体Sとの間に最低限の間隔を形成することも可能である。
【0023】
第1搬送部10と第2搬送部20との間に配置される重送検出センサ40は、静電気等で紙などの搬送媒体S同士が密着し、第1搬送部10を通過してきた場合(つまり重なって搬送される重送状態の場合)に、これを検出するための検出センサ(シートの挙動や状態を検出するセンサ)の一例である。重送検出センサ40としては、種々のものが利用可能であるが、本実施形態の場合には超音波センサを利用する。重送検出センサ40は、超音波の発信部41とその受信部42とを備え、紙等の搬送媒体Sが重送されている場合と1枚ずつ搬送されている場合とで、搬送媒体Sを通過する超音波の減衰量が異なることを原理として重送を検出する。
【0024】
また、重送検出センサ40よりも搬送方向下流側に媒体検出センサ50が配置される。媒体検出センサ50は、第2搬送部20よりも上流側で、第1搬送部10よりも下流側に配置された上流側の検出センサ(シートの挙動や状態を検出するセンサ)としての一例である。媒体検出センサ50は、第1搬送部10により搬送される搬送媒体Sの位置、詳細には、媒体検出センサ50の検出位置に搬送媒体Sの端部が到達又は通過したか否かを検出する。媒体検出センサ50としては、種々のものが利用可能であるが、本実施形態の場合には光学センサを利用する。媒体検出センサ50は、発光部51とその受光部52とを備え、搬送媒体Sの到達又は通過により受光強度(受光量)が変化することを原理として搬送媒体Sを検出する。
【0025】
本実施形態の場合、搬送媒体Sの先端が媒体検出センサ50で検出されると、搬送媒体Sが重送検出センサ40により重送を検出可能な位置に到達しているように、上記の媒体検出センサ50は重送検出センサ40の近傍においてその下流側に設けられている。なお、この媒体検出センサ50は、上記の光学センサに限定されず、例えば、搬送媒体Sの端部が検知できるセンサ(イメージセンサ等)を用いてもよいし、経路RTに突出したレバー型のセンサでもよい。
【0026】
媒体検出センサ50とは別の媒体検出センサ60は、画像読取ユニット70よりも上流側で、第2搬送部20よりも下流側に配置された下流側の検出センサとしての一例である。媒体検出センサ60は、第2搬送部20により搬送される搬送媒体Sの位置を検出する。媒体検出センサ60としては、種々のものが利用可能であるが、本実施形態の場合、媒体検出センサ50と同様に光センサを利用する。媒体検出センサ60は、発光部61と受光部62とを備え、搬送媒体Sの到達又は通過により受光強度(受光量)が変化することを原理として搬送媒体Sを検出する。なお、本実施形態では、第2搬送部20の搬送方向上流側と下流側のそれぞれに媒体検出センサ50、60を配置したが、何れか一方だけでもよい。
【0027】
媒体検出センサ60よりも下流側にある画像読取ユニット70は、例えば、光学的に走査し、電気信号に変換して画像データとして読み取るものであり、内部にLED等の光源、イメージセンサ、レンズアレー等を備えている。本実施形態の場合、画像読取ユニット70は経路RTの両側に一つずつ配置されており、搬送媒体Sの表裏面を読み取る。しかし、経路RTの片側にのみ一つ配置して、搬送媒体Sの片面のみを読み取る構成としてもよい。また、本実施形態では、画像読取ユニット70を経路RTの両側に対向配置した構造としているが、例えば、経路RTの方向に間隔をあけて配置してもよい。
なお、画像読取装置Aには、制御部8が設けられている。
【0028】
以下、
図3を参照して制御部8について説明する。
図3は、画像読取装置Aの制御部8の構成の一例を示すブロック図である。
【0029】
図3に示すように、制御部8は、CPU801、記憶部802、第一装置情報記憶部803、第二装置情報記憶部804、操作部805、通信部806、使用状態記憶部807、アクチュエータ808、インターフェース部809及びセンサ810を備える。
【0030】
CPU801は、記憶部802に記憶されたプログラムを実行することにより、画像読取装置A全体の制御を行う。
記憶部802は、例えば図示しないRAM、ROM等から構成される。
【0031】
第一装置情報記憶部803は、例えば画像読取装置Aの図示しないRAM内の記憶領域に設けられる。第一装置情報記憶部803は、現在画像読取装置Aを使用している(又は画像読取装置Aを最後に使用した)情報処理装置に関する装置情報(例えばIPアドレス)を記憶するためのものである。なお、ここでは装置情報としてIPアドレスを挙げているが、これは一例であり、情報処理装置の装置名やMACアドレス等でもよい。
【0032】
第二装置情報記憶部804は、例えば画像読取装置Aの図示しないRAM内の記憶領域に設けられる。第二装置情報記憶部804は、画像読取装置Aを予約しているユーザの情報処理装置に関する装置情報の一覧(「予約リスト」ともいう)を、画像読取装置Aに対して使用要求を行った順に格納するための順序ありのリスト構造等を有するものである。なお、第二装置情報記憶部804は、リスト構造に限定されるものではなく、CPU801が画像読取装置Aの使用を許可しなかった情報処理装置を予約の装置として使用要求のあった順に使用の許可が可能となるように管理可能な構成であれば、どのような構成でもよい。
【0033】
使用状態記憶部807は、例えば画像読取装置Aの図示しないRAM内の記憶領域に設けられる。使用状態記憶部807は、現在画像読取装置Aを使用している情報処理装置が存在しているか否かによって値が変更されるものであり、以下「使用装置存在ビット」ともいう。なお、使用装置存在ビットには「存在しない」を表す「0」、「存在する」を表す「1」の2つの値のみがセット可能である。
【0034】
なお、詳細は後述するが、記憶部802の不図示のRAM内の記憶領域には、情報処理装置からの使用要求に対しての応答内容を決定するための変数(以下「使用処理結果格納変数」とする)が記憶される。使用処理結果格納変数に「0」が設定されていた場合に「使用処理失敗」、「1」が設定されていた場合に「使用処理成功」、「2」が設定されていた場合に「再使用処理成功」が、使用要求への応答として要求元に送信されることになる。
【0035】
操作部805は、例えば、スイッチやタッチパネル等で構成され、操作者からの操作を受け付ける。
通信部806は、LANを介して情報処理装置との情報通信を行うインターフェースである。本実施形態では、通信部806はWi-Fi規格に従ってネットワークと接続し、通信を行うものとする。ただし、本発明はこれに限るものではなく、ネットワークを介する通信のインターフェースであって、複数の情報処理装置と通信可能なものであれば、無線でも有線でも、どのようなものでもよい。
【0036】
インターフェース部809は、アクチュエータ808やセンサ810等とのデータの入出力を行うI/Oインターフェースである。
アクチュエータ808には、駆動部3、駆動部4、伝達部5等が含まれる。
センサ810には、重送検出センサ40、媒体検出センサ50及び60、画像読取ユニット70等が含まれる。
【0037】
図4は、PC100,PC200等の情報処理装置の制御ユニットの構成の一例を示すブロック図である。
情報処理装置の制御ユニット9は、通信部91、表示部92、ROM93、RAM94、操作部95、CPU96を備える。本実施形態では情報処理装置をPCとして説明するが、これは一例であり、通信部91、表示部92、ROM93、RAM94、操作部95、CPU96を備える情報処理装置であればどのようなものでもよい。
【0038】
通信部91は、LANを介して画像読取装置Aとの情報通信を行うインターフェースである。本実施形態では、通信部91は、Wi-Fi規格に従ってネットワークと接続し、通信を行うものとする。ただし、本発明はこれに限るものではなく、ネットワークを介する通信のインターフェースであって、画像読取装置Aと通信可能なものであれば、無線でも有線でも、どのようなものでもよい。
【0039】
表示部92は、ユーザインターフェースを表示する。本実施形態では、表示部92は液晶画面とする。ただしこれは一例であり、ユーザインターフェースを表示できるものであればどのようなものでもよい。
【0040】
ROM93は、オペレーティングシステム(OS)や画像読取装置Aの画像読取アプリケーション等の制御プログラムや、制御プログラムで用いるデータが記憶されるフラッシュROMである。ROM93に記憶されたプログラムは、RAM94に適宜取り込まれ、CPU96により実行される。
CPU96は、ROM93に記憶された制御プログラムを実行する。
RAM94は、作業領域として利用される。
【0041】
操作部95は、操作者からの操作を受け付ける。本実施形態では操作部95はキーボードとマウスとする。ただしこれは一例であり、操作者の操作を受け付けるものであればどのようなものでもよく、タッチパネルでもよい。
【0042】
以下、画像読取装置Aの基本的な動作について説明する。
制御部8は、PC100、200等の情報処理装置から画像の読取開始指示を受信すると、第1搬送部10、第2搬送部20、第3搬送部30の駆動を開始する。載置台1に積載された搬送媒体Sは、その最も下に位置する搬送媒体Sから1つずつ搬送される。
また、制御部8は、媒体検出センサ60による搬送媒体Sの検知に基づくタイミングで、第2搬送部20により搬送されてきた搬送媒体Sの、画像読取ユニット70による画像の読み取りを開始し、読み取った画像を一時記憶して順次情報処理装置へ送信する。画像が読み取られた搬送媒体Sは、第3搬送部30により排出トレイ2に排出されてその搬送媒体Sの画像読取処理が終了する。
【0043】
図5は、本実施形態におけるシーケンスの一例を示すシーケンス図である。なお、本実施形態では、PC100を使用しているユーザ1が画像読取装置Aを先に使用し、PC200を使用しているユーザ2が後から画像読取装置Aの予約を行う状況について説明する。なお、PC100にはIPアドレス1、PC200にはIPアドレス2があらかじめ割り当てられているものとする。また、この図において、画像読取装置Aの処理は、CPU801が記憶部802に記憶されたプログラムを読み出して実行することにより実現される。また、PC100、200等の情報処理装置の処理は、情報処理装置のCPU96がROM93に記憶されたプログラム(画像読取アプリケーション等)を必要に応じてRAM94に読み出して実行することにより実現される。
【0044】
S501にて、ユーザ1が、PC100において画像読取アプリケーションを立ち上げ、PC100から画像読取装置Aの使用を試みる。この操作を受け付けたPC100は、S502にて、画像読取装置Aに対して「使用要求コマンド」を送信する。この使用要求コマンドにはPC100のIPアドレスの情報が含まれている。
PC100から「使用要求コマンド」を受信した画像読取装置Aは、S503にて、使用処理を実行する。この使用処理の詳細は
図6に示す。
【0045】
図6は、PC100、200等の情報処理装置からの使用要求コマンドに応じて画像読取装置Aで実行される使用処理の一例を示すフローチャートである。このフローチャートの処理は、画像読取装置AのCPU801が記憶部802に記憶されたプログラムを読み出して実行することにより実現される。
【0046】
上述した使用装置存在ビットおよび使用処理結果格納変数が不図示のRAM内に設けられるのは、画像読取装置Aの電源投入時であるとし、また設けた直後に使用装置存在ビットには「0」の値(すなわち「存在しない」)を、使用処理結果格納変数には「0」の値(すなわち「使用処理失敗」)をそれぞれ格納する。また、第一装置情報記憶部803および第二装置情報記憶部804が不図示のRAM内に設けられるのも、画像読取装置Aの電源投入時であるとし、また設けた直後に第一装置情報記憶部803には「0」(すなわち「存在しない」)をセットし、第二装置情報記憶部804の予約リストはリストの中身を空にし、サイズを「0」(すなわち「存在しない」)とする。
【0047】
画像読取装置AのCPU801は、PC100、200等の情報処理装置からの使用要求コマンドを受信すると(S600)、S601に処理を進める。
S601では、CPU801は、使用要求コマンドの送信元のIPアドレスを抽出する。
またS602において、CPU801は、使用処理結果格納変数の値に「0」をセットし、S603以降の処理に移行する。
【0048】
S603にて、CPU801は、使用装置存在ビットの値を確認する。使用装置存在ビットの値が「0」である場合(S603でNOの場合)、CPU801は、現在画像読取装置Aが使用されていないと判断し、S607の処理へ処理を進める。
【0049】
S607にて、CPU801は、第二装置情報記憶部804に値が格納されている(リストのサイズが「0」でない)か確認する。第二装置情報記憶部804に値が格納されていない(リストのサイズが「0」である)場合(S607でNOの場合)、CPU801は、使用の予約をしている装置が存在しないと判断し、S610に処理を進める。
【0050】
S610では、CPU801は、第一装置情報記憶部803に、上記S601で抽出したIPアドレスを格納する。
次にS611にて、CPU801は、使用処理結果格納変数の値に「1」だけ加算する(インクリメント)。
次にS612にて、CPU801は、使用装置存在ビットに「1」(現在画像読取装置Aを使用している情報処理装置が存在することを意味する)をセットし、本フローチャートの処理を終了する。これらの処理により、使用中の装置が存在しない状態で予約リストが空の場合、使用要求があった情報処理装置に使用が許可されることになる。
【0051】
また上記S607において、第二装置情報記憶部804に値が格納されている(リストのサイズが「0」でない)場合(S607でYESの場合)、CPU801は、使用の予約をしている装置が存在すると判断し、S604に処理を進める。
【0052】
また、上記S603にて使用装置存在ビットの値が「1」である場合(S603でYESの場合)、CPU801は、現在画像読取装置Aが使用されていると判断し、S606に処理を進める。S606の処理については後述する。
【0053】
S604では、CPU801は、第一装置情報記憶部803に記憶されているIPアドレスと、上記S601にて抽出したIPアドレスが一致するか比較する。比較結果が一致する場合(S604でYESの場合)、CPU801は、上記S600で受信した使用要求コマンドが現在読取装置Aを使用している又は最後に使用した情報処理装置からのコマンドであるため使用を許可すべきと判断し、S608に処理を進める。
【0054】
S608では、CPU801は、使用処理結果格納変数の値に「1」だけ加算し、S610に処理を進める。S610以降は説明済みであるため省略するが、これらの処理により、予約リストが空でない場合、現在読取装置Aを使用している又は最後に使用した情報処理装置から使用要求があった場合には、該情報処理装置に使用が許可される。
【0055】
また、上記S604の比較結果が一致しない場合(S604でNOの場合)、CPU801は、S605に処理を進める。
【0056】
S605では、CPU801は、第二装置情報記憶部804の先頭のIPアドレスと上記S601にて抽出したIPアドレスが一致するか比較する。比較結果が一致する場合(S605でYESの場合)、CPU801は、上記S600で受信した使用要求コマンドが予約リスト先頭の情報処理装置からのコマンドであるため許可すべきと判断し、S609に処理を進める。
【0057】
S609では、CPU801は、第二装置情報記憶部804の先頭に格納しているIPアドレスを削除し、その分要素を1つ繰り上げる。例えば、第二装置情報記憶部804に先頭から順にIPアドレスA、IPアドレスB、IPアドレスCが格納されていた場合には、リストの先頭のIPアドレスAを削除し、先頭から順にIPアドレスB、IPアドレスCが格納されるようにリストを変更する。S609の処理の後、CPU801は、S610に処理を進める。S610以降は説明済みであるため省略するが、これらの処理により、予約リストが空でない場合、予約リスト先頭の情報処理装置から使用要求があった場合には、該情報処理装置に使用が許可されることになる。
【0058】
また、上記S605の比較結果が一致しない場合(S605でNOの場合)、CPU801は、上記S600で受信した使用要求コマンドが現在読取装置Aを使用している又は最後に使用した情報処理装置、予約リスト先頭の情報処理装置のいずれでもない情報処理装置からのコマンドであるため許可すべきでないと判断し、S606に処理を進める。
【0059】
S606では、CPU801は、第二装置情報記憶部804の末尾に装置情報を追加する。本実施形態では装置情報として、上記S601にて抽出したIPアドレスを追加する。S606の後、CPU801は、本フローチャートの処理を終了する。これらの処理により、予約リストが空でない場合、現在読取装置Aを使用している又は最後に使用した情報処理装置、予約リスト先頭の情報処理装置のいずれでもない情報処理装置から使用要求があった場合には、該情報処理装置に対して使用が許可されず、予約リストに追加されることになる。
【0060】
ここで
図5のS503の「使用処理」について説明する。
S503の処理の開始時点では、使用装置存在ビットの値は「0」であり、第二装置情報記憶部804に値が格納されていない(予約リストが空)。このためS503の使用処理は、S600、S601、S602、S603、S607、S610、S611、S612の通りに行われる。これにより、第一装置情報記憶部803にIPアドレス1(すなわちPC100)、使用処理結果格納変数の値に「1」(すなわち「使用処理成功」)、使用装置存在ビットに「1」がそれぞれセットされることになる。すなわち、PC100に使用が許可されることになる。
【0061】
上記S503の使用処理の後、画像読取装置Aは、S504に処理を進める。上記S503の使用処理において、使用処理結果格納変数の値には「1」(すなわち「使用処理成功」)がセットされているため、S504では、画像読取装置Aは、第一装置情報記憶部803に記憶されているIPアドレス1(すなわちPC100)に対して、使用要求に対する応答として「使用処理成功通知」を送信する。
【0062】
PC100が「使用処理成功通知」を受信すると、S505にて、PC100の画像読取アプリケーションは、
図7に示すユーザインターフェース(操作画面700)を表示部92に表示する。
【0063】
図7は、画像読取装置Aから使用処理成功通知を受信した場合に情報処理装置の表示部に表示されるユーザインターフェース(操作画面700)の一例を示す図である。
[画像読取]ボタン701は、画像読取装置Aに画像の読み取りを指示する場合に押下するボタンである。[閉じる]ボタン702は、画像読取アプリケーションを終了する場合に押下するボタンである。
図5のS505では、ユーザ1が操作画面700上の[画像読取]ボタン701を押下するものとする。この操作に応じて、PC100は、S506に処理を進める。なお、この操作画面700において、画像読取設定や画像の送信先を指定するメニューを表示しても良く、それらを複数ページに亘って表示しても良い。
【0064】
S506では、PC100は、画像読取装置Aに対して「画像読取指示コマンド」を送信する。
PC100から「画像読取指示コマンド」を受信すると、画像読取装置Aは、S507にて、画像読取処理を実行する。さらに、S508にて、画像読取装置Aは、第一装置情報記憶部803に記憶されているIPアドレス1(すなわちPC100)に対して、上記S507の画像読取処理の画像読取結果を送信する。
【0065】
ここでユーザ2が、PC200において画像読取アプリケーションを立ち上げ、PC200から画像読取装置Aの使用を試みるものとする(S509)。この操作を受け付けたPC200は、S510にて、画像読取装置Aに対して「使用要求コマンド」を送信する。この使用要求コマンドにはPC200のIPアドレスの情報が含まれている。
PC200から「使用要求コマンド」を受信した画像読取装置Aは、S511にて、
図6で説明した使用処理を実行する。
【0066】
以下、上記S511の使用処理について
図6を用いて説明する。
S511の処理の開始時点では、使用装置存在ビットの値は「1」であり、第一装置情報記憶部803にはIPアドレス1が格納され、第二装置情報記憶部804には値が格納されていない(予約リストは空)。以下、詳細に説明する。
【0067】
画像読取装置AのCPU801は、PC200からの使用要求コマンドを受信すると(S600)、使用要求コマンドの送信元であるPC200のIPアドレスを抽出し(S601)、使用処理結果格納変数の値に「0」をセットする。
【0068】
次にS603にて、CPU801は、使用装置存在ビットの値が「1」であるため(S603でYES)、S604に処理を進める。
S604では、CPU801は、第一装置情報記憶部803に記憶されているIPアドレスとS601にて抽出したIPアドレスが一致しないため、S605に処理を進める。
S605にて、CPU801は、第二装置情報記憶部804の先頭のIPアドレス(格納されていない)とS601にて抽出したIPアドレスが一致しないためS606に処理を進める。
S606にて、CPU801は、S601にて抽出したIPアドレス(本実施形態ではIPアドレス2)を第二装置情報記憶部804の末尾(予約リストが空のため先頭に対応する)に格納し、処理を終了する。
【0069】
以上のようにS511の使用処理では、S600、S601、S602、S603、S604、S605、S606の通りに行われる。これにより、使用処理結果格納変数の値に「0」、第二装置情報記憶部804の先頭にIPアドレス2がそれぞれセットされることになる。
【0070】
上記S511の使用処理の後、画像読取装置Aは、S512に処理を進める。上記S511の使用処理において、使用処理結果格納変数の値には「0」(すなわち「使用処理失敗」)がセットされているため、S512では、画像読取装置Aは、第二装置情報記憶部804の末尾に記憶されているIPアドレス2(すなわちPC200)に対して、使用要求に対する応答として「使用処理失敗通知」を送信する。なお、「使用処理失敗通知」は、画像読取装置Aが他の情報処理装置により使用されているため使用の許可がされないこと(拒否)を示す通知に対応する。
【0071】
PC200が「使用処理失敗通知」を受信すると、S513にて、PC200の画像読取アプリケーションは、
図8に示すユーザインターフェース(使用中通知800)を表示部92に表示する。
【0072】
図8は、画像読取装置Aから使用処理失敗通知を受信した場合に情報処理装置の表示部に表示されるユーザインターフェース(使用中通知800)の一例を示す図である。
使用中通知800は、使用要求した画像読取装置(本実施形態では画像読取装置A)を他のユーザが使用中であることをユーザに通知するユーザインターフェースである。ただしこれは一例であり、情報処理装置に表示するユーザインターフェースは、使用要求した画像読取装置が現在使用できないことを示すものであればどのようなものでもよい。
【0073】
なお、画像読取装置Aは、「使用処理失敗通知」を情報処理装置に送信する場合、その情報処理装置が予約リストの何番目に登録されているかを示す情報を「使用処理失敗通知」に含めるようにしてもよい。この場合、「使用処理失敗通知」を受信した情報処理装置は、「使用処理失敗通知」に含まれる情報に基づいて、画像読取装置Aを何番目に使用できるか(自分より前に何人待っている)を示す情報を、使用中通知800上に表示してもよい。なお、画像読取装置Aは、予約リストが更新された場合には、予約リストに登録されている情報処理装置に対して予約リストの何番目に登録されているかを示す情報を通知し、情報処理装置側では上述の何番目に使用できるか(自分より前に何人待っている)を示す情報の表示を更新してもよい。
【0074】
ここでユーザ1が、PC100に表示される
図7のユーザインターフェース(操作画面700)にて[閉じる]ボタン702を押下して画像読取アプリケーションを終了し、PC100と画像読取装置Aの使用中止を試みたとする(S514)。この操作を受け付けたPC100の画像読取アプリケーションは、該画像読取アプリケーションの終了の操作をトリガーに、画像読取装置Aに対して「使用中止要求コマンド」を送信し(S515)、画像読取アプリケーションを終了する。
PC100から「使用中止要求コマンド」を受信した画像読取装置Aは、S516にて、使用中止処理を実行する。この使用中止処理の詳細は
図9に示す。
【0075】
図9は、PC100、200等の情報処理装置からの使用中止要求コマンドに応じて実行される使用中止処理の一例を示すシーケンス図である。この図において、画像読取装置Aの処理は、CPU801が記憶部802に記憶されたプログラムを読み出して実行することにより実現される。また、PC100、200等の情報処理装置の処理は、情報処理装置のCPU96がROM93に記憶されたプログラムを必要に応じてRAM94に読み出して実行することにより実現される。
【0076】
まず「使用中止要求コマンド」を受信した画像読取装置Aは、S901にて、使用装置存在ビットに「0」をセットする。
次にS902にて、画像読取装置Aは、第二装置情報記憶部804に記憶される予約リストのサイズを確認する。第二装置情報記憶部804に記憶される予約リストのサイズが「0」でない場合(予約リストが空でない場合)、画像読取装置Aは、S903の処理を実行する。
【0077】
S903において、画像読取装置Aは、第二装置情報記憶部804の予約リストの先頭に記憶されているIPアドレス(S516の使用中止処理ではIPアドレス2)に対して「使用中止済通知コマンド」を送信し、本使用中止処理を終了する。この「使用中止済通知コマンド」は、PC200の画像読取アプリケーションにより受信される。
一方、第二装置情報記憶部804に記憶される予約リストのサイズが「0」の場合(予約リストが空の場合)、画像読取装置Aは、上記S903の処理を実行することなく本使用中止処理を終了する。
【0078】
図5のS516の使用中止処理の開始時点では、S511にて第二装置情報記憶部804の先頭にIPアドレス2を格納済みである。このため、第二装置情報記憶部804の予約装置リストのサイズは「0」でなく、画像読取装置Aは、IPアドレス2に対して「使用中止済通知コマンド」を送信する。「使用中止済通知コマンド」は、他の情報処理装置による画像読取装置Aの使用が終了したため、画像読取装置Aの使用を許可することが可能となった許可可能状態であることを示す通知に対応する。
【0079】
画像読取装置Aから「使用中止済通知コマンド」を受信すると、S517にて、PC200の画像読取アプリケーションは、表示部92に表示している
図8に示したユーザインターフェース(使用中通知800)を破棄する。
上記S517の直後にS518にて、PC200の画像読取アプリケーションは、表示部92に、
図10に示すユーザインターフェース(使用可能通知1000)を表示する。
【0080】
図10は、画像読取装置Aから使用中止済通知コマンドを受信した場合に情報処理装置の表示部に表示されるユーザインターフェース(使用可能通知1000)の一例を示す図である。
【0081】
使用可能通知1000は、画像読取装置Aが使用可能になったことをユーザに通知する。また、ユーザが[使用開始]ボタン1001を押下すると、情報処理装置(ここではPC200)の画像読取アプリケーションは、画像読取装置Aに対して「使用要求コマンド」を送信する。ただしこれは一例であり、情報処理装置に表示するユーザインターフェースは、使用要求した画像読取装置Aが使用可能になったことを通知するものであればどのようなものでもよい。
なお、
図5に示すシーケンス図の例では[使用開始]ボタンは、後述するS531で押されることになる。
【0082】
ここでユーザ1が、再度、PC100において画像読取アプリケーションを立ち上げ、PC100から画像読取装置Aの使用を試みたとする(S519)。この操作を受け付けたPC100は、S520にて、画像読取装置Aに対して「使用要求コマンド」を送信する。使用要求コマンドにはPC100のIPアドレス1の情報が含まれている。
PC100から「使用要求コマンド」を受信した画像読取装置Aは、S521にて、
図6で説明した使用処理を実行する。
【0083】
以下、上記S521の使用処理の詳細を、
図6を用いて説明する。
S521の処理の開始時点では、使用装置存在ビットの値は「0」であり、第一装置情報記憶部803にはIPアドレス1が格納され、第二装置情報記憶部804の先頭にはIPアドレス2が格納されている。以下、詳細に説明する。
【0084】
画像読取装置AのCPU801は、PC100からの使用要求コマンドを受信すると(S600)、使用要求コマンドの送信元であるPC100のIPアドレス1を抽出し(S601)、使用処理結果格納変数の値に「0」をセットする。
【0085】
次にS603にて、CPU801は、
図5のS516の使用中止処理により使用装置存在ビットの値が「0」にセットされているため(S603でNO)、S607に処理を進める。S607では、CPU801は、第二装置情報記憶部804に値が格納されている(リストのサイズが「0」でない)ため、S604に処理を進める。
S604では、CPU801は、第一装置情報記憶部803に記憶されているIPアドレス1とS601にて抽出したIPアドレス1が一致するため、S608に処理を進める。S608では、CPU801は、使用処理結果格納変数の値(この時点では「0」に「1」だけ加算した「1」となる)。
S610では、CPU801は、第一装置情報記憶部803に上記S601で抽出したPC100のIPアドレス1を格納する。S611では、CPU801は、使用処理結果格納変数の値(この時点では「1」に「1」だけ加算した「2」となる)。S612にて、CPU801は、使用装置存在ビットに「1」をセットし、処理を終了する。
【0086】
以上のようにS521の使用処理では、S600、S601、S602、S603、S607、S604、S608、S610、S611、S612の通りに行われる。これにより、使用処理結果格納変数の値に「2」がセットされることになる。
【0087】
上記S521の使用処理の後、画像読取装置Aは、S522に処理を進める。上記S521の使用処理において、使用処理結果格納変数の値には「2」(すなわち「再使用処理成功」)がセットされているため、S522では、画像読取装置Aは、第一装置情報記憶部803に記憶されているIPアドレス1(すなわちPC100)に対して、使用要求に対する応答として「再使用処理成功通知」を送信する。
【0088】
またS523にて、画像読取装置Aは、使用処理結果格納変数の値が「2」すなわち「再使用処理成功」であるため、上記S522の処理の直後に、第二装置情報記憶部804の先頭に記憶されているIPアドレス(本実施形態ではIPアドレス2)に対して、「再使用通知コマンド」を送信する。「再使用通知コマンド」は、画像読取装置Aを最後に使用していた情報処理装置が画像読取装置Aの再使用を開始したことにより、使用を許可できなくなったことを示す通知に対応する。
【0089】
画像読取装置Aから「再使用通知コマンド」を受信すると、S524にて、PC200の画像読取アプリケーションは、表示部92に表示している
図10に示したユーザインターフェース(使用可能通知1000)を破棄する。
上記S524の直後にS525にて、PC200の画像読取アプリケーションは、表示部92に、
図8に示したユーザインターフェース(使用中通知800)を表示する。
【0090】
ここでユーザ1が、PC100に表示される
図7のユーザインターフェース(操作画面700)にて[閉じる]ボタン702を押下して画像読取アプリケーションを終了し、PC100と画像読取装置Aの使用中止を試みたとする(S526)。この操作を受け付けたPC100の画像読取アプリケーションは、該画像読取アプリケーションの終了の操作をトリガーに、画像読取装置Aに対して「使用中止要求コマンド」を送信し(S527)、画像読取アプリケーションを終了する。
【0091】
PC100から「使用中止要求コマンド」を受信した画像読取装置Aは、S528にて、
図9で説明した使用中止処理を実行する。これにより、使用装置存在ビットの値は「0」となり、第二装置情報記憶部804の先頭に格納されるIPアドレス2(すなわちPC200)に対して、「使用中止済通知コマンド」が送信される。
【0092】
画像読取装置Aから「使用中止済通知コマンド」を受信すると、S529にて、PC200の画像読取アプリケーションは、表示部92に表示している
図8に示したユーザインターフェース(使用中通知800)を破棄する。
上記S529の直後にS530にて、PC200の画像読取アプリケーションは、表示部92に、
図10に示したユーザインターフェース(使用可能通知1000)を表示する。
【0093】
S531にて、PC200の
図10の使用可能通知1000においてユーザ2が[使用開始]ボタン1001を押下すると、S532にて、PC200の画像読取アプリケーションは、画像読取装置Aに対して「使用要求コマンド」を送信する。また、S533にて、PC200の画像読取アプリケーションは、表示している
図10の使用可能通知1000を破棄する。
PC200から「使用要求コマンド」を受信した画像読取装置Aは、S534にて、
図6で説明した使用処理を実行する。
【0094】
以下、上記S534の使用処理の詳細を、
図6を用いて説明する。
S534の処理の開始時点では、使用装置存在ビットの値は「0」であり、第一装置情報記憶部803にはIPアドレス1が格納され、第二装置情報記憶部804の先頭にはIPアドレス2が格納されている。以下、詳細に説明する。
【0095】
画像読取装置AのCPU801は、PC200からの使用要求コマンドを受信すると(S600)、使用要求コマンドの送信元であるPC200のIPアドレス2を抽出し(S601)、使用処理結果格納変数の値に「0」をセットする。
【0096】
次にS603にて、CPU801は、
図5のS528の使用中止処理により使用装置存在ビットの値が「0」にセットされているため(S603でNO)、S607に処理を進める。
【0097】
S607にて、CPU801は、第二装置情報記憶部804に値が格納されているため、S604に処理を進める。
S604では、CPU801は、第一装置情報記憶部803に記憶されているIPアドレス2とS601にて抽出したIPアドレス1は一致しないため、S605に処理を進める。
S605にて、CPU801は、第二装置情報記憶部804の先頭のIPアドレス2とS601にて抽出したIPアドレス2が一致するため、S609に処理を進める。
S609にて、CPU801は、予約リストの先頭に格納しているIPアドレスを削除し、その分要素を1つ繰り上げる。
【0098】
次にS610にて、CPU801は、第一装置情報記憶部803に上記S601で抽出したIPアドレス2を格納する。S611では、CPU801は、使用処理結果格納変数の値(この時点では「0」に「1」だけ加算した「1」となる)。S612にて、CPU801は、使用装置存在ビットに「1」をセットし、処理を終了する。
【0099】
以上のようにS534の使用処理では、S600、S601、S602、S603、S607、S604、S605、S609、S610、S611、S612の通りに行われる。これにより、使用処理結果格納変数の値に「1」(すなわち「使用処理成功」)、第一装置情報記憶部803にIPアドレス2がそれぞれセットされることになる。
【0100】
上記S534の使用処理の後、画像読取装置Aは、S535に処理を進める。上記S534の使用処理において、使用処理結果格納変数の値には「1」(すなわち「使用処理成功」)がセットされているため、S535では、画像読取装置Aは、第一装置情報記憶部803に記憶されているIPアドレス2(すなわちPC200)に対して、使用要求に対する応答として「使用処理成功通知」を送信する。以後の処理は省略するが、上記S506~S508に示したPC100と画像読取装置Aとの処理と同様の処理が、PC200と画像読取装置Aとの間で行われることになる。
【0101】
以上のように、最後にネットワーク上の画像読取装置を使用していたユーザが画像読取装置の使用を終了した後に一部タスクのし忘れや出力画像の不備に気づき、もう一度画像読取装置を使用したい場合に、画像読取装置の使用が可能となる。すなわちより多くのユーザにとって効率的な排他制御が可能となり、より多くのユーザの利便性を向上させることが可能となる。
【0102】
<その他の例>
上述の例では、最後にネットワーク上の画像読取装置を使用していたユーザが画像読取装置の使用を終了した後に、もう一度、画像読取装置の使用を試みる場合の画像読取装置の動作について説明した。以下、最後にネットワーク上の画像読取装置を使用していたユーザでも予約リストの先頭でもない「その他のユーザ」が、予約リストの先頭のユーザの使用処理待機中に、画像読取装置の使用を試みる場合の画像読取装置の動作について説明する。
【0103】
図11は、本実施形態の画像読取装置を含むシステムの他の例を示す図であり、
図1と同一のものには同一の符号を付してある。
図11に示すシステムでは、画像読取装置Aと3つの情報処理装置(PC)から構成される例を示す。PC300は、PC100およびPC200と構成が同じ情報処理装置である。画像読取装置AとPC300はLANを介して通信可能に接続可能である。
【0104】
図12は、本実施形態におけるシーケンスの他の例を示すシーケンス図である。
図12に示すシーケンスの例では、PC100を使用しているユーザ1が画像読取装置Aを先に使用し、PC200を使用しているユーザ2が後から画像読取装置の予約を行う。PC300を使用しているユーザ3は、ユーザ2が予約を行った後に画像読取装置Aと使用を試みる。なお、PC100にはIPアドレス1、PC200にはIPアドレス2、PC300にはIPアドレス3があらかじめ割り当てられているものとする。また、この図において、画像読取装置Aの処理は、CPU801が記憶部802に記憶されたプログラムを読み出して実行することにより実現される。また、PC100、200、300等の情報処理装置の処理は、情報処理装置のCPU96がROM93に記憶されたプログラムを必要に応じてRAM94に読み出して実行することにより実現される。
【0105】
まず、S1201~S1218は、
図5のS501~S518と同様のため、説明を省略する。
S1219にて、ユーザ3が、PC300において画像読取アプリケーションを立ち上げ、PC300から画像読取装置Aの使用を試みたとする。この操作を受け付けたPC300は、S1220にて、画像読取装置Aに対して「使用要求コマンド」を送信する。使用要求コマンドにはPC300のIPアドレスの情報(IPアドレス3)が含まれている。
PC300から「使用要求コマンド」を受信した画像読取装置Aは、S1221にて、
図6で説明した使用処理を実行する。
【0106】
以下、上記S1221の使用処理の詳細を、
図6を用いて説明する。
S1221の処理の開始時点では、使用装置存在ビットの値は「0」であり、第一装置情報記憶部803にはIPアドレス1が格納され、第二装置情報記憶部804の先頭にはIPアドレス2が格納されている。以下、詳細に説明する。
【0107】
画像読取装置AのCPU801は、PC300からの使用要求コマンドを受信すると(S600)、使用要求コマンドの送信元であるPC300のIPアドレス3を抽出し(S601)、使用処理結果格納変数の値に「0」をセットする。
【0108】
次にS603にて、CPU801は、
図12のS1216の使用中止処理により使用装置存在ビットの値が「0」にセットされているため(S603でNO)、S607に処理を進める。S607では、CPU801は、第二装置情報記憶部804に値が格納されている(リストのサイズが「0」でない)ため、S604に処理を進める。
【0109】
S604では、CPU801は、第一装置情報記憶部803に記憶されているIPアドレス1とS601にて抽出したIPアドレス3が一致しないため、S605に処理を進める。
S605にて、CPU801は、第二装置情報記憶部804の先頭のIPアドレス2とS601にて抽出したIPアドレス3が一致しないため、S606に処理を進める。S606にて、CPU801は、S601にて抽出したIPアドレス3を第二装置情報記憶部804の末尾に格納し、処理を終了する。
【0110】
以上のようにS1221の使用処理では、S600、S601、S602、S603、S607、S604、S605、S606の通りに行われる。これにより、使用処理結果格納変数の値に「0」、第二装置情報記憶部804の末尾にIPアドレス3がそれぞれセットされることになる。
【0111】
上記S1221の使用処理の後、画像読取装置Aは、S1222に処理を進める。上記S1221の使用処理において、使用処理結果格納変数の値には「0」(すなわち「使用処理失敗」)がセットされているため、S1222では、画像読取装置Aは、第二装置情報記憶部804の末尾に記憶されているIPアドレス3(すなわちPC300)に対して、使用要求に対する応答として「使用処理失敗通知」を送信する。
【0112】
PC300が「使用処理失敗通知」を受信すると、S1223にて、PC300の画像読取アプリケーションは、
図8のユーザインターフェース(使用中通知800)を表示部92に表示する。
【0113】
ここで、PC200の
図10の使用可能通知1000においてユーザ2が[使用開始]ボタン1001を押下したとする(S1224)。この操作に応じて、PC200の画像読取アプリケーションは、画像読取装置Aに対して「使用要求コマンド」を送信する(S1225)。また、S1226にて、PC200の画像読取アプリケーションは、表示している
図10の使用可能通知1000を破棄する。
【0114】
PC200から「使用要求コマンド」を受信した画像読取装置Aは、S1227にて、
図6で説明した使用処理を実行する。なお、S1227は
図5のS534と同様のため、詳細な説明は省略する。
このS1227の使用処理において、使用処理結果格納数の値には「1」(すなわち「使用処理成功」)、第一装置情報記憶部803にIPアドレス2がそれぞれセットされる。このため、S1228にて、画像読取装置Aは、第一装置情報記憶部803に格納されているIPアドレス2(すなわちPC200)に対して使用処理成功通知を送信する。なお、S1228は、
図5のS535と同様のため、詳細な説明は省略する。また、以後の処理は省略するが、S1206~S1208に示したPC100と画像読取装置Aとの処理と同様の処理が、PC200と画像読取装置Aとの間で行われることになる。
【0115】
以上のシーケンスに示したように、最後にネットワーク上の画像読取装置を使用していたユーザでも予約先頭のユーザでもない「その他のユーザ」が、予約先頭のユーザの使用処理待機中に使用を試みたとしても、予約先頭のユーザの使用が優先されるため、その他のユーザには画像読取装置の使用が許可されない。そして、予約先頭のユーザが使用を試みると、画像読取装置の使用が許可される。すなわちより多くのユーザにとって効率的な排他制御が可能となり、より多くのユーザの利便性を向上させることが可能となる。
【0116】
以上の処理により、予約の順を守りつつも、画像読取装置Aの使用を予約した先頭のユーザが操作している情報処理装置との使用処理を完了する前(すなわち使用要求コマンドを受け付ける前)であれば、画像読取装置Aを最後に使用したユーザが操作している情報処理装置からの使用要求を受け付けが可能となる。例えば、ほんの一部の出力画像の不備等のために画像読取装置の使用を待機することを抑え、利便性を向上することが可能となる。特に、画像読取装置の使用終了直後に読取画像の不備に気が付いた場合などのように、再使用が必要であることに気づいた時点で、即座に画像読取装置を再使用できる可能性を高め、ユーザの利便性を向上させることができる。
したがって、ネットワーク越しに利用可能な画像読取装置において、より多くのユーザの利便性を向上させることが可能となる。
【0117】
なお、画像読取装置Aが情報処理装置に対して「使用処理成功通知」を送信してから一定の期間が経過しても該情報処理装置から「画像読取指示」を受信しない場合には、該情報処理装置による画像読取装置Aの使用を終了するようにしてもよい。
【0118】
また、画像読取装置Aが予約リスト先頭の情報処理装置に対して「使用中止済み通知」を送信してから一定の期間が経過しても該情報処理装置から「使用要求コマンド」を受信しない場合には、該情報処理装置の情報を予約リストから消去するようにしてもよいし、予約リストの末尾に移動させてもよい。この場合、画像読取装置Aは予約リストから消去した情報処理装置に対して所定の通知を行い、該情報処理装置は該所定の通知を受信すると、
図10の使用可能通知1000を破棄し、
図8の使用中通知800を表示するものとする。
【0119】
また、
図10の使用可能通知1000に、ユーザが画像読取装置Aの使用要求を取り下げる[キャンセル]ボタンを設け、該[キャンセル]ボタンが押下された場合、情報処理装置の画像読取アプリケーションは、画像読取装置Aに対してキャンセルを示すコマンドを送信するようにしてもよい。また
図8又は
図10の通知が表示されている情報処理装置で画像読取アプリケーションを終了する操作を受け付けた場合に、画像読取アプリケーションは上記キャンセルを示すコマンドを画像読取装置Aに送信し、終了するようにしてもよい。このような構成の場合、キャンセルを示すコマンドを受信した画像読取装置Aは、該コマンドの送信元の情報処理装置に関する情報を、予約リストから消去するものとする。これにより画像読取装置Aを使用する必要がなくなったユーザが予約を取り消すことができるようになる。
【0120】
これらの処理により、画像読取装置の使用が許可されたり、使用の許可が可能になったにも関わらず、画像読取装置の使用を開始しないユーザのために後続のユーザの待機時間が長くなってしまうことを防止できる。
【0121】
また、上述した説明では、PC100、200、300等の情報処理装置側では、情報処理装置にインストールされている画像読取アプリケーションを用いて、画像読取装置Aを使用する構成を示した。なお、この画像読取アプリケーションは、情報処理装置からウェブブラウザ等を用いて画像読取装置Aにアクセスすることにより、画像読取装置Aから情報処理装置にダウンロードされて動作するものでもよい。
【0122】
また、画像読取装置Aが、使用処理成功通知、使用処理失敗通知、及び再使用処理通知として、
図7、
図8、及び
図10のような操作画面や通知画面をhtml形式等で作成し、PC100、200、300等の情報処理装置に提供する構成でもよい。この場合、画像読取装置Aは、JavaScript(登録商標)等で書かれたプログラムを埋め込んだhtml形式のデータを作成してもよい。html形式で作成することで、画像読取装置Aで作成した画面を、情報処理装置で動作するウェブブラウザ上に表示することができる。このように、ユーザが情報処理装置のウェブブラウザを起動し、画像読取装置AのURLを入力してウェブブラウザから画像読取装置Aにアクセスすることで、画像読取装置Aからウェブブラウザに各種操作画面や通知画面を送信して、ウェブブラウザから画像読取装置Aを使用可能に構成してもよい。
【0123】
上記実施形態では、画像読取装置として説明したが、画像読取装置を、ネットワークを介して情報処理装置から使用する周辺装置等の各種装置に置き換えてもよい。即ち、本発明は、ネットワークを介して情報処理装置から使用する周辺装置等の各種装置にも適用可能である。
【0124】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施形態を組み合わせた構成も全て本発明に含まれるものである。
【0125】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0126】
A 画像読取装置
100,200,300 情報処理装置(PC)
801 CPU
802 記憶部
803 第一装置情報記憶部
804 第二装置情報記憶部
807 使用状態記憶部