IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ユーアイパス,インコーポレイテッドの特許一覧

特表2023-553220マルチインスタンスプロセスのためのプロセスマイニング
<>
  • 特表-マルチインスタンスプロセスのためのプロセスマイニング 図1
  • 特表-マルチインスタンスプロセスのためのプロセスマイニング 図2
  • 特表-マルチインスタンスプロセスのためのプロセスマイニング 図3
  • 特表-マルチインスタンスプロセスのためのプロセスマイニング 図4
  • 特表-マルチインスタンスプロセスのためのプロセスマイニング 図5
  • 特表-マルチインスタンスプロセスのためのプロセスマイニング 図6
  • 特表-マルチインスタンスプロセスのためのプロセスマイニング 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-21
(54)【発明の名称】マルチインスタンスプロセスのためのプロセスマイニング
(51)【国際特許分類】
   G06F 11/34 20060101AFI20231214BHJP
【FI】
G06F11/34 176
G06F11/34 104
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021572415
(86)(22)【出願日】2021-09-21
(85)【翻訳文提出日】2022-02-04
(86)【国際出願番号】 US2021071539
(87)【国際公開番号】W WO2022126039
(87)【国際公開日】2022-06-16
(31)【優先権主張番号】17/119,987
(32)【優先日】2020-12-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520262319
【氏名又は名称】ユーアイパス,インコーポレイテッド
【氏名又は名称原語表記】UiPath,Inc.
【住所又は居所原語表記】1 Vanderbilt Avenue, 60th Floor, New York, NY 10017, United States of America
(74)【代理人】
【識別番号】100180781
【弁理士】
【氏名又は名称】安達 友和
(74)【代理人】
【識別番号】100182903
【弁理士】
【氏名又は名称】福田 武慶
(72)【発明者】
【氏名】スチープンス,ローランド ヨハナス
(72)【発明者】
【氏名】ティーウェン,ロブ マシュー アンナ
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA23
5B042MA08
5B042MA11
5B042MA14
5B042MC35
5B042MC40
5B042NN08
(57)【要約】
1つまたは複数のマルチインスタンスサブプロセスを含むマルチインスタンスプロセスに対してプロセスマイニングを実行するためのシステムおよび方法が提供される。1つまたは複数のマルチインスタンスサブプロセスのそれぞれのイベントを単一のアクティビティに折り畳むことによって、マルチインスタンスプロセスのイベントログはメインログと1つまたは複数のサブログとに分割される。メインログおよび1つまたは複数のサブログの各々についてプロセスグラフが生成される。生成されたプロセスグラフは、結合されたプロセスグラフに結合される。結合されたプロセスグラフが出力される。

