(57)【特許請求の範囲】
【請求項１】
複数のソフトウェアモジュールを含むストレージメモリと、複数のソフトウェアモジュールによる使用のためのプログラムメモリと、前記複数のソフトウェアモジュールを実行するプロセッサとを含む複数の画像処理機能のハードウェアリソースを有する複数の多機能ネットワークデバイスと、前記複数の多機能ネットワークデバイスを管理する情報処理装置がネットワークを介して接続された管理システムの制御方法であって、
前記ネットワーク上の情報処理装置が、前記複数の多機能ネットワークデバイスの各々におけるソフトウェアモジュールによるハードウェアリソースの利用状況に基づいて、前記複数の多機能ネットワークデバイスの各々に対する再構築イベントを検出する検出工程と、
前記ネットワーク上の情報処理装置が、前記検出工程で検出された再構築イベントが、ハードウェアリソースの需要の増加に応じて検出されたイベントであった場合には、少なくとも一つのソフトウェアモジュールを削除する削除コマンドを含む第１の再構築コマンドを前記再構築イベントに対応する一つの多機能ネットワークデバイスに対して送信し、前記検出工程で検出された再構築イベントが、ソフトウェアモジュールによるハードウェアリソースの需要の減少に応じて検出されたイベントであった場合には、削除したソフトウェアモジュールを前記情報処理装置から前記多機能ネットワークデバイスへとネットワークを介して送信することにより復帰させる第２の再構築コマンドを、前記再構築イベントに対応する一つの多機能ネットワークデバイスに対して送信する送信工程と、
前記一つの多機能ネットワークデバイスが、前記第１の再構築コマンドに従って前記一つの多機能ネットワークデバイス内のソフトウェアモジュールを削除し、前記情報処理装置に当該ソフトウェアモジュールをネットワークを介して送信することにより自身を再構築する第１の再構築工程と、
前記一つの多機能ネットワークデバイスが、前記第２の再構築コマンドに従って、前記第１の再構築工程で削除されたソフトウェアモジュールを前記ネットワーク上の情報処理装置から再び取得して、当該一つの多機能ネットワークデバイスを再構築する第２の再構築工程とを備えることを特徴とする方法。
【請求項２】
前記第１の再構築イベントは、前記複数のソフトウエアモジュ−ルのうちの一つを前記一つの多機能ネットワークデバイスにより実行することを要求するリクエストであることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１の再構築イベントは、前記ネットワーク上の情報処理装置において動作するコンフィグレータモジュールによってセットされるトリガであり、該トリガは、前記一つの多機能ネットワークデバイス内のストレージメモリ及びプログラムメモリの使用の需要増加を前記コンフィグレータモジュールが検出することによりセットされることを特徴とする請求項１に記載の方法。
【請求項４】
ストレージメモリ及びプログラムメモリの使用の需要増加に関する前記コンフィグレータモジュールによる前記検出は、前記一つの多機能ネットワークデバイスから前記コンフィグレータモジュールへ渡されるリソース情報データに基づいてなされることを特徴とする請求項３に記載の方法。
【請求項５】
前記リソース情報データは、前記一つの多機能ネットワークデバイスの現在利用されているストレージメモリの量と現在利用されているプログラムメモリの量とを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記トリガは、前記コンフィグレータモジュールによる、前記一つの多機能ネットワークデバイスからのリクエストメッセージの受信に基づいてセットされることを特徴とする請求項３に記載の方法。
【請求項７】
前記リクエストメッセージは前記一つの多機能ネットワークデバイスによるリクエストを備え、該リクエストは前記一つの多機能ネットワークデバイスにおける使用可能な前記ストレージメモリ及び前記プログラムメモリの容量の増加を要求するものであることを特徴とする請求項６に記載の方法。
【請求項８】
前記コンフィグレータモジュールは、前記複数の多機能ネットワークデバイスによる複数のソフトウェアモジュールの各々の実行の需要を監視し、前記トリガは、前記複数のソフトウェアモジュールのうちの一つの実行の需要増加の検出に基づいて、前記コンフィグレータモジュールによってセットされることを特徴とする請求項３に記載の方法。
【請求項９】
前記コンフィグレータモジュールは、前記複数の多機能ネットワークデバイスに送信される複数の機能リクエストメッセージを監視することにより、前記複数のソフトウェアモジュールの各々の実行の需要を監視することを特徴とする請求項８に記載の方法。
【請求項１０】
前記第２の再構築工程は、前記一つの多機能ネットワークデバイスの前記第１の再構築工程で削除されたソフトウェアモジュールを付加するための付加コマンドを含む前記第２の再構築コマンドを前記ネットワーク上の情報処理装置から受信することで実行されることを特徴とする請求項１に記載の方法。
【請求項１１】
前記ネットワーク上の情報処理装置において実行中のコンフィグレータモジュールによってセットされるトリガに応じて前記第２の再構築コマンドは送信され、該トリガは、一つの多機能ネットワークデバイスにおけるストレージメモリとプログラムメモリの需要減少を前記コンフィグレータモジュールが検出することに基づくことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ストレージメモリ及びプログラムメモリの使用の需要減少の前記コンフィグレータモジュールによる検出は、前記一つの多機能ネットワークデバイスから前記コンフィグレータモジュールへ渡されるリソース情報データに基づくことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記リソース情報データは、前記一つの多機能ネットワークデバイスの前記ストレージメモリの現在の使用量と前記プログラムメモリの現在の使用量を含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記ネットワーク上の情報処理装置において動作するコンフィグレータモジュールによってセットされるトリガに応じて前記第２の再構築コマンドは送信され、該トリガは、前記一つの多機能ネットワークデバイスに関する最近の第１の再構築イベントの発生からの所定期間の経過に基づくことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記ネットワーク上の情報処理装置において実行中のコンフィグレータモジュールによってセットされるトリガに応じて前記第２の再構築コマンドは送信され、該トリガは、前記一つの多機能ネットワークデバイスからのリクエストメッセージの前記コンフィグレータモジュールによる受信に基づくことを特徴とする請求項１０に記載の方法。
【請求項１６】
前記リクエストメッセージは、前記一つの多機能ネットワークデバイスによるリクエストを備え、該リクエストは該一つの多機能ネットワークデバイスにおけるストレージメモリとプログラムメモリへの少なくとも一つのソフトウェアモジュールの付加に関することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記第２の再構築コマンドは、前記一つの多機能ネットワークデバイスのストレージメモリとプログラムメモリに、指定されたソフトウェアモジュールを付加する付加コマンドであり、前記第２の再構築工程では前記指定されたソフトウェアモジュールが前記一つの多機能ネットワークデバイスにダウンロードされることを特徴とする請求項１０に記載の方法。
【請求項１８】
コンフィグレータモジュールからの命令に応答して、前記指定されたソフトウェアモジュールがコンポーネントレポジトリモジュールから前記一つの多機能ネットワークデバイスにダウンロードされることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記コンポーネントレポジトリモジュールと前記コンフィグレータモジュールは、前記ネットワーク上の同一の情報処理装置上で実行されることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記コンポーネントレポジトリモジュールと前記コンフィグレータモジュールは、前記ネットワーク上の別々の情報処理装置上でそれぞれ実行されることを特徴とする請求項１８に記載の方法。
【請求項２１】
前記コンポーネントレポジトリモジュールは前記ネットワーク上のサーバで実行されることを特徴とする請求項１８に記載の方法。
【請求項２２】
前記指定されたソフトウェアモジュールのバージョン識別が、前記コンフィグレータモジュールから前記コンポーネントレポジトリモジュールへの命令中に提供されることを特徴とする請求項１８に記載の方法。
【請求項２３】
前記バージョン識別は、前記一つの多機能ネットワークデバイスに対応するプリセットプロファイルに従って決定されることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記一つの多機能ネットワークデバイスに対応するプリセットされたプロファイルは、前記一つの多機能ネットワークデバイスにダウンロード可能な許可されたソフトウェアモジュールに関する情報と、該許可されたソフトウェアモジュールの各々に対するバージョン識別を含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記指定されたソフトウェアモジュールは、前記一つの多機能ネットワークデバイスからの命令に応じて、コンポーネントレポジトリモジュールから前記一つの多機能ネットワークデバイスへダウンロードされることを特徴とする請求項１７に記載の方法。
【請求項２６】
前記指定されたソフトウェアモジュールのバージョン識別は、前記一つの多機能ネットワークデバイスから前記コンポーネントレポジトリモジュールへの命令に提供されることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記第１の再構築イベントは、前記一つの多機能ネットワークデバイス内のストレージメモリとプログラムメモリの使用可能な容量の増加の必要があるとの該一つの多機能ネットワークデバイスによる判断に基づいて、該一つの多機能ネットワークデバイスによってセットされるトリガであることを特徴とする請求項１に記載の方法。
【請求項２８】
複数のソフトウェアモジュールを含むストレージメモリと、ソフトウェアモジュールによる使用のためのプログラムメモリと、前記複数のソフトウェアモジュールを実行するプロセッサとを含む複数の画像処理機能のハードウェアリソースを有する複数の多機能ネットワークデバイスと、前記複数の多機能ネットワークデバイスを管理する情報処理装置がネットワークを介して接続された管理システムであって、
前記ネットワーク上の情報処理装置が、前記複数の多機能ネットワークデバイスの各々におけるソフトウェアモジュールによるハードウェアリソースの利用状況に基づいて、前記複数の多機能ネットワークデバイスの各々に対する再構築イベントを検出する検出手段と、
前記ネットワーク上の情報処理装置において、前記検出手段で検出された再構築イベントが、ハードウェアリソースの需要の増加に応じて検出されたイベントであった場合には、少なくとも一つのソフトウェアモジュールを削除する削除コマンドを含む第１の再構築コマンドを前記再構築イベントに対応する一つの多機能ネットワークデバイスに対して送信し、前記検出手段で検出された再構築イベントが、ソフトウェアモジュールによるハードウェアリソースの需要の減少に応じて検出されたイベントであった場合には、前記第１の再構築コマンドにより削除したソフトウェアモジュールを前記情報処理装置から前記多機能ネットワークデバイスへとネットワークを介して送信することにより復帰させる第２の再構築コマンドを、前記再構築イベントに対応する一つの多機能ネットワークデバイスに対して送信する送信手段と、
前記一つの多機能ネットワークデバイスにおいて、前記第１の再構築コマンドに従って前記一つの多機能ネットワークデバイス内のソフトウェアモジュールを削除し、前記情報処理装置に対して当該ソフトウェアモジュールをネットワークを介して送信することにより自身を再構築する第１の再構築手段と、
前記一つの多機能ネットワークデバイスにおいて、前記第２の再構築コマンドに従って前記削除されたソフトウェアモジュールを前記ネットワーク上の情報処理装置から再び取得して、当該一つの多機能ネットワークデバイスを再構築する第２の再構築手段とを備えることを特徴とする管理システム。
【請求項２９】
複数のソフトウェアモジュールを記憶する記憶手段を有し、複数の多機能ネットワークデバイスと通信可能な情報処理装置の制御方法であって、
前記情報処理装置が、前記複数の多機能ネットワークデバイスの各々におけるソフトウェアモジュールによる複数の画像処理機能のハードウェアリソースの利用状況に基づいて、前記複数の多機能ネットワークデバイスのうちの少なくとも一台のデバイスから再構築イベントを検出する検出工程と、
前記情報処理装置が、前記検出工程で検出した再構築イベントが、ハードウェアリソースの需要の増加に応じて検出された、多機能ネットワークデバイス内の特定のソフトウェアモジュールを削除が必要であることを示すイベントであった場合は、当該再構築イベントを発信した多機能ネットワークデバイスへソフトウェアモジュールの削除を指示する削除コマンドを送信する第１送信工程と、
前記情報処理装置が、前記検出工程で検出した再構築イベントが、ハードウェアリソースの需要の減少に応じて検出された、特定のソフトウェアモジュールを要求することを示すイベントであった場合は、前記記憶手段に記憶されている、要求されたソフトウェアモジュールを当該イベントを発信した多機能ネットワークデバイスに対して送信する第２送信工程とを備えることを特徴とする制御方法。
【請求項３０】
多機能ネットワークデバイス内の特定のソフトウェアモジュールを削除が必要であることを示すイベントは、前記多機能ネットワークデバイスが有するハードウェア資源の負荷の増加に応じて検出されるものであり、特定のソフトウェアモジュールを要求することを示すイベントは、前記多機能ネットワークデバイスが有するハードウェア資源の負荷の減少に応じて検出されるものであることを特徴とする請求項２９に記載の制御方法。
【請求項３１】
複数のソフトウェアモジュールを記憶する記憶手段を有し、複数の多機能ネットワークデバイスと通信可能な情報処理装置であって、
前記情報処理装置が、前記複数の多機能ネットワークデバイスの各々におけるソフトウェアモジュールによる複数の画像処理機能のハードウェアリソースの利用状況に基づいて、前記複数の多機能ネットワークデバイスのうちの少なくとも一台のデバイスから再構築イベントを検出する検出手段と、
前記検出手段で検出した再構築イベントが、ハードウェアリソースの需要の増加に応じて生成された、多機能ネットワークデバイス内の特定のソフトウェアモジュールを削除が必要であることを示すイベントであった場合は、当該再構築イベントを発信した多機能ネットワークデバイスへソフトウェアモジュールの削除を指示する削除コマンドを送信する第１送信手段と、
前記検出手段で検出した再構築イベントが、ハードウェアリソースの需要の減少に応じて生成された、特定のソフトウェアモジュールを要求することを示すイベントであった場合は、前記記憶手段に記憶されている、要求されたソフトウェアモジュールを当該イベントを発信した多機能ネットワークデバイスに対して送信する第２送信手段とを備えることを特徴とする情報処理装置。
【請求項３２】
多機能ネットワークデバイス内の特定のソフトウェアモジュールを削除が必要であることを示すイベントは、前記多機能ネットワークデバイスが有するハードウェア資源の負荷の増加に応じて検出されるものであり、特定のソフトウェアモジュールを要求することを示すイベントは、前記多機能ネットワークデバイスが有するハードウェア資源の負荷の減少に応じて検出されるものであることを特徴とする請求項３１に記載の情報処理装置。
【請求項３３】
複数のソフトウェアモジュールを含むストレージメモリと、ソフトウェアモジュールによる使用のためのプログラムメモリと、前記ソフトウェアモジュールを実行するプロセッサとを含む複数の画像処理機能のハードウェアリソースを有し、ネットワークと接続可能な多機能ネットワークデバイスの制御方法であって、
前記多機能ネットワークデバイスが、前記複数のソフトウェアモジュールによるハードウェアリソースの利用状況に基づいてハードウェアリソースの再配分が必要か否かを判定する判定工程と、
前記多機能ネットワークデバイスが、前記判定工程でハードウェアリソースの再配分が必要と判定された場合に、前記複数のソフトウェアモジュールのうちの少なくとも一つのソフトウェアモジュールを削除することにより再構築するとともに、前記多機能ネットワークデバイスにおけるハードウェアリソースの確保のために削除されたソフトウェアモジュールを前記ネットワーク上の情報処理装置に送信する第１の再構築工程と、
前記多機能ネットワークデバイスが、前記第１の再構築工程の後、前記ハードウェアリソースの利用状況に応じて、前記削除されたソフトウェアモジュールを前記ネットワーク上の情報処理装置から再取得して、当該多機能ネットワークデバイスを再構築する第２の再構築工程とを備えることを特徴とする制御方法。
【請求項３４】
複数のソフトウェアモジュールを含むストレージメモリと、ソフトウェアモジュールによる使用のためのプログラムメモリと、前記ソフトウェアモジュールを実行するプロセッサとを含む複数の画像処理機能のハードウェアリソースを有し、ネットワークと接続可能な多機能ネットワークデバイスであって、
前記複数のソフトウェアモジュールによるハードウェアリソースの利用状況に基づいてハードウェアリソースの再配分が必要か否かを判定する判定手段と、
前記判定手段によりハードウェアリソースの再配分が必要と判定された場合に、前記複数のソフトウェアモジュールのうちの少なくとも一つのソフトウェアモジュールを削除することにより再構築するとともに、前記多機能ネットワークデバイスにおけるハードウェアリソースの確保のために削除されたソフトウェアモジュールを前記ネットワーク上の情報処理装置に送信する第１の再構築手段と、
前記第１の再構築手段による再構築の後、前記ハードウェアリソースの利用状況に応じて、前記削除されたソフトウェアモジュールを前記ネットワーク上の情報処理装置から再取得して、当該多機能ネットワークデバイスを再構築する第２の再構築手段とを備えることを特徴とする多機能ネットワークデバイス。
【請求項３５】
請求項２９，３０及び３３のいずれかに記載の制御方法をコンピュータに実行させるための制御プログラム。
【請求項３６】
請求項２９，３０及び３３のいずれかに記載の制御方法をコンピュータに実行させるための制御プログラムを格納したことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【０００１】
［発明の背景］
発明の分野
本発明は、ネットワークデバイスの特定の機能能力の要求に基づく、ネットワークデバイスの動的な再構築に関する。特に、ネットワークデバイスは、ファックス／スキャナ／プリンタの組み合わせといったような多機能デバイスであり、異なる機能の組み合わせを実行する能力を持つために、ネットワーク上のコンフィグレータモジュールによって動的に再構築され得るものである。もちろん、多機能デバイスは性能的な理由により、或いは携帯性の理由（携帯性はネットワークデバイスに設けられた低いハードウエア容量に関連する）により、機能を動的にロード及び／またはアンロードすることが必要なあらゆるネットワーククライアントのようなタイプのものであってもよい。例えば、コンフィグレータモジュールは、デバイスがもともと有するオリジナルの機能の一つあるいは一部（sub-set）のみを実行可能とするべくネットワークデバイスを構築することができる。また、コンフィグレータモジュールは、オリジナルの機能に加えて新たな機能を実行可能とすべくネットワークデバイスを再構築することができる。コンフィグレータモジュールは、再構築が必要な場合に、そのネットワークデバイスに適切な機能コンポーネントをダウンロードするために、コンポーネントレポジトリを利用する。
【０００２】
関連技術の説明
ネットワーク環境における多機能ネットワークデバイスの使用は、ネットワークユーザが特定の場所において、多数の機能能力をアクセスすることを可能にする。例えば、多機能ネットワークデバイスは、そのデバイスの近くに居るユーザがそのデバイスのファックス機能、スキャナ機能及びプリント機能を容易に利用できるように、ファックス／スキャナ／プリンタの組み合わせを備えることができる。このような態様によれば、そのような多機能ネットワークデバイスを使用することで、一つだけの機能を実行可能とする個別の単機能ネットワークデバイスの必要性が低減する。
【０００３】
したがって、ネットワークデバイス、ネットワークスキャナデバイス及びネットワークプリンタは、一つの多機能ネットワークデバイスで置き換えることができる。それゆえ、多機能ネットワークデバイスの使用は、それを使用しない場合に、それと同じだけの機能を達成することを可能とするのに必要な複数の単機能ネットワークデバイスを設置するために必要となる物理的なスペースを減少させるという利点がある。加えて、多機能ネットワークデバイスの使用は、管理しなければならないネットワークデバイスの全体数を減少させるので、システム管理者に管理のしやすさを提供する。
【０００４】
上述のように多機能ネットワークデバイスはいくつかの利点を有するが、単機能ネットワークデバイスに比べてパフォーマンスの低いことが体感される。この低いパフォーマンスは、多機能ネットワークデバイスにおけるハードウエア容量が制限されるということの結果である。ここで、ハードウエア容量とは、プロセッサ（ＣＰＵ）の容量（capacity）のみならず、ランダムアクセスメモリ（ＲＡＭ）及びハードディスクドライブ（ＨＤＤ）の容量を含むものである。ネットワークプリンタのような単機能ネットワークデバイスでは、プリンティングというような単一の機能を実行するために、デバイス内のＲＡＭ、ＨＤＤおよびＣＰＵがその機能を専門にサポートする。一方、多機能ネットワークデバイス内のＲＡＭ、ＨＤＤ及びＣＰＵは、ファックス、スキャナ及びプリンティングといった複数の機能をサポートしなければならない。
【０００５】
多機能ネットワークデバイス内のＲＡＭ，ＨＤＤ及びＣＰＵの容量は、そのデバイスによってサポートされる複数機能の数に必ずしも比例的である必要はない。したがって、多機能ネットワークデバイスは、ある特定の機能を実行する際に使用可能なＲＡＭ、ＨＤＤ、及びＣＰＵの自由容量は、単機能ネットワークデバイスがその機能を実行する際に有する自由容量よりも少なくなる。例えば、典型的な多機能ネットワークデバイスであるファックス／スキャナ／プリンタは、１０メガバイト（ＭＢ）のＲＡＭと１ギガバイト（ＧＢ）のＨＤＤを有する。ファックス機能に関するコードは２ＭＢのＲＡＭと２００ＭＢのＨＤＤを利用し、スキャン機能に関するコードは３ＭＢのＲＡＭと５００ＭＢのＨＤＤを利用し、プリント機能に関するコードは３ＭＢのＲＡＭと１００ＭＢのＨＤＤを利用する。この例において、８ＭＢのＲＡＭと、８００ＭＢのＨＤＤがこれら３つの機能に対応するコードによって利用される。この結果、多機能ネットワークデバイスは、その動作において、キャッシング、キューイング及びワーキングストレージ、ならびに他の必要な使用のために、２ＭＢのＲＡＭと、２００ＭＢのＨＤＤのみが使用可能となる。
【０００６】
一方、単機能ネットワークプリンタの場合は、１０ＭＢのＲＡＭと１ＧＢのＨＤＤを有し、それらのうちプリント機能のためのコードが３ＭＢのＲＡＭと１００ＭＢのＨＤＤを利用する。したがって、単機能ネットワークプリンタは、その動作において、キャッシング、キューイング、ワーキングストレージ、ならびにその他の必要な使用のために、７ＭＢのＲＡＭと９００ＧＢのＨＤＤを用いることができる。これは、上記の多機能ネットワークデバイスの例における自由なＲＡＭ及びＨＤＤの容量の３倍以上である。したがって、この例において、単機能ネットワークプリンタの印刷性能は多機能ネットワークデバイスの印刷機能よりもかなり優れたものとなる。
【０００７】
ネットワーク環境において、しばしば特定の機能に対する需要は、通常状態におけるそれをはるかに上回る。例えば、ネットワークユーザが毎週の平日の最終日にレポートを作成することが要求されるオフィス環境の場合、その日のプリントに対する全需要は、ファックスやスキャンに比べて非常に増加することになる。また、別の例として、ある特定のオフィス環境におけるファックスの需要は、午前中にその日の注文書を会社間で受信したり送信したりするので、午前中は増加することになる。これらの状況において、いくつかの多機能ネットワークデバイスを有するネットワーク環境では、その要求されたプリントジョブやファックスジョブをサポートするための多機能ネットワークデバイスの制限されたハードウエア容量が原因で、要求されたすべてのプリントジョブやファックスジョブを処理する際のスループットが制限されることになろう。
【０００８】
これらの状況において、ＲＡＭ及びＨＤＤ容量の相当量は、その時点においてネットワーク環境のネットワークユーザによっては実質的に要求されていない多機能ネットワークデバイスの機能によって浪費されることになる。ＲＡＭとＨＤＤの浪費された容量は、要求された機能をはるかに効率的に実行できる多機能ネットワークデバイスの能力を妨げてしまう。これらの状態は、ネットワークユーザ及び／またはシステム管理者によってある特定の機能に関する需要が事前にスケジュールされるような場合にも発生する。例えば、経理部のような大きなオフィス環境では、毎週のある特定の日の休み時間（off-hour）に大量のプリントジョブを開始するようにスケジュールする場合がある。このとき、多機能ネットワークデバイスの需要はプリントに関するもののみであり、多機能ネットワークデバイスが可能な限り効率的にそのスケジュールされたプリントジョブのプリントを実行するのが好ましい。
【０００９】
多機能ネットワークデバイスの上述した典型的な課題に加えて、多機能ネットワークデバイスでは、一般に、それらが製造されたときに複数機能を実行するためのファームウエアコードがあらかじめロードされる。したがって、多機能ネットワークデバイスの購入者がその多機能ネットワークデバイスのすべての機能よりも少ない機能しか利用しない場合に、そのデバイスのパフォーマンスは、その購入者が使用することのない機能によって浪費されるＲＡＭ及びＨＤＤ空間によって妨げられてしまう。加えて、多機能デットワークデバイスの据付や使用の前に製造者によって一つまたはそれ以上の機能に関する改良されたファームウエアが生成される場合、その多機能ネットワークデバイスにマニュアルでインストールされない限り、その改良されたファームウエアの利益を得ることはできない。これは、多くの多機能ネットワークデバイスを有するネットワーク環境におけるネットワーク管理者にとって、やる気をくじかれるような作業である。
【００１０】
最後に、いくつかの多機能ネットワークデバイスは、ソータ、ステイプル、エンベロープトレイなどのようなハードエアアドオンを統合する能力を有する。これらのアドオンは、しばしば、それらのそれぞれの機能性をサポートするために、多機能ネットワークデバイスに、アップデートされたファームウエアや、ユニークなファームウエアがロードされることを必要とする。このインストールは時間を浪費させ、わずらわしいものである。特にネットワーク環境の多くの多機能ネットワークデバイスがそのようなアドオンを要求する場合には、それが顕著である。
【００１１】
［発明の要約］
本発明は、多機能ネットワークデバイスのある特定の機能能力に対する需要に基づいて、多機能ネットワークデバイスを動的に再構築するシステムを提供することにより上記課題に対処するものである。特に、ファックス／スキャナ／プリンタの組み合わせのような、多機能ネットワークデバイスは、ネットワーク上のコンフィグレータモジュールによって動的に再構築され、異なる機能の組み合わせを実行することが可能になる。コンフィグレータモジュールは、多機能ネットワークデバイスを、単一の機能のみを実行可能に再構築したり、元来有していた機能の一部を実行可能に再構築することができる。また、コンフィグレータモジュールは、元来所有していた機能に加えて、新たな機能を実行可能にネットワークデバイスを再構築することができる。コンフィグレータモジュールは、再構築が必要となった場合に、適切な機能をダウンロードするためにコンポーネントレポジトリを利用する。
【００１２】
従って、本発明の一態様は、ネットワーク上の複数の多機能ネットワークデバイスを管理する方法に関する。ここで、各多機能ネットワークデバイスは、複数の機能モジュールを含むストレージメモリと、機能モジュールによる使用のためのプログラムメモリと、前記機能モジュールの各々を実行するプロセッサとを有する。そして、複数の多機能ネットワークデバイスの一つに対する再構築イベントが検出され、再構築コマンドが一つの多機能ネットワークデバイスに送信される。再構築コマンドは少なくとも一つの機能モジュールを削除する削除コマンドか、複数の機能モジュールの各々によって利用可能なハードウエアリソースの少なくとも一つを再配分するための再配分コマンドから選択されたコマンドである。そして、一つの多機能ネットワークデバイスから、再構築コマンドに従って再構築されたことの確認が受信される。
【００１３】
好ましくは、再構築イベントは、ネットワーク上で動作するコンフィグレータモジュールによって検出され、再構築イベントは、一つの多機能ネットワークデバイスによる、機能モジュールの中の指定された機能モジュールによってストレージメモリとプログラムメモリの使用の需要増加に基づいて検出される。好ましくは、需要増加は、一つの多機能ネットワークデバイスからコンフィグレータモジュールに送信されるリソース利用情報に基づいて、コンフィグレータモジュールによって判断される。加えて、一つの多機能ネットワークデバイスは、好ましくは、再構築コマンドに応答して、ストレージメモリ及びプログラムメモリから指定された機能モジュール以外の全ての機能モジュールを削除する。それらの削除された機能モジュールは、好ましくは、後に、第２の再構築コマンドに応じて、コンポーネントレポジトリから一つの多機能ネットワークデバイスにダウンロードされ、ストレージメモリ及びプログラムメモリに追加される。第２の再構築コマンドは、機能モジュールの指定されたものによってストレージメモリ及びプログラムメモリの使用に関して増加された需要がもはや存在しなくなった場合に、一つの多機能ネットワークデバイスに送信される。加えて、新たに組み込まれた多機能ネットワークデバイスは、好ましくは、コンフィグレータモジュールによって発見され、コンフィグレータモジュールからの命令に応答して、コンポーネントレポジトリからその多機能ネットワークデバイスへ適切な機能モジュールのセットがダウンロードされ得る。
【００１４】
上記によれば、複数の多機能ネットワークデバイスは効率的に管理され得る。それらのパフォーマンスは、機能モジュールが不要となったときに、その不要な機能モジュールをオフロードすることにより向上する。この方法において、多機能ネットワークデバイスにおける、例えばプリントのような特定の機能モジュールの使用に対する高い需要がある場合に、スキャンやファックスのような他の機能モジュールをストレージメモリやプログラムメモリより削除することができる。付加的な、自由なストレージメモリやプログラムメモリは、特定の機能モジュールからの要求によって使用可能となり、それにより要求された機能モジュールのパフォーマンスが向上する。更に、本発明は、新たに組み込まれた多機能ネットワークデバイスへの適切な機能モジュールの効率的なダウンロードを提供する。それにより、効率的な方法で多機能ネットワークデバイスに最新の更新された機能を提供できる。
【００１５】
他の態様によれば、本発明はネットワーク上の複数の多機能ネットワークデバイスの管理に関する。ここで各多機能ネットワークデバイスは複数の機能モジュールを格納するストレージメモリと、それら機能モジュールによって使用されるプログラムメモリと、それら機能モジュールの各々を実行するプロセッサとを有する。複数の多機能ネットワークデバイスの一つに対する第１の再構築イベントが検出される。この第１の再構築イベントは複数の機能モジュールのうちの指定された一つの機能モジュールによって利用されるストレージメモリ及びプログラムメモリの必要容量の増加に基づいている。そして、第１の再構築イベントに応じて第１の再構築コマンドが一つの多機能ネットワークデバイスに送られる。ここで、第１の再構築コマンドは、指定された機能ジュール以外の全ての機能モジュールを、上記一つの多機能ネットワークデバイスのストレージメモリ及びプログラムメモリから削除するコマンドを備える。第１の再構築コマンドに応じて上記多機能ネットワークデバイスのストレージメモリ及びプログラムメモリから指定された機能モジュール以外の全ての機能モジュールを削除することにより上記一つの多機能ネットワークデバイスが再構築されたことの確認が受信される。上記一つの多機能ネットワークデバイスに対する第２の再構築イベントが検出される。この第２の再構築イベントは、複数の機能モジュールのうちの指定された機能モジュールによって利用されるストレージメモリとプログラムメモリの必要容量の減少に基づいており、検出された第２の再構築イベントに応じて第２の再構築コマンドが上記一つの多機能ネットワークデバイスに送信される。ここで、該第２の再構築コマンドは、第１の再構築コマンドに応じて以前に消去された全ての機能モジュールをダウンロードし、ダウンロードされた機能モジュールを該一つの多機能ネットワークデバイスのストレージメモリ及びプログラムメモリに追加する。第２の再構築コマンドに応じて多機能ネットワークデバイスのストレージメモリ及びプログラムメモリに前回削除された機能モジュールをダウンロードし、追加することにより上記一つの多機能ネットワークデバイスが再構築されたことの確認が受信される。
【００１６】
好ましくは、再構築イベントはネットワーク上のサーバで実行するコンフィグレータモジュールによって検出される。好ましくは、ストレージメモリ及びプログラムメモリに対する需要の増加は、一つの多機能ネットワークデバイスからコンフィグレータモジュールに送信されるリソース利用情報に基づいて、コンフィグレータモジュールによって判断される。加えて、ストレージメモリ及びプログラムメモリに対する需要はあらかじめスケジュールされた機能の利用に基づいてコンフィグレータモジュールによって判断され得る。このようなスケジュールされた機能の利用としては、毎晩の特定の時間におけるレポートのプリントが挙げられる。加えて、削除された機能モジュールは、好ましくは、その後にコンポーネントレポジトリからダウンロードされる。また、新たに組み込まれた多機能ネットワークデバイスは、好ましくは、コンフィグレータモジュールによって発見され、適切な機能モジュールのセットがコンフィグレータモジュールからの命令に応じて、コンポーネントレポジトリからその多機能ネットワークにダウンロードされ得る。
【００１７】
上記によれば、複数の多機能ネットワークデバイスが効率的に管理され得る。それらのパフォーマンスは、機能モジュールが不要となったときに、その不要な機能モジュールをオフロードすることにより向上する。この方法において、多機能ネットワークデバイスにおける、例えばプリントのような特定の機能モジュールの使用に対する高い需要がある場合に、スキャンやファックスのような他の機能モジュールをストレージメモリやプログラムメモリより削除することができる。こうして得られた自由なストレージメモリやプログラムメモリは、特定の機能モジュールからの要求に応じて使用可能となり、それにより要求された機能モジュールのパフォーマンスが向上する。更に、本発明は、新たに組み込まれた多機能ネットワークデバイスへの適切な機能モジュールの効率的なダウンロードを提供する。それにより、効率的な方法で多機能ネットワークデバイスに最新の更新された機能を提供できる。
【００１８】
［発明の実施の形態］
図１は、本発明を実施可能なネットワーク環境を示す図である。図１に示されるように、ネットワーク環境は、ネットワーク１０、コンピュータワークステーション１１，１２、ネットワークサーバ１４及びネットワーク多機能デバイス１５，１６，１７を含む。ネットワーク１０は、好ましくは、ＴＣＰ／ＩＰ及びＨＴＴＰ、ならびにＳＮＭＰ、ＦＴＰ、ＳＯＡＰ  ＸＭＬのような他のプロトコル、及びここでさらに説明される以外のものをサポートする、典型的なネットワークである。コンピュータワークステーション１１，１２は、好ましくはネットワークインターフェース能力を有する典型的なコンピューティングデバイスであり、好ましくはホストプロセッサユニット、表示用モニタ、キーボード、マウスのようなポインティングデバイス、固定ハードディスクのようなメモリ格納デバイス、ＣＤ−ＲＯＭドライブやディスクドライブのようなメモリ媒体アクセスデバイスを含む。
【００１９】
サーバ１４は、好ましくはネットワークインターフェース能力を有する典型的なネットワークサーバであり、好ましくは、ホストプロセッサ、固定ハードディスクのようなメモリ格納デバイス、ＣＤ−ＲＯＭドライブやディスクドライブのようなメモリ媒体アクセスデバイスを含む。多機能ネットワークデバイス１５，１６は、好ましくは、スキャニング及びファックスの機能能力を持つネットワークプリンタデバイスである。例えば、多機能ネットワークデバイス１５，１６は好ましくはドキュメントをスキャンするための光学式スキャニングデバイスを持つインクジェットプリンタ装置であり、さらに、電話回線の接続を介してドキュメントをファックスするためのファックス／モデムを有する。同様に、多機能ネットワークデバイス１７は、大型オフィス向けの組み合わせであるネットワークプリンタ／複写機であり、プリンティング機構、スキャンデバイス、ファックスカードを含み、コピー、プリント、スキャナ及びファックスをサポートする。なお、本発明は、他のタイプのネットワークにおいても実現可能であるし、ネットワークユーザによるアクセスに対して異なる機能をサポートする他のタイプの多機能ネットワークデバイスでもって実現することも可能であることは、当業者には理解され得るところである。
【００２０】
図２は図１のネットワーク環境内における、多機能ネットワークデバイスの一つの内部アーキテクチャを示す図である。特に、多機能ネットワークデバイス１６は、デバイスバス２０にインターフェースされたプログラマブルマイクロプロセッサのような中央処理ユニット（ＣＰＵ）２１を含むことがわかる。また、デバイスバス２０には、多機能ネットワークデバイス１６のプリンタエンジン（不図示）の制御に利用されるコントロールロジック２２、多機能ネットワークデバイス１６の種々の入出力デバイス（不図示）との通信に利用されるＩ／Ｏポート２３、電話回線接続を介した多機能ネットワークデバイスのためのファックス機能をサポートするのに用いられるファックス／モデムインターフェース、ネットワーク１０に多機能ネットワークデバイス１６をインターフェースするのに用いられるネットワークインターフェース２５、そして、ドキュメントを光学的にスキャンするべく多機能ネットワークデバイス１６のスキャンユニットを制御するためのスキャンユニットコントローラ３０が接続される。ネットワークインターフェース２５は、本発明に従った多機能ネットワークデバイス１６のための適切なインターフェース機能を提供するためのいくつかのモジュールを含む。ネットワークインターフェース２５は、特に、ＳＮＭＰ、ＨＴＴＰ、ＴＣＰ／ＩＰ、ＳＯＡＰ  ＸＭＬ等を含む、本発明を実施するためのいくつかのプロトコルをサポートする。
【００２１】
また、ランダムアクセスメモリ（ＲＡＭ）２６、読み出し専用メモリ（ＲＯＭ）２７、固定メモリ２８及びＥＥＰＲＯＭ２９がデバイス２０に接続される。ＲＡＭ２６は、ＣＰＵ２１にメモリストレージへのアクセスを提供するためにデバイスバス２０に接続されており、それによってＣＰＵ２１のメインランダムアクセスメモリとして動作する。特に、格納されたプログラムインストラクションシーケンスを実行する際に、ＣＰＵ２１はそれらのインストラクションシーケンスを固定ディスク２８（或いは他のメモリメディア）からＲＡＭ２６へロードし、ＲＡＭ２６からそれら格納されたプログラムインストラクションシーケンスを実行する。ＲＯＭ２７は、ＣＰＵ２１のスタートアップインストラクションシーケンスや多機能ネットワークデバイス１６の種々のハードウエアコンポーネントの動作のためのＢＩＯＳシーケンスのような、不変的なインストラクションシーケンスを格納する。ＥＥＰＲＯＭ２９は、多機能ネットワークデバイス１６の機能を実行するための機能ソフトウエアコードのような非揮発性プログラムインストラクションを含む。したがって、機能ソフトエアはＥＥＰＲＯＭ２９、ＲＯＭ２７或いは固定ディスク２８からアクセスされる。
【００２２】
固定メモリ２８は、ハードディスクドライブ（ＨＤＤ）のような、コンピュータ可読媒体の一例であり、ＣＰＵ２１によって実行可能なプログラムインストラクションシーケンスを格納する。プログラムインストラクションは、オペレーティングシステム３９、プリンタエンジン機能モジュール３１、コントロールロジックドライバモジュール３２、Ｉ／Ｏポートドライバモジュール３３、コンフィグレーション情報３４、コンフィグレーションモジュール３５、ファクシミリ機能モジュール３６、スキャナ機能モジュール３７及び他のファイル３８を構成するためのものである。オペレーティングシステム３９は、ＣＰＵ２１によるインストラクションシーケンスの実行を管理するためのＤＯＳ、ＵＮＩＸ、ＬＩＮＵＸ或いはウインドウベースのオペレーティングシステム、或いは他のタイプのオペレーティングシステムである。プリンタエンジン機能モジュール３１とコントロールロジックドライバモジュール３２は、好ましくはネットワーク１０を介して多機能ネットワークデバイス１６によって受信された画像データに従って画像をプリントするように、多機能ネットワークデバイス１６のプリンタエンジン（不図示）を制御し、駆動するのに利用される。Ｉ／Ｏポートドライバモジュール３３は、Ｉ／Ｏポート２３を通じて接続されたあらゆる入力及び出力デバイス（不図示）をドライブするのに利用される。コンフィグレーション情報３４は、自身のＩＰアドレスのような多機能ネットワークデバイス１６に関するネットワーク設定を包含するために、また、プリント、スキャン、ファックス等のような多機能ネットワークデバイス１６の現在の機能能力に関する情報を持つために提供される。こうして、ファクシミリ機能３６は、ファックス／モデムを介したファクシミリ機能をサポートするために多機能ネットワークデバイス１６によって利用される。また、スキャナ機能モジュール３７は、スキャンユニットコントローラ３０を通して、スキャニング機能をサポートするためにネットワークデバイス１６によって利用される。最後に、他のファイル３８は、多機能ネットワークデバイスの動作及び機能に必要な他の情報やプログラムを提供するために用いられる。上述したように、本発明は、ネットワークユーザによるアクセスや使用のための異なる機能の組み合わせをサポートするような他のタイプの多機能ネットワークデバイスをもサポートする。
【００２３】
図３は、図１に示したネットワーク環境のコンピュータ１１の内部のアーキテクチャの概要を示す図である。コンピュータ１１は、図１のようなネットワーク環境で用いられ、多機能ネットワークデバイス１５，１６，１７の状態を監視するためのコンフィグレータモジュール５９を実現する。図３に示されるように、コンピュータバス４０に接続されたプログラマブルマイクロコンピュータのような中央処理装置ユニット（ＣＰＵ）４１が含まれる。また、キーボードを接続するためのキーボードインターフェース４２、マウスポインティングデバイスを接続するためのマウスインターフェース４３、フロッピーディスケットをインターフェースするためのフロッピーディスクインターフェース４４、ディスプレイをインターフェースするためのディスプレイインターフェース４９、及びネットワーク１０とインターフェースするためのネットワークインターフェース４５がコンピュータバス４０に接続されている。ネットワークインターフェース４５は、本発明に従ったコンピュータ１１のための適切なネットワークインターフェース機能を提供するために、いくつかのモジュール（不図示）を含む。特に、ネットワークインターフェース４５は、本発明を実現するために、ＳＮＭＰ、ＨＴＴＰ、ＴＣＰ／ＩＰ、ＦＴＰ、ＳＯＡＰ  ＸＭＬ等の複数のプロトコルをサポートする。
【００２４】
ランダムアクセスメモリ（ＲＡＭ）４６は、コンピュータバス４０に接続されており、中央処理ユニット（ＣＰＵ）４１にメモリストレージへのアクセスを提供する。それにより、ＲＡＭ４６は、ＣＰＵ４１のためのメインランタイムメモリとして動作する。特に、格納されたプログラム命令シーケンスを実行する場合に、ＣＰＵ４１は、それらの命令シーケンスを固定ディスク４８（或いは他のメモリ媒体）からランダムアクセスメモリ（ＲＡＭ）４６へロードし、それらの格納されたプログラム命令シーケンスをＲＡＭ４６から実行する。また、ウインドウオペレーティングシステムの下で有用な標準ディスクスワッピング技術は、ＲＡＭ４６と固定ディスク４８の間で、メモリのセグメントがスワップされることを可能にする。読み出し専用メモリ（ＲＯＭ）４７は、不変の命令シーケンスを格納する。不変な命令シーケンスとは、ＣＰＵ４１のスタートアップ命令シーケンスや、或いはコンピュータ１１に吹付加された周辺デバイスのオペレーションのための基本入出力オペレーティングシステム（ＢＩＯＳ）シーケンス等があげられる。
【００２５】
固定ディスク４８は、好ましくはウインドウオペレーティングシステムであるオペレーティングシステム５１を構成するために中央処理ユニット（ＣＰＵ）４１によって実行可能なプログラム命令シーケンスを格納するコンピュータ可読媒体の一つの例である。上記ウインドウオペレーティングシステムとしては、例えば、ウインドウズ２０００、ウインドウズ９８、ウインドウズ９５、ウインドウズＮＴが挙げられるが、ＤＯＳ、ＵＮＩＸ及びＬＩＮＵＸのような他のタイプのオペレーティングシステムも本発明に利用可能である。また、固定ディスク４８にはキーボードインターフェース４２を駆動するためのキーボードインターフェースドライバ５２、マウスインターフェース４３を駆動するためのマウスインターフェースドライバ５４、フロッピーディスクインターフェース４４を駆動するためのフロッピーディスクインターフェースドライバ５５、ディスプレイインターフェース４９を駆動するためのディスプレイインターフェースドライバ５６、及びネットワークインターフェース４５を駆動するためのネットワークインターフェースドライバ５７が備えられている。また、多機能ネットワークデバイスの動的な再構築を実現するためのコンフィグレータモジュール５９も固定ディスク４８に備えられている。コンフィグレータモジュール５９については、以下でより詳細に説明する。また，固定ディスク４８には、ネットワーク１０上の多機能ネットワークデバイスに対応するデバイスプロファイルを格納するデバイスプロファイル６０が備えられる。このデバイスプロファイルにより、各デバイスによりサポートされる機能と、そのような機能の各々を実現するための適切な機能モジュールが追跡される。本発明を実現するためのデバイスプロファイル６０の利用は、以下でより詳細に説明される。固定ディスク４８は、また、プログラムされたデバイススケジュール６１を含む。これは、プログラムされたスケジュールを含み、このプログラムされたスケジュールに従って、ネットワーク１０上の多機能ネットワークデバイスは、異なる機能の組み合わせをサポートするために再構築される。本発明を実施するためのプログラムされたデバイススケジュール６１の利用は、以下においてより詳細に説明する。最後に、他のファイル６２が固定ディスク４８に格納されており、これは他の情報や、コンピュータ１１が動作したりコンピュータ１１に付加的な機能性を追加したりするのに必要なプログラムを含む。
【００２６】
図４に示されるように、コンピュータ１２は、図３を参照して上述したコンピュータ１１と実質的に類似の内部アーキテクチャを有する。両者の相違点は、コンピュータ１２の固定ディスク７８に含まれるソフトウエアモジュールの違いである。従って、図４に示されるコンピュータ１２の内部アーキテクチャについては、記載を簡潔にするためにここでは説明せず、固定ディスク７８上の異なるソフトウエアモジュールについて説明を行なう。特に、コンピュータ１１の固定ディスク４８上に存在するコンフィグレータモジュール５９、デバイスプロファイル６０及びプログラムされたデバイススケジュール６１の代わりに、コンピュータ１２の固定ディスク７８上にはコンポーネントレポジトリモジュール８７と機能モジュール８８が存在する。コンポーネントレポジトリモジュール８７は以下により詳細に説明されるように、ネットワーク１０上の多機能ネットワークデバイスへの機能モジュールのダウンローディングを制御することにより、本発明を実現するのに用いられる。本発明の他の観点において、コンポーネントレポジトリモジュール８７は、多機能ネットワークデバイスから機能モジュールを受信することにより、一時的な格納サイトとして動作する。この点についても以下で詳述する。機能モジュール８８は、ネットワーク１０上の多機能ネットワークデバイスによる利用のための複数の異なる機能モジュールを含む。ここで、異なる機能モジュールとは、各特定の機能モジュールの異なるバージョンをも含む。なお、本発明を実施するための機能モジュール８８の利用については、以下に、より詳細に説明する。
【００２７】
なお、上記では、本発明を実現するためのソフトウエアコンポーネントはコンピュータ１１及び１２の間で分割して存在させたが、それらのソフトウエアコンポーネントは、本発明を実施するためのコンピュータ１１のような単一のコンピュータ上に配置されてもよいことは理解されるべきである。例えば、コンピュータ１１の固定ディスク４８は、ネットワーク１０の多機能ネットワークデバイスを監視し、必要に応じてそれらデバイスの動的な再構築を制御するために、コンポーネントレポジトリモジュール８７、機能性モジュール８８、コンフィグレータモジュール５９、デバイスプロファイル６０及びプログラムされたデバイススケジュール６１を含むことが可能である。
【００２８】
同様の態様において、ネットワーク１０上には、本発明を実現するための二重のサービスを提供する他のコンピューティングデバイスを配置するようにしてもよい。この点に関して説明する。図５は、図４に示したコンピュータ１２と同様の、本発明を実現するための機能を効率的に提供するネットワークサーバ１４の内部アーキテクチャを示す。この態様によれば、機能モジュールはコンピュータ１２から或いはネットワークサーバ１４からネットワーク１０上の多機能ネットワークデバイスにダウンロードされ得る。図５において、サーバ１４は、サーババス９０にインターフェースされるプログラマブルマイクロコンピュータのような中央処理ユニット（ＣＰＵ）９１を含む。また、サーババス９０にはネットワーク１０にインターフェースするネットワークインターフェース９２が接続されている。加えて、ランダムアクセスメモリ（ＲＡＭ）９３、読み出し専用メモリ（ＲＯＭ）９４、固定ディスク９５もサーババス９０に接続されている。ＲＡＭ９３はサーババス９０に接続されて、ＣＰＵ９１にメモリストレージへのアクセスを提供し、それによって、ＣＰＵ９１のメインランタイムメモリとして動作する。特に、格納されたプログラム命令シーケンスを実行する際に、ＣＰＵ９１は固定ディスク９５（或いは他のメモリ媒体）からこれらの命令シーケンスをＲＡＭ９３にロードし、ＲＡＭ９３からそれら格納されたプログラム命令シーケンスを実行する。なお、標準的なディスクスワッピング技術が、ＲＡＭ９３と固定ディスク９５の間でメモリのセグメントをスワップ可能とすることを認識すべきである。ＲＯＭ９４は、ＣＰＵ９１のためのスタートアップ命令シーケンス、或いは、ネットワークサーバ１４に装着可能な周辺装置（不図示）の動作のための基本入出力オペレーティングシステム（ＢＩＯＳ）シーケンスのような、不変の命令シーケンスを格納する。ネットワークインターフェース９２は、本発明に従ったネットワークサーバ１４のための適切なネットワークインターフェース機能を提供するためにいくつかのモジュールを含む。特に、ネットワークインターフェース９２は、本発明を実現するための複数のネットワークプロトコル、すなわち、ＳＮＭＰ、ＨＴＴＰ、ＴＣＰ／ＩＰ、ＦＴＰ、ＳＯＡＰ ＸＭＬ等をサポートする。
【００２９】
固定ディスク９５は、オペレーティングシステム１０１、ネットワークインターフェースドライバ１０２、コンポーネントレポジトリモジュール１０３、機能モジュール１０４及び他のファイル１０５を構成するために、ＣＰＵ９１によって実行されるプログラム命令シーケンスを格納するコンピュータ可読メディアの一例である。上述したように、オペレーティングシステム１０１は、ウインドウズ９５、ウインドウズ９８、ウインドウズ２０００、ウインドウズＮＴのようなウインドウタイプのオペレーティングシステム、或いはＤＯＳ、ＵＮＩＸ或いは他のオペレーティングシステムのような他のタイプのオペレーティングシステムとすることができる。ネットワークインターフェースドライバ１０２は、ネットワーク１０にネットワークサーバ１４をインターフェースさせるためのネットワークインターフェース９２を駆動するのに利用される。コンポーネントレポジトリモジュール１０３と機能モジュール１０４は、図４のコンピュータ１２に関して上述したように本発明の機能性を実現するために用いられ、その詳細は後述する。最後に、他のファイル４８は、ネットワークサーバ１４を動作するのに必要な、及び／又はネットワークサーバ１４に追加的な機能を提供するのに必要な他のファイルもしくはプログラムを含む。
【００３０】
図６は、本発明を実施するために用いられるキーソフトウエアモジュールの間の相互関係を表すブロック図である。図６では、特に、コンピュータ１１のコンフィグレータモジュール５９、コンピュータ１及び１４のそれぞれのコンポーネントレポジトリモジュール８７及び１０３、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５の間の上層レベルでのやり取りを示している。コンフィグレータモジュール５９はネットワーク１０上の全ての多機能ネットワークデバイスの状態を監視するのに用いられ、多機能ネットワークデバイスのハードウエアリソースに対する需要に基づいて、１つ以上の多機能ネットワークデバイスが再構築を必要としているか否かを判定する。この点で、コンフィグレータモジュール５９はネットワーク１０上のネットワークトラフィック（不図示）を監視するものである。これは、印刷、ファックス、或いはスキャナのような多機能ネットワークデバイスの機能サービスの要求を含む、ネットワークユーザからのネットワークメッセージを監視することで行われる。コンフィグレータモジュール５９は、また、多機能ネットワークデバイスの各々におけるコンフィグレーションモジュールからパフォーマンスカウンタを受信する。このパフォーマンスカウンタは、その多機能ネットワークデバイスによって利用されている現在のＨＤＤ、ＲＯＭ、ＲＡＭ及びＣＰＵの量を示す。
【００３１】
次に、コンフィグレータモジュール５９は各多機能ネットワークデバイスにおけるサービス要求を解析する。そして、１つの機能サービスの需要が他の機能サービスの需要を大きく上回っているかどうか、そして、多機能ネットワークデバイスから受信したパフォーマンスカウンタが、その一つの機能サービスを高い需要において実行するためにより多くのＨＤＤ、ＲＯＭ、ＲＡＭ、及びＣＰＵの容量が必要であることを示しているかどうかを判断する。もしそうであるならば、コンフィグレータモジュール５９は再構築コマンドを所定の多機能ネットワークデバイスのコンフィグレーションモジュールに送り、その多機能ネットワークデバイスに、他の機能性サービスをそのメモリ及びＣＰＵから削除することにより、自身の再構築をするよう指示する。それにより、高い需要にあるその一つの機能サービスによってＨＤＤ、ＲＯＭ、ＲＡＭ及びＣＰＵが排他的に使用され、それらをそのサービスに専念させることができる。この態様において、特定の多機能ネットワークデバイスは、ネットワークユーザによる高い需要にある、その一つの機能サービスをより効率的に実行するために、そのメモリ及びＣＰＵの全容量へのアクセスを有する。
【００３２】
例えば、コンフィグレータモジュール５９は、多機能ネットワークデバイス１５へ送られている多数のプリントジョブを検出し、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５からパフォーマンスカウンタを受信するようにしてもよい。ここで、パフォーマンスカウンタは、プリンタエンジン機能モジュールの使用に対して割り当てられたＨＤＤ、ＲＡＭ及びＣＰＵの容量が、効率的でタイムリーにプリントジョブを遂行するための多機能ネットワークデバイス１５の能力を制限していることを示す。したがって、コンフィグレータモジュール５９は再構築コマンドを多機能ネットワークデバイス１５のコンフィグレーションモジュール３５に送る。再構築コマンドは、多機能ネットワークデバイスが自身のＨＤＤ、ＲＯＭ、ＲＡＭ及びＣＰＵから全ての機能性モジュールを削除する「削除」コマンドを含み、プリンタエンジン機能性モジュールによる排他的な使用のためにこれらのリソースの全てを再配分する。多機能ネットワークデバイス１５は、こうして、プリントのみのために、そのＨＤＤ、ＲＯＭ、ＲＡＭ及びＣＰＵの全容量を利用することにより、より高速で効率的にプリントジョブを完了させることができる。コンフィグレータモジュール５９は、また、１つ以上の多機能ネットワークデバイスに再構築コマンドを送るために、例えば、デバイス自身からの再構築リクエスト、或いは前もってスケジュールされたプログラムによるトリガといったような、他のコンディションを用い得る。これらのコンディションの各々は後により完全に詳述する。
【００３３】
その後、コンフィグレータモジュール５９は、監視されたネットワークトラフィックに基づいて、多機能ネットワークデバイス１５における、他の機能サービスに対する需要を大きく上回っていた特定の機能サービスについて、そのような高い需要がもはやなくなったことを検出する。コンフィグレータモジュール５９は、次に、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５に、以前に削除された機能性モジュールをダウンロードするための「付加(adition）」コマンドを送る。好ましくは、コンフィグレータモジュール５９は再構築コマンドに、コンピュータ１２内のコンポーネントレポジトリモジュール８７或いはコンピュータ１４内のコンポーネントレポジトリモジュール１０３のいずれかのＵＲＬのようなアドレスを含む。加えて、コンフィグレータモジュール５９は、好ましくは、多機能ネットワークデバイス１５にダウンロードされるべき機能モジュールの各々のための識別を含ませる。特に、コンフィグレータモジュール５９は、デバイスプロファイル６０から多機能ネットワークデバイス１５のためのデバイスプロファイルにアクセスし、どの機能性モジュールが多機能ネットワークデバイス１５によってサポートされているかを判断し、各機能モジュールのうちのどのバージョンがダウンロードされるべきかを判断する。コンフィグレータモジュール５９は、これらの情報を再構築「付加」コマンドに入れて多機能ネットワークデバイス１５に渡す。そして、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５は、再構築コマンド内のアドレスを用いて、コンポーネントレポジトリモジュール８７或いは１０３の適切なほうにコンタクトして、特定された機能モジュールバージョンのダウンロードを要求する。
【００３４】
例えば、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５はコンポーネントレポジトリモジュール８７のアドレスを再構築「付加」コマンドから取得する。これは、コンポーネントレポジトリモジュール８７からダウンロードされるべき機能性モジュールの特定のバージョンを識別することに伴って行われる。多機能ネットワークデバイス１５のコンフィグレーションモジュール３５は、次に、コンピュータ１２内のコンポーネントレポジトリモジュール８７とコンタクトし、識別された機能モジュールバージョンの各々のダウンロードを要求する。コンポーネントレポジトリ８７は、次に、識別された機能モジュールバージョンの各々を、多機能ネットワークデバイス１５にダウンロードする。こうして、多機能ネットワークデバイス１５は、ダウンロードされた機能モジュールを自身のＨＤＤ、メモリ２８に格納し、ＲＡＭ２６及びＣＰＵ２１をその新たにダウンロードされた機能モジュールをサポートできるように再配分する。加えて、その新たにダウンロードされた機能モジュールのサポートを反映するために、多機能ネットワークデバイス１６は、オペレーティングシステム３９を更新する。この手法において、多機能ネットワークデバイス１５は、プリンティング、スキャニング及びファクスのような、それが当初からサポートしていたすべてのサービス機能のためのサポートを含むように再構築される。
【００３５】
また、本発明の他の態様によれば、コンフィグレータモジュール５９は、ネットワーク１０上の多機能モジュールの一つにおいて使用されるべきプリンタエンジン機能モジュールのような新しいバージョンの機能モジュールがリリースされたことを、コンポーネントレポジトリモジュール８７及び１０３の一つより通知される。これにより、コンフィグレータモジュール５９は、ダウンロードされたコマンドを直接にコンポーネントレポジトリモジュールに送り、適切な多機能ネットワークデバイスへ新しいバージョンの機能モジュールをダウンロードするように指示する。こうして、以前のバージョンの機能モジュールは新しいバージョンの機能モジュールに置き換えられる。この態様において、製造者及び開発者は、コンポーネントレポジトリモジュールへ新しい機能モジュールバージョンをアップロードすることにより、多機能ネットワークデバイスの機能ソフトウエアをアップグレードすることができる。また、コンフィグレータモジュールは、ネットワーク１０上で新たに発見された多機能ネットワークデバイスに対して、一つ以上の機能モジュールバージョンをダウンロードするために、ダウンロードコマンドをコンポーネントレポジトリモジュールに送ることができる。こうして、新たに発見された多機能ネットワークデバイスを動作可能にする。加えて、本発明の他の態様によれば、多機能ネットワークデバイスはスタンドアロンモードで動作可能である。これにより、プリンタエンジン機能モジュールのような、指定された機能モジュールが専門に利用できるリソースをより多く必要としているかどうか、それ自身で判断することができる。この点において、多機能ネットワークデバイスは、コンポーネントレポジトリモジュールにコンタクトし、コンポーネントレポジトリモジュールへすべての他の機能モジュールをオフロードする。これにより、指定された機能モジュール以外のすべての機能モジュールは、当該多機能ネットワークデバイスのＨＤＤ、ＲＯＭ、ＲＡＭ、及びＣＰＵから削除される。多機能ネットワークデバイスが、後に、他のサービス機能をサポートできると判断した場合は、それは、再びコンポーネントレポジトリモジュールとコンタクトし、以前にオフロードされたすべての機能モジュールをダウンロードする。こうして、各機能モジュールのためにリソースを再配分し、それに従ってオペレーティングシステムをアップデートする。本発明のこれらの付加的な態様について以下に説明する。
【００３６】
図６に戻り、コンフィグレータモジュール５９は、コンフィグレーションモジュール３５にコンフィグレーションコマンドを送ることにより、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５とやりとりし、コンフィグレーションモジュール３５からパフォーマンスカウンタを受信する。また、コンフィグレータモジュール５９は、多機能ネットワークデバイス１５が自身の再構築を開始したい場合に、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５から直接に再構築リクエストを受信する。コンフィグレーションモジュール３５は、コンポーネントレポジトリモジュール１２及び／または１４とやりとりする。このやりとりは、多機能ネットワークデバイス１５において実行すべく特定された機能モジュールバージョンのコンフィグレーションモジュール３５へのダウンロードを要求するモジュールリクエストを送ることによってなされる。適切なコンポーネントレポジトリモジュールは、多機能ネットワークデバイス１５に特定された機能モジュールをダウンロードする。
【００３７】
また、コンフィグレーションモジュール３５は、多機能ネットワークデバイス１５がスタンドアローン再構築モードで動作している場合における、コンポーネントレポジトリ１２及び／又は１４への機能モジュールのオフロードを円滑にする。このモードにおいて、コンフィグレーションモジュールは、後に、以前にオフロードした機能モジュールを取得して実行するために、同じコンポーネントレポジトリモジュールにコンタクトする。コンフィグレータモジュール５９はコンポーネントレポジトリモジュ−ル８７及び１０３の各々とやりとりして、それらから機能モジュールステータスを受信する。それは、コンポーネントレポジトリモジュールによって促進された機能モジュールの各々のタイプやバージョンを表す。また、コンフィグレータモジュール５９は、この情報を、コンポーネントレポジトリモジュールへダウンロードコマンドを送信するかどうかを決めるのに用いる。このコマンドは、例えば新しい機能モジュールがリリースされたとき、或いは、ネットワーク１０上で発見されたネットワークデバイスを動作可能とするために機能モジュールがダウンロードされる必要のあるときに、特定の機能モジュールバージョンを多機能ネットワークデバイスへダウンロードするためのものである。
【００３８】
図６に示された種々のコンポーネント間の通信は、好ましくは、共通のネットワークプロトコルを用いて実行される。たとえば、パフォーマンスカウンタと再構築リクエストは、好ましくは、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５からコンピュータ１１のコンフィグレータモジュール５９へ、ＳＮＭＰを用いて送信される。同様に、再構築コマンドは、好ましくはコンピュータ１１のコンフィグレータモジュール５９から多機能ネットワークデバイス１５のコンフィグレーションモジュール３５へ、ＳＮＭＰを用いて送信される。また、モジュールダウンロードリクエストも、好ましくはＳＮＭＰを介して、多機能ネットワークデバイス１５からコンピュータ１２のコンポーネントレポジトリモジュール８７或いはサーバ１４のコンポーネントレポジトリモジュール１０３へ送信される。更に、ダウンロードコマンドや機能モジュールステータスのような、コンフィグレータモジュール５９とコンピュータ１２のコンポーネントレポジトリモジュール８７との間の通信、或いはコンフィグレータモジュール５９とサーバ１４のコンポーネントレポジトリモジュール１０３との間の通信もまた、ＳＮＭＰを用いて行われるのが好ましい。しかしながら、多機能ネットワークデバイスへのモジュールのダウンロードや、多機能ネットワークデバイスからの機能モジュールのオフロードのような、機能モジュールの移送には、好ましくはファイル送信プロトコル（ＦＴＰ）或いはＳＯＡＰ  ＸＭＬのような特別な工業的プロトコルが用いられる。なお、図６に示されたコンポーネント間の通信をサポートするために他の周知のプロトコルが使用可能であり、本発明は上述したプロトコルのみの利用に制限されるものではないことは理解されるべきである。
【００３９】
図７は、コンピュータ１２の機能モジュールを表す図である。機能モジュール８８は、サーバ１４の機能モジュール１０４に類似する。図７に示されるように、機能モジュール８８のカラムは、多機能ネットワークデバイスにおいてそれぞれのサービス機能をサポートするために利用され得る、異なるタイプの機能モジュールを表す。カラム１１０はプリントサービスをサポートする機能モジュールであり、カラム１１１はファックスサービスをサポートする機能モジュールであり、カラム１１２はスキャンサービスをサポートする機能モジュールであり、カラム１１３は他のサービスをサポートする機能モジュールである。各カラムは、所定の機能モジュールのための複数のバージョンを含む。例えば、ファンクションモジュール８８のカラム１１０から１１３には、機能モジュールの各タイプにおいて５つのバージョンが存在する。複数のバージョンが存在するのはいくつかの理由による。あるバージョンは、機能モジュールを単に新しくアップデートしたバージョンであり、それは製造者及び／または開発者によって、問題を校正したり新たな機能を実施可能とするためにリリースされる。また、他のバージョンは、種々の多機能ネットワークデバイスにおける異なるタイプのオペレーティングシステムソフトウエア環境をサポートするためにある。加えて、機能モジュールの異なるバージョンが、異なる製造者及び異なるモデルの多機能ネットワークデバイスのために要求され得る。
【００４０】
機能モジュール８８における各々の機能モジュールバージョンに関連する情報が、コンピュータレポジトリモジュール８７によって追跡される。この情報は、好ましくは、製造者、モデル及び各機能モジュールバージョンによってサポートされるオペレーティングシステムに関する情報を含む。この態様において、コンフィグレータモジュール５９からの、或いは多機能ネットワークデバイスからの直接のダウンロードリクエストが存在するときに、コンポーネントレポジトリモジュール８７は効率的に適切な機能モジュールバージョンを識別する。また、機能モジュール８８は、上述したように、スタンドアローン再構築モードにおいて動作している多機能ネットワークデバイスから機能モジュールを受信し格納することができる。そのような状況において、多機能ネットワークデバイスは、機能モジュール８８に機能モジュールバージョンをオフロードする。そして、機能モジュール８８は、機能モジュールバージョンのタイプに依存して、適切なコラムにその機能モジュールバージョンを格納する。こうして、コンフィグレータモジュール５９は、後にオフロードされた機能モジュールが多機能ネットワークデバイスによって要求され、機能モジュールバージョンへそれをダウンロードするときに、効率的にそのオフロードされた機能モジュールバージョンにアクセスすることができる。
【００４１】
図８はコンピュータ１１の固定ディスク４８におけるデバイスプロファイル６０を説明するためのテーブルである。特に、デバイスプロファイル６０はネットワーク１０上の各多機能ネットワークデバイスのデバイスプロファイルを保持する。各デバイスプロファイルは、各サービス機能をサポートするための多機能ネットワークデバイスによって要求される機能モジュールバージョンの識別とともに、対応する多機能ネットワークデバイスによってサポートされるサービス機能に関連する情報を含む。加えて、コンフィグレータモジュール５９が、製造者及び／またはモデルの識別によってすべてのデバイスプロファイルをアクセスできるように、製造者と多機能ネットワークデバイスのモデルが対応するデバイスファイルに格納されることが好ましい。各デバイスプロファイルの情報は、システム管理者のようなネットワークユーザによってエンターされる、或いはＳＮＭＰリクエストメッセージもしくは類似の技術を用いることによって、各多機能ネットワークデバイスから直接にコンフィグレータモジュール５９によって取得される。例えば、コンフィグレータモジュール５９は、対応する多機能ネットワークデバイスがネットワーク１０上でコンピュータ１１によってＴＣＰ／ＩＰ及び／またはＳＮＭＰを用いて周知の発見技術を用いて発見されたとき、デバイスプロファイルの情報を要求できる。この発見機能はコンフィグレータモジュール５９によって実行されてもよいし、コンピュータ１１内の別の発見モジュールによって、或いはネットワーク１０上の別のコンピュータデバイス或いはサーバによって実行されてもよい。いずれにせよ、発見された情報は多機能ネットワークデバイスに対応するデバイスプロファイルを生成するのに利用され得る。
【００４２】
図８において、カラム１２０はデバイスプロファイルに対応する多機能ネットワークデバイスのデバイス識別を表す。デバイス識別は、好ましくは、多機能ネットワークデバイスのＩＰアドレス或いはＭＡＣアドレスであるが、コンフィグレータモジュール５９によって割り当てられたユニークな識別であればよい。カラム１２１，１２２は、デバイスプロファイルに対応する多機能ネットワークデバイスの製造者及びモデルの識別である。カラム１２３から１２６は、それぞれプリント、スキャン、ファックス及び他の機能をサポートするために多機能ネットワークデバイスによって要求された機能モジュールバージョンを表している。但し、それら特定の機能の各々がその多機能ネットワークデバイスによってサポートされている場合のものである。例えば、デバイスプロファイル６０の第３のプロファイルエントリは、00000003のデバイスＩＤを有し、ジョーンズ株式会社によって作成され、モデルxyz-1である。
【００４３】
この第３のデバイスプロファイルは、多機能ネットワークデバイスがプリント、スキャン及びファックスをサポートするが他の機能はサポートしないことを表している。また、第３のデバイスのプロファイルのカラム１２３から１２５に示されているように、多機能ネットワークデバイスは、プリンタ機能モジュール、スキャナ機能モジュール及びファクシミリ機能モジュールの各々のサービス機能の要求のために、それらのバージョン番号を用いる。この方法において、デバイスプロファイル６０の各デバイスプロファイルは、コンフィグレータモジュール５９に、機能実現のために多機能ネットワークデバイスによって要求された特定の機能モジュールバージョンとともに、その多機能ネットワークデバイスによってサポートされるサービス機能を識別するのに必要な情報を提供する。したがって、コンフィグレータモジュール５９は、再構築コマンド中に要求される機能モジュールバージョンの識別を、対応する多機能ネットワークデバイスへ渡すことができる。これは、多機能ネットワークデバイスが、コンポーネントレポジトリ８７から正しく必要な機能モジュールバージョンをダウンロードできるようにするためである。加えて、コンフィグレータモジュール５９は、多機能ネットワークデバイスへのアップデートされた機能モジュールバージョンのダウンロードを開始するかどうかを判断するために、デバイスプロファイル６０内の情報を用いることができる。好ましくは、任意の多機能ネットワークデバイスがサポートできるサービス機能を制限するために、デバイスプロファイルはシステム管理者によっても利用可能とする。例えば、多機能ネットワークデバイスがプリント、スキャン、及びファックスの機能をサポートすることが可能であっても、システム管理者は、当該多機能ネットワークデバイスはスキャン機能をサポートしていないことを示すように対応するデバイスプロファイルを変更することができ、これにより、その多機能ネットワークデバイスがコンフィグレータモジュール５９によって発見された際に、スキャン機能モジュールはその多機能ネットワークデバイスにはダウンロードされなくなる。そのような機能の制限は、多機能ネットワークデバイスのハードウエア能力に基づいて、そしてスケジュール及び管理ポリシーに基づいてシステム管理者によってセットされ得る。
【００４４】
図９は、コンピュータ１１の固定ディスク４８のプログラムされたデバイススケジュール６１を示す。プログラムされたデバイススケジュール６１は、システム管理者のようなネットワークユーザによって、一つもしくはそれ以上の多機能ネットワークデバイスに対する再構築イベントをスケジュールするために利用される。例えば、ビジネスにおける経理部は、経理部にある多機能ネットワークデバイスに、毎夕５:００にインボイスの印刷のための多数のプリントジョブを送る可能性がある。システム管理者は、したがって、経理部内にある多機能ネットワークデバイスがプリント機能モジュール以外のすべての機能モジュールを削除するように再構築するための再構築イベントを、毎日午後５:００に発生するようにスケジュールする。その際、構築イベントは、例えば午後１０：００といったような停止時刻を含み、その時刻で、第２の再構築コマンドが同じ多機能ネットワークデバイスに対して送られる。この第２の再構築コマンドは、それらのハードウエアリソースに機能モジュールをダウンロードし、付加するよう指示する。この方法において、多機能ネットワークデバイスの特定のサービス機能に対して、予測された需要の増加もしくは減少に対応するために、多機能ネットワークデバイスが特定の時刻において再構築されるようにスケジュールされ得る。
【００４５】
そのような再構築イベントは、図９のプログラムされたデバイススケジュール６９における第１の再構築スケジュールにおいてあらわされる。プログラムされたデバイススケジュール６１のカラム１３０は部署を表し、ここで示される部署では、多機能ネットワークデバイスが当該再構築スケジュールにおける残りのパラメータに従って再構築されることになる。もちろん、多機能ネットワークデバイスは、部署以外の指定によってグループ化され得るものであり、図９に示されるフォーマットに限られるものではない。カラム１３１は、再構築イベントによって影響を受けることになる多機能ネットワークデバイスのデバイスＩＤである。例えば、第１の再構築スケジュールにおいて、経理課におけるすべての多機能ネットワークデバイスが再構築されることになる。或いは、再構築スケジュールによって影響を受けることになる特定の多機能ネットワークデバイスを識別するために、特定のデバイスｉｄがカラム１３１において特定され得る。カラム１３２は、例えば、日ごと、週ごと、月ごと、或いは一度というような、再構築スケジュールが発生する度合い（レート）である。カラム１３３と１３４は、それぞれ再構築スケジュールのスタート及びストップ時刻である。スケジュールレートが日ごとであるなら、１日のうちの時刻がこれらカラムの各々において必要なものとなる。また、スケジュールレートが週ごとであるならば、ウィークデーと時刻がこれらカラムの各々に提供されなければならない。スケジュールレートが月ごとである場合は、月内の特定の日と時刻がこれらカラムの各々に提供されなければならない。最後に、スケジュールレートが「一度」であった場合は、特定のカレンダー日と時刻がこれらカラムの各々に提供されなければならない。プログラムされたデバイススケジュール６１におけるカラム１３５は、スケジュールされた機能であり、識別された多機能ネットワークデバイスが特定された時刻に、この機能をサポートするために再構築されることになる。
【００４６】
例えば、第１の再構築スケジュールによれば、経理部のすべての多機能ネットワークデバイスが、午後５:００から１０:００までの間、プリント機能モジュール以外のすべての機能モジュールを消去し、１０：００に、多機能ネットワークデバイスは、すべてのサービス機能を元に戻すために、以前に消去された機能モジュールをダウンロードする。同様の再構築スケジュールが、プログラムされたデバイススケジュール６１の２から７にエントリされている。ただし、スケジュールレートについては、各エントリ毎に、日ごと、週ごと、月ごと、及び一度のいずれかから選択的に用いられる。プログラムされたデバイススケジュール６１において示される最後の再構築スケジュールにおいて、カラム１３５におけるスケジュールされた機能は、特定された多機能ネットワークデバイスに対してアップデートされた機能モジュールをダウンロードするべく要求する再構築イベントを表す。そのような再構築イベントは、好ましくは、新しいアップデートされた機能モジュールバージョンを機能モジュール８８（或いは１０４）に提供するスケジュール（このスケジュールは、一般に既知である）と一致する。この態様において、ネットワーク１０上の多機能ネットワークデバイスはスケジュールベースで自動的にアップデートされる。それによって、システム管理者側の手間や時間が省かれる。プログラムされたデバイススケジュール６１の再構築スケジュールは、コンフィグレータモジュール５９によって監視され、これにより再構築イベントがトリガされたかどうかを判定する。このトリガの時点で、コンフィグレータモジュール５９は適切な再構築コマンドを特定された多機能ネットワークデバイスに送る。
【００４７】
図１０は、本発明に従ったコンフィグレータモジュール５９による多機能ネットワークデバイスの動的な管理及び再構築を説明するフローチャートである。ステップＳ１００１において、コンフィグレータモジュール５９はネットワーク１０上の多機能ネットワークデバイスからパフォーマンスカウンタを受信する。このパフォーマンスカウンタは、好ましくは、各多機能ネットワークデバイスにおいて利用されているハードウエアリソースの現在の容量を示す。好ましくは、パフォーマンスカウンタは、ネットワークインターフェースレベルでコンピュータ１１によってトラップされ、コンフィグレータモジュール５９に渡されるＳＮＭＰメッセージによって送られる。ステップＳ１００２において、コンフィグレータモジュール５９はネットワーク１０上のネットワークトラフィックを監視し、多機能ネットワークデバイスへ送信されている、プリントジョブのようなサービス機能に対する要求を聴取する。好ましくは、トラップなどのような周知の聴取技術が用いられる。次に、コンフィグレータモジュール５９は、周知の発見方法によって、上述したように、ネットワーク１０上に新たに出現した多機能ネットワークデバイスを発見するための監視を行なう（ステップＳ１００３）。ステップＳ１００４において、コンフィグレータモジュール５９は、１つまたはそれ以上の多機能ネットワークデバイスからコンピュータ１１へ直接に送信される再構築リクエストを監視する。そして、コンフィグレータモジュール５９は、何らかの事情で再構築イベントが要求されたかどうかを判断する（ステップＳ１００５）。この判断プロセスは、ステップＳ１００５についてより完全に記述している図１１に関連してより詳細に論じられる。
【００４８】
ステップＳ１００６において、コンフィグレータモジュール５９によって再構築イベントがセットされたかが判断される。セットされていなければ、処理はステップＳ１０１１へ進み、セットされていたならば、処理はステップＳ１００７へ進む。ステップＳ１００７では、コンフィグレータモジュール５９は適切な再構築コマンドを適切な多機能ネットワークデバイスへ送る。それにより、多機能ネットワークデバイスが再構築コマンドに応答して再構築する（ステップＳ１００８）。ステップＳ１００９において、コンフィグレータモジュール５９は、新しいパフォーマンスカウンタを再構築された多機能ネットワークデバイスから受信する。コンフィグレータモジュール５９は、こうして、新しく受信したパフォーマンスカウンタに基づいて多機能ネットワークデバイスの再構築を確認する。パフォーマンスカウンタは各多機能ネットワークデバイスのハードウエアリソースの割り当て、好ましくは最も最近の再構築コマンドに対応した割り当てを反映している（ステップＳ１０１０）。次に、処理はステップＳ１０１１へ進み、コンフィグレータモジュール５９が多機能ネットワークデバイスの管理を継続するかどうかが判断される。例えば、コンフィグレータモジュール５９はある特定の時間にだけ動作するようにスケジュールされてもよいし、システム管理者のようなネットワークユーザによってその動作がイネーブル及びディセーブルされてもよい。コンフィグレータモジュール５９がもはや多機能ネットワークデバイスを管理しない場合、処理はステップＳ１０１２に進み、リターンする。コンフィグレータモジュール５９が多機能ネットワークデバイスの管理を継続する場合は、処理はステップＳ１００１に戻り、上述のステップＳ１００１〜ステップＳ１０１１が繰り返される。
【００４９】
図１１は、図１０のステップＳ１００５における再構築イベントの判断を説明するためのフローチャートを示す。図１１において、再構築イベントが要求されたか否かの判断は、ステップＳ１１０１で開始する。ステップＳ１１０１では、ネットワーク１０上で新しいデバイスが発見されたかどうかが判断される。デバイスが新たに発見された場合、処理はステップＳ１１０５へ進む。デバイスが新たに発見されない場合は、処理はステップＳ１１０２へ進む。ステップＳ１１０２では、コンフィグレータモジュール５９及び／または各多機能ネットワークデバイスのサービス機能に対する監視された需要に基づいて、動作ベース（パフォーマンスベース）のトリガが発生したかが判断される。例えば、ある多機能ネットワークデバイスに対するすべての監視された需要がプリントのみであり、パフォーマンスカウンタがプリンタエンジン機能モジュールによって使用されていないＨＤＤ容量、ＲＡＭ容量及びＣＰＵ容量が存在することを示す場合、パフォーマンスベースのトリガがコンフィグレータモジュール５９にセットされる。別の方法では、多機能ネットワークデバイスの特定のサービス機能に対する需要が所定の閾値に達した場合、或いは特定の機能モジュールによって利用されているＨＤＤ、ＲＡＭ及び／またはＣＰＵのような特定のハードウエアリソースの容量が所定の閾値に到達した場合に、コンフィグレータモジュール５９がパフォーマンスベースのトリガをセットするようにしてもよい。こうしてパフォーマンスベースのトリガがセットされると、処理はステップＳ１１０２からステップＳ１１０５へ進む。そうでなければ処理はステップＳ１１０３へ進む。
【００５０】
ステップＳ１１０３において、プログラムされたデバイススケジュール６１における一つまたはそれ以上の再構築スケジュールに従って、スケジュールされたトリガが発生したかどうかが判断される。もし発生していれば、処理はステップＳ１１０５へ進み、そうでなければ処理はステップＳ１１０４へ進む。ステップＳ１１０４では、一つの多機能ネットワークデバイスからの再構築リクエストが受信されているかどうかが判断される。受信されている場合は処理はステップＳ１１０５へ進む。そうでなければ処理はステップＳ１１１１へ進み、再構築イベントが宣言されることなくリターンする。ステップＳ１１０５において、宣言された再構築イベントが一つまたはそれ以上の多機能ネットワークデバイスから機能モジュールを削除することが要求されているかどうかが判断される。例えば、ネットワーク１０上の多機能ネットワークデバイスの新しい発見に基づく再構築イベントは、その独自の構成のために多機能ネットワークデバイスへの機能モジュールのダウンロードを要求するであろう。したがって、この場合、機能モジュールの削除を要求することはない。一方、パフォーマンスベースのトリガに基づく再構築イベントは、典型的には、プリントエンジン機能モジュールのような指定された機能モジュール以外のすべての機能モジュールの削除を要求する。
【００５１】
ステップＳ１１０５において、再構築イベントが一つまたはそれ以上の機能モジュールの削除を要求する場合、処理はステップＳ１１０６へ進む。ステップＳ１１０６では、再構築コマンドが削除コマンドにセットされる。これは、削除するべき特定の機能モジュールを指定するか、或いは指定された機能モジュール以外のすべての機能モジュールを削除するように指定する。再構築イベントが機能モジュールの削除を要求しない場合、処理はステップＳ１１０７へすすむ。ステップＳ１１０７では、その構築イベントが一つまたは複数の多機能ネットワークデバイスのハードウエアリソースの再配分のみを要求するものであるかどうかを判断する。例えば、特定の多機能ネットワークデバイスに対するプリント或いはファックスの需要があるが、プリントの需要がファックスの需要をはるかに上回る場合、より多くの容量がファックスではなくプリントに利用されるように、そのＲＡＭ及びＣＰＵの容量を再配分するために、再構築コマンドがその多機能ネットワークデバイスに送信され得る。この場合、処理はステップＳ１１０８へ進み、再配分されるべきハードウエアリソースとそのハードウエアリソースが各機能モジュールによって利用されるべきの容量の割合を指定する再構築コマンドに再構築コマンドをセットする。
【００５２】
再構築イベントがハードウエアリソースの再配分のみを要求するものではない場合、処理はステップＳ１１０９へ進む。ステップＳ１１０９では、その再構築コマンドが一つまたはそれ以上の多機能ネットワークデバイスへの機能モジュールのダウンロードを要求しているかどうかを判断する。このようなダウンロードの要求は、例えば、ネットワーク１０上における新たな多機能ネットワークデバイスの発見時や、再構築スケジュールイベントのストップ時刻のようなタイミングにおいて発生する。ダウンロードが要求されている場合は、処理はステップＳ１１１０へ進む。ステップＳ１１１０では、再構築コマンドは、ダウンロード「付加」コマンドにセットされる。このコマンドは、コンポーネントレポジトリモジュールからダウンロードするために、影響を受けた各多機能ネットワークデバイスのための指定された種々の機能モジュールを含む。上述したように、コンフィグレータモジュール５９は、デバイスプロファイル６０の中の対応するデバイスプロファイルより、特定の多機能ネットワークデバイスのバージョン情報を取得する。再構築イベントが、機能モジュールの削除、リソースの再配分、或いは機能モジュールのダウンロード及び付加のいずれも要求しない場合、再構築イベントは無効であり、処理はステップＳ１１１１からリターンする。
【００５３】
図１２は、多機能ネットワークデバイスの、コンフィグレータモジュール５９からの、削除コマンドからなる再構築コマンドに対する応答処理を表すフローチャートである。ステップＳ１２０１において、コンフィグレータモジュール５９からの削除再構築コマンドが、多機能ネットワークデバイスにより受信される。多機能ネットワークデバイスは、次に、その再構築コマンドから削除されるべき機能モジュールのアイデンティティーを判断する（Ｓ１２０２）。この判断は、好ましくは、再構築コマンドにおいて指定された機能モジュールのアイデンティティーに基づくか、或いは、指示された機能モジュール以外のすべての機能モジュールを削除する再構築コマンドにおける指示に基づいてなされる。多機能ネットワークデバイスは、次に、自身のＨＤＤから識別された機能モジュールのすべてを削除すること、及び、識別された機能モジュールのあらゆる部分を自身のＲＡＭ、ＲＯＭ及び／またはＣＰＵから削除することにより再構築をする（Ｓ１２０３）。ステップＳ１２０４において、多機能ネットワークデバイスは次に識別された機能モジュールの削除を反映するために、そのオペレーティングシステムを更新する。こうして、そのオペレーティングシステムは、もはや削除された機能モジュールのサービスに対する要求には応答せず、リソースは専ら残された機能モジュールに対して用いられることになる。最後に、多機能ネットワークデバイスは新しいパフォーマンスカウンタをコンフィグレータモジュール５９に送る。パフォーマンスカウンタはもはや削除された機能モジュールによってハードウエアリソースが利用されないことを反映したものであり、それによってコンフィグレータモジュール５９はその多機能ネットワークデバイスの再構築を確認する（Ｓ１２０５）。そして、処理はステップＳ１２０６へ進み、そこからリターンする。
【００５４】
図１３は、コンフィグレータモジュール５９から再配分コマンドからなる再構築コマンドを受信した際の、該コマンドに対する多機能ネットワークデバイスの処理を示すフローチャートである。ステップＳ１３０１において、コンフィグレータモジュール５９からの再配分再構築コマンドが多機能ネットワークデバイスによって受信される。多機能ネットワークデバイスは、その再構築コマンドから、ハードウエアリソースが再配分されるべき機能モジュールの識別を判断する（ステップＳ１３０２）。この判断は、好ましくは、再配分コマンド内の特定の機能モジュール識別に基づいて、或いは、指定された機能モジュール以外のすべての機能モジュールに用いられていたハードウエアリソースのパーセンテージを再配分するための再配分コマンドにおける命令に基づいて行われる。多機能ネットワークデバイスは、識別された機能モジュールによって使用されるＨＤＤ、ＲＡＭ、ＲＯＭ、及びまたはＣＰＵの量を再配分することにより再構築を行う（ステップＳ１３０３）。ステップＳ１３０４において、多機能ネットワークデバイスは、ハードウエアリソースの再配分を反映するためにオペレーティングシステムを更新する。これにより、オペレーティングシステムは、その新たな配分に従って機能モジュールを実行するようになる。最後に、多機能ネットワークデバイスは新しいパフォーマンスカウンタをコンフィグレータモジュール５９に送る。この新しいパフォーマンスカウンタは、ハードウエアリソースの再配分を反映したものであり、それによって多機能ネットワークデバイスの再構築が確認される（ステップＳ１３０５）。そして、処理はステップＳ１３０６へすすみ、そこからリターンする。
【００５５】
図１４は、コンフィグレータモジュール５９からの付加（ダウンロード）コマンドからなる再構築コマンドを多機能ネットワークデバイスが受信した場合の応答処理を示すフローチャートである。ステップＳ１４０１において、コンフィグレータモジュール５９からの付加再構築コマンドが、多機能ネットワークデバイスに受信される。多機能ネットワークデバイスは、付加再構築コマンドから、ダウンロードされるべき機能モジュールバージョンの識別を判断する（ステップＳ１４０２）。上述したように、コンフィグレータモジュール５９は、対応する多機能ネットワークデバイスの各々にダウンロードされるべき特定の機能モジュールバージョンの識別を判断するために、デバイスプロファイル６０にアクセスし、これを利用する。そして、その機能モジュールバージョンを再構築コマンドに含ませる。次に、多機能ネットワークデバイスは、特定された機能モジュールバージョンをダウンロードするために、コンポーネントレポジトリモジュールにモジュールリクエストを送信する（ステップＳ１４０３）。コンポーネントレポジトリモジュールは機能モジュールをアクセスし、特定された機能モジュールバージョンを取得する。そしてそれらを多機能ネットワークデバイスにダウンロードする（ステップＳ１４０４）。次に、ステップＳ１４０５において、多機能ネットワークデバイスは、チェックサムやデジタル署名のような周知の技術を用いて、ダウンロードされた機能モジュールバージョンの各々の真正性や完全性を確認する。
【００５６】
次に、多機能ネットワークデバイスはダウンロードされた機能モジュールを自身のＨＤＤに格納し、各機能モジュールに利用されるＲＡＭ、ＲＯＭ、及び／またはＣＰＵの容量の再配分を行う（ステップＳ１４０６）。或いは、ＨＤＤへの格納に代えて、一つまたはそれ以上のダウンロードされた機能モジュールを多機能ネットワークデバイスのＥＥＰＲＯＭに格納するようにしてもよい。この場合は、ＥＥＰＲＯＭへ機能モジュールをフラッシュ・焼付けすることになる。多機能ネットワークデバイスは、ダウンロードされた機能モジュ−ルの存在と、ハードウエアリソースの再配分を反映するためにそのオペレーティングシステムを更新する。こうして、オペレーティングシステムは、その新しい配置に従って機能モジュールを実行する（ステップＳ１４０７）。最後に、多機能ネットワークデバイスは新しいパフォーマンスカウンタをコンフィグレータモジュール５９に送る。この新しいパフォーマンスカウンタは、ハードウエアリソースの再配分を反映しており、それによって、特定された機能モジュールと多機能ネットワークデバイスの再構築を確認する（ステップＳ１４０８）。その後、処理はステップＳ１４０９へ進み、そこからリターンする。
【００５７】
図１５は、本発明による多機能ネットワークデバイスの動的な再配分の一例を示すフローチャートである。ステップＳ１５０１において、コンフィグレータモジュール５９は、プリントエンジン機能モジュールによる多機能ネットワークデバイスのハードウエアリソースの要求の増加に基づいて、多機能ネットワークデバイスのための第１の再構築イベントを検出する。次に、コンフィグレータモジュール５９は、プリントエンジン機能モジュール以外のすべての機能モジュールを削除するために、第１の削除再構築コマンドを多機能ネットワークデバイスに送信する（ステップＳ１５０２）。次に、多機能ネットワークデバイスは、プリントエンジン機能モジュール以外のすべての機能モジュールを自身のＨＤＤ、ＲＡＭ、ＲＯＭ、及びＣＰＵから削除することにより再構築を行い、プリントエンジン機能モジュールによってそれらを独占させる。そして、機能モジュールの削除とハードウエアリソースの再配分を反映するためにオペレーティングシステムを更新する（ステップＳ１５０３）。ステップＳ１５０４において、多機能ネットワークデバイスは新しいパフォーマンスカウンタをコンフィグレータモジュール５９に送る。新しいパフォーマンスカウンタは、機能モジュールの削除とハードウエアリソースの再配分を確認する。
【００５８】
ステップＳ１５０５において、コンフィグレータモジュールは、プリントエンジンモジュールによる多機能ネットワークデバイスのハードウエアリソースの要求の減少に基づいて、多機能ネットワークデバイスのための第２の再構築イベントを検出する。例えば、多機能ネットワークデバイスに送信されているプリントジョブの数が大幅に減少した場合である。次に、コンフィグレータモジュール５９は、以前に削除されたすべての機能モジュールをダウンロードするために、第２の付加再構築コマンドを多機能ネットワークデバイスに送信する（ステップＳ１５０６）。多機能ネットワークデバイスは、コンポーネントレポジトリモジュールに連絡し、付加再構築コマンドにおいて識別された機能モジュールバージョンに従って、以前に削除されたすべての機能モジュールのダウンロードを要求する。これにしたがって、レジストリコンポーネントレポジトリモジュールは識別された機能モジュールバージョンを多機能ネットワークデバイスにダウンロードする。そして、多機能ネットワークデバイスは、それらを自身のＨＤＤに格納し、すべての機能モジュールによる利用のためにＨＤＤ、ＲＡＭ及びＣＰＵの容量を再配分する。さらに、多機能ネットワークデバイスは、識別された機能モジュールのダウンロード及び付加と、ハードウエアリソースの再配分を反映するために自身のオペレーティングシステムを更新する（ステップＳ１５０７）。ステップＳ１５０８において、多機能ネットワークデバイスは新しいパフォーマンスカウンタをコンフィグレータモジュール５９に送信する。コンフィグレータモジュール５９は、この新しいパフォーマンスカウンタにより、識別された機能モジュールのダウンロード及び付加と、ハードウエアリソースの再配分を確認する。
【００５９】
図１６は本発明の他の態様を説明するフローチャートである。ここでは、多機能ネットワークデバイスがスタンドアローン再構築モードで動作する。このモードにおいて、多機能ネットワークデバイスは、再構築コマンドを多機能ネットワークデバイスに送信することをコンフィグレータモジュール５９に依存しない。代わりに、再構築し、コンポーネントレポジトリモジュールのような削除された機能モジュールを、後の回収のために既知のサイトに送信することを自身で判断する。好ましくは、このロジックは、多機能ネットワークデバイス１５のコンフィグレーションモジュール３５のような、多機能ネットワークデバイスのコンフィグレーションモジュールで実行される。ステップＳ１６０１において、コンフィグレーションモジュール３５は、プリントエンジン機能モジュールのような、指定された機能モジュールによる多機能ネットワークデバイスのハードウエアリソースに対する需要の増加に基づいて、多機能ネットワークデバイスに対する第１の再構築イベントを検出する。次に、コンフィグレーションモジュール３５はコンポーネントレポジトリモジュールと連絡し、コンポーネントレポジトリモジュールに対して指定された機能モジュール以外のすべての機能モジュールをオフロードすることを要求する（ステップＳ１６０２）。ステップＳ１６０３において、多機能ネットワークデバイスは、指定された機能モジュール以外のすべての機能モジュールを、自身のＨＤＤ、ＲＡＭ及びＣＰＵから削除することにより再構築し、コンポーネントレポジトリモジュールへの格納のためにそれらをオフロードする。そして、指定された機能モジュールによって独占的に利用するべくＨＤＤ、ＲＡＭ及びＣＰＵを再配分する。多機能ネットワークデバイスは、自身のオペレーティングシステムを更新し、機能モジュールの削除、及びハードウエアリソースの再配分を反映する（ステップＳ１６０４）。
【００６０】
ステップＳ１６０５において、コンフィグレーションモジュール３５は、上記指定された機能モジュールによる多機能ネットワークデバイスのハードウエアリソースの使用量の減少に基づいて、その多機能ネットワークデバイスのための第２の再構築イベントを検出する。例えば、多機能ネットワークデバイスに送信されているプリントジョブの数が大幅に減少した場合である。次に、コンフィグレーションモジュール３５は、以前にオフロードされたすべての機能モジュールを多機能ネットワークデバイスにダウンロードするために同一のコンポーネントレポジトリモジュールに連絡する（ステップＳ１６０６）。コンポーネントレポジトリモジュールは、多機能ネットワークデバイスによって提供された識別情報に基づいて、以前にオフロードされれたすべての機能モジュールを多機能ネットワークデバイスにダウンロードする。そして、すべての機能モジュールを使用するために、多機能ネットワークデバイスはそれらをＨＤＤに格納し、ＨＤＤ、ＲＡＭ及びＣＰＵの容量の再配分を行う（ステップＳ１６０７）。ステップＳ１６０８において、多機能ネットワークデバイスは自身のオペレーティングシステムを更新し、以前にオフロードされた機能モジュールのダウンロードと付加を反映させるとともに、ハードウエアリソースの再配分を反映させる。そして、ステップＳ１６０９において、処理はリターンする。
【００６１】
以上のように、本発明によれば、デバイスのあるサービス機能に対する需要に基づいて一つまたはそれ以上の多機能ネットワークデバイスを動的に再構築し、その需要が通常化した場合にはその多機能ネットワークデバイスを元来のサービス機能能力の組み合わせに戻す、効率的なシステムが提供される。
【００６２】
以上、本発明を特定の具体的な実施形態によって説明してきたが、本発明が常住した実施形態に限られるものではなく、本発明の精神及び範囲から逸脱することなく、種々の変形や改造が当業者によってなされうるものである。特に、そして上述したように、本発明は種々のネットワークデバイスに適用可能なものであり、ネットワークプリンタに限られるものではない。
【図面の簡単な説明】
【図１】本発明の一実施形態に従った、本発明が実施され得るネットワーク環境を表すブロック図である。
【図２】本発明の一実施形態による、多機能ネットワークデバイスの内部アーキテクチャを説明するブロック図である。
【図３】本発明の一実施形態にしたがった、コンフィグレータモジュールのホストとなり得るネットワークコンピュータでバイスの内部アーキテクチャを示すブロック図である。
【図４】本発明の一実施形態にしたがった、コンポーネントレポジトリのホストとなり得るネットワークコンピュータデバイスの内部アーキテクチャを示すブロック図である。
【図５】本発明の一実施形態にしたがった、コンポーネントレポジトリのホストとなり得るネットワークサーバの内部アーキテクチャを示すブロック図である。
【図６】本発明の一実施形態による、多機能ネットワークデバイス、コンフィグレータモジュール及びコンポーネントレポジトリの間の機能的な関連を示すブロック図である。
【図７】本発明の一実施形態によるコンポーねとレポジトリによってい管理される機能モジュールを示すブロック図である。
【図８】本発明の一実施形態による、多機能ネットワークデバイスのデバイスプロファイルを表すテーブルを示す図である。
【図９】本発明の一実施形態による、プログラムされたデバイススケジュールを表すテーブルを示す図である。
【図１０】本発明の一実施形態による、多機能ネットワークデバイスの動的な再構築を説明するフローチャートである。
【図１１】本発明の一実施形態による、再構築イベントの判定を説明するフローチャートである。
【図１２】本発明の一実施形態による、削除の再構築コマンドに応じた多機能ネットワークデバイスの再構築を説明するフローチャートである。
【図１３】本発明の一実施形態による、再配分再構築コマンドに応じた多機能ネットワークデバイスの再構築を説明するフローチャートである。
【図１４】本発明の一実施形態による、付加再構築コマンドに応じた、多機能ネットワークデバイスの再構築を説明するフローチャートである。
【図１５】本発明の一実施形態による、多機能ネットワークデバイスの動的再構築の例を説明するフローチャートである。
【図１６】本発明の他の実施形態による、多機能ネットワークデバイスのスタンドアロン動的再構築の例を説明するフローチャートである。
【図１】
0003897683.tif 000002
【図２】
0003897683.tif 000003
【図３】
0003897683.tif 000004
【図４】
0003897683.tif 000005
【図５】
0003897683.tif 000006
【図６】
0003897683.tif 000007
【図７】
0003897683.tif 000008
【図８】
0003897683.tif 000009
【図９】
0003897683.tif 000010
【図１０】
0003897683.tif 000011
【図１１】
0003897683.tif 000012
【図１２】
0003897683.tif 000013
【図１３】
0003897683.tif 000014
【図１４】
0003897683.tif 000015
【図１５】
0003897683.tif 000016
【図１６】
0003897683.tif 000017