JP2013513150A - アーカイブ管理スケジューリングの最適化 - Google Patents

アーカイブ管理スケジューリングの最適化 Download PDF

Info

Publication number
JP2013513150A
JP2013513150A JP2012541520A JP2012541520A JP2013513150A JP 2013513150 A JP2013513150 A JP 2013513150A JP 2012541520 A JP2012541520 A JP 2012541520A JP 2012541520 A JP2012541520 A JP 2012541520A JP 2013513150 A JP2013513150 A JP 2013513150A
Authority
JP
Japan
Prior art keywords
level
schedule
vertex
task
edge
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.)
Granted
Application number
JP2012541520A
Other languages
English (en)
Other versions
JP5779188B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013513150A publication Critical patent/JP2013513150A/ja
Application granted granted Critical
Publication of JP5779188B2 publication Critical patent/JP5779188B2/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】データ・アーカイブ管理スケジューリングを継続的に最適化するシステムおよび関連する方法を提供する。
【解決手段】ジョブ・スケジューラは、アーカイブ管理システムから、タスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データの入力を受領する。ジョブ・スケジューラは、受領された入力に従って、様々なレベルの頂点においてアーカイブ管理システムのデータ・コンテンツ、ソフトウェア・プログラム、物理的デバイス、および通信容量を表すフロー・ネットワークをモデル化する。モデル化されたフロー・ネットワーク内の最適パスが、初期スケジュールとして計算され、アーカイブ管理システムは、初期スケジュールに従ってタスクを実行する。スケジュールされたタスクの動作が監視され、ジョブ・スケジューラは、監視された動作のフィードバックおよび所定のヒューリスティクスに基づき、新たなスケジュールを作り出す。
【選択図】図3

Description

