次に、本発明の実施の形態について、詳細に説明する。
[第1の実施形態]
<システム構成>
図1は本実施形態に係る情報処理システムの一例の構成図である。図1の情報処理システム1はオフィス内のプライベートなネットワークN1と、クラウドサービスに代表されるサービス提供システム2のネットワークN2と、インターネットなどのネットワークN3とを有する。ネットワークN1〜N3はネットワーク環境の一例である。
オフィス内のネットワークN1には、ファイアウォールFWが設置されている。ファイアウォールFWは、不正なアクセス元からのアクセスを制限する。サービス提供システム2のネットワークN2には、アクセス制御装置21が設置されている。アクセス制御装置21はネットワークN3を介したアクセスを制限する。
オフィス内のネットワークN1は、ファイアウォールFWの内側にあるプライベートなネットワークである。ネットワークN1には端末装置11、画像形成装置12、認証装置13、その他の装置14が接続されている。
端末装置11は一般的なOS等が搭載された情報処理装置(コンピュータシステム)によって実現できる。端末装置11はPC、タブレットPC、ノートPC、スマートフォンや携帯電話など、ユーザが操作可能な装置である。
画像形成装置12は複合機、複写機、スキャナ、レーザプリンタ等の画像形成機能を有する装置である。認証装置13は一般的なOS等が搭載された情報処理装置によって実現できる。認証装置13はユーザ認証機能を提供する。その他の装置14は、プロジェクタや電子黒板装置等の装置である。
なお、端末装置11、画像形成装置12、認証装置13及びその他の装置14は、無線による通信の手段または有線による通信の手段を有する。図1では、一例として端末装置11、画像形成装置12、認証装置13及びその他の装置14がそれぞれ一台である例を示しているが複数台であってもよい。
サービス提供システム2はネットワークN3を介してクラウドサービスを提供する提供者等によって構築されるシステムである。なお、本実施形態はクラウドサービスを一例として説明しているが、ASP(アプリケーションサービスプロバイダ)によって提供されるサービスやWebサービスなど、ネットワークN3を介して提供されるサービスに関して適用してもよい。
サービス提供システム2のネットワークN2は、アクセス制御装置21によってネットワークN3に接続されている。ネットワークN2には、アクセス制御装置21、プリントサービス提供装置22、配信サービス提供装置23、ポータルサービス提供装置24、認証装置26、データ処理制御装置27、データ処理実行制御装置28、データ処理装置29が接続されている。
プリントサービス提供装置22、配信サービス提供装置23、ポータルサービス提供装置24、認証装置26、データ処理制御装置27、データ処理実行制御装置28、データ処理装置29の詳細は後述する。
アクセス制御装置21、プリントサービス提供装置22などのサービス提供システム2内の各装置は、一台以上の情報処理装置により実現される。つまり、サービス提供システム2内の各装置は、一台の情報処理装置により実現してもよいし、複数の情報処理装置に分散して実現してもよい。
なお、サービス提供システム2内の各装置は、一台のコンピュータに統合して実現してもよい。すなわち、サービス提供システム2内の各装置を構成する情報処理装置の台数は本発明の適用範囲を制限するものではない。
また、サービス提供システム2内の各装置の一部あるいは全部が、オフィス内のネットワークN1などのプライベートなネットワークにおいて実現されてもよい。本実施形態に係る情報処理システム1は、好適な一例を示すものである。例えばサービス提供システム2と、サービス提供システム2を利用するためにアクセスするオフィス内のネットワークN1の各装置との間にファイアウォールFWがあるか否かによって、本発明の適用範囲は制限されない。
サービス提供システム2は、各種サービスを提供するためのサービス提供機能を実現する装置と、各種サービスを提供するときに共通的に利用できるプラットフォーム機能を実現する装置と、に大別して捉えることができる。
なお、プリントサービス提供装置22、配信サービス提供装置23、ポータルサービス提供装置24は各種サービスを提供するためのサービス提供機能を実現する装置の一例である。認証装置26、データ処理制御装置27、データ処理実行制御装置28、データ処理装置29は各種サービスを提供するときに共通的に利用できるプラットフォーム機能を実現する装置の一例である。
上記のようなサービス提供システム2の大別の仕方は、本発明を分かり易く説明するための概念的な捉え方であり、このような捉え方の基でサービス提供システム2を構成しなければならない、というものではない。
また、インターネット等のネットワークN3は端末装置11、メールサーバ31、オンラインストレージ32等が接続される。図1に示すように、端末装置11はオフィス内のネットワークN1以外に接続されてもよい。図1の情報処理システム1は端末装置11がオフィス内のネットワークN1と、インターネットなどのネットワークN3とに接続されている例を示している。
メールサーバ31はユーザの電子メールの送信や受信など、電子メールに関する処理を行う。オンラインストレージ32はストレージの記憶領域を貸し出すサービスに関する処理を行う。メールサーバ31及びオンラインストレージ32は一台以上の情報処理装置により実現される。
<ハードウェア構成>
図1の端末装置11、認証装置13は、例えば図2に示すようなハードウェア構成のコンピュータシステムにより実現される。同様に、図1のアクセス制御装置21、プリントサービス提供装置22などのサービス提供システム2内の各装置も、例えば図2に示すようなハードウェア構成のコンピュータシステムにより実現される。図1のメールサーバ31及びオンラインストレージ32も図2に示すようなハードウェア構成のコンピュータシステムにより実現される。図2は本実施形態に係るコンピュータシステムの一例のハードウェア構成図である。
図2に示したコンピュータシステム500は、入力装置501、表示装置502、外部I/F503、RAM504、ROM505、CPU506、通信I/F507、HDD508などを備え、それぞれがバスBで相互に接続されている。
入力装置501はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置502はディスプレイなどを含み、コンピュータシステム500による処理結果を表示する。
通信I/F507はコンピュータシステム500をネットワークN1〜N3に接続するインタフェースである。これにより、コンピュータシステム500は通信I/F507を介してデータ通信を行うことができる。
HDD508は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム500全体を制御する基本ソフトウェアであるOSや、OS上において各種機能を提供するアプリケーションソフトウェアなどがある。
外部I/F503は、外部装置とのインタフェースである。外部装置には、記録媒体503aなどがある。これにより、コンピュータシステム500は外部I/F503を介して記録媒体503aの読み取り及び/又は書き込みを行うことができる。記録媒体503aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリなどがある。
ROM505は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM505には、コンピュータシステム500の起動時に実行されるBIOS、OS設定及びネットワーク設定などのプログラムやデータが格納されている。RAM504は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU506は、ROM505やHDD508などの記憶装置からプログラムやデータをRAM504上に読み出し、処理を実行することで、コンピュータシステム500全体の制御や機能を実現する演算装置である。
<ソフトウェア構成>
《サービス提供システム》
図3は本実施形態に係るサービス提供システムの一例の処理ブロック図である。図3のサービス提供システム2はプログラムを実行することにより、サービスアプリ51、プラットフォーム52、管理データ記憶部53及びプラットフォームAPI(Application Programming Interface)54を実現している。
図3のサービスアプリ51は、ポータルサービスアプリ61、プリントサービスアプリ62、配信サービスアプリ63を一例として有する。サービスアプリ51は各種サービスを提供するための機能を有するアプリケーションである。
例えばポータルサービスアプリ61は図1のポータルサービス提供装置24において実装される。プリントサービスアプリ62はプリントサービス提供装置22において実装される。配信サービスアプリ63は配信サービス提供装置23において実装される。
ポータルサービスアプリ61は、ユーザがプリントサービスや配信サービスなどの各種サービスを利用するためのポータルサイトを提供するアプリケーションである。ポータルサービスアプリ61はユーザが各種サービスを利用するための処理として、後述のテナント登録処理、サービス登録処理、各種の管理情報の登録処理をプラットフォーム52と連携して行う。
プリントサービスアプリ62は、例えば印刷データを記憶し、印刷データを画像形成装置12に送信することで、画像形成装置12による印刷を実現するプリントサービスを提供するアプリケーションである。
配信サービスアプリ63は、画像形成装置12等の各種装置から送信された画像データに対するデータ処理を行い、処理後のデータを図1のオンラインストレージ32等に配信する配信サービスを提供するアプリケーションである。
なお、サービスアプリ51は図1の例に限らず、記憶した画像データ(投影データ)をプロジェクタ等のその他の装置14に送信するサービスを提供するアプリケーションを有していてもよい。また、サービスアプリ51は、記憶した画像データ(投影データ)を電子黒板装置等のその他の装置14に送信するサービスを提供するアプリケーションを有していてもよい。このように、サービスアプリ51はユーザが利用する画像形成装置12等の各装置に何らかのサービスを提供するアプリケーションを有している。
プラットフォームAPI54はサービスアプリ51がプラットフォーム52を利用するためのインタフェースである。プラットフォームAPI54はサービスアプリ51からの要求をプラットフォーム52が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。なお、サービス提供システム2を複数の情報処理装置に分散して構成する場合、プラットフォームAPI54にはネットワーク経由で利用可能な例えばWeb APIを利用できる。
プラットフォーム52は、通信部71、アクセス制御部72、メール送信部73、設定登録部74、認可設定処理部75、ライセンス認証部76、ユーザ認証部77、ユーザ装置認証部78、社内連携認証部79、外部連携認証部80、データ処理制御部81、1以上の処理キュー82、1以上のデータ処理要求部83、1以上のデータ処理部84を有している。
通信部71は画像形成装置12等の各装置との通信を実行する機能部であり、例えば図1のアクセス制御装置21において実装される。アクセス制御部72は画像形成装置12等の各装置からサービス提供システム2に対して要求される各種のアクセスに応じたアクセス制御を実行する機能部であり、例えばアクセス制御装置21において実装される。
メール送信部73はメールを送信する機能部であり、例えば図1の認証装置26において実装される。設定登録部74は管理データ記憶部53に記憶する各種の管理データを設定登録する機能部であり、例えば認証装置26において実装される。認可設定処理部75はオンラインストレージ32等の外部サービスに対する認可の設定を行うための処理を実行する機能部であり、例えば認証装置26において実装される。
ライセンス認証部76は管理データ記憶部53が記憶する後述のライセンス情報及びテナント情報に基づき、ライセンスに関する認証を実行する機能部であり、例えば認証装置26において実装される。ユーザ認証部77は端末装置11等の装置認証を要さない装置からのログイン要求に基づいてユーザ認証を実行する機能部であり、例えば認証装置26において実装される。ユーザ装置認証部78は画像形成装置12等の装置認証を要する装置からのログイン要求に基づいてユーザ認証を実行する機能部であり、例えば認証装置26において実装される。
社内連携認証部79はユーザが画像形成装置12等の装置において、図1の認証装置13による認証を行い、認証装置13から取得したユーザIDを用いてログインする場合にユーザ認証を実行する機能部であり、例えば認証装置26において実装される。外部連携認証部80は図1のオンラインストレージ32にログインするための認証処理を実行する機能部であり、例えば認証装置26において実装される。
データ処理制御部81はサービスアプリ51からの要求に基づいて実行するデータ処理を制御する機能部であり、例えばデータ処理制御装置27において実装される。1以上の処理キュー82はデータ処理の種類に対応するメッセージキューであり、データ処理制御部81からデータ処理に係るリクエストのメッセージが登録される。処理キュー82は例えばデータ処理制御装置27において実装される。
1以上のデータ処理要求部83は自身に割り当てられた処理キュー82を監視し、処理キュー82からデータ処理に係るリクエストのメッセージを受信する。データ処理要求部83は受信したメッセージに対応するデータ処理の実行を、データ処理部84に要求する機能部であり、例えばデータ処理実行制御装置28において実装される。
1以上のデータ処理部84はデータ処理要求部83からの要求に応じたデータ処理を実行する機能部であり、例えばデータ処理装置29において実装される。なお、データ処理部84が実行するデータ処理の例としては、サービスアプリ51から要求されるリクエストの分割処理、データ形式を変換するデータ形式変換処理、OCRを実行するOCR処理等が挙げられる。さらに、データ処理部84が実行するデータ処理の例としては、オンラインストレージ32にデータをアップロードするアップロード処理等も挙げられる。
なお、データ処理の種類によっては、データ処理要求部83とデータ処理部84とを例えばデータ処理実行制御装置28において実装するような形態であってもよい。
管理データ記憶部53は、管理情報記憶部91、データ処理情報記憶部92、データ記憶部93を一例として有する。
管理情報記憶部91はライセンス情報、テナント情報、ユーザ情報、装置情報等の管理情報を記憶する。管理情報記憶部91は例えば認証装置26において実装される。データ処理情報記憶部92は要求されるデータ処理に関する情報を記憶する。データ処理情報記憶部92は例えばデータ処理制御装置27において実装される。データ記憶部93はアプリケーションデータや印刷データなど、その他のデータを記憶する。データ記憶部93は例えばデータ処理制御装置27において実装される。
図3の管理データ記憶部53に記憶されている管理データは、例えば以下のようなものである。図4はライセンス情報の一例の構成図である。ライセンス情報はデータ項目としてライセンス種類、ID、登録用コード、登録状態を有する。ライセンス種類はライセンスの種類を表す情報である。ライセンスの種類にはテナント、プリントサービス、配信サービス等がある。IDは、各ライセンスのIDであり、ライセンス認証に利用される情報である。登録用コードは、テナントの登録を行う時に利用される情報である。登録状態はユーザによるライセンスの登録(IDの登録)が完了している状態か否か(登録済か未登録か)を示す情報である。
図5はテナント情報の一例の構成図を示す。テナント情報はデータ項目としてテナントID、名称、サービスID、サービス種類、有効期限、外部サービス、アドレス情報、利用区域情報等を有する。テナントIDは、ライセンス情報においてライセンス種類が「テナント」のIDであり、ユーザがテナント登録を行うことで登録される情報である。
名称は、テナント登録を行うときにユーザが設定する名称であり、例えば企業名や組織名等が設定される。サービスIDは、ライセンス情報においてライセンス種類が「プリントサービス」や「配信サービス」といったサービスのIDであり、テナント登録が行われた後にユーザがサービス登録を行うことで登録される情報である。
サービス種類は、サービスIDに対応するライセンス種類(サービスの種類)を表す情報である。有効期限は、サービスIDの有効期限である。特定の装置に登録されたサービスIDの有効期限は、登録時点から管理される。
外部サービスは、サービス提供システム2と連携して利用する外部サービスを表す情報である。外部サービスとしては例えば図1のオンラインストレージ32等がある。アドレス情報はテナント登録の際に登録される管理者のメールアドレスである。利用区域情報はサービスを利用する国・地域に関する情報である。なお、オンラインストレージ32は外部サービスの一例である。後述するアカウント、パスワード、認可トークン、スコープ等の情報は、外部サービスを利用するときに用いられる情報の一例である。
なお、認可とはユーザがサービスを利用するときに、どのサービスを利用するか、どのリソースへのアクセスを許可するか、等といったサービスの利用における利用範囲(権限)を設定することである。認可は例えばOAuthと呼ばれるAPI認可の標準的技術を利用して設定できる。サービス提供システム2からオンラインストレージ32等の外部サービスを利用する視点で見ると、外部サービスがOAuthのサービスプロバイダの役割を果たし、サービス提供システム2がOAuthのコンシューマの役割を果たす。
図6はユーザ情報の一例の構成図を示す。ユーザ情報はデータ項目として、テナントIDと、ログイン用のユーザID及びパスワードと、社内認証用のユーザIDと、オンラインストレージ用のアカウント、パスワード、認可トークン及びスコープ等と、アドレス情報と、を一例として有する。
ユーザ情報はテナントID単位で各ユーザの情報を管理する。ログイン用のユーザID及びパスワードは、サービス提供システム2にログインするときのユーザ認証に利用する認証情報である。ログイン用のユーザIDはユーザ名等でもよく、サービス提供システム2にログインするときにユーザを識別できる情報であればよい。社内認証用のユーザIDはオフィス内のネットワークN1の認証装置13においてユーザを特定するユーザ特定情報であり、認証装置13から取得したユーザ特定情報を用いてログインする場合のユーザ認証に利用する認証情報である。社内認証用のユーザIDは、オフィス内のネットワークN1の認証装置13においてユーザを特定できるユーザ特定情報であればよく、ユーザが携帯するICカードのカードIDや携帯端末の端末ID等でもよい。
オンラインストレージ用のアカウント及びパスワードは、オンラインストレージ32にログインするときに利用する認証情報である。認可トークンは、オンラインストレージ32を特定の権限の範囲内で利用するための情報である。スコープは認可により設定された利用範囲を特定する情報である。
なお、アカウントは、ユーザID、ユーザ名、オンラインストレージ用のアドレス等でもよく、ユーザが対象のオンラインストレージ32にログインするときの認証に利用する認証情報であればよい。アドレス情報はユーザのメールアドレスである。
図7は装置情報の一例の構成図を示す。装置情報はデータ項目としてテナントID、装置ID、サービスID、サービス種類、利用開始日、利用終了日等を有する。装置情報はテナントID単位で各装置の情報を管理する。
装置IDは装置を識別する情報であり、装置認証に利用する情報である。装置IDは例えば装置の機体番号等が一例として挙げられる。サービスID、サービス種類は、テナント情報におけるサービスID、サービス種類と同様の情報であり、ユーザが特定の装置に対するサービスIDの登録を行うことで登録される。
利用開始日はサービスIDの登録を行った日にちの情報である。利用終了日は、登録されたサービスIDの有効期限が終了する日にちの情報である。装置情報に登録された装置はサービスIDの利用開始日から利用終了日までの間、登録したサービスIDのサービスを利用できる。
なお、サービスの種類やライセンスの種類によっては有効期限が無期限のもの(実質的に期限の制約がないもの)があってもよい。また、装置情報が登録されていない装置であっても、装置認証を行わなければ利用できないサービス(機能)を除き、サービス提供システム2が提供する機能の一部は利用できるものとする。
なお、本実施形態においては、装置情報の登録を要さない装置の一例として端末装置11を示している。また、本実施形態においては、装置情報の登録を要する装置の一例として画像形成装置12を示している。
端末装置11において利用できる機能の一例としては、管理データの設定登録や、印刷データの投入、削除等が挙げられる。また、画像形成装置において利用できる機能の一例としては印刷データの取得、配信データの送信等が挙げられる。
なお、どのような機能を利用するときに装置認証を要し、どのような機能を利用するときに装置認証を要さないかは、サービスを提供する提供者側が決めればよく、装置認証を要さないサービスがあってもよい。
図8は外部サービス情報の一例の構成図を示す。外部サービス情報はデータ項目として外部サービスID、サービス名、クライアントID、クライアントシークレット、プロダクト名、スコープ、認可先URL、リダイレクト先URL等を有する。外部サービスIDは外部サービスを特定(識別)する情報である。
サービス名は外部サービスの名称である。クライアントIDは外部サービスによって発行されるサービス提供システム2を特定する情報である。クライアントシークレットはクライアントIDの本人性を保証する為の秘密情報であり、パスワードのような役割を果たす情報である。プロダクト名はサービスアプリ51を特定する情報である。スコープは外部サービスの利用範囲を特定する情報である。認可先URLは、外部サービスが備える認可システムのURL(例えば外部サービスが備える認可サーバのURL)である。リダイレクト先URLは、外部サービスからリダイレクトされるサービス提供システム2のURL(例えば認可設定処理部75の認可クライアントとしての機能のURL)である。
上述した内容から分かるように、テナントIDは、サービス提供システム2が提供するサービス、サービスを利用するユーザ、サービスを利用する装置に関連付き、サービス提供システム2において、ユーザ、装置、サービスを管理する為の情報である。また、テナントIDは、サービス提供システム2が提供できるサービスのうち、どのサービスを、どのユーザに、さらにはどの装置に提供するかといった利用対象を特定する情報(利用対象特定情報)である。
<処理の詳細>
以下では、本実施形態に係る情報処理システム1の処理の詳細について説明する。
《テナント登録からサービス登録までの処理》
図9はテナント登録からサービス登録までの処理手順を表した一例のフローチャートである。まず、テナント登録を行いたいユーザ(例えば企業や組織の管理者)はサービス提供システム2のサービス提供者(例えばサービスの提供販売を行う担当者)からテナントID及び登録用コードを取得する。
なお、テナントID及び登録用コードの取得方法は、直接サービス提供者から取得する方法や、サービス提供者が運営する専用サイトにユーザの端末装置11からアクセスして取得する方法等が例として挙げられる。
ステップS1において、ユーザは、端末装置11がサービス提供システム2のポータルサイトへアクセスするように、端末装置11の入力装置501を操作する。端末装置11はユーザの操作に基づき、サービス提供システム2のポータルサイトにアクセスする。
サービス提供システム2のアクセス制御部72はポータルサイトへのアクセスであることから、端末装置11からのアクセスを許可し、ポータルサービスアプリ61にアクセスさせる。
ポータルサービスアプリ61は、端末装置11の表示装置502にトップ画面を表示させる。ユーザは端末装置11の入力装置501を操作し、トップ画面から、ログインを要求するか、新規のテナント登録を要求するかを選択できる。ここでは、新規のテナント登録の要求が選択されたものとして説明を続ける。なお、管理情報記憶部91のユーザ情報に登録されているユーザ(管理者やその他の利用者)であれば、テナントID、ユーザID及びパスワードを入力してログインの要求を選択できる。
新規のテナント登録が要求されると、サービス提供システム2のポータルサービスアプリ61はステップS2において、端末装置11の表示装置502にテナントIDの仮登録を行うための入力画面を表示させる。ユーザは端末装置11の入力装置501を操作してテナントIDの仮登録を行うための入力を行ったあと、仮登録の要求を行う。端末装置11はユーザの操作に基づき、サービス提供システム2のポータルサイトに仮登録の要求を行う。
なお、テナントIDの仮登録を行うために入力される情報には例えばサービスを利用する国・地域に関する情報(利用区域情報)と、サービスを利用する国・地域に応じて表示される利用規約(約款)に同意することを示す情報と、が含まれる。テナントIDの仮登録を行うために入力される情報にはテナントID、登録用コード、メールアドレス、使用言語等の情報も含まれる。
よって、サービス提供システム2は、利用する国・地域に応じた利用規約(約款)情報を保持している。サービス提供システム2のポータルサービスアプリ61はユーザがテナントIDの仮登録を行うために入力した利用区域情報に応じた利用規約を、端末装置11の表示装置502に表示する表示制御を行い、利用規約に同意するか否かをユーザに選択させる。
図10は利用規約画面の一例のイメージ図である。利用規約画面1010はサービスを利用する国・地域をユーザに選択させる選択欄1011と、選択欄1011に応じた利用規約を表示する利用規約欄1012と、利用規約に同意するか否かをユーザに選択させるチェックボックス1013と、を有する。
ユーザの端末装置11から仮登録が要求されると、ポータルサービスアプリ61はテナントIDの仮登録を行うために入力された情報に含まれるテナントID及び登録用コードの正当性の確認処理をライセンス認証部76に要求する。要求を受け付けたライセンス認証部76はライセンス認証処理を実行し、管理情報記憶部91が記憶する図4のライセンス情報に、正当性の確認処理を要求されたテナントID及び登録用コードが記憶されているかを判断(照合)する。
ライセンス認証部76は正当性の確認処理を要求されたテナントID及び登録用コードが記憶されていれば、そのテナントID及び登録用コードに関連付いた登録状態が「未登録」であるか判断する。
登録状態が「未登録」であれば、ライセンス認証部76は正当性の確認処理を要求されたテナントID及び登録用コードが正当な情報であると判定し、そのテナントID(ライセンス)を認証する。ライセンス認証部76はライセンスの認証結果をポータルサービスアプリ61に通知する。
テナントID及び登録用コードが正当な情報である場合、ポータルサービスアプリ61は設定登録部74に、テナントIDの仮登録を行うために入力された情報に含まれるテナントID、メールアドレス、利用区域情報の登録を要求する。設定登録部74は、ポータルサービスアプリ61からの要求に応じて管理情報記憶部91のテナント情報にテナントID、メールアドレス及び利用区域情報を登録する。
設定登録部74による登録が行われると、ポータルサービスアプリ61はステップS3において、本登録用の画面を表示する為のアクセス先である本登録用URLを生成し、本登録用URLが記載されたメールを作成する。ポータルサービスアプリ61は、作成したメールの送信をメール送信部73に要求する。メール送信部73はテナントIDの仮登録を行うために入力された情報に含まれるメールアドレスを宛先としたメールを送信する。
メール送信部73によってメールが送信されると、ポータルサービスアプリ61は端末装置11の表示装置502にメールを送信した旨の通知画面を表示させる。なお、本登録用URLは例えば生成時からの有効期限(例えば一時間)で管理される。また、メール送信部73から送信したメールには、セキュリティ強化の観点から、テナントID及び登録用コードの内、少なくとも一方の情報を記載していないものとする。
次に、ユーザは受信したメールに記載されている本登録用URLへアクセスするように端末装置11の入力装置501を操作する。端末装置11はユーザの操作に基づき、本登録用URLにアクセスする。なお、本登録用URLにアクセスする端末装置11は仮登録の要求を行った端末装置11と同一でなくてもよい。アクセス制御部72は端末装置11をポータルサービスアプリへとアクセスさせる。
ポータルサービスアプリ61は本登録用URLへのアクセスが正当か(生成した本登録用URLへのアクセスであり、かつ、有効期限内のアクセスであるか)を確認する。正当であれば、ポータルサービスアプリ61は本登録画面を端末装置11の表示装置502に表示させる。
ユーザは端末装置11の入力装置501を操作し、本登録画面にテナントIDの本登録を行うための入力を行った後、本登録の要求を行う。なお、本登録画面において入力される情報は、テナントID、名称、登録用コード等のテナント情報と、ログイン用のユーザID及びパスワード、アドレス情報等のユーザ情報である。なお、テナントIDの仮登録でユーザが既に入力しているテナントIDまたは登録用コードのいずれかは、予め入力した状態で表示するようにしてもよい。ただし、セキュリティ強化の観点から、テナントIDまたは登録用コードのうち、少なくともユーザに入力させる情報のいずれかは、前述したように、本登録用URLが記載されたメールに記載されていないものとする。
ユーザの端末装置11から本登録が要求されると、ポータルサービスアプリ61は本登録画面に入力されたテナントID及び登録用コードに基づくライセンスの有効化処理(本登録処理)をライセンス認証部76に要求する。
要求を受け付けたライセンス認証部76はライセンス認証処理を実行し、本登録画面に入力されたテナントID及び登録用コードが、管理情報記憶部91が記憶するライセンス情報に記憶されているかを判断する。ライセンス認証部76は入力されたテナントID及び登録用コードがライセンス情報に記憶されており、そのテナントID及び登録用コードに関連付く登録状態が「未登録」であれば、入力されたテナントID及び登録用コードが正当な情報であると判定する。
入力されたテナントID及び登録用コードが正当な情報であると判定した場合、ライセンス認証部76は設定登録部74に、ライセンス情報の状態変更を要求する。設定登録部74は、管理情報記憶部91が記憶するライセンス情報において、正当なテナントID及び登録用コードに関連付く登録状態の値を「登録済」に変更する。
ライセンスの有効化処理が完了すると、ポータルサービスアプリ61はユーザが端末装置11において本登録画面に入力したテナント情報、ユーザ情報の登録を設定登録部74に要求する。設定登録部74は、管理情報記憶部91が記憶するテナント情報に、本登録画面にテナント情報の一部として入力された名称を登録する。また、設定登録部74は管理情報記憶部91が記憶するユーザ情報にテナントID、ログイン用のユーザID及びパスワード、アドレス情報等を登録する。
設定登録部74による各種情報の設定の登録が完了すると、ポータルサービスアプリ61はテナント登録完了画面を端末装置11の表示装置502に表示させる。また、ポータルサービスアプリ61はテナント登録完了通知が記載されたメールを作成し、メール送信部73にメール送信を要求する。メール送信部73はユーザが端末装置11においてテナントIDの仮登録を行うために入力したメールアドレス(テナント情報に登録されているアドレス情報)宛にテナント登録完了通知が記載されたメールを送信する。
例えばユーザは、端末装置11の表示装置502に表示したテナント登録完了画面を確認する。テナントID、ユーザID及びパスワードの登録を完了することで、ユーザは次回からポータルサイトのトップ画面からログインを要求することができる。ポータルサイトのトップ画面からログインすることにより、ユーザはテナントIDに関連付く、テナント情報、ユーザ情報、装置情報の登録処理を行うことができるようになる。
ステップS4において、管理者などのユーザは、端末装置11の入力装置501を操作して、ポータルサイトのトップ画面からテナントID、ユーザID及びパスワードを入力したあと、ログインを要求する。
ログインの要求を受け付けたポータルサービスアプリ61はユーザ認証部77にユーザ認証を要求する。ユーザ認証部77は管理情報記憶部91が記憶するユーザ情報に、端末装置11から受信したテナントID、ユーザID及びパスワードの組み合わせが記憶されているかを判断(照合)する。
端末装置11から受信したテナントID、ユーザID及びパスワードの組み合わせが記憶されていれば、ユーザ認証部77はログインの要求を行ったユーザを認証する。ユーザ認証部77によりユーザが認証されると、ポータルサービスアプリ61はログインを許可する。
ポータルサービスアプリ61にログインしたユーザは利用したいサービスのサービスID登録が可能となる。ポータルサービスアプリ61は、端末装置11の表示装置502にサービスIDの登録を行うためのサービス登録画面を表示させる。ユーザは端末装置11の入力装置501を操作し、端末装置11の表示装置502に表示されたサービス登録画面からサービスIDを入力したあと、サービス登録を要求する。端末装置11はユーザの操作に基づき、ポータルサービスアプリ61にサービス登録の要求を行う。
ユーザの端末装置11からサービス登録が要求されると、ポータルサービスアプリ61は管理情報記憶部91が記憶するライセンス情報を参照し、ユーザがサービス登録画面に入力したサービスIDと一致するIDを選択する。ポータルサービスアプリ61は選択したIDと関連付くライセンス種類(サービス種類)を取得する。
また、ポータルサービスアプリ61は管理情報記憶部91が記憶するテナント情報を参照し、ログインしたユーザのテナントIDに関連付く利用区域情報を取得する。ポータルサービスアプリ61は、取得したライセンスの種類及び利用区域情報に応じた利用規約を端末装置11の表示装置502に表示させ、利用規約に同意するか否かをユーザに選択させる。
よって、サービス提供システム2は、サービス種類(ライセンス種類)毎に利用する国・地域に応じた利用規約(約款)情報を保持している。ポータルサービスアプリ61はユーザがテナントIDの仮登録を行うために入力した利用区域情報及びサービス登録が要求されたサービス種類に応じた利用規約を表示する表示制御を行い、利用規約に同意するか否かをユーザに選択させることができる。
ユーザが端末装置11の入力装置501を操作して、利用規約に同意する選択を入力した場合、ポータルサービスアプリ61はログインしたユーザのテナントID及びサービス登録画面に入力されたサービスIDに基づくサービス登録処理をライセンス認証部76に要求する。
ライセンス認証部76は管理情報記憶部91が記憶するライセンス情報に、サービス登録画面に入力されたサービスIDがIDとして記憶されているかを確認(照合)する。ライセンス認証部76はサービス登録画面に入力されたサービスIDがIDとして記憶されていれば、正当なサービスIDと判定(サービスIDを認証)する。正当なサービスIDと判定した場合、ライセンス認証部76は、設定登録部74にサービスIDの登録を要求する。設定登録部74は管理情報記憶部91が記憶するテナント情報に対して、ログインしたユーザのテナントIDに関連付けてサービスID、サービス種類を登録する。
ステップS5において、管理者などのユーザはサービスIDの装置登録を行う。ユーザは端末装置11の入力装置501を操作して、装置登録画面を端末装置11の表示装置502に表示させる。ユーザは端末装置11の入力装置501を操作して、装置登録画面にサービスIDと、そのサービスIDによってサービスの利用を可能とする装置の装置IDとを入力し、サービスIDの装置登録を要求する。
端末装置11からサービスIDの装置登録が要求されると、ポータルサービスアプリ61はログインしたユーザのテナントID、装置登録画面に入力されたサービスID及び装置IDに基づくサービスIDの装置登録処理をライセンス認証部76に要求する。
ライセンス認証部76は、管理情報記憶部91が記憶するテナント情報に、ログインしたユーザのテナントID及び装置登録画面に入力されたサービスIDの組み合わせが記憶されているかを判断(照合)する。
ログインしたユーザのテナントID及び装置登録画面に入力されたサービスIDの組み合わせが記憶されていれば、ライセンス認証部76は管理情報記憶部91が記憶するライセンス情報を参照する。ライセンス認証部76は装置登録画面に入力されたサービスIDに関連付いた登録状態が「未登録」であるかを判断する。
登録状態が「未登録」であれば、ライセンス認証部76は設定登録部74にサービスIDの装置登録を要求する。なお、登録状態が「未登録」のサービスIDは、サービスIDの装置登録が行われていないサービスIDである。設定登録部74は管理情報記憶部91が記憶する装置情報に、ログインしているユーザのテナントID、装置登録画面に入力されたサービスID及び装置IDを登録する。また、設定登録部74は管理情報記憶部91が記憶するテナント情報を参照し、テナントID及びサービスIDから特定されるサービス種類、有効期限を取得する。設定登録部74は取得したサービス種類、有効期限に基づいて、管理情報記憶部91が記憶する装置情報に、サービス種類、利用開始日及び利用終了日を登録する。
利用開始日には、サービスIDの装置登録を行った当日の日にちが記憶される。利用終了日には、テナント情報から取得した有効期限(例えば1年)と、利用開始日と、に基づいて算出される最終日の日にちが記憶される。ただし、利用開始日は例えばステップS4のサービス登録の要求において、指定可能としてもよい。利用開始日を指定可能とした場合は、サービス登録の要求において指定された利用開始日が、装置情報の利用開始日に記憶される。そして、サービスIDの装置登録が完了すると、設定登録部74は管理情報記憶部91が記憶するライセンス情報において、装置登録を行ったサービスIDに関連付く登録状態の値を「登録済」へと変更する。
以上、テナント登録からサービス登録までの処理により、管理者などのユーザはテナント登録、サービスID登録及びサービスIDの装置登録を、端末装置11からサービス提供システム2にアクセスして行うことができる。したがって、ユーザはサービスの提供を受けるために必要な手続きを容易に済ませることができる。また、サービス提供システム2はライセンスの有効化処理が行われたテナントID単位で、提供するサービス、サービスを利用するユーザ、サービスを利用する装置を、管理できる。
《サービス提供システムが備えるユーザ認証・機器認証機能》
図11はユーザ認証・機器認証処理の一例のシーケンス図である。図11(A)は機器認証を要しない端末装置11からのユーザ認証を表している。図11(B)は機器認証を要する画像形成装置12からのユーザ装置認証を表している。図11(C)は機器認証を要する画像形成装置12からの社内連携認証を表している。
図11(A)に示すように、端末装置11からのユーザ認証では、ユーザがポータルサイトのトップ画面等からテナントID、ユーザID及びパスワードをログイン情報として入力する。ステップS11において、端末装置11はユーザにより入力されたログイン情報を受け付ける。
ステップS12において、端末装置11はユーザにより入力されたログイン情報を利用してサービス提供システム2にログイン要求を行う。サービス提供システム2のアクセス制御部72はユーザ認証部77にユーザ認証を要求する。
ステップS13において、ユーザ認証部77は管理情報記憶部91が記憶するユーザ情報に、端末装置11から受信したログイン情報が存在するかを確認する。ユーザ認証部77は管理情報記憶部91が記憶するユーザ情報に、端末装置11から受信したログイン情報が存在すれば、ユーザ認証が成功したと判断する。端末装置11から受信したログイン情報が存在しなければ、ユーザ認証部77はユーザ認証が失敗したと判断する。
ユーザ認証が成功した場合に、アクセス制御部72は端末装置11からサービス提供システム2へのログイン(サービスを利用するためのログイン)を許可する。ステップS14において、アクセス制御部72はユーザ認証部77によるユーザ認証の結果に基づいたログイン応答を端末装置11に送信する。
図11(B)及び図11(C)において、画像形成装置12はサービス提供システム2へのログインを行うためのユーザ認証において、ログイン用のユーザID及びパスワードを利用するか、社内認証用のユーザIDを利用するかの設定を保持する。なお、ログイン用のユーザID及びパスワードを利用するか、社内認証用のユーザIDを利用するかの設定は、適宜変更可能である。また、画像形成装置12は、テナントIDと装置IDとを自身の記憶領域に保持しているものとする。
ログイン用のユーザID及びパスワードを利用する設定の場合、サービス提供システム2へのログインを行うために、画像形成装置12は図11(B)に示すようにユーザ装置認証を行う。
ステップS21において、画像形成装置12はログイン用のユーザID及びパスワードをユーザに入力させる入力画面を表示する。ユーザは画像形成装置12に表示された入力画面からログイン用のユーザID及びパスワードを入力する。画像形成装置12はユーザにより入力されたログイン用のユーザID及びパスワードを受け付ける。
ステップS22において、画像形成装置12は、ユーザにより入力されたログイン用のユーザID及びパスワードと、自身の記憶領域に保持しているテナントID及び装置IDをログイン情報としてサービス提供システム2に送信し、ログイン要求を行う。サービス提供システム2のアクセス制御部72はユーザ装置認証部78にユーザ装置認証を要求する。
ステップS23において、ユーザ装置認証部78は管理情報記憶部91が記憶する装置情報に、画像形成装置12から受信したログイン情報に含まれるテナントID及び装置IDの組み合わせが存在するかを確認する。テナントID及び装置IDの組み合わせが存在すれば、ユーザ装置認証部78は装置認証が成功したと判断する。テナントID及び装置IDの組み合わせが存在しなければ、ユーザ装置認証部78は装置認証が失敗したと判断する。
さらに、ユーザ装置認証部78は管理情報記憶部91が記憶するユーザ情報に、画像形成装置12から受信したログイン情報に含まれるテナントID、ログイン用のユーザID及びパスワードの組合せが存在するかを確認する。ユーザ装置認証部78は管理情報記憶部91が記憶するユーザ情報に、画像形成装置12から受信したログイン情報に含まれるテナントID、ログイン用のユーザID及びパスワードの組合せが存在すれば、ユーザ認証が成功したと判断する。画像形成装置12から受信したログイン情報に含まれるテナントID、ログイン用のユーザID及びパスワードの組合せが存在しなければ、ユーザ装置認証部78はユーザ認証が失敗したと判断する。
装置認証及びユーザ認証が成功した場合に、アクセス制御部72は、画像形成装置12からサービス提供システム2へのログイン(サービスを利用するためのログイン)を許可する。ステップS24において、アクセス制御部72はユーザ装置認証部78による装置認証及びユーザ認証の結果に基づいたログイン応答を端末装置11に送信する。
社内認証用のユーザIDを利用する設定の場合、サービス提供システム2へのログインを行うために画像形成装置12は図11(C)に示す社内連携認証を行う。まず、ユーザは画像形成装置12においてユーザ認証を実行する。画像形成装置12において実行するユーザ認証は、画像形成装置12を利用する、又は、画像形成装置12の特定の機能を利用する、ために実行するユーザ認証である。ここでは、ユーザが携帯するICカード等に保存されているカードIDを利用して、認証装置13がユーザ認証を行う例について説明する。
ステップS31において、ユーザは画像形成装置12と接続されたカードリーダ(図示せず)にカードIDを読み取らせて、ユーザ認証を行う。ステップS32において、画像形成装置12はカードリーダにより読み取られたカードIDを認証装置13に送信して認証要求を行う。
ステップS33において、認証装置13は画像形成装置12から受信したカードIDを利用して認証判断を行う。認証装置13はカードIDとユーザIDとを関連付けたユーザ認証情報を記憶領域に記憶している。認証装置13はカードIDとユーザIDとを関連付けたユーザ認証情報を参照して、画像形成装置12から受信したカードIDに関連付いたユーザIDを特定できるかを確認する。
カードIDに関連付いたユーザIDを特定できた場合に、認証装置13はユーザ認証が成功したと判断する。ステップS34において、認証装置13は、認証成功の認証結果と共に、特定したユーザIDを画像形成装置12に送信する。
次に、ユーザは例えば画像形成装置12の表示画面からサービス提供システム2へのログインを選択することでサービス提供システム2へのログインを要求できる。ステップS35において、ユーザは画像形成装置12からサービス提供システム2へのログインを要求する。
ユーザからサービス提供システム2へのログインを要求されると、画像形成装置12は特定したユーザIDと、自身の記憶領域に保持しているテナントID及び装置IDをログイン情報としてサービス提供システム2に送信し、ログイン要求を行う。サービス提供システム2のアクセス制御部72は社内連携認証部79に社内連携認証を要求する。
ステップS36において、社内連携認証部79は管理情報記憶部91が記憶する装置情報に、画像形成装置12から受信したログイン情報に含まれるテナントID及び装置IDの組合せが存在するかを確認する。
テナントID及び装置IDの組み合わせが存在すれば、社内連携認証部79は装置認証が成功したと判断する。テナントID及び装置IDの組み合わせが存在しなければ、社内連携認証部79は装置認証が失敗したと判断する。
さらに、社内連携認証部79は管理情報記憶部91が記憶するユーザ情報に、画像形成装置12から受信したログイン情報に含まれるテナントID及び社内認証用のユーザIDの組合せが存在するかを確認する。社内連携認証部79は管理情報記憶部91が記憶するユーザ情報に、画像形成装置12から受信したログイン情報に含まれるテナントID及び社内認証用のユーザIDの組合せが存在すれば、ユーザ認証が成功したと判断する。
画像形成装置12から受信したログイン情報に含まれるテナントID及び社内認証用のユーザIDの組合せが存在しなければ、社内連携認証部79はユーザ認証が失敗したと判断する。
装置認証及びユーザ認証が成功した場合に、アクセス制御部72は、画像形成装置12からサービス提供システム2へのログイン(サービスを利用するためのログイン)を許可する。ステップS37において、アクセス制御部72は社内連携認証部79による装置認証及びユーザ認証の結果に基づいたログイン応答を端末装置11に送信する。
なお、社内連携認証部79によって、装置認証が成功し、ユーザ認証が成功しなかった場合に、サービス提供システム2はログイン用のユーザID及びパスワードをユーザに入力させる入力画面を、画像形成装置12に表示させてもよい。
この場合、ユーザは入力画面にログイン用のユーザID及びパスワードを入力し、再度ログインを要求できる。画像形成装置12はユーザにより入力されたログイン用のユーザID及びパスワードと、自身の記憶領域に保持しているテナントIDをサービス提供システム2のユーザ装置認証部78に送信し、ログイン要求を行う。
ユーザ装置認証部78は、管理情報記憶部91が記憶するユーザ情報に、画像形成装置12から受信したテナントID、ログイン用のユーザID及びパスワードの組合せが存在するかを確認する。
ユーザ装置認証部78は管理情報記憶部91が記憶するユーザ情報に、画像形成装置12から受信したテナントID、ログイン用のユーザID及びパスワードの組合せが存在すれば、ユーザ認証が成功したと判断する。アクセス制御部72はサービス提供システム2へのログインを許可する。
さらに、設定登録部74は、画像形成装置12から受信したテナントID、ログイン用のユーザID及びパスワードに関連付けて、画像形成装置12から受信した社内認証用のユーザIDを、管理情報記憶部91が記憶するユーザ情報に登録する。このように、テナントID、ログイン用のユーザID及びパスワードに関連付けて、画像形成装置12から受信した社内認証用のユーザIDをユーザ情報に登録することで、ユーザは次回から社内認証用のユーザIDを利用したログインが可能となる。
《サービス提供システムが備えるデータ処理機能》
サービス提供システム2において、プラットフォーム52のデータ処理制御部81、処理キュー82、データ処理要求部83及びデータ処理部84は、サービスアプリ51の処理要求部101から要求される種々のデータ処理を以下のように実行する。
図12はサービス提供システムが備えるデータ処理機能の一例について説明する為の図である。サービスアプリ51の処理要求部101は処理の対象となるデータを管理データ記憶部53のデータ記憶部93に記録する。処理の対象となるデータはアプリケーションデータや画像データ等の処理対象データである。
また、処理要求部101はプラットフォーム52のデータ処理制御部81にデータ処理要求(以下、リクエストと言う)を送信する。送信するリクエストには、データ処理の処理内容と、処理対象データの記録先の情報(例えばURI等)が含まれている。
データ処理制御部81は受け取ったリクエストを解析し、データ処理の処理内容に応じた処理キュー(メッセージキュー)82にメッセージを登録する。なお、処理キュー82はデータ処理の処理内容ごとに設けられている。
また、データ処理制御部81は、管理データ記憶部53のデータ処理情報記憶部92にリクエストの情報を登録する。リクエストの情報は処理対象データの記録先、データ処理の処理内容、リクエストの状態等である。
リクエストの状態としては「受付」「実行中」「完了」等がある。なお、リクエストの状態はデータ処理の処理状況を示すステータスを表す。リクエストの状態はデータ処理制御部81がリクエストの情報を登録した段階で「受付」の状態となっている。
各データ処理要求部83は、それぞれに割り当てられた1以上の処理キュー82を監視している。つまり、各データ処理要求部83は1以上のデータ処理の処理内容のリクエストを監視している。各データ処理要求部83は監視している処理キュー82に登録されたメッセージを取得する。
例えば図12では「第1データ処理要求部」83がデータの処理内容が異なる「第1処理キュー」82及び「第2処理キュー」82を監視している。また「第2データ処理要求部」83はデータの処理内容が異なる「第1処理キュー」82から「第3処理キュー」82までを監視している。図12では「第1データ処理要求部」83及び「第2データ処理要求部」83が「第1処理キュー」82及び「第2処理キュー」82を重複して監視する例を表している。
なお、各データ処理要求部83が監視する処理キュー82の割り当ては適宜設定、変更できるものとする。例えば各データ処理要求部83が監視する処理キュー82の割り当てはデータ処理の処理内容ごとのリクエスト頻度や処理時間などに応じて適宜設定、変更することが考えられる。
データ処理要求部83は、監視している処理キュー82から取得したメッセージに基づいてデータ処理情報記憶部92からリクエストの情報を取得する。データ処理要求部83は取得したリクエストの情報に含まれる処理対象データの記録先、データ処理の処理内容に基づき、リクエストのデータ処理をデータ処理部84に実行させる。
次に、データ処理要求部83はデータ処理部84が実行したデータ処理の実行結果からリクエストの情報を更新し、更新したリクエストの情報をデータ処理情報記憶部92に登録する。リクエストの情報の更新は、リクエストから実行したデータ処理の処理内容を削除する処理、リクエストの状態に変更があれば変更する処理、等である。また、データ処理要求部83はリクエストの情報に、次に行うデータ処理の処理内容があれば、データ処理の処理内容に対応する処理キュー82に、メッセージを登録する。
なお、データ処理要求部83はリクエストのデータ処理をデータ処理部84に実行させたことによりデータ処理前後の処理対象データが異なるデータとなる場合、処理後の処理対象データをデータ記憶部93に記録する。また、データ処理要求部83は処理後の処理対象データの記録先の情報に応じて、リクエストの情報を更新する。
図13は、サービス提供システムが備えるデータ処理機能の処理手順を表した一例のフローチャートである。ステップS41において、サービスアプリ51の処理要求部101は処理対象データを管理データ記憶部53のデータ記憶部93に記録する。また、処理要求部101はプラットフォーム52のデータ処理制御部81にリクエスト(データ処理要求)を送信する。
ステップS42において、データ処理制御部81はリクエストを解析し、データ処理の処理内容に応じた処理キュー82にメッセージを登録する。また、データ処理制御部81は管理データ記憶部53のデータ処理情報記憶部92にリクエストの情報を登録する。
ステップS43において、各データ処理要求部83は、監視している処理キュー82に登録されたメッセージを処理キュー82から取得する。ステップS44において、データ処理要求部83は、取得したメッセージに基づいてデータ処理情報記憶部92からリクエストの情報を取得する。そして、データ処理要求部83は取得したリクエストの情報に基づき、リクエストのデータ処理をデータ処理部84に実行させる。
ステップS45において、データ処理要求部83はデータ処理部84が実行したデータ処理の実行結果からリクエストの情報を更新し、更新したリクエストの情報をデータ処理情報記憶部92に登録したあと図13のフローチャートの処理を終了する。
なお、データ処理要求部83はリクエストの情報に、次に行うデータ処理の処理内容があれば、データ処理の処理内容に対応する処理キュー82に、メッセージを登録したあと図13のフローチャートの処理を終了する。
以下では、データ処理の処理内容の具体例をいくつか挙げるが、データ処理の処理内容を具体例に限定するものではない。データ処理の処理内容の具体例としては、第1に、処理対象データのデータ形式を変換するデータ処理がある。
例えば画像データをPDF(Portable Document Format)データに変換するデータ処理は処理対象データのデータ形式を変換するデータ処理の一例である。画像データをPDFデータに変換するデータ処理は、データ処理の処理内容を「image2pdf」等と表す。
また、PDFデータをPDL(Page Description Language)データに変換するデータ処理も処理対象データのデータ形式を変換するデータ処理の一例である。PDFデータをPDLデータに変換するデータ処理は、データ処理の処理内容を「pdf2pdl」等と表す。
さらに、Microsoft(登録商標)のOffice(登録商標)文書データをPDLデータに変換するデータ処理も処理対象データのデータ形式を変換するデータ処理の一例である。Office文書データをPDLデータに変換するデータ処理は、データ処理の処理内容を「office2pdl」等と表す。
データ処理の処理内容の具体例としては、第2に、一つのデータ処理の処理内容を複数のデータ処理の処理内容に分け、分けたデータ処理の処理内容に応じた各データ処理部84のリクエストに変換するデータ処理がある。
例えば画像データをPDLデータに変換するデータ処理は、画像データをPDFデータに変換するデータ処理とPDFデータをPDLデータに変換するデータ処理に分けても実現可能である。なお、画像データをPDLデータに変換するデータ処理は、データ処理の処理内容を「image2pdl」等と表す。
例えばデータ処理部84は「image2pdl」のデータ処理のリクエストを「image2pdf」と「pdf2pdl」のデータ処理のリクエストに分けるデータ処理を実行する。このように、データ処理部84には一つのデータ処理のリクエストを、複数のデータ処理のリクエストに分けるデータ処理を行うものが含まれる。
このように、例えば「image2pdl」のデータ処理を実行できるデータ処理部84が無い場合であっても「image2pdf」と「pdf2pdl」のデータ処理を連携させることで、所望の「image2pdl」のデータ処理が実行できる。
図14は一つのデータ処理の処理内容を複数のデータ処理の処理内容に分けるデータ処理について説明するための図である。図14は「image2pdl」のデータ処理を実行できるデータ処理部84が無い場合を表している。
このような場合でも、図14は「image2pdf」と「pdf2pdl」のデータ処理を連携させることで、所望の「image2pdl」のデータ処理が実行できることを表している。
本実施形態のサービス提供システム2は一つのデータ処理の処理内容を複数のデータ処理の処理内容に分けるデータ処理が可能であるため、データ処理の処理内容の種類の増加に柔軟に対応できる。
また、データ処理の処理内容の具体例としては、第3に、外部ストレージと連携するためのデータ処理がある。例えばログインしたユーザに対応するオンラインストレージ用のアカウント及びパスワードを用いてオンラインストレージ32にログインするよう外部連携認証部80に要求するデータ処理は、外部ストレージと連携するためのデータ処理の一例である。
ログインしたオンラインストレージ32にデータを保存するデータ処理、ログインしたオンラインストレージ32からデータを取得するデータ処理も、外部ストレージと連携するためのデータ処理の一例である。
《オンラインストレージとの連携》
図15はオンラインストレージに対する認可設定の一例のフローチャートである。管理者などのユーザは端末装置11の入力装置501を操作し、ポータルサイトのトップ画面からテナントID、ユーザID及びパスワードを入力した後、ログインを要求する。ログインの要求を受け付けたポータルサービスアプリ61はログインを許可したあとで端末装置11の表示装置502に外部サービスの登録画面を表示させる。
ステップS51において、ユーザは外部サービスの登録画面において、管理情報記憶部91の外部サービス情報に記憶されている外部サービスの一覧から、利用したいオンラインストレージ(外部サービス)32を選択し、登録を要求する。
登録の要求を受信したポータルサービスアプリ61はユーザにより選択されたオンラインストレージ32の登録を設定登録部74に要求する。設定登録部74は管理情報記憶部91のテナント情報に、ログインしたユーザのテナントIDと関連付けて、ユーザにより選択されたオンラインストレージ32を登録する。
ステップS52において、ユーザはポータルサイトの認可設定画面において、認可設定を適用させたいユーザのユーザID、認可設定を行う外部サービスID(あるいは外部サービスのサービス名)及びユーザに設定するスコープを選択して、認可設定の登録を要求する。ポータルサービスアプリ61は認可設定の要求を受信する。
ステップS53において、認可設定の要求を受信したポータルサービスアプリ61は認可設定処理部75に認可設定を要求する。認可設定処理部75は管理情報記憶部91の外部サービス情報から認可設定に必要なパラメータを取得する。なお、認可設定に必要なパラメータには、外部サービスID、スコープの他、選択された外部サービスIDに関連付けられているクライアントID、リダイレクト先URL、セッションを維持する為の任意のセッションキー等が含まれる。
ステップS54において、認可設定に必要なパラメータを取得した認可設定処理部75は管理情報記憶部91の外部サービス情報から、選択された外部サービスIDに関連付けられている認可先URLを取得する。認可設定処理部75は認可設定に必要なパラメータを含めたリクエスト(認可設定に必要なパラメータをGETリクエストのクエリとしたリクエスト)を端末装置11から認可先URLにリダイレクトさせる。
リクエストを端末装置11から認可先URLにリダイレクトさせることで、端末装置11とオンラインストレージ32との間で認可設定が行われる。なお、認可設定後、オンラインストレージ32から認可設定処理部75にリダイレクトされることから、HTTPレベルでのセッションは途切れることになる。そこで、同一のセッションを維持するためにセッションキーが利用される。
リダイレクトされたオンラインストレージ32は、端末装置11の表示装置502にログイン画面を表示させる。ユーザは、端末装置11の入力装置501を操作して、ログイン画面からアカウント及びパスワードを入力したあと、ログインを要求する。ログインの要求を受け付けたオンラインストレージ32はログインの要求を受け付ける。
ログインが成功すると、オンラインストレージ32は端末装置11の表示装置502に認可画面を表示させる。ユーザは認可画面を確認する。認可を行う場合、ユーザは端末装置11の入力装置501を操作して、例えば認可画面に表示されている認可ボタンを押下することで、認可を要求する。認可の要求を受け付けたオンラインストレージ32は認可の登録を行う。
ステップS55において、オンラインストレージ32は認可が認められたことを示す認可コードと、セッションキーとを、端末装置11からリダイレクト先URLにリダイレクトさせる。ステップS56において、サービス提供システム2の認可設定処理部75は認可コードを受信する。なお、オンラインストレージ32へのリダイレクト時にユーザが既にログイン済みであれば、ログイン画面の表示は省略される。
ステップS56において、認可コードを受信した認可設定処理部75は、管理情報記憶部91の外部サービス情報から認可トークンの取得に必要なパラメータを取得する。認可トークンの取得に必要なパラメータは、受信した認可コードの他、認可コードを送信したオンラインストレージ32の外部サービスIDに関連付けられたクライアントID、クライアントシークレット等がある。
ステップS57において、認可設定処理部75は、取得したクライアントID及びクライアントシークレットと、受信した認可コードと、をオンラインストレージ32に送信して認可トークンの取得を要求する。オンラインストレージ32は受信した認可コードを検証し、認可トークンをサービス提供システム2の認可設定処理部75に送信する。
ステップS58において、認可トークンを受信した認可設定処理部75は、設定登録部74に認可トークンの登録を要求する。設定登録部74は管理情報記憶部91のユーザ情報に、認可設定画面において選択された認可設定を適用させたいユーザと、受信した認可トークンと、スコープとを関連付けて登録する。認可トークンの登録が完了すると、認可設定処理部75は、ポータルサービスアプリ61に登録完了を通知する。ポータルサービスアプリ61は、端末装置11の表示装置502に認可設定の設定結果を示す画面を表示させる。
なお、オンラインストレージ32は、認可トークンをサービス提供システム2に送信するときに、認可トークンの有効期限、及び、有効期限が切れた場合に認可トークンを再発行するためのリフレッシュトークンを併せて送信しても良い。
図16はオンラインストレージとの連携処理の一例のフローチャートである。ステップS61において、サービス提供システム2にログインしているユーザは、端末装置11や画像形成装置12などからオンラインストレージ32と連携する処理を要求する。
オンラインストレージ32と連携する処理を要求されると、サービス提供システム2の外部連携認証部80はステップS62において、オンラインストレージ32へのログイン処理を行う。
外部連携認証部80は、例えばデータ処理部84からオンラインストレージ32へのログイン要求を受信する。外部連携認証部80は、サービス提供システム2にログインしているユーザ及びログイン処理を行うオンラインストレージ32に関連付いたログイン処理に要する情報を、管理情報記憶部91のユーザ情報から取得する。具体的に、外部連携認証部80は、サービス提供システム2にログインしているユーザのテナントID、ログイン用のユーザID及びパスワードに関連付けられたオンラインストレージ32のログイン処理に要する情報を取得する。
例えば図6のユーザ情報であれば「オンラインストレージA」へのログイン要求を受信したとき、外部連携認証部80は「オンラインストレージA」へのログイン処理に要する情報としてのアカウント及びパスワードを取得する。
また、図6のユーザ情報であれば「オンラインストレージB」へのログイン要求を受信したとき、外部連携認証部80は「オンラインストレージB」へのログイン処理に要する情報としてのアカウント及び認可トークンを取得する。
連携するオンラインストレージ32が「オンラインストレージA」のように認可設定がされておらず、ログイン処理を行う外部サービスであれば、外部連携認証部80はアカウント及びパスワードを利用して「オンラインストレージA」にログインを要求する。アカウント及びパスワードは外部サービスに対する認証情報の一例である。ログインを要求された「オンラインストレージA」は受信したアカウント及びパスワードに対する認証を実行する。認証が成功すれば「オンラインストレージA」はログインを許可する旨の応答を外部連携認証部80に送信する。認証が失敗すれば「オンラインストレージA」はログインを許可しない旨の応答を外部連携認証部80に送信する。
外部連携認証部80が「オンラインストレージA」からログインを許可する旨の応答を受信することで、サービス提供システム2は「オンラインストレージA」へのデータのアップロード(保存)や「オンラインストレージA」からのデータのダウンロード(取得)ができる。
このように、外部連携認証部80がオンラインストレージ32からログインを許可する旨の応答を受信することで、サービス提供システム2はステップS63において、オンラインストレージ32と連携する処理を実行できる。
連携するオンラインストレージ32が「オンラインストレージB」のように認可設定がされている外部サービスであれば、外部連携認証部80はアカウント及び認可トークンを利用して「オンラインストレージB」にログインを要求する。アカウント及び認可トークンは外部サービスに対する認可情報の一例である。ログインを要求された「オンラインストレージB」は受信したアカウント及び認可トークンの正当性を確認する。正当性が確認できれば「オンラインストレージB」はログインを許可する旨の応答を外部連携認証部80に送信する。認証が失敗すれば「オンラインストレージB」はログインを許可しない旨の応答を外部連携認証部80に送信する。
外部連携認証部80が「オンラインストレージB」からログインを許可する旨の応答を受信することで、サービス提供システム2はステップS63において、スコープにより設定された利用範囲で、オンラインストレージ32と連携する処理を実現できる。
《印刷データのプレビュー画像の作成及び表示》
本実施形態に係る情報処理システム1において、印刷データのプレビュー画像を作成して画像形成装置12に表示させる処理は例えば図17に示すように行われる。図17は印刷データのプレビュー画像を作成及び表示する処理の一例のフローチャートである。
まず、サービス提供システム2が提供しているプリントサービスを利用したいユーザは端末装置11がサービス提供システム2のポータルサイトにアクセスするように、端末装置11の入力装置501を操作する。端末装置11はユーザの操作に基づき、サービス提供システム2のポータルサイトにアクセスする。
サービス提供システム2のアクセス制御部72はポータルサイトへのアクセスであることから、端末装置11からのアクセスを許可し、ポータルサービスアプリ61にアクセスさせる。
ポータルサービスアプリ61は、端末装置11の表示装置502にトップ画面を表示させる。ユーザは端末装置11の入力装置501を操作し、トップ画面から、ログインを要求する。ポータルサービスアプリ61にログインしたユーザは、プリントサービスアプリ62へのアクセスが可能となる。ユーザはサービス提供システム2のプリントサービスアプリ62にアクセスするように、端末装置11の入力装置501を操作する。端末装置11はユーザの操作に基づき、サービス提供システム2のプリントサービスアプリ62にアクセスする。
ステップS71において、プリントサービスアプリ62は、端末装置11の表示装置502にアップロード画面を表示させる。ユーザは端末装置11の入力装置501を操作することで、印刷したいデータをアップロード画面からサービス提供システム2のプリントサービスアプリ62へアップロードする。プリントサービスアプリ62は端末装置11からアップロードされたデータ(アップロードデータ)をログインしたユーザと関連付けてデータ記憶部93に記憶させる。
ステップS72において、プリントサービスアプリ62はアップロードデータから印刷データと、印刷データのプレビュー画像とを作成する。なお、ステップS72の詳細は後述する。
アップロードデータを印刷したいユーザは画像形成装置12がサービス提供システム2にアクセスするように、画像形成装置12の操作パネルを操作する。画像形成装置12はユーザの操作に基づき、サービス提供システム2にアクセスする。
サービス提供システム2のアクセス制御部72は画像形成装置12をポータルサービスアプリ61にアクセスさせる。ポータルサービスアプリ61は、画像形成装置12の操作パネルに例えばログイン画面を表示させる。
ステップS73において、ユーザは画像形成装置12の操作パネルを操作し、ログイン画面からログインを要求する。ポータルサービスアプリ61にログインしたユーザはプリントサービスアプリ62へのアクセスが可能となる。ユーザはサービス提供システム2のプリントサービスアプリ62にアクセスするように、画像形成装置12の操作パネルを操作する。画像形成装置12はユーザの操作に基づき、サービス提供システム2のプリントサービスアプリ62にアクセスする。
ステップS74において、プリントサービスアプリ62は画像形成装置12の操作パネルに例えばアップロードデータ一覧画面を表示させる。ここではアップロードデータ一覧画面にプレビュー画像の表示ボタンが含まれているものとする。ユーザは、アップロードデータ一覧画面のプレビュー画像の表示ボタンを押下することにより、プレビュー画像の表示を画像形成装置12に要求できる。
プレビュー画像の表示ボタンが押下されると、画像形成装置12はプリントサービスアプリ62にプレビュー画像の取得要求を行う。ステップS75において、プリントサービスアプリ62は取得要求のあったプレビュー画像をデータ記憶部93から取得し、画像形成装置12にダウンロードする。
ステップS76において、画像形成装置12はダウンロードされたプレビュー画像を操作パネルに表示する。このように、図17のフローチャートによれば、印刷データのプレビュー画像をサービス提供システム2で作成し、画像形成装置12にダウンロードして表示させることができる。
なお、図17のフローチャートは印刷データのプレビュー画像をデータのアップロード後に非同期で作成する処理を一例として示している。アップロードデータから印刷データのプレビュー画像を作成する処理は、ユーザによるプレビュー画像の表示ボタンが押下されたタイミングで行ってもよい。
また、図17のフローチャートでは、ユーザによるプレビュー画像の表示ボタンが押下された後でプレビュー画像が表示されているが、例えばサイズの小さいプレビュー画像を予め作成しておき、アップロードデータ一覧画面にサムネイルとして表示してもよい。
また、ステップS72において、アップロードデータから印刷データと、印刷データのプレビュー画像とを作成する場合、プリントサービスアプリ62はデータ処理部84に印刷データのプレビュー画像の作成をデータ処理として実行させることができる。この場合はデータ処理部84が実行可能な処理内容の一つとして印刷データのプレビュー画像を作成する処理が含まれる。
さらに、サイズの小さいプレビュー画像を予め作成しておき、アップロードデータ一覧画面にサムネイルとして表示する場合も、プリントサービスアプリ62はデータ処理部84に印刷データのプレビュー画像の作成をデータ処理として実行させることができる。この場合はデータ処理部84が実行可能な処理内容の一つとして印刷データからサイズの小さいプレビュー画像を作成する処理が含まれる。
なお、ユーザによるプレビュー画像の表示ボタンが押下されたタイミングで印刷データのプレビュー画像を作成する場合は、プレビュー画像を短時間で作成して画像形成装置12に送信する必要がある。そこで、ユーザによるプレビュー画像の表示ボタンが押下されたタイミングで印刷データのプレビュー画像を作成する場合は、プリントサービスアプリ62が印刷データのプレビュー画像の作成を行うようにする。
前述のような印刷データのプレビュー画像の作成を実現するため、プリントサービスアプリ62は例えば図18に示すような処理ブロックにより構成される。図18はプリントサービスアプリの一例の処理ブロック図である。
プリントサービスアプリ62は、データアップロード受付部121、印刷データ作成要求部122、プレビュー画像作成要求部123、プレビュー画像作成処理部124、印刷データダウンロード受付部125、プレビュー画像ダウンロード受付部126、を有する構成である。
データアップロード受付部121は、端末装置11の表示装置502にアップロード画面を表示させ、端末装置11からのデータアップロードを受け付ける。印刷データ作成要求部122はデータ処理部84に印刷データの作成をデータ処理として実行させる為の処理要求をデータ処理制御部81に対して行う。プレビュー画像作成要求部123はデータ処理部84に印刷データのプレビュー画像の作成をデータ処理として実行させる為の処理要求をデータ処理制御部81に対して行う。
プレビュー画像作成処理部124は、例えばユーザによるプレビュー画像の表示ボタンが押下されたタイミングで印刷データのプレビュー画像を作成する場合に、印刷データのプレビュー画像の作成を行う。印刷データダウンロード受付部125は画像形成装置12の操作パネルに例えばアップロードデータ一覧画面を表示させ、画像形成装置12から印刷データのダウンロード要求を受け付ける。そして、印刷データダウンロード受付部125はダウンロード要求のあった印刷データを画像形成装置12にダウンロードする。
プレビュー画像ダウンロード受付部126は、アップロードデータ一覧画面のプレビュー画像の表示ボタンが押下されることにより、プレビュー画像の取得要求を画像形成装置12から受け付ける。そして、プレビュー画像ダウンロード受付部126は取得要求のあったプレビュー画像を画像形成装置12にダウンロードする。
<まとめ>
本実施形態に係る情報処理システム1によれば、提供するサービス、サービスを利用するユーザ、サービスを利用する装置を適切に管理した上で、印刷データのプレビュー画像を作成・表示することができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載したサービス利用装置は、端末装置11、画像形成装置12などに対応する。
認証情報受信手段はポータルサービスアプリ61などに対応する。認証手段はユーザ認証部77、ユーザ装置認証部78などに対応する。サービス特定手段はポータルサービスアプリ61などに対応する。実行手段はプリントサービスアプリ62、データ処理制御部81、処理キュー82、データ処理要求部83、データ処理部84などに対応する。