(57)【要約】【課題】  予め設定されているデバイスの使用制限に従って新たなリクエストを受信しないようにしつつ、ユーザー権限を無効化する前に受信したリクエストを実行できるようにユーザー権限を管理することを目的とする。【解決手段】  ユーザーによる、第一の機能を実行するための第一のリクエストをサービスサーバーが受信する第一の受信手段と記第一の機能を利用するためのクラウドユーザー権限を無効化するリクエストをサービスサーバーが受信したことに応じて、前記第一の機能を利用するためのクラウドユーザー権限を無効化する第一の無効手段と、第一のリクエストに基づいた処理がデバイスで実行されたことを確認する第一の確認手段と、第一のリクエストに基づいた処理が実行されたことが確認された後に、第一の機能を利用するためのローカルユーザー権限を無効化する第二の無効手段と、を有する。【選択図】  図８
2019092120.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーがデバイスの機能を利用するための権限であるローカルユーザー権限と、前記ユーザーがサービスサーバーの機能を利用するための権限であるクラウドユーザー権限とを管理する、前記デバイスと前記サービスサーバーとを含む情報処理システムであって、
前記ユーザーによる、前記サービスサーバーと前記デバイスの連携による第一の処理を実行するための第一のリクエストを前記サービスサーバーが受信する第一の受信手段と、
前記クラウドユーザー権限が有効であると確認されたことに応じて、前記第一のリクエストに基づいた処理を前記サービスサーバーが実行する第一の実行手段と、
前記第一の処理を実行するためのクラウドユーザー権限を無効化するリクエストを前記サービスサーバーが受信したことに応じて、前記第一の機能を利用するためのクラウドユーザー権限を無効化する第一の無効手段と、
前記第一の受信手段で受信した第一のリクエストに基づいた処理が前記デバイスで実行されたことを確認する第一の確認手段と、
前記クラウドユーザー権限が無効化されている場合、前記第一の確認手段によって前記第一のリクエストに基づいた処理が実行されたことが確認された後に、前記第一の機能を利用するためのローカルユーザー権限を無効化する第二の無効手段と、を有する情報処理システム。
【請求項２】
ユーザーがデバイスの機能を利用するための権限であるローカルユーザー権限と、前記ユーザーがサービスサーバーの機能を利用するための権限であるクラウドユーザー権限とを管理する、前記デバイスと前記サービスサーバーとを含む情報処理システムであって、
前記ユーザーによる、前記サービスサーバーと前記デバイスの連携による第二の機能を実行するための第二のリクエストを前記デバイスが受信する第二の受信手段と、
前記ローカルユーザー権限が有効であると確認されたことに応じて、前記第二のリクエストに基づいた処理を前記デバイスが実行する第二の実行手段と、
前記第二の処理を実行するためのローカルユーザー権限を無効化するためのリクエストを前記デバイスが受信したことに応じて、前記第二の機能を利用するためのローカルユーザー権限を無効化する第三の無効手段と、
前記第二の受信手段で受信した第二のリクエストに基づいた処理が前記サービスサーバーで実行されたことを確認する第二の確認手段と、
前記ローカルユーザー権限が無効化されている場合、前記第二の確認手段によって前記第二のリクエストに基づいた処理が実行されたことが確認された後に、前記第二の機能を利用するためのクラウドユーザー権限を無効化する第四の無効手段と、を有する情報処理システム。
【請求項３】
前記情報処理システムは、
前記デバイスの機能を利用する前記ユーザーを一意に識別するローカルユーザー認証情報と、前記ローカルユーザー権限が無効かどうかを示す設定値とを関連付けた第一の情報と、
前記サービスサーバーの機能を利用する前記ユーザーを一意に識別するクラウドユーザー認証情報と、前記クラウドユーザー権限が無効かどうかを示す設定値とを関連付けた第二の情報とを管理する第一の管理手段を更に有し、
前記無効化は、
前記第一の管理手段によって管理された設定値を、前記権限が無効であることを示す設定値に変更することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記情報処理システムは、
失敗した前記第一の処理を識別するための第一の失敗ジョブ識別情報を発行する第一の発行手段と、
失敗した前記第二の処理を識別するための第二の失敗ジョブ識別情報を発行する第二の発行手段と、
を更に有し、
前記第一の発行手段によって発行された第一の失敗ジョブ識別情報に対して、前記クラウドユーザー権限が関連付いていることが確認された場合、
前記クラウドユーザー権限が無効かどうかを示す設定値に依らずに、前記第一の失敗ジョブ識別情報で特定される処理を実行し、
前記第二の発行手段によって発行された第二の失敗ジョブ識別情報に対して、前記ローカルユーザー権限が関連付いていることが確認された場合、
前記ローカルユーザー権限が無効かどうかを示す設定値に依らずに、前記第二の失敗ジョブ識別情報で特定される処理を実行する請求項１乃至３のいずれか一項に記載の情報処理システム。
【請求項５】
前記第一の発行手段は、
前記第一の機能を実行するための処理が失敗した場合、前記第一の機能を実行するための処理を識別する第一のジョブ識別情報を受信し、受信した第一のジョブ識別情報に対して失敗した処理を識別するための失敗ジョブ識別情報を発行し、
前記第二の発行手段は、
前記第二の機能を実行するための処理が失敗した場合、前記第二の機能を実行するための処理を識別する第二のジョブ識別情報を受信し、受信した第二のジョブ識別情報に対して失敗した処理を識別するための失敗ジョブ識別情報を発行する請求項４に記載の情報処理システム。
【請求項６】
前記第一の失敗ジョブ識別情報または前記第二の失敗ジョブ識別情報で特定される処理が実行されたことが確認された後、
前記第一の失敗ジョブ識別情報または前記第二の失敗ジョブ識別情報に関連付くクラウドユーザー権限またはローカルユーザー権限を削除する請求項４または５に記載の情報処理システム。
【請求項７】
前記情報処理システムは、
再実行する処理を選択するための画面を表示する第一の表示手段を更に有し、
前記第一の表示手段によって表示される画面においてユーザーが選択した第一の失敗ジョブ識別情報に対して、クラウドユーザー権限情報が関連付いていることが確認された後、または、
前記第一の表示手段によって表示される画面においてユーザーが選択した第二の失敗ジョブ識別情報に対して、ローカルユーザー権限情報が関連付いていることが確認された後、
再実行の画面で選択された第一の失敗ジョブ識別情報または第二の失敗ジョブ識別情報で特定される処理が再実行される請求項４乃至６のいずれか一項に記載の情報処理システム。
【請求項８】
前記無効は、前記権限を無効化する処理である請求項１乃至７のいずれか一項に記載の情報処理システム。
【請求項９】
前記情報処理システムは、
前記第一の機能または第二の機能の実行に対する制限を管理する第二の管理手段と、
前記第二の管理手段によって管理された制限に達したかどうかを判断する判断手段と、
を更に有し、
前記無効は、
前記判断手段によって前記制限に達したと判断された場合に、前記制限に達した機能を実行するための権限を無効化することである請求項１乃至８のいずれか一項に記載の情報処理システム。
【請求項１０】
前記情報処理システムは、
前記ユーザーが前記機能を利用するための権限が無効である場合、エラーを通知することを特徴とする請求項１乃至９のいずれか一項に記載の情報処理システム。
【請求項１１】
前記デバイスは、
前記サービスサーバーから取得したドキュメントを印刷するプリント機能と、前記デバイスにおいてスキャンしたデータを前記サービスサーバーに送信するスキャン機能と、
を少なくとも含む画像形成装置であり、
前記第一の機能は、
前記画像形成装置において前記プリント機能を実行するための機能であり、
前記第二の機能は、
前記画像形成装置において前記スキャン機能を実行するための機能である請求項１乃至９のいずれか一項に記載の情報処理システム。
【請求項１２】
前記制限は、
プリント機能を実行した際に印刷される紙の枚数、または前記ユーザーが前記機能を利用できる有効期限のうち、いずれか一つである請求項９に記載の情報処理システム。
【請求項１３】
前記判断手段は、
前記第一のリクエストを受信した際に、既に受信した第一のリクエストによって印刷される紙の枚数が前記制限を越えたかを判断し、前記制限を越えたと判断された場合、
前記ユーザーにエラーを通知する請求項１２に記載の情報処理システム。
【請求項１４】
コンピュータを、
ユーザーがデバイスの機能を利用するための権限であるローカルユーザー権限と、前記ユーザーがサービスサーバーの機能を利用するための権限であるクラウドユーザー権限とを管理する、前記デバイスと前記サービスサーバーとを含む情報処理システムとして機能させるための制御方法であって、
前記ユーザーによる、前記サービスサーバーと前記デバイスの連携による第一の処理を実行するための第一のリクエストを前記サービスサーバーが受信する第一の受信手段と、
前記クラウドユーザー権限が有効であると確認されたことに応じて、前記第一のリクエストに基づいた処理を前記サービスサーバーが実行する第一の実行手段と、
前記第一の処理を実行するためのクラウドユーザー権限を無効化するリクエストを前記サービスサーバーが受信したことに応じて、前記第一の機能を利用するためのクラウドユーザー権限を無効化する第一の無効手段と、
前記第一の受信手段で受信した第一のリクエストに基づいた処理が前記デバイスで実行されたことを確認する第一の確認手段と、
前記クラウドユーザー権限が無効化されている場合、前記第一の確認手段によって前記第一のリクエストに基づいた処理が実行されたことが確認された後に、前記第一の機能を利用するためのローカルユーザー権限を無効化する第二の無効手段と、を有する情報処理システムとして機能させるための制御方法。
【請求項１５】
コンピュータを、
ユーザーがデバイスの機能を利用するための権限であるローカルユーザー権限と、前記ユーザーがサービスサーバーの機能を利用するための権限であるクラウドユーザー権限とを管理する、前記デバイスと前記サービスサーバーとを含む情報処理システムとして機能させるためのプログラムであって、
前記ユーザーによる、前記サービスサーバーと前記デバイスの連携による第一の処理を実行するための第一のリクエストを前記サービスサーバーが受信する第一の受信手段と、
前記クラウドユーザー権限が有効であると確認されたことに応じて、前記第一のリクエストに基づいた処理を前記サービスサーバーが実行する第一の実行手段と、
前記第一の処理を実行するためのクラウドユーザー権限を無効化するリクエストを前記サービスサーバーが受信したことに応じて、前記第一の機能を利用するためのクラウドユーザー権限を無効化する第一の無効手段と、
前記第一の受信手段で受信した第一のリクエストに基づいた処理が前記デバイスで実行されたことを確認する第一の確認手段と、
前記クラウドユーザー権限が無効化されている場合、前記第一の確認手段によって前記第一のリクエストに基づいた処理が実行されたことが確認された後に、前記第一の機能を利用するためのローカルユーザー権限を無効化する第二の無効手段と、を有する情報処理システムとして機能させるためのプログラム。
【請求項１６】
コンピュータを、
ユーザーがデバイスの機能を利用するための権限であるローカルユーザー権限と、前記ユーザーがサービスサーバーの機能を利用するための権限であるクラウドユーザー権限とを管理する、前記デバイスと前記サービスサーバーとを含む情報処理システムとして機能させるための制御方法であって、
前記ユーザーによる、前記サービスサーバーと前記デバイスの連携による第二の機能を実行するための第二のリクエストを前記デバイスが受信する第二の受信手段と、
前記ローカルユーザー権限が有効であると確認されたことに応じて、前記第二のリクエストに基づいた処理を前記デバイスが実行する第二の実行手段と、
前記第二の処理を実行するためのローカルユーザー権限を無効化するためのリクエストを前記デバイスが受信したことに応じて、前記第二の機能を利用するためのローカルユーザー権限を無効化する第三の無効手段と、
前記第二の受信手段で受信した第二のリクエストに基づいた処理が前記サービスサーバーで実行されたことを確認する第二の確認手段と、
前記ローカルユーザー権限が無効化されている場合、前記第二の確認手段によって前記第二のリクエストに基づいた処理が実行されたことが確認された後に、前記第二の機能を利用するためのクラウドユーザー権限を無効化する第四の無効手段と、を有する情報処理システムとして機能させるための制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザー権限を管理する情報処理システム、制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、デバイスの機能、あるいはクラウドシステムが提供する機能を用いることで、デバイスとクラウドシステムとの間でデータのやりとりを行うサービスが出てきている。
【０００３】
一方、デバイスの利用者であるユーザーに対し、利用できるデバイスの機能を制限するために、ユーザー権限を設ける形態がある。特許文献１には、コンピュータシステムの管理者の許可に応じて、コンピュータシステムの利用者に対して設定変更を行う権限を与えたり、はく奪したりするコンピュータシステム変更システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−６９２４４
【発明の概要】
【発明が解決しようとする課題】
【０００５】
デバイスとクラウドシステムとが連携する場合、クラウドシステムの利用者であるユーザーに対しても、利用できる機能を制限するためにユーザー権限を設ける形態が考えられる。この場合、ユーザーからのリクエストのタイミングによっては、ユーザー権限を無効化する前に受信したリクエストが中断したり、実行されなかったりする。
【０００６】
具体的にはデバイスが画像形成装置である場合、クラウドプリントのリクエストが既にデバイスで実行中である場合、デバイスの機能（プリント機能やスキャン機能等）を実行するためのユーザー権限（以下、ローカルユーザー権限）を無効化すると、実行中のリクエストが中断されることがある。また、クラウドシステムはプリントリクエストを受信しているが、デバイスがまだリクエストを受信していない場合、ローカルユーザー権限を無効化すると、デバイスはこれから受信するリクエストを実行できない。
【０００７】
本願発明は、無効化されたユーザー権限による新たなリクエストを受信しないようにしつつ、ユーザー権限を無効化する前に受信したリクエストを実行できるよう、デバイスとクラウドシステムの連携時におけるユーザー権限の管理を目的とする。
【課題を解決するための手段】
【０００８】
上記のような課題を解決するために本発明は、ユーザーがデバイスの機能を利用するための権限であるローカルユーザー権限と、前記ユーザーがサービスサーバーの機能を利用するための権限であるクラウドユーザー権限とを管理する、前記デバイスと前記サービスサーバーとを含む情報処理システムであって、前記ユーザーによる、前記サービスサーバーと前記デバイスの連携による第一の処理を実行するための第一のリクエストを前記サービスサーバーが受信する第一の受信手段と、前記クラウドユーザー権限が有効であると確認されたことに応じて、前記第一のリクエストに基づいた処理を前記サービスサーバーが実行する第一の実行手段と、前記第一の処理を実行するためのクラウドユーザー権限を無効化するリクエストを前記サービスサーバーが受信したことに応じて、前記第一の機能を利用するためのクラウドユーザー権限を無効化する第一の無効手段と、前記第一の受信手段で受信した第一のリクエストに基づいた処理が前記デバイスで実行されたことを確認する第一の確認手段と、前記クラウドユーザー権限が無効化されている場合、前記第一の確認手段によって前記第一のリクエストに基づいた処理が実行されたことが確認された後に、前記第一の機能を利用するためのローカルユーザー権限を無効化する第二の無効手段と、を有する。
【０００９】
また本発明は、ユーザーがデバイスの機能を利用するための権限であるローカルユーザー権限と、前記ユーザーがサービスサーバーの機能を利用するための権限であるクラウドユーザー権限とを管理する、前記デバイスと前記サービスサーバーとを含む情報処理システムであって、前記ユーザーによる、前記サービスサーバーと前記デバイスの連携による第二の機能を実行するための第二のリクエストを前記デバイスが受信する第二の受信手段と、
前記ローカルユーザー権限が有効であると確認されたことに応じて、前記第二のリクエストに基づいた処理を前記デバイスが実行する第二の実行手段と、前記第二の処理を実行するためのローカルユーザー権限を無効化するためのリクエストを前記デバイスが受信したことに応じて、前記第二の機能を利用するためのローカルユーザー権限を無効化する第三の無効手段と、前記第二の受信手段で受信した第二のリクエストに基づいた処理が前記サービスサーバーで実行されたことを確認する第二の確認手段と、前記ローカルユーザー権限が無効化されている場合、前記第二の確認手段によって前記第二のリクエストに基づいた処理が実行されたことが確認された後に、前記第二の機能を利用するためのクラウドユーザー権限を無効化する第四の無効手段と、を有する。
【発明の効果】
【００１０】
本発明により、無効化されたユーザー権限による新たなリクエストを受信しないようにしつつ、ユーザー権限を無効化する前に受信したリクエストを実行できるよう、デバイスとクラウドシステムの連携時におけるユーザー権限を管理することができる。
【図面の簡単な説明】
【００１１】
【図１】本願発明に係る情報処理システムの構成図の一例である。
【図２】情報処理システムを構成する各種装置のハードウェア構成図である。
【図３】各種装置が有する機能を示すブロック図である。
【図４】端末１０２からサービスサーバー１０４に対してリクエストを送信する際の処理を示すシーケンス図である。
【図５】デバイス１０５からサービスサーバー１０４に対してリクエストを送信する際の処理を示すシーケンス図である。
【図６】クラウドプリントリクエストを実行するためのユーザー権限を有効にするシーケンス図である。
【図７】スキャンアップロードリクエストを実行するためのユーザー権限を有効にするシーケンス図である。
【図８】プリント処理を実行するためのユーザー権限をオーナーが無効化する処理のシーケンス図である。
【図９】スキャンアップロード処理を実行するためのユーザー権限をオーナーが無効化する処理のシーケンス図である。
【図１０】端末１０２が表示するプリント画面の一例を示す図である。
【図１１】デバイス１０５が表示するスキャンアップロード画面の一例を示す図である。
【図１２】オーナーデバイス１０６における権限制御画面である。
【図１３】実施例２における、プリント処理を実行するためのユーザー権限をオーナーが無効化する処理のシーケンス図である。
【図１４】実施例２における、失敗したプリントジョブを別のデバイスで再実行する処理のシーケンス図である。
【図１５】実施例２における、スキャンアップロード処理を実行するためのユーザー権限をオーナーが無効化する処理のシーケンス図である。
【図１６】実施例２における、失敗したスキャンアップデート処理を再実行する処理のシーケンス図である。
【図１７】失敗ジョブプリント画面の一例である。
【図１８】実施例２における、プリント処理が失敗したことを通知する画面表示の一例である。
【図１９】失敗スキャンアップロード画面の一例である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について実施例を用いて説明する。
【実施例１】
【００１３】
図１を用いて、本願発明に係る情報処理システムを構成する各種装置について説明する。図１は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１００を経由して端末１０２、情報処理システムを構築する認証サーバー１０３、サービスサーバー１０４、デバイス１０５、オーナーデバイス１０６が接続している状態を示す。ＷＡＮ  １００はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０１により各種装置と接続されている。
【００１４】
端末１０２は、ＰＣやスマードフォン、タブレット等の装置であり、ユーザーによる端末１０２の操作でデバイス１０５に対してリクエストを送信する。ただしデバイス１０５の操作形態はこれに限定されず、ユーザーが直接デバイス１０５を操作してもよい。認証サーバー１０３は、クラウドユーザーやローカルユーザー等のユーザー、ＭＦＰ等のデバイス１０５を認証しその認証情報を登録する。
【００１５】
サービスサーバー１０４は、ＷＡＮ１００を経由して端末１０２とデバイス１０５と通信可能であり、Ｍｅｓｓａｇｅ  Ｑｕｅｕｉｎｇ  Ｔｅｌｅｍｅｔｒｙ  Ｔｒａｎｓｐｏｒｔ  （ＭＱＴＴ）  Ｂｒｏｋｅｒによるメッセージ通信を行うサーバー等が挙げられる。ＭＱＴＴとは、ｐｕｂｌｉｓｈ／ｓｕｂｓｃｒｉｂｅモデルのメッセージ通信プロトコルである。ｐｕｂｌｉｓｈ／ｓｕｂｓｃｒｉｂｅモデルは、メッセージ送信者（以下、ｐｕｂｌｉｓｈｅｒ）からメッセージ受信者（以下、ｓｕｂｓｃｒｉｂｅｒ）に対して、メッセージ仲介者であるＭＱＴＴ  ｂｒｏｋｅｒを介してメッセージを配信する。ｓｕｂｓｃｒｉｂｅｒは、メッセージの送信先（以下、トピック）としてｓｕｂｓｃｒｉｂｅｒ自身を指定してメッセージをサービスサーバー１０４に送信し、そのトピックと一致したメッセージをサービスサーバー１０４から受信できるように予約する（以下、ｓｕｂｓｃｒｉｂｅ）。ｓｕｂｓｃｒｉｂｅするためにｓｕｂｓｃｒｉｂｅｒがサービスサーバー１０４に送信するメッセージをｓｕｂｓｃｒｉｂｅメッセージと呼ぶ。
【００１６】
ｐｕｂｌｉｓｈｅｒは、サービスサーバー１０４に対してトピックを指定したメッセージを送信する。サービスサーバー１０４は、そのトピックと同じトピックをｓｕｂｓｃｒｉｂｅしているｓｕｂｓｃｒｉｂｅｒに対してメッセージを配信する（以下、ｐｕｂｌｉｓｈ）。ｐｕｂｌｉｓｈｅｒがｐｕｂｌｉｓｈするためにトピックを指定してサービスサーバー１０４に送信するメッセージ、およびｓｕｂｓｃｒｉｂｅｒに送信されるメッセージを、ｐｕｂｌｉｓｈメッセージを呼ぶ。
【００１７】
トピックは「／」で区切られた階層構造（例：／Ａ／ＢＣ／Ｄ／Ｅ）になっており、トピックの完全一致または一部一致をｓｕｂｓｃｒｉｂｅｒ側で指定することで、指定した条件に合ったトピックのメッセージをｓｕｂｓｃｒｉｂｅｒが受信できる。ＭＱＴＴ  ｂｒｏｋｅｒは、受信したｐｕｂｌｉｓｈメッセージのトピックとｓｕｂｓｃｒｉｂｅメッセージのトピックとの一致不一致を確認しており、一致した場合はｐｕｂｌｉｓｈメッセージをｓｕｂｓｃｒｉｂｅｒに送信する。ＭＱＴＴを用いることで、ファイヤーウォールでサービスサーバー１０４からデバイス１０５への通信が遮断されていても、デバイス１０５への通信が可能となる。
【００１８】
後述の実施例は、サービスサーバー１０４がＭＱＴＴ  ｂｒｏｋｅｒの機能を有するものとして説明するが、デバイス１０５がサービスサーバー１０４からリクエストを取得できれば、他のプロトコルを用いた形態でもよい。例えば、デバイス１０５がサービスサーバー１０４に対して定期的に情報取得のためのリクエストを行い、そのレスポンスでサービスサーバー１０４からのリクエストを受信する形態も考えられる。
【００１９】
サービスサーバー１０４は端末１０２に対してクラウドサービスを提供する。クラウドサービスは、サービスサーバー１０４で実行されたＷｅｂアプリケーションが提供する機能または機能群のことである。具体的には、端末１０２から受信したリクエストをデバイス１０５に送信する機能や、デバイス１０５からアップロードされたデータを格納する機能、あるいはサービスサーバー１０４とは別のサーバーにデータを送信する機能等である。
【００２０】
デバイス１０５は、画像形成装置、ＰＣ、スマートフォン等の情報処理装置であり、複数のローカルユーザーのローカルユーザー情報を管理するマルチユーザーデバイスである。デバイス１０５は、ＭＱＴＴ  Ｂｒｏｋｅｒであるサービスサーバー１０４に対してトピックを指定したｓｕｂｓｃｒｉｂｅメッセージを送信することで、そのトピックと一致したｐｕｂｌｉｓｈメッセージを受信することができる。
【００２１】
オーナーデバイス１０６は、ＰＣやスマードフォン、タブレット等の装置である。オーナーはオーナーデバイス１０６を用いて認証サーバー１０３に対し、ユーザー権限の付与や無効等を行う。
【００２２】
次に、図２を用いて、図１で説明した各種装置１０２〜１０６のハードウェア構成を説明する。なお、図２に示されるハードウェアブロック図は、ＰＣ等の一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施例の各種装置１０２〜１０６のハードウェア構成に適用可能である。端末１０２を例に図２を説明する。
【００２３】
制御部２００は、ＬＡＮ１０１にネットワークＩ／Ｆ２０６を介して接続されている。制御部２００において、ＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、ＨＤＤ２０５が内部バス２０１を介して接続されている。ＣＰＵ２０２は、ＲＯＭ２０３のブートプログラムを実行してＨＤＤ２０５に記憶されているＯＳや制御プログラムをＲＡＭ２０４に展開し、そのプログラムに基づいて、端末１０２の制御を行うユニットである。
【００２４】
ＲＯＭ２０３は、情報処理装置２００のブートプログラムや各種データ等が格納されている記憶装置である。ＲＡＭ２０４は、ＣＰＵ２０２が命令を実行する際に使用するワークメモリである。ＲＯＭ２０３に保存されていたプログラムがＲＡＭ２０４へとロードされ、そのプログラムの命令をＣＰＵ２０２が順次読みだし命令を実行する。ＨＤＤ２０５は外部記憶装置であり、ＯＳや各種プログラムを格納している。ネットワークＩ／Ｆ２０６は、内部バス２０１を介してＣＰＵ２０２、ＲＯＭ２０３、ＲＡＭ２０４、ＨＤＤ２０５と接続されており、ＬＡＮ１００等のネットワークを介して端末１０２への情報の入出力を行う。尚、後述の全ての説明においては、特に断りのない限り各種装置のハード上の主体はＣＰＵ２０２であり、ソフトウェア上の主体はＨＤＤ２０５にインストールされたアプリケーションプログラムである。
【００２５】
図３を用いて、端末１０２、認証サーバー１０３、サービスサーバー１０４、デバイス１０５、オーナーデバイス１０６が有する機能を説明する。各機能は各種装置のＣＰＵ２０２がＲＡＭ２０４にロードされたアプリケーションプログラムを実行することで実現される。
【００２６】
端末１０２はＷｅｂブラウザ３０１を有し、Ｗｅｂブラウザ３０１を用いて認証サーバー１０３やサービスサーバー１０４との通信を行う。
【００２７】
認証サーバー１０３は通信部３０２と認証部３０３を有する。認証部３０３は、通信部３０２を介して外部との通信を行う。また、認証部３０３はクラウドユーザーやローカルユーザー等のユーザーや、ＭＦＰ等のデバイス１０５を認証し、その認証情報を管理する機能である。
【００２８】
サービスサーバー１０４は、通信制御部３０４とプリント部３０５とスキャンアップロード部３０６とを有する。通信制御部３０４は、ｓｕｂｓｃｒｉｂｅメッセージの受信やｐｕｂｌｉｓｈメッセージの配信を行う。プリント部３０５は、端末１０２からプリントを実行するためのリクエストを受信し、通信制御部３０４を介してデバイス１０５にリクエストを送信する機能である。スキャンアップロード部３０６は、デバイス１０５から受信したスキャンデータをサービスサーバー１０４に格納する機能である。格納場所がサービスサーバー１０４でない場合は、スキャンアップロード部３０６を介して別のサーバーにスキャンデータを格納してもよい。
【００２９】
デバイス１０５は、Ｗｅｂブラウザ３０７、ローカルログイン部３０８、認証サーバー連携部３０９、機能呼び出し部３１０、プリント実行部３１１、スキャンアップロード実行部３１２を有する。Ｗｅｂブラウザ３０７は、ＷＷＷを利用するためのユーザーエージェントである。ローカルログイン部３０８はローカルユーザーを認証する機能である。なお、ローカルユーザーの認証方法は、ローカルログイン部３０８が不図示の認証サーバーと通信することでローカルユーザーを認証する等の形態が考えられる。認証サーバー連携部３０９は、認証連携情報の発行要求を行う機能である。
【００３０】
認証連携情報とは、クラウドユーザーを一意に識別するための情報であるクラウドユーザー認証情報と、ローカルユーザーを一意に識別するためのローカルユーザー認証情報とを関連付けるための情報である。認証連携情報の一例としてパスコードが挙げられる。クラウドユーザー認証情報は、クラウドユーザーが認証サーバー１０３にログインした時に生成される認証情報の総称であり、クラウドユーザーＩＤやクラウドユーザーＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）等のクラウドユーザーを一意に識別する情報が含まれる。ＵＵＩＤとはユーザーを一意に識別するための識別子であり、ＩＤとは違って他のユーザーと重複しないことを前提に作られている。つまり、クラウドユーザーＵＵＩＤを用いることで、マルチテナントシステムにおいてテナントごとに設定されたユーザー情報をも全て識別できるものとする。
【００３１】
一方のローカルユーザー認証情報は、ローカルユーザーがデバイス１０５にログインした時に生成される認証情報の総称であり、ローカルユーザーＩＤやローカルユーザーＵＵＩＤ等のローカルユーザーを一意に識別するための情報が含まれる。後述は、認証連携情報を用いてクラウドユーザーＵＵＩＤとローカルユーザーＵＵＩＤとを紐付けた紐付け情報を例に説明する。
【００３２】
尚、今回は、クラウドユーザー認証情報とローカルユーザー認証情報とが、認証連携情報を介して紐付いている形態で説明する。その認証連携情報には有効期限が予め設定されている形態でもよく、クラウドユーザーまたはローカルユーザーがログアウトすることを機に認証連携情報が消去される形態でもよい。または、認証部３０３と認証サーバー連携部３０９が有するユーザー情報（後述の表１と表５）を用いて紐付け情報を事前に作成し、その紐付け情報に対して期限を設けないことも可能である。つまり、クラウドユーザー認証情報とローカルユーザー認証情報との対応表をデバイス１０５と認証サーバー１０３とが有していればどのような形態でもよい。
【００３３】
デバイス１０５が有する機能である機能呼び出し部３１０は、クラウドユーザーＵＵＩＤとローカルユーザーＵＵＩＤとを関連付けるユーザー紐付け処理において、ｓｕｂｓｃｒｉｂｅメッセージをサービスサーバー１０４に送信し、サービスサーバー１０４からの処理要求を待つ機能である。
【００３４】
プリント実行部３１１は、デバイス１０５が保持するプリントユニットにプリント処理を実行させる機能である。スキャンアップロード実行部３１２は、デバイス１０５が保持するスキャンユニットにスキャン処理を実行させる機能である。また、スキャン処理で取得したスキャンデータをサービスサーバー１０４にアップロードする機能でもある。オーナーデバイス１０６はＷｅｂブラウザ３１３を備え、Ｗｅｂブラウザ３１３を介してサービスサーバー１０４との通信を行う。
【００３５】
次に図４を用いて、端末１０２からサービスサーバー１０４に対してリクエストを送信する際の処理を説明する。本実施例では、端末１０２からサービスサーバー１０４に送信されるリクエストは、デバイス１０５のプリント機能を実行するためのリクエストであるものとして説明する。
【００３６】
まず、プリントリクエストをデバイス１０５が受信するために、認証サーバー連携部３０９は機能呼び出し部３１０に、通信制御部３０４に対するｓｕｂｓｃｒｉｂｅメッセージの送信を要求する（Ｓ４０１）。機能呼び出し部３１０は通信制御部３０４に対して、ｓｕｂｓｃｒｉｂｅメッセージを送信する（Ｓ４０２）。ｓｕｂｓｃｒｉｂｅメッセージのトピックは、デバイス１０５のデバイス識別情報で指定する。具体的には、トピックは「／」で区切られた階層構造（例：／Ａ／ＢＣ／Ｄ／Ｅ）となっており、機能呼び出し部３１０であるｓｕｂｓｃｒｉｂｅｒが受信したい情報の分類を定義できるので、例えば「（デバイス１０５が設置されている場所）／（デバイス識別情報）」というようにメッセージの送信先を指定する。これによりデバイス１０５のデバイス識別情報をトピックとするｐｕｂｌｉｓｈメッセージを、機能呼び出し部３１０が受信することができる。また、機能呼び出し部３１０は通信制御部３０４との通信を維持するために、通信の切断を検知する度に通信制御部３０４に対してｓｕｂｓｃｒｉｂｅメッセージを送信する。
【００３７】
Ｗｅｂブラウザ３０１はユーザーからログイン操作を受け付け（Ｓ４０３）、認証部３０３にログイン処理を要求する（Ｓ４０４）。ログイン処理は、認証サーバー１０３が備える認証部３０３において定められている認証方法によって行われる。認証方法としては例えば、ユーザーＩＤとパスワードとの組み合わせを検証する方法、指紋等の生体情報を検証する方法、非接触型のＩＣカードを利用する方法、更には複数の認証方法を組み合わせる多要素認証方法等がある。本実施例では、クラウドユーザーＩＤとパスワードとの組み合わせを例に説明する。表１に、認証部３０３が有するクラウドユーザー情報の一例を示す。認証部３０３は表１を参照し、クラウドユーザーＩＤ、パスワードの組でクラウドユーザー認証を行う（Ｓ４０５）。
【００３８】
【表１】
2019092120.tif 000003
【００３９】
認証されたユーザーのクラウドユーザー認証情報を生成し保存する（Ｓ４０６）。このクラウドユーザー認証情報は、ユーザーが不図示のログアウト操作を実施するか、設定された時刻が経過するまで有力な状態で保存される。クラウドユーザー認証情報には、認証したユーザーのクラウドユーザーＩＤとクラウドユーザーＵＵＩＤが含まれる。つまり、表１で示したクラウドユーザー情報とほぼ同じ情報をクラウドユーザー認証情報が含む。本実施例では、クラウドユーザーＩＤ「ｓｅ００１」のユーザーがログインしたものとして、クラウドユーザーＩＤ「ｓｅ００１」、クラウドユーザーＵＵＩＤ「ＣＣＣ１」、パスワード「ｓｅ００１」のクラウドユーザー認証情報がＳ４０６で生成されたものとする。
【００４０】
なお、認証部３０３がクラウドユーザー認証情報を直接格納する形態に限定されない。クラウドユーザー認証情報と紐付けられたトークンを認証部３０３が格納し、そのトークンを参照することで認証部３０３とは別の場所に格納されたクラウドユーザー認証情報を用いる形態でもよい。
【００４１】
認証部３０３はＷｅｂブラウザ３０１に対しログイン処理に対する応答を行う（Ｓ４０７）。その際、Ｓ４０６で生成されたクラウドユーザーＵＵＩＤと紐付くセッションＩＤがＷｅｂブラウザ３０１に送信される。セッションＩＤとは、ログインしたユーザーを識別するための識別子であり、本実施例ではＳ４０６で生成されたクラウドユーザーＵＵＩＤと紐付いて認証部３０３で管理される。Ｓ４０７においてセッションＩＤをＷｅｂブラウザ３０１が受信することで、Ｗｅｂブラウザ３０１のＣｏｏｋｉｅ（不図示）にセッションＩＤが管理される。後述の実施例では特に断りがない限り、Ｗｅｂブラウザ３０１と認証部３０３間の通信では、このセッションＩＤが受送信される。
【００４２】
Ｗｅｂブラウザ３０１はユーザーから、クラウドプリントを実行するためのプリント画面要求操作を受け付けて（Ｓ４０８）、プリント部３０５に対してプリント画面を要求する（Ｓ４０９）。プリント部３０５は認証部３０３に対して、プリント処理を実行するためのクラウドユーザー権限情報の取得を依頼する（Ｓ４１０）。その際、Ｗｅｂブラウザ３０１から取得したセッションＩＤが、権限情報の取得依頼とともに送信される。それにより、後述のＳ４１１において認証部３０３は、セッションＩＤにより認証サーバー１０３にログインしているユーザーを特定し、特定されたユーザーのクラウドユーザー権限情報を特定することができる。
【００４３】
認証部３０３はプリント部３０５に対してプリント処理を実行するためのクラウドユーザー権限情報を送信する（Ｓ４１１）。具体的には、認証部３０３が有する権限テーブルに基づいて、クラウドユーザー権限情報をプリント部３０５に送信する。その権限テーブルの一例を表２（ａ）に示す。表２（ａ）にはクラウドユーザーＵＵＩＤ毎に「プリント処理を実行するためのユーザー権限」と、「スキャンアップロード処理を実行するためのユーザー権限」が管理されている。また、表２（ａ）には「セッションＩＤ」が管理されている。表２（ａ）における「１」はユーザー権限が付与された状態であり、「０」はユーザー権限が無効にされた状態を示す。このようにしてユーザー権限の有無を設定値で管理する。以降の権限テーブルでも同様である。また、権限を設定値で管理する方法はあくまでも一例である。本実施例における無効は、ユーザー権限を（設定等を用いて）はく奪する、または無効化する、またはユーザー権限に関するレコードを削除する等の操作を含む。
【００４４】
今回、Ｓ４１０で受信したセッションＩＤが「１２３４ａａａａ」であるものとすると、表２（ａ）を参照することで、認証サーバー１０３にログインしているユーザーはクラウドユーザーＩＤ「ｓｅ００１」（クラウドユーザーＵＵＩＤ「ＣＣＣ１」）であると特定される。そして表２（ａ）より、プリント処理を実行するためのクラウドユーザー権限が付与されていることがわかる。
【００４５】
【表２−１】
2019092120.tif 000004
【００４６】
Ｓ４１１でプリント部３０５が取得したクラウドユーザー権限情報に基づき、プリント部３０５はＷｅｂブラウザ３０１にプリント画面を応答する（Ｓ４１２）。今回は、プリント処理を実行するためのユーザー権限がクラウドユーザーに対して付与されているので、プリント処理を実行するためのプリント画面が返却される。その際のプリント画面の一例を図１０（ａ）に示す。
【００４７】
図１０において色が薄くなっている部分９０３は、ユーザーによる選択が不可能である状態を示す。図１０（ａ）には、クラウドプリントを実行するためのボタン「クラウドプリント実行」９０３と、デバイス１０５の識別情報であるデバイスＩＤをプルダウンで選択できる部分９０１と、クラウドプリントで印刷するドキュメントを取得するためのボタン「ファイルを選択」９０２が表示されている。尚、９０１に表示されるデバイスＩＤの一覧の表示方法については、プリント処理を実行する際にプリンターを選択するＷｅｂブラウザの一般的な表示方法であるため、説明は省略する。
【００４８】
９０１でユーザーがクラウドプリントの実行依頼を送信する送信先のデバイス１０５を選択し、９０２でファイルを選択する。９０２が押下されることで、サービスサーバー１０４等のクラウド環境に存在するファイルを選択する方法は一般的に知られているため、説明は省略する。ファイルを選択した後のプリント画面の一例を図１０（ｂ）に示す。図１０（ａ）では実行不可能だったボタン９０３が、デバイスＩＤ「００００１」とドキュメント「ａａａａａ．ｐｄｆ」を選択した結果、図１０（ｂ）では実行可能の状態（ボタン９０６）になっている。
【００４９】
Ｓ４１０でプリント処理を実行するためのクラウドユーザー権限が無効であることが確認された場合、Ｗｅｂブラウザ３０１に表示される画面の一例は図１０（ｃ）に示す。図１０（ｃ）に表示されるいずれの部分（９０７〜９０９）も実行不可能な状態となる。
【００５０】
ユーザーがプリント画面（図１０（ｂ））においてボタン９０６を押下することで、Ｗｅｂブラウザ３０１はデバイス１０５に対するクラウドプリント依頼操作を受け付ける（Ｓ４１３）。Ｗｅｂブラウザ３０１はプリント部３０５にクラウドプリントの実行要求を送信する（Ｓ４１４）。その際、９０４で選択されたデバイス１０５のデバイス識別情報も送信される。
【００５１】
Ｓ４１５とＳ４１６では、Ｓ４１０とＳ４１１の処理と同様、プリント処理を実行するためのクラウドユーザー権限情報をプリント部３０５が認証部３０３から取得する。Ｓ４１６においてクラウドユーザー権限が付与されていることが確認されたらＳ４１７に進み、権限が無効にされていれば、Ｗｅｂブラウザ３０１に対してエラーを返してシーケンスを終了する。クラウドプリントの実行依頼を送信する操作（Ｓ４１４）の前後でクラウドユーザー権限情報を取得する理由は、Ｓ４１１におけるクラウドユーザー権限情報の応答と、Ｓ４１４のクラウドプリントリクエストの受送信との間で、オーナー等の操作によりクラウドユーザー権限が無効にされる可能性があるからである。そのため、サービスサーバー１０４はユーザーから実行要求を受信する度にユーザー権限を確認する。デバイス１０５がユーザーから実行要求を受信する処理（後述のＳ５１１）でも同様である。
【００５２】
Ｓ４１６でプリント処理を実行するためのクラウドユーザー権限が付与されていることが確認されると、プリント部３０５はクラウドユーザーＵＵＩＤに対してプリントジョブ識別情報を発行する（Ｓ４１６．５）。プリントジョブ識別情報は、クラウドユーザーＵＵＩＤで特定されるクラウドユーザーがデバイスＩＤで特定されるデバイス１０５に対して依頼したプリントジョブを一意に識別するための識別情報である。プリント部３０５に格納されるプリントジョブテーブルの一例を表２（ｂ）に示す。表２（ｂ）における「プリントジョブＵＵＩＤ」はプリントジョブ識別情報に相当し、プリントジョブを一意に特定できるユニークな値である。表２（ｂ）における「ステータス」は、プリントジョブＵＵＩＤで特定されるプリントジョブが実行中であるか、完了したのかを示す値である。
【００５３】
具体的に、クラウドユーザーＵＵＩＤ「ＣＣＣ１」で特定されるクラウドユーザーが、図１０でデバイスＩＤ「００００１」を選択し、そのクラウドユーザー権限情報が有効であることがＳ４１６で確認されたとする。その結果、Ｓ４１６．５においてプリントジョブＵＵＩＤ「９０１２３４５６」が発行される。
【００５４】
【表２−２】
2019092120.tif 000005
【００５５】
プリント部３０５は通信制御部３０４に対して、デバイスＩＤとクラウドユーザーＵＵＩＤともにクラウドプリントの実行要求を送信する（Ｓ４１７）。今回であれば、クラウドユーザーＵＵＩＤ「ＣＣＣ１」、プリントジョブＵＵＩＤ「９０１２３４５６」、デバイスＩＤ「００００１」であるため、それで特定されるレコードの「ステータス」が「実行中」となる。
【００５６】
通信制御部３０４は認証部３０３に対してローカルユーザーＵＵＩＤの取得要求を送信する（Ｓ４１８）。その際、クラウドユーザーＵＵＩＤとデバイスＩＤとが送信される。Ｓ４１８で受信したデバイスＩＤとクラウドユーザーＵＵＩＤに基づいて、ローカルユーザーＵＵＩＤを一意に特定する（Ｓ４１９）。ローカルユーザーＵＵＩＤを特定する際には、予め認証部３０３が保有するマッピングテーブルを用いる。マッピングテーブルの一例を表３に示す。
【００５７】
表３に示したようなローカルユーザーＵＵＩＤとクラウドユーザーＵＵＩＤとの紐付け情報の具体的な作成方法については、本実施例では問わない。作成方法の一例としては、特願２０１７−０９８３７８に記載の方法が挙げられる。具体的には、ユーザーがＷｅｂブラウザ３０１を介して入力した認証連携情報を認証サーバー１０３が受信し、受信した認証連携情報を介してクラウドユーザーＵＵＩＤと認証連携情報との紐付け情報（以下、第一の紐付け情報）を作成する。そして、ユーザーがＷｅｂブラウザ３０７を介して入力した認証連携情報を認証サーバー１０３が受信し、受信した認証連携情報を介してローカルユーザーＵＵＩＤと認証連携情報との紐付け情報（以下、第二の紐付け情報）を作成する。第一の紐付け情報と第二の紐付け情報に含まれる認証連携情報が同一であれば、認証サーバー１０３において認証連携情報を介してローカルユーザーＵＵＩＤとクラウドユーザーＵＵＩＤとが紐付く。
【００５８】
【表３】
2019092120.tif 000006
【００５９】
認証部３０３は、Ｓ４１９で特定したローカルユーザーＵＵＩＤを通信制御部３０４に送信する（Ｓ４２０）。クラウドユーザーＵＵＩＤが「ＣＣＣ１」である場合、通信制御部３０４に送信されるローカルユーザーＵＵＩＤは表３より「ＡＡＡ１」である。通信制御部３０４は機能呼び出し部３１０に対して、クラウドプリント実行要求をローカルユーザーＵＵＩＤとプリントジョブＵＵＩＤとともにｐｕｂｌｉｓｈメッセージを送信する（Ｓ４２１）。その際のトピックはデバイス１０５のデバイス識別情報である。これにより、Ｓ４０２で機能呼び出し部３１０が送信したｓｕｂｓｃｒｉｂｅメッセージと同じトピックのｐｕｂｌｉｓｈメッセージを送信することができる。
【００６０】
機能呼び出し部３１０はプリント実行部３１１に対してローカルユーザーＵＵＩＤとともに、クラウドプリント実行要求を送信する（Ｓ４２２）。プリント実行部３１１は認証サーバー連携部３０９に対して、プリント処理を実行するためのローカルユーザー権限情報の取得依頼を送信する（Ｓ４２３）。
【００６１】
認証サーバー連携部３０９はプリント実行部３１１に対してローカルユーザー権限情報を送信する（Ｓ４２４）。具体的には、認証サーバー連携部３０９が有する権限テーブルに基づいて、プリント実行部３１１に送信するローカルユーザー権限情報を特定する。認証サーバー連携部３０９が有する権限テーブルの一例を表４に示す。表４には、ローカルユーザーＵＵＩＤ毎に「プリント処理を実行するためのユーザー権限」と「スキャンアップロード処理を実行するためのユーザー権限」が管理されている。今回はローカルユーザーＵＵＩＤが「ＡＡＡ１」であるため表４より、プリント処理を実行するためのユーザー権限が付与されていることがわかる。
【００６２】
【表４】
2019092120.tif 000007
【００６３】
プリント処理を実行するためのローカルユーザー権限が有効であることが確認された後、プリント実行部３１１はプリント処理を実行する（Ｓ４２５）。その際、Ｓ４２２で受信したローカルユーザーＵＵＩＤから特定されるローカルユーザーとしてプリント処理が実行される。プリント処理が実行された後、プリント実行部３１１は機能呼び出し部３１０に対しローカルユーザーＵＵＩＤとともに、プリント処理の実行結果を送信する（Ｓ４２６）。
【００６４】
機能呼び出し部３１０は通信制御部３０４に対してローカルユーザーＵＵＩＤとデバイスＩＤとともに、プリント処理の実行結果を送信する（Ｓ４２７）。通信制御部３０４は認証部３０３に対し、クラウドユーザーＵＵＩＤの取得要求を送信する（Ｓ４２８）。その際、実行結果とともに受信したデバイスＩＤとローカルユーザーＵＵＩＤを送信する。認証部３０３は通信制御部３０４に対してクラウドユーザーＵＵＩＤを送信する（Ｓ４２９）。その際に送信されるクラウドユーザーＵＵＩＤは、表３のテーブルと、受信したデバイスＩＤとローカルユーザーＵＵＩＤとを用いて特定されたものである。
【００６５】
通信制御部３０４はプリント部３０５にプリント処理の実行結果を送信する（Ｓ４３０）。その際に受信した情報に含まれているローカルユーザーＵＵＩＤを利用する事で、クラウドプリント実行を要求したクラウドユーザーに対して結果がどうなったかを返す事ができる。以上が、端末１０２からサービスサーバー１０４に対してリクエストを送信した際の処理である。
【００６６】
次に、図５を用いてデバイス１０５からサービスサーバー１０４に対してリクエストを送信する処理を説明する。図５は、端末１０２からリクエストが送信する際の処理を示したシーケンス図である。本実施例では、デバイス１０５からサービスサーバー１０４に対するリクエストの内容は、デバイス１０５でスキャンされたデータをサービスサーバー１０４にアップロードするためのスキャンアップロード指示であるものとして説明する。
【００６７】
Ｗｅｂブラウザ３０７は、ユーザーからログイン操作を受け付け（Ｓ５０１）、認証サーバー連携部３０９に対してログイン処理を要求する（Ｓ５０２）。このログイン処理は、認証サーバー連携部３０９において定められている認証方法によって行われる。認証方法としては、例えば、ローカルユーザーＩＤとパスワードの組み合わせを検証する方法を利用する方法等がある。本実施例では、ローカルユーザーＩＤとパスワードの組み合わせを例として説明する。表５に認証サーバー連携部３０９のユーザーテーブルの一例を示す。
【００６８】
【表５】
2019092120.tif 000008
【００６９】
認証サーバー連携部３０９は表５を用いて、ローカルユーザーＩＤとパスワードの組でローカルユーザー認証を行う（Ｓ５０３）。例えば、ローカルユーザーＩＤが「ａｄｍｉｎ」でパスワードが「ａｄｍｉｎ」である場合、認証サーバー連携部３０９はローカルユーザーＩＤ「ａｄｍｉｎ」のユーザーとして認証する。
【００７０】
認証されたユーザーのローカルユーザー認証情報を生成し保存する（Ｓ５０４）。ローカルユーザー認証情報は、ユーザーが不図示のログアウト操作を実施するか、設定された時刻が経過するまで有力な状態で保存される。ローカルユーザー認証情報には、認証したユーザーのローカルユーザーＩＤ、ローカルユーザーＵＵＩＤが格納されている。つまり、表５で示したローカルユーザー情報とほとんど同じ情報をローカルユーザー認証情報は含む。なお、認証サーバー連携部３０９がローカルユーザー認証情報を直接格納する形態に限らない。ローカルユーザー認証情報と紐付けられたトークンを認証サーバー連携部３０９が格納し、そのトークンを参照することで認証サーバー連携部３０９とは別の場所に格納されたローカルユーザー認証情報を用いる形態でもよい。
【００７１】
認証サーバー連携部３０９はログイン操作に対する結果をローカルユーザーＵＵＩＤとともに送信する（Ｓ５０５）。今回送信されるローカルユーザーＵＵＩＤは「ＡＡＡ１」であるものとする。Ｗｅｂブラウザ３０７は、スキャンアップロードを実行するためのスキャンアップロード画面の要求操作をユーザーから受け付ける（Ｓ５０６）。Ｗｅｂブラウザ３０７は、スキャンアップロード実行部３１２に対してローカルユーザーＵＵＩＤとともに、スキャンアップロード画面要求を送信する（Ｓ５０７）。
【００７２】
スキャンアップロード実行部３１２は認証サーバー連携部３０９に対して、スキャンアップロードを実行するためのローカルユーザー権限情報の取得要求を送信する（Ｓ５０８）。
【００７３】
認証サーバー連携部３０９はスキャンアップロード実行部３１２に対して、ローカルユーザー権限情報を送信する（Ｓ５０９）。具体的には、認証サーバー連携部３０９が有する権限テーブルに基づいて、認証サーバー連携部３０９はスキャンアップロード実行部３１２に送信すべきローカルユーザー権限情報を特定する。認証サーバー連携部３０９が有する権限テーブルの一例は表４に示した通りである。今回のローカルユーザーＵＵＩＤは「ＡＡＡ１」であるため、スキャンアップロードを実行するためのローカルユーザー権限が有効であることが表４より確認できる。
【００７４】
Ｓ５０９で受信したローカルユーザー権限情報に基づき、スキャンアップロード実行部３１２はＷｅｂブラウザ３０７に対してスキャンアップロード画面を応答する（Ｓ５１０）。スキャンアップロード画面の一例を図１１（ａ）に示す。図１１（ａ）には、スキャンアップロードを実行するためのボタン１００１とデバイスＩＤ「００００１」が表示されている。一方、ローカルユーザー権限が無効にされている場合のスキャンアップロード画面の一例は図１１（ｂ）に示す。図１１（ｂ）のボタン１００２は、ユーザーによる実行ができない状態になっている。
【００７５】
Ｗｅｂブラウザ３０７は図１１（ａ）のボタン１００１が押下されたことにより、スキャンアップロード実行要求操作をユーザーから受け付ける（Ｓ５１１）。このスキャンアップロード実行要求操作は、スキャンする用紙をデバイス１０５の所定の場所にセットされた後に、Ｗｅｂブラウザ３０７がユーザーから受け付けたものとする。
【００７６】
Ｗｅｂブラウザ３０７はスキャンアップロード実行部３１２に対して、ローカルユーザーＵＵＩＤとともにスキャンアップロード実行要求を送信する（Ｓ５１２）。Ｓ５１３とＳ５１４では、Ｓ５０８とＳ５０９と同様、ローカルユーザー権限情報が有効であるかを確認する処理が実行される。Ｓ５１４によりスキャンアップロード権限が有効であることが確認されるとＳ５１５に進み、ローカルユーザー権限が無効であれば、Ｗｅｂブラウザ３０７に対してエラーを返して、処理が終了する。
【００７７】
ローカルユーザー権限が有効であることが確認された後、スキャンアップロード実行部３１２はスキャン処理を実行する（Ｓ５１５）。Ｓ５１５で取得したスキャンデータをサービスサーバー１０４にアップロードするように、スキャンアップロード３１３は機能呼び出し部３１０に対してスキャンアップロード実行依頼を送信する（Ｓ５１６）。その際、ローカルユーザーＵＵＩＤもともに送信される。機能呼び出し部３１０は通信制御部３０４に対して、Ｓ５１６で受信したローカルユーザーＵＵＩＤとデバイスＩＤとスキャンデータを送信する（Ｓ５１７）。
【００７８】
通信制御部３０４は認証部３０３に対してクラウドユーザーＵＵＩＤの取得要求を行う（Ｓ５１８）。この際、Ｓ５１７で通知されたログインユーザーＵＵＩＤとデバイス１０５のデバイスＩＤも送信される。Ｓ５１８で受信したログインユーザーＵＵＩＤとデバイスＩＤとに基づいて、クラウドユーザーＵＵＩＤを一意に特定する（Ｓ５１９）。クラウドユーザーを特定する際には、予め認証部３０３が保有するマッピングテーブル（表３）を用いる。その結果、クラウドユーザーＵＵＩＤ「ＣＣＣ１」が特定され、認証部３０３は、Ｓ５１９で特定されたクラウドユーザーＵＵＩＤを通信制御部３０４に送信する（Ｓ５２０）。
【００７９】
通信制御部３０４はスキャンアップロード部３０６に対して、スキャンデータ格納依頼を送信する（Ｓ５２１）。その際、Ｓ５１７でアップロードされたスキャンデータとＳ５２０で取得したクラウドユーザーＵＵＩＤも送信される。
【００８０】
スキャンアップロード部３０６は認証部３０３に対して、クラウドユーザー情報取得を依頼する（Ｓ５２２）。認証部３０３はスキャンアップロード部３０６に対してクラウドユーザーのスキャンアップロード権限情報を送信する（Ｓ５２３）。具体的には、認証部３０３が有する権限テーブルに基づいて、スキャンアップロード部３０６にクラウドユーザー権限情報を特定する。スキャンアップロード部３０６が有する権限テーブルの一例は表２（ａ）に示した通りである。今回は、クラウドユーザーＵＵＩＤが「ＣＣＣ１」であるため、表２（ａ）よりクラウドユーザー権限が有効であることが分かる。
【００８１】
Ｓ５２３でクラウドユーザー権限情報が有効であることが確認された後、スキャンアップロード部３０６はスキャンデータの格納処理を実行する（Ｓ５２４）。その際、Ｓ５２１でスキャンアップロード部３０６が受信したクラウドユーザーＵＵＩＤで特定されるクラウドユーザーとして、スキャンデータの格納処理が実行される。Ｓ５２３でクラウドユーザー権限情報が無効であることが確認された場合は、スキャンデータの格納処理は実行されず、エラー情報がＷｅｂブラウザ３０７を介してユーザーに通知される。Ｓ５２４でスキャンデータが格納された後、スキャンアップロード部３０６がＷｅｂブラウザ３０７に対して、スキャンデータをアップロードが完了した旨を知らせる実行結果を送信する。以上が、デバイス１０５からサービスサーバー１０４に対してリクエストを送信した際の処理である。
【００８２】
今回は、サービスサーバー１０４にスキャンデータを格納する処理をスキャンデータ格納処理であるとして説明したがその形態に限定されない。サービスサーバー１０４以外の不図示の格納サーバーにスキャンデータを送信する形態でもよい。
【００８３】
次に、図６と図７を用いて、オーナーがオーナーデバイス１０６を介してユーザーにユーザー権限を付与する処理を説明する。図６は、クラウドプリントリクエストを実行するためのユーザー権限を有効にするシーケンス図である。図７は、スキャンアップロードリクエストを実行するためのユーザー権限を有効する処理のシーケンス図である。上記で説明した図４と図５の処理は、図６と図７の処理が完了した後に実行されたものとする。
【００８４】
また、本実施例では、サービスサーバー１０４からデバイス１０５に送信されるリクエストとしてクラウドプリントリクエスト、デバイス１０５からサービスサーバー１０４に送信されるリクエストとしてスキャンアップロードリクエストを一例に説明する。また、上記で既に説明した処理については同じ符番を振り、詳細な説明は省略する。
【００８５】
まず、図６を用いて、ユーザーに対してクラウドプリントを実行するためのユーザー権限を付与する処理を説明する。オーナーデバイス１０６のＷｅｂブラウザ３１３は、オーナーの操作により権限設定画面の要求操作を受け付けて（Ｓ６０３）、認証部３０３に対して権限設定画面を要求する（Ｓ６０４）。認証部３０３はＷｅｂブラウザ３１３に対して権限設定画面を送信する（Ｓ６０５）。権限設定画面の一例を図１２に示す。図１２において、「クラウドユーザーＩＤ」に対し、「プリント」欄と「スキャンアップロード」欄が設けられている。「プリント」欄のチェックボックスにチェックを付けることで、有効にしたいプリント処理を実行するためのクラウドユーザー権限情報を選択できる。「スキャンアップロード」欄の場合もチェックボックスにチェックを付けることで、有効にしたいユーザー権限を選択できる。
【００８６】
ユーザーが図１２の権限設定画面の「権限設定」ボタンを押下すると、Ｗｅｂブラウザ３１３は図１２で選択されたユーザー権限を有効化するための操作を受け付ける（Ｓ６０６）。Ｗｅｂブラウザ３１３は認証部３０３に対してユーザー権限の有効化要求を送信する（Ｓ６０７）。その際、Ｓ６０６で選択されたクラウドユーザーＵＵＩＤを送信する。
【００８７】
認証部３０３は、プリント処理を実行するためのローカルユーザー権限を付与する（Ｓ６０８）。具体的に、認証部３０３は表３のマッピングテーブルから、Ｓ６０７で受信したクラウドユーザーＵＵＩＤに紐付くローカルユーザーＵＵＩＤを特定する。特定されたローカルユーザーＵＵＩＤに対してプリントを実行するためのユーザー権限を付与する。その結果、認証部３０３はローカルユーザーＵＵＩＤとユーザー権限とを関連付ける情報をテーブルで管理する。その際に生成されるテーブルの一例を表６に示す。
【００８８】
【表６】
2019092120.tif 000009
【００８９】
既に表６のような権限テーブルが作成され、且つローカルユーザー権限が無効である場合は、Ｓ６０７の要求内容に従って表６の値を書き換える。具体的には、表６の「プリント処理を実行するためのユーザー権限」の「０」を「１」に書き換える。表６は、ユーザー権限の書き換えを行った後のテーブルである。
【００９０】
表６に基づいて、認証部３０３は通信制御部３０４に対し、デバイスＩＤとともにローカルユーザー権限付与要求を送信する（Ｓ６０９）。これは、認証サーバー１０３が有するローカルユーザー権限テーブル（表６）と、デバイス１０５が有するローカルユーザー権限テーブル（表４）とで整合性を維持するための処理に相当する。
【００９１】
通信制御部３０４は機能呼び出し部３１０に対し、ローカルユーザー権限付与依頼としてｐｕｂｌｉｓｈメッセージを送信する（Ｓ６１０）。その際のトピックはデバイスＩＤであり、ｐｕｂｌｉｓｈメッセージとともにローカルユーザーＵＵＩＤも送信される。機能呼び出し部３１０は認証サーバー連携部３０９に対してローカルユーザーＵＵＩＤとともに、ローカルユーザー権限付与依頼を送信する（Ｓ６１１）。認証サーバー連携部３０９はＳ６１１で受信したローカルユーザーＵＵＩＤに基づいて、ローカルユーザー権限テーブル（表４）のデータを更新する（Ｓ６１２）。
【００９２】
認証サーバー連携部３０９は機能呼び出し部３１０と通信制御部３０４とを介して、認証部３０３に対してローカルユーザー権限付与依頼に対する結果を応答する（Ｓ６１３〜６１５）。その際、ローカルユーザーＵＵＩＤが結果とともに送信される。
【００９３】
Ｓ６０７で受信したクラウドユーザーＵＵＩＤに紐付くクラウドユーザー権限を付与する（Ｓ６１６）。具体的には、認証部３０３が保持するクラウドユーザー権限テーブル（表２（ａ））について、該当のクラウドユーザー権限の値を「０」から「１」に変更する。Ｓ６１６の処理により、認証サーバー１０３が有するローカルユーザー権限テーブル（表６）とクラウドユーザー権限テーブル（表２（ａ））とでユーザー権限情報を同期する事ができる。以上が、プリント処理を実行するためのユーザー権限を付与する処理である。
【００９４】
次に図７を用いて、ユーザーに対してスキャンアップロードを実行するためのユーザー権限を付与する処理を説明する。ただし、上記で既に説明した処理については同じ符番を振り、詳細な説明は省略する。
【００９５】
Ｗｅｂブラウザ３１３は、スキャンアップロードを実行するためのユーザー権限付与の要求操作をユーザーから受け付ける（Ｓ７０１）。操作の際に用いられるＷｅｂブラウザ３１３の画面の一例は図１２に示した通りである。Ｗｅｂブラウザ３１３は認証部３０３に、Ｓ７０１で選択されたクラウドユーザーＵＵＩＤとともにユーザー権限付与依頼を送信する（Ｓ７０２）。
【００９６】
認証部３０３は、Ｓ７０２で受信したクラウドユーザーＵＵＩＤに紐付くクラウドユーザー権限を有効にする（Ｓ７０３）。具体的には、認証部３０３が保持するクラウドユーザー権限テーブル（表２（ａ））において、該当のクラウドユーザー権限の値を「０」から「１」に変更する。認証部３０３はローカルユーザー権限を付与する（Ｓ７０４）。具体的には、認証部３０３はユーザーテーブル（表２）とマッピングテーブル（表３）に基づいて、ローカルユーザー認証テーブル（表６）におけるスキャンアップロード権限を「０」から「１」に書き換える。ただし、Ｓ７０３とＳ７０４の順序は問わない。
【００９７】
認証部３０３は通信制御部３０４に対してデバイスＩＤとともに、ローカルユーザー権限の付与依頼を送信する（Ｓ７０５）。Ｓ７０５の依頼は、認証サーバー１０３が有するローカルユーザー権限テーブル（表６）と、デバイス１０５が有するローカルユーザー権限テーブル（表４）とを同期するために送信される。
【００９８】
通信制御部３０４は機能呼び出し部３１０に対してＳ７０５で受信したローカルユーザーＵＵＩＤとともに、ローカルユーザー権限付与依頼としてｐｕｂｌｉｓｈメッセージを送信する（Ｓ７０６）。その際のトピックはデバイスＩＤである。
【００９９】
機能呼び出し部３１０は認証サーバー連携部３０９に対してローカルユーザーＵＵＩＤとともに、ローカルユーザー権限の付与依頼を送信する（Ｓ７０７）。認証サーバー連携部３０９は、ローカルユーザーＵＵＩＤで特定されるローカルユーザー権限情報を更新する（Ｓ７０８）。具体的には、ローカルユーザー権限テーブル（表４）においてローカルユーザーＵＵＩＤに紐付くローカルユーザー権限の値を、「０」から「１」に変更する。以上が、ユーザーにスキャンアップロードを実行するためのユーザー権限を付与する処理である。
【０１００】
本実施例では、クラウドプリントとスキャンアップロードを実行する場合を例に、予め設定されているデバイスの使用制限に従って新たなリクエストを受信しないようにしつつ、リクエストを受信した後にユーザー権限を無効化する場合、受信したリクエストを実行できるようにユーザー権限を管理する処理について説明する。
【０１０１】
まず、図８を用いて、デバイス１０５のプリント処理が実行中である場合に、プリント処理を実行するためのユーザー権限をオーナーが無効化する処理を説明する。上記で説明済みの処理については同じ符番を振り、詳細な説明は省略する。
【０１０２】
Ｓ４２１でサービスサーバー１０４がデバイス１０５にプリント実行要求を送信した後、Ｗｅｂブラウザ３１３はオーナーから権限設定画面の要求操作を受け付けて（Ｓ７２２）、Ｗｅｂブラウザ３１３は認証部３０３に権限設定画面を要求する（Ｓ７２３）。認証部３０３はＷｅｂブラウザ３１３に権限設定画面を送信する（Ｓ７２４）。権限設定画面の一例は図１２に示した通りである。
【０１０３】
Ｗｅｂブラウザ３１３は、プリント機能を実行するためのクラウドユーザー権限を無効化する要求操作を受け付ける（Ｓ７２５）。具体的には図１２において、クラウドユーザー権限を無効にしたい項目のチェックボックスを外し、「権限設定」を押下する。Ｗｅｂブラウザ３１３は認証部３０３に対してクラウドユーザーＵＵＩＤとともにクラウドユーザー権限の無効要求を送信する（Ｓ７２６）。
【０１０４】
認証部３０３は、Ｓ７２６で受信したクラウドユーザーＵＵＩＤに紐付くクラウドユーザー権限を無効化する（Ｓ７２７）。具体的には、認証部３０３が有するクラウドユーザー権限テーブル（表２（ａ））において、該当のクラウドユーザー権限の値を「１」から「０」に変更する。
【０１０５】
認証部３０３はプリント部３０５に対して、プリント処理が完了したことを確認するためのプリント実行完了確認依頼を送信する（Ｓ７２８）。Ｓ７２８の依頼をプリント部３０５が受信することで、プリント部３０５が通信制御部３０４に送信したプリントリクエスト（Ｓ４１７）に対し、実行結果が返ってきたかを確認できる。プリント実行結果が確認されるまで、プリント部３０５はプリント実行結果の受信を待機する。
【０１０６】
Ｓ４３０においてプリント部３０５が通信制御部３０４からプリント実行結果を受信した後、プリント部３０５は認証部３０３に対してプリント実行完了確認依頼応答を送信し、デバイス１０５でのプリント処理が完了したことを通知する（Ｓ７２９）。認証部３０３はプリント処理が完了したことを確認した後に、プリント処理を実行するためのローカルユーザー権限を無効化する（Ｓ７３０）。具体的に認証部３０３は、マッピングテーブル（表３）からローカルユーザーＵＵＩＤを特定する。そして、表６におけるローカルユーザー権限の値を「１」から「０」に書き換える。
【０１０７】
認証部３０３は通信制御部３０４に対して、ローカルユーザー権限の無効を依頼する（Ｓ７３１）。これは、認証サーバー１０３が有するローカルユーザー権限テーブル（表６）と、デバイス１０５が有するローカルユーザー権限テーブル（表４）の情報を同期するための依頼である。Ｓ７３１では、認証部３０３が有するローカルユーザー権限テーブル（表６）を元に、依頼に紐付くデバイスＩＤを付加する。さらに、Ｓ７３０で特定されたローカルユーザーＵＵＩＤも送信する。
【０１０８】
通信制御部３０４は機能呼び出し部３１０に対してローカルユーザーＵＵＩＤとともに、プリント機能を実行するためのローカルユーザー権限の無効依頼としてｐｕｂｌｉｓｈメッセージを送信する（Ｓ７３２）。その際のトピックはデバイスＩＤである。機能呼び出し部３１０は認証サーバー連携部３０９に対してローカルユーザーＵＵＩＤを送信するとともに、ローカルユーザー権限の無効を依頼する（Ｓ７３３）。認証サーバー連携部３０９は受信したローカルユーザーＵＵＩＤを元に、ローカルユーザー権限テーブル（表４）のデータを更新する（Ｓ７３４）。具体的には、ローカルユーザー権限の値を「１」から「０」に変更する。
【０１０９】
以上が、デバイス１０５においてプリント処理が実行中である場合に、オーナーがユーザーに対してプリント処理を実行するためのユーザー権限を無効化する処理である。デバイス１０５におけるプリント処理が完了したことを確認してから、プリント処理を実行するためのローカルユーザー権限を無効化することにより、クラウドユーザー権限を無効化する前に受信したリクエストを実行することができる。
【０１１０】
尚、図８の説明において、機能呼び出し部３１０がプリント処理を実行するためのｐｕｂｌｉｓｈメッセージを受信した（Ｓ４２１）後に、オーナーがＷｅｂブラウザ３１３を介してクラウドユーザー権限の無効処理（Ｓ７２２〜７２７）が行われる形態で説明したが、その形態には限定されない。認証サーバー１０３におけるクラウドユーザー権限の無効処理（Ｓ７２７）が、通信制御部３０４におけるプリントリクエストの受信を受信（Ｓ４１７）の後であれば、プリント処理を実行することができる。
【０１１１】
次に図９を用いて、サービスサーバー１０４でスキャンアップロード処理が実行中である際に、オーナーがスキャンアップロード機能を実行するためのユーザー権限を無効化する処理を説明する。上記で説明済みの処理については同じ符番を振り、説明は省略する。
【０１１２】
Ｓ５２３で認証部３０３がサービスサーバー１０４にクラウドユーザー権限取得要求を送信した後、Ｗｅｂブラウザ３１３はオーナーから権限設定画面の要求操作を受け付け（Ｓ８２４）、認証部３０３に権限設定画面要求を送信する（Ｓ８２５）。認証部３０３はＷｅｂブラウザ３１３に対して権限設定画面を応答する（Ｓ８２６）。権限設定画面の一例は図１２に示した通りである。Ｗｅｂブラウザ３１３は、スキャンアップロード処理を実行するためのユーザー権限を無効化する要求操作を受け付ける（Ｓ８２７）。具体的な操作方法はＳ７２５と同様である。
【０１１３】
Ｗｅｂブラウザ３１３は認証部３０３に対してクラウドユーザーＵＵＩＤとともに、ユーザー権限の無効要求を送信する（Ｓ８２８）。この時、Ｓ８２９で選択されたクラウドユーザーＵＵＩＤも送信する。認証部３０３は、ローカルユーザー権限を無効化する（Ｓ８２９）。クラウドユーザー権限を無効にしたＳ７２７に対し、Ｓ８２９ではローカルユーザー権限を無効化する。Ｓ７２７とＳ８２９とでユーザー権限を無効化する順番の決め方は、図１２の権限制御画面において選択されたジョブ種（プリント、またはスキャンアップロード）に基づいて決定される。選択されたジョブ種に関する情報は、Ｓ８２８で送信され、認証部３０３において、ユーザー権限を無効化する順番が特定される。
【０１１４】
Ｓ８２９における処理としては具体的に、認証部３０３がマッピングテーブル（表３）を元にローカルユーザーＵＵＩＤを特定し、特定されたローカルユーザーＵＵＩＤを元に、表６におけるローカルユーザー権限情報の値を「１」から「０」に書き換える。
【０１１５】
認証部３０３は通信制御部３０４に対して、ローカルユーザー権限の無効を依頼する（Ｓ８３０）。通信制御部３０４は機能呼び出し部３１０に対してローカルユーザーＵＵＩＤとともに、ローカルユーザー権限の無効要求としてｐｕｂｌｉｓｈメッセージを送信する（Ｓ８３１）。その際のトピックはデバイスＩＤである。機能呼び出し部３１０は認証サーバー連携部３０９に対してローカルユーザーＵＵＩＤとともに、ローカルユーザー権限の無効要求を送信する（Ｓ８３２）。
【０１１６】
認証サーバー連携部３０９はＳ８３２で受信したローカルユーザーＵＵＩＤを元に、ローカルユーザー権限テーブル（表４）のデータを更新する（Ｓ８３３）。具体的には、ローカルユーザーＵＵＩＤに紐付くローカルユーザー権限情報の値を「１」から「０」に変更する。認証サーバー連携部３０９は機能呼び出し部３１０、通信制御部３０４、認証部３０３を介してスキャンアップロード部３０６に対し、ローカルユーザー権限の無効要求に対する結果を送信する（Ｓ８３４〜８３７）。その際、ローカルユーザーＵＵＩＤも送信される。これによりスキャンアップロード部３０６は、Ｓ５２１で受信したスキャンデータ格納依頼に対する処理結果を受信することができる。
【０１１７】
スキャンアップロード実行部３１２においてスキャンデータ格納処理が完了した後、スキャンアップロード部３０６は認証部３０３に対して、スキャンアップロード完了確認依頼応答を送信する（Ｓ８３８）。
【０１１８】
認証部３０３は、Ｓ８３８で受信したクラウドユーザーＵＵＩＤに紐付くクラウドユーザー権限を無効化する（Ｓ８３９）。具体的には、認証部３０３が保持するクラウドユーザー権限テーブル（表２（ａ））において、該当のクラウドユーザー権限情報の値を「１」から「０」に変更する。以上が、オーナーがユーザーに対してスキャンアップロード機能を実行するためのユーザー権限を無効化する処理である。サービスサーバー１０４におけるスキャンアップロード処理が完了したことを確認してから、スキャンアップロード処理を実行するためのクラウドユーザー権限を無効化することにより、ローカルユーザー権限が無効される前に受信したリクエストを実行することができる。
【実施例２】
【０１１９】
デバイス１０５またはサービスサーバー１０４において、何らかの原因で処理が失敗する場合がある。例えば、プリント処理の場合、紙詰まりや部品の故障等で失敗する事もあり得る。スキャンデータ格納処理の場合も、スキャンデータの格納先のサーバーの負荷が上限を越えたこと等が原因で処理が中断されることがある。
【０１２０】
本実施例は、ユーザー権限を無効化する前に受信したリクエストの処理が失敗した際に、その処理を完了させるためにユーザー権限を管理する処理について説明する。なお、実施例２で記載されていない部分は、実施例１に記載されていることを同様である。
【０１２１】
図１３を用いて、デバイス１０５において実行中の処理が失敗した際に、ユーザー権限を管理する処理について説明する。ただし、実施例１のときと同様に、その処理はプリント処理である場合を例に説明する。上記で説明済みの処理については同じ符番を振り、詳細な説明は省略する。
【０１２２】
プリント実行部３１１が認証サーバー連携部３０９からローカルユーザー権限情報を取得した（Ｓ４２４）後、プリント実行部３１１においてプリント処理が失敗したものとする（Ｓ１３３１）。プリント処理における失敗とは、紙詰まりや部品の故障等が原因でプリント処理が完了されなかったことを指す。
【０１２３】
プリント実行部３１１はＷｅｂブラウザ３０７に、プリント処理が失敗したことを通知するための画面の表示を依頼する（Ｓ１３３２）。表示依頼された画面の一例を図１８に示す。図１８には、プリント処理が失敗した理由と、失敗したプリント処理を再実行するためのボタン１９０１と、失敗したプリント処理を中止にするためのボタン１９０２が表示されている。今回は、紙詰まりによってプリント処理が失敗したものとする。ボタン１９０２が押下されるとＳ１３３３の処理に進む。一方、ボタン１９０１が押下されると、プリント実行部３１１においてプリント処理を再実行するための不図示の処理が実行される。
【０１２４】
Ｗｅｂブラウザ３０７は、ユーザーからプリント処理を中止するための操作を受け付ける（Ｓ１３３３）。Ｗｅｂブラウザ３０７はプリント実行部３１１に対して、プリント処理の中止依頼を送信する（Ｓ１３３４）。プリント実行部３１１はＳ１３３２で失敗したプリント処理を中止する（Ｓ１３３５）。プリント実行部３１１は機能呼び出し部３１０に対し、Ｓ１３３２のプリント処理の処理結果（失敗結果）を送信するよう依頼する（Ｓ１３３６）。その際、ローカルユーザーＵＵＩＤとＳ４２１でプリント実行部３１１が取得したプリントジョブＵＵＩＤを送る。
【０１２５】
機能呼び出し部３１０は通信制御部３０４に対して、ローカルユーザーＵＵＩＤとプリントジョブＵＵＩＤとともに処理結果を送信する（Ｓ１３３７）。この処理により、Ｓ４２１でのプリント依頼に対し、プリント処理が失敗したことを応答したことになる。通信制御部３０４はプリント部３０５に対し、プリントジョブＵＵＩＤと処理結果とを送信する（Ｓ１３３８）。プリント部３０５は認証部３０３に対して、プリント実行完了確認依頼応答として、実行結果とプリントジョブＵＵＩＤを送信する（Ｓ１３３９）。
【０１２６】
クラウドユーザーＵＵＩＤとプリントジョブＵＵＩＤとを関連付けて保存する（Ｓ１３４０）。具体的に認証部３０３は、Ｓ１３３９で受信したプリントジョブＵＵＩＤで特定されるプリントジョブのみが実行できるように、そのプリント処理を実行するためのクラウドユーザー権限を付与する。認証部３０３では、クラウドユーザーＵＵＩＤに対して失敗したプリントジョブを識別する失敗ジョブ識別情報である失敗プリントジョブＵＵＩＤを発行し、紐付けて管理する。管理されている失敗プリントジョブテーブルの一例を表７に示す。
【０１２７】
【表７】
2019092120.tif 000010
【０１２８】
認証部３０３は権限テーブル（表２（ａ））を確認し、プリント処理を実行するためのクラウドユーザー権限が付与されているかを判断する。クラウドユーザー権限が無効にされていると判断された場合は、失敗プリントジョブテーブル（表７）を確認し、該当するクラウドユーザーＵＵＩＤとその失敗プリントジョブＵＵＩＤのペアが確認された場合、そのクラウドユーザーＵＵＩＤから特定されるクラウドユーザー権限を有効する。
【０１２９】
Ｓ１３４０の結果を踏まえて認証部３０３は、ローカルユーザー権限を無効化する（Ｓ１３４１）。ただし、Ｓ１３３９で受信したプリントジョブＵＵＩＤに紐付くローカルユーザー権限は有効である状態とする。具体的に、認証部３０３はユーザーテーブル（表１）とマッピングテーブル（表３）を元に、ローカルユーザー認証テーブル（表６）におけるローカルユーザー権限を「１」から「０」に書き換える操作に当たる。その際、マッピングテーブル（表３）を元にローカルユーザーＵＵＩＤを取得し、ローカルユーザーＵＵＩＤの失敗プリントジョブＵＵＩＤのレコードを登録する。登録により生成されるテーブルの一例を表８に示す。表８における「デバイスＩＤ」はプリント処理を送信できる送信先のデバイスの識別情報であり、送信可能な全てのデバイスに対してそのデバイスＩＤとローカルユーザーＵＵＩＤ、失敗プリントジョブＵＵＩＤとが紐付いて表８のテーブルに登録される。例えば、デバイス１０５のデバイスＩＤが「００００１」だったとすると、デバイス１０５以外（不図示）のデバイスＩＤとして「００００２」と「００００３」が表８で管理されている。
【０１３０】
【表８】
2019092120.tif 000011
【０１３１】
今回は、Ｓ１３４１におけるローカルユーザーＵＵＩＤの無効化処理が開始されるきっかけを、Ｓ１３４０における処理としたがその形態には限定されない。Ｓ１３３９で実行結果（失敗した結果）とプリントジョブＵＵＩＤとを受信したことをきっかけにＳ１３４１の無効化処理が開始される形態でも可能である。
【０１３２】
認証部３０３は通信制御部３０４に対して、失敗ジョブ以外に対するローカルユーザープリント権限無効を依頼する（Ｓ１３４２）。これは、認証サーバー１０３が有するローカルユーザー権限テーブル（表６）と、デバイス１０５が有するローカルユーザー権限テーブル（表４）の情報を同期するための処理である。更に、認証サーバー１０３が有するローカルユーザー失敗プリントジョブテーブル（表８）と、後述の表９を同期するための依頼でもある。この時、ローカルユーザー権限テーブル（表６）を元に、依頼に紐付くデバイスＩＤと、Ｓ１３３９で受信したローカルユーザーＵＵＩＤと失敗プリントジョブＵＵＩＤとを送信する。
【０１３３】
通信制御部３０４はローカルユーザーＵＵＩＤとプリントジョブＵＵＩＤとともに、ローカルユーザー権限の無効依頼としてｐｕｂｌｉｓｈメッセージを送信する（Ｓ１３４３）。その際のトピックはデバイスＩＤである。機能呼び出し部３１０は認証サーバー連携部３０９に対してローカルユーザーＵＵＩＤとプリントジョブＵＵＩＤとともに、ローカルユーザー権限の無効依頼を送信する（Ｓ１３４４）。
【０１３４】
認証サーバー連携部３０９は、Ｓ１３４４で受信したローカルユーザーＵＵＩＤに基づいて、ローカルユーザー権限テーブル（表４）のデータを更新する（Ｓ１３４５）。具体的には、ローカルユーザー権限を「１」から「０」に変更する。更に、Ｓ１３４４で受信したプリントジョブＵＵＩＤに基づいて、失敗プリントジョブテーブルを登録する。失敗プリントジョブテーブルの一例を表９に示す。表９では、ローカルユーザーＵＵＩＤに対して失敗プリントジョブＵＵＩＤが紐づいて管理されている。
【０１３５】
【表９】
2019092120.tif 000012
【０１３６】
Ｓ１３４５については、失敗したジョブの再実行をデバイス１０５で行わないことが予め分かっている場合は、全てのローカルユーザー権限を無効化する形態も考えられる。以上が、デバイス１０５におけるプリント処理が失敗した際のユーザー権限を管理する処理である。
【０１３７】
次に、図１４を用いて、失敗したプリントジョブを別のデバイスで再実行する処理について説明する。上記で説明済みの処理については同じ符番を振り、説明は省略する。
【０１３８】
Ｓ４０１〜Ｓ４０７でユーザーが認証サーバー１０３にログインした後、Ｗｅｂブラウザ３０１はユーザーの操作により、失敗したプリントジョブを再投入するための失敗ジョブプリント画面要求を受け付け（Ｓ１４０８）、プリント部３０５に対して失敗ジョブプリント画面を要求する（Ｓ１４０９）。
【０１３９】
プリント部３０５は認証部３０３に対して、クラウドユーザー権限情報の取得を依頼する（Ｓ１４１０）。この時、認証部３０３では、認証部３０３が有する権限テーブル（表２（ａ））に基づいて、プリント処理を実行するためのクラウドユーザー権限情報が付与されているかを確認する。表２（ａ）より、クラウドユーザー権限が無効にされていた場合、更にクラウドユーザー失敗プリントジョブテーブル（表７）を参照する。参照した結果、該当のクラウドユーザーＵＵＩＤが表７に含まれていることが確認されたとすると、そのクラウドユーザーＵＵＩＤに紐付く失敗プリントジョブを実行するためのクラウドユーザー権限が付与されていることになる。表７に該当のクラウドユーザーＵＵＩＤが含まれていないと確認された場合は、再実行できる失敗ジョブがない旨を伝える画面をＳ１４０９の要求に対し応答する。
【０１４０】
認証部３０３はＳ１４１０を受けて、プリント部３０５に対してクラウドユーザー権限情報を応答する（Ｓ１４１１）。Ｓ１４１１で取得したクラウドユーザー権限情報に基づき、Ｗｅｂブラウザ３０１に失敗ジョブプリント画面を送信する（Ｓ１４１２）。失敗ジョブプリント画面の一例を図１７に示す。図１７より、クラウドユーザーＵＵＩＤに対して紐付く「失敗プリントジョブＩＤ」が表示されている。
【０１４１】
Ｓ４１３〜Ｓ４２７において、ユーザーの操作によってプリント処理の再実行依頼がサービスサーバー１０４に送信され、依頼されたプリント処理が実行される。その実行結果がプリント部３０５に送信される。処理が実行されるデバイスは、図１７で選択されたデバイスＩＤに基づいて特定される。
【０１４２】
プリント処理が完了したことをプリント部３０５が確認した後、プリント部３０５は認証部３０３に対して、Ｓ４１４で受信したプリントジョブＵＵＩＤとともに、失敗ジョブに対するユーザー権限の無効依頼を送信する（Ｓ１４１３）。認証部３０３は、プリントジョブＵＵＩＤで特定されるプリントジョブを実行するためのクラウドユーザー権限を無効化する（Ｓ１４１４）。具体的には、クラウドユーザー失敗プリントジョブテーブル（表７）から、該当するプリントジョブのレコードを削除する。認証部３０３は、Ｓ１４１３で受信したプリントジョブＵＵＩＤに紐付くローカルユーザー権限も無効化する。具体的には、クラウドユーザー失敗プリントジョブテーブル（表８）から、該当するプリントジョブのレコードを削除する。Ｓ１４１４における、ローカルユーザー権限を無効化する処理とクラウドユーザー権限を無効化する処理の順番は問わない。
【０１４３】
認証部３０３は通信制御部３０４に対して、失敗ジョブに対するローカルユーザー権限の無効処理を依頼する（Ｓ１４１５）。これは、認証サーバー１０３が有するローカルユーザー失敗プリントジョブテーブル（表８）と、デバイス１０５が有するローカルユーザー失敗プリントジョブテーブル（表９）の情報を同期するための依頼である。その際、Ｓ１４１３で受信したローカルユーザーＵＵＩＤと失敗プリントジョブＵＵＩＤ、さらに表８から特定されるデバイスＩＤも送信される。
【０１４４】
通信制御部３０４は機能呼び出し部３１０に対してローカルユーザーＵＵＩＤと失敗プリントジョブＵＵＩＤとともに、失敗ジョブに対するローカルユーザー権限の無効処理依頼としてｐｕｂｌｉｓｈメッセージを送信する（Ｓ１４１６）。その際のトピックはデバイスＩＤである。
【０１４５】
機能呼び出し部３１０は認証サーバー連携部３０９に対してローカルユーザーＵＵＩＤとプリントジョブＵＵＩＤとともに、失敗ジョブに対するローカルユーザー権限の無効処理依頼を送信する（Ｓ１４１７）。認証サーバー連携部３０９は、Ｓ１４１７で受信したローカルユーザーＵＵＩＤに基づいて、ローカルユーザー失敗プリントジョブテーブル（表９）のデータを更新する（Ｓ１４１８）。具体的には、ローカルユーザー失敗プリントジョブテーブルから該当するプリントジョブのレコードを削除する。以上が、失敗したプリントジョブを再実行するための処理である。
【０１４６】
次に図１５を用いて、サービスサーバー１０４における処理が失敗した際の、ユーザー権限を管理する処理について説明する。ただし、実施例１のときと同様に、失敗した処理がスキャンアップロード処理である場合を例に説明する。上記で説明済みの処理については同じ符番を振り、詳細な説明は省略する。
【０１４７】
Ｓ５１４でスキャンアップロード実行部３１２がローカルユーザー権限情報を取得した後、スキャンアップロード実行部３１２はスキャン処理を実行し、スキャンアップロード実行部３１２はスキャンアップロードジョブ識別情報を発行する（Ｓ１５１５）。スキャンアップロードジョブ識別情報とは、スキャンアップロードジョブを一意に特定できるユニークな値であるＵＵＩＤである。
【０１４８】
スキャンアップロード実行部３１２は機能呼び出し部３１０に対してスキャンアップロード実行依頼を送信する（Ｓ１５１６）。その際、Ｓ１５１５で取得したスキャンデータとともに、ローカルユーザーＵＵＩＤとスキャンアップロードジョブＵＵＩＤ、デバイスＩＤが送信される。機能呼び出し部３１０は通信制御部３０４にスキャンデータを送信する（Ｓ１５１７）。その際、Ｓ１５１６で受信したローカルユーザーＵＵＩＤとデバイスＩＤ、スキャンアップロードジョブＵＵＩＤも送信される。
【０１４９】
通信制御部３０４が認証部３０３からクラウドユーザーＵＵＩＤを取得した後（Ｓ５１８〜Ｓ５２０）、通信制御部３０４はスキャンアップロード部３０６に対してスキャンデータ格納依頼を送信する（Ｓ１５２１）。その際、Ｓ１５１７で受信したスキャンアップロードジョブ識別情報とスキャンデータ、Ｓ５２０で取得したクラウドユーザーＵＵＩＤが送信される。
【０１５０】
Ｓ５２２〜Ｓ５２３、Ｓ８２４〜Ｓ８３７の処理が実行された後、スキャンアップロード部３０６においてスキャンデータを格納するスキャンデータ格納処理が失敗したものとする（Ｓ１５２２）。ここでの処理の失敗とは、サーバーの機械的な故障等の原因により、スキャンデータ格納処理が完了しなかったことを示す。
【０１５１】
スキャンアップロード部３０６は認証部３０３に対して、スキャンアップロード完了確認依頼に対して応答する（Ｓ１５２３）。その際、スキャンデータ格納処理が失敗した旨を通知し、同時にＳ１５２２で受信したスキャンアップロードジョブＵＵＩＤを送信する。
【０１５２】
認証部３０３は失敗ジョブ以外のユーザー権限を無効化する（Ｓ１５２４）。具体的に認証部３０３は、クラウドユーザー認証テーブル（表２（ａ））における「スキャンアップロード処理を実行するためのユーザー権限」の値を「１」から「０」に書き換える。そして、Ｓ８３７で受信したローカルユーザーＵＵＩＤと表３とに基づいて、クラウドユーザーＵＵＩＤを特定し、特定したクラウドユーザーＵＵＩＤに対して失敗ジョブのレコードを紐付けて管理する。その紐付け情報の一例を表１０に示す。表１０の「失敗スキャンアップロードジョブＵＵＩＤ」は、失敗したスキャンアップロード処理のジョブを一意に識別するための失敗ジョブ識別情報であり、認証部３０３で発行される。
【０１５３】
【表１０】
2019092120.tif 000013
【０１５４】
認証部３０３は、スキャンアップロードジョブＵＵＩＤで特定されたジョブのみが実行できるようにローカルユーザー権限を付与する（Ｓ１５２５）。具体的には、Ｓ８３７でスキャンアップロード部３０６が受信したローカルユーザーＵＵＩＤに対して、失敗スキャンアップロードジョブＵＵＩＤを紐付けて管理する。その紐付け情報の一例を表１１に示す。
【０１５５】
【表１１】
2019092120.tif 000014
【０１５６】
認証部３０３は通信制御部３０４に対して、失敗ジョブに対するローカルユーザー権限の有効化を依頼する（Ｓ１５２６）。これは、表１１と後述の表１２とで同期するための依頼である。その際、ローカルユーザーＵＵＩＤと失敗スキャンアップロードジョブＵＵＩＤ、デバイスＩＤも送信される。
【０１５７】
通信制御部３０４は機能呼び出し部３１０に対しローカルユーザーＵＵＩＤとスキャンアップロードジョブＵＵＩＤとともに、失敗ジョブに対するローカルユーザー権限の有効化依頼としてｐｕｂｌｉｓｈメッセージを送信する（Ｓ１５２７）。その際のトピックはデバイスＩＤである。機能呼び出し部３１０は認証サーバー連携部３０９に対してローカルユーザーＵＵＩＤと失敗スキャンアップロードジョブＵＵＩＤとともに、失敗ジョブに対するローカルユーザー権限の有効化処理を依頼する（Ｓ１５２８）。
【０１５８】
認証サーバー連携部３０９は、Ｓ１５２８で受信したローカルユーザーＵＵＩＤに基づいて、失敗ジョブに対するローカルユーザー権限を有効にする（Ｓ１５２９）。具体的には、Ｓ１５２８で受信した失敗スキャンアップロードジョブＵＵＩＤに基づいて、認証サーバー連携部３０９が有するローカルユーザー失敗スキャンアップロードジョブテーブル（表１２）にレコードを登録する。
【０１５９】
【表１２】
2019092120.tif 000015
【０１６０】
以上が、スキャンアップロード処理を実行するためのユーザー権限をオーナーが無効化する処理である。
【０１６１】
次に図１６を用いて、失敗したスキャンアップロードを再度実行する処理について説明している。ただし、上記で説明した処理については同じ符番を振り、説明は省略する。
【０１６２】
ユーザーがデバイス１０５にログインした後（Ｓ５０１〜Ｓ５０４）、Ｗｅｂブラウザ３０７は、失敗したスキャンアップロードジョブを再度投入するための失敗ジョブスキャンアップロード画面要求操作をユーザーから受け付ける（Ｓ１６０６）。Ｗｅｂブラウザ３０７はスキャンアップロード実行部３１２に対して、ローカルユーザーＵＵＩＤを送信するとともに、失敗ジョブスキャンアップロード画面を要求する（Ｓ１６０７）。
【０１６３】
スキャンアップロード実行部３１２は認証サーバー連携部３０９に対して、スキャンアップロードを実行するためのローカルユーザー権限情報の取得を依頼する（Ｓ１６０８）。具体的に、認証サーバー連携部３０９は権限テーブル（表４）に基づいて、ローカルユーザー権限情報を確認する。ローカルユーザー権限が無効にされた状態である場合は、更に表１２のテーブルを参照する。表１２において、Ｓ５０４で生成されたローカルユーザーＵＵＩＤに対して失敗スキャンアップロードジョブＵＵＩＤが存在すれば、そのスキャンアップロードジョブに対してのみローカルユーザー権限が有効であることを意味する。
【０１６４】
認証サーバー連携部３０９はスキャンアップロード実行部３１２に対して、ローカルユーザー権限情報を送信する（Ｓ１６０９）。Ｓ１６０９で取得したローカルユーザー権限情報に基づき、スキャンアップロード実行部３１２はＷｅｂブラウザ３０７に対して、失敗ジョブのスキャンアップロード画面を送信する（Ｓ１６１０）。スキャンアップロード画面の一例を図１９に示す。今回、Ｓ５０１でデバイス１０５にログインしているユーザーのローカルユーザーＵＵＩＤが「ＡＡＡ１」であるものとする。表１２より、ローカルユーザーＵＵＩＤ「ＡＡＡ１」に対して失敗スキャンアップロードジョブＵＵＩＤ「９０１２３４５６」が存在することから、図１９において、失敗スキャンアップロードジョブＵＵＩＤ「９０１２３４５６」とそれに紐付くスキャンデータ「ａａａａａ．ｐｄｆ」が表示される。
【０１６５】
Ｗｅｂブラウザ３０７はアップロード実行要求操作をユーザーから受け付ける（Ｓ１６１１）。具体的には、図１９の「選択」欄のチェックボックスをチェックすることで特定のジョブＵＵＩＤが選択され、「アップロード」ボタンが押下される。図１９における選択操作の結果、Ｗｅｂブラウザ３０７はスキャンアップロード実行部３１２に対しスキャンアップロード実行要求を送信する（Ｓ１６１２）。その際、スキャンアップロードジョブＵＵＩＤが送信される。スキャンアップロード実行部３１２は認証サーバー連携部３０９に対してローカルユーザー権限情報の取得依頼を送信する（Ｓ１６１３）。その際、失敗スキャンアップロードジョブＵＵＩＤも送信される。
【０１６６】
送信された失敗スキャンアップロードジョブＵＵＩＤと表１２とに基づいて、認証サーバー連携部３０９はローカルユーザーＵＵＩＤを特定し、表４に基づいてローカルユーザー権限情報が付与されているかを確認する。表４よりローカルユーザーＵＵＩＤ「ＡＡＡ１」に対し、スキャンアップロードを実行するためのローカルユーザー権限情報が付与されているので、認証サーバー連携部３０９はスキャンアップロード実行部３１２にローカルユーザー権限情報を送信する（Ｓ１６１４）。ローカルユーザー権限の無効が確認された場合は、Ｓ１６１４においてＷｅｂブラウザ３０７にエラーを送信する。
【０１６７】
Ｓ１６１４においてローカルユーザー権限が付与されていることが確認された後、スキャンアップロード実行依頼を機能呼び出し部３１０に送信する（Ｓ１６１５）。その際、スキャンアップロードジョブＵＵＩＤも送信する。機能呼び出し部３１０は通信制御部３０４に対して、ローカルユーザーＵＵＩＤ、デバイスＩＤ、スキャンアップロードジョブＵＵＩＤ、スキャンデータを送信する（Ｓ１６１６）。
【０１６８】
機能呼び出し部３１０はスキャンアップロード実行部３１２に対して、スキャンアップロード処理が完了したことを通知する（Ｓ１６１７）。スキャンアップロード実行部３１２は認証サーバー連携部３０９に対し、失敗ジョブのローカルユーザー権限の無効依頼を送信する（Ｓ１６１８）。その際、失敗スキャンアップロードジョブＵＵＩＤも送信する。
【０１６９】
認証サーバー連携部３０９は失敗ジョブに対するローカルユーザー権限を無効化する（Ｓ１６１９）。具体的には、Ｓ１６１８で受信したスキャンアップロードジョブＵＵＩＤを元に、表１２から該当のジョブレコードを削除する。ジョブレコードを削除した後、Ｓ１６１８の依頼に対して応答する（Ｓ１６２０）。
【０１７０】
Ｓ１６２１〜Ｓ１６２６はＳ５１８〜Ｓ５２４と同様の処理のため、詳細な説明は省略するが、Ｓ１６２３とＳ１６２８〜Ｓ１６２９のみ異なる部分があるため、差分を補足する。
【０１７１】
認証部３０３からクラウドユーザーＵＵＩＤを取得した後、通信制御部３０４はスキャンデータ格納依頼をスキャンアップロード部３０６に送信する（Ｓ１６２３）。その際、スキャンデータ、Ｓ１６１６で受信した失敗スキャンアップロードジョブＵＵＩＤも共に送信する。
【０１７２】
スキャンアップロード部３０６が認証部３０３に対して失敗ジョブに対するユーザー権限無効依頼を送信する（Ｓ１６２８）。その際、スキャンアップロードジョブＵＵＩＤも送信される。認証部３０３は失敗ジョブに対するユーザー権限無効をする（Ｓ１６２９）。具体的には、表１０と表１１のテーブルから該当するジョブレコードを削除する。尚、表１０と表１１とで削除する順番は問わない。以上が、失敗したスキャンアップロードを再度実行する処理である。
【０１７３】
本実施例において、処理を実行するためのユーザー権限情報に加えて、失敗したジョブを識別するための識別情報を用いてユーザーの権限を管理する事で、ユーザー権限を無効化する直前に受信したリクエストの処理が失敗した場合でも、その失敗した処理のみを再実行させることができる。
【実施例３】
【０１７４】
上記のシーケンスではオーナーがＷｅｂブラウザを用いて権限制御画面にアクセスし、ユーザー権限を無効化する形態で説明したが、この限りでは無い。時刻やユーザーの使用状況をトリガーとして自動でユーザー権限を無効化する構成も可能である。本実施例では、オーナーデバイス１０６におけるオーナーの手動操作で手間をかけることなく、ユーザー権限を自動で無効化する形態を説明する。なお、本実施例で記載されていない部分は、実施例１や実施例２と同様である。また、本実施例でも、プリントとスキャンアップロードを例に説明するが、処理内容はそれらに限定されない。
【０１７５】
まず、プリント機能を利用できる有効期限が設けられている場合の処理について説明する。有効期限の管理機能はプリント部３０５が有する。具体的にプリント部３０５は、現在時刻と、予め設定されている有効期限を管理し、それらを比較することで有効期限が切れたかを判断する。
【０１７６】
比較した結果、有効期限が切れたと判断された場合、プリント部３０５は認証部３０３に対してクラウドユーザー権限の無効要求を送信する（Ｓ１７００）。認証部３０３はクラウドユーザー権限の無効処理を実行する（Ｓ１７０１）。Ｓ１７０１以降の処理はＳ７２７以降の処理と同様である。Ｓ１７０１の処理よりも前に、クラウドユーザー権限情報が有効であることが確認されていた（Ｓ４１６）場合にはプリント処理は実行される（Ｓ４１６．５〜Ｓ４３０）。そして、プリント処理が完了したことが確認された（Ｓ７２９）後にローカルユーザー権限が無効にされる（Ｓ７３０〜Ｓ７３４）。
【０１７７】
一方、スキャンアップロード機能の場合は、スキャンアップロード部３０６が有効期限を管理する。有効期限が切れたと判断された場合、スキャンアップロード部３０６は認証部３０３に対してローカルユーザー権限の無効要求を送信する（Ｓ１７１０）。認証部３０３はローカルユーザー権限の無効処理を実行する（Ｓ１７１１）。Ｓ１７１１以降の処理はＳ８２９以降の処理と同様である。Ｓ８３３の処理により、有効期限日以降にスキャンアップロード実行の新たなリクエストを受信できなくなる。Ｓ８３３の処理よりも前に、ローカルユーザー権限情報が有効であることか確認されていた（Ｓ５１４）場合にはスキャンアップロード処理は実行される（Ｓ５１５〜Ｓ５２３）。そして、スキャンアップロード処理が完了したことが確認された（Ｓ８３８）後にクラウドユーザー権限が無効にされる（Ｓ８３９）。以上が、有効期限が設けられている場合に、ユーザー権限を自動で無効化する処理である。
【０１７８】
次に、プリント機能で印刷する紙の枚数に制限が設けられている場合の処理を説明する。印刷された用紙の枚数を管理する機能はプリント部３０５が有する。具体的にプリント部３０５は、Ｓ４１４でクラウドプリントの実行要求を受信した際、これまで印刷した紙の枚数に対して、Ｓ４１４の実行要求に含まれる印刷ページ（紙の枚数）を加算する（Ｓ１８００）。加算した結果、枚数の制限を越えた場合、プリント部３０５はユーザーに対してエラーを通知する。
【０１７９】
例えば、Ｓ１８００において「６枚印刷する」ための実行要求をプリント部３０５が受信した場合、これまで印刷した紙の枚数「９５枚」に加算する。加算した結果である「１０１枚」が枚数の上限「１００枚」を越えるので、ユーザーにエラーを通知する。エラーを通知する形態以外にも、枚数の上限を超えない分だけ印刷を実行することも可能である。例えば、上限「１００枚」を越えないために、印刷要求されている「６枚」のうち「５枚」を印刷する形態も考えられる。
【０１８０】
Ｓ１８００においてエラーが発生しなかった場合、Ｓ４１５〜Ｓ４２０と同じ処理が実行され、通信制御部３０４が機能呼び出し部３１０にｐｕｂｌｉｓｈメッセージを送信する（Ｓ４２１）。Ｓ４２１の処理が実行された後、通信制御部３０４はプリント部３０５に対して、実行要求をデバイス１０５に送信した旨を通知する。その通知に基づいて、プリント部３０５は印刷された紙の枚数（レコード）を加算する（Ｓ１８０１）。Ｓ１８０１で加算された結果、枚数の上限に達した場合、プリント部３０５は認証部３０３に対してクラウドユーザー権限はく奪要求を送信する（Ｓ１８０２）。Ｓ１８０２の処理以降はＳ７２８以降の処理と同様である。以上が、印刷する枚数に上限がある場合に、ユーザー権限を無効化する処理である。
【０１８１】
本実施例で説明した形態以外にも、例えば、認証部３０３が用意するＡＰＩが実行される事でユーザー権限の付与や無効を実行する構成でも構わない。
【０１８２】
また、上記では有効期限や枚数の上限に基づいてユーザー権限の無効処理を行ったが、課金等で上限を設ける形態でもよい。
【０１８３】
［その他の実施例］
上記の実施例では説明の都合上、スキャンを実行するためのユーザー権限と、プリントを実行するためのユーザー権限の無効や付与を、別のシーケンス図で説明した。しかし、その形態のみならず、権限制御画面（図１１）における１回の操作で、スキャンを実行するためのユーザー権限とプリントを実行するためのユーザー権限の無効や付与を処理できるようにしてもよい。
【０１８４】
また、本発明の目的は以下の処理を実行することによっても達成される。即ち、上述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【０１８５】
１０３  認証サーバー
１０４  サービスサーバー
１０５  デバイス
１０６  オーナーデバイス
３０１  Ｗｅｂブラウザ
３０５  プリント部
３０６  スキャンアップロード部
３０９  認証サーバー連携部
３１０  機能呼び出し部
３１１  プリント実行部
３１２  スキャンアップロード実行部
【図１】
2019092120.tif 000016
【図２】
2019092120.tif 000017
【図３】
2019092120.tif 000018
【図４】
2019092120.tif 000019
【図５】
2019092120.tif 000020
【図６】
2019092120.tif 000021
【図７】
2019092120.tif 000022
【図８】
2019092120.tif 000023
【図９】
2019092120.tif 000024
【図１０】
2019092120.tif 000025
【図１１】
2019092120.tif 000026
【図１２】
2019092120.tif 000027
【図１３】
2019092120.tif 000028
【図１４】
2019092120.tif 000029
【図１５】
2019092120.tif 000030
【図１６】
2019092120.tif 000031
【図１７】
2019092120.tif 000032
【図１８】
2019092120.tif 000033
【図１９】
2019092120.tif 000034