本発明は、データ・アーカイブ管理スケジューリングを継続的に最適化するシステムおよび関連する方法を提供する。
従来のタスク最適化方法は、ソフトウェア/データ・コンテンツまたはハードウェア・リソースのいずれかに基づく管理情報を用いる。サービスのパフォーマンス要件、膨大なデータ量、およびメンテナンスに利用可能な時間の制限が理由で、データ・センタなどのエンタープライズ・コンピューティング環境には、管理タスクの継続的かつ動的な最適化が必要である。
企業組織(エンタープライズ)におけるデータ・フットプリントは増大している。多くの企業組織では、アーカイビングとデータ・リカバリとが別々のタスクとして考えられている。前者は、後から参照するため、ビジネス上の洞察を得るため、または法規制遵守に関する監査に役立つ可能性があるデータを保持することを目的とし、コンテンツ中心である。例えば、大手保険会社は、アーカイブ・データをビジネス上の洞察を得るために使用することが増えており、より小さな会社に対する競争に有利なビジネス上の強みとして使用している。他方、データ・リカバリは、ウイルスおよびワーム攻撃、人による誤設定、ハードウェア障害、洪水、台風などの自然災害のような障害が発生した場合に、最小限のシステム・ダウンタイムでデータの可用性を確保することを目指している。安価なテープベースのバックアップから、リモート・サイトへのデータの準リアルタイム・レプリケーションまで、様々なデータ・リカバリをサポートする技術がある。企業組織は、その予算並びにリカバリ・ポイント目標(RPO)、リカバリ時間目標(RTO)などに最も適合するデータ・リカバリ構成オプションを選択している。
典型的な企業組織においては、ITシステムは、日中は作動状態であり、夜間は軽負荷である。この軽負荷の期間中にスケジュールされるアクティビティが以下のようにいくつかある。
1)キーワード探索などでコンテンツを構文解析することに基づく、新たに生成されたデータのインデックスの更新。
2)非アクティブ・データを低コスト・ストレージ層に移動する階層型ストレージ管理(HSM)。
3)企業組織によって使用されるデータ・リカバリ技術に基づき異なるバックアップ動作。
フットプリント・サイズが増大し、アーカイビング、バックアップ、およびその他のアクティビティの日々の時間ウィンドウが縮小しており、こうしたタスクを適時な形で遂行することはますます難しくなっている。さらに顧客は、より大きな時間ウィンドウを必要とし得る、データ・マイニングのためのビジネス・インテリジェンスなどのタスクの実行を望んでいる。本発明は、こうした問題に対処することを志向している。
本発明の様々な側面が、以下参照されるべき特許請求の範囲において定義される。
本発明の一実施形態によれば、データ・アーカイブ管理スケジューリングを継続的に最適化する方法は、ジョブ・スケジューラがタスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含む入力をアーカイブ管理システムから受領するステップと、受領された入力からフロー・ネットワークをモデル化するステップであって、アーカイブ管理システムのデータ・コンテンツ、ソフトウェア・プログラム、物理的デバイス、および通信容量をフロー・ネットワークが表すよう、かつ少なくとも1つのアーカイブ管理タスクのタスクからアーカイブ管理システムのワーカ・プログラムへの、フロー・ネットワークの最適パスが、ワーカ・プログラムがタスクを実行する最適初期スケジュールを表すよう、モデル化するステップと、コンピュータ・システムのプロセッサが、フロー・ネットワークにおける最適パスから最適初期スケジュールを計算するステップと、計算された最適初期スケジュールを、最適初期スケジュールを実行するためにアーカイブ管理システムに転送するステップと、転送された最適初期スケジュールの動作の監視結果を、アーカイブ管理システムから受領するステップと、受領された監視結果に基づいて最適初期スケジュールを動的に調節する結果として、調節済みスケジュールを作成するステップと、調節済みスケジュールを実行するために、調節済みスケジュールをアーカイブ管理システムに転送するステップであって、その結果、アーカイブ管理システムは、転送された調節済みスケジュールの動作の新たな監視結果を生成する、ステップとを含む。
本発明の好適な実施形態は、統合されたコンテンツ・リソース管理に基づくタスクの継続的な最適化を可能にする。本発明の好適な実施形態は、データ・センタのITリソースの使用を最適化し、付加価値のあるアプリケーションがデータに対して動作できるようにするために、リソース管理分析と、コンテンツ分析との組み合わせを可能にする。
本発明の一実施形態によれば、コンピュータ・プログラム製品は、コンピュータ可読プログラム・コードを具現化するコンピュータ可読メモリ・ユニットを含む。コンピュータ可読プログラム・コードは、コンピュータ・システムのプロセッサによって実行されるとデータ・アーカイブ管理スケジューリングを継続的に最適化する方法を実装する、命令を含む。
本発明の一実施形態によれば、コンピュータ・システムは、プロセッサと、プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含み、コンピュータ可読メモリ・ユニットは、プロセッサによって実行されるとデータ・アーカイブ管理スケジューリングを継続的に最適化する方法を実装する、命令を含む。
本発明の一実施形態によれば、コンピュータ・インフラストラクチャをサポートするプロセスであって、前記プロセスは、コンピューティング・システムにおけるコンピュータ可読コードの作成、統合、ホスト、維持、および展開のうちの少なくとも1つに関して少なくとも1つのサポート・サービスを提供することを含み、コードは、コンピューティング・システムとともに、データ・アーカイブ管理スケジューリングを継続的に最適化する方法を実行することができる。
本発明の実施形態による、データ・アーカイブ管理スケジューリングを継続的に最適化するアーカイブ管理システム10を示す。 本発明の実施形態による、図1のアーカイブ管理システムのジョブ・スケジューラによって作成されるコンテンツ・リソース分析モデルのフロー・ネットワーク110Eの実施形態を示す。 本発明の実施形態による、図1のアーカイブ管理システムによって実行される、データ・アーカイブ管理スケジューリングを継続的に最適化する方法を示すフローチャートである。 本発明の実施形態による、アーカイブ管理システムのジョブ・スケジューラによって実行される、最適化されたデータ・アーカイブ管理スケジュールを作成する方法を示すフローチャートである。 本発明の実施形態による、図4のステップ210においてジョブ・スケジューラによって実行される、コンテンツ・リソース分析モデルの実施形態としてのフロー・ネットワークを作成する方法を示すフローチャートである。 本発明の実施形態による、データ・アーカイブ管理スケジューリングを継続的に最適化するために使用されるコンピュータ・システム90を示す。
図1は、本発明の実施形態による、データ・アーカイブ管理スケジューリングを継続的に最適化するアーカイブ管理システム10を示す。
アーカイブ管理システム10は、データ・アーカイブ50、アーカイブ管理タスク60、ジョブ・スケジューラ入力70、およびジョブ・スケジューラ100を含む。アーカイブ管理システム10は、データ・アーカイブ50を利用して企業組織のユーザにデータ/コンピューティング・サービスを提供する企業組織において用いられる。企業組織の例は、特に、データ・センタなどとされ得る。データ/コンピューティング・サービスの例は、特に、データ・アーカイバルおよびプロビジョニング、データ・バックアップ、ビジネス・インテリジェンス(BI:business intelligence)のデータ・マイニングなどとされ得る。本明細書では、「コンテンツ」という用語は、アーカイブ管理システム10のソフトウェア/データ・コンポーネントを示す。管理情報において、コンテンツ管理は主として、データ・アーカイブ50内の大量のデータの保持および利用に関する。
本明細書では、「リソース」という用語は、アーカイブ管理システム10の物理的デバイス/ハードウェアを示す。管理情報において、リソース管理の主な目的は、リソースをフォールト・トラレントに保つことによって、サービスの可用性を最大化することである。従来のディザスタ・リカバリ(DR:disaster recovery)技術が、リカバリ・ポイント目標(RPO)、リカバリ時間目標(RTO)などのサービス要件による様々なリソース構成に利用される。リソースの例は、特に、サーバ、ストレージ・デバイス、ネットワーク帯域幅をサポートする通信機器などとされ得る。アーカイブ管理システム10において用いられるサーバは、高度な仮想化、管理、および信頼性サービスをサポートするエンタープライズ・レベル・サーバである。サーバの一例は、特に、VMware(R)ESX/ESXiサーバ・インフラストラクチャなどとされ得る(VMwareは、VMware,Inc.の米国における登録商標)。アーカイブ管理システム10において用いられるストレージ・デバイスは、データ・コンテンツ、仮想化カーネル、および関連のあるファイルを記憶する永続ストレージ・デバイスである。
エンタープライズ・データ/コンピューティング・サービスは、ユーザによって要求される実際のデータ/コンピューティング・サービスに加えて実行されなければならない、大量のメンテナンス・アクティビティを必要とする。データ/コンピューティング・サービスは、ユーザと企業組織との間のサービス取り決めに規定された特定のパフォーマンス要件レベルを満たさなければならないため、メンテナンス・アクティビティは通常、ユーザからのサービス需要がより低い期間中に実行される。しかし、企業組織は、サービスをユーザに長時間利用可能にすることも要求されるため、サービスをユーザに提供しないメンテナンス・アクティビティ専用の時間ウィンドウを設定することは、現実的ではない。データ・アーカイブ50内のますます増大するデータ量に対し必要なメンテナンス・アクティビティを限られた時間内で実行することは、アーカイブ管理システム10に必須である。
データ・アーカイブ50は、データ/コンピューティング・サービス用のソフトウェア・アプリケーションおよびデータ・コンテンツを記憶する。
アーカイブ管理タスク60は、ジョブ・スケジューラ100によってスケジュールされる通りにアーカイブ管理/メンテナンス・アクティビティを実行するプロセスである。アーカイブ管理/メンテナンス・アクティビティの例は、特に、プロビジョニング、ディザスタ・リカバリ(DR)メンテナンス、サービス要件順守、様々なDR技術のバックアップ動作、コンテンツ構文解析およびキーワード・ルックアップを必要とする新たに生成されたデータ・コンテンツのインデックスの更新、非アクティブ・データを低コスト・ストレージ層に移動する階層型ストレージ管理(HSM)などとされ得る。
ジョブ・スケジューラ入力70は、タスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含む。
タスク情報は、タスクを実行するために必要なオブジェクトへの個別のアクセス・パス、オブジェクトに対して実行される個別の動作、およびオブジェクト・サイズなどのタスク・スケジューリングに有用なシステム属性を含む。タスクは、特に、コンテンツ・アーカイビング、インデックス付け、ビジネス・インテリジェンス(BI)を目的としたデータ・マイニングの機能を、プライマリ・データ、並びにディザスタ・リカバリのために作成されるレプリカに関して、利用可能なストレージ・サーバ・ネットワーク・リソースを用いて実行する。すべてのタスクは、比較的均一な量のリソースを必要とする。
レプリカ配置データは、ディザスタ・リカバリの目的で作成された、データ・アーカイブ50内のプライマリ・データのレプリカのアドレスを含む。
インフラストラクチャ・トポロジ・データは、サーバがどのようにデータ・アーカイブ50内のストレージ・デバイス・ボリュームに接続されているかを表し、これは、データ・アーカイブ50の構成要素を介する、サーバとストレージ・デバイス・ボリュームとの間のパスである。インフラストラクチャ・トポロジ・データは、管理データを収集および維持する、データ・アーカイブ50の一部によって収集される。インフラストラクチャ・トポロジ・データは、5つ組<ホスト名,イニシエータ・ポートWWN,ファブリックWWN,ターゲット・ポートWWN,ボリューム>で表され、ホスト名は、サーバに関する第1の識別子であり、イニシエータ・ポートWWN(World Wide Name:ワールド・ワイド・ネーム)は、初期ポートに関する第2の識別子であり、ファブリックWWNは、ネットワーク・ファブリックに関する第3の識別子であり、ターゲット・ポートWWNは、ターゲット・ポートに関する第4の識別子であり、ボリュームは、ストレージ・デバイス・ボリュームに関する第5の識別子である。ワールド・ワイド・ネーム(WWN)またはワールド・ワイド識別子(WWID)は、ファイバ・チャネルまたはSCSIストレージ・ネットワークにおける一意の識別子である。各WWNは、電気電子技術者協会(IEEE)の組織的に一意な識別子(OUI)から得られる先頭の三(3)バイトと、ベンダ提供情報から得られる次の五(5)バイトとを組み合わせた八(8)バイト数である。WWNは、イーサネット(R)媒体アクセス制御(MAC)アドレスと似て、デバイスに組み込まれている。ネットワーク・ファブリックは、電気通信の分野で使用されるように、ネットワーク・ノードが1つ以上のネットワーク・スイッチを介して相互に接続されるネットワーク・トポロジを示す。
リソース・パフォーマンス・データは、クロック速度、タスク・パー・セカンド、バイト・パー・セカンドなどのリソースのパフォーマンス・メトリックを含む。個別のパフォーマンス・データの絶対的精度よりも、ストレージ・デバイスとサーバとの間の相対的パフォーマンスに関するリソース・パフォーマンス・データの精度の方が、最適スケジューリング・ソリューション150の精度に影響する。
ジョブ・スケジューラ100は、ジョブ・スケジューラ入力70からコンテンツ・リソース分析モデル110を作成し、コンテンツ・リソース分析モデル110を用いて最適スケジューリング・ソリューション150を動的かつ継続的に生成する。ジョブ・スケジューラ100によって実行されるステップの詳細に関しては、下記図4の記載を参照されたい。本明細書では「スケジューリング・ソリューション」、「スケジュール」、および「ジョブ・スケジュール」という用語は、置き換え可能なように使用される。
コンテンツ・リソース分析モデル110は、ジョブ・スケジューラ100内にある、アーカイブ管理システム10の分析モデルである。コンテンツ・リソース分析モデル110は、ジョブ・スケジューラ100が、アーカイブ管理タスク60の動作を継続的に最適化して、初期スケジュールおよび少なくとも1つの動的に調節されたスケジュールを含む最適スケジューリング・ソリューション150を生成できるようにする。
従来のシステム分析モデリングでは、リソースおよびコンテンツは別々にモデル化および管理される。従来のリソース管理情報はシステムのデバイスに焦点を合わせ、デバイスの過去のパフォーマンス統計を利用して、総ワークロードの関数としてデバイスの飽和を予測する。従来のコンテンツ管理情報は、ソフトウェア・アプリケーションおよび関連データに焦点を合わせ、アーカイブ管理タスク60の意思決定プロセスを単純化する。
従来のシステム分析モデリングとは対照的に、本発明の方法は、コンテンツ・リソース分析モデル110においてリソースおよびコンテンツ両方を統合して、ディザスタ・リカバリおよびデータ保護を可能にし、リソース利用と、コンテンツ中心のアーカイブ管理タスク60との両方を最適化する。本発明の方法は、従来のデータ集中型のジョブ・スケジューリングのように新たなレプリカを作成せずに、存在するレプリカの中の既存のデータ冗長性およびストレージ・パスを利用する。本発明の一実施形態では、本発明の方法は、全体的なパフォーマンス向上のために、アーカイブ管理システム10全体にわたりアーカイブ管理タスク60を動的に最適化するようシステム・パラメータを操作する。本発明の別の実施形態では、本発明の方法は、パフォーマンスがアーカイブ管理システム10の全般的なパフォーマンスに重要である選択されたメンテナンス・タスクに、アプリケーション特有のパラメータを利用する。
本発明の方法は、アーカイビング、コンプライアンス、ビジネス・インテリジェンス・クエリのデータ演算および計算を並列化するため、アプリケーション・コンテンツ情報を発見してブロック・レベル・スナップショットおよびミラーリング詳細と相互に関連付けるため、プライマリ・データを他の従来のブックキーピング動作に利用可能にすることによってプライマリ・データに対するアーカイビング・ワークロードを制限するため、並びにローカル・サイトおよびリモート・サイトの両方に存在するレプリカを活用するために利用される。
図2は、本発明の実施形態による、上記図1のアーカイブ管理システムのジョブ・スケジューラによって作成されるコンテンツ・リソース分析モデルのフロー・ネットワーク110Eの実施形態を示す。
フロー・ネットワーク110Eは、個別の頂点グループを示す八(8)つのレベルを含む。フロー・ネットワーク110Eはさらに、LEVEL_kからLEVEL_k+1への有向辺を含み、k=0..6である。
ソース・レベルLEVEL_0 L0は、フロー・ネットワーク110Eのソース頂点を含む。第1のレベルLEVEL_1 L1は、個別のタスクまたはタスク・セットを表す少なくとも1つのタスク頂点(task vertex)を含む。L1の各タスク頂点は、ソース頂点から入ってくる個別の辺(edge)を有する。
LEVEL_0のソース頂点からLEVEL_1のタスク頂点V11への第1の辺E01は、タスク頂点V11に関連するタスクを実行するのに必要な時間の単位を示す時間容量(t)を有する。本発明の一実施形態では、時間容量(t)は、LEVEL_1のすべてのタスクに関して均一に1に割り当てられる。本発明の別の実施形態では、時間容量(t)は、個別のタスクを処理するのに必要な様々な時間を反映するために、LEVEL_1の各タスクに関連する個別の処理時間に割り当てられる。
第2のレベルLEVEL_2 L2は、ストレージ・デバイスの個別のボリュームを表す少なくとも1つのボリューム頂点(volume vertex)を含む。第3のレベルLEVEL_3 L3は、前記少なくとも1つのボリューム頂点を含む。ボリュームは、ボリューム頂点の対であるLEVEL_2のV21およびLEVEL_3のV31によって表される。
LEVEL_1のタスク頂点V11から第1のボリューム頂点V21への第2の辺E12は、そのボリュームが、タスク頂点V11によって表されるタスクを実行するのに必要なファイルの最新のコピーを記憶することを示す。第2の辺E12は、タスク頂点V11によって表されるタスクのボリューム使用の単位を示す、一(1)の容量を有する。
第1のボリューム頂点V21から第2のボリューム頂点V31への第3の辺E23は、頂点V21およびV31の対によって表されるボリュームがサポートできるタスクの数を示す、ボリューム・スループット容量を有する。
第4のレベルLEVEL_4 L4は、個別のサーバを表す少なくとも1つのサーバ頂点(server vertex)を含む。第5のレベルLEVEL_5 L5は、前記少なくとも1つのサーバ頂点を含む。サーバは、サーバ頂点の対であるLEVEL_4のV41およびLEVEL_5のV51によって表される。
第2のボリューム頂点V31から第1のサーバ頂点V41への第4の辺E34は、V21およびV31のボリュームが、V41およびV51のサーバに、通信チャネルを介して物理的に接続されていることを示す。第4の辺E34は、V21およびV31のボリュームと、V41およびV51のサーバとの間の通信チャネルのスループットを示す通信容量を有する。通信チャネルは、ファブリック、ネットワーク、およびその組み合わせとされ得る。第4の辺E34はさらに、迅速なストレージ・エリア・ネットワーク(SAN:Storage Area Network)パス構成を可能にするために、V21およびV31のボリュームと、V41およびV51のサーバとの間の通信チャネルのパス情報を有する。
第1のサーバ頂点V41から第2のサーバ頂点V51への第5の辺E45は、V41およびV51のサーバの計算スループットを示すサーバ・スループット容量を有し、これには利用可能な処理サイクルおよびメモリが含まれる。
第6のレベルLEVEL_6 L6は、ワーカ若しくはソフトウェア・アプリケーションまたはその両方を表すワーカ頂点(worker vertex)V61を含む少なくとも1つのワーカ頂点を含む。
第2のサーバ頂点V51からワーカ頂点V61への第6の辺E56は、V41およびV51のサーバが、ワーカ頂点61によって表されるワーカをホストすることを示す。第6の辺E56は、V41およびV51のサーバ上で実行されるワーカの数を示すホスト容量を有する。
シンク・レベルLEVEL_7 L7は、フロー・ネットワーク110Eのシンク頂点(Sink Vertex)を含む。第6のレベルLEVEL_6の各ワーカ頂点は、第7の辺E67と類似した、シンク頂点へと出ていく辺を有する。ワーカ頂点V61からシンク頂点への第7の辺E67は、無限容量を有する。
定義に従ってフロー・ネットワークを作成するステップに関しては、下記図5の説明を参照されたい。
図3は、本発明の実施形態による、上記図1のアーカイブ管理システムによって実行されるデータ・アーカイブ管理スケジューリングを継続的に最適化する方法を示すフローチャートである。
ステップ11において、アーカイブ管理システムは、スケジューリングに必要な情報を収集して、収集された情報をジョブ・スケジューラ入力としてジョブ・スケジューラに提供する。本明細書では、「ジョブ・スケジューラ入力」および「入力」という用語は、置き換え可能なように使用される。入力は、集合的にコンテンツと呼ばれるアプリケーションおよびデータと、アーカイブ管理システムの計算および通信リソースとを記述する。入力は、タスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含む。インフラストラクチャ・トポロジ・データの詳細に関しては、上記図1の説明を参照されたい。
図3のステップ11に応答してジョブ・スケジューラによって実行される動作に関しては、下記図4のステップ205〜220の説明を参照されたい。ステップ11を実行した後、アーカイブ管理システムはステップ12に移る。
本発明の一実施形態では、アーカイブ管理システムは、IBM(R)文書解析・認識(DARE)システムである。レプリカ配置データは、ディザスタ・リカバリ(DR)オーケストレータによって収集され、インフラストラクチャ・トポロジ・データは、TotalStorage(R)プロダクティビティ・センタ(TPC)データベースから読み出される。DRオーケストレータおよびTPCデータベースは、IBM(R)文書解析・認識(DARE)システムのデータ・アーカイブのコンポーネントである。(IBMおよびTotalStorageは、米国におけるインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である)。
ステップ12において、アーカイブ管理システムは、下記図4のステップ220に応答して、ジョブ・スケジューラから初期スケジュールを受領する。続いて、アーカイブ管理システムはステップ13に移る。
ステップ13〜ステップ17を含むアーカイブ管理システムのループが、アーカイブ管理システムがジョブ・スケジューラから受領した各スケジュールに関して実行される。
ステップ13において、アーカイブ管理システムは、少なくとも1つの実際のストレージ・エリア・ネットワーク(SAN)パスを作成して、ユーザ・インターフェイスとリソースとの間のデータおよび制御パスを確立する。アーカイブ管理システムは、下記図4のステップ210においてジョブ・スケジューラによって作成されるフロー・ネットワークのパスから、前記少なくとも1つのSANパスを作成し、これはリソースの物理的接続性を示す。続いて、アーカイブ管理システムはステップ14に移る。
本発明の一実施形態では、SANパスは、IBM(R)文書解析・認識(DARE)システムのサーバ・ストレージ・ネットワーク・リソースから、IBM TotalStorage(R)プロダクティビティ・センタ(TPC)ウェブ・アプリケーション・プログラミング・インターフェイス(API:Application Programming Interface)へ作成される。同じ実施形態において、上記図2のフロー・ネットワーク内のLEVEL_2〜LEVEL_6のパスが、ゾーニングおよびマスキングを用いて、ボリューム・サーバ・ワーカSANパスへと変換される。TPC Web APIを介して提供されるユーザ入力は、ゾーニング・パラメータ<イニシエータ・ポートWWN,ファブリックWWN,ターゲット・ポートWWN>およびマスキング・パラメータ<イニシエータ・ポートWWN,ターゲット・ポートWWN,ボリューム>を含む。
ステップ14において、アーカイブ管理システムは、仮想マシンを展開し、受領されたスケジュールを実行する。受領されたスケジュールは、ループの第1の反復では、ステップ12において受領された初期スケジュールであり、ループの後の反復では、ステップ17において受領された調節済みスケジュールである。受領されたスケジュール内の各アーカイブ管理タスクは、動作のために個別の仮想マシンに割り当てられる。本発明の一実施形態において、IBM(R)文書解析・認識(DARE)システムは、受領されたスケジュールを、インデックス付けする仮想マシンをVMware(R)制御に展開することによって仮想化する。アーカイブ管理システムは、ステップ15に移る。
ステップ15において、アーカイブ管理システムは、受領されたスケジュールを開始して、アーカイブ管理タスクを実行する。続いて、アーカイブ管理システムはステップ16に移る。
ステップ16において、アーカイブ管理システムは、受領されたスケジュールに従ってアーカイブ管理タスクを実行する間、アーカイブ管理タスクの動作を監視する。アーカイブ管理システムは、監視結果をジョブ・スケジューラに提供する。図3のステップ16に応答してジョブ・スケジューラによって実行される動作に関しては、下記図4のステップ225〜235の説明を参照されたい。ステップ16を実行した後、アーカイブ管理システムはステップ17に移る。
ステップ17において、アーカイブ管理システムは、下記図4のステップ235に応答して、動的に調節されたスケジュールをジョブ・スケジューラから受領する。続いて、アーカイブ管理システムは、ステップ13に戻り、調節済みスケジュールを処理する。
図4は、本発明の実施形態による、アーカイブ管理システムのジョブ・スケジューラによって実行される、最適化されたデータ・アーカイブ管理スケジュールを作成する方法を示すフローチャートである。
ステップ205において、ジョブ・スケジューラは、上記図3のステップ11に応答して、アーカイブ管理システムの情報収集コンポーネントから、タスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含むスケジューリング情報を入力として受領する。インフラストラクチャ・トポロジ・データは、サーバのホスト名と、ストレージ・デバイスのボリュームとの間の個別の可能なパスを表す、少なくとも1つの5つ組<ホスト名,イニシエータ・ポートWWN,ファブリックWWN,ターゲット・ポートWWN,ボリューム>である。リソース・パフォーマンス・データは、サーバ・クロック速度、ストレージ・デバイス・クロック速度、およびサーバとストレージ・デバイスとの間のデータ転送レートを含む。続いて、ジョブ・スケジューラはステップ210に移る。
本発明の一実施形態では、ジョブ・スケジューラは、アーカイブ管理システムに対しスケジュールされるべきタスクのセットを含むジョブの処理の準備が整うと、ウェブ・サービス・コールを呼び出して、そのタスクのセットに関するタスク情報をリクエストする。タスク情報の構成要素に関しては、上記図1の説明を参照されたい。
ステップ210において、ジョブ・スケジューラは、入力を用いてフロー・ネットワークを作成する。フロー・ネットワークは、アーカイブ管理システムのコンテンツおよびリソースの両方を表す、上記図1のコンテンツ・リソース分析モデルの実施形態である。フロー・ネットワークは、均一であり無関連である並列マシンをモデル化する。フロー・ネットワークにおける最適なマッピングは、アーカイブ管理タスクを実行する時間に関して最適なスケジューリング・ソリューションに対応する。フロー・ネットワークを作成するステップに関しては、下記図5のステップ305〜320を参照されたい。続いて、ジョブ・スケジューラはステップ215に移る。
本発明の一実施形態では、ジョブ・スケジューラは、3つの基本的な前提を用いる。第1の前提は、各タスクは、個別のタスクのワークロードの特徴にかかわらず、或る単位量の処理時間がかかるということであり、これは、計算バウンドまたはデータ演算バウンドのいずれかとされ得る。第1の前提は、すべてのタスクが均一なスループットを有するということを意味する。第1の前提は、以下ステップ215の最大フロー計算が任意にタスク・グループを分けることを防ぐ。第2の前提は、すべてのパフォーマンス入力が、単位時間当たりのタスクの静的な達成可能スループットとして合計されることが可能であるということである。第3の前提は、各タスクが、タスクがレプリケートされたボリュームにて処理可能か否かを示す2進値を有するということである。
ステップ215では、ジョブ・スケジューラが、最大フロー計算を用いて、フロー・ネットワークにおける最適な静的マッピングである初期スケジュールを計算する。最適な静的マッピングは、フロー・ネットワーク内の最小容量値を備えるLEVEL_1からLEVEL_6のパスである。ステップ215の後、ジョブ・スケジューラはステップ220に移る。
ステップ215は、複数のサブ・ステップを含む。第1に、ジョブ・スケジューラは、各辺、Edge(LEVEL_2,LEVEL_3)、Edge(LEVEL_3,LEVEL_4)、またはEdge(LEVEL_4,LEVEL_5)の、リソースのスループットを表す個別の重みに、Tとして示される時間の係数を乗算する。第2に、ジョブ・スケジューラは、乗算の各結果を最も近い整数値に切り捨て、前記各辺の容量を調節する。第3に、ジョブ・スケジューラは、前記各辺の調節された容量を備えるフロー・ネットワークに対して一連の最大フロー計算を実行する。最大フロー計算の結果の最大フローが、Nとして示されるタスクの総数と等しければ、Nのタスクすべてが、時間T内で完了可能である。第4に、ジョブ・スケジューラは、フロー・ネットワークのパスから候補スケジュールを生成する。第5に、ジョブ・スケジューラは、Nのタスクすべてを同じく完了できる候補スケジュールを探し、最適スケジュールである、最小の時間値T*を備えるスケジュールを発見する。
本発明の一実施形態では、ジョブ・スケジューラは、エドモンズ・カープのアルゴリズムを用いて最大フローを計算する。同じ実施形態において、ジョブ・スケジューラは、二分検索を用いて最適スケジュールの候補スケジュールを探す。
本発明の一実施形態において、最適スケジュールを計算する時間の上限値は、タスクの総数にプライマリ・ボリューム容量を乗算したもの、すなわち(N×容量プライマリ)であり、それに基づき、すべてのタスクが、個別のタスクのプライマリ・ボリューム上で実行可能である。本発明の別の実施形態では、最適スケジュールを計算する時間の上限は、タスクの総数にボリューム容量を乗算したのと等しい値の中の最大値、すなわち、MAXk=1..N(N×容量volume_k)であり、これは、タスク用に選択され得る任意のボリュームを一般化する。
ジョブ・スケジューラは、様々な技術を用いてステップ215を最適化し得る。第1の最適化技術は、タスク集約であり、この場合、LEVEL_1の各頂点が、個別のタスクではなくタスク・セットを表す。edge(LEVEL_1,LEVEL_2)およびedge(LEVEL_2,LEVEL_3)すべてを含むLEVEL_1〜LEVEL_3の個別の辺の容量は、タスク・セット内のタスクの数と等しい値にセットされる。LEVEL_2およびLEVEL_3の各ボリュームは、前記各ボリュームが、個別のタイム・スタンプの時間より前に変更されたすべてのファイルの最新のコピーを保持するよう、個別のタイム・スタンプを有する。タスク集約およびボリューム・タイムスタンプに関し、タスク・セットの数はボリュームの数と等しい。タスク・セットおよびボリュームの両方が、各タスク・セットを完了するための処理時間によって順序付けられる場合、第iのタスク・セットからは(j≦i)の第jのボリュームのみに対するマッピングがあり、iおよびjは正の整数である。タスク集約は、頂点および辺の数を減らすため、ジョブ・スケジューラがステップ215において最適スケジュールを計算するのに費やす時間がより短くなる。
ステップ215の第2の最適化は、最小数のワーカ・ボリューム・マッピングを備えるスケジュールが最適スケジュールとして選択される、最小コスト法である。最小時間値T*を得た後に、ジョブ・スケジューラが、最小コスト最大フロー・アルゴリズムを実行し、LEVEL_2のボリューム頂点に入ってくる辺それぞれが、コスト値を有する。結果として、ジョブ・スケジューラは、最小時間値T*および最小数のワーカ・ボリューム・マッピングの両方を満たす最適スケジュールを発見する。
ステップ220において、ジョブ・スケジューラは、展開のためにアーカイブ管理システムに初期スケジュールを提供する。図4のステップ220に応答して実行されるアーカイブ管理システムの動作に関しては、上記図3のステップ12〜16の説明を参照されたい。続いて、ジョブ・スケジューラはステップ225に移る。
ステップ225〜ステップ235を含むジョブ・スケジューラのループは、継続的な最適化のためにジョブ・スケジューラが作成する各スケジュールに関して実行される。
ステップ225において、ジョブ・スケジューラは、現在のスケジュールによって実行された動作の監視結果を受領する。現在のスケジュールとは、ループの第1の反復では、ステップ215において計算された初期スケジュールであり、ループの後の反復では、ステップ235において計算された調節済みスケジュールである。続いて、ジョブ・スケジューラはステップ230に移る。
ステップ230において、ジョブ・スケジューラは、ステップ225において受領された監視結果に従って現在のスケジュールを調節し、パフォーマンスを最適化する。続いて、ジョブ・スケジューラはステップ235に移る。
アーカイブ管理システムの挙動についての3つの基本的な前提に基づき静的かつ最適であるステップ215の初期スケジュールとは対照的に、ジョブ・スケジューラはステップ230において、ヒューリスティクスを利用し、現在のスケジュールの実際のパフォーマンス監視結果に従って現在のスケジュールを動的に最適化する。ジョブ・スケジューラは、タスク内のファイルのサイズなどのパフォーマンス監視データから得られたメトリックに基づき、タスクを実行するのに必要なリソースの量、タスクのスループットなどに関して、LEVEL_1の各タスクの特性を反映するために、個別の容量を前記各タスクに割り当てる。アーカイブ管理システムの過去の挙動を表す監視結果は、アーカイブ管理システムの将来の挙動を予測するには不十分であるため、ジョブ・スケジューラは、最適化にヒューリスティクスを用いる。
初期スケジュールを調節するループの第1の反復では、ジョブ・スケジューラは、静的である初期スケジュールを、アーカイブ管理システムの現在の状態に従って動作の動的なセットへと変換する。ジョブ・スケジューラは、タスクのグループを中央リポジトリに入れ、ワーカが利用可能なリソースを有するときに、オンデマンドで各タスクをスケジュールする。ワーカに割り当てられるグループ内のタスクは、所定のヒューリスティック・メトリック(heuristic metric)に従って順序付けられ、ワーカがタスクを実行するのに必要なリソースを得て新たなタスクを要求すると、最高のヒューリスティック・メトリックを備える第1のタスクがスケジュールされる。ヒューリスティック・メトリックの例は、特に、タスクの容量、タスクの出次数、総ボリューム負荷、最小ボリューム負荷などとされ得る。タスクの容量は、ファイル長を含むメトリックに従って動的または静的に計算される。タスクの出次数は、タスクの実行に用いることが可能なボリュームの数を示す。第1のタスクが第2のタスクよりも大きな出次数を有する場合、ジョブ・スケジューラが、第2のタスクよりも先に第1のタスクを選ぶ可能性がより高くなる。総ボリューム負荷は、タスクを処理し得るすべてのボリュームに対する累積負荷を示す。総ボリューム負荷は、フロー・ネットワークにおいてタスクと接続されているすべてのボリュームの入次数の合計と同じである。第1のタスクが第2のタスクよりも小さな総ボリューム負荷を有する場合、ジョブ・スケジューラが、第2のタスクよりも先に第1のタスクを選ぶ可能性がより高くなる。最小ボリューム負荷は、タスクを処理し得る、負荷が最小のボリュームに対する負荷を示す。最小ボリューム負荷は、フロー・ネットワークにおいてタスクと接続されているすべてのボリュームの最小入次数と同じである。第1のタスクが第2のタスクよりも小さな最小ボリューム負荷を有する場合、ジョブ・スケジューラが、第2のタスクよりも先に第1のタスクを選ぶ可能性がより高くなる。ヒューリスティック・メトリックおよびシステム・パフォーマンスは、システムからのフィードバックに従って動的に更新されることが可能である。
ステップ235において、ジョブ・スケジューラは、ステップ230からの調節済みスケジュールをアーカイブ管理システムに提供する。次にジョブ・スケジューラは、ステップ225に戻り、継続的かつ動的に、調節済みスケジュールのパフォーマンスを最適化する。
図5は、本発明の実施形態による、上記図4のステップ210においてジョブ・スケジューラによって実行される、コンテンツ・リソース分析モデルの実施形態としてのフロー・ネットワークを作成する方法を示すフローチャートである。
フロー・ネットワークは、各辺を通過するフローの量を制限する容量を各辺が有する、有向グラフとして定義される。フロー・ネットワークの頂点は、出ていくフローのみを有するソースと、入ってくるフローのみを有するシンクとを含む。ソースとシンクとの間の任意の頂点は、個別の入ってくるフローおよび出ていくフローを有する。フロー・ネットワークは、典型的には、道路交通システム、管内の流体、電気回路内の電流、ノードのネットワーク中のデータ・トラフィックの進行などをモデル化するために使用される。本発明の一実施形態では、エドモンズ・カープの最大フロー計算などの計算アルゴリズムをサポートする従来のグラフ・ライブラリが、フロー・ネットワーク・モデリングに利用される。従来のグラフ・ライブラリの例は、特に、Java(R)ユニバーサル・ネットワーク/グラフ(JUNG:Java Universal Network/Graph)フレームワーク、LEMONオープン・ソース・グラフ・ライブラリ、およびBoostグラフ・ライブラリ(BGL:Boost Graph Library)などとされ得る(Javaは、Sun Microsystems,Inc.の米国における登録商標である)。
ステップ305において、ジョブ・スケジューラは、上記図2の定義に従い、LEVEL_1〜LEVEL_6の個別の頂点定義の通りにフロー・ネットワーク・モデルの各レベルにおけるセットアップされた頂点を作成する。続いて、ジョブ・スケジューラはステップ310に移る。
ステップ310において、ジョブ・スケジューラは、個別の辺定義Edge(LEVEL_k,LEVEL_k+1)、k=1..5の通りに、LEVEL_kの頂点からLEVEL_k+1の頂点への有向辺を作成する。続いて、ジョブ・スケジューラはステップ315に移る。
ステップ315において、ジョブ・スケジューラは、Edge(LEVEL_k,LEVEL_k+1)、k=1..5それぞれの容量定義の通りに、ステップ310において作成されたすべての辺に対して個別の辺の容量を割り当てる。続いて、ジョブ・スケジューラはステップ320に移る。
ステップ320において、ジョブ・スケジューラは、LEVEL_1のタスクからLEVEL_6のワーカまで、フロー・ネットワーク内のパスを作成し、これは、LEVEL_1のタスクを、LEVEL_2およびLEVEL_3のボリューム、LEVEL_4およびLEVEL_5のサーバ、並びにLEVEL_6のワーカを用いて実行するためのジョブ・スケジュールを表す。
図6は、本発明の実施形態による、データ・アーカイブ管理スケジューリングを継続的に最適化するために使用されるコンピュータ・システム90を示す。
コンピュータ・システム90は、プロセッサ91、プロセッサ91に結合された入力デバイス92、プロセッサ91に結合された出力デバイス93、並びにプロセッサ91にそれぞれ結合されたメモリ・デバイス94および95を含むコンピュータ可読メモリ・ユニットを含む。入力デバイス92は、特に、キーボード、マウス、キーパッド、タッチ・スクリーン、音声認識デバイス、センサ、ネットワーク・インターフェイス・カード(NIC)、ボイス/ビデオ・オーバ・インターネット・プロトコル(VOIP)アダプタ、ワイヤレス・アダプタ、電話アダプタ、専用回線アダプタなどであってもよい。出力デバイス93は、特に、プリンタ、プロッタ、コンピュータ画面、磁気テープ、リムーバブル・ハード・ディスク、フレキシブル・ディスク、NIC、VOIPアダプタ、ワイヤレス・アダプタ、電話アダプタ、専用回線アダプタ、可聴信号若しくは視覚信号またはその両方のジェネレータ、発光ダイオード(LED)などであってもよい。メモリ・デバイス94および95は、特に、キャッシュ、ダイナミック・ランダム・アクセス・メモリ(DRAM)、読み取り専用メモリ(ROM)、ハード・ディスク、フレキシブル・ディスク、磁気テープ、コンパクト・ディスク(CD)またはデジタル・ビデオ・ディスク(DVD)などの光学式ストレージなどであってもよい。メモリ・デバイス95は、コンピュータ・コード97を含み、これは、コンピュータ実行可能命令を含むコンピュータ・プログラムである。コンピュータ・コード97は、特に、本発明に従ってデータ・アーカイブ管理スケジューリングを継続的に最適化するために使用されるアルゴリズムを含む。プロセッサ91は、コンピュータ・コード97を実行する。メモリ・デバイス94は、入力データ96を含む。入力データ96は、コンピュータ・コード97によって必要とされる入力を含む。出力デバイス93は、コンピュータ・コード97からの出力を表示する。メモリ・デバイス94および95のいずれかまたは両方(または図6に示されていない1つ以上のさらなるメモリ・デバイス)は、コンピュータ可読プログラムが具現化されている、若しくは他のデータが記憶されている、またはその両方のコンピュータ使用可能ストレージ媒体(またはコンピュータ可読ストレージ媒体若しくはプログラム・ストレージ・デバイス)として使用されてもよく、コンピュータ可読プログラムは、コンピュータ・コード97を含む。概して、コンピュータ・システム90のコンピュータ・プログラム製品(または代わりに製造品)は、前記コンピュータ使用可能ストレージ媒体(または前記プログラム・ストレージ・デバイス)を含むとよい。
本発明のコンポーネントはいずれも、本発明のデータ収集ルールの通りにウェブ・インターフェイスを動的に構築するプロセスに関してコンピューティング・インフラストラクチャを展開または統合することを提案するサービス・プロバイダによる、展開、管理、サービス提供などが可能である。したがって、本発明は、コンピュータ可読コードをコンピューティング・システム(例えばコンピューティング・システム90)に統合、ホスト、維持、および展開することを含む、コンピュータ・インフラストラクチャをサポートするプロセスを開示し、コードは、コンピューティング・システムとともに、データ・アーカイブ管理スケジューリングを継続的に最適化する方法を実行することができる。
別の実施形態では、本発明は、契約、宣伝、若しくは手数料、またはそのいずれかの組み合わせに基づき本発明のプロセス・ステップを実行するビジネス方法を提供する。すなわち、ソリューション・インテグレータなどのサービス・プロバイダは、本発明のデータ・アーカイブ管理スケジューリングを継続的に最適化するプロセスの、作成、維持、サポートなどを行うことを提案することができる。この場合、サービス・プロバイダは、1以上の顧客に対して本発明のプロセス・ステップを実行するコンピュータ・インフラストラクチャの作成、維持、サポートなどを行うことができる。見返りとして、サービス・プロバイダは、契約若しくは手数料の取り決め若しくはその両方に従って顧客(単数または複数)から支払いを受領すること、若しくは1つ以上のサード・パーティに対する宣伝コンテンツの販売からの支払いを受領すること、またはその両方を行うことができる。
図6は、コンピュータ・システム90を、ハードウェアおよびソフトウェアの特定の構成として示すが、当業者には周知であると考えられるハードウェアおよびソフトウェアの任意の構成が、図6の特定のコンピュータ・システム90と関連して上記に記載された目的のために利用され得る。例えば、メモリ・デバイス94および95は、独立したメモリ・デバイスではなく、単一のメモリ・デバイスの一部であってもよい。
当業者であれば当然のことであるが、本発明は、システム、方法またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本願明細書においてすべて概して「回路」、「モジュール」若しくは「システム」と呼ばれることもある、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとり得る。さらに、本発明は、任意の有形の表現媒体において具現化されたコンピュータ使用可能プログラム・コードを有する該媒体において具現化された、コンピュータ・プログラム製品の形態をとってもよい。
1つ以上のコンピュータ使用可能またはコンピュータ可読媒体(単数または複数)94、95の任意の組み合わせが利用され得る。コンピュータ使用可能媒体またはコンピュータ可読媒体という用語は、コンピュータ使用可能/可読ストレージ媒体94、95を集合的に指す。コンピュータ使用可能またはコンピュータ可読媒体94、95は、例えば、限定はされないが、電子、磁気、光学、電磁気、赤外線、若しくは半導体システム、装置、デバイス、または前述のものの任意の適切な組み合わせとすることもできる。コンピュータ可読媒体94、95のより具体的な例(包括的でないリスト)には、1つ以上のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光学式ストレージ・デバイス、磁気ストレージ・デバイス、または前述のものの任意の適切な組み合わせが含まれるであろう。なお、プログラムは、例えば紙または他の媒体の光学式走査により電子的に獲得され、続いて必要に応じコンパイル、解釈、または適切な方法により別の形で処理され、続いてコンピュータ・メモリに記憶されることが可能であるため、コンピュータ使用可能またはコンピュータ可読媒体94、95は、プログラムが印刷される紙または別の適切な媒体とすることさえもできる。この文書の文脈では、コンピュータ使用可能またはコンピュータ可読媒体94、95は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、または記憶することができる任意の媒体としてよい。
本発明の動作を実行するコンピュータ・コード97は、Java(R)、Smalltalk(R)、C++または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語若しくは同様のプログラミング言語などの従来の手続きプログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書かれていてよい。コンピュータ・コード97は、スタンド・アロン・ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されることも、部分的にユーザのコンピュータ上で実行されることも、または部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されることも、または完全にリモート・コンピュータ若しくはサーバ上で実行されることもできる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含む任意の種類のネットワークを介してリモート・コンピュータがユーザのコンピュータに接続されてもよく、または、(例えば、インターネット・サービス・プロバイダを使用しインターネットを介して)外部コンピュータに接続されてもよい。
本発明は、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図若しくはブロック図またはその両方を参照して記載されている。当然のことながら、フローチャート図若しくはブロック図またはその両方の各ブロック、およびフローチャート図若しくはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実装可能である。「コンピュータ・プログラム命令」という用語は、本明細書では「コンピュータ・コード97」という用語と置き換え可能である。マシンを生じるよう、当該コンピュータ・プログラム命令が、汎用コンピュータ、専用コンピュータ、またはその他のプログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他のプログラム可能データ処理装置のプロセッサにより実行されて、フローチャート若しくはブロック図またはその両方のブロック若しくは複数ブロックにおいて指定された機能/動作を実装する手段を作り出すようにすることもできる。
さらに、特定の形で機能するようコンピュータまたはその他のプログラム可能データ処理装置に指示することができる当該コンピュータ・プログラム命令は、コンピュータ可読媒体94、95に記憶されて、コンピュータ可読媒体に記憶されたこの命令が、フローチャート若しくはブロック図またはその両方のブロック若しくは複数ブロックにおいて指定された機能/動作を実装する命令手段を含む製品を生じるようにすることもできる。
さらに、コンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能データ処理装置にロードされて、コンピュータまたはその他のプログラム可能装置上で一連の動作ステップが実行されるようにしてコンピュータに実装されるプロセスを生じさせ、コンピュータまたはその他のプログラム可能装置上で実行される命令が、フローチャート若しくはブロック図またはその両方のブロック若しくは複数ブロックにおいて指定された機能/動作を実装するためのプロセスを提供するようにすることもできる。
各図面のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能性および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、指定の論理機能(単数または複数)を実装する1つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すこともできる。なお、さらに、いくつかの代わりの実装では、ブロック内に示されている機能が、図面に示されているのとは異なる順序で生じてもよい。例えば、関連する機能性次第で、連続して示されている2つのブロックが実際には事実上同時に実行されてもよく、または、各ブロックが逆順で実行されることがあってもよい。なお、さらに、ブロック図若しくはフローチャート図またはその両方の各ブロック、およびブロック図若しくはフローチャート図またはその両方の複数ブロックの組み合わせは、指定の機能若しくは動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令の組み合わせにより実装することができる。
特許請求の範囲のミーンズ・プラス・ファンクション構成要素またはステップ・プラス・ファンクション構成要素すべての対応する構造、材料、動作、および等価物は、明確に請求されている他の請求される構成要素とともに機能を実行する任意の構造、材料、または動作を含むものとする。本発明の記載は、例証および説明のために示されたものであるが、包括的であることも、開示された形態の発明に限定されることも目的としていない。当業者には、本発明の範囲から逸脱することのない、多数の変更および変形が明らかであろう。実施形態は、本発明の原理および実際の応用を最もよく説明して、当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態に関して、本発明を理解できるように選ばれ、記載された。

