JP2008217766A - グリッド環境におけるデータ及びタスクインスタンスの分散 - Google Patents

グリッド環境におけるデータ及びタスクインスタンスの分散 Download PDF

Info

Publication number
JP2008217766A
JP2008217766A JP2008015498A JP2008015498A JP2008217766A JP 2008217766 A JP2008217766 A JP 2008217766A JP 2008015498 A JP2008015498 A JP 2008015498A JP 2008015498 A JP2008015498 A JP 2008015498A JP 2008217766 A JP2008217766 A JP 2008217766A
Authority
JP
Japan
Prior art keywords
node
data
task
data partition
task instance
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
Application number
JP2008015498A
Other languages
English (en)
Inventor
Tobias Queck
トビアス・クエック
Mark Wusthoff
マルク・ブストフ
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 JP2008217766A publication Critical patent/JP2008217766A/ja
Pending legal-status Critical Current

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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Investigating Or Analyzing Materials Using Thermal Means (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

【課題】グリッド環境でデータ及びタスクインスタンスを分散するシステムを提供する。
【解決手段】パーティション分析手段は、グリッドネットワークのデータベースの中のデータパーティションを指定し、グリッドネットワークの中で部分的に実行されるべきアプリケーションのタスクにデータパーティションのマッピングを実行する。プロビジョニング管理手段は、タスクのタスクインスタンスを判定し、マッピングに基づいてグリッドネットワークの初期ノードに格納されるデータパーティションを判定する。タスクインスタンスの実行に必要とされる処理資源を有するグリッドネットワークの処理ノード、及びデータパーティションの格納に必要とされるメモリ資源を有するグリッドネットワークのデータノードが判定される。比較に基づいて、タスクインスタンスは、処理ノードに展開されると共に、データパーティションは、初期ノードからデータノードに移動される。
【選択図】図1

Description

この明細書は、グリッドコンピューティングに関係する。
グリッドコンピューティング環境は、一般的に、1つ以上の問題を解決するために、複数のコンピュータが協力的に使用される、分散化されると共にネットワーク化されたコンピューティングモデルのことを指す。多くの場合、解決されるべきそのような問題は、コンピュータ的に集中的であると共に、従来のコンピューティング領域において完成させるために、広範囲で高価な資源を必要とするであろう。例えば、天候パターンまたは金融市場のモデル化のような問題は、1つのコンピュータを用いて解決することが困難であり、多くの費用がかかるかもしれず、グリッドコンピューティングを用いて着手され得る。従って、グリッドコンピューティングは、コンピュータ的に集中的である問題に着手するための、費用効果が高い信頼できる方法を提供し得る。
米国特許第6,460,031号公報
そのようなコンピュータ的に集中的であるソフトウェアアプリケーションと比べると、多くのソフトウェアアプリケーションは、代りに(もしくは、更に)データベース的に集中的であり得る。すなわち、そのようなアプリケーションは、データベースに対する多数の呼び出し、及び/または頻繁な呼び出し(例えば、照会)を必要とし得る。例えば、企業の場合には、その企業が、例えば、顧客、従業員、手続き、または他のビジネス関係データに関連した多量のデータを格納することができる大きな中央データベースを維持することが、しばしば発生し得る。データベース集中型アプリケーション(Database-intensive applications)は、従って、顧客レポートを生成するか、もしくは企業の人件費を処理することのような、関連する機能性を実行するために、中央データベースにアクセスし得る。従って、グリッドコンピューティングモデルのように、分散されたコンピューティング資源を使用することの利益が、その状況の中で要求されたデータにアクセスするために必要とされる時間と資源によって、減らされ得るか、または超えられ得るので、グリッドコンピューティング環境において、そのようなデータベース集中型アプリケーション実行することは、難しいかもしれない。
1つ一般的な特徴によれば、システムは、グリッドネットワークのデータベースの中の少なくとも1つのデータパーティションを指定するように構成されると共に、グリッドネットワークの中で部分的に実行されるべきアプリケーションの少なくとも1つのタスクに対してデータパーティションのマッピングを実行するように更に構成されるパーティション分析手段を備える。システムは、更に、少なくとも1つのタスクのタスクインスタンスを判定し、マッピングに基づいて、グリッドネットワークの初期ノードに格納されるデータパーティションを判定し、タスクインスタンスを実行するのに必要とされる処理資源を有するグリッドネットワークの処理ノード、及びデータパーティションを格納するのに必要とされるメモリ資源を有するグリッドネットワークのデータノードを、それらの間の待ち時間に基づいて判定し、データノードにおけるデータパーティションを有するタスクインスタンスの実行時間が、初期ノードに残存するデータパーティションを有するタスクインスタンスのデフォルトの実行時間より少ないか否かに関して、比較を実行し、比較に基づいて、タスクインスタンスを処理ノードに展開すると共に、データパーティションを初期ノードからデータノードに移動するように構成されるプロビジョニング(provisioning)管理手段を備える。
別の一般的な特徴によれば、実行されるべきタスクインスタンスが判定され、そしてタスクインスタンスの実行と関連付けられると共に、グリッドネットワークの初期ノードに格納されるデータパーティションが判定され得る。タスクインスタンスを実行するのに必要とされる処理資源を有するグリッドネットワークの処理ノード、及びデータパーティションを格納するのに必要とされるメモリ資源を有するグリッドネットワークのデータノードの両方が、それらの間の待ち時間に基づいて判定され得る。データノードにおけるデータパーティションを有するタスクインスタンスの実行時間が、初期ノードに残存するデータパーティションを有するタスクインスタンスのデフォルトの実行時間より少ないか否かに関して比較が実行され得る。比較に基づいて、タスクインスタンスは、処理ノードに展開され得ると共に、データパーティションは、初期ノードからデータノードに移動させられ得る。
別の一般的な特徴によれば、コンピュータプログラム製品は、コンピュータ読み取り可能な記録媒体上で明白に具現化され得ると共に、実行可能コードを含み得る。実行可能コードは、実行された場合に、データ処理装置に、アプリケーションのタスクから例示化される、グリッドネットワークにおいて実行されるべきタスクインスタンスを受信する処理を実行させるように構成され得る。実行可能コードは、実行された場合に、データ処理装置に、アプリケーションと関連付けられたデータベースから、タスクインスタンスに基づいて、タスクと関連付けられると共に、グリッドネットワークの初期ノードに格納されたデータパーティションを判定する処理を実行させるように構成され得る。実行可能コードは、実行された場合に、データ処理装置に、タスクインスタンスを実行するための十分な処理資源を有するグリッドネットワークの処理ノードを判定する処理と、データパーティションを格納するための十分なメモリ資源を有するグリッドネットワークのデータノードを判定する処理とを実行させるように構成され得る。実行可能コードは、実行された場合に、データ処理装置に、初期ノードからデータノードに移動されたデータパーティションを有する処理ノードにおけるタスクインスタンスの実行時間が、初期ノードに残存するデータパーティションを有するタスクインスタンスのデフォルトの実行時間より少ないと判定する処理を実行させるように構成され得る。実行可能コードは、実行された場合に、データ処理装置に、タスクインスタンスを処理ノードに展開する処理と、データパーティションを初期ノードからデータノードに移動する処理とを実行させるように構成され得る。
1つ以上の実施の詳細が、以下の添付図面及び記述において説明される。他の特徴は、説明及び図面、そして請求項の内容から明白になる。
図1は、それにより、データベース集中型アプリケーションが図1のグリッド環境から利益を得ること、例えば、グリッド環境と関連付けられる、増加した処理資源、増加した信頼性、及び減少したコストで利益を得ることを可能にするために、グリッド環境においてデータ及びタスクインスタンスを分散するためのシステム100の構成図である。更に具体的には、そのようなデータベース集中型アプリケーションは、例えば、タスクインスタンスとデータベース集中型アプリケーションの対応するデータの両方のプロビジョニング(provisioning:設定)によって、グリッド環境の中でそのような利益を獲得し得ると共に、この状況における対応するデータは、関連するタスクにとって非常に有益であるとして提示されたデータのことを指す。そのようなタスクインスタンス及び対応するデータは、グリッド環境の中に設定され得ると共に、タスクインスタンスの対応するデータに対するデータ呼び出し(及びタスクインスタンスに対する呼び出されたデータの対応応答)の待ち時間は、最小限にされる。この待ち時間を最小限にすることによって、図1のグリッド環境のまさに言及された利益をまだ獲得している一方、データベース集中型アプリケーションの全体の実行時間は、最適化され得るか、及び/または改善され得る。
図1のシステム100において、グリッド環境、またはグリッドネットワークは、中央ノード102、及び複数のノード104a、104bを備える。この点に関して、中央ノード102、及び/またはノード104a、104bは、グリッドネットワークの装置のハードウェア処理系及び/または(例えば、仮想の)ソフトウェア処理系のことを指し得るということが認識されることになる。例えば、中央ノード102は、世界的企業が、企業の法人本部において、1つ以上の大きなデータベースを保存する場合のような、そこに多量のデータが格納されるコンピューティング装置のことを指し得る。一方、ノード104a、104bは、中央ノード102に接続され得るあらゆる数のノードを表すと共に、実際上は、例えばここで説明された動作を実行するために十分な処理能力、及び/またはメモリ能力を有するあらゆるコンピューティング装置のことを指し得る。例えば、中央ノード102、及び/または、ノード104a、104bは、ラップトップコンピュータ、もしくは他のパーソナルコンピュータを含み得るか、または明らかなように、企業サーバかまたは他の潜在的に資源が豊かなコンピューティング装置を含み得る(か、または企業サーバかまたは他の潜在的に資源が豊かなコンピューティング装置に関連付けられ得る)。
図1の例において、グリッドミドルウェア106は、図1のシステム100のグリッド環境の実装及び動作を容易にするソフトウェアを指すことが例証される。例えば、グリッドミドルウェア106は、タスクインスタンスをグリッド環境の中で展開/移動するために使用され得ると共に、更に一般的には、図1のグリッド環境を横断して様々な異なるアプリケーション、プロトコル、プラットフォーム、オペレーティングシステム、アーキテクチャ、または他のパラメータの使用を容易にし、そして提供するために使用され得る。同様に、グリッドミドルウェア106は、ノード104a、104b(及び図1において示されなかった他のノード)の動作を同期させるか、もしくは他の場合は動作を統合するために使用され得る。従って、グリッドコンピューティングの特徴の内の1つは、一般的に、実質的に同種の結果を潜在的に異種の環境から獲得することであると共に、グリッドミドルウェア106は、この結果を獲得するのに役立ち得る。
更に、図1において、上述のデータベース集中型アプリケーションの例は、ビジネスアプリケーション108として例証される。この点に関して、その上ビジネスアプリケーション108は、同様に、例えば学校、政府、教会、チャリティ、病院、または実質的には他のあらゆる組織を含む非営利的な試みのことを指し得るが、用語“ビジネスアプリケーション”は、実質的にある種類の利益生成に使用され得るあらゆるアプリケーションを含むと、広く解釈されるべきである。更に、ビジネスアプリケーション108は、単に一例であると共に、個人的使用のためのアプリケーションのような他のアプリケーションが、同様に使用され得る。
ここで参照されるように、ビジネスアプリケーション108は、問題の機能性の実行を完了するために関連データへのアクセスを必要とし得る様々な機能性を実行し得る。その場合に、一例としてのみ、ビジネスアプリケーション108は、照会発生器110、及びレポート管理手段112を含むとして例証される。例えば、人件費の例において、企業は、一人以上の従業員に支払うべきであり得る現行賃金、または給料を決定するために、照会発生器110を使用して関連データを照会し得る。別の例として、レポート管理手段112は、様々なビジネスの側面に関して、例えば経常在庫レベル、または経常収支支払い可能/受け取り可能情報を含むレポートを生成するために使用され得る。
そのようなアプリケーション特有の機能性は、タスクリポジトリ114に格納され得るタスクと言われ得る。概して言えば、そのようなタスクは、そのインスタンスが、望ましい結果を獲得するために、個々に、もしくは一緒に使用され得る、再利用可能な以前にテストされたコンポーネントまたはオブジェクトを表し得る。例えば、ビジネスアプリケーション108は、実質的に、例えば、株式相場を提供すること、航空会社または他の予約を提供すること、購買作業/請求作業の機能性を提供すること、もしくはサプライチェーン管理または在庫管理のあらゆる状況を提供することを含む、ネットワークを介してアプリケーションによって提供され得るあらゆる機能性を提供し得る。
いくつかの例において、タスクリポジトリ114のタスクは、そのようなタスクの一部分として送信/受信され得るメッセージだけでなく、実行されるべきタスクを含み得る。そのようなタスクは、プロセスモデルにあるような望ましい結果を獲得するために、結合され、そして整理され得ると共に、その中で、周知のように、そのようなタスクは、容易な理解及びグラフィカルユーザインタフェース上のそれらの操作のために、図によって表され得る。これらの状況において、それらのタスクは、並列タスク(parallel tasks)、反復タスク(iterative tasks)、入れ子型ループ(nested loops)、または他の既知のタスク連鎖(task progressions)を含む構造を獲得するために、適切な境界(矢印)及び制御タスク(例えば、分割及び/または結合)によって結合され得る。
更に、もしくは代りに、ビジネスアプリケーション108のタスクは、少なくとも一部分がアプリケーションサービスを用いて(例えば、サービス指向のアーキテクチャ(SOA)の一部分として)実行され得る。そのようなアプリケーションサービスは、多くの場合に(インタフェースの動作及び使用が知られているか、または必要に応じて決定される)サービスインタフェースを経由してネットワーク(例えば、インターネット)を介して他のアプリケーションに公開される1つ以上の特有の機能性を有するアプリケーションのことを指し得る。そのようなサービス(及び/または、サービスのインタフェース)が、ワールドワイドウェブ(ここではWWWまたはウェブとも呼ばれる)上で公開される/利用可能である場合に、その場合には、プロビジョニングサービスは、ウェブサービスとして知られ得る。
例えば、そのようなサービス(例えば、ウェブサービス)の合成を提供するように設計されている“Business Process Execution Language”(BPEL)のような言語が存在すると共に、それは、従ってSOAに対してトップダウンのプロセス指向のアプローチを提供し得る。従って、BPELか、または(例えば“Web Services Flow Language”(WSFL)、拡張可能言語(eXtensible language:XLANG)、及び/または“Business Process Execution Language”(BPEL)のような)他のそのような言語、またはそれらの変更/拡張は、タスクリポジトリ114のタスクを定義するか、及び/または統合するか、及び/または展開するために使用され得る。
従って、タスクリポジトリ114のタスクは、指定された機能性を有する一般的なコンポーネントを表すと共に、それらのタスクは、ビジネスアプリケーション108の特別な処理系を実施するために例示化され得る。例えば、ビジネスアプリケーション108は、企業の人件費を計算するためにタスクを含み得ると共に、そのようなタスクは、現在の従業員を判定する処理と、企業の現在の給与構造を判定する処理と、もしあれば個々の従業員の個々の状況(例えば、働いた時間数、または使用された病気欠勤日の数)の影響を判定する処理とを含み得る。もちろん、これらは、単に一例であるが、しかしそこから、(毎月の人件費処理に関して)これらのタスクの異なるインスタンスは、1年の各月に対して作成され得ると共に、例えば、様々なパラメータ(例えば、その月の日数または休日数、ある月に適用されたボーナス(例えば年末のボーナス)の量、または人件費関連変数)が、月毎に変化するか、または変化し得るので、タスクの“1月”のインスタンスは、タスクの“2月”のインスタンスと異なり得る、ということが認識されることになる。
その場合に、動作において、ビジネスアプリケーション108は、分散された方法で、そのような人件費処理、または他の機能性を実行することを希望し得る。例えば、ノード104aはニューヨークに配置され、一方ノード104bはロンドンに配置され得ると共に、ノードの配置は、問題の企業の経営上の中心と対応し得る。この場合に、ビジネスアプリケーション108は、ノード104bによる実行のために、ノード104bにタスクインスタンス116を分散し、展開し、設定するか、または他の場合には提供するように、グリッドミドルウェア106及び中央ノード102を使用し得る。もちろん、多数のタスクインスタンスが、複数のノードに展開される必要があり得るということ、及び1つだけのタスクインスタンス116が、実例のためだけに、図1で例証されるということが認識されることになる。
上で参照されたように、そのようなノード104bに対するタスクインスタンス116の分散は、ノード104bの利用可能なコンピューティング資源を活用することによって、総じてタスクインスタンス116の、そしてアプリケーション108の全体の信頼性及び実行時間を改善し得る。しかしながら、同様に上で参照されたように、そのような利点は、タスクインスタンス116が、それの実行の間に、中央ノード102の中央データベース118にアクセスする(例えば、データ呼び出し(data calls)を実行する)必要があり得るという事実によって超えられ得る(か、または超えられないかも知れない)。
例えば、上で提供された人件費の例について引き続き説明すると、中央データベース118は、他の人件費関係のデータと同様に、企業の従業員の現在のリストを含み得る。従って、タスクインスタンス116は、その関連付けられた人件費計算を実行するために、中央データベース118に対して照会を実行するか、または中央データベース118に対して他のデータ呼び出しを実行する必要があり得る。しかしながら、例えば(ノード104bがロンドンに配置されていると共に、中央ノード102がヴァルドルフ(Walldorf)に配置されている場合のように)ノード104bが中央ノード102から離れて配置されている場合に、タスクインスタンス116のそのような各呼び出しと関連付けられたささいでない(non-trivial)待ち時間があり得る。例えば、待ち時間のサイズ、及び/またはデータ呼び出しの量または頻度のような要因に応じて、その結果生じるタスクインスタンス116の実行時間の増加は、まず第一に、タスクインスタンス116をノード104bに展開することの計算の利点を上回る可能性がある。
図1の例において、中央ノード102は、タスクインスタンス116と共にデータパーティション122aを展開することによって、上記の考察事項を考慮するように構成され得る分散システム120を備える。更に具体的には、分散システム120は、中央データベース118のデータを、2つ以上のそのようなデータパーティションに分割するように構成され得ると共に、ここで、そのようなデータパーティションは、それらの間のデータの整合性を保証するために同期化が必要とされないように、個々に融合しているが、しかし相互からは離接的である首尾一貫したデータのセットを含み得る。例えば、データパーティション122aは、ニューヨークの従業員と関連付けられた(図1において例証されない)データの同様のパーティションから隣接的であり得る、ロンドンの従業員と関連付けられたデータのブロックを含み得る。(ここで、例えば、ロンドンの従業員の雇用、及び対応するデータパーティション122aに対する更新は、ニューヨークの従業員と関連付けられた対応するデータパーティションとの同期化を必要としない可能性がある。)
以下で更に詳細に示されるように、分散システム120は、データパーティション122aが、タスクインスタンス116によって最も高頻度に呼び出されるか、及び/または最も適当に呼び出されるデータを含むということが、前もって知られ得るように、タスクインスタンス116自身のタスクに基づいて、中央データベース118のデータの中からデータパーティション122aを分割するか、そうでない場合は判定し得る。このように、タスクインスタンス116からのデータ呼び出しの大部分または全ては、例えば、もしタスクインスタンス116及びデータパーティション122aの両方が一緒にノード104bに展開される場合に、タスクインスタンス116のデータ呼び出しと関連付けられる待ち時間が、徹底的に削減されるか、もしくは効果的に消去され得るように、データパーティション122aに対して実行され得ると共に、それは、タスクインスタンス116の全体(及び総じてアプリケーション108)の実行時間における対応する減少に帰着し得る。
データパーティション122aを中央データベース118から分割するか、及び/またはデータパーティション122aを中央データベース118に展開するか、及び/またはデータパーティション122aを中央データベース118に移動するか、及び/またはデータパーティション122aを中央データベース118に再結合させる際、連合データベース管理システム(federated database management system:FDBMS)124a、124b、124cが使用され得る。各々、示されたように、FDBMS124a、124b、及び124cは、それぞれ中央ノード102、ノード104a、及びノード104b上で実行され得る。そのようなシステムは、その結果、連合化されたデータにアクセスするために、唯一の同一のインタフェースが人間またはコンピュータユーザに提示され得るように、複数の分散型データベースから仮想連合データベースを形成するために使用され得る。例えば、上述のコンピュータによるグリッドが分散型処理資源及び要求を利用するために使用され得るが、分散されたストレージ資源及び要求を活用するために、そのようなデータベースの連合を実行し得る従来のストレージグリッド(storage grid)が使用され得る。既知のノードの現在の使い勝手の悪さまたは機能不良のような理由、もしくは他の既知の理由で、そのような従来のストレージグリッドの一部分として、ノードの間で個々のデータベースを移動するために、連合データベース管理システムが使用され得る。
しかしながら、図1の例においては、データパーティション122aのパーティション分割及び展開を容易にするために、分散システム120によって、FDBMS124a、124b、124cが使用され得る。すなわち、上述のように、分散されたデータに対して1つのインタフェースを提供するために、FDBMS124a、124b、124cが使用され得るが、それは、現在の説明から、FDBMS124a、124b、及び124cは、更に、もしくは代りに、図1のグリッド環境の中で、例えば分散システム120の指示で、データパーティション122aを、作成するか、分散するか、展開するか、移動するか、またはそうでに場合には提供するための更に大きな処理の一部分として使用され得ると認識されることになる。
このように、データパーティション122aがローカルノード104bの(例えばあらゆる標準のメモリ装置技術を用いて実現され得る)ローカルデータベース128bに格納され得る一方、タスクインスタンス116は、(ノード104bにおいてハードウェアまたはソフトウェアで実現され得る)サーバ126b上で実行され得る。従って、ここで説明されたように、タスクインスタンス116は、データパーティション122aに対する必要とされるデータ呼び出しに関連付けられた(この例では、ノード104bにおけるタスクインスタンス116及びデータパーティション122aのコロケーション(co-location)に起因する)最小の待ち時間によって実行され得る。
上記のように、そして図4及び図5を参照して更に詳細に説明されるように、分散システム120は、パーティション分析手段130を備え得る。パーティション分析手段130は、タスクリポジトリ114のタスク、中央データベース118の内容及び構造、及び様々な他の関連要因を分析するように構成され得ると共に、その後、データパーティション122a(及び恐らくは図1において例証されなかった他のパーティション)を含むために、中央データベース118のデータを分割し得る。例えば、上記の人件費の例では、パーティション分析手段130は、そこからタスクインスタンス116が例示化されたタスクを分析すると共に、タスクが特別な地理領域または場所に極めて特有である(例えば、指定された領域/場所にいる従業員のグループに関するデータと関連付けられ得る)ことを判定するように構成され得る。従って、パーティション分析手段130は、中央データベースを、他の領域/場所と関連付けられた他のデータパーティションに分割するのと同様に、(ロンドンを基準とする人件費処理と関連付けられた)データパーティション122aに分割し得る。
その後、マッピングデータベース132は、タスクとデータパーティションとの間の判定された関係を格納するために使用され得る。例えば、図4で例証されたように、1つ以上のタスクが1つのデータパーティション(例えば、データパーティション122a)にマッピングされ得る。例えば、上述のように、毎月の人件費処理の実行と関連付けられた複数の人件費関連のタスクがあり得ると共に、これらのタスクの大部分または全ては、地理的に定義された対応するデータパーティションにマッピングされ得る。従って、データパーティションとタスクインスタンスとの間には1対n(1:n)のマッピングが存在し得る。
ビジネスアプリケーション108のランタイム(run-time)の間、例えば、当月の終りに人件費処理が始まる場合に、分散システム120のプロビジョニング管理手段134は、タスクインスタンス116及びタスクリポジトリ114のタスクの関連するタスクインスタンスを、グリッド環境の1つ以上のノード104a、104bに展開するように構成され得る。ここで参照されるように、プロビジョニング管理手段134は、更に、データパーティション122aを図1のグリッド環境の中に展開する(例えば、移動する)か否か、そしてどのように展開するかを判定するように構成され得る。
プロビジョニング管理手段134の更に具体的な例は、図6に関して以下で提供されると共に、プロビジョニング管理手段134の動作の例は、図7に関して提供される。しかしながら、一般的に、プロビジョニング管理手段134は、タスクインスタンス116及びデータパーティション122aを展開するか否か、そしてどのように展開するかを判定するために、多くの要因を判定するように構成され得るということが認識され得る。例えば、プロビジョニング管理手段134は、グリッド環境のノード104a、104bの各々において利用可能である、現在利用可能なコンピューティング資源及びメモリ資源を判定し得る。更に、プロビジョニング管理手段134は、1つ以上の一組のノード104a、104b(及び、例証されなかった他のノード)と関連付けられた待ち時間を判定し得る。その場合に、プロビジョニング管理手段134は、タスクインスタンス116の実行時間を改善するために、データパーティション122aが展開されるべきか否か、そしてどのように展開されるべきかに関して、判定を実行し得る。
例えば、図2に関して以下で説明されるように、データパーティション122aが、最初に中央ノード102における中央データベース118の中に配置されていることを発見し得る。この場合、プロビジョニング管理手段134は、例えば、タスクインスタンス116の処理時間または複雑さと比較して、データパーティション122aをノード104bに移動するのに必要とされる時間が十分に大きいかもしれないこと、そしてデータパーティション122aのノード104bへの移動は、タスクインスタンス116の実行時間の正味の減少または評価できる減少に帰着し得ないことを判定し得る。すなわち、プロビジョニング管理手段134は、データパーティション122aを中央データベース118からノード104bのローカルデータベース128bへ移動して展開する時間をかけるより、ノード104bから中央データベース118に対する次の呼び出しのために、タスクインスタンス116をノード104bに展開することによって、タスクインスタンス116が、更に速く完了し得ることを判定し得る。
このシナリオにおいて、プロビジョニング管理手段134は、データパーティション122aの断続線表現で例証されたように、データパーティション122aがノード104aのローカルデータベース128aに展開され得ると判定し得るということを、それでもなお発見し得る。すなわち、たとえタスクインスタンス116とデータパーティション122aがグリッド環境の同じノードに展開されないとしても、グリッド環境に展開されたタスクインスタンス116とデータパーティション122aの両方を有することは、展開されたタスクインスタンス116から中央データベース118に対する呼び出しのために中央データベース118にデータパーティション122aを残すことより、更に有益であり得る。例えば、ノード104aとノード104bとの間の待ち時間が、ノード104aとノード104bのいずれかと(例えば、ヴァルドルフ(Walldorf)の)中央データベース118との間の待ち時間と比較して、相対的に軽微であり得るように、ノード104aが、同様に、(上記のニューヨークの例とは対照的に)ロンドンに位置し得ることを発見し得る。
同様に図2に関して、以下で詳細に例証されると共に論じられる最後の例のシナリオにおいて、タスクインスタンス116の展開の最初に、データパーティション122が既にノード104bのローカルデータベース128bに配置され得ることを発見し得る。この場合、プロビジョニング管理手段134は、データパーティション122aをノード104bに残すことが最も良いことであると判定し得ると共に、このシナリオにおけるタスクインスタンス116のデータ呼び出しによって感じられる最小の待ち時間を利用するために、タスクインスタンス116をノード104bに展開し得る。
様々な他の例がここで提供されると共に、具体的に論じられないか、もしくは例証されなかった多くの改良が更に実行され得るということが認識されることになる。例えば、中央ノード102から分離しているとして示されたが、ビジネスアプリケーション108は、中央ノード102に配置され得る。他の例において、異なる用語が、ここで説明された、同じ概念か、もしくは同様の概念と関連付けられ得るということが認識されることになる。例えば、用語“タスクインスタンス”は、“タームジョブ”によって置き換えられ得るか、または“タームジョブ”に実質的に交換可能である。同様に、他の変形及び改良が明白であり得る。
図2は、図1のシステムの実装例を例証する構成図である。図2において、展開処理または分散処理の初めに、中央ノード102は、データパーティション122aと同様に、展開されるべきタスクインスタンス116a、116bと関連付けられていると仮定されている。まず第一に、その場合に、例えば、ノード104cがタスクインスタンスを実行するのに十分な処理資源を備えるという分散システム120による判定に基づいて、タスクインスタンス116aがノード104cに展開されるべきであることを発見し得る。この例において、ノード104cが、タスクインスタンス116aを処理するためのその処理能力に基づいて選択されることを例証するために、ノード104cは、図2において、“処理”ノードと呼ばれる。
類似して、ノード104dは、分散システム120によってデータパーティション122aを格納するための十分なメモリ資源を有すると判定され得る、ということが判定され得る。この例において、ノード104dが、データパーティション122aを格納するためのその使用可能な記憶容量に基づいて選択されることを例証するために、ノード104dは、図2において、“データ”ノードと呼ばれる。幾分同様に、中央ノード102は、データパーティション122aがそこに最初に配置されるので、“初期”ノードと呼ばれ得る。
更に、ここで詳細に説明されたように、データパーティション122aのデータノード104dへの移動が、データパーティション122aが中央データベース118に単純に残る基準の状況と比較して、タスクインスタンス116aの全体の実行時間を減少させ得るということが判定され得る。すなわち、タスクインスタンス116aが、処理ノード104cに展開されると共に、中央データベース118の中のデータパーティション122aに呼び出しを行うことによって実行されるという第1のシナリオと、タスクインスタンス116aが、処理ノード104cに展開されると共に、処理ノード104dの中のデータパーティション122aに呼び出しを行うことによって実行されるという第2のシナリオとの間で比較が実行される。その場合には、削減された実行時間に帰着する第1のシナリオと第2のシナリオのいずれかが、選択されると共に、実行され得る。
これらの2つのシナリオ、及び他のシナリオの間で判定を実行するための様々な一例のアルゴリズム及びパラメータが、以下で更に詳細に説明される。しかしながら、一般的に、処理ノード104cとデータノード104dとの間の更に低い待ち時間は、データパーティションノード122aのデータノード104dに対する展開によって、タスクインスタンス116aの実行時間を減少させる可能性の増加に帰着し得るということが認識され得る。タスクインスタンス116aとデータパーティション122aとの両方が同じノードに展開される場合に、最小量の待ち時間が発生し得ると共に、その結果、実際的な待ち時間は、ゼロに達し得る。従って、“処理ノード”と“データノード”の名称は、ここで(例えば、図1において)詳細に説明されたように、単に異なるノード104c、104dの可能な機能を例証するために使用されるということが認識されることになり、1つのノード(例えば、ノード104b)が処理ノードとデータノードの両方として機能し得ることを発見し得ると共に、その場合、ちょうど言及されたように、タスクインスタンス116aからデータパーティション122aに対する呼び出しの効果的な待ち時間は、ゼロに達し得る。
データパーティション122aが実際にはデータノード104dに展開される図2の例について引き続き説明すると、タスクインスタンス116bが中央ノード102から展開されるべき/中央ノード102を介して展開されるべきであることを後で発見し得る。図2の例において、タスクインスタンス116bがノード104fに展開されるということが例証される。例えば、タスクインスタンス116bは、ノード104cで現在利用可能である処理資源より更に大きな処理資源を必要とし得ると共に、その結果、ノード104cは、タスクインスタンス116bを受け取るには適当ではない。
この場合、分散システム120は、どのようにタスクインスタンス116bの最小の実行時間を達成するかに関して、再度判定を実行し得る。例えば、タスクインスタンス116bは、単に、ノード104fからデータノード104d内のデータパーティション122aに対してデータ呼び出しを実行し得る。もちろん、そのような呼び出しのそれぞれと関連付けられた関連する待ち時間があり得るが、しかし、それでもなお、タスクインスタンス116bの全体の実行時間は、タスクインスタンス116bを受け取るために、データノード104dにできる限り近いノード(または、そうでなければ、データノード104dに対して呼び出しを実行する際に最小化された待ち時間を経験するノード)を選択することによって、最小化され得る。
しかしながら、他の実施例において、タスクインスタンス116bの実行時間は、データパーティション122aをデータノード104dからノード104fに移動することによって削減され得る。そのような例において、その場合に、ノード104bは、データパーティション122aが問題の(可能な)移動の目的のためにそこに初めに位置付けられるので、“初期ノード”であると考えられ得る。この例では、その場合に、図2において示されたように、ノード104fは、処理ノードとデータノードの両方として機能するであろう。更に、そのような結果は、タスクインスタンス116bからデータパーティション122aに対する呼び出しと関連付けられた待ち時間を最小化し得るか、または消去し得る。
最後の例では、そのようにノード104fがデータパーティション122aを格納するための十分なメモリ資源を現在有していない場合に、データパーティション122aはノード104fに移動され得ないことを発見し得る。この例において、データパーティション122aは、その代りにノード104eに移動され得ると共に、その場合に、ノード104eは、“処理ノード104f”に対するデータノードとして機能するであろう。更に、そのような移動が望ましいものとなるように、タスクインスタンス116bがデータノード104eに呼び出しを実行する場合に、タスクインスタンス116bがデータ/初期ノード104dに呼び出しを実行する場合と比較して、タスクインスタンス116bにより経験される待ち時間(及び/または実行時間)は、削減され得る/改善され得るということが仮定され得る。
図3は、図1及び図2のシステムの動作例を例証するフローチャート300である。図3の例において、実行されるべきタスクインスタンスが判定され得る(302)。例えば、プロビジョニング管理手段134は、ビジネスアプリケーション108から、タスクリポジトリ114のタスクが、実行のためにタスクインスタンス116a(または、116b)として例示化されたという通知を受信し得る。
タスクインスタンスの実行と関連付けられると共に、グリッドネットワークの初期ノードに格納されたデータパーティションが、その場合に判定され得る(304)。例えば、プロビジョニング管理手段134は、タスクインスタンス116a(及び/または、116b)がそこから例示化されたタスクにデータパーティション122aがマッピングされたことを判定するために、マッピングデータベース132にアクセスし得る。この例では、パーティション分析手段130が以前に中央データベース122aを分割し、ちょうど説明されたようにデータパーティション122aをマッピングすると共に、プロビジョニング管理手段134によるアクセスのために結果をマッピングデータベース132に格納したと仮定され得る。図2の前述の討論から認識されることになるように、この状況における初期ノードは、中央ノード102か、または図3のフローチャート300の動作の初めにそこにデータパーティション122aが格納され得るノード104a〜104fの内のいずれかのことを指し得る。
タスクインスタンスを実行するのに必要とされる処理資源を有するグリッドネットワークの処理ノードが判定され得て、そして同様に、データパーティションを格納するのに必要とされるメモリ資源を有するグリッドネットワークのデータノードが更に判定され得ると共に、そのような判定は、それらの間の待ち時間に基づいて実行され得る(306)。例えば、場合によってはタスクインスタンス116aを受け取るために、プロビジョニング管理手段134は、ノード104b/104cのようなタスクインスタンス116aを実行するために現在利用可能な十分な処理資源を有する第1の複数のノードを判定し得る。または、図2の他の例において、プロビジョニング管理手段134は、ノード104fがタスクインスタンス116bを実行するために十分な処理資源を有していることを判定し得る。同様に、プロビジョニング管理手段134は、データパーティション122aを格納するのに必要とされる十分なメモリ資源を有する第2の複数のノードを判定し得る。例えば、プロビジョニング管理手段134は、問題のタスクインスタンスに応じて、そしてちょうど説明されたように、そのようなデータノード104bまたはデータノード104d〜104fの内のいずれかを選択し得る。
その場合に、ここで更に詳細に説明されるように、第1の複数のノードの中のノードと第2の複数のノードの中のノードとの異なる組み合わせが、それらの間の待ち時間を判定するために検査されると共に、処理ノード(例えば、104b、104c、または104fの内の1つ)と、データノード(例えば、104a、104b、104d〜104fの内の1つ)は、判定された待ち時間の中の最小の待ち時間に基づいて選択され得る。例えば、図2を参照すると、もしプロビジョニング管理手段134が、第1の複数の可能性がある処理ノードはノード104c及びノード104fを含んでいると判定すると共に、第2の複数の可能性があるデータノードはノード104d及びノード104fを含んでいると判定する場合に、その場合に、ノード104fは、(この例では、ノード104fは、ノードの両方のグループに含まれるので、そして待ち時間は、一般的に単一のノードにおけるタスクインスタンスとデータパーティションとの間の通信に関して効果的にゼロであるとみなされ得るので、)処理ノードとデータノードの両方として選択され得る。
データノードにおけるデータパーティションを有するタスクインスタンスの実行時間が、初期ノードに残されたデータパーティションを有するタスクインスタンスのデフォルトの実行時間より少なくなるか否かに関して、比較が実行され得る(308)。例えば、図1において、ノード104bは、処理ノードとデータノードの両方として機能し得る。初期ノードが中央ノード102である場合において、その場合に、プロビジョニング管理手段134は、処理/データノード104bにおけるタスクインスタンス116の実行時間(実行時間は、データパーティション122aを中央データベース118からローカルデータベース128bに移動するのに必要とされる移動時間を含んでいる。)が、単にデータパーティション122aを中央データベース118の中に残した場合のデフォルトの実行時間より総合的に少ないか否かを判定し得る。(その場合に、例えば、タスクインスタンス116は、処理/データノード104bに展開され得ると共に、タスクインスタンス116は、必要に応じて、中央ノード102に対してデータ呼び出しを行うことによって実行され得る。)もちろん、他の例において、一例としてノード104dが初期ノードとして機能する上記の図2の例のように、初期ノードは、中央ノード以外のノードであり得る。更に、全体の実行時間または全体のデフォルトの実行時間の一部分として含まれ得る追加のパラメータ、もしくは代替えのパラメータが、例えば方程式(1〜14)に関して、以下で説明される。
図1においてちょうど参照されると共に例証されるように、その場合に、例えばプロビジョニング管理手段134がタスクインスタンス116をノード104bに展開する場合のように、タスクインスタンスは処理ノードに展開され得る(310)。ここで説明された実施例において、中央ノード102は、タスクインスタンスをグリッド環境に展開するための中央展開サイトとして機能すると仮定されると共に、一般的にタスクインスタンスをそれ自体は実行しないということが認識され得る。しかしながら、いくつかの実施例において、必要であるか、または求められるときに、タスクインスタンスを展開するために使用されるノードが、それ自体タスクインスタンスを実行することが可能であり得るということが見込まれ得る。
データパーティションは、比較に基づいて、初期ノードからデータノードに移動させられ得る(312)。例えば、上記の例を引き続き説明すると、プロビジョニング管理手段134は、データパーティション122aが中央ノード102内の中央データベース118に残される(と共に、ノード104bにおけるタスクインスタンス116から呼び出しを受ける)場合のデフォルトの実行時間と、データパーティション122aのノード104b内のローカルデータベース128bへの移動の実行に起因し得る実行時間との間の比較を実行する。その場合に、例えば、実行時間がデフォルト実行時間より少ない状況において、プロビジョニング管理手段134は、データパーティション122aをノード104bに移動するために、連合データベース管理システム124a、124bを使用し得る。
図4は、図1及び図2のシステムのパーティション分析手段130の構成図である。図4の例において、中央データベース118は、データ302〜314を含むものとして例証される。更に、図1のタスクリポジトリ114に格納されると理解され得ると共に、ビジネスアプリケーション108を実行するために使用され得るタスク316a、316b、及び316cが例証される。その場合に、動作の間、パーティション分析手段130は、データ302〜314に関するタスク316a、316b、及び316cのアクセス特性を判定すると共に、従って中央データベース118を分割するために、タスク316a、316b、及び316cを分析しようと試み得る。
図4の一般的な例において、タスク316bが、データ302、304、306、及び308にアクセスし得る一方、タスク316がデータ302、304、306に独占的にアクセスすることを発見し得る。一方、タスク316cは、一般的にデータ312及びデータ314にアクセスし得る。例において、タスク316a、316b、316cの内のいずれもが、データ310にアクセスすると予測されない。
従って、パーティション分析手段130は、データ302、304、及び306を含むものとしてデータパーティション122aを形成し得る。従って、おそらく、タスク316aは、データパーティション122aに独占的にアクセスする。それと同時に、おそらく、タスク316は、主として、もしくは頻繁に、データパーティション122aにアクセスする(が、しかし時折、もしくはまれにデータ308にアクセスする)。一方、パーティション分析手段130は、タスク316cが、データ312及びデータ314を含むデータパーティション122bに独占的にアクセスすると判定し得る。
従って、図1から図3に関する上記の説明から、タスク316aのインスタンス及びデータパーティション122aは、一緒に、例えばノード104bに展開され得るということが認識されることになる。この場合、タスク316aのインスタンスは、実行のために必要とされるデータ全てへのアクセスを有し得ると共に、この例において、そのようなアクセスのための待ち時間は、効果的にゼロであり得る。従って、図1及び図2のグリッドコンピューティング環境は、タスク316aのタスクインスタンスの実行時間を減速するために、中央データベース118に対する大きな、もしくは頻繁なデータ呼び出しの有害な影響なしで、有利に利用され得る。
所定の実施例において、タスクの呼び出しの全てが単一のデータパーティションに対して実行されるようにする(例えば、タスク316aのデータパーティション122aに対する呼び出しの排他的な性質、及びタスク316cのデータパーティション122bに対する呼び出しの排他的な性質のような)ことがたとえ最も有利であるかもしれないとしても、タスクのデータ呼び出しのいくつかだけが特別なデータパーティションに対する呼び出しである場合に、データ及びタスクインスタンスのプロビジョニングを実行することは、まだ有利であり得る。例えば、データ呼び出し316cが、あらゆるデータパーティションに全く含まれず、それ故に中央データベース118から移動されることがない(もしくは、仮にあったとしても単独で動かされるであろう)データ308に対して実行される一方、タスク316bのデータ呼び出し318a及び318bは、データパーティション122aに対して実行されるものとして例証される。
従って、もしタスク316bのタスクインスタンスがデータパーティション122aと一緒にノード104bに展開される場合、その場合に、タスク316のタスクインスタンスの全体の実行時間は改善され得る。少なくともいくつかのデータ呼び出し(例えば、データ呼び出し318c)が中央データベース118に対して実行されなければならない可能性があるとしても、これは、局所的にアクセス可能な(locally-accessible)(ローカルデータベース128b内の)データパーティション122aに対して実行されるタスクインスタンスのデータ呼び出しの殆どまたは多くが原因である。
もちろん、パーティション分析手段130は、代替えの実施例において、データパーティション122aを、データ302〜308の全てを含むものとして定義し得る。しかしながら、この場合には、データパーティション122aが問題のグリッドネットワークのノードに格納されたときはいつでも、更に多くのデータが移動されなければならないであろう。しかしながら、もしデータ308に対するデータ呼び出し318cが非常にまれであるか、もしくは非常に少ない場合、その場合には、例えば、そのような追加のデータ移動は、保証されていないか、もしくは有害であり得る。すなわち、データ308の少ないか、もしくはまれな使用のみの利益のために、データ308をデータパーティション122aの全ての移動に含むためのコストがあるであろう。パーティション分析手段130は、従って、プロビジョニング管理手段134による使用のために中央データベース118のパーティション分割を最適化するように、これら及び他のコストと利益とを比較検討することに関して責任があり得る。
一度、パーティション分割が発生すると、またはそれと連動して、パーティション分析手段130は、マッピングデータベース132の中に、その結果生じるタスク316a、316b、及び316cと、データパーティション122a、122bとの関連性、またはマッピングを格納し得る。複数のタスク(例えば、タスク316a、及び316b)が単一のデータパーティション(例えば、データパーティション122a)にマッピングされ得るので、示されたように、タスク対パーティションの間で、そのようなマッピングは、n対1(n:1)で実行され得る。
図5は、図1、及び図4のパーティション分析手段130の動作例を例証するフローチャート500である。図5の例において、中央データベース118のアプリケーション独立型(application-independent)パーティション分割が発生し得る(502)。例えば、パーティション分析手段130は、部分的に、もしくは完全にビジネスアプリケーション108から独立している中央データベース118の最初のパーティション分割を実行し得る(例えば、それは、複数のそのようなビジネスアプリケーションに適用でき得る。)。例えば、上で参照されたように、ノード104a及びノード104bは、問題の企業のニューヨークオフィス及びロンドンオフィスと関連付けられ得る。この場合には、多くのビジネスアプリケーションに関して、パーティション分析手段130が、場所特有またはオフィス特有のパーティションへの中央データベース118の最初のパーティション分割を実行し得ることは、論理的であり得る。
その場合に、アプリケーションと関連付けられたタスクが判定され得る(504)。例えば、パーティション分析手段130は、タスク316a、316b、及び316cが問題のアプリケーション、例えばアプリケーション108と関連付けられていると判定し得る。
その場合に、各タスクと関連付けられたデータが判定され得る(506)。例えば、パーティション分析手段130は、タスク316aがデータ302〜306と関連付けられ、タスク316bは、データ308と関連付けられていると共に、タスク316cは、データ312、314と関連付けられていると判定し得る。
各タスクによるデータアクセスの頻度、サイズ、及び/またはパターン、あるいは他の関連したアクセス特性が判定され得る(508)。例えば、パーティション分析手段130は、タスク316aが図4のデータパーティション122aに独占的にアクセスすると判定し得ると共に、タスク316bが頻繁に、しかし独占的ではなく、データパーティション122aにアクセスする(が、しかし更にデータ308にアクセスする)と判定し得る。上で参照されたように、特定のタスクによって呼び出されたデータの平均サイズは、タスクのデータアクセスの特性を示す際、データ呼び出しの絶対数の重要性を上回り得る。すなわち、もしタスク316が、少ない回数、しかし毎回多量のデータで、データ308にアクセスする場合、その場合に、データ308に対するタスク316のアクセスは、データパーティション122aに対するタスク316のアクセスより、タスク316のタスクインスタンスの実行時間に対してより大きい影響を与え得る。
ちょうど説明されたように、データは、例えば、データアクセスの頻度、サイズ、またはアクセスパターンに従って、タスクによってアクセスされるパーティションに分割され得る(510)。例えば、図4に関して上で説明されると共に、例証されたように、パーティション分析手段130は、データベース118のデータを、データパーティション122a、及びデータパーティション122bに分割し得る。
アクセスされたデータパーティションに対する各タスクのマッピングが判定され得ると共に、格納され得る(512)。例えば、パーティション分析手段130は、タスク316cがデータパーティション122bにマッピングされるべきである一方、タスク316aがデータパーティション122aにマッピングされるべきであると判定し得る。
図4及び図5の技術は、データセットの非常に大きなサイズまで測定可能であるということが認識されることになる。例えば、もし中央データベース118のデータセットが増加したとしたら、及び/または何らかの特別なデータパーティション122a、122bが増加したとしたら、その場合に、パーティション分析手段130は、データパーティションの数を単に増加し(そして、各データパーティションのサイズを相応じて減少させ)得ると共に、従ってマッピングデータベース132を更新し得る。
図6は、図1及び図2のプロビジョニング管理手段の構成図である。図6の例において、プロビジョニング管理手段134は、グリッドミドルウェア106を経由してアプリケーション108からタスクインスタンスを受け取る待ち行列602を含む。例えば、アプリケーション108は、各月の終りに、または待ち行列602に送るのに適切であるように様々なタスクを例示化し得る、人件費処理計画を実行し得る。
様々なタスクインスタンスは、待ち行列に入れられ得ると共に、最終的には割り当てモジュール604に渡され得る。割り当てモジュール604は、タスクインスタンス、例えばタスクインスタンス116aの通知を受信し得ると共に、関連するデータパーティション、例えばデータパーティション122aを判定するために、マッピングデータベース132を閲覧し得る。
割り当てモジュールは、その場合に、タスクインスタンスを実行するためのコンピューティンググリッドの現存する利用可能な資源を判定するために、資源管理プログラム606に問い合わせを行い得る。ここで説明されたように、そのような資源は、帯域幅、サービス品質(例えば、コストまたは安全性)、または待ち時間のようなネットワーク資源または環境資源と同様に、利用可能なノードの処理資源及び/またはメモリ資源(例えば、各ノードのローカルデータベースの現在の利用)を含み得る。一般的に、そのようなパラメータのための値は、例えばグリッドミドルウェア106を介して、適切なノード、またはグリッドコンピューティング環境の他の装置に問い合わせることによって、リアルタイムに、もしくはリアルタイムに近く判定され得る。
他の実施例において、そのような値は、1度、もしくは定期的に、前もって決定され得ると共に、後のアクセスのために格納され得る。例えば、図6において、インタフェース608は、グリッドコンピューティング環境における各一組のノードの間の待ち時間の値を判定するために使用され得る。ちょうど参照されたように、そのような待ち時間の値は、必要に応じて判定され得るか、または待ち時間マトリクス610、または他のフォーマットで格納され得る。インタフェース608は、新しいノードがグリッドコンピューティング環境に登録される場合か、もしくは現在のノードが取り除かれる場合を判定するために使用され得る。その場合に、待ち時間の値は、従って更新され得る。
割り当てモジュール604は、資源管理プログラム606から資源情報を受信すると共に、資源管理プログラム606によって提供された(例えば待ち情報を含む)資源情報を用いて、展開されるべきタスクインスタンス及びデータパーティションの特性に基づき、1つ以上のアルゴリズムを実行する。多くの異なるアルゴリズムが利用可能であるけれど、ここでは、(関連付けられたデータパーティションの、処理ノードと同じであり得るかまたは処理ノードと異なり得るデータノードに対する移動と一緒に)タスクインスタンスが処理ノードに移動されるべきであった場合の問題のタスクインスタンスに関する実行時間を、データパーティションが初期ノード(例えば、中央ノード102)に残したままにされる一方、タスクインスタンスが移動される/展開される場合のタスクインスタンスに関するデフォルトの実行時間と比較するために使用される一例のアルゴリズムが提供される。
結局のところ、割り当てモジュール604は、タスクインスタンスを、選択された処理ノードに展開することを判定し得ると共に、更に、関連するデータパーティションを展開するか否か、及び関連するデータパーティションをどこに展開するかを判定し得る。その場合に、タスクインスタンス、及びデータパーティションは、グリッドネットワークの所望のノードにタスクインスタンスとデータパーティションの両方を提供するために使用され得る展開モジュール612に識別され得る。そのように行う際、展開モジュール612は、連合データベース管理システム124、及び/またはグリッドミドルウェア106の従来の機能性と協力して機能し得るということが認識されることになる。
プロビジョニング管理手段134は、様々な他の能力、及び機能性を有し得る。例えば、外部の理由(例えば、管理者の要望、資源の再分配、または使用中止にされたノードの故障)のために、ノードがコンピューティンググリッドから使用中止にされて解除されるべきであるとき、例えば、インタフェース614は、割り当てモジュール604の呼び出しを可能にするグリッドミドルウェア106を備えた外部インタフェースの代理をし得る。その場合に、プロビジョニング管理手段134は、影響を受けたタスクインスタンス、及び関連するデータパーティションを、別のノードに移動させ得る。
そのように行う際、割り当てモジュール604は、例えば、資源管理プログラム606からの情報を使用することによって、送り先ノード上で利用可能な資源を検出し得る。割り当てモジュール604は、その場合に、もし可能であるならば、少なくともデータパーティションを主催するのに十分な資源を備えたノード“i”、更に、影響を受けたタスクインスタンスのいくらか、または全部を要求する。もし影響を受けたタスクインスタンスの全てをノード“i”へ移動することが実行可能ではないならば、その場合に、割り当てモジュール604は、資源管理プログラム606に、ノード“i”とノード“j”の各々との間の待ち時間の量によって順序づけられると共に、残っているタスクインスタンスを主催できるノード“j”のセットを提供することを要求し得る。
一度、適切なノードが配置されれば、移動させられるべきデータパーティションと関連付けられた、コンピューティンググリッド上の全てのタスクインスタンスは、中止され得る。割り当てモジュール604は、その場合に、データパーティションを移動させると共に、使用中止にされるべきノードから新たに選択されたノードにタスクインスタンスを移動させるために、展開モジュール612を呼び出し得る。最終的に、割り当てモジュール604は、今停止されたタスクインスタンスを主催する他の全てのノードに関連する待ち時間が、上述の動作によって大幅に増加したか否かをチェックし得る。もしそうであれば、その場合に、ちょうど説明された、ノード“j”の各々とノード“i”との間の待ち時間に関して順序付けられるノード“j”のセットを選択することと同じ手法を使用して、タスクインスタンスは移動させられる(再展開させられる)。
別の実施例において、もし1つのパーティションと関連付けられたタスクインスタンスが活動的ではないと共に、もはやタスクインスタンスが関連するデータパーティションのために予定されていない場合、その場合に、データパーティションは、中央データベース118に対して移動され得る。データパーティションを中央データベース118に対して移動するための要求は、割り当てモジュール604の対応するインタフェース614を用いて送信され得る。
図7は、図6のプロビジョニング管理手段の動作例を例証するフローチャート700である。図7の例において、タスクインスタンスは、待ち行列602で受信され得る(702)と共に、その後、待ち行列602は、タスクインスタンスの到着を割り当てモジュール604に通知し得る(704)。割り当てモジュール604は、従って、もしあればどのデータパーティションがそれらと関連付けられる(例えば、そこからタスクインスタンスが例示化された親タスクと関連付けられる)かを判定するために、マッピングデータベース132にアクセスし得る(706)。
恐らく資源管理プログラム134を使用する割り当てモジュール604は、関連するデータパーティションの現在の位置を判定し得る(708)と共に、すなわち、そこからデータパーティションが移動させられ得る初期ノードを判定し得る。上述のように、データパーティションは、中央データベース118に、もしくは、(例えば、データパーティションのそれに対する更に初期に実行された移動の結果として)実質的にグリッド環境のノードの内の1つのあらゆるローカルデータベースに格納され得る。
割り当てモジュール604は、その場合に、資源管理プログラム608に、十分な処理資源を有するノードを判定させる(710)と共に、十分なメモリ資源を有するノードを判定させる(712)。その結果生じるノードのリストは、関連するグリッドパラメータに基づいてフィルタ処理され得る(714)。例えば、そのようなグリッドパラメータは、もしそのノードがサービスのしきい値のいくらかの定義された品質を有していない場合に、他の場合には適当なノードが、ノードのリストから取り除かれ得るように、サービス特性の品質を含み得る。
資源管理プログラム608は、グリッド環境における一組のノードに関して発見されたか、もしくは利用可能な待ち時間情報を使用し得ると共に、この待ち時間情報を、潜在的な処理ノードのリスト及び潜在的なデータノードのリストの様々な要素のペアに適用し得る。有利な実施例において、潜在的な処理ノードのリスト及び潜在的なデータノードのリストは、このノードが、イントラノード通信に関して取るに足らない待ち時間を有し得るように、少なくとも1つの共通の、もしくは重複しているノードを有していることを発見し得る。もしそうでなければ、その場合には、資源管理プログラム608は、最も少ない待ち時間を有する(例えば、最も相互に近い)潜在的な処理ノードと潜在的なデータノードのペアを判定し得る。従って、資源管理プログラム608は、最も少ない待ち時間を有する処理ノード及び/またはデータノードを判定し得る(716)。
一般的に、資源管理プログラム608は、必要とされた処理、メモリ、及び待ち時間特性の全てを有する単一のノードまたは一組のノードを判定し得ると共に、従って、このノードまたは一組のノードを割り当てモジュール604に移動し得ると仮定され得る。実際上、もちろん、資源管理プログラム608が、それぞれが処理ノードとデータノードの両方として機能し得る(と共に、従って取るに足らない待ち時間を有するであろう)複数のノードを返すということを発見し得る。この場合に、資源管理プログラム608は、これらのノードの間の判定を行うために、例えば、最初の利用可能なノード、または最も近いノード、または最も高品質のサービス特性を有するノードを選択し得るために、いくつかの他の基準を使用し得る。
その場合に、割り当てモジュール604は、(データノードと同一であるか否かに関係ない処理ノードに対するタスクインスタンスの展開と同様に、)初期ノードから選択されたデータノードに対するデータパーティションの移動が、タスクインスタンスの全体の実行時間を改善することになるか否かを判定し得る(718)。この判定を行うための一例のアルゴリズム及び計算は、以下で詳細に提供される。
もし実行時間が移動によって改善されることになる場合、その場合に、タスクインスタンス及びデータパーティションは、展開モジュール612によって、上記で判定されたノード(ペア)に展開され得る(720)。他の場合には、展開モジュール612は、データパーティションを、その現在の位置、すなわち初期ノードに残したままで、単にタスクインスタンスを処理ノードに展開し得る(722)。
上記で参照されたように、多くのアルゴリズム及び計算が、タスクインスタンスの処理ノードに対する展開と同様に、初期ノードから選択されたデータノードに対するデータパーティションの移動が、タスクインスタンスの全体の実行時間を改善することになるか否かを判定するために、割り当てモジュール604によって使用され得る。下記で説明される一例のアルゴリズムにおいて、以下の変数及び表記法が使用される。最初に、例えば、2つのノード“i”と“j”との間の待ち時間“l”が“lij”で指定され得るように、ノードは、“i”もしくは“j”を使用して表記される。同様に、ノードの間のネットワーク帯域幅“b”は、“bij”で指定され得る。
他の変数が、1つ以上の特定のタスクインスタンスの実行に特有であり得る一方、あらゆる特定のタスクインスタンスに特有ではない待ち時間及び帯域幅のような変数は、環境変数と言われ得る。例えば、タスクインスタンスの実行のための時間“t”は、データベースアクセス時間要求にかかわらず、“texe”と書かれ得る。
この状況におけるタスクインスタンスは、タスクインスタンスの実行のための仕様を提供するバイナリファイル“bin”であると考えられ得る。同様に、データパーティションは、“part”と示され得る。上述のように、タスクインスタンスのバイナリファイル“bin”及びデータパーティション“part”の両方は、ノード“i”とノード“j”との間の移動“T”を経験し得ると共に、ここで、ノード“i”は、ノード“0”として示され得る特別な場合である中央ノードを含み得る。
前述の表記法を使用すると、その場合に、中央ノード102からノード“i”に対してタスクインスタンスのバイナリファイル“bin”を移動すると共に展開する時間は、“tTbin−i”と書かれ得る。同様に、中央ノード102からノード“j”に対してデータパーティション“part”を移動すると共に展開する時間は、“tTpart−j”と書かれ得る。
更に表記法に関して、タスクインスタンスにより要求される、対応するデータベースに対するデータベース呼び出しの数は、呼び出しの数“c”と書かれ得る一方、特別なデータベース呼び出しは、呼び出し“k”と表現され得る。タスクインスタンスのバイナリファイル“bin”のファイルのサイズ、またはデータパーティション“part”(それは同様にバイナリファイルであり得る)のサイズは、サイズのための変数“s”を用いて表現され得る。ノード“i”からノード“j”に対するデータベース呼び出し“k”を実行するのに必要とされる時間は、“tcall−kij”と書かれ得る。
前述の表記法を使用すると、これらの例の目的のために、ノード“i”とノード“j”との間のネットワーク接続は、ノード“j”とノード“i”との間の接続と同じ動きを有すると仮定され得る。更に、内部の通信のための待ち時間は、効果的にゼロであると仮定され得る。これらの仮定は、“lij=lji”と“tcall−kij=tcall−kji”、そして、もし“i=j”ならば、その場合に“lij=tij=0”であるように、様々なノードに関して対称的な待ち時間と時間行列を可能にする。これらの例に関する最終の仮定において、もし“i=j”ならば、その場合に“bij=∞”であり、そうでなければ“bij=b”であるように、コンピューティンググリッドにおける異なる2つのノードの間の帯域幅は、グリッドの至る所で実質的に一定であると共に、1つのノードに関する内部の帯域幅は、ごくわずかだけ高いと仮定され得る。
ノード“i”へのタスクインスタンスの展開、及びノード“j”への必要なデータパーティションの移動を含む全体の実行時間“t”は、前述の表記法を用いて、式(1)によって表され得る。
Figure 2008217766
式(1)は、ノード“j”への関連するデータパーティションの移動と一緒に、ノード“i”に展開されるタスクインスタンスの全体の実行に寄与し得る多くの時間成分の和を提供する。
第1の時間成分は、タスクインスタンスバイナリファイル“bin”及びデータパーティション“part”の移動を実行するために必要な時間を処理する。具体的には、項“max(tTbin−i、tTpart−j)”は、タスクインスタンスの展開、及びデータパーティションの移動が独立して起こるので、全体の実行時間“tij”への影響が、両方の時間のより長い(すなわち、最大の)ものだけに依存することを意図する。
表記法の前述の記述から認識されるように、第2の時間成分は、単にデータベースアクセス要求を意識せずにタスクインスタンスのバイナリファイルを実行するのに必要とされる実行時間“texe”である。最後に、第3の時間成分は、ノード“i”とノード“j”との間の全てのデータベース呼び出しのために必要とされる時間の総和を含む。
式(1)は、特定の例の状況における見方によって更によく理解され得る。例えば、もしパーティションが移動されず、しかし中央ノード102、すなわちノード0に単に残される場合、その場合に、以下の効果が式(1)において見られ得る。具体的には、データパーティションの移動のための時間は、この例における定義によって、ゼロ秒であると共に、その結果、第1の項“max(tTbin−i、tTpart−j)”は、式(2)で示されたように、単に“tTbin−i”に単純化する。
Figure 2008217766
式(2)において、データ呼び出しは、式(2)の第3項によって示されたように、展開されたタスクインスタンス(すなわち、処理ノード“i”上のタスクインスタンス)と、ノード“0”上の中央データベース118との間にまだ発生する。
別の例において、データパーティションは、そのジョブが展開される同じノード“i”、すなわち“j=i≠0”に移動され得る。この例において、式(3)で示されるように、ノードの中のデータ呼び出しのために必要とされるごくわずかな時間の上の仮定は、第3の項がゼロ秒になることを意味する。
Figure 2008217766
式(2)と式(3)を使用して、ノード“i=j”に対してタスクインスタンス及びデータパーティションを移動する場合に、全体の実行時間が改善され得るか否かに関して、比較が実行され得る。すなわち、もし“tii≦ti0”である場合に、その場合に、(タスクインスタンスの展開と連動する)関連するデータパーティションの移動は、総合的なタスクインスタンスの実行時間を減少させることが理解され得る。この不等式(及び共通の項“texe”の削除の結果生じる単純化)は、以下の式(4)に帰着する。
Figure 2008217766
もし、一例の目的で、タスクインスタンスの展開が少なくともデータパーティションの移動と同じくらいの時間がかかる、すなわち“tTbin−i≧tTpart−i”という更なる仮定がなされる場合、その場合に、項“max(tTbin−i、tTpart−j)”は、ちょうど“tTbin−i”となり、結果的に以下の式(5)となる。
Figure 2008217766
従って、式(5)は、単に、もしタスクインスタンスの展開が少なくともデータパーティションの移動と同じくらい時間がかかる場合、その場合に、ノード“i”に対するデータパーティションの移動は、全体の実行時間の改善になると考えられ得るということが分かり得るという点を示している。これは、もしタスクインスタンスの展開に要求された時間の間にデータパーティションの移動が発生し得る場合、その場合に、基本的に全体の実行時間“tii”に対する損失または効果はないという事実から分かり得ると共に、従って、データパーティションの移動は、データパーティションへのデータ呼び出しを実行するのに必要とされる削減された時間の利益を得るために、(すなわち、中央データベースに対して実行されるデータ呼び出しと対立するような、ノードそれ自体の中のデータ呼び出しのために、)進行するべきである。
しかしながら、逆の場合において、データパーティションを移動するための時間が、タスクインスタンスを展開するために必要とされる時間より長い場合に、その結果は以下の式(6)で示される。
Figure 2008217766
ランタイムにおいてこの不等式を解決するために、割り当てモジュール604は、様々な時間変数に値を代入し得ると共に、結果を計算し得る。
このような目的で、様々な時間変数は、割り当てモジュール604に知られている値、及びユニットの観点から表現され得るか、及び/または割り当てモジュール604によって計算され得る。そのような表現は、式(7)から式(9)の例において以下で提供される。
例えば、グリッドネットワークにおいてデータを移動するための時間は、(例えば、バイトにおける)データのサイズ“s”、帯域幅“b”、及び待ち時間“l”の関数として説明され得る。例えば、式(7)は、移動されるパーティションのサイズ、中央ノード102とノード“i”との間の待ち時間、及び関連する帯域幅“b”の観点から、データパーティションをノード“i”移動するための時間を表現する。
Figure 2008217766
関連するデータ呼び出しのために必要とされる時間は、以下の式(8)で書かれ得ると共に、それは、データ呼び出しに関する要求と応答における待ち時間を説明するための2つの待ち時間の項“li0”及び“l0i”を含んでいる。
Figure 2008217766
タスクインスタンスを展開する(例えば、ジョブバイナリ(job binary)を移動する)ために必要とされる時間は、式(9)のように書かれ得ると共に、それは、式(7)と式(8)に類似しており、ノード“i”のローカルサーバ(例えば、図1のサーバ126b)上のタスクインスタンスの移動されたバイナリファイルを実際に展開するために必要とされる時間と関連付けられた“tdeploy”だけでなく、バイナリのサイズ、帯域幅、及び中央ノードとノード“i”との間の待ち時間によって変わる。
Figure 2008217766
式(7)、式(8)、及び式(9)を、式(6)の不等式に代入することは、式(11)に示される結果を提供する。
Figure 2008217766
“tdeploy≧0”なので、もし以下の式(12)が維持される場合に、上記の条件は、正しい。
Figure 2008217766
従って、データパーティションの移動を行うか否かに関する判定は、式(13)のように書かれ得ると共に、ここで、項“2c”は、関連するデータ呼び出しと関連付けられた通信の全2重特性を説明する。
Figure 2008217766
認識され得るように、式(13)は、データパーティションの移動が例の状況において有益であるように、データパーティションのサイズとタスクインスタンスのバイナリファイルのサイズとの間のサイズにおける差異(すなわち、不等式の左手側)は、データ呼び出しの数、関連する待ち時間、帯域幅、及びデータ呼び出しのサイズによって判定された量(すなわち、不等式の右手側)より小さくなければならないことを意味する。この状態は、高い待ち時間“li0”、大きな帯域幅“b”、多数のデータ呼び出し、及び/または送信されるべき多量のデータ“sdata−k”の存在下で、より発生し得る。この点に関して、上述のように、この明細書は、グリッドにより改善される(grid-enhanced)べきである(すなわち、グリッド関連の(grid-related)地理的分散が、高い待ち時間“li0”の可能性を増やす)データ集中型アプリケーション(data-intensive application)(すなわち、“c”及び“sdata−k”が大きくなることがあり得る)を対象とするということが理解されることになる。従って、上述の状態の多数または全ては、説明されたシナリオにおいて、及び他の同様のシナリオにおいて維持され得ると共に、これらの状況における利益は、データパーティションの移動から獲得され得る。
同様の計算が、他の同様のシナリオで実行され得る。例えば、前述の計算は、データパーティションが中央ノードから(すなわち、初期ノードとしての中央ノードによって)展開されるべきである状況に関して提供される。しかしながら、もし別のノード“j”が現在データパーティションを格納しており(すなわち、初期ノードとして機能することになる)、別のノード“i”が関連したタスクインスタンスを主催すると共に、少なくとも“lij”と同じくらい大きい“li0”を有することが発見され得る場合に、その場合に、性能改善は、タスクインスタンスをノード“i”に展開することによって獲得され得る。もちろん、もし“i=j”である場合、その場合に、待ち時間“lij”はゼロに達すると共に、ちょうど言及された状態が維持されることになる。
前述の記述は、一例の目的のためであると共に、他の実施例を制限するものではない。例えば、上述の計算は、単一のタスクインスタンスに基づいてデータパーティションを移動する場合に、性能改善があるか否かを評価する。しかしながら、ランタイムでは、同じタスクの1を超えるインスタンスがあり得る。もしゴールが総じてタスクの平均性能を向上させることであるならば、その場合に、全ての関連するタスクインスタンスの蓄積された性能が考慮され得る。例えば、プロビジョニング管理手段134は、第1のタスクインスタンスが待ち行列602に入る時に、実際には全部で“m”個のタスクインスタンスが予測されると判定し得る。
この例において、その場合に、データパーティションを移動することを支持する状況は、単一のタスクが“m”個のタスクインスタンスを必要とする場合に、以下の式(14)で与えられる。式(14)において、“(m−1)”個のタスクインスタンスに関して、バイナリの移動時間と展開時間(t’ii)の和だけが考慮される必要があるということが認識されることになる。
Figure 2008217766
ここで説明された様々な技術の処理系は、デジタル電子回路部品において、もしくはコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、もしくはそれらの組み合わせにおいて実現され得る。処理系は、データ処理装置、例えばプログラム可能なプロセッサ、コンピュータ、または複数のコンピュータによる実行のために、または前記データ処理装置の動作を制御するために、コンピュータプログラム製品、すなわち情報担体において、例えばコンピュータ読み取り可能な記憶装置、もしくは伝搬された信号において明白に具現化されたコンピュータプログラムとして実現され得る。上述のコンピュータプログラムのようなコンピュータプログラムは、コンパイラ型言語またはインタープリタ型言語を含むあらゆる形式のプログラミング言語で書かれ得ると共に、スタンドアロンプログラムのような、またはモジュール、コンポーネント、サブルーチンのような、またはコンピュータ環境における使用に適当な他のユニットのようなあらゆる形式で展開され得る。コンピュータプログラムは、1つのサイトの1台のコンピュータ上で、もしくは1つのサイトの複数のコンピュータ上で実行されるように展開され得るか、または複数のサイトを横断して分散され得ると共に、通信ネットワークによって相互接続され得る。
方法のステップは、入力データを処理すると共に、出力を生成することによって機能を実行するために、コンピュータプログラムを遂行する1つ以上のプログラム可能なプロセッサによって実行され得る。同様に、方法のステップは、専用論理回路構成、例えば、FPGA(field programmable gate array)、またはASIC(特定用途向け集積回路)によって実行され得ると共に、装置は、専用論理回路構成、例えば、FPGA(field programmable gate array)、またはASIC(特定用途向け集積回路)として実装され得る。
コンピュータプログラムの実行に適当なプロセッサは、一例として、一般的な目的そして特別な目的のマイクロプロセッサ、及びあらゆる種類のデジタルコンピュータの内のあらゆる1つ以上のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリ(ROM)またはランダムアクセスメモリ(RAM)またはその両方から、命令及びデータを受信することになる。コンピュータの要素は、命令を実行するための少なくとも1つのプロセッサと、命令及びデータを格納するための1つ以上のメモリ装置とを含み得る。一般的に、コンピュータは、更に、そこからデータを受信するか、またはそこへデータを移動するか、またはその両方のために、データを格納するための1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、または光ディスクを備え得るか、あるいは動作可能なように、データを格納するための1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、または光ディスクに接続され得る。コンピュータプログラム命令及びデータを具現化することに適当な情報担体は、全ての形式の不揮発性メモリ、一例として、半導体メモリ装置、例えばEPROM、EEPROM;及びフラッシュメモリ装置;磁気ディスク、例えば内蔵ハードディスクまたはリムーバブルディスク;光磁気ディスク;及びCD−ROMディスクとDVD−ROMディスクを含む。プロセッサ及びメモリは、専用論理回路構成によって追加され得るか、または専用論理回路構成に組み込まれ得る。
ユーザとの対話を提供するために、処理系は、情報をユーザに表示するための表示装置、例えばブラウン管(CRT)または液晶表示装置(LCD)、そして、それによりユーザがコンピュータに入力を提供することができるキーボード及びポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上で実現され得る。同様に、他の種類の装置が、ユーザとの対話を提供するために使用され得て、例えば、ユーザに提供されたフィードバックは、あらゆる形式のセンサフィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得えると共に、音響入力、音声入力、または触覚入力(tactile input)を含むユーザからの入力は、いかなる形式にせよ受け入れられ得る。
処理系は、コンピューティングシステムにおいて実現され得ると共に、コンピューティングシステムは、例えばデータサーバとして、バックエンドコンポーネントを含むか、またはコンピューティングシステムは、ミドルウェアコンポーネント、例えばアプリケーションサーバを含むか、またはコンピューティングシステムは、フロントエンドコンポーネント、例えばそれを通してユーザが処理系と対話し得るグラフィカルユーザインタフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、またはコンピューティングシステムは、そのようなバックエンドコンポーネント、ミドルウェアコンポーネント、フロントエンドコンポーネントのあらゆる組み合わせを含む。コンポーネントは、デジタルデータ通信のあらゆる形式または媒体、例えば通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)及び広域ネットワーク(WAN)、例えばインターネットを含む。
説明された処理系の特定の特徴がここで説明されたように例証されたが、同時に、多くの修正、置換、変更、及び等価物が、当業者の心に浮かぶことになる。従って、添付の請求項がそのような実施例の範囲内の修正及び変更の全てをカバーするように意図されるということが理解されることになる。
グリッド環境においてデータ及びタスクインスタンスを分散するためのシステムの構成図である。 図1のシステムの実施例を例証する構成図である。 図1及び図2のシステムの動作例を例証するフローチャートである。 図1及び図2のシステムのパーティション分析手段の構成図である。 図4のパーティション分析手段の動作例を例証するフローチャートである。 図1及び図2のプロビジョニング管理手段の構成図である。 図6のシステムの動作例を示すフローチャートである。
符号の説明
100 システム
102 中央ノード
104a、104b ノード
104c 処理ノード
104d データノード
104e データノード
104f 処理/データノード
106 グリッドミドルウェア
108 ビジネスアプリケーション
110 照会発生器
112 レポート管理手段
114 タスクリポジトリ
116 タスクインスタンス
116a タスクインスタンス
116b タスクインスタンス
118 中央データベース
120 分散システム
122a データパーティション
122b データパーティション
124a、124b、124c 連合データベース管理システム
126a、126b ローカルサーバ
128a、128b ローカルデータベース
130 パーティション分析手段
132 マッピングデータベース
134 プロビジョニング管理手段
302、304、306、308、310、312、314 データ
316a、316b、316c タスク
318a、318b、318c データ呼び出し
602 待ち行列
604 割り当てモジュール
606 資源管理プログラム(資源管理手段)
608、614 インタフェース
610 待ち時間マトリクス
612 展開モジュール

