(57)【要約】【課題】タスク実行に関する情報を収集することにより、タスク実行に必要なリソースについての予測を容易にすること。【解決手段】データベースを備えた管理サーバによって、動的なワークフローを構成するタスクをツリー上の構造で管理するタスク管理システムであって、タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出する算出手段１１０と、算出手段により算出されたタスク活動値を含む、前記タスクに関連する情報を示すタスク情報を格納する第１格納手段４０６と、第１格納手段に格納されたタスク情報に含まれるタスク活動値を表示する表示手段３０１とを備える。【選択図】図４
2010072759.tif 000002
【特許請求の範囲】
【請求項１】
データベースを備えた管理サーバによって、動的なワークフローを構成するタスクをツリー上の構造で管理するタスク管理システムであって、
タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出する算出手段と、
前記算出手段により算出されたタスク活動値を含む、前記タスクに関連する情報を示すタスク情報を格納する第１格納手段と、
前記第１格納手段に格納されたタスク情報に含まれるタスク活動値を表示する表示手段と
を備えるタスク管理システム。
【請求項２】
前記算出手段は、
算出対象タスクに関連するタスクである関連タスクのタスク活動値をさらに用いて、前記算出対象タスクのタスク活動値を算出する請求項１記載のタスク管理システム。
【請求項３】
前記算出手段は、
前記タスク実行に必要なリソースに影響を与えるデータの値に第１の重みを乗算した値と、前記関連タスクのタスク活動値に第２の重みを乗算した値とに基づいて前記タスク活動値を算出する請求項２記載のタスク管理装置。
【請求項４】
前記算出手段により算出されたタスク活動値を用いて算出された値が所定値未満か否かを判定する判定手段と、
前記判定手段により前記所定値未満であると判定された場合、前記タスクに関連するユーザに警告を報知する報知手段と
を備える請求項１乃至３いずれか一項に記載のタスク管理システム。
【請求項５】
前記タスク情報は、前記ツリー構造の下位階層にあるタスクである下位タスクの前記タスク活動値を合計した値を含む請求項１乃至４いずれか一項に記載のタスク管理システム。
【請求項６】
前記表示手段は、
前記タスク活動値を表示する場合、該タスク活動値を有するタスクの子タスクのタスク活動値も表示する請求項１乃至５いずれか一項に記載のタスク管理システム。
【請求項７】
タスクモデルに関連する情報を示すタスクモデル情報を格納する第２格納手段をさらに備え、
前記タスクモデル情報は、前記タスクモデルからインスタンス化されたタスクの前記タスク活動値を含む請求項１乃至６いずれ一項に記載のタスク管理システム。
【請求項８】
前記第２格納手段は、
前記タスクモデル情報に複数のタスク活動値が記憶された場合、前記複数のタスク活動値の平均値及び／又は標準偏差値を含む前記タスクモデル情報を格納する請求項７記載のタスク管理システム。
【請求項９】
前記タスク実行に必要なリソースに影響を与えるデータは、タスクの閲覧に係るデータであるタスク閲覧回数及びタスク閲覧人数、タスク更新回数、サブタスク数、タスクの実行に際して参考にされるデータであるタスクコメント数、タスク添付文書数及びタスク添付文書ページ数の全部又は一部である請求項１乃至８いずれか一項に記載のタスク管理システム。
【請求項１０】
データベースを備えた管理サーバによって、動的なワークフローを構成するタスクをツリー上の構造で管理するタスク管理システムにおけるタスク管理方法であって、
タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出する算出ステップと、
前記算出ステップにより算出されたタスク活動値を、前記タスクに関連する情報を示すタスク情報を格納する第１格納手段に記憶する記憶ステップと、
前記第１格納手段に格納されたタスク情報に含まれるタスク活動値を表示する表示ステップと
を有するタスク管理方法。
【請求項１１】
請求項１０に記載したタスク管理方法をコンピュータに実行させるためのタスク管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タスクをツリー構造で管理するタスク管理システム、タスク管理方法及びタスク管理プログラムに関する。
【背景技術】
【０００２】
従来のワークフロー支援システムは、ワークフロー実行以前にワークフローモデルを決定する必要があった。しかし研究開発や一部のサービス業務など、事前情報の完全性の低い分野では、先行的なワークフローモデルの策定が難しい。
【０００３】
そこで、特開２００８−０７１０８３号公報（特許文献１）には、ワークフロー実行時に動的にモデルを構成できる方法（コンストラクティブワークフロー）が提案されている。
【特許文献１】特開２００７−１８８１４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記システムでは、ワークフローモデルが実行時に規定されるため、ワークフローを構成する各タスクにどの程度のリソースが必要とされるか、予め予測することが困難であった。
【０００５】
そこで、本発明は上記問題に鑑みてなされたものであり、タスク実行に関する情報を収集することにより、タスク実行に必要なリソースについての予測を容易にするタスク管理システム、タスク管理方法及びタスク管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一局面のタスク管理システムは、データベースを備えた管理サーバによって、動的なワークフローを構成するタスクをツリー上の構造で管理するタスク管理システムであって、タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出する算出手段と、前記算出手段により算出されたタスク活動値を含む、前記タスクに関連する情報を示すタスク情報を格納する第１格納手段と、前記第１格納手段に格納されたタスク情報に含まれるタスク活動値を表示する表示手段とを備える。
【０００７】
また、本発明の他の局面のタスク管理方法は、データベースを備えた管理サーバによって、動的なワークフローを構成するタスクをツリー上の構造で管理するタスク管理システムにおけるタスク管理方法であって、タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出する算出ステップと、前記算出ステップにより算出されたタスク活動値を、前記タスクに関連する情報を示すタスク情報を格納する第１格納手段に記憶する記憶ステップと、前記第１格納手段に格納されたタスク情報に含まれるタスク活動値を表示する表示ステップとを有する。
【０００８】
また、本発明のタスク管理システム及びタスク管理方法は、コンピュータに実行させるプログラムやプログラムを記録したコンピュータに読み取り可能な記録媒体として実現することができる。
【発明の効果】
【０００９】
本発明によれば、タスク実行に関する情報を収集することにより、タスク実行に必要なリソースについての予測を容易にするタスク管理システム、タスク管理方法及びタスク管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例について図面を用いて説明する。
【実施例１】
【００１１】
＜ハードウェア構成について＞
まず、本発明の実施例１に係るタスク管理サーバのハードウェア構成について説明ずる。図１は、本発明の実施例１に係るタスク管理サーバのハードウェア構成の一例を示す図である。なお、後述するユーザ端末PC（Personal Computer）のハードウェア構成についても図１に示す構成と同様である。
【００１２】
図１に示すように、タスク管理サーバSVは、制御部１１、主記憶部１２、補助記憶部１３、ネットワークI/F１４、外部記憶装置I/F１５、外部装置I/F１６、出力装置I/F１７及び入力装置I/F１８とから構成されている。
【００１３】
制御部（CPU：Central Processing Unit）１１は、主記憶部１２に記憶されたプログラムを実行する装置で、入力や記憶装置から受け取ったデータを演算処理し、出力装置や記憶装置に出力する。
【００１４】
主記憶部（ROM：Read Only Memory、RAM：Random Access Memory）１２は、制御部１１が実行するプログラムやデータを記憶する装置である。
【００１５】
補助記憶部（HD：Hard Disk）１３は、基本ソフトウェアであるOS（Operating System）やアプリケーションソフトウェアなどを関連するデータとともに記憶する装置である。また、補助記憶部１３には、データベース（DB：Data Base）が構築され、タスク管理システム１００で取り扱う各種情報（各種データ）を格納し管理する。
【００１６】
ネットワークI/F１４は、ネットワークを介して接続された周辺機器と情報（データ）をやり取りするインタフェースである。
【００１７】
外部記憶装置I/F１５は、USB（Universal Serial Bus）などのデータ伝送路を介して接続された外部記憶装置（例えば、記憶メディアドライブなど）とデータをやり取りするインタフェースである。
【００１８】
外部装置I/F１６は、データ伝送路を介して接続された外部入力装置（例えば、デジタルカメラやスキャナなど）とデータをやり取りするインタフェースである。
【００１９】
出力装置I/F１７は、データ伝送路を介して接続された出力装置（例えば、CRT（Cathode Ray Tube）や液晶ディスプレイなど）からデータを受け取るインタフェースである。
【００２０】
入力装置I/F１８は、データ伝送路を介して接続された入力装置（例えば、キーボードやマウスなど）からデータを受け取るインタフェースである。
【００２１】
＜タスク管理システムの機能構成について＞
図２は、実施例１に係るタスク管理システム１００の機能構成の一例を示すブロック図である。タスク管理システム１００は、タスク管理サーバSV、ユーザ端末PCとを含んで構成されている。次に、これらの装置が有する主な構成について、タスク管理サーバSV、ユーザ端末PCの順に説明する。
【００２２】
図２に示すように、タスク管理サーバSVは、システムを使用するユーザUに対してワークフローに関するGUIを提供するGUI提供部１０１と、既存のタスクモデル及び／又はタスクインスタンスからの再利用により動的にワークフローモデルを生成し実行するワークフローエンジン１０４と、各種のデータベース１１２（以下、「DB」と言う。）とを備える。
【００２３】
各種DB１１２としては、ワークフローの実行に際して参考にされる関連情報（添付文書やコメント情報など）を格納する関連情報DB１１３と、添付された文書本体を格納する文書DB１１４と、予め管理者などによってタスクが抽象化されたタスクモデル（タスククラス）を格納するタスクモデルDB１１５と、過去のタスクインスタンスを格納するタスクインスタンスDB１１６と、ワークフローの作業記録を格納する作業記録DB１１７と、ログイン情報（認証情報）などのユーザ情報やユーザの所属部署やグループなどの組織情報を格納する組織情報DB１１８と、ログイン情報（認証情報）などのユーザ情報を格納するユーザ情報DB１１９とを備えている。
【００２４】
GUI提供部１０１は、ユーザ端末PCの表示画面（CRTや液晶ディスプレイなどに表示される画面）を描画するためのレンダリングエンジン１０２と、ユーザとの情報のやり取りを行う入出力制御部１０３を含む。
【００２５】
ワークフローエンジン１０４は、各DB１１３〜１１９に対して各種検索を実行する検索エンジン１０５と、ワークフローを構成するタスクの制御を行うタスク制御部１０６と、ユーザUとタスク管理システム１００の動作を監視してワークフローの作業記録を作業記録DB１１７に対して行うワークフロー記録部１１１とを備えている。
【００２６】
検索エンジン１０５は、関連情報DB１１３、文書DB１１４、タスクモデルDB１１５、タスクインスタンスDB１１６、作業記憶DB１１７、組織情報DB１１８、ユーザ情報DB１１９の各DB１１２に対して各種検索を実行する。
【００２７】
タスク制御部１０６は、タスクを作成するタスク作成部１０７と、作成されたタスクを実行するタスク実行部１０８と、作業記録DB１１７の情報を基にユーザUの現在のタスクを推測し、関連する情報を各DB１１３〜１１６及びDB１１８から検索する推測エンジン１０９と、タスク実行に必要なリソースに影響を与えるデータを用いてタスク活動値を算出する活動値算出部１１０とを備えている。
【００２８】
次に、動作概要としては、ユーザUはGUI提供部１０１の入出力制御部１０３を通じてワークフローエンジン１０４を操作し、ワークフローの作成、実行、ワークフローモデルの作成、関連情報、文書の登録、及びこれらとワークフローインスタンス、ワークフローモデルとのリンクなどの作業を行う。
【００２９】
ワークフローエンジン１０４のタスク制御部１０６は、タスクモデルDB１１５及びタスクインスタンスDB１１６を使用し、ユーザUの指示などに基づいてタスクを制御する。タスク制御部１０６のタスク作成部１０７は、ユーザUの指示に従って各DB１１３〜１１８の情報を基にタスクの作成、情報のリンク付けなどの作業を行う。
【００３０】
タスク実行部１０８は、ユーザUの指示に従ってタスクインスタンスDB１１６の情報を利用し、実際のタスク情報の更新（タスクの実行とはシステム側から見ればタスク情報の更新である。）を行う。推測エンジン１０９は、作業記録DB１１７の情報を基にユーザUの現在のタスクを推測し、関連する情報をDB１１４〜１１６及びDB１１８等から検索する。
【００３１】
活動値算出部１１０は、タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出する。ワークフロー記録部１１１は、ユーザUとシステムの動作を監視し、作業記録を作業記録DB１１７へ格納することで作業の記録を行う（作業履歴を残す）。
【００３２】
なお、実施例１のタスク管理システム１００は、タスク管理サーバSVが備える通信I/F機能（例えば、図１で示した情報処理装置が備えるネットワークI/F１４）によりシステムに接続される複合機MFPなどの機器とデータ通信が行えることから、ユーザUが複合機MFPなどの機器からシステムへログイン／ログアウト、スキャン画像のタスク関連付け（紙文書の情報をタスクの添付情報とする）、タスク添付情報の印刷などを行うことができる。
【００３３】
次に、ユーザ端末PCは、タスク管理サーバSVが備えたGUI提供部１０１のレンダリングエンジン１０２により描画されたタスクに関連する各種情報に対し、タスク管理サーバSVとやり取りを行うための表示画面を表示するブラウザ２０１を備えている。
【００３４】
＜タスク管理システム１００の実装例について＞
以下に、図２で示したタスク管理システム１００の主な機能を実現するためのシステム階層構造について説明する。実施例１に係るタスク管理システム１００の主な機能は、タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出することである。
【００３５】
上記機能を実現するために、タスク管理システム１００は以下のような階層構造を成す。図３は、実施例１に係るタスク管理システム１００の実装例を示す図である。
【００３６】
実施例１での実装例（システム階層構造）では、ユーザUが、ユーザ端末PCが備えるブラウザ２０１を用いてタスク管理システム１００へアクセスできるように、まず、ユーザUに最も近い階層のフロントエンド（Front end）を、Webサーバ（Web Server）２３とHTML（HyperText Markup Language）ベースの強調文書作成システム（HTML-based Collaborative Document System）２２、J2EE（Java 2 Enterprise Edition）Webアプリケーション２１などで構成している。これらには、Webコンテンツ管理システムであるWikiを使用することもできる。また、Webサーバ２３は、図２に示すGUI提供部１０１に相当する。
【００３７】
また、タスク管理システム１００の基本的な機能に関しては、従来のシステムと同じであるため、DB管理機能（データの格納、削除、参照、検索などの機能）などに位置するバックエンド（Back end）を、一般的なタスク管理システムのエンジン２５（Workflow management system）で構成している。
【００３８】
また、タスクや関連情報（添付文書）を検索するための検索エンジンについても、一般的なクエリ（検索要求）に基づいた検索エンジン２６（Search Engine）を用いて構成している。ここで言うタスク管理システムのエンジン２５は、図２に示すワークフローエンジン１０４に相当し、検索エンジン２６は、図２に示す検索エンジン１０５に相当する。
【００３９】
本実装においては、ユーザがWebブラウザ２０１を用いてタスク管理システム１００にアクセスすることを想定しているため、ネットワーク上でのファイルへのアクセスを管理する必要がある。ここでは、NetDrive等のネットワーク上でのファイル管理システムを用いて本機能を実現することができる。
【００４０】
次に、システム階層構造のデータ層（Data layer）は、各種DBで構成され、管理されている。タスクインスタンスやタスクモデルと言ったタスクに関連する情報は、RDF（Resource Description Framework）リポジトリ３１（RDF Repositories）として管理され、添付文書の情報と言った関連情報（添付文書）などは、文書リポジトリやインデックスサーバ３２（Doc.Index）により管理される構成となっている。
【００４１】
RDFリポジトリ３１は、図２に示すタスクモデルDB１１３及びタスクインスタンスDB１１４に相当し、文書リポジトリやインデックスサーバ３２は、図２に示す関連情報DB１１３、文書DB１１４に相当する。
【００４２】
また、ユーザ情報や組織情報も同じくRDFリポジトリ３１で管理されるため、図２に示す組織情報DB１１６もRDFリポジトリ３１に含まれる。
【００４３】
その他の構成要素としては、システム管理者など権限を持ったユーザUによるシステム内のファイル・フォルダ管理するWebDAV（Distributed Authoring and Versioning protocol for the WWW）リポジトリ（WebDAV rep）３３がある。また、ユーザのリソースに関する情報は、MySQL３０データベースのテーブル上で管理される。
【００４４】
＜タスク管理システムの主要機能構成について＞
図４は、実施例１におけるタスク管理システム１００の主要機能構成の一例を示すブロック図である。
【００４５】
図４に示すように、ユーザ端末PCは、表示手段３０１を含み、この機能はブラウザ２０１を用いて実現される。表示手段３０１は、後述するタスク活動値を、ブラウザ２０１を介して表示する。
【００４６】
次に、図４に示すように、活動値算出部１１０は、活動値算出手段４０１、合計値算出手段４０３、平均値算出手段４０４、標準偏差値算出手段４０５を含む。
【００４７】
活動値算出手段４０１は、タスク実行に必要なリソースに影響を与えるデータを用いて、タスクの活動状況を示すタスク活動値を算出する。タスク実行に必要なリソースに影響を与えるデータとは、タスク閲覧数、タスク閲覧者数、タスク更新数、サブタスク数、タスクコメント数、タスク添付文書数、タスク添付文書ページ数などである。
【００４８】
ここで、タスク閲覧数をC1、タスク閲覧者数をC2、タスク更新数をC3、サブタスク数をC4、タスクコメント数をC5、タスク添付文書数をC6、タスク添付文書ページ数をC7とし、各Cnに対する重みをWnとした場合、タスクの活動値関数Ta(T)は、以下の式（１）で表すことができる。
【００４９】
【数１】
2010072759.tif 000003
また、タスク活動値算出に用いるデータはこれら全て又は一部の組み合わせでもよい。このとき、タスク閲覧数C1は必ずCnに含めてタスク活動値を算出する。タスク閲覧数は、タスク実行に必要なリソースに最も影響を与えるデータだからである。また、重みWnについても、タスク閲覧数の重みが一番大きくなるように重みを与える。
【００５０】
ここで、タスクインスタンスDB１１６に格納されるタスク情報と作業記録ＤＢ１１７に格納される作業記録情報のデータ構造について説明する。図５は、タスク情報のデータ構造の一例を示す図である。タスク情報は、図４の第１格納手段に格納される。
【００５１】
図５に示すように、タスク情報は、データラベルとして、タスク名、タスク情報、実行者IDなどを含む。また、タスク情報は、タスク活動値、完了時活動値、下位タスク活動値を含む。タスク活動値は、活動値算出手段４０１により算出されたタスク活動値が記憶される。なお、タスク活動値を算出するタイミングは任意のタイミングで計算可能である。例えば、タスク活動値算出に用いられるデータが更新された時に、タスク活動値を算出するようにすればよい。
【００５２】
完了時活動値は、タスクが完了したときに活動値算出手段４０１により算出されたタスク活動値を記憶する。タスク実行の記録として用いる場合には、タスク終了時のタスク活動値を用いるのが適当である。
【００５３】
タスクAの完了時のタスク活動値がTaである場合、タスクをインスタンス化するときの記録として保持することができる。適当なアクセス制御を受けることで、任意のユーザは過去のタスクを参照し、これをコピーすることで再利用が可能である。このときタスクをインスタンス化するときの記録として、タスク活動値Taを参照することが可能である。
【００５４】
下位タスク活動値は、下位タスク（タスク活動値を算出するタスクの下位階層にあるタスク全てを下位タスクという）のタスク活動値の合計を示す値である。この下位タスク活動値は、タスク活動値を算出するのに注目しているタスクの下位タスクのタスク活動値を合計して記憶する。下位タスクのタスク活動値の合計をユーザに提示することにより、今後必要となるリソースを事前にユーザに知らせることができる。
【００５５】
なお、ここでは、タスク活動値と完了時活動値との両方を記憶するようにしたが、完了時活動値のみを記憶し、タスク活動値は必要であれば記憶するようにしてもよい。
【００５６】
また、子タスクのタスク活動値をタスク情報の属性値として記憶するようにしてもよい。完全分割ルールが満たされている場合、子タスクのタスク活動値の合計を、親タスクのタスク活動値として利用することができる。
【００５７】
完全分割ルールとは、例えば子タスクの必要リソースの合計が、親タスクの必要リソースとなり、親タスクの開始日、終了日が、すべての子タスクの開始日、終了日のうちの、それぞれ、最初の開始日、最後の終了日に一致する場合、これを完全分割ルールが満たされている場合をいう。完全分割ルールが満たされるタスク構造の例としては、PMI（Project Management Institute）によりPMBOK(Project Management Body of Knowledge)中で提唱されているWork Breakdown Structure (WBS)などがある。
【００５８】
また、完全分割ルールが満たされない場合は、子タスクのタスク活動値の合計とは別に、親タスク自体のタスク活動値を算出する必要がある。
【００５９】
図６は、作業記録情報のデータ構造の一例を示す図である。図６に示すように、作業記録情報のデータラベルとして、サブタスク（子タスク）ID、閲覧者ID、閲覧日時、タスク更新ID、更新者ID、更新日時などを含む。この作業記録情報を参照することにより、前述したC1〜C4を求めることができる。
【００６０】
図４に戻り、活動値算出手段４０１に含まれる伝播値算出手段４０２について説明する。ここで、タスク活動値を算出するタスクを注目タスクと呼ぶことにする。伝播値算出手段４０２は、注目タスクに関連するタスクのタスク活動値を用いて伝播値を算出し、算出した伝播値を式（１）で算出された値に加算して注目タスクのタスク活動値を算出する。
【００６１】
伝播値を含めたタスク活動値は、以下の式（２）で求められる。
【００６２】
【数２】
2010072759.tif 000004
ここで、Pmは以下で定義される。
・P1は、予め定義されたワークフローにおいて、タスクTの直前に位置するi個のタスクTp1〜Tpiの平均活動値とする
・P2は、予め定義されたワークフローにおいて、タスクTの直後に位置するj個のタスクTs1〜Tsjの平均活動値とする
・P3は、タスクが階層構造をなしている場合、タスクTの親タスクThの活動値とする
・P4は、タスクが階層構造をなしている場合、タスクTのk個の子タスクTr1〜Trkの平均活動値とする
また、UmはPmに対する重みである。重みの値はユーザにより事前に与えられる。また、Pmは、P1〜P4全てもしくはこれらの一部の組み合わせとする。
【００６３】
伝播値を含めたタスク活動値を計算することにより、子タスクなどの関連タスクのタスク活動値の加重平均を利用することで、より現実に即したタスク活動値の算出が可能となる。
【００６４】
伝播値を計算する際、単純に親子関係の関連性のみではなく、それ以外の関連付けられたタスクのタスク活動値計算に影響を与えるため、タスク活動値の計算が反復計算する場合がある。このとき、タスク活動値を計算に、自分のタスク活動値を参照することを防いだり、反復計算の回数を制限したりすればよい。
【００６５】
次に、合計値算出手段４０３は、注目タスクの子タスクの合計値及び／又は下位タスクのタスク活動値の合計値を算出する。算出した合計値はタスクインスタンスDB１１６に格納される。
【００６６】
次に、平均値算出手段４０４、標準偏差値算出手段４０５について説明する。平均値算出手段４０４は、あるタスクモデルからインスタンス化されたタスクのタスク活動値の平均値を算出する。
【００６７】
タスクモデルを用いるシステムの場合、あるタスクモデルTmからインスタンス化されたタスクを同定し、Tmからインスタンス化されたタスクをTm1, Tm2, Tm3, …Tmnとする。Tm1〜Tmnそれぞれについて、完了時のタスクのタスク活動値を得て、これらをTam1〜Tamnとする。インスタンス化されたタスクのタスク活動値をタスクモデルTmの属性値として記録することができる。
【００６８】
ここで、平均値算出手段４０４は、インスタンス化されたタスクのタスク活動値を用いて、以下の式（３）によりタスク活動値の平均値を算出する。
【００６９】
【数３】
2010072759.tif 000005
また、標準偏差値算出手段４０５は、以下の式（４）によりタスクの標準偏差値（STD）を算出する。
【００７０】
【数４】
2010072759.tif 000006
平均値算出手段４０４により算出された平均値及び標準偏差値算出手段４０５により算出された標準偏差値は、タスクモデルTmの属性値として、タスクモデルDB１１５に格納される。
【００７１】
これより、タスクモデル情報にタスク活動値の平均値及び／又は標準偏差値が記憶されることにより、このタスクモデルからインスタンス化してタスクを生成する場合、過去の事例でかかった大まかな値（平均）、事例間のばらつき（標準偏差値）を用いて、必要リソースの予測を容易にすることができる。
【００７２】
図７は、タスクモデル情報のデータ構造の一例を示す図である。タスクモデル情報は、図４の第２格納手段に格納される。図７に示すように、記憶されているタスク活動値Tam1〜Tamnの平均値がAvであり、標準偏差値がSTDであることを表している。なお、タスク活動値は、このタスクモデルを用いてインスタンス化されたタスクのタスク活動値を示す。なお、このタスク活動値には、インスタンス化されたタスクの分だけタスク活動値が記憶される。また、ここでは、平均値と標準偏差値とを記憶するようにしたが、平均値のみを記憶し、標準偏差値を必要であれば記憶するようにすればよい。
【００７３】
図４に戻り、第１格納手段４０６は、図２のタスクインスタンスDB１１６に相当し、第２格納手段は、図２のタスクモデルDB１１５に相当する。
【００７４】
判定手段４０８は、第１格納手段４０６に格納されるタスク情報のタスク活動値をタスク実行時間（使用時間）で除算した値を単位時間当たりの活動値として算出する。次に、判定手段４０８は、この単位時間当たりのタスク活動値と閾値とを比較して、単位時間当たりのタスク活動値の方が小さいか否かを判定する。
【００７５】
また、判定手段４０８は、単位時間当たりのタスク活動値を算出する以外にも、ユーザ一人当たりのタスク活動値を算出してもよい。ユーザ一人当たりのタスク活動値は、タスク情報のタスク活動値をそのタスクに関連するユーザ数で除算して算出することができる。この場合にも、判定手段４０８は、ユーザ一人当たりのタスク活動値と、前述した閾値とは異なる値の閾値とを比較して、ユーザ一人当たりのタスク活動値の方が小さいか否かを判定する。なお、関連するユーザは、タスクに対して事前に設定されていてもよいし、関連するタスクの実行者IDを加算することでユーザ数を算出してもよい。
【００７６】
判定手段４０８は、算出した単位時間当たりのタスク活動値、又は、ユーザ一人当たりのタスク活動値が閾値よりも小さい場合、その旨を報知手段４０９に通知する。
【００７７】
報知手段４０９は、判定手段４０８より、単位時間当たりのタスク活動値、又は、ユーザ一人当たりのタスク活動値が閾値よりも小さい旨の通知を受けた場合、タスクの活動が予定に達していないと判断して、タスクに関連するユーザに対して警告を発する。ここで、関連するユーザは、前述したように予め設定されていてもよいし、その都度算出してもよい。
【００７８】
この警告は例えば、ユーザに電子メールで送付したり、表示画面に警告を表示したり、音声でユーザに知らせるようにしてもよい。なお、電子メールで警告を発する場合、タスク名、タスクURI等を記載し、どのタスクが予定に達していないかをユーザに明確に伝えるようにする。また、表示画面や音声で警告する場合も同様に、どのタスクが予定に達していないかをユーザに明確に伝えるようにする。
【００７９】
＜タスク活動値の算出処理について＞
図８は、実施例１におけるタスク活動値の算出処理の一例を示すシーケンス図である。ステップ１０１において、ユーザはブラウザ２０１を用いて、タスク情報の記述を更新する。例えば、ユーザはサブタスクを登録したり、文書を添付したりしてタスク情報を更新する。
【００８０】
ステップ１０１に続いてステップ１０２に進み、タスク制御部１０６は、GUI提供部１０１を介して、タスク情報の更新指示を受けると、タスクインスタンスDB１１６に対して、タスク情報の更新を指示し、更新内容を出力する。
【００８１】
ステップ１０２に続いてステップ１０３に進み、タスクインスタンスDB１１６は、タスク制御部１０６から取得した更新内容に基づいて、タスク情報の更新を行う。ステップ１０３に続いてステップ１０４に進み、タスクインスタンスDB１１６は、更新が完了すると、タスク制御部１０６に対して、更新完了を通知する。
【００８２】
ステップ１０４に続いてステップ１０５に進み、タスク制御部１０６は、更新されたタスク活動値を活動値算出部１１０により計算する。ここでは、タスク活動値の算出に用いる式は上記式（２）を用いることにする。ステップ１０５に続いてステップ１０６に進み、タスク制御部１０６は、タスクインスタンスDB１１６に対して、更新されたタスクIDなどを基にタスクツリー情報の取得要求を行う。
【００８３】
ステップ１０６に続いてステップ１０７に進み、タスクインスタンスDB１１６は、タスク制御部１０６から取得したタスクIDに関連するタスクツリーを検索する。ステップ１０７に続いてステップ１０８に進み、タスクインスタンスDB１１６は、タスク制御部１０６に対して、検索結果であるタスクツリー情報を出力する。
【００８４】
ステップ１０８に続いてステップ１０９に進み、タスク制御部１０６は、タスクインスタンスDB１１６から取得したタスクツリーの中から、上下一階層の親タスク、子タスクのタスク活動値を計算する。
【００８５】
ここでは、伝播値算出手段４０２による伝播値関数を用いてタスク活動値を計算するため、あるタスクのタスク情報が更新されてタスク活動値が計算されると、そのタスクに関連するタスクのタスク活動値にまで影響を及ぼす。よって、タスク制御部１０６は、関連するタスクのタスク活動値を再計算する。
【００８６】
ステップ１０９に続いてステップ１１０に進み、タスク制御部１０６は、計算した親タスク、子タスクのタスク活動値を更新するための要求をタスクインスタンスDB１１６に対して行う。
【００８７】
ステップ１１０に続いてステップ１１１に進み、タスクインスタンスDB１１６は、タスク制御部１０６から更新要求を受けた親タスク、子タスクのタスク活動値を更新する。ステップ１１１に続いてステップ１１２に進み、タスクインスタンスDB１１６は、タスク制御部１０６に対して、タスク活動値の更新結果を通知する。
【００８８】
ステップ１１２に続いてステップ１１３に進み、タスク制御部１０６は、GUI提供部１０１を介して、ユーザにタスク活動値の更新結果を表示する。このとき、表示されるタスクのタスク活動値は、更新された全てのタスク活動値であってもよいし、ユーザがタスク情報を更新したタスクのタスク活動値のみであってもよい。
【００８９】
以上、図８に示す処理を行うことにより、タスクの活動状況を示すタスク活動値を計算し、ユーザにタスク活動値を提示することで、タスクに必要なリソースの予測を容易にすることができる。また、式（２）に示すように伝播値関数を用いることで、関連タスクを考慮してタスクに必要なリソースを予測することができる。
【００９０】
なお、図８に示す例では、タスク情報が更新されたタイミングで、タスクのタスク活動値を計算しているが、任意のタイミングでタスク活動値を計算してもよい。また、伝播値を用いない式（１）によりタスク活動値を計算する場合は、ステップ１０６以降の処理は不要となり、よりシンプルな式でタスク活動値を計算することができる。この場合、タスク情報に下位タスク活動値の項目がある場合は、更新されたタスクの親タスクのタスク情報のうち、下位タスク活動値を更新する必要がある。
【００９１】
＜下位タスクのタスク活動値合計算出処理について＞
図９は、実施例１における下位タスクのタスク活動値算出処理の一例を示すシーケンス図である。図９に示す処理において、図８に示す処理と同様の処理を行うものは、同じ符号を付し、その説明を省略する。なお、図９に示す処理では、ユーザはタスクAのタスク情報の記述を更新する。
【００９２】
ステップ２０１は、タスク制御部１０６は、取得したタスクツリー情報から全ての子タスク（下位タスク）のタスクIDを取得する。ステップ２０１に続いてステップ２０２に進み、タスク制御部１０６は、下位タスク全てに対して、前述した式（２）によりタスク活動値を計算する。
【００９３】
ステップ２０２に続いてステップ２０３に進み、タスク制御部１０６は、合計値算出手段４０３により、全ての子タスクである下位タスクのタスク活動値の合計値を算出する。
【００９４】
ステップ２０３に続いてステップ２０４に進み、タスク制御部１０６は、ステップ１０５にて計算したタスクAのタスク活動値、ステップ２０３にて計算した下位タスクのタスク活動値の合計をタスク情報に記憶するため、タスク情報の更新要求をタスクインスタンスDB１１６に対して行う。
【００９５】
ステップ２０４に続いてステップ２０５に進み、タスクインスタンスDB１１６は、タスク制御部１０６から取得したタスクAのタスク活動値と、下位タスクのタスク活動値の合計とをタスク情報に記憶することで、タスクAのタスク情報を更新する。
【００９６】
ステップ２０５に続いてステップ２０６に進み、タスクインスタンスDB１１６は、タスク制御部１０６に対して、更新結果を出力する。
【００９７】
ステップ２０６に続いてステップ２０７に進み、タスク制御部１０６は、GUI提供部１０１を介して、ユーザに下位タスクのタスク活動値合計を含む更新結果を表示する。
【００９８】
図９に示す処理により、下位タスクをユーザに提示することができるため、ユーザは、今後のタスク処理に必要なリソースの予測を容易に行うことができるようになる。なお、図９に示す例では、タスク情報が更新されたタイミングで、タスクのタスク活動値を計算しているが、任意のタイミングでタスク活動値を計算してもよい。
【００９９】
＜関連タスクのタスク活動値を利用する処理について＞
図１０は、実施例１における関連タスクのタスク活動値を利用する処理の一例を示すシーケンス図である。図１０に示す処理において、図８に示す処理と同様の処理を行うものは、同じ符号を付しその説明を省略する。なお、図１０に示す例では、ユーザはタスクbのタスク情報の記述を更新する。
【０１００】
ステップ３０１において、タスクインスタンスDB１１６は、検索エンジン１０５に対して、タスクbのタスク情報を出力する。ステップ３０１に続いてステップ３０２に進み、検索エンジン１０５は、取得したタスク情報から検索語を抽出する。検索語は、サブタスクのIDなどである。
【０１０１】
ステップ３０２に続いてステップ３０３に進み、検索エンジン１０５は、抽出した検索語に基づき、タスクの検索要求をタスクインスタンスDB１１６に対して行う。
【０１０２】
ステップ３０３に続いてステップ３０４に進み、タスクインスタンスDB１１６は、検索語に基づきタスクの検索を行う。ステップ３０４に続いてステップ３０５に進み、タスクインスタンスDB１１６は、タスク検索の結果として検索されたタスクのIDリストを、検索エンジン１０５に出力する。
【０１０３】
ステップ３０５に続いてステップ３０６に進み、検索エンジン１０５は、タスク制御部１０６に対して、タスクIDリストを出力する。
【０１０４】
ステップ３０６に続いてステップ３０７に進み、タスク制御部１０６は、GUI提供部１０１を介して、検索エンジン１０５から取得したタスクIDリストをユーザに提示する。ステップ３０７に続いてステップ３０８に進み、ユーザは、ブラウザ２０１を用いてタスクbに関連するタスクとしてタスクAを指示する。
【０１０５】
ステップ３０８に続いてステップ３０９に進み、タスク制御部１０６は、タスクインスタンスDB１１６に対して、タスクAのタスク活動値の取得要求を行う。
【０１０６】
ステップ３０９に続いてステップ３１０に進み、タスクインスタンスDB１１６は、活動値取得要求を受けるとタスクAのタスク活動値を参照し、ステップ３１１において、タスクAのタスク活動値をタスク制御部１０６に出力する。
【０１０７】
ステップ３１１に続いてステップ３１２に進み、タスク制御部１０６は、GUI提供部１０１を介して、タスクAのタスク活動値をユーザに提示する。次に、ユーザは、提示されたタスク活動値をタスクbのタスク活動値として設定するなどが可能となる。
【０１０８】
なお、図１０では、タスクAのタスク活動値のみをユーザに提示したが、タスクAの子タスクのタスク活動度も提示してもよい。このとき、タスク情報に子タスクのタスク活動度が記憶されていればそれを提示し、記憶されていなければサブタスクに関する情報から子タスクを特定し、その子タスクのタスク活動度を提示すればよい。
【０１０９】
図１１に示す処理により、既存のタスク及びその子タスクを再利用する場合、参照情報として既存のタスク及びその子タスクのタスク活動値を提示することができる。
【０１１０】
＜警告処理について＞
図１１は、実施例１における警告処理の一例を示すシーケンス図である。図１１に示す処理において、図８と同様の処理を行うものは、同じ符号を付し、その説明を省略する。
【０１１１】
ステップ４０１において、タスク制御部１０６は、更新されたタスクの実行時間（使用時間）の取得要求をタスクインスタンスDB１１６に対して行う。
【０１１２】
ステップ４０１に続いてステップ４０２に進み、タスクインスタンスDB１１６は、タスク制御部１０６から実行時間の取得要求を受けると、更新されたタスクの実行時間を参照する。ステップ４０２に続いてステップ４０３に進み、タスクインスタンスDB１１６は、タスク制御部１０６に対し、参照した実行時間を出力する。
【０１１３】
ステップ４０３に続いてステップ４０４に進み、タスク制御部１０６は、タスク活動値を実行時間で除算した単位時間当たりのタスク活動値を算出し、判定手段４０８により閾値よりも小さいか否かの判定を行なう。
【０１１４】
判定手段４０８により単位時間当たりのタスク活動値が閾値よりも小さいと判断された場合は、ステップ４０４に続いてステップ４０５に進み、タスク制御部１０６は、電子メールサブシステムに対して、タスク情報を出力すると共に警告メール送信指示を行う。
【０１１５】
ステップ４０５に続いてステップ４０６に進み、電子メールサブシステム（報知手段４０９に相当）は、取得したタスク情報に基づいてメッセージを作成する。例えば、タスク名やタスクのURIを含んでどのタスクかを特定できるようにしてメッセージを作成する。
【０１１６】
ステップ４０６に続いてステップ４０７に進み、電子メールサブシステムは、作成したメッセージである警告電子メールをユーザに送信する。ここでは、送信先のユーザについて、タスクに応じて予め定められているとする。
【０１１７】
図１１に示す処理により、タスク活動値を用いて警告判定を行ない、警告電子メールをユーザに送信することで、タスクの活動が予定に達していないことを知らせることができる。なお、図１１に示す処理では、単位時間当たりのタスク活動値を算出したが、これに限らず、ユーザ一人当たりのタスク活動値を算出してもよい。また、図１１に示す処理では、電子メールにて警告を行ったが、これに限らず、ユーザ端末の表示画面に警告を表示したり、音声を用いたりして警告を行ってもよい。
【０１１８】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１１９】
なお、実施例において説明した処理内容をプログラムとし、このプログラムをコンピュータに実行させて前述した処理をタスク管理システムに実行させることも可能である。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理をタスク管理システムに実行させることも可能である。
【図面の簡単な説明】
【０１２０】
【図１】実施例１に係るタスク管理サーバのハードウェア構成の一例を示す図。
【図２】実施例１に係るタスク管理システムの機能構成の一例を示すブロック図。
【図３】実施例１に係るタスク管理システムの実装例を示す図。
【図４】実施例１におけるタスク管理システムの主要機能構成の一例を示すブロック図。
【図５】タスク情報のデータ構造の一例を示す図。
【図６】作業記録情報のデータ構造の一例を示す図。
【図７】タスクモデル情報のデータ構造の一例を示す図。
【図８】実施例１におけるタスク活動値の算出処理の一例を示すシーケンス図。
【図９】実施例１における下位タスクのタスク活動値算出処理の一例を示すシーケンス図。
【図１０】実施例１における関連タスクのタスク活動値を利用する処理の一例を示すシーケンス図。
【図１１】実施例１における警告処理の一例を示すシーケンス図。
【符号の説明】
【０１２１】
１００  タスク管理システム
１１  制御部
１２  主記憶部
１３  補助記憶部
１４  ネットワークI/F
１５  外部記憶装置I/F
１６  外部装置I/F
１７  出力装置I/F
１８  入力装置I/F
１０１  GUI提供部
１０２  レンダリングエンジン
１０３  入出力制御部
１０４  ワークフローエンジン
１０５  検索エンジン
１０６  タスク制御部
１０７  タスク作成部
１０８  タスク実行部
１０９  推測エンジン
１１０  活動値算出部
１１１  ワークフロー記録部
１１２  データベース
１１３  関連情報DB
１１４  文書DB
１１５  タスクモデルDB
１１６  タスクインスタンスDB
１１７  作業記録DB
１１８  組織情報DB
１１９  ユーザ情報DB
２０１  ブラウザ
３０１  表示手段
４０１  活動値算出手段
４０２  伝播値算出手段
４０３  合計値算出手段
４０４  平均値算出手段
４０５  標準偏差値算出手段
４０６  第１格納手段
４０７  第２格納手段
４０８  判定手段
４０９  報知手段
【図１】
2010072759.tif 000007
【図２】
2010072759.tif 000008
【図３】
2010072759.tif 000009
【図４】
2010072759.tif 000010
【図５】
2010072759.tif 000011
【図６】
2010072759.tif 000012
【図７】
2010072759.tif 000013
【図８】
2010072759.tif 000014
【図９】
2010072759.tif 000015
【図１０】
2010072759.tif 000016
【図１１】
2010072759.tif 000017