Claims (20)

  1. データ・アーカイブ管理スケジューリングを継続的に最適化する方法であって、
    ジョブ・スケジューラがタスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含む入力をアーカイブ管理システムから受領するステップと、
    前記受領された入力からフロー・ネットワークをモデル化するステップであって、前記アーカイブ管理システムのデータ・コンテンツ、ソフトウェア・プログラム、物理的デバイス、および通信容量を前記フロー・ネットワークが表すよう、かつ少なくとも1つのアーカイブ管理タスクのタスクから前記アーカイブ管理システムのワーカ・プログラムへの、前記フロー・ネットワークの最適パスが、前記ワーカ・プログラムが前記タスクを実行する最適初期スケジュールを表すよう、前記モデル化するステップと、
    コンピュータ・システムのプロセッサが、前記フロー・ネットワークにおける前記最適パスから前記最適初期スケジュールを計算するステップと、
    前記計算された最適初期スケジュールを、前記最適初期スケジュールを実行するために前記アーカイブ管理システムに転送するステップと、
    前記転送された最適初期スケジュールの動作の監視結果を、前記アーカイブ管理システムから受領するステップと、
    前記受領された監視結果に基づいて前記最適初期スケジュールを動的に調節する結果として、調節済みスケジュールを作成するステップと、
    前記調節済みスケジュールを実行するために、前記調節済みスケジュールを前記アーカイブ管理システムに転送するステップであって、その結果、前記アーカイブ管理システムは、前記転送された調節済みスケジュールの動作の新たな監視結果を生成する、前記ステップと、
    を含む方法。
  2. 前記方法は、
    前記アーカイブ管理システムのコンポーネントから前記入力を収集して、前記ジョブ・スケジューラに提供するステップと、
    前記計算された最適初期スケジュールを、前記計算された最適初期スケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領するステップと、
    データおよび制御が、実際の通信パスを介して転送されることができるよう、ユーザ・インターフェイスと、前記受領されたスケジュール上の構成要素リソースとの間に、前記実際の通信パスを作成するステップと、
    前記ワーカ・プログラムを実行する仮想マシンを展開し、続いて、前記受領されたスケジュールを前記展開された仮想マシン上で開始して前記タスクを実行することによって、前記受領されたスケジュールを実行するステップと、
    前記実行されたスケジュールの動作を監視することによって前記監視結果を生成して、前記監視結果を前記ジョブ・スケジューラに提供するステップと、
    前記調節済みスケジュールを、前記調節済みスケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領するステップと、
    をさらに含み、
    前記収集、前記計算された最適初期スケジュールの前記受領、前記実際の通信パスの前記作成、前記受領されたスケジュールの前記実行、前記生成、および前記調節済みスケジュールの前記受領は、前記アーカイブ管理システムによって実行される、請求項1に記載の方法。
  3. 前記フロー・ネットワークの前記モデル化は、
    LEVEL_0、LEVEL_1、LEVEL_2、LEVEL_3、LEVEL_4、LEVEL_5、LEVEL_6、およびLEVEL_7を含む8つのレベルに編成された頂点を作成するステップであって、
    LEVEL_0は、ソース頂点を含み、
    LEVEL_1は、前記少なくとも1つの前記アーカイブ管理タスクに関連する少なくとも1つのタスク頂点を含み、
    LEVEL_2は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なストレージ・デバイス・ボリュームに関連する少なくとも1つのボリューム頂点を含み、
    LEVEL_3は、LEVEL_2の前記少なくとも1つのボリューム頂点を含み、
    LEVEL_4は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なコンピューティング・サーバに関連する少なくとも1つのサーバ頂点を含み、
    LEVEL_5は、LEVEL_4の前記少なくとも1つのサーバ頂点を含み、
    LEVEL_6は、前記少なくとも1つの前記アーカイブ管理タスクを実行する少なくとも1つのワーカ・プログラムに関連する少なくとも1つのワーカ頂点を含み、
    LEVEL_7は、シンク頂点を含む、
    前記ステップと、
    EDGE_01、EDGE_12、EDGE_23、EDGE_34、EDGE_45、EDGE_56、およびEDGE_67を含む7つのタイプに編成された辺を作成するステップであって、
    第1のタイプEDGE_01は、LEVEL_0の前記ソース頂点からLEVEL_1の第1のタスク頂点へ向かう第1の辺を含み、前記第1の辺は、前記第1のタスク頂点に関連する第1のタスクが、前記ジョブ・スケジューラによってスケジュールされることを示し、
    第2のタイプEDGE_12は、LEVEL_1の前記第1のタスク頂点からLEVEL_2の第1のボリューム頂点へ向かう第2の辺を含み、前記第2の辺は、前記第1のボリューム頂点に関連する第1のストレージ・デバイス・ボリュームが、前記第1のタスクを実行するために必要な最新のデータを記憶していることを示し、
    第3のタイプEDGE_23は、LEVEL_2の前記第1のボリューム頂点からLEVEL_3の前記第1のボリューム頂点へ向かう第3の辺を含み、
    第4のタイプEDGE_34は、LEVEL_3の前記第1のボリューム頂点からLEVEL_4の第1のサーバ頂点へ向かう第4の辺を含み、前記第4の辺は、前記第1のサーバ頂点に関連する第1のコンピューティング・サーバが、前記第1のストレージ・デバイス・ボリュームに物理的に結合されていることを示し、
    第5のタイプEDGE_45は、LEVEL_4の前記第1のサーバ頂点からLEVEL_5の前記第1のサーバ頂点へ向かう第5の辺を含み、
    第6のタイプEDGE_56は、LEVEL_5の前記第1のサーバ頂点からLEVEL_6の第1のワーカ頂点へ向かう第6の辺を含み、前記第6の辺は、前記第1のサーバ頂点に関連する前記第1のコンピューティング・サーバが、前記第1のワーカ頂点に関連する第1のワーカ・プログラムをホストすることを示し、
    第7のタイプEDGE_67は、LEVEL_6の前記第1のワーカ頂点からLEVEL_7の前記シンク頂点へ向かう第7の辺を含み、前記第7の辺は、前記第1のワーカ・プログラムが、前記ジョブ・スケジューラによってスケジュールされた動作を完了することを示す、
    前記ステップと、
    前記作成された辺の重みを割り当てるステップであって、
    前記第1のタイプEDGE_01の前記第1の辺は、前記第1のタスクを実行するための時間単位と等しい第1の重みを有し、
    前記第2のタイプEDGE_12の前記第2の辺は、前記第1のタスクのボリューム使用と等しい第2の重みを有し、
    前記第3のタイプEDGE_23の前記第3の辺は、前記第1のストレージ・デバイス・ボリュームが同時にサポートできるタスクの数を示し前記第1のストレージ・デバイス・ボリュームのボリューム・スループットと等しい第3の重みを有し、
    前記第4のタイプEDGE_34の前記第4の辺は、前記第1のストレージ・デバイス・ボリュームと、前記第1のコンピューティング・サーバとの間の通信チャネルの容量と等しい第4の重みを有し、
    前記第5のタイプEDGE_45の前記第5の辺は、前記第1のコンピューティング・サーバの処理スループットと等しい第5の重みを有し、
    前記第6のタイプEDGE_56の前記第6の辺および前記第7のタイプEDGE_67の前記第7の辺はそれぞれ、前記アーカイブ管理システム内の極めて大きな数と等しい無限の重みを有する、
    前記ステップと、
    作成された辺に従って、前記ソース頂点から前記シンク頂点への少なくとも1つのパスを作成するステップであって、前記パス内の少なくとも1つのストレージ・デバイス・ボリュームおよび少なくとも1つのコンピューティング・サーバを用いて、前記パス内の少なくとも1つのワーカ・プログラムによって実行される、前記パス内のタスクに関する個別のジョブ・スケジュールを、前記作成された少なくとも1つのパスが表すよう、前記作成するステップであって、前記最適パスは、前記パス内の辺の重みの最小和を有するパスである、前記ステップと、
    を含む、請求項1または2に記載の方法。
  4. 前記最適初期スケジュールの前記計算は、
    前記第3のタイプEDGE_23、前記第4のタイプEDGE_34、および前記第5のタイプEDGE_45のすべての辺を含むリソース辺の個別の重みに時間の係数を乗算し、続いて、前記乗算された個別の重みを、それぞれ最も近い整数値に切り捨てる結果として、前記リソース辺の、時間を考慮した個別の重みを算出するステップと、
    前記リソース辺の、前記時間を考慮した個別の重みを備える前記フロー・ネットワークに対して一連の最大フロー計算を実行することによって、少なくとも1つの最大フローを得るステップと、
    前記得られた少なくとも1つの最大フローから、少なくとも1つの候補最大フローを選択するステップであって、前記少なくとも1つの候補最大フローは、前記フロー・ネットワークの前記少なくとも1つの最大フロー内のタスクの総数と等しい、前記ステップと、
    前記選択された少なくとも1つの候補最大フローを用いて、少なくとも1つの候補スケジュールを生成するステップと、
    前記少なくとも1つの候補スケジュールの中で、前記候補スケジュール内のすべての重みの最小和を備える候補スケジュールとして、前記最適初期スケジュールを選択するステップと、
    を含む、請求項3に記載の方法。
  5. 前記調節済みスケジュールの作成は、
    前記転送されたスケジュールの前記動作の前記受領された監視結果を分析するステップであって、前記受領された監視結果は、前記転送されたスケジュール内のリソースの個別の量、ファイルの個別のサイズ、およびタスクの個別のスループットを含む、前記ステップと、
    前記分析の結果を、所定のヒューリスティック・メトリックに適用するステップであって、前記所定のヒューリスティック・メトリックは、各タスクの容量、各タスクの出次数、総ボリューム負荷、および最小ボリューム負荷から成る群、並びにその組み合わせから選択される、前記ステップと、
    前記転送されたスケジュール内のタスクのスケジューリング順序を、前記適用の結果に基づき動的に調節することによって、前記転送されたスケジュールを最適化するステップと、
    を含む、先行するいずれかの請求項に記載の方法。
  6. コンピュータ可読ストレージ媒体において具現化されたコンピュータ可読プログラム・コードを有する前記コンピュータ可読ストレージ媒体
    を含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラム・コードは、データ・アーカイブ管理スケジューリングの継続的な最適化を実行する命令を含み、前記最適化は、
    ジョブ・スケジューラがタスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含む入力をアーカイブ管理システムから受領すること、
    前記受領された入力からフロー・ネットワークをモデル化することであって、前記アーカイブ管理システムのデータ・コンテンツ、ソフトウェア・プログラム、物理的デバイス、および通信容量を前記フロー・ネットワークが表すよう、かつ少なくとも1つのアーカイブ管理タスクのタスクから前記アーカイブ管理システムのワーカ・プログラムへの、前記フロー・ネットワークの最適パスが、前記ワーカ・プログラムが前記タスクを実行する最適初期スケジュールを表すよう、前記モデル化すること、
    前記フロー・ネットワークにおける前記最適パスから前記最適初期スケジュールを計算すること、
    前記計算された最適初期スケジュールを、前記最適初期スケジュールを実行するために前記アーカイブ管理システムに転送すること、
    前記転送された最適初期スケジュールの動作の監視結果を、前記アーカイブ管理システムから受領すること、
    前記受領された監視結果に基づいて前記最適初期スケジュールを動的に調節する結果として、調節済みスケジュールを作成すること、並びに
    前記調節済みスケジュールを実行するために、前記調節済みスケジュールを前記アーカイブ管理システムに転送することであって、その結果、前記アーカイブ管理システムは、前記転送された調節済みスケジュールの動作の新たな監視結果を生成する、前記転送すること、
    を含む、コンピュータ・プログラム製品。
  7. 前記最適化は、
    前記アーカイブ管理システムのコンポーネントから前記入力を収集して、前記ジョブ・スケジューラに提供すること、
    前記計算された最適初期スケジュールを、前記計算された最適初期スケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領すること、
    データおよび制御が、実際の通信パスを介して転送されることができるよう、ユーザ・インターフェイスと、前記受領されたスケジュール上の構成要素リソースとの間に、前記実際の通信パスを作成すること、
    前記ワーカ・プログラムを実行する仮想マシンを展開し、続いて、前記受領されたスケジュールを前記展開された仮想マシン上で開始して前記タスクを実行することによって、前記受領されたスケジュールを実行すること、
    前記実行されたスケジュールの動作を監視することによって前記監視結果を生成して、前記監視結果を前記ジョブ・スケジューラに提供すること、並びに
    前記調節済みスケジュールを、前記調節済みスケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領すること、
    をさらに含み、
    前記収集、前記計算された最適初期スケジュールの前記受領、前記実際の通信パスの前記作成、前記受領されたスケジュールの前記実行、前記生成、および前記調節済みスケジュールの前記受領は、前記アーカイブ管理システムによって実行される、請求項6に記載のコンピュータ・プログラム製品。
  8. 前記フロー・ネットワークの前記モデル化は、
    LEVEL_0、LEVEL_1、LEVEL_2、LEVEL_3、LEVEL_4、LEVEL_5、LEVEL_6、およびLEVEL_7を含む8つのレベルに編成された頂点を作成することであって、
    LEVEL_0は、ソース頂点を含み、
    LEVEL_1は、前記少なくとも1つの前記アーカイブ管理タスクに関連する少なくとも1つのタスク頂点を含み、
    LEVEL_2は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なストレージ・デバイス・ボリュームに関連する少なくとも1つのボリューム頂点を含み、
    LEVEL_3は、LEVEL_2の前記少なくとも1つのボリューム頂点を含み、
    LEVEL_4は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なコンピューティング・サーバに関連する少なくとも1つのサーバ頂点を含み、
    LEVEL_5は、LEVEL_4の前記少なくとも1つのサーバ頂点を含み、
    LEVEL_6は、前記少なくとも1つの前記アーカイブ管理タスクを実行する少なくとも1つのワーカ・プログラムに関連する少なくとも1つのワーカ頂点を含み、
    LEVEL_7は、シンク頂点を含む、
    前記作成すること、
    EDGE_01、EDGE_12、EDGE_23、EDGE_34、EDGE_45、EDGE_56、およびEDGE_67を含む7つのタイプに編成された辺を作成することであって、
    第1のタイプEDGE_01は、LEVEL_0の前記ソース頂点からLEVEL_1の第1のタスク頂点へ向かう第1の辺を含み、前記第1の辺は、前記第1のタスク頂点に関連する第1のタスクが、前記ジョブ・スケジューラによってスケジュールされることを示し、
    第2のタイプEDGE_12は、LEVEL_1の前記第1のタスク頂点からLEVEL_2の第1のボリューム頂点へ向かう第2の辺を含み、前記第2の辺は、前記第1のボリューム頂点に関連する第1のストレージ・デバイス・ボリュームが、前記第1のタスクを実行するために必要な最新のデータを記憶していることを示し、
    第3のタイプEDGE_23は、LEVEL_2の前記第1のボリューム頂点からLEVEL_3の前記第1のボリューム頂点へ向かう第3の辺を含み、
    第4のタイプEDGE_34は、LEVEL_3の前記第1のボリューム頂点からLEVEL_4の第1のサーバ頂点へ向かう第4の辺を含み、前記第4の辺は、前記第1のサーバ頂点に関連する第1のコンピューティング・サーバが、前記第1のストレージ・デバイス・ボリュームに物理的に結合されていることを示し、
    第5のタイプEDGE_45は、LEVEL_4の前記第1のサーバ頂点からLEVEL_5の前記第1のサーバ頂点へ向かう第5の辺を含み、
    第6のタイプEDGE_56は、LEVEL_5の前記第1のサーバ頂点からLEVEL_6の第1のワーカ頂点へ向かう第6の辺を含み、前記第6の辺は、前記第1のサーバ頂点に関連する前記第1のコンピューティング・サーバが、前記第1のワーカ頂点に関連する第1のワーカ・プログラムをホストすることを示し、
    第7のタイプEDGE_67は、LEVEL_6の前記第1のワーカ頂点からLEVEL_7の前記シンク頂点へ向かう第7の辺を含み、前記第7の辺は、前記第1のワーカ・プログラムが、前記ジョブ・スケジューラによってスケジュールされた動作を完了することを示す、
    前記作成すること、
    前記作成された辺の重みを割り当てることであって、
    前記第1のタイプEDGE_01の前記第1の辺は、前記第1のタスクを実行するための時間単位と等しい第1の重みを有し、
    前記第2のタイプEDGE_12の前記第2の辺は、前記第1のタスクのボリューム使用と等しい第2の重みを有し、
    前記第3のタイプEDGE_23の前記第3の辺は、前記第1のストレージ・デバイス・ボリュームが同時にサポートできるタスクの数を示し前記第1のストレージ・デバイス・ボリュームのボリューム・スループットと等しい第3の重みを有し、
    前記第4のタイプEDGE_34の前記第4の辺は、前記第1のストレージ・デバイス・ボリュームと、前記第1のコンピューティング・サーバとの間の通信チャネルの容量と等しい第4の重みを有し、
    前記第5のタイプEDGE_45の前記第5の辺は、前記第1のコンピューティング・サーバの処理スループットと等しい第5の重みを有し、
    前記第6のタイプEDGE_56の前記第6の辺および前記第7のタイプEDGE_67の前記第7の辺はそれぞれ、前記アーカイブ管理システム内の極めて大きな数と等しい無限の重みを有する、
    前記割り当てること、並びに
    作成された辺に従って、前記ソース頂点から前記シンク頂点への少なくとも1つのパスを作成することであって、前記パス内の少なくとも1つのストレージ・デバイス・ボリュームおよび少なくとも1つのコンピューティング・サーバを用いて、前記パス内の少なくとも1つのワーカ・プログラムによって実行される、前記パス内のタスクに関する個別のジョブ・スケジュールを、前記作成された少なくとも1つのパスが表すよう、前記作成することであって、前記最適パスは、前記パス内の辺の重みの最小和を有するパスである、前記作成すること、
    を含む、請求項6または7に記載のコンピュータ・プログラム製品。
  9. 前記最適初期スケジュールの前記計算は、
    前記第3のタイプEDGE_23、前記第4のタイプEDGE_34、および前記第5のタイプEDGE_45のすべての辺を含むリソース辺の個別の重みに時間の係数を乗算し、続いて、前記乗算された個別の重みを、それぞれ最も近い整数値に切り捨てる結果として、前記リソース辺の、時間を考慮した個別の重みを算出すること、
    前記リソース辺の、前記時間を考慮した個別の重みを備える前記フロー・ネットワークに対して一連の最大フロー計算を実行することによって、少なくとも1つの最大フローを得ること、
    前記得られた少なくとも1つの最大フローから、少なくとも1つの候補最大フローを選択することであって、前記少なくとも1つの候補最大フローは、前記フロー・ネットワークの前記少なくとも1つの最大フロー内のタスクの総数と等しい、前記選択すること、
    前記選択された少なくとも1つの候補最大フローを用いて、少なくとも1つの候補スケジュールを生成すること、並びに
    前記少なくとも1つの候補スケジュールの中で、前記候補スケジュール内のすべての重みの最小和を備える候補スケジュールとして、前記最適初期スケジュールを選択すること、
    を含む、請求項8に記載のコンピュータ・プログラム製品。
  10. 前記調節済みスケジュールの作成は、
    前記転送されたスケジュールの前記動作の前記受領された監視結果を分析することであって、前記受領された監視結果は、前記転送されたスケジュール内のリソースの個別の量、ファイルの個別のサイズ、およびタスクの個別のスループットを含む、前記分析すること、
    前記分析の結果を、所定のヒューリスティック・メトリックに適用することであって、前記所定のヒューリスティック・メトリックは、各タスクの容量、各タスクの出次数、総ボリューム負荷、および最小ボリューム負荷から成る群、並びにその組み合わせから選択される、前記適用すること、並びに
    前記転送されたスケジュール内のタスクのスケジューリング順序を、前記適用の結果に基づき動的に調節することによって、前記転送されたスケジュールを最適化すること、
    を含む、請求項6〜9のいずれかに記載のコンピュータ・プログラム製品。
  11. プロセッサと、前記プロセッサに結合されたコンピュータ可読メモリ・ユニットとを含むコンピュータ・システムであって、前記コンピュータ可読メモリ・ユニットは、前記プロセッサによって実行されるとデータ・アーカイブ管理スケジューリングを継続的に最適化する方法を実装する命令を含み、前記方法は、
    ジョブ・スケジューラがタスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含む入力をアーカイブ管理システムから受領するステップと、
    前記受領された入力からフロー・ネットワークをモデル化するステップであって、前記アーカイブ管理システムのデータ・コンテンツ、ソフトウェア・プログラム、物理的デバイス、および通信容量を前記フロー・ネットワークが表すよう、かつ少なくとも1つのアーカイブ管理タスクのタスクから前記アーカイブ管理システムのワーカ・プログラムへの、前記フロー・ネットワークの最適パスが、前記ワーカ・プログラムが前記タスクを実行する最適初期スケジュールを表すよう、前記モデル化するステップと、
    前記フロー・ネットワークにおける前記最適パスから前記最適初期スケジュールを計算するステップと、
    前記計算された最適初期スケジュールを、前記最適初期スケジュールを実行するために前記アーカイブ管理システムに転送するステップと、
    前記転送された最適初期スケジュールの動作の監視結果を、前記アーカイブ管理システムから受領するステップと、
    前記受領された監視結果に基づいて前記最適初期スケジュールを動的に調節する結果として、調節済みスケジュールを作成するステップと、
    前記調節済みスケジュールを実行するために、前記調節済みスケジュールを前記アーカイブ管理システムに転送するステップであって、その結果、前記アーカイブ管理システムは、前記転送された調節済みスケジュールの動作の新たな監視結果を生成する、前記ステップと、
    を含む、コンピュータ・システム。
  12. 前記方法は、
    前記アーカイブ管理システムのコンポーネントから前記入力を収集して、前記ジョブ・スケジューラに提供するステップと、
    前記計算された最適初期スケジュールを、前記計算された最適初期スケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領するステップと、
    データおよび制御が、実際の通信パスを介して転送されることができるよう、ユーザ・インターフェイスと、前記受領されたスケジュール上の構成要素リソースとの間に、前記実際の通信パスを作成するステップと、
    前記ワーカ・プログラムを実行する仮想マシンを展開し、続いて、前記受領されたスケジュールを前記展開された仮想マシン上で開始して前記タスクを実行することによって、前記受領されたスケジュールを実行するステップと、
    前記実行されたスケジュールの動作を監視することによって前記監視結果を生成して、前記監視結果を前記ジョブ・スケジューラに提供するステップと、
    前記調節済みスケジュールを、前記調節済みスケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領するステップと、
    をさらに含み、
    前記収集、前記計算された最適初期スケジュールの前記受領、前記実際の通信パスの前記作成、前記受領されたスケジュールの前記実行、前記生成、および前記調節済みスケジュールの前記受領は、前記アーカイブ管理システムによって実行される、請求項11に記載のコンピュータ・システム。
  13. 前記フロー・ネットワークの前記モデル化は、
    LEVEL_0、LEVEL_1、LEVEL_2、LEVEL_3、LEVEL_4、LEVEL_5、LEVEL_6、およびLEVEL_7を含む8つのレベルに編成された頂点を作成するステップであって、
    LEVEL_0は、ソース頂点を含み、
    LEVEL_1は、前記少なくとも1つの前記アーカイブ管理タスクに関連する少なくとも1つのタスク頂点を含み、
    LEVEL_2は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なストレージ・デバイス・ボリュームに関連する少なくとも1つのボリューム頂点を含み、
    LEVEL_3は、LEVEL_2の前記少なくとも1つのボリューム頂点を含み、
    LEVEL_4は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なコンピューティング・サーバに関連する少なくとも1つのサーバ頂点を含み、
    LEVEL_5は、LEVEL_4の前記少なくとも1つのサーバ頂点を含み、
    LEVEL_6は、前記少なくとも1つの前記アーカイブ管理タスクを実行する少なくとも1つのワーカ・プログラムに関連する少なくとも1つのワーカ頂点を含み、
    LEVEL_7は、シンク頂点を含む、
    前記ステップと、
    EDGE_01、EDGE_12、EDGE_23、EDGE_34、EDGE_45、EDGE_56、およびEDGE_67を含む7つのタイプに編成された辺を作成するステップであって、
    第1のタイプEDGE_01は、LEVEL_0の前記ソース頂点からLEVEL_1の第1のタスク頂点へ向かう第1の辺を含み、前記第1の辺は、前記第1のタスク頂点に関連する第1のタスクが、前記ジョブ・スケジューラによってスケジュールされることを示し、
    第2のタイプEDGE_12は、LEVEL_1の前記第1のタスク頂点からLEVEL_2の第1のボリューム頂点へ向かう第2の辺を含み、前記第2の辺は、前記第1のボリューム頂点に関連する第1のストレージ・デバイス・ボリュームが、前記第1のタスクを実行するために必要な最新のデータを記憶していることを示し、
    第3のタイプEDGE_23は、LEVEL_2の前記第1のボリューム頂点からLEVEL_3の前記第1のボリューム頂点へ向かう第3の辺を含み、
    第4のタイプEDGE_34は、LEVEL_3の前記第1のボリューム頂点からLEVEL_4の第1のサーバ頂点へ向かう第4の辺を含み、前記第4の辺は、前記第1のサーバ頂点に関連する第1のコンピューティング・サーバが、前記第1のストレージ・デバイス・ボリュームに物理的に結合されていることを示し、
    第5のタイプEDGE_45は、LEVEL_4の前記第1のサーバ頂点からLEVEL_5の前記第1のサーバ頂点へ向かう第5の辺を含み、
    第6のタイプEDGE_56は、LEVEL_5の前記第1のサーバ頂点からLEVEL_6の第1のワーカ頂点へ向かう第6の辺を含み、前記第6の辺は、前記第1のサーバ頂点に関連する前記第1のコンピューティング・サーバが、前記第1のワーカ頂点に関連する第1のワーカ・プログラムをホストすることを示し、
    第7のタイプEDGE_67は、LEVEL_6の前記第1のワーカ頂点からLEVEL_7の前記シンク頂点へ向かう第7の辺を含み、前記第7の辺は、前記第1のワーカ・プログラムが、前記ジョブ・スケジューラによってスケジュールされた動作を完了することを示す、
    前記ステップと、
    前記作成された辺の重みを割り当てるステップであって、
    前記第1のタイプEDGE_01の前記第1の辺は、前記第1のタスクを実行するための時間単位と等しい第1の重みを有し、
    前記第2のタイプEDGE_12の前記第2の辺は、前記第1のタスクのボリューム使用と等しい第2の重みを有し、
    前記第3のタイプEDGE_23の前記第3の辺は、前記第1のストレージ・デバイス・ボリュームが同時にサポートできるタスクの数を示し前記第1のストレージ・デバイス・ボリュームのボリューム・スループットと等しい第3の重みを有し、
    前記第4のタイプEDGE_34の前記第4の辺は、前記第1のストレージ・デバイス・ボリュームと、前記第1のコンピューティング・サーバとの間の通信チャネルの容量と等しい第4の重みを有し、
    前記第5のタイプEDGE_45の前記第5の辺は、前記第1のコンピューティング・サーバの処理スループットと等しい第5の重みを有し、
    前記第6のタイプEDGE_56の前記第6の辺および前記第7のタイプEDGE_67の前記第7の辺はそれぞれ、前記アーカイブ管理システム内の極めて大きな数と等しい無限の重みを有する、
    前記ステップと、
    作成された辺に従って、前記ソース頂点から前記シンク頂点への少なくとも1つのパスを作成するステップであって、前記パス内の少なくとも1つのストレージ・デバイス・ボリュームおよび少なくとも1つのコンピューティング・サーバを用いて、前記パス内の少なくとも1つのワーカ・プログラムによって実行される、前記パス内のタスクに関する個別のジョブ・スケジュールを、前記作成された少なくとも1つのパスが表すよう、前記作成するステップであって、前記最適パスは、前記パス内の辺の重みの最小和を有するパスである、前記ステップと、
    を含む、請求項11または12に記載のコンピュータ・システム。
  14. 前記最適初期スケジュールの前記計算は、
    前記第3のタイプEDGE_23、前記第4のタイプEDGE_34、および前記第5のタイプEDGE_45のすべての辺を含むリソース辺の個別の重みに時間の係数を乗算し、続いて、前記乗算された個別の重みを、それぞれ最も近い整数値に切り捨てる結果として、前記リソース辺の、時間を考慮した個別の重みを算出するステップと、
    前記リソース辺の、前記時間を考慮した個別の重みを備える前記フロー・ネットワークに対して一連の最大フロー計算を実行することによって、少なくとも1つの最大フローを得るステップと、
    前記得られた少なくとも1つの最大フローから、少なくとも1つの候補最大フローを選択するステップであって、前記少なくとも1つの候補最大フローは、前記フロー・ネットワークの前記少なくとも1つの最大フロー内のタスクの総数と等しい、前記ステップと、
    前記選択された少なくとも1つの候補最大フローを用いて、少なくとも1つの候補スケジュールを生成するステップと、
    前記少なくとも1つの候補スケジュールの中で、前記候補スケジュール内のすべての重みの最小和を備える候補スケジュールとして、前記最適初期スケジュールを選択するステップと、
    を含む、請求項13に記載のコンピュータ・システム。
  15. 前記調節済みスケジュールの作成は、
    前記転送されたスケジュールの前記動作の前記受領された監視結果を分析するステップであって、前記受領された監視結果は、前記転送されたスケジュール内のリソースの個別の量、ファイルの個別のサイズ、およびタスクの個別のスループットを含む、前記ステップと、
    前記分析の結果を、所定のヒューリスティック・メトリックに適用するステップであって、前記所定のヒューリスティック・メトリックは、各タスクの容量、各タスクの出次数、総ボリューム負荷、および最小ボリューム負荷から成る群、並びにその組み合わせから選択される、前記ステップと、
    前記転送されたスケジュール内のタスクのスケジューリング順序を、前記適用の結果に基づき動的に調節することによって、前記転送されたスケジュールを最適化するステップと、
    を含む、請求項11〜14のいずれかに記載のコンピュータ・システム。
  16. コンピュータ・インフラストラクチャをサポートするプロセスであって、前記プロセスは、コンピューティング・システムにおけるコンピュータ可読コードの作成、統合、ホスト、維持、および展開のうちの少なくとも1つに関して少なくとも1つのサポート・サービスを提供することを含み、前記コードは、前記コンピューティング・システムとともに、データ・アーカイブ管理スケジューリングを継続的に最適化する方法を実行することができ、前記方法は、
    ジョブ・スケジューラがタスク情報、レプリカ配置データ、インフラストラクチャ・トポロジ・データ、およびリソース・パフォーマンス・データを含む入力をアーカイブ管理システムから受領するステップと、
    前記受領された入力からフロー・ネットワークをモデル化するステップであって、前記アーカイブ管理システムのデータ・コンテンツ、ソフトウェア・プログラム、物理的デバイス、および通信容量を前記フロー・ネットワークが表すよう、かつ少なくとも1つのアーカイブ管理タスクのタスクから前記アーカイブ管理システムのワーカ・プログラムへの、前記フロー・ネットワークの最適パスが、前記ワーカ・プログラムが前記タスクを実行する最適初期スケジュールを表すよう、前記モデル化するステップと、
    前記フロー・ネットワークにおける前記最適パスから前記最適初期スケジュールを計算するステップと、
    前記計算された最適初期スケジュールを、前記最適初期スケジュールを実行するために前記アーカイブ管理システムに転送するステップと、
    前記転送された最適初期スケジュールの動作の監視結果を、前記アーカイブ管理システムから受領するステップと、
    前記受領された監視結果に基づいて前記最適初期スケジュールを動的に調節する結果として、調節済みスケジュールを作成するステップと、
    前記調節済みスケジュールを実行するために、前記調節済みスケジュールを前記アーカイブ管理システムに転送するステップであって、その結果、前記アーカイブ管理システムは、前記転送された調節済みスケジュールの動作の新たな監視結果を生成する、前記ステップと、
    を含む、プロセス。
  17. 前記方法は、
    前記アーカイブ管理システムのコンポーネントから前記入力を収集して、前記ジョブ・スケジューラに提供するステップと、
    前記計算された最適初期スケジュールを、前記計算された最適初期スケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領するステップと、
    データおよび制御が、実際の通信パスを介して転送されることができるよう、ユーザ・インターフェイスと、前記受領されたスケジュール上の構成要素リソースとの間に、前記実際の通信パスを作成するステップと、
    前記ワーカ・プログラムを実行する仮想マシンを展開し、続いて、前記受領されたスケジュールを前記展開された仮想マシン上で開始して前記タスクを実行することによって、前記受領されたスケジュールを実行するステップと、
    前記実行されたスケジュールの動作を監視することによって前記監視結果を生成して、前記監視結果を前記ジョブ・スケジューラに提供するステップと、
    前記調節済みスケジュールを、前記調節済みスケジュールの前記転送に応答して、前記ジョブ・スケジューラから受領するステップと、
    をさらに含み、
    前記収集、前記計算された最適初期スケジュールの前記受領、前記実際の通信パスの前記作成、前記受領されたスケジュールの前記実行、前記生成、および前記調節済みスケジュールの前記受領は、前記アーカイブ管理システムによって実行される、請求項16に記載のプロセス。
  18. 前記フロー・ネットワークの前記モデル化は、
    LEVEL_0、LEVEL_1、LEVEL_2、LEVEL_3、LEVEL_4、LEVEL_5、LEVEL_6、およびLEVEL_7を含む8つのレベルに編成された頂点を作成するステップであって、
    LEVEL_0は、ソース頂点を含み、
    LEVEL_1は、前記少なくとも1つの前記アーカイブ管理タスクに関連する少なくとも1つのタスク頂点を含み、
    LEVEL_2は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なストレージ・デバイス・ボリュームに関連する少なくとも1つのボリューム頂点を含み、
    LEVEL_3は、LEVEL_2の前記少なくとも1つのボリューム頂点を含み、
    LEVEL_4は、前記少なくとも1つの前記アーカイブ管理タスクを実行するために必要なコンピューティング・サーバに関連する少なくとも1つのサーバ頂点を含み、
    LEVEL_5は、LEVEL_4の前記少なくとも1つのサーバ頂点を含み、
    LEVEL_6は、前記少なくとも1つの前記アーカイブ管理タスクを実行する少なくとも1つのワーカ・プログラムに関連する少なくとも1つのワーカ頂点を含み、
    LEVEL_7は、シンク頂点を含む、
    前記ステップと、
    EDGE_01、EDGE_12、EDGE_23、EDGE_34、EDGE_45、EDGE_56、およびEDGE_67を含む7つのタイプに編成された辺を作成するステップであって、
    第1のタイプEDGE_01は、LEVEL_0の前記ソース頂点からLEVEL_1の第1のタスク頂点へ向かう第1の辺を含み、前記第1の辺は、前記第1のタスク頂点に関連する第1のタスクが、前記ジョブ・スケジューラによってスケジュールされることを示し、
    第2のタイプEDGE_12は、LEVEL_1の前記第1のタスク頂点からLEVEL_2の第1のボリューム頂点へ向かう第2の辺を含み、前記第2の辺は、前記第1のボリューム頂点に関連する第1のストレージ・デバイス・ボリュームが、前記第1のタスクを実行するために必要な最新のデータを記憶していることを示し、
    第3のタイプEDGE_23は、LEVEL_2の前記第1のボリューム頂点からLEVEL_3の前記第1のボリューム頂点へ向かう第3の辺を含み、
    第4のタイプEDGE_34は、LEVEL_3の前記第1のボリューム頂点からLEVEL_4の第1のサーバ頂点へ向かう第4の辺を含み、前記第4の辺は、前記第1のサーバ頂点に関連する第1のコンピューティング・サーバが、前記第1のストレージ・デバイス・ボリュームに物理的に結合されていることを示し、
    第5のタイプEDGE_45は、LEVEL_4の前記第1のサーバ頂点からLEVEL_5の前記第1のサーバ頂点へ向かう第5の辺を含み、
    第6のタイプEDGE_56は、LEVEL_5の前記第1のサーバ頂点からLEVEL_6の第1のワーカ頂点へ向かう第6の辺を含み、前記第6の辺は、前記第1のサーバ頂点に関連する前記第1のコンピューティング・サーバが、前記第1のワーカ頂点に関連する第1のワーカ・プログラムをホストすることを示し、
    第7のタイプEDGE_67は、LEVEL_6の前記第1のワーカ頂点からLEVEL_7の前記シンク頂点へ向かう第7の辺を含み、前記第7の辺は、前記第1のワーカ・プログラムが、前記ジョブ・スケジューラによってスケジュールされた動作を完了することを示す、
    前記ステップと、
    前記作成された辺の重みを割り当てるステップであって、
    前記第1のタイプEDGE_01の前記第1の辺は、前記第1のタスクを実行するための時間単位と等しい第1の重みを有し、
    前記第2のタイプEDGE_12の前記第2の辺は、前記第1のタスクのボリューム使用と等しい第2の重みを有し、
    前記第3のタイプEDGE_23の前記第3の辺は、前記第1のストレージ・デバイス・ボリュームが同時にサポートできるタスクの数を示し前記第1のストレージ・デバイス・ボリュームのボリューム・スループットと等しい第3の重みを有し、
    前記第4のタイプEDGE_34の前記第4の辺は、前記第1のストレージ・デバイス・ボリュームと、前記第1のコンピューティング・サーバとの間の通信チャネルの容量と等しい第4の重みを有し、
    前記第5のタイプEDGE_45の前記第5の辺は、前記第1のコンピューティング・サーバの処理スループットと等しい第5の重みを有し、
    前記第6のタイプEDGE_56の前記第6の辺および前記第7のタイプEDGE_67の前記第7の辺はそれぞれ、前記アーカイブ管理システム内の極めて大きな数と等しい無限の重みを有する、
    前記ステップと、
    作成された辺に従って、前記ソース頂点から前記シンク頂点への少なくとも1つのパスを作成するステップであって、前記パス内の少なくとも1つのストレージ・デバイス・ボリュームおよび少なくとも1つのコンピューティング・サーバを用いて、前記パス内の少なくとも1つのワーカ・プログラムによって実行される、前記パス内のタスクに関する個別のジョブ・スケジュールを、前記作成された少なくとも1つのパスが表すよう、前記作成するステップであって、前記最適パスは、前記パス内の辺の重みの最小和を有するパスである、前記ステップと、
    を含む、請求項16または17に記載のプロセス。
  19. 前記最適初期スケジュールの前記計算は、
    前記第3のタイプEDGE_23、前記第4のタイプEDGE_34、および前記第5のタイプEDGE_45のすべての辺を含むリソース辺の個別の重みに時間の係数を乗算し、続いて、前記乗算された個別の重みを、それぞれ最も近い整数値に切り捨てる結果として、前記リソース辺の、時間を考慮した個別の重みを算出するステップと、
    前記リソース辺の、前記時間を考慮した個別の重みを備える前記フロー・ネットワークに対して一連の最大フロー計算を実行することによって、少なくとも1つの最大フローを得るステップと、
    前記得られた少なくとも1つの最大フローから、少なくとも1つの候補最大フローを選択するステップであって、前記少なくとも1つの候補最大フローは、前記フロー・ネットワークの前記少なくとも1つの最大フロー内のタスクの総数と等しい、前記ステップと、
    前記選択された少なくとも1つの候補最大フローを用いて、少なくとも1つの候補スケジュールを生成するステップと、
    前記少なくとも1つの候補スケジュールの中で、前記候補スケジュール内のすべての重みの最小和を備える候補スケジュールとして、前記最適初期スケジュールを選択するステップと、
    を含む、請求項18に記載のプロセス。
  20. 前記調節済みスケジュールの作成は、
    前記転送されたスケジュールの前記動作の前記受領された監視結果を分析するステップであって、前記受領された監視結果は、前記転送されたスケジュール内のリソースの個別の量、ファイルの個別のサイズ、およびタスクの個別のスループットを含む、前記ステップと、
    前記分析の結果を、所定のヒューリスティック・メトリックに適用するステップであって、前記所定のヒューリスティック・メトリックは、各タスクの容量、各タスクの出次数、総ボリューム負荷、および最小ボリューム負荷から成る群、並びにその組み合わせから選択される、前記ステップと、
    前記転送されたスケジュール内のタスクのスケジューリング順序を、前記適用の結果に基づき動的に調節することによって、前記転送されたスケジュールを最適化するステップと、
    を含む、請求項16、17、18、または19に記載のプロセス。
