(58)【調査した分野】(Int.Cl.,DB名)
前記第一のセッション管理手段は、前記第一の処理を完遂するための複数の異なる種類の情報の送受信に含まれる最後の送受信の終了後、該第一の処理に係る操作が検知されない状態で所定の時間が経過した後に、前記第一の処理に係る通信のためのセッションを破棄する、
請求項3に記載の情報処理装置。
前記第二のセッション管理手段は、前記第二の処理に含まれる通信の終了毎、または確立された各セッションについて定められた時間の経過毎に、前記第二の処理に係る通信のためのセッションを破棄する、
請求項1から6の何れか一項に記載の情報処理装置。
【発明を実施するための形態】
【0013】
以下、本開示に係る情報処理装置、システム、方法およびプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、システム、方法およびプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
【0014】
本実施形態では、本開示に係る情報処理装置、システム、方法およびプログラムを、スキャナーと連動するシステムにおいて実施した場合の実施の形態について説明する。但し、本開示に係る情報処理装置、システム、方法およびプログラムは、情報処理装置による通信を管理するための技術について広く用いることが可能であり、本開示の適用対象は、本実施形態において示された例に限定されない。
【0015】
<システムの構成>
図1は、本実施形態に係るシステムの構成を示す概略図である。本実施形態に係るシステムは、インターネットや広域ネットワーク等のネットワークを介して接続されたスキャナー3および画像データ処理サーバー1を備える。
【0016】
画像データ処理サーバー1は、CPU(Central Processing Un
it)11、ROM(Read Only Memory)12、RAM(Random
Access Memory)13、EEPROM(Electrically Erasable and Programmable Read Only Memory)やHDD(Hard Disk Drive)等の記憶装置14、および通信ユニット15、等を備えるコンピューターである。なお、説明の簡略化のため、図では画像データ処理サーバー1を単一筐体のコンピューターとして示しているが、本実施形態において、画像データ処理サーバー1は、その機能の一部または全部が、クラウド技術等を用いて、遠隔地に設置された装置や、分散設置された複数の装置によって実行されることで、ユーザーに対して画像データ処理サービスを提供する。但し、画像データ処理サーバー1の構成は、本実施形態における例示に限定されない。
【0017】
図2は、本実施形態に係るスキャナー3のハードウェア構成を示す図である。スキャナー3は、ユーザーがセットした、文書、名刺、レシートまたは写真/イラスト等の原稿を撮像することで、画像データを取得する装置であり、原稿を撮像部37に送るシートフィーダー36、シートフィーダー36に原稿がセットされたことを検知する原稿センサー39、撮像部37、スキャンボタン38、CPU31、ROM32、RAM33、記憶装置34および通信ユニット35等を備える撮像装置である。なお、本実施形態では、スキャナー3の撮像方式として、シートフィーダー36にセットされた原稿を自動送りしながら撮像する撮像方式を採用したスキャナー3を例示したが、スキャナーの撮像方式は限定されない。例えば、スキャナーは、ユーザーによって読取位置にセットされた原稿を撮像するタイプのものであってもよい。また、本実施形態では、本システムにおいて用いる撮像装置として、スキャナー3を用いる例について説明したが、本システムにおいて用いられる撮像装置は、スキャナーに限定されない。例えば、撮像装置としてカメラが採用されてもよい。
【0018】
本実施形態に係るスキャナー3は、無線通信機能を備えることで無線LANに接続する機能を有したスキャナーである。また、本実施形態に係るスキャナー3は、スキャナー3に撮像を指示するためにユーザーが押下またはタッチするスキャンボタン38を有しているが、タッチパネルディスプレイやキーボード等の、文字入出力や項目選択を可能とするためのユーザーインターフェースを有しておらず、Webブラウザ機能やサーバー機能を有していない。但し、本実施形態に係る方法を採用可能なスキャナーの通信手段およびハードウェア構成等は、本実施形態における例示に限定されない。
【0019】
図3は、本実施形態に係るシステムの機能構成の概略を示す図である。画像データ処理サーバー1は、記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されて、画像データ処理サーバー1に備えられた各ハードウェアが制御されることで、画像受信部24および結果通知部29を備える装置として機能する。なお、本実施形態では、画像データ処理サーバー1の備える各機能は、汎用プロセッサであるCPU11によって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサによって実行されてもよい。
【0020】
画像受信部24は、ユーザー認証されたスキャナー3によって取得され、送信された画像データを、ネットワークを介して受信する。
【0021】
結果通知部29は、結果通知を行うことで、受信した画像データ処理の結果(完了/失敗等)をユーザーに通知する。
【0022】
スキャナー3は、記憶装置34に記録されているプログラムが、RAM33に読み出され、CPU31によって実行されて、スキャナー3に備えられた各ハードウェアが制御されることで、ユーザー操作受付部42、画像データ取得部43および通信制御部44を備
える装置として機能する。なお、本実施形態では、スキャナー3の備える各機能は、汎用プロセッサであるCPU31によって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサによって実行されてもよい。
【0023】
ユーザー操作受付部42は、所定のユーザー操作を受け付ける。本実施形態では、所定のユーザー操作として、スキャナー3に備えられたスキャンボタン38の押下またはタッチが、スキャン開始から画像データ処理サーバー1へのデータ送信までの一連の処理を一括して指示するためのユーザー操作として受け付けられる。但し、スキャン開始の契機となる所定のユーザー操作は、本開示における例示に限定されない。
【0024】
画像データ取得部43は、ユーザー操作受付部42によって所定のユーザー操作が受け付けられると、対象を撮像することによって画像データを取得する。具体的には、本実施形態に係るスキャナー3の画像データ取得部43は、ユーザー操作受付部42によってスキャンボタン38の操作が受け付けられると、シートフィーダー36を制御して原稿を撮像部37に送り、撮像部37を制御して原稿を撮像することで、原稿の画像データを取得する。
【0025】
通信制御部44は、画像データ取得部43によって取得された画像データを、画像データ処理サーバー1におけるユーザーのアカウントへ送信するために、スキャナー3とサーバー1との間での通信を制御する。このために通信制御部44がサーバー1に対して行う通信には、スキャン開始の通知、スキャナー3の読取設定の取得、画像データの送信、スキャン終了の通知、および装置情報の更新が含まれる(
図7を参照)。
【0026】
また、通信制御部44による通信制御には、スキャナー3とサーバー1との間での通信用のセッション管理が含まれる。本実施形態に係るスキャナー3は、サーバー1との間で通信用のセッション確立が必要な処理の種類に応じて、セッションの管理を第一のセッション管理部441または第二のセッション管理部442の何れか適切な管理部によって行う。
【0027】
第一のセッション管理部441は、第一の処理(例えば、後述する画像データ取得・保存処理)に係る通信のためにサーバー1との間に確立されるセッションを、当該第一の処理に係るユーザー指示が受け付けられる前、ユーザーによって当該第一の処理の準備が行われていることが検知された際に確立する。ここで、第一の処理は、当該第一の処理を完遂するための、複数の異なる種類の情報の送受信を含む。そして、第一のセッション管理部441は、複数の異なる種類の情報の送受信のための複数の通信が断続的に行われている間、確立されたセッションを維持する。なお、本実施形態においては、スキャナー3による画像データ取得・保存処理が、第一の処理に分類される。
【0028】
第二のセッション管理部442は、第二の処理(例えば、後述する生存確認処理)に係る通信のためにサーバー1との間に確立されるセッションを、当該第二の処理の実行が開始されると同時または開始された後に確立する。また、第二のセッション管理部442は、第二の処理に含まれる通信の終了毎、または確立された各セッションについて定められた時間の経過毎に、第二の処理に係る通信のためのセッションを破棄する。なお、本実施形態においては、スキャナー3の起動中に定期的に実行される、サーバー1の生存確認処理が、第二の処理に分類される。
【0029】
<処理の流れ>
次に、本実施形態に係るシステムによって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい
。
【0030】
図4は、本実施形態に係る生存確認処理(第二の処理に相当)の流れの概要を示すフローチャートである。本フローチャートに示された処理は、スキャナー3が起動したことを契機として実行される。
【0031】
ステップS001では、通信用のセッションが確立される。第二のセッション管理部442は、サーバー1に対して、TCPのコネクションまたはSSL/TLSのセッション(以下、単に「セッション」と称する)を開始するための通信を行い、サーバー1との間でセッションを確立する。但し、本開示における「セッション」は、セッション層/トラスポート層における一連の通信を管理するために用いられるセッションであり、上記例示された、TCPのコネクションやSSL/TLSのセッションに限定されない。その後、処理はステップS002へ進む。
【0032】
ステップS002では、サーバー1の生存確認が行われる。通信制御部44は、サーバー1に対して生存確認メッセージを送信し、これを正常に受信したサーバー1から送信された応答メッセージを受信することで、サーバー1との接続が正常に行われることを確認する。その後、処理はステップS003へ進む。
【0033】
ステップS003では、セッションが破棄される。第二のセッション管理部442は、サーバー1の生存確認が終了した後、セッションを破棄する。その後、処理はステップS004へ進む。
【0034】
ステップS004およびステップS005では、サーバー1の生存確認に失敗した場合に、ユーザーへの通知が行われる。スキャナー3は、ステップS002におけるサーバー1の生存確認において、サーバー1からの応答メッセージが所定時間以上経過しても受信できない場合や、サーバー1から異常を通知するメッセージを受信した場合に(ステップS004の「NO」)、スキャナー3に備えられたLED(図示は省略する)等を用いて、サーバー1との接続が正常に行われていないことを、ユーザーに対して通知する(ステップS005)。その後、処理はステップS006へ進む。
【0035】
ステップS006では、一定時間が経過するまでの待機処理が行われる。スキャナー3は、次のサーバー1の生存確認を行うまでの待機処理として、一定時間(本実施形態では、30秒)の経過を待つ。即ち、本実施形態では、一定時間毎に、サーバー1の生存確認が行われ、異常が発生した場合に、ユーザーに通知される。
【0036】
図5および
図6は、本実施形態に係る画像データ取得・保存処理(第一の処理に相当)の流れの概要を示すフローチャートである。本フローチャートに示された処理は、スキャナー3において、ユーザーによって原稿がシートフィーダー36にセットされたことを契機として実行される。
【0037】
ステップS101およびステップS102では、原稿がセットされたことが検知され、通信用のセッションが確立される。原稿センサー39によって、原稿がシートフィーダー36にセットされたことが検知されると(ステップS101)、第一のセッション管理部441は、サーバー1に対して、セッション(TCPのコネクションやSSL/TLSのセッション等)を開始するための通信を行い、サーバー1との間でセッションを確立する(ステップS102)。その後、処理はステップS103へ進む。
【0038】
ステップS103からステップS105では、ユーザーによるスキャンボタン38の操作が待機され、操作が行われなかった場合、セッションが破棄される。スキャナー3のユ
ーザー操作受付部42によってスキャンボタン38の操作が受け付けられると(ステップS103)、処理はステップS106へ進む。一方、ステップS102におけるセッションの確立から所定の時間が経過してもスキャンボタン38の操作が検知されない場合(ステップS104)、第一のセッション管理部441は、ステップS102で確立されたセッションを破棄する(ステップS105)。その後、処理はステップS120へ進む。
【0039】
ステップS120およびステップS121では、スキャンボタン38の操作を受けて、セッションが再確立される。スキャナー3のユーザー操作受付部42によってスキャンボタン38の操作が受け付けられた場合(ステップS120)、ステップS102で確立されたセッションは既に破棄されているため、第一のセッション管理部441は、サーバー1に対して、セッションを開始するための通信を行い、サーバー1との間で再度セッションを確立する(ステップS121)。その後、処理はステップS106へ進む。
【0040】
ステップS106では、スキャン開始の通知が行われる。スキャンボタン38が操作されたことが検知されると、通信制御部44は、サーバー1に対して、スキャンが開始されることを通知する。サーバー1は、この通知を受信すると、画像データの待受状態へ移行し、スキャナー3に対して応答を送信する。スキャナー3は、サーバー1から送信された応答を受信することで、スキャン開始の通知がサーバー1によって正しく受信されたことを知る。
【0041】
従来のようにセッションが通信毎に確立された場合、スキャンボタン38の操作からスキャン開始の通知までの間にセッション確立のためのタイムラグが生じるが、本実施形態に係るシステムによれば、セッションは、原稿がセットされた直後に確立済であるため、このようなタイムラグは生じない。また、本実施形態によれば、サーバー1から応答を受信した後のセッション終了の処理も不要である。その後、処理はステップS107へ進む。
【0042】
ステップS107およびステップS108では、スキャナー3の読取設定が取得され、原稿の読取が開始される。通信制御部44は、サーバー1からの応答を受信すると、サーバー1に対して、読取設定を要求する。ここで要求される読取設定は、ユーザーによって予め設定された、スキャナー3による読取時の解像度や、画像データのカラー/モノクロ、色深度、画像データの品質(圧縮率等)等のパラメータを指定する設定である。サーバー1は、この要求を受信し、スキャナー3に対して、予め設定されてサーバー1によって保持されている読取設定を送信する。スキャナー3は、サーバー1から送信された読取設定を受信する(ステップS107)。
【0043】
従来のようにセッションが通信毎に確立された場合、読取設定の要求が送信される前にセッション確立のためのタイムラグが生じるが、本実施形態に係るシステムによれば、セッションは、ステップS106のスキャン開始の通知が完了した後も破棄されることなく確立された状態であるため、このようなタイムラグは生じない。また、本実施形態によれば、サーバー1から読取設定を受信した後のセッション終了の処理も不要である。その後、通信制御部44は、画像データ取得部43に対して、原稿の読取開始を指示する(ステップS108)。
【0044】
ステップS109からステップS112に示された処理は、画像データ取得部43による画像データ取得処理であり、ステップS113およびステップS114に示された処理は、通信制御部44による画像データ保存処理である。画像データ取得処理および画像データ保存処理は、並行して実行される。
【0045】
画像データ取得部43は、原稿をシートフィーダー36によって撮像部37に送り(ス
テップS109)、撮像部37に原稿を撮像させることで、原稿の画像データ(例えば、JPEG(Joint Photographic Experts Group)形式のファイル)を取得する(ステップS110)。ここで、スキャナー3は、ステップS107で取得した読取設定に従って撮像処理(画像データの取得)を行う。取得された画像データは、RAM33の画像域に保存される(ステップS111)。
【0046】
ステップS109からステップS111までの処理は、全ての原稿の読取が終了するまで繰り返される(ステップS112)。全ての原稿の読取が終了すると、画像データ取得処理は終了する。なお、全ての原稿の読取が終了したと判定される契機は、スキャナーの種類によって異なっていてもよい。例えば、シートフィーダー36にセットされている原稿が尽きたことが原稿センサー39によって検知されたことによって、全ての原稿の読取が終了したと判定されてもよいし、ユーザーによる所定の操作(例えば、スキャンボタン38の操作)が受け付けられたことによって、全ての原稿の読取が終了したと判定されてもよい。
【0047】
画像データ取得処理と並行して、通信制御部44は、RAM33の画像域から画像データを読み出す(ステップS113)。そして、通信制御部44は、取得された画像データを、画像データ処理サーバー1に送信する(ステップS114)。画像データ処理サーバー1の画像受信部24は、スキャナー3から送信された画像データを受信する。そして、サーバー1は、受信された画像データを保存する。サーバー1による画像データ保存が完了すると、サーバー1の結果通知部29からスキャナー3の通信制御部44に対して完了通知が送信される。ステップS113およびステップS114の処理は、全ての原稿についての画像データの送信が終了するまで繰り返される(ステップS115)。
【0048】
ここで、従来のように、セッションが画像データの送信毎に確立/終了された場合、画像データの送信毎にセッション確立のためのタイムラグが生じるが、本実施形態に係るシステムによれば、セッションは、各々の画像データの送信が開始される前から確立済であり、また終了した後も破棄されることなく確立された状態であるため、このようなタイムラグは生じない。全ての原稿についての画像データの送信が終了すると、処理はステップS116へ進む。
【0049】
ステップS116では、スキャン終了の通知が行われる。通信制御部44は、全ての原稿の撮像および全ての画像データの送信が終了したことを検知すると、サーバー1に対して、スキャンが終了したことを通知する。サーバー1は、この通知を受信することで、全ての画像データが受信されたことを知り、スキャナー3に対して応答を送信する。なお、サーバー1は、スキャン終了の通知を受信するまでに保存した1または複数の画像データを、まとめて1組のドキュメント(例えば、1つのPDF(Portable Document Format)ファイル)として扱う。スキャナー3は、サーバー1から送信された応答を受信することで、スキャン終了の通知がサーバー1によって正しく受信されたことを知る。
【0050】
従来のようにセッションが通信毎に確立された場合、スキャン終了の通知が送信される前にセッション確立のためのタイムラグが生じるが、本実施形態に係るシステムによれば、セッションは、全ての画像データの送信が終了した後も破棄されることなく確立された状態であるため、このようなタイムラグは生じない。また、本実施形態によれば、サーバー1から応答を受信した後のセッション終了の処理も不要である。その後、処理はステップS117へ進む。
【0051】
ステップS117では、装置情報の更新が行われる。通信制御部44は、スキャン終了の通知が完了すると、サーバー1に対して、装置情報の更新内容を送信する。ここで更新
される装置情報は、スキャナー3のファームウェアのバージョンや、スキャナー3による総スキャン枚数、バッテリー残量等の、スキャナー3の装置状況に関する情報である。サーバー1は、この更新内容を受信し、サーバー1が保持しているスキャナー3の装置情報を更新内容に従って更新し、スキャナー3に対して応答を送信する。スキャナー3は、サーバー1から送信された応答を受信することで、装置情報の更新内容がサーバー1によって正しく受信されたことを知る。
【0052】
従来のようにセッションが通信毎に確立された場合、装置情報の更新内容が送信される前にセッション確立のためのタイムラグが生じるが、本実施形態に係るシステムによれば、セッションは、スキャン終了の通知が完了した後も破棄されることなく確立された状態であるため、このようなタイムラグは生じない。その後、処理はステップS118へ進む。
【0053】
ステップS118およびステップS119では、所定時間の経過を待ってセッションが破棄される。第一のセッション管理部441は、装置情報の更新が終了した後、ユーザー操作が何ら検知されることなく、所定の時間(本実施形態では、1分)が経過すると(ステップS118)、セッションを破棄する(ステップS119)。ここで、ユーザー操作には、例えば、シートフィーダーへの原稿セットや、スキャンボタン38の操作が含まれる。画像データ取得・保存処理において、装置情報の更新のためのデータ送受信は、画像データ取得・保存処理を完遂するための情報の送受信に含まれる最後の送受信である。セッションが破棄された場合、本フローチャートに示された処理は終了する。一方、何らかのユーザー操作が検知された場合、セッションは維持され、当該セッションを用いて、ユーザー操作に基づくサーバー1とスキャナー3との間の通信が行われる。例えば、シートフィーダーへの原稿セットが検知された場合、処理はステップS103へ進み、確立済のセッションを利用して、画像データの取得および保存が行われる。
【0054】
なお、本実施形態において、通信制御部44による画像データの送信は、スキャンボタン38の操作以外のユーザー操作を介させることなく、画像データの取得に続けて実行される。
【0055】
<効果>
図7は、本実施形態に係る画像データ取得・保存処理が実行された場合の、セッション確立およびデータ送受信に係る時間を示す図である。上述の通り、本実施形態に示したシステムでは、セッションの確立処理をユーザーによる原稿セットの直後に実行することにより、ユーザー指示の受け付けに先立ってセッションの確立が完了し、ユーザーに待ち時間を意識させることなく速やかに転送を開始することができる。そして、本実施形態では、セッション確立後はそのままセッションを維持した状態でサーバー1とのデータ送受信を継続するため、セッションを再確立する時間が生じることもない。また、本実施形態では、セッションが不要と判断した時点で破棄するため、不必要にセッションを維持する時間が削減され、サーバー1側の負荷を抑えることができる。
【0056】
また、本実施形態によれば、画像データ取得・保存処理以外の処理(例えば、生存確認処理)を別系統で処理することにより、スキャナー3の主要機能でありユーザー体験に直結する部分でもある画像データ取得・保存処理の性能を相対的に向上させることができる。加えて、生存確認処理で通信が必要となるタイミングは断続的であり、かつ画像データ取得・保存処理の性能にも影響を与えない部分であることから、セッションは維持せずに必要時に都度確立と破棄を行うことで、サーバー1側の負荷を抑えることができる。
【0057】
以上より、本実施形態によれば、様々な側面において、クライアントの性能問題の改善と、サーバー1の負荷問題の改善とを両立させることが出来る。
【0058】
なお、本実施形態では、情報処理装置としてスキャナー3を用いる例について説明しているが、情報処理装置は、ネットワークを介してサーバー1と通信を行うその他の種類の装置であってもよい。例えば、本発明に係る情報処理装置は、カメラ等の他の種類の撮像装置であってもよいし、パーソナルコンピューター等の装置であってもよい。また、本実施形態では、サーバー1に送信されるデータが画像データである例について説明したが、サーバー1に送信されるデータは、その他の種類のデータであってもよい。
【解決手段】スキャナー3に、画像データ取得・保存処理に係る通信のためにサーバー1との間に確立されるセッションを、画像データ取得・保存処理に係るユーザー指示が受け付けられる前に確立する第一のセッション管理部441と、生存確認処理に係る通信のためにサーバー1との間に確立されるセッションを、生存確認処理の実行が開始されると同時または開始された後に確立する第二のセッション管理部442と、を備えた。