(57)【要約】  コンピュータネットワークにおける分散オペレーティング・システム・インタフェースから、外部ハードウェア機器に関連付けられたデバイスドライバと通信するドライバモデルを使用して外部ハードウェア機器を管理する実施形態を提供する。一実施形態では、コンピュータネットワークにおける外部ハードウェア機器を管理する要求が分散ウェブベースのオペレーティング・システム・インタフェース内で受信される。外部ハードウェア機器の構成設定を管理するためにデバイスドライバとインタフェースをとるように構成されたドライバモデルを選択することができる。ドライバモデルは、インタフェースから外部ハードウェア機器の構成設定を管理するのに利用することができる。この設定には、ドメイン名変更、ファイアウォール設定、プロキシ設定などの管理が含まれる。別の実施形態では、ドライバモデルは、分散オペレーティング・システム・インタフェースから開始されるネットワーク構成動作の間に外部ハードウェア機器の設定を管理するのに使用することができる。
2010532893.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワーク（１００）における分散オペレーティング・システム・インタフェース（５００）から外部ハードウェア機器（１１４、１１６、１１８）を管理する方法であって、
前記分散オペレーティング・システム・インタフェース（５００）内で前記コンピュータネットワーク（１００）における前記外部ハードウェア機器（１１４）を管理する要求を受信すること（３０５）、
前記分散オペレーティング・システム・インタフェース内の前記外部ハードウェア機器に関連付けられたドライバモデル（１０４Ａ）の選択を受信すること（３１０）、および
前記選択したドライバモデルを使用して、前記分散オペレーティング・システム・インタフェースから前記外部ハードウェア機器の設定を構成すること（３１５）
を含むことを特徴とする方法。
【請求項２】
前記分散オペレーティング・システム・インタフェースから前記外部ハードウェア機器の現在の状態の要求を受信すること（３２０）、および
前記要求に応答して、前記選択したドライバモデルを使用して現在の状態の情報を求めて前記外部ハードウェア機器と通信すること（３２５）
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記分散オペレーティング・システム・インタフェース内で前記コンピュータネットワークにおける外部ハードウェア機器を管理する要求を受信することは、ウェブベースのインタフェース（５００）内で要求を受信することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記ウェブベースのインタフェース内で要求を受信することは、複数の外部ハードウェア機器を管理するためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）（５０２）の選択を受信することを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記分散オペレーティング・システム・インタフェース内で前記コンピュータネットワークにおける外部ハードウェア機器を管理する要求を受信することは、前記分散オペレーティング・システム・インタフェース内で、プロキシサーバ（１１８）、ロードバランサ（１１６）、またはＤＮＳ（ｄｏｍａｉｎ  ｎａｍｅ  ｓｙｓｔｅｍ；ドメイン名システム）サーバ（１１４）のうち少なくとも１つを管理する要求を受信することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記分散オペレーティング・システム・インタフェース内の前記外部ハードウェア機器に関連付けられたドライバモデルの選択を受信することは、ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ  ｉｎｔｅｒｆａｃｅ）のセットを利用して複数の外部ハードウェア機器を管理するために複数のデバイスドライバと通信する汎用ドライバモデルの選択を受信することを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記分散オペレーティング・システム・インタフェース内の前記外部ハードウェア機器に関連付けられたドライバモデルの選択を受信することは、前記外部ハードウェア機器を管理するのに使用されるベンダ固有のデバイスドライバと通信するベンダ固有のドライバモデルの選択を受信することを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記コンピュータネットワークにおける前記分散オペレーティング・システム・インタフェース（５００）から前記外部ハードウェア機器（１１４、１１６、１１８）を管理するためのシステムであって、
実行可能プログラムコード（１０４Ａ）を記憶するためのメモリ（１２）、および
前記メモリに機能的に結合されるプロセッサ（８）であって、前記プログラムコード（１０４Ａ）内に含まれるコンピュータ実行可能命令に応答して、
前記分散オペレーティング・システム・インタフェース内で前記コンピュータネットワークの構成動作を実行する要求を受信し（４０５）、かつ
少なくとも１つの前記外部ハードウェア機器と通信し、ドライバモデル（１０４Ａ）を使用して構成動作を実行する際に利用されるタスクを実行する（４１０）
ように動作可能なプロセッサ（８）
を備えることを特徴とするシステム。
【請求項９】
前記分散オペレーティング・システム・インタフェース内で構成動作を実行する要求を受信する際に、前記プロセッサは前記構成動作の性能をスケジューリングする要求を受信する（５０４）ように動作可能であることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記分散オペレーティング・システム・インタフェース内で構成動作を実行する要求を受信する際に、前記プロセッサは前記コンピュータネットワークにフロント・エンド・サーバを追加する要求を受信する（５１２）ように動作可能であることを特徴とする、請求項８に記載のシステム。
【請求項１１】
前記分散オペレーティング・システム・インタフェース内で構成動作を実行する要求を受信する際に、前記プロセッサは前記コンピュータネットワークからフロント・エンド・サーバを削除する要求を受信する（５１４）ように動作可能であることを特徴とする、請求項８に記載のシステム。
【請求項１２】
前記分散オペレーティング・システム・インタフェース内で構成動作を実行する要求を受信する際に、前記プロセッサはウェブベースインタフェース内の構成動作を実行する要求を受信する（５０４）ように動作可能であることを特徴とする請求項８に記載のシステム。
【請求項１３】
少なくとも１つの前記外部ハードウェア機器と通信し、ドライバモデルを使用して構成動作を実行するのに利用されるタスクを実行する際に、前記プロセッサは少なくとも１つの前記外部ハードウェア機器を管理するのに使用される少なくとも１つのデバイスドライバと通信する汎用ドライバモデルを使用するように動作可能であることを特徴とする請求項８に記載のシステム。
【請求項１４】
少なくとも１つの前記外部ハードウェア機器と通信し、ドライバモデルを使用して構成動作を実行するのに利用されるタスクを実行する際に、前記プロセッサは少なくとも１つの前記外部ハードウェア機器を管理するのに使用される少なくとも１つのベンダ固有のデバイスドライバと通信するベンダ固有のドライバモデルを使用するように動作可能であることを特徴とする請求項８に記載のシステム。
【請求項１５】
コンピュータ上で実行するときに、前記コンピュータが前記コンピュータネットワークにおける前記分散オペレーティング・システム・インタフェース（５００）から前記外部ハードウェア機器（１１４、１１６、１１８）を管理する方法を実行するコンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記方法は、
前記分散オペレーティング・システム・インタフェース（５００）内で前記コンピュータネットワークにおける外部ハードウェア機器（１１４）を管理する要求を受信すること（３０５）、
前記分散オペレーティング・システム・インタフェース内の前記外部ハードウェア機器に関連付けられたドライバモデル（１０４Ａ）の選択を受信すること（３１０）、
前記選択したドライバモデルを使用して、前記分散オペレーティング・システム・インタフェースから前記外部ハードウェア機器の設定を構成すること（３１５）、
前記分散オペレーティング・システム・インタフェースから前記外部ハードウェア機器の現在の状態の要求を受信すること（３２０）、および
前記要求に応答して、前記選択したドライバモデルを使用して現在の状態の情報を求めて前記外部ハードウェア機器と通信すること（３２５）
を含むことを特徴とするコンピュータ可読記憶媒体。
【請求項１６】
前記分散オペレーティング・システム・インタフェース内で前記コンピュータネットワークにおける前記外部ハードウェア機器を管理する要求を受信することは、ウェブベースのインタフェース（５００）内で要求を受信することを含むことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記ウェブベースのインタフェース内で要求を受信することは、複数の外部ハードウェア機器を管理するためのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）（５０２）の選択を受信することを含むことを特徴とする請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記分散オペレーティング・システム・インタフェース内で前記コンピュータネットワークにおける前記外部ハードウェア機器を管理する要求を受信することは、前記分散オペレーティング・システム・インタフェース内で、プロキシサーバ（１１８）、ロードバランサ（１１６）、またはＤＮＳ（ｄｏｍａｉｎ  ｎａｍｅ  ｓｙｓｔｅｍ；ドメイン名システム）サーバ（１１４）のうち少なくとも１つを管理する要求を受信することを含むことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記分散オペレーティング・システム・インタフェース内の前記外部ハードウェア機器に関連付けられたドライバモデルの選択を受信することは、ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ  ｉｎｔｅｒｆａｃｅ）のセットを利用して複数の外部ハードウェア機器を管理するために使用される複数のデバイスドライバと通信する汎用ドライバモデルの選択を受信することを含むことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記分散オペレーティング・システム・インタフェース内の前記外部ハードウェア機器に関連付けられたドライバモデルの選択を受信することは、前記外部ハードウェア機器を管理するのに使用されるベンダ固有のデバイスドライバと通信するベンダ固有のドライバモデルの選択を受信することを含むことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
多くのコンピュータネットワークは、単一のウェブベースのインタフェースを介してエンドユーザにリソースを提供するための複数のコンピュータの共有インフラストラクチャを含む。これらのコンピュータネットワークは、通常、単一の論理ユニットとしてサーバファームを制御するための分散オペレーティングシステムアプリケーションを含む。サーバファームは、通常、ステートレスなフロント・エンド・サーバと、アプリケーションサーバと、ユーザ作成のコンテンツ、フロント・エンド・サーバとアプリケーションサーバとの間の設定および接続を記憶するためのデータベース・バックエンドとを含む。分散オペレーティング・システムのコンピュータネットワークは、通常、ドメイン名システムサーバ、ファイアウォール、ロードバランサ、広域エリアネットワークアクセラレータ、およびプロキシサーバなどの追加のネットワークハードウェア装置または機器も含み、これらはセキュリティを高め、高い可用性を提供し、またはネットワークダウンタイムの管理を助けるためにサーバにより使用される。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
しかし、上述の追加のネットワークハードウェア機器は、分散オペレーティング・システムに対して分散される（すなわち、これらは分散オペレーティング・システム内から状態や構成が見えない外部装置である）。さらに、各々のネットワークハードウェア機器は（同一のベンダによって製造されたものであっても）、ネットワークエンジニアが手動でコンフィギュレーションしなければならない固有の設定を有する場合がある。さらに、分散オペレーティング・システムを低下もしくは破壊する可能性のある任意の外部ハードウェア機器内で生じる障害は、システム管理者には見えない（管理者は、障害が発生したことを検出することはできるが、特定の外部ハードウェア機器または障害の原因である機器を特定もしくは障害の理由を判断することができない）。結果として、ネットワークエンジニアを派遣して外部機器内で発生した問題を識別して解決する間に時間と資金が浪費されることが多い。本発明の種々の実施形態は、これらまたその他の事項を考慮してなされたものである。
【課題を解決するための手段】
【０００３】
この概要は、以下の発明を実施するための形態でさらに説明する概念の選択を簡略化して紹介するものである。この概要は、請求される主題の重要な特徴または不可欠な特徴を特定するものでなく、請求される主題の範囲を決定することを目的とするものでもない。
【０００４】
外部ハードウェア機器に関連付けられたデバイスドライバと通信するためのドライバモデルを使用して、コンピュータネットワークにおける分散オペレーティングシステムインタフェースから外部ハードウェア機器を管理する実施形態を提供する。一実施形態において、コンピュータネットワーク上の外部ハードウェア機器を管理する要求が分散ウェブベースのオペレーティング・システム・インタフェース内で受信される。外部ハードウェア機器の構成設定を管理するためのデバイスドライバとインタフェースをとるように構成されたドライバモデルを選択することができる。ドライバモデルは、インタフェースから外部ハードウェア機器の構成設定を管理するために使用することができる。設定には、ドメイン名変更、ファイアウォール設定、プロキシ設定などの管理が含まれる。別の実施形態では、ドライバモデルは、分散オペレーティング・システム・インタフェースから開始されるネットワーク構成動作の間に外部ハードウェア機器の設定を管理するのに使用することができる。
【０００５】
これらおよび他の特徴や利点は、以下の詳細な説明を読み、関連の図面を検討すれば明らかになるであろう。前述の概要および以下の詳細な説明はともに単なる例であって、請求される本発明を限定するものではない。
【図面の簡単な説明】
【０００６】
【図１】種々の実施形態に従うコンピュータネットワークにおける分散オペレーティング・システムから外部ハードウェア機器を管理するように構成されたシステムのネットワークアーキテクチャを示す図である。
【図２】本明細書内で示された種々の実施形態を実装するためのコンピュータ環境を示すブロック図である。
【図３】一実施形態に従うコンピュータネットワークにおける分散オペレーティング・システムから外部ハードウェア機器を管理するためのルーチンを示すフロー図である。
【図４】代替の実施形態に従うコンピュータネットワークにおける分散オペレーティングシステムインタフェースから外部ハードウェア機器を管理するためのルーチンを示すフロー図である。
【図５】一実施形態に従うコンピュータネットワークにおいて外部ハードウェア機器を管理するために使用される分散オペレーティング・システムのための例示的なユーザインタフェースのブロック図である。
【発明を実施するための形態】
【０００７】
外部ハードウェア機器に関連付けられたデバイスドライバと通信するためのドライバモデルを使用して、コンピュータネットワークにおける分散オペレーティングシステムインタフェースから外部ハードウェア機器を管理する実施形態を提供する。一実施形態において、コンピュータネットワークにおける外部ハードウェア機器を管理する要求が分散ウェブベースのオペレーティング・システム・インタフェース内で受信される。外部ハードウェア機器のための構成設定を管理するためのデバイスドライバとインタフェースをとるように構成されたドライバモデルを選択することができる。ドライバモデルは、インタフェースから外部ハードウェア機器の構成設定を管理するために使用することができる。設定には、ドメイン名変更の管理、ファイアウォール設定、プロキシ設定などが含まれる。別の実施形態では、ドライバモデルは、分散オペレーティング・システム・インタフェースから開始されるネットワーク構成動作の間に外部ハードウェア機器の設定を管理するのに使用することができる。
【０００８】
図面では、同じ付番は同じ要素を表す。ここで、種々の例示的な実施形態を説明する。図１は、共有リソースを自動的にターゲットにするよう構成されたコンピュータネットワーク１００のネットワークアーキテクチャを示す図である。一実施形態では、コンピュータネットワーク１００の種々のコンポーネントは、ウェブベースのアプリケーションのための分散オペレーティング・システム、例えば、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ワシントン州、レドモンド）により開発されたＳＨＡＲＥＰＯＩＮＴサービス技術のオペレーティング・システムを使用して構成することができる。当業者に既知であるように、ＳＨＡＲＥＰＯＩＮＴサービス技術により、ユーザは協調環境を作成し、維持し、提示して情報を共有することができるようになる。この技術を使用して、ユーザまたは組織は１つまたは複数のウェブサイトを作成して、そのウェブサイトに関連付けられる他のユーザのために情報（例えば、ウェブサーバまたはウェブフォルダなどにあるドキュメント）を提供し、共有することができる。本明細書内で説明される実施形態はＳＨＡＲＥＰＯＩＮＴサービス技術に限定されると解釈すべきでなく、他の開発業者および／または製造業者製の協調サービス技術を使用することも可能であることは理解されたい。コンピュータネットワーク１００およびそのコンポーネントは、他のコンピューティング装置、通信装置、および／または他のシステムと通信する機能性を含むが、本明細書内で示される実施形態や例に限定されない。
【０００９】
図１に示すように、コンピュータネットワーク１００は、バックエンド・サーバ１０１と、アプリケーションサーバ１０２Ａ、１０２Ｂと、フロント・エンド・サーバ（すなわち、ウェブサーバ）１１２Ａ、１１２Ｂ、および１１２Ｃとを含むが、これらに限定されない。これらのサーバは、ＤＮＳ（ｄｏｍａｉｎ  ｎａｍｅ  ｓｙｓｔｅｍ；ドメイン名システム）サーバ１１４、ネットワーク・ロード・バランサ１１６、およびプロキシサーバ（すなわち、ファイアウォール）１１８などの外部ハードウェア機器と通信している。種々の実施形態によれば、ＵＤＤＩ（Ｕｎｉｖｅｒｓａｌ  Ｄｅｓｃｒｉｐｔｉｏｎ，Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｉｎｔｅｇｒａｔｉｏｎ）ディレクトリもしくはＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）ディレクトリなどのディレクトリを記憶するためのディレクトリサーバ、またはＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ワシントン州、レドモンド）製のＡＣＴＩＶＥ  ＤＩＲＥＣＴＯＲＹサービス技術などの他の外部ハードウェア機器をネットワーク１００に組み込んでもよいことは理解されたい。ネットワーク１００内に組み込むことができる他の外部ハードウェア機器は、メールサーバ（例えば、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ）を含んでもよい。一実施形態では、バックエンド・サーバ１０１、アプリケーションサーバ１０２Ａ、１０２Ｂ、およびフロント・エンド・サーバ１１２Ａ、１１２Ｂ、１１２Ｃとは、ＳＨＡＲＥＰＯＩＮＴサービス技術を利用する分散オペレーティング・システムとして構成して、情報を共有するための協調環境を作成することができる。特に、一実施形態では、アプリケーションサーバ１０２Ａおよび１０２Ｂは、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ワシントン州、レドモンド）製のＷＩＮＤＯＷＳ  ＳＨＡＲＥＰＯＩＮＴ  ＳＥＲＶＩＣＥ技術を組み込んだＷＩＮＤＯＷＳ  ＳＥＲＶＥＲオペレーティング・システムを実行するように構成することができる。しかし、本明細書内で説明する技術的特徴の種々の態様を具現化するのに他の製造業者のオペレーティング・システムを使用してもよいことは理解されたい。
【００１０】
バックエンド・サーバ１０１は、アプリケーションサーバ１０２Ａ、１０２Ｂと通信し、また（ファイアウォール１１０経由で）フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃと通信している。一実施形態によれば、バックエンド・サーバ１０１は、クライアントデータ、設定、およびネットワーク１００におけるフロント・エンド・サーバ１１２Ａ、１１２Ｂ、１１２Ｃとアプリケーションサーバ１０２Ａ、１０２Ｂとの間の接続を記憶するＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）データベースを備えることができる。
【００１１】
アプリケーションサーバ１０２Ａおよび１０２Ｂは、バックエンド・サーバ１０１と通信し、また（ファイアウォール１１０を介して）フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃと通信している。一般に、アプリケーションサーバ１０２Ａ、１０２Ｂは、検索インデックス作成動作を実行するのに使用することができ、またフロント・エンド・サーバ１１２Ａ、１１２Ｂ、１１２Ｃにホストされているウェブサイト内に公開するためにアクティブディレクトリからの情報を通信するのに使用することができる。アプリケーションサーバ１０２Ａ、１０２Ｂは、ネットワーク管理アプリケーションおよびドライバモデル１０４Ａ、１０４Ｂ（以下、ネットワーク管理アプリケーション１０４Ａ、１０４Ｂと呼ぶ）を含むことができるが、これらに限定されない。
【００１２】
一実施形態によれば、ネットワーク管理アプリケーション１０４Ａおよび１０４Ｂは、外部ハードウェア装置１１４、１１６、および１１８に関連付けられたドライバモデルを含むことができる。例えば、ＤＮＳドライバモデルはＤＮＳサーバ１１４に関連付けられ、ロードバランサのドライバモデルはネットワーク・ロード・バランサ１１６に関連付けられる。ドライバモデルは、システム管理者により、フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃ内にインストールすることができるベンダ供給のデバイスドライバ１３０Ａ、１３０Ｂ、および１３０Ｃと通信し、そのデバイスドライバ内の設定を構成するために使用される。ドライバモデルは、ネットワーク管理アプリケーション１０４Ａおよび１０４Ｂにより生成されたユーザインタフェースから選択してもよい。特に、ネットワーク管理アプリケーション１０４Ａおよび１０４Ｂは、ネットワーク管理者が外部ハードウェア機器に関連付けられたドライバモデルにアクセスするために選択することができるハードウェア機器ハイパーリンクを含む中央管理ウェブサイトを生成するように構成することができる。また、ネットワーク管理アプリケーション１０４Ａおよび１０４Ｂは、中央管理ウェブサイトから外部ハードウェア機器１１４、１１６、および１１８を利用して、ネットワーク１００内のフロント・エンド・サーバの追加や削除など、ネットワーク構成動作を実行するためにドライバモデルを利用するように構成してもよい。ネットワーク管理アプリケーション１０４Ａおよび１０４Ｂはさらに、システム状態のチェックを実行して、中央管理ウェブサイトから外部ハードウェア機器１１４、１１６、および１１８の現在の状態を取得するためにドライバモデルを利用するように構成してもよい。一実施形態によれば、ドライバモデルは汎用のものでもよく、共通の設定を有する多数のデバイスドライバと通信し、そのデバイスドライバ内の設定を管理するように構成してもよい。あるいは、ドライバモデルはベンダ固有のものとし、ベンダからの固有のデバイスドライバとのみ通信し、そのデバイスドライバ内の設定を管理するように構成してもよい。
【００１３】
一実施形態によれば、デバイスドライバ１３０Ａ、１３０Ｂ、および１３０Ｃは、ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ  ｉｎｔｅｒｆａｃｅ）のセット、例えば、フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃ上のＡＰＩの１２５Ａ、１２５Ｂ、および１２５Ｃを利用して、ネットワーク１００内の外部ハードウェア機器のデバイスドライバ１３０Ａ、１３０Ｂ、および１３０Ｃのためのドライバモデルと通信することができる。特に、分散オペレーティング・システムにおけるＡＰＩの拡張可能なリストは、外部ハードウェア機器ベンダと共有可能であり、そのため、デバイスドライバはネットワーク管理アプリケーション１０４Ａ、および１０４Ｂにより生成されるユーザインタフェース内のドライバ設定を公開して、ドライバモデルを使用して外部ハードウェア機器を管理するように開発できる。ネットワーク１００内の外部ハードウェア機器を管理する際のネットワーク管理アプリケーション１０４Ａ、および１０４Ｂの機能性は、図３〜５において以下でより詳細に説明する。
【００１４】
フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃは、バックエンド・サーバ１０１、アプリケーションサーバ１０２Ａ、および１０２Ｂとファイアウォール１１０経由で通信している。ウェブ・フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃはさらに、外部ハードウェア機器１１４、１１６、および１１８（すなわち、ＤＮＳサーバ１１４、ネットワーク・ロード・バランサ１１６、プロキシサーバ１１８）とも通信している。フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃは、ＡＰＩの１２５Ａ、１２５Ｂ、および１２５Ｃ、そしてデバイスドライバ１３０Ａ、１３０Ｂ、および１３０Ｃを含んでもよいが、これらに限定されない。
【００１５】
ＤＮＳサーバ１１４は、フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃと通信しており、ドメイン名（例えば、ｗｗｗ．ＩＴｗｅｂ．ｃｏｍ）をＩＰアドレス（例えば、１９８．１０５．２３２．４）に変換するように構成することができる。また、ネットワーク・ロード・バランサ１１６も、フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃと通信しており、多数のサーバにわたるネットワークトラフィックの負荷分散し、自動的に操作サーバにトラフィックを再分散するように構成することができる。プロキシサーバ１１８も、フロント・エンド・サーバ１１２Ａ、１１２Ｂ、および１１２Ｃと通信しており、ファイアウォールとしてネットワーク化クライアントコンピュータ（図示せず）からの要求をフィルタリングするように構成することができる。
【００１６】
例示的なオペレーティング環境
図２を参照する。以下は、本発明の実施形態を実装することができる適切なコンピュータ環境の簡潔な概要を説明するものである。本発明は、パーソナルコンピュータのオペレーティング・システム上で実行するプログラムモジュールとともに実行するプログラムモジュールの一般的な状況で説明するが、当業者は、本発明は他のタイプのコンピュータシステムおよびプログラムモジュールと組み合わせて実装可能であることは理解するであろう。
【００１７】
一般に、プログラムモジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行する、または特定の抽象データ型を実装する他のタイプの構造を含む。また、当業者は、本発明が他のコンピュータシステム構成とともに実施することができることを理解するであろう。例えば、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどが挙げられる。本発明はさらに、通信ネットワークを介してリンクされるリモート処理装置によりタスクが実行される分散コンピュータ環境で実施することもできる。分散コンピュータ環境では、プログラムモジュールは、ローカル記憶装置およびリモート記憶装置の両方に配置することができる。
【００１８】
図２は、本発明の実施形態の例示的なオペレーティング環境を示す。図２で示されるように、アプリケーションサーバ１０２Ａは、汎用デスクトップ、ラップトップ、ハンドヘルド、タブレットまたは１つまたは複数のアプリケーションプログラムを実行することができる他のタイプのコンピュータを含むサーバコンピュータを備える。アプリケーションサーバ１０２Ａは、少なくとも１つのＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；中央処理装置）８、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１８およびＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）２０を含むシステムメモリ１２、およびＣＰＵ８にメモリを結合するシステムバス１０を含む。起動時などにコンピュータ内の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システムは、ＲＯＭ２０内に記憶される。
【００１９】
アプリケーションサーバ１０２Ａはさらに、オペレーティング・システム３２とネットワーク管理アプリケーション１０４Ａとを記憶するための大容量記憶装置１４を含む。種々の実施形態によれば、オペレーティング・システム３２は、ＷＩＮＤＯＷＳ  ＳＨＡＲＥＰＯＩＮＴ  ＳＥＲＶＩＣＥ技術を組み込んだＷＩＮＤＯＷＳ  ＳＥＲＶＥＲオペレーティング・システムを備えることができる。大容量記憶装置１４は、バス１０に接続される大容量記憶コントローラ（図示せず）を介してＣＰＵ８に接続される。大容量記憶装置１４およびそれに関連するコンピュータ可読媒体は、共有リソースポータル１１０用の不揮発性の記憶を提供する。本明細書内で示されるコンピュータ可読媒体はハードディスクまたはＣＤ−ＲＯＭドライブなどの大容量記憶装置を指すが、当業者であればコンピュータ可読媒体はアプリケーションサーバ１０２Ａがアクセスまたは利用できる任意の利用可能な媒体も可能であることは理解されたい。
【００２０】
例として、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を備えることができるが、これらに限定されない。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータのような情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくはその他の個体メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ；デジタル多用途ディスク）もしくはその他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または所望の情報を記憶するのに使用でき、アプリケーションサーバ１０２Ａがアクセスできる任意の他の媒体を含むが、これらに限定されない。
【００２１】
本発明の種々の実施形態によれば、アプリケーションサーバ１０２Ａは、例えば、ローカルエリアネットワークまたは広域エリアネットワーク（例えば、インターネット）などのネットワーク４を介するリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。アプリケーションサーバ１０２Ａは、バス１０に接続されるネットワークインタフェースユニット１６を介してネットワーク４に接続されてもよい。
【００２２】
また、ネットワークインタフェースユニット１６は、その他のタイプのネットワークやリモートコンピュータシステムに接続するのに使用してもよい。アプリケーションサーバ１０２Ａはさらに、キーボード、マウス、ペン、スタイラス、指、および／または他の手段を含む多数の入力方式からの入力を受信し処理するための入出力コントローラ２２を含むことができる。同様に、入出力コントローラ２２は、ディスプレイ、プリンタ、またはその他のタイプの出力装置へ出力することができる。さらに、タッチスクリーンも、入力および出力機構として機能することができる。
【００２３】
簡単に上述したように、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮ（ワシントン州、レドモンド）製のＷＩＮＤＯＷＳ  ＳＥＲＶＥＲオペレーティング・システムなどのネットワークパーソナルコンピュータの動作を制御するのに適したオペレーティング・システム３２を含む多数のプログラムモジュールおよびデータファイルを大容量記憶装置１４およびアプリケーションサーバ１０２ＡのＲＡＭ１８内に記憶することができる。大容量記憶装置１４およびＲＡＭ１８はさらに、１つまたは複数のプログラムモジュールを記憶することができる。特に、大容量記憶装置１４およびＲＡＭ１８は、ネットワーク管理アプリケーション１０４Ａを記憶することができる。
【００２４】
図３は、一実施形態に従って、コンピュータネットワークにおける分散オペレーティングシステムインタフェースから外部ハードウェア機器を管理するためのルーチン３００を示すフロー図である。図１および図２のコンポーネントが図３の説明の中で言及されているが、実施形態はそれに限定されない。本明細書内で示されたルーチンの考察を読んで、本発明の種々の実施形態の論理動作が、（１）一連のコンピュータ実装のアクトまたはコンピュータシステム上で実行するプログラムモジュールとして、および／または（２）相互接続機械論理回路またはコンピュータシステム内の回路モジュールとして実装されることは理解されたい。実装は、本発明を実装するコンピュータシステムの性能要件に応じて選択できる。したがって、図３〜４で示され、本明細書内で説明される本発明の実施形態を構成する論理動作は、動作、構造装置、アクト、またはモジュールとさまざまな形で言及される。当業者は、これらの動作、構造装置、アクト、およびモジュールは、本明細書内の請求項の中で説明するように本発明の精神および範囲から逸脱せずに、ソフトウェア、ファームウェア、特殊目的デジタル論理、およびこれらの任意の組み合わせの中で実装することができると認識できるだろう。
【００２５】
ルーチン３００は、動作３０５から動作を開始する。ここで、アプリケーションサーバ１０２Ａまたは１０２Ｂ上で実行するネットワーク管理アプリケーション１０４Ａか１０４Ｂのいずれか（これ以降は、ネットワーク管理アプリケーション１０４Ａおよびアプリケーションサーバ１０２Ａとする）が、ネットワーク１００内の外部ハードウェア機器を管理する要求を受信する。特に、システム管理者は、ネットワーク管理アプリケーション１０４Ａにより生成されたウェブベースのユーザインタフェースにアクセスして、外部ハードウェア機器のドライバ設定を管理するためのＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）を選択することができる。外部ハードウェア機器を管理するための例示的なユーザインタフェースは、図５に示し、以下でより詳細に説明する。
【００２６】
動作３０５から、ルーチン３００は動作３１０まで継続する。ここで、ネットワーク管理アプリケーション１０４Ａはユーザインタフェース内のドライバモデルの選択を受信する。一実施形態では、ドライバモデルの選択は、構成される外部ハードウェア機器のデバイスドライバに対応するＵＲＬを選択することで行うことができる。例えば、システム管理者は、外部ハードウェア機器を管理するためのＵＲＬを選択した後、構成する外部ハードウェア機器のタイプを記載したウェブページを取得して、その後、ロードバランサの管理に対応するＵＲＬを選択することができる。上述したように、ドライバモデルは多数の外部ハードウェア機器デバイスドライバと互換性のある汎用ドライバモデルとするか、あるいは、ドライバモデルはベンダからの固有のデバイスドライバと互換性のあるベンダ固有のドライバモデルとすることができる。
【００２７】
動作３１０から、ルーチン３００は動作３１５まで継続する。ここで、ネットワーク管理アプリケーション１０４Ａは選択したドライバモデルを使用して、対応する外部ハードウェア機器の設定を構成する。特に、ネットワーク管理アプリケーション１０４Ａは、選択したドライバモデルを受信後、外部ハードウェア機器に関連付けられた種々の設定を構成するための構成ウィザードを開くことができる。
【００２８】
動作３１５から、ルーチン３００は動作３２０まで継続する。ここで、ネットワーク管理アプリケーション１０４Ａは、ネットワーク１００内の外部ハードウェア機器の現在の状態の要求を受信する。特に、システム管理者は、ドライバモデルに対応するネットワーク管理アプリケーション１０４Ａにより生成されるユーザインタフェースからＵＲＬを選択して、ネットワーク１００内の外部ハードウェア機器の現在の状態を取得することができる。
【００２９】
動作３２０から、ルーチン３００は動作３２５まで継続する。ここで、ネットワーク管理アプリケーション１０４Ａは選択したデバイスドライバを使用して、対応する外部ハードウェア機器と現状の情報を求めて通信する。例えば、ネットワーク１００内のフロント・エンド・サーバ上のウェブサイトに対する要求が予想外にエラーメッセージを返した場合、システム管理者は、ネットワーク１００内のＤＮＳサーバのデバイスの状態のためのＵＲＬを選択することができる。その後、ルーチン３００は終了する。
【００３０】
図４では、代替の実施形態に従うコンピュータネットワークにおける分散オペレーティング・システム・インタフェースから外部ハードウェア機器を管理するためのルーチン４００を示す。ルーチン４００は動作４０５から動作を開始する。ここで、ネットワーク管理アプリケーション１０４Ａは、ユーザインタフェース内のネットワーク構成動作を実行する要求を受信する。例えば、システム管理者は、ユーザインタフェース内のＵＲＬを選択して、ネットワーク００内の分散オペレーティング・システムにフロント・エンド・サーバを追加することができる。
【００３１】
動作４０５から、ルーチン４００は動作４１０まで継続する。ここで、ネットワーク管理アプリケーション１０４Ａはドライバモデルを使用して、外部ハードウェア機器と通信し、要求されたネットワーク構成動作を実行する際に利用されるタスクを実行する。特に、ネットワーク管理アプリケーション１０４Ａは、要求されたネットワーク構成動作を実行する際に外部ハードウェア機器が実行する必要のあるタスクを自動的に判断し、影響を受ける外部ハードウェア機器のデバイスドライバに適切な設定を通信するために自動的にドライバモデルを利用するように構成することができる。例えば、フロント・エンド・サーバがネットワークに追加される場合、ネットワーク管理アプリケーション１０４Ａは、新規サーバからの増大したトラフィックを処理するためにネットワーク・ロード・バランサ１１６の設定を調整する必要があると判断することができる。この判断をした後、ネットワーク管理アプリケーション１０４Ａは、次に、ネットワーク・ロード・バランサ１１６のドライバモデルを自動的に使用して、ネットワーク・ロード・バランサのデバイスドライバ１４０と通信して、デバイスドライバに必要な設定を調整するように命令することができる。ルーチン４００は、その後、終了する。
【００３２】
図５では、一実施形態に従うコンピュータネットワークにおいて外部ハードウェア機器
を管理するために使用される分散オペレーティング・システムのための例示的なユーザインタフェースのブロック図を示す。ユーザインタフェース５００は、ハードウェア機器を管理するためのＵＲＬ５０２とネットワーク構成のためのＵＲＬ５０４とを含む中央管理ウェブページを備える。ＵＲＬ５０２を選択すると、ユーザ（システム管理者など）は、ロードバランサを管理するためのＵＲＬ５０６、プロキシサーバを管理するためのＵＲＬ５０８、およびＤＮＳサーバを管理するためのＵＲＬ５１０とを含むウェブページ５２０へと案内される。ＵＲＬ５０４を選択すると、ユーザは、フロント・エンド・サーバを追加するためのＵＲＬ５１２、フロント・エンド・サーバを削除するためのＵＲＬ５１４、およびネットワークのシステム状態を要求するためのＵＲＬ５１６とを含むウェブページ５３０へと案内される。
【００３３】
本発明は種々の例示的な実施形態に関連して説明してきたが、当業者は以下の請求項の範囲内であればこれらの形態に多くの変更を加えることも可能であることは理解するであろう。したがって、本発明の範囲は決して上述の説明に限定されるものではなく、むしろ完全に以下の請求項を参考にして決定されるものである。
【図１】
2010532893.tif 000003
【図２】
2010532893.tif 000004
【図３】
2010532893.tif 000005
【図４】
2010532893.tif 000006
【図５】
2010532893.tif 000007
【国際調査報告】
2010532893.tif 000008
2010532893.tif 000009