JP2012541520A 2009-12-04 2010-12-03 アーカイブ管理スケジューリングの最適化 Active JP5779188B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/631,247 US8276148B2 (en) 2009-12-04 2009-12-04 Continuous optimization of archive management scheduling by use of integrated content-resource analytic model
US12/631,247 2009-12-04
PCT/EP2010/068840 WO2011067380A1 (en) 2009-12-04 2010-12-03 Optimization of archive management scheduling

Publications (2)

Publication Number Publication Date
JP2013513150A true JP2013513150A (ja) 2013-04-18
JP5779188B2 JP5779188B2 (ja) 2015-09-16

Family

ID=43663687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012541520A Active JP5779188B2 (ja) 2009-12-04 2010-12-03 アーカイブ管理スケジューリングの最適化

Country Status (7)

Country Link
US (4) US8276148B2 (ja)
JP (1) JP5779188B2 (ja)
CN (1) CN102770845B (ja)
DE (1) DE112010004062T5 (ja)
GB (1) GB2488727A (ja)
TW (1) TW201140450A (ja)
WO (1) WO2011067380A1 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11340988B2 (en) 2005-09-30 2022-05-24 Pure Storage, Inc. Generating integrity information in a vast storage system
US11080138B1 (en) 2010-04-26 2021-08-03 Pure Storage, Inc. Storing integrity information in a vast storage system
US10866754B2 (en) * 2010-04-26 2020-12-15 Pure Storage, Inc. Content archiving in a distributed storage network
US8276148B2 (en) 2009-12-04 2012-09-25 International Business Machines Corporation Continuous optimization of archive management scheduling by use of integrated content-resource analytic model
US8875143B2 (en) * 2009-12-31 2014-10-28 Bmc Software, Inc. Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
US10956292B1 (en) 2010-04-26 2021-03-23 Pure Storage, Inc. Utilizing integrity information for data retrieval in a vast storage system
US9292343B2 (en) * 2010-06-30 2016-03-22 Oracle International Corporation Method and system for performing deployment management
US8930954B2 (en) * 2010-08-10 2015-01-06 International Business Machines Corporation Scheduling parallel data tasks
US8707275B2 (en) 2010-09-14 2014-04-22 Microsoft Corporation Simulation environment for distributed programs
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US9075661B2 (en) * 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
WO2012060098A1 (ja) * 2010-11-05 2012-05-10 日本電気株式会社 情報処理装置
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8631280B2 (en) * 2011-01-19 2014-01-14 Oracle International Corporation Method of measuring and diagnosing misbehaviors of software components and resources
US9600523B2 (en) 2011-01-19 2017-03-21 Oracle International Corporation Efficient data collection mechanism in middleware runtime environment
US8600725B2 (en) 2011-01-19 2013-12-03 Oracle International Corporation System and method for providing a static model map of behaviors in a middleware system, for use in identifying system problems
US8892960B2 (en) 2011-01-19 2014-11-18 Oracle International Corporation System and method for determining causes of performance problems within middleware systems
US8627150B2 (en) 2011-01-19 2014-01-07 Oracle International Corporation System and method for using dependency in a dynamic model to relate performance problems in a complex middleware environment
US8856764B2 (en) * 2011-01-25 2014-10-07 International Business Machines Corporation Distributed static analysis of computer software applications
US20140040913A1 (en) * 2011-07-26 2014-02-06 Andreas Wuttke Job plan verification
US9128763B2 (en) * 2011-08-23 2015-09-08 Infosys Limited System and method for job scheduling optimization
US9053067B2 (en) 2011-09-30 2015-06-09 International Business Machines Corporation Distributed data scalable adaptive map-reduce framework
US8954575B2 (en) * 2012-05-23 2015-02-10 Vmware, Inc. Fabric distributed resource scheduling
US8943505B2 (en) * 2012-08-24 2015-01-27 National Instruments Corporation Hardware assisted real-time scheduler using memory monitoring
US8954529B2 (en) 2012-09-07 2015-02-10 Microsoft Corporation Smart data staging based on scheduling policy
US8819618B2 (en) * 2012-09-26 2014-08-26 The Mathworks, Inc. Behavior invariant optimization of maximum execution times for model simulation
TWI551109B (zh) * 2012-10-26 2016-09-21 鴻海精密工業股份有限公司 資料轉換設備的流量識別系統及方法
JP5961848B2 (ja) * 2012-11-27 2016-08-02 株式会社日立製作所 計画管理システム及び計画管理方法
US9438495B2 (en) * 2013-04-02 2016-09-06 Amazon Technologies, Inc. Visualization of resources in a data center
US9400718B2 (en) * 2013-08-02 2016-07-26 Sanovi Technologies Pvt. Ltd. Multi-tenant disaster recovery management system and method for intelligently and optimally allocating computing resources between multiple subscribers
US9372636B1 (en) * 2013-12-20 2016-06-21 Emc Corporation Tiered-storage design
US10310903B2 (en) * 2014-01-17 2019-06-04 Red Hat, Inc. Resilient scheduling of broker jobs for asynchronous tasks in a multi-tenant platform-as-a-service (PaaS) system
US20150206427A1 (en) * 2014-01-17 2015-07-23 International Business Machines Corporation Prediction of local and network-wide impact of non-recurrent events in transportation networks
US9292336B1 (en) * 2014-01-22 2016-03-22 Amazon Technologies, Inc. Systems and methods providing optimization data
US9678800B2 (en) * 2014-01-30 2017-06-13 International Business Machines Corporation Optimum design method for configuration of servers in a data center environment
US9582189B2 (en) 2014-04-25 2017-02-28 International Business Machines Corporation Dynamic tuning of memory in MapReduce systems
CN104615474B (zh) * 2014-09-02 2018-06-22 清华大学 用于粗粒度可重构处理器的编译优化方法
CN105491085B (zh) * 2014-09-16 2019-01-25 阿里巴巴集团控股有限公司 一种在线请求排队方法及装置
US9367344B2 (en) * 2014-10-08 2016-06-14 Cisco Technology, Inc. Optimized assignments and/or generation virtual machine for reducer tasks
US10101993B2 (en) * 2014-11-21 2018-10-16 Sap Se System and method for updating content without downtime
US9529676B1 (en) * 2014-12-31 2016-12-27 EMC IP Holding Company LLC Optimizing spare capacity and spare distribution
WO2016172031A1 (en) 2015-04-19 2016-10-27 Schlumberger Technology Corporation Well task scheduling
KR102449333B1 (ko) 2015-10-30 2022-10-04 삼성전자주식회사 메모리 시스템 및 그것의 읽기 요청 관리 방법
TWI734719B (zh) 2015-12-04 2021-08-01 德商百靈佳殷格翰國際股份有限公司 在腫瘤細胞中拮抗wnt信號傳遞之雙抗體結合部位(biparatopic)多肽
GB2564301B (en) * 2016-03-28 2022-01-05 Nec Corp Analysis device, analysis method, and program
US11544175B2 (en) * 2016-08-15 2023-01-03 Zerion Software, Inc Systems and methods for continuity of dataflow operations
US10078560B2 (en) * 2016-09-08 2018-09-18 International Business Machines Corporation Using run time and historical customer profiling and analytics to determine customer disaster recovery vs. production differences, and to enhance customer disaster recovery readiness and effectiveness
US11620163B2 (en) * 2016-10-05 2023-04-04 Telefonaktiebolaget Lm Ericsson (Publ) Controlling resource allocation in a data center by monitoring load on servers and network links
US10437633B1 (en) * 2016-12-30 2019-10-08 EMC IP Holding Company LLC Data storage system management with promotion of task-level resource identifiers to higher objects
US10514958B2 (en) * 2018-02-14 2019-12-24 Capital One Services, Llc Remotely managing execution of jobs in a cluster computing framework
US11315014B2 (en) * 2018-08-16 2022-04-26 EMC IP Holding Company LLC Workflow optimization
CN114785707B (zh) * 2022-05-16 2023-06-20 电子科技大学 一种层级大流协同监测方法
CN114968744B (zh) * 2022-06-07 2023-04-07 北京同创永益科技发展有限公司 一种基于金融行业容量管理预测分析ai算法的实现方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675786A (ja) * 1992-08-26 1994-03-18 Hitachi Ltd タスクスケジュリング方法
JP2006268509A (ja) * 2005-03-24 2006-10-05 Nomura Research Institute Ltd ジョブ設定装置およびジョブ設定方法
US20060288346A1 (en) * 2005-06-16 2006-12-21 Santos Cipriano A Job scheduling system and method
WO2008132924A1 (ja) * 2007-04-13 2008-11-06 Nec Corporation 仮想計算機システムおよびその最適化方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732123B1 (en) 1998-02-23 2004-05-04 International Business Machines Corporation Database recovery to any point in time in an online environment utilizing disaster recovery technology
US6460068B1 (en) * 1998-05-01 2002-10-01 International Business Machines Corporation Fractal process scheduler for testing applications in a distributed processing system
US6886047B2 (en) 1998-11-13 2005-04-26 Jp Morgan Chase Bank System and method for managing information retrievals for integrated digital and analog archives on a global basis
IT1316301B1 (it) * 2000-01-26 2003-04-10 Castelli Clino Trini Metodo e dispositivo per la catalogazione e la ricerca di informazione
US20040044585A1 (en) * 2000-08-15 2004-03-04 Hector Franco Customer service management system
US7237075B2 (en) 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
US7979301B1 (en) * 2002-09-03 2011-07-12 Hector Franco Online taxonomy for constructing customer service queries
US7222218B2 (en) * 2002-10-22 2007-05-22 Sun Microsystems, Inc. System and method for goal-based scheduling of blocks of code for concurrent execution
US7603664B2 (en) * 2002-10-22 2009-10-13 Sun Microsystems, Inc. System and method for marking software code
WO2004072796A2 (en) * 2003-02-05 2004-08-26 Arizona Board Of Regents Reconfigurable processing
US7246254B2 (en) 2003-07-16 2007-07-17 International Business Machines Corporation System and method for automatically and dynamically optimizing application data resources to meet business objectives
US7502859B2 (en) * 2003-09-19 2009-03-10 Panasonic Corporation Dynamic resource management for distributed retrieval system for security
US7469143B2 (en) * 2003-10-07 2008-12-23 Microsoft Corporation Model and method for computing performance bounds in multi-hop wireless networks
US7793276B2 (en) * 2003-11-14 2010-09-07 Intel Corporation Apparatus and method for automatically parallelizing network applications through pipelining transformation
US7130707B2 (en) * 2003-12-18 2006-10-31 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for manufacturing planning and control
ATE457493T1 (de) 2004-01-09 2010-02-15 T W Storage Inc Verfahren und vorrichtung zum durchsuchen von backup-daten auf der basis von inhalt und attributen
US8365181B2 (en) * 2004-07-12 2013-01-29 Hewlett-Packard Development Company, L.P. Method and system for guiding scheduling decisions in clusters of computers using dynamic job profiling
GB0427133D0 (en) * 2004-12-10 2005-01-12 British Telecomm Workflow scheduler
US20060265489A1 (en) 2005-02-01 2006-11-23 Moore James F Disaster management using an enhanced syndication platform
CA2600236C (en) * 2005-03-28 2014-08-12 Wake Forest University Methods, systems, and computer program products for network firewall policy optimization
US20060274070A1 (en) * 2005-04-19 2006-12-07 Herman Daniel L Techniques and workflows for computer graphics animation system
US20070074217A1 (en) 2005-09-26 2007-03-29 Ryan Rakvic Scheduling optimizations for user-level threads
CN1897025B (zh) * 2006-04-27 2011-02-02 南京联创科技集团股份有限公司 海量数据处理中多线程工作包并行的etl技术
US7742906B2 (en) * 2007-03-06 2010-06-22 Hewlett-Packard Development Company, L.P. Balancing collections of vertices in a network
US8169974B2 (en) * 2007-04-13 2012-05-01 Hart Communication Foundation Suspending transmissions in a wireless network
US8028293B2 (en) * 2007-06-28 2011-09-27 Microsoft Corporation Optimal policies for load balancing for distributed and strategic agents (more technically, optimal coordination mechanisms for machine scheduling)
US8230070B2 (en) * 2007-11-09 2012-07-24 Manjrasoft Pty. Ltd. System and method for grid and cloud computing
US7870238B2 (en) * 2008-02-15 2011-01-11 !J Incorporated Vendor-independent network configuration tool
CN101414277B (zh) * 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
CN101452406B (zh) * 2008-12-23 2011-05-18 北京航空航天大学 一种对操作系统透明的机群负载平衡方法
US8239847B2 (en) * 2009-03-18 2012-08-07 Microsoft Corporation General distributed reduction for data parallel computing
US8490072B2 (en) * 2009-06-23 2013-07-16 International Business Machines Corporation Partitioning operator flow graphs
US8332862B2 (en) * 2009-09-16 2012-12-11 Microsoft Corporation Scheduling ready tasks by generating network flow graph using information receive from root task having affinities between ready task and computers for execution
US8276148B2 (en) 2009-12-04 2012-09-25 International Business Machines Corporation Continuous optimization of archive management scheduling by use of integrated content-resource analytic model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675786A (ja) * 1992-08-26 1994-03-18 Hitachi Ltd タスクスケジュリング方法
JP2006268509A (ja) * 2005-03-24 2006-10-05 Nomura Research Institute Ltd ジョブ設定装置およびジョブ設定方法
US20060288346A1 (en) * 2005-06-16 2006-12-21 Santos Cipriano A Job scheduling system and method
WO2008132924A1 (ja) * 2007-04-13 2008-11-06 Nec Corporation 仮想計算機システムおよびその最適化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAROLD S. STONE: "MULTIPROCESSOR SCHEDULING WITH THE AID OF NETWORK FLOW ALGORITHMS", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, vol. Volume SE-3, Issue 1, JPN6014046990, January 1977 (1977-01-01), pages 85 - 93, ISSN: 0003099889 *

