以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図1は、本発明に係る実施形態におけるネットワーク機器管理システムの構成を示す図である。図1に示すように、システム1は、アプリケーションサーバ100とクライアント端末120とMFP130を含む。アプリケーションサーバ100とクライアント端末120とMFP130は、ネットワーク150を介して相互に通信可能に接続されている。ネットワーク150は、LAN等の有線ネットワークでも良いし、無線通信が可能な無線ネットワークでも良い。アプリケーションサーバ100は、ネットワーク150に接続された各装置の管理を行う。管理として、例えば、アプリケーションサーバ100は、ネットワーク150に接続された各装置に適用可能なセキュリティ関連の設定情報を編集し、その編集した設定内容を設定対象の装置に配信する。以下、ネットワーク150に接続された装置を総称して「ネットワーク機器」ともいう。
セキュリティ関連の設定情報とは、システム1内で使用可能な、ユーザ情報の保護等を目的とした一般的なものであり、例えば、ユーザ認証の可否やログイン期限についての設定情報である。システム1の各ネットワーク機器に適用され得るセキュリティ関連の設定情報は多岐に渡り、本実施形態では、ネットワーク機器に実装されるファームウェアのバージョンに応じてカテゴリ分けされている。一例を挙げると、ファームウェアのバージョンがVer1.00の場合には、ゲストアカウント禁止やログイン期限等を含む「ユーザ認証やパスワード設定」のカテゴリの設定情報が設定可能である。また、Ver1.10の場合には、「ユーザ認証やパスワード設定」のカテゴリに加えて、ファイヤーウォール設定を含むネットワークカテゴリの設定情報が設定可能となる。本実施形態では、設定可能なカテゴリをネットワーク機器のファームウェアバージョンに対応付けており、そのような対応付けをセキュリティポリシー(SP)という。
MFP130は、スキャン機能、FAX機能や、プリント機能等、多機能が一体化されたいわゆる多機能型周辺装置(Multifunction Peripheral)である。システム1において、アプリケーションサーバ100は、ユーザから指定されたファームウェアバージョンに対応するセキュリティポリシーの設定情報を編集可能であり、編集した設定情報を配信対象(送信対象)のネットワーク機器に配信(送信)する。図1では、ネットワーク機器としてMFP130が示されている。MFP130は、アプリケーションサーバ100から、編集されたセキュリティポリシーの設定情報を受信して自装置に設定することができる。図1では、ネットワーク機器としてクライアント端末120とMFP130が示されているが、プリンタやFAX等、単機能型の装置がさらにネットワーク機器としてネットワーク150に接続されていても良い。
クライアント端末120は、アプリケーションサーバ100にHTTPリクエスト等によりアクセスしてアプリケーションサービスを要求することができる。アプリケーションサーバ100とクライアント端末120は、例えば汎用的なPC(情報処理装置)で構成される。以下、アプリケーションサーバ100のハードウェア構成を説明するが、クライアント端末120についてもアプリケーションサーバ100の説明と対応するので、クライアント端末120についての説明は省略する。
CPU101は、例えば、ROM103又はハードディスク(HDD)等の外部メモリ110に記憶されたアプリケーションプログラム(以下、アプリケーション)を実行して、アプリケーションサーバ100を統括的に制御する。また、CPU101は、ディスプレイ109(表示部)に編集画面等のユーザインタフェース画面を表示する。本実施形態では、CPU101は、セキュリティポリシーの設定情報の編集画面をディスプレイ109に表示することができる。また、ユーザは、キーボード108や、編集画面上でのカーソル操作等により、編集内容登録等の各指示を入力することができる。
RAM102は、CPU101の主メモリやワークエリア等として用いられる。ROM103は、基本I/Oプログラム等の記憶領域として用いられる読出専用のメモリである。ROM103又は外部メモリ110には、オペレーティングシステム(OS)や、アプリケーションの処理に使用する各種ファイルやデータ、本実施形態の動作を実現するための制御プログラム等が記憶されている。また、ROM103又は外部メモリ110には、ブートプログラム、各種アプリケーション、ユーザファイル、編集ファイル等も記憶されても良い。ネットワークI/F104は、アプリケーションサーバ100をネットワーク150に接続してネットワーク150上の他の機器との通信を可能にする。
キーボードI/F105は、キーボード108や不図示のポインティングデバイスと、システムバス111との間のアクセスを制御する。ディスプレイI/F106は、ディスプレイ109とシステムバス111との間のアクセスを制御する。外部メモリI/F107は、外部メモリ110とシステムバス111との間のアクセスを制御する。システムバス111は、CPU101〜外部メモリI/F107を相互に通信可能に接続する。
アプリケーションサーバ100は、CPU101がROM103又は外部メモリ110に記憶されている基本I/OプログラムとOSを実行することにより動作する。アプリケーションサーバ100の電源が投入されると、基本I/Oプログラムのイニシャルプログラムロード機能により、ROM103又は外部メモリ110からOSがRAM102に読み出されて実行される。
次に、MFP130のハードウェア構成を説明する。ネットワークI/F131は、MFP130をネットワーク150に接続してネットワーク150上の他の機器との通信を可能にする。CPU132は、ROM134又は外部メモリ142に記憶されたプログラムをRAM133に読み出して実行し、MFP130を統括的に制御する。ROM134又は外部メモリ142には、本実施形態の動作を実現するための制御プログラム等が記憶されている。
CPU132は、ネットワークI/F131を介してクライアント端末120との通信を行うことができ、また、MFP130の機器情報等をアプリケーションサーバ100に送信することができる。機器情報とは、例えば、MFP130固有の状態情報や、MFP130に設定されているセキュリティポリシーの設定情報である。
RAM133は、CPU132の主メモリやワークエリア等として用いられ、不図示の増設ポートに接続可能なオプションRAMによりそのメモリ容量を拡張することができる。また、RAM133は、出力情報展開領域、環境データ記憶領域、NVRAM等としても用いられる。ROM134は読出専用のメモリであり、外部メモリ142はHDDやICカード等で構成される。ROM134又は外部メモリ142には、アプリケーション、制御プログラム、出力情報を生成する際に用いられるフォントデータや、その他MFP130の動作上で利用される情報等が記憶される。
操作部I/F135は、操作部136と、システムバス143との間のアクセスを制御する。例えば、操作部I/F135は、CPU132の制御下で、セキュリティポリシーの設定情報の編集画面表示のための編集画面データを操作部136に出力する。また、操作部I/F135は、ユーザから操作部136を介して入力した操作情報をシステムバス143に出力する。操作部136は、ハードキーやLED表示等が設けられた操作パネルを含み、ユーザからの各機能の実行指示を受け付ける。
プリンタI/F138は、プリンタ138とシステムバス143との間のアクセスを制御する。例えば、プリンタI/F138は、CPU132の制御下で、プリンタ138に印刷対象の画像データを出力する。プリンタ138はプリンタエンジンであり、画像データに画像処理を実行する画像処理部や、記録ヘッド等の印刷機構を含む。スキャナI/F139は、スキャナ138とシステムバス143との間のアクセスを制御する。例えば、スキャナI/F139は、CPU132の制御下で、スキャナ138で原稿が光学的に読み取られた読取データを入力してシステムバス143に出力する。
外部メモリI/F141(メモリコントローラ)は、外部メモリ142とシステムバス143との間のアクセスを制御する。例えば、外部メモリI/F141は、システムバス143に接続された他のブロックから外部メモリ142へのデータの書込/読出を制御する。外部メモリ142は1個以上でも良く、内蔵フォントに追加するためのオプションフォントカードや、言語系の異なるプリンタ制御言語を解釈するためのプログラムを記憶した外部メモリ142を複数接続できるように構成されても良い。また、MFP130は、不図示のNVRAMを備えていても良く、例えば、操作部136からのプリントモード設定情報を記憶するようにしても良い。システムバス143は、ネットワークI/F131〜操作部I/F135、プリンタI/F137、スキャナI/F139、外部メモリI/F141を相互に通信可能に接続する。
図2は、ネットワーク機器管理システム1のソフトウェア構成を示す図である。まず、アプリケーションサーバ100のソフトウェア構成を説明する。アプリケーションサーバ100の各モジュールは、ファイル形式で外部メモリ110に記憶されている。それらのファイルは、OSや他のモジュールから呼び出されると、CPU101によりRAM102にロードされて実行される。ネットワーク機器管理アプリケーション202は、外部メモリ110の不図示のCD−ROMに記憶され、あるいは、ネットワーク150を介して外部メモリ110に記憶されている。
ネットワークモジュール200は、任意の通信プロトコルによりネットワーク150を介して、クライアント端末120やMFP130等、他のネットワーク機器との通信を行う。Webサーバサービスモジュール201は、例えば、クライアント端末120のWebブラウザ221から所定のアプリケーションサービスを要求するHTTPリクエストを受信すると、HTTPレスポンスを応答する。Webサーバサービスモジュール201は、HTTPレスポンスとして、外部メモリ110に記憶されたWebページデータを返信することもできる。ここで、HTTPレスポンスは、ネットワーク機器管理アプリケーション202のUIモジュール203からの要求により生成されても良い。
ネットワーク機器管理アプリケーション202は、アプリケーションサーバ100とネットワーク150を介して接続されたMFP130等のネットワーク機器を管理するためのアプリケーションである。ネットワーク機器管理アプリケーション202は、例えば、Webサーバサービスモジュール201が提供するWebページへのリクエストに応じて、処理を開始する。このように、ネットワーク機器管理アプリケーション202は、Webサーバサービスモジュール201と連携して、MFP130等のネットワーク機器を管理するWebアプリケーションサービスを提供することができる。
本実施形態において、ネットワーク機器管理アプリケーション202は、各ネットワーク機器のセキュリティポリシーの設定情報の設定値を編集し、その編集された設定情報を各ネットワーク機器に配信する。また、ネットワーク機器管理アプリケーション202は、サポートしていないバージョンの設定情報についても、他のネットワーク機器の編集画面情報を用いてアプリケーションサーバ100で編集画面を表示することができる。編集画面情報とは、例えば編集画面の表示処理に用いられる描画データ(編集画面データ)である。また、サポートしていないバージョンとは、例えば、現在サポートしているセキュリティポリシーのバージョンより新しい(以降にリリースされた)バージョンである。
ネットワーク機器管理アプリケーション202のUIモジュール203は、Webサーバサービスモジュール201からの要求に応じてHTTPレスポンスを生成する。また、UIモジュール203は、クライアント端末120のWebブラウザ221から送信されたユーザ入力情報を受信し、必要に応じて、探索モジュール204、セキュリティポリシー管理モジュール205等、他のモジュールを呼び出す。
探索モジュール204は、アプリケーションサーバ100とネットワーク150を介して接続されたMFP130等のネットワーク機器を、任意の通信プロトコルにより探索する。探索モジュール204は、例えば、SNMP(Simple Network Management Protocol)やSLP(Service Location Protocol)により探索を行う。探索の際に、WS−Discovery(Web Services Dynamic Discovery)等、他の通信プロトコルが用いられても良い。探索モジュール204は、例えばMFP130を探索すると、MFP130から機器情報を取得して後述のデータベースサーバサービスモジュール206のネットワーク機器管理テーブル301に格納する。また、アプリケーションサーバ100は、自身の機器情報については、アプリケーションサーバ管理テーブル300に記憶している。
SP管理モジュール205は、MFP130等のネットワーク機器からセキュリティポリシーの設定情報(SP設定情報)を取得する。また、SP管理モジュール205は、SP設定情報の編集機能を有し、また、SP設定情報をMFP130等のネットワーク機器に配信する機能を有している。SP設定情報の編集機能とは、SP設定情報を編集するための編集画面の表示データを作成し、その表示データに基づいてディスプレイ109に編集画面を表示する機能である。既に述べたように、セキュリティポリシーの設定情報は、各バージョンに応じて項目等が異なる。例えば、所定のバージョンのセキュリティポリシーは、ゲストアカウント禁止設定、パスワードキャッシュ禁止設定、初期パスワード変更強制設定などを設定項目として含む。ネットワーク機器管理アプリケーション202は、自身がサポート可能なセキュリティポリシーのバージョンについて、編集画面をディスプレイ109に表示することができる。SP管理モジュール205は、MFP130等のネットワーク機器から取得したSP設定情報に含まれるSPVer識別子に応じて、図3に示すネットワーク機器を管理する管理テーブルを動的に更新することも可能である。
データベースサーバサービスモジュール206は、後述する図3や図4に示す各テーブルを管理し、他のモジュールからの要求に応じてテーブルの格納/取出しを行う。図2では、データベースサーバサービスモジュール206は、アプリケーションサーバ100内に構成されているが、ネットワーク機器管理アプリケーション202からアクセス可能であれば、アプリケーションサーバ100と別の機器内に構成されても良い。
次に、クライアント端末120のソフトウェア構成を説明する。なお、クライアント端末120の各モジュールは、ファイル形式でクライアント端末120のROM103又は外部メモリ110に記憶されている。それらのファイルは、OSや他のモジュールから呼び出されると、クライアント端末120のCPU101によりクライアント端末120のRAM102にロードされて実行される。
ネットワークモジュール220は、任意の通信プロトコルによりネットワーク150を介して、アプリケーションサーバ100やMFP130等他のネットワーク機器との通信を行う。Webブラウザ221は、例えば、ネットワークモジュール220を介してアプリケーションサーバ100にHTTPリクエストを送信し、アプリケーションサーバ100からHTTPレスポンスを受信する。
次に、MFP130のソフトウェア構成を説明する。MFP130の各モジュールは、ファイル形式でROM134又は外部メモリ142に記憶されており、CPU132によりRAM133にロードされて実行される。ネットワークモジュール230は、任意の通信プロトコルによりネットワーク150を介して、アプリケーションサーバ100やクライアント端末120等他のネットワーク機器との通信を行う。
SP管理モジュール231は、MFP130のSP設定情報の管理を行う。SP管理モジュール231は、ネットワーク機器管理アプリケーション202のSP管理モジュール205から配信されたSP設定情報をネットワークモジュール230を介して受信し、その設定情報を自装置に設定する。また、SP管理モジュール231は、ネットワーク機器管理アプリケーション202のSP管理モジュール205からの要求に応じて、自装置のSP設定情報をアプリケーションサーバ100に送信する。さらに、SP管理モジュール231は、SP設定情報の編集機能を有している場合、SP管理モジュール205からのSP設定情報の編集機能利用要求に応じて、SP設定情報の編集機能をアプリケーションサーバ100に提供する。
SP設定情報の編集機能とは、SP設定情報を編集するための編集画面の表示処理に用いられる描画データ(編集画面データ)を作成し、その表示データに基づいて操作部136に編集画面を表示する機能である。MFP130がSP設定情報の編集機能を有している場合に、アプリケーションサーバ100からSP設定情報の編集機能利用要求を受け付けると、編集画面の描画データをアプリケーションサーバ100に送信する。UIモジュール232は、MFP130の操作部136に表示されるユーザインタフェース画面(編集画面)の描画データを作成する。また、UIモジュール232は、操作部136で表示された、若しくは、アプリケーションサーバ100で遠隔表示されたユーザインタフェース画面上でのユーザ操作の受付に応じて、描画データを作成する。
このように、本実施形態では、MFP130がアプリケーションサーバ100から編集機能利用要求を受け付けると、MFP130で表示される編集画面の描画データがアプリケーションサーバ100に送信される。そして、アプリケーションサーバ100のディスプレイ109上でユーザ操作が行われると、その操作に応じた描画データがMFP130に返信され、あたかもMFP130上でユーザ操作が行われているかのようなリモート操作が実現される。その結果、アプリケーションサーバ100は、MFP130上の編集画面の遠隔表示機能により、自装置がサポートできないバージョンの設定情報の編集操作を可能とする。
図3及び図4は、データベースサーバサービスモジュール206に記憶される各テーブルの一例を示す図である。図3(a)に示すアプリケーションサーバ管理テーブル300は、アプリケーションサーバ100についての設定情報を管理するためのテーブルである。アプリケーションサーバ管理テーブル300は、アプリケーションサーバ識別子310、コンピュータ名311、システム名312、IPアドレス313、管理者314、SPver識別子315、を項目として含む。
アプリケーションサーバ識別子310は、アプリケーションサーバ100を一意に識別するための識別子である。コンピュータ名311はアプリケーションサーバ100の名称であり、システム名312はアプリケーションサーバ100が使用されるシステムの名称である。IPアドレス313はアプリケーションサーバ100のIPアドレスであり、管理者314はアプリケーションサーバ100の管理者の名称である。SPVer識別子315は、サポート可能なセキュリティポリシーのバージョンを示す。図3(a)ではSPVer識別子315が「2.0.0」と示されているが、これは、アプリケーションサーバ100がサポートしているセキュリティポリシーのバージョンが「2.0.0」であることを示している。
図3(b)に示すネットワーク機器管理テーブル301は、ネットワーク機器管理アプリケーション202の管理対象のネットワーク機器についての情報を管理するためのテーブルである。ネットワーク機器管理テーブル301は、ネットワーク機器識別子320、機器名称321、製品名322、IPアドレス323、シリアルナンバー324、設置場所325、管理者326、SPVer識別子327、SP編集機能の有無328を項目として含む。図3(b)では、管理対象として多機能型周辺装置のみが示されているが、単機能型装置等、他の種類のネットワーク機器が含まれても良い。以下の説明では、ネットワーク機器をMFP130として説明する。
ネットワーク機器識別子320は、MFP130を一意に識別するための識別子である。機器名称321はMFP130の名称であり、製品名322はMFP130の製品名である。IPアドレス323はMFP130のIPアドレスであり、シリアルナンバー324はMACアドレス等、装置固有の識別情報を示す。設置場所325はMFP130が設置されている場所であり、管理者326はMFP130の管理者の名称である。SPVer識別子327は、サポート可能なセキュリティポリシーのバージョンを示す。例えば、図3(b)のMFPAのSPVer識別子は「1.0.0」と示されているが、これは、MFPAに設定されているセキュリティポリシーのバージョンが「1.0.0」であることを示している。SP編集機能328は、各MFPについての、上述のSP設定情報の編集機能の有無を示す情報である。SP編集機能の有無についての情報は、例えば、アプリケーションサーバ100が、所定の時間間隔で定期的に各ネットワーク機器から機器情報として収集して取得するようにしても良い。
図3(c)に示すSP管理テーブル302は、各セキュリティポリシーを管理するためのテーブルである。SP管理テーブル302は、SP識別子330、SP名称331、SPVer識別子332、SP設定識別子333、最終更新日時334、を項目として含む。
SP識別子330は、各セキュリティポリシーを一意に識別するための識別子である。SP名称331は、セキュリティポリシーに付与された名称である。SPVer識別子332は、セキュリティポリシーのバージョンを示す。また、SPVer識別子332は、図4(a)〜(c)に示すセキュリティポリシーの各バージョンの設定管理テーブルを識別する際に用いられる。SP設定識別子333は、SPVer識別子332にて識別された各設定管理テーブル中の設定内容を一意に識別するための識別子である。例えば、「A棟用セキュリティポリシー」の設定内容は、SPVer識別子「1.0.0」およびSP設定識別子「1」で識別される。つまり、図4(a)の最上段の「ゲストアカウント禁止:FALSE〜監査ログ強制:FALSE」となる。最終更新日時334は、該当する名称のセキュリティポリシーについての情報が最後に更新された日時である。
図4(a)〜(c)は、セキュリティポリシーの各バージョンに対応する設定情報を示すテーブルである。図4(a)に示すSPv1管理テーブル400は、バージョンv1に対応するセキュリティポリシーの設定情報を管理するためのテーブルである。SPv1管理テーブル400は、SP設定識別子410、ゲストアカウント禁止411、パスワードキャッシュ禁止412、初期パスワード変更強制413、平文認証禁止414、SNMPv1禁止415、監査ログ強制416、を項目として含む。
SP設定識別子410は、図3(c)のSP設定識別子330に対応する。ゲストアカウント禁止411〜監査ログ強制416は、一般的なセキュリティ項目の例である。ゲストアカウント禁止411は、MFP130においてゲスト権限によるユーザの操作を禁止するための設定である。パスワードキャッシュ禁止412は、MFP130の操作部136からログイン操作を行う際にユーザIDに対応するパスワードのキャッシュを禁止するための設定である。初期パスワード変更強制413は、初回ログイン時にユーザの初期パスワードを強制的に変更させるための設定である。平文認証禁止414は、各種の認証処理で利用する認証鍵がそのままの形式でネットワーク150に流出することを禁止するための設定である。SNMPv1禁止415は、SNMPv1(Simple Network Management Protocol Version1)によるMFP130へのアクセスを禁止するための設定である。監査ログ強制416は、ユーザがMFP130に対して行った操作、及びその操作に伴う各種動作の履歴出力を強制するための設定である。例えば、ゲストアカウント禁止411が「TRUE」で設定された場合には、ゲストアカウントでのログインが禁止される。図4(a)に示すように、セキュリティポリシーのバージョンがv1の中で、SP設定識別子410により設定情報の設定内容を一意に識別することができる。
図4(b)に示すSPv2管理テーブル401は、バージョンv2に対応するセキュリティポリシーの設定情報を管理するためのテーブルである。SPv2管理テーブル401は、SP設定識別子420、ゲストアカウント禁止421、パスワードキャッシュ禁止422、を項目として含む。また、初期パスワード変更強制423、平文認証禁止424、SNMPv1禁止425、監査ログ強制426、パスワード有効期限427、パスワードの複雑さ428、を項目として含む。SP設定識別子420は、図4(a)における説明と同じである。ゲストアカウント禁止421〜パスワードの複雑さ428は、一般的なセキュリティ項目の例である。図4(a)と同名の項目については、図4(a)における説明と同じである。図4(b)では、SPv1管理テーブル400に対して、パスワード有効期限427及びパスワードの複雑さ428の項目が追加されている。パスワード有効期限427は、認定されたパスワードが利用可能な期間を設定する。パスワードの複雑さ428は、パスワードを設定する際に要求される文字数や文字種(英大文字/小文字、数字、記号)に関する設定である。
図4(c)に示すSPv3管理テーブル402は、バージョンv3に対応するセキュリティポリシーの設定情報を管理するためのテーブルである。SVv3管理テーブル402は、SP設定識別子430、ゲストアカウント禁止431、パスワードキャッシュ禁止432、初期パスワード変更強制433、を項目として含む。また、平文認証禁止434、SNMPv1禁止435、監査ログ強制436、パスワード有効期限437、パスワードの複雑さ438、を項目として含む。SP設定識別子430は、図4(a)における説明と同じである。ゲストアカウント禁止431〜パスワードの複雑さ438は、一般的なセキュリティ項目の例である。図4(a)及び(b)と同名の項目については図4(a)及び(b)における説明と同じである。
図4(c)の設定情報439〜441には、アプリケーションサーバ100がサポートしていない値である「xxx_xxxxx」、「yyy_yyyyy」、「zzz_zzzzz」が設定されている。ここでは、アプリケーションサーバ100は、図3(a)に示すように、バージョン2.0.0までしかサポートしていないとしている。サポート対象外のSP設定情報の処理については後述する。
図4(a)〜(c)に示すように、セキュリティポリシーのバージョンが上がるにつれて、SP設定情報の設定項目が拡張され、また、設定内容も変更され得る。図4(a)〜(c)の各テーブルは、MFP130等のネットワーク機器から送信された機器情報から作成されても良いし、既存のSPv1管理テーブル400〜SPv3管理テーブル402に基づいて新たに動的に作成されても良い。
図4(d)に示すSP配信タスク管理テーブル403は、MFP130等のネットワーク機器に対してSP設定情報を配信する配信タスク情報を管理するためのテーブルである。SP配信タスク管理テーブル403は、タスク識別子440、タスク名441、実行日時442、タスク状態443、ネットワーク機器識別子444、SPver445、SP識別子446、を項目として含む。タスク識別子440は配信タスクを一意に識別するための識別子であり、タスク名441は配信タスクの名称である。実行日時442は、配信タスクの配信実行予定日時若しくは配信実行済み日時を示す。タスク状態443は、配信タスクに対応するネットワーク機器に対する送信処理(配信処理)の状態を示す。例えば、SP配信タスク1に対応するネットワーク機器に対しては送信処理済みであることを示し、SP配信タスク3及び4に対応するネットワーク機器に対しては、送信処理を待機していることを示す。ネットワーク機器識別子444は、配信対象のネットワーク機器を一意に識別するための識別子であり、IPアドレス等が用いられても良い。SPVer445は、配信対象のセキュリティポリシーのバージョンを示す情報である。SP識別子446は、図3(c)と同様に、各セキュリティポリシーを一意に識別するための識別子である。
続いて、図5〜図7を参照しながら、SP設定情報の編集時にMFP130のSP編集機能を利用する際の動作を説明する。本実施形態において、アプリケーションサーバ100、MFP130はそれぞれWebサーバを内包し、SPの内容確認又は編集については、それぞれのSP管理用Webページから実行可能である。なお、図5の処理を開始するにあたって、図6に示すセキュリティポリシーリスト600において任意のSP設定情報がラジオボタン601の押下により選択されて編集ボタン602が押下されている。また、アプリケーションサーバ100は、SP管理用Webページとしてセキュリティポリシー設定画面700および710を有し、MFP130は、不図示であるが、セキュリティポリシー設定画面700と同等の画面を有する。図5に示す各処理は、例えば、アプリケーションサーバ100のCPU101がROM103から制御プログラムをRAM102に読み出して実行することにより実現される。
S500において、CPU101は、図6に示すセキュリティポリシーリスト600から任意のSP設定情報の選択を受付けると、S501に進む。S501において、CPU101は、SP管理テーブル302を参照し、S500で選択を受け付けたSP設定情報のバージョン情報に対応するSPVer332(図5では「Ver1」と図示)を取得し、S502に進む。S502において、CPU101は、アプリケーションサーバ管理テーブル300を参照し、アプリケーションサーバ100がサポートするSPバージョンSPVer315(図5では「Ver0」と図示)を取得し、S503に進む。
S503において、CPU101は、S501で取得した編集対象のSP設定情報のSPバージョンと、アプリケーションサーバ100がサポートするSPバージョンとを比較する。そして、CPU101は、アプリケーションサーバ100がサポートするSPバージョンが、S501で取得した編集対象のSP設定情報のSPバージョンより新しいか否かを判定する。ここで、アプリケーションサーバ100がサポートするSPバージョンがS501で取得したSPバージョンより新しいと判定された場合にはS504に進み、新しくないと判定された場合にはS509に進む。
S504において、CPU101は、ネットワーク機器管理アプリケーション202が有するセキュリティポリシー設定画面700をディスプレイ109に表示する。S505において、S504で表示されたセキュリティポリシー設定画面700上で、ユーザによるSPの確認又は編集の操作が行われると、S506に進む。
S506において、CPU101は、S504で表示されたセキュリティポリシー設定画面700上の更新ボタン701が押下されたかキャンセルボタン702が押下されたかを判定する。ここで、更新ボタン701が押下されたと判定された場合にはS507に進み、キャンセルボタン702が押下されたと判定された場合には図5の処理を終了する。
S507において、CPU101は、S505におけるユーザのSP編集操作により、SPが変更されたか否かを判定する。ここで、SPが変更されたと判定された場合にはS508に進み、SPが変更されていないと判定された場合には図5の処理を終了する。S508において、CPU101は、S505におけるユーザのSP編集操作により編集されたSP設定情報をデータベースサーバサービスモジュール206のSP管理テーブル400〜402のいずれかに反映し、図5の処理を終了する。
次に、S503で、アプリケーションサーバ100がサポートするSPバージョンがS501で取得したSPバージョンより新しくないと判定された場合について説明する。
S509において、CPU101は、編集対象のSP設定情報のSPバージョンと、アプリケーションサーバ100の管理下のMFP130がサポートする最も新しいSPバージョン(図5では「Ver2」と図示)とを比較する。S510において、CPU101は、アプリケーションサーバ100の管理下のMFP130がサポートする最も新しいSPバージョンが、編集対象のSP設定情報のSPバージョンより新しいか否かを判定する。ここで、アプリケーションサーバ100の管理化のMFP130がサポートするSPバージョンが、編集対象のSP設定情報のSPバージョンより新しいと判定された場合にはS511に進み、新しくないと判定された場合にはS504に進む。
S510からS504に進んだ場合には、例えば、後述する図9のセキュリティポリシー設定画面900によりSPバージョン間での差分情報を表示する。そして、差分情報に基づいて、アプリケーションサーバ100のネットワーク機器管理アプリケーション202を更新してサポートするSPバージョンを更新し、その後、S504以降の処理を行うようにする。
S511において、CPU101は、編集対象のSP設定情報のSPバージョンより新しいSPバージョンをサポートするMFP130が複数台存在するか否かを判定する。ここで、複数台存在すると判定された場合にはS512に進み、複数台存在しないと判定された場合にはS514に進む。
S512において、CPU101は、セキュリティポリシー編集先デバイスリスト610をディスプレイ109に表示し、S513に進む。S513において、CPU101は、セキュリティポリシー編集先デバイスリスト610のラジオボタン611によるユーザのMFP130の選択操作と選択ボタン612の押下を受け付けると、SPを編集するMFP130を選択し、S514に進む。S514において、CPU101は、S513で選択されたMFP130から既存のSP設定情報を取得し、アプリケーションサーバ100のデータベースサーバサービスモジュール206に保存して退避し、S515に進む。S515において、CPU101は、S500で選択されたSP設定情報を、S513で選択されたMFP130に配信し、S516に進む。
S516において、CPU101は、MFP130のセキュリティポリシー設定画面715をインラインフレームとして取り込み遠隔表示したアプリケーションサーバ100のセキュリティポリシー設定画面710をディスプレイ109に表示しS517に進む。なお、セキュリティポリシー設定画面710のボタン制御については図8で後述する。
S517において、CPU101は、S516で表示されたセキュリティポリシー設定画面710上でユーザによるSPの確認又は編集の操作が行われると、S518に進む。ここで、ユーザによるSPの確認又は編集の操作が行われる場合とは、図8のセキュリティポリシー設定画面715上で更新ボタン716が押下されて、SPの確認又は編集の操作が行われた場合である。
S518において、CPU101は、S516で表示されたセキュリティポリシー設定画面710上で更新ボタン711が押下されたか、キャンセルボタン712が押下されたかを判定する。ここで、更新ボタン711が押下されたと判定された場合にはS519に進み、キャンセルボタン712が押下されたと判定された場合にはS523に進む。
S519において、CPU101は、S517でのユーザのSP編集操作によりSPが変更されたか否かを判定する。ここで、SPが変更されたと判定された場合にはS520に進み、SPが変更されなかったと判定された場合にはS522に進む。S520において、CPU101は、変更後のSP設定情報をアプリケーションサーバ100に保存するか否かを判定する。ここで、変更後のSP設定情報をアプリケーションサーバ100に保存すると判定された場合にはS521に進み、変更後のSP設定情報をアプリケーションサーバ100に保存しないと判定された場合にはS522に進む。なお、S520の判定処理では、図7(b)における「編集したセキュリティポリシーをサーバに保存する」を示すチェックボックス713がチェックされている状態であれば、変更後のSP設定情報をアプリケーションサーバ100に保存すると判定する。S521において、CPU101は、変更後のSP設定情報をMFP130から取得してデータベースサーバサービスモジュール206に格納し、S522に進む。
S522において、CPU101は、S514においてアプリケーションサーバ100に保存した変更前のSP設定情報をMFP130に再設定するか否かを判定する。ここで、変更前のSP設定情報をMFP130に再設定すると判定された場合にはS523に進み、再設定しないと判定された場合には図5の処理を終了する。なお、S522の判定処理では、図7(b)における「デバイスのセキュリティポリシーを変更前の状態に戻す」を示すチェックボックス714がチェックされている状態であれば、変更前のSP設定情報をMFP130に再設定すると判定する。S523において、CPU101は、アプリケーションサーバ100に保存退避した変更前のSP設定情報を、MFP130に再設定し、図5の処理を終了する。
図8は、図7のセキュリティポリシー設定画面710の画面制御処理の手順を示すフローチャートである。S800において、CPU101は、MFP130のセキュリティポリシー設定画面715をインラインフレームとして取り込んだアプリケーションサーバ100のセキュリティポリシー設定画面710をディスプレイ109に表示し、S801に進む。セキュリティポリシー設定画面710は、セキュリティポリシー編集先デバイスリスト610で選択されたMFP130のセキュリティポリシー設定画面715をインラインフレームで含んでいる。そのMFP130は、セキュリティポリシーリスト600で選択されたSP設定情報の編集のために、セキュリティポリシー編集先デバイスリスト610で選択されている。
S801において、CPU101は、セキュリティポリシー設定画面710の各種ボタンの属性を有効若しくは無効に設定し、S802に進む。ここで、CPU101は、更新ボタン711を無効に設定し、キャンセルボタン712、更新ボタン716、キャンセルボタン717を有効に設定するよう制御する。
S802において、CPU101は、ユーザによるボタンの押下を受け付け、S803に進む。S803において、CPU101は、S802で押下を受け付けたボタンがキャンセルボタン712であるか否かを判定する。ここで、キャンセルボタン712であると判定された場合にはS814に進み、キャンセルボタン712でないと判定された場合にはS804に進む。
S804において、CPU101は、S802で押下を受け付けたボタンが更新ボタン716であるか否かを判定する。ここで、ユーザによりインラインフレームで取り込まれたMFP130のセキュリティポリシー設定画面715上での編集が行われた後、更新ボタン716が押下されたと判定された場合にはS805に進む。一方、更新ボタン716でないと判定された場合にはS800に戻る。
S805において、CPU101は、セキュリティポリシー設定画面710を再表示処理し、S806に進む。S806において、CPU101は、S805で再表示処理したセキュリティポリシー設定画面710の各種ボタンの属性を有効若しくは無効に設定し、S807に移行する。ここで、CPU101は、更新ボタン711、キャンセルボタン712を有効に設定し、更新ボタン716、キャンセルボタン717を無効に設定するよう制御する。なお、インラインフレーム内に表示する表示するセキュリティポリシー設定画面715の更新ボタン716とキャンセルボタン717については、例えばサンドボックス化することによりユーザのアクセスを制限する。
S807において、CPU101は、ユーザによるボタンの押下を受け付け、S808に進む。S808において、CPU101は、S807で押下を受け付けたボタンが更新ボタン711であるか、キャンセルボタン712であるかを判定する。ここで、更新ボタン711であると判定された場合にはS809に進み、キャンセルボタン712であると判定された場合にはS813に進む。
S809において、CPU101は、S807におけるボタン押下以前にユーザによりSP設定情報が変更されたか否かを判定する。S807におけるボタン押下以前とは、例えば、S804で更新ボタン716が押下されてセキュリティポリシーが編集される場合が該当する。ここで、SP設定情報が変更されたと判定された場合にはS810に進み、SP設定情報が変更されていないと判定された場合にはS812に進む。
S810において、CPU101は、変更後のSP設定情報をアプリケーションサーバ100に保存するか否かを判定する。ここで、変更後のSP設定情報をアプリケーションサーバ100に保存すると判定された場合にはS811に進み、保存しないと判定された場合にはS812に進む。なお、S810の判定処理では、図7(b)の「編集したセキュリティポリシーをサーバに保存する」を示すチェックボックス713がチェックされている状態であれば、変更後のSP設定情報をアプリケーションサーバ100に保存すると判定する。
S811において、CPU101は、編集後のSP設定情報をMFP130から取得してデータベースサーバサービスモジュール206に格納し、S812に進む。S812において、CPU101は、アプリケーションサーバ100に保存退避した変更前のSP設定情報を、MFP130に再設定するか否かを判定する。ここで、アプリケーションサーバ100に保存した変更前のSP設定情報をMFP130に再設定すると判定された場合にはS813に進み、再設定しないと判定された場合にはS814に進む。なお、S812の判定処理では、図7(b)のチェックボックス714がチェックされている状態であれば、アプリケーションサーバ100に保存退避した変更前のSP設定情報をMFP130に再設定すると判定する。
S813において、CPU101は、アプリケーションサーバ100に保存退避した変更前のSP設定情報をMFP130に再設定し、S814に進む。S814において、CPU101は、不図示のSP管理用WebページのTOPページをディスプレイ109に表示し、図8の処理を終了する。
以上においては、編集対象のSP設定情報をMFP130のSP編集機能を利用して編集する際の動作について説明した。以下、編集対象のSP設定情報のバージョンがアプリケーションサーバ100およびMFP130と整合しなかった場合のセキュリティポリシー設定画面の表示について説明する。
図9(a)に示すセキュリティポリシー設定画面900は、図7で説明した画面と同様の機能を有するが、以下の点において異なる。セキュリティポリシーバージョン情報表示領域901は、編集対象のSP設定情報のバージョン、および、SP編集機能を利用するMFP130がサポートするSPバージョンを表示する領域である。セキュリティポリシーバージョン情報表示領域901には、編集対象のSP設定情報のSPバージョン、SP編集機能を利用するMFP130がサポートするSPバージョン、および、両バージョンの差異によって発生する編集対象外の項目数が表示される。また、アプリケーションサーバ100のSP編集機能を利用する場合で、編集対象のSP設定情報のSPバージョンがアプリケーションサーバ100がサポートするSPバージョンより新しい場合にも、上記と同様の内容が表示される。但し、その場合、図9の項目名について、「編集対象MFP」は「アプリケーションサーバ」として表示される。
詳細リンク902は、図9(b)の「対象外の項目」画面910をサブウィンドウで表示するためのボタンである。詳細リンク902は、編集対象のSP設定情報のSPバージョンが、アプリケーションサーバ100若しくはMFP130のサポートするSPバージョンと整合しない場合に表示される。
チェックボックス903は、図7(b)のチェックボックス713と同様の「編集したセキュリティポリシーをサーバに保存する」ためのチェックボックスである。ボタン904は、図7の更新ボタン711と同様の更新ボタンである。チェックボックス903がチェックされた状態で更新ボタン904が押下されると、図9(c)のバージョン選択ダイアログ920(選択画面)が表示され、選択されたバージョンでの保存が実行される。
図9(b)に示す「対象外の項目」画面910の差分表示領域911には、MFP130ではサポートしているが、編集対象のSP設定情報には含まれない項目の項目名、および、項目数が表示される。なお、その場合は、編集対象のSP設定情報のSPバージョンが、SP編集機能を利用するMFP130がサポートするSPバージョンより新しい場合である。また、本実施形態におけるSP設定情報はXML形式のデータであり、差分表示領域911における項目名はXMLデータのタグ情報に基づいて表示される。
また、差分表示領域911で表示される情報は、MFP130がサポートしているが編集対象のSP設定情報には含まれない情報の他、編集対象のSP設定情報には含まれるがMFP130がサポートしていない情報を表示する場合もある。MFP130がサポートしているが編集対象のSP設定情報には含まれない情報を表示する場合とは、例えば、後述する図10のS1009の場合である。また、編集対象のSP設定情報には含まれるがMFP130がサポートしていない情報を表示する場合とは、例えば、後述する図10のS1010の場合である。また、編集対象のSP設定情報には含まれるがアプリケーションサーバ100がサポートしていない情報を表示する場合もある。それは、例えば、後述する図10のS1005の場合である。また、図5のS510の判定処理によりS504に進んだ場合に表示されても良い。差分表示領域911に表示される差分情報の生成方法については、図10において説明する。閉じるボタン912が押下されることにより、「対象外の項目」画面910がクローズされる。
バージョン選択ダイアログ920は、「編集したセキュリティポリシーをサーバに保存する」を示すチェックボックス903がチェックされた状態で更新ボタン904が押下されることにより表示される。本ダイアログにおいて、OKボタン922が押下されると、CPU101は、バージョン選択部921で選択されたラジオボタンが示すバージョンでSP設定情報をアプリケーションサーバ100に保存する。また、キャンセルボタン923が押下されると、CPU101は、バージョン選択ダイアログ920を閉じてセキュリティポリシー設定画面900に戻る。
図9(a)及び(b)のような画面の表示により、ユーザの選択対象のSP設定情報が、アプリケーションサーバ100またはMFP130がサポートするSP設定情報とのバージョン及び項目の違いについて認識することができる。例えば、図9(a)及び(b)の画面が表示された場合には、ユーザは、自身の選択対象のSP設定情報を編集(変更)可能な装置がMFPAであることと、MFPAがサポートするバージョンとの設定項目との違いを認識することができる。また、その認識により、例えば、ユーザは、図9(b)に示される3つの項目を編集項目として新たに考慮し、MFPAの編集機能を用いて編集することができる。その場合には、編集されたSP設定情報のデータを、図9(c)の画面上で選択されたバージョンでアプリケーションサーバ100に保存することができる。その保存されたデータは、ネットワーク機器管理アプリケーション202のバージョンが刻新されることによりアプリケーションサーバ100自身で編集可能となる。
また、ユーザは、図9(a)及び(b)の表示後、アプリケーションサーバ100のネットワーク機器管理アプリケーション202のバージョンを、図9(a)で表示されたMFPAのバージョンに更新しても良い。そして、上記3つの項目についてアプリケーションサーバ100自身で編集可能とした後に、アプリケーションサーバ100で編集しても良い。
図10は、アプリケーションサーバ100のネットワーク機器管理アプリケーション202において、「対象外の項目画面」910の差分表示領域911に表示される差分情報を生成する処理の手順を示すフローチャートである。図10に示す各処理は、例えば、アプリケーションサーバ100のCPU101がROM103から制御プログラムをRAM102に読み出して実行することにより実現される。
S1000において、CPU101は、アプリケーションサーバ管理テーブル300のSPVer315を参照し、アプリケーションサーバ100がサポートするSPバージョン(図10では「Ver0」と図示)を取得し、S1001に進む。S1001において、CPU101は、SP管理テーブル302を参照し、図5のS500においてユーザが選択したSP設定情報のSPバージョン(図10では、「Ver1」と図示)を取得し、S1002に進む。
S1002において、CPU101は、S1000で取得したアプリケーションサーバ100がサポートするバージョンと、S1001で取得したユーザが選択したSP設定情報のSPバージョンとを比較する。そして、CPU101は、ユーザが選択したSP設定情報のSPバージョンが、アプリケーションサーバ100がサポートするバージョンより新しいか否かを判定する。ここで、ユーザが選択したSP設定情報のバージョンの方が新しいと判定された場合にはS1003に進み、新しくないと判定された場合には差分情報の生成は行わないとして図10の処理を終了する。これは、アプリケーションサーバ100は、古いバージョンのSP設定情報に対して各バージョン毎のSP編集用の構成テーブルを有しており、各バージョンの編集操作が可能であるので、特に表示用の差分情報を生成する必要がないからである。
S1003において、CPU101は、ネットワーク機器管理テーブル301のSPVer327を参照し、アプリケーションサーバ100の管理下のMFP130がサポートするSPバージョンのうち最も新しいバージョンを有するMFP130を検出(特定)してそのバージョンを取得し、S1004に進む。図10では、管理下のMFP130がサポートするSPバージョンのうち最も新しいバージョンは「Ver2」と図示されている。
S1004において、CPU101は、S1001で取得したユーザが選択したSP設定情報のSPバージョンと、S1003で取得したMFP130がサポートする最も新しいSPバージョンとを比較する。そして、CPU101は、MFP130がサポートする最も新しいSPバージョンが、ユーザが選択したSP設定情報のSPバージョンより新しいか否かを判定する。ここで、MFP130がサポートする最も新しいSPバージョンの方が新しいと判定された場合にはS1007に進み、新しくないと判定された場合にはS1005に進む。
S1005において、CPU101は、ユーザが選択したSP設定情報と、アプリケーションサーバ100がサポートするSPバージョンのSP設定情報とから、差分情報の生成を行い表示し、S1006に進む。本実施形態においては、SP設定情報はXML形式で表わされているので、CPU101は、タグ情報の比較により、アプリケーションサーバ100がサポートできないデータのタグ情報、および、項目数の表示用データを表示することができる。
S1006において、CPU101は、アプリケーションサーバ100の編集機能のみを利用し、セキュリティポリシー設定画面900上で、ユーザによるSP設定情報の編集を受け付ける。S1006の処理後、図10の処理を終了する。S1006の処理は、S1005の処理後、差分情報に基づいて、アプリケーションサーバ100のネットワーク機器管理アプリケーション202のSPバージョンが、ユーザの編集対象のSP設定情報のSPバージョンに更新された後に行われる。
以上のように、本実施形態においては、ユーザが選択したSP設定情報がアプリケーションサーバ100がサポートするSPバージョンより新しい場合には、図9(a)及び(b)に示すように、差分情報が表示される。
S1007において、CPU101は、セキュリティポリシー編集先デバイスリスト610においてユーザが選択したMFP130がサポートするSPバージョン(図10では「Ver3」と図示)を取得し、S1008に進む。
S1008において、CPU101は、S1001で取得したユーザが選択したSP設定情報のSPバージョンと、S1007で取得したユーザが選択したMFP130がサポートするSPバージョンとを比較する。そして、CPU101は、MFP130がサポートするSPバージョンが、ユーザが選択したSP設定情報のSPバージョンより新しいか否かを判定する。ここで、MFP130がサポートするSPバージョンの方が新しいと判定された場合にはS1009に進み、新しくないと判定された場合にはS1010に進む。
S1009において、CPU101は、ユーザが選択したMFP130がサポートするSPのバージョンでは含まれるが、ユーザが選択したSP設定情報には含まれない差分情報を生成して表示し、S1011に進む。本実施形態においては、SP設定情報はXML形式で表わされているので、CPU101は、タグ情報の比較により差分情報を生成する。
一方、S1010において、CPU101は、ユーザが選択したSP設定情報には含まれるが、ユーザが選択したMFP130がサポートするSPバージョンのSP設定情報には含まれない差分情報を生成して表示し、S1011に進む。本実施形態においては、SP設定情報はXML形式で表わされているので、CPU101は、タグ情報の比較により差分情報を生成する。
S1011において、CPU101は、ユーザが選択したMFP130のSP編集機能をインラインフレームに内包したアプリケーションサーバ100のセキュリティポリシー設定画面710をディスプレイ109に表示する。S1011における表示により、ユーザによるSP設定情報の編集が可能となる。S1011の処理後、図10の処理を終了する。S1011の処理がS1010の処理後に行われる場合、S1011の処理は、差分情報に基づいて、MFP130がサポートするSP管理モジュール231のSPバージョンが、ユーザの編集対象のSP設定情報のSPバージョンに更新された後に行われる。
以上のように、本実施形態においては、ユーザの編集対象のSP設定情報のSPバージョンがアプリケーションサーバ100およびMFP130のサポートするSPバージョンと整合しなかった場合には、その差分情報が表示される。その結果、ユーザは、SPバージョン間でどの項目について異なっているかを容易に認識することができる。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。