JP2009205687A - 複数装置管理の方法およびシステム - Google Patents

複数装置管理の方法およびシステム Download PDF

Info

Publication number
JP2009205687A
JP2009205687A JP2009113069A JP2009113069A JP2009205687A JP 2009205687 A JP2009205687 A JP 2009205687A JP 2009113069 A JP2009113069 A JP 2009113069A JP 2009113069 A JP2009113069 A JP 2009113069A JP 2009205687 A JP2009205687 A JP 2009205687A
Authority
JP
Japan
Prior art keywords
controller
job
instance
node
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009113069A
Other languages
English (en)
Other versions
JP5394123B2 (ja
Inventor
Paul C Sutton
シー.サットン ポール
Curt A Steeb
エー.スティーブ カート
Gang Wang
ウォン ガン
Martin L Holladay
エル.ホラデイ マーチン
Zeyong Xu
スー ジョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009205687A publication Critical patent/JP2009205687A/ja
Application granted granted Critical
Publication of JP5394123B2 publication Critical patent/JP5394123B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/026Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using e-messaging for transporting management information, e.g. email, instant messaging or chat
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】データセンタ内などにおける1つのコントローラコンピュータ上でコマンドを実行して、エージェントソフトウェアを含む制御されるコンピュータ上でオペレーションを開始する複数装置管理の方法およびシステムを提供する。
【解決手段】コントローラ202は、メッセージ形式を使用してノードと通信し、データセンタ内の利用可能なノードを表すスキーマ、それらのノードのセットへの編成、ならびに進行中のオペレーションおよび完了したオペレーションの結果を提供する。また、スキーマを使用してノード上およびセットのノード上で行うジョブを管理する。
【選択図】図2

Description

本発明は、ネットワーク上に配置された複数のコンピュータ装置を管理するための方法およびシステムに関する。
本出願は、2001年6月11日出願の米国仮特許出願、出願番号60/297473に対する優先権を主張する。
データセンタは、企業、ならびにストーレッジサービスプロバイダ、ホスティングサービスプロバイダ、およびアプリケーションサービスプロバイダなどの様々なインターネット関連サービスプロバイダを含む多くのタイプの組織に対してコンピュータリソースを提供する。通常のデータセンタは、様々な目的で様々な役割を果たす数百ないし数千のコンピュータを含む。
多数のコンピュータを管理することには、費用がかかり、時間が消費され、誤りが生じやすい可能性がある。例えば、多くのサービスプロバイダは、データセンタを運営するのは、多数のルーチンが手作業で行われるため、労働集約型ビジネスであると認識している。例として、新規の顧客のために新しいサーバをオンラインにすることは、新規の顧客の注文を印刷し、オペレーティングシステムをインストールし、あらゆるアプリケーションをインストールし、オペレーティングシステムおよびアプリケーションを構成し、サーバ装置をデータセンタ内に移動させてネットワークおよび電源に接続することを技術者に行わせることからなる。したがって、新しいサーバをオンラインにすることは、長い時間と高い費用がかかるプロセスであり、また誤りが起こりやすい。
ソフトウェアを介して新規の顧客のために既存のサーバ構成を「再設定」するとき、同様の手作業のプロセスが使用される。実際、再設定のコストは、余りにも高いので、それを行わない方が安上がりであると考えるサービスプロバイダも存在するほどである。費用の一部は、高い費用のかかる手作業でのデータセンタの監査を介してそのような未使用のシステムを配備(locate)することに費やされる。同様に、もはや不必要となったコンピュータを再配備するのではなく、データセンタ内にサーバコンピュータを放置する(オペレーションし、電力を消費しながら)、または再配備しようと試みるのではなく、コンピュータを完全に解体する方が安上がりである可能性がある。
要するに、データセンタを運営するには、実際的な目的では必要であるが、あまり望ましくないいくつかの妥協をすることが必要とされる。例えば、コンピュータを再配備する代りに、そうしない方が安上がりである可能性があるが、このことは、コンピュータシステムがもはや不必要であるときさえ、データセンタが、そのコンピュータシステムをオペレーションさせている(電力、空調、およびネットワークポートを使用しながら)ことを意味する。
別の例として、高い費用がかかるが、様々なサーバを手作業で構成することが、やはり、データセンタのやり方である。しかし、自動化を介してそのような費用を削減することは、これまで、あまり成功していない重要な取り組みである。これが成功していないのは、とりわけ、そのような試みは、複数の外部製品の統合を必要とするという困難があるからである。
簡単に言えば、本発明は、複数装置管理の方法およびシステムを提供し、この方法およびシステムは、とりわけ、1つのコントローラコンピュータ上で単一のコマンドを実行し、ノードと呼ばれる1つまたは複数の他の制御されるコンピュータ上の処理(オペレーション)を開始するメカニズムを提供する。オペレーションは、スクリプト記述された1組のコマンドの実行、2進プログラムの実行、またはいくつかの他のタイプのオペレーションを含むことが可能である。メカニズムは、数セットのコンピュータとともに、あたかもそれらのコンピュータが単一のコンピュータであるかのように機能し、これにより、例えば、コンピュータ装置の管理が大幅に単純化され、データセンタ内でコンピュータ装置を管理する費用が、相当に削減される。
一実施形態では、本発明は、複数の他のコンピュータを管理する1つのコンピュータ上にコントローラ(例えば、プロセス等)を含むアーキテクチャを提供し、複数の他のコンピュータのそれぞれは、コントローラによって管理可能にするエージェントソフトウェアを含む。一般に、コントローラは、自らの管理する複数のノードの中心的表現を提供し、個々に、またはノードが割り当てられることが可能なセットごとに選択されたノードに対して、この中心的表現から処理を開始することができる。コントローラは、ネットワーク通信に関する基礎の置換可能なトランスポート層を使用して、XML(eXtensible Markup Language)から導出されたフォーマットなどのメッセージ交換フォーマットを使用してノードと通信する。
コントローラは、データセンタ内で利用可能なノードを表現する規定の仕方、セットへの利用可能なノードの編成、および進行中のオペレーションおよび完了したオペレーションの結果を提供する。例えば、スキーマを使用して利用可能なノードおよびノードのセット(例えば、通常、管理の都合、オペレーション目的、またはその他の基準などの何らかの基準に従い、管理者によってグループ化された)の表現を継続させる。また、スキーマを使用して待ち状態のオペレーションおよびジョブならびに実行されたオペレーションおよびジョブとともに、コントローラにとってアクセス可能な記憶装置上に各処理の結果のレコードを記憶することができる。
その他の利点は、以下の詳細な説明を図面と併せて考慮することにより、明白となる。
本発明によれば、複数装置管理の方法およびシステムを提供し、この方法およびシステムは、とりわけ、1つのコントローラコンピュータ上で単一のコマンドを実行し、ノードと呼ばれる1つまたは複数の他の制御されるコンピュータ上の処理(オペレーション)を開始するメカニズムを提供する。オペレーションは、スクリプト記述された1組のコマンドの実行、2進プログラムの実行、またはいくつかの他のタイプのオペレーションを含むことが可能である。メカニズムは、数セットのコンピュータとともに、あたかもそれらのコンピュータが単一のコンピュータであるかのように機能し、これにより、例えば、コンピュータ装置の管理が大幅に単純化され、データセンタ内でコンピュータ装置を管理する費用が、相当に削減される。
本発明を組み込むことができるコンピュータシステムを表すブロック図である。 本発明の態様による複数のノードを管理するためのネットワークに接続されたコントローラコンピュータを表すブロック図である。 本発明の態様によるコントローラコンピュータの中の様々な例としての構成要素、および当該のコントローラコンピュータによって管理されるノードの1つ内部の様々な例としての構成要素を表すブロック図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による利用可能なノード、セット、オペレーション、および/またはジョブ等の表現を継続させるための適切な定義されたスキーマを表す図である。 本発明の態様による1つまたは複数の選択されたノード上でオペレーションを行うための一般的論理を説明する流れ図である。 本発明の態様によるノード上で要求された処理を行うための一般的論理を説明する流れ図である。 本発明の態様による、得られるオペレーションの結果、ならびにオペレーションの結果を決定するコントローラ上のオペレーションを開始したユーザ・インターフェース、スクリプト、またはプロセスを一般的に表す流れ図である。
例としてのオペレーション環境
図1は、本発明を実装することができる適切なコンピュータシステム環境100の例を示している。コンピュータシステム環境100は、適切なコンピュータ環境の一例に過ぎず、本発明の使用または機能性の範囲に関するいかなる限定を示唆するものでもない。また、コンピュータ環境100は、例としてのオペレーション環境100に示す構成要素にいずれか1つまたはその組み合わせに関連するいかなる依存関係または要件を有するものとしても解釈されるべきではない。
本発明は、他の多くの汎用または専用のコンピュータシステム環境またはコンピュータシステム構成でオペレーションする。本発明とともに使用するのに適する可能性のある周知のコンピュータシステム、コンピュータ環境、および/またはコンピュータ構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド型装置またはラップトップ型装置、タブレット型装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、ルータ、以上のシステムまたは装置のどれかを含む分散コンピュータ環境等が含まれるが、それらには限定されない。
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストにおいて説明することができる。一般に、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。本発明は、一般に、通信網を介してリンクされた遠隔処理装置によってタスクが行われる分散コンピュータ環境において実施されるものとする。分散コンピュータ環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよび/または遠隔のコンピュータ記憶媒体の中にあることが可能である。
図1を参照すると、本発明を実施するための例としてのシステムが、コンピュータ110の形態で汎用コンピュータ装置を含み、コンピュータ110は、ノードを制御するための図2のコントローラコンピュータ210としてオペレーションすることができる。コンピュータ110の構成要素には、処理装置120、システムメモリ130、およびシステムメモリを含む様々なシステム構成要素を処理装置120に結合するシステムバス121が含まれることが可能であるが、それらには限定されない。システムバス121は、様々なバスアーキテクチャのどれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプバス構造のどれであることも可能である。例として、限定としてではなく、そのようなアーキテクチャには、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびMezzanineバスとしても知られるPeripheral Component Interconnect(PCI)バスが含まれる。
コンピュータ110は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110がアクセスすることの可能な任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、ならびに取外し可能の媒体と取外し不可能の媒体をともに含む。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または任意の技術で実装される揮発性と不揮発性、取外し可能と取外し不可能の両方の媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)または他の光ディスクストーレッジ、磁気カセット、磁気テープ、磁気ディスクストーレッジまたは他の磁気記憶装置、または所望の情報を記憶するのに使用することができ、コンピュータ110がアクセスすることのできる他の任意の媒体を含むが、それらには限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号または他のトランスポートメカニズムでコンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータを実現し、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、その特性セットの1つまたは複数を有する、または信号の中に情報を符号化するように変化させられた信号を意味する。例として、限定としてではなく、通信媒体は、有線網または直接有線接続などの有線媒体、ならびに音響、RF、赤外線などの無線媒体および他の無線媒体を含む。また、以上のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれる。
システムメモリ130は、読取り専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性および/または不揮発性メモリの形態でコンピュータ記憶装置を含む。始動中などに、コンピュータ110内の要素間における情報の転送を助ける基本ルーチンを含む基本入力/出力システム133(BIOS)が、通常、ROM131の中に記憶されている。RAM132は、通常、処理装置120にとって即時にアクセス可能であり、かつ/または処理装置120によって現在、演算が行われているデータおよび/またはプログラム・モジュールを含む。例として、限定としてではなく、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
また、コンピュータ110は、他の取外し可能/取外し不可能の揮発性/不揮発性コンピュータ記憶媒体も含むことが可能である。単に例として、図1は、取外し不可能の不揮発性磁気媒体に対して読取りまたは書込みを行うハードディスクドライブ141、取外し可能の不揮発性磁気ディスク152に対して読取りおよび書込みを行う磁気ディスクドライブ151、およびCD ROMまたは他の光媒体などの取外し可能の不揮発性光ディスク156に対して読取りおよび書込みを行う光ディスクドライブ155を示している。例としてのオペレーション環境で使用することのできる他の取外し可能/取外し不可能の揮発性/不揮発性のコンピュータ記憶装置には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等が含まれるが、それらには限定されない。ハードディスクドライブ141は、通常、インターフェース140などの取外し不可能のメモリインターフェースを介してシステムバス121に接続され、また磁気ディスクドライブ151および光ディスクドライブ155は、通常、インターフェース150などの取外し可能メモリインターフェースでシステムバス121に接続される。
前述し、図1に示したドライブおよび関連するコンピュータ記憶媒体は、コンピュータ110に対してコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストーレッジを提供する。図1では、ハードディスクドライブ141が、記憶オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147として示されている。以上の構成要素は、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じ、またはそれらとは異なることが可能である。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147には、少なくとも異なるコピーであることを示すため、本明細書では、異なる番号を付している。ユーザは、一般にマウス、トラックボール、またはタッチパッドと呼ばれるタブレット、または電子デジタイザ164、マイクロホン163、キーボード162、およびポインティングデバイス161などの入力装置を介してコマンドおよび情報をコンピュータ20に入力することができる。図1に示していないその他の入力装置には、ジョイステック、ゲームパッド、サテライトディッシュ、スキャナ等が含まれる可能性がある。以上およびその他の入力は、しばしば、システムバスに結合されたユーザ入力インターフェース160を介して処理装置120に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースおよびバス構造で接続されることも可能である。また、モニタ191またはその他のタイプの表示装置も、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。また、モニタ191は、タッチスクリーンパネル等と統合することも可能である。モニタおよび/またはタッチスクリーンパネルは、タブレット型パーソナルコンピュータの中など、コンピュータ装置110が組み込まれたハウジングに物理的に結合することができる。さらに、コンピュータ装置110などのコンピュータは、出力周辺インターフェース194等を介して接続することが可能なスピーカ195およびプリンタ196などの他の周辺出力装置を含むことも可能である。
コンピュータ110は、一般に、ネットワーク化された環境の中でオペレーションして、ノード204あるいはノード2041〜204nと呼ぶいくつかの遠隔サーバコンピュータ180を制御する(図2および3)。通常、そのようなノードは、前述したコンピュータ110の構成要素のいくつか、またはそのすべてを含む。ノードは、キーボード、マウス、ディスプレイなどのユーザインターフェースメカニズムを含まない可能性がある。そのようなノードは、ネットワーク化された環境の中の他のコンピュータ、またはユーザにサービスを通常、提供する様々なプログラムを実行することができる。そのようなプログラムの例には、Webページを提供する、またはデータベースを管理するプログラムが含まれる。例として、限定としてではなく、図1は、遠隔アプリケーションプログラム185が、メモリ装置181上に常駐しているのを示している。示したネットワーク接続は、例としてのものであり、コンピュータ間において通信リンクを確立する他の手段も使用できることが理解されよう。
複数装置管理
図2は、コントローラコンピュータ202(図1のコンピュータシステム110に該当することが可能である)、およびノード2041〜204nと呼ばれる複数の管理されたコンピュータ装置(図1の遠隔コンピュータ180に該当することが可能である)を含むアーキテクチャ200を一般的に表すブロック図である。ただし、本発明の態様は、データセンタ内で使用するのに適するが、そのような態様は、1つまたは複数のコンピュータ上で1つまたは複数のタスクを行う必要がある任意の環境において適用可能であることに留意されたい。例えば、複数のコンピュータおよびサービス(PDA、モバイルコンピュータ、デスクトップシステム、ホームメディアセンタシステムなどの)を有するユーザが、本発明を使用してそのような複数の装置にわたるオペレーションを実行することが可能である。したがって、データセンタ環境の中で一般的に説明しているが、本発明は、特定の1つまたは複数の構成に限定されるべきものではなく、以上に提示したコンピュータ装置の実質的にあらゆる構成、ならびにパーソナルコンピュータ、サーバ、ルータ、および様々な記憶装置とともに使用することが企図される。
通常のデータセンタは、多数の異なるコンピュータを含む。データセンタの管理をより容易にするため、管理者等が、コンピュータのどれかをコントローラコンピュータ202(またはコントローラ202)として指定する。とりわけ、本発明の一態様に即して、コントローラコンピュータ202は、データセンタ内のコンピュータ、コンピュータがどのように構成されているか、またコンピュータ上でどのようなオペレーションを行うことができるかについてのマスタレコードを保持する。コントローラは、ローカルで接続されたデータスストア(例えば、図3に一般的に表すとおりの)の中に、または遠隔データストア上にこのデータを記憶することができる。ノード2041〜204nは、コントローラ202によって管理されていることが可能であるデータセンタ内のコンピュータを含む。ノードは、Webページを提供すること、またはデータベースを管理することなどのデータセンタの実際の作業を行うノードプログラム2061〜206nを含む。
本発明の一態様によれば、データセンタ内の数百または数千のコンピュータを操作するため、管理者は、コンピュータに論理的オーガニゼーションを適用する。つまり、管理者は、データセンタ内のすべてのノードの単なるリストの代りに、論理構造としてノードを表すセットに様々なノード2041〜204nをグループ化する。単一のデータセンタに関してコンピュータの複数のそのような構造が、例えば、顧客または機能ごとにグループ化されて存在することが可能であり、またノードは、複数のセットに属することが可能である。セット情報は、コンピュータを、例えば、Unicode文字で命名されたセットに配置することにより、コントローラによって維持されるデータストア302(図3)の中に、コントローラサービス208等によって記憶される。セットを介して、管理者は、論理的に編成されたグループのコンピュータをあたかも単一のコンピュータであるかのように操作することができる。データセンタ内に複数のコントローラが存在する場合、コントローラをグループ化することも実施可能であることに留意されたい。
セットを確立し、維持するため、1つまたは複数のアプリケーション、プロセス、スレッド、オブジェクト、および/またはその他のソフトウェア構成要素を含む管理プログラム210等は、1つまたは複数のユーザインターフェースを介するなどして、管理者が、コントローラサービス208と対話できるようにする。管理プログラム210により、管理者は、セットを作成し、ノードをセットに追加し、セットからノードを除去し、セットを削除し、セットの中の現在のノードをリストし、ノードが属するセットをリストすることができるようになる。
例えば、データセンタ管理は、ノードコンピュータの構成に様々な概念上の構造、ノードコンピュータが、データセンタ内の物理的位置(例えば、ケージ、ラック、およびスロットロケーション)によって識別される物理レイアウトに対応する構成などの構造を適用することができる。データセンタのこの見方により、管理部門は、例えば、ノードを取り替えることが必要な場合、ノードの物理ロケーションを探し出すことができる。あるいは、物理レイアウトセットにより、管理部門は、新しく購入されたコンピュータ(ノード)の設置場所を指定することができる。
各ノードを使用する顧客ごとにノードを編成する論理構造を含め、データセンタ内のノードを編成する他のやり方が存在する。これにより、管理者は、顧客と、その顧客によって現在、使用されている1つまたは複数のノードの間でマッピングを行い、特定の顧客の使用を追跡または監視する、またはその顧客のすべてのノードに変更を加えるようにすることができるようになる。データセンタの別の論理的な見方は、機能ごとにノードを編成することであり、機能とは、ノード上で実行されるアプリケーションである。例えば、特定のノードを、それらがWebサーバ、メディアサーバ、またはデータベースであるという理由でグループ化することができる。機能ごとにデータセンタを見ることにより、管理部門は、ある処理(特定のアプリケーションにパッチを適用するなどの)を、それ必要とするノードだけに対して行うことができる。以上は単なる例であることに留意されたい。というのは、例えば、ネットワークトポロジ(特定のスイッチに接続されたノードまたは負荷平衡)による、VLANによる、顧客サービスレベルによる、マシン機能による、および/またはインストールされたOSおよびサービスパッチレベルによって編成するというように、データセンタの管理部門が、自らのデータセンタ内のノードを編成するのを望む可能性があるやり方には、他の様々なものが存在するからである。次の例としてのテーブルで提示するとおり、任意の所与のノードを任意の数のセットにグループ化することができることに留意されたい。
Figure 2009205687
本発明のこの態様に即して、ノードをセット(例えば、簡単な名前で区別される)にグループ化できることは、様々なオペレーションのパフォーマンスを単純化する。例えば、セットは、ある顧客によって使用中のノードコンピュータを、その顧客が問題を報告したときに識別することができ、したがって、それらのノードコンピュータのステータスに迅速にアクセスし、問題を解決することができる。ノードから収集された監視情報は、特定の顧客のためにWebサイトを介して閲覧可能な形態などに集約して、顧客が、自らのマシンのステータスをアクセスして見ることができるようにするのが可能である。ノードは、リソース消耗(例えば、ディスク空間が不足する)について監視し、マシンを使用して顧客のための警報を生成することができる。警報は、顧客に報告され(例えば、電子メールで)、かつ/または顧客に接触して、例えば、よりよいハードウェアまたは追加のサーバに構成をアップグレードするように勧めるため、販売スタッフによって使用可能である。
本発明の別の態様によれば、データセンタを管理するため、開始プロセス304を介するなどして、コントローラサーバ208上でオペレーションを開始することにより、データセンタ内の1つまたは複数のノードに対してオペレーションが行われる。図3で、開始プロセス304は、管理プログラム210の一環として表されているが、理解されようが、開始プロセスと管理プログラムは別々であることが可能であり、実際、開始プロセスは、スクリプトまたはその他の実行可能コードとすることが可能であることに留意されたい。さらに、簡明にするため、図3は、1つのノード204だけを示しているが、理解されるとおり、コントローラ202は、例えば、一度に、または何らかの順序で、複数のノードを制御できることに留意されたい。
図3に一般的に表すとおり、コントローラコンピュータ202上で、本発明のコントローラサービス204のコントローラプログラム306は、スキーマインターフェース310を介してアクセスされ、実行される。このスキーマ(図4〜図12で一般的に示す)は、データセンタ内の利用可能なノード、セット、利用可能なオペレーション、および各オペレーションを実行することの結果の表現を提供する。一般に、コントローラコンピュータ202上で、コントローラサービス208は、スキーマインターフェース310、コントローラプログラム306、およびデータストア302を含むものと見なすことができる。コントローラサービス208にアクセスするのを望むどのプロセス、スクリプト、またはユーザインターフェースも、スキーマインターフェース310を介してそれを行う。コントローラプログラム306は、行うべき処理を決定する。この処理は、データストア302にアクセスすること、および/またはトランスポート層212を介して1つまたは複数のノード(ノード204などの)と通信することが含まれる。例えば、結果データ、および表現(representation)を管理者に提供するのに必要とされるその他の情報は、一般に、データストア302の中に保持される。データストアには、管理者が、スキーマインターフェース310を介してアクセスすることができる。通常の実施形態では、スキーマインターフェースは、本発明の譲受人に譲渡された米国特許第出願番号09/020146に記載されるような、コンピュータプロセスおよびコンピュータ装置を表現するためのCommon Information Model(CIM)標準から導出することが可能である。
一般に、オペレーションを行うためには、まず、管理プログラム210を介するなどして、そのオペレーションが行われる1つまたは複数のノードまたはノードのセットが選択される。その選択は、単一のコンピュータ、セットの中のすべてのコンピュータ、いくつかのセットの中のすべてのコンピュータ、または個々のコンピュータとセットの中のコンピュータが混合したものを指定することができる。選択からは、例えば、2つ以上の選択されたセットを介して同一のノードが指定されている場合、あらゆる重複を取り除くことができる。セットが、データセンタのオーガニゼーションの管理者によって選択された表現であるのに対し、選択は、一般に、少なくとも1つのオペレーションがそれに対して行われるように一時的に指定されたコンピュータの集合である。このため、選択は、セットとは異なっていることに留意されたい。言い換えれば、セットメンバ(およびセット自体)は、時間の経過とともに変化する可能性があるが、コンピュータノードのオーガニゼーションの継続する表現であるのに対し、選択は、特定のオペレーションの意図的な目標を表すコンピュータノードの一時的セットである。選択は、所与の集められた数のコンピュータに対してオペレーションまたは一連のオペレーションを行う必要があるときに作成される。オペレーションまたは一連のオペレーションが完了すると、選択の表現は、データセンタ内のコンピュータのオーガニゼーションに関する情報を失うことなしに、削除することができる。選択は、「一時的」セットと見なすことができる。いくつかの実施形態では、選択は、選択が、単一のセットまたは単一のノードだけを含むことができる縮退(degenerate)ケースに限定することができる。
管理者が行うことができる特定のオペレーション(例えば、管理プログラム210を介して)には、選択を作成すること、選択を削除すること、および選択中のコンピュータをリストすることが含まれる。一実施形態では、選択は、コントローラ202上に記憶され、各選択は、選択が作成されたときに割振られた固有のシリアル番号で識別される。選択は、数千のコンピュータを含むデータセンタ内のオペレーションをサポートすることができ、各選択は、1つからデータセンタ内のメンバの総数まで、任意の数のコンピュータを含むことが可能である。どのオペレーションがどの装置上で実行されるかを追跡するため、レコードが保持され、これにより、何が実行されたかの監査を提供する。この監査は、通常、定期的にアーカイブされ、消去される。
データセンタ環境においては、コントローラ202は、データセンタ(少なくともその一部分の)の制御ポイントであり、データセンタに関する情報のリポジトリであることに留意されたい。この結果、そのような環境においては、コントローラは、災害が生じた場合、高度に使用可能であり回復可能である必要がある。可用性に関して、コントローラは、複数のクラスタ化されたマシンの共用ディスククラスタ環境を含むことができ、この環境では、いくつかのクラスタ化されたコンピュータに障害が起きても、コントローラ202のオペレーションに影響を与えないことが可能である。災害時回復に関して、グループ、スクリプト、スクリプトコード、ならびに前に完了したジョブおよび処理中のジョブの結果の詳細を含め、コントローラの状態をバックアップすることができる。バックアッププロセスは文書化して、管理者または他のサービスが、バックアップを定期的に行うために使用することができるスクリプトにカプセル化することができる。バックアップの後、コントローラ状態は新しいコントローラ上で復元する必要があり、またさらに、新しいコントローラは、前のコントローラによって前に制御されていたノードを管理下におく必要がある。同時に、不正コントローラがノードを管理下におくことができないよう、セキュリティが提供される。
ノード上で実行できるスクリプトは、コントローラ202上で(例えば、データストア302内のスクリプトデータベースの中、または別の場所に)記憶する。スクリプトは、目標ノード上で利用可能である任意のスクリプトホストを使用するように書くことが可能である。スクリプトデータベースは、遠隔ノード上で実行するのに利用可能なスクリプトに関する情報を含み、スクリプト自体は、コントローラのファイルシステム上に記憶することができ、データベースが、スクリプトに対するパスを含む。一実施形態では、スクリプトは、コントローラのファイルシステム上のいずれかの場所に置かれる。管理プログラム210等により、ファイルシステム上のスクリプトの作成および編集、スクリプトデータベースの中のスクリプトエントリの作成、スクリプトエントリの編集、スクリプトエントリの削除、スクリプトを使用する可能性のあるジョブ(以下に説明する)の作成、ジョブの削除、ジョブの編集、ジョブの実行、ジョブのステータスおよび結果の検索が可能になる。
本発明の一態様によれば、1つまたは複数の選択されたノード上でオペレーションまたは一連のオペレーションを行うため、選択が終わると、コントローラサービス208が、実行されるべきジョブを含むあるメッセージ(または複数のメッセージ)を作成する。メッセージは、好ましくは、XMLを使用してフォーマットされ、コントローラ上のメッセージ交換プロトコルおよびトランスポート層プロトコル212、ならびに選択中で指定された1つまたは複数のノードのそれぞれの上の対応するプロトコル2141〜214nを使用して、各選択された目標ノード(例えば、図3のノード204)に送信される。簡明にするため、コントローラプログラム306は、定義されたXMLメッセージ交換プロトコル314(図3)を使用して、ノードコンピュータ204上のエージェントプログラム312を含むエージェントサービス218と直接に通信するものと見なすことができ、一方、コントローラ202上のトランスポート層212は、トランスポートプロトコル316(図3)を使用してノード204上のトランスポート層214と直接に通信するものと見なすことができる。トランスポート層212は、コントローラから複数のノード2041〜204nにメッセージを確実に送信することができ、ノード204が、メッセージをコントローラ202に送信するために使用することができる任意のシステムを含む。例えば、コントローラから複数のノードにメッセージを送信するために、マルチキャストを使用することができる。マルチキャストが利用可能ではない場合、またはターゲットが、単一のノードである場合、ユニキャストを使用することができる。代替のトランスポート層としては、メッセージを含めるのに標準のHTTPプロトコルを使用し、ユニキャストを使用することである。
一実施形態では、コントローラ202とノード204の間における通信は、Multiple Device Management(MDM)プロトコルを使用してスクリプトをエージェントサービス218に送信し、スクリプトを実行した結果を戻し、2進実行可能コードを実行するようにエージェントサービス218に告げ、エージェントサービス218を介してノード204上で他のオペレーションを実行し、エージェントサービス218からコントローラ202に警報およびイベント情報を送信する。この実施形態では、MDMプロトコルは、Sender−side Guaranteed Multicast(SGM)を使用することなどにより、コントローラと1つまたは複数のエージェントの間においてネットワーク通信を確実に提供するトランスポート層プロトコル上でオペレーションする。本発明は、メッセージ交換プロトコルおよび/またはトランスポートプロトコルを介する論理通信によって主に説明するが、基礎となる物理ネットワーク216(有線であれ、無線であれ)がコントローラ202とノード2041〜204nを接続するものと理解されることに留意されたい。
1つの一般的タイプのオペレーションの例として、管理者は、コントローラコンピュータ202を介して、1つまたは複数の選択されたノード上で1組のコマンド(例えば、スクリプト)を実行する。これは、一般に、ノードの選択、およびメッセージを選択したノードに送信することによって達せられる。スクリプトに加えて、メッセージ交換プロトコル314は、事前コンパイルされたプログラム、またはその他のあるオペレーションの実行などの代替のタイプのオペレーションを可能にするように拡張可能である。
本発明のその他の態様によれば、ノード204は、エージェントプログラム312を含むエージェントサービス218を含む。一般に、エージェントサービス218は、コントローラ202の要求時に処理を行うこと、ならびに警報およびイベントをコントローラ202に送信することを担う。この目的で、エージェントプログラム312は、コントローラ202から通信(メッセージ)を受信し、メッセージの中で指定された要求される1つまたは複数の処理をどのように行うかを決定し(存在する場合)、また必要に応じて、処理を任意の引数(パラメータ)とともに適切な実行エンジン320に渡す。例として、コントローラ202が、エージェントプログラム318にスクリプトを送信する場合、実行エンジン320は、通常、対応するスクリプトインタープリタである。また、エージェントプログラムは、ノード204上における2進実行可能コードの実行などの、コントローラとコンピュータの間におけるプロトコルの一環である何らかの他のオペレーションも可能にしている。2進実行可能コードを送信する代りに、コントローラ202は、好ましくは、ノード204のためにそのコードに関するネットワークアドレスを送信して、そのコードをそのロケーションから実行するか、またはそのコードをダウンロードして実行することに留意されたい。完全にするため、ノードオペレーティングシステム220、ならびにコントローラオペレーティングシステム222を示している。
スクリプトおよびプログラムの実行に加えて、リブート、シャットダウン、またはサスペンド(低電力状態に移行する)などの他のオペレーションが、制御されるノードに要求される可能性がある。そのようなオペレーションが、即時に行われた場合(スクリプトを介するなどして)、ノード204は、結果をコントローラに提供できない可能性があるからである。代りに、そのようなオペレーションは、コマンドメッセージが受信され、理解されたことを基本的に明言する結果をコントローラ202にまず通信する特別機能取扱い構成要素322によって行われる。結果を送信した後、ノードは、要求を満たす適切な処理を行う。
要するに、MDMプロトコルにより、コントローラ202は、エージェント上でスクリプトを実行すること、標準のスクリプト記述ホストを使用すること、またはエージェント上で2進コードを実行することなどの特定のオペレーションを実行するように1つまたは複数のノードに要求することができる。プロトコルは、実行されるオペレーションの理解はしておらず、これにより、プロトコルが単純なままに保たれ、特別ケースオペレーションが回避される。ただし、いくつかのオペレーションは、プロトコル自体のオペレーションに対する影響を有し、したがって、プロトコルの中で表現される。そのような特別オペレーションには、ノードコンピュータをリブートすること、サスペンドすること、またはシャットダウンすることが含まれる可能性がある。また、MDMプロトコルは、コントローラが、ノードを制御するために最初にノードと通信するときなどの、管理情報を交換することを可能にする。
また、MDMプロトコルは、スクリプトまたはバイナリ、あるいは特別オペレーションを実行した結果をコントローラ202に送り返すのに使用される。ノード警報およびノードイベントをMDMプロトコルならびにハートビートを介して送信して、ノードが適切にオペレーションしていることをコントローラに定期的に知らせることができる。間隔情報は、構成可能であり、またコントローラ202は、MDMプロトコルを介して間隔情報をノードに送信することができる。
オペレーションの結果を受信すると、コントローラ202は、オペレーションのレコードを保持する。この目的で、ノード2041〜204nから結果が入ってくるにつれ、結果は、戻されたメッセージから抽出されて、データベース302の中に記憶される。これは、各ノードごとに各オペレーションの継続中の完全なレコードを提供する。管理者またはプロセス(スクリプトなどの)は、コントローラ202上でこの情報を問い合わせて、各ノード上のオペレーションの成功を判定することができ、必要な場合、障害を調査または解決することができる。メッセージフォーマットは、ノード上のあらゆる警報のステータスを含め、各ノードの状態に関する情報をコントローラが保持するための手立ても提供する。
理解されようが、スクリプトの実行およびその他の処理の実行を含む、様々なエージェントサービスオペレーションが、データセンタ内のサーバに対して任意の操作を行う相当な柔軟性を管理者に与える。例えば、多くの通常の管理オペレーションでは、既成の試験済みのスクリプトを、事前構成されたサーバであることが可能なコントローラまたはノードコンピュータとともに提供する。そのようなスクリプトは、データセンタの管理者に、一般のオペレーションのためにデータセンタ内のサーバを管理する能力を与え、使用の準備のできたコントローラ202とともに提供する。さらなるスクリプトが、特定の機器サーバ等(キャッシュ機器などの新しいタイプの機器を含む)とともに提供される。そのような場合、管理者は、コントローラ202にスクリプトをロードし、この新しいスクリプトに関して知るためにコントローラプログラム306を構成するだけでよい。さらに、ノードコンピュータは、例えば、機能に基づき、関係のあるスクリプトを搭載して出荷し、このスクリプトをコントローラ202に自動的に提供することが可能である。特別な状況に関して、カスタムスクリプトを書き、試験して、新しいスクリプトに関して知るためにコントローラを構成することによってコントローラ202に追加することができる。
前述したとおり、各ノードコンピュータは、エージェントサービス218を含む。任意の所与のコントローラと同様に、エージェントのインストールは、ノードとともに提供される、例えば、コンピュータは、インストールを全く必要としない機器として出荷されることが可能である。あるいは、エージェントサービスは、管理されるべき各コンピュータに対してインストールを行う供給されたインストールスクリプトを介するなどして、インストールする必要のある別個のソフトウェアを含むことが可能である。
データセンタの処理の負担を単純化するため、エージェントサービス218を含むコンピュータをブートしたとき、エージェントサービス318が、Universal Plug−n−Play(ネットワーク上の自動検出コンピュータ装置に関する標準であるuPnP)によって提供されるような自動検出プロトコルを介するなどして、検出構成要素330を介して自らの存在をネットワーク上で自動的に同報通信することが可能である。複数のネットワークインターフェースカード(NIC)を有するノード上では、同報通信を行うのに使用されるNICを制限することができ、例えば、複数のNICが使用される場合には、次のリブートまで、応答するコントローラを含む最初ののNICだけが使用される。
コントローラ202は、検出リスニングプロセス332を介して同報通信を認識し、コンピュータが、コントローラが知っているコンピュータに関するコントローラの表現の中に既に存在していない場合、同報通信を行うコンピュータが追加され、コントローラは、そのコンピュータをノードとして参照する。この目的で、コントローラ202は、自動検出同報通信を認識したとき、自らが、そのノードについて既に知っているかどうかを判定する。既に知っている場合、そのノードは、データセンタ内で前にブートされたことがあり、制御されないノードまたは制御されるノードのリストの中にある。それが制御されるノードである場合、コントローラ202は、そのノードの制御を再確立する。どちらの場合も、コントローラは、ノードレコードにマークを付けて、ノードがネットワーク上でブートされたことを示す。ノードが、コントローラによって知られていない場合、コントローラ202は、それに応答して、そのノードに関する情報を自らの内部データベース302に追加する。コントローラ202によって獲得される情報は、ノードの固有識別子(ネットワークインターフェースカードのBIOS GUIDまたはMACアドレスなどの大域的に固有のハードウェア識別子など)。ノードは、新しく検出されたとき、まず、制御されないノードと見なされ、管理者は、そのノードをコントローラ202によって制御されるノードにするかどうかの決定を行うことができる。
制御を単純化することに加えて、自動検出は、新しいマシンの自動構成の使用方法をさらに提供する。例えば、管理者は、すべての新しいマシンに対して、所与の1組のコマンド、例えば、新しいシステムをインベントリに記入するか、または現在、必要とされるホストフィックスを適用するか、あるいは所与の顧客に合せてそのマシンを構成するコマンドを実行するかを指定することができる。次に、管理者は、新しいコンピュータがコントローラ上に追加されたときに生じたイベントを消費するスクリプトを書き、適切な処理を行うことができる。検出の後、管理者は、データセンタ内のすべての新しいノードをリストすることができ、必要に応じてそれらのノードをセットに追加する、またはそれらのノードに対するオペレーションを行うことができる。容易に理解できるとおり、データセンタ内で新しいコンピュータを探し出すための自動検出メカニズムを使用することにより、すべての新しいコンピュータに関して情報(例えば、名前、シリアル情報およびIP情報)を手作業で入力しなければならないことがなくなり、したがって、可能なデータエントリの誤りが回避される。このようにして、管理者は、データセンタ内容に関するインベントリ情報を保持するのを助ける、利用可能なコンピュータノードのオンライン参照リストを保有する。
セキュリティを提供するため、本発明は、データセンタの管理者によって許可されていないコントローラソフトウェアおよびエージェントソフトウェア(それぞれ、「不正コントローラ」および「不正エージェント」)に対して防御を行う。データセンタの管理者の管理下にあるコントローラおよびエージェントは、それぞれ、「承認されたコントローラ」および「承認されたエージェント」と呼ばれる。この目的で、いくつかのコントローラが存在する可能性があるネットワーク上に自動検出情報を同報通信するノードは、最初に応答するコントローラからの応答だけを受け入れるように構成される。ノードは、公開キー、秘密キー技術を使用して応答を受信すると、以降、そのコントローラおよび他の承認されたコントローラからの制御情報だけを受け入れる。通常、これは、ノードを最初に制御したコントローラだけとなるが、コントローラに障害が起き、取り替える必要があることが予期される。ただし、そのような取替え用コントローラは、秘密キーを介して承認される。応答する最初のコントローラが、不正コントローラである可能性があり、その場合、ノードは、データセンタの制御から失われることになるが、これは、エージェントを最初にブートする前にエージェントの上に適切な証明書データを配備することによって回避できることに留意されたい。新しいノードが、不正コントローラに取られた場合、データセンタの管理者にとってリソースの損失が生じる可能性があるが、不正コントローラは、ノード上の顧客情報に対するアクセスを全く有さない。
コントローラとノードの間で承認が確立されると、そのノードは、制御されるようになり、承認されたコントローラは、ノードの制御を引き継ぐことができる(例えば、元のコントローラに取って代るため)が、不正コントローラは、ノードの制御を引き継ぐことができない。不正コンピュータは、ネットワークをスニフィングすることもできるので、機密情報は、暗号化されずにネットワーク上で渡されることはなく、暗号化は、セキュリティ確保されたメッセージの目標ノードだけが、そのメッセージを暗号化解除できるようになっている。オペレーションは、呼び出されたとき、通信を暗号化する必要があるかどうかを指定することができる。これは、開始プロセスの要求で行われる、またはスクリプトデータベースの中で暗号化を必要とするものとしてスクリプトにマークが付けられているために行われる可能性がある。
コントローラ202によって保持されるデータストア302は、定義されたスキーマとして構成される。一般に、コントローラは、データセンタ内のノードの詳細、セット情報、利用可能なオペレーション、現在、進行中のオペレーション、および完了したオペレーションの結果を保持する。必要ではないが、便宜のため、このデータベーススキーマは、管理プログラム304がそれを介してコントローラプログラム306およびデータストア302とインターフェースを取る(スキーマインターフェース310を介して)オブジェクトモデルスキーマと同様に構成される。一実施形態では、オブジェクトモデルスキーマは、定義されたオブジェクトの形態で情報を表現するが、一般には、データベーススキーマは、照会されたときにオブジェクトを構築するのに使用されるレコード等を保持することに留意されたい。スキーマを一般的に図4〜図12に表しており、また、付録Aでさらに説明している。ただし、説明するスキーマは、一例に過ぎず、本発明は、データを保持または提示する特定のやり方は、全く対象としていない。
したがって、コントローラ202は、データベースの中に各ノードに関するある量の情報を保持する。例えば、各ノードは、通信関連データ(例えば、TCP−IPホストネーム)、固有識別子、およびその他の各種データを含む装置データ構造で表現される。この情報のほとんどは、ノードの名前などの、ノードの状態のキャッシュされた表現である。キャッシュされた情報には、次のテーブルに提示する項目が含まれる可能性があり、このテーブルは、ノード上で情報が変化した場合、どのようにその情報がコントローラ上で更新されるかに関する詳細も含む。
Figure 2009205687
コントローラ上で保持されるノードに関する情報のその他の項目には、以下が含まれる。
Figure 2009205687
ノードは、ノード名(ノードの名前の短縮形、例えば、「server07」)やノード上のNICカードのMACアドレスなどの様々な情報によってコントローラ上で識別される。ノード名は、コントローラ上のノードレコードに関する固有識別子として使用することができる。ノードがブートするたびに毎回、自動検出を使用して、これら両方の情報がノードからコントローラに送信される。自動検出が、ネットワーク上において利用可能ではない場合には、管理者は、少なくともノード名を含むノードレコードを手作業で追加する必要がある。
また、ノード名は、ノードと通信するためにコントローラ202によって使用されることも可能である。一実施形態では、コントローラは、DNSを使用して名前をIPアドレスにまで解決する。これは、ノード名を管理NIC上のIPアドレスにマップするDNSサーバに対するアクセスをコントローラが有するのを管理者が確実にする必要があることを意味する。DNSサーバは、静的データに基づき、または動的DNSを使用して現在のサーバ名およびIPアドレスを把握していることが可能である。管理ネットワークが、現在、DNSサーバを有さない場合には、コントローラ自体をDNSサーバとして使用できることに留意されたい。ノード上のIP変更を見張り、コントローラに更新を送信するプロセスなどの動的DNSに対する同様のプロセスも使用することができる。ノードが制御されるようになると、コントローラは、ノードに対する永久接続を確立する。
自動検出は、ノードと、マルチキャスト検出パケットの転送をサポートするコントローラの間のネットワークに基づき、例えば、パケットは、事前定義された(固定)マルチキャストIPアドレスおよびポートに対してノードによって送信される。すべてのデータセンタ環境が、マルチキャスト転送をサポートするわけではないので(例えば、ルータの限界またはポリシーのため)、データセンタは、マルチキャストドメインごとにコントローラを使用するように(通常、サブネットごとに1つのコントローラ)、または自動検出なしにオペレーションするように、その他のモードでオペレーションすることが可能である。その場合、そうでなければ自動であるいくつかのオペレーションが、手作業で行われる。
管理されるノードがリブートするとき、コントローラは、ノードに対するあらゆる永久接続を解く。現在の実施形態で、コントローラ202は、通信を自動的に再確立しようと試みるのではなく、ノードからの自動検出パケットを待つ。コントローラ202は、このパケットを受信したとき、ノードが利用可能であることを知り、そのノードとの接続を再確立する。自動検出が作業上、利用可能でない場合、管理者は、適切なメソッド、例えば、Controller.RecoverManagedNodeメソッドを介するなどして、コントローラとリブートされたノードの間の通信を手作業で再確立する。一般に、メソッドは、値を戻さず、したがって、所望される場合、付録Aに説明するとおり、呼出し元は、言語別メソッドを使用して、メソッド(または他のオペレーション)が失敗したかどうかを判定する必要があることに留意されたい。
スキーマを実装するオブジェクトモデルは、3つの主な特徴、つまりセット、装置、およびジョブを含む。セットは、装置のグループを表す。各セットは、固有名を有し、装置を全く含まない、あるいは1つまたは複数の装置を含むことが可能である。所与の装置は、複数のセットの中にあることが可能である。セットは、コントローラ上だけで表され、一実施形態では、装置は、どのセットに自らが入っているかについて、全く知識を有しておらず、セットに追加されたとき、またはセットから削除されたとき、通知を受けない。セットは、オブジェクト「セット(Sets)」として実装される。一実施形態では、装置だけが、セットのメンバであることが可能であるが、他の実施形態では、セットが、他のセットのメンバであることが可能であることに留意されたい。
装置は、コントローラが管理することのできるデータセンタ内の個々のサーバである。1つの現行の実施形態では、管理できる装置は、エージェントソフトウェアがインストールされたコンピュータだけである。装置は、その名前によって識別され、コントローラは、装置と通信するため、DNSを使用してこの名前をIPアドレスにまで解決する。
装置情報は、いくつかのオブジェクトの中に記憶される。デバイス(Devices)オブジェクトが、名前を含む基本情報を記憶し、一方、MACアドレスは、DevicesオブジェクトにリンクされるDeviceHWAddrsオブジェクトの中に記憶される。他のハードウェア情報(SMBIOS GUIDおよびディスクドライブ署名など)も、このオブジェクトのインスタンスの中に記憶することができる。異なるタイプの情報の区別をするため、DeviceTypesオブジェクトが、異なるタイプのハードウェアアドレスの定義を保持する。DeviceHWAddrsの各インスタンスは、デバイスタイプ(DeviceTypes)の対応するインスタンスにリンクされる。また、特定のMACアドレスに関連するIPアドレスも、特定のMACアドレスを表すDeviceHWAddrsインスタンスに関連するDeviceHWIPAddrsのインスタンスの中に記憶することができる。現在、IPアドレス情報は、MACアドレスに関しては記憶されない。
ジョブとは、一般に、2つのタイプのジョブ情報、すなわち、実行される準備のできているジョブであるジョブテンプレート、および前に実行されたジョブであるジョブ履歴を指す。ジョブテンプレートは、ジョブインスタンス(JobInstances)オブジェクトの中に記憶される。このJobInstancesオブジェクトのインスタンスは、2つのプロパティ、ジョブ名とジョブ識別子の組み合わせで識別される。ジョブテンプレートは、ゼロのジョブ識別子、およびゼロのジョブ識別子を有するジョブ呼び出し(JobInvocations)の中で固有の名前とともに記憶される。ジョブテンプレートのプロパティは(ジョブ識別子を別にして)、ユーザが編集することができる。現行の実施形態では、ジョブテンプレートを記憶するのに、他のオブジェクトは全く使用されない。
ジョブ履歴は、いくつかのオブジェクトの中に記憶される。JobInvocationsオブジェクトが、名前、ジョブ識別子、およびジョブが実行された時刻を含む基本情報を記憶する。ジョブ識別子は、ゼロ以外の値である。名前は、ブランクであることが可能であり、また他のJobInvocationsインスタンスと同一であることが可能である(ジョブ識別子が、ジョブ履歴を一意的に識別するため)。ジョブ履歴を表す各JobInvocationは、Jobsオブジェクトのインスタンスにリンクされる。これは、ジョブが実行された装置の数にかかわらず、ジョブのステータスを表す。これは、個々の装置のそれぞれにおけるジョブのステータスに対する「親」であると見なすことができる。各装置上のジョブに関する実際のステータスは、装置ごとに1つのJobsクラスのさらなるインスタンスの中に記憶される。これらのインスタンスのそれぞれは、親Jobsインスタンスにリンクされ、親インスタンスの「子」と見なすことができる。これにより、2つのレベルの親−子関係が形成され、この関係をさらなるレベルに拡張することができる。ジョブが、どの装置上でも実行されない場合(ジョブが実行されるセットが空であるため)には、親Jobsインスタンスは、どの子Jobsインスタンスにもリンクされないことに留意されたい。
個別の装置上のジョブのステータスに対応するJobsインスタンスは、ジョブの実際の出力を記憶しない。代りに、出力は、ジョブログ(JobLogs)オブジェクトの1つまたは複数のインスタンスの中に記憶される。JobLogsの各インスタンスは、ジョブの出力の一部を記憶する。部分的出力を順番に配置するようにこのオブジェクトのシーケンスプロパティを使用することにより、完全な出力を再構成することができる。JobLogsは、標準の誤り出力、標準の出力、およびジョブが実際にエグジットしたときのエグジットステータスを含む3つのタイプの出力を記憶する。JobLogsインスタンスは、ジョブからの出力がコントローラに入る際、作成される。ジョブが装置上で開始しなかったため(その場合、Jobsレコードは誤り指示を含む)、または出力ステータスまたはエグジットステータスが、まだ全く装置から受信されていないため、所与の(子)Jobsレコードに関連するJobLogsが存在しないのが可能であることに留意されたい。
図4〜図12から理解されるとおり、付録A、および本発明の以上の説明、アーキテクチャ、構造、およびプロトコルにより、データセンタを管理する際に相当な柔軟性および効率が可能になる。第1の例をいくつかのコンピュータ上にアップグレードまたはパッチをインストールする際に見ることができる。管理者に各コンピュータのところに行かせて(場合により、遠隔式に)、アップグレードパッケージを実行する代りに、本発明のアーキテクチャおよび構造では、管理者は、コントローラのところに行き(場合により、遠隔式に)、コントローラ上に保持されるセットおよびノードリストから目標ノードを選択し、アップグレードを開始することができ、将来は、これを一度に行うことができる可能性がある。アップグレードが開始された後、管理者は、コントローラ上の結果を検査し、どのノードが更新を完了するのに失敗したか(存在する場合)を調べる。これは、アップグレードを行うのに必要とされる労力を相当に低減させ、アップグレードを行った結果の監査可能なログを自動的に保持し、また、(例えば、)アップグレードが、以前には手作業で各コンピュータに入力されなければならなかった特定の処理を必要とする場合、誤りの可能性も抑える。さらに、本発明の態様を使用して、オペレーションをコントローラの中に記憶し、実動システム上で同一のオペレーションを行う前に試験システム上で試験することができる。
この柔軟性および効率の第2の例を新しいホスティング顧客のために新しいサーバを追加する際に見ることができる。オペレーティングシステムを手作業でインストールし、次に、顧客に合せてコンピュータを構成する代りに、本発明の様々な態様で、管理者は、電源オンになっているが、実際に使用されていないいくつかの利用可能な「予備の」コンピュータを維持することができる。新しい顧客が契約したとき、1組のオペレーションを開始して(自動的または手作業で)、予備のコンピュータの1つを選択し、特定の顧客に合せてそれを構成することができる。また、この構成には、その顧客にサービスを提供するのに必要なあらゆるさらなる装置(スイッチまたは負荷平衡器)を構成することも含まれる。構成ステップは、手作業によってではなく、スクリプトによって行われるため、誤りのリスクが相当に低減される。さらに、構成ステップは、自動的に行われることが可能であり、(例えば、)顧客がデータセンタのWebサイト上で購入要求を完了した後、顧客に合せてシステムを自動的に構成するように、データセンタの管理者がシステムを構成するのを可能にする。
第3の例を一群のコンピュータのステータスに関するデータを監視し、収集する際に見ることができる。収集システムを手作業でセットアップすることにより、いくつかのコンピュータからデータを収集しなければならないのではなく、オペレーションをいくつかのコンピュータのそれぞれにおいて自動的に実行することができる。オペレーションは、コントローラに使用情報を定期的に報告することが可能であり、コントローラは、データストアまたは他の適切なメモリなどのストーレッジの中にその情報を記憶する。情報は、どのようにコンピュータがオペレーションしているかを理解するため、サービスにおける障害の理由を調査するため、または別の適切な目的で、管理者が後の時点で分析することができる。
図13〜図15を特に参照して本発明のオペレーションの説明に移ると、いくつかのノード上でオペレーションを行うため、ステップ500で表すとおり、目標ノードが、まず選択され、行われるべきオペレーションを含むジョブがそのノードのために作成される。選択は、個別のノード、複数の個々のノード、セット、複数のセット、または以上の任意の組み合わせを選択することを含む可能性がある。行われるべきオペレーションは、スクリプト、2進プログラム、または他のタイプのタスクであることが可能である。開始プロセス304(これは、アプリケーション、Web UI、またはコマンドラインを介するユーザ、またはスクリプトまたは規則の中の自動化されたポリシーであることが可能である)が、選択を行ってオペレーションを選択することに留意されたい。ジョブ404が、選択上のこのオペレーションのためにデータストアの中で作成される。
ジョブは、実行される時点で、ステップ504で表されるとおり、提供される任意の引数で開始される。開始されたとき、ステップ506で、コントローラ202が、タスクに関する情報(例えば、スクリプトの場合、スクリプト自体および任意のパラメータ)を含むメッセージを作成する。次に、このメッセージが、コントローラ202上で、目標ノードに関連付けられる。
目標ノードのメッセージおよび表現がコントローラによって使用されてオペレーションが開始され、オペレーションは、一実施形態では、ステップ508で適切なXMLメッセージを作成し、ステップ510でトランスポート層を使用してそのメッセージを目標ノードに送信することによって達せられる。この時点で、コントローラ202上のトランスポート層212には、目標ノードに関する情報、およびそのノードに送信されるべきメッセージが与えられている。制御は、開始プロセス304(コントローラ202上でオペレーションを開始したユーザインターフェース、スクリプト、またはプロセス)に戻されており、開始プロセスは、すべてのノード上でオペレーションが完了するのを待つ必要がないことに留意されたい。これにより、開始プロセス304が、所望どおり複数のオペレーションを開始し、これらのオペレーションの結果を後に収集するのが可能になる。
メッセージは、トランスポート層に渡され、トランスポート層は、例えば、TCP/IPネットワークを介して正しいノードにメッセージが届くのを確実にすることを担う。目標ノードで受け取られたとき、ステップ512で表されるとおり、ジョブが開始する。
図14は、一般に、メッセージが受信されるステップ600で開始する、ノード204などのノード上で実行されるジョブを表す。図14では、垂直バーの左側が、ノード上のエージェントプログラムまたはエージェントサービスによって行われる処理を示し、一方、右側が、ノードのオペレーティングシステムによって行われる処理を示している。ノード上で、エージェントのトランスポート層が、メッセージを受信し、解釈のためにエージェントサービス218までメッセージを渡す。一般に、エージェントサービス218は、どのように処理を行うかを決定し、処理を実行し、結果が、トランスポート層を介してコントローラに戻される。
より詳細には、ステップ602は、メッセージからオペレーションを抽出することを表し、またステップ604は、使用する実行エンジンを決定することを表す。例えば、異なるタイプのスクリプトは、異なる実行エンジンを必要とし、実行の前に2進コードをダウンロードする必要がある。いずれにしても、ステップ606は、決定された実行エンジンにオペレーションおよびメッセージの中で渡されるあらゆる引数を送信することを表し、一方、ステップ608は、オペレーションを実行するオペレーティングシステムを表す。
ステップ610は、収集され、かつ/または別の仕方で記憶されたオペレーションの出力を表し、出力は、簡単な成功または失敗から、オペレーションによって要求されたデータの集合に至るまで、あらゆるものであることが可能である。ステップ612が、メッセージ(例えば、XMLフォーマットにおけるMDMプロトコルの)を作成し、ステップ614が、トランスポート層を介してそのメッセージをコントローラ202に戻す。この方式では、オペレーションのあらゆる結果(スクリプトまたはプログラムからの出力などの)が、メッセージにフォーマットされ、トランスポート層を使用してコントローラに戻される。
図15は、コントローラ202上でオペレーションを開始した開始プロセス304が、各ノード上でオペレーションの結果を判定できるやり方を表す。一般に、ステップ700〜704を介して、コントローラは、オペレーションのレコードを保持する。例えば、ステップ700で、ノードから結果が入って来るにつれ、ステップ702で、オペレーションごとに戻されたメッセージから結果が抽出され、ステップ704で、コントローラ202上のデータストア302(または他の適切なストーレッジ)の中に記憶される。この活動は、各ノードごとにオペレーションの進行中の完全なレコードを提供する。
ステップ708〜712を介して表すとおり、必ずしも開始プロセス304ではない管理者またはプロセス(スクリプトなどの)が、コントローラ202からこの情報を問い合わせて、各ノード上のオペレーションの成功を判定し、他のデータを照会し、必要な場合、障害を調査または解決することができる。
以上の詳細な説明から理解することができるとおり、データセンタ内などにおけるコンピュータ装置の管理を円滑にする複数装置管理の方法およびシステムが提供される。本方法および本システムは、非常に柔軟性があり、効率的で、複数のコンピュータ装置を管理することに関する費用を相当に削減する。
本発明は、様々な変更および代替の構成が可能であるが、本発明のいくつかの例示としての実施形態を図面で示し、以上に詳細に説明してきた。ただし、本発明を開示した特定の形態に限定する意図はなく、反対に、本発明は、本発明の趣旨および範囲の中に入るすべての変更形態、代替構成、および等価形態をカバーするものとする。
付録A
1つの通常のMDM(Multiple Device Management)実施形態では、コンピュータプロセスおよびコンピュータ装置を表現するためのCommon Information Model(CIM)標準からスキーマインターフェースを導出することができる。例えば、Microsoft(登録商標)Windows(登録商標)オペレーティングシステム上のそのような実施形態が、WMIスキーマと呼ばれる。本明細書における様々な情報は、そのような適切なスキーマおよびその他の関連データを説明するが、単に例であると考えられたい。
識別子の定義
セット名
セット名は、セットを一意的に識別する。セット名は、Sets.Nameプロパティの中に記憶され、最大で256のUnicode文字であることが可能である。どの文字も有効であるが、印刷不可能な文字は、推奨されない。名前は、ケースインセンシティブ(case−insensitive)であるが、ケースは、保存される。セット名は、すべてのセット名のなかで固有である必要がある。
装置名
装置名は、装置を一意的に識別し、装置との通信を行うために装置のIPアドレスを探し出すのに使用される。装置名は、Devices.Nameプロパティの中に記憶される。装置名は、最大で256のUnicode文字であることが可能である。どの文字も有効であるが、印刷不可能な文字は、推奨されない。名前は、ケースインセンシティブであるが、ケースは、保存される。セット名は、すべての装置名の中で固有である必要がある。装置名およびセット名は、JobInvocationsオブジェクトの中の単一のフィールド内に記憶されるため、同数の文字を有することに留意されたい。
ジョブ名
ジョブ名は、ジョブテンプレートを一意的に識別するのに使用され、ジョブ履歴レコードに関する1つの識別情報として使用される。ジョブ名は、JobInvocations.NameプロパティおよびJobs.Nameプロパティの中に記憶される。ジョブ名は、最大で50のUnicode文字であることが可能である。どの文字も有効であるが、印刷不可能な文字は、推奨されない。名前は、ケースインセンシティブであるが、ケースは、保存される。ジョブテンプレート(ジョブ識別子がゼロであるジョブ)に関して、ジョブ名は、固有である必要がある。ただし、ジョブ履歴レコードの中で、場合によっては複数回、同一の名前を使用することも可能である。
装置タイプ名
装置タイプ名は、装置のタイプを識別するのに使用される。装置タイプ名は、Devices.Typeプロパティの中に記憶され、DeviceTypes.Nameプロパティの値において定義される。装置タイプ名は、最大で50のUnicode文字であることが可能である。すべての文字が有効であるが、印刷不可能な文字は、推奨されない。名前は、ケースインセンシティブであるが、ケースは、保存される。装置タイプ名は、DeviceTypesのすべてのインスタンスのなかで固有である必要がある。
記述
記述は、通常、256のUnicode文字である(ただし、特定の値に関しては、個々のオブジェクトの定義を参照すること)。キャリッジリターン(carriage return)および改行文字を含め、どのUnicode文字も有効である。
オブジェクト
各オブジェクトは、プロパティおよびメソッドを含むことが可能であり、また他のオブジェクトとの関連を有することが可能である。一実施形態では、オブジェクト、プロパティ、メソッド、および関連は、WMIを介して露出される。以下に説明するとおり、関連を実施するのに追加の関連クラスが使用される。
各オブジェクトの定義は、要約で始まり、その後に以下の形式の定義が続く。
Figure 2009205687
クラスを作成することができる条件およびクラスを削除することができる条件を以下に説明し、このクラスが関連するその他のクラスに関する情報も説明している。クラスの各プロパティも、以下の形式でリストする。
Figure 2009205687
各メソッドは、以下のとおり記述される。
Figure 2009205687
セット
基本的に、セットは、複数装置管理の構成要素であり、何らかの論理グループ化または物理グループ化に従って装置をグループ化するオブジェクトを含む。SetsオブジェクトとDevicesオブジェクトの間には、1対多関係が存在する。Executeメソッドにより、Setsオブジェクトの各メンバ上でコマンドを実行することができる。
Figure 2009205687
Setsクラスのインスタンスは、ユーザ(または他のプロセス)によって作成される。一実施形態では、インスタンスは、決して他のモデルによって自動的に作成されることはない。Setsクラスの新しいインスタンスのために必要な唯一のプロパティは、Nameである。Nameの値は、コントローラ上のSetsのインスタンスのなかで固有である必要がある。Setsクラスのインスタンスは、ユーザ(または他のプロセス)によって削除されることが可能である。インスタンスは、説明する実施形態では、決してオブジェクトモデルによって自動的に削除されることはない。あるインスタンスが削除されるとき、他のインスタンス(削除されるクラスを参照するインスタンスも含め)には、全く変更が行われない。
Setsのインスタンスは、Devicesのインスタンスに対する関連を有することが可能である。Setsのインスタンスは、セットのメンバであるDevicesの各インスタンスに対する関連を有する。Setsの各インスタンスは、Devicesのゼロ、1つ、または複数のインスタンスに関連していることが可能である。また、Setsのインスタンスは、JobInvocationsのインスタンスに対する関連を有することも可能である。JobInvocationsインスタンスがテンプレートである(JobInvocationsのRootJobIDプロパティがゼロである)場合には、関連は、JobInvocationsインスタンスによって表されるジョブテンプレートが、関連セット上で実行されるべきことを表す。JobInvocationsインスタンスが、履歴レコードである(RootJobIDがゼロではない)場合には、関連は、JobInvocationsの中のジョブが、関連セット上で実行されたという事実を表す。
セットプロパティ
Name
Figure 2009205687
このプロパティの値は、Renameメソッドを使用して変更することができる。値は、システム上のSetsインスタンスのなかで固有でなければならない。
Description
Figure 2009205687
これは、セットの自由テキスト記述である。この記述は、NULLつまり空であることが可能であり、更新することができる。
未使用のプロパティ
Captionプロパティ、InstallDateプロパティ、およびStatusプロパティが、親クラスから継承されるが、現行の実施形態では、現在、未使用である。
メソッド
AddDevice
AddDeviceを使用して、セットに制御された装置または制御されない装置を追加する。
Figure 2009205687
RemoveDevice
Figure 2009205687
Rename
Figure 2009205687
Execute
Figure 2009205687
このメソッドは、ジョブが実行されるセットのメンバに対してジョブが実行されるようにする。ジョブは、うまく作成された場合、そのジョブに対してJobInvocationsインスタンスが作成されることを引き起こす。新しいJobInvocationsインスタンスのRootJobIDプロパティの値が、このメソッドの戻り値として戻される。ジョブ実行は、非同期であり、したがって、このメソッドの成功は、ジョブ自体がエージェント上でうまくいくことを意味するのではないことに留意されたい。
CommandType引数は、CommandフィールドおよびParameterフィールドがどのように解釈されるべきかを指定する。
Figure 2009205687
これは、新しいJobInvocationsインスタンスのCommandプロパティに書き込まれる。Prameters引数フィールドの値は、CommandTypeが3である場合、暗黙に無視される。Description引数の最大長は、256のUnicode文字である。これは、新しいJobInvocationsインスタンスのDescriptionプロパティの中に記憶される。これは、セットが空であることに関する誤りではない。この場合、JobInvocationsインスタンスは、親Jobsインスタンスとともに通常どおり作成される。ただし、子Jobsインスタンスは存在しない。オブジェクトモデルのユーザは、この状況に備えていなければならない。
特別コマンド
CommandTypeが3である場合には、Command引数は、以下の値のどれかを含む。
Figure 2009205687
テキストは、ケースインセンシティブである(つまり、例えば、「Reboot」、「REBOOT」、および「reboot」はすべて、サーバをリブートさせる)。Command引数の値が、以上のどれかではない場合、メソッドは、誤りを戻す。
Devices
Devicesは、セットのメンバである。セットは、装置のグループである。Devicesは、例えば、通常、サーバ機器である物理コンピュータシステムを表す。複数装置管理では、1つの目標は、複数のマシンに対して同時に管理を行うことである。それでも、装置オブジェクトでコマンドも実行することができる。
Figure 2009205687
作成
Devicesのインスタンスは、ユーザまたは他のプロセスの要求時に作成されること、またはエージェントからの自動検出パケットの受領に基づき、コントローラによって自動的に作成されることが可能である。Devicesクラスのインスタンスは、ユーザによって手作業で、または他のプロセスによって作成されることが可能である。新しいインスタンスは、少なくとも、Nameプロパティに対する値を必要とし、この値は、システム上のDevicesクラスの別のインスタンスのNameとして既存であることはできない。Nameプロパティの値は、装置自体の上の管理インターフェースのIPアドレスにまで、コントローラ上で解決されることが可能な名前である必要がある。通常、この解決は、DNSサーバを使用して行われる。
新しいインスタンスは、1つまたは複数のMACアドレスに関連していることが可能であり、また各MACアドレスは、1つまたは複数のIPアドレスに関連していることが可能である。これは、Devicesクラスの新しいインスタンスをDeviceHWAddrsのインスタンスに関連付け、またDeviceHWAddrsをDeviceHWIPAddrsに関連付けることによって示される。ただし、マシンと通信を行うには、名前だけがあればよい。コントローラは、DNSを使用して名前をIPアドレスにまで解決する。MACおよびIPは、通信には使用されず、基本的に、コントローラ上の情報としてだけ使用される。インスタンスが作成された際、コントローラは、要求をエージェントに送り、IPアドレスおよびMACアドレスを含むノード情報を獲得する。手作業で作成されたすべてのDevicesインスタンスに関して、LastDiscoveryTimeは、NULLである。いつか後の時点で、このDevicesインスタンスにマッチする自動検出パケットが受領された場合、このフィールドは、パケットが受領された時刻で更新される。
別法では、SMBIOS GUIDをコントローラの中に記憶し、装置を一意的に識別するのに使用することができる。これは、オブジェクトモデルに全く変更を加えずに行うことができる。というのは、SMBIOS GUIDは、新しい装置タイプ(SMBIOS GUIDを表すDeviceTypesにリンクされたDeviceHWAddrsの中の)として記憶することができるからである。
削除
Devicesクラスのインスタンスは、ユーザまたは他のプロセスによって削除されることが可能である。インスタンスは、Controller.RefreshDeviceList()メソッドが呼び出された場合、システムによって削除されることが可能である。Devicesのインスタンスが削除されるとき、当該の装置を参照するDeviceHWAddrsのあらゆるインスタンスも削除される(これは、リンクされたDeviceHWIPAddrsの削除も引き起こす可能性がある)。
関連
Devicesのインスタンスは、以下のクラスに対する関連を有することが可能である。
・Setsのインスタンスに対して
Devicesのインスタンスは、自らがメンバであるSetsの各インスタンスに対する関連を有する。Devicesの各インスタンスは、Setsのゼロ、1つ、または複数のインスタンスに関連していることが可能である。
・JobInvocationsのインスタンスに対して
Devicesのインスタンスは、JobInvocationsに対する関連を有する。JobInvocationsのインスタンスが、テンプレートである(JobInvocationsのRootJobIDがゼロである)場合には、関連は、JobInvocationsのインスタンスによって表されるジョブテンプレートが、関連装置上で実行されるべきことを表す。JobInvocationsのインスタンスが履歴レコードである(RootJobIDがゼロでない)場合には、関連は、JobInvocationsの中のジョブが、関連装置上で実行されたことを表す。
・Jobsのインスタンスに対する
Deviceのインスタンスは、その装置上で実行される各ジョブの親ジョブを表すJobsのインスタンスに対する関連を有する。
・DeviceHWAddrsのインスタンスに対する
Deviceのインスタンスは、コントローラが知識を有する装置上の各ハードウェアアドレスごとのDeviceHWAddrsのインスタンスに対する関連を有する。現行のバージョンでは、コントローラ上に記憶されたハードウェアアドレスは、NICカードのMACアドレスだけである。
・DeviceTypesの単一のインスタンスに対する
Devicesのインスタンスは、装置タイプを与えるDeviceTypesのインスタンスに対する関連を有する。現行のバージョンでは、単一の装置タイプだけがサポートされ、したがって、すべてのDevicesのインスタンスは、DeviceTypesの単一のインスタンスに関連する。
プロパティ
Name
これは、親クラスから継承される。
Figure 2009205687
このプロパティの値は、Renameメソッドを使用して変更することができる。
Alive
Figure 2009205687
装置が制御されていない場合、このプロパティは、常に偽である。それ以外の場合、このプロパティは、装置が制御されるようになったとき、装置からハートビート(heartbeat)が受け取られるたびに毎回、真に設定される(現在、偽に設定されている場合)。ハートビート期間は、コントローラに関するグローバルな設定である。エージェントは、ハートビート期間のたびに毎回、ハートビートパケットを送らなければならない。コントローラは、ハートビート期間の1.5倍の期間中に装置からハートビートを受け取らなかった場合、このプロパティを偽に設定する。使用されるハートビート期間は、コントローラ上で現在、設定されている期間である。この期間は、装置のハートビート期間とは異なる可能性がある。
Controlled
Figure 2009205687
このプロパティの値は、Manageメソッドを使用して装置の制御を開始する、または終了することによって設定される。
HeartBeatTime
Figure 2009205687
装置が制御されていない、または制御されなくなった場合、これはNULLである。それ以外の場合、装置が制御されるようになったとき、これは、装置が制御されるようになった時刻に設定される。装置が制御されている間、これは、装置から最新のハートビートが受領された時刻に設定される。
AlertStatus
Figure 2009205687
装置が制御されていない、または制御されなくなった場合、これは、常にUnavailableに設定される。それ以外の場合、装置が制御されるようになったとき、これは、Status not Knownに初期設定される。EnableAlerts()に対するコールが行われた後、これは、Unavailable、Enabled、またはDisabledであることが可能なエージェントから戻された値に設定される。
Type
Figure 2009205687
Description
Figure 2009205687
LastDiscoveryTime
Figure 2009205687
このDevicesのインスタンスにマッチする自動検出パケットが受領されるたびに毎回、その日付が現在の日付に更新される。これを使用して今までにネットワーク上になかった手作業で入力されたレコードを識別することができる。
以下のプロパティは、親クラスから継承されるが、現在、未使用である。Caption、CreationClassName、InitialLoadInfo、InstallDate、LastLoadInfo、NameFormat PowerManagementSupported、PowerManagementCapabilities、PowerState、PrimaryOwnerContact、PrimaryOwnerName、ResetCapability、Roles、Status、およびTime。
メソッド
EnableAlerts
Figure 2009205687
この呼出しは、同期である。警報が装置上でイネーブルにされる場合、装置は、現在の警報を戻す。警報がディセーブルにされている場合、コントローラは、この装置に関する警報の詳細を削除する。
RecoverManageDevice
Figure 2009205687
装置上の構成が破壊されているとユーザが考える場合、このメソッドを呼び出すことができる。コントローラは、以下の情報を装置に送る。
・装置情報の要求
・この装置を管理する制御要求
・現行のハートビート構成情報(ハートビート間隔)
・この装置に関する現行の警報ステータス(イネーブルにされている、またはイネーブルにされていない)
この呼出しは、以上のすべてが処理された後、戻り、したがって、多少の時間がかかる可能性がある。
Manage
Figure 2009205687
これは、装置に関する制御の状態を変更し、変更が完了したときに戻る。ControlFlagの値は、装置に対して行うオペレーションを指定する。
Figure 2009205687
プロトコルバージョンの誤りのために装置を制御しようとする試みが失敗した場合、Errorが戻される。
Execute
Figure 2009205687
SetPowerStateメソッドは、親クラスから継承されるが、本実施形態では、現在、未使用である。
DeviceTypes
一実施形態では、装置は、同一の装置タイプ、「Microsoft Server Appliance」を報告する。
Figure 2009205687
DeviceTypesのインスタンスは、手作業で、または自動的に作成されることが可能である。手作業で作成されるとき、Nameは、既存のDeviceTypesインスタンス全体のなかで固有である必要がある。手作業による作成は、自動検出が機能しないネットワーク上で利用することができる。
DeviceTypesのインスタンスは、着信する自動検出パケットに基づき、またはDevicesのインスタンスの作成に基づいて自動的に作成されることが可能である。DevicesTypesのインスタンスが作成される別ののやり方は、Devicesのインスタンスの作成に基づく。各Devicesインスタンスは、DeviceTypeのストリングを含む。上記のストリングに対応するDeviceTypesのインスタンスが存在しない場合、そのNameとして上記のストリングを有し、ブランク(blank)のDescriptionを有するDeviceTypesの新しいインスタンスが作成される。
削除
DeviceTypesのインスタンスは、削除することができるが、削除することができるのは、削除されるインスタンスと同一タイプのストリングを有するDevicesのインスタンスが全く存在しない場合だけである。この理由の削除が失敗した場合、WMI DeleteInstanceメソッドは、誤りWBEM_E_FAILEDを伴って戻らなければならない。
関連
DeviceTypesのインスタンスは、同一タイプのDevicesの各インスタンスに関連している。
プロパティ
Name
Figure 2009205687
デバイスタイプの名前は、変更することができない。
Description
Figure 2009205687
Captionプロパティ、InstallDateプロパティ、およびStatusプロパティが、親クラスから継承されるが、現行の実施形態では、現在、未使用である。このオプションに関するメソッドは存在しない。
HWADDRTYPES
すべての装置は、通常、多数の個々に識別可能なハードウェア部分を含む。各ハードウェア部分は、アドレス、つまり固有識別子を含むことが可能である。
Figure 2009205687
1つのバージョンでは、内部で使用されるアドレスタイプは、「MAC」だけである。これは、装置のMACアドレスを記憶するのに使用される。HWAddrTypesのインスタンスは、手作業で、または自動的に作成されることが可能である。インスタンスは、Typeプロパティ値が、既存のHWAddrTypesインスタンスのNameプロパティにマッチしないときにDeviceHWAddrsのインスタンスが作成される場合、自動的に作成される。この場合、HWAddrTypesの新しいインスタンスは、DeviceHWAddrs Typeプロパティの中の値と同じ値を有するNameプロパティを伴って作成され、Descriptionプロパティは、ブランクになる。
削除
HWAddrTypesのインスタンスは、削除することができる。削除は、Devicesのインスタンスのどれかが、削除されるインスタンス上のNameプロパティと同じTypeプロパティを含む場合、失敗する。
関連
HWAddrTypesのインスタンスは、このタイプのハードウェアに関するハードウェアアドレス情報を含むDeviceHWAddrsのすべてのインスタンスに関連している。
プロパティ
Name
Figure 2009205687
Description
Figure 2009205687
Captionプロパティ、InstallDateプロパティ、およびStatusプロパティが、親クラスから継承されるが、現行の実施形態では、現在、未使用である。このオブジェクトに関するメソッドは存在しない。
DEVICEHWADDRS
装置ハードウェアアドレスは、NICなどのハードウェア部品を一意的に識別する。
Figure 2009205687
1つの現行の実施形態では、内部で使用されるハードウェアアドレスのタイプは、「MAC」だけである。これは、装置のMACアドレスを記憶するのに使用される。DeviceHWAddrsのインスタンスは、自動的に、または手作業で作成されることが可能である。自動作成は、受領された自動検出パケットに基づいて行われる。パケットが、ハードウェアアドレス(タイプおよびアドレスを含む)を含む場合には、そのハードウェアアドレスに対してDeviceHWAddrsの新しいインスタンスが作成される(これには、HWAddrTypesのインスタンスの作成も伴う可能性がある)。
削除
DeviceHWAddrsのインスタンスは、削除することができる。また、インスタンスは、対応するDeviceインスタンスが削除されたとき、自動的に削除される。
関連
・Devicesの単一のインスタンスに対して
DeviceHWAddrsのインスタンスが、ハードウェアアドレスを含むDevicesのインスタンスに関連している。
・HWAddrTypesの単一のインスタンスに対して
DeviceHWAddrsのインスタンスが、このDeviceHWAddrsインスタンスの中に記憶されたハードウェアアドレスのタイプを定義するHWAddrTypesのインスタンスに関連している。
・DeviceHWIPAddrsのインスタンスに対して
DeviceHWAddrsのインスタンスが、DeviceHWAddrsのこのインスタンスに関連する各IPアドレスごとにDeviceHWIPAddrsのゼロまたはいくつかのインスタンスに関連している。この関連は、NICハードウェアのアドレスを含むDeviceHWAddrsのためにだけ使用される。
プロパティ
HWAddr
Figure 2009205687
DeviceName
Figure 2009205687
Type
Figure 2009205687
未使用のプロパティ
Captionプロパティ、InstallDateプロパティ、NameおよびStatusプロパティが、親クラスから継承されるが、現行の実施形態では、現在、未使用である。このオブジェクトに関するメソッドは存在しない。
DEVICEHWIPADDRS
このオブジェクトは、現在、使用されない。
JOBINVOCATIONS
2つのカテゴリのJobs Invocationsが存在する。第1のカテゴリは、テンプレートである。ゼロに等しいRootJobIDを有するJobs Invocationsが存在する。つまり、これらは、単にテンプレートであり、特定の実行に関連していない。第2のカテゴリのJobs Invocationsは履歴である。つまり、これらは、ジョブ呼出しの履歴レコードである。
Figure 2009205687
JobInvocationsのインスタンスは、手作業で、または自動的に作成されることが可能である。ジョブテンプレートは、手作業で作成され、一方、Job履歴レコードは、自動的に作成される。JobInvocationsのインスタンスは、ユーザによって手作業で(または他のプロセスによって)作成されることが可能である。ジョブテンプレートだけを作成することができ(定義により、RootJobIDがゼロであるJobInvocationsのインスタンス)、ゼロ以外のRootJobIDを有するJobInvocationsインスタンスを作成しようと試みるのは誤りである。JobInvocationsの手作業で作成されたインスタンスは、その書込み可能なプロパティのどれも、後に変更することができる。
自動作成(ジョブ履歴)
ジョブが実行されたとき(Devices.ExecuteまたはSets.Executeを使用して)、JobInvocationsのインスタンスが作成される。これには、RootJobIDの新しい固有の値(ゼロではない)が与えられる。新しいインスタンスのプロパティ、Name、Command、Parameters、およびDescriptionが、ジョブを作成したDevices.ExecuteメソッドまたはSets.Executeメソッドに対するJobInvocationName引数、Command引数、Parameters引数、およびDescription引数の値でポピュレートされる。プロパティTargetNameおよびTargetTypeは、ジョブが実行されているセットまたは装置の名前、およびセットまたは装置のタイプで埋められる。自動的に作成されたJobInvocationsインスタンスのプロパティは、変更することができない。WMIの中で、JobInvocationsインスタンスのプロパティを変更しようと試みることにより、PutInstance(Put_from script)メソッドがWBEM_E_FAILED(scriptOnlyからのWbemErrFailedを戻すことが引き起こされ、ジョブテンプレート(RootJobIDがゼロであるインスタンス)とジョブ履歴(RootJobIDがゼロではない場合)の両方を削除することができる。ジョブ履歴が削除された場合、すべての関連するJobsインスタンスおよびJobLogsインスタンスも削除される。これは、WMIの中で実施される。
関連
・Devicesの単一のインスタンスに対して
JobInvocationsのインスタンスは、ジョブテンプレートがその装置上で実行されるように定義されている場合、またはジョブ履歴がその装置上で実行された場合、Devicesのインスタンスに関連している。この関連は、TargetTypeの値がDevicesである場合にだけ存在し、そうである場合、関連は、TargetNameプロパティの中で与えられているのと同じ名前を有するDevicesインスタンスに対するものである。
・Setsの単一のインスタンスに対して
JobInvocationsのインスタンスは、ジョブテンプレートがそのセット上で実行されるように定義されている場合、またはジョブ履歴がそのセット上で実行された場合、Setsのインスタンスに関連している。この関連は、TargetTypeの値がSetsである場合にだけ存在し、そうである場合、関連は、TargetNameプロパティの中で与えられているのと同じ名前を有するSetsインスタンスに対するものである。
・Jobsの単一のインスタンスに対して
JobInvocationsのインスタンスは、JobInvocationsによって表されるジョブを実行した結果を与えるJobsのインスタンスに関連している。この関連は、JobInvocationsインスタンスが履歴レコードである(つまり、RootJobIDがゼロではない)場合にだけ存在する。
プロパティ
RootJobID
Figure 2009205687
ルートジョブ固有識別子。これは、任意の64ビットの値であることが可能である。この値は、ゼロである場合、このJobInvocationsインスタンスが、前に実行されたジョブに関する履歴レコードではなく、テンプレートであることを示す。この値がゼロ以外である場合には、このインスタンスは、履歴レコードである。
Name
Figure 2009205687
これは、Devices.ExecuteまたはSets.ExecuteにJobInvocationName引数として渡されたジョブの名前を記憶する。
TargetName
Figure 2009205687
ジョブがそこで実行されたターゲット名、DevicesまたはSets
TargetType
Figure 2009205687
Command
Figure 2009205687
ターゲット上で呼び出されるコマンド。
Parameters
Figure 2009205687
呼び出されるコマンドに対するパラメータ
Description
Figure 2009205687
未使用のプロパティ
以下のプロパティが親クラスから継承されるが、現在、未使用である。Caption、ElapseTime、InstallDate、Notify、Owner、Priority、StartTime、Status、TimeSubmitted、UntilTime。
メソッド
Rename
Figure 2009205687
JOBS
Jobsオブジェクトは、Job Invocationのトポロジをキャプチャする。例えば、ユーザが、セットオブジェクトを有し、そのセット上でExecuteを呼び出した場合には、Root Jobとして作成された1つのJobs Objectが存在し、またセットの各装置ごとに作成されたJobsオブジェクトも存在する。Root Jobsオブジェクトは、Jobsのトポロジ構造に対するエントリとして使用される。一実施形態では、親子関係だけが使用されるが、モデルは、深さNのツリーとしてインスタンス化することができる。
Figure 2009205687
Jobsは、ジョブが開始されたとき、システムによって自動的に作成される(例えば、メソッドSets.ExecuteまたはDevices.Executeにより)。
Jobsのインスタンスは、更新することができない。親ジョブを表すJobsのインスタンスが削除された場合、以下もまた、削除される。
・関連するJobInvocationsインスタンス
・Jobsインスタンスに関連するJobsの子インスタンス
・子Jobインスタンスのそれぞれに関連するJobLogsインスタンス
これは、ジョブ呼出しのレコード、各装置上のジョブのステータス、および各装置上のジョブの結果を削除する。
現在、進行中のジョブを削除することが可能である。これが行われた場合、コントローラから受け取られたジョブからのさらなる出力は、全く記憶されず、誤りが全く報告されない。
関連
・JobInvocationsの単一のインスタンスに対して
Jobsのインスタンスは、ジョブを表すJobInvocationsのインスタンスに関連している。
・JobLogsのインスタンスに対して
Jobsのインスタンスは、特定の装置上におけるこのジョブの実行からの出力を含むJobLogsのインスタンスに関連する。この関連は、Jobsのインスタンスが、親インスタンスではなく単一の装置を表す場合にだけ存在する。
・Jobsのインスタンスに対して
Jobsのインスタンスは、親Jobsインスタンスの子プロセスを表す親Jobsのインスタンスに関連している。現行のバージョンでは、親が、複数の装置上で実行されるジョブを表し、子が、個々の装置からの結果を表す1つのレベルの親−子関係だけがサポートされている。
・Devicesの単一のインスタンスに対して
Jobsのインスタンスは、Jobsインスタンスが、単一の装置上でジョブを実行した結果を保持する場合、Devicesのインスタンスに関連している。この関連は、ジョブが実行されている装置を与える。
プロパティ
JobID
Figure 2009205687
ParentJobID
Figure 2009205687
DeviceName
Figure 2009205687
StartTime
Figure 2009205687
EndTime
Figure 2009205687

JobStatus
Figure 2009205687
Sets.ExecuteメソッドまたはDevices.Executeメソッドが戻ったとき、ステータスの値は、2、3、または11のうちの1つである。どの装置上でもジョブを開始できない場合、ステータスは、2に設定される。装置のいくつかでジョブを開始できない場合、ステータスは、11に設定される。それ以外の場合、ジョブは、すべての装置上で開始されており、ステータスは、3に設定される。
Executeメソッドが戻った後、呼出し元は、親Jobsインスタンスに関するステータスの値をポーリングすることができる。ジョブが、少なくとも1つの装置上でまだ実行されている場合、ステータスは、3または11である。ジョブが、すべての装置上で終了した場合、ステータスは、0または1である。どの装置上でもジョブが全く開始しなかった場合、ステータスは、2である。
子ジョブに関して、有効な値は、0および3ないし10である。値は、子Jobsオブジェクトが作成されたとき、3に初期設定される。ジョブ実行中に誤りが生じた場合、JobStatusが、5または7ないし10のどれかに更新される。ジョブが、装置にうまく伝送された場合、JobStatusは、4に設定される。
Jobs.Stopを呼び出すユーザによってジョブが停止された場合、JobStatusは、6に設定される。ジョブがうまく完了した場合、JobStatusは、0に設定される。
以下のプロパティが親クラスから継承されるが、現在、未使用である。Caption、Description、InstallData、Name、およびStatus。
メソッド
Stop
Figure 2009205687
このメソッドは、装置上で実行中のジョブを停止させる。このメソッドが、親ジョブを表すインスタンス上で実行された場合、まだ実行中のすべての子チルが停止される。ユーザによって停止させられたジョブは、「ユーザによりジョブ停止」のStatusプロパティ値を有する。
GetOutput
Figure 2009205687
OutputTypeに関する値は、以下のとおりである。
・0=エグジット(exit)ステータスを獲得する
・1=標準の出力を獲得する
・2=標準の誤りを獲得する
・3=すべての出力を獲得する(順次に)
このメソッドは、子Jobインスタンスに対してだけ有効である。OutputTypeが0である場合、エグジットステータスがOutputストリングの中で戻される。例えば、32のエグジットステータスは、Outputの中でストリング「32」として戻される。
JOBLOGS
JobLogsは、スクリプトまたは実行ファイルの実行の出力をキャプチャする。ジョブログは、Jobsに関連している。任意のJobsに対してN個のJobLogsが存在することが可能である。
Figure 2009205687
JobLogsは、ジョブが開始されたとき、システムによって常に自動作成される(例えば、メソッドSets.ExecuteまたはメソッドDevices.Executeによって)。
JobLogsクラスのインスタンスは、更新することができず、JobLogsのインスタンスは、WMIの中で削除することができない。関連は、Jobsの単一のインスタンスに対するものである。JobLogsのインスタンスは、この出力を生成した装置およびジョブを与えるJobsのインスタンスに関連している。
プロパティ
JobID
Figure 2009205687
Sequence
Figure 2009205687
1で開始して上昇する。stdout、stderr、エグジットステータスに関して使用されるのと同じ順序番号。
LogTime
Figure 2009205687
OutputType
Figure 2009205687
OutputData
Figure 2009205687
以上のプロパティが親クラスから継承されるが、現在、未使用である。Caption、Description、InstallDate、Name、およびステータス。このオブジェクトに関するメソッドは存在しない。
ALERTS
装置ハードウェアアドレスは、NICなどのハードウェア部品を一意的に識別する。
Figure 2009205687
警報オブジェクトは、コントローラに警報を報告する管理される装置からのすべての警報のコピーを保持する。装置が警報を報告するか否かは、Devices.EnableAlerts()メソッドを使用して設定される。Alerts(アラート)オブジェクトの各インスタンスは、単一の装置からの単一の警報を表す。Alertインスタンスは、装置から提供される情報に基づいて常に自動的に作成される。Alertインスタンスは、手作業で作成することはできない(WMIの中で)。
このクラスのインスタンスは、更新することができず、Allertsクラスのインスタンスを削除することにより、装置自体において警報が消去されることが生じる。
関連は、Devicesの単一のインスタンスに対するもの、警報が作成された装置を表すDevicesのインスタンスに対するものである。
プロパティ
DeviceName
Figure 2009205687
これは、警報がそこで作成された装置の名前を含む。
Cookie
Figure 2009205687
AlertType
Figure 2009205687
AlertID
Figure 2009205687
AlertLog
Figure 2009205687
AlertSource
Figure 2009205687
AlertReplaceString
Figure 2009205687
これは、装置から受け取られたフォーマットで記憶される。現在、これは、改行文字(文字コード10進法10)によって分けられた値のリストとしてのフォーマットである。値がコンマを含む場合、エスケープは全く行われない。
ReceivedTime
Figure 2009205687
これは、コントローラが装置から警報通知を受け取った時刻である。
以下のプロパティが親クラスから継承されるが、現在、未使用である。Caption、Description、InstallDate、Name、およびStatus。このオブジェクトに関するメソッドは存在しない。
CONTROLLER
Controllerクラスが、コントローラを構成し、制御するために使用される。コントローラは、ハートビート間隔などのいくつかのグローバルな構成可能パラメータを有する。さらに、コントローラのサービスおよびサブサービスを開始および停止することができる。
Figure 2009205687
これは、作成および削除に関する単一要素のみからなるクラスであり、このインスタンスは、更新することができない。関連は、全く存在しない。
プロパティ
HeartbeatInterval
Figure 2009205687
指定されない場合、値120秒(2分)が使用される。設定することができる最小値は、60秒である。以下のプロパティが親クラスから継承されるが、現在、未使用である。Caption、Description、、およびName。
メソッド
RefreshDeviceList
Figure 2009205687
リフレッシュ装置リストは、2つのステップを有するプロセスである。まず、制御されていない装置が、データストアから除去される。次に、「Microsoft Server Appliance」タイプを有する装置に関して請求された検出が開始される。その後、メソッドは戻る。この時点で、検出を開始したことの結果は、コントローラによって受け取られていない可能性があり、したがって、Devicesテーブルは、空または部分的に完成している可能性がある。
SetHeartbeatInterval
Figure 2009205687
このメソッドは、Controller.HeartbeatIntervalプロパティの中のハートビート間隔を更新する。次に、このメソッドは、この更新された間隔をすべての管理される装置に送信する。その後、メソッドは戻る。メソッドは、更新されたハートビートを装置に送信することのステータスを待たない。この値は、秒数で与えられる。設定することのできる最小値は、60である。値を60を下回って設定しようとする試みがなされた場合、記憶された値は、一実施形態では、60に設定される。
この値が増加された場合、装置は、1.5*オールドハートビート間隔の後、活動状態にないように見える可能性がある(Devices.Aliveプロパティは、偽に設定される)。WMIの中で、関連クラスと呼ばれる特別クラスが、オブジェクトのインスタンスをリンクするのに使用される。このセクションは、オブジェクトモデルを実装するWMIクラスをリンクするのに使用される関連クラスを定義する。
関連クラスは、CIM_ComponetまたはCIM_Dependencyから導出される。
CIM_Componentは、親インスタンスおよび子インスタンスをそれぞれ指定するプロパティGroupComponentおよびプロパティPartComponentを含む。CIM_Dependencyは、依存関係を指定するプロパティAntecedentおよびプロパティDependentを含む。以下に説明するとおり、親クラスがリストされ、次に、プロパティ(GroupComponentおよびPartComponent、またはAntecedentおよびDependent)の値が記述される。どのクラスも、追加のプロパティを追加すること、あるいは記述またはその他の属性を取り消すことをしない。
DEVICEHWADDRTODEVICEHWIPADDR
Figure 2009205687
GroupComponentは、DeviceHWAddrsのインスタンスに対するリファレンスであり、PartComponentは、DeviceHWIPAddrsのインスタンスに対するリファレンスである。
DEVICEHWADDRTOHWADDRTYPE
Figure 2009205687
Antecedentは、DeviceHWAddrsのインスタンスに対するリファレンスであり、Dependentは、HWAddrTypesのインスタンスに対するリファレンスである。
DEVICETOALERT
Figure 2009205687
Antecedentは、Devicesのインスタンスに対するリファレンスであり、Dependentは、Alertsのインスタンスに対するリファレンスである。
DEVICETODEVICEHWADDR
Figure 2009205687
GroupComponentは、Devicesのインスタンスに対するリファレンスであり、PartComponentは、DeviceHWAddrsのインスタンスに対するリファレンスである。
DEVICETODEVICETYPE
Figure 2009205687
Antecedentは、Devicesのインスタンスに対するリファレンスであり、Dependentは、DeviceTypesのインスタンスに対するリファレンスである。
DEVICETOJOBINVOCATION
Figure 2009205687
Antecedentは、Devicesのインスタンスに対するリファレンスであり、Dependentは、JobInvocationsのインスタンスに対するリファレンスである。
SETTOJOBINVOCATION
Figure 2009205687
Antecedentは、Setsのインスタンスに対するリファレンスであり、Dependentは、JobInvocationsのインスタンスに対するリファレンスである。
DEVICETOJOB
Figure 2009205687
Antecedentは、Devicesのインスタンスに対するリファレンスであり、Dependentは、Jobsのインスタンスに対するリファレンスである。
JOBTOJOB
Figure 2009205687
GroupComponentは、Jobsのインスタンス(親を表す)に対するリファレンスであり、PartComponentは、Jobsのインスタンス(子に関する)に対するリファレンスである。
JOBINVOCATIONTOJOB
Figure 2009205687
Antecedentは、JobInvocationsのインスタンスに対するリファレンスであり、Dependentは、Jobsのインスタンスに対するリファレンスである。
JOBTOJOBLOG
Figure 2009205687
Antecedentは、Jobsのインスタンスに対するリファレンスであり、Dependentは、JobLogsのインスタンスに対するリファレンスである。
SETTODEVICE
Figure 2009205687
GroupComponentは、Setsのインスタンスに対するリファレンスであり、PartComponentは、Devicesのインスタンスに対するリファレンスである。
100 コンピュータシステム環境
110 コンピュータ装置
120 処理装置
121 システムバス
130 システムメモリ
131 読取り専用メモリ
132 ランダムアクセスメモリ
133 基本入力/出力システム
134 オペレーティングシステム
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 取外し不可能の不揮発性メモリインターフェース
141 ハードディスクドライブ
144 オペレーティングシステム
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 取外し可能の不揮発性メモリインターフェース
151 磁気ディスクドライブ
152 取外し可能の不揮発性磁気ディスク
155 光ディスクドライブ
156 取外し可能の不揮発性光ディスク
160 ユーザ入力インターフェース
161 マウス
162 キーボード
163 マイクロホン
164 タブレット
170 ネットワークインターフェース
171 ローカルエリアネットワーク
172 モデム
173 ワイドエリアネットワーク
180 遠隔コンピュータ
181 メモリ装置
185 遠隔アプリケーションプログラム
190 ビデオインターフェース
191 モニタ
194 出力周辺インターフェース
195 スピーカ
196 プリンタ
200 アーキテクチャ
202 コントローラコンピュータ
2041、2042、204n ノードコンピュータ
2061、2062、206n ノードプログラム
208 コントローラサービス
210 管理プログラム
212 トランスポート層
2141、2142、214n トランスポート層
216 物理ネットワーク
2181、2182、218n エージェントサービス
2201、2202、220n ノードオペレーティングシステム
222 オペレーティングシステム
302 データストア
304 開始プロセス
306 コントローラプログラム
310 スキーマインターフェース
312 エージェントプログラム
314 XMLメッセージ交換プロトコル
316 トランスポートプロトコル
320 スクリプト/実行エンジン
322 リブート/シャットダウン/サスペンド構成要素
330 検出構成要素(発見構成要素)
332 検出リスニング構成要素(検出聴取構成要素)

Claims (30)

  1. データセンタのコンピュータネットワークにおいて、複数のコンピュータシステムをコントローラから制御する方法であって、
    複数の特有のセットをコントローラにおいて保持することであって、各特有のセットが、オペレーションの能力、顧客との関連、または実行アプリケーションによって区別され、ジョブを処理するように構成された少なくとも1つのコンピュータ装置のグループを備えることと、
    前記特有のセットの少なくとも1つに属するコンピュータ装置が前記コンピュータ装置に割り当てられた前記ジョブの一部を終了したと判定することと、
    前記複数の特有のセットに属するコンピュータ装置上で行われる少なくとも1つのオペレーションに対応する新しいジョブをコントローラで提供することと、
    前記割り当てられたジョブの一部を終了した前記コンピュータ装置を再デプロイするコマンドを受信することであって、前記再デプロイすることは新しい特有のセットに前記コンピュータ装置を割り当てることを備えることと、
    前記再デプロイされたコンピュータ装置を含む、前記新しい特有のセットの中の各コンピュータ装置へ前記コントローラからメッセージを送信することであって、前記メッセージが、前記メッセージを受信する各コンピュータ装置に、前記新しいジョブを実行するように命令することと、
    前記コントローラで前記新しい特有のセットの中の各コンピュータ装置からの前記新しいジョブの結果を格納することと
    を備えることを特徴とする方法。
  2. 前記コントローラにおいて前記特有のセットを提供することは、少なくとも1つのセットのコンピュータ装置に対応するデータを提供することを備えることを特徴とする請求項1に記載の方法。
  3. 前記ジョブを前記コントローラで提供することは、前記特有のセット上で実行されるスクリプトに対応するデータを提供することを備えることを特徴とする請求項1に記載の方法。
  4. 前記ジョブを前記コントローラで提供することは、前記特有のセット上で実行される2進プログラムに対応するデータを提供することを備えることを特徴とする請求項1に記載の方法。
  5. 前記特有のセット上で実行される2進プログラムに対応する前記データは、ネットワークアドレスを備えることを特徴とする請求項4に記載の方法。
  6. 前記特有のセットの中で識別されたコンピュータ装置上のエージェントにおいて前記メッセージを受信し、前記メッセージに応答して前記ジョブを実行することをさらに備えることを特徴とする請求項1に記載の方法。
  7. 前記メッセージに応答して前記ジョブを実行することは、スクリプトを実行することを備えることを特徴とする請求項6に記載の方法。
  8. 前記メッセージに応答して前記ジョブを実行することは、2進プログラムを実行することを備えることを特徴とする請求項6に記載の方法。
  9. 2進プログラムを実行することは、前記メッセージの中のネットワークアドレスに基づいて前記プログラムを取り出すことを備えることを特徴とする請求項8に記載の方法。
  10. ノードコンピュータ装置が前記コントローラによって制御されるようにオペレーション可能であることを示す発見情報を前記コントローラで受信することをさらに備えることを特徴とする請求項1に記載の方法。
  11. 前記ノードコンピュータ装置が前記コントローラによって既に制御されていることを認識することをさらに備えることを特徴とする請求項10に記載の方法。
  12. 前記ノードコンピュータ装置が前記コントローラによって制御されていないことを認識し、前記ノードコンピュータ装置を制御することをさらに備えることを特徴とする請求項10に記載の方法。
  13. 前記ノードコンピュータ装置を識別する情報を前記コントローラによって保持されるデータストアに追加することをさらに備えることを特徴とする請求項12に記載の方法。
  14. 前記発見情報を受信することに基づいて、前記ノードコンピュータ装置を自動的に構成することをさらに備えることを特徴とする請求項10に記載の方法。
  15. 前記ジョブの結果を格納することは、ストレージに前記結果を収集することを備えることを特徴とする請求項1に記載の方法。
  16. 前記ジョブの結果を格納することは、前記結果を永続化することを備えることを特徴とする請求項1に記載の方法。
  17. データセンタのコンピュータネットワークにおいて、複数のコンピュータシステムをコントローラから制御するシステムであって、
    複数の特有のセットを保持するように構成されたコントローラであって、各セットがジョブを処理するように構成された少なくとも1つのコンピュータ装置のグループを備え、各特有のセットがオペレーションの能力、顧客との関連、または実行アプリケーションによって区別されるコントローラと、
    前記コントローラ上のコントローラソフトウェアとの通信のために接続されたエージェントソフトウェアを含む、前記特有のセットの中で識別されたコンピュータ装置と、
    前記特有のセットの中で識別された前記コンピュータ装置上で行われる少なくとも1つのオペレーションに対応する、前記コントローラによって保持されたジョブであって、前記コンピュータ装置は前記ジョブを処理した後に新しいジョブを処理するように構成されるジョブと、
    コンピュータ装置が前記コンピュータ装置に割り当てられた前記ジョブの一部を終了したと判定した後に、前記ジョブに対応するデータを含むメッセージを前記コントローラソフトウェアから前記コンピュータ装置の前記エージェントソフトウェアに通信するように構成されたトランスポートであって、前記メッセージが、前記割り当てられたジョブの一部を終了した前記コンピュータ装置に新しい特有のセットの一部にし、新しいジョブを実行するように前記エージェントソフトウェアに命令し、前記コンピュータ装置の前記エージェントソフトウェアが、前記メッセージを受信したのに応答して、前記新しいジョブを実行し、結果を前記コントローラに戻すトランスポートと、
    前記コントローラのデータストアであって、前記コントローラが前記エージェントソフトウェアからの前記結果を前記データストアに格納するデータストアと
    を備えたことを特徴とするシステム。
  18. 前記データストアの中の情報に対するアクセスを提供するように構成されたスキーマインターフェースをさらに備えたことを特徴とする請求項17に記載のシステム。
  19. 前記ノードコンピュータにおいて実行エンジンをさらに備え、前記エージェントソフトウェアが、前記実行エンジンと通信して前記ジョブに対応する少なくとも1つのオペレーションを行うことを特徴とする請求項17に記載のシステム。
  20. 前記実行エンジンは、スクリプトエンジンを備え、前記エージェントソフトウェアが、前記実行エンジンと通信してスクリプトを実行することを特徴とする請求項19に記載のシステム。
  21. 前記実行エンジンソフトウェアは、2進プログラムを実行し、前記エージェントソフトウェアは、前記実行エンジンと通信して前記2進プログラムを実行することを特徴とする請求項19に記載のシステム。
  22. 前記コントローラによって要求された少なくとも1つの特別オペレーションのセットを行う前記コンピュータ装置上のソフトウェアをさらに備えたことを特徴とする請求項17に記載のシステム。
  23. 前記少なくとも1つの特別オペレーションのセットは、リブートオペレーションを備えたことを特徴とする請求項22に記載のシステム。
  24. 前記少なくとも1つの特別オペレーションのセットは、サスペンドオペレーションを備えたことを特徴とする請求項22に記載のシステム。
  25. 前記少なくとも1つの特別オペレーションのセットは、シャットダウンオペレーションを備えたことを特徴とする請求項22に記載のシステム。
  26. 前記ネットワーク上のコンピュータ装置によって提供される発見情報を検出する前記コントローラにおける発見リスニングプロセスをさらに備えたことを特徴とする請求項17に記載のシステム。
  27. 前記コントローラは、前記発見情報を提供するコンピュータ装置を自動的に構成するためのソフトウェアを含むことを特徴とする請求項26に記載のシステム。
  28. 各コンピュータ装置は、前記発見情報を自動的に提供するための発見コンポーネントを含むことを特徴とする請求項26に記載のシステム。
  29. 各コンピュータ装置は、そのコンピュータ装置のリブートに続いて、前記発見情報を自動的に提供することを特徴とする請求項28に記載のシステム。
  30. データセンタのコンピュータネットワークにおいて、複数のコンピュータシステムをコントローラから制御する方法であって、
    複数の特有のセットをコントローラにおいて保持することであって、各特有のセットが、ネットワークアドレスによって識別可能であり、オペレーションの機能、顧客との関連、または実行アプリケーションによって区別され、2進プログラムを処理するように構成された少なくとも1つのコンピュータ装置のグループを備えることと、
    前記特有のセットの少なくとも1つに属するコンピュータ装置が前記コンピュータ装置に割り当てられた前記2進プログラムの一部を処理することを終了したと判定することと、
    前記複数の特有のセットに属するコンピュータ装置上で処理する少なくとも1つのスクリプトを含む新しい2進プログラムをコントローラで提供することと、
    前記割り当てられた2進プログラムの一部を終了した前記コンピュータ装置を再デプロイするコマンドをエージェントにより受信することと、
    前記コマンドに応答して前記割り当てられた2進プログラムの一部を終了した前記コンピュータ装置を再デプロイすることであって、前記再デプロイすることは、前記コンピュータ装置を新しい特有のセットに割り当てることを備えることと、
    前記再デプロイされたコンピュータ装置を含む、前記新しい特有のセットの中の各コンピュータ装置へ前記コントローラからメッセージを送信することであって、前記メッセージが、前記メッセージを受信する各コンピュータ装置に、前記新しい2進プログラムを実行するように命令することと、
    前記新しい特有のセットの中の各コンピュータ装置からの前記新しい2進プログラムの結果を前記コントローラで格納することと
    を備えることを特徴とする方法。
JP2009113069A 2001-06-11 2009-05-07 複数装置管理の方法およびシステム Expired - Lifetime JP5394123B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29747301P 2001-06-11 2001-06-11
US60/297,473 2001-06-11
US10/075,633 2002-02-14
US10/075,633 US7237243B2 (en) 2001-06-11 2002-02-14 Multiple device management method and system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002170566A Division JP2003099410A (ja) 2001-06-11 2002-06-11 複数装置管理の方法およびシステム

Publications (2)

Publication Number Publication Date
JP2009205687A true JP2009205687A (ja) 2009-09-10
JP5394123B2 JP5394123B2 (ja) 2014-01-22

Family

ID=26757088

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002170566A Pending JP2003099410A (ja) 2001-06-11 2002-06-11 複数装置管理の方法およびシステム
JP2009113069A Expired - Lifetime JP5394123B2 (ja) 2001-06-11 2009-05-07 複数装置管理の方法およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002170566A Pending JP2003099410A (ja) 2001-06-11 2002-06-11 複数装置管理の方法およびシステム

Country Status (5)

Country Link
US (1) US7237243B2 (ja)
EP (1) EP1267518B1 (ja)
JP (2) JP2003099410A (ja)
AT (1) ATE302512T1 (ja)
DE (1) DE60205539T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049939A (ja) * 2015-09-04 2017-03-09 株式会社日立ソリューションズ 計算機システム及びデータ配布方法

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882253B2 (en) * 2001-04-05 2011-02-01 Real-Time Innovations, Inc. Real-time publish-subscribe system
US7054853B2 (en) * 2001-07-02 2006-05-30 Sun Microsystems, Inc. Methods and system for efficient association traversals
EP1286497B1 (de) * 2001-07-30 2004-11-03 Alcatel Verfahren zur visuellen Darstellung von Zuständen von Netzelementen eines zu überwachenden Netzwerks, sowie eine Überwachungseinrichtung und ein Programmmodul hierfür
US7171554B2 (en) * 2001-08-13 2007-01-30 Hewlett-Packard Company Method, computer program product and system for providing a switch user functionality in an information technological network
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
US7366799B2 (en) * 2002-03-06 2008-04-29 Pharos Systems International, Inc. Document processing system including multi-device compatible interface and related methods
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US20030195956A1 (en) * 2002-04-15 2003-10-16 Maxxan Systems, Inc. System and method for allocating unique zone membership
US20030202510A1 (en) * 2002-04-26 2003-10-30 Maxxan Systems, Inc. System and method for scalable switch fabric for computer network
JP2003323364A (ja) * 2002-05-08 2003-11-14 Canon Inc ネットワークデバイス管理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US20030212889A1 (en) * 2002-05-13 2003-11-13 Khieu Andrew K. Method and system for exchanging data over networks using public key encryption
US20040003007A1 (en) * 2002-06-28 2004-01-01 Prall John M. Windows management instrument synchronized repository provider
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US20040034577A1 (en) * 2002-08-15 2004-02-19 Van Hoose Jeffrey N. Methods and apparatus for analyzing an inventory for consolidation
US20040042416A1 (en) * 2002-08-27 2004-03-04 Ngo Chuong Ngoc Virtual Local Area Network auto-discovery methods
US7246159B2 (en) * 2002-11-01 2007-07-17 Fidelia Technology, Inc Distributed data gathering and storage for use in a fault and performance monitoring system
FR2846821B1 (fr) * 2002-11-04 2005-03-11 Cit Alcatel Dispositif et procede de controle de donnees de gestion d'equipements de reseau, pour un systeme de gestion de reseau de communications
US7395499B2 (en) * 2002-11-27 2008-07-01 Accenture Global Services Gmbh Enforcing template completion when publishing to a content management system
US9396473B2 (en) 2002-11-27 2016-07-19 Accenture Global Services Limited Searching within a contact center portal
US7418403B2 (en) * 2002-11-27 2008-08-26 Bt Group Plc Content feedback in a multiple-owner content management system
US7769622B2 (en) * 2002-11-27 2010-08-03 Bt Group Plc System and method for capturing and publishing insight of contact center users whose performance is above a reference key performance indicator
US8275811B2 (en) * 2002-11-27 2012-09-25 Accenture Global Services Limited Communicating solution information in a knowledge management system
US20050014116A1 (en) * 2002-11-27 2005-01-20 Reid Gregory S. Testing information comprehension of contact center users
US7062505B2 (en) 2002-11-27 2006-06-13 Accenture Global Services Gmbh Content management system for the telecommunications industry
US8572058B2 (en) 2002-11-27 2013-10-29 Accenture Global Services Limited Presenting linked information in a CRM system
US7200614B2 (en) 2002-11-27 2007-04-03 Accenture Global Services Gmbh Dual information system for contact center users
US20040167906A1 (en) * 2003-02-25 2004-08-26 Smith Randolph C. System consolidation tool and method for patching multiple servers
JP2004288091A (ja) * 2003-03-25 2004-10-14 Fuji Xerox Co Ltd 情報処理装置及び方法
JP4228777B2 (ja) * 2003-05-21 2009-02-25 株式会社日立製作所 営業店フロー制御システム
US7257623B2 (en) * 2003-05-28 2007-08-14 Oracle International Corporation Method and apparatus for ensuring an allowable client configuration for an application
US7725473B2 (en) 2003-12-17 2010-05-25 International Business Machines Corporation Common information model
JP2005182481A (ja) * 2003-12-19 2005-07-07 Hitachi Ltd ネットワーク機器
US20050198398A1 (en) * 2004-01-21 2005-09-08 Bishop Thomas P. Methods and systems for managing a network while physical components are being provisioned or de-provisioned
US9268607B2 (en) 2004-03-13 2016-02-23 Adaptive Computing Enterprises, Inc. System and method of providing a self-optimizing reservation in space of compute resources
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20050256935A1 (en) * 2004-05-06 2005-11-17 Overstreet Matthew L System and method for managing a network
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US7529898B2 (en) 2004-07-09 2009-05-05 International Business Machines Corporation Method for backing up and restoring data
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
CN1981496B (zh) * 2004-07-28 2016-09-14 日本电气株式会社 连接方法、通信系统、装置和程序
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US8055744B2 (en) * 2005-04-07 2011-11-08 International Business Machines Corporation Resolution of group membership for resources
US9813283B2 (en) 2005-08-09 2017-11-07 Oracle International Corporation Efficient data transfer between servers and remote peripherals
WO2007021269A1 (en) * 2005-08-15 2007-02-22 Mitsubishi Electric Research Laboratories Method, apparatus and system for multicast communication in a wireless multi-hop network
US7845012B2 (en) * 2005-11-18 2010-11-30 Toyota Motor Engineering & Manufacturing North America, Inc. System and method of intelligent agent identification for vehicle diagnostics
US8156208B2 (en) 2005-11-21 2012-04-10 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for service-to-device re-mapping for smart items
US8005879B2 (en) * 2005-11-21 2011-08-23 Sap Ag Service-to-device re-mapping for smart items
US7860968B2 (en) 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
US7836433B2 (en) * 2006-01-26 2010-11-16 Microsoft Corporation Analyzing binary code
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
US7421361B2 (en) * 2006-03-27 2008-09-02 Dell Products L.P. Automated factory install printer test process
US8522341B2 (en) 2006-03-31 2013-08-27 Sap Ag Active intervention in service-to-device mapping for smart items
US8671135B1 (en) * 2006-04-24 2014-03-11 Real-Time Innovations, Inc. Flexible mechanism for implementing the middleware of a data distribution system over multiple transport networks
US7827559B1 (en) 2006-04-24 2010-11-02 Real-Time Innovations, Inc. Framework for executing multiple threads and sharing resources in a multithreaded computer programming environment
US7783853B1 (en) 2006-04-24 2010-08-24 Real-Time Innovations, Inc. Memory usage techniques in middleware of a real-time data distribution system
US8060285B2 (en) * 2006-04-26 2011-11-15 Toyota Motor Engineering & Manufacturing North America, Inc. System and method of intelligent agent management using an overseer agent for use in vehicle diagnostics
US7890568B2 (en) * 2006-04-28 2011-02-15 Sap Ag Service-to-device mapping for smart items using a genetic algorithm
US8296408B2 (en) * 2006-05-12 2012-10-23 Sap Ag Distributing relocatable services in middleware for smart items
US20070271584A1 (en) * 2006-05-16 2007-11-22 Microsoft Corporation System for submitting and processing content including content for on-line media console
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US8131838B2 (en) 2006-05-31 2012-03-06 Sap Ag Modular monitor service for smart item monitoring
US8065411B2 (en) 2006-05-31 2011-11-22 Sap Ag System monitor for networks of nodes
US8296413B2 (en) 2006-05-31 2012-10-23 Sap Ag Device registration in a hierarchical monitor service
US7729825B2 (en) * 2006-06-29 2010-06-01 Toyota Motor Engineering & Manufacturing North America, Inc. System and method of intelligent agent management using an agent interface for use in vehicle diagnostics
US8396788B2 (en) 2006-07-31 2013-03-12 Sap Ag Cost-based deployment of components in smart item environments
WO2008039759A2 (en) * 2006-09-25 2008-04-03 Intelligent Management Systems Corporation System and method for resource management
JP4838748B2 (ja) * 2007-03-30 2011-12-14 株式会社日立ソリューションズ 家電の自動運転システム
US20080306798A1 (en) * 2007-06-05 2008-12-11 Juergen Anke Deployment planning of components in heterogeneous environments
US20090007157A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Mapping Data Sources to a Procedural API
KR100974880B1 (ko) 2007-07-30 2010-08-11 영남대학교 산학협력단 유피엔피를 이용한 서비스 검색 및 서비스장애 감지방법
US7827266B2 (en) * 2007-07-31 2010-11-02 Hewlett-Packard Development Company, L.P. System and method of controlling multiple computer platforms
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8527622B2 (en) 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
US20090182812A1 (en) * 2008-01-14 2009-07-16 Paritosh Bajpay Method and apparatus for dynamic scaling of data center processor utilization
US7519701B1 (en) * 2008-02-15 2009-04-14 International Business Machines Corporation System and method of propagating status among related entities
JP2009266106A (ja) * 2008-04-28 2009-11-12 Hitachi Ltd 管理装置及び管理方法
US20100031242A1 (en) * 2008-07-31 2010-02-04 Motorola, Inc. Method and apparatus for provisioning a node with executable code
US8346735B1 (en) * 2008-09-30 2013-01-01 Emc Corporation Controlling multi-step storage management operations
US8250196B2 (en) * 2008-10-27 2012-08-21 Microsoft Corporation Script based computer health management system
US8495657B1 (en) * 2009-06-12 2013-07-23 American Megatrends, Inc. Virtualized management objects
US9973446B2 (en) 2009-08-20 2018-05-15 Oracle International Corporation Remote shared server peripherals over an Ethernet network for resource virtualization
WO2011044949A1 (en) * 2009-10-16 2011-04-21 Frischknecht, Harry Method to link devices with each other via a network
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
KR101698354B1 (ko) * 2010-07-16 2017-01-23 삼성전자주식회사 홈 네트워크에서 멀티캐스트 메시지를 이용하여 복수 개의 원격 사용자 인터페이스 서버들을 제어하기 위한 장치 및 방법
US9331963B2 (en) 2010-09-24 2016-05-03 Oracle International Corporation Wireless host I/O using virtualized I/O controllers
US10194314B2 (en) * 2010-10-22 2019-01-29 Blackberry Limited Method and system for identifying an entity in a mobile device ecosystem
US9032053B2 (en) * 2010-10-29 2015-05-12 Nokia Corporation Method and apparatus for upgrading components of a cluster
US9547575B2 (en) * 2011-08-30 2017-01-17 Amazon Technologies, Inc. Managing host computing devices
US9063764B2 (en) * 2012-05-24 2015-06-23 Kaseya Limited Automated software script creator and editor
US9262208B2 (en) * 2012-08-20 2016-02-16 International Business Machines Corporation Automated, controlled distribution and execution of commands and scripts
US9083550B2 (en) 2012-10-29 2015-07-14 Oracle International Corporation Network virtualization over infiniband
US9916068B1 (en) * 2013-03-13 2018-03-13 Ca, Inc. Graphical user interface for displaying alarm security level of groups of elements
AT515454A3 (de) * 2013-03-14 2018-07-15 Fts Computertechnik Gmbh Verfahren zur Behandlung von Fehlern in einem zentralen Steuergerät sowie Steuergerät
CN105451310A (zh) * 2015-03-12 2016-03-30 白昀 一种物联网中可用Wi-Fi的传感器的节能方法及其推导方法
US10654339B2 (en) * 2016-06-24 2020-05-19 Thermo King Corporation Method of pairing a sensor node for a transport refrigeration system using an assisting device, an assisting device for pairing a sensor node and a pairing system for a transport refrigeration system
US10305750B1 (en) * 2016-07-29 2019-05-28 Juniper Networks, Inc. Methods and apparatus for centralized configuration management of heterogenous network devices through software-based node unification
US10514993B2 (en) 2017-02-14 2019-12-24 Google Llc Analyzing large-scale data processing jobs
US11153173B1 (en) * 2019-09-10 2021-10-19 Juniper Networks, Inc. Dynamically updating compute node location information in a distributed computing environment

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6412364A (en) * 1987-07-06 1989-01-17 Nippon Telegraph & Telephone System constitution control system
JPH08152903A (ja) * 1994-11-28 1996-06-11 Fujitsu Ltd マルチプロセッサシステム
JPH09218842A (ja) * 1996-02-14 1997-08-19 Fujitsu Ltd ロードシェアシステム
WO1998000790A1 (fr) * 1996-07-01 1998-01-08 Fujitsu Limited Procede et dispositif de gestion de l'utilisation des ressources partagees par plusieurs groupes
WO1998009402A1 (en) * 1996-08-27 1998-03-05 Metrix S.A. Management of computer workstations
JPH11316747A (ja) * 1997-11-04 1999-11-16 Digital Equip Corp <Dec> 多数のオペレ―ティングシステムインスタンス及びソフトウェア制御式リソ―ス割り当てを伴うマルチプロセッサコンピュ―タア―キテクチャ
JP2000057116A (ja) * 1998-08-06 2000-02-25 Hitachi Ltd 複合計算機システム運転制御方式
JP2000151599A (ja) * 1998-11-12 2000-05-30 Toshiba Corp ネットワーク管理システム及び同システムに適用するネットワーク管理方法
US6220768B1 (en) * 1996-06-28 2001-04-24 Sun Microsystems, Inc. Network asset survey tool for gathering data about node equipment
WO2001057685A1 (en) * 2000-01-31 2001-08-09 Fujitsu Limited Server determining method and device
US20010032239A1 (en) * 2000-04-18 2001-10-18 Atsushi Sashino Object management system and method for distributed object system
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594688B2 (en) * 1993-10-01 2003-07-15 Collaboration Properties, Inc. Dedicated echo canceler for a workstation
US5987504A (en) * 1996-12-31 1999-11-16 Intel Corporation Method and apparatus for delivering data
US6125394A (en) * 1997-06-06 2000-09-26 At&T Corporation Computer system having a plurality of resources and utilizing a selection mechanism to select the resources based upon historical loading
US5978381A (en) * 1997-06-06 1999-11-02 Webtv Networks, Inc. Transmitting high bandwidth network content on a low bandwidth communications channel during off peak hours
IL121898A0 (en) 1997-10-07 1998-03-10 Cidon Israel A method and apparatus for active testing and fault allocation of communication networks
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6839723B2 (en) * 2000-08-29 2005-01-04 Fujitsu Limited Information management system

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6412364A (en) * 1987-07-06 1989-01-17 Nippon Telegraph & Telephone System constitution control system
JPH08152903A (ja) * 1994-11-28 1996-06-11 Fujitsu Ltd マルチプロセッサシステム
JPH09218842A (ja) * 1996-02-14 1997-08-19 Fujitsu Ltd ロードシェアシステム
US6220768B1 (en) * 1996-06-28 2001-04-24 Sun Microsystems, Inc. Network asset survey tool for gathering data about node equipment
WO1998000790A1 (fr) * 1996-07-01 1998-01-08 Fujitsu Limited Procede et dispositif de gestion de l'utilisation des ressources partagees par plusieurs groupes
WO1998009402A1 (en) * 1996-08-27 1998-03-05 Metrix S.A. Management of computer workstations
JPH11316747A (ja) * 1997-11-04 1999-11-16 Digital Equip Corp <Dec> 多数のオペレ―ティングシステムインスタンス及びソフトウェア制御式リソ―ス割り当てを伴うマルチプロセッサコンピュ―タア―キテクチャ
JP2000057116A (ja) * 1998-08-06 2000-02-25 Hitachi Ltd 複合計算機システム運転制御方式
JP2000151599A (ja) * 1998-11-12 2000-05-30 Toshiba Corp ネットワーク管理システム及び同システムに適用するネットワーク管理方法
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
WO2001057685A1 (en) * 2000-01-31 2001-08-09 Fujitsu Limited Server determining method and device
US20020116437A1 (en) * 2000-01-31 2002-08-22 Fujitsu Limited Server decision method and device thereof
US20010032239A1 (en) * 2000-04-18 2001-10-18 Atsushi Sashino Object management system and method for distributed object system
JP2001306537A (ja) * 2000-04-18 2001-11-02 Hitachi Ltd 分散オブジェクトシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017049939A (ja) * 2015-09-04 2017-03-09 株式会社日立ソリューションズ 計算機システム及びデータ配布方法

Also Published As

Publication number Publication date
JP2003099410A (ja) 2003-04-04
JP5394123B2 (ja) 2014-01-22
DE60205539T2 (de) 2006-02-16
US7237243B2 (en) 2007-06-26
US20030037177A1 (en) 2003-02-20
EP1267518A3 (en) 2003-11-19
DE60205539D1 (de) 2005-09-22
EP1267518A2 (en) 2002-12-18
ATE302512T1 (de) 2005-09-15
EP1267518B1 (en) 2005-08-17

Similar Documents

Publication Publication Date Title
JP5394123B2 (ja) 複数装置管理の方法およびシステム
US8312115B2 (en) Network booting apparatus and method
US7290258B2 (en) Managing multiple devices on which operating systems can be automatically deployed
US8639798B2 (en) Managing configuration items
US8782098B2 (en) Using task sequences to manage devices
US7711803B2 (en) Method and system for management and configuration of remote agents
JP4473153B2 (ja) ネットワーク構成のチェックおよび修理のための方法、システムおよびプログラム
US8612574B2 (en) Computer system for managing configuration item, and method and computer program therefor
US8171119B2 (en) Program deployment apparatus and method
JP5241319B2 (ja) ネットワーク上に配置された構成要素についての情報を検出するためのパスワードを管理するコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US7856496B2 (en) Information gathering tool for systems administration
JP5340610B2 (ja) 複数の構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20060080667A1 (en) Method and apparatus for applying policies
US11706080B2 (en) Providing dynamic serviceability for software-defined data centers
US20030009657A1 (en) Method and system for booting of a target device in a network management system
JP2010009552A (ja) ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8819200B2 (en) Automated cluster node configuration
US8086659B2 (en) Task sequence interface
US8200823B1 (en) Technique for deployment and management of network system management services
JP5239072B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
Heiss Enterprise Rollouts with JumpStart.
Kim et al. Design of platform management provider based on HPI manageability block using CIM/WBEM standards
JP2003099145A (ja) インストーラ及びコンピュータ
Agent et al. PATROL® for Microsoft Windows Servers Release Notes

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130308

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130723

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130725

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130801

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131016

R150 Certificate of patent or registration of utility model

Ref document number: 5394123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term