(57)【要約】【課題】  親又はマスタープロジェクトスケジュールと、親又はマスタープロジェクトの完了に必要なタスクおよびフェーズを含むサブプロジェクトのスケジュールとの間の階層的な関係を確立するための方法およびシステムを提供する。【解決手段】  ある所与の親又はマスタープロジェクトのスケジュールに含まれたデータ、又は階層的に関係するサブプロジェクトのスケジュールに変更がなされると、自動的な通知が影響を受けるプロジェクトのスケジュールのオーナー／マネージャーに送られて、これら関係者が提案された変更を受け入れたり、提案された変更を拒否したり、又は対抗の変更の提案と共に提出した当事者に応答することができる。【選択図】  図２
2006004431.tif 000002
【特許請求の範囲】
【請求項１】
プロジェクトマネジメントスケジュールのスケジューリング変更を通信するための方法であって、
プロジェクトのスケジューリングデータを受け取ることと、
前記プロジェクトのプロジェクトスケジュールを生成することと、
前記プロジェクトを構成する任意のサブプロジェクトについてのプロジェクトスケジュールを生成することと、
前記プロジェクトと前記プロジェクトを構成する任意のサブプロジェクトとの間の階層的な関係を確立することと、
前記プロジェクトスケジュールからのスケジューリング変更を、前記スケジューリング変更によって影響を受けるサブプロジェクトのスケジュールのいずれにも提出することと、
前記スケジューリング変更によって影響を受けるサブプロジェクトのスケジュールのいずれにも前記スケジューリング変更を反映するのに先立って、前記影響を受けるサブプロジェクトのスケジュールのいずれにも前記スケジューリング変更の通知を自動的に送ることと
を備えることを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、
前記スケジューリング変更の通知の受取りに応答して、前記スケジューリング変更によって影響を受けるサブプロジェクトによって前記スケジューリング変更を受け入れることと、
前記スケジューリング変更を、前記スケジューリング変更の影響を受けるサブプロジェクトのスケジュールのいずれにも反映することと
をさらに備えることを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、
前記スケジューリング変更の通知の受取りに応答して、前記影響を受けるサブプロジェクトのスケジュールの一つから前記プロジェクトのスケジュールに対抗のスケジューリング変更を提出することと、
前記プロジェクトのスケジュールが前記対抗のスケジューリング変更を受け入れる場合、前記対抗のスケジューリング変更をプロジェクトのスケジュールと前記影響を受けるサブプロジェクトのスケジュールの一つに反映することと
をさらに備えることを特徴とする方法。
【請求項４】
請求項３に記載の方法であって、前記対抗のスケジューリング変更をプロジェクトのスケジュールと前記影響を受けるサブプロジェクトのスケジュールの一つに反映した後、前記プロジェクトのスケジュールから、前記対抗のスケジューリング変更によって影響を受ける他のどのサブプロジェクトのスケジュールにも前記対抗のスケジューリング変更を提出することを特徴とする方法。
【請求項５】
請求項１に記載の方法であって、前記プロジェクトのスケジュール又は前記サブプロジェクトのスケジュールのいずれにも変更を行えるようにすることであって、変更通知が変更するプロジェクトのスケジュール又は変更するサブプロジェクトのスケジュールから、前記変更によって影響を受けるプロジェクトのスケジュール又はサブプロジェクトのスケジュールに送られるまで、対応する変更を他のどのプロジェクトのスケジュールにも生じさせることなく、変更を行えるようにすることをさらに備えることを特徴とする方法。
【請求項６】
プロジェクト全体のマネジメントスケジュールを構成するプロジェクトスケジュールを独立して管理するための方法であって、
プロジェクトのスケジューリングデータを受け取ることと、
前記プロジェクトおよび前記プロジェクトを構成する一又は複数のサブプロジェクトについてのプロジェクトスケジュールを生成することと、
前記生成されたプロジェクトのスケジュール間の階層的な関係を確立して、前記階層的に関係するプロジェクトのスケジュール間の通信を可能にすることと、
前記第１のプロジェクトのスケジュールに変更を行えるようにすることであって、変更通知が第１のプロジェクトのスケジュールから、前記変更によって影響を受ける第２のプロジェクトのスケジュールに送られるまで、対応する変更を他のどの階層的に関係するプロジェクトのスケジュールにも生じさせることなく、変更を行えるようにすることと
を備えることを特徴とする方法。
【請求項７】
請求項６に記載の方法であって、
第１のプロジェクトのスケジュールから第２の階層的に関係するプロジェクトのスケジュールにスケジューリング変更を提出することと、
前記スケジューリング変更を前記第２の階層的に関係するプロジェクトのスケジュールに反映するのに先立って、前記第１のプロジェクトのスケジュールから前記第２の階層的に関係するプロジェクトのスケジュールに前記スケジューリング変更の通知を自動的に送ることと
を備えることを特徴とする方法。
【請求項８】
請求項７に記載の方法であって、
前記スケジューリング変更の通知の受取りに応答して、前記第２の階層的に関係するプロジェクトのスケジュールによって前記スケジューリング変更を受け入れることと、
前記第２の階層的に関係するプロジェクトのスケジュールに前記スケジューリング変更を反映することと
をさらに備えることを特徴とする方法。
【請求項９】
請求項８に記載の方法であって、
前記スケジューリング変更の通知の受取りに応答して、前記第２の階層的に関係するプロジェクトのスケジュールから前記第１のプロジェクトのスケジュールに対抗のスケジューリング変更を提出することと、
前記第１のプロジェクトのスケジュールが前記対抗のスケジューリング変更を受け入れる場合、第１のプロジェクトのスケジュールと前記第２の階層的に関係するプロジェクトのスケジュールに前記対抗のスケジューリング通知を反映することと
を備えることを特徴とする方法。
【請求項１０】
請求項９に記載の方法であって、前記第１プロジェクトのスケジュールと前記第２の階層的に関係するプロジェクトのスケジュールに前記対抗のスケジューリング変更を反映した後、前記第１のプロジェクトのスケジュールから、前記対抗のスケジューリング変更の影響を受ける他のどの階層的に関係するプロジェクトのスケジュールにも前記対抗のスケジューリング変更を提出することを特徴とする方法。
【請求項１１】
コンピュータによって実行されると、プロジェクトマネジメントスケジュールのスケジューリング変更を通信するための方法を行うコンピュータ実行可能命令を含むコンピュータ読取可能媒体であって、
プロジェクトのスケジューリングデータを受け取ることと、
前記プロジェクトについてのプロジェクトスケジュールを生成することと、
前記プロジェクトを構成する任意のサブプロジェクトのプロジェクトスケジュールを生成することと、
前記プロジェクトと前記プロジェクトを構成する前記任意のサブプロジェクトとの間の階層的な関係を確立することと、
前記プロジェクトのスケジュールからのスケジューリング変更を、前記スケジューリング変更によって影響を受けるサブプロジェクトのスケジュールのいずれにも提出することと、
前記スケジューリングの変更を、前記スケジューリング変更によって影響を受けるサブプロジェクトのスケジュールのいずれにも反映するのに先立って、前記影響を受けるサブプロジェクトのスケジュールのいずれにも前記スケジューリング変更の通知を自動的に送ることと
を備えたことを特徴とするコンピュータ読取可能媒体。
【請求項１２】
請求項１１に記載のコンピュータ読取可能であって、
前記スケジューリング変更の通知の受取りに応答して、前記スケジューリング変更によって影響を受ける前記サブプロジェクトによって前記スケジューリング変更を受け入れることと、
前記スケジューリング変更を、前記スケジューリング変更によって影響を受けるサブプロジェクトのスケジュールのいずれにも反映することと
を備えたことを特徴とするコンピュータ読取可能。
【請求項１３】
請求項１１に記載のコンピュータ読取可能であって、
前記スケジューリング変更の通知の受取りに応答して、前記影響を受けるサブプロジェクトの一つから前記プロジェクトのスケジュールに対抗のスケジューリング変更を提出することと、
前記プロジェクトのスケジュールが前記対抗のスケジューリング変更を受け入れる場合、前記対抗のスケジューリング変更をプロジェクトのスケジュールと前記影響を受けるサブプロジェクトのスケジュールの一つに反映することと
を備えたことを特徴とするコンピュータ読取可能。
【請求項１４】
請求項１３のコンピュータ読取可能であって、前記対抗のスケジューリング変更をプロジェクトのスケジュールと前記影響を受けるサブプロジェクトのスケジュールの一つに反映した後、プロジェクトのスケジュールから、前記対抗のスケジューリング変更によって影響を受ける他のどのサブプロジェクトのスケジュールにも前記対抗のスケジューリング変更を提出することを特徴とするコンピュータ読取可能。
【請求項１５】
請求項１１に記載のコンピュータ読取可能であって、前記プロジェクトのスケジュール又は前記サブプロジェクトのスケジュールのいずれにも変更を行えるようにすることであって、変更通知が変更するプロジェクトのスケジュール又は変更するサブプロジェクトのスケジュールから、前記変更によって影響を受けるプロジェクトのスケジュール又はサブプロジェクトのスケジュールに送られるまで、対応する変更を他のどのプロジェクトのスケジュールにも生じさせることなく、変更を行えるようにすることをさらに備えたことを特徴とするコンピュータ読取可能。
【請求項１６】
コンピュータによって実行されると、プロジェクト全体のマネジメントスケジュールを構成するプロジェクトスケジュールを独立して管理するための方法を行うコンピュータ実行可能命令を含むコンピュータ読取可能媒体であって、
プロジェクトについてのスケジューリングデータを受け取ることと、
前記プロジェクトおよび前記プロジェクトを構成する一又は複数のサブプロジェクトについてのプロジェクトスケジュールを生成することと、
前記生成されたプロジェクトのスケジュール間の階層的な関係を確立して、前記階層的に関係するプロジェクトのスケジュール間の通信を可能にすることと、
前記第１のプロジェクトのスケジュールに変更を行えるようにすることであって、変更通知を、第１のプロジェクトのスケジュールから、前記変更によって影響を受ける第２のプロジェクトのスケジュールに送るまで、対応する変更を他のどの前記階層的に関係するプロジェクトのスケジュールにも生じさせることなく、変更を行えるようにすることと
を備えたことを特徴とするコンピュータ読取可能媒体。
【請求項１７】
請求項１６に記載のコンピュータ読取可能媒体であって、
第１のプロジェクトのスケジュールから第２の階層的に関係するプロジェクトのスケジュールにスケジューリング変更を提出することと、
前記スケジューリング変更を前記第２の階層的に関係するプロジェクトのスケジュールに反映するのに先立って、前記第１のプロジェクトのスケジュールから前記第２の階層的に関係するプロジェクトのスケジュールに前記スケジューリング変更の通知を自動的に送ることと
をさらに備えたことを特徴とするコンピュータ読取可能媒体。
【請求項１８】
請求項１７に記載のコンピュータ読取可能媒体であって、
前記スケジューリング変更の通知の受取りに応答して、前記第２の階層的に関係するプロジェクトのスケジュールによって前記スケジューリング変更を受け入れることと、
前記第２の階層的に関係するプロジェクトのスケジュールに前記スケジューリング変更を反映することと
を備えたことを特徴とするコンピュータ読取可能媒体。
【請求項１９】
請求項１８に記載のコンピュータ読取可能媒体であって、
前記スケジューリング変更の通知の受取りに応答して、前記第２の階層的に関係するプロジェクトのスケジュールから前記第１のプロジェクトのスケジュールに対抗のスケジューリング変更を提出することと、
前記第１プロジェクトのスケジュールが前記対抗のスケジューリング変更を受け入れる場合、第１プロジェクトのスケジュールと前記第２の階層的に関係するプロジェクトのスケジュールに前記対抗のスケジューリング変更を反映することと
を備えたことを特徴とするコンピュータ読取可能媒体。
【請求項２０】
請求項１９に記載のコンピュータ読取可能媒体であって、前記第１のプロジェクトのスケジュールおよび前記第２の階層的に関係するプロジェクトのスケジュールに前記対抗のスケジューリング変更を反映した後、前記第１プロジェクトのスケジュールから、前記対抗のスケジューリング変更によって影響を受ける他のどの階層的に関係するプロジェクトのスケジュールにも前記対抗のスケジューリング変更を提出することを特徴とするコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にプロジェクトマネジメントの方法およびシステムに関する。より詳しくは、本発明はプロジェクトマネジメントの方法およびシステムにおける階層的に関係するプロジェクトに関する。
【背景技術】
【０００２】
コンピュータ時代の到来とともに、コンピュータとソフトウェアのユーザーは、書いたり、計算したり、編成したり、プレゼンテーションを準備したり、電子メールを送受信したり、作曲したりといったことを助けるユーザーフレンドリーなソフトウェアアプリケーションに慣れるようになってきた。例えば現代のワードプロセッシングアプリケーションは、ユーザーが様々な役に立つ文書を作成および編集できるようにする。別の例としては、現代のプロジェクトマネジメントアプリケーションは、ユーザーが様々なプロジェクトに関連付けられたタスク、資源、および労働力を編成し、管理するためのプロジェクトスケジュールを作成できるようにする。
【０００３】
マニュアルおよびコンピュータ化したプログラムマネジメントシステムは、マネージャーおよびプランナーがある所与のプロジェクトの完了に要するタスク、資源、および時期を編成し、計画できるようにする。ほとんどのプロジェクトでは、いくつかの従属性や制約によってプロジェクト全体およびプロジェクト全体に含まれるサブプロジェクトのタイミングや完了が決定付けられる。例えば、住宅建設プロジェクトでは、乾式壁プロジェクトは、通常、電気工事の完了まで始めることはない。また、いくつかのサブプロジェクトは、労働力や資源の可用性により制約を受けることがある。プロジェクトマネジメントソフトウェアアプリケーションは、プロジェクトスケジュールを作成し、自動化するために開発された。多くのこのようなシステムにより、プロジェクト全体の中のタスクやサブプロジェクトが、開始日、完了日、および利用資源やその制約に関する情報を示しながら、立案される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
以前のプロジェクトマネジメントのスケジュールは、通常、編集の許可を有する人によって編集することができ、ある所与のスケジュールになされた変更は、他の関係当事者への警告なしにスケジュールを通して自動的に行われる。例えば、前述した建設プロジェクトを例にとると、電気工が住宅建設プロジェクトスケジュールの自分の担当部分を変更すると、乾式壁工のスケジュールが乾式壁工への通知なしに自動的に変更されることがある。いくつかのシステムでは、プロジェクト全体の中のサブプロジェクトのオーナー／マネージャーが独立してサブプロジェクトのスケジュールを管理できるように開発されているが、サブプロジェクトのパフォーマンスがプロジェクト全体のパフォーマンスの制約として働くこともあるので、サブプロジェクトのスケジュールに対する変更がなおプロジェクト全体およびプロジェクト全体を構成する他のサブプロジェクトに対する変更を生じさせる。この種の問題のために、プロジェクトスケジュールは、プロジェクトスケジュールの単なるスナップショットの概観に減じられることが多く、このような自動化された変更の性質と、プロジェクト参加者に対する自動化された変更の通知の欠如のために、プロジェクト参加者全員によってしっかりと監視されなければならないようなものとなる。
【０００５】
従って、サブプロジェクトの独立した管理を可能にし、プロジェクト参加者との間の通知や変更の承諾（受け入れ）を可能にする、改善されたプロジェクトマネジメントの方法およびシステムの必要性がある。上記およびその他の考慮すべき事柄に関して、本発明がなされた。
【課題を解決するための手段】
【０００６】
本発明の実施例は、前述およびその他の問題を、改善された自動化プロジェクトマネジメントの方法およびシステムを提供することによって解決し、その方法およびシステムにおいては、プロジェクト全体の中のサブプロジェクトが、プロジェクト全体および（必要であれば）他のサブプロジェクトと階層的に関係し、一又は複数のサブプロジェクトあるいはプロジェクト全体になされた変更は、影響を受けるプロジェクト／サブプロジェクトのオーナー／マネージャーとの間の通知や受け入れ／拒否／対抗の変更を通じて、プロジェクト全体および影響を受けるサブプロジェクトに反映される。
【０００７】
本発明の一態様によれば、階層的な関係は、プロジェクト全体がプロジェクト全体を構成するサブプロジェクトと親子関係を有し、それによってある所与のサブプロジェクトがその所与のサブプロジェクトを構成するサブプロジェクトと親子関係を有するプロジェクト全体を構成する１組のプロジェクト間で確立される。サブプロジェクトと含まれるタスクの完了の目標日は、親プロジェクトから親プロジェクトを構成する子のサブプロジェクトに渡される。独立して管理可能な子のサブプロジェクトのスケジュールが構築され、親プロジェクトのスケジュールの構築のために親プロジェクトに戻される。
【０００８】
一又は複数の子のサブプロジェクトに影響する親プロジェクトの変更が行われると、通知が影響を受ける各子のサブプロジェクトのオーナー／マネージャーに送られる。親プロジェクトからの変更を受け取ると、影響を受ける子のサブプロジェクトは変更を受け入れることができ、子のサブプロジェクトは受け入れた変更を反映するように自動的に更新される。あるいは、影響を受ける子のサブプロジェクトのオーナー／マネージャーが親プロジェクトからの変更が受け入れられないとわかると、対抗の変更を子のサブプロジェクトから親プロジェクトに提案し戻すことができる。子のサブプロジェクトから対抗の変更の通知があると、親プロジェクトのオーナー／マネージャーは対抗の変更を受け入れるか、拒否することができる。
【０００９】
親プロジェクトが対抗の変更を拒否すると、提出した子のサブプロジェクトに通知され、親プロジェクトのスケジュールから子のサブプロジェクトに渡された当初の変更が、子のサブプロジェクトのスケジュールにより自動的に受け入れられ、その変更により必要となる子のサブプロジェクトの変更が行われる。親プロジェクトのスケジュールが対抗の変更を受け入れる場合、対抗の変更が、受け取る子のサブプロジェクトによる受け入れのために、親プロジェクトのスケジュールによって影響を受けるすべての子のサブプロジェクトに渡され、従って、受け取る子のサブプロジェクトからの対抗の変更を進める。
【００１０】
ある所与の子のサブプロジェクトのオーナー／マネージャーが親プロジェクトのスケジュールに提案された変更を提出する場合、親プロジェクトのオーナー／マネージャーはその提案された変更を受け入れるか、又は拒否することができる。親プロジェクトが提案された変更を受け入れる場合、通知が、影響を受けるすべての子のサブプロジェクトのオーナー／マネージャーに送られ、このオーナー／マネージャーは受け入れるか、又は対抗の変更を提案することができる。
【００１１】
本発明の別の態様によれば、それぞれの子のサブプロジェクトのスケジュールは、親プロジェクトのスケジュール又は他の子のサブプロジェクトのスケジュールとは独立して管理および変更できるが、個々の子のサブプロジェクトのスケジュールに対して行われた変更は、前述の通知／受け入れ／拒否／対抗の変更のプロセスを通じて、親プロジェクトのスケジュールおよび他の子のサブプロジェクトのスケジュールに対して行われるのみである。適切なアクセス許可があれば、親プロジェクトのスケジュールのオーナー／マネージャー又は他の子のサブプロジェクトのオーナー／マネージャーは、他の子のサブプロジェクトのスケジュールにアクセスおよび閲覧して、プロジェクトのスケジュールに対して行われた変更又は変化を検討することができる。
【００１２】
本発明を特徴づける上記およびその他の特徴と利点は、以下の詳細な説明を読み、関連する図面の検討から明らかになるであろう。前述の一般的な説明と以下の詳細な説明はともに単に例示および説明であり、請求される本発明を限定するものではないことを理解されたい。
【発明を実施するための最良の形態】
【００１３】
上記に簡単に説明したように、本発明の実施例は、改善された自動化プロジェクトマネジメントの方法およびシステムに対するもので、その方法およびシステムにおいて、プロジェクト全体の中のサブプロジェクトがプロジェクト全体に階層的に関係し、一又は複数のサブプロジェクト又はプロジェクト全体に対して行われた変更が、プロジェクト全体の親プロジェクトおよび親プロジェクトの影響を受ける子のサブプロジェクトとの間の通知および受け入れ／拒否／対抗の変更のプロセスを通じて、プロジェクト全体において、そしてサブプロジェクトに対して、反映される。子のサブプロジェクトになされた変更が親プロジェクトによる受け入れのために提出されると、通知が、親プロジェクトのオーナー／マネージャーに送られ、このオーナー／マネージャーは提案された変更を受け入れるか、又は拒否することができる。提案された変更が受け入れられる場合、親プロジェクトのオーナー／マネージャーは影響するすべての子のサブプロジェクトに対する変更を、子のサブプロジェクトのオーナー／マネージャーへの通知とともに提出する。子のサブプロジェクトのオーナー／マネージャーは変更を受け入れるか、又は対抗の変更を親プロジェクトに提案し戻す。個々の子のサブプロジェクトは、プロジェクト全体から独立して管理できるが、個々の子のサブプロジェクトのスケジュールに対して行われた変更は、本明細書で説明する通知および受け入れ／拒否／対抗の変更のプロセスの後でのみ、プロジェクト全体に対して行われる。
【００１４】
プロジェクト全体を、独立して管理可能なサブプロジェクトのスケジュールに分けることによって、プロジェクト全体又はマスタープロジェクトを構成するサブプロジェクトのスケジュールのオーナー／マネージャーは、それぞれのサブプロジェクトのスケジュールに変更を与える度にプロジェクト全体のスケジュールに対する警告なしで自動的に変更を行うことなく、それぞれ担当のスケジュールを管理することができる。例えば、ある所与のサブプロジェクトのスケジュールのオーナー／マネージャーがある所与のタスク又はサブタスクを完了するのにさらに１週間必要だと悟った場合、サブプロジェクトのスケジュールのオーナー／マネージャーは担当するサブプロジェクトのスケジュールに変更を行え、その変更されたサブプロジェクトのスケジュールのオーナー／マネージャーがサブプロジェクトのスケジュールのある個別部分になされた変更にもかかわらず、サブプロジェクトが当初の予定どおり完了するであろうと分かっているのならば、影響する上流の親プロジェクトのスケジュールや影響する下流のサブプロジェクトのスケジュールにこれらの変更を提出することができる。例えば、サブプロジェクトのオーナー／マネージャーは、サブプロジェクトのスケジュールに含まれるある所与のタスク又はフェーズになされた変更にもかかわらず、追加の労働力や資源を利用して、最終的にサブプロジェクトを当初の予定どおりに完了させられるであろうと分かることがある。このように、影響を受けるサブプロジェクトのスケジュールのオーナー／マネージャーは、公表されたプロジェクト全体のスケジュールに自動的に変更を行うことなく、担当するサブプロジェクトを独立して管理することができる。
【００１５】
他方、影響を受けるサブプロジェクトのスケジュールのオーナー／マネージャーが、担当するスケジュールの変更が克服できないものと悟った場合、その変更が、本明細書に説明するように、受け入れ、拒否、又は対抗の変更のために上流の親プロジェクトのスケジュールのオーナー／マネージャー又は下流のサブプロジェクトのスケジュールのオーナー／マネージャーに提出することができる。このように、本発明の実施例は、個々のプロジェクトのスケジュールのオーナー／マネージャーがそれぞれ自身のプロジェクトのスケジュールを、自身のプロジェクトのスケジュールが関係する他のプロジェクトのスケジュールやサブプロジェクトのスケジュールとは別に独立して管理できるようにする。ある所与のプロジェクトのスケジュールのオーナー／マネージャーがスケジュールされた変更を上流の親プロジェクト又は下流の一又は複数のサブプロジェクトのスケジュールに提出したいと欲するときにのみ、本明細書で説明する自動通知方法およびシステムが機能する。
【００１６】
以下の詳細な説明で、本明細書の一部をなす添付の図面を参照し、その中で例示により具体的な実施例又は例を示す。本発明の精神又は範囲を逸脱することなく、これら実施例を組み合わせることもでき、他の実施例を利用することもでき、構造上の変更を行うこともできる。そのため、以下の詳細な説明は限定的な意味で解釈されるべきではなく、本発明の範囲は添付の請求項およびその等価物により定義される。
【００１７】
ここで、図面を通して同類の番号が同類の要素を表す図面を参照しながら、本発明の態様と例示的な動作環境を説明していく。図１および以下の説明は、本発明を実施することができる適したコンピューティング環境の簡単で、一般的な説明を提供することを目的としている。本発明は、パーソナルコンピュータ上のオペレーティングシステムで稼働するアプリケーションプログラムとともに実行されるプログラムモジュールの一般的なコンテキストで説明されるだろうが、当業者は本発明が他のプログラムモジュールと組み合わせて実施できることも認めるであろう。
【００１８】
一般的に、プログラムモジュールは、特定のタスクを行うか、又は特定の抽象データ型を実装するルーティン、プログラム、コンポーネント、データ構造、およびその他の種類の構造を含む。さらに、当業者は、本発明が携帯型デバイス、マルチプロセッサシステム、マイクロプロセッサベース又はプログラム可能な消費者向け電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成と共に実施できることを理解するであろう。本発明は、タスクが通信ネットワークを介してリンクされるリモート処理デバイスによって行われる分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールをローカルおよびリモートの両方のメモリ記憶装置に配置することができる。
【００１９】
ここで図１に戻り、本発明の様々な実施例を実施するためのパーソナルコンピュータ２の例示的なコンピュータアーキテクチャについて説明することにする。図１に示すコンピュータアーキテクチャは、従来のパーソナルコンピュータを図示しており、中央処理装置４（「ＣＰＵ」）と、ランダムアクセスメモリ８（「ＲＡＭ」）および読取専用メモリ（「ＲＯＭ」）を含むシステムメモリ６と、メモリをＣＰＵ４に結合するシステムバス１２とを含んでいる。起動時などに、コンピュータ内の要素間で情報の転送を助ける基本ルーティンが入った基本入出力システムは、ＲＯＭ１０に格納されている。パーソナルコンピュータ２はさらに、オペレーティングシステム１６を格納するための大容量記憶装置１４と、アプリケーションプログラム２０５などのアプリケーションプログラムと、データとを含んでいる。
【００２０】
大容量記憶装置１４は、バス１２に接続された大容量記憶コントローラー（図示せず）を介してＣＰＵ４に接続される。大容量記憶装置１４とその関連するコンピュータ読取可能媒体は、パーソナルコンピュータ２の不揮発性ストレージを提供する。ここに含まれるコンピュータ読取可能媒体の記述は、ハードディスクやＣＤ−ＲＯＭドライブなどの大容量記憶装置を指すが、当業者は、コンピュータ読取可能媒体はパーソナルコンピュータ２によってアクセスできる任意の利用可能な媒体とすることができることを理解するはずである。
【００２１】
限定ではなく、例として、コンピュータ読取可能媒体は、コンピュータ記憶媒体と通信媒体とを備えることができる。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール又は他のデータなどの情報の格納のための任意の方法又は技術で実施された揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含む。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーその他の固体メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージその他の磁気ストレージ、又は所望の情報を格納するために使用でき、コンピュータによってアクセスできるその他の任意の媒体を含むが、それらに限定されない。
【００２２】
本発明の様々な実施例に従い、パーソナルコンピュータ２は、インターネットなどのＴＣＰ／ＩＰネットワーク１８を介したリモートコンピュータとの論理接続を使用するネットワーク化された環境で動作することができる。パーソナルコンピュータ２は、バス１２に接続されたネットワークインターフェースユニット２０を介して、ＴＣＰ／ＩＰネットワーク１８に接続することができる。ネットワークインターフェースユニット２０は他の種類のネットワークやリモートコンピュータシステムとの接続するためにも利用できることが理解されるはずである。パーソナルコンピュータ２は、キーボードやマウス（図示せず）を含むいくつかのデバイスからの入力を受信し、処理するための入出力コントローラー２２を備えることもできる。同様に、入出力コントローラー２２はディスプレイスクリーン、プリンター、又は他の種類の出力デバイスへの出力を供給することができる。
【００２３】
上記に簡単に述べたように、いくつかのプログラムモジュールやデータファイルは、ワシントン州レッドモンドのマイクロソフト社のＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムなど、ネットワーク化されたパーソナルコンピュータの動作を制御するのに適したオペレーティングシステム１６を含み、パーソナルコンピュータ２の大容量記憶装置１４やＲＡＭ１８に格納することができる。大容量記憶装置１４およびＲＡＭ８は、一又は複数のアプリケーションプログラムを格納することもできる。特に、大容量記憶装置１４およびＲＡＭ８は、各種の機能をユーザーに提供するためのアプリケーションプログラム１０５を格納することができる。例えば、アプリケーションプログラム１０５は、ワードプロセッシングアプリケーションプログラム、表計算アプリケーション、電子メールアプリケーション１３０、データベースアプリケーションなど、多くの種類のプログラムを備えることができる。本発明の実施例に従って、プロジェクトマネジメントアプリケーション１３５は、本明細書で説明するプロジェクトスケジュールを準備するために含められる。本発明による使用のためのプロジェクトマネジメントアプリケーション例は、マイクロソフト社が製造するＰＲＯＪＥＣＴである。
【００２４】
図２は、本発明の実施例に従って、親プロジェクトおよび一又は複数の子のサブプロジェクトのオーナー／マネージャーがプロジェクトのスケジュールの作成および維持のためのプロジェクトサーバー／データベースに対して通信することができる分散コンピューティング環境の簡略化されたブロック図である。図２に例示する分散コンピューティング環境２００は、本発明の実施例の例示的な動作環境として働く。本明細書で説明するように、プロジェクト全体のスケジュールは、親プロジェクトのスケジュール及び一又は複数の階層的に関係する子のサブプロジェクトから構成することができる。
【００２５】
本発明の実施例に従って、プロジェクト全体又は親プロジェクトのスケジュールと、個々に独立して管理可能な子のサブプロジェクトのスケジュールは、プロジェクトサーバー／データベース２１０上で維持される。プロジェクトサーバー／データベース２１０は、図１に例示し、図１を参照して説明したコンピュータ２の上述のオペレーティングシステム、プロセッサおよびメモリ空間を含むコンポーネントを有する汎用コンピューティングシステムである。プロジェクトサーバー／データベース２１０は、本明細書に説明するプロジェクト全体／親プロジェクトのスケジュールと個々の子のサブプロジェクトのスケジュールを構成し、表示し、管理可能にするのに十分なコンピュータ実行可能命令を有する、プロジェクトマネジメントアプリケーション１３５も含む。
【００２６】
プロジェクトサーバー／データベース２１０は、親プロジェクトのスケジュールに関連付けられ、個々の子のサブプロジェクトのスケジュールのそれぞれのデータを維持するためのリレーショナルデータベースも含む。当業者には理解されるように、リレーショナルデータベースは、本明細書で説明するプロジェクト全体又は親プロジェクトのスケジュールを構成する異なるプロジェクトのスケジュール間で格納されたデータを交換するために、あるプロジェクトのスケジュールに関連付けられて、格納された情報を、一又は複数の他のプロジェクトのスケジュールと関係するようにすることができる。
【００２７】
図２に図示するように、親／マスターコンピュータシステム２２０は、インターネット又はイントラネット２５０などの分散コンピュータシステムを介して、プロジェクトサーバー／データベース２１０との通信のために例示されている。一又は複数の子／サブプロジェクトコンピューティングシステム２３０、２４０は、インターネット又はイントラネット２５０を介してプロジェクトサーバー／データベース２１０と通信するために例示されている。理解されるであろうが、親プロジェクトのスケジュールおよび親プロジェクトのスケジュールを構成する一又は複数の子のサブプロジェクトのスケジュールのオーナー／マネージャーによって操作されるコンピューティングシステム２２０、２３０、２４０は、図１に例示し、コンピュータ２を参照して上記に説明した処理およびメモリ機能を含むことができる。個々のコンピューティングシステム２２０、２３０、２４０のそれぞれは、図１を参照して上記に説明したプロジェクトマネジメントアプリケーション１３５を含むこともでき、プロジェクトサーバー／データベース２１０で動作する、対応するプロジェクトマネジメントアプリケーション１３５のクライアント側のプロジェクトマネジメントアプリケーションとして機能する。本発明の実施例に従って、プロジェクトサーバー／データベース２１０は、親プロジェクトのスケジュールおよび子のサブプロジェクトのスケジュールのオーナー／マネージャーとの間で自動プロジェクトスケジュール変更を送信するための電子メールアプリケーション１３０を含むこともでき、又は電子メールアプリケーション１３０にアクセスするように動作することができる。
【００２８】
本発明の実施例に従って、親プロジェクトスケジュールのオーナー／マネージャーは、コンピューティングシステム２２０からインターネット又はイントラネット２５０経由でプロジェクトサーバー／データベース２１０に対して、プロジェクトスケジュールを作成することができる。個々の子のサブプロジェクトスケジュールの作成および維持も同様に、子のサブプロジェクトスケジュールのオーナー／マネージャーによって、コンピューティングシステム２３０、２４０からインターネット／イントラネット２５０経由でプロジェクトサーバー／データベース２１０に対して、作成することができる。親プロジェクトスケジュールと一又は複数の子のサブプロジェクトスケジュールのオーナー／マネージャー間の通知は、プロジェクトマネジメントアプリケーション１３５による命令によって、電子メールアプリケーション１３０などの通信アプリケーションにより自動的に効果を表すことができる。つまり、変更又は提案された変更が影響を受けるプロジェクトのスケジュール又は関係するサブプロジェクトのスケジュールのオーナー／マネージャーに通知を要するとき、プロジェクトサーバー／データベース２１０のプロジェクトマネジメントアプリケーション１３５が電子メールアプリケーション１３０などの通信アプリケーションを呼び出し、適当な通知メッセージを関係当事者に送るようにさせることができる。当業者には理解されるように、他の形態の通信がインスタントメッセージングシステム、電話システム等などを含め、関係当事者の通知のために利用することができる。
【００２９】
プロジェクトマネジメントの方法およびシステムの当業者には理解されるように、ある所与のプロジェクトは完了されなければならないいくつかのタスクを含むことがあり、各タスクは利用可能な資源やタスクの完了に必要な期間によって制約を受けることがある。さらに、タスクによっては関係するタスクの完了まで開始できないこともある。多くのプロジェクトでは、ある所与のプロジェクトを構成する個々のタスクは、個別の関係したプロジェクトスケジュールの下で管理および処理される。例えば、住宅を建設するためにマスタープロジェクトのスケジュールを作成する場合がある。マスタープロジェクトのスケジュールは、一般的な骨組み、電気、配管など３つのフェーズ又はタスクを含むことがある。マスタープロジェクトのフェーズ又はタスクのそれぞれは、ある所与のフェーズ又はタスクについて担当するプロジェクトのスケジュールを構築し、管理する下請業者によって完成されることがある。例えば、第１のサブプロジェクトのスケジュールは一般的な骨組みのために構成され、第２のサブプロジェクトのスケジュールは電気工事のために構成され、第３のプロジェクトのスケジュールは配管工事のために構成される。理解されるであろうが、サブプロジェクトのスケジュールのそれぞれは、一又は複数のフェーズ又はタスクに分割することができ、それらは次にある所与のサブプロジェクト内の一又は複数のタスクの完成のためのさらなるサブプロジェクトに関連付けられることがある。
【００３０】
本発明の実施例に従って、階層的な関係が、親子階層関係にある関係するプロジェクトと関連付けられたサブプロジェクトとの間で確立されて、任意の関係するスケジュールの変更又は提案された変更が、本明細書で説明する通知プロセスを通して、受け入れられ、拒否され、又はその他応答されうるようにする。ここで図３を参照すると、プロジェクト全体との関連で互いに関係し、プロジェクトマネジメントサーバー／データベース２１０に格納された階層的に関係するプロジェクトのスケジュールが例示されている。プロジェクト全体のスケジュール３１０は、プロジェクト全体を完了するために完了されなければならない３つのプロジェクトフェーズを有するものとして例示されている。例えば、プロジェクトのスケジュール３１０は、前述した住宅建設のためのプロジェクトスケジュールとすることができる。フェーズ１は一般的な骨組みを含み、フェーズ２は電気工事を含み、フェーズ３は配管工事を含むことができる。
【００３１】
プロジェクトのスケジュール３１０のオーナー／マネージャーがプロジェクトのスケジュール３１０のフェーズのそれぞれを始め、完了する目標日を設定すると、これらの目標日はマスタープロジェクトのスケジュール３１０の各フェーズを完了するために必要なサブプロジェクトのオーナー／マネージャーに渡される。サブプロジェクトのそれぞれについて、サブプロジェクトスケジュールは、その所与のサブプロジェクトを完了するために必要なタスクを管理し、予定を立てるために構築することができる。例えば、プロジェクトのスケジュール３２０は、プロジェクト全体のスケジュール３１０のフェーズ２を完了するために必要なサブプロジェクトのスケジュールの例とすることができる。同様に、プロジェクトのスケジュール３４０は、プロジェクトのスケジュール３２０のタスク２の完了のために必要な予定の情報を含むことができる。図３に例示するように、３つのプロジェクトのスケジュールは、マスタープロジェクトのスケジュール３１０が親スケジュールとして機能し、サブプロジェクトのスケジュール３２０が親スケジュール３１０の子スケジュールとして機能し、そしてサブプロジェクトのスケジュール３４０がサブプロジェクトのスケジュール３２０に対して子のサブプロジェクトのスケジュールとして機能するように階層的に関係する。
【００３２】
例示したプロジェクトのスケジュール３１０、３２０、３４０のそれぞれにおいて、ある所与のタスクの完了に必要な一又は複数のサブタスクをひとつにグループ化するためのサマリタスクが例示されている。例えば、親プロジェクトのスケジュール３１０に例示されたフェーズ２のサマリタスク３１５は、親プロジェクトのフェーズ２の完了に関連付けられたすべてのタスク、資源、制約、および時期に関するサマリ情報を含む。サブプロジェクトのスケジュール３２０は、親のスケジュール３１０のサマリタスク（フェーズ２）３１５にリンクされるサマリタスク３１６を示している。理解されるであろうが、３２０に図示されたサマリタスク３１６は、フェーズ２のサマリタスク３１６の完了のために完了されなければならない任意のタスクに関するサマリ情報を収容する。同様に、タスク２のサマリタスク３３１は、サブプロジェクトのスケジュール３２０に記載されたタスク２のスケジュールにリンクされるサブプロジェクトのスケジュール３４０に例示されている。
【００３３】
当業者には周知のように、図３に図示するようにある所与のプロジェクトのスケジュールにおいて、プロジェクトの特定のタスク又はフェーズが、別のフェーズ又はタスクの完了まで開始されないことがある。例えば、マスター／親プロジェクトのスケジュール３１０に例示されたフェーズ２は、フェーズ１の完了まで開始することができない。同様に、サブプロジェクトのスケジュール３２０のタスク３は、プロジェクトのスケジュール３２０のタスク１の完了まで開始することができない。結果として、親／マスタープロジェクトのスケジュール３１０のフェーズ１が延期されると、フェーズ２の開始は後の開始日にずれ込む。フェーズ２の開始日が変更されると必然的に、フェーズ２を構成するタスクの開始日が同様に先の日付にずれ込むことがある。その結果、サブプロジェクトのスケジュール３４０の一部として予定されたタスクも同様に、親／マスタースケジュール３１０の変更の結果として先の日付にずれ込むことがある。同様に、サブプロジェクトのスケジュール３４０のサブタスクの予定になされた変更が、上流のサブプロジェクトや親／マスタープロジェクトのスケジュールで予定されたフェーズ又はタスクのスケジュールで崩壊を生じることがある。
【００３４】
このようなスケジュールの変更が、関連するプロジェクトのスケジュールのオーナー／マネージャーへの警告なしに、関連するプロジェクトのスケジュールのそれぞれに自動的に行われる場合、結果として得られるプロジェクトのスケジュールはそれぞれのオーナー／マネージャーにとって信頼性が低くなり、せいぜい現在の修正されたプロジェクトおよびサブプロジェクトのスケジュールのスナップショットとしてしか機能しない。本発明の実施例によれば、マスタープロジェクトのスケジュールと任意の関連する子のサブプロジェクトのスケジュールとの間の親子の階層的な関係の確立により、様々な関係するプロジェクトスケジュールのオーナー／マネージャー間で自動的な通知および受け入れ／拒否／対抗の変更プロセスが行われるようになり、プロジェクトのスケジュールのそれぞれは、より情報性があり、それぞれのオーナー／マネージャーにより管理可能とすることができる。
【００３５】
図１および２を参照して本発明の実施例の例示的な動作環境を説明し、図３を参照して階層的に関係するプロジェクトのスケジュールを説明してきたが、図４は、親（マスター）プロジェクトのスケジュールと一又は複数の階層的に関係するサブプロジェクトのスケジュールから構成されるプロジェクトのスケジュールを作成し、管理するための例示的なルーティンを示すフロー図である。ルーティン４００は開始ブロック４０５で始まり、ブロック４１０に進み、そこでマスタープロジェクトのオーナー／マネージャーが図３に例示した親プロジェクトのスケジュール３１０などのマスター／親プロジェクトを作成し、公開する。図２を参照して上記に説明したように、マスタープロジェクトのオーナー／マネージャーは、コンピューティングシステム２２０を使ってマスタープロジェクトのスケジュール３１０を作成することができ、マスタープロジェクトのスケジュール３１０は分散コンピューティング環境２００を介して、プロジェクトマネジメントサーバー／データベース２１０に公開し、格納することができる。
【００３６】
ブロック４１５で、マスタープロジェクトのスケジュールを構成する個々のフェーズ又はタスクの開始および完了の目標日を確立し、マスタープロジェクトを構成する一又は複数のフェーズ又はタスクを完了するために必要なサブプロジェクトのオーナー／マネージャーに渡す。ブロック４２０で、一又は複数のサブプロジェクトのオーナー／マネージャーが、最終的にマスタープロジェクトを完了するための各サブプロジェクトによって必要とされるフェーズおよびタスクを完了するのに必要な、図３に例示する個々のサブプロジェクトのスケジュール３２０、３４０を作成する。個々のサブプロジェクトのスケジュールが作成されると、これらのプロジェクトスケジュールは、図２を参照して上記に説明したように、プロジェクトマネジメントサーバー／データベース２１０に公開される。
【００３７】
ブロック４２５で、マスタープロジェクトのスケジュール３１０と関連するサブプロジェクトのスケジュール３２０、３４０との間の階層的な関係がプロジェクトマネジメントサーバー／データベース２１０に確立される。図２を参照して上記に説明したように、プロジェクトマネジメントサーバー／データベース２１０は、あるプロジェクトのスケジュールのフェーズ又はタスクを、階層的に関係する親プロジェクトのスケジュール又はサブプロジェクトのスケジュールの関連するフェーズ又はタスクに関係付けるために、本発明の実施例に従って利用することができるリレーショナルデータベースを含む。本発明の実施例に従って、第２のプロジェクトスケジュールに含まれたデータに関係する第１のプロジェクトスケジュールのデータに影響を与える変更は、第２のプロジェクトスケジュールに含まれた関係するデータへの変更を自動的に実行しない。
【００３８】
代わりに、本発明の実施例に従って、第１のプロジェクトスケジュールのデータへの変更により、通知が第２のプロジェクトスケジュールのオーナー／マネージャーに送られて、第２のプロジェクトスケジュールのオーナー／マネージャーがその変更を受け入れるか、変更を拒否するか、又は別の変更を提案できるようにする。このように、第１のプロジェクトスケジュールのデータになされた変更は、第２のプロジェクトスケジュールのオーナー／マネージャーへの警告なしに、第２のプロジェクトスケジュールのデータに対して自動的に変更を与えない。例えば、マスタープロジェクトのスケジュールが住宅建設に関連付けられた３つのフェーズを含み、フェーズ１が一般的な骨組みを含み、フェーズ２が電気工事を含み、フェーズ３が配管工事を含むとする。第１サブプロジェクトのスケジュール３２０が、マスタープロジェクトのスケジュールのフェーズ２（電気工事）の完了に必要な３つのタスクに関連付けられたスケジューリングデータを含むとする。さらに、第２のサブプロジェクトスケジュール３４０が、第１のプロジェクトスケジュールのタスク２の完了に関連付けられた３つのサブタスク、例えば電気工事の一部の完了に関連付けられた３つのサブタスクを含むとする。
【００３９】
３つのプロジェクトのスケジュール例の間の階層的な関係の確立には、親プロジェクトのスケジュール３１０と子の関係を有する第１のサブプロジェクトスケジュール３２０の確立と、第１のサブプロジェクトスケジュール３２０と子の関係を有する第２のサブプロジェクトスケジュール３４０の確立とを含む。本発明の実施例に従って、親プロジェクトのスケジュール３１０のオーナー／マネージャーが親プロジェクトのスケジュール３１０のフェーズ２と関連付けられた期間を増加又は減少すると、通知が第１のサブプロジェクトスケジュール３２０のオーナー／マネージャーに自動的に送られる。というのは、第１のプロジェクトスケジュール３２０に関連付けられたデータが、親プロジェクトのスケジュール３１０の修正されたフェーズ２のスケジュールを表すデータに関係するためである。第２のサブプロジェクトのスケジュール３４０に含まれた関係するデータに影響する親プロジェクトのスケジュール３１０からの提出された変更のために、第１のサブプロジェクトのスケジュール３２０に含まれたデータに変更が行われると、通知が同様に第２のサブプロジェクトのスケジュール３４０のオーナー／マネージャーに送られることになる。
【００４０】
提出されたスケジューリング変更であって、親プロジェクトのスケジュール又はサブプロジェクトから、この提出するプロジェクトのスケジュールと子の関係を有するサブプロジェクトのスケジュールに提出されたスケジューリング変更は、受け取るサブプロジェクトのオーナー／マネージャーによって受け入れるか、又は階層構造を遡って提出した親プロジェクト又はサブプロジェクトに対抗案を提出し戻すことができる。サブプロジェクトのオーナー／マネージャーによって受け取られた変更が受け入れられる場合、受け取り、受け入れたサブプロジェクトのスケジュールに含まれたデータに変更が自動的に行われる。受け取るサブプロジェクトのスケジュールのオーナー／マネージャーによって対抗の変更が提出された場合、受け取る親プロジェクトのスケジュールのオーナー／マネージャーは対抗の変更を受け入れるか、対抗の変更を拒否するか、又はさらに別の対抗の変更を、提出したサブプロジェクトの管理オーナー／マネージャーに提出し戻すことができる。本明細書で説明するように、ある所与のプロジェクトスケジュールのオーナー／マネージャーによって何らかの変更が受け入れられると、通知が、変更されたプロジェクトスケジュールのデータに関係し、変更によって影響を受ける下流のサブプロジェクトのスケジュールに自動的に送られる。
【００４１】
図４に例示するルーティン４００の説明を続けて、ブロック４３０で、変更が、ある所与のサブプロジェクトスケジュール３２０のオーナー／マネージャーによって親プロジェクトのスケジュール３１０のオーナー／マネージャーに提出される。例えば、前述の例を考えると、第１のサブプロジェクトのスケジュール３２０のオーナー／マネージャーは、住宅建設プロジェクトの電気工事が当初決めた目標日から１週間だけ延期されるべきことを要求する変更を提出することができる。ブロック４３５で、第１のサブプロジェクトのスケジュール３２０で変更されたデータが、親プロジェクトのスケジュール３１０の関係するデータを自動的に変更するのではなく、親プロジェクトのスケジュール３１０に含まれたデータに関係するので、親プロジェクトのスケジュール３１０のオーナー／マネージャーに通知を提出して、第１のサブプロジェクトのスケジュール３２０のオーナー／マネージャーによって提出された変更についてオーナー／マネージャーにアラートする。当業者に理解されるように、親プロジェクトのスケジュールのオーナー／マネージャーに送られた通知は、電子メールアプリケーション１３０を介して自動的に転送することができ、又は通知はインスタントメッセージ、電話通知などを含む任意の他の適した通知手段で親プロジェクトのスケジュール３１０のオーナー／マネージャーに提出することができる。
【００４２】
ブロック４４０で、親プロジェクトのスケジュール３１０のオーナー／マネージャーが、第１のサブプロジェクトのスケジュール３２０のオーナー／マネージャーによって行われた変更を受け入れるかどうかについての判定がなされる。本発明の実施例に従って、マスタープロジェクトのスケジュール３１０のオーナー／マネージャーには、提案された変更がマスタープロジェクトのスケジュール３１０のオーナー／マネージャーによって変更を受け入れられると、マスタープロジェクトのスケジュール３１０および任意の関係するサブプロジェクトのスケジュールがどのように見えることになるかを示すプレビューが提示される。親プロジェクトのスケジュール３１０のオーナー／マネージャーがその変更を受け入れない場合、ルーティンはブロック４４５に進み、提出したサブプロジェクトのスケジュールのオーナー／マネージャーに、親プロジェクトのスケジュールのオーナー／マネージャーが提出された変更を受け入れないことを知らせる。前述したように、親プロジェクトのスケジュール３１０のオーナー／マネージャーは当初に提出したサブプロジェクトのオーナー／マネージャーに対して対抗の変更を提出し戻すことができ、又は親プロジェクトのスケジュールのオーナー／マネージャーは単に提案された変更を拒否することもできる。ブロック４４０に戻って、親プロジェクトのスケジュール３１０のオーナー／マネージャーがサブプロジェクトのスケジュールのオーナー／マネージャーからの変更を受け入れると、変更が提出した第１のサブプロジェクトのスケジュールに反映させ、変更が受け入れた親プロジェクトのスケジュール３１０に対して自動的に行われる。
【００４３】
ブロック４５０で、通知が、受け入れた変更によって影響を受けることになるデータを有するさらなるサブプロジェクトのスケジュールのオーナー／マネージャーに対しても送られる。例えば、第１のサブプロジェクトのスケジュール３２０に含まれたデータに行われ、受け入れられた変更が、第１のサブプロジェクトのスケジュール３２０と子の関係を有する第２のサブプロジェクトのスケジュール３４０に含まれたデータに関係する場合、第２のサブプロジェクトのスケジュール３４０のオーナー／マネージャーにもデータ変更に関する通知が送られる。例えば、第１のサブプロジェクトのスケジュール３２０のデータに対して受け入れられ、反映された変更により、第２のサブプロジェクトのスケジュール３４０に含まれたサブタスクの開始を２週間だけずらすことができる。
【００４４】
ブロック４５５で、通知されたサブプロジェクトのスケジュールのオーナー／マネージャーは、前述のように、上流のプロジェクトのスケジュールの変更によって要求される変更を受け入れるかどうかについての判定がなされる。第１の通知されたサブプロジェクトのスケジュールのオーナー／マネージャーが担当するスケジュールに生じた変更を受け入れる場合、ルーティンはブロック４６０に進み、サブプロジェクトのスケジュールが変更され、本明細書で説明するように、さらなる下流のサブプロジェクトのスケジュールのオーナー／マネージャーに対して必要な通知が行われる。受け取るサブプロジェクトのスケジュールのオーナー／マネージャーが上流の変更により生じた変更を受け入れない場合、ルーティンはブロック４６５に進み、上流のプロジェクトのスケジュール又はサブプロジェクトのスケジュールのオーナー／マネージャーに応答として対抗の変更を提出し戻すことができる。例えば、第１サブプロジェクトのスケジュール３２０に影響し、親プロジェクトのスケジュール３１０のオーナー／マネージャーによって受け入れられた変更のために、第２のサブプロジェクトのスケジュール３４０のある特定のサブタスクの開始が２週間だけずらされなければならない場合、第２サブプロジェクトのスケジュール３４０のオーナー／マネージャーは、影響を受けるサブタスクの開始を２週間ではなく３週間だけずらすよう提案する対抗の変更を提出することができる。ブロック４７０で、親又はマスタープロジェクトのスケジュール又はサブプロジェクトのスケジュールのオーナー／マネージャーが、第２のサブプロジェクトのスケジュール３４０のオーナー／マネージャーによって提案された対抗の変更を受け入れるかどうかについての判定がなされる。受け取るマスター／親プロジェクトのスケジュールのオーナー／マネージャーが、第２のサブプロジェクトのスケジュール３４０のオーナー／マネージャーによって提案された対抗の変更を受け入れる場合、影響を受ける他のサブプロジェクトのスケジュールのオーナー／マネージャーへの通知のためにルーティンはブロック４５０に戻る。
【００４５】
本明細書で説明するように、親又はマスタープロジェクトのスケジュールと、親又はマスタープロジェクトの完了に必要なタスクおよびフェーズを含むサブプロジェクトのスケジュールとの間に階層的な関係および通信を確立するための方法およびシステムが提供される。本発明には、本発明の範囲又は精神を逸脱することなく、様々な変更や変形を行うことができることが当業者には明らかであろう。本明細書で開示する発明の明細および実施を考慮すれば、本発明の他の実施例も当業者には明らかであろう。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施例のための例示的なコンピューティング動作環境を示す図である。
【図２】本発明の実施例による、親プロジェクトと一又は複数の子のサブプロジェクトのオーナー／マネージャーが、プロジェクトスケジュールの作成および維持のためにプロジェクトサーバー／データベースに通信することができる分散コンピューティング環境の簡略化されたブロック図である。
【図３】本発明の実施例による、プロジェクト全体のスケジュールにおける親と子のサブプロジェクト間の階層的な関係を図示する簡略化されたブロック図である。
【図４】本発明の実施例による、親と階層的に関係する子のサブプロジェクトを作成および管理するための例示的なルーティンを示すフロー図である。
【符号の説明】
【００４７】
２  パーソナルコンピュータ
４  中央処理装置
６  システムメモリ
８  ランダムアクセスメモリ
１０  読取専用メモリ
１２  システムバス
１４  大容量記憶装置
１６  オペレーティングシステム
１８  ＴＣＰ／ＩＰネットワーク
２０  ネットワークインターフェースユニット
２２  入出力コントローラー
１０５  アプリケーションプログラム
１２５  ワードプロセッシングアプリケーション
１３５  プロジェクトマネジメントアプリケーション
１３０  電子メールアプリケーション
２００  分散コンピューティング環境
２１０  プロジェクトサーバー／データベース
２２０  親／マスターコンピュータシステム
２３０  子／サブコンピュータシステム
２４０  子／サブコンピュータシステム
２５０  インターネット／イントラネット
【図１】
2006004431.tif 000003
【図２】
2006004431.tif 000004
【図３】
2006004431.tif 000005
【図４】
2006004431.tif 000006
【外国語明細書】
2006004431000001.pdf