JP2018501566A - ジョブ・スケジューリングおよび監視 - Google Patents

ジョブ・スケジューリングおよび監視 Download PDF

Info

Publication number
JP2018501566A
JP2018501566A JP2017532738A JP2017532738A JP2018501566A JP 2018501566 A JP2018501566 A JP 2018501566A JP 2017532738 A JP2017532738 A JP 2017532738A JP 2017532738 A JP2017532738 A JP 2017532738A JP 2018501566 A JP2018501566 A JP 2018501566A
Authority
JP
Japan
Prior art keywords
job
jobs
data
execution
failed
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
JP2017532738A
Other languages
English (en)
Other versions
JP7079091B2 (ja
JP2018501566A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2018501566A publication Critical patent/JP2018501566A/ja
Publication of JP2018501566A5 publication Critical patent/JP2018501566A5/ja
Application granted granted Critical
Publication of JP7079091B2 publication Critical patent/JP7079091B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

ユーザ・インタフェースを介して、データ変換ジョブのビューを提示することができる。続いて、ジョブ間におけるデータ依存性に基づいてジョブが選択された後に、関連ジョブを自動的に識別することができる。また、例えば、ジョブの成功および失敗実行を差別化できるように、実行ステータスも判定し提示することができる。更に、正常な実行に失敗したジョブ・ランの選択が、失敗した、または正常な実行に失敗すると予測された関連ジョブ・ランの識別をトリガすることができる。【選択図】図1

Description

[0001] 貴重な知見を収集するための膨大な量のデータ、即ち、いわゆるビッグ・データの処理は、最初にデータを変換しなければならない。データは、1つ以上のジョブの作成、スケジューリング、および実行によって、ビジネス・インテリジェンス・エンドポイントによる公開または消費のために、ダッシュボードのような使用可能な形態に変換される。このコンテキストでは、ジョブとは1つ以上の変換処理を含むデータに対する作業の単位である。通例、ジョブは、データ開発者、データ・アーキテクト、ビジネス・インテリジェンス・アーキテクト等によって手作業でコード化される。続いて、ジョブをスケジューリングし実行することができる。
[0002] 以下に紹介するのは、開示する主題の内いくつかの態様の基本的な理解を得るための簡略化した摘要である。この摘要は広範な全体像ではない。これは、主要な/必須のエレメントを特定することや、特許請求する主題の範囲を明確に定めることを意図するのでもない。その唯一の目的は、後に紹介する更に詳細な説明に対する序文として、いくつかの概念を単純化した形態で紹介することである。
[0003] 端的に説明すると、本開示はジョブ・スケジューリングおよび監視に関する。実行のためにジョブをスケジューリングすることができ、ユーザがジョブ・スケジュールおよび実行を視認して対話処理することを可能にする可視化を生成する(produce)ことができる。1つの態様によれば、ジョブの選択に応答して、1つ以上の関連ジョブを、データ依存性に基づいて自動的に決定することができる。続いて、選択されたジョブ、および関連ジョブを強調することができる。また、例えば、ジョブの成功および失敗した実行を区別できるように、実行ステータスも判定し提示することができる。更に、失敗したジョブ・ランの選択に応答して、1つ以上の関連失敗ジョブ・ラン、または失敗すると予測されたジョブ・ランを識別することができる。続いて、選択された失敗ジョブ・ラン、および関連失敗ジョブ・ラン、または失敗すると予測されたジョブ・ランを強調することができる。
[0004] 以上のおよび関係する目的に付随して、本明細書では、特許請求する主題のある種の例示的な態様について、以下の説明および添付図面に関係付けて説明する。これらの態様は、主題を実施できる種々の方法を示し、その全ては特許請求する主題の範囲内に該当することを意図している。他の利点および新規な特徴は、以下の詳細な説明を図面と合わせて検討することから明白になるであろう。
図1は、ジョブ・システムのブロック図である。 図2は、代表的なユーザ・インタフェース・コンポーネントのブロック図である。 図3は、代表的なスケジュール・コンポーネントのブロック図である。 図4は、代表的なスケジューラ・コンポーネントのブロック図である。 図5は、代表的な監視コンポーネントのブロック図である。 図6は、ジョブ先導(job driven)スケジューリングおよび監視のためのインタフェースの例証的なスクリーンショットである。 図7は、関連ジョブを区別するインタフェースの例証的なスクリーンショットである。 図8は、関連ジョブ失敗を区別するインタフェースの例証的なスクリーンショットである。 図9は、図解ビュー(diagram view)を生成し関連するジョブおよびデータを区別するインタフェースの例証的なスクリーンショットである。 図10は、データ先導スケジューリングおよび監視のためのインタフェースの例証的なスクリーンショットである。 図11はジョブ・システムのブロック図である。 図12は、ジョブをスケジューリングおよび監視する方法のフロー・チャート図である。 図13は、関連ジョブを区別する方法のフロー・チャート図である。 図14は、成功および失敗のジョブ実行を区別する方法のフロー・チャート図である。 図15は、スケジューリング・チェーンのトラブルシューティングを容易にする方法のフロー・チャート図である。 図16は、関連ジョブおよびデータ集合を区別するフロー・チャート図である。 図17は、ジョブのデータ先導(data driven)処理方法のフロー・チャート図である。 図18は、本開示の態様に適した動作環境を示す模式ブロック図である。
[0023] 以下の詳細は、全体的に、ジョブ・スケジューリングおよび監視に関する。ジョブは、少なくとも1つのデータ変換処理に対応する。1つ以上のジョブをディスプレイ上のインタフェースにおいて、例えば、ジョブ実行のスケジューリングおよび監視と併せて提示することができる。例えば、ジョブをタイムライン・ビュー上で提示し、いつジョブが実行されることになっているか、いつジョブが実行されたか、そしてジョブに対する実行時間の長さを示すことができる。ジョブを選択することができ、その後ジョブ間におけるデータ依存性に基づいて関連ジョブを自動的に識別し、ユーザに提示する。関連ジョブは、選択されたジョブに依存するジョブ、および/または選択されたジョブが依存するジョブを含むことができる。これは、ユーザがジョブ・スケジューリングに関する情報を効率的に取得し対話処理するのを補助する。データ依存性情報に加えて、実行ステータスも取り込み、実行したジョブおよび実行が成功すると予測されたジョブを、失敗したジョブまたは失敗すると予測されたジョブから差別(differentiate)することができる。更に、失敗したジョブ・ラン(job run)を選択することができ、その後、失敗した関連ジョブ・ラン、または失敗すると予測された関連ジョブ・ランを、データ依存性、ステータス、およびスケジュール情報に基づいて自動的に識別することができる。続いて、選択された失敗ジョブ・ラン、関連失敗ジョブ・ラン、または失敗すると予測されたジョブ・ランを強調することができる。その結果、スケジューリング・チェーンをトラブルシューティングする便利な方法が得られる。更に、追加のビューも少なくとも依存性データを活用することができる。例えば、ジョブまたはジョブ・パイプラインの図が依存性情報を使用して、選択ジョブによって利用されるジョブおよびデータ集合を含むジョブ系統、ならびにその選択ジョブに依存するジョブおよびデータ・ソースを識別することができる。これらおよびその他の態様は、少なくとも、ユーザが効率的にジョブ実行をスケジューリングおよび監視するときに補助し、更にエラーを低減する。
[0024] 本開示の種々の態様について、これより、添付図面を参照しながら更に詳しく説明する。図面では、同様の符号は全体的に同様のまたは対応するエレメントを指す。しかしながら、図面およびそれに関係する詳細な説明は、特許請求する主題を特定の開示される形態に限定することを意図するのではない。逆に、特許請求する主題の主旨および範囲に該当する全ての修正、均等、および代替物を包含することを意図している。
[0025] 最初に図1を参照すると、ジョブ・システム100が示されている。ジョブ・システム100は、データ変換処理(data transformation operation)を含むジョブのスケジューリング、実行、および監視手段を設ける。ジョブ・システムは、ユーザ・インタフェース・コンポーネント110、データ・ストア120、スケジューラ・コンポーネント130、実行コンポーネント140、および監視コンポーネント150を含む。ユーザ・インタフェース・コンポーネント110は、ユーザがジョブを視認し、指定し、制御することを可能にするように構成されている。1つの実例(one instance)では、ユーザ・インタフェース110はジョブまたはジョブ・パイプラインを定めるメカニズムを設けるように構成される。この定義の一部として、ジョブが依存する1つ以上のデータ集合、およびジョブによって生成された出力データ集合を含む、1つ以上の関係を指定することができる。データ依存性データを含むジョブをデータ・ストア120に保存することができる。データ・ストア120はコンピュータ読み取り可能記憶媒体である。スケジューラ・コンポーネント130は、ジョブに関して指定されたスケジュール、およびジョブ間の関係を尊重して、実行のためにジョブをスケジューリングするように構成されている。スケジュールは、表示のためにユーザ・インタフェースに供給することができ、ユーザはこのスケジュールと対話処理して、特定の情報を取得し、必要に応じて、スケジュールを修正することができる。スケジューラ・コンポーネント130は、実行コンポーネント140によるジョブ処理(job processing)を開始する。実行コンポーネント140は、ジョブをコンピュータ上で実行することを可能にするソフトウェアおよびハードウェア・リソースの集合体を含むことができる。ジョブ実行の結果は、データ・ストア120に格納することができる。更に、監視コンポーネント150は、実行コンポーネント140によるジョブ実行を監視することができる。例えば、監視コンポーネント150は、実行が失敗したかまたは成功であったかというようなジョブ・ステータスを識別することができる。加えて、監視コンポーネント150は、ジョブを処理することに関するコンピュータ・リソース利用度を取得することができる。監視コンポーネント150によって取得されたデータおよび情報は、データ・ストア120に格納し、提示のためにユーザ・インタフェース・コンポーネント110に利用可能にすることができる。
[0026] 図2は、代表的なユーザ・インタフェース・コンポーネント110を更に詳しく示す。ユーザ・インタフェース・コンポーネント110は、オーサ・コンポーネント210とスケジュール・コンポーネント220とを含む。オーサ・コンポーネント210は、ユーザが、ジョブと、1組の1つ以上の関連ジョブを含むパイプラインとを指定することを可能にするように構成され、第1ジョブの出力が、必要に応じて、第2ジョブに入力を供給する。実施形態によれば、オーサ・コンポーネント210は、図式的にジョブおよびパイプラインをオーサリングするためのインタラクティブ視覚作業空間またはキャンバスを提供することができる。例えば、データ集合を円筒形で表し、そのデータ集合を消費して修正データ集合を生成するジョブを表す立体に、矢印によって接続することができる。本質的に、ユーザはデータ集合とジョブとの間の関係の図を描くことができる。この結果、関係を理解し最終的にパイプラインを指定することに関して時間を節約する直観的な体験が得られる。他の態様によれば、オーサ・コンポーネント210をコード・エディタとして具体化することができ、プログラム・コードまたは1つ以上のダイアログ・ボックスを受け入れて、ジョブとジョブ間の関係とを指定する。スケジュール・コンポーネント220は、実行のためにジョブをスケジューリングし実行を監視することに関して、可視化を提示するように構成されている。
[0027] 図3に注意を向けると、明確化および理解を容易にするために、代表的なスケジュール・コンポーネント220が更に詳細に示されている。スケジュール・コンポーネント220は、ビュー・コンポーネント310、更新コンポーネント320、関連ジョブ・コンポーネント330、修正コンポーネント340、およびログ・コンポーネント350を含む。ビュー・コンポーネント310は、実行のためにスケジューリングされたジョブの内、少なくとも1つのビューを提示するように構成されている。1つの態様によれば、ビューは、実行時間によって順序付けられ、スケジューリングされた実行および完了した実行を含む、1組のジョブを可視化するタイムラインに対応することができる。また、このようなタイムラインは、ジョブ実行の長さを可視化することも可能にすることができる。
[0028] 更新コンポーネント320は、ビュー・コンポ310によって生成された可視化を更新する、またはジョブ実行に関して最新にするように構成されている。例えば、更新コンポーネント320は、実行され終えたジョブを反映するように、可視化を変更することができる。一実施形態では、更新コンポーネント320はビュー・コンポーネント310と相互作用して、現在の時刻を表すラインを含ませ、スケジューリングされているが実行されていないジョブをグレーに着色する、またはラインの後ろで操作対象から外す(gray out)ことができる。加えて、更新コンポーネント320は、実行に成功したジョブ、および失敗したジョブまたは失敗することが予測できるジョブを識別し、区別するために利用することができる。例えば、実行に成功したジョブを緑に着色することができ、一方失敗は赤でその意味を表す(signify)ことができる。
[0029] 特定の実施形態によれば、ビュー・コンポーネント310および更新コンポーネント320が協働して、タイムラインと、コンピュータ・リソース利用度の可視化とを含む分割ビューを提示することができる。第1部分では、スケジューリングされたジョブのタイムラインを、以上で説明したように提示することができる。第2部分では、例えば、第1部分の下に、グラフのような可視化を提示し、ジョブ実行と併せて利用されたリソースを表すことができる。この実例では、更新コンポーネント320は、リソース利用度およびジョブ実行に関するデータを取得し、それに応じてグラフを更新することができる。
[0030] 関連ジョブ・コンポーネント330は、ジョブ間の関係に基づいてジョブを区別するように構成されている。関係は、ジョブと、選択ジョブ(select job)が依存するデータ、または選択ジョブに依存するデータとを含むことができる。1つの実例では、選択されたジョブ(selected job)は、この選択されたジョブに関連するジョブを判定し、視覚的にこれらの関連ジョブを、ビュー・コンポーネント310によって行われる視覚化において区別し始めることができる。一例として、ジョブを選択する信号、または可視化におけるその表現を受け取った後、選択されたジョブに関連するジョブを、データ依存度に基づいて判定し、強調することができる。関連ジョブは、ジョブ間の関係を保存するデータ・ストア120から識別することができる。一実施形態によれば、ジョブを頂点として含み、データ集合を、ジョブ同士を接続する有向エッジとして含む有向グラフを保存することができる。関連ジョブを判定するために、このグラフを前方および後方に、選択されたジョブを表す頂点から横断することができ、前方への横断(例えば、選択されたジョブから下流側)で、ジョブ、および選択されたジョブに依存するデータ集合を取り込み、後方の横断(選択されたジョブから上流側)で、ジョブ、および選択されたジョブが依存するデータ集合を識別する。ジョブ・ラン(job run)、即ち、ジョブのインスタンスも、特性(characteristic)またはプロパティ(property)に基づいて区別することができる。例えば、ユーザが、実行を成功させるために、失敗したジョブ・ランを選択した場合、この失敗したまたは失敗すると予測された、選択されたジョブ・ランに関連する他のジョブ・ランを自動的に識別し、ビューにおいて強調することができる。このようなジョブ・ランは、ジョブ間のデータ依存性、ジョブに関連付けられたステータス(例えば、失敗、成功、...)、および実行スケジュールに関する情報に基づいて識別することができる。ここで、ジョブ・ランが失敗すると予測することができるのは、それが、正常な実行に失敗した(that has failed to execute successfully)ジョブ・ランに依存する場合である。
[0031] 修正コンポーネント340は、ジョブ・スケジューリングの修正を可能にするように構成されている。修正コンポーネント340は、ビュー・コンポーネント310と一緒に動作して、ジョブ実行スケジューリングの修正に関するユーザ入力を取得するように構成されている。例えば、修正コンポーネント340は、提示されているインタラクティブ・ビューに関してユーザから信号として受け取った、1つ以上のジェスチャに基づいて、実行のためにジョブの再スケジューリングを少なくとも開始することができる。非限定的な一例によれば、ユーザは、正常な実行に失敗したジョブのインスタンスを選択すること、および/または実行を再スケジューリングするために、右クリックまたはドラッグおよびドロップのような、何らかの追加のジェスチャを実行することができる。
[0032] ログ・コンポーネント350は、実行ログの取得および表示を可能にするように構成されている。一実施形態によれば、ログ・コンポーネント350は、重ね合わせ検索ペインまたはパネルによって、検索メカニズムを設けることができる。このシナリオでは、ユーザは検索を指定および提出し、実行ログに関する結果を受け取ることができる。他の実施形態によれば、ログ・コンポーネント350は例えば、特定のジョブ・ランの選択に基づいて、クエリーを自動的に生成および提出することができる。ログ・ファイル取得に関連付けられた特定のジェスチャに応答して、選択されたジョブ・ランに対応する結果を戻すことができる。このように、ユーザは失敗の通知から素早く、例えば、出発点(point of origin)に達することができる。あるイベントでは、実行ログをアクセス可能にすることにより、失敗の解明のようなトラブルシューティングが容易になる。
[0033] 図4は、特定の一実施態様による代表的なスケジューラ・コンポーネント130を示す。スケジューラ・コンポーネント130は、出力スライス選択コンポーネント410、依存性−期間判定コンポーネント420および依存性評価コンポーネント430、ならびに実行開始コンポーネント440を含む。このコンテキストでは、データ集合は、データ処理動作を取り込む(capture)ジョブまたはアクティビティによって生成または消費され、時間軸上におけるデータの集合体に対応する。具体的には、データ集合は、データ・スライスと呼ばれるデータ片(pieces)を時間期間と相関付ける。別の言い方をすると、データ集合は、データ・スライスの連続体で構成される。各データ・スライスは、特定のスライス長、ならびに開始時刻および終了時刻を有することができる。
[0034] 出力スライス選択コンポーネント410は、生成するデータ・スライスを決定するように構成されている。この決定は、アクティビティ期間におけるステータス、および動作ポリシーに基づく。各データ・スライスは、対応するデータの可用性を示すステータスを有することができる。ステータスは、多数の値を取ることができ、データが未だ生成されていないことを意味する「実行保留」(pending execution)、スライスが生成されつつあることを示す「進行中」、データを消費する準備ができていることを示す「準備完了」、およびデータを生成する1つ以上の試みが失敗したことを意味する「実行失敗」(failed execution)を含む。出力スライス選択コンポーネント410は、ジョブがその出力を生成する時間枠を指定するアクティブ期間内における「実行保留」ステータスのデータ・スライスを識別する。これらのデータ・スライスは、ステータスおよびアクティブ期間によって選別された(filter)データ・スライスに対するクエリーを実行することによって識別することができる。更に、出力スライス選択コンポーネント410は、更に、ポリシーに基づいて、スライスの実行、またはデータ・スライスの生成を指令することができる。実行保留ステータスのスライスを実際の経過時間(wall clock time)と比較し、何らかの順序で取り出すことができる。例えば、ポリシーは、例えば、いつステータスが「実行保留」に設定されたかに基づいて、最も古いスライスを最初に生成することまたは最も新しいスライスを最初に生成することを指示することができる。最終的に、出力スライス選択コンポーネント410は、生成する1つのスライス、出力スライスを識別する。
[0035] 依存性−期間判定コンポーネント420は、依存期間を判定するように構成されている。依存性期間とは、識別された出力スライスを生成しなければならない入力データのデータ時間範囲である。依存性期間は、ジョブに関して定められた依存性情報の一部である。例えば、ジョブが、第1ソースからの3時間にわたるデータに対して動作し、次いで第2ソースからの1時間にわたるデータに対して動作するようにジョブを指定することができる。したがって、全てのデータ集合が時間毎の(hourly)スケジュールを有する場合(例えば、スライスが1時間である)、第1ソースからの3時間のデータおよび第2ソースからの1時間のデータは、1時間の出力スライス・データを生成することが要求される。
[0036] 依存性評価コンポーネント430は、出力スライスの依存性が満たされているか否か判定するように構成されている。依存性評価コンポーネント430は、直前に判定された依存性期間内において入力データ・スライスを識別することができる。更に、各入力スライスのステータスを取得し、各スライスのステータスが「準備完了」であるか否か判定を行う。これが意味するのは、スライスが消費の準備ができているということである(例えば、スライスの生成に成功した、または外部に利用可能にされた)。依存性期間内の入力スライスが「準備完了」ステータスである場合、依存性が満たされていることになる。そうでない場合、依存性は満たされていない。
[0037] 実行開始コンポーネント440は、一旦依存性状態が満たされたなら、出力スライスを生成するためにジョブの実行を開始するように構成されている。言い換えると、実行コンポーネント140上でアクティビティ実行がトリガされ、選択された出力データ・スライスの生成が開始する。実行が開始された後、出力データ・スライスのステータスは「実行保留」から「進行中」に変わる。最終出力スライスの生成に成功した場合、出力ステータスを「準備完了」に設定することができる。これが意味するのは、スライスをその入力として消費する下流アクティビティがこの時点でこのスライスを使用できるということである。実行が失敗した場合、判定ポリシーに基づく回数だけ再試行することができる。この時間中、ステータスを「再指向」に設定することができ、これは直前の失敗および実行の再試行を意味する。続いて実行が成功しなかった場合、ステータスを「実行失敗」に設定することができる。更に、各実行をラン・レコード(run record)に記録することができる。ラン・レコードは、出力データ・スライスと関連付けられる。
[0038] スケジューラ・コンポーネント130の動作に関して更に明確化および理解を促進するために、いくつかの例証的なシナリオについて説明する。最初に、データ変換処理を含むジョブが1入力および1出力を有するというシナリオについて検討する。ここでは、実行は単純である。時間が経過するに連れて、現在のラン時刻前にステータスが「実行保留」であったデータ・スライスを取り上げ、依存性期間が準備完了である場合このデータ・スライスを生成する。次に、ジョブが1入力および複数の出力に関して処理する(operate)シナリオについて検討する。この場合、全ての出力からのデータ・スライスの連合体が、生成されるスライスのプールとして使用される。出力データ・スライスに対するステータスの変化は、全ての出力データ集合に起こる。実行の残りの部分は、直前の場合と変わらない。次に、複数の入力および複数の出力があるジョブについて検討する。この場合も、全ての出力からのデータ・スライスの連合体が、生成されるスライスのプールとして使用される。「実行保留」出力スライスが生成されるために、依存性期間を判定し、アクティブ期間内における全てのスライスが「準備完了」ステータスを有する場合、このジョブを実行して出力スライスを求める。出力データ・スライスに対するステータスの変化は、全ての出力データ集合に起こり、実行は最初のシナリオと同じである。
[0039] 図5は、代表的な監視コンポーネント150を更に詳しく図示する。監視コンポーネント150は、ステータス・コンポーネント510と実行記録コンポーネント520とを含む。ステータス・コンポーネント510は、ジョブのステータス、および/またはこれらが生成するデータを監視する。例えば、ステータス・コンポーネントは、ジョブ実行による出力データの生成が成功したか、またはジョブ実行が出力データを生成するのを失敗したか監視することができる。既に注記したように、実行の失敗または成功を、ユーザ・インタフェースを介して、ユーザに提示することができる。また、ステータス・コンポーネント510は、とりわけ、データを生成したジョブが、実行保留、進行中、または消費のために準備完了であるときを含む追加のステータス情報も監視することができる。実行記録コンポーネント520は、ジョブ実行中におけるコンピュータ・リソース利用度に関するデータを取得するように構成されている。1つの実例では、この情報は、オペレーティング・システムまたは同様の制御メカニズムによって要求され、取得することができる。リソース利用度は、その後、ユーザ・インタフェースによって、タイムラインと、このタイムラインと整列されたデータ利用度とを含む分割ビューを提示するために利用することができる。
[0040] 図6から図10は、ジョブ・スケジューリングおよび監視に関してユーザ・インタフェース・コンポーネント110によって生成される種々の可視化を示す例証的なスクリーンショットである。これらのスクリーンショットは、本開示の態様に関する明確化および理解を補助することを意図するのであり、特許請求する主題をこれらに限定することを意図するのではない。尚、提示するスクリーンショットは一実施態様を図示するに過ぎないことは認められよう。グラフィック・エレメントおよびテキストの種々の他の組み合わせおよび配列も可能であると考えられ、添付する請求項の範囲に該当することを意図している。更に、ジョブ・スケジューリングに関するユーザの理解を補助するために、可視化と併せて種々の音響も採用できることは理解されよう。一例として、そして限定ではなく、ジョブまたはデータの選択時に、あるいは実行失敗の検出時に、音を鳴らすことができる。
[0041] 図6は、ユーザ・インタフェース・コンポーネント110によって生成することができるインタフェース600のスクリーンショットである。図示のように、インタフェース600は、3つのパネル、即ち、ソース・パネル610、公開パネル(published panel)620、およびスケジュール・パネル630を含む。ソース・パネル610は、複数の利用可能なデータ集合を提示し、そこからソースを追加または削除することができる。尚、ソース・パネル610内に図示されるデータ集合は任意のデータ・ソースが可能であることは認められてしかるべきである。例えば、あるデータ集合をオンプレミス・データと関連付けることができ、一方他のデータ・ソースをネットワークまたはクラウド・データ・ストアと関連付けることができる。更に、データ集合は実質的にあらゆる構造またはフォーマットにすることができる。公開パネル620は、所望の変換が実行された後に、公開されたデータ・ソースまたは消費可能なデータ・ソースの視覚表現を示す(provide)。
[0042] スケジュール・パネル630は、ジョブ実行のスケジュール、および監視対象の実行結果(monitored results of execution)を可視化する。更に具体的には、スケジュール・パネル630は、ジョブの実行開始および終了時刻を含むガン・チャートとして表示されるタイムライン・ビュー640と、ジョブ実行と整列してリソース消費を表す線グラフを含むリソース利用度ビュー650とを含む分割ビューを提示する。このグラフに基づけば、ジョブ・スケジューリングを決定するのは容易である。例えば、ここでは、重複除去処理(remove duplicate operation)を実行する第1ジョブは、毎日実行するようにスケジューリングされ、条件付き分割(conditional split)を実行する第2ジョブは1日おきに実行するようにスケジューリングされる。尚、ライン660は実行に関して現在の時刻も表すことを注記しておく。このラインよりも前にあるジョブは、既に実行されたジョブであり、このライン上(over)にあるジョブは、今後のある時点における実行のためにスケジューリングされている。この区別を強調するために、スケジューリングされているが未だ実行されていない処理(operation)はグレーで図示されており、言い換えると、これらの処理は選択対象から除外されている。一旦これらが実行されると、その処理はもはや選択対象から除外されない。更に、ジョブ・ランに関する色の違いが、追加の情報を表すことができる。ここでは、例えば、黒く着色されたジョブは失敗した実行を示す。1つの態様によれば、ユーザは、黒く着色されたジョブ・ランを選択し、このジョブの実行を再スケジューリングすることができる。
[0043] 図7は、ユーザ・インタフェース・コンポーネント110によって生成することができるインタフェース700のスクリーンショットである。図6のインタフェース600と同様、インタフェース700は、前述のように、ソース・パネル610、公開パネル620、およびタイムライン・ビュー640とリソース利用度ビュー650とを含むスケジュール・パネル630を含む。しかしながら、インタフェース700は、ジョブの選択、および選択に関連するジョブの強調を示す。ここでは、第2ジョブ710は、条件付き分割を実行し、例えば、クリック、タッチ、または他のジェスチャによってユーザによって選択される。ジョブが選択された後、この選択されたジョブに関連するジョブが自動的に識別され、視覚的に他のジョブと異なって提示される。この例では、重複除去処理を実行する第1ジョブ712、販売データの消去(cleansing)を実行する第5ジョブ714、連合を実行する第7ジョブ716、およびソート処理を実行する第8ジョブ718が関連ジョブとして識別され、他のジョブに関して強調されている。具体的には、選択されたジョブ、および関連ジョブは白い背景と共に提示され、一方他の全ての関連のないジョブは選択対象から除外されている。関連ジョブは、選択されたジョブに依存するジョブ、および選択されたジョブが依存するジョブを含む。ここでは、第5ジョブ714、第7ジョブ716、および第8ジョブ718が、選択されたジョブに依存し、一方選択されたジョブは第1ジョブ712に依存する。これらの依存性は、ジョブの位置に基づいて識別することができ、選択されたジョブの後に提示されるジョブは、選択されたジョブに依存し、一方選択されたジョブの前に位置するジョブは、選択されたジョブが依存するジョブである。
[0044] 図8は、ジョブ・ラン失敗の選択に応答してユーザ・インタフェース・コンポーネント110によって提示することができるインタフェース800のスクリーンショットである。図7および図8のスクリーンショットと同様、インタフェース800は、既に論じたように、ソース・パネル610、公開パネル620、およびタイムライン・ビュー640とリソース利用度ビュー650とを含むスケジュール・パネル630を含む。また、インタフェース800は、正常な実行に失敗したジョブの特定のランの選択も示す。これは、べた塗りの黒で表現されている(capture)。ここでは、条件付き分割ジョブのランを810において示す。失敗したジョブ・ランを選択すると、この選択されたジョブ・ランが失敗した原因になった可能性がある他の関連失敗ジョブ・ラン、あるいは失敗した可能性があるまたは失敗すると予測された他のジョブ・ランを、選択されたジョブ・ランの失敗に基づいて識別する動作がトリガされる。これらの関連ジョブは、ジョブ間において記録された依存性、実行ステータス(例えば、失敗、成功)、およびスケジュールに基づいて識別することができる。820に示すように、依存性、ステータス、スケジュール情報の分析時に、810において記された、選択された「条件付き分割」ジョブ・ランの失敗のあり得る原因として、重複除去ジョブのランを識別することができる。更に、830に示すように、「販売変換消去」ジョブのランの失敗も、「条件付き分割」ジョブの失敗の結果として予測することができる。更にまた、840に記すように、「連合」ジョブのランの失敗は、「条件付き分割」ジョブおよび「販売変換消去」ジョブの一方または双方の失敗に基づいて予測することができる。同様に、850に示すように、「ソート」ジョブの失敗は、「条件付き分割」ジョブ、「データ変換消去」ジョブ、または「連合」ジョブの失敗に応じて予測することができる。インタフェース800は、選択された失敗ジョブ・ランおよび関連する失敗ジョブ・ランを、他のジョブ・ランから区別する。言い換えると、選択されたおよび関連失敗ジョブ・ランは強調される。ここでは、選択された失敗ジョブ・ランおよび関連失敗ジョブ・ラン以外の全てのジョブ・ランは、選択対象から除外される。勿論、とりわけ、逆、異なる色、異なる字体、異なるサイズも、差別化の目的で利用することができる。この便利なメカニズムは、ユーザがスケジューリング・チェーンをトラブルシュートするのを助ける。更にその上、失敗ジョブ・ランの1つに関する選択または他のジェスチャのときに、ジョブ実行に関連する実行ログまたはログ・ファイルの検索を可能にすることができるダイアログ検索ペインを提示することができる(図示せず)。このように、ユーザは素早く失敗の識別およびログ・ファイル内の開始点(point of origin)から移行することができる。更に、ユーザは、ジョブの失敗したランおよび実行の再スケジュールに関して、選択またはジェスチャを行うことができる。例えば、ユーザは、実行を再スケジュールするために、失敗ジョブ・ランをドラッグし他の時点にドロップすることができる。他の例として、ユーザは失敗ジョブ・ラン上で右クリックして、ユーザがジョブを再スケジューリングすることを可能にするダイアログ・ボックスを表示させる(bring up)ことができる。
[0045] 図9は、ユーザ・インタフェース・コンポーネント110によって生成することができるインタフェース900のスクリーンショットを示す。以前のスクリーンショットと同様、インタフェース900は、複数の利用可能なデータ集合を提示しそこからソースを追加または削除することを可能にするソース・パネル610と、所望の変換が実行された後に、公開または消費可能なデータ集合の視覚表現を示す公開パネル620とを含む。更に、インタフェース900は作業空間パネル910も含む。作業空間パネル910は、図によって、ジョブおよびパイプラインの視覚オーサリング(visual authoring)を可能にする。例えば、ユーザは、ソース・パネル610からデータ集合の視覚表現をドラッグおよびドロップすることによって、データ集合を取得することができる。次に、例えば、データ集合表現から、ジョブの立体表現まで矢印を描くことによって、このデータ集合を、以前にオーサリングしたジョブ(例えば、データ・プレビューによって自動的に作成され、および/または手作業でコード化される)に接続し、このデータ集合が入力を供給し、ジョブがこの入力を消費して1つ以上のデータ変換処理(operation)(例えば、ソート、グループ化、旋回、分割、フィルタリング...)を実行することを示すことができる。加えて、変換された出力の表現をジョブの表現に、作業空間上でリンクすることができる。その結果、データ・ソースから入力を受け取り、ジョブの1つ以上の変換処理(operation)の適用(application)を反映する新たなデータ・ソースを出力するジョブの図が表示される。インタフェース900は、このジョブ・オーサリング用の図解ビュー(diagram view)と、ジョブ・スケジューリングおよび監視用のタイムライン・ビューとの間における移行を可能にする。更に、この図解ビュー内において、スケジューリングおよび監視データを作業空間パネル910に提示することができる。920に示すように、「ソート」ジョブの表現は、スケジューリング・データとリソース利用度のグラフとを含む分割ビューを含む。更に、作業空間パネル910内に提示されたジョブ表現、またはタイムラインに関して以前に提示されたジョブ表現を選択する信号を受け取った後、関連ジョブおよびデータ集合を判定し強調する。ここでは、スクリーンショットは、930において「条件付き分割」ジョブの選択を表す。選択が受け取られた後、ジョブおよびデータに関して収集された依存性データを利用して、選択されたジョブが依存するジョブおよびデータ、ならびに選択されたジョブに依存するジョブおよびデータを識別することができる。言い換えると、上流および下流ジョブならびにデータを含むジョブ系統を判定し、続いて表示することができる。更に、関連データおよびジョブを、他のデータおよびジョブに関して、視覚的に区別するまたは強調することができる。ここでは、関連ジョブおよびデータを白に着色し、一方、他のデータおよびジョブをグレーに着色する、即ち、選択対象から外す。
[0046] 図10は、ユーザ・インタフェース・コンポーネント110によって生成することができるインタフェース1000のスクリーンショットを示す。図6のインタフェース600と同様、インタフェース1000は、複数の利用可能なデータ集合を提示しそこからソースを追加または削除することを可能にするソース・パネル610と、所望の変換が実行された後に、公開または消費可能なデータ集合の視覚表現を示す公開パネル620とを含む。また、インタフェース1000は、タイムライン・ビューとリソース利用度ビュー650とを含む分割ビューを含むスケジュール・パネル630も含む。しかしながら、ここでは、タイムライン・ビュー1020は、ジョブ実行についての処理時間ではなく、データ・スライス時間に関して提示されている。言い換えると、タイムライン・ビュー1020は、処理の時間ではなくデータの時間を示す。例えば、イベントに対して時間単位の処理(hourly processing)が実行されることになっているシナリオについて検討する。1時間分の(hour worth of)イベントを取り込むことによって処理が開始し、続いて、何らかの変換処理(operation)を実行する。更に具体的には、午前9時から午前10時までの1時間の処理は、午前10時15分に開始することができる。続いて、午前11時に何らかの集計を実行することができ、午後12時に他のデータとの併合が実行されてもよく、午後1時に結果が完成するのでもよい。つまり、タイムライン・ビュー1020は、ジョブを実行する(run)のにどの位かかるのかに関するジョブ実行時間ではなく、データの時間、およびある時間期間(例えば、1日、1週間等)にわたってそれがどのように処理されるかについてのビューを表示する(provide)。また、スケジュール・パネル630は、データ処理に関する現在の時刻を表すライン660も含む。このラインよりも前のデータは、既に生成されたデータを表し、このラインよりも後のデータは、今後のある時点における生成のためにスケジューリングされたデータを表す。この区別を強調するために、スケジューリングされているが未だ生成されていないデータをグレーで表す。即ち、言い換えると、その処理は選択対象から除外される。データが生成された後、このデータはもはや選択対象から外されない。更に、データに関する色の違いが、追加の情報を表すこともできる。例えば、黒く着色されたデータは、関連するデータの生成失敗を示す。1つの態様によれば、ユーザは、黒く着色されたデータを選択し、このデータを生成するための実行を再スケジューリングすることができる。図示しないが、データに関する色または他の視覚的特徴によって、とりわけ、「実行保留」、「準備完了」、「進行中」、および「失敗」のようなデータ・ステータスを含む、 他の情報を伝えることもできる。
[0047] 図11はジョブ・システム1100を表す。システム1100は、データ変換ジョブを含む入力を受け取り、このデータ変換ジョブのビューを生成する手段を設けるビュー生成手段1110を含む。ビューの生成には、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを採用することができる。ビューとは、データ変換ジョブを含むまたはこれに関連する可視化である。ビュー生成手段1110によって生成されたビューは、提示のためにディスプレイに供給することができる。1つの実例では、ビュー生成手段1110は、グラフィカル・ユーザ・インタフェースであること、またはその一部を形成することができる。一実施形態によれば、生成されたビューは、データ変換ジョブ、または1組の1つ以上の関連ジョブを含むジョブ・パイプラインの図であることができ、第1ジョブの出力が、必要に応じて、第2ジョブに入力を供給する。
[0048] 選択手段1120は、ビューにおいてジョブの選択を指示する信号を生成するメカニズムである。選択手段1120を実装するためには、ハードウェア、ソフトウェア、またはソフトウェアおよびハードウェアの組み合わせを利用することができる。ユーザは、入力メカニズムを使用してジョブを選択するまたそうでなければ特定することができ、選択手段1120はこの入力を受け取り、例えば、ユーザ入力の位置をビュー内におけるジョブの位置と比較することによって、選択されたジョブを特定することができる。種々の入力メカニズムがユーザによって使用することができ、タッチ・パッド、マウス、タッチ・スクリーン、カメラ、またはマイクロフォンを含むが、これらに限定されるのではない。
[0049] 関連ジョブ手段1130は、選択されたジョブに関連するジョブを自動的に識別するメカニズムを設ける。選択手段1120によって選択されたジョブが供給されると、関連ジョブ手段は、ジョブに関する依存性情報を受け取る、引き出す、あるいはそれ以外では入手するまたは取得することができる。続いて、関連ジョブ手段は、例えば、選択されたジョブを調べ、選択されたジョブに関連するジョブを識別することによって、関連ジョブを識別することができる。ここで、関連ジョブとは、選択されたジョブに依存するジョブ、または選択されたジョブが依存するジョブである。1つの態様によれば、依存性は、ジョブが依存する入力データおよびジョブによって生成された出力データを含むジョブ・データ依存性に関して取り込むことができる。一実施形態では、依存性データを有向グラフで表現することができる。有向グラフは、ジョブを頂点として含み、データ集合を、ジョブ同士を接続する有向エッジとして含む。関連ジョブを決定するためには、順方向または逆方向に、選択されたジョブを表す頂点からグラフを横断することができる。ここで、順方向に横断すると(例えば、選択されたジョブから下流側)、選択されたジョブに依存するジョブおよびデータ集合を取り込み、逆方向に横断すると(例えば、選択されたジョブから上流側)、選択されたジョブが依存するジョブおよびデータ集合を識別することになる。関連ジョブ手段1130は、関連ジョブ(およびデータ集合)を識別するために、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを、例えば、コンピュータ実行可能ソフトウェア・コンポーネントまたはファームウェアとして採用することができる。
[0050] ビュー更新手段1140は、ビューに変更を行うことを可能にするメカニズムである。1つの実例では、ビュー更新手段は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを含み、選択されたジョブ、1つ以上の関連ジョブ、および必要に応じて、関連データ集合を、関連ジョブ手段1130から直接、またはある場所(例えば、メモリ、ストレージ...)から間接的に受け取り、引き出し、あるいはそれ以外では入手しまたは取得し、選択されたジョブならびに関連ジョブおよびデータ・ソースを、ビュー内に提示された他のジョブおよびデータ・ソースから視覚的に区別する。言い換えると、ビュー更新手段1140は、選択されたジョブならびに関連ジョブおよびデータ・ソースをビュー内において強調することができる。
[0051] スケジューリング手段1150は、ジョブ実行に関するスケジューリング機能を設ける。ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせとして具体化され、スケジューリング手段1150は、1つ以上のジョブを受け取り、引き出し、あるいはそれ以外では入手しまたは取得し、ジョブの定義またはそれに関連しスケジューリング情報を提供する情報にしたがって、ジョブ実行のためのスケジュールを生成することができる。例えば、ジョブが毎日の実行を指令する(dictate)する場合、ジョブまたはジョブ・ランを毎日スケジューリングすることができる。同様に、ジョブが1日おきの実行を指定する場合、ジョブまたはジョブ・ランを1日おきにスケジューリングすることができる。勿論、スケジュールは、ジョブの入力データが利用可能になった後に実行のためにジョブをスケジューリングするように、種々のデータ依存性を考慮することができる。
[0052] スケジューリング手段1150は、ビュー生成手段に利用可能なスケジュールを作ることができる。これに応じて、ビュー生成手段は、スケジュールのビューを、スケジューリングされたジョブのタイムラインとして生成することができる。この実例では、選択手段1120は、スケジュールのタイムライン・ビューからジョブの選択を可能にすることができる。続いて、関連ジョブ手段は、選択されたジョブに関連するジョブを判定することができ、ビュー更新手段1140は、選択されたジョブおよび関連ジョブを強調するために、スケジュールのタイムライン・ビューを更新することができる。
[0053] 実行手段1160は、スケジューリング手段1150によって供給されたジョブ、またはそれ以外で処理可能(available)にされたジョブを実行する。実行手段1160は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを採用して、1つ以上の入力データ集合に対してデータ変換ジョブを実行し、このジョブによって指定されたデータ変換処理の適用を反映する1つ以上の出力データ集合を生成することができる。実行手段1160は、第1指定位置から入力データを読み出し、続いて出力データを第2指定位置に書き込むことができ、これらの位置はメモリまたは記憶デバイスの位置とすることができる。
[0054] 監視手段1170は、実行手段1160によるジョブの実行を監視するハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを含むメカニズムである。一実施形態によれば、監視手段1170は、ジョブが実行に成功したか、または正常な実行に失敗したか検出する、またそうでなければ判定することができる。これは、実行の成功または失敗に関する潜在的なメッセージ(potential message)を含む、実行手段1160の出力を監視することによって行うことができる。1つの実例では、監視手段1170は、ジョブの実行がスケジューリングされた通りに開始されたか否か、およびジョブの出力が、実行が成功したかまたは失敗したかに関して生成されたか否か判定することができる。他の実施形態では、監視手段1170はジョブ実行に関するリソース利用度を監視することができる。1つの実例では、監視手段1170に、プロセッサ、メモリ、ストレージ、およびネットワークの利用度を含むリソースを直接監視するメカニズムを実装することができる。代わりに、監視手段1170がこのような情報を要求して、オペレーティング・システム、あるいはリソース利用度を監視する他のシステムまたはコンポーネントから受け取ることもできる。
[0055] 監視手段1170は、取得したデータまたは情報を、ビューを生成するときに使用するために、ビュー生成手段1110に利用可能にすることができる。1つの実例では、ビュー生成手段1110は、スケジューリングされたジョブ・ランが成功したかまたは失敗したか、監視手段1170によって提供される情報に基づいて示す、スケジュールのタイムライン・ビューを生成することができる。この場合、選択手段1120が失敗した実行ラン(failed execution run)の選択を知らせるメカニズムを設けることができる。続いて、関連ジョブ手段1130が関連ジョブ・ランを識別し、更に特定すれば、失敗した関連ジョブ・ラン、または失敗することが予測できる関連ジョブ・ランを、失敗したジョブ・ランに対する依存性に基づいて識別することができる。一実施形態によれば、データ依存性情報に加えて、関連ジョブ手段は、とりわけ、ジョブが実行に成功したかまたは正常な実行に失敗したかを含む処理情報(operation information)を受け取ることができる。1つの実例では、この動作情報を依存性情報と共に格納することができる。あるいは、動作情報を別個に格納しアクセスすることもできる。ビュー更新手段1140は、続いて、選択された失敗ジョブ・ラン、および失敗した、または失敗すると予測された関連ジョブ・ランを強調することができる。加えて、ビュー生成手段1110は、監視手段1170によって提供されたリソース利用度情報の可視化を、ジョブ・ランと整列させて生成することができる。例えば、ビュー生成手段1110はリソース利用度を表す線グラフのようなグラフを生成する。
[0056] 前述のシステム、アーキテクチャ、環境等は、様々なコンポーネント間における相互作用に関して説明した。尚、このようなシステムおよびコンポーネントは、本明細書において指定されたコンポーネントまたはサブコンポーネント、指定されたコンポーネントまたはサブコンポーネントの一部、および/または追加のコンポーネントを含むことができることは認められてしかるべきである。また、サブコンポーネントは、親コンポーネント内に含まれるのではなく、通信可能に他のコンポーネントに結合されたコンポーネントとして実装することもできる。更にまた、1つ以上のコンポーネントおよび/またはサブコンポーネントを1つのコンポーネントに組み込んで、総合機能(aggregate functionality)を設けることもできる。システム、コンポーネント、および/またはサブコンポーネント間の通信は、プッシュ・モデルおよび/またはプル・モデルのいずれかにしたがって行うことができる。また、コンポーネントは、簡潔さのために本明細書では具体的に説明しなかったが当業者には知られている1つ以上の他のコンポーネントと相互作用することもできる。
[0057] 更に、以上で開示したシステムの種々の部分、および以下で開示する方法は、人工知能、機械学習、あるいは知識または規則ベース・コンポーネント、サブコンポーネント、プロセス、手段、方法、またはメカニズムを含む、あるいは採用することができる(例えば、ベクトル・マシン、ニューラル・ネットワーク、エキスパート・システム、ベイジアン信念ネットワーク(Bayesian belief networks)、ファジー理論、データ融合エンジン、クラシファイア...をサポートする)。このようなコンポーネントは、とりわけ、それらによって実行される一定のメカニズムまたはプロセスを自動化し、これらのシステムおよび方法の一部を更に効率的およびインテリジェントにするだけでなく、適応的にすることもできる。一例として、そして限定ではなく、スケジューラ・コンポーネント130およびユーザ・インタフェース110はこのようなメカニズムを採用して、以前の相互作用およびその他のコンテキスト情報に基づいて、それぞれ、ジョブ・スケジュールおよびデータ提示を決定または推論することができる。
[0058] 以上で説明した例証的なシステムを基にして、開示する主題にしたがって実装することができる方法は、図12から図17のフロー・チャートを参照すると一層良く認められよう。説明の簡素さのために、方法を一連のブロックとして示し説明するが、特許請求する主題は、ブロックの順序によって限定されないことは理解されそして認められよう。これは、ブロックの中には異なる順序で現れてもよいもの、および/または本明細書において図示および説明するブロック以外の他のブロックと同時に現れてもよいものもあるからである。更に、図示するブロック全てが、この後に説明する方法を実行するために必要という訳ではない。
[0059] 図12を参照すると、ジョブ・スケジューリングおよび監視方法1200が示されている。符号1210において、1組のジョブを受け取る。これらのジョブは、ジョブ毎に依存性を含み、少なくともジョブが依存するデータの識別と、そのジョブによって生成されたデータとを含む。言い換えると、各ジョブに関して指定されたデータ依存性を含む、1組のジョブを受け取る。符号1220において、依存性、ならびに各ジョブによって定められる実行時間および頻度に関する他の情報に基づいて、1組のジョブを処理するためのスケジュールを生成する。符号1230において、生成したスケジュールを表示する。1つの態様によれば、このスケジュールをガン・チャートで表示することができ、ジョブの実行開始および終了時刻、ならびにジョブによって生成されたデータを含む。符号1240において、スケジュールにしたがってジョブの処理、即ち、ジョブ・ランの実行(execution of a job run)を開始することができる。例えば、処理のためにジョブを実行コンポーネントに供給することができる。1250において、実行が開始されたジョブに関して、プロセスの成功または失敗を判定する。このような判定は、単に、実行コンポーネントからの実行ステータスに関する通知を受け入れることによって、あるいはメモリまたはディスクのような位置から実行ステータスを引き出すことによって行うことができる。符号1260において、ジョブ・ランの成功または失敗をスケジュールに関して表示する。例えば、ジョブ・ランの成功または失敗に関する明らかな指示を与えるために、実行に成功したジョブ・ランを緑で着色することができ、ジョブ・ランの失敗を赤で着色することができる。更に、ジョブの依存性に基づいて、このジョブが成功するまたは失敗すると予測し、それに応じて着色することもできる。
[0060] 図13は、関連ジョブを区別する方法1300を示す。符号1310において、スケジュールから1つ以上のジョブ・ランを含むジョブを選択する信号を受け取る。例えば、ジョブ上で左クリックするまたはタッチすることによって、例えば、「重複除去」というようなジョブを、実行のためにスケジューリングされた1つ以上のジョブおよびジョブ・ランを示すタイムライン・ビューから選択することができる。符号1320において、選択されたジョブに依存するジョブを識別する。符号1330において、選択されたジョブが依存するジョブを識別する。ジョブの識別は、依存性の分析に基づくことができる。一実施形態によれば、依存性を有向グラフとして表現することができる。有向グラフは、ジョブを頂点として、そしてデータ集合を、ジョブ同士を接続する有向エッジとして有する。この実例では、選択されたジョブをこのグラフ内において識別することができ、選択されたジョブに依存するジョブを識別するために、選択されたジョブから順方向に分析を進めることができ、選択されたジョブが依存するジョブを識別するために逆方向に分析を進めることができる。符号1340において、選択されたジョブおよび識別されたジョブを強調する。言い換えると、スケジュール上で、例えば、選択されたジョブおよび識別されたジョブを、表示されている他のジョブから視覚的に区別する。このように、ユーザは素早くジョブ間の関係を理解することができる。
[0061] 図14は、成功および失敗ジョブ実行を区別する方法1400を示す。符号1410において、ジョブ・ランの実行を開始する。ここで、ジョブ・ラン(job run)とは特定の時刻に実行する(run)ようにスケジューリングされている、ジョブのインスタンスのことである。符号1420において、実行が開始されたジョブ・ランの実行に依存するジョブ・ランを識別する。従属ジョブ・ランを識別するためには、依存性情報を利用することができる。例えば、依存性情報を有向グラフに記録することができる。有向グラフは、ジョブが頂点であり、データ集合が、ジョブ同士を接続する有向エッジとして接続される。実行が開始されたジョブは、グラフにおいて識別することができ、従属ジョブは、そのジョブからグラフを下に横断することによって識別することができる。続いて、従属ジョブのスケジューリングされたランを、スケジュールから、またはスケジューリングされたランがジョブ毎に記録されている場合はグラフから判定することができる。符号1430において、ジョブ・ランの実行に関して失敗があったか否かに関して判定を行う。失敗がなかった場合(「NO」)、本方法は1440に進み、成功した実行をそのジョブ・ランに対して記録する。1つの態様によれば、動作依存性情報を記録する。この動作依存性情報は、依存性情報に加えて、ジョブ・ステータスを含む。成功した実行は、これに関して保存することができるジョブ・ステータスである。次に、1450において、成功した実行を、実行したジョブに関して表示し、更に必要に応じて、従属ジョブに対して実行成功の予測として表示する。例えば、スケジュール上に表示されるジョブ・ランは緑で着色することができる。1430において、実行失敗が判定された場合(「YES」)、本方法は1460に進み、ここで実行失敗を記録する。失敗とは、先に注記したように、動作依存性情報を保存する(preserve)ことに関してセーブすることができるジョブ・ステータスである。次いで、本方法は1470に進み、例えば、スケジュール上に、実行したジョブに関する失敗の表示を示す。更に、実行したジョブに依存するジョブも、実行したジョブが失敗した場合、失敗する可能性が高い。したがって、従属ジョブ・ランは、失敗が予測されたことを示すように、表示することができる。例えば、実行したジョブ・ランおよび従属ジョブ・ランを赤で着色し、それぞれ、失敗および失敗の予測を示すことができる。
[0062] 図15は、スケジューリング・チェーンのトラブルシューティングを容易にする方法1500を示す。符号1510において、失敗したジョブ・ランまたは失敗すると予測されたジョブ・ランを選択する信号を受け取る。更に具体的には、ここでは、例えば、スケジュールに関して失敗が示される。例えば、スケジュールは複数のジョブを含むことができ、ジョブ毎に、ある時点での実行のためにジョブ・ランをスケジューリングする。更に、ジョブ・ラン毎に、既に実行されている場合には、ジョブ・ランが成功したまたは失敗したこと、あるいは未だ実行されていない場合には、成功または失敗すると予測されたことを記す視覚指示を与えることができる。この選択信号には、失敗を示すジョブ・ランの内の1つと関連付けることができ、例えば、ユーザがこのジョブ・ランの視覚表現をクリックまたはタッチしたときに生成することができる。符号1520において、失敗したまたは失敗すると予測された関連ジョブ・ランを識別する。関連ジョブ・ランは、選択されたジョブ・ランに依存するジョブ・ラン、および選択されたジョブ・ランが依存するジョブ・ランを含む。ジョブに関する依存性情報を分析することによって、関連ジョブを識別することができる。一例として、選択されたジョブを有向グラフにおいて識別することができる。有向グラフは、ジョブを頂点として含み、データ集合は、ジョブ同士を接続する有向エッジとして接続される。続いて、選択されたジョブからこのグラフを上流側に横断し、更に選択されたジョブから下流側に横断して、関連ジョブを識別することができる。一実施形態によれば、ジョブ・ランおよびステータスを、依存性情報と共に記録することができる。したがって、関連ジョブの識別時に、ジョブ・ランを識別することができ、失敗ステータスを含むものを、実際のまたは予測されたもののいずれも識別することができる。勿論、ジョブ・ランを含む何らかの情報を、スケジュールに関してセーブし、関連ジョブ・ランを判定するために利用することができる。符号1530において、選択されたジョブ・ランおよび関連ジョブ・ランを強調する。別の言い方をすると、選択されたジョブ・ランおよび関連するジョブ・ランを、他のジョブ・ランから視覚的に区別することができる。これは、ユーザに、トラブルシューティングのために、失敗および連鎖的な(cascading)失敗に集中させることができる。
[0063] 図16は、関連ジョブおよびデータ集合を区別する方法1600のフロー・チャート図である。符号1610において、ジョブ(またはデータ集合)を選択する信号を受け取る。例えば、ジョブおよびデータ集合のスケジュール・ビューまたは図解ビュー(diagrammatic view)においてユーザが1つ以上の所定のジェスチャによってジョブを選択したときに、信号を受け取ることができる。符号1620において、関連ジョブおよびデータ集合を識別する。実施形態によれば、ジョブおよびデータ集合に関する依存性情報をセーブして、1つまたは複数の選択されたジョブに依存するジョブおよびデータ集合(例えば、下流側)、ならびに選択されたジョブが依存するデータ集合(例えば、上流側)を含む、関連ジョブおよびデータ集合を識別するときに参照することができる。1つの実例では、有向グラフは、ジョブを頂点として、そしてデータ集合を、ジョブ同士を接続する有向エッジとして含むことができる。このグラフにおいて、選択されたジョブ(またはデータ集合)を識別することができ、このグラフを横断して、選択されたジョブに依存するジョブおよびデータ集合、ならびに選択されたジョブ(またはデータ集合)が依存するジョブおよびデータ集合を識別することができる。符号1630において、選択されたジョブ(またはデータ集合)ならびに関連ジョブおよびデータ集合を、視覚表示上で強調する。言い換えると、選択されたジョブおよび関連ジョブ、ならびにデータ集合を、他のジョブおよびデータ集合から視覚的に区別する。例えば、指定ジョブおよびデータ集合の図解ビューにおいて、関連ジョブおよびデータ集合の部分集合を視覚的に区別することができる。これは、多数のジョブおよびデータ集合ならびに複雑なパイプラインまたはチェーンが存在するときに、関係を理解するのに特に役立つ。
[0064] 図17は、ジョブのデータ先導処理(data driven processing)方法1700を示す。符号1710において、生成される出力データ・スライスを決定する。ここで、データ・スライスとは、これらが関連付けられる時間期間毎のデータ集合スライスにおけるデータ片(pieces of data)である。特定の一実施態様では、データ・スライスのステータスを分析することによって、出力データ・スライスを識別することができる。ステータスが「実行保留」等である場合、データ・スライスは、生成される出力データ・スライスであると判定することができる。符号1720において、出力データ・スライスを生成のために選択する。ここで、複数の生成される出力データ・スライス間からの選択は、ポリシーに基づくことができる。例えば、ジョブ実行についてのポリシーが、ステータスがいつ「実行保留」等に設定されたかに基づいて、最も古い出力データ・スライスを最初にまたは最も新しい出力データ・スライスを最初に生成のために選択することを指定することができる。符号1730において、依存性期間を判定する。依存性期間とは、出力データ・スライスを生成することを要求される入力データの時間範囲である。これは、出力データ・スライスを生成するジョブに関して定められた依存性情報に基づいて、選択出力データ・スライス(select output data slice)に対して決定することができる。例えば、ジョブが第1ソースからの3時間分のデータ、および第2ソースからの1時間分のデータにわたって処理する(operate)ことを指定することができる。したがって、全てのデータ集合が時間毎のスケジュールを有する(例えば、スライスが1時間である)場合、第1ソースからの3時間分のデータ、および第2ソースからの1時間分のデータは、1時間分の出力スライス・データを生成することが要求される。符号1740において、依存性期間内における全ての要求された入力データ・スライスの準備ができているか否か判定を行う。これは、入力データ・スライスのステータスについて問い合わせることによって判定することができる。入力データ・スライスの各々が「準備完了」のステータスを有し、データが消費の準備ができていることを意味する場合、本方法は符号1750に進むことができる。それ以外の場合、本方法はループして、入力データ・スライスが準備完了になるのを待ち続けることができる。符号1750において、選択された出力スライスを生成するジョブの実行をトリガまたは開始する符号1760において、出力スライスのステータスを設定することができる。データが生成されている間、ステータスを「進行中」に設定することができ、データ・スライスがジョブのために生成されていることを意味する。一旦実行が完了したなら(または実行に失敗したなら)、出力スライスを生成する試みが失敗した場合には、ステータスを「失敗」に変更することができ、生成する試みが成功し、データ・スライスが消費のための準備ができた場合には「準備完了」に変更することができる。符号1770において、実行に関する情報を記録する。例えば、出力スライスのステータスを、実行の開始および終了時間と共に記録することができる。このようなデータは、ジョブ実行の理解および制御を容易にするために、情報生成、およびユーザへの提示のための可視化に関して利用することができる。
[0065] 本開示は、ジョブ・スケジューリングおよび監視に関する種々のアクションを実行する、または実行するように構成された種々の製品およびプロセスをサポートする。以下に説明するのは、1つ以上の例証的な方法およびシステムである。
[0066] 方法は、ディスプレイ上のインタフェースにおいて、1つ以上のデータ変換ジョブのビューを提示するアクトと、インタフェースを介して、1つ以上のデータ変換ジョブから1つのジョブを選択する、ユーザからの第1信号を受け取るアクトと、ジョブ間におけるデータ依存性に基づいて、選択されたジョブに対する1つ以上の関連ジョブを自動的に判定するアクトと、選択されたジョブ、および1つ以上の関連ジョブを、1つ以上の他のジョブから視覚的に区別して提示するアクトとを含む。更に、この方法は、ディスプレイ上のインタフェースにおいて、実行のためにスケジューリングされた1つ以上のジョブを提示するアクトを含む。更に、この方法は、ディスプレイ上のインタフェースにおいて、1つ以上の既に実行されたジョブを提示するアクトを含む。更に、この方法は、ディスプレイ上のインタフェースにおいて、既に実行されたジョブを、スケジューリングされたジョブとは視覚的に区別して提示するアクトを含む。更に、この方法は、1つ以上のジョブの実行中に計算負荷を判定するアクトと、ディスプレイ上のインタフェースにおいて、1つ以上のジョブと整列させて計算負荷を提示するアクトを含む。更に、この方法は、ディスプレイ上のインタフェースにおいて、少なくとも1つのジョブが正常な実行に失敗したことの指示を提示するアクトを含む。更に、この方法は、正常な実行に失敗した少なくとも1つのジョブ・ランから1つを選択する第2信号を受け取るアクトと、選択されたジョブ・ランに関連付けられた関連ジョブ・ランの内、正常な実行に失敗した1つ以上、または正常な実行に失敗したジョブ・ランに対する依存性に基づいて失敗すると予測された1つ以上を自動的に判定するアクトと、ディスプレイ上のインタフェースにおいて、選択されたジョブ・ランと、1つ以上の関連ジョブ・ランとを強調するアクトとを含む。更に、この方法は、正常な実行に失敗した少なくとも1つのジョブから1つを選択する第2信号を受け取るアクトと、第2信号に応答して、少なくとも1つのジョブの実行を再スケジューリングするアクトとを含む。更に、この方法は、選択されたジョブおよび1つ以上の関連ジョブを、ジョブおよびデータ集合、ならびにこれらのジョブおよびデータ集合間の接続の表現を含む図(diagram)において提示するアクトを含む。
[0067] 方法は、以下のアクトを実行するために、メモリに格納されたコンピュータ実行可能命令を実行するように構成された少なくとも1つのプロセッサを使用するステップを含む。アクトは、グラフィカル・ユーザ・インタフェースを介してデータ変換ジョブの選択を検出するアクトと、ジョブの選択を検出したことに応答して、ジョブ間におけるデータ依存性に基づいて1つ以上の関連ジョブを自動的に判定するアクトと、グラフィカル・ユーザ・インタフェース上に表示された他のジョブとは視覚的に区別して、選択されたジョブおよび1つ以上の関連ジョブを提示するアクトとを含む。更に、この方法は、ジョブ実行と併せてコンピュータ・リソース利用度を監視するアクトと、1つ以上のそれぞれのジョブと整列させてリソース利用度の可視化を提示するアクトとを含む。更に、この方法は、ジョブ・ランの実行の成功または失敗を判定するアクトと、失敗した実行ランを成功した実行ランと区別して提示する(different from)アクトとを含む。更に、この方法は、正常な実行に失敗したジョブ・ランに関して受け取った信号に基づいて、ジョブ・ランの実行を再スケジューリングするアクトを含む。更に、この方法は、選択失敗ジョブ・ラン (select failed job run) および1つ以上の関連失敗ジョブ・ラン、または選択失敗ジョブ・ランを識別する信号を受け取った後に、失敗ジョブ・ランに対する依存性に基づいて、失敗すると予測されたランを強調するアクトを含む。更に、この方法は、ジョブおよびデータ集合、ならびにこれらのジョブおよびデータ集合間の接続の表現を含む図において、選択されたジョブおよび1つ以上の関連ジョブを提示するアクトを含む。
[0068] システムは、メモリに結合されたプロセッサであって、このメモリに格納された以下のコンピュータ実行可能コンポーネントを実行するように構成される、プロセッサを含む。ジョブによって指定された要件に基づいて実行のためにデータ変換ジョブをスケジューリングするように構成された第1コンポーネント。スケジュールにしたがってタイムライン図上にこのジョブを提示するように構成された第2コンポーネント。選択ジョブを識別する信号に応答して、選択ジョブに関連する1つ以上のジョブを、タイムライン図上においてデータ依存性に基づいて強調するように構成された第3コンポーネント。更に、第3コンポーネントは、選択ジョブに依存する1つ以上のジョブを強調するように構成される。更に、第3コンポーネントは、選択ジョブが依存する1つ以上のジョブを強調するように構成される。更に、このシステムは、ジョブ実行が成功かまたは失敗か検出するように構成された第4コンポーネントを含む。更に、このシステムは、タイムライン上における失敗ジョブ実行の表現の選択に応答して、失敗ジョブ実行に対する依存性に基づいて、関連失敗ジョブ実行または予測された失敗ジョブ実行を強調するように構成された第5コンポーネントを含む。
[0069] システムは、1組のデータ変換ジョブのビューを生成する手段と、1組のデータ変換ジョブからのジョブの選択、即ち、選択されたジョブを受け取る手段と、依存性情報に基づいて、選択されたジョブに対する1つ以上の関連ジョブを自動的に判定する手段と、ビューにおいて、選択されたジョブおよび1つ以上の関連ジョブを強調する手段とを含む。更に、このシステムは、1組のデータ変換ジョブの実行のためにスケジュールを生成する手段を含む。ビューを生成する手段は、スケジュールのビューを生成する。更に、このシステムは、スケジュールにしたがって1組のデータ変換ジョブの内1つを実行する手段を含む。更に、このシステムは、1組のデータ変換ジョブの内の1つのランの成功または失敗を検出する手段を含む。ビューを生成する手段は、ジョブ・ランの成功または失敗の識別を含むスケジュールのビューを生成する。選択を受け取る手段は、失敗ジョブ・ランの選択を受け取り、強調する手段は、失敗した、または失敗ランに対する依存性に基づいて失敗すると予測された1つ以上の関連ジョブ・ランを強調する。
[0070] 本開示の態様は、データ変換を対象とする、または、言い換えると、分析ツールによる今後の公開または消費のために使用可能な形態にデータを変える(place)ことを対象とする。更に特定すると、態様は、データ変換ジョブをスケジューリングおよび監視する技術的な問題を対象とする。この問題に取り組むために採用される技術的手段は、ユーザが選択したジョブに関連するジョブを判定することを含む。これらのジョブには、ジョブ依存性に基づいて、選択されたジョブに依存するジョブおよび/または選択されたジョブが依存するジョブを含む。ジョブの選択、ならびに選択されたジョブおよび判定された関連ジョブの強調は、グラフィカル・ユーザ・インタフェースと併せて実行され、グラフィカル・ユーザ・インタフェースは、ユーザがジョブ間の関係を理解しトラブルシューティングするときに補助する。その結果、技術的な効果は、ジョブ・スケジューリングおよびエラー低減に関してユーザ効率を高めることを含むが、これに限定されるのではない。
[0071] 「例証的な」(exemplary)という単語またはその種々の形態は、本明細書においては、例、実例、または例示として役割を果たすという意味で使用される。「例証的」であるとして本明細書において記載される態様または設計はいずれも、必ずしも他の態様や設計に対して好ましいとも有利であるとも解釈されない。更に、例は明確化および理解のために提示されるに過ぎず、特許請求する主題や本開示の関連部分をいかなる方法によっても限定または制限することは意図していない。尚、様々な範囲の無数の追加または代わりの例を提示することもできたが、簡潔さのために省略したことは認められよう。
[0072] 本明細書において使用する場合、「コンポーネント」および「システム」という用語、ならびにその種々の形態(例えば、複数のコンポーネント、複数のシステム、サブシステム...)は、コンピュータ関連エンティティを指すことを意図しており、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかである。例えば、コンポーネントは、プロセッサ上で実行するプロセス、プロセッサ、オブジェクト、インスタンス、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピュータであってもよいが、そうであることに限定されない。例示として、コンピュータ上で実行するアプリケーションおよびコンピュータの双方がコンポーネントであることが可能である。1つ以上のコンポーネントがプロセスおよび/または実行のスレッド内に常駐する(reside)ことができ、コンポーネントが1つのコンピュータ上に集中配置される(localize)こと、および/または2つ以上のコンピュータ間で分散されることが可能である。
[0073] 「または」(or)という接続詞は、本説明および添付する特許請求の範囲において使用する場合、別段指定されていないまたは文脈から明らかでないならば、排他的な「または」ではなく、内包的な「または」を意味することを意図している。言い換えると、「’X’または’Y’」は、「X」および「Y」のあらゆる内包的組み合わせ(permutation)を意味することを意図している。例えば、「’A’が’X’を採用する」、「’A’が’Y’を採用する」、または「’A’が’X’および’Y’双方を採用する」場合、「’A’が’X’または’Y’を採用する」が以上の実例のいずれの下においても満たされる。
[0074] 「含む」(includes)、「収容する」(contains)、「有する」(has)、「有している」(having)という用語、またはこれらの形態における異体が詳細な説明または特許請求の範囲において使用される限りにおいて、このような用語は、「含む」(comprising)という用語が請求項において移行性単語として使用されるときに「含む」が解釈されるときと同様に、包含的であることを意図している。
[0075] 特許請求する主題に対するコンテキストを与えるために、図18および以下の論述は、主題の種々の態様を実現することができる、適した環境の端的で全体的な説明を行うことを意図している。しかしながら、この適した環境は例に過ぎず、使用範囲や機能に関して限定を示唆することは全く意図していない。
[0076] 以上で開示したシステムおよび方法は、1つ以上のコンピュータ上で実行するプログラムのコンピュータ実行可能命令という一般的なコンテキストで説明することができるが、他のプログラム・モジュール等との組み合わせでも態様を実現できることは当業者には認められよう。一般に、プログラム・モジュールは、とりわけ、ルーチン、プログラム、コンポーネント、データ構造を含み、特定のタスクを実行する、および/または特定の抽象データ型を実装する。更に、以上のシステムおよび方法は、種々のコンピュータ・システム構成でも実施することができ、1つのプロセッサ、マルチプロセッサまたはマルチコア・プロセッサ・コンピュータ・システム、ミニコンピューティング・デバイス、メインフレーム・コンピュータ、更にはパーソナル・コンピュータ、ハンドヘルド・コンピューティング・デバイス(例えば、パーソナル・ディジタル・アシスタント(PDA)、電話機、腕時計...)、マイクロプロセッサ・ベースのまたはプログラマブル消費者用または産業用電子機器等が含まれることは、当業者には認められよう。また、分散型コンピューティング環境においても態様を実施することができ、タスクは、通信ネットワークを通じてリンクされたリモート処理デバイスによって実行される。しかしながら、特許請求する主題の全ての態様ではないにしても、その一部は、単体コンピュータ(stand-alone computer)上で実施することができる。分散型コンピューティング環境では、プログラム・モジュールは、ローカルまたはリモート・メモリ・デバイスの一方または双方に位置することができる。
[0077] 図18を参照すると、汎用コンピュータまたはコンピューティング・デバイス1802の例(例えば、デスクトップ、ラップトップ、タブレット、腕時計、サーバ、ハンドヘルド、プログラマブル消費者用または産業要電子機器、セットトップ・ボックス、ゲーム・システム、コンピュータ・ノード(compute node) ...)が示されている。コンピュータ1802は、1つ以上のプロセッサ1820、メモリ1830、システム・バス1840、大容量記憶デバイス(1つまたは複数)1850、および1つ以上のインタフェース・コンポーネント1870を含む。システム・バス1840は、通信可能に少なくとも以上のシステム構成要素を結合する。しかしながら、コンピュータ1802は、その最も簡単な形態では、メモリ1830に結合された1つ以上のプロセッサ1820を含むことができ、プロセッサ1820が、メモリ1830に格納されている種々のコンピュータ実行可能アクション、命令、および/またはコンポーネントを実行することは認められよう。
[0078] プロセッサ(1つまたは複数)1820は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)またはその他のプログラマブル・ロジック・デバイス、ディスクリート・ゲートまたはトランジスタ・ロジック、ディスクリート・ハードウェア・コンポーネント、あるいは本明細書において説明した機能を実行するように設計された、これらの任意の組み合わせによって実現することができる。汎用プロセッサとは、マイクロプロセッサでもよいが、代わりに、プロセッサは任意のプロセッサ、コントローラー、マイクロコントローラー、または状態機械でもよい。また、プロセッサ(1つまたは複数)1820は、コンピューティング・デバイスの組み合わせ、例えば、DSPおよびマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、マルチコア・プロセッサ、DSPコアと併せた1つ以上のマイクロプロセッサ、あるいは任意の他のこのような構成として実現することもできる。一実施形態では、プロセッサ(1つまたは複数)はグラフィクス・プロセッサであることが可能である。
[0079] コンピュータ1802は、コンピュータ1802の制御を容易にして特許請求する主題の1つ以上の態様を実現するために、種々のコンピュータ読み取り可能媒体を含む、またそうでなければこれと相互作用することができる。コンピュータ読み取り可能媒体は、コンピュータ1802によってアクセスすることができる入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性媒体、ならびにリムーバブルおよび非リムーバブル媒体を含む。コンピュータ読み取り可能媒体は、2つの全く異なる、そして相互に排他的な種類、即ち、コンピュータ記憶媒体および通信媒体を含むことができる。
[0080] コンピュータ記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のための任意の方法または技術で実現される。コンピュータ記憶媒体は、メモリ・デバイス(例えば、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、電子的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)...)、磁気記憶デバイス(例えば、ハード・ディスク、フロッピー・ディスク、カセット、テープ...)、光ディスク(例えば、コンパクト・ディスク(CD)、ディジタル・バーサタイル・ディスク(DVD)...)、およびソリッド・ステート・デバイス(例えば、ソリッド・ステート・ドライブ(SSD)、フラッシュ・メモリ・デバイス(例えば、カード、スティック、キー・ドライブ...)...)のような記憶デバイス、あるいは、送信または伝達するのではなく、コンピュータ1802によってアクセス可能な所望の情報を格納する任意のその他の同様の媒体を含む。したがって、コンピュータ記憶媒体は、変調データ信号、および通信媒体を含むものを除外する。
[0081] 通信媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波のような変調データ信号、またはその他の移送メカニズムに具体化し、任意の情報配信媒体を含む。「変調データ信号」という用語は、信号内に情報をエンコードするように、その特性の1つ以上が設定されたまたは変更された信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、ならびに音響、RF、赤外線、およびその他のワイヤレス媒体のようなワイヤレス媒体を含む。
[0082] メモリ1830および大容量記憶デバイス(1つまたは複数)1850は、コンピュータ読み取り可能記憶媒体の例である。コンピューティング・デバイスの正確な構成および種類に応じて、メモリ1830は揮発性(例えば、RAM)、不揮発性(例えば、ROM、フラッシュ・メモリ...)、またはこれら2つの何らかの組み合わせであってもよい。一例として、起動中のように、コンピュータ1802内部にあるエレメント間で情報を転送するための基本ルーチンを含む基本入力/出力システム(BIOS)は、不揮発性メモリに格納することができ、一方揮発性メモリは、とりわけ、プロセッサ(1つまたは複数)1820による処理を促進するために外部キャッシュ・メモリとして作用することができる。
[0083] 大容量記憶デバイス(1つまたは複数)1850は、メモリ1830と比較すると大容量のデータの格納のためのリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ記憶媒体を含む。例えば、大容量記憶デバイス(1つまたは複数)1850は、磁気または光ディスク・ドライブ、フロッピ・ディスク・ドライブ、フラッシュ・メモリ、ソリッド・ステート・ドライブ、またはメモリ・スティックのような1つ以上のデバイスを含むが、これらに限定されるのではない。
[0084] メモリ1830および大容量記憶デバイス(1つまたは複数)1850は、オペレーティング・システム1860、1つ以上のアプリケーション1862、1つ以上のプログラム・モジュール1864、およびデータ1866を含む、またはその中に格納しておくことができる。オペレーティング・システム1860は、コンピュータ1802のリソースを制御し割り当てるように動作する。アプリケーション1862は、システムおよびアプリケーション・ソフトウェアの一方または双方を含み、メモリ1830および/または大容量記憶デバイス(1つまたは複数)1850に格納されているプログラム・モジュール1864およびデータ1866を使用して(through)、オペレーティング・システム1860によるリソースの管理を利用し、1つ以上のアクションを実行することができる。したがって、アプリケーション1862は汎用コンピュータ1802を、それによって設けられるロジックにしたがって特殊機械に変換することができる。
[0085] 特許請求する主題の全部または一部は、開示した機能を実現するためにコンピュータを制御するソフトウェア、ファームウェア、ハードウェア、またはこれらの任意の組み合わせを生成する標準的なプログラミングおよび/または設計技法を使用して、実現することができる。一例としてそして限定ではなく、ジョブ・システム100またはその一部は、アプリケーション1862であること、またはその一部を形成することができ、メモリおよび/または大容量記憶デバイス(1つまたは複数)1850に格納されている1つ以上のモジュール1864およびデータ1866を含むことができ、その機能は、1つ以上のプロセッサ(1つまたは複数)1820によって実行されるときに実現することができる。
[0086] 特定の一実施形態によれば、プロセッサ(1つまたは複数)1820は、1つの集積回路基板上にハードウェアおよびソフトウェアの双方を含む、または言い換えると、集積する、システム・オン・チップ(SOC)または同様のアーキテクチャに対応することができる。ここで、プロセッサ(1つまたは複数)1820は、とりわけ、プロセッサ(1つまたは複数)1820およびメモリ1830に少なくとも類似する、1つ以上のプロセッサおよびメモリを含むことができる。従来のプロセッサは、最小量のハードウェアおよびソフトウェアを含み、外部ハードウェアおよびソフトウェアに大きく頼る。対照的に、プロセッサのSOC実施態様は、内部にハードウェアおよびソフトウェアを埋め込み、外部ハードウェアおよびソフトウェアには最低限頼ってまたは全く頼らずに、特定の機能を可能にするので、一層強力である。例えば、ジョブ・システム100および/または関連する機能を、SOCアーキテクチャのハードウェア内に埋め込むことができる。
[0087] また、コンピュータ1802は、1つ以上のインタフェース・コンポーネント1870も含む。インタフェース・コンポーネント1870は、通信可能にシステム・バス1840に結合され、コンピュータ1802との相互作用を容易にする。一例として、インタフェース・コンポーネント1870は、ポート(例えば、シリアル、パラレル、PCMCIA、USB、Fire Wire...)、またはインタフェース・カード(例えば、サウンド、ビデオ...)等とすることができる。一実施態様例では、インタフェース・コンポーネント1870は、例えば、1つ以上のジェスチャまたは音声入力によって、1つ以上の入力デバイス(例えば、マウスのようなポインティング・デバイス、トラックボール、スタイラス、タッチ・パッド、キーボード、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー、カメラ、他のコンピュータ...)を介して、ユーザがコマンドおよび情報をコンピュータ1802に入力することを可能にするユーザ入力/出力インタフェースとして具体化することができる。他の実施態様例では、インタフェース・コンポーネント1870は、とりわけ、ディスプレイ(例えば、LCD、LED、プラズマ...)、スピーカ、プリンタ、および/または他のコンピュータにデータを供給する出力周辺インタフェースとして具体化することができる。更にまたその上、インタフェース・コンポーネント1870は、有線またはワイヤレス通信リンクを介してというようにして、他のコンピューティング・デバイス(図示せず)との通信を可能にするネットワーク・インタフェースとして具体化することができる。
[0088] 以上で説明したものには、特許請求する主題の態様の例が含まれる。勿論、特許請求する主題を説明する目的のためにコンポーネントまたは方法の想起し得るあらゆる組み合わせを記載することは不可能であるが、開示した主題の多くの更に他の組み合わせや置換が可能であることは、当業者であれば認めることができよう。したがって、開示した主題は、添付した請求項の主旨および範囲に該当するあらゆるこのような変更、修正、および変形を包含することを意図している。

