JP4914717B2 - 維持可能なグリッドマネージャ - Google Patents

維持可能なグリッドマネージャ Download PDF

Info

Publication number
JP4914717B2
JP4914717B2 JP2006521509A JP2006521509A JP4914717B2 JP 4914717 B2 JP4914717 B2 JP 4914717B2 JP 2006521509 A JP2006521509 A JP 2006521509A JP 2006521509 A JP2006521509 A JP 2006521509A JP 4914717 B2 JP4914717 B2 JP 4914717B2
Authority
JP
Japan
Prior art keywords
grid
management unit
application
inter
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006521509A
Other languages
English (en)
Other versions
JP2007500382A (ja
Inventor
ボザク エロル
ゲバルト アレクサンダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Publication of JP2007500382A publication Critical patent/JP2007500382A/ja
Application granted granted Critical
Publication of JP4914717B2 publication Critical patent/JP4914717B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Description

本発明は、デジタルコンピュータによるデータ処理に関し、より詳細には、維持可能なグリッドマネージャに関する。
本出願は、2003年7月28日に出願した、Erol Bozakらの米国特許仮出願第60/490818号明細書、速達便番号EV331001684US「GRID COMPUTING MANAGEMENT」の内容を、参照によって組み込む。
今日のデータセンタにおいて、クライアント/サーバネットワークにおける、ビジネスアプリケーションを実行するサーバ群はしばしば、予測不可能な作業負荷を管理するのが苦手である。1台のサーバがアイドル状態にとどまり得る間でも、別のサーバが制限されている。この状態は、「Catch−22」と呼ばれるジレンマにつながる。この状態において、ネットワークのボトルネックを回避し、顧客、ビジネスパートナー、および従業員との接続を保護する必要のある企業が、しばしば作業負荷需要における最高スパイクを計画し、次いで、そうした余剰サーバがほとんどの時間、限度能力未満で問題なく動作するのを見張る。
グリッドコンピューティングでは、1つの組織の中、または複数の組織に渡る異種コンピュータおよびシステムはすべて、1つの大型統合コンピューティングシステムとなる。この単一統合システムはしたがって、どの1台のコンピュータでも容易に扱うことができない程大きく集中的な問題およびプロセスを、効率的に扱うことができる。
より具体的には、グリッドコンピューティングは、コンピューティングリソースが複数のネットワークに渡って共有される分散型システムの形をとる。グリッドコンピューティングは、多数の管理ドメイン内およびいくつかの地理的区域に渡って存在する情報リソースの選択、集約、および共有を可能にする。こうした情報リソースは、たとえば、リソースの可用性、能力、およびコスト、ならびにユーザのサービス品質(QoS)要件に基づいて共有される。グリッドコンピューティングは、所有コストの削減、コンピューティング、データ、およびストレージリソースの効率の集約および改善、ならびにアプリケーションおよびデータ共有のための仮想組織を使用可能にすることを意味する場合もある。
一態様では、本発明は、第2のコンピュータにリンクされた第1のコンピュータを含むネットワークを特徴とし、この第1のコンピュータは第1のサービスを有し、第2のコンピュータは第2のサービスを有し、第1および第2のサービスは、アプリケーション用の1つまたは複数の計算リソースの少なくとも位置決め、予約、割振り、監視、および割振り解除を扱い、サービスは、コマンドを受信すると、サービスをリスタートすることなく、サービスの振舞いを修正するサービス中にある現在の命令を修正するための新しい命令をロードする。
実施形態は、以下の1つまたは複数を含み得る。コマンドは、アプリケーションをリスタートすることなく、アプリケーションの振舞いを修正させる。
別の態様では、本発明は、ネットワーク内のコンピュータ上で実行されるアプリケーション用の1つまたは複数の計算リソースの位置決め、予約、割振り、監視、および割振り解除を扱うサービス用のコマンドを有するメッセージを受け取ることを含む方法を特徴とする。この方法は、コマンドに応答して、サービスから離れた場所から第1組の命令をロードすること、サービス用の命令の一部分を第1組の命令で置き換えること、および第1組の命令に従ってサービスを実行することも含む。
実施形態は、以下の1つまたは複数も含み得る。本方法は、アプリケーション用の命令の一部分を第1組の命令で置き換えること、および第1組の命令に従ってアプリケーションを実行することをさらに含む。本方法は、コマンドに応答して、サービスと第2のサービスの間の関係を修正することをさらに含み、第2のサービスは、ネットワーク内のコンピュータ上で実行されるアプリケーション用の1つまたは複数の計算リソースの位置決め、予約、割振り、監視、および割振り解除を含む。
こうしたおよび他の実施形態は、以下の利点の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」)、たとえばインターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いにリモートであり、通常、通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行されるとともに互いにクライアント/サーバ関係を有するコンピュータプログラムに基づいて成り立つ。
本発明のいくつかの実施形態を記述した。それにも関わらず、本発明の精神および範囲から逸脱することなく、様々な修正を行うことができることが理解されよう。他の実施形態も、添付の請求項の範囲内である。
グリッドコンピューティング環境を示すブロック図である。 図1のグリッドコンピューティング環境におけるリソースの発見および予約を示すフロー図である。 図1のグリッドコンピューティング環境におけるアプリケーションのインストール、実行、削除を示すフロー図である。 図1のグリッドコンピューティング環境におけるコンピュータデバイスを示すブロック図である。 図4のコンピュータデバイスのアプリケーションの開始を示すフロー図である。 図1のグリッドコンピューティング環境におけるグリッドマネージャの開始を示すフロー図である。 別のコンピュータデバイスで補強された、図1のグリッドコンピューティング環境を示すブロック図である。 グリッドコンピューティング環境を視覚化するための、例示的なグリッドグラフィカルユーザインターフェイス(GUI)コンポーネントを示すブロック図である。 グリッドブラウザコンポーネントを示すブロック図である。

