(57)【要約】プロジェクト管理システムは、プロジェクトに関連するオブジェクトおよびオブジェクトの相互従属性を定義するデータとを共に格納するためのデータベース（２）を備える。それに接続されたエンティティ（５）に応答する制御システム（１）は、データベース（２）に格納された選択されたオブジェクトへのアクセスを提供し、エンティティ（５）から受取った、選択されたオブジェクトの更新バージョンをデータベース（２）に格納する。第１のエンティティによりアクセスされているオブジェクトと、データベースにより受取られている更新バージョンとの間で、そのオブジェクトまたはそのオブジェクトに従属するオブジェクトが第２のエンティティによって変更された場合、第１のエンティティによってアクセスされたオブジェクトおよびそのオブジェクトと相互従属性を有する全オブジェクトのコピーが作成されるように、制御システム（１）が適合される。
2005524151.tif 000002
【特許請求の範囲】
【請求項１】
プロジェクトに関連するオブジェクトおよびオブジェクトの相互従属性を定義するデータを共に格納するためのデータベースと、それに接続されたエンティティに応答して、データベースに格納された選択されたオブジェクトへのアクセスを提供して、エンティティから受取った、選択されたオブジェクトの更新バージョンをデータベースに格納する制御システムとを備え、第１のエンティティによりアクセスされているオブジェクトと、データベースにより受取られている更新バージョンとの間で、そのオブジェクトまたはそのオブジェクトと相互従属性を有するオブジェクトが第２のエンティティによって変更された場合に、第１のエンティティによってアクセスされたオブジェクトおよびそのオブジェクトと相互従属性を有する全オブジェクトのコピーを作成するように制御システムが適合されることを特徴とする、プロジェクト管理システム。
【請求項２】
エンティティは、ワークステーション、ユーザ、またはサービスである、請求項１に記載のプロジェクト管理システム。
【請求項３】
オブジェクトの相互従属性を定義するデータは、オブジェクト自体の中に格納される、請求項１または請求項２に記載のプロジェクト管理システム。
【請求項４】
制御システムは、オブジェクトと、オブジェクトを選択したエンティティとをリンクするレジスタを維持する、請求項１から請求項３のいずれか１項に記載のプロジェクト管理システム。
【請求項５】
制御システムは、或るオブジェクトへのアクセスを防止することができる、請求項１から請求項４のいずれか１項に記載のプロジェクト管理システム。
【請求項６】
制御システムは、アクセスされたもののそれに対する更新バージョンがデータベースにまだ格納されていないオブジェクトへのアクセスを防止する、請求項５に記載のプロジェクト管理システム。
【請求項７】
前記制御システムは、アプリケーションサーバである、請求項１から請求項６のいずれか１項に記載のプロジェクト管理システム。
【請求項８】
エンティティは、ネットワークを介して制御システムに接続される、請求項１から請求項７のいずれか１項に記載のプロジェクト管理システム。
【請求項９】
ネットワークはインターネットである、請求項８に記載のプロジェクト管理システム。
【請求項１０】
エンティティは、ブラウザソフトウェアを用いて制御システムと通信する、請求項８または請求項９に記載のプロジェクト管理システム。
【請求項１１】
ブラウザソフトウェアは、データベースとエンティティとの間で連続していくつかのオブジェクトを転送するように設定される、請求項１０に記載のプロジェクト管理システム。
【請求項１２】
ブラウザソフトウェアは、制御システムからダウンロードされたアプレットを用いて、データベースとエンティティとの間で連続していくつかのオブジェクトを転送するように設定される、請求項１１に記載のプロジェクト管理システム。
【請求項１３】
オブジェクトは、ファイル転送プロトコル（ＦＴＰ）またはハイパーテキスト転送プロ
トコル（ＨＴＴＰ）を用いて転送される、請求項１１または請求項１２に記載のプロジェクト管理システム。
【請求項１４】
オブジェクトは、そのサイズをバイトで示すサイズ属性と、オブジェクトが最後に変更された日付を示す日付属性と、オブジェクトが最後に変更された時刻を示す時間属性と、オブジェクトに最後にアクセスしたユーザまたはサービスを示すユーザ属性またはサービス属性とを有する、請求項１１から請求項１３のいずれか１項に記載のプロジェクト管理システム。
【請求項１５】
これまでデータベースからエンティティに転送されたオブジェクトのサイズ、日付、または時間の属性の１つ以上が、データベースに格納されたオブジェクトのコピーの属性と異なる場合にのみ、当該オブジェクトがデータベースに再び転送される、請求項１４に記載のプロジェクト管理システム。
【請求項１６】
ブラウザソフトウェアは、エンティティからデータベースにオブジェクトが転送されると、オブジェクトの相互従属性を定義するデータをオブジェクトから抽出し、欠落したオブジェクトがある場合に、欠落したオブジェクトを要求するメッセージをエンティティに表示するようにさらに設定される、請求項１１から請求項１５のいずれか１項に記載のプロジェクト管理システム。
【請求項１７】
ブラウザソフトウェアは、エンティティからデータベースにオブジェクトが転送されると、オブジェクトの相互従属性を定義するデータをオブジェクトから抽出し、欠落したオブジェクトがある場合に、制御システムからダウンロードされたアプレットによって、欠落したオブジェクトを要求するメッセージをエンティティに表示するように設定される、少なくとも請求項１２に従属する場合の請求項１６に記載のプロジェクト管理システム。
【請求項１８】
プロジェクトに関連するオブジェクトおよびオブジェクトの相互従属性を定義するデータを共にデータベースに格納するステップと、データベースに格納された選択されたオブジェクトへのアクセスを提供して、エンティティから受取った、選択されたオブジェクトの更新バージョンをデータベースに格納するために、制御システムに接続されたエンティティに応答するステップとを含み、第１のエンティティによりアクセスされているオブジェクトと、データベースにより受取られている更新バージョンとの間で、そのオブジェクトまたはそのオブジェクトに相互従属性を有するオブジェクトが第２のエンティティによって変更された場合に、第１のエンティティによってアクセスされたオブジェクトおよびそのオブジェクトと相互従属性を有する全オブジェクトのコピーを作成するステップによって特徴付けられる、プロジェクト管理方法。
【請求項１９】
オブジェクトの相互従属性を定義するデータを、オブジェクト自体から抽出するステップをさらに含む、請求項１８に記載の方法。
【請求項２０】
アクセスされたもののそれに対する更新バージョンがデータベースにまだ格納されていないオブジェクトへのアクセスが防止される、請求項１から請求項１９のいずれか１項に記載の方法。
【請求項２１】
いくつかのオブジェクトは、データベースとエンティティとの間で連続して転送される、請求項１８から請求項２０のいずれか１項に記載の方法。
【請求項２２】
これまでデータベースからエンティティに転送されたオブジェクトは、サイズ、変更の日付、または変更の時間の１つ以上が、データベースに格納されたオブジェクトのコピーのものと異なる場合にのみ、データベースに再び転送される、請求項２１に記載の方法。
【請求項２３】
オブジェクトのサイズ、変更の日付、および変更の時間は、オブジェクトのサイズ、日付および時間の属性を読出すことによって求められる、請求項２２に記載の方法。
【請求項２４】
プログラムがコンピュータ上で実行されるときに、請求項１８から請求項２３のいずれか１項の全ステップを実施するように適合されるコンピュータプログラムコード手段を備えるコンピュータプログラム。
【請求項２５】
プログラムプロダクトがコンピュータ上で実行されるときに、請求項１８から請求項２３のいずれか１項の方法を実施するためにコンピュータ可読媒体に格納されるプログラムコード手段を備える、コンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プロジェクト管理システムおよび関連する方法に関する。
【背景技術】
【０００２】
プロジェクトに関連するオブジェクトを中央データベースに格納して、そのプロジェクトに取組んでいる職員のメンバーが、そのオブジェクトに容易にアクセスできるようにすることが一般的である。たとえば、オブジェクトはプロジェクト文書であることが考えられ、または、ソフトウェアのプロジェクトの場合、オブジェクトは、ソフトウェアを構成する個々のソースコードファイルであることが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
これらのオブジェクトはしばしば相互従属性を有するため、１つのオブジェクトに対して行なわれた変更が、従属オブジェクトに影響を及ぼすことがあり得る。現行のシステムでは、職員のメンバーの１人がオブジェクトにアクセスした場合に、職員の他のメンバーが同じオブジェクトにアクセスすることが考えられ、このことは、そのオブジェクトに対する変更の点で混乱および矛盾を招くおそれがある。しかしながら、職員のメンバーが現時点で作業を行なっているオブジェクトと相互従属性を有するオブジェクトが、職員の別のメンバーによってアクセスまたは変更されたことを、職員のメンバーにリアルタイムで示すための機構は、今のところ存在しない。したがって、従属オブジェクトに作業を行なっている職員のメンバーが、これらの従属オブジェクトに影響を及ぼす変更について知らされないまま、１つのオブジェクトにこのような変更が行なわれるおそれがある。
【課題を解決するための手段】
【０００４】
この発明の一局面に従い、プロジェクト管理システムが提供される。このシステムは、プロジェクトに関連するオブジェクトおよびオブジェクトの相互従属性を定義するデータを共に格納するためのデータベースと、それに接続されたエンティティに応答して、データベースに格納された選択されたオブジェクトへのアクセスを提供して、エンティティから受取った、選択されたオブジェクトの更新バージョンをデータベースに格納する制御システムとを備え、第１のエンティティによりアクセスされているオブジェクトと、データベースにより受取られている更新バージョンとの間で、そのオブジェクトまたはそのオブジェクトと相互従属性を有するオブジェクトが第２のエンティティによって変更された場合に、第１のエンティティによってアクセスされたオブジェクトおよびそのオブジェクトと相互従属性を有する全オブジェクトのコピーを作成するように制御システムが適合されることを特徴とする。
【０００５】
この発明の第２の局面に従い、プロジェクト管理方法が提供される。この方法は、プロジェクトに関連するオブジェクトおよびオブジェクトの相互従属性を定義するデータを共にデータベースに格納するステップと、データベースに格納された選択されたオブジェクトへのアクセスを提供して、エンティティから受取った、選択されたオブジェクトの更新バージョンをデータベースに格納するために、制御システムに接続されたエンティティに応答するステップとを含み、第１のエンティティによりアクセスされているオブジェクトと、データベースにより受取られている更新バージョンとの間で、そのオブジェクトまたはそのオブジェクトと相互従属性を有するオブジェクトが第２のエンティティによって変更された場合に、第１のエンティティによってアクセスされたオブジェクトおよびそのオブジェクトと相互従属性を有する全オブジェクトのコピーを作成するステップによって特徴付けられる。
【０００６】
したがって、この発明は、データベースに格納されたオブジェクトにアクセスすること、および、オブジェクトの更新バージョンをデータベースに格納することをエンティティにとって可能にし、かつ、オブジェクトに従属する他のオブジェクトを処理する全エンティティに対し、そのオブジェクトに対する活動の通知を行なう、プロジェクト管理システムおよび方法を提供する。
【０００７】
通常、これらのエンティティは、ワークステーション、ユーザ、またはサービスである。
【０００８】
オブジェクトの相互従属性を定義するデータは、別個の索引またはテーブルに格納され得る。しかしながら、オブジェクトの相互従属性を定義するデータは、オブジェクトそのものと共に格納されることが好ましい。
【０００９】
一般に、制御システムは、オブジェクトと、そのオブジェクトを取扱うエンティティとをリンクするレジスタを維持して、制御システムが、オブジェクトに対する活動に応答してどのエンティティに通知すべきかを決定できるようにする。
【００１０】
通常、制御システムは、或るオブジェクトへのアクセスを防止することができ、アクセスされたものの、それに対する更新バージョンがデータベースにまだ格納されていないオブジェクトへのアクセスを一般に防止する。
【００１１】
一般に、制御システムは、アプリケーションサーバまたは他のこのようなフレームムワークである。
【００１２】
通常、エンティティは、ネットワーク、たとえばローカルエリアネットワークを介してデータベースに接続されており、好ましい例において、ネットワークはインターネット（Internet）である。
【００１３】
ネットワークまたはインターネットを介してエンティティがデータベースに接続されている場合、エンティティは、一般にブラウザソフトウェアを用いて制御システムと通信する。このブラウザソフトウェアは、データベースとエンティティとの間で連続していくつかのオブジェクトを転送するように設定することができ、通常、このことを、制御システムからダウンロードされたアプレットを用いて行なうように設定される。一般に、オブジェクトは、ファイル転送プロトコル（File Transfer Protocol）（ＦＴＰ）またはハイパーテキスト転送プロトコル（Hypertext Transfer Protocol）（ＨＴＴＰ）を用いて転送される。
【００１４】
好ましくは、データベースに格納された各オブジェクトは、そのサイズをバイトで示すサイズ属性と、オブジェクトが最後に変更された日付を示す日付属性と、オブジェクトが最後に変更された時刻を示す時間属性とを有する。これまでデータベースからワークステーションに転送されたオブジェクトは、通常、そのオブジェクトのサイズ、日付、または時間の属性が、データベースに格納されたオブジェクトのコピーの属性と異なる場合にのみ、データベースに再び転送される。
【００１５】
オブジェクトがエンティティからデータベースに転送されると、オブジェクトの相互従属性を定義するデータをオブジェクトから抽出し、欠落したオブジェクトがある場合に、欠落したオブジェクトを要求するメッセージをエンティティに表示するようにブラウザソフトウェアがさらに設定されている場合、このプロジェクト管理システムは、オブジェクトの紛失を防止することができる。一般に、ブラウザソフトウェアは、このことを、制御
システムからダウンロードしたアプレットを介して行なうように設定される。
【００１６】
この発明は、一般にコンピュータプログラムとして提供され、このコンピュータプログラムは、該プログラムがコンピュータ上で実行されるときに、この発明の第２の局面の全ステップを実施するように適合されるコンピュータプログラムコード手段を備える。
【００１７】
さらに、コンピュータプログラムプロダクトも提供され得る。このコンピュータプログラムプロダクトは、該プログラムプロダクトがコンピュータ上で実行されるときに、この発明の第２の局面に従った方法を実施するためにコンピュータ可読媒体に格納されるプログラムコード手段を備える。
【発明を実施するための最良の形態】
【００１８】
次に、添付の図面を参照してこの発明の一例を説明する。
【００１９】
図１は、アプリケーションサーバ１を示し、このアプリケーションサーバ１にデータベース２が接続される。ワークステーション５がローカルエリアネットワーク（ＬＡＮ）１０を介してアプリケーションサーバ１に接続され、ＬＡＮ１０はインターネット９にも接続され、インターネット９には他の２つのワークステーション３および４が接続される。各ワークステーション３、４、および５は、ブラウザソフトウェア６ａ、７ａ、および８ａを実行する。ブラウザソフトウェア６ａ、７ａ、および８ａは、アプリケーションサーバ１との通信を確立し、アプリケーションサーバ１からアプレット６ｂ、７ｂ、および８ｂをダウンロードする。
【００２０】
アプレット６ｂ、７ｂ、および８ｂは、このアプレットがデータベース２とワークステーション３、４、および５との間で連続していくつかのオブジェクトを転送できるように、ブラウザソフトウェア６ａ、７ａ、および８ａを設定する。このことは有用である。なぜなら、オブジェクトへのアクセスをデータベース２に要求することにより、オブジェクトに関連する全機能を連続してダウンロードすることができるためである。
【００２１】
オブジェクトに関連するこれらの機能のすべてが変更を必要とするわけではないことが考えられるため、アプレット６ｂ、７ｂ、および８ｂは、変更されたオブジェクトのみをデータベース２にアップロードする。このことが行なわれる態様について、以下に説明する。
【００２２】
オブジェクトは、図２に示す方法等の任意のさまざまな手法でデータベース２に格納され得る。これは、データベース２に格納されたオブジェクト２０を示す。オブジェクト２０はソースコードファイルを表わし、ヘッダ２１ａおよび本体２１ｂを有する。ヘッダ２１ａは、コンパイルされるときに、ソースコードに含まれるべき他のオブジェクトを列挙する。これらのオブジェクトこそ、オブジェクト２０が従属するオブジェクトである。オブジェクト２０からヘッダ２１ａを抽出することにより、アプリケーションサーバ１は、オブジェクトの従属性のマトリクスを生成することができ、その一例を図３に示す。
【００２３】
図２には、オブジェクトのロケーションテーブルの部分２２もまた示される。これは、オブジェクト２０を位置付けるためにデータベースによって使用され、オブジェクトのバイトによるサイズ、オブジェクトが最後に変更された日付および時間をそれぞれ示す、サイズ属性２３ａ、日付属性２３ｂ、および時間属性２３ｃも含む。オブジェクトのロケーションテーブルの部分２２は、オブジェクト２０にアクセスしたユーザまたはサービスの各々の詳細を保持するフィールド２３ｄ、２３ｅ、および２３ｆも含む。
【００２４】
ソースコードファイルを表わすオブジェクトの従属性のマトリクスの一例を図３に示す
。この例において、オブジェクトＡは、オブジェクトＢ、ＣおよびＦに従属する。オブジェクトＢは、オブジェクトＤおよびＥに従属し、オブジェクトＣは、オブジェクトＥおよびオブジェクトＦに従属する。さらに、オブジェクトＣおよびＥは機能上関連する。この例において、ワークステーション３は、ブラウザソフトウェア６ａおよびアプレット６ｂを用いて、オブジェクトＡへのアクセスをアプリケーションサーバ１に要求する。次に、アプリケーションサーバ１は、データベース２からオブジェクトＡを検索して、オブジェクトＡの中から従属性のデータを抽出し、それによってオブジェクトＡがオブジェクトＢ〜Ｆに従属していることを判断し、オブジェクトＡをワークステーション３にダウンロードする。その後、ワークステーション４がオブジェクトＤを要求し、ワークステーション５がオブジェクトＣへのアクセスを要求し、これらは、同様のプロセスを用いて当該のワークステーションにダウンロードされる。
【００２５】
しかしながら、オブジェクトＣの場合、アプレットソフトウェア８ｂは、オブジェクトＥがオブジェクトＣと機能上関連していることを判断し、したがってオブジェクトＥもまた、アプリケーションサーバ１に要求されて、ワークステーション５にダウンロードされる。
【００２６】
アプリケーションサーバ１は、各オブジェクトとその位置とをリンクするレジスタを維持する。この例のためのレジスタを図４に示す。図４において、オブジェクトＡがワークステーション３に位置付けられ、オブジェクトＢおよびＦがデータベース２に位置付けられ（これらのオブジェクトがアクセスされていないことを示す）、オブジェクトＣおよびＥがワークステーション５に位置付けられ、オブジェクトＤがワークステーション４に位置付けられていることをレジスタが示すことが分かる。各オブジェクトのコピーがデータベース２に保持されていることと、オブジェクトがワークステーション３、４、および５からデータベース２にアップロードされたときに各オブジェクトの新規のバージョンがデータベース２に格納されることとを認識することが重要である。したがって、オブジェクトの履歴が維持される。
【００２７】
ワークステーション３がオブジェクトＡをダウンロードしてから、ワークステーション４がオブジェクトＤをダウンロードし、かつ、ワークステーション５がオブジェクトＣおよびＥをダウンロードしたため、ワークステーション３は、これらのオブジェクトＣ〜Ｅがダウンロードされたという通知を受ける。なぜなら、オブジェクトＡが従属しているオブジェクトが他のワークステーションによってダウンロードされたとアプリケーションサーバ１が判断したためである。アプリケーションサーバ１は、ワークステーション４がオブジェクトＤをダウンロードし、かつ、ワークステーション５がオブジェクトＣおよびＥをダウンロードしたことを示すメッセージをワークステーション３に送ることにより、このことを行なう。次に、ワークステーション３がオブジェクトＦをダウンロードした場合、アプリケーションサーバ１は、オブジェクトＣがこのオブジェクトＦに従属していることを判断して、オブジェクトＦがワークステーション３によってダウンロードされたことを示すメッセージをワークステーション５に送る。
【００２８】
同様に、オブジェクトＤが、変更された後にアプリケーションサーバ１を介してデータベース２にアップロードされた場合、アプリケーションサーバ１は、従属性のデータから、ワークステーション３が、オブジェクトＤに従属しているオブジェクトＡにアクセスしていることを判断することができる。オブジェクトＤが変更されたことを示すメッセージがワークステーション３に送られる。
【００２９】
次に、ワークステーション３のユーザには、オブジェクトＡをデータベース２にアップロードする際にオプションが提示される。ユーザがオブジェクトＤの変更バージョンを受入れることができるか、または代替的に、オブジェクトＡと相互従属性を有する全オブジ
ェクトの新規のコピーが作成されて、オブジェクトＤの未変更バージョンが、ワークステーション３または他のワークステーションによる今後の使用に備えて保持されるようにし得るか、のいずれかである。したがって、オブジェクトＡ〜Ｆの２つのバージョン、すなわち、オブジェクトＤが変更されたものと、オブジェクトＤが変更されなかったものとが存在する。
【００３０】
ワークステーション５がオブジェクトＣまたはＥのいずれかを変更してから、ワークステーション３がオブジェクトＡをデータベース２にアップロードする場合、同じプロセスが生じる。同様に、別のワークステーションがオブジェクトＡをダウンロードしてから、ワークステーション３が変更バージョンをアップロードした場合、オブジェクトＡおよび相互従属性を有するオブジェクトの新規のバージョンが作成される。
【００３１】
データベース２にオブジェクトＣおよびＥをアップロードする場合、アプレット８ｂは、オブジェクトＣおよびＥのサイズ、日付、および時間の属性と、データベース２に保持されるオブジェクトＣおよびＥのコピーの属性とを比較し、その属性のいずれかの値が変化している場合にのみ、各オブジェクトをアップロードする。このようにして、変更されていないオブジェクトのアップロードを防止することができる。
【００３２】
機能するデータ処理システムの文脈でこの発明を説明してきたが、この発明のプロセスが、命令を有するコンピュータ可読媒体の形態およびさまざまな形態で分散され得ること、および、分散を行なうために実際に使用される特定の種類の信号伝達媒体がどのようなものであっても、この発明が等しく適用されることを当業者が認識していることに留意することが重要である。コンピュータ可読媒体の例には、フロッピー（登録商標）ディスク、ハードディスクドライブ、ＲＡＭおよびＣＤ−ＲＯＭ等の記録可能型媒体に加え、デジタルおよびアナログ通信リンク等の伝送型媒体が含まれる。
【図面の簡単な説明】
【００３３】
【図１】プロジェクト管理システムのアーキテクチャを示す図である。
【図２】オブジェクトがどのようにデータベースに格納され得るかについての例を示す図である。
【図３】一例として、データベースに格納されたオブジェクトの階層を示す図である。
【図４】データベースに格納されたオブジェクトと、オブジェクトをダウンロードしたワークステーションとをリンクするレジスタを示す図である。
【図１】
2005524151.tif 000003
【図２】
2005524151.tif 000004
【図３】
2005524151.tif 000005
【図４】
2005524151.tif 000006
【国際調査報告】
2005524151.tif 000007
2005524151.tif 000008
2005524151.tif 000009