以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。図1の情報処理システム1において、サービス仲介装置20は、ユーザ環境E1及びサービス提供環境E2に対し、LAN(Local Area Network)、イントラネット、又はインターネット等の通信用のネットワークを介して通信可能に接続されている。
サービス仲介装置20は、ユーザ環境E1とサービス提供環境E2との仲介を行うコンピュータである。以下、サービス仲介装置20が提供する機能又はサービスを、「仲介サービス」という。例えば、サービス仲介装置20は、インターネット上におけるクラウドサービスとして、仲介サービスを提供する。または、プライベートクラウドのように、ユーザ環境E1の企業内にサービス仲介装置20が設置されてもよい。
サービス提供環境E2は、ネットワークを介してサービスを提供する組織におけるシステムで環境ある。サービス提供環境E2は、サービス提供装置30を有する。サービス提供装置30は、ネットワークを介して所定のサービスを提供する。所定のサービスは、例えば、サービス提供装置30にインストールされたプログラムが、サービス提供装置30のCPUに実行させる処理により提供される。本実施の形態において、サービス提供装置30は、「スキャン利用制限サービス」を提供する。スキャン利用制限サービスとは、ユーザ環境E1の画像形成装置10におけるスキャン枚数を、ユーザごとに予め設定された上限値以下に制限するサービスをいう。なお、サービス提供装置30に関しても、サービス仲介装置20と同様に、ユーザ環境E1に設置されてもよい。すなわち、サービス提供環境E2は、ユーザ環境E1に包含されてもよい。
ユーザ環境E1は、画像形成装置10のユーザ企業等におけるシステム環境である。ユーザ環境E1において、一台以上の画像形成装置10と管理者端末40とはLAN(Local Area Network)等のネットワークを介して接続されている。
本実施の形態の画像形成装置10は、印刷、スキャン、コピー、及びファクス(FAX)通信等のうちの二以上の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を単体で有する機器が画像形成装置10として用いられてもよい。本実施の形態において、画像形成装置10は、スキャン機能を有していればよい。
管理者端末40は、ユーザ環境E1における画像形成装置10の管理者が使用する端末である。管理者端末40の一例として、PC(Personal Computer)、PDA(Personal Digital Assistance)、タブレット型端末、スマートフォン、又は携帯電話等が挙げられる。
図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図2において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM115には、各種の設定情報等が記憶される。
スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記憶されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記憶されたプログラムだけでなく、SDカード80に記憶されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図3は、本発明の実施の形態におけるサービス仲介装置のハードウェア構成例を示す図である。図3のサービス仲介装置20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205とを有する。
サービス仲介装置20での処理を実現するプログラムは、CD−ROM等の記録媒体201によって提供される。プログラムを記憶した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってサービス仲介装置20に係る機能を実行する。インタフェース装置205は、ネットワークに接続するためのインタフェースとして用いられる。
なお、サービス提供装置30も、図3に示されるようなハードウェアを有していればよい。
図4は、本発明の実施の形態における情報処理システムの機能構成例を示す図である。
図4において、画像形成装置10は、機器認証部121、Webスタート部122、スキャン実行部123、中継部124、及びシステム制御部125等を有する。これら各部は、画像形成装置10にインストールされた一以上のプログラムが、CPU111に実行させる処理により実現される。
機器認証部121は、画像形成装置10のユーザについて、サービス仲介装置20へのログインの制御を行う。ログインに成功したユーザは、画像形成装置10の操作が可能となる。
Webスタート部122は、サービス提供装置30が提供するサービスの利用開始に伴って、画像形成装置10へのインストールが必要されるプログラムモジュール(以下、「Webプラグイン」という。)のライフサイクルの管理等を実行する。例えば、Webスタート部122は、Webプラグインのダウンロード、インストール、起動、停止、削除(アンインストール)、及び更新等を実行する。
スキャン実行部123は、スキャンジョブの実行を制御する。
中継部124は、サービス仲介装置20における仲介部223との通信を制御する。例えば、中継部124は、画像形成装置10内における他の機能部(プログラムモジュール)と、仲介部223との通信を中継する。
システム制御部125は、画像形成装置10の各種ハードウェアの制御を行うソフトウェア群である。
サービス仲介装置20は、ポータル部221、連携設定部222、仲介部223、及びプラグイン管理部224等を有する。これら各部は、サービス仲介装置20にインストールされた一以上のプログラムが、CPU204に実行させる処理により実現される。サービス仲介装置20は、また、ユーザ情報記憶部231、連携情報記憶部232、サービス情報記憶部233、機器情報記憶部234、プラグイン記憶部235、及びプラグイン状態情報記憶部236等を利用する。これら各記憶部は、補助記憶装置202、又はサービス仲介装置20にネットワークを介して接続される記憶装置等を用いて実現可能である。
ユーザ情報記憶部231は、仲介サービスのユーザとして予め登録されたユーザに関する情報を記憶する。サービス情報記憶部233は、サービス提供装置30が提供するサービスに関する情報を記憶する。連携情報記憶部232は、画像形成装置10と、サービス提供装置30が提供するサービスとの連携に必要な情報を記憶する。機器情報記憶部234は、ユーザ環境E1における各画像形成装置10の属性情報(以下、「機器情報」という。)を記憶する。プラグイン記憶部235は、各種のWebプラグインを記憶する。Webプラグインの登録は、サービス提供環境E2から行われてもよいし、サービス提供環境E2とは全く別の組織(例えば、ソフトウェア開発ベンダ)によって行われてもよい。プラグイン状態情報記憶部236は、Webプラグインのインストール先や、インストール先におけるWebプラグインの状態を示す情報等を記憶する。
ポータル部221は、仲介サービスのポータル(窓口)として機能する。連携設定部222は、画像形成装置10と、サービス提供装置30が提供するサービスとを連携させる(関連付ける)ための設定処理等を行う。連携設定部222による設定処理の結果は、連携情報記憶部232に記憶される。
仲介部223は、画像形成装置10と、サービス提供装置30の利用制限サービス提供部31との間のやりとりの仲介等を行う。例えば、仲介部223は、サービス提供装置30が提供するスキャン利用制限サービスの対象とされた画像形成装置10に対し、当該サービスの利用に必要なWebプラグインのインストールの要求を通知する。スキャン利用制限サービスの対象とされた画像形成装置10とは、スキャン利用制限サービスによって、スキャン枚数が制限される画像形成装置10をいう。また、仲介部223は、Webプラグインが画像形成装置10に送信させる情報について、サービス提供装置30への転送を実行する。本実施の形態において、スキャン利用制限サービスが利用するWebプラグインは、スキャン枚数の送信等を画像形成装置10に実行させる。
プラグイン管理部224は、仲介部223によってインストール要求が通知された画像形成装置10からのWebプラグインの取得要求に応じ、取得要求に係るWebプラグインをプラグイン記憶部235より取得して、当該画像形成装置10に返信する。
サービス提供装置30は、利用制限サービス提供部31及び利用状況記憶部32等を有する。利用制限サービス提供部31は、サービス提供装置30にインストールされた一以上のプログラムが、サービス提供装置30のCPUに実行させる処理により実現される。利用状況記憶部32は、サービス提供装置30が有する補助記憶装置又はサービス提供装置30にネットワークを介して接続される記憶装置等を用いて実現可能である。
利用制限サービス提供部31は、スキャン利用制限サービスを提供するための処理を実行する。利用状況記憶部32は、スキャン利用制限サービスの対象とされた画像形成装置10における、ユーザごとのスキャン枚数を記憶する。
管理者端末40は、ブラウザ部41を有する。ブラウザ部41は、例えば、一般的なWebブラウザのプログラムが、管理者端末40のCPUに実行させる処理により実現される。したがって、ブラウザ部41は、一般的なWebブラウザと同様の機能を実現する。
以下、情報処理システム1において実行される処理手順について説明する。図5は、スキャン利用制限サービスの登録処理の処理手順の一例を説明するためのシーケンス図である。サービス仲介装置20を利用してサービスを提供するためには、提供されるサービスに関する情報(以下、「サービス情報」という。)をサービス仲介装置20に登録する必要がある。図5は、斯かる登録に関する処理順を説明する。
ステップS101において、サービス提供装置30の利用制限サービス提供部31は、スキャン利用制限サービスの登録要求をサービス仲介装置20に送信する。当該登録要求の送信は、例えば、サービス提供装置30を利用制限サービス提供部31として機能させるプログラムが最初に起動された際に実行される。また、当該登録要求には、サービス名、サービス内容、コールバックURL(Uniform Resource Locator)、利用設定URL、及び利用プラグイン名等を含むサービス情報が指定される。
サービス名は、スキャン利用制限サービスの識別情報の一例である。本実施の形態において、スキャン利用制限サービスのサービス名は「ScanStop」であるとする。サービス内容は、利用制限サービス提供部31が提供するスキャン利用制限サービスの内容を示す文字列(説明)文である。コールバックURLは、利用プラグイン名に指定されたWebプラグインが、当該Webプラグインのインストール先の画像形成装置10に送信させる情報の転送先のURLである。利用設定URLは、スキャン利用制限サービスの利用開始時の設定を行うための設定画面(以下「利用設定画面」という。)に対するURLである。利用プラグイン名は、登録要求に係るサービス(ここでは、スキャン利用制限サービス)が利用するWebプラグインのプログラム名である。スキャン利用制限サービスは、「ScanStopD」というプログラム名のWebプラグインを利用することとする。以下、「ScanStopD」というとき、当該プログラム名を有する、特定の機能を有したWebプラグインをいう。利用プラグイン名には、複数のWebプラグインのプラグイン名が指定されてもよい。すなわち、一つのサービスに関して、複数のWebプラグインが利用されてもよい。
なお、ステップS101に登録要求の前に、サービス仲介装置20のプラグイン記憶部235に記憶されているWebプラグインの一覧情報が、サービス提供装置30に提示されてもよい。当該一覧情報に基づいて、スキャン利用制限サービスに適したWebプラグインが選択されてもよい。また、ScanStopDは、スキャン利用制限サービスの提供者とは別の者によって開発されてもよい。
サービス仲介装置20においてサービスの登録要求が受信されると、仲介部223は、当該登録要求に指定されたサービス情報を、サービス情報記憶部233に記憶(登録)する。
図6は、サービス情報記憶部の構成例を示す図である。図6において、サービス情報記憶部233は、サービスごとに、サービス名、サービス内容、コールバックURL、利用設定URL、及び利用プラグイン名等を記憶する。これら各項目には、登録要求に指定された値が登録される。図6では、スキャン利用制限サービスに関するサービス情報が記憶された状態が示されている。
続いて、仲介部223は、サービス情報が正常に登録されたことを示す応答を、利用制限サービス提供部31に返信する(S102)。以上によって、スキャン利用制限サービスは、サービス仲介装置20によって公開される。
このように、Webプラグインを利用してサービスを提供する者は、予めサービス仲介装置20に対して当該サービスのサービス情報を登録する必要がある。
一方、スキャン利用制限サービスの利用を希望するユーザ環境E1においては、管理者によって、スキャン利用制限サービスを利用するための操作が管理者端末40を利用して行われる。当該操作に基づいて実行される処理手順について説明する。
図7及び図8は、スキャン利用制限サービスの利用開始に伴って実行される処理手順の一例を説明するためのシーケンス図である。なお、図7及び図8の処理は、図5の処理の終了後において、図5の処理とは非同期に実行される。
例えば、管理者によって、管理者端末40のブラウザ部41が表示させているブラウザ画面に対して、仲介サービスに対するURLが入力される(S111)。続いて、ブラウザ部41は、当該URL宛に、アクセス要求を示すHTTPリクエストを送信する(S112)。サービス仲介装置20のポータル部221は、当該アクセス要求の受信に応じ、ログイン画面を表示させるHTMLデータを含む応答(HTTPレスポンス)を返信する(S113)。ブラウザ部41は、当該応答を受信すると、当該応答に含まれているHTMLデータに基づいて、ログイン画面を管理者端末40の表示装置に表示させる。
管理者によって、ログイン画面に対して、例えば、ユーザ名及びパスワード等のログイン情報が入力されると(S114)、ブラウザ部41は、当該ログイン情報を含む、管理者としてのログイン要求(認証要求)をサービス仲介装置20のポータル部221に送信する(S115)。ポータル部221は、ユーザ情報記憶部231を参照して、当該ログイン要求に指定されたユーザ名及びパスワードについて認証を行う。
図9は、ユーザ情報記憶部の構成例を示す図である。図9において、ユーザ情報記憶部231は、仲介サービスのユーザとして予め登録されたユーザごとに、ユーザ名、パスワード、管理者名、及びカードID等を含む。管理者名は、当該ユーザが利用する画像形成装置10の管理者のユーザ名を示す。ユーザ名と管理者名とが一致するユーザ(図9では、ユーザA)は、画像形成装置10の管理者である。
カードIDは、画像形成装置10へのログイン時に利用されるカードの識別情報(ID)である。すなわち、ユーザ環境E1において、各ユーザには、それぞれ異なるカードIDが記録された磁気カード又はICカード等のカードが配布されている。ユーザは、画像形成装置10にログインする際、当該カードを画像形成装置10に接続されたカードリーダにセットすることで、ログインのための認証を受ける。但し、ユーザ名及びパスワード等、他の情報の入力によって画像形成装置10へのログインが実行されてもよい。
ポータル部221は、ログイン要求に指定されたユーザ名及びパスワードと一致するユーザ名及びパスワードがユーザ情報記憶部231に記憶されており、かつ、当該ユーザ名に対する「管理者名」が、当該ユーザ名と一致する場合、管理者としての認証は成功したと判定する。
管理者としての認証に成功した場合、ポータル部221は、利用するサービスを選択させるための画面(以下、「サービス選択画面」という。)に対するURLをリダイレクト先とするリダイレクト命令をブラウザ部41に返信する(S116)。なお、当該リダイレクト命令には、例えば、リダイレクト時に指定されるパラメータとして、ログインに成功したユーザ(ログインユーザ)のユーザ名に関連付けられて生成されたセッションIDが含まれている。
ブラウザ部41は、当該リダイレクト命令を受信すると、リダイレクト先のURLに対して、サービス選択画面の取得要求を送信する(S117)。なお、ブラウザ部41は、リダイレクト命令に含まれているセッションIDを、例えば、RAM112又はHDD114に記憶しおく。ステップS117以降におけるブラウザ部41からの要求には、当該セッションIDが指定される。
続いて、サービス仲介装置20の連携設定部222は、サービス選択画面の取得要求に応じ、サービス選択画面を表示させるHTMLデータを含む応答を返信する(S118)。サービス選択画面に係るHTMLデータの生成に際し、連携設定部222は、サービス情報記憶部233(図6)に登録されているサービス名の一覧が選択肢として含まれるように当該HTMLデータを生成する。
ブラウザ部41は、当該応答を受信すると、当該応答に含まれているHTMLデータに基づいて、サービス選択画面を管理者端末40の表示装置に表示させる(S119)。
図10は、サービス選択画面の表示例を示す図である。図10において、サービス選択画面540は、サービス選択領域541、連携機器指定領域542、及びOKボタン543等を含む。
サービス選択領域541は、ユーザ環境E1が利用するサービスを選択させるための領域である。すなわち、サービス選択領域541は、サービス名ごとにチェックボタンを含む。なお、各サービス名の下に、利用プラグイン名が表示される。サービスの利用によって、新たなWebプラグインが画像形成装置10にインストールされることを、管理者に認識させるためのである。
連携機器指定領域542は、サービス選択領域541において選択されたサービスとの連携対象を、管理者が管理する全機器(画像形成装置10)とするか、又は管理者が管理する特定の機器とするかを選択させるための領域である。
サービス選択領域541において、いずれかのチェックボタンが選択されると、ブラウザ部41は、当該チェックボタンに対応するサービスの詳細情報を含む画面を表示させる。例えば、スキャン利用制限サービスに対応するチェックボタンが選択されると、図11に示されるようなスキャン利用制限サービス詳細画面が、ポップアップ画面として表示される。
図11は、スキャン利用制限サービス詳細画面の表示例を示す図である。図11において、スキャン利用制限サービス詳細画面550には、スキャン利用制限サービスのサービス名及び利用プラグイン名が含まれている。これらの情報は、サービス情報記憶部233より取得されたものである。
スキャン利用制限サービス詳細画面550は、更に、利用設定ボタン551を含む。利用設定ボタン551は、スキャン利用制限サービスの利用開始時における設定を行わせるためのボタンである。
管理者によって利用設定ボタン551が押下されると(S120)、ブラウザ部41は、管理者名(仲介サービスへのログインユーザ名)が指定された、スキャン利用制限サービスの利用設定要求を送信する(S121)。当該利用設定要求は、利用設定ボタン551に関連付けられているURL宛に送信される。当該URLは、サービス情報記憶部233における利用設定URLである。したがって、当該利用設定要求は、サービス提供装置30の利用制限サービス提供部31宛に送信される。
利用制限サービス提供部31は、利用設定要求を受信すると、当該利用要求に指定されている管理者名を指定して、サービス仲介装置20のポータル部221に対して、ユーザ名の一覧の取得要求を送信する(S122)。ポータル部221は、指定された管理者名に対応付いているユーザ名の一覧を、ユーザ情報記憶部231より取得し、取得されたユーザ名の一覧を利用制限サービス提供部31に返信する(S123)。
利用制限サービス提供部31は、返信されたユーザ名の一覧に基づいて、スキャン利用制限サービスの利用設定画面を表示させるHTMLデータを生成する(S123)。利用制限サービス提供部31は、生成されたHTMLデータを含む応答を、ブラウザ部41に返信する(S124)。ブラウザ部41は、当該応答を受信すると、当該応答に含まれているHTMLデータに基づいて、利用設定画面を、例えば、ポップアップ画面として管理者端末40の表示装置に表示させる(S125)。
図12は、スキャン利用制限サービスの利用設定画面の表示例を示す図である。図12において、利用設定画面560は、ユーザごとに、上限枚数の設定が可能とされている。管理者は、各ユーザに対して、スキャン枚数の上限値(上限枚数)を設定する。本実施の形態では、上限枚数は、週単位の上限値であるとする。すなわち、上限枚数は、一週間における、スキャン枚数の上限値であるとする。
なお、利用設定画面560には、ユーザごとの現在枚数(これまでのスキャン枚数)も表示される。但し、スキャン利用制限サービスの利用開始時においては、各ユーザのスキャン枚数は、サービス提供装置30において管理されていないため、各ユーザの現在枚数は「0」とされている。
管理者によって、利用設定画面560に対して各ユーザの上限枚数が設定され、設定ボタン561が押下されると(S126)、ブラウザ部41は、設定された上限枚数がユーザごとに指定された、上限枚数の設定要求を利用制限サービス提供部31に送信する(S127)。利用制限サービス提供部31は、上限枚数の設定要求の受信に応じ、ユーザごとに指定された上限枚数を利用状況記憶部32に記憶する。
図13は、利用状況記憶部の構成例を示す図である。図13において、利用状況記憶部32は、ユーザ名ごとに上限枚数及び現在枚数を記憶する。新規に登録されたユーザ名に関しては、現在枚数として「0」が記憶される。なお、上限枚数は、毎週の開始時に初期化される。
利用設定画面560の設定ボタン561の押下により、管理者端末40では、サービス選択画面540上に重畳されて表示されていた利用設定画面560がクローズし、サービス選択画面540(図10)が操作対象に戻る。
例えば、図10に示されるように、サービス選択画面540においてチェックボタン542bがチェックされると、ブラウザ部41は、サービス選択画面540のHTMLデータの定義に従って、連携機器選択画面を、ポップアップ画面として管理者端末40の表示装置に表示させる。
図14は、連携機器選択画面の表示例を示す図である。図14において、連携機器選択画面580は、連携機器選択領域581及びOKボタン582等を含む。
連携機器選択領域581では、管理者の管理下にある画像形成装置10ごとに、機体番号、機体名、及び設置場所等が表示され、チェックボタンが配置されている。管理者の管理下にある画像形成装置10とは、機器情報記憶部234において、当該管理者の管理者名を含むレコードに機器情報が記憶されている画像形成装置10をいう。すなわち、連携機器選択領域581の表示内容は、機器情報記憶部234の記憶内容に基づく。管理者は、連携機器選択領域581におけるチェックボタンをチェックすることにより、当該チェックボタンに対応する画像形成装置10を、連携対象とすることができる。また、管理者は、チェックボタンのチェックを解除することにより、当該チェックボタンに対応する画像形成装置10を、連携対象から除外することができる。
連携機器選択領域581において連携対象とする画像形成装置10が選択され、OKボタン582が押下されると、連携機器選択画面580はクローズし、再びサービス選択画面540が操作対象となる。
例えば、図10に示されるような状態で、サービス選択画面540のOKボタン543が押下されると(図8:S131)、ブラウザ部41は、サービス選択画面540においてチェックされた(選択された)サービス名(「ScanStop」)と、連携機器選択画面580においてチェックされた(選択された)画像形成装置10の機体番号とを含む、サービスの利用要求を連携設定部222に送信する(S132)。
なお、サービス選択画面540(図10)において、チェックボタン542aがチェックされた状態でOKボタン543が押下された場合(S131)、ブラウザ部41は、サービス選択画面540においてチェックされた(選択された)サービス名(「ScanStop」)と、管理者の管理下の全ての画像形成装置10の機体番号とを含む、購読サービスの追加要求を連携設定部222に送信する(S132)。管理者の管理下の全ての画像形成装置10の機体番号は、例えば、サービス選択画面540のHTMLデータの生成時において、機器情報記憶部234より取得され、当該HTMLデータに記録されている。
サービス仲介装置20の連携設定部222は、ブラウザ部41からのサービスの利用要求を受信すると、当該利用要求に指定されているサービス名及び一以上の機体番号とを関連付けて、連携情報記憶部232に記憶(登録)する(S133)。
図15は、連携情報記憶部の構成例を示す図である。図15において、連携情報記憶部232は、機体番号及びサービス名等を記憶する。
機体番号は、購読サービスと連携する画像形成装置10の機体番号である。サービス名は、当該画像形成装置10と連携するサービスのサービス名である。連携情報記憶部232によって、スキャン利用制限サービスと、当該サービスの対象とされる画像形成装置10とが対応付けられる。
なお、同一の機体番号に対して複数のサービス名が指定されている場合は、当該サービス名ごとにレコードが記憶されてもよいし、一つの機体番号に対する一つのレコード内において、サービス名ごとに分割されたレコードが記憶されてもよい。
続いて、連携設定部222は、サービスの利用要求に指定されている一以上の機体番号を指定して、当該機体番号に係る画像形成装置10に対するWebプラグインの配信を仲介部223に要求する(S134)。当該配信要求には、サービスの利用要求に指定されたサービス名(「ScanStop」)に係るサービスに対して利用プラグイン名として対応付けられているWebプラグイン名(「ScanStopD」)も指定される。当該利用プラグイン名は、当該サービス名に基づいて、サービス情報記憶部233より取得可能である。
仲介部223は、Webプラグインの配信要求の内容を、プラグイン状態情報記憶部236に記憶する。
図16は、プラグイン状態情報記憶部の構成例を示す図である。図16において、プラグイン状態情報記憶部236は、Webプラグイン名、機体番号、及び状態等の項目を有する。
Webプラグイン名は、インストール対象とされたWebプラグインの名前である。機体番号は、Webプラグインのインストール先とされた画像形成装置10の機体番号である。状態は、画像形成装置10におけるWebプラグインの状態であり、初期値は「未インストール」である。プラグイン状態情報記憶部236によって、インストール対象とされたWebプラグインごとに、各インストール先における状態が管理される。
続いて、仲介部223は、Webプラグインの配信要求に指定された機体番号に係る画像形成装置10の中継部124に対して、Webプラグインのインストール要求を送信する(S135)。当該インストール要求には、Webプラグインの配信要求に指定されたWebプラグイン名(「ScanStopD」)と、サービス仲介装置20のプラグイン管理部224のIPアドレス及びポート番号が指定される。以下、Webプラグインのインストール要求に指定されるパラメータを、「インストール情報」という。なお、仲介部223は、機体番号に対応する画像形成装置10の通信用の識別情報(例えば、IPアドレス及びポート番号)を、機器情報記憶部234を参照して特定する。
図17は、機器情報記憶部の構成例を示す図である。図17に示されるように、機器情報記憶部234は、画像形成装置10ごとに、機体番号、機体名、設置場所、IPアドレス、ポート番号、及び管理者名等を記憶する。すなわち、本実施の形態では、これらの項目が、機器情報を構成する。
機体名は、画像形成装置10のホスト名等の名前である。設置場所は、画像形成装置10の設置場所を示す文字列である。IPアドレスは、画像形成装置10のIPアドレスである。ポート番号は、中継部124が開いているポートのポート番号である。管理者名は、画像形成装置10の管理者のユーザ名である。なお、第2レコードのIPアドレスである「FW」は、当該画像形成装置10に対しては、ファイアーウォールが設置されていることを示す。すなわち、ファイアーウォールの存在によって、当該画像形成装置10には、外部からアクセスできないことを示す。したがって、ステップS135では、機器情報記憶部234に記憶されているIPアドレスの値が「FW」である画像形成装置10に関しては、Webプラグインのインストール要求は送信されない。斯かる画像形成装置10に対しては、ファイアーウォールの存在によって、サービス仲介装置20から要求を送信する(PUSHする)ことはできないからである。
Webプラグインのインストール要求を受信した画像形成装置10の中継部124は、当該インストール要求をWebスタート部122に転送する(S136)。
続いて、Webスタート部122は、当該インストール要求に含まれているIPアドレス及びポート番号宛(すなわち、サービス仲介装置20のプラグイン管理部224宛)に、Webプラグインのダウンロード要求を送信する(S137)。当該ダウンロード要求には、インストール情報に含まれているWebプラグイン名(「ScanStopD」)、及び当該画像形成装置10の機体番号等が指定される。
プラグイン管理部224は、Webプラグインのダウンロード要求に応じ、当該ダウンロード要求に指定されているWebプラグイン名に係るWebプラグインを格納したファイル(以下、「プラグインファイル」という。)をプラグイン記憶部235より取得する。プラグイン管理部224は、取得されたプラグインファイルを、ダウンロード要求元に返信する(S138)。なお、プラグイン管理部224は、プラグインファイルの返信に伴い、プラグイン状態情報記憶部236(図16)に記憶されている、当該プラグインファイルに係るWebプラグインに関する情報を更新する。具体的には、ダウンロード要求元の画像形成装置10の機体番号に対する「状態」の値が、「未インストール」から「インストール開始」に更新される。
続いて、画像形成装置10のWebスタート部122は、返信されたプラグインファイルを受信すると、当該プラグインファイルに格納されているWebプラグインを、当該画像形成装置10にインストールし、当該Webプラグインを起動状態とする(S139)。本実施の形態では、ScanStopDがインストールされ、起動される。
続いて、Webスタート部122は、サービス仲介装置20のプラグイン管理部224に対し、Webプラグインの状態通知を送信する(S140)。当該状態通知には、状態の通知対象のWebプラグイン名と、起動状態であることを示す情報が指定される。
プラグイン管理部224は、当該状態通知の受信に応じ、プラグイン状態情報記憶部236において、当該状態通知に指定されたWebプラグイン名に対する「状態」の値を、「起動中」に更新する。
一方、仲介部223は、ステップS134のWebプラグインの配信要求に指定された機体番号のうち、機器情報記憶部234に対応付けて記憶されているIPアドレスが「FW」である機体番号に係る画像形成装置10に関しては、当該画像形成装置10からの通知情報の存否の確認要求の受信を待機する。すなわち、IPアドレスが「FW」である画像形成装置10の中継部124は、例えば、定期的に、自機に対する通知情報の存否の確認要求を仲介部223に対して送信する。通知情報の存否の確認要求には、当該画像形成装置10の機体番号が指定される。
仲介部223は、通知情報の存否の確認要求を受信すると(S151)、プラグイン状態情報記憶部236を参照して、当該確認要求に指定されている機体番号に関して、「状態」の値が「未インストール」であるWebプラグイン名の有無を確認する。該当するWebプラグイン名(以下、「対象Webプラグイン名」という。)が有る場合、仲介部223は、通知情報の存否の確認要求に対する応答として、Webプラグインのインストール要求を返信する(S152)。当該インストール要求には、対象Webプラグイン名と、サービス仲介装置20のプラグイン管理部224のIPアドレス及びポート番号とを含むインストール情報が指定される。
以降ステップS153〜S157は、上記したステップS136〜S140と同様である。
以上によって、ScanStopDがインストールされた画像形成装置10に関して、スキャン利用制限サービスの利用が可能となった。そこで、続いて、スキャン利用制限サービスの利用時における処理手順について説明する。
図18は、スキャン利用制限サービスの利用時における処理手順の一例を説明するためのシーケンス図である。
ステップS201〜S203は、例えば、WebプラグインであるScanStopDの起動に応じて、ScanStopDがCPU111に実行させる処理、すなわち、図8のステップS139又はS156と同期的に実行される処理である。または、ステップS201〜S203は、画像形成装置10の起動時においても実行される。すなわち、Webスタート部122は、画像形成装置10の起動時において、当該画像形成装置10にインストールされているWebプラグインをプロセス又はスレッドとして起動させる。なお、以下の説明では、ScanStopDがCPU111に実行させる処理を、便宜上、ScanStopDが実行する処理として説明する。
ステップS201〜S203において、ScanStopDは、自らが検知する必要のある画像形成装置10内のイベント(事象)を検知可能とするための処理を実行する。具体的には、ステップS201において、ScanStopDは、システム制御部125に対して、スキャンの実行完了イベントの通知要求を行う。例えば、スキャンの実行完了イベントのイベントハンドラ又はイベントリスナとしての関数が、システム制御部125に登録される。
続いて、ScanStopDは、機器認証部121に対して、ユーザのログインイベントの通知要求を行う。例えば、ログインイベントのイベントハンドラ又はイベントリスナとしての関数が、機器認証部121に登録される(S202)。続いて、ScanStopDは、機器認証部121に対して、ユーザのログアウトイベントの通知要求を行う。例えば、ログアウトイベントのイベントハンドラ又はイベントリスナとしての関数が、機器認証部121に登録される(S203)。上記の処理の完了後、ScanStopDは、イベントが通知されるまで待機する。
続くステップS301以降は、ステップS201〜S203とは非同期に実行される。
ステップS301が開始される時点において、画像形成装置10は、ログアウト状態であるとする。ログアウト状態とは、ユーザによってログインされていない状態をいう。ログアウト状態において、画像形成装置10の操作パネル15には、ログイン(カードの提示)を要求するメッセージが表示されており、操作パネル15の操作はロックされた状態とされている。
ステップS301において、ユーザ(以下、「ユーザB」という)が、画像形成装置10に接続されているカードリーダに自らのカードを翳すと、機器認証部121は、カードリーダを利用して、当該カードからカードIDを読み出す。続いて、機器認証部121は、当該カードIDが指定された認証要求を、サービス仲介装置20のポータル部221に送信する(S302)。ポータル部221は、ユーザ情報記憶部231において、認証要求に指定されたカードIDが記憶されているか否かを確認する。ポータル部221は、当該カードIDが記憶されている場合、認証に成功したと判定する。認証に成功した場合、ポータル部221は、当該カードIDに対応付けられてユーザ情報記憶部231に記憶されているユーザ名(「B」)を、機器認証部121に返信する(S303)。
機器認証部121は、返信された認証結果が認証の成功を示す場合、当該認証結果に指定されているユーザ名をログインユーザ名として、例えば、RAM112に記憶する。以降の処理は、認証に成功した場合に限って実行される。
続いて、機器認証部121は、操作パネル15のロックを解除する(S304)。その結果、操作パネル15は操作可能な状態となる。続いて、機器認証部121は、ログインイベントに対するイベントハンドラ又はイベントリスナとして登録されている関数を呼び出すことにより、ログインイベントの発生を、ScanStopDに通知する(S305)。当該関数の引数には、ログインユーザ名が指定される。
ログインイベントの通知に応じ、ScanStopDは、ログインユーザ名を指定して、スキャン残枚数の取得を中継部124に要求する(S306)。スキャン残枚数とは、スキャンが許可される残りの枚数をいう。
続いて、中継部124は、ScanStopDからの要求に指定されたパラメータに加え、当該画像形成装置10の機体番号を指定して、スキャン残枚数の取得要求を、サービス仲介装置20の仲介部223に転送する(S307)。
仲介部223は、中継部124より受信された要求に指定されたパラメータに基づいて、当該要求の転送先を判定する。具体的には、連携情報記憶部232(図15)に基づいて、当該要求の送信元の画像形成装置10が連携しているサービスのサービス名が特定される。本実施の形態では、スキャン利用制限サービスのサービス名である「ScanStop」が特定される。但し、当該画像形成装置10は、他のサービスとも連携している可能性がある。したがって、複数のサービス名が特定された場合、仲介部223は、当該複数のサービス名の中から、中継部124からの要求に指定されているWebプラグイン名「ScanStopD」に対応付けられてサービス情報記憶部233(図6)に記憶されているサービス名を特定する。本実施の形態では、スキャン利用制限サービスのサービス名である「ScanStop」に特定される。「ScanStopD」に対応付けられているサービス名が複数有る場合、当該複数のサービス名に係るサービスが、中継部124からの要求の転送先とされてもよい。
続いて、仲介部223は、要求の転送先として特定されたサービス名に対応付けられてサービス情報記憶部233に記憶されているコールバックURL宛に、中継部124からの要求を転送する(S308)。本実施の形態では、サービス提供装置30の利用制限サービス提供部31に当該要求が転送される。
なお、上記のように、ScanStopDからの要求(メッセージ)が、中継部124及び仲介部223を介して利用制限サービス提供部31へ転送されるのは、Webプラグインは、必ずしも特定のサービスに特化して開発されるとは限らないからである。すなわち、複数種類のサービスから利用される汎用性の高いWebプラグインの存在も考えられる。このことは、Webプラグイン自信が、通信相手(すなわち、当該Webプラグインからの情報を利用するサービス)を知っているとは限らないことを意味する。
そこで、Webプラグインが通信相手を知らずとも、当該Webプラグインからのメッセージが適切な相手に転送されるようにするために、中継部124及び仲介部223によって、Webプラグインからのメッセージの転送が行われる。
すなわち、中継部124は、通信相手(宛先)を特定する必要の無いメッセージの送信要求を受け付けるAPI(関数)を有する。Webプラグインは、当該APIを呼び出すことにより、メッセージの送信を要求することができる。また、仲介部223は、上記のようにWebプラグインの通信相手を判定することができる。その結果、Webプラグインからのメッセージは、適切な通信相手に転送される。
但し、当初から通信相手が特定されているWebプラグインであれば、中継部124及び仲介部223を経由することなく、当該Webプラグイン自信がポートを開設し、Webプラグインとサービスを提供する側との間で直接通信が行われてもよい。例えば、仮に、ScanStopDが、スキャン利用制限サービスに固有のWebプラグインである場合、ScanStpoDと、利用制限サービス提供部31との間で直接通信が行われてもよい。
利用制限サービス提供部31は、受信されたスキャン残枚数の取得要求に応じ、当該要求に指定されたログインユーザ名と一致するユーザ名に関して、スキャン残枚数を算出する。具体的には、当該ユーザ名に対応付けて利用状況記憶部32(図13)に記憶されている上限枚数から現在枚数が差し引かれた値が、スキャン残枚数として算出される。利用制限サービス提供部31は、算出されたスキャン残枚数を含む応答を、仲介部223に返信する(S309)。
続いて、仲介部223は、当該応答を、中継部124に返信する(S310)。中継部124は、当該応答を、ScanStopDに出力する(S311)。ScanStopDは、当該応答に含まれている、ログインユーザのスキャン残枚数を、例えば、RAM112に記憶しておく。
続いて、ユーザBが、スキャン対象の原稿を画像形成装置10にセットして、操作パネル15を介してスキャンの実行指示を入力すると(S312)、操作パネル15からスキャン実行部123に対して、スキャンの開始要求が入力される(S313)。スキャン実行部123は、システム制御部125に対して、スキャン設定情報を指定してスキャンの実行を要求する(S314)。スキャン設定情報は、ステップS312の前に操作パネル15に表示されていた、スキャン実行部123に関する設定画面において設定された情報である。例えば、解像度、カラー情報等がスキャン設定情報に含まれる。
続いて、システム制御部125は、スキャナ12に原稿のスキャンを実行させる(S315)。原稿のスキャンが完了すると、システム制御部125は、スキャンの完了をスキャン実行部123に通知する(S316)。続いて、システム制御部125は、スキャンの実行完了イベントに対するイベントハンドラ又はイベントリスナとして登録されている関数を呼び出すことにより、スキャンの実行完了イベントの発生を、ScanStopDに通知する(S317)。当該関数の引数には、スキャン枚数が指定される。但し、スキャンの実行完了イベントは、1ページ分のスキャンが実行されるたびに通知されてもよい。この場合、引数としてスキャン枚数は指定されなくてもよい。
ScanStopDは、スキャンの実行完了イベントの通知に応じ、当該通知に含まれているスキャン枚数を、ログインユーザ名に対してRAM112に記憶されているスキャン残枚数から差し引く。また、ScanStopDは、当該通知に含まれているスキャン枚数を、今回のログイン時のスキャン枚数の値に加算する。今回のログイン時のスキャン枚数の値は、例えば、スキャンの残枚数の取得が行われた際に0に初期化されている。ログインユーザ名に対するスキャン残枚数が0以下となった場合、ScanStopDは、機器認証部121に対し、現在操作対象とされているアプリケーションの利用制限を要求する(S318)。現在操作対象のアプリケーションとは、画像形成装置10をスキャン実行部123として機能させるアプリケーションをいう。
続いて、機器認証部121は、現在操作対象とされているアプリケーションの利用制限をユーザに通知するための画面の表示を操作パネル15に指示する(S319)。操作パネル15は、当該指示に応じ、例えば、図19に示されるような、利用制限画面を表示させる。
図19は、利用制限画面の表示例を示す図である。図19において、利用制限画面590は、スキャン枚数が上限に達したため、これ以上スキャンをすることができない旨を示すメッセージが表示されている。
利用制限画面590を参照して、これ以上スキャンをすることはできないことを認識したユーザが、操作パネル15を操作してログアウトの指示を入力すると(S320)、機器認証部121は、ログアウトイベントに対するイベントハンドラ又はイベントリスナとして登録されている関数を呼び出すことにより、ログアウトイベントの発生を、ScanStopDに通知する(S321)。
ログアウトイベントの通知に応じ、ScanStopDは、ログインユーザ名と、今回のログイン時のスキャン枚数とを指定して、スキャン枚数の通知を中継部124に要求する(S322)。中継部124は、ScanStopDからの要求に指定されたパラメータに加え、当該画像形成装置10の機体番号を指定して、スキャン枚数の通知要求を、サービス仲介装置20の仲介部223に転送する(S323)。
仲介部223は、ステップS308と同様の手順で、中継部124からの要求の転送先を判定する。したがって、転送先は、サービス提供装置30の利用制限サービス提供部31であると判定される。そこで、仲介部223は、中継部124からの要求を、利用制限サービス提供部31に転送する(S324)。
利用制限サービス提供部31は、スキャン枚数の通知要求に応じ、当該通知要求に指定されているログインユーザ名に一致するユーザ名に対応付けて利用状況記憶部32に記憶されている現在枚数を更新する。具体的には、当該現在枚数に対して、スキャン枚数の通知要求に指定されているスキャン枚数が加算される。
上述したように、本実施の形態によれば、クラウドサービスのように、ネットワークを介して提供される画像形成装置10に関するスキャン利用制限サービスの利用が要求された際に、スキャン利用制限サービスの提供に適したWebプラグインが画像形成装置10に自動的にインストールされる。そして、Webプラグインと、利用制限サービス提供部31との連携によって、スキャン利用制限サービスが実現される。その結果、ネットワークを介して提供されるサービスと機器との連携に関して新たな形態を提供することができる。
具体的には、サービス提供装置30において各ユーザの現在枚数や上限枚数等が管理されることにより、インターネット等の広域的なネットワークを跨いだ環境における画像形成装置10群の利用に関して、各ユーザに対して利用制限を課すことができる。例えば、東京本社に設置されている画像形成装置10の利用と、大阪支社に設置されている画像形成装置10の利用とに関して、同一の上限枚数に基づいて利用制限を行うことができる。
また、WebプラグインであるScanStopDが画像形成装置10にインストールされ、ScanStopDによってスキャン枚数とスキャン残枚数との比較が行われることで、画像形成装置10におけるスキャンに応じて即時的にスキャン機能(スキャンアプリ)の利用制限を行うことができる。また、スキャンの実行を一枚単位でサービス提供装置30に通知する必要が無いため、画像形成装置10とサービス提供装置30との間の通信量を実際に運用可能な値に抑制することができる。
なお、上記では、スキャン枚数を制限する例を説明したが、同様の仕組みによって、印刷枚数、コピー枚数、又はFAX送受信枚数等を制限することもできる。また、例えば、プロジェクタ、スマートフォン、携帯電話、デジタルカメラ、会議システム等、画像形成装置10以外の機器又はシステムに本実施の形態が適用されてもよい。この場合、当該機器の利用量を示すパラメータに基づいて機器の利用が制限されればよい。例えば、プロジェクタであれば表示時間、会議システムであれば通信時間が利用量を示すパラメータとされてもよい。なお、本実施の形態では、スキャン枚数が機器の利用量の一例に相当する。
また、機器の利用が制限される主体の単位は、ユーザ単位でなくてもよい。例えば、複数のユーザが構成するグループ単位であってもよいし、主体の区別がされなくてもよい。主体の区別がされないということは、ユーザの区別なく、機器に関して、利用制限が課せられるということを意味する。この場合、機器の機体ごとに利用量の上限値が設定されてもよいし、複数の機器に対して一つの上限値が設定されてもよい。
また、機器の利用の制限は、利用量に基づいて行われなくてもよい。例えば、利用期間等、他の概念に関して制限が設けられてもよい。
また、本実施の形態の仕組みを利用して提供可能なサービスは、機器の利用制限に限られない。機器にインストールされるWebプラグインによって取得される、機器に関する情報に基づいて提供可能なサービスであれば、本実施の形態の仕組みを利用して様々なサービスを提供することができる。
例えば、機器の利用状況を提供するサービスに適用されてもよい。本実施の形態を例とすれば、利用状況記憶部32が記憶する内容を、例えば、所定のWebサイトで公開したり、予め登録されているメールアドレス宛に配信したりすることで、スキャンの利用状況を提供することができる。
また、Webプラグインに、機器の状態情報を送信させるようにすることで、遠隔的に機器の異常を検知し、当該異常の検知に応じて機器の保守作業を行うといったサービスの提供も可能である。
また、本実施の形態において、サービス仲介装置20とサービス提供装置30とは、一つのコンピュータに統合されてもよく、複数のコンピュータに分散されて実現できるように構成されてもよい。
図20は、サービス仲介装置及びサービス提供装置が複数のコンピュータによって構成される例を示す図である。図20では、サービス仲介装置20及びサービス提供装置30のそれぞれが、複数のコンピュータに分散されて構成されている例が示されている。なお、図20では、サービス仲介装置20及びサービス提供装置30のそれぞれが、4台以上のコンピュータによって構成されている例が示されているが、4台未満のコンピュータによって構成されてもよい。
サービス仲介装置20とサービス提供装置30とが、サービス仲介装置20に統合される場合、図4に示した機能構成は、例えば、図21に示されるように階層化されてもよい。
図21は、本発明の実施の形態におけるサービス仲介装置の第二の機能構成例を示す図である。図21中、図4と同一部分には同一符号を付し、その説明は省略する。
図21において、サービス仲介装置20のソフトウェアは、サーバアプリ210及びプラットフォーム220等の層に分類されている。
サーバアプリ210は、サービス仲介装置20が提供するサービスを実現するアプリケーションプログラムである。当該サービスは、サーバアプリ210と画像形成装置10との連携によって実現されてもよい。また、当該サービスは、オンラインストレージ等、他のクラウドサービス等との連携によって実現されるサービスであってもよい。本実施の形態では、利用制限サービス提供部31が、サーバアプリ210の一例である。
プラットフォーム220は、複数のサーバアプリ210に共通する機能、又は複数のサーバアプリ210から利用される基本機能等を含む。本実施の形態において、ポータル部221、連携設定部222、仲介部223、及びプラグイン管理部224等は、プラットフォーム220に属する。プラットフォーム220の各部の機能は、プラットフォームAPI240を介してサーバアプリ210に公開されている。換言すれば、サーバアプリ210は、プラットフォームAPI240によって公開されている範囲においてこれら各部の機能を利用可能である。
なお、図21に示される各ソフトウェア及び各記憶部の分類形態は、一例であり、本実施の形態を実施するために、サービス仲介装置20の各ソフトウェア及び各記憶部が、図21に示されるような階層で分類されていることは必須ではない。すなわち、画像形成装置10等の機器が、サーバアプリ210と連携可能であれば、サービス仲介装置20におけるソフトウェア及び記憶部の階層関係等は、特定のものに限定されない。
また、図21に示されるように、サービス仲介装置20によって提供されるサービスは、画像形成装置10以外に、携帯端末、PC、会議システム、画像投影装置、ICレコーダ、及びデジタルカメラや、その他の新規デバイス等から、ネットワークを介して利用されてもよい。
なお、本実施の形態において、連携情報記憶部232は、対応情報記憶部の一例である。連携設定部222は、対応設定部の一例である。仲介部223は、通信部の一例である。プラグイン管理部224は、プログラム管理部の一例である。中継部124は、転送部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。