Claims (3)

  1. 複数のコンピュータデバイスを有するコンピュータシステムであって、
    前記コンピュータデバイスの少なくとも1つは、他の前記複数のコンピュータデバイスに対して問い合わせて使用可能な計算リソースを位置決め及び使用するプロセス間通信管理ユニットを含み、
    前記複数のコンピュータデバイスのそれぞれは、前記コンピュータデバイスの計算リソースの少なくとも予約、割振り、監視、及び割振り解除を扱うグリッド管理ユニットを含み、前記グリッド管理ユニットは、他の前記コンピュータデバイスに含まれた他の前記グリッド管理ユニットへのアクセスを提供するための前記他の前記グリッド管理ユニットのリストを有することで、複数の前記グリッド管理ユニットは互いに関連付けられており、
    前記グリッド管理ユニットは、計算リソースの要求を前記プロセス間通信管理ユニットから直接的に、又は前記関連付けられた前記グリッド管理ユニットを介して間接的に受信したときに、
    前記監視の結果に基づいて、他のコンピュータデバイスによって使用されることが可能である前記コンピュータデバイスの計算リソースのリストと前記グリッド管理ユニットのアドレスとを前記プロセス間通信管理ユニットに送信し、前記プロセス間通信管理ユニットから受信した予約リクエストに応じて、前記計算リソースのリストから選択された計算リソースに対して使用の予約をし、
    前記予約に基づいて前記計算リソースを割振り、前記予約に対応する予約番号を前記プロセス間通信管理ユニットに送信し、前記プロセス間通信管理ユニットから、前記予約番号と、前記予約した計算リソースが他のコンピュータデバイスとのプロセス間通信に使用されることを可能にするアプリケーションをどのようにしてインストールし、カスタマイズし、追跡し、削除するかということに関する命令を含むアプリケーションファイルとを受信して前記アプリケーションをインストール
    前記アプリケーションのインストール及び実行の間、前記コンピュータデバイスに対する全ての変更のログを記録し、
    前記プロセス間通信管理ユニットから受信したストップリクエストに応じて前記アプリケーションのプロセスをストップし、現在のリソースの使用が前記アプリケーションのプロセスを再スタートする必要性を所定の期間示さない場合に前記プロセス間通信管理ユニットから送信されるアンインストールリクエストを受信し、
    前記受信したアンインストールリクエストに基づいて、前記コンピュータデバイスをリブートすることなく、前記アプリケーションをアンインストールし、前記記録されたログに基づいて、前記アプリケーションのインストール及び実行の間になされた前記コンピュータデバイスに対する変更を元に戻すことで、前記計算リソースの割振りを解除する
    ように構成されていることを特徴とするコンピュータシステム。
  2. 複数のコンピュータデバイスを有するコンピュータシステムで実施される方法であって、
    前記コンピュータデバイスの少なくとも1つは、他の前記複数のコンピュータデバイスに対して問い合わせて使用可能な計算リソースを位置決め及び使用するプロセス間通信管理ユニットを含み、
    前記複数のコンピュータデバイスのそれぞれは、前記コンピュータデバイスの計算リソースの少なくとも予約、割振り、監視、及び割振り解除を扱うグリッド管理ユニットを含み、前記グリッド管理ユニットは、他の前記コンピュータデバイスに含まれた他の前記グリッド管理ユニットへのアクセスを提供するための前記他の前記グリッド管理ユニットのリストを有することで、複数の前記グリッド管理ユニットは互いに関連付けられており、
    前記グリッド管理ユニットは、計算リソースの要求を前記プロセス間通信管理ユニットから直接的に、又は前記関連付けられた前記グリッド管理ユニットを介して間接的に受信したときに、
    前記監視の結果に基づいて、他のコンピュータデバイスによって使用されることが可能である前記コンピュータデバイスの計算リソースのリストと前記グリッド管理ユニットのアドレスとを前記プロセス間通信管理ユニットに送信し、前記プロセス間通信管理ユニットから受信した予約リクエストに応じて、前記計算リソースのリストから選択された計算リソースに対して使用の予約をし、
    前記予約に基づいて前記計算リソースを割振り、前記予約に対応する予約番号を前記プロセス間通信管理ユニットに送信し、前記プロセス間通信管理ユニットから、前記予約番号と、前記予約した計算リソースが他のコンピュータデバイスとのプロセス間通信に使用されることを可能にするアプリケーションをどのようにしてインストールし、カスタマイズし、追跡し、削除するかということに関する命令を含むアプリケーションファイルとを受信して前記アプリケーションをインストール
    前記アプリケーションのインストール及び実行の間、前記コンピュータデバイスに対する全ての変更のログを記録し、
    前記プロセス間通信管理ユニットから受信したストップリクエストに応じて前記アプリケーションのプロセスをストップし、現在のリソースの使用が前記アプリケーションのプロセスを再スタートする必要性を所定の期間示さない場合に前記プロセス間通信管理ユニットから送信されるアンインストールリクエストを受信し、
    前記受信したアンインストールリクエストに基づいて、前記コンピュータデバイスをリブートすることなく、前記アプリケーションをアンインストールし、前記記録されたログに基づいて、前記アプリケーションのインストール及び実行の間になされた前記コンピュータデバイスに対する変更を元に戻すことで、前記計算リソースの割振りを解除する
    ように構成されていることを特徴とする方法。
  3. コンピュータに、請求項2に記載の方法を実行させるためのプログラム。
