(57)【要約】【課題】異なる認証基盤を持つサービスであっても、ユーザによる一度の認証処理によってサービスが利用可能となるシステム及びサービス提供装置を提供することを課題とする。【解決手段】第一のサービス提供システムと、認証基盤が異なる第二のサービス提供システムとを有するシステムであって、機器から第二のサービス提供システムを利用する処理の要求を受け付け、認証後の権限情報の取得要求を行う手段と、記憶手段にユーザと紐付く認証後の権限情報が記憶されていなければ、記憶手段から取得した認証情報を用いて第二のサービス提供システムから認証後の権限情報を取得する手段と、記憶手段に認証後の権限情報が記憶されていれば記憶手段に記憶されている認証後の権限情報を提供し、権限情報が記憶されていなければ、第二のサービス提供システムから取得した認証後の権限情報を提供する手段とを有することにより、上記課題を解決する。【選択図】  図１
2014112354.tif 000002
【特許請求の範囲】
【請求項１】
機器にサービスを提供する第一のサービス提供システムと、前記第一のサービス提供システムと認証基盤が異なる第二のサービス提供システムと、を有するシステムであって、
ユーザが操作する機器から前記第二のサービス提供システムを利用する処理の要求を受け付け、前記第二のサービス提供システムを利用するための認証後の権限情報の取得要求を行う権限情報取得要求手段と、
前記認証後の権限情報を記憶する第一の記憶手段に、前記ユーザと紐付く前記認証後の権限情報が記憶されていなければ、前記第二のサービス提供システムの認証情報を記憶する第二の記憶手段から前記第二のサービス提供システムの認証情報を取得し、前記認証情報を用いて前記第二のサービス提供システムから前記認証後の権限情報を取得する代理認証手段と、
前記第一の記憶手段に前記ユーザと紐付く前記認証後の権限情報が記憶されていれば前記第一の記憶手段に記憶されている前記認証後の権限情報を提供し、前記第一の記憶手段に前記ユーザと紐付く前記認証後の権限情報が記憶されていなければ、前記第二のサービス提供システムから取得した前記認証後の権限情報を提供する権限情報提供手段と、
を有するシステム。
【請求項２】
前記第二のサービス提供システムの認証情報の登録要求を受け付け、前記第二のサービス提供システムの認証情報を前記ユーザのユーザ情報と紐付けて、前記第二の記憶手段に登録する認証情報登録手段
を更に有する請求項１記載のシステム。
【請求項３】
前記第二のサービス提供システムから取得した前記認証後の権限情報を、前記ユーザのユーザ情報及び前記第二のサービス提供システムの識別情報と紐付けて、前記第一の記憶手段に保存する権限情報保存手段
を更に有する請求項１又は２記載のシステム。
【請求項４】
前記第一の記憶手段に前記ユーザと紐付く期限切れの前記認証後の権限情報が記憶されているとき、
前記代理認証手段は、前記第二の記憶手段から前記第二のサービス提供システムの認証情報を取得して、前記認証情報を用いて前記第二のサービス提供システムから前記認証後の権限情報を取得し、
前記権限情報提供手段は、前記第二のサービス提供システムから取得した前記認証後の権限情報を提供する
ことを特徴とする請求項１乃至３何れか一項記載のシステム。
【請求項５】
前記第二の記憶手段は、前記第二のサービス提供システムの認証情報として、前記第二のサービス提供システムの認証基盤において前記ユーザを特定する情報の他、付加情報を記憶でき、
前記認証情報登録手段は、前記第二のサービス提供システムに認証するための情報として前記付加情報の登録要求を受け付ける
ことを特徴とする請求項２記載のシステム。
【請求項６】
前記認証情報登録手段は、前記第二のサービス提供システムの認証情報を識別するための情報として前記付加情報の登録要求を受け付ける
ことを特徴とする請求項５記載のシステム。
【請求項７】
提供された前記認証後の権限情報を用いて、前記第二のサービス提供システムに処理を要求する処理要求手段
を更に有する請求項１乃至４何れか一項記載のシステム。
【請求項８】
前記処理要求手段から非同期処理と前記第二のサービス提供システムとを連携させる連携処理の要求を受け付け、前記連携処理の情報を第三の記憶手段に登録する処理受付手段と、
前記第三の記憶手段から前記連携処理の情報を取得し、前記非同期処理を行ったあとに前記第一の記憶手段から前記ユーザと紐付く前記認証後の権限情報を取得し、取得した前記認証後の権限情報を用いて、前記第二のサービス提供システムに処理を要求する処理実行手段と
を更に有する請求項７記載のシステム。
【請求項９】
前記処理受付手段は、前記処理要求手段から非同期処理と前記第二のサービス提供システムとを連携させない非連携処理の要求を受け付け、前記非連携処理の情報を第三の記憶手段に登録し、
前記処理実行手段は、前記第三の記憶手段から前記連携処理の情報を取得すると、前記非同期処理を行ったあとに前記第一の記憶手段から前記ユーザと紐付く前記認証後の権限情報を取得し、取得した前記認証後の権限情報を用いて、前記第二のサービス提供システムに処理を要求し、前記第三の記憶手段から前記非連携処理の情報を取得すると、前記第二のサービス提供システムとの連携を行うことなく前記非同期処理を行うこと
を特徴とする請求項８記載のシステム。
【請求項１０】
機器にサービスを提供するサービス提供装置であって、
ユーザが操作する機器から認証基盤が異なるサービス提供システムを利用する処理の要求を受け付け、前記サービス提供システムを利用するための認証後の権限情報の取得要求を行う権限情報取得要求手段と、
前記認証後の権限情報を記憶する第一の記憶手段に、前記ユーザと紐付く前記認証後の権限情報が記憶されていなければ、前記サービス提供システムの認証情報を記憶する第二の記憶手段から前記サービス提供システムの認証情報を取得し、前記認証情報を用いて前記サービス提供システムから前記認証後の権限情報を取得する代理認証手段と、
前記第一の記憶手段に前記ユーザと紐付く前記認証後の権限情報が記憶されていれば前記第一の記憶手段に記憶されている前記認証後の権限情報を提供し、前記第一の記憶手段に前記ユーザと紐付く前記認証後の権限情報が記憶されていなければ、前記サービス提供システムから取得した前記認証後の権限情報を提供する権限情報提供手段と、
を有するサービス提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム及びサービス提供装置に関する。
【背景技術】
【０００２】
ＷＷＷ上で複数のサービスに対してシングルサインオン機能を提供する際に、より安全に通信が可能なネットワークシステムを提供することを目的としたネットワーク装置は従来から知られている（例えば特許文献１参照）。
【０００３】
クライアントからの要求に応じてサービスを提供する従来のネットワーク装置は、要求されたサービスを提供する処理手段と、未ログインのクライアントからのアクセスを受けた際には認証サーバに問い合わせ、認証済であればネットワーク装置へのアクセスのための認証チケットを発行し、ログイン済のクライアントからのアクセスを受けた際には認証チケットを受け取って処理手段にサービスを行わせる通信制御手段を有することを特徴としていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、クラウドサービスに代表されるようなＷｅｂアプリケーションやサーバ側のアプリケーションの機能をサービスとして提供する利用形態が注目されている。このような利用形態においては、サービスの提供を受ける為に認証が必要となる場合がある。しかしながら、複数のサービスが異なる認証基盤によって認証を行っている場合、ユーザは利用したいサービスそれぞれの認証基盤における認証を行わなければならず、ユーザにとって操作性が良くなかった。
【０００５】
本発明の実施の形態は、上記の点に鑑みなされたもので、異なる認証基盤を持つサービスであっても、ユーザによる一度の認証処理によってサービスが利用可能となるシステム及びサービス提供装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本願請求項１は、機器にサービスを提供する第一のサービス提供システムと、前記第一のサービス提供システムと認証基盤が異なる第二のサービス提供システムと、を有するシステムであって、ユーザが操作する機器から前記第二のサービス提供システムを利用する処理の要求を受け付け、前記第二のサービス提供システムを利用するための認証後の権限情報の取得要求を行う権限情報取得要求手段と、前記認証後の権限情報を記憶する第一の記憶手段に、前記ユーザと紐付く前記認証後の権限情報が記憶されていなければ、前記第二のサービス提供システムの認証情報を記憶する第二の記憶手段から前記第二のサービス提供システムの認証情報を取得し、前記認証情報を用いて前記第二のサービス提供システムから前記認証後の権限情報を取得する代理認証手段と、前記第一の記憶手段に前記ユーザと紐付く前記認証後の権限情報が記憶されていれば前記第一の記憶手段に記憶されている前記認証後の権限情報を提供し、前記第一の記憶手段に前記ユーザと紐付く前記認証後の権限情報が記憶されていなければ、前記第二のサービス提供システムから取得した前記認証後の権限情報を提供する権限情報提供手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、異なる認証基盤を持つサービスであっても、ユーザによる一度の認証処理によってサービスが利用可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係るシステムの一例の構成図である。
【図２】本実施形態に係るコンピュータシステムの一例のハードウェア構成図である。
【図３】本実施形態に係るサービス提供システムの一例の処理ブロック図である。
【図４】本実施形態に係るサービスアプリの一例の処理ブロック図である。
【図５】本実施形態に係る認証処理部の一例の処理ブロック図である。
【図６】本実施形態に係るデータ処理部の一例の処理ブロック図である。
【図７】組織管理情報の一例の構成図である。
【図８】ユーザ管理情報の一例の構成図である。
【図９】機器管理情報の一例の構成図である。
【図１０】代理認証情報の一例の構成図である。
【図１１】代理認証トークン情報の一例の構成図である。
【図１２】代理認証情報を登録する処理手順の一例を表したシーケンス図である。
【図１３】外部サービス情報登録画面の一例のイメージ図である。
【図１４】ユーザ管理情報登録画面の一例のイメージ図である。
【図１５】外部サービス情報登録画面の他の例のイメージ図である。
【図１６】外部サービスを利用する処理手順の一例を表したシーケンス図である。
【図１７】外部サービス連携要求画面の一例のイメージ図である。
【図１８】代理認証情報を登録する処理手順の他の例を表したフローチャートである。
【図１９】代理認証情報を登録する処理手順における一例の画面遷移図である。
【図２０】非同期処理と外部サービスシステムとが連携する処理手順の一例を表したシーケンス図である。
【図２１】非同期処理と外部サービスシステムとが連携する処理手順の他の例を表したシーケンス図である。
【図２２】代理認証情報の他の例の構成図である。
【発明を実施するための形態】
【０００９】
次に、本発明の実施の形態について、詳細に説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係るシステムの一例の構成図である。図１のシステム１は、例えばオフィス内ネットワーク等のネットワークＮ１と、クラウドサービスに代表されるようなサービス提供システムのネットワークＮ２と、クラウドサービスに代表されるような外部サービスのネットワークＮ３と、インターネットなどのネットワークＮ４とを有する。
【００１０】
ネットワークＮ１は、ファイアウォールＦＷの内側にあるプライベートなネットワークである。ファイアウォールＦＷはネットワークＮ１とネットワークＮ４との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークＮ１にはクライアント端末１１、携帯端末１２、複合機などの画像形成装置１４、プロジェクタ１５、電子黒板等のその他の機器１６が接続されている。
【００１１】
クライアント端末１１は端末装置の一例である。クライアント端末１１は一般的なＯＳなどが搭載された情報処理装置（コンピュータシステム）によって実現できる。クライアント端末１１は無線による通信の手段または有線による通信の手段を有する。クライアント端末１１は、タブレットＰＣ、ノートＰＣなど、ユーザが操作可能な端末である。
【００１２】
携帯端末１２は端末装置の一例である。携帯端末１２は、無線による通信の手段または有線による通信の手段を有している。携帯端末１２は、スマートフォンや携帯電話、タブレットＰＣ、ノートＰＣなど、ユーザが携帯可能な端末である。
【００１３】
画像形成装置１４は複合機などの画像形成機能を有する装置である。画像形成装置１４は無線による通信の手段または有線による通信の手段を有する。画像形成装置１４は複合機、コピー機、スキャナ、プリンタ、レーザプリンタなど、画像形成に係る処理を行う装置である。プロジェクタ１５は画像を投影する装置である。プロジェクタ１５は無線による通信の手段または有線による通信の手段を有する。
【００１４】
図１では、一例としてクライアント端末１１、携帯端末１２、画像形成装置１４、プロジェクタ１５、その他の機器１６がそれぞれ一台である例を示しているが複数台であってもよい。
【００１５】
ネットワークＮ２はアクセス制御装置２１によってインターネット等のネットワークＮ４に接続されている。ネットワークＮ２はアクセス制御装置２１によってセキュリティが保護されている。ネットワークＮ２にはプリントサービス提供装置２２、スキャンサービス提供装置２３、ポータルサービス提供装置２４、他サービス提供装置２５が接続されている。図１のシステム１は、アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、ポータルサービス提供装置２４、他サービス提供装置２５がサービス提供システムを実現している。
【００１６】
アクセス制御装置２１はプリントサービス提供装置２２が提供するプリントサービスやスキャンサービス提供装置２３が提供するスキャンサービス、ポータルサービス提供装置２４が提供するポータルサービスなど、各サービスへのログインを制御する。
【００１７】
アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、ポータルサービス提供装置２４、他サービス提供装置２５は、一台以上の情報処理装置（コンピュータシステム）によって実現される。
【００１８】
なお、図１のシステム１のプリントサービス提供装置２２、スキャンサービス提供装置２３、ポータルサービス提供装置２４、他サービス提供装置２５は一台のコンピュータに統合して実現してもよいし、複数のコンピュータに分散して実現してもよい。
【００１９】
ネットワークＮ３はアクセス制御装置３１によってインターネット等のネットワークＮ４に接続されている。ネットワークＮ３はアクセス制御装置３１によってセキュリティが保護されている。ネットワークＮ３には１つ以上の外部サービス提供装置３２が接続されている。図１のシステム１は、アクセス制御装置３１、外部サービス提供装置３２が外部サービスシステムを実現している。
【００２０】
アクセス制御装置３１は、外部サービス提供装置３２が提供する外部サービスへのログインを制御する。アクセス制御装置３１、外部サービス提供装置３２は、一台以上の情報処理装置（コンピュータシステム）によって実現される。なお、図１のシステム１の外部サービス提供装置３２は、一台のコンピュータに統合して実現してもよいし、複数のコンピュータに分散して実現してもよい。
【００２１】
ネットワークＮ２側のサービスの一部はネットワークＮ２以外にあってもよい。携帯端末１２は、オフィス内ネットワーク等のネットワークＮ１以外にあってもよい。図１のシステム１では携帯端末１２がネットワークＮ１と、インターネットなどのネットワークＮ４とにある例を示している。また、図１のシステム１では外部サービスシステムが１つの例を示しているが複数であってもよい。
【００２２】
図１のシステム１では、サービス提供システム及び外部サービスシステムにおいて異なる認証基盤によって認証を行っているものとする。図１のシステム１はサービス提供システムの認証基盤が外部サービスシステムの認証基盤との連携処理を行うことで、認証基盤が異なる外部サービスシステムを利用するときも、ユーザにとってのシングルサインオンを実現できる。
【００２３】
また、図１のシステム１では、サービス提供システムの認証基盤が、外部サービスシステムの認証基盤と認証するために必要なアカウント情報の管理、外部サービスシステムから認証トークンを取得するための認証処理、取得した認証トークンの保存、を行うことにより、認証トークンの一括管理が可能となる。したがって、図１のシステム１ではサービス提供システムの認証基盤が認証トークンを一括管理することで、セキュリティの向上が図られる。
【００２４】
＜ハードウェア構成＞
クライアント端末１１、携帯端末１２、アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、ポータルサービス提供装置２４、他サービス提供装置２５は、例えば図２に示すハードウェア構成のコンピュータシステムにより実現される。また、アクセス制御装置３１、外部サービス提供装置３２も、例えば図２に示すハードウェア構成のコンピュータシステムにより実現される。
【００２５】
図２は本実施形態に係るコンピュータシステムの一例のハードウェア構成図である。図２に示したコンピュータシステム５００は、入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ（Random Access Memory）５０４、ＲＯＭ（Read Only Memory）５０５、ＣＰＵ（Central Processing Unit）５０６、通信Ｉ／Ｆ５０７、及びＨＤＤ（Hard Disk Drive）５０８などを備え、それぞれがバスＢで相互に接続されている。
【００２６】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイなどを含み、コンピュータシステム５００による処理結果を表示する。
【００２７】
通信Ｉ／Ｆ５０７はコンピュータシステム５００をネットワークＮ１〜Ｎ４に接続するインタフェースである。これにより、コンピュータシステム５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００２８】
ＨＤＤ５０８はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム５００全体を制御する基本ソフトウェアであるＯＳ（Operating System）や、ＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。ＨＤＤ５０８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢ（データベース）により管理している。
【００２９】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータシステム５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）、ＵＳＢメモリ（Universal Serial Bus memory）などがある。
【００３０】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ５０５には、コンピュータシステム５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００３１】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータシステム５００全体の制御や機能を実現する演算装置である。
【００３２】
クライアント端末１１、携帯端末１２、アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、ポータルサービス提供装置２４、他サービス提供装置２５は、コンピュータシステム５００のハードウェア構成により、後述するような各種処理を実現できる。また、アクセス制御装置３１、外部サービス提供装置３２も、コンピュータシステム５００のハードウェア構成により、後述するような各種処理を実現できる。
【００３３】
＜ソフトウェア構成＞
《サービス提供システム》
本実施形態に係るサービス提供システムは例えば図３に示す処理ブロックにより実現される。図３は本実施形態に係るサービス提供システムの一例の処理ブロック図である。図３のサービス提供システム５０は、プログラムを実行することにより、サービスアプリ５１、プラットフォーム５２、管理データ記憶部５３及びプラットフォームＡＰＩ（Application Programming Interface）５４を実現している。
【００３４】
図３のサービスアプリ５１は、プリントサービスアプリ６１、スキャンサービスアプリ６２、ポータルサービスアプリ６３、１つ以上のその他のサービスアプリ６４を一例として有する。プリントサービスアプリ６１はプリントサービスを提供するアプリケーションである。スキャンサービスアプリ６２はスキャンサービスを提供するアプリケーションである。ポータルサービスアプリ６３はポータルサービスを提供するアプリケーションである。また、その他のサービスアプリ６４は何らかのサービスを提供するアプリケーションである。
【００３５】
プラットフォームＡＰＩ５４はプリントサービスアプリ６１、スキャンサービスアプリ６２、ポータルサービスアプリ６３、その他のサービスアプリ６４などのサービスアプリ５１が、プラットフォーム５２を利用するためのインタフェースである。プラットフォームＡＰＩ５４はサービスアプリ５１からの要求をプラットフォーム５２が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。なお、サービス提供システム５０を複数の情報処理装置に分散して構成する場合、プラットフォームＡＰＩ５４にはネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩを利用できる。
【００３６】
図３のプラットフォーム５２は、認証処理部７１、機器通信部７２、セッション管理部７３、データ処理部７４、代理認証部７５を一例として有する。認証処理部７１はクライアント端末１１や画像形成装置１４などのオフィス機器からのログイン要求に基づいて認証を実行する。オフィス機器は、クライアント端末１１、携帯端末１２、画像形成装置１４、プロジェクタ１５、その他の機器１６などの総称である。機器通信部７２はオフィス機器や外部サービスシステムとの通信を実行する。
【００３７】
セッション管理部７３は、オフィス機器や外部サービスシステムとのセッションを管理する。データ処理部７４はサービスアプリ５１からの要求に基づいてデータ処理を実行する。代理認証部７５は外部サービスシステムに対し、代理認証を行う。
【００３８】
管理データ記憶部５３は組織管理情報記憶部８１、ユーザ管理情報記憶部８２、機器管理情報記憶部８３、代理認証情報記憶部８４、代理認証トークン情報記憶部８５、データ管理情報記憶部８６、データストレージ８７を一例として有する。
【００３９】
組織管理情報記憶部８１は、後述の組織管理情報を記憶する。ユーザ管理情報記憶部８２は後述のユーザ管理情報を記憶する。機器管理情報記憶部８３は後述の機器管理情報を記憶する。代理認証情報記憶部８４は後述の代理認証情報を記憶する。代理認証トークン情報記憶部８５は後述の代理認証トークン情報を記憶する。データ管理情報記憶部８６はデータ管理情報を記憶する。データストレージ８７はその他のデータ等を記憶する。
【００４０】
プラットフォーム５２は、複数のサービスアプリ５１に共通する機能又は複数のサービスアプリ５１から利用される基本機能等を含む。本実施形態において、認証処理部７１、機器通信部７２、セッション管理部７３、データ処理部７４、代理認証部７５等は、プラットフォーム５２に属する。プラットフォーム５２の各部の機能は、プラットフォームＡＰＩ５４を介してサービスアプリ５１に公開されている。
【００４１】
換言すれば、サービスアプリ５１は、プラットフォームＡＰＩ５４によって公開されている範囲においてこれら各部の機能を利用可能である。なお、図３に示されるように、サービス提供システム５０によって提供されるサービスは、クライアント端末１１、携帯端末１２、画像形成装置１４、プロジェクタ１５以外に、会議システム、ＩＣレコーダ、デジタルカメラや、その他の機器１６等に関して実行されてもよい。
【００４２】
また、図３に示される各ソフトウェア及び各記憶部の分類形態は、一例であり、本実施形態を実施するために、サービス提供システム５０の各ソフトウェア及び各記憶部が、図３に示されるような階層で分類されていることは必須ではない。すなわち、クライアント端末１１、携帯端末１２、画像形成装置１４、プロジェクタ１５などのオフィス機器が、サービスアプリ５１と連携可能であれば、サービス提供システム５０におけるソフトウェア及び記憶部の階層関係等は、特定のものに限定されない。
【００４３】
サービス提供システム５０は、例えば認証や非同期変換といった機能を有するクラウド基盤と、クラウド基盤の機能を利用してプリントサービス等のサービス提供を行うサービス群として機能する。クラウド基盤は、例えばプラットフォーム５２、管理データ記憶部５３、プラットフォームＡＰＩ５４によって構成される。サービス群は例えばサービスアプリ５１によって構成される。
【００４４】
サービス提供システム５０のクラウド基盤が有する認証の機能は、例えば認証処理部７１と、代理認証部７５と、認証用データベースにより構成される。認証用データベースは組織管理情報記憶部８１、ユーザ管理情報記憶部８２、機器管理情報記憶部８３、代理認証情報記憶部８４、代理認証トークン情報記憶部８５などにより構成される。また、サービス提供システム５０のクラウド基盤が有する非同期変換の機能は、例えばデータ処理部７４と、データ管理情報記憶部８６と、データストレージ８７により構成される。
【００４５】
サービスアプリ５１などのサービス群はサービス提供システム５０のクラウド基盤が有する認証や非同期変換といった機能を利用し、サービスの提供を行う。また、サービス群は外部サービスシステムの機能と連携してサービスを提供する場合、クラウド基盤が有する認証の機能を介して、外部サービスシステムにアクセスするための認証トークンを取得する。
【００４６】
なお、外部サービスシステムはサービス提供システム５０以外のシステムであり、クラウドサービスなどのサービスを提供する。本実施例では外部サービスシステムが提供するサービス（機能）を外部サービスと呼んでいる。外部サービスにはクラウドサービスとして提供されているオンラインストレージサービス、スキャン文書の保管・管理サービスなどが含まれる。外部サービスシステムには、サービス提供システム５０に機能を提供するためのＷｅｂＡＰＩが整備されている。ＷｅｂＡＰＩを利用するためには外部サービスシステムの認証基盤による認証が必要となる。
【００４７】
また、図３のサービス提供システム５０は複数のサービスアプリ５１が共通に利用する組織管理情報、ユーザ管理情報、機器管理情報、代理認証情報、代理認証トークン情報を有することで、認証機能を集約している。なお、図３のサービス提供システム５０は組織管理情報、ユーザ管理情報、機器管理情報、代理認証情報など、永続的に保存が必要となる情報を例えばＨＤＤ５０８に保存する。また、図３のサービス提供システム５０は代理認証トークン情報など有効期限が決まっており、組織管理情報、ユーザ管理情報、機器管理情報、代理認証情報などの他の情報よりライフサイクルが短い情報を、例えばＲＡＭ５０４に（オンメモリ上に）保存する。オンメモリ上に保存することで、代理認証トークン情報の読み出し／書き込みは高速になり、レスポンスが高速化する。
【００４８】
《サービスアプリ５１》
サービスアプリ５１は、例えば図４に示す処理ブロックにより実現される。図４は本実施形態に係るサービスアプリの一例の処理ブロック図である。サービスアプリ５１はコンピュータシステム５００を、認証要求部１０１、画面処理部１０２、情報登録要求部１０３、認証トークン取得要求部１０４、処理要求部１０５として機能させる。
【００４９】
認証要求部１０１は認証処理部７１に認証を要求する。画面処理部１０２は後述の外部サービス情報登録画面の生成など、画面に関する処理を行う。情報登録要求部１０３は画面処理部１０２が生成した外部サービス情報登録画面などの画面に入力された情報の登録を認証処理部７１に要求する。
【００５０】
認証トークン取得要求部１０４は外部サービスシステムのＷｅｂＡＰＩを利用するために必要となる認証トークンの取得を、認証処理部７１に要求する。処理要求部１０５は認証トークンを利用し、外部サービスシステムのＷｅｂＡＰＩに処理を要求する。処理要求部１０５はデータ処理部７４に非同期変換などの非同期処理を要求することもできる。
【００５１】
《認証処理部７１》
認証処理部７１は例えば図５に示す処理ブロックにより実現される。図５は本実施形態に係る認証処理部の一例の処理ブロック図である。認証処理部７１は、認証部１１１、情報登録部１１２、認証トークン提供部１１３、代理認証要求部１１４、認証トークン保存部１１５を有する。
【００５２】
認証部１１１は認証の要求を受け付け、認証チケットを発行する。情報登録部１１２は情報登録の要求を受け付け、情報を登録する。認証トークン提供部１１３は認証トークン取得の要求を受け付け、代理認証トークン情報記憶部８５に提供できる認証トークンがあれば提供する。
【００５３】
なお、認証トークン提供部１１３は提供できる認証トークンが無ければ、認証トークンの取得を代理認証要求部１１４に要求し、取得した認証トークンを提供する。代理認証要求部１１４は代理認証情報記憶部８４に記憶されている代理認証情報を利用して、外部サービスシステムから認証トークンを取得する。認証トークン保存部１１５は外部サービスシステムから取得した認証トークンを、代理認証トークン情報記憶部８５に保存する。
【００５４】
《データ処理部７４》
データ処理部７４は例えば図６に示す処理ブロックにより実現される。図６は本実施形態に係るデータ処理部の一例の処理ブロック図である。データ処理部７４は、非同期Ｆｒｏｎｔ（フロント）部１２１、非同期Ｗｏｒｋｅｒ（ワーカ）部１２２を有する。
【００５５】
非同期Ｆｒｏｎｔ部１２１はサービスアプリ５１から非同期処理の要求をジョブとして受け付け、データ管理情報記憶部８６にジョブとして保存する。データ管理情報記憶部８６はメッセージキューとして機能する。
【００５６】
非同期Ｗｏｒｋｅｒ部１２２はデータ管理情報記憶部８６から順次、ジョブを取得して非同期処理を実行する。外部サービスシステムを利用する場合、非同期Ｗｏｒｋｅｒ部１２２は認証処理部７１に外部サービスシステムの認証トークンを要求し、認証トークンを取得する。
【００５７】
《管理データ》
図７は組織管理情報の一例の構成図である。図７の組織管理情報はデータ項目としてｉｄ、組織ＩＤ、組織名などを有する。ｉｄは組織管理情報のレコードを一意に特定する情報である。組織ＩＤは、企業、部署などの組織を一意に特定する情報である。組織ＩＤは組織という言語に限定されるものでなく、例えば契約を識別する情報であってもよい。組織名は組織の名称である。
【００５８】
図８はユーザ管理情報の一例の構成図である。図８のユーザ管理情報はデータ項目としてｉｄ、組織ＩＤ、ユーザＩＤ、パスワード、ユーザ名などを有する。ｉｄはユーザ管理情報のレコードを一意に特定する情報である。ユーザＩＤ、パスワードはサービス提供システム５０の認証基盤においてユーザを特定する情報である。ユーザ名はユーザの名前である。パスワードは必須でない。
【００５９】
さらに、ユーザＩＤはユーザが所持する電子媒体（例えばＩＣカード）の識別番号などを代わりに用いてもよい。組織ＩＤと対応付けられたユーザＩＤ、パスワードは一意であるが、組織ＩＤが異なれば重複していてもよい。
【００６０】
図９は機器管理情報の一例の構成図である。図９の機器管理情報はデータ項目としてｉｄ、組織ＩＤ、デバイス認証情報、事業所情報、ケーパビリティなどを有する。ｉｄは機器管理情報のレコードを一意に特定する情報である。デバイス認証情報はオフィス機器が特定の条件を備えたものであることを判別するデバイス認証のための情報である。デバイス認証情報は特定のアプリケーションが搭載されていることを示すＩＤや、特定の機器であることを示す機器番号などであってもよい。事業所情報は例えばオフィス機器が設置されている事業所を表している。また、ケーパビリティは例えばオフィス機器の能力を表している。
【００６１】
図１０は代理認証情報の一例の構成図である。図１０の代理認証情報は、データ項目としてｉｄ、組織ＩＤ、ユーザＩＤ、外部サービス名、外部サービスユーザ名、外部サービスパスワード、付加情報などを有する。ｉｄは、代理認証情報のレコードを一意に特定する情報である。
【００６２】
外部サービス名は、外部サービスシステムを一意に特定する情報の一例であって、外部サービスシステムの名称である。外部サービスユーザ名、外部サービスパスワードは外部サービスシステムの認証基盤においてユーザを特定する情報である。
【００６３】
付加情報は、外部サービスシステムから認証トークンを取得する場合に必要となる外部サービスユーザ名、外部サービスパスワード以外の情報であってもよいし、ユーザが代理認証情報を識別するためのメッセージであってもよい。図１０の代理認証情報は付加情報として外部サービスシステム固有の情報を登録できるため、特定の外部サービスシステムに依存することなく、簡単に新しい外部サービスシステムを追加できる。
【００６４】
図１１は代理認証トークン情報の一例の構成図である。図１１の代理認証トークン情報は、データ項目としてｉｄ、組織ＩＤ、ユーザＩＤ、外部サービス名、認証トークン、有効期限などを有する。ｉｄは、代理認証トークン情報のレコードを一意に特定する情報である。認証トークンは、外部サービスシステムから取得した認証トークン（アクセスパラメータ）である。有効期限は認証トークンの有効期限である。
【００６５】
＜処理の詳細＞
以下では、本実施形態に係るシステム１の処理の詳細について説明する。
【００６６】
《代理認証情報の登録》
図１２は代理認証情報を登録する処理手順の一例を表したシーケンス図である。図１２のシーケンス図は、外部サービスシステムから認証トークンを取得するために必要な外部サービスシステムのアカウント情報などの代理認証情報を登録する処理を示している。
【００６７】
サービスアプリ５１はユーザの操作するクライアント端末１１などのオフィス機器から組織ＩＤ、ユーザＩＤ、パスワードなどのアカウント情報を用いたログイン要求を受け付ける。ステップＳ１において、サービスアプリ５１は受け付けたログイン要求に含まれる組織ＩＤ、ユーザＩＤ、パスワードを用いて認証処理部７１に認証を要求する。
【００６８】
認証処理部７１はサービスアプリ５１から組織ＩＤ、ユーザＩＤ、パスワードを認証情報として用いた認証の要求を受け付けると、ユーザ管理情報記憶部８２に記憶されているユーザ管理情報を参照し、その認証情報の認証を行う。認証情報の認証に成功すると認証処理部７１は認証チケットを生成する。ステップＳ２において、認証処理部７１はサービスアプリ５１に認証チケットを返す。サービスアプリ５１はログイン要求元のオフィス機器に認証チケットを返す。以後、オフィス機器は認証チケットを用いることでサービス提供システム５０の機能が利用可能となる。なお、認証処理部７１は認証チケットとユーザ情報（組織ＩＤ、ユーザＩＤなど）とを紐付けて管理する。
【００６９】
サービスアプリ５１はユーザの操作するオフィス機器から代理認証情報の登録要求を受け付ける。ステップＳ３において、サービスアプリ５１は例えば図１３に示すような外部サービス情報登録画面を生成し、ユーザの操作するオフィス機器に外部サービス情報登録画面を表示させる。
【００７０】
図１３は外部サービス情報登録画面の一例のイメージ図である。図１３の外部サービス情報登録画面１０００は、外部サービス名、外部サービスユーザ名、外部サービスパスワード、付加情報を入力させる欄１００１と、登録ボタン１００２とを有する。ユーザはオフィス機器を操作し、外部サービス情報登録画面１０００の欄１００１を入力した後で登録ボタン１００２を押下する。
【００７１】
登録ボタン１００２が押下されると、サービスアプリ５１は図１２のステップＳ４以降の処理を開始する。ステップＳ４において、サービスアプリ５１は外部サービス情報登録画面１０００の欄１００１に入力された情報と、ステップＳ２で取得した認証チケットとを用いて認証処理部７１に外部サービス情報の登録を要求する。
【００７２】
ステップＳ５において、認証処理部７１は外部サービス情報の登録の要求に含まれる認証チケットを用いて、認証チケットに紐付くユーザ情報を取得する。ステップＳ６において認証処理部７１は認証チケットに紐付くユーザ情報と、外部サービス情報登録画面１０００の欄１００１に入力された情報と、を紐付けて代理認証情報記憶部８４に登録する。
【００７３】
なお、外部サービス情報登録画面１０００は例えば図１４に示すようなユーザ管理情報登録画面１０１０からユーザが外部サービス設定ボタン１０１１を押下したとき、ユーザの操作するオフィス機器に表示させるようにしてもよい。図１４はユーザ管理情報登録画面の一例のイメージ図である。
【００７４】
また、外部サービス情報登録画面１０００は図１３の例に限ることなく、例えば図１５に示すようであってもよい。図１５は外部サービス情報登録画面の他の例のイメージ図である。図１５の外部サービス情報登録画面１０２０は、アカウント、ＩＤ、パスワードを入力させる欄１０２１と、ＯＫボタン１０２２とを有する。
【００７５】
外部サービス情報登録画面１０２０のＩＤ及びパスワードは図１３の外部サービス情報登録画面１０００の外部サービスユーザ名及び外部サービスパスワードに相当するものである。また、外部サービス情報登録画面１０２０のアカウントは図１３の外部サービス情報登録画面１０００の付加情報に相当するものである。なお、外部サービス情報登録画面１０２０は外部サービス名と紐付けられているため、図１３の外部サービス識別子を入力させる欄が省略されている。
【００７６】
《外部サービスの利用》
図１６は外部サービスを利用する処理手順の一例を表したシーケンス図である。図１６のシーケンス図は、外部サービスシステムから認証トークンを取得し、その認証トークンを用いて外部サービスを利用する処理を示している。
【００７７】
ステップＳ１１〜Ｓ１２の処理は図１２のステップＳ１〜Ｓ２と同様であるため、説明を省略する。
【００７８】
サービスアプリ５１はユーザの操作するオフィス機器から外部サービスとの連携要求を受け付ける。ステップＳ１３において、サービスアプリ５１は例えば図１７に示すような外部サービス連携要求画面を生成し、ユーザの操作するオフィス機器に外部サービス連携要求画面を表示させる。
【００７９】
図１７は外部サービス連携要求画面の一例のイメージ図である。図１７の外部サービス連携要求画面１０３０は、一例としてファイルアップロード連携画面を示している。外部サービス連携要求画面１０３０は、連携する外部サービスをユーザに選択させるラジオボタン１０３１と、アップロードボタン１０３２とを有する。ユーザはオフィス機器を操作して、連携する外部サービスを選択した後でアップロードボタン１０３２を押下する。
【００８０】
図１７の外部サービス連携要求画面１０３０では、ユーザが連携する外部サービスを選択する例を表している。なお、サービスアプリ５１は組織ＩＤ及びユーザＩＤに紐付く外部サービス名を代理認証情報記憶部８４から取得することで、代理認証情報が登録済みの外部サービス名を外部サービス連携要求画面１０３０に表示できる。アップロードボタン１０３２が押下されると、サービスアプリ５１は図１６のステップＳ１４以降の処理を開始する。
【００８１】
ステップＳ１４において、サービスアプリ５１は外部サービス連携要求画面１０３０から選択された外部サービスの外部サービス名と、ステップＳ１２で取得した認証チケットとを用いて認証処理部７１に認証トークンの取得を要求する。
【００８２】
ステップＳ１５において、認証処理部７１は、認証トークンの取得の要求に含まれる認証チケットを用いて、認証チケットに紐付くユーザ情報を取得する。ステップＳ１６において認証処理部７１は、認証チケットに紐付くユーザ情報と、外部サービス連携要求画面１０３０からユーザにより選択された外部サービスの外部サービス名と、に紐付く認証トークンの取得を代理認証トークン情報記憶部８５に要求する。
【００８３】
ユーザ情報と外部サービス名とに紐付く認証トークンが代理認証トークン情報記憶部８５に保存されていれば、ステップＳ１７において、認証処理部７１は代理認証トークン情報記憶部８５から認証トークン及び有効期限を取得する。一方、ユーザ情報と外部サービス名とに紐付く認証トークンが代理認証トークン情報記憶部８５に保存されていなければ、ステップＳ１７において、認証処理部７１は代理認証トークン情報記憶部８５から該当する認証トークンが無いことを示すｆａｌｓｅを受信する。
【００８４】
認証処理部７１は代理認証トークン情報記憶部８５から有効期限内の認証トークンを取得すると、ステップＳ２３において、認証トークンの取得の要求元のサービスアプリ５１に認証トークンを提供する。
【００８５】
一方、認証処理部７１は代理認証トークン情報記憶部８５から有効期限内の認証トークンを取得できなければ、ユーザ情報と外部サービス名とに紐付く外部サービス情報（外部サービスユーザ名、外部サービスパスワード、付加情報）を代理認証情報記憶部８４から取得する。ステップＳ１８において認証処理部７１はユーザ情報、外部サービス名、外部サービス情報を用いて、代理認証部７５に代理認証を要求する。
【００８６】
ステップＳ１９において、代理認証部７５は外部サービス名により特定される外部サービスシステムに、外部サービス情報を用いて認証トークンを要求する。ステップＳ２０において、代理認証部７５は外部サービスシステムから認証トークンと有効期限とを取得する。ステップＳ２１において、代理認証部７５は外部サービスシステムから取得した認証トークンと有効期限とを認証処理部７１に提供する。
【００８７】
ステップＳ２２において、認証処理部７１は代理認証部７５から提供された認証トークンと有効期限とを、ユーザ情報、外部サービス名に紐付けて代理認証トークン情報記憶部８５に保存する。その後、ステップＳ２３において、認証処理部７１は認証トークンの取得の要求元のサービスアプリ５１に認証トークンを提供する。そして、ステップＳ２４以降において、サービスアプリ５１は提供された認証トークンを用いて外部サービスシステムのＷｅｂＡＰＩに処理を要求できる。
【００８８】
なお、同一のユーザ情報及び外部サービス名に紐付けられた認証トークンは異なるサービスアプリ５１間で共有できるため、外部サービスシステムとのセッション情報を削減することができ、外部サービスシステムに与える負荷も下げることができる。
【００８９】
《代理認証情報の登録の他の例》
続いて、図１２のシーケンス図を用いて説明した代理認証情報の登録の他の例を図１８のフローチャート及び図１９の画面遷移図を用いて説明する。図１８は代理認証情報を登録する処理手順の他の例を表したフローチャートである。図１９は代理認証情報を登録する処理手順における一例の画面遷移図である。図１８及び図１９は、外部サービスシステムから認証トークンを取得するために必要な外部サービスシステムのアカウント情報などの代理認証情報を登録する処理を示している。
【００９０】
ステップＳ３１において、サービスアプリ５１はユーザの操作するオフィス機器に例えば図１９の認証画面１０４０を表示させる。ユーザは認証画面１０４０にユーザＩＤ及びパスワードを入力してログインボタンを押下する。
【００９１】
ログインボタンが押下されると、サービスアプリ５１はユーザの操作するオフィス機器からユーザＩＤ、パスワード、デバイス認証情報、組織ＩＤを受信する。なお、デバイス認証情報及び組織ＩＤはオフィス機器に予め設定されている。デバイス認証情報はサービス提供システム５０にアクセスする（ログインを試みる）オフィス機器におけるサービス利用の正当性を認証する時に用いる情報である。なお、オフィス機器の種類や利用するサービス／機能によっては、デバイス認証情報を要さずにサービス提供システム５０にアクセス（ログイン）可能であってよい。
【００９２】
ステップＳ３２において、サービスアプリ５１はユーザの操作するクライアント端末１１から受信したデバイス認証情報、組織ＩＤ、ユーザＩＤ、パスワードを用いて認証処理部７１に認証を要求する。ステップＳ３３において、認証処理部７１はサービスアプリ５１からデバイス認証情報、組織ＩＤ、ユーザＩＤ、パスワードを認証情報として用いた認証の要求を受け付けると、ユーザ管理情報及び機器管理情報を参照し、その認証情報の認証を行う。
【００９３】
認証情報の認証に失敗すると、サービスアプリ５１はステップＳ３４に進み、ユーザの操作するオフィス機器に認証失敗を通知する。認証情報の認証に成功すると、サービスアプリ５１はステップＳ３５において、ユーザの操作するオフィス機器に例えばログイン後の画面の一例である図１９のサービスアプリ選択画面１０５０を表示させる。ユーザはサービスアプリ選択画面１０５０から例えばスキャンサービスを選択する。
【００９４】
ステップＳ３６において、スキャンサービスアプリ６２はスキャンサービスが選択されると、ユーザの操作するオフィス機器に例えば図１９のスキャンサービスアプリ画面１０６０を表示させる。ユーザはスキャンサービスアプリ画面１０６０の配信実行ボタン又は新規登録ボタンを押下する。
【００９５】
配信実行ボタンが押下されると、スキャンサービスアプリ６２はステップＳ３８において配信処理を実行する。一方、新規登録ボタンが押下されると、スキャンサービスアプリ６２はステップＳ３９に進み、新規に登録する配信先として、外部サービスをユーザに選択させる配信先登録画面１０７０をユーザの操作するオフィス機器に表示させる。
【００９６】
なお、配信先登録画面１０７０において選択できる外部サービスは、組織ＩＤに予め紐付けられている外部サービスとする。ユーザは配信先登録画面１０７０において新規に登録する外部サービスを選択した後、次へボタンを押下する。
【００９７】
ステップＳ４０において、スキャンサービスアプリ６２はユーザが新規に登録する配信先として選択した外部サービスに応じた配信先登録用画面１０８０、１０９０又は１１００の何れかを、ユーザの操作するオフィス機器に表示させる。
【００９８】
ステップＳ４１では、付加情報をメッセージとして表示する配信先登録用画面１０８０をユーザの操作するオフィス機器に表示させる。ステップＳ４２では、付加情報を入力項目として表示する配信先登録用画面１１００をユーザの操作するオフィス機器に表示させる。ステップＳ４３では付加情報を表示しない配信先登録用画面１０９０をユーザの操作するオフィス機器に表示させる。
【００９９】
なお、付加情報がメッセージ表示用の情報であるか、入力項目（値を入力させるための項目名）表示用の情報であるかの区別は、例えばそれぞれ個別の付加情報として（例えばメッセージ表示用を第１の付加情報、入力項目表示用を第２の付加情報とする。）登録し、管理することで可能である。また例えば、付加情報に表示用か入力用かの属性を持たせ、付加情報の登録の際に属性の選択も受け付けて、選択された属性と対応付けて付加情報を管理するようにして区別してもよい。
【０１００】
ユーザはオフィス機器を操作し、配信先登録用画面１０８０、１０９０又は１１００の何れかに外部サービス情報を入力した後で登録ボタンを押下する。登録ボタンが押下されると、スキャンサービスアプリ６２はステップＳ４４以降の処理を開始する。ステップＳ４４において、スキャンサービスアプリ６２は配信先登録用画面１０８０、１０９０又は１１００の何れかに入力された外部サービス情報を受け付ける。
【０１０１】
スキャンサービスアプリ６２は配信先登録用画面１０８０、１０９０又は１１００の何れかに入力された外部サービス情報を用いて認証処理部７１に外部サービス情報の登録を要求する。認証処理部７１は外部サービス情報を用いて、代理認証部７５に代理認証を要求する。ステップＳ４５において、代理認証部７５は外部サービス名により特定される外部サービスシステムに、外部サービス情報を用いてログイン要求する。ステップＳ４６において、代理認証部７５は外部サービス情報を用いた外部サービスシステムへのログインの成功又は失敗を判断し、認証処理部７１に通知する。
【０１０２】
外部サービス情報を用いた外部サービスシステムへのログインが失敗であれば、認証処理部７１はステップＳ４７において、ユーザの操作するオフィス機器に外部サービスシステムへのログイン失敗を通知する。外部サービス情報を用いた外部サービスシステムへのログインが成功であれば、認証処理部７１はステップＳ４８において、認証チケットに紐付くユーザ情報と、配信先登録用画面１０８０、１０９０又は１１００の何れかに入力された外部サービス情報と、を紐付けて代理認証情報記憶部８４に登録する。
【０１０３】
図１８に示した代理認証情報の登録の処理では、外部サービスシステムのログインに必要な外部サービス情報に応じて、配信先登録用画面を異ならせている。また、図１８に示した代理認証情報の登録の処理では、外部サービスシステムへのログインが成功することを確認したあとで外部サービス情報を代理認証情報記憶部８４に登録できる。
【０１０４】
《非同期処理と外部サービスシステムとの連携》
図２０は非同期処理と外部サービスシステムとが連携する処理手順の一例を表したシーケンス図である。図２０のシーケンス図は、データ処理部７４の非同期Ｗｏｒｋｅｒ部１２２が行う非同期処理の一例としてのＯＣＲ変換処理を行った後、外部サービスシステムにアップロードする処理を示している。
【０１０５】
図２０に示すように非同期処理の一例としてのＯＣＲ変換処理を行った後、外部サービスシステムを利用する場合は、非同期Ｗｏｒｋｅｒ部１２２に外部サービスシステムとのやり取りを依存する。通常、サービスアプリ５１が認証処理部７１から外部サービスの認証トークンを取得する場合は、認証処理部７１の認証チケットが必要となる。
【０１０６】
しかし、非同期処理の場合は非同期Ｗｏｒｋｅｒ部１２２が認証チケットを用いて認証処理部７１に外部サービスの認証トークンの取得を要求したとき、認証チケットが期限切れの可能性があった。そこで、本実施形態のサービス提供システム５０では非同期Ｗｏｒｋｅｒ部１２２を信頼し、外部サービスの認証トークンの取得の要求の際の認証チケットを不要としている。
【０１０７】
例えば認証処理部７１と非同期Ｗｏｒｋｅｒ部１２２とを同一ネットワークに配置することで、非同期Ｗｏｒｋｅｒ部１２２を信頼する。同一ネットワークに配置された非同期Ｗｏｒｋｅｒ部１２２であるか否かは例えばＩＰアドレスによって判断できる。また、認証処理部７１と非同期Ｗｏｒｋｅｒ部１２２との信頼関係の構築にはネットワーク制御の他に、ベーシック認証などの認証機能の導入も考えられる。
【０１０８】
例えばＯＣＲ変換処理後に外部サービスシステムへアップロードする処理をユーザから要求されると、サービスアプリ５１はステップＳ５１において、ユーザ情報、外部サービス名、ジョブ情報を用いてＯＣＲ変換処理後に外部サービスシステムへアップロードする処理を非同期Ｆｒｏｎｔ部１２１に要求する。
【０１０９】
ステップＳ５２において、非同期Ｆｒｏｎｔ部１２１はサービスアプリ５１から要求のあったＯＣＲ変換処理後に外部サービスシステムへアップロードする処理をジョブとしてデータ管理情報記憶部８６に登録する。
【０１１０】
非同期処理を行う非同期Ｗｏｒｋｅｒ部１２２はデータ管理情報記憶部８６に登録されたジョブを順次取得して処理する。ステップＳ５３において、非同期Ｗｏｒｋｅｒ部１２２はデータ管理情報記憶部８６に登録されていたＯＣＲ変換処理後に外部サービスシステムへアップロードする処理のジョブを取得する。
【０１１１】
ステップＳ５５において、非同期Ｗｏｒｋｅｒ部１２２はジョブ情報により指定されているデータをデータストレージ８７から読み出し、ＯＣＲ変換処理を行う。ステップＳ５６において、非同期Ｗｏｒｋｅｒ部１２２はユーザ情報、外部サービス名を用いて、認証処理部７１に認証トークンの取得を要求する。ステップＳ５７において、認証処理部７１はユーザ情報、外部サービス名に紐付く認証トークンの取得を代理認証トークン情報記憶部８５に要求する。
【０１１２】
ステップＳ５８において、認証処理部７１はユーザ情報、外部サービス名に紐付く認証トークンを代理認証トークン情報記憶部８５から取得する。ステップＳ５９において、認証処理部７１はユーザ情報、外部サービス名に紐付く認証トークンを非同期Ｗｏｒｋｅｒ部１２２に提供する。
【０１１３】
そして、ステップＳ６０において、非同期Ｗｏｒｋｅｒ部１２２は認証処理部７１から提供された認証トークンを用いて、外部サービスシステムにＯＣＲ変換処理後のデータをアップロードできる。
【０１１４】
また、図２１は非同期処理と外部サービスシステムとが連携する処理手順の他の例を表したシーケンス図である。図２１のシーケンス図は、図２２に示すような代理認証情報を用いるときの処理手順となる。図２２は代理認証情報の他の例の構成図である。
【０１１５】
図２２の代理認証情報は、データ項目としてｉｄ、組織ＩＤ、ユーザＩＤ、外部サービスＩＤ、外部サービス名、外部サービスユーザ名、外部サービスパスワード、付加情報などを有する。図２２の代理認証情報は、図１０の代理認証情報に、データ項目として外部サービスＩＤが追加されている。
【０１１６】
図２２の代理認証情報に含まれている外部サービスＩＤは、組織ＩＤ、ユーザＩＤ、外部サービスＩＤ、外部サービス名、外部サービスユーザ名、外部サービスパスワード、付加情報を一意に特定する情報である。外部サービスＩＤは、組織ＩＤ及びユーザＩＤにより特定されるユーザが異なれば、同一の外部サービス名であっても異なる。外部サービスＩＤは例えば認証処理部７１が生成し、代理認証情報記憶部８４に登録するようにしてもよい。
【０１１７】
図２１のシーケンス図は一部を除いて図２０のシーケンス図と同様であるため、適宜説明を省略する。例えばＯＣＲ変換処理後に外部サービスシステムへアップロードする処理をユーザから要求されると、サービスアプリ５１はステップＳ７１において、ユーザ情報及びジョブ情報を用いてＯＣＲ変換処理後に外部サービスシステムへアップロードする処理を非同期Ｆｒｏｎｔ部１２１に要求する。なお、ジョブ情報には、外部サービスシステムへアップロードする処理に対応して、図２２の代理認証情報に示した外部サービスＩＤが指定されているものとする。
【０１１８】
ステップＳ７２において、非同期Ｆｒｏｎｔ部１２１はサービスアプリ５１から要求のあったＯＣＲ変換処理後に外部サービスシステムへアップロードする処理をジョブとしてデータ管理情報記憶部８６に登録する。
【０１１９】
非同期処理を行う非同期Ｗｏｒｋｅｒ部１２２はデータ管理情報記憶部８６に登録されたジョブを順次取得して処理する。ステップＳ７３において、非同期Ｗｏｒｋｅｒ部１２２はデータ管理情報記憶部８６に登録されていたＯＣＲ変換処理後に外部サービスシステムへアップロードする処理のジョブを取得する。
【０１２０】
ステップＳ７４において、非同期Ｗｏｒｋｅｒ部１２２は、ジョブ情報により指定されている外部サービスＩＤから、外部サービスシステムへのアクセスがあるか、否かを判定する。外部サービスシステムへのアクセスがあると判定すると、非同期Ｗｏｒｋｅｒ部１２２はジョブ情報により指定されているデータをＯＣＲ変換処理したあと、外部サービスＩＤを用いて、認証処理部７１に認証トークンの取得を要求する。
【０１２１】
ステップＳ７７において、認証処理部７１は外部サービスＩＤに紐付くユーザ情報及び外部サービス名を特定したあと、ユーザ情報及び外部サービス名と指定して認証トークンの取得を代理認証トークン情報記憶部８５に要求する。
【０１２２】
ステップＳ７８において、認証処理部７１はユーザ情報、外部サービス名に紐付く認証トークンを代理認証トークン情報記憶部８５から取得する。ステップＳ７９において、認証処理部７１は外部サービスＩＤに紐付く認証トークンを非同期Ｗｏｒｋｅｒ部１２２に提供する。
【０１２３】
そして、ステップＳ８０において、非同期Ｗｏｒｋｅｒ部１２２は認証処理部７１から提供された認証トークンを用いて、外部サービスシステムにＯＣＲ変換処理後のデータをアップロードできる。なお、ステップＳ７４において、外部サービスシステムへのアクセスがない（非連携処理である）と判定するとステップＳ７６以降の処理を行わない。
【０１２４】
＜まとめ＞
本実施形態に係るシステム１によれば、外部サービスを利用する場合であってもサービスアプリ５１毎に、外部サービスシステムの認証情報を登録する機能や保存する機能、外部サービスシステムから認証トークンを取得する機能の実装・テストを行う必要が無くなるため、サービスアプリ５１の開発工数を削減できる。また、本実施形態に係るシステム１によれば、外部サービスシステムの認証トークンをサービスアプリ５１毎に管理する必要がなく、セキュリティが向上する。
【０１２５】
本実施形態に係るシステム１によれば、異なる認証基盤を持つサービス提供システム５０及び外部サービスシステムであっても、ユーザによる一度の認証処理によってサービス提供システム５０の認証基盤が外部サービスシステムの認証基盤との連携処理を行うことにより、ユーザにとってのシングルサインオンを実現できる。
【０１２６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１２７】
なお、特許請求の範囲に記載した第一のサービス提供システムはサービス提供システム５０に相当し、第二のサービス提供システムは外部サービスシステムに相当する。サービス提供装置はサービス提供システム５０に相当する。認証後の権限情報は認証トークンに相当する。権限情報取得要求手段は認証トークン取得要求部１０４に相当し、第一の記憶手段は代理認証トークン情報記憶部８５に相当し、第二の記憶手段は代理認証情報記憶部８４に相当し、代理認証手段は代理認証要求部１１４に相当する。
【０１２８】
権限情報提供手段は認証トークン提供部１１３に相当し、認証情報登録手段は情報登録部１１２に相当し、権限情報保存手段は認証トークン保存部１１５に相当し、処理要求手段は処理要求部１０５に相当し、第三の記憶手段はデータ管理情報記憶部８６に相当し、処理受付手段は非同期Ｆｒｏｎｔ部１２１に相当し、処理実行手段は非同期Ｗｏｒｋｅｒ部１２２に相当する。
【符号の説明】
【０１２９】
１    システム
１１    クライアント端末
１２    携帯端末
１４    画像形成装置
１５    プロジェクタ
１６    その他の機器
２１、３１    アクセス制御装置
２２    プリントサービス提供装置
２３    スキャンサービス提供装置
２４    ポータルサービス提供装置
２５    他サービス提供装置
３２    外部サービス提供装置
５０    サービス提供システム
５１    サービスアプリ
５２    プラットフォーム
５３    管理データ記憶部５３
５４    プラットフォームＡＰＩ（Application Programming Interface）
６１    プリントサービスアプリ
６２    スキャンサービスアプリ
６３    ポータルサービスアプリ
６４    その他のサービスアプリ
７１    認証処理部
７２    機器通信部
７３    セッション管理部
７４    データ処理部
７５    代理認証部
８１    組織管理情報記憶部
８２    ユーザ管理情報記憶部
８３    機器管理情報記憶部
８４    代理認証情報記憶部
８５    代理認証トークン情報記憶部
８６    データ管理情報記憶部
８７    データストレージ
１０１    認証要求部
１０２    画面処理部
１０３    情報登録要求部
１０４    認証トークン取得要求部
１０５    処理要求部
１１１    認証部
１１２    情報登録部
１１３    認証トークン提供部
１１４    代理認証要求部
１１５    認証トークン保存部
１２１    非同期Ｆｒｏｎｔ（フロント）部
１２２    非同期Ｗｏｒｋｅｒ（ワーカ）部
５００    コンピュータシステム
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
Ｂ    バス
ＦＷ    ファイアウォール
Ｎ１〜Ｎ４    ネットワーク
【先行技術文献】
【特許文献】
【０１３０】
【特許文献１】特開２００３−２９６２７７号公報
【図１】
2014112354.tif 000003
【図２】
2014112354.tif 000004
【図３】
2014112354.tif 000005
【図４】
2014112354.tif 000006
【図５】
2014112354.tif 000007
【図６】
2014112354.tif 000008
【図７】
2014112354.tif 000009
【図８】
2014112354.tif 000010
【図９】
2014112354.tif 000011
【図１０】
2014112354.tif 000012
【図１１】
2014112354.tif 000013
【図１２】
2014112354.tif 000014
【図１３】
2014112354.tif 000015
【図１４】
2014112354.tif 000016
【図１５】
2014112354.tif 000017
【図１６】
2014112354.tif 000018
【図１７】
2014112354.tif 000019
【図１８】
2014112354.tif 000020
【図１９】
2014112354.tif 000021
【図２０】
2014112354.tif 000022
【図２１】
2014112354.tif 000023
【図２２】
2014112354.tif 000024