(57)【要約】  一方法では、ネットワーク内のコンピュータに、第１のアプリケーションをインストールし、第１のアプリケーションを実行するようリクエストすること、コンピュータに１つまたは複数のファイルを転送すること、コンピュータ上で第１のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間修正を記録することであって、修正は、第１のアプリケーションにリソースを割り振ることを含むこと、コンピュータ上で第１のアプリケーションを停止すること、および記録した修正に従って、コンピュータへの修正部分を逆転することを含む。逆転することは、第１のアプリケーションからリソースを割振り解除することを含む。本方法は、使用可能なコンピュータ上で第２のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間、修正を記録することも含み、修正は、第２のアプリケーションにリソースを割り振ることを含む。
2007500387.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内のコンピュータに、第１のアプリケーションをインストールし、前記第１のアプリケーションを実行するようリクエストすること、
前記コンピュータに１つまたは複数のファイルを転送すること、
前記コンピュータ上で前記第１のアプリケーションをインストールし実行するように前記コンピュータに修正を行い、その間前記修正を記録することであって、前記修正は、前記第１のアプリケーションにリソースを割り振ることを含むこと、
前記コンピュータ上で前記第１のアプリケーションを停止すること、
前記第１のアプリケーションから前記リソースを割振り解除することを含め、前記記録した修正に従って、前記コンピュータへの前記修正の部分を逆転すること、および
前記使用可能なコンピュータ上で第２のアプリケーションをインストールし実行するように前記コンピュータに修正を行い、その間、前記修正を記録することであって、前記修正は、前記第２のアプリケーションに前記リソースを割り振ることを含むこと、を備えることを特徴とする方法。
【請求項２】
前記修正は、通信ポートを設定すること、あるいは前記１つまたは複数のファイルを、前記コンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のアプリケーションは、あるタイプを有し、前記コンピュータ上で実行される少なくとも１つの他のアプリケーションが、前記第２のアプリケーションのタイプと同一のタイプである場合、前記部分は、そのタイプを有するアプリケーションをインストールし実行するように要求された修正を含まないことを特徴とする請求項１または２に記載の方法。
【請求項４】
第１のアプリケーションを管理する第１のアプリケーションマネージャを実行するように構成された第１のコンピュータと、
サービスを実行するように構成された第２のコンピュータとを備えるネットワークであって、前記サービスは、前記第１のアプリケーションマネージャからリクエストされると、前記第２のコンピュータ上で前記第１のアプリケーションをインストールし実行するように前記第２のコンピュータに修正を行いながら、前記修正を記録することによって、第１のアプリケーションをインストールし実行し、前記修正は、前記第１のアプリケーションマネージャにリソースを割り振ることを特徴とするネットワーク。
【請求項５】
前記サービスは、前記第１のアプリケーションマネージャからリクエストされると、
前記第２のコンピュータ上で前記第１のアプリケーションを停止すること、
前記第１のアプリケーションマネージャから前記リソースを割振り解除することを含め、前記記録した修正に従って前記第２のコンピュータへの前記修正の部分を逆転すること、および
前記第２のコンピュータ上で第２のアプリケーションをインストールし実行するように前記第２のコンピュータに修正を行いながら、前記修正を記録することであって、前記修正は、第２のアプリケーションマネージャに前記リソースを割り振ることを含むことを実行するように構成されることを特徴とする請求項４に記載のネットワーク。
【請求項６】
前記修正は、通信ポートを設定すること、あるいは前記１つまたは複数のファイルを、前記第２のコンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含むことを特徴とする請求項５に記載のネットワーク。
【請求項７】
前記第１のアプリケーションは、あるタイプを有することができ、前記第２のコンピュータ上で実行される少なくとも１つの他のアプリケーションが、前記第２のアプリケーションのタイプと同一のタイプを有する場合、前記部分は、前記タイプを有するアプリケーションをインストールし実行するように要求された修正を含まないことを特徴とする請求項５または６に記載のネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルコンピュータによるデータ処理に関し、より詳細には、グリッドのインストール／実行／削除機構に関する。
【背景技術】
【０００２】
本出願は、２００３年７月２８日に出願した、Ｅｒｏｌ  Ｂｏｚａｋらの米国特許仮出願第６０／４９０８１８号明細書、速達便番号ＥＶ３３１００１６８４ＵＳ「ＧＲＩＤ  ＣＯＭＰＵＴＩＮＧ  ＭＡＮＡＧＥＭＥＮＴ」の内容を、参照によって組み込む。
【０００３】
今日のデータセンタにおいて、クライアント／サーバネットワークにおける、ビジネスアプリケーションを実行するサーバ群はしばしば、予測不可能な作業負荷を管理するのが苦手である。１台のサーバがアイドル状態にとどまり得る間でも、別のサーバが制限されている。この状態は、「Ｃａｔｃｈ−２２」と呼ばれるジレンマにつながる。この状態において、ネットワークのボトルネックを回避し、顧客、ビジネスパートナー、および従業員との接続を保護する必要のある企業が、しばしば作業負荷需要における最高スパイクを計画し、次いで、そうした余剰サーバがほとんどの時間、限度能力未満で問題なく動作するのを見張る。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
グリッドコンピューティングでは、１つの組織の中、または複数の組織に渡る異種コンピュータおよびシステムはすべて、１つの大型統合コンピューティングシステムとなる。この単一統合システムはしたがって、どの１台のコンピュータでも容易に扱うことができない程大きく集中的な問題およびプロセスを、効率的に扱うことができる。
【０００５】
より具体的には、グリッドコンピューティングは、コンピューティングリソースが複数のネットワークに渡って共有される分散型システムの形をとる。グリッドコンピューティングは、多数の管理ドメイン内およびいくつかの地理的区域に渡って存在する情報リソースの選択、集約、および共有を可能にする。こうした情報リソースは、たとえば、リソースの可用性、能力、およびコスト、ならびにユーザのサービス品質（ＱｏＳ）要件に基づいて共有される。グリッドコンピューティングは、所有コストの削減、コンピューティング、データ、およびストレージリソースの効率の集約および改善、ならびにアプリケーションおよびデータ共有のための仮想組織を使用可能にすることを意味する場合もある。
【課題を解決するための手段】
【０００６】
一態様において、本発明は、ネットワーク内のコンピュータに、第１のアプリケーションをインストールし、第１のアプリケーションを実行するようリクエストすること、コンピュータに１つまたは複数のファイルを転送すること、コンピュータ上で第１のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間修正を記録することであって、修正は、第１のアプリケーションにリソースを割り振ることを含むこと、コンピュータ上で第１のアプリケーションを停止すること、および記録した修正に従って、コンピュータへの修正部分を逆転することを含む方法を特徴とする。逆転することは、第１のアプリケーションからリソースを割振り解除することを含む。本方法は、使用可能なコンピュータ上で第２のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間、修正を記録することも含み、修正は、第２のアプリケーションにリソースを割り振ることを含む。
【０００７】
実施形態は、以下の１つまたは複数を含み得る。修正は、通信ポートを設定すること、あるいは１つまたは複数のファイルを、コンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含む。第１のアプリケーションは、あるタイプを有し、コンピュータ上で実行される少なくとも１つの他のアプリケーションが、第２のアプリケーションのタイプと同一のタイプである場合、修正部分は、そのタイプを有するアプリケーションをインストールし実行するように要求された修正を含まない。
【０００８】
別の態様では、本発明は、第１のアプリケーションを管理する第１のアプリケーションマネージャを実行するように構成された第１のコンピュータと、サービスを実行するように構成された第２のコンピュータとを含むネットワークを特徴とする。サービスは、第１のアプリケーションマネージャからリクエストされると、第２のコンピュータ上で第１のアプリケーションをインストールし実行するように第２のコンピュータに修正を行いながら、修正を記録することによって、第１のアプリケーションをインストールし実行する。修正は、第１のアプリケーションマネージャにリソースを割り振ることを含む。
【０００９】
実施形態は、以下の１つまたは複数を含み得る。いくつかの場合、サービスは、第１のアプリケーションマネージャからリクエストされると、以下のことを実行するように構成される。第２のコンピュータ上で第１のアプリケーションを停止し、記録した修正に従って第２のコンピュータへの修正部分を逆転し、逆転することは、第１のアプリケーションマネージャからリソースを割振り解除することを含み、第２のコンピュータ上で第２のアプリケーションをインストールし実行するように第２のコンピュータに修正を行いながら、修正を記録し、修正は、第２のアプリケーションマネージャにリソースを割り振ることを含む。こうした場合、修正は、通信ポートを設定すること、あるいは１つまたは複数のファイルを、第２のコンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含み得る。こうした場合、第１のアプリケーションは、あるタイプを有することができ、第２のコンピュータ上で実行される少なくとも１つの他のアプリケーションが、第２のアプリケーションのタイプと同一のタイプを有する場合、修正部分は、そのタイプを有するアプリケーションをインストールし実行するように要求された修正を含むことができない。
【００１０】
こうしたおよび他の実施形態は、以下の利点の１つまたは複数を有し得る。コンピュータシステムが、アプリケーションを実行する前と同じ状態であるように、グリッドコンピューティング環境用のアプリケーションを、コンピュータシステム上でインストールし、カスタマイズし、追跡し、削除することができる。
【００１１】
本発明の１つまたは複数の実施形態の詳細を、添付の図面および以降の説明に示す。本発明の他の特徴、目的、および利点が、説明および図面から、かつ特許請求の範囲から明らかになるであろう。
【発明を実施するための最良の形態】
【００１２】
様々な図面中の同じ参照記号は、同じ要素を示す。
【００１３】
図１に示すように、グリッドコンピューティング環境１００におけるサービスが、アプリケーション用の計算リソースを管理する。グリッドコンピューティング環境１００は、アプリケーション用のコンピューティングまたはデータ取得タスクを実施するために、個別に割り当てることができる１組の分散コンピューティングリソースである。こうした計算リソースは、コンピュータデバイス１２、１４、１６、１８、２０、２２を含む。こうしたコンピュータデバイスは、ネットワーク８を使って通信する。アプリケーションが必要とする計算量は、可変である。たとえば、グリッドコンピューティング環境１００内のコンピュータデバイス１２、１４、１６、１８、２０、２２を使うアプリケーション例は、インターネット価格設定コンフィギュレータである。コンピュータデバイス１２は、インターネットに接続されたコンピュータデバイス上のウェブブラウザを介して、ユーザに、価格設定情報へのネットワークアクセスを提供する。ウェブブラウザは、内容を表示し、かつ／またはウェブページ、メディアファイルなどのアプリケーション、ならびにネットスケープナビゲータ（登録商標）、マイクロソフトインターネットエクスプローラ（登録商標）、および同様のアプリケーションなどのプログラムを実行することができるどのアプリケーションでもよい。
【００１４】
この例では、コンピュータデバイス１２上のウェブサーバが、ユーザに価格設定情報を提供する。計算される各価格用の計算パラメータが、ＩＰＣディスパッチャ１１６によって、それぞれコンピュータデバイス１２、１４、１６、１８上で実行されるＩＰＣサーバ１２０、１２２、１２４、１２６に渡される。インターネット上のウェブサーバおよびアプリケーションが柔軟なので、ユーザ数は可変でよい。このため、インターネット価格設定コンフィギュレータにとって必要な計算量が動的になる。ＩＰＣマネージャ１１８が、グリッドコンピューティング環境１００内のサービスと通信することによって、サービスは、インターネット価格設定コンフィギュレータの動的な必要計算量に基づいて、計算リソース（たとえば、コンピュータデバイス１２、１４、１６、１８、２０、２２内のプロセッサ）を割り振り、割振り解除することができるようになる。このようにして計算リソースを割り振り、割振り解除することにより、コンピュータデバイス１２、１４、１６、１８、２０、または２２は、汎用計算リソースとして指定され、インターネット価格設定コンフィギュレータアプリケーションのピーク需要を扱うことだけに専用とはならなくなる。ＩＰＣマネージャ１１８は、ＩＰＣディスパッチャ１１６と連携し、そうすることによって、ＩＰＣディスパッチャ１１６が、ネットワーク８内のリソースへのアクセス権をもつようになる。
【００１５】
このように、グリッドコンピューティング環境１００内でリソースを割り振り、割振り解除する能力により、ＩＰＣマネージャ１１８は、使用可能な計算リソースを「必要に応じて」位置決めし使用することが可能になる。リソースが位置決めされると、ＩＰＣマネージャ１１８は、グリッドコンピューティング環境１００内のサービスを利用して、グリッドコンピューティング環境１００内のコンピュータデバイス上のアプリケーションとしてＩＰＣサーバ１２０、１２２、１２４、１２６をインストールすることができる。ＩＰＣディスパッチャ１１６は、Ｔｕｅｃｋｅらによってオープングリッドサービスインフラストラクチャ（ＯＧＳＩ）バージョン１．０で定義されたウェブサービス定義言語（ＷＳＤＬ）インターフェイスを用いて、ＩＰＣディスパッチャ１１６とＩＰＣサーバ１２０、１２２、１２４、１２６との間の情報フローを管理し交換する。たとえば、ＯＧＳＩ  ＷＳＤＬインターフェイスは、ＩＰＣディスパッチャ１１６およびＩＰＣサーバ１２０、１２２、１２４、１２６から、価格設定計算用の計算パラメータを渡すのに用いることができる。ＯＧＳＩ  ＷＳＤＬインターフェイスは、ＩＰＣサーバ１２０、１２２、１２４、１２６からＩＰＣディスパッチャ１１６に、完了した結果を戻すのにも用いることができる。ＯＧＳＩバージョン１．０は、参照によって本明細書に組み込まれている。ＯＧＳＩ  ＷＳＤＬインターフェイスは、グリッドコンピューティング環境１００およびインターネット価格設定コンフィギュレータなどのアプリケーションの制御、障害回復、および安全な管理を可能にする。
【００１６】
ＩＰＣディスパッチャ１１６は、ＩＰＣサーバ１２０、１２２、１２４、１２６を使って、ユーザ向けに計算を実施し、グリッドコンピューティング環境１００内のサービスは、ＩＰＣサーバ１２０、１２２、１２４、１２６を実行するグリッドコンピューティング環境１００内のコンピュータデバイス上のリソース使用を監視する。こうしたサービスは、この使用情報をＩＰＣマネージャ１１８にも送る。使用要件と現在のリソースのロードとの間の比較に基づいて、ＩＰＣマネージャ１１８はグリッドコンピューティング環境１００内のリソースの使用を所望のレベルで続けるように、ＩＰＣサーバ１２０、１２２、１２４、１２６向けにより多くのリソースを割り振り、またはリソースを割振り解除するために、グリッドコンピューティング環境１００内のサービスに動的に通知することができる。
【００１７】
グリッドマネージャ１５２、１５４、１５６、１６０、１６２、１６４は、コンピュータデバイス１２、１４、１６、１８、２０、２２にそれぞれ存在する。グリッドコンピューティング環境１００内部で、グリッドマネージャのペアは、１つのグリッドマネージャを、別のグリッドマネージャに対して上位と分類する方向関係を有し得る。１つのグリッドマネージャが、他のグリッドマネージャとの複数の上位関係を有し得る。たとえば、グリッドマネージャ１５２は、グリッドマネージャ１５４、１５６との上位関係を有する。１つのグリッドマネージャが、他のグリッドマネージャとの複数の下位関係も有し得る。こうした階層関係により、ＩＰＣマネージャ１１８は、グリッドコンピューティング環境１００内の計算リソースを使用するのに、ネットワーク８内のすべてのコンピュータデバイスからなるリストにアクセスする必要がない。ＩＰＣマネージャ１１８は、グリッドマネージャを実行する１つのコンピュータデバイス（たとえば、グリッドマネージャ１５２を実行するコンピュータデバイス１２）のネットワークアドレスにアクセスすることだけが要求され、このグリッドマネージャは、他のコンピュータデバイス上で実行される他のグリッドマネージャとの関係を用いて、ＩＰＣディスパッチャ１１６に、グリッドコンピューティング環境１００内の他のコンピュータデバイスへの間接アクセスを提供する。
【００１８】
グリッドマネージャ（たとえば１５２、１５４、１５６、１６０、１６２、１６４）が、他のグリッドマネージャとのすべての上位関係からなる第１のリスト、および他のグリッドマネージャとのすべての下位関係からなる第２のリストを維持する。各グリッドマネージャは、こうしたリスト中のグリッドマネージャすべてへの、ネットワーク８を介した「常にオープン」な通信チャネルを、たとえば、上述した伝送制御プロトコル（ＴＣＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、およびシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）に基づいたＯＧＳＩ  ＷＳＤＬインターフェイスを用いて維持する。こうしたリストおよび対応する通信チャネルは修正することができ、ランタイム中にグリッド階層を動的に再構成させる。また、障害のあるグリッドマネージャを、階層中で動的に置き換えさせる。たとえば、図１を参照すると、グリッドマネージャ１５４に障害が起こった場合、グリッドマネージャ１５２が、グリッドマネージャ１６０、１６２との接続を失う。この場合、グリッドマネージャ１５２がグリッドマネージャ１６０、１６２と新しい上位関係をもつように、グリッドマネージャの間の関係を修正することができる。同様に、グリッドマネージャ１６０、１６２が、グリッドマネージャ１５２との新しい下位関係を有するようになる。
【００１９】
図２に示すように、アプリケーション（たとえば、インターネット価格設定コンフィギュレータ）が、コンピュータデバイス（たとえば１２、１４、１６、１８、２０、または２２）上で実行される前にネットワーク８内で必要なリソースを割り振られるように、アプリケーションスタートプロセス２００が設計される。プロセス２００は、また、同様のアプリケーションがコンピュータデバイス上の同じリソースを使って同時にスタートしようとしている場合に、２つ以上のアプリケーションが互いに衝突することも干渉することもないように保証する。たとえば、ＩＰＣマネージャ１１８は、ＩＰＣサーバ（たとえば１２０）が、サービス品質（ＱｏＳ）に合わせて、コンピュータデバイス１４内のプロセッサ上で実行される唯一のアプリケーションであることを要求し得る。この場合、別のアプリケーションがコンピュータデバイス１４内のプロセッサ上で同時に実行を試みられると、この別のアプリケーションが干渉することになる。
【００２０】
プロセス２００は、ＩＰＣマネージャ１１８（または他の何らかのアプリケーション）が、計算リソースに対する要件を送って（２０２）、こうした要件に合致する、使用可能なリソースがグリッドコンピューティング環境１００にあるかどうか判定するために、グリッドマネージャ（たとえば１５４）に照会を行うことを含む。こうした要件は、要求されるプロセッサ数、そうしたプロセッサの要求される使用率、メインメモリ、およびネットワーク速度など、コンピュータデバイス内のリソースに関する情報を指定する。クエリは、（グリッドコンピューティング環境１００内の）どの階層レベルにクエリが伝播されるべきかという情報も含み得る。プロセス２００は、グリッドマネージャ１５４が、こうした要件を受け取る（２０４）ことを含む。
【００２１】
ＩＰＣマネージャ１１８からの、使用可能なリソースに関するクエリに応答するために、プロセス２００は、グリッドマネージャ１５４が、要件を、グリッドマネージャ１５４にとって既知のリソースと突き合わせる（２０６）ことを含む。こうしたリソースは、グリッドマネージャ１５４によって直接管理される、コンピュータデバイス１４内のリソース（たとえば、プロセッサ４０）を含む。現在使用可能であり、要件を満たす、グリッドマネージャ１５４によって直接管理されるリソースが、グリッドマネージャ１５４によって維持されるリソース−クエリリストに追加される。
【００２２】
グリッドマネージャ１５４は、グリッドマネージャ１５４との下位関係を有するグリッドマネージャ１６０、１６２にもクエリを送る。プロセス２００は、グリッドマネージャ１６０、１６２が、グリッドマネージャ１５４に、リクエストされた要件を満たし、使用可能であり、グリッドマネージャ１６０、１６２それぞれにとって既知であるリソース（たとえば、コンピュータデバイス１８、２０上のプロセッサ）のリストを送ることによってクエリに応答する（２０８）ことを含む。グリッドマネージャ１６０、１６２にとって既知であるリソースからなる、こうしたリソース−クエリリストは、グリッドマネージャ１６０、１６２との下位関係を有するグリッドマネージャ（図示せず）によって管理されるリソースも含み得る。グリッドマネージャ１５４は、グリッドマネージャ１６０、１６２からの、使用可能なリソースからなるこうしたリソース−クエリリストを、リクエストされた要件を満たす使用可能なリソースからなるグリッドマネージャ１５４のリソース−クエリリストに追加する。プロセス２００が、このリソース−クエリリスト中に少なくとも１つのリソース（たとえば、プロセッサ４０）があると判定した（２１０）場合、グリッドマネージャ１５４は、このリソース−クエリリストをＩＰＣマネージャ１１８に送る（２１４）。あるいは、プロセス２００が、グリッドマネージャ１５４が上位グリッドマネージャ（たとえば、グリッドマネージャ１５２）との関係を有すると判定した（２１２）場合、グリッドマネージャ１５４は、使用可能なリソースに関するクエリをグリッドマネージャ１５２に送る（２０２）。このクエリに応答して、グリッドマネージャ１５２は、グリッドマネージャ１５２との下位関係を有するグリッドマネージャ１５４に冗長なクエリを返送することはない。
【００２３】
プロセス２００は、グリッドマネージャ１５４が、使用可能なリソースのリストとともに、それに対応する、要件に合致するネットワーク８内のグリッドマネージャのアドレスを送る（２１４）ことを含む。ＩＰＣマネージャ１１８は、（たとえば、コンピュータデバイス１６上の）リソースをリストから選択し、コンピュータデバイス１６上のリソースを管理するグリッドマネージャ１５４に、コンピュータデバイス１６上のリソースの予約をリクエストする（２１６）。コンピュータデバイス１６内のリソースが依然として予約可能（２１８）であり、予約が成功した場合、グリッドマネージャ１５４は、ＩＰＣマネージャ１１８に予約番号を送る（２２０）。この予約は、ＩＰＣマネージャ１１８がグリッドコンピューティング環境１００内のコンピュータデバイス１６上のリクエストされたリソースを保証され割り振られることを意味する。グリッドマネージャ１５４は、ＩＰＣマネージャ１１８などのアプリケーションからの、使用可能なリソースに関するクエリを、独立した実行処理スレッドを用いて扱う。したがって、グリッドマネージャ１５４は、セマフォを用いて、同一のリソース（たとえば、プロセッサ４０）が、同じリソースを同時にリクエストした異なるアプリケーションに対して多数の予約番号を割り当てられることがないようにする。
【００２４】
グリッドマネージャが、コンピュータデバイス１６内のリクエストされたリソースが予約可能でないと判定し、予約が失敗した場合、ＩＰＣマネージャ１１８は、リストにある次の使用可能リソースを選択し、この次の使用可能リソースの予約をリクエストする（２１６）。ＩＰＣマネージャ１１８が、登録番号を受け取り、登録番号の送信時点から測定されたタイムアウトが満了していない（２２２）場合、ＩＰＣマネージャ１１８は、コンピュータデバイス１６内のプロセッサ４０のリソースの上でＩＰＣサーバ１２２をスタートする（２２４）。ＩＰＣサーバ１２２のスタートは、予約番号およびアプリケーションファイルをグリッドマネージャ１５６に渡すことによって開始され、次いで、グリッドマネージャ１５６が、アプリケーションファイルを読んで、コンピュータデバイス１６上でＩＰＣサーバ１２２をインストールし実行する。
【００２５】
図３に示すように、プロセス２５０は、グリッドコンピューティング環境１００内のコンピュータデバイス（たとえば１４）上でアプリケーション（たとえば、ＩＰＣサーバ１２２）をインストールして、アプリケーション用に使用可能なリソースをセットアップし、使用可能なリソースを使用し、リソースが必要とされなくなったとき、アプリケーションを削除し、またはアンインストールして、後続アプリケーションによる使用のためにリソースを解放する。プロセス２５０は、ＩＰＣマネージャ１１８が、ＩＰＣサーバ１２２用のコードに加えて、グリッドマネージャ１５４が、アプリケーションを実行した後でコンピュータデバイス１４を元の状態に戻すことができるように、コンピュータデバイス１４からアプリケーションをどのようにしてインストールし、カスタマイズし、追跡し、削除するかということに関する命令を含むアプリケーションファイルを転送する（２５２）ことを含む。
【００２６】
ＩＰＣマネージャ１１８は、ファイル転送プロトコル（ＦＴＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、またはファイルコピーを用いて、ネットワーク結合記憶装置（ＮＡＳ）から、たとえばコンピュータデバイス１４に、アプリケーションファイルを、圧縮したｚｉｐファイルなど１個のファイルとして転送する。このｚｉｐファイルには、アプリケーションＩＰＣサーバ１２２のインストールおよびカスタマイズについての情報がある。この情報は、グリッドマネージャ１５４内でのエンジン（図示せず）のインストールおよびカスタマイズによって抽出され変換される（２５４）小型の実行可能プログラムまたは拡張マークアップ言語（ＸＭＬ）ドキュメントによって表される。プロセス２５０は、グリッドマネージャ１５４が、アプリケーションをインストールし（２５６）実行する（２５８）ことを含む。アプリケーションのインストール（２５６）、カスタマイズ、および実行（２５８）の間、コンピュータデバイス１４に対するすべての変更がログ記録され、そうすることによって、アプリケーションが、ＩＰＣマネージャ１１８によってリクエストされてグリッドマネージャ１５４によって終了され（２６０）またはアンインストールされると、グリッドマネージャ１５４は、コンピュータデバイス１４からアプリケーションを削除し、また、アプリケーションをインストールし実行したときに行われた、コンピュータデバイス１４に対する他のどの変更も削除する（２６２）。したがって、コンピュータデバイス１４は、アプリケーション実行前の元の状態に復帰し、コンピュータデバイス１４のリソースはすべて、後続アプリケーションによる使用のために再度使用可能になる。これにより、リソースは、アプリケーションを実行した後に、コンピュータデバイス１４をリブートすることなく使用可能になる。こうした変更は、通信ポートの割振りなど、他の変更に加えてアプリケーションコードを格納し実行するために割り振られたメモリ（たとえば３２）中の空間を含む。
【００２７】
いくつかの例では、多数のアプリケーションが、１台のコンピュータデバイス（たとえば１４）内のリソース上で同時に実行される可能性がある。グリッドコンピューティング環境１００用のアプリケーションは、そのリソース要件に部分的に基づいて分類される。アプリケーションを実行するための、コンピュータデバイスに対するいくつかの変更は、そのクラスのアプリケーションの最初の実行に対してのみ要求され、それ以降の実行は、こうした変更を要求しない。こうした例において、グリッドマネージャ１５４は、最初の実行のための変更を行うだけである。さらに、アプリケーションをアンインストールするとき、グリッドマネージャ１５４は、実行され終了された最後のアプリケーションに対する変更を削除するだけである。
【００２８】
グリッドコンピューティング環境１００内のコンピュータデバイス上でアプリケーションをインストールした後、グリッドマネージャは、リクエストされると、こうしたアプリケーションのプロセスをスタートまたはストップするように構成される。インターネット価格設定コンフィギュレータ（ＩＰＣ）アプリケーションの例では、グリッドマネージャ１５４は、コンピュータデバイス１４上のＩＰＣサーバ１２２をインストールした後でコンピュータデバイス１４上のＩＰＣサーバ１２２をスタートまたはストップするように構成される。ＩＰＣマネージャ１１８は、グリッドマネージャに、グリッドコンピューティング環境１００における現在のリソース使用に基づいてグリッドコンピューティング環境１００内のＩＰＣサーバをスタートまたはストップするようリクエストする。コンピュータデバイス１４上でＩＰＣサーバ１２２をストップした後、ＩＰＣマネージャ１１８は、あらかじめ指定された期間待機し、次いで、現在のリソース使用がＩＰＣサーバ１２２を再度スタートする必要性を示さない場合、ＩＰＣサーバ１２２をアンインストールするよう、グリッドマネージャ１５４にリクエストする。さらに、前述したように、グリッドマネージャは、アプリケーション（たとえばＩＰＣサーバ１２０、１２２、１２４、１２６）を実行するコンピュータデバイス１４などのコンピュータデバイス上でのリソース使用を監視し、この使用情報をＩＰＣマネージャ１１８に送る。
【００２９】
多くの例において、コンピュータデバイス内のリソース上でのアプリケーションプロセスの制御は、オペレーティングシステム（ＯＳ）に固有である。グリッドコンピューティング環境１００は、コンピュータデバイス上の様々なオペレーティングシステムを扱うように構成される。さらに、グリッドコンピューティング環境１００は、グリッドコンピューティング環境１００上で実行されるために設計し直される必要がない様々なアプリケーション（たとえば、インターネット価格設定コンフィギュレータ）を扱うように設計される。グリッドマネージャは、グリッドマネージャコードとアプリケーションコードの開発の間の相互依存性を低下させる一般的なやり方でアプリケーションプロセスを制御する。グリッドマネージャがアプリケーションプロセスの状態を発見し、制御し（たとえば、スタートし、ストップし、停止し、再開し）、検査し、または監視することを可能にするためのインターフェイスがアプリケーションコードに提供される。このインターフェイスは、オペレーティングシステムまたはホスティング環境によって公開されるオペレーティングシステムプロセス用に提供され、３つの側面を含む。インターフェイスの１つの側面は、プロセス識別、状態、リソース消費（アプリケーションが使用し得る中央演算処理装置（ＣＰＵ）、メモリ、ソケットバインディング、または他のリソースなど）の程度などのプロセスデータ、およびプロセスデータ方式によって定義されるアプリケーション固有データである。
【００３０】
インターフェイスの第２の側面は、スタート、ストップ、待機、再開、優先順位変更などの動作、およびサポートされる管理動作によって定義される他の動作を管理することである。
【００３１】
インターフェイスの第３の側面は、プロセスデータ方式、サポートされる管理動作、および通信バインディングなどの制御バインディングおよび定義である。グリッドコンピューティング環境１００内で実行されるすべてのアプリケーションが、こうした３つの側面において同じ情報および機能にアクセスするわけではないので、アプリケーションは、グリッドマネージャに、各アプリケーションがサポートするクエリおよびコマンドのリストを提供する。
【００３２】
アプリケーションコードに提供されるインターフェイスは、アプリケーションプログラムインターフェイス（ＡＰＩ）である。このＡＰＩは、アプリケーションプログラム（たとえば、インターネット価格設定コンフィギュレータ）を書くプログラマがグリッドマネージャからのリクエストを扱うための、グリッドマネージャソフトウェアによって規定される（ソフトウェアコードに組み込まれた）１組の方法である。
【００３３】
図４に示すように、ＩＰＣサーバ１２２は、ＡＰＩ３０２およびドキュメント３０４を含む。ＡＰＩ３０２は、様々なタイプのアプリケーションに適合されるので、ドキュメント３０４は、どのようにしてグリッドマネージャ１５４がＩＰＣサーバ１２２と通信するか、ＡＰＩ３０２を介したどのようなリクエストがＩＰＣサーバ１２２によってサポートされるかを記述する。グリッドマネージャ１５４は、ＩＰＣサーバ１２２を開始する前にドキュメント３０４を読む。いくつかの例では、ドキュメント３０４は、ＸＭＬで書かれ、ドキュメントタイプ記述（ＤＴＤ）３０６を含む。ＤＴＤとは、標準汎用マークアップ言語（ＳＧＭＬ）の規則に従う固有定義である。ＤＴＤは、ドキュメントを伴う仕様であり、パラグラフを分離し、見出しを識別するマークアップが何であるか、どのように各マークアップが処理されるかを識別する。ドキュメント３０４にＤＴＤ３０６を含めることによって、ＤＴＤ「リーダ」（または「ＳＧＭＬコンパイラ」）を有するグリッドマネージャ１５４は、ドキュメント３０４を処理することが可能であり、一連の様々なマークアップコードおよび関連する意味を利用する多様な種類のドキュメント３０４を正しく変換することができる。
【００３４】
図４Ａに示すように、グリッドマネージャ１５４は、プロセス３５０を用いて、ＩＰＣサーバ１２２などのアプリケーションをインストールする。グリッドマネージャ１５４は、ドキュメント３０４中のＤＴＤ３０６を読んで（３５２）、ドキュメント３０４中のマークアップを識別する。グリッドマネージャ１５４は、マークアップを用いてドキュメント３０４を読んで（３５４）、ＩＰＣサーバ１２２と通信するための通信パラメータを識別する。グリッドマネージャ１５４は、通信パラメータの仕様に基づいて、ＩＰＣサーバ１２２との通信をセットアップする（３５６）。グリッドマネージャ１５４は、通信パラメータを使ってＩＰＣサーバ１２２と通信して（３５８）、「スタート」、「ストップ」、および「アイドル状態か？」などのリクエストを送る。
【００３５】
どのアプリケーション（たとえば、インターネット価格設定コンフィギュレータ）をネットワーク８上で実行することができるようになる前でも、グリッドマネージャ１５２、１５４、１５６、１６０、１６２、１６４が、コンピュータデバイス１２、１４、１６、１８、２０、２２上において非同期で開始され、他のグリッドマネージャとの関係が確立される。図５に示すように、プロセス４００が、グリッドマネージャの間の関係を初期化する。各グリッドマネージャ（たとえば、グリッドマネージャ１５４）に関して、グリッドマネージャ１５４は、プロパティファイルを読む（４０２）ことによってコンピュータデバイス１４を開始する。プロパティファイルは、グリッドマネージャ１５４との上位関係を有するグリッドマネージャを有するコンピュータデバイスのアドレスのリストを含む。このリストについては、上で、他のグリッドマネージャとのすべての上位関係の第１のリストとして説明した。上位グリッドマネージャ（たとえば、グリッドマネージャ１５２）が、このアドレスリスト中で指定された場合（４０４）、グリッドマネージャ１５４は、上位グリッドマネージャ（たとえば１５２）への通信チャネルをオープンするようリクエストする（４０６）。グリッドマネージャ１５２が既にスタートされている場合、グリッドマネージャ１５２は、グリッドマネージャ１５２からの、通信チャネルをオープンするリクエストを受諾することによって応答する。プロセス４００は、グリッドマネージャ１５４が、グリッドマネージャ１５４との下位関係を有すると識別されるグリッドマネージャ（たとえば、グリッドマネージャ１６０、１６２）からの、通信チャネルに対するどのリクエストも検出する（４０８）ことを含む。プロセス４００が、いくつかのリクエストがあると判定した（４１０）場合、グリッドマネージャ１５４は、下位グリッドマネージャ（たとえば１６０、１６２）からの通信チャネルを可能にする。プロセス４００は、グリッドマネージャ１５４が、上位関係を有するグリッドマネージャへの、通信を求めるリクエストが保留されているかどうか調べる（４１４）ことを含む。保留されているリクエストがある場合、グリッドマネージャ１５４は、グリッドマネージャに通信チャネルをリクエストする（４０６）。こうした通信チャネルは、グリッドマネージャの間のリソースクエリ用に（以前記述したように）、また、グリッドマネージャの間の「ハートビート」メッセージ用に使われて、グリッドコンピューティング環境１００内の各グリッドマネージャが機能していることを確かめる。
【００３６】
グリッドマネージャ１５２、１５４、１５６、１６０、１６２、１６４が、確立された関係をもって実行されていると、グリッドマネージャは、グリッドコンピューティング環境１００の適正な動作のために使われる。しばしば、グリッドコンピューティング環境１００のライフサイクルの間、グリッドマネージャの機能性が強化される。しばしば、こうした強化に合わせてグリッドコンピューティング環境１００をシャットダウンし、グリッドコンピューティング環境１００をスタートすることは可能でも、好都合でもない。グリッドマネージャ１５２、１５４、１５６、１６０、１６２、１６４は、変更が起きたときにグリッドコンピューティング環境１００のユーザに対して最小限の影響しかないように構成される。この透過性を可能にするために、グリッドコンピューティング環境１００の管理者が、グリッドマネージャ１５２、１５４、１５６、１６０、１６２、１６４それぞれに個別に、または一斉にアクセスすることを可能にするための、ユーザインターフェイス用のＡＰＩが提供される。このＡＰＩは、ただ１つのメソッド、すなわち、管理者によってタイプ入力されたコマンドを含む文字列を含む点で、静的である。このＡＰＩは、文字列が多様なコマンドを含み得るので、動的である。
【００３７】
いくつかの場合において、グリッドマネージャは、Ｊａｖａ（登録商標）プログラミング言語を使って開発される。こうした場合、グリッドマネージャに発行される新しいコマンドは、新しいまたは改定されたＪａｖａ（登録商標）クラスを、クラスローダを介して動的にロードすることによってサポートすることができる。コードへのこの動的アクセスは、グリッドコンピューティング環境１００内のグリッドマネージャをシャットダウンせずに行うことができる。Ｊａｖａ（登録商標）クラスローダを使って、グリッドマネージャ用のあるクラスのインスタンスが生成される度に、そのクラスの定義および振舞いを、グリッドコンピューティング環境１００に新しい機能性を提供するようにアップデートすることができる。
【００３８】
グリッドコンピューティング環境１００をシャットダウンすることなくグリッドコンピューティング環境１００の機能性を動的に修正する別のやり方は、グリッドマネージャの間の階層関係を変更し、グリッドマネージャを削除し、または新しいグリッドマネージャを追加することである。グリッドコンピューティング環境１００の管理用に提供されるＡＰＩは、既存の関係を解消しまたは新しい関係を追加するためのコマンドを有する個々のグリッドマネージャに文字列を送るようにも構成される。
【００３９】
グリッドコンピューティング環境１００の管理者にとって、グリッドコンピューティング環境１００内の１台のコンピュータデバイス上のアプリケーションおよびグリッドマネージャ、ならびにグリッドマネージャとの１つまたは複数のレベルの下位関係を有するグリッドマネージャの形のグリッド管理階層の一部を実行する他のコンピュータデバイスを可視化することが有用である。こうしたコンピュータデバイスのビューは、グリッドランドスケープと呼ばれる。図６に示すように、グリッドコンピューティング環境１００など、グリッドランドスケープの視覚化のためのグリッドグラフィカルユーザインターフェイス（ＧＵＩ）５００は、コンピュータデバイス上で実行されるサービスの組織を可視化するＧＵＩ要素を含む。ＧＵＩ５００は、列および行を有する、グリッドに似た構造を提供する。行はサービスを表し、サービスは、サービスが属すアプリケーション、サービスのタイプ、および固有のサービスインスタンスに関して階層状に構造化される。各サービスインスタンス行は、サービスがインスタンス化されるところを表す、グリッドコンピューティング環境１００内の場所に関連づけられる。このコンテキストにおいて、列は、グリッドランドスケープ内のコンピュータデバイスを表す。具体的には、ＧＵＩ５００は、３つのコンピュータデバイス１２、１４、１６を表す３つの列をもつ。ＧＵＩ５００は、グリッドマネージャ１５２が、それぞれコンピュータデバイス１４、１６の上で実行される下位グリッドマネージャ１５４、１５６を有するコンピュータデバイス１２上で実行されることを示す。ＧＵＩ５００は、コンピュータデバイス１２上で実行されるインターネット価格設定コンフィギュレータサービスも示す。こうしたインターネット価格設定コンフィギュレータサービスは、ＩＰＣディスパッチャ１１６、ＩＰＣサーバ１２０、およびＩＰＣマネージャ１１８を含む。
【００４０】
ＧＵＩ５００は、グリッドマネージャおよびインターネット価格設定コンフィギュレータ（または他のアプリケーション）サービスからのフィードバックを用いて動的にリフレッシュされ、そうすることによって、ＧＵＩ５００において新しいサービスが管理者に対して表示される。同様に、シャットダウンされたサービスは、ＧＵＩ５００において削除される。
【００４１】
図７に示すように、グリッドブラウザコンポーネント６００は、グリッドコンピューティング環境１００内のコンピュータデバイス上のグリッドマネージャをブラウズする複合グラフィカルユーザインターフェイス（ＧＵＩ）である。コンポーネント６００は、曲線エッジおよび頂点を有するグラフを表示する。頂点は、グリッドコンピューティング環境１００内のコンピュータデバイスを表し、曲線エッジは、グリッドコンピューティング環境１００内の２台のコンピュータデバイス（頂点）におけるグリッドマネージャの方向的関連づけを表す。この関連づけは、階層状（すなわち、上位／下位）である。各頂点は、コンピュータデバイスならびにコンピュータデバイス上で現在実行されているアプリケーションのネットワークアドレスを表示する。たとえば、コンポーネント６００は、ＩＰＣサーバ１１８、１２０、１２２、１２４を有するコンピュータデバイス１２、１４、１６、１８、２０、２２を示す。他の例（図示せず）では、グリッドブラウザコンポーネント６００は、関連づけを表す方向性のないエッジを有する、グリッドマネージャの、非階層状のピアツーピアな関連づけを示す。
【００４２】
グリッドブラウザコンポーネント６００は、コンテキストに依存する。コンピュータデバイス上のグリッドマネージャの間の関係（たとえば、上位／下位）に応じて、ユーザのブラウジング履歴に関してコンピュータデバイスが巡回される。
【００４３】
ＧＵＩ６００内のコンピュータデバイス（たとえば、コンピュータデバイス１４）を表す頂点をクリックすることによって、ユーザは、グリッドマネージャならびにグリッドマネージャとの下位関係を有するコンピュータデバイスおよびグリッドマネージャ上で実行されるアプリケーションを、ＧＵＩ５００を用いて自動的に閲覧することができる。ユーザは、コンピュータデバイスを選び、そのグリッドマネージャと他のグリッドマネージャの間の関係を見ることができる。ＧＵＩ５００と６００の間のこの接続は、ＧＵＩ５００、６００を生成するソフトウェアを使って行われる。
【００４４】
ネットワーク８を、様々なやり方で実装することができる。ネットワーク８は、インターネット、ローカルエリアネットワーク（ＬＡＮ）または他のローカルネットワーク、私設ネットワーク、公衆網、単純旧式電話システム（ＰＯＴＳ）、あるいは他の同様の有線または無線ネットワークなど、どの種類およびどの組合せのネットワークも含む。ネットワーク８を介した通信を、暗号化、セキュリティプロトコルなどの機構、または他のタイプの類似機構を用いて保護することができる。ネットワーク８を介した通信は、モデムリンク、イーサネット（登録商標）リンク、ケーブル、二地点間リンク、赤外線接続、光ファイバリンク、無線リンク、セルラーリンク、ブルートゥース（登録商標）、衛星リンク、および他の同様のリンクなど、どの種類およびどの組合せの通信リンクも含み得る。
【００４５】
ネットワーク８については、説明を容易にするために単純化する。ネットワーク８は、ネットワーク、通信リンク、プロキシサーバ、ファイアウォールまたは他のセキュリティ機構、インターネットサービスプロバイダ（ＩＳＰ）、ゲートキーパー、ゲートウェイ、スイッチ、ルータ、ハブ、クライアント端末、および他の要素など、より多くの追加要素もより少ない追加要素も含み得る。
【００４６】
コンピュータデバイス１２、１４、１６、１８、２０、２２は、多様なネットワークプロトコルの１つを使って、媒体１０を介して通信する。たとえば、１つのプロトコルは、ＳＯＡＰ（シンプルオブジェクトアクセスプロトコル）と組み合わされた伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）である。
【００４７】
本発明の実施形態を、デジタル電子回路の形でも、コンピュータハードウェア、ファームウェア、ソフトウェアの形でも、その組合せの形でも実装することができる。本発明の実施形態を、コンピュータプログラム製品、すなわち、情報キャリア、たとえばデータ処理機器、たとえばプログラム可能なプロセッサ、コンピュータ、または多数のコンピュータによる実行のため、またはデータ処理機器の動作を制御するための、ノード可読な記憶デバイスや伝播信号の形で明白に実現されるコンピュータプログラムとして実装することができる。コンピュータプログラムを、コンパイラ型やインタープリタ型言語を含む、どの形のプログラミング言語でも書くことができ、スタンドアロンプログラムまたはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境における使用に適した他のユニットを含むどの形でも展開することができる。コンピュータプログラムを、１台のコンピュータ上でも、一箇所にあるまたは数箇所に分散され、通信ネットワークによって相互接続された多数のコンピュータでも実行されるように展開することができる。
【００４８】
本発明の実施形態の方法ステップは、入力データに作用し出力を生成することによって本発明の機能を実施するためのコンピュータプログラムを実行する１つまたは複数のプログラム可能なプロセッサによって実施することができる。特殊目的論理回路、たとえば、ＦＰＧＡ（書替え可能ゲートアレイ）やＡＳＩＣ（アプリケーション固有集積回路）によって、方法ステップを実施することもでき、そうした論理回路として本発明の機器を実装することができる。
【００４９】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用および特殊目的マイクロプロセッサ両方、およびどの種類のデジタルコンピュータのどの１つまたは複数のプロセッサも含む。概して、プロセッサが、読出し専用メモリまたはランダムアクセスメモリあるいはその両方から命令およびデータを受け取る。コンピュータの基本要素は、命令を実行するプロセッサならびに命令およびデータを格納する１つまたは複数のメモリデバイスである。概して、コンピュータは、データを格納する１つまたは複数の大容量記憶デバイス、たとえば磁気、光磁気ディスク、または光ディスクも含み、そこからデータを受け取り、またはそこへデータを転送し、あるいはその両方を行うように動作可能に結合される。コンピュータプログラム命令およびデータを具体化するのに適した情報キャリアは、例として半導体メモリデバイス、たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス、磁気ディスク、たとえば内部ハードディスクや取外し可能ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含むあらゆる形の不揮発性メモリを含む。プロセッサおよびメモリを、特殊目的論理回路によって補うことも、回路に組み込むこともできる。
【００５０】
ユーザとの対話をもたらすために、本発明の実施形態は、表示デバイス、たとえば、ユーザに情報を表示するＣＲＴ（ブラウン管）やＬＣＤ（液晶ディスプレイ）モニタ、ならびにキーボードおよび指示デバイス、たとえば、ユーザがコンピュータに入力を与えるためのマウスやトラックボールを有するコンピュータ上で実装することができる。ユーザとの対話をもたらすために、他の種類のデバイスを使用することもできる。たとえば、ユーザに与えられるフィードバックは、どの形の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックでもよく、ユーザからの入力は、音響、音声、または触覚入力を含むどの形でも受け取ることができる。
【００５１】
本発明の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含み、ミドルウェアコンポーネント、たとえばアプリケーションサーバを含み、フロントエンドコンポーネント、たとえば、ユーザが本発明の実施形態を実装したものと対話するためのグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ、あるいはこのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントのどの組合せも含むコンピューティングシステムにおいて実装することができる。システムのコンポーネントは、どの形または媒体のデジタルデータ通信、たとえば通信ネットワークによっても相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）およびワイドエリアネットワーク（「ＷＡＮ」）、たとえばインターネットを含む。
【００５２】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いにリモートであり、通常、通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行されるとともに互いにクライアント／サーバ関係を有するコンピュータプログラムに基づいて成り立つ。
【００５３】
本発明のいくつかの実施形態を記述した。それにも関わらず、本発明の精神および範囲から逸脱することなく、様々な修正を行うことができることが理解されよう。他の実施形態も、添付の請求項の範囲内である。
【図面の簡単な説明】
【００５４】
【図１】グリッドコンピューティング環境を示すブロック図である。
【図２】図１のグリッドコンピューティング環境におけるリソースの発見および予約を示すフロー図である。
【図３】図１のグリッドコンピューティング環境におけるアプリケーションのインストール、実行、削除を示すフロー図である。
【図４】図１のグリッドコンピューティング環境におけるコンピュータデバイスを示すブロック図である。
【図４Ａ】図４のコンピュータデバイスのアプリケーションの開始を示すフロー図である。
【図５】図１のグリッドコンピューティング環境におけるグリッドマネージャの開始を示すフロー図である。
【図５Ａ】別のコンピュータデバイスで補強された、図１のグリッドコンピューティング環境を示すブロック図である。
【図６】グリッドコンピューティング環境を視覚化するための、例示的なグリッドグラフィカルユーザインターフェイス（ＧＵＩ）コンポーネントを示すブロック図である。
【図７】グリッドブラウザコンポーネントを示すブロック図である。
【図１】
2007500387.tif 000003
【図２】
2007500387.tif 000004
【図３】
2007500387.tif 000005
【図４】
2007500387.tif 000006
【図４Ａ】
2007500387.tif 000007
【図５】
2007500387.tif 000008
【図５Ａ】
2007500387.tif 000009
【図６】
2007500387.tif 000010
【図７】
2007500387.tif 000011
【国際調査報告】
2007500387.tif 000012
2007500387.tif 000013
2007500387.tif 000014