(57)【要約】【課題】  印刷装置の属するテナントは別のテナントのユーザーからの印刷ジョブを印刷制御することにより適切な印刷アクセスコントロールを実現することを目的とする。【解決手段】  印刷装置で自身が登録されているテナント情報と、印刷ジョブに含まれるユーザのテナント情報を比較し、異なるテナントのジョブに対しては適切な印刷許可制御方法を提供することにより、他テナントのユーザに自由に使用させないように制御を行う。【選択図】  図１１
2020135069.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーとプリンターをテナント毎に登録することでマルチテナント管理を実現し、その上で、第１のテナントに属するプリンターを第２のテナントに属するユーザーに共有することが指示された場合は前記第２のテナントに属するユーザーの印刷指示に従って前記第１のテナントに属するプリンターに対し印刷ジョブを提供する前記プリントサービス、と通信するプリンターは、
前記プリンターのオーナーからの登録指示に従い前記第１のテナントに前記プリンターを登録する処理を開始する登録手段と、
前記第１のテナントに登録される前記プリンターを利用することが可能なテナントを決定するための設定を前記オーナーから受け付ける設定手段と、を有し、
受け付けた前記設定を基に前記プリンターを利用することが可能なテナントが決定された後、前記プリンターを利用することが不可能なテナントに属するユーザーの印刷ジョブは処理せずに、前記プリンターを利用することが可能なテナントに属するユーザーの印刷ジョブを処理することを特徴とするプリンター。
【請求項２】
前記設定とは、前記第１のテナントに登録される前記プリンターを利用することが可能なテナントを前記第１のテナントのみにする設定であることを特徴とする請求項１に記載のプリンター。
【請求項３】
前記設定とは、前記第１のテナントに登録される前記プリンターを利用することが可能なテナントを前記第１のテナントおよび前記第２のテナントを含む全てのテナントとする設定であることを特徴とする請求項１または２に記載のプリンター。
【請求項４】
前記設定とは、前記第１のテナントに登録される前記プリンターを利用することが可能なテナントを前記オーナーが指定したテナントとする設定であることを特徴とする請求項１乃至３の何れか１項に記載のプリンター。
【請求項５】
前記設定を受け付けるための設定画面を提供する提供手段を有し、
前記設定画面には前記プリンターの登録状態を示す情報が含まれていることを特徴とする請求項１乃至４の何れか１項に記載のプリンター。
【請求項６】
前記印刷ジョブを受信し、印刷ジョブに含まれるテナントを識別するための情報を参照し、決定された前記プリンターを利用することが可能なテナントに含まれている場合にユーザーの印刷ジョブを処理することを特徴とする請求項１乃至５の何れか１項に記載のプリンター。
【請求項７】
前記印刷ジョブを受信し、印刷ジョブに含まれるテナントを識別するための情報を参照し、決定された前記プリンターを利用することが可能なテナントに含まれていない場合にユーザーの印刷ジョブを処理せずにキャンセル処理を行うことを特徴し、前記キャンセル処理には前記プリンターを登録した前記第１のテナントに前記印刷ジョブをキャンセルした旨を通知すること、および前記プリンターのジョブ履歴を表示する画面にテナントアクセス権のエラーにより印刷ジョブが処理されなったことを表示することが含まれる請求項１乃至６の何れか１項に記載のプリンター。
【請求項８】
前記プリンターにユーザーがログインしてから前記プリントサービスを利用した印刷のアイコンが選択されるまでの間に、前記プリンターにログインしたユーザーが属するテナントと前記プリンターが属するテナントを基に前記ユーザーの印刷ジョブを処理するか否かを判断し、処理しない場合はエラーを表示することを特徴とする請求項１乃至７の何れか１項に記載のプリンター。
【請求項９】
ユーザーとプリンターをテナント毎に登録することでマルチテナント管理を実現し、その上で、第１のテナントに属するプリンターを第２のテナントに属するユーザーに共有することが指示された場合は前記第２のテナントに属するユーザーの印刷指示に従って前記第１のテナントに属するプリンターに対し印刷ジョブを提供する前記プリントサービス、と通信するプリンターの制御方法は、
前記プリンターのオーナーからの登録指示に従い前記第１のテナントに前記プリンターを登録する処理を開始する登録ステップと、
前記第１のテナントに登録される前記プリンターを利用することが可能なテナントを決定するための設定を前記オーナーから受け付ける設定ステップと、を含み、
受け付けた前記設定を基に前記プリンターを利用することが可能なテナントが決定された後、前記プリンターを利用することが不可能なテナントに属するユーザーの印刷ジョブは処理せずに、前記プリンターを利用することが可能なテナントに属するユーザーの印刷ジョブを処理することを特徴とする制御方法。
【請求項１０】
ユーザーとプリンターをテナント毎に登録することでマルチテナント管理を実現し、その上で、第１のテナントに属するプリンターを第２のテナントに属するユーザーに共有することが指示された場合は前記第２のテナントに属するユーザーの印刷指示に従って前記第１のテナントに属するプリンターに対し印刷ジョブを提供する前記プリントサービス、と通信するプリンターのプログラムは、
前記プリンターのオーナーからの登録指示に従い前記第１のテナントに前記プリンターを登録する処理を開始する登録ステップと、
前記第１のテナントに登録される前記プリンターを利用することが可能なテナントを決定するための設定を前記オーナーから受け付ける設定ステップと、を含み、
受け付けた前記設定を基に前記プリンターを利用することが可能なテナントが決定された後、前記プリンターを利用することが不可能なテナントに属するユーザーの印刷ジョブは処理せずに、前記プリンターを利用することが可能なテナントに属するユーザーの印刷ジョブを処理することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドのテナントに対応する印刷装置、制御方法、プログラムに関するものである。
【背景技術】
【０００２】
近年、インターネット上のサーバが提供するプリントサービスに印刷装置を登録し、印刷装置がクライアントからの指示により出力された印刷ジョブをクラウドサービス経由で受信して印刷を行うクラウドプリントサービスが知られている。なお、印刷装置がクラウドプリントサービスと連携するためには、クラウドプリントサービスと連携するための仕組みを印刷装置が備える必要がある。
【０００３】
このようなネットワーク構成からなる印刷システムの例として、ＰＷＧ５１００．１８では印刷プロトコルにＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｌ）を使用したＩＰＰ−Ｉｎｆｒａという構成が提案されている。
【０００４】
印刷装置をクラウドプリントサービスに登録する際は、印刷装置の管理者が印刷装置を介してクラウドのテナント登録を行う。印刷装置は管理者が属するクラウドのテナントに登録され、同じテナントに属するユーザであれば誰でもそのプリンターを検索・使用可能となる。ここでテナントとは、クラウドサービスを提供する個別の単位とする。
【０００５】
ユーザが本テナントを利用する場合、ユーザの端末装置でテナントにログインを行う。その後、そのテナントに登録されている印刷装置が参照可能となる。ユーザは所望の印刷装置に対して印刷ジョブを送信し、印刷ジョブはクラウドのテナント上に一時保存される。そして、印刷装置がテナントからジョブを取得し印刷する（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−１７０８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
顧客環境によってはシングルテナントよりマルチテナントを採用する場合がある。この場合、テナント間ではアクセス制限され基本的に一般ユーザは異なるテナントのリソースにアクセスする事が許可されない。ただ、テナント管理者がアクセス権設定を行う事で、ユーザは異なるテナントのリソースにアクセスする事も可能となる。
【０００８】
それに対して、印刷装置の管理者にとっては異なるテナントのユーザに印刷装置を使用させたくない場合がある。例えば自分のテナントユーザのみでカウンタ管理や枚数上限管理等している場合である。各テナントの印刷装置管理者の考えに関係なく、テナント管理者がアクセス権設定を行うと、そのテナントリソースの１つである印刷装置も他テナントのユーザに自由に使用されてしまい印刷装置の管理者の意図が反映されない、と言う課題がある。
【０００９】
本発明は上述した課題を解決する印刷装置を提供することを目的としたもので、印刷装置の属するテナントは別のテナントのユーザーからの印刷ジョブを印刷制御することにより適切な印刷アクセスコントロールを実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一実施形に係るプリンターは、ユーザーとプリンターをテナント毎に登録することでマルチテナント管理を実現し、その上で、第１のテナントに属するプリンターを第２のテナントに属するユーザーに共有することが指示された場合は前記第２のテナントに属するユーザーの印刷指示に従って前記第１のテナントに属するプリンターに対し印刷ジョブを提供する前記プリントサービス、と通信するプリンターであって、前記プリンターのオーナーからの登録指示に従い前記第１のテナントに前記プリンターを登録する処理を開始する登録手段と、前記第１のテナントに登録される前記プリンターを利用することが可能なテナントを決定するための設定を前記オーナーから受け付ける設定手段と、を有し、受け付けた前記設定を基に前記プリンターを利用することが可能なテナントが決定された後、前記プリンターを利用することが不可能なテナントに属するユーザーの印刷ジョブは処理せずに、前記プリンターを利用することが可能なテナントに属するユーザーの印刷ジョブを処理することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、印刷装置の属するテナントは別のテナントのユーザーからの印刷ジョブを印刷制御することにより適切な印刷アクセスコントロールを実現することが可能になる。
【図面の簡単な説明】
【００１２】
【図１】実施例におけるシステム構成を示す図である。
【図２】印刷装置のハードウェア構成を示す図である。
【図３】印刷装置のソフトウェア構成を示す図である。
【図４】テナントの端末管理画面設定を示す図である。
【図５】テナントのユーザ管理画面設定を示す図である。
【図６】実施例における印刷装置のクラウド設定画面を示す図である。
【図７】クラウド印刷のシーケンス図である。
【図８】クラウド印刷のパケットデータである。
【図９】実施例１における印刷装置のクラウド設定画面を示す図である。
【図１０】実施例１におけるクラウド印刷のシーケンス図である。
【図１１】実施例１におけるクラウド印刷のフローチャートである。
【図１２】実施例１におけるクラウド印刷のジョブ履歴である。
【図１３】実施例２における印刷装置のクラウド設定画面を示す図である。
【図１４】実施例２における印刷装置の認証設定画面を示す図である。
【図１５】実施例２におけるクラウド印刷のシーケンス図である。
【図１６】実施例２におけるクラウド印刷のパケットデータである。
【図１７】実施例２におけるクラウド印刷のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１４】
図１は、本発明を適用した印刷装置を含むプリントシステムを示す構成図である。１０１は本発明を適用した印刷装置でありプリンターである。１０２および１０４は、インターネット上で提供されるプリントサービスを提供するテナントである。図１では、夫々のテナントは１つのサーバーシステムで存在するように示しているが、２つのテナントを１つのサーバーシステムで実現する形態であっても良い。実施例１のプリントシステムはユーザーとプリンター、およびその他の情報をテナント単位で登録することでマルチテナント管理を実現する。マルチテナント管理の基本的な考え方として、あるテナントに属するユーザーは別のテナントで管理された情報にアクセスすることはできない。これはクラウドと呼ばれる形態の原則であるが、後に説明するリソースの共有を行った場合はこの限りではない。
【００１５】
１０３および１０５はユーザの操作端末である。印刷装置１０１は、予め印刷装置の管理者（以降、オーナーと呼ぶ）によってテナント１０２に登録される。ユーザは、ユーザ端末１０３からテナント１０２に登録された印刷装置１０１を選択して、印刷データをテナント１０２に送信する。印刷装置１０１はテナント１０２を介して、ユーザが送信した印刷データを受信して、印刷を行う。不図示であるが、ユーザの端末はユーザ端末１０３のみならず、汎用のパーソナルコンピュータやスマートフォンなどの複数のユーザ端末からテナント１０２を利用することができる。
【００１６】
なお、印刷装置１０１およびユーザ端末１０３は、テナント１０２とインターネットを介して接続されている。また、テナント管理者がテナント１０２とテナント１０４を連携し、相互のリソースを共有する設定にした場合、ユーザはユーザ端末１０５から印刷装置１０１が使用可能となる。リソースの共有とは、例えば、ユーザーが本来はテナント１０４のリソースにしかアクセスできないとしても、テナント１０２のリソースにアクセスすることが可能なことを指す。
【００１７】
＜印刷装置のハードウェア構成＞
図２は、印刷装置１０１のハードウェア構成を示す簡略図である。ＣＰＵ２０１は複合機全体の動作を制御する中央演算装置（プロセッサ）である。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３は揮発性メモリであり、ワークエリア、ＲＯＭ２０２及びＨＤＤ２０４に格納された各種制御プログラムを展開するための一時記憶領域として用いられる。
【００１８】
ＲＯＭ２０２は不揮発性メモリであり、複合機のブートプログラムなどが格納されている。ＨＤＤ２０４はＲＡＭ２０３と比較して大容量な不揮発性のハードディスクである。ＨＤＤ２０４には、複合機の制御用プログラムが格納されている。また、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションプログラムもＨＤＤ２０４に格納されている。
【００１９】
ＣＰＵ２０１は複合機の起動時、ＲＯＭ２０２に格納されているブートプログラムを実行する。このブートプログラムは、ＨＤＤ２０４に格納されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを読み出し、ＲＡＭ２０３上に展開するためのものである。ＣＰＵ２０１はブートプログラムを実行すると、続けてＲＡＭ２０３上に展開したＯＳのプログラムを実行し、複合機の制御を行う。また、ＣＰＵ２０１は制御用プログラムによる動作に用いるデータもＲＡＭ２０３上に格納して読み書きを行う。
【００２０】
なお、複合機は、１つのＣＰＵ２０１が後述するフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のＣＰＵやマイクロプロセッサ（ＭＰＵ）が協働して後述するフローチャートに示す各処理を実行するようにすることもできる。また、後述する処理の一部をＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）やＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のハードウェア回路を用いて実行するようにしても良い。
【００２１】
操作部２０５は、タッチ操作可能なディスプレイである。プリンタ２０６は、通信部２０７を介して外部から受信した印刷データをプリントするプリンタエンジンである。通信部２０７は、インターネットやオフィスのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続する為のネットワークインタフェースである。なお、ユーザ端末１０３およびテナント１０２およびテナント１０４にも、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４と同様のハードウェア構成が備えられている。以降の説明で記載する各装置の各ソフトウェア機能やそのソフトウェア機能により実行されるフローは、ＣＰＵ２０１がＲＯＭ２０２に保存されたプログラムをＲＡＭ２０３に展開し実行することで実現するものとする。
【００２２】
＜ソフトウェア構成＞
図３は、印刷装置１０１のソフトウェア構成を示す簡略図であり、ＲＯＭ２０２に記憶されたプログラムをＲＡＭ２０３に展開しＣＰＵ２０１がプログラムを実行することで実現されるソフトウェア構成である。ローカルＵＩ３０１は、操作部２０５のディスプレイを用いて、ユーザが印刷装置の設定変更や機能を利用する為のユーザインタフェースを提供する。リモートＵＩ３０２は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ機能を有し、  ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で構成されるユーザインタフェースをユーザに提供する。
【００２３】
不図示ではあるが、ユーザ端末１０３にはＨＴＭＬのリクエストを送信しレスポンスで受信したＨＴＭＬ形式のデータに基づいて画面を表示するウェブブラウザが備わっている。ユーザは、ユーザ端末１０５に備えられたウェブブラウザを利用してリモートＵＩ３０２にアクセスし、印刷装置の設定変更や機能を利用することができる。クラウドプリント制御部３０３は、テナント１０２に対応するための通信プロトコルや機能を実装するソフトウェアモジュールである。印刷部３０４は、クラウドプリント制御部３０３がテナント１０２から受信した印刷データを受け取り、プリンタ２０６を制御して印刷処理を実行する。
【００２４】
ユーザ認証部３０５は、ローカルＵＩ３０１やリモートＵＩ３０２を利用するユーザを認証するソフトウェアモジュールである。ＨＤＤ２０４には、ローカルＵＩ３０１やリモートＵＩ３０２のユーザインタフェースを介して、管理者や一般ユーザのアカウントを登録することができる。ＨＤＤ２０４には、アカウント情報として、ユーザ名・パスワード・ロール（管理者／一般ユーザ）・メールアドレスが登録できる。ユーザ認証部３０５は、ローカルＵＩ３０１やリモートＵＩ３０２に表示したログイン画面からユーザ名・パスワードを取得し、ＨＤＤ２０４に登録されたアカウント情報と比較して、ユーザ認証を行う。
【００２５】
認証が成功した場合、認証に成功したユーザを印刷装置１０１にログインさせる。具体的には、ユーザ認証部３０５は、ローカルＵＩ３０１やリモートＵＩ３０２にログイン画面を閉じてメニュー画面に遷移するように指示する。また、ログインしたユーザの情報（ユーザ名・ロール・メールアドレス）をクラウドプリント制御部３０３などのソフトウェアモジュールへ伝達する。
【００２６】
また、テナント１０２には、印刷装置１０１を登録する機能と、ユーザ端末１０３から印刷指定された印刷データを印刷ジョブに変換し登録された複数台の印刷装置１０１の中から選択された印刷装置１０１に対し印刷ジョブを提供する機能が備わっている。これらの機能もソフトウェア構成により提供される機能であり、そのソフトウェア構成はＲＯＭ２０２記憶されたプログラムをＲＡＭ２０３に展開しＣＰＵ２０１がプログラムを実行することで実現されるソフトウェア構成である。
【００２７】
＜テナント管理設定＞
テナント１０２およびテナント１０４のテナント管理者は、任意のテナントの機能から提供される図４および図５のような管理設定画面を介して、それぞれのテナントの端末管理やユーザ管理を行う。つまり、端末やユーザはテナント毎に管理される。先にも述べたが複数のテナントを１つのサーバーシステムで実現し、その上で、１つのサーバーシステムのＷｅｂアプリで複数のテナントに機能を提供する形態も考えられる。
【００２８】
図４はテナント１０２が提供する端末管理設定画面である。印刷装置やファイルサーバなどの名称、状態、設置場所、管理番号などが設定参照可能となっている。新規に端末をテナント登録する場合は、各端末からテナントへ登録処理を行ってもよいし、テナント管理者が本画面から仮想的に端末を新規追加してから、その後実端末と紐付けを行っても良い。図４の場合、テナント１０２には印刷装置が２台、ファイルサーバが２台存在していることを表す。
【００２９】
図５はテナント１０２のユーザ管理設定画面の例である。テナント管理者は、本画面からユーザの新規追加、編集、削除が可能となる。図５の場合、管理者権限のユーザが１名、一般権限のユーザが２名登録されていることを表す。基本的に本設定画面に登録されているユーザは図４で示したテナント１０２の端末リストの装置を使用する事が可能である。本設定においてＡｌｉｃｅおよびＢｏｂについてはテナント１０２と同様のアカウントドメインに属するが、Ｓｍｉｔｈについてはテナント１０４のアカウントドメインに属する。この場合、テナント１０２および／またはテナント１０４のテナント管理者が、テナント１０２とテナント１０４を不図示の画面を介して共有を指示しリソース共有設定している。その上で、テナント１０４に属するＳｍｉｔｈのようにアクセスを許可されたユーザは端末１０５からテナント１０２の装置が使用可能となる。
【００３０】
なお、ログインユーザーの印刷装置１０１におけるユーザーＩＤとテナントアカウント名は図５に示す通り互いに関連付いており、１つのユーザーＩＤに複数のテナントアカウント名が関連付けたり、１つのテナントアカウント名に複数のユーザーＩＤを関連付けることも可能とする。
【００３１】
＜クラウド印刷処理＞
図６から図８はクラウド印刷処理の基本的な設定画面、シーケンスおよびネットワークパケットデータである。図６は印刷装置のクラウド印刷に関する設定画面を示す。画面６０１において印刷装置の管理者権限を有する管理者ユーザがローカルＵＩ３０１から印刷装置１０１へログインし、画面６０２に示すクラウドプリント設定画面を表示する。ユーザは登録ボタンを押下することで登録指示を行うと、印刷装置１０１はテナント１０２に対して、自身の登録処理を開始する。なお、設定画面にはプリンターの登録状態も表示されるのでテナント設定の必要の有無が認識し易くなる。
【００３２】
登録処理が成功した場合、画面６０３のように状態が登録済となり、管理番号および登録したテナント名称が表示される。登録処理は印刷装置１０１のデバイス名称、識別情報、設置場所情報などをテナントに送信する。登録先のテナント１０２のＵＲＬは印刷装置に予め組み込まれていてもよいし、設定画面で管理者が設定してもよい。例えば、画面６００にテナント１０２の識別情報を入力する形態や、画面６００とは異なる別の画面に識別情報を入力する形態などが考えられる。
【００３３】
また、登録済となった場合のテナント名称について、登録処理の中でテナント１０２から名称情報が取得できればそれを使用する。取得できなければ、登録完了した後に印刷装置がテナント１０２に対してテナント名称問い合わせを行い取得したり、管理者がテナント名称を印刷装置に設定してもよい。また、画面６０１において一般ユーザがログインした場合、画面６０１のように参照のみ可能な画面が表示される。
【００３４】
図７は印刷装置のテナント登録処理が完了した後の、印刷を実行するシーケンス図の一例である。テナント１０２に属するユーザＡｌｉｃｅが端末１０３に保存されている画像データを印刷する場合、まずＡｌｉｃｅが端末１０３にログインし（Ｓ７０１）、同じテナントに属する印刷装置を検索する。印刷装置１０１が発見され印刷指示されたら、その印刷装置１０１に対して端末１０３から印刷ジョブを送信する。印刷ジョブはいったんテナント１０２に保存される（Ｓ７０２）。同様にテナント１０４に属するユーザＳｍｉｔｈも端末１０５にログインし（Ｓ７０３）、リソース共有されている印刷装置１０１を検索し、印刷装置１０１に対して端末１０５から印刷ジョブを送信する事が可能である（Ｓ７０４）。
【００３５】
テナント１０２に保存された印刷ジョブを印刷装置１０１が検知する方法は２種類存在する。１つ目はテナント１０２から印刷装置１０１へＰＵＳＨ通知で通知する方法である。テナント１０２は印刷ジョブが投入されたら、該当ジョブがどの印刷装置宛のジョブかを判断し、その印刷装置宛にＰＵＳＨ通知の送信を行う（Ｓ７０５）。ＰＵＳＨ通知を実現するために、テナントと印刷装置がほぼ常時接続されている状態が必要であるため、ＷｅｂＳｏｃｋｅｔやＳｅｒｖｅｒＳｅｎｔＥｖｅｎｔ、ロングポーリングなどの技術を使用して実現してもよい。また、イベント通知方法もＲＦＣ３９９５で定義されるＩＰＰ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎの仕組みを使用してもよい。
【００３６】
２つ目は印刷装置１０１が定期的にテナント１０２に対してポーリングを行い、イベントが存在するかどうかを確認する方法である（Ｓ７０６）。ポーリング間隔は１分間隔など、任意の間隔でよく、テナントで指定されたポーリング間隔を採用してもよいし、印刷装置でポーリング間隔が設定可能になっていてもよい。テナント１０２はイベントが存在しなければ存在しない旨を応答し、イベントが存在すればイベントが存在する旨を通知する（Ｓ７０７）。上述の検知方法によって印刷ジョブのイベントが存在すると判断した印刷装置１０１は、印刷ジョブ一覧の取得要求をテナント１０２に送信する（Ｓ７０８）。この時送信するデータ例を図８０１で示す。
【００３７】
実施例１ではＩＰＰを使用した印刷ジョブ一覧取得要求を行っている。ＩＰＰで任意の属性を指定可能であるが、本例では「Ｍｙ−Ｊｏｂｓ」を「Ｆａｌｓｅ」に指定しているが、この場合特定のユーザ固有の印刷ジョブを要求するのではなく、全ユーザの印刷ジョブを要求している。本要求に対して、テナント１０２は印刷装置１０１に対して応答を送信し（Ｓ７０９）、応答パケット例を図８０２に示す。ここでは、Ａｌｉｃｅの投入した印刷ジョブとＳｍｉｔｈが投入した印刷ジョブが存在する例を示す。各ジョブには、ジョブ名称、ジョブ管理番号、ジョブ投入したユーザのアカウント名が含まれる。ここに示した以外にも、ジョブの詳細な印刷設定やユーザ情報を含んでも良い。
【００３８】
印刷ジョブ一覧を取得した場合、印刷装置１０１は特定の１つのジョブを指定して、印刷ジョブ取得要求を行う（Ｓ７１０）。この時の要求パケット例を図８０３に示す。これは、Ｓｍｉｔｈのジョブを取得する例である。実施例１ではＳｍｉｔｈのジョブのジョブ管理番号のみを指定しているが、他にもジョブ名称やユーザ情報を含めても良い。また、どのような情報を含めて要求を送信するかも、印刷装置１０１の設定画面で設定可能になっていてもよい。テナント１０２は印刷ジョブ取得要求を受信したら、Ｓ７１１において、該当の印刷ジョブデータを印刷装置１０１へ送信する。この応答パケット例を図８０４に示す。印刷ジョブデータのコンテンツに加えて、ジョブ名称やジョブオーナー名の属性などが含まれていても良い。
【００３９】
＜クラウド印刷処理のアクセスコントロール＞
図９から図１２は、テナント間のアクセスコントロール制御を実現した場合のクラウド印刷処理に関する設定画面およびシーケンス図の例を示す。前述の通り、マルチテナント環境において、テナント管理者がアクセス権設定を行う事で、ユーザは異なるテナントのリソースにアクセスする事も可能となる。
【００４０】
それに対して、印刷装置の管理者にとっては異なるテナントのユーザに印刷装置を使用させたくない場合がある。例えば自分のテナントユーザのみでカウンタ管理や枚数上限管理等している場合である。このような場合、各テナントの印刷装置管理者の考えに関係なく、テナント管理者がアクセス権設定を行うと、そのテナントリソースの１つである印刷装置も他テナントのユーザに自由に使用されてしまう、と言う課題がある。
【００４１】
上記課題に対して、図９は印刷装置１０１でテナントを対象としたアクセスコントロール設定を行う画面例を示す。図６のクラウド印刷に関する基本設定に加えて、テナントの印刷許可設定を追加した画面例である。印刷許可設定は例えば、「自テナントのみ印刷許可」「全テナントから印刷許可」「特定テナントから印刷許可」の選択肢があり、印刷装置管理者はいずれか１つを選択する。「特定テナントから印刷許可」を選択した場合、任意のテナント名称を設定することができる。また、「自テナント」とは、印刷装置１０１の登録が完了した場合に、印刷装置１０１が登録されているテナントを意味する。この選択をユーザーが行うことにより印刷装置１０１を利用することが可能なテナントが決定する。
【００４２】
なお、図９では印刷可能なテナントを設定するための設定画面を示したがこの形態に限られない。例えば、印刷不可のテナントを受け付ける形態であっても良いし、図９のように３つの選択肢から選ぶ形態ではなくユーザーからのテナント名やテナント識別情報の直接入力の形態が考えられる。なお、印刷不可のテナントを受け付ける形態の設定方法の例を挙げるとするならば、「自テナント以外のテナントからの印刷を不許可」、「印刷不許可のテナントを設けない」などがある。
【００４３】
印刷許可設定がされている印刷装置でクラウド印刷処理を行う場合のシーケンス図を図１０、印刷装置１０１のフローチャートを図１１に示す。Ｓ１００１からＳ１０１１については、Ｓ７０１からＳ７１１と同等である。Ｓ１０１１において、印刷ジョブデータを受信した印刷装置１０１はＳ１０１２においてテナント名称の判別処理を行う。具体的には、印刷ジョブデータに含まれる「Ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｕｒｉ」フィールドを参照して、印刷ジョブを投入したユーザのテナントアカウント名を確認し、印刷装置１０１の印刷許可設定と比較する。
【００４４】
印刷ジョブが図８０４の場合、本フィールドには「ｓｍｉｔｈ＠ｔｅｎａｎｔ１０４．оｎｃоｍｐａｎｙ．ｃоｍ」が格納されている。つまり、テナントは「ｔｅｎａｎｔ１０４．оｎｃоｍｐａｎｙ．ｃоｍ」となる。一方、印刷装置１０１が属する自テナントは「ｔｅｎａｎｔ１０２．оｎｃоｍｐａｎｙ．ｃоｍ」である。印刷装置１０１で「自テナントのみ印刷許可」が設定されている場合、テナントが一致しないため印刷装置１０１はこの印刷ジョブを破棄して印刷処理を実行しないので、印刷が不可能となる。
【００４５】
また、「全テナントから印刷許可」が設定されている場合、どのテナントからのジョブも受け付けるので、印刷装置１０１はこの印刷ジョブを印刷処理する。また、「特定テナントから印刷許可」で「ｔｅｎａｎｔ１０４．оｎｃоｍｐａｎｙ．ｃоｍ」が設定されているなら印刷装置１０１はこの印刷ジョブを印刷処理するが、設定されていないなら印刷装置１０１はこの印刷ジョブが破棄して印刷処理を実行しない。
【００４６】
印刷ジョブを破棄した場合、図１２のようにジョブ履歴画面に破棄したことがユーザに通知されるように印刷装置の画面に表示される。さらにテナントのアクセス権で印刷破棄されたことがわかるようなメッセージを本画面に表示してもよい。印刷ジョブを破棄すること、およびそれに関連する処理を含めキャンセル処理と呼ぶが、その処理内容は上述の通り様々な形態が考えられる。
【００４７】
このように、本設定を設けることで、テナント側でリソース共有設定がされていても、印刷装置側で異なるテナントユーザからの印刷ジョブを適切にアクセスコントロールすることが可能となる。また、本実施例では「Ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｕｒｉ」フィールドを参照して、テナント名称確認を行ったが、テナント名称などのテナントを識別するための情報が含まれる属性であれば、この属性に限定せず、他の属性で判断してもよい。
【００４８】
図１１は本実施例における印刷装置１０１のＣＰＵ２０１におけるフローチャートを示す。まずＣＰＵ２０１はＳ１１０１において、印刷装置１０１のイベント通知がＰＵＳＨ型に設定されているか、ＰＵＬＬ型で設定されているかを判断する。ＰＵＳＨ型で設定されている場合、Ｓ１１０２において、ＣＰＵ２０１はテナントからイベント通知されるまで待ち状態となる。
【００４９】
ＰＵＬＬ型で設定されている場合、Ｓ１１０３において、ＣＰＵ２０１は定期的にテナントに対してイベント取得要求を送信する。そしてＳ１１０４において、テナントからの応答を確認しイベントの有無を判断する。イベントが発生した場合、Ｓ１１０５においてＣＰＵ２０１はテナント１０２に対して図８０１のようなジョブ一覧取得要求を送信する。そして、Ｓ１１０６において図８０２のようなジョブ一覧取得要求応答をＣＰＵ２０１は受信し、ジョブ一覧結果を取得する。
【００５０】
次に、Ｓ１１０７においてＣＰＵ２０１は、このジョブ一覧から特定の１つのジョブを選択し、テナント１０２に図８０３のようなジョブ取得要求を送信する。特定のジョブを選択する方法としては、ジョブ一覧結果からランダムに１つ選択し、全ジョブが完了するまで繰り返すか、あるいはユーザが任意のジョブを１つ選択してもよい。Ｓ１１０８においてＣＰＵ２０１は、図８０４のようなテナント１０２から印刷ジョブデータと、付随するジョブ情報やユーザ情報を取得する。そして、Ｓ１１０９においてＣＰＵ２０１は前述のテナントチェックを行い、該当ジョブが印刷許可されているかどうかを判断する。
【００５１】
ＣＰＵ２０１が印刷許可と判断した場合は、Ｓ１１１０において印刷処理が実施される。一方、ＣＰＵ２０１が印刷拒否と判断した場合は、Ｓ１１１１において印刷ジョブの破棄処理が実施される。そしてＳ１１１２において、図１２のように印刷許可の場合は正常終了の結果をジョブ履歴に保存し、印刷拒否の場合は印刷ジョブ失敗の結果をジョブ履歴に保存する。表示方法は図１２に限られず、より詳細にテナントアクセス権のエラーの理由を表示する形態でも良い。
【００５２】
最後にＳ１１１３において、ＣＰＵ２０１は処理結果をテナント１０２に通知する。例えばジョブ破棄処理の場合はジョブ状況を「Ａｂｏｒｔ」あるいは「Ｃａｎｃｅｌ」のように通知し、正常処理の場合は「Ｃｏｍｐｌｅｔｅｄ」や「Ｐｒｉｎｔｅｄ」のようにして通知を行う。
【００５３】
以上、実施例１により、印刷装置の属するテナントは別のテナントのユーザーからの印刷ジョブを印刷制御することにより適切な印刷アクセスコントロールを実現することが可能になる。
【実施例２】
【００５４】
実施例１では、テナントに印刷ジョブが投入されたらすぐに印刷装置が検知して印刷する場合の例を示した。この場合、必ずしも印刷ジョブを投入したユーザが、排紙された瞬間に印刷装置の前にいる保証がない。そのため、印刷装置が排紙したドキュメントを、その瞬間に印刷装置の前にした第３者が取っていってしまうリスクが存在する。本実施例ではユーザが印刷装置にログインしてから、テナントの印刷ジョブを取得して排紙する場合の例を示す。なお、実施例１で説明済みの内容については、基本的には説明を省略する。
【００５５】
＜ログインしてクラウド印刷処理＞
図１３および図１４は本実施例における印刷装置１０１の操作画面例である。図１３はローカルＵＩ、図１４はローカルＵＩおよびリモートＵＩが提供する画面例である。ユーザがジョブをテナントに投入した後、ユーザーが印刷装置の前に行って印刷したい場合、まず画面１３０１を介してユーザは印刷装置１０１にログインする。この画面ではユーザが自身のユーザ名およびパスワードを入力してログインする例であるが、ＩＣカードや生体認証を利用してログインしてもよい。
【００５６】
印刷装置はユーザログインの可否を、予め設定されている図１４の印刷装置ユーザ管理設定に準拠して判断する。ユーザ管理設定は図１４０１のように、「印刷装置の認証ＤＢを使用する」と「外部サーバと連携する」から選択可能である。「印刷装置の認証ＤＢを使用する」が選択されている場合、印刷装置管理者は図１４０２のようにユーザ情報を印刷装置に登録しておく。
【００５７】
各ユーザは予め自分のユーザ名およびパスワードを印刷装置に登録しておき、印刷装置にログインする場合は一致する情報を入力する。一方、「外部サーバと連携する」が選択されている場合、図１４０３のように連携する外部サーバのＵＲＬ、ホスト名あるいはＩＰアドレスが設定可能となる。印刷装置に入力されたユーザ情報をそのまま外部サーバに転送し、外部サーバがログイン可否を判断し印刷装置に応答する。
【００５８】
印刷装置へのログインが成功すると図１３０２のようにローカルＵＩのトップ画面が表示され、「コピー」「メール送信」「クラウド印刷」などのアイコンが選択可能となり、ユーザは所望のアイコンを選択する。プリントサービスと通信し印刷ジョブを受信して印刷を行うための「クラウド印刷」が選択されると、図１３０４に遷移し、そのユーザの印刷ジョブ一覧が表示される。この例では３つのジョブが存在し、それぞれのジョブ名称が表示されている。ユーザが任意の１つのジョブを選択し「印刷」ボタンを選択すると、印刷装置は印刷処理を行い、排紙が完了した時点で図１３０６のように印刷完了の表示となる。
【００５９】
前述の操作画面の処理シーケンスを図１５に示す。まず、ユーザが印刷装置１０１にログインを試みる（Ｓ１５０１）。「印刷装置の認証ＤＢを使用する」設定の場合、ログイン情報と印刷装置内部に保存されているユーザ情報を照合して、印刷装置１０１のＣＰＵ２０１がログイン可否を判断し（Ｓ１５０２）、成功ならログイン画面を表示し、失敗ならログイン失敗を表示する（Ｓ１５０３）。一方、「外部サーバと連携する」が設定されている場合、印刷装置１０１はログイン情報を外部サーバへ転送する（Ｓ１５０４）。外部サーバは外部サーバに保存されているユーザ情報と転送されたログイン情報を照合して、ログイン可否を判断する（Ｓ１５０５）。その結果、成功あるいは失敗の情報を外部サーバから印刷装置へ通知し（Ｓ１５０６）、印刷装置は成功ならログイン画面を表示し、失敗ならログイン失敗を表示する（Ｓ１５０７）。
【００６０】
ログイン成功した後、ユーザは「クラウド印刷」のアイコンを選択する（Ｓ１５０８）。
【００６１】
アイコンが選択されたら、印刷装置１０１はテナント１０２に対して図１６０１のようなパケットデータを含むジョブ一覧取得要求を送信する（Ｓ１５１０）。この要求では「Ｍｙ−ｊｏｂｓ」属性をＴｒｕｅにセットし、どのユーザかどうかを判断する情報として「Ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｕｒｉ」属性にログインユーザのテナントアカウント名を格納する。
【００６２】
この要求を受信したテナント１０２は、「Ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｕｒｉ」属性のテナントアカウント名と一致するユーザ情報のジョブ一覧を、図１６０２のようなパケットデータで取得要求応答する（Ｓ１５１１）。この応答パケットでは、「ｊｏｂ−ｉｄ」を参照すると分かるようにＳｍｉｔｈのジョブとして２つのジョブが存在したことを表す。そして、印刷装置は取得したジョブ一覧をローカルＵＩに表示する（Ｓ１５１２）。
【００６３】
ユーザはジョブ一覧の中から印刷したい任意のジョブを１つ選択して、印刷ボタンを選択する（Ｓ１５１３）。ジョブが選択されたら印刷装置１０１はテナント１０２に対して図１６０３のようなパケットデータを含む印刷ジョブ取得要求を送信する（Ｓ１５１４）。取得要求を受信したテナント１０２は該当の印刷ジョブを含む図１６０４のような応答を印刷装置１０１に送信する（Ｓ１５１５）。そして印刷ジョブデータを全て取得した後、印刷装置は印刷処理を行い排紙する（Ｓ１５１６）。このフローにより、排紙処理はユーザが印刷装置の前でログインしない限り行われないので、第３者への印刷物漏えいのリスクを防止し、セキュリティが高まる。
【００６４】
また、本実施例のＣＰＵ２０１におけるフローチャートを図１７に示す。まずＳ１７０１においてＣＰＵ２０１はログインイベントが発生したかどうかを判断する。次にＳ１７０２において印刷装置に設定されている認証設定を参照し、「印刷装置の認証ＤＢを使用する」設定の場合、Ｓ１７０３に遷移し認証処理を実行する。一方、「外部サーバと連携する」が設定されている場合、Ｓ１７０４に遷移して外部サーバにログイン情報を転送し、その認証結果を受け取り、ログイン可否を判断する（Ｓ１７０５）。
【００６５】
ログインが成功した場合、Ｓ１７０６で図１３０２のトップ画面を表示する。そして「クラウド印刷」アイコンが選択されたら（Ｓ１７０７）、テナント１０２に対してジョブ一覧取得要求を送信し、取得できたジョブ一覧を表示する（Ｓ１７１１）。そしてユーザによって任意のジョブが選択されたら（Ｓ１７１２）、該当ジョブの取得要求をテナント１０２に送信し、印刷ジョブデータを取得する（Ｓ１７１３）。そして取得した印刷データを印刷処理し排紙する（Ｓ１７１６）。また、本実施例ではユーザの特定に「Ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｕｒｉ」属性を使用したが、ユーザが一意に特定できるなら他の属性を使用しても良い。
【００６６】
＜ログインしてクラウド印刷処理のアクセスコントロール＞
前述の印刷装置にログインしてテナントからジョブ取得する場合も、異なるテナントユーザの印刷は制限したい場合が考えられる。その実現方法についても説明する。まず印刷装置の事前設定は図９と同等である。印刷装置１０１とＳｍｉｔｈが異なるテナントに属しており、印刷装置にアクセス許可されていないＳｍｉｔｈを例にしてフローを説明する。
【００６７】
Ｓｍｉｔｈが印刷装置１０１へログインして、「クラウド印刷」のアイコンを選択した場合、印刷装置は該当ユーザがクラウド印刷の拒否対象ユーザかどうかを判断し、拒否対象であれば図１３０３のような「クラウド印刷」使用不可の表示を行う。なお、「クラウド印刷」のアイコンが選択される前で判断をしても良い。これにより拒否対象ユーザは印刷を実行する事ができなくなる。アクセス拒否対象かどうかの判定は以下のフローで行う。
【００６８】
まず、図１３０１で入力されるユーザ名に「Ｓｍｉｔｈ」が入力される。この時、印刷装置は内部の認証ＤＢ設定を参照すると、ユーザ名「Ｓｍｉｔｈ」のテナントアカウントは「ｓｍｉｔｈ＠ｔｅｎａｎｔ１０４．оｎｃоｍｐａｎｙ．ｃоｍ」であることがわかる。そして、印刷装置１０１が登録しているテナントは「ｔｅｎａｎｔ１０２．оｎｃоｍｐａｎｙ．ｃоｍ」であることもわかっている。その為、もしこのユーザが図９で設定されている拒否対象テナントのユーザであるなら、テナント名称を比較して拒否すべきだとわかる。よって「クラウド印刷」アイコンが選択された瞬間にアクセス失敗とさせる。事前に判断した場合はアイコンを選択不可能に表示すれば良い。
【００６９】
本判断は、図１５のシーケンス図において、Ｓ１５０９で実施される。Ｓ１５０８で「クラウド印刷」のアイコンが選択された場合、テナント名称の照合を行い、印刷拒否対象と判断すればＳ１５０９において図１３０３のようなエラー画面を表示する。
【００７０】
また、本判断は、図１７のフローチャートにおいて、Ｓ１７０８で実施される。Ｓ１７０８においてテナント名称の照合を行い、印刷拒否対象と判断すればＳ１７０９に遷移して図１３０３のようなエラー画面を表示する。Ｓ１７０８において印刷許可対象と判断すれば、Ｓ１７１０に遷移して印刷処理を継続する。このアクセスコントロールによって、拒否対象に設定されているテナントのユーザは印刷処理を実行する事ができないため、適切なアクセス制御を実現できる。
【００７１】
＜外部サーバ連携のアクセスコントロール＞
印刷装置の認証設定が「外部サーバと連携する」が設定されている場合、前述のように「クラウド印刷」アイコンを選択した時点での照合処理を実現することはできない場合がある。これは、外部サーバと連携する場合、ログイン情報を印刷装置が参照しない、あるいは、印刷装置が外部サーバに保存されているユーザのテナントアカウントを取得できない場合があるため、照合する情報を印刷装置が取得できない事があるためである。
【００７２】
このような場合は、Ｓ１５１６のように印刷ジョブを取得する時点でテナントの照合処理を行い、アクセス拒否対象かどうかを判断する。具体的には、Ｓ１５１６で印刷ジョブデータを取得する際、図１６０４のようなパケットデータが取得できる。この中に含まれる「Ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｕｒｉ」属性の値を参照すると、ジョブを投入したユーザのテナントアカウント情報が含まれる。ここでは、「ｓｍｉｔｈ＠ｔｅｎａｎｔ１０４．оｎｃоｍｐａｎｙ．ｃоｍ」となっており、テナント名称は、「ｔｅｎａｎｔ１０４．оｎｃоｍｐａｎｙ．ｃоｍ」とわかる。これより印刷装置１０１は該当ジョブのテナント情報を取得できる。
【００７３】
そして、印刷装置１０１は自身の登録済テナント名称も図６のとおり取得できているので、テナント名称の比較が可能となる。そして異なるテナントからのジョブは拒否する設定になっている場合、図１３０５のような画面を表示して印刷実行できない事をユーザに通知する。
【００７４】
本処理は図１７のフローチャートでは、Ｓ１７１４で実施される。Ｓ１７１４においてテナント名称の照合を行い、印刷拒否対象と判断すればＳ１７１５に遷移して図１３０５のようなエラー画面を表示する。Ｓ１７１４において印刷許可対象と判断すれば、Ｓ１７１６に遷移して印刷処理を継続する。
【００７５】
これより、外部サーバ連携してログイン情報を印刷装置が取得できない場合でも、拒否対象に設定されているテナントのユーザは印刷処理を実行する事ができないため、適切なアクセス制御を実現できる。また、実施例１および実施例２は印刷装置の設定で切り替え可能になっていてもよいし、同時に有効になっていてもよい。
【００７６】
以上、ユーザが印刷装置にログインしてから、テナントの印刷ジョブを取得して排紙する形態であっても本発明が適用できることを説明した。
【００７７】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７８】
１０１  印刷装置
１０２、１０４  テナント
１０３、１０５  ユーザ端末
【図１】
2020135069.tif 000003
【図２】
2020135069.tif 000004
【図３】
2020135069.tif 000005
【図４】
2020135069.tif 000006
【図５】
2020135069.tif 000007
【図６】
2020135069.tif 000008
【図７】
2020135069.tif 000009
【図８】
2020135069.tif 000010
【図９】
2020135069.tif 000011
【図１０】
2020135069.tif 000012
【図１１】
2020135069.tif 000013
【図１２】
2020135069.tif 000014
【図１３】
2020135069.tif 000015
【図１４】
2020135069.tif 000016
【図１５】
2020135069.tif 000017
【図１６】
2020135069.tif 000018
【図１７】
2020135069.tif 000019