【特許請求の範囲】
【請求項1】
1つまたは複数のマルチインスタンスサブプロセスを含むマルチインスタンスプロセスに対してプロセスマイニングを実行するためのコンピュータ実装方法であって、前記方法は、
前記1つまたは複数のマルチインスタンスサブプロセスの各々のイベントを単一のアクティビティに折り畳むことによって、前記マルチインスタンスプロセスのイベントログをメインログおよび1つもしくは複数のサブログに分割するステップと、
前記メインログおよび前記1つもしくは複数のサブログの各々についてプロセスグラフを生成するステップと、
前記生成されたプロセスグラフを結合されたプロセスグラフに結合するステップと、
前記結合されたプロセスグラフを出力するステップと、を含む、コンピュータ実装方法。
【請求項2】
前記1つまたは複数のサブログの各々は、前記1つまたは複数のマルチインスタンスサブプロセスのそれぞれ1つに対応する、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記イベントログをメインログと1つまたは複数のサブログとに分割するステップは、
前記マルチインスタンスプロセスのそれぞれの階層レベルごとに、前記マルチインスタンスプロセスの前記それぞれの階層レベルよりも高い階層レベルに対応するイベントを前記イベントログから除外するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記マルチインスタンスプロセスの前記それぞれの階層レベルよりも高い階層レベルに対応するイベントを前記イベントログから除外するステップは、
サブプロセス識別子に基づいて前記イベントログをフィルタリングするステップを含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記生成されたプロセスグラフを結合されたプロセスグラフに結合するステップは、
前記1つまたは複数のマルチインスタンスサブプロセスのうちの特定の1つに対応するサブログについて生成された前記プロセスグラフを、前記メインログについて生成された前記プロセスグラフに挿入するステップであって、
前記メインログに対して生成された前記プロセスグラフ内の前記特定のマルチインスタンスサブプロセスを、開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードで置き換えるステップと、
前記特定のマルチインスタンスサブプロセスに対応する前記サブログについて生成された前記プロセスグラフ内の開始ノードおよび終了ノードを、開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードでそれぞれ置き換えるステップと、
前記特定のマルチインスタンスサブプロセスに対応する前記サブログについて生成された前記プロセスグラフの前記開始マルチインスタンスサブプロセスノードおよび前記終了マルチインスタンスサブプロセスノードを、それぞれ前記メインログについて生成された前記プロセスグラフの前記開始マルチインスタンスサブプロセスノードおよび前記終了マルチインスタンスサブプロセスノードに挿入するステップと、によって挿入するステップと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記生成されたプロセスグラフを結合されたプロセスグラフに結合するステップは、前記1つまたは複数のマルチインスタンスサブプロセスの各それぞれ1つの終了ノードから前記1つまたは複数のマルチインスタンスサブプロセスの前記それぞれ1つの開始ノードまでループを挿入するステップを含み、前記方法は、
前記結合されたプロセスグラフに基づいて適合性チェックを実行するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記メインログおよび前記1つまたは複数のサブログの各々について生成された前記プロセスグラフのためのグラフレイアウトを別々に計算するステップをさらに含む、
請求項1に記載のコンピュータ実装方法。
【請求項8】
前記結合されたプロセスグラフを出力するステップは、
前記結合されたプロセスグラフを表示するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記マルチインスタンスプロセスは、ロボティックプロセスオートメーションマルチインスタンスプロセスである、請求項1に記載のコンピュータ実装方法。
【請求項10】
1つまたは複数のマルチインスタンスサブプロセスを含むマルチインスタンスプロセスに対してプロセスマイニングを実行するためのコンピュータ命令を格納するメモリと、
前記コンピュータ命令を実行するように構成された少なくとも1つのプロセッサと、を含み、前記コンピュータ命令は、前記少なくとも1つのプロセッサに、
前記1つまたは複数のマルチインスタンスサブプロセスの各々のイベントを単一のアクティビティに折り畳むことによって、前記マルチインスタンスプロセスのイベントログをメインログおよび1つもしくは複数のサブログに分割するステップと、
前記メインログおよび前記1つもしくは複数のサブログの各々についてプロセスグラフを生成するステップと、
前記生成されたプロセスグラフを結合されたプロセスグラフに結合するステップと、
前記結合されたプロセスグラフを出力するステップと、
の動作を実行させるように構成される、装置。
【請求項11】
前記1つまたは複数のサブログの各々は、前記1つまたは複数のマルチインスタンスサブプロセスのそれぞれ1つに対応する、請求項10に記載の装置。
【請求項12】
前記イベントログをメインログと1つまたは複数のサブログとに分割するステップは、
前記マルチインスタンスプロセスのそれぞれの階層レベルごとに、前記マルチインスタンスプロセスの前記それぞれの階層レベルよりも高い階層レベルに対応するイベントを前記イベントログから除外するステップを含む、請求項10に記載の装置。
【請求項13】
前記マルチインスタンスプロセスの前記それぞれの階層レベルよりも高い階層レベルに対応するイベントを前記イベントログから除外するステップは、
サブプロセス識別子に基づいて前記イベントログをフィルタリングするステップを含む、請求項12に記載の装置。
【請求項14】
前記生成されたプロセスグラフを結合されたプロセスグラフに結合するステップは、
前記1つまたは複数のマルチインスタンスサブプロセスのうちの特定の1つに対応するサブログについて生成された前記プロセスグラフを、前記メインログについて生成された前記プロセスグラフに挿入するステップであって、
前記メインログに対して生成された前記プロセスグラフ内の前記特定のマルチインスタンスサブプロセスを、開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードで置き換えるステップと、
前記特定のマルチインスタンスサブプロセスに対応する前記サブログについて生成された前記プロセスグラフ内の開始ノードおよび終了ノードを、開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードでそれぞれ置き換えるステップと、
前記特定のマルチインスタンスサブプロセスに対応する前記サブログについて生成された前記プロセスグラフの前記開始マルチインスタンスサブプロセスノードおよび前記終了マルチインスタンスサブプロセスノードを、それぞれ前記メインログについて生成された前記プロセスグラフの前記開始マルチインスタンスサブプロセスノードおよび前記終了マルチインスタンスサブプロセスノードに挿入するステップと、
によって挿入するステップを含む、請求項10に記載の装置。
【請求項15】
1つまたは複数のマルチインスタンスサブプロセスを含むマルチインスタンスプロセスに対してプロセスマイニングを実行するための非一時的コンピュータ可読媒体上に格納されたコンピュータプログラムであって、前記コンピュータプログラムは、少なくとも1つのプロセッサに、
前記1つまたは複数のマルチインスタンスサブプロセスの各々のイベントを単一のアクティビティに折り畳むことによって、前記マルチインスタンスプロセスのイベントログをメインログおよび1つもしくは複数のサブログに分割するステップと、
前記メインログおよび前記1つもしくは複数のサブログの各々についてプロセスグラフを生成するステップと、
前記生成されたプロセスグラフを結合されたプロセスグラフに結合するステップと、
前記結合されたプロセスグラフを出力するステップと、を含む動作を実行させるように構成される、コンピュータプログラム。
【請求項16】
前記1つまたは複数のサブログの各々は、前記1つまたは複数のマルチインスタンスサブプロセスのそれぞれ1つに対応する、請求項15に記載のコンピュータプログラム。
【請求項17】
前記生成されたプロセスグラフを結合されたプロセスグラフに結合するステップは、前記1つまたは複数のマルチインスタンスサブプロセスの各それぞれ1つの終了ノードから前記1つまたは複数のマルチインスタンスサブプロセスの前記それぞれ1つの開始ノードまでループを挿入するステップを含み、前記動作は、
前記結合されたプロセスグラフに基づいて適合性チェックを実行するステップをさらに含む、請求項15に記載のコンピュータプログラム。
【請求項18】
前記動作は、
前記メインログおよび前記1つもしくは複数のサブログの各々について生成された前記プロセスグラフのためのグラフレイアウトを別々に計算するステップをさらに含む、請求項15に記載のコンピュータプログラム。
【請求項19】
前記結合されたプロセスグラフを出力するステップは、
前記結合されたプロセスグラフを表示するステップを含む、請求項15に記載のコンピュータプログラム。
【請求項20】
前記マルチインスタンスプロセスは、ロボティックプロセスオートメーションマルチインスタンスプロセスである、請求項15に記載のコンピュータプログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、プロセスマイニングに関し、より詳細には、マルチインスタンスプロセスのためのプロセスマイニングに関する。
【背景技術】
【0002】
プロセスは、様々なサービスを提供するために1つまたは複数のコンピュータによって実行される一連のアクティビティで構成される。多くの場合、プロセスは1つまたは複数のマルチインスタンスサブプロセスを含むことができる。マルチインスタンスサブプロセスは、プロセスの各実行中に並列に複数のインスタンスとして実行されるサブプロセスである。従来のプロセスマイニング技術は、マルチインスタンスサブプロセスの異なるインスタンスを区別することができず、したがって、マルチインスタンスサブプロセスを含むプロセスに適用するのに適していない。例えば、従来のプロセスマイニング技術は、マルチインスタンスサブプロセスを単一のインスタンスアクティビティとして表すプロセスグラフを誤って生成する。
【発明の概要】
【0003】
1つまたは複数の実施形態によれば、1つまたは複数のマルチインスタンスサブプロセスを含むマルチインスタンスプロセスに対してプロセスマイニングを実行するためのシステムおよび方法が提供される。1つまたは複数のマルチインスタンスサブプロセスのそれぞれのイベントを単一のアクティビティに折り畳むことによって、マルチインスタンスプロセスのイベントログはメインログと1つまたは複数のサブログとに分割される。1つまたは複数のサブログの各々は、1つまたは複数のマルチインスタンスサブプロセスのそれぞれ1つに対応する。メインログおよび1つまたは複数のサブログの各々についてプロセスグラフが生成される。生成されたプロセスグラフは、結合されたプロセスグラフに結合される。結合されたプロセスグラフが出力される。一実施形態では、マルチインスタンスプロセスは、ロボティックプロセスオートメーションマルチインスタンスプロセスである。
【0004】
一実施形態では、イベントログは、マルチインスタンスプロセスのそれぞれの階層レベルごとに、イベントログからマルチインスタンスプロセスのそれぞれの階層レベルよりも高い階層レベルに対応するイベントを除外することによって分割される。サブプロセス識別子に基づいてイベントログをフィルタリングすることによってイベントを除外することができる。
【0005】
一実施形態では、1つまたは複数のマルチインスタンスサブプロセスのうちの特定の1つに対応するサブログについて生成されたプロセスグラフは、メインログについて生成されたプロセスグラフに挿入される。メインログに対して生成されたプロセスグラフ内の特定のマルチインスタンスサブプロセスは、開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードで置き換えられる。特定のマルチインスタンスサブプロセスに対応するサブログについて生成されたプロセスグラフ内の開始ノードおよび終了ノードは、それぞれ開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードで置き換えられる。特定のマルチインスタンスサブプロセスに対応するサブログについて生成されたプロセスグラフの開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードは、それぞれメインログについて生成されたプロセスグラフの開始マルチインスタンスサブプロセスノードおよび終了マルチインスタンスサブプロセスノードに挿入される。
【0006】
一実施形態では、1つまたは複数のマルチインスタンスサブプロセスのそれぞれ1つの終了ノードから1つまたは複数のマルチインスタンスサブプロセスのそれぞれ1つの開始ノードまでのループが挿入される。適合性チェックは、結合されたプロセスグラフに基づいて実行される。
【0007】
一実施形態では、グラフレイアウトは、メインログおよび1つもしくは複数のサブログの各々について生成されたプロセスグラフについて別々に計算される。
【0008】
一実施形態では、結合されたプロセスグラフが表示される。
【0009】
本発明のこれらおよび他の利点は、以下の詳細な説明および添付の図面を参照することによって当業者に明らかになるであろう。
【図面の簡単な説明】
【0010】
図1】1つまたは複数の実施形態による、例示的なマルチインスタンスプロセスを示す図である。
【0011】
図2】1つまたは複数の実施形態による、マルチインスタンスプロセスに対してプロセスマイニングを実行するためのワークフローを示す図である。
【0012】
図3】1つまたは複数の実施形態による、マルチインスタンスプロセスに対してプロセスマイニングを実行するための方法を示す図である。
【0013】
図4】1つまたは複数の実施形態による、図1のマルチインスタンスプロセス100の例示的なイベントログを示す図である。
【0014】
図5】1つまたは複数の実施形態による、図1のマルチインスタンスプロセス100のメインログから生成されたプロセスグラフ、および図1のマルチインスタンスプロセス100のサブログから生成されたプロセスグラフを示す図である。
【0015】
図6】1つまたは複数の実施形態による、図5のメイングラフ502およびサブグラフ504を結合して結合されたプロセスグラフにするためのワークフローを示す図である。
【0016】
図7】本発明の一実施形態によるコンピューティングシステムのブロック図である。
【発明を実施するための形態】
【0017】
プロセスは、例えば、管理アプリケーション(例えば、新しい従業員の新人研修)、支払手続アプリケーション(例えば、購入、請求書管理、および支払いの円滑化)、および情報技術アプリケーション(例えば、発券システム)などのいくつかの異なるアプリケーションにサービスを提供するために1つまたは複数のコンピュータによって実行されるアクティビティの所定のシーケンスである。多くの場合、プロセスは1つまたは複数のマルチインスタンスサブプロセスを含むことができる。サブプロセスは、アクティビティおよび/または他のサブプロセスの集合を表す複合アクティビティである。マルチインスタンスサブプロセスは、プロセスの各実行中に並列に複数のインスタンスとして実行されるサブプロセスである。1つまたは複数のマルチインスタンスサブプロセスを含むプロセスは、本明細書ではマルチインスタンスプロセスと呼ばれる。
【0018】
図1は、1つまたは複数の実施形態による、例示的なマルチインスタンスプロセス100を示す。マルチインスタンスプロセス100は、開始ノード116と終了ノード118との間のアクティビティ102~114を含む。開始ノード120と終了ノード122との間のアクティビティ110~114は、マルチインスタンスプロセス100のマルチインスタンスサブプロセス124を形成する。マルチインスタンスプロセス100の各実行インスタンスについて、マルチインスタンスサブプロセス124の複数のインスタンスが並列に実行される。一実施形態では、マルチインスタンスプロセス100は、アクティビティ102~114が1つまたは複数のRPAロボットによって自動的に実行されるRPA(ロボティックプロセスオートメーション)マルチインスタンスプロセスである。
【0019】
図1に示すように、マルチインスタンスプロセス100は、各アクティビティ102~114がノードとして表され、アクティビティ102~114間の各遷移がノードを接続するエッジとして表される有向グラフとしてモデル化される。アクティビティ間の遷移は、送信元アクティビティから宛先アクティビティへのマルチインスタンスプロセス100の実行を表す。マルチインスタンスプロセス100の実行は、イベントログの形式で記録される。
【0020】
マルチインスタンスプロセス100は、単一のマルチインスタンスサブプロセス124に限定されないことを理解されたい。マルチインスタンスプロセス100は、1つまたは複数の異なるマルチインスタンスサブプロセスを含むことができる。さらに、1つのマルチインスタンスサブプロセスが別のマルチインスタンスサブプロセスを含むように、マルチインスタンスサブプロセスを入れ子にすることができる。
【0021】
本明細書に記載の実施形態は、例えばマルチインスタンスプロセス100などのマルチインスタンスプロセスにプロセスマイニングを適用することを提供する。一実施形態では、マルチインスタンスプロセスのイベントログは、メインログと1つまたは複数のサブログとに分割され、メインログおよび1つまたは複数のサブログの各々についてプロセスグラフが生成され、生成されたプロセスグラフは結合されたプロセスグラフに結合される。有利には、本明細書に記載の実施形態は、マルチインスタンスプロセスに対するプロセスマイニング技術の実行を可能にする。
【0022】
図2は、1つまたは複数の実施形態による、マルチインスタンスプロセスに対してプロセスマイニングを実行するためのワークフロー200を示す。図3は、1つまたは複数の実施形態による、マルチインスタンスプロセスに対してプロセスマイニングを実行するための方法300を示す。引き続き図1を参照しながら、図2および図3を説明する。方法300のステップは、図7のコンピュータ700などの1つまたは複数の適切なコンピューティングデバイスによって実行することができる。プロセス発見を実行するための方法300について説明する。しかしながら、方法300は、例えば、適合性チェック、グラフレイアウトおよび視覚化などの他のプロセスマイニングタスクを実行するように適合されてもよい。
【0023】
ステップ302において、マルチインスタンスプロセスのイベントログが受信される。マルチインスタンスプロセスは、1つまたは複数のマルチインスタンスサブプロセスを含む。一例では、マルチインスタンスプロセスは、図1のマルチインスタンスサブプロセス124を含むマルチインスタンスプロセス100であり、および/またはイベントログは図2のイベントログ202である。マルチインスタンスプロセスは、マルチインスタンスプロセスの全体のプロセスが階層の最上位レベルにあり、マルチインスタンスプロセスの第1のマルチインスタンスサブプロセスが階層の次の下位レベルにあり、第1のマルチインスタンスサブプロセス内にネストされた第2のマルチインスタンスサブプロセスが階層の次の下位レベルにあるなどのように、階層として表されてもよい。例えば、図1では、マルチインスタンスプロセス100の全体的なプロセスは、階層の最上位レベルにあり、マルチインスタンスサブプロセス124は、階層の次の下位レベルにある。
【0024】
イベントログは、マルチインスタンスプロセスの1つまたは複数の実行インスタンスの間に発生するイベントを記録することによって、マルチインスタンスプロセスの1つまたは複数の実行インスタンスの間に維持されてもよい。イベントは、特定の時間および特定の事例におけるアクティビティの実行を指す。プロセス事例識別子(ID)は、事例に対応する、マルチインスタンスプロセスの特定の実行インスタンスを識別する。サブプロセス事例ID(サブID)は、マルチインスタンスサブプロセスの特定の実行インスタンスを識別する。
【0025】
図4は、1つまたは複数の実施形態による、図1のマルチインスタンスプロセス100の例示的なイベントログ400を示す。イベントログ400は、マルチインスタンスプロセス100の3つの実行インスタンスの間に発生したイベントを、イベントログ400内の事例ID0~事例ID2に対応して記録する。図4に示すように、イベントログ400は、各々がイベントに対応する行402と、行402および列404が交差するセルにおいてヘッダ行406で識別されるイベントの属性を各々識別する列404と、を有する表としてフォーマットされる。特に、各行402は、アクティビティ102~112の実行を表すイベント(列404-Bで識別される)、アクティビティ102~112の実行に関連するタイムスタンプ(列404-Cで識別される)、マルチインスタンスプロセス100の実行インスタンスを識別する事例ID(列404-Aで識別される)、およびマルチインスタンスサブプロセス124の実行インスタンスを識別するサブプロセス事例ID(列404-Dで識別される)に関連付けられる。イベントログ400は、任意の適切なフォーマットであってもよく、イベントの他の属性を識別する追加の列404を含んでもよいことを理解されたい。
【0026】
図3のステップ304において、イベントログは、メインログおよび1つまたは複数のサブログに分割される。メインログは、マルチインスタンスプロセスの全体プロセスに対応し、1つまたは複数のサブログの各々は、1つまたは複数のマルチインスタンスサブプロセスのそれぞれに対応する。例えば、図2は、メインログ204とサブログ206-Aおよび206-Bとに分割されたイベントログ202を示す。イベントログを分割するために、マルチインスタンスプロセスのそれぞれの階層レベルごとに、1)それぞれの階層レベルよりも高い階層レベルに対応するより高いレベルのイベントがイベントログから除外され、2)それぞれの階層レベルのマルチインスタンスサブプロセスのそれぞれのイベントが単一の複合イベントに折り畳まれる。メインログおよびサブログは、それぞれ、事例IDおよびサブ事例IDを用いてイベントログから検索される。イベントログを最上位の階層レベル(マルチインスタンスプロセス全体のプロセスを表す)で分割するとメインログとなり、最上位の階層レベルよりも下位の階層レベルで分割するとサブログとなる。
【0027】
より高いレベルのイベントを除外するために、サブプロセス事例IDが事例識別子として使用され、イベントログはサブプロセス事例IDに基づいて効果的にフィルタリングされる。例えば、マルチインスタンスサブプロセス124に対応するサブログは、事例識別子のないイベントが無視されるので、サブプロセスの事例IDがヌル値を有するイベントを除外することによって生成され得る。一例では、図4のイベントログ400では、列404-Cにヌル値を有するイベントが除外される。
【0028】
マルチインスタンスプロセスのサブプロセスを集約するために、サブプロセスの各インスタンスのイベントは単一のアクティビティに折り畳まれる。しかしながら、サブプロセスのイベントを単一のアクティビティに折り畳むことは、サブプロセスのイベントがメインログのどこに挿入される必要があるかに関して何らかの曖昧さをもたらす可能性がある。例えば、図4のイベントログ400では、イベントサブプロセス事例ID サブID=1を見ると、一方のイベントはアクティビティBを伴うイベントの前に発生し、他方のイベントはアクティビティBを伴うイベントの後に発生し、イベントをメインログに挿入する2つの異なる方法をもたらすことが分かる。一実施形態では、サブプロセスのイベントは、すべての可能な有効挿入位置を追跡し、有効挿入位置のうちの1つにランダムに挿入することによってメインログに挿入される。これは、各サブプロセスにおける最初および最後のアクティビティを追跡し、サブプロセスの開始と終了との間に行われるメインプロセスにおけるアクティビティを識別することによって行われる。有効挿入位置は、メインプロセスにおけるアクティビティの前後の位置である。したがって、サブプロセスイベントは、等しい確率で有効位置に挿入される。
【0029】
図3のステップ306において、メインログおよび1つまたは複数のサブログの各々についてプロセスグラフが生成される。例えば、図2では、メインログ204に対してメインモデル208が生成され、サブログ206-Aからサブモデル210-Aが生成され、サブログ206-Bからサブモデル210-Bが生成される。メインログまたはサブログに基づいてプロセスグラフを生成するために、任意の適切なプロセス発見アルゴリズムを使用することができる。
【0030】
図5は、1つまたは複数の実施形態による、図1のマルチインスタンスプロセス100のメインログから生成されたプロセスグラフ502と、図1のマルチインスタンスプロセス100のサブログから生成されたプロセスグラフ504と、を示す。メイングラフ502は、マルチインスタンスプロセス100の全体プロセスを表すマルチインスタンスプロセス100のメインログから生成され、サブグラフ504は、マルチインスタンスサブプロセス124に対応するマルチインスタンスプロセス100のサブログから生成される。図5に示すように、メイングラフ502は、サブプロセス124を折り畳むことによって生成され(より高いレベルのプロセスは存在しない)、サブプロセス504は、アクティビティA102~D108に関連するイベントを除去することによって生成される(マルチインスタンスサブプロセス124のサブプロセスは存在しない)。
【0031】
ステップ308において、生成されたプロセスグラフは、結合されたプロセスグラフに結合される。例えば、図2では、メインモデル208、サブモデル210-A、およびサブモデル210-Bは、モデル212に組み合わされる。生成されたプロセスグラフは一度に2つ結合され、一方のプロセスグラフはサブグラフに対応し、他方のプロセスグラフはメイングラフ(サブグラフが挿入されるべきグラフ)に対応する。サブプロセスがどこで開始および終了するかを識別するために、開始MISPノードと終了MISPノードの2つの新しいノードタイプが導入され、MISPはマルチインスタンスサブプロセスを指す。開始MISPノードおよび終了MISPノードは、それぞれ、マルチインスタンスプロセスの開始および終了を表す。
【0032】
図6は、1つまたは複数の実施形態による、図5のメイングラフ502およびサブグラフ504を結合して結合されたプロセスグラフにするためのワークフロー600を示す。メイングラフ502において、マルチインスタンスサブプロセス124は、グラフ602を生成するために開始MISPノード606および終了MISPノード608に置き換えられる。サブグラフ504では、グラフ604を生成するために、開始ノード116が開始MISPノード610に置き換えられ、終了ノード118が終了MISPノード612に置き換えられる。次いで、サブグラフ604の開始MISPノード610をメイングラフ602の開始MISPノード606に挿入し、サブグラフ604の終了MISPノード612をメイングラフ602の終了MISPノード608に挿入することによって、グラフ610がグラフ602に挿入される。
【0033】
図3のステップ310において、結合されたプロセスグラフが出力される。一実施形態では、プロセスモデルは、例えば、結合されたプロセスグラフをコンピュータシステムのディスプレイデバイスに表示することによって、結合されたプロセスグラフをコンピュータシステムのメモリまたはストレージに記憶することによって、または結合されたプロセスグラフをリモートコンピュータシステムに送信することによって出力することができる。
【0034】
一実施形態では、方法300に基づいて他のプロセスマイニングタスクを実行することができる。そのような他のプロセスマイニングタスクは、例えば、適合性チェック、グラフレイアウトおよび視覚化などを含むことができる。他のプロセスマイニングタスクも考えられる。
【0035】
一実施形態では、方法300は、マルチインスタンスプロセスの適合性チェックを実行するように修正することができる。これにより、マルチインスタンスプロセスのイベントログが受信され(ステップ302)、メインログと1つまたは複数のサブログとに分割される(ステップ304)。しかしながら、マルチインスタンスサブプロセスのイベントを単一のサブプロセスイベントに折り畳むことによる情報の損失を回避するために、各マルチインスタンスサブプロセスは代わりに同じアクティビティで置き換えられる。メインログおよび1つまたは複数のサブログの各々についてのプロセスグラフが生成され(ステップ306)、生成されたプロセスグラフは結合されたプロセスグラフに結合される(ステップ308)。生成されたプロセスグラフを結合するために、サブグラフの開始MISPノードがメイングラフの開始MISPノードに挿入され、サブグラフの終了MISPノードがメイングラフの終了MISPノードに挿入される。しかしながら、加えて、終了MISPノードが結合されたプロセスグラフ内の開始MISPノードにループバックするように、自己ループが追加される。したがって、マルチインスタンスサブプロセスの各インスタンスについてログ内に複数のマルチインスタンスサブプロセスアクティビティを有することの効果。次いで、公知の適合性チェック技術を結合されたプロセスグラフに適用して、適合挙動および不適合挙動を識別することができる。適合挙動は、ログおよび生成されたグラフの両方で発生するイベントを指す。不適合挙動とは、ログ内で発生するが生成されたグラフ内では発生しない事象(ログのみの挙動)、またはグラフ内で発生するがログ内では発生しない事象(モデルのみの挙動)を指す。
【0036】
【0037】
図7は、本発明の一実施形態による、図2および図3に示すものを含む、本明細書に記載の方法、ワークフロー、およびプロセスを実行するように構成されたコンピューティングシステム700を示すブロック図である。いくつかの実施形態では、コンピューティングシステム700は、本明細書に図示および/または記載されたコンピューティングシステムのうちの1つまたは複数であってもよい。コンピューティングシステム700は、情報を通信するためのバス702または他の通信機構と、情報を処理するためにバス702に結合されたプロセッサ704と、を含む。プロセッサ704は、中央処理装置(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらの任意の組み合わせを含む、任意のタイプの汎用または専用プロセッサであってもよい。プロセッサ704はまた、複数の処理コアを有してもよく、コアの少なくともいくつかは、特定の機能を実行するように構成されてもよい。いくつかの実施形態では、複数並列処理が使用されてもよい。
【0038】
コンピューティングシステム700は、プロセッサ704によって実行される情報および命令を格納するためのメモリ706をさらに含む。メモリ706は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気もしくは光ディスクなどの静的ストレージ、または任意の他のタイプの非一時的コンピュータ可読媒体、またはそれらの組み合わせの任意の組み合わせで構成することができる。非一時的コンピュータ可読媒体は、プロセッサ704によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体、またはその両方を含んでもよい。媒体はまた、取り外し可能、取り外し不能、またはその両方であってもよい。
【0039】
さらに、コンピューティングシステム700は、任意の現在存在する、または将来実施される通信規格および/またはプロトコルに従って、無線および/または有線接続を介して通信ネットワークへのアクセスを提供するためのトランシーバなどの通信デバイス708を含む。
【0040】
プロセッサ704は、バス702を介して、ユーザに情報を表示するのに適したディスプレイ710にさらに結合される。ディスプレイ710はまた、タッチディスプレイおよび/または任意の適切な触覚I/Oデバイスとして構成されてもよい。
【0041】
キーボード712およびコンピュータマウス、タッチパッドなどのカーソル制御デバイス714は、ユーザがコンピューティングシステムとインターフェースすることを可能にするためにバス702にさらに結合される。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在しなくてもよく、ユーザは、ディスプレイ710および/またはタッチパッド(図示せず)のみを介してデバイスと対話することができる。入力デバイスの任意のタイプおよび組み合わせを、設計上の選択事項として使用することができる。特定の実施形態では、物理的入力デバイスおよび/またはディスプレイは存在しない。例えば、ユーザは、それと通信する別のコンピューティングシステムを介してコンピューティングシステム700と遠隔で対話することができ、またはコンピューティングシステム700は自律的に動作することができる。
【0042】
メモリ706は、プロセッサ704によって実行されると機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム700のためのオペレーティングシステム716と、本明細書に記載のプロセスまたはその派生物の全部または一部を実行するように構成された1つまたは複数の追加の機能モジュール718と、を含む。
【0043】
当業者は、「システム」が、本発明の範囲から逸脱することなく、サーバ、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、もしくは任意の他の適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上記の機能を「システム」によって実行されるものとして提示することは、本発明の範囲を決して限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図している。実際、本明細書に開示する方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所化された形態および分散された形態で実装されてもよい。
【0044】
本明細書に記載されたシステム特徴のいくつかは、それらの実装の独立性をより具体的に強調するために、モジュールとして提示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他のディスクリートコンポーネントなどの既製の半導体を含むハードウェア回路として実装されてもよい。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスに実装されてもよい。モジュールはまた、様々なタイプのプロセッサによって実行するためのソフトウェアに少なくとも部分的に実装されてもよい。遂行可能コードの識別されたユニットは、例えば、オブジェクト、プロシージャ、または関数として編成することができるコンピュータ命令の1つまたは複数の物理ブロックまたは論理ブロックを含むことができる。それにもかかわらず、識別されたモジュールの遂行可能ファイルは、物理的に共に配置される必要はないが、論理的に共に結合されたときにモジュールを含み、モジュールの記載された目的を達成する異なる場所に格納された異なる命令を含むことができる。さらに、モジュールは、コンピュータ可読媒体に格納されてもよく、それは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/または本発明の範囲から逸脱することなくデータを格納するために使用される任意の他のそのような非一時的コンピュータ可読媒体であってもよい。実際、遂行可能コードのモジュールは、単一の命令、または多くの命令であってもよく、いくつかの異なるコードセグメント、異なるプログラム、およびいくつかのメモリデバイスに分散されてもよい。同様に、動作データは、本明細書ではモジュール内で識別および図示されてもよく、任意の適切な形態で具現化され、任意の適切なタイプのデータ構造内に編成されてもよい。動作データは、単一のデータセットとして収集されてもよく、または異なるストレージデバイスを含む異なる場所に分散されてもよく、少なくとも部分的に、システムまたはネットワーク上の電子信号としてのみ存在してもよい。
【0045】
上記は、本開示の原理を例示しているにすぎない。したがって、当業者は、本明細書に明示的に記載または図示されていないが、本開示の原理を具現化し、その趣旨および範囲内に含まれる様々な構成を考案することができることが理解されよう。さらに、本明細書に列挙されたすべての例および条件付き言語は、主に、読者が本開示の原理および本技術を促進するために本発明者によって寄与された概念を理解するのを助けるための教育目的のためのものにすぎず、そのような具体的に列挙された例および条件に限定されないと解釈されるべきである。さらに、本開示の原理、態様、および実施形態、ならびにその特定の例を列挙する本明細書のすべての記述は、その構造的および機能的均等物の両方を包含することを意図している。さらに、そのような均等物は、現在知られている均等物および将来開発される均等物の両方を含むことが意図される。

図1
図2
図3
図4
図5
図6
図7
【国際調査報告】