(57)【要約】  異なるセキュリティドメインに属するデータ変換サーバーとストレージサーバーの連携において、クライアント端末がデータ変換サーバーにアクセスするための認可トークンをストレージサーバーの一時ＵＲＬに交換可能とすると、データ交換サーバー外部にあるクライアント端末が不正に一時ＵＲＬを発行でき、データ変換サーバーが意図しないファイル操作が行われてしまうというセキュリティ上の課題があった。  クライアント端末がデータ変換サーバーにアクセスするためのスコープと、一時ＵＲＬを発行するために必要なスコープを分け、データ変換サーバーしか一時ＵＲＬ発行用スコープを利用できないよう制限することで、セキュアに一時ＵＲＬを外部クライアント端末に対して提供することができる。
2016088199.tif 000002
【特許請求の範囲】
【請求項１】
プリントサービスを保有するサーバーシステムと、ストレージサービスを保有するサーバーシステムと、クライアントとを含む印刷システムであって、
サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行する発行手段と、
印刷対象のデータを印刷データへ変換する変換手段と、
プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのＵＲＬを生成する生成手段と、
を有し、
第１の認可情報を前記クライアントから受信した前記変換手段は、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第１の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第２の認可情報の発行を前記発行手段に要求し、発行された前記第２の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのＵＲＬの生成を前記生成手段に要求し、前記生成手段により生成された前記ＵＲＬを前記クライアントへ送信することを特徴とする印刷システム。
【請求項２】
前記生成手段は、前記変換手段から受信したスコープが前記印刷対象のデータのアップロードの操作を行うことを表すスコープである場合は、アップロードを行うためのＵＲＬを生成し、前記変換手段から受信したスコープが前記印刷データのダウンロードの操作を行うことを表すスコープである場合は、ダウンロードを行うためのＵＲＬを生成することを特徴とする請求項１に記載の印刷システム。
【請求項３】
要求元から認証情報とスコープとを受信し前記認可情報の発行を要求された前記発行手段は、受信した前記認証情報がデータベースに登録されている認証情報と一致したことを確認した後、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれているか否かを確認し、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれていることが確認できたことに応じて前記認可情報を発行することを特徴とする請求項１または２に記載の印刷システム。
【請求項４】
前記クライアントの認証情報に紐付くスコープには、前記生成手段の認証情報に紐付くスコープが含まれておらず、前記クライアントに対しては前記第２の認可情報の発行ができないことを特徴とする請求項２または３に記載の印刷システム。
【請求項５】
前記生成手段の認証情報に紐付くスコープには、前記印刷対象のデータのアップロードの操作を行うことを表すスコープ、前記印刷データのダウンロードの操作を行うことを表すスコープの両方のスコープが含まれることを特徴とする請求項３または４に記載の印刷システム。
【請求項６】
前記変換手段は、前記第１の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認できなかった場合は、エラーである旨を前記クライアントへ送信することを特徴とする請求項１乃至５の何れか１項に記載の印刷システム。
【請求項７】
プリントサービスを保有するサーバーシステムと、ストレージサービスを保有するサーバーシステムと、クライアントとを含む印刷システムにて実行される方法であって、
発行手段は、サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行し、
変換手段は、印刷対象のデータを印刷データへ変換し、
生成手段は、プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのＵＲＬを生成し、
更に、第１の認可情報を前記クライアントから受信した前記変換手段は、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第１の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第２の認可情報の発行を前記発行手段に要求し、発行された前記第２の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのＵＲＬの生成を前記生成手段に要求し、前記生成手段により生成された前記ＵＲＬを前記クライアントへ送信することを特徴とする方法。
【請求項８】
前記生成手段は、前記変換手段から受信したスコープが前記印刷対象のデータのアップロードの操作を行うことを表すスコープである場合は、アップロードを行うためのＵＲＬを生成し、前記変換手段から受信したスコープが前記印刷データのダウンロードの操作を行うことを表すスコープである場合は、ダウンロードを行うためのＵＲＬを生成することを特徴とする請求項７に記載の方法。
【請求項９】
要求元から認証情報とスコープとを受信し前記認可情報の発行を要求された前記発行手段は、受信した前記認証情報がデータベースに登録されている認証情報と一致したことを確認した後、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれているか否かを確認し、受信したスコープに関する情報が前記認証情報に紐付けられているスコープに含まれていることが確認できたことに応じて前記認可情報を発行することを特徴とする請求項７または８に記載の方法。
【請求項１０】
前記クライアントの認証情報に紐付くスコープには、前記生成手段の認証情報に紐付くスコープが含まれておらず、前記クライアントに対しては前記第２の認可情報の発行ができないことを特徴とする請求項８または９に記載の方法。
【請求項１１】
前記生成手段の認証情報に紐付くスコープには、前記印刷対象のデータのアップロードの操作を行うことを表すスコープ、前記印刷データのダウンロードの操作を行うことを表すスコープの両方のスコープが含まれることを特徴とする請求項９または１０に記載の方法。
【請求項１２】
前記変換手段は、前記第１の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認できなかった場合は、エラーである旨を前記クライアントへ送信することを特徴とする請求項７乃至１１の何れか１項に記載の方法。
【請求項１３】
ストレージサービスを保有するサーバーシステムと、クライアントと通信可能なプリントサービスを保有するサーバーシステムにて実行されるプログラムであって、
サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行する発行ステップと、
印刷対象のデータを印刷データへ変換する変換ステップと、
プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのＵＲＬを生成する生成ステップと、
を含み、
第１の認可情報を前記クライアントから受信した前記変換ステップにおいて、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第１の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第２の認可情報の発行を前記発行ステップにて要求し、発行された前記第２の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのＵＲＬを前記生成ステップにおいて生成させ、生成された前記ＵＲＬを前記クライアントへ送信することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
複数セキュリティドメイン間のサービス連携を実現する印刷システム、方法、およびプログラム。
【背景技術】
【０００２】
近年、サーバーがクライアントにサービスを提供するクラウドコンピューティングの形態が注目を集めている。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を分散並列処理により並行して処理することが主な特徴である。現在、このクラウドコンピューティングを実現するクラウドコンピューティング環境上にＷｅｂサービスを実装し、多種多様なサービスを提供するベンダーが乱立しつつある。クラウドサービスの開発においては、既にＷｅｂ上にて提供されているサービスを有効活用し新しい機能を提供することで開発スピードや開発コストの面で優位になる。【０００３】
クラウドサービス連携においてはサービスを提供するベンダーが複数存在するため、セキュリティドメインが異なることが課題となる。セキュリティドメインの異なるクラウドサービスを複数連携させてユーザに利用させる場合、クライアント（ユーザ）はセキュリティドメイン毎に認証する必要があり利便性を損ねてしまうのである。一つの解決手段としてセキュリティドメインが異なるサービス間の連携において、一定期間のみ利用可能な一時ＵＲＬ（または認可トークン）をサービス利用者に提供することでＳｉｎｇｌｅＳｉｇｎＯｎを実現する認証方法がある。【０００４】
特許文献１には、クライアントからの認証情報と印刷データＵＲＬを保存しておき、ユーザに入力された認証情報と保存している認証情報が一致している場合に印刷データＵＲＬから利用可能とし印刷実行する方法が開示されており、認証情報からＵＲＬを特定する形態は従来から存在している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１８３０９１
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術に記載の認証方法を利用した技術として、スマートフォンなどのモバイル端末からプリントサービスを利用し、文書ファイルを印刷データに変換しプリンタにて印刷を行うクラウドプリンティングが想定できる。クラウドプリンティングを実現するため、ストレージサービスがファイル入出力を行い、データ変換サービスがデータ変換を行うというすみ分けを行うサービス連携が考えられる。また、ストレージサービスに対する一時ＵＲＬをデータ変換サービスが利用し、ストレージサービスの所定の保存領域にデータを保存することでセキュリティドメインが異なっていても連携が可能になるという課題も解決できる。【０００７】
しかしながら、2つのサービスの連携には課題が存在する。異なるセキュリティドメインに属するデータ変換サーバーとストレージサーバーの連携において、クライアント端末がデータ変換サーバーにアクセスするための認可情報（認可トークン）でストレージサーバーの一時ＵＲＬが交換可能な場合がある。その場合、データ交換サーバー外部にあるクライアント端末がその認可情報を利用し不正に一時ＵＲＬを発行し、データ変換サーバー内に保存されているファイルに対して意図しないファイル操作を行うというセキュリティ上の課題である。【０００８】
本願発明は、ストレージサーバーの一時ＵＲＬを発行する権限を新たに設けることにより、クライアント端末がデータ変換サーバーにアクセスするための認可情報を利用し一時ＵＲＬを発行することを防ぐことを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形に係る印刷システムは、プリントサービスを保有するサーバーシステムと、ストレージサービスを保有するサーバーシステムと、クライアントとを含む印刷システムであって、サービスの利用を要求する要求元に対して認証情報を求めることなく前記サービスを利用させる際に必要な認可情報を発行する発行手段と、印刷対象のデータを印刷データへ変換する変換手段と、プリントサービスとセキュリティドメインが異なるストレージサービスに保存される前記印刷対象のデータまたは前記印刷データの保存領域を特定するためのＵＲＬを生成する生成手段と、を有し、第１の認可情報を前記クライアントから受信した前記変換手段は、前記クライアントにより前記印刷対象のデータまたは前記印刷データに対し操作が行われる際、前記第１の認可情報を基に前記クライアントが前記プリントサービスを利用することが可能であることを確認したことに応じて、第２の認可情報の発行を前記発行手段に要求し、発行された前記第２の認可情報を利用し前記印刷対象のデータまたは前記印刷データを保存する保存領域を特定するためのＵＲＬの生成を前記生成手段に要求し、前記生成手段により生成された前記ＵＲＬを前記クライアントへ送信することを特徴とする。
【発明の効果】
【００１０】
ストレージサーバーの一時ＵＲＬを発行する権限を新たに設けることにより、クライアント端末がデータ変換サーバーにアクセスするための認可情報を利用し一時ＵＲＬを発行することを防ぐことが可能になる。
【図面の簡単な説明】
【００１１】
【図１】システム構成図
【図２Ａ】各装置のハードウェア構成図
【図２Ｂ】各装置のハードウェア構成図
【図２Ｃ】各装置のハードウェア構成図
【図３Ａ】各装置のソフトウェアコンポーネント構成図
【図３Ｂ】各装置のソフトウェアコンポーネント構成図
【図３Ｃ】各装置のソフトウェアコンポーネント構成図
【図３Ｄ】各装置のソフトウェアコンポーネント構成図
【図４Ａ】データ変換サーバーで管理するテーブル構造とインデックスファイル例
【図４Ｂ】データ変換サーバーで管理するテーブル構造とインデックスファイル例
【図４Ｃ】データ変換サーバーで管理するテーブル構造とインデックスファイル例
【図５Ａ】認可サーバーで管理するテーブル構造
【図５Ｂ】認可サーバーで管理するテーブル構造
【図６Ａ】トークン交換サーバーで管理するテーブル構造と一時ＵＲＬ例
【図６Ｂ】トークン交換サーバーで管理するテーブル構造と一時ＵＲＬ例
【図７Ａ】ストレージサーバーで管理するテーブル構造
【図７Ｂ】ストレージサーバーで管理するテーブル構造
【図８Ａ】モバイル端末からの印刷フロー
【図８Ｂ】モバイル端末からの印刷フロー
【図９Ａ】プリントサーバーからの印刷フロー
【図９Ｂ】プリントサーバーからの印刷フロー
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
＜実施例１＞
＜システム構成＞
図１は、本発明の実施形態に係るモバイル印刷システムの全体構成を示す図である。図１において、プリンタ１０２、モバイル端末１０３はローカルネットワーク１０１を介して複数台接続されていることを想定している。プリンタ１０２、モバイル端末１０３は、ローカルネットワーク１０１を介してインターネットワーク１００にアクセスし、１０５〜１０９のサーバーにアクセスすることができる。モバイル端末１０３、プリンタ１０２は有線または無線ＬＡＮを介してネットワークに接続する。本実施例では、モバイル端末１０３は、無線ＬＡＮターミナル１０４を介してネットワークに接続することを想定しているが、携帯データ通信キャリアが提供する無線ネットワークを介して接続する場合も当然想定される。無線ＬＡＮターミナル１０４は、一般的なネットワーク・ルーター機能を有した無線ＬＡＮの親機であり、家庭内や事務所などの中で無線ＬＡＮを提供している。
【００１４】
プリントサーバー１０５は、受け付けたコンテンツデータをデータ変換サーバー１０６で印刷データに変換し、プリンタ１０２に印刷実行する。プリントサーバー１０５のコンテンツデータの受信手段には、メールの添付ファイルとして受信、モバイル端末１０３上のＵＩで選択されたコンテンツを受信、他のコンテンツサービス上のコンテンツを受信するなどがある。データ変換サーバー１０６は、モバイル端末１０３やプリントサーバー１０５から送信されるコンテンツデータをプリンタ１０２が読み取り可能なデータ形式に変換する。認可サーバー１０７はＯＡｕｔｈを実現するためのサーバーでありクライアント情報の管理や認可トークンの発行・管理を行う。トークン交換サーバー１０８は認可サーバー１０７で発行した認可トークンをストレージサーバー１０９にアクセス可能なＵＲＬに交換する。ストレージサーバー１０９はファイル管理を行うサーバーであり、モバイル端末１０３、プリンタ１０２、プリントサーバー１０５、データ変換サーバー１０６からのファイルアップロード／ダウンロードを受け付ける。ここで、１０５〜１０９までの各サーバーはそれぞれ複数台のサーバーで冗長化されたクラウドサービスとしてインターネット上に公開されるが、本実施例では説明を簡略化するため、それぞれ１台構成としている。
【００１５】
プリントサービスセキュリティドメイン１１０は認可サーバー１０７で発行された認可トークンでアクセス可能範囲を示しており、プリントサーバー１０５、データ変換サーバー１０６、認可サーバー１０７、トークン交換サーバー１０８が属する。ストレージサービスセキュリティドメイン１１１に属するストレージサーバー１０９には認可サーバー１０７で発行された認可トークンでアクセスすることはできない。各ドメインにて構成されるサーバー群をサーバーシステムと称し、各ドメインにおけるサーバーシステムは夫々のドメインにて提供されるサービスを保有している。例えば、プリントサービスセキュリティドメインに属するサーバーシステムは、プリントサービスを保有する。
【００１６】
＜モバイル端末１０３のハードウェア構成＞
図２Ａはモバイル端末１０３のハードウェア構成図である。ハードウェアの各構成要素は、システムバス２０２に接続されている。 ＲＯＭ２０４にはオペレーティングシステム及び、通話、データ通信を制御するアプリケーションが格納されており、ＣＰＵ２０３で実行される。 データ通信を制御するアプリケーションとしては、ＭａｉｌソフトやＷｅｂブラウザなどがある。
【００１７】
ＲＡＭ２０５は、プログラムを実行するためのワークメモリエリアである。また、ＷｅｂブラウザがＷｅｂサーバーから取得してきたＷｅｂページデータやＷｅｂサービスにアクセスするための認証情報などを一時記憶するためのメモリでもある。記憶装置２１０は不揮発性の記憶装置であり、モバイル端末の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログなどが記憶される。
【００１８】
ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０６は、無線ＬＡＮ通信部２１２、携帯キャリアの提供するネットワークに参加するための携帯電話データ通信部２１３の通信制御を行う。一般的に無線ＬＡＮのネットワークに参加できるとき、ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ２０６は、無線ＬＡＮの接続を優先する。モバイル端末が無線ＬＡＮのネットワークエリアから外れた場合には、携帯キャリアが提供する無線通信ネットワークへ参加する。音声制御部２０７は、主に通話アプリケーションが起動しユーザが電話をしているときに利用する。マイク・スピーカ２１４にて音声データの入出力を行い、音声制御部２０７は、その制御プログラムとの仲介を行っている。
【００１９】
表示制御部２０８は、モバイル端末のディスプレイ２１５にて出力する情報の制御を行っている。入力制御部２０９は、モバイル端末のボタンやタッチパネル２１６にてユーザが指示した情報の制御を行っている。これらの音声制御部２０７、表示制御部２０８、入力制御部２０９を利用して、モバイル端末上でのアプリケーションは、ネットワーク通信情報やモバイル端末のさまざまな情報をユーザに提供する。位置検出制御部２１１は、ＧＰＳセンサー２１７からモバイル端末の位置情報を取得しＯＳに提供する。これらの制御は、ＣＰＵ２０３で動くＯＳにて制御される。
【００２０】
＜サーバーのハードウェア構成＞
図２Ｂは、１０５〜１０９の各サーバーのハードウェア構成の一例を示す図である。特に断らない限り、本発明の機能が実行可能であるならば、単体の機器であっても、複数の機器からなるシステムであっても、本発明が適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行可能であるならば、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され、処理が行われるシステムであっても本発明を適用できることは言うまでもない。本実施例ではシステムバス２１９により各構成要素が接続されているものとして説明する。
【００２１】
２２０は情報処理装置の制御装置であるＣＰＵであり、記憶装置２２６に格納されているアプリケーションプログラム、プリントドライバプログラム、オペレーティングシステムや本発明のモバイル印刷システムプログラムを実行する。また、ＣＰＵ２２０はＲＡＭ２２２にプログラム実行に必要な情報、ファイル等を一時的に格納する制御を行う。また、ＣＰＵ２２０はディスプレイ２２７上の不図示マウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。２２１は記憶手段であるＲＯＭであり、内部には基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２２２は一時記憶手段であるＲＡＭであり、ＣＰＵ２２０の主メモリやワークエリア等として機能する。２２４は表示制御部であり、ディスプレイ２２７にて出力する情報の制御を行っている。２２５は入力制御部であり、キーボード２２８より入力される情報を制御し、情報処理装置は入力制御部２２５を介して外部装置とのデータのやり取りを行う。２２６は外部記憶手段の一つで、大容量メモリとして機能する記憶装置であり、アプリケーションプログラム、プリントドライバプログラム、ＯＳ等を格納している。２２８は指示入力手段であるキーボードであり、ユーザが印刷サーバー等に命令等を入力指示するためのものである。２２７は表示手段であるディスプレイであり、キーボード２２８から入力したコマンド等を表示するものである。
【００２２】
＜プリンタ１０２のハードウェア構成＞
図２Ｃは、プリンタ１０２のハードウェア構成図である。ハードウェアの各構成要素は、システムバス２３０に接続されている。２０９はプリンタ１０２のコントローラであり、プリンタの制御系を司る機器である。２３１は装置全体の制御を行うＣＰＵであり、システムバス２３０に接続される各種デバイスとのアクセスを統括的に制御する。この制御は、ＲＯＭ２３２に記憶された制御プログラム等あるいはディスクコントローラ(ＤＫＣ２３５)を介して接続された外部メモリ２３６に記憶された制御プログラムやリソースデータ(資源情報)等に基づく。２３３はＣＰＵ２３１の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。２４０は大容量メモリとして機能する外部記憶手段であり、本発明に係る印刷アプリケーション３０６のプログラムを格納している。２３９は操作パネル（操作部）であり、画面の表示や、画面を介したユーザの操作指示を受け付ける。また、プリンタ１０２の動作モード等の設定やプリンタ１０２の動作状況の表示、複写指定等の操作を行うためのボタンおよび液晶パネル等の表示部も配置される。２３４は、ネットワークインターフェースカード（ＮＩＣ）であり、該インターフェース２３４を介して外部装置とのデータのやり取りを行う。なお、本図で示したプリントエンジン２３８は既知の印刷技術を利用するものであり、好適な実施系として例えば電子写真方式(レーザービーム方式)やインクジェット方式、昇華方(熱転写)方式等が挙げられる。２３７のラスタコントローラは、ＰＤＬ言語・ＰＤＦ言語である印刷データを画像データに変換するコントローラである。２４１の機器I/Fは、USB等で接続可能な外部機器との接続I/Fである。
【００２３】
＜データ変換サーバー１０６のソフトウェア構成＞
図３Ａは、データ変換サーバー１０６のソフトウェア構成図である。なお各ソフトウェアモジュールは図２Ａ、２Ｂ、２Ｃで示した記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされ実行される。
【００２４】
３００はＷｅｂサーバーであり、後述するデータ変換サーバー１０６の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。３０１はデータ変換部であり、モバイル端末１０３やプリントサーバー１０６がストレージサーバー１０９にアップロードした文書ファイルと印刷チケットを受信し、文書ファイルを印刷チケットに従ってプリンタ１０２が印刷可能な印刷データファイルに変換する。この場合、文書ファイルが印刷対象のデータとなり、文書ファイルを基に生成されたデータが印刷データとなる。データ変換部は生成した印刷データファイルと印刷データのリストであるインデックスファイルをストレージサーバー１０９にアップロードする。３０２はストレージであり、図４Ａと図４Ｂで説明するデータ変換サーバー１０６が保持している情報が格納されている。
【００２５】
＜認可サーバー１０７のソフトウェア構成＞
図３Ｂは、認可サーバー１０７のソフトウェア構成図である。なお各ソフトウェアモジュールは図２Ａ、２Ｂ、２Ｃで示した記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされ実行される。
【００２６】
３１０はＷｅｂサーバーであり、後述する認可サーバー１０７の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。３１１は、認可情報管理部であり、図５Ａと図５Ｂで説明するクライアント情報５００と認可トークン情報５１０を管理し、Ｗｅｂサーバー３１０が受け付けたリクエストに応じて、認可トークンの発行・スコープ確認・有効期限確認などを行う。３１２はストレージであり、図５Ａと図５Ｂで説明する認可サーバー１０７が保持している情報が格納されている。
【００２７】
＜トークン交換サーバー１０８のソフトウェア構成＞
図３Ｃは、トークン交換サーバー１０８のソフトウェア構成図である。なお各ソフトウェアモジュールは図２Ａ、２Ｂ、２Ｃで示した記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされ実行される。
【００２８】
３２０はＷｅｂサーバーであり、後述するトークン交換サーバー１０８の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。３２１は、一時ＵＲＬ発行部であり、図６Ａで説明するスコープ情報６００を管理し、Ｗｅｂサーバー３２０が受け付けたリクエストに応じて、ストレージサーバー１０９にアクセス可能な一時ＵＲＬの発行を行う。３２２はストレージであり、図６Ａで説明するトークン交換サーバー１０８が保持している情報が格納されている。
【００２９】
＜ストレージサーバー１０９のソフトウェア構成＞
図３Ｄは、ストレージサーバー１０９のソフトウェア構成図である。なお各ソフトウェアモジュールは図２Ａ、２Ｂ、２Ｃで示した記憶装置２２６に記憶されており、前述したようにＣＰＵ２２０によってＲＡＭ２２２にロードされ実行される。
【００３０】
３３０はＷｅｂサーバーであり、後述するストレージサーバー１０９の各種インターフェースを提供し、受け付けた情報の妥当性の検証を行う。３３１は、アクセス制御部であり、図７Ａで説明する一時ＵＲＬアクセス制御情報７００を管理し、一時ＵＲＬアクセス制御情報７００からＷｅｂサーバー３３０が受け付けたリクエストを実行許可するか否かを判断する。アクセス制御部３３１が実行許可したリクエストはストレージ管理部３３２へ送信され、実行拒否と判断したリクエストはエラーにする。ストレージ管理部３３２は図７Ｂで説明するファイル情報７１０を管理し、アップロードリクエストされたファイルの入出力を行う。３３２はストレージであり、図７Ａ、図７Ｂで説明するストレージサーバー１０９が保持している情報やストレージサーバー１０９受信したファイルが、一時ＵＲＬに対応する保存領域に格納されている。
【００３１】
＜データ変換サーバー１０６のデータ＞
図４Ａ、図４Ｂはデータ変換サーバー１０６が外部メモリであるデータベースに記憶するデータテーブルである。これらのデータテーブルは、データ変換サーバー１０６の外部メモリではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。データ変換サーバー１０６が保持するデータテーブルは、文書情報４００、データ変換情報４１０より成る。
【００３２】
文書情報４００はデータ変換リクエスト受信時にデータ変換部３０１がレコード生成し、ストレージ３１２上で保持する。４０１は文書ＩＤであり、データ変換サーバー１０６がデータ変換リクエストを受信した際に発行する文書を一意に識別する識別子である。４０２はクライアントＩＤであり、データ変換リクエストを行ったクライアントを一意に識別する識別子である。データ変換サーバー１０６はデータ変換リクエストのパラメータとして受信した認可トークンに紐づくクライアントＩＤを認可サーバー１０７から取得しクライアントＩＤ４０２として保持する。文書ＵＲＬ４０３はデータ変換リクエストされた文書ファイルが保存された場所を示すアドレスであり、ストレージサービス１０９のＵＲＬから成る。文書ＵＲＬ４０３はデータ変換サーバー１０６がデータ変換リクエスト受信時に、ストレージサービス１０９で一意になるようＵＲＬパスに文書ＩＤ４０１やクライアントＩＤ４０２を含めて生成し保存する。
【００３３】
データ変換情報４１０はデータ変換リクエスト受信時にデータ変換部３０１がレコード生成し、ストレージ３１２上で保持する。４１１はデータ変換ＩＤであり、データ変換サーバー１０６がデータ変換リクエストを受信した際に発行するデータ変換処理を一意に識別する識別子である。クライアントＩＤ４１２、文書ＩＤ４１３はデータ変換サーバー１０６がデータ変換リクエスト受信時に保持する文書情報４００のクライアントＩＤ４０２と文書ＩＤ４０１と同じ値である。印刷チケットＵＲＬ４１４はデータ変換リクエストされた印刷チケットファイルを保存するストレージサービス１０９のＵＲＬである。印刷チケットＵＲＬ４１４は、データ変換サーバー１０６がデータ変換リクエスト受信時に、ストレージサービス１０９で一意になるようＵＲＬパスにデータ変換ＩＤ４１１やクライアントＩＤ４１２を含めて生成され保存される。インデックスＵＲＬ４１５は、データ変換サーバー１０６が印刷データ変換時に生成するインデックスファイルが保存された場所を示すアドレスであり、ストレージサービス１０９のＵＲＬから成る。インデックスＵＲＬ４１５はデータ変換サーバー１０６が印刷データ変換完了時にストレージサービス１０９で一意になるようＵＲＬパスにデータ変換ＩＤ４１１やクライアントＩＤ４１２を含めて生成し保存する。ステータス４１６はデータ変換サーバー１０６の印刷データ変換状況を示しており、データ変換サーバー１０６が印刷データ変換状況に応じて更新する。ステータス４１６には“待機中”や“変換済み”がある。
【００３４】
図４Ｃはデータ変換サーバー１０６が印刷データ変換時に生成するインデックスファイルの例である。インデックスファイルはＪＳＯＮフォーマットで、印刷データの一時ＵＲＬのリストを記載する。図４Ｃは４ページ分のＪｐｅｇ画像の一時ＵＲＬが記載されている例である。プリンタ１０２やモバイル端末１０３はインデックスファイルに記載されている一時ＵＲＬが指し示す印刷データを順番にダウンロードし印刷実行する。
【００３５】
＜認可サーバー１０７のデータ＞
図５Ａ、図５Ｂは認可サーバー１０７が外部メモリであるデータベースに記憶するデータテーブルである。これらのデータテーブルは、認可サーバー１０７の外部メモリではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。認可サーバー１０７が保持するデータテーブルは、クライアント情報５００、認可トークン情報５１０より成る。
【００３６】
図５Ａのクライアント情報５００はプリントサービスセキュリティドメイン１１０に属する１０５〜１０９のサーバーにアクセス可能なクライアントの情報が登録されている。本実施例においてクライアント情報にはモバイル端末１０３、プリントサーバー１０５、データ変換サーバー１０６が登録されている。５０１はクライアントＩＤであり、クライアントを一意に識別する識別子である。本実施例では複数のモバイル端末１０３のクライアントＩＤをｍｏｂｉｌｅ０００１〜ｍｏｂｉｌｅ０００２、プリントサーバー１０５のクライアントＩＤをｐｒｉｎｔ０００１として定義し登録している。なお、データ変換サーバー１０６のクライアントＩＤはｃｏｎｖｅｒｔ０００１として定義し登録している。５０２はクライアントの正当性を判断するためのパスワードであり、認可サーバー１０７はクライアントＩＤ５０１とパスワード５０２の一致によりクライアントを特定する。５０３はＯＡｕｔｈのスコープであり認可サーバー１０７が発行する認可トークンでアクセス可能な範囲を示す。本実施例のスコープ５０３の種類は、ＭｏｂｉｌｅＰｒｉｎｔ、ＩＪＰｒｉｎｔ、ＳｉｇｎｅｄＵｒｌＵｐｌｏａｄ、ＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄを定義する。
【００３７】
ＭｏｂｉｌｅＰｒｉｎｔスコープはモバイル端末１０３がデータ変換サーバー１０６のインターフェースにアクセスする際に必要なスコープである。ＩＪＰｒｉｎｔスコープはプリントサーバー１０５がデータ変換サーバー１０６のインターフェースにアクセスする際に必要なスコープである。ＳｉｇｎｅｄＵｒｌＵｐｌｏａｄスコープはモバイル端末１０３やプリントサーバー１０５がストレージサーバー１０９へファイルアップロードするための一時ＵＲＬを発行するためにデータ変換サーバー１０６が利用するスコープである。ＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄスコープはモバイル端末１０３やプリントサーバー１０５がストレージサーバー１０９からファイルダウンロードするための一時ＵＲＬを発行するためにデータ変換サーバー１０６が利用するスコープである。クライアントＩＤ５０１がｃｏｎｖｅｒｔ０００１であるデータ変換サーバ１０６は、ＳｉｇｎｅｄＵｒｌＵｐｌｏａｄスコープ、およびＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄスコープの両方のスコープに紐付いている。
【００３８】
図５Ｂの認可トークン情報５１０はＷｅｂサーバー３１０がトークン取得リクエストを受け付けた際に、認可情報管理部３１１がレコードを登録する。５１１は認可トークンを一意に識別可能な識別子であり、認可情報管理部３１１が生成し登録する。５１２は認可トークンの有効期限であり、認可情報管理部３１１がトークン取得リクエスト受信時間から一定時間後の値が登録される。有効期限５１２を過ぎた認可トークン５１１は無効である。スコープ５１３は認可トークン５１１が利用可能なスコープであり、認可サーバー１０７へのトークン取得リクエストで渡されるスコープが登録。クライアントＩＤ５１４は認可サーバー１０７へのトークン取得リクエストで渡されるクライアントＩＤが登録される。以上説明した様に、認証情報、認可情報に関連する各種情報は互いに紐付けされている。
【００３９】
＜トークン交換サーバー１０８のデータ＞
図６Ａはトークン交換サーバー１０８が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、トークン交換サーバー１０８の外部メモリではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。トークン交換サーバー１０８が保持するデータテーブルは、スコープ情報６００より成る。
【００４０】
図６Ａのスコープ情報６００はスコープ６０１、一時ＵＲＬ有効期限６０２からなる。スコープ６０１は一時ＵＲＬを発行可能なスコープであり、本実施例ではＳｉｇｎｅｄＵｒｌＵｐｌｏａｄ、ＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄが登録されている。一時ＵＲＬ有効期限６０２は一時ＵＲＬを利用可能な有効期限が登録される。
【００４１】
図６Ｂはトークン交換サーバー１０８が発行する一時ＵＲＬの例である。トークン交換サーバー１０８はデータ変換サーバー１０６から一時ＵＲＬ発行リクエストで受け取ったＵＲＬにクエリーパラメータを付与して一時ＵＲＬを生成する。一時ＵＲＬのパラメータには有効期限を示すＥｘｐｉｒｅｓや一時ＵＲＬの有効性を確認するための署名であるＳｉｇｎａｔｕｒｅがトークン交換サーバー１０８により付与される。Ｓｉｇｎａｔｕｒｅはトークン交換サーバー１０８とストレージサーバー１０９で共通して保持する証明書を用いてＵＲＬを署名しており、トークン交換サーバー１０８で生成した一時ＵＲＬをストレージサーバー１０９で有効性検証することができる。一時ＵＲＬ発行手段として、トークン交換サーバー１０８がストレージサーバー１０９に一時ＵＲＬ発行依頼し、ストレージサーバー１０９が一時ＵＲＬを生成する方法もある。
【００４２】
また、一時ＵＲＬのパラメータとしてＨＴＴＰメソッド（ＧＥＴ、ＨＥＡＤ、ＯＰＴＩＯＮＳ、ＰＵＴ、ＰＯＳＴ、ＰＡＴＣＨ、ＤＥＬＥＴＥ）や接続許可ＩＰアドレスを証明書で署名したポリシー情報を付与することもできる。それによりストレージサーバー１０９がリクエスト情報とポリシー情報の一致をみてリクエストの有効性検証を検証することができる。一時ＵＲＬで接続できるＨＴＴＰメソッドや接続元ＩＰアドレスを限定することで一時ＵＲＬの不正利用を減らすことができる。
【００４３】
＜ストレージサーバー１０９のデータ＞
図７Ａ、図７Ｂはストレージサーバー１０９が外部メモリに記憶するデータテーブルである。これらのデータテーブルは、ストレージサーバー１０９の外部メモリではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。ストレージサーバー１０９が保持するデータテーブルは、一時ＵＲＬアクセス制御情報７００、ファイル情報７１０より成る。
【００４４】
図７Ａの一時ＵＲＬアクセス制御情報７００はＷｅｂサーバー３３０が受け付けたリクエストを処理するか否かをアクセス制御部３３１が判断するために用いる。ＵＲＬパスパターン７０１はＵＲＬパスの正規表現であり、許可リクエスト７０２はＨＴＴＰの許可するメソッドである。アクセス制御部３３１はＷｅｂサーバー３３０が受け付けたＨＴＴＰリクエストのＵＲＬパスと一致するＵＲＬパスパターン７０１を特定し、受け付けたＨＴＴＰメソッドが許可リクエスト７０２に含まれる場合に処理を受諾する。許可リクエスト７０２に含まれないリクエストだった場合にはエラーとする。本実施例では一時ＵＲＬアクセス制御情報７００として文書用ＵＲＬパスパターン（/*/documents/*）と印刷チケット用ＵＲＬパスパターン（/*/convertjobs/*/ticket/*）の場合はアップロード／ダウンロードのためのＨＴＴＰメソッドを許可する。一方、インデックス用ＵＲＬパスパターン（/*/convertjobs/*/index/*）と印刷データ用ＵＲＬパスパターン（/*/convertjobs/*/data/*）の場合はダウンロードのためのＨＴＴＰメソッドのみを許可する。
【００４５】
図７Ｂのファイル情報７１０はストレージサーバー１０９に保存するファイルの情報でありストレージ管理部３３２が管理する。データＵＲＬ４１１はストレージサーバー１０９に保存するファイルを一意に特定することができるＵＲＬである。ファイルパス７１２はストレージ３３３上のファイルパスであり、ストレージ管理部３３２が管理するファイルの格納場所を示す。ストレージ管理部３３２は/dataディレクトリ内にデータＵＲＬ４１１のサブパスと同じ階層構造でディレクトリを作成しファイル格納する。データＵＲＬ４１１に対してリクエストすることによりストレージ３３３上のファイル操作を行うことができる。たとえば、データＵＲＬ４１１に対してＨＴＴＰ  ＧＥＴメソッドをリクエストすると対応するファイルがダウンロードできる。データＵＲＬ４１１に対してＨＴＴＰ  ＰＵＴメソッドにファイル添付してリクエストするとファイルをアップロードし保存できる。データＵＲＬ４１１に対してＨＴＴＰ  ＤＥＬＥＴＥメソッドをリクエストすると対応するファイルを削除できる。
【００４６】
＜モバイル端末１０３からの印刷フロー＞
図８Ａ、図８Ｂはモバイル端末１０３が文書をデータ変換サーバー１０６で印刷データに変換し、プリンタ１０２に印刷実行するフローである。Ｓ８．１においてモバイル端末１０３は認可サーバー１０７にトークン取得リクエストし認可トークンを取得する。モバイル端末１０３はトークン取得リクエスト（Ｓ８．１）において自身で保持するクライアントＩＤ（例えばｍｏｂｉｌｅ０００１）、パスワードとスコープにＭｏｂｉｌｅＰｒｉｎｔをパラメータとして指定する。トークン取得リクエスト（Ｓ８．１）を受け付けた認可サーバー１０７はトークン取得リクエスト（Ｓ８．１）のパラメータとクライアントＩＤ５０１、パスワード５０２とがそれぞれ一致し、スコープ５０３にＭｏｂｉｌｅＰｒｉｎｔが含まれていることを確認することでクライアントを特定する。そして認可サーバー１０７は認可トークン５１１を生成し、有効期限、トークン取得リクエスト（Ｓ８．１）のパラメータとして受け付けたクライアントＩＤ、スコープを認可トークン情報５１０にレコード登録する。また、認可サーバー１０７は生成した認可トークン５１１をモバイル端末１０３に返却する。
【００４７】
Ｓ８．２においてモバイル端末１０３はデータ変換サーバー１０６にＳ８．１で取得した認可トークンをパラメータとしてデータ変換リクエストを行う。Ｓ８．３においてデータ変換サーバー１０６はＳ８．２のデータ変換リクエストのパラメータである認可トークンと、ＭｏｂｉｌｅＰｒｉｎｔスコープを指定して認可サーバー１０７にトークンチェックリクエストを行う。トークンチェックリクエスト（Ｓ８．３）を受け付けた認可サーバー１０７はパラメータとして指定された認可トークン、ＭｏｂｉｌｅＰｒｉｎｔスコープと一致する認可トークン５１１、スコープ５１３を検索し認可トークン情報５１０からレコードを特定する。認可サーバー１０７は特定できた認可トークン情報５１０のレコードの有効期限５１２が現時刻よりも後であることができた場合、特定した認可トークン情報５１０のレコードを応答する。特定した認可トークン情報５１０のレコードの有効期限５１２が過ぎている、または認可トークン情報５１０のレコードを特定できない場合、認可サーバー１０７はトークンチェックリクエスト（Ｓ８．３）で受け付けた認可トークンは無効である応答する。
【００４８】
Ｓ８．４においてデータ変換サーバー１０６はトークンチェックリクエスト（Ｓ８．３）の結果、認可トークンが有効であり認可トークン情報５１０のレコードを受け取った場合、文書情報４００、データ変換情報４１０にレコード登録し、認可サーバー１０７にトークン取得リクエストし認可トークンを取得する。ここでデータ変換サーバー１０６が文書情報４００に登録するレコードにはデータ変換サーバー１０６が発行する文書ＩＤ、トークンチェックリクエスト（Ｓ８．３）の応答で受け取ったクライアントＩＤ、それらの文書ＩＤとクライアントＩＤをもとに生成したストレージサービス１０９の文書ＵＲＬである。文書ＵＲＬのパスには図４Ａのようにdocumentsの文字が含まれる。データ変換サーバー１０６がデータ変換情報４１０に登録するレコードには、データ変換サーバー１０６が発行するデータ変換ＩＤ、前記文書情報４００に登録したクライアントＩＤと文書ＩＤ、それらのデータ変換ＩＤとクライアントＩＤをもとに生成したストレージサービス１０９の印刷チケットＵＲＬとインデックスＵＲＬである。印刷チケットＵＲＬのパスには図４Ｂのようにconvertjobsとticketsの文字が含まれる。またインデックスＵＲＬのパスにはconvertjobsとindexの文字が含まれる。データ変換サーバー１０６はトークン取得リクエスト（Ｓ８．４）において、予め保持しているデータ変換サーバー１０６のクライアントＩＤ（ｃｏｎｖｅｒｔ０００１）、パスワード、およびスコープにＳｉｇｎｅｄＵｒｌＵｐｌｏａｄをパラメータとして指定しトークン取得リクエストを送信する。トークン取得リクエスト（Ｓ８．４）を受け付けた認可サーバー１０７におけるクライアント特定方法、認可トークン発行方法はＳ８．１と同様である。
【００４９】
Ｓ８．５においてデータ変換サーバー１０６はトークン取得リクエスト（Ｓ８．４）で取得した認可トークンと、生成した文書ＵＲＬ４０３と印刷チケットＵＲＬ４１４をパラメータとして、トークン交換サーバー１０８に一時ＵＲＬ取得リクエストを行う。Ｓ８．６においてトークン交換サーバー１０８は一時ＵＲＬ取得リクエスト（Ｓ８．５）のパラメータとして受け取った認可トークンをパラメータとして認可サーバー１０７にトークン情報取得リクエストを行う。認可サーバー１０７はトークン情報取得リクエスト（Ｓ８．６）を受け付けると、認可トークン情報５１０からパラメータとして受け取った認可トークンと一致する認可トークン５１１をもつレコードを特定する。そして、有効期限５１２が現時刻より後だった場合スコープを返却する。ここで返却されるスコープはＳ８．４におけるトークン取得リクエストで指定したＳｉｇｎｅｄＵｒｌＵｐｌｏａｄスコープである。認可トークン情報５１０にパラメータの認可トークンと一致するレコードが存在しない、または特定したレコードの有効期限５１２が現時刻より前だった場合、認可サーバー１０７はエラーを返却する。
【００５０】
Ｓ８．７においてトークン交換サーバー１０８はトークン情報取得リクエスト（Ｓ８．６）の応答がＳｉｇｎｅｄＵｒｌＵｐｌｏａｄスコープであることを確認できた場合、一時ＵＲＬ取得リクエストで受信した文書ＵＲＬと印刷チケットＵＲＬを用いて夫々の一時ＵＲＬの生成を行う。ここで生成する一時ＵＲＬはスコープ情報６００に登録されているスコープ５０１がＳｉｇｎｅｄＵｒｌＵｐｌｏａｄである一時ＵＲＬ有効期間６０２まで利用可能なＵＲＬである。また一時ＵＲＬにモバイル端末１０３の接続元ＩＰアドレスをポリシー情報としてパラメータとして付与することで、一時ＵＲＬで接続できる接続元ＩＰアドレスをモバイル端末１０３のみに限定することもできる。一時ＵＲＬで接続できる接続元ＩＰアドレスを限定することで一時ＵＲＬの不正利用を減らすことができる。トークン交換サーバー１０８は生成した文書ＵＲＬの一時ＵＲＬと印刷チケットＵＲＬの一時ＵＲＬを一時ＵＲＬ取得リクエスト（Ｓ８．５）の応答としてデータ返却サーバー１０６に返却する。そしてデータ変換サーバー１０６は受け取った文書ＵＲＬの一時ＵＲＬと印刷チケットＵＲＬの一時ＵＲＬ、生成したデータ変換ＩＤをデータ変換リクエスト（Ｓ８．２）の応答としてモバイル端末１０３に返却する。
【００５１】
Ｓ８．８においてモバイル端末１０３はデータ変換リクエスト（Ｓ８．２）の応答として受け取った文書ＵＲＬの一時ＵＲＬと印刷チケットＵＲＬの一時ＵＲＬに対してそれぞれ文書ファイルと印刷チケットファイルを添付してＨＴＴＰ  ＰＵＴメソッドをリクエストする。文書／印刷チケットアップロードリクエスト（Ｓ８．８）を受け付けたストレージサーバー１０９は一時ＵＲＬアクセス制御情報７００に基づいてリクエストの許可／拒否を判断する。Ｓ８．８における文書ＵＲＬはdocumentsが含まれるよう生成されておりＵＲＬパスパターン７０１における”/*/documents/*”に一致し、許可リクエスト７０２でＰＵＴが許可されている。またＳ８．８における印刷チケットＵＲＬはconvertjobsとticketが含まれるよう生成されておりＵＲＬパスパターン７０１における”/*/convertjobs/*/ticket/*”に一致し、許可リクエスト７０２でＰＵＴが許可されている。したがって、ストレージサーバー１０９は文書／印刷チケットアップロードリクエスト（Ｓ８．８）受け付けを許可する。
【００５２】
ここで、ストレージサーバー１０９が受け付けた一時ＵＲＬのポリシー情報に接続元ＩＰアドレスが付与されていた場合、ストレージサーバー１０９がリクエストを受け付けた通信データの接続元ＩＰアドレスと一致した場合にのみアクセス許可する。ストレージサーバー１０９は受け付けた一時ＵＲＬのポリシー情報に付与された接続元ＩＰアドレスと、通信データの接続元ＩＰアドレスが一致しない場合にはリクエストをエラーとする。このストレージサーバー１０９が一時ＵＲＬの接続元ＩＰアドレスでアクセス可否を判断する処理は後述のＳ８．２０、Ｓ９．８、Ｓ９．２１における一時ＵＲＬによるリクエスト受付時に同様に行われる。文書／印刷チケットアップロードリクエスト（Ｓ８．８）受け付けを許可したストレージサーバー１０９は、リクエストに添付されたファイルをファイルパス７１２に保存する。そしてストレージサーバー１０９はファイル情報７１０に文書／印刷チケットアップロードリクエスト（Ｓ８．８）のデータＵＲＬと添付ファイルを保存したファイルパスを登録する。
【００５３】
Ｓ８．９においてモバイル端末１０３はストレージサーバー１０９への文書／印刷チケットアップロード（Ｓ８．８）が完了すると、文書／印刷チケットアップロード完了をデータ変換サーバー１０６に通知する。モバイル端末１０３は文書／印刷チケットアップロード完了リクエスト（Ｓ８．９）には、Ｓ８．１で取得した認可トークン、Ｓ８．２で取得したデータ変換ＩＤをパラメータとして指定する。Ｓ８．１０においてデータ変換サーバー１０６は、文書／印刷チケットアップロード完了リクエスト（Ｓ８．９）のパラメータで渡された認可トークンとＭｏｂｉｌｅＰｒｉｎｔスコープをパラメータとして認可サーバー１０７に対してトークンチェックリクエストを行う。トークンチェックリクエスト（Ｓ８．１０）を受け付けた認可サーバー１０７のトークンチェック方法についてはＳ８．３と同様である。
【００５４】
Ｓ８．１１においてデータ変換サーバー１０６は、まずデータ変換情報４１０から文書／印刷チケットアップロード完了リクエスト（Ｓ８．９）のパラメータで渡されたデータ変換ＩＤと一致するデータ変換ＩＤ４１１を検索する。そして、データ変換サーバー１０６はデータ変換ＩＤ４１１を検索により見つかったレコードの印刷チケットＵＲＬ４１４と文書ＩＤ４１３を特定する。さらに文書ＩＤ４１３を用いて文書情報４００から文書ＵＲＬ４０３を特定する。データ変換サーバー１０６は特定した文書ＵＲＬ４０３と印刷チケットＵＲＬ４１４に対して文書／印刷チケットダウンロードリクエスト（ＨＴＴＰ  ＧＥＴ）を行う。ここでデータ変換情報４１０から文書／印刷チケットアップロード完了リクエスト（Ｓ８．９）されたデータ変換ＩＤがデータ変換情報４１０上に見つからない場合、データ変換サーバー１０６はＳ８．９のリクエストにエラー応答する。文書／印刷チケットダウンロードリクエストを受け付けたストレージサーバー１０９は、ファイル情報７１０から受け付けたＵＲＬからデータＵＲＬ７１１を特定し、応答としてファイルパス７１２に保存されたファイルを返す。ここでデータ変換サーバー１０６はストレージサーバー１０９の認可トークンを保持しておりストレージサーバー１０９へのリクエストには認可トークンを付与する。したがって、ストレージサーバー１０９はデータ変換サーバー１０６からの文書／印刷チケットダウンロードリクエストを、一時ＵＲＬアクセス制御情報７００を用いたアクセス制御の対象外とし許可する。
【００５５】
Ｓ８．１２においてデータ変換サーバー１０６は文書／印刷チケットダウンロードリクエスト（Ｓ８．１１）でストレージサーバー１０９から取得した文書ファイルと印刷チケットファイルを用いてデータ変換を行う。データ変換サーバー１０６は印刷チケットに従って文書ファイルを印刷データファイルに変換する。データ変換サーバー１０６によって生成される印刷データファイルは文書と印刷チケットによって１ファイルになることも複数ファイルになることもある。データ変換サーバー１０６データ変換が完了するとＳ８．１１において特定したデータ変換情報４１０のレコードのステータスを“変換済み”に更新する。
【００５６】
Ｓ８．１３においてデータ変換サーバー１０６はＳ８．１２で生成した１または複数の印刷データファイルをＵＲＬパスにconvertjobsとdataを含めてストレージサーバー１０９にアップロード（ＨＴＴＰ  ＰＵＴ）する。ここでデータ変換サーバー１０６は印刷データファイルのＵＲＬパスにＳ８．１１で特定したデータ変換情報４１０のレコードのクライアントＩＤ４１２とデータ変換ＩＤ４１１も含める。次にデータ変換サーバー１０６はアップロードした印刷データＵＲＬを使って、図４Ｂの例で示した印刷データＵＲＬの一時ＵＲＬリストであるインデックスファイルを生成する。データ変換サーバー１０６の印刷データＵＲＬの一時ＵＲＬの生成方法については図示省略しているが、先述のＳ８．４〜８．７で説明した一時ＵＲＬ生成フローと同様でありスコープにＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄを指定する。ストレージサーバー１０９はＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄスコープが指定されているため長い一時ＵＲＬ有効期間６０２の一時ＵＲＬを生成する。データ変換サーバー１０６はインデックスファイルをＵＲＬパスにconvertjobsとindexを含めてストレージサーバー１０９にアップロード（ＨＴＴＰ  ＰＵＴ）する。ここでデータ変換サーバー１０６はインデックスファイルのＵＲＬパスにＳ８．１１で特定したデータ変換情報４１０のレコードのクライアントＩＤ４１２とデータ変換ＩＤ４１１も含める。インデックス／印刷データアップロードリクエストを受け付けたストレージサーバー１０９はＵＲＬパスに従って生成するファイルパスにインデックスファイルと印刷データファイルを保存し、ファイル情報７１０にレコード登録する。
【００５７】
次に、印刷データを取得する方法について図８Ｂを用いて説明する。Ｓ８．１４においてモバイル端末１０３はデータ変換サーバー１０６に変換ステータス取得リクエストを行う。モバイル端末１０３は変換ステータス取得リクエスト（Ｓ８．１４）のパラメータとして、Ｓ８．１で取得した認可トークン、Ｓ８．２で取得したデータ変換ＩＤをパラメータとして指定する。Ｓ８．１５において変換ステータス取得リクエスト（Ｓ８．１４）を受け付けたデータ変換サーバー１０６はパラメータで指定された認可トークンのトークンチェックリクエストを認可サーバー１０７に行う。認可サーバー１０７におけるトークンチェックについては先述のＳ８．３と同様である。
【００５８】
次にデータ変換サーバー１０６は変換ステータス取得リクエスト（Ｓ８．１４）のパラメータで指定されたデータ変換ＩＤと一致するデータ変換ＩＤ４１１をデータ変換情報４１０から検索し、一致したレコードのステータス４１６を確認する。データ変換サーバー１０６はステータス４１６が“変換済み”でない場合に変換ステータス取得リクエスト（Ｓ８．１４）にステータス４１６を応答する。モバイル端末１０３は文書／印刷チケットアップロード完了リクエスト（Ｓ８．９）の後、変換ステータス取得リクエスト（８．１４）の応答でステータスが“変換済み”になるまで繰り返し変換ステータス取得リクエスト（８．１４）を行う。この繰り返しのリクエストは、ポーリングによる定期通信である。
【００５９】
Ｓ８．１６において変換ステータス取得リクエスト（Ｓ８．１４）で指定されたデータ変換ＩＤのステータス４１６が“変換済み”だった場合、データ変換サーバー１０６はＳ８．１５〜Ｓ８．１９においてインデックスＵＲＬ４１５の一時ＵＲＬを生成する。Ｓ８．１５〜Ｓ８．１９の一時ＵＲＬ生成フローは先述のＳ８．４〜８．７で説明した一時ＵＲＬ生成フローと同様でありスコープにＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄを指定する。ここで使用するインデックスＵＲＬは先述した変換ステータス取得リクエスト（Ｓ８．１４）のパラメータで指定されたデータ変換ＩＤと一致するレコードのインデックスＵＲＬ４１５である。
【００６０】
Ｓ８．１５〜Ｓ８．１９においてインデックスＵＲＬ４１５の一時ＵＲＬを取得したデータ変換サーバー１０６はＳ８．１４の応答として取得したインデックスＵＲＬ４１５の一時ＵＲＬとステータス４１６（“変換済み”）を返す。Ｓ８．２０においてクライアント端末１０３は変換ステータス取得リクエスト（Ｓ８．１４）で取得したインデックスＵＲＬ４１５の一時ＵＲＬからインデックスファイルをダウンロード（ＨＴＴＰ  ＧＥＴ）する。インデックスダウンロードリクエスト（Ｓ８．２０）を受け付けたストレージサーバー１０９は一時ＵＲＬアクセス制御情報７００を用いたアクセス許可／拒否を判断する。インデックスＵＲＬパスにはconvertjobsとindexが含まれており、ＵＲＬパスパターン７０１の“/*/convertjobs/*/index/*”に一致し、許可リクエスト７０２にＧＥＴが含まれているため、ストレージサーバー１０９はインデックスダウンロードリクエスト（Ｓ８．２０）を許可する。
【００６１】
ストレージサーバー１０９はインデックスダウンロードリクエスト（Ｓ８．２０）の応答として、リクエストされたインデックスＵＲＬに対応するファイルパス７１２をファイル情報７１０から特定し、ファイルパス７１２に保存したインデックスファイルを返す。インデックスファイルを受信したクライアント端末１０３はインデックスファイル内に記載された１つまたは複数の印刷データＵＲＬの一時ＵＲＬからダウンロード（ＨＴＴＰ  ＧＥＴ）する。印刷データダウンロードリクエスト（Ｓ８．２０）を受け付けたストレージサーバー１０９は一時ＵＲＬアクセス制御情報７００を用いたアクセス許可／拒否を判断する。インデックスＵＲＬパスにはconvertjobsとdataが含まれており、ＵＲＬパスパターン７０１の“/*/convertjobs/*/data/*”に一致し、許可リクエスト７０２にＧＥＴが含まれているため、ストレージサーバー１０９は印刷データダウンロードリクエスト（Ｓ８．２０）を許可する。ストレージサーバー１０９は印刷データダウンロードリクエスト（Ｓ８．２０）の応答として、リクエストされた印刷データＵＲＬに対応するファイルパス７１２をファイル情報７１０から特定し、ファイルパス７１２に保存した印刷データファイルを返す。Ｓ８．２１においてクライアント端末１０３はダウンロードした１つまたは複数の印刷データをプリンタ１０２に送信し印刷実行する。
【００６２】
＜プリントサーバー１０５からの印刷フロー＞
図９Ａ、図９Ｂはプリントサーバー１０５が文書をデータ変換サーバー１０６で印刷データに変換し、プリンタ１０２で印刷実行するフローである。このように、本願発明のデータ変換の要求元であるクライアントはユーザ端末、サーバー等の様に多岐に渡る。Ｓ９．１〜Ｓ９．１９のフローは先述のＳ８．１〜Ｓ８．１９において、プリントサーバー１０５がクライアント端末１０３の役割を担う。そして、プリントサーバー１０５がデータ変換サーバー１０６にリクエストするスコープがＩＪＰｒｉｎｔに変わる。それ以外の点は変更がないため説明を省略する。このように、夫々のクライアントに対しスコープを別々にすることでクライアントに対する差異をつけることが可能になる。しかし、ＵＲＬ生成のスコープに関しては、何れのクライアントに対しても与えないことでセキュリティ性を確保できる。
【００６３】
Ｓ９．２０においてプリントサーバー１０５は変換ステータス取得リクエスト（Ｓ９．１４）で取得したインデックスＵＲＬ４１５の一時ＵＲＬをプリンタ１０２に通知する。
Ｓ９．２１においてインデックスＵＲＬ４１５の一時ＵＲＬを用いてストレージサーバー１０９からインデックスファイルと印刷データをダウンロードする方法、ストレージサーバー１０９によるアクセス制御方法は先述のＳ８．２０と同様である。Ｓ９．２２においてプリンタ１０２はＳ９．２１でダウンロードした印刷データで印刷実行する。
【００６４】
以上のように、モバイル端末１０３やプリントサーバー１０５がデータ変換サーバー１０６にアクセスするためのスコープ（ＭｏｂｉｌｅＰｒｉｎｔ、ＩＪＰｒｉｎｔ）と、一時ＵＲＬを発行するために必要なスコープ（ＳｉｇｎｅｄＵｒｌＵｐｌｏａｄ、ＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄ）を分けたことで、データ変換サーバー１０６しか一時ＵＲＬを取得できない。一時ＵＲＬの発行をデータ変換サーバー１０６のみに制限することで、セキュアに一時ＵＲＬを外部サービスに対して提供することができる。さらに、一時ＵＲＬ発行に必要なスコープをアップロード用スコープ（ＳｉｇｎｅｄＵｒｌＵｐｌｏａｄ）、ダウンロード用スコープ（ＳｉｇｎｅｄＵｒｌＤｏｗｎｌｏａｄ）に分け、アップロード用スコープで発行した一時ＵＲＬはアップロードのみを許可し、ダウンロード用スコープで発行した一時ＵＲＬはダウンロードのみを許可することで、一時ＵＲＬ利用した不正なファイル操作（アップロード、ダウンロード、更新、削除）を防ぐことができる。
【００６５】
＜その他の実施例＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００６６】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために以下の請求項を添付する。
【符号の説明】
【００６７】
１０２  プリンタ
１０３  モバイル端末
１０５  プリントサーバー
１０６  データ変換サーバー
１０７  認可サーバー
１０８  トークン交換サーバー
１０９  ストレージサーバー
【図１】
2016088199.tif 000003
【図２Ａ】
2016088199.tif 000004
【図２Ｂ】
2016088199.tif 000005
【図２Ｃ】
2016088199.tif 000006
【図３Ａ】
2016088199.tif 000007
【図３Ｂ】
2016088199.tif 000008
【図３Ｃ】
2016088199.tif 000009
【図３Ｄ】
2016088199.tif 000010
【図４Ａ】
2016088199.tif 000011
【図４Ｂ】
2016088199.tif 000012
【図４Ｃ】
2016088199.tif 000013
【図５Ａ】
2016088199.tif 000014
【図５Ｂ】
2016088199.tif 000015
【図６Ａ】
2016088199.tif 000016
【図６Ｂ】
2016088199.tif 000017
【図７Ａ】
2016088199.tif 000018
【図７Ｂ】
2016088199.tif 000019
【図８Ａ】
2016088199.tif 000020
【図８Ｂ】
2016088199.tif 000021
【図９Ａ】
2016088199.tif 000022
【図９Ｂ】
2016088199.tif 000023
【国際調査報告】
2016088199.tif 000024
2016088199.tif 000025