JP2006521509A 2003-07-28 2004-07-27 維持可能なグリッドマネージャ Active JP4914717B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US49081803P 2003-07-28 2003-07-28
US60/490,818 2003-07-28
US10/706,066 US7631069B2 (en) 2003-07-28 2003-11-12 Maintainable grid managers
US10/706,066 2003-11-12
PCT/EP2004/008406 WO2005015392A1 (en) 2003-07-28 2004-07-27 Maintainable grid managers

Publications (2)

Publication Number Publication Date
JP2007500382A JP2007500382A (ja) 2007-01-11
JP4914717B2 true JP4914717B2 (ja) 2012-04-11

Family

ID=34107906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006521509A Active JP4914717B2 (ja) 2003-07-28 2004-07-27 維持可能なグリッドマネージャ

Country Status (6)

Country Link
US (1) US7631069B2 (ja)
EP (1) EP1649366B1 (ja)
JP (1) JP4914717B2 (ja)
AT (1) ATE488801T1 (ja)
DE (1) DE602004030126D1 (ja)
WO (1) WO2005015392A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414036B1 (en) * 1999-09-01 2002-07-02 Van Beek Global/Ninkov Llc Composition for treatment of infections of humans and animals
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
US7574707B2 (en) * 2003-07-28 2009-08-11 Sap Ag Install-run-remove mechanism
US7594015B2 (en) * 2003-07-28 2009-09-22 Sap Ag Grid organization
US7703029B2 (en) 2003-07-28 2010-04-20 Sap Ag Grid browser 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
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
US7653911B2 (en) * 2003-09-05 2010-01-26 Alcatel-Lucent Usa Inc. Implicit interprocess communications (IPC) versioning support
US9081620B1 (en) * 2003-09-11 2015-07-14 Oracle America, Inc. Multi-grid mechanism using peer-to-peer protocols
US7571227B1 (en) * 2003-09-11 2009-08-04 Sun Microsystems, Inc. Self-updating grid mechanism
US8726278B1 (en) 2004-07-21 2014-05-13 The Mathworks, Inc. Methods and system for registering callbacks and distributing tasks to technical computing works
US7810090B2 (en) * 2003-12-17 2010-10-05 Sap Ag Grid compute node software application deployment
US7562143B2 (en) 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7406691B2 (en) 2004-01-13 2008-07-29 International Business Machines Corporation Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment
US7552437B2 (en) 2004-01-14 2009-06-23 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment
US8078708B1 (en) * 2004-01-15 2011-12-13 Nortel Networks Limited Grid proxy architecture for network resources
US7441243B2 (en) * 2004-06-10 2008-10-21 International Business Machines Corporation Exception handling in the processing of proposal requests in a grid computing environment
US7266547B2 (en) 2004-06-10 2007-09-04 International Business Machines Corporation Query meaning determination through a grid service
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
US7590623B2 (en) 2005-01-06 2009-09-15 International Business Machines Corporation Automated management of software images for efficient resource node building within a grid environment
US7571120B2 (en) 2005-01-12 2009-08-04 International Business Machines Corporation Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms
US7562035B2 (en) 2005-01-12 2009-07-14 International Business Machines Corporation Automating responses by grid providers to bid requests indicating criteria for a grid job
US8499023B1 (en) 2005-03-23 2013-07-30 Oracle America, Inc. Servlet-based grid computing environment using grid engines and switches to manage resources
US20060245354A1 (en) 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for deploying and instantiating multiple instances of applications in automated data centers using application deployment template
US7565310B2 (en) * 2005-05-04 2009-07-21 International Business Machines Corporation Method and system and program product for a design pattern for automating service provisioning
US20060250977A1 (en) * 2005-05-04 2006-11-09 International Business Machines Corporation Method and apparatus for determining data center resource availablilty using multiple time domain segments
US20070006070A1 (en) * 2005-06-30 2007-01-04 International Business Machines Corporation Joining units of work based on complexity metrics
FI20055429L (fi) * 2005-08-08 2007-02-09 Rainer Wehkamp Hilalaskentaverkon hallinta
US8806003B2 (en) 2011-06-14 2014-08-12 International Business Machines Corporation Forecasting capacity available for processing workloads in a networked computing environment
CN103377069A (zh) * 2012-04-26 2013-10-30 东方有线网络有限公司 一种基于日志文件写入外挂nas实现虚拟化计算部署的新方法
US9141917B2 (en) 2012-12-19 2015-09-22 Sap Se Computing system operating environments
US9716746B2 (en) * 2013-07-29 2017-07-25 Sanovi Technologies Pvt. Ltd. System and method using software defined continuity (SDC) and application defined continuity (ADC) for achieving business continuity and application continuity on massively scalable entities like entire datacenters, entire clouds etc. in a computing system environment
CN104780146B (zh) * 2014-01-13 2018-04-27 华为技术有限公司 资源管理方法及装置
CN107168777B (zh) * 2016-03-07 2021-04-30 阿里巴巴集团控股有限公司 分布式系统中资源的调度方法以及装置
US10506016B2 (en) * 2016-05-19 2019-12-10 Oracle International Corporation Graph analytic engine that implements efficient transparent remote access over representational state transfer
US10318355B2 (en) 2017-01-24 2019-06-11 Oracle International Corporation Distributed graph processing system featuring interactive remote control mechanism including task cancellation
CN109245938B (zh) * 2018-10-10 2021-06-25 上海尚往网络科技有限公司 一种用于执行用户的资源配置操作的方法与设备
US11461130B2 (en) 2020-05-26 2022-10-04 Oracle International Corporation Methodology for fast and seamless task cancelation and error handling in distributed processing of large graph data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325041A (ja) * 2000-05-12 2001-11-22 Toyo Eng Corp 計算機資源活用方法及びシステム

