JP2007500387A - インストール/実行/削除機構 - Google Patents
インストール/実行/削除機構 Download PDFInfo
- Publication number
- JP2007500387A JP2007500387A JP2006521516A JP2006521516A JP2007500387A JP 2007500387 A JP2007500387 A JP 2007500387A JP 2006521516 A JP2006521516 A JP 2006521516A JP 2006521516 A JP2006521516 A JP 2006521516A JP 2007500387 A JP2007500387 A JP 2007500387A
- Authority
- JP
- Japan
- Prior art keywords
- application
- grid
- computer
- manager
- modification
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一方法では、ネットワーク内のコンピュータに、第1のアプリケーションをインストールし、第1のアプリケーションを実行するようリクエストすること、コンピュータに1つまたは複数のファイルを転送すること、コンピュータ上で第1のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間修正を記録することであって、修正は、第1のアプリケーションにリソースを割り振ることを含むこと、コンピュータ上で第1のアプリケーションを停止すること、および記録した修正に従って、コンピュータへの修正部分を逆転することを含む。逆転することは、第1のアプリケーションからリソースを割振り解除することを含む。本方法は、使用可能なコンピュータ上で第2のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間、修正を記録することも含み、修正は、第2のアプリケーションにリソースを割り振ることを含む。
Description
本発明は、デジタルコンピュータによるデータ処理に関し、より詳細には、グリッドのインストール/実行/削除機構に関する。
本出願は、2003年7月28日に出願した、Erol Bozakらの米国特許仮出願第60/490818号明細書、速達便番号EV331001684US「GRID COMPUTING MANAGEMENT」の内容を、参照によって組み込む。
今日のデータセンタにおいて、クライアント/サーバネットワークにおける、ビジネスアプリケーションを実行するサーバ群はしばしば、予測不可能な作業負荷を管理するのが苦手である。1台のサーバがアイドル状態にとどまり得る間でも、別のサーバが制限されている。この状態は、「Catch−22」と呼ばれるジレンマにつながる。この状態において、ネットワークのボトルネックを回避し、顧客、ビジネスパートナー、および従業員との接続を保護する必要のある企業が、しばしば作業負荷需要における最高スパイクを計画し、次いで、そうした余剰サーバがほとんどの時間、限度能力未満で問題なく動作するのを見張る。
グリッドコンピューティングでは、1つの組織の中、または複数の組織に渡る異種コンピュータおよびシステムはすべて、1つの大型統合コンピューティングシステムとなる。この単一統合システムはしたがって、どの1台のコンピュータでも容易に扱うことができない程大きく集中的な問題およびプロセスを、効率的に扱うことができる。
より具体的には、グリッドコンピューティングは、コンピューティングリソースが複数のネットワークに渡って共有される分散型システムの形をとる。グリッドコンピューティングは、多数の管理ドメイン内およびいくつかの地理的区域に渡って存在する情報リソースの選択、集約、および共有を可能にする。こうした情報リソースは、たとえば、リソースの可用性、能力、およびコスト、ならびにユーザのサービス品質(QoS)要件に基づいて共有される。グリッドコンピューティングは、所有コストの削減、コンピューティング、データ、およびストレージリソースの効率の集約および改善、ならびにアプリケーションおよびデータ共有のための仮想組織を使用可能にすることを意味する場合もある。
一態様において、本発明は、ネットワーク内のコンピュータに、第1のアプリケーションをインストールし、第1のアプリケーションを実行するようリクエストすること、コンピュータに1つまたは複数のファイルを転送すること、コンピュータ上で第1のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間修正を記録することであって、修正は、第1のアプリケーションにリソースを割り振ることを含むこと、コンピュータ上で第1のアプリケーションを停止すること、および記録した修正に従って、コンピュータへの修正部分を逆転することを含む方法を特徴とする。逆転することは、第1のアプリケーションからリソースを割振り解除することを含む。本方法は、使用可能なコンピュータ上で第2のアプリケーションをインストールし実行するようにコンピュータに修正を行い、その間、修正を記録することも含み、修正は、第2のアプリケーションにリソースを割り振ることを含む。
実施形態は、以下の1つまたは複数を含み得る。修正は、通信ポートを設定すること、あるいは1つまたは複数のファイルを、コンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含む。第1のアプリケーションは、あるタイプを有し、コンピュータ上で実行される少なくとも1つの他のアプリケーションが、第2のアプリケーションのタイプと同一のタイプである場合、修正部分は、そのタイプを有するアプリケーションをインストールし実行するように要求された修正を含まない。
別の態様では、本発明は、第1のアプリケーションを管理する第1のアプリケーションマネージャを実行するように構成された第1のコンピュータと、サービスを実行するように構成された第2のコンピュータとを含むネットワークを特徴とする。サービスは、第1のアプリケーションマネージャからリクエストされると、第2のコンピュータ上で第1のアプリケーションをインストールし実行するように第2のコンピュータに修正を行いながら、修正を記録することによって、第1のアプリケーションをインストールし実行する。修正は、第1のアプリケーションマネージャにリソースを割り振ることを含む。
実施形態は、以下の1つまたは複数を含み得る。いくつかの場合、サービスは、第1のアプリケーションマネージャからリクエストされると、以下のことを実行するように構成される。第2のコンピュータ上で第1のアプリケーションを停止し、記録した修正に従って第2のコンピュータへの修正部分を逆転し、逆転することは、第1のアプリケーションマネージャからリソースを割振り解除することを含み、第2のコンピュータ上で第2のアプリケーションをインストールし実行するように第2のコンピュータに修正を行いながら、修正を記録し、修正は、第2のアプリケーションマネージャにリソースを割り振ることを含む。こうした場合、修正は、通信ポートを設定すること、あるいは1つまたは複数のファイルを、第2のコンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含み得る。こうした場合、第1のアプリケーションは、あるタイプを有することができ、第2のコンピュータ上で実行される少なくとも1つの他のアプリケーションが、第2のアプリケーションのタイプと同一のタイプを有する場合、修正部分は、そのタイプを有するアプリケーションをインストールし実行するように要求された修正を含むことができない。
こうしたおよび他の実施形態は、以下の利点の1つまたは複数を有し得る。コンピュータシステムが、アプリケーションを実行する前と同じ状態であるように、グリッドコンピューティング環境用のアプリケーションを、コンピュータシステム上でインストールし、カスタマイズし、追跡し、削除することができる。
本発明の1つまたは複数の実施形態の詳細を、添付の図面および以降の説明に示す。本発明の他の特徴、目的、および利点が、説明および図面から、かつ特許請求の範囲から明らかになるであろう。
様々な図面中の同じ参照記号は、同じ要素を示す。
図1に示すように、グリッドコンピューティング環境100におけるサービスが、アプリケーション用の計算リソースを管理する。グリッドコンピューティング環境100は、アプリケーション用のコンピューティングまたはデータ取得タスクを実施するために、個別に割り当てることができる1組の分散コンピューティングリソースである。こうした計算リソースは、コンピュータデバイス12、14、16、18、20、22を含む。こうしたコンピュータデバイスは、ネットワーク8を使って通信する。アプリケーションが必要とする計算量は、可変である。たとえば、グリッドコンピューティング環境100内のコンピュータデバイス12、14、16、18、20、22を使うアプリケーション例は、インターネット価格設定コンフィギュレータである。コンピュータデバイス12は、インターネットに接続されたコンピュータデバイス上のウェブブラウザを介して、ユーザに、価格設定情報へのネットワークアクセスを提供する。ウェブブラウザは、内容を表示し、かつ/またはウェブページ、メディアファイルなどのアプリケーション、ならびにネットスケープナビゲータ(登録商標)、マイクロソフトインターネットエクスプローラ(登録商標)、および同様のアプリケーションなどのプログラムを実行することができるどのアプリケーションでもよい。
この例では、コンピュータデバイス12上のウェブサーバが、ユーザに価格設定情報を提供する。計算される各価格用の計算パラメータが、IPCディスパッチャ116によって、それぞれコンピュータデバイス12、14、16、18上で実行されるIPCサーバ120、122、124、126に渡される。インターネット上のウェブサーバおよびアプリケーションが柔軟なので、ユーザ数は可変でよい。このため、インターネット価格設定コンフィギュレータにとって必要な計算量が動的になる。IPCマネージャ118が、グリッドコンピューティング環境100内のサービスと通信することによって、サービスは、インターネット価格設定コンフィギュレータの動的な必要計算量に基づいて、計算リソース(たとえば、コンピュータデバイス12、14、16、18、20、22内のプロセッサ)を割り振り、割振り解除することができるようになる。このようにして計算リソースを割り振り、割振り解除することにより、コンピュータデバイス12、14、16、18、20、または22は、汎用計算リソースとして指定され、インターネット価格設定コンフィギュレータアプリケーションのピーク需要を扱うことだけに専用とはならなくなる。IPCマネージャ118は、IPCディスパッチャ116と連携し、そうすることによって、IPCディスパッチャ116が、ネットワーク8内のリソースへのアクセス権をもつようになる。
このように、グリッドコンピューティング環境100内でリソースを割り振り、割振り解除する能力により、IPCマネージャ118は、使用可能な計算リソースを「必要に応じて」位置決めし使用することが可能になる。リソースが位置決めされると、IPCマネージャ118は、グリッドコンピューティング環境100内のサービスを利用して、グリッドコンピューティング環境100内のコンピュータデバイス上のアプリケーションとしてIPCサーバ120、122、124、126をインストールすることができる。IPCディスパッチャ116は、Tueckeらによってオープングリッドサービスインフラストラクチャ(OGSI)バージョン1.0で定義されたウェブサービス定義言語(WSDL)インターフェイスを用いて、IPCディスパッチャ116とIPCサーバ120、122、124、126との間の情報フローを管理し交換する。たとえば、OGSI WSDLインターフェイスは、IPCディスパッチャ116およびIPCサーバ120、122、124、126から、価格設定計算用の計算パラメータを渡すのに用いることができる。OGSI WSDLインターフェイスは、IPCサーバ120、122、124、126からIPCディスパッチャ116に、完了した結果を戻すのにも用いることができる。OGSIバージョン1.0は、参照によって本明細書に組み込まれている。OGSI WSDLインターフェイスは、グリッドコンピューティング環境100およびインターネット価格設定コンフィギュレータなどのアプリケーションの制御、障害回復、および安全な管理を可能にする。
IPCディスパッチャ116は、IPCサーバ120、122、124、126を使って、ユーザ向けに計算を実施し、グリッドコンピューティング環境100内のサービスは、IPCサーバ120、122、124、126を実行するグリッドコンピューティング環境100内のコンピュータデバイス上のリソース使用を監視する。こうしたサービスは、この使用情報をIPCマネージャ118にも送る。使用要件と現在のリソースのロードとの間の比較に基づいて、IPCマネージャ118はグリッドコンピューティング環境100内のリソースの使用を所望のレベルで続けるように、IPCサーバ120、122、124、126向けにより多くのリソースを割り振り、またはリソースを割振り解除するために、グリッドコンピューティング環境100内のサービスに動的に通知することができる。
グリッドマネージャ152、154、156、160、162、164は、コンピュータデバイス12、14、16、18、20、22にそれぞれ存在する。グリッドコンピューティング環境100内部で、グリッドマネージャのペアは、1つのグリッドマネージャを、別のグリッドマネージャに対して上位と分類する方向関係を有し得る。1つのグリッドマネージャが、他のグリッドマネージャとの複数の上位関係を有し得る。たとえば、グリッドマネージャ152は、グリッドマネージャ154、156との上位関係を有する。1つのグリッドマネージャが、他のグリッドマネージャとの複数の下位関係も有し得る。こうした階層関係により、IPCマネージャ118は、グリッドコンピューティング環境100内の計算リソースを使用するのに、ネットワーク8内のすべてのコンピュータデバイスからなるリストにアクセスする必要がない。IPCマネージャ118は、グリッドマネージャを実行する1つのコンピュータデバイス(たとえば、グリッドマネージャ152を実行するコンピュータデバイス12)のネットワークアドレスにアクセスすることだけが要求され、このグリッドマネージャは、他のコンピュータデバイス上で実行される他のグリッドマネージャとの関係を用いて、IPCディスパッチャ116に、グリッドコンピューティング環境100内の他のコンピュータデバイスへの間接アクセスを提供する。
グリッドマネージャ(たとえば152、154、156、160、162、164)が、他のグリッドマネージャとのすべての上位関係からなる第1のリスト、および他のグリッドマネージャとのすべての下位関係からなる第2のリストを維持する。各グリッドマネージャは、こうしたリスト中のグリッドマネージャすべてへの、ネットワーク8を介した「常にオープン」な通信チャネルを、たとえば、上述した伝送制御プロトコル(TCP)、ハイパーテキスト転送プロトコル(HTTP)、およびシンプルオブジェクトアクセスプロトコル(SOAP)に基づいたOGSI WSDLインターフェイスを用いて維持する。こうしたリストおよび対応する通信チャネルは修正することができ、ランタイム中にグリッド階層を動的に再構成させる。また、障害のあるグリッドマネージャを、階層中で動的に置き換えさせる。たとえば、図1を参照すると、グリッドマネージャ154に障害が起こった場合、グリッドマネージャ152が、グリッドマネージャ160、162との接続を失う。この場合、グリッドマネージャ152がグリッドマネージャ160、162と新しい上位関係をもつように、グリッドマネージャの間の関係を修正することができる。同様に、グリッドマネージャ160、162が、グリッドマネージャ152との新しい下位関係を有するようになる。
図2に示すように、アプリケーション(たとえば、インターネット価格設定コンフィギュレータ)が、コンピュータデバイス(たとえば12、14、16、18、20、または22)上で実行される前にネットワーク8内で必要なリソースを割り振られるように、アプリケーションスタートプロセス200が設計される。プロセス200は、また、同様のアプリケーションがコンピュータデバイス上の同じリソースを使って同時にスタートしようとしている場合に、2つ以上のアプリケーションが互いに衝突することも干渉することもないように保証する。たとえば、IPCマネージャ118は、IPCサーバ(たとえば120)が、サービス品質(QoS)に合わせて、コンピュータデバイス14内のプロセッサ上で実行される唯一のアプリケーションであることを要求し得る。この場合、別のアプリケーションがコンピュータデバイス14内のプロセッサ上で同時に実行を試みられると、この別のアプリケーションが干渉することになる。
プロセス200は、IPCマネージャ118(または他の何らかのアプリケーション)が、計算リソースに対する要件を送って(202)、こうした要件に合致する、使用可能なリソースがグリッドコンピューティング環境100にあるかどうか判定するために、グリッドマネージャ(たとえば154)に照会を行うことを含む。こうした要件は、要求されるプロセッサ数、そうしたプロセッサの要求される使用率、メインメモリ、およびネットワーク速度など、コンピュータデバイス内のリソースに関する情報を指定する。クエリは、(グリッドコンピューティング環境100内の)どの階層レベルにクエリが伝播されるべきかという情報も含み得る。プロセス200は、グリッドマネージャ154が、こうした要件を受け取る(204)ことを含む。
IPCマネージャ118からの、使用可能なリソースに関するクエリに応答するために、プロセス200は、グリッドマネージャ154が、要件を、グリッドマネージャ154にとって既知のリソースと突き合わせる(206)ことを含む。こうしたリソースは、グリッドマネージャ154によって直接管理される、コンピュータデバイス14内のリソース(たとえば、プロセッサ40)を含む。現在使用可能であり、要件を満たす、グリッドマネージャ154によって直接管理されるリソースが、グリッドマネージャ154によって維持されるリソース−クエリリストに追加される。
グリッドマネージャ154は、グリッドマネージャ154との下位関係を有するグリッドマネージャ160、162にもクエリを送る。プロセス200は、グリッドマネージャ160、162が、グリッドマネージャ154に、リクエストされた要件を満たし、使用可能であり、グリッドマネージャ160、162それぞれにとって既知であるリソース(たとえば、コンピュータデバイス18、20上のプロセッサ)のリストを送ることによってクエリに応答する(208)ことを含む。グリッドマネージャ160、162にとって既知であるリソースからなる、こうしたリソース−クエリリストは、グリッドマネージャ160、162との下位関係を有するグリッドマネージャ(図示せず)によって管理されるリソースも含み得る。グリッドマネージャ154は、グリッドマネージャ160、162からの、使用可能なリソースからなるこうしたリソース−クエリリストを、リクエストされた要件を満たす使用可能なリソースからなるグリッドマネージャ154のリソース−クエリリストに追加する。プロセス200が、このリソース−クエリリスト中に少なくとも1つのリソース(たとえば、プロセッサ40)があると判定した(210)場合、グリッドマネージャ154は、このリソース−クエリリストをIPCマネージャ118に送る(214)。あるいは、プロセス200が、グリッドマネージャ154が上位グリッドマネージャ(たとえば、グリッドマネージャ152)との関係を有すると判定した(212)場合、グリッドマネージャ154は、使用可能なリソースに関するクエリをグリッドマネージャ152に送る(202)。このクエリに応答して、グリッドマネージャ152は、グリッドマネージャ152との下位関係を有するグリッドマネージャ154に冗長なクエリを返送することはない。
プロセス200は、グリッドマネージャ154が、使用可能なリソースのリストとともに、それに対応する、要件に合致するネットワーク8内のグリッドマネージャのアドレスを送る(214)ことを含む。IPCマネージャ118は、(たとえば、コンピュータデバイス16上の)リソースをリストから選択し、コンピュータデバイス16上のリソースを管理するグリッドマネージャ154に、コンピュータデバイス16上のリソースの予約をリクエストする(216)。コンピュータデバイス16内のリソースが依然として予約可能(218)であり、予約が成功した場合、グリッドマネージャ154は、IPCマネージャ118に予約番号を送る(220)。この予約は、IPCマネージャ118がグリッドコンピューティング環境100内のコンピュータデバイス16上のリクエストされたリソースを保証され割り振られることを意味する。グリッドマネージャ154は、IPCマネージャ118などのアプリケーションからの、使用可能なリソースに関するクエリを、独立した実行処理スレッドを用いて扱う。したがって、グリッドマネージャ154は、セマフォを用いて、同一のリソース(たとえば、プロセッサ40)が、同じリソースを同時にリクエストした異なるアプリケーションに対して多数の予約番号を割り当てられることがないようにする。
グリッドマネージャが、コンピュータデバイス16内のリクエストされたリソースが予約可能でないと判定し、予約が失敗した場合、IPCマネージャ118は、リストにある次の使用可能リソースを選択し、この次の使用可能リソースの予約をリクエストする(216)。IPCマネージャ118が、登録番号を受け取り、登録番号の送信時点から測定されたタイムアウトが満了していない(222)場合、IPCマネージャ118は、コンピュータデバイス16内のプロセッサ40のリソースの上でIPCサーバ122をスタートする(224)。IPCサーバ122のスタートは、予約番号およびアプリケーションファイルをグリッドマネージャ156に渡すことによって開始され、次いで、グリッドマネージャ156が、アプリケーションファイルを読んで、コンピュータデバイス16上でIPCサーバ122をインストールし実行する。
図3に示すように、プロセス250は、グリッドコンピューティング環境100内のコンピュータデバイス(たとえば14)上でアプリケーション(たとえば、IPCサーバ122)をインストールして、アプリケーション用に使用可能なリソースをセットアップし、使用可能なリソースを使用し、リソースが必要とされなくなったとき、アプリケーションを削除し、またはアンインストールして、後続アプリケーションによる使用のためにリソースを解放する。プロセス250は、IPCマネージャ118が、IPCサーバ122用のコードに加えて、グリッドマネージャ154が、アプリケーションを実行した後でコンピュータデバイス14を元の状態に戻すことができるように、コンピュータデバイス14からアプリケーションをどのようにしてインストールし、カスタマイズし、追跡し、削除するかということに関する命令を含むアプリケーションファイルを転送する(252)ことを含む。
IPCマネージャ118は、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)、またはファイルコピーを用いて、ネットワーク結合記憶装置(NAS)から、たとえばコンピュータデバイス14に、アプリケーションファイルを、圧縮したzipファイルなど1個のファイルとして転送する。このzipファイルには、アプリケーションIPCサーバ122のインストールおよびカスタマイズについての情報がある。この情報は、グリッドマネージャ154内でのエンジン(図示せず)のインストールおよびカスタマイズによって抽出され変換される(254)小型の実行可能プログラムまたは拡張マークアップ言語(XML)ドキュメントによって表される。プロセス250は、グリッドマネージャ154が、アプリケーションをインストールし(256)実行する(258)ことを含む。アプリケーションのインストール(256)、カスタマイズ、および実行(258)の間、コンピュータデバイス14に対するすべての変更がログ記録され、そうすることによって、アプリケーションが、IPCマネージャ118によってリクエストされてグリッドマネージャ154によって終了され(260)またはアンインストールされると、グリッドマネージャ154は、コンピュータデバイス14からアプリケーションを削除し、また、アプリケーションをインストールし実行したときに行われた、コンピュータデバイス14に対する他のどの変更も削除する(262)。したがって、コンピュータデバイス14は、アプリケーション実行前の元の状態に復帰し、コンピュータデバイス14のリソースはすべて、後続アプリケーションによる使用のために再度使用可能になる。これにより、リソースは、アプリケーションを実行した後に、コンピュータデバイス14をリブートすることなく使用可能になる。こうした変更は、通信ポートの割振りなど、他の変更に加えてアプリケーションコードを格納し実行するために割り振られたメモリ(たとえば32)中の空間を含む。
いくつかの例では、多数のアプリケーションが、1台のコンピュータデバイス(たとえば14)内のリソース上で同時に実行される可能性がある。グリッドコンピューティング環境100用のアプリケーションは、そのリソース要件に部分的に基づいて分類される。アプリケーションを実行するための、コンピュータデバイスに対するいくつかの変更は、そのクラスのアプリケーションの最初の実行に対してのみ要求され、それ以降の実行は、こうした変更を要求しない。こうした例において、グリッドマネージャ154は、最初の実行のための変更を行うだけである。さらに、アプリケーションをアンインストールするとき、グリッドマネージャ154は、実行され終了された最後のアプリケーションに対する変更を削除するだけである。
グリッドコンピューティング環境100内のコンピュータデバイス上でアプリケーションをインストールした後、グリッドマネージャは、リクエストされると、こうしたアプリケーションのプロセスをスタートまたはストップするように構成される。インターネット価格設定コンフィギュレータ(IPC)アプリケーションの例では、グリッドマネージャ154は、コンピュータデバイス14上のIPCサーバ122をインストールした後でコンピュータデバイス14上のIPCサーバ122をスタートまたはストップするように構成される。IPCマネージャ118は、グリッドマネージャに、グリッドコンピューティング環境100における現在のリソース使用に基づいてグリッドコンピューティング環境100内のIPCサーバをスタートまたはストップするようリクエストする。コンピュータデバイス14上でIPCサーバ122をストップした後、IPCマネージャ118は、あらかじめ指定された期間待機し、次いで、現在のリソース使用がIPCサーバ122を再度スタートする必要性を示さない場合、IPCサーバ122をアンインストールするよう、グリッドマネージャ154にリクエストする。さらに、前述したように、グリッドマネージャは、アプリケーション(たとえばIPCサーバ120、122、124、126)を実行するコンピュータデバイス14などのコンピュータデバイス上でのリソース使用を監視し、この使用情報をIPCマネージャ118に送る。
多くの例において、コンピュータデバイス内のリソース上でのアプリケーションプロセスの制御は、オペレーティングシステム(OS)に固有である。グリッドコンピューティング環境100は、コンピュータデバイス上の様々なオペレーティングシステムを扱うように構成される。さらに、グリッドコンピューティング環境100は、グリッドコンピューティング環境100上で実行されるために設計し直される必要がない様々なアプリケーション(たとえば、インターネット価格設定コンフィギュレータ)を扱うように設計される。グリッドマネージャは、グリッドマネージャコードとアプリケーションコードの開発の間の相互依存性を低下させる一般的なやり方でアプリケーションプロセスを制御する。グリッドマネージャがアプリケーションプロセスの状態を発見し、制御し(たとえば、スタートし、ストップし、停止し、再開し)、検査し、または監視することを可能にするためのインターフェイスがアプリケーションコードに提供される。このインターフェイスは、オペレーティングシステムまたはホスティング環境によって公開されるオペレーティングシステムプロセス用に提供され、3つの側面を含む。インターフェイスの1つの側面は、プロセス識別、状態、リソース消費(アプリケーションが使用し得る中央演算処理装置(CPU)、メモリ、ソケットバインディング、または他のリソースなど)の程度などのプロセスデータ、およびプロセスデータ方式によって定義されるアプリケーション固有データである。
インターフェイスの第2の側面は、スタート、ストップ、待機、再開、優先順位変更などの動作、およびサポートされる管理動作によって定義される他の動作を管理することである。
インターフェイスの第3の側面は、プロセスデータ方式、サポートされる管理動作、および通信バインディングなどの制御バインディングおよび定義である。グリッドコンピューティング環境100内で実行されるすべてのアプリケーションが、こうした3つの側面において同じ情報および機能にアクセスするわけではないので、アプリケーションは、グリッドマネージャに、各アプリケーションがサポートするクエリおよびコマンドのリストを提供する。
アプリケーションコードに提供されるインターフェイスは、アプリケーションプログラムインターフェイス(API)である。このAPIは、アプリケーションプログラム(たとえば、インターネット価格設定コンフィギュレータ)を書くプログラマがグリッドマネージャからのリクエストを扱うための、グリッドマネージャソフトウェアによって規定される(ソフトウェアコードに組み込まれた)1組の方法である。
図4に示すように、IPCサーバ122は、API302およびドキュメント304を含む。API302は、様々なタイプのアプリケーションに適合されるので、ドキュメント304は、どのようにしてグリッドマネージャ154がIPCサーバ122と通信するか、API302を介したどのようなリクエストがIPCサーバ122によってサポートされるかを記述する。グリッドマネージャ154は、IPCサーバ122を開始する前にドキュメント304を読む。いくつかの例では、ドキュメント304は、XMLで書かれ、ドキュメントタイプ記述(DTD)306を含む。DTDとは、標準汎用マークアップ言語(SGML)の規則に従う固有定義である。DTDは、ドキュメントを伴う仕様であり、パラグラフを分離し、見出しを識別するマークアップが何であるか、どのように各マークアップが処理されるかを識別する。ドキュメント304にDTD306を含めることによって、DTD「リーダ」(または「SGMLコンパイラ」)を有するグリッドマネージャ154は、ドキュメント304を処理することが可能であり、一連の様々なマークアップコードおよび関連する意味を利用する多様な種類のドキュメント304を正しく変換することができる。
図4Aに示すように、グリッドマネージャ154は、プロセス350を用いて、IPCサーバ122などのアプリケーションをインストールする。グリッドマネージャ154は、ドキュメント304中のDTD306を読んで(352)、ドキュメント304中のマークアップを識別する。グリッドマネージャ154は、マークアップを用いてドキュメント304を読んで(354)、IPCサーバ122と通信するための通信パラメータを識別する。グリッドマネージャ154は、通信パラメータの仕様に基づいて、IPCサーバ122との通信をセットアップする(356)。グリッドマネージャ154は、通信パラメータを使ってIPCサーバ122と通信して(358)、「スタート」、「ストップ」、および「アイドル状態か?」などのリクエストを送る。
どのアプリケーション(たとえば、インターネット価格設定コンフィギュレータ)をネットワーク8上で実行することができるようになる前でも、グリッドマネージャ152、154、156、160、162、164が、コンピュータデバイス12、14、16、18、20、22上において非同期で開始され、他のグリッドマネージャとの関係が確立される。図5に示すように、プロセス400が、グリッドマネージャの間の関係を初期化する。各グリッドマネージャ(たとえば、グリッドマネージャ154)に関して、グリッドマネージャ154は、プロパティファイルを読む(402)ことによってコンピュータデバイス14を開始する。プロパティファイルは、グリッドマネージャ154との上位関係を有するグリッドマネージャを有するコンピュータデバイスのアドレスのリストを含む。このリストについては、上で、他のグリッドマネージャとのすべての上位関係の第1のリストとして説明した。上位グリッドマネージャ(たとえば、グリッドマネージャ152)が、このアドレスリスト中で指定された場合(404)、グリッドマネージャ154は、上位グリッドマネージャ(たとえば152)への通信チャネルをオープンするようリクエストする(406)。グリッドマネージャ152が既にスタートされている場合、グリッドマネージャ152は、グリッドマネージャ152からの、通信チャネルをオープンするリクエストを受諾することによって応答する。プロセス400は、グリッドマネージャ154が、グリッドマネージャ154との下位関係を有すると識別されるグリッドマネージャ(たとえば、グリッドマネージャ160、162)からの、通信チャネルに対するどのリクエストも検出する(408)ことを含む。プロセス400が、いくつかのリクエストがあると判定した(410)場合、グリッドマネージャ154は、下位グリッドマネージャ(たとえば160、162)からの通信チャネルを可能にする。プロセス400は、グリッドマネージャ154が、上位関係を有するグリッドマネージャへの、通信を求めるリクエストが保留されているかどうか調べる(414)ことを含む。保留されているリクエストがある場合、グリッドマネージャ154は、グリッドマネージャに通信チャネルをリクエストする(406)。こうした通信チャネルは、グリッドマネージャの間のリソースクエリ用に(以前記述したように)、また、グリッドマネージャの間の「ハートビート」メッセージ用に使われて、グリッドコンピューティング環境100内の各グリッドマネージャが機能していることを確かめる。
グリッドマネージャ152、154、156、160、162、164が、確立された関係をもって実行されていると、グリッドマネージャは、グリッドコンピューティング環境100の適正な動作のために使われる。しばしば、グリッドコンピューティング環境100のライフサイクルの間、グリッドマネージャの機能性が強化される。しばしば、こうした強化に合わせてグリッドコンピューティング環境100をシャットダウンし、グリッドコンピューティング環境100をスタートすることは可能でも、好都合でもない。グリッドマネージャ152、154、156、160、162、164は、変更が起きたときにグリッドコンピューティング環境100のユーザに対して最小限の影響しかないように構成される。この透過性を可能にするために、グリッドコンピューティング環境100の管理者が、グリッドマネージャ152、154、156、160、162、164それぞれに個別に、または一斉にアクセスすることを可能にするための、ユーザインターフェイス用のAPIが提供される。このAPIは、ただ1つのメソッド、すなわち、管理者によってタイプ入力されたコマンドを含む文字列を含む点で、静的である。このAPIは、文字列が多様なコマンドを含み得るので、動的である。
いくつかの場合において、グリッドマネージャは、Java(登録商標)プログラミング言語を使って開発される。こうした場合、グリッドマネージャに発行される新しいコマンドは、新しいまたは改定されたJava(登録商標)クラスを、クラスローダを介して動的にロードすることによってサポートすることができる。コードへのこの動的アクセスは、グリッドコンピューティング環境100内のグリッドマネージャをシャットダウンせずに行うことができる。Java(登録商標)クラスローダを使って、グリッドマネージャ用のあるクラスのインスタンスが生成される度に、そのクラスの定義および振舞いを、グリッドコンピューティング環境100に新しい機能性を提供するようにアップデートすることができる。
グリッドコンピューティング環境100をシャットダウンすることなくグリッドコンピューティング環境100の機能性を動的に修正する別のやり方は、グリッドマネージャの間の階層関係を変更し、グリッドマネージャを削除し、または新しいグリッドマネージャを追加することである。グリッドコンピューティング環境100の管理用に提供されるAPIは、既存の関係を解消しまたは新しい関係を追加するためのコマンドを有する個々のグリッドマネージャに文字列を送るようにも構成される。
グリッドコンピューティング環境100の管理者にとって、グリッドコンピューティング環境100内の1台のコンピュータデバイス上のアプリケーションおよびグリッドマネージャ、ならびにグリッドマネージャとの1つまたは複数のレベルの下位関係を有するグリッドマネージャの形のグリッド管理階層の一部を実行する他のコンピュータデバイスを可視化することが有用である。こうしたコンピュータデバイスのビューは、グリッドランドスケープと呼ばれる。図6に示すように、グリッドコンピューティング環境100など、グリッドランドスケープの視覚化のためのグリッドグラフィカルユーザインターフェイス(GUI)500は、コンピュータデバイス上で実行されるサービスの組織を可視化するGUI要素を含む。GUI500は、列および行を有する、グリッドに似た構造を提供する。行はサービスを表し、サービスは、サービスが属すアプリケーション、サービスのタイプ、および固有のサービスインスタンスに関して階層状に構造化される。各サービスインスタンス行は、サービスがインスタンス化されるところを表す、グリッドコンピューティング環境100内の場所に関連づけられる。このコンテキストにおいて、列は、グリッドランドスケープ内のコンピュータデバイスを表す。具体的には、GUI500は、3つのコンピュータデバイス12、14、16を表す3つの列をもつ。GUI500は、グリッドマネージャ152が、それぞれコンピュータデバイス14、16の上で実行される下位グリッドマネージャ154、156を有するコンピュータデバイス12上で実行されることを示す。GUI500は、コンピュータデバイス12上で実行されるインターネット価格設定コンフィギュレータサービスも示す。こうしたインターネット価格設定コンフィギュレータサービスは、IPCディスパッチャ116、IPCサーバ120、およびIPCマネージャ118を含む。
GUI500は、グリッドマネージャおよびインターネット価格設定コンフィギュレータ(または他のアプリケーション)サービスからのフィードバックを用いて動的にリフレッシュされ、そうすることによって、GUI500において新しいサービスが管理者に対して表示される。同様に、シャットダウンされたサービスは、GUI500において削除される。
図7に示すように、グリッドブラウザコンポーネント600は、グリッドコンピューティング環境100内のコンピュータデバイス上のグリッドマネージャをブラウズする複合グラフィカルユーザインターフェイス(GUI)である。コンポーネント600は、曲線エッジおよび頂点を有するグラフを表示する。頂点は、グリッドコンピューティング環境100内のコンピュータデバイスを表し、曲線エッジは、グリッドコンピューティング環境100内の2台のコンピュータデバイス(頂点)におけるグリッドマネージャの方向的関連づけを表す。この関連づけは、階層状(すなわち、上位/下位)である。各頂点は、コンピュータデバイスならびにコンピュータデバイス上で現在実行されているアプリケーションのネットワークアドレスを表示する。たとえば、コンポーネント600は、IPCサーバ118、120、122、124を有するコンピュータデバイス12、14、16、18、20、22を示す。他の例(図示せず)では、グリッドブラウザコンポーネント600は、関連づけを表す方向性のないエッジを有する、グリッドマネージャの、非階層状のピアツーピアな関連づけを示す。
グリッドブラウザコンポーネント600は、コンテキストに依存する。コンピュータデバイス上のグリッドマネージャの間の関係(たとえば、上位/下位)に応じて、ユーザのブラウジング履歴に関してコンピュータデバイスが巡回される。
GUI600内のコンピュータデバイス(たとえば、コンピュータデバイス14)を表す頂点をクリックすることによって、ユーザは、グリッドマネージャならびにグリッドマネージャとの下位関係を有するコンピュータデバイスおよびグリッドマネージャ上で実行されるアプリケーションを、GUI500を用いて自動的に閲覧することができる。ユーザは、コンピュータデバイスを選び、そのグリッドマネージャと他のグリッドマネージャの間の関係を見ることができる。GUI500と600の間のこの接続は、GUI500、600を生成するソフトウェアを使って行われる。
ネットワーク8を、様々なやり方で実装することができる。ネットワーク8は、インターネット、ローカルエリアネットワーク(LAN)または他のローカルネットワーク、私設ネットワーク、公衆網、単純旧式電話システム(POTS)、あるいは他の同様の有線または無線ネットワークなど、どの種類およびどの組合せのネットワークも含む。ネットワーク8を介した通信を、暗号化、セキュリティプロトコルなどの機構、または他のタイプの類似機構を用いて保護することができる。ネットワーク8を介した通信は、モデムリンク、イーサネット(登録商標)リンク、ケーブル、二地点間リンク、赤外線接続、光ファイバリンク、無線リンク、セルラーリンク、ブルートゥース(登録商標)、衛星リンク、および他の同様のリンクなど、どの種類およびどの組合せの通信リンクも含み得る。
ネットワーク8については、説明を容易にするために単純化する。ネットワーク8は、ネットワーク、通信リンク、プロキシサーバ、ファイアウォールまたは他のセキュリティ機構、インターネットサービスプロバイダ(ISP)、ゲートキーパー、ゲートウェイ、スイッチ、ルータ、ハブ、クライアント端末、および他の要素など、より多くの追加要素もより少ない追加要素も含み得る。
コンピュータデバイス12、14、16、18、20、22は、多様なネットワークプロトコルの1つを使って、媒体10を介して通信する。たとえば、1つのプロトコルは、SOAP(シンプルオブジェクトアクセスプロトコル)と組み合わされた伝送制御プロトコル/インターネットプロトコル(TCP/IP)である。
本発明の実施形態を、デジタル電子回路の形でも、コンピュータハードウェア、ファームウェア、ソフトウェアの形でも、その組合せの形でも実装することができる。本発明の実施形態を、コンピュータプログラム製品、すなわち、情報キャリア、たとえばデータ処理機器、たとえばプログラム可能なプロセッサ、コンピュータ、または多数のコンピュータによる実行のため、またはデータ処理機器の動作を制御するための、ノード可読な記憶デバイスや伝播信号の形で明白に実現されるコンピュータプログラムとして実装することができる。コンピュータプログラムを、コンパイラ型やインタープリタ型言語を含む、どの形のプログラミング言語でも書くことができ、スタンドアロンプログラムまたはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境における使用に適した他のユニットを含むどの形でも展開することができる。コンピュータプログラムを、1台のコンピュータ上でも、一箇所にあるまたは数箇所に分散され、通信ネットワークによって相互接続された多数のコンピュータでも実行されるように展開することができる。
本発明の実施形態の方法ステップは、入力データに作用し出力を生成することによって本発明の機能を実施するためのコンピュータプログラムを実行する1つまたは複数のプログラム可能なプロセッサによって実施することができる。特殊目的論理回路、たとえば、FPGA(書替え可能ゲートアレイ)やASIC(アプリケーション固有集積回路)によって、方法ステップを実施することもでき、そうした論理回路として本発明の機器を実装することができる。
コンピュータプログラムの実行に適したプロセッサは、例として、汎用および特殊目的マイクロプロセッサ両方、およびどの種類のデジタルコンピュータのどの1つまたは複数のプロセッサも含む。概して、プロセッサが、読出し専用メモリまたはランダムアクセスメモリあるいはその両方から命令およびデータを受け取る。コンピュータの基本要素は、命令を実行するプロセッサならびに命令およびデータを格納する1つまたは複数のメモリデバイスである。概して、コンピュータは、データを格納する1つまたは複数の大容量記憶デバイス、たとえば磁気、光磁気ディスク、または光ディスクも含み、そこからデータを受け取り、またはそこへデータを転送し、あるいはその両方を行うように動作可能に結合される。コンピュータプログラム命令およびデータを具体化するのに適した情報キャリアは、例として半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内部ハードディスクや取外し可能ディスク、光磁気ディスク、ならびにCD−ROMおよびDVD−ROMディスクを含むあらゆる形の不揮発性メモリを含む。プロセッサおよびメモリを、特殊目的論理回路によって補うことも、回路に組み込むこともできる。
ユーザとの対話をもたらすために、本発明の実施形態は、表示デバイス、たとえば、ユーザに情報を表示するCRT(ブラウン管)やLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよび指示デバイス、たとえば、ユーザがコンピュータに入力を与えるためのマウスやトラックボールを有するコンピュータ上で実装することができる。ユーザとの対話をもたらすために、他の種類のデバイスを使用することもできる。たとえば、ユーザに与えられるフィードバックは、どの形の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックでもよく、ユーザからの入力は、音響、音声、または触覚入力を含むどの形でも受け取ることができる。
本発明の実施形態は、たとえばデータサーバとしてバックエンドコンポーネントを含み、ミドルウェアコンポーネント、たとえばアプリケーションサーバを含み、フロントエンドコンポーネント、たとえば、ユーザが本発明の実施形態を実装したものと対話するためのグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータ、あるいはこのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントのどの組合せも含むコンピューティングシステムにおいて実装することができる。システムのコンポーネントは、どの形または媒体のデジタルデータ通信、たとえば通信ネットワークによっても相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、たとえばインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いにリモートであり、通常、通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行されるとともに互いにクライアント/サーバ関係を有するコンピュータプログラムに基づいて成り立つ。
本発明のいくつかの実施形態を記述した。それにも関わらず、本発明の精神および範囲から逸脱することなく、様々な修正を行うことができることが理解されよう。他の実施形態も、添付の請求項の範囲内である。
Claims (7)
- ネットワーク内のコンピュータに、第1のアプリケーションをインストールし、前記第1のアプリケーションを実行するようリクエストすること、
前記コンピュータに1つまたは複数のファイルを転送すること、
前記コンピュータ上で前記第1のアプリケーションをインストールし実行するように前記コンピュータに修正を行い、その間前記修正を記録することであって、前記修正は、前記第1のアプリケーションにリソースを割り振ることを含むこと、
前記コンピュータ上で前記第1のアプリケーションを停止すること、
前記第1のアプリケーションから前記リソースを割振り解除することを含め、前記記録した修正に従って、前記コンピュータへの前記修正の部分を逆転すること、および
前記使用可能なコンピュータ上で第2のアプリケーションをインストールし実行するように前記コンピュータに修正を行い、その間、前記修正を記録することであって、前記修正は、前記第2のアプリケーションに前記リソースを割り振ることを含むこと、を備えることを特徴とする方法。 - 前記修正は、通信ポートを設定すること、あるいは前記1つまたは複数のファイルを、前記コンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含むことを特徴とする請求項1に記載の方法。
- 前記第1のアプリケーションは、あるタイプを有し、前記コンピュータ上で実行される少なくとも1つの他のアプリケーションが、前記第2のアプリケーションのタイプと同一のタイプである場合、前記部分は、そのタイプを有するアプリケーションをインストールし実行するように要求された修正を含まないことを特徴とする請求項1または2に記載の方法。
- 第1のアプリケーションを管理する第1のアプリケーションマネージャを実行するように構成された第1のコンピュータと、
サービスを実行するように構成された第2のコンピュータとを備えるネットワークであって、前記サービスは、前記第1のアプリケーションマネージャからリクエストされると、前記第2のコンピュータ上で前記第1のアプリケーションをインストールし実行するように前記第2のコンピュータに修正を行いながら、前記修正を記録することによって、第1のアプリケーションをインストールし実行し、前記修正は、前記第1のアプリケーションマネージャにリソースを割り振ることを特徴とするネットワーク。 - 前記サービスは、前記第1のアプリケーションマネージャからリクエストされると、
前記第2のコンピュータ上で前記第1のアプリケーションを停止すること、
前記第1のアプリケーションマネージャから前記リソースを割振り解除することを含め、前記記録した修正に従って前記第2のコンピュータへの前記修正の部分を逆転すること、および
前記第2のコンピュータ上で第2のアプリケーションをインストールし実行するように前記第2のコンピュータに修正を行いながら、前記修正を記録することであって、前記修正は、第2のアプリケーションマネージャに前記リソースを割り振ることを含むことを実行するように構成されることを特徴とする請求項4に記載のネットワーク。 - 前記修正は、通信ポートを設定すること、あるいは前記1つまたは複数のファイルを、前記第2のコンピュータにとってアクセス可能なデータ記憶デバイスに保存することを含むことを特徴とする請求項5に記載のネットワーク。
- 前記第1のアプリケーションは、あるタイプを有することができ、前記第2のコンピュータ上で実行される少なくとも1つの他のアプリケーションが、前記第2のアプリケーションのタイプと同一のタイプを有する場合、前記部分は、前記タイプを有するアプリケーションをインストールし実行するように要求された修正を含まないことを特徴とする請求項5または6に記載のネットワーク。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49081803P | 2003-07-28 | 2003-07-28 | |
US10/712,154 US7574707B2 (en) | 2003-07-28 | 2003-11-12 | Install-run-remove mechanism |
PCT/EP2004/008449 WO2005015398A1 (en) | 2003-07-28 | 2004-07-28 | Install-run-remove mechanism |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007500387A true JP2007500387A (ja) | 2007-01-11 |
Family
ID=34107909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006521516A Pending JP2007500387A (ja) | 2003-07-28 | 2004-07-28 | インストール/実行/削除機構 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7574707B2 (ja) |
EP (1) | EP1649370A1 (ja) |
JP (1) | JP2007500387A (ja) |
WO (1) | WO2005015398A1 (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324685B1 (en) * | 1998-03-18 | 2001-11-27 | Becomm Corporation | Applet server that provides applets in various forms |
US6414036B1 (en) * | 1999-09-01 | 2002-07-02 | Van Beek Global/Ninkov Llc | Composition for treatment of infections of humans and animals |
EP1579638A1 (en) * | 2002-12-02 | 2005-09-28 | Operax AB | Arrangements and method for hierarchical resource management in a layered network architecture |
US7673054B2 (en) | 2003-07-28 | 2010-03-02 | Sap Ag. | Grid manageable application process management scheme |
US7546553B2 (en) * | 2003-07-28 | 2009-06-09 | Sap Ag | Grid landscape component |
US7568199B2 (en) * | 2003-07-28 | 2009-07-28 | Sap Ag. | System for matching resource request that freeing the reserved first resource and forwarding the request to second resource if predetermined time period expired |
US7631069B2 (en) * | 2003-07-28 | 2009-12-08 | Sap Ag | Maintainable grid managers |
US7703029B2 (en) | 2003-07-28 | 2010-04-20 | Sap Ag | Grid browser component |
US7594015B2 (en) * | 2003-07-28 | 2009-09-22 | Sap Ag | Grid organization |
US20050125281A1 (en) * | 2003-12-09 | 2005-06-09 | Henrickson David L. | Scheme leveraging knowledge gained of a customer's computer system to suggest possible products and services of interest |
US7810090B2 (en) * | 2003-12-17 | 2010-10-05 | Sap Ag | Grid compute node software application deployment |
US7793290B2 (en) | 2004-12-20 | 2010-09-07 | Sap Ag | Grip application acceleration by executing grid application based on application usage history prior to user request for application execution |
US7565383B2 (en) * | 2004-12-20 | 2009-07-21 | Sap Ag. | Application recovery |
US7606803B2 (en) * | 2004-12-28 | 2009-10-20 | International Business Machines Corporation | Method and system for dynamic creation of service flows |
US7802257B1 (en) * | 2005-06-20 | 2010-09-21 | Oracle America, Inc. | Mechanism for bridging a thread-oriented computing paradigm and a job-oriented computing paradigm |
US7870478B1 (en) * | 2005-10-31 | 2011-01-11 | Adobe Systems Incorporated | Repurposing subsections and/or objects |
US7496667B2 (en) * | 2006-01-31 | 2009-02-24 | International Business Machines Corporation | Decentralized application placement for web application middleware |
WO2007119329A1 (ja) * | 2006-03-14 | 2007-10-25 | Nec Corporation | 階層化システム及びその管理方法と、プログラム |
US8838623B2 (en) * | 2006-06-22 | 2014-09-16 | International Business Machines Corporation | System and method for locking context of sets of members in crosstabs |
US20070300239A1 (en) * | 2006-06-23 | 2007-12-27 | International Business Machines Corporation | Dynamic application instance placement in data center environments |
US20080228566A1 (en) * | 2007-03-15 | 2008-09-18 | Microsoft Corporation | Processing coupons with payments |
US8458693B2 (en) * | 2007-08-02 | 2013-06-04 | Sap Ag | Transitioning from static to dynamic cluster management |
US8793478B2 (en) * | 2008-05-14 | 2014-07-29 | Dell Products, Lp | Grid computing resources and a method of use thereof |
US9143530B2 (en) | 2011-10-11 | 2015-09-22 | Citrix Systems, Inc. | Secure container for protecting enterprise data on a mobile device |
US20140032733A1 (en) | 2011-10-11 | 2014-01-30 | Citrix Systems, Inc. | Policy-Based Application Management |
US9215225B2 (en) | 2013-03-29 | 2015-12-15 | Citrix Systems, Inc. | Mobile device locking with context |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US9774658B2 (en) | 2012-10-12 | 2017-09-26 | Citrix Systems, Inc. | Orchestration framework for connected devices |
US9053340B2 (en) | 2012-10-12 | 2015-06-09 | Citrix Systems, Inc. | Enterprise application store for an orchestration framework for connected devices |
US9516022B2 (en) | 2012-10-14 | 2016-12-06 | Getgo, Inc. | Automated meeting room |
US20140109176A1 (en) | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Configuring and providing profiles that manage execution of mobile applications |
US8910239B2 (en) | 2012-10-15 | 2014-12-09 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US20140108793A1 (en) | 2012-10-16 | 2014-04-17 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
WO2014062804A1 (en) | 2012-10-16 | 2014-04-24 | Citrix Systems, Inc. | Application wrapping for application management framework |
US9606774B2 (en) | 2012-10-16 | 2017-03-28 | Citrix Systems, Inc. | Wrapping an application with field-programmable business logic |
US9141917B2 (en) | 2012-12-19 | 2015-09-22 | Sap Se | Computing system operating environments |
US8850049B1 (en) | 2013-03-29 | 2014-09-30 | Citrix Systems, Inc. | Providing mobile device management functionalities for a managed browser |
US9369449B2 (en) | 2013-03-29 | 2016-06-14 | Citrix Systems, Inc. | Providing an enterprise application store |
US9985850B2 (en) | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9355223B2 (en) | 2013-03-29 | 2016-05-31 | Citrix Systems, Inc. | Providing a managed browser |
US10044795B2 (en) | 2014-07-11 | 2018-08-07 | Vmware Inc. | Methods and apparatus for rack deployments for virtual computing environments |
US10320622B2 (en) * | 2014-08-22 | 2019-06-11 | Vmware, Inc. | Policy declarations for cloud management system |
US10740081B2 (en) * | 2015-06-30 | 2020-08-11 | Vmware, Inc. | Methods and apparatus for software lifecycle management of a virtual computing environment |
CN107810475B (zh) * | 2015-06-30 | 2021-09-10 | 威睿公司 | 用于虚拟计算环境的软件生命周期管理的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0855059A (ja) * | 1994-08-12 | 1996-02-27 | Nippon Steel Corp | アドレスデコード装置及びこれを用いたコンピュータシステム |
JPH10105383A (ja) * | 1996-10-01 | 1998-04-24 | Brother Ind Ltd | アプリケーションプログラムのアンインストール方法及び情報記録媒体 |
JP2001331321A (ja) * | 2000-05-22 | 2001-11-30 | Canon Inc | 情報処理装置、情報処理方法、情報処理システム、及び媒体 |
US20020019844A1 (en) * | 2000-07-06 | 2002-02-14 | Kurowski Scott J. | Method and system for network-distributed computing |
Family Cites Families (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276789A (en) | 1990-05-14 | 1994-01-04 | Hewlett-Packard Co. | Graphic display of network topology |
US5440722A (en) | 1991-07-22 | 1995-08-08 | Banyan Systems, Inc. | System bus monitor for compiling data regarding use of a system bus |
IL99923A0 (en) | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
JP3370704B2 (ja) | 1992-10-12 | 2003-01-27 | 株式会社日立製作所 | 通信制御方法 |
US5784552A (en) | 1993-07-28 | 1998-07-21 | Digital Equipment Corporation | Debugging a computer program by simulating execution forwards and backwards in a main history log and alternative history logs |
US5546549A (en) | 1994-06-01 | 1996-08-13 | International Business Machines Corporation | Multi-path channel (MPC) interface with user transparent, unbalanced, dynamically alterable computer input/output channels |
US5659694A (en) | 1994-06-30 | 1997-08-19 | Canon Kabushiki Kaisha | Method and system for displaying context sensitive child windows independently of their parent window |
US6061505A (en) | 1994-07-22 | 2000-05-09 | Nortel Networks Corporation | Apparatus and method for providing topology information about a network |
GB2301717B (en) | 1995-06-02 | 1999-08-11 | Dsc Communications | Network controller for monitoring the status of a network |
WO1998000790A1 (fr) | 1996-07-01 | 1998-01-08 | Fujitsu Limited | Procede et dispositif de gestion de l'utilisation des ressources partagees par plusieurs groupes |
US5996012A (en) | 1996-12-10 | 1999-11-30 | International Business Machines Corporation | Application development process for use in a distributed computer enterprise environment |
US6578077B1 (en) | 1997-05-27 | 2003-06-10 | Novell, Inc. | Traffic monitoring tool for bandwidth management |
US6098108A (en) | 1997-07-02 | 2000-08-01 | Sitara Networks, Inc. | Distributed directory for enhanced network communication |
US6209018B1 (en) | 1997-11-13 | 2001-03-27 | Sun Microsystems, Inc. | Service framework for a distributed object network system |
US6401097B1 (en) | 1998-01-23 | 2002-06-04 | Mccotter Thomas M. | System and method for integrated document management and related transmission and access |
US6256740B1 (en) | 1998-02-06 | 2001-07-03 | Ncr Corporation | Name service for multinode system segmented into I/O and compute nodes, generating guid at I/O node and exporting guid to compute nodes via interconnect fabric |
US6182086B1 (en) | 1998-03-02 | 2001-01-30 | Microsoft Corporation | Client-server computer system with application recovery of server applications and client applications |
US6009455A (en) | 1998-04-20 | 1999-12-28 | Doyle; John F. | Distributed computation utilizing idle networked computers |
JP2000032048A (ja) | 1998-07-14 | 2000-01-28 | Fujitsu Ltd | ネットワーク装置 |
JP2000078156A (ja) | 1998-09-01 | 2000-03-14 | Canon Inc | システム構成表示装置及びシステム構成表示方法、記録媒体 |
US6226675B1 (en) | 1998-10-16 | 2001-05-01 | Commerce One, Inc. | Participant server which process documents for commerce in trading partner networks |
JP4712191B2 (ja) | 1998-10-16 | 2011-06-29 | オープン インヴェンション ネットワーク リミテッド ライアビリティ カンパニー | トレーディングパートナネットワークにおける商業のためのドキュメント及びそのドキュメントを基にしたインターフェースの定義 |
US6628304B2 (en) | 1998-12-09 | 2003-09-30 | Cisco Technology, Inc. | Method and apparatus providing a graphical user interface for representing and navigating hierarchical networks |
JP2000194539A (ja) | 1998-12-24 | 2000-07-14 | Nec Corp | ソフトウェアインストールシステムおよびソフトウェアインストール方法 |
US6650347B1 (en) | 1999-02-24 | 2003-11-18 | Cisco Technology, Inc. | Heirarchical GUI representation for web based network management applications |
US6615278B1 (en) | 1999-03-29 | 2003-09-02 | International Business Machines Corporation | Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment |
US6466980B1 (en) | 1999-06-17 | 2002-10-15 | International Business Machines Corporation | System and method for capacity shaping in an internet environment |
US6967728B1 (en) | 1999-07-23 | 2005-11-22 | Electronics For Imaging, Inc. | Reusable and transferable printer driver preference system |
US6859834B1 (en) | 1999-08-13 | 2005-02-22 | Sun Microsystems, Inc. | System and method for enabling application server request failover |
US6289382B1 (en) | 1999-08-31 | 2001-09-11 | Andersen Consulting, Llp | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
EP1087293A3 (en) | 1999-09-24 | 2006-02-01 | Hitachi, Ltd. | A computer system and a program install method thereof |
US6976258B1 (en) | 1999-11-30 | 2005-12-13 | Ensim Corporation | Providing quality of service guarantees to virtual hosts |
US7146233B2 (en) | 2000-02-11 | 2006-12-05 | Sun Microsystems, Inc. | Request queue management |
US20020194251A1 (en) | 2000-03-03 | 2002-12-19 | Richter Roger K. | Systems and methods for resource usage accounting in information management environments |
US6915289B1 (en) | 2000-05-04 | 2005-07-05 | International Business Machines Corporation | Using an index to access a subject multi-dimensional database |
US7047176B2 (en) | 2000-05-05 | 2006-05-16 | Fujitsu Limited | Method and system for hardware simulation |
US7171654B2 (en) | 2000-05-25 | 2007-01-30 | The United States Of America As Represented By The Secretary Of The Navy | System specification language for resource management architecture and corresponding programs therefore |
US6832220B1 (en) | 2000-08-03 | 2004-12-14 | Microsoft Corporation | Method and apparatus for file searching, accessing file identifiers from reference page |
US6799251B1 (en) | 2000-08-29 | 2004-09-28 | Oracle International Corporation | Performance-based caching |
US6834301B1 (en) | 2000-11-08 | 2004-12-21 | Networks Associates Technology, Inc. | System and method for configuration, management, and monitoring of a computer network using inheritance |
US20030005068A1 (en) * | 2000-12-28 | 2003-01-02 | Nickel Ronald H. | System and method for creating a virtual supercomputer using computers working collaboratively in parallel and uses for the same |
US20020167954A1 (en) | 2001-05-11 | 2002-11-14 | P-Com, Inc. | Point-to-multipoint access network integrated with a backbone network |
JP4390405B2 (ja) | 2001-05-31 | 2009-12-24 | 富士通株式会社 | コンピュータシステム、サービス層、ポリシーキャッシュ機能部およびポリシー管理装置 |
GB0114848D0 (en) | 2001-06-18 | 2001-08-08 | Unilever Plc | Antiperspirant or deodorant compositions |
US6950847B2 (en) | 2001-07-12 | 2005-09-27 | Sun Microsystems, Inc. | Service provider system for delivering services in a distributed computing environment |
US6789170B1 (en) | 2001-08-04 | 2004-09-07 | Oracle International Corporation | System and method for customizing cached data |
US20030033369A1 (en) | 2001-08-09 | 2003-02-13 | Bernhard Benjamin Karb Donovan | Web services container |
US7013232B2 (en) | 2001-08-15 | 2006-03-14 | National Insurance Corporation | Network-based system for configuring a measurement system using configuration information generated based on a user specification |
US20030041142A1 (en) | 2001-08-27 | 2003-02-27 | Nec Usa, Inc. | Generic network monitoring tool |
GB2380818B (en) | 2001-10-06 | 2003-11-19 | 3Com Corp | ASIC design technique |
US6871218B2 (en) | 2001-11-07 | 2005-03-22 | Oracle International Corporation | Methods and systems for preemptive and predictive page caching for improved site navigation |
US7062558B2 (en) | 2001-11-13 | 2006-06-13 | Hewlett-Packard Development, L.P. | Method and system for enabling resource sharing in a communication network having a plurality of application environments |
US6912587B1 (en) | 2001-12-10 | 2005-06-28 | At & T | Method for utilizing a generic algorithm to provide constraint-based routing of packets in a communication network |
US6826568B2 (en) | 2001-12-20 | 2004-11-30 | Microsoft Corporation | Methods and system for model matching |
US20030126196A1 (en) | 2001-12-27 | 2003-07-03 | Todd Lagimonier | System for optimizing the invocation of computer-based services deployed in a distributed computing environment |
US7130891B2 (en) | 2002-02-04 | 2006-10-31 | Datasynapse, Inc. | Score-based scheduling of service requests in a grid services computing platform |
US7069541B2 (en) | 2002-03-01 | 2006-06-27 | Bellsouth Intellectual Property Corporation | System and method for a web-based application development and deployment tracking tool |
US7114127B2 (en) | 2002-03-28 | 2006-09-26 | International Business Machines Corporation | Method, system and program product in a model-view-controller (MVC) programming architecture for inter-object communication with transformation |
US20060075070A1 (en) | 2002-04-02 | 2006-04-06 | Patrick Merissert-Coffinieres | Development and deployment of mobile and desktop applications within a flexible markup-based distributed architecture |
US7010596B2 (en) | 2002-06-28 | 2006-03-07 | International Business Machines Corporation | System and method for the allocation of grid computing to network workstations |
US7356771B2 (en) | 2002-07-09 | 2008-04-08 | Openpages | Adaptive content platform and method of using same |
US7185046B2 (en) | 2002-08-28 | 2007-02-27 | Sun Microsystems, Inc. | Submitting jobs in a distributed computing environment |
US7322031B2 (en) | 2002-10-07 | 2008-01-22 | International Business Machines Corporation | Remote Web service cloning and instantiation |
US20050160423A1 (en) | 2002-12-16 | 2005-07-21 | Bantz David F. | Enabling a guest virtual machine in a windows environment for policy-based participation in grid computations |
US20060294238A1 (en) | 2002-12-16 | 2006-12-28 | Naik Vijay K | Policy-based hierarchical management of shared resources in a grid environment |
US7013331B2 (en) | 2002-12-20 | 2006-03-14 | Nokia, Inc. | Automated bulk configuration of network devices |
US7478385B2 (en) | 2003-01-17 | 2009-01-13 | National Instruments Corporation | Installing software using programmatic component dependency analysis |
US7171470B2 (en) | 2003-02-20 | 2007-01-30 | International Business Machines Corporation | Grid service scheduling of related services using heuristics |
US7907544B2 (en) | 2003-03-14 | 2011-03-15 | Hewlett-Packard Development Company, L.P. | Overlay network for location-independent communication between computer systems |
US7487348B2 (en) | 2003-04-25 | 2009-02-03 | Gateway Inc. | System for authenticating and screening grid jobs on a computing grid |
US7644408B2 (en) | 2003-04-25 | 2010-01-05 | Spotware Technologies, Inc. | System for assigning and monitoring grid jobs on a computing grid |
US20040225711A1 (en) * | 2003-05-08 | 2004-11-11 | Spotware Technologies, Inc. | System for administering computers on a computing grid |
US8055753B2 (en) | 2003-06-11 | 2011-11-08 | International Business Machines Corporation | Peer to peer job monitoring and control in grid computing systems |
US7437706B2 (en) * | 2003-06-27 | 2008-10-14 | At&T Intellectual Property I, L.P. | Automating the life cycle of a distributed computing application |
US8627457B2 (en) | 2003-06-30 | 2014-01-07 | Verizon Business Global Llc | Integrated security system |
US7562254B2 (en) | 2003-07-01 | 2009-07-14 | International Business Machines Corporation | Checkpointing and restarting long running web services |
US7546553B2 (en) | 2003-07-28 | 2009-06-09 | Sap Ag | Grid landscape component |
US7568199B2 (en) | 2003-07-28 | 2009-07-28 | Sap Ag. | System for matching resource request that freeing the reserved first resource and forwarding the request to second resource if predetermined time period expired |
US7673054B2 (en) | 2003-07-28 | 2010-03-02 | Sap Ag. | Grid manageable application process management scheme |
US7594015B2 (en) | 2003-07-28 | 2009-09-22 | Sap Ag | Grid organization |
US7631069B2 (en) | 2003-07-28 | 2009-12-08 | Sap Ag | Maintainable grid managers |
US7703029B2 (en) | 2003-07-28 | 2010-04-20 | Sap Ag | Grid browser component |
US20050060272A1 (en) | 2003-09-11 | 2005-03-17 | Wen-Hua Lin | Embedded system program code reduction method and system |
US7493358B2 (en) | 2003-09-18 | 2009-02-17 | International Business Machines Corporation | Apparatus, system and method of executing monolithic application programs on grid computing systems |
US20050076339A1 (en) | 2003-10-03 | 2005-04-07 | Nortel Networks Limited | Method and apparatus for automated negotiation for resources on a switched underlay network |
US7234032B2 (en) | 2003-11-20 | 2007-06-19 | International Business Machines Corporation | Computerized system, method and program product for managing an enterprise storage system |
US7680933B2 (en) | 2003-12-15 | 2010-03-16 | International Business Machines Corporation | Apparatus, system, and method for on-demand control of grid system resources |
US7810090B2 (en) | 2003-12-17 | 2010-10-05 | Sap Ag | Grid compute node software application deployment |
US20050138156A1 (en) | 2003-12-19 | 2005-06-23 | Alexander Gebhart | Grid application customization |
US20050160107A1 (en) | 2003-12-29 | 2005-07-21 | Ping Liang | Advanced search, file system, and intelligent assistant agent |
US7124062B2 (en) | 2003-12-30 | 2006-10-17 | Sap Ag | Services search method |
US20050165912A1 (en) | 2004-01-23 | 2005-07-28 | Colbeck Scott J. | GUI-based grid computing data management apparatus method and system |
US20050235055A1 (en) | 2004-04-15 | 2005-10-20 | Raytheon Company | Graphical user interface for managing HPC clusters |
US8458691B2 (en) | 2004-04-15 | 2013-06-04 | International Business Machines Corporation | System and method for dynamically building application environments in a computational grid |
US7328406B2 (en) | 2004-04-30 | 2008-02-05 | Tandberg Telecom As | System, method and software for managing and publishing resource availability data |
US7565383B2 (en) | 2004-12-20 | 2009-07-21 | Sap Ag. | Application recovery |
US7793290B2 (en) | 2004-12-20 | 2010-09-07 | Sap Ag | Grip application acceleration by executing grid application based on application usage history prior to user request for application execution |
-
2003
- 2003-11-12 US US10/712,154 patent/US7574707B2/en active Active
-
2004
- 2004-07-28 WO PCT/EP2004/008449 patent/WO2005015398A1/en active Application Filing
- 2004-07-28 EP EP04763565A patent/EP1649370A1/en not_active Ceased
- 2004-07-28 JP JP2006521516A patent/JP2007500387A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0855059A (ja) * | 1994-08-12 | 1996-02-27 | Nippon Steel Corp | アドレスデコード装置及びこれを用いたコンピュータシステム |
JPH10105383A (ja) * | 1996-10-01 | 1998-04-24 | Brother Ind Ltd | アプリケーションプログラムのアンインストール方法及び情報記録媒体 |
JP2001331321A (ja) * | 2000-05-22 | 2001-11-30 | Canon Inc | 情報処理装置、情報処理方法、情報処理システム、及び媒体 |
US20020019844A1 (en) * | 2000-07-06 | 2002-02-14 | Kurowski Scott J. | Method and system for network-distributed computing |
Also Published As
Publication number | Publication date |
---|---|
WO2005015398A1 (en) | 2005-02-17 |
EP1649370A1 (en) | 2006-04-26 |
US20050027843A1 (en) | 2005-02-03 |
US7574707B2 (en) | 2009-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4914717B2 (ja) | 維持可能なグリッドマネージャ | |
US8135841B2 (en) | Method and system for maintaining a grid computing environment having hierarchical relations | |
JP2007500387A (ja) | インストール/実行/削除機構 | |
US7568199B2 (en) | System for matching resource request that freeing the reserved first resource and forwarding the request to second resource if predetermined time period expired | |
JP2007500384A (ja) | グリッドランドスケープコンポーネント | |
US11038778B2 (en) | Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature | |
US7703029B2 (en) | Grid browser component | |
US7673054B2 (en) | Grid manageable application process management scheme | |
US20060075079A1 (en) | Distributed computing system installation | |
US20090049443A1 (en) | Multicore Distributed Processing System | |
Herness et al. | WebSphere Application Server: A foundation for on demand computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100625 |