(57)【要約】【課題】仕様が異なるサービス提供装置とリソースが様々であるクライアント装置との間でのサービスの利用を支援する。【解決手段】中継装置３０は、アクセス要求を受信すると、変換処理を行う。つまり、第１抽象化Ｉ／Ｆ部３１０においては、クライアント装置が解釈可能な言語を、中継装置３０が解釈可能な中間言語に変換する処理が行われ、さらに、第２抽象化Ｉ／Ｆ部３２０においては、中継装置３０が解釈可能な中間言語を、クラウドサービス提供装置４０ａが解釈可能な言語に変換する処理が行われる。この変換処理を経たアクセス要求は、ユーザＩＤに対応するアクセストークンが付加されたうえで、クラウドサービス提供装置４０ａに対応する通信Ｉ／Ｆ部３３０ａから送信される。クラウドサービス提供装置４０ａは、アクセストークンの有効性を確認してから、このアクセス要求に応じてフォルダの一覧を中継装置３０に送信する。【選択図】図４
2014010770.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置にサービスを提供するサービス提供装置と、前記クライアント装置とそれぞれ通信を行う通信手段と、
複数のクライアント装置のそれぞれが解釈可能な言語と、自装置が解釈可能な言語とを相互に変換する第１変換処理を行う第１変換手段と、
複数のサービス提供装置のそれぞれが解釈可能な言語と、自装置が解釈可能な言語とを相互に変換する第２変換処理を行う第２変換手段とを備え、
前記通信手段が、前記クライアント装置から前記サービス提供装置に対するデータを受信したときには、当該データに対して前記第１変換手段が前記第１変換処理を行ってから前記第２変換手段が前記第２変換処理を行い、当該第１変換処理及び当該第２変換処理を経たデータを前記サービス提供装置に送信し、
前記通信手段が、前記サービス提供装置から前記クライアント装置に対するデータを受信したときには、当該データに対して前記第２変換手段が前記第２変換処理を行ってから前記第１変換手段が前記第１変換処理を行い、当該第２変換処理及び当該第１変換処理を経たデータを前記クライアント装置に送信する
ことを特徴とする中継装置。
【請求項２】
前記通信手段は、複数の前記サービス提供装置のそれぞれに対応して設けられ、対応する当該サービス提供装置が使用するプロトコルに従って当該サービス提供装置と通信を行う複数の通信インタフェース部を備える
ことを特徴とする請求項１記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は中継装置に関する。
【背景技術】
【０００２】
例えばデータの保存やデータ形式の変換などの各種の情報処理をクライアント装置に代わってネットワーク上のサーバ装置が行うサービスは、クラウドサービスまたはクラウドコンピューティングと呼ばれている。例えば特許文献１には、画像形成装置がクラウドサービスを利用してプリントを行うための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０８３８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、仕様が異なるサービス提供装置とリソースが様々であるクライアント装置との間でのサービスの利用を支援することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、請求項１に係る発明は、クライアント装置にサービスを提供するサービス提供装置と、前記クライアント装置とそれぞれ通信を行う通信手段と、複数のクライアント装置のそれぞれが解釈可能な言語と、自装置が解釈可能な言語とを相互に変換する第１変換処理を行う第１変換手段と、複数のサービス提供装置のそれぞれが解釈可能な言語と、自装置が解釈可能な言語とを相互に変換する第２変換処理を行う第２変換手段とを備え、前記通信手段が、前記クライアント装置から前記サービス提供装置に対するデータを受信したときには、当該データに対して前記第１変換手段が前記第１変換処理を行ってから前記第２変換手段が前記第２変換処理を行い、当該第１変換処理及び当該第２変換処理を経たデータを前記サービス提供装置に送信し、前記通信手段が、前記サービス提供装置から前記クライアント装置に対するデータを受信したときには、当該データに対して前記第２変換手段が前記第２変換処理を行ってから前記第１変換手段が前記第１変換処理を行い、当該第２変換処理及び当該第１変換処理を経たデータを前記クライアント装置に送信することを特徴とする中継装置を提供する。
【０００６】
また、請求項２に係る発明は、上記構成において、前記通信手段は、複数の前記サービス提供装置のそれぞれに対応して設けられ、対応する当該サービス提供装置が使用するプロトコルに従って当該サービス提供装置と通信を行う複数の通信インタフェース部を備える。
【発明の効果】
【０００７】
請求項１記載の発明によれば、仕様が異なるサービス提供装置とリソースが様々であるクライアント装置との間でのサービスの利用を支援することができる。
請求項２記載の発明によれば、仕様が異なるサービス提供装置との通信を適切に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示すブロック図である。
【図２】クライアント装置のハードウェア構成を示すブロック図である。
【図３】中継装置のハードウェア構成を示すブロック図である。
【図４】中継装置のソフトウェア構成を示すブロック図である。
【図５】通信システムの動作を示すシーケンス図である。
【図６】クラウドサービス提供装置が記憶しているユーザデータベースの一例を示す図である。
【図７】中継装置が記憶するデータの一例を示す図である。
【図８】通信システムの動作を示すシーケンス図である。
【図９】通信システムの動作を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
図１は、本発明の一実施形態に係る通信システム１の全体構成を示すブロック図である。この通信システム１は、複数のクライアント装置１０ａ，１０ｂ，１０ｃと、複数のパーソナルコンピュータ１００ａ，１００ｂ，１００ｃと、ネットワーク２０と、中継装置３０と、複数のクラウドサービス提供装置４０ａ，４０ｂ，４０ｃとを備えている。クライアント装置１０ａ及びパーソナルコンピュータ１００ａ、クライアント装置１０ｂ及びパーソナルコンピュータ１００ｂ、クライアント装置１０ｃ及びパーソナルコンピュータ１００ｃは、それぞれ対にして利用されるものであり、それぞれ個別のＬＡＮ（Local Area Network）などのネットワークに収容されている。
【００１０】
クラウドサービス提供装置４０ａ，４０ｂ，４０ｃは、いわゆるクラウドサービスを提供する装置であり、本発明のサービス提供装置の一例である。ここでいうクラウドサービスとは、例えばデータの保存や提供又はデータ形式の変換などの各種の情報処理を、クライアント装置ではなく、ネットワーク上のサーバ装置が行うというものである。クライアント装置１０ａ，１０ｂ，１０ｃは、クラウドサービス提供装置４０ａ，４０ｂ，４０ｃによって提供されるクラウドサービスを受ける情報処理装置である。本実施形態では、クライアント装置１０ａ，１０ｂ，１０ｃは、例えばプリンタなどの画像形成装置やスキャナなどの画像読取装置である。ネットワーク２０は、クライアント装置１０ａ，１０ｂ，１０ｃ及びパーソナルコンピュータ１００ａ，１００ｂ，１００ｃと、中継装置３０と、クラウドサービス提供装置４０ａ，４０ｂ，４０ｃとを相互に接続する通信網であり、例えばインターネットである。
【００１１】
中継装置３０は、クラウドサービス提供装置４０ａ，４０ｂ，４０ｃからクライアント装置１０ａ，１０ｂ，１０ｃにクラウドサービスが提供される際に、クラウドサービス提供装置４０ａ，４０ｂ，４０ｃとクライアント装置１０ａ，１０ｂ，１０ｃとの間で遣り取りされるデータの中継処理を行う。より具体的には、中継装置３０は、例えば保存対象となる画像データがクライアント装置１０ａ，１０ｂ，１０ｃのいずれかから送信されてくると、そのデータをクラウドサービス提供装置４０ａ，４０ｂ，４０ｃのいずれかに転送したり、出力対象となる画像データがクラウドサービス提供装置４０ａ，４０ｂ，４０ｃのいずれかから送信されてくると、そのデータをクライアント装置１０ａ，１０ｂ，１０ｃのいずれかに転送したり、或いは、クラウドサービス提供装置４０ａ，４０ｂ，４０ｃとクライアント装置１０ａ，１０ｂ，１０ｃとの間でこれら画像データの送受信する間に、上記送受信以外のサービス（例えばＯＣＲ（Optical Character Recognition）と呼ばれる画像認識を行うサービスや画像データの形式を変換するサービスなど）を呼び出したりする。
【００１２】
クライアント装置１０ａ，１０ｂ，１０ｃが実装するリソースは様々である。例えばクライアント装置としての画像形成装置は一般的なパーソナルコンピュータと比べると表示能力が劣っているものも存在し、また、同じ画像形成装置というカテゴリに含まれるクライアント装置であっても、処理能力やサポートする画像データのフォーマットの種類が異なる。一方、クラウドサービス提供装置４０ａ、４０ｂ、４０ｃは、開発者や運営管理者が異なるために、解釈可能なコマンドや通信規約などの言語が異なるなど、その仕様は様々である。このため、中継装置３０は、クライアント装置１０ａ，１０ｂ，１０ｃのリソースの違いや、クラウドサービス提供装置４０ａ，４０ｂ，４０ｃの仕様の違いに影響を受けることなく、クライアント装置１０ａ，１０ｂ，１０ｃとクラウドサービス提供装置４０ａ，４０ｂ，４０ｃとの間でやり取りされる制御データや画像データやファイル等のデータを中継するようになっている。
【００１３】
また、この種のデータ中継における認証処理の仕組みとして、いわゆるシングルサインオンという仕組みがある。このシングルサインオンは、クラウドサービスのそれぞれに登録している複数の認証情報であるユーザ名及びパスワードを関連付けて中継装置などが保持し、各々のクラウドサービスに対するログインをこの中継装置が担うというものである。しかしながら、この仕組みでは、中継装置３０が認証情報であるユーザ名及びパスワードという個人情報を保持するから、これらの個人情報が第３者に漏洩するリスクを否定できない。そこで、中継装置３０は、ユーザがクラウドサービス提供装置４０ａ，４０ｂ，４０ｃに登録しているユーザ名及びパスワードを保持することなく、ユーザのクライアント装置１０ａ，１０ｂ，１０ｃからクラウドサービス提供装置４０ａ，４０ｂ，４０ｃに対するデータの中継を行うようになっている。
【００１４】
なお、通信システム１を構成する各装置の数は、図１に示した数に限らない。また、クライアント装置１０ａ，１０ｂ，１０ｃはいずれも共通のハードウェア構成及び動作であるから、以下では、これらを区別して説明する場合を除き、クライアント装置１０と呼ぶことにする。パーソナルコンピュータ１００ａ，１００ｂ，１００ｃ、クラウドサービス提供装置４０ａ，４０ｂ，４０ｃについても同様に、パーソナルコンピュータ１００、クラウドサービス提供装置４０と呼ぶことがある。
【００１５】
図２は、クライアント装置１０のハードウェア構成を示す図である。クライアント装置１０は、制御部１１と、通信部１２と、操作部１３と、表示部１４と、画像形成・読取部１５と、記憶部１６とを備えている。制御部１１は、ＣＰＵ（Central Processing Unit）などの演算装置と、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）などの主記憶装置とを備えている。ＲＯＭには、ＣＰＵによって実行されるプログラムが記憶されている。ＣＰＵは、ＲＡＭをワークエリアとして用いてＲＯＭや記憶部１６に記憶されたプログラムを実行することによって、クライアント装置１０の各部の動作を制御する。通信部１２は、例えばＨＴＴＰ（Hypertext Transfer Protocol）に従って、ネットワーク２０経由で、中継装置３０やクラウドサービス提供装置４０と通信を行う。通信部１２は、本発明の通信手段の一例である。操作部１３は、各種のキーやタッチセンサなどの操作子を備えた操作手段であり、利用者の操作に応じた操作信号を制御部１１に供給する。制御部１１は、この操作信号に応じた処理を行う。表示部１４は、液晶パネルや液晶駆動回路を備えた表示手段であり、制御部１１による制御の下で画像を表示する。画像形成・読取部１５は、電子写真方式で画像を形成したり、原稿の画像を光学的に読み取ったりする。記憶部１６は、例えばハードディスク等の大容量の記憶手段であり、制御部３１が用いるデータ群やプログラム群を記憶している。
【００１６】
図３は、中継装置３０のハードウェア構成を示す図である。中継装置３０は、制御部３１と、通信部３２と、記憶部３３とを備えたコンピュータとして構成されている。制御部３１は、ＣＰＵ等の演算装置と、ＲＯＭ及びＲＡＭなどの主記憶装置とを備えている。ＣＰＵは、ＲＡＭをワークエリアとして用いてＲＯＭや記憶部３３に記憶されたプログラムを実行することによって、中継装置３０の各部の動作を制御する。通信部３２は、例えばＨＴＴＰに従って、ネットワーク２０経由で、クライアント装置１０、パーソナルコンピュータ１００及びクラウドサービス提供装置４０とデータ通信を行う。記憶部３３は、例えばハードディスク等の大容量で不揮発性の記憶手段であり、制御部３１が用いるデータ群やプログラム群を記憶している。
【００１７】
図４は、中継装置３０の機能構成を示す図である。
中継装置は、第１抽象化インタフェース部３１０（以下、インタフェースをＩ／Ｆという）と、第２抽象化Ｉ／Ｆ部３２０と、通信Ｉ／Ｆ部３３０ａ，３３０ｂ，３３０ｃとを備える。第１抽象化Ｉ／Ｆ部３１０は、クライアント装置１０の違いを吸収するための構成であり、各種のクライアント装置１０のそれぞれが解釈可能な制御コマンドやＡＰＩ（Application Programming Interface）などの言語と、中継装置３０が解釈可能な中間言語とを相互に変換する。第２抽象化Ｉ／Ｆ部３２０は、クラウドサービス提供装置４０の違いを吸収するための構成であり、各種のクラウドサービス提供装置４０のそれぞれが解釈可能な制御コマンドやＡＰＩ（Application Programming Interface）などの言語と、中継装置３０が解釈可能な中間言語とを相互に変換する。通信Ｉ／Ｆ部３３０は、クラウドサービス提供装置に対応してそれと同じ数だけ設けられ、クラウドサービス提供装置４０が使用するプロトコルに従ってそのクラウドサービス提供装置４０と通信を行う。第１抽象化Ｉ／Ｆ部３１０は、複数のクライアント装置のそれぞれが解釈可能な言語と、中継装置が解釈可能な言語とを相互に変換する第１変換処理を行う、本発明の第１変換手段の一例である。第２抽象化Ｉ／Ｆ部３２０は、複数のサービス提供装置のそれぞれが解釈可能な言語と、中継装置が解釈可能な言語とを相互に変換する第２変換処理を行う、本発明の第２変換手段の一例である。通信Ｉ／Ｆ部３３０ａ，３３０ｂ，３３０ｃは、複数のサービス提供装置のそれぞれに対応して設けられ、対応する当該サービス提供装置が使用するプロトコル（例えばＨＴＴＰ）に従って当該サービス提供装置と通信を行う、本発明の複数の通信インタフェース部の一例である。
【００１８】
［動作］
次に、図５〜図９を参照しながら実施形態の動作について説明する。ここでは、図１に示したクライアント装置１０ａが、クラウドサービス提供装置４０ａによって提供されるデータ保存サービスを受ける例について説明する。
【００１９】
図５において、あらかじめ、中継装置３０の制御部３１は、クライアント装置１０ａに対し、サービスを提供するクラウドサービス提供装置４０と相互に連携登録を行う必要がある。ここでいう連携とは、中継装置３０とクラウドサービス提供装置４０とが連携するという意味である。中継装置３０の制御部３１は、クラウドサービス提供装置４０ａに対し、連携登録の要求を行う（ステップＳ１）。中継装置３０の制御部３１は、クラウドサービス提供装置４０ａに対し、中継装置３０を識別するための装置識別情報とともに連携登録の要求を行う。クラウドサービス提供装置４０ａは、要求元の中継装置３０に対し、連携を許可することを意味する連携許可情報を送信する（ステップＳ２）。このとき、クラウドサービス提供装置４０ａは、中継装置３０を識別する装置識別情報と、連携を許可したことを示す情報とを関連付けて記憶する。
【００２０】
次に、ユーザはパーソナルコンピュータ１００ａを操作して、中継装置３０に対し、クラウドサービスへのアクセス要求を行う。このアクセス要求に応じて、中継装置３０の制御部３１は、クラウドサービスへのアクセスを案内するアクセス画面を表示するためのデータを送信し、パーソナルコンピュータ１００ａはＷｅｂブラウザ等の機能によってこのアクセス画面を表示部１４に表示させる。この画面はＨＴＭＬ（HyperText Markup Language）などの言語で記述される。ユーザが自身のユーザＩＤの入力とともに所望するクラウドサービス提供装置４０ａへアクセスするため入力を行う（ステップＳ３）。
【００２１】
なお、中継装置３０の制御部３１が、あらかじめ相互に連携登録したクラウドサービス提供装置４０ａへアクセス可能である旨の情報をパーソナルコンピュータ１００ａへ送信し、パーソナルコンピュータ１００ａのＷｅｂブラウザの機能によって、クラウドサービス提供装置４０ａへそのままアクセスするための画面を表示させ、ユーザがこの画面上でアクセスを指示するようにしてもよい。
【００２２】
また、中継装置３０の制御部３１は、あらかじめ複数のクラウドサービス提供装置４０ａ，４０ｂ，４０ｃとそれぞれ相互に連携登録していた場合、パーソナルコンピュータ１００ａに対し、複数のクラウドサービス提供装置４０ａ，４０ｂ，４０ｃのいずれかへのアクセスを選択させる画面を表示させるようにしてもよい。そして、ユーザがアクセスしたいクラウドサービス提供装置４０ａを選択すると、中継装置３０に対し、ユーザＩＤとともにクラウドサービス提供装置４０ａへのアクセス要求を送信する（ステップＳ４）。中継装置３０の制御部３１は、パーソナルコンピュータ１００ａからユーザＩＤとクラウドサービス提供装置４０ａへのアクセス要求とを受信すると、あらかじめ連携登録されているクラウドサービス提供装置４０ａに対し、パーソナルコンピュータ１００ａからのアクセス要求を転送する（ステップＳ５）。このとき、中継装置３０の制御部３１は、パーソナルコンピュータ１００ａからのアクセス要求とともに送信されてきたユーザＩＤと、クラウドサービス提供装置４０ａへアクセス要求を転送した旨の情報とを関連付けて記憶部３３に記憶する。
【００２３】
クラウドサービス提供装置４０ａは、アクセス要求を受信すると、ログイン状態の検証を行い(ステップＳ６)、当該アクセス要求に対応したログインアカウントがなければ、ログイン要求画面を表示するためのデータを生成し（ステップＳ７）、アクセス要求の要求元であるパーソナルコンピュータ１００ａに宛てて送信する。パーソナルコンピュータ１００ａは、Ｗｅｂブラウザの機能によって、クラウドサービス提供装置４０ａへのログイン画面を表示する（ステップＳ８）
【００２４】
ユーザは、パーソナルコンピュータ１００ａに表示されたクラウドサービス提供装置４０ａへのログイン画面に、クラウドサービス提供装置４０ａへの認証情報としてのログインアカウントであるユーザ名とパスワードを入力する（ステップＳ９）。ユーザにより入力されたログインアカウントであるユーザ名とパスワードは、クラウドサービス提供装置４０ａへ送信される（ステップＳ１０）。
【００２５】
クラウドサービス提供装置４０ａは、受信したログインアカウントであるユーザ名とパスワードにより、図６に示すようなユーザデータベースを用いて認証処理を行い、ログインが成功であると判断すると（ステップＳ１１）、予めクラウドサービス提供装置４０ａと連携登録された装置であり且つアクセス要求の転送を行った装置である中継装置３０がクラウドサービス提供装置４０ａにアクセスすることを許可するアクセス許可を与えるか否かをユーザに入力させるための画面データを生成し、パーソナルコンピュータ１００ａへ送信する（ステップＳ１２）。
【００２６】
パーソナルコンピュータ１００ａは、受信した画面データに基づき、アクセス許可を入力するためのアクセス許可入力画面をＷｅｂブラウザの機能によって表示する。そして、ユーザにより「アクセス許可」の入力がなされると（ステップＳ１３）、パーソナルコンピュータ１００ａは、「アクセス許可」の指示をクラウドサービス提供装置４０ａに送信する（ステップＳ１４）。
【００２７】
クラウドサービス提供装置４０ａは、パーソナルコンピュータ１００ａから「アクセス許可」の指示を受信すると、アクセス要求の転送を行った装置であり且つあらかじめ連携登録されている中継装置３０に対し、クラウドサービス提供装置４０ａへのアクセストークンを発行し、中継装置３０へ送信する（ステップＳ１５）。このアクセストークンは、ログインしたアカウントに対してクラウドサービス提供装置４０から与えられる権限情報であり、例えばアカウント情報やアクセス権限を意味する情報が含まれている。このアクセストークンとともにアクセス要求がなされた場合、クラウドサービス提供装置４０ａは、発行したアクセストークンに対応したログインアカウントの権限でアクセスを許可する。
【００２８】
中継装置３０の制御部３１は、図７に示すようにして、このアクセストークンを、ステップＳ５にて記憶しておいたユーザＩＤと対応付けて記憶部３３に記憶する（ステップＳ１６）。
以上の図５の処理によって、中継装置３０は、ユーザＩＤで特定されるクラウドサービス提供装置４０ａへのアクセスに対するアクセス権限を持つことになる。
【００２９】
次に、図８において、ユーザは、例えばユーザＩＤを記憶したカード媒体をクライアント装置１０ａに読み取らせるなどして、ユーザＩＤをクライアント装置１０ａに入力し、さらに、操作部１３を操作してクラウドサービスの一覧を要求する。クライアント装置１０ａの制御部１１はこの操作を受け付け、サービスの一覧要求を中継装置３０に送信する（ステップＳ２１）。この要求に応じて、中継装置３０の制御部３１は、クライアント装置１０ａにサービス一覧を送信する（ステップＳ２２）。ユーザが、クライアント装置１０ａの表示部１４に表示されたサービス一覧の中から、データ保存サービスを指定する操作を行うと、クライアント装置１０ａの制御部１１はこの操作を受け付け（ステップＳ２３）、データ保存サービスに対するアクセス要求を中継装置３０に送信する（ステップＳ２４）。
【００３０】
中継装置３０の制御部３１は、このアクセス要求を受信すると、変換処理を行う（ステップＳ２５）。つまり、第１抽象化Ｉ／Ｆ部３１０においては、クライアント装置が解釈可能な言語を、中継装置３０の制御部３１が解釈可能な中間言語に変換する処理が行われ、さらに、第２抽象化Ｉ／Ｆ部３２０においては、中継装置３０の制御部３１が解釈可能な中間言語を、クラウドサービス提供装置４０ａが解釈可能な言語に変換する処理が行われる。そして、これらの変換処理を経たアクセス要求は、上記ユーザＩＤに対応するアクセストークンが付加されたうえで、クラウドサービス提供装置４０ａに対応する通信Ｉ／Ｆ部３３０ａから、クラウドサービス提供装置４０ａに送信される（ステップＳ２６）。クラウドサービス提供装置４０ａは、アクセストークンの有効性を確認してから、このアクセス要求に応じたフォルダ一覧の情報を中継装置３０に送信する（ステップＳ２７）。すなわち、クラウドサービス提供装置４０ａは、ユーザのログイン成功とともにアクセストークンを発行しているから、アクセストークンの有効性が確認されたユーザに対するデータ保存サービスの提供を許可し、このユーザが利用可能なフォルダ一覧の情報を中継装置３０に送信する。
【００３１】
中継装置３０の制御部３１は、このフォルダ一覧の情報を受信すると、変換処理を行う（ステップＳ２８）。つまり、第２抽象化Ｉ／Ｆ部３２０においては、クラウドサービス提供装置４０ａが解釈可能な言語を、中継装置３０の制御部３１が解釈可能な中間言語に変換する処理が行われ、さらに、第１抽象化Ｉ／Ｆ部３１０においては、中継装置３０の制御部３１が解釈可能な中間言語を、クライアント装置が解釈可能な言語に変換する処理が行われる。そして、これらの変換処理を経たフォルダ一覧の情報が、クライアント装置に送信される（ステップＳ２９）。
【００３２】
ユーザはクライアント装置１０ａの表示部１４に表示されるフォルダ一覧を参照し、操作部１３を操作して、保存場所として所望するフォルダを指定する。次に、ユーザはクライアント装置１０ａの画像形成・読取部１５により原稿を読み取らせる指示を行う。クライアント装置１０ａの制御部１１はこの操作を受け付けると、クライアント装置１０は画像形成・読取部１５により原稿を読み取り、画像データを取得する（ステップＳ３０）。クライアント装置１０ａの制御部１１は、指定されたフォルダへのデータの格納要求と取得した画像データとを中継装置３０に送信する（ステップＳ３１）。中継装置３０の制御部３１は、これを受信すると、言語の変換処理を行う（ステップＳ３２）。つまり、第１抽象化Ｉ／Ｆ部３１０においては、クライアント装置が解釈可能な言語を、中継装置３０の制御部３１が解釈可能な中間言語に変換する処理が行われ、さらに、第２抽象化Ｉ／Ｆ部３２０においては、中継装置３０の制御部３１が解釈可能な中間言語を、クラウドサービス提供装置４０ａが解釈可能な言語に変換する処理が行われる。
【００３３】
そして、これらの変換処理を経たデータ（指定したフォルダへの格納要求及び画像データ）は、上記ユーザＩＤに対応するアクセストークンが付加されたうえで、クラウドサービス提供装置４０ａに対応する通信Ｉ／Ｆ部３３０ａから、クラウドサービス提供装置４０ａに送信される（ステップＳ３３）。クラウドサービス提供装置４０ａは、中継装置３０により変換されたフォルダへの格納要求及び画像データを受信すると、アクセストークンの有効性を確認してから、そのフォルダに画像データを格納する（ステップＳ３４）。そして、クラウドサービス提供装置４０は、画像データを保存した旨の完了通知を送信する（ステップＳ３５）。中継装置３０の制御部３１は、この完了通知に対してステップＳ２８と同様の変換処理を行ってから（ステップＳ３６）、クライアント装置１０ａに送信する（ステップＳ３７）。クライアント装置１０ａの制御部１１は、この完了通知を表示部１４に表示する。
【００３４】
上記では図１に示したクライアント装置１０ａが、クラウドサービス提供装置４０ａによって提供されるデータ保存サービスを受ける例について説明したが、次に、クラウドサービス提供装置４０ａが保持、生成、管理する文書データをクライアント装置１０ａが印刷する例について説明する。
【００３５】
中継装置３０が中継するデータ印刷サービスは、クラウドサービス提供装置４０ａが管理する文書データをクライアント装置１０ａで指定し、中継装置３０が中継することによりクライアント装置１０ａで印刷出力させることを可能とするものである。クラウドサービス提供装置４０ａは文書データから印刷データを生成する機能を備えていないため、中継装置３０は、クラウドサービス提供装置４０ａからは文書データを取得し、取得した文書データをクライアント装置１０ａが印刷できる形式の印刷データに変換し、クライアント装置１０ａに提供することで、クラウドサービス提供装置４０ａが管理する文書データをクライアント装置１０ａで印刷出力することが可能となる。
【００３６】
ユーザは、あらかじめ上記図５の処理を行うことによって、中継装置３０が、ユーザＩＤで特定されるクラウドサービス提供装置４０ａへのアクセスに対するするアクセス権限を持つようにしておく。
【００３７】
次に、図９において、ユーザは、例えばユーザＩＤを記憶したカード媒体をクライアント装置１０ａに読み取らせるなどして、ユーザＩＤをクライアント装置１０ａに入力し、さらに、操作部１３を操作してクラウドサービスの一覧を要求する。クライアント装置１０ａの制御部１１はこの操作を受け付け、サービスの一覧要求を中継装置３０に送信する（ステップＳ４１）。この要求に応じて、中継装置３０の制御部３１は、クライアント装置１０ａにサービス一覧を送信する（ステップＳ４２）。ユーザが、クライアント装置１０ａの表示部１４に表示されたサービス一覧の中から、データ印刷サービスを指定する操作を行うと、クライアント装置１０ａの制御部１１はこの操作を受け付け（ステップＳ４３）、データ印刷サービスに対するアクセス要求を中継装置３０に送信する（ステップＳ４４）。
【００３８】
中継装置３０の制御部３１は、このアクセス要求を受信すると、言語の変換処理を行う（ステップＳ４５）。つまり、第１抽象化Ｉ／Ｆ部３１０においては、クライアント装置が解釈可能な言語を、中継装置３０の制御部３１が解釈可能な中間言語に変換する処理が行われる。同時に、クライアント装置１０ａからの印刷要求の情報（コマンド）は、クラウドサービス提供装置４０ａに対しては文書データの取得要求の情報（コマンド）へ変換される。さらに、第２抽象化Ｉ／Ｆ部３２０においては、中継装置３０の制御部３１が解釈可能な中間言語を、クラウドサービス提供装置４０ａが解釈可能な言語に変換する処理が行われる。そして、これらの変換処理を経た文書取得要求を含むアクセス要求は、上記ユーザＩＤに対応するアクセストークンが付加されたうえで、クラウドサービス提供装置４０ａに対応する通信Ｉ／Ｆ部３３０ａから、クラウドサービス提供装置４０ａに送信される（ステップＳ４６）。クラウドサービス提供装置４０ａは、アクセストークンの有効性を確認してから、このアクセス要求に応じユーザＩＤに対応したユーザが取得可能な文書データの一覧の情報を中継装置３０に送信する（ステップＳ４７）。この文書データは、クラウドサービス提供装置４０ａが保持する文書データであってもよいし、クラウドサービス提供装置４０ａが処理した結果のデータに基づき生成された文書データであってもよいし、他のクラウドサービス提供装置４０や図示せぬ文書管理装置が保持する文書データへの参照情報であってもよい。
【００３９】
中継装置３０の制御部３１は、この文書データ一覧の情報を受信すると、変換処理を行う（ステップＳ４８）。つまり、第２抽象化Ｉ／Ｆ部３２０においては、クラウドサービス提供装置４０ａが解釈可能な言語を、中継装置３０の制御部３１が解釈可能な中間言語に変換する処理が行われ、さらに、第１抽象化Ｉ／Ｆ部３１０においては、中継装置３０の制御部３１が解釈可能な中間言語を、クライアント装置が解釈可能な言語に変換する処理が行われる。そして、これらの変換処理を経た文書データ一覧の情報が、クライアント装置に送信される（ステップＳ４９）。
【００４０】
ユーザはクライアント装置１０ａの表示部１４に表示される文書データ一覧を参照し、操作部１３を操作して、クライアント装置１０ａによって印刷したい文書データを指定する。クライアント装置１０ａの制御部１１はこの操作を受け付けると、（ステップＳ５０）。指定された文書データの印刷要求情報を中継装置３０に送信する（ステップＳ５１）。中継装置３０の制御部３１は、これを受信すると、言語の変換処理を行う（ステップＳ５２）。つまり、第１抽象化Ｉ／Ｆ部３１０においては、クライアント装置が解釈可能な言語を、中継装置３０の制御部３１が解釈可能な中間言語に変換する処理が行われ、同時に、指定された文書データの印刷要求情報は、指定された文書データの取得要求に変換される。さらに、第２抽象化Ｉ／Ｆ部３２０においては、中継装置３０の制御部３１が解釈可能な中間言語を、クラウドサービス提供装置４０ａが解釈可能な言語に変換する処理が行われる。
【００４１】
そして、これらの変換処理を経たデータ（指定した文書データの取得要求情報）は、上記ユーザＩＤに対応するアクセストークンが付加されたうえで、クラウドサービス提供装置４０ａに対応する通信Ｉ／Ｆ部３３０ａから、クラウドサービス提供装置４０ａに送信される（ステップＳ５３）。クラウドサービス提供装置４０ａは、中継装置３０により変換された、文書データの取得要求情報を受信すると、アクセストークンの有効性を確認してから、ユーザにより指定された文書データに対する取得要求処理を開始する（ステップＳ５４）。そして、クラウドサービス提供装置４０は、指定された文書データを中継装置３０へ送信する（ステップＳ５５）。中継装置３０の制御部３１は、クラウドサービス提供装置４０ａから送信されたこの文書データに対して、クライアント装置１０ａで印刷処理が可能な形式の印刷データへ変換を行う印刷データ生成処理を行う。また、制御部３１は、ステップＳ４８と同様に中継装置３０の制御部３１が解釈可能な中間言語を、クライアント装置が解釈可能な言語に変換する処理を行ってから（ステップＳ５６）、生成された印刷データとクライアント装置１０ａが解釈可能な言語で表現された情報をクライアント装置１０ａに送信する（ステップＳ５７）。クライアント装置１０ａの制御部１１は、受信した印刷データを画像形成・読取部１５により印刷出力させる（ステップＳ５８）。
【００４２】
上記したデータ印刷サービスの例においては、一つのクラウドサービス提供装置４０ａが保持、生成、管理している文書データ群においていずれかの文書データを指定して印刷する処理について説明したが、複数のクラウドサービス提供装置４０が保持、生成、管理している文書データ群から所望の文書データを検索し、それぞれ異なる複数のクラウドサービス提供装置から複数の文書データを取得して印刷するように構成することも可能である。具体的には以下のとおりである。
【００４３】
中継装置３０において、あらかじめ複数のクラウドサービス提供装置４０ａ、４０ｂ、４０ｃと連携登録しておくとともに、ユーザがパーソナルコンピュータ１００ａから中継装置３０を介して、複数のクラウドサービス提供装置４０ａ、４０ｂ、４０ｃそれぞれにアクセスとログイン処理を行う。これにより、中継装置３０は、ユーザＩＤとクラウドサービス提供装置４０ａ，４０ｂ、４０ｃそれぞれが発行したアクセストークンとを関連付けて記憶部３３に記憶する。
【００４４】
ユーザは、クライアント装置１０ａからユーザＩＤを入力するとともに、データ印刷サービスを受けることを要求する。クライアント装置１０ａから印刷対象となる文書データの検索要求と検索キー（文書名や文書に付加された情報等）が中継装置３０に送信されると、中継装置３０の制御部３１は、クライアント装置１０ａから受け付けた印刷対象の文書データの検索要求を表現する言語を、それぞれのクラウドサービス提供装置４０ａ、４０ｂ、４０ｃで解釈できる文書データの検索要求を表現する言語に変換し、それぞれのクラウドサービス提供装置４０ａ、４０ｂ、４０ｃに文書データの検索要求を行う。
【００４５】
中継装置３０の制御部３１は、各クラウドサービス提供装置４０から検索された文書データの情報をそれぞれの言語で受信し、中継装置３０で解釈できる中間言語に変換する。そして、制御部３１は、各クラウドサービス提供装置４０ａ、４０ｂ、４０に保持、管理された文書データから検索条件に一致する文書データの一覧情報を生成し、クライアント装置１０ａが解釈できる言語で表現した情報に変換してクライアント装置１０ａに送信する。この際に、制御部３１は、取得した文書データがそれぞれどのクラウドサービス提供装置４０に保持、管理されていたかの情報を記憶しておく。
【００４６】
クライアント装置１０ａでは、受信した文書データの一覧情報から、操作部１３を利用して印刷したい文書データを指定し、印刷指示を行う。この指示に応じて、クライアント装置１０ａは、指定された文書データを特定する情報と印刷指示情報とを中継装置３０に送信する。中継装置３０の制御部３１は、受信した情報を表現する言語を変換し、クライアント装置１０ａで印刷するよう指示された文書データを特定する。制御部３１は、指示された文書データがどのクラウドサービス提供装置４０に保持、管理されているかの情報を参照し、指示された文書データのそれぞれを保持、管理しているクラウドサービス提供装置４０に対し、文書データの取得要求を行う。
【００４７】
各クラウドサービス提供装置４０は、この取得要求に応じて、書データを中継装置３０へ送信する。中継装置３０の制御部３１は、各クラウドサービス提供装置４０から取得した文書データを印刷データに変換し、クライアント装置１０ａに送信する。クライアント装置１０ａはこの印刷データに応じて印刷出力を行う。これにより、クライアント装置１０ａにおいて印刷したい文書データの検索条件を入力して印刷要求を行うと、複数のクラウドサービス提供装置４０を横断して文書データを検索して印刷することが可能となる。また、複数のクラウドサービス提供装置４０を横断した検索を行うだけではなく、複数のクラウドサービス提供装置４０が保持する文書データをまとめて一括で印刷することも可能である。
【００４８】
以上のように、中継装置３０は、クライアント装置１０のリソースの違いや、クラウドサービス提供装置４０の仕様の違いに影響を受けることなく、クライアント装置１０とクラウドサービス提供装置４０との間でやり取りされるデータを中継する。また、クライアント装置１０リソースやクラウドサービス提供装置４０の仕様が変更された場合であっても、第１抽象化Ｉ／Ｆ部３１０、第２抽象化Ｉ／Ｆ部３２０及び通信Ｉ／Ｆ部３３０の機能を変更するだけで対応することが可能となる。
【００４９】
また、中継装置３０は、ユーザがクラウドサービス提供装置４０に登録している認証情報（アカウント情報）であるユーザ名及びパスワードを保持することがないから、ユーザ名及びパスワードという個人情報が漏洩するリスクを抑えられる。
【００５０】
なお、クラウドサービスとしては、実施形態の例に限らず、例えば画像認識を行うサービスや画像データの形式を変換するサービスなどのほか、情報処理のフローそのものを管理するサービスなどもあり得る。
また、上述したクライアント装置１０、中継装置３０およびクラウドサービス提供装置４０において実行されるプログラムは、磁気テープ、磁気ディスク、フロッピー（登録商標）ディスク、光記録媒体、光磁気記録媒体、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＲＡＭなどの記録媒体に記録した状態で提供し得る。
【符号の説明】
【００５１】
１…通信システム、１０ａ，１０ｂ，１０ｃ…クライアント装置、２０…ネットワーク、３０…中継装置、４０…クラウドサービス提供装置、１００…パーソナルコンピュータ
【図１】
2014010770.tif 000003
【図２】
2014010770.tif 000004
【図３】
2014010770.tif 000005
【図４】
2014010770.tif 000006
【図５】
2014010770.tif 000007
【図６】
2014010770.tif 000008
【図７】
2014010770.tif 000009
【図８】
2014010770.tif 000010
【図９】
2014010770.tif 000011