Claims (10)

  1. 方法であって、
    以下のアクトを実行するためにメモリに格納されたコンピュータ実行可能命令を実行するように構成された少なくとも1つのプロセッサを使用するステップを含み、前記アクトが、
    グラフィカル・ユーザ・インタフェースを介してデータ変換ジョブの選択を検出するアクトと、
    前記ジョブの選択を検出したことに応答して、ジョブ間におけるデータ依存性に基づいて1つ以上の関連ジョブを自動的に判定するアクトと、
    選択されたジョブおよび前記1つ以上の関連ジョブを、前記グラフィカル・ユーザ・インタフェース上に表示された他のジョブとは視覚的に区別して提示するアクトと、
    を含む、方法。
  2. 請求項1記載の方法であって、更に、
    ジョブ実行と併せてコンピュータ・リソース利用度を監視するアクトと、
    1つ以上のそれぞれのジョブと整列して、前記リソース利用度の可視化を提示するアクトと、
    を含む、方法。
  3. 請求項1記載の方法であって、更に、正常な実行に失敗したジョブ・ランに関して受け取った信号に基づいて、ジョブ・ランの実行を再スケジューリングするアクトを含む、方法。
  4. 請求項1記載の方法であって、更に、選択された失敗ジョブ・ランおよび1つ以上の関連失敗ジョブ・ラン、または前記選択失敗ジョブ・ランを識別する信号を受け取った後に、失敗ジョブ・ランに対する依存性に基づいて、失敗すると予測されたランを強調するアクトを含む、方法。
  5. 請求項1記載の方法であって、更に、ジョブとデータ集合、ならびに前記ジョブとデータ集合との間の接続の表現を含む図において、前記選択されたジョブおよび前記1つ以上の関連ジョブを提示するアクトを含む、方法。
  6. システムであって、
    メモリに結合されたプロセッサであって、前記メモリに格納されている以下のコンピュータ実行可能コンポーネントを実行するように構成される、プロセッサを含み、前記コンピュータ実行可能コンポーネントが、
    データ変換ジョブによって指定される要件に基づいて、実行のために前記ジョブをスケジューリングするように構成された第1コンポーネントと、
    前記スケジュールにしたがってタイムライン図上に前記ジョブを提示するように構成された第2コンポーネントと、
    前記タイムライン図上において、選択ジョブを識別する信号に応答して、データ依存性に基づいて、前記選択ジョブに関連する1つ以上のジョブを強調するように構成された第3コンポーネントと、
    を含む、システム。
  7. 請求項6記載のシステムにおいて、前記第3コンポーネントが、前記選択ジョブに依存する前記1つ以上のジョブを強調するように構成される、システム。
  8. 請求項6記載のシステムにおいて、前記第3コンポーネントが、前記選択ジョブが依存する前記1つ以上のジョブを強調するように構成される、システム。
  9. 請求項6記載のシステムであって、更に、ジョブ実行が成功かまたは失敗か検出するように構成された第4コンポーネントを含む、システム。
  10. 請求項9記載のシステムであって、更に、関連失敗ジョブ実行、または前記タイムライン上における失敗ジョブ実行の表現の選択に応答して、失敗ジョブ実行に対する依存性に基づく予測失敗ジョブ実行を強調するように構成された第5コンポーネントを含む、システム。
