(57)【要約】      （修正有）【課題】管理サーバを介さずに、クラウドサービスが保持する電子データの操作要求を行うことを支援する情報処理システム及び情報処理方法を提供する。【解決手段】１以上のクライアント装置２０と、管理サーバ１０とを有する情報処理システム１であって、クライアント装置２０から、クラウドサービス３０上に記憶された電子データに対する所定の操作に関する要求を受け付けると、該所定の操作をクライアント装置２０が直接行うか又は管理サーバ１０が行うかのいずれかを決定し、該所定の操作をクライアント装置２０が直接行うと決定された場合、クライアント装置２０が前記電子データにアクセスするためのプログラムを取得し、取得したプログラムを用いて該所定の操作の要求を行う。一方、管理サーバ１０が行うと決定された場合、管理サーバ１０は、該所定の操作の要求を行う。【選択図】図１
2015170296.tif 000002
【特許請求の範囲】
【請求項１】
１以上のクライアント装置と、管理サーバとを有する情報処理システムであって、
前記１以上のクライアント装置のうち一のクライアント装置から、クラウドサービス上に記憶された電子データに対する所定の操作に関する要求を受け付けると、該電子データに対する所定の操作を前記一のクライアント装置が直接行うか又は前記管理サーバが行うかのいずれかを、該電子データの書誌情報に基づいて決定する決定手段と、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手段により決定された場合、該一のクライアント装置が前記管理サーバから前記クラウドサービス上に記憶された前記電子データにアクセスするためのプログラムを取得する取得手段と、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手段により決定された場合、前記一のクライアント装置は、前記取得手段で取得したプログラムを用いて前記電子データの所定の操作の要求を前記クラウドサービスに行う一方、前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記管理サーバが行うと決定された場合、前記管理サーバは、前記一のクライアント装置から受け付けた前記要求に基づいて前記電子データの所定の操作の要求を前記クラウドサービスに行う操作手段と、
を有する情報処理システム。
【請求項２】
前記決定手段は、前記電子データの書誌情報に含まれる該電子データの容量に関する情報に基づき、前記電子データの容量が所定の閾値を超過するか否かに応じて、前記電子データに対する前記所定の操作を前記一のクライアント装置が直接行うか又は前記管理サーバが行うかのいずれかを決定する、請求項１記載の情報処理システム。
【請求項３】
前記一のクライアント装置において前記所定の操作に関する要求を行ったアプリケーションの種類と、前記クラウドサービスを一意に識別する情報とに基づいて、前記クラウドサービスにアクセスするための複数のプログラムから一のプログラムを選択する選択手段を有し、
前記取得手段は、前記選択手段により選択されたプログラムを取得する、請求項１又は２記載の情報処理システム。
【請求項４】
前記一のクライアント装置が前記クラウドサービスにアクセスするためのプログラムを有しているか否かを判定する判定手段を有し、
前記決定手段は、前記判定手段により前記プログラムを有していないと判定された場合に、前記電子データに対する前記所定の操作を前記一のクライアント装置が直接行うか又は前記管理サーバが行うかのいずれかを、該電子データの書誌情報に基づいて決定する、請求項１ないし３のいずれか１項に記載の情報処理システム。
【請求項５】
前記判定手段は、
さらに、前記一のクライアント装置が前記クラウドサービスにアクセスするためのプログラムのバージョンが最新か否かを判定し、
前記決定手段は、さらに、前記一のクライアント装置が有する前記プログラムのバージョンが最新でない場合に、前記電子データに対する前記所定の操作を前記一のクライアント装置が直接行うか又は前記管理サーバが行うかのいずれかを、該電子データの書誌情報に基づいて決定する、請求項４項に記載の情報処理システム。
【請求項６】
前記クラウドサービスにアクセスするための認証情報を記憶する記憶手段を有し、
前記取得手段は、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手段により決定された場合、該一のクライアント装置は、前記管理サーバから前記記憶手段に記憶された認証情報が付与された前記クラウドサービスにアクセスするためのプログラムを取得する、請求項１ないし５のいずれか１項に記載の情報処理システム。
【請求項７】
１以上のクライアント装置と、管理サーバとを有する情報処理システムに用いられる情報処理方法であって、
前記１以上のクライアント装置のうち一のクライアント装置から、クラウドサービス上に記憶された電子データに対する所定の操作に関する要求を受け付けると、該電子データに対する所定の操作を前記一のクライアント装置が直接行うか又は前記管理サーバが行うかのいずれかを、該電子データの書誌情報に基づいて決定する決定手順と、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手順により決定された場合、該一のクライアント装置が前記管理サーバから前記クラウドサービス上に記憶された前記電子データにアクセスするためのプログラムを取得する取得手順と、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手順により決定された場合、前記一のクライアント装置は、前記取得で取得したプログラムを用いて前記電子データの所定の操作の要求を前記クラウドサービスに行う一方、前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記管理サーバが行うと決定された場合、前記管理サーバは、前記一のクライアント装置から受け付けた前記要求に基づいて前記電子データの所定の操作の要求を前記クラウドサービスに行う操作手順と、
を有する情報処理方法。
【請求項８】
１以上のクライアント装置と、管理サーバとを有する情報処理システムであって、
前記１以上のクライアント装置は、
クラウドサービス上に記憶された電子データに対する所定の操作に関する要求を前記管理サーバに送信する要求送信手段と、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を当該クライアント装置が直接行うと前記管理サーバにより決定されたことに応じて送信される、前記クラウドサービス上に記憶された前記電子データにアクセスするためのプログラムを受信する受信手段と、
前記受信手段で前記プログラムを受信すると、該プログラムを用いて前記電子データの所定の操作の要求を前記クラウドサービスに行う第１の操作手段と、
を有し、
前記管理サーバは、
前記１以上のクライアント装置のうち一のクライアント装置から、クラウドサービス上に記憶された電子データに対する前記所定の操作に関する要求を受け付けると、該電子データに対する所定の操作を前記一のクライアント装置が直接行うか又は前記管理サーバが行うかのいずれかを、該電子データの書誌情報に基づいて決定する決定手段と、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手段により決定された場合、前記管理サーバから前記クラウドサービス上に記憶された前記電子データにアクセスするためのプログラムを前記一のクライアント装置に送信するプログラム送信手段と、
前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記管理サーバが行うと決定された場合、前記一のクライアント装置から受け付けた前記要求に基づいて前記電子データの所定の操作の要求を前記クラウドサービスに行う第２の操作手段と、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
インターネット上に電子ファイル等を保管するためのサービス（クラウドストレージサービス）を複数利用するユーザの利便のために、これら複数のクラウドストレージサービスを１つのサイトで扱えるサービス（ポータルサイト）が従来より知られている。このようなポータルサイトにおいては、OAuthなどの技術を利用することにより、ポータルサイトを介してクラウドストレージサービスから電子ファイル等を取得することができる。
【０００３】
他方、サービス提供サイトが保管している電子ファイル等のメタ情報をポータルサイトから取得することにより、ポータルサイトを介さずに電子ファイル等を取得することができる技術が知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術においては、ポータルサイトを介して電子ファイル等の取得を行う場合、ユーザが直接クラウドストレージサービスを利用する場合と比べてポータルサイトにおける通信が増加し、通信速度がインターネットの回線状況に影響され易いという問題があった。
【０００５】
他方、ポータルサイトを介さずに電子ファイル等を取得する場合は、サービス提供サイトを利用する際に認証が必要な場合は、ポータルサイトを介さずに電子ファイル等の取得を行うことができないという問題がある。
【０００６】
本発明の一実施形態は、上記の点に鑑みてなされたもので、管理サーバを介さずに、クラウドサービスが保持する電子データの操作要求を行うことを支援することができる情報処理システム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態は、１以上のクライアント装置と、管理サーバとを有する情報処理システムであって、前記１以上のクライアント装置のうち一のクライアント装置から、クラウドサービス上に記憶された電子データに対する所定の操作に関する要求を受け付けると、該電子データに対する所定の操作を前記一のクライアント装置が直接行うか又は前記管理サーバが行うかのいずれかを、該電子データの書誌情報に基づいて決定する決定手段と、前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手段により決定された場合、該一のクライアント装置が前記管理サーバから前記クラウドサービス上に記憶された前記電子データにアクセスするためのプログラムを取得する取得手段と、前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記一のクライアント装置が直接行うと前記決定手段により決定された場合、前記一のクライアント装置は、前記取得手段で取得したプログラムを用いて前記電子データの所定の操作の要求を前記クラウドサービスに行う一方、前記クラウドサービス上に記憶された前記電子データに対する所定の操作を前記管理サーバが行うと決定された場合、前記管理サーバは、前記一のクライアント装置から受け付けた前記要求に基づいて前記電子データの所定の操作の要求を前記クラウドサービスに行う操作手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明の一実施形態によれば、管理サーバを介さずに、クラウドサービスが保持する電子データの操作要求を行うことを支援することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る情報管理システムの構成を説明するための図である。
【図２】第１の実施形態に係る情報管理システムの一例のハードウェア構成図である。
【図３】第１の実施形態に係る情報管理システムの一例の機能ブロック図である。
【図４】ストレージサービス情報の一例の構成図である。
【図５】ユーザ毎ディレクトリ情報の一例の構成図である。
【図６】第１の実施形態に係る管理サーバへのログイン処理の一例のシーケンス図である。
【図７】ログイン要求及びログイン応答の一例を説明するための図である。
【図８】ストレージサービス選択画面の一例のイメージ図である。
【図９】第１の実施形態に係るディレクトリ情報取得処理の一例のシーケンス図である。
【図１０】ディレクトリ情報取得要求及びディレクトリ情報取得応答の一例を説明するための図である。
【図１１】ファイル選択画面の一例のイメージ図である。
【図１２】第１の実施形態に係るアクセスプログラム又はファイル取得処理の一例のシーケンス図である。
【図１３】アクセスプログラム取得要求及びアクセスプログラム取得応答の一例を説明するための図である。
【図１４】アクセスプログラムのインタフェースの一例を説明するための図である。
【図１５】ストレージサービスへのログイン画面の一例のイメージ図である。
【図１６】第１の実施形態に係るストレージサービスへのログインから印刷処理までの一例のシーケンス図である。
【図１７】第１の実施形態に係る管理サーバへのストレージサービス登録処理の一例のシーケンス図である。
【図１８】ストレージサービス登録画面の一例のイメージ図である。
【図１９】第１の実施形態に係るストレージサービス設定処理の一例のシーケンス図である。
【図２０】ストレージサービス設定画面の一例のイメージ図である。
【図２１】第２の実施形態に係る情報管理システムの一例の機能ブロック図である。
【図２２】ユーザ情報の他の例の構成図である。
【図２３】第２の実施形態に係るストレージサービス設定処理の一例のシーケンス図である。
【図２４】ストレージサービス設定画面の他の例のイメージ図である。
【図２５】アカウント登録画面の一例のイメージ図である。
【図２６】第２の実施形態に係る印刷処理の一例のシーケンス図である。
【図２７】アクセスプログラム取得要求及びアクセスプログラム取得応答の他の例を説明するための図である。
【図２８】アクセスプログラムのインタフェースの他の例を説明するための図である。
【発明を実施するための形態】
【００１０】
［第１の実施形態］
＜システム構成＞
図１は、第１の実施形態に係る情報管理システムの構成を説明するための図である。図１に示す情報管理システム１は、ポータルサイトを提供する管理サーバ１０と、この管理サーバ１０にアクセスしてポータルサイトを利用するユーザが操作するクライアント装置２０を有している。ユーザは、クライアント装置２０から管理サーバ１０にアクセスして、ポータルサイトを利用することで、複数のクラウドサーバ３０が提供する複数のクラウドサービスをこのポータルサイト上で利用することができる。このことについて、クラウドサービスがクラウドストレージサービスである場合を一例に、本実施形態に係る情報管理システム１の処理の概要について、図１を用いて簡単に説明する。
【００１１】
情報管理システム１のユーザは、クライアント装置２０のＷｅｂブラウザ（不図示）などを介して管理サーバ１０にアクセスして、この管理サーバ１０が提供するポータルサイトにログインする（ステップＳ１）。その後、ユーザが、ポータルサイト上から利用したいクラウドストレージサービス及びこのクラウドストレージサービスに格納している電子データを選択する。すると、本実施形態に係る情報管理システム１は、所定の条件に応じて、以下のいずれかの処理を行う。
（１）管理サーバ１０は、ＯＡｕｔｈなどのプロトコルを利用してクラウドサーバ３０から所望の電子データを取得し（ステップＳ２−１、Ｓ２−２）、取得した電子データをクライアント装置２０に送信する（ステップＳ３）。
（２）管理サーバ１０は、クライアント装置２０に対してクラウドストレージサービスにアクセスするためのプログラムを送信し（ステップＳ３）、クライアント装置２０は、このプログラムを用いてクラウドサーバ３０から所望の電子データを取得する（ステップＳ４−１、Ｓ４−２）。
【００１２】
以上のように、本実施形態に係る情報管理システム１では、従来から用いられている上記（１）の処理に加えて、上記（２）の処理も行うことができるようにするものである。これにより、管理サーバ１０とクラウドサーバ３０との間の通信量を低減させることができる。
【００１３】
図１の情報管理システム１を構成する管理サーバ１０は、例えばＰＣ（パーソナルコンピュータ）などの情報処理装置である。なお、管理サーバ１０は、複数の情報処理装置で構成されていてもよい。
【００１４】
図１の情報管理システム１を構成するクライアント装置２０は、ＰＣ（パーソナルコンピュータ）などの情報処理装置である。クライアント装置２０は、タブレット端末、スマートフォン、ＭＦＰ（Multifunction Peripheral）などの画像形成装置、プロジェクタなど各種電子機器であってもよい。なお、情報管理システム１において、クライアント装置２０は２台以上の任意の台数でよい。
【００１５】
なお、以降では、クラウドサービスの一例としてクラウドストレージサービスの場合について説明する。したがって、以降では、各クラウドサーバ３０は、クラウドストレージサービス（ストレージサービス）のユーザがアップロードした各種電子データが記憶されているクラウドストレージサーバである。ただし、クラウドサービスとしてストレージサービスに限定されるものではなく、例えばクラウドプリントサービスなど各種クラウドサービスであってもよい。
【００１６】
＜ハードウェア構成＞
次に、情報管理システム１のハードウェア構成について説明する。情報管理システム１を構成する管理サーバ１０及びクライアント装置２０は、それぞれ、例えば図２に示すようなハードウェア構成を有する。図２は、第１の実施形態に係る情報管理システムの一例のハードウェア構成図である。
【００１７】
≪管理サーバ≫
図２に示した管理サーバ１０は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、通信Ｉ／Ｆ１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢ１で相互に接続されている。
【００１８】
入力装置１０１は、キーボードやマウス、タッチパネルなどを含み、管理サーバ１０に各操作信号を入力するのに用いられる。なお、入力装置１０１は管理サーバ１０の必須の構成要素ではないため、入力装置１０１はなくてもよい。
【００１９】
表示装置１０２は、ＬＣＤ（Liquid Crystal Display）やＣＲＴ（Cathode Ray Tube）などを含み、管理サーバ１０による処理結果を表示する。なお、表示装置１０２は管理サーバ１０の必須の構成要素ではないため、表示装置１０２はなくてもよい。
【００２０】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。記憶媒体１０３ａには、実施形態を実現するプログラムを格納することができる。管理サーバ１０は外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。
【００２１】
記録媒体１０３ａにはＵＳＢメモリ（Universal Serial Bus memory）、ＳＤメモリカード（SD Memory card）、ＤＶＤ（Digital Versatile Disk）、ＣＤ（Compact Disk）、フレキシブルディスクなどの記録媒体を用いることができる。
【００２２】
ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２３】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、管理サーバ１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ（Operating System）設定、及びネットワーク設定などのプログラムやデータが格納されている。
【００２４】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８などの記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、管理サーバ１０全体制御や機能を実現する演算装置である。
【００２５】
通信Ｉ／Ｆ装置１０７は、ネットワークに接続するインタフェースである。これにより、管理サーバ１０は通信Ｉ／Ｆ装置１０７を介してデータ通信を行うことができる。
【００２６】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えば、管理サーバ１０全体を制御する基本ソフトウェアであるＯＳや、ＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。ＨＤＤ１０８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００２７】
管理サーバ１０は、例えば上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００２８】
≪クライアント装置≫
図２に示したクライアント装置２０は、入力装置２０１、表示装置２０２、外部Ｉ／Ｆ２０３、ＲＡＭ２０４、ＲＯＭ２０５、ＣＰＵ２０６、通信Ｉ／Ｆ２０７、及びＨＤＤ２０８などを備え、それぞれがバスＢ２で相互に接続されている。これらクライアント装置２０の各構成要素は、それぞれ、管理サーバ１０の各構成要素と同様であるため、説明を省略する。ただし、管理サーバ１０と異なり、クライアント装置２０においては、入力装置２０１及び表示装置２０２は、必須の構成要素である。
【００２９】
クライアント装置２０は、例えば上記のハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３０】
＜ソフトウェア構成＞
次に、情報管理システム１のソフトウェア構成について説明する。図３は、第１の実施形態に係る情報管理システムの一例の機能ブロック図である。
【００３１】
≪管理サーバ≫
本実施形態に係る管理サーバ１０は、通信部１１、ＵＩ情報生成部１２、ストレージサービス通信部１３、動的コード生成部１４、メンテナンス部１５を有する。また、本実施形態に係る管理サーバ１０は、共通ファイル記憶部１６及びユーザファイル記憶部１７を利用する。
【００３２】
通信部１１は、通信Ｉ／Ｆ装置１０７などを介して、クライアント装置２０と送受信を行う。例えば、通信部１１は、クライアント装置２０からＨＴＴＰ（HyperText Transfer Protocol）リクエストを受け取ると、対応する各部にこのリクエストを受け渡す。また、他の各部から通信部１１は、ＨＴＴＰレスポンスを受け取ると、クライアント装置２０にこのレスポンスを送信する。
【００３３】
ＵＩ情報生成部１２は、クライアント装置２０の表示装置２０２などに表示させる画面（ＵＩ情報）を生成する。ストレージサービス通信部１３は、ストレージサービスを提供するクラウドサーバ３０との送受信を行う。
【００３４】
動的コード生成部１４は、クライアント装置２０からのリクエストに応じて、クライアント装置２０がクラウドサーバ３０にアクセスするためのプログラムの要否を判断する。また、動的コード生成部１４は、クラウドサーバ３０にアクセスするためのプログラムの生成を行う。すなわち、動的コード生成部１４は、例えばＪａｖａ（登録商標）ソースコードからＪａｖａクラスファイルを生成する。なお、Ｊａｖａクラスファイルとは、Ｊａｖａ仮想マシン（ＪＶＭ）上で実行可能な形式であるバイトコードを含むファイルである。
【００３５】
メンテナンス部１５は、管理サーバ１０が提供するポータルサイトに、新たにストレージサービスを登録する処理を行う。また、メンテナンス部１５は、管理サーバ１０が提供するポータルサイトのユーザが利用するストレージサービスの利用開始設定／利用解除などを行う。
【００３６】
共通ファイル記憶部１６は、各クラウドサーバ３０の各種情報であるストレージサービス情報１０００を記憶する。ストレージサービス情報１０００の詳細については後述する。また、共通ファイル記憶部１６は、管理サーバ１０及びクライアント装置２０がクラウドサービスにアクセスするための不図示のプログラム（アクセスプログラム）又はプログラムのソースファイルを記憶している。なお、これらのアクセスプログラム名はストレージサービス情報１０００で管理して記憶されている。
【００３７】
ユーザファイル記憶部１７は、ユーザ毎のストレージサービスのディレクトリ情報であるユーザ毎ディレクトリ情報２０００を記憶する。ユーザ毎ディレクトリ情報２０００の詳細については後述する。なお、共通ファイル記憶部１６及び／又はユーザファイル記憶部１７は、管理サーバ１０のＨＤＤ１０８又は管理サーバ１０とネットワークを介して接続された記憶装置に格納される。
【００３８】
≪ストレージサービス情報≫
本実施形態におけるストレージサービス情報１０００は、例えば図４に示すようなデータ項目を有する。図４は、ストレージサービス情報の一例の構成図である。ストレージサービス情報１０００は、ストレージサービスＩＤ、ストレージサービス名称、アクセスプログラム名（ポータルサイト用）、ログイン時パラメータ、アクセスプログラム名（クライアント用）などのデータ項目を有する。また、ストレージサービス情報１０００は、ストレージサービスＩＤ毎に、これらの各データ項目を有するレコードから構成される。
【００３９】
ストレージサービスＩＤは、管理サーバ１０が提供するポータルサイトにおいて、ストレージサービスを一意に識別するための情報である。ストレージサービス名称は、管理サーバ１０が提供するポータルサイトにおける、ストレージサービスの名称である。
【００４０】
アクセスプログラム名（ポータルサイト用）は、管理サーバ１０がストレージサービスを提供するクラウドサーバ３０にアクセスするために利用するプログラムの名称である。
【００４１】
ログイン時パラメータは、ストレージサービスを提供するクラウドサーバ３０にログインする際に必要な情報である。例えば図４においては、ストレージサービスＩＤ「Ｓ００１」のクラウドサーバ３０にログインするには、ユーザＩＤ、パスワード、企業名の３つ情報が必要であることを示している。このログイン時パラメータの個数及び必要な情報の種類は、ストレージサービス毎に決定される。
【００４２】
アクセスプログラム名（クライアント用）は、クライアント装置２０がストレージサービスを提供するクラウドサーバ３０にアクセスするために利用するプログラムの名称である。
【００４３】
なお、一般に、クラウドサービス（クラウドサーバ３０）にアクセスする際に、ポータルサイト（管理サーバ１０）が用いるプログラムとクライアント装置２０が用いるプログラムは異なるが、同じであってもよい。また、アクセスプログラムは、ポータルサイト用の場合は、クラウドサービスへのログイン機能、電子データ（ファイル）の書誌情報（ディレクトリ情報など）取得機能、電子データ（ファイル）の受信機能などを有する。他方、クライアント用のアクセスプログラム（すなわち、後述するアクセスプログラム２７）は、クラウドサービスへのログイン機能、電子データ（ファイル）の送受信機能などを有する。
【００４４】
≪ユーザ毎ディレクトリ情報≫
本実施形態におけるユーザ毎ディレクトリ情報２０００は、例えば図５示すようなデータ項目を有する。図５は、ユーザ毎ディレクトリ情報の一例の構成図である。ユーザ毎ディレクトリ情報２０００は、ユーザＩＤ、ストレージサービスＩＤ、ディレクトリ情報などのデータ項目を有する。また、ユーザ毎ディレクトリ情報２０００は、ユーザＩＤ毎に、これらの各データ項目を有するレコード群から構成される。
【００４５】
ユーザＩＤは、情報管理システム１のユーザを一意に識別する情報である。ストレージサービスＩＤは、上述した通り、ストレージサービスを一意に識別する情報である。
【００４６】
ディレクトリ情報は、ユーザ毎ストレージサービス毎のディレクトリに関する情報（書誌情報）である。ディレクトリ情報は、ファイル／フォルダＩＤ、ファイル／フォルダ区分、名称、サイズ、親ＩＤから構成されており、ディレクトリ情報１レコードが１ファイル又は１フォルダを特定する情報である。
【００４７】
ファイル／フォルダＩＤは、ストレージサービスＩＤが示すストレージサービスにおいて、ファイル又はフォルダを一意に識別する情報である。ファイル／フォルダ区分は、該当のレコードがファイルを示す情報か又はフォルダを示す情報かのいずれであるかを示す情報である。名称は、該当のレコードにおけるファイル又はフォルダの名称である。サイズは、該当のレコードがファイルを示す情報である場合に、ファイルの容量を示す情報である。なお、「ファイル／フォルダ区分」がフォルダを示す情報である場合は、サイズはハイフン（−）や０、ＮＵＬＬなどでよい。親ＩＤは、上位の階層のフォルダの「ファイル／フォルダＩＤ」である。すなわち、該当のレコードが示すファイル又はフォルダを含むフォルダの「ファイル／フォルダＩＤ」である。
【００４８】
上記のように、ユーザ毎かつストレージサービスＩＤ毎にディレクトリ情報を有することで、このユーザがこのストレージサービスに格納している電子データ（ファイル）を特定することができる。なお、このようなユーザ毎ディレクトリ情報２０００は、後述するディレクトリ情報取得処理において、ストレージサービス（クラウドサーバ３０）から取得する。
【００４９】
≪クライアント装置≫
本実施形態に係るクライアント装置２０は、クライアント操作部２１、通信部２２、ＵＩ更新部２３、ストレージサービスアクセス部２４、出力部２５を有する。また、本実施形態に係るクライアント装置２０は、アクセスプログラム記憶部２６を利用する。
【００５０】
クライアント操作部２１は、ユーザが入力装置２０１を介して行った操作を受け付け、この操作に対応する処理を他の各部に依頼する。通信部２２は、通信Ｉ／Ｆ装置２０７などを介して、管理サーバ１０との送受信を行う。例えば、通信部２２は、管理サーバ１０にＨＴＴＰリクエストを送信する。また、通信部２２は、管理サーバ１０からＨＴＴＰレスポンスを受信する。
【００５１】
ＵＩ更新部２３は、管理サーバ１０からＵＩ情報を受け取ると、表示装置２０２などが表示する画面を更新する。ストレージサービスアクセス部２４は、アクセスプログラム記憶部２６に記憶されているアクセスプログラム２７を用いて、対応するストレージサービスにアクセスする。出力部２５は、外部Ｉ／Ｆ２０３や通信Ｉ／Ｆ２０７を介して、クライアント装置２０に接続されたＭＦＰなどに対して印刷要求などを行う。
【００５２】
アクセスプログラム記憶部２６は、ストレージサービスを提供するクラウドサーバ３０にアクセスするためのアクセスプログラム２７を記憶する。クライアント装置２０は、管理サーバ１０から、クライアント用のアクセスプログラム２７を取得（ダウンロード）し、アクセスプログラム記憶部２６に格納する。なお、アクセスプログラム２７は、ストレージサービス毎（すなわち、ストレージサービスＩＤ毎）に存在する。
【００５３】
＜処理の詳細＞
次に、第１の実施形態に係る情報管理システム１の処理の詳細について説明する。
【００５４】
≪管理サーバへのログイン処理≫
まず、ユーザがクライアント装置２０を操作して、管理サーバ１０にログイン（すなわち、ポータルサイトにログイン）する処理について説明する。
【００５５】
ユーザがクライアント装置２０のＷｅｂブラウザ（不図示）などを介して、管理サーバ１０が提供するポータルサイトにアクセスし、ログイン操作を行う（ステップＳ６１）。すると、クライアント操作部２１は、ポータルサイトのユーザＩＤを含むログイン要求（ＨＴＴＰリクエスト）を通信部２２に送信し（ステップＳ６２）、通信部２２は、受け取ったログイン要求を管理サーバ１０に送信する（ステップＳ６３）。
【００５６】
ここで、通信部２２が管理サーバ１０に送信するログイン要求（ＨＴＴＰリクエスト）は、例えば図７（ａ）に示すような構成である。ＵＲＩ６０１は、後述するストレージ選択画面３０００を示す情報が指定される。なお、他にもＵＲＩ６０１は、例えば、ポータルサイトのトップページのＨＴＭＬ（HyperText Markup Language）ファイルを示す情報が指定されてもよい。Ｍｅｔｈｏｄ６０２は、ＵＲＩ６０１で指定されたファイルの取得要求であるＧＥＴメソッドが指定される。Ｑｕｅｒｙ６０３は、ユーザのユーザＩＤ（例えば「ｕｓｅｒ００１」）が指定される。なお、例えばＱｕｅｒｙ６０３は、ユーザＩＤに加えて、例えばパスワードなどが含まれていてもよい。このような場合、ポータルサイト（管理サーバ１０）において認証処理が行われる。
【００５７】
管理サーバ１０の通信部１１は、クライアント装置２０からログイン要求を受け取ると、このログイン要求をＵＩ情報生成部１２に送信する（ステップＳ６４）。そして、ＵＩ情報生成部１２は、ログイン要求に基づいて、ログイン応答とストレージ選択画面を生成してクライアント装置２０にログイン応答（ＨＴＴＰレスポンス）を送信する（ステップＳ６５）。
【００５８】
このとき、クライアント装置２０に送信されるログイン応答（ＨＴＴＰレスポンス）は、例えば図７（ｂ）に示すような構成である。Ｂｏｄｙ６０４には、ストレージサービスＩＤとストレージサービス名称とが指定されている。これらのストレージサービスＩＤとストレージサービス名称は、ログイン要求に含まれるユーザＩＤ（例えば「ｕｓｅｒ００１」）のユーザが利用するストレージサービスのストレージサービスＩＤとストレージサービス名称である。なお、ストレージサービスＩＤとストレージサービス名称とが複数ある場合（すなわち、ユーザが複数のストレージサービスをポータルサイトから利用している場合）、ストレージサービスＩＤとストレージサービス名称とが配列でＢｏｄｙ６０４に指定される。
【００５９】
クライアント装置２０の通信部２２は、ログイン応答（ＨＴＴＰレスポンス）を受け取ると、ＵＩ更新部２３に画面の更新要求を行い（ステップＳ６６）、ＵＩ更新部２３は、クライアント装置２０の表示画面を更新する（ステップＳ６７及びＳ６８）。すなわち、ＵＩ更新部２３は、管理サーバ１０から受け取ったログイン応答に基づいて、例えば図８に示すようなストレージ選択画面３０００を表示させる。図８のストレージ選択画面３０００は、ログイン要求を行ったユーザ（例えば「ｕｓｅｒ００１」）が利用している（利用可能な）ストレージサービスの一覧３１００と、決定ボタン３２００とを有する。ストレージサービスの一覧３１００から所望のストレージサービス（例えば「ストレージＡ」）を選択して、決定ボタン３２００を押下すると、選択したストレージサービスに格納しているファイルの操作を行うことができる。
【００６０】
≪ディレクトリ情報取得処理≫
次に、図８に示すストレージ選択画面３０００のストレージサービスの一覧３１００から所望のストレージサービスを選択して、決定ボタン３２００を押下した後、ディレクトリ情報を取得する処理について説明する。この処理は、ユーザが選択したストレージサービスから、このユーザのディレクトリ情報（すなわち、ストレージサービスに格納しているファイルとフォルダに関する階層に関する情報やサイズに関する情報などの書誌情報）を取得する処理である。
【００６１】
まず、ユーザは、クライアント装置２０のクライアント操作部２１からストレージサービスを選択する（ステップＳ９１）。すなわち、ユーザは、例えばストレージ選択画面３０００から所望のストレージサービスを選択し、決定ボタン３２００を押下する。以降の説明では、ユーザＩＤ「ｕｓｅｒ００１」のユーザが、ストレージサービス名称「ストレージＡ」のストレージサービス（ストレージサービスＩＤは「Ｓ００１」）を選択したものとして説明する。
【００６２】
すると、クライアント操作部２１は、ディレクトリ情報取得要求を通信部２２に送信し（ステップＳ９２）、通信部２２は、ディレクトリ情報取得要求を管理サーバ１０に送信する（ステップＳ９３）。
【００６３】
ここで、通信部２２が管理サーバ１０に送信するディレクトリ情報取得要求（ＨＴＴＰリクエスト）は、例えば図１０（ａ）に示すような構成である。ＵＲＩ７０１は、後述するファイル選択画面４０００を示す情報などが指定される。Ｍｅｔｈｏｄ７０２は、ＵＲＩ７０１で指定されたファイルの取得要求であるＧＥＴメソッドが指定される。Ｑｕｅｒｙ７０３は、ユーザのユーザＩＤ（例えば「ｕｓｅｒ００１」）とストレージサービスＩＤ（例えば「Ｓ００１」）が指定される。なお、ディレクトリ情報取得処理をログイン処理と同一のセッションで行う場合は、ユーザＩＤは指定しなくてもよい。
【００６４】
管理サーバ１０の通信部１１は、ディレクトリ情報取得要求を受け取ると、ＵＩ情報生成部１２を介してストレージサービス通信部１３にディレクトリ情報取得要求を送信する（ステップＳ９４及びＳ９５）。
【００６５】
ストレージサービス通信部１３は、ストレージサービスへのアクセス方法を判別し（ステップＳ９６）、該当のユーザ（ユーザＩＤ「ｕｓｅｒ００１」）のディレクトリ情報取得要求を該当のストレージサービス（ストレージＡ）を提供するクラウドサーバ３０に対して行う（ステップＳ９７）。ストレージサービスへのアクセス方法の判別は、図４に示すストレージサービス情報１０００を参照することで判別する。すなわち、ストレージサービス通信部１３は、ストレージサービス情報１０００のアクセスプログラム名（ポータルサイト用）のデータ項目を参照し、ここで指定されているプログラムを用いてストレージサービスにアクセスする。例えばストレージサービス名称「ストレージＡ」を提供するクラウドサーバ３０には、「プログラムＡ１」を用いてアクセスする。
【００６６】
なお、ストレージサービスからディレクトリ情報を取得するには、該当のユーザのユーザＩＤやパスワードなどの情報が必要であるが、上記のステップＳ９７では管理サーバ１０は、例えばシングルサインオンの仕組みやＯＡｕｔｈの仕組みなどを利用することにより、該当のユーザのディレクトリ情報を取得することができる。
【００６７】
ストレージサービス通信部１３は、クラウドサーバ３０からディレクトリ情報を受け取ると、このディレクトリ情報をユーザファイル記憶部１７に保存する（ステップＳ９８）。そして、ＵＩ情報生成部１２は、ファイル選択画面を生成し、ディレクトリ情報取得応答（ＨＴＴＰレスポンス）をクライアント装置２０に送信する（ステップＳ９９）。
【００６８】
このとき、クライアント装置２０に送信されるディレクトリ情報取得応答（ＨＴＴＰレスポンス）は、例えば図１０（ｂ）に示すような構成である。Ｂｏｄｙ７０４には、該当のストレージサービス（ストレージサービスＩＤ「Ｓ００１」）にアクセスするためのアクセスプログラム名（クライアント用）と、このアクセスプログラムのバージョン情報と、ディレクトリ情報などが指定されている。なお、アクセスプログラム名（クライアント用）とアクセスプログラムのバージョン情報は、後述するアクセスプログラム又はファイル取得処理において、クライアント装置２０がアクセスプログラムを管理サーバ１０から取得するか否かを判定するために使用する。
【００６９】
クライアント装置２０の通信部２２は、ディレクトリ情報取得応答（ＨＴＴＰレスポンス）を受け取ると、ＵＩ更新部２３に画面の更新要求を行い（ステップＳ１００）、ＵＩ更新部２３は、クライアント装置２０の表示画面を更新する（ステップＳ１０１及びＳ１０２）。すなわち、ＵＩ更新部２３は、管理サーバ１０から受け取ったディレクトリ情報取得応答（ＨＴＴＰレスポンス）に基づいて、例えば図１１に示すようなファイル選択画面４０００を表示させる。図１１のファイル選択画面４０００は、ストレージサービスＩＤ「Ｓ００１」のストレージサービスにおける、ユーザ（ユーザＩＤ「ｕｓｅｒ００１」）のディレクトリ構成（フォルダ／ファイル構成）を示している。ユーザは、例えば、印刷したい所望のファイルのチェックボックス４１００を選択し、印刷ボタン４２００を押下することで、出力部２５により例えば外部Ｉ／Ｆ２０３を介して接続された不図示のプリンタなどからファイルを印刷することができる。なお、ユーザは、ファイル選択画面４０００で選択したファイルについて、例えば取得（ダウンロード）してＨＤＤ２０８に保存する、表示装置２０２に表示させる等してもよい。このように、ユーザは、ファイル選択画面４０００からストレージサービスに格納されているファイルの各種操作要求を管理サーバ１０に対して行うことができる。
【００７０】
≪アクセスプログラム又はファイル取得処理≫
次に、図１１に示すファイル選択画面４０００から、ユーザが印刷を行いたい所望のファイルを選択して、印刷ボタン４２００を押下した後の処理について説明する。この処理は、ユーザが選択した所望のファイルについて、クライアント装置２０がクラウドサーバ３０から直接取得するためのプログラムを管理サーバ１０から取得するか、又は管理サーバ１０がこのファイルをクラウドサーバ３０から取得するか、のいずれかを行う。
【００７１】
まず、ユーザは、クライアント装置２０のクライアント操作部２１を介して、ファイル選択画面４０００から印刷を行いたい所望のファイルを選択する（ステップＳ１２１）。すると、クライアント操作部２１は、アクセスプログラム取得要求をストレージサービスアクセス部２４に送信する（ステップＳ１２２）。なお、アクセスプログラム取得要求は
所定の操作に関する要求の一例である。
【００７２】
そして、ストレージサービスアクセス部２４は、該当のストレージサービス（ストレージサービスＩＤ「Ｓ００１」のストレージサービス）に対応するアクセスプログラム２７を取得（ダウンロード）する必要があるか否かを判定する（ステップＳ１２３）。すなわち、図１０（ｂ）で示したＨＴＴＰレスポンスにおいて、該当のストレージサービスにアクセスするためのアクセスプログラム名と、このアクセスプログラムのバージョン情報が指定されているため、これらの情報と、アクセスプログラム記憶部２６に記憶されている対応するアクセスプログラム２７とから判定する。例えば、アクセスプログラム記憶部２６に対応するアクセスプログラム２７に格納されていない場合や、アクセスプログラム２７のバージョンが古い場合は、ダウンロードが必要であると判定する。他方、対応するアクセスプログラム２７が格納されており、かつ、バージョンも最新である場合は、ダウンロード不要であると判定する。以降では、アクセスプログラムのダウンロードが必要であると判定されたものとして説明する。
【００７３】
続いて、ストレージサービスアクセス部２４は、アクセスプログラム取得要求を通信部２２に送信し（ステップＳ１２４）、通信部２２は、受け取ったアクセスプログラム取得要求を管理サーバ１０に送信する（ステップＳ１２５）。
【００７４】
ここで、通信部２２が管理サーバ１０に送信するアクセスプログラム取得要求（ＨＴＴＰリクエスト）は、例えば図１３（ａ）に示すような構成である。ＵＲＩ８０１は、アクセスプログラム名（クライアント用）を示す情報などが指定される。Ｍｅｔｈｏｄ８０２は、ＵＲＩ８０１で指定されたプログラムの取得要求であるＧＥＴメソッドが指定される。Ｑｕｅｒｙ８０３は、ストレージサービスＩＤ（例えば「Ｓ００１」）と、クライアント種別と、リクエスト種別と、ファイル選択画面４０００から選択したファイルの「ファイル／フォルダＩＤ」であるファイルＩＤとが指定される。ここで、クライアント種別は、例えばクライアント装置２０上でアクセスプログラム取得要求を行っている主体を示す情報（例えばＷｅｂブラウザ、Ｊａｖａプログラムなど）である。リクエスト種別は、ファイルの送信（アップロード）なのか、ファイルの受信（ダウンロード）なのかを示す情報である。なお、本実施形態では、クライアント種別はＷｅｂブラウザを示す情報が、リクエスト種別はファイルの受信を示す情報であるとする。
【００７５】
管理サーバ１０の通信部１１は、アクセスプログラム取得要求を受け取ると、動的コード生成部１４にこのアクセスプログラム取得要求を送信し（ステップＳ１２６）、動的コード生成部１４は、プログラム要否判定を行う（ステップＳ１２７）。ここで、動的コード生成部１４が行うプログラム要否判定は、例えばＨＴＴＰリクエストに指定されたファイルＩＤに対応するファイルの容量（サイズ）に基づいて判定する。すなわち、例えば、当該ファイルのファイル容量と、取得要求に係るアクセスプログラムの容量とを比較し、ファイル容量の方が大きい場合、プログラム要と判定し、ファイル容量の方が小さい場合、プログラム不要と判定する。また、例えば、当該ファイルのファイル容量が所定の閾値より大きい場合、プログラム要と判定し、所定の閾値より小さい場合、プログラム不要と判定する。なお、ディレクトリ情報に含まれるファイルの容量（サイズ）は、ファイルの書誌情報の一例である。
【００７６】
なお、動的コード生成部１４は、ファイルの容量（サイズ）に加えて、管理サーバ１０とクラウドサーバ３０間又は／及び管理サーバ１０とクライアント装置２０間のネットワークの通信速度等を考慮してプログラム要否を判定してもよい。
【００７７】
ステップＳ１２７においてプログラム要と判定された場合、動的コード生成部１４は、共通ファイル記憶部１６から取得要求に係るアクセスプログラム（アクセスプログラム名「プログラムＡ２」）の、例えばＪａｖａソースコード（ソースファイル）を取得する。なお、ここで取得されるアクセスプログラム（又はソースファイル）は、ＨＴＴＰリクエストに含まれるストレージサービスＩＤに応じて、対応するものが取得される。さらに、ストレージサービスＩＤとリクエスト種別とに応じて取得されるようにしてもよい。
【００７８】
そして、動的コード生成部１４は、取得したＪａｖａソースコードからＪａｖａクラスファイルを生成し、通信部１１を介して、アクセスプログラム取得応答（ＨＴＴＰレスポンス）としてクライアント装置２０に送信する（ステップＳ１２８）。このＪａｖａクラスファイルは、実行可能なアクセスプログラムである。なお、動的コード生成部１４は、共通ファイル記憶部１６から実行可能なアクセスプログラムを取得してもよい。
【００７９】
このとき、クライアント装置２０に送信されるアクセスプログラム取得応答（ＨＴＴＰレスポンス）は、例えば図１３（ｂ）に示すような構成である。Ｂｏｄｙ８０４には、取得要求に係る（実行可能形式の）アクセスプログラムと、ストレージサービスにログインする際に必要なログイン時パラメータの種類とか指定されている。なお、ログイン時パラメータの種類が複数ある場合は、配列を用いて指定される。例えばストレージサービスＩＤ「Ｓ００１」のログイン時パラメータは、ユーザＩＤ、パスワード、企業名の３つであるため、３つのパラメータが配列で指定される。
【００８０】
クライアント装置２０の通信部２２は、アクセスプログラム取得応答（ＨＴＴＰレスポンス）を受け取ると、この応答に含まれるアクセスプログラム２７をアクセスプログラム記憶部２６に保存する（ステップＳ１２９）。
【００８１】
ここで、アクセスプログラム２７がＪａｖａプログラムである場合、例えば図１４に示すような抽象クラスを含むインタフェースを有している。抽象クラス９０１は、ストレージサービスにログインする際に使う抽象クラスである。引数はログイン時パラメータで指定されたパラメータ（例えば、ユーザＩＤ、パスワード、企業名など）であり、戻り値はクライアント装置２０とクラウドサーバ３０とのセッションを識別する情報を含むＣｏｏｋｉｅである。
【００８２】
抽象クラス９０２は、ストレージサービスからファイルを受信（ダウンロード）する際に使う抽象クラスである。引数はログイン時に受け取ったＣｏｏｋｉｅと、ダウンロードしたいファイルＩＤ（ファイル／フォルダＩＤ）とを指定し、戻り値はファイル（データ）である。
【００８３】
抽象クラス９０３は、ストレージサービスにファイルを送信（アップロード）する際に使う抽象クラスである。引数はログイン時に受け取ったＣｏｏｋｉｅと、格納したいフォルダのフォルダＩＤ（ファイル／フォルダＩＤ）と、ファイル（データ）とを指定し、戻り値はなしである。
【００８４】
アクセスプログラム２７は、以上のような抽象クラスを含むインタフェースを有することで、ストレージサービスに応じた実装がされる。
【００８５】
図１２の説明に戻り、クライアント装置２０の通信部２２は、ＵＩ更新部２３に画面の更新要求を送信し（ステップＳ１３０）、ＵＩ更新部２３は、クライアント装置２０の表示画面を更新する（ステップＳ１３１及びＳ１３２）。すなわち、ＵＩ更新部２３は、管理サーバ１０から受け取ったアクセスプログラム取得応答（ＨＴＴＰレスポンス）に基づいて、例えば図１５に示すようなストレージサービスへのログイン画面５０００を表示させる。図１５のログイン画面５０００は、該当のストレージサービス（ストレージサービスＩＤ「Ｓ００１」、ストレージサービス名称「ストレージＡ」）へログインするための画面である。図１５のユーザＩＤ５１００、パスワード５２００、企業名５３００を入力し、決定ボタン５４００を押下すると、ストレージサービスにおいて認証処理が行われ、認証成功の場合、後述の「ストレージサービスへのログインから印刷処理」で説明するように所望のファイル（ファイル選択画面４０００でユーザが選択したファイル）が印刷される。なお、図１５のログイン画面５０００においてユーザが入力するパラメータ（認証情報）は、ストレージサービスに応じて決定される。すなわち、ここでユーザが入力するパラメータは、ストレージサービス毎に決定されるログイン時パラメータである。
【００８６】
図１２の説明に戻り、ステップＳ１２７においてプログラム不要と判定された場合、動的コード生成部１４は、ストレージサービス通信部１３に該当のファイルの取得要求を行う（ステップＳ１３３）。そして、ストレージサービス通信部１３は、ポータルサイト用のアクセスプログラムを用いて、ファイル取得要求を行い、クラウドサーバ３０から該当のファイルを取得し、この取得したファイルをクライアント装置２０に送信する（ステップＳ１３４）。そして、クライアント装置２０の通信部２２は、出力部２５に対して、取得したファイルの印刷要求を行い、出力部２５は、クライアント装置２０と接続されたプリンタなどの印刷装置からファイルの印刷を行う（ステップＳ１３５）。また、通信部２２は、ＵＩ更新部２３に画面の更新要求を行い（ステップＳ１３６）、クライアント装置２０の表示画面を、例えば印刷処理が完了したことを示す画面に更新する（ステップＳ１３７及びＳ１３８）。なお、ステップＳ１３８の処理を行った場合、クライアント装置２０は所望のファイルを印刷したため、後述する「ストレージサービスへのログインから印刷処理」は行われない。
【００８７】
以上のように、本実施形態に係る管理サーバ１０は、クライアント装置２０からの要求に応じて、要求に係るファイルを管理サーバ１０が取得するか、又はクライアント装置２０が取得するかを判定する。そして、この判定は、要求に係るファイルの容量に基づいて行う。したがって、管理サーバ１０は、いずれがよりネットワーク負荷が小さいかを判定し、適切な選択を行う。
【００８８】
なお、上記のステップＳ１２３において、該当のストレージサービスにアクセスするためのアクセスプログラムのダウンロードは不要であると判定された場合、処理を終了させ、後述する「ストレージサービスへのログインから印刷処理」を行えばよい。
【００８９】
≪ストレージサービスへのログインから印刷処理≫
次に、図１２のステップＳ１３２においてログイン画面５０００を表示させた後の処理について説明する。図１６は、第１の実施形態に係るストレージサービスへのログインから印刷処理までの一例のシーケンス図である。
【００９０】
まず、ユーザは、クライアント装置２０のクライアント操作部２１からストレージサービスへのログイン操作を行う（ステップＳ１６１）。すなわち、ユーザは、該当のストレージサービスへのログイン画面５０００からユーザＩＤ、パスワード、企業名などの認証情報を入力し、決定ボタン５４００を押下する。
【００９１】
すると、クライアント操作部２１は、ストレージサービスへのログイン要求を通信部１１を介して、ストレージサービスアクセス部２４に送信する（ステップＳ１６２）。ストレージサービスアクセス部２４は、アクセスプログラム記憶部２６から該当のアクセスプログラム（例えばクラウドサービス名称「ストレージＡ」にアクセスするためのアクセスプログラム２７１）を取得する（ステップＳ１６３）。そして、ストレージサービスアクセス部２４は、取得したアクセスプログラム２７を用いて、クラウドサーバ３０にログイン要求を行う（ステップＳ１６４）。その後、ストレージサービスを提供するクラウドサーバ３０において、認証処理が行われる。以降の説明では、認証が成功したものとして説明を続ける。
【００９２】
続いて、ストレージサービスアクセス部２４は、アクセスプログラム２７を用いて、ファイル取得要求を行い、クラウドサーバ３０から該当のファイルを取得する（ステップＳ１６５）。なお、ファイル取得要求は、所定の操作の要求の一例である。
【００９３】
そして、ストレージサービスアクセス部２４は、出力部２５に対して、取得したファイルの印刷要求を行い、出力部２５は、クライアント装置２０と接続されたプリンタなどの印刷装置からファイルの印刷を行う（ステップＳ１６６）。また、ストレージサービスアクセス部２４は、ＵＩ更新部２３に画面の更新要求を行い（ステップＳ１６７）、クライアント装置２０の表示画面を、例えば印刷処理が完了したことを示す画面に更新する（ステップＳ１６８及びＳ１６９）。
【００９４】
以上により、ユーザは、クラウドストレージに格納されているファイルの印刷を行うことができる。なお、上記で説明した処理は、クラウドストレージに格納されているファイルの印刷を行う場合のみならず、例えばファイルの取得（ダウンロード）、表示、アップロード等を行う場合においても同様の処理で行うことができる。
【００９５】
≪管理サーバへのストレージサービス登録処理≫
次に、情報管理システム１の管理者が、管理サーバ１０に新たにストレージサービスを登録する処理について説明する。この処理は、例えば新たなストレージサービスが登場した場合などにおいて、管理サーバ１０が提供するポータルサイトにおいて、ユーザがこの新たなストレージサービスを利用することができるようにするための処理である。図１７は、第１の実施形態に係る管理サーバへのストレージサービス登録処理の一例のシーケンス図である。
【００９６】
情報管理システム１の管理者は、管理サーバ１０の入力装置１０１などを介して、図１８に示すようなストレージサービス登録画面６０００を表示させて、ストレージサービスの登録操作を行う（ステップＳ１７１）。図１８のストレージサービス登録画面６０００において、管理者は、新たに登録するストレージサービスの名称６１００を入力する。また、新たに登録するストレージサービスにアクセスするためのプログラム（ポータルサイト用及びクライアント用）の登録を登録ボタン６２００で行う。また、ログイン時パラメータ６３００を設定し、ＯＫボタン６４００を押下する。なお、ログイン時パラメータの個数及び種類は、登録するストレージサービスに応じて決定される。
【００９７】
管理サーバ１０のメンテナンス部１５は、例えばストレージサービス登録画面６０００においてＯＫボタン６４００が押下されると、入力された情報を共通ファイル記憶部１６にストレージサービス情報１０００として記憶する（ステップＳ１７２）。すなわち、メンテナンス部１５は、入力された情報からストレージサービス情報１０００を生成し、共通ファイル記憶部１６に格納する。
【００９８】
このように、新たにストレージサービス情報１０００が格納されることで、ユーザは、管理サーバ１０が提供するポータルサイトにおいて、この新たに登録されたストレージサービスを利用することができるようになる。
【００９９】
≪ストレージサービス設定処理≫
次に、情報管理システム１のユーザが、ポータルサイト上で利用するストレージサービスの設定を行う処理について説明する。この設定処理により、ポータルサイト（管理サーバ１０）において、ユーザが設定したストレージサービスに対して例えばＯＡｕｔｈの仕組みなどを利用することができるようになる。図１９は、第１の実施形態に係るストレージサービス設定処理の一例のシーケンス図である。
【０１００】
ユーザは、クライアント装置２０の入力装置２０１などを介してストレージサービスの設定操作を行う（ステップＳ１９１）。これは、例えばポータルサイト上において、所定のリンクを選択することで、図２０に示すようなストレージサービス設定画面７０００を表示させて、設定操作を行う。図２０のストレージサービス設定画面７０００は、ポータルサイトで利用可能なストレージサービスの一覧７１００が表示されており、ユーザは、自身が利用したストレージサービスの設定ボタン７２００を押下することで、このストレージサービスを利用することができるようになる。すなわち、設定ボタン７２００を押下することで、例えばＯＡｕｔｈの仕組みを利用して、ポータルサイト上で設定したストレージサービスを利用することができるようになる。他方、解除ボタン７３００を押下すると、設定したストレージサービスの利用を解除することができる。
【０１０１】
ユーザが、クライアント装置２０の入力装置２０１などを介して、図２０のストレージサービス設定画面７０００のＯＫボタン７４００を押下すると、クライアント操作部２１は、設定要求を通信部２２に送信する（ステップＳ１９２）。すると、通信部２２は、設定要求を管理サーバ１０に送信し（ステップＳ１９３）、メンテナンス部１５は、通信部１１から受け取った設定要求に含まれる設定情報を用いて、ユーザファイル記憶部１７を更新する（ステップＳ１９５）。すなわち、例えば、ユーザが新たにストレージサービスを利用することを設定した場合、このストレージサービスに対応するレコードを生成してユーザファイル記憶部１７のユーザ毎ディレクトリ情報２０００を更新する（なお、このときディレクトリ情報のデータ項目は指定されていない）。他方、ユーザがストレージサービスの利用を解除した場合、このストレージサービスに対応するすべてのレコードをユーザファイル記憶部１７のユーザ毎ディレクトリ情報２０００から削除する。
【０１０２】
以上により、ユーザは、管理サーバ１０が提供するポータルサイトにおいて、ストレージサービスを利用するか否かを設定することができる。
［第２の実施形態］
次に、第２の実施形態に係る情報管理システム１について説明する。第２の実施形態に係る情報管理システム１においては、ユーザは、管理サーバ１０にストレージサービスのユーザＩＤやパスワードなどの認証情報を保管させておくことができる。これにより、クライアント装置２０からアクセスプログラム２７を用いてストレージサービスにアクセスする場合においても、ユーザＩＤやパスワードなどの認証情報を入力する必要がない。なお、システム構成及びハードウェア構成については、第１の実施形態に係る情報管理システム１のシステム構成及びハードウェア構成と同様であるため説明を省略する。
【０１０３】
＜ソフトウェア構成＞
まず、第２の実施形態に係る情報管理システム１のソフトウェア構成について説明する。図２１は、第２の実施形態に係る情報管理システムの一例の機能ブロック図である。第２の実施形態に係る情報管理システム１の機能ブロック図は、ユーザファイル記憶部１７がユーザ毎ディレクトリ情報８０００を記憶している点が第１の実施形態と異なる。
【０１０４】
≪ユーザ毎ディレクトリ情報≫
本実施形態におけるユーザ毎ディレクトリ情報８０００は、例えば図２２示すようなデータ項目を有する。図２２は、ユーザ毎ディレクトリ情報の他の例の構成図である。ユーザ毎ディレクトリ情報８０００は、第１の実施形態におけるユーザ毎ディレクトリ情報２０００が有するデータ項目に加えて、認証情報のデータ項目を有する。
【０１０５】
認証情報は、該当のユーザの、該当のストレージサービスにおける認証情報である。パラメータ１からパラメータ３などは、それぞれ、ストレージサービス情報１０００の「ログイン時パラメータ」のデータ項目に対応している。なお、認証情報は、暗号化されていることが好ましい。
【０１０６】
＜処理の詳細＞
次に、第２の実施形態に係る情報管理システム１の処理の詳細について説明する。なお、以降の処理において、特に言及しない処理については、第１の実施形態に係る情報管理システム１と同様であり、説明を省略する。なお、第２の実施形態においては、第１の実施形態において図１６を用いて説明した「ストレージサービスへのログインから印刷処理まで」の処理は行われない。したがって、本実施形態では、ユーザはストレージサービスへのログイン操作（ストレージサービスにログインするための認証情報の入力）を行うことなく、印刷やファイルの取得などのファイル操作を行うことができる。
【０１０７】
≪ストレージサービス設定処理≫
図２３は、第２の実施形態に係るストレージサービス設定処理の一例のシーケンス図である。ユーザは、クライアント装置２０の入力装置２０１などを介してストレージサービスの設定操作を行う（ステップＳ２３１）。これは、例えばポータルサイト上において、所定のリンクを選択することで、図２４に示すようなストレージサービス設定画面９０００を表示させて、設定操作を行う。なお、図２４のストレージサービス設定画面９０００において、図２０のストレージサービス設定画面７０００と同一の符号を付した箇所については同様の機能であるため説明を省略する、
ストレージサービス設定画面９０００において、アカウント設定ボタン９１００を押下すると、図２４に示すようなアカウント設定画面１００００が表示される。図２４は、ストレージＡのアカウント設定画面である。アカウント設定画面１００００において認証情報１０１００を入力して、ＯＫボタン１０２００を押下すると、認証情報（アカウント情報）が設定される。
【０１０８】
図２３の説明に戻り、ステップＳ２３２〜Ｓ２３４の処理は、それぞれ、図１９のステップＳ１９２〜１９４の処理と同様であるため説明を省略する。そして、ステップＳ２３５の処理において、メンテナンス部１５は、ユーザファイル記憶部１７を更新する。すわなち、メンテナンス部１５は、ユーザファイル記憶部１７のユーザ毎ディレクトリ情報８０００を更新する。このとき、ユーザによって認証情報も設定された場合、メンテナンス部１５は、ユーザ毎ディレクトリ情報８０００の認証情報のデータ項目も更新する。これによって、ユーザ毎ディレクトリ情報８０００の認証情報のデータ項目に情報が設定される。
【０１０９】
≪印刷処理≫
図２６は、第２の実施形態に係る印刷処理の一例のシーケンス図である。図２６に示す印刷処理は、第１の実施形態において図９を用いて説明したディレクトリ情報取得処理の後に行われる処理である。
【０１１０】
ステップＳ２６１〜Ｓ２６７及びステップＳ２７３〜Ｓ２７８の処理は、それぞれ、第１の実施形態における図１２のステップＳ１２１〜１２７及びステップＳ１３３〜Ｓ１３８の処理と同様であるため説明を省略する。ただし、ステップＳ２６５において、クライアント装置２０が送信するアクセスプログラム取得要求（ＨＴＴＰリクエスト）は、図２７（ａ）に示すように、Ｑｕｅｒｙ８０５に登録アカウント使用区分が指定されている。すなわち、本実施形態では、図２３を用いて説明したストレージサービス設定処理において設定した認証情報（アカウント情報）を使用することを示す情報が指定される。なお、この設定した認証情報を使用するか否かについて、例えばファイル選択画面４０００においてユーザがファイルを選択する際に、併せて選択できるようにしてもよい。なお、図２７において、図１３と同一の符号を用いている箇所は、図１３と同様であるため説明を省略する。
【０１１１】
ステップＳ２６７においてプログラム要と判定された場合、動的コード生成部１４は、共通ファイル記憶部１６から取得要求に係るアクセスプログラム（アクセスプログラム名「プログラムＡ２」）の、例えばＪａｖａソースコード（ソースファイル）を取得する。また、動的コード生成部１４は、ユーザファイル記憶部１７のユーザ毎ディレクトリ情報８０００から、該当のユーザかつ該当のストレージサービスの認証情報を取得する。そして、動的コード生成部１４は、取得したＪａｖａソースコードと、取得した認証情報とに基づいて、Ｊａｖａクラスファイルを生成し、通信部１１を介して、アクセスプログラム取得応答（ＨＴＴＰレスポンス）としてクライアント装置２０に送信する（ステップＳ２６８）。Ｊａｖａクラスファイルの生成は、例えばＪａｖａソースコード中のログイン時パラメータが設定される箇所（変数など）に、取得した認証情報を設定した上でコンパイルし、Ｊａｖａクラスファイルを生成することにより行う。このＪａｖａクラスファイルを用いることで、ストレージサービスにログインする際に、ユーザは認証情報を入力する必要がない。
【０１１２】
クライアント装置２０の通信部２２は、アクセスプログラム取得応答（ＨＴＴＰレスポンス）を受け取ると、この応答に含まれるアクセスプログラム２７をアクセスプログラム記憶部２６に保存する（ステップＳ２６９）。
【０１１３】
ここで、本実施形態に係るアクセスプログラム２７がＪａｖａプログラムである場合、例えば図２８に示すような抽象クラスを含むインタフェースを有している。抽象クラス９０１〜９０３は、第１の実施形態と同様であるため説明を省略する。抽象クラス９０４は、上記のステップＳ２６８の処理により、認証情報を設定された場合に、ストレージサービスにログインする際に使用する。抽象クラス９０４は、引数を有しないことからログイン時パラメータで指定されたパラメータ（例えば、ユーザＩＤ、パスワード、企業名など）をログイン時に入力する必要がない。なお、戻り値はクライアント装置２０とクラウドサーバ３０とのセッションを識別する情報を含むＣｏｏｋｉｅである。
【０１１４】
アクセスプログラム２７は、以上のような第１の実施形態における抽象クラスに加えて抽象クラス９０４を含むインタフェースを有することで、ストレージサービスにログインする際に、認証情報を入力することなくログインできる実装がされる。
【０１１５】
図１２の説明に戻り、クライアント装置２０の通信部２２は、ストレージサービスへのログイン要求をストレージサービスアクセス部２４に送信する（ステップＳ２７０）。そして、ストレージサービスアクセス部２４は、該当のアクセスプログラム２７を用いて、クラウドサーバ３０にログイン要求を行う（ステップＳ２７１）。その後、ストレージサービスを提供するクラウドサーバ３０において、認証処理が行われる。以降の説明では、認証が成功したものとして説明を続ける。ここで、上記のステップＳ２７１において、本実施形態では、ユーザはログイン情報（認証情報）を入力する必要がない。ステップＳ２６７で生成したアクセスプログラムに、認証情報が設定されているからである。
【０１１６】
続いて、ストレージサービスアクセス部２４は、該当のアクセスプログラム２７を用いて、該当のファイルをクラウドサーバ３０から取得する（ステップＳ２７２）。そして、ストレージサービスアクセス部２４は、出力部２５に対して、取得したファイルの印刷要求を行い、出力部２５は、クライアント装置２０と接続されたプリンタなどの印刷装置からファイルの印刷を行う（ステップＳ２７３）。また、ストレージサービスアクセス部２４は、ＵＩ更新部２３に画面の更新要求を行い（ステップＳ２７４）、クライアント装置２０の表示画面を、例えば印刷処理が完了したことを示す画面に更新する（ステップＳ２７５及びＳ２７６）。このように、本実施形態に係る情報管理システム１においては、ユーザは、事前にポータルサイト上でストレージサーバに対する認証情報を設定しておくことで、ポータルサイト上からストレージサーバにログインする際に認証情報を入力する必要がなくなる。
【０１１７】
＜まとめ＞
以上のように、第１の実施形態に係る情報管理システム１においては、管理サーバ１０は、クライアント装置２０からのストレージサービス上のファイル操作要求に対して、管理サーバ１０が該当のファイル操作を行うか又はクライアント装置２０が直接ストレージサービスにアクセスしてファイル操作を行うか否か判定する。そして、クライアント装置２０がファイル操作を行う場合、ストレージサービスにアクセスするためのプログラムをクライアント装置２０に送信する。これにより、クライアント装置２０は、このプログラムを用いて、直接ストレージサービスからファイル操作を行う。管理サーバ１０の以上のような振る舞いにより、管理サーバ１０とストレージサービス間のネットワーク負荷を軽減することができる。また、ユーザは、迅速にストレージサービスからファイルの取得等を行うことができるようになる。
【０１１８】
また、第２の実施形態に係る情報管理システム１においては、ユーザは、管理サーバ１０にストレージサービスにログインする際に入力する認証情報を設定（保存）しておくことができる。これにより、クライアント装置２０がアクセスプログラムを管理サーバ１０から取得してストレージサービスにアクセスする場合、ログイン情報（認証情報）を入力する必要がなくなり、ユーザの手間を省くことができる。
【０１１９】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１２０】
１      情報管理システム
１０    管理サーバ
１１    通信部
１２    ＵＩ情報生成部
１３    ストレージサービス通信部
１４    動的コード生成部
１５    メンテナンス部
１６    共通ファイル記憶部
１７    ユーザファイル記憶部
２０    クライアント装置
２１    クライアント操作部
２２    通信部
２３    ＵＩ更新部
２４    ストレージサービスアクセス部
２５    出力部
２６    アクセスプログラム記憶部
３０    クラウドサーバ
【先行技術文献】
【特許文献】
【０１２１】
【特許文献１】特開２００７−２０８３４０号公報
【図１】
2015170296.tif 000003
【図２】
2015170296.tif 000004
【図３】
2015170296.tif 000005
【図４】
2015170296.tif 000006
【図５】
2015170296.tif 000007
【図６】
2015170296.tif 000008
【図７】
2015170296.tif 000009
【図８】
2015170296.tif 000010
【図９】
2015170296.tif 000011
【図１０】
2015170296.tif 000012
【図１１】
2015170296.tif 000013
【図１２】
2015170296.tif 000014
【図１３】
2015170296.tif 000015
【図１４】
2015170296.tif 000016
【図１５】
2015170296.tif 000017
【図１６】
2015170296.tif 000018
【図１７】
2015170296.tif 000019
【図１８】
2015170296.tif 000020
【図１９】
2015170296.tif 000021
【図２０】
2015170296.tif 000022
【図２１】
2015170296.tif 000023
【図２２】
2015170296.tif 000024
【図２３】
2015170296.tif 000025
【図２４】
2015170296.tif 000026
【図２５】
2015170296.tif 000027
【図２６】
2015170296.tif 000028
【図２７】
2015170296.tif 000029
【図２８】
2015170296.tif 000030