(57)【特許請求の範囲】
【請求項１】
ネットワークを介して互いに接続されたサーバーおよびユーザー装置を備えるシステムであって、
前記サーバーは、
アクセストークンを用いて、ネットワークを介して接続されたユーザー装置のユーザーを認証するユーザー認証手段と、
前記ユーザー装置からアクセストークンを受信するトークン受信手段と、
前記アクセストークンが受信された場合に、該アクセストークンの有効期限までの残時間が所定の閾値未満であるか否かを判定可能な判定用情報を、前記ユーザー装置に対して送信する判定用情報送信手段と、を備え、
前記ユーザー装置は、
前記サーバーに対して認証要求を送信する認証要求送信手段と、
前記サーバーに対して前記アクセストークンを送信するトークン送信手段と、
前記サーバーから前記判定用情報を受信する判定用情報受信手段と、
前記判定用情報が受信された場合に、前記アクセストークンの有効期限までの残時間が所定の閾値未満であるか否かを判定する残時間確認手段と、
前記アクセストークンの有効期限までの残時間が所定の閾値未満であると判定された場合に、アクセストークンの発行要求を送信する発行要求送信手段と、
新たなアクセストークンを受信した場合に、該新たなアクセストークンを有効化し、旧アクセストークンを無効化するトークン管理手段と、を備え、
前記ユーザー認証手段は、前記判定用情報を受信した前記ユーザー装置によって送信されたアクセストークンの発行要求が受信された場合に、有効期限が更新された新たなアクセストークンを発行し、
前記トークン管理手段は、該ユーザー装置に保持される複数のアクセストークンに、アクセストークン間の優先度を比較可能なデータを関連付け、前記新たなアクセストークンを受信した場合に、該新たなアクセストークンに、他のアクセストークンよりも優先される値を有する前記データを関連付けることで、該新たなアクセストークンを有効化すると同時に他のアクセストークンを無効化し、
前記トークン送信手段は、複数のアクセストークンがユーザー装置に保持されている場合、該複数のアクセストークンの夫々に関連付けられている前記データを比較し、優先度が最も高いアクセストークンを前記サーバーに送信する、
システム。
【請求項２】
前記判定用情報受信手段は、前記判定用情報として、前記アクセストークンの有効期限までの残時間を、前記サーバーから受信する、
請求項１に記載のシステム。
【請求項３】
前記サーバーは、前記ユーザー装置の識別情報およびアクセストークンの有効期限に係る有効期限関連情報を用いてアクセストークンを生成するトークン生成手段を更に備え、
前記ユーザー認証手段は、前記ユーザー装置から受信されたアクセストークンが、前記ユーザー装置の識別情報および前記有効期限関連情報を用いて生成されたアクセストークンであるか否かを判定することで、前記ユーザーを認証する、
請求項１または２に記載のシステム。
【請求項４】
前記ユーザー認証手段は、前記新たなアクセストークンの発行以降、旧アクセストークンの有効期限が徒過するまでの期間、新たなアクセストークンおよび旧アクセストークンの双方を有効なものとしてユーザーを認証する、
請求項１から３の何れか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、アクセストークンを管理する技術に関する。
【背景技術】
【０００２】
従来、ネットワークを介して提供装置がユーザーに提供するサービスに関する中継処理を行う中継サービス装置と通信し、認証処理を行う認証サービス装置と通信する情報処理装置であって、前記中継サービス装置から認証要求を受け付けた時に、前記認証要求にアクセストークンが含まれていなかった場合は前記認証要求を前記認証サービス装置に送信し、認証に成功した前記認証サービス装置からアクセストークンを取得する取得手段と、前記認証要求を受け付けた時に前記認証要求に含まれるアクセストークンの有効時間が一定時間以上残っているか否かを判定する有効期限判定手段とを備え、前記有効期限判定手段が前記アクセストークンの有効時間が一定時間以上残っていると判定した場合、前記中継サービス装置が認証要求を行うときに用いるアクセストークンとして前記アクセストークンを再利用し、前記残有効時間が不十分であると判定した場合、前記取得手段により前記認証サービスからアクセストークンを取得することを特徴とする情報処理装置が提案されている（特許文献１を参照）。
【０００３】
また、センタサーバから認証を許可する認証ＯＫ信号を受信した際、認証トークンを生成するＣＰＵと、ＣＰＵにより生成された認証トークンを記憶する不揮発性のＥＥＰＲＯＭと、ＣＰＵにより生成された認証トークンを記憶する揮発性のＲＡＭと、障害から復帰した際、ＲＡＭに認証トークンが記憶されている場合に、ＥＥＰＲＯＭにより記憶された認証トークンとＲＡＭにより記憶された認証トークンとが一致するか否かを検証し、一致する場合に、センタサーバとの認証状態を継続させるＣＰＵと、を備える電子機器が提案されている。（特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０３３４３７号公報
【特許文献２】特開２００９−０５９０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、通信が認証されたユーザー装置によるものであることを確認するための手法として、サーバーが認証済みのユーザー装置に対してアクセストークンを発行し、ユーザー装置が、当該サーバーとの間での通信にアクセストークンを付して通信を行う手法が用いられている。しかし、アクセストークンには通常、有効期限が設定されているため、ユーザー装置とサーバーとが一連の処理のための通信を行っている途中でアクセストークンの有効期限が切れてしまうと、処理途中でエラーが発生してしまう可能性がある。
【０００６】
本開示は、上記した問題に鑑み、処理の途中にアクセストークンが有効期限切れとなってしまうことを防止することを課題とする。
【課題を解決するための手段】
【０００７】
本開示の一例は、アクセストークンを用いて、ネットワークを介して接続されたユーザー装置のユーザーを認証するユーザー認証手段と、前記ユーザー装置からアクセストークンを受信するトークン受信手段と、前記アクセストークンが受信された場合に、該アクセストークンの有効期限までの残時間が所定の閾値未満であるか否かを判定可能な判定用情
報を、前記ユーザー装置に対して送信する判定用情報送信手段と、を備え、前記ユーザー認証手段は、前記判定用情報を受信した前記ユーザー装置によって送信されたアクセストークンの発行要求が受信された場合に、有効期限が更新された新たなアクセストークンを発行する、サーバーである。
【０００８】
本開示は、情報処理装置、システム、コンピューターによって実行される方法またはコンピューターに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピューターその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピューター等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的または化学的作用によって蓄積し、コンピューター等から読み取ることができる記録媒体をいう。
【発明の効果】
【０００９】
本開示によれば、処理の途中にアクセストークンが有効期限切れとなってしまうことを防止することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るシステムの構成を示す概略図である。
【図２】実施形態に係るスキャナーのハードウェア構成を示す図である。
【図３】実施形態に係るシステムの機能構成の概略を示す図である。
【図４】実施形態に係るアカウント作成／ユーザー認証処理の流れの概要を示すシーケンス図である。
【図５】実施形態に係る許可取得処理の流れの概要を示すシーケンス図である。
【図６】実施形態に係る画像データ処理の流れの概要を示すシーケンス図である。
【図７】実施形態に係るアクセストークン更新処理の流れの概要を示すシーケンス図である。
【図８】実施形態において用いられるトークン管理において、Ａ面カウンターおよびＢ面カウンターの夫々が取りうる値の遷移と、各時点において有効化される面と、を時系列で示す図である。
【図９】実施形態に係るシステムの機能構成のバリエーションを示す図である。
【図１０】実施形態に係るアクセストークン更新処理のバリエーションの概要を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本開示に係るサーバー、システム、方法およびプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係るサーバー、システム、方法およびプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
【００１２】
本実施形態では、本開示に係るサーバー、システム、方法およびプログラムを、スキャナーと連動するシステムとして実施した場合の実施の形態について説明する。但し、本開示に係るサーバー、システム、方法およびプログラムは、アクセストークンの管理について広く用いることが可能であり、スキャナーではないユーザー装置によって用いられるアクセストークンを管理する目的で用いられてもよい。本開示の適用対象は、本実施形態において示した例に限定されない。
【００１３】
＜システムの構成＞
図１は、本実施形態に係るシステム１の構成を示す概略図である。本実施形態に係るシステム１は、インターネットや広域ネットワーク等のネットワークを介して接続されたス
キャナー３および画像データ処理サーバー１を備える。
【００１４】
画像データ処理サーバー１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ
Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置１４、および通信ユニット１５、等を備えるコンピューターである。なお、説明の簡略化のため、図では画像データ処理サーバー１を単一筐体のコンピューターとして示しているが、本実施形態において、画像データ処理サーバー１は、その機能の一部または全部が、クラウド技術等を用いて、遠隔値に設置された装置や、分散設置された複数の装置によって実行されることで、ユーザーに対して画像データ処理サービスを提供する。但し、画像データ処理サーバー１の構成は、本実施形態における例示に限定されない。
【００１５】
図２は、本実施形態に係るスキャナー３のハードウェア構成を示す図である。スキャナー３は、ユーザーがセットした、文書、名刺、レシートまたは写真／イラスト等の原稿を撮像することで、画像データを取得する装置であり、原稿を撮像部３７に送るシートフィーダー３６、撮像部３７、スキャンボタン３８、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、記憶装置３４および通信ユニット３５等を備える撮像装置である。なお、本実施形態では、スキャナー３の撮像方式として、シートフィーダー３６にセットされた原稿を自動送りしながら撮像する撮像方式を採用したスキャナー３を例示したが、スキャナーの撮像方式は限定されない。例えば、スキャナーは、ユーザーによって読取位置にセットされた原稿を撮像するタイプのものであってもよい。また、本実施形態では、本システムにおいて用いる撮像装置として、スキャナー３を用いる例について説明したが、本システムにおいて用いられる撮像装置は、スキャナーに限定されない。例えば、撮像装置としてカメラが採用されてもよい。
【００１６】
本実施形態に係るスキャナー３は、無線通信機能を備えることで無線ＬＡＮに接続する機能を有したスキャナーである。また、本実施形態に係るスキャナー３は、スキャナー３に撮像を指示するためにユーザーが押下またはタッチするスキャンボタン３８を有しているが、タッチパネルディスプレイやキーボード等の、文字入出力や項目選択を可能とするためのユーザーインターフェースを有しておらず、Ｗｅｂブラウザ機能やサーバー機能を有していない。但し、本実施形態に係る方法を採用可能なスキャナーの通信手段およびハードウェア構成等は、本実施形態における例示に限定されない。
【００１７】
また、本実施形態に係るシステムには、所謂スマートフォンやタブレット、パーソナルコンピューター等の、ユーザー端末９が接続される。ユーザー端末９は、ＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、記憶装置９４、入出力装置９５および通信ユニット９６等を備えるコンピューターである。ユーザー端末９は、図１に示されているように、スキャナー３が接続されているローカルネットワークに接続されることで、スキャナー３や画像データ処理サーバー１と通信してもよいし、携帯電話網に接続されることで、スキャナー３や画像データ処理サーバー１と通信してもよい。
【００１８】
また、ユーザー端末９には、本実施形態に係るシステムを利用するためのアプリケーションが予めダウンロードされ、インストールされている。アプリケーションは、スキャナー３に対して、ネットワーク経由で設定等を行うことが出来る。このため、本実施形態に係るスキャナー３は、タッチパネルディスプレイやキーボード等の、文字入出力や項目選択を可能とするためのユーザーインターフェースを省略することが出来る。また、アプリケーションは、画像データ処理サーバー１に対して、ネットワーク経由でアカウント作成、ログイン、ログアウトおよび設定等を行うことが出来る。このため、本実施形態に係る
システムに依れば、ユーザーは、ユーザー端末９を操作することによってシステム全体に係る準備を完了させ、スキャナー３に原稿をセットしてスキャンボタン３８を操作するのみで、原稿から得られたデータを適切なクラウドサービスに送信することが出来る。
【００１９】
また、画像データ処理サーバー１およびユーザー端末９は、ユーザーに対して様々なサービスを提供するインターネット上の複数のクラウドサービス（サードパーティーによって提供されるサービスを含む）と通信可能である。なお、図１においては、画像データ処理サーバー１以外のクラウドサービスのハードウェア構成については、図示を省略しているが、クラウドサービスは、夫々、画像データ処理サーバー１と同様のハードウェア構成を有するコンピューターがクラウド技術を用いて分散配置されたものである。これらのクラウドサービスとしては、例えば、文書管理サービス、名刺管理サービス、レシート管理サービスおよび写真／イラスト管理サービス等が挙げられるが、本実施形態に係るシステム１と連携可能なクラウドサービスは、本開示において例示されたクラウドサービスに限定されない。
【００２０】
図３は、本実施形態に係るシステムの機能構成の概略を示す図である。画像データ処理サーバー１は、記憶装置１４に記録されているプログラムが、ＲＡＭ１３に読み出され、ＣＰＵ１１によって実行されて、画像データ処理サーバー１に備えられた各ハードウェアが制御されることで、ユーザー認証部２１、サービス設定部２２、許可取得部２３、画像受信部２４、種別判定部２５、文字認識部２６、名称生成部２７、データ送信部２８および結果通知部２９を備える装置として機能する。なお、本実施形態では、画像データ処理サーバー１の備える各機能は、汎用プロセッサであるＣＰＵ１１によって実行されるが、これらの機能の一部または全部は、１または複数の専用プロセッサによって実行されてもよい。
【００２１】
ユーザー認証部２１は、ユーザー端末９またはスキャナー３から送信された認証要求を受けて、ユーザー端末９またはスキャナー３のユーザーを認証する。認証要求は、認証のために必要な認証情報を含む。本実施形態では、認証情報としてユーザーＩＤおよびパスワードが用いられるが、認証情報には、その他の情報が用いられてもよい。なお、本実施形態に係るスキャナー３は、先述の通り、文字入出力や項目選択を可能とするためのユーザーインターフェースを有していないため、ユーザー端末９からスキャナー３に対して通知された認証情報を用いて、画像データ処理サーバー１に対して認証要求を送信する。
【００２２】
本実施形態では、ユーザーを認証するために、アクセストークン（以下、後述するクラウドサービス用アクセストークンと区別するために、「画像データ処理サーバー用アクセストークン」と称する）が用いられる。ユーザー認証部２１は、ユーザー端末９またはスキャナー３から認証要求を受信すると、認証要求に含まれる認証情報を検証し、適切な認証情報であった場合に、認証要求の送信元（ユーザー端末９またはスキャナー３）に対して、画像データ処理サーバー用アクセストークンを送信する。画像データ処理サーバー用アクセストークンを受信したユーザー端末９またはスキャナー３は、以降、この画像データ処理サーバー用アクセストークンを用いて、画像データ処理サーバー１と通信を行う。
【００２３】
なお、本実施形態において、ユーザー認証部２１は、スキャナー３のユーザーを認証するために、以下に説明するトークン生成部２１１、トークン受信部２１２および判定用情報送信部２１３を備える。
【００２４】
トークン生成部２１１は、スキャナー３の識別情報およびアクセストークンの有効期限に係る有効期限関連情報を用いて、画像データ処理サーバー用アクセストークンを生成する。具体的には、トークン生成部２１１は、スキャナー３のシリアル番号（識別情報）、およびアクセストークン生成日時を示すタイムスタンプ（有効期限関連情報）を含むデー
タを暗号化することで、アクセストークンを生成する。このため、本実施形態では、ユーザー認証部２１は、スキャナー３からアクセストークンを受信した場合、当該アクセストークンを復号してシリアル番号およびタイムスタンプを抽出し、抽出されたシリアル番号がユーザーアカウントに関連付けられたシリアル番号と一致すること、および、抽出されたタイムスタンプに所定の有効期間（例えば、３０日間）を加算することで算出された有効期限が徒過していないこと、を確認することで、認証を行う。なお、本実施形態では、有効期限関連情報として、アクセストークン生成日時を示すタイムスタンプが用いられる例について説明しているが、有効期限関連情報として画像データ処理サーバー用アクセストークンの生成に用いられる情報は、本実施形態における例示に限定されない。例えば、画像データ処理サーバー１は、有効期限関連情報として、画像データ処理サーバー用アクセストークンの有効期限を用いてもよい。
【００２５】
トークン受信部２１２は、スキャナー３から画像データ処理サーバー用アクセストークンを受信する。
【００２６】
判定用情報送信部２１３は、画像データ処理サーバー用アクセストークンが受信された場合に、画像データ処理サーバー用アクセストークンの有効期限までの残時間が所定の閾値（例えば、７日）未満であるか否かを判定可能な判定用情報（本実施形態では、有効期限までの残時間）を、スキャナー３に対して送信する。
【００２７】
サービス設定部２２は、画像データが所定の種別の画像データであった場合の画像データ等の送信先としてユーザーに指定されたクラウドサービスを、所定のクラウドサービスとして設定する。即ち、本実施形態に係る画像データ処理サーバー１では、画像データが所定の種別の画像データであった場合のデータ送信先クラウドサービスを、ユーザー所望のクラウドサービスに設定することができる。例えば、文書管理サービスが複数ある場合（例えば、図１に示された文書管理サービスＡおよび文書管理サービスＢ）、ユーザーは、所望の文書管理用クラウドサービスを、ユーザー端末９で動作するアプリケーションを介して画像データ処理サーバー１に指定することで、画像データが文書の画像データであった場合にデータの送信先となるクラウドサービスを、ユーザー指定の文書管理サービスとすることが出来る。これは、その他の種別の画像データに係るデータを管理するクラウドサービス、即ち、名刺管理サービス、レシート管理サービス、写真／イラスト管理サービスについても同様である。
【００２８】
許可取得部２３は、ユーザー認証されたユーザー端末９から送信された要求に従って、所定のクラウドサービスに対してアクセス許可要求を送信し、当該所定のクラウドサービスから、当該所定のクラウドサービスのユーザーアカウントへのアクセス許可を取得する。
【００２９】
本実施形態では、クラウドサービスからアクセス許可を受けるための手段としてＯＡｕｔｈ２．０認証が用いられ、アクセス許可として、アクセストークン（以下、上述した画像データ処理サーバー用アクセストークンと区別するために、「クラウドサービス用アクセストークン」と称する）が用いられる。画像データ処理サーバー１は、本システムと連携するクラウドサービスのうち、サービス設定部２２によって設定されたクラウドサービス毎に、アクセス許可要求を送信することで、各クラウドサービスから発行されるアクセストークンを受信する。受信されたクラウドサービス毎のアクセストークンは、画像データ処理サーバー１における当該ユーザーのアカウントに紐付けて、画像データ処理サーバー１に保存される。
【００３０】
画像受信部２４は、ユーザー認証されたスキャナー３によって取得され、送信された画像データを、ネットワークを介して受信する。
【００３１】
種別判定部２５は、受信された画像データの種別を判定する。なお、本実施形態において、種別判定部２５によって判定される種別には、文書、名刺、レシートおよび写真／イラストの少なくとも何れかが含まれる。但し、種別判定部２５によって判定可能な画像データの種別は、本実施形態における例示に限定されない。
【００３２】
文字認識部２６は、画像データに対して光学文字認識（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ：ＯＣＲ）を行う。
【００３３】
名称生成部２７は、光学文字認識の結果取得された文字列を用いて、画像データまたは当該画像データに基づいて生成されたデータの名称を生成する。名称生成部２７は、例えば、種別判定部２５による判定の結果、画像データの種別が文書であった場合には、文書のタイトルおよび作成日付を含む文字列を、画像データの種別が名刺であった場合には、氏名および所属組織名を含む文字列を、画像データの種別がレシートであった場合には、店舗名および領収日付を含む文字列を、データの名称とする。
【００３４】
データ送信部２８は、種別判定部２５によって、画像データが所定の種別の画像データであると判定された場合に、当該画像データまたは当該画像データに基づいて生成されたデータ（以下、単に「データ」と称する）を、所定のクラウドサービスのユーザーアカウントへ送信する。クラウドサービスのユーザーアカウントへのデータ送信に際しては、許可取得部２３によって各クラウドサービスから取得された各クラウドサービス用アクセストークンのうち、画像データを送信したスキャナー３のユーザーとしてユーザー認証部２１に認証されたユーザーのアカウントに紐付けて画像データ処理サーバー１に保存されているアクセストークンが用いられる。
【００３５】
このようにすることで、データ送信部２８は、種別判定部２５によって、画像データが文書の画像データであると判定された場合に、当該画像データまたは当該画像データに基づいて生成されたデータを、当該画像データを送信したスキャナー３のユーザーとして認証されたユーザーについて文書管理サービスから取得されたアクセストークンを用いて、当該ユーザー指定の文書管理サービスのユーザーアカウントへ送信することが出来る。
【００３６】
結果通知部２９は、リリース結果通知を行うことで、データ送信部２８によるデータ送信の結果（完了／失敗等）をユーザーに通知する。
【００３７】
スキャナー３は、記憶装置３４に記録されているプログラムが、ＲＡＭ３３に読み出され、ＣＰＵ３１によって実行されて、スキャナー３に備えられた各ハードウェアが制御されることで、認証要求送信部４１、ユーザー操作受付部４２、画像データ取得部４３、画像送信部４４、トークン送信部４５、判定用情報受信部４６、残時間確認部４７、発行要求送信部４８およびトークン管理部４９を備える装置として機能する。なお、本実施形態では、スキャナー３の備える各機能は、汎用プロセッサであるＣＰＵ３１によって制御されるが、これらの機能の一部または全部は、１または複数の専用プロセッサによって制御されてもよい。
【００３８】
認証要求送信部４１は、ユーザー端末９から当該スキャナー３に対して通知された認証情報を含む認証要求を、画像データ処理サーバー１に対して送信する。
【００３９】
ユーザー操作受付部４２は、所定のユーザー操作を受け付ける。本実施形態では、所定のユーザー操作として、スキャナー３に備えられたスキャンボタン３８の押下またはタッチが、スキャン開始から適切なクラウドサービスへのデータ送信までの一連の処理を一括して指示するためのユーザー操作として受け付けられる。但し、スキャン開始の契機とな
る所定のユーザー操作は、本開示における例示に限定されない。
【００４０】
画像データ取得部４３は、ユーザー操作受付部４２によって所定のユーザー操作が受け付けられると、対象を撮像することによって画像データを取得する。具体的には、本実施形態に係るスキャナー３の画像データ取得部４３は、は、ユーザー操作受付部４２によってスキャンボタン３８の操作が受け付けられると、シートフィーダー３６を制御して原稿を撮像部３７に送り、撮像部３７を制御して原稿を撮像することで、原稿の画像データを取得する。
【００４１】
画像送信部４４は、画像データ取得部４３によって取得された画像データを、ネットワークを介して画像データ処理サーバー１に送信する。また、画像送信部４４による画像データの送信は、所定のユーザー操作（本実施形態では、スキャンボタン３８の操作）以外の操作を介させることなく、画像データの取得に続けて実行される。
【００４２】
トークン送信部４５は、画像データ処理サーバー１に対して画像データ処理サーバー用アクセストークンを送信する。
【００４３】
判定用情報受信部４６は、判定用情報として、画像データ処理サーバー用アクセストークンの有効期限までの残時間を、画像データ処理サーバー１から受信する。
【００４４】
残時間確認部４７は、判定用情報が受信された場合に、画像データ処理サーバー用アクセストークンの有効期限までの残時間が所定の閾値未満であるか否かを判定する。
【００４５】
発行要求送信部４８は、画像データ処理サーバー用アクセストークンの有効期限までの残時間が所定の閾値未満であると判定された場合に、画像データ処理サーバー用アクセストークンの発行要求を送信する。
【００４６】
トークン管理部４９は、画像データ処理サーバー用の新たなアクセストークン（以下、「新アクセストークン」と称する）を受信した場合に、当該新アクセストークンを有効化し、画像データ処理サーバー用の旧いアクセストークン（以下、「旧アクセストークン」と称する）を無効化する。
【００４７】
＜処理の流れ＞
次に、本実施形態に係るシステム１によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
【００４８】
図４は、本実施形態に係るアカウント作成／ユーザー認証処理の流れの概要を示すシーケンス図である。
【００４９】
ステップＳ１０１では、ユーザーアカウントが作成される。ユーザーは、スマートフォン等のユーザー端末９においてアプリケーションを起動させる。起動したアプリケーションは、ユーザーに対して、アカウント作成に必要な情報（例えば、ユーザーＩＤおよびパスワード等）の入力を促し、ユーザーによって入力された情報を、画像データ処理サーバー１に送信する。画像データ処理サーバー１は、ユーザー端末９から受信した情報が適切なものであるか否かを判定し、適切であると判定された場合、当該ユーザーのアカウントを生成する。また、アプリケーションは、作成されたユーザーアカウントにログインするための認証情報（本実施形態では、ユーザーＩＤおよびパスワード）を、ユーザー端末９に保存する。
【００５０】
ステップＳ１０２およびステップＳ１０３では、ユーザー端末９による、画像データ処理サーバー１へのログイン処理が行われる。ユーザー認証部２１は、ユーザー端末９から送信された認証要求を受けて、ユーザー端末９のユーザーを認証する。具体的には、ユーザー認証部２１は、ユーザー端末９から認証要求を受信すると（ステップＳ１０２）、認証要求に含まれる認証情報を検証し、ステップＳ１０１で作成されたアカウント情報と一致する場合に、認証要求の送信元のユーザー端末９に対して、画像データ処理サーバー用アクセストークンを送信する（ステップＳ１０３）。画像データ処理サーバー用アクセストークンを受信したユーザー端末９は、以降、受信されたアクセストークンを用いて、画像データ処理サーバー１と通信を行う。
【００５１】
また、ユーザーは、画像データ処理サーバー１にアカウントを作成した後、ユーザー端末９のアプリケーションを起動して、無線ネットワークを介してユーザー端末９をスキャナー３に接続させる。そして、アプリケーションは、ステップＳ１０１で作成され、ユーザー端末９に保存されている、画像データ処理サーバー１にログインするための認証情報を、スキャナー３に対して通知する。認証情報の通知を受けたスキャナー３の認証要求送信部４１は、当該認証情報を含む認証要求を画像データ処理サーバー１に送信する。
【００５２】
ステップＳ１０４およびステップＳ１０５では、スキャナー３による、画像データ処理サーバー１へのログイン処理が行われる。スキャナー３から送信された認証要求が画像データ処理サーバー１に受信されると（ステップＳ１０４）、画像データ処理サーバー１のユーザー認証部２１は、スキャナー３のユーザーを認証する。ユーザー認証部２１は、スキャナー３から受信された認証要求に含まれる認証情報を検証し、ステップＳ１０１で作成されたアカウント情報と一致する場合に、認証要求の送信元のスキャナー３に対して、画像データ処理サーバー用アクセストークンを送信する（ステップＳ１０５）。画像データ処理サーバー用アクセストークンを受信したスキャナー３は、以降、受信されたアクセストークンを用いて、画像データ処理サーバー１と通信を行う。
【００５３】
図５は、本実施形態に係る許可取得処理の流れの概要を示すシーケンス図である。本実施形態に係る許可取得処理は、ユーザーによって、本実施形態にかかるシステムを利用するためのアプリケーションが起動されたことを契機として実行される。なお、本実施形態では、クラウドサービスからアクセス許可を受けるための手段としてＯＡｕｔｈ２．０認証が用いられるが、認証にはその他の手段が用いられてもよい。
【００５４】
ステップＳ２０１およびステップＳ２０２では、クラウドサービスに対するアクセス許可要求が行われる。ユーザーは、ユーザー端末９においてアプリケーションを起動させ、アプリケーションのエージェントを操作することで、ユーザー端末９を、画像データ処理サーバー１が提供するＷｅｂサイトに接続する。なお、本実施形態では、アプリケーションに実装されたＷｅｂブラウザがエージェントとして用いられるが、画像データ処理サーバー１が提供するＷｅｂサイトへの接続には、ユーザー端末９にインストールされたその他のＷｅｂブラウザが用いられてもよい。
【００５５】
そして、画像データ処理サーバー１のＷｅｂサイトによって、Ｗｅｂブラウザを介してユーザーがおこなった、クラウドサービスへの接続指示が受信されると（ステップＳ２０１）、画像データ処理サーバー１の許可取得部２３は、クラウドサービスに対して、アクセス許可要求を送信する（ステップＳ２０２）。このアクセス許可要求は、画像データ処理サーバー１が、各クラウドサービスの当該ユーザーのアカウントを利用することの許可を求めるものである。なお、各クラウドサービスのユーザーアカウントは、ユーザーによって予め設定されたものであってもよいし、アプリケーションを介して新たに作成されたものであってもよい。なお、画像データの種別毎に、ユーザーが所望のクラウドサービス
を指定可能であり、許可取得部２３が、ユーザーに指定されたクラウドサービスに対してアクセス許可要求を送信することは、サービス設定部２２および許可取得部２３の説明において上述した通りである。
【００５６】
アクセス許可要求を受けたクラウドサービスは、ユーザー端末９に、認可確認のためのポップアップを表示する。その後、表示されたポップアップを確認したユーザーによって、画像データ処理サーバー１がポップアップに係るクラウドサービスの当該ユーザーのアカウントを利用することを承認（許諾）する操作が行われると、ユーザーに承認されたことが、Ｗｅｂブラウザから当該クラウドサービスに通知される。
【００５７】
ステップＳ２０３では、ユーザーに承認された旨の通知を受けたクラウドサービスによって、認可コードがユーザー端末９のＷｅｂブラウザ経由で画像データ処理サーバー１に渡される。画像データ処理サーバー１の許可取得部２３は、クラウドサービスから送信された認可コードを、ユーザー端末９経由で受信する。その後、処理はステップＳ２０４へ進む。
【００５８】
ステップＳ２０４およびステップＳ２０５では、クラウドサービス用アクセストークンが取得される。画像データ処理サーバー１の許可取得部２３は、クラウドサービスに対して認可コードを含むアクセストークン要求を送信し（ステップＳ２０４）、認可コードと引き換えに、クラウドサービスからアクセストークンを取得する（ステップＳ２０５）。取得されたクラウドサービス毎のアクセストークンは、画像データ処理サーバー１におけるユーザーアカウントに紐付けて、画像データ処理サーバー１に保存される。その後、本シーケンス図に示された処理は終了する。
【００５９】
上記説明した、図４および図５に示された処理によって、画像データ処理サーバー１のアクセストークンがスキャナー３によって取得され、クラウドサービスのアクセストークンが画像データ処理サーバー１によって取得され、且つこれらのユーザーアカウントが紐付けられた状態となる。このため、本実施形態に係るシステムによれば、図６を用いて後述する、画像データ処理サーバー１を経由したスキャナー３からクラウドサービスへのスキャンデータの送信（リリース）が可能となる。
【００６０】
図６は、本実施形態に係る画像データ処理の流れの概要を示すシーケンス図である。本実施形態に係る画像データ処理は、スキャナー３に原稿が搭載され、ユーザーによってスキャナー３のスキャンボタン３８が操作されたことを契機として実行される。
【００６１】
ステップＳ３０１では、スキャンされた画像データが、画像データ処理サーバー１にアップロードされる。スキャナー３のユーザー操作受付部４２によってスキャンボタン３８の操作が受け付けられると、画像データ取得部４３は、原稿をシートフィーダー３６によって撮像部３７に送り、撮像部３７に原稿を撮像させることで、原稿の画像データを取得する。そして、スキャナー３の画像送信部４４は、取得された画像データを、画像データ処理サーバー１に送信する。この際、送信には、ステップＳ１０５において予め取得された、画像データ処理サーバー用アクセストークンが用いられる。
【００６２】
また、本実施形態において、画像送信部４４による画像データの送信は、スキャンボタン３８の操作以外のユーザー操作を介させることなく、画像データの取得に続けて実行される。画像データ処理サーバー１の画像受信部２４は、スキャナー３から送信された画像データを受信する。また、画像受信部２４は、画像データとともに受診されたアクセストークンを検査することで、受信された画像データが、ユーザー認証されたスキャナー３から送信されたものであるか否かを確認する。受信された画像データが、ユーザー認証されたスキャナー３から送信されたものでない場合、本シーケンス図に示された処理は終了す
る（図示は省略する）。一方、受信された画像データが、ユーザー認証されたスキャナー３から送信されたものである場合、処理はステップＳ３０２へ進む。
【００６３】
ステップＳ３０２では、原稿種別の自動判別が行われる。種別判定部２５は、受信された画像データが、文書、名刺、レシートおよび写真／イラストの何れの種別に係る画像データであるかを判定する。種別の判定には、レイアウト認識や文字認識、色彩認識等の、画像の特徴に基づいた判定方式を用いることが出来るが、種別判定には、周知の技術または将来開発される技術を含めて様々な技術を採用可能であり、本開示における例示に限定されない。
【００６４】
また、文字認識部２６は、画像データに対して光学文字認識（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ：ＯＣＲ）を行う。そして、名称生成部２７は、光学文字認識の結果取得された文字列を用いて、画像データまたは当該画像データに基づいて生成されたデータの名称を生成する。具体的な名称生成の方法は、上述した通りである。また、画像データは、スキャナーから受信されたデータフォーマットに拘らず、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）等の、判定された原稿種別に適したフォーマットに変換されてもよい。その後、処理はステップＳ３０３へ進む。
【００６５】
ステップＳ３０３では、原稿種別に対応したクラウドサービスが特定され、該当するクラウドサービスに対してデータが送信される。データ送信部２８は、ステップＳ３０２で判定された原稿種別に従って、当該画像データまたは当該画像データに基づいて生成されたデータおよび生成された名称を、当該原稿種別に対応するクラウドサービスのユーザーアカウントへ送信する。クラウドサービスのユーザーアカウントへのデータ送信に際しては、ステップＳ２０５で取得され、画像データ処理サーバー１のユーザーアカウントに紐付けて保存された、各クラウドサービス用アクセストークンが用いられる。その後、処理はステップＳ３０４へ進む。
【００６６】
ステップＳ３０４およびステップＳ３０５では、リリース結果が送信される。画像データ処理サーバー１の結果通知部２９は、データ送信部２８によるデータ送信が完了し、送信先のクラウドサービスから結果通知を受け取ると（ステップＳ３０４）、リリース結果通知を行うことで、データ送信の完了または失敗等をユーザーに通知する（ステップＳ３０５）。具体的には、結果通知部２９は、ユーザー端末９に対してプッシュ通知を行うことが可能な所定の通知ハブサービス（例えば、Ａｚｕｒｅ通知ハブ）を介して、ユーザー端末９が標準装備する通知機能やアプリケーションに対して、データが所定のクラウドサービスに送信され、当該クラウドサービスに保存されたことを通知する。但し、結果通知には、その他の技術が採用されてもよい。その後、本シーケンス図に示された処理は終了する。
【００６７】
図７は、本実施形態に係るアクセストークン更新処理の流れの概要を示すシーケンス図である。本シーケンス図に示されたアクセストークン更新処理（ステップＳ４０１以降の処理）は、図４を用いて説明したアカウント作成／ユーザー認証処理のステップＳ１０４およびステップＳ１０５において画像データ処理サーバー１からスキャナー３に対して画像データ処理サーバー用アクセストークンが発行された後、スキャナー３が起動し、ネットワークに接続される毎に、または定期的に実行される。
【００６８】
ステップＳ４０１およびステップＳ４０２では、アクセストークンが送受信される。スキャナー３が起動し、ネットワークに接続されると、スキャナー３のトークン送信部４５は、画像データ処理サーバー１に対して画像データ処理サーバー用アクセストークンを送信する（ステップＳ４０１）。ここで、トークン送信部４５は、複数の画像データ処理サーバー用アクセストークンがスキャナー３に保持されている場合、当該複数の画像データ
処理サーバー用アクセストークンの夫々に関連付けられているデータ（後述するＡ面カウンターおよびＢ面カウンター）を比較し、優先度が最も高い画像データ処理サーバー用アクセストークンを画像データ処理サーバー１に送信する。有効なトークンを判定する処理の詳細については、後述する。
【００６９】
画像データ処理サーバー１のトークン受信部２１２は、スキャナー３によって送信された画像データ処理サーバー用アクセストークンを受信する（ステップＳ４０２）。アクセストークンが受信されると、ユーザー認証部２１は、受信されたアクセストークンが、スキャナー３の識別情報および有効期限関連情報を用いて生成された画像データ処理サーバー用アクセストークンであるか否かを判定することで、ユーザーを認証する。
【００７０】
具体的には、ユーザー認証部２１は、受信されたアクセストークンを復号して抽出されたシリアル番号がユーザーアカウントに関連付けられたシリアル番号と一致すること、および、アクセストークンを復号して抽出されたタイムスタンプに所定の有効期間を加算することで算出された有効期限が徒過していないこと、を確認することで、認証を行う。その後、処理はステップＳ４０３へ進む。
【００７１】
ステップＳ４０３およびステップＳ４０４では、アクセストークンの有効期限の判定用情報が生成および送信される。画像データ処理サーバー１の判定用情報送信部２１３は、受信された画像データ処理サーバー用アクセストークンの有効期限までの残時間が所定の閾値未満であるか否かを判定可能な判定用情報を、スキャナー３に対して送信する。本実施形態では、判定用情報として、有効期限までの残時間が算出され（ステップＳ４０３）、スキャナー３に対して送信される（ステップＳ４０４）。残時間は、アクセストークン生成日時を示すタイムスタンプに所定の有効期間を加算することで算出された有効期限と、現在日時とを比較することで算出される。但し、画像データ処理サーバー１からスキャナー３に送信される判定用情報は、本実施形態において示した例に限定されない。例えば、判定用情報送信部２１３は、判定用情報として、有効期限までの残時間が所定の閾値未満であるか否かを示す情報を送信してもよい。その後、処理はステップＳ４０５へ進む。
【００７２】
ステップＳ４０５では、アクセストークンの有効期限の判定用情報が受信される。スキャナー３の判定用情報受信部４６は、画像データ処理サーバー１から判定用情報を受信する。上述の通り、本実施形態では、判定用情報は、画像データ処理サーバー用アクセストークンの有効期限までの残時間である。
【００７３】
即ち、本実施形態において、スキャナー３は、スキャナー３の起動時またはネットワークへの接続時に、画像データ処理サーバー１に対して画像データ処理サーバー用アクセストークンを送信することで、画像データ処理サーバー１から判定用情報を受信する。そして、この判定用情報は、アクセストークンの有効期限までの残時間等、少なくともスキャナー３がアクセストークンの有効期限自体を把握しなくても、アクセストークンの有効期限までの残時間がどの程度であるかを判定可能な情報である。このため、本開示に係るアクセストークン更新の仕組みを採用すれば、スキャナー３は、アクセストークンの期限を自ら管理したり算出したりする機能や、内部時計の日時を正確に保つための機能等を省略することが出来る。その後、処理はステップＳ４０６へ進む。
【００７４】
ステップＳ４０６では、アクセストークンの有効期限までの残時間が確認される。残時間確認部４７は、画像データ処理サーバー用アクセストークンの有効期限までの残時間が所定の閾値未満であるか否かを判定する。具体的には、残時間確認部４７は、ステップＳ４０５で受信された残時間と、所定の閾値とを比較することで、残時間の確認を行う。残時間確認の結果、残時間が閾値以上であると判定された場合、スキャナー３は、アクセストークン更新処理を終了する。一方、残時間が閾値未満であると判定された場合、処理は
ステップＳ４０７へ進む。
【００７５】
ステップＳ４０７からステップＳ４１０では、アクセストークンの再発行（リフレッシュ）が行われる。発行要求送信部４８は、ステップＳ４０６においてアクセストークンの有効期限までの残時間が所定の閾値未満であると判定された場合に、アクセストークンの発行要求（リフレッシュトークン）を送信する（ステップＳ４０７）。判定用情報を受信したスキャナー３によって送信された画像データ処理サーバー用アクセストークンの発行要求（リフレッシュトークン）が受信されると（ステップＳ４０８）、画像データ処理サーバー１のユーザー認証部２１は、有効期限が更新された新アクセストークンを発行する（ステップＳ４０９）。新アクセストークンの具体的な生成方法は、トークン生成部２１１の説明において上述した通りである。その後、処理はステップＳ４１０へ進む。
【００７６】
ステップＳ４１１からステップＳ４１３では、新アクセストークンの保存および有効化が行われる。新アクセストークンが受信されると（ステップＳ４１１）、スキャナー３のトークン管理部４９は、当該新アクセストークンを不揮発性の記憶装置３４に保存し（ステップＳ４１２）、新アクセストークンの有効化および旧アクセストークンの無効化を行う（ステップＳ４１３）。具体的には、本実施形態において、トークン管理部４９は、スキャナー３に保持される複数の画像データ処理サーバー用アクセストークンに、アクセストークン間の優先度を比較可能なデータを関連付けて保存している。そして、トークン管理部４９は、新アクセストークンを受信した場合、当該新アクセストークンに、他の画像データ処理サーバー用アクセストークンよりも優先される値を有するデータを関連付けることで、当該新アクセストークンを有効化すると同時に、他の画像データ処理サーバー用アクセストークンを無効化する。新アクセストークンの有効化および旧アクセストークンの無効化が完了すると、本シーケンス図に示された処理は終了する。
【００７７】
図８は、本実施形態において用いられるトークン管理において、Ａ面に保存されたアクセストークンに関連付けられたカウンター（以下、「Ａ面カウンター」と称する）およびＢ面に保存されたアクセストークンに関連付けられたカウンター（以下、「Ｂ面カウンター」と称する）の夫々が取りうる値の遷移と、各時点において有効化される面と、を時系列で示す図である。
【００７８】
トークン管理部４９は、無効状態から有効化したいアクセストークンに係る面のカウンターのみを書き換える。ここで、トークン管理部４９は、有効化したいアクセストークンに係る面のカウンターに、「現在有効なアクセストークンに係る面のカウンターの値＋１」（但し、現在有効なアクセストークンに係る面のカウンターの値が０ｘＦＦまたは３である場合には、「１」）を設定する。即ち、初期値の０ｘＦＦを除いて、Ａ面カウンターの値とＢ面カウンターの値は同じにはならない。そして、Ａ面カウンターの値とＢ面カウンターの値が、以下に示す数列において隣り合う数値の関係である場合、右側の値を有していた面のアクセストークンが、有効なアクセストークンとして扱われる。
０ｘＦＦ，  １，  ２，  ３，  １
【００７９】
即ち、２つのカウンターの値が「０ｘＦＦ」と「１」である場合、「１」が設定されている面のアクセストークンが有効であり、「１」と「２」である場合、「２」が設定されている面のアクセストークンが有効であり、「２」と「３」である場合、「３」が設定されている面のアクセストークンが有効であり、「３」と「１」である場合、「１」が設定されている面のアクセストークンが有効である（図８を参照）。このようなカウンター制御を行うことで、ある面のアクセストークンを有効化すると同時に、他の面のアクセストークンを無効化することが出来る。
【００８０】
例えば、旧アクセストークンＡがＡ面に保存されていた場合に（図７のステップＳ４０
８まで）、リフレッシュトークンによって新アクセストークンＢが取得されると（ステップＳ４０９からステップＳ４１０まで）、スキャナー３は、新アクセストークンＢを不揮発性の記憶装置３４のＢ面へ保存し（ステップＳ４１１からステップＳ４１２まで）、Ｂ面のカウンターに、「現在有効なＡ面のカウンターの値＋１」（但し、現在有効なＡ面のカウンターの値が３である場合、１）を設定する（ステップＳ４１３）。先述の通り、トークン送信部４５は、複数の画像データ処理サーバー用アクセストークンがスキャナー３に保持されている場合、当該複数の画像データ処理サーバー用アクセストークンの夫々に関連付けられているデータ（後述するＡ面カウンターおよびＢ面カウンター）を比較し、優先度が最も高い画像データ処理サーバー用アクセストークンを画像データ処理サーバー１に送信する。このため、Ｂ面のカウンターが書き換えられた後は、Ａ面のカウンターを書き換えることなく、Ａ面とＢ面のカウンターの比較によって新アクセストークンＢが有効なトークンであると判断される。
【００８１】
なお、新アクセストークンがサーバーから送信されてからカウンター更新が完了するまでの期間に、スキャナー３の強制電源断等の何らかの異常が発生した場合、スキャナー３は、次の起動時に、上記説明した比較ルールに基づいてＡ面カウンターの値とＢ面カウンターの値とを比較し、有効と判断された面のアクセストークンを用いて画像データ処理サーバー１との通信を継続する。本実施形態において、画像データ処理サーバー１は、正規に発行されたトークンを、有効期限が切れるまで有効として扱い（新アクセストークンを発行した場合にも、旧アクセストークンは無効化されない）、ユーザーを認証するため、スキャナー３は、旧アクセストークンを用いて、中断された処理をリカバリすることが可能である。本実施形態では、このようにすることで、スキャナー３と画像データ処理サーバー１との間で、アクセストークン管理の状態不一致が発生することを防止している。なお、スキャナー３が新アクセストークンの保存に失敗し、且つ旧アクセストークンが期限切れになった場合、スキャナー３は、改めてトークンリフレッシュを発行することでリカバリを行う。
【００８２】
＜アクセストークン更新処理のバリエーション＞
以下、アクセストークン更新処理のバリエーションについて説明する。図１から図８を用いて説明したアクセストークン更新処理を「第一のアクセストークン更新処理」と称し、図９および図１０を用いて以下に説明するものを「第二のアクセストークン更新処理」と称する。第二のアクセストークン更新処理を実施するにあたってのシステムの構成、ハードウェア構成、アカウント作成／ユーザー認証処理の流れ、許可取得処理の流れ、および画像データ処理の流れは、第一のアクセストークン更新処理に係る実施形態と同様であるため、説明を省略する。また、図１から図８を用いて説明した実施形態と同様の構成および処理については、同一の符号を用いて図示し、説明を省略する。
【００８３】
図９は、本実施形態に係るシステムの機能構成のバリエーションを示す図である。画像データ処理サーバー１は、図３を用いて説明した例と同様、記憶装置１４に記録されているプログラムが、ＲＡＭ１３に読み出され、ＣＰＵ１１によって実行されて、画像データ処理サーバー１に備えられた各ハードウェアが制御されることで、ユーザー認証部２１、サービス設定部２２、許可取得部２３、画像受信部２４、種別判定部２５、文字認識部２６、名称生成部２７、データ送信部２８および結果通知部２９を備える装置として機能する。
【００８４】
ユーザー認証部２１は、図３を用いて説明した例と同様、スキャナー３のユーザーを認証するために、トークン生成部２１１、トークン受信部２１２および判定用情報送信部２１３を備える。但し、図９に示した例では、ユーザー認証部２１は、更に無効化要求受信部２１４、トークン無効化部２１５および無効化通知部２１６を備える。
【００８５】
無効化要求受信部２１４は、新アクセストークンを受信し、当該新アクセストークンを有効化したスキャナー３から、旧アクセストークンの無効化の要求を受信する。
【００８６】
トークン無効化部２１５は、無効化要求が受信された場合に、旧アクセストークンを無効化する。なお、本実施形態におけるトークンの無効化には、フラグ処理等による無効化のみならず、画像データ処理サーバー１の記憶装置１４または外部データベースから旧アクセストークンを削除することも含まれる。なお、図７のシーケンス図を用いて説明した第一のアクセストークン更新処理では、画像データ処理サーバー１は、スキャナー３から受信したアクセストークンを復号してシリアル番号やタイムスタンプ情報等を検証することでユーザー認証を行っていたため、サーバー１側はアクセストークンを保存しなかったが、本バリエーションでは、画像データ処理サーバー１においても明示的にアクセストークンが無効化されるため、サーバー１によるアクセストークンの保存が行われてもよい。
【００８７】
無効化通知部２１６は、画像データ処理サーバー１において旧アクセストークンが無効化された場合に、スキャナー３に対して当該無効化を通知する。
【００８８】
スキャナー３は、記憶装置３４に記録されているプログラムが、ＲＡＭ３３に読み出され、ＣＰＵ３１によって実行されて、スキャナー３に備えられた各ハードウェアが制御されることで、図３を用いて説明した例と同様、認証要求送信部４１、ユーザー操作受付部４２、画像データ取得部４３、画像送信部４４、トークン送信部４５、判定用情報受信部４６、残時間確認部４７、発行要求送信部４８およびトークン管理部４９を備える装置として機能する。但し、図９に示した例では、スキャナー３は、更に無効化要求送信部５０を備える。
【００８９】
無効化要求送信部５０は、スキャナー３における新アクセストークンの有効化が完了した場合に、画像データ処理サーバー１に対して当該旧アクセストークンの無効化要求を送信する。
【００９０】
図１０は、本実施形態に係るアクセストークン更新処理のバリエーションの概要を示すシーケンス図である。本シーケンス図に示されたアクセストークン更新処理（ステップＳ５０１以降の処理）は、図４を用いて説明したアカウント作成／ユーザー認証処理のステップＳ１０４およびステップＳ１０５において画像データ処理サーバー１からスキャナー３に対して画像データ処理サーバー用アクセストークンが発行された後、スキャナー３が起動し、ネットワークに接続される毎に、または定期的に実行される。
【００９１】
ステップＳ５０１からステップＳ５１２の処理は、図７を用いて説明したステップＳ４０１からステップＳ４１２の処理と概略同様であるため、説明を省略する。但し、カウンターを用いてアクセストークンの有効／無効を制御していた第一のアクセストークン更新処理と異なり、第二のアクセストークン更新処理では、フラグを用いてアクセストークンの有効／無効が制御される。このため、ステップＳ５０１において、トークン送信部４５は、画像データ処理サーバー用アクセストークンに関連付けられているフラグを参照し、有効状態に設定されている画像データ処理サーバー用アクセストークンを画像データ処理サーバー１に送信する。その後、ステップＳ５０２からステップＳ５１２の処理が実行されて、画像データ処理サーバー１から受信された新アクセストークンが、スキャナー３の不揮発性の記憶装置３４に保存されると、処理はステップＳ５１３へ進む。
【００９２】
ステップＳ５１３では、スキャナー３において新アクセストークンが有効化される。トークン管理部４９は、新アクセストークンに関連付けられたフラグを「有効（Ｖａｌｉｄ）」に設定することで、新アクセストークンを有効化する。但し、第二のアクセストークン更新処理では、フラグを用いてアクセストークンの有効／無効を制御しているため、新
アクセストークンの有効化と旧アクセストークンの無効化とを同時に行うことは出来ず、この時点で、スキャナー３において新アクセストークンおよび旧アクセストークンの両方が有効状態である。その後、処理はステップＳ５１４へ進む。
【００９３】
ステップＳ５１４からステップＳ５１７では、画像データ処理サーバー１において旧アクセストークンが無効化される。ステップＳ５１３においてスキャナー３における新アクセストークンの有効化が完了したことを受けて、無効化要求送信部５０は、画像データ処理サーバー１に対して旧アクセストークンの無効化要求を送信する（ステップＳ５１４）。画像データ処理サーバー１の無効化要求受信部２１４は、スキャナー３から、旧アクセストークンの無効化要求を受信する（ステップＳ５１５）。無効化要求が受信されると、トークン無効化部２１５は、画像データ処理サーバー１において旧アクセストークンを無効化し（ステップＳ５１６）、無効化通知部２１６は、スキャナー３に対して当該無効化の通知を送信する（ステップＳ５１７）。その後、処理はステップＳ５１８へ進む。
【００９４】
ステップＳ５１８およびステップＳ５１９では、スキャナー３において旧アクセストークンが無効化される。画像データ処理サーバー１において旧アクセストークンが無効化されたことを通知する無効化通知が受信されると（ステップＳ５１８）、トークン管理部４９は、旧アクセストークンに関連付けられたフラグを「無効（Ｉｎｖａｌｉｄ）」に設定することで、旧アクセストークンを無効化する（ステップＳ５１９）。その後、本シーケンス図に示された処理は終了する。
【００９５】
なお、新アクセストークンがサーバーにおいて発行されてから旧アクセストークンの無効化が完了するまでの期間に、スキャナー３の強制電源断等の何らかの異常が発生した場合、スキャナー３は、次の起動時に、記憶装置３４に保存されているアクセストークンの有効／無効の設定を参照し、有効と判断されたアクセストークンを用いて画像データ処理サーバー１との通信を継続する。本実施形態において、画像データ処理サーバー１のユーザー認証部２１は、新アクセストークンの発行以降、旧アクセストークンが画像データ処理サーバー１において無効化されるまでの期間、新アクセストークンおよび旧アクセストークンの双方を有効なものとして扱い、ユーザーを認証するため、スキャナー３は、新アクセストークンおよび旧アクセストークンの何れを用いても、中断された処理をリカバリすることが可能である。本実施形態では、このようにすることで、スキャナー３と画像データ処理サーバー１との間で、アクセストークン管理の状態不一致が発生することを防止している。なお、スキャナー３が新アクセストークンの保存に失敗し、且つ旧アクセストークンが期限切れになった場合、スキャナー３は、改めてトークンリフレッシュを発行することでリカバリを行う。
【００９６】
なお、本バリエーションでは、図８を用いて説明したようなカウンターによるトークン管理が行われず、夫々のトークンに対して有効／無効を示すフラグが設定されるため、短時間ではあるが、スキャナー３において、新アクセストークンと旧アクセストークンの両方が有効である期間が生じる。この期間にスキャナー３の強制電源断等の何らかの異常が発生した場合、トークン送信部４５は、トークンに含まれる値の大小等に基づいて何れが新アクセストークンであるかを判断し、新アクセストークンを優先的に画像データ処理サーバー１に送信する。
【００９７】
＜効果＞
上記したアクセストークン更新処理によれば、スキャナーの起動時や画像データ処理サーバー１への接続時に、アクセストークンの有効期限の残時間確認が実施される。アクセストークンの期限切れが発生した場合、従来であれば、通常の通信処理中（例えば、画像データのアップロード中）に期限切れエラーが発生し、ユーザーが是正手続きを行う必要があったところ、本開示に係るアクセストークン更新処理を採用することで、アクセスト
ークンの期限切れの発生を事前に検知し、スキャナーファームウェアが内部的にリフレッシュトークンを発行して、処理中の期限切れエラーを防止することが出来る。
【００９８】
また、スキャナー等の、駆動部を有するユーザー装置においては、アクセストークンの期限切れを事前に確認し、駆動部制御中にトークンリフレッシュ処理が行われることを避けることで、トークンリフレッシュ処理が駆動部の制御に影響を及ぼして装置が故障するような事態を抑止することができる。
【符号の説明】
【００９９】
１  画像データ処理サーバー
３  スキャナー
【要約】      （修正有）【課題】処理の途中にアクセストークンが有効期限切れとなってしまうことを防止する。【解決手段】画像データ処理サーバー１に、アクセストークンを用いてユーザー装置（スキャナー）３又はユーザー端末９のユーザーを認証するユーザー認証部２１と、ユーザー装置３又はユーザー端末９からアクセストークンを受信するトークン受信部２１２と、アクセストークンが受信された場合に、アクセストークンの有効期限までの残時間が所定の閾値未満であるか否かを判定可能な判定用情報を、ユーザー装置３又はユーザー端末９に対して送信する判定用情報送信部２１３と、を備える。ユーザー認証部２１は、判定用情報を受信したユーザー装置３又はユーザー端末９によって送信されたアクセストークンの発行要求が受信された場合に、有効期限が更新された新たなアクセストークンを発行する。【選択図】図３【図１】
0005956623.tif 000002
【図２】
0005956623.tif 000003
【図３】
0005956623.tif 000004
【図４】
0005956623.tif 000005
【図５】
0005956623.tif 000006
【図６】
0005956623.tif 000007
【図７】
0005956623.tif 000008
【図８】
0005956623.tif 000009
【図９】
0005956623.tif 000010
【図１０】
0005956623.tif 000011