JP2017532738A 2014-12-16 2015-12-07 ジョブ・スケジューリングおよび監視 Active JP7079091B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/572,745 US9684546B2 (en) 2014-12-16 2014-12-16 Job scheduling and monitoring in a distributed computing environment
US14/572,745 2014-12-16
PCT/US2015/064163 WO2016099965A1 (en) 2014-12-16 2015-12-07 Job scheduling and monitoring

Publications (3)

Publication Number Publication Date
JP2018501566A true JP2018501566A (ja) 2018-01-18
JP2018501566A5 JP2018501566A5 (ja) 2019-01-24
JP7079091B2 JP7079091B2 (ja) 2022-06-01

Family

ID=54884438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017532738A Active JP7079091B2 (ja) 2014-12-16 2015-12-07 ジョブ・スケジューリングおよび監視

Country Status (11)

Country Link
US (2) US9684546B2 (ja)
EP (1) EP3234876A1 (ja)
JP (1) JP7079091B2 (ja)
KR (2) KR20230022272A (ja)
CN (2) CN107111799B (ja)
AU (1) AU2015363025A1 (ja)
BR (1) BR112017010127A2 (ja)
CA (1) CA2967993A1 (ja)
MX (1) MX2017007763A (ja)
RU (1) RU2707389C2 (ja)
WO (1) WO2016099965A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684546B2 (en) * 2014-12-16 2017-06-20 Microsoft Technology Licensing, Llc Job scheduling and monitoring in a distributed computing environment
US9882910B2 (en) * 2015-09-23 2018-01-30 Ca, Inc. Security authorization for service level agreements
US10296402B2 (en) * 2015-12-17 2019-05-21 Entit Software Llc Scheduling jobs
US10481949B2 (en) * 2016-12-09 2019-11-19 Vmware, Inc. Methods and apparatus to automate deployments of software defined data centers based on user-provided parameter values
US20180196858A1 (en) * 2017-01-11 2018-07-12 The Bank Of New York Mellon Api driven etl for complex data lakes
US10514993B2 (en) * 2017-02-14 2019-12-24 Google Llc Analyzing large-scale data processing jobs
US10423443B2 (en) 2017-04-03 2019-09-24 Oracle International Corporation Task management interface
US11223674B2 (en) * 2017-07-25 2022-01-11 University Of Louisiana At Lafayette Extended mobile grid
US10783013B2 (en) 2017-12-15 2020-09-22 Google Llc Task-related sorting, application discovery, and unified bookmarking for application managers
US11568003B2 (en) 2017-12-15 2023-01-31 Google Llc Refined search with machine learning
US10846109B2 (en) 2017-12-20 2020-11-24 Google Llc Suggesting actions based on machine learning
CN108062246B (zh) * 2018-01-25 2019-06-14 北京百度网讯科技有限公司 用于深度学习框架的资源调度方法和装置
US11367160B2 (en) * 2018-08-02 2022-06-21 Nvidia Corporation Simultaneous compute and graphics scheduling
EP3850448A4 (en) 2018-09-10 2022-06-08 AVEVA Software, LLC PERIPHERAL MODULE SERVER SYSTEM OF USE AND METHOD
US10936367B2 (en) * 2018-10-28 2021-03-02 Microsoft Technology Licensing, Llc Provenance driven job relevance assessment
CN109445922A (zh) * 2018-10-31 2019-03-08 北京慧流科技有限公司 任务处理方法及装置、电子设备及存储介质
WO2021011914A1 (en) * 2019-07-17 2021-01-21 Google Llc Scheduling operations on a computation graph
CN110647387B (zh) * 2019-08-29 2022-04-01 武汉天喻教育科技有限公司 一种教育云大数据任务调度方法与系统
CN113127057A (zh) * 2020-01-16 2021-07-16 北京京东振世信息技术有限公司 多任务并行执行的方法和装置
US11366687B2 (en) * 2020-05-26 2022-06-21 Bank Of America Corporation Task allocations based on color-coded representations
US11501853B2 (en) 2020-07-20 2022-11-15 Recursion Pharmaceuticals, Inc. Preemptible-based scaffold hopping
US11210150B1 (en) * 2020-08-18 2021-12-28 Dell Products L.P. Cloud infrastructure backup system
CN113238533B (zh) * 2021-05-12 2022-05-13 广东美房智高机器人有限公司 一种移动机器人的作业任务动态调度下发系统及方法
US20230186141A1 (en) * 2021-12-11 2023-06-15 International Business Machines Corporation Visual presentation of quantum-classical interface in a user experience
KR102649690B1 (ko) * 2023-02-02 2024-03-21 쿠팡 주식회사 전자 장치 및 그의 작업 스케줄 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196024A (ja) * 1997-09-25 1999-04-09 Hitachi Software Eng Co Ltd 業務ジョブ実行関連図表示方法
JP2006243996A (ja) * 2005-03-02 2006-09-14 Hitachi Software Eng Co Ltd ジョブネット管理システム
JP2009230584A (ja) * 2008-03-24 2009-10-08 Nomura Research Institute Ltd ジョブ処理システムおよびジョブ管理方法
WO2010001555A1 (ja) * 2008-06-30 2010-01-07 パナソニック株式会社 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6441966A (en) * 1987-08-07 1989-02-14 Hitachi Ltd Method for displaying routing
US5057996A (en) * 1989-06-29 1991-10-15 Digital Equipment Corporation Waitable object creation system and method in an object based computer operating system
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5095369A (en) * 1990-09-28 1992-03-10 Xerox Corporation Method and apparatus for improved job stream printing in an electronic printer with various finishing function
US5978831A (en) * 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
US5581778A (en) * 1992-08-05 1996-12-03 David Sarnoff Researach Center Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock
US5490272A (en) * 1994-01-28 1996-02-06 International Business Machines Corporation Method and apparatus for creating multithreaded time slices in a multitasking operating system
US5563994A (en) * 1994-03-11 1996-10-08 Harmon; Samuel T. System for graphically generating the sequence and temporal relationship between tasks in a project
US5838906A (en) * 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US6269390B1 (en) * 1996-12-17 2001-07-31 Ncr Corporation Affinity scheduling of data within multi-processor computer systems
US6952827B1 (en) * 1998-11-13 2005-10-04 Cray Inc. User program and operating system interface in a multithreaded environment
US7424712B1 (en) * 1999-04-30 2008-09-09 Sun Microsystems Inc System and method for controlling co-scheduling of processes of parallel program
US6757897B1 (en) * 2000-02-29 2004-06-29 Cisco Technology, Inc. Apparatus and methods for scheduling and performing tasks
US6792601B1 (en) * 2000-05-18 2004-09-14 International Business Machines Corporation Multiple mode object locking method and system
US6993764B2 (en) * 2000-06-30 2006-01-31 The Regents Of The University Of California Buffered coscheduling for parallel programming and enhanced fault tolerance
US7234139B1 (en) * 2000-11-24 2007-06-19 Catharon Productions, Inc. Computer multi-tasking via virtual threading using an interpreter
US7694302B1 (en) * 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7330822B1 (en) * 2001-05-29 2008-02-12 Oracle International Corporation Methods and systems for managing hierarchically organized and interdependent tasks and issues
US7140019B2 (en) * 2002-06-28 2006-11-21 Motorola, Inc. Scheduler of program instructions for streaming vector processor having interconnected functional units
US7516458B2 (en) * 2002-07-31 2009-04-07 Sap Aktiengesellschaft Job management in presence of implicit dependency
US20040168171A1 (en) 2002-11-07 2004-08-26 Robert Comparato Work flow explorer
US7086063B1 (en) * 2003-03-25 2006-08-01 Electric Cloud, Inc. System and method for file caching in a distributed program build environment
US7503048B1 (en) * 2003-08-18 2009-03-10 Cray Incorporated Scheduling synchronization of programs running as streams on multiple processors
US7480913B2 (en) * 2003-09-09 2009-01-20 International Business Machines Corporation Method, apparatus, and program for scheduling resources in a penalty-based environment
CN1317637C (zh) * 2004-01-20 2007-05-23 无敌科技股份有限公司 声音与影像的同步方法
US7861246B2 (en) * 2004-06-17 2010-12-28 Platform Computing Corporation Job-centric scheduling in a grid environment
US7631291B2 (en) * 2004-10-01 2009-12-08 Microsoft Corporation Declarative representation for an extensible workflow model
US7877355B2 (en) * 2005-04-12 2011-01-25 International Business Machines Corporation Job scheduling for automatic movement of multidimensional data between live datacubes
US8719825B2 (en) * 2005-08-17 2014-05-06 Sap Ag Prompting for execution or delay of scheduled job
US7853948B2 (en) * 2005-10-24 2010-12-14 International Business Machines Corporation Method and apparatus for scheduling grid jobs
KR101349805B1 (ko) * 2006-01-25 2014-01-10 엘지전자 주식회사 트랩 메커니즘을 이용한 장치관리 스케줄링 방법 및 그단말
JP4696960B2 (ja) * 2006-02-22 2011-06-08 日本電気株式会社 ジョブ定義確認システム、その方法およびプログラム
US8261277B2 (en) * 2006-04-10 2012-09-04 General Electric Company System and method for dynamic allocation of resources in a computing grid
US7661015B2 (en) * 2006-05-16 2010-02-09 Bea Systems, Inc. Job scheduler
US8056083B2 (en) * 2006-10-10 2011-11-08 Diskeeper Corporation Dividing a computer job into micro-jobs for execution
US7814486B2 (en) * 2006-06-20 2010-10-12 Google Inc. Multi-thread runtime system
US8108844B2 (en) * 2006-06-20 2012-01-31 Google Inc. Systems and methods for dynamically choosing a processing element for a compute kernel
US7953621B2 (en) 2006-06-30 2011-05-31 Verint Americas Inc. Systems and methods for displaying agent activity exceptions
US7853567B2 (en) 2006-08-04 2010-12-14 Apple Inc. Conflict resolution in recovery of electronic data
US8407706B2 (en) * 2006-12-28 2013-03-26 Sap Ag Framework for parallel business object processing
US8205205B2 (en) * 2007-03-16 2012-06-19 Sap Ag Multi-objective allocation of computational jobs in client-server or hosting environments
US8347207B2 (en) * 2007-07-16 2013-01-01 International Business Machines Corporation Automatically moving annotations associated with multidimensional data between live datacubes
US20090089698A1 (en) * 2007-09-28 2009-04-02 Bruce Gordon Fuller Automation visualization schema with zooming capacity
EP2079020B1 (en) 2008-01-03 2013-03-20 Accenture Global Services Limited System amd method for automating ETL applications
US8387041B2 (en) * 2008-01-09 2013-02-26 International Business Machines Corporation Localized multi-element processor resource sharing among logical partitions
WO2009102728A1 (en) * 2008-02-11 2009-08-20 Clearshift Corporation Online work management system
US8312037B1 (en) * 2008-08-28 2012-11-13 Amazon Technologies, Inc. Dynamic tree determination for data processing
US8150889B1 (en) * 2008-08-28 2012-04-03 Amazon Technologies, Inc. Parallel processing framework
US8839254B2 (en) * 2009-06-26 2014-09-16 Microsoft Corporation Precomputation for data center load balancing
US8276012B2 (en) * 2009-06-30 2012-09-25 International Business Machines Corporation Priority-based power capping in data processing systems
WO2011009067A2 (en) 2009-07-17 2011-01-20 Steamboat Communications, Inc. Project progress display and monitoring
US8612440B2 (en) 2010-04-21 2013-12-17 Xerox Corporation Computer based method and system for generating custom dynamic templates
US8181176B2 (en) * 2010-06-21 2012-05-15 Intel Corporation Uniform storage device access using partial virtual machine executing within a secure enclave session
US9032406B2 (en) * 2010-07-01 2015-05-12 Sap Se Cooperative batch scheduling in multitenancy system based on estimated execution time and generating a load distribution chart
EP2416267A1 (en) * 2010-08-05 2012-02-08 F. Hoffmann-La Roche AG Method of aggregating task data objects and for providing an aggregated view
US8601484B2 (en) * 2010-09-15 2013-12-03 Qualcomm Incorporated System and method for managing resources and markers of a portable computing device
US8612989B1 (en) * 2010-10-04 2013-12-17 Teradata Us, Inc. Assigning resources among multiple groups of workloads in a database system
CN101984412B (zh) * 2010-10-13 2013-01-30 北京航空航天大学 一种基于分组和禁忌搜索的并行测试任务调度方法
KR101803303B1 (ko) * 2010-12-21 2017-12-29 삼성전자주식회사 멀티미디어 아키텍처 패턴 결정 방법, 싱글코어에서 멀티코어 기반으로의 아키텍처 전환 장치 및 방법
US8739175B2 (en) * 2010-12-21 2014-05-27 Adobe Systems Incorporated System and method for rerouting a request between virtualization services
US8453152B2 (en) 2011-02-01 2013-05-28 International Business Machines Corporation Workflow control of reservations and regular jobs using a flexible job scheduler
US9043796B2 (en) * 2011-04-07 2015-05-26 Microsoft Technology Licensing, Llc Asynchronous callback driven messaging request completion notification
US9161085B2 (en) 2011-05-23 2015-10-13 Microsoft Technology Licensing, Llc Adaptive timeline views of data
US9477223B2 (en) * 2011-09-14 2016-10-25 General Electric Company Condition monitoring system and method
WO2013111329A1 (ja) * 2012-01-27 2013-08-01 株式会社日立製作所 作業管理システムおよび作業管理方法
US20130218622A1 (en) 2012-02-17 2013-08-22 Microsoft Corporation Aggregating availability status information on shared calendars
US20130218625A1 (en) 2012-02-22 2013-08-22 International Business Machines Corporation Utilizing historic projects to estimate a new project schedule based on user provided high level parameters
CN103019691B (zh) * 2012-11-20 2016-08-10 北京思特奇信息技术股份有限公司 一种etl作业关系图的转化方法及其实现系统
US20140143701A1 (en) 2012-11-20 2014-05-22 Timo Hoyer Visualizing related business activities in an interactive timeline
CN103838621B (zh) * 2012-11-27 2017-05-10 中国电信股份有限公司 用于调度例行作业的方法和系统、调度节点
CN103078941B (zh) * 2012-12-31 2016-01-20 中金数据系统有限公司 一种分布式计算系统的任务调度方法
CN104021044B (zh) * 2013-02-28 2017-05-31 中国移动通信集团浙江有限公司 一种作业调度方法及装置
US8978034B1 (en) * 2013-03-15 2015-03-10 Natero, Inc. System for dynamic batching at varying granularities using micro-batching to achieve both near real-time and batch processing characteristics
US9465653B2 (en) 2013-12-11 2016-10-11 Dropbox, Inc. Automated invalidation of job output data in a job-processing system
US9684546B2 (en) * 2014-12-16 2017-06-20 Microsoft Technology Licensing, Llc Job scheduling and monitoring in a distributed computing environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196024A (ja) * 1997-09-25 1999-04-09 Hitachi Software Eng Co Ltd 業務ジョブ実行関連図表示方法
JP2006243996A (ja) * 2005-03-02 2006-09-14 Hitachi Software Eng Co Ltd ジョブネット管理システム
JP2009230584A (ja) * 2008-03-24 2009-10-08 Nomura Research Institute Ltd ジョブ処理システムおよびジョブ管理方法
WO2010001555A1 (ja) * 2008-06-30 2010-01-07 パナソニック株式会社 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置

