(57)【要約】【課題】他のユーザから委譲されたタスクもしくはユーザが新たに作成したタスクにつき、ユーザの持つタスクツリー上の挿入すべき最適な位置を提案し、システム全体の可用性を高めることのできるワークフロー管理システムを提供する。【解決手段】ワークフロー部品を再利用することでワークフロー実行時に動的にモデルを構成するワークフロー管理システムであって、タスクをツリー状の構造で管理する手段と、タスクの委譲等によりユーザ間でタスクの受け渡しをする手段と、ユーザが新たに作成したタスクの内容もしくは他のユーザから委譲されたタスクの情報を解析することで、ユーザが現在持っているタスクツリー構造のどの位置に新しいタスクもしくは移譲されたタスクが挿入されるべきかを検索し提案する手段とを備える。【選択図】図１
2009064335.tif 000002
【特許請求の範囲】
【請求項１】
ワークフロー部品を再利用することでワークフロー実行時に動的にモデルを構成するワークフロー管理システムであって、
タスクをツリー状の構造で管理する手段と、
タスクの委譲等によりユーザ間でタスクの受け渡しをする手段と、
ユーザが新たに作成したタスクの内容もしくは他のユーザから委譲されたタスクの情報を解析することで、ユーザが現在持っているタスクツリー構造のどの位置に新しいタスクもしくは移譲されたタスクが挿入されるべきかを検索し提案する手段とを備えたことを特徴とするワークフロー管理システム。
【請求項２】
請求項１に記載のワークフロー管理システムにおいて、
特にタスクの情報として、タスク名、タスク内容記述、タスク作成者、タスク実行者、タスク作成日時、タスク更新履歴、タスクアクセス履歴、およびタスクに添付された添付書類に関する情報を解析の対象として使用することを特徴とするワークフロー管理システム。
【請求項３】
請求項１または２のいずれか一項に記載のワークフロー管理システムにおいて、
ユーザが現在持っているタスクツリー構造のうち、複数の位置を挿入位置候補として提案することを特徴とするワークフロー管理システム。
【請求項４】
請求項１乃至３のいずれか一項に記載のワークフロー管理システムにおいて、
新しいタスクもしくは移譲されたタスクが挿入されるべき位置を含むタスクツリーの枝全体を挿入位置候補として提案することを特徴とするワークフロー管理システム。
【請求項５】
請求項１乃至４のいずれか一項に記載のワークフロー管理システムにおいて、
ユーザにより指定された、解析に使用するタスクの情報および重み付けに従い、挿入位置候補の順位付けを行うことを特徴とするワークフロー管理システム。
【請求項６】
請求項１乃至４のいずれか一項に記載のワークフロー管理システムにおいて、
タスクツリーのルートからの距離に従い挿入位置候補の順位付けを行うことを特徴とするワークフロー管理システム。
【請求項７】
請求項４に記載のワークフロー管理システムにおいて、
枝に含まれる提案位置の数に従い挿入位置候補の順位付けを行うことを特徴とするワークフロー管理システム。
【請求項８】
請求項１乃至７のいずれか一項に記載のワークフロー管理システムにおいて、
タスクの委譲を受けるユーザが予め指定したツリーの枝内部で、委譲されたタスクの位置を決定することを特徴とするワークフロー管理システム。
【請求項９】
請求項１乃至８のいずれか一項に記載のワークフロー管理システムにおいて、
タスクの委譲を受けたユーザのタスクツリーの情報のうち、委譲されたタスクの親タスク、委譲されたタスクの子タスク、委譲されたタスクと同じ親タスクを持つタスク、委譲されたタスクの属するタスクツリーのルートタスクのいずれかもしくは全ての情報を、タスクを委譲したユーザに対して提示することを特徴とするワークフロー管理システム。
【請求項１０】
ワークフロー部品を再利用することでワークフロー実行時に動的にモデルを構成するワークフロー管理システムの管理方法であって、
タスクをツリー状の構造で管理する工程と、
タスクの委譲等によりユーザ間でタスクの受け渡しをする工程と、
ユーザが新たに作成したタスクの内容もしくは他のユーザから委譲されたタスクの情報を解析することで、ユーザが現在持っているタスクツリー構造のどの位置に新しいタスクもしくは移譲されたタスクが挿入されるべきかを検索し提案する工程とを備えたことを特徴とするワークフロー管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフロー実行時に動的にワークフローモデルを構成するワークフロー管理システムに関する。
【背景技術】
【０００２】
従来のワークフロー管理システムは、ワークフロー実行以前にワークフローモデルを決定する必要があった。しかし、研究開発や一部のサービス業務など、事前情報の完全性の低い分野では、先行的なワークフローモデルの策定が難しい。そこで、コンストラクティブワークフローと呼ばれる、ワークフロー実行時に動的にモデルを構成できる方法が開発されてきた（例えば、特願２００５−４７７９２号（特許文献１）、特願２００５−１５４２６１号等）。
【０００３】
基本的にこれらのコンストラクティブワークフローの技術では、予め定められたワークフロー部品（典型的な部分ワークフロー）の組み合わせを可能とすることでワークフローの動的定義を実現している。
【０００４】
一方、ワークフローを構成するタスク間の関係を記述する手法として、タスクがツリー状に相互関係を持っているモデルを利用するのが一般的である。
【０００５】
また、ワークフローを構成するタスクの一部をユーザ間でやり取り（委譲）することによる、システムを使用する組織全体の生産性向上を狙ったシステムも提案されている（例えば、特願２００６−００３４９７号）。この場合、やり取りされるタスクもツリー構造をなしており、サブタスクを持つことができる。
【特許文献１】特開２００５−２８５１０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、ワークフロー実行時に動的にワークフローモデルを構成するワークフロー管理システムでは、タスクの委譲やタスクの新規作成により新たなタスクを自分の既存のタスクツリーに組み込まなければならない場面が多く発生する。
【０００７】
しかし、他のユーザから委譲されてくるタスクや新規作成したタスクが、ユーザ自身の持つタスクツリーのどの位置に挿入されるべきかについて明確な指針がなく、ユーザは毎回独自の基準でタスクツリー上の位置を決め、挿入作業を行う必要があった。管理するタスクの数が増えるに従い、この作業のためのコストが増大し、生産性向上を妨げる要因となっていた。
【０００８】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、他のユーザから委譲されたタスクもしくはユーザが新たに作成したタスクにつき、ユーザの持つタスクツリー上の挿入すべき最適な位置を提案し、システム全体の可用性を高めることのできるワークフロー管理システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、ワークフロー部品を再利用することでワークフロー実行時に動的にモデルを構成するワークフロー管理システムであって、タスクをツリー状の構造で管理する手段と、タスクの委譲等によりユーザ間でタスクの受け渡しをする手段と、ユーザが新たに作成したタスクの内容もしくは他のユーザから委譲されたタスクの情報を解析することで、ユーザが現在持っているタスクツリー構造のどの位置に新しいタスクもしくは移譲されたタスクが挿入されるべきかを検索し提案する手段とを備えるワークフロー管理システムを要旨としている。
【００１０】
また、請求項２に記載されるように、請求項１に記載のワークフロー管理システムにおいて、特にタスクの情報として、タスク名、タスク内容記述、タスク作成者、タスク実行者、タスク作成日時、タスク更新履歴、タスクアクセス履歴、およびタスクに添付された添付書類に関する情報を解析の対象として使用するようにすることができる。
【００１１】
また、請求項３に記載されるように、請求項１または２のいずれか一項に記載のワークフロー管理システムにおいて、ユーザが現在持っているタスクツリー構造のうち、複数の位置を挿入位置候補として提案するようにすることができる。
【００１２】
また、請求項４に記載されるように、請求項１乃至３のいずれか一項に記載のワークフロー管理システムにおいて、新しいタスクもしくは移譲されたタスクが挿入されるべき位置を含むタスクツリーの枝全体を挿入位置候補として提案するようにすることができる。
【００１３】
また、請求項５に記載されるように、請求項１乃至４のいずれか一項に記載のワークフロー管理システムにおいて、ユーザにより指定された、解析に使用するタスクの情報および重み付けに従い、挿入位置候補の順位付けを行うようにすることができる。
【００１４】
また、請求項６に記載されるように、請求項１乃至４のいずれか一項に記載のワークフロー管理システムにおいて、タスクツリーのルートからの距離に従い挿入位置候補の順位付けを行うようにすることができる。
【００１５】
また、請求項７に記載されるように、請求項４に記載のワークフロー管理システムにおいて、枝に含まれる提案位置の数に従い挿入位置候補の順位付けを行うようにすることができる。
【００１６】
また、請求項８に記載されるように、請求項１乃至７のいずれか一項に記載のワークフロー管理システムにおいて、タスクの委譲を受けるユーザが予め指定したツリーの枝内部で、委譲されたタスクの位置を決定するようにすることができる。
【００１７】
また、請求項９に記載されるように、請求項１乃至８のいずれか一項に記載のワークフロー管理システムにおいて、タスクの委譲を受けたユーザのタスクツリーの情報のうち、委譲されたタスクの親タスク、委譲されたタスクの子タスク、委譲されたタスクと同じ親タスクを持つタスク、委譲されたタスクの属するタスクツリーのルートタスクのいずれかもしくは全ての情報を、タスクを委譲したユーザに対して提示するようにすることができる。
【００１８】
また、請求項１０に記載されるように、ワークフロー部品を再利用することでワークフロー実行時に動的にモデルを構成するワークフロー管理システムの管理方法であって、タスクをツリー状の構造で管理する工程と、タスクの委譲等によりユーザ間でタスクの受け渡しをする工程と、ユーザが新たに作成したタスクの内容もしくは他のユーザから委譲されたタスクの情報を解析することで、ユーザが現在持っているタスクツリー構造のどの位置に新しいタスクもしくは移譲されたタスクが挿入されるべきかを検索し提案する工程とを備えるワークフロー管理方法として構成することができる。
【発明の効果】
【００１９】
本発明のワークフロー管理システムにあっては、他のユーザから委譲されたタスクもしくはユーザが新たに作成したタスクの内容を解析し、ユーザの持つタスクツリー上の挿入すべき最適な位置を提案するため、ユーザが毎回独自の基準でタスクツリー上の挿入位置を決める必要がなくなり、システム全体の可用性を高めることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の好適な実施形態につき説明する。
【００２１】
＜システム構成＞
図１は本発明の一実施形態にかかるワークフロー管理システムの構成例を示す図である。
【００２２】
図１において、ワークフロー管理システム２は、システムを使用するユーザＡ、Ｂの操作するＰＣ（Personal Computer）等のクライアント１Ａ、１Ｂのブラウザ１１Ａ、１１Ｂからのアクセスに対してＧＵＩ（Graphical User Interface）を提供するＧＵＩ制御部２１と、既存のタスクモデルおよび／もしくはタスクインスタンスからの再利用により動的にワークフローモデルを生成し実行するワークフローエンジン２２と、処理に必要な情報を保持するデータベース２３と、Ｗｉｋｉ等のＣＭＳ（Contents Management System）からなる協調文書作成システム２４と、電子メールの送受信機能を有する電子メールサブシステム２５とを備えている。
【００２３】
データベース２３には、ワークフローの実行に際して参考にされる関連情報を格納する関連情報ＤＢ２３１と、予め管理者等によって抽象化されたタスクモデルを格納するタスクモデルＤＢ２３２と、タスクインスタンスを格納するタスクインスタンスＤＢ２３３と、ワークフローの作業記録を格納する作業記録ＤＢ２３４と、ユーザおよびユーザの所属するユーザグループの情報を格納する組織情報ＤＢ２３５とを備えている。タスクモデルＤＢ２３２およびタスクインスタンスＤＢ２３３は、関連情報ＤＢ２３１に登録された情報とのリンクを持つ。
【００２４】
ＧＵＩ制御部２１は、表示画面を描画するためのレンダリングエンジン２１１と、ユーザＡ、Ｂとの情報のやり取りを行う入出力制御部２１２とを備えている。
【００２５】
ワークフローエンジン２２は、データベース２３に対して各種の検索を実行する検索エンジン２２１と、ワークフローを構成するタスクの制御を行うタスク制御部２２２と、データベース２３を参照し、ユーザＡ、Ｂとワークフロー管理システム２の動作を監視してワークフローの作業記録を作業記録ＤＢ２３４に対して行うワークフロー記録部２２９とを備えている。
【００２６】
タスク制御部２２２は、タスクを作成するタスク作成部２２３と、ワークフロー上のタスクを実行するタスク実行部２２４と、作業記録ＤＢ２３４の情報を元にユーザＡ、Ｂの現在のタスクを推測し、関連する情報をデータベース２３から検索する推測エンジン２２５と、タスクの委譲に関する処理を行うタスク委譲処理部２２６と、タスク作成部２２３により新規に作成されたタスク（文脈上、特に限定されない場合は、単一のタスクもしくはタスクツリーの両者を含む。以下、同様。）もしくはタスク委譲処理部２２６により委譲されるタスクの既存（現行）タスクツリー上での挿入位置候補をユーザ（タスクを新規作成したユーザもしくはタスクの委譲を受けるユーザ）に提示し、ユーザの指示に従って既存タスクツリーへのタスクの挿入を行うタスク挿入処理部２２７と、タスクの変更があった旨等のメッセージの作成を電子メールサブシステム２５に指示する電子メール対応部２２８とを備えている。
【００２７】
ワークフロー制御の基本的な動作概要としては、ユーザＡ、ＢはＧＵＩ制御部２１の入出力制御部２１２を通じてワークフローエンジン２２を操作し、ワークフローの作成、実行、ワークフローモデルの作成、関連情報、文書の登録、およびこれらとワークフローインスタンス、ワークフローモデルとのリンク等の作業を行う。
【００２８】
ワークフローの作成に際し、ワークフローエンジン２２の検索エンジン２２１は、データベース２３に対して各種の検索を実行する。
【００２９】
ワークフローエンジン２２のタスク制御部２２２は、タスクモデルＤＢ２３２およびタスクインスタンスＤＢ２３３を使用し、ユーザＡ、Ｂの指示等に基づいてタスクを制御する。タスク制御部２２２のタスク作成部２２３は、ユーザＡ、Ｂの指示に従ってデータベース２３の情報を元にタスクの作成、情報のリンク付け等の作業を行う。タスク実行部２２４は、ユーザＡ、Ｂの指示に従ってタスクインスタンスＤＢ２３３の情報を利用し、実際のタスク情報の更新（タスクの実行とはシステム側から見ればタスク情報の更新である。）を行う。推測エンジン２２５は、作業記録ＤＢ２３４の情報を元にユーザＡ、Ｂの現在のタスクを推測し、関連する情報をデータベース２３から検索する。タスク委譲処理部２２６、タスク挿入処理部２２７、電子メール対応部２２８の動作については後述する。
【００３０】
ワークフロー記録部２２９は、ユーザＡ、Ｂとワークフロー管理システム２の動作を監視し、ワークフローの作業記録を作業記録ＤＢ２３４に格納する。
【００３１】
図２はワークフロー管理システム２の実装例を示す図であり、「Web Server」および「J2EE Web Application」がＧＵＩ制御部２１に相当し、「HTML-based Collaborative Documenting System」が協調文書作成システム２４に相当し、これらがフロントエンド（Frontend）を構成している。すなわち、ユーザＡ、ＢがＷｅｂブラウザ（ブラウザ１１Ａ、１１Ｂ）を用いてシステムにアクセスできるようにWeb serverとＨＴＭＬベースの協調文書作成システムを具備する。また、本実装においてはユーザＡ、ＢがＷｅｂブラウザを用いてシステムにアクセスすることを想定しているため、ネットワーク上でのファイルへのアクセスを管理する必要がある。ここではNetDrive等のネットワーク上でのファイル管理システムを用いて本機能を実現するものとする。
【００３２】
また、「Workflow Management System」および「Search Engine」がワークフローエンジン２２に相当し、これらがバックエンド（Backend）を構成している。ワークフロー管理の基本的な機能に関しては従来のシステムと同一であるため、本発明によるシステムにも一般的なワークフロー管理システムのエンジンを用いることができる。また、タスクや関連情報を検索するための検索エンジンについても、一般的なクエリに基づいた検索エンジンを使用することができる。
【００３３】
また、「MySQL」「RDF Repositories」「Doc.Index」「WebDAVrepos.」がデータベース２３に相当し、これらがデータレイヤ（Data layer)を構成している。タスク情報および関連情報はＲＤＦリポジトリとして管理されるものとし、関連情報等は文書リポジトリとインデックスサーバにより管理される。前者は図１におけるタスクモデルＤＢ２３２およびタスクインスタンスＤＢ２３３に相当し、後者は関連情報ＤＢ２３１に相当する。ユーザ情報と組織情報も同じくＲＤＦリポジトリで実現されるものとする。これらはともに図１における組織情報ＤＢ２３５に相当する。
【００３４】
図３はワークフローの構造例を示す図である。図３において、ルートタスクであるワークフローは任意数のタスクにより構成される。各タスクは更に任意数のサブタスクから構成されることができ、階層化できる。すなわち、ワークフローは複数のタスクを、タスクは複数のサブタスクを持つことができ、それぞれの順序関係（図中で矢印付きの線で表示）などは、一般的なワークフロー管理システムのものと同一である。また、各タスク、サブタスクはそれぞれ関連情報や関連文書を持つことができる。
【００３５】
タスクインスタンスとは、個別に管理される実体としてのタスクを指し、タスクモデルもしくはプロセスタイプとは、タスクインスタンスの雛形となる、より抽象度の高いモデルとしての実体を指す。
【００３６】
図４はタスクインスタンスＤＢ２３３に保持されるタスクインスタンスデータの例を示す図である。タスクインスタンスデータは、「タスク名」「タスクＩＤ」「実行者ＩＤ」「実行者電子メールアドレス」「プロジェクトＩＤ」「使用者および時間」「実行日時」「終了日時」「期日」「状態」「使用時間」「実行に必要な情報」「実行により作られた情報」「サブタスクに関する情報」「制約条件」「新規タスク受け入れ条件」「タスクの詳細情報」等の項目を含んでいる。
【００３７】
ここで、「タスクＩＤ」および「サブタスクに関する情報」のタスクＩＤを辿ることでタスクツリーを把握することができる。なお、タスクインスタンスデータに当該タスクのスーパータスク（親タスク）に関する情報を保持するようにしてもよい。なお、以下では簡単のため各タスクは０もしくは１つのスーパータスクと、０もしくは無限個のサブタスクを持つことができるものとする。
【００３８】
また、「新規タスク受け入れ条件」は、空欄でない場合、その欄に記載されたプロジェクト（例：Ｐ００００３）もしくは特定のユーザ（例：ＵＩＤ０００４３）からのみ、新規の子タスクとしてのタスクの委譲を受け入れることを示している。
【００３９】
図５はタスク委譲に関するデータ構造例を示す図であり、「データラベル」「値１（日時）」「値２（タスク委譲者のユーザＩＤ）」「値３（タスク受け取り者のユーザＩＤ）」「値４（タスクＩＤ）」等の項目を含んでいる。なお、タスク委譲に関するデータはタスクインスタンスデータ（図４）に含めることもできるし、作業記録ＤＢ２３４（図１）に記録する形にしてもよい。いずれの場合も、タスク委譲に際して図５のようなデータが記録されることになる。
【００４０】
＜動作＞
本発明は、ワークフロー実行時にワークフローを構成するタスクを動的に変更・更新することのできるワークフロー管理システムにおいて、他のユーザから委譲されたタスクもしくはユーザが新たに作成したタスクが配置されるべき、ユーザの現行のタスクツリー上での位置を提案するものである。これにより、タスクを挿入するタスクツリー上での位置を決定する作業を簡略化することができ、作業の効率を向上させることができる。
【００４１】
図６は上記の実施形態の動作の概要を示す図である。
【００４２】
図６において、ある時点の既存タスクツリーおよびそのタスク情報（タスクツリーを構成する個々のタスクについての図４に示すタスク情報）が状態ＳＴ１であるものとし、ここに他のユーザからの委譲もしくは新規作成による挿入対象Ｎの新規タスクツリー（単一のタスクでも可）およびそのタスク情報が発生した場合、ワークフロー管理システムは状態ＳＴ１のタスク情報と挿入対象Ｎのタスク情報とを比較する。そして、ワークフロー管理システムは状態ＳＴ１の既存タスクツリーにおいて挿入対象Ｎの新規タスクツリーを挿入すべき位置の候補を導出し、ユーザ（タスクの委譲を受け取る側のユーザもしくはタスクを新規作成したユーザ）の確認を経た後、状態ＳＴ２として、既存タスクツリーの所定位置に破線で囲んで示したように新規タスクツリーを挿入する。
【００４３】
以下、タスクの委譲による場合を例として詳細に処理を説明する。
【００４４】
図７は単一タスクの委譲における処理例を示すシーケンス図である。
【００４５】
図７において、ユーザＢがワークフロー管理システム２のワークフローエンジン２２に対して委譲するタスクおよび委譲先のユーザ（ユーザＡ）を指定すると（ステップＳ１０１）、ワークフローエンジン２２は組織情報ＤＢ２３５に対してユーザの同定を要求し（ステップＳ１０２）、組織情報ＤＢ２３５は委譲元のユーザＢおよび委譲先のユーザＡのユーザＩＤを取得し（ステップＳ１０３）、ワークフローエンジン２２にユーザＢおよびユーザＡのユーザＩＤを返答する（ステップＳ１０４）。
【００４６】
次いで、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対して委譲するタスクの同定を要求し（ステップＳ１０５）、タスクインスタンスＤＢ２３３はタスクの同定を行い（ステップＳ１０６）、ワークフローエンジン２２にタスクＩＤを返答する（ステップＳ１０７）。
【００４７】
次いで、ユーザＢがワークフロー管理システム２のワークフローエンジン２２に対してタスクの委譲を指示すると（ステップＳ１０８）、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対して委譲対象タスクのアクセス権をユーザＢからユーザＡに変更するよう要求し（ステップＳ１０９）、タスクインスタンスＤＢ２３３はアクセス権の変更を行い（ステップＳ１１０）、ワークフローエンジン２２にアクセス権の変更が完了した旨を通知する（ステップＳ１１１）。
【００４８】
その後、ワークフロー管理システム２では、タスク挿入位置候補の導出、タスク挿入位置候補のユーザＢへの提示、ならびに、ユーザＢからの指示に基づくタスク挿入位置の決定を含むタスク挿入処理を行う（ステップＳ１１２）。タスク挿入処理の詳細については後述する。
【００４９】
次いで、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対してタスクの状態変更（決定した位置にタスクを挿入する指示を含む）を要求し（ステップＳ１１３）、タスクインスタンスＤＢ２３３は委譲対象タスクの状態を委譲に変更するとともにタスク位置情報を修正し（ステップＳ１１４）、ワークフローエンジン２２にタスクの状態更新が完了した旨を通知する（ステップＳ１１５）。
【００５０】
次いで、ワークフローエンジン２２は電子メールサブシステム２５に対してタスク委譲があった旨の連絡メール送信を指示し（ステップＳ１１６）、電子メールサブシステム２５はユーザＢ向けのメッセージ＃１およびユーザＡ向けのメッセージ＃２を作成する（ステップＳ１１７、Ｓ１１８）。これらのメッセージ＃１、＃２は、ユーザＢ、Ａが電子メールサブシステム２５にアクセスすることで確認される（ステップＳ１１９、Ｓ１２０）。
【００５１】
図８はタスクツリーを構成するタスクの委譲における処理例を示すシーケンス図である。
【００５２】
図８において、ユーザＢがワークフロー管理システム２のワークフローエンジン２２に対して委譲するタスクおよび委譲先のユーザ（ユーザＡ）を指定すると（ステップＳ１２１）、ワークフローエンジン２２は組織情報ＤＢ２３５に対してユーザの同定を要求し（ステップＳ１２２）、組織情報ＤＢ２３５は委譲元のユーザＢおよび委譲先のユーザＡのユーザＩＤを取得し（ステップＳ１２３）、ワークフローエンジン２２にユーザＢおよびユーザＡのユーザＩＤを返答する（ステップＳ１２４）。
【００５３】
次いで、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対して委譲するタスクの同定を要求し（ステップＳ１２５）、タスクインスタンスＤＢ２３３はタスクの同定を行い（ステップＳ１２６）、ワークフローエンジン２２にタスクＩＤ（タスクＴ）を返答する（ステップＳ１２７）。
【００５４】
次いで、ユーザＢがワークフロー管理システム２のワークフローエンジン２２に対してタスクの委譲を指示すると（ステップＳ１２８）、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対してタスクＴのサブタスクの同定を要求し（ステップＳ１２９）、タスクインスタンスＤＢ２３３はサブタスクの数だけループ処理してタスクを同定し（ステップＳ１３０）、サブタスクＳＴ１〜ＳＴｎのタスクＩＤをワークフローエンジン２２に返答する（ステップＳ１３１）。
【００５５】
次いで、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対してタスクＴおよびサブタスクＳＴ１〜ＳＴｎのアクセス権をユーザＢからユーザＡに変更するよう要求し（ステップＳ１３２）、タスクインスタンスＤＢ２３３はアクセス権の変更を行い（ステップＳ１３３）、ワークフローエンジン２２にアクセス権の変更が完了した旨を通知する（ステップＳ１３４）。
【００５６】
その後、ワークフロー管理システム２では、タスク挿入位置候補の導出、タスク挿入位置候補のユーザＢへの提示、ならびに、ユーザＢからの指示に基づくタスク挿入位置の決定を含むタスク挿入処理を行う（ステップＳ１３５）。タスク挿入処理の詳細については後述する。
【００５７】
次いで、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対して委譲対象タスクの状態変更（決定した位置にタスクを挿入する指示を含む）を要求し（ステップＳ１３６）、タスクインスタンスＤＢ２３３は委譲対象タスクの状態を委譲に変更するとともにタスク位置情報を修正し（ステップＳ１３７）、ワークフローエンジン２２にタスクの状態更新が完了した旨を通知する（ステップＳ１３８）。
【００５８】
次いで、ワークフローエンジン２２は電子メールサブシステム２５に対してタスク委譲があった旨の連絡メール送信を指示し（ステップＳ１３９）、電子メールサブシステム２５はユーザＢ向けのメッセージ＃１およびユーザＡ向けのメッセージ＃２を作成する（ステップＳ１４０、Ｓ１４１）。これらのメッセージ＃１、＃２は、ユーザＢ、Ａが電子メールサブシステム２５にアクセスすることで確認される（ステップＳ１４２、Ｓ１４３）。
【００５９】
図９は挿入されたタスクの周囲のタスクの情報を関係者に通知する処理の例を示すシーケンス図であり、図７のステップＳ１１６〜Ｓ１２０もしくは図８のステップＳ１３９〜Ｓ１４３とともに、あるいは、これらに代えて行われる処理である。
【００６０】
図９において、ワークフロー管理システム２のワークフローエンジン２２はタスクインスタンスＤＢ２３３に対して更新されたタスクの親タスクおよび子タスクの情報の取得を要求し（ステップＳ１５１）、タスクインスタンスＤＢ２３３はそれらの情報を取得し（ステップＳ１５２）、ワークフローエンジン２２に返答する（ステップＳ１５３）。
【００６１】
次いで、ワークフローエンジン２２は電子メールサブシステム２５に対して更新されたタスクの情報、更新されたタスクの親タスクおよび子タスクの情報を通知する連絡メールの送信を指示し（ステップＳ１５４）、電子メールサブシステム２５はユーザＢ向けのメッセージ＃１およびユーザＡ向けのメッセージ＃２を作成する（ステップＳ１５５、Ｓ１５６）。これらのメッセージ＃１、＃２は、ユーザＢ、Ａが電子メールサブシステム２５にアクセスすることで確認される（ステップＳ１５７、Ｓ１５８）。
【００６２】
上記の例では委譲されてユーザＡのタスクツリーに組み込まれたタスクの周囲のタスク（新たに挿入されたタスクの親タスク、子タスク）の情報をユーザＢに通達するものであるが、同様に、新たに挿入されたタスクの兄弟タスクもしくはルートタスクに関する情報を通達することもできる。
【００６３】
図１０は図７のステップＳ１１２もしくは図８のステップＳ１３５におけるタスク挿入処理の例を示すシーケンス図である。なお、タスクを新規作成した場合にも、このタスク挿入処理を適用することができる。
【００６４】
図１０において、ワークフロー管理システム２のワークフローエンジン２２はタスクインスタンスＤＢ２３３に対して、挿入するタスクＴ（タスクツリーを構成するタスクを挿入する場合は、トップのタスクＴおよびサブタスクＳＴ１〜ＳＴｎ）のタスク情報の取得を要求し（ステップＳ２０１）、タスクインスタンスＤＢ２３３はタスク情報を取得し（ステップＳ２０２）、ワークフローエンジン２２にタスク情報を返答する（ステップＳ２０３）。
【００６５】
次いで、ワークフローエンジン２２はタスクインスタンスＤＢ２３３に対してタスクの委譲を受け取るユーザＡ（タスクを新規作成するユーザＡについても同様）のタスクツリー情報（タスクの接続関係を示す情報）の取得を要求し（ステップＳ２０４）、タスクインスタンスＤＢ２３３はタスクツリー情報を取得し（ステップＳ２０５）、ワークフローエンジン２２にタスクツリー情報を返答する（ステップＳ２０６）。
【００６６】
次いで、ワークフローエンジン２２は既に取得した挿入対象のタスク（タスクツリーを構成するタスクの場合はサブタスクを含む）のタスク情報（タスク名、タスクの詳細情報等）から既存タスクツリー上での最適位置検索のために用いるクエリ（検索語）を抽出してクエリセットとする（ステップＳ２０７）。自然文から構成されるタスク情報からのクエリの抽出には、例えば文献「BrainBot BrainFiler詳細説明（http://brainbot.com/site3/produkte/brainfiler/）」に開示されるような方法を用いることができる。また、クエリとして利用しない単語が予めわかっている場合には、ストップワードリストを作成し、それを用いることで抽出対象から除くこともできる。
【００６７】
次いで、ワークフローエンジン２２は検索エンジン２２１に対してクエリセットによるタスク検索を要求し（ステップＳ２０８）、検索エンジン２２１はタスクインスタンスＤＢ２３３に対してタスク検索（タスク位置検索）を行い（ステップＳ２０９）、既存タスクツリー上の位置を示すタスクリストを取得し（ステップＳ２１０）、取得したタスクリストを検索結果としてワークフローエンジン２２に返答する（ステップＳ２１１）。このクエリによるタスク位置検索には、文献「BrainBot BrainFiler詳細説明（http://brainbot.com/site3/produkte/brainfiler/）」に開示されるような方法を用いることができる。
【００６８】
次いで、ワークフローエンジン２２では検索結果の重み付けを行って検索結果の順位付け（ランキング）を行い（ステップＳ２１２）、上位に順位付けされた検索結果と既に取得してあるタスクツリー情報から挿入位置候補を求め（ステップＳ２１３）、ユーザＡに対して挿入位置候補を提示する（ステップＳ２１４）。すなわち、挿入候補位置が複数ある場合には、例えば尤度関数等の予め定められた関数を用いた重み付けの結果に準じた順位付けを行い、それを表示する。重み付け関数は、予め定めることもできるし、ユーザに設定させることもできる。
【００６９】
また、タスクの委譲を受けるユーザは独自のタスクを独自のタスクツリー構造で管理しているため、他のユーザからの委譲タスクをそれらのタスクツリーに編入させたくない場合もある。これに対応するため、予めユーザが委譲タスクの編入を許すタスクツリーもしくはタスクツリーの枝を指定し、挿入位置候補をその範囲内に限定することで、精度向上と利便性を高めることができる。
【００７０】
そして、ユーザＡは提示された挿入位置候補から選択するか、独自に挿入位置を指示することで（ステップＳ２１５）、タスク挿入位置が決定する。
【００７１】
図１１はクエリ抽出に使用するタスク情報とその重み付けをユーザに設定させるためのユーザインタフェースの例を示す図である。
【００７２】
図１１において、ユーザインタフェース画面１００には、タスク情報の中からクエリ抽出元を選択するクエリ抽出元選択欄１０１と、選択したクエリ抽出元について重み付けの数値を設定する重み付け設定欄１０２とが設けられている。なお、重み付けの値は合計が「１００」になるように設定する場合を示しているが、これに限られない。
【００７３】
このようなユーザインタフェースで選択・設定された内容に従って重み付けを行う例を以下に説明する。
【００７４】
各タスク情報のインデックスをｎとし、各タスク情報ｎのクエリ抽出への使用の可否をｕ（ｎ）とする。図１１のクエリ抽出元選択欄１０１で選択されたタスク情報「タスク名」「タスク状態」「親タスク」についてはｕ＝１となり、選択されなかったタスク情報「タスク詳細」「作成日時」「開始日時」「終了日時」「子タスク」「添付書類」「タスク作成者」「タスク委譲者」「タスク実行者」についてはｕ＝０となる。
【００７５】
また、各タスク情報ｎへの重み付けをｗ（ｎ）とする。重み付けｗは正規化し、「０」から「１」の間の値をとるものとする。図１１の重み付け設定欄１０２で設定されたタスク情報「タスク名」に対応する重み付けはｗ＝１０／１００＝０．１となり、タスク情報「タスク状態」に対応する重み付けはｗ＝５０／１００＝０．５となり、タスク情報「親タスク」に対応する重み付けはｗ＝４０／１００＝０．４となる。
【００７６】
また、抽出されたクエリのインデックスをｍとし、クエリｍに対する検索の適合率をｒ（ｍ）とする。適合率ｒは正規化し、「０」から「１」の間の値をとるものとする。
【００７７】
そして、検索結果として取得されたタスクリストの個々のタスク毎に、全てのタスク情報ｎと、タスク情報ｎから抽出されたクエリｍについて、
【００７８】
【数１】
2009064335.tif 000003
を計算することで、最終的な候補の順位付けのための指標を得る。そして、この指標の大きくなる順に候補位置を整列しユーザに提示する。
【００７９】
更に、複数の挿入候補位置の順位付けの他の方法としては、タスクツリーのルートからの距離を用いた方法がある。これは一般にはタスクツリーの構造はタスクの抽象度も同時に表しているという前提を用いたものであり、より抽象度の高い候補を優先的に表示させたい場合にはルートに近い位置を優先し、より低い抽象度の候補を優先したい場合にはルートからの距離が大きい候補位置を優先することで、抽象度に応じた優先順位付けを行うことができる。
【００８０】
図１２はタスク挿入位置候補を提示するユーザインタフェースの例を示す図であり、ユーザインタフェース画面１１０には、既存のタスクツリーにおける挿入位置候補を表示する挿入位置候補表示欄１１１と、各挿入位置候補のランク（候補の順位付けのための指標）を表示するランク表示欄１１２と、挿入位置候補をユーザにより選択させる選択欄１１３とを備えている。また、選択欄１１３により選択された挿入位置候補に挿入を決定するＯＫボタン１１４と、処理をキャンセルするＣａｎｃｅｌボタン１１５と、ユーザの手動操作により挿入位置を決定する動作に移行させる手動ボタン１１６とを備えている。
【００８１】
図１２では、挿入位置候補表示欄１１１に３つのタスク挿入位置候補が表示されており、挿入対象のタスク（部分タスクツリー）が挿入位置候補Ｐ１〜Ｐ３として既存のタスクツリー上に仮に挿入された状態で表示されている。なお、タスクツリーを囲む破線は説明のためのものであり、画面上には表示されない。代わりに、挿入対象であることがユーザにわかるように表示色等を変えて表示される。
【００８２】
ここで、選択欄１１３から例えば一番上の挿入位置候補を選択してＯＫボタン１１４をクリックすることで、その挿入位置候補が挿入位置として決定する。また、手動ボタン１１６をクリックすることで、手動操作に移行する。
【００８３】
図１３は手動によるタスク挿入位置の指定および挿入結果のユーザインタフェースの例を示す図である。（ａ）において、マウスポインタＭを図示の「Task3-1-1」「Task3-1-2」の間の結線部分に置いてクリックすることで、（ｂ）に示すようにその位置にタスクツリーＴＴが挿入される。この状態でＯＫボタン１１４をクリックすることで挿入位置が決定する。
【００８４】
図１４はタスク挿入位置候補をタスクツリーの範囲で提示するユーザインタフェースの例を示す図である。すなわち、図１２では挿入位置候補Ｐ１〜Ｐ３として、挿入されるタスク（タスクツリー）そのものを既存のタスクツリー上に仮に挿入された状態で表示しているが、挿入位置候補を点で特定するのは精度の問題で困難であることもあるため、挿入位置候補の属するツリーの枝全体を挿入位置候補として表示するようにしたものである。この場合、前述した候補の順位付けのための指標によるほか、最もタスクツリーのルートから遠い提案位置を含む枝、最もタスクツリーのルートに近い提案位置を含む枝、最も多くの提案位置を含む枝のいずれかもしくは全てを検出し、挿入位置候補の順位付けを行うことができる。
【００８５】
図１４において、ユーザインタフェース画面１１０の挿入位置候補表示欄１１１にはランクの高い順に上から３つのタスクツリーが表示されており、それぞれのタスクツリーにおいて挿入位置候補となる枝が挿入位置候補Ｐ１１〜Ｐ１３として示されている。なお、タスクを囲む破線は説明のためのものであり、画面上には表示されない。代わりに、挿入位置候補であることがユーザにわかるように表示色等を変えて表示される。
【００８６】
ここで、選択欄１１３から例えば一番上の挿入位置候補を選択して手動ボタン１１６をクリックすると、選択したタスクツリーにつき手動操作する画面（図１３（ａ）と同様）に移行し、その画面上で所望の位置をマウスクリックすることで、その位置にタスクが挿入される（挿入結果は図１３（ｂ）と同様）。
【００８７】
＜総括＞
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００８８】
【図１】本発明の一実施形態にかかるワークフロー管理システムの構成例を示す図である。
【図２】ワークフロー管理システムの実装例を示す図である。
【図３】ワークフローの構造例を示す図である。
【図４】タスクインスタンスデータの例を示す図である。
【図５】タスク委譲に関するデータ構造例を示す図である。
【図６】実施形態の動作の概要を示す図である。
【図７】単一タスクの委譲における処理例を示すシーケンス図である。
【図８】タスクツリーを構成するタスクの委譲における処理例を示すシーケンス図である。
【図９】挿入されたタスクの周囲のタスクの情報を関係者に通知する処理の例を示すシーケンス図である。
【図１０】タスク挿入処理の例を示すシーケンス図である。
【図１１】クエリ抽出に使用するタスク情報とその重み付けをユーザに設定させるためのユーザインタフェースの例を示す図である。
【図１２】タスク挿入位置候補を提示するユーザインタフェースの例を示す図である。
【図１３】手動によるタスク挿入位置の指定および挿入結果のユーザインタフェースの例を示す図である。
【図１４】タスク挿入位置候補をタスクツリーの範囲で提示するユーザインタフェースの例を示す図である。
【符号の説明】
【００８９】
１Ａ、１Ｂ        クライアント
１１Ａ、１１Ｂ    ブラウザ
２                ワークフロー管理システム
２１              ＧＵＩ制御部
２１１            レンダリングエンジン
２１２            入出力制御部
２２              ワークフローエンジン
２２１            検索エンジン
２２２            タスク制御部
２２３            タスク作成部
２２４            タスク実行部
２２５            推測エンジン
２２６            タスク委譲処理部
２２７            タスク挿入処理部
２２８            電子メール対応部
２２９            ワークフロー記録部
２３              データベース
２３１            関連情報ＤＢ
２３２            タスクモデルＤＢ
２３３            タスクインスタンスＤＢ
２３４            作業記録ＤＢ
２３５            組織情報ＤＢ
２４              協調文書作成システム
２５              電子メールサブシステム
２５１            送信サーバ
２５２            受信サーバ
２５３            グループアドレスマップ
２５４            アドレスマップ
２５５            情報抽出部
Ａ、Ｂ            ユーザ
【図１】
2009064335.tif 000004
【図２】
2009064335.tif 000005
【図３】
2009064335.tif 000006
【図４】
2009064335.tif 000007
【図５】
2009064335.tif 000008
【図６】
2009064335.tif 000009
【図７】
2009064335.tif 000010
【図８】
2009064335.tif 000011
【図９】
2009064335.tif 000012
【図１０】
2009064335.tif 000013
【図１１】
2009064335.tif 000014
【図１２】
2009064335.tif 000015
【図１３】
2009064335.tif 000016
【図１４】
2009064335.tif 000017