Also Published As

Publication number Publication date
GB2488727A (en) 2012-09-05
WO2011067380A1 (en) 2011-06-09
US20110138391A1 (en) 2011-06-09
TW201140450A (en) 2011-11-16
US20150339160A1 (en) 2015-11-26
US8276148B2 (en) 2012-09-25
US20120304182A1 (en) 2012-11-29
US8527998B2 (en) 2013-09-03
CN102770845B (zh) 2015-02-25
CN102770845A (zh) 2012-11-07
US9158581B2 (en) 2015-10-13
JP5779188B2 (ja) 2015-09-16
US9910702B2 (en) 2018-03-06
GB201210842D0 (en) 2012-08-01
US20130298131A1 (en) 2013-11-07
DE112010004062T5 (de) 2012-10-25

Similar Documents

Publication Publication Date Title
JP5779188B2 (ja) アーカイブ管理スケジューリングの最適化
US11805076B2 (en) Microservice placement in hybrid multi-cloud using graph matching
US20190391744A1 (en) Automated selection of functions to reduce storage capacity based on performance requirements
AU2011312029B2 (en) Automatic replication of virtual machines
Bose et al. CloudSpider: Combining replication with scheduling for optimizing live migration of virtual machines across wide area networks
JP2018514018A (ja) リソース配置を最適化するための適時性リソース移行
CN107977254B (zh) 云数据系统中请求的响应方法和计算机可读存储介质
US10999160B2 (en) Monitoring dynamic quality of service based on changing user context
Sharkh et al. An evergreen cloud: Optimizing energy efficiency in heterogeneous cloud computing architectures
US20170033979A1 (en) Restoration of consistent regions within a streaming environment
Vaquero et al. Deploying large-scale datasets on-demand in the cloud: treats and tricks on data distribution
Wang et al. Virtual servers co-migration for mobile accesses: Online versus off-line
US11579982B2 (en) Calculating bandwidth requirements for a specified recovery point objective
EP3716544B1 (en) Utilizing segment routing data and network data to determine optimized network plans and to implement an optimized network plan
Sun et al. Modelling and evaluating a high serviceability fault tolerance strategy in cloud computing environments
Abase et al. Locality sim: cloud simulator with data locality
JP2023538941A (ja) コンテナ化された環境のインテリジェントバックアップ及び復元
Fernández-Cerero et al. Quality of cloud services determined by the dynamic management of scheduling models for complex heterogeneous workloads
TW201643755A (zh) 具有輕量級容器節點的儲存系統
US11811676B2 (en) Proactive auto-scaling
Hassannezhad Najjari et al. A systematic overview of live virtual machine migration methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141203

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141203

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20141203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150605

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150605

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150622

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150622

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150710

R150 Certificate of patent or registration of utility model

Ref document number: 5779188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250