(57)【特許請求の範囲】
【請求項１】
オペレーティング・システムを含み、さらにネットワーク管理サービスを実施するための複数のプログラミング命令を有するコンピュータ・システムであって、
リモート実行サービスと、
通信サービスと、
リモート・エージェントにエージェント検出メッセージを同報通信する検出機能と、
検出されたリモート・エージェントを登録する登録機能とを含むエージェント検出サービスと、そして
リモート・システムとの間で情報を送受信する動作が可能なファイル転送サービスと
をさらに含み、
ファイル転送サービスが、プロトコルを使用して、リモート・コンピュータ上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・コンピュータ間で情報を転送する、
コンピュータ・システム。
【請求項２】
検出されたエージェントの実行が開始でき、リモート・エージェントがアプリケーションのローカル実行を開始できるリモート実行サービスをさらに含む請求項１に記載のコンピュータ・システム。
【請求項３】
リモート実行サービスが、プロトコルを使用して、リモート・コンピュータ上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・コンピュータ上でリモート操作によってアプリケーションの実行を開始する請求項２に記載のコンピュータ・システム。
【請求項４】
異なるネットワーク・トランスポート・サービス間で変換を行う通信サービスをさらに含む請求項１に記載のコンピュータ・システム。
【請求項５】
コンピュータ・システムのネットワーク内でリモート・エージェントを検出し、検出されたリモート・エージェントを登録するエージェント検出サービスと、リモート・システムとの間で情報を送受信するシンプル・ファイル転送サービスと、リモート実行サービスと、そして通信サービスとを含むネットワーク管理サービスを実施する複数のプログラミング命令を内部に記憶した記憶媒体と、
プログラミング命令を実行するための、記憶媒体に結合された実行ユニットと
を含み、
ネットワーク管理サービスが、リモート・コンピュータ上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・コンピュータ間で情報の転送を可能にする、
コンピュータ。
【請求項６】
ネットワーク管理サービスが異なるネットワーク・トランスポート・サービス間で変換を行う通信サービスをさらに含む請求項５に記載のコンピュータ。
【請求項７】
コンピュータ・ネットワーク内でネットワーク管理機能を使用できるように構成されたコンピュータであって、
リモート・システムとの間で情報を送受信するシンプル・ファイル転送サービスを含むネットワーク管理サービスと、そして検出されたエージェントの実行が開始でき、リモート・エージェントがアプリケーションのローカル実行を開始できるリモート実行サービスとを実施する複数のプログラミング命令を内部に記憶した記憶媒体と、そして
プログラミング命令を実行するための、記憶媒体に結合された実行ユニットと
を含み、
ネットワーク管理サービスが、リモート・コンピュータ上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・コンピュータ間で情報の転送を可能にする、
コンピュータ。
【請求項８】
ネットワーク管理サービスが異なるネットワーク・トランスポート・サービス間で変換を行う通信サービスをさらに含む請求項７に記載のコンピュータ。
【請求項９】
コンピュータ・ネットワーク内でネットワーク管理機能をコンピュータ・システムが実施するための方法であって、
（ａ）ネットワーク・デバイス上に常駐するどんな特定のオペレーティング・システムとも無関係に、ネットワーク上で動作可能なリモート・エージェントを検出するステップと、
（ｂ）ネットワーク・デバイス上に常駐するどんな特定のオペレーティング・システムとも無関係に、ネットワーク・デバイス間でファイルを転送するファイル転送サービスを使用可能にするステップあって、ファイル転送サービスが、プロトコルを使用して、リモート・コンピュータ上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・コンピュータ間で情報を転送する、ステップと、そして
（ｃ）リモート・ネットワーク・デバイス上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・ネットワーク・デバイス上でアプリケーションの実行を開始するリモート実行サービスを提供するステップと
を含む方法。
【請求項１０】
（ｄ）ネットワーク・トランスポート・サービスを使用して、ネットワーク管理プロトコルとの間で情報を変換するステップと、
（ｅ）ネットワーク・デバイス上に常駐するどんな特定のオペレーティング・システムとも無関係に、ネットワーク管理機能を賦与されていないリモート・ネットワーク・デバイスと通信する通信サービスを提供するステップとをさらに含む請求項９に記載の方法。
【請求項１１】
オペレーティング・システム（ＯＳ）を協同して実施する複数のプロセッサと、
複数のプロセッサがＯＳを介してリモート・ネットワーク・デバイスと通信するネットワーク入出力インタフェースと、
複数のプロセッサの少なくともサブセットと通信するネットワーク管理サービスであって、
リモート・エージェントを検出して登録するために検出パケットを同報通信する動作が可能な、コンピュータ・システムのネットワーク入出力インタフェースに結合されたエージェント検出ユニットと、リモート・ネットワーク・デバイス上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・ネットワーク・デバイスとの間でファイルを送受信する動作が可能な、コンピュータ・システムのネットワーク入出力インタフェースに結合されたファイル転送ユニットと、リモート・ネットワーク・デバイス上に常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・ネットワーク・デバイス上でアプリケーションの実行を開始する動作が可能な、コンピュータ・システムのネットワーク入出力インタフェースに結合されたリモート実行ユニットとを含むコンピュータ・システム。
【請求項１２】
ネットワーク管理サービスが、
エージェント検出ユニットと、ファイル転送ユニットと、リモート実行ユニットと通信し、リモート・ネットワーク・デバイスによって使用されるトランスポート・プロトコルとは無関係にリモート・ネットワーク・デバイスとの通信をサポートする動作が可能な通信サービスをさらに含む請求項１１に記載のコンピュータ・システム。
【請求項１３】
コンピュータ・システムのネットワーク内でリモート・エージェントを検出し、検出されたリモート・エージェントを登録するエージェント検出サービスと、リモート・コンピュータとの間でファイルを送受信するシンプル・ファイル転送サービスと、
サーバが、リモート・エージェントに常駐するどんな特定のオペレーティング・システムとも無関係に、リモート・コンピュータ上でアプリケーションの実行を開始できるリモート実行サービスとを含む、ネットワーク管理サービスを実施する複数のマシン実行可能命令を内部に記憶したマシン可読媒体。
【発明の詳細な説明】
【０００１】
本出願はＡｌｌａｎ  Ｂ．ＢｕｔｔおよびＭｉｃｈａｅｌ  Ｄ．Ｄａｙ  ＩＩによる、本発明の譲受人に共通に譲渡されたＭｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｄｉｓｃｏｖｅｒｉｎｇ  Ｓｅｒｖｅｒ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｉｎ  ａ  Ｎｅｔｗｏｒｋ  ｏｆ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓと題された出願番号第０８／６２３７７３の一部継続出願である。
【０００２】
（発明の背景）
１．発明の分野
本発明は、ネットワーク化されたシステム、特にネットワーク化されたデバイスの管理を容易にする方法および装置に関する。
【０００３】
２．背景情報
コンピュータ要素のネットワーク化、及び特に、クライアント／サーバ・ネットワークの実装が知られている。クライアントが開始ノードでサーバが応答ノードである（すなわち、必ずしもファイル「サーバ」またはアプリケーション「サーバ」のことではない）。これらのネットワークの例は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、グローバル・ネットワーク（インターネット）および通信デバイスのネットワーク化（すなわち、セル式ネットワーク、ＰＣＳネットワーク、有線電話ネットワーク）などを含む。これらのネットワークの多くは、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、Ｉｎｔｅｒｎｅｔｗｏｒｋ  Ｐａｃｋｅｔ  ｅＸｃｈａｎｇｅ（ＩＰＸ）、およびユーザ・データグラム・プロトコル／インターネット・プロトコル（ＵＤＰ／ＩＰ）、またはその他の適切なネットワーク・プロトコルを使用して見かけ上透過的なネットワークを構築する異なるプロセッサ・アーキテクチャおよびオペレーティング・システム（ＯＳ）を有する様々なクライアント・コンピュータを含んでいる。エンドユーザには、ネットワークが見かけ上コンピュータ・タイプ（例えば、Ｉｎｔｅｌ（登録商標）ベースのＰＣ、Ｍａｃｉｎｔｏｓｈ、またはＵＮＩＸシステム）には無関係であるように見えるが、異種コンピュータ間の通信インタフェースを提供するネットワーク・プロトコルへの使用可能なインタフェースは依然としてホストＯＳに依存している。したがって、これらの任意のＯＳで動作するホスト・コンピュータ・システムをネットワーク化するには、普及しているＯＳの各々について、インターネット通信スイートの対応する「フレーバ（flavor）」を発展させる必要がある。
【０００４】
したがって、この見かけ上透過的な動作にもかかわらず、実際には、これらの異種コンピュータ・ネットワークは極めて管理しにくく、したがって、保守費用がかかる。インターネット通信スイートの標準ベースの通信プロトコル（例えば、ＴＣＰ／ＩＰ、ＵＤＰ／ＩＰ、ＩＰＸ）はそのような異機種ネットワークの公表を容易にしたが、これらのネットワークの管理者は、ネットワーク全体に配置された様々なプロセッサ・アーキテクチャおよびそれに対応するＯＳに対応するためいくつかの資源を複製しなければならなかった。すなわち、ファイル管理、プロセッサ通信およびネットワーク信号スイートへのインタフェースは、機能的なコンピュータ・システムを提供するユーザ・インタフェースとしてのＯＳに依存している（少なくともエンドユーザの観点からは）。したがって、ＯＳが「ハング」する（すなわち、回復不能な状態で「フリーズする」）大半の場合に、ユーザは本質的にコンピュータの動作状態から締め出され、唯一の頼みの綱はＯＳを再起動することである（例えば、コンピュータを再ブートすることで）。
【０００５】
コンピュータ・システムの製造業者および消費者はコンピュータ・システムの購入と保守に関連するコストを数量化し始め、何人かにとってその結果は驚くべきものである。そのような研究から引き出される１つの一般化は、コンピュータ・システムおよびソフトウェアを購入する初期コストは（サイズと複雑性に関わらず）、そのようなシステムを保守するコストと比較して極めて小さい。すなわち、システム管理、コンピュータ／ネットワーク・ダウンタイムによる生産性の損失などのコストはネットワークを含むハードウェアおよびソフトウェア要素を購入する初期コストよりもはるかに高い。
【０００６】
したがって、コンピュータ・デバイスの大規模ネットワークの消費者が、コンピュータ・システムに関連する管理および保守に関連するコストを削減する、すなわち、コンピュータ・システムの購入および保守に関連するトータル・コスト・オブ・オーナシップ（ＴＣＯ）を削減するようにコンピュータ業界に以前に増して圧力を掛けていることは驚くには値しない。ただし、その最善の努力にもかかわらず、これらの問題に対する従来技術のネットワーク管理の解決策（ネットワーク管理ツールとも呼ばれる）は、トータル・コスト・オブ・オーナシップに重要な影響を与えてこなかった。
【０００７】
これらのツールの導入によって、ネットワーク管理の一般的な状態が改善されたが、その有効性の基本的な限界はそのままである。従来技術の管理ツール内の１つのそのような固有の限界の例は、実際上、それらのツールがクライアント・コンピュータの稼働中のオペレーティング・システム（ＯＳ）に依存するという事実である。すなわち、従来技術のネットワーク管理ツールは「フリーズした」クライアント・コンピュータとインタフェースをとることができず、ましてそのような状態でクライアント・コンピュータ上でリモート診断および保守を実行することはできない。逆に、第三者の開発業者によって作成された従来技術の管理ツールの多くは、利用率統計を生成するだけか、ネットワーク・コンピュータ（またはネットワーク化されたコンピュータの個々のプロセッサ）から容易に利用できる情報を生成するだけである、すなわち、それらはグラフィカル・ユーザ・インタフェース（ＧＵＩ）を介して共通に利用可能な情報を収集して提供するだけである。
【０００８】
一つの例でこの限界をさらに示す。ユーザが企業のサポート窓口に電話してコンピュータの問題について苦情いい、ネットワーク管理者がユーザのＯＳが「フリーズしている」と判定しても、ネットワーク管理者がネットワーク管理ソフトウェアを介してリモート操作で実行できることはほとんどない。したがって、ネットワーク管理者は、ユーザにコンピュータを「再ブート」させ、したがって、揮発性メモリ内に記憶された（すなわち、ハード・ドライブに保存されていない）すべてのデータを失うというどちらかといえば無力な提案にたどりつくことが多い。
【０００９】
したがって、従来技術に共通に関連する欠点と限界によって妨げられないネットワーク化されたデバイスの管理を容易にする方法および装置の必要性が存在する。
【００１０】
（発明の概要）
本発明の教示に従って、ネットワーク管理アプリケーション（エージェントとしても知られている）でネットワーク化されたデバイスの管理を容易にするネットワーク管理サービスについて以下に説明する。ネットワーク管理サービスはリモート管理エージェントを検出して登録するエージェント検出サービスと、リモート・システムとの間で情報を送受信する動作が可能なファイル転送サービスとを含む。
【００１１】
添付の図面に示される限定的ではない例示的な実施形態によって本発明について説明する。同じ参照番号は同じ要素を示す。
【００１２】
（詳細説明）
以下の説明で、本発明を十分に理解するために、説明のための特定の番号、材料および構成について記述する。ただし、当業者には本発明が特定の詳細なしに実施できることは明らかであろう。その他の点では、本発明をわかりにくくしないためによく知られている機能が省略または簡単化されている。さらに、理解を容易にするために、一定の方法ステップが別個のステップとして描かれているが、これらの別個に描かれたステップは必ずしもその実行順に並んでいると解釈すべきではない。
【００１３】
図１を参照すると、本発明の教示を組み込んだコンピュータ・システムのネットワーク例のブロック図が示されている。例えば、一実施形態では、ネットワーク１００は少なくともそのサブセットが本発明の教示を含む複数のコンピュータ要素からなる。特に、少なくともネットワーク１００を含むコンピュータ要素のサブセットは、本発明の教示に組み込まれた革新的なネットワーク管理サービスとともに配置され、ネットワーク１００内に常駐できる無数のオペレーティング・システムとは無関係に改善されたレベルのネットワーク管理性および相互運用性を可能にする。以下に詳述するように、本発明の教示を組み込んだネットワーク管理サービスによって、例えば、ネットワーク管理アプリケーション（一般にネットワーク管理エージェントまたはＮＭＡとも呼ばれる）はクライアント・コンピュータ上に常駐する特定のタイプのオペレーティング・システム（ＯＳ）とは無関係にクライアント・コンピュータに問い合わせし、操作することができる。例えば、一実施形態では、ネットワーク管理エージェントは、本発明のネットワーク管理サービスを初期化して、ネットワーク１００内に位置するクライアント・コンピュータに新しい／更新されたオペレーティング・システムを自動的に配置し、および／または動作不能になったネットワーク１００内のクライアント・コンピュータ上のオペレーティング・システムを交換することができる。
【００１４】
図１に示すように、ネットワーク媒体１２０を介して相互接続された、クライアント１０２および１０４、ならびにサーバ１０６および１０８を含むネットワーク１００が示されている。一実施形態では、クライアント１０２および１０４はパーソナル・コンピュータ・システムであるが、別の実施形態では、クライアント１０２および１０４は通信ネットワーク・デバイスである。図１に示すように、ネットワーク媒体１２０は、当技術分野で知られている高速のローカル・エリア・ネットワーク（ＬＡＮ）またはより低速のワイド・エリア・ネットワーク（ＷＡＮ）または公衆網（すなわち、インターネット）の実施態様に適した、ネットワーク・ケーブルおよびそれに関連する交換（ルーティング）、中継器、および／または遅延要素を含む幅広いカテゴリのネットワーク・インフラストラクチャを表すように意図されている。ネットワーク１００内のコンピュータ要素にはサーバ１０６および１０８のラベルが付いているものと、クライアント１０２および１０４のラベルがついているものとがあるが、これらのラベルは例示のためと理解を容易にするためにのみ使用されていることが理解できるであろう。サーバという用語は「ファイル」サーバまたは「アプリケーション」サーバを含むが、必ずしもこれに限定されるわけではない。
【００１５】
本発明の一実施形態では、クライアント１０２および１０４は、図示のように機能的に結合されたクライアント・アプリケーション１２０および１２２、クライアント・オペレーティング・システム（ＯＳ）１３０および１３２、ならびにネットワーク・トランスポート・サービス１４０および１４２（トランスポート層とも呼ばれる）を含む。本発明の一実施形態では、本発明の教示に組み込まれたネットワーク管理サービス１５０を含むクライアント１０２が示されている。以下に詳述するように、ネットワーク管理サービス（例えば、ネットワーク管理サービス１５０）をネットワーク１００の各コンピュータ要素に組み込むことが好ましいが、図１に示すように、ネットワーク１００が本発明から利益を受けるために、ネットワーク管理サービスは、あらゆるクライアントまたはサーバ内に完全に配置される必要はない。
【００１６】
図１についてさらに説明すると、図示のように、クライアント・アプリケーション１２０および１２２は任意の数の様々なアプリケーション、特にカリフォルニア州Ｓａｎｔａ  ＣｌａｒａにあるＩｎｔｅｌ  Ｃｏｒｐ．から発売されているクライアント・マネージャやワーク・グループ・マネージャなどの管理アプリケーションを表すように意図されている。図示のように、クライアント・アプリケーション１２０および１２２はそれぞれオペレーティング・システム１３０および１３２に依存して、ネットワーク・トランスポート・サービス１４０および１４２、そして最終的にはネットワーク媒体１２０とインタフェースをとる。以下に詳述するように、一実施形態では、図示のように、クライアント・アプリケーション１２０はネットワーク管理サービス１５０およびネットワーク・トランスポート・サービス１４０を介してネットワーク媒体１２０とインタフェースをとることもできる。
【００１７】
同様に、オペレーティング・システム１３０および１３２は対応する様々なコンピュータ・プラットフォームに共通の様々なオペレーティング・システムを表すように意図されている。そのようなオペレーティング・システムの例はＵＮＩＸオペレーティング・システム、ＷｉｎｄｏｗｓTMベースのオペレーティング・システム（例えば、ＷｉｎｄｏｗｓTM３．１、ＷｉｎｄｏｗｓTM９５、ＷｉｎｄｏｗｓTMＮＴおよびＷｉｎｄｏｗｓTMＣＥ）、ＭａｃｉｎｔｏｓｈTMおよびＮｅＸＴＳｔｅｐTMオペレーティング・システムなどを含む。
【００１８】
従来技術で知られているように、ネットワーク・トランスポート・サービス１４０および１４２は、ネットワーク媒体を介して情報を物理的に送受信する従来の機能を実行する。一実施形態では、情報交換の形はメッセージ・パケットを介してである。一実施形態では、メッセージ・パケットは、例えば、以下図３にその構造を詳述するデータグラムである。図示のように、ネットワーク・トランスポート・サービス１４０および１４２は当技術分野で知られている幅広いカテゴリのトランスポート・サービスを表すように意図されている。そのようなネットワーク・トランスポート・サービスの例は、Ｉｎｔｅｒｎｅｔｗｏｒｋ  Ｐａｃｋｅｔ  ｅＸｃｈａｎｇｅ（ＩＰＸ）、ユーザ・データグラム・プロトコル／インターネット・プロトコル（ＵＤＰ／ＩＰ）、ＮｅｔＢＥＵＩ、ＮｅｔＢＩＯＳ  ｏｖｅｒ  ＩＰ、ＮｅｔＢＩＯＳ  ｏｖｅｒ  ＩＰＸなどを含む。
【００１９】
クライアント１０２および１０４に加えて、ネットワーク１００はさらにサーバ１０６および１０８を有し、サーバ１０６および１０８は、それぞれ、本発明の教示を組み込んだサーバ・アプリケーション１６０および１６２、サーバ・オペレーティング・システム１７０および１７２、ネットワーク・トランスポート・サービス１８０および１８２、ならびにネットワーク管理サービス１９０および１９２を含む。別の実施形態では、以下に詳述するように、複数のサーバ１０６および１０８のすべてが独自のネットワーク管理サービスを有する必要はない。ネットワーク管理サービスがネットワーク内に配置されている限り、ネットワークのクライアント／サーバはネットワーク管理サービスが提供する一定程度の機能から利益を得ることができる。
【００２０】
図１に示すように、サーバ１０６および１０８は、サーバ・アプリケーション１６０および１６２、オペレーティング・システム１７０および１７２、ならびにネットワーク・トランスポート・サービス１８０および１８２を含み、これらの各々は幅広いカテゴリのアプリケーションを表し、オペレーティング・システムおよびネットワーク・トランスポート・サービスは当技術分野で知られている。したがって、それらについては詳述しない。一方、本発明の教示を組み込んだネットワーク管理サービス（例えば、ネットワーク管理サービス１５０、１９０、および１９２）は、例えば、ネットワーク管理アプリケーションがこれらのネットワーク要素に常駐するオペレーティング・システムとは無関係にネットワーク要素と対話することを可能にする複数のサービスを含む。
【００２１】
次いで、図２を再度参照すると、ネットワーク管理サービス（すなわち、ネットワーク管理サービス２００）の一例を示すブロック図が示されている。本発明の一実施形態では、ネットワーク管理サービス２００は、有利には、例えば、ネットワーク管理サービス１５０、１９０および／または１９２としてネットワーク１００に組み込まれている。一実施形態では、エージェント検出サービス２０２、シンプル・ファイル転送サービス２０４およびリモート実行サービス２０６を含むネットワーク管理サービス２００が示されている。本発明の別の実施形態では、ネットワーク管理サービス２００は図２に破線で示された通信サービス２０８も含むことができる。ネットワーク管理サービス２００のそれぞれの要素の各々とそれに対応する通信プロトコルについては以下に詳述する。ただし、これらの要素を詳述する前に、ネットワーク管理サービス２００が機能実現技術であることに留意する必要がある。すなわち、ネットワーク管理サービス２００によって、クライアントは、クライアント・コンピュータ上で実行されている特定のタイプのオペレーティング・システムとは無関係に、リモート・エージェントを検出し、リモート・エージェントと通信し、リモート・コンピュータとの間でファイルを転送し、リモート操作でクライアント上でアプリケーションのローカル実行を開始することができる。ネットワーク管理サービスによって提供されるサービスの起動は当技術分野で知られている任意の数の手法、例えばアプリケーション・プログラム・インタフェース（ＡＰＩ）内で達成できる。
【００２２】
再度、図２の要素を説明すると、ネットワーク管理サービス２００はエージェント検出サービス２０２を含む。エージェント検出サービス２０２は上記の米国特許出願の主題である。要するに、エージェント検出サービス２０２によってネットワーク管理サービス２００はリモート・エージェントを検出して登録でき、ローカル・エージェントを検出してリモート操作で登録することができる。リモート・エージェントはリモート・クライアントまたはリモート・サーバに常駐するエージェントでもよい。本発明の一実施形態では、エージェント検出サービス２０２はネットワーク媒体１２０を介してネットワーク１００上で情報パケット（またはデータグラム）を同報通信することで検出プロセスを開始する。この実施形態に関しては、情報パケットはＰＩＮＧパケット、すなわち、リモート・エージェントを検索するエージェント検出サービス２０２によって送信される情報パケットと呼ばれる。検出のために配置されたリモート・エージェントのために、ネットワーク管理エージェントの一部である、またはそうでないこの種の検出サービスは、ネットワーク１００を介して、類似した情報パケット、すなわち、ＰＯＮＧパケットで受信したＰＩＮＧパケットに応答する。
【００２３】
本発明の一実施形態では、検出されたリモート・エージェントのリストが保守される。例えば、一実施形態では、ローカル・アプリケーションがネットワーク管理サービス２００にリモート・エージェントを検出するように命令するが、別の実施形態では、ネットワーク管理サービス２００が検出されたリストを自律的に更新する。さらに、ネットワーク管理サービス２００のエージェント検出サービス２０２は、それが常駐するネットワーク要素へのユーザの好みに従って、リモート・エージェントのＰＩＮＧパケットに応答する。
【００２４】
図２のネットワーク管理サービス２００の別の要素は、シンプル・ファイル転送サービス２０４である。一実施形態では、ファイルはそれぞれクライアントおよびサーバ内に配置された１対のシンプル・ファイル転送サービス２０４を使用して、「プッシュ」でき（例えば、クライアント１０２からサーバ１０６に）、または「プル」できる（例えば、サーバ１０６からクライアント１０２に）。別の実施形態では、シンプル・ファイル転送サービス２０４はリモート・エージェントからファイルを一方的に識別して検索する。一実施形態では、リモート・エージェント上で利用可能なファイルのリスト（例えばディレクトリ）はファイル自体だけでなくシンプル・ファイル転送サービス２０４によって得ることができる。一実施形態では、シンプル・ファイル転送サービス２０４は利用可能なファイルのディレクトリをＵＮＩＣＯＤＥフォーマットで示すが、これにはローカル・エージェントがＵＮＩＣＯＤＥリストを解釈してＵＮＩＣＯＤＥディレクトリをローカル・フォーマットに変換する必要がある。本発明の一実施形態では、シンプル・ファイル転送サービス２０４のための通信は動的ＩＰＸソケットおよびＵＤＰ／ＩＰポート上で実行されるが、別の実施形態では、固定ソケット／ポートを割り当てることができる。
【００２５】
シンプル・ファイル転送サービス２０４によって使用される通信プロトコルは要求／リプライ・データグラム・シーケンスを使用してファイル転送を達成する。例えば、一実施形態では、シンプル・ファイル転送サービス２０４の要求は、取り消し、クローズ、実行、リスト、作成、読み出し、シャットダウンおよび書き込み動作を含む。この例のプロトコルに従えば、各要求はリプライで応答される。例えば、作成要求は作成リプライで応答される。
【００２６】
このプロトコル例によれば、作成要求は、サーバ上で作成すべき新しいファイルのファイル・ハンドルを得るために使用される。取り消し要求は、実行中の任意の動作を中止または取り消すために使用される。一実施形態では、取り消し要求はリプライを引き出さない。クローズ要求は書き込み要求を途中でクローズするために使用される。リスト運用はファイルのディレクトリ・リストを得るために使用される。ディレクトリ・リストは単一のファイル名を含むこともでき、またはワイルドカード・キャラクタを満たすファイル名の反復リストを含むこともできる。一実施形態では、読み出し要求／リプライ・データグラムは、いつファイル終り（ＥＯＦ）に達しているか否かをシンプル・ファイル転送サービスに示すステータス・フィールドを含む。同様に、書き込み要求はクライアントからサーバにファイルを「プッシュ」するために使用される。一実施形態では、書き込み要求／リプライ・データグラムは、ファイル終り（ＥＯＦ）に達していることをシンプル・ファイル転送サービスに示すステータス・フィールドを含む。
【００２７】
シャットダウン要求はリモート・サーバからログオフし、電源を切り、再ブートし、「強制終了」し、またはシャットダウンするために使用される。特に、シャットダウン要求は、シャットダウン要求で上記の動作のどれを実行するかを指定する属性フィールドを含む。一実施形態では、サーバはそれを使用している他のクライアントがある場合に、シャットダウン要求失敗で応答する。ただし、シャットダウン要求の「強制終了」オプションを使用することで、クライアントは強制的にサーバにすべてのクライアントを終了させ（サーバがダウンするというクライアントへの広範な通知によって）、要求を続行する。プロトコル例によれば、実行要求は指定されたプロセスのローカル実行をリモート操作で開始するために使用される。本発明の一実施形態では、要求／リプライ・シーケンスは通信パケットまたはデータグラムの形式をとる。ファイル転送データグラムの一例を図３に示す。
【００２８】
図３のファイル転送データグラムの例によれば、ｈｅａｄｅｒ３０２、ｖｅｒｓｉｏｎ３０４、ｐａｃｋｅｔ  ｔｙｐｅ３０６、ｄｇｒａｍ＿ｓｉｚｅ３０８、ｃｌｉｅｎｔ＿ｄａｔａ３１０、ｓｅｒｖｅｒ＿ｄａｔａ３１２、ｓｅｑｕｅｎｃｅフィールド３１４、ｓｔａｔｕｓ３１６、ｆｉｌｅ  ｈａｎｄｌｅ３１８、Ｉ＿ｐａｒｍ＿１３２０、Ｉ＿ｐａｒｍ＿２３２２、ｄａｔａ  ｌｅｎｇｔｈ  ｉｎｄｉｃａｔｏｒ３２４およびｄａｔａ３２６を含むファイル転送データグラム３００が示されている。このファイル転送データグラムの例３００では、ｈｅａｄｅｒ３０２は利用されるトランスポート・サービスを識別するヘッダを含む。一実施形態では、例えば、ｈｅａｄｅｒ３０２は基本トランスポート層のヘッダである。ｖｅｒｓｉｏｎフィールド３０４はファイル転送プロトコル・バージョンを示す。すなわち、データグラムのバージョンはアプリケーションのバージョンと比較され、データグラム・パケットは必要に応じて適当なバージョンに変換される。
【００２９】
ファイル転送データグラム３００のｐａｃｋｅｔ  ｔｙｐｅフィールド３０６は、現在のパケットの要求またはリプライ・タイプを示す。例えば、ｐａｃｋｅｔ  ｔｙｐｅ３０６は現在の要求がオープン、クローズ、取り消しなどであるか否かを示す。ｄｇｒａｍ＿ｓｉｚｅフィールド３０８は、データグラム（すなわち、データグラム３００）の送信元によって受け入れられる最大パケット・サイズを指定する。したがって、送信元に返送された任意のパケットはこのサイズを超えてはならない。さらに、異なるトランスポート層の各々が超えてはならない異なる最大データグラム・サイズをサポートしていることは当業者には明らかであろう。したがって、ｄｇｒａｍ＿ｓｉｚｅ６０８は、送信元の最大データグラム・サイズまたは使用する基本レベル・トランスポート層の最大データグラム・サイズのうち小さい方を含む。ｃｌｉｅｎｔ＿ｄａｔａフィールド３１０はクライアント側からの識別データを示す。サーバ・アプリケーションは要求パケットのｃｌｉｅｎｔ＿ｄａｔａフィールド３１０の内容を対応するリプライ・パケットのｃｌｉｅｎｔ＿ｄａｔａフィールド３１０に入れる。ｃｌｉｅｎｔ＿ｄａｔａフィールド３１０のデータを使用して、例えば、現在のパケット・セッションに関連する何らかのインスタンス・データを識別することができる。サーバに関する情報を含むｓｅｒｖｅｒ＿ｄａｔａフィールド３１２はｃｌｉｅｎｔ＿ｄａｔａフィールド３１０に類似している。ｓｅｑｕｅｎｃｅフィールド３１４は反復要求およびリプライ・パケットを識別するために使用される。
【００３０】
図３のファイル転送データグラムをさらに参照すると、ｓｔａｔｕｓフィールド３１６は要求の成功または失敗を示す。一実施形態では、例えば、ゼロは成功を示し、ゼロ以外の値は何らかの種類のエラーを表す。ｆｉｌｅ  ｈａｎｄｌｅ３１８はすべてのリプライと、オープンまたは作成要求（要求がファイル・ハンドルを含む）以外のすべての要求内にある。Ｉ＿ｐａｒｍ＿１３２０およびＩ＿ｐａｒｍ＿２３２２は、データグラム内の任意選択のフィールドで、本発明の一実施形態では、オープン・リプライ内の作成データおよびファイル・サイズに使用される。ｄａｔａ  ｌｅｎｇｔｈ３２４はｄａｔａフィールドのバイト長を示す。ｄａｔａ３２６がある場合には動的長さデータを含む。
【００３１】
ｄａｔａフィールド３２６の内容はパケット・タイプに依存する。例えば、作成パケット・タイプの場合、ｄａｔａフィールド３２６はファイル指定を含むことがあるが、読み出しパケット・タイプの場合、ｄａｔａフィールド３２６は読み出しデータを含むことがある。実施形態の例では、すべてのファイル転送要求およびリプライは同じパケット・フォーマットを使用する。すべてのフィールドがすべての要求またはリプライによって使用されるわけではない。例えば、一実施形態では、あるフィールドが特定の要求またはリプライ内で使用されない時にはゼロに設定される。
【００３２】
この実施形態の例によれば、図４は、ファイルがネットワーク管理サービスを介してクライアントからサーバ（例えば、クライアント１０２、サーバ１０６）にプッシュされる一連の方法ステップを示す。図４に示すように、このプロセスは、ステップ４０２で、それぞれのネットワーク管理サービスのファイル転送サービスまたはその同等の機能を使用してクライアント１０２からサーバ１０６に送信される作成要求で開始し、プッシュされたデータを記憶するためにテンポラリ・ファイルがサーバ１０６上に作成される。本発明の一実施形態では、テンポラリ・アップロード・ファイルが作成される時に、それに対応するテンポラリ・ファイル・ハンドルが、テンポラリ・アップロード・ファイルをその後参照するサーバのシンプル・ファイル転送サービス２０４によって作成される。「ファイル・ハンドルはシステムがオープン・ファイルを参照する際に使用する［一意的な］「トークン」（番号）である」（Ｃｏｍｐｕｔｅｒ  Ｄｉｃｔｉｏｎａｒｙ、Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ、Ｍｉｃｒｏｓｏｆｔ  Ｐｒｅｓｓ発行、１６５頁（ｃ）１９９４）を当業者は知っているであろう。すなわち、ファイル・ハンドルは、アップロード・ファイルをクライアント・アプリケーションの動的ソケット／ポートを含む特定のネットワーク・アドレスに結びつける。したがって、ある特定の時間に活動状態であるファイル・ハンドルはネットワーク・アドレスあたり１つのみである（多数のネットワーク・トランスポート・サービス−ソケット／ポート、すなわち、多重処理多重通信チャネル・システムが利用可能でない場合に）ことに留意する必要がある。
【００３３】
一実施形態では、テンポラリ・アップロード・ファイルはサーバのネットワーク管理サービス２００のシンプル・ファイル転送サービス２０４によってサーバ上の不揮発記憶装置内に作成される。別の実施形態では、サーバのネットワーク管理サービス２００のシンプル・ファイル転送サービス２０４は揮発記憶装置内にテンポラリ・アップロード・ファイルのための空間を割り振ることができる。
【００３４】
テンポラリ・アップロード・ファイルがサーバ（例えば、サーバ１０６）上に作成されると、ステップ４０４で、クライアントはアップロードすべきファイルをオープンし、書き込みファイル転送データグラムが発行され、データはクライアント１０２に常駐するファイルからサーバ１０６上に作成されたテンポラリ・アップロード・ファイルに書き込まれる。各書き込みファイル転送データグラムでプッシュされるデータの量はデータグラム３００のデータ・フィールド３２６のサイズに依存する。ステップ４０６で、クライアント側でプッシュすべきファイルの終わりに達しているか否かについての判定がなされる。達している場合、ステップ４０８で、クローズ・ファイル転送データグラムが発行され、サーバ上のテンポラリ・アップロード・ファイルがクローズされる。ただし、ステップ４０６でプッシュすべきファイルの終わりに達していないと判定された場合、このプロセスはステップ４０４に戻り、別の書き込みファイル転送データグラムが発行され、次のデータ・ブロックがクライアント１０２からサーバ１０６上のテンポラリ・アップロード・ファイルに書き込まれる。このループ・プロセス（例えば、ステップ４０４および４０６）はプッシュすべきすべてのデータがサーバ１０６上のテンポラリ・アップロード・ファイルに書き込まれるまで継続し、その後、ステップ４０８で、クローズ・ファイル転送データグラムが発行されてテンポラリ・アップロード・ファイルがクローズされる。ステップ４０８でテンポラリ・アップロード・ファイルがクローズされると、ステップ４１０で、サーバ１０６はテンポラリ・アップロード・ファイルを作成要求に指定されたファイル名でリネームし、同じ名前を有するその他のどんなファイルも削除される。ただし、クローズ要求の前に取り消し要求が発行されると、同じ名前を有する以前のどんなファイルも保存される。
【００３５】
同様に、実施形態の例によれば、図５に示すように、ファイルは、ネットワーク管理サービス２００のシンプル・ファイル転送サービス２０４またはその同等の機能を使用して、サーバからクライアントに（例えば、サーバ１０８からクライアント１０４に）プルできる。図示のように、図５はクライアントのネットワーク管理サービス２００のシンプル・ファイル転送サービス２０４がファイルをサーバ１０８からクライアント１０４に「プル」する方法ステップを示す。この方法は、ステップ５０２で、クライアントのシンプル・ファイル転送サービス２０４がオープン・ファイル転送データグラムを発行することで開始し、これに応答して、サーバのシンプル・ファイル転送サービス２０４がサーバ（例えば、サーバ１０８）上にあるソース・ファイルをオープンする。同時に、クライアント１０４はリモート・ファイルからのデータを読み込むテンポラリ・ダウンロード・ファイルを作成する。プッシュ・プロセスと同様、クライアント１０４はファイル・ハンドルを介して参照されるテンポラリ・ダウンロード・ファイルを作成する。
【００３６】
ステップ５０２でリモート・ファイルがオープンされると、ステップ５０４で、読み出しファイル転送データグラムが発行され、データ・ブロックがリモート・ファイルからテンポラリ・ダウンロード・ファイルに読み込まれる。単一の読み出しファイル転送データグラム内でプルされるデータ量はファイル転送データグラム３００のデータ・フィールド３２６に割り振られたサイズによってのみ制限される。その後で、ステップ５０６で、クライアントのシンプル・ファイル転送サービス２０４はリモート・ファイルの終わりに達しているか否かを判定する。達していない場合、方法はステップ５０４に戻り、次のデータ・ブロックがプルされる。ただし、ファイル全体がプルされている場合、ステップ５０８で、クライアントのシンプル・ファイル転送サービス２０４はクローズ・ファイル転送データグラムを発行してリモート・ファイルをクローズする。クローズ要求が発行されると、テンポラリ・ダウンロード・ファイルのファイル・ハンドルは永続化される。ただし、クローズ要求の前に取り消し要求が発行されると、リモート・ファイルはクローズされ、テンポラリ・ダウンロード・ファイルは削除される（すなわち、クライアントはテンポラリ・ダウンロード・ファイルに割り振られたメモリを再び割り振ることができる）。
【００３７】
図２のネットワーク管理サービス２００は、そのエージェント検出サービス２０２およびファイル転送サービス２０４要素に加えて、リモート実行サービス２０６を含む。ネットワーク管理サービス２００のリモート実行サービス２０６はアプリケーションのリモート実行を開始し、アプリケーションのローカル実行をリモート操作で開始するために使用される。一実施形態では、クライアントおよびサーバ上に配置されたリモート実行サービス２０６は協同してサーバがクライアントに応答して（またはクライアントがサーバに応答して、またはクライアント間で応答して、またはサーバ間で応答して）ファイルの実行を開始することを容易にする。一実施形態では、データグラムの通信プロトコルがリモート実行サービス２０６によってアプリケーションのローカル実行を容易にする、またはアプリケーションのリモート実行を開始するために使用される。リモート実行サービス２０６によって使用されるデータグラムの一例を図６に示す。
【００３８】
図６はリモート実行サービス２０６によって使用されるのに適したデータグラムの通信パケットの例を示す。図６に示すように、ｈｅａｄｅｒ６０２、ｖｅｒｓｉｏｎ６０４、ｐａｃｋｅｔ＿ｔｙｐｅ６０６、ｄｇｒａｍ＿ｓｉｚｅ６０８、ｃｌｉｅｎｔ＿ｄａｔａ６１０、ｓｅｒｖｅｒ＿ｄａｔａ６１２、ｓｅｑｕｅｎｃｅ６１４、ｓｔａｔｕｓ６１６、ｄａｔａ＿ｌｅｎｇｔｈ６１８、およびｄａｔａフィールド６２０を含むリモート実行データグラム６００が示されている。ｄａｔａフィールド６２０は特に重要で、実行可能なファイル名および任意のコマンド・ライン引数（すなわち、引数リスト）が含まれている。本発明の一実施形態では、ｄａｔａ＿ｆｉｅｌｄ６２０内の引数の各々が０で終わり、引数リストは空きの文字列の後で終了する（やはり０で終了する）。したがって、この実施形態の例によれば、ｄａｔａ＿ｆｉｅｌｄ６２０内に含まれる情報の例は以下の例（１）に示されている。
ＰＢＲＵＳＨ．ＥＸＥ＼０ＢＩＴＭＡＰ．ＢＭＰ＼０＼０    （１）
別の実施形態では、ｄａｔａ＿ｆｉｅｌｄ６２０内に含まれるデータは、以下の例（２）に示すように、復帰／改行が可能で、ヌル文字列（０）で終了する。
ＰＢＲＵＳＨ．ＥＸＥ
ＢＩＴＭＡＰ．ＢＭＰ                                    （２）
０
リモート実行サービス２０６は、容易化機能の役割の中で、リモート実行データグラム６００を受信するとｄａｔａ＿ｆｉｅｌｄ６２０内に記述された実行可能ファイルの存否を検査し、存在する場合、ファイルを実行する。許可サービスはリモート実行サービス２０６内に組み込まれ、その責任の範囲内である。許可プロトコルは動作環境によって変化する。一実施形態では、アプリケーションの実行は、ネットワーク管理サービス２００がシャットダウンするまでは開始しない。別の実施形態では、ネットワーク管理サービス２００はリモート・コンピュータに自己転送され、リモート・コンピュータ上で実行される。
【００３９】
リモート実行データグラム６００の説明を続けると、ｈｅａｄｅｒフィールド６０２は使用されるトランスポートのタイプに関係する情報を含む。例えば、一実施形態では、ｈｅａｄｅｒフィールド６０２はトランスポート層のヘッダを含む。ｖｅｒｓｉｏｎフィールド６０４はファイル転送プロトコルのバージョンを含む。リモート実行データグラム６００のｐａｃｋｅｔ＿ｔｙｐｅフィールド６０６は、このパケットの要求またはリクエスト・タイプを含む。ｄｇｒａｍ＿ｓｉｚｅフィールド６０８は、リモート実行データグラム６００の送信元によって受け入れられる最大パケット・サイズに関する情報を含む。したがって、リモート実行データグラム６００の送信元に返送された任意のパケット（すなわち、リプライ）はこのサイズを超えてはならない。ファイル転送データグラム３００の場合と同様、ｄｇｒａｍ＿ｓｉｚｅ６０８は、送信元の最大データグラム・サイズまたは使用する基本レベル・トランスポート層の最大データグラム・サイズのうち小さい方を含む。
【００４０】
さらに、リモート実行データグラム６００はｃｌｉｅｎｔ＿ｄａｔａフィールド６１０を含む。例えば、一実施形態では、ｃｌｉｅｎｔ＿ｄａｔａフィールド６１０はクライアント側からのデータを含む４バイト・フィールドである。リモート実行サービスは、要求パケットのｃｌｉｅｎｔ＿ｄａｔａフィールド６１０の内容をそれに対応するリプライ・パケットのｃｌｉｅｎｔ＿ｄａｔａフィールド６１０に入れる。ｃｌｉｅｎｔ＿ｄａｔａフィールド６１０のデータは、例えば、現在のパケット・セッションに関連する何らかのインスタンス・データを識別するために使用できる。サーバに関する情報を含むｓｅｒｖｅｒ＿ｄａｔａフィールド６１２はｃｌｉｅｎｔ＿ｄａｔａフィールド６１０と同様である。ｓｅｑｕｅｎｃｅフィールド６１４は反復要求およびリプライ・パケットを識別するために使用される。リモート実行データグラム６００のｓｔａｔｕｓフィールド６１６は要求の成功または失敗を示す。ｄａｔａ＿ｌｅｎｇｔｈフィールド６１８は、リモート実行データグラム６００の宛先にｄａｔａフィールドの長さを示す。
【００４１】
ネットワーク管理サービス２００の上記の要素、すなわち、エージェント検出サービス２０２、シンプル・ファイル転送サービス２０４およびリモート実行サービス２０６に加えて、ネットワーク管理サービス２００は通信サービス２０８を含むことの望ましい。ネットワーク管理サービス１９０は通信サービス２０８を使用してトランスポート層サービスとの間で送受信する情報を「変換」する。
【００４２】
一実施形態では、通信サービス２０８によって、ネットワーク管理サービス２００がサポートされているトランスポート・プロトコル（ＴＣＰ／ＩＰ、ＩＰＸ／ＳＰＸなど）の相違点を１組の共通分母機能に抽象化し、通信サービスによる通信のためのよく知られているポートまたはソケット・アドレスを確立することで、基礎のネットワーク・トランスポート・プロトコルに関わらず機能することができる。例えば、一実施形態では、通信サービス２０８はすべてのサポートされているトランスポート・プロトコル（上に識別した）について「聴取アドレス」を確立し、エージェント検出サービス２０２の検出プロトコルを使用して、ネットワークの隅々に位置する通信サービス２０８のその他のインスタンスがこれらの聴取アドレスを利用できるようにする。サポートされているトランスポート・プロトコルごとに聴取アドレスを確立し、これらのアドレスをリモート・ネットワーク管理サービス（すなわち、ネットワーク管理サービス２００）の通信サービス２０８が検出できるようにして、サーバのネットワーク管理サービス２００は、通信サービス２０８を介して、特定のクライアントによってサポートされるいかなる特定のトランスポート・プロトコルにも関係なく、ネットワーク上で通信を実行することができる。特に、サーバ（例えば、サーバ１０８）上の通信サービス２０８は、クライアント（例えば、クライアント１０４）上の通信サービス２０８によってどのプロトコルがサポートされているかということと、これらのプロトコルがどの聴取アドレスで通常受信されるかを認識している。
【００４３】
上述の説明および実施形態の例から、ネットワーク管理サービス２００の革新的な機能がいくつかの代替実施形態で実施できることを当業者は理解するであろう。例えば、一実施形態では、ネットワーク管理サービス２００は機械可読フォーマットで記憶され、コンピュータによって実行される複数のソフトウェア命令の形をとることができる。別の実施形態では、ネットワーク管理サービス２００はコンピュータ内の特定用途向け集積回路内に埋め込むことができる。
【００４４】
上記の図２〜６のネットワーク管理サービス２００によって使用される機能的要素およびプロトコルについて以上記述したが、図７〜９がネットワーク管理サービス２００の革新的な機能の応用例の１つとして、限定することなく提供されている。図７で、未構成のクライアント・コンピュータを構成する方法の一例を示す流れ図が示されている。理解を容易にするために、図７〜９の応用例についてネットワーク１００の要素に関連して説明する。したがって、実施形態の例では、ネットワーク管理サービス２００を介してサーバ（例えば、サーバ１０８）上で実行されるネットワーク管理アプリケーション（例えば、アプリケーション１６０）は未構成のクライアント・コンピュータ（例えば、クライアント１０５）を検出し、ネットワーク管理サービス（例えば、ネットワーク管理サービス１９２）によって使用可能にされた革新的な機能に従って、ネットワーク１００内での動作のためにクライアントを構成する。
【００４５】
図７の方法を詳述する前に、未構成のクライアントの高レベル・アーキテクチャの例を復習することが役に立つであろう。図８は未構成のクライアント・コンピュータ８００の高レベル・アーキテクチャのブロック図を示す。コンピュータがコンピュータ製造業者から出荷された時の基礎的な機能がある限り、「未構成」という用語を使用することは多少誤称かもしれない。図８のアーキテクチャ例に示すように、「未構成の」クライアント・コンピュータ８００は、ハードウェア８０２、ハードウェア構成データ８０４、基本入出力システム（ＢＩＯＳ）８０６、ＢＩＯＳ構成データ８０８および不揮発性メモリ（例えば、ブートＰＲＯＭ）８１０内に記憶された基礎的なネットワーク・ブート命令のセットを含む。一実施形態では、クライアント・コンピュータ８００はクライアント１０５である。ハードウェア８０２は少なくとも１つのプロセッサ、メモリ・サブシステム、入出力デバイス、および通信サブシステムを含む。一実施形態では、ハードウェア８０２は大容量記憶デバイス、ディスプレイ、周辺装置などの品目を含む。ハードウェア構成データ８０４はハードウェア８０２の要素にインタフェースするのに必要な情報を含む。ＢＩＯＳ８０６は基本入出力サービスを提供する。一実施形態では、ＢＩＯＳ８０６は、Ｄｅｓｋｔｏｐ  Ｍａｎａｇｅｍｅｎｔ  ＢＩＯＳ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、ｖｅｒｓｉｏｎ  ２．０、１９９６年２月２３日に準拠する特別のネットワーク・マネージャビリティ・サービスを備えたデスクトップ管理インタフェース（ＤＭＩ）サービスを含む。ＢＩＯＳ構成データ８０８はハードウェアＩ／Ｏシステム用の構成データを含む。ブート命令８１０はコンピュータに公称レベルの機能を与える、起動時に実行される１組の命令である。ブート命令８１０は、プログラマブル読取専用メモリ（ＰＲＯＭ）などの不揮発性メモリに記憶され、基礎的な「オペレーティング・システム」（ＯＳ）の実行を開始する。一実施形態では、基礎的な「ＯＳ」は、コンピュータに、基礎的なレベルのメモリ管理、コンピュータ８００への通信およびファイル転送機能を与える。（したがって、未構成の定義は基礎的なオペレーティング・システムを含む。このケースを新しいＩＣＧの開示と区別するのは基礎的なオペレーティング・システムの要件であると考える。）
【００４６】
図７の方法例を再度参照すると、未構成のクライアントを構成する方法がステップ７０２で開始し、そこでは、サーバ１０８はクライアント１０５がオペレーティング・システムを実行していないと判定する。サーバ１０８がクライアント１０５がオペレーティング・システムを有していないと判定する手段はクライアント１０５の構成に依存する。例えば、クライアント１０５がネットワーク管理サービス２００と共に構成される一実施形態では、エージェント検出サービスがＰＩＮＧデータグラムを同報通信し、クライアント１０５を完全に構成できるサーバを探す。別の実施形態では、サーバ１０８上に常駐するネットワーク管理サービスはＰＩＮＧデータグラムを同報通信して未構成のネットワーク・クライアントを探し、クライアント１０５はクライアント１０５を未構成のネットワーク・クライアントとして識別する表示でＰＩＮＧデータグラムに応答する。
【００４７】
図示の例では、管理アプリケーション１６０によって、クライアント１５０がオペレーティング・システムを備えていないことが判定されると、次いで管理アプリケーション１６０はクライアント１０５がネットワーク管理サービスを備えているかどうかを判定する。上述のように、一実施形態では、ネットワーク管理サービス１９２のエージェント検出サービス２０２はネットワーク・トランスポート・サービス１８０を介してネットワーク媒体１２０にＰＩＮＧデータグラムを発行し、リプライ（すなわち、ＰＯＮＧデータグラム）を待つ。ステップ７０４で、クライアント１０５がネットワーク管理サービスを有していないと判定されると、例えば、図５のステップ７０８に示す方法ステップに従って、ネットワーク管理サービス１９２はネットワーク管理サービスのコピーを基礎的なＯＳを介してクライアント１０５にダウンロードする。ステップ７０８でネットワーク管理サービスのダウンロードが完了すると、その実行がステップ７１０で開始する。
【００４８】
ステップ７０６および７０８で、ネットワーク管理サービスがネットワーク管理サービス１９２からクライアント１０５にダウンロードされ、クライアント１０５上で実行されると、またはステップ７０４でクライアント１０５がすでにネットワーク管理サービスを使用可能にされていると判定されると、管理アプリケーション１６０はステップ７１０でクライアント１０５のオペレーティング・システム要件を決定する。例えば、一実施形態では、この判定はクライアント１０５に常駐するプロセッサのタイプを確認することでなされる。クライアント１０５のオペレーティング・システム要件を判定すると、ステップ７１２で、管理アプリケーション１６０は、ネットワーク管理サービス１９２のシンプル・ファイル転送サービス２０４を介して、サーバ１０６からクライアント１０５に適当なオペレーティング・システムをダウンロードする。ステップ７１２で適当なオペレーティング・システムのダウンロードが完了すると、ステップ７１４で、サーバ１０６のネットワーク管理サービス１９２のリモート実行サービス２０６およびクライアント１０５に新たにダウンロードされたネットワーク管理サービスのリモート実行サービスは、管理アプリケーション１６０によって使用され、クライアントに新たにダウンロードされたオペレーティング・システムの実行がリモート操作で開始される。例えば、一実施形態では、サーバ１０６のネットワーク管理サービス１９２のリモート実行サービスは、クライアント１０５に常駐するダウンロードされたネットワーク管理サービスのリモート実行サービスにリモート実行データグラムを発行し、適当なコマンド・ライン・エントリでＡＵＴＯＥＸＥＣ．ＢＡＴファイルを識別し、それによってクライアント１０５上でオペレーティング・システムのローカル実行をリモート操作で開始する。
【００４９】
新しいオペレーティング・システムのダウンロードまたは既存のオペレーティング・システムのアップグレードに加えて、ステップ７１６で、サーバ１０６は、ネットワーク管理サービス１９２およびクライアント１０５上の新たにダウンロードされたネットワーク管理サービスを使用して、追加のアプリケーションまたはエージェントをクライアント１０５にダウンロードする。図９は図７に示された方法ステップのネットワークの観点から見たブロック図である。特に、図９は、ネットワーク管理サービスをクライアント１０５にダウンロードし、その後でダウンロードされたネットワーク管理サービスを使用して、ネットワーク管理エージェントがオペレーティング・システムおよびその他のアプリケーション／エージェントでクライアント１０５を構成するのを容易にするサーバ１０６を示す。
【００５０】
ネットワーク内へのネットワーク管理サービス２００の導入によって使用可能にされた革新的な機能の別の例を図１０に示す。特に、図１０は、ネットワーク管理サービス２００で構成されたサーバが、電源切断状態または「スリープ」状態（例えば、低消費電力状態）のネットワーク管理サービスが可能になったクライアント・コンピュータのリモート開始（すなわち、「電源投入」）がネットワーク管理動作を実行し、その後でネットワーク管理セッションの前にクライアントを電源投入状態に戻すことを容易にする。説明をしやすくするために、図１０の方法ステップを図１のネットワーク要素に関して説明する。
【００５１】
この方法は、ステップ１００２から開始し、ネットワーク管理エージェントがサーバ（例えば、サーバ１０８）の管理動作（すなわち、リモート電源投入動作）の対象であるクライアント（例えば、クライアント１０２）を識別する。対象クライアントを識別するいくつかの方法がある。例えば、一実施形態では、ネットワーク管理エージェント１６２は、この例ではクライアント１０２を含む特定のオペレーティング・システムの以前のバージョンで動作するすべてのネットワーク・クライアントのリストを確立する。本発明の教示によれば、クライアント・オペレーティング・システムを直ちにアップグレードすることで、クライアント１０２のユーザへのコンピュータ・サービスを中断する代わりに、ネットワーク管理エージェント１６２は、識別されたクライアントは定義されたネットワーク保守を必要とするということをログに記入することができる。その後で、ネットワーク管理エージェント１６２がクライアント１０２の電源が切断されたことを「感知」すると、ネットワーク管理エージェント１６２は保守を実行するのに都合の良い保守期間（例えば、通常の動作時間後に）を待つ。
【００５２】
ステップ１００２で対象クライアントを識別すると、サーバのネットワーク管理サービス１９２が呼び出され、クライアント１０２がネットワーク管理サービスで構成されているか否かが判定される。一実施形態では、クライアント１０２がネットワーク管理サービスで構成されているか否かを確認するためにネットワーク管理サービス１９２は上記の教示に従ってＰＩＮＧデータグラムを送信する。ネットワーク管理サービス１９２がクライアント１０２はネットワーク管理サービスを備えていないと判定すると、ネットワーク管理サービス１９２はクライアント１０２にネットワーク管理サービスを提供する。特に、クライアントの電源が投入されていると、ステップ１００６で、サーバのネットワーク管理サービス１９２はサーバ１０８からクライアント１０２にネットワーク管理サービスをプッシュし（すなわち、ダウンロードし）、ステップ１００８で、図５の教示に従って、プッシュされたネットワーク管理サービスのローカル実行をリモート操作で開始する。
【００５３】
ステップ１００４で、クライアント１０２がネットワーク管理サービス（例えば、ネットワーク管理サービス１５０）を備えていると判定された場合、ネットワーク管理エージェント１６２は、ステップ１０１０で、ネットワーク管理サービス１５０を介して、クライアント１０２の最後の電力状態を検索する。ステップ１０１２で、ネットワーク管理エージェント１６２は、クライアント１０２の電力状態が所望の動作を実行するのに十分であるか否かを判定する。そうでない場合、ステップ１０１４で、ネットワーク管理エージェント１６２はネットワーク管理サービス１９２を介してネットワーク管理サービス１５０に電力状態コマンドを発行し、クライアント１０２を必要な電力状態にする。
【００５４】
ステップ１０１４で電力状態コマンドを発行すると、またはステップ１０１２でクライアント１０２が所望の動作を実行するのに適切な電力状態である場合、ネットワーク管理エージェント１６２はステップ１０１６で所望の管理動作を実行する。この実施形態の例によれば、ステップ１０１０および１０１２で、ネットワーク管理サービスはクライアントが電力低下状態であることを判定し、ステップ１０１４で、必要な電力状態コマンドを発行して、少なくともクライアント１０２を構成するシステム構成要素のサブセット（例えば、コンピュータだけでモニタ、プリンタ、スキャナなどは含まない）を使用可能にする。クライアント１０２が立ち上がると、ＯＳの旧バージョンを実行しているにもかかわらず、ネットワーク管理サービスはステップ１０１６でＯＳのアップグレードを開始する。
【００５５】
ステップ１０１６で所望のネットワーク管理動作を完了すると、ステップ１０１８で、ネットワーク管理エージェント１６２はネットワーク管理サービス１９２を介してネットワーク管理サービス１５０に電力状態コマンドを発行し、ネットワーク管理セッションの前にクライアント１０２を電力状態にする。
【００５６】
革新的なネットワーク管理サービスが高レベルのネットワーク管理性および相互運用性を与えることを当業者は理解するであろう。上述したように、ネットワーク管理サービスはプラットフォームに依存しない。すなわち、ネットワーク管理サービスは無数のコンピュータ処理環境内で動作する。ネットワーク管理サービス２００はどんな特定のコンピュータ・オペレーティング・システムからも独立して動作するので、ネットワーク管理サービス２００のネットワーク（例えば、ネットワーク１００）への導入によって、中央位置にいるネットワーク・マネージャはネットワーク統計情報を監視するだけでなく、リモート・クライアントに問い合わせしてリモート操作でリモート・クライアントを操作できる。先に言及したように、ネットワーク管理サービス２００は新世代のネットワーク管理アプリケーションにコンピュータ・システムの最も基本的なプロセスへの相互運用するようにアクセスする機能実現技術である。
【００５７】
以上、ネットワーク化されたデバイスの管理を容易にする方法および装置の代替実施形態について説明してきた。本発明の方法および装置について上記の実施形態の例に関して説明してきたが、当業者は本発明が上記の実施形態に限定されないことを理解するであろう。例えば、当業者は、上記の説明および例から、ネットワーク管理サービス２００を使用してこれまでは従来技術のネットワーク管理ツールで利用できなかったいくつかのネットワーク機能を実行することができる。さらに、ネットワーク１００内のコンピュータ要素の各々がネットワーク管理サービス２００を組み込む必要はなく、それはネットワーク管理サービス２００がネットワーク内で利用可能な限り、必要に応じてダウンロードして実行できるからであるということが示されている。したがって、当業者は首記の請求の範囲の精神と範囲を逸脱することなしに、本発明を変更および修正して実施できることを理解するであろう。したがって、本発明の説明は本発明を限定するものではなく例示的なものと考えるべきである。
【図面の簡単な説明】
【図１】  本発明の教示に組み込まれたコンピュータ・システムのネットワークの例を示すブロック図である。
【図２】  本発明の教示に組み込まれたネットワーク管理サービスのブロック図である。
【図３】  ネットワーク管理サービス間で通信するために使用されるシンプル・ファイル転送データグラムの図である。
【図４】  ファイルを図２のネットワーク管理サービスを利用するクライアントからサーバにプッシュする方法ステップを示す流れ図である。
【図５】  ファイルを図２のネットワーク管理サービスを利用するサーバからクライアントにプルする方法ステップを示す流れ図である。
【図６】    ネットワーク管理サービス間で通信するために使用されるリモート実行データグラムの図である。
【図７】  本発明の教示に従って、ネットワーク管理サービスを利用する未構成のクライアントをリモート操作で構成する一例の方法ステップを示す流れ図である。
【図８】  未構成のクライアント・コンピュータの一例を示すブロック図である。
【図９】  高レベル・ネットワーク・アーキテクチャの視点から見た図７の方法ステップを示すブロック図である。
【図１０】  本発明の教示に従って、図２のネットワーク管理サービスを利用するリモート電力管理を使用可能にする方法ステップを示す流れ図である。
【図１】
0004768119.tif 000002
【図２】
0004768119.tif 000003
【図３】
0004768119.tif 000004
【図４】
0004768119.tif 000005
【図５】
0004768119.tif 000006
【図６】
0004768119.tif 000007
【図７】
0004768119.tif 000008
【図８】
0004768119.tif 000009
【図９】
0004768119.tif 000010
【図１０】
0004768119.tif 000011