Family Cites Families (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276789A (en) 1990-05-14 1994-01-04 Hewlett-Packard Co. Graphic display of network topology
AU2374492A (en) 1991-07-22 1993-02-23 Banyan Systems Incorporated 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 株式会社日立製作所 通信制御方法
US6567838B1 (en) 1993-07-13 2003-05-20 International Business Machines Corporation Method, system and program for executing a predicted operation in a computer system after a predetermined period elapses since a user activity
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
US7103594B1 (en) 1994-09-02 2006-09-05 Wolfe Mark A System and method for information retrieval employing a preloading procedure
GB2301717B (en) 1995-06-02 1999-08-11 Dsc Communications Network controller for monitoring the status of a network
EP0848334A4 (en) 1996-07-01 2007-08-29 Fujitsu Ltd METHOD AND DEVICE FOR MANAGING THE USE OF SHARED RESOURCES BY SEVERAL GROUPS
US5996012A (en) 1996-12-10 1999-11-30 International Business Machines Corporation Application development process for use in a distributed computer enterprise environment
US5983310A (en) 1997-02-13 1999-11-09 Novell, Inc. Pin management of accelerator for interpretive environments
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 ネットワーク装置
US6226675B1 (en) 1998-10-16 2001-05-01 Commerce One, Inc. Participant server which process documents for commerce in trading partner networks
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
US6775830B1 (en) * 1999-09-24 2004-08-10 Hitachi, Ltd. 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
US6816944B2 (en) 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
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
US20020019844A1 (en) 2000-07-06 2002-02-14 Kurowski Scott J. Method and system for network-distributed computing
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
US20020083183A1 (en) 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US6918113B2 (en) 2000-11-06 2005-07-12 Endeavors Technology, Inc. Client installation and execution system for streamed applications
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
US6959436B2 (en) 2000-12-15 2005-10-25 Innopath Software, Inc. Apparatus and methods for intelligently providing applications and data on a mobile device system
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
US20020095434A1 (en) 2001-01-12 2002-07-18 Lane Robert M. Performance modeling based upon empirical measurements of synchronization points
US20020174189A1 (en) 2001-04-23 2002-11-21 Luosheng Peng Apparatus and methods for intelligently caching applications and data on a mobile device
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
US6813637B2 (en) 2002-03-15 2004-11-02 Sun Microsystems, Inc. System and method for automatically partitioning an application between a web server and an application server
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
US7290048B1 (en) 2002-03-29 2007-10-30 Hyperformix, Inc. Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications
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
US7093243B2 (en) 2002-10-09 2006-08-15 International Business Machines Corporation Software mechanism for efficient compiling and loading of java server pages (JSPs)
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
US7574661B2 (en) 2003-02-25 2009-08-11 Panasonic Corporation Application program prediction method and mobile terminal
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
US7302425B1 (en) 2003-06-09 2007-11-27 Microsoft Corporation Distributed pre-cached query results and refresh method
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
US7574707B2 (en) 2003-07-28 2009-08-11 Sap Ag Install-run-remove mechanism
US7594015B2 (en) 2003-07-28 2009-09-22 Sap Ag Grid organization
US7546553B2 (en) 2003-07-28 2009-06-09 Sap Ag Grid landscape component
US7703029B2 (en) 2003-07-28 2010-04-20 Sap Ag Grid browser 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
US7546598B2 (en) 2003-09-03 2009-06-09 Sap Aktiengesellschaft Measuring software system performance using benchmarks
US20050060272A1 (en) 2003-09-11 2005-03-17 Wen-Hua Lin Embedded system program code reduction method and system
US7937406B2 (en) 2003-09-11 2011-05-03 Oracle America, Inc. Mechanism for automatically establishing a resource grid
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
US7493387B2 (en) * 2003-09-19 2009-02-17 International Business Machines Corporation Validating software in a grid environment using ghost agents
US7509412B2 (en) 2003-09-19 2009-03-24 International Business Machines Corporation Ghost agents for application domains within a grid environment
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
US20050125537A1 (en) 2003-11-26 2005-06-09 Martins Fernando C.M. Method, apparatus and system for resource sharing in grid computing networks
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
CN100495392C (zh) 2003-12-29 2009-06-03 西安迪戈科技有限责任公司 一种智能搜索方法
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
US20050183143A1 (en) 2004-02-13 2005-08-18 Anderholm Eric J. Methods and systems for monitoring user, application or device activity
US8458691B2 (en) * 2004-04-15 2013-06-04 International Business Machines Corporation System and method for dynamically building application environments in a computational grid
US20050235055A1 (en) * 2004-04-15 2005-10-20 Raytheon Company Graphical user interface for managing HPC clusters
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325041A (ja) * 2000-05-12 2001-11-22 Toyo Eng Corp 計算機資源活用方法及びシステム

Also Published As

Publication number Publication date
WO2005015392A1 (en) 2005-02-17
US7631069B2 (en) 2009-12-08
JP2007500382A (ja) 2007-01-11
EP1649366B1 (en) 2010-11-17
US20050027785A1 (en) 2005-02-03
DE602004030126D1 (de) 2010-12-30
ATE488801T1 (de) 2010-12-15
EP1649366A1 (en) 2006-04-26

Similar Documents

Publication Publication Date Title
JP4914717B2 (ja) 維持可能なグリッドマネージャ
US8135841B2 (en) Method and system for maintaining a grid computing environment having hierarchical relations
US7546553B2 (en) Grid landscape component
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
US7574707B2 (en) Install-run-remove mechanism
US7703029B2 (en) Grid browser component
US7673054B2 (en) Grid manageable application process management scheme
US8230426B2 (en) Multicore distributed processing system using selection of available workunits based on the comparison of concurrency attributes with the parallel processing characteristics
US20060075079A1 (en) Distributed computing system installation
CN100472455C (zh) 动态配置服务的网络及方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090806

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20090806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090806

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090901

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111215

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: 20120123

R150 Certificate of patent or registration of utility model

Ref document number: 4914717

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: 20150127

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250