(57)【要約】【課題】ある環境下での通信を監視し、該通信において使用されていない通信メッセージを処理するモジュールをアンロードすることにより、メモリの一部を他用途に転用可能とする。【解決手段】ある環境下での通信を監視するとともに、通信において使用されていない通信メッセージを処理するモジュールを特定する特定手段２０１と、モジュールをアンロードするアンロード手段２０２と、を備え、ある環境下での通信を監視し、通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードする。【選択図】図３
2008017034.tif 000002
【特許請求の範囲】
【請求項１】
ある環境下での通信を監視する監視手段と、
通信において使用されていない通信メッセージを処理するモジュールを特定する特定手段と、
前記モジュールをアンロードするアンロード手段と、を備え、
前記ある環境下での通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする自動モジュールアンロード装置。
【請求項２】
自装置の通信を監視する監視手段と、
通信において使用されていない通信メッセージを処理するモジュールを特定する特定手段と、
前記モジュールをアンロードするアンロード手段と、を備え、
前記自装置の通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする自動モジュールアンロード装置。
【請求項３】
近隣ノード通信プロトコルで通信する手段と、モジュール通知プロトコルで通信する手段と、を更に備え、
新規ノードにモジュールに関する情報を通知することを特徴とする請求項１又は２に記載の自動モジュールアンロード装置。
【請求項４】
近隣ノード通信プロトコルで通信する手段と、
モジュール通知プロトコルで通信する手段と、
モジュールをアンロードするアンロード手段と、を備え、
モジュールに関する情報を受信し、通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする自動モジュールアンロード装置。
【請求項５】
ある環境下での通信を監視する監視手順と、
通信において使用されていない通信メッセージを処理するモジュールを特定する特定手順と、
前記モジュールをアンロードするアンロード手順と、をコンピュータに実行させて、
前記ある環境下での通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とするプログラム。
【請求項６】
自装置の通信を監視する監視手順と、
通信において使用されていない通信メッセージを処理するモジュールを特定する特定手順と、
前記モジュールをアンロードするアンロード手順と、をコンピュータに実行させて、
前記自装置の通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とするプログラム。
【請求項７】
近隣ノード通信プロトコルで通信する手順と、モジュール通知プロトコルで通信する手順と、を更にコンピュータに実行させて、
新規ノードにモジュールに関する情報を通知することを特徴とする請求項５又は６に記載のプログラム。
【請求項８】
近隣ノード通信プロトコルで通信する手順と、
モジュール通知プロトコルで通信する手順と、
モジュールをアンロードするアンロード手順と、をコンピュータに実行させて、
モジュールに関する情報を受信し、通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とするプログラム。
【請求項９】
請求項５〜８のいずれか１項に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
ある環境下での通信を監視する監視工程と、
通信において使用されていない通信メッセージを処理するモジュールを特定する特定工程と、
前記モジュールをアンロードするアンロード工程と、を有し、
前記ある環境下での通信を監視し、前記通信において使用されていない前記通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする自動モジュールアンロード方法。
【請求項１１】
自装置の通信を監視する監視工程と、
通信において使用されていない通信メッセージを処理するモジュールを特定する特定工程と、
前記モジュールをアンロードするアンロード工程と、を有し、
前記自装置の通信を監視し、前記通信において使用されていない前記通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする自動モジュールアンロード方法。
【請求項１２】
近隣ノード通信プロトコルで通信する工程と、モジュール通知プロトコルで通信する工程と、を更に有し、
新規ノードにモジュールに関する情報を通知することを特徴とする請求項１０又は１１に記載の自動モジュールアンロード方法。
【請求項１３】
近隣ノード通信プロトコルで通信する工程と、
モジュール通知プロトコルで通信する工程と、
モジュールをアンロードするアンロード工程と、を有し、
モジュールに関する情報を受信し、通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする自動モジュールアンロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある環境下での通信を監視し、該通信において使用されていない通信メッセージを処理するモジュールをアンロードすることにより、メモリの一部を他用途に転用可能とし、計算機資源の有効活用を行う自動モジュールアンロード装置等に関する。
【背景技術】
【０００２】
装置において、計算機資源を有効に活用するため、ライブラリをあらかじめ読み込んでおかず、必要時のみロードし、場合によりアンロードする機構がある。これを、ダイナミックリンク・ライブラリという。
【０００３】
また、Ｕｎｉｘ（登録商標）互換ＯＳであるＬｉｎｕｘでは、ローダブルモジュールという機構がある（「非特許文献１」などを参照のこと。「非特許文献１」では、単にモジュールと表記している。）。なお、伝統的なカーネルでは、カーネル作成時にデバイスドライバを組み込んでおく必要があったが、それに対し、ローダブルモジュールは、デバイスドライバをモジュールにしておき、後からカーネルに組み込むことを可能にしたものである。
【０００４】
この機構により、例えば、カーネル起動時に装置に装着されているデバイスをチェックし、発見したデバイスについてのみ、対応するデバイスドライバのモジュールを読み込むといったことが可能になった。また、装置起動後にデバイスドライバのモジュールをカーネルに付け加えたり削除したりすることが可能になった。
【０００５】
【非特許文献１】ＡＬＥＳＳＡＮＤＲＯ  ＲＵＢＩＮＩ著、山崎  康宏、山崎  邦子  共訳、「Ｌｉｎｕｘデバイスドライバ」、発行所／オライリー・ジャパン、発売元／オーム社、ＩＳＢＮ４−９００９００−７３−７
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述したように、従来ライブラリを必要時にロード／アンロードすること、また、カーネルにデバイスドライバのモジュールを追加、削除することは可能であった。
【０００７】
しかし、ライブラリやモジュールをアンロード／削除する際は、ユーザが明示的にコマンドを用いて指示するか、アプリケーションソフトにおいて、削除を指示する関数を実行する必要があった。
【０００８】
本発明は係る実情に鑑みて、ある環境下での通信を監視し、該通信において使用されていない通信メッセージを処理するモジュールをアンロードすることにより、メモリの一部を他用途に転用可能とする自動モジュールアンロード装置等を提供する。
【課題を解決するための手段】
【０００９】
本発明の自動モジュールアンロード装置は、ある環境下での通信を監視する監視手段と、通信において使用されていない通信メッセージを処理するモジュールを特定する特定手段と、前記モジュールをアンロードするアンロード手段と、を備え、前記ある環境下での通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、本発明の自動モジュールアンロード装置は、自装置の通信を監視する監視手段と、通信において使用されていない通信メッセージを処理するモジュールを特定する特定手段と、前記モジュールをアンロードするアンロード手段と、を備え、前記自装置の通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、本発明の自動モジュールアンロード装置は、近隣ノード通信プロトコルで通信する手段と、モジュール通知プロトコルで通信する手段と、モジュールをアンロードするアンロード手段と、を備え、モジュールに関する情報を受信し、通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、本発明のプログラムは、ある環境下での通信を監視する監視手順と、通信において使用されていない通信メッセージを処理するモジュールを特定する特定手順と、前記モジュールをアンロードするアンロード手順と、をコンピュータに実行させて、前記ある環境下での通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、本発明のプログラムは、自装置の通信を監視する監視手順と、通信において使用されていない通信メッセージを処理するモジュールを特定する特定手順と、前記モジュールをアンロードするアンロード手順と、をコンピュータに実行させて、前記自装置の通信を監視し、前記通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、本発明のプログラムは、近隣ノード通信プロトコルで通信する手順と、モジュール通知プロトコルで通信する手順と、モジュールをアンロードするアンロード手順と、をコンピュータに実行させて、モジュールに関する情報を受信し、通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、本発明のコンピュータ読み取り可能な記録媒体は、上記に記載のプログラムを記録したことを特徴とする。
また、本発明の自動モジュールアンロード方法は、ある環境下での通信を監視する監視工程と、通信において使用されていない通信メッセージを処理するモジュールを特定する特定工程と、前記モジュールをアンロードするアンロード工程と、を有し、前記ある環境下での通信を監視し、前記通信において使用されていない前記通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、自動モジュールアンロード方法は、自装置の通信を監視する監視工程と、通信において使用されていない通信メッセージを処理するモジュールを特定する特定工程と、前記モジュールをアンロードするアンロード工程と、を有し、前記自装置の通信を監視し、前記通信において使用されていない前記通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
また、自動モジュールアンロード方法は、近隣ノード通信プロトコルで通信する工程と、モジュール通知プロトコルで通信する工程と、モジュールをアンロードするアンロード工程と、を有し、モジュールに関する情報を受信し、通信において使用されていない通信メッセージを処理するモジュールを自動的にアンロードすることを特徴とする。
【発明の効果】
【００１０】
上述したように、本発明の自動モジュールアンロード装置は、通信を監視し、該通信において使用されていない通信メッセージを処理するモジュールを、自動的にアンロードすることが可能となる。これにより、削除したモジュールが占有していたメモリの一部を他用途に転用可能になるという効果が得られる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を、図面を参照しながら説明する。
（第１の実施形態）
（アンロード装置が他ノード間の通信を監視）
図１は第１の実施形態を実施する環境の例を示す図である。ネットワーク１に、アンロード装置２と、ノード３と、ノード４と、が接続されている。
【００１２】
アンロード装置２と、ノード３と、ノード４と、は通信が可能である。本実施形態では、アンロード装置２は、ノード３及びノード４と同じローカルネットワーク上に存在するが、ノード３とノード４の通信を監視できる箇所に存在するなら、ネットワーク１はローカルネットワークに限定しない。
【００１３】
本発明を実施するための最良の形態の項において、ネットワーク１はＩＰｖ４を用いて通信されるネットワークとするが、送信元および送信先のアドレスを取得可能ならば、ＩＰｖ４に限定するものではない。例えば、ＩＰｖ６や、インターネットプロトコル以外のプロトコルでもかまわない。
【００１４】
本発明を実施するための最良の形態の項において、アンロード装置２、ノード３、及びノード４は、ＨＴＴＰ／１．１（ＲＦＣ２６１６、Ｒ．Ｆｉｅｌｄｉｎｇ、Ｊ．Ｇｅｔｔｙｓ、Ｊ．Ｍｏｇｕｌ、Ｈ．Ｆｒｙｓｔｙｋ、Ｌ．Ｍａｓｉｎｔｅｒ、Ｐ．Ｌｅａｃｈ、Ｔ．Ｂｅｒｎｅｒｓ−Ｌｅｅ、「Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏl  −−  ＨＴＴＰ／１．１」ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２６１６．ｔｅｘｔ、Ｊｕｎｅ、１９９９）を用いて通信するものとする。
【００１５】
ここで、ＨＴＴＰ／１．１を用いるのは一例としてであり、本発明はＨＴＴＰ／１．１に限定して摘要されることを示すものではない。
【００１６】
図２にアンロード装置２の構成例を示す。ＣＰＵ１０１がアンロード装置２の全体の動作を制御する。
【００１７】
ＲＡＭ１０２は一時記憶装置（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、ＲＯＭ１０３はプログラムなど、消去不可能なデータが組み込まれている不揮発性メモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。バス１０４は、各モジュールを接続する内部バスである。
【００１８】
ネットワークインタフェース１０５は、アンロード装置２が外部機器とデータ送受信を行う際に使用するインタフェースである。記録装置１０６は、例えばハードディスクなどであり、読み書きが可能で、電源を落としても記録された内容は消えないものとする。さらに、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。
【００１９】
ノード３及びノード４の構成は基本的にアンロード装置２と同一で問題ないため、構成については説明を省略する。
【００２０】
図３に、アンロード装置２の本発明に関するソフトウェア構成の例を示す。通信受信部２０４及び通信送信部２０５は図２のネットワークインタフェース１０５を通じ、ネットワーク１より通信を送受信する部分である。
【００２１】
監視部２０１は、通信受信部２０４より受信した通信データを解析し、通信メッセージの種別を判定する部分である。
【００２２】
モジュール管理部２０２は、後述する各モジュールのロード／アンロードを制御する部分である。
【００２３】
モジュール２０３−Ａ〜２０３−Ｅは、通信メッセージを処理する部分である。本第１の実施形態では、モジュール２０３−ＡはＨＴＴＰ／１．１のレスポンスコード１００番台を処理するモジュールである。また、モジュール２０３−Ｂは同２００番台を、モジュール２０３−Ｃは同３００番台を、モジュール２０３−Ｄは同４００番台を、モジュール２０３−Ｅは同５００番台を処理するモジュールとする。
【００２４】
ＨＴＴＰ／１．１のレスポンスコードは、ＨＴＴＰ／１．１において何らかのリクエストを送信した際に、相手から返信されるレスポンスに必ず含まれる、状態を示すコードである。
【００２５】
１００番台は通信エラーを、２００番台は正常終了を、３００番台はリダイレクトを、４００番台はクライアントエラーを、５００番台はサーバエラーを示す。
【００２６】
よくある例としては、正常な通信が行われた場合に２００番「ＯＫ」が、取得対象のファイルやディレクトリがない場合に４０４番「Ｎｏｔ  Ｆｏｕｎｄ」が、返信されるレスポンスに含まれる。（さらに詳細は、ＨＴＴＰ／１．１の仕様の６．１．１項「Ｓｔａｔｕｓ  Ｃｏｄｅ  ａｎｄ  Ｒｅａｓｏｎ  Ｐｈｒａｓｅ」などを参照のこと）
【００２７】
図４に、アンロード装置２の監視部の動作を示すフローチャート図を示す。図５に、アンロード装置２のモジュール管理部の動作を示すフローチャート図を示す。本発明の実施の流れを、図４と図５を主に参照しながら説明する。
【００２８】
アンロード装置２は、電源投入後、図２のＲＯＭ１０３内に記録されているブータより起動を開始し、ＲＯＭ１０３もしくは記録装置１０６よりプログラム本体をロードして起動する。
【００２９】
ネットワークインタフェース１０５が使用可能になったあと、図３の通信受信部２０４、通信送信部２０５、監視部２０１、モジュール管理部２０２、モジュール２０３−Ａ〜２０３−Ｅをロードし、動作させる。
【００３０】
ここで、モジュール２０３−Ａ〜２０３−Ｅは、通常、背景技術の項で述べたように、実際に使用されるようになってからロードされることが多いが、説明のため、全てロードされるとする。
【００３１】
図３の監視部２０１の動作について、図４を参照しながら説明する。監視部２０１は、ステップＳ１０１にてスタートする。
【００３２】
次に、ステップＳ１０２において、停止信号を受信したか判別する。停止信号を受信していた場合、ステップＳ１０３に遷移し、終了する。停止信号を受信していない場合、ステップＳ１０４に遷移する。
【００３３】
ステップＳ１０４において、監視部２０１は、図３の通信受信部２０４より転送されてくる通信メッセージを監視する。
【００３４】
ノード３とノード４との間で行われる通信を監視するため、ネットワークインタフェース１０５を、ネットワーク１がインターネットの場合は、プロミスキャスモードで動作させる。
【００３５】
また、本実施形態では、監視対象の通信メッセージはＨＴＴＰ／１．１であり、特に、レスポンスに含まれるレスポンスコードを監視するものとする。
【００３６】
監視部２０１は、通信メッセージの監視を続け、通信メッセージに含まれる通信メッセージの種別を示すデータ、例えば本実施形態ではレスポンスコードをＲＡＭ１０２に一時記録する。
【００３７】
本実施形態では、レスポンスコード２００、４００、４０４、５００があったとする。
ステップＳ１０５において、通信メッセージの種別をモジュール管理部２０２に通知する。
【００３８】
本実施形態の場合、ＨＴＴＰ／１．１のレスポンスコード２００、４００、４０４、５００が存在したことを通知する。
【００３９】
通知するタイミングは、一定時間毎でもよいし、種別を示すデータを発見次第でもよい。通知するメッセージの例を図６に示す。
【００４０】
次に、図３のモジュール管理部２０２の動作について、図５を参照しながら説明する。モジュール管理部２０２は、ステップＳ２０１にてスタートする。
【００４１】
次に、ステップＳ２０２において、停止信号を受信したか判別する。停止信号を受信していた場合、ステップＳ２０３に遷移し、終了する。停止信号を受信していない場合、ステップＳ２０４に遷移する。
【００４２】
ステップＳ２０４において、監視部２０１から通知された、通信メッセージの種別を受信する。本実施形態の場合、ＨＴＴＰ／１．１のレスポンスコード２００番台、４００番台、５００番台が存在したことを示す図６に参照されるようなメッセージが受信される。
【００４３】
ステップＳ２０５において、ステップＳ２０４で受信した通信メッセージの種別が、どのモジュールで処理されているかを特定する。
【００４４】
本実施形態の場合、ＲＯＭ１０３もしくは記録装置１０６に図７で示すような管理テーブルによってモジュール、およびモジュールが処理する内容が管理されているとする。
【００４５】
図７において、モジュール番号の列は、各モジュールについた一意な管理番号である。本例では、説明のわかりやすさのため、図３で用いた図表番号と同一としているが、ユニークであれば、番号でなくモジュール名などでかまわない。
【００４６】
処理メッセージ番号は、該モジュールがＨＴＴＰ／１．１のレスポンスコードの何番を処理するかを示すものである。
【００４７】
モジュール管理部２０２は、監視部２０１から受信した図６で示したメッセージより、レスポンスコード番号を取得し、図７の処理メッセージ番号の列で、一致するものがあるか比較する。
【００４８】
一致した番号があった場合、その左辺のモジュール番号が、該レスポンスコードを処理するモジュールとなる。
【００４９】
本実施形態の場合、図６のメッセージに示すように、受信した番号は２００、４００、４０４、５００である。したがって、モジュール番号は２０３−Ｂ、２０３−Ｄ、２０３−Ｅとなり、図３のモジュール２０３−Ｂ、モジュール２０３−Ｄ、モジュール２０３−Ｅが処理を行うモジュールであると特定できる。特定後、ステップＳ２０６に遷移する。
【００５０】
ステップＳ２０６において、ステップＳ２０５で特定したモジュールが、既にロードされているモジュールか判別する。判別した結果、ロードされていないモジュールであれば、ステップＳ２０７に遷移し、モジュールをロードする。
【００５１】
ステップＳ２０７において、モジュールが、例えばダイナミックリンク・ライブラリであれば、ｄｌｏｐｅｎ()などの関数を実行し、ローダブルモジュールであれば、Ｌｉｎｕｘであればｉｎｓｍｏｄコマンドなどを実行する。
【００５２】
ステップＳ２０６において、ロードしてあるモジュールであった場合、ステップＳ２０８に遷移する。本実施形態では、モジュール２０３−Ａ〜２０３−Ｅは全てロードしたという前提であるため、ステップＳ２０８に遷移する。
【００５３】
ステップＳ２０８において、処理を行っていないモジュールを特定する。本実施形態の場合、モジュール２０３−Ｂ、２０３−Ｄ、２０３−Ｅが使用されていたので、２０３−Ａ、２０３−Ｃが処理を行っていないモジュールであると特定できる。
【００５４】
ステップＳ２０９において、ステップＳ２０８で特定した、処理を行っていないモジュールがアンロードされているか判別する。アンロードされていれば特に処理を行うこともないため、ステップＳ２０２に遷移する。アンロードされていない場合、ステップＳ２１０に遷移する。本実施形態の場合、モジュール２０３−Ａ、２０３−Ｃはアンロードされていないため、ステップＳ２１０に遷移する。
【００５５】
ステップＳ２１０において、使用されていないモジュールをアンロードする。本実施形態では、モジュール２０３−Ａ、２０３−Ｃをアンロードする。例えば、モジュールがダイナミックリンク・ライブラリである場合、ｄｌｃｌｏｓｅ()関数などを用いる。モジュールがローダブルモジュールの場合、Ｌｉｎｕｘでは、ｒｍｍｏｄコマンドなどを用いてアンロードを行う。アンロード後、ステップＳ２０２に遷移する。
【００５６】
以上のようにして、本発明の自動モジュールアンロード装置は、ネットワーク１における通信を監視し、該通信において使用されていない通信メッセージを処理するモジュールを、自動的にメモリ上から削除することが可能となる。
【００５７】
本実施形態では、モジュールは、ＨＴＴＰ/１．１のレスポンスコードを１００番毎に処理するようにしていた。もしモジュールがさらに細かい粒度で実装されていれば、さらに細かい粒度で管理できるため、さらに多くのモジュールをアンロードすることが可能である。
【００５８】
（第２の実施形態）
（アンロード装置が自ノードの通信を監視）
前記第１の実施形態では、アンロード装置２は、ノード３とノード４間の通信を監視し、そこで使用されていないメッセージに関するモジュールを自動的にアンロードした。本実施形態では、アンロード装置２が行う通信を監視し、モジュールを自動的にアンロードすることについて説明する。本第２の実施形態でも、前記第１の実施形態で用いた図を使用して説明する。
【００５９】
図１において、アンロード装置２は、ノード３、ノード４のどちらか、もしくは両方と通信を行うとする。本実施形態でも、通信に用いるプロトコルとしてＨＴＴＰ／１．１を例にあげて説明する。全体の動作の流れはほぼ前記第１の実施形態と同じであるため省略し、異なる部分についてのみ説明する。
【００６０】
異なるのは、図３において、監視部２０１が監視する通信対象である。前記第１の実施形態では、ネットワークインタフェース１０５を、ネットワーク１がインターネットの場合、プロミスキャスモードにするなどして、アンロード装置２外の通信を監視可能にして動作していたが、本実施形態では、その必要はない。
【００６１】
本実施形態において、監視部２０１が監視対象とするのは、送信先アドレスもしくは送信元アドレスがアンロード装置２と一致する通信メッセージのみである。
【００６２】
通常、本アンロード装置に限らず、通信を行う装置は、自身宛の通信メッセージ以外は廃棄するように設計されているため、特に自分宛の通信メッセージを取得する方法については述べない。
【００６３】
監視部２０１は、通信受信部２０４より、自分宛の通信メッセージが転送されてくるので、それを監視すればよい。
【００６４】
また、送信元がアンロード装置２となるメッセージについても、監視部２０１が通信送信部２０５によって送信される通信メッセージを監視すればよい。
以上の点以外は、前記第１の実施形態と同じである。
【００６５】
以上のようにして、本発明の自動モジュールアンロード装置は、自身の通信を監視し、該通信において使用されていない通信メッセージを処理するモジュールを、自動的にアンロードすることが可能となる。
【００６６】
（第３の実施形態）
（新規ノードに、使用されていないモジュールの種別を送信）
前記第１および第２の実施形態では、自動モジュールアンロード装置について説明した。本実施形態では、ネットワーク１に新規ノードを追加した場合、新規ノードに、自動モジュールアンロード装置から監視結果を送信する。これにより、新規ノードに監視機能がなくとも、また、監視機能があっても監視時間を経ることなく、ネットワーク１で使用されていない通信メッセージを処理するモジュールをアンロードすることについて説明する。
【００６７】
図８に、本第３の実施形態を実施する環境の例を示す。図８は、図１に新規ノード５が追加されたものである。新規ノード５は、ネットワーク１上のアンロード装置２、ノード３、ノード４と通信可能である。
【００６８】
アンロード装置２と新規ノード５は、後述の近隣ノード通信プロトコルを用いて通信可能であり、また、後述のモジュール通知プロトコルによって、モジュールについての情報を送受信可能である。新規ノード５のハードウェア構成は、図２と同様で問題ないため、説明を省略する。
【００６９】
図９に、新規ノード５のソフトウェア構成例を示す。図３に挙げたアンロード装置２の場合と比較して、監視部２０１の代わりにモジュール通知プロトコル処理部３０１が加えられる。
【００７０】
図１０に、本第３の実施形態で用いるアンロード装置２のソフトウェア構成例を示す。図２と比較して、モジュール通知プロトコル処理部２０６が追加されている。なお、本第３の実施形態では、新規ノードのソフトウェア構成例として図９を用いて説明するが、より機能の多い、図１０の構成例であっても問題ない。つまり、監視部２０１が新規ノード５にあっても問題ない。以下、前記第１もしくは第２の実施形態実施後より、本第３の実施形態の動作の流れについて説明を行う。
【００７１】
新規ノード５は、図２のネットワークインタフェース１０５より、ネットワーク１に接続されたことを検知すると、ＣＰＵ１０１は、ＲＯＭ１０３もしくは記録装置１０６より、近隣ノード通信プロトコルに基き、存在を通知するための通信メッセージを読み出す。そして、ネットワークインタフェース１０５を通じて送信する。
【００７２】
ここで、近隣ノード通信プロトコルとして、例えば、ＳＬＰ（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、ＲＦＣ２１６５）、ＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ、ｈｔｔｐ：／／ｗｗｗ．ｕｐｎｐ．ｏｒｇ／ｄｏｗｎｌｏａｄ／ｄｒａｆｔ＿ｃａｉ＿ｓｓｄｐ＿ｖ１＿０３．ｔｘｔ）、ＷＳ−Ｄｉｓｃｏｖｅｒｙ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｙｎａｍｉｃ  Ｄｉｓｃｏｖｅｒｙ、ｈｔｔｐ:／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｌｉｂｒａｒｙ／ｅｎ−ｕｓ／ｄｎｇｌｏｂｓｐｅｃ／ｈｔｍｌ／ｗｓ−ｄｉｓｃｏｖｅｒｙ．ｐｄｆ）などの公開されている既知のプロトコルを用いてもよいし、別のプロトコルでもかまわない。
【００７３】
本第３の実施形態では、近隣ノード通信プロトコルにＳＳＤＰを用いた例について説明する。ＳＳＤＰを用いた場合の通信メッセージの例を、図１１に示す。
【００７４】
ここで、１行目の文字列は、本通信メッセージが通知を示すものであることを示す。２行目のＨｏｓｔ：以降は、通信メッセージの送信先であるマルチキャストアドレス（２３９．２５５．２５５．２５０）と、ポート番号（１９００）である。
【００７５】
ＳＳＤＰでは、本明細書作成時において、ＩＡＮＡによってポート番号は割り当てられていないため、本実施形態では、仮に１９００番としておく。将来、ポート番号が割り当てられた場合、その番号を用いるものとする。３行目のＮＴ：以降は、サービスのタイプを示す。
【００７６】
本第３の実施形態では、使用しているモジュールに関する、通信メッセージの種別についてのサービスを用いたいことを示すための文字列として、「ｍｏｄｕｌｅ  ｍｅｓｓａｇｅ  ｎｕｍｂｅｒ」を用いることとする。
【００７７】
4行目のＮＴＳ：以降は、本通信メッセージが存在を通知するものであることを示す。５行目のＵＳＮ：以降は、本通信メッセージの一意性を示すユニークなＩＤ番号である。
【００７８】
新規ノード５より、存在を通知する通信メッセージが送信されたのち、該通信メッセージを、アンロード装置２は図２のネットワークインタフェース１０５を通じて受信する。受信した通信メッセージはＲＡＭ１０２に一時保存される。
【００７９】
また、通信メッセージは下位層でインターネットプロトコルを用いて配送されているため、送信元のアドレス（すなわち新規ノード５のアドレス）も把握できる。
【００８０】
アンロード装置２は、図１１の１行目の文字列をＲＡＭ１０２もしくは記録装置１０６内の近隣ノード通信プロトコルのメッセージと比較することより、本通信メッセージが通知を意味することを判定する。
【００８１】
さらに、４行目の文字列を取得し、図１１の通信メッセージが、ノードが存在を通知するための通信メッセージであることを認識する。
【００８２】
そして、３行目の「ｍｏｄｕｌｅ  ｍｅｓｓａｇｅ  ｎｕｍｂｅｒ」を取得し、ＲＯＭ１０３もしくは記録装置１０６に記録してあるサービス種別の文字列と比較する。これにより、図１１の通信メッセージが、使用しているモジュールに関する通信メッセージの種別について、送信を要求していることを認識する。アンロード装置２は、受信した通信メッセージの送信元アドレスが、ＲＡＭ１０２に記録されている既存のノードのアドレスと一致するか比較する。
【００８３】
本実施形態では、新規ノード５のアドレスはＲＡＭ１０２にないので、新しいノードであるとＣＰＵ１０１は判断する。
【００８４】
アンロード装置２のモジュール通知プロトコル処理部２０６は、ＲＡＭ１０２もしくは記録装置１０６に記録されている、監視部２０１からの通信メッセージの種別を示すメッセージ（図６）を、モジュール管理部２０２を通じて取得する。そして、通信送信部２０５を通じて新規ノード５に送信する。
【００８５】
新規ノード５は、図９の通信受信部２０４より図６に示すメッセージを受信する。メッセージはモジュール通知プロトコル処理部３０１に転送され、そこで解析される。
【００８６】
モジュール通知プロトコル処理部３０１において、図６に示すメッセージが、ネットワーク１上で用いられているプロトコルの通信メッセージの種別を示すものであると判断すると、モジュール通知プロトコル処理部３０１は、図６に示すメッセージをモジュール管理部２０２に転送する。その後、モジュール管理部２０２が行う処理は、前記第１もしくは第２の実施形態において説明したとおりであるため、説明を省略する。
【００８７】
以上のようにして、本発明の自動モジュールアンロード装置は、使用されていないモジュールの種別を新規ノードに送信することにより、新規ノードに監視機能がなくとも、新規ノードが使用されていないモジュールを削除することを可能となる。
【００８８】
本第３の実施形態では、具体例として、ＨＴＴＰ／１．１で用いられているレスポンスコードを、通信メッセージの種別を示すメッセージとして用いたが、これは一例である。他のプロトコルについても応用可能なことは自明であり、本発明はＨＴＴＰ／１．１に制限されるものではない。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施の形態に係る環境の例を示す図である。
【図２】本発明の実施の形態に係るアンロード装置のハードウェア構成を示す図である。
【図３】本発明の実施の形態に係るアンロード装置のソフトウェア構成を示す図である。
【図４】本発明の実施の形態に係るアンロード装置の動作を示すフローチャートである。
【図５】本発明の実施の形態に係るアンロード装置の動作を示すフローチャートである。
【図６】本発明の実施の形態に係る監視部が通知するメッセージの一例を示す図である。
【図７】本発明の実施の形態に係るモジュール管理部が管理するモジュール管理テーブルの一例を示す図である。
【図８】本発明の第３の実施の形態に係る環境の例を示す図である。
【図９】本発明の第３の実施の形態に係る新規ノードのソフトウェア構成例を示す図である。
【図１０】本発明の第３の実施の形態に係るアンロード装置のソフトウェア構成例を示す図である。
【図１１】本発明の第３の実施の形態に係る通信メッセージの一例を示す図である。
【符号の説明】
【００９０】
１  ネットワーク
２  アンロード装置
３、４  ノード
５  新規ノード
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  内部バス
１０５  ネットワークインタフェース
１０６  記録装置
２０１  監視部
２０２  モジュール管理部
２０３−Ａ、２０３−Ｂ、２０３−Ｃ、２０３−Ｄ、２０３−Ｅ  モジュール
２０４  通信受信部
２０５  通信送信部
２０６、３０１  モジュール通知プロトコル処理部
【図１】
2008017034.tif 000003
【図２】
2008017034.tif 000004
【図３】
2008017034.tif 000005
【図４】
2008017034.tif 000006
【図５】
2008017034.tif 000007
【図６】
2008017034.tif 000008
【図７】
2008017034.tif 000009
【図８】
2008017034.tif 000010
【図９】
2008017034.tif 000011
【図１０】
2008017034.tif 000012
【図１１】
2008017034.tif 000013