Claims (20)

  1. グリッドネットワークのデータベースの中の少なくとも1つのデータパーティションを指定するように構成されると共に、グリッドネットワークの中で部分的に実行されるべきアプリケーションの少なくとも1つのタスクに対してデータパーティションのマッピングを実行するように更に構成されるパーティション分析手段と、
    少なくとも1つのタスクのタスクインスタンスを判定し、前記マッピングに基づいて、前記グリッドネットワークの初期ノードに格納されるデータパーティションを判定し、前記タスクインスタンスを実行するのに必要とされる処理資源を有する前記グリッドネットワークの処理ノード、及び前記データパーティションを格納するのに必要とされるメモリ資源を有する前記グリッドネットワークのデータノードを、それらの間の待ち時間に基づいて判定し、前記データノードにおけるデータパーティションを有するタスクインスタンスの実行時間が、前記初期ノードに残存するデータパーティションを有するタスクインスタンスのデフォルトの実行時間より少ないか否かに関して、比較を実行し、前記比較に基づいて、前記タスクインスタンスを前記処理ノードに展開すると共に、前記データパーティションを前記初期ノードから前記データノードに移動するように構成されるプロビジョニング管理手段と
    を備えることを特徴とするシステム。
  2. 前記パーティション分析手段が、データパーティションに対するタスクのアクセス特性に基づいて、少なくとも1つのデータパーティションを指定するように構成される
    ことを特徴とする請求項1に記載のシステム。
  3. 前記アクセス特性が、1つ以上の未来のタスクインスタンスによるデータパーティションのアクセスの予測される周波数を含む
    ことを特徴とする請求項2に記載のシステム。
  4. 前記初期ノードは、そこにデータベースが格納される前記グリッドネットワークの中央ノードを含む
    ことを特徴とする請求項1に記載のシステム。
  5. 前記初期ノードは、少なくとも1つのデータパーティションが前記プロビジョニング管理手段の以前のプロビジョニング動作の一部分として以前に展開された以前のデータノードを含む
    ことを特徴とする請求項1に記載のシステム。
  6. 前記プロビジョニング管理手段が、前記処理資源を有する前記グリッドネットワークにおける、前記処理ノードを含む第1の複数のノードを判定し、前記メモリ資源を有する前記グリッドネットワークにおける、前記データノードを含む第2の複数のノードを判定し、前記第1の複数のノードの中のノードと前記第2の複数のノードの中のノードとの組み合わせの間の待ち時間を判定することによって、前記処理ノード及び前記データノードを判定するように構成される資源管理手段を備える
    ことを特徴とする請求項1に記載のシステム。
  7. 前記資源管理手段は、前記処理ノードと前記データノードとの間の待ち時間が、ノードの他の組み合わせの間の待ち時間より少ないと判定することによって、前記処理ノード及び前記データノードを判定するように構成される
    ことを特徴とする請求項6に記載のシステム。
  8. 前記第1の複数のノード及び前記第2の複数のノードが、共通のノードを含むと共に、

    前記プロビジョニング管理手段が、前記共通のノードを前記処理ノード及び前記データノードの両方として選択するように構成される
    ことを特徴とする請求項6に記載のシステム。
  9. 前記プロビジョニング管理手段が、前記グリッドネットワークに関連付けられたグリッドの伝送特性に基づいて、前記第1の複数のノード及び前記第2の複数のノードの内の1つ、または両方から、1つ以上のノードを濾過して取り除くように構成される資源管理手段を備える
    ことを特徴とする請求項6に記載のシステム。
  10. 前記プロビジョニング管理手段が、前記タスクインスタンスを展開する展開時間と前記データパーティションを前記初期ノードから前記データノードに移動する移動時間のより大きい方を含む場合の実行時間を計算することによって、そして前記タスクインスタンスを展開する展開時間を含む場合のデフォルトの実行時間を計算することによって、比較を実行するように構成される割り当てモジュールを備える
    ことを特徴とする請求項1に記載のシステム。
  11. 前記プロビジョニング管理手段が、前記タスクインスタンスのインスタンス実行時間を含む場合の実行時間を計算することによって、そして前記データパーティションに対するデータ呼び出しを実行するために前記タスクインスタンスにより要求されるデータ呼び出し時間を含む場合のデフォルトの実行時間を計算することによって、比較を実行するように構成される割り当てモジュールを備える
    ことを特徴とする請求項1に記載のシステム。
  12. 前記プロビジョニング管理手段が、比較に基づき、連合データベース管理システムを使用して、前記データパーティションを前記初期ノードから前記データノードに移動するように構成される
    ことを特徴とする請求項1に記載のシステム。
  13. 実行されるべきタスクインスタンスを判定する段階と、
    前記タスクインスタンスの実行と関連付けられると共に、グリッドネットワークの初期ノードに格納されたデータパーティションを判定する段階と、
    前記タスクインスタンスを実行するのに必要とされる処理資源を有する前記グリッドネットワークの処理ノード、及び前記データパーティションを格納するのに必要とされるメモリ資源を有する前記グリッドネットワークのデータノードを、それらの間の待ち時間に基づいて判定する段階と、
    前記データノードにおけるデータパーティションを有するタスクインスタンスの実行時間が、前記初期ノードに残存するデータパーティションを有するタスクインスタンスのデフォルトの実行時間より少ないか否かに関して、比較を実行する段階と、
    前記比較に基づいて、前記タスクインスタンスを前記処理ノードに展開すると共に、前記データパーティションを前記初期ノードから前記データノードに移動する段階と
    を含むことを特徴とする方法。
  14. 前記データパーティションを判定する段階が、前記データパーティションに対して以前に実行された、そこから前記タスクインスタンスが例示化されるアプリケーションのタスクのマッピングにアクセスする段階を含み、
    前記マッピングが、前記データパーティションに対する前記タスクインスタンスのアクセス特性と関連付けられる
    ことを特徴とする請求項13に記載の方法。
  15. 待ち時間を判定する段階が、
    前記処理資源を有する前記グリッドネットワークにおける、前記処理ノードを含む第1の複数のノードを判定する段階と、
    前記メモリ資源を有する前記グリッドネットワークにおける、前記データノードを含む第2の複数のノードを判定する段階と、
    前記第1の複数のノードの中のノードと前記第2の複数のノードの中のノードとの間の待ち時間を判定することによって、前記処理ノード及び前記データノードを判定する段階と
    を含むことを特徴とする請求項13に記載の方法。
  16. 前記比較を実行する段階が、前記タスクインスタンスを展開する展開時間と前記データパーティションを前記初期ノードから前記データノードに移動する移動時間のより大きい方を含む場合の実行時間を計算する段階を含む
    ことを特徴とする請求項13に記載の方法。
  17. コンピュータ読み取り可能な記録媒体上で明白に具現化されるコンピュータプログラムであって、実行された場合に、データ処理装置に、
    アプリケーションのタスクから例示化される、グリッドネットワークにおいて実行されるべきタスクインスタンスを受信する処理と、
    前記アプリケーションと関連付けられたデータベースから、前記タスクインスタンスに基づいて、前記タスクと関連付けられると共に、前記グリッドネットワークの初期ノードに格納されたデータパーティションを判定する処理と、
    前記タスクインスタンスを実行するための十分な処理資源を有する前記グリッドネットワークの処理ノードを判定する処理と、
    前記データパーティションを格納するための十分なメモリ資源を有する前記グリッドネットワークのデータノードを判定する処理と、
    前記初期ノードから前記データノードに移動されたデータパーティションを有する前記処理ノードにおけるタスクインスタンスの実行時間が、前記初期ノードに残存するデータパーティションを有するタスクインスタンスのデフォルトの実行時間より少ないと判定する処理と、
    前記タスクインスタンスを前記処理ノードに展開する処理と、
    前記データパーティションを前記初期ノードから前記データノードに移動する処理とを実行させるように構成される実行可能コードを含む
    ことを特徴とするコンピュータプログラム。
  18. 前記処理ノード及び前記データノードが、それらの間の待ち時間に基づいて選択される
    ことを特徴とする請求項17に記載のコンピュータプログラム。
  19. 前記実行時間が、前記タスクインスタンスを展開する展開時間と前記データパーティションを前記初期ノードから前記データノードに移動する移動時間のより大きい方を含む
    ことを特徴とする請求項17に記載のコンピュータプログラム。
  20. 前記グリッドネットワークと関連付けられたグリッドミドルウェアが、前記タスクインスタンスを受信すること、前記処理ノードに前記タスクインスタンスを展開すること、及び前記データパーティションを前記初期ノードから前記データノードに移動することの内の1つ以上と関連付けられる
    ことを特徴とする請求項17に記載のコンピュータプログラム。
