(57)【要約】【課題】外部サービスの認証基盤の変更を支援する。【解決手段】電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、アプリ識別情報と、該一連の処理に関する情報とを関連付けて記憶する記憶手段と、一の機器から、前記外部サービスの認証情報が管理される認証基盤から該一の機器が取得した第１の認証情報と、前記アプリ識別情報と、該一の機器において指定された電子データに関する情報とを含む要求を受信する受信手段と、前記要求に含まれる前記第１の認証情報を用いて、第２の認証情報を取得する取得手段と、前記第２の認証情報が取得されると、該第２の認証情報を用いて、前記要求に含まれる前記アプリ識別情報に関連付けて記憶されている前記一連の処理に関する情報に基づく処理を、該要求に含まれる電子データに関する情報に基づき指定される電子データに対して実行する実行手段とを有する。【選択図】  図７
2016165046.tif 000002
【特許請求の範囲】
【請求項１】
１以上の情報処理装置により構成される情報処理システムであって、
電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報とを関連付けて記憶する記憶手段と、
前記情報処理システムに接続される１以上の機器のうちの一の機器から、前記外部サービスの認証情報が管理される認証基盤から該一の機器が取得した第１の認証情報と、前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、
前記受信手段で受信した前記要求に含まれる前記第１の認証情報を用いて、前記外部サービスを利用するための第２の認証情報を取得する取得手段と、
前記取得手段により前記第２の認証情報が取得されると、該第２の認証情報を用いて、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく処理を、該要求に含まれる電子データに関する情報に基づき指定される電子データに対して実行する実行手段と
を有する情報処理システム。
【請求項２】
前記取得手段は、
前記認証基盤から前記外部サービスの認証情報を取得する第１のコンポーネントを有し、
前記要求を受け付けると、前記第１のコンポーネントが、該要求に含まれる前記第１の認証情報を前記認証基盤に送信し、該第１の認証情報を受信したことに応じて該認証基盤から返信される複数の外部サービスの認証情報を取得し、該返信された複数の外部サービスの認証情報から前記第２の認証情報を取得する、請求項１記載の情報処理システム。
【請求項３】
前記取得手段は、
前記認証基盤から前記外部サービスの認証情報を取得する第１のコンポーネントを有し、
前記要求を受け付けると、前記第１のコンポーネントが、該要求に含まれる前記第１の認証情報と、前記一連の処理に関する情報に基づく処理で利用する前記外部サービスの指定とを前記認証基盤に送信し、該第１の認証情報と該外部サービスの指定とを受信したことに応じて該認証基盤から返信される前記第２の認証情報を取得する、請求項１記載の情報処理システム。
【請求項４】
前記取得手段は、
前記認証基盤において前記外部サービスの認証情報を識別するための識別情報を変換する第２のコンポーネントを有し、
前記要求を受け付けると、前記第２のコンポーネントが、該要求に含まれる前記第１の認証情報の識別情報を、前記情報処理システムにおいて前記第１の認証情報を識別することができる識別情報に変換し、該変換された識別情報を用いて前記第２の認証情報を取得する、請求項１記載の情報処理システム。
【請求項５】
前記実行手段は、
外部サービスに関する処理を実行する第３のコンポーネントを含み、
前記取得手段により前記第２の認証情報が取得されると、前記第３のコンポーネントが、前記第２の認証情報を用いて、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく処理を、該要求に含まれる電子データに関する情報に基づき指定される電子データに対して実行する、請求項１ないし４のいずれか１項に記載の情報処理システム。
【請求項６】
情報処理装置であって、
電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報とを関連付けて記憶する記憶手段と、
前記情報処理装置に接続される１以上の機器のうちの一の機器から、前記外部サービスの認証情報が管理される認証基盤から該一の機器が取得した第１の認証情報と、前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、
前記受信手段で受信した前記要求に含まれる前記第１の認証情報を用いて、前記外部サービスを利用するための第２の認証情報を取得する取得手段と、
前記取得手段により前記第２の認証情報が取得されると、該第２の認証情報を用いて、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく処理を、該要求に含まれる電子データに関する情報に基づき指定される電子データに対して実行する実行手段と
を有する情報処理装置。
【請求項７】
１以上の情報処理装置により構成される情報処理システムであって、電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報とを関連付けて記憶する記憶手段を有する情報処理システムに用いられる情報処理方法において、
前記情報処理システムに接続される１以上の機器のうちの一の機器から、前記外部サービスの認証情報が管理される認証基盤から該一の機器が取得した第１の認証情報と、前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手順と、
前記受信手順で受信した前記要求に含まれる前記第１の認証情報を用いて、前記外部サービスを利用するための第２の認証情報を取得する取得手順と、
前記取得手順により前記第２の認証情報が取得されると、該第２の認証情報を用いて、前記受信手順で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく処理を、該要求に含まれる電子データに関する情報に基づき指定される電子データに対して実行する実行手順と
を有する情報処理方法。
【請求項８】
電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報とを関連付けて記憶する記憶手段を有する情報処理装置を、
前記情報処理装置に接続される１以上の機器のうちの一の機器から、前記外部サービスの認証情報が管理される認証基盤から該一の機器が取得した第１の認証情報と、前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段、
前記受信手段で受信した前記要求に含まれる前記第１の認証情報を用いて、前記外部サービスを利用するための第２の認証情報を取得する取得手段、
前記取得手段により前記第２の認証情報が取得されると、該第２の認証情報を用いて、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく処理を、該要求に含まれる電子データに関する情報に基づき指定される電子データに対して実行する実行手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになってきており、このような外部サービスと機器とが連携して処理を行う技術が知られている。例えば画像形成装置で原稿をスキャンして取得した画像データを外部ストレージサービスに保管する技術が知られている。
【０００３】
このような外部サービスと連携して処理を行う機器は、外部サービスを利用する際に、複数の外部サービス間で共通に認証を行うための認証基盤を用いて認証が行われる（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術においては、外部サービスと連携して処理を行う機器が利用する認証基盤は固定的であった。したがって、例えば、外部サービスと連携して処理を行う機器のユーザが異なる認証基盤の利用を所望する場合等において、機器が利用する認証基盤を柔軟に変更することは難しかった。
【０００５】
本発明の一実施形態は、上記の点に鑑みてなされたもので、外部サービスの認証基盤の変更を支援することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための、本発明の一実施形態は、１以上の情報処理装置により構成される情報処理システムであって、電子データを用いた一連の処理を外部サービスと連携して実行するアプリケーション毎に、該アプリケーションを識別するアプリ識別情報と、該一連の処理に関する情報とを関連付けて記憶する記憶手段と、前記情報処理システムに接続される１以上の機器のうちの一の機器から、前記外部サービスの認証情報が管理される認証基盤から該一の機器が取得した第１の認証情報と、前記アプリ識別情報と、該一の機器においてユーザにより指定された電子データに関する情報とを含む要求を受信する受信手段と、前記受信手段で受信した前記要求に含まれる前記第１の認証情報を用いて、前記外部サービスを利用するための第２の認証情報を取得する取得手段と、前記取得手段により前記第２の認証情報が取得されると、該第２の認証情報を用いて、前記受信手段で受信した前記要求に含まれる前記アプリ識別情報に関連付けて前記記憶手段に記憶されている前記一連の処理に関する情報に基づく処理を、該要求に含まれる電子データに関する情報に基づき指定される電子データに対して実行する実行手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明の一実施形態によれば、外部サービスの認証基盤の変更を支援することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理システムの一例のシステム構成図である。
【図２】第１の実施形態に係るサービス提供システムの一例のハードウェア構成図である。
【図３】第１の実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図４】第１の実施形態に係る情報処理システムの一例の処理ブロック図である。
【図５】連携認証情報の一例を示す図である。
【図６】共通Ｉ／Ｆ及び固有Ｉ／Ｆの一例を示す図である。
【図７】処理内容の一例を示す図である。
【図８】第１の実施形態に係るロジック処理部の一例の処理ブロック図である。
【図９】第１の実施形態に係るスキャン配信サービスの全体処理の一例のシーケンス図である。
【図１０】スキャン配信サービスを利用するためのアプリ画面の一例を示す図である。
【図１１】第１の実施形態に係る配信実行処理の一例のシーケンス図である。
【図１２】第２の実施形態に係る情報処理システムの一例のシステム構成図である。
【図１３】第２の実施形態に係るロジック処理部の一例の処理ブロック図である。
【図１４】連携認証情報の他の例を示す図である。
【図１５】第２の実施形態に係る配信実行処理の一例のシーケンス図である。
【図１６】処理内容の他の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
［第１の実施形態］
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を用いて説明する。図１は、第１の実施形態に係る情報処理システムの一例のシステム構成図である。図１に示される情報処理システム１は、サービス提供環境Ｅ１、ユーザ環境Ｅ２、及び外部ストレージシステム４０を含み、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１１】
サービス提供環境Ｅ１は、ネットワークを介してクラウドサービス等の外部サービスを提供するシステム環境である。なお、本実施形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、ＡＳＰ（Application Service Provider）によって提供されるサービスやＷｅｂサービス等、ネットワークを介して提供されるサービスに関して本実施の形態が適用されてもよい。
【００１２】
サービス提供環境Ｅ１は、一台以上の情報処理装置で実現されるサービス提供システム１０と、一台以上の情報処理装置で実現される認証管理装置３０とを有する。サービス提供システム１０は、ネットワークを介して、外部サービスと連携した所定のサービスを提供する。例えば、サービス提供システム１０は、ユーザ環境Ｅ２の画像形成装置２０において原稿をスキャンして生成された電子ファイルを、外部ストレージシステム４０に保存するサービス（スキャン配信サービス）を提供する。本実施形態では、サービス提供システム１０は、このようなスキャン配信サービスを提供するものとして説明する。
【００１３】
ただし、サービス提供システム１０により提供されるサービスは、これに限られない。サービス提供システム１０は、例えば、外部ストレージシステム４０に保存されている電子ファイルを、ユーザ環境Ｅ２の画像形成装置２０で印刷するサービス（クラウドプリントサービス）を提供してもよい。また、サービス提供システム１０は、例えば、画像形成装置２０において原稿をスキャンして生成された電子ファイルに、所定の処理（例えば、ＯＣＲ処理や言語の翻訳処理）を行った後、外部ストレージシステム４０に保存するサービスを提供してもよい。さらに、サービス提供システム１０は、例えば、外部ストレージシステム４０に保存されている電子ファイルを、ユーザ環境Ｅ２のプロジェクタで投影するサービス等を提供してもよい。
【００１４】
認証管理装置３０は、外部サービスを利用するための認証情報が格納されており、画像形成装置２０がサービス提供システム１０により提供される所定のサービスを利用する際に、この所定のサービスにおいて連携する外部サービスの認証基盤として機能する。すなわち、本実施形態に係る認証管理装置３０は、サービス提供システム１０により提供されるスキャン配信サービスにおいて、電子ファイルの保存先となる外部ストレージシステム４０の認証基盤として機能する。
【００１５】
なお、サービス提供システム１０の全部又は一部は、ユーザ環境Ｅ２に設置されていてもよい。すなわち、サービス提供システム１０を構成する情報処理装置の全部又は一部は、ユーザ環境Ｅ２に包含されていてもよい。
【００１６】
ユーザ環境Ｅ２は、例えば画像形成装置２０を使用するユーザである企業等におけるシステム環境である。ユーザ環境Ｅ２は、一台以上の画像形成装置２０が例えばＬＡＮ（Local Area Network）等のネットワークを介して接続されている。
【００１７】
本実施形態に係る画像形成装置２０は、スキャン機能を有する。なお、画像形成装置２０は、スキャン機能以外に、プリント機能やコピー機能、ファックス（ＦＡＸ）通信機能等を備える複合機等でもよい。
【００１８】
外部ストレージシステム４０は、ネットワークを介してストレージサービス（又はオンラインストレージ）と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム４０の記憶領域を貸し出すサービスである。本実施形態では、スキャン配信サービスにおいて、外部ストレージシステム４０によって貸し出される記憶領域に、電子ファイルを保存（アップロード）する。
【００１９】
なお、以降では、複数の外部ストレージシステム４０について、各々を区別するときは、「外部ストレージシステム４０１」、「外部ストレージシステム４０２」等と添え字を用いて記載する。また、外部ストレージシステム４０１によって提供されるサービスの名称を「ストレージサービスＡ」、ストレージシステム４０２によって提供されるサービスの名称を「ストレージサービスＢ」等とする。
【００２０】
また、外部ストレージシステム４０は、複数台の情報処理装置によって実現されるシステムであってもよい。さらに、図１に示される情報処理システム１の構成は一例であって、他の構成であってもよい。例えば、ユーザ環境Ｅ２は、画像形成装置２０に加えて又は画像形成装置２０に代えて、プロジェクタ、電子黒板、携帯電話、スマートフォン等の各種機器を有していてもよい。
【００２１】
＜ハードウェア構成＞
次に、本実施形態に係るサービス提供システム１０及び画像形成装置２０のハードウェア構成について、それぞれ図２及び図３を用いて説明する。
【００２２】
≪サービス提供システム≫
図１に示されるサービス提供システム１０は、例えば図２に示されるようなハードウェア構成を有する。図２は、第１の実施形態に係るサービス提供システムの一例のハードウェア構成図である。図２に示すサービス提供システム１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４とを有する。また、サービス提供システム１０は、ＲＯＭ（Read Only Memory）１５と、ＣＰＵ（Central Processing Unit）１６と、通信Ｉ／Ｆ１７と、ＨＤＤ（Hard Disk Drive）１８とを有する。これらの各ハードウェアは、それぞれがバスＢで接続されている。
【００２３】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１２は、ディスプレイ等を含み、サービス提供システム１０による処理結果を表示する。なお、入力装置１１及び表示装置１２は、必要なときにサービス提供システム１０に接続して利用する形態であってもよい。
【００２４】
通信Ｉ／Ｆ１７は、サービス提供システム１０をネットワークＮ１に接続するインタフェースである。これにより、サービス提供システム１０は、通信Ｉ／Ｆ１７を介してデータ通信を行うことができる。
【００２５】
ＨＤＤ１８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、サービス提供システム１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。なお、サービス提供システム１０は、ＨＤＤ１０８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。また、ＨＤＤ１０８は、格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。
【００２６】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。これにより、サービス提供システム１０は、外部Ｉ／Ｆ１３を介して記録媒体１３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１３ａには、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２７】
ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５には、サービス提供システム１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定等のプログラムやデータが格納されている。ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２８】
ＣＰＵ１６は、ＲＯＭ１５やＨＤＤ１８等の記憶装置からプログラムやデータをＲＡＭ１４上に読み出し、処理を実行することで、サービス提供システム１０全体の制御や機能を実現する演算装置である。
【００２９】
本実施形態に係るサービス提供システム１０は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３０】
≪画像形成装置≫
図１に示される画像形成装置２０は、例えば図３に示されるようなハードウェア構成を有する。図３は、第１の実施形態に係る画像形成装置の一例のハードウェア構成図である。図３に示す画像形成装置２０は、コントローラ２１と、操作パネル２２と、外部Ｉ／Ｆ２３と、通信Ｉ／Ｆ２４と、スキャナ２５とを有する。また、コントローラ２１は、ＣＰＵ２１１と、ＲＡＭ２１２と、ＲＯＭ２１３と、ＮＶＲＡＭ２１４と、ＨＤＤ２１５とを有する。ＲＯＭ２１３は、各種プログラムやデータが格納されている。ＲＡＭ２１２はプログラムやデータを一時保持する。ＮＶＲＡＭ２１４は、例えば設定情報等が格納されている。また、ＨＤＤ２１５は各種プログラムやデータが格納されている。
【００３１】
ＣＰＵ２１１は、ＲＯＭ２１３やＮＶＲＡＭ２１４、ＨＤＤ２１５等からプログラムやデータ、設定情報等をＲＡＭ２１２上に読み出し、処理を実行することで、画像形成装置２０全体の制御や機能を実現する。
【００３２】
操作パネル２２は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ２３は、外部装置とのインタフェースである。外部装置には、記録媒体２３ａ等がある。これにより、画像形成装置２０は、外部Ｉ／Ｆ２３を介して記録媒体２３ａの読み取り及び／又は書き込みを行うことができる。記録媒体２３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３３】
通信Ｉ／Ｆ２４は、画像形成装置２０をネットワークＮ１に接続するインタフェースである。これにより、画像形成装置２０は通信Ｉ／Ｆ２４を介してデータ通信を行うことができる。スキャナ２５は原稿を読み取り画像ファイル（電子ファイル）を生成するための読取装置である。
【００３４】
本実施形態に係る画像形成装置２０は、上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３５】
＜ソフトウェア構成＞
次に、本実施形態に係る情報処理システム１の処理ブロックについて、図４を用いて説明する。図４は、第１の実施形態に係る情報処理システムの一例の処理ブロック図である。
【００３６】
画像形成装置２０は、例えばＣＰＵ２１１等により実現されるブラウザ２１０を有する。画像形成装置２０のユーザは、ブラウザ２１０を介して、サービス提供システム１０により提供されるサービスを利用することができる。このように、本実施形態に係る画像形成装置２０では、ブラウザ２１０が搭載されていればよく、サービスを利用するための専用のアプリケーションを開発等する必要がない。
【００３７】
認証管理装置３０は、連携認証情報記憶部３１を有する。この記憶部は、認証管理装置３０が有する記憶装置等により実現される。連携認証情報記憶部３１は、サービス提供システム１０と連携して処理を行う外部ストレージシステム４０の認証情報が管理された連携認証情報３１Ｄを記憶する。連携認証情報３１Ｄは、例えば図５に示すように、「利用者ＩＤ」毎に、連携して処理を行う外部ストレージシステム４０の認証情報を識別するための「ｋｅｙ情報」、外部ストレージシステム４０の名称を示す「連携先情報」を有する。また、連携認証情報３１Ｄは、外部ストレージシステム４０を利用するための「認証情報」を有する。ここで、「利用者ＩＤ」は、認証基盤（すなわち、認証管理装置３０）の利用者を一意に識別するための識別情報である。また、「認証情報」には、例えば、外部ストレージシステム４０の認証トークンやユーザＩＤ及びパスワード等の当該外部ストレージシステム４０を利用するための認証情報が管理されている。
【００３８】
サービス提供システム１０は、サービス処理部１１０と、ドキュメントサービス部１５０と、ストレージサービス連携部１６０とを有する。これら各部は、サービス提供システム１０にインストール又はダウンロードされる１以上のプログラムが、ＣＰＵ１６等に実行させる処理により実現される。
【００３９】
また、サービス提供システム１０は、アプリ情報記憶部１９０を有する。このアプリ情報記憶部１９０は、ＨＤＤ１８により実現される。なお、アプリ情報記憶部１９０は、サービス提供システム１０とネットワークを介して接続される記憶装置等により実現されてもよい。
【００４０】
サービス処理部１１０は、アプリ管理部１２０と、ロジック処理部１３０と、データＩ／Ｆ部１４０とを有する。
【００４１】
アプリ管理部１２０は、アプリ情報記憶部１９０に記憶されているアプリ情報１０００を管理する。アプリ管理部１２０は、ブラウザ２１０からの要求に応じて、アプリ情報１０００に含まれる画面定義に基づくアプリ画面を返信する。これにより、画像形成装置２０のブラウザ２１０には、サービス提供システム１０により提供されるサービスを利用するためのアプリ画面が表示される。ここで、アプリ情報１０００は、上述したアプリ画面を画像形成装置２０に表示させるための画面定義と、当該アプリ情報１０００により実現されるサービスの処理内容とが記述された情報である。
【００４２】
また、アプリ管理部１２０は、ロジック処理部１３０からの要求に応じて、アプリ情報１０００に含まれる処理内容を返信する。処理内容には、詳細は後述するが、スキャン配信サービス等のサービス提供システム１０により提供されるサービスを実現するための一連の処理が記述されている。
【００４３】
ロジック処理部１３０は、ブラウザ２１０からの要求に応じて、アプリ管理部１２０から処理内容を取得する。そして、ロジック処理部１３０は、取得した処理内容に従って認証管理装置３０やドキュメントサービス部１５０、ストレージサービス連携部１６０のファイル処理部１７０に対して、処理の実行を要求する。これにより、サービス提供システム１０による各種サービスが、画像形成装置２０に提供される。なお、ロジック処理部１３０の詳細な処理ブロックについては、後述する。
【００４４】
データＩ／Ｆ部１４０は、ブラウザ２１０からの要求に応じて、ストレージサービス連携部１６０のデータ処理部１８０に対して、所定の要求（例えばフォルダ一覧の取得等の要求）を行う。
【００４５】
ドキュメントサービス部１５０は、サービス提供システム１０により提供されるサービスを実現するためのプログラム（モジュール）群である。ドキュメントサービス部１５０には、例えば、電子ファイルに対してＯＣＲ処理を実行するＯＣＲ処理１５１等が含まれる。なお、ドキュメントサービス部１５０は、例えば、電子ファイルを画像形成装置２０が印刷可能なデータ形式（印刷データ）に変換するプログラム、電子ファイルの圧縮又は解凍するためのプログラム等、各種の処理を実行するプログラムが含まれてもよい。
【００４６】
ストレージサービス連携部１６０は、ロジック処理部１３０及びデータＩ／Ｆ部１４０からの要求に応じて、外部ストレージシステム４０に対して、各種処理の実行を要求する。ここで、サービス提供システム１０は、外部ストレージシステム４０毎に、ストレージサービス連携部１６０をそれぞれ有する。すなわち、サービス提供システム１０は、外部ストレージシステム４０１に対して処理を要求するためのストレージサービスＡ連携部１６０１、外部ストレージシステム４０２に対して処理を要求するためのストレージサービスＢ連携部１６０２等を有する。このように、サービス提供システム１０は、連携して処理を行う外部ストレージシステム４０毎に、それぞれ対応するストレージサービス連携部１６０を有する。なお、以降では、複数のストレージサービス連携部１６０について、各々を区別するときは、上記のように「ストレージサービスＡ連携部１６０１」、「ストレージサービスＢ連携部１６０２」等と添え字を用いて記載する。
【００４７】
ストレージサービス連携部１６０は、上述したように、ロジック処理部１３０からの要求を受け付けるファイル処理部１７０と、データＩ／Ｆ部１４０からの要求を受け付けるデータ処理部１８０とを有する。
【００４８】
ファイル処理部１７０は、外部ストレージシステム４０に保存されている電子ファイルに対する操作（例えば、取得、保存、編集等）を行うためのＡＰＩ（Application Programming Interface）が定義された共通Ｉ／Ｆ１７１及び固有Ｉ／Ｆ１７２を有する。共通Ｉ／Ｆ１７１は、複数の外部ストレージシステム４０間で共通に利用できるＡＰＩであり、例えば図６（ａ）に示すようなＡＰＩが挙げられる。換言すれば、ファイル処理部１７０の共通Ｉ／Ｆ１７１は、すべての外部ストレージシステム４０が利用できるファイル操作に関する機能（例えば、ファイルの取得、保存等）を利用するためのＡＰＩ群である。一方、固有Ｉ／Ｆ１７２は、特定の外部ストレージシステム４０において利用できるＡＰＩであり、例えば図６（ｂ）に示すようなＡＰＩが挙げられる。換言すれば、ファイル処理部１７０の固有Ｉ／Ｆ１７２は、ある特定の外部ストレージシステム４０において利用できるファイル操作に関する機能（例えば、ファイルの編集等）を利用するためのＡＰＩ群である。したがって、共通Ｉ／Ｆ１７１は、すべてのストレージサービス連携部１６０に対して同様に定義される一方、固有Ｉ／Ｆ１７１は、当該固有Ｉ／Ｆ１７１で定義されるＡＰＩが利用可能な特定のストレージサービス連携部１６０に対して定義される。
【００４９】
一方、データ処理部１８０は、外部ストレージシステム４０に保存されている電子ファイルの書誌情報等のメタデータ（例えば、ファイル一覧、フォルダ一覧等）を取得等するためのＡＰＩが定義された共通Ｉ／Ｆ１８１及び固有Ｉ／Ｆ１８２を有する。共通Ｉ／Ｆ１８１は、複数の外部ストレージシステム４０間で共通に利用できるＡＰＩであり、例えば図６（ｃ）に示すようなＡＰＩが挙げられる。換言すれば、データ処理部１８０の共通Ｉ／Ｆ１８１は、すべての外部ストレージシステム４０で利用できるメタデータ取得等の機能を利用するためのＡＰＩ群である。一方、固有Ｉ／Ｆ１８２は、ある特定の外部ストレージシステム４０において利用できるＡＰＩであり、例えば図６（ｄ）に示すようなＡＰＩが挙げられる。換言すれば、データ処理部１８０の固有Ｉ／Ｆ１８２は、ある特定の外部ストレージシステム４０において利用できるメタデータ取得等の機能（例えば、画像ファイル一覧の取得等）を利用するためのＡＰＩ群である。したがって、共通Ｉ／Ｆ１８１は、すべてのストレージサービス連携部１６０に対して同様に定義される一方、固有Ｉ／Ｆ１８１は、当該固有Ｉ／Ｆ１８１で定義されるＡＰＩが利用可能な特定のストレージサービス連携部１６０に対して定義される。なお、ストレージサービス連携部１６０の追加等は、ＳＤＫ（Software Development Kit）を用いて行うことができる。
【００５０】
ここで、図６に示されるように共通Ｉ／Ｆ１７１及び固有Ｉ／Ｆ１７２で定義されるＡＰＩは、「外部サービス名（ストレージサービス名）」を指定することで利用することができる（すなわち、「ストレージサービス名」が可変部分として定義されている）。
【００５１】
アプリ情報記憶部１９０は、アプリ情報１０００を記憶する。アプリ情報１０００は、アプリ画面を画像形成装置２０に表示させるための画面定義と、サービス提供システム１０により提供されるサービスを実現するため一連の処理を示す処理内容とが記述された情報である。アプリ情報１０００は、アプリ情報１０００を一意に識別するためのアプリＩＤ毎に、アプリ情報記憶部１９０に記憶されている。本実施形態では、ストレージサービスＡと連携したスキャン配信サービスを実現するためのアプリ情報を「アプリ情報１０００１」とし、このアプリ情報１０００１のアプリＩＤ「app001」とする。
【００５２】
ここで、アプリ情報１０００１に含まれる処理内容を、図７に示す。図７は、サービス提供システム１０により提供されるスキャン配信サービスを実現するための一連の処理内容である。図７に示す一連の処理内容は、スキャンされた電子ファイルについて、ストレージサービスＡの認証情報を取得した後、ストレージサービスＡの指定されたフォルダに配信する一連の処理を示している。また、この一連の処理内容には、当該処理内容を一意に識別するフローＩＤ「flow1」が関連付けられている。なお、ここで指定されている処理内容の「.to("strage:send_to_folder?type=service-a")」のうち「?type=service-a」の部分はオプションパラメータである。このオプションパラメータは、スキャン配信サービスにおける配信先（アップロード先）のストレージサービスが「ストレージサービスＡ」であることを示している。
【００５３】
なお、図７に示す一連の処理内容は、スキャン配信サービスを実現するための一例である。スキャン配信サービスは、例えば、ドキュメントサービス部１５０に含まれるプログラムにより実現される処理を組み合わせた一連の処理により実現されてもよい。例えば、スキャン配信サービスは、「スキャンされた電子ファイルについて、ストレージサービスＡの認証情報を取得した後、ＯＣＲ処理を行い、ストレージサービスＡの指定されたフォルダに配信する」等であってもよい。
【００５４】
また、上記では、アプリ情報１０００１に一の処理内容（フローＩＤ「flow1」の処理内容）が含まれる場合について説明したが、複数の処理内容が含まれてもよい。すなわち、アプリ情報１０００には、フローＩＤの異なる複数の処理内容が含まれてもよい。
【００５５】
次に、本実施形態に係るロジック処理部１３０の詳細な処理ブロックについて、図８を用いて説明する。図８は、第１の実施形態に係るロジック処理部の一例の処理ブロック図である。ロジック処理部１３０は、フロー実行部１３１と、コンポーネント管理部１３２と、コンポーネント群１３３と、データ１３４とを有する。
【００５６】
フロー実行部１３１は、ブラウザ２１０からスキャン配信サービスの処理の実行要求を受け付けると、アプリ管理部１２０を介して、アプリ情報１０００から処理内容を取得する。そして、フロー実行部１３１は、取得した処理内容に従ってコンポーネントに対して処理の実行を要求する。なお、ここで、コンポーネントとは、各種処理を実行するためのモジュール等であり、例えばクラスや関数等で定義される。
【００５７】
コンポーネント管理部１３２は、フロー実行部１３１からの要求に応じて、コンポーネントの生成を行う。なお、コンポーネントの生成とは、例えばクラスで定義されたコンポーネントを、メモリ（例えばＲＡＭ１４）上に展開することを意味する。
【００５８】
コンポーネント群１３３は、コンポーネントの集合である。コンポーネント群１３３には、外部ストレージシステム４０に電子ファイルを配信する配信コンポーネント１３３１、外部ストレージシステム４０の認証情報を認証基盤（すなわち、認証管理装置３０）から取得する認証コンポーネント１３３２等が含まれる。このような認証コンポーネント１３３２は、認証基盤毎に定義される。なお、コンポーネント群１３３には、これら以外にも、例えば、外部ストレージシステム４０から電子ファイルを取得する取得コンポーネントや電子ファイルにＯＣＲ処理を行うＯＣＲコンポーネント等が含まれてもよい。
【００５９】
さらに、これらの各コンポーネントは、コンポーネント共通Ｉ／Ｆ１３３０を有する。コンポーネント共通Ｉ／Ｆ１３３０は、各コンポーネントに対して共通に定義されたＡＰＩであり、コンポーネントを生成するためのＡＰＩと、コンポーネントに対して処理の実行を要求するためのＡＰＩとが含まれる。このように、各コンポーネントがコンポーネント共通Ｉ／Ｆ１３３０を有するようにすることで、コンポーネントの追加等に伴う影響を局所化することができる。これにより、コンポーネントの追加等の開発に要する工数を削減することができる。
【００６０】
データ１３４は、フロー実行部１３１によりメモリ（例えばＲＡＭ１４）上に生成される一時データである。データ１３４には、各コンポーネント間で受け渡されるパラメータが格納されるヘッダデータ１３４１と、アプリ情報１０００に含まれる処理内容による処理の対象となる電子データが格納されるファイルデータ１３４２とを有する。本実施形態では、後述するように、ヘッデータ１３４１には、認証管理装置３０から取得される認証に関する情報（認証管理装置３０から取得された認証Ｃｏｏｋｉｅや外部ストレージシステム４０の認証情報等）が格納される。一方、ファイルデータ１３４２には、スキャンにより生成された電子ファイル（すなわち、スキャン配信サービスにおける配信対象の電子ファイル）が格納される。
【００６１】
以上のように、本実施形態に係るサービス提供システム１０は、認証コンポーネント１３３２を用いて、外部ストレージシステム４０の認証情報を認証基盤（認証管理装置３０）から取得する。また、認証コンポーネント１３３２は、認証基盤毎に定義される。このような構成にすることで、画像形成装置２０が異なる認証基盤を利用する場合には、当該異なる認証基盤から認証情報を取得する認証コンポーネント１３３２を用いればよい。これにより、画像形成装置２０のユーザは、外部サービスの認証基盤を柔軟に変更することができる。
【００６２】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００６３】
≪スキャン配信サービスの全体処理≫
まず、画像形成装置２０のユーザが本実施形態に係るスキャン配信サービスを利用する場合の全体的な処理について説明する。図９は、第１の実施形態に係るスキャン配信サービスの全体処理の一例のシーケンス図である。
【００６４】
まず、画像形成装置２０のユーザは、ブラウザ２１０を用いて、サービス提供システム１０により提供されるサービスの一覧を取得するための操作を行う。すると、画像形成装置２０は、サービスの一覧の取得要求をサービス提供システム１０のサービス処理部１１０に送信する（ステップＳ９０１）。そして、サービス処理部１１０のアプリ管理部１２０は、当該取得要求を受信すると、サービス提供システム１０により提供されるサービスの一覧を画像形成装置２０に送信する。これにより、画像形成装置２０のブラウザ２１０により、画像形成装置２０の操作パネル２２にサービス提供システム１０により提供されるサービスの一覧が表示される。なお、サービスの一覧には、サービス提供システム１０により提供されるサービスのサービス名と、このサービスを実現するためのアプリ情報１０００のアプリＩＤと、このアプリ情報１０００に含まれる処理内容のフローＩＤとが含まれる。
【００６５】
ユーザは、画像形成装置２０の操作パネル２２に表示されたサービスの一覧から、自身が利用を所望するサービスを選択する。すると、ブラウザ２１０は、選択されたサービスを実現するためのアプリ情報１０００のアプリＩＤをアプリ管理部１２０に送信する（ステップＳ９０２）。ここでは、ユーザによりストレージサービスＡにスキャン配信するためのサービス「スキャン配信サービス」の利用が選択されたものとする。したがって、ブラウザ２１０は、アプリ情報１０００１のアプリＩＤ「app001」をアプリ管理部１２０に送信する。そして、アプリ管理部１２０は、ブラウザ２１０から受け取ったアプリＩＤ「app001」のアプリ情報１０００１に含まれる画面定義に基づきＨＴＭＬ（HyperText Markup Language）形式のアプリ画面を生成し、ブラウザ２１０に送信する。
【００６６】
ブラウザ２１０は、アプリ管理部１２０から受け取ったアプリ画面を受信すると、例えば図１０に示すようなアプリ画面２０００を、操作パネル２２に表示させる（ステップＳ９０３）。図１０は、ストレージサービスＡにスキャン配信するスキャン配信サービスを利用するためのアプリ画面２０００である。
【００６７】
なお、図１０に示すアプリ画面２０００では、ストレージサービスＡにおける保存先フォルダを示す「FolderA」が予め設定されているが、保存先フォルダをユーザが選択できるようにしてもよい。すなわち、例えばデータＩ／Ｆ１４０がデータ処理部１８０を介してストレージサービスＡのフォルダ一覧を取得し、取得されたフォルダ一覧からユーザが保存先フォルダを選択できるようにしてもよい。
【００６８】
次に、ユーザは、図１０に示すアプリ画面２０００において、ファイル名入力欄２１００に所望のファイル名を入力して、画像形成装置２０のスキャナ２５に原稿をセットした上で、スキャン実行ボタン２２００を押下する（ステップＳ９０４）。これにより、画像形成装置２０のスキャナ２５により原稿が読み取られ、所望のファイル名の電子ファイルが生成される（ステップＳ９０５）。そして、画像形成装置２０は、生成された電子ファイルをストレージサービスＡに配信するための配信実行処理を行う（ステップＳ９０６）。以降では、この配信実行処理について、図１１を用いて詳細に説明する。
【００６９】
≪配信実行処理≫
図１１は、第１の実施形態に係る配信実行処理の一例のシーケンス図である。
【００７０】
まず、画像形成装置２０のブラウザ２１０は、認証管理装置３０にログイン要求を送信し、認証管理装置３０にログインする（ステップＳ１１０２）。ログイン要求には、認証管理装置３０を利用するための利用者ＩＤ及びパスワードが含まれる。ここで、利用者ＩＤは「user001」であるものとする。そして、認証管理装置３０は、ログインが成功した場合、当該利用者ＩＤの認証Ｃｏｏｋｉｅを画像形成装置２０に返信する。
【００７１】
次に、ブラウザ２１０は、スキャン配信サービスの処理の実行要求をフロー実行部１３１に送信する（ステップＳ１１０２）。ここで、当該実行要求には、アプリＩＤ「app001」、実行される処理内容のフローＩＤ「flow1」、スキャンにより生成された電子ファイル、保存先フォルダ「FolderA」のフォルダＩＤ、認証管理装置３０から取得した認証Ｃｏｏｋｉｅ等が含まれる。そして、フロー実行部１３１は、処理の実行要求を受け付けると、アプリ管理部１２０を介して、当該処理の実行要求に含まれるアプリＩＤ「app001」のアプリ情報１０００からフローＩＤ「flow1」の処理内容を取得する（ステップＳ１１０３）。すなわち、フロー実行部１３１は、例えば図７に示す処理内容を取得する。
【００７２】
フロー実行部１３１は、ヘッダデータ１３４１に認証Ｃｏｏｋｉｅ、ファイルデータ１３４２にスキャンにより生成した電子データが格納されたデータ１３４を作成する（ステップＳ１１０４）。
【００７３】
次に、フロー実行部１３１は、ステップＳ１１０３で取得した処理内容に従って、コンポーネントの取得をコンポーネント管理部１３２に要求する（ステップＳ１１０５）。より具体的には、フロー実行部１３１は、図７に示す処理内容の「From("file:input")」の次に指定されている「.to("process:auth")」に基づき、認証コンポーネント１３３２の取得をコンポーネント管理部１３２に要求する。
【００７４】
コンポーネント管理部１３２は、認証コンポーネント１３３２の取得要求を受け付けると、認証コンポーネント１３３２を生成する（ステップＳ１１０６）。認証コンポーネント１３３２の生成は、コンポーネント共通Ｉ／Ｆ１３３０に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。そして、認証コンポーネント１３３２が生成されると、コンポーネント管理部１３２は、認証コンポーネント１３３２をフロー実行部１３１に返却する。これは、例えば、コンポーネント管理部１３２は、認証コンポーネント１３３２が展開されたメモリ（例えばＲＡＭ１４）上のアドレスを、フロー実行部１３１に返却すればよい。
【００７５】
フロー実行部１３１は、生成された認証コンポーネント１３３２に対して、データ１３４を指定して処理の実行を要求する（ステップＳ１１０７）。これは、例えば、フロー実行部１３１は、データ１３４が展開されたメモリ（例えばＲＡＭ１４）上のアドレスを指定して、認証コンポーネント１３３２に処理の実行を要求すればよい。
【００７６】
認証コンポーネント１３３２は、データ１３４のヘッダデータ１３４１に格納されている認証Ｃｏｏｋｉｅと、ストレージサービスＡの指定とを含む連携認証情報の取得要求を、認証管理装置３０に送信する（ステップＳ１１０８）。ここで、ストレージサービスＡの指定には、例えば、認証管理装置３０におけるストレージサービスＡの認証情報のｋｅｙ情報を用いればよい。なお、当該取得要求には、少なくとも認証Ｃｏｏｋｉｅが含まれていればよく、ストレージサービスＡの指定は含まれていなくてもよい。
【００７７】
すると、認証コンポーネント１３３２は、認証管理装置３０から返却された連携認証情報３１Ｄを取得する。ここで、認証管理装置３０から返却される連携認証情報３１Ｄは、利用者ＩＤ「user001」の連携認証情報３１Ｄである。なお、認証管理装置３０は、利用者ＩＤ「user001」の連携認証情報３１Ｄに含まれるストレージサービスＡ（すなわち、外部ストレージシステム４０１）の認証情報「ServiceAtoken情報」及び当該認証情報のｋｅｙ情報「ServiceA」を返却してもよい。
【００７８】
そして、認証コンポーネント１３３２は、連携認証情報３１Ｄに含まれるストレージサービスＡの認証情報「ServiceAtoken情報」及び当該認証情報のｋｅｙ情報「ServiceA」を、データ１３４のヘッダデータ１３４１に格納する（ステップＳ１１０９）。より具体的には、認証コンポーネント１３３２は、連携認証情報３１Ｄに含まれるストレージサービスＡの認証情報「ServiceAtoken情報」及び当該認証情報のｋｅｙ情報「ServiceA」を、「ServiceA=ServiceAtoken情報」として、データ１３４のヘッダデータ１３４１に格納する。
【００７９】
次に、フロー実行部１３１は、ステップＳ１１０３で取得した処理内容に従って、コンポーネントの取得をコンポーネント管理部１３２に要求する（ステップＳ１１１０）。より具体的には、フロー実行部１３１は、図７に示す処理内容の「.to("process:auth")」の次に指定されている「.to("strage:send_to_folder?type=service-a")」に基づき、配信コンポーネント１３３１の取得をコンポーネント管理部１３２に要求する。なお、ここで、上記の指定されている処理内容に、上記のステップＳ１１０２の実行要求に含まれる保存先（保存先フォルダのフォルダＩＤ）をオプションパラメータとして付加してもよい。
【００８０】
コンポーネント管理部１３２は、配信コンポーネント１３３１の取得要求を受け付けると、配信コンポーネント１３３１を生成する（ステップＳ１１１１）。配信コンポーネント１３３１の生成は、コンポーネント共通Ｉ／Ｆ１３３０に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。そして、配信コンポーネント１３３１が生成されると、コンポーネント管理部１３２は、配信コンポーネント１３３１をフロー実行部１３１に返却する。これは、例えば、コンポーネント管理部１３２は、配信コンポーネント１３３１が展開されたメモリ（例えばＲＡＭ１４）上のアドレスを、フロー実行部１３１に返却する。
【００８１】
フロー実行部１３１は、生成された配信コンポーネント１３３１に対して、データ１３４を指定して処理の実行を要求する（ステップＳ１１１２）。これは、例えば、フロー実行部１３１は、データ１３４が展開されたメモリ（例えばＲＡＭ１４）上のアドレスを指定して、配信コンポーネント１３３１に処理の実行を要求すればよい。
【００８２】
配信コンポーネント１３３１は、ストレージサービスＡのｋｅｙ情報「ServiceA」を指定してデータ１３４のヘッダデータ１３４１から認証情報「ServiceAtoken情報」を取得する（ステップＳ１１１３）。このように、配信コンポーネント１３３１は、認証管理装置３０において管理されている認証情報のｋｅｙ情報を用いて、配信先となるストレージサービスの認証情報を取得することができる。
【００８３】
次に、配信コンポーネント１３３１は、データ１３４のファイルデータ１３４２を取得する（ステップＳ１１１４）。すなわち、配信コンポーネント１３３１は、スキャンにより生成された電子データが格納されたファイルデータ１３４２を取得する。
【００８４】
最後に、配信コンポーネント１３３１は、ストレージサービスＡへの配信処理を実行する（ステップＳ１１１５）。すなわち、配信コンポーネント１３３１は、ストレージサービス連携部１６０１に対して、ファイルデータ１３４２、ストレージサービスＡにおける保存先フォルダ、ストレージサービスＡの認証情報「ServiceAtoken情報」を含む配信実行を要求する。これにより、ストレージサービス連携部１６０１のファイル処理部１７０１に定義された共通ＡＰＩ１７１１を用いて、ストレージサービスＡにファイルデータ１３４２が配信される。このとき、外部ストレージシステム４０１への認証は、ストレージサービスＡの認証情報「ServiceAtoken情報」を用いて行われる。
【００８５】
以上により、本実施形態に係るサービス提供システム１０は、認証基盤毎に定義された認証コンポーネント１３３２を用いて、外部ストレージシステム４０の認証情報を取得する。これにより、例えば配信コンポーネント１３３１等の外部ストレージシステム４０と連携して処理を行うコンポーネントは、認証基盤において管理されている当該外部ストレージシステム４０の認証情報を識別するためのキーを用いて認証情報を取得することができる。したがって、例えば画像形成装置２０が利用する認証基盤を変更する場合等は、当該変更後の認証基盤に対応する認証コンポーネント１３３２を用いればよく、柔軟に認証基盤の変更を行うことができる。
【００８６】
さらに、例えば画像形成装置２０が利用する認証基盤の変更等する場合には、当該変更後の認証基盤に対応する認証コンポーネント１３３２を開発すればよい。したがって、認証基盤の変更等に伴う開発を効率的に行うことができる。
【００８７】
［第２の実施形態］
次に、第２の実施形態に係る情報処理システム１について説明する。第２の実施形態に係る情報処理システム１は、ユーザ環境Ｅ２に認証管理装置５０を有する点が第１の実施形態と異なる。なお、以降では、第１の実施形態と実質的に同一の機能を有する箇所及び同一の処理を行う箇所については、第１の実施形態と同一の符号を用いて、その説明を省略する。
【００８８】
＜システム構成＞
本実施形態に係る情報処理システム１のシステム構成について、図１２を用いて説明する。図１２は、第２の実施形態に係る情報処理システムの一例のシステム構成図である。図１２に示される情報処理システム１は、さらに、ユーザ環境Ｅ２に認証管理装置５０を有する。
【００８９】
認証管理装置５０は、ユーザ環境Ｅ２に設置された認証基盤である。ただし、認証管理装置５０は独立の装置である必要はなく、例えば画像形成装置２０に含まれてもよい。すなわち、画像形成装置２０には、認証基盤（認証管理装置５０）として機能するプログラムやアプリケーション等が搭載されていてもよい。
【００９０】
＜ソフトウェア構成＞
次に、本実施形態に係る情報処理システム１の処理ブロックについて、図１３を用いて説明する。図１３は、第２の実施形態に係るロジック処理部の一例の処理ブロック図である。図１３に示されるように、コンポーネント群１３３は、さらに、外部ストレージシステム４０の認証情報を識別するための「ｋｅｙ情報」を変換するキー情報変換コンポーネント１３３３を有する。
【００９１】
これは、認証管理装置５０は、ユーザ環境Ｅ１に設置されている認証基盤であるため、外部ストレージシステム４０の認証情報を識別するための「ｋｅｙ情報」が、認証管理装置３０と異なる場合がある。したがって、本実施形態では、コンポーネント群１３３は、例えば配信サービスコンポーネント１３３１等の外部ストレージシステム４０と連携して処理を行うコンポーネントが識別できる「ｋｅｙ情報」に変換するキー情報変換コンポーネント１３３３を有する。
【００９２】
また、認証管理装置５０は、連携認証情報記憶部５１を有する。この記憶部は、認証管理装置５０が有する記憶装置等により実現される。連携認証情報記憶部５１は、外部ストレージシステム４０の認証情報が管理された連携認証情報５１Ｄを記憶する。連携認証情報５１Ｄは、例えば図１４に示すように、「利用者ＩＤ」毎に、外部ストレージシステム４０の認証情報を認証管理装置５０において識別するための「ｋｅｙ情報」、外部ストレージシステム４０の名称を示す「連携先情報」を有する。また、連携認証情報５１Ｄは、外部ストレージシステム４０を利用するための「認証情報」を有する。
【００９３】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００９４】
≪配信実行処理≫
図１５は、第２の実施形態に係る配信実行処理の一例のシーケンス図である。
【００９５】
まず、画像形成装置２０のブラウザ２１０は、認証管理装置５０にログイン要求を送信し、認証管理装置５０にログインする（ステップＳ１５０１）。ログイン要求には、認証管理装置５０を利用するための利用者ＩＤ及びパスワードが含まれる。ここで、利用者ＩＤは「user001」であるものとする。そして、認証管理装置３０は、ログインが成功した場合、当該利用者ＩＤの認証Ｃｏｏｋｉｅを画像形成装置２０に返信する。
【００９６】
次に、ブラウザ２１０は、ストレージサービスＡを指定して、認証Ｃｏｏｋｉｅを含む認証情報の取得を認証管理装置５０に要求する（ステップＳ１５０２）。ここで、ストレージサービスＡの指定には、例えば、認証管理装置５０におけるストレージサービスＡの認証情報のｋｅｙ情報を用いればよい。これにより、画像形成装置２０は、図１４に示す連携認証情報５１Ｄに含まれる認証情報「ServiceAtoken情報」及びこの認証情報のｋｅｙ情報「key1」を取得する。このように、ユーザ環境Ｅ１に認証基盤が存在する場合、画像形成装置２０は、当該認証基盤から所望のストレージサービスの「認証情報」及び当該認証情報の「ｋｅｙ情報」を取得する。
【００９７】
次に、ブラウザ２１０は、スキャン配信サービスの処理の実行要求をフロー実行部１３１に送信する（ステップＳ１５０３）。ここで、当該実行要求には、アプリＩＤ「app001」、実行される処理内容のフローＩＤ、スキャンにより生成された電子ファイル、保存先フォルダ「FolderA」のフォルダＩＤが含まれる。ここで、本実施形態では、当時実行要求に含まれるフローＩＤは、後述する図１６に示される処理内容を示すフローＩＤ「flow2」であるものとする。
【００９８】
また、当該実行要求には、認証管理装置５０から取得したｋｅｙ情報「key1」及び認証情報「ServiceAtoken情報」が含まれる。
【００９９】
そして、フロー実行部１３１は、処理の実行要求を受け付けると、アプリ管理部１２０を介して、当該処理の実行要求に含まれるアプリＩＤ「app001」のアプリ情報１０００１からフローＩＤ「flow2」の処理内容を取得する（ステップＳ１５０４）。すなわち、フロー実行部１３１は、例えば図１６に示す処理内容を取得する。ここで、図１６に示す処理内容において、「.to("process:local_auth")」は、ユーザ環境Ｅ１に存在する認証基盤（すなわち、認証管理装置５０）を利用することを示す指定である。
【０１００】
フロー実行部１３１は、ヘッダデータ１３４１にｋｅｙ情報「key1」及び認証情報「ServiceAtoken情報」、ファイルデータ１３４２にスキャンにより生成した電子データが格納されたデータ１３４を作成する（ステップＳ１５０５）。より具体的には、フロー実行部１３１は、ｋｅｙ情報「key1」及び認証情報「ServiceAtoken情報」を「key1=ServiceAtoken情報」として、ヘッダデータ１３４１に格納して、データ１３４を作成する。
【０１０１】
次に、フロー実行部１３１は、ステップＳ１５０４で取得した処理内容に従って、コンポーネントの取得をコンポーネント管理部１３２に要求する（ステップＳ１５０６）。より具体的には、フロー実行部１３１は、図１６に示す処理内容の「From("file:input")」の次に指定されている「.to("process:local_auth")」に基づき、キー情報変換コンポーネント１３３３の取得をコンポーネント管理部１３２に要求する。
【０１０２】
コンポーネント管理部１３２は、キー情報変換コンポーネント１３３３の取得要求を受け付けると、キー情報変換コンポーネント１３３３を生成する（ステップＳ１５０７）。キー情報変換コンポーネント１３３３の生成は、コンポーネント共通Ｉ／Ｆ１３３０に定義されたコンポーネントを生成するためのＡＰＩを用いて行うことができる。そして、キー情報変換コンポーネント１３３３が生成されると、コンポーネント管理部１３２は、キー情報変換コンポーネント１３３３をフロー実行部１３１に返却する。これは、例えば、コンポーネント管理部１３２は、キー情報変換コンポーネント１３３３が展開されたメモリ（例えばＲＡＭ１４）上のアドレスを、フロー実行部１３１に返却すればよい。
【０１０３】
フロー実行部１３１は、生成されたキー情報変換コンポーネント１３３３に対して、データ１３４を指定して処理の実行を要求する（ステップＳ１５０８）。これは、例えば、フロー実行部１３１は、データ１３４が展開されたメモリ（例えばＲＡＭ１４）上のアドレスを指定して、キー情報変換コンポーネント１３３３に処理の実行を要求すればよい。
【０１０４】
キー情報変換コンポーネント１３３３は、認証管理装置５０におけるストレージサービスＡの認証情報のキー情報「key1」を指定して、データ１３４のヘッダデータ１３４１から認証情報「ServiceAtoken情報」を取得する（ステップＳ１５０９）。
【０１０５】
次に、キー情報変換コンポーネント１３３３は、取得したストレージサービスＡの認証情報「ServiceAtoken情報」にキー情報「ServiceA」を関連付けて、データ１３４のヘッダデータ１３４１に格納する（ステップＳ１５１０）。より具体的には、キー情報変換コンポーネント１３３３は、取得したストレージサービスＡの認証情報「ServiceAtoken情報」を、「ServiceA=ServiceAtoken情報」として、データ１３４のヘッダデータ１３４１に格納する。すなわち、キー情報変換コンポーネント１３３３は、ヘッダデータ１３４１に格納されている認証情報のｋｅｙ情報（これは、認証管理装置５０において認証情報を識別するｋｅｙ情報である。）を、認証管理装置３０において認証情報を識別するｋｅｙ情報に変換する。これにより、例えば配信コンポーネント１３３１等の外部ストレージシステム４０と連携して処理を行うコンポーネントが認証情報を識別することができるｋｅｙ情報に変換される。
【０１０６】
以上のように、本実施形態に係るサービス提供システム１０では、同一の外部ストレージシステム４０における認証情報の識別情報が、サービス提供環境Ｅ１に存在する認証基盤と異なる認証基盤を利用することができる。したがって、例えば画像形成装置２０のユーザは、ユーザ環境Ｅ２に存在する認証基盤等の所望の認証基盤を利用することができる。
【０１０７】
＜まとめ＞
以上のように、第１の実施形態に係るサービス提供システム１は、認証基盤毎に定義された認証コンポーネント１３３２を用いて、外部ストレージシステム４０の認証情報を取得する。これにより、画像形成装置２０等の機器が利用する認証基盤を変更する場合等は、当該変更後の認証基盤に対応する認証コンポーネント１３３２を用いればよく、柔軟に認証基盤の変更を行うことができる。
【０１０８】
また、第２の実施形態に係るサービス提供システム１は、外部（サービス提供環境Ｅ１以外の環境）に存在する認証基盤で管理されている認証情報の識別情報を変換する。これにより、画像形成装置２０等の機器は、所望の認証基盤を利用することができる。すなわち、画像形成装置２０等の機器は、ユーザ環境Ｅ２に存在する認証基盤や機器自体が有する認証基盤を利用することができる。
【０１０９】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１１０】
１        情報処理システム
１０      サービス提供システム
２０      画像形成装置
３０      認証管理装置
４０      外部ストレージシステム
１１０    サービス処理部
１２０    アプリ管理部
１３０    ロジック処理部
１３１    フロー実行部
１３２    コンポーネント管理部
１３３    コンポーネント群
１４０    データＩ／Ｆ部
１５０    ドキュメントサービス部
１５１    ＯＣＲ処理
１６０    ストレージサービス連携部
１７０    ファイル処理部
１８０    データ処理部
１９０    アプリ情報記憶部
１０００  アプリ情報
【先行技術文献】
【特許文献】
【０１１１】
【特許文献１】特開２０１３−１９６４２２号公報
【図１】
2016165046.tif 000003
【図２】
2016165046.tif 000004
【図３】
2016165046.tif 000005
【図４】
2016165046.tif 000006
【図５】
2016165046.tif 000007
【図６】
2016165046.tif 000008
【図７】
2016165046.tif 000009
【図８】
2016165046.tif 000010
【図９】
2016165046.tif 000011
【図１０】
2016165046.tif 000012
【図１１】
2016165046.tif 000013
【図１２】
2016165046.tif 000014
【図１３】
2016165046.tif 000015
【図１４】
2016165046.tif 000016
【図１５】
2016165046.tif 000017
【図１６】
2016165046.tif 000018