(57)【要約】【課題】タスク間の関係を有する複数のタスクからなるワークフローを管理するタスク管理システムにおいて、スケジュール管理と連携させてタスク管理を行うこと。【解決手段】ワークフローを構成する複数のタスクを管理するタスク管理部と、ユーザのスケジュールを管理するスケジュール管理部とを備えるタスク管理システムであって、前記タスク管理部は、前記タスクを特定する特定手段３０１と、前記特定手段により特定されたタスクに対応するタスク情報に基づいてスケジュール情報を作成する作成手段３０３とを備え、前記スケジュール管理部は、前記作成手段により作成されたスケジュール情報に基づいてユーザのスケジュールを管理する管理手段４０１を備える。【選択図】図４
2010049457.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローを構成する複数のタスクを管理するタスク管理部と、ユーザのスケジュールを管理するスケジュール管理部とを備えるタスク管理システムであって、
前記タスク管理部は、
前記タスクを特定する特定手段と、
前記特定手段により特定されたタスクに対応するタスク情報に基づいてスケジュール情報を作成する作成手段とを備え、
前記スケジュール管理部は、
前記作成手段により作成されたスケジュール情報に基づいてユーザのスケジュールを管理する管理手段を備えるタスク管理システム。
【請求項２】
前記タスク管理部は、
第１ユーザのタスクを第２ユーザに委譲する委譲手段を備え、
前記特定手段は、前記委譲手段により委譲されるタスクを特定し、
前記作成手段は、前記委譲されるタスクに基づいて前記第２ユーザのスケジュール情報を作成し、
前記管理手段は、前記第２ユーザのスケジュールを管理する請求項１記載のタスク管理システム。
【請求項３】
前記タスク管理部は、
前記スケジュール情報を作成するか否かを前記第２ユーザに選択させる選択手段をさらに備える請求項２記載のタスク管理システム。
【請求項４】
前記タスク管理部は、
前記委譲手段により、前記第１ユーザから、ユーザをグループ化したユーザグループに前記第１ユーザのタスクが委譲された場合、
前記ユーザグループに属するユーザ毎に、前記ユーザのタスクに対する処理権限と前記タスクの種類とに基づいて、委譲されたタスクのタスク情報から前記ユーザのスケジュール情報を作成するか否かを判定する作成判定手段をさらに備える請求項２記載のタスク管理システム。
【請求項５】
前記タスク管理部は、
前記委譲手段により委譲されたタスクに対応するタスクの種類を判別する判別手段と、
前記判別手段により判別されたタスクの種類に対応づけられた予想リソースから、前記委譲されたタスクの予想リソース値を算出する算出手段と、
前記算出手段により算出された予想リソース値と前記第２ユーザのスケジュールとから、前記第２ユーザが前記委譲されたタスクについて処理可能か否かを判定する処理判定手段と
をさらに備える請求項２いずれか一項に記載のタスク管理システム。
【請求項６】
前記スケジュール情報に含まれる開始時刻及び終了時刻から計算される所要時間に基づいて、前記タスクのタスク情報に含まれる実行時間を更新する請求項１乃至５いずれか一項に記載のタスク管理システム。
【請求項７】
前記タスク情報は、
タスク開始予定日時、タスク完了予定日時、タスク開始日時、及びタスク終了日時に関する情報のいずれかもしくは組み合わせを含む請求項１乃至６いずれか一項に記載のタスク管理システム。
【請求項８】
ワークフローを構成する複数のタスクを管理するタスク管理装置であって、
前記タスクを特定する特定手段と、
前記特定手段により特定されたタスクに対応するタスク情報に基づいてスケジュール情報を作成する作成手段と、
前記作成手段により作成されたスケジュール情報に基づいてユーザのスケジュールを管理する管理手段と
を備えるタスク管理装置。
【請求項９】
ワークフローを構成する複数のタスクを管理するタスク管理部と、ユーザのスケジュールを管理するスケジュール管理部とを備えるタスク管理システムにおけるタスク管理方法であって、
前記タスク管理部が、前記タスクを特定する特定ステップと、
前記タスク管理部が、前記特定ステップにより特定されたタスクに対応するタスク情報に基づいてスケジュール情報を作成する作成ステップと、
前記スケジュール管理部が、前記作成ステップにより作成されたスケジュール情報に基づいてユーザのスケジュールを管理する管理ステップと
を有するタスク管理方法。
【請求項１０】
請求項９に記載のタスク管理方法をコンピュータに実行可能なタスク管理プログラム。
【請求項１１】
請求項１０に記載のタスク管理プログラムを記録したコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューラと統合したタスク管理システム、タスク管理装置、タスク管理方法、タスク管理プログラム及び記録媒体に関する。
【背景技術】
【０００２】
今日のオフィス業務、例えば研究開発やコンサルタント業務においては、業務の分業化が進んでいる。またエキスパートとノービスの間の業務効率の隔たりが大きいことも、これらの業務の特徴である。そのため特定の業務は専門家に依頼したほうが作業者グループ全体としての効率は向上すると考えられるが、作業の依頼自体はオーバーヘッドとなりうるため、専門家が作業することによる効率向上と、専門家への作業依頼はトレードオフの関係があると思われる。
【０００３】
この問題を解決するために、タスク管理システムの側面からいくつかの提案がなされてきた。Microsoft Outlook（登録商標）、Exchange serverやIBM Lotus Notes（登録商標）システムにおいては、ユーザ間でタスクの依頼が可能であり、タスク依頼をシステムがサポートすることにより上記トレードオフを軽減し、グループ全体での生産性向上を目指している。
【０００４】
ただしこれらのシステムでは、タスク間の関係を保持したまま複数のタスクを依頼することができなかった。このため、依頼するタスクを含めたタスク構成全体の整合性を保つことが難しいという難点があった。
【０００５】
この問題を解決するために、特開２００７−１８８１４２号公報（特許文献１）には、部分タスクツリーの委譲というアイディアに基づいたシステムが提案されている。
【特許文献１】特開２００７−１８８１４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記システムでは、タスクをやり取りするユーザのリソースを管理する手段を持たないため、タスクの委譲を受けるユーザ側の状態がシステム上で考慮されていない。
【０００７】
また、タスク間の関係を有する複数のタスクからなるワークフローを管理するタスク管理システムにおいて、ユーザが有する複数のタスクのタスク情報と、このユーザのリソース情報であるスケジュール情報との連携がとられていないという問題点があった。
【０００８】
そこで本発明は、上記問題に鑑みてなされたものであり、タスク間の関係を有する複数のタスクからなるワークフローを管理するタスク管理システムにおいて、スケジュール管理と連携してタスク管理を行うことができるタスク管理システム、タスク管理装置、タスク管理方法、タスク管理プログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一局面のタスク管理システムは、ワークフローを構成する複数のタスクを管理するタスク管理部と、ユーザのスケジュールを管理するスケジュール管理部とを備えるタスク管理システムであって、前記タスク管理部は、前記タスクを特定する特定手段と、前記特定手段により特定されたタスクに対応するタスク情報に基づいてスケジュール情報を作成する作成手段とを備え、前記スケジュール管理部は、前記作成手段により作成されたスケジュール情報に基づいてユーザのスケジュールを管理する管理手段を備える。
【００１０】
また、本発明の他の局面のタスク管理装置は、ワークフローを構成する複数のタスクを管理するタスク管理装置であって、前記タスクを特定する特定手段と、前記特定手段により特定されたタスクに対応するタスク情報に基づいてスケジュール情報を作成する作成手段と、前記作成手段により作成されたスケジュール情報に基づいてユーザのスケジュールを管理する管理手段とを備える。
【００１１】
また、本発明の他の局面のタスク管理方法は、ワークフローを構成する複数のタスクを管理するタスク管理部と、ユーザのスケジュールを管理するスケジュール管理部とを備えるタスク管理システムにおけるタスク管理方法であって、前記タスク管理部が、前記タスクを特定する特定ステップと、前記タスク管理部が、前記特定ステップにより特定されたタスクに対応するタスク情報に基づいてスケジュール情報を作成する作成ステップと、前記スケジュール管理部が、前記作成ステップにより作成されたスケジュール情報に基づいてユーザのスケジュールを管理する管理ステップとを有する。
【００１２】
また、本発明のタスク管理システム、タスク管理装置及びタスク管理方法は、コンピュータとプログラムにより実現することができ、プログラムを記録した記録媒体をコンピュータに読み取らせて実現することも可能である。
【発明の効果】
【００１３】
本発明によれば、タスク間の関係を有する複数のタスクからなるワークフローを管理するタスク管理システムにおいて、スケジュール管理と連携してタスク管理を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施例について図面を用いて説明する。
【実施例１】
【００１５】
＜ハードウェア構成について＞
まず、本発明の実施例１に係るタスク管理装置のハードウェア構成について説明ずる。図１は、本発明の実施例１に係るタスク管理装置のハードウェア構成の一例を示す図である。
【００１６】
図１に示すように、タスク管理装置に相当するタスク管理サーバSV及びユーザ端末PCは、制御部１１、主記憶部１２、補助記憶部１３、ネットワーク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」と言う。）と、ユーザのスケジュールを管理するスケジューラ１１８と、スケジューラに関するGUIを提供するGUI１２０とを備えている。
【００２７】
各種DB１１１としては、ワークフローの実行に際して参考にされる関連情報（添付文書やコメント情報など）を格納する関連情報DB１１２と、予め管理者などによって抽象化されたタスクモデル（タスククラス）を格納するタスクモデルDB１１３と、過去のタスクインスタンスを格納するタスクインスタンスDB１１４と、ワークフローの作業記録を格納する作業記録DB１１５と、ログイン情報（認証情報）などのユーザ情報やユーザの所属部署やグループなどの組織情報を格納する組織情報DB１１６と、リソース（スケジュール項目や、ヒューマンリソース管理用の情報）関連の情報を格納するリソースDB１１７とを備えている。
【００２８】
GUI１０１、１２０は、ユーザ端末PCの表示画面（CRTや液晶ディスプレイなどに表示される画面）を描画するためのレンダリングエンジン１０２、１２１と、ユーザとの情報のやり取りを行う入出力制御部１０３、１２２を含む。
【００２９】
ワークフローエンジン１０４は、DB１１２〜１１７に対して各種検索を実行する検索エンジン１０５と、ワークフローを構成するタスクの制御を行うタスク制御部１０６と、DB１１２〜１１４及びDB１１６を参照し、ユーザUとタスク管理システム１００の動作を監視してワークフローの作業記録を作業記録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１１５へ格納することで作業の記録を行う（作業履歴を残す）。
【００３６】
また、実施例１に係るタスク管理システム１００は、ユーザのスケジュールを管理するスケジューラ１１８を備える。スケジューラ１１８は、ワークフローエンジン１０４同様、独自のGUI１２０を持つ。また、スケジューラ１１８は、検索エンジン１１９を含み、検索エンジン１１９は、リソースDBに対して検索を実行する。
【００３７】
なお、実施例１のタスク管理システム１００は、タスク管理サーバSVが備える通信I/F機能（例えば、図１で示した情報処理装置が備えるネットワークI/F１４）によりシステムに接続される複合機MFPなどの機器とデータ通信が行えることから、ユーザUが複合機MFPなどの機器からシステムへログイン／ログアウト、スキャン画像のタスク関連付け（紙文書の情報をタスクの添付情報とする）、タスク添付情報の印刷などを行うことができる。
【００３８】
次に、ユーザ端末PC２０１、２０３は、タスク管理サーバSVが備えたGUI１０１のレンダリングエンジン１０２により描画されたタスクに関連する各種情報に対し、タスク管理サーバSVとやり取りを行うための表示画面を表示するブラウザ２０２、２０４を備えている。
【００３９】
また、ブラウザ２０２、２０４は、タスク管理サーバ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アプリケーション５１（Task Management）、J2EEWebアプリケーション５０（Scheduler）などで構成している。これらには、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１１２に相当する。
【００４７】
また、ユーザ情報や組織情報も同じくRDFリポジトリ５９で管理されるため、図２に示す組織情報DB１１６もRDFリポジトリ５９に含まれる。ユーザのリソースに関する情報は、MySQL５８データベースのテーブル上で管理される。
【００４８】
このデータベースは、スケジューラ１１８を管理するJ2EEWebアプリケーション５０と、タスク管理を行うJ2EEWebアプリケーション５１の両方からアクセスを受け付ける。
【００４９】
その他の構成要素としては、システム管理者など権限を持ったユーザUによるシステム内のファイル・フォルダ管理するWebDAV（Distributed Authoring and Versioning protocol for the WWW）リポジトリ（WebDAV rep）６１がある。
【００５０】
＜タスク管理部とスケジュール管理部の主要機能構成について＞
次に、ワークフローエンジン１０４に相当するタスク管理部と、スケジューラ１１８に相当するスケジュール管理部との機能について詳しく説明する。
【００５１】
図４は、実施例１におけるタスク管理部３００とスケジュール管理部４００との主要機能構成の一例を示すブロック図である。タスク管理部３００は図２に示すタスクモデルDB１１３とタスクインスタンスDB１１４、スケジュール管理部４００は、図２に示すリソースDB１１７に格納される情報を主に管理する。
【００５２】
タスク管理部３００は、特定手段３０１と、作成手段３０３と、選択手段３０４と、作成判定手段３０５と、判別手段３０６と、算出手段３０７と、処理判定手段３０８とを含む。
【００５３】
特定手段３０１は、タスクインスタンスDB１１４に格納されるタスクを特定する。タスク特定の方法としては、ユーザにより表示画面上からタスクIDなどを指定されることで明示的に特定することができる。また、特定手段３０１は、自身が備える委譲手段３０２により、タスクAがユーザAからユーザBに委譲される場合、このタスクAを特定する。
【００５４】
委譲手段３０２は、タスクIDなどタスクを識別する情報を用いて指定されたタスクを他のユーザへ委譲する。この処理は、ユーザが、表示画面上から委譲するタスクと、委譲先（個人ユーザやユーザグループ）を指定することにより行われる。
【００５５】
ここで、タスクインスタンスDB１１４に格納されるタスク情報と、タスクモデルDB１１３に格納されるタスククラス情報について説明する。
【００５６】
図５は、タスク情報のデータ構造の一例を示す図である。タスク情報は、タスクインスタンスDB１１４に格納される。
【００５７】
タスク情報は、タスクの属するクラスを同定するため、タスクの種類を示すタスククラス情報を持つ。タスククラス情報はユーザが入力する。このときタスク管理システム１００が現時点で定義されているタスククラスをリストとしてユーザに提示し、その中から選ばせることもできる。
【００５８】
また、タスク情報は、タスクの属するプロジェクトを同定するため、図５に示す例ではプロジェクトIDを保持する。上記と同様にタスク管理システム１００は、ユーザに現在定義されているプロジェクトのリストを提示し、その中から選ばせることもできる。また、ユーザは新たなプロジェクトを作成することもできる。タスク管理システム１００においてタスクは階層構造を持つため、上位タスクが属するプロジェクトを規定値として利用することもできる。
【００５９】
ユーザによる使用履歴を保持するため、本タスクにアクセスしたユーザのユーザIDとアクセス日時をセットで管理する（該データ構造中の"使用者及び時間"項目）。タスク管理システム１００で管理されるタスクは開始予定日時及び終了予定日時と、開始日時及び終了日時とを別々に管理する。
【００６０】
なお、図５に示す網掛けされた項目は、ユーザが入力装置を用いて手動で定義するべき項目を意味する。後述する図９も同様とする。
【００６１】
図６は、タスククラス情報のデータ構造を示す図である。タスククラス情報はタスクモデルDB１１３に格納される。タスククラスは特定のタスクが持つ特徴を類型としてまとめるためのもの（タスクの種類）であり、図６に示す例では、文書レビューをタスククラスとして定義している。タスククラスは階層構造を持つことができ、上位タスククラスをスーパークラス、下位クラスをサブクラスと呼ぶ。
【００６２】
また、タスククラス情報には、必要リソースのデータ項目がある。必要リソースの単位は「人日」や「時間」などがあるが、ここでは、「時間」で表すことにする。なお、以降の図でデータ項目値が「―」で表わされるものはオプションを意味し、記入必須ではないことを意味する。
【００６３】
次に、委譲手段３０２により、タスクが委譲された場合のデータ変化について説明する。図７は、委譲前のタスクTのタスク情報の一例を示す図である。タスクTは、ユーザAにより作成され、実行されるタスクである。また、タスクTは、ユーザAからの指示によりユーザBに委譲されたとする。なお、ユーザA、ユーザBの実行者IDは、それぞれ「０００１」、「０００２」とする。
【００６４】
図８は、委譲後のタスクTのタスク情報の一例を示す図である。図８に示す例では、実行するユーザがユーザBになったことにより、実行者IDが「０００１」から「０００２」に変更されている。また、タスクが委譲された場合は、後述するスケジュール情報が作成されるため、関連スケジュール項目には、作成されたスケジュール情報を識別する情報が記憶される。
【００６５】
なお、開始日時のラベル値は、ユーザBがタスクTを実行するときに明示的に開始を指示した場合は、その日時が記憶され、明示的に開始を指示されない場合は開始予定日時が記憶される。その他のデータラベルの値は、図７に示す情報と同じであり変更されない。
【００６６】
図４に戻り、作成手段３０３は、タスク管理部３００の特定手段３０１により特定されたタスクのタスク情報に基づいてスケジュール情報を作成する。ここで、スケジュール情報の一例について図９を用いて説明する。
【００６７】
図９は、スケジュール情報のデータ構造の一例を示す図である。スケジュール情報は、リソースDB１１７に格納され、ユーザのスケジュールに関する情報を記憶する。
【００６８】
スケジュール情報は、スケジュール項目IDと作成者のIDに加え、スケジュール情報が属するプロジェクトのIDも保持する。これらのデータは、システムで自動的に設定される。
【００６９】
また、スケジュール情報は開始時刻、終了時刻、アラームの有無、アラーム時間、などに加え、添付文書や関連タスク、関連スケジュール項目を持つことができる。なお、開始時刻、終了時刻は、ユーザにより入力されてもよいが、タスク情報の開始予定日時、終了予定日時の値が入力されてもよい。
【００７０】
スケジュール情報のプロジェクトIDは、該スケジュール情報の元になったタスク情報の持っているプロジェクトIDを利用することもできる。スケジュール情報の添付文書は、このスケジュール情報の元になったタスク情報の持っている添付文書をそのまま添付することもできる。
【００７１】
なお、以降の図で、下線があるデータラベルは、スケジュール情報がタスク情報から作成された場合、タスク情報から引用可能なデータラベルを意味する。
【００７２】
ここで、タスク情報から作成されるスケジュール情報について説明する。図１０は、図７から図８へのタスク委譲の際、タスクTのタスク情報から作成されたスケジュール情報の一例を示す図である。図１０に示すように、ユーザBのスケジュールSのスケジュール情報が、図８に示すタスク情報を基に作成される。
【００７３】
図１０に示す例では、プロジェクトID、開始時刻、終了時刻、添付文書、関連タスクは、図８に示すタスク情報から引用している。また、図１０に示す例では、スケジュールSの関連タスクを、スケジュール情報作成の基になったタスクTとする。添付文書はタスクTの添付文書（http://www.test.test.com）が記憶される。
【００７４】
図４に戻り、選択手段３０４は、前述したようにタスクを委譲する場合、タスクの委譲を受けるユーザが、タスクの委譲を受けるか否かを選択できるようにする。このとき、タスクの委譲を受けるユーザが、タスクの委譲を拒否した場合は当然のことながらスケジュール情報は作成されない。
【００７５】
また、選択手段３０４は、タスクの委譲を受けるユーザが、タスクの委譲を受けた後、委譲されたタスクに基づいてスケジュール情報を作成するか否かを選択できるようにしてもよい。システムにより自動でスケジュール情報が作成されるよりも、自分で都合のいい時間帯にタスクを処理するようにスケジュールを調整したい場合には有効である。
【００７６】
作成判定手段３０５は、委譲されたタスクのタスククラスと、委譲されたユーザのユーザクラスとに基づいてスケジュール情報を作成するか否かを判定する。具体的な処理を説明する前に、ユーザクラス情報、ユーザグループ情報、ユーザ情報のデータ構造について説明する。
【００７７】
図１１、図１２は、ユーザクラス情報のデータ構造の一例を示す図である。ユーザクラスは、主にユーザの業務上の役割やタスク処理の権限を定義するためのものである。なお、ユーザクラス情報は図２に示す組織情報DB１１６に格納される。
【００７８】
図１１に示す例では、ユーザクラスID「UC−００００６」は、「必須レビュアー」であることを表しており、このユーザクラスIDを有するユーザのレビューは必須であることを意味する。
【００７９】
図１２に示す例では、ユーザクラスID「UC−００００７」は、「オプショナルレビュアー」であることを表しており、このユーザクラスIDを有するユーザのレビューがなくてもかまわないことを意味する。
【００８０】
図１３は、ユーザグループ情報のデータ構造の一例を示す図である。ユーザグループは、ユーザをグループとして定義するものである。ユーザグループは主に企業内部の組織を表すために用いられる。なお、ユーザグループ情報は図２に示す組織情報DB１１６に格納される。
【００８１】
図１３に示す例では、ユーザグループID「UG−０００１２」は、「設計第二グループ」であることを表し、グループリーダユーザID、グループメンバーユーザIDにより、グループリーダーとその構成員を特定することができる。
【００８２】
次に、図１４、図１５は、ユーザ情報のデータ構造の一例を示す図である。ユーザ情報は、ユーザの情報を定義するものである。なお、ユーザ情報は、図２に示す組織情報DB１１６に格納される。また、図１４、図１５に示すユーザは、図１３に示すユーザグループのメンバーである。
【００８３】
図１４に示す例では、ユーザID「０００２」のユーザ「UserB」は、ユーザグループIDが「UG−０００１２」、ユーザクラスがID「UC−００００６」であることを表している。
【００８４】
図１５に示す例では、ユーザID「０００３」のユーザ「UserC」は、ユーザグループIDが「UG−０００１２」、ユーザクラスIDが「UC−００００７」であることを表している。
【００８５】
ここで、ユーザAがタスクTをユーザグループID「UG−０００１２」のユーザグループに委譲する場合について説明する。まず、ユーザAは、タスクTの委譲先として「UG−０００１２」のユーザグループを指定する。
【００８６】
次に、作成判定手段３０５は、タスクTのタスククラスを図７に示すようなタスク情報から取得する。この例では、「レビュータスク」を取得する。次に、作成判定手段３０５は、委譲先のユーザグループ「UG−０００１２」に属するメンバーをユーザグループ情報から特定し、図１１、図１２に示すような各ユーザ情報から各ユーザの属するユーザクラスを取得する。
【００８７】
図１４、図１５に示す例では、図１１、図１２に示すユーザクラスIDより、ユーザUserBは「必須レビュアー」、ユーザUserCは「オプショナルレビュアー」であることがわかる。ここで図４の作成判定手段３０５は、委譲されたタスクTが「レビュータスク」であることから、「必須レビュアー」であるUserBに対しては、タスクTのタスク情報に基づいて前述したスケジュール情報の自動作成を行い、「オプショナルレビュアー」であるUser Cに対しては、スケジュール情報の作成の可否を、選択手段３０４を用いてUserCに決めさせる。
【００８８】
この例ではタスククラスとユーザクラス間の関係（必須レビュアー：スケジュール情報自動作成、オプショナルレビュアー：スケジュール情報任意作成）がシステムにハードコーディングされている。
【００８９】
他にも、例えばLUT（ルックアップテーブル）を用いてこれらの間の関係を定義することができる。またユーザにこの関係を定義させることもできる。
【００９０】
なお、上記例では、ユーザグループにタスクを委譲する場合について説明したが、ユーザ個人にタスクを委譲する場合でも、委譲するユーザのユーザクラスを調べることにより、作成判定手段３０５の判定を行なうことができる。
【００９１】
次に、委譲するユーザのスケジュールに基づいて、委譲されるタスクを処理できるか否かを判定する場合について説明する。係る場合は、判別手段３０６、算出手段３０７、処理判定手段３０８を用いる。
【００９２】
まず、判別手段３０６は、委譲されるタスクに対応するタスククラスを判別する。例えば、タスクTが委譲される場合は、タスク情報により「レビュータスク」であることが判別できる。
【００９３】
次に、算出手段３０７は、判別手段３０６により判別されたタスククラスに対応する必要リソースを算出する。具体的には、図６に示すようにタスククラス情報には必要リソースが定義され、ここに値が記憶されている場合は、委譲されるタスクの必要リソース値を算出する。タスククラスが１つしかない場合は、必要リソースに記憶される値が必要リソース値となるが、判別されたタスククラスが複数ある場合、例えば、複数のタスクが委譲される場合は、各タスククラスの必要リソースに記憶される値を加算することで必要リソース値を算出することができる。
【００９４】
次に、処理判定手段３０８は、算出手段３０７により算出された必要リソース値に基づいて、委譲されるタスクが、委譲されるユーザにとって処理可能か否かを判定する。具体的には、委譲されるユーザのスケジュールに必要リソース値を処理するだけの空き時間があるか否かを判定する。
【００９５】
タスクの委譲を受けるユーザのスケジュールに、必要リソース値を処理するだけの余裕が無い場合には、タスクを委譲する際に、委譲する側のユーザに警告を出すことも可能である。当然のことながら、タスクを委譲しない場合は、タスク情報に基づくスケジュール情報は作成されない。
【００９６】
次に、算出手段３０７の別の機能について説明する。算出手段３０７は、スケジュール情報に含まれる終了時刻が更新された場合、または現在時刻が終了時刻を過ぎた場合、終了時刻から開始時刻を減算して所要時間を算出する。次に、算出手段３０７は、算出した所要時間を用いて、タスク情報に含まれる実行時間を更新する。これより、スケジュール情報で更新された値を、タスク情報にも反映させることができる。
【００９７】
終了時刻の更新については、ユーザが明示的にタスクの終了を指示した場合、その時刻が終了時刻として更新される。
【００９８】
所要時間の算出については、基本的には、現在時刻が終了時刻を過ぎた場合に算出される。しかし、ユーザが明示的に終了時刻を指定するタイミングが、現在時刻が終了時刻を過ぎた後の場合は、ユーザが明示的に指定した終了時刻を真の終了時刻として所要時間の再計算を行う。ユーザが明示的に終了時刻を指定するタイミングが、現在時刻が終了時刻を過ぎる前の場合は、ユーザが明示的に指定した終了時刻から開始時刻を減算して所要時刻を算出し、算出処理を終了する。
【００９９】
開始時刻については、ユーザが明示的に開始時刻を指定した場合は、ユーザが指定した開始時刻に更新し、更新後の開始時刻を所要時間の算出処理に用いる。
【０１００】
次に、図４に戻り、スケジュール管理部４００の機能について説明する。スケジュール管理部４００は、管理手段４０１を含む。管理手段４０１は、ユーザにより作成されたスケジュール情報と、作成手段３０３により作成されたスケジュール情報とに基づいてユーザ毎にスケジュールを管理する。
【０１０１】
実施例１に係るタスク管理システム１００では、タスクインスタンス情報は関連スケジュール項目を持つことができる。ここで例としてタスクTが関連スケジュール項目に記憶されるスケジュールS1、S2、及びS3を持つものとする。これらのスケジュールアイテムに変化があった場合など、システムは各スケジュール情報の所要時間を計算し、タスクTの実行時間を適宜更新することができる。
【０１０２】
タスクに関連付けられたスケジュール情報のうち、将来の予定の分を他のスケジュール情報と分けて計算し、タスクTに対してこれまでに費やされた時間と、これから費やすことが予定されている時間とを分けて管理しても良い。つまり、タスク情報の実行時間は、現在時刻が各スケジュールS1、S2、S3の終了時刻を過ぎる度に、基本的に、各所要時間が加算され更新される。また、ユーザにより明示的に終了時刻が指定される場合も実行時間は更新される。
【０１０３】
また、実施例１に係るタスク管理システム１００では、選択手段３０４、作成判定手段３０５、判別手段３０６、算出手段３０７、処理判定手段３０８は必ずしも必要な構成要素ではない。また、タスク管理システム１００は、選択手段３０４、作成判定手段３０５、処理判定手段３０８及び判別手段３０６及び算出手段３０７のいずれかを備えるような構成にしてもよく、また、これらの組み合わせを構成するようにしてもよい。
【０１０４】
また、タスク管理システム１００は、スケジュール情報を作成するか否かの判定処理（選択手段３０４、作成判定手段３０５、処理判定手段３０８）が２つ以上ある場合、選択手段３０４が備わっているときは、選択手段３０４の判断を最優先し、選択手段３０４が備わっていないときは、少なくとも１つの判定処理がスケジュール情報を作成しないと判定したときに、スケジュール情報を作成しないようにすればよい。
【０１０５】
＜実施例１におけるワークフローエンジンに係る処理について＞
次に、実施例１におけるワークフローエンジンに係る処理について説明する。図１６〜図２０では、タスク委譲に係る処理について、図２１では、ユーザが指定したタスクのタスク情報からスケジュール情報を作成する処理について、図２２では、所要時間の算出処理について説明する。
【０１０６】
［スケジュール情報の作成処理について］
図１６は、実施例１におけるタスク委譲に伴いスケジュール情報を作成する処理の一例を示すシーケンス図である。ステップ１０１において、ユーザAは、ブラウザ２０２を用いて、タスクリスト表示指示を行う。
【０１０７】
ステップ１０１に続いてステップ１０２に進み、ワークフローエンジン１０４は、ユーザAからタスクリストの表示指示を受けると、タスクインスタンスDB１１４にユーザAのユーザIDを出力し、ユーザAのタスクリストの要求を行う。
【０１０８】
ステップ１０２に続いてステップ１０３に進み、タスクインスタンスDB１１４は、取得したユーザIDに関連付けられているタスクを検索する。ステップ１０３に続いてステップ１０４に進み、タスクインスタンスDB１１４は、検索結果であるユーザAのタスクリストをワークフローエンジン１０４に出力する。
【０１０９】
ステップ１０４に続いてステップ１０５に進み、ワークフローエンジン１０４は、GUI１０１を介してユーザAに対し、タスクリストを表示画面上に表示する。ステップ１０５に続いてステップ１０６に進み、ユーザAは、表示画面からタスクリストの中のタスクTを選択し、選択したタスクTをユーザBに委譲することを指示する。
【０１１０】
ステップ１０６に続いてステップ１０７に進み、ワークフローエンジン１０４は、タスクインスタンスDB１１４に対し、タスクTはユーザBに委譲されることを通知する。
【０１１１】
ステップ１０７に続いてステップ１０８に進み、タスクインスタンスDB１１４は、タスクTのタスク情報に含まれる状態を「委譲」に遷移させる。ステップ１０８に続いてステップ１０９に進み、タスクインスタンスDB１１４は、タスクTの委譲の準備が整ったことをワークフローエンジン１１４に通知する。
【０１１２】
ステップ１０９に続いてステップ１１０に進み、ワークフローエンジン１０４は、ユーザBに対し、ユーザAからタスクTの委譲依頼を受けていることを、ブラウザ２０４を介して表示画面に表示する。ステップ１１０に続いてステップ１１１に進み、ユーザBは、ブラウザ２０４を介して委譲を受けることを示す受領をワークフローエンジン１０４に出力する。
【０１１３】
ステップ１１１に続いてステップ１１２に進み、ワークフローエンジン１０４は、タスクインスタンスDB１１４に対し、タスクTの実行者をユーザBに変更するよう要求する。
【０１１４】
ステップ１１２に続いてステップ１１３に進み、タスクインスタンスDB１１４は、タスクTの実行者をユーザBに変更し、タスクTの状態を元に戻す。ステップ１１３に続いてステップ１１４に進み、タスクインスタンスDB１１４は、ワークフローエンジン１０４に対し、タスクTの書誌情報を出力する。
【０１１５】
ステップ１１４に続いてステップ１１５に進み、ワークフローエンジン１０４は、リソースDB１１７に対し、取得したタスクTの書誌情報に基づいてユーザBのスケジュール情報を作成する要求を行う。
【０１１６】
ステップ１１５に続いてステップ１１６に進み、リソースDB１１６は、作成要求を受けると、タスクTの書誌情報に基づいてスケジュール情報を作成し、記憶する。ステップ１１６に続いてステップ１１７に進み、リソースDB１１７は、ワークフローエンジン１１７に対し、スケジュール情報の作成が完了したことを通知する。
【０１１７】
ステップ１１７に続いてステップ１１８に進み、ワークフローエンジン１０４は、ユーザBに対し、ブラウザ２０４を介してスケジュール情報の完了通知を行う。
【０１１８】
以上、図１６に示す処理を行うことにより、タスク委譲を行う際に、委譲されるタスクのタスク情報に基づいて、委譲されるユーザのスケジュール情報を作成することができ、スケジュール管理を連携させてタスク管理を行うことができる。なお、ステップ１１０、１１１の処理は必ずしも必要ではなく、ユーザBのスケジュール確認なしにスケジュール情報を作成してもよい。
【０１１９】
また、ステップ１１５において、ワークフローエンジン１０４は、スケジュール情報の作成要求を行うのではなく、スケジュール情報を作成して、リソースDB１１７に対し、作成したスケジュール情報の格納要求を行うようにしてもよい。
【０１２０】
［ユーザによる選択処理について］
図１７は、ユーザによる選択処理を追加したスケジュール情報の作成処理の一例を示すシーケンス図である。図１７に示す処理において、図１６に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１２１】
ステップ２０１において、ワークフローエンジン１０４は、ユーザBに対して、ブラウザ２０４を介して、スケジュール情報を作成するか否かを選択する表示画面を表示する。
【０１２２】
ステップ２０１に続いてステップ２０２に進み、ユーザBは、表示画面から、スケジュール情報の作成を指示する。この次のステップ１１５以降の処理は前述した処理と同様であり、スケジュール情報が作成される。
【０１２３】
なお、ステップ２０１の処理の後、ユーザがスケジュール情報を作成しないことを指示した場合は、ステップ１１５以降の処理は行われない。
【０１２４】
以上、図１７に示す処理を行うことにより、タスク委譲を行う際に、委譲されるユーザがスケジュール情報を作成するか否かを選択することができる。
【０１２５】
［タスククラスとユーザクラスに基づく判定処理について］
図１８は、タスク委譲を行う際、タスククラスとユーザクラスとに基づいてスケジュール情報を作成するか否かの判定処理の一例を示すシーケンス図である。図１８に示す処理において、図１６に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１２６】
ステップ３００において、ワークフローエンジン１０４は、タスクインスタンスDB１１４からタスクの状態が委譲処理中であることを通知される。ステップ３００に続いてステップ３０１に進み、ワークフローエンジン１０４は、組織情報DB１１６に対し、タスクTのタスククラスとユーザBのユーザクラスの検索要求を行う。
【０１２７】
ステップ３０１に続いてステップ３０２に進み、組織情報DB１１６は、タスクTのタスククラスとユーザBのユーザクラスの検索を行う。ステップ３０２に続いてステップ３０３に進み、組織情報DB１１６は、検索結果であるタスククラスとユーザクラスをワークフローエンジン１０４に出力する。
【０１２８】
ステップ３０３に続いてステップ３０４に進み、ワークフローエンジン１０４は、検索結果のタスククラスとユーザクラスに基づいて、ユーザBはタスクTを処理できると決定する。ステップ１１０以降の処理は前述した処理と同様であり、スケジュール情報が作成される。なお、ステップ３０４の処理で、スケジュール情報の作成を行なわないと決定する場合もある。
【０１２９】
以上、図１８に示す処理を行うことにより、タスククラスと、委譲されるユーザの処理権限やタスクに対する役割を示すユーザクラスとに基づいて、スケジュール情報を作成するか否かを判定することができる。
【０１３０】
［必要リソースに基づく判定処理について］
図１９は、タスクを委譲する際、必要リソースに基づいてタスク処理が可能か否かの判定処理（その１）の一例を示すシーケンス図である。図１９に示す処理において、図１６と図１８とに示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１３１】
ステップ４０１において、ワークフローエンジン１０４は、組織情報DB１１６に対し、タスクTのタスククラス、ユーザBのユーザクラス、タスクTの必要リソースの検索要求を行う。
【０１３２】
ステップ４０１に続いてステップ４０２に進み、組織情報DB１１６は、タスクTのタスククラス、ユーザBのユーザクラス、タスクTの必要リソースの検索を行う。ステップ４０２に続いてステップ４０３に進み、組織情報DB１１６は、ワークフローエンジン１０４に対し、検索結果であるタスククラス、ユーザクラス、必要リソースを出力する。
【０１３３】
ステップ４０３に続いてステップ４０４に進み、ワークフローエンジン１０４は、リソースDB１１７に対し、ユーザBのスケジュールに必要リソース分の空きがあるかの検索要求を行う。
【０１３４】
ステップ４０４に続いてステップ４０５に進み、リソースDB１１７は、ユーザBのスケジュールに、必要リソース分の空きがあるか否かの検索を行う。ステップ４０５に続いてステップ４０６に進み、リソースDB１１７は、スケジュールに空きがある場合、スケジュール候補をワークフローエンジン１０４に出力する。
【０１３５】
この後、ワークフローエンジン１０４は、スケジュール候補が複数ある場合、ユーザBに選択させたり、デフォルトで直近のスケジュール候補を選択するようにしたりして、１つのスケジュール候補に決定し、ステップ３０４以降の処理を行う。
【０１３６】
ステップ４０７において、ワークフローエンジン１０４は、ユーザBに対して、ユーザAからタスクTの委譲を受けたことを通知する。
【０１３７】
次に、タスクを委譲する際、委譲されるユーザのスケジュールに必要リソースの空きがない場合について図２０を用いて説明する。
【０１３８】
図２０は、タスクを委譲する際、必要リソースに基づいてタスク処理が可能か否かの判定処理（その２）の一例を示すシーケンス図である。図２０に示す処理において、図１６、図１８及び図１９に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１３９】
ステップ５０１において、リソースDB１１７は、ステップ４０５の検索の結果、ユーザBのスケジュールに空きがない場合、ユーザBのスケジュールに空きがないことを示す「非合致」をワークフローエンジン１０４に出力する。
【０１４０】
ステップ５０１に続いてステップ５０２に進み、ワークフローエンジン１０４は、ユーザAに対して、ユーザBのリソース不足によりタスクTを委譲できないことを、ブラウザ２０２を介して通知する。
【０１４１】
以上、図１９または図２０に示す処理を行うことにより、委譲するタスクの必要リソースと、委譲されるユーザのスケジュールとを考慮して、委譲されるユーザが、委譲されるタスクを処理できるか否かの判定を行なうことができる。
【０１４２】
［ユーザ自身のタスク指定に基づくスケジュール情報の作成処理について］
図２１は、ユーザ自身のタスク指定に基づくスケジュール情報の作成処理の一例を示すシーケンス図である。図２１に示す処理において、図１６に示す処理と同様の処理を行うものは同じ符号を付し、その説明を省略する。
【０１４３】
ステップ６０１において、ユーザAは、ブラウザ２０２を介してタスクリストからタスクTのスケジュール情報を作成する指示を行なう。
【０１４４】
ステップ６０１に続いてステップ６０２に進み、ワークフローエンジン１０４は、タスクモデルDB１１３に対し、タスクTの必要リソースの検索要求を行なう。
【０１４５】
ステップ６０２に続いてステップ６０３に進み、タスクモデルDB１１３は、タスクTの必要リソースの検索を行なう。ステップ６０３に続いてステップ６０４に進み、ワークフローエンジン１０４に対し、タスクモデルDB１１３は、検索結果の必要リソースを出力する。
【０１４６】
ステップ６０４に続いてステップ６０５に進み、ワークフローエンジン１０４は、リソースDB１１７に対し、ユーザIDと必要リソースを用いてリソース検索要求を行なう。
【０１４７】
ステップ６０５に続いてステップ６０６に進み、リソースDB１１７は、ユーザAのスケジュールに、取得した必要リソース分の空きを検索する。ステップ６０６に続いてステップ６０７に進み、リソースDB１１７は、ワークフローエンジン１０４に対し、スケジュールの空き情報をリソース情報として通知する。なお、リソース情報が複数ある場合は、全てのリソース情報を通知する。
【０１４８】
ステップ６０７に続いてステップ６０８に進み、ワークフローエンジン１０４は、ユーザAに対し、選択可能リソース情報を、ブラウザ２０２を介して表示画面に表示する。ステップ６０８に続いてステップ６０９に進み、ユーザAは、選択可能リソース情報の中から１つリソース情報を選択する。
【０１４９】
ステップ６０９に続いてステップ６１０に進み、ワークフローエンジン１０４は、リソースDB１１７に対し、選択したリソース情報に基づくスケジュール情報の作成指示を行なう。ステップ６１０の後、ステップ１１６にてスケジュール情報が作成される。
【０１５０】
ステップ６１１において、リソースDB１１７は、作成したスケジュール情報にスケジュール項目IDを付与し、付与したスケジュール項目IDをワークフローエンジン１０４に出力する。
【０１５１】
ステップ６１１に続いてステップ６１２に進み、ワークフローエンジン１０４は、タスクインスタンスDB１１４に対し、タスクTのタスク情報に含まれる関連スケジュール項目に、取得したスケジュール項目IDを入力するよう指示する。
【０１５２】
ステップ６１２に続いてステップ６１３に進み、タスクインスタンスDB１１４は、スケジュール項目IDを関連スケジュール項目に入力する。ステップ６１３に続いてステップ６１４に進み、タスクインスタンスDB１１４は、ワークフローエンジン１０４に対し、関連スケジュール項目の修正が完了したことを通知する。
【０１５３】
ステップ６１４に続いてステップ６１５に進み、ワークフローエンジン１０４は、ユーザAに対し、スケジュール情報の作成が完了したことを、ブラウザ２０２を介して通知する。
【０１５４】
以上、図２１に示す処理を行うことによって、ユーザが自身のタスクに対して、スケジュール情報を作成するよう指示した場合、指示されたタスクのタスク情報に基づいてスケジュール情報を作成することができる。
【０１５５】
［所要時間の算出処理について］
図２２は、スケジュール情報に基づいてタスクの所要時間を算出する処理の一例を示すフローチャートである。図２２に示す処理は全て算出手段３０７が行なう。
【０１５６】
ステップ７０１において、フラグ有りか否かを判定する。フラグの有り無しは、図９や図１０に示すスケジュール情報に含まれるユーザ指定有の値が「０」であればフラグ無しを意味し、値が「１」であればフラグ有りを意味する。
【０１５７】
ステップ７０１の判定結果がYES（フラグ有り）であれば算出処理を終了する。ステップ７０１の判定結果がNO（フラグ無し）であればステップ７０２に進み、ユーザにより明示的な終了時刻の指定があったか否かを判定する。
【０１５８】
ステップ７０２の判定結果がYES（時刻指定有り）であればステップ７０６に進み、判定結果がNO（時刻指定無し）であればステップ７０３に進む。先にステップ７０３以降の処理を説明する。
【０１５９】
ステップ７０３において、現在時刻がスケジュール情報に含まれる終了時刻を過ぎたか否かを判定する。ステップ７０３の判定結果がNO（過ぎていない）であればステップ７０１に戻り、判定結果がYES（過ぎた）であればステップ７０４に進む。
【０１６０】
ステップ７０４において、既に所要時間を算出したか否かを判定する。ステップ７０４の判定結果がYES（算出済）であればステップ７０１に戻り、ステップ７０４の判定結果がNO（未算出）であればステップ７０５に進み、所要時間の算出を行なう。具体的には、スケジュール情報に含まれる終了時刻から開始時刻を減算して求められる。
【０１６１】
次に、ステップ７０６以降の処理について説明する。ステップ７０６において、ユーザにより明示的に指定された終了時刻を、スケジュール情報の終了時刻に上書き更新する。明示的な指定については、表示画面上の終了ボタン、またはハードキーをユーザがクリックするなどした場合、そのときの時刻を終了時刻とする。
【０１６２】
ステップ７０６に続いてステップ７０７に進み、所要時間を算出する。所要時間の算出の仕方はステップ７０５と同様であるためここでは省略する。ステップ７０７に続いてステップ７０８に進み、フラグを立てる。ここでは、フラグを立てるとは、スケジュール情報に含まれるユーザ指定有りを「１」にすることを言う。
【０１６３】
以上の処理により、ユーザから終了時刻が明示的に指定された場合は、その終了時刻を用いて所要時間を算出し、ユーザから指定がない場合は、現在時刻が終了時刻を過ぎた場合に所要時間を算出することになる。この処理内容が満たされれば図２２に示すアルゴリズムに限らず、その他のアルゴリズムを用いて実行してもよい。
【０１６４】
以上、図２２に示す処理を行った結果算出された所要時間は、タスク情報の実行時間に入力されることとなる。また、図２２に示す処理は１つのスケジュール情報に対して行われる。よって、タスク情報に複数のスケジュール情報が関連付けられていた場合は、スケジュール情報毎に所要時間が算出され、実行時間には、所要時間が算出される度に加算される。これより、リアルタイムにタスク情報の実行時間を更新することが可能となる。
【０１６５】
以上、実施例１に係るタスク管理システム１００は、タスク間の関係を有する複数のタスクからなるワークフローを管理するタスク管理システムにおいて、スケジュール管理と連携させてタスク管理を行うことができる。
【０１６６】
また、選択手段３０４を備えた場合は、タスク委譲を行う際に、委譲されるユーザがスケジュール情報を作成するか否かを選択することができる。
【０１６７】
また、作成判定手段３０５を備えた場合は、タスククラスと、委譲されるユーザの処理権限やタスクに対する役割とに基づいて、スケジュール情報を作成するか否かを判定することができる。
【０１６８】
また、処理判定手段３０８を備えた場合は、委譲するタスクの必要リソースと、委譲されるユーザのスケジュールとを考慮して、タスクを処理できるか否かの判定を行なうことができる。
【０１６９】
また、スケジュール情報に基づいてタスクの所要時間を算出し、タスク情報の実行時間を更新（加算）することで、タスク情報の実行時間をリアルタイムに更新することができる。
【０１７０】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１７１】
なお、実施例において説明した処理内容をプログラムとし、このプログラムをコンピュータに実行させて前述した処理をタスク管理システム及びタスク管理装置に実行させることも可能である。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理をタスク管理システム及びタスク管理装置に実行させることも可能である。
【図面の簡単な説明】
【０１７２】
【図１】実施例１に係るタスク管理装置のハードウェア構成の一例を示す図。
【図２】実施例１に係るタスク管理システムの主な機能構成の一例を示す図。
【図３】実施例１に係るタスク管理システムの実装例を示す図。
【図４】実施例１におけるタスク管理部とスケジュール管理部との主要機能構成の一例を示すブロック図。
【図５】タスク情報のデータ構造の一例を示す図。
【図６】タスククラス情報のデータ構造を示す図。
【図７】委譲前のタスクTのタスク情報の一例を示す図。
【図８】委譲後のタスクTのタスク情報の一例を示す図。
【図９】スケジュール情報のデータ構造の一例を示す図。
【図１０】タスク委譲の際、タスクTのタスク情報から作成されたスケジュール情報の一例を示す図。
【図１１】ユーザクラス情報のデータ構造の一例を示す図。
【図１２】ユーザクラス情報のデータ構造の一例を示す図。
【図１３】ユーザグループ情報のデータ構造の一例を示す図。
【図１４】ユーザ情報のデータ構造の一例を示す図。
【図１５】ユーザ情報のデータ構造の一例を示す図。
【図１６】実施例１におけるタスク委譲に伴いスケジュール情報を作成する処理の一例を示すシーケンス図。
【図１７】ユーザによる選択処理を追加したスケジュール情報の作成処理の一例を示すシーケンス図。
【図１８】タスク委譲を行う際、タスククラスとユーザクラスとに基づいてスケジュール情報を作成するか否かの判定処理の一例を示すシーケンス図。
【図１９】タスクを委譲する際、必要リソースに基づいてタスク処理が可能か否かの判定処理（その１）の一例を示すシーケンス図。
【図２０】タスクを委譲する際、必要リソースに基づいてタスク処理が可能か否かの判定処理（その２）の一例を示すシーケンス図。
【図２１】ユーザ自身のタスク指定に基づくスケジュール情報の作成処理の一例を示すシーケンス図。
【図２２】スケジュール情報に基づいてタスクの所要時間を算出する処理の一例を示すフローチャート。
【符号の説明】
【０１７３】
１００  タスク管理システム
１１  制御部
１２  主記憶部
１３  補助記憶部
１４  ネットワークI/F
１５  外部記憶装置I/F
１６  外部装置I/F
１７  出力装置I/F
１８  入力装置I/F
１０１、１２０  GUI
１０２、１２１  レンダリングエンジン
１０３、１２２  入出力制御部
１０４  ワークフローエンジン
１０５、１１９  検索エンジン
１０６  タスク制御部
１０７  タスク作成部
１０８  タスク実行部
１０９  推測エンジン
１１０  ワークフロー記録部
１１１  データベース
１１２  関連情報DB
１１３  タスクモデルDB
１１４  タスクインスタンスDB
１１５  作業記録DB
１１６  組織情報DB
１１７  リソースDB
１１８  スケジューラ
２０１、２０３  ユーザ端末
２０２、２０４  ブラウザ
３００  タスク管理部
３０１  特定手段
３０２  委譲手段
３０３  作成手段
３０４  選択手段
３０５  作成判定手段
３０６  判別手段
３０７  算出手段
３０８  処理判定手段
４００  スケジュール管理部
４０１  管理手段
【図１】
2010049457.tif 000003
【図２】
2010049457.tif 000004
【図３】
2010049457.tif 000005
【図４】
2010049457.tif 000006
【図５】
2010049457.tif 000007
【図６】
2010049457.tif 000008
【図７】
2010049457.tif 000009
【図８】
2010049457.tif 000010
【図９】
2010049457.tif 000011
【図１０】
2010049457.tif 000012
【図１１】
2010049457.tif 000013
【図１２】
2010049457.tif 000014
【図１３】
2010049457.tif 000015
【図１４】
2010049457.tif 000016
【図１５】
2010049457.tif 000017
【図１６】
2010049457.tif 000018
【図１７】
2010049457.tif 000019
【図１８】
2010049457.tif 000020
【図１９】
2010049457.tif 000021
【図２０】
2010049457.tif 000022
【図２１】
2010049457.tif 000023
【図２２】
2010049457.tif 000024