JP2017508219A - 「ビッグデータ」分析ワークフローエディタのための視覚効果システム、配布プラットフォーム、実行エンジン、および上記を含む管理システム - Google Patents
「ビッグデータ」分析ワークフローエディタのための視覚効果システム、配布プラットフォーム、実行エンジン、および上記を含む管理システム Download PDFInfo
- Publication number
- JP2017508219A JP2017508219A JP2016557536A JP2016557536A JP2017508219A JP 2017508219 A JP2017508219 A JP 2017508219A JP 2016557536 A JP2016557536 A JP 2016557536A JP 2016557536 A JP2016557536 A JP 2016557536A JP 2017508219 A JP2017508219 A JP 2017508219A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- elements
- user
- computer
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000000007 visual effect Effects 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 146
- 238000012800 visualization Methods 0.000 claims abstract description 43
- 238000004458 analytical method Methods 0.000 claims abstract description 39
- 238000007726 management method Methods 0.000 claims description 67
- 239000012634 fragment Substances 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000008676 import Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 26
- 239000003550 marker Substances 0.000 description 24
- 230000004044 response Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 19
- 238000013459 approach Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 239000002609 medium Substances 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000000835 fiber Substances 0.000 description 6
- 230000006855 networking Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 229910052802 copper Inorganic materials 0.000 description 3
- 239000010949 copper Substances 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 239000006163 transport media Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- CVOFKRWYWCSDMA-UHFFFAOYSA-N 2-chloro-n-(2,6-diethylphenyl)-n-(methoxymethyl)acetamide;2,6-dinitro-n,n-dipropyl-4-(trifluoromethyl)aniline Chemical compound CCC1=CC=CC(CC)=C1N(COC)C(=O)CCl.CCCN(CCC)C1=C([N+]([O-])=O)C=C(C(F)(F)F)C=C1[N+]([O-])=O CVOFKRWYWCSDMA-UHFFFAOYSA-N 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化、配布、およびイベント駆動管理のための方法およびシステムが、提供される。そのようなワークフローの要素の視覚化のための方法は、ユーザインターフェースを介してワークフローを表示するステップと、要素の群を折り畳むステップと、さらなる要素を追加するステップと、要素を除去するステップと、ワークフロー内の要素を修正するステップとを含んでもよい。
Description
本開示は、概して、データ処理に関し、より具体的には、大きなデータセット(「ビッグデータ」)が関与するとき、データ分析を定義する、ワークフローの視覚化、配布プラットフォーム、およびイベント駆動管理に関する。
本セクションにおいて説明されるアプローチは、追求され得るが、必ずしも以前に想起または追求されているアプローチではない。したがって、別様に示されない限り、本セクションにおいて説明されるアプローチのいずれも、単に、本セクションにおいて従来技術を包含することによって、従来技術と見なされると想定されるべきではない。
伝統的ワークフロー管理システムは、異なるタイプのタスクまたはプロセスに対して、異なるワークフローを定義することを可能にし得る、最終結果ワークフロー管理システムを生成するために、プロジェクト内に一連のタスクを管理および定義することができる。さらに、ワークフロー管理システムは、ユーザが、実装詳細を取り扱うことなく、機能構成要素を結集することによって、より高いレベルで複合的アプリケーションを展開することを補助することができる。ワークフロー内の各段階において、1つまたはそれを上回る実行可能ソフトウェアモジュールが、具体的タスクに関与し得る。いったんタスクが完了すると、ワークフローソフトウェアは、次のタスクが、本プロセスの次の段階に関与するモジュールによって実行されることを確実にすることができる。ワークフロー管理システムは、各タスクの完了に対して要求される依存性を反映することができる。概して、ワークフロー管理システムは、冗長タスクを自動化し、未完了タスクが追従されることを確実にすることによって、自動化プロセスを制御することができる。
ワークフロー管理システムは、具体的必要性に対する特殊化形態において開発されることができる。具体的には、科学的ワークフロー管理システムは、科学的用途のための一連のコンピュータおよびデータ処理動作を成し、実行するように設計されることができる。科学的ワークフロー管理システムの実施例は、バイオインフォマティクスワークフロー管理システムである。バイオインフォマティクスは、生物学的データを記憶、読み出し、編成、および分析するための方法を開発および改良する、学際的分野として定義されることができる。バイオインフォマティクスにおける主要な活動は、有用な生物学的知識を生成するためのソフトウェアツールを開発することである。しかしながら、ここで開示される技術の用途は、必ずしもバイオインフォマティクスに限定されないことを理解されたい。
科学的ワークフローは、伝統的ビジネスプロセスワークフローと異なり得るため、科学的ワークフロー管理システムは、科学者が、具体的ステップを実施すること可能にすることができる。例えば、双方向性ツールは、科学者が、科学的ワークフローを実行し、結果を双方向的に閲覧することを可能にするために提供されることができる。加えて、科学者は、科学的ワークフロー実行結果のソースおよびワークフローを作成するために使用されたステップを追跡することが可能であり得る。
ビッグデータ分析と関連付けられる、増え続けるデータセットサイズから、洞察を抽出する必要性は、管理することがますます複雑なワークフローにつながる。その結果、ワークフロー管理システム内のそのようなワークフローの視覚化は、対応して複雑になり、多くの場合、ワークフロー開発者に対して、ワークフローの視覚認知および編集可能性を妨害する。結果として、ワークフロー開発者によるワークフローの開発および編集は、時間および労力がかかり得る。デフォルトのツールのセットを伴うワークフローが、ワークフローの開発者から購入されることができる。しかしながら、他の開発者によって開発されたツールを追加すること、またはデフォルトのツールを修正することは、互換性および他の問題のため、可能ではない場合がある。さらに、利用可能なワークフローおよびワークフローエンジンは、具体的タイプの用途に制限され、他の具体的目的の範囲に対するそれらの適合は、困難であり得る。加えて、利用可能なワークフローエンジンは、通常、有向非巡回グラフとして構成される。有向非巡回グラフでは、各ノードは、実行されるべきタスクを表し、エッジは、異なるタスク間のデータフローまたは実行依存性のいずれかを表す。したがって、データのシーケンスは、具体的方向にのみ流れ得、コンピュータユニットの並列実行を可能にし得ない。
本概要は、以下の発明を実施するための形態においてさらに説明される、一連の概念を簡略化形態において導入するために提供される。本概要は、請求される主題の主要な特徴または不可欠な特徴を識別することを目的としておらず、また、請求される主題の範囲を判定する際の補助として使用されることも目的としていない。
本開示は、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のためのアプローチに関する。具体的には、ワークフローの要素の視覚化のための方法が、コンピュータ端末上のグラフィカルユーザインターフェース(GUI)を介して、ワークフローを表示するステップを含む。事前判定された群化基準に基づいて、1つまたはそれを上回る折り畳み可能な要素の群が、ワークフロー内に定義される。折り畳み可能な要素の群を折り畳むための要求を受信するステップに応じて、折り畳み可能な要素の群は、折り畳まれた要素の群に折り畳まれる。折り畳むステップの後、複数の要素と、折り畳まれた要素の群との配置が、選択的に再調節されることができる。本方法は、さらなる要素をワークフローに追加するステップと、ワークフローから要素を除去するステップと、ワークフロー内の要素を修正するステップとをさらに含む。
本開示の別のアプローチによると、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のためのシステムが、提供される。本システムは、ワークフロー内に、折り畳み可能な要素の群を定義するように構成される、プロセッサを備える。定義するステップは、事前判定された群化基準に基づいて行われることができる。ユーザから、折り畳み可能な要素の群を折り畳むための要求を受信するステップに応じて、プロセッサは、折り畳み可能な要素の群を、折り畳まれた要素の群に折り畳むことができる。プロセッサは、複数の要素と、折り畳まれた要素の群との配置を選択的に再調節するようにさらに構成される。本システムは、複数の要素を含むワークフローを表示するように構成される、ユーザインターフェースをさらに備える。
本開示は、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの配布のためのアプローチにさらに関する。具体的には、デジタルワークフロー配布プラットフォームが、ユーザが、ワークフローと関連付けられる1つまたはそれを上回るパラメータに基づいて、ワークフローを選択することを可能にするように構成される、ユーザインターフェースを備える。選択に基づいて、配布モジュールが、ユーザが、ワークフローを取得し、ワークフローをユーザ環境中にインポートすることを可能にする。デジタルワークフロー配布プラットフォームは、ユーザ環境中にインポートされたワークフローおよびワークフローツールの展開をサポートするように構成される、ワークフローのための管理エンジンをさらに備える。従来技術はワークフロー配布を含み得るが、これは、続けて修正可能なワークフローを含まない。
本開示の別のアプローチによると、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの配布のためのコンピュータ実装方法が、提供される。本方法によると、ユーザインターフェースが、ワークフローと関連付けられる1つまたはそれを上回るパラメータに基づいて、ワークフローを選択するためのユーザコマンドを受信する。ユーザコマンドに応答して、ユーザは、ワークフローを取得し、ワークフローをユーザ環境中にインポートすることを可能にされる。ワークフローのインポート後、ワークフローの展開が、ワークフローのための管理エンジンによってサポートされることができる。
本開示は、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのコンピュータ実装イベント駆動管理のためのアプローチにさらに関する。具体的には、そのようなワークフローのためのイベント駆動管理エンジンが、条件付きループを起動することによって、ある条件が真であると判定するように構成される、決定ノードを備えてもよい。判定に基づいて、決定ノードは、コンピュータモジュールを選択的に起動させてもよい。そのようなワークフローのためのイベント駆動管理エンジンは、フォークジョイン待ち行列クラスタをさらに備えてもよい。フォークジョイン待ち行列クラスタは、コンピュータモジュールを、関与コンピュータノードに非連続的に割り当て、事前判定された基準に従ってデータセットを処理してもよい。関与コンピュータノードは、分散型クラウドコンピューティング環境内に位置してもよい。マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理エンジンの分散型データベースが、コンピュータモジュールおよびコンピュータモジュールと関連付けられる条件を記憶してもよい。算出モジュールが、条件が真となるまで起動されないままであってもよい。
本開示の別のアプローチによると、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのコンピュータ実装イベント駆動管理方法が、提供される。本方法によると、データベースが、コンピュータモジュールおよびコンピュータモジュールと関連付けられる条件を記憶してもよい。本方法は、条件が真であると判定するために、条件付きループを起動する決定ノードを備えてもよい。判定に基づいて、決定ノードは、コンピュータモジュールを選択的に起動させてもよい。本方法は、フォークジョイン待ち行列クラスタによって、コンピュータモジュールを、分散型クラウドコンピューティング環境内の関与コンピュータノードに非連続的に割り当てるステップをさらに含んでもよい。コンピュータモジュールは、事前判定された基準に従ってデータセットを処理するように構成されてもよい。
本開示のさらなる例示的実施形態では、本方法ステップは、1つまたはそれを上回るプロセッサによって実装されるとき、引用されるステップを実施する命令を備える、機械可読媒体上に記憶される。またさらなる実施形態では、ハードウェアシステムまたはデバイスが、引用されるステップを実施するように適合されることができる。またさらなる例示的実施形態では、マルチノード算出クラスタは、Hadoopベースのマルチノード算出クラスタである。他の特徴、実施例、および実施形態も、以下に説明される。
同様の参照記号が類似する要素を示す、付随する図面の図において、実施形態は、限定としてではなく、実施例として例証される。
図1は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理エンジンおよび対応する方法が実装され得る、環境を示す。
図2は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理エンジンの種々のモジュールを示す、ブロック図である。
図3は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理エンジンによる、タスクの処理を例証する、ブロック図である。
図4は、例示的実施形態による、フォークジョイン待ち行列クラスタによる、タスクの処理を例証する、ブロック図である。
図5は、例示的実施形態による、フォークジョイン待ち行列クラスタによる、タスクの処理を例証する、ブロック図である。
図6は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理方法を示す、プロセスフロー図である。
図7は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのための詳細なコンピュータ実装イベント駆動管理方法を例証する、フローチャートである。
図8は、例示的実施形態による、ある条件をチェックするための方法を例証する、フローチャートである。
図9は、例示的実施形態による、条件付きループを例証する、フローチャートである。
図10は、例示的実施形態による、条件付きループを例証する、フローチャートである。
図11は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのデジタル配布のためのプラットフォームおよび対応する方法が実装され得る、環境を示す。
図12は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、デジタルワークフローのための配布プラットフォームの種々のモジュールを示す、ブロック図である。
図13は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの配布のための方法を例証する、スキームである。
図14は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのツールの配布のための方法を例証する、スキームである。
図15は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの配布のためのコンピュータ実装方法を示す、プロセスフロー図である。
図16は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のためのシステムおよび関連付けられる方法が実装され得る、環境を示す。
図17は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のための方法を示す、プロセスフロー図である。
図18は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のためのシステムの種々のモジュールを示す、ブロック図である。
図19は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、折り畳まれたワークフローを例証する、ブロック図である。
図20は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、部分的に折り畳まれたワークフローを例証する、ブロック図である。
図21は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、部分的に折り畳まれたワークフローを例証する、スキームである。
図22A−Cは、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、拡張されたワークフローを例証する。
図22A−Cは、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、拡張されたワークフローを例証する。
図22A−Cは、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、拡張されたワークフローを例証する。
図23は、機械に、本明細書に議論される方法論のうちの任意の1つまたはそれを上回るものを実施させるための命令のセットが実行され得る、コンピュータシステムの例示的電子形態における機械に対するコンピューティングクラスタの概略図を示す。
以下の詳細な説明は、詳細な説明の一部を形成する、付随の図面の参照を含む。図面は、例示的実施形態による、例証を示す。また、本明細書に「実施例」とも称される、これらの例示的実施形態は、当業者が、本主題を実践することを可能にするために十分に詳細に説明される。請求されるものの範囲から逸脱することなく、本実施形態は、組み合わせられることができ、他の実施形態も、利用されることができ、また、構造的、論理的、および電気的変更も、成されることができる。以下の詳細な説明は、したがって、限定的意味と見なされるべきではなく、範囲は、添付される請求項およびそれらの均等物によって定義される。本文書では、特許文書において一般的である、用語「a」および「an」は、1つまたは1つを上回るものを含むように使用される。本文書では、用語「or」は、「A or B」が、別様に示されない限り、「Bを除くA」と、「Aを除くB」と、「AおよびB」とを含むように、包括的な「or」を指すように使用される。
本明細書に開示される実施形態の技法は、ビッグデータ分析と関連付けられる技術を使用して実装される。具体的には、マルチノード算出クラスタの使用は、好ましい実施形態である。より具体的には、大規模なマルチノード算出クラスタの管理のためのオープンソースのHadoopソフトウェアエコシステムの使用は、好ましい実施形態である。本開示は、改良された視覚化を伴うワークフローエディタを提供するための、およびマルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの開発者による使用性を改良するための、システムおよび方法に関する。具体的には、本明細書に説明される実施形態は、そのようなワークフローの要素の視覚化のための方法を含む。例示的ワークフローが、複数の要素を含むことができる。要素は、ループ、条件文、マーカー、アルゴリズム、ネスト化ワークフロー、コンピュータツール等のツール等を含むことができる。ワークフローの要素は、ワークフローの配置内に表されることができる。配置は、ユーザインターフェース上に示されるワークフローの要素の具体的配列、サイズ変更、間隔、および位置を有することができる。多数の要素を伴うワークフローのための複雑な管理システムの場合では、ユーザ、例えば、ワークフロー開発者にとって、各要素の機能性を見ることは、困難であり得る。本明細書に開示される方法は、当分野において周知の方法に優る、改良されたワークフローの編集可能性を提供することができる。本明細書に開示される方法は、新しい要素を配置に追加するステップ、要素をともに接続するステップ、要素を除去するステップ、要素を隠すステップ、要素を自動的に再順序付けするステップ等を可能にすることができる。ここで開示される方法は、例えば、生物学、生態学、およびバイオインフォマティクスの分野における科学者が、従来技術の方法を用いて可能なものよりも効率的に、いくつかのインフォマティクスツールを使用して大きな遺伝子データセットにクエリを行い、これを分析し、結果を保存することを可能にし得る、イベント駆動管理エンジンによって実装されることができる。
本開示によると、配置の要素は、群に順序付けられることができる。これらの群は、群を表す単一要素に折り畳まれることができる。同様に、折り畳まれた群は、構成要素を示すために、拡張されることができる。さらに、ユーザは、折り畳み可能な群を定義するために、ワークフローの配置内のいくつかの要素を接続することを可能にされることができる。群は、群内にどの要素が含まれるかを示すために、サイズを拡大されることができる。ユーザが群の特定の要素にアクセスする必要があるとき、ユーザは、組み合わせられた要素を拡張し、特定の要素を選択することができる。
さらに、例示的実施形態では、ユーザは、ワークフローのいくつかの要素に対してマーカーを使用することができる。ユーザは、いくつかの要素をブロック中に配列し、マーカーを用いてブロックをマーキングすることができる。マーキングされたブロックは、初期サイズのブロックと比較して、より小さくなり得る。例示的実施形態では、マーカーは、マーキングされた要素が折り畳まれた状態にあり、拡張され得ること、ブロックが配置から除去されること等を示すことができる。さらに、ユーザは、ブロックに対して名前を提供する、または記号を用いてブロックをマーキングしてもよい。名前は、ブロック内に含まれる要素を説明することができる。ユーザが折り畳まれたブロック内に隠された特定の要素を使用する必要があるとき、ユーザは、名前を読むことによって折り畳まれたブロック上の情報を得、必要に応じて、ブロックを拡張することができる。ブロックを拡張した後、ブロックの全ての要素は、示されることができ、ユーザは、具体的要素を選択することができる。さらに、ワークフローのいくつかの要素が類似する方法で使用され得る場合、ユーザは、これらの要素を群として使用するために、アルゴリズムを作成することができる。これらの要素は、単一ブロック中に接続され、それらの共通機能性に従って名付けられることができる。
さらに、本開示のワークフローエディタは、より良好な視覚化のために配置内の要素の位置を最適化するために、配置内の要素の自己位置決めを提供する。したがって、要素は、ワークフローの要素間の配置の使用されない部分を回避するように、配置内に位置付けられ得る。
ワークフローの要素を折り畳むステップおよび拡張するステップは、ネスト化ワークフローを実証するために、特に有用であり得る。ネスト化ワークフローは、主要ワークフローの内側のワークフローである。ネスト化ワークフローは、要素を含むことができる。ワークフローは、任意の数のネスト化ワークフローを含むことができ、ネスト化ワークフローはそれぞれ、順に、さらなるネスト化ワークフローを含むことができる。ネスト化ワークフローは、主要ワークフロー内で折り畳まれる、または拡張されることができる。ネスト化ワークフローは、具体的マーカーを用いてマーキングされることができる。
本開示は、ワークフロー配布のためのシステムおよび方法にさらに関する。具体的には、本明細書に説明される実施形態は、ワークフロー配布のためのデジタルワークフロー配布プラットフォームおよびコンピュータ実装方法を含む。本明細書に説明されるデジタルワークフロー配布プラットフォームは、ワークフローのための仮想市場を提供する。プラットフォームは、データ分析のためのワークフローを配布するだけではなく、種々のワークフローツールをサポートするようにも構成されることができる。デジタルワークフロー配布プラットフォームは、例えば、生物学、生態学、およびバイオインフォマティクス等の科学の分野における科学者が、従来技術の方法を用いて可能なものよりも効率的に、いくつかのインフォマティクスツールを使用して大きな遺伝子データセットにクエリを行い、これを分析し、結果を保存することを可能にする。
いくつかの例示的実施形態では、ユーザは、ユーザインターフェースを介してデジタルワークフロー配布プラットフォームにアクセスし、利用可能なワークフローを精査することができる。ワークフローの選択に応じて、ユーザは、デジタルワークフロー配布プラットフォームに、ワークフローの取得のための要求を送信することができる。デジタルワークフロー配布プラットフォームは、ワークフローをユーザに、サービスとしてのソフトウェア(SaaS)として提供することができる。ワークフローは、クラウド環境内にホストされる。
ユーザ要求を受信するステップに応じて、デジタルワークフロー配布プラットフォームは、選択されたワークフローを、ユーザ環境中にインポートすることができる。ユーザは、ユーザ環境へのアクセスを(例えば、プラットフォームに登録することによって)提供される。認証に応じて、ユーザは、ワークフローへのアクセスを提供され、種々のワークフロー動作を実施することが可能となる。例えば、ワークフローは、生物学的データの算出を管理するための使用されることができる。
デジタルワークフロー配布プラットフォームは、ユーザが、ユーザ環境中にインポートされたワークフローを展開することを可能にすることができる。特に、ユーザは、ワークフローのパラメータを選択および変更し、ワークフローと関連付けられるツールを追加、除去、および修正し、実行の条件および順序を選択すること等が可能である。デジタルワークフロー配布プラットフォームのオペレータが、ワークフロー展開環境の保守およびサポートに関与し得る。
ワークフローをユーザ環境中にインポートした後、ユーザは、付加的なワークフローツールを取得または展開することを所望し得る。デジタルワークフロー配布プラットフォームは、ワークフローツールの展開および動作サポートを可能にする。プラットフォームは、プラットフォームと関連付けられるアプリケーションプログラミングインターフェース(API)を使用して、ツールの展開を促進することができる。プラットフォームはまた、ユーザへのツールの配布だけではなく、クラウドコンピューティング環境内でのツールの起動も可能にすることができる。例えば、ユーザは、デジタルワークフロー配布プラットフォームにアクセスし、ワークフローに追加されるべきツールを選択することができる。デジタルワークフロー配布プラットフォームは、ユーザ要求を受信し、選択されたツールをワークフローに追加する。ツールが追加された後、ユーザは、ワークフロー内でツールを利用することができる。
前述されるように、デジタルワークフロー配布プラットフォームは、ユーザが、ユーザ環境中にインポートされたツールを展開することを可能にする。特に、ユーザは、ワークフローのツールを(例えば、ツールパラメータを編集することによって)追加、作成、または修正することが可能である。
本開示はさらにまた、自動化ワークフローアクティビティを生成および実装するためのシステムおよび方法に関する。具体的には、本明細書に説明される実施形態は、ワークフローのためのイベント駆動管理エンジンおよび方法を含む。従来のワークフローエンジンは、ワークフローの現在の状態および実行されるべき次のステップを判定し得る、ワークフロー毎のプロセスを作成する。言い換えると、そのようなワークフローエンジンは、ワークフローの現在の状態を永続的に追跡し、どのアクションが次に講じられるべきかに関する決定を行う必要があり得る。さらに、従来のワークフローシステムは、不具合の場合にワークフローの再始動が成功することを確実にするために、ワークフローの現在の状態を保存するための制御点を必要とし得る。イベント駆動管理エンジンは、例えば、生物学、生態学、およびバイオインフォマティクス等の科学の分野における科学者が、いくつかのインフォマティクスツールを使用して大きな遺伝子データセットにクエリを行い、これを分析し、結果を保存することを可能にする。
概要に概説されるように、本開示の実施形態は、ワークフローのためのイベント駆動管理を対象とする。イベント駆動ワークフローが、ユーザアクション、センサ出力、他のプログラムからの通知等、ワークフロー内で発生するイベントによって判定されてもよい。開示される技術は、ワークフロー内で発生する各イベントと関連付けられる条件を定義し、データベース内に条件を記憶することを可能にしてもよい。さらに、データベースは、条件の充足に応じて、実施されるべきステップおよび関連付けられるタスクを記憶してもよい。したがって、イベントが発生すると、エンジンは、イベントと関連付けられる条件が満たされることを確認し、対応するプロセスを起動し、条件と関連付けられるタスクを実行するために、データベースを読み出してもよい。
具体的には、決定ノードが、条件が満たされるかどうかをチェックし得る、条件付きループを起動してもよい。いったん条件が満たされると、決定ノードは、満たされた条件を処理するステップに関与するコンピュータノードを起動させ、ワークフローの対応する部分を実行してもよい。処理するステップに関与するコンピュータノードは、条件が満たされた後にのみ起動してもよい。条件が満たされるまで、コンピュータノードは、待機モード(すなわち、起動されない状態)であってもよい。
予期されないシャットダウンの場合では、ワークフローは、条件付きループを起動し、どの条件が満たされているかを判定することによって、容易に復元され得ることに留意されたい。どの条件が満たされているかを判定した後、満たされた条件と関連付けられるタスクは、再始動されてもよい。したがって、ワークフローを再始動するために、制御点を保存する必要性はない。
さらに、本技術は、コンピュータ集約的である、生物学的データに対して実施される算出を管理するために、バイオインフォマティクスワークフロー管理システム等、科学的ワークフローシステムにおいて使用されてもよい。効率を改良するために、本技術は、並列分散型ソフトウェアフレームワークにおけるデータ処理を伴ってもよい。並列分散型ソフトウェアフレームワークは、いくつかの並列のコンピュータクラスタ上のタスクを起動することによって、コンピュータ集約的分散型タスクをサポートしてもよい。並列分散型ソフトウェアフレームワークは、Hadoopベースであってもよい。本技術は、複数のコンピュータクラスタ間のタスクを分割するために、フォーク待ち行列ノードを利用してもよい。さらに、フォーク待ち行列ノードは、イベントと関連付けられるタスクを、それぞれ、クラスタの任意のノード上の他のフラグメントと並列して実行され得る、複数のタスクフラグメントに分割するように構成されてもよい。フォーク待ち行列クラスタは、これらのタスクフラグメントの実行のためのノードを選択してもよい。ノードは、クラウドベースのコンピュータクラスタを含んでもよい。ノードによるフラグメントの実行後、フォーク待ち行列クラスタは、実行されたフラグメントを、結果として生じるデータに合体させてもよい。
結果として生じるデータは、ユーザインターフェース上でユーザに示されてもよい。ユーザは、処理されたデータが表され得る方法を選定してもよい。例えば、処理されたデータは、データテーブル、図、テキスト、グラフ、図面等として示されてもよい。
ここで図面を参照すると、図1は、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理エンジンおよび方法が実装され得る、大規模なコンピュータクラスタ100を例証する。環境100は、ネットワーク110と、ユーザ120と、ワークフローのためのイベント駆動管理エンジン200と、ユーザインターフェース130と、1つまたはそれを上回るクライアントデバイス140と、データベース150とを含んでもよい。
ネットワーク110は、インターネットまたはデバイス間でデータを通信することが可能な任意の他のネットワークを含んでもよい。好適なネットワークは、例えば、ローカルイントラネット、PAN(パーソナルエリアネットワーク)、LAN(ローカルエリアネットワーク)、WAN(広域ネットワーク)、MAN(メトロポリタンエリアネットワーク)、仮想プライベートネットワーク(VPN)、ストレージエリアネットワーク(SAN)、フレームリレー接続、高度インテリジェントネットワーク(AIN)接続、同期型光ネットワーク(SONET)接続、デジタルT1、T3、E1、もしくはE3回線、デジタルデータサービス(DDS)接続、DSL(デジタル加入者回線)接続、イーサネット(登録商標)接続、ISDN(統合サービスデジタルネットワーク)回線、V.90、V.34、もしくはV.34bisアナログモデム接続等のダイヤルアップポート、ケーブルモデム、ATM(非同期転送モード)接続、またはFDDI(光ファイバ分散データインターフェース)もしくはCDDI(銅線分散データインターフェース)接続のうちの任意の1つまたはそれを上回るものを含む、またはそれとインターフェースをとってもよい。さらに、通信はまた、WAP(無線アプリケーションプロトコル)、GPRS(汎用パケット無線サービス)、GSM(登録商標)(グローバルシステムフォーモバイルコミュニケーション)、CDMA(符号分割多重アクセス)もしくはTDMA(時分割多重アクセス)、セルラー電話ネットワーク、GPS(全地球測位システム)、CDPD(セルラーデジタルパケットデータ)、RIM(Research in Motion,Limited)二重ページングネットワーク、Bluetooth(登録商標)無線、またはIEEE 802.11ベースの無線周波数ネットワークを含む、種々の無線ネットワークのいずれかへのリンクを含んでもよい。ネットワーク110は、RS−232直列接続、IEEE−1394(ファイヤワイヤ)接続、ファイバチャネル接続、IrDA(赤外線)ポート、SCSI(小型コンピュータシステムインターフェース)接続、USB(ユニバーサルシリアルバス)接続、または他の有線もしくは無線、デジタルもしくはアナログインターフェースまたは接続、メッシュ、もしくはDigi(R)ネットワーキングのうちの任意の1つまたはそれを上回るものをさらに含む、またはそれとインターフェースをとることができる。ネットワーク110は、データ通信を目的として相互接続される、データ処理ノードのネットワークを含んでもよい。ネットワーク110は、ソフトウェア定義ネットワーキング(SDN)を含んでもよい。SDNは、上記のネットワークタイプの1つまたはそれを上回るものを含んでもよい。概して、ネットワーク110は、事前定義されたプロトコルを使用することによって、デバイス間の通信を可能にするトランスポート媒体によって、ともに接続されるいくつかの類似する、または類似しないデバイスを含んでもよい。当業者は、本開示が、種々のネットワーク構成環境内で、および種々のコンピューティングデバイス上で実践され得ることを認識するであろう。
クライアントデバイス140は、いくつかの例示的実施形態では、ユーザインターフェース130を表示するためのグラフィカルユーザインターフェース(GUI)を含んでもよい。典型的なGUIでは、テキストメニューのみを提供する、または打ち込まれたコマンドを要求する代わりに、エンジン200は、ウィジェットと呼ばれるグラフィカルアイコン、視覚インジケータ、または特殊グラフィック要素を提示してもよい。ユーザインターフェース130は、ユーザ120が、プログラミング知識を殆どまたは全く用いずに、複雑なタスクを構築および修正することを可能にするために、視覚フロントエンドとして利用されてもよい。
クライアントデバイス140は、モバイル電話、コンピュータ、ラップトップ、スマートフォン、タブレットパーソナルコンピュータ(PC)等を含んでもよい。いくつかの実施形態では、クライアントデバイス140は、1人またはそれを上回るユーザ120と関連付けられてもよい。クライアントデバイス140は、ユーザ120に利用可能な情報およびアクションを完全に表すために、テキスト、標識、またはテキストナビゲーションと併せて使用される、アイコンを利用するように構成されてもよい。ユーザ120は、いくつかの例示的実施形態では、クライアントデバイス140のうちの1つを介して、ユーザインターフェース130と相互作用する人物であってもよい。ユーザ120は、自身の必要性のためにワークフローのためのイベント駆動管理エンジン200を使用する、人物を表してもよい。例えば、ユーザ120は、一連の集約的コンピュータまたはデータ操作ステップを実施するための科学的ワークフローのためのイベント駆動管理エンジン200を使用する、科学者を含んでもよい。図1に示されるように、ユーザ120は、クライアントデバイス140上で起動するアプリケーションにデータを入力してもよい。アプリケーションは、ワークフローのためのイベント駆動管理エンジン200を利用してもよい。ユーザ120の入力に基づいて、ワークフローのためのイベント駆動管理エンジン200は、クライアントデバイス140上で起動するアプリケーションの自動化ワークフローを生成および実行してもよい。ワークフローのためのイベント駆動管理エンジン200は、1つまたはそれを上回るデータベース150に接続されてもよい。データベース150は、一連のワークフロー内で実行される必要があるタスクと関連付けられるデータを記憶してもよい。
図2は、例示的実施形態による、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理エンジン200の詳細なブロック図を示す。エンジン200は、決定ノード202と、フォークジョイン待ち行列クラスタ204と、データベース206と、随意に、ユーザインターフェース208とを含んでもよい。
ユーザは、ワークフローのためのイベント駆動管理エンジン200を利用し得る、アプリケーションを起動してもよい。アプリケーションの起動中、イベントが、発生し得る。イベントは、ユーザアクション、センサ出力、他のプログラムからの通知等を含んでもよい。各イベントは、ワークフローのためのイベント駆動管理エンジン200内に記憶され得る、1つまたはそれを上回る条件と関連付けられてもよい。ワークフローのための管理エンジン200は、決定ノード202と、フォークジョイン待ち行列クラスタ204と、データベース206と、随意に、ユーザインターフェース208とを含んでもよい。
例示的実施形態では、決定ノード202は、少なくとも1つの条件が真であると判定するように構成されてもよい。少なくとも1つの条件が真であるという判定は、条件付きループを起動することによって実施されてもよい。条件付きループは、少なくとも1つの条件が真であるかどうかをチェックするように構成されてもよい。
決定ノード202は、判定に基づいて、少なくとも1つのコンピュータモジュールを選択的に起動させるようにさらに構成されてもよい。コンピュータモジュールは、コンピュータツールを含んでもよい。ワークフローは、複数の生物学的データ形式と、複数の生物学的データ形式間の変換とをサポートしてもよい。したがって、コンピュータツールは、科学の具体的分野(例えば、バイオインフォマティクス)に言及してもよい。この場合では、コンピュータツールは、ユーザが具体的バイオインフォマティクスタスクを処理することを可能にする、バイオインフォマティクスツールを含んでもよい。
コンピュータモジュールの起動後、フォークジョイン待ち行列クラスタ204は、少なくとも1つのコンピュータモジュールを、関与コンピュータノードに非連続的に割り当ててもよい。関与コンピュータノードは、分散型クラウドコンピューティング環境内に位置してもよい。関与コンピュータノードを用いて、フォークジョイン待ち行列クラスタ204は、事前判定された基準に従ってデータセットを処理してもよい。フォークジョイン待ち行列クラスタ204は、ノード算出クラスタを使用する、非常に大きなデータセットの分析の速度および効率を向上させる。
分散型データベース206は、少なくとも1つのコンピュータモジュールを記憶するように構成されてもよい。さらに、分散型データベース206は、少なくとも1つのコンピュータモジュールと関連付けられる、少なくとも1つの条件を記憶するように構成されてもよい。ユーザインターフェース208は、ユーザが、コンピュータモジュールを構築し、コンピュータモジュールを修正し、データソースを規定し、コンピュータモジュールの実行のための条件を規定すること等を可能にしてもよい。
エンジン200は、図3を参照してさらに詳細に説明される。図3は、エンジン200を使用してワークフローを管理するためのグラフ表現300を示す。ワークフロー内で発生する各イベントは、1つまたはそれを上回る条件と関連付けられてもよい。言い換えると、条件は、この条件と関連付けられるイベントが発生するとき、満たされてもよい。ワークフローのためのイベント駆動管理エンジンの決定ノードが、少なくとも1つの条件が真であるかどうかをチェックするために、条件付きループを起動してもよい。イベント310の発生に応じて、決定ノードは、少なくとも1つの条件が真であると判定してもよい。イベント310と関連付けられる各真の条件320が、タスクを起動してもよい。タスクは、算出を実施するステップ、データを記憶するステップ、図を描くステップ等、データセットを処理するステップを含んでもよい。例示的実施形態では、データセットは、ユーザによって(例えば、データベースから)選択されてもよい。さらに、データセットは、試験機器から得られてもよい。ユーザは、データセットが得られ得るデータソースを規定するために、ユーザインターフェースを使用してもよい。
真の条件320が存在するという判定後、決定ノードは、少なくとも1つのコンピュータモジュールを選択的に起動させてもよい。コンピュータモジュールおよびコンピュータモジュールと関連付けられる条件は、データベース206内に記憶されてもよい。例示的実施形態では、ユーザは、コンピュータモジュールを構築または修正するだけではなく、コンピュータモジュールの実行のための条件を規定するために、ユーザインターフェースを使用してもよい。
いったん少なくとも1つのコンピュータモジュール330が起動されると、ワークフローのためのイベント駆動管理エンジンのフォークジョイン待ち行列クラスタが、少なくとも1つのコンピュータモジュールを、分散型クラウドコンピューティング環境内の関与コンピュータノードに非連続的に割り当ててもよい。クラウドコンピューティング環境は、性能を向上させ、タスクの並列実行を可能にするために、複数のコンピュータクラスタを含んでもよい。さらに、フォークジョイン待ち行列クラスタは、事前判定された基準に従ってデータセットを処理してもよい。
フォークジョイン待ち行列クラスタによって実施される並列ステップは、図4のスキーム400上に詳細に例証される。従来のワークフロー実行エンジンは、事前定義された分割のみをサポートし、具体的パラメータに依存する動的分割を取り扱うことはできない。したがって、フォークジョイン待ち行列クラスタは、従来技術に優る有意な向上を表す。開示される技術では、いくつかの並列タスクが実施されている場合、フォークジョイン待ち行列クラスタは、フォーク点450において、着信するタスク410を、フラグメント420として表されるいくつかのサブタスクに分割することができる。従来技術のワークフロー実行エンジンと対照的に、分割は、フォークジョイン待ち行列クラスタがタスクを分割するステップを開始すると、それを判定されることができる。フラグメント420は、多数のコンピュータノード(図示せず)によって処理されることができる。フラグメント420の処理後、処理されたフラグメント430は、ジョイン点460において、処理されたデータセット440に合体されてもよい。分割するステップは、合体させるステップの前に終了される必要があることに留意されたい。
図5は、フォークジョイン待ち行列クラスタによって、非対称の分割するステップおよび合体させるステップを実施するためのフローチャート500を示す。従来のワークフロー実行エンジンは、フォークおよびジョイン点の対を要求する。開示される技術では、フォーク点は、必ず対応するジョイン点を有する。したがって、図5に示されるフォークジョイン待ち行列クラスタは、2つのフォーク点および3つのジョイン点を有する。フォーク点およびジョイン点は、ワークフロー内のどこに位置してもよい。実際には、複数のソースからの入力を可能にする任意のツールが、ジョイン点としての役割を果たすことができる。ジョイン点がいくつかのフォーク点からの入力を有する場合、ジョイン点は、全てのフォーク点からの結果が利用可能であるとき、フラグメントを合体させることができる。これは、従来技術の従来のワークフロー実行エンジンに優り、開示される技術の柔軟性および効率を大幅に向上させる。
図5に示されるように、フォークジョイン待ち行列クラスタは、フォーク点560において、着信するタスク510を、フラグメント520、525として表されるいくつかのサブタスクに分割してもよい。フラグメント520は、多数のコンピュータノード(図示せず)によって処理されることができる。フラグメント520の処理後、処理されたフラグメント530は、ジョイン点580において合体されることができる。
フラグメント525は、依然として、単一コンピュータノードによって処理するためには複雑すぎることがあり得る。したがって、フラグメント525は、フォーク点570において、いくつかのフラグメント540に分割されてもよい。フラグメント540は、コンピュータノードによって処理されてもよい。フラグメント540の処理後、処理されたフラグメントのいくつか、特に、処理されたフラグメント550は、ジョイン点585において、ジョイン点580において合体された、処理されたフラグメントと合体されることができる。処理されたフラグメントの別の部分、特に、処理されたフラグメント555は、ジョイン点590において、ジョイン点585において合体された、処理されたフラグメントと合体されることができる。ジョイン点590における合体後、処理されたデータセット595が、得られることができる。
再び図3を参照すると、フォークジョイン待ち行列クラスタは、マスタノードと、関与コンピュータノードとを含んでもよい。マスタノードは、コンピュータモジュールと関連付けられるタスクを受信し、タスクを複数のフラグメントに分割し、フラグメントを関与コンピュータノードに配布するように構成されてもよい。関与コンピュータノードは、フラグメントを処理し、処理されたフラグメントをマスタノードに送信するように構成されてもよい。
具体的には、関与コンピュータノードへのコンピュータモジュールの割当は、コンピュータモジュールと関連付けられるタスクを、複数のフラグメント340に分割することによって実施されてもよい。各フラグメント340は、関与コンピュータノード350上で処理されてもよい。コンピュータモジュールは、関与コンピュータノード350によるサービスのためのタスクを分割するように構成される、1つまたはそれを上回るフォークジョイン待ち行列クラスタを使用するように構成されてもよい。関与コンピュータノード350は、処理されたフラグメント360を得るために、フラグメント340を処理してもよい。関与コンピュータノード350による処理後、マスタノードは、関与コンピュータノード350から処理されたフラグメント360を収集し、処理されたフラグメント360を処理されたデータセット370に合体させてもよい。処理されたデータセット370は、ユーザインターフェースによってユーザに提供されてもよい。
図6は、例示的実施形態による、ワークフローのためのコンピュータ実装イベント駆動管理方法600を示す、プロセスフロー図である。方法600は、ハードウェア(例えば、意思決定論理、専用論理、プログラマブル論理、およびマイクロコード)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で起動するソフトウェア等)、または両方の組み合わせから成り得る、処理論理によって実施されてもよい。
方法600は、動作610において、分散型データベースによって、少なくとも1つのコンピュータモジュールを記憶するステップから始まってもよい。動作620において、本方法は、分散型データベースによって、コンピュータモジュールと関連付けられる少なくとも1つの条件を記憶するステップを含んでもよい。算出モジュールは、少なくとも1つの条件が真となるまで起動されなくてもよい。
動作630において、決定ノードが、少なくとも1つの条件が真であるかどうかをチェックするように構成される、条件付きループを起動することによって、少なくとも1つの条件が真であると判定してもよい。判定に基づいて、決定ノードは、動作640において、少なくとも1つのコンピュータモジュールを選択的に起動させてもよい。
コンピュータモジュールが起動された後、動作650において、フォークジョイン待ち行列クラスタが、コンピュータモジュールを、分散型クラウドコンピューティング環境内の関与コンピュータノードに非連続的に割り当ててもよい。クラウドコンピューティング環境は、性能を向上させ、タスクの並列実行を可能にするために、複数のコンピュータクラスタを含んでもよい。ワークフローは、複数の生物学的データ形式と、複数の生物学的データ形式間の変換とをサポートしてもよい。この点から見て、例示的実施形態では、コンピュータモジュールは、バイオインフォマティクスツールを備えてもよい。
コンピュータモジュールは、事前判定された基準に従ってデータセットを処理するように構成されてもよい。例示的実施形態では、コンピュータモジュールは、コンピュータモジュールと関連付けられるタスクを複数のフラグメントに分割することによって、関与コンピュータノードに割り当てられてもよい。各フラグメントは、関与コンピュータノード上で処理されてもよい。処理されたフラグメントは、処理されたデータセットに合体されてもよい。
具体的には、コンピュータモジュールは、関与コンピュータノードによる処理のためにタスクを分割するように構成される、1つまたはそれを上回るフォークジョイン待ち行列クラスタを使用してもよい。フォークジョイン待ち行列クラスタは、関与コンピュータノードによる処理後、処理されたフラグメントを合体させてもよい。特に、フォークジョイン待ち行列クラスタはそれぞれ、マスタノードと、関与コンピュータノードとを含んでもよい。マスタノードは、コンピュータモジュールと関連付けられるタスクを受信し、タスクを複数のフラグメントに分割し、フラグメントを関与コンピュータノードに配布するように構成されてもよい。関与コンピュータノードは、フラグメントを処理し、処理されたフラグメントをマスタノードに送信するように構成されてもよい。マスタノードは、関与コンピュータノードから処理されたフラグメントを収集し、処理されたフラグメントを処理されたデータセットに合体させてもよい。
方法600の論理は、図7により詳細に例証される。図7は、いくつかの実施形態による、ワークフローのための詳細なコンピュータ実装イベント駆動管理方法700を例証する、フローチャートを示す。図7に示されるように、方法700は、動作710において、決定ノードによって、ワークフロー中に発生するイベントと関連付けられる条件を受信するステップから始まってもよい。
動作720において、決定ノードは、受信された条件が真であるかどうかをチェックするために、条件付きループを起動してもよい。条件が真ではない場合、決定ノードは、さらなる条件をチェックするために、動作710において、さらなる条件付きループを起動してもよい。条件が真である場合、条件は、イベントと関連付けられるタスクを処理してもよい。本目的のために、決定ノードは、動作730において、コンピュータモジュールを起動させてもよい。コンピュータモジュールは、事前判定された基準に従って、タスクと関連付けられるデータセットを処理するように構成されてもよい。
コンピュータモジュールの起動後、フォークジョイン待ち行列クラスタが、動作740において、タスクをいくつかのフラグメントに分割してもよい。フォークジョイン待ち行列クラスタのコンピュータノードは、動作750において、フラグメントを処理してもよい。処理後、フォークジョイン待ち行列クラスタは、動作760において、処理されたフラグメントを処理されたデータセットに合体させてもよい。随意に、処理されたデータセットは、ユーザインターフェース上でユーザに表されてもよい。
図8は、ある条件をチェックするための方法800を例証する、フローチャート800である。条件チェック810中、条件820、830、840のうちのどれが満たされるかが判定される。条件820、830が満たされる場合、決定ノードは、対応するステップ850または860を実施する。条件820、830のいずれも満たされない場合、決定ノードは、デフォルトの条件840を選択し、ステップ870を実施する。条件チェックが終了されると、ステップ880が、実行される。
図7のステップ720の条件付きループは、条件付きループ900として図9により詳細に例証される。条件チェック910が、条件付きループ900が実行される前に実施される。条件チェック910中、条件が偽であると判定される場合、全てのループステップが、データベースに追加される。ループステップをデータベースに追加した後、ループ内の第1のステップ920およびループ内の第2のステップ930として示されるループステップが、実行される。条件が真である場合、条件付きループ900は、終了し、条件付きループ900に続く全てのステップが、データベースに追加される。ステップがデータベースに追加された後、ステップ940が、実行される。第1のチェックに対して条件が真である場合、ループステップのいずれも、実行されない。
図10は、別の例示的条件付きループ1000を例証する。ループ1000は、条件チェック1030の前に、少なくとも1回実行される。条件付きループ1000の実行中、ループ内の第1のステップ1010およびループ内の第2のステップ1020として示される、いくつかのステップが、実施されることができる。条件が偽である場合、条件付きループ1000は、再び実行される。条件付きループ1000のステップ1010および1020は、データベースに追加されることができる。
条件が真である場合、条件付きループ1000は、終了する。条件付きループ1000後の全てのステップが、データベースに追加される。ステップをデータベースに追加した後、第1のステップ1040が、実行される。
図11は、デジタルワークフロー配布プラットフォームおよびワークフロー配布のための方法が実装され得る、環境1100を例証する。環境1100は、ネットワーク1110と、ユーザ1120と、デジタルワークフロー配布プラットフォーム1200と、ユーザインターフェース1130と、1つまたはそれを上回るユーザデバイス1140と、データベース1150とを含む。
ネットワーク1110は、インターネットまたはデバイス間でデータを通信することが可能な任意の他のネットワークを含む。好適なネットワークは、例えば、ローカルイントラネット、PAN(パーソナルエリアネットワーク)、LAN(ローカルエリアネットワーク)、WAN(広域ネットワーク)、MAN(メトロポリタンエリアネットワーク)、仮想プライベートネットワーク(VPN)、ストレージエリアネットワーク(SAN)、フレームリレー接続、高度インテリジェントネットワーク(AIN)接続、同期型光ネットワーク(SONET)接続、デジタルT1、T3、E1、もしくはE3回線、デジタルデータサービス(DDS)接続、DSL(デジタル加入者回線)接続、イーサネット(登録商標)接続、ISDN(統合サービスデジタルネットワーク)回線、V.90、V.34、もしくはV.34bisアナログモデム接続等のダイヤルアップポート、ケーブルモデム、ATM(非同期転送モード)接続、またはFDDI(光ファイバ分散データインターフェース)もしくはCDDI(銅線分散データインターフェース)接続のうちの任意の1つまたはそれを上回るものを含む、またはそれとインターフェースをとる。さらに、通信はまた、WAP(無線アプリケーションプロトコル)、GPRS(汎用パケット無線サービス)、GSM(登録商標)(グローバルシステムフォーモバイルコミュニケーションズ)、CDMA(符号分割多重アクセス)もしくはTDMA(時分割多重アクセス)、セルラー電話ネットワーク、GPS(全地球測位システム)、CDPD(セルラーデジタルパケットデータ)、RIM(Research in Motion,Limited)二重ページングネットワーク、Bluetooth(登録商標)無線、またはIEEE 802.11ベースの無線周波数ネットワークを含む、種々の無線ネットワークのいずれかへのリンクを含む。ネットワーク1110は、RS−232直列接続、IEEE−1394(ファイヤワイヤ)接続、ファイバチャネル接続、IrDA(赤外線)ポート、SCSI(小型コンピュータシステムインターフェース)接続、USB(ユニバーサルシリアルバス)接続、または他の有線もしくは無線、デジタルもしくはアナログインターフェースまたは接続、メッシュ、もしくはDigi(R)ネットワーキングのうちの任意の1つまたはそれを上回るものをさらに含む、またはそれとインターフェースをとることができる。ネットワーク1110は、データ通信を目的として相互接続される、データ処理ノードのネットワークを含む。概して、ネットワーク1110は、事前定義されたプロトコルを使用することによって、デバイス間の通信を可能にするトランスポート媒体によって、ともに接続されるいくつかの類似する、または類似しないデバイスを含む。当業者は、本開示が、種々のネットワーク構成環境内で、および種々のコンピューティングデバイス上で実践され得ることを認識するであろう。
ユーザデバイス1140は、いくつかの例示的実施形態では、ユーザインターフェース1130を表示するためのグラフィカルユーザインターフェース(GUI)を含む。典型的なGUIでは、テキストメニューのみを提供する、または打ち込まれたコマンドを要求する代わりに、プラットフォーム1200は、ウィジェットと呼ばれるグラフィカルアイコン、視覚インジケータ、または特殊グラフィック要素を提示する。ユーザインターフェース1130は、ユーザ1120が、プログラミング知識を殆どまたは全く用いずに、複雑なタスクを構築および修正することを可能にするために、視覚フロントエンドとして利用される。
ユーザデバイス1140は、モバイル電話、コンピュータ、ラップトップ、スマートフォン、ファブレット、タブレットPC等を含む。いくつかの実施形態では、ユーザデバイス1140は、1人またはそれを上回るユーザ1120と関連付けられる。ユーザデバイス1140は、ユーザ1120に利用可能な情報およびアクションを完全に表すために、テキスト、標識、またはテキストナビゲーションと併せて使用される、アイコンを利用するように構成される。ユーザ1120は、いくつかの例示的実施形態では、ユーザデバイス1140のうちの1つを介して、ユーザインターフェース1130と相互作用する人物である。ユーザ1120は、自身の必要性のためにプラットフォーム1200を使用する人物を含んでもよい。例えば、ユーザ1120は、一連のコンピュータまたはデータ操作ステップを実施するためのプラットフォーム1200によって提供される、ワークフローを使用することを意図する科学者を含む。プラットフォーム1200は、1つまたはそれを上回るデータベース1150に接続されることができる。データベース1150は、ワークフロー、ユーザ1120、およびワークフローの展開のために必要とされる他のデータと関連付けられるデータを記憶することができる。
図11に示されるように、ユーザ1120は、ユーザデバイス1140上に提示されるユーザインターフェース1130を介して、プラットフォーム1200にアクセスすることができる。ユーザ1120は、要求をプラットフォーム1200に、ユーザインターフェース1130を介して送信することができる。例示的実施形態では、要求は、取得されるべきワークフローの選択によって提供されることができる。ユーザ1120の要求に応答して、プラットフォーム1200は、選択されたワークフローをユーザ環境中にインポートする。
図12は、例示的実施形態による、デジタルワークフロー配布プラットフォーム1200の詳細なブロック図を示す。プラットフォーム1200は、ユーザインターフェース1202と、配布モジュール1204と、ワークフローのための管理エンジン1206と、随意に、データベース1208とを含むことができる。
ユーザは、プラットフォーム1200にアクセスするために、ユーザインターフェース1202を利用することができる。ユーザインターフェース1202は、ユーザが、プラットフォーム1200上で利用可能なワークフローから、ワークフローのうちの1つを選択することを可能にすることができる。ユーザは、ワークフローと関連付けられる1つまたはそれを上回るパラメータに基づいて、選択を行うことができる。具体的には、プラットフォーム1200へのアクセス後、ユーザは、以下のパラメータ、すなわち、利用可能なワークフローのリスト、ワークフローのそれぞれと関連付けられる具体的情報、ワークフローのそれぞれに対して利用可能なツール、ワークフローの価格等のうちの1つまたはそれを上回るものを閲覧することができる。例示的実施形態では、ユーザは、ワークフローの図像上をクリックすることによって、着目ワークフローを選択することができる。
例示的実施形態では、ユーザインターフェース1202は、以下の機能性、すなわち、ワークフローを検索するステップ、ワークフローと関連付けられる情報を閲覧するステップ、ワークフローを購入するステップ、ワークフローをユーザ環境中にインポートするステップ、開発者が、ツールを開発し、ツールをワークフローのための管理エンジンにアップロードすることを可能にするステップ等のうちの1つまたはそれを上回るものを提供するように構成されることができる。
ユーザインターフェース1202は、プラットフォームオペレータによって調整されることができる。例示的実施形態では、各ワークフローは、事前判定されたガイドラインを用いて、承認プロセスおよび承諾を要求する。事前判定されたガイドラインを用いるワークフローの承認プロセスおよび承諾チェックは、プラットフォームオペレータによって実施されることができる。
プラットフォーム1200の配布モジュール1204は、ユーザが、ワークフローを取得することを可能にするように構成されることができる。さらに、配布モジュール1204は、ワークフローをユーザ環境中にインポートすることを可能にするように動作可能であり得る。例えば、ワークフローは、ユーザデバイス上にインストールされたアプリケーションとして、またはウェブベースのアプリケーションとして実装されることができる。
例示的実施形態では、配布モジュール1204は、ワークフローユーザからの手数料を査定することを可能にすることができる。例えば、プラットフォーム1200と関連付けられるユーザ口座は、ユーザ環境中にインポートされるべきワークフローの料金を請求されることができる。したがって、例えば、ワークフローがユーザ環境中にインポートされる前に、ワークフローの価格に対応する金額が、ユーザ口座から差し引かれ、ワークフロー所有者と関連付けられる口座に転送されることができる。さらに、ある割合の手数料または一定金額が、プラットフォームオペレータに支払われることができる。ワークフローは、予約購入ベースで、例えば、月間手数料または年間手数料を支払うことによって販売されることができる。別の例示的実施形態では、ワークフローは、使用あたりベース、1回限りの一括払い等で販売されることができる。
ワークフローは、SaaSとして利用可能であり、そのため、ワークフローおよび関連付けられるデータは、クラウド環境内に一元的にホストされる。そのような環境では、ユーザは、シンクライアントを使用して、ウェブブラウザを介してワークフローにアクセスすることができる。ワークフローがSaaSとして提供されると、その使用は、容易に追跡され、ユーザは、使用あたりで請求されることができる。
マルチテナントSaaS環境では、ユーザプロビジョニング(すなわち、ユーザ属性の作成、保守、および無効化)のコストは、比較的安価である。したがって、ワークフロー提供者は、ユーザに、制限付き機能性または範囲を伴う無料ワークフローサービスさえ提供してもよい。この場合では、手数料は、基本無料ワークフローサービスに加えて向上された機能性に対してのみ請求されることができる。
プラットフォーム1200のワークフローのための管理エンジン1206は、ユーザ環境中にインポートされたワークフローの展開をサポートするように構成されることができる。ワークフローのための管理エンジン1206は、決定ノードと、フォークジョイン待ち行列クラスタと、分散型データベースとを含むことができる。ワークフローのための管理エンジン1206は、ユーザ環境内で起動するアプリケーションに通信可能に結合され、ユーザが、アプリケーション内で一連のタスクを管理および定義することを可能にすることができる。種々のイベントが、アプリケーションが起動するにつれて発生し得る。これらのイベントは、ユーザアクション、センサ出力、他のプログラムからの通知等を含むことができる。各イベントは、ワークフローのための管理エンジン1206内に記憶される、1つまたはそれを上回る条件と関連付けられることができる。
例示的実施形態では、決定ノードは、少なくとも1つの条件が真であると判定するように構成される。少なくとも1つの条件が真であるという判定は、条件付きループを起動することによって実施されることができる。条件付きループは、少なくとも1つの条件が真であるかどうかをチェックするように構成されることができる。決定ノードは、判定に基づいて、少なくとも1つのコンピュータモジュールを選択的に起動させるようにさらに構成されることができる。コンピュータモジュールは、コンピュータツールを含むことができる。ワークフローは、複数の生物学的データ形式だけではなく、複数の生物学的データ形式間の変換もサポートすることができる。コンピュータツールは、科学の具体的分野(例えば、バイオインフォマティクス)に関連することができる。一実施形態では、コンピュータツールは、ユーザが具体的バイオインフォマティクスタスクを処理することを可能にする、バイオインフォマティクスツールである。
コンピュータモジュールの起動後、フォークジョイン待ち行列クラスタは、少なくとも1つのコンピュータモジュールを、関与コンピュータノードに非連続的に割り当てることができる。関与コンピュータノードは、分散型クラウドコンピューティング環境内に位置することができる。関与コンピュータノードを使用して、フォークジョイン待ち行列クラスタは、事前判定された基準に従ってデータセットを処理することができる。さらなる例示的実施形態では、プラットフォーム1200のワークフローのための管理エンジン1206は、図2のワークフローのためのイベント駆動管理エンジン200である。
分散型データベース1208は、少なくとも1つのコンピュータモジュールと、少なくとも1つのコンピュータモジュールと関連付けられる、少なくとも1つの条件とを記憶するように構成されることができる。さらに、分散型データベース1208は、ワークフロー、ユーザ、およびユーザによるワークフローの展開のために必要とされる他のデータと関連付けられるデータを記憶するように構成されることができる。いったんワークフローがユーザ環境中にインポートされると、ユーザは、ワークフローを編集することが可能となり得る。さらに、ユーザは、ワークフローと関連付けられるパラメータおよびツールを編集することができる。
図13は、別の例示的実施形態による、ワークフロー配布のための方法1300を例証する。ユーザ1120は、デジタルワークフロー配布プラットフォーム1200に接続するために、ユーザインターフェースを有するユーザデバイス1140を使用することができる。ユーザデバイス1140は、ネットワーク1110を介してデジタルワークフロー配布プラットフォーム1200と接続されることができる。デジタルワークフロー配布プラットフォーム1200への接続に応じて、ユーザ1120は、デジタルワークフロー配布プラットフォーム1200から取得され得るワークフローを検索することができる。ユーザ1120は、利用可能なワークフローと関連付けられる情報を閲覧することができる。ユーザ1120は、ワークフローを選択し、ユーザ要求1310をデジタルワークフロー配布プラットフォーム1200に送信することができる。
例示的実施形態では、ユーザ要求1310は、ワークフローを取得するステップと、ワークフローをユーザ環境中にインポートするステップとに関連することができる。ユーザ要求1310を受信するステップに応じて、デジタルワークフロー配布プラットフォーム1200は、ユーザ要求1310を処理する。ユーザ要求1310の処理後、デジタルワークフロー配布プラットフォーム1200は、ワークフロー1320をユーザ1120のクラウドベースの環境1330に提供することができる。図13に示される実施形態では、ワークフロー1320は、ウェブベースのワークフローであり、クラウドベースの環境1330中にインポートされるように構成される。ユーザ1120は、ユーザデバイス1140上のユーザインターフェースを介して、クラウドベースの環境1330にアクセスすることができる。ワークフロー1320をユーザ1120に提供するステップは、ワークフロー1320をクラウドベースの環境1330中にインポートするステップを含むことができる。ワークフロー1320のインポート後、ユーザ1120は、自身の必要性に従ってワークフロー1320を編集してもよい。
図14は、例示的実施形態による、ワークフローツール配布のための方法1400を例証する。図13に示されるクラウドベースの環境中へのワークフローのインポート後、ユーザ1120は、ワークフロー1410と関連付けられるツールを取得することによって、ワークフロー1410を展開することができる。ユーザ1120は、ネットワーク1110を介してデジタルワークフロー配布プラットフォーム1200に接続するために、ユーザインターフェース1130を有するユーザデバイス1140を利用することができる。デジタルワークフロー配布プラットフォーム1200への接続に応じて、ユーザ1120は、デジタルワークフロー配布プラットフォーム1200内での取得に利用可能なツールを検索することができる。ツールは、次いで、クラウドベースの環境1330内にインストールされたワークフロー1410と関連付けられる(すなわち、ツールは、ワークフロー1410中に追加されることができる)。ユーザ1120は、利用可能なツールと関連付けられる情報を閲覧し、着目ツールを選択する。ユーザ1120は、ツール要求1420をデジタルワークフロー配布プラットフォーム1200に送信することができる。例示的実施形態では、ツール要求1410は、ユーザ環境1330中に追加されるべきツールを取得するステップを含む。ツール要求1420を受信するステップに応じて、デジタルワークフロー配布プラットフォーム1200は、ツール要求1420を処理することができる。ツール要求1420の処理後、デジタルワークフロー配布プラットフォーム1200は、ツール1430をクラウドベースの環境1330内のワークフロー1410に追加することができる。ツール1430の追加後、ユーザ1120は、ワークフロー1410と関連付けられるツール1430を編集することが可能である。
図15は、例示的実施形態による、ワークフロー配布のためのコンピュータ実装方法1500を示す、プロセスフロー図である。方法1500は、ハードウェア(例えば、意思決定論理、専用論理、プログラマブル論理、およびマイクロコード)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で起動するソフトウェア等)、または両方の組み合わせを含む、処理論理によって実施されることができる。
方法1500は、動作1510において、ワークフローを選択するために、ユーザインターフェースによってユーザコマンドを受信するステップから始まることができる。ユーザは、ワークフローと関連付けられる1つまたはそれを上回るパラメータに基づいて、選択を行うことができる。動作1520において、ユーザは、ワークフローを取得することが可能である。動作1530において、ユーザは、ユーザ環境中にワークフローをインポートすることが可能である。例示的実施形態では、ワークフローは、プラットフォームまたはウェブベースのワークフローにアクセスするクライアントソフトウェア等、ユーザデバイス上にインストールされるアプリケーションを含むことができる。ワークフローは、予約購入ベース、使用あたりベース、1回限りの一括ベース、ピアツーピアベース、または同等物で販売されることができる。例示的実施形態では、ワークフローは、SaaSとして配布される。
ワークフローのインポート後、ワークフローのための管理エンジン1206が、動作1540において、ユーザ環境中にインポートされたワークフローの展開をサポートする。ワークフローの展開をサポートするために、ワークフローのための管理エンジンは、決定ノードと、フォークジョイン待ち行列クラスタと、分散型データベースとを含むことができる。決定ノードは、ワークフロー内で発生するイベントと関連付けられる少なくとも1つの条件が、真であると判定するように構成される。少なくとも1つの条件が真であるという判定は、少なくとも1つの条件が真であるかどうかをチェックするように構成される、条件付きループを起動することによって実施される。さらに、判定に基づいて、決定ノードは、少なくとも1つのコンピュータモジュールを選択的に起動させることができる。コンピュータモジュールは、真の条件と関連付けられるタスクを処理することができる。フォークジョイン待ち行列クラスタは、少なくとも1つのコンピュータモジュールを、分散型クラウドコンピューティング環境内の関与コンピュータノードに非連続的に割り当てるように構成されることができる。フォークジョイン待ち行列クラスタは、事前判定された基準に従ってデータセットを処理することができる。分散型データベースは、コンピュータモジュールおよびコンピュータモジュールと関連付けられる条件を記憶するように構成されることができる。算出モジュールは、少なくとも1つの条件が真となるまで起動されない。ワークフローの展開は、ワークフローがユーザ環境中にインポートされた後、ワークフローを修正するステップと、ワークフローと関連付けられるパラメータおよびツールを修正するステップとを含む。
例示的実施形態では、ユーザインターフェースは、以下の機能性、すなわち、ワークフローを検索するステップ、ワークフローと関連付けられる情報を閲覧するステップ、ワークフローを購入するステップ、ワークフローをユーザ環境中にインポートするステップ、開発者が、ツールを開発し、ツールをワークフローのための管理エンジンにアップロードすることを可能にするステップ等のうちの1つまたはそれを上回るものを提供するように構成される。ユーザインターフェースは、プラットフォームオペレータによって調整されることができる。各ワークフローは、事前判定されたガイドラインを用いて、承認プロセスおよび承諾を要求してもよい。プラットフォームオペレータは、事前判定されたガイドラインを用いて、ワークフローの承認プロセスおよび制御承諾を実施することができる。
図16は、ワークフローの要素の視覚化のための方法およびシステムが実装され得る、環境1600を例証する。環境1600は、ネットワーク1610と、ユーザ1620と、ワークフローの要素の視覚化ためのシステム1800と、ユーザインターフェース1630と、1つまたはそれを上回るクライアントデバイス1640と、データベース1650とを含んでもよい。
ネットワーク1610は、インターネットまたはデバイス間でデータを通信することが可能な任意の他のネットワークを含んでもよい。好適なネットワークは、例えば、ローカルイントラネット、PAN(パーソナルエリアネットワーク)、LAN(ローカルエリアネットワーク)、WAN(広域ネットワーク)、MAN(メトロポリタンエリアネットワーク)、仮想プライベートネットワーク(VPN)、ストレージエリアネットワーク(SAN)、フレームリレー接続、高度インテリジェントネットワーク(AIN)接続、同期型光ネットワーク(SONET)接続、デジタルT1、T3、E1、もしくはE3回線、デジタルデータサービス(DDS)接続、DSL(デジタル加入者回線)接続、イーサネット(登録商標)接続、ISDN(統合サービスデジタルネットワーク)回線、V.90、V.34、もしくはV.34bisアナログモデム接続等のダイヤルアップポート、ケーブルモデム、ATM(非同期転送モード)接続、またはFDDI(光ファイバ分散データインターフェース)もしくはCDDI(銅線分散データインターフェース)接続のうちの任意の1つまたはそれを上回るものを含む、またはそれとインターフェースをとってもよい。さらに、通信はまた、WAP(無線アプリケーションプロトコル)、GPRS(汎用パケット無線サービス)、GSM(登録商標)(グローバルシステムフォーモバイルコミュニケーションズ)、CDMA(符号分割多重アクセス)もしくはTDMA(時分割多重アクセス)、セルラー電話ネットワーク、GPS(全地球測位システム)、CDPD(セルラーデジタルパケットデータ)、RIM(Research in Motion,Limited)二重ページングネットワーク、Bluetooth(登録商標)無線、またはIEEE 802.11ベースの無線周波数ネットワークを含む、種々の無線ネットワークのいずれかへのリンクを含んでもよい。ネットワーク1610は、RS−232直列接続、IEEE−1394(ファイヤワイヤ)接続、ファイバチャネル接続、IrDA(赤外線)ポート、SCSI(小型コンピュータシステムインターフェース)接続、USB(ユニバーサルシリアルバス)接続、または他の有線もしくは無線、デジタルもしくはアナログインターフェースまたは接続、メッシュ、もしくはDigi(R)ネットワーキングのうちの任意の1つまたはそれを上回るものをさらに含む、またはそれとインターフェースをとることができる。ネットワーク1610は、データ通信を目的として相互接続される、データ処理ノードのネットワークを含んでもよい。ネットワーク1610は、ソフトウェア定義ネットワーキング(SDN)を含んでもよい。SDNは、上記のネットワークタイプの1つまたはそれを上回るものを含んでもよい。概して、ネットワーク1610は、事前定義されたプロトコルを使用することによって、デバイス間の通信を可能にするトランスポート媒体によって、ともに接続されるいくつかの類似する、または類似しないデバイスを含んでもよい。当業者は、本開示が、種々のネットワーク構成環境内で、および種々のコンピューティングデバイス上で実践され得ることを認識するであろう。
クライアントデバイス1640は、いくつかの例示的実施形態では、ユーザインターフェース1630を表示するためのグラフィカルユーザインターフェース(GUI)を含んでもよい。典型的なGUIでは、テキストメニューのみを提供する、または打ち込まれたコマンドを要求する代わりに、ユーザインターフェース1630は、ウィジェットと呼ばれるグラフィカルアイコン、視覚インジケータ、または特殊グラフィック要素を提示してもよい。ユーザインターフェース1630は、ユーザ1620が、プログラミング知識を殆どまたは全く用いずに、ワークフローを構築および修正することを可能にするために、視覚フロントエンドとして利用されてもよい。
クライアントデバイス1640は、モバイル電話、コンピュータ、ラップトップ、スマートフォン、タブレットパーソナルコンピュータ(PC)等を含んでもよい。いくつかの実施形態では、クライアントデバイス1640は、1人またはそれを上回るユーザ1620と関連付けられてもよい。クライアントデバイス1640は、ユーザ1620に利用可能な情報およびアクションを完全に表すために、テキスト、標識、またはテキストナビゲーションと併せて使用される、アイコンを利用するように構成されてもよい。ユーザ1620は、いくつかの例示的実施形態では、クライアントデバイス1640のうちの1つを介して、ユーザインターフェース1630と相互作用する人物であってもよい。ユーザ1620は、自身の必要性のためにワークフローの要素の視覚化のためのシステム1800を使用する、人物を表してもよい。例えば、ユーザ1620は、一連の集中的コンピュータまたはデータ操作ステップを実施するためのワークフローの要素の視覚化のためのシステム1800を使用する、科学者を含んでもよい。図16に示されるように、ユーザ1620は、クライアントデバイス1640上で起動するアプリケーションにデータを入力してもよい。アプリケーションは、ワークフローの要素の視覚化のためのシステム1800を利用してもよい。ユーザ1620の入力に基づいて、ワークフローの要素の視覚化のためのシステム1800は、クライアントデバイス1640上で起動するアプリケーションのワークフローを視覚化してもよい。ワークフローの要素の視覚化のためのシステム1800は、1つまたはそれを上回るデータベース1650に接続されてもよい。データベース1650は、一連のワークフロー内で実行される必要があるタスク、ワークフローの配置上のワークフロー要素を位置決めするステップと関連付けられるルール等と関連付けられるデータを記憶してもよい。
図17は、例示的実施形態による、ワークフローの要素の視覚化のためのコンピュータ実装方法1700を示す、プロセスフロー図である。方法1700は、ハードウェア(例えば、意思決定論理、専用論理、プログラマブル論理、およびマイクロコード)、ソフトウェア(汎用コンピュータシステムまたは専用機械上で起動するソフトウェア等)、または両方の組み合わせから成り得る、処理論理によって実施されてもよい。
方法1700は、動作1710において、ユーザインターフェースを介してワークフローを表示するステップから始まる。ワークフローは、単語、アイデア、タスク等、複数の要素を含む。要素は、ユーザインターフェース上にブロックの形態において示されてもよい。要素間の接続は、ブロック間の接続として示されてもよい。動作1720において、本方法は、ワークフロー内に1つまたはそれを上回る折り畳み可能な要素の群を定義するステップを含む。定義するステップは、事前判定された群化基準に基づいて行われる。1つまたはそれを上回る折り畳み可能な要素の群は、ループ、条件文、コンピュータツール、マーカー、アルゴリズム、ネスト化ワークフロー等のうちの1つまたはそれを上回るものを含む。
動作1730において、1つまたはそれを上回る折り畳み可能な要素の群を折り畳むための要求が、ユーザから受信される。要求の受信後、1つまたはそれを上回る折り畳み可能な要素の群は、動作1740において、1つまたはそれを上回る折り畳まれた要素の群に折り畳まれる。
1つまたはそれを上回る折り畳み可能な要素の群の折り畳み後、動作1750において、複数の要素と、1つまたはそれを上回る折り畳まれた要素の群との配置が、選択的に再調節される。配置上に折り畳まれた要素の群を描写するブロックが、折り畳み可能な要素の群のブロックよりもサイズが大きくてもよい。
例示的実施形態では、方法1700は、動作1740において形成される、1つまたはそれを上回る折り畳まれた要素の群を拡張するための要求を、ユーザから受信するステップをさらに含む。要求に応答して、折り畳まれた要素の群は、1つまたはそれを上回る要素の群に拡張される。要素の群の拡張後、ワークフローの配置は、選択的に再調節される。
例示的実施形態では、方法1700は、随意に、さらなる要素をワークフローに追加するために、ユーザから要求を受信するステップを含む。要求に応答して、さらなる要素は、ワークフローに追加され、ワークフローの配置は、選択的に再調節される。
例示的実施形態では、方法1700は、随意に、さらなる要素をワークフローから除去するために、ユーザから要求を受信するステップを含む。要求に応答して、さらなる要素は、ワークフローから除去され、ワークフローの配置は、選択的に再調節される。
さらなる例示的実施形態では、方法1700は、随意に、ワークフローのさらなる要素を修正するために、ユーザから要求を受信するステップを含む。要求に応答して、ワークフローのさらなる要素は、修正され、ワークフローの配置は、選択的に再調節される。
いくつかの例示的実施形態では、方法1700は、省スペース化要素をワークフローの配置に追加するステップを含む。省スペース化要素は、配置上の要素の配列を最適化するために、ワークフローの要素の配列を再順序付けするように構成される。いくつかの実施形態では、再順序付けするステップは、自動的に起こる。つまり、ワークフローの各要素は、折り畳み可能な要素の群を折り畳むため、折り畳まれた要素の群を拡張するため、さらなる要素をワークフローに追加するため、および同等物のために、ユーザ要求を受信するステップに応答して、自己位置決めされる。
例示的実施形態では、方法1700は、ワークフローの要素またはその要素の群の視覚化を作成するための要求を受信するステップを含む。視覚化は、ユーザが、ワークフロー上で作業しながら、要素または要素の群を編集することを可能にする。要求に応答して、ワークフローの要素またはその要素の群の視覚化は、作成される。
例示的実施形態では、視覚化は、インラインエディタを備える。インラインエディタは、ユーザが、ユーザインターフェースを介して示される要素を動的に編集することを可能にする。インラインエディタは、ユーザが、ワークフローの要素のマーカーを作成し、拡張可能ブロックとしてマーカーを描写することを可能にする。マーカーは、拡張可能ブロック内に含まれる要素の説明を含んでもよい。マーカーの作成後、マーカーは、配置上に描写される。
ユーザがマーカーによってマーキングされたブロックの要素を実行する必要があるとき、ユーザは、マーカーによってマーキングされた拡張可能ブロックを拡張するための要求を与える。要求に応答して、拡張可能ブロックは、拡張し、ユーザは、ワークフローの必要とされる要素を選択する。ユーザは、いくつかのマーカーを選択してもよく、その要素がワークフロー内で実行される。そのような場合では、選択されないマーカーの要素は、ワークフロー中に実行されない。
さらに、例示的実施形態では、ユーザは、ワークフローの選択された要素の群に対してアルゴリズムを作成し、アルゴリズムを記述するマーカーを用いて、選択された要素の群をマーキングする。選択された要素の群の全ての要素が、ユーザによって作成されたアルゴリズムを使用して実行される。
図18は、例示的実施形態による、ワークフローの要素の視覚化のためのシステム1800の詳細なブロック図を示す。システム1800は、プロセッサ1802と、ユーザインターフェース1804と、随意に、データベース1806とを含んでもよい。
例示的実施形態では、プロセッサ1802は、事前判定された群化基準に基づいて、ワークフロー内に1つまたはそれを上回る折り畳み可能な要素の群を定義するように構成される。さらに、プロセッサ1802は、ユーザから、1つまたはそれを上回る折り畳み可能な要素の群を折り畳むための要求を受信するように構成される。要求に応答して、プロセッサ1802は、1つまたはそれを上回る折り畳み可能な要素の群を、1つまたはそれを上回る折り畳まれた要素の群に折り畳むように構成される。1つまたはそれを上回る折り畳み可能な要素の群は、ループ、条件文、コンピュータツール、マーカー、アルゴリズム、ネスト化ワークフロー等を含む。1つまたはそれを上回る折り畳み可能な要素の群の折り畳み後、プロセッサは、複数の要素と、1つまたはそれを上回る折り畳まれた要素の群との配置を選択的に再調節する。
例示的実施形態では、プロセッサ1802は、さらなる要素をワークフローに追加するための要求を受信するようにさらに構成される。要求に応答して、プロセッサ1802は、さらなる要素をワークフローに追加し、ワークフローの配置を選択的に再調節する。さらなる例示的実施形態では、プロセッサ1802は、さらなる要素をワークフローから除去するための要求を受信するようにさらに構成される。要求に応答して、プロセッサ1802は、さらなる要素をワークフローから除去し、ワークフローの配置を選択的に再調節する。例示的実施形態では、プロセッサ1802は、ワークフローのさらなる要素を修正するための要求を受信するようにさらに構成される。要求に応答して、プロセッサ1802は、ワークフローのさらなる要素を修正し、ワークフローの配置を選択的に再調節する。
さらなる例示的実施形態では、プロセッサ1802は、省スペース化要素をワークフローの配置に追加するように構成される。省スペース化要素は、配置上の要素の配列を最適化するために、ワークフローの要素の配列を再順序付けするように構成される。
さらなる例示的実施形態では、プロセッサ1802は、ワークフローの要素またはその要素の群の視覚化を作成するための要求を受信するように構成される。視覚化は、ユーザが、ワークフロー上で作業しながら、要素または要素の群を編集することを可能にする。要求に応答して、プロセッサ1802は、ワークフローの要素またはその要素の群の視覚化を作成する。例示的実施形態では、視覚化は、インラインエディタを備える。さらなる例示的実施形態では、プロセッサ1802は、図12のデジタルワークフロー配布プラットフォーム1200である。
システム1800のユーザインターフェース1804は、ワークフローを表示するように構成される。ワークフローは、複数の要素を含む。複数の要素は、単語、アイデア、タスク、および同等物を含む。例示的実施形態では、ユーザインターフェース1804は、ワークフローの要素をブロックとして描写する。ワークフローの要素間の接続は、ブロック間の接続として描写される。
データベース1806は、一連のワークフロー内で実行される必要があるタスク、ワークフローの配置上のワークフロー要素を位置決めするステップと関連付けられるルール等、ワークフローと関連付けられるデータを記憶する。
図19は、折り畳まれた形態におけるワークフローに関するスキーム1900を示す。ワークフローは、タスク1910−1960を含む。各タスクが、別個のブロック内に示される。タスク1910−1960のブロックは、マーカー1970、1980、1990、1995を備える。マーカー1970、1980、1990、1995は、タスク1910−1960上で行われることが可能なアクションを示す。例えば、タスク1960は、マーカー1990を使用することによって、ワークフローの配置から除去または隠されてもよい。タスク1920、1930、1950は、マーカー1995を使用することによって拡張されてもよい。マーカー1970、1980は、拡張されるべきタスクの能力、ワークフローの必須タスク、ワークフローの随意のタスク、および同等物等、タスク1910−1960に関連する任意の情報を表してもよい。
図20は、タスク1920が拡張される、図19の折り畳まれたワークフローに関するスキーム2000を示す。タスク1920は、ステップ2010−2060として示される、いくつかのステップを含む。拡張されたタスク1920は、マーカー1995を使用して、初期形態に折り畳まれてもよい。マーカー2070は、タスク1920からステップ2010−2060を除去するために使用される。マーカー2080は、タスク1920を閉じるために使用される。
図21は、タスク1930が拡張される、図19の折り畳まれたワークフローに関するスキーム2100を示す。明確な例証のために、タスク1910、1950、1960は、図21に示されない。タスク1930は、ステップ2110−2160として示される、いくつかのステップを含む。拡張されたタスク1930は、マーカー1995を使用して、初期形態に折り畳まれてもよい。マーカー2080は、タスク1930を閉じるために使用される。マーカー2070は、タスク1930からステップ2110−2160を除去するために、またはワークフローからタスク1940を除去するために使用される。
図22A−22Cは、拡張された形態における図19のワークフローに関するスキーム2200を示す。特に、図22Aに示されるように、タスク2210は、拡張不可能である。タスク2220は、拡張され、ステップ2221−2226を含む。マーカー2070は、タスク2220からステップ2221−2226のいずれかを除去するために使用される。拡張されたタスク2220は、マーカー1995を使用して、初期形態に折り畳まれてもよい。マーカー2080は、タスク2220を閉じるために使用される。
図22Bは、拡張された形態におけるタスク2230を示す。タスク2230は、拡張され、ステップ2231−2236を含む。マーカー1995は、タスク2230を折り畳むために使用されてもよい。マーカー2070は、タスク2230からステップ2231−2236のいずれかを除去するために使用される。マーカー2080は、タスク2230を閉じるために使用される。
図22Cに示されるように、タスク2240および2260は、拡張不可能である。タスク2250は、拡張され、ステップ2251−2257を含む。マーカー1995は、タスク2250を折り畳むために使用される。マーカー2070は、タスク2250からステップ2251−2257のいずれかを除去するために使用される。マーカー2080は、タスク2250を閉じるために使用される。
タスク2220、2230、2250は、図22A−22Cに示されるワークフロー内に備えられるネスト化ワークフローを表す。具体的には、タスク2220、2230、2250は、図22A−22Cに示されるワークフローの起動中に実行される、ワークフローである。
図23は、機械に、本明細書に議論される方法論のうちの任意の1つまたはそれを上回るものを実行させるための命令のセットが実行され得る、コンピュータシステム2300の例示的電子形態における機械の概略図を示す。種々の例示的実施形態では、機械は、独立型デバイスとして動作するか、または他の機械に接続(例えば、ネットワーク接続)されてもよい。ネットワーク接続展開では、機械は、サーバクライアントネットワーク環境内のサーバもしくはクライアント機械の容量内で、またはピアツーピア(または分散)ネットワーク環境内のピア機械として動作してもよい。機械は、PC、タブレットPC、セットトップボックス(STB)、セルラー電話、携帯用音楽プレーヤ(例えば、Moving Picture Experts Group Audio Layer 3(MP3)プレーヤ等の携帯用ハードドライブオーディオデバイス)、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはその機械によって講じられるアクションを規定する(逐次または別様の)命令のセットを実行することが可能な任意の機械であってもよい。さらに、単一の機械のみが例証されているが、用語「機械」はまた、本明細書で議論される方法論のうちの任意の1つまたはそれを上回るものを実施するように、命令のセット(または複数のセット)を個別に、または合同で実行する、機械の任意の集合を含むと解釈されるものとする。
例示的なコンピュータシステム2300は、バス2308を介して相互に通信する、プロセッサまたは複数のプロセッサ2302(例えば、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、または両方)と、メインメモリ2304と、スタティックメモリ2306とを含む。コンピュータシステム2300は、ビデオディスプレイユニット2310(例えば、液晶ディスプレイ(LCD)または陰極線管(CRT))をさらに含んでもよい。コンピュータシステム2300はまた、英数字入力デバイス2312(例えば、キーボード)と、カーソル制御デバイス2314(例えば、マウス)と、ディスクドライブユニット2316と、信号生成デバイス2318(例えば、スピーカ)と、ネットワークインターフェースデバイス2320とを含んでもよい。
ディスクドライブユニット2316は、本明細書に説明される方法論または機能のうちの任意の1つまたはそれを上回るものを具現化する、またはそれによって利用される、命令およびデータ構造の1つまたはそれを上回るセット(例えば、命令2324)が記憶される、非一過性コンピュータ可読媒体2322を含む。命令2324はまた、コンピュータシステム2300によるその実行中に、完全または少なくとも部分的に、メインメモリ2304内および/またはプロセッサ2302内に常駐してもよい。メインメモリ2304およびプロセッサ2302はまた、機械可読媒体を構成してもよい。
命令2324は、いくつかの周知の転送プロトコル(例えば、ハイパーテキスト転送プロトコル(HTTP))のうちの任意の1つを利用して、ネットワークインターフェースデバイス2320を介して、ネットワーク2326を経由してさらに伝送または受信されてもよい。
コンピュータ可読媒体2322は、例示的実施形態において単一の媒体であるように示されているが、用語「コンピュータ可読媒体」は、1つまたはそれを上回る命令のセットを記憶する、単一の媒体または複数の媒体を(例えば、集中型または分散型データベース、および/または関連付けられるキャッシュおよびサーバ)含むと解釈されるべきである。用語「コンピュータ可読媒体」はまた、機械による実行のための命令のセットを記憶、符号化、または搬送することが可能である、機械に本願の方法論のうちの任意の1つもしくはそれを上回るものを実施させる、またはそのような命令のセットによって利用される、もしくはそれらと関連付けられるデータ構造を記憶、符号化、または搬送することが可能である、任意の媒体を含むとも解釈されるものとする。用語「コンピュータ可読媒体」は、故に、限定ではないが、ソリッドステートメモリ、光学および磁気媒体、ならびに搬送波信号を含むと解釈されるものとする。そのような媒体はまた、限定ではないが、ハードディスク、フロッピー(登録商標)ディスク、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、および同等物を含んでもよい。
本明細書に説明される例示的実施形態は、コンピュータ上に、ハードウェア内に、またはソフトウェアおよびハードウェアの組み合わせ内にインストールされる、コンピュータ実行可能命令(例えば、ソフトウェア)を備える、動作環境内で実装されることができる。コンピュータ実行可能命令は、コンピュータプログラミング言語で書き込まれることができる、またはファームウェア論理で具現化されることができる。認識された規格に適合するプログラミング言語で書き込まれる場合、そのような命令は、種々のハードウェアプラットフォーム上で、種々のオペレーティングシステムへのインターフェースに対して実行されることができる。それらに限定されないが、本方法を実装するためのコンピュータソフトウェアプログラムは、例えば、ハイパーテキストマークアップ言語(HTML)、ダイナミックHTML、拡張マークアップ言語(XML)、拡張スタイルシート言語(XSL)、文書スタイル意味指定言語(DSSSL)、カスケーディングスタイルシート(CSS)、同期化マルチメディア統合言語(SMIL)、無線マークアップ言語(WML)、Java(登録商標)TM、JiniTM、C、C++、Perl、UNIX(登録商標)シェル、ビジュアルベーシックもしくはビジュアルベーシックスクリプト、仮想現実マークアップ言語(VRML)、ColdFusionTM、または他のコンパイラ、アセンブラ、インタプリタ、または他のコンピュータ言語もしくはプラットフォーム等の任意の数の好適なプログラミング言語で書き込まれることができる。
したがって、ワークフローの要素の視覚化のための、ワークフロー配布のための、およびワークフローのためのイベント駆動管理のための方法およびシステムが、開示される。実施形態は具体的かつ例示的実施形態を参照して説明されているが、種々の修正および変更が、本願のより広い精神および範囲から逸脱することなく、これらの例示的実施形態になされ得ることが、明白であろう。故に、本明細書および図面は、制限的ではなく、例証的意味であると見なされたい。
Claims (76)
- マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のための方法であって、
グラフィカルユーザインターフェース(GUI)を介して、前記ワークフローを表示することであって、前記ワークフローは、複数の要素を含む、ことと、
事前判定された群化基準に基づいて、前記ワークフロー内に、1つまたはそれを上回る折り畳み可能な要素の群を定義することと、
ユーザから、前記1つまたはそれを上回る折り畳み可能な要素の群を折り畳むための要求を受信することと、
前記1つまたはそれを上回る折り畳み可能な要素の群を、1つまたはそれを上回る折り畳まれた要素の群に折り畳むことと、
前記複数の要素と、前記1つまたはそれを上回る折り畳まれた要素の群との配置を選択的に再調節することと、
を含む、方法。 - さらなる要素を、前記ワークフローに追加するための要求を受信することと、
前記さらなる要素を、前記ワークフローに追加することと、
前記ワークフローの配置を選択的に再調節することと、
をさらに含む、請求項1に記載の方法。 - さらなる要素を、前記ワークフローから除去するための要求を受信することと、
前記さらなる要素を、前記ワークフローから除去することと、
前記ワークフローの配置を選択的に再調節することと、
をさらに含む、請求項1に記載の方法。 - 前記ワークフローのさらなる要素を修正するための要求を受信することと、
前記ワークフローのさらなる要素を修正することと、
前記ワークフローの配置を選択的に再調節することと、
をさらに含む、請求項1に記載の方法。 - 前記1つまたはそれを上回る折り畳み可能な要素の群は、ループと、条件文と、コンピュータツールと、マーカーと、アルゴリズムと、ネスト化ワークフローとのうちの1つまたはそれを上回るものを含む、請求項1に記載の方法。
- 前記複数の要素は、単語と、アイデアと、タスクとのうちの1つまたはそれを上回るものを含む、請求項1に記載の方法。
- 省スペース化要素を、前記ワークフローの配置に追加することをさらに含む、請求項1に記載の方法。
- 前記ワークフローの要素またはその要素の群の視覚化を作成するための要求を受信することであって、前記視覚化は、ユーザが、前記ワークフロー上で作業しながら、前記要素または要素の群を編集することを可能にする、ことと、
前記ワークフローの要素または要素の群の視覚化を作成することと、
をさらに含む、請求項1に記載の方法。 - 前記視覚化は、インラインエディタを備える、請求項8に記載の方法。
- 前記マルチノード算出クラスタは、Hadoopベースである、請求項1から9のうちのいずれか1つに記載の方法。
- 前記ワークフローは、科学的ワークフローである、請求項1から10のうちのいずれか1つに記載の方法。
- 前記科学的ワークフローは、非常に大きなゲノムデータセットを分析する、バイオインフォマティクスワークフローである、請求項11に記載の方法。
- マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のためのシステムであって、
プロセッサであって、
事前判定された群化基準に基づいて、前記ワークフロー内に、1つまたはそれを上回る折り畳み可能な要素の群を定義することと、
ユーザから、前記1つまたはそれを上回る折り畳み可能な要素の群を折り畳むための要求を受信することと、
前記1つまたはそれを上回る折り畳み可能な要素の群を、1つまたはそれを上回る折り畳まれた要素の群に折り畳むことと、
前記複数の要素と、前記1つまたはそれを上回る折り畳まれた要素の群との配置を選択的に再調節することと
を行うように構成される、プロセッサと、
前記ワークフローを表示するように構成される、ユーザインターフェースであって、前記ワークフローは、複数の要素を含む、ユーザインターフェースと、
を備える、システム。 - 前記ワークフローと関連付けられるデータを記憶するように構成される、データベースをさらに備える、請求項13に記載のシステム。
- 前記プロセッサは、
さらなる要素を、前記ワークフローに追加するための要求を受信することと、
前記さらなる要素を、前記ワークフローに追加することと、
前記ワークフローの配置を選択的に再調節することと
を行うようにさらに構成される、請求項13に記載のシステム。 - 前記プロセッサは、
さらなる要素を、前記ワークフローから除去するための要求を受信することと、
前記さらなる要素を、前記ワークフローから除去することと、
前記ワークフローの配置を選択的に再調節することと
を行うようにさらに構成される、請求項13に記載のシステム。 - 前記プロセッサは、
前記ワークフローのさらなる要素を修正するための要求を受信することと、
前記ワークフローのさらなる要素を修正することと、
前記ワークフローの配置を選択的に再調節することと
を行うようにさらに構成される、請求項13に記載のシステム。 - 前記1つまたはそれを上回る折り畳み可能な要素の群は、ループと、条件文と、コンピュータツールと、マーカーと、アルゴリズムと、ネスト化ワークフローとのうちの1つまたはそれを上回るものを含む、請求項13に記載のシステム。
- 前記複数の要素は、単語と、アイデアと、タスクとのうちの1つまたはそれを上回るものを含む、請求項13に記載のシステム。
- 前記プロセッサは、省スペース化要素を、前記ワークフローの配置に追加するようにさらに構成される、請求項13に記載のシステム。
- 前記プロセッサは、
前記ワークフローの要素またはその要素の群の視覚化を作成するための要求を受信することであって、前記視覚化は、ユーザが、前記ワークフロー上で作業しながら、前記要素または要素の群を編集することを可能にする、ことと、
前記ワークフローの要素またはその要素の群の視覚化を作成することと
を行うようにさらに構成される、請求項13に記載のシステム。 - 前記視覚化は、インラインエディタを備える、請求項21に記載のシステム。
- 前記マルチノード算出クラスタは、Hadoopベースである、請求項13から22のうちのいずれか1つに記載のシステム。
- 前記ワークフローは、科学的ワークフローである、請求項13から23のうちのいずれか1つに記載のシステム。
- 前記科学的ワークフローは、非常に大きなゲノムデータセットを分析する、バイオインフォマティクスワークフローである、請求項24に記載のシステム。
- その上にプログラムを具現化している非一過性コンピュータ可読記憶媒体であって、前記プログラムは、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローの要素の視覚化のための方法を実施するために、プロセッサによって実行可能であり、前記方法は、
ユーザインターフェースを介して、前記ワークフローを表示することであって、前記ワークフローは、複数の要素を含む、ことと、
事前判定された群化基準に基づいて、前記ワークフロー内に、1つまたはそれを上回る折り畳み可能な要素の群を定義することと、
ユーザから、前記1つまたはそれを上回る折り畳み可能な要素の群を折り畳むための要求を受信することと、
前記1つまたはそれを上回る折り畳み可能な要素の群を、1つまたはそれを上回る折り畳まれた要素の群に折り畳むことと、
前記複数の要素と、前記1つまたはそれを上回る折り畳まれた要素の群との配置を選択的に再調節することと、
さらなる要素を、前記ワークフローに追加するための要求を受信することと、
前記さらなる要素を、前記ワークフローに追加することと、
さらなる要素を、前記ワークフローから除去するための要求を受信することと、
前記さらなる要素を、前記ワークフローから除去することと、
前記ワークフローのさらなる要素を修正するための要求を受信することと、
前記ワークフローのさらなる要素を修正することと、
前記ワークフローの配置を選択的に再調節することと、
省スペース化要素を、前記ワークフローの配置に追加することと、
前記ワークフローの要素またはその要素の群の視覚化を作成するための要求を受信することであって、前記視覚化は、ユーザが、前記ワークフロー上で作業しながら、前記要素または要素の群を編集することを可能にする、ことと、
前記ワークフローの要素またはその要素の群の視覚化を作成することと、
を含む、非一過性コンピュータ可読記憶媒体。 - マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのための配布プラットフォームであって、
ユーザが、前記ワークフローと関連付けられる1つまたはそれを上回るパラメータに基づいて、前記ワークフローを選択することを可能にするように構成される、ユーザインターフェースと、
配布モジュールであって、
ユーザが、前記ワークフローを取得することと、
前記ワークフローを、ユーザ環境中にインポートすることと
を行うことを可能にするように構成される、配布モジュールと、
前記ユーザ環境中にインポートされたワークフローの展開をサポートするように構成される、ワークフローのための管理エンジンと、
を備える、配布プラットフォーム。 - 前記ユーザインターフェースは、前記ワークフローを検索すること、前記ワークフローと関連付けられる情報を閲覧すること、前記ワークフローを購入すること、前記ワークフローをユーザデバイスにダウンロードすること、および、開発者が、ツールを開発し、前記ツールを前記ワークフローのための管理エンジンにアップロードすることを可能にすること、のうちの1つまたはそれを上回る機能性を提供するように構成される、請求項27に記載のプラットフォーム。
- 前記ワークフローは、ユーザデバイス上にインストールされたアプリケーションを介して、またはウェブベースのアプリケーションを介して提供される、請求項27に記載のプラットフォーム。
- 前記ユーザインターフェースは、プラットフォームオペレータによって調整され、各ワークフローは、事前判定されたガイドラインを用いて、承認プロセスおよび承諾を要求する、請求項27に記載のプラットフォーム。
- 前記ワークフローと関連付けられるパラメータおよびツールは、前記ワークフローが前記ユーザ環境中にインポートされた後、編集可能である、請求項27に記載のプラットフォーム。
- 前記ワークフローは、前記ユーザ環境中にインポートされた後、編集可能である、請求項27に記載のプラットフォーム。
- 前記配布モジュールは、ワークフロー取得者からの手数料を査定することを可能にする、請求項27に記載のプラットフォーム。
- 前記手数料のある割合は、プラットフォームオペレータに支払われる、請求項33に記載のプラットフォーム。
- 前記ワークフローは、定義された期間にわたる無制限の使用、使用あたりベース、および、無制限の使用に対する1回限りの一括ベース、のうちの1つまたはそれを上回るものから選択されるものに基づいて販売される、請求項27に記載のプラットフォーム。
- 前記ワークフローは、サービスとしてのソフトウェア(SaaS)として配布される、請求項27に記載のプラットフォーム。
- 前記マルチノード算出クラスタは、Hadoopベースである、請求項27から36のうちのいずれか1つに記載のシステム。
- 前記ワークフローは、科学的ワークフローである、請求項27から37のうちのいずれか1つに記載のシステム。
- 前記科学的ワークフローは、非常に大きなゲノムデータセットを分析する、バイオインフォマティクスワークフローである、請求項38に記載のシステム。
- マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローを配布するためのコンピュータ実装方法であって、
ユーザインターフェースによって、前記ワークフローと関連付けられる1つまたはそれを上回るパラメータに基づいて、前記ワークフローを選択するためのユーザコマンドを受信することと、
ユーザが、前記ワークフローを取得することを可能にすることと、
前記ユーザが、ユーザ環境中に前記ワークフローをインポートすることを可能にすることと、
ワークフローのための管理エンジンによって、前記ユーザ環境中にインポートされたワークフローの展開をサポートすることと、
を含む、コンピュータ実装方法。 - 前記ユーザインターフェースは、前記ワークフローを検索すること、前記ワークフローと関連付けられる情報を閲覧すること、前記ワークフローを購入すること、前記ワークフローをユーザデバイスにダウンロードすること、および、開発者が、ツールを開発し、前記ツールを前記ワークフローのための管理エンジンにアップロードすることを可能にすることのうちの1つまたはそれを上回る機能性を提供するように構成される、請求項40に記載の方法。
- 前記ワークフローは、ユーザデバイス上にインストールされたアプリケーションを介して、またはウェブベースのアプリケーションを介して提供される、請求項40に記載の方法。
- 前記ユーザインターフェースは、プラットフォームオペレータによって調整され、各ワークフローは、事前判定されたガイドラインを用いて、承認プロセスおよび承諾を要求する、請求項40に記載の方法。
- 前記ワークフローと関連付けられるパラメータおよびツールは、前記ワークフローが前記ユーザ環境中にインポートされた後、編集可能である、請求項40に記載の方法。
- 前記ワークフローは、定義された期間にわたる無制限の使用、使用あたりベース、および、無制限の使用に対する1回限りの一括ベース、のうちの1つまたはそれを上回るものから選択されるものに基づいて販売される、請求項40に記載の方法。
- 前記ワークフローは、サービスとしてのソフトウェア(SaaS)として配布される、請求項40に記載の方法。
- 前記マルチノード算出クラスタは、Hadoopベースである、請求項40から46のうちのいずれか1つに記載の方法。
- 前記ワークフローは、科学的ワークフローである、請求項40から47のうちのいずれか1つに記載の方法。
- 前記科学的ワークフローは、非常に大きなゲノムデータセットを分析する、バイオインフォマティクスワークフローである、請求項48に記載の方法。
- 非一過性コンピュータ可読媒体であって、1つまたはそれを上回るプロセッサによって実行されるとき、
ユーザインターフェースによって、前記ワークフローと関連付けられる1つまたはそれを上回るパラメータに基づいて、マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローを選択するためのユーザコマンドを受信する動作と、
ユーザが、前記ワークフローを取得することを可能にする動作と、
前記ユーザが、ユーザ環境中に前記ワークフローをインポートすることを可能にする動作と、
ワークフローのための管理エンジンによって、前記ユーザ環境中にインポートされたワークフローの展開をサポートする動作と、
を実施する命令を備える、非一過性コンピュータ可読媒体。 - マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのイベント駆動管理エンジンであって、
決定ノードであって、
少なくとも1つの条件が真であると判定することであって、前記少なくとも1つの条件が真であるという判定は、前記少なくとも1つの条件が真であるかどうかをチェックするように構成される、条件付きループを起動することを含む、ことと、
前記判定に基づいて、少なくとも1つのコンピュータモジュールを選択的に起動させることと
を行うように構成される、決定ノードと、
フォークジョイン待ち行列クラスタであって、
前記少なくとも1つのコンピュータモジュールを、分散型クラウドコンピューティング環境内の関与コンピュータノードに非連続的に割り当てることと、
事前判定された基準に従ってデータセットを処理することと
を行うように構成される、フォークジョイン待ち行列クラスタと、
分散型データベースであって、
前記少なくとも1つのコンピュータモジュールを記憶することと、
前記少なくとも1つのコンピュータモジュールと関連付けられる、前記少なくとも1つの条件を記憶することであって、少なくとも1つの算出モジュールは、前記少なくとも1つの条件が真となるまで起動されない、ことと
を行うように構成される、分散型データベースと、
を備える、イベント駆動管理エンジン。 - 前記少なくとも1つのコンピュータモジュールを、関与コンピュータノードに非連続的に割り当てることは、前記コンピュータモジュールと関連付けられるタスクを、複数のフラグメントに分割することを含み、各フラグメントは、前記関与コンピュータノード上で処理される、請求項51に記載のエンジン。
- 前記少なくとも1つのコンピュータモジュールは、前記関与コンピュータノードによるサービスのためのタスクを分割し、前記関与コンピュータノードによって処理された後、処理されたフラグメントを合体させるように構成される、1つまたはそれを上回るフォークジョイン待ち行列クラスタを使用するように構成される、請求項52に記載のエンジン。
- 前記少なくとも1つのコンピュータモジュールを、前記関与コンピュータノードに非連続的に割り当てることは、処理されたフラグメントを処理されたデータセットに合体させることを含む、請求項51に記載のエンジン。
- 前記フォークジョイン待ち行列クラスタは、マスタノードと、関与コンピュータノードとを含み、前記マスタノードは、前記コンピュータモジュールと関連付けられるタスクを受信し、前記タスクを複数のフラグメントに分割し、前記フラグメントを前記関与コンピュータノードに配布するように構成され、前記関与コンピュータノードは、前記フラグメントを処理し、前記処理されたフラグメントを前記マスタノードに送信するように構成される、請求項51に記載のエンジン。
- 前記マスタノードは、前記関与コンピュータノードから前記処理されたフラグメントを収集し、前記処理されたフラグメントを処理されたデータセットに合体させるようにさらに構成される、請求項55に記載のエンジン。
- 前記クラウドコンピューティング環境は、性能を向上させ、タスクの並列実行を可能にするために、複数のコンピュータクラスタを含む、請求項51に記載のエンジン。
- 前記コンピュータモジュールは、バイオインフォマティクスツールを備える、請求項51に記載のエンジン。
- ユーザが、コンピュータモジュールを構築し、前記コンピュータモジュールを修正し、データソースを規定し、前記コンピュータモジュールの実行のための条件を規定することを可能にするための、ユーザインターフェースをさらに備える、請求項51に記載のエンジン。
- 前記ワークフローは、複数の生物学的データ形式と、前記複数の生物学的データ形式間の変換とをサポートする、請求項51に記載のエンジン。
- 前記マルチノード算出クラスタは、Hadoopベースである、請求項51から60のうちのいずれか1つに記載のエンジン。
- 前記ワークフローは、科学的ワークフローである、請求項51から61のうちのいずれか1つに記載のエンジン。
- 前記科学的ワークフローは、非常に大きなゲノムデータセットを分析する、バイオインフォマティクスワークフローである、請求項62に記載のエンジン。
- マルチノード算出クラスタを使用して、非常に大きなデータセットの分析を定義する、ワークフローのためのコンピュータ実装イベント駆動管理方法であって、
分散型データベースによって、少なくとも1つのコンピュータモジュールを記憶することと、
前記分散型データベースによって、前記少なくとも1つのコンピュータモジュールと関連付けられる、少なくとも1つの条件を記憶することであって、少なくとも1つの算出モジュールは、前記少なくとも1つの条件が真となるまで起動されない、ことと、
決定ノードによって、前記少なくとも1つの条件が、真であると判定することであって、前記少なくとも1つの条件が真であるという判定は、前記少なくとも1つの条件が真であるかどうかをチェックするように構成される、条件付きループを起動することを含む、ことと、
前記判定に基づいて、前記決定ノードによって、前記少なくとも1つのコンピュータモジュールを選択的に起動させることと、
フォークジョイン待ち行列クラスタによって、前記少なくとも1つのコンピュータモジュールを、分散型クラウドコンピューティング環境内の関与コンピュータノードに非連続的に割り当てることであって、前記少なくとも1つのコンピュータモジュールは、事前判定された基準に従ってデータセットを処理するように構成される、ことと、
を含む、コンピュータ実装イベント駆動管理方法。 - 前記少なくとも1つのコンピュータモジュールを、前記関与コンピュータノードに非連続的に割り当てることは、前記コンピュータモジュールと関連付けられるタスクを、複数のフラグメントに分割することを含み、各フラグメントは、前記関与コンピュータノード上で処理される、請求項64に記載の方法。
- 前記コンピュータモジュールは、前記関与コンピュータノードによるサービスのためのタスクを分割し、前記関与コンピュータノードによって処理された後、処理されたフラグメントを合体させるように構成される、1つまたはそれを上回るフォークジョイン待ち行列クラスタを使用するように構成される、請求項65に記載の方法。
- 前記1つまたはそれを上回るフォークジョイン待ち行列クラスタはそれぞれ、マスタノードと、関与コンピュータノードとを含み、前記マスタノードは、前記コンピュータモジュールと関連付けられるタスクを受信し、前記タスクを複数のフラグメントに分割し、前記フラグメントを前記関与コンピュータノードに配布するように構成され、前記関与コンピュータノードは、前記フラグメントを処理し、前記処理されたフラグメントを前記マスタノードに送信するように構成される、請求項66に記載の方法。
- 前記少なくとも1つのコンピュータモジュールを、前記関与コンピュータノードに非連続的に割り当てることは、処理されたフラグメントを処理されたデータセットに合体させることを含む、請求項64に記載の方法。
- 前記クラウドコンピューティング環境は、性能を向上させ、前記タスクの並列実行を可能にするために、複数のコンピュータクラスタを含む、請求項64に記載の方法。
- 前記コンピュータモジュールは、バイオインフォマティクスツールを備える、請求項64に記載の方法。
- ユーザが、コンピュータモジュールを構築し、前記コンピュータモジュールを修正し、データソースを規定し、前記コンピュータモジュールの実行のための条件を規定することを可能にするための、ユーザインターフェースを提供することをさらに含む、請求項64に記載の方法。
- 前記ワークフローは、複数の生物学的データ形式と、前記複数の生物学的データ形式間の変換とをサポートする、請求項64に記載の方法。
- 前記マルチノード算出クラスタは、Hadoopベースである、請求項64から72のうちのいずれか1つに記載の方法。
- 前記ワークフローは、科学的ワークフローである、請求項64から73のうちのいずれか1つに記載の方法。
- 前記科学的ワークフローは、非常に大きなゲノムデータセットを分析する、バイオインフォマティクスワークフローである、請求項74に記載の方法。
- 非一過性コンピュータ可読媒体であって、1つまたはそれを上回るプロセッサによって実行されるとき、
分散型データベースによって、少なくとも1つのコンピュータモジュールを記憶する動作と、
前記分散型データベースによって、前記少なくとも1つのコンピュータモジュールと関連付けられる、少なくとも1つの条件を記憶する動作であって、少なくとも1つの算出モジュールは、前記少なくとも1つの条件が真となるまで起動されない、動作と、
決定ノードによって、前記少なくとも1つの条件が、真であると判定する動作であって、前記少なくとも1つの条件が真であるという判定は、前記少なくとも1つの条件が真であるかどうかをチェックするように構成される、条件付きループを起動することを含む、動作と、
前記判定に基づいて、前記決定ノードによって、前記少なくとも1つのコンピュータモジュールを選択的に起動させる動作と、
フォークジョイン待ち行列クラスタによって、前記少なくとも1つのコンピュータモジュールを、分散型クラウドコンピューティング環境内の関与コンピュータノードに非連続的に割り当てる動作であって、前記少なくとも1つのコンピュータモジュールは、事前判定された基準に従ってデータセットを処理するように構成される、動作と、
を実施する命令を備える、非一過性コンピュータ可読媒体。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/099,864 | 2013-12-06 | ||
US14/099,884 | 2013-12-06 | ||
US14/099,864 US20150161537A1 (en) | 2013-12-06 | 2013-12-06 | Scientific workflow distribution platform |
US14/099,789 | 2013-12-06 | ||
US14/099,789 US20150161536A1 (en) | 2013-12-06 | 2013-12-06 | Scientific workflow execution engine |
US14/099,884 US20150160809A1 (en) | 2013-12-06 | 2013-12-06 | Visual effects for scientific workflow editors |
PCT/US2014/068963 WO2015085281A1 (en) | 2013-12-06 | 2014-12-06 | Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017508219A true JP2017508219A (ja) | 2017-03-23 |
Family
ID=53274201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016557536A Pending JP2017508219A (ja) | 2013-12-06 | 2014-12-06 | 「ビッグデータ」分析ワークフローエディタのための視覚効果システム、配布プラットフォーム、実行エンジン、および上記を含む管理システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190196672A1 (ja) |
EP (1) | EP3077963A4 (ja) |
JP (1) | JP2017508219A (ja) |
CA (1) | CA2932897A1 (ja) |
WO (1) | WO2015085281A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023507097A (ja) * | 2019-12-17 | 2023-02-21 | ベックマン コールター, インコーポレイテッド | コンピュータ実装された液体ハンドラプロトコル |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101765296B1 (ko) | 2016-06-21 | 2017-08-04 | 어니컴 주식회사 | 사용자 생성 분석수단을 제공하는 데이터 분석도구 제공 장치 및 방법 |
US20210232386A1 (en) * | 2018-06-11 | 2021-07-29 | Er-Xin Shang | Project visualizations |
US11366672B2 (en) * | 2018-08-21 | 2022-06-21 | Synopsys, Inc. | Optimization of application level parallelism |
CN110633436B (zh) * | 2019-08-28 | 2022-12-20 | 河南九商科技有限公司 | 可视化、自定义全景编辑方法、系统、存储介质及设备 |
US11275490B2 (en) * | 2019-09-16 | 2022-03-15 | DataSiv | System and method for enabling user-defined data transformations through dynamic client-side workflows |
US11249793B2 (en) | 2019-11-26 | 2022-02-15 | Shoreline Software, Inc. | Executing a pipeline command sequence designed for execution on a single node across a fleet of nodes |
US11133989B2 (en) | 2019-12-20 | 2021-09-28 | Shoreline Software, Inc. | Automated remediation and repair for networked environments |
US11157282B2 (en) * | 2020-02-18 | 2021-10-26 | Shoreline Software, Inc. | Scaling performance across a large number of customer nodes |
US11481394B2 (en) | 2020-02-24 | 2022-10-25 | Shoreline Software, Inc. | Elimination of measurement lag for operations across a large number of customer nodes |
EP3944102A1 (en) * | 2020-07-22 | 2022-01-26 | Accenture Global Solutions Limited | Data processing management system and method |
US11543930B2 (en) * | 2020-11-10 | 2023-01-03 | RealFar Ltd | Augmenting web applications with optimized workflows supporting user interaction |
CN112597257B (zh) * | 2020-11-11 | 2023-11-14 | 南京智数科技有限公司 | 针对餐饮企业的gis装置及其方法 |
CN113434268A (zh) * | 2021-06-09 | 2021-09-24 | 北方工业大学 | 一种工作流分布式调度管理系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221377B1 (en) * | 2000-04-24 | 2007-05-22 | Aspect Communications | Apparatus and method for collecting and displaying information in a workflow system |
US8108241B2 (en) * | 2001-07-11 | 2012-01-31 | Shabina Shukoor | System and method for promoting action on visualized changes to information |
US20060015596A1 (en) * | 2004-07-14 | 2006-01-19 | Dell Products L.P. | Method to configure a cluster via automatic address generation |
US20090006154A1 (en) * | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Declarative workflow designer |
US9395959B2 (en) * | 2011-12-09 | 2016-07-19 | Microsoft Technology Licensing, Llc | Integrated workflow visualization and editing |
US20130197922A1 (en) * | 2012-01-31 | 2013-08-01 | Guy Robert Vesto | Method and system for discovery and continuous improvement of clinical pathways |
-
2014
- 2014-12-06 EP EP14868220.6A patent/EP3077963A4/en not_active Withdrawn
- 2014-12-06 CA CA2932897A patent/CA2932897A1/en not_active Abandoned
- 2014-12-06 WO PCT/US2014/068963 patent/WO2015085281A1/en active Application Filing
- 2014-12-06 JP JP2016557536A patent/JP2017508219A/ja active Pending
-
2019
- 2019-03-04 US US16/291,935 patent/US20190196672A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023507097A (ja) * | 2019-12-17 | 2023-02-21 | ベックマン コールター, インコーポレイテッド | コンピュータ実装された液体ハンドラプロトコル |
JP7415000B2 (ja) | 2019-12-17 | 2024-01-16 | ベックマン コールター, インコーポレイテッド | コンピュータ実装された液体ハンドラプロトコル |
Also Published As
Publication number | Publication date |
---|---|
EP3077963A4 (en) | 2017-09-13 |
WO2015085281A1 (en) | 2015-06-11 |
US20190196672A1 (en) | 2019-06-27 |
CA2932897A1 (en) | 2015-06-11 |
EP3077963A1 (en) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190196672A1 (en) | Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same | |
US20160313874A1 (en) | Visual effects system for "big data" analysis workflow editors, distribution platforms, execution engines, and management systems comprising same | |
CN108292206B (zh) | 具有易于使用特征的工作流开发系统 | |
US10824403B2 (en) | Application builder with automated data objects creation | |
US9471213B2 (en) | Chaining applications | |
US10437570B2 (en) | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage | |
US10261757B2 (en) | System and method for automated web processing service workflow building and application creation | |
US9575950B2 (en) | Systems and methods for managing spreadsheet models | |
US9268562B1 (en) | Methods and apparatuses for dynamically generating mobile application layouts using client-independent configuration | |
JP2021012740A (ja) | 複合コントロール | |
US10404789B2 (en) | Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
US20140040791A1 (en) | Development platform for software as a service (saas) in a multi-tenant environment | |
EP3726373B1 (en) | Creating an app method and system | |
US10572229B2 (en) | Systems, method, and non-transitory computer-readable storage media for displaying software components | |
Bayer et al. | Design and development of a web-based EPANET model catalogue and execution environment | |
CN111367514A (zh) | 页面卡片的开发方法和装置、计算设备和存储介质 | |
KR101414795B1 (ko) | 인스턴트 웹 앱 생성 장치 및 방법 | |
US20160170628A1 (en) | Visual effects for scientific workflow editors | |
US20140282477A1 (en) | Automatic updating of data in application programs | |
Le | Comparison of State Management Solutions between Context API and Redux Hook in ReactJS | |
US20200293156A1 (en) | Studio builder for interactive media | |
Neupane | Developing a static website and deploying it to Heroku | |
US20160196512A1 (en) | Scientific workflow distribution platform | |
KR20150069987A (ko) | 웹 앱 조합 메타모델이 적용된 인스턴트 웹 앱 조합 시스템 |