(57)【特許請求の範囲】
【請求項１】
１以上の情報処理装置を含む情報処理システムであって、
外部サービスに格納された１以上の電子データのそれぞれの格納先を示す情報を取得する格納先情報取得手段と、
前記格納先情報取得手段により取得された格納先を示す情報を、前記情報処理システムとネットワークを介して接続される機器に送信する第１の送信手段と、
前記第１の送信手段により送信された前記格納先を示す情報に基づき前記機器により指定された電子データの格納先を示す情報を含む第１の要求を、前記機器から受け付ける受付手段と、
前記受付手段により前記第１の要求を受け付けると、１以上の前記外部サービスの間で共通に利用されるインタフェース手段を用いて、前記第１の要求に含まれる前記外部サービスの識別情報に対応する外部サービスに前記指定された電子データを取得するための第２の要求を行い、該電子データを取得するデータ取得手段と、
前記データ取得手段により取得された電子データを、前記第１の要求の要求元の前記機器に送信する第２の送信手段と、
を有する情報処理システム。
【請求項２】
前記情報処理システムは、１以上の前記外部サービスにそれぞれ対応する１以上のプログラムを有し、
前記データ取得手段は、
前記受付手段により前記第１の要求を受け付けると、１以上の前記外部サービスの間で共通に利用されるインタフェース手段を用いて、前記第１の要求に含まれる前記外部サービスの識別情報に対応する前記プログラムが前記外部サービスに前記指定された電子データを取得するための第２の要求を行い、該電子データを取得する、請求項１記載の情報処理システム。
【請求項３】
前記受付手段により前記第１の要求を受け付けると、前記１以上のプログラムのうち、前記第２の要求を行うプログラムが搭載されている前記情報処理装置のアドレス情報を取得し、該アドレス情報に基づき前記第１の要求を転送する転送手段を有し、
前記データ取得手段は、
前記転送手段により転送された前記第１の要求を受け付けると、１以上の前記外部サービスの間で共通に利用されるインタフェース手段を用いて、前記第１の要求に含まれる前記外部サービスの識別情報に対応する前記プログラムが前記外部サービスに前記指定された電子データを取得するための第２の要求を行い、該電子データを取得する、請求項２記載の情報処理システム。
【請求項４】
前記データ取得手段により取得された電子データのデータ形式を変換する変換手段を有し、
前記第２の送信手段は、
前記変換手段によりデータ形式が変換された後の電子データを、前記第１の要求の要求元の前記機器に送信する、請求項１ないし３のいずれか１項に記載の情報処理システム。
【請求項５】
前記変換手段は、
前記データ取得手段により取得された電子データを、印刷データに変換する、請求項４記載の情報処理システム。
【請求項６】
ユーザが操作する機器と、該機器とネットワークを介して接続される情報処理装置とを含む情報処理システムであって、
前記機器は、
１以上の電子データが格納された外部サービスから取得する電子データを、前記ユーザが指定するための画面を生成する画面生成手段と、
前記画面生成手段により生成された画面において前記ユーザにより指定された電子データの前記外部サービスにおける格納先を示す情報を含む第１の要求を前記情報処理装置に送信する要求手段と
を有し、
前記情報処理装置は、
前記第１の要求を、前記機器から受け付ける受付手段と、
前記受付手段により前記第１の要求を受け付けると、１以上の前記外部サービスの間で共通に利用されるインタフェース手段を用いて、前記第１の要求に含まれる前記外部サービスの識別情報に対応する外部サービスに前記電子データを取得するための第２の要求を行い、該電子データを取得するデータ取得手段と、
前記データ取得手段により取得された電子データを、前記第１の要求の要求元の前記機器に送信する送信手段と、
を有する情報処理システム。
【請求項７】
情報処理装置であって、
外部サービスに格納された１以上の電子データのそれぞれの格納先を示す情報を取得する格納先情報取得手段と、
前記格納先情報取得手段により取得された格納先を示す情報を、前記情報処理装置とネットワークを介して接続される機器に送信する第１の送信手段と、
前記第１の送信手段により送信された前記格納先を示す情報に基づき前記機器により指定された電子データの格納先を示す情報を含む第１の要求を、前記機器から受け付ける受付手段と、
前記受付手段により前記第１の要求を受け付けると、１以上の前記外部サービスの間で共通に利用されるインタフェース手段を用いて、前記第１の要求に含まれる前記外部サービスの識別情報に対応する外部サービスに前記電子データを取得するための第２の要求を行い、該電子データを取得するデータ取得手段と、
前記データ取得手段により取得された電子データを、前記第１の要求の要求元の前記機器に送信する第２の送信手段と、
を有する情報処理装置。
【請求項８】
１以上の情報処理装置を含む情報処理システムに用いられる情報処理方法であって、
外部サービスに格納された１以上の電子データのそれぞれの格納先を示す情報を取得する格納先情報取得手順と、
前記格納先情報取得手順により取得された格納先を示す情報を、前記情報処理システムとネットワークを介して接続される機器に送信する第１の送信手段と、
前記第１の送信手段により送信された前記格納先を示す情報に基づき前記機器により指定された電子データの格納先を示す情報を含む第１の要求を、前記機器から受け付ける受付手順と、
前記受付手順により前記第１の要求を受け付けると、１以上の前記外部サービスの間で共通に利用されるインタフェース手段を用いて、前記第１の要求に含まれる前記外部サービスの識別情報に対応する外部サービスに前記指定された電子データを取得するための第２の要求を行い、該電子データを取得するデータ取得手順と、
前記データ取得手順により取得された電子データを、前記第１の要求の要求元の前記機器に送信する第２の送信手段と、
を有する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング等により多種多様な外部サービスが提供されるようになった。例えば画像形成装置で原稿をスキャンして取得した画像データについて、異なるデータ形式に変換するサービスや電子データを外部ストレージに保管するサービス等が知られている。
【０００３】
また、例えば画像形成装置とネットワークを介して接続された外部ストレージに存在する電子データを取得して、印刷する技術が知られている（例えば特許文献１参照）。このように、画像形成装置と外部サービスとが連携して処理を行う技術が従来より知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術においては、連携して処理を行う外部サービスを追加・変更等する場合、追加・変更等に係る外部サービスとの認証手段を提供するためのモジュールやデータ連携手段を提供するためのモジュール等を作成する必要があった。また、これらの各手段は、システム全体に点在する場合が多い。したがって、連携して処理を行う外部サービスが追加・変更等する度に、システム全体を変更しなければならなかった。
【０００５】
本発明の実施の形態は、上記の点に鑑みてなされたもので、連携して処理を行う外部サービスの追加を容易にすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の実施の形態は、１以上の情報処理装置を含む情報処理システムであって、１以上の電子データが格納された外部サービスから指定された電子データを取得するための第１の要求を、前記情報処理システムにネットワークを介して接続される機器から受け付ける受付手段と、前記受付手段により前記第１の要求を受け付けると、１以上の前記外部サービスの間で共通に利用されるインタフェース手段を用いて、前記第１の要求に含まれる前記外部サービスの識別情報に対応する外部サービスに前記指定された電子データを取得するための第２の要求を行い、該電子データを取得するデータ取得手段と、前記データ取得手段により取得された電子データを、前記第１の要求の要求元の前記機器に送信する送信手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、連携して処理を行う外部サービスの追加を容易にすることができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る情報処理システムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】本実施形態に係る画像形成装置の一例のハードウェア構成図である。
【図４】本実施形態に係る情報処理システムの一例の処理ブロック図である。
【図５】本実施形態に係る認証情報設定処理の一例のシーケンス図である。
【図６】サービス情報テーブルの一例の構成図である。
【図７】プロキシ変換情報テーブルの一例の構成図である。
【図８】外部ストレージ連携ＡＰＩの一例を説明するための図である。
【図９】設定情報の一例を示す図である。
【図１０】認証情報設定画面の一例のイメージ図である。
【図１１】ユーザ情報テーブルの一例の構成図である。
【図１２】本実施形態に係るプロファイル情報作成処理の一例のシーケンス図である。
【図１３】プロファイルを作成するための画面の遷移例を説明するための図である。
【図１４】プロファイル情報の一例の構成図である。
【図１５】本実施形態に係るフォルダ・ファイル一覧の表示処理の一例のシーケンス図である。
【図１６】フォルダ・ファイルの表示画面の遷移例を説明するための図である。
【図１７】ストレージサービスの認証画面の一例を説明するための図である。
【図１８】本実施形態に係る印刷処理の一例のシーケンス図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
＜システム構成＞
図１は、本実施形態に係る情報処理システムの一例の構成図である。図１に示される情報処理システム１において、サービス提供環境Ｅ２、ユーザ環境Ｅ１及び外部ストレージシステム４０等は、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１１】
サービス提供環境Ｅ２は、ネットワークを介してクラウドサービス等の外部サービスを提供するシステム環境である。なお、本実施の形態では、外部サービスの具体例としてクラウドサービスを採用して説明するが、ＡＳＰ（Application Service Provider）によって提供されるサービスやＷｅｂサービス等、ネットワークを介して提供されるサービスに関して本実施の形態が適用されてもよい。
【００１２】
サービス提供環境Ｅ２は、一台以上の情報処理装置で実現されるサービス提供システム２０を有する。サービス提供システム２０は、ネットワークを介して所定のサービスを提供する。例えば、サービス提供システム２０は、外部ストレージシステム４０に保存されている電子データを、ユーザ環境Ｅ１の画像形成装置１０で印刷するサービス（クラウドプリントサービス）を提供する。本実施形態では、サービス提供環境Ｅ２は、クラウドサービスの一例として、外部ストレージシステム４０と連携して、上記のようなクラウドプリントサービスを提供するものとして説明する。ただし、サービス提供システム２０が提供するサービスはクラウドプリントサービスに限られず、例えば、外部ストレージシステム４０に保存されている電子データを、ユーザ環境Ｅ１のプロジェクタで投影するサービス等であってもよい。なお、サービス提供システム２０の全部又は一部は、ユーザ環境Ｅ１に設置されていてもよい。すなわち、サービス提供システム２０を構成する情報処理装置の全部又は一部は、ユーザ環境Ｅ１に包含されていてもよい。
【００１３】
ユーザ環境Ｅ１は、例えば画像形成装置１０を使用するユーザである企業等におけるシステム環境である。ユーザ環境Ｅ１において、一台以上の画像形成装置１０と一台以上のＰＣ端末３０とはＬＡＮ（Local Area Network）等のネットワークを介して接続されている。
【００１４】
本実施形態に係る画像形成装置１０は、プリント機能を有する画像形成装置である。プリント機能以外に、スキャン、コピー、又はファックス（ＦＡＸ）通信等の機能を有する複合機が画像形成装置１０として用いられてもよい。
【００１５】
ＰＣ端末３０は、ユーザ環境Ｅ１における画像形成装置１０の利用者が使用する端末である。ＰＣ端末３０は、ＰＣ（Personal Computer）の他、ＰＤＡ（Personal Digital Assistance）、タブレット型端末、スマートフォン、携帯電話等が用いられてもよい。
【００１６】
外部ストレージシステム４０は、ネットワークを介してストレージサービス（又はオンラインストレージ）と呼ばれるクラウドサービスを提供するコンピュータシステムである。ストレージサービスとは、外部ストレージシステム４０のストレージの記憶領域を貸し出すサービスである。本実施形態では、外部ストレージシステム４０によって貸し出される記憶領域は、サービス提供システム２０によって提供されるクラウドプリントサービスにおいて、印刷対象となる電子データの取得（ダウンロード）先の候補である。以降では、複数の外部ストレージシステム４０について、各々を区別するときは、外部ストレージシステム４０１、外部ストレージシステム４０２、・・・と記載する。また、外部ストレージシステム４０１によって提供されるサービスの名称（サービス名）を「ストレージサービスＡ」、ストレージシステム４０２によって提供されるサービス名を「ストレージサービスＢ」、・・・とする。
【００１７】
なお、外部ストレージシステム４０は、複数台の情報処理装置によって実現されるシステムであってもよい。また、図１に示される情報処理システム１の構成は一例であって、他の構成であってもよい。例えば、上述したように、ユーザ環境Ｅ１は、画像形成装置１０に加えて又は画像形成装置１０に代えて、プロジェクタ、電子黒板等の各種電子機器を有していてもよい。換言すれば、ユーザ環境Ｅ１における機器は、画像形成装置１０に限られず、サービス提供システム２０を介して外部ストレージシステム４０から取得した電子データに基づき、印刷、表示、投影等の所定の処理を行うものであればよい。
【００１８】
＜ハードウェア構成＞
≪サービス提供システム及びＰＣ端末≫
図１に示されるサービス提供システム２０及びＰＣ端末３０は、例えば図２に示されるようなハードウェア構成のコンピュータにより実現される。図２は、コンピュータの一例のハードウェア構成図である。図２のコンピュータ１００は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４と、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、ＨＤＤ（Hard Disk Drive）１０８とを備え、それぞれがバスＢで接続されている。
【００１９】
入力装置１０１はキーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１０２はディスプレイ等を含み、コンピュータ１００による処理結果を表示する。なお、入力装置１０１及び表示装置１０２は必要なときに接続して利用する形態であってもよい。
【００２０】
通信Ｉ／Ｆ１０７はコンピュータ１００をネットワークＮ１に接続するインタフェースである。これにより、コンピュータ１００は通信Ｉ／Ｆ１０７を介してデータ通信を行うことができる。
【００２１】
また、ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ１００全体を制御する基本ソフトウェアであるＯＳ（Operating System）、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。なお、コンピュータ１００はＨＤＤ１０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２２】
ＨＤＤ１０８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。
【００２３】
これにより、コンピュータ１００は外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２４】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５にはコンピュータ１００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定等のプログラムやデータが格納されている。ＲＡＭ１０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２５】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８等の記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、コンピュータ１００全体の制御や機能を実現する演算装置である。本実施形態に係るサービス提供システム２０及びＰＣ端末３０はコンピュータ１００のハードウェア構成により、後述する各種処理を実現できる。
【００２６】
≪画像形成装置≫
図１に示される画像形成装置１０は、例えば図３に示されるようなハードウェア構成により実現される。図３は、本実施形態に係る画像形成装置の一例のハードウェア構成図である。図３に示される画像形成装置１０は、コントローラ２０１と、操作パネル２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、プリンタ２０５とを備える。
【００２７】
コントローラ２０１はＣＰＵ２１１と、ＲＡＭ２１２と、ＲＯＭ２１３と、ＮＶＲＡＭ２１４と、ＨＤＤ２１５とを備える。ＲＯＭ２１３は、各種プログラムやデータが格納されている。ＲＡＭ２１２はプログラムやデータを一時保持する。ＮＶＲＡＭ２１４は、例えば設定情報等が格納されている。また、ＨＤＤ２１５は各種プログラムやデータが格納されている。
【００２８】
ＣＰＵ２１１は、ＲＯＭ２１３やＮＶＲＡＭ２１４、ＨＤＤ２１５等からプログラムやデータ、設定情報等をＲＡＭ２１２上に読み出し、処理を実行することで、画像形成装置１０全体の制御や機能を実現する。
【００２９】
操作パネル２０２はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ２０３は外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。これにより、画像形成装置１０は外部Ｉ／Ｆ２０３を介して記録媒体２０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体２０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３０】
通信Ｉ／Ｆ２０４は、画像形成装置１０をネットワークＮ１に接続するインタフェースである。これにより、画像形成装置１０は通信Ｉ／Ｆ２０４を介してデータ通信を行うことができる。プリンタ２０５は印刷データを印刷するための印刷装置である。本実施形態に係る画像形成装置１０は上記ハードウェア構成により、後述する各種処理を実現できる。
【００３１】
＜ソフトウェア構成＞
本実施形態に係る情報処理システム１は、例えば図４に示されるような処理ブロックにより実現することができる。図４は、本実施形態に係る情報処理システムの一例の処理ブロック図である。なお、図４の情報処理システム１において、本実施形態の説明に不要な処理ブロックについては図示を省略している。
【００３２】
画像形成装置１０は、例えばＣＰＵ２１１等により実現される１つ以上のクライアントアプリ１１を有する。クライアントアプリ１１は、サービス提供システム２０と連携させるために、画像形成装置１０にインストールされる必要のあるアプリケーションプログラムである。クライアントアプリ１１は、後述するサーバアプリ２２と連携し、利用できるストレージサービスの表示やストレージサービスから電子データを取得するための要求を行う。また、クライアントアプリ１１は、ストレージサービスから取得した電子データの印刷等を行う。なお、「クライアントアプリ」という用語は、サービス提供システム２０側にインストールされる必要のあるアプリケーションプログラム（後述する「サーバアプリ２２」）と区別するために便宜上用いた用語である。
【００３３】
なお、クライアントアプリ１１とサーバアプリ２２とが同一のプログラムであってもよい。また、クライアントアプリ１１は、ＳＤＫ（Software Development Kit）を利用して開発されたアプリケーションであるＳＤＫアプリケーションを利用できる。
【００３４】
サービス提供システム２０は、ＷｅｂＡＰＩ２１と、サーバアプリ２２と、ポータルアプリ２３と、サービス情報部２４と、外部ストレージデータ取得部２５と、認証部２６と、プロキシ部２７と、外部ストレージ共通フレームワーク２８とを有する。これらは、サービス提供システム２０にインストールされる一以上のプログラムによって構成され、例えばＣＰＵ１０６等により実現される。
【００３５】
また、サービス提供システム２０は、サービス情報記憶部５１と、ユーザ情報記憶部５２と、プロファイル情報記憶部５３と、プロキシ変換情報記憶部５４とを利用する。これら各記憶部は、ＨＤＤ１０８、又はサービス提供システム２０とネットワークを介して接続される記憶装置等を用いて実現可能である。
【００３６】
ＷｅｂＡＰＩ２１は、画像形成装置１０やＰＣ端末３０がサービス提供システム２０を利用するためのインタフェースである。ＷｅｂＡＰＩ２１は、画像形成装置１０やＰＣ端末３０からの各種要求をサーバアプリ２２やポータルアプリ２３等が受け付けるために設けられた予め定義されたインタフェースであり、例えば、関数やクラス等により構成される。
【００３７】
サーバアプリ２２は、クライアントアプリ１１と連携してサービス提供システム２０が提供するクラウドプリントサービスを実現するアプリケーションプログラムである。サーバアプリ２２は、外部ストレージ連携部２２１を有しており、クライアントアプリ１１から外部ストレージシステム４０のフォルダ・ファイル一覧情報の取得要求を受け付ける。外部ストレージ連携部２２１は、プロキシ部２７を介して、ストレージサービスのフォルダ・ファイル一覧情報取得のＡＰＩ（Application Programming Interface）の呼び出し要求を外部ストレージ共通フレームワーク２８に対して行う。なお、サーバアプリ２２は、ＳＤＫを利用して開発されたアプリケーションであるＳＤＫアプリケーションを利用できる。
【００３８】
ポータルアプリ２３は、ＰＣ端末３０に対して、画像形成装置１０の利用者のプロファイル情報の設定や外部ストレージシステム４０における認証情報の設定等を提供する。ここで、プロファイル情報とは、画像形成装置１０のユーザ毎の設定情報であり、外部ストレージシステム４０から電子データを取得するための基点となるフォルダのパス等が含まれる。ポータルアプリ２３は、ＵＩ生成部２３１を有しており、ＰＣ端末３０からの要求を受け付けると、ＵＩ生成部２３１は、受け付けた要求に応じたＵＩ（ユーザインタフェース）画面の生成を行う。
【００３９】
サービス情報部２４は、利用できるストレージサービスの管理を行う。また、サービス情報部２４は、他の各部からの要求に応じて、サービス情報記憶部５１から利用できるストレージサービスに関する情報（以降、「サービス情報」という）を取得する。
【００４０】
外部ストレージデータ取得部２５は、サーバアプリ２２からの所定の要求に応じて、外部ストレージシステム４０に保存されている電子データを取得するための処理を行う。外部ストレージデータ取得部２５は、外部ストレージ連携部２５１を有しており、サーバアプリ２２から画像形成装置１０の印刷対象となる電子データの取得要求を受け付ける。また、外部ストレージ連携部２５１は、プロキシ部２７を介して、データのダウンロードＡＰＩの呼び出し要求を外部ストレージ共通フレームワーク２８に対して行う。
【００４１】
認証部２６は、ユーザ毎の認証情報（以降、「ユーザ情報」という）の管理を行う。また、認証部２６は、他の各部からの要求に応じて、ユーザ情報記憶部５２からユーザ情報を取得する。認証部２６は、外部ストレージ共通認証部２６１を有し、外部ストレージ共通認証部２６１は、プロキシ部２７を介して、外部ストレージシステム４０へのログインＡＰＩの呼び出し要求を外部ストレージ共通フレームワーク２８に対して行う。
【００４２】
外部ストレージ共通フレームワーク２８は、外部ストレージ連携ＡＰＩ６１と、ストレージサービス連携アプリ６２とを有する。また、外部ストレージ共通フレームワーク２８は、外部ストレージサービスの設定情報記憶部６３を利用する。
【００４３】
外部ストレージ連携ＡＰＩ６１は、ストレージサービス連携アプリ６２を利用するための共通のインタフェースである。外部ストレージ連携ＡＰＩ６１は、サービス提供システム２０の各部からのＡＰＩの呼び出し要求をストレージサービス連携アプリ６２が受け付けるために設けられた予め定義されたインタフェースであり、例えば、関数やクラス等により構成される。
【００４４】
ストレージサービス連携アプリ６２は、外部ストレージシステム４０に対して、ログイン、フォルダ・ファイル一覧情報の取得、データのダウンロード等の各種処理を行うことができるプログラムである。ストレージサービス連携アプリ６２は、利用できるストレージサービス毎に存在する。例えば、ストレージサービスＡを利用するためのストレージサービスＡ用連携アプリ６２１、ストレージサービスＢを利用するためのストレージサービスＢ用連携アプリ６２２、・・・が存在する。なお、各ストレージサービス連携アプリ６２には、「アプリＩＤ」と「バージョン」とが対応付けられており、これらの情報は、ストレージサービスの名称とともに、サービス情報記憶部５１においてサービス情報として管理される。
【００４５】
また、ストレージサービス連携アプリ６２は、それぞれ対応する設定情報記憶部６３を利用する。設定情報記憶部６３には、対応するストレージサービスの設定情報が記憶されている。設定情報は、ＵＩ生成部２３１がＵＩ（ユーザインタフェース）を生成するために必要な情報が指定されている。
【００４６】
プロキシ部２７は、他の各部から外部ストレージシステム４０に対する各種要求を受け付けると、プロキシ変換情報記憶部５４のプロキシ変換情報テーブルを参照し、対応するホスト情報（アドレス情報）に要求を転送する。例えば、プロキシ部２７は、外部ストレージシステム４０１（ストレージサービスＡ）に対する要求を受け取った場合、プロキシ変換情報テーブルを参照し、ストレージサービスＡ用連携アプリ６２１が動作するホスト（情報処理装置）に、この要求を転送する。
【００４７】
より具体的に説明すると、ストレージサービスＡ用連携アプリ６２１（アプリＩＤ「ａｐｐＡ」）がホスト情報「ａａａ．ｘｘｘ．ｃｏ．ｊｐ」の装置に搭載されており、ストレージサービスＢ用連携アプリ６２２（アプリＩＤ「ａｐｐＢ」）がホスト情報「ｂｂｂ．ｘｘｘ．ｃｏ．ｊｐ」の装置に搭載されているとする。このとき、プロキシ部２７は、プロキシ変換情報テーブルを参照し、受け取った要求に含まれるアプリＩＤが「ａｐｐＡ」である場合、この要求を「ａａａ．ｘｘｘ．ｃｏ．ｊｐ」に転送し、他方、受け取った要求に含まれるアプリＩＤが「ａｐｐＢ」である場合、この要求を「ｂｂｂ．ｘｘｘ．ｃｏ．ｊｐ」に転送する。換言すれば、プロキシ部２７は、所望のストレージサービス連携アプリ６２が搭載されている（動作している）ホスト情報の装置に対して、受け取った要求を転送する。
【００４８】
なお、異なるホスト情報が同一の装置で実現されてもよいし、複数台の装置で実現されていてもよい。他方、例えば外部ストレージ共通フレームワーク２８が一台の情報処理装置で実現されており、かつ、一つのホスト情報のみを有する場合等は、サービス提供システム２０は、プロキシ部２７を有していなくてもよい。
【００４９】
また、サービス情報記憶部５１は、サービス情報を記憶する。ユーザ情報記憶部５２は、ユーザ情報を記憶する。プロファイル情報記憶部５３は、プロファイル情報を記憶する。プロキシ変換情報記憶部５４は、プロキシ変換情報を記憶する。外部ストレージサービスの設定情報記憶部６３は、設定情報を記憶する。
【００５０】
なお、上述したように、サービス提供システム２０の各処理ブロックは、複数台の情報処理装置により構成されていてもよい。例えば、プロキシ部２７とプロキシ変換情報記憶部５４とを一台の情報処理装置で構成し、外部ストレージ共通フレームワーク２８を複数台の情報処理装置で構成して運用してもよい。
【００５１】
以上のように本実施形態に係るサービス提供システム２０は、各ストレージサービスを利用するための外部ストレージ共通フレームワーク２８を有する。また、外部ストレージ共通フレームワーク２８は、各ストレージサービス連携アプリ６２を利用するための共通に定義されたＡＰＩである外部ストレージ連携ＡＰＩ６１を有する。したがって、利用できるストレージサービスを追加・変更等する場合、外部ストレージ連携ＡＰＩ６１を利用することにより、システム全体に影響を与えることなくストレージサービス連携アプリ６２を追加・変更等を行うことができる。換言すれば、ストレージサービスの追加・変更等に伴うサービス提供システム２０への影響を、外部ストレージ共通フレームワーク２８の中だけに限定させることができる。なお、外部ストレージ連携ＡＰＩ６１は、例えばサードベンダー等に公開してもよい。
【００５２】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。
【００５３】
≪認証情報設定処理≫
まず、ユーザがＰＣ端末３０を操作して、ストレージサービスの認証情報をサービス提供システム２０に設定する処理について図５を用いて説明する。本実施形態に係るサービス提供システム２０が提供するクラウドプリントサービスを利用するユーザは、予めストレージサービスの認証情報を設定しておく必要がある。図５は、本実施形態に係る認証情報設定処理の一例のシーケンス図である。
【００５４】
ステップＳ５０１において、ユーザがＰＣ端末３０を操作してユーザ情報編集画面へ遷移させる。すなわち、例えば、ＰＣ端末３０にインストールされたＷｅｂブラウザ等を用いて、ＷｅｂＡＰＩ２１を介して、サービス提供システム２０のポータルアプリ２３が提供するポータルサイトにログインする。そして、ポータルサイトで所定のボタンを押下することでユーザ情報編集画面に遷移させる。なお、ユーザがポータルサイトにログインする際には、ユーザＩＤ、パスワード等を入力する。ここで、後述する外部ストレージシステム４０にログインするためのユーザＩＤ及びパスワードと区別するため、サービス提供システム２０や画像形成装置１０にログインするためのユーザＩＤ及びパスワードを、以降では便宜的に、利用者ＩＤ及び利用者パスワードと呼ぶ。
【００５５】
ステップＳ５０２において、ポータルアプリ２３は、サービス情報部２４に対してサービス情報の取得を要求する。サービス情報部２４は、ポータルアプリ２３からサービス情報の取得要求を受け付けると、サービス情報記憶部５１に記憶されている図６に示すようなサービス情報テーブルを取得し、ポータルアプリ２３に送信する。
【００５６】
図６は、サービス情報テーブルの一例の構成図である。サービス情報テーブルは、ストレージサービスを利用するためのストレージサービス連携アプリ６２の情報を管理している。サービス情報テーブルは、「アプリＩＤ」、「ストレージサービス名」及び「バージョン」等のデータ項目を有する。「アプリＩＤ」は、利用可能な外部ストレージシステム４０に対して各種処理を要求するためのストレージサービス連携アプリ６２の識別情報である。「ストレージサービス名」は、外部ストレージシステム４０が提供するサービスの名称である。「バージョン」は、ストレージサービス連携アプリ６２のバージョン情報である。
【００５７】
例えば、図６に示すサービス情報テーブルの１レコード目には、ストレージサービスＡ用連携アプリ６２１のアプリＩＤ「ａｐｐ００１」、外部ストレージシステム４０１が提供するサービス名「ストレージサービスＡ」、ストレージサービスＡ用連携アプリ６２１のバージョン情報「ｖ１」が記憶されている。
【００５８】
なお、図６に示されるサービス情報テーブルでは、同一のアプリＩＤであっても異なるバージョンのストレージサービス連携アプリ６２は別々に管理しているが、バージョンに関わらず同一のアプリＩＤを１レコードで管理してもよい。
【００５９】
次に、ステップＳ５０３及びステップＳ５０４の処理を、ステップＳ５０２で取得したサービス情報テーブルに含まれるレコード数の回数繰り返し行う。
【００６０】
ステップＳ５０３において、ポータルアプリ２３は、ステップＳ５０２で取得したサービス情報テーブルからレコードを１件取得し、このレコードのアプリＩＤ及びバージョンを含む設定情報取得ＡＰＩの呼び出し要求をプロキシ部２７に送信する。
【００６１】
ステップＳ５０４において、プロキシ部２７は、アプリＩＤ及びバージョンを含む設定情報取得ＡＰＩの呼び出し要求を受け取ると、図７に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対して設定情報取得ＡＰＩの呼び出し要求を転送する。
【００６２】
図７は、プロキシ変換情報テーブルの一例の構成図である。プロキシ変換情報テーブルは、アプリＩＤに対応した転送先のホスト名を管理している。プロキシ変換情報テーブルは、「アプリＩＤ」、「転送先ホスト情報」等のデータ項目を有する。「アプリＩＤ」は、上述したようにストレージサービス連携アプリ６２の識別情報である。「転送先ホスト名」は、プロキシ部２７が受け付けた各種要求を転送する転送先のホスト名である。
【００６３】
例えば、プロキシ部２７が受け取った設定情報取得ＡＰＩの呼び出し要求に含まれるアプリＩＤ及びバージョンがそれぞれ「ａｐｐ００１」及び「ｖ２」である場合、プロキシ部２７は、図７に示すプロキシ変換情報テーブルを参照し、この設定情報取得ＡＰＩの呼び出し要求を「ａａａ．ｘｘｘ．ｃｏ．ｊｐ」に転送する。一方、プロキシ部２７が受け取った要求に含まれるアプリＩＤ及びバージョンがそれぞれ「ａｐｐ００２」及び「ｖ１」である場合、プロキシ部２７は、この要求を「ｂｂｂ．ｘｘｘ．ｃｏ．ｊｐ」に転送する。このように、プロキシ部２７は、受け取った要求に含まれるアプリＩＤに応じて、この要求を転送先ホスト情報に指定されたホストに転送する。なお、転送先ホスト情報に代えて、転送先を示すＩＰアドレス等を用いてもよい。これら転送先ホスト情報、ＩＰアドレス等は、アドレス情報の一例である。
【００６４】
そして、プロキシ部２７が転送した設定情報取得ＡＰＩの呼び出し要求より、外部ストレージ連携ＡＰＩ６１の設定情報取得ＡＰＩが呼び出され、該当のストレージサービス連携アプリ６２は設定情報の取得を行う。より具体的には、外部ストレージ連携ＡＰＩ６１は、設定情報取得ＡＰＩの呼び出し要求を受け取ると、設定情報取得ＡＰＩを呼び出し、この呼び出し要求に含まれるアプリＩＤ及びバージョンに対応するストレージサービス連携アプリ６２に設定情報の取得を依頼する。続いて、ストレージサービス連携アプリ６２は、設定情報記憶部６３から設定情報を取得し、プロキシ部２７を介して、設定情報をポータルアプリ２３に送信する。
【００６５】
なお、サービス提供システム２０がプロキシ部２７を有さない構成である場合、上記のステップＳ５０３において、ポータルアプリ２３は、外部ストレージ連携ＡＰＩ６１に対して直接、設定情報取得ＡＰＩの呼び出し要求を行う。
【００６６】
ここで、外部ストレージ連携ＡＰＩ６１について、図８を用いて説明する。図８は、外部ストレージ連携ＡＰＩの一例を説明するための図である。外部ストレージ連携ＡＰＩ６１は、外部ストレージシステム４０に対して各種処理要求を行うためのＡＰＩを定義している。図８において、外部ストレージシステム４０の設定情報を取得するためのＡＰＩは、エンドポイント「／アプリＩＤ／バージョン／ｉｎｆｏ」で定義されている。したがって、外部ストレージシステム４０１（ストレージサービスＡ）の設定情報を取得するためには、例えばアプリＩＤ「ａｐｐ００１」、バージョン「ｖ２」を指定した設定情報取得ＡＰＩの呼び出し要求を外部ストレージ連携ＡＰＩ６１に送信すればよい。これにより、ストレージサービスＡ用連携アプリ６２１によりストレージサービスＡの設定情報記憶部６３１から設定情報が取得される。このように、外部ストレージ連携ＡＰＩ６１は、エンドポイントのうち「アプリＩＤ」及び「バージョン」が可変部分として定義されている。したがって、外部ストレージ連携ＡＰＩ６１は、「アプリＩＤ」及び「バージョン」が指定されることにより、この「アプリＩＤ」及び「バージョン」に対応するストレージサービス連携アプリ６２に処理を依頼する。これにより、サービス提供システム２０に対してストレージサービス連携アプリ６２を追加・変更等する場合においても、外部ストレージ連携ＡＰＩ６１の修正等を行う必要がない。
【００６７】
なお、図８で一例とした示したもの以外にも各種ＡＰＩが定義されていてもよい。例えば、外部ストレージシステム４０の死活を確認するためのＡＰＩや外部ストレージシステム４０に保存されている電子データ（ファイル）を削除するためのＡＰＩ等が定義されていてもよい。
【００６８】
ここで、設定情報記憶部６３に記憶されている設定情報は、例えば図９に示すような情報である。図９は、設定情報の一例を示す図である。図９では、一例として、設定情報記憶部６３１に記憶されているストレージサービスＡの設定情報１０００を示している。後述するステップＳ５０５の画面生成処理において、この設定情報１０００に基づき、ストレージサービスＡの認証情報を設定するためのＵＩ画面（認証情報設定画面）が生成される。図９の各情報１１００〜１２００は、ＵＩ画面を生成するための情報である。
【００６９】
次に、ステップＳ５０５において、上記のステップＳ５０３及びステップＳ５０４の処理において取得した各ストレージサービスの設定情報に基づいて、ポータルアプリ２３は、認証情報を設定するためのＵＩ画面（認証情報設定画面）を生成する。
【００７０】
ここで、図９に示す設定情報１０００に基づき、例えば図１０に示すようなＵＩ画面が生成される。図１０は、認証情報設定画面の一例のイメージ図である。例えば、図９の情報１１００からタイトル部２００１が生成される。また、図９の情報１２００からユーザＩＤ入力部２００２が、図９の情報１３００からパスワード入力部２００３が生成される。このように、ポータルアプリ２３のＵＩ生成部２３１は、取得した設定情報からストレージサービスの認証情報を設定するための画面を生成する。図９及び図１０では、認証情報としてユーザＩＤとパスワードとが設定される場合を一例として示したが、これに限られず、例えば、ユーザＩＤとパスワードに加えて、企業名等を認証情報として設定することができてもよい。ここで、どのような項目を認証情報として設定することができるかは、ストレージサービス毎に予め決定されている。なお、図９に示す設定情報１０００は、ＪＳＯＮ（JavaScript Object Notation）で記述されているが、これに限られず、例えばＸＭＬ（Extensible Markup Language）等で記述されていてもよい。
【００７１】
また、このとき、ポータルアプリ２３のＵＩ生成部２３１は、認証情報の設定を行うことができるストレージサービスの一覧を表示するための画面を生成し、ＰＣ端末３０の表示装置１０２に表示させる。ユーザがこのストレージサービスの一覧から所望のストレージサービスを選択することで、上記のステップＳ５０５において生成した認証情報設定画面に遷移することができる。
【００７２】
ステップＳ５０６において、ユーザはＰＣ端末３０を操作して、ストレージサービス一覧から所望のストレージサービスを選択すると、選択したストレージサービスの認証情報設定画面に遷移する。
【００７３】
ステップＳ５０７において、ユーザはＰＣ端末３０を操作して、認証情報設定画面から認証情報（例えば、ユーザＩＤとパスワード）を入力して認証情報を設定する。例えば、ユーザがストレージサービスＡの認証情報を設定する場合、図１０に示す認証情報設定画面２０００においてユーザＩＤとパスワードを入力し、設定ボタン２００４を押下する。すると、ＰＣ端末３０は、ユーザＩＤとパスワードとを含む認証情報の保存要求をポータルアプリ２３に送信する。なお、ここで入力するユーザＩＤ及びパスワードは、ユーザが所望のストレージサービスにログインするためのユーザＩＤ及びパスワードである。したがって、ユーザは、予め利用するストレージサービスのユーザＩＤ及びパスワードを入手しておく必要がある。
【００７４】
ステップＳ５０８において、ポータルアプリ２３は、ＰＣ端末３０から受け取った認証情報の保存要求を認証部２６に送信する。そして、認証部２６は、認証情報の保存要求に含まれる認証情報（ストレージサービスのユーザＩＤ及びパスワード等）を、利用者ＩＤ及びアプリＩＤに関連付けてユーザ情報記憶部５２の例えば図１１に示すようなユーザ情報テーブルに保存する。
【００７５】
図１１は、ユーザ情報テーブルの一例の構成図である。ユーザ情報管理テーブルは、「利用者ＩＤ」、「アプリＩＤ」、「認証情報」等のデータ項目を有する。「利用者ＩＤ」は、サービス提供システム２０及び画像形成装置１０を利用するための利用者ＩＤである。「認証情報」は、アプリＩＤに対応するストレージサービスに対する認証情報である。「認証情報」は、複数のデータ項目を有している。例えば「Ｋｅｙ１」はストレージサービスの認証に用いるユーザＩＤ、「Ｋｅｙ２」は認証に用いるパスワード、「Ｋｅｙ３」は認証に用いる企業名等である。例えば、図１４の示すユーザ情報テーブルの１レコード目は、上記のステップＳ５０７において、利用者ＩＤ「Ｔｏｎｙ」のユーザが、ストレージサービスＡのユーザＩＤを「ｕｓｅｒ００１」、パスワードを「ｐａｓｓ００１」と設定した場合に保存されるレコードである。
【００７６】
なお、ユーザ情報テーブルの「認証情報」には、ストレージサービスのユーザＩＤ及びパスワード等に代えて、ＯＡｕｔｈに規定される認証認可トークンの情報等を保存してもよい。これにより、ユーザは、サービス提供システム２０にストレージサービスのユーザＩＤ及びパスワード等を保存することなく、クラウドプリントサービスを利用することができる。
【００７７】
以上により、本実施形態に係るサービス提供システム２０では、ユーザは、ＰＣ端末３０から所望のストレージサービスの認証情報を設定することができる。また、認証情報設定画面を生成するための設定情報は、外部ストレージ共通フレームワーク２８を用いて取得することができる。したがって、サービス提供システム２０に利用できるストレージサービスを追加する場合やストレージサービスの設定情報を変更する場合等に、外部ストレージ共通フレームワーク２８内だけに追加・変更に伴う影響を限定させることができる。
【００７８】
≪プロファイル情報作成処理≫
次に、ユーザのＰＣ端末３０を操作して、プロファイル情報を作成する処理について図１２を用いて説明する。ユーザは、プロファイル情報を作成することで、画像形成装置１０からサービス提供システム２０が提供するクラウドプリントサービスを利用することができるようになる。このため、本実施形態に係るサービス提供システム２０が提供するクラウドプリントサービスを利用するユーザは、予めプロファイル情報を作成しておく必要がある。図１２は、本実施形態に係るプロファイル情報作成処理の一例のシーケンス図である。
【００７９】
ステップＳ１２０１において、ユーザがＰＣ端末３０を操作してプロファイルの作成画面へ遷移させる。すなわち、例えば、ＰＣ端末３０にインストールされたＷｅｂブラウザ等を用いて、ＷｅｂＡＰＩ２１を介して、サービス提供システム２０のポータルアプリ２３が提供するポータルサイトにログインする。そして、ポータルサイトで所定のボタンを押下することでプロファイルの作成画面へ遷移させる。
【００８０】
ここで、ＰＣ端末３０のＷｅｂブラウザにより例えば図１３（ａ）に示すようなプロファイル作成画面３０００が表示されたものとして以降、説明する。まず、ユーザは、図１３（ａ）のプロファイル作成画面３０００において、利用者ＩＤ入力欄３００１に利用者ＩＤを入力するとともに、接続先選択欄３００２のプルダウンリストから所望のストレージサービスを選択する。そして、ユーザが参照ボタン３００３を押下すると、ＰＣ端末３０は、フォルダ・ファイルの一覧情報の取得要求をポータルアプリ２３に送信する。なお、ＰＣ端末３０が送信するフォルダ・ファイルの一覧情報の取得要求には、上記のプロファイル作成画面３０００で入力された利用者ＩＤと、選択されたストレージサービスに対応するストレージサービス連携アプリ６２のアプリＩＤとが含まれる。
【００８１】
ステップＳ１２０２において、ポータルアプリ２３は、フォルダ・ファイルの一覧情報の取得要求をサーバアプリ２２に送信する。
【００８２】
ステップＳ１２０３において、サーバアプリ２２は、フォルダ・ファイルの一覧情報を取得するため、ステップＳ１２０１で選択されたストレージサービスに対するログイン要求を認証部２６に送信する。
【００８３】
ステップＳ１２０４において、認証部２６の外部ストレージ共通認証部２６１は、ログイン要求に含まれる利用者ＩＤとアプリＩＤとに基づいてユーザ情報記憶部５２のユーザ情報テーブルから認証情報（ユーザＩＤ及びパスワード等）を取得する。そして、認証部２６は、アプリＩＤと、バージョンと、取得した認証情報とを含むログインＡＰＩの呼び出し要求をプロキシ部２７に対して送信する。このように、プロキシ部２７（又は外部ストレージ共通フレームワーク２８）との通信は外部ストレージ共通認証部２６１が行う。換言すれば、認証部２６が外部ストレージ連携ＡＰＩ６１を利用するためには、外部ストレージ共通認証部２６１を介して行う。
【００８４】
ここで、取得する認証情報は、例えば、利用者ＩＤが「Ｔｏｎｙ」、アプリＩＤが「ａｐｐ００１」である場合、認証部２６は、図１１に示すユーザ情報管理テーブルから認証情報としてＫｅｙ１「ｕｓｅｒ００１」及びＫｅｙ２「ｐａｓｓ００１」を取得する。ここで取得したＫｅｙ１及びＫｅｙ２が、外部ストレージシステム４０１が提供するストレージサービスＡにログインするためのユーザＩＤ及びパスワードである。
【００８５】
ステップＳ１２０５において、プロキシ部２７は、アプリＩＤ及びバージョンを含むログインＡＰＩの呼び出し要求を受け取ると、図７に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してログインＡＰＩの呼び出し要求を転送する。そして、プロキシ部２７が転送したログインＡＰＩの呼び出し要求により、外部ストレージ連携ＡＰＩ６１のログインＡＰＩが呼び出される。より具体的には、外部ストレージ連携ＡＰＩ６１は、アプリＩＤとバージョンと認証情報とを含むログインＡＰＩの呼び出し要求を受け取ると、ログインＡＰＩを呼び出す。そして、外部ストレージ連携ＡＰＩ６１は、この呼び出し要求に含まれるアプリＩＤ及びバージョンに対応するストレージサービス連携アプリ６２に対してログイン要求を依頼する。例えば、ログイン要求に含まれるアプリＩＤが「ａｐｐ０１」、バージョンが「ｖ２」である場合、外部ストレージ連携ＡＰＩ６１は、ストレージサービスＡ用連携アプリ６２１に対してログイン要求を依頼する。
【００８６】
ステップＳ１２０６において、ストレージサービス連携アプリ６２は、外部ストレージシステム４０に対してログイン要求を行う。そして、外部ストレージシステム４０は、受け取ったログイン要求に含まれる認証情報に基づき、認証を行い、ストレージサービス連携アプリ６２を介して認証結果を示す情報をサーバアプリ２２に送信する。このとき、認証結果を示す情報には、例えば、ＰＣ端末３０と外部ストレージシステム４０とのセッションを管理するためのトークン（例えばＣｏｏｋｉｅ）を含めてもよい。なお、以降では、外部ストレージシステム４０に対するログインが成功したものとして説明を続ける。
【００８７】
ステップＳ１２０７において、サーバアプリ２２の外部ストレージ連携部２２１は、アプリＩＤ及びバージョンを含むフォルダ・ファイルの一覧情報取得ＡＰＩの呼び出し要求をプロキシ部２７に対して送信する。このように、プロキシ部２７（又は外部ストレージ共通フレームワーク２８）との通信は外部ストレージ連携部２２１が行う。換言すれば、サーバアプリ２２が外部ストレージ連携ＡＰＩ６１を利用するためには、外部ストレージ連携部２２１を介して行う。これにより、例えば、サードベンダがＳＤＫによりサーバアプリ２２を開発する場合等において、外部ストレージ連携部２２１として機能するモジュール等を用いることにより容易に外部ストレージ連携ＡＰＩ６１を利用することができる。なお、ポータルアプリ２３についても外部ストレージ連携部を有していてもよい。
【００８８】
ステップＳ１２０８において、プロキシ部２７は、当該呼び出し要求を受け取ると、図７に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してフォルダ・ファイルの一覧情報取得ＡＰＩの呼び出し要求を転送する。そして、プロキシ部２７が転送したフォルダ・ファイルの一覧情報取得ＡＰＩの呼び出し要求により、外部ストレージ連携ＡＰＩ６１のフォルダ・ファイルの一覧情報取得ＡＰＩが呼び出される。より具体的には、外部ストレージ連携ＡＰＩ６１は、アプリＩＤとバージョンとを含むフォルダ・ファイルの一覧情報取得ＡＰＩの呼び出し要求を受け取ると、フォルダ・ファイルの一覧情報取得ＡＰＩを呼び出す。そして、外部ストレージ連携ＡＰＩ６１は、この呼び出し要求に含まれるアプリＩＤ及びバージョンに対応するストレージサービス連携アプリ６２に対してフォルダ・ファイルの一覧情報取得要求を依頼する。例えば、当該呼び出し要求に含まれるアプリＩＤが「ａｐｐ０１」、バージョンが「ｖ２」である場合、外部ストレージ連携ＡＰＩ６１は、ストレージサービスＡ用連携アプリ６２１に対してフォルダ・ファイルの一覧情報取得を依頼する。
【００８９】
ステップＳ１２０９において、ストレージサービス連携アプリ６２は、外部ストレージシステム４０に対してフォルダ・ファイルの一覧情報の取得要求を行う。そして、外部ストレージシステム４０は、フォルダ・ファイルの一覧情報をストレージサービス連携アプリ６２を介してＰＣ端末３０に送信する。なお、ここで取得されるフォルダ・ファイルの一覧情報は、ステップＳ１２０６でログインしたユーザの外部ストレージシステム４０におけるフォルダ・ファイルの一覧情報である。換言すれば、ステップＳ１２０１でユーザが選択したストレージサービスのフォルダ・ファイルの一覧情報である。ここで、フォルダ・ファイルの一覧情報とは、例えば、ユーザが選択したストレージサービスにおけるフォルダＩＤ又はファイルＩＤと親フォルダＩＤとの組である。
【００９０】
なお、プロファイル情報は、上述したように、外部ストレージシステム４０から電子データを取得するための基点となるフォルダのパスを設定した情報である。したがって、ストレージサービス連携アプリ６２は、外部ストレージシステム４０からフォルダの一覧情報のみを取得するようにしてもよい。
【００９１】
これにより、ＰＣ端末３０には、例えば図１３（ｂ）に示すように、所望のストレージサービスにおける基点となるフォルダを選択するためのフォルダ選択画面３１００が表示される。
【００９２】
ステップＳ１２１０において、ユーザは、選択したストレージサービスにおいて基点となるフォルダを選択する。すなわち、ユーザは、図１３（ｂ）に示すフォルダ選択画面３１００において、所望のフォルダを選択して、ＯＫボタン３１０１を押下する。すると、例えば図１３（ｃ）に示すようにフォルダパス設定欄３２０１にユーザが選択したフォルダのフォルダパス（ここでは、ストレージサービスＡにおけるフォルダパス「／ＳｔｒａｇｅＡ／日報」）が設定される。ここで設定されたフォルダパスが、ユーザが選択したストレージサービスにおける基点となるフォルダのパスである。そして、ユーザがＯＫボタン３００２を押下すると、ＰＣ端末３０は、例えば図１３（ｄ）に示すような確認画面３３００に画面を遷移させる。
【００９３】
ステップＳ１２１１において、ユーザにより例えば図１３（ｄ）に示す確認画面３３００においてＯＫボタン３３０１を押下されると、ＰＣ端末３０は、ユーザにより設定された情報を含むプロファイルの作成要求をポータルアプリ２３に送信する。
【００９４】
ステップＳ１２１２において、ポータルアプリ２３は、プロファイルの作成要求を受け取ると、プロファイルの作成要求をサーバアプリ２２に転送する。
【００９５】
ステップＳ１２１３は、サーバアプリ２２は、受け取ったプロファイル作成要求に含まれる情報に基づきプロファイル情報を作成し、プロファイル情報記憶部５３の図１４に示すようなプロファイル情報テーブルに保存する。
【００９６】
図１４は、プロファイル情報テーブルの一例の構成図である。図１４に示されるプロファイル情報テーブルは、「利用者ＩＤ」、「プロジェクト名」、「アプリＩＤ」、「フォルダパス」等のデータ項目を有する。「プロジェクト名」は、画像形成装置１０を用いてクラウドプリントサービスを利用する際に、画像形成装置１０の操作パネル２０２上に表示されるアイコン名である。後述するように、ユーザは、画像形成装置１０の操作パネル２０２上に表示されるプロジェクト名に対応するアイコンを選択することでクラウドプリントサービスを利用することができる。本実施形態では、プロジェクト名は、フォルダパスに設定されたフォルダ名と一致するように作成されるが、これに限られず、任意の名称を設定してもよい。「フォルダパス」は、アプリＩＤに対応するストレージサービスにおける、利用者ＩＤに対応するユーザの基点となるフォルダのパスである。ここで、基点となるフォルダとは、ユーザが画像形成装置１０の操作パネル２０２上に表示された上記のアイコンを選択した場合に、最初に表示されるフォルダである。
【００９７】
以上により、本実施形態に係るサービス提供システム２０では、ユーザは、ＰＣ端末３０からクラウドプリントサービスを利用するためのプロファイル情報を作成することができる。このとき、プロファイル情報に含まれる基点となるフォルダのパスは、外部ストレージ共通フレームワーク２８を用いて取得することができる。したがって、サービス提供システム２０で利用できるストレージサービスを追加・変更する場合等においても、外部ストレージ共通フレームワーク２８内だけに追加・変更に伴う影響を限定させることができる。
【００９８】
≪印刷処理≫
次に、ユーザがサービス提供システム２０を介して所望のストレージサービスから印刷を所望する電子データを選択し、選択された電子データを画像形成装置１０で印刷する処理について図１５及び図１８を用いて説明する。まず、図１５を用いてストレージサービスからユーザが印刷を所望する電子データを選択するための画面を表示させる処理について説明する。図１５は、本実施形態に係るフォルダ・ファイル一覧の表示処理の一例のシーケンス図である。
【００９９】
ステップＳ１５０１において、ユーザは、画像形成装置１０に例えば利用者ＩＤ及びパスワード等を入力してログインする。以降では、利用者ＩＤ「Ｔｏｎｙ」がログインしたものとして説明する。なお、ユーザは、例えば利用者ＩＤ等が記録されたＩＣカード等を画像形成装置１０の所定の位置にかざすことにより、画像形成装置１０にログインしてもよい。
【０１００】
ステップＳ１５０２において、画像形成装置１０のクライアントアプリ１１は、サーバアプリ２２に対して、ログインしたユーザの利用者ＩＤを含むプロファイル情報の取得要求を送信する。すると、サーバアプリ２２は、受け取ったプロファイル情報の取得要求に含まれる利用者ＩＤ（ここでは「Ｔｏｎｙ」）のプロファイル情報を、プロファイル情報記憶部５３のプロファイル情報テーブルから取得し、画像形成装置１０に送信する。
【０１０１】
ステップＳ１５０３において、画像形成装置１０のクライアントアプリ１１は、サーバアプリ２２から受け取ったプロファイル情報を、例えばＨＤＤ２１５等にキャッシュとして保存する。これにより、例えば、ユーザが画像形成装置１０にログインしたときにキャッシュとして保存した当該ユーザのプロファイル情報のバージョン等を確認して、必要な場合に限りサーバアプリ２２からプロファイル情報を取得すればよい。
【０１０２】
また、画像形成装置１０のクライアントアプリ１１は、受け取ったプロファイル情報に基づき、例えば図１６（ａ）に示すようなプロジェクト選択画面４０００を操作パネル２０２に表示させる。図１６（ａ）に示すプロジェクト選択画面４０００では、プロファイル情報に含まれるプロジェクト名を表すアイコン４００１及び４００２が表示される。アイコン４００１及びアイコン４００２は、利用者ＩＤ「Ｔｏｎｙ」のプロファイル情報のプロジェクト名「資料」及び「日報」にそれぞれ対応するものである。後述するように、ユーザは所望のアイコンを選択することで、このアイコンに対応するストレージサービスから印刷対象となる電子データを選択することができる。
【０１０３】
なお、図１６（ａ）に示すプロジェクト選択画面４０００には、例えばユーザ環境Ｅ１に設置されている印刷サーバ等に保存されている電子データ（印刷データ）を選択するためのアイコン４００３が表示されていてもよい。
【０１０４】
ステップＳ１５０４において、ユーザは、画像形成装置１０の操作パネル２０２上に表示されているアイコンを選択する。このように、ユーザがプロジェクト名を表すアイコンを選択することを、「プロジェクトを選択する」と称する。以降では、ユーザによりアイコン４００２が選択、すなわち、「日報」プロジェクトが選択されたものとして説明する。
【０１０５】
ステップＳ１５０５において、画像形成装置１０のクライアントアプリ１１は、ユーザによりプロジェクトが選択されると、フォルダ・ファイルの一覧情報の取得要求をサーバアプリ２２に送信する。ここで、当該取得要求には、選択されたプロジェクトに対応するフォルダパス（すなわち、プロファイル情報において選択したプロジェクト名に対応するフォルダパス）が含まれる。したがって、当該取得要求は、当該フォルダパスのフォルダ以下の階層に存在するフォルダ及びファイルの情報を取得するための要求である。
【０１０６】
ステップＳ１５０６において、サーバアプリ２２は、フォルダ・ファイルの一覧情報を取得するため、選択されたプロジェクトに対応するストレージサービスに対するログイン要求を認証部２６に送信する。ここでは、「日報」プロジェクトに対応するストレージサービスＡ（外部ストレージシステム４０１）に対するログイン要求が送信される。なお、ログイン要求には、画像形成装置１０にログインしたユーザの利用者ＩＤ（ここでは「Ｔｏｎｙ」）と、選択されたプロジェクトに対応するアプリＩＤ（ここでは、「ａｐｐ００１」）とが含まれる。
【０１０７】
ステップＳ１５０７において、認証部２６の外部ストレージ共通認証部２６１は、ログイン要求に含まれる利用者ＩＤとアプリＩＤとに基づいてユーザ情報記憶部５２のユーザ情報テーブルから認証情報を取得する。そして、外部ストレージ共通認証部２６１は、アプリＩＤと、バージョンと、取得した認証情報とを含むログインＡＰＩの呼び出し要求をプロキシ部２７に送信する。
【０１０８】
ステップＳ１５０８において、プロキシ部２７は、アプリＩＤ及びバージョンを含むログインＡＰＩの呼び出し要求を受け取ると、図７に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してログインＡＰＩの呼び出し要求を転送する。そして、プロキシ部２７が転送したログインＡＰＩの呼び出し要求により、外部ストレージ連携ＡＰＩ６１のログインＡＰＩが呼び出される。
【０１０９】
ステップＳ１５０９において、ストレージサービス連携アプリ６２（ここでは、ストレージサービスＡ用連携アプリ６２１）は、外部ストレージシステム４０（ここでは、外部ストレージシステム４０１）に対してログイン要求を行う。そして、外部ストレージシステム４０は、受け取ったログイン要求に含まれる認証情報に基づき、認証を行い、ストレージサービス連携アプリ６２を介して認証結果を示す情報をサーバアプリ２２に送信する。なお、以降では、外部ストレージシステム４０に対するログインが成功したものとして説明を続ける。
【０１１０】
ステップＳ１５１０において、サーバアプリ２２の外部ストレージ連携部２２１は、アプリＩＤ及びバージョンと、選択されたプロジェクトに対応するフォルダパスとを含むフォルダ・ファイルの一覧情報の取得ＡＰＩの呼び出し要求をプロキシ部２７に送信する。
【０１１１】
ステップＳ１５１１において、プロキシ部２７は、当該呼び出し要求を受け取ると、図７に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してフォルダ・ファイルの一覧情報取得ＡＰＩの呼び出し要求を転送する。そして、プロキシ部２７が転送したフォルダ・ファイルの一覧情報取得ＡＰＩの呼び出し要求により、外部ストレージ連携ＡＰＩ６１のフォルダ・ファイルの一覧情報取得ＡＰＩが呼び出される。
【０１１２】
ステップＳ１５１２において、ストレージサービス連携アプリ６２は、外部ストレージシステム４０に対してフォルダ・ファイルの一覧情報の取得要求を行う。そして、外部ストレージシステム４０は、フォルダ・ファイルの一覧情報をストレージサービス連携アプリ６２を介してＰＣ端末３０に送信する。なお、ここで取得されるフォルダ・ファイルの一覧情報は、該当のユーザ（ここでは「ｕｓｅｒ００１」）における、ステップＳ１５０４で選択されたプロジェクトに対応するフォルダパス以下のフォルダ及びファイルの一覧情報である。
【０１１３】
ステップＳ１５１３において、画像形成装置１０のクライアントアプリ１１は、サーバアプリ２２から受け取ったフォルダ・ファイルの一覧情報を、例えばＨＤＤ２１５等にキャッシュとして保存する。これにより、例えば、ユーザによりプロジェクトが選択されたときに、キャッシュとして保存したフォルダ・ファイルの一覧情報の変更有無を確認して、必要な場合に限りフォルダ・ファイルの一覧情報を取得すればよい。
【０１１４】
ステップＳ１５１４において、画像形成装置１０のクライアントアプリ１１は、受け取ったフォルダ・ファイルの一覧情報に基づき、例えば図１６（ｂ）に示すようなフォルダ選択画面４１００を生成して操作パネル２０２に表示させる。このように、ユーザがプロジェクト選択画面４０００で「日報」プロジェクトを選択すると、このプロジェクトに対応するストレージサービスＡのフォルダ選択画面４１００に画面遷移する。なお、上記では図１６に示す画面は、画像形成装置１０のクライアントアプリ１１で生成されるものとして説明したが、当該画面はサーバアプリ２２等で生成してもよい。この場合、画像形成装置１０は、例えば、当該画像形成装置１０にインストールされたＷｅｂブラウザ等を用いて画面表示を行うことができる。
【０１１５】
なお、上記のステップＳ１５０９で外部ストレージシステム４０に対するログインが失敗した場合、画像形成装置１０のクライアントアプリ１１は、例えば図１７に示すような当該外部ストレージシステム４０の認証画面５０００を表示させるようにしてもよい。すなわち、例えば、ステップＳ１５０４で選択されたプロジェクトに対応するストレージサービスの認証情報（ユーザＩＤ及びパスワード等）が有効期限切れ等によりログインが失敗した場合等に認証画面５０００を表示させるようにしてもよい。
【０１１６】
次に、図１８を用いてユーザが印刷を所望する電子データを選択して、画像形成装置１０において印刷を行う処理について説明する。図１８は、本実施形態に係る印刷処理の一例のシーケンス図である。
【０１１７】
ステップＳ１８０１において、ユーザは、画像形成装置１０を操作して印刷を所望する電子データ（印刷対象データ）を選択する。例えば、図１６（ｂ）に示すフォルダ選択画面４１００から印刷を所望する電子データが格納されているフォルダを選択する（ここでは、フォルダ名「７月分」が選択されたものとする）。すると、図１６（ｃ）に示すようなフォルダ名「７月分」に格納されているファイルを選択するためのファイル選択画面４２００が表示される。このファイル選択画面４２００において所望の電子データを選択して（ここでは、ファイル名「２０１４−０７−２３報告書．ｐｄｆ」が選択されたものとする）、印刷ボタン４２０１を押下する。これにより、印刷対象データ（ファイル名「２０１４−０７−２３報告書．ｐｄｆ」）が選択される。
【０１１８】
ステップＳ１８０２において、画像形成装置１０は、ユーザにより印刷対象データが選択されると、選択された印刷対象データのファイルＩＤと、利用者ＩＤとを含む印刷要求をサーバアプリ２２に送信する。
【０１１９】
ステップＳ１８０３において、サーバアプリ２２は、画像形成装置１０から受け取った印刷要求に基づき、ジョブを外部ストレージデータ取得部２５に投入する。ここで、ジョブは、該当のストレージサービスから印刷対象データをダウンロード（及びデータ変換）するためのジョブであり、ファイルＩＤと、利用者ＩＤとが含まれる。
【０１２０】
ステップＳ１８０４において、外部ストレージデータ取得部２５の外部ストレージ連携部２５１は、ジョブが投入されると、該当の外部ストレージシステム４０（ここでは、外部ストレージシステム４０１）に対するログイン要求を認証部２６に送信する。
【０１２１】
ステップＳ１８０５において、認証部２６の外部ストレージ共通認証部２６１は、ログイン要求に含まれる利用者ＩＤとアプリＩＤとに基づいてユーザ情報記憶部５２のユーザ情報テーブルから認証情報を取得する。そして、外部ストレージ共通認証部２６１は、アプリＩＤと、バージョンと、取得した認証情報とを含むログインＡＰＩの呼び出し要求をプロキシ部２７に送信する。
【０１２２】
ステップＳ１８０６において、プロキシ部２７は、アプリＩＤ及びバージョンを含むログインＡＰＩの呼び出し要求を受け取ると、図７に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してログインＡＰＩの呼び出し要求を転送する。そして、プロキシ部２７が転送したログインＡＰＩの呼び出し要求により、外部ストレージ連携ＡＰＩ６１のログインＡＰＩが呼び出される。
【０１２３】
ステップＳ１８０７において、ストレージサービス連携アプリ６２は、外部ストレージシステム４０（ここでは、外部ストレージシステム４０１）に対してログイン要求を行う。そして、外部ストレージシステム４０は、受け取ったログイン要求に含まれる認証情報に基づき、認証を行い、ストレージサービス連携アプリ６２を介して認証結果を示す情報をサーバアプリ２２に送信する。なお、以降では、外部ストレージシステム４０に対するログインが成功したものとして説明を続ける。
【０１２４】
ステップＳ１８０８において、サーバアプリ２２の外部ストレージ連携部２２１は、アプリＩＤ及びバージョンと、印刷対象データのファイルＩＤとが含まれるデータダウンロードＡＰＩの呼び出し要求をプロキシ部２７に対して送信する。
【０１２５】
ステップＳ１８０９において、プロキシ部２７は、データダウンロードＡＰＩの呼び出し要求を受け取ると、図７に示すようなプロキシ変換情報テーブルを参照し、該当のホスト名に対してデータダウンロードＡＰＩの呼び出し要求を転送する。そして、プロキシ部２７が転送したデータダウンロードＡＰＩの呼び出し要求により、外部ストレージ連携ＡＰＩ６１のデータダウンロードＡＰＩが呼び出される。より具体的には、外部ストレージ連携ＡＰＩ６１は、アプリＩＤとバージョンとを含むデータダウンロードＡＰＩの呼び出し要求を受け取ると、データダウンロードＡＰＩを呼び出す。そして、外部ストレージ連携ＡＰＩ６１は、この呼び出し要求に含まれるアプリＩＤ及びバージョンに対応するストレージサービス連携アプリ６２に対して、当該要求に含まれる印刷対象のファイルＩＤの電子データのダウンロードを依頼する。
【０１２６】
ステップＳ１８１０において、ストレージサービス連携アプリ６２は、当該要求に含まれるファイルＩＤの電子データ（印刷対象データ）の取得要求を該当の外部ストレージシステム４０に行う。そして、外部ストレージシステム４０は、印刷対象データをストレージサービス連携アプリ６２を介して外部ストレージデータ取得部２５に送信する。
【０１２７】
ステップＳ１８１１において、外部ストレージデータ取得部２５は、外部ストレージシステム４０から取得した印刷対象データのデータ形式を、画像形成装置１０において印刷可能なデータ形式に変換する。以降では、このデータ形式変換後の印刷対象データを、印刷データと称する。なお、外部ストレージデータ取得部２５は、印刷対象データのデータ形式を画像形成装置１０が印刷可能なデータ形式に変換することができない場合、エラー等を示す情報を画像形成装置１０に送信してもよい。また、画像形成装置１０が印刷対象データを直接、印刷することができる場合、本ステップの処理は行わなくてもよい。
【０１２８】
ステップＳ１８１２において、外部ストレージデータ取得部２５は、印刷データを例えばＨＤＤ１０８等に保存する。
【０１２９】
ステップＳ１８１３において、外部ストレージデータ取得部２５は、ジョブの完了をサーバアプリ２２に通知する。
【０１３０】
ステップＳ１８１４において、サーバアプリ２２は、ジョブの完了を画像形成装置１０のクライアントアプリ１１に通知する。
【０１３１】
ステップＳ１８１５において、画像形成装置１０のクライアントアプリ１１は、サーバアプリ２２からジョブの完了が通知されると、印刷データの取得をサーバアプリ２２に要求する。
【０１３２】
ステップＳ１８１６において、サーバアプリ２２は、クライアントアプリ１１から印刷データの取得要求を受け取ると、外部ストレージデータ取得部２５に当該要求を転送する。そして、外部ストレージデータ取得部２５は、該当の印刷データをサーバアプリ２２を介して、画像形成装置１０のクライアントアプリ１１に送信する。
【０１３３】
ステップＳ１８１７において、画像形成装置１０のクライアントアプリ１１は、サーバアプリ２２から印刷データを受け取ると、印刷データを印刷する。これにより、ユーザは、ステップＳ１８０１で選択した印刷対象データ（ファイル名「２０１４−０７−２３報告書．ｐｄｆ」）を印刷することができる。
【０１３４】
以上により、本実施形態に係るサービス提供システム２０では、画像形成装置１０からクラウドプリントサービスを利用して印刷する電子データが選択されると、この電子データをストレージサービスから取得（ダウンロード）することができる。このとき、印刷する電子データは、外部ストレージ共通フレームワーク２８を用いて取得することができる。したがって、サービス提供システム２０で利用できるストレージサービスを追加・変更する場合等においても、外部ストレージ共通フレームワーク２８内だけに追加・変更に伴う影響を限定させることができる。
【０１３５】
＜まとめ＞
以上で説明したように本実施形態に係るサービス提供システム２０によれば、連携して処理を行うストレージサービスの追加・変更等を容易に行うことができる。すなわち、サービス提供システム２０と連携して処理を行うストレージサービスの追加・変更等を行う場合においても、外部ストレージ共通フレームワーク２８内に追加・変更等に伴う影響を限定することができる。例えば、外部ストレージ共通フレームワーク２８のストレージサービス連携アプリ６２を追加・変更する場合、例えば、サービス提供システム２０の追加・変更手段を用いて、サービス提供システム２０全体の稼働は維持したまま、追加・変更を行うことができる。したがって、ストレージサービスの追加・変更等に伴う開発工数や開発期間を削減することができる。
【０１３６】
なお、本実施形態においては、外部ストレージシステム４０に保存された電子データの出力先として画像形成装置１０で印刷する場合について説明したが、これに限られない。例えば、出力先としては、プロジェクタ、電子黒板、ＩＣレコーダ、会議システム等であってもよい。
【０１３７】
また、本実施形態では外部ストレージシステム４０からダウンロードした電子データを、印刷データに変換する場合について説明したが、これに限られない。例えば、出力先がプロジェクタである場合、当該プロジェクタで投影可能なデータ形式に変換してもよい。出力先が電子黒板、ＩＣレコーダ、会議システム等である場合も同様である。
【０１３８】
なお、ＷｅｂＡＰＩ２１は、受付手段の一例である。外部ストレージデータ取得部２５は、データ取得手段及び変換手段の一例である。サーバアプリ２２は、送信手段及び格納先情報取得手段の一例である。プロキシ部２７は、転送手段の一例である。
【０１３９】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１４０】
１      情報処理システム
１０    画像形成装置
１１    クライアントアプリ
２０    サービス提供システム
２１    ＷｅｂＡＰＩ
２２    サーバアプリ
２３    ポータルアプリ
２４    サービス情報部
２５    外部ストレージデータ取得部
２６    認証部
２７    プロキシ部
２８    外部ストレージ共通フレームワーク
３０    ＰＣ端末
４０    外部ストレージシステム
５１    サービス情報記憶部
５２    ユーザ情報記憶部
５３    プロファイル情報記憶部
５４    プロキシ変換情報記憶部
６１    外部ストレージ連携ＡＰＩ
６２    ストレージサービス連携アプリ
６３    ストレージサービスの設定情報記憶部
【先行技術文献】
【特許文献】
【０１４１】
【特許文献１】特開２０１３−０７３３５８号公報
【図１】
0006413686.tif 000002
【図２】
0006413686.tif 000003
【図３】
0006413686.tif 000004
【図４】
0006413686.tif 000005
【図５】
0006413686.tif 000006
【図６】
0006413686.tif 000007
【図７】
0006413686.tif 000008
【図８】
0006413686.tif 000009
【図９】
0006413686.tif 000010
【図１０】
0006413686.tif 000011
【図１１】
0006413686.tif 000012
【図１２】
0006413686.tif 000013
【図１３】
0006413686.tif 000014
【図１４】
0006413686.tif 000015
【図１５】
0006413686.tif 000016
【図１６】
0006413686.tif 000017
【図１７】
0006413686.tif 000018
【図１８】
0006413686.tif 000019