JP4536817B2 - エンドユーザによるワークフローの動的な再配置 - Google Patents

エンドユーザによるワークフローの動的な再配置 Download PDF

Info

Publication number
JP4536817B2
JP4536817B2 JP2008548548A JP2008548548A JP4536817B2 JP 4536817 B2 JP4536817 B2 JP 4536817B2 JP 2008548548 A JP2008548548 A JP 2008548548A JP 2008548548 A JP2008548548 A JP 2008548548A JP 4536817 B2 JP4536817 B2 JP 4536817B2
Authority
JP
Japan
Prior art keywords
workflow
state
computer
web page
event
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.)
Expired - Fee Related
Application number
JP2008548548A
Other languages
English (en)
Other versions
JP2009522648A5 (ja
JP2009522648A (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 JP2009522648A publication Critical patent/JP2009522648A/ja
Publication of JP2009522648A5 publication Critical patent/JP2009522648A5/ja
Application granted granted Critical
Publication of JP4536817B2 publication Critical patent/JP4536817B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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
    • 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/0633Workflow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Description

高コスト、低性能のデータ処理システムから、低コスト、高性能の通信システム、問題解決システム、および娯楽システムへのコンピュータおよびネットワーク技術の発展により、通信、請求の支払い、買い物、予算編成、情報収集等の日常作業を行う負担を軽減する、費用対効果が大きく、時間を節約する手段がもたらされた。現在、有線または無線技術を介してインターネットにつながれたコンピューティングシステムは、世界中に存在する多数のウェブサイトやサーバにある豊富な情報に容易にほぼ瞬時にアクセスする経路をユーザに提供することができる。
例えば、そのような「ワールドワイドウェブ」ネットワークでは、ユーザは、自身が「行きたい」サイトまたは目的ページのアドレスを指定することができる。ユーザは次いで、選択したサイトに入り、すると目的ページあるいはサイトのホームページがユーザの表示画面に表示される。通例、ウェブサイトおよびサーバを介して入手できる情報は、ウェブクライアント(例えばコンピュータ)で実行されるウェブブラウザを介してアクセスされる。例えば、ウェブユーザは、ウェブブラウザを配備し、ウェブサイトのユニフォームリソースロケータ(URL)(例えばウェブアドレスおよび/またはインターネットアドレス)をウェブブラウザのアドレスバーに入力し、キーボードのEnterキーを押すか、マウスで「go」ボタンをクリックすることにより、そのウェブサイトにアクセスすることができる。目標の画面が表示された時、その画面は、予期された情報あるいは求められる情報を提示しない場合が多く、その場合、ユーザは、アクセスする別の目標アドレスを指定しなければならない。
ページナビゲーションに関わるプロセスは、アプリケーション間の通信に依拠して自動化されることができ、一方、他のプロセスは、当該プロセスの開始や、そのプロセスが使用する文書の承認、発生する例外的な状況の解決等を人に依拠する。いずれの場合も、ユーザと当該プロセスに関係するソフトウェアのアクティビティを記述したワークフロー(例えばページフローコントロール)と称される個別の一続きの段階を規定するのが一般的である。そのようなワークフローが定義されると、その定義を中心としてアプリケーションが構築されて、業務プロセスを支援することができる。
現在、コンピュータシステムとそれに関連するソフトウェアは、企業およびその他の組織が各自のワークフローを改良できるツールを提供している。ソフトウェアツールを使用して、業務ワークフローのプロセスやスケジュールをモデル化し、非効率な点や可能な改良点を明らかにすることができる。また、プロセスが、人、部門、工場、さらには別個の企業間のデータ交換を伴う場合には、コンピュータシステムとネットワークが使用されてそのような交換を実施することができる。そのようなシステムとソフトウェアツールは、さらに、ビジネスに関連する情報に一般的に伴う大規模な計算や他のデータまたは情報の処理を実施することができる。
したがって、ワークフローの管理には、組織の業務プロセスにおける情報の流れと制御の効果的な管理が含まれ、そのような情報処理の自動化は、現在のビジネス界に多くの効率面の改良をもたらしている。さらに、そのようなワークフロー管理の自動化により、現在、企業とその他の組織は、インターネット等の世界規模のコンピュータネットワークを含むコンピュータシステムでワークフロー処理を実行することにより、さらに業績を向上させることができるようになっている。
ワークフローに基づく典型的なアプリケーションは、しばしば、満たされるべき複数の条件を必要とする。そのような条件の1つは、例えば、業務規則に基づいて意思決定する能力である。そのような規則には、単純な規則(例えば信用調査の結果に基づく肯定または否定の決定など)と、より複雑な規則(例えば最初の引き受けの決定を行うために評価されなければならない、可能性としては大きなセット)が含まれうる。別の要件は、当該ワークフローの外部にある他のソフトウェアおよび他のシステムとの通信である。例えば、アプリケーションの一部分から最初の要求が受け取られる可能性があり、一方、一部の側面(例えばクレジットサービスとの接触)が、他のウェブサービスあるいは技術を使用した通信を必要とする場合がある。満たされるべきさらなる条件は、ユーザとワークフローの適切な対話である。例えば、ワークフローは、通例は、ユーザインタフェース自体を表示すること、または他のソフトウェアを通じて人間と対話することが可能でなくてはならない。さらに、ワークフローの全存続期間にわたって状態を維持する能力が、満たされる必要がある別の条件である。したがって、ソフトウェアでワークフローを作成し、実行することは、固有の課題を呈する。
現在、ワークフローシステムをページフロー制御と併合するための解決法が複数ある。そのような解決法には、例えばモデルビューコントローラ(MVC)、ページコントローラ、フロントコントローラのパターンを用いて、ウェブページナビゲーションを調整する解決法が含まれうる。そうした解決法では、ユーザは、ハードコードされた関係を用いて、あらかじめ定義された一連のページ間を移動することができる。それでも、すでに処理されたページをサブミットするには、関係が前もって定義されることが必要となる。
したがって、任意のページセット間の関係のすべての可能な組み合わせをモデル化することは困難になる可能性がある。そのような複雑性のため、開発者と分析者は、最も一般的で、生じる可能性の高いページ間の関係、例えば「happy path」をモデル化することを余儀なくされる。そのため、開発者は、サブミットされた最後のページを常に把握することを必要とする再サブミットロジックを、開発するページの内部に構築せざるを得ない可能性がある。一般に、ページフローの定義を可能にする機構は存在せず、ページフローの定義が可能な場合、エンドユーザは、ページ間の形式上の関係が定義されることなくフローを再配置することができる。
したがって、従来のシステムおよび機器に伴う上述した典型的な欠陥を克服する必要がある。
以下に、クレームされた主題のいくつかの態様の基本的な理解を提供するために、簡略化した要約を提供する。この要約は、広範囲にわたる概要ではない。主要/不可欠な要素を明らかにするものでも、クレームされた主題の範囲を詳述するものでもない。その唯一の目的は、その後に提示されるより詳細な説明の前置きとして、簡略化した形でいくつかの概念を示すことである。
本発明は、ワークフローの外部にある動的状態マネジャを用いることによりワークフロー状態を動的にリセットし、また、ワークフローインスタンスとホストの対話を可能にするシステムおよび方法を提供する。そのような動的状態マネジャは、ワークフローの外側から(例えばワークフロー自体の一部として構築されずに)ワークフローの状態を管理することができる。そのため、ワークフローの一回限りの状態変化をモデル化する必要性が軽減される。したがって、イベント駆動型のワークフローが供給されることができ、一回限りのイベントが用いられて、ワークフロー自体の一部としてモデル化されていない状態にワークフローをリセットおよび操作し、また、実行時に動的に関係を作成する。ホストは、ワークフロープロバイダを呼び出し、設定された状態を(例えば特定の状態とUIとともに)渡し、次いでワークフローランタイムが選択される。動的状態マネジャは、設定状態を受け取って、ワークフローインスタンスをリセットすることによりその状態を駆動する。ワークフロー状態は、一時停止(例えばイベントを待つ)に関する通知をワークフローランタイムに送信することもでき、通知はワークフロープロバイダに戻り、その後ホストに通信される。
関連する態様で、対話型アクティビティコンポーネントは、特定の点でワークフローを停止し(例えばワークフローランタイムをアイドルに設定する)、ワークフローを再開するためのホストからの入力を待つことができる。ホストは、ワークフローインスタンスをロードするためにワークフロープロバイダを呼び出すことができる。その後、イベントが設定されることができ、このイベントは、ユーザインタフェース(例えばワークフローのある状態に対応するウェブページ)に対応することができる。したがって、ホストは、ナビゲーション経路に関する情報を供給することができる(例えば「次ページ」の形で)。
次いで、動的状態マネジャにより、そのワークフローのある状態の利用可能性に関して確認が提供されることができる。その状態が存在しない場合は、ユーザにエラーが表示されることができる。そうでなくその状態が存在する場合は、動的状態マネジャは、ワークフロー中で実行するためにその状態をアクティブに設定することができる。その後実行されると、ワークフローは、イベントが新しい状態に遷移するのを待つことができ、ホストから遷移イベントが受領されると、ワークフローは、新しい状態に移ることができる。次いで、確認が行われて、その状態がワークフローインスタンス中で最後の状態であるかどうかを調べる。最後の状態である場合、方法論は終了する。最後の状態でない場合、方法論は、戻って別の状態を実行する。本発明は、上記に限定されず、ウェブページ以外にも、本発明は、ウェブサービス、システムサービスの実行等に適用できることを理解されたい。
本発明の特定の方法によれば、初めに、アプリケーションナビゲーションコントロール(例えばページフロー制御フロー)の一部である表示(例えばページ)がブラウザ内に表示され、ユーザは、サブミットするためにそのページ内の情報を完成させる。その後、その表示に関連付けられたワークフローインスタンスがロードされ、ワークフローの状態が、その表示に関連付けられた状態に設定される。通例は、表示と状態の間に1対1の関連付けが存在する。状態が設定されると、表示によって生成されたイベントは、消費のためにワークフローインスタンスに渡される。イベントは、ワークフローインスタンスの現在の状態に渡される。状態は、そのイベントが消費されることができるかどうかを判定する。イベントが現在の状態によって消費される場合は、関連付けられたハンドラが、状態遷移が必要とされるかどうかを判定することができる。そうでなくイベントが現在の状態に消費されない場合は、そのイベントは次いで、消費のために、その状態を含んでいる状態に渡される。
上述の目的およびそれに関連する目的を達成するために、下記の説明および添付図面と関連して、クレームされた主題の特定の例示的態様が本明細書に記載される。それらの態様は、主題が実施されることが可能な各種方式を示し、それら方式はすべて、クレームされた主題の範囲内にあるものとする。その他の効果および新規の特徴は、図面と併せて以下の詳細な説明を検討することから明らかになろう。
次いで添付図面を参照して本発明の各種態様が説明されるが、すべての図面を通じて、同様の参照符号は、同様の要素または対応する要素を指す。ただし、図面とそれに関連する詳細な説明は、クレームされた主題をここに開示される特定の形態に制限するものではないことを理解されたい。その意図するところは、クレームされた主題の主旨および範囲に該当するすべての変形形態、均等形態、および代替形態を包含することである。
本発明明細書で使用される場合、用語「コンポーネント」、「システム」、「サービス」、「マネジャ」等は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータに関連するエンティティを指すものとする。例えば、コンポーネントは、これらに限定されないが、プロセッサで実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および/またはコンピュータ等である。例示として、コンピュータで実行中のアプリケーションとコンピュータの両方がコンポーネントとなることができる。実行のプロセスおよび/またはスレッド内に1つまたは複数のコンポーネントが存在することができ、1つのコンポーネントが1台のコンピュータに局所化されても、かつ/または2つ以上のコンピュータ間に分散されてもよい。
本明細書では、単語「例示的な」を例、事例、あるいは例示の役割を果たすものとして使用する。本明細書で「例示的な」と記される態様や設計は、必ずしも、他の態様や設計より好ましい、あるいは有利であるとは解釈されるべきでない。
さらに、ここに開示される主題は、標準的なプログラミング技術および/またはエンジニアリング技術を使用して、システム、方法、装置、または製造物として実装されて、ここに詳細に述べられる態様を実装するようにコンピュータまたはプロセッサに基づく機器を制御するソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを作り出すことができる。本明細書で使用される用語「コンピュータプログラム」は、任意のコンピュータ可読機器、担体、または媒体からアクセスすることが可能なコンピュータプログラムを包含するものとする。例えば、コンピュータ可読媒体には、これらに限定しないが、磁気記憶装置(例えばハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ)、光ディスク(例えばコンパクトディスク(CD)、デジタル多用途ディスク(DVD))、スマートカード、およびフラッシュメモリ機器(例えばカード、スティック)が含まれうる。また、電子メールの送受信や、インターネットあるいはローカルエリアネットワーク(LAN)等のネットワークへのアクセスで使用されるものなど、コンピュータ可読の電子データを搬送するために搬送波が使用されることができることを理解されたい。無論、当業者は、クレームされた主題の範囲および主旨から逸脱することなく、この構成に多くの変更が加えられてよいことを理解されよう。
初めに図1を参照すると、システム101のブロック図が示され、システム101は、ワークフローの外部にある動的状態マネジャ105を用いることによりワークフロー状態102を動的にリセットし、また、ホスト120がワークフローインスタンス102と対話することを可能にする。システム101は、動的状態マネジャ105を用いて、システム101に関連付けられたワークフローの一回限りの状態変化をモデル化する必要性を軽減する。したがって、イベント駆動型のワークフローが供給されることができ、一回限りのイベントが用いられて、当該ワークフローの一部としてモデル化されていない状態にワークフローをリセットおよび操作し、また、実行時に動的に関係を作成する。
そのようなワークフローは、アクティビティのマップとして定義された人間のプロセスまたはシステムプロセスをモデル化することができる。アクティビティは、ワークフロー中のステップであり、ワークフローの実行、再使用、比較の単位である。アクティビティのマップは、規則、アクション、状態、およびそれらの関係を表す。通例、ワークフローは、ワークフローエンジン/ランタイム110を介して実行され、ワークフローランタイムは、ホスト120で示すように、外部アプリケーションがいくつかの規則に従って当該ランタイムをホストすることを必要とする。ホスト120とワークフローシステム100との間のデータ交換は、ビジネス文書および他のオブジェクトに関連するか、かつ/またはそれらを記述することができ、他のオブジェクトは、ワークフローアクティビティのために用いられるか、またはそれを容易にし、またはホストアプリケーション120との間でデータを通信するために使用されるワークフローのローカル変数間のフローのために用いられるか、またはそれを容易にするために使用される。
例えば、ホストアプリケーション120は、Workflow Providerベースクラス117を通じて、ワークフローシステム100に関連付けられたワークフロープロバイダ115と対話することができる。また、ホスト120は、1つまたは複数のプロセスの作成や、ワークフローの適正な実行のために必要とされる各種コンポーネント間の呼び出しの整理、分離機構のセットアップ等、いくつかの追加的で不可欠な態様を担うことができる。さらに、ホスト120は、拡張性の理由からマシン内の複数の中央演算処理装置(CPU)を利用するために、または多数のワークフローインスタンスをマシン群で実行するために、複数のプロセスを作成することができる。ホスト120はさらに、ワークフローが長い待ちをしなければならない時に適用すべきポリシーを制御し、特定のイベントをリッスンし、それらのイベントをユーザまたは管理者に伝え、各ワークフローのタイムアウトおよび再試行を設定し、パフォーマンスカウンタを公開し、デバッグと診断のためにログ情報を書くことができる。
ワークフローシステム101に関連付けられたワークフローは、特にその目的のために確立されたサービスを通じて外界と通信することができ、そのようなサービスは、当該ワークフロー内部のイベント駆動型アクティビティが 中継する(hook up)イベントを発生させる。同様に、このサービスは、ワークフローがホスト120を呼び出し、データを送信するためのパブリックメソッドを公開する。ワークフローは、コンピュータシステムにおける実行のスケジュールの形で定義されることができる。スケジュールは、当該アクションに関連付けられた指定された並行性属性、依存性属性、およびトランザクション属性を有するアクションのセットを含むことができる。各スケジュールは、関連付けられたスケジュール状態を有することができ、スケジュール状態は、当該スケジュールの定義、スケジュール内における現在の位置、ならびに当該スケジュールに関連付けられたアクティブな、あるいは生きているデータおよびオブジェクトを含む。スケジュール内で、アクションのグループ化に基づいてトランザクションの境界が存在することができる。これに関して、トランザクションは、個々のアクション、トランザクション、またはそれらのグループを包含することができる。以下でさらに述べるように、アクションはグループ化して、順次実行されるシーケンスにされることができ、また、それらアクションが同時に実行されるタスクにされることもできる。したがって、グループ化に基づいて、スケジュール内のアクションとトランザクションについての並行性属性が解決されることができる。
ホスト120は、ワークフロープロバイダ115を呼び出し、設定された状態(例えば特定の状態とUIを伴う)を渡すことができ、その後、ワークフローランタイムが選択される。動的状態マネジャ105は、設定状態を受け取って、ワークフローインスタンス111をリセットすることによりその状態を駆動する。ワークフロー状態102は、一時停止(例えばイベントを待つ等)に関してワークフローランタイム110に通知を送ることもでき、その通知は、ワークフロープロバイダ115に送られ、次いでホスト120に通信される。
以下に示すのは、動的状態マネジャの例示的定義であり、ここでは、状態機械ワークフロー内の各状態は、あるウェブページに対応するものとする。
Figure 0004536817
図2は、本発明の一態様による方法論200を説明する。ここでは各種のイベントおよび/または動作を表す一連のブロックとして例示的な方法が図示され、説明されるが、本発明は、それらブロックの図示される順序によって限定されない。例えば、一部の動作またはイベントは、本発明により、本明細書で図示される順序とは異なる順序で、かつ/または他の動作またはイベントと同時に行われてよい。また、図示されるブロック、イベント、または動作のすべてが、本発明による方法論を実装するために必要とは限らない。さらに、本発明による例示的方法および他の方法は、本明細書に図示および記載される方法との関連で、ならびに図示または記載されない他のシステムおよび装置との関連で実装されてよいことが理解されよう。210で、ホストは、ワークフローインスタンスをロードするためにワークフロープロバイダを呼び出すことができる。例えば、ワークフローのインスタンスをロードするために、ワークフローインスタンス表現を格納した対応する永続ストアへのアクセスが提供されることができ、次いでその表現がワークフローインスタンスに変換され、ホストアプリケーションに提供される。その後、220で、イベントが設定されることができ、イベントは、ユーザインタフェース(例えばワークフローのある状態に対応するウェブページ)に対応することができる。したがって、ホストは、ナビゲーション経路に関する情報を供給することができる(例えば「次ページ」の形で)。次いで230で、動的状態マネジャがそのワークフローの状態の利用可能性を確認することができる。その状態が存在しない場合は、ユーザにエラーが表示されることができ、方法論は235で停止する。
そうでなく、その状態が存在する場合は、動的状態マネジャは、ワークフロー中で実行するために240でその状態をアクティブに設定することができる。その後250で実行されると、ワークフローは、イベントが新しい状態260に遷移するのを待つことができ、ホストから遷移イベントが受け取られると、ワークフローは270で新しい状態に移ることができる。次いで280で、確認が行われて、その状態がワークフローインスタンス中で最後の状態であるかどうかを調べる。最後の状態である場合、方法論は295で終了する。最後の状態でない場合、方法論は別の状態を実行するために動作250に戻る。
図3および4は、本発明の一態様による動的状態マネジャの特定の実装例300および400を示す。従来のシステム(ユーザが、各種のページ/ステップ間の複雑なロジックのモデル化を介してページナビゲーションを定義するワークフロータイプシステムと対話しなければならない)と異なり、本発明は、関連するロジックを簡略化する、状態管理の動的な考え方を可能にする。例えば、ワークフローの状態310、410は、当該イベントについての情報がワークフローによって処理される前にリセットされることができる。
図3および4に示すように、2つのバージョンのワークフローが存在し、すなわち、状態機械ワークフロータイプ315、415と、順次ワークフロータイプ317、417である。通例は、どのワークフローもいくつかのアクティビティを含んでおり、各アクティビティは、そのワークフローの機能の何らかの態様を行う。ワークフローは、それらアクティビティのコンテナとして機能し、アクティビティの存続期間と実行の順序を制御する手段を提供する。システムワークフローは、アクティビティを明確に定義された予測可能な方式で実行する傾向があるのに対し、人間のワークフローはそうではない。
こうした両方の必要性を扱うために、Windows(登録商標) Workflow Foundationは、2つの組み込みワークフロータイプを提供する。すなわち、あらかじめ定義されたパターンでアクティビティを実行することが可能な順次ワークフロー317、417と、発生次第外部のイベントに対応することが可能な状態機械ワークフロー315、415である。両タイプとも同じ実行時環境に依拠し、両タイプとも同じカスタムアクティビティを使用することができる。順次方式は、システムワークフローに適し、一方、状態機械は、システムワークフローよりも大まかに定義された人間ワークフローの性質をモデル化する手段を提供する。単一のワークフローが両方のスタイルの要素を組み合わせることができ、2つを組み合わせたものを可能にする。さらに、開発者がカスタムのワークフロータイプを作成することもできる。
ワークフローランタイム311、411は、ワークフローインスタンスを、アクティブサーバページ(ASP.netアプリケーション)の内部でワークフローランタイムとしてプログラム的に管理する。さらに、対話型アクティビティコンポーネント330、430は、特定の点でワークフローの実行を停止し(例えばワークフローランタイムをアイドルに設定する)、ワークフローを再開するホストからの入力を待つことができる。ホスト(例えばウェブページ)は、ワークフローを別の状態に移すイベントを送信することができる。例えば、ホストは、ワークフローを再開して次の状態にする再開イベントを発生させる(fire)ことができる。図4はさらに、状態機械450内で再開と一時停止に分割された対話型アクティビティコンポーネントを示す。
対話型アクティビティコンポーネント330、440は、ユーザ入力を要求する各種の対話性の断絶時に、ユーザ入力とそれに関連する対話をワークフローに供給することができる。それにより、ワークフローと、そのワークフローに関連付けられたホストアプリケーションとの間で制御された/同期したデータ交換が可能になる。したがって、ワークフローの実行中の定義された時間に、ユーザコンテクストがワークフローインスタンスに関連付けられることができる。さらに、ワークフローは、一時停止中に、スイッチユーザコンポーネント332、432を介して、ワークフローのユーザに関連する情報等、ワークフローの状態に基づいてユーザインタフェース(UI)を駆動することができる。さらに、イベントハンドラ334、434は、現在の状態によって処理されないイベントを消費して、ある状態について定義された現在の制御フローが無効にされることを可能にする。したがって、ワークフローの状態がワークフローの外部から管理されることができ(例えばワークフロー自体の一部として構築されることなく)、ワークフローの一回限りの状態変化をモデル化する必要性が軽減される。
図5および6は、例示的なフローチャートを示し、ここでは、特定の点まで実行され、ワークフローを再開するためのホストからの入力を待つ対話型ワークフローが供給され、そのようなイベントは、ワークフローを別の状態に移すことができる。方法論500に示すように、ワークフロープロセスは505で実行され、プロセス中の次の動作に進む。ワークフローの実行は、510で、実行すべき動作がワークフローの終了を示すかどうかを確認することができる。終了を示す場合、ワークフローの実行は520で終了する。そうでない場合、方法論は動作530に進み、ワークフローによって実行されるべき動作が調べられて、それが対話型のアクティビティであるかどうかを確認する。対話型のアクティビティである場合、540でワークフローが一時停止されて、上記で詳細に述べたように、ワークフローの状態を動的にリセットするためにホストアプリケーションとの対話を可能にする。そうでない場合、方法論は動作505に戻り、ワークフローが現在の動作を実行し、次の動作に進む。
図5に示すように、540におけるワークフローの一時停止の後、実行のフローは、550でワークフローを再開するためのホストからの入力を待ち、そのようなイベントはワークフローを別の状態に移すことができる。その後、図6の660で、イベントが設定されることができ、そのイベントは、そのような状態が実際に存在するものと想定して、ワークフローのある状態に対応するユーザインタフェース(例えばウェブページ)に対応することができる。したがって、ホストは、670で例えば「次ページ」の形でナビゲーション経路に関する情報を供給することができる。そのため、動的状態マネジャは、680で、ワークフロー中で実行するためにその状態をアクティブに設定することができる。その後、状態が実行されると、ワークフローは、イベントが新しい状態に遷移するのを待つことができ、ホストからの遷移イベントを受信すると、ワークフローは690でその新しい状態に移ることができる。したがって、ワークフローの状態がワークフローの外部から(例えばワークフロー自体の一部として構築されずに)管理されることができ、ワークフローの一回限りの状態変化をモデル化する必要性が軽減される。
図7および8は、イベント駆動型のワークフローの一例を示し、ここでは、一回限りのイベントが用いられて、ワークフロー自体の一部としてモデル化されている状態にワークフローをリセットおよび操作して、実行時に動的に関係を作成する。ウェブページアプリケーションは、ワークフロープロバイダを呼び出し、設定された状態(例えば特定の状態およびUIとともに)を渡すことができ、次いでワークフローランタイムが選択される。動的状態マネジャは、設定状態を受け取って、ワークフローインスタンスをリセットすることにより、その状態を駆動することができる。最初に、ページフロー制御フローの一部であるページがブラウザに表示され、ユーザはそのページをサブミットするためにページ内の情報を完成させる。その後、そのページに関連付けられたワークフローインスタンスがロードされ、ワークフローの状態が、そのページに関連付けられた状態に設定される。通例、ページと状態との間には1対1の関連付けがある。状態が設定されると、ページによって生成されるイベントが消費のためにワークフローインスタンスに渡される。イベントは、ワークフローインスタンスの現在の状態に渡される。状態は、その状態がそのイベントを消費することができるかどうかを判定する。イベントが現在の状態によって消費される場合は、関連付けられたハンドラが、状態遷移が必要であるかどうかを判定することができる。そうでなく、イベントが現在の状態に消費されない場合は、そのようなイベントは、消費のために、その状態を含んでいる状態に渡される。
例えば、選択された機能を備える電話機を購入するシナリオでは、開発者は、ユーザがウェブページを使用して情報を入力することを要求するワークフローアプリケーションを開発する場合がある。ウェブページは、あらかじめ定義されており、状態機械ワークフロー中の状態に対応付けられる。開発者の目標は、状態機械ワークフローを使用してアプリケーションの制御フローをモデル化することである。ページ内で定義されたイベントは、ある状態における入力としてモデル化されることができる。イベントのタイプに基づいて、状態機械は、完了するまで状態を変え、実行することができる。状態機械における状態の変化は、ページフローアプリケーションの制御フローを定義する。
イベントがページからワークフローにサブミットされる前に、状態機械ワークフローの現在の状態が、表示されているページに関連付けられた状態に位置づけられることができる。それにより、ユーザがhappy pathにあり、そのページにいることが予想されたかのように、イベントが操作されることが可能になる。このように、ワークフローの最後の設定状態とワークフローの新たに選択された状態との間に動的な関係が(再配置を介して)作成されることができる。携帯電話を購入する際のステップを図7のチャート700に示す。ユーザが状態機械ワークフローの現在の状態に対応するページを操作している場合は、通例はその状態を変える、または再配置する必要はないことを理解されたい。一般に、状態は、ページと現在の状態が一致しない場合にのみリセットされる。
次いで図8を参照すると、順序800が示され、ここではエンドユーザがステップ1、2、3、4、5をサブミットした後に購入すべきプランのタイプを再考することができる。本発明では、エンドユーザは、ブラウザのBackボタンを押して、ステップ2である820に位置を変え、プリペイドのプランを選択し、その情報をサブミットし、ステップ5である840に移ることができる。ステップ5と2の関係は、事前に定義されておらず、そのため一回限りの関係として存在できることを理解されたい。また、キャンセルイベント860は、メインの状態機械ワークフローについてのイベントハンドラとしてモデル化されることができる。したがって、本発明は、関係が実行時に動的に作成されることができるフレームワークを提供する。それにより、解析者と開発者は、ページ間の最も一般的な実行パスだけをモデル化すれば済み、ワークフローモデルに対して定義された制御フローが、エンドユーザの要求に合わせて順応することが可能になる。
図9を参照して、本発明の各種態様を実装するための例示的環境910を説明する。例示的環境910は、コンピュータ912を含む。コンピュータ912は、処理装置914、システムメモリ916、およびシステムバス918を含む。システムバス918は、これらに限定されないが、システムメモリ916を含むシステムコンポーネントを処理装置914に結合する。処理装置914は、各種の利用可能なプロセッサのいずれでもよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも、処理装置914として用いられることができる。
システムバス918は、これらに限定しないが、11ビットバス、ISA(Industrial Standard Architecture)、MSA(Micro−Channel Architecture)、EISA(Extended ISA)、IDE(Intelligent Drive Electronics)、VLB(VESAローカルバス)、PCI(Peripheral Component Interconnect)、USB(Universal Serial Bus)、AGP(Advanced Graphics Port)、PCMCIA(Personal Computer Memory Card International Association バス)、およびSCSI(Small Computer Systems Interface)を含む利用可能な各種のバスアーキテクチャを使用した、メモリバスまたはメモリコントローラ、ペリフェラルバスまたは外部バス、および/またはローカルバスを含む数種のバス構造のいずれでもよい。
システムメモリ916は、揮発性メモリ920と不揮発性メモリ922を含む。起動時などにコンピュータ912内の要素間に情報を転送する基本ルーチンを含んだ基本入出力システム(BIOS)は、不揮発性メモリ922に格納される。限定ではなく例示として、不揮発性メモリ922には、ROM(読み取り専用メモリ)、PROM(プログラム可能ROM)、EPROM(電気的にプログラム可能なROM)、EEPROM(電気的に消去可能なROM)、またはフラッシュメモリが含まれうる。揮発性メモリ920には、外部キャッシュメモリとして機能するランダムアクセスメモリ(RAM)が含まれる。限定ではなく例示として、RAMは、SRAM(シンクロナスRAM)、DRAM(ダイナミックRAM)、SDRAM(シンクロナスDRAM)、DDR SDRAM(ダブルデータレートSDRAM)、ESDRAM(エンハンストSDRAM)、SLDRAM(Synchlink DRAM)、およびDRRAM(ダイレクトRambus RAM)等の多数の形態で入手することができる。
コンピュータ912は、取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体も含む。例えば、図9にはディスク記憶924を示す。ディスク記憶924には、これらに限定しないが、磁気ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュメモリカード、メモリスティック等の機器が含まれる。また、ディスク記憶924は、記憶媒体を単独で、またはこれらに限定しないがCD−ROM(コンパクトディスクROMデバイス)、CD−Rドライブ(CD記録可能ドライブ)、CD−RWドライブ(CD書き換え可能ドライブ)、またはDVD−ROM(デジタル多用途ディスクROMドライブ)を含む他の記憶媒体と組み合わせて含むことができる。システムバス918へのディスク記憶装置924の接続を容易にするために、通例はインタフェース926などの取り外し可能または取り外し不能インタフェースが使用される。
図9には、ユーザと、適切な動作環境910内に記載される基本的なコンピュータ資源との間の仲介役として機能するソフトウェアを記載していることを理解されたい。そのようなソフトウェアには、オペレーティングシステム928が含まれる。オペレーティングシステム928は、ディスク記憶924に記憶されることができ、コンピュータシステム912の資源を制御し、割り当てるように働く。システムアプリケーション930は、システムメモリ916またはディスク記憶924のいずれかに記憶されたプログラムモジュール932とプログラムデータ934を通じて、オペレーティングシステム928による資源の管理を利用する。本明細書に記載される各種コンポーネントは、各種のオペレーティングシステムまたはオペレーティングシステムの組み合わせで実装されることが可能であることを理解されたい。
ユーザは、入力装置936を通じてコンピュータ912にコマンドまたは情報を入力する。入力装置936には、これらに限定しないが、マウス、トラックボール、スタイラス、タッチパッド、キーボード等のポインティングデバイス、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナ、TVチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ等が含まれる。上記およびその他の入力装置は、インタフェースポート938を介してシステムバス918を通じて処理装置914に接続する。インタフェースポート938には、例えばシリアルポート、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)が含まれる。出力装置940は、入力装置936と同タイプのポートのいくつかを使用する。したがって、例えば、USBポートを使用してコンピュータ912に入力を提供し、コンピュータ912から出力装置940に情報を出力することができる。出力アダプタ942は、出力装置940の中にはモニタ、スピーカ、プリンタなど、特殊なアダプタを必要とするものがあることを説明するために提供されている。限定ではなく例示として、出力アダプタ942には、出力装置940とシステムバス918間の接続手段を提供するビデオカードおよび音声カードが含まれる。リモートコンピュータ944など、他の装置および/または装置のシステムが、入力と出力両方の機能を提供することに留意されたい。
コンピュータ912は、リモートコンピュータ944などの1つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ944は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ネットワークノード等であり、通例は、コンピュータ912に関連して記載される要素の多くまたはすべてを備える。図を簡潔にするために、リモートコンピュータ944にはメモリ記憶装置946のみを図示する。リモートコンピュータ944は、ネットワークインタフェース948を通じて論理的にコンピュータ912に接続され、次いで通信接続950を介して物理的に接続される。ネットワークインタフェース948は、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などの通信ネットワークを包含する。LAN技術には、FDDI(ファイバ分散データインタフェース)、CDDI(銅線分散データインタフェース)、Ethernet(登録商標)/IEEE802.3、Token Ring/IEEE802.5等がある。WAN技術には、これらに限定されないが、2地点間リンク、ISDN(総合サービスデジタル網)などの回路交換網およびその変種、パケット交換網、およびデジタル加入者回線(DSL)がある。
通信接続950は、ネットワークインタフェース948をバス918に接続するために用いられるハードウェア/ソフトウェアを指す。通信接続950は、図示を分かりやすくするためにコンピュータ912の内部に示しているが、コンピュータ912の外部にあってもよい。ネットワークインタフェース948に接続するために必要なハードウェア/ソフトウェアには、単に例示の目的で、通常の電話グレードモデム、ケーブルモデム、DSLモデム等のモデム、ISDNアダプタ、Ethernet(登録商標)カード等の内部および外部技術が含まれる。
図10は、本発明のワークフロー実装を組み込むために用いられることができるコンピューティング環境例1000の概略ブロック図である。システム1000は、1つまたは複数のクライアント1010を含む。クライアント1010は、ハードウェアおよび/またはソフトウェア(例えばスレッド、プロセス、コンピューティングデバイス)とすることができる。システム1000は、1つまたは複数のサーバ1030も含む。サーバ1030もハードウェアおよび/またはソフトウェア(例えばスレッド、プロセス、コンピューティングデバイス)とすることができる。サーバ1030は、例えば、本明細書に記載されるコンポーネントを用いることによってトランザクションを行うスレッドを収容することができる。クライアント1010とサーバ103間で可能な通信の1つは、2つ以上のコンピュータプロセス間で送信されるように適合されたデータパケットの形をとることが可能である。システム1000は、クライアント1010とサーバ103間の通信を容易にするために用いられることができる通信フレームワーク1050を含む。クライアント1010は、クライアント1010にとってローカルな情報を格納するために用いられることができる1つまたは複数のクライアントデータストア1060に動作的に接続されている。同様に、サーバ1030は、サーバ1030にとってローカルな情報を格納するために用いられることができる1つまたは複数のサーバデータストア1040に動作的に接続されている。
上記の内容は各種の例示的態様を含む。言うまでもなく、それらの態様を説明するために構成要素や方法論のあらゆる着想可能な組み合わせを記載することは可能でなく、当業者は、多数のさらなる組み合わせおよび置き換えが可能であることを認識されよう。したがって、本明細書に記載される態様は、頭記の特許請求の範囲の主旨および範囲に該当するそのような改変、変更、および変形をすべて包含するものとする。さらに、用語「〜を含む」が詳細な説明または特許請求の範囲で使用される限りでは、この用語は、「〜を備える」が請求項中で移行語として用いられる場合の解釈と同様に包含的な意味とする。
ワークフロー状態をリセットする動的状態マネジャを有するワークフローの例示的システム図である。 本発明の例示的態様によるワークフロー状態をリセットする例示的方法論を説明する図である。 本発明の態様によるASP(アクティブサーバページ)ウェブ開発技術の特定のシステム図である。 本発明のさらなる態様によるASPウェブ開発技術のさらなるシステム図である。 ワークフローを別の状態に移すためのホストからの入力を待つ対話型ワークフローが供給される例示的方法論を説明する図である。 ワークフローの状態をリセットするさらなる方法論を説明する図である。 本発明の態様によるイベント駆動型のワークフローに関連するステップの図である。 ワークフロー自体の一部としてモデル化されていない状態にワークフローをリセットし、操作するために用いられる一連の動作を説明する図である。 本発明の各種態様を実装するための例示的環境を説明する図である。 本発明のルーティング永続サービスと併せてワークフローを実装するために用いられることができる追加的なコンピューティング環境の概略ブロック図である。

Claims (8)

  1. コンピュータ実行可能なコンポーネントを格納するコンピュータ可読記憶媒体を備え、前記コンピュータ実行可能なコンポーネントは、
    複数のワークフロー状態及び前記複数のワークフロー状態に対応する複数のウェブページを含むワークフローを提供するワークフロープロバイダであって、前記複数のウェブページは、
    前記複数のワークフロー状態のうち第1のワークフロー状態に対応する第1のウェブページと、
    前記複数のワークフロー状態のうち前記ワークフローにおいて前記第1のワークフロー状態より後に位置する第2のワークフロー状態に対応し、前記ワークフローにおいて前記第1のウェブページより後に位置する第2のウェブページと、
    前記複数のワークフロー状態のうち前記ワークフローにおいて前記第1のワークフロー状態より後であって前記第2のワークフロー状態より前に位置する少なくとも1つの中間ワークフロー状態に対応し、前記ワークフローにおいて前記第1のウェブページより後であって前記第2のウェブページより前に位置する少なくとも1つの中間ウェブページと
    を含む、ワークフロープロバイダと、
    前記ワークフローのエンジンの一部としての動的状態マネジャコンポーネントとを含み、前記動的状態マネジャコンポーネントは、前記第2のウェブページから前記第1のウェブページへ戻るブラウザのブラウジングに応答して、前記ワークフローにおけるランタイムでのアドホック状態の変更を可能にするため、前記ワークフローの一部としてモデル化されていない前記複数のワークフロー状態間の1つ以上の関係を作
    前記第2のウェブページから前記第1のウェブページへ戻るブラウザのブラウジングに応答して作成される前記1つ以上の関係は、
    前記第1のウェブページの提出に応答して、前記ワークフローに、前記第1のウェブページから前記第2のウェブページへナビゲートさせ且つ前記少なくとも1つの中間ウェブページを飛ばさせる、前記第1のウェブページと前記第2のウェブページとの間の関係を含む、コンピュータによって実装されるシステム。
  2. 前記コンピュータ実行可能なコンポーネントは、前記ワークフローを特定の点で停止し、前記複数のワークフロー状態を駆動するホストアプリケーションからの入力を待つ対話型アクティビティコンポーネントをさらに備えることを特徴とする請求項1に記載のコンピュータによって実装されるシステム。
  3. 記ワークフローは、ブラウザに表示されるアプリケーションナビゲーションコントロールに関連付けられることを特徴とする請求項2に記載のコンピュータによって実装されるシステム。
  4. 表示と各状態との間に1対1の関連付けが存在することを特徴とする請求項3に記載のコンピュータによって実装されるシステム。
  5. 前記コンピュータ実行可能なコンポーネントは、前記ホストによって供給されるナビゲーション経路をさらに備えることを特徴とする請求項4に記載のコンピュータによって実装されるシステム。
  6. 前記ナビゲーション経路は、「次ページ(go−to)」の形態を有することを特徴とする請求項5に記載のコンピュータによって実装されるシステム。
  7. 前記イベントはユーザインタフェースに対応することを特徴とする請求項5に記載のコンピュータによって実装されるシステム。
  8. 前記イベントは、前記ワークフローロジックの一部としてモデル化されていないアドホックイベントであることを特徴とする請求項5に記載のコンピュータによって実装されるシステム。
JP2008548548A 2005-12-29 2006-12-07 エンドユーザによるワークフローの動的な再配置 Expired - Fee Related JP4536817B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/321,777 US7680683B2 (en) 2005-12-29 2005-12-29 Dynamically repositioning workflow by end users
PCT/US2006/047240 WO2007078673A1 (en) 2005-12-29 2006-12-07 Dynamically repositioning workflow by end users

Publications (3)

Publication Number Publication Date
JP2009522648A JP2009522648A (ja) 2009-06-11
JP2009522648A5 JP2009522648A5 (ja) 2010-05-27
JP4536817B2 true JP4536817B2 (ja) 2010-09-01

Family

ID=38225974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008548548A Expired - Fee Related JP4536817B2 (ja) 2005-12-29 2006-12-07 エンドユーザによるワークフローの動的な再配置

Country Status (8)

Country Link
US (1) US7680683B2 (ja)
EP (1) EP1966723A4 (ja)
JP (1) JP4536817B2 (ja)
KR (1) KR20080087801A (ja)
CN (1) CN101356522B (ja)
BR (1) BRPI0618711A2 (ja)
RU (1) RU2433463C2 (ja)
WO (1) WO2007078673A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060111921A1 (en) * 2004-11-23 2006-05-25 Hung-Yang Chang Method and apparatus of on demand business activity management using business performance management loops
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US8752030B1 (en) * 2006-03-09 2014-06-10 Verizon Services Corp. Process abstraction and tracking, systems and methods
US9191793B2 (en) 2007-10-19 2015-11-17 Duc Anh Ngo Interactive system and process
WO2008046161A1 (en) * 2006-10-19 2008-04-24 Fruitful Technologies Pty Ltd An interactive system and process
US20090125366A1 (en) * 2007-11-13 2009-05-14 Dipanjan Chakraborty Method and system for dynamic adaptation of workflows
US8161492B2 (en) * 2008-04-15 2012-04-17 Microsoft Corporation Continuation based runtimes in transactions
US20100064357A1 (en) * 2008-09-09 2010-03-11 Kerstin Baird Business Processing System Combining Human Workflow, Distributed Events, And Automated Processes
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US8250520B2 (en) * 2009-03-17 2012-08-21 Microsoft Corporation Implementing custom activities in a workflow
US8751281B2 (en) * 2009-03-20 2014-06-10 Sap Ag Method for acquiring by a session manager a list of active sessions
US8683432B2 (en) * 2009-03-20 2014-03-25 Microsoft Corporation Providing execution context in continuation based runtimes
US20100293538A1 (en) * 2009-05-15 2010-11-18 Microsoft Corporation Dynamic program updating in a continuation based runtime
US20100324948A1 (en) * 2009-06-18 2010-12-23 Microsoft Corporation Managing event timelines
CN102804138B (zh) * 2009-06-23 2016-08-31 德国电信股份公司 依赖于第一服务来发起第二服务的方法和设备
US8661245B1 (en) * 2009-09-25 2014-02-25 Nimvia, LLC Systems and methods for empowering IP practitioners
US8683498B2 (en) * 2009-12-16 2014-03-25 Ebay Inc. Systems and methods for facilitating call request aggregation over a network
US8819055B2 (en) 2010-05-14 2014-08-26 Oracle International Corporation System and method for logical people groups
US9741006B2 (en) 2010-05-14 2017-08-22 Oracle International Corporation System and method for providing complex access control in workflows
US9852382B2 (en) 2010-05-14 2017-12-26 Oracle International Corporation Dynamic human workflow task assignment using business rules
US9589240B2 (en) * 2010-05-14 2017-03-07 Oracle International Corporation System and method for flexible chaining of distinct workflow task instances in a business process execution language workflow
US8717915B2 (en) 2010-05-25 2014-05-06 Microsoft Corporation Process-integrated tree view control for interactive voice response design
US20120030094A1 (en) * 2010-07-27 2012-02-02 Verizon Patent And Licensing Inc. Design, deployment, and use of an automated flow-model-view-controller workflow
US8522256B2 (en) 2010-10-12 2013-08-27 Microsoft Corporation Hosting non-messaging workflows in a messaging host
CN103329121B (zh) 2011-01-28 2016-11-02 惠普发展公司,有限责任合伙企业 文档管理系统和方法
US9466041B2 (en) * 2011-10-15 2016-10-11 Hewlett Packard Enterprise Development Lp User selected flow graph modification
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime
US9020883B2 (en) 2012-02-22 2015-04-28 Oracle International Corporation System and method to provide BPEL support for correlation aggregation
CN102662668B (zh) * 2012-03-31 2015-06-03 北京奇虎科技有限公司 一种利用网页生命周期优化应用的方法和装置
US10037197B2 (en) 2013-03-15 2018-07-31 Oracle International Corporation Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models
JP6064734B2 (ja) * 2013-03-27 2017-01-25 富士通株式会社 ワークフロー制御プログラム、装置および方法
US9946516B2 (en) 2014-03-14 2018-04-17 Starbucks Corporation Application workflow framework
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
KR102266554B1 (ko) * 2014-10-31 2021-06-18 한국전자통신연구원 컴포넌트 기반 소프트웨어의 컴포넌트 상태 관리 방법 및 장치
US11580472B2 (en) 2015-05-14 2023-02-14 Palantir Technologies Inc. Systems and methods for state machine management
CN104866312A (zh) * 2015-05-22 2015-08-26 国云科技股份有限公司 一种基于asp点net的伪静态实现方法
US10127509B2 (en) 2015-09-17 2018-11-13 Bank Of America Corporation System for temporarily suspending a workflow associated with a work item
US9766927B1 (en) * 2015-10-06 2017-09-19 Amazon Technologies, Inc. Data flow management in processing workflows
US10726032B2 (en) 2015-12-30 2020-07-28 Palantir Technologies, Inc. Systems and methods for search template generation
US10839022B1 (en) 2017-07-24 2020-11-17 Palantir Technologies Inc. System to manage document workflows
US10514895B2 (en) 2017-09-08 2019-12-24 Bank Of America Corporation Tool for generating event case management applications
US20210383259A1 (en) * 2020-06-04 2021-12-09 Outreach Corporation Dynamic workflow optimization using machine learning techniques
US11748681B1 (en) * 2021-09-14 2023-09-05 Amazon Technologies, Inc. Persistent state management system for web applications

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490097A (en) 1993-03-22 1996-02-06 Fujitsu Limited System and method for modeling, analyzing and executing work process plans
US5634127A (en) 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6272672B1 (en) 1995-09-06 2001-08-07 Melvin E. Conway Dataflow processing with events
DE19705955A1 (de) 1996-03-29 1997-10-02 Ibm Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
WO1997038386A1 (en) 1996-04-10 1997-10-16 Konnersman Paul M Computer-based system for work processes that consist of interdependent decisions involving one or more participants
US5960404A (en) 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
US6339838B1 (en) 1998-01-02 2002-01-15 At&T Corp. Control of commercial processes
US6230197B1 (en) 1998-09-11 2001-05-08 Genesys Telecommunications Laboratories, Inc. Method and apparatus for rules-based storage and retrieval of multimedia interactions within a communication center
US6430538B1 (en) 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
US6442528B1 (en) 1998-06-05 2002-08-27 I2 Technologies Us, Inc. Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration
US6282531B1 (en) 1998-06-12 2001-08-28 Cognimed, Llc System for managing applied knowledge and workflow in multiple dimensions and contexts
US6772407B1 (en) 1998-10-02 2004-08-03 International Business Machines Corporation Staging objects in workflow management systems
US6820118B1 (en) 1999-01-20 2004-11-16 International Business Machines Corporation Method and system for providing a linkage between systems management systems and applications
US6499023B1 (en) * 1999-02-19 2002-12-24 Lucent Technologies Inc. Data item evaluation based on the combination of multiple factors
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US6769113B1 (en) 1999-10-08 2004-07-27 International Business Machines Corporation Enterprise process models and enterprise application for information technologies
KR100377189B1 (ko) 1999-12-24 2003-03-28 한국전자통신연구원 워크플로우 시스템과 어플리케이션간의 데이터 교환시스템 및 그 방법
US6968503B1 (en) 2000-03-09 2005-11-22 Quovadx, Inc. XML user interface for a workflow server
JP2001306507A (ja) * 2000-04-25 2001-11-02 Hitachi Koukiyou Syst Eng Kk 情報処理システムおよび処理方法、ならびにプログラム読み出し可能な記録媒体
US7503033B2 (en) 2000-04-28 2009-03-10 Microsoft Corporation Model for business workflow processes
JP2001356907A (ja) 2000-06-09 2001-12-26 Ibm Japan Ltd 処理コード情報を有するデータベース・システムおよび情報処理システム
US7219304B1 (en) 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US6854016B1 (en) 2000-06-19 2005-02-08 International Business Machines Corporation System and method for a web based trust model governing delivery of services and programs
AU2001288827A1 (en) 2000-09-08 2002-03-22 Asera, Inc. Integrated design environment for a commerce server system
JP3856637B2 (ja) * 2000-10-12 2006-12-13 日本電信電話株式会社 処理協調実行方法及びシステム並びに処理協調実行プログラムを記録した記録媒体
US7653566B2 (en) 2000-11-30 2010-01-26 Handysoft Global Corporation Systems and methods for automating a process of business decision making and workflow
US6801227B2 (en) 2001-01-16 2004-10-05 Siemens Medical Solutions Health Services Inc. System and user interface supporting user navigation and concurrent application operation
US6675133B2 (en) 2001-03-05 2004-01-06 Ncs Pearsons, Inc. Pre-data-collection applications test processing system
US6966049B2 (en) 2001-04-24 2005-11-15 Heuristics Physics Laboratories, Inc. Software development tool employing workflows for developing user interactive programs
JP2002324155A (ja) * 2001-04-26 2002-11-08 Hitachi Ltd ワークフロー・システムおよびプログラム
US7100147B2 (en) 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
US7069536B2 (en) 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
US20030023622A1 (en) 2001-07-27 2003-01-30 Liaison Technology, Inc. Manual activity persistence in content management workflow systems
US20030135384A1 (en) * 2001-09-27 2003-07-17 Huy Nguyen Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer
US20030078975A1 (en) 2001-10-09 2003-04-24 Norman Ken Ouchi File based workflow system and methods
US20030090514A1 (en) 2001-10-23 2003-05-15 Cole Douglas J. Business process user interface generation system and method
US7865867B2 (en) 2002-03-08 2011-01-04 Agile Software Corporation System and method for managing and monitoring multiple workflows
US20030233374A1 (en) * 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
US20040046789A1 (en) 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
US7729935B2 (en) 2002-10-23 2010-06-01 David Theiler Method and apparatus for managing workflow
US20040103014A1 (en) * 2002-11-25 2004-05-27 Teegan Hugh A. System and method for composing and constraining automated workflow
US7299244B2 (en) * 2002-12-10 2007-11-20 Hewlett-Packard Development Company, L.P. System and method for dynamic sequencing of a requirements-based workflow
US7448024B2 (en) 2002-12-12 2008-11-04 Bea Systems, Inc. System and method for software application development in a portal environment
US7272820B2 (en) 2002-12-12 2007-09-18 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
US7171664B2 (en) 2002-12-16 2007-01-30 International Business Machines Corporation Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework
JP4146434B2 (ja) * 2002-12-20 2008-09-10 研一 澤田 ウェブアプリケーションサーバ用支援プログラム及びサーバ
US7711694B2 (en) 2002-12-23 2010-05-04 Sap Ag System and methods for user-customizable enterprise workflow management
US7409674B2 (en) 2002-12-26 2008-08-05 Research In Motion Limited System and method of creating and communicating with component based wireless applications
GB2396928A (en) 2003-01-04 2004-07-07 Quicksilva Ltd Business process management tool framework
US6839062B2 (en) 2003-02-24 2005-01-04 Microsoft Corporation Usage semantics
US20050044173A1 (en) 2003-02-28 2005-02-24 Olander Daryl B. System and method for implementing business processes in a portal
US7876705B2 (en) 2003-06-25 2011-01-25 Schlumberger Technology Corporation Method and apparatus and program storage device for generating a workflow in response to a user objective and generating software modules in response to the workflow and executing the software modules to produce a product
JP2005050318A (ja) 2003-07-16 2005-02-24 Ricoh Co Ltd ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体
CA2443454A1 (en) 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
JP4272963B2 (ja) * 2003-09-30 2009-06-03 キヤノン株式会社 注文処理システムおよび注文処理方法
US20050203757A1 (en) 2004-03-11 2005-09-15 Hui Lei System and method for pervasive enablement of business processes

Also Published As

Publication number Publication date
US7680683B2 (en) 2010-03-16
KR20080087801A (ko) 2008-10-01
CN101356522A (zh) 2009-01-28
RU2008126231A (ru) 2010-01-10
EP1966723A4 (en) 2011-06-15
RU2433463C2 (ru) 2011-11-10
JP2009522648A (ja) 2009-06-11
US20070156888A1 (en) 2007-07-05
WO2007078673A1 (en) 2007-07-12
CN101356522B (zh) 2012-08-08
BRPI0618711A2 (pt) 2011-09-06
EP1966723A1 (en) 2008-09-10

Similar Documents

Publication Publication Date Title
JP4536817B2 (ja) エンドユーザによるワークフローの動的な再配置
US20210117895A1 (en) Systems and Methods for Cross-Platform Scheduling and Workload Automation
CN108961033B (zh) 多业务系统交互方法及装置、存储介质、电子终端
CN102667713B (zh) 带有后台应用逻辑的响应式用户界面
CN112668386A (zh) 使用机器人过程自动化用于文档处理的长时间运行工作流
CN113228020B (zh) 调度机器人以用于机器人流程自动化
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
JP2009522647A (ja) ワークフローのオブジェクトモデル
CN108292383B (zh) 与通信相关联的任务的自动提取
CN101981591A (zh) 将命令表面与多个活动组件进行关联
US8869107B2 (en) Declarative dynamic control flow in continuation-based runtime
EP3454203A1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
CN113168356A (zh) 用于联络中心的统一支持框架
Chang et al. An agent‐based workflow scheduling mechanism with deadline constraint on hybrid cloud environment
US20050044173A1 (en) System and method for implementing business processes in a portal
US11315208B2 (en) Conceptual representation of business processes for cross-domain mapping
CN114846490A (zh) 量化机器人流程自动化相关资源的使用
JP6568576B2 (ja) サーバー・プラットフォーム上においてアトミック・タスクを開始するときにおける制御
CN115210661A (zh) 用于表示rpa数据的企业流程图
CN111026945B (zh) 多平台爬虫调度方法、装置和存储介质
US10007554B2 (en) Task scheduling based on user interaction
CN108696559A (zh) 流处理方法及装置
EP3624027A1 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
Gschwind Blue Gene/Q: Design for sustained multi-petaflop computing
US20180189037A1 (en) Method, apparatus, and computer program product for generating updated network application interfaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091104

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100407

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100420

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100506

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100519

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100616

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4536817

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees