JP4716637B2 - System and method for automating management of computer services and programmable devices - Google Patents
System and method for automating management of computer services and programmable devices Download PDFInfo
- Publication number
- JP4716637B2 JP4716637B2 JP2002245861A JP2002245861A JP4716637B2 JP 4716637 B2 JP4716637 B2 JP 4716637B2 JP 2002245861 A JP2002245861 A JP 2002245861A JP 2002245861 A JP2002245861 A JP 2002245861A JP 4716637 B2 JP4716637 B2 JP 4716637B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- life cycle
- programmable device
- transition
- service
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Description
【0001】
【発明の属する技術分野】
関連特許出願の相互参照
本願は、2001年8月24日出願の米国特許仮出願第60/314,785号の特典を主張する。
【0002】
本発明は、一般にプログラマブルデバイスおよびコンピュータサービスの管理に関し、より詳細には、プログラマブルデバイスまたはコンピュータサービスのライフサイクルについて、プログラマブルデバイスまたはコンピュータサービスを動的に管理する方法およびシステムに関する。
【0003】
【従来の技術】
コンピューティングデバイスおよび「スマートな」機器などのプログラマブルデバイスは、通常、プログラマブルデバイス、或いは、プログラマブルデバイス上にインストールされた1つまたは複数のアプリケーションプログラムによって使用されるオペレーティングシステムが定義する1つまたは複数の目的を満たすことができる。
【0004】
プログラマブルデバイスを配置し、供給するために、ユーザは、通常、オペレーティングシステムを手動で順次インストールし、1つまたは複数のアプリケーションプログラムをインストールし、そのオペレーティングシステムとアプリケーションプログラムが共同して機能するように構成しなければならない。
【0005】
このプロセスは、当該オペレーティングシステムおよびアプリケーションプログラムの複雑さによっては非常に時間をとる可能性があり、より典型的には、複雑なスクリプトと特化した開発とを必要とする。企業環境または商環境においては、このプロセスが数百、数千ものプログラマブルデバイスに対して反復されなければならないことも珍しくはない。
【0006】
【発明が解決しようとする課題】
プログラマブルデバイスを供給するために時間が必要であるという性質は、特定のデバイスに故障やエラーが発生した場合にも厄介である。例えば、プログラマブルデバイスを交換する必要がある場合、サービス供給業者はオペレーティングシステム、アプリケーションプログラムを手動でインストールし、故障したプログラマブルデバイスと交換するために新しいプログラマブルデバイスを構成する必要がある。このプロセスは完了するために数時間を要する場合があり、その間、顧客は、売上高に損失を出すなどの問題を蒙りかねない。
【0007】
業界は上記の問題を既に認識しており、プログラマブルデバイスをオンライン化する非常に異なる技術を開発中である。例えば、プログラマブルデバイスの供給を自動化するための技術が開発されている。プログラマブルデバイスの配置の一部を自動化するための技術も開発されている。これらメーカー独自の技術によって、プログラマブルデバイスを配置し、供給するために現場で求められている高度の専門技術がもたらされたが、この専門技術は経験豊富な、費用の掛かる希少な人材を必要とするものである。
【0008】
また、特定のタスクを処理するコンピュータサービスが、消費者を支援するために形成されてきた。例えば、プログラマブルデバイスを供給するサービスが提供される。これらのコンピュータサービスによって最終消費者は以前と比べて楽になった。しかし、このサービスは、大量のプログラマブルデバイスを配置し供給するために必要な労力は低減しない。一部のサービスは、大量のプログラマブルデバイスの配置、供給、保守に必要な労力を増大させるものである。さらに、これらのサービスは、サードパーティが配置および供給のプロセスに付加価値ツールを追加するための機構は1つも提供しない。
【0009】
関連する問題は、プログラマブルデバイスが一旦配置され、供給されると、費用が高額なために、ユーザ/オーナーがプログラマブルデバイスを再度供給する可能性が低いということである。さらに、技術の多くは、基礎をなすハードウェアと密接に結び付いている。ハードウェアの発展に伴い、相手先商標製造会社(「OEM」)はそのハードウェアを構成するためのユーティリティを供給する。これらのユーティリティはメーカー独自の技術とは互換性のない場合がしばしばであり、それが、そのハードウェアを管理するための労力を増大させる原因となっている。したがって、これらのメーカー独自の技術は、プログラマブルデバイスとその基礎をなすハードウェアをサポートするために必要な仕事量を増大させ、より高い技術レベルを要求することに繋がることがしばしばである。
【0010】
そこで、本発明の目的は、プログラマブルデバイスのライフサイクルのための機能を配置し、供給することにより、その機能をサポートするために要求される仕事量と技術レベルとを低減させ、安価な管理する方法および装置を提供することにある。
【0011】
【課題を解決するための手段】
本明細書で使用する場合、機能という用語は、コンピュータサービス、プログラマブルデバイス、またはコンピュータサービスとプログラマブルデバイスの組み合わせを意味する。
【0012】
より具体的には、本発明によれば、機能のライフサイクルに対していくつかの状態が定義されており、1つの状態から別の状態に機能を移す遷移が、トリガーイベントに応答して開始される。機能のプログラマブルデバイスの部分に対して定義される状態は、未テストの状態、テスト済みの状態、未配置の状態、配置済みの状態、準備済みの状態、供給済みの状態、サービス中の状態、トラブルの状態、およびリタイヤの状態を含む。
【0013】
ライフサイクルのコンピュータサービスの部分に対して定義された状態は、未テストの状態、テスト済みの状態、計画済みの状態、供給済みの状態、オンラインの状態、トラブルの状態、リタイヤの状態を含む。各機能は、これらの状態のどれか1つであるか、またはある状態から別の状態に遷移中のプロセスにある。
【0014】
後続の複数の手順のセットは、定義された状態間での機能の遷移に対して定義される。一実施形態では、手順のセットは、テスト/開発する手順、計画する手順、配置する手順、準備する手順、および整備する手順を含む。
【0015】
より具体的には、テスト/開発する手順では、計画されているインストールに関して性能と信頼性のテストが実行され、システムのイメージが作成される。イメージを記憶するためにイメージリポジトリが使用される。
【0016】
計画する手順では、追加の容量を加えるためにニーズを予想して定量化し、そのニーズを満たすために資源計画が実行される。配置する手順では、あるインストール位置にインストールされるべき機能の構成要素がそのインストール位置で受信され、インストールされる。一旦インストールされると、準備する手順および供給する手順は、機能が構成され供給される場合に実行される。必要に応じて、ストレージとネットワーク資源も供給される。
【0017】
本発明は、ソフトウェア開発者とエンドユーザに対して、自動化を推進するインフラストラクチャにプラグインすることのできる製品を開発する能力、または特定タイプの機能用モジュールにプラグインする能力を提供する柔軟で拡張可能なインフラストラクチャを実現する。
【0018】
一実施形態では、これは、1つの上層インターフェースと複数インターフェースの下層部分とを提供することによって達成される。上層インターフェースは、開発者とエンドユーザに対して、インフラストラクチャにプラグインするアプリケーションまたはスクリプト(すなわち製品)の1つのセット全体でライフサイクルを使用または駆動するソリューションを作成する1つの方法を提供する。下層インターフェースは、特定のハードウェア(例えば、ウェブ機器、ネットワークアタッチドストレージ(「NAS」)機器など)および/またはソフトウェアを配置するプロバイダ、ロードバランサーなどのハードウェアおよびソフトウェアをネットワーク接続するプロバイダ、およびストレージエリアネットワークデバイスのプロバイダを含めて、いくつかのタイプのプロバイダに対応する。
【0019】
本発明のこの他の機能および利点は、添付の図面を参照しながら進める以下の例示的実施形態の詳細な説明から明らかになろう。
【0020】
頭記の特許請求の範囲は、本発明の機能を特徴と共に記述しているが、本発明は、その目的および利点と共に、添付の図面に関連した以下の詳細な説明を読むことによって最もよく理解することができよう。
【0021】
【発明の実施の形態】
図面を参照すると、類似の要素を同じ参照番号で示し、本発明は適切な環境で実施される。必ずしも必要ではないが、本発明は、プログラムモジュールなどの、プログラマブルデバイスによって実行されているコンピュータ実行可能命令の一般的な状況において説明する。
【0022】
一般に、プログラムモジュールには、特定タスクを実行するか、または特定の抽象的データタイプを実施するルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。さらに、当業者であれば、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、ウェブベースの機器を含むマイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品などを含めて、多くのタイプのプログラマブルデバイスによって実施することができることを理解するだろう。
【0023】
本発明は、通信ネットワークを介してリンクされている遠隔プロセッシングデバイスによってタスクが実行される分散型コンピューティング環境でも実施することができる。分散型コンピューティング環境では、プログラムモジュールは、ローカルおよび遠隔のメモリストレージデバイスに配置することができる。
【0024】
図1は、本発明が動作する全体的なアーキテクチャの一例を示す。
【0025】
ライフサイクル管理システム20は、機能22の配置、供給、操作管理を自動化する。先に指摘したように、この機能は、コンピュータサービス、プログラマブルデバイス、またはコンピュータサービスとプログラマブルデバイスの組み合わせであってよい。限定はしないが例示として、この機能はウェブサービス、印刷サービス、1つまたは複数のサーバ、1つまたは複数のストレージデバイス、1つまたは複数のルータ、データセンターなどであってよい。
【0026】
以下の説明で、手順が機能のプログラマブルデバイスの部分で実行されている場合は、機能22をプログラマブルデバイス22と称する。例えば、機能がウェブサービスの場合、ウェブサービスを実施するために使用されるプログラマブルデバイス(例えば、サーバ)にコンテンツとアプリケーションが追加される。コントローラ24は、あるライフサイクル状態から別のライフサイクル状態に機能22を移すソフトウェアエンジンを有する。ライフサイクル管理システム20は、OEM、サービス供給業者、および他の開発者に対して、あるライフサイクル状態から別のライフサイクル状態に機能22を遷移するようコントローラ24をトリガーするために使用されるモジュールの開発を可能にする自動化インターフェース26を有する。
【0027】
このモジュールは、例えば、ポリシー/管理アプリケーション28、コントローラスクリプト30、およびウェブ/ワイヤレスユーザインターフェース32を含むことができる。ポリシー/管理アプリケーション28は、顧客の問題または課題に対処するポリシー規則およびテンプレートを追加する。コントローラスクリプト30は、クライアントに対して、プログラマブルデバイス22をあるライフサイクル状態から別のライフサイクル状態に移すことを可能にするために使用される。ウェブ/ワイヤレスインターフェース32は、各種人員に対する機能を実施する。例えば、各種人員のクラスに対して複数のインターフェースがあり、各インターフェースが特定の人員のクラスに対する所望の機能だけを提供する場合がある。
【0028】
インターフェースのセットは、OEM、サービス供給業者、および他の開発者に対して、特定タイプのプログラマブルデバイスに特有のモジュールをプラグインする能力、またはその機能をサポートするハードウェアを提供する。インターフェースのセットは、配置インターフェース34、イメージングインターフェース36、ウェブ機器インターフェース38、およびNAS(ネットワークアタッチドストレージ)機器インターフェース40を含む。図示はしないが、多くの他のタイプのインターフェースを使用することができることが理解されよう。配置インターフェース34は、OEM、サービス供給業者、および他の開発者に対して、特定のハードウェアおよびBIOSのタイプ(例えば、未フォーマットのプログラマブルデバイスでのBIOS構成、およびネットワークオペレーティングシステムのインストール)を配置する能力を提供する。イメージングインターフェース36は、イメージリポジトリ52に追加するため、またはイメージリポジトリ52のイメージを変更するためにイメージングマネージャ(図示せず)と通信するために使用される。ウェブ機器インターフェース38およびNAS機器インターフェース40は、ウェブ機器およびNAS機器と通信するために使用される。
【0029】
一連の供給業者および/またはアブストラクションは、機能22の配置に必要となるハードウェアと通信する能力をシステム20に提供する。アブストラクションは、ネットワークアブストラクション42、ストレージアブストラクション44、および他のアブストラクション46を含む。ネットワークアブストラクション42はハードウェアのロードバランサー、ルータ、ファイアウォールなどのアブストラクションを提供する。ストレージアブストラクション44は、スイッチおよび他のルーティングデバイスなど、ストレージエリアネットワークで使用されるハードウェアのアブストラクション、ホストバストアダプタのアブストラクション、およびストレージエリアネットワークに接続したストレージエンクロージャおよびテープライブラリなどのデバイスのアブストラクションなどを提供する。
【0030】
コントローラ24は、ライフサイクルの状態間で機能22を遷移するためのコマンドスクリプトモジュール50および他のプログラムモジュールを使用する。オペレーティングシステムおよび/またはプログラムをプログラマブルデバイスにインストールするために使用されるイメージは、イメージリポジトリ52に記憶される。ストア54は、機能22に関する識別および位置情報を記憶する。
【0031】
図2は、本発明を実施することができる適切なプログラマブルデバイス100の一例を示す。
【0032】
プログラマブルデバイス100は、適切なコンピューティング環境の一例であるにすぎず、本発明の用途または機能の範囲に関していかなる限定をも示唆することを意図してはいない。
【0033】
本発明は、多数の他の汎用または専用プログラマブルデバイスによって動作可能である。本発明の用途に適応する可能な周知のプログラマブルデバイスの例としては、限定はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスの任意のものを含む分散型コンピューティング環境などを含む。
【0034】
本発明は、プログラムモジュールなどの、プロセッサによって実行されるコンピュータ実行可能命令の一般的状況において説明することができる。一般に、プログラムモジュールには、特定タスクを実行し、または特定の抽象的なデータタイプを実施するルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。本発明は、通信ネットワークを介してリンクされる遠隔プロセッシングデバイスによってタスクが実行される分散型コンピューティング環境でも実施することができる。分散型コンピューティング環境では、プログラムモジュールはメモリストレージデバイスを含めてローカルおよび遠隔のコンピュータ記憶媒体に入れることができる。
【0035】
図2を参照すると、例示的プログラマブルデバイスには、コンピュータ110の形式による汎用コンピューティングデバイスが含まれる。コンピュータ110の構成要素は、限定はしないが、プロセッシングユニット120、システムメモリ130、およびシステムメモリを含む各種システム構成要素をプロセッシングユニット120に結合するシステムバス121を含むことができる。システムバス121は、様々なバス構造のどれかを使用するメモリバスまたはメモリコントローラ、周辺バスおよびローカルバスを含めていくつかのタイプのバス構造のどれであってもよい。限定はしないが例示として、このようなアーキテクチャには、業界標準アーキテクチャ(Industry Standard Architecture)(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子規格協会(Video Electronics Standards Associate)(VESA)ローカルバス、およびMezzanineバスとしても知られている周辺コンポーネント相互接続(PCI)バスが含まれる。
【0036】
コンピュータ110は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセスできるいかなる使用可能な媒体であってもよく、揮発性および不揮発性媒体、取り外し可能および非取り外し可能媒体の両方を含む。限定はしないが例示として、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するためのいかなる方法または技術によっても実施される揮発性および不揮発性、取り外し可能および非取り外し可能媒体の両方を含む。コンピュータ記憶媒体は、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、または所望の情報を記憶するために使用することができ、かつコンピュータ110によってアクセス可能な他のいかなる媒体をも含む。
【0037】
通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、あるいは搬送波または他の搬送機構などの変更されたデータ信号形式による他のデータを実施し、また、いかなる情報伝達媒体をも含むものである。「変更されたデータ信号」という用語は、情報を信号形式に符号化するような方法で、その1つまたは複数の特徴をセットまたは変更させた信号を意味する。限定はしないが例示として、通信媒体は、有線ネットワークまたは直接配線式接続などの有線媒体、および、音響、RF、赤外線および他のワイヤレス媒体などのワイヤレス媒体を含む。上記のもののどのような組み合わせでも、コンピュータ可読媒体の範囲に含まれるものとする。
【0038】
システムメモリ130は、読取専用メモリ(ROM)131、およびランダムアクセスメモリ(RAM)132などの揮発性および/または不揮発性メモリ形式のコンピュータ記憶媒体を含む。コンピュータ110内の素子間で情報を、例えば、起動中などに転送するために役立つ基本ルーチンを含む基本入出力システム133(BIOS)は、通常、ROM131に記憶されている。RAM132は、通常、プロセッシングユニット120によって迅速にアクセス可能で、かつ/または現行で操作を受けているデータおよび/またはプログラムモジュールを含んでいる。限定はしないが例示として、図2はオペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
【0039】
コンピュータ110は、他の取り外し可能/非取り外し可能、揮発性/不揮発性コンピュータ記憶媒体を含むこともできる。例示としてのみ、図2は、非取り外し可能な不揮発性磁気媒体に対して読書きするハードディスクドライブ141と、取り外し可能な不揮発性磁気ディスク152に対して読書きする磁気ディスクドライブ151と、CD ROMまたは他の光媒体などの取り外し可能な不揮発性光ディスク156に対して読書きする光ディスクドライブ155を示す。例示的オペレーティング環境で使用することのできるこの他の取り外し可能/非取り外し可能な揮発性/不揮発性コンピュータ記憶媒体は、限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどを含む。ハードディスクドライブ141は、通常、インターフェース140などの非取り外し可能メモリインターフェースを介してシステムバス121に接続されており、磁気ディスクドライブ151と光ディスクドライブ155は、通常、インターフェース150などの取り外し可能メモリインターフェースによってシステムバス121に接続されている。
【0040】
上記で議論し、図2に示したドライブとそれに関連するコンピュータ記憶媒体は、コンピュータ110に対して、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの記憶域を提供する。
【0041】
図2では、例えば、ハードディスクドライブ141はオペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147を記憶しているように示してある。これらの構成要素は、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同一であっても異なるものであってもよいことに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147には、それらが少なくとも異なるものであるということを示すために本明細書では異なる参照番号を付した。ユーザは、キーボード162、および、マウス、トラックボールまたはタッチパッドと一般に称されるポインティングデバイス161などの入力装置によってコマンドおよび情報をコンピュータ110に入力することができる。
【0042】
この他の入力装置(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。これらまたはこの他の入力装置は、システムバスに結合されたユーザの入力インターフェース160を介してプロセッシングユニット120に接続されることがよくあるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)などの他のインターフェースおよびバス構造によっても接続することができる。モニタ191またはこの他のタイプの表示装置も、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。モニタの他に、コンピュータは、拡声器197、プリンタ196などの、出力周辺インターフェース195を介して接続することのできる他の周辺出力装置を含むこともできる。
【0043】
コンピュータ110は、遠隔コンピュータ180などの1つまたは複数の遠隔コンピュータに対する論理接続を使用したネットワーク接続環境で動作することができる。遠隔コンピュータ180は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはこの他の一般的なネットワークノードであってよく、通常は、パーソナルコンピュータ110に関して上述した多くの要素またはすべての要素を含むが、但し、図2にはメモリストレージデバイス181しか示さない。図2に示す論理接続には、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173が含まれるが、さらに他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【0044】
LANネットワーキング環境で使用される場合、パーソナルコンピュータ110はネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される場合、コンピュータ110は、通常、モデム172、または、WAN173を介したインターネットなどの通信を確立するための他の手段を含む。内部であっても外部であってもよいモデム172は、ユーザ入力インターフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク接続環境では、パーソナルコンピュータ110に関連して上述したプログラムモジュールまたはその一部は、遠隔メモリデバイスに記憶することができる。限定はしないが例示として、図2は、遠隔アプリケーションプログラム185をメモリデバイス181に常駐しているように示す。図示するネットワーク接続は一例であって、コンピュータ間に通信リンクを確立する他の手段を使用することも可能であることが理解されよう。
【0045】
以下の説明では、本発明は、特に指定しない限り、1つまたは複数のコンピュータによって実行される作用と動作の記号による表記とを参照して記述する。
【0046】
したがって、コンピュータによって実行されると称されることのあるそのような作用および動作には、コンピュータのプロセッシングユニットによる、構造化された形式のデータを表す電子信号の操作が含まれる。この操作はデータを変化させ、またはコンピュータのメモリシステム内の位置にそのデータを保持するが、これは、当業者ならばよく理解している方法でコンピュータの動作を再構成するか、そうでない場合はそれを変更する。データが維持されるデータ構造は、データのフォーマットによって定義される特定の特性を有するメモリの物理的位置である。
【0047】
しかし、本発明は上記の状況で説明されるが、以下で記述する様々な作用および動作はハードウェアでも実施することができるということを当業者ならば理解するように、限定を意図するものではない。データセンターにおけるサーバまたはサーバ機器のライフサイクルを、本発明の説明に使用する。本発明は、本発明がこの他の多くのタイプのプログラマブルデバイスをそのライフサイクル全体にわたって計画し、配置し、供給し、管理することができると当業者ならば理解するように、サーバまたはサーバ機器に限定することを意図するものではない。
【0048】
次に、図3および図4を参照すると、典型的なライフサイクル200の状態が一実施形態に関して示されている。
【0049】
図3は、プログラマブルデバイスに関する状態を示し、図4は、その実施形態に関するコンピュータサービスに関する状態を示す。当業者ならば、機能のライフサイクルの状態はいくつでも在り得るということを理解するだろう。
【0050】
図3に示した実施形態におけるプログラマブルデバイスの典型的な状態は未テストの状態202、テスト済みの状態204、未配置の状態206、配置済みの状態208、準備済みの状態210、供給済みの状態212、サービス中の状態214、トラブルの状態216、リタイヤの状態218である。
【0051】
図4に示したコンピュータサービスの典型的な状態は、未テストの状態202、テスト済みの状態204、計画済みの状態250、供給済みの状態212、オンラインの状態214、トラブルの状態216、およびリタイヤの状態218である。オンラインの状態はサービス中の状態と同じである。
【0052】
以下の記述では、機能のプログラマブルデバイスの部分に対する遷移およびトリガーイベントを説明し、状態が同一または類似の場合に関して、機能のコンピュータサービスの部分への参照を議論する。プログラマブルデバイスとは異なる状態、トリガーイベント、およびサービスの遷移は別途議論する。
【0053】
コントローラ24は、トリガーイベントの受信に応答して機能22をある状態から別の状態に遷移するために遷移を開始する。トリガーイベントは、様々な方法でコントローラ24によって受信することができる。例えば、トリガーイベントはシンプルネットワーク管理プロトコル(SNMP)またはウィンドウズ(登録商標)マネジメントインスツルメント(WMI)管理アプリケーションからの出力、システムイベント、複数の入力に応答するオペレーショナルロジック、様々な入力および所定のポリシーの実施に応答するポリシーコードなどをユーザが手動で入力するか、自動化することができる。コントローラ24は機能22をある状態から別の状態に遷移するための手順のセットを使用する。状態間におけるそれぞれの遷移は、自動化された独自の手順のセットを有する。
【0054】
次に、図5から図9を参照すると、機能22をあるライフサイクルの状態から別のライフサイクルの状態に遷移するためのトリガーイベントと手順のセットが示されている。未テストの状態202からテスト済みの状態204に遷移するためのトリガーイベントは、新しい機能22を開発し、テストするときに行われる。
【0055】
図5を参照すると、機能をテスト済みの状態に遷移するために使用されるテスト/開発手順220で実施される初期ステップは、遷移中に実施されるべきタスクを決定する(ステップ300)。
【0056】
コンピュータサービスを有する機能の場合、実施されるべきタスクは、そのサービスを実行するために必要となる任意のプログラマブルデバイスを構築することと、そのプログラマブルデバイスのテストの実行を含む。プログラマブルデバイスを有する機能の場合、実施されるタスクは、イメージをアップグレードすることと、新しいイメージを作成することと、アップグレードされたイメージまたは新しいイメージをテストすることを含む。本明細書で使用されるイメージはプログラム、オペレーティングシステム、データ、またはプログラムとオペレーティングシステムとデータの組み合わせの複製、コピー、または表現である。
【0057】
新しいイメージが作成される場合(ステップ302)、オペレーティングシステムとアプリケーションがある場合は、それらが基準システムにインストールされる(ステップ304)。基準システムは、プログラマブルデバイス22と同じタイプのプログラマブルデバイスである。インストールされたシステムは基準システム上でテストされ(ステップ306)、そのシステムが正確に機能しているかどうかの決定がなされる(ステップ308)。
【0058】
システムが正確に機能していない場合、そのシステムが正確に機能するまで調整が行われる(ステップ310)。システムが正確に機能している場合、当技術分野で周知のツールを使用してシステムイメージ化され、そのイメージがイメージリポジトリ52に転送される(ステップ312)。そのイメージは、次いでイメージリポジトリ52からテストシステムにコピーされ(ステップ314)、イメージリポジトリ52にあるイメージが、互換性、信頼性、性能などの点で正確に機能しているかどうかを検証するためにテストされる(ステップ316)。
【0059】
イメージが検証されると、そのイメージを適格とみなしてプログラマブルデバイス22に配置することができることを示すために、イメージリポジトリ52内にタグが作成される。そうでない場合、そのイメージが適格とみなされることを示すためにストア54が更新される。
【0060】
既存のイメージがアップグレードされる場合(ステップ318)、既存のイメージがイメージリポジトリ52からコピーされ、基準システムにインストールされる(ステップ320)。更新(例えば、サービスパックおよび他のフィックス)が既存のイメージに適用され、更新されたイメージがイメージリポジトリ52にコピーして戻される(ステップ322)。アップグレードされたイメージがイメージリポジトリ52からテストシステムにコピーされ(ステップ326)、テストされる(ステップ328)。
【0061】
動作を検証するために新しいイメージまたはアップグレードされたイメージがテストされると、新しいまたはアップグレードされたイメージがプログラマブルデバイス22にインストールされる。複数のプログラマブルデバイスがある場合(例えば、データセンター内のサーバ)、選択されたプログラマブルデバイス上またはすべてのプログラマブルデバイス上に新しいまたはアップグレードされたイメージがコピーされる。そうでない場合、変更をスクリプト記述し、その変更を直接プログラマブルデバイス上で実行することによって、プログラマブルデバイスを更新するためにコマンドスクリプトが使用される。手順220の上記のセットが完了すると、未テストの状態とテスト済みの状態間の遷移は完了し、機能22はテスト済みの状態204に入る。
【0062】
テスト済みの状態204から未配置の状態206に遷移するためのトリガーイベントは、プログラマブルデバイス内に追加容量を加えるため、または機能に追加のプログラマブルデバイスを加えるためにニーズが予想される場合に発生する(例えば、データセンター)。
【0063】
次に、図6を参照すると、需要計画および資源計画が、コントローラ24が遷移を開始した後に計画手順222で実行される(ステップ400)。
【0064】
顧客需要(例えば、新しい顧客、および、既存の顧客に対する容量の拡張)、マシンの交換(例えば、故障、リタイヤ)、余分の容量の維持、および予測需要計画に基づいてニーズを定量化し、企画するために需要計画が実行される。需要計画が完了すると、需要計画によって企画されたニーズを計画が満たすかどうかを判定するために、資源計画が実行される。資源計画には、計画物理資源(例えば、データセンター、ラック、スロット、など)、計画コンピュータ資源、計画ネットワーキングおよびストレージ資源(例えば、ルータ、スイッチ、ストレージデバイスなど)、および環境計画(例えば、電源および冷却要件、空間要件など)が含まれる。
【0065】
需要および資源計画から、事前識別(ステップ402)、および事前位置決め(ステップ404)が実行される。事前識別は要求されるアイテムを識別する。例えば、プログラマブルデバイス、マシン名などが識別される。事前位置決めは、プログラマブルデバイスに関する位置、スロット、ネットワーク設定などを識別する。上記の手順のセット222が完了すると、テスト済みの状態204と未配置の状態206間の遷移が完了し、機能22は未配置の状態206に入る。計画が不要の場合(例えば、プログラマブルデバイス22上のイメージがアップグレードされているなど)、プログラマブルデバイス22は直接、未配置の状態206に遷移する。
【0066】
プログラマブルデバイス22に配置の準備が整うと、コントローラ24は、配置済みの状態208への遷移を開始する。
【0067】
次に、図7を参照すると、配置する手順224の第1のステップはインストールサイトでプログラマブルデバイス22を受信することになる(ステップ500)。プログラマブルデバイス22のインストールされる位置が決定され、プログラマブルデバイス22がインストールされる(ステップ502)。プログラマブルデバイス22が物理的位置にインストールされると、オペレータは、プログラマブルデバイス22を配置済みの状態に遷移するためのコマンドスクリプトモジュール50を使用するために、コントロールスクリプト30またはウェブ/ワイヤレスインターフェース32を介してコントローラ24を呼び出す。あるいは、ポリシーまたは管理アプリケーション28が、プログラマブルデバイス22を配置済みの状態に遷移するためのコマンドスクリプトモジュール50を使用するために自動的にコントローラ24を呼び出す。
【0068】
コントローラ24は、オペレーティングシステムがプログラマブルデバイス22上にインストールされているかどうかを検出する(ステップ504)。オペレーティングシステムがインストールされている場合、コントローラ24は、任意のOEMまたは顧客特有のサービスパックを追加するためのコマンドスクリプトモジュール50を使用し、必要に応じてBIOSを構成または再構成する(ステップ506)。
【0069】
プログラマブルデバイス22がPxE(ポータブル拡張可能環境(Portabl Executable Environment))をブートすることができる場合(ステップ508)、ロードされるべき特定イメージに(すなわち、使用されるべきオペレーティングシステムのイメージに)プログラマブルデバイス22を向けるためにPxEが使用され、そのイメージをプログラマブルデバイス22にロードする(ステップ510)。
【0070】
コマンドスクリプトモジュール50は初期ブートイメージをインストールし、必要に応じて任意のOEMまたは顧客特有のサービスパックを追加し、BIOSを構成または再構成する(ステップ512)。プログラマブルデバイス22がPxEをブートさせることができない場合、ロードされるべき特有イメージがプログラマブルデバイス22上に手動でインストールされる(ステップ514)。
【0071】
次いで、コマンドスクリプトモジュール50が初期ブートイメージをインストールし、必要に応じて任意のOEMまたは顧客特有のサービスパックを追加し、BIOSを構成または再構成する(ステップ516)。初期ブートイメージは、コントローラ24がプログラマブルデバイス22を検出し、それと通信することを可能にするエージェントを含む初期オペレーティング環境である。プログラマブルデバイス22には名称と他の識別子が割り当てられる。例えば、DHCPなどの自動システムまたは追加のコマンドスクリプトモジュール50を介してプログラマブルデバイス22にIPアドレスが割り当てられ、プログラマブルデバイス22はグループなどに割り当てられる。上記の手順のセット224が完了すると、遷移が完了し、プログラマブルデバイス22は配置済みの状態204に入る。
【0072】
一旦、プログラマブルデバイス22が配置されると、コントローラ24は準備済みの状態210への遷移を開始することができる。この遷移は、配置済みの状態208への遷移またはその後の時点に続いて即座に行うことができる。
【0073】
次に、図8を参照すると、準備済みの状態210に遷移するためのトリガーイベントは、「work queue entry」が作成され、タスクが定義されると発生する。コントローラ24は、ストア52が更新されたかどうかを検証するために「work queue entry」が作成されかどうかを確認し(ステップ600)、プログラマブルデバイス22に対するタスクがオペレータまたはポリシーによって定義されているかどうかを判定する(ステップ602)。
【0074】
タスクが定義されていないか、またはエントリが作成されていない場合、プログラマブルデバイス22の状態は再度配置済みの状態208に戻る。タスクが定義されており、エントリが作成されている場合、タスクに関連付けられたタスクイメージがイメージリポジトリ50からプログラマブルデバイス22にコピーされる(ステップ604)。プログラマブルデバイスは動作可能なポイントに供給される。この時点で、検証されたイメージはプログラマブルデバイス22に既にインストールされており、プログラマブルデバイス22は準備済みの状態に入る。
【0075】
プログラマブルデバイス22が準備されると、コントローラ24は、プログラマブルデバイスの役割が決定された時点で供給済みの状態210への遷移を開始する。本明細書で使用されるように、定義済みのタスクおよび完全に定義された供給設定を含めて、プログラマブルデバイスのジョブが完全に定義された時点で役割が決定される。
【0076】
次に、図9を参照すると、役割が定義されている場合、プログラマブルデバイス22が供給される。供給手順228には、識別供給(ステップ610)、ストレージ供給(ステップ612)、サービス供給(ステップ614)、ネットワーク供給(ステップ616)および追加供給(ステップ618)が含まれる。
【0077】
識別供給では、コマンドスクリプト50が通信アドレス(例えば、IPアドレス)およびプログラマブルデバイスのマシン名を、オーナー/顧客によって割り当てられたものに変更する。コマンドスクリプト50は、プログラマブルデバイスを識別するこの他の識別子も変更することができる。通信アドレス、マシン名、およびこの他の識別子がストア52に記憶される。さらに、プログラマブルデバイス22がグループまたはドメインに置かれている場合、コマンドスクリプト50はそのグループまたはドメインを顧客によって割り当てられたものに変更する。
【0078】
ストレージの供給では、コマンドスクリプト50はプログラマブルデバイス22上に任意のローカルストレージドライブをマッピングし、ネットワークドライブからそのローカルストレージドライブにデータをコピーする。プログラマブルデバイス22がストレージエリアネットワーク(SAN)にインストールされている場合、コマンドスクリプト50は、データを受信することができるように、ストレージアブストラクション44を使用してプログラマブルデバイス22をSANに入れる。プログラマブルデバイス22がNAS機器の場合、そのサイトに関するすべてのデータが収納されている場所を共有するために必要となる許可をプログラマブルデバイス22が有していることを確認するためにコマンドスクリプト50が使用される。
【0079】
サービス供給では、コントローラ24は通信構成を追加し、機器がプログラマブルデバイス22上にインストールされて構成される。ユーザのセキュリティ許可(例えば、ローカル管理者、パワーユーザなど)がプログラマブルデバイス22に追加される。
【0080】
プログラマブルデバイス22がネットワーク上にインストールされている場合、コントローラ24はネットワーク供給においてネットワークスイッチと通信し、プログラマブルデバイス22を特定LANに割り当てる。プログラマブルデバイス22および他のデバイスがロードバランスされるように、コマンドスクリプト50ドライブは、ネットワークのロードバランシングインフラストラクチャに変更する。
【0081】
必要に応じてプログラマブルデバイス22に追加供給が加えられる。追加供給は追加アプリケーションをインストールすること、ユーザを追加することなどを含むことができる。
【0082】
供給が完了すると、機能22は供給済みの状態212に入る。コマンドスクリプト50は、プログラマブルデバイス22をオンラインにするために実行される。サービス中の状態214に入ると、コントローラ24は、タスクの監視、管理および保守を実行する。タスクの監視には、プログラマブルデバイス22が準拠していることを確認するためにソフトウェアライセンスをトラッキングすることと、サービスレベル条件が満たされているかどうかを確認するためにサービスレベル条件を監視することが含まれる。サービスレベル条件が満たされていない場合、コントローラ24は、サービスを回復するためにどのアクションを取る必要があるかを決定する。
【0083】
コントローラ24は、電力管理に関して請求書を作成発行すること、および会計報告することを含めていくつかのレベルの管理を提供することができる。プログラマブルデバイス22が他のプログラマブルデバイスと共にラックにインストールされている場合、このラックを単一のエンティティとみなされて電力管理が実行される。新しいハードウェア設計が電力および冷却の負荷を上回ることはよくあることである。例えば、5年前に構成された典型的なデータセンターでは、サーバの42ユニットのラック(すなわち、プログラマブルデバイス)は約5,000ワットの最大電力消費を有している。現在のサーバで満杯になった42ユニットのラックは、10,000ワットを容易に超えてしまう。これに対する現在の解決策は、定格出力を超過しないように、ラックを完全にサーバで一杯にしないというものである。
【0084】
本発明によれば、サーバのラックを完全に満杯にして、単一電力および冷却エンベロープ内で管理することができる。各プログラマブルデバイス22は、42ユニットのラックが所定の定格(例えば、5,000ワット)を超過しないように、課された負荷に基づいて最適に電力を管理することができる。ラック内のすべてのサーバが任意の所与の時間内に全電力で稼動しなければならないということはほとんど有り得ない。したがって、この種の電力のロードバランシングは個々のサーバに対してほとんどまたは全く影響を与えないものと考えられる。したがって、これらのサーバは、その負荷に与えられた十分な電力だけで稼動することができ、ほとんどの場合、平均の統計は定格の最大限(本例では5000ワット)よりも低く負荷を維持することになる。
【0085】
コントローラ24は、「電力低下」または電力警報中に、顧客が均等に痛み分けするアルゴリズムを実施して、サーバの各ラックの電力エンベロープを低減するコマンドスクリプト50を使用することもできる。あるいは、割増金を支払っている顧客に対してはより多くの電力を供給するアルゴリズムを使用することができる。また、深夜の個々のデバイスが使用されていないときには、それらデバイスを低電力状態に遷移することができる。
【0086】
コントローラ24は、サービス中の状態における計画された保守の自動化も行う。計画された保守において実行されるタスクは、ホットフィックスのアプリケーション、セキュリティパッチ、オペレーティングシステムおよびアプリケーションのアップグレード、ハードウェアのアップグレード、機能のバックアップおよび回復、顧客のマイグレーション、セキュリティの管理および監査、およびセルフサービス供給(すなわち、アプリケーションのインストールおよび構成)を含む。
【0087】
サービス中の状態214にある間、コントローラ24は、機能が提供するサービスに予想外の破壊が発生した場合、機能をトラブルの状態216に遷移する。この破壊には、ウイルス、ハードウェアまたはソフトウェアを原因とする低速の応答時間(例えば、ボトルネック)および、ハードウェアまたはソフトウェアを原因とするひどい故障や断続的な故障が含まれる。トラブルの状態216において、コントローラ24は、予想外の破壊の原因を決定し、その原因の解消を試み、機能22をオンラインに戻す。機能22がオンラインに戻ると、サービス中の状態214に再び入る。
【0088】
サービス中の状態214にある間、機能22を再配置または再供給するようにコントローラに指示することができる。コントローラ24が機能を再配置または再供給するように指示される場合、機能22はオフラインに移され、供給済みの状態212に移される。機能22が再配置されるべき場合、供給済みの状態212から未配置の状態206に遷移するためのトリガーイベントが発生する。機能22の物理的所有権が変更した場合またはプログラマブルデバイス22の位置が変更した場合には再配置が行われる。
【0089】
次に、図10を参照すると、再配置が行われる場合(ステップ700)、コントローラ24が開始するプロセス230は、初期ブートイメージ以外のプログラマブルデバイス22上にインストールされているすべてのソフトウェアを削除し(ステップ702)、プログラマブルデバイス22を再配置する。これによって、プログラマブルデバイス22から消去されるすべてのデータと、プログラマブルデバイス22とは、配置のプロセス224を使用して配置済みの状態208に遷移する。
【0090】
コントローラ24が指示する再供給にはいくつかの程度がある。例えば、ロードリバランシングが行われる場合(例えば、2つの別個のウェブサイトの位置間でのロードバンランシング)またはピークロードバランシングが行われる場合(例えば、ニュース記事の公表によってウェブサイトへのトラフィックが増大し、その増大したトラフィックを処理するためにウェブ機器をそのニュースサイトドメインに移動する)、再供給が行われる。コントローラは、再供給が行われるべきかどうかを決定する(ステップ704)。供給が変更されるべきであり、コントローラ24がタスクを変更するよう指示を受ける場合(ステップ706)、コントローラ24は追加タスクが加えられているかどうかを確認する(ステップ708)。
【0091】
タスクが変更されるべきであり、既存のタスクが削除される場合、プログラマブルデバイス22上にインストールされたタスクイメージは削除される。新しいタスクイメージがインストールされ、プログラマブルデバイス22に対する新しい供給設定がストア54に記憶され(ステップ710)、コントローラはプログラマブルデバイスを配置済みの状態208に遷移する。タスクが変更され、新しいタスクが追加される場合、新しいタスクイメージがインストールされ、プログラマブルデバイス22のための新しい供給設定がストア54に記憶され(ステップ712)、コントローラはプログラマブルデバイスを配置済みの状態208に遷移する。
【0092】
タスクが変更されていない場合、コントローラ24は、役割が変更されたかどうかを判定する(ステップ714)。プログラマブルデバイスの役割が変更されていない場合、供給の更新が実行される。プログラマブルデバイス22は準備済みの状態210に遷移し(プロセス232)、供給のプロセス228を使用して設定が変更され(ステップ716)、プログラマブルデバイス22は供給状態212に遷移して戻される。プログラマブルデバイス714の役割が変更されている場合、再準備のプロセス234がプログラマブルデバイス22上で実行され、そこでプログラマブルデバイス22は再供給され、新しい供給設定が記憶され(ステップ718)、コントローラはプログラマブルデバイスを準備済みの状態210に遷移する。
【0093】
供給が変更されていない場合、コントローラ24は、プログラマブルデバイス22がアップグレードされたか、またはホットフィックスされたかを判定する(ステップ720)。プログラマブルデバイス22がアップグレードされたか、またはホットフィックスである場合、コントローラ24は、BIOSがプログラマブルデバイス上にインストールされている場合はBIOSがアップグレードされるべきかどうかを判定する(ステップ722)。BIOSがアップグレードされるべきでないか、またはプログラマブルデバイス22の1つではない場合、アップグレードイメージがプログラマブルデバイス22上にインストールされ、供給設定が回復され、プログラマブルデバイス22は配置済みの状態208に遷移する(ステップ724)。BIOSがアップグレードされるべき場合、プログラマブルデバイス22のすべてのパーティションが除去され(ステップ726)、プログラマブルデバイス22は未配置の状態206に遷移する。
【0094】
プログラマブルデバイス22がアップグレードされず、ホットフィックスでない場合、コントローラ24は、プログラマブルデバイス22にフィックスまたはアップグレードがインストールされた後でトラブルが発生した場合に、プログラマブルデバイス22が前の状態にロールバックしているかどうかを判定する(ステップ728)。プログラマブルデバイスがロールバックしている場合、アップグレード/ホットフィックス以前にプログラマブルデバイス22上にあったイメージはイメージリポジトリ52からプログラマブルデバイス22上にコピーされ、アップグレード/ホットフィックス以前のイメージからの供給設定が回復され(ステップ730)、プログラマブルデバイスは配置済みの状態208に遷移される。ロールバックが全く実行されていない場合、プログラマブルデバイス22は供給済みの状態208に戻される。
【0095】
プログラマブルデバイス22がサービスから削除される場合、プログラマブルデバイス22はリタイヤの状態216に移動する。プログラマブルデバイス22はリサイクルまたは破棄される。
【0096】
上述のように、コンピュータサービスの典型的な状態(図4参照のこと)には、未テストの状態202、テスト済みの状態204、計画済みの状態250、供給済みの状態212、オンラインの状態214、トラブルの状態216、リタイヤの状態218が含まれる。コンピュータサービス用の多くのトリガーイベントはプログラマブルデバイス用のものと同様である。新しいサービスが開発され、テストされる場合、未テストの状態202とテスト済みの状態204との間の遷移のためのトリガーイベントが発生する。サービスのためのテストおよび開発のプロセス220には、サービスに必要となる任意のプログラマブルデバイスおよび他のハードウェア/ソフトウェアを構築することと、プログラマブルデバイスおよびハードウェア/ソフトウェアのテストの実行が含まれる。
【0097】
プログラマブルデバイス内に追加容量を加えるため、またはサービスに追加のプログラマブルデバイスを加えるためにニーズが予想される場合、テスト済みの状態204から計画済みの状態250への遷移またはオンラインの状態214から計画済みの状態250への遷移がトリガーされる。計画のプロセス222で実行されるべきタスクには、既存のサービスに新しいサービスが追加されるかどうかを判定すること、ユーザ数を決定すること、およびサービスをサポートするために必要とされるプログラマブルデバイスの数を決定することが含まれる。一旦タスクが実行されると、サービスは計画済みの状態250に移される。
【0098】
コントローラ24は、計画済みの状態208への遷移の直後またはその若干後で、計画済みの状態250から供給済みの状態212への遷移を開始することができる。供給デバイスプロセスで実行されるタスク252には、サービスを実施するために必要なプログラマブルデバイスおよび他のハードウェア/ソフトウェアを順序付けること、プログラマブルデバイスのそれぞれを各プログラマブルデバイスが供給済みの状態212に遷移するまでライフサイクルを経過させることが含まれる(図3および図5〜図9を参照のこと)。
【0099】
一旦プログラマブルデバイスが供給されると、コントローラ24はプログラマブルデバイスのサービス中の状態214への遷移を開始し、サービスをオンラインの状態214に移動する。
【0100】
オンラインの状態214にある間、サービスの予想外の破壊が発生した場合、コントローラ24はサービス22をトラブルの状態216に遷移する。これらの破壊には、ウイルス、ハードウェアまたはソフトウェアによる低速の応答時間(例えば、ボトルネック)、およびハードウェアまたはソフトウェアによるひどい故障および断続的な故障が含まれる。トラブルの状態216では、コントローラ24は、予想外の破壊の原因を決定し、その原因を解消するように試み、サービス22をオンラインに遷移して戻す。サービス22がオンラインに戻ると、オンラインの状態214に再度入る。
【0101】
サービス22が最早必要ない場合、そのサービス22はリタイヤの状態216に遷移される。サービスに使用されるプログラマブルデバイスは、上述の手順に従って、リタイヤされるか、再配置されるか、再準備されるか、または再度供給される。
【0102】
各プログラマブルデバイスが独自のライフサイクルを有し、各サービスが独自のライフサイクルを有することが理解されよう。例えば、サービスがウェブサイトである場合、そのウェブサイトは、ウェブサイトを実施するサーバがライフサイクルを有する間にユーザが経験するライフサイクルを有する。サービスのライフサイクルとプログラマブルデバイスのライフサイクルとの間には依存関係が存在する。例えば、カスタマーアカウントを有するサービスは複数のプログラマブルデバイスとデバイスとの間のロードバランスを使用するか、または1つのプログラマブルデバイスを使用することができる。複数のプログラマブルデバイスを使用しているサービス内の特定のプログラマブルデバイスにトラブルが発生した場合、サービスがオンラインの状態214で継続している間、その特定プログラマブルデバイスはトラブルの状態216に遷移する。
【0103】
反対に、サービスがプログラマブルデバイスを1つだけ使用しており、そのプログラマブルデバイスにトラブルが発生した場合、プログラマブルデバイスとサービスはどちらもトラブルの状態216に遷移する。一旦、プログラマブルデバイスがサービス中の状態214に戻ると、サービスをオンラインの状態214に戻すことができる。
【0104】
【発明の効果】
以上、本発明によれば、機能(例えば、プログラマブルデバイスまたはコンピュータサービス)のライフサイクルに関して、機能の配置、供給および管理を自動化する方法およびシステムを提示し、トリガーイベントが発生すると、システムは、プログラマブルデバイスまたはコンピュータサービスをそのライフサイクルのある状態から別の状態に動的に移す。その結果、拡張可能なインフラストラクチャおよび機構は、ホスティングアプリケーションおよび他のアプリケーションに対する直接的な技術支援(例えば、ハードウェアおよびソフトウェアを配置および供給すること)するために必要となる仕事量と技術レベルを大幅に低減することができる。
【0105】
また、本システムによって、プログラマブルデバイスの効率が高まり、それによって、特定の機能に必要となるプログラマブルデバイスの数を低減することができる。これにより、メーカー独自の供給ソフトウェアを開発しサポートする間接的な技術支援スタッフは、本発明によって低減され、その結果、クライアントは本来の仕事に集中することができるようになる。xSPの応答性は、追加のウェブサービスに対する新規または既存の顧客の要求に迅速に(数秒でないにしろ数分で)応答することができることによって高められる。
【0106】
本システムおよび本方法は、OEMまたは他の開発者が付加価値製品を独自に作成するための共通した業界規模のプラットフォームを提供し、計算負荷および需要の問題に対処するためにハードウェアおよび資源の最も有効な使用法を可能にする。
【0107】
以上説明したように、本発明によれば、システムは、開発者がプログラマブルデバイスの配置、供給、および管理の自動化を支援するモジュールを開発し、ユーザがライフサイクルのある状態に入るようシステムに指示するための自動化インターフェースを含み、コントローラは、トリガーイベントの発生に応答してプログラマブルデバイスをライフサイクルの状態に移動するようにしたので、プログラマブルデバイスをサポートするために必要となる仕事量と技術レベルとを大幅に低減させ、安価な管理する方法および装置を提供することができる。
【0108】
本発明の原理を適用することができる多くの実施可能な実施形態に鑑みて、図面に関して本明細書で記述した実施形態は例示を意図したものであり、本発明の範囲を限定するものと解釈されるべきではない。例えば、当業者ならば、ソフトウェア形式で示した例示の実施形態の要素をハードウェアで、またこの反対に実施することが可能であり、または例示の実施形態は、本発明の趣旨を逸脱せずに構成および細部を変更することができることを理解するだろう。したがって、本明細書に記載の本発明は、頭記の特許請求の範囲内で実現することのできるすべてのそのような実施形態およびその等価形態を想定している。
【図面の簡単な説明】
【図1】本発明が動作する例示的システムを全体的に示すブロック図である。
【図2】本発明が動作する例示的プログラマブルデバイスを全体的に示すブロック図である。
【図3】本発明の一実施形態におけるプログラマブルデバイスのライフサイクルの状態を示すブロック図である。
【図4】本発明の一実施形態におけるコンピュータサービスのライフサイクルの状態を示すブロック図である。
【図5】本発明によるイメージを開発し、テストする方法の流れ図である。
【図6】本発明による追加容量を計画する方法の流れ図である。
【図7】本発明によるプログラマブルデバイスを配置する方法の流れ図である。
【図8】本発明によるプログラマブルデバイスを準備する方法の流れ図である。
【図9】本発明によるプログラマブルデバイスを供給する方法の流れ図である。
【図10】本発明によるプログラマブルデバイスに再度目的を与える方法の流れ図である。
【符号の説明】
22 機能
24 コントローラ
38 ウェブ機器インターフェース
40 NAS機器インターフェース
52 イメージリポジトリ
54 ストア[0001]
BACKGROUND OF THE INVENTION
Cross-reference of related patent applications
This application claims the benefit of US Provisional Application No. 60 / 314,785, filed Aug. 24, 2001.
[0002]
The present invention relates generally to management of programmable devices and computer services, and more particularly to a method and system for dynamically managing programmable devices or computer services for the life cycle of the programmable devices or computer services.
[0003]
[Prior art]
A programmable device, such as a computing device and “smart” equipment, is typically a programmable device or one or more defined by an operating system used by one or more application programs installed on the programmable device. Can meet the purpose.
[0004]
In order to deploy and supply programmable devices, a user typically manually installs an operating system sequentially, installs one or more application programs, and the operating system and application programs work together. Must be configured.
[0005]
This process can be very time consuming, depending on the complexity of the operating system and application programs, and more typically requires complex scripts and specialized development. In an enterprise or commercial environment, it is not uncommon for this process to be repeated for hundreds or thousands of programmable devices.
[0006]
[Problems to be solved by the invention]
The nature of requiring time to deliver a programmable device can be cumbersome if a particular device fails or is in error. For example, if a programmable device needs to be replaced, the service provider needs to manually install an operating system, application program, and configure a new programmable device to replace the failed programmable device. This process can take several hours to complete, during which time the customer can suffer problems such as losing sales.
[0007]
The industry is already aware of the above problems and is developing very different technologies to bring programmable devices online. For example, techniques for automating the supply of programmable devices have been developed. Technologies for automating part of the placement of programmable devices have also been developed. These manufacturer-specific technologies have provided the high level of expertise required in the field to place and supply programmable devices, but this expertise requires experienced and scarce and expensive personnel. It is what.
[0008]
In addition, computer services that handle specific tasks have been formed to assist consumers. For example, a service for supplying programmable devices is provided. These computer services make it easier for the end consumer than before. However, this service does not reduce the effort required to deploy and supply a large number of programmable devices. Some services increase the effort required to deploy, supply and maintain large numbers of programmable devices. Furthermore, these services do not provide any mechanism for third parties to add value-added tools to the deployment and delivery process.
[0009]
A related problem is that once a programmable device is deployed and supplied, it is less likely that the user / owner will supply the programmable device again due to the high cost. In addition, many of the technologies are closely tied to the underlying hardware. With the development of hardware, original equipment manufacturers ("OEMs") supply utilities to configure their hardware. These utilities are often incompatible with the manufacturer's proprietary technology, which increases the effort to manage the hardware. Therefore, these manufacturer-specific technologies often increase the amount of work required to support programmable devices and the underlying hardware, leading to higher technical levels.
[0010]
Therefore, an object of the present invention is to arrange and supply functions for the life cycle of a programmable device, thereby reducing the workload and technical level required to support the functions, and managing them at low cost. It is to provide a method and apparatus.
[0011]
[Means for Solving the Problems]
As used herein, the term function means a computer service, a programmable device, or a combination of a computer service and a programmable device.
[0012]
More specifically, according to the present invention, several states are defined for the life cycle of a function, and a transition that moves a function from one state to another begins in response to a trigger event. Is done. The states defined for the programmable device portion of the function are: untested state, tested state, undeployed state, deployed state, prepared state, provisioned state, in-service state, Including trouble state and retired state.
[0013]
States defined for the computer service portion of the lifecycle include untested, tested, planned, provisioned, online, troubled, and retired. Each function is in a process that is in any one of these states or transitioning from one state to another.
[0014]
Subsequent sets of procedures are defined for function transitions between defined states. In one embodiment, the set of procedures includes testing / development procedures, planning procedures, deployment procedures, preparation procedures, and maintenance procedures.
[0015]
More specifically, in the testing / development procedure, performance and reliability tests are performed on the planned installation to create an image of the system. An image repository is used to store images.
[0016]
In the planning procedure, needs are anticipated and quantified to add additional capacity, and resource planning is performed to meet those needs. In the placing procedure, the components of the function to be installed at a certain installation location are received and installed at that installation location. Once installed, the preparing and supplying procedures are executed when the function is configured and supplied. Storage and network resources are also supplied as needed.
[0017]
The present invention is flexible and provides software developers and end users with the ability to develop products that can be plugged into the infrastructure that drives automation or plug into specific types of functional modules. Enable an extensible infrastructure.
[0018]
In one embodiment, this is accomplished by providing a single upper layer interface and lower layer portions of multiple interfaces. Upper layer interfaces provide developers and end users with one way to create solutions that use or drive the lifecycle across one set of applications or scripts (ie products) that plug into the infrastructure. A lower layer interface includes specific hardware (eg, web equipment, network attached storage (“NAS”) equipment, etc.) and / or software deploying providers, load balancers and other hardware and software networking providers, and storage Several types of providers are supported, including area network device providers.
[0019]
Other features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying figures.
[0020]
While the appended claims describe the function of the present invention together with its features, the present invention, together with its objects and advantages, is best understood by reading the following detailed description in conjunction with the accompanying drawings. I can do it.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Referring to the drawings, like elements are indicated with the same reference numerals and the invention is practiced in a suitable environment. Although not required, the invention will be described in the general context of computer-executable instructions being executed by programmable devices, such as program modules.
[0022]
Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Further, those skilled in the art will appreciate that the present invention is a microprocessor-based home appliance or programmable home appliance including handheld devices, multiprocessor systems, network PCs, minicomputers, mainframe computers, web-based equipment. It will be appreciated that it can be implemented by many types of programmable devices, including products and the like.
[0023]
The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in local and remote memory storage devices.
[0024]
FIG. 1 shows an example of the overall architecture in which the present invention operates.
[0025]
The life
[0026]
In the following description, the function 22 is referred to as a programmable device 22 when the procedure is being performed on the programmable device portion of the function. For example, if the function is a web service, content and applications are added to a programmable device (eg, a server) used to implement the web service. The
[0027]
This module may include, for example, a policy /
[0028]
The set of interfaces provides OEMs, service providers, and other developers the ability to plug in modules that are specific to a particular type of programmable device, or hardware that supports that functionality. The set of interfaces includes a
[0029]
A series of suppliers and / or abstractions provide the
[0030]
The
[0031]
FIG. 2 shows an example of a suitable
[0032]
[0033]
The invention is operable with numerous other general purpose or special purpose programmable devices. Examples of possible known programmable devices adapted for use with the present invention include, but are not limited to, personal computers, server computers, handheld devices or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, Programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like.
[0034]
The invention can be described in the general context of computer-executable instructions, such as program modules, being executed by a processor. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in local and remote computer storage media including memory storage devices.
[0035]
With reference to FIG. 2, exemplary programmable devices include general purpose computing devices in the form of a
[0036]
[0037]
Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modified data signal format such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modified data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information into a signal format. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Any combination of the above should be included within the scope of computer-readable media.
[0038]
The
[0039]
The
[0040]
The drive and associated computer storage media discussed above and shown in FIG. 2 provide
[0041]
In FIG. 2, for example, the
[0042]
Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, and the like. These or other input devices are often connected to the
[0043]
[0044]
When used in a LAN networking environment, the
[0045]
In the description that follows, the invention will be described with reference to acts and symbolic representations of operations that are performed by one or more computers, unless indicated otherwise.
[0046]
Accordingly, such actions and operations that may be referred to as being performed by a computer include the manipulation of electronic signals representing structured forms of data by a computer processing unit. This operation changes the data or keeps the data in a location in the computer's memory system, which may or may not reconfigure the computer's operation in a manner well known to those skilled in the art. Change it. The data structure in which data is maintained is a physical location in memory that has specific characteristics defined by the format of the data.
[0047]
However, although the present invention is described in the above context, it is not intended to be limiting, as one skilled in the art will appreciate that the various actions and operations described below can also be implemented in hardware. Absent. The life cycle of a server or server device in a data center is used to describe the present invention. The present invention provides a server or server device as will be appreciated by those skilled in the art that the present invention can plan, deploy, supply and manage many other types of programmable devices throughout their life cycle. It is not intended to be limited to.
[0048]
Referring now to FIGS. 3 and 4, exemplary life cycle 200 conditions are illustrated for one embodiment.
[0049]
FIG. 3 shows a state relating to a programmable device, and FIG. 4 shows a state relating to a computer service relating to the embodiment. One skilled in the art will appreciate that there can be any number of functional lifecycle states.
[0050]
Typical states of the programmable device in the embodiment shown in FIG. 3 are
[0051]
The exemplary states of the computer service shown in FIG. 4 are
[0052]
In the following description, transitions and triggering events for the programmable device portion of the function will be described, and references to the computer service portion of the function will be discussed for cases where the states are the same or similar. States, trigger events, and service transitions different from programmable devices are discussed separately.
[0053]
The
[0054]
Referring now to FIGS. 5-9, there is shown a set of trigger events and procedures for transitioning a function 22 from one life cycle state to another life cycle state. The trigger event for transitioning from the
[0055]
Referring to FIG. 5, the initial steps performed in the test /
[0056]
In the case of a function having a computer service, the tasks to be performed include building any programmable device needed to perform the service and performing a test of the programmable device. For functions with programmable devices, the tasks performed include upgrading the image, creating a new image, and testing the upgraded or new image. As used herein, an image is a copy, copy, or representation of a program, operating system, data, or a combination of a program, operating system, and data.
[0057]
If a new image is created (step 302), if there are operating systems and applications, they are installed on the reference system (step 304). The reference system is a programmable device of the same type as the programmable device 22. The installed system is tested on the reference system (step 306) and a determination is made whether the system is functioning correctly (step 308).
[0058]
If the system is not functioning correctly, adjustments are made until the system functions correctly (step 310). If the system is functioning correctly, it is system imaged using tools well known in the art and the image is transferred to the image repository 52 (step 312). The image is then copied from the
[0059]
Once the image is verified, a tag is created in the
[0060]
If the existing image is upgraded (step 318), the existing image is copied from the
[0061]
When a new or upgraded image is tested to verify operation, the new or upgraded image is installed on the programmable device 22. If there are multiple programmable devices (eg, a server in the data center), the new or upgraded image is copied on the selected programmable device or on all programmable devices. Otherwise, a command script is used to update the programmable device by scripting the change and executing the change directly on the programmable device. When the above set of
[0062]
A trigger event to transition from the tested
[0063]
Referring now to FIG. 6, a demand plan and resource plan are executed in the
[0064]
Quantify and plan needs based on customer demand (eg, capacity expansion for new and existing customers), machine replacement (eg, failure, retirement), maintenance of extra capacity, and forecasted demand plans Demand planning is executed for this purpose. When the demand plan is complete, a resource plan is executed to determine whether the plan meets the needs planned by the demand plan. Resource planning includes planned physical resources (eg, data centers, racks, slots, etc.), planned computer resources, planned networking and storage resources (eg, routers, switches, storage devices, etc.), and environmental plans (eg, power and Cooling requirements, space requirements, etc.).
[0065]
From the demand and resource plan, pre-identification (step 402) and pre-positioning (step 404) are performed. Pre-identification identifies the requested item. For example, a programmable device, a machine name, etc. are identified. Pre-positioning identifies locations, slots, network settings, etc. for programmable devices. When the above set of
[0066]
When the programmable device 22 is ready for placement, the
[0067]
Referring now to FIG. 7, the first step of the
[0068]
The
[0069]
If the programmable device 22 can boot PxE (Portable Executable Environment) (step 508), the programmable device to a particular image to be loaded (ie, to an image of the operating system to be used) PxE is used to direct 22 and the image is loaded into the programmable device 22 (step 510).
[0070]
The
[0071]
The
[0072]
Once the programmable device 22 is deployed, the
[0073]
Next, referring to FIG. 8, a trigger event for transitioning to the
[0074]
If no task is defined or no entry has been created, the state of the programmable device 22 returns to the deployed
[0075]
When the programmable device 22 is prepared, the
[0076]
Next, referring to FIG. 9, if a role is defined, a programmable device 22 is provided.
[0077]
In the identification supply, the
[0078]
In the storage supply, the
[0079]
In the service supply, the
[0080]
When the programmable device 22 is installed on the network, the
[0081]
Additional supplies are added to the programmable device 22 as needed. Additional supplies can include installing additional applications, adding users, and the like.
[0082]
When the supply is complete, function 22 enters a supplied
[0083]
The
[0084]
According to the present invention, a rack of servers can be completely filled and managed within a single power and cooling envelope. Each programmable device 22 can optimally manage power based on the imposed load so that a 42 unit rack does not exceed a predetermined rating (eg, 5,000 watts). It is unlikely that all servers in a rack will have to run at full power in any given time. Therefore, this type of power load balancing is considered to have little or no effect on individual servers. Thus, these servers can only operate with sufficient power given to their load, and in most cases the average statistic will keep the load below the rated maximum (5000 watts in this example) It will be.
[0085]
The
[0086]
The
[0087]
While in the in
[0088]
While in the in
[0089]
Referring now to FIG. 10, if relocation occurs (step 700), the
[0090]
There are several degrees of resupply that the
[0091]
When a task should be changed and an existing task is deleted, the task image installed on the programmable device 22 is deleted. A new task image is installed, the new supply settings for the programmable device 22 are stored in the store 54 (step 710), and the controller transitions to the
[0092]
If the task has not changed, the
[0093]
If the supply has not changed, the
[0094]
If the programmable device 22 is not upgraded and is not a hot fix, the
[0095]
If the programmable device 22 is removed from service, the programmable device 22 moves to the retired
[0096]
As described above, typical states of computer services (see FIG. 4) include
[0097]
Planned from the transition from the tested
[0098]
The
[0099]
Once the programmable device is supplied, the
[0100]
While in the
[0101]
If the service 22 is no longer needed, the service 22 is transitioned to the retired
[0102]
It will be appreciated that each programmable device has its own life cycle and each service has its own life cycle. For example, if the service is a website, the website has a life cycle that the user experiences while the server implementing the website has a life cycle. There is a dependency between the service life cycle and the programmable device life cycle. For example, a service with a customer account may use load balancing between multiple programmable devices or a single programmable device. If a particular programmable device in a service using multiple programmable devices experiences a trouble, the particular programmable device transitions to trouble
[0103]
Conversely, if the service uses only one programmable device and a trouble occurs in that programmable device, both the programmable device and the service transition to trouble
[0104]
【The invention's effect】
Thus, according to the present invention, a method and system for automating the placement, supply and management of functions with respect to the life cycle of functions (eg, programmable devices or computer services) is presented, and when a trigger event occurs, the system is programmable Dynamically move a device or computer service from one state of its lifecycle to another. As a result, extensible infrastructure and mechanisms provide the workload and technical level required to provide direct technical assistance (eg, deploying and delivering hardware and software) to hosting and other applications. It can be greatly reduced.
[0105]
The system also increases the efficiency of the programmable device, thereby reducing the number of programmable devices required for a particular function. This reduces the indirect technical support staff who develop and support the manufacturer's own supply software by the present invention, so that the client can concentrate on the original work. xSP responsiveness is enhanced by being able to respond quickly (in minutes if not seconds) to new or existing customer requests for additional web services.
[0106]
The system and method provide a common industry-wide platform for OEMs or other developers to create their own value-added products, and hardware and resource issues to address computational load and demand issues. Allows the most effective usage.
[0107]
As described above, according to the present invention, the system develops modules that help developers automate the placement, supply, and management of programmable devices, and instructs the system to enter a lifecycle state for the user. Since the controller has moved the programmable device to the life cycle state in response to the occurrence of the trigger event, the amount of work and the technical level required to support the programmable device Can be greatly reduced and an inexpensive management method and apparatus can be provided.
[0108]
In view of the many possible embodiments to which the principles of the present invention may be applied, the embodiments described herein with respect to the drawings are intended to be illustrative and are intended to limit the scope of the invention. Should not be done. For example, those skilled in the art can implement the elements of the exemplary embodiments shown in software form in hardware and vice versa, or exemplary embodiments do not depart from the spirit of the invention. It will be understood that configuration and details can be changed. Accordingly, the invention described herein contemplates all such embodiments and their equivalents that can be realized within the scope of the appended claims.
[Brief description of the drawings]
FIG. 1 is a block diagram generally illustrating an exemplary system in which the present invention operates.
FIG. 2 is a block diagram generally illustrating an exemplary programmable device in which the present invention operates.
FIG. 3 is a block diagram illustrating a life cycle state of a programmable device according to an embodiment of the present invention.
FIG. 4 is a block diagram illustrating a life cycle state of a computer service according to an embodiment of the present invention.
FIG. 5 is a flow diagram of a method for developing and testing an image according to the present invention.
FIG. 6 is a flow diagram of a method for planning additional capacity according to the present invention.
FIG. 7 is a flow diagram of a method for deploying a programmable device according to the present invention.
FIG. 8 is a flowchart of a method for preparing a programmable device according to the present invention.
FIG. 9 is a flow diagram of a method for providing a programmable device according to the present invention.
FIG. 10 is a flow diagram of a method for repurposed a programmable device according to the present invention.
[Explanation of symbols]
22 functions
24 controller
38 Web equipment interface
40 NAS device interface
52 Image Repository
54 Store
Claims (18)
前記コントローラによって、前記プログラマブルデバイスに設定されたあるライフサイクル状態を制御する場合において、
通信用の少なくとも1つのポートを有する自動化インターフェースと複数のインターフェースを介して通信を行うことによってモジュールから前記プログラマブルデバイスの遷移を制御する制御スクリプトを受信するステップと、
ここで、該モジュールは、ポリシー規則を含む管理アプリケーションと、前記ライフサイクルの状態間で前記プログラマブルデバイスを遷移させる制御をコントローラにより行うための前記制御スクリプトと、前記自動化インターフェースおよび前記コントローラと通信する複数のインターフェースを提供する機器インターフェースとを含み、
前記受信した制御スクリプトを使用して、前記プログラマブルデバイスを前記設定されたあるライフサイクル状態から別のライフサイクル状態への遷移を開始させるステップと
を具え、
前記プログラマブルデバイスに前記遷移を開始させるステップは、
前記ライフサイクルの初期状態と前記ライフサイクルの最終状態を含めて、前記ライフサイクルの複数の所定の状態を前記制御スクリプトに基づき前記コントローラによって設定するステップと、
ここで、前記ライフサイクルの複数の所定の状態は、少なくとも、未テストの状態、テスト済みの状態、未配置の状態、配置済みの状態、準備済みの状態、供給済みの状態、サービス中の状態、およびトラブルの状態を含み、
前記ライフサイクルのある状態から前記ライフサイクルの別の状態に少なくとも1つのプログラマブルデバイスを遷移する自動化された手順の複数のセットを前記複数のインターフェースを介した通信によって前記モジュールから取得するステップと、
ここで、前記ライフサイクルのある状態から前記ライフサイクルの別の状態への遷移は、前記ライフサイクルの複数の所定の状態に含まれるいずれかの状態を組み合わせた状態間での遷移であり、
トリガーイベントに応答して、前記ライフサイクルのある状態から前記ライフサイクルの別の状態への遷移を開始するステップであって、前記遷移が自動化された手順のセットに従っているステップとを含むことを特徴とする方法。A method for controlling a life cycle state including placement, supply, and management of at least one programmable device using a controller comprising:
The controller Accordingly, in a case of controlling a certain life cycle state set in the programmable device,
Receiving a control script for controlling the transition of the programmable device from the module by communicating via the automation interface and a plurality of interfaces having at least one port for communication,
Here, the module includes a management application including a policy rule, the control script for performing control for causing the programmable device to transition between the states of the life cycle by the controller, and a plurality of the communication with the automation interface and the controller. Including a device interface that provides an interface of
Using a control script said received, the programmable device comprises the steps of initiating the transition from one life cycle state of said set to a different life cycle states,
Step to initiate the transition to the programmable device,
Setting a plurality of predetermined states of the life cycle by the controller based on the control script, including an initial state of the life cycle and a final state of the life cycle;
Here, the plurality of predetermined states of the life cycle are at least an untested state, a tested state, an undeployed state, an already deployed state, a prepared state, a supplied state, and a service state Including the status of trouble,
Obtaining a plurality of sets of automated procedures for transitioning at least one programmable device from one state of the life cycle to another state of the life cycle from the module by communication via the plurality of interfaces ;
Here, the transition from one state of the life cycle to another state of the life cycle is a transition between states combining any state included in a plurality of predetermined states of the life cycle,
In response to a trigger event, said the states of the lifecycle a step of initiating the transition to another state of the life cycle, characterized in that it comprises the steps of the transition is in accordance with a set of automated procedures And how to.
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、少なくとも1つのプログラマブルデバイスが開発されてテストされたときにトリガーされることにより、Initiating the transition from the one state of the life cycle to the other state of the life cycle is triggered when at least one programmable device is developed and tested,
前記自動化された手順の前記複数のセットの1つに含まれるテスト手順に従って前記プログラマブルデバイスを前記未テストの状態から前記テスト済みの状態に遷移し、Transitioning the programmable device from the untested state to the tested state according to a test procedure included in one of the plurality of sets of automated procedures;
ここで、前記テスト手順は、Here, the test procedure is:
基準システム上に新しいイメージとアップグレードされたイメージの1つを作成するステップと、Creating one of a new image and an upgraded image on a reference system;
前記新しいイメージと前記アップグレードされたイメージの前記1つをイメージリポジトリに転送するステップと、Transferring the one of the new image and the upgraded image to an image repository;
前記イメージリポジトリ内の前記新しいイメージと前記アップグレードされたイメージの前記1つが所定の要件に合致するかどうかを検証するステップと、Verifying whether the one of the new image and the upgraded image in the image repository meets predetermined requirements;
前記プログラマブルデバイスに従って前記新しいイメージと前記アップグレードされたイメージの前記1つをプログラマブルデバイス上にインストールするステップとを含み、Installing the new image and the one of the upgraded images on a programmable device according to the programmable device;
次に、前記ライフサイクルの前記ある状態が前記テスト済みの状態で、前記ライフサイクルの前記別の状態が前記未配置の状態の場合においては、Next, in the case where the certain state of the life cycle is the tested state and the other state of the life cycle is the unarranged state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、プログラマブルデバイスに追加容量を追加し、前記プログラマブルデバイスに少なくとも1つの追加のプログラマブルデバイスを追加することの1つに対して、ニーズが予想されたときにトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle includes adding additional capacity to the programmable device and adding at least one additional programmable device to the programmable device; For one, it is triggered when the needs are anticipated,
前記自動化された手順の前記複数のセットの1つに含まれる計画する手順に従って前記テスト済みの状態から前記未配置の状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the tested state to the undeployed state according to a planning procedure included in one of the plurality of sets of automated procedures;
ここで、前記計画する手順は、Here, the planning procedure is as follows:
追加のニーズを定量化するために需要計画を実行するステップと、Performing a demand plan to quantify additional needs;
前記追加のニーズを満たすために資源計画を実行するステップとを含み、Performing a resource plan to meet the additional needs; and
前記資源計画を実行するステップは、Performing the resource plan comprises:
物理資源を計画するステップと、Planning physical resources;
計算資源を計画するステップと、Planning computing resources;
環境要件を計画するステップと、Planning the environmental requirements;
ネットワークおよびストレージ資源を計画するステップとを含み、Planning network and storage resources,
次に、前記ライフサイクルの前記ある状態が前記未配置の状態で、前記ライフサイクルの前記別の状態が前記配置済みの状態の場合においては、Next, in the case where the certain state of the life cycle is the unarranged state and the other state of the life cycle is the already disposed state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、プログラマブルデバイスに配置の準備が整ったときにトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered when the programmable device is ready for placement,
前記自動化された手順の前記複数のセットの1つに含まれる配置する手順に従って前記未配置の状態から前記配置済みの状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the unplaced state to the placed state according to a placement procedure included in one of the plurality of sets of automated procedures;
ここで、前記配置する手順は、Here, the arrangement procedure is as follows.
インストール位置で受信されたプログラマブルデバイス上に初期ブートイメージをインストールするステップと、Installing an initial boot image on the programmable device received at the install location;
前記プログラマブルデバイスに通信設定を設定するステップと、Setting communication settings in the programmable device;
前記プログラマブルデバイスに初期識別パラメータを設定するステップとを含み、Setting an initial identification parameter in the programmable device,
次に、前記ライフサイクルの前記ある状態が前記配置済みの状態で、前記ライフサイクルの前記別の状態が前記準備済みの状態の場合においては、Next, in the case where the certain state of the life cycle is the arranged state and the another state of the life cycle is the prepared state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、プログラマブルデバイスに対するタスクが定義された後でトリガーされることにより、Initiating a transition from one state of the life cycle to the other state of the life cycle is triggered after a task for the programmable device is defined,
前記自動化された手順の前記複数のセットの1つに含まれる準備する手順に従って前記プログラマブルデバイスを前記配置済みの状態から前記準備済みの状態に遷移し、Transitioning the programmable device from the deployed state to the prepared state according to a preparing procedure included in one of the plurality of sets of automated procedures;
ここで、前記準備する手順は、タスクイメージを前記プログラマブルデバイスに転送することを含み、Wherein the preparing step includes transferring a task image to the programmable device;
次に、前記ライフサイクルの前記ある状態が前記準備済みの状態で、前記ライフサイクルの前記別の状態が前記供給済みの状態の場合においては、Next, in the case where the certain state of the life cycle is the prepared state and the another state of the life cycle is the supplied state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、プログラマブルデバイスに対する役割が決定された後でトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered after a role for a programmable device is determined,
前記自動化された手順の前記複数のセットの1つに含まれる供給する手順に従って前記準備済みの状態から前記供給済みの状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the prepared state to the supplied state according to a supplying procedure included in one of the plurality of sets of automated procedures;
ここで、前記供給する手順は、Here, the supplying procedure is as follows:
前記プログラマブルデバイス上への識別の供給を実施するステップと、Implementing provision of an identification on the programmable device;
前記プログラマブルデバイス上へのサービスの供給を実施するステップと、Providing a service on the programmable device;
ストレージの供給を実施するステップと、Implementing the provision of storage;
追加の供給を実施するステップとを含み、Carrying out an additional supply,
次に、前記ライフサイクルの前記ある状態が前記供給済みの状態で、前記ライフサイクルの前記別の状態が前記サービス中の状態の場合においては、Next, in the case where the certain state of the life cycle is the supplied state and the other state of the life cycle is the in-service state,
前記供給済みの状態から前記サービス中の状態への遷移を開始するステップは、前記プログラマブルデバイスが供給された後でトリガーされることにより、The step of initiating a transition from the supplied state to the in-service state is triggered after the programmable device is supplied,
前記供給済みの状態から前記サービス中の状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the supplied state to the in-service state;
次に、前記ライフサイクルの前記ある状態が前記サービス中の状態で、前記ライフサイクルの前記別の状態が前記トラブルの状態の場合においては、Next, in the case where the certain state of the life cycle is in the service and the other state of the life cycle is the trouble state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、前記プログラマブルデバイスによって提供されるサービスの破壊が発生した後でトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered after a disruption of a service provided by the programmable device occurs,
前記サービス中の状態から前記トラブルの状態に前記プログラマブルデバイスを遷移し、Transition the programmable device from the in-service state to the trouble state,
サービスの前記破壊は、ウイルス、低速の応答時間、および構成要素の故障の1つを含み、Said disruption of service comprises one of a virus, a slow response time and a component failure
次に、前記ライフサイクルの前記ある状態が前記供給済みの状態で、前記ライフサイクルの前記別の状態が前記未配置の状態の場合において、Next, in the case where the certain state of the life cycle is the supplied state, and the other state of the life cycle is the non-arranged state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、プログラマブルデバイスを再配置するための要求を前記複数のインターフェースを介した通信によって受信した後でトリガーされることにより、The step of initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered after receiving a request to relocate a programmable device via communication via the plurality of interfaces. By
前記供給済みの状態から前記未配置の状態に前記プログラマブルデバイスを遷移し、Transition the programmable device from the supplied state to the unplaced state,
ここで、前記プログラマブルデバイスにインストールされているすべてのソフトウェアを削除するステップと、Here, deleting all software installed in the programmable device;
前記プログラマブルデバイスに初期ブートイメージを前記複数のインターフェースを介した通信によって再インストールするステップ又は初期ブートイメージを残すステップのどちらか一方をさらに具えたことを特徴とする請求項1記載の方法。The method of claim 1, further comprising either re-installing an initial boot image on the programmable device by communication via the plurality of interfaces or leaving an initial boot image.
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始するステップは、前記プログラマブルデバイスに追加容量を追加するためのニーズが予想された後でトリガーされることにより、
前記自動化された手順の前記複数のセットの1つに含まれる計画する手順に従って前記計画済みの状態に遷移し、
ここで、前記計画する手順は、
前記追加のニーズを定量化するために需要計画を実施するステップと、
前記追加のニーズを満たすために資源計画を実施するステップとを含み、
前記資源計画を実施する前記ステップは、
物理資源を計画するステップと、
計算資源を計画するステップと、
環境要件を計画するステップと、
ネットワークおよびストレージ資源を計画するステップとをさらに具えたことを特徴とする請求項2記載の方法。 In the said one state of the lifecycle comprises one of the tested conditions and online state, the further state of the lifecycle planned state including the case,
The step of initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered after a need for adding additional capacity to the programmable device is anticipated ,
Transitioning to the planned state according to a planning procedure included in one of the plurality of sets of automated procedures;
Here, the planning procedure is as follows:
Implementing a demand plan to quantify said additional needs;
Implementing a resource plan to meet the additional needs;
The step of implementing the resource plan comprises:
Planning physical resources;
Planning computing resources;
Planning the environmental requirements;
Claim 2 Symbol placement methods, characterized in that further comprising the step of planning the network and storage resources.
前記負荷に前記電力量を供給するために少なくとも1つのプログラマブルデバイスに電力量を供給するステップと、
電力警報状態中に電力量を低減するステップと
を含むことを特徴とする請求項4記載の方法。A method comprising at least one programmable device having a load that requires an amount of power, wherein the at least one programmable device comprises managing power consumption of the at least one programmable device,
Supplying power to at least one programmable device to supply the power to the load;
4. Symbol mounting method characterized by comprising the step of reducing the amount of power in the power alarm condition.
前記少なくとも1つのプログラマブルデバイスのそれぞれに対する前記電力量を等量の電力量だけ低減するステップを含むことを特徴とする請求項5記載の方法。The step of reducing the amount of power during a power alarm condition comprises:
Wherein at least one of claims 5 Symbol mounting method is characterized in that the amount of power to each of the programmable device comprises the step of reducing only the amount of power equal amounts.
前記少なくとも1つのプログラマブルデバイスのそれぞれによって、支払われた割増金に比例するパーセンテージだけ前記電力量を低減する前記ステップを含むことを特徴とする請求項5記載の方法。The step of reducing the amount of power during a power alarm condition comprises:
At least by a respective one of the programmable device, The method of claim 5 Symbol mounting characterized by comprising the step of reducing only the amount of power percentage in proportion to the paid premiums.
前記少なくとも1つのプログラマブルデバイスの前記制御の自動化を支援するためのモジュールと、
ここで、該モジュールは、ポリシー規則を含む管理アプリケーションと、前記ライフサイクルの状態間で前記プログラマブルデバイスを遷移させる制御をコントローラにより行うための制御スクリプトと、自動化インターフェースおよび前記コントローラと通信する複数のインターフェースを提供する機器インターフェースとを含み、
前記モジュールと通信するための少なくとも1つのポートを含む自動化インターフェースと、
前記プログラマブルデバイスに設定されたあるライフサイクル状態を、前記制御スクリプトを用いて制御するための前記コントローラと
を具え、
前記コントローラは、前記プログラマブルデバイスに設定されたあるライフサイクル状態を制御する場合において、
通信用の少なくとも1つのポートを有する自動化インターフェースと前記複数のインターフェースを介して通信を行うことによってモジュールから前記プログラマブルデバイスの遷移を制御する制御スクリプトを受信することと、
前記受信した制御スクリプトを使用して、前記プログラマブルデバイスを前記設定されたあるライフサイクル状態から別のライフサイクル状態への遷移を開始させることと
を行うように構成され、
前記プログラマブルデバイスに前記遷移を開始させることは、
前記ライフサイクルの初期状態と前記ライフサイクルの最終状態を含めて、前記ライフサイクルの複数の所定の状態を前記制御スクリプトに基づき前記コントローラによって設定することと、
ここで、前記ライフサイクルの複数の所定の状態は、少なくとも、未テストの状態、テスト済みの状態、未配置の状態、配置済みの状態、準備済みの状態、供給済みの状態、サービス中の状態、およびトラブルの状態を含み、
前記ライフサイクルのある状態から前記ライフサイクルの別の状態に少なくとも1つのプログラマブルデバイスを遷移する自動化された手順の複数のセットを前記複数のインターフェースを介した通信によって前記モジュールから取得することと、
ここで、前記ライフサイクルのある状態から前記ライフサイクルの別の状態への遷移は、前記ライフサイクルの複数の所定の状態に含まれるいずれかの状態を組み合わせた状態間での遷移であり、
トリガーイベントに応答して、前記ライフサイクルのある状態から前記ライフサイクルの別の状態への遷移を開始することであって、前記遷移が自動化された手順のセットに従っていることとを含むことを特徴とするシステム。A system for controlling a life cycle state including placement, supply, and management of at least one programmable device using a controller comprising:
A module for supporting automation of the control of the at least one programmable device;
Here, the module includes a management application including policy rules, a control script for controlling the programmable device to transition between the life cycle states by the controller, an automation interface, and a plurality of interfaces communicating with the controller. Including an equipment interface that provides
An automation interface including at least one port for communicating with the module;
The controller for controlling a life cycle state set in the programmable device using the control script ;
In the case where the controller controls a certain life cycle state set in the programmable device ,
Receiving a control script for controlling the transition of the programmable device from the module by communicating via the plurality of interfaces between automation interface having at least one port for communication,
Using the control script thus received, the configured to the programmable device performs and to initiate the transition from one life cycle state of said set to a different life cycle states,
To initiate the transition to the programmable device,
Setting a plurality of predetermined states of the life cycle by the controller based on the control script, including an initial state of the life cycle and a final state of the life cycle;
Here, the plurality of predetermined states of the life cycle are at least an untested state, a tested state, an undeployed state, an already deployed state, a prepared state, a supplied state, and a service state Including the status of trouble,
Obtaining a plurality of sets of automated procedures for transitioning at least one programmable device from one state of the life cycle to another state of the life cycle from the module by communication via the plurality of interfaces ;
Here, the transition from one state of the life cycle to another state of the life cycle is a transition between states combining any state included in a plurality of predetermined states of the life cycle,
In response to a trigger event, the be from states of the life cycle to begin a transition to another state of the life cycle, characterized in that it comprises a said transition is in accordance with a set of automated procedures System.
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始することは、少なくとも1つのプログラマブルデバイスが開発されてテストされたときにトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered when at least one programmable device is developed and tested,
前記自動化された手順の前記複数のセットの1つに含まれるテスト手順に従って前記プログラマブルデバイスを前記未テストの状態から前記テスト済みの状態に遷移し、Transitioning the programmable device from the untested state to the tested state according to a test procedure included in one of the plurality of sets of automated procedures;
ここで、前記テスト手順は、Here, the test procedure is:
基準システム上に新しいイメージとアップグレードされたイメージの1つを作成することと、Creating one of the new and upgraded images on the reference system;
前記新しいイメージと前記アップグレードされたイメージの前記1つをイメージリポジトリに転送することと、Transferring the new image and the one of the upgraded images to an image repository;
前記イメージリポジトリ内の前記新しいイメージと前記アップグレードされたイメージの前記1つが所定の要件に合致するかどうかを検証することと、Verifying whether the one of the new image and the upgraded image in the image repository meets predetermined requirements;
前記プログラマブルデバイスに従って前記新しいイメージと前記アップグレードされたイメージの前記1つをプログラマブルデバイス上にインストールすることとを含み、Installing the new image and the one of the upgraded images on a programmable device according to the programmable device;
次に、前記ライフサイクルの前記ある状態が前記テスト済みの状態で、前記ライフサイクルの前記別の状態が前記未配置の状態の場合においては、Next, in the case where the certain state of the life cycle is the tested state and the other state of the life cycle is the unarranged state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始することは、プログラマブルデバイスに追加容量を追加し、前記プログラマブルデバイスに少なくとも1つの追加のプログラマブルデバイスを追加することの1つに対して、ニーズが予想されたときにトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle adds additional capacity to the programmable device and adds at least one additional programmable device to the programmable device. For one, it is triggered when the needs are anticipated,
前記自動化された手順の前記複数のセットの1つに含まれる計画する手順に従って前記テスト済みの状態から前記未配置の状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the tested state to the undeployed state according to a planning procedure included in one of the plurality of sets of automated procedures;
ここで、前記計画する手順は、Here, the planning procedure is as follows:
追加のニーズを定量化するために需要計画を実行することと、Running demand plans to quantify additional needs;
前記追加のニーズを満たすために資源計画を実行することとを含み、Performing a resource plan to meet the additional needs;
前記資源計画を実行することは、Executing the resource plan includes
物理資源を計画することと、Planning physical resources,
計算資源を計画することと、Planning computational resources;
環境要件を計画することと、Planning environmental requirements;
ネットワークおよびストレージ資源を計画することとを含み、Planning network and storage resources,
次に、前記ライフサイクルの前記ある状態が前記未配置の状態で、前記ライフサイクルの前記別の状態が前記配置済みの状態の場合においては、Next, in the case where the certain state of the life cycle is the unarranged state and the other state of the life cycle is the already disposed state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始することは、プログラマブルデバイスに配置の準備が整ったときにトリガーされることにより、Initiating a transition from one state of the life cycle to the other state of the life cycle is triggered when the programmable device is ready for placement,
前記自動化された手順の前記複数のセットの1つに含まれる配置する手順に従って前記未配置の状態から前記配置済みの状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the unplaced state to the placed state according to a placement procedure included in one of the plurality of sets of automated procedures;
ここで、前記配置する手順は、Here, the arrangement procedure is as follows.
インストール位置で受信されたプログラマブルデバイス上に初期ブートイメージをインストールすることと、Installing an initial boot image on a programmable device received at the install location;
前記プログラマブルデバイスに通信設定を設定することと、Setting communication settings on the programmable device;
前記プログラマブルデバイスに初期識別パラメータを設定することとを含み、Setting an initial identification parameter in the programmable device,
次に、前記ライフサイクルの前記ある状態が前記配置済みの状態で、前記ライフサイクルの前記別の状態が前記準備済みの状態の場合においては、Next, in the case where the certain state of the life cycle is the arranged state and the another state of the life cycle is the prepared state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始することは、プログラマブルデバイスに対するタスクが定義された後でトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered after a task for the programmable device is defined,
前記自動化された手順の前記複数のセットの1つに含まれる準備する手順に従って前記プログラマブルデバイスを前記配置済みの状態から前記準備済みの状態に遷移し、Transitioning the programmable device from the deployed state to the prepared state according to a preparing procedure included in one of the plurality of sets of automated procedures;
ここで、前記準備する手順は、タスクイメージを前記プログラマブルデバイスに転送することを含み、Wherein the preparing step includes transferring a task image to the programmable device;
次に、前記ライフサイクルの前記ある状態が前記準備済みの状態で、前記ライフサイクルの前記別の状態が前記供給済みの状態の場合においては、Next, in the case where the certain state of the life cycle is the prepared state and the another state of the life cycle is the supplied state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始することは、プログラマブルデバイスに対する役割が決定された後でトリガーされることにより、Initiating a transition from one state of the life cycle to the other state of the life cycle is triggered after a role for the programmable device is determined,
前記自動化された手順の前記複数のセットの1つに含まれる供給する手順に従って前記準備済みの状態から前記供給済みの状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the prepared state to the supplied state according to a supplying procedure included in one of the plurality of sets of automated procedures;
ここで、前記供給する手順は、Here, the supplying procedure is as follows:
前記プログラマブルデバイス上への識別の供給を実施することと、Implementing provision of identification on the programmable device;
前記プログラマブルデバイス上へのサービスの供給を実施することと、Providing a service on the programmable device;
ストレージの供給を実施することと、To supply storage,
追加の供給を実施することとを含み、Carrying out additional supply,
次に、前記ライフサイクルの前記ある状態が前記供給済みの状態で、前記ライフサイクルの前記別の状態が前記サービス中の状態の場合においては、Next, in the case where the certain state of the life cycle is the supplied state and the other state of the life cycle is the in-service state,
前記供給済みの状態から前記サービス中の状態への遷移を開始することは、前記プログラマブルデバイスが供給された後でトリガーされることにより、Initiating a transition from the supplied state to the in-service state is triggered after the programmable device is supplied,
前記供給済みの状態から前記サービス中の状態に前記プログラマブルデバイスを遷移し、Transitioning the programmable device from the supplied state to the in-service state;
次に、前記ライフサイクルの前記ある状態が前記サービス中の状態で、前記ライフサイクルの前記別の状態が前記トラブルの状態の場合においては、Next, in the case where the certain state of the life cycle is in the service and the other state of the life cycle is the trouble state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始することは、前記プログラマブルデバイスによって提供されるサービスの破壊が発生した後でトリガーされることにより、Initiating a transition from the one state of the life cycle to the other state of the life cycle is triggered after a disruption of a service provided by the programmable device occurs,
前記サービス中の状態から前記トラブルの状態に前記プログラマブルデバイスを遷移し、Transition the programmable device from the in-service state to the trouble state,
サービスの前記破壊は、ウイルス、低速の応答時間、および構成要素の故障の1つを含み、Said disruption of service comprises one of a virus, a slow response time and a component failure
次に、前記ライフサイクルの前記ある状態が前記供給済みの状態で、前記ライフサイクルの前記別の状態が前記未配置の状態の場合において、Next, in the case where the certain state of the life cycle is the supplied state, and the other state of the life cycle is the non-arranged state,
前記ライフサイクルの前記ある状態から前記ライフサイクルの前記別の状態への遷移を開始することは、プログラマブルデバイスを再配置するための要求を前記複数のインターフェースを介した通信によって受信した後でトリガーされることにより、Initiating a transition from one state of the life cycle to the other state of the life cycle is triggered after a request to relocate a programmable device is received by communication over the plurality of interfaces. By
前記供給済みの状態から前記未配置の状態に前記プログラマブルデバイスを遷移し、Transition the programmable device from the supplied state to the unplaced state,
ここで、前記プログラマブルデバイスにインストールされているすべてのソフトウェアを削除することと、Here, deleting all software installed on the programmable device;
前記プログラマブルデバイスに初期ブートイメージを前記複数のインターフェースを介した通信によって再インストールすること又は初期ブートイメージを残すことのどちらか一方をさらに具えたことを特徴とする請求項10記載のシステム。11. The system of claim 10, further comprising either re-installing an initial boot image on the programmable device by communication via the plurality of interfaces or leaving an initial boot image.
特定のハードウェアと通信するための配置インターフェースと、
前記イメージリポジトリと通信するためのイメージングインターフェースと
をさらに具えたことを特徴とする請求項10ないし15のいずれかに記載のシステム。The plurality of interfaces are:
A deployment interface for communicating with specific hardware;
The image repository and serial mounting system in any one of claims 10 to 15 to the imaging interface for communicating, characterized in that further comprising a.
ウェブ機器と通信するためのウェブ機器インターフェース
をさらに具えたことを特徴とする請求項10ないし16のいずれかに記載のシステム。The plurality of interfaces are:
Further claims 10 to 16 serial mounting system in any one of characterized in that comprises a web appliance interface for communicating with the Web appliance.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US31478501P | 2001-08-24 | 2001-08-24 | |
| US60/314,785 | 2001-08-24 | ||
| US10/128,062 US7065740B2 (en) | 2001-08-24 | 2002-04-23 | System and method to automate the management of computer services and programmable devices |
| US10/128,062 | 2002-04-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003114801A JP2003114801A (en) | 2003-04-18 |
| JP4716637B2 true JP4716637B2 (en) | 2011-07-06 |
Family
ID=26826234
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002245861A Expired - Lifetime JP4716637B2 (en) | 2001-08-24 | 2002-08-26 | System and method for automating management of computer services and programmable devices |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7065740B2 (en) |
| EP (1) | EP1288797A3 (en) |
| JP (1) | JP4716637B2 (en) |
| CN (1) | CN1407441B (en) |
| TW (1) | TWI240184B (en) |
Families Citing this family (54)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7660731B2 (en) * | 2002-04-06 | 2010-02-09 | International Business Machines Corporation | Method and apparatus for technology resource management |
| ITMI20021017A1 (en) * | 2002-05-14 | 2003-11-14 | Cit Alcatel | MANAGEMENT OF DIFFERENT CONFIGURATIONS AND DIFFERENT FUNCTIONALITY LEVELS IN A TELECOMMUNICATIONS NETWORK APPARATUS |
| CA2405673C (en) * | 2002-09-30 | 2009-10-06 | Ibm Canada Limited-Ibm Canada Limitee | Provisioning web services |
| US20040125403A1 (en) * | 2002-10-16 | 2004-07-01 | Xerox Corporation. | Method and apparatus for enabling distributed subscription services, supplies maintenance, and device-independent service implementation |
| CN100585662C (en) * | 2003-06-20 | 2010-01-27 | 汤姆森普罗梅特里克公司 | System and method for computer-based testing using caches and cacheable objects to extend functionality of a test driver application |
| GB0314800D0 (en) * | 2003-06-25 | 2003-07-30 | Hyfinity Ltd | System and associated methods for software assembly |
| US8386272B2 (en) | 2003-08-06 | 2013-02-26 | International Business Machines Corporation | Autonomic assistance for policy generation |
| US20050050184A1 (en) * | 2003-08-29 | 2005-03-03 | International Business Machines Corporation | Method, system, and storage medium for providing life-cycle management of grid services |
| US6912482B2 (en) * | 2003-09-11 | 2005-06-28 | Veritas Operating Corporation | Data storage analysis mechanism |
| US7281236B1 (en) * | 2003-09-30 | 2007-10-09 | Emc Corporation | System and methods for developing and deploying a remote domain system |
| CN100370416C (en) * | 2005-01-04 | 2008-02-20 | 凌阳科技股份有限公司 | Programmable control device and method thereof |
| CN100359462C (en) * | 2005-01-04 | 2008-01-02 | 凌阳科技股份有限公司 | Development method and system of programmable control device |
| US9167471B2 (en) | 2009-05-07 | 2015-10-20 | Jasper Technologies, Inc. | System and method for responding to aggressive behavior associated with wireless devices |
| US8745184B1 (en) * | 2007-05-18 | 2014-06-03 | Jasper Wireless, Inc. | Wireless communication provisioning using state transition rules |
| US8818331B2 (en) | 2005-04-29 | 2014-08-26 | Jasper Technologies, Inc. | Method for enabling a wireless device for geographically preferential services |
| US9226151B2 (en) | 2006-04-04 | 2015-12-29 | Jasper Wireless, Inc. | System and method for enabling a wireless device with customer-specific services |
| US8346214B2 (en) | 2005-04-29 | 2013-01-01 | Jasper Wireless, Inc. | Self provisioning of wireless terminals in wireless networks |
| US8478238B2 (en) | 2005-04-29 | 2013-07-02 | Jasper Wireless, Inc. | Global platform for managing subscriber identity modules |
| US9307397B2 (en) | 2005-04-29 | 2016-04-05 | Jasper Technologies, Inc. | Method for enabling a wireless device with customer-specific services |
| US8867575B2 (en) | 2005-04-29 | 2014-10-21 | Jasper Technologies, Inc. | Method for enabling a wireless device for geographically preferential services |
| US20070288612A1 (en) * | 2006-06-12 | 2007-12-13 | Electronic Data Systems Corporation | Assembly, and associated method, for provisioning computer device with computer data |
| US7839816B2 (en) | 2006-06-12 | 2010-11-23 | Hewlett-Packard Development Company, L.P. | Assembly, and associated methodology, for provisioning computer device with operating software |
| US8555247B2 (en) * | 2006-10-13 | 2013-10-08 | International Business Machines Corporation | Systems and methods for expressing temporal relationships spanning lifecycle representations |
| US8904341B2 (en) * | 2007-04-30 | 2014-12-02 | Hewlett-Packard Development Company, L.P. | Deriving grounded model of business process suitable for automatic deployment |
| EP2223281A4 (en) * | 2007-12-20 | 2011-05-25 | Hewlett Packard Development Co | Modelling computer based business process for customisation and delivery |
| WO2009082386A1 (en) * | 2007-12-20 | 2009-07-02 | Hewlett-Packard Development Company, L.P. | Model based deployment of computer based business process on dedicated hardware |
| US20100262558A1 (en) * | 2007-12-20 | 2010-10-14 | Nigel Edwards | Incorporating Development Tools In System For Deploying Computer Based Process On Shared Infrastructure |
| EP2223282A4 (en) * | 2007-12-20 | 2011-11-16 | Hewlett Packard Development Co | Automated model generation for computer based business process |
| US7509627B1 (en) * | 2008-02-19 | 2009-03-24 | International Business Machines Corporation | Method for management of dynamically alterable lifecycles in structured classification domains |
| US8713091B2 (en) * | 2008-10-03 | 2014-04-29 | Microsoft Corporation | Network based JIT on a priori knowledge of a set of disparate clients |
| US8312419B2 (en) * | 2008-10-30 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Automated lifecycle management of a computer implemented service |
| CN101996083A (en) * | 2009-08-21 | 2011-03-30 | 中兴通讯股份有限公司 | Mirror image updating method and device |
| CN101984412B (en) * | 2010-10-13 | 2013-01-30 | 北京航空航天大学 | A Parallel Testing Task Scheduling Method Based on Grouping and Tabu Search |
| US8868751B2 (en) * | 2011-03-29 | 2014-10-21 | Sap Se | Framework for diversified provisioning of services into business networks |
| TW201250482A (en) * | 2011-06-02 | 2012-12-16 | Hon Hai Prec Ind Co Ltd | System and method for updating virtual machine templates |
| US8892499B2 (en) * | 2011-12-30 | 2014-11-18 | International Business Machines Corporation | Life cycle management of rule sets |
| CN103593279B (en) * | 2012-08-13 | 2018-02-02 | 百度在线网络技术(北京)有限公司 | A kind of method and apparatus of system testing |
| WO2014200487A1 (en) * | 2013-06-13 | 2014-12-18 | Otis Elevator Company | Cloud management |
| US9851726B2 (en) | 2013-09-04 | 2017-12-26 | Panduit Corp. | Thermal capacity management |
| US10026064B2 (en) * | 2013-09-13 | 2018-07-17 | Microsoft Technology Licensing, Llc | Automatically recommending updates based on stored lifecycle information |
| US9405523B2 (en) | 2013-11-04 | 2016-08-02 | Bank Of America Corporation | Automated build and deploy system |
| US10521601B2 (en) | 2014-04-30 | 2019-12-31 | Sailpoint Technologies, Israel Ltd. | System and method for data governance |
| EP3350962B1 (en) * | 2015-09-18 | 2021-11-03 | Telefonaktiebolaget LM Ericsson (PUBL) | Management of communication between m2m device and m2m server |
| US10761857B2 (en) * | 2015-11-29 | 2020-09-01 | Hewlett Packard Enterprise Development Lp | Hardware management |
| US10095489B1 (en) * | 2016-12-22 | 2018-10-09 | EMC IP Holding Company LLC | GUI-based application template for containerized application software development |
| CN108009654A (en) * | 2017-08-16 | 2018-05-08 | 北京嘀嘀无限科技发展有限公司 | Order processing method, apparatus, server and computer-readable recording medium |
| CN110309045B (en) * | 2018-03-20 | 2023-05-23 | 贵州白山云科技股份有限公司 | Method, apparatus, medium and computing device for determining future state of server |
| CN109213665B (en) * | 2018-09-07 | 2020-08-25 | 北京航空航天大学 | Distributed concurrent accelerated test technology and platform construction method |
| CN109189446A (en) * | 2018-10-17 | 2019-01-11 | 北京京航计算通讯研究所 | Software update system based on software supervision and strategy |
| CN111181768A (en) * | 2019-12-10 | 2020-05-19 | 吴维 | Self-service POC management method and system based on cloud management platform |
| US11461677B2 (en) | 2020-03-10 | 2022-10-04 | Sailpoint Technologies, Inc. | Systems and methods for data correlation and artifact matching in identity management artificial intelligence systems |
| US11176024B1 (en) | 2020-09-23 | 2021-11-16 | International Business Machines Corporation | Software patch application and testing optimization |
| US11308186B1 (en) | 2021-03-19 | 2022-04-19 | Sailpoint Technologies, Inc. | Systems and methods for data correlation and artifact matching in identity management artificial intelligence systems |
| US11734056B1 (en) * | 2022-07-29 | 2023-08-22 | Intuit Inc. | Declarative code player execution of a processing widget |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5269014A (en) * | 1988-05-24 | 1993-12-07 | Mitsubishi Denki Kabushiki Kaisha | Automatic programming system with design review capabilities |
| US5379423A (en) * | 1988-09-28 | 1995-01-03 | Hitachi, Ltd. | Information life cycle processor and information organizing method using it |
| US5155837A (en) * | 1989-03-02 | 1992-10-13 | Bell Communications Research, Inc. | Methods and apparatus for software retrofitting |
| US5233513A (en) * | 1989-12-28 | 1993-08-03 | Doyle William P | Business modeling, software engineering and prototyping method and apparatus |
| EP0447117B1 (en) * | 1990-03-15 | 1997-02-19 | AT&T Corp. | Built-in self test for analog to digital converters |
| US5321773A (en) * | 1991-12-10 | 1994-06-14 | Xerox Corporation | Image recognition method using finite state networks |
| CA2098415A1 (en) * | 1992-10-07 | 1994-04-08 | David L. Campbell | Computerized general purpose process control system and method employing generic process building blocks |
| US5671351A (en) * | 1995-04-13 | 1997-09-23 | Texas Instruments Incorporated | System and method for automated testing and monitoring of software applications |
| US6275976B1 (en) * | 1996-03-15 | 2001-08-14 | Joseph M. Scandura | Automated method for building and maintaining software including methods for verifying that systems are internally consistent and correct relative to their specifications |
| US6106569A (en) * | 1997-08-14 | 2000-08-22 | International Business Machines Corporation | Method of developing a software system using object oriented technology |
| US6067548A (en) * | 1998-07-16 | 2000-05-23 | E Guanxi, Inc. | Dynamic organization model and management computing system and method therefor |
| US6167564A (en) * | 1998-09-17 | 2000-12-26 | Unisys Corp. | Software system development framework |
| US6167563A (en) * | 1998-09-17 | 2000-12-26 | Unisys Corporation | Method and system for building components in a framework useful in developing integrated business-centric applications |
| US6964034B1 (en) * | 2000-04-20 | 2005-11-08 | International Business Machines Corporation | Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment |
| CA2409920C (en) * | 2000-06-22 | 2013-05-14 | Microsoft Corporation | Distributed computing services platform |
| US6643555B1 (en) * | 2000-10-10 | 2003-11-04 | Schneider Automation Inc. | Method and apparatus for generating an application for an automation control system |
-
2002
- 2002-04-23 US US10/128,062 patent/US7065740B2/en not_active Expired - Lifetime
- 2002-08-15 TW TW091118415A patent/TWI240184B/en not_active IP Right Cessation
- 2002-08-21 EP EP02018245A patent/EP1288797A3/en not_active Withdrawn
- 2002-08-23 CN CN021422028A patent/CN1407441B/en not_active Expired - Lifetime
- 2002-08-26 JP JP2002245861A patent/JP4716637B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US20030041131A1 (en) | 2003-02-27 |
| CN1407441A (en) | 2003-04-02 |
| EP1288797A3 (en) | 2006-09-06 |
| CN1407441B (en) | 2010-05-12 |
| JP2003114801A (en) | 2003-04-18 |
| TWI240184B (en) | 2005-09-21 |
| EP1288797A2 (en) | 2003-03-05 |
| US7065740B2 (en) | 2006-06-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4716637B2 (en) | System and method for automating management of computer services and programmable devices | |
| JP7797459B2 (en) | Automatically deployed information technology (IT) system and method | |
| US20220147350A1 (en) | Methods and apparatus to deploy workload domains in virtual server racks | |
| US20220019474A1 (en) | Methods and apparatus to manage workload domains in virtual server racks | |
| US7703091B1 (en) | Methods and apparatus for installing agents in a managed network | |
| CN100392609C (en) | Method and system for creation of highly available pseudo-clone standby servers | |
| US9485151B2 (en) | Centralized system management on endpoints of a distributed data processing system | |
| US20210406079A1 (en) | Persistent Non-Homogeneous Worker Pools | |
| CN103309703B (en) | For identifying the system and method for optimal upgrading scheme in networked computer environments | |
| US11528186B2 (en) | Automated initialization of bare metal servers | |
| US6944653B2 (en) | Zero-click deployment of data processing systems | |
| US20210326196A1 (en) | A remediation system to prevent incompatible program module installation in an information processing system | |
| RU2417416C2 (en) | Solution deployment in server farm | |
| US12131140B2 (en) | Methods and systems to automatically deploy vulnerability fixes for software and firmware components | |
| CN102622298A (en) | Software testing system and method | |
| US12175256B2 (en) | Systems and methods for deploying a distributed containers-as-a-service platform architecture for telecommunications applications | |
| US10102008B2 (en) | Managed boot process system | |
| US20110055397A1 (en) | Systems and methods for abstracting storage views in a network of computing systems | |
| Tyndall | Building an effective software deployment process | |
| US11743188B2 (en) | Check-in monitoring for workflows | |
| WO2002073438A1 (en) | Method and system for management of remote devices | |
| CN118331592B (en) | Python language-based deployment method, device, electronic equipment and medium | |
| US8819203B1 (en) | Techniques for providing an application service to an application from an appliance-style application services platform | |
| Heiss | Enterprise Rollouts with JumpStart. | |
| Alliance | Reference Model and Use Cases |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050614 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050614 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070918 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071218 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071221 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080118 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080123 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080218 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080805 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081104 |
|
| RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20081106 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20081106 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20081210 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090327 |
|
| RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20100524 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100524 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110223 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110329 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4716637 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| 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 |