(58)【調査した分野】(Int.Cl.,DB名)
前記表示制御手段は、前記ユーザによる前記アプリケーションの実行が許可されていないと前記判定手段により判定された場合、前記ユーザによる前記アプリケーションの実行指示の操作を受付不可とするよう前記画面の表示を制御することを特徴とする請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0014】
[システム構成]
図1は、情報処理装置を含むシステムの構成を示す図である。本実施形態では、Webアプリケーションを表示するクライアント端末(情報処理装置)として、Webブラウザを搭載したMFPを一例として説明する。MFP(Multifunctional Peripheral)は、印刷機能やスキャン機能等、複数の機能が一体化された装置である。本実施形態において、MFPは、自装置上に既に実装されているアプリケーションを実行することができるとともに、クラウド等のネットワーク上にあるWebサーバ上に実装されているWebアプリケーションの実行を要求可能である。例えば、MFP上でユーザからWebアプリケーションの実行指示を受付けると、MFPは、WebサーバにWebアプリケーションの実行を要求し、その後、Webサーバから印刷機能やスキャン機能等の実行について制御される。
【0015】
図1に示すように、MFP110、PC140が、イーサネット(登録商標)などからなるLAN100を介して相互に通信可能に接続されている。また、LAN100、ライセンス管理サーバ120、Webアプリケーションサーバ130は、インターネット150に接続されている。Webアプリケーションサーバ130は、上述のWebサーバに対応する。
【0016】
MFP110は、操作部111、スキャナ部112、プリンタ部113を有する。本実施形態では、MFP110は、Webブラウザを用いてWebアプリケーションの機能の操作画面を表示し、ユーザ操作を受け付けるクライアント端末として動作する。また、MFP110は、プリンタ部113により、Webアプリケーションから取得した画像を印刷したり、スキャナ部112により、スキャンした画像をWebアプリケーションに送信したりすることができる。なお、本実施形態において、MFP110には、デバイスIDという識別子が割り当てられており、MFP110を管理する外部の装置が一意に個体を識別することができる。
【0017】
ライセンス管理サーバ120は、複数の異なるWebアプリケーションそれぞれのライセンスの管理を行うサーバである。Webアプリケーションサーバ130は、Webアプリケーションを実行するサーバである。PC140は、MFP110の設定を行うための端末装置である。設定には、例えば、PC140がMFP110に対してWebアプリケーションをインストールすることが含まれる。
【0018】
本実施形態におけるシステムにおいては、上記の構成機器の数及び設置場所に限られない。例えば、Webアプリケーションサーバ130は、インターネット150ではなくLAN100に接続されていても良い。また、LAN100は、有線ネットワークであっても良いし、無線ネットワークであっても良い。
【0019】
[MFP110のハードウェア構成]
図2は、
図1に示したMFP110のハードウェア構成を示すブロック図である。
【0020】
操作部111は、タッチパネルディスプレイなどからなり、ユーザに対して装置情報や機能情報の表示や、ユーザから機能の実行指示操作を受け付ける機能を持つ。スキャナ部112は、原稿台に置かれた若しくはADF(AutomaticDocumentFeeder)から供給された原稿上の画像の光学的な読取動作を行い、画像データを作成する。プリンタ部113は、コントローラ200から受け取った画像データに基づいて用紙(記録媒体)上に画像を形成する。プリンタ部113は、例えばインクジェット記録方式や電子写真記録方式により、用紙上に画像を形成する。
【0021】
コントローラ200は、操作部111、スキャナ部112、プリンタ部113と電気的に接続されている一方、LAN100にもネットワークインタフェース206を介して接続されている。これにより、LAN100上の装置と、TCP/IP等の通信プロトコルによる通信が可能となる。
【0022】
CPU201は、ROM202に記憶された制御プログラム等に基づいて、MFP110を統括的に制御する。CPU201は、コントローラ200内部で行われる各種処理についても統括的に制御し、例えば、本実施形態の各フローチャートを実現するためのプログラムを実行する。ROM202には装置のブートプログラムや制御プログラム等が記憶されている。RAM203は、CPU201が動作するためのシステムワークメモリとして用いられ、画像データや設定データ等を一時的に記憶するためのメモリとしても用いられる。HDD204はハードディスクドライブであり、例えば、システムソフトウェア、画像データ、システムが動作するために必要なデータを記憶する。
【0023】
操作部I/F205は、システムバス211と操作部111とを接続するためのインターフェース部である。ネットワークI/F206は、LAN100とシステムバス211とを接続し、データの送受信を行う。スキャナI/F207は、スキャナ部112から受け取った画像データに対して、補正、加工、及び編集等の各画像処理を行う。
【0024】
画像形成部208は、画像データの方向変換、画像圧縮、伸張処理等の各画像処理を行う。プリンタI/F209は、画像形成部208で画像処理が行われた画像データを受け取り、この画像データの属性データを参照しながら、画像データに基づき、プリンタ部113に出力する。
【0025】
なお、本実施形態では、MFP110としてUI表示が可能なネットワークMFPが用いられているが、汎用的なコンピュータ等、ネットワークMFP以外の情報処理装置であっても良い。
【0026】
[ライセンス管理サーバ120、Webアプリケーションサーバ130およびPC140のハードウェア構成]
図3は、
図1に示したライセンス管理サーバ120のハードウェア構成を示すブロック図である。
図3において、CPU301、RAM302、ROM303、ハードディスクドライブ(HDD)304、ネットワークI/F305がシステムバス306を介して互いに通信可能に接続されている。
【0027】
ROM303或いはHDD304には、オペレーティングシステムやアプリケーションなどのプログラムが記憶されている。CPU301は、プログラムをROM303或いはHDD304からRAM302上へ読み出して実行することにより、装置が実行可能な機能を実現する。また、CPU301は、ネットワークI/F305を介して、ネットワーク上の他の装置との通信を行う。また、Webアプリケーションサーバ130とPC140のハードウェア構成についても、
図3のライセンス管理サーバ120のハードウェア構成と同様である。
【0028】
[ライセンス管理サーバ120のソフトウェア構成]
図4は、ライセンス管理サーバ120のソフトウェアモジュールの構成を示す図である。これらのソフトウェアは、ライセンス管理サーバ120のHDD304に記憶され、CPU301によりRAM302に読み出されて実行される。
【0029】
本実施形態において、ライセンス管理サーバ120は、アプリケーションの暗号化、各MFPにアプリケーションをインストールするためのライセンスの発行、各ライセンスを管理するためのライセンスアクセス番号の発行、の3つの処理を行う。ここで、アプリケーションとは、以下の2つを含む。1つは、MFP110にインストール可能であり、MFP110上で実行可能な実行ファイル群を示すMFPアプリケーションである。1つは、WebアプリケーションをMFP110に登録するための設定ファイル群を示すダミーアプリケーションである。ダミーアプリケーションについては後述する。
【0030】
通信部401は、外部の装置から処理要求を受付け、受け付けた処理要求に応じて、アプリケーション管理部402とライセンス管理部403に、各処理要求を振り分けるためのソフトウェアモジュールである。
【0031】
アプリケーション管理部402は、暗号化前のアプリケーションを受け取り、アプリケーションの暗号化を行うソフトウェアモジュールである。アプリケーション管理部402は、アプリケーション開発ベンダからインターネットに接続された端末(不図示)を介してアプリケーションを受け取る。そして、アプリケーションIDとアプリケーション暗号共通鍵とを生成し、アプリケーション管理テーブル403に登録を行う。アプリケーションIDは、各アプリケーションを一意に識別するための識別子である。アプリケーション暗号共通鍵は、アプリケーションを暗号化するための暗号鍵である。そして、アプリケーション管理部402は、アプリケーション暗号共通鍵を用いてアプリケーションの暗号化を行い、アプリケーションIDと共に要求元に応答する。
【0032】
アプリケーション管理テーブル403は、アプリケーション管理部402が生成したアプリケーションIDとアプリケーション暗号共通鍵とを保存するデータベーステーブルである。
【0033】
図5は、アプリケーション管理テーブル403の一例を示す図である。列501は、アプリケーションIDを示している。列502は、アプリケーション暗号共通鍵を示している。アプリケーション管理部402がアプリケーションの暗号化を行う場合、
図6に示すマニフェストファイル610以外が全て暗号化され、1つのファイルとして作成される。
【0034】
再び、
図4を参照する。ライセンス管理部404は、各MFPにアプリケーションをインストールするためのライセンスの発行、ライセンスの発行を行うためのライセンスアクセス番号の管理、を行うためのソフトウェアモジュールである。アプリケーションを販売する販売者から、販売するアプリケーションに対応するライセンスアクセス番号の発行要求を受け取ると、ライセンス管理部404は、アプリケーションIDに対応したライセンスアクセス番号を発行する。そして、ライセンス管理部404は、ライセンスアクセス番号をライセンス管理テーブル406に登録する。ここで、ライセンスアクセス番号は、アプリケーションの1ライセンスを一意に管理するための番号であり、アプリケーション販売者は、前述の暗号化されたアプリケーションとライセンスアクセス番号とを合わせて販売する。
【0035】
また、ライセンス管理部404は、アプリケーション購入者から、ライセンスアクセス番号とデバイスIDとを受け取ると、ライセンスの発行を行う。ライセンスの発行は、アプリケーション管理テーブル403とライセンス管理テーブル406とを参照し、ライセンスアクセス番号に対応したライセンスファイルを作成する処理である。
【0036】
ライセンス管理部404は、まず、ライセンスアクセス番号からアプリケーションIDを取得し、アプリケーションIDからアプリケーション暗号共通鍵を取得する。そして、ライセンス管理部404は、ライセンスIDを発行し、ライセンス管理テーブル406にデバイスIDとライセンスIDとを登録する。ライセンス管理部404は、これらの情報をライセンスファイルとして1つのファイルを作成する。ライセンス管理部404は、作成したライセンスファイルを、ライセンス管理部404が内部に保持するライセンスファイル暗号鍵405で暗号化して要求元に応答する。ライセンスファイル暗号鍵405は、公開鍵暗号化方式における公開鍵である。対応する秘密鍵は、MFP110のソフトウエアに含まれている。ライセンス管理テーブル406は、ライセンスに関係する情報を保存するデータベーステーブルである。
【0037】
図6は、ダミーアプリケーションの構成と各設定ファイルの内容の一例を示す図である。ファイル600は、ダミーアプリケーション本体であり、階層化されたフォルダとファイルとが1つのファイルに纏められた構造を有する。
【0038】
ファイル610は、アプリケーションの説明が記述されたマニフェストファイルである。ファイル620は、Webアプリケーションサーバ130を利用するためのURLが記述されたファイルである。なお、MFPアプリケーションの場合には、
図6に示すダミーアプリケーションと異なり、MFP110が実行可能なプログラムの実行ファイルが含まれる。
【0039】
情報611は、アプリケーションIDであり、アプリケーションを一意に識別するための情報である。情報612は、アプリケーションの名称を示す情報である。情報613は、アプリケーションの機能分類を示す情報であり、アプリケーションがどのような機能を有するものかを示す情報である。
図6からは、本アプリケーションがSEND機能を有することが分かる。情報621は、アプリケーションのURL情報であり、Webアプリケーションサーバ130を利用するためのURLが記述される。情報622は、アプリケーションのルートURLであり、Webアプリケーションが実装されるURLのルート階層を示す情報が記述される。
【0040】
図7は、ライセンス管理テーブル406の一例を示す図である。列701は、アプリケーションIDを示している。列702は、ライセンスアクセス番号を示している。列703は、ライセンスの有効期限を日数で示している。この日数は、MFP110にインストールされた日時から数えて何日間有効であるかを示している。列704は、MFP110を一意に識別するためのデバイスIDを示している。列705は、ライセンスを一意に識別するためのライセンスIDを示している。行706は、ライセンスアクセス番号は発行されているが、ライセンスは未発行であるアプリケーションの例であり、デバイスIDとライセンスIDの項目は、空である。行707は、ライセンスは発行済みのアプリケーションの例であり、デバイスIDとライセンスIDは決定されており、どのMFPにどのアプリケーションのライセンスが発行されたかが分かる状態である。
【0041】
図8は、ライセンス管理部404が発行するライセンスファイルの一例を示す図である。前述のように、ライセンスファイルは、ライセンス管理部404がアプリケーション管理テーブル403とライセンス管理テーブル406から取得した情報から構成されている。このように、本実施形態では、アプリケーション購入者は、購入したライセンスアクセス番号に基づいて暗号化されたライセンスファイルを取得することができる。
【0042】
[Webアプリケーションサーバ130のソフトウェア構成]
図9は、Webアプリケーションサーバ130のソフトウェアモジュールの構成を示す図である。これらのソフトウェアは、Webアプリケーションサーバ130のHDD304に格納され、CPU301により実行される。
【0043】
Webアプリケーションサーバ130は、Webアプリケーション900、通信部903を有する。さらに、Webアプリケーション900には、プレゼンテーション部901及びロジック部902が含まれる。
【0044】
プレゼンテーション部901は、通信部903を介して、MFP110からのリクエストを受信する。さらに、MFP110のWebブラウザ1000で表示すべき操作画面や結果画面を、MFP110にレスポンスとして送信する。また、MFP110のWebブラウザ1000に表示された操作画面を介して入力されたユーザからの入力情報を、通信部903を介してMFP110から受け取る。
【0045】
ロジック部902は、プレゼンテーション部901から渡されたMFP110からの入力情報に対して処理を行う。例えば、ユーザからの入力に応じて、表示すべき画面を変更したり、MFPのデバイス機能(印刷機能やスキャン機能等)を実行するための処理要求を作成したりする。通信部903は、ネットワークI/F305を制御してHTTPプロトコルにより通信を行うソフトウェアモジュールである。
【0046】
[MFP110のソフトウェア構成]
図10は、MFP110のソフトウェアモジュールの構成を示す図である。これらのアプリケーションおよびソフトウェアモジュールは、MFP110のHDD204に記憶され、CPU201により実行される。
【0047】
MFP110は、Webブラウザ1000、インストール処理部1010、アプリケーション管理部1020、メニューアプリケーション1030、認証アプリケーション1040を有する。Webブラウザ1000、インストール処理部1010、アプリケーション管理部1020、メニューアプリケーション1030、認証アプリケーション1040のそれぞれは、MFP110のCPU201が制御プログラムを実行することにより実現される。Webブラウザ1000は、Webアプリケーションサーバ130と通信を行うことによってコンテンツを取得し、画面に表示するといった機能を有する。
【0048】
Webブラウザ1000は、通信部1001、解析部1002、画面表示部1003、を有する。通信部1001は、HTTPプロトコルに従って、ネットワークI/F206を介してWebアプリケーションサーバ130のWebアプリケーション900と通信する。例えば、通信部1001は、Webブラウザ1000で表示した操作画面を介して入力される情報をWebアプリケーション900に対するリクエストとして送信する。また、通信部1001は、Webアプリケーション900から送信されるレスポンスを受信する。
【0049】
解析部1002は、Webアプリケーション900から受信したレスポンスを解析する。レスポンスの中には、Webブラウザ1000に表示すべき操作画面の内容を示す記述であるHTMLデータが含まれている。画面表示部1003は、解析部1002による解析結果に基づいて、HTMLデータを操作部111に操作画面を表示したり、JavaScript(登録商標)ファイルを現在表示しているコンテンツ上で実行したりする。
【0050】
インストール処理部1010は、アプリケーションのインストールを制御するソフトウェアモジュールである。インストール処理部1010は、ネットワークI/F206を介してPC140に接続されており、PC140からの指示によりアプリケーションのインストールを実行する。また、インストール処理部1010は、暗号化されたライセンスファイルを復号化するためのライセンスファイル復号鍵1011を含んでいる。ライセンスファイル復号鍵1011は、前述のライセンスファイル暗号鍵405に対応している。
【0051】
アプリケーション管理部1020は、インストールされているアプリケーションを管理するソフトウェアモジュールであり、インストールされたアプリケーション及びライセンスファイルを管理するためのライセンス管理テーブルを持つ。
【0052】
メインメニュー1030は、画面表示部1032、ボタン管理部1031を有する。
ボタン管理部1031は、メニューアプリケーションに表示すべきGUI(グラフィカル・ユーザインタフェース)ボタンの情報を保存する。GUIボタンの情報とは、例えば、GUIボタンに表示する画像や文字列、及び、そのGUIボタンが押下されたときに起動するアプリケーションと、起動時のパラメータである。
【0053】
画面表示部1032は、ボタン管理部1031に登録されているGUIボタンの情報に従って、
図15に示すメニューアプリケーションを表示する。また、ユーザ操作によってメニューアプリケーションに表示されるGUIボタンのいずれかが選択及び押下された場合に、そのGUIボタンに対応するアプリケーションを起動する。
【0054】
認証アプリケーション1040は、MFP110のユーザ認証を実施する。認証アプリケーション1040は、認証部1042を介してユーザを識別するための認証処理を実施し、アクセス管理部1041を介してメニューアプリケーションのGUIボタンの有効化及び無効化の表示制御処理を実行する。
【0055】
認証部1042は、ユーザの認証処理を実施する。例えば、MFP110に対してユーザが未認証の状態にある場合、操作部111に
図14に示す認証画面を表示し、操作部111を介してユーザからの認証情報の入力を受け付ける。認証部1042は、入力された認証情報を、ネットワークI/F206を介して外部の認証サーバ(不図示)に送信して認証結果を受信する、または、HDD204内に保持されるユーザ認証情報との照会を実施する。ユーザの認証情報の保存先、また、その認証のアルゴリズム、入力方法には、他の方法が用いられても良い。
【0056】
アクセス管理部1041は、ユーザのアクセス制御を実施する。アクセス管理部1041は、認証部1042によって認証されたユーザの
図13に示すアクセス制限情報と、メニューアプリケーションのGUIボタンに関連付けられている
図11に示す機能分類情報とを参照する。そして、アクセス管理部1041は、メニューアプリケーションのGUIボタンの無効化または有効化の表示制御処理を実行し、
図15に示すメニューアプリケーションを表示する。
【0057】
図11は、アプリケーション管理部1020で保持されるアプリケーション管理テーブル1100の一例を示す図である。
【0058】
本テーブルでは、アプリケーションID1101と、アプリケーションのタイトル1102、アプリケーションのURL情報1103が管理される。また、有効期限1104、及びライセンスID1105及び1106、アプリケーションの機能分類情報1107、ルートURLの情報が管理される。ライセンスIDには、ライセンスの再利用を防止するために、過去にインストールされた複数のIDが管理される。
【0059】
列1101は、アプリケーションIDを示している。列1102は、アプリケーションのタイトル名を示している。列1103は、WebアプリケーションのURLを示している。本項目は、インストールされたアプリケーションがWebアプリケーション用のダミーアプリケーションである場合にのみ登録される。URLが登録されていないアプリケーションは、MFPアプリケーションであることを示している。列1104は、有効期限を示している。列1105及び1106は、ライセンスIDを示している。
【0060】
列1107は、アプリケーションの機能分類情報を示している。列1108は、WebアプリケーションのルートURLを示している。行1109は、アプリケーションID「APP001」のCOPYというMFPアプリケーションに対して、有効期限が無期限であるライセンスLIC001が発行されており、機能分類がCOPYであることを示している。行1110は、アプリケーションID「APP002」のScanWebAppというWebアプリケーションに対し、有効期限が20140501であるライセンスLIC002が発行されており、機能分類がScantoSMBであることを示している。
【0061】
[MFP110のWebアプリケーション登録処理]
図12は、本実施形態におけるMFP110のWebアプリケーション登録処理の手順を示すフローチャートである。アプリケーション購入者は、前述したとおり暗号化されたアプリケーションとライセンスアクセス番号をアプリケーション販売者から受け取り、ライセンス管理サーバ120からライセンスファイルを受け取る。
【0062】
本処理は、アプリケーション購入者がPC140を用いて、暗号化されたアプリケーションと、ライセンスファイルのインストールを開始することによって開始される。
図12の各処理は、例えば、MFP110のCPU201がROM302に記憶されたプログラムをRAM203に読み出して実行することにより実現される。
【0063】
S1201は、アプリケーション及びライセンスのインストール受付ステップである。インストール処理部1010に対して、暗号化されたアプリケーションと、暗号化されたライセンスファイルがPC140より送信されると、インストール処理部1010は、それらのファイルを受信する(ファイル取得の一例)。さらに、インストール処理部1010は、ライセンスファイル復号鍵1011を用いて、ライセンスファイルを復号化する。そして、インストール処理部1010は、復号化されたライセンスファイルに含まれるアプリケーション暗号共通鍵を用いて、暗号化されたアプリケーションを復号化し、S1202に進む。
【0064】
S1202は、ライセンス検証ステップである。復号化されたライセンスファイルに記述されているデバイスIDと、MFP110に予め設定されているデバイスIDとを比較し、正しいライセンスファイルであるか(等しいか)否かを判定する。ライセンスファイルが正しいと判定された場合には、復号化されたアプリケーションがアプリケーション管理部1020に渡されてHDD204に保存され、S1203に進む。正しくないと判定された場合には、
図12の処理を終了する。
【0065】
S1203は、アプリケーション種別判定ステップである。アプリケーション管理部1020は、復号化されたアプリケーションから、アプリケーションファイルがMFP110で実行する実行ファイルを含むMFPアプリケーションであるか、Webアプリケーション用のダミーアプリケーションであるかを判定する。ダミーアプリケーションであると判定された場合にはS1204に進み、MFPアプリケーションであると判定された場合には1205に進む。
【0066】
S1204は、Webアプリケーションのアプリケーション情報抽出ステップである。CPU201は、ダミーアプリケーションに保持されている、URLを記述したファイル620から、WebアプリケーションのURL情報621と、ルートURL622を抽出する。さらに、CPU201は、Manifestファイル610に保持されるアプリケーションID611、アプリケーションのタイトル情報612、アプリケーションの機能分類情報613を抽出する。その後、S1206に進む。一方、S1205は、MFPアプリケーションのインストールステップである。MFPアプリケーションである場合のライセンス情報の処理、及びメニューアプリケーションへの登録処理を行う。その後、
図12の処理を終了する。
【0067】
S1206は、アプリケーション情報の登録ステップである。CPU201は、ライセンスファイルに記録されている有効期限と現在日時から、アプリケーションが無効となる日時を計算する。さらに、S1204で抽出されたURL情報及びルートURL、アプリケーションID及びライセンスID、機能分類情報、アプリケーションのタイトル情報、有効期限日をアプリケーション管理テーブル1100に登録する。
【0068】
S1207は、メニューアプリケーションにGUIボタンを登録するステップである。CPU201は、S1204で抽出したURLのWebアプリケーションにアクセスするためのGUIボタンをメニューアプリケーションに登録する。例えば、メニューアプリケーション上のGUIボタンと、URLとの関連付けが行われる。その後、
図12の処理を終了する。
【0069】
図13は、認証アプリケーション1040のアクセス制御部1041によって管理されるアクセス制限情報テーブルの一例を示す図である。本テーブルは、ユーザの識別子1301と、ユーザのロール(権限)情報1302と、各機能に対する制限情報1303〜1307が保持される。各制限情報は、利用可能な場合には、Permit(許可)と登録される。一方、利用できない、つまり制限されている場合には、Deny(拒否)と登録される。例えば、アクセス制限情報テーブル1300におけるUserAは一般ユーザ(General User)の権限を持ち、ScantoE−mail機能及びScantoSMBの利用が制限されていることが示されている。また、UserBは管理者権限(Administrator)を持ち、全ての機能に対してアクセスが可能であることが示されている。
【0070】
図14は、MFP110の操作部111に表示される認証画面1400の一例を示す図である。本画面は、MFP110に対してユーザが認証されていない状態である時に、認証アプリケーション1040の認証部1042によって表示される。領域1401は、ユーザID入力フィールドであり、ユーザからユーザ識別子の入力を受け付ける。領域1402は、ユーザのパスワード入力フィールドであり、ユーザからのパスワード入力を受け付ける。ボタン1403は、ログインボタンであり、ログインボタンが押下された場合には、ユーザIDフィールド及びパスワードフィールドに入力されたユーザ情報に基づき、認証部1042によって認証処理が実施される。ここで、認証処理が成功した場合には、メニューアプリケーション1030のUI画面が操作部111に表示される。認証処理が失敗した場合には、その旨の警告画面が表示され、認証画面1400が再度表示される。
【0071】
図15は、MFP110の操作部111に表示されるメニューアプリケーション1030の一例を示す図である。メニューアプリケーションのUI1500は、MFP110に実装されている各アプリケーションの起動ボタンであるGUIボタン(アイコン)の一覧が表示され、ランチャーの役割を果たす。メニューアプリケーションのUI1500に表示されるGUIボタンの情報は、ボタン管理部1031に記憶され、画面表示部1032により画面に表示される。
【0072】
メニューアプリケーションのUI1500には、WebアプリケーションのGUIボタン1501及び1502が含まれる。WebアプリケーションのGUIボタン1501及び1502は、WebアプリケーションのURLに接続するためのショートカットボタンである。GUIボタン1501及び1502がユーザにより押下されると、メニューアプリケーション1500は、Webブラウザ1000を起動すると共に、そのGUIボタンに対応付けられたURLを起動時パラメータとしてWebブラウザ1000に渡す。これにより、Webブラウザ1000が起動したときに当該GUIボタンに対応付られたURLがロードされる。つまり、GUIボタン1501及び1502は、Webアプリケーションのブックマークとしての役割を果たす。UI1510は、アクセス制限が実施された場合のメニューアプリケーションのUIの表示の一例であり、UI1500と同じ構成を持つ。
【0073】
UserAは、ScantoSMB及びScantoE−mailの利用が制限されている。本実施形態では、アクセス管理テーブルに登録されているUserAがMFP110に認証された場合、それらのGUIボタンがアクセス管理部1041によってグレー表示等により無効化され、押下できない(操作受付不可)状態となる。GUIボタン1512は、グレー表示により無効化された状態を示している。UserBがMFP110に認証された場合、UserBが管理者でありかつ全ての機能が利用可能であるので、GUIボタンの無効化は実施されず、全てのGUIボタンが有効(実行指示可能)となる。
【0074】
なお、本実施形態では、
図15に示すようなボタンの表示形態で表示されているが、他の形態によるGUI表示であっても良い。例えば、各ボタン表示の代わりに、機能名等に対応するサブウインドウであっても良い。
【0075】
図16は、MFP110の認証アプリケーション1040による認証から、メニューアプリケーションの表示までの処理の手順を示すフローチャートである。
図16の各処理は、例えば、MFP110のCPU201がROM302に記憶されたプログラムをRAM203に読み出して実行することにより実現される。
【0076】
S1601は、認証画面表示ステップである。MFP110に対してユーザが認証されていない状態では、操作部111に認証画面1400が表示される。S1602は、ログインボタン押下検出ステップである。CPU201は、認証画面1400のログインボタン1403がユーザに押下されたことを検出する。
【0077】
S1603は、ユーザー名/パスワード取得ステップである。CPU201は、認証画面1400のユーザID入力フィールド1401及びパスワード入力フィールド1402から、入力されたユーザID及びパスワードの値を取得する。S1604は、認証処理ステップである。認証部1042は、MFP110のHDD204に保持されているユーザ認証情報と、S1603で取得した認証情報とが一致するか否かを照会する。
【0078】
S1605は、認証成功の判定ステップである。照会が成功した、つまり認証が成功したと判定された場合には、S1606のメインメニューアプリケーション画面表示ステップに進む。照会が失敗した、つまり認証に失敗したと判定された場合には、S1607のエラーメッセージ表示ステップに進む。
【0079】
S1606は、メニューアプリケーション表示ステップである。認証が成功したと判定された場合には、ユーザがMFP110の機能を利用するためのメニューアプリケーションの画面を表示し、
図16の処理を終了する。本ステップにおいては、ユーザのアクセス制限情報に基づいて、
図17で後述するGUIボタンの有効化、及び無効化の処理が実施される。S1607は、エラーメッセージ表示ステップである。CPU201は、エラーメッセージで認証が失敗したことを示すメッセージを認証画面1400に表示し、認証画面表示ステップに戻る。
【0080】
図17は、認証アプリケーション1040によるアクセス制限実施の処理の手順を示すフローチャートである。
図17の各処理は、例えば、MFP110のCPU201がROM302に記憶されたプログラムをRAM203に読み出して実行することにより実現される。
【0081】
S1701は、ユーザのアクセス制限情報取得ステップである。本ステップでは、アクセス管理部1041は、HDD204に記憶されているアクセス制限情報テーブル1300から、認証したユーザのアクセス制限情報を取得する。S1702は、アプリケーション管理テーブル参照ステップである。CPU201は、アプリケーション管理部1020により管理されているアプリケーション管理テーブル1100を参照し、GUIボタンに関連付けられた機能分類情報を参照する。
【0082】
S1703は、アクセス制限判定ステップである。本ステップでは、GUIボタンに関連付けられている機能分類情報と、S1701で取得されたユーザのアクセス制限情報とを参照し、該当するGUIボタンに対してアクセス制限を行うか否かの判定を行う。S1704では、S1703で判定された内容に応じて、制限されていると判定された場合には、S1705のGUIボタンの無効化ステップに進み、制限されていないと判定された場合には、S1706のGUIボタンの無効化ステップに進む。
【0083】
S1707は、未処理のGUIボタンの判定ステップである。CPU201は、メニューアプリケーション1030上でアクセス制限の判定が行われていないGUIボタンが存在するか否かを判定する。全てのGUIボタンに対してアクセス制限の判定が実施されたと判定された場合には、S1708のメニューアプリケーション画面表示ステップに進む。一方、未処理のGUIボタンが存在すると判定された場合には、S1702のアプリケーション管理テーブル参照ステップに進む。
【0084】
S1708は、メニューアプリケーション画面表示ステップである。CPU201は、認証画面1400に続いて、
図15のメニューアプリケーション画面を操作部111に表示して、
図17の処理を終了する。
【0085】
図18は、GUIボタン1502がユーザにより押下されてから、Webアプリケーション900のコンテンツをWebブラウザ1000が表示するまでの処理の手順を示すフローチャートである。
図18の各処理は、例えば、MFP110のCPU201がROM302に記憶されたプログラムをRAM203に読み出して実行することにより実現される。本処理は、例えば、ユーザによりメニューアプリケーション1030に表示されているGUIボタン1502が押下されることによって開始される。
【0086】
S1801は、押下されたGUIボタンに対応するアプリケーションがWebアプリケーションであるか、又は、MFPアプリケーションであるかを判定するステップである。Webアプリケーションであると判定された場合には、S1802に進む。一方、MFPアプリケーションであると判定された場合には、S1803に進む。
【0087】
S1802は、有効期限の判定ステップである。メニューアプリケーション1030は、アプリケーション管理部1020に対してライセンスの確認を行う。アプリケーション管理部1020は、
図11に示すアプリケーション管理テーブル1100を参照し、該当するアプリケーションIDの有効期限を確認する。MFP110の現在時刻と、列1104の有効期限を比較し、該当するアプリケーションのライセンスの有効期限を過ぎていると判定された場合には、S1805に進む。有効期限内であると判定された場合には、S1804に進む。
【0088】
S1804は、URL取得ステップである。メニューアプリケーション1030は、アプリケーション管理部1020からWebアプリケーションのURLを取得する。S1805は、エラー画面表示ステップである。本ステップに進む場合には、ライセンスの有効期限が切れているので、メニューアプリケーション1030は、エラー画面を表示し、
図18の処理を終了する。
【0089】
S1806は、アプリケーション管理部1020がWebブラウザ1000に対して、S1804で取得されたURLを設定する。S1807では、アプリケーション管理部1020が、操作部111の表示をメニューアプリケーション1030からWebブラウザ1000のGUIウィンドウに切り換え、
図18の処理を終了する。
【0090】
図19は、本実施形態における、MFP110のメニューアプリケーション1030上に表示されるGUIボタン1501がユーザにより押下された場合に、操作部111に表示されるUI画面1900の一例を示す図である。
【0091】
図20は、Webブラウザ1000が接続先URLにアクセスする場合のWebブラウザ1000及びアクセス管理部1041の処理の手順を示すフローチャートである。
図20の各処理は、例えば、MFP110のCPU201がROM302に記憶されたプログラムをRAM203に読み出して実行することにより実現される。本処理は、Webブラウザ1000が、Webアプリケーションにリンク中、もしくは処理中に他のWebページに遷移する度に実施される。
【0092】
S2001は、接続先URLを抽出するステップである。Webブラウザ1000は、接続先(遷移先)のURL情報を本ステップにて確認する。S2002は、ルートURLの判定ステップである。Webブラウザ1000は、アプリケーション管理テーブル1100に保持されているルートURLが、S2001で抽出された接続先URLを含むか否かを判定する。
【0093】
S2003は、アクセス制限判定ステップである。Webブラウザ1000は、S2002でルートURLが接続先URLを含むと判定された場合には、対象となるアプリケーションを特定する。さらに、Webブラウザ1000は、対象となるアプリケーションが、アクセス制限対象になっているか否かをアクセス管理部1041に問い合わせる。アクセス管理部1041は、アクセス制限情報テーブル1300と、アプリケーション管理テーブル1100に保持されている対象となるアプリケーションの機能分類情報1107を参照する。そして、アクセス管理部1041は、対象となるアプリケーションに対してアクセス制限を実施するか否かを判定する。具体的には、アクセス制限情報テーブルで、対象となるアプリケーションの機能分類情報がPermitであるかDenyであるかが判定される。Permitであると判定された場合にはアクセス可と判定され、Denyであると判定された場合にはアクセス不可と判定される。
【0094】
S2004は、エラー画面表示ステップである。Webブラウザ1000は、S2003でアクセス不可と判定された場合には、エラー画面をWebブラウザ1000の画面表示部1003に表示し、接続先URLへの接続を行わず、
図20の処理を終了する。S2002で、アプリケーション管理テーブル1100に保持されているルートURLがS2001で抽出された接続先URLを含まないと判定された場合にも、S2004の処理を行うようにしても良い。若しくは、URLについてのアクセス制御を実行するようにしても良い。
【0095】
S2005は、接続先URLに接続するステップである。Webブラウザ1000は、通信部1001を介して、接続先URLに接続を行い、
図20の処理を終了する。
【0096】
本実施形態では、Webアプリケーションにアクセスするためには、まず、ダミーアプリケーション及びライセンスのインストールが必要となる。Webアプリケーションの実装する機能に関する機能分類情報及び接続先のURL情報が、ダミーアプリケーションに含まれている。つまり、ライセンスファイル及びダミーアプリケーションがインストールされた場合のみ、情報処理装置の操作部からWebアプリケーションにアクセスが可能な状態になる。さらに、ユーザ認証に基づくユーザのアクセス制限情報と、機能分類情報とに基づいて、メニューアプリケーション上のGUIボタンへのアクセス制限を実施する。これにより、Webアプリケーションの実現する機能に応じて、GUIボタンへのアクセス制限が実施可能となり、ユーザに対して特定のWebアプリケーションしか実行指示させないといったアクセス制限を実施することが可能となる。
【0097】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0098】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0099】
またコンピューターが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づきコンピューター上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【0100】
更に、次の場合も含まれる。記憶媒体から読出されたプログラムコードが、コンピューターに挿入された機能拡張ボードやコンピューターに接続された機能拡張ユニットに備わるメモリに書き込まれている。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される。