(57)【要約】  単一のランタイム環境内でプロセスを定義および実行することに関連付けられるシステム、方法および他の実施形態が記載される。一実施形態では、方法は、ランタイム環境において、プロセスを定義するための定義インターフェイスを実行することを含む。例示的な方法はさらに、定義インターフェイスを通じてプロセスのプロセス定義の入力を受信することと、データ構造へプロセス定義を格納することとを含み得る。例示的な方法はさらに、ワークフロー、バッチ実行ジョブ、解析パイプラインおよびインタラクティブアプリケーションインターフェイスのような複数の実行タイプでポピュレートされる選択インターフェイスを生成および表示することを含み得る。例示的な方法はさらに、選択インターフェイスを通じて選択された実行タイプを受信することと、選択された実行タイプとコンパチブルになるよう実行中に変換されるプロセス定義を使用してプロセスを実行することとを含み得る。プロセス実行情報でポピュレートされる実行インターフェイスは、ランタイム環境において実行される。
2020514907.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能命令を格納する一時的でないコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、前記プロセッサに、単一のランタイム環境内でプロセスを定義および実行させ、
前記単一のランタイム環境内で前記プロセスを定義および実行することは、
前記プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、前記ランタイム環境において定義インターフェイスのモジュールを実行することと、
前記グラフィカル定義インターフェイスを通じて前記プロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へ前記プロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、前記ディスプレイ上に表示することとによって行われ、実行タイプは、（ｉ）１つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、（ｉｉ）複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、（ｉｉｉ）出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、（ｉｖ）前記プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
前記単一のランタイム環境内で前記プロセスを定義および実行することはさらに、
前記複数の実行タイプからの選択された実行タイプを前記選択インターフェイスから受信することに応答して、
前記選択された実行タイプとコンパチブルであるように実行中に変換される、前記データ構造からの前記プロセス定義を使用して前記プロセスを実行することと、
前記プロセスの実行に関する情報でポピュレートされた実行インターフェイスを前記ディスプレイ上でレンダリングするよう、前記ランタイム環境において前記実行インターフェイスを実行することとによって行われる、一時的でないコンピュータ読取可能媒体。
【請求項２】
前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセス定義が前記プロセスのタスクを実行するべきサードパーティコンポーネントを特定することを決定することと、
前記サードパーティコンポーネントをホストするリモートコンピューティングデバイスへネットワークを介して通信接続を確立することと、
前記サードパーティコンポーネントによって使用されるパラメータおよび機能を定義するメタデータを識別するよう、前記通信接続を介して前記サードパーティコンポーネントにクエリ送信することと、
前記パラメータおよび機能の識別で前記実行インターフェイスをポピュレートすることとを行わせる、請求項１に記載の一時的でないコンピュータ読取可能媒体。
【請求項３】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセスの第１のタスクを実行する第１のエンティティと前記プロセスの第２のタスクを実行する第２のエンティティとの間でデータが同期して通信される同期実行モードで前記プロセスを実行することを行わせるコンピュータ実行可能命令を含む、請求項１または２に記載の一時的でないコンピュータ読取可能媒体。
【請求項４】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセスについて、メッセージキューにおいてメッセージが到着するのを待つためにコールバック機能が実現される非同期実行モードで前記プロセスを実行することを行わせるコンピュータ実行可能命令を含む、請求項１〜３のいずれか１項に記載の一時的でないコンピュータ読取可能媒体。
【請求項５】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセスの第２のタスクを実行するために第２のエンティティを呼び出すことに並行して前記プロセスの第１のタスクを実行するために第１のエンティティを呼び出すことを行わせるコンピュータ実行可能命令を含む、請求項１〜４のいずれか１項に記載の一時的でないコンピュータ読取可能媒体。
【請求項６】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセス定義の第１のバージョンおよび前記プロセス定義の第２のバージョンが利用可能であることを決定することと、
バージョンコントロールメトリックに基づいて実行のために前記第１のバージョンを選択することとを行わせるコンピュータ実行可能命令を含む、請求項１〜５のいずれか１項に記載の一時的でないコンピュータ読取可能媒体。
【請求項７】
メモリに接続されたプロセッサと、
一時的でないコンピュータ読取可能媒体上に格納され、命令を有するように構成されたプロセスフレームワークモジュールとを含み、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
前記グラフィカル定義インターフェイスを通じて前記プロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へ前記プロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、前記ディスプレイ上に表示することとを行わせ、実行タイプは、（ｉ）１つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、（ｉｉ）複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、（ｉｉｉ）出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、（ｉｖ）前記プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
前記命令はさらに、前記プロセッサによって実行されると、前記プロセッサに、
前記複数の実行タイプからの選択された実行タイプを前記選択インターフェイスから受信することに応答して、
前記選択された実行タイプとコンパチブルであるように実行中に変換される、前記データ構造からの前記プロセス定義を使用して前記プロセスを実行することと、
前記プロセスの実行に関する情報でポピュレートされた実行インターフェイスを前記ディスプレイ上でレンダリングするよう、前記ランタイム環境において前記実行インターフェイスを実行することとを行わせる、コンピューティングシステム。
【請求項８】
前記実行インターフェイスを実行するための前記命令は、前記プロセッサに、
前記プロセスの第１のタスクと前記プロセスの第２のタスクとの間の関連性に関するトレーシングデータで前記実行インターフェイスをポピュレートすることを行わせる命令を含む、請求項７に記載のコンピューティングシステム。
【請求項９】
前記実行インターフェイスを実行するための前記命令は、前記プロセッサに、
前記プロセスの進捗に関するステートマシンを維持することと、
前記ステートマシンの現在状態で前記実行インターフェイスをポピュレートすることとを行わせる命令を含む、請求項７または８に記載のコンピューティングシステム。
【請求項１０】
前記プロセスを実行するための前記命令は、前記プロセッサに、
前記プロセスの１つ以上のタスクのリアルタイム進捗を示すリアルタイムビジュアライゼーションを構築することと、
前記リアルタイムビジュアライゼーションで前記実行インターフェイスをポピュレートすることとを行わせる命令を含む、請求項７〜９のいずれか１項に記載のコンピューティングシステム。
【請求項１１】
前記プロセスを実行するための前記命令は、前記プロセッサに、
前記選択された実行タイプとコンパチブルな前記プロセス定義の第１の部分を利用し、前記選択された実行タイプとコンパチブルでない前記プロセス定義の第２の部分を無視することを行わせる命令を含む、請求項７〜１０のいずれか１項に記載のコンピューティングシステム。
【請求項１２】
プロセッサを含むコンピューティングデバイスを伴う、コンピュータによって実現される方法であって、前記コンピュータによって実現される方法は、
前記プロセッサが、プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
前記プロセッサが、前記グラフィカル定義インターフェイスを通じて前記プロセスのプロセス定義の入力を受信することと、
前記プロセッサが、ストレージ内に格納されるデータ構造へ前記プロセス定義を格納することと、
前記プロセッサが、複数の実行タイプでポピュレートされた選択インターフェイスを生成し、前記ディスプレイ上に表示することとを含み、実行タイプは、（ｉ）１つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、（ｉｉ）複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、（ｉｉｉ）出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、（ｉｖ）前記プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
前記コンピュータによって実現される方法はさらに、
前記複数の実行タイプからの選択された実行タイプを前記選択インターフェイスから受信することに応答して、
前記プロセッサが、前記選択された実行タイプとコンパチブルであるように実行中に変換される、前記データ構造からの前記プロセス定義を使用して前記プロセスを実行することと、
前記プロセッサが、前記プロセスの実行に関する情報でポピュレートされた実行インターフェイスを前記ディスプレイ上でレンダリングするよう、前記ランタイム環境において前記実行インターフェイスを実行することとを含む、コンピュータによって実現される方法。
【請求項１３】
前記プロセッサが、前記選択された実行タイプが第１のタイプのデータを利用することを決定することと、
前記プロセッサが、前記第１のタイプのデータとコンパチブルな前記プロセス定義の第１の部分を利用することと、
前記プロセッサが、前記選択された実行タイプとコンパチブルでない前記プロセス定義の第２の部分を前記選択された実行タイプとコンパチブルなデータのタイプへ変換することとをさらに含む、請求項１２に記載のコンピュータによって実現される方法。
【請求項１４】
前記プロセッサが、タスクが消滅する期日に基づいてユーザに対して前記タスクの自動エスカレーションを実行することと、
前記プロセッサが、前記自動エスカレーションに関する情報で前記実行インターフェイスをポピュレートすることとをさらに含む、請求項１２または１３に記載のコンピュータによって実現される方法。
【請求項１５】
前記プロセッサが、エンティティの特徴とマッチする前記タスクの特徴に基づいて、前記エンティティへのタスクの自動委任を実行することと、
前記プロセッサが、前記自動委任に関する情報で前記実行インターフェイスをポピュレートすることとをさらに含む、請求項１２〜１４のいずれか１項に記載のコンピュータによって実現される方法。
【請求項１６】
コンピュータに請求項１２〜１５のいずれか１項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
【背景技術】
【０００２】
多くのビジネスは、プロセスを定義および実現するための複数のツールを用いる。たとえば、金融セクター、リスクセクターまたは犯罪セクターにおける規制コンプライアンスは、規制コンプライアンス要件に対応するよう、複数のソフトウェアアプリケーションおよびツールを使用する。一例では、金融機関は、規制コンプライアンス要件に対応するソリューションの異なる局面に集中する複数の部門を有し得る。各局面は、ツール同士に亘る視覚的な提携（tie-in）またはトレーサビリティがない特定目的のソフトウェアツールで対応される。たとえば、ビジネス部門は、規制コンプライアンスプロセスをドラフトし記録するために１つのツールを使用し得る。別の部門は、規制コンプライアンスプロセスの各部分を実現するよう、個々にソリューションコンポーネントを構築するために他のツールを使用し得る。ユーザは、たとえば特定のユーザにのみアクセス可能なパーソナルコンピュータ上にローカルに格納された情報を使用して、プライベートサンドボックスにおけるデータセットにより、ソリューションコンポーネントのワークリストアイテムを実現するよう、孤立した状態で働き得る。したがって、金融機関の異なる部門によって、プロセスを定義し、プロセスの部分を実現するソリューションコンポーネントを構築し、ソリューションコンポーネントのワークフローアイテムを実現するなどするために、多数のリンクされていないソフトウェアツールが使用されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
プロセスを定義し、ソリューションコンポーネントを構築し、ワークフローアイテムを実現し、ソリューションの他のサブパートを定義および実現するのに用いられるアプリケーションツール同士間のトレーサビリティが欠如しているという問題がある。したがって、ソリューションのサブパート同士をリンクするために、相当な量の手動の労力が使用され、これは、コストおよびユーザエラーの増加につながり得る。たとえば、コンプライアンスレビュアーは、規制コンプライアンス要件へのコンプライアンスがどのように定義され実現されたかを適切に追跡して理解することができない場合がある。
【課題を解決するための手段】
【０００４】
概要
一実施形態において、コンピュータ実行可能命令を格納する一時的でないコンピュータ読取可能媒体および／またはコンピュータプログラムが記載されており、当該コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、プロセッサに、単一のランタイム環境内でプロセスを定義および実行することを行わせ、
単一のランタイム環境内でプロセスを定義および実行することは、
プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
グラフィカル定義インターフェイスを通じてプロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へプロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、ディスプレイ上に表示することとによって行われ、実行タイプは（ｉ）１つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、（ｉｉ）複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、（ｉｉｉ）出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、（ｉｖ）プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
単一のランタイム環境内でプロセスを定義および実行することはさらに、
複数の実行タイプからの選択された実行タイプを選択インターフェイスから受信することに応答して、
選択された実行タイプとコンパチブルであるように実行中に変換される、データ構造からのプロセス定義を使用してプロセスを実行することと、
プロセスの実行に関する情報でポピュレートされた実行インターフェイスをディスプレイ上でレンダリングするよう、ランタイム環境において実行インターフェイスを実行することとによって行われる。
【０００５】
１つ以上の他の実施形態において、一時的でないコンピュータ読取可能媒体は、上記の特徴と組み合わせて、以下の特徴のうちの１つ以上の組み合わせを実行するための実行可能命令を含み得る。すなわち、上記以下の特徴は、
プロセス定義がプロセスのタスクを実行するべきサードパーティコンポーネントを特定することを決定することと、サードパーティコンポーネントをホストするリモートコンピューティングデバイスへネットワークを介して通信接続を確立することと、サードパーティコンポーネントによって使用されるパラメータおよび機能を定義するメタデータを識別するよう、通信接続を介してサードパーティコンポーネントにクエリ送信することと、パラメータおよび機能の識別で実行インターフェイスをポピュレートすることと、
プロセスの第１のタスクを実行する第１のエンティティとプロセスの第２のタスクを実行する第２のエンティティとの間でデータが同期して通信される同期実行モードでプロセスを実行することと、
プロセスについて、メッセージキューにおいてメッセージが到着するのを待つためにコールバック機能が実現される非同期実行モードでプロセスを実行することと、
プロセスの第２のタスクを実行するために第２のエンティティを呼び出すことに並行してプロセスの第１のタスクを実行するために第１のエンティティを呼び出すことと、
プロセス定義の第１のバージョンおよびプロセス定義の第２のバージョンが利用可能であることを決定することと、バージョンコントロールメトリックに基づいて実行のために第１のバージョンを選択することと、
プロセスのトランザクションが、実行トランザクションとして、実行されるべきであると決定することと、実行トランザクションをアンドゥするために使用されるアンドゥデータ構造を作成することと、
第２のタスクが第１のタスクの完了に依存すると決定することと、第１のエンティティが第１のタスクを完了したと決定すると、第２のタスクを実行するために第２のエンティティを呼び出すこととである。
【０００６】
別の実施形態では、本願明細書において以下のものを含むコンピュータシステムが開示される。すなわち、コンピュータシステムは、メモリに接続されたプロセッサと、一時的でないコンピュータ読取可能媒体上に格納されるとともに、命令を有するように構成されたプロセスフレームワークモジュールとを含み、命令は、プロセッサによって実行されると、プロセッサに、
プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
グラフィカル定義インターフェイスを通じてプロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へプロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、ディスプレイ上に表示することとを行わせ、実行タイプは、（ｉ）１つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、（ｉｉ）複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、（ｉｉｉ）出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、（ｉｖ）プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
命令はさらに、プロセッサによって実行されると、プロセッサに、
複数の実行タイプからの選択された実行タイプを選択インターフェイスから受信することに応答して、
選択された実行タイプとコンパチブルであるように実行中に変換される、データ構造からのプロセス定義を使用してプロセスを実行することと、
プロセスの実行に関する情報でポピュレートされた実行インターフェイスをディスプレイ上でレンダリングするよう、ランタイム環境において実行インターフェイスを実行することとを行わせる。
【０００７】
１つ以上の他の実施形態において、コンピュータシステムはさらに、上記の特徴と組み合わせて、以下の特徴のうちの１つ以上の組み合わせを実行するための実行可能命令を含む。すなわち、上記以下の特徴は、
プロセスの第１のタスクとプロセスの第２のタスクとの間の関連性に関するトレーシングデータで実行インターフェイスをポピュレートすることと、
プロセスの進捗に関するステートマシンを維持することと、ステートマシンの現在状態で実行インターフェイスをポピュレートすることと、
プロセスの１つ以上のタスクのリアルタイム進捗を示すリアルタイムビジュアライゼーションを構築することと、リアルタイムビジュアライゼーションで実行インターフェイスをポピュレートすることと、
選択された実行タイプとコンパチブルなプロセス定義の第１の部分を利用し、選択された実行タイプとコンパチブルでないプロセス定義の第２の部分を無視すること、
プロセス定義内で定義される一連のタスクを、ワークフロー、バッチ実行ジョブ、解析パイプラインまたはインタラクティブアプリケーションインターフェイスのうちの１つへ変換することとである。
【０００８】
別の実施形態において、コンピュータによって実現される方法が開示される。コンピュータによって実現される方法は、少なくとも１つのプロセッサと、実行可能命令を有するメモリとを含むコンピューティングデバイスによって実行される。コンピュータによって実現される方法は、本願明細書において記載されるプロセスフレームワークモジュールのファンクションおよび上記ファンクションの組み合わせを実行するためのステップを含んでいる。
【０００９】
別の実施形態では、コンピュータに上記方法の１つ以上を実行させるためのプログラムが開示されており、本願明細書において開示されるように付加的なステップの任意の組み合わせを含み得る。
【００１０】
明細書の部分に統合され当該部分を構成する添付の図面は、本開示のさまざまなシステム、方法および他の実施形態を示す。図における示された要素境界（たとえばボックス、ボックスのグループまたは他の形状）は、境界の一実施形態を表わすということが認識されるであろう。いくつかの実施形態では、１つの要素が複数の要素として実現され得るか、または、複数の要素が１つの要素として実現され得る。いくつかの実施形態では、別の要素の内部コンポーネントとして示される要素が、外部コンポーネントとして実現され得、その逆も実現され得る。さらに、要素は、縮尺通りに描かれていない場合もある。
【図面の簡単な説明】
【００１１】
【図１】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図である。
【図２】単一のランタイム環境内でプロセスを定義および実現することに関連付けられる方法の実施形態を示す図である。
【図３】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図であって、プロセスは定義インターフェイスを通じて定義される図である。
【図４】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図であって、プロセス定義はワークフローとしてプロセスを実行するために使用される図である。
【図５】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図であって、プロセス定義は解析パイプラインとしてプロセスを実行するために使用される図である。
【図６】一時的でないコンピュータ読取可能媒体の実施形態を示す図である。
【図７】開示される例示的なシステムおよび／または方法により構成されるコンピューティングシステムの実施形態を示す図である。
【発明を実施するための形態】
【００１２】
詳細な説明
単一のランタイム環境内でプロセスを定義および実現することを提供するコンピュータ化されたシステムおよび方法が本願明細書において記載される。単一のユーザインターフェイスを通じて実行および表示されるアプリケーションソフトウェアスイートのようなランタイム環境は、プロセスの進捗を定義し、実行し、トラッキングするためのさまざまなツールをホストする。定義インターフェイスおよび実行インターフェイスのようなツールが、単一のランタイム環境によってホストされるので、プロセスの進捗を定義し、実行し、実現し、トラッキングするさまざまな局面の間でトレーサビリティが提供され得る。ユーザは、プロセスの個々のタスクがどのように定義されているかについてと、プロセスが、ワークフロー、バッチ実行ジョブ、解析パイプライン、インタラクティブアプリケーションインターフェイス、または、他の実行タイプとしてどのように実行されるのかについてとの相関を容易に識別およびトラッキングし得る。ユーザはさらにランタイム環境を通じて、個々のタスクのリアルタイム進捗をトラッキングし得る。ランタイム環境は、ワークフロー、バッチ実行ジョブ、解析パイプラインおよびインタラクティブアプリケーションインターフェイスを定義し、実現し、トラッキングするために使用され得る単一の統合されたツールに、タスク間のトレーサビリティと、何がそれらのタスクを駆動するかと、タスクがどのように実現されるかとを与える。これにより、コンピューティングリソースの量と、時間と、複数のユーザデバイスに亘って関係付けられていない態様で格納された情報の複数の別個のツール同士間で情報を相関させる手動の試みによる手動のヒューマンエラーの確率とが低減される。
【００１３】
ランタイム環境は、プロセスが単一のプロセス定義として定義されることを可能にする。プロセス定義は、さまざまな実行タイプに従って単一のプロセス定義からのプロセスを実行するために使用され得る。プロセス定義は、特定の実行タイプとコンパチブルになるよう実行中に変換される。プロセス定義は、１つ以上のエンティティによって実行されるべき一連のタスクのワークフローに変換され得る。エンティティは、ユーザ、コンピューティングシステム、サードパーティコンポーネント、ウェブサービス、データベーストランザクション、スクリプトなどに対応し得る。プロセス定義は、たとえば複数のベンダーに支払いを行うために使用される支払いプロセスといったような、複数のターゲットについて実行されるべきタスクのバッチ実行ジョブに変換され得る。プロセス定義は、ユーザ情報を評価する統計モデルを使用してローンデフォルトの確率を出力するといった、出力を作り出すよう入力の際に実行されるべき解析の解析パイプラインに変換され得る。プロセス定義は、たとえばユーザが関連するドキュメンテーションを見てプロセスのタスクを実行し得る、プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスに変換され得る。
【００１４】
一実施形態では、実行タイプは、複数の利用可能な実行タイプを有するよう生成および表示される選択インターフェイスを通じてユーザによって選択され得る。他の実施形態では、実行タイプは、現在のコンテキストに基づいてプログラムによって決定され得る。現在のコンテキストは、ユーザが提出したコマンド、ソフトウェアコンポーネントコマンド、しきい値、トリガ、データベース情報、ネットワークを介してリモートコンピュータから受信される要求などから導き出される。一実施形態において、ローンデフォルト解析がランタイム環境を通じてユーザによって要求される場合、解析パイプライン実行タイプが選択される。別の実施形態において、請求コンポーネントが複数のベンダーに対する支払いがあると決定する場合、バッチ実行ジョブ実行タイプが選択される。別の実施形態では、単一の大きく複雑な支払いの要求がリモートベンダーコンピュータから受信される場合、当該支払いの個々のタスクをトラッキングおよび実現するために、ワークフロー実行タイプが選択される。別の実施形態において、ユーザのカレンダエントリまたはＥメールがタスクの手動実行の要求を示す場合、インタラクティブアプリケーションインターフェイス実行タイプが選択される。これにより、コンピューティングリソースが節約され得る。なぜならば、各実行タイプのための複数の別個のプロセス定義が、定義、格納、維持、および実現される必要がないからである。
【００１５】
図１を参照して、単一のランタイム環境内でプロセスを定義および実行することに関連付けられるコンピュータシステム１００の一実施形態が示される。システム１００は、図７のコンピュータ７１５のようなコンピュータ上で実行するように構成され得るプロセスフレームワークモジュール１０５を含んでいる。プロセスフレームワークモジュール１０５は、定義インターフェイス１２０、実行インターフェイス１２５および／または他のインターフェイスが実行および表示されるアプリケーションもしくはユーザインターフェイスといった、単一のランタイム環境１１５内でプロセスを定義および実行するように構成される。一実施形態では、各インターフェイスは、本願明細書において記載されるように、対応するグラフィカルユーザインターフェイス（ＧＵＩ）を生成し表示画面上にレンダリングするように構成される実行可能プログラムモジュールである。
【００１６】
プロセスフレームワークモジュール１０５は、ディスプレイ上にＧＵＩをレンダリングするためのランタイム環境１１５における定義インターフェイス１２０のモジュールを実行する。表示されたグラフィカル定義インターフェイスＧＵＩ１２０は、プロセスを定義するために使用される。ユーザは、実行中にプロセスへの入力として使用するデータのデータソースを定義するために、グラフィカル定義インターフェイス１２０と相互作用し得る。データソースは、データベース、ウェブサイト、ドキュメント、ファイル、サードパーティコンポーネントのようなリモートコンピュータから受信される情報などに対応し得る。
【００１７】
ユーザは、プロセスを実現するために実行されるべき１つ以上のタスクを定義するために、グラフィカル定義インターフェイス１２０と相互作用し得る。一実施形態では、規制コンプライアンスプロセスは、ドキュメント取得タスク、ドキュメントレビュータスク、署名取得タスク、コンプライアンス規制ルールレビュータスク、監査タスクなどを含み得る。ユーザは、タスクを実行するための命令を定義することと、だれがタスクを実行するか委任することと、タスクを実行するためのしきい値およびパラメータをセットすることと、完了進捗トラッキングのためのマイルストーンをセットすることと、タスクの入力および出力を定義することと、当該タスクと他のタスクまたは当該プロセスのコンポーネントとの関係を定義することとなどを行い得る。
【００１８】
ユーザは、そのようなタスクを実行するべきエンティティ１３０へのタスクの委任を定義するために、グラフィカル定義インターフェイス１２０と相互作用し得る。一実施形態では、タスクは、解析ユーザ、ビジネスユーザ、サードパーティコンポーネント、ウェブサービス、ランタイムコンポーネント（たとえばアプリケーション）、データベーススクリプトなどに委任され得る。
【００１９】
ユーザは、タスクを定義するのに用いられるパラメータを定義するために、グラフィカル定義インターフェイス１２０と相互作用し得る。一実施形態では、ユーザは、しきい値、期日、アルゴリズム、記入すべきフォーム、レビューすべきドキュメント、または、タスクを定義する任意の他のパラメータを特定し得る。
【００２０】
ユーザは、出力データを作り出すよう入力データに対して実行されるモデル、アルゴリズム、方程式、統計、ビジネスロジックまたは他の機能を定義するために、グラフィカル定義インターフェイス１２０と相互作用し得る。一実施形態では、ユーザがローンをデフォルトする確率を出力するためのユーザ情報を評価するためにデフォルト確率モデルが定義され得る。
【００２１】
これにより、ユーザは、プロセス定義としてグラフィカル定義インターフェイス１２０を通じてプロセスを定義し得る。複数のユーザは、ランタイム環境１１５を通じてプロセス定義のさまざまな局面を定義するために共働し得る。一実施形態では、解析ユーザは統計モデルを定義し得、ビジネスユーザはワークフローアイテムを定義し得、プログラマはデータソースなどを定義し得る。
【００２２】
一実施形態では、グラフィカル定義インターフェイス１２０は、タスク、プロセス、統計モデル、データソース、パラメータ、エンティティおよび／またはプロセスの他のコンポーネントのビジュアル表現が視覚的に定義され得るビジュアルモデリング環境として表示される。たとえば、ユーザは、たとえばプロセスを定義するために使用される構成可能なコンポーネントの表現／アイコンのプロセスコンポーネントインターフェイスからのドラッグアンドドロップ操作を通じて、グラフィカル定義インターフェイス１２０内にタスクアイコンを配置し得る。ユーザは、たとえばプロセスコンポーネントインターフェイスからのドラッグアンドドロップ操作を通じて、グラフィカル定義インターフェイス１２０内にユーザエンティティアイコンを配置し得る。ユーザは、ユーザエンティティアイコンによって表わされるユーザが、タスクアイコンによって表わされるタスクを実行することになっていることを示すために、タスクアイコンとユーザエンティティアイコンとの間の接続を作成し得る。ユーザは、そのようなアイコンを選択し、そのようなものに関するさらに別の情報を特定し得る。一実施形態では、ユーザは、ユーザのＥメールアドレスを特定することと、どのステップがタスクについて実行されるべきかを定義することと、タスクについてしきい値をセットすることと、タスクを実現するために使用するよう入力情報についてデータソースを定義することとなどを行い得る。
【００２３】
プロセス定義は、ファイル、データベースなどのようなデータ構造へ格納される。データ構造は、図７のディスク７５５またはメモリ７３５内といった、プロセスフレームワークモジュール１０５にアクセス可能なストレージ内に格納される。一実施形態では、データ構造は、プロセス定義をさらに定義／改良するために、グラフィカル定義インターフェイス１２０にプロセス定義をロードするために使用される。データ構造はさらに、プロセスを実行するためのプロセス定義をロードするために使用される。一実施形態では、プロセス定義の複数バージョンが１つ以上のデータ構造に格納され得る。
【００２４】
プロセスフレームワークモジュール１０５は、ディスプレイ上でレンダリングするために、ランタイム環境１１５において実行インターフェイス１２５を実行する。実行インターフェイス１２５は、プロセスの実行に関する情報を表示することと、タスクまたはタスクの進捗に関する入力情報を完了するためにユーザに入力インターフェイスを提供することと、タスクを実行するために使用されるデータへのアクセスをユーザに提供することと、タスク同士間の関係情報を提供することとなどのために使用される。一実施形態では、選択インターフェイス１１０が生成される。選択インターフェイス１１０は、プロセス定義のためにサポートされ得る複数の実行タイプでポピュレートされる。実行タイプは、プロセス定義が、タスク定義データ、データソース入力定義データ、パラメータ定義データ、解析モデル定義データ、および／または、その実行タイプに従ってプロセスを実行するために使用される他のデータを有する場合、サポートされることが可能であると決定される。一実施形態では、実行タイプは、入力、タスクを実行するべきエンティティの指定、実現するべき統計モデルまたは他のビジネスロジック、タスクをどのように実行するかのステップの定義などとして、あるデータタイプを予想し得る。
【００２５】
選択インターフェイス１１０は、１つ以上のエンティティによって実行されるべき一連のタスクのワークフローに対応する実行タイプでポピュレートされる。一実施形態では、ワークフローは、ユーザ口座抽出タスクを実行するデータベーススクリプトエンティティと、ユーザ口座アップデートタスクを実行するアカウンタントと、ユーザアドレス情報をアップデートする他のタスクといったタスクに使用される。選択インターフェイス１１０は、多数のベンダーに請求書を送信する単一タスクといった、複数のターゲットについて実行されるべきタスクのバッチ実行ジョブに対応する実行タイプでポピュレートされる。選択インターフェイス１１０は、出力を作り出すよう入力の際に実行されるべき解析（たとえば統計モデル、アルゴリズムなど）の解析パイプラインに対応する実行タイプでポピュレートされる。選択インターフェイス１１０は、プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスに対応する実行タイプでポピュレートされる。一実施形態では、インタラクティブアプリケーションインターフェイスは、ユーザがプロセスの実行またはプロセスのタスクに関するデータを入力したり、プロセスまたはタスクなどを実行するのに用いられるデータを閲覧したりなどし得るユーザインターフェイスを含む。
【００２６】
選択インターフェイス１１０は、たとえば実行インターフェイス１２５を通じてといったように、ランタイム環境１１５を通じてユーザに表示される。選択された実行タイプは、選択インターフェイス１１０を通じて受信される。一実施形態では、ユーザはバッチ実行ジョブ実行タイプを選択する。
【００２７】
他の実施形態では、実行タイプは、現在のコンテキストに基づいてプログラムによって決定され得る。現在のコンテキストは、さまざまなメタデータ、ユーザ入力、信号、リモートコンピュータから受信されるデータ、アラート、アラーム、カレンダデータ、タスクデータ、Ｅメールデータおよび／または他の情報に基づき決定され得る。一実施形態において、ランタイム環境１１５へのユーザ入力は、請求書が多数のクライアントに送信されることになっているといったように、タスクがしきい値回数だけ実行されることになっていることを示し得る。したがって、プロセスフレームワークモジュール１０５は、バッチ実行ジョブ実行タイプがバッチジョブとして、請求書を送信するために使用されるべきであると決定する。別の実施形態では、Ｅメールまたは任意の他の通信がランタイム環境１１５によって評価され、ユーザ入力と、ユーザインターフェイスとのインタラクションとを必要とするさまざまなタスクが実行されることになっていると当該Ｅメールが示していると決定する。したがって、プロセスフレームワークモジュール１０５は、そのようなタスクを実行するためにユーザにユーザインターフェイスを提供するためにインタラクティブアプリケーションインターフェイス実行タイプが使用されるべきであることを決定する。
【００２８】
プロセスは、データ構造からのプロセス定義を使用して実行される。複数バージョンのプロセス定義が存在する場合、最新バージョン、完了とマークされたバージョン、しきい値を上回る承認格付けを有するバージョンなどといった、どのバージョンを使用するべきかを選択するためにバージョンコントロールメトリックが使用される。特に、プロセス定義は、選択された実行タイプとコンパチブルになるよう、実行中に変換される。一実施形態では、プロセス定義は、選択された実行タイプとコンパチブルであるプロセス定義の第１の部分を選択的に使用し、かつ、選択された実行タイプとコンパチブルでないプロセス定義の第２の部分を無視（たとえば、使用のためにプロセス定義から抽出しない）することによって、変換される。複数のクライアントへの請求書送信プロセスがバッチ実行ジョブとして実行されることになっている一実施形態において、プロセス定義内のクライアントアドレス取得タスクが、予測されたコンポーネント（たとえば入力、出力、機能、モデル、データタイプ、アルゴリズムなど）に対応し得、したがって使用される。クライアント年齢アップデートタスクまたは銀行支店位置のデータソーステーブルの指定は、予測されたコンポーネントに対応し得なく、したがって、使用されないか、または、プロセス定義から使用のために抽出されない。一実施形態において、コンパチブルでないプロセス定義の第２の部分が、選択された実行タイプとコンパチブルなデータのタイプへ変換される。たとえば、ユーザの名前が、予測された入力であるユーザのＥメールアドレスに変更され得る（たとえば、ユーザ情報データベースにはユーザの名前がクエリ送信されて、変換のためにＥメールアドレスを取得する）。
【００２９】
これにより、一連のタスク、データソース指定、統計モデル、入力、出力、命令、ユーザインターフェイス要素、アルゴリズムおよび／またはプロセス定義内の他の情報が、ワークフロー、バッチ実行ジョブ、解析パイプライン、または、インタラクティブアプリケーションインターフェイスに変換される。
【００３０】
一実施形態において、プロセスは、同期実行モードで実行される。同期実行モードでは、第１のタスクを実行する第１のエンティティ（たとえば請求書を生成するウェブサービス）と、第２のタスクを実行する第２のエンティティ（たとえば請求書を生成するために使用されるリアルタイム請求データを提供するサードパーティコンポーネント）との間でデータが同期して通信される。別の実施形態では、プロセスは、コールバック機能が実現される非同期実行モードで実行される。コールバック機能によって、長く実行される複雑なプロセスのようなプロセスは、メッセージ（たとえば請求書を生成するために必要とされる請求データといった、前進を継続するためにプロセスによって必要とされるデータ）がメッセージキューに到着するのを待つことが可能になる。
【００３１】
一実施形態では、プロセスは第１のタスクおよび第２のタスクを含む。第１のユーザのような第１のエンティティは、データベーススクリプトのような第２のエンティティが第２のタスクを実行するのと並行して、第１のタスクを実行するよう呼び出され得る。別の実施形態では、第２のタスクが第１のタスクの完了に依存するという決定がなされる。したがって、第２のエンティティは、第１のエンティティが第１のタスクを完了したという決定の際に、第２のタスクを実行するために呼び出される。
【００３２】
実行インターフェイス１２５は、プロセスの実行および実施に関する情報でポピュレートされる。実行インターフェイス１２５は、ドキュメントと、データへのリンクと、タスクを実行するために使用され得る他の情報とでポピュレートされる。実行インターフェイス１２５は、ユーザが、タスクを実行することと、タスクがどのように実行されたかを特定することと、タスクの結果を入力することとなどを行い得るユーザインターフェイスでポピュレートされる。
【００３３】
一実施形態では、実行インターフェイス１２５は、ユーザが割り当てられたタスクを実行し得るユーザインターフェイスといったタスク完了機能でポピュレートされる。別の実施形態では、実行インターフェイス１２５は、第２のタスクの完了または第２のタスクからのデータに対する第１のタスクの依存性といった、プロセスの第１のタスクとプロセスの第２のタスクとの間の関連性に関するトレーシングデータでポピュレートされる。別の実施形態において、実行インターフェイス１２５は、パーセンテージインジケータ、または、個々のタスクのリアルタイム進捗を示すリアルタイムビジュアライゼーションといった、タスク完了の完了インジケータでポピュレートされる。実行インターフェイス１２５は、入力、出力、解析の記述、機能の記述、アルゴリズムの記述、エラー、計算結果、タスク結果、および／または、実現されているプロセスのさまざまな局面に関する他の情報でポピュレートされる。実行インターフェイス１２５は、タスクは誰に委任されたか、タスクの進捗、タスクはどのように実行されるか／実行されたか、タスクからの出力データなどといった、プロセスの１つ以上のタスクの実行を監査する監査機能でポピュレートされる。
【００３４】
一実施形態では、アンドゥ機能が実行インターフェイス１２５を通じて提供される。プロセスのトランザクション（たとえばデータベーストランザクション）が、実行トランザクションとして実行されることについて識別される。アンドゥデータ構造が作成される。アンドゥデータ構造は、実行トランザクションをアンドゥするよう実行インターフェイス１２５を通じて呼び出され得る。
【００３５】
一実施形態では、プロセスを実現するプロセスに関してステートマシンが維持される。ステートマシンは、プロセスの個々のタスクの完了に関するさまざまな状態を有し得る。実行インターフェイス１２５は、個々のタスクの現在状態を示すビジュアライゼーション、タスク同士間の関係および依存性などといったステートマシンの現在状態でポピュレートされる。
【００３６】
一実施形態では、タスクが完了することなくタスク完了時間が終了した場合、ユーザに対してタスクの自動エスカレーションが実行される。自動エスカレーションに関する情報は、実行インターフェイス１２５を通じて提供される。一実施形態では、ユーザへの委任といったエンティティへのタスクの自動委任が、当該エンティティの特徴とマッチするタスクの特徴に基づいて実行される。たとえば、従業員履歴レビュータスクは、従業員雇用レビューに対応する人事ユーザのジョブタイトルに基づき、人事ユーザに割り当てられ得る。
【００３７】
一実施形態において、プロセスフレームワークモジュール１０５は、プロセス定義がプロセスのタスクを実行するべきサードパーティコンポーネントを特定することを決定する。そうでなければサードパーティコンポーネントの機能およびパラメータがランタイム環境１１５のユーザから隠され得るので、プロセスフレームワークモジュール１０５は、そのような情報を抽出し公表するように構成される。特に、サードパーティコンポーネントをホストするリモートコンピューティングデバイスへネットワークを介して通信接続が確立される。サードパーティコンポーネントは、登録プロセスを通じてプロセスフレームワークモジュール１０５に登録される。サードパーティコンポーネントは、パラメータ、機能および／またはサードパーティコンポーネントによって使用される他の情報（たとえばアルゴリズム、統計モデル、入力、出力、方程式など）を規定するメタデータを識別するために、通信接続を介してクエリ送信を受ける。パラメータおよび機能の識別で実行インターフェイス１２５がポピュレートされる。
【００３８】
これにより、プロセスは、ランタイム環境１１５を通じて定義および実行され得る。
図２を参照して、単一のランタイム環境を通じてプロセスを定義および実行することに関連付けられるコンピュータによって実現される方法２００の一実施形態が示される。一実施形態において、方法２００は、定義インターフェイス、プロセスおよび実行インターフェイスを実行することに関連付けられる命令を実行するためのプロセッサ７２０といった、コンピュータ７１５のさまざまなコンピューティングリソースを利用するプロセスフレームワークモジュール１０５によって実行される。メモリ７３５および／またはディスク７５５は、プロセス定義および／または他のデータのデータ構造を格納するために使用される。ネットワークハードウェアは、ネットワークを介してコンピュータ７１５とプロセスによってアクセスされるサードパーティコンポーネントのようなリモートコンピュータとの間でデータ構造を通信するために使用される。方法２００は、ランタイム環境にアクセスするコマンドでトリガされる。
【００３９】
２０５において、定義インターフェイス１２０のプログラムモジュールは、図３の例示的なシステム３００によって示されるように、プロセスを定義するために、ディスプレイ上でグラフィカル定義インターフェイス１２０（ＧＵＩ）をレンダリングするようランタイム環境内で実行される。２１０において、グラフィカル定義インターフェイス１２０を通じてプロセスのプロセス定義４０５の入力が受信される。一実施形態において、入力は、プロセス、タスク、命令、データ出力、データソース、統計モデル、依存性、エンティティ、ルールおよび／または他のコンポーネントが、アイコン、接続線、実行順番線もしくは他のユーザインターフェイス要素によって視覚的に表わされるビジュアルモデリング環境を通じて提供される。たとえば、ユーザは、プロセスツリーを表わすよう、ビジュアルモデリング環境にプロセスツリーアイコン３１０を配置し得る。ユーザは、実行するべき資本計算ファンクションを表わす資本計算実行アイコン３０５をビジュアルモデリング環境へ配置し得る。
【００４０】
ユーザは、データインジェスチョンプロセスアイコン３２０によって表わされるデータインジェスチョンプロセスと同時に実行するべきデータインジェスチョンタスクのデータインジェスチョンタスクアイコン３１５（たとえば、同時実行アイコン３２５によって表わされる）といったコンポーネントアイコンをビジュアルモデリング環境に配置し得る。ユーザは、データインジェスチョンプロセスのタスクを表わすよう、データ品質チェックタスクアイコン３３０およびデータ修正タスクアイコン３３５を配置し得る。依存性アイコン３４０は、データ修正タスクがデータ品質チェックタスクに依存するということを示すために使用される。ユーザは、ビジュアルモデリング環境内において、実行するべき統計モデルを表わす統計モデルアイコン３４５を配置し得る。ユーザは、プロセスエリアおよびステージングエリアへのトレーサビリティを有する結果エリアへのデータポピュレーションを表わすデータポピュレーションファンクションアイコン３５０をバーチャルモデリング環境へ配置し得る。図３は単に、タスク、プロセス、モデル、ファンクション、依存性、実行／実現の順番、および／または、ユーザがプロセス定義４０５を定義するために視覚的に構成し得るプロセスの他のコンポーネントを表すのに用いられるいくつかのユーザインターフェイス要素の例であるということが認識され得る。２１５において、プロセス定義４０５は、ストレージ内に格納されたデータ構造に格納される。
【００４１】
２２０において、図４の例４００に示されるように、選択インターフェイス１１０が生成および表示される。一実施形態において、選択インターフェイス１１０は、プロセスを実行するために利用可能である複数の実行タイプでポピュレートされる。選択インターフェイス１１０は、１つ以上のエンティティによって実行されるべき一連のタスクのワークフローに対応する実行タイプでポピュレートされる。選択インターフェイス１１０は、複数のターゲットについて実行されるべきタスクのバッチ実行ジョブに対応する実行タイプでポピュレートされる。選択インターフェイス１１０は、出力を作成するよう入力の際に実行されるべき解析の解析パイプラインに対応する実行タイプでポピュレートされる。選択インターフェイス１１０は、プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスに対応する実行タイプでポピュレートされる。２２５において、選択された実行タイプは、選択インターフェイス１１０を通じて受信される。たとえば、ユーザはワークフロー実行タイプを選択し得る。
【００４２】
代替的な実施形態では、選択インターフェイス１１０が生成され、表示され、選択された実行タイプの選択を受信するために使用されるのとは反対に、選択された実行タイプがコンテキストに基づいてプログラムによって選択される。コンテキストは、実行するべきスケジューリングされたタスク（たとえば請求書がクライアントに送信される予定であるということを示す請求ソフトウェアモジュール）、実行されるべきタスクについてのクライアントまたはコンピューティングシステムからの要求（たとえば、ベンダーコンピューティングシステムが請求書の支払の要求を送信する）、ドキュメントレビュータスクがユーザによって行われることになっていることを示すカレンダエントリ、従業員レビュータスクを実行するようにユーザに指示するＥメールなどといった、さまざまなデータに基づきプロセスフレームワークモジュール１０５によって決定される。
【００４３】
２３０において、プロセスは、データ構造からプロセス定義４０５を使用して実行される。プロセス定義４０５は、ワークフロー実行タイプのような選択された実行タイプとコンパチブルであるよう、実行中に変換される４４５。一実施形態では、プロセス定義４０５は、他の実行タイプではなくある実行タイプとコンパチブルな部分を有する。ある部分は、タスク、データソース、統計モデル、入力、出力、データタイプ、エンティティ、ファンクション、データベーススクリプト、アルゴリズム、ユーザ識別子、実現データのタスク依存性および順番、および／または、プロセスを実現するために用いられるさまざまな他の情報に対応し得る。したがって、プロセス定義４０５は、ワークフロー実行タイプとコンパチブルである（たとえば、データタイプ、ファンクションタイプ、タスクタイプ、データソースタイプまたは他の予測情報とマッチする）プロセス定義の部分を使用することによって変換される４４５。プロセス定義４０５の他の部分は、無視される（たとえば、プロセスを実行および実現する際に使用されないかもしくはプロセス定義４０５から抽出されない）か、または、ワークフロー実行タイプとコンパチブルであるフォーマットに変換され得る（たとえば、データタイプ変換、予測されたファンクションタイプにマッチするファンクションへの修正など）。
【００４４】
一実施形態では、プロセス定義４０５は、プロセスを実現するための何らかの種類の機能を実行するよう、サードパーティコンポーネント４４０を利用する。サードパーティコンポーネント４４０は一般に、サードパーティコンポーネント４４０によって使用される内部パラメータおよび機能を公表し得ない。代わりに、サードパーティコンポーネント４４０は、入力を受け入れ、出力を提供し得る。したがって、プロセスフレームワークモジュール１０５は、クエリ送信し、サードパーティコンポーネント４４０によって使用されるパラメータおよび機能に関する情報を取得するために、サードパーティコンポーネント４４０を登録し得る。そのようなサードパーティコンポーネント情報は、プロセスの実行に関する情報でポピュレートされる実行インターフェイス１２５を通じてユーザに提供され得る４２５。
【００４５】
２３５において、実行インターフェイス１２５は、ディスプレイ上で実行インターフェイス１２５をレンダリングするようランタイム環境において実行される。プロセスの実行および実現に関するさまざまな情報は、実行インターフェイス１２５内にポピュレートされる。一実施形態では、プロセスがワークフローとして実行されているという指示４１０が提供される。別の実施形態では、ユーザ（Ａ）に委任されるドキュメントレビュータスクの進捗を閲覧する能力といったタスク進捗情報４１５が提供される。別の実施形態では、ワークフローとしてプロセスを実現する部分として実行された統計モデルの結果をチェックする能力といった、タスク、ファンクション、解析モデルなどの結果データ４２０が提供される。別の実施形態では、どの入力情報が考慮されたのか、どのように入力情報が処理されたのか、および、プロセスを実現する各ステップにおいてどのような出力情報が決定されたのかをユーザが閲覧し得るように、監査情報４３０が提供される。別の実施形態では、タスクを実行するために使用される、ファイルのような情報へのアクセス４３５が提供される。
【００４６】
図５は、単一のランタイム環境内でプロセスを定義および実行するためのシステム５００の図である。プロセスのプロセス定義５０５は、ランタイム環境の定義インターフェイスを通じて定義され得た。プロセス定義５０５は、ドキュメント解析タスク、予測モデリングタスク、実行するべき統計モデル、ウェブサービスといったタスクを実行するべきエンティティ、入力データ、データソース、タスク同士間の関連性などを定義し得る。
【００４７】
プロセスフレームワークモジュール１０５は、プロセスを実行するためにどのようにプロセス定義５０５を使用するべきであるかを示すコンテキストを決定するように構成される。一実施形態では、小売り業者のインボイスコンポーネントは、インボイスに関する顧客苦情を受け取り得る。顧客苦情の受け取りは、当該苦情を評価するワークフローとしてコンテキストを決定するために評価される。別の実施形態では、小売り業者の在庫コンポーネントは、在庫レベル同士間に重大な不一致があり、人間の介入およびユーザインターフェイスを通じたレビューを必要とすることになるということを決定し得る。したがって、在庫管理従業員が在庫監査を実行し得るインタラクティブアプリケーションインターフェイスがコンテキストとして決定され得る。別の実施形態では、請求コンポーネントは、複数の請求書が顧客へ送信されるべきであるということを決定し得る。したがって、バッチ実行ジョブがコンテキストとして決定され得る。
【００４８】
別の実施形態では、ユーザは、マーケティングキャンペーンの成功を予測するようコマンドを提出する。したがって、成功率を予測するための解析を実行するために用いられる解析パイプラインがコンテキストとして決定され得る。プロセスフレームワークモジュール１０５は選択的に、解析パイプライン実行タイプとコンパチブルであるプロセス定義５０５の部分を利用する。一実施形態では、予測データタイプ、タスク、および、解析パイプラインによって実行可能な統計モデルが、コンパチブルであると決定される。他の部分は、使用されないままにされ得るか、または、解析パイプラインとコンパチブルであるフォーマットに変換され得る（たとえばデータタイプ、タスク、ファンクション、アルゴリズムなどへの修正）。これにより、プロセスフレームワークモジュール１０５は、解析パイプライン実行タイプとコンパチブルになるよう、実行中にプロセス定義５０５を変換する５３５。
【００４９】
実行インターフェイス１２５は、ディスプレイ上に実行インターフェイス１２５をレンダリングするよう、ランタイム環境内で実行される。実行インターフェイス１２５は、プロセスの実行に関する情報でポピュレートされる。一実施形態では、プロセスが解析パイプライン実行タイプとして実行されているという指示５１０が提供される。ウェブサービスによるドキュメント解析の進捗をチェックする能力５１５が提供される。統計モデルの実行の結果をチェックする能力５２０が提供される。ドキュメント解析タスクと予測モデリングタスクとの間の関連性および関係を閲覧する能力５２５が提供される。入力、出力、実行された機能、タスク、および／または、プロセスを実現する各ステップに関する他の情報を閲覧するといった、プロセスの実現の監査を実行する能力５３０が提供される。
【００５０】
図６は、例示的な一時的でないコンピュータ読取可能媒体６０５を伴うシナリオ６００の図である。一実施形態では、本願明細書において記載されるコンポーネントの１つ以上は、一時的でないコンピュータ読取可能媒体６０５に格納されるプロセスフレームワークモジュール１０５のようなプログラムモジュールとして構成される。プログラムモジュールは、プロセッサ実行可能命令６２０といった、少なくともプロセッサ６４０のようなプロセッサによって実行されると、コンピューティングデバイスに本願明細書に記載されるように対応するファンクションを実行させる格納された命令を有するように構成される。一実施形態では、一時的でないコンピュータ読取可能媒体６０５に格納されたプロセスフレームワークモジュール１０５の機能は、図２の方法２００の実施形態６２５を実行するよう、プロセッサ６４０によってプロセッサ実行可能命令６２０として実行され得る。
【００５１】
一時的でないコンピュータ読取可能媒体６０５は、プロセッサ６４０によって実行されると、本願明細書における規定のうちの少なくともいくつかの実行を行わせるプロセッサ実行可能命令６２０を含んでいる。一時的でないコンピュータ読取可能媒体６０５は、メモリ半導体（たとえばスタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、および／もしくは、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）技術を利用する半導体）、ハードディスクドライブのプラッタ、フラッシュメモリデバイス、または、磁気もしくは光学ディスク（たとえばコンパクトディスク（ＣＤ）、デジタルバーサタイルディスク（ＤＶＤ）もしくはフロッピー（登録商標）ディスク）を含んでいる。例示的な一時的でないコンピュータ読取可能媒体６０５は、デバイス６３０のリーダ６３５によって読出６１５（たとえばハードディスクドライブの読出ヘッド、または、ソリッドステートストレージデバイス上で呼び出された読出動作）に晒されると、プロセッサ実行可能命令６２０を表わすコンピュータ読取可能データ６１０を格納する。
【００５２】
いくつかの実施形態では、プロセッサ実行可能命令６２０は、実行されると、たとえば図２の例示的な方法２００のうちの少なくともいくつかのような動作の実行を引き起こす。いくつかの実施形態では、プロセッサ実行可能命令６２０は、たとえば図１の例示的なシステム１００のうちの少なくともいくつかのようなシステムの実現を引き起こすように構成される。
【００５３】
図７は、本願明細書において記載される例示的なシステムおよび方法ならびに／または同等物のうちの１つ以上を有するように構成および／またはプログラムされる例示的なコンピューティングデバイス７００を示す。例示的なコンピューティングデバイス７００は、バス７２５によって動作可能に接続されるプロセッサ７２０、メモリ７３５、およびＩ／Ｏポート７４５を含むコンピュータ７１５であり得る。一実施形態では、コンピュータ７１５は、図１〜図２に示されるシステム１００および／または方法２００を促進するように構成されるプロセスフレームワークモジュール１０５のロジックを含み得る。異なる実施形態では、プロセスフレームワークモジュール１０５のロジックは、ハードウェア、格納された命令を有する一時的でないコンピュータ読取可能媒体７０５、ファームウェア、および／または、その組み合わせで実現され得る。プロセスフレームワークモジュール１０５のロジックがバス７２５に取り付けられるハードウェアコンポーネントとして示されているが、他の実施形態では、プロセスフレームワークモジュール１０５のロジックは、プロセッサ７２０において実現され得、メモリ７３５に格納され得、または、ディスク７５５に格納され得るということが認識されるべきである。
【００５４】
一実施形態では、プロセスフレームワークモジュール１０５またはコンピュータ７１５のロジックは、記載されるアクションを実行するための手段（たとえば構造：ハードウェア、一時的でないコンピュータ読取可能媒体、ファームウェア）である。いくつかの実施形態では、コンピューティングデバイスは、クラウドコンピューティングシステムで動作するサーバ、ソフトウェア・アズ・ア・サービス（ＳａａＳ：Software as a Service)アーキテクチャで構成されるサーバ、スマートフォン、ラップトップ、および、タブレットコンピューティングデバイスなどであり得る。
【００５５】
当該手段は、たとえば、アロケーションのためのルールベースのソースシークエンシング（rule based source sequencing）を実現するようにプログラムされる特定用途向け集積回路（ＡＳＩＣ）として実現され得る。当該手段はさらに、メモリ７３５に一時的に格納され次いでプロセッサ７２０によって実行されるデータ７１０としてコンピュータ７１５に提示される格納されたコンピュータ実行可能命令として実現され得る。
【００５６】
プロセスフレームワークモジュール１０５のロジックはさらに、アロケーションのためのルールベースのソースシークエンシングを実行するための手段（たとえばハードウェア、実行可能命令を格納する一時的でないコンピュータ読取可能媒体７０５、ファームウェア）を提供し得る。
【００５７】
コンピュータ７１５の例示的な構成を概略的に記載すると、プロセッサ７２０は、デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含むさまざまなプロセッサであり得る。メモリ７３５は、揮発性メモリおよび／または不揮発性メモリを含み得る。不揮発性メモリはたとえば、リードオンリメモリ（ＲＯＭ）、プログラマブルリードオンリメモリ（ＰＲＯＭ）などを含み得る。揮発性メモリはたとえば、ランダムアクセスメモリ（ＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、および、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）などを含み得る。
【００５８】
ディスク７５５は、たとえばＩ／Ｏインターフェイス７４０（たとえばカード、デバイス）およびＩ／Ｏポート７４５を介して、コンピュータ７１５に動作可能に接続され得る。ディスク７５５はたとえば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピーディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード、および、メモリスティックなどであり得る。さらに、ディスク７５５は、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒドライブ、ＣＤ−ＲＷドライブ、およびＤＶＤＲＯＭなどであり得る。メモリ７３５は、たとえば一時的でないコンピュータ読取可能媒体７０５内のプロセスおよび／またはデータ７１０を格納し得る。ディスク７５５および／またはメモリ７３５は、コンピュータ７１５のリソースを制御および割り当てるオペレーティングシステムを格納し得る。
【００５９】
コンピュータ７１５は、Ｉ／Ｏインターフェイス７４０およびＩ／Ｏポート７４５を介して入出力（Ｉ／Ｏ）デバイスとインタラクションし得る。Ｉ／Ｏデバイスはたとえば、キーボード、マイクロフォン、ポインティングおよび選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク７５５、および、ネットワークデバイス７５０などであり得る。Ｉ／Ｏポート７４５はたとえば、シリアルポート、パラレルポートおよびＵＳＢポートを含み得る。Ｉ／Ｏコントローラ７３０はバス７２５にＩ／Ｏインターフェイス７４０を接続し得る。
【００６０】
コンピュータ７１５は、ネットワーク環境において動作し得、したがって、Ｉ／Ｏインターフェイス７４０および／またはＩ／Ｏポート７４５を介してネットワークデバイス７５０に接続され得る。ネットワークデバイス７５０によって、コンピュータ７１５はネットワークとインタラクションし得る。ネットワークを通じて、コンピュータ７１５は、リモートコンピュータに論理的に接続され得る（たとえば、コンピュータ７１５は、クライアントが接続し得る分散コンピューティング環境内に存在し得る）。コンピュータ７１５がインタラクションし得るネットワークは、ローカルエリアネットワーク（ＬＡＮ）、ニューエリアネットワーク（ＷＡＮ）および他のネットワークを含むがこれらに限定されない。
【００６１】
別の実施形態では、記載される方法および／またはそれらの同等物は、コンピュータ実行可能命令により実現され得る。したがって、一実施形態において、一時的でないコンピュータ読取可能／記憶媒体は、アルゴリズム／実行可能アプリケーションの格納されたコンピュータ実行可能命令を有するように構成される。当該コンピュータ実行可能命令は、マシンによって実行されると、マシン（および／または関連付けられるコンポーネント）に方法を実行させる。例示的なマシンは、プロセッサ、コンピュータ、クラウドコンピューティングシステムで動作するサーバ、ソフトウェア・アズ・ア・サービス（ＳａａＳ）アーキテクチャで構成されるサーバ、および、スマートフォンなどを含むが、これらに限定されない。一実施形態では、コンピューティングデバイスは、開示された方法のいずれかを実行するように構成される１つ以上の実行可能なアルゴリズムを有するように実現される。
【００６２】
１つ以上の実施形態では、開示される方法またはそれらの同等物は、上記方法を実行するように構成されるコンピュータハードウェア、または、少なくともコンピューティングデバイスのプロセッサによって実行されると上記方法を実行するように構成される実行可能なアルゴリズムとして命令が構成される一時的でないコンピュータ読取可能媒体に格納されるモジュールで具現化されたコンピュータ命令のいずれかによって、実行される。
【００６３】
説明の単純さのために、図に示される方法はアルゴリズムの一連のブロックとして示されるとともに記載されているが、当該方法はブロックの順番によって限定されないということが認識されるべきである。いくつかのブロックは、示され記載されたものとは異なる順番および／または他のブロックと同時に行われ得る。さらに、すべての示されたブロックより少ないブロックが、例示的な方法を実現するために使用されてもよい。ブロックは、複数のアクション／コンポーネントへと組み合わせられ得るかまたは分離され得る。さらに、付加的および／または代替的な方法は、ブロックにおいて示されていない付加的なアクションを使用し得る。
【００６４】
以下は、本願明細書において使用される選択された用語の定義を含む。定義は、用語の範囲内にあり実現のために使用され得るコンポーネントのさまざまな例および／または形態を含んでいる。これらの例は、限定を意図しない。用語の単数形および複数形の両方が定義内にあり得る。
【００６５】
「一実施形態」、「実施形態」、「一例」、「例」などへの参照は、そのように記載される実施形態または例が特定の特徴、構造、特性、プロパティ、要素または限定を含み得るということを示すが、すべての実施形態または例が当該特定の特徴、構造、特性、プロパティ、要素または限定を必ずしも含んでいるわけではない。さらに、「一実施形態において」というフレーズの使用の繰り返しは、同じ実施形態を指している場合もあるが、必ずしも同じ実施形態を指しているわけではない。
【００６６】
本願明細書において使用されるような「データ構造」は、メモリ、ストレージデバイスまたは他のコンピュータ化されたシステムに格納される、コンピューティングシステムにおけるデータの組織である。データ構造は、たとえば、データフィールド、データファイル、データアレイ、データレコード、データベース、データテーブル、グラフ、ツリー、およびリンクリストなどのうちのいずれか１つであり得る。データ構造は、他の多くのデータ構造から形成され得るか、または、他の多くのデータ構造を含み得る（たとえば、データベースは多くのデータレコードを含む）。他の実施形態に従うと、データ構造の他の例が同様に可能である。
【００６７】
本願明細書において使用されるような「コンピュータ読取可能媒体」または「コンピュータ記憶媒体」は、実行されると、開示されるファンクションのうちの１つ以上を実行するように構成される命令および／またはデータを格納する一時的でない媒体を指す。いくつかの実施形態において、データは命令として機能し得る。コンピュータ読取可能媒体は、不揮発性媒体および揮発性媒体を含む形態をとり得るが、これらに限定されない。不揮発性媒体はたとえば、光学ディスクおよび磁気ディスクなどを含み得る。揮発性媒体はたとえば、半導体メモリおよびダイナミックメモリなどを含み得る。コンピュータ読取可能媒体の一般的な形態は、フロッピーディスク（登録商標）、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス、コンパクトディスク（ＣＤ）、他の光学媒体、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、メモリチップまたはカード、メモリスティック、ソリッドステートストレージデバイス（ＳＳＤ）、フラッシュドライブ、および、コンピュータ、プロセッサまたは他の電子デバイスが機能し得る他の媒体を含み得るが、これらに限定されない。各タイプの媒体は、一実施形態において実現のために選択される場合、開示および／または特許請求されるファンクションのうちの１つ以上を実行するように構成されるアルゴリズムの格納された命令を含み得る。
【００６８】
本願明細書において使用されるような「ロジック」は、本願明細書において開示されるようなファンクションもしくはアクションのうちのいずれかを実行し、ならびに／または、別のロジック、方法および／もしくはシステムからのファンクションもしくはアクションが本願明細書において開示されるように実行されるよう、コンピュータもしくは電気的ハードウェアで実現されるコンポーネント、実行可能なアプリケーションもしくはプログラムモジュールの格納された命令を有する一時的でない媒体、および／または、これらの組み合わせを表わす。同等なロジックは、ファームウェア、アルゴリズムによりプログラムされるマイクロプロセッサ、離散ロジック（たとえばＡＳＩＣ）、少なくとも１つの回路、アナログ回路、デジタル回路、プログラムドロジックデバイス、および、アルゴリズムの命令を含むメモリデバイスなどを含み得、これらのいずれもが、開示されたファンクションのうちの１つ以上を実行するように構成され得る。一実施形態において、ロジックは、１つ以上のゲート、ゲートの組み合わせ、または、開示されたファンクションのうちの１つ以上を実行するように構成される他の回路コンポーネントを含み得る。複数のロジックが記載される場合、当該複数のロジックを１つのロジックに組み込むことが可能であり得る。同様に、単一のロジックが記載される場合、複数のロジック間でその単一のロジックを分散させることが可能であり得る。一実施形態では、これらのロジックのうちの１つ以上は、開示および／または特許請求されるファンクションを実行することに関連付けられる対応する構造である。どのタイプのロジックを実現するべきであるかの選択は、所望のシステム条件または仕様に基づき得る。たとえば、より大きな速度が目的である場合、ファンクションを実現するためにハードウェアが選択される。より低コストが目的である場合、当該ファンクションを実現するために、格納された命令／実行可能なアプリケーションが選択される。
【００６９】
「動作可能な接続」またはエンティティが「動作可能に接続される」接続は、信号、物理的な通信および／または論理的な通信が送信および／または受信され得る接続である。動作可能な接続は、物理インターフェイス、電気的インターフェイスおよび／またはデータインターフェイスを含み得る。動作可能な接続は、動作可能な制御を可能にするのに十分であるインターフェイスおよび／または接続の異なる組み合わせを含み得る。たとえば、２つのエンティティは、直接的にまたは１つ以上の中間エンティティ（たとえばプロセッサ、オペレーティングシステム、ロジック、一時的でないコンピュータ読取可能媒体）を通じて、互いに信号を通信するために動作可能に接続され得る。論理的および／または物理的な通信チャンネルが、動作可能な接続を作り出すために使用され得る。
【００７０】
本願明細書において使用されるような「ユーザ」は、１人以上の人、コンピュータ、他のデバイス、または、これらの組み合わせを含むが、これらに限定されない。
【００７１】
開示された実施形態が相当に詳細に例示および記載されたが、添付の特許請求の範囲をそのような詳細に制限、または、如何なる態様で限定する意図はない。もちろん、主題のさまざまな局面を記載する目的のために、コンポーネントまたは方法のすべての考えられる組み合わせを記載するのは可能ではない。したがって、当該開示は、示され記載される特定の詳細または例示的な例に限定されない。したがって、この開示は、添付の特許請求の範囲内にある変更例、修正例および変形例を包含するように意図される。上記修正例および変形例は、開示された機能の任意の関連する組合せを含む。
【００７２】
「含んでいる」または「含む」という用語が詳細な説明または請求の範囲において使用される程度について、請求項において転換語として使用される際に「備える」という用語が解釈されるように、「備える」という用語に類似した態様で包括的になるように意図される。
【００７３】
詳細な説明または請求の範囲において「または」という用語が使用される程度（たとえばＡまたはＢ）について、「ＡもしくはＢまたは両方」を意味することが意図される。出願人が「ＡまたはＢだけであって両方ではない」ことを示すことが意図される場合、「ＡまたはＢだけであって両方ではない」というフレーズが使用されことになる。したがって、本願明細書における「または」という用語の使用は、排他的ではなく包括的である。
【図１】
2020514907.tif 000003
【図２】
2020514907.tif 000004
【図３】
2020514907.tif 000005
【図４】
2020514907.tif 000006
【図５】
2020514907.tif 000007
【図６】
2020514907.tif 000008
【図７】
2020514907.tif 000009
【国際調査報告】
2020514907.tif 000010
2020514907.tif 000011
2020514907.tif 000012