JP2008015498A 2007-02-28 2008-01-25 グリッド環境におけるデータ及びタスクインスタンスの分散 Pending JP2008217766A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/713,966 US8150904B2 (en) 2007-02-28 2007-02-28 Distribution of data and task instances in grid environments

Publications (1)

Publication Number Publication Date
JP2008217766A true JP2008217766A (ja) 2008-09-18

Family

ID=39638964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008015498A Pending JP2008217766A (ja) 2007-02-28 2008-01-25 グリッド環境におけるデータ及びタスクインスタンスの分散

Country Status (6)

Country Link
US (1) US8150904B2 (ja)
EP (1) EP1978445B1 (ja)
JP (1) JP2008217766A (ja)
CN (1) CN101256516B (ja)
AT (1) ATE484025T1 (ja)
DE (1) DE602007009638D1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012215936A (ja) * 2011-03-31 2012-11-08 Nec Corp Io構成によるジョブスケジューリング方法
JP2013205891A (ja) * 2012-03-27 2013-10-07 Fujitsu Ltd 並列計算機、並列計算機の制御方法及び制御プログラム
JP2014522033A (ja) * 2011-09-01 2014-08-28 華為技術有限公司 リソースマイグレーションのための方法、装置及びシステム
WO2018047325A1 (ja) * 2016-09-12 2018-03-15 株式会社日立製作所 管理対象の計算機システムを管理する管理機、方法及びコンピュータプログラム
JP7471091B2 (ja) 2020-01-22 2024-04-19 株式会社日立製作所 ジョブ実行支援システム、及びジョブ実行支援方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707318B2 (en) * 2007-10-12 2014-04-22 Microsoft Corporation Partitioning system including a generic partitioning manager for partitioning resources
US20090240930A1 (en) * 2008-03-24 2009-09-24 International Business Machines Corporation Executing An Application On A Parallel Computer
US20090248722A1 (en) * 2008-03-27 2009-10-01 International Business Machines Corporation Clustering analytic functions
US7882219B2 (en) * 2008-03-27 2011-02-01 International Business Machines Corporation Deploying analytic functions
US9363143B2 (en) 2008-03-27 2016-06-07 International Business Machines Corporation Selective computation using analytic functions
US8185901B2 (en) 2008-04-24 2012-05-22 International Business Machines Corporation Parsing an application to find serial and parallel data segments to minimize migration overhead between serial and parallel compute nodes
US9086924B2 (en) * 2008-04-24 2015-07-21 International Business Machines Corporation Executing a distributed java application on a plurality of compute nodes
US8161483B2 (en) 2008-04-24 2012-04-17 International Business Machines Corporation Configuring a parallel computer based on an interleave rate of an application containing serial and parallel segments
US8281311B2 (en) * 2008-04-24 2012-10-02 International Business Machines Corporation Executing a distributed software application on a plurality of compute nodes according to a compilation history
US8516494B2 (en) * 2008-06-16 2013-08-20 International Business Machines Corporation Executing an application on a parallel computer
US8037122B2 (en) * 2008-09-19 2011-10-11 Oracle International Corporation Processing of service-oriented tasks within a grid computing environment
US20100100892A1 (en) * 2008-10-16 2010-04-22 International Business Machines Corporation Managing hosted virtualized operating system environments
US8612753B2 (en) * 2008-12-23 2013-12-17 Intel Corporation Method and apparatus for protected code execution on clients
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8307003B1 (en) 2009-03-31 2012-11-06 Amazon Technologies, Inc. Self-service control environment
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8060792B2 (en) 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
WO2011039762A2 (en) * 2009-09-07 2011-04-07 Tata Consultancy Services Ltd. System for real-time radio / physical layer simulation
US9135283B2 (en) 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8676753B2 (en) * 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
JP4939588B2 (ja) * 2009-10-30 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション クラウド・コンピューティングにおいて、コンピューティング・サービスを法的監査要件が満たされるように個々のジョブに分割し、個々のジョブの分散実行計画をユーザに提示するための方法、コンピュータ・プログラム及び装置
CN102096602A (zh) * 2009-12-15 2011-06-15 中国移动通信集团公司 一种任务调度方法及其系统和设备
US8386431B2 (en) * 2010-06-14 2013-02-26 Sap Ag Method and system for determining database object associated with tenant-independent or tenant-specific data, configured to store data partition, current version of the respective convertor
WO2011159295A1 (en) * 2010-06-16 2011-12-22 Hewlett-Packard Development Company, L.P. System for information management protection and routing
US8560544B2 (en) 2010-09-15 2013-10-15 International Business Machines Corporation Clustering of analytic functions
US8271537B2 (en) * 2010-11-15 2012-09-18 Sas Institute Inc. Grid computing system alongside a distributed database architecture
US20120198458A1 (en) * 2010-12-16 2012-08-02 Advanced Micro Devices, Inc. Methods and Systems for Synchronous Operation of a Processing Device
US8706869B2 (en) * 2011-06-14 2014-04-22 International Business Machines Corporation Distributed cloud placement software
ES2837458T3 (es) * 2011-06-28 2021-06-30 Amadeus Sas Método y sistema de procesamiento de datos para la modificación de bases de datos
RU2494453C2 (ru) * 2011-11-24 2013-09-27 Закрытое акционерное общество "Лаборатория Касперского" Способ распределенного выполнения задач компьютерной безопасности
JP5817844B2 (ja) * 2012-01-10 2015-11-18 富士通株式会社 仮想マシン管理プログラム、方法、及び装置
US9769292B2 (en) 2012-01-19 2017-09-19 Miosoft Corporation Concurrent process execution
CN103365923B (zh) * 2012-03-30 2018-12-07 伊姆西公司 用于评估数据库的分区方案的方法和装置
US9477529B2 (en) * 2012-06-20 2016-10-25 International Business Machines Corporation Job distributed within a grid environment using mega-host groupings of execution hosts based on resource attributes
SG11201505650QA (en) * 2013-01-22 2015-08-28 Amazon Tech Inc Instance host configuration
US20140280398A1 (en) * 2013-03-15 2014-09-18 Miosoft Corporation Distributed database management
KR20140137573A (ko) * 2013-05-23 2014-12-03 한국전자통신연구원 데이터 분산 서비스 미들웨어의 쓰레드를 위한 메모리 관리 장치 및 방법
US9176996B2 (en) 2013-06-25 2015-11-03 Sap Se Automated resolution of database dictionary conflicts
US9716666B2 (en) * 2013-11-27 2017-07-25 International Business Machines Corporation Process cage providing attraction to distributed storage
US9471383B2 (en) * 2014-07-11 2016-10-18 Tata Consultancy Services Limited Task allocation in a computing environment
US9778957B2 (en) * 2015-03-31 2017-10-03 Stitch Fix, Inc. Systems and methods for intelligently distributing tasks received from clients among a plurality of worker resources
CN105956792A (zh) * 2016-05-25 2016-09-21 中国电力科学研究院 一种基于数据节点和公共节点的公式并行计算方法
CN114691547B (zh) * 2019-12-31 2023-05-12 华为云计算技术有限公司 部署实例的方法、实例管理节点、计算节点和计算设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199918A1 (en) * 2003-04-04 2004-10-07 International Business Machines Corporation Backfill scheduling of applications based on data of the applications
WO2005069138A1 (en) * 2004-01-14 2005-07-28 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
CN1466070A (zh) * 2002-07-02 2004-01-07 英业达股份有限公司 增进网络节点连结效能的计算机网络系统
US7146365B2 (en) * 2003-01-27 2006-12-05 International Business Machines Corporation Method, system, and program for optimizing database query execution
US20050273511A1 (en) 2004-06-08 2005-12-08 Hewlett-Packard Development Company, L.P. Equitable resource sharing in grid-based computing environments
US7617503B2 (en) * 2004-09-15 2009-11-10 Verigy (Singapore) Pte. Ltd. Method and apparatus for determining which of two computer processes should perform a function X
GB2419693A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Method of scheduling grid applications with task replication
JP2006338264A (ja) * 2005-06-01 2006-12-14 Toyota Infotechnology Center Co Ltd タスク割当装置およびタスク割当方法
US20070174290A1 (en) * 2006-01-19 2007-07-26 International Business Machines Corporation System and architecture for enterprise-scale, parallel data mining
US20070250365A1 (en) * 2006-04-21 2007-10-25 Infosys Technologies Ltd. Grid computing systems and methods thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040199918A1 (en) * 2003-04-04 2004-10-07 International Business Machines Corporation Backfill scheduling of applications based on data of the applications
WO2005069138A1 (en) * 2004-01-14 2005-07-28 International Business Machines Corporation Maintaining application operations within a suboptimal grid environment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012215936A (ja) * 2011-03-31 2012-11-08 Nec Corp Io構成によるジョブスケジューリング方法
JP2014522033A (ja) * 2011-09-01 2014-08-28 華為技術有限公司 リソースマイグレーションのための方法、装置及びシステム
KR101555266B1 (ko) * 2011-09-01 2015-09-23 후아웨이 테크놀러지 컴퍼니 리미티드 자원 이주를 위한 방법, 장치 및 시스템
JP2013205891A (ja) * 2012-03-27 2013-10-07 Fujitsu Ltd 並列計算機、並列計算機の制御方法及び制御プログラム
WO2018047325A1 (ja) * 2016-09-12 2018-03-15 株式会社日立製作所 管理対象の計算機システムを管理する管理機、方法及びコンピュータプログラム
JP7471091B2 (ja) 2020-01-22 2024-04-19 株式会社日立製作所 ジョブ実行支援システム、及びジョブ実行支援方法

Also Published As

Publication number Publication date
US8150904B2 (en) 2012-04-03
CN101256516A (zh) 2008-09-03
CN101256516B (zh) 2013-05-08
EP1978445A3 (en) 2008-11-12
EP1978445B1 (en) 2010-10-06
EP1978445A2 (en) 2008-10-08
DE602007009638D1 (de) 2010-11-18
ATE484025T1 (de) 2010-10-15
US20080209434A1 (en) 2008-08-28

Similar Documents

Publication Publication Date Title
JP2008217766A (ja) グリッド環境におけるデータ及びタスクインスタンスの分散
Prem Jacob et al. A multi-objective optimal task scheduling in cloud environment using cuckoo particle swarm optimization
de Assuncao et al. Distributed data stream processing and edge computing: A survey on resource elasticity and future directions
US9800465B2 (en) Application placement through multiple allocation domain agents and flexible cloud scheduler framework
US9015662B2 (en) Service level objective for cloud hosted applications
CN101799809B (zh) 数据挖掘方法和数据挖掘系统
US8316130B2 (en) System, method and computer program product for provisioning of resources and service environments
US7870568B2 (en) Adaptive shared computing infrastructure for application server-based deployments
Jindal et al. Function delivery network: Extending serverless computing for heterogeneous platforms
US20060277307A1 (en) Method for allocating shared computing infrastructure for application server-based deployments
US20110119680A1 (en) Policy-driven schema and system for managing data system pipelines in multi-tenant model
US20170006105A1 (en) Distributed storage system with replica location selection
US9342536B2 (en) Intent based automation of data management operations by a data management engine
US9262217B1 (en) Computation resource cyclic utilization
US9184982B2 (en) Balancing the allocation of virtual machines in cloud systems
Sharif et al. Mphc: Preserving privacy for workflow execution in hybrid clouds
Aron et al. Resource scheduling methods for cloud computing environment: The role of meta-heuristics and artificial intelligence
Heidari et al. Quality of Service (QoS)-driven resource provisioning for large-scale graph processing in cloud computing environments: Graph Processing-as-a-Service (GPaaS)
Castillo et al. Online algorithms for advance resource reservations
Naik et al. Adaptive resource sharing in a web services environment
Xu et al. Making real time data analytics available as a service
Abbes et al. An Enhanced Binary Particle Swarm Optimization (E-BPSO) algorithm for service placement in hybrid cloud platforms
Chauhan et al. Optimal admission control policy based on memetic algorithm in distributed real time database system
US20060149611A1 (en) Peer to peer resource negotiation and coordination to satisfy a service level objective
US20060015841A1 (en) Control on demand data center service configurations

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110330

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110809