以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図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やMFP150等、他のネットワーク機器との通信を行う。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は、アプリケーションサーバ識別子、コンピュータ名、システム名、IPアドレス、管理者、SPver識別子、を項目として含む。
アプリケーションサーバ識別子は、アプリケーションサーバ100を一意に識別するための識別子である。コンピュータ名はアプリケーションサーバ100の名称であり、システム名はアプリケーションサーバ100が使用されるシステムの名称である。IPアドレスはアプリケーションサーバ100のIPアドレスであり、管理者はアプリケーションサーバ100の管理者の名称である。SPVer識別子は、サポート可能なセキュリティポリシーのバージョンを示す。図3(a)ではSPVer識別子が「2」と示されているが、これは、アプリケーションサーバ100がサポートしているセキュリティポリシーのバージョンが「2」であることを示している。
図3(b)に示すネットワーク機器管理テーブル301は、ネットワーク機器管理アプリケーション202の管理対象のネットワーク機器についての情報を管理するためのテーブルである。ネットワーク機器管理テーブル301は、ネットワーク機器識別子、機器名称、製品名、IPアドレス、シリアルナンバー、設置場所、管理者、SPVer識別子、SP編集機能の有無、を項目として含む。図3(b)では、管理対象として多機能型周辺装置のみが示されているが、単機能型装置等、他の種類のネットワーク機器が含まれても良い。以下の説明では、ネットワーク機器をMFP130として説明する。
ネットワーク機器識別子は、MFP130を一意に識別するための識別子である。機器名称はMFP130の名称であり、製品名はMFP130の製品名である。IPアドレスはMFP130のIPアドレスであり、シリアルナンバーはMACアドレス等、装置固有の識別情報を示す。設置場所はMFP130が設置されている場所であり、管理者はMFP130の管理者の名称である。SPVer識別子は、サポート可能なセキュリティポリシーのバージョンを示す。例えば、図3(b)のMFPAのSPVer識別子は「1」と示されているが、これは、MFPAに設定されているセキュリティポリシーのバージョンが「1」であることを示している。SP編集機能は、各MFPについての、上述のSP設定情報の編集機能の有無を示す情報である。SP編集機能の有無についての情報は、例えば、アプリケーションサーバ100が、所定の時間間隔で定期的に各ネットワーク機器から機器情報として収集して取得するようにしても良い。
図3(c)に示すSP管理テーブル302は、各セキュリティポリシーを管理するためのテーブルである。SP管理テーブル302は、SP識別子、SP名称、SPVer識別子、SP設定識別子、最終更新日時、を項目として含む。
SP識別子は、各セキュリティポリシーを一意に識別するための識別子である。SP名称は、セキュリティポリシーに付与された名称である。SPVer識別子は、セキュリティポリシーのバージョンを示す。また、SPVer識別子は、図4(a)〜(c)に示すセキュリティポリシーの各バージョンの設定管理テーブルを識別する際に用いられる。SP設定識別子は、SPVer識別子にて識別された各設定管理テーブル中の設定内容を一意に識別するための識別子である。例えば、「A棟用セキュリティポリシー」の設定内容は、SPVer識別子「1」およびSP設定識別子「1」で識別される。つまり、図4(a)の最上段の「ゲストアカウント禁止:FALSE〜監査ログ強制:FALSE」となる。最終更新日時は、該当する名称のセキュリティポリシーについての情報が最後に更新された日時である。
図4(a)〜(c)は、セキュリティポリシーの各バージョンに対応する設定情報を示すテーブルである。図4(a)に示すSPv1管理テーブル400は、バージョンv1に対応するセキュリティポリシーの設定情報を管理するためのテーブルである。SPv1管理テーブル400は、SP設定識別子、SPVer、ゲストアカウント禁止、パスワードキャッシュ禁止、初期パスワード変更強制、平文認証禁止、SNMPv1禁止、監査ログ強制、を項目として含む。
SP設定識別子は、図3(c)のSP設定識別子に対応する。SPVerは、セキュリティポリシーのバージョンを示し、図4ではサブバージョン情報まで示されている。ゲストアカウント禁止〜監査ログ強制は、一般的なセキュリティ項目の例である。例えば、ゲストアカウント禁止が「TRUE」で設定された場合には、ゲストアカウントでのログインが禁止される。図4(a)に示すように、セキュリティポリシーのバージョンがv1の中でも、SP設定識別子により設定情報の設定内容を一意に識別することができる。
図4(b)に示すSPv2管理テーブル401は、バージョンv2に対応するセキュリティポリシーの設定情報を管理するためのテーブルである。SPv2管理テーブル401は、SP設定識別子、SPVer、ゲストアカウント禁止、パスワードキャッシュ禁止、初期パスワード変更強制、ログイン期限有効、パスワードの複雑さ、平文認証禁止、SNMPv1禁止、監査ログ強制、を項目として含む。SP設定識別子、SPVerは、図4(a)における説明と同じである。ゲストアカウント禁止〜監査ログ強制は、一般的なセキュリティ項目の例である。但し、SPv1管理テーブル400に対して、ログイン期限有効及びパスワードの複雑さの項目が追加されている。
図4(c)に示すSPv3管理テーブル402は、バージョンv3に対応するセキュリティポリシーの設定情報を管理するためのテーブルである。SVv3管理テーブル402は、SP設定識別子、SPVer、ゲストアカウント禁止、パスワードキャッシュ禁止、初期パスワード変更強制、を項目として含む。また、ログイン期限有効、パスワードの複雑さ、平文認証禁止、SNMPv1禁止、ファイヤーウォール強制、SNTP強制、弱い暗号禁止、監査ログ強制、を項目として含む。SP設定識別子、SPVerは、図4(a)における説明と同じである。ゲストアカウント禁止〜監査ログ強制は、一般的なセキュリティ項目の例である。但し、SPv2管理テーブル401に対して、ファイヤーウォール強制、SNTP強制、弱い暗号禁止の項目が追加されている。
図4(a)〜(c)に示すように、セキュリティポリシーのバージョンが上がるにつれて、SP設定情報の設定項目が拡張され、また、設定内容も変更され得る。図4(a)〜(c)の各テーブルは、MFP130等のネットワーク機器から送信された機器情報から作成されても良いし、既存のSPv1管理テーブル400〜SPv3管理テーブル402に基づいて新たに動的に作成されても良い。
図4(d)に示すSP配信タスク管理テーブル403は、MFP130等のネットワーク機器に対してSP設定情報を配信する配信タスク情報を管理するためのテーブルである。SP配信タスク管理テーブル306は、タスク識別子、タスク名、実行日時、タスク状態、ネットワーク機器識別子、SP識別子、を項目として含む。タスク識別子は配信タスクを一意に識別するための識別子であり、タスク名は配信タスクの名称である。実行日時は、配信タスクの配信実行予定日時若しくは配信実行済み日時を示す。タスク状態は、配信タスクに対応するネットワーク機器に対する送信処理(配信処理)の状態を示す。例えば、SP配信タスク1に対応するネットワーク機器に対しては送信処理済みであることを示し、SP配信タスク3及び4に対応するネットワーク機器に対しては、送信処理を待機していることを示す。ネットワーク機器識別子は、配信対象のネットワーク機器を一意に識別するための識別子であり、IPアドレス等が用いられても良い。SP識別子は、図3(c)と同様に、各セキュリティポリシーを一意に識別するための識別子である。
図5は、SP設定情報の編集画面の表示制御処理の手順を示すフローチャートである。図5に示す各処理は、例えば、アプリケーションサーバ100のCPU101がROM103から制御プログラムをRAM102に読み出して実行することにより実現される。
S500において、ネットワーク機器管理アプリケーション202のSP管理モジュール205は、データベースサーバサービスモジュール206からSP管理テーブル302、SPv1管理テーブル400〜SPv3管理テーブル402の設定情報を取得する。S501において、SP管理モジュール205は、S500で取得した設定情報に基づいて、編集対象のセキュリティポリシーを選択するための選択画面をディスプレイ109に表示する。
図6は、S501で表示される選択画面の一例を示す図である。表示領域601には、名称、バージョン、最終更新日時が表示される。「名称」は、図3(c)のSP管理テーブル302のSP名称に対応する。「バージョン」は、図3(c)のSPVer識別子及びSP設定識別子により、SPv1管理テーブル400〜SPv3管理テーブル402から一意に識別されるバージョン情報である。「最終更新日時」は、図3(c)のSP管理テーブル302の最終更新日時に対応する。ユーザは、表示領域601に表示されたいずれかのセキュリティポリシーをラジオボタンにより選択し、編集ボタン600を押下する。S502において、SP管理モジュール205は、編集ボタン600が押下されたか否かを判定する。ここで、押下されたと判定された場合にはS503に進み、押下されなかったと判定された場合には、押下を判定するまでS502の処理を繰り返す。
S503において、SP管理モジュール205は、データベースサーバサービスモジュール206で管理されているアプリケーションサーバ管理テーブル300を参照し、SPVer識別子を含むアプリケーションサーバ100の情報を取得する。S504において、SP管理モジュール205は、S501でユーザから図6の選択画面上で選択されたセキュリティポリシーのバージョンと、S503で取得されたSPVer識別子の情報とを比較する。ここで、ユーザから図6の選択画面上で選択されたセキュリティポリシーのバージョンの方が新しい場合には、S505に進む。一方、S503で取得されたSPVer識別子で示されるバージョンの方が古いか、若しくは、両バージョンが同じである場合には、S516に進む。S516においては、SP管理モジュール205は、セキュリティポリシーの設定情報を編集するための編集画面をディスプレイ109に表示する。
本実施形態においては、選択画面上で選択されたバージョンが、アプリケーションサーバ100がサポートするバージョンより新しいか否かについて判定している。これは、バージョンが新しくなる(バージョン番号が上がる)につれて設定情報の項目が拡張されていくことを考慮しているからである。つまり、本実施形態では、アプリケーションサーバ100がサポートしているバージョンが「2」であるならば、サポート可能なバージョンは「1」と「2」であり、「3」以上のバージョンはサポート不可となる。しかしながら、例えば、アプリケーションサーバ100の各バージョンのサポート可否情報に従って、選択画面上で選択されたバージョンがアプリケーションサーバ100のサポートバージョンであるか否かを判定するようにしても良い。その場合、選択画面上で選択されたバージョンがアプリケーションサーバ100のサポートバージョンであると判定されるとS516に進む。
図8は、S516で表示される編集画面の一例を示す図である。図8の表示領域800には、図6の選択画面上でユーザにより選択されたセキュリティポリシーについての情報が表示される。例えば、表示領域800には、図6の表示領域601に表示された名称、バージョン、最終更新日時が表示される。表示領域801には、S503で取得されたアプリケーションサーバ100についての設定情報が表示される。その際、S503で取得された情報のうち任意の項目が表示されるようにしても良い。
表示領域802には、S500で取得されたSP設定情報に基づいて、SP設定情報の編集画面が表示される。例えば、表示領域802では、編集対象は表示領域800で表示されているようにバージョンv1.0.0であるので、図4(a)に示すゲストアカウント禁止〜監査ログ強制の各設定項目がラジオボタンで選択可能に表示される。図8のボタン803がユーザにより押下されると、図6の編集画面が再び表示される。また、ボタン805がユーザにより押下されると、ユーザの選択操作がキャンセルされる。
図3(a)及び図8に示されるように、SP管理モジュール205は、セキュリティポリシーのバージョン「2」をサポートしている。また、表示領域800に示されるように、図6の選択画面上でユーザが編集対象として選択したセキュリティポリシーのバージョンは「1」である。つまり、SP管理モジュール205がサポート可能なバージョンがユーザにより選択されたので、SP管理モジュール205は、自身の編集画面表示機能を用いて編集画面を表示する。
S517において、SP管理モジュール205は、図8の登録ボタン804がユーザにより押下されたか否かを判定する。ここで、登録ボタン804が押下されたと判定された場合にはS518に進む。一方、押下されなかったと判定された場合には、押下されたと判定されるまで、S517の処理を繰り返す。S518において、SP管理モジュール205は、表示領域802の編集画面上で編集された設定内容をデータベースサーバサービスモジュール206に格納する。その格納の際には、図3(c)の最終更新日時を更新し、図4(a)〜(c)の該当するテーブルを、編集された設定内容に基づいて更新する。その後、S514において、編集画面802で編集されたSP設定情報を配信対象のネットワーク機器に送信する。配信対象のネットワーク機器への送信処理については後述する。
S504の説明において、SP管理モジュール205は、S501でユーザから図6の選択画面上で選択されたセキュリティポリシーのバージョンと、S503で取得されたSPVer識別子の情報とを比較すると説明した。しかしながら、バージョンの比較に加えて、ユーザから図6の選択画面上で選択されたセキュリティポリシーの設定情報の各設定項目がSP管理モジュール205の編集機能に対応しているか否かを判定するようにしても良い。
次に、S504においてユーザから図6の選択画面上で選択されたセキュリティポリシーのバージョンの方が新しいと判定された場合について説明する。
S505において、SP管理モジュール205は、データベースサーバサービスモジュール206に管理されているネットワーク機器管理テーブル301を参照し、各ネットワーク機器についての情報を取得する。S506において、SP管理モジュール205は、図6の選択画面上で選択されたセキュリティポリシーのバージョンと合致し、且つ、SP設定情報の編集画面表示機能を実行可能なネットワーク機器を検索する。バージョンの合致については、ネットワーク機器管理テーブル301のSPVer識別子の項目を参照し、編集画面表示機能の有無については、SP編集機能の項目を参照する。SP管理モジュール205は、検索されたネットワーク機器が複数であるか否かを判定する。ここで、複数であると判定された場合にはS507に進み、複数でない(1台)と判定された場合にはS509に進む。
S507において、S506で検索されたネットワーク機器の選択画面を表示する。図7は、ネットワーク機器の選択画面の一例を示す図である。表示領域703には、S506で検索されたネットワーク機器についての情報に基づいて、デバイス名、製品名、IPアドレスが表示され、各ネットワーク機器がラジオボタンにより選択可能に表示される。その際、S506で検索された各ネットワーク機器についての情報のうち任意の項目が表示される。ここで、各ネットワーク機器がサポートするバージョンが合わせて表示される場合もある。図6の選択画面上で、バージョン2.0.0が選択されたとすると、図7で表示される各ネットワーク機器がサポートするバージョンとしては、例えば、バージョン2.0.0が表示される。また、ネットワーク機器が現在サポートするバージョンより古いバージョンをサポート可能であれば、例えばバージョン2.0.0以降にリリースされたバージョン3.0.0がネットワーク機器と合わせて表示される場合もある。図7のボタン700がユーザにより押下されると、図6の編集画面が再び表示される。また、ボタン702がユーザにより押下されると、ユーザの選択操作がキャンセルされる。
S508において、SP管理モジュール205は、図7のボタン701がユーザにより押下されたか否かを判定する。ここで、ボタン701が押下されたと判定された場合にはS509に進む。一方、押下されなかったと判定された場合には、押下されたと判定されるまで、S508の処理を繰り返す。
S509において、SP管理モジュール205は、表示領域703でユーザにより選択されたネットワーク機器の情報に基づいて、そのネットワーク機器で現在設定されているSP設定情報を取得する。これは、ユーザから選択されたバージョンのSP設定情報を編集し、その編集後のSP設定情報を配信する場合、その配信は、配信対象のネットワーク機器に対してのみに限る必要があるからである。ユーザから選択されたバージョンをサポートするネットワーク機器がS506で検索された場合には、S510において、その検索されたネットワーク機器の編集画面をアプリケーションサーバ100に遠隔表示して、そのバージョンに対応する編集操作を可能とする。その場合、編集操作を登録ボタン押下により終了すると、編集されたSP設定情報が、そのネットワーク機器に対して設定される。そこで、もし、そのネットワーク機器がアプリケーションサーバ100からの配信対象でない機器の場合には、誤った設定を行うことになってしまう。本実施形態では、そのような場合を想定し、遠隔表示を行う前にS509にて、そのネットワーク機器で現在設定されている(編集前の)SP設定情報を取得(退避)して一時的にアプリケーションサーバ100のRAM102等に保持しておく。
S510において、SP管理モジュール205は、S506で検索され、若しくは、さらにS507で選択されたネットワーク機器のSP管理モジュール231の編集機能にアクセスする。そして、SP管理モジュール205は、そのネットワーク機器の編集機能に対応した編集画面をディスプレイ109に遠隔表示する。編集画面の表示は、アプリケーションサーバ100がネットワーク機器から編集画面の描画データを取得し、そして、アプリケーションサーバ100上での編集画面操作に応じた描画データをネットワーク機器に返信することによって行われる。
図9は、S510で表示される編集画面の一例を示す図である。図9の表示領域900には、図6の選択画面上でユーザにより選択されたセキュリティポリシーについての情報が表示される。例えば、表示領域900には、図6の表示領域601に表示された名称、バージョン、最終更新日時が表示される。表示領域901には、表示領域703で選択されたネットワーク機器についての情報が表示される。その際、ネットワーク機器についての情報のうち任意の項目を表示するようにしても良い。
表示領域902には、S500で取得されたSP設定情報に基づいて、SP設定情報の編集画面が表示される。例えば、表示領域902では、編集対象は表示領域900で表示されているようにバージョンv3.0.0であるので、図4(c)に示すゲストアカウント禁止〜監査ログ強制の各設定項目がラジオボタンで選択可能に表示される。図9のボタン903がユーザにより押下されると、図7の選択画面が再び表示される。また、ボタン905がユーザにより押下されると、ユーザの選択操作がキャンセルされる。
図3(a)及び図9に示されるように、SP管理モジュール205は、セキュリティポリシーのバージョン「2」をサポートしている。また、表示領域900に示されるように、図6の選択画面上でユーザが編集対象として選択したセキュリティポリシーのバージョンは「3」である。つまり、SP管理モジュール205がサポートしていないバージョンがユーザにより選択されたので、SP管理モジュール205は、選択されたバージョンをサポートするネットワーク機器の編集画面を遠隔表示することで、自装置における編集操作を可能にする。
S511において、SP管理モジュール205は、図9の登録ボタン904がユーザにより押下されたか否かを判定する。ここで、登録ボタン904が押下されたと判定された場合にはS512に進む。一方、押下されなかったと判定された場合には、押下されたと判定されるまで、S511の処理を繰り返す。
S512において、SP管理モジュール205は、MFP130のSP管理モジュール231に対して、表示領域902の編集画面上で編集された設定内容をアプリケーションサーバ100のSP管理モジュール205に送信させるように指示する。SP管理モジュール205は、MFP130から受信した編集済みの設定内容をデータベースサーバサービスモジュール206に格納する。その格納の際には、図3(c)の最終更新日時を更新し、図4(a)〜(c)の該当するテーブルを、編集された設定内容に基づいて更新する。
次に、S513において、SP管理モジュール205は、編集画面902の対象となったMFP130がSP設定情報の配信対象であるか否かを判定する(機器判定の一例)。ここで、配信対象であると判定された場合にはS514に進み、配信対象でないと判定された場合にはS515に進む。S514においては、編集画面902で編集されたSP設定情報を配信対象のネットワーク機器に送信(配信)する。
S513での配信対象の判定においては、SP管理モジュール205は、データベースサーバサービスモジュール206からSP配信タスクテーブル403の配信タスク情報を参照する。そして、配信タスク情報のうちタスク状態が待機であり、且つ、図7の表示領域703で選択されたMFP130のネットワーク機器識別子と同一のネットワーク機器識別子が存在した場合に配信対象であると判定する。一方、存在していない場合には、表示領域703で選択されたMFP130は配信対象でないと判定する。
S515において、SP管理モジュール205は、S509で取得(退避)して一時的に保持しておいたSP設定情報を、S513で配信対象でないと判定されたMFP130にリストアのために送信する。その後、S514において、配信対象であると判定されたネットワーク150上の他のMFP130に対しては、編集画面902で編集されたSP設定情報を送信(配信)する。
以上のような実施形態は、例えば、図2の既存のネットワーク環境に、新しいSPバージョンの新規ネットワーク機器の段階導入を検討しているオフィス等に適用可能である。そのようなケースでは、先行導入された新規ネットワーク機器に対しては、アプリケーションサーバは、その新規ネットワーク機器の編集画面を用いて新しいSP設定情報の編集を行う。そして、アプリケーションサーバは、さらに後続で導入される新規ネットワーク機器に対しては、先述の編集済みの新しいSP設定情報を配信する。アプリケーションサーバは、編集済みの新しいSP設定情報を、新規ネットワーク機器導入前の既存のネットワーク機器にも配信可能である。その際に、既存のネットワーク機器では、新しいSP設定情報のうち、既存のネットワーク機器が解釈可能な設定項目のみが設定され、解釈不可能な設定項目については読み捨てられる。
また、以上の実施形態においては、アプリケーションサーバ100がシステム1のセキュリティ情報(設定情報)を管理するとして説明した。しかしながら、セキュリティ情報の管理を、クライアント120やMFP130が行うのであれば、図3及び図4の各テーブルをそれらの装置が有して図5の処理を行うようにしても良い。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又はコンピュータ読取可能な各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。