以下、本発明の実施の形態(以下、「実施形態」という。)について、図面を用いて説明する。
[システム構成]
図1は、本発明の実施形態における情報処理システムのシステム構成の一例を示す図である。図1に示す情報処理システム1は、例えばオフィス内ネットワーク等のネットワークN1と、クラウドサービスに代表されるサービス提供システムのネットワークN2と、インターネット等のネットワークN3とを有する。
ネットワークN1は、ファイヤウォールFWの内側にあるプライベートなネットワークである。ファイヤウォールFWはネットワークN1とネットワークN3との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークN1にはクライアント端末20、及び複合機等の画像形成装置30a、30b(それぞれを区別しない場合「画像形成装置30」という。)が接続されている。なお、ネットワークN1に含まれるクライアント端末20及び画像形成装置30は、図1に示した台数に限らず、任意の台数であってもよい。また、ネットワークN3と接続するネットワークN1(オフィス)の数は、図1に示すような一つのネットワークに限らず、複数存在してもよい。
クライアント端末20は、一般的なOS(Operating System)等が搭載されたコンピュータである。クライアント端末20は、有線又は無線による通信機能を有する。クライアント端末20は、PC(Personal Computer)、タブレット又はスマートフォン等のようなユーザが操作可能な機器の一例である。
画像形成装置30は、複合機等の画像形成機能を有し、電子データを出力する機器の一例である。画像形成装置30は、有線又は無線による通信機能を有する。画像形成装置30は、複合機、コピー機、スキャナ、プリンタ、レーザプリンタ等の画像形成装置に限らず、プロジェクタ、電子黒板等のような画像処理を行う画像処理装置であってもよい。
ネットワークN2は、アクセス制御装置11によってネットワークN3に接続されている。ネットワークN2は、アクセス制御装置11によってセキュリティが保護されている。ネットワークN2にはポータルサービス提供装置12、プリントサービス提供装置13及びスキャンサービス提供装置14が接続されている。
サービス提供システム10(データ処理システム)は、アクセス制御装置11、ポータルサービス提供装置12、プリントサービス提供装置13及びスキャンサービス提供装置14を有する。ポータルサービス提供装置12、プリントサービス提供装置13、スキャンサービス提供装置14は、それぞれアプリケーションを利用するためのライセンスの購入、管理を実現するポータルサービス、プリントサービス、スキャンサービスを提供する。なお、プリントサービス及びスキャンサービスは、各種情報処理サービスの一例であって、プリントサービス及びスキャンサービスに限らず、他のサービスが提供されてもよい。その場合、他のサービスを提供する他サービス提供装置がサービス提供システム10に含まれる。
アクセス制御装置11は、ポータルサービス提供装置12が提供するポータルサービスやプリントサービス提供装置13が提供するプリントサービス、スキャンサービス提供装置14が提供するスキャンサービス等へのログインを制御する。
アクセス制御装置11、ポータルサービス提供装置12、プリントサービス提供装置13及びスキャンサービス提供装置14は、一台以上の情報処理装置によって実現される。なお、アクセス制御装置11、ポータルサービス提供装置12、プリントサービス提供装置13及びスキャンサービス提供装置14は、一台の情報処理装置に統合して実現してもよいし、複数の情報処理装置に分散して実現してもよい。
なお、ネットワークN2側のサービスの一部はネットワークN2以外にあってもよい。
メールサーバ40は、電子メールを蓄積し、蓄積したメールを外部装置からの要求に応じて送信する機能を備えるデータ蓄積装置である。メールサーバ40は、ネットワークN3に接続されている。
本発明の実施形態におけるサービス提供システム10は、ユーザがライセンスを購入したサービスが複数ある場合、各サービスを連携させたサービスを提供する。例えば、本発明の実施形態のサービス提供システム10によれば、スキャンサービス及びプリントサービスを利用可能な場合、スキャンサービスにより読取処理が施された電子データであるスキャン画像を、プリントサービスにより印刷することが可能となる。なお、各サービスは、対応するアプリケーションにより実現され、異なるアプリケーションが連携して行う処理を連携処理という。以下、本発明の実施形態の連携処理により、電子データの一例であるスキャン画像を印刷する例について説明する。
図1に示したサービス提供システム10の構成は一例であって、図2に示すような構成によっても実現できる。図2は、本発明の実施形態におけるサービス提供システム10の他の構成例を示す図である。図2に示すサービス提供システム10は、ネットワークN2がファイヤウォールFWによってネットワークN3に接続されている。
ネットワークN2にはSaaS系のサービス提供装置、NSP(Network Service Platform)系のサービス提供装置、ストレージ(Storage)系の記憶装置が接続されている。なお、NSP系のサービス提供装置はSaaS系のサービス提供装置が共通で使えるサービスを提供する。
SaaS系のサービス提供装置は、例えばポータルサービス提供装置12、プリントサービス提供装置13、スキャンサービス提供装置14等、提供するサービスに応じたサービス提供装置が含まれる。また、NSP系のサービス提供装置は、例えば認証サービス提供装置15a、データ処理サービス提供装置15b、一時データ保存サービス提供装置15c等、提供する共通サービスに応じたサービス提供装置が含まれる。ストレージ系の記憶装置は、例えば認証情報記憶装置16a、ジョブ情報記憶装置16b、一時データ記憶装置16c等、記憶する情報(データ)に応じた記憶装置が含まれる。
図2のサービス提供システム10では、例えばファイヤウォールFW、認証サービス提供装置15aが提供する認証サービスによってセキュリティが保護されている。なお、図2のサービス提供システム10の構成も一例であって、他の構成であってもよい。
[ハードウェア構成]
<コンピュータシステム>
図1に示したアクセス制御装置11、ポータルサービス提供装置12、プリントサービス提供装置13、スキャンサービス提供装置14及びクライアント端末20は、例えば図3に示すようなハードウェア構成のコンピュータシステムにより実現される。
図2のSaaS系のサービス提供装置、NSP系のサービス提供装置及びストレージ系の記憶装置も、例えば図3に示すようなハードウェア構成のコンピュータシステムにより実現される。
図3は、本発明の実施形態におけるコンピュータシステムのハードウェア構成の一例を示す図である。図3のコンピュータシステム1000は、入力装置1001、表示装置1002、外部I/F1003、RAM(Random Access Memory)1004、ROM(Read Only Memory)1005、CPU(Central Processing Unit)1006、通信I/F1007及びHDD(Hard Disk Drive)1008等を備え、それぞれがバスBで相互に接続されている。
入力装置1001はキーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置1002はディスプレイ等を含み、コンピュータシステム1000による処理結果を表示する。
通信I/F1007はコンピュータシステム1000をネットワークN1〜N3に接続するインタフェースである。これにより、コンピュータシステム1000は通信I/F1007を介してデータ通信を行うことができる。
HDD1008はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム1000全体を制御する基本ソフトウェアであるOSや、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
HDD1008は格納しているプログラムやデータを所定のファイルシステム、DB(データベース)等により管理している。外部I/F1003は、外部装置とのインタフェースである。外部装置には、記録媒体1003a等がある。これにより、コンピュータシステム1000は外部I/F1003を介して記録媒体1003aの読み取り及び/又は書き込みを行うことができる。記録媒体1003aにはフレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)等がある。
ROM1005は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM1005には、コンピュータシステム1000の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータが格納されている。RAM1004は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。
CPU1006は、ROM1005やHDD1008等の記憶装置からプログラムやデータをRAM1004上に読み出し、処理を実行することで、コンピュータシステム1000全体の制御や機能を実現する演算装置である。
アクセス制御装置11、ポータルサービス提供装置12、プリントサービス提供装置13、スキャンサービス提供装置14及びクライアント端末20は、コンピュータシステム1000のハードウェア構成により、後述するような各種処理を実現できる。また、図2のSaaS系のサービス提供装置、NSP系のサービス提供装置、ストレージ系の記憶装置も、コンピュータシステム1000のハードウェア構成により、後述するような各種処理を実現できる。
<画像形成装置>
図4は、本発明の実施形態における画像形成装置のハードウェア構成の一例を示す図である。図4に示した画像形成装置30は、コントローラ31、操作パネル32、外部I/F33、通信I/F34、プリンタ35及びスキャナ36等を備える。
コントローラ31は、CPU311、RAM312、ROM313、NVRAM314及びHDD315等を備える。ROM313は、各種プログラムやデータが格納されている。RAM312はプログラムやデータを一時保持する。NVRAM314は、例えば設定情報等が格納されている。また、HDD315は各種プログラムやデータが格納されている。
CPU311は、ROM313やNVRAM314、HDD315等からプログラムやデータ、設定情報等をRAM312上に読み出し、処理を実行することで、画像形成装置30全体の制御や機能を実現する。
操作パネル32は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部I/F33は外部装置とのインタフェースである。外部装置には、記録媒体33aa等がある。これにより、画像形成装置30は外部I/F33を介して記録媒体33aaの読み取り及び/又は書き込みを行うことができる。記録媒体33aにはICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
通信I/F34は画像形成装置30をネットワークN1に接続するインタフェースである。これにより、画像形成装置30は通信I/F34を介してデータ通信を行うことができる。
プリンタ35は、印刷データを用紙に印刷するための印刷装置である。スキャナ36は原稿から画像データを読み取るための読取装置である。
本発明の実施形態における画像形成装置30は、上記ハードウェア構成により、後述するような各種処理を実現できる。
[機能構成]
<サービス提供システム>
図5は、本発明の実施形態におけるサービス提供システム10の機能構成の一例を示す図である。
図5のサービス提供システム10は、プログラムを実行することにより、サービスアプリ100、プラットフォーム120、管理データ記憶部130及びプラットフォームAPI(Application Programming Interface)110を実現している。
サービスアプリ100は、ポータルアプリ101、プリントサービスアプリ102及びスキャンサービスアプリ103等を有する。なお、サービスアプリ100には、その他のサービス提供するアプリ(その他サービスアプリ)が含まれていてもよい。ポータルアプリ101は、各アプリケーションを購入するためのポータルとしての機能を有するアプリケーションである。プリントサービスアプリ102は、プリントサービスを提供するアプリケーションである。スキャンサービスアプリ103はスキャンサービスを提供するアプリケーションである。
プラットフォームAPI110はポータルアプリ101、プリントサービスアプリ102及びスキャンサービスアプリ103等のサービスアプリ100が、プラットフォーム120を利用するためのインタフェースである。プラットフォームAPI110はサービスアプリ100からの要求をプラットフォーム120が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。なお、サービス提供システム10を複数の情報処理装置に分散して構成する場合、プラットフォームAPI110にはネットワーク経由で利用可能な例えばWeb APIを利用できる。
プラットフォーム120は、認証処理部121、機器通信部122、メール取得部123、データ構造変換部124及びデータ処理部125を有する。データ処理部125は、データ取得部1251、アップロード処理部1252、データ形式変換部1253及び画像データ配信部1254等を有する。
認証処理部121は、クライアント端末20及び画像形成装置30からのログイン要求に基づいて認証を実行する。認証処理部121は例えば後述するユーザ管理情報記憶部132にアクセスして、オンラインストレージ50のログイン情報を取得する。また、認証処理部121は、画像形成装置30のユーザを認証する。
機器通信部122は、クライアント端末20、画像形成装置30、メールサーバ40及びオンラインストレージ50との通信を実行する。
メール取得部123は、メールサーバ40のメールボックスを定期的なポーリングにより監視し、メールボックスに新着メールがあれば、メールサーバ40からその新着メールを取得する機能を備える。
データ構造変換部124は、画像形成装置30から送信されたスキャン画像の送信先等の情報に基づき、所定のデータ(メールデータ)の構造に変換する。データ構造変換部124による具体的なデータ変換処理の内容を図6及び図7に基づき説明する。図6は、本発明の実施形態におけるデータ変換処理の一例を説明するための図である。図7は、本発明の実施形態におけるデータ変換処理の他の例を説明するための図である。
図6(a)に示すように、画像形成装置30の操作パネル32上でユーザによりスキャン画像の送信先アドレス(送信先(to))が入力され、スキャン画像の元となる原稿のセット後、「スタート」ボタンが押下されると、FTP(File Transfer Protocol)により、スキャン画像がオンラインストレージ50又はデータストレージ136にアップロードされる。なお、アップロード時に、ユーザが指定した送信先アドレスの情報が画像形成装置30から機器通信部122を介してデータ構造変換部124に通知される。そして、図6(b)に示すように、データ構造変換部124は、図6(a)で送信先として設定されたアドレス(例えば「B@aaa.com」)を送信元アドレスとして設定する。また、図6(a)で送信先として設定されたアドレスを有するユーザが属する組織名を、ユーザ情報管理情報記憶部132に基づき特定する。また、特定した組織名に対応するアドレス情報を、組織管理情報記憶部131から特定し、送信先アドレスとして設定する。また、メールのタイトル(Subject)を、実行されるサービスを示す名称(例えば「scan&print(変換後)」として設定する。また、ユーザにより画像形成装置30からアップロードされたスキャン画像をメールの添付ファイルとして設定する。そして、データ構造変換部124は、変換処理を行ったメールの配信処理の実行を、画像データ配信部1254に要求する。
図7(a)は図6(a)に対応し、図7(b)は図6(b)に対応する。図6の例では、スキャン画像をFTPにより画像形成装置30からアップロードをした場合を示したが、図7では、画像形成装置30がSMTP(Simple Mail Transfer Protocol)によりスキャン画像をサービス提供システム10にメール送信する場合の例を示す。図7(a−2)は、サービス提供システム10が受信した電子メールのソースの一例である。なお、画像形成装置30が送信するメールのタイトル(Subject)に予め定めた名称(例えば「scan&print」)を設定する。これにより、スキャンサービスアプリ103は、タイトル(Subject)が所定の名称(例えば「scan&print」)であれば、データ構造変換部124にデータ変換処理を要求する。
データ処理部125はサービスアプリ100からの要求に基づいてデータ処理を実行する。
データ処理部125のデータ取得部1251は、ログイン情報を用いてオンラインストレージ50に認証を受け、指定されたURLが示すデータを取得する。なお、認証が必要ない場合は、ログイン情報なしでURLが示すデータを取得する。
アップロード処理部1252は、スキャン画像等のデータをオンラインストレージ500の共有者がアクセス可能な領域に保存(アップロード)する。
データ形式変換部1253は、データ取得部1251が取得したデータがそのままでは印刷(出力)できない形式だった場合、PDL(Page Description Language)形式(出力可能な形式)のデータに変換する。
管理データ記憶部130は、組織管理情報記憶部131、ユーザ管理情報記憶部132、機器管理情報記憶部133、ライセンス管理情報記憶部134、ストレージ情報記憶部135、データストレージ136を有する。
組織管理情報記憶部131は、後述の組織管理情報を記憶する。ユーザ管理情報記憶部132は、後述のユーザ管理情報を記憶する。機器管理情報記憶部133は、後述の機器管理情報を記憶する。ライセンス管理情報記憶部134は、後述のライセンス管理情報を記憶する。ストレージ情報記憶部135は、後述のストレージ情報を記憶する。データストレージ136はジョブIDが付されたデータをスプールする。
サービス提供システム10は、例えば認証やデータ形式変換といった機能を有するクラウド基盤と、クラウド基盤の機能を利用してプリントサービス等のサービス提供を行うサービス群として機能する。クラウド基盤は、例えばプラットフォーム120、管理データ記憶部130、プラットフォームAPI110によって構成される。サービス群は例えばサービスアプリ100によって構成される。
サービス提供システム10のクラウド基盤が有する認証の機能は、例えば認証処理部121と、認証用データベースにより構成される。認証用データベースは組織管理情報記憶部131、ユーザ管理情報記憶部132、機器管理情報記憶部133等により構成される。
サービス群は、サービス提供システム10のクラウド基盤が有する認証やデータ形式変換といった機能を利用し、サービスの提供を行う。また、サービス群はオンラインストレージ50からデータを取得する場合、クラウド基盤が有する認証の機能を介してオンラインストレージ50にアクセスするためのログイン情報を取得する。なお、オンラインストレージ50は外部サービスシステムの一例である。外部サービスシステムはサービス提供システム10以外のシステムであり、オンラインストレージサービスの他、スキャン文書の保管・管理サービス等が含まれてもよい。
また、図5のサービス提供システム10は複数のサービスアプリ100が共通に利用する組織管理情報、ユーザ管理情報、機器管理情報、ストレージ情報を有することで、認証機能を集約している。
《管理データ》
図8は、組織管理情報の一例の構成図である。図8に示すように、組織管理情報はデータ項目として組織コード、組織名、国、言語及びアドレス情報等を有する。組織名は組織の名称である。国は組織の属する国名を表している。言語は組織の使用言語を表している。アドレス情報は組織のメールアドレスを表している。
図9は、ユーザ管理情報の一例の構成図である。図9に示すように、ユーザ管理情報はデータ項目として組織コード、ユーザID、パスワード、アドレス情報及び一つ以上のログイン情報等を有する。ユーザID、パスワードはユーザを特定する情報である。したがって、ユーザIDはユーザID等であってもよい。また、パスワードは必須でない。また、同じ組織コードで管理されるユーザID、パスワードは一意であるが、組織コードが異なれば重複していてもよい。アドレス情報は、ユーザのメールアドレスを表している。一つ以上のログイン情報はオンラインストレージ50にアクセスするための認証情報である。さらに、ユーザIDはユーザが所持する電子媒体(例えばICカード)を識別する情報を用いてもよい。ユーザが所持する電子媒体としてはICカード、携帯電話、スマートフォン、タブレット、電子書籍端末等を利用できる。電子媒体を識別する情報としては、カードID、シリアルID、携帯電話の電話番号、端末のプロフィール情報等を利用できる。電子媒体を識別する情報は組み合わせて利用してもよい。
図10は、機器管理情報の一例の構成図である。図10に示すように、機器管理情報はデータ項目として組織コード、機器ID、事業所情報及びケーパビリティ等を有する。機器IDは、画像形成装置30を一意に識別するための識別情報である。事業所情報は例えば、画像形成装置30が設置されている事業所を表している。ケーパビリティは、例えば、画像形成装置30の能力を表している。
図11は、ライセンス管理情報の一例の構成図である。図11に示すように、ライセンス管理情報はデータ項目としてテナントID、組織コード、ユーザID、サービス名及びライセンスID等を有する。テナントIDは、サービス提供システム10を利用する契約の単位であるテナントを一意に識別するための識別情報である。SaaS(例えば、クラウド基盤を用いたサービス(クラウドサービス))では、一般に一つのシステム(サービス提供システム10)で複数のテナントを管理する。したがって、テナントIDは、サービス提供システム10において一意である。なお、図11の例では、テナントIDは、組織コードに対応付けられているが、例えばユーザ個人単位での契約の場合、ユーザIDに対応付けられる。サービス名は、サービス提供システム10(サービスアプリ100)により提供されるサービスの名称である。ライセンスIDは、サービス名に対応するサービスを利用するためのライセンス(使用権限)を識別するための識別情報である。本発明の実施形態において、ライセンスは、ユーザ単位(ユーザID)で発行される。但し、ライセンスは、ユーザ単位に限らず、例えば、サービスに関する処理を実行するための機器(画像形成装置30等)の単位で発行されてもよい。
図12は、ストレージ情報の一例の構成図である。図12のストレージ情報は、データ項目としてストレージ名、URLキーワード等を有する。ストレージ名はオンラインストレージ50の名称を表している。URLキーワードはオンラインストレージ50のURLを取得するためのキーワードを表している。URLキーワードはオンラインストレージ50のURLであってもよい。
《アプリケーション》
ポータルアプリ101は、例えば図13に示す機能構成により実現される。図13は、本発明の実施形態におけるポータルアプリ101の機能構成の一例を示す図である。ポータルアプリ101は、コンピュータシステム1000を、Web UI部1011、ライセンス情報管理部1012及びアプリコンポーネント群1013として機能させる。
Web UI部1011は、サービス提供システム10が提供するサービスのライセンスを購入、解約、管理等を行うためのWeb UI画面であるライセンス管理画面を生成し、クライアント端末20等が備えるWebブラウザに提供する。ユーザは、Web UI部1011により生成されるライセンス管理画面を介して、プリントサービスアプリ102やスキャンサービスアプリ103等が提供するサービスを使用するためのライセンスを購入したり、各組織におけるライセンスを管理したりできる。
ライセンス情報管理部1012は、ライセンス管理画面により入力された情報に基づき、図11に示すライセンス管理情報を管理、更新する。
アプリコンポーネント群1013は、プリントサービスアプリ102やスキャンサービスアプリ103に対応するコンポーネントであるプリントサービスアプリコンポーネント1014やスキャンサービスアプリコンポーネント1015を有する。プリントサービスアプリコンポーネント1014やスキャンサービスアプリコンポーネント1015に対応するサービスのライセンスをライセンス情報管理部1012が管理する。
次に、プリントサービスアプリ102の機能構成を説明する。プリントサービスアプリ102は、例えば図14に示す機能構成により実現される。図14は、本発明の実施形態におけるプリントサービスアプリ102の機能構成の一例を示す図である。プリントサービスアプリ102は、コンピュータシステム1000を、データ解析部1021、ジョブ管理部1022、処理要求部1023、ジョブ管理情報保持部1024として機能させる。
データ解析部1021は、メール取得部123が取得したメールを解析し、メールタイトルであるSubjectの情報及びメール送信元の情報であるFromに設定されているメールアドレスの情報を取得する機能を備える。
ジョブ管理部1022は、画像形成装置30又はクライアント端末20により投入されたジョブを後述のジョブ管理情報により管理する。
処理要求部1023は、データ処理部125にデータ処理の要求等を行う。
ジョブ管理情報保持部1024は、図15に示すようなジョブ管理情報を保持する。図15は、ジョブ管理情報の一例の構成図である。図15に示すように、ジョブ管理情報は、ジョブID、データ名、組織コード、ユーザ特定情報、書誌情報及び変換ステータスをデータ項目として有する。ジョブIDは各ジョブを識別するためのジョブ識別情報である。データ名は、ジョブに対応する処理対象の電子データ(画像データ)の名称である。組織コードは、企業、部署等の組織を一意に特定する情報である。ユーザIDは、組織単位(組織コード内)でユーザを一意に識別する情報である。なお、ユーザIDは、組織コード内でユーザを一意に識別可能であればユーザ名であってもよい。書誌情報はデータの印刷設定等の情報である。変換ステータスは、例えばデータ形式変換部1253におけるデータ形式変換の状態(処理中、完了等)を表す情報である。
次に、スキャンサービスアプリ103の機能構成を説明する。図16は、本発明の実施形態におけるスキャンサービスアプリ103の機能構成の一例を示す図である。
スキャンサービスアプリ103は、コンピュータシステム1000を、プロファイル情報管理部1031、処理要求部1032、プロファイル情報保持部1033として機能させる。
プロファイル情報管理部1031は、例えば画像形成装置30毎に設定し実行可能なワークフロー等に関するプロファイル管理情報を管理する。なお、プロファイル管理情報の構成については、後述する。
処理要求部1032は、データ構造変換部124及びデータ処理部125にデータ処理の要求等を行う。
プロファイル情報保持部1033は、図17に示すようなプロファイル管理情報を保持する。図17は、プロファイル管理情報の一例の構成図である。図17に示すように、プロファイル管理情報は、プロファイルID、機器ID、プロジェクトID、スキャンサービスアプリ処理WF(ワークフロー)、連携アプリケーション及び連携処理をデータ項目として有する。プロファイルIDは、画像形成装置30毎に設定可能なワークフローを識別するための情報である。機器IDは、画像形成装置30を一意に識別するための機器識別情報である。機器IDは、例えば機体番号等である。組織コードは、企業、部署等の組織を一意に識別する情報である。ユーザIDは、組織コード内でユーザを一意に識別する情報である。プロジェクトIDは、スキャンサービスアプリ103が行う一以上の処理であるワークフローを識別するプロジェクトの識別情報である。スキャンサービスアプリ処理WFは、スキャンサービスアプリ103が実行可能なワークフローの内容である。連携アプリケーションは、スキャンサービスアプリ103と連携して処理を行うアプリケーション(連携アプリケーション)が設定される。なお、スキャンサービスアプリ103と連携可能なアプリケーションのみが設定可能であり、ユーザにより任意に設定される。連携処理は、設定された連携アプリケーションにより実行される処理内容である。図17の例では、プロジェクトID「project1」に対応するワークフローが「OCR→PDF変換→メール配信」である。ユーザが画像形成装置30において「project1」を選択すると、画像形成装置30でスキャン処理が行われたスキャン画像に対して、OCR処理を行い、PDF形式に変換し、変換したデータをメール配信する処理が実行される。更に、「project1」には、連携アプリケーション「プリントサービスアプリ」が設定されているため、メール配信後、配信先として指定されているユーザによる印刷が実行可能な「スキャン印刷」のサービスが提供されることを示している。なお、プロジェクトIDは、機器IDに対応付ける場合に限らず、例えば、組織コードやユーザID等に対応付けて設定されてもよい。
<クライアント端末>
図18は、本発明の実施形態におけるクライアント端末20の機能構成の一例を示す図である。
クライアント端末20はプログラムを実行することにより、入力受付部201、表示制御部202、通信I/F部203及びサービス利用アプリ204を実現している。
入力受付部201は、マウス、キーボード又はタッチパネル等を制御し、ユーザからの各種入力操作を受け付ける。
表示制御部202は、ディスプレイ等の表示装置を制御し、ユーザに対する各種情報を表示出力する。
通信I/F部203は、クライアント端末20が備える通信I/Fを制御し、サービス提供システム10との通信を行う。
サービス利用アプリ204は、各サービスを提供するサービスアプリ100を利用するためのアプリケーションである。サービス利用アプリ204はログイン要求部205及びサービス利用要求部206を有する。ログイン要求部205は、クライアント端末20からサービス提供システム10にログインする機能を提供する。サービス利用要求部206は、ユーザから受け付けたジョブの実行を要求する機能を提供する。例えば、サービス利用要求部206は、クライアント端末20からサービス提供システム10にWebアップロード等でのジョブの投入を要求する機能やアプリケーションを使用するためのライセンスの購入、管理を行う機能を提供する。
<画像形成装置>
図19は、本発明の実施形態における画像形成装置の機能構成の一例を示す図である。
画像形成装置30はプログラムを実行することにより、入力受付部301、表示制御部302、印刷部303、読取部304、通信I/F部305及びサービス利用アプリ306を実現している。
入力受付部301は、操作パネル32等を制御し、ユーザからの各種入力操作を受け付ける。
表示制御部302は、操作パネル32等の表示部を制御し、ユーザに対する各種情報を表示出力する。
印刷部303は、プリンタ35を制御し、印刷データに基づき印刷処理を実行する。
読取部304は、スキャナ36を制御し、紙媒体の原稿に対する読取処理を行い、スキャン画像を生成する。
通信I/F部305は、通信I/F34を制御し、サービス提供システム10との通信を行う。
サービス利用アプリ306は、各サービスを提供するサービスアプリ100を利用するためのアプリケーションである。サービス利用アプリ306はログイン要求部307及びサービス利用要求部308を有する。ログイン要求部307は、画像形成装置30からサービス提供システム10にログインする機能を提供する。サービス利用要求部308は、ユーザから受け付けたジョブの実行を要求する機能を提供する。例えば、サービス利用要求部308は、画像形成装置30からサービス提供システム10に画像データ(スキャン画像等)のWebアップロード等でのジョブの投入を要求する機能等を提供する。
<メールサーバ>
図20は、本発明の実施形態におけるメールサーバ40の機能構成の一例を示す図である。
メールサーバ40はプログラムを実行することにより、データ送受信部401及びメールデータ蓄積部402を実現している。
データ送受信部401は、メールデータを送受信する。
メールデータ蓄積部402は、受信したメールデータを蓄積する。
[処理の詳細]
次に、本発明の実施形態の情報処理システム1において、スキャンサービスアプリとプリントサービスアプリとが連携し実行するスキャン印刷処理の詳細を説明する。スキャン印刷とは、画像形成装置30でスキャン処理の実行の結果得られるスキャン画像を、スキャン画像の配信先として指定されたユーザが印刷するサービスである。スキャン印刷処理は、「スキャン画像配信(ジョブ投入)」、「ジョブ管理」、「印刷(ジョブ出力)」の処理に大別され、以下、各処理について説明する。
〔スキャン画像配信(ジョブ投入)〕
図21は、本発明の実施形態の連携処理におけるスキャン画像配信処理の動作手順の一例を示すシーケンス図である。
ステップS101において、画像形成装置30aの表示制御部302は、操作パネル32に、図22に示すログイン画面2001を表示させている。図22は、ログイン画面及びアプリ連携が有る場合の利用サービス選択画面等の画面例を示す図である。図22に示すように、ログイン画面2001には、「組織コード」、「User ID(ユーザID)」及び「Password(パスワード)」を入力する入力フォーム並びに入力フォームへの入力後に押下される「ログイン」ボタンが含まれる。
図21に戻り、ステップS102において、ユーザAがログイン画面2001において、組織コード、ユーザID及びパスワードの入力後、「ログイン」ボタンを押下する。ここで、ユーザAが入力した情報は、例えば、組織コード「XXX」、ユーザID「User A」、パスワード「AAA」とする。
ステップS103において、画像形成装置30aのログイン要求部307は、ユーザAに入力された組織コード「XXX」、ユーザID「User A」及びパスワード「AAA」を含む認証要求を生成し、通信I/F部305を介して、生成した認証要求をサービス提供システム10に送信する。
ステップS104において、サービス提供装置10の認証処理部121は、機器通信部122を介して受信した認証要求とユーザ管理情報とに基づき認証処理を行う。具体的には、認証処理部121は、認証要求に含まれている組織コード「XXX」、ユーザID「User A」及びパスワード「AAA」が、ユーザ管理情報記憶部132に記憶されているユーザ管理情報に一致するか否かを判定する。ここで、ユーザ管理情報が図9に示す情報であるとすると、組織コード「XXX」、ユーザID「User A」及びパスワード「AAA」がユーザ管理情報に含まれているため、認証成功(ログイン許可)と判定される。なお、認証処理部121は、組織コード、ユーザID及びパスワードのうちいずれか一以上の項目が一致しない場合、認証失敗(ログイン拒否)と判定する。
ステップS105において、認証成功の場合、認証処理部121は、ライセンス管理情報記憶部134に記憶されるライセンス管理情報を参照し、認証を行ったユーザが利用可能なアプリケーションに関する情報(利用可能アプリ情報)を取得する。具体的には、認証処理部121は、図11に示すようなライセンス管理情報から組織コード「XXX」、ユーザID「User A」に対応する「サービス名」である「○○スキャン」及び「□□プリント」を読み出す。
ステップS106において、認証処理部121は、認証結果(「認証成功」)及び利用可能アプリ情報(「○○スキャン」、「□□プリント」)を、機器通信部122を介して、画像形成装置30aに送信する。なお、ステップS104において認証失敗と判定された場合、認証失敗を示す認証結果のみが画像形成装置30aに送信される。
ステップS107において、画像形成装置30aのサービス利用要求部308は、受信した利用可能アプリ情報に、スキャンサービスアプリにより提供されるサービス名(例えば「○○スキャン」等)が含まれる場合、プロファイル情報取得要求を、スキャンサービスアプリ103に送信する。プロファイル情報取得要求は、画像形成装置30(機器ID)毎に実行可能な処理(プロジェクト)に関するプロファイルを、スキャンサービスアプリ103から取得するための要求であり、画像形成装置30aの機器ID及び組織コードが含まれる。ここで、図21の例では、画像形成装置30aの機器IDは、例えば「MFP0001」であるとする。
ステップS108において、スキャンサービスアプリ103のプロファイル情報管理部1031は、受信したプロファイル情報取得要求に含まれる機器ID及び組織コードに対応するプロファイル情報を、プロファイル管理情報保持部1033から取得する。ここで、プロファイル管理情報保持部1033に記憶されるプロファイル管理情報が図17に示す情報であるとすると、プロファイル情報取得要求に含まれる機器ID「MFP0001」及び組織コード「XXX」に対応するプロファイル情報が取得される。プロファイル情報には、プロファイル管理情報のうち、プロファイルID、プロジェクトID、スキャンサービスアプリ処理WF、連携アプリケーション及び連携処理が含まれる。図21の例では、機器ID「MFP0001」及び組織コード「XXX」に対応するプロファイルID「profile001」に対応するプロジェクトID「project1」、「project2」、「project3」である。例えば、プロジェクトID「project1」では、「連携アプリケーション」として「プリントサービスアプリ」が設定されており、ユーザが「project1」を選択することで、連携処理「スキャン印刷」が実行可能であることを示している。
ステップS109において、スキャンサービスアプリ103のプロファイル情報管理部1031は、取得したプロファイル情報を画像形成装置30aに送信する。
ステップS110において、画像形成装置30aの表示制御部302は、操作パネル32に、図22に示す利用サービス選択画面2002を表示させる。図22に示すように、利用サービス選択画面2002には、「利用可能サービス」及び「プロジェクト」の選択ボタンが含まれる。なお、「利用可能サービス」により選択可能なサービスは、ステップS106で受信した利用可能アプリ情報に含まれるサービス名に対応するサービス及びステップS109で受信したプロファイル情報に含まれる連携処理に応じたサービスが表示される。図22の例では、受信した利用可能アプリ情報が「○○スキャン」、「□□プリント」であり、連携処理に「スキャン印刷」が含まれるため、「利用可能サービス」欄には、スキャンサービスアプリ単独で提供される「スキャン」及び「スキャン配信」、プリントサービスアプリ単独で提供される「印刷」及び「メール印刷」並びにスキャンサービスアプリとプリントサービスアプリとが連携して提供する「スキャン印刷」が表示されている。また、「プロジェクト」は、各「利用可能サービス」の選択時に、利用可能なプロジェクトのみが選択可能であるように表示される。例えば利用可能サービス「スキャン印刷」が選択された場合、「スキャン印刷」に対応付けられたプロジェクトである「project1」と「project3」とが選択可能であるように表示されている。
一方、利用可能アプリ情報が例えば「○○スキャン」のみである場合、図23に示すように、「利用可能サービス」欄には、スキャンサービスアプリ単独で提供される「スキャン」及び「スキャン配信」のみが表示される。
また、図22に示す利用サービス選択画面2002において、「利用可能サービス」として「スキャン印刷」、「プロジェクト」として所定(選択可能な任意)のプロジェクトが選択され、「次へ」ボタンが押下されると、送信先指定画面2003に遷移する。送信先指定画面2003には、「スキャン印刷」サービスにおいてスキャン処理されたスキャン画像を送信するユーザの送信先メールアドレス入力欄、送信元のユーザのユーザID又はメールアドレス入力欄、送信先メールアドレスの検索欄が含まれる。なお、送信先メールアドレス入力欄に入力されたメールアドレスのユーザのみが、スキャン画像の印刷を行うことができる。また、送信元のユーザID又はメールアドレスは、ユーザによる手入力ではなく、例えば図21のステップS102において入力されたユーザIDに基づき、自動的に表示されるようにしてもよい。そして、送信先指定画面2003において「送信先メールアドレス」の設定後、「次へ」ボタンが押下されると、スキャン印刷サービスの実行指示を行うためのサービス実行指示画面2004に遷移する。
図22に示すサービス実行指示画面2004において、ユーザは、送信先のメールアドレス及び送信元のユーザID又はメールアドレスの確認後、スキャン対象の原稿を画像形成装置30にセットし、「スタート」ボタンを押下すると、スキャン印刷処理が実行される。
図21に戻り、ステップS111において、ユーザAは、利用サービス選択画面2002において、利用可能サービス「スキャン印刷」、プロジェクト「project1」を選択する。次に、ユーザAは、送信先指定画面2003において、送信先としてユーザBのメールアドレス「B@aaa.com」を入力する。そして、ユーザAは、サービス実行指示画面2004において、スキャン対象の原稿をセットし、「スタート」ボタンを押下する。
ステップS112において、画像形成装置30の読取部304は、セットされた原稿に対してスキャン処理を行い、スキャン画像を生成する。ここで、ユーザが選択したプロジェクト「project1」に対応するワークフローは例えば図17に示すように「OCR→PDF変換→メール配信」であるため、スキャン画像に対してOCR処理を行い、ファイルの形式をPDF形式に変換する。なお、本発明の実施形態のスキャン画像には、スキャン画像に対してワークフローに基づくPDF変換等の所定の処理を施した画像データが含まれる。
ステップS113において、サービス利用要求部308は、プロジェクト「project1」に対応するワークフローに含まれる「メール配信」の処理に基づき、通信I/F部305を介して、画像データ配信要求を、スキャンサービスアプリ103に送信する。画像データ配信要求には、スキャン画像、ユーザが指定した送信先ユーザ(ユーザB)のメールアドレス、送信元ユーザ(ユーザA)のユーザID又はメールアドレス及び連携処理「スキャン印刷」処理を示す情報が含まれる。なお、画像データ配信要求は、例えばWebアップロード又はメール配信として実行される。
ステップS114において、スキャンサービスアプリ103の処理要求部1032は、データ構造変換部124に、受信した画像データ配信要求を転送する。
ステップS115において、データ構造変換部124は、図6又は図7に示すように、受け付けた画像データ配信要求に基づき、所定のデータ変換処理を行う。データ構造変換部124は、メールフォーマットへの変換(Webアップロードの場合)及び変換したメールフォーマットにおける送信先、送信元アドレスの変換を行う。具体的には、データ構造変換部124は、画像データ配信要求に含まれている送信先のユーザBのメールアドレス「B@aaa.com」を、送信元のメールアドレスに変換する。また、画像データ配信要求に含まれている送信先のユーザBのメールアドレス「B@aaa.com」とユーザ管理情報(図9参照)とに基づき、ユーザBの組織コード「XXX」を特定する。次に、組織管理情報(図8参照)から、特定した組織コード「XXX」に対応する組織のアドレス情報「CompanyA@aaa.com」を特定する。そして、特定した組織のアドレス情報「CompanyA@aaa.com」を、変換後の送信先メールアドレスに設定する。なお、組織のアドレス情報は、一般に企業(組織)が管理するメールサーバのアドレス情報である。また、データ構造変換部124は、変換後のメールタイトル(Subject)を、スキャン印刷処理において変換されたメールであることを示す所定のタイトル(「scan&print(変換後)」)として設定する。また、データ構造変換部124は、画像データ配信要求に含まれているスキャン画像を、メールの添付ファイルとして設定する。なお、スキャン画像を変換後のメールに設定するのではなく、オンラインストレージ50等に保存し、保存先のURLをメール本文に設定してもよい。なお、スキャン画像に含まれる情報が、例えばテキストデータである場合、OCR処理の結果得られたテキストデータを、メール本文に設定してもよい。この場合、メールには、添付ファイルが設定されない。このように、変換後のメールに添付ファイルが設定されない場合もあり得る。
ステップS116において、データ構造変換部124は、データ処理部125の画像データ配信部1254に、送信先メールアドレスに企業のメールサーバサーバアドレス「CompanyA@aaa.com」、送信元メールアドレスにユーザBのメールアドレス「B@aaa.com」、添付ファイルとしてスキャン画像が設定されたメールの配信処理を要求する。
ステップS117において、データ処理部125の画像データ配信部1254は、データ構造変換部124により変換されたメールをメールサーバ40に送信する。
ステップS118において、メールサーバ40は、受信したメールを蓄積する。
〔ジョブ管理(メール取得)〕
次に、図21に示したステップS118においてメールサーバ40に蓄積されたメールを、サービス提供システム10が取得し、印刷対象のジョブとして管理する動作を説明する。
図24は、本発明の実施形態の連携処理におけるジョブ管理の動作手順の一例を示すシーケンス図である。
ステップS201〜S202において、サービス提供システム10のメール取得部123は、例えばポーリングによりメールサーバ40からメールを受信する。なお、メールの受信はプリントサービスアプリ102からの取得要求があったタイミングで行うようにしてもよい。メール取得部123によるメールの受信処理は、例えばPOP3(Post Office Protocol version3)又はIMAP4(Internet Message Access Protocol4)を用いて、メールサーバ40のメールボックスから予め定めたサービス提供システム10を利用する組織のアドレス情報に対応するメールを受信する。
ステップS203において、メール取得部123は、受信したメールから添付ファイルを抽出する。なお、上述したように添付ファイルが設定されていない場合もあり得る。
ステップS204において、メール取得部123は、テキストデータが設定されている場合メール本文と、抽出した添付ファイルとをメールデータとして、プリントサービスアプリ102に送信する。
ステップS205において、プリントサービスアプリ102は、受信したメールデータの内容を解析する。具体的には、プリントサービスアプリ102は、送信先メールアドレスに設定されている組織のアドレス情報「CompanyA@aaa.com」と、送信元メールアドレスに設定されているユーザBのメールアドレス「B@aaa.com」とを取得する。
ステップS206において、プリントサービスアプリ102は、受信したメールデータの送信元メールアドレス、送信先メールアドレスを指定して、認証処理部121にユーザ管理情報取得要求を行う。
ステップS207において、認証処理部121は、ユーザ管理情報記憶部132を参照して送信元メールアドレス及び送信先メールアドレスに対応するユーザ管理情報を取得する。
ステップS208において、認証処理部121は、送信元アドレス及び送信先アドレスに対応するユーザ管理情報をプリントサービスアプリ102に送信する。
以下、ステップS209〜S217の処理は、スキャン画像がオンラインストレージ50に保存され、メール本文に保存先のURLが記載されている場合に実行される。したがって、メールの添付ファイルにスキャン画像が添付されている場合、ステップS209〜S217の処理は実行されず、ステップS218の処理が実行される。
ステップS209において、プリントサービスアプリ102は、メール本文に記載されているURLを指定して、認証処理部121にストレージ情報取得要求を行う。
ステップS210において、認証処理部121は、ストレージ情報記憶部135を参照してURL(URLキーワード)に対応するストレージ情報を取得する。
ステップS211において、認証処理部121は、メール本文に記載されているURLに対応するストレージ情報をプリントサービスアプリ102に送信する。
URLに対応するストレージ情報を受信することにより、プリントサービスアプリ102はURLに対応するストレージ名を取得することができる。プリントサービスアプリ102はURLに対応するストレージ名を取得することにより、ステップS212で受信した送信元アドレスに対応するユーザ管理情報から一つのオンラインストレージ50のログイン情報を特定できる。
ステップS212において、プリントサービスアプリ102は、オンラインストレージ50のログイン情報を指定し、メール本文に記載されているURLからのデータ取得をデータ処理部125に要求する。
ステップS213において、データ処理部125は、指定されたログイン情報を用いてオンラインストレージ50にログインを要求する。ここではオンラインストレージ50へのログインが成功したものとして説明を続ける。
ステップS214において、オンラインストレージ50はログインが成功したことを示すログイン応答を行う。
ステップS215において、データ処理部125は、メール本文に記載のURLからのデータ取得をオンラインストレージ50に要求する。
ステップS216において、オンラインストレージ50は、URLが示すデータ(スキャン画像)をデータ処理部125に送信する。
ステップS217において、データ処理部125はメール本文に記載のURLが示すデータをプリントサービスアプリ102に送信する。プリントサービスアプリ102は受信したスキャン画像にジョブIDを付してデータストレージ136にスプールする。
なお、メールの添付ファイルにスキャン画像が添付されていた場合(ステップS209〜S217の処理が実行されない場合)、プリントサービスアプリ102は、添付されていたスキャン画像にジョブIDを付してデータストレージ136にスプールする。
ステップS218において、プリントサービスアプリ102のジョブ管理部1022は、データストレージ136にスプールしたスキャン画像に対応するジョブIDと、メールの送信元メールアドレスに対応するユーザの組織コードと、メールの送信元メールアドレスのユーザのユーザIDとを関連付けたジョブ管理情報をジョブ管理情報保持部1024に保持することで、ジョブ管理を行う。すなわち、ジョブ管理情報のジョブIDは、図21においてユーザAがスキャン画像の配信先として指定したユーザBのユーザIDに対応付けて管理される。
〔印刷(ジョブ出力)〕
次に、スキャン印刷処理において、スキャン画像の配信先として指定されたユーザ(ユーザB)が、スキャン画像を印刷する処理を図25に基づき説明する。図25は、本発明の実施形態の連携処理における印刷処理の動作手順の一例を示すシーケンス図である。
ステップS301〜S306の処理内容は、図25の例ではユーザBが画像形成装置30bを使用する点を除き、図21に示したステップS101〜S106と同じである。
ステップS307において、画像形成装置30bのログイン要求部307は、ユーザBが印刷可能なジョブ一覧を取得するためのジョブ一覧取得要求を、プリントサービスアプリ102に送信する。ジョブ一覧取得要求には、ユーザBのユーザID「User B」及び企業コード「XXX」が含まれる。
ステップS308において、プリントサービスアプリ102のジョブ管理部1022は、ジョブ管理情報保持部1024を参照し、企業コード「XXX」、ユーザID「User B」に対応するジョブ一覧を取得する。
ステップS309において、プリントサービスアプリ102のジョブ管理部1022は、取得したジョブ一覧を、画像形成装置30bに送信する。
ステップS310において、画像形成装置30の表示制御部302は、操作パネル32に、ユーザBが印刷可能なジョブ一覧が表示された画面を表示させる。
ステップS311において、ユーザBは、操作パネル32に表示されているジョブ一覧画面の中から、印刷対象とするジョブを指定する。
ステップS312において、画像形成装置30のサービス利用要求部308は、ユーザBに指定された印刷対象ジョブに対応する印刷データを取得するための印刷データ取得要求を、プリントサービスアプリ102に送信する。なお、印刷データ取得要求には、印刷対象ジョブのジョブIDが含まれる。
ステップS313において、プリントサービスアプリ102は、データ処理部125のデータ形式変換部1253に対して、印刷対象ジョブのジョブIDを含む印刷データ生成要求を行う。
ステップS314において、データ形式変換部1253は、データストレージ136にスプールされている、印刷データ生成要求に含まれるジョブIDに対応するスキャン画像を読み出し、印刷データに変換する。
ステップS315において、データ形式変換部1253は、印刷データに変換したスキャン画像を、プリントサービスアプリ102に送信する。
ステップS316において、プリントサービスアプリ102は、指定された印刷対象ジョブの印刷データを、画像形成装置30bに送信する。
ステップS317において、画像形成装置30bの印刷部303は、プリントサービスアプリ102から送信された印刷データに基づく印刷出力を行う。
なお、ステップS313における印刷データ生成要求からステップS314における印刷データへの変換処理は、図24に示したステップS204又はステップS217においてスキャン画像を受信した段階で行うようにしてもよい。また、スキャン画像が既に印刷データのデータ形式であった場合(例えばPDF等)、印刷データへの変換は実行されなくてもよい。印刷データへのデータ変換処理の有無に関わらず、プリントサービスアプリ102は、メールデータに基づき印刷データを得ることができる。
[まとめ]
上述したように、本発明の実施形態の情報処理システム1によれば、一のアプリケーション(例えばスキャンサービスアプリ103)と他のアプリケーション(プリントサービスアプリ102)との連携処理の実行が選択された場合、サービス提供システム10により画像形成装置30(又はクライアント端末20)からアップロード(又はメール送信)時に指定された電子データの送信先が送信元として設定された所定のデータ(メールデータ)に変換する処理が実行される。次に、変換されたメールデータは、サービス提供システム10からメールサーバ40に転送され、メールサーバ40に蓄積される。次に、プリントサービスアプリ102がメールサーバ40から取得したメールデータに含まれる送信元のアドレス情報に対応するユーザ毎に、ジョブ(電子データ)を対応付けて管理する。そして、アップロード等の時に指定されたユーザの指示に基づき、画像形成装置30が、ユーザ自身の出力(印刷)可能な電子データを、プリントサービスアプリ102から取得し、出力(印刷)処理を実行する。
このように、異なるアプリケーション間で処理対象とする電子データを共有させ、連携して電子データに対する処理を実行できる。
したがって、サービス提供システム10の開発者や管理者等は、サービスアプリ100に変更を加えることなく、メールデータに含まれる情報の変換機能を追加するだけで、異なるアプリケーションを連携させた連携処理を実現できる。
また、ユーザにとっても、例えばライセンスを購入したアプリケーションが複数ある場合、それぞれが連携可能であれば、連携処理用に特化したアプリケーションのライセンスを購入したり、ダウンロードしたりすることなく、連携処理を実行できる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。