(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-02
(45)【発行日】2022-03-10
(54)【発明の名称】プロセス定義およびプロセス実行トラッキングのためのユーザインターフェイスおよびランタイム環境
(51)【国際特許分類】
G06F 9/445 20180101AFI20220303BHJP
G06Q 10/06 20120101ALI20220303BHJP
G06F 9/48 20060101ALI20220303BHJP
【FI】
G06F9/445
G06Q10/06
G06F9/48 300Z
(21)【出願番号】P 2019550147
(86)(22)【出願日】2018-03-12
(86)【国際出願番号】 IB2018000332
(87)【国際公開番号】W WO2018167565
(87)【国際公開日】2018-09-20
【審査請求日】2021-03-03
(32)【優先日】2017-03-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517082065
【氏名又は名称】オラクル・フィナンシャル・サービシーズ・ソフトウェア・リミテッド
【氏名又は名称原語表記】ORACLE FINANCIAL SERVICES SOFTWARE LIMITED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】バダパンデシワラ,ラジャラム・エヌ
(72)【発明者】
【氏名】ラージクマール,チャールズ
【審査官】松崎 孝大
(56)【参考文献】
【文献】特開2005-128658(JP,A)
【文献】特開2005-284385(JP,A)
【文献】特開2009-151755(JP,A)
【文献】特開2010-123124(JP,A)
【文献】特開2012-230667(JP,A)
【文献】特表2015-529366(JP,A)
【文献】特開2016-200981(JP,A)
【文献】米国特許出願公開第2009/0064104(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/445
G06Q 10/06
G06F 9/48
(57)【特許請求の範囲】
【請求項1】
コンピュータ実行可能命令を
含むプログラムであって、前記コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、前記プロセッサに、単一のランタイム環境内でプロセスを定義および実行させ、
前記単一のランタイム環境内で前記プロセスを定義および実行することは、
前記プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、前記ランタイム環境において定義インターフェイスのモジュールを実行することと、
前記グラフィカル定義インターフェイスを通じて前記プロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へ前記プロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、前記ディスプレイ上に表示することとによって行われ、実行タイプは、(i)1つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、(ii)複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、(iii)出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、(iv)前記プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
前記単一のランタイム環境内で前記プロセスを定義および実行することはさらに、
前記複数の実行タイプからの選択された実行タイプを前記選択インターフェイスから受信することに応答して、
前記選択された実行タイプとコンパチブルであるように実行中に変換される、前記データ構造からの前記プロセス定義を使用して前記プロセスを実行することと、
前記プロセスの実行に関する情報でポピュレートされた実行インターフェイスを前記ディスプレイ上でレンダリングするよう、前記ランタイム環境において前記実行インターフェイスを実行することとによって行われる、
プログラム。
【請求項2】
前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセス定義が前記プロセスのタスクを実行するべきサードパーティコンポーネントを特定することを決定することと、
前記サードパーティコンポーネントをホストするリモートコンピューティングデバイスへネットワークを介して通信接続を確立することと、
前記サードパーティコンポーネントによって使用されるパラメータおよび機能を定義するメタデータを識別するよう、前記通信接続を介して前記サードパーティコンポーネントにクエリ送信することと、
前記パラメータおよび機能の識別で前記実行インターフェイスをポピュレートすることとを行わせる、請求項1に記載の
プログラム。
【請求項3】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセスの第1のタスクを実行する第1のエンティティと前記プロセスの第2のタスクを実行する第2のエンティティとの間でデータが同期して通信される同期実行モードで前記プロセスを実行することを行わせるコンピュータ実行可能命令を含む、請求項1または2に記載の
プログラム。
【請求項4】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセスについて、メッセージキューにおいてメッセージが到着するのを待つためにコールバック機能が実現される非同期実行モードで前記プロセスを実行することを行わせるコンピュータ実行可能命令を含む、請求項1~3のいずれか1項に記載の
プログラム。
【請求項5】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセスの第2のタスクを実行するために第2のエンティティを呼び出すことに並行して前記プロセスの第1のタスクを実行するために第1のエンティティを呼び出すことを行わせるコンピュータ実行可能命令を含む、請求項1~4のいずれか1項に記載の
プログラム。
【請求項6】
前記プロセスを実行するための前記コンピュータ実行可能命令は、前記プロセッサに、
前記プロセス定義の第1のバージョンおよび前記プロセス定義の第2のバージョンが利用可能であることを決定することと、
バージョンコントロールメトリックに基づいて実行のために前記第1のバージョンを選択することとを行わせるコンピュータ実行可能命令を含む、請求項1~5のいずれか1項に記載の
プログラム。
【請求項7】
メモリに接続されたプロセッサと、
一時的でないコンピュータ読取可能媒体上に格納され、命令を有するように構成されたプロセスフレームワークモジュールとを含み、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
前記プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
前記グラフィカル定義インターフェイスを通じて前記プロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へ前記プロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、前記ディスプレイ上に表示することとを行わせ、実行タイプは、(i)1つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、(ii)複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、(iii)出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、(iv)前記プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
前記命令はさらに、前記プロセッサによって実行されると、前記プロセッサに、
前記複数の実行タイプからの選択された実行タイプを前記選択インターフェイスから受信することに応答して、
前記選択された実行タイプとコンパチブルであるように実行中に変換される、前記データ構造からの前記プロセス定義を使用して前記プロセスを実行することと、
前記プロセスの実行に関する情報でポピュレートされた実行インターフェイスを前記ディスプレイ上でレンダリングするよう、前記ランタイム環境において前記実行インターフェイスを実行することとを行わせる、コンピューティングシステム。
【請求項8】
前記実行インターフェイスを実行するための前記命令は、前記プロセッサに、
前記プロセスの第1のタスクと前記プロセスの第2のタスクとの間の関連性に関するトレーシングデータで前記実行インターフェイスをポピュレートすることを行わせる命令を含む、請求項7に記載のコンピューティングシステム。
【請求項9】
前記実行インターフェイスを実行するための前記命令は、前記プロセッサに、
前記プロセスの進捗に関するステートマシンを維持することと、
前記ステートマシンの現在状態で前記実行インターフェイスをポピュレートすることとを行わせる命令を含む、請求項7または8に記載のコンピューティングシステム。
【請求項10】
前記プロセスを実行するための前記命令は、前記プロセッサに、
前記プロセスの1つ以上のタスクのリアルタイム進捗を示すリアルタイムビジュアライゼーションを構築することと、
前記リアルタイムビジュアライゼーションで前記実行インターフェイスをポピュレートすることとを行わせる命令を含む、請求項7~9のいずれか1項に記載のコンピューティングシステム。
【請求項11】
前記プロセスを実行するための前記命令は、前記プロセッサに、
前記選択された実行タイプとコンパチブルな前記プロセス定義の第1の部分を利用し、前記選択された実行タイプとコンパチブルでない前記プロセス定義の第2の部分を無視することを行わせる命令を含む、請求項7~10のいずれか1項に記載のコンピューティングシステム。
【請求項12】
プロセッサを含むコンピューティングデバイスを伴う、コンピュータによって実現される方法であって、前記コンピュータによって実現される方法は、
前記プロセッサが、プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
前記プロセッサが、前記グラフィカル定義インターフェイスを通じて前記プロセスのプロセス定義の入力を受信することと、
前記プロセッサが、ストレージ内に格納されるデータ構造へ前記プロセス定義を格納することと、
前記プロセッサが、複数の実行タイプでポピュレートされた選択インターフェイスを生成し、前記ディスプレイ上に表示することとを含み、実行タイプは、(i)1つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、(ii)複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、(iii)出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、(iv)前記プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
前記コンピュータによって実現される方法はさらに、
前記複数の実行タイプからの選択された実行タイプを前記選択インターフェイスから受信することに応答して、
前記プロセッサが、前記選択された実行タイプとコンパチブルであるように実行中に変換される、前記データ構造からの前記プロセス定義を使用して前記プロセスを実行することと、
前記プロセッサが、前記プロセスの実行に関する情報でポピュレートされた実行インターフェイスを前記ディスプレイ上でレンダリングするよう、前記ランタイム環境において前記実行インターフェイスを実行することとを含む、コンピュータによって実現される方法。
【請求項13】
前記プロセッサが、前記選択された実行タイプが第1のタイプのデータを利用することを決定することと、
前記プロセッサが、前記第1のタイプのデータとコンパチブルな前記プロセス定義の第1の部分を利用することと、
前記プロセッサが、前記選択された実行タイプとコンパチブルでない前記プロセス定義の第2の部分を前記選択された実行タイプとコンパチブルなデータのタイプへ変換することとをさらに含む、請求項12に記載のコンピュータによって実現される方法。
【請求項14】
前記プロセッサが、タスクが消滅する期日に基づいてユーザに対して前記タスクの自動エスカレーションを実行することと、
前記プロセッサが、前記自動エスカレーションに関する情報で前記実行インターフェイスをポピュレートすることとをさらに含む、請求項12または13に記載のコンピュータによって実現される方法。
【請求項15】
前記プロセッサが、エンティティの特徴とマッチする前記タスクの特徴に基づいて、前記エンティティへのタスクの自動委任を実行することと、
前記プロセッサが、前記自動委任に関する情報で前記実行インターフェイスをポピュレートすることとをさらに含む、請求項12~14のいずれか1項に記載のコンピュータによって実現される方法。
【請求項16】
コンピュータに請求項12~15のいずれか1項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
背景
【背景技術】
【0002】
多くのビジネスは、プロセスを定義および実現するための複数のツールを用いる。たとえば、金融セクター、リスクセクターまたは犯罪セクターにおける規制コンプライアンスは、規制コンプライアンス要件に対応するよう、複数のソフトウェアアプリケーションおよびツールを使用する。一例では、金融機関は、規制コンプライアンス要件に対応するソリューションの異なる局面に集中する複数の部門を有し得る。各局面は、ツール同士に亘る視覚的な提携(tie-in)またはトレーサビリティがない特定目的のソフトウェアツールで対応される。たとえば、ビジネス部門は、規制コンプライアンスプロセスをドラフトし記録するために1つのツールを使用し得る。別の部門は、規制コンプライアンスプロセスの各部分を実現するよう、個々にソリューションコンポーネントを構築するために他のツールを使用し得る。ユーザは、たとえば特定のユーザにのみアクセス可能なパーソナルコンピュータ上にローカルに格納された情報を使用して、プライベートサンドボックスにおけるデータセットにより、ソリューションコンポーネントのワークリストアイテムを実現するよう、孤立した状態で働き得る。したがって、金融機関の異なる部門によって、プロセスを定義し、プロセスの部分を実現するソリューションコンポーネントを構築し、ソリューションコンポーネントのワークフローアイテムを実現するなどするために、多数のリンクされていないソフトウェアツールが使用されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
プロセスを定義し、ソリューションコンポーネントを構築し、ワークフローアイテムを実現し、ソリューションの他のサブパートを定義および実現するのに用いられるアプリケーションツール同士間のトレーサビリティが欠如しているという問題がある。したがって、ソリューションのサブパート同士をリンクするために、相当な量の手動の労力が使用され、これは、コストおよびユーザエラーの増加につながり得る。たとえば、コンプライアンスレビュアーは、規制コンプライアンス要件へのコンプライアンスがどのように定義され実現されたかを適切に追跡して理解することができない場合がある。
【課題を解決するための手段】
【0004】
概要
一実施形態において、コンピュータ実行可能命令を格納する一時的でないコンピュータ読取可能媒体および/またはコンピュータプログラムが記載されており、当該コンピュータ実行可能命令は、コンピュータのプロセッサによって実行されると、プロセッサに、単一のランタイム環境内でプロセスを定義および実行することを行わせ、
単一のランタイム環境内でプロセスを定義および実行することは、
プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
グラフィカル定義インターフェイスを通じてプロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へプロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、ディスプレイ上に表示することとによって行われ、実行タイプは(i)1つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、(ii)複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、(iii)出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、(iv)プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
単一のランタイム環境内でプロセスを定義および実行することはさらに、
複数の実行タイプからの選択された実行タイプを選択インターフェイスから受信することに応答して、
選択された実行タイプとコンパチブルであるように実行中に変換される、データ構造からのプロセス定義を使用してプロセスを実行することと、
プロセスの実行に関する情報でポピュレートされた実行インターフェイスをディスプレイ上でレンダリングするよう、ランタイム環境において実行インターフェイスを実行することとによって行われる。
【0005】
1つ以上の他の実施形態において、一時的でないコンピュータ読取可能媒体は、上記の特徴と組み合わせて、以下の特徴のうちの1つ以上の組み合わせを実行するための実行可能命令を含み得る。すなわち、上記以下の特徴は、
プロセス定義がプロセスのタスクを実行するべきサードパーティコンポーネントを特定することを決定することと、サードパーティコンポーネントをホストするリモートコンピューティングデバイスへネットワークを介して通信接続を確立することと、サードパーティコンポーネントによって使用されるパラメータおよび機能を定義するメタデータを識別するよう、通信接続を介してサードパーティコンポーネントにクエリ送信することと、パラメータおよび機能の識別で実行インターフェイスをポピュレートすることと、
プロセスの第1のタスクを実行する第1のエンティティとプロセスの第2のタスクを実行する第2のエンティティとの間でデータが同期して通信される同期実行モードでプロセスを実行することと、
プロセスについて、メッセージキューにおいてメッセージが到着するのを待つためにコールバック機能が実現される非同期実行モードでプロセスを実行することと、
プロセスの第2のタスクを実行するために第2のエンティティを呼び出すことに並行してプロセスの第1のタスクを実行するために第1のエンティティを呼び出すことと、
プロセス定義の第1のバージョンおよびプロセス定義の第2のバージョンが利用可能であることを決定することと、バージョンコントロールメトリックに基づいて実行のために第1のバージョンを選択することと、
プロセスのトランザクションが、実行トランザクションとして、実行されるべきであると決定することと、実行トランザクションをアンドゥするために使用されるアンドゥデータ構造を作成することと、
第2のタスクが第1のタスクの完了に依存すると決定することと、第1のエンティティが第1のタスクを完了したと決定すると、第2のタスクを実行するために第2のエンティティを呼び出すこととである。
【0006】
別の実施形態では、本願明細書において以下のものを含むコンピュータシステムが開示される。すなわち、コンピュータシステムは、メモリに接続されたプロセッサと、一時的でないコンピュータ読取可能媒体上に格納されるとともに、命令を有するように構成されたプロセスフレームワークモジュールとを含み、命令は、プロセッサによって実行されると、プロセッサに、
プロセスを定義するためにディスプレイ上でグラフィカル定義インターフェイスをレンダリングするよう、ランタイム環境において定義インターフェイスのモジュールを実行することと、
グラフィカル定義インターフェイスを通じてプロセスのプロセス定義の入力を受信することと、
ストレージ内に格納されるデータ構造へプロセス定義を格納することと、
選択可能な複数の実行タイプでポピュレートされた選択インターフェイスを生成し、ディスプレイ上に表示することとを行わせ、実行タイプは、(i)1つ以上のエンティティによって実行されるべき一連のタスクのワークフロー、(ii)複数のターゲットについて行われるべきタスクのバッチ実行ジョブ、(iii)出力を作り出すよう入力の際に実行されるべき解析の解析パイプライン、または、(iv)プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスであり、
命令はさらに、プロセッサによって実行されると、プロセッサに、
複数の実行タイプからの選択された実行タイプを選択インターフェイスから受信することに応答して、
選択された実行タイプとコンパチブルであるように実行中に変換される、データ構造からのプロセス定義を使用してプロセスを実行することと、
プロセスの実行に関する情報でポピュレートされた実行インターフェイスをディスプレイ上でレンダリングするよう、ランタイム環境において実行インターフェイスを実行することとを行わせる。
【0007】
1つ以上の他の実施形態において、コンピュータシステムはさらに、上記の特徴と組み合わせて、以下の特徴のうちの1つ以上の組み合わせを実行するための実行可能命令を含む。すなわち、上記以下の特徴は、
プロセスの第1のタスクとプロセスの第2のタスクとの間の関連性に関するトレーシングデータで実行インターフェイスをポピュレートすることと、
プロセスの進捗に関するステートマシンを維持することと、ステートマシンの現在状態で実行インターフェイスをポピュレートすることと、
プロセスの1つ以上のタスクのリアルタイム進捗を示すリアルタイムビジュアライゼーションを構築することと、リアルタイムビジュアライゼーションで実行インターフェイスをポピュレートすることと、
選択された実行タイプとコンパチブルなプロセス定義の第1の部分を利用し、選択された実行タイプとコンパチブルでないプロセス定義の第2の部分を無視すること、
プロセス定義内で定義される一連のタスクを、ワークフロー、バッチ実行ジョブ、解析パイプラインまたはインタラクティブアプリケーションインターフェイスのうちの1つへ変換することとである。
【0008】
別の実施形態において、コンピュータによって実現される方法が開示される。コンピュータによって実現される方法は、少なくとも1つのプロセッサと、実行可能命令を有するメモリとを含むコンピューティングデバイスによって実行される。コンピュータによって実現される方法は、本願明細書において記載されるプロセスフレームワークモジュールのファンクションおよび上記ファンクションの組み合わせを実行するためのステップを含んでいる。
【0009】
別の実施形態では、コンピュータに上記方法の1つ以上を実行させるためのプログラムが開示されており、本願明細書において開示されるように付加的なステップの任意の組み合わせを含み得る。
【0010】
明細書の部分に統合され当該部分を構成する添付の図面は、本開示のさまざまなシステム、方法および他の実施形態を示す。図における示された要素境界(たとえばボックス、ボックスのグループまたは他の形状)は、境界の一実施形態を表わすということが認識されるであろう。いくつかの実施形態では、1つの要素が複数の要素として実現され得るか、または、複数の要素が1つの要素として実現され得る。いくつかの実施形態では、別の要素の内部コンポーネントとして示される要素が、外部コンポーネントとして実現され得、その逆も実現され得る。さらに、要素は、縮尺通りに描かれていない場合もある。
【図面の簡単な説明】
【0011】
【
図1】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図である。
【
図2】単一のランタイム環境内でプロセスを定義および実現することに関連付けられる方法の実施形態を示す図である。
【
図3】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図であって、プロセスは定義インターフェイスを通じて定義される図である。
【
図4】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図であって、プロセス定義はワークフローとしてプロセスを実行するために使用される図である。
【
図5】単一のランタイム環境内でプロセスを定義および実現することに関連付けられるシステムの実施形態を示す図であって、プロセス定義は解析パイプラインとしてプロセスを実行するために使用される図である。
【
図6】一時的でないコンピュータ読取可能媒体の実施形態を示す図である。
【
図7】開示される例示的なシステムおよび/または方法により構成されるコンピューティングシステムの実施形態を示す図である。
【発明を実施するための形態】
【0012】
詳細な説明
単一のランタイム環境内でプロセスを定義および実現することを提供するコンピュータ化されたシステムおよび方法が本願明細書において記載される。単一のユーザインターフェイスを通じて実行および表示されるアプリケーションソフトウェアスイートのようなランタイム環境は、プロセスの進捗を定義し、実行し、トラッキングするためのさまざまなツールをホストする。定義インターフェイスおよび実行インターフェイスのようなツールが、単一のランタイム環境によってホストされるので、プロセスの進捗を定義し、実行し、実現し、トラッキングするさまざまな局面の間でトレーサビリティが提供され得る。ユーザは、プロセスの個々のタスクがどのように定義されているかについてと、プロセスが、ワークフロー、バッチ実行ジョブ、解析パイプライン、インタラクティブアプリケーションインターフェイス、または、他の実行タイプとしてどのように実行されるのかについてとの相関を容易に識別およびトラッキングし得る。ユーザはさらにランタイム環境を通じて、個々のタスクのリアルタイム進捗をトラッキングし得る。ランタイム環境は、ワークフロー、バッチ実行ジョブ、解析パイプラインおよびインタラクティブアプリケーションインターフェイスを定義し、実現し、トラッキングするために使用され得る単一の統合されたツールに、タスク間のトレーサビリティと、何がそれらのタスクを駆動するかと、タスクがどのように実現されるかとを与える。これにより、コンピューティングリソースの量と、時間と、複数のユーザデバイスに亘って関係付けられていない態様で格納された情報の複数の別個のツール同士間で情報を相関させる手動の試みによる手動のヒューマンエラーの確率とが低減される。
【0013】
ランタイム環境は、プロセスが単一のプロセス定義として定義されることを可能にする。プロセス定義は、さまざまな実行タイプに従って単一のプロセス定義からのプロセスを実行するために使用され得る。プロセス定義は、特定の実行タイプとコンパチブルになるよう実行中に変換される。プロセス定義は、1つ以上のエンティティによって実行されるべき一連のタスクのワークフローに変換され得る。エンティティは、ユーザ、コンピューティングシステム、サードパーティコンポーネント、ウェブサービス、データベーストランザクション、スクリプトなどに対応し得る。プロセス定義は、たとえば複数のベンダーに支払いを行うために使用される支払いプロセスといったような、複数のターゲットについて実行されるべきタスクのバッチ実行ジョブに変換され得る。プロセス定義は、ユーザ情報を評価する統計モデルを使用してローンデフォルトの確率を出力するといった、出力を作り出すよう入力の際に実行されるべき解析の解析パイプラインに変換され得る。プロセス定義は、たとえばユーザが関連するドキュメンテーションを見てプロセスのタスクを実行し得る、プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスに変換され得る。
【0014】
一実施形態では、実行タイプは、複数の利用可能な実行タイプを有するよう生成および表示される選択インターフェイスを通じてユーザによって選択され得る。他の実施形態では、実行タイプは、現在のコンテキストに基づいてプログラムによって決定され得る。現在のコンテキストは、ユーザが提出したコマンド、ソフトウェアコンポーネントコマンド、しきい値、トリガ、データベース情報、ネットワークを介してリモートコンピュータから受信される要求などから導き出される。一実施形態において、ローンデフォルト解析がランタイム環境を通じてユーザによって要求される場合、解析パイプライン実行タイプが選択される。別の実施形態において、請求コンポーネントが複数のベンダーに対する支払いがあると決定する場合、バッチ実行ジョブ実行タイプが選択される。別の実施形態では、単一の大きく複雑な支払いの要求がリモートベンダーコンピュータから受信される場合、当該支払いの個々のタスクをトラッキングおよび実現するために、ワークフロー実行タイプが選択される。別の実施形態において、ユーザのカレンダエントリまたはEメールがタスクの手動実行の要求を示す場合、インタラクティブアプリケーションインターフェイス実行タイプが選択される。これにより、コンピューティングリソースが節約され得る。なぜならば、各実行タイプのための複数の別個のプロセス定義が、定義、格納、維持、および実現される必要がないからである。
【0015】
図1を参照して、単一のランタイム環境内でプロセスを定義および実行することに関連付けられるコンピュータシステム100の一実施形態が示される。システム100は、
図7のコンピュータ715のようなコンピュータ上で実行するように構成され得るプロセスフレームワークモジュール105を含んでいる。プロセスフレームワークモジュール105は、定義インターフェイス120、実行インターフェイス125および/または他のインターフェイスが実行および表示されるアプリケーションもしくはユーザインターフェイスといった、単一のランタイム環境115内でプロセスを定義および実行するように構成される。一実施形態では、各インターフェイスは、本願明細書において記載されるように、対応するグラフィカルユーザインターフェイス(GUI)を生成し表示画面上にレンダリングするように構成される実行可能プログラムモジュールである。
【0016】
プロセスフレームワークモジュール105は、ディスプレイ上にGUIをレンダリングするためのランタイム環境115における定義インターフェイス120のモジュールを実行する。表示されたグラフィカル定義インターフェイスGUI120は、プロセスを定義するために使用される。ユーザは、実行中にプロセスへの入力として使用するデータのデータソースを定義するために、グラフィカル定義インターフェイス120と相互作用し得る。データソースは、データベース、ウェブサイト、ドキュメント、ファイル、サードパーティコンポーネントのようなリモートコンピュータから受信される情報などに対応し得る。
【0017】
ユーザは、プロセスを実現するために実行されるべき1つ以上のタスクを定義するために、グラフィカル定義インターフェイス120と相互作用し得る。一実施形態では、規制コンプライアンスプロセスは、ドキュメント取得タスク、ドキュメントレビュータスク、署名取得タスク、コンプライアンス規制ルールレビュータスク、監査タスクなどを含み得る。ユーザは、タスクを実行するための命令を定義することと、だれがタスクを実行するか委任することと、タスクを実行するためのしきい値およびパラメータをセットすることと、完了進捗トラッキングのためのマイルストーンをセットすることと、タスクの入力および出力を定義することと、当該タスクと他のタスクまたは当該プロセスのコンポーネントとの関係を定義することとなどを行い得る。
【0018】
ユーザは、そのようなタスクを実行するべきエンティティ130へのタスクの委任を定義するために、グラフィカル定義インターフェイス120と相互作用し得る。一実施形態では、タスクは、解析ユーザ、ビジネスユーザ、サードパーティコンポーネント、ウェブサービス、ランタイムコンポーネント(たとえばアプリケーション)、データベーススクリプトなどに委任され得る。
【0019】
ユーザは、タスクを定義するのに用いられるパラメータを定義するために、グラフィカル定義インターフェイス120と相互作用し得る。一実施形態では、ユーザは、しきい値、期日、アルゴリズム、記入すべきフォーム、レビューすべきドキュメント、または、タスクを定義する任意の他のパラメータを特定し得る。
【0020】
ユーザは、出力データを作り出すよう入力データに対して実行されるモデル、アルゴリズム、方程式、統計、ビジネスロジックまたは他の機能を定義するために、グラフィカル定義インターフェイス120と相互作用し得る。一実施形態では、ユーザがローンをデフォルトする確率を出力するためのユーザ情報を評価するためにデフォルト確率モデルが定義され得る。
【0021】
これにより、ユーザは、プロセス定義としてグラフィカル定義インターフェイス120を通じてプロセスを定義し得る。複数のユーザは、ランタイム環境115を通じてプロセス定義のさまざまな局面を定義するために共働し得る。一実施形態では、解析ユーザは統計モデルを定義し得、ビジネスユーザはワークフローアイテムを定義し得、プログラマはデータソースなどを定義し得る。
【0022】
一実施形態では、グラフィカル定義インターフェイス120は、タスク、プロセス、統計モデル、データソース、パラメータ、エンティティおよび/またはプロセスの他のコンポーネントのビジュアル表現が視覚的に定義され得るビジュアルモデリング環境として表示される。たとえば、ユーザは、たとえばプロセスを定義するために使用される構成可能なコンポーネントの表現/アイコンのプロセスコンポーネントインターフェイスからのドラッグアンドドロップ操作を通じて、グラフィカル定義インターフェイス120内にタスクアイコンを配置し得る。ユーザは、たとえばプロセスコンポーネントインターフェイスからのドラッグアンドドロップ操作を通じて、グラフィカル定義インターフェイス120内にユーザエンティティアイコンを配置し得る。ユーザは、ユーザエンティティアイコンによって表わされるユーザが、タスクアイコンによって表わされるタスクを実行することになっていることを示すために、タスクアイコンとユーザエンティティアイコンとの間の接続を作成し得る。ユーザは、そのようなアイコンを選択し、そのようなものに関するさらに別の情報を特定し得る。一実施形態では、ユーザは、ユーザのEメールアドレスを特定することと、どのステップがタスクについて実行されるべきかを定義することと、タスクについてしきい値をセットすることと、タスクを実現するために使用するよう入力情報についてデータソースを定義することとなどを行い得る。
【0023】
プロセス定義は、ファイル、データベースなどのようなデータ構造へ格納される。データ構造は、
図7のディスク755またはメモリ735内といった、プロセスフレームワークモジュール105にアクセス可能なストレージ内に格納される。一実施形態では、データ構造は、プロセス定義をさらに定義/改良するために、グラフィカル定義インターフェイス120にプロセス定義をロードするために使用される。データ構造はさらに、プロセスを実行するためのプロセス定義をロードするために使用される。一実施形態では、プロセス定義の複数バージョンが1つ以上のデータ構造に格納され得る。
【0024】
プロセスフレームワークモジュール105は、ディスプレイ上でレンダリングするために、ランタイム環境115において実行インターフェイス125を実行する。実行インターフェイス125は、プロセスの実行に関する情報を表示することと、タスクまたはタスクの進捗に関する入力情報を完了するためにユーザに入力インターフェイスを提供することと、タスクを実行するために使用されるデータへのアクセスをユーザに提供することと、タスク同士間の関係情報を提供することとなどのために使用される。一実施形態では、選択インターフェイス110が生成される。選択インターフェイス110は、プロセス定義のためにサポートされ得る複数の実行タイプでポピュレートされる。実行タイプは、プロセス定義が、タスク定義データ、データソース入力定義データ、パラメータ定義データ、解析モデル定義データ、および/または、その実行タイプに従ってプロセスを実行するために使用される他のデータを有する場合、サポートされることが可能であると決定される。一実施形態では、実行タイプは、入力、タスクを実行するべきエンティティの指定、実現するべき統計モデルまたは他のビジネスロジック、タスクをどのように実行するかのステップの定義などとして、あるデータタイプを予想し得る。
【0025】
選択インターフェイス110は、1つ以上のエンティティによって実行されるべき一連のタスクのワークフローに対応する実行タイプでポピュレートされる。一実施形態では、ワークフローは、ユーザ口座抽出タスクを実行するデータベーススクリプトエンティティと、ユーザ口座アップデートタスクを実行するアカウンタントと、ユーザアドレス情報をアップデートする他のタスクといったタスクに使用される。選択インターフェイス110は、多数のベンダーに請求書を送信する単一タスクといった、複数のターゲットについて実行されるべきタスクのバッチ実行ジョブに対応する実行タイプでポピュレートされる。選択インターフェイス110は、出力を作り出すよう入力の際に実行されるべき解析(たとえば統計モデル、アルゴリズムなど)の解析パイプラインに対応する実行タイプでポピュレートされる。選択インターフェイス110は、プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスに対応する実行タイプでポピュレートされる。一実施形態では、インタラクティブアプリケーションインターフェイスは、ユーザがプロセスの実行またはプロセスのタスクに関するデータを入力したり、プロセスまたはタスクなどを実行するのに用いられるデータを閲覧したりなどし得るユーザインターフェイスを含む。
【0026】
選択インターフェイス110は、たとえば実行インターフェイス125を通じてといったように、ランタイム環境115を通じてユーザに表示される。選択された実行タイプは、選択インターフェイス110を通じて受信される。一実施形態では、ユーザはバッチ実行ジョブ実行タイプを選択する。
【0027】
他の実施形態では、実行タイプは、現在のコンテキストに基づいてプログラムによって決定され得る。現在のコンテキストは、さまざまなメタデータ、ユーザ入力、信号、リモートコンピュータから受信されるデータ、アラート、アラーム、カレンダデータ、タスクデータ、Eメールデータおよび/または他の情報に基づき決定され得る。一実施形態において、ランタイム環境115へのユーザ入力は、請求書が多数のクライアントに送信されることになっているといったように、タスクがしきい値回数だけ実行されることになっていることを示し得る。したがって、プロセスフレームワークモジュール105は、バッチ実行ジョブ実行タイプがバッチジョブとして、請求書を送信するために使用されるべきであると決定する。別の実施形態では、Eメールまたは任意の他の通信がランタイム環境115によって評価され、ユーザ入力と、ユーザインターフェイスとのインタラクションとを必要とするさまざまなタスクが実行されることになっていると当該Eメールが示していると決定する。したがって、プロセスフレームワークモジュール105は、そのようなタスクを実行するためにユーザにユーザインターフェイスを提供するためにインタラクティブアプリケーションインターフェイス実行タイプが使用されるべきであることを決定する。
【0028】
プロセスは、データ構造からのプロセス定義を使用して実行される。複数バージョンのプロセス定義が存在する場合、最新バージョン、完了とマークされたバージョン、しきい値を上回る承認格付けを有するバージョンなどといった、どのバージョンを使用するべきかを選択するためにバージョンコントロールメトリックが使用される。特に、プロセス定義は、選択された実行タイプとコンパチブルになるよう、実行中に変換される。一実施形態では、プロセス定義は、選択された実行タイプとコンパチブルであるプロセス定義の第1の部分を選択的に使用し、かつ、選択された実行タイプとコンパチブルでないプロセス定義の第2の部分を無視(たとえば、使用のためにプロセス定義から抽出しない)することによって、変換される。複数のクライアントへの請求書送信プロセスがバッチ実行ジョブとして実行されることになっている一実施形態において、プロセス定義内のクライアントアドレス取得タスクが、予測されたコンポーネント(たとえば入力、出力、機能、モデル、データタイプ、アルゴリズムなど)に対応し得、したがって使用される。クライアント年齢アップデートタスクまたは銀行支店位置のデータソーステーブルの指定は、予測されたコンポーネントに対応し得なく、したがって、使用されないか、または、プロセス定義から使用のために抽出されない。一実施形態において、コンパチブルでないプロセス定義の第2の部分が、選択された実行タイプとコンパチブルなデータのタイプへ変換される。たとえば、ユーザの名前が、予測された入力であるユーザのEメールアドレスに変更され得る(たとえば、ユーザ情報データベースにはユーザの名前がクエリ送信されて、変換のためにEメールアドレスを取得する)。
【0029】
これにより、一連のタスク、データソース指定、統計モデル、入力、出力、命令、ユーザインターフェイス要素、アルゴリズムおよび/またはプロセス定義内の他の情報が、ワークフロー、バッチ実行ジョブ、解析パイプライン、または、インタラクティブアプリケーションインターフェイスに変換される。
【0030】
一実施形態において、プロセスは、同期実行モードで実行される。同期実行モードでは、第1のタスクを実行する第1のエンティティ(たとえば請求書を生成するウェブサービス)と、第2のタスクを実行する第2のエンティティ(たとえば請求書を生成するために使用されるリアルタイム請求データを提供するサードパーティコンポーネント)との間でデータが同期して通信される。別の実施形態では、プロセスは、コールバック機能が実現される非同期実行モードで実行される。コールバック機能によって、長く実行される複雑なプロセスのようなプロセスは、メッセージ(たとえば請求書を生成するために必要とされる請求データといった、前進を継続するためにプロセスによって必要とされるデータ)がメッセージキューに到着するのを待つことが可能になる。
【0031】
一実施形態では、プロセスは第1のタスクおよび第2のタスクを含む。第1のユーザのような第1のエンティティは、データベーススクリプトのような第2のエンティティが第2のタスクを実行するのと並行して、第1のタスクを実行するよう呼び出され得る。別の実施形態では、第2のタスクが第1のタスクの完了に依存するという決定がなされる。したがって、第2のエンティティは、第1のエンティティが第1のタスクを完了したという決定の際に、第2のタスクを実行するために呼び出される。
【0032】
実行インターフェイス125は、プロセスの実行および実施に関する情報でポピュレートされる。実行インターフェイス125は、ドキュメントと、データへのリンクと、タスクを実行するために使用され得る他の情報とでポピュレートされる。実行インターフェイス125は、ユーザが、タスクを実行することと、タスクがどのように実行されたかを特定することと、タスクの結果を入力することとなどを行い得るユーザインターフェイスでポピュレートされる。
【0033】
一実施形態では、実行インターフェイス125は、ユーザが割り当てられたタスクを実行し得るユーザインターフェイスといったタスク完了機能でポピュレートされる。別の実施形態では、実行インターフェイス125は、第2のタスクの完了または第2のタスクからのデータに対する第1のタスクの依存性といった、プロセスの第1のタスクとプロセスの第2のタスクとの間の関連性に関するトレーシングデータでポピュレートされる。別の実施形態において、実行インターフェイス125は、パーセンテージインジケータ、または、個々のタスクのリアルタイム進捗を示すリアルタイムビジュアライゼーションといった、タスク完了の完了インジケータでポピュレートされる。実行インターフェイス125は、入力、出力、解析の記述、機能の記述、アルゴリズムの記述、エラー、計算結果、タスク結果、および/または、実現されているプロセスのさまざまな局面に関する他の情報でポピュレートされる。実行インターフェイス125は、タスクは誰に委任されたか、タスクの進捗、タスクはどのように実行されるか/実行されたか、タスクからの出力データなどといった、プロセスの1つ以上のタスクの実行を監査する監査機能でポピュレートされる。
【0034】
一実施形態では、アンドゥ機能が実行インターフェイス125を通じて提供される。プロセスのトランザクション(たとえばデータベーストランザクション)が、実行トランザクションとして実行されることについて識別される。アンドゥデータ構造が作成される。アンドゥデータ構造は、実行トランザクションをアンドゥするよう実行インターフェイス125を通じて呼び出され得る。
【0035】
一実施形態では、プロセスを実現するプロセスに関してステートマシンが維持される。ステートマシンは、プロセスの個々のタスクの完了に関するさまざまな状態を有し得る。実行インターフェイス125は、個々のタスクの現在状態を示すビジュアライゼーション、タスク同士間の関係および依存性などといったステートマシンの現在状態でポピュレートされる。
【0036】
一実施形態では、タスクが完了することなくタスク完了時間が終了した場合、ユーザに対してタスクの自動エスカレーションが実行される。自動エスカレーションに関する情報は、実行インターフェイス125を通じて提供される。一実施形態では、ユーザへの委任といったエンティティへのタスクの自動委任が、当該エンティティの特徴とマッチするタスクの特徴に基づいて実行される。たとえば、従業員履歴レビュータスクは、従業員雇用レビューに対応する人事ユーザのジョブタイトルに基づき、人事ユーザに割り当てられ得る。
【0037】
一実施形態において、プロセスフレームワークモジュール105は、プロセス定義がプロセスのタスクを実行するべきサードパーティコンポーネントを特定することを決定する。そうでなければサードパーティコンポーネントの機能およびパラメータがランタイム環境115のユーザから隠され得るので、プロセスフレームワークモジュール105は、そのような情報を抽出し公表するように構成される。特に、サードパーティコンポーネントをホストするリモートコンピューティングデバイスへネットワークを介して通信接続が確立される。サードパーティコンポーネントは、登録プロセスを通じてプロセスフレームワークモジュール105に登録される。サードパーティコンポーネントは、パラメータ、機能および/またはサードパーティコンポーネントによって使用される他の情報(たとえばアルゴリズム、統計モデル、入力、出力、方程式など)を規定するメタデータを識別するために、通信接続を介してクエリ送信を受ける。パラメータおよび機能の識別で実行インターフェイス125がポピュレートされる。
【0038】
これにより、プロセスは、ランタイム環境115を通じて定義および実行され得る。
図2を参照して、単一のランタイム環境を通じてプロセスを定義および実行することに関連付けられるコンピュータによって実現される方法200の一実施形態が示される。一実施形態において、方法200は、定義インターフェイス、プロセスおよび実行インターフェイスを実行することに関連付けられる命令を実行するためのプロセッサ720といった、コンピュータ715のさまざまなコンピューティングリソースを利用するプロセスフレームワークモジュール105によって実行される。メモリ735および/またはディスク755は、プロセス定義および/または他のデータのデータ構造を格納するために使用される。ネットワークハードウェアは、ネットワークを介してコンピュータ715とプロセスによってアクセスされるサードパーティコンポーネントのようなリモートコンピュータとの間でデータ構造を通信するために使用される。方法200は、ランタイム環境にアクセスするコマンドでトリガされる。
【0039】
205において、定義インターフェイス120のプログラムモジュールは、
図3の例示的なシステム300によって示されるように、プロセスを定義するために、ディスプレイ上でグラフィカル定義インターフェイス120(GUI)をレンダリングするようランタイム環境内で実行される。210において、グラフィカル定義インターフェイス120を通じてプロセスのプロセス定義405の入力が受信される。一実施形態において、入力は、プロセス、タスク、命令、データ出力、データソース、統計モデル、依存性、エンティティ、ルールおよび/または他のコンポーネントが、アイコン、接続線、実行順番線もしくは他のユーザインターフェイス要素によって視覚的に表わされるビジュアルモデリング環境を通じて提供される。たとえば、ユーザは、プロセスツリーを表わすよう、ビジュアルモデリング環境にプロセスツリーアイコン310を配置し得る。ユーザは、実行するべき資本計算ファンクションを表わす資本計算実行アイコン305をビジュアルモデリング環境へ配置し得る。
【0040】
ユーザは、データインジェスチョンプロセスアイコン320によって表わされるデータインジェスチョンプロセスと同時に実行するべきデータインジェスチョンタスクのデータインジェスチョンタスクアイコン315(たとえば、同時実行アイコン325によって表わされる)といったコンポーネントアイコンをビジュアルモデリング環境に配置し得る。ユーザは、データインジェスチョンプロセスのタスクを表わすよう、データ品質チェックタスクアイコン330およびデータ修正タスクアイコン335を配置し得る。依存性アイコン340は、データ修正タスクがデータ品質チェックタスクに依存するということを示すために使用される。ユーザは、ビジュアルモデリング環境内において、実行するべき統計モデルを表わす統計モデルアイコン345を配置し得る。ユーザは、プロセスエリアおよびステージングエリアへのトレーサビリティを有する結果エリアへのデータポピュレーションを表わすデータポピュレーションファンクションアイコン350をバーチャルモデリング環境へ配置し得る。
図3は単に、タスク、プロセス、モデル、ファンクション、依存性、実行/実現の順番、および/または、ユーザがプロセス定義405を定義するために視覚的に構成し得るプロセスの他のコンポーネントを表すのに用いられるいくつかのユーザインターフェイス要素の例であるということが認識され得る。215において、プロセス定義405は、ストレージ内に格納されたデータ構造に格納される。
【0041】
220において、
図4の例400に示されるように、選択インターフェイス110が生成および表示される。一実施形態において、選択インターフェイス110は、プロセスを実行するために利用可能である複数の実行タイプでポピュレートされる。選択インターフェイス110は、1つ以上のエンティティによって実行されるべき一連のタスクのワークフローに対応する実行タイプでポピュレートされる。選択インターフェイス110は、複数のターゲットについて実行されるべきタスクのバッチ実行ジョブに対応する実行タイプでポピュレートされる。選択インターフェイス110は、出力を作成するよう入力の際に実行されるべき解析の解析パイプラインに対応する実行タイプでポピュレートされる。選択インターフェイス110は、プロセスの実行とのユーザインタラクションのためのインタラクティブアプリケーションインターフェイスに対応する実行タイプでポピュレートされる。225において、選択された実行タイプは、選択インターフェイス110を通じて受信される。たとえば、ユーザはワークフロー実行タイプを選択し得る。
【0042】
代替的な実施形態では、選択インターフェイス110が生成され、表示され、選択された実行タイプの選択を受信するために使用されるのとは反対に、選択された実行タイプがコンテキストに基づいてプログラムによって選択される。コンテキストは、実行するべきスケジューリングされたタスク(たとえば請求書がクライアントに送信される予定であるということを示す請求ソフトウェアモジュール)、実行されるべきタスクについてのクライアントまたはコンピューティングシステムからの要求(たとえば、ベンダーコンピューティングシステムが請求書の支払の要求を送信する)、ドキュメントレビュータスクがユーザによって行われることになっていることを示すカレンダエントリ、従業員レビュータスクを実行するようにユーザに指示するEメールなどといった、さまざまなデータに基づきプロセスフレームワークモジュール105によって決定される。
【0043】
230において、プロセスは、データ構造からプロセス定義405を使用して実行される。プロセス定義405は、ワークフロー実行タイプのような選択された実行タイプとコンパチブルであるよう、実行中に変換される445。一実施形態では、プロセス定義405は、他の実行タイプではなくある実行タイプとコンパチブルな部分を有する。ある部分は、タスク、データソース、統計モデル、入力、出力、データタイプ、エンティティ、ファンクション、データベーススクリプト、アルゴリズム、ユーザ識別子、実現データのタスク依存性および順番、および/または、プロセスを実現するために用いられるさまざまな他の情報に対応し得る。したがって、プロセス定義405は、ワークフロー実行タイプとコンパチブルである(たとえば、データタイプ、ファンクションタイプ、タスクタイプ、データソースタイプまたは他の予測情報とマッチする)プロセス定義の部分を使用することによって変換される445。プロセス定義405の他の部分は、無視される(たとえば、プロセスを実行および実現する際に使用されないかもしくはプロセス定義405から抽出されない)か、または、ワークフロー実行タイプとコンパチブルであるフォーマットに変換され得る(たとえば、データタイプ変換、予測されたファンクションタイプにマッチするファンクションへの修正など)。
【0044】
一実施形態では、プロセス定義405は、プロセスを実現するための何らかの種類の機能を実行するよう、サードパーティコンポーネント440を利用する。サードパーティコンポーネント440は一般に、サードパーティコンポーネント440によって使用される内部パラメータおよび機能を公表し得ない。代わりに、サードパーティコンポーネント440は、入力を受け入れ、出力を提供し得る。したがって、プロセスフレームワークモジュール105は、クエリ送信し、サードパーティコンポーネント440によって使用されるパラメータおよび機能に関する情報を取得するために、サードパーティコンポーネント440を登録し得る。そのようなサードパーティコンポーネント情報は、プロセスの実行に関する情報でポピュレートされる実行インターフェイス125を通じてユーザに提供され得る425。
【0045】
235において、実行インターフェイス125は、ディスプレイ上で実行インターフェイス125をレンダリングするようランタイム環境において実行される。プロセスの実行および実現に関するさまざまな情報は、実行インターフェイス125内にポピュレートされる。一実施形態では、プロセスがワークフローとして実行されているという指示410が提供される。別の実施形態では、ユーザ(A)に委任されるドキュメントレビュータスクの進捗を閲覧する能力といったタスク進捗情報415が提供される。別の実施形態では、ワークフローとしてプロセスを実現する部分として実行された統計モデルの結果をチェックする能力といった、タスク、ファンクション、解析モデルなどの結果データ420が提供される。別の実施形態では、どの入力情報が考慮されたのか、どのように入力情報が処理されたのか、および、プロセスを実現する各ステップにおいてどのような出力情報が決定されたのかをユーザが閲覧し得るように、監査情報430が提供される。別の実施形態では、タスクを実行するために使用される、ファイルのような情報へのアクセス435が提供される。
【0046】
図5は、単一のランタイム環境内でプロセスを定義および実行するためのシステム500の図である。プロセスのプロセス定義505は、ランタイム環境の定義インターフェイスを通じて定義され得た。プロセス定義505は、ドキュメント解析タスク、予測モデリングタスク、実行するべき統計モデル、ウェブサービスといったタスクを実行するべきエンティティ、入力データ、データソース、タスク同士間の関連性などを定義し得る。
【0047】
プロセスフレームワークモジュール105は、プロセスを実行するためにどのようにプロセス定義505を使用するべきであるかを示すコンテキストを決定するように構成される。一実施形態では、小売り業者のインボイスコンポーネントは、インボイスに関する顧客苦情を受け取り得る。顧客苦情の受け取りは、当該苦情を評価するワークフローとしてコンテキストを決定するために評価される。別の実施形態では、小売り業者の在庫コンポーネントは、在庫レベル同士間に重大な不一致があり、人間の介入およびユーザインターフェイスを通じたレビューを必要とすることになるということを決定し得る。したがって、在庫管理従業員が在庫監査を実行し得るインタラクティブアプリケーションインターフェイスがコンテキストとして決定され得る。別の実施形態では、請求コンポーネントは、複数の請求書が顧客へ送信されるべきであるということを決定し得る。したがって、バッチ実行ジョブがコンテキストとして決定され得る。
【0048】
別の実施形態では、ユーザは、マーケティングキャンペーンの成功を予測するようコマンドを提出する。したがって、成功率を予測するための解析を実行するために用いられる解析パイプラインがコンテキストとして決定され得る。プロセスフレームワークモジュール105は選択的に、解析パイプライン実行タイプとコンパチブルであるプロセス定義505の部分を利用する。一実施形態では、予測データタイプ、タスク、および、解析パイプラインによって実行可能な統計モデルが、コンパチブルであると決定される。他の部分は、使用されないままにされ得るか、または、解析パイプラインとコンパチブルであるフォーマットに変換され得る(たとえばデータタイプ、タスク、ファンクション、アルゴリズムなどへの修正)。これにより、プロセスフレームワークモジュール105は、解析パイプライン実行タイプとコンパチブルになるよう、実行中にプロセス定義505を変換する535。
【0049】
実行インターフェイス125は、ディスプレイ上に実行インターフェイス125をレンダリングするよう、ランタイム環境内で実行される。実行インターフェイス125は、プロセスの実行に関する情報でポピュレートされる。一実施形態では、プロセスが解析パイプライン実行タイプとして実行されているという指示510が提供される。ウェブサービスによるドキュメント解析の進捗をチェックする能力515が提供される。統計モデルの実行の結果をチェックする能力520が提供される。ドキュメント解析タスクと予測モデリングタスクとの間の関連性および関係を閲覧する能力525が提供される。入力、出力、実行された機能、タスク、および/または、プロセスを実現する各ステップに関する他の情報を閲覧するといった、プロセスの実現の監査を実行する能力530が提供される。
【0050】
図6は、例示的な一時的でないコンピュータ読取可能媒体605を伴うシナリオ600の図である。一実施形態では、本願明細書において記載されるコンポーネントの1つ以上は、一時的でないコンピュータ読取可能媒体605に格納されるプロセスフレームワークモジュール105のようなプログラムモジュールとして構成される。プログラムモジュールは、プロセッサ実行可能命令620といった、少なくともプロセッサ640のようなプロセッサによって実行されると、コンピューティングデバイスに本願明細書に記載されるように対応するファンクションを実行させる格納された命令を有するように構成される。一実施形態では、一時的でないコンピュータ読取可能媒体605に格納されたプロセスフレームワークモジュール105の機能は、
図2の方法200の実施形態625を実行するよう、プロセッサ640によってプロセッサ実行可能命令620として実行され得る。
【0051】
一時的でないコンピュータ読取可能媒体605は、プロセッサ640によって実行されると、本願明細書における規定のうちの少なくともいくつかの実行を行わせるプロセッサ実行可能命令620を含んでいる。一時的でないコンピュータ読取可能媒体605は、メモリ半導体(たとえばスタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、および/もしくは、同期ダイナミックランダムアクセスメモリ(SDRAM)技術を利用する半導体)、ハードディスクドライブのプラッタ、フラッシュメモリデバイス、または、磁気もしくは光学ディスク(たとえばコンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)もしくはフロッピー(登録商標)ディスク)を含んでいる。例示的な一時的でないコンピュータ読取可能媒体605は、デバイス630のリーダ635によって読出615(たとえばハードディスクドライブの読出ヘッド、または、ソリッドステートストレージデバイス上で呼び出された読出動作)に晒されると、プロセッサ実行可能命令620を表わすコンピュータ読取可能データ610を格納する。
【0052】
いくつかの実施形態では、プロセッサ実行可能命令620は、実行されると、たとえば
図2の例示的な方法200のうちの少なくともいくつかのような動作の実行を引き起こす。いくつかの実施形態では、プロセッサ実行可能命令620は、たとえば
図1の例示的なシステム100のうちの少なくともいくつかのようなシステムの実現を引き起こすように構成される。
【0053】
図7は、本願明細書において記載される例示的なシステムおよび方法ならびに/または同等物のうちの1つ以上を有するように構成および/またはプログラムされる例示的なコンピューティングデバイス700を示す。例示的なコンピューティングデバイス700は、バス725によって動作可能に接続されるプロセッサ720、メモリ735、およびI/Oポート745を含むコンピュータ715であり得る。一実施形態では、コンピュータ715は、
図1~
図2に示されるシステム100および/または方法200を促進するように構成されるプロセスフレームワークモジュール105のロジックを含み得る。異なる実施形態では、プロセスフレームワークモジュール105のロジックは、ハードウェア、格納された命令を有する一時的でないコンピュータ読取可能媒体705、ファームウェア、および/または、その組み合わせで実現され得る。プロセスフレームワークモジュール105のロジックがバス725に取り付けられるハードウェアコンポーネントとして示されているが、他の実施形態では、プロセスフレームワークモジュール105のロジックは、プロセッサ720において実現され得、メモリ735に格納され得、または、ディスク755に格納され得るということが認識されるべきである。
【0054】
一実施形態では、プロセスフレームワークモジュール105またはコンピュータ715のロジックは、記載されるアクションを実行するための手段(たとえば構造:ハードウェア、一時的でないコンピュータ読取可能媒体、ファームウェア)である。いくつかの実施形態では、コンピューティングデバイスは、クラウドコンピューティングシステムで動作するサーバ、ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service)アーキテクチャで構成されるサーバ、スマートフォン、ラップトップ、および、タブレットコンピューティングデバイスなどであり得る。
【0055】
当該手段は、たとえば、アロケーションのためのルールベースのソースシークエンシング(rule based source sequencing)を実現するようにプログラムされる特定用途向け集積回路(ASIC)として実現され得る。当該手段はさらに、メモリ735に一時的に格納され次いでプロセッサ720によって実行されるデータ710としてコンピュータ715に提示される格納されたコンピュータ実行可能命令として実現され得る。
【0056】
プロセスフレームワークモジュール105のロジックはさらに、アロケーションのためのルールベースのソースシークエンシングを実行するための手段(たとえばハードウェア、実行可能命令を格納する一時的でないコンピュータ読取可能媒体705、ファームウェア)を提供し得る。
【0057】
コンピュータ715の例示的な構成を概略的に記載すると、プロセッサ720は、デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含むさまざまなプロセッサであり得る。メモリ735は、揮発性メモリおよび/または不揮発性メモリを含み得る。不揮発性メモリはたとえば、リードオンリメモリ(ROM)、プログラマブルリードオンリメモリ(PROM)などを含み得る。揮発性メモリはたとえば、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、および、ダイナミックランダムアクセスメモリ(DRAM)などを含み得る。
【0058】
ディスク755は、たとえばI/Oインターフェイス740(たとえばカード、デバイス)およびI/Oポート745を介して、コンピュータ715に動作可能に接続され得る。ディスク755はたとえば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピーディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、および、メモリスティックなどであり得る。さらに、ディスク755は、CD-ROMドライブ、CD-Rドライブ、CD-RWドライブ、およびDVDROMなどであり得る。メモリ735は、たとえば一時的でないコンピュータ読取可能媒体705内のプロセスおよび/またはデータ710を格納し得る。ディスク755および/またはメモリ735は、コンピュータ715のリソースを制御および割り当てるオペレーティングシステムを格納し得る。
【0059】
コンピュータ715は、I/Oインターフェイス740およびI/Oポート745を介して入出力(I/O)デバイスとインタラクションし得る。I/Oデバイスはたとえば、キーボード、マイクロフォン、ポインティングおよび選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク755、および、ネットワークデバイス750などであり得る。I/Oポート745はたとえば、シリアルポート、パラレルポートおよびUSBポートを含み得る。I/Oコントローラ730はバス725にI/Oインターフェイス740を接続し得る。
【0060】
コンピュータ715は、ネットワーク環境において動作し得、したがって、I/Oインターフェイス740および/またはI/Oポート745を介してネットワークデバイス750に接続され得る。ネットワークデバイス750によって、コンピュータ715はネットワークとインタラクションし得る。ネットワークを通じて、コンピュータ715は、リモートコンピュータに論理的に接続され得る(たとえば、コンピュータ715は、クライアントが接続し得る分散コンピューティング環境内に存在し得る)。コンピュータ715がインタラクションし得るネットワークは、ローカルエリアネットワーク(LAN)、ニューエリアネットワーク(WAN)および他のネットワークを含むがこれらに限定されない。
【0061】
別の実施形態では、記載される方法および/またはそれらの同等物は、コンピュータ実行可能命令により実現され得る。したがって、一実施形態において、一時的でないコンピュータ読取可能/記憶媒体は、アルゴリズム/実行可能アプリケーションの格納されたコンピュータ実行可能命令を有するように構成される。当該コンピュータ実行可能命令は、マシンによって実行されると、マシン(および/または関連付けられるコンポーネント)に方法を実行させる。例示的なマシンは、プロセッサ、コンピュータ、クラウドコンピューティングシステムで動作するサーバ、ソフトウェア・アズ・ア・サービス(SaaS)アーキテクチャで構成されるサーバ、および、スマートフォンなどを含むが、これらに限定されない。一実施形態では、コンピューティングデバイスは、開示された方法のいずれかを実行するように構成される1つ以上の実行可能なアルゴリズムを有するように実現される。
【0062】
1つ以上の実施形態では、開示される方法またはそれらの同等物は、上記方法を実行するように構成されるコンピュータハードウェア、または、少なくともコンピューティングデバイスのプロセッサによって実行されると上記方法を実行するように構成される実行可能なアルゴリズムとして命令が構成される一時的でないコンピュータ読取可能媒体に格納されるモジュールで具現化されたコンピュータ命令のいずれかによって、実行される。
【0063】
説明の単純さのために、図に示される方法はアルゴリズムの一連のブロックとして示されるとともに記載されているが、当該方法はブロックの順番によって限定されないということが認識されるべきである。いくつかのブロックは、示され記載されたものとは異なる順番および/または他のブロックと同時に行われ得る。さらに、すべての示されたブロックより少ないブロックが、例示的な方法を実現するために使用されてもよい。ブロックは、複数のアクション/コンポーネントへと組み合わせられ得るかまたは分離され得る。さらに、付加的および/または代替的な方法は、ブロックにおいて示されていない付加的なアクションを使用し得る。
【0064】
以下は、本願明細書において使用される選択された用語の定義を含む。定義は、用語の範囲内にあり実現のために使用され得るコンポーネントのさまざまな例および/または形態を含んでいる。これらの例は、限定を意図しない。用語の単数形および複数形の両方が定義内にあり得る。
【0065】
「一実施形態」、「実施形態」、「一例」、「例」などへの参照は、そのように記載される実施形態または例が特定の特徴、構造、特性、プロパティ、要素または限定を含み得るということを示すが、すべての実施形態または例が当該特定の特徴、構造、特性、プロパティ、要素または限定を必ずしも含んでいるわけではない。さらに、「一実施形態において」というフレーズの使用の繰り返しは、同じ実施形態を指している場合もあるが、必ずしも同じ実施形態を指しているわけではない。
【0066】
本願明細書において使用されるような「データ構造」は、メモリ、ストレージデバイスまたは他のコンピュータ化されたシステムに格納される、コンピューティングシステムにおけるデータの組織である。データ構造は、たとえば、データフィールド、データファイル、データアレイ、データレコード、データベース、データテーブル、グラフ、ツリー、およびリンクリストなどのうちのいずれか1つであり得る。データ構造は、他の多くのデータ構造から形成され得るか、または、他の多くのデータ構造を含み得る(たとえば、データベースは多くのデータレコードを含む)。他の実施形態に従うと、データ構造の他の例が同様に可能である。
【0067】
本願明細書において使用されるような「コンピュータ読取可能媒体」または「コンピュータ記憶媒体」は、実行されると、開示されるファンクションのうちの1つ以上を実行するように構成される命令および/またはデータを格納する一時的でない媒体を指す。いくつかの実施形態において、データは命令として機能し得る。コンピュータ読取可能媒体は、不揮発性媒体および揮発性媒体を含む形態をとり得るが、これらに限定されない。不揮発性媒体はたとえば、光学ディスクおよび磁気ディスクなどを含み得る。揮発性媒体はたとえば、半導体メモリおよびダイナミックメモリなどを含み得る。コンピュータ読取可能媒体の一般的な形態は、フロッピーディスク(登録商標)、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス、コンパクトディスク(CD)、他の光学媒体、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、メモリチップまたはカード、メモリスティック、ソリッドステートストレージデバイス(SSD)、フラッシュドライブ、および、コンピュータ、プロセッサまたは他の電子デバイスが機能し得る他の媒体を含み得るが、これらに限定されない。各タイプの媒体は、一実施形態において実現のために選択される場合、開示および/または特許請求されるファンクションのうちの1つ以上を実行するように構成されるアルゴリズムの格納された命令を含み得る。
【0068】
本願明細書において使用されるような「ロジック」は、本願明細書において開示されるようなファンクションもしくはアクションのうちのいずれかを実行し、ならびに/または、別のロジック、方法および/もしくはシステムからのファンクションもしくはアクションが本願明細書において開示されるように実行されるよう、コンピュータもしくは電気的ハードウェアで実現されるコンポーネント、実行可能なアプリケーションもしくはプログラムモジュールの格納された命令を有する一時的でない媒体、および/または、これらの組み合わせを表わす。同等なロジックは、ファームウェア、アルゴリズムによりプログラムされるマイクロプロセッサ、離散ロジック(たとえばASIC)、少なくとも1つの回路、アナログ回路、デジタル回路、プログラムドロジックデバイス、および、アルゴリズムの命令を含むメモリデバイスなどを含み得、これらのいずれもが、開示されたファンクションのうちの1つ以上を実行するように構成され得る。一実施形態において、ロジックは、1つ以上のゲート、ゲートの組み合わせ、または、開示されたファンクションのうちの1つ以上を実行するように構成される他の回路コンポーネントを含み得る。複数のロジックが記載される場合、当該複数のロジックを1つのロジックに組み込むことが可能であり得る。同様に、単一のロジックが記載される場合、複数のロジック間でその単一のロジックを分散させることが可能であり得る。一実施形態では、これらのロジックのうちの1つ以上は、開示および/または特許請求されるファンクションを実行することに関連付けられる対応する構造である。どのタイプのロジックを実現するべきであるかの選択は、所望のシステム条件または仕様に基づき得る。たとえば、より大きな速度が目的である場合、ファンクションを実現するためにハードウェアが選択される。より低コストが目的である場合、当該ファンクションを実現するために、格納された命令/実行可能なアプリケーションが選択される。
【0069】
「動作可能な接続」またはエンティティが「動作可能に接続される」接続は、信号、物理的な通信および/または論理的な通信が送信および/または受信され得る接続である。動作可能な接続は、物理インターフェイス、電気的インターフェイスおよび/またはデータインターフェイスを含み得る。動作可能な接続は、動作可能な制御を可能にするのに十分であるインターフェイスおよび/または接続の異なる組み合わせを含み得る。たとえば、2つのエンティティは、直接的にまたは1つ以上の中間エンティティ(たとえばプロセッサ、オペレーティングシステム、ロジック、一時的でないコンピュータ読取可能媒体)を通じて、互いに信号を通信するために動作可能に接続され得る。論理的および/または物理的な通信チャンネルが、動作可能な接続を作り出すために使用され得る。
【0070】
本願明細書において使用されるような「ユーザ」は、1人以上の人、コンピュータ、他のデバイス、または、これらの組み合わせを含むが、これらに限定されない。
【0071】
開示された実施形態が相当に詳細に例示および記載されたが、添付の特許請求の範囲をそのような詳細に制限、または、如何なる態様で限定する意図はない。もちろん、主題のさまざまな局面を記載する目的のために、コンポーネントまたは方法のすべての考えられる組み合わせを記載するのは可能ではない。したがって、当該開示は、示され記載される特定の詳細または例示的な例に限定されない。したがって、この開示は、添付の特許請求の範囲内にある変更例、修正例および変形例を包含するように意図される。上記修正例および変形例は、開示された機能の任意の関連する組合せを含む。
【0072】
「含んでいる」または「含む」という用語が詳細な説明または請求の範囲において使用される程度について、請求項において転換語として使用される際に「備える」という用語が解釈されるように、「備える」という用語に類似した態様で包括的になるように意図される。
【0073】
詳細な説明または請求の範囲において「または」という用語が使用される程度(たとえばAまたはB)について、「AもしくはBまたは両方」を意味することが意図される。出願人が「AまたはBだけであって両方ではない」ことを示すことが意図される場合、「AまたはBだけであって両方ではない」というフレーズが使用されことになる。したがって、本願明細書における「または」という用語の使用は、排他的ではなく包括的である。