以下、本発明の実施例について説明する。図1は、ネットワークNL内に、複数のパーソナルコンピュータ(以下、「PC」とする。)10a,10b,10cと、多機能装置20と、DNSサーバ31と、DHCP(Dynamic Host Configuration Protocol)サーバ33と、SMTP(Simple Mail Transfer Protocol)サーバ35と、POP(Post Office Protocol)サーバ37と、ゲートウェイ39と、を備える本発明の管理システムが適用された通信システム1の構成を表す説明図である。また、図2(a)は、PC10(ここでは、PC10a〜cをまとめてPC10と表現する。)の構成を表すブロック図、図2(b)は、多機能装置20の構成を表すブロック図である。
ネットワークNLは、インターネットプロトコル(IP)での通信を前提としたネットワークであり、インターネットに接続されている。ネットワークNL内の各装置は、少なくともIPv4及びIPv6のいずれか一方のプロトコルスタックを有し、そのプロトコルスタックを用いて、ネットワークNL内の他の装置(但し、同種のプロトコルスタックを実行しているものに限る。)と、通信を行う構成にされている。
PC10は、各種演算処理を行うCPU11と、プログラム等が格納されたROM12と、一時記憶領域としてのRAM13と、オペレーティングシステム等が記憶されたハードディスク装置(HDD)14と、通信制御を行うためのプロトコルスタック15と、通信ケーブルLNが接続されるネットワークインタフェース(ネットワークI/F)16と、液晶ディスプレイ等からなる表示部17と、利用者が操作可能な入力部18(例えば、キーボードやポインティングデバイス)とを備え、これらがバス19を介して接続された構成にされている。
プロトコルスタック15は、ネットワークインタフェース16によるデータ通信がプロトコルスタック15に従った処理を経て行われる状態を概念的に示したものであり、実際には、IPv6に従ったデータ通信を実現するためにPC10に実装(ハードディスク装置14に記憶)されたプログラムモジュール、及び/又は、IPv4に従ったデータ通信を実現するためにPC10に実装されたプログラムモジュールで構成される。PC10は、このプログラムモジュールを、CPU11にて実行することにより、IPv6及び/又はIPv4にて通信可能な装置として機能し、多機能装置20等、ネットワークNL内の装置と通信する。
具体的に、ネットワークNL内のPC10aは、IPv4に従ったデータ通信を実現するためのプログラムモジュールを有し、これをCPU11にて実行することにより、IPv4で通信可能な装置として機能する。また、PC10bは、IPv6に従ったデータ通信を実現するためのプログラムモジュールを有し、これをCPU11にて実行することにより、IPv6にて通信可能な装置として機能する。その他、PC10cは、両プログラムモジュールを有し、これらをCPU11にて実行することにより、IPv4及びIPv6にて通信可能な装置として機能する。
また、ネットワークNL内のPC10a〜cのいずれか一つ(以下、これを「管理PC」と称する。)のハードディスク装置14には、多機能装置20の設定情報をSNMP(Simple Network Management Protocol)に基づいて変更するための管理ツール(プログラム)14aが記憶されており、管理PCは、これをCPU11にて実行することにより、多機能装置20に対する設定変更を、SNMPに基づいて、ネットワークNL経由で実行可能な構成にされる。
一方、多機能装置20は、各種演算処理を行うCPU21と、プログラム等を記憶するROM22と、一時記憶領域としてのRAM23と、NVRAM(Non Volatile RAM)24と、通信制御を行うためのプロトコルスタック25と、通信ケーブルLNに接続されるネットワークインタフェース(ネットワークI/F)26と、ユーザインタフェース(ユーザI/F)27と、記録紙に画像を形成可能な印刷部28とを備え、これらがバス29を介して接続された構成にされている。
プロトコルスタック25は、ネットワークインタフェース26によるデータ通信がプロトコルスタック25に従った処理を経て行われる状態を概念的に示したものであり、実際には、IPv6に従ったデータ通信を実現するためのプログラムモジュール、及び、IPv4に従ったデータ通信を実現するためのプログラムモジュールで構成される。
即ち、多機能装置20は、IPv6に対応したプログラムモジュールをCPU21にて実行することにより、IPv6による通信機能(以下、「IPv6通信機能」と称する。)を実現し、IPv4に対応したプログラムモジュールをCPU21にて実行することにより、IPv4による通信機能(以下、「IPv4通信機能」と称する。)を実現し、IPv4及びIPv6にて通信可能な装置として機能する。尚、多機能装置20は、IPv6通信機能、及び、IPv4通信機能をオン/オフ可能な構成にされている。
また、多機能装置20は、ROM22(若しくはNVRAM24)に、lpr(Line PRinter daemon protocol)に基づき、ネットワークNL内のPC10から印刷データを受信し、この印刷データに基づく画像を印刷部28に形成させるためのプログラムを有し、CPU21は、このプログラムを実行することにより、上記内容の処理を実行する印刷サーバ部21aとして機能する。その他、ROM22(若しくはNVRAM24)には、SMTPサーバ経由でメールを送信すると共に、POPサーバ(具体的にはPOP3サーバ)に保存されたメールを受信するためのプログラムが格納されており、CPU21は、このプログラムを実行することにより、メール送受信部21bとして機能する。
また、NVRAM24には、多機能装置20に関する設定情報(図3(b)参照)が登録されたデータベース(MIB:Management Information Base )と、管理PCからの指令を受けてデータベースに登録された設定情報の通知・更新などをSNMPに従って行うためのエージェントプログラムと、が記憶されており、多機能装置20は、このエージェントプログラムをCPU21にて実行することにより、SNMPエージェント21dとして機能し、管理PCからの指令に従って設定情報を提供し、又、設定情報を更新する。
その他、多機能装置20は、ROM22(若しくはNVRAM24)に、当該多機能装置20と通信したネットワーク内の装置についての通信履歴情報を、NVRAM24内のアクセスログ(図3(a)参照)に書き込むためのプログラムを有し、CPU21は、このプログラムを実行することにより、通信履歴記録部21cとして機能する。尚、このアクセスログは、MIBに登録され、SNMPにて、多機能装置20から管理PCに提供される。
続いて、アクセスログ及び設定情報の構成について説明する。図3(a)は、アクセスログの構成を表す説明図であり、図3(b)は、設定情報の構成を表す説明図である。
図3(a)に示すように、アクセスログは、過去の所定期間に多機能装置20にアクセスしてきたアクセス元装置毎に、ネットワーク上の名前であるノード名と、ノード名に対応するIPアドレスと、最終アクセス日時と、からなる通信履歴情報を有する。このアクセスログには、アクセス元装置のノード名が同一であってもアドレス形式が異なる場合、形式の異なるIPアドレス毎に、最終アクセス日時が記録される。
即ち、アクセスログには、ノード名が同一であっても、IPv4及びIPv6の夫々のIPアドレス及び最終アクセス日時が記録される。尚、周知のように、IPv4に対応するIPアドレスは、32ビットで表され、IPv6に対応するIPアドレスは、128ビットで表される。
一方、NVRAM24が記憶する設定情報は、主に、IPモードの設定値と、IPv4自動設定についての有効/無効を表す値と、IPv4での通信に用いる自装置のIPアドレス(IPv4アドレス)を表す値と、IPv4でのサブネットマスクを表す値と、IPv4での通信に用いるデフォルトゲートウェイのIPアドレスを表す値と、IPv6での通信に用いる自装置のIPアドレス(IPv6アドレス)を表す値と、プライマリDNSサーバのIPアドレスを表す値と、プライマリDNSサーバに代替して使用されるセカンダリDNSサーバのIPアドレスを表す値と、メール送受信部21bによるメール送信の際に用いられるSMTPサーバのアドレス(IPアドレス又はドメイン名)を表す値と、メール受信の際に用いられるPOP(具体的にはPOP3)サーバのアドレス(IPアドレス又はドメイン名)を表す値と、自装置のメールアドレスを表す値と、POPサーバから受信メールを取得する際に必要な認証情報としてのユーザ名を表す値と、パスワードを表す値と、からなるものである。
CPU21は、この設定情報に基づいて各種処理を行う。即ち、CPU21は、NVRAM24が記憶する設定情報が示す各値(各設定値)に対応する動作を行う。例えば、CPU21は、SMTPサーバのアドレスを表す値に基づいて、SMTPサーバと通信し、POPサーバのアドレスを表す値に基づいて、受信メールをPOPサーバから取得する。
また、CPU21は、MIBに、この設定情報を保持し、管理PCからの取得要求(GetRequest)を、ネットワークインタフェース26経由で受信すると、これらの値を格納した応答信号(GetResponce)を、要求元の管理PCにSNMPに基づいて送信する。また、管理PCから値変更の要求(SetRequest)を、ネットワークインタフェース26経由で受信すると、要求に従って設定情報を構成する各設定値を変更し、NVRAM24内の設定情報を更新する。
尚、上述したアクセスログは、CPU21が通信履歴記録処理を実行することにより、通信履歴記録部21cにて更新される。図4は、この通信履歴記録処理を表すフローチャートである。通信履歴記録処理は、電源投入後、電源がOFFにされるまで、CPU21にて繰り返し実行される。
通信履歴記録処理を実行すると、CPU21は、当該多機能装置20に対して外部からアクセス(接続)があるまで待機し(S110)、アクセスがあると(S110でYes)、アクセス元装置(通信相手)のIPアドレスを、受信パケットから抽出する(S120)と共に、アクセス元装置のノード名を取得する(S130)。ノード名として、ドメイン名を取得する場合には、例えば、DNSサーバ31にアクセスし、IPアドレスをもとにドメイン名を取得する方法(所謂、「逆引き」)が考えられる。
S130での処理を終えると、CPU21は、同一のノード名(ドメイン名)についての通信履歴情報(ノード名、IPアドレス及び最終アクセス日時の情報)が、NVRAM24が記憶するアクセスログに登録されているか否か判断し(S140)、登録されていないと判断すると(S140でNo)、そのアクセス元装置についての通信履歴情報、即ち、S130で取得したノード名と、S120で抽出したIPアドレスと、現在日時と、をアクセスログに追加書込する(S150)。尚、アクセスログが一定のデータ量を超える場合には、最終アクセス日時の最も古い通信履歴情報を削除し、これに代えて、今回のアクセスについての通信履歴情報を、アクセスログに登録する(S150)。その後、CPU21は、当該通信履歴記録処理を終了する。
これに対し、S130で取得したノード名の通信履歴情報が、既にアクセスログに登録されていると判断すると(S140でYes)、CPU21は、既に登録されている通信履歴情報のIPアドレスが、S120で抽出したIPアドレスと同一のアドレス形式であるか否か判断する(S145)。
具体的に、ここでは、抽出したIPアドレスがIPv4形式で、既に登録されているIPアドレスがIPv6形式である、又は、抽出したIPアドレスがIPv6形式で、既に登録されているIPアドレスがIPv4形式であると、抽出したIPアドレスのアドレス形式が、既に登録されているIPアドレスとは異なると判断し(S145でNo)、S130で取得したノード名と、S120で抽出したIPアドレスと、現在日時と、をアクセスログに追記する(S150)。
また、S145にてアドレス形式が同一であると判断すると(S145でYes)、CPU21は、既に登録されている通信履歴情報のIPアドレス及び最終アクセス日時を、S120で取得したIPアドレス及び現在日時に変更して、アクセスログを更新し(S160)、その後、当該通信履歴記録処理を終了する。
続いて、管理PCのCPU11が管理ツール14aを実行することにより実現される処理について説明する。図5は、CPU11が管理ツール14aを実行することにより実現される設定画面表示処理を表すフローチャートである。設定画面表示処理は、利用者の操作により入力部18から実行指令が入力されると、CPU11により実行される。
設定画面表示処理を実行すると、CPU11は、SNMPにて、図3(b)に示す設定情報の各値(設定値)の取得要求(GetRequest)を、ネットワークインタフェース16経由で多機能装置20に送信し、これにより上記各設定値(図3(b)に示す設定情報の各値)を多機能装置20から取得し、RAM13に保存する(S210)。この処理により、管理PCのRAM13には、図3(b)に示す設定情報と同一の各設定値が記憶される。この後、CPU11は、設定値を反映させたタブ構成の設定画面を表示部17に表示する(S220)。
図6は、上記設定画面の構成を表す説明図である。図6に示すように、設定画面は、タブと、そのタブに対応するダイアログと、からなるタブシートの複数を有する。具体的に、上記設定画面は、通信プロトコル(TCP/IP)に関する各種設定項目を有するダイアログを備えるタブシート(図6(a))と、POPサーバ及びSMTPサーバに関する各種設定項目を有するダイアログを備えるタブシート(図6(b))とを表示可能な構成にされている。尚、S220では、図6(a)に示す構成のタブシート、図6(b)に示す構成のタブシート、又は、その他のタブシートのうち、初期画面として設定されたタブシートを前面に表示する。
S220での処理を終えると、CPU11は、入力部18を利用者が操作することにより指令が入力された否か判断し(S230)、入力されていなければ(S230でNo)そのまま待機し、入力されたと判断すると(S230でYes)、入力された指令がタブの切替指令であるか否か判断する(S240)。そして、タブの切替指令であると判断すると(S240でYes)、設定画面の前面に表示するタブシートを切り替え(S245)、その後、S230に移行する。
これに対し、入力された指令がタブの切替指令ではないと判断すると(S240でNo)、CPU11は、入力された指令がプロトコルの切替指令であるか否か判断する(S250)。尚、本実施例では、図6(a)に示すタブシートに設けられたIPモードの設定項目が入力部18を通じて選択された場合に、入力部18からプロトコルの切替指令が入力されたと判断する。
そして、入力された指令がプロトコルの切替指令であると判断すると(S250でYes)、S255にてプロトコル切替処理(図7及び図8参照)を実行する。尚、この処理の内容については、後に詳述することにする。S255で、このプロトコル切替処理を終えると、CPU11は、S230に移行する。
また、入力された指令がプロトコル切替指令ではないと判断すると(S250でNo)、CPU11は、入力された指令がサーバの設定指令であるか否か判断する(S260)。尚、ここでは、図6(a)に示すタブシートに設けられた設定項目「プライマリDNSサーバアドレス」又は「セカンダリDNSサーバアドレス」の入力欄が入力部18を通じて選択されるか、図6(b)に示すタブシートに設けられた設定項目「SMTPサーバアドレス」又は「POPサーバアドレス」の入力欄が入力部18を通じて選択されると、サーバの設定指令が入力されたと判断する。
CPU11は、入力された指令がサーバの設定指令であると判断すると(S260でYes)、S265にてサーバ設定処理(図15参照)を実行する。尚、この処理の内容については、後に詳述することにする。S265で、このサーバ設定処理を終えると、CPU11は、S230に移行する。
その他、CPU11は、入力された指令がサーバの設定指令ではないと判断すると(S260でNo)、設定画面に設けられた「OK」ボタンが入力部18を通じて選択されたか否か判断し(S270)、「OK」ボタンが選択されたと判断すると(S270でYes)、上記設定画面に基づいて更新されたRAM13が記憶する多機能装置20についての各設定値を、値変更の要求(SetRequest)と共に、ネットワークインタフェース16経由で、多機能装置20に送信し、これによって、設定画面にて更新された各設定値の内容を、多機能装置20の設定情報に反映させる(S275)。尚、詳細は後述するが、S210で取得しRAM13に記録された各設定値は、プロトコル切替処理やサーバ設定処理により更新され、設定画面に設けられた「OK」ボタンが入力部18を通じて選択された時点で、多機能装置20に送信・反映される。
S275での処理が実行されると、設定画面を通じて利用者により変更された設定は、多機能装置20に施され、多機能装置20は、変更後の設定値(NVRAM24の設定情報)に対応した処理(動作)を行う。
S275での処理を終えると、CPU11は、表示部17に表示していた設定画面を閉じ、その表示を終了する(S290)。その後、設定画面表示処理を終了する。
一方、S270でNoと判断すると、CPU11は、設定画面に設けられた「キャンセル」ボタンが入力部18を通じて選択されたか否か判断し、「キャンセル」ボタン選択されたと判断すると(S280でYes)、S290に移行して設定画面の表示を終了し、設定画面表示処理を終了する。また、「キャンセル」ボタンが選択されていないと判断すると、CPU11は、S230で入力部18から入力された指令に対応するその他の処理を実行し(S285)、この後に、S230に移行して上述のステップを再び実行する。
続いて、プロトコル切替処理について説明する。図7及び図8は、管理PCのCPU11がS255にて実行するプロトコル切替処理を表すフローチャートである。また、図9は、プロトコル切替処理内で実行されるサーバ判定処理を表すフローチャートであり、図10は、サーバ判定処理内で実行されるプロトコル判定処理を表すフローチャートである。また、図11は、プロトコル切替処理内で実行されるログ判定処理を表すフローチャートである。
IPモードの設定項目は、プルダウン形式にされており、CPU11は、プロトコル切替処理を実行すると、プルダウン形式で、図6(a)において一点鎖線内に示した選択画面を表示する(S310)。
選択画面は、IPモードとして、多機能装置20に、IPv4通信機能及びIPv6通信機能を両方とも動作させるモードである「Dualモード」、IPv4通信機能のみを動作させるモードである「IPv4モード」、IPv6通信機能のみを動作させるモードである「IPv6モード」のいずれかを選択可能な構成にされている。このIPモードの設定値の変更により、多機能装置20のIPv4通信機能及びIPv6通信機能は、管理PCから遠隔操作で、オン/オフされる。
選択画面を表示すると、CPU11は、選択画面から上記IPモードのいずれかが選択されるまで待機し、選択されると、IPモードが切り替えられたか否か判断する(S320)。即ち、選択画面から既に設定されているIPモードとは異なるモードが選択されたか否か判断し(S320)、選択されたIPモードが既に設定されているIPモードと同一である場合にはNoと判断して、選択画面を閉じ(S325)、当該プロトコル切替処理を終了する。
一方、既に設定されているIPモードとは異なるIPモードが選択されたと判断すると(S320でYes)、CPU11は、選択されたIPモードで多機能装置20が動作した場合に、自装置(管理PC)と多機能装置20との通信が継続可能か否か(通信が維持できるか否か)を判断する(S330)。
ここで、CPU11は、自装置がIPv4及びIPv6にて通信可能な装置である場合、選択されたIPモードに関わり無く、自装置と多機能装置20との通信は継続可能であると判断する(S330でYes)。一方、自装置がIPv4のみで通信可能な装置である場合、CPU11は、選択されたIPモードがIPv4又はDualモードである場合にのみYesと判断し、それ以外の場合にはNoと判断する。その他、自装置がIPv6のみで通信可能な装置である場合、CPU11は、選択されたIPモードがIPv6又はDualモードである場合にのみYesと判断し、それ以外の場合にはNoと判断する。
S330でYesと判断すると、CPU11は、S350に移行する。一方、S330でNoと判断すると、CPU11は、通信に支障が生じるとして、S335に移行し、IPモードの変更によって管理ツールによる多機能装置20の操作が不可能になる旨の警告画面を表示部17に表示する。
尚、図12(a)は、S335で表示されるGUI構成の警告画面の一例を示した図である。警告画面には、警告を無視して操作を有効にする旨の指令を利用者(入力部18)から取得するための「OK」ボタンと、操作を無効にする旨の指令を利用者(入力部18)から取得するための「キャンセル」ボタンとが設けられている。
CPU11は、S335にて警告画面を表示した後、上記「OK」ボタン又は「キャンセル」ボタンが選択されるまで待機し、選択されると、選択されたボタンが「OK」ボタンか、それとも「キャンセル」ボタンかを判断し(S340)、「キャンセル」ボタンであると判断すると(S340でNo)、S485に移行して、IPモードの切替操作を無効にし、当該プロトコル切替処理を終了する。即ち、RAM13が保持するIPモードの設定値に変更を加えることなく、設定変更を禁止して、当該プロトコル切替処理を終了する。
一方、「OK」ボタンが選択されたと判断されると(S340でYes)、CPU11は、S350に移行する。S350に移行すると、CPU11は、切替後のIPモードでIPアドレスの自動設定が行われるか否か判断する。具体的に、S310で選択されたIPモードがIPv6モードである場合には、IPv6通信機能にて、IPアドレスが自動設定されるため、S350ではYesと判断する。一方、選択されたIPモードがIPv4モードである場合には、RAM13が保持する設定項目「IPv4自動設定」の設定値が有効(enable)になっている場合にのみ、Yesと判断し、それ以外の場合にはNoと判断する。
S350でYesと判断すると、CPU11は、S400に移行する。また、S350でNoと判断すると、S360に移行する。S360に移行すると、CPU11は、RAM13が保持するIPv4アドレスの値が未設定であるか否か判断し、未設定であると判断すると(S360でYes)、通信に支障が生じるとして、IPv4アドレスが未設定である旨の警告画面を表示部17に表示する(S365)。尚、図12(b)は、S365で表示されるGUI構成の警告画面の一例を示した図である。
図12(b)に示すように、S365で表示される警告画面には、上段から順に、管理ツールからの設定の継続ができなくなる旨の文字列(メッセージ)、操作を続行するか否かを尋ねる文字列、管理ツールからの設定の継続ができなくなる理由を示した文字列、及び、その解決策を示す文字列が表示される。また、解決策としては、「IPv4の自動設定を有効にして、IPアドレスを自動で取得するように変更する」案が、文字列にて、警告画面に表示される。
また、この警告画面には、警告画面に提示した解決策(変更案)に従って変更を行う旨の指令を利用者(入力部18)から取得するためのラジオボタンと、警告を無視して操作を有効にする旨の指令を利用者(入力部18)から取得するためのラジオボタンと、操作を無効にする旨の指令を利用者(入力部18)から取得するためのラジオボタンと、が設けられている。その他、この警告画面には、ラジオボタンの選択が完了すると、利用者により選択される「OK」ボタンが設けられている。
CPU11は、上記警告画面を表示部17に表示した後(S365)、ラジオボタンの一つが選択され、「OK」ボタンが選択されるまで待機し、「OK」ボタンが選択されると、ラジオボタンに対応する上記いずれかの指令が入力されたと判断し、S380に移行する。
S380では、入力された指令が変更を行う旨の指令である否か判断し、変更を行う旨の指令であると判断すると(S380でYes)、解決策(変更案)に従って、対応する設定値を仮変更する(S385)。尚、ここでは、RAM13が保持する設定値を変更するのではなく、それとは別に、仮変更として、設定値の変更内容(IPv4自動設定の値を、有効に変更する旨の情報)を一時記憶する。また、S385での処理を終えると、S400に移行する。
一方、入力された指令が変更を行う旨の指令ではない場合(S380でNo)、CPU11は、入力された指令が警告を無視して操作を有効にする旨の指令であるか否か判断し(S390)、警告を無視して操作を有効にする旨の指令であると判断すると(S390でYes)、S400に移行し、上記指令ではないと判断すると(S390でNo)、S485に移行する。そして、IPモードの切替操作を無効にし、プロトコル切替処理を終了する。
その他、S360において、IPv4アドレスの値が未設定ではない(即ち、設定されている)と判断すると、CPU11は、S370に移行し、RAM13が保持するIPv4のサブネットマスクの値が未設定であるか否か判断する。そして、未設定であると判断すると(S370でYes)、通信に支障が生じるとして、サブネットマスクが未設定である旨の警告画面を、表示部17に表示する(S375)。尚、図13は、S375で表示されるGUI構成の警告画面の一例を示した図である。
図13に示すように、S375で表示される警告画面には、上段から順に、管理ツールからの設定の継続ができなくなる旨の文字列、操作を続行するか否かを尋ねる文字列、管理ツールからの設定の継続ができなくなる理由を示した文字列、及び、その解決策を示す文字列が表示される。また、解決策としては、「IPv4のサブネットマスクを、管理PCのサブネットマスクと同一の値に変更する」案が、文字列にて警告画面に表示される。
また、この警告画面には、警告画面に提示した解決策(変更案)に従って変更を行う旨の指令を利用者(入力部18)から取得するためのラジオボタンと、警告を無視して操作を有効にする旨の指令を利用者(入力部18)から取得するためのラジオボタンと、操作を無効にする旨の指令を利用者(入力部18)から取得するためのラジオボタンと、が設けられている。その他、この警告画面には、ラジオボタンの選択が完了すると、利用者により選択される「OK」ボタンが設けられている。
CPU11は、上記警告画面を表示部17に表示した後(S375)、ラジオボタンの一つが選択され「OK」ボタンが選択されるまで待機し、「OK」ボタンが選択されると、ラジオボタンに対応する上記いずれかの指令が入力されたと判断して、S380に移行する。
そして、入力された指令が変更を行う旨の指令である否か判断し、変更を行う旨の指令であると判断すると(S380でYes)、解決策(変更案)に従って、対応する設定値(具体的にはサブネットマスクの値)を仮変更し(S385)、S400に移行する。
一方、入力された指令が変更を行う旨の指令ではない場合(S380でNo)、CPU11は、入力された指令が警告を無視して操作を有効にする旨の指令であるか否か判断し(S390)、警告を無視して操作を有効にする旨の指令であると判断すると(S390でYes)、S400に移行し、上記指令ではないと判断すると(S390でNo)、S485に移行する。そして、IPモードの切替操作を無効にし、プロトコル切替処理を終了する。
また、S400に移行すると、CPU11は、図9に示すサーバ判定処理を実行する。サーバ判定処理を実行すると、CPU11は、S310でIPモードとしてDualモードが選択されたか否か判断し(S401)、Dualモードが選択されたと判断すると(S401でYes)、そのまま当該サーバ判定処理を終了する。
一方、選択されたIPモードがDualモードではないと判断すると(S401でNo)、CPU11は、判定対象のサーバを選択し(S403)、選択したサーバのアドレス(IPアドレス又はドメイン名)を表す設定値を、プロトコル判定対象に設定する(S405)。
尚、本実施例における判定対象サーバは、多機能装置20がアクセスする可能性のあるSMTPサーバ、POPサーバ、プライマリDNSサーバ、セカンダリDNSサーバであり、S403では、このうちの一つを、判定対象サーバとして選択する。また、プロトコル判定対象は、S210にて多機能装置20から取得した設定値であってRAM13が保持する上記各サーバのアドレス(IPアドレス又はドメイン名)を表す値である。
S405での処理を終えると、CPU11は、プロトコル判定対象が、名前、即ち、ドメイン名で表されているか否か判断し(S407)、ドメイン名ではなくIPアドレスで表されていると判断すると(S407でNo)、S409に移行し、プロトコル判定対象のIPアドレスが、IPv4に適合する32ビットのIPアドレスであるのか、それとも、IPv6に適合する128ビットのIPアドレスであるのかを判定する。換言すると、ここでは、判定対象サーバの通信プロトコルが、IPv4及びIPv6のいずれであるかを判定する。その後、CPU11は、S420に移行する。
一方、プロトコル判定対象がドメイン名で表されていると判断すると(S407でYes)、CPU11は、S410に移行し、図10に示すプロトコル判定処理を実行する。
プロトコル判定処理を実行すると、CPU11は、ネットワークNL内のDNSサーバ31にアクセスし、プロトコル判定対象のドメイン名に対応するAレコード及びAAAAレコードを問い合わせる(S411)。周知のように、Aレコードとは、ドメイン名に対応するIPv4アドレス(IPアドレス)のことであり、AAAAレコードとは、ドメイン名に対応するIPv6アドレス(IPアドレス)のことである。
DNSサーバ31は、Aレコードの問い合わせ信号を受信すると、問い合わせ対象のドメイン名のAレコードが登録されているか否か判断し、登録されているとAレコードを返信し、そうでない場合には、Aレコードを返信しない構成にされている。また、DNSサーバ31は、AAAAレコードの問い合わせ信号を受信すると、問い合わせ対象のドメイン名のAAAAレコードが登録されているか否か判断し、登録されているとAAAAレコードを返信し、そうでない場合には、AAAAレコードを返信しない構成にされている。
S411での処理を終えると、CPU11は、受信待機期間を経て、DNSサーバ31から、問い合わせの応答信号として、Aレコード及びAAAAレコードの両者を、ネットワークインタフェース16経由で受信したか否か判断し(S412)、受信したと判断すると(S412でYes)、S413にて、判定対象サーバの通信プロトコルがIPv4及びIPv6であると判定し(即ち、Dual判定し)、当該プロトコル判定処理を終了する。
一方、Aレコード及びAAAAレコードの両者を受信できなかったと判断すると(412でNo)、CPU11は、Aレコードを受信したか否か判断し(S415)、Aレコードを受信したと判断すると(S415でYes)、判定対象サーバの通信プロトコルがIPv4であると判定し(S416)、当該プロトコル判定処理を終了する。
また、Aレコードを受信していないと判断すると(S415でNo)、CPU11は、AAAAレコードを受信しているか否か判断し(S417)、AAAAレコードを受信していると判断すると(S417でYes)、判定対象サーバの通信プロトコルがIPv6であると判定し(S418)、当該プロトコル判定処理を終了する。
一方、AAAAレコードを受信していないと判断すると(S417でNo)、CPU11は、AレコードもAAAAレコードも受信していないので、不正なドメイン名であるとして、不正判定する(S419)。その後、当該プロトコル判定処理を終了する。
プロトコル判定処理を終了すると、CPU11は、S420に移行し、S310で選択されたIPモード(切替後のIPモード)がIPv6モードであるか否か判断し、IPv6モードであると判断すると(S420でYes)、上記の判定結果に基づいて、判定対象サーバがIPv6で通信可能か否か判断する(S421)。
そして、判定対象サーバがIPv6で通信可能であると判断すると(S421でYes)、S430に移行する。また、判定対象サーバの通信プロトコルがIPv4である場合等、判定対象サーバがIPv6で通信不可能であると判断すると(S421でNo)、通信に支障が生じると判断し、警告画面の表示の際にリストアップするサーバとして、判定対象サーバの情報を、RAM13が記憶する警告リストに登録(S423)し、この後にS430に移行する。尚、警告リストはサーバ判定処理が実行される度に、空情報として、RAM13内に生成される。
一方、切替後のIPモードがIPv6モードではないと判断すると(S420でNo)、CPU11は、切替後のIPモードがIPv4モードであるか否か判断し(S425)、IPv4モードではないと判断すると(S425でNo)、S430に移行し、IPv4モードであると判断すると(S425でYes)、上記の判定結果に基づいて、判定対象サーバがIPv4で通信可能か否か判断する(S427)。
そして、判定対象サーバがIPv4で通信可能であると判断すると(S427でYes)、S430に移行し、判定対象サーバの通信プロトコルがIPv6である場合等、判定対象サーバがIPv4で通信不可能であると判断すると(S427でNo)、通信に支障が生じると判断し、警告画面の表示の際にリストアップするサーバとして、判定対象サーバの情報を、RAM13が記憶する警告リストに登録(S429)した後、S430に移行する。
S430に移行すると、CPU11は、判定対象の全サーバに対して、S405以降の処理を実行したか否か判断し、判定対象の全サーバに対して処理を実行していないと判断すると(S430でNo)、次の判定対象サーバを選択し(S431)、S405に移行する。一方、判定対象の全サーバに対して処理を実行したと判断すると(S430でYes)、当該サーバ判定処理を終了する。
S400にて、サーバ判定処理を終了すると、CPU11は、上記サーバ判定処理の結果に基づいて、多機能装置20が切替後のIPモードで動作した場合に、アクセス対象とするサーバ(上記判定対象のサーバ)と通信できるか否か判断する(S435)。具体的に、ここでは、警告リストに、サーバの情報が登録されているか否か判断し、登録されている場合には、通信できないサーバが存在するのでNoと判断する。一方、警告リストに、サーバの情報が登録されていない場合には、通信できないサーバは存在しないので、Yesと判断する。
S435でYesと判断すると、CPU11は、S450に移行し、S435でNoと判断すると、通信に支障が生じるとして、切替後のIPモードに対してサーバの設定値が適合していない旨の警告画面を表示する(S440)。図14(a)は、S440にて表示されるGUI構成の警告画面の一例を示した図である。
図14(a)に示すように、S440で表示される警告画面には、上段から順に、使用できなくなるプロトコル(サーバ)が存在する旨の文字列、操作を続行するか否かを尋ねる文字列、使用できなくなるプロトコル(サーバ)のリストを示す文字列が、表示される。また、この警告画面には、警告を無視して操作を有効にする旨の指令を利用者(入力部18)から取得するための「OK」ボタンと、操作を無効にする旨の指令を利用者(入力部18)から取得するための「キャンセル」ボタンとが設けられている。
CPU11は、S440にて警告画面を表示した後、上記「OK」ボタン又は「キャンセル」ボタンが選択されるまで待機し、選択されると、選択されたボタンが「OK」ボタンか、それとも「キャンセル」ボタンかを判断し(S445)、「キャンセル」ボタンであると判断すると(S445でNo)、S485に移行して、IPモードの切替操作を無効にし、当該プロトコル切替処理を終了する。これに対し「OK」ボタンが選択されたと判断すると(S445でYes)、CPU11は、S450に移行し、図11に示すログ判定処理を実行する。
ログ判定処理を実行すると、CPU11は、S310でIPモードとしてDualモードが選択されたか否か判断し(S451)、Dualモードが選択されたと判断すると(S451でYes)、そのまま当該サーバ判定処理を終了する。
一方、選択されたIPモードがDualモードではないと判断すると(S451でNo)、CPU11は、SNMPに基づいて、多機能装置20からネットワークインタフェース16経由で、アクセスログを取得し(S452)、その後、S310で選択されたIPモード(切替後のIPモード)がIPv6モードであるか否か判断する(S453)。
そして、切替後のIPモードがIPv6モードであると判断すると(S453でYes)、CPU11は、アクセスログに登録されている一つのアクセス元装置(ノード)をアドレス判定対象に選択し(S455)、アドレス判定対象がIPv4のみにてアクセスしてきた装置であるか否か判断する(S456)。即ち、S456では、同一のノード(同一のノード名)の通信履歴情報を解析して、アクセスログに記録されているアドレス判定対象のIPアドレスが、IPv4のIPアドレスのみであるか否か判断し、アクセスログにアドレス判定対象のIPアドレスとして、IPv6のIPアドレスが存在する場合にはNoと判断し、IPv4のIPアドレスのみである場合にはYesと判断する。
S456でNoと判断すると、CPU11は、S459に移行する。一方、S456でYesと判断すると、CPU11は、このアドレス判定対象のノード名及びIPアドレスを、警告画面に表示するために、RAM13が記憶する警告リスト(上記サーバ判定処理で用いる警告リストとは異なる)に登録し(S458)、その後、S459に移行する。尚、警告リストは、ログ判定処理が実行される度に、空情報として、RAM13内に生成される。
S459において、CPU11は、アクセスログに登録されている全ノードに対し、S456での判断を行ったか否か判断し、行っていないと判断すると(S459でNo)、S455に移行して、次のアドレス判定対象を選択し、S456以降の処理を実行する。一方、アクセスログに登録されている全ノードに対して、S456での判断を行ったと判断すると(S459でYes)、当該ログ判定処理を終了する。
この他、切替後のIPモードがIPv6モードではないと判断すると(S453でNo)、CPU11は、切替後のIPモードがIPv4モードであるか否か判断し(S460)、IPv4モードではないと判断すると(S460でNo)、ログ判定処理を終了し、IPv4モードであると判断すると(S460でYes)、S461に移行する。
S461では、アクセスログに登録されているアクセス元装置(ノード)の一つをアドレス判定対象に選択し、アドレス判定対象がIPv6のみにてアクセスしてきた装置であるか否か判断する(S462)。即ち、S462では、同一のノード(同一のノード名)の通信履歴情報を解析して、アクセスログに記録されているアドレス判定対象のIPアドレスが、IPv6のIPアドレスのみであるか否か判断する。そして、アクセスログに、アドレス判定対象のIPアドレスとして、IPv4のIPアドレスが存在する場合にはNoと判断し、IPv6のIPアドレスのみである場合にはYesと判断する。
S462でNoと判断すると、CPU11は、S465に移行する。一方、S462でYesと判断すると、CPU11は、このアドレス判定対象のノード名及びIPアドレスを、警告画面に表示するために、RAM13が記憶する警告リストに登録し(S464)、その後、S465に移行する。
S465において、CPU11は、アクセスログに登録されている全ノードに対し、S462での判断を行ったか否か判断し、行っていないと判断すると(S465でNo)、S461に移行して、次のアドレス判定対象を選択し、S462以降の処理を実行する。一方、アクセスログに登録されている全ノードに対して、S462での判断を行ったと判断すると(S465でYes)、当該ログ判定処理を終了する。
S450でのログ判定処理を終了すると、CPU11は、S470に移行し、ログ判定処理の結果に基づいて、IPモードを切り替えた場合に、多機能装置20と通信不能となる装置がアクセスログに登録されたノードの中に存在するか否か判断する。具体的に、ここでは、RAM13に記憶された警告リストに、切替後のIPモードに対応しない上記アドレス判定対象のノード名及びIPアドレスが登録されているか否か判断し、警告リストに、上記アドレス判定対象のノード名及びIPアドレスが登録されている場合には、通信不能となる装置が存在するため、S470でYesと判断する。また、警告リストが空であるとNoと判断する。
S470でNoと判断すると、CPU11は、S490に移行し、S470でYesと判断すると、通信に支障が生じるとして、S475に移行する。そして、IPモードの切替により、現在通信可能なノードが多機能装置20と通信不能となる旨の警告画面を表示する(S475)。図14(b)は、S475にて表示されるGUI構成の警告画面の一例を示した図である。
図14(b)に示すように、S475で表示される警告画面には、上段から順に、通信できなくなる装置(機器)が存在する旨の文字列、操作を続行するか否かを尋ねる文字列、通信できなくなる装置のIPアドレス及びノード名を示す文字列が、表示される。また、この警告画面には、警告を無視して操作を有効にする旨の指令を利用者(入力部18)から取得するための「OK」ボタンと、操作を無効にする旨の指令を利用者(入力部18)から取得するための「キャンセル」ボタンとが設けられている。
CPU11は、S475にて警告画面を表示した後、上記「OK」ボタン又は「キャンセル」ボタンが選択されるまで待機し、選択されると、選択されたボタンが「OK」ボタンか、それとも「キャンセル」ボタンかを判断し(S480)、「キャンセル」ボタンであると判断すると(S480でNo)、S485に移行して、IPモードの切替操作を無効にし、当該プロトコル切替処理を終了する。
これに対し「OK」ボタンが選択されたと判断すると(S480でYes)、CPU11は、S490に移行し、RAM13が保持するIPモードの設定値を、S310にて選択されたIPモードの値に変更すると共に、仮変更の内容がRAM13に一時記憶されている場合には、この情報に基づきRAM13が保持する設定値を更新する(S490)。
例えば、S365で警告画面に提示した解決策(変更案)に従って変更を行う旨の指令が入力されている場合には、S490にて、RAM13が保持する「IPv4自動設定」の設定値を有効に変更し、S375で警告画面に提示した解決策(変更案)に従って変更を行う旨の指令が入力されている場合には、S490にて、RAM13が保持するサブネットマスクの設定値を、管理PCのサブネットマスクと同一の値に変更する。
また、設定値の変更内容に、設定画面の表示内容が対応するように、設定画面の表示内容を更新する(S490)。この後、CPU11は、プロトコル切替処理を終了する。
次に、S265にて実行されるサーバ設定処理について説明する。図15は、管理PCのCPU11で実行されるサーバ設定処理を表すフローチャートである。
サーバ設定処理を実行すると、CPU11は、当該サーバ設定処理実行の原因となった設定項目の入力欄への文字列の入力が終了するまで待機し(S510)、入力欄への文字列の入力が終了したと判断すると(S510でYes)、S520に移行する。尚、S510では、例えば、入力欄とは別の設定項目が選択された場合に、入力欄への文字列の入力が終了したと判断する。
S520に移行すると、CPU11は、設定項目の入力欄への文字列の入力操作が、設定値を変更する操作であるのか否か(即ち、既に設定されている値とは異なる文字列が入力されたか否か)を判断し、設定値を変更する操作ではないと判断すると(S520でNo)、当該サーバ設定処理を終了する。
一方、設定値を変更する操作であると判断すると(S520でYes)、入力欄に新たに入力された文字列が、ドメイン名であるか否かを判断する(S530)。そして、入力欄に新たに入力された文字列がドメイン名であると判断すると(S530でYes)、上記入力欄に入力された文字列をプロトコル判定対象に設定し(S540)、その後、図10に示すプロトコル判定処理を実行する(S560)。プロトコル判定処理の内容は、上述した通りである。プロトコル判定処理の実行の後には、S570に移行する。
この他、入力欄に新たに入力された文字列が、ドメイン名ではなくIPアドレスであると判断すると(S530でNo)、CPU11は、S550にて、アドレス判定処理を実行する。図16は、アドレス判定処理を表すフローチャートである。このアドレス判定処理では、周知の関数inet_pton(int af,const char *src,void *dst)を用いて、入力されたIPアドレスを判定する。
上記関数inet_ptonは、文字列srcを、アドレスファミリafのネットワークアドレス構造体に変換し、変数dstにコピーするものである。アドレスファミリafがサポートしていないものが、文字列srcに設定された場合、この関数は、返値retとして、負の値を返す。また、文字列srcが正しいアドレスでない場合、返値retとして値0を返す。その他、文字列srcに正しいアドレスが設定されている場合には、返値retとして正の値を返す。
具体的に、アドレスファミリafに値AF_INETを設定して上記関数を実行すると、文字列srcが正しいIPv4のIPアドレスでない場合、返値retとしては、0以下の値が得られる。逆に、文字列srcが正しいIPv4のIPアドレスである場合には、アドレスファミリafに値AF_INETを設定して上記関数を実行すると、返値retとして、正の値が得られる。
尚、IPv4については、関数inet_ptonに代わって、文字列srcを構成する文字について、順に、その文字が10進数の文字であるか否か判断し、10進数である場合には、ピリオドまでの10進数の文字列を数値に変換し、数値が255を越えたらエラーとする。以上の処理を、10進数かピリオド以外の文字が出てくるまで繰り返し、返値retを出力するという一連の処理でも代用できる。
また、アドレスファミリafに値AF_INET6を設定して上記関数を実行すると、文字列srcが正しいIPv6のIPアドレスでない場合、返値retとしては、0以下の値が得られる。逆に、文字列srcが正しいIPv6のIPアドレスである場合には、アドレスファミリafに値AF_INET6を設定して上記関数を実行すると、返値retとして、正の値が得られる。
尚、IPv6については、関数inet_ptonに代わって、文字列srcを構成する文字について、順に、その文字が16進数の文字であるか否か判断し、16進数である場合には、コロンまでの16進数の文字列を数値に変換し、数値が0xffffを越えたらエラーとする。また、文字列”::”があったら、その位置を記憶し、二つ目の文字列”::”があったら、エラーとする。以上の処理を、16進数かコロン以外の文字が出てくるまで繰り返し、”::”の位置が記憶されていた場合には、その位置に値0を挿入し、その後、返値retを出力するという一連の処理でも代用できる。
図16に示すアドレス判定処理では、このようにして、返値retを出力する上記関数を用いて、入力された文字列が、IPv4のIPアドレスであるのか、IPv6のIPアドレスであるのか、それとも、いずれにも属さない不正な(入力ミスした)IPアドレスであるのかを判定する。
具体的に、アドレス判定処理を実行すると、CPU11は、変数af=AF_INETに設定し、変数srcに、上記入力欄に入力された文字列を設定して、関数inet_ptonを実行し、返値retを取得する(S551)。
その後、CPU11は、返値retが正の値であるか否か(即ち、ret>0か否か)を判断し(S553)、正の値であると判断すると(S553でYes)、入力欄に入力されたIPアドレスがIPv4アドレスであり、入力欄に対応するサーバの通信プロトコルが、IPv4であると判定する(S557)。その後、当該アドレス判定処理を終了する。
一方、S553で、返値retが正の値ではないと判断すると(S553でNo)、CPU11は、変数af=AF_INET6に設定し、変数srcに、上記入力欄に入力された文字列を設定して、関数inet_ptonを実行し、返値retを取得する(S555)。
その後、CPU11は、返値retが正の値であるか否か(即ち、ret>0か否か)を判断し(S556)、正の値であると判断すると(S556でYes)、入力欄に入力されたIPアドレスがIPv6アドレスであり、入力欄に対応するサーバの通信プロトコルがIPv6であると判定する(S558)。その後、当該アドレス判定処理を終了する。
また、CPU11は、返値retが正の値ではないと判断すると(S556でNo)、不正なアドレスが入力されたとして、不正判定する(S559)。その後、当該アドレス判定処理を終了し、S570に移行する。
S570に移行すると、CPU11は、プロトコル判定処理の結果、若しくは、アドレス判定処理の結果に基づいて、入力欄に対応するサーバがIPv4及びIPv6にて通信可能なサーバであるか否か判断する(S570)。尚、ここでは、プロトコル判定処理にて、Dual判定された場合にのみ、Yesと判断し、それ以外の場合にはNoと判断する。
S570でYesと判断すると、CPU11は、RAM13が保持する上記入力欄に対応するサーバの設定値を、上記入力欄に入力された文字列に変更(更新)して(S630)、当該サーバ設定処理を終了する。
一方、S570でNoと判断すると、CPU11は、プロトコル判定処理の結果、若しくは、アドレス判定処理の結果に基づいて、上記入力欄に対応するサーバの通信プロトコルがIPv4であるか否か判断し(S580)、IPv4であると判断すると(S580でYes)、RAM13に保持されているIPモードの設定値に基づき、多機能装置20のIPv4通信機能がオンにされているか否か判断する(S590)。具体的に、ここではIPモードが、Dualモード若しくはIPv4モードである場合のみIPv4通信機能がオンにされていると判断する。
そして、IPv4通信機能がオンにされていると判断すると(S590でYes)、S630に移行して、当該サーバ設定処理の実行原因となった上記入力欄に対応するサーバの設定値を、上記入力欄に入力された文字列に変更(更新)し、当該サーバ設定処理を終了する。
また、S590で、IPv4通信機能がオフにされていると判断すると(S590でNo)、CPU11は、通信に支障が生じるとして、設定されているIPモードに適合するサーバアドレスを入力するように指示する警告画面を表示部17に表示する(S595)。尚、S590でNoと判断され、警告画面が表示部17に表示されるのは、例えば、IPモードをIPv6としている(IPv4通信機能がオフである)にも拘らず、サーバアドレスを、IPv6からIPv4のアドレスに変更した場合である。
図17(a)は、S595にて表示部17に表示される警告画面の一例を示した説明図である。図17(a)に示すように、S595にて表示される警告画面には、IPモードに適合するサーバアドレスを入力するように指示する文字列と、「OK」ボタンとが表示される。
S595での警告画面の表示後、CPU11は、利用者が入力部18を操作することにより「OK」ボタンが選択されるまで待機し(S620)、「OK」ボタンが選択されると(S620でYes)、S510で入力欄に入力された文字列を消去し、これに代えて、RAM13が保持する設定値(サーバアドレス)を入力欄に表示することにより、設定画面における上記入力欄の表示内容を、元に戻す(S640)。その後、当該サーバ設定処理を終了する。
一方、S580においてサーバの通信プロトコルがIPv4ではないと判断すると(S580でNo)、CPU11は、プロトコル判定処理の結果、若しくは、アドレス判定処理の結果に基づいて、上記入力欄に対応するサーバの通信プロトコルが、IPv6であるか否か判断し(S600)、IPv6であると判断すると(S600でYes)、RAM13に保持されているIPモードの設定値に基づき、多機能装置20のIPv6通信機能がオンにされているか否か判断する(S610)。具体的に、ここではIPモードが、Dualモード若しくはIPv6モードである場合のみIPv6通信機能がオンにされていると判断する。
そして、IPv6通信機能がオンにされていると判断すると(S610でYes)、CPU11は、S630に移行し、当該サーバ設定処理の実行原因となった上記入力欄に対応するサーバの設定値を、上記入力欄に入力された文字列に変更(更新)し、その後、サーバ設定処理を終了する。
一方、S610でIPv6通信機能がオフにされていると判断すると(S610でNo)、CPU11は、通信に支障が生じるとして、設定されているIPモードに適合するサーバアドレスを入力するように指示する警告画面を表示部17に表示する(S615)。尚、S610でNoと判断され、警告画面が表示部17に表示されるのは、例えば、IPモードをIPv4としている(即ち、IPv6通信機能をオフにしている)にも拘らず、サーバアドレスを、IPv4からIPv6に対応したアドレスに、変更した場合である。
図17(b)は、S615にて表示部17に表示される警告画面の一例を示した説明図である。図17(b)に示すように、S615にて表示される警告画面には、IPモードに適合するサーバアドレスを入力するように指示する文字列と、「OK」ボタンとが表示される。
S615での警告画面の表示後、CPU11は、利用者が入力部18を操作することにより「OK」ボタンが選択されるまで待機し(S620)、「OK」ボタンが選択されると(S620でYes)、設定画面における上記入力欄の表示内容を元に戻し(S640)、当該サーバ設定処理を終了する。
また、S600において、サーバの通信プロトコルがIPv6でもないと判断すると(S600でNo)、CPU11は、正しいサーバアドレスを入力するように指示する文字列と、「OK」ボタンとを備えた警告画面(図示せず)を表示部17に表示し(S605)、その後、「OK」ボタンが選択されるまで待機し(S620)、「OK」ボタンが選択されると(S620でYes)、設定画面における上記入力欄の表示内容を元に戻す(S640)。そして、当該サーバ設定処理を終了する。
以上、サーバ設定処理及びプロトコル切替処理について説明したが、これらの処理にて、更新されたRAM13内の設定値は、上述したように、設定画面の「OK」ボタンが選択された時点で、SNMPに基づき、多機能装置20の設定情報に反映される(S275)。これにより、設定画面を通じて利用者により行われたサーバアドレスの設定操作及びIPモードの切替操作は、多機能装置20に反映され、多機能装置20の動作は変更される。
例えば、IPモードの切替操作に基づいて変更されたRAM13内のIPモードの設定値は、多機能装置20のNVRAM24に記憶された設定情報(IPモードの設定値)に反映され、これにより、多機能装置20におけるIPv4通信機能及びIPv6通信機能はオン/オフされる。
また、サーバアドレスの設定操作に基づいて変更されたRAM13内の各サーバの設定値(サーバアドレス)は、多機能装置20のNVRAM24に記憶された設定情報に反映され、これにより、多機能装置20における設定情報のサーバアドレスは更新され、多機能装置20は、更新後のサーバアドレスに対応するサーバに、アクセスする。
以上、本実施例の通信システム1について説明したが、本実施例において、多機能装置20を管理する管理PCは、利用者の操作によって入力部18から入力される指令に従い、SNMPにて、多機能装置20の設定値を操作し、多機能装置20の動作(設定)を変更するが、SNMPにて、多機能装置20の設定値を変更する前に、変更後の設定値に基づいて多機能装置20が動作した場合に、変更前に通信していた装置と、変更後も通信できるか否か判断し、これにより、変更後の通信に支障が生じないか否か判断する。そして、支障が生じると判断すると、必要に応じて利用者による変更操作をキャンセルし(S485)、多機能装置20に対する設定変更を実行しないようにする(即ち、禁止する)。
従って、本実施例によれば、多機能装置20に対し、間違った設定変更を施すことが原因で、通信に支障が生じるのを防止することができる。
特に、本実施例の場合には、管理PCからネットワークNL経由で多機能装置20に設定変更を施すため、設定変更によって管理PCと多機能装置20との通信が行えなくなると、利用者にとっては大変不便である。この点、本実施例では、SNMPにて、多機能装置20の設定値を変更する前に、変更後の設定値で、管理PCと多機能装置20との通信が維持できるか否かを判断し(S330)、通信が維持できない場合には(S330でNo)、利用者による変更操作をキャンセルし(S485)、多機能装置20に対する設定変更を実行しないようにするので、利用者による誤った設定変更により、管理PCと多機能装置20との通信が維持できなくなるのを、防止することができる。
また、本実施例では、多機能装置20のIPv4通信機能及びIPv6通信機能が夫々オン/オフ可能な構成にされているが、IPv4通信機能又はIPv6通信機能をオフに変更する際に、その変更により、通信に支障が生じないか否かを、プロトコル切替処理にて判断する。従って、本実施例によれば、IPv4通信機能・IPv6通信機能のオン/オフによって、通信に支障が生じるのを防止することができる。
特に、本実施例では、多機能装置20に、アクセスログが一定のデータ量を超えない範囲で、自装置(多機能装置20)と通信したノードの通信プロトコルを示す情報(IPアドレス)をアクセスログに記録させるようにし(通信履歴記録処理)、このアクセスログに基づいて、ログ判定処理を実行し、設定変更によって、多機能装置20との通信が不可能となるネットワークNL内の装置が、過去の所定期間に多機能装置20と通信した装置の中に存在するか否かを、判断するようにした。
そして、多機能装置20との通信が不可能となる装置が存在する場合には、ネットワークNL内の通信に支障が生じると判定し(S470でYes)、必要に応じて、IPモードの切替操作を行わないようにした。従って、この通信システム1によれば、多機能装置20と頻繁に通信するネットワークNL内の装置の通信が不能になることが原因で生じる問題を、未然に解消することができる。
また、多機能装置20では、SMTPサーバ等のサーバアドレスを、夫々のサーバに対して一つしか設定する(設定情報として記憶する)ことができないのに対し、IPv4及びIPv6通信機能を、夫々、オン/オフすることができるため、通信機能のオン/オフの関係と、サーバアドレスとの関係について、不整合が生じる可能性がある。
この問題に対処するため、本実施例では、IPモードを切り替える際に、切替後のIPモードがIPv6モードであるにも拘らず、設定情報として多機能装置20に記憶されるサーバアドレスがIPv4であると(S421でNo)、通信に支障が生じると判断し(S435でNo)、設定変更を禁止するようにした(S485)。また、切替後のIPモードがIPv4であるにも拘らず、設定情報として多機能装置20に記憶されるサーバアドレスがIPv6であると(S427でNo)、通信に支障が生じると判断し(S435でNo)、設定変更を実行しないようにした(S485)。
従って、本実施例によれば、例えば、S310にてIPモードがDualモードからIPv4モードに切り替えられ、IPv6通信機能がオンからオフに変更される際に、IPモードと、サーバアドレスとに不整合が生じるのを、S427〜S429等の処理により防止することができる。また、S310にてIPモードがDualモードからIPv6モードに切り替えられ、IPv4通信機能がオンからオフに変更される際に、IPモードと、サーバアドレスとに不整合が生じるのを、S421〜S423等の処理により防止することができる。
その他、本実施例では、IPモードの切替操作以外であっても、サーバアドレスの設定がなされる場合には、サーバ設定処理により、IPモードの設定と、入力部18から入力されたサーバアドレスとの間に不整合がないかどうか確認し、不整合がない場合には、設定値を、S630及びS275の処理にて多機能装置20に反映させるが、不整合がある場合(S590でNo及びS610でNoの場合)には、設定変更を禁止するようにした(S640)。従って、本実施例によれば、上述した不整合の問題を未然に解決することができ、利用者が誤った設定変更を行うことにより、多機能装置20がサーバにアクセスできなくなるのを防止することができる。
また、本実施例では、IPモードの切替操作とサーバアドレスの設定値との間に不整合がある場合、サーバアドレスの変更操作とIPモードの設定値とに不整合がある場合に、操作を継続すると通信に支障が生じる旨のメッセージ、又は、正しいアドレスを入力するように指示するメッセージを表示部17に表示するようにした(S335,S365,S375,S440,S475,S595,S615)。従って、本実施例によれば、これらのメッセージ表示により、自身の操作に何等かの誤りがあることを利用者に気づかせることができ、正しい設定操作を行わせることができる。
また、本実施例では、通信に支障が生じると判断した原因に応じ、それに対応する解決策(変更案)を警告画面に表示するようにした(S365,S375)。また、警告画面を通じて、変更を行う旨の指令が入力された場合には、提示した解決策(変更案)に対応する設定値の変更を自動で行って、誤った設定変更を修正するようにした(S385,S490)。従って、本実施例によれば、ネットワークの知識に疎い利用者にとっても、多機能装置20の動作管理(設定)を簡単に行えるようにすることができる。
尚、本発明の第一及び第二通信プロトコルは、IPv4及びIPv6に対応し、変更手段は、S490,S630,S275等の処理にて実現されている。また、判定手段は、S330,S360,S370,S435,S470,S590,S610等の処理にて実現され、禁止手段は、S485,S640等の処理にて実現されている。また、入力手段は、入力部18に相当し、通信手段は、プロトコルスタック15及びネットワークインタフェース16に相当する。
また、維持判断手段は、S330の処理にて実現され、履歴記録手段は、通信履歴記録処理にて実現され、装置判断手段は、S450及びS470の処理にて実現されている。また、設定記憶手段は、設定情報を記憶するNVRAM24にて実現されており、特定装置と通信するための情報は、サーバアドレス(IPv4表記のIPアドレス、IPv6表記のIPアドレス等)に相当する。
その他、メッセージ表示手段は、S335,S365,S375,S440,S475,S595,S615等にて実現され、解決策導出手段は、発生原因に応じて、表示する解決策(変更案)を切り替える処理(プロトコル切替処理内)にて実現されている。また、修正手段は、S385及びS490の処理にて実現され、解決策表示手段は、S365及びS375の処理にて実現されている。
また、本発明の管理システム及びプログラムは、上記実施例に限定されるものではなく、種々の態様を採ることができる。上記実施例では、設定変更により通信に支障が生じるか否かを管理PCで判断し、設定変更のキャンセルを管理PC側で実現するようにしたが、例えば、多機能装置20に、上記判断を行わせて、設定変更のキャンセルを多機能装置20側で実現するようにしてもよい。
1…通信システム、10,10a,10b,10c…PC、11,21…CPU、12,22…ROM、13,23…RAM、14…ハードディスク装置、14a…管理ツール、15,25…プロトコルスタック、16,26…ネットワークインタフェース、17…表示部、18…入力部、19,29…バス、20…多機能装置、21a…印刷サーバ部、21b…メール送受信部、21c…通信履歴記録部、21d…SNMPエージェント、24…NVRAM、27…ユーザインタフェース、28…印刷部、31…DNSサーバ、33…DHCPサーバ、35…SMTPサーバ、37…POPサーバ、LN…通信ケーブル、NL…ネットワーク