Also Published As

Publication number Publication date
RU2707389C2 (ru) 2019-11-26
CN107111799A (zh) 2017-08-29
US20160170811A1 (en) 2016-06-16
AU2015363025A1 (en) 2017-05-25
CN107111799B (zh) 2021-08-13
MX2017007763A (es) 2017-09-05
JP7079091B2 (ja) 2022-06-01
WO2016099965A1 (en) 2016-06-23
KR20170094232A (ko) 2017-08-17
US10606665B2 (en) 2020-03-31
US20170286185A1 (en) 2017-10-05
EP3234876A1 (en) 2017-10-25
CN113537798A (zh) 2021-10-22
RU2017120988A3 (ja) 2019-04-19
CA2967993A1 (en) 2016-06-23
US9684546B2 (en) 2017-06-20
KR20230022272A (ko) 2023-02-14
BR112017010127A2 (pt) 2018-01-02
KR102498046B1 (ko) 2023-02-08
RU2017120988A (ru) 2018-12-18

Similar Documents

Publication Publication Date Title
KR102498046B1 (ko) 작업 스케쥴링 및 모니터링 기법
US8745572B2 (en) Software development automated analytics
Mattoso et al. Dynamic steering of HPC scientific workflows: A survey
US10692048B2 (en) Apparatus and method for generating a chronological timesheet
US20160117371A1 (en) Job authoring with data preview
US20160371115A1 (en) Automated invalidation of job output data in a job processing system
US10684998B2 (en) Automatic schema mismatch detection
EP2859452A2 (en) Visualized code review
US20160117087A1 (en) Job creation and reuse
US11256608B2 (en) Generating test plans for testing computer products based on product usage data
US20200117570A1 (en) Analyzing large-scale data processing jobs
CN112041832A (zh) 分析作业服务中的计算重用
Mohr et al. Performance measurement and analysis tools for extremely scalable systems
JP2016532949A (ja) 従来の予測子の将来的変化を予測するためにある期間にわたって精選され、分析されたデータシグナルから重大変化属性を導出するためのシステム及び方法
US20240104424A1 (en) Artificial intelligence work center
US20150169324A1 (en) Method and system for software analytics using business intelligence
JP2017518567A (ja) データ操作キュー
US20130132976A1 (en) Deadly embrace
AU2014202495A1 (en) A system and method for generating a chronological timesheet

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210118

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210118

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210202

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210203

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20210423

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20210427

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20210719

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20211004

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20211130

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20211201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220228

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20220322

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20220421

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20220421

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220520

R150 Certificate of patent or registration of utility model

Ref document number: 7079091

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150