(57)【特許請求の範囲】
【請求項１】
複数のサーバ装置およびクライアント装置がネットワークで結ばれたネットワーク情報システム上で構成されたワークプロセス管理装置において、活動情報記憶手段と、活動実行受付手段と、活動実行制御手段と、活動実行手段と、活動手順実行制御手段を各１以上備え、前記活動情報記憶手段は、ワークプロセスのステップを表す単位活動情報とワークプロセス定義を表す活動手順定義情報とを活動内容の包含関係に従って組織化する活動集約情報により関係付けて管理するものであり、前記活動実行受付手段は、前記クライアント装置から活動の実行要求を受け付け該実行要求に対応する活動実行指令を生成して前記活動実行制御手段に入力するものであり、前記活動実行制御手段は、前記活動実行指令を受け取り組織化された前記活動集約情報の包含関係に従って前記単位活動情報または前記活動手順定義情報を選択し選択した前記単位活動情報または前記活動手順定義情報を前記活動実行指令に実行対象として含めて前記活動実行手段または前記活動手順実行制御手段に渡し、また前記活動実行手段に渡した前記活動実行指令に対応する活動の実行結果の成否情報を含む活動実行結果通知を受け取って該活動実行結果通知により活動の失敗を検出した場合に、受け取っている前記活動実行指令に対応する前記活動集約情報に含まれかつ失敗していない前記単位活動情報または前記活動手順定義情報が存在していればその中から失敗を検出した活動の代替となる活動情報を予め定められた優先度に応じて選択し、選択した活動情報を当該実行活動情報として再試行を行ない、代替となる活動情報が選択できない場合には当該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知するものであり、前記活動実行手段は、前記活動実行指令を受け取り活動の実行を要求するユーザと活動の実行を担当するユーザまたは装置との間に接続を確立して活動を行わせ、また入力された前記活動実行指令に対応する活動の実行結果の成否情報を含む前記活動実行結果通知を当該活動実行指令を入力した活動制御手段または活動手順実行制御手段に対して通知するものであり、前記活動手順実行制御手段は、ワークプロセスのステップが単位活動情報であれば前記活動実行手段に活動を行わせ、また前記活動手順定義情報または前記活動集約情報であればそれぞれ再び前記活動手順実行制御手段または前記活動実行制御手段により処理を行わせてワークプロセス定義を実行し、また前記活動実行結果通知により活動の失敗を検出した場合には、当該活動に対応する活動手順記述子を含む活動実行指令について該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知するものであることを特徴とするワークプロセス管理装置。
【請求項２】
複数のサーバ装置および複数のクライアント装置がネットワークで結ばれたネットワーク情報システム上に構築されたワークプロセス管理装置において、活動情報記憶手段と、活動実行受付手段と、活動実行制御手段と、活動実行手段と、活動手順実行制御手段を各１以上備え、前記活動情報記憶手段は、単位活動情報と活動集約情報と活動手順定義情報を記憶し、前記単位活動情報は、前記ネットワーク上の前記クライアント装置または前記サーバ装置へのロケータと、当該ロケータの指示する装置が提供する活動の内容を表す活動内容記述子とを含み、前記活動集約情報は、前記単位活動情報または前記活動集約情報または前記活動手順定義情報のいずれかの活動情報への１以上のリンクロケータと、各々の前記リンクロケータの指示する前記活動情報がそれぞれ含んでいる前記活動内容記述子で表される活動の内容を全て包含する活動の内容を表す活動内容記述子を含み、前記活動手順定義情報は、前記単位活動情報または前記活動集約情報または前記活動手順定義情報のいずれかの活動情報への１以上の活動手順ロケータと、それぞれの前記活動手順ロケータが指示する前記活動情報間に渡る一連の手順を定義する活動手順記述子と、該活動手順記述子による活動の内容を表す活動内容記述子とを含んでおり、前記活動実行受付手段は、前記クライアント装置から実行が要求される活動の内容を表す活動内容記述子を受け付け、該活動内容記述子と該クライアント装置を指示する活動実行指令発行元ロケータとを含む活動実行指令を生成し、前記活動実行制御手段に入力するものであり、前記活動実行制御手段は、前記活動実行指令を受け付け、該活動実行指令に含まれる前記活動内容記述子に適合する活動内容記述子を持つ前記単位活動情報または前記活動手順定義情報を、前記活動情報記憶手段に記憶されている活動集約情報が含むリンクロケータを辿ることで選択し、選択した前記単位活動情報または前記活動手順定義情報を実行活動情報として当該活動実行指令に対して追加し、また単位活動情報を選択した場合には前記活動実行手段に対して当該活動実行指令を入力し、活動手順定義情報を選択した場合には活動手順実行制御手段に対して当該活動実行指令を入力し、また前記活動実行手段に渡した前記活動実行指令に対応する活動の実行結果の成否情報を含む活動実行結果通知を受け取って該活動実行結果通知により活動の失敗を検出した場合に、受け取っている前記活動実行指令に対応する前記活動集約情報に含まれかつ失敗していない前記単位活動情報または前記活動手順定義情報が存在していればその中から失敗を検出した活動の代替となる活動情報を予め定められた優先度に応じて選択し、選択した活動情報当該実行活動情報として再試行を行ない、代替となる活動情報が選択できない場合には当該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知するものであり、前記活動実行手段は、前記活動実行指令を受け付け、該活動実行指令に実行活動情報として含まれる単位活動情報が指示するサーバ装置またはクライアント装置と当該活動実行指令に含まれる活動実行指令発行元ロケータの指示するクライアント装置との間で通信の接続を確立して活動の実行を可能とし、また入力された前記活動実行指令に対応する活動の実行結果の成否情報を含む前記活動実行結果通知を当該活動実行指令を入力した活動制御手段または活動手順実行制御手段に対して通知するものであり、前記活動手順実行制御手段は、前記活動実行指令を受け付け、該活動実行指令に実行活動情報として含まれる活動手順定義情報に含まれている活動手順記述子に従って、当該活動手順定義情報に含まれる活動手順ロケータが指示する活動情報を取得し、当該活動情報が単位活動情報または活動手順定義情報である場合には当該活動情報を実行活動情報として含みさらに当該活動実行指令に含まれる活動実行指令発行元ロケータを含む新たな活動実行指令を生成して該新たな活動実行指令をそれぞれ前記活動実行手段または前記活動手順実行手段に入力し、当該活動情報が活動集約情報である場合には当該活動集約情報に含まれる活動内容記述子を含みさらに当該活動実行指令に含まれる活動実行指令発行元ロケータを含む新たな活動実行指令を生成して該新たな活動実行指令を前記活動実行制御手段に入力し、また前記活動実行結果通知により活動の失敗を検出した場合には、当該活動に対応する活動手順記述子を含む活動実行指令について該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知するものであることを特徴とするワークプロセス管理装置。
【請求項３】
さらに活動情報選択手段を１以上備え、前記活動実行制御手段は、入力された活動実行指令に含まれる活動内容記述子に適合する活動内容記述子を含む単位活動情報または活動手順定義情報を選択する際に、当該活動実行制御手段を指示する活動情報選択指令発行元ロケータと、当該入力された活動実行指令に含まれる活動内容記述子とを含む活動情報選択指令を生成し、前記活動情報選択手段に入力して前記活動情報選択手段により返される活動情報を用いて処理を行ない、前記活動情報選択手段は、前記活動情報選択指令の入力を受け付け、担当範囲の前記活動情報記憶手段上の活動集約情報のみについて該活動集約情報が含むリンクロケータを辿り、当該リンクロケータが担当範囲外の活動情報記憶手段に記憶されている前記単位活動情報または前記活動集約情報または前記活動手順定義情報のいずれかの活動情報を指示している場合には、対応する活動情報記憶手段を担当範囲とする活動情報選択手段に対して当該活動情報選択指令を入力し、また当該活動情報選択指令に含まれる活動内容記述子に適合する活動内容記述子を含んだ前記単位活動情報または前記活動集約情報または前記活動手順定義情報のいずれかの活動情報が見出された場合には当該活動情報選択指令に含まれる活動情報選択指令発行元ロケータが指示する当該活動情報選択指令の発行元に対して見出された当該活動情報を返すことを特徴とする請求項１または請求項２に記載のワークプロセス管理装置。
【請求項４】
さらに、前記クライアント装置から送られる要求に従って単位活動情報または活動集約情報または活動手順定義情報を前記活動情報記憶手段上で追加、削除、変更する活動情報更新手段と、前記活動情報更新手段が前記活動情報記憶手段上の単位活動情報または活動集約情報または活動手順定義情報を追加、削除、変更した場合に全ての活動情報記憶手段に記憶されているどの単位活動情報および活動手順定義情報も少なくとも一以上の活動集約情報からリンクロケータにより指示され、なおかつ、どの活動集約情報に含まれている活動内容記述子も、当該活動集約情報に含まれているリンクロケータが指示している活動情報に含まれている活動内容記述子が表す活動の内容を包含する活動の内容を表すように、活動集約情報間のリンクロケータを再構成する活動情報組織化手段をそれぞれ１以上備えていることを特徴とする請求項１ないし請求項３のいずれか１項に記載のワークプロセス管理装置。
【請求項５】
さらに、１以上の前記活動情報記憶手段に記憶されている前記活動情報を収集し該活動情報が保持している活動内容の類似性に基づくクラスタリングを行なう活動情報クラスタリング手段と、前記活動情報クラスタリング手段が形成するクラスタ毎に新たな活動集約情報を生成して前記活動情報更新手段により当該活動集約情報を登録する活動集約情報生成手段をそれぞれ１以上備えていることを特徴とする請求項４に記載のワークプロセス管理装置。
【請求項６】
さらに、前記クライアント装置から送られる要求に従って単位活動情報または活動集約情報または活動手順定義情報を前記活動情報記憶手段上で追加、削除、変更する活動情報更新手段と、前記活動情報更新手段が前記活動情報記憶手段上の活動情報を追加、削除、変更した場合に全ての活動情報記憶手段に記憶されているどの単位活動情報および活動手順定義情報も少なくとも一以上の活動集約情報からリンクロケータにより指示され、なおかつ、どの活動集約情報に含まれている活動内容記述子も、当該活動集約情報に含まれているリンクロケータが指示している活動情報に含まれている活動内容記述子が表す活動の内容を包含する活動の内容を表すように、活動集約情報間のリンクロケータを再構成する活動情報組織化手段と、前記活動実行受付手段が出力する活動実行指令を収集し同時に出現する頻度の高い活動内容を検出する共起活動検出手段と、前記共起活動検出手段により検出された同時に出現する頻度の高い活動内容を持つ１以上の活動情報を前記活動情報選択手段により選択し該活動情報の各々を指示する活動手順ロケータと活動手順記述子と活動内容記述子とを含む活動手順定義情報を新たに生成し前記活動情報更新手段により当該活動手順定義情報を登録する活動手順定義情報生成手段とをそれぞれ１以上備えたことを特徴とする請求項３に記載のワークプロセス管理装置。
【請求項７】
前記活動情報記憶手段は、さらに、前記単位活動情報または前記活動集約情報または前記活動手順定義情報を含む活動情報および該活動情報間に対する許可または不許可の条件を表す連携情報を記憶し、前記活動実行制御手段は、前記単位活動情報または前記活動手順定義情報を得るに際して前記連携情報を参照して連携可能な条件が成立した単位活動情報または活動手順定義情報のみを選択することを特徴とする請求項１ないし請求項６のいずれか１項に記載のワークプロセス管理装置。
【請求項８】
前記活動情報記憶手段は、さらに、前記単位活動情報または前記活動集約情報または前記活動手順定義情報を含む活動情報の開示の許可または不許可の条件を表す開示情報を記憶し、前記活動実行制御手段は、前記活動情報に含まれるロケータによって示される活動情報について前記開示情報を参照して開示許可の条件が成立した活動情報について開示することを特徴とする請求項１ないし請求項７のいずれか１項に記載のワークプロセス管理装置。
【請求項９】
複数のサーバ装置およびクライアント装置がネットワークで結ばれたネットワーク情報システム上で構成されたワークプロセスの管理を行うワークプロセス管理方法において、ワークプロセスのステップを表す単位活動情報とワークプロセス定義を表す活動手順定義情報とを活動情報記憶手段が活動内容の包含関係に従って組織化する活動集約情報により関係付けて管理しており、前記クライアント装置から活動の実行要求を活動実行受付手段が受け付け、該実行要求に対応する活動実行指令を生成して活動実行制御手段に入力し、前記活動実行指令を前記活動実行制御手段が受け取り、組織化された前記活動集約情報の包含関係に従って前記単位活動情報または前記活動手順定義情報を選択して、選択した前記単位活動情報または前記活動手順定義情報を前記活動実行指令に実行対象として含めて該活動実行指令を活動実行手段または活動手順実行制御手段に渡し、前記活動実行指令を前記活動実行手段が受け取った場合には、活動の実行を要求するユーザと活動の実行を担当するユーザまたは装置との間に接続を確立して活動を行わせ、入力された前記活動実行指令に対応する活動の実行結果の成否情報を含む前記活動実行結果通知を当該活動実行指令を入力した活動制御手段または活動手順実行制御手段に対して通知し、前記活動実行指令を前記活動手順実行制御手段が受け取った場合にはワークプロセスのステップが単位活動情報であれば前記活動実行手段に活動を行わせ、また前記活動手順定義情報または前記活動集約情報であればそれぞれ再び前記活動手順実行制御手段または前記活動実行制御手段により処理を行わせてワークプロセス定義を実行し、また前記活動実行結果通知により活動の失敗を検出した場合には、当該活動に対応する活動手順記述子を含む活動実行指令について該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知し、前記活動実行制御手段が前記活動実行手段に渡した前記活動実行指令に対応する活動の実行結果の成否情報を含む活動実行結果通知を受け取って該活動実行結果通知により活動の失敗を検出した場合に、受け取っている前記活動実行指令に対応する前記活動集約情報に含まれかつ失敗していない前記単位活動情報または前記活動手順定義情報が存在していればその中から失敗を検出した活動の代替となる活動情報を予め定められた優先度に応じて選択し、選択した活動情報当該実行活動情報として再試行を行ない、代替となる活動情報が選択できない場合には当該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知することを特徴とするワークプロセス管理方法。
【請求項１０】
複数のサーバ装置およびクライアント装置がネットワークで結ばれたネットワーク情報システム上で構成されたワークプロセスの管理を行うワークプロセス管理方法において、前記ネットワーク上の前記クライアント装置または前記サーバ装置へのロケータ及び当該ロケータの指示する装置が提供する活動の内容を表す活動内容記述子とを含む単位活動情報と、前記単位活動情報または前記活動集約情報または前記活動手順定義情報のいずれかの活動情報への１以上のリンクロケータ及び各々の前記リンクロケータの指示する前記活動情報がそれぞれ含んでいる前記活動内容記述子で表される活動の内容を全て包含する活動の内容を表す活動内容記述子を含む活動集約情報と、前記単位活動情報または前記活動集約情報または前記活動手順定義情報のいずれかの活動情報への１以上の活動手順ロケータ及びそれぞれの前記活動手順ロケータが指示する前記活動情報間に渡る一連の手順を定義する活動手順記述子及び該活動手順記述子による活動の内容を表す活動内容記述子とを含む活動手順定義情報とを、活動情報記憶手段が活動内容の包含関係に従って組織化する活動集約情報により関係付けて管理しており、前記クライアント装置から実行が要求される活動の内容を表す活動内容記述子を活動実行受付手段が受け付け、該活動内容記述子と該クライアント装置を指示する活動実行指令発行元ロケータとを含む活動実行指令を生成して活動実行制御手段に入力し、前記活動実行指令を前記活動実行制御手段が受け取り、該活動実行指令に含まれる前記活動内容記述子に適合する活動内容記述子を持つ前記単位活動情報または前記活動手順定義情報を、前記活動情報記憶手段に記憶されている活動集約情報が含むリンクロケータを辿ることで選択し、選択した前記単位活動情報または前記活動手順定義情報を実行活動情報として当該活動実行指令に対して追加し、また単位活動情報を選択した場合には前記活動実行手段に対して当該活動実行指令を入力し、活動手順定義情報を選択した場合には活動手順実行制御手段に対して当該活動実行指令を入力し、前記活動実行指令を前記活動実行手段が受け取った場合には、該活動実行指令に実行活動情報として含まれる単位活動情報が指示するサーバ装置またはクライアント装置と当該活動実行指令に含まれる活動実行指令発行元ロケータの指示するクライアント装置との間で通信の接続を確立して活動の実行を可能とし、入力された前記活動実行指令に対応する活動の実行結果の成否情報を含む前記活動実行結果通知を当該活動実行指令を入力した活動制御手段または活動手順実行制御手段に対して通知し、前記活動実行指令を前記活動手順実行制御手段が受け取った場合には該活動実行指令に実行活動情報として含まれる活動手順定義情報に含まれている活動手順記述子に従って、当該活動手順定義情報に含まれる活動手順ロケータが指示する活動情報を取得し、当該活動情報が単位活動情報または活動手順定義情報である場合には当該活動情報を実行活動情報として含みさらに当該活動実行指令に含まれる活動実行指令発行元ロケータを含む新たな活動実行指令を生成して該新たな活動実行指令をそれぞれ前記活動実行手段または前記活動手順実行手段に入力し、当該活動情報が活動集約情報である場合には当該活動集約情報に含まれる活動内容記述子を含みさらに当該活動実行指令に含まれる活動実行指令発行元ロケータを含む新たな活動実行指令を生成して該新たな活動実行指令を前記活動実行制御手段に入力し、また前記活動実行結果通知により活動の失敗を検出した場合には、当該活動に対応する活動手順記述子を含む活動実行指令について該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知し、前記活動実行制御手段が前記活動実行手段に渡した前記活動実行指令に対応する活動の実行結果の成否情報を含む活動実行結果通知を受け取って該活動実行結果通知により活動の失敗を検出した場合に、受け取っている前記活動実行指令に対応する前記活動集約情報に含まれかつ失敗していない前記単位活動情報または前記活動手順定義情報が存在していればその中から失敗を検出した活動の代替となる活動情報を予め定められた優先度に応じて選択し、選択した活動情報当該実行活動情報として再試行を行ない、代替となる活動情報が選択できない場合には当該活動実行指令を入力した活動実行受付手段または活動手順実行制御手段に対して活動の失敗情報を含む活動実行結果通知を通知することを特徴とするワークプロセス管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のサーバ装置および複数のクライアント装置などの計算機システムがネットワークで結ばれたネットワーク情報システムにおいて、活動およびワークプロセス情報を分散的に管理し、また、分散的に管理されている活動およびワークプロセス情報を利用してワークフロー管理を行なうワークプロセス管理装置及びワークプロセス管理方法に関するものである。
【０００２】
【従来の技術】
従来のワークフロー管理システムは、１つの仕事における一連の仕事の流れをワークプロセス定義という形に予め明確に定義しておく。そして仕事を実行するときは、そのワークプロセス定義に従って、仕事の割り当てや電子文書の受け渡しを自動的に行えるようになっている。
【０００３】
しかし実際の仕事の過程では、書類の不備や、担当者の欠席など、不測の事態が頻繁に生じる。従来のワークフロー管理システムにおいて、このような仕事の過程で生じる不測の事態に対処するには、それらの不測の事態も予めワークプロセス定義に含める必要があった。そのため、事前に予測できない事態に対処するのは困難であり、また、仕事の運用中に定義を変えることができないなど、運用上の柔軟性に問題があった。
【０００４】
このような問題に対処するために、ワークプロセス定義を事前に完全に定義するのではなく、部分的には未定義にしておき、仕事を実行する時点で、その未定義部を具体化することにより、運用上の柔軟性を持たせるための技術が存在する。例えばL.Nastansky,W.Hilpert ，“The GroupFlow System:A Scalable Approach to Workflow Management between Cooperation and Automation”，University of Paderborn ，1994.2に記載されているシステムは、半構造化ワークプロセス定義に基づいたシステムである。これは、
（１）仕事の手順の一部を、複数のユーザからなる協調作業の場として定義することが出来る、
（２）仕事の手順の一部を複数のユーザが担当可能にし、実行時に担当者を選択することができる、
（３）仕事の手順の一部に対し、例外的な事態に応じて部分的に修正を加えることができる、
という特徴を持っている。さらに、仕事の手順の各ステップを複数まとめて、より抽象的な１つのステップとして要約した形で表示する機能も持っている。
【０００５】
また、特開平９−２３７２９２号公報に記載されているシステムは、仕事の各手順を同一詳細度で定義するのではなく、抽象的なステップを展開していく形で段階的に詳細化して予め定義できるようにしている。同様に、特開平９−２４５０９２号公報に記載されているシステムでは、部分的に定義されたワークフローをグループの形でまとめ、それらのグループの間でワークフローを定義できるようにしている。両文献とも、ワークプロセスの実行時には、まだワークプロセスの実行が及んでいない定義は修正が可能であるようにしている。
【０００６】
特開平１０−１１１８８８号公報，特開平１０−１７７６０８号公報に記載されているシステムでは、部門間に渡るメインとなるワークプロセス定義と、部門内で切り替え可能な複数のサブのワークフローを有している。業務の性質によって実行時に部門内でのサブのワークフローを切り替えて対応することにより、様々な業務に対応することができる。
【０００７】
特開平８−２２１４７５号公報，特開平８−２２１４７６号公報に記載されているシステムは、部門ごとに定義されたワークフローを、「パブリックフロー」として公開することにより、他部門からも利用可能とするものである。
【０００８】
特開平８−１６１３９３号公報に記載されているシステムでは、作業を行う計算機に対して作業内容を配布することにより作業を進めるものである。このシステムでは、作業内容の変更および再配布により、ワークプロセスの実行中でもワークプロセスを変更することが可能である。
【０００９】
さらに、米国特許第５，２１２，７７１号明細書に記載されているシステムでは、プロセスを定義する言語に基づいてワークプロセスを段階的にサブプロセスに分解していく形で定義するモデリング手段および定義されたプロセスの正当性を検査手段を備えている。これらの手段を用いて、予め定められた形での階層的なワークプロセスを定義することができる。
【００１０】
ここまで挙げた従来の技術では、それまで予め同一の詳細度で定義しなければならなかったワークプロセス定義に対して、階層定義やグループ化定義を導入することによって、定義をより柔軟に行うことができる。また、ワークプロセスの実行中に定義を変更する場合の影響を、階層やグループに局所化することができるようになっている。そのため、ワークプロセスを構成する各ステップとして、階層やグループといった抽象的な形態を利用することができる。これによって、ワークプロセスの実行時に、各ステップの機能を達成できる形であれば、ワークプロセスの実行中に各ステップの内部の変更や候補の選択などを行いながら仕事を遂行することが可能となった。
【００１１】
これらの従来の技術では、ワークプロセスの定義者が手動で局所的な変更を行うか、部門内などの事前に定義された範囲内でのみ自動的にサブワークフローの切り替えを行っている。そのため従来のシステムでは、管理単位が複数あり、異なる管理単位を越えて運用することはできなかった。このことは、従来の技術では、システム全体で見ると、各ステップの内部の変更や候補の選択の可能性が例えば別の部門に存在していても、それらが十分活用できないことを意味している。また、システムの規模が大きくなるほど、このような潜在的に利用可能なワークプロセスの活用損失が増大する。
【００１２】
例えば上述の特開平８−２２１４７５号公報や特開平８−２２１４７６号公報においては、「パブリックフロー」という形で部門内のワークプロセスを部門外からも利用可能にする機構を導入し、複数の管理単位の間でも相互に運用を行えるような技術を提供している。しかし、どの部門にどんなワークプロセスが存在するか把握できず、やはり、システムの規模が大きくなると、潜在的に利用可能なワークプロセスを十分に活用できなくなってしまう。
【００１３】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、システム全体で統一的にワークプロセス情報の管理を行うことにより、大規模かつ多数の活動が出現、消滅する動的な環境下で利用でき、さらに、そのような環境によりもたらされるワークプロセス情報の多様性を十分に活用することで、実行時の例外的な事態に広く対応可能なワークプロセス管理装置及びワークプロセス管理方法を提供することを目的とするものである。
【００１４】
【課題を解決するための手段】
本発明では、複数のサーバ装置およびクライアント装置がネットワークで結ばれたネットワーク情報システム上で構成されたワークプロセス管理装置において、活動に関する情報を記憶する活動情報記憶手段と、活動の実行制御に関わる活動実行受付手段と、活動実行制御手段と、活動実行手段と、活動手順実行制御手段を、各１以上備えている。
【００１８】
活動情報記憶手段は、ワークプロセスのステップを表す単位活動情報と、ワークプロセス定義を表す活動手順定義情報とを、両情報および活動集約情報自身を活動内容の包含関係に従って組織化する活動集約情報により関係付けて管理する。またその関係付けは、活動情報が有するロケータ、活動集約情報が有するリンクロケータ、活動手順定義情報が有する活動手順ロケータという論理的な位置情報によりなされるため、ネットワークを経て分散的に管理することができる。
【００１９】
活動の実行を要求するユーザは、クライアント装置を通して活動実行受付手段に対して活動の実行要求を入力する。活動実行受付手段は要求に対応する活動実行指令を生成して、これを活動実行制御手段に渡す。活動実行制御手段は、活動集約情報の包含関係に従って単位活動情報または活動手順定義情報を選択して、それらの情報を活動実行指令に実行対象として含め、それぞれ、活動実行手段、活動手順実行制御手段に渡す。活動実行手段は、活動の実行を要求するユーザと、活動の実行を担当するユーザまたは装置との間に接続を確立して活動を行わせる。また活動手順実行制御手段は、ワークプロセス定義の実行であり、ワークプロセスのステップが単位活動情報であれば、活動実行手段により活動を行わせる。またワークプロセスのステップが活動手順定義情報または活動集約情報であれば、それぞれ再び活動手順実行制御手段または活動実行手段により処理される。これらの手段により、実行時におけるワークプロセスの動的な組み換えを伴うワークプロセスを、システムが管理する大局的な規模で実行することができる。
【００２０】
本発明では、上述のように、ワークプロセスに関する情報を分散管理することができるので、まず大規模なシステムにも対応することができる。さらに、その分散管理されたワークプロセスに関する情報を、その活動の内容の包含関係によって階層的に組織化して管理する形態を基盤としている。
【００２１】
従来のシステムでの階層管理では、予めワークプロセス定義者が定めた固定的な展開関係にそってのみ階層管理していたが、本発明はワークプロセスの各ステップの提供する機能そのものをもとに、システムが自動的に階層管理を行う。この構成により、システムが管理する大局的な管理単位が一つとなるため、従来のシステムのようにワークプロセスの定義者が管理する範囲や部門といった局所的な管理単位間での相互運用が困難であるという問題は解消される。また、論理的には大局的な管理単位が一つであっても、物理的にはネットワーク上で分散的に管理することができるので、システムの規模が大きくなっても、ある１つの装置に負荷が集中したり、多量の記憶領域を使うという問題が発生しないように構成することができる。
【００２２】
そして、ワークプロセスの実行時には、システムは階層管理しているワークプロセスを再帰下降探索し、実行時にワークフローやその各ステップを選択するという動的なワークフローの実行管理を行なう。これにより、従来のシステムのようにワークプロセスの定義者が管理する範囲や部門といった局所的な管理単位でのワークプロセスの実行時修正にとどまらず、システム全体の大局的な範囲でのワークプロセスの実行時修正が可能となる。
【００２３】
本発明の構成として、さらに、活動実行制御手段が活動実行手段から告知される活動の実行状況の成否を見て、失敗時には自動的に代替活動を選択してワークプロセスの実行を維持することを特徴としている。
【００２４】
また、上述のように分散して管理している活動情報を、それぞれの担当範囲内で選択する活動情報選択手段を配置し、活動実行制御手段が活動情報を選択する際に活動情報選択手段を用いるように構成することができる。これによって、活動情報記憶手段に近接して活動情報の選択処理を行なうことができ、さらに処理の分散化を図ることが可能になり、ネットワークの有効利用により処理速度を向上させることができる。
【００２５】
さらに、活動情報更新手段および活動情報組織化手段を付加し、活動情報記憶手段に記憶されている単位活動情報または活動集約情報または活動手順定義情報を追加、削除、変更するとともに、各活動情報間のリンクの再構成を行うことができる。これにより、新たなワークプロセスやステップの登録、既存のワークプロセスやステップの修正や取り消し、階層的に組織化された構造の変更を行うことができる。
【００２６】
さらに、活動情報クラスタリング手段および活動集約情報生成手段を付加し、既存の各活動情報を収集してそれらのクラスタリングによる類似性を検出し、クラスタリング結果をもとにして新たな活動集約情報を自動的に生成し、登録することができる。これにより、既存の各活動情報に対する新たな階層が得られ、ワークプロセス実行における自由度を向上させることができる。
【００２７】
さらに、共起活動検出手段および活動手順定義情報生成手段を付加し、ユーザの要求により生成された活動実行指令を収集し、それらに含まれる活動内容で共起関係にある活動内容を検出し、この情報をもとに、新たな活動手順定義情報を生成、登録することができる。これにより、異種の活動でもセットにして行ってほしいという活動利用者の間の潜在的なニーズを、活動手順定義情報という形で取り出し、再利用可能な状態にすることができる。
【００２８】
さらに、活動情報記憶手段に活動情報および活動情報間に対する許可／不許可の条件を表す連携情報をさらに記憶させることができる。これによって、ワークプロセスの実行時に、自動的に選択されるステップを制約することができ、業務の受渡しが約束されている正規の連携のみを利用できるようになる。
【００２９】
さらに、活動情報記憶手段に活動情報の開示の許可／不許可の条件を表す開示情報をさらに記憶させることができる。これによって、ワークプロセスの実行を依頼したユーザに対して、実行状況を部分的に非開示扱いにすることができ、異なる会社や異なる部門をまたがってワークプロセスの連携を行うような場合に、各会社や部門内部で秘密にしておきたい業務内容を秘匿できるようになる。
【００３０】
【発明の実施の形態】
図１は、本発明のワークプロセス管理装置の第１の実施の形態を含むシステム構成図である。図中、１はネットワーク、１１，１２はクライアント装置、２１〜２８はサーバ装置、３１〜４０は通信部、４１，７１は活動実行受付部、４２，７２は活動実行制御部、４３，７３は活動手順実行制御部、５１，７４は活動実行部、５２，５３は活動情報選択部、６１，８１は活動情報記憶部、６２，８２は活動情報更新部、６３，８３は活動情報組織化部である。なお、図１に示したシステム構成では、サーバ装置およびクライアント装置を複数備えたネットワーク情報システムにおいて、複数のサーバ装置に渡って本発明のワークプロセス管理装置の各構成要素を分散配置した形態の分散処理システムとして構成した例を示している。
【００３１】
図１に示したシステムでは、ネットワーク１に複数のサーバ装置２１〜２８，…およびクライアント装置１１，１２，…が接続されている。サーバ装置２１は何らかの活動を行う装置であるものとする。サーバ装置２２〜２８は、本発明のワークプロセス管理装置の第１の実施の形態における構成要素を分散して備えた装置である。各クライアント装置１１，１２，…および各サーバ装置２１〜２８，…は、それぞれ通信部３１〜４０，…を備え、この通信部３１〜４０，…を用いてネットワーク１を介した協調動作を行なうことができる。特に、この例では、各サーバ装置２２〜２８に配置された本発明のワークプロセス管理装置の第１の実施の形態における構成要素も、通信部３４〜４０によりネットワーク１を介して連携動作を行なう構成になっている。もちろん、単一のサーバ装置に本発明のワークプロセス管理装置の第１の実施の形態における構成要素を集中的に配置し、通信部３４〜４０を用いることなく連携を行わせる構成をとってもかまわない。また、本発明のワークプロセス管理装置の第１の実施の形態における構成要素を分散させる際にいずれの構成要素をどのサーバ装置に分散させるか、および、各構成要素の数なども任意である。さらに、ネットワーク１に接続されている装置も、図１に示した構成に限られるものではなく、さらに多くのネットワーク機器が接続されていてよい。
【００３２】
サーバ装置２５，２８は、それぞれ、通信部３７，４０を有するとともに、活動情報記憶部６１，８１、活動情報更新部６２，８２、活動情報組織化部６３，８３を有している。活動情報記憶部６１，８１は、ワークプロセスのステップを表す単位活動情報と、ワークプロセス定義を表す活動手順定義情報とを、活動内容の包含関係に従って組織化する活動集約情報により関係付けて管理する。以下の説明では、単位活動情報と活動手順定義情報と活動集約情報をまとめて活動情報と呼ぶことがある。各情報については後述する。活動情報更新部６２，８２は、クライアント装置１１，１２から送られてくる要求に従って、活動情報を活動情報記憶部６１，８１上で追加、削除、変更する。また、活動情報組織化部６３，８３は、活動情報更新部６２，８２が活動情報記憶部６１，８１上の活動情報を追加、削除、変更した場合に、全ての活動情報記憶部６１および８１に記憶されているどの単位活動情報および活動手順定義情報も少なくとも１以上の活動集約情報からロケータにより指示され、なおかつ、どの活動集約情報に含まれている活動内容記述子も、当該活動集約情報に含まれているロケータが指示している活動情報に含まれている活動内容記述子が表す活動の内容を包含する活動の内容を表すように、活動集約情報間のロケータを再構成する。なおこの明細書では、ある活動内容が別の活動内容を包含すると表現した場合、両者が一致する場合も含んでいる。
【００３３】
サーバ装置２２は、通信部３４とともに、活動実行受付部４１、活動実行制御部４２、活動手順実行制御部４３を有している。同様に、サーバ装置２７は、通信部３９と、活動実行受付部７１、活動実行制御部７２、活動手順実行制御部７３を有しているとともに、活動実行部７４を有している。活動実行受付部４１，７１は、通信部３４，３９を介してクライアント装置１１や１２から送られてくる活動の実行要求を受け付け、その実行要求に対応する活動実行指令を生成して、活動実行制御部４２，７２に入力する。活動実行制御部４２，７２は、活動実行指令を受け取り、組織化された活動集約情報の包含関係に従って単位活動情報または活動手順定義情報などの活動情報を選択し、選択した活動情報を活動実行指令に実行対象として含める。活動情報の選択の際には、活動情報選択部５２，５３を利用することができる。そして、選択した活動情報が単位活動情報なら、その活動実行指令を活動実行部５１や活動実行部７４に渡す。また、選択した活動情報が活動手順定義情報であれば、その活動実行指令を活動手順実行制御部４３，７３に渡す。活動手順実行制御部４３，７３は、ワークプロセスのステップが単位活動情報であれば、活動実行部５１，７４に活動を行わせ、また活動手順定義情報または活動集約情報であれば、それぞれ活動手順実行制御部４３，７３または活動実行制御部４２，７２により処理を行わせて、ワークプロセス定義を実行する。活動実行部７４は、活動実行指令を受け取り、活動の実行を要求するユーザと活動の実行を担当するユーザまたは装置との間に接続を確立して、活動を行わせる。
【００３４】
サーバ装置２３は、通信部３５とともに活動実行部５１を有している。活動実行部５１は、ネットワーク１を介して他のサーバ装置から送られてくる活動実行指令を受け取り、上述の活動実行部７４と同様の動作を行う。
【００３５】
サーバ装置２４，２６は、通信部３６，３８とともに、活動情報選択部５２，５３を有している。活動情報選択部５２，５３は、例えば活動実行制御部４２，７２や、他の活動情報選択部などから送られてくる活動情報選択指令を受け付け、担当範囲の活動情報記憶部について、組織化された活動集約情報の包含関係に従って単位活動情報または活動手順定義情報などの活動情報を選択し、選択した活動情報を返す。活動情報の選択時に、担当範囲外の活動情報記憶部に記憶されている単位活動情報または活動集約情報または活動手順定義情報が包含されている場合には、対応する活動情報記憶部を担当範囲とする活動情報選択部に対して、当該活動情報選択指令を渡す。活動情報選択部５２，５３は、このようにして協働して活動情報の選択を行う。
【００３６】
図２は、本発明のワークプロセス管理装置における単位活動情報、活動集約情報、活動手順定義情報のデータ構造の一例の説明図である。１０１〜１０７は単位活動情報、１１１〜１１６は活動集約情報、１２１，１２２は活動手順定義情報である。各活動情報（単位活動情報、活動集約情報、活動手順定義情報）は「活動内容記述子」と、「ロケータ」による他の活動情報へのリンクを持っている。図２に示す各活動情報が持つ「ロケータ」によるリンクは、他の活動情報を指し示す論理的なリンクである。リンクは、ネットワーク上で各活動情報を指し示すことができればどのようなものを用いてもよい。例えば、各活動情報が位置するホスト名と、そのホスト上のリソースの位置を示すパス名の組合せなどを用いることができる。このようなリンクの例としては、例えばワールドワイドウェブ（World Wide Web）で用いられているＵＲＬなどがある。
【００３７】
各活動情報が持つ「活動内容記述子」は、それぞれの活動情報が表す活動の内容を示す記述であり、機械処理可能な何らかの活動記述言語を用いることができる。このような活動記述言語の例としては、例えばＭＩＴにより開発されているＰＩＦなどがある。
【００３８】
各活動集約情報１１１〜１１６は、単位活動情報および活動手順定義情報を、その活動内容の包含関係に従って組織化し、階層構造を形成している。例えば活動集約情報１１１は、ロケータで示されている活動集約情報１１３，１１４，１１５等を下位の階層として有し、これらの活動集約情報１１３，１１４，１１５をまとめた上位の活動内容を含んでいる。同様に、活動集約情報１１３は、ロケータで示されている単位活動情報１０１，１０２と、活動集約情報１１６、活動手順定義情報１２１等を下位の階層として有している。
【００３９】
このように各活動集約情報１１１〜１１６は、単位活動情報および活動手順定義情報の活動内容の包含関係を示している。そのため、各活動集約情報１１１〜１１６が持つ活動内容記述子は、その活動集約情報がロケータによりリンクしている他の活動情報の（活動内容記述子により表されている）活動内容を包含する活動内容が記述されている。例えば、活動集約情報１１３の活動内容記述子には、単位活動情報１０１、単位活動情報１０２、活動手順定義情報１２１、活動集約情報１１６の活動内容を包含する活動内容が記述されている。
【００４０】
各単位活動情報１０１〜１０７は、ロケータによるリンクを１つ持ち、このリンクは、ネットワーク１上のクライアント装置ないしはサーバ装置のいずれかを示している。このリンクにより示されたクライアント装置には、対応する単位活動情報の持つ活動内容記述子に表された活動を行なう作業者がおり、後述する動作に従ってこの作業者は仕事を受け取り、作業を行なうことになる。また、リンクがサーバ装置を示している場合は、作業者はおらず、サーバ装置が自動で何らかの作業を行なうことになる。
【００４１】
各活動手順定義情報１２１，１２２は、活動内容記述子と、ロケータにより指示される論理的なリンクのほかに、活動手順記述子を持つ。活動手順記述子は、論理的にリンクしている他の活動情報間でのワークプロセス定義を含んでいる。
【００４２】
図３、図４は、本発明のワークプロセス管理装置における活動集約情報の階層構造とサーバ装置への配置の一例の説明図である。各活動情報（単位活動情報、活動集約情報、活動手順定義情報）はネットワーク１上の複数の活動情報記憶部に分散的に配置されてよい。図３および図４では、活動情報記憶部が３つある場合の各活動情報の配置例である。ここでは、サーバ装置（甲）、サーバ装置（乙）、サーバ装置（丙）がそれぞれ活動情報記憶部を有しているときの、各活動情報の物理的な配置と論理的なリンク形態の一例を示している。図３に示すように、各活動情報の論理的なリンクの階層構造と物理的な配置を対応させ、特定の階層を特定のサーバ装置に割り当ててもよい。あるいは図４に示すように、論理的なリンクの階層構造と物理的な配置を全く無関係に扱っても構わない。
【００４３】
次に、本発明のワークプロセス管理装置の第１の実施の形態における動作の一例について説明する。なお、以下の説明では活動情報記憶部６１，８１に活動情報がすでに登録されているものとする。
【００４４】
活動実行受付部４１，７１は、通信部３４，３９を介して、クライアント装置１１やクライアント装置１２から、ワークプロセスを利用したいユーザによるワークプロセスの実行要求を受け付ける。この要求には、当該ユーザの求める活動を記した活動内容記述子が含まれている。活動実行受付部４１，７１は、実行要求に含まれている活動内容記述子と、当該クライアント装置を指示する活動実行指令発行元ロケータとを使い、活動実行指令を生成して活動実行制御部４２，７２に入力する。図５は、本発明のワークプロセス管理装置における活動実行指令のデータ構造の一例の説明図である。図５に示すように、活動実行指令は、指令発行元ロケータと、実行活動情報から構成されている。指令発行元ロケータは、この活動実行指令を発行する発行元を指し示す論理的なリンクであり、図２に示す活動情報におけるロケータと同様の情報である。実行活動情報は、実行すべき内容が含まれ、例えばユーザが求める活動を記した活動内容記述子のほか、活動内容記述子を含む単位活動情報、活動手順定義情報などを含めることができる。
【００４５】
活動実行制御部４２，７２は、活動実行指令が入力されると、入力された活動実行指令に含まれている活動内容記述子をもとに、活動情報選択部５２，５３を用いて適切な活動を選択する。さらに、単位活動情報または活動手順定義情報に到達するまでロケータを辿って活動情報間のリンクを下降することにより、実行すべき単位活動情報または活動手順定義情報を具体的に選択する。
【００４６】
図６は、本発明のワークプロセス管理装置の第１の実施の形態における活動実行制御部の動作の一例の概略を示すＰＡＤ図である。Ｓ２０１において、異常終了した活動情報のリストＦを空にしておく。Ｓ２０２において、活動実行指令を受け付け、これを変数ｒに格納する。Ｓ２０３において、変数ｒに格納した活動実行指令内の活動内容記述子に適する活動内容記述子を持つ活動情報を選択して、選択した活動情報を変数ａに格納する。この活動情報の選択には、この活動実行制御部で行ってもよいし、大規模なシステムでは例えば活動選択部５２，５３を用いて行うことができる。
【００４７】
Ｓ２０４において、Ｓ２０３で選択された活動情報からロケータによるリンクを辿って到達できるすべての単位活動情報および活動手順定義情報を取得し、リストＴに格納する。Ｓ２０５において、このリストＴに格納されている単位活動情報および活動手順定義情報について、Ｓ２０６〜Ｓ２１５における活動の実行処理を行う。なお、到達可能な単位活動情報または活動手順定義情報がない場合にはＳ２１６に進み、変数ｒに格納されている活動実行指令の指令発行元ロケータの指す指令発行元に対して異常終了を通知する。
【００４８】
Ｓ２０６において、リストＴから単位活動情報または活動手順定義情報を１つ選択し、変数ａ’に格納する。この単位活動情報または活動手順定義情報の選択は、例えばユーザとの対話、ないしは、活動実行制御部４２，７２が予め定めた優先順序により、選択する単位活動情報または活動手順定義情報を決定する。図７は、ユーザとの対話による単位活動情報または活動手順定義情報の選択方法の一例の概念図である。いま、太い矢印で示した活動集約情報Ａに対応する活動実行指令を受け付けたものとし、この活動集約情報Ａからロケータによるリンクを辿ることで、ハッチングを施した活動単位情報Ｂ，Ｆおよび活動手順定義情報Ｃ，Ｅが取得されたものとする。このとき、取得された活動単位情報Ｂ，Ｆおよび活動手順定義情報Ｃ，Ｅの内容をユーザ・インタフェースに表示する。表示すべきクライアント装置は、変数ｒに格納されている活動実行指令中の指令発行元ロケータによって知ることができる。作業を依頼するユーザは、このユーザ・インターフェース画面を通して、実際に作業を依頼する活動情報を選択することができる。
【００４９】
図８は、活動実行制御部が定めた優先順序による単位活動情報または活動手順定義情報の選択方法の一例の概念図である。図７と同様に、太い矢印で示した活動集約情報Ａに対応する活動実行指令を受け付けたものとし、この活動集約情報Ａからロケータによるリンクを辿ることで、ハッチングを施した活動単位情報Ｂ，Ｆおよび活動手順定義情報Ｃ，Ｅが取得されたものとする。ここでは、各活動単位情報および活動手順定義情報に対して、作業を依頼するユーザ毎に優先度を設定している。優先度は、例えば利用実績や重要度等、各種の情報から設定すればよい。活動実行制御部４２，７２は、取得された活動単位情報Ｂ，Ｆおよび活動手順定義情報Ｃ，Ｅの優先度を参照し、優先度の最も高いものを自動的に選択することができる。
【００５０】
このようにして、単位活動情報または活動手順定義情報が一つ選択されると、図６のＳ２０７において、Ｓ２０６で選択して変数ａ’に格納した単位活動情報または活動手順定義情報を、Ｓ２０２で受け付けた活動実行指令（変数ｒ）の実行活動情報として設定する。この活動実行指令を変数ｒ’に格納する。
【００５１】
Ｓ２０８において、変数ａ’に単位活動情報が格納されているのか、または活動手順定義情報が格納されいるのかを判断する。変数ａ’に単位活動情報が格納されている場合には、Ｓ２０９において、変数ｒ’に格納されている活動実行指令を活動実行部５１や活動実行部７４に受け渡す。また、変数ａ’に活動手順定義情報が格納されている場合には、Ｓ２１０において、変数ｒ’に格納されている活動実行指令を活動手順実行制御部４３や活動手順実行制御部７３に受け渡す。これらの活動実行指令の受け渡しの際に、その活動実行指令がこの処理を行っている活動実行制御部からのものである旨の情報も渡す。
【００５２】
Ｓ２０９において活動実行指令を受け渡した活動実行部５１または活動実行部７４、あるいは、Ｓ２１０において活動実行指令受け渡した活動手順実行制御部４３または活動手順実行制御部７３から、実行結果を受け取る。Ｓ２１１において、受け取った実行結果を参照し、正常終了したか否かを判定する。正常終了した場合には、Ｓ２１２において、変数ｒに格納されている活動実行指令中の指令発行元ロケータが指す活動実行指令の発行元に対して、正常終了を通知する。そして、この活動実行制御の処理を終了する。
【００５３】
受け取った実行結果が異常終了であった場合には、Ｓ２１３において、変数ａ’に格納されている異常終了した単位活動情報または活動手順定義情報を、異常終了した活動情報のリストＦに追加する。そしてＳ２１４において、Ｓ２０４と同様にＳ２０３で選択された活動情報（変数ａ）からロケータによるリンクを辿って到達できるすべての単位活動情報および活動手順定義情報を取得してリストＴを再構成し、Ｓ２１５においてリストＴから異常終了した活動情報のリストＦの内容を除去する。リストＴが空でなければ、Ｓ２０６に戻って異常終了していない他の活動情報が選択され、その活動情報に対して活動実行指令を渡し、活動情報の切り替えを試みる。
【００５４】
すべての切り替え候補がなくなった場合、すなわちリストＴに異常終了していない他の活動情報が残らなくなった場合には、Ｓ２１６において、変数ｒに格納されている活動実行指令中の指令発行元ロケータで示される活動実行指令の発行元に対して異常終了を通知する。
【００５５】
なお、活動実行部，活動手順実行制御部は、活動実行制御部のある装置と同一の装置にあっても、通信部を介して別々の装置にあってもかまわない。図１に示した例では、活動実行部５１が活動実行制御部４２，７２の存在する装置とは別の装置にあり、それ以外は同一の装置に存在する例を示している。
【００５６】
活動の実行時に必要なのは、ワークプロセスを利用したいユーザの使うクライアント装置と、活動を提供するユーザの使うクライアント装置、ないしは、自動的な活動を提供するサーバ装置との間の通信だけである。上述の構成のように、活動実行部を活動実行制御部や活動手順実行制御部と別の装置に分離することは、ネットワーク１への負荷の集中を分散させる上で効果がある。
【００５７】
上述のようにして活動実行制御部４２，７２から活動実行指令を受け渡された活動実行部５１あるいは活動実行部７４は、活動実行指令中の指令発行元ロケータで示されるクライアント装置の情報と、単位活動情報中のロケータで示されるサーバ装置またはクライアント装置の情報を用いて、両装置の間に通信の接続を確立する。これにより、ワークプロセスの実行を要求したユーザと、単位活動情報が示すサーバ装置の自動処理または、クライアント装置の作業者との間が通信によって接続され、作業の依頼やその結果の受け取りを行なうことができるようになる。この活動の結果は、活動実行指令の発行元に通知される。
【００５８】
図９は、活動の実行の一例を示す概念図である。この例では、図１に示す構成の一部と、活動情報の構造の一例の一部を示している。具体例として作業依頼ユーザがクライアント装置１１から活動実行指令を発したものとしている（▲１▼）。この活動実行指令は、例えばサーバ装置２２に存在する活動実行受付部４１で受け付けられて、活動実行制御部４２において図６に示すような活動実行制御が行われる。例えば作業依頼ユーザから依頼された実行活動内容が活動集約情報Ａに対応するものであるとき、ハッチングを施した活動単位情報Ｂ，Ｆおよび活動手順定義情報Ｃ，Ｅが取得され、その中から活動単位情報Ｂが選択されたとする（▲２▼）。上述のように、この選択は作業依頼ユーザがクライアント装置１１から行ってもよいし、活動実行制御部４２が優先順位に従って選択してもよい。なお、ここでは活動単位情報Ｂのロケータはクライアント装置１２を指し示しているものとする。
【００５９】
活動事項制御部４２は、選択された活動単位情報Ｂを実行活動情報とする活動実行指令を活動実行部に受け渡す。ここでは活動実行制御部４２は、活動単位情報Ｂを実行活動情報として含む活動実行指令を活動実行部５１に受け渡している（▲３▼）。
【００６０】
活動実行部５１は、受け渡された活動実行指令中の指令発行元ロケータで示されるクライアント装置１１と、単位活動情報Ｂのロケータで示されるクライアント装置１２との間に通信の接続を確立する（▲４▼，▲５▼）。これにより、ワークプロセスの実行を要求した作業依頼ユーザと、単位活動情報Ｂが示すクライアント装置１２の作業実行担当ユーザとの間が通信によって接続され、作業の依頼やその結果の受け取りなどの活動を実行する（▲６▼）。この活動の結果（正常終了または異常終了）は、活動実行指令の発行元である活動実行制御部４２に通知される。
【００６１】
活動手順実行制御部４３，７３は、複数の活動情報がワークプロセスに従って連携されたものであり、通常のワークプロセス実行エンジンにより実行することができる。図１０は、活動手順定義情報によるワークプロセス表現の一例の説明図である。図１０に示すように、活動手順定義情報はロケータによってリンクしている活動情報をワークプロセスの各ステップとした、ワークプロセス定義を作業手順記述として持っている。このワークプロセス定義によって、各活動情報を順次実行させてゆくことができる。例えば図１０に示した例では、活動手順定義情報Ｃは、ロケータにより活動単位情報Ｕ，Ｘ、活動集約情報Ｖ，Ｗとリンクしている。また、その作業手順記述には、活動単位情報Ｕの活動内容を実行後、活動集約情報Ｖおよび活動集約情報Ｗの活動内容を実行し、これらの実行後に活動単位情報Ｘの活動内容を実行するワークプロセス定義が記されており、このワークプロセス定義に従って各活動内容が実行される。このワークプロセスの実行結果は、活動実行指令の発行元に通知される。
【００６２】
活動手順定義情報は、各ステップにおいて、単位活動情報を実行したり、あるいは他の活動手順定義情報をサブプロセスとして実行することができる。活動手順定義情報は、単位活動情報および活動手順定義情報のほかに、活動集約情報をとることができる。例えば図１０に示した例では、活動集約情報Ｖ，Ｗの活動内容をそれぞれ１つのステップとしている。活動集約情報に実行が及ぶ場合には、活動手順実行制御部は、当該活動集約情報を実行活動情報とし、指令発行元ロケータがこの処理を行っている活動手順実行制御部を指し示す、新たな活動実行指令を生成し、再び活動実行制御部４２または活動実行制御部７２に渡す処理を行なう。この処理により、活動集約情報の形で定義されているステップは、再帰的に具体的な活動へ詳細化される。また、異常終了時にはこの再帰的な処理がバックトラックされる。これらの処理によって、ステップやワークプロセスを動的に切り替えながら実行を行なうことができる。
【００６３】
例えば図１０に示した例では、活動集約情報Ｖの活動内容を実行するステップでは、実行時に活動手順定義情報Ｖ１の活動内容か、活動単位情報Ｖ２の活動内容に詳細化される。また、活動集約情報Ｗの活動内容を実行するステップでは、実行時に活動単位情報Ｗ１の活動内容か、活動単位情報Ｗ２の活動内容に詳細化される。なお、活動集約情報Ｖが活動手順定義情報Ｖ１に詳細化されたときは、活動手順定義情報Ｖ１は再びワークプロセス定義を含むため、活動集約情報Ｖの活動内容を実行するステップは、活動手順定義情報Ｖ１に含まれるワークプロセス定義のプロセスが、新たなワークプロセスとして動的に生成されて実行が行なわれる。
【００６４】
活動手順定義情報Ｖ１で定義されているワークプロセスが実行途中で異常終了した場合には、活動単位情報Ｖ２が代替の活動情報として選択され、実行される。活動単位情報Ｖ２の実行も異常終了した場合には、活動手順定義情報Ｃが異常終了し、活動集約情報Ａの下にある他の活動情報について実行が試みられる。
【００６５】
このような動的実行制御により、ワークプロセス実行時において実際に利用可能な活動が選択されて利用されることになる。これによって、各プロセスは正常終了することが多くなり、障害に対する耐性を向上させることができる。また、システムの規模が大きくなるほど、すなわち活動情報記憶部に記憶されている活動情報の数が増える程、切り替え可能な活動情報の候補が増すため、障害に対する耐性も向上する。なお、ある活動情報の実行が異常終了により失敗した場合に、例えば所定時間経過後に再試行してもよい。この場合、所定回数の再試行後、代替の活動情報に切り換えるとよい。
【００６６】
次に、活動情報選択部５２，５３における活動情報の選択動作について説明する。活動情報選択部５２，５３は、例えば図６に示した処理においては、Ｓ２０３において活動情報を選択する際に利用することができる。活動情報選択部５２，５３を利用する際には、活動実行制御部４２，７２は、活動情報選択部５２または活動情報選択部５３に対して、活動内容記述子と指令発行元ロケータとを含む活動情報選択指令を渡す。活動情報選択部５２，５３は、活動情報選択指令を受け取ると、当該活動情報選択指令に含まれる活動内容記述子に適する活動内容記述子を保持している単位活動情報または活動集約情報または活動手順定義情報を、前記活動情報記憶部６１，８１に記憶されている活動集約情報の間の論理的なリンクを辿ることにより選択し、得られた活動情報を指令発信元に返す。論理的なリンクを辿る処理は、単一の活動情報選択部が行ってもかまわないし、複数の活動情報選択部が協調的に動作してもかまわない。ここでは活動情報選択部５２，５３が協調的に動作するものとする。例えば図１に示した例において、活動情報選択部５２は活動情報記憶部６１を担当範囲とし、活動情報選択部５３は活動情報記憶部８１を担当範囲とする。各活動情報選択部５２，５３が処理の過程で論理的なリンクを辿る際に、担当範囲を越える場合には、越えた先を担当する別の活動情選択部５３，５２に処理を伝達する。なお、各活動情報選択部５２，５３と、その担当範囲である各活動情報記憶部６１，８１は、ネットワーク１を介して分離されているが、それぞれの通信部３６〜３８，４０を介してアクセスすることができるようになっている。
【００６７】
図１１は、本発明のワークプロセス管理装置における活動情報選択指令のデータ構造の一例の説明図である。上述のように、活動情報選択指令は、選択すべき活動情報の活動内容が記述された活動内容記述子と、この活動情報選択指令を発効した指令発行元ロケータを少なくとも有している。それとともに、選択候補となる活動情報が格納される注視活動情報と、既に調べた活動情報を示す到達活動情報も含むことができる。最終的に活動実行制御部４２，７２には活動情報選択指令が返され、その中の注視活動情報が選択すべき活動情報となる。なお、活動情報選択指令に適合する、選択すべき活動情報とは、活動情報選択指令の活動内容記述子が表す活動内容を包含する活動内容を表す活動内容記述子を持つ活動情報の中で、活動集約情報の間のリンクの末端に最も近いものであるとする。
【００６８】
図１２は、本発明のワークプロセス管理装置の第１の実施の形態における活動情報選択部の動作の一例を示すＰＡＤ図である。Ｓ２２１において、各活動情報選択部５２，５３は、活動情報選択指令を受け取り、受け取った活動情報選択指令を変数ｒに格納する。Ｓ２２２において、受け取った活動情報選択指令の中の注視活動情報が空であるか否かを判定する。例えば活動実行制御部４２，７２から活動情報選択指令を受け取った時点では、この注視活動情報は空である。その場合には、Ｓ２２３において、探索のための初期化を行う。この例では、活動情報の選択処理の起点を、全ての活動情報のルートとし、このルートに当たる活動情報を保持する活動情報記憶部を担当範囲とする活動情報選択部から選択処理を開始するものとする。そのためＳ２２３では、変数ｒに格納されている活動情報選択指令中の注視活動情報に、ルートに当たる活動情報を設定する。さらにＳ２２４において、ルートに当たる活動情報を含む活動情報記憶部を担当範囲とする活動情報選択部への参照（リンク）を変数ｆに格納する。Ｓ２２５において、その変数ｆに格納されたリンクに対して、すなわち、ルートに当たる活動情報を含む活動情報記憶部を担当範囲とする活動情報選択部に対して、変数ｒに格納されている活動情報選択指令を送信し、処理を終了する。この先の処理は、活動情報選択指令を受け取った活動情報選択部が行う。この活動情報選択指令を受け取る活動情報選択部は、送信元と同じであってよい。
【００６９】
受け取った活動情報選択指令中の注視活動情報が空でなければ、以下の処理によって、下位の活動情報についての探索を行う。Ｓ２２６において、変数ｒに格納されている受け取った活動情報選択指令から注視活動情報を取り出し、変数ｔに格納する。Ｓ２２７において、取り出した注視活動情報（変数ｔ）が担当範囲に存在するか否かを判定する。担当範囲に存在しない場合には、Ｓ２２８において、変数ｔに格納した注視活動情報を担当範囲とする活動情報選択部への参照（リンク）を変数ｆに格納する。そしてＳ２２９において、変数ｆに格納されたリンク、すなわち注視活動情報（変数ｔ）を担当範囲とする活動情報選択部に対して、変数ｒ内の活動情報選択指令を送信して処理を終了する。
【００７０】
受け取った活動情報選択指令の注視活動情報（変数ｔ）が担当範囲に存在する場合には、Ｓ２３０において、その注視活動情報（変数ｔ）の活動内容記述子に記述されている活動内容が、活動情報選択指令（変数ｒ）の活動内容記述子に記載されている活動内容に包含されるか否かを判定する。上述のように、活動情報のルートから探索を開始しているので、注視活動情報の活動内容が、活動情報選択指令の活動内容を包含する状態が続く。そして、後述するようにして順に下位の階層に詳細化されるにつれて、活動内容が狭まり、やがて注視活動情報の活動内容が、活動情報選択指令の活動内容に包含されるようになる。このときの注視活動情報は、活動情報選択指令の活動内容よりも活動内容が狭くなる状態に達したので、それ以上の詳細化は打ち切る必要がある。選択すべき活動情報は、このとき注視活動情報となっている活動情報より一つ上の階層にある活動情報であり、当該活動情報は、後述するＳ２３５の処理によって、活動情報選択指令の到達活動情報の末尾に格納されている。この場合、Ｓ２３１において、変数ｒに格納されている活動情報選択指令中の指令発行元ロケータが指す指令発行元（活動実行制御部）に対して、変数ｒに格納されている活動情報選択指令を送信して処理を終了する。
【００７１】
注視活動情報（変数ｔ）の活動内容が、活動情報選択指令（変数ｒ）の活動内容に包含されない場合には、さらに下位の活動情報の探索を行う。Ｓ２３２において、変数ｔに格納されている活動情報（注視活動情報）のロケータでリンクされている先の活動情報から、変数ｒに格納されている活動情報選択指令の活動内容記述子に記述されている活動内容を包含する活動内容の活動内容記述子を持つ活動情報をすべて取り出す。そして、取り出した活動情報をリストＴに格納する。
【００７２】
Ｓ２３３において、リストＴが空か否かを判定する。リストＴが空であることは、活動情報の構造の末端まで到達したことを示している。あるいは、活動情報選択指令の活動内容が下位のすべての活動情報の活動内容を包含する場合であるが、この場合は活動情報選択指令の活動内容が注視活動情報の活動内容を包含していることを示し、基本的にはＳ２３０においてＳ２３１の処理を行っている。リストＴが空の場合には、Ｓ２３４において、変数ｒに格納されている活動情報選択指令中の指令発行元ロケータが指す指令発行元（活動実行制御部）に対して、変数ｒに格納されている活動情報選択指令を送信して処理を終了する。
【００７３】
リストＴが空でなければ、この活動情報よりも下位の活動情報中に選択すべき活動情報が存在することを示す。Ｓ２３５において、変数ｒに格納されている活動情報選択指令の到達活動情報の末尾に、変数ｔに格納されている活動情報（注視活動情報）を追加する。そして、Ｓ２３６において、リストＴの要素の数だけ、到達活動情報追加後の活動情報選択指令を複製し、リストＴの各要素を複製したそれぞれの活動情報選択指令の注視活動情報に設定して、新たな活動情報選択指令を生成する。このようにして生成された活動情報選択指令を、再び活動情報選択部に入力し、再帰的に活動情報選択部の処理を行う。
【００７４】
新たに生成された活動情報選択指令を受け取った活動情報選択部は、上述の処理を行い、その活動情報選択指令中の注視活動情報に対する判定と、それより下位の活動情報についての判定を行うことになる。もちろん、担当範囲外の活動情報については、その活動情報を担当する活動情報選択部に処理を依頼する。このようにして、階層的に構成された活動情報を分散的な処理によって探索し、指示された活動内容に適する活動内容記述子の記述を有する、選択すべき活動情報を返すことができる。
【００７５】
なお、図１２に示した処理は、活動情報選択指令に適合する活動情報が見つかった場合（Ｓ２３１）、ないしは、リンクを末端まで辿っても見つからなかった場合（Ｓ２３４）に、当該活動情報選択指令の発行元に結果を通知することで終了する。この処理の結果、活動情報選択指令が要求発行元に返された時点で、注視活動情報の保持する活動内容が、活動情報選択指令の（活動内容記述子の表す）活動内容に包含されるものである場合には、到達活動情報の末尾にある活動情報が選択される活動情報である。そうでない場合は、選択に失敗している。
【００７６】
活動実行制御部４２，７２は、このようにして活動情報選択部５２，５３における活動情報の選択処理によって選択された活動情報を用い、図６に示した処理を行うことになる。
【００７７】
上述の動作の説明では、活動情報が活動情報記憶部６１，８１に記憶された状態での動作を示している。活動情報記憶部６１，８１に記憶されている活動情報は追加、削除、変更が可能であり、任意の時点で活動情報の追加、削除、変更を行うことによってワークプロセスを任意に追加、削除、変更することが可能である。以下、ワークプロセスの追加、削除、変更処理について説明する。
【００７８】
図１３は、本発明のワークプロセス管理装置の第１の実施の形態における活動情報更新部における動作の一例を示すＰＡＤ図である。活動情報更新部６２，８２は、通信部３７，４０を介してクライアント装置１１または１２と通信し、Ｓ２４１において、活動情報を受け付けて変数ｒに格納し、また、Ｓ２４２において、その活動情報に対する操作を受け付けて変数ｏに格納する。Ｓ２４３において、受け付けた操作（変数ｏ）を判定し、活動情報の追加である場合には、Ｓ２４４において、変数ｒに格納されている活動情報を活動情報記憶部に格納する。また、受け付けた操作が活動情報の削除である場合には、Ｓ２４５において、活動情報記憶部から変数ｒに格納されている活動情報を削除する。このような活動情報の追加、削除の処理は、活動情報更新部を備えたサーバ装置内の活動情報記憶部、あるいは別のサーバ装置内の対応する活動情報記憶部に対して行われ、その更新処理が反映される。
【００７９】
そして、活動情報更新部６２，８２は、活動情報記憶部６１，８１に活動情報の更新を反映させた後、Ｓ２４６において、活動情報組織化部６３，８３に対して、変数ｒに格納されている活動情報と変数ｏに格納されている操作を伝える。
【００８０】
活動情報組織化部６３，８３は、活動情報更新部６２，８２が活動情報を更新した際に、その更新された活動情報に関わるリンクを張り直す処理を行なう。この処理により、更新された活動情報に対する適切な再組織化が行われる。
【００８１】
図１４は、本発明のワークプロセス管理装置の第１の実施の形態における活動情報組織化部の動作の一例を示すＰＡＤ図である。まず、Ｓ２５１およびＳ２５２において、活動情報およびその活動情報に対する操作を受け付ける。そして、活動情報に対する操作が追加である場合には、Ｓ２５４において、受け付けた活動情報の活動内容に適する活動内容を持つ活動情報をすべて選択し、選択した活動情報をリストＵに格納する。この活動情報の選択には、活動情報選択部５２，５３を利用することができる。
【００８２】
そして、リストＵに格納された各活動情報に対して、Ｓ２５６〜Ｓ２５８の処理を行う。まずＳ２５６において、選択された活動情報のリンク先の有無を判定し、リンク先があれば、Ｓ２５７で変数ｒに格納されている活動情報のロケータに、選択された活動情報が有するロケータを追加する。さらに、選択された活動情報のロケータを、変数ｒに格納されている活動情報を指し示すように変更する。これによって、追加する活動情報を、その活動内容の包含関係に従って挿入することができる。
【００８３】
活動情報に対する操作が削除である場合には、Ｓ２５９において、受け付けた活動情報をリンク先とする活動情報をすべて選択し、選択した活動情報をリストＵに格納する。そして、リストＵに格納された各活動情報に対して、Ｓ２６１〜Ｓ２６３の処理を行う。まずＳ２６１において、変数ｒに格納されている活動情報のロケータによってリンクされている活動情報が存在するか否かを判定する。リンクされている活動情報が存在する場合には、Ｓ２６２において、選択された活動情報のロケータを、変数ｒに格納されている活動情報のロケータに変更し、変数ｒに格納されている活動情報がリンク先とならないように変更する。
【００８４】
また、変数ｒに格納されている活動情報のロケータによってリンクされている活動情報が存在しない場合には、Ｓ２６３において、選択された活動情報のロケータを削除し、変数ｒに格納されている活動情報がリンク先とならないように変更する。
【００８５】
図１５は、活動集約情報を追加する場合の組織化処理の具体例の説明図である。いま、図１５（Ａ）に示すように活動情報がその活動内容に従って組織化されているものとする。各活動情報の活動内容を活動内容１ないし活動内容６としている。ここで、活動内容７を有する活動集約情報Ｃを追加する場合を考える。活動内容の包含関係は、活動内容７が活動内容５，６を含み、活動内容１が活動内容７を含む関係にあるとする。
【００８６】
まず、追加される活動集約情報Ｃの活動内容記述子が表す活動情報７を包含する、活動内容１を表す活動内容記述子を持つ活動集約情報Ａを選択する。このとき、追加する活動集約情報Ｃのロケータとして、活動集約情報Ａのロケータによってリンクされている単位活動情報Ｂおよび単位活動情報Ｃへのリンクを追加する。さらに、活動集約情報Ａのロケータのうち、単位活動情報Ｂおよび単位活動情報Ｃへのリンクを、追加する活動集約情報Ｃへのリンクに変更する。これによって、図１５（Ｂ）に示すように組織化される。
【００８７】
図１６は、単位活動情報を追加する場合の組織化処理の具体例の説明図である。いま、図１６（Ａ）に示すように活動情報がその活動内容に従って組織化されているものとする。各活動情報の活動内容を活動内容１ないし活動内容６としている。ここで、活動内容７を有する単位活動情報Ｃを追加する場合を考える。活動内容の包含関係は、活動内容７が活動内容３に包含される関係にあるとする。
【００８８】
まず、追加される単位活動情報Ｃの活動内容記述子が表す活動情報７を包含する、活動内容３を表す活動内容記述子を持つ活動集約情報Ｃを選択する。そして、活動集約情報Ｃのロケータに、追加する単位活動情報Ｃを指し示すリンクを追加する。単位活動情報の場合、その下位には活動情報がリンクされないので、活動集約情報Ｃに対する単位活動情報Ｃへのリンクの追加のみで処理は終了する。これによって、図１６（Ｂ）に示すように組織化される。なお、活動手順定義情報の追加の場合も同様である。
【００８９】
図１７は、活動集約情報を削除する場合の組織化処理の具体例の説明図である。いま、図１７（Ａ）に示すように活動情報がその活動内容に従って組織化されているものとする。ここで、活動集約情報Ｃを削除する場合を考える。まず、削除する活動集約情報Ｃをリンク先としている活動情報を選択する。この例では活動集約情報Ａが活動集約情報Ｃをリンク先としている。この場合、活動集約情報Ａの活動集約情報Ｃへのリンクを示すロケータを、活動集約情報Ｃのリンク先である単位活動情報Ｂおよび単位活動情報Ｃへのリンクを示すロケータに変更する。これによって活動集約情報Ａから活動集約情報Ｃへのリンクは削除され、活動集約情報Ａから直接、単位活動情報Ｂおよび単位活動情報Ｃがリンクされ、図１７（Ｂ）に示すように組織化される。
【００９０】
図１８は、単位活動情報を削除する場合の組織化処理の具体例の説明図である。いま、図１８（Ａ）に示すように活動情報がその活動内容に従って組織化されているものとする。ここで、単位活動情報Ｃを削除する場合を考える。まず、削除する単位活動情報Ｃをリンク先としている活動情報を選択する。この例では活動集約情報Ｃが単位活動情報Ｃをリンク先としている。この場合、単位活動情報Ｃにはリンク先がないので、単に活動集約情報Ｃの単位活動情報Ｃへのリンクを削除するのみでよい。これによって、図１８（Ｂ）に示すように組織化される。
【００９１】
なお、活動情報の変更処理は、上述のような活動情報の追加処理と削除処理を組み合わせることで行なうことができる。
【００９２】
図１９は、本発明のワークプロセス管理装置の第２の実施の形態を含むシステム構成図である。図中、図１と同様の部分には同じ符号を付して説明を省略する。２９，３０はサーバ装置、９１，９４は通信部、９２は活動情報クラスタリング部、９３は活動集約情報生成部、９５は共起活動検出部、９６は活動手順定義情報生成部である。サーバ装置２９は、活動情報クラスタリング部９２、活動集約情報生成部９３を備え、さらに、通信部９１を介して他のクライアント装置やサーバ装置と連携動作を行なう。サーバ装置３０は、共起活動検出部９５、活動手順定義情報生成部９６を備え、さらに、通信部９４を介して他のクライアント装置やサーバ装置と連携動作を行なう。
【００９３】
活動情報クラスタリング部９２は、定期的にネットワーク１上の活動情報記憶部６１，８１を参照し、それらに記憶されている活動情報を収集する。収集には、活動情報間の論理的なリンクを辿る方法、各活動情報記憶部６１，８１が記憶している活動情報を活動情報記憶部６１，８１から単に取得する方法など、任意の方法を適用できる。そして、活動情報クラスタリング部９２は、収集した活動情報のそれぞれが持つ活動内容記述子の類似性に基づいて、各活動情報のクラスタリングを行ない、その結果を活動集約情報生成部９３に送る。クラスタリングのための類似性の評価基準は、様々なものを設定してよい。例えば、ある特定の活動に着目してそれを含むものと含まないものに分割したり、いくつかの典型的な活動を設定し、それに包含される活動情報を各々集めてもよい。さらに、活動情報クラスタリング部９２は、図１９では１つしか示していないが、複数の活動情報クラスタリング部を設けて、それぞれの活動情報クラスタリング部ごとに異なる類似性の評価基準を設定し、様々なクラスタリングを行ない、処理に多様性を持たせることもできる。
【００９４】
活動集約情報生成部９３は、活動情報クラスタリング部９２より渡されるクラスタの各々に対して、そのクラスタに含まれる活動情報が保持している活動内容記述子を包含する活動内容記述子を持った活動集約情報を生成する。生成した活動集約情報は、例えば活動情報更新部６２，８２（および活動情報組織化部６３，８３）を用いて登録すればよい。
【００９５】
図２０は、活動集約情報の生成および追加の処理の一例を示す概念図である。いま、図２０（Ａ）に示すように活動情報がその活動内容に従って組織化されているものとする。各活動情報の活動内容を活動内容２ないし活動内容７としている。活動情報クラスタリング部９２におけるクラスタリング処理によって、例えば破線で囲んだ活動集約情報Ｂと活動集約情報Ｃとが１つのクラスタに分類されたとする。活動集約情報生成部９３は、このクラスタリングの結果を受け取り、活動集約情報Ｂおよび活動集約情報Ｃの活動内容記述子の活動内容２，３を包含する、活動内容１の活動内容記述子を有する活動集約情報Ａを生成する。
【００９６】
そして、上述した活動情報更新部６２，８２および活動情報組織化部６３，８３の処理によって、活動集約情報生成部９３で生成した活動集約情報Ａの追加処理を行うことにより、図２０（Ｂ）に示すような組織化された活動情報が得られる。
【００９７】
このようにして、ワークプロセス管理装置は活動集約情報を自律的に生成、追加してゆくことができる。これにより、既存の活動情報に対して新しい索引付けを追加し続けることができ、活動の利用者および活動の提供者が活動の選択を行なう上での自由度を増加させ、利便性を向上させることができる。
【００９８】
共起活動検出部９５は、各活動実行受付部４１，７１から送出される活動実行指令を収集し、活動実行指令の中で同時に出現する頻度の高い活動内容記述子を共起関係にあるものとして検出する。そして、検出した活動内容記述子の組を、活動手順定義情報生成部９６に送る。共起活動検出部９５が各活動実行受付部４１，７１から送出される活動実行指令を収集するために、例えば活動実行受付部４１，７１は、生成した活動実行指令を活動実行制御部４２，７２に送るとともに、通信部３４，３９，９４を介して、共起活動検出部９５にも送るようにしておくとよい。
【００９９】
図２１は、共起活動検出部における共起活動の検出動作の一例の概念図である。図２１に示した例では、活動実行受付部４１から１つの活動実行指令を、また、活動実行受付部７１から２つの活動実行指令を収集した例を示している。これらの収集した活動実行指令の活動内容記述子を調べると、それぞれＵ，Ｖ，Ｗという連続した活動を示す活動内容が記述されている。共起活動検出部９５では、この活動内容Ｕ，Ｖ，Ｗを共起関係にあるとして検出し、その活動記述子の組を活動手順定義情報生成部９６に送る。
【０１００】
活動手順定義情報生成部９６は、共起活動検出部９５より渡される活動内容記述子の組について、各活動内容記述子の制約関係の解消などを行ない、適切な活動手順記述子を求める。また、各活動内容記述子を総括した活動内容記述子を生成する。そして、生成した活動手順記述子および活動内容記述子をもとに、活動手順定義情報を生成する。生成した活動手順定義情報は、例えば活動情報更新部６２，８２（および活動情報組織化部６３，８３）を用いて登録すればよい。
【０１０１】
図２２は、活動手順定義情報生成部における活動手順定義情報の生成動作の一例の概念図である。ここでは一例として、破線で囲んだ活動単位情報Ｕ、活動集約情報Ｖ、活動集約情報Ｗが、共起活動検出部９５で共起関係にあるとして検出されたとする。活動手順定義情報生成部９６は、これらの共起関係にある活動単位情報Ｕ、活動集約情報Ｖ、活動集約情報Ｗの活動手順（例えば図２２において吹き出しで示したようにＵ→Ｖ→Ｗの順）を示す活動手順記述子を生成する。また、これらの活動内容を包含する活動内容記述子（活動内容３）を生成する。さらに、活動単位情報Ｕ、活動集約情報Ｖ、活動集約情報Ｗへのリンクを示すロケータを生成し、活動手順定義情報Ｃを生成する。この活動手順定義情報Ｃを活動情報更新部６２または８２に送り、追加を依頼すればよい。この例では、活動集約情報Ａの下位に活動手順定義情報Ｃが追加されている。
【０１０２】
このようにして、実行される活動内容の中から共起関係にある活動情報を抽出し、新たな活動手順定義情報を生成して自動的に登録される。これによって、例えば異種の活動でも、セットで行われる活動を自動的に再利用可能な状態にすることができ、ユーザの利便性を向上させることができる。
【０１０３】
次に、本発明のワークプロセス管理装置の第３の実施の形態について説明する。この第３の実施の形態を含むシステム構成は、上述の図１、図１９に示した第１および第２の実施の形態と同様である。ただし、各活動情報記憶部６１，８１が開示情報および連携情報を記憶する点で異なる。また、各活動実行制御部４２，７２には、これらの情報に対する処理が追加される。
【０１０４】
図２３は、本発明のワークプロセス管理装置の第３の実施の形態における連携情報のデータ構造の一例の説明図である。連携情報は、活動情報および活動情報間に対する許可／不許可の条件を表す。そのため、この連携情報は、各活動情報に付加されて利用される。図２３に示す連携情報のデータ構造における各レコードは、「契約している活動情報」および「ルーティング条件」から構成されている。「契約している活動情報」は、当該連携情報が付加されている活動情報の前工程あるいは後工程として仕事を引き渡すことを予め契約により取り決めているか否かを示す情報である。「ルーティング条件」は、仕事を引き渡す際の様々な条件を指定し、この条件が成立したときに、この活動情報が選択候補となる。この条件には、仕事の内容そのもの以外に、例えば仕事を発行したユーザに関する条件も指定できる。例えば、ネットワーク１上で近いユーザの発行した仕事に対してのみ選択候補となるといった制御も可能となる。
【０１０５】
図２４は、連携情報による動的選択の制約の一例の説明図である。図中、連携情報として、契約関係にある活動情報をリストとして示している。いま、活動手順定義情報Ｃに定義されているワークプロセスを実行する場合を考える。活動手順定義情報Ｃの活動手順記述子には、吹き出しで示したように、単位活動情報Ｕを実行した後、活動集約情報Ｖおよび活動集約情報Ｗを実行し、その後、単位活動情報Ｘを実行する手順が記述されており、この順で各活動を実行する。
【０１０６】
単位活動情報Ｕを実行した後、活動集約情報Ｖの実行に移る。活動集約情報Ｖは活動手順定義情報Ｖ１および単位活動情報Ｖ２にリンクされており、いずれかを実行することになる。このとき、活動単位情報Ｕの連携情報には、活動手順定義情報Ｖ１は登録されているが、単位活動情報Ｖ２には登録されていない。また、後工程である単位活動情報Ｘの連携情報にも、活動手順定義情報Ｖ１は登録されているが、単位活動情報Ｖ２は登録されていない。また、活動手順定義情報Ｖ１の連携情報には、前工程の単位活動情報Ｕおよび単位活動情報Ｘが登録されている。そのため、単位活動情報Ｖ２は選択されず、活動手順定義情報Ｖ１のみが選択されて実行される。なお、活動手順定義情報Ｖ１で活動が失敗した場合には、単位活動情報Ｖ２は代替活動とはならず、活動集約情報Ｖの活動が失敗する。
【０１０７】
活動集約情報Ｗでは、その下位に単位活動情報Ｗ１，Ｗ２がある。これらの単位活動情報Ｗ１，Ｗ２は、いずれも前工程である単位活動情報Ｕの連携情報および後工程である単位活動情報Ｘの連携情報に登録されている。また、単位活動情報Ｗ１，Ｗ２の連携情報にも、単位活動情報Ｕおよび単位活動情報Ｘが登録されている。そのため、単位活動情報Ｗ１，Ｗ２の一方が選択されて実行され、他方が代替活動として一方が失敗したときに実行される。
【０１０８】
単位活動情報Ｘでは、前工程の活動集約情報Ｖの下位に存在する活動手順定義情報Ｖ１および単位活動情報Ｖ２のうち、活動手順定義情報Ｖ１については登録されている。そのため、活動手順定義情報Ｖ１における活動結果を受けて活動を行うが、単位活動情報Ｖ２の活動結果を受け付けない。もう一方の前工程の活動集約情報Ｗの下位に存在する単位活動情報Ｗ１および単位活動情報Ｗ２については、両方とも連携情報に登録されているので、いずれで活動が行われても、後工程として単位活動情報Ｘの活動を行うことができる。
【０１０９】
図２５は、本発明のワークプロセス管理装置の第３の実施の形態における開示情報のデータ構造の一例の説明図である。開示情報は、活動情報のユーザに対する開示の許可／不許可を示す情報である。この開示情報も、上述の連携情報と同様に、各活動情報に付加されて利用される。図２５に示した開示情報のデータ構造における各レコードは、開示許可条件から構成されている。この開示許可条件には、仕事を発行しているユーザの条件や、その仕事が行われている部門の条件などを指定することができる。例えば、開示許可条件が成立する場合のみ、活動情報の内容、例えば活動手順定義情報で詳細化された活動手順を、仕事を発行したユーザに対して開示する。これにより、例えば、部門外や社外のユーザの仕事を行なう場合、ワークフローをノウハウとして隠蔽したいといった要求に対応することが可能になる。
【０１１０】
図２６は、開示情報による表示制限の具体例の説明図である。この例では、活動手順定義情報Ｃに対して開示情報が付加されている。開示情報には、部門Ａ，Ｂ，Ｃのユーザに対して開示を許可する開示許可条件が含まれている。この場合、部門Ａのユーザがこの活動手順定義情報Ｃを参照する場合、その活動手順記述子に記述されているワークプロセスを表示させることができる。しかし、部門Ｘのユーザが同じくこの活動手順定義情報Ｃを参照しても、その活動手順記述子に記述されているワークプロセスは表示されない。このようにして、開示情報によって許可されていないユーザに対して、内容の詳細を秘密にしておくことができる。ここでは開示情報に開示を許可するユーザを登録したが、逆に開示を許可しないユーザを登録するように構成してもよい。
【０１１１】
【発明の効果】
以上の説明から明らかなように、本発明によれば、分散環境に対応してワークプロセス情報を分散管理することができ、大規模かつ多数の活動が出現、消滅する動的な環境下で利用することができる。また、ワークプロセス情報の分散管理にあたって、活動情報をその活動内容の包含関係によって組織化して管理するので、大規模になっても管理、利用が容易になる。さらに、このように組織化された活動情報の探索によって活動を実行して行くため、代替可能な活動を容易に実行することができ、事前に意図しない障害や、ワークプロセスの変更などにも対応することが可能となるとともに、多様なワークプロセスに柔軟に対応して行くことができる。本発明によれば、これら以外にも、上述したように各種の効果がある。
【図面の簡単な説明】
【図１】  本発明のワークプロセス管理装置の第１の実施の形態を含むシステム構成図である。
【図２】  本発明のワークプロセス管理装置における単位活動情報、活動集約情報、活動手順定義情報のデータ構造の一例の説明図である。
【図３】  本発明のワークプロセス管理装置における活動集約情報の階層構造とサーバ装置への配置の一例の説明図である。
【図４】  本発明のワークプロセス管理装置における活動集約情報の階層構造とサーバ装置への配置の別の例の説明図である。
【図５】  本発明のワークプロセス管理装置における活動実行指令のデータ構造の一例の説明図である。
【図６】  本発明のワークプロセス管理装置の第１の実施の形態における活動実行制御部の動作の一例の概略を示すＰＡＤ図である。
【図７】  ユーザとの対話による単位活動情報または活動手順定義情報の選択方法の一例の概念図である。
【図８】  活動実行制御部が定めた優先順序による単位活動情報または活動手順定義情報の選択方法の一例の概念図である。
【図９】  活動の実行の一例を示す概念図である。
【図１０】  活動手順定義情報によるワークプロセス表現の一例の説明図である。
【図１１】  本発明のワークプロセス管理装置における活動情報選択指令のデータ構造の一例の説明図である。
【図１２】  本発明のワークプロセス管理装置の第１の実施の形態における活動情報選択部の動作の一例を示すＰＡＤ図である。
【図１３】  本発明のワークプロセス管理装置の第１の実施の形態における活動情報更新部における動作の一例を示すＰＡＤ図である。
【図１４】  本発明のワークプロセス管理装置の第１の実施の形態における活動情報組織化部の動作の一例を示すＰＡＤ図である。
【図１５】  活動集約情報を追加する場合の組織化処理の具体例の説明図である。
【図１６】  単位活動情報を追加する場合の組織化処理の具体例の説明図である。
【図１７】  活動集約情報を削除する場合の組織化処理の具体例の説明図である。
【図１８】  単位活動情報を削除する場合の組織化処理の具体例の説明図である。
【図１９】  本発明のワークプロセス管理装置の第２の実施の形態を含むシステム構成図である。
【図２０】  活動集約情報の生成および追加の処理の一例を示す概念図である。
【図２１】  共起活動検出部における共起活動の検出動作の一例の概念図である。
【図２２】  活動手順定義情報生成部における活動手順定義情報の生成動作の一例の概念図である。
【図２３】  本発明のワークプロセス管理装置の第３の実施の形態における連携情報のデータ構造の一例の説明図である。
【図２４】  連携情報による動的選択の制約の一例の説明図である。
【図２５】  本発明のワークプロセス管理装置の第３の実施の形態における開示情報のデータ構造の一例の説明図である。
【図２６】  開示情報による表示制限の具体例の説明図である。
【符号の説明】
１…ネットワーク、１１，１２…クライアント装置、２１〜３０…サーバ装置、３１〜４０…通信部、４１，７１…活動実行受付部、４２，７２…活動実行制御部、４３，７３…活動手順実行制御部、５１，７４…活動実行部、５２，５３…活動情報選択部、６１，８１…活動情報記憶部、６２，８２…活動情報更新部、６３，８３…活動情報組織化部、９１，９４…通信部、９２…活動情報クラスタリング部、９３…活動集約情報生成部、９５…共起活動検出部、９６…活動手順定義情報生成部。
【図１】
0004247584.tif 000002
【図２】
0004247584.tif 000003
【図３】
0004247584.tif 000004
【図４】
0004247584.tif 000005
【図５】
0004247584.tif 000006
【図６】
0004247584.tif 000007
【図７】
0004247584.tif 000008
【図８】
0004247584.tif 000009
【図９】
0004247584.tif 000010
【図１０】
0004247584.tif 000011
【図１１】
0004247584.tif 000012
【図１２】
0004247584.tif 000013
【図１３】
0004247584.tif 000014
【図１４】
0004247584.tif 000015
【図１５】
0004247584.tif 000016
【図１６】
0004247584.tif 000017
【図１７】
0004247584.tif 000018
【図１８】
0004247584.tif 000019
【図１９】
0004247584.tif 000020
【図２０】
0004247584.tif 000021
【図２１】
0004247584.tif 000022
【図２２】
0004247584.tif 000023
【図２３】
0004247584.tif 000024
【図２４】
0004247584.tif 000025
【図２５】
0004247584.tif 000026
【図２６】
0004247584.tif 000027