(57)【要約】【課題】ＯＡｕｔｈを適用するクラウドシステムにおいて、ユーザーが複数の複合機を所有し、それらがすべて同一のスコープで動作するよう構成されている場合、特定の複合機でのみ機能を許可することが難しい。【解決手段】リソースサーバーが提供するサービスに対する認可を行う認可サーバーは、前記リソースサーバーを指定するための指定情報を発行して記憶部に登録し、更に前記記憶部にて登録されているリソースサーバーの指定情報に前記ライセンス情報を対応付けて登録し、前記指定情報は、各リソースサーバーおよびそのサービスを利用する際のトークンの発行および当該トークンの検証にて用いられる。【選択図】  図５
2017191412.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供するリソースサーバーと、前記リソースサーバーが提供するサービスを利用するクライアントと、前記リソースサーバーが提供するサービスを利用するための認可を行う認可サーバーとを含むシステムであって、
前記認可サーバーは、
前記リソースサーバーの登録要求に応じて、当該リソースサーバーを指定するための指定情報を発行し記憶部に登録する登録手段と、
前記登録手段にて発行された指定情報を前記リソースサーバーに通知する通知手段と、
前記リソースサーバーに対するライセンス情報の登録要求に応じて、前記記憶部にて登録されている当該リソースサーバーの指定情報に前記ライセンス情報を対応付けて登録する手段と
を有し、
前記クライアントは、
前記認可サーバーに対し、前記リソースサーバーおよび当該リソースサーバーが提供するサービスを指定して、前記リソースサーバーにて前記サービスを利用するためのトークンの発行を要求する手段を有し、
前記認可サーバーは更に、
前記クライアントからの前記トークンの発行要求に応じて前記トークンを発行し、前記クライアントに送信する発行手段を有し、
前記クライアントは更に、
前記認可サーバーにて発行されたトークンを用いて、前記リソースサーバーに前記サービスを要求する手段を有し、
前記リソースサーバーは、
前記クライアントからの前記サービスの要求に応じて、当該サービスの要求に用いられるトークンの検証要求を、自身の前記指定情報を含めて前記認可サーバーに送信する手段を有し、
前記認可サーバーは更に、
前記トークンの検証要求に応じて、当該トークンの検証要求に含まれるリソースサーバーの前記指定情報および前記トークンの情報と、前記記憶部に登録されている情報とに基づき、当該トークンの検証を行い、検証結果を応答する検証手段を有し、
前記リソースサーバーは更に、
前記トークンの検証結果に応じて、前記サービスの要求に対するサービスを提供する提供手段を有することを特徴とするシステム。
【請求項２】
前記システムは、複数の前記リソースサーバーを含み、
前記登録手段は、前記複数のリソースサーバーそれぞれに対して異なる指定情報を生成して登録することを特徴とする請求項１に記載のシステム。
【請求項３】
前記システムは、権限委譲プロトコルとしてＯＡｕｔｈを用い、
前記リソースサーバーを示す指定情報は、ＯＡｕｔｈにおける、当該リソースサーバーをアクセス範囲としたスコープであることを特徴とする請求項１または２に記載のシステム。
【請求項４】
前記発行手段は、発行を要求されたトークンが対象とする前記リソースサーバーおよび当該リソースサーバーが提供するサービスの利用が、前記記憶部にて登録されている前記リソースサーバーの前記ライセンス情報にて許可されている場合に、前記トークンを発行することを特徴とする請求項１乃至３のいずれか一項に記載のシステム。
【請求項５】
前記発行手段は、前記リソースサーバーの機能を利用する権限を有するユーザーの許可に基づいて、前記クライアントに前記トークンを発行することを特徴とする請求項１乃至４のいずれか一項に記載のシステム。
【請求項６】
前記認可サーバーは、前記発行手段が発行したトークンと当該トークンの発行を許可したユーザーとを対応付けて前記記憶部にて保持する手段を更に有することを特徴とする請求項１乃至５のいずれか一項に記載のシステム。
【請求項７】
前記リソースサーバーは、画像形成装置であることを特徴とする請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
サービスを提供するリソースサーバーと、前記リソースサーバーが提供するサービスを利用するクライアントと、前記リソースサーバーが提供するサービスを利用するための認可を行う認可サーバーとを含むシステムの制御方法であって、
前記認可サーバーにおいて、前記リソースサーバーの登録要求に応じて、当該リソースサーバーを指定するための指定情報を発行し記憶部に登録する登録工程と、
前記認可サーバーにおいて、前記登録工程にて発行された指定情報を前記リソースサーバーに通知する通知工程と、
前記認可サーバーにおいて、前記リソースサーバーに対するライセンス情報の登録要求に応じて、前記記憶部にて登録されている当該リソースサーバーの指定情報に前記ライセンス情報を対応付けて登録する工程と
前記クライアントにおいて、前記認可サーバーに対し、前記リソースサーバーおよび当該リソースサーバーが提供するサービスを指定して、前記リソースサーバーにて前記サービスを利用するためのトークンの発行を要求する工程と、
前記認可サーバーにおいて、前記クライアントからの前記トークンの発行要求に応じて前記トークンを発行し、前記クライアントに送信する発行工程と、
前記クライアントにおいて、前記認可サーバーにて発行されたトークンを用いて、前記リソースサーバーに前記サービスを要求する工程と、
前記リソースサーバーにおいて、前記クライアントからの前記サービスの要求に応じて、当該サービスの要求に用いられるトークンの検証要求を、自身の前記指定情報を含めて前記認可サーバーに送信する工程と、
前記認可サーバーにおいて、前記トークンの検証要求に応じて、当該トークンの検証要求に含まれるリソースサーバーの前記指定情報および前記トークンの情報と、前記記憶部に登録されている情報とに基づき、当該トークンの検証を行い、検証結果を応答する検証工程と、
前記リソースサーバーにおいて、前記トークンの検証結果に応じて、前記サービスの要求に対するサービスを提供する提供する工程と
を有することを特徴とするシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、システムおよびその制御方法に関する。
【背景技術】
【０００２】
近年、クラウドサービスが普及してきている。このような状況において、複数のサービスを連携させるために、ＯＡｕｔｈと呼ばれる、認可の連携を実現させるための標準プロトコルが策定されている。ＯＡｕｔｈによると、ある端末内のアプリケーションからクラウドサービスが管理するデータにアクセスする場合、アプリケーションはユーザーの明示的な認可を得る。ユーザーが認可すると、アプリケーションはアクセスを認められたことを証明する認可トークン（以下、アクセストークン）を受け取り、以降のアクセスはそのアクセストークンを用いて実現できる。特許文献１では、ＯＡｕｔｈを利用したアクセストークンを発行するための技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−５２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、導入後に、機能を向上できる複合機が普及している。例えば、恒久的もしくは一時的に印刷速度を向上させることで、ユーザーの業務拡大や繁忙期などの一時的な印刷量の増加に対応可能な複合機がある。この機能向上は無条件に行われるのでなく、複合機にライセンスがインストールされているなどの一定の条件を満たした場合のみ利用可能となる。ここで、複合機を機能向上させた状態で利用して良いか否かを判定する際の条件によっては、複合機自身がライセンスのインストール状態を確認するのでなく、クラウドサービスと連携して判定した方が良い場合がある。
【０００５】
例えば、複合機において、「１００枚の用紙のみを対象として印刷速度を上げる」という制御を行いたい場合を考える。ユーザーが複数の複合機を所有している場合には、個々の複合機に印刷枚数（出力枚数）の記録が分散してしまうため、ある時点において、ユーザーが全部で何枚、高速印刷を実施したかを正確に把握することが難しい。一方、クラウドサービスと連携して制御する場合、クラウドサービスが複数の複合機に印刷指示した枚数を集中して管理できるため、ユーザーの高速印刷の総枚数を正確に把握できる。
【０００６】
クラウドサービスと連携して機能向上の利用可否を判定する場合、複合機をリソースサーバーとして、複合機の機能の利用許可に対応したスコープを含むアクセストークンを用いる、ＯＡｕｔｈを適用する構成が考えられる。ＯＡｕｔｈを適用した構成によれば、特定ユーザーもしくは特定のジョブに限定して複合機の機能向上を許可することも実現できる。
【０００７】
一方、ＯＡｕｔｈを適用した構成にはデメリットもある。すなわち、ユーザーが複数の複合機を所有し、それらがすべて同一のスコープで動作するよう構成されている場合、特定の複合機でのみ機能向上を許可することが難しい。ＯＡｕｔｈでは、アクセストークンに対象となるリソースサーバーを識別する情報がないため、リソースサーバーとして複数の複合機が存在する場合、任意のリソースサーバーのみの機能向上（例えば、印刷速度の向上）を行うように制御することができない。
【課題を解決するための手段】
【０００８】
上記問題を鑑み、本願発明は以下の構成を有する。すなわち、サービスを提供するリソースサーバーと、前記リソースサーバーが提供するサービスを利用するクライアントと、前記リソースサーバーが提供するサービスを利用するための認可を行う認可サーバーとを含むシステムであって、前記認可サーバーは、前記リソースサーバーの登録要求に応じて、当該リソースサーバーを指定するための指定情報を発行し記憶部に登録する登録手段と、前記登録手段にて発行された指定情報を前記リソースサーバーに通知する通知手段と、前記リソースサーバーに対するライセンス情報の登録要求に応じて、前記記憶部にて登録されている当該リソースサーバーの指定情報に前記ライセンス情報を対応付けて登録する手段とを有し、前記クライアントは、前記認可サーバーに対し、前記リソースサーバーおよび当該リソースサーバーが提供するサービスを指定して、前記リソースサーバーにて前記サービスを利用するためのトークンの発行を要求する手段を有し、前記認可サーバーは更に、前記クライアントからの前記トークンの発行要求に応じて前記トークンを発行し、前記クライアントに送信する発行手段を有し、前記クライアントは更に、前記認可サーバーにて発行されたトークンを用いて、前記リソースサーバーに前記サービスを要求する手段を有し、前記リソースサーバーは、前記クライアントからの前記サービスの要求に応じて、当該サービスの要求に用いられるトークンの検証要求を、自身の前記指定情報を含めて前記認可サーバーに送信する手段を有し、前記認可サーバーは更に、前記トークンの検証要求に応じて、当該トークンの検証要求に含まれるリソースサーバーの前記指定情報および前記トークンの情報と、前記記憶部に登録されている情報とに基づき、当該トークンの検証を行い、検証結果を応答する検証手段を有し、前記リソースサーバーは更に、前記トークンの検証結果に応じて、前記サービスの要求に対するサービスを提供する提供手段を有する。
【発明の効果】
【０００９】
本願発明により、複数のリソースサーバーを含むシステムにおいて、各リソースサーバーおよび機能を適切に管理し、ユーザーの利便性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本願発明の一実施形態に係るネットワーク構成例を示す図。
【図２】本願発明の一実施形態に係る各装置のハードウェアの構成例を示す図。
【図３】本願発明の一実施形態に係る各装置のモジュール構成の例を示す図。
【図４】本願発明の一実施形態に係る処理フローを示す図。
【図５】本願発明の一実施形態に係るアクセストークン検証のフローチャート。
【図６】本願発明の一実施形態に係る画面の例を示す図。
【図７】本願発明の一実施形態に係る各テーブルの構成例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下に示す構成等は一例であり、これに限定するものではない。
【００１２】
［システム構成］
図１は、本実施形態に係るシステムの構成例を示し、各装置が通信可能に接続されたネットワーク上に実現される。ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１００は、システムに含まれる装置が通信可能に構成されたネットワークであり、本実施形態ではＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムが構築されているものとする。したがって、ＷＡＮ１００には、インターネット等の外部ネットワークが含まれる。ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０１、１０２は、各構成要素を接続する内部ネットワークである。図１には示していないが、ＷＡＮ１００と、ＬＡＮ１０１、１０２との間には、ファイアウォール等が設けられ、一定の通信の制限がなされる。
【００１３】
図１において、ＬＡＮ１０１は、認可サーバー１５１および印刷サーバー１５２を含んで構成される。また、ＬＡＮ１０２は、ユーザー端末１７１および複合機３００、４００を含んで構成される。なお、システムは、図１に示した構成に限定するものではなく、更に多くの装置が含まれてもよく、また、各サーバーは複数の装置にて構成されていてもよいし、物理的に同一の装置上に構成されてもよい。また、認可サーバー１５１、印刷サーバー１５２はそれぞれ個別のＬＡＮ上に構成されていてもよいし同一のＬＡＮ上に構成されていてもよい。
【００１４】
認可サーバー１５１は、アクセストークンの発行を行うサーバーである。印刷サーバー１５２は、複合機に印刷ジョブを発行するサーバーである。アクセストークンとは、操作権限を有するユーザーにより、他のユーザー（例えば、アプリケーションやサーバー）にその操作権限（利用権限）に対応する操作を許可されたことを証明する情報である。アクセストークンは、操作権限を有するユーザーがアプリケーションに対する認可操作を行うことで発行される。例えば、あるアプリケーションがクラウドサービスが管理するデータにアクセスするためのアクセストークンを用いると、そのアプリケーションは、ユーザーに許可された範囲（アクセストークンで示された範囲）でデータにアクセスできる。ユーザー端末１７１は、ユーザーが操作するＰＣなどの情報処理装置である。また複合機３００および４００は、印刷サーバー１５２の指示に従い印刷を行うＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの装置である。
【００１５】
［ハードウェア構成］
図２は、本実施形態に係るシステムに含まれる情報処理装置および画像形成装置のハードウェア構成の例を示す。ここでの情報処理装置としては、図１に示す各サーバーやユーザー端末が該当する。また、画像形成装置としては、図１に示す複合機が該当する。以下、情報処理装置として認可サーバー１５１を例に挙げて説明し、また、画像形成装置として複合機３００を例に挙げて説明する。しかし、ハードウェア構成は、図２の構成に限定するものではなく、サーバーや複合機それぞれが異なるハードウェア構成を備えてもよい。
【００１６】
図２（Ａ）は本実施形態に係る、認可サーバー１５１のハードウェア構成の例を示す。認可サーバー１５１は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、キーボードコントローラ（ＫＢＣ）２０５、ＣＲＴコントローラ（ＣＲＴＣ）２０６、ディスクコントローラ（ＤＫＣ）２０７、およびネットワークコントローラ（ＮＣ）を含んで構成される。各構成要素は、システムバス２０４を介して通信可能に接続される。
【００１７】
ＣＰＵ２０１は、認可サーバー１５１全体の制御を行う制御部である。ＣＰＵ２０１は、ＲＯＭ２０３のプログラム用ＲＯＭに記憶された、或いは外部メモリ２１１からＲＡＭ２０２にロードされたＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーション等のプログラムを読み出して実行する。ＲＡＭ２０２は、揮発性の記憶領域であり、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＫＢＣ２０５は、キーボード（ＫＢ）２０９やポインティングデバイス（不図示）からのキー入力を制御する。ＣＲＴＣ２０６は、ＣＲＴディスプレイ２１０の表示を制御する。ＤＫＣ２０７は、各種データを記憶するハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ２１１におけるデータアクセスを制御する。ＮＣ２１２は、ＬＡＮ１０１等のネットワークに接続され、ネットワークに接続された他の機器との通信制御処理を実行する。
【００１８】
尚、後述の全ての説明において、認可サーバー１５１に関しては、特に断りのない限り実行のハードウェア上の処理主体はＣＰＵ２０１であり、ソフトウェア上の処理主体は外部メモリ２１１に保持されたアプリケーションプログラムである。
【００１９】
図２（Ｂ）は、本実施形態に係る複合機３００のハードウェア構成の例を示す。複合機３００は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３、入力部３０５、印刷部Ｉ／Ｆ３０６、ＭＣ３０７、およびスキャナ部Ｉ／Ｆ３０８を含んで構成される。各構成要素は、システムバス３０４を介して通信可能に接続される。ＣＰＵ３０１は、複合機３００全体の制御を行う制御部であり、ＲＯＭ３０３や、外部メモリ３１１に記憶された制御プログラムに基づいてシステムバス３０４に接続される各構成要素を制御する。ＣＰＵ３０１の処理により生成された画像信号が、印刷部Ｉ／Ｆ３０６を介して、印刷部（画像処理装置エンジン）３０９に出力情報として出力される。また、ＣＰＵ３０１は、入力部３０５を介して印刷サーバー１５２との通信処理が可能である。
【００２０】
ＲＯＭ３０３内のプログラムＲＯＭには、ＣＰＵ３０１の制御プログラム等が記憶される。ＲＯＭ３０３内のフォント用ＲＯＭには、出力情報を生成する際に使用するフォントデータ等が記憶される。ＲＡＭ３０２は、ＣＰＵ３０１の主メモリや、ワークエリア等として機能する揮発性の記憶領域であり、増設ポート（不図示）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成される。また、ＲＡＭ３０２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００２１】
外部メモリ３１１は、不揮発性の記憶領域であり、メモリコントローラ（ＭＣ）３０７によりアクセスを制御され、フォントデータ、プログラム、フォームデータ等を記憶する。また、操作部３１０は、操作のためのスイッチ及びＬＥＤ表示器（不図示）等で構成される。
【００２２】
スキャナＩ／Ｆ３０８は、スキャナ部３１２とのインターフェースであり、スキャナ部３１２から受取った画像データに対して、補正、加工、及び編集を行う。スキャナ部３１２は、紙等の原稿上の画像を露光走査して得られた反射光をＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）に入力することで画像の情報を電気信号に変換する。さらに、スキャナ部３１２は、電気信号をＲＧＢの各色からなる輝度信号に変換し、当該輝度信号を画像データとして読み込む。ユーザーが操作部３１０から読み取り開始を指示すると、スキャナ部３１２に原稿読み取り指示が与えられる。スキャナ部３１２は、この指示に基づき、原稿の読み取り動作を行う。尚、原稿の読み取り方法は原稿フィーダ（不図示）にセットされる自動送り方式の形態であってもよい。また、原稿を不図示のガラス面上に載せ、露光部（不図示）を移動させることで原稿の走査を行う方法であってもよい。
【００２３】
尚、後述の全ての説明において、複合機３００に関しては、特に断りのない限り実行のハードウェア上の処理主体はＣＰＵ３０１であり、ソフトウェア上の処理主体は外部メモリ３１１にインストールされたアプリケーションプログラムである。
【００２４】
［モジュール構成］
図３は、本実施形態に係る、認可サーバー１５１、印刷サーバー１５２、および複合機３００のモジュール構成の例を示す図である。図３（Ａ）〜（Ｃ）はそれぞれ、認可サーバー１５１、印刷サーバー１５２、及び複合機３００のモジュール構成を示す。なお、本実施形態では、複合機３００、４００のモジュール構成は同様であるものとして説明する。各モジュールは、対応する装置の記憶部にプログラムとして格納されているものとする。
【００２５】
認可サーバー１５１は、リソースサーバー管理モジュール５０１、リソースサーバーライセンス管理モジュール５０２、アクセストークン管理モジュール５０３、アクセストークン検証モジュール５０４、及びユーザー管理モジュール５０５を含んで構成される。印刷サーバー１５２は、リソースサーバースコープ要求モジュール６０１、アクセストークン要求モジュール６０２、及び印刷指示モジュール６０３を含んで構成される。複合機３００は、リソースサーバー登録要求モジュール７０１、印刷指示受信モジュール７０２、アクセストークン検証要求モジュール７０３、及び印刷モジュール７０４を含んで構成される。各モジュールの動作については、フローチャートと併せて説明する。また、本実施形態において、権限委譲プロトコルとして、ＯＡｕｔｈを用いる前提として説明を行う。なお、権限委譲プロトコルは上記に限定するものではなく、本願発明の要旨を満たすものであれば、他の権限委譲プロトコルを用いてもよい。
【００２６】
なお、本実施形態に係る複合機は、ライセンスに応じて実行可能な複数の機能を備えるものとして説明する。例えば、上述したように、本願発明に係る複合機は、ライセンスに応じて、一時的もしくは一定の制限下で、通常の印刷動作よりも印刷速度が速い高速印刷を実行可能であるとする。なお、複合機（リソースサーバー）における、ライセンスに応じて動作可能となる機能はこれに限定するものではなく、他の機能であってもよい。
【００２７】
［処理フロー］
（リソースサーバー登録処理）
図４（Ａ）は、本実施形態に係る、複合機３００をリソースサーバーとして認可サーバー１５１に登録する際の処理フローである。本処理フローは、例えば、ユーザーが、複合機３００の入力部３０５を介して、複合機３００を認可サーバー１５１に登録する操作を行うことで開始される。
【００２８】
Ｓ１にて、複合機３００のリソースサーバー登録要求モジュール７０１は、ユーザーからの指示に応じて、認可サーバー１５１に対し、リソースサーバーとしての複合機３００の登録要求を行う。認可サーバー１５１のリソースサーバー管理モジュール５０１は、複合機３００から送信された登録要求を受信する。登録要求には、リソースサーバー識別子を含む。リソースサーバーとは、サービス（処理）を提供する処理主体を示し、ここでは印刷処理を行う複合機３００が該当する。また、リソースサーバー識別子は、リソースサーバーを一意に識別するための識別情報である。本実施形態では、複合機３００が自らのリソースサーバー識別子を発行するものとするが、登録要求を受け付けた際に、認可サーバー１５１のリソースサーバー管理モジュール５０１が発行するようにしてもよい。
【００２９】
Ｓ２にて、リソースサーバー管理モジュール５０１は、リソースサーバースコープを生成し、図７（Ａ）に示すようなリソースサーバーテーブルにて複合機３００のリソースサーバー識別子と対応付けて記憶する。図７（Ａ）において、複合機３００のリソースサーバー識別子が「ＭＦＰ００１」であり、発行されたリソースサーバースコープが「ｒＳｅｒｖｅｒ．ＭＦＰ００１」の場合のレコードが記憶されている。なお、リソースサーバーテーブルは、認可サーバー１５１の外部メモリ２１１等に保持される。ここでスコープとは、ＯＡｕｔｈによる権限委譲プロトコルにおいて、認可情報である認可トークンを発行する際に、その認可トークンによって参照可能なリソースのアクセス範囲を意味する。また、リソースサーバースコープとは、アクセス範囲としてのリソースサーバーを示すスコープであり、本実施形態では、リソースサーバーを指定するための指定情報としても用いられる。
【００３０】
Ｓ３にて、リソースサーバー管理モジュール５０１は、Ｓ２で発行したリソースサーバースコープを、登録要求に対する応答として、複合機３００に返す。リソースサーバー登録要求モジュール７０１は、認可サーバー１５１からリソースサーバースコープを受信すると、図７（Ｂ）に示すようなリソースサーバースコープテーブルにて、複合機３００に対して発行されたリソースサーバースコープを記憶する。リソースサーバースコープテーブルは、複合機３００内部（例えば、外部メモリ３１１）にて、認可サーバー１５１から複合機３００用に発行されたリソースサーバースコープを記憶する。
【００３１】
（ライセンスの対応付け処理）
図４（Ｂ）は、本実施形態に係る複合機３００で高速印刷が実施できるように、複合機３００に高速印刷用のライセンスを対応付ける処理フローである。本処理フローは、ユーザーが、ユーザー端末１７１を介して、認可サーバー１５１でライセンスの対応付けを指示する操作を行うことで開始される。本実施形態において、ユーザー端末１７１からＷｅｂブラウザ（不図示）等を用いて認可サーバー１５１にアクセスすることで、認可サーバー１５１は、対応付けを行うための画面（不図示）を提供するものとする。この画面を介して、ユーザーは、ライセンスの対応付けを指示する操作を行うことができる。
【００３２】
Ｓ１１にて、認可サーバー１５１のリソースサーバーライセンス管理モジュール５０２は、複合機３００に対する高速印刷用のライセンスの対応付けの要求をユーザー端末１７１から受信する。この対応付けの要求には、複合機３００のリソースサーバー識別子と、対応付けようとするライセンス情報が含まれる。従って、ユーザーは、複合機３００のリソースサーバー識別子を把握しており、また、複合機３００に高速印刷を実施させるためのライセンス情報（リソースサーバーライセンス情報）を有しているものとする。
【００３３】
Ｓ１２にて、リソースサーバーライセンス管理モジュール５０２は、対応付けの処理を行った上で、複合機３００に対する高速印刷用のライセンスの対応付けの結果を返信する。リソースサーバーライセンス管理モジュール５０２は、図７（Ｃ）に示すようなリソースサーバーライセンステーブルにて各リソースサーバーのライセンス情報を対応付けて記憶する。リソースサーバーライセンステーブルは、例えば、認可サーバー１５１の外部メモリ２１１等に保持される。
【００３４】
図７（Ｃ）では、「ＭＦＰ００１」（すなわち、複合機３００）には高速印刷用のライセンスである「ＨｉｇｈＳｐｅｅｄＰｒｉｎｔＭＦＰ」が対応付けられている。これにより、「ＭＦＰ００１」が示す複合機では高速印刷が可能となる（機能の実行が許可される）。一方、「ＭＦＰ００２」には高速印刷用のライセンスが対応付けられていないため、「ＭＦＰ００２」が示す複合機では高速印刷は実施できない（機能は有するが許可されていない）。
【００３５】
（アクセストークン発行処理）
図４（Ｃ）は、本実施形態に係る、特定の複合機で高速印刷を実行するためのアクセストークンを発行するための処理フローである。本処理フローは、ユーザーが複合機と印刷ジョブを指定して、印刷サーバー１５２に印刷操作を行うことで開始される。本実施形態において、ユーザー端末１７１からＷｅｂブラウザ（不図示）等を用いて印刷サーバー１５２にアクセスすることで、印刷サーバー１５２は、印刷サービスを提供するための画面（不図示）を提供するものとする。この画面を介して、ユーザーは印刷操作を行うことができる。
【００３６】
Ｓ２１にて、印刷サーバー１５２は、ユーザー端末１７１からの印刷要求を受け付ける。印刷要求には、印刷ジョブとして印刷対象のデータと印刷を実行させたい複合機の識別子（リソースサーバー識別子）が含まれる。更に、印刷要求には、高速印刷指示も含まれているとする。なお、印刷対象のデータとしては、画像データであってもよいし、画像データが格納された格納先の情報であってもよい。
【００３７】
印刷要求を受け付けると、Ｓ２２にて、印刷サーバー１５２のリソースサーバースコープ要求モジュール６０１は、認可サーバー１５１に対し、Ｓ２１にて印刷要求にて指定された複合機に対応するリソースサーバースコープを要求する。
【００３８】
リソースサーバースコープの要求を受け付けると、Ｓ２３にて、認可サーバー１５１のリソースサーバー管理モジュール５０１は、リソースサーバーテーブル（図７（Ａ））を参照する。そして、リソースサーバー管理モジュール５０１は、要求されたリソースサーバー識別子に対応するリソースサーバースコープを特定し、印刷サーバー１５２に返す。リソースサーバースコープの要求にて指定された複合機の識別子が「ＭＦＰ００１」である場合、リソースサーバーテーブル上でリソースサーバー識別子が「ＭＦＰ００１」となっているレコードが参照される。その結果、リソースサーバースコープとして「ｒＳｅｒｖｅｒ．ＭＦＰ００１」が返される。
【００３９】
Ｓ２４にて、印刷サーバー１５２のアクセストークン要求モジュール６０２は、認可サーバー１５１に対し、アクセストークン発行要求を送信する。アクセストークン発行要求には高速印刷を実行するためのスコープに加え、Ｓ２３で取得したリソースサーバースコープ「ｒＳｅｒｖｅｒ．ＭＦＰ００１」が含まれる。ここでのスコープは、ユーザー端末１７１から要求された、ユーザーが実行したいサービスの内容（つまり、印刷サーバー１５２が認可を受けたい処理の内容）が示される。従って、本例では、高速印刷を実行するためのスコープが相当する。
【００４０】
アクセストークン発行要求を受け付けると、Ｓ２５にて、認可サーバー１５１のアクセストークン管理モジュール５０３は、図６に示すような認可確認画面８００をユーザー端末１７１の表示部に表示し、アクセストークン発行の許可をユーザーに求める。認可確認画面８００を表示する際に、アクセストークン管理モジュール５０３は、アクセストークン発行要求に含まれるスコープに基づき、対応付けられたライセンスにて、要求されたリソースサーバーとそのサービスが許可され得るか（動作可能か）否かを判定する。ここで、ライセンスによる制限や、ライセンスが対応付けられていないなどの理由より、要求されたリソースサーバーおよびそのサービスが許可されない場合（許可されるスコープの範囲を超えている場合）は、ユーザーはトークンの認可（権限の委譲）ができない。その場合には、その旨を印刷サーバー１５２に通知してもよい。
【００４１】
また、認可確認画面８００の表示方法としては、印刷サーバー１５２が提供する画面からのリダイレクトなどによりユーザー端末１７１上の表示画面を遷移させてもよい。認可確認画面８００において、許可ボタン８０１が押下された場合には、アクセストークン発行の許可がなされたものとし、拒否ボタン８０２が押下された場合には拒否されたものとする。なお、拒否された場合には、処理を中断し、エラーをユーザー端末１７１および印刷サーバー１５２に通知してもよい。
【００４２】
Ｓ２６にて、アクセストークン管理モジュール５０３は、Ｓ２５でユーザーからアクセストークン発行を許可されたことに応じて、アクセストークンを発行する。発行したアクセストークンは、図７（Ｄ）に示すようなアクセストークンテーブルで記憶される。更に、アクセストークン管理モジュール５０３は、印刷サーバー１５２にアクセストークンを返す。
【００４３】
アクセストークンテーブル（図７（Ｄ））は、例えば、認可サーバー１５１の外部メモリ２１１にて保持される。アクセストークンテーブルにはアクセストークン識別子と、アクセストークンの発行を許可したユーザーのユーザー識別子、およびアクセストークンを要求したクライアントの識別子が対応付けられている。また、アクセストークン識別子には、アクセストークン発行要求時に要求されたスコープも対応付けられている。ユーザー識別子は、ユーザーを一意に識別するための識別情報であり、例えば、印刷サーバー１５２が提供する印刷サービスの利用登録時に発行されているものとする。アクセストークン識別子は、認可サーバー１５１によって発行されたアクセストークンを一意に識別するための識別情報であり、発行時に認可サーバー１５１によって付与されるものとする。クライアント識別子は、認可サーバー１５１が提供する認可サービスを利用するクライアントを一意に識別するための識別情報であり、ここでは、印刷サーバー１５２を示す。クライアント識別子は、認可サーバー１５１を利用可能なクライアントとして予め登録する際に発行してもよいし、新たなクライアントが利用を要求してきた際に発行してもよい。
【００４４】
図７（Ｄ）において、例えば、アクセストークン識別子が「Ｔ００１」のアクセストークンは、ユーザー「ＵｓｅｒＸ」が、印刷サーバー１５２であるクライアント「ＰｒｉｎｔＳｅｒｖｅｒ」に対して発行を許可したアクセストークンを表す。また、「Ｔ００１」のアクセストークンは、高速印刷スコープ「ｏｗｎｅｒ．ＨｉｇｈＳｐｅｅｄＰｒｉｎｔ」とリソースサーバースコープ「ｒＳｅｒｖｅｒ．ＭＦＰ００１」を持つため、「ＭＦＰ００１」で高速印刷が可能なアクセストークンでもある。
【００４５】
（高速印刷実行処理）
図４（Ｄ）は、本実施形態に係る、アクセストークンを用いて複合機で高速印刷を実行する際の処理フローである。本処理フローは、ユーザーが複合機と印刷ジョブを指定して、印刷サーバー１５２に印刷操作を行うことで開始される。ここでは、複合機３００がユーザーにて指定されたものとして説明する。また、上述したように、複合機が提供する高速印刷は、複合機が提供する機能の一例であり、他の機能に本願発明を適用する場合でも同様の処理を行う。
【００４６】
Ｓ３１にて、印刷サーバー１５２の印刷指示モジュール６０３は、Ｓ２１にて受信した印刷ジョブと、Ｓ２６にて受信したアクセストークンおよび高速印刷指示を、印刷要求として複合機３００に送信する。
【００４７】
印刷要求を受信すると、Ｓ３２にて、複合機３００のアクセストークン検証要求モジュール７０３は、Ｓ３１にて受信した印刷要求に含まれるアクセストークンの検証要求を、認可サーバー１５１に送信する。アクセストークンの検証要求には、Ｓ３１にて受信したアクセストークンと、高速印刷を実行するためのスコープおよび自身（複合機３００）を表すリソースサーバースコープを含む。また、検証要求は、印刷ジョブにて指定されている印刷ページ数の情報も含む。
【００４８】
Ｓ３３にて、認可サーバー１５１のアクセストークン検証モジュール５０４は、Ｓ３２で受信したアクセストークンの検証要求に応答して、複合機３００にて高速印刷の利用を許可するか否かを判定する。ここでの判定の詳細については図５を用いて後述する。
【００４９】
Ｓ３４にて、アクセストークン検証モジュール５０４は、Ｓ３３の判定結果をアクセストークンの検証結果として複合機３００に返す。
【００５０】
Ｓ３５にて、複合機３００の印刷モジュール７０４は、Ｓ３４で受信したアクセストークン検証結果が、高速印刷を許可する判定結果であった場合は、Ｓ３１にて受信した印刷要求に基づき高速印刷を実行する。一方、アクセストークン検証結果が、高速印刷を許可しない判定結果であった場合は、印刷モジュール７０４は、通常速度で印刷を実施する。もしくは、印刷モジュール７０４は、印刷を実施しないように構成してもよい。
【００５１】
Ｓ３６にて、複合機３００の印刷指示受信モジュール７０２は、Ｓ３５の印刷結果を印刷サーバー１５２に通知する。印刷を実施しなかった場合、もしくは、通常速度で印刷を実施した場合には、その旨を通知する。
【００５２】
Ｓ３７にて、印刷サーバー１５２の印刷指示モジュール６０３は、Ｓ３６で受信した印刷結果をユーザー（ユーザー端末１７１）に通知する。そして、本処理フローを終了する。
【００５３】
（アクセストークン検証処理）
図５は、本実施形態に係るアクセストークン検証の処理フローであり、図４（Ｄ）のＳ３３における、認可サーバー１５１のアクセストークン検証モジュール５０４による処理の詳細を示す。
【００５４】
Ｓ５０１にて、アクセストークン検証モジュール５０４は、Ｓ３２で受信した検証要求にて指定されたアクセストークンに対応付けられたスコープとユーザー識別子をアクセストークンテーブル（図７（Ｄ））から取得する。例えば、検証要求にて指定されたアクセストークンのアクセストークン識別子が「Ｔ００１」である場合、スコープは「ｏｗｎｅｒ．ＨｉｇｈＳｐｅｅｄＰｒｉｎｔ」と「ｒＳｅｒｖｅｒ．ＭＦＰ００１」が取得され、ユーザー識別子は「ＵｓｅｒＸ」が取得される。
【００５５】
Ｓ５０２にて、アクセストークン検証モジュール５０４は、Ｓ３２で受信した検証要求にて指定された複合機３００のリソースサーバースコープを含む全てのスコープが、Ｓ５０１で取得したスコープに含まれているか否かを判定する。全てのスコープが含まれると判定された場合は（Ｓ５０２にてＹＥＳ）Ｓ５０３に遷移し、一部でも含まれないと判定された場合は（Ｓ５０２にてＮＯ）Ｓ１０５０に遷移する。例えば、Ｓ３２で受信した検証要求にて指定されたスコープが「ｏｗｎｅｒ．ＨｉｇｈＳｐｅｅｄＰｒｉｎｔ」（利用したい機能を示すスコープ）と「ｒＳｅｒｖｅｒ．ＭＦＰ００１」（機能を実行させたいリソースサーバーを示すスコープ）であったとする。また、Ｓ３２で受信した検証要求にて指定されたアクセストークンのアクセストークン識別子が「Ｔ００１」であったとする。この場合、図７（Ｄ）に示すアクセストークンテーブルの登録内容に基づき、両方のスコープを含むと判定される。一方、Ｓ３２で受信した検証要求にて指定されたアクセストークンのアクセストークン識別子が「Ｔ００２」もしくは「Ｔ００３」であった場合、図７（Ｄ）に示すアクセストークンテーブルの登録内容に基づき、「ｒＳｅｒｖｅｒ．ＭＦＰ００１」が含まれないと判定される。
【００５６】
Ｓ５０３にて、アクセストークン検証モジュール５０４は、Ｓ３２で受信したアクセストークンに対応付けられたスコープに含まれるリソースサーバースコープに対応する複合機を、リソースサーバーテーブル（図７（Ａ））を参照して特定する。また、アクセストークン検証モジュール５０４は、リソースサーバーライセンステーブル（図７（Ｃ））を参照して、特定した複合機のリソースサーバーライセンス情報を取得する。
【００５７】
Ｓ５０４にて、アクセストークン検証モジュール５０４は、Ｓ５０３で取得したリソースサーバーライセンス情報に、高速印刷用のリソースサーバーライセンスである「ＨｉｇｈＳｐｅｅｄＰｒｉｎｔＭＦＰ」が含まれているか否かを判定する。高速印刷用のリソースサーバーライセンスが含まれていると判定された場合は（Ｓ５０４にてＹＥＳ）Ｓ５０５に遷移し、含まれていないと判定された場合は（Ｓ５０４にてＮＯ）Ｓ５０９に遷移する。例えば、Ｓ３２で受信した検証要求にて指定されたアクセストークンの識別子が「Ｔ００１」であった場合、各テーブルに基づき、対応付けられたリソースサーバースコープは「ｒＳｅｒｖｅｒ．ＭＦＰ００１」であり、リソースサーバーライセンス情報として「ＨｉｇｈＳｐｅｅｄＰｒｉｎｔＭＦＰ」を含むと判定される。一方、リソースサーバースコープが「ｒＳｅｒｖｅｒ．ＭＦＰ００２」となるアクセストークンであった場合、リソースサーバーライセンス情報として「ＨｉｇｈＳｐｅｅｄＰｒｉｎｔＭＦＰ」を含まないと判定される。
【００５８】
Ｓ５０５にて、アクセストークン検証モジュール５０４は、Ｓ５０１で取得したユーザーに対応付けられたライセンス情報と、高速印刷可能な残りページ数を、ユーザー管理モジュール５０５から取得する。図７（Ｅ）は、ユーザー管理モジュール５０５で管理されるユーザーライセンステーブルである。ユーザーライセンステーブルは、例えば、認可サーバー１５１の外部メモリ２１１にて保持される。図７（Ｅ）に示すユーザーライセンステーブルでは、ユーザーライセンスに対応して、高速印刷が可能なページ数が定義されている。このページ数は一例であり、例えば、ユーザーライセンスごとに実行可能な上限数が定義されていてもよい。また、ユーザーライセンスにて許可もしくは制限される機能はページ数に限定するものではなく、例えば、実行する期間やカラー／モノクロ印刷などであってもよい。
【００５９】
Ｓ５０６にて、アクセストークン検証モジュール５０４は、Ｓ５０５で取得したライセンス情報を確認する。ここでは高速印刷用のユーザーライセンス「ＨｉｇｈＳｐｅｅｄＰｒｉｎｔＵｓｅｒ」が含まれていること、および、Ｓ３２で受信した印刷ページ数がＳ５０５で取得した高速印刷可能な残りページ数を超えていないことを確認する。ここで高速印刷用のユーザーライセンスがあり、かつ印刷ページ数が高速印刷可能な残りページ数を超えないと判定された場合は（Ｓ５０６にてＹＥＳ）Ｓ５０７に遷移する。いずれか一方または両方の条件を満たさないと判定された場合は（Ｓ５０６にてＮＯ）Ｓ５０９に遷移する。
【００６０】
Ｓ５０７にて、アクセストークン検証モジュール５０４は、ユーザー管理モジュール５０５で管理する高速印刷可能な残りページ数を、印刷ページ数を減算した値で更新する。例えば、Ｓ３２で受信した検証要求にて指定されたアクセストークンの識別子が「Ｔ００１」であり、指定された高速印刷のページ数が「３０」であった場合を考える。各テーブルを参照すると、アクセストークン「Ｔ００１」に対応付けられたユーザー識別子は「ＵｓｅｒＸ」であり、ユーザー「ＵｓｅｒＸ」は高速印刷用のユーザーライセンス「ＨｉｇｈＳｐｅｅｄＰｒｉｎｔＵｓｅｒ」を有する。更に、そのユーザーライセンスにおいて高速印刷可能な残りページ数（ここでは１００ページ）は印刷ページ数（ここでは３０ページ）以上であると判定される。また、アクセストークン検証の結果、ユーザー「ＵｓｅｒＸ」の高速印刷可能な残りページ数は、７０ページに更新される。このように、高速印刷可能な残りページ数を認可サーバー１５１側で管理することで、ユーザーが複数の複合機を使用する場合でも、それぞれの複合機で印刷した総ページ数に基づいて、高速印刷可能な残りページ数を管理することが可能である。つまり、認可サーバー１５１側でまとめて複数の複合機に対する、ユーザーライセンス情報による利用状況を管理することができる。
【００６１】
Ｓ５０８にて、アクセストークン検証モジュール５０４は、アクセストークン検証の結果、高速印刷の実行が許可されたことを複合機３００に通知する。その後、本処理フローを終了する。
【００６２】
Ｓ５０９にて、アクセストークン検証モジュール５０４は、高速印刷の実行が不許可であることを複合機３００に通知する。そして、本処理フローを終了する。
【００６３】
本実施形態により、複数の複合機を含むシステムにおいて、クラウドサービスと連携して複数の複合機の管理を行いつつ、特定の複合機でのみ所定の機能を実行させるように制御、管理することができる。その結果、複数の複合機それぞれの機能を適切に管理でき、ユーザーによる利便性が向上する。
【００６４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６５】
１５１  認可サーバー、１５２  プリントサーバー、３００  複合機、５０１  リソースサーバー管理モジュール、５０２  リソースサーバーライセンス管理モジュール、５０３  アクセストークン管理モジュール、５０４  アクセストークン検証モジュール、５０５  ユーザー管理モジュール、７０３  アクセストークン検証要求モジュール、７０４  印刷モジュール
【図１】
2017191412.tif 000003
【図２】
2017191412.tif 000004
【図３】
2017191412.tif 000005
【図４】
2017191412.tif 000006
【図５】
2017191412.tif 000007
【図６】
2017191412.tif 000008
【図７】
2017191412.tif 000009