種々の実施形態は、種々の検討事項を認識し考慮している。たとえば、種々の実施形態は、いくつかの現在入手可能なプロジェクト管理システムがこれらのプロジェクトに関する情報の手分析の実行を含むことを認識し考慮している。手分析は、コンピュータの補助で実行されるにせよ、人間オペレーターにより実行される分析である。この種の分析は、予想される以上の時間、労力、コスト及びリソースが要求される。
さらに、種々の実施形態は、手分析が人間オペレーターにあるレベルの経験又は専門的知識を要求することを認識し考慮している。人間オペレーターがこのレベルの経験又は専門知識を得るために必要とされる時間、費用及び/又は訓練の量は、予想以上に大きいかもしれない。
また、種々の実施形態は、プロジェクトの情報が異なる記憶装置、異なる場所、及び異なる形式で記憶できることを認識し考慮している。情報が異なる記憶装置、異なる場所、及び異なる形式で記憶されるときには、多数のプロジェクト全域の関連情報追跡は、予想以上に難しいかもしれない。
また、種々の実施形態は、いくつかの現在入手可能な、複数のプロジェクト間で関連プロジェクトを識別するシステムが、そのプロジェクトの実質的に全ての情報を処理できるわけではないことを認識し考慮している。たとえば、いくつかの現在入手可能なシステムは、所定の特徴に基づく処理のための特定のプロジェクトについてのいくつかの情報だけしか選択することができない。
また、種々の実施形態は、この種の縮小的な処理により、種々のプロジェクトについてのいくつかの情報間の関係が失われるかもしれないということを認識し考慮している。たとえば、この情報が所定の特徴に合わないときに、二つのプロジェクトの関連を認識するために重要である情報が処理から除外されることもある。
種々の実施形態は、処理中にこれらのプロジェクトの情報量を減らす必要なく、関連プロジェクトの分類システムを有することが望ましいと認識し考慮している。異なる実施形態は、連想メモリ技術によりプロジェクトの膨大な情報が収集され且つ処理されることを認識し考慮している。さらに、種々の実施形態は、連想メモリとともにエンティティ分析エンジンを使用することにより、関連プロジェクト及びプロジェクト間の関連情報が、いくつかの現在入手可能なシステムと比較して、より正確に且つ迅速に分類されることを認識し考慮している。
したがって、種々の実施形態は、プロジェクトの情報管理方法及び装置を提供することができる。特に、種々の実施形態は、連想メモリに記憶されたプロジェクトの情報管理方法及び装置を提供することができる。また、実施形態は、プロジェクト管理そのものに使用することもできる。
ここで述べられる実施形態は、研究開発プロジェクトに適用することができる。しかしながら、実施形態は研究開発プロジェクトに限定されず、多くの種々のプロジェクトにも適用可能である。ゆえに、実施形態により、研究開発プロジェクト管理の文脈で連想メモリの使用について述べられるが、これらの説明は、単なる例に過ぎず、本発明を限定するものではない。
一つの実施形態では、プロジェクトの情報管理方法が提供される。プロジェクトの情報は、データエンティティとして連想メモリに記憶される。連想メモリは、データエンティティが複数のデータに含まれる複数の連想性を有する複数のデータを含むことができる。さらに、連想メモリは、コンテンツアドレッサブル構造を含むことができる。連想メモリは、複数のデータ間で直接的関係及び間接的関係を含むグループから選択された少なくとも一つの関係に基づきクエリ(問い合わせ)されるように構成される。任意の数のクラスターを形成するために、任意の数の選択されたクライテリアを使用して、連想メモリに記憶されたデータエンティティが分類される。任意の数のクラスターを使用して、レポートが生成される。
ここで図面を参照すると、図1は、一つの実施形態によるブロック図形式のプロジェクト管理環境を示している。プロジェクト管理環境100は、任意の数の組織102及びプロジェクト管理システム104を含む。プロジェクト管理システム104は、任意の数の組織102により引き受けられるプロジェクト106を管理するように構成される。
ここで使用される「任意の数」のアイテムは、一又は複数のアイテムを意味する。例えば、任意の数の組織は、一又は複数の組織を意味する。さらに、ここで使用されるように、「組織」とは、集団目標のためのタスクを分配する任意の種類の社会的なグループを指す。組織は、任意の数の異なる形態を取ることができる。たとえば、限定はしないが、任意の数の組織102の一つは、政府組織、非政府組織、国際組織、軍の組織、会社、法人、独立契約者、慈善団体、非営利組織、組合、複合型組織、又は別の適する種類の組織の一つから選択することができる。どのような組織でも、マルチな事業法人の事業部のように、大きな組織の部分とされる。
これらの実施例では、任意の数の組織102は、プロジェクト106を引き受ける。ここで使用されるように、「プロジェクト」とは、特定の目的達成に向けられた研究、設計及び/又は開発を含む計画された協力的な取り組みとされる。ここで使用されるように、「プロジェクト」という言葉はこの定義に限定されず、研究及び時間を含む人間の試みのいかなる目標をも含むことができる。プロジェクト108は、プロジェクト106の一つの例とする。
一つの実施例として、プロジェクト108は、新たな設計を含む航空機の製造とする。別の例として、プロジェクト108は、機械システムの検査とする。また、プロジェクト108は、新たな宇宙探査機の開発としてもよい。さらに別の例として、プロジェクト108は、偵察及び監視ミッションアルゴリズムの開発としてもよい。
プロジェクト管理システム104は、プロジェクト106を管理するように構成される。プロジェクト管理システム104は、ハードウェア、ソフトウェア、又はその二つの組み合わせを使用して実施することができる。たとえば、プロジェクト管理システム104は、一又は複数のデータ処理システムを使用して実施することができる。これらのデータ処理システムは、分散環境又はネットワーク化された環境内にあるとしてもよい。場合によっては、プロジェクト管理システム104は、「クラウド」として知られる、遠隔操作されたデータ処理システムのグループを使用して実施することができる。さらに、プロジェクト管理システム104は、単一アーキテクチャと別個の又はその一部である一又は複数のモジュールを含むものとして特徴付けられる。
これらの実施例では、プロジェクト管理システム104は、コンピュータシステム110で実施される。コンピュータシステム110は、任意の数のコンピュータを備える。一又は複数のコンピュータがコンピュータシステム110に存在するときには、これらのコンピュータは互いに通信することができる。いくつかの実施例では、コンピュータシステム110は、図11のデータ処理システム1100を使用して実施することができる。
図示されたように、プロジェクト管理システム104は、プロジェクトマネージャー112及びプロジェクト分析器114を備える。プロジェクトマネージャー112は、プロジェクト106の情報116を管理するように構成される。情報116は、たとえば、限定はしないが、タスク、納品物、任意の数の人、資金、コスト、スケジュール、最終期限、設備、材料、ファイル、ログ、レポート、及び/又はプロジェクト106の他の適する情報を含むことができる。
情報116は、任意の数の記憶装置118に記憶される。任意の数の記憶装置118の一又は複数は、任意の数の組織102、任意の数の組織102から離れた任意の数の場所、又はその二つの組み合わせ内に配置される。任意の数の記憶装置118の一つは、メモリ、サーバ、記憶ユニット、データベース、ファイル、フラッシュドライブ、又は別の適する種類の記憶装置から選択することができる。
プロジェクトマネージャー112は、任意の数の記憶装置118から情報116を読み出すように構成される。一つの実施例では、プロジェクトマネージャー112は、プロジェクト106の情報116を読み出すためにプロジェクトトラッカー121を使用することができる。プロジェクトトラッカー121は、任意の数のプロジェクト追跡アプリケーションを使用して実施可能である。これらの実施例では、プロジェクトトラッカー121は、自由テキスト形式で情報1116を読み出すように構成される。また、自由テキストは、自由形式テキスト又は非構造化データとも言われる。
さらに、プロジェクトマネージャー112は、自由テキスト形式で情報116を使用してデータエンティティを識別するためにメモリ生成器113を使用することができる。ここで使用されるように、「データエンティティ」とは、プロジェクト106のうちの一つのデータのアイテムとする。データエンティティは、任意の数の異なる形式をとることができる。一つの実施例として、プロジェクト108のデータエンティティは、プロジェクト108のために実行される特定のタスクとする。別の例として、プロジェクト108のデータエンティティは、プロジェクト108の部分として製造される特定の製品とする。
メモリ生成器113は、データエンティティ120を使用して連想メモリ130を生成することができる。ここで使用されるように、「連想メモリ」は、複数のデータ及び複数のデータ間の複数の連想性を含むことができる。連想メモリの複数のデータ及び複数の連想性は、非一時的なコンピュータ可読記憶媒体に記憶される。ここで使用されるように、「複数の」アイテムは、二以上のアイテムを意味する。たとえば、複数の連想性とは、二以上の連想性を意味する。場合によっては、複数のデータは、たとえば、圧縮データ、暗号化データ、又はその二つの組み合わせを含むことができる。
複数のデータは、データの第一の連想ユニット、データの第二の連想ユニット、及びデータの第三の連想ユニットなどの連想ユニットに収集される。多かれ少なかれデータの連想ユニットは存在するとする。データの連想ユニットは、ある方法で互いを連想する二組以上のデータとする。
連想メモリは、複数のデータ内の直接的な相関関係に加え、複数のデータ内の間接的な関係に基づいてクエリされるように構成される。また、連想メモリは、直接的な関係と、直接的及び間接的な関係の組み合わせとに基づいてクエリされるように構成されてもよい。直接的な関係の例は、データの連想ユニットを形成する二組のデータの関係とする。また、直接的な関係は、データの二つの連想ユニット間での直接的な関係としてもよい。
間接的な関係が存在するのは、直接的な関係が存在せず、データが間接的に接続されるときである。たとえば、データの第一の連想ユニットがデータの第二の連想ユニットに直接的に関連し、且つデータの第二の連想ユニットがデータの第三の連想ユニットに直接的に関連するときに、データの第一の連想ユニットとデータの第三の連想ユニットとの間に間接的な関係が存在する。直接的及び間接的な関係の多くの他の例が可能である。
さらに、連想メモリは、コンテンツアドレッサブル構造を含むことができる。コンテンツアドレッサブル構造は、連想メモリのデータを連想するアドレスではなくむしろ、連想メモリのコンテンツ又は複数のデータそのものに基づきクエリされる性能を、連想メモリに提供することができる。場合によっては、コンテンツアドレッサブル構造により、連想メモリは複数のデータの入力パターンを複数のデータの出力パターンへマッピングすることが可能になる。
これらの実施例では、データエンティティ120は、連想メモリ130に記憶された複数のデータの少なくとも一部を形成することができる。ここで使用されるように、「少なくとも一部」とは、連想メモリ130のいくらか又は全てとする。メモリ生成器113は、連想メモリ130にデータエンティティ120を記憶する。特に、メモリ生成器113は、データエンティティ120のタイプ122を識別し、タイプ122によりデータエンティティ120を記憶する。一つの実施例として、識別された各データエンティティについて、メモリ生成器113は、そのデータエンティティについての特定のタイプを判定する。メモリ生成器113は、同じ特定のタイプのデータエンティティに連想させて連想メモリ130にデータエンティティを記憶する。データエンティティの特定のタイプが新たなタイプであるときには、メモリ生成器113は、新たなタイプのデータエンティティについてのデータエンティティの新たなリストを作成する。
データエンティティ120のタイプ122は、たとえば、限定はしないが、第一のタイプ124、第二のタイプ126、及び第三のタイプ128を含む。当然、実施次第では、データエンティティ120のタイプ122は、任意の数のタイプを含むことができる。
さらに、識別された各データエンティティについて、メモリ生成器113は、そのデータエンティティについての一組の属性を識別することができる。ここで使用されるように、「一組の」アイテムは、ゼロ又は一以上のアイテムを意味する。たとえば、一組の属性は、ゼロ又は一以上の属性とする。このように、一組の属性とは、ゼロ又は零組(の属性)としてもよい。さらに、ここで使用されるように、「属性」は、データエンティティに関連した情報の特定の特徴又は部分とする。
一つの実施例では、データエンティティ138は、メモリ生成器113により識別されたデータエンティティ120のうちの一つの例とする。メモリ生成器113は、次いで、データエンティティ138を第一のタイプ124として識別し、データエンティティ138を第一のタイプ124に属するものとして連想メモリ130に記憶する。このように、データエンティティ138は、第一のタイプ124の他のデータエンティティと連想して記憶される。
さらに、メモリ生成器113は、データエンティティ138についての一組の属性119を識別する。さらに、メモリ生成器113は、各組の属性119についての属性のタイプを識別する。特に、メモリ生成器113は、一組の属性119についての一組の属性のタイプ117を識別する。メモリ生成器113は、一組の属性タイプ117によりデータエンティティ138に連想させて一組の属性119を記憶する。
場合によっては、二以上のデータエンティティ120は、同じ属性タイプの属性を有してもよい。さらに、場合によっては、第一のデータエンティティ及び第二のデータエンティティの両方が同じ属性タイプの属性を有するときには、第一のデータエンティティについての一又は複数の属性は、第二のデータエンティティについての一又は複数の属性と同じものとする。
一つの実施例として、属性タイプは、コスト、オフセットクレジット、公債、プロジェクトに関する任意の数の人、プロジェクトの任意の数のタスク、プロジェクト最終期限、プロジェクトで使用される特定タイプの任意の数の装置、材料のタイプ、識別番号、又は別の適する属性タイプのうちの一つから選択することができる。データエンティティについての可能な属性タイプのリストは本発明を限定するものではない、というのは、実施形態は上に挙げた以外にも多くの可能な属性を熟慮しているからである。特定の属性タイプの属性は、次いで、対応するデータエンティティに属する属性タイプの値とする。
たとえば、データエンティティ138は、航空機のパーツとすることができる。データエンティティ138についての一組の属性119は、プラスチックとすることができる。プラスチックは、一種の材料である一組の属性タイプ117の一つに属する。データエンティティ138についての一組の属性119は、各組の属性タイプ117についての任意の数の属性を含むことができる。
このように、同一又は類似の情報間での連想性が連想メモリ130で形成可能となる方法で、メモリ生成器113は、プロジェクト106の情報116を記憶することができる。連想メモリ130でのデータエンティティ120の記憶により、現在入手可能なシステムを使用したプロジェクト分類と比較して、プロジェクト106の関連プロジェクトのグループが簡単で迅速に識別可能となる。
プロジェクト分析器114は、プロジェクト106を分析するために連想メモリ130を使用する。たとえば、プロジェクト分析器114は、第一のレポート生成器123及び第二のレポート生成器125を備える。これらの実施例では、第一のレポート生成器123は、関心のエリア129に関連する情報を識別する第一のレポート127を生成するために、連想メモリ130を使用するように構成することができる。関心のエリア129は、たとえば、限定はしないが、トピック、テーマ、サブジェクトのタイプ、フォーカス、又は別の適する種類のプロジェクト106に対する関心のエリアとする。
第一のレポート生成器123は、クエリ生成器131を備える。クエリ生成器131は、連想メモリ130を使用して、関心のエリア129に関連する任意の数のデータエンティティ144を識別するように構成される。任意の数のデータエンティティ144は、場合によっては、「クラスター」とされることもある。
特に、クエリ生成器131は、関心のエリア129に関連する連想メモリ130に記憶されたデータエンティティ120の任意のデータエンティティを分類するために、任意の数の選択されたクライテリア132を使用することができる。要するに、クエリ生成器131は、関心のエリア129に関連するデータエンティティ120の部分をクラスターに分類するために、任意の数の選択されたクライテリア132を使用することができる。
これらの実施例では、任意の数の選択されたクライテリア132は、ユーザ入力で最初に受信される。ユーザ入力は、たとえば、ディスプレーシステム上へのディスプレーのために構成されたグラフィカルユーザインターフェースを介して受信される。一つの実施例では、グラフィカルユーザインターフェースにより、ユーザは、グラフィカルユーザインターフェースを使用して、クエリ形式で任意の数の選択されたクライテリア132を入力することができる。
任意の数の選択されたクライテリア132は、任意の数の検索語とする。これらの検索語は、たとえば、限定はしないが、単語、一連の単語、フレーズ、関心のエリア129に関連する一又は複数のキーワード、関心のエリア129を識別する単語又はフレーズ、イメージ、オーディオファイル、一連のシンボル及び/又は英数字、及び連想メモリ130に記憶されたデータエンティティ120がそれにより検索される他の適する検索語を含む。
クエリ生成器131は、関心のエリア129に関連する任意の数のデータエンティティ144を識別するために、任意の数の選択されたクライテリア132を使用できる。その後、クエリ生成器131は、任意の数の選択されたクライテリア132に付加できる一組の新たなクライテリア146を識別するために、任意の数のデータエンティティ144を使用できる。データエンティティ120のデータエンティティのタイプ、任意の数のデータエンティティ144の各々を連想する属性、及び/又は他の適する情報に基づき、一組の新たなクライテリア146が識別される。場合によっては、ユーザは、一組の新たなクライテリア146を見て、一組の新たなクライテリア146の一又は複数を除去及び/又は修正することにより一組の新たなクライテリア146を改良することができる。
クエリ生成器131は、修正されたクライテリア147を形成するために、一組の新たなクライテリア146を任意の数の選択されたクライテリア132に付加することができる。クエリ生成器131は、次いで、関心のエリア129に関連する任意の数のデータエンティティ144を識別するために、修正されたクライテリア147を使用することができる。
任意の数のデータエンティティ144を使用して一組の新たなクライテリア146を識別し、一組の新たなクライテリア146を使用して修正されたクライテリア147を形成し、次いで、修正されたクライテリア147を使用して任意の数のデータエンティティ144を識別するプロセスは、一組の新たなクライテリア146が零になるまで、及び/又は一組の新たなクライテリア146が意味のある及び/又は類似である検索語をもはや含まなくなるまで繰り返される。実施次第では、このプロセスは、クエリ生成器131及び/又はユーザにより停止されてもよい。
最終的な任意の数のデータエンティティ144が識別されたときに、第一のレポート生成器123は、任意の数のデータエンティティ144を使用して、第一のレポート127を生成できる。第一のレポート生成器123は、タイプ、任意の数のデータエンティティ144の各々を連想する各組の属性119、及び/又は第一のレポート127の任意の数のデータエンティティ144についての他の適する情報により、任意の数のデータエンティティ144を識別できる。
これらの実施例では、第二のレポート生成器125は、関連するプロジェクト106のプロジェクトのデータエンティティを含む任意の数のクラスター134を識別する第二のレポート150を生成するように構成される。これらのプロジェクトは、任意の数の異なる方法で関連付けられる。たとえば、これらのプロジェクトの情報がある方法で関連付けられるときに、クラスターのプロジェクトが関連付けられる。別の例として、関心の特定のエリア又はサブジェクトに関連付けられることにより、クラスターのプロジェクトは関連付けられる。
一つの実施例では、第二のレポート生成器125は、連想メモリ130に記憶されたデータエンティティ120間での相関関係を識別するために、エンティティ分析エンジン136を使用することができる。エンティティ分析エンジン136は、データエンティティ120間での相関関係を識別するために、データエンティティ120を互いに比較する。たとえば、連想メモリ130に記憶されたデータエンティティ120の各々について、エンティティ分析エンジン136は、データエンティティが任意の数のクラスター134の一つに属するかどうかを判定する。
データエンティティ138は、データエンティティ120の一つの例とする。クラスター140は、任意の数のクラスター134の一つの例とする。エンティティ分析エンジン136は、データエンティティ138をクラスター140にすでに存在する任意の数のデータエンティティと比較することにより、データエンティティ138がクラスター140に属するかどうかを判定することができる。
これらの比較は、あらかじめ選択されたクライテリア及び/又はユーザによって入力されるクライテリアに基づき行われる。一つの実施例として、データエンティティ138が一又は複数の属性をクラスター140内のこれらの他のデータエンティティと共有しているかどうかを判定するために、データエンティティ138は、クラスター140にすでに存在する任意の数のデータエンティティと比較される。場合によっては、属性及び/又クラスター140の任意の数のデータエンティティを連想する連想メモリ130の他の情報に基づき、データエンティティ138は、クラスター140の任意の数のデータエンティティと比較される。
データエンティティ138をクラスター140にすでに存在する任意の数のデータエンティティと比較する際に、エンティティ分析エンジン136は、これらの比較に基づき類似性スコア142を生成する。エンティティ分析エンジン136は、次いで、類似性スコア142が選択された閾値よりも大きいかどうかを判定する。類似性スコア142が選択された閾値よりも大きいなら、プロジェクトマネージャー112はデータエンティティ138をクラスター140に付加する。
これらの実施例では、第二のレポート生成器125は、プロジェクトマネージャー112により形成される任意の数のクラスター134を使用して第二のレポート150を生成するように構成される。一つの実施例では、プロジェクト分析器114は、任意の数のクラスター134の各クラスターについてのアグリゲート値152に基づき第二のレポート150を生成するように構成される。
一つの実施例では、アグリゲート値152は、クラスターの任意の数のデータエンティティにより共有される特定の属性タイプのためのものとする。たとえば、アグリゲート値152は、クラスターのデータエンティティにより共有される特定の属性タイプの属性の値の合計とする。一つの実施例として、アグリゲート値152は、クラスターの任意の数のデータエンティティの総計とする。別の実施例として、アグリゲート値152は、クラスターのプロジェクトのコストの合計、又は別の適するタイプの値とする。
第二のレポート生成器125は、選択された閾値よりも大きいアグリゲート値152を有する任意の数のクラスター134の任意の一つを第二のレポート150生成のために選択された一組のクラスター154へ付加する。この選択された閾値は、選択された閾値よりも大きいアグリゲート値152を有するクラスターがさらなる目的を正当化するものと識別されるように選択することができる。
第二のレポート生成器125は、次いで、一組のクラスター154のデータエンティティを使用して、第二のレポート150を生成する。第二のレポート150は、任意の数の組織102により引き受けられるプロジェクト106を管理するために使用できる。さらに、第二のレポート150は、プロジェクト106を完成させる効率を改善する任意の数の工程を識別するために使用できる。
図1のプロジェクト管理環境の図は、実施形態が実施される方法に対して、物理的な又は技術的な限定を意味するものではない。図示されたコンポーネントに加えて及び/又は代えて、他のコンポーネントを使用することができる。いくつかの構成要素は、不要としてもよい。また、機能的なコンポーネントを示すために、ブロックが提示される。実施形態で実施されるときには、一又は複数のこれらのブロックは、結合されてもよく、分割されてもよく、又は種々のブロックに結合及び分割されてもよい。
たとえば、場合によっては、プロジェクト分析器114は、プロジェクトマネージャー112の部分とすることができる。さらに、実施次第では、少なくともプロジェクトマネージャー112及び/又はプロジェクト分析器114の一部は、連想メモリ130で実施可能である。
いくつかの実施例では、データエンティティ120は、複数の連想メモリに記憶される。これらの例では、プロジェクトマネージャー112は、これら多数の連想メモリ全域でプロジェクト106の情報116を管理するように構成される。
図2は、一つの実施形態によるブロック図形式での連想メモリを示す。この実施例では、図1の連想メモリ130がより詳細に述べられる。
図示されるように、図1からのデータエンティティ120は、データエンティティ120のタイプ122に基づき連想データ130に記憶される。タイプ122は、本実施例では、第一のタイプ124、第二のタイプ126及び第三のタイプ128を含む。当然、他の実施例では、タイプ122は、任意の数のタイプを含むことができる。
第一のタイプ124は、たとえば、限定はしないが、プロジェクトエンティティ202とする。第二のタイプ126は、たとえば、タスクエンティティ204とする。第三のタイプ1128は、たとえば、納品物エンティティ206とする。当然、他の実施例では、第一のタイプ124、第二のタイプ126及び/又は第三のタイプ128は、他の適するタイプのデータエンティティとすることができる。
プロジェクトエンティティ202のデータエンティティは、たとえば、特定のプロジェクトとする。タスクエンティティ204のデータエンティティは、たとえば、特定のプロジェクトについてのタスクとする。ここで使用されるように、「タスク」は、特定の目的を達成するために実行される任意の数の工程を含むことができる。たとえば、タスクは、特定の科学技術についての温度変化のレポートを生成することとする。別の例として、タスクは、調査を実行することとする。さらに別の例では、タスクは、特定のパーツへねじを留めることとする。
さらに、納品物エンティティ206のデータエンティティは、たとえば、特定のプロジェクトにより生産された納品物とする。ここで使用されるように、「納品物」は、顧客又はクライアントに納品されることを目的とするプロジェクトの結果として生産された任意の有形又は無形の製品を表現するものである。たとえば、限定はしないが、納品物は、レポート、ドキュメント、ソフトウェアのアップグレード、電子装置、プロジェクトの目的又は結果、或いは別の適する種のアイテムとする。
プロジェクトエンティティ202、タスクエンティティ204、及び納品物エンティティ206の各々は、任意の数のデータエンティティを含むことができる。一つの実施例として、連想メモリ130のプロジェクトエンティティ202は、データエンティティ208、データエンティティ210、及びデータエンティティ212を含む。タスクエンティティ204は、データエンティティ214、データエンティティ216、及びデータエンティティ218を含む。納品物エンティティ206は、データエンティティ220、データエンティティ222、及びデータエンティティ224を含む。
図3は、一つの実施形態によるブロック図形式での連想メモリに記憶されるデータエンティティを示す。この実施例では、図2の納品物エンティティ206のデータエンティティ222が、より詳細に述べられる。
データエンティティ222は、一組の属性タイプ300に体系化されたデータエンティティ222の属性を含む連想メモリ130に記憶される。本実施例では、一組の属性タイプ300は、名前302、材料304、記述子306、仕様308、プロジェクトエンティティの連想エンティティ310、及びタスクエンティティの連想エンティティ312を含む。
名前302は、データエンティティ222には固有のものとする。要するに、データエンティティ222には、データエンティティ222の名前を識別する名前302の属性はただ一つしかない。述べられたように、属性314は、データエンティティ222の名前とする。材料304は、データエンティティ222を連想する材料のタイプとする。要するに、材料のタイプである任意の属性は、材料304に属するものとしてデータエンティティ222に記憶される。本実施例では、データエンティティ222は、材料304に属する属性316を含む。当然、他の実施例では、データエンティティ222は、材料304に属する複数の属性を含むことができる。
データエンティティ222を述べる任意の属性は、記述子306に属するものとして記憶される。図示されたように、属性318、属性320、及び属性322は、記述子306に属する。データエンティティ222を連想する特定の製品仕様を識別する任意の属性は、仕様308に属するものとして記憶される。本実施例では、データエンティティ222は、仕様308に属する属性324を含む。
さらに、データエンティティ222を連想する図2のプロジェクトエンティティ202のデータエンティティを識別する任意の属性は、プロジェクトエンティティの連想エンティティ310に属する。同様に、データエンティティ222を連想する図2のタスクエンティティ204のデータエンティティを識別する任意の属性は、タスクエンティティの連想エンティティ312に属する。
本実施例では、プロジェクトエンティティの連想エンティティ310及びタスクエンティティの連想エンティティ312に属する属性は、データエンティティ222を連想する連想メモリ130の実際のデータエンティティへのリンクを連想することができる。たとえば、プロジェクトエンティティの連想エンティティ310に属する属性326は、図2の連想メモリ130のデータエンティティ212へのリンクを連想することができる。さらに、タスクエンティティの連想エンティティ312に属する属性328は、図2の連想メモリ130のデータエンティティ216へのリンクを連想することができる。
図4は、一つの実施形態によるブロック図形式での工程の流れを示す。本実施例では、工程400は、プロジェクトについての情報を含むレポートを生成するために、図1のプロジェクト管理システム104を使用して実行することができる。図示されたように、工程400は、工程402、工程404、工程406、及び工程408を含むことができる。
本実施例では、工程402は、図1の連想メモリ130のような連想メモリを作成し読み込むために実行される。工程402では、図1のデータエンティティ120のようなデータエンティティが、連想メモリに記憶される。これらのデータエンティティは、たとえば、プロジェクトエンティティ、タスクエンティティ、及び納品物エンティティなどのタイプとされる。ユーザは、レポートを生成するための工程404、工程406、又はその二つの組み合わせを選択することができる。
連想メモリに記憶されたデータエンティティを使用してデータエンティティのクラスターを自動的に作成するために、特に、プロジェクト、タスク及び納品物情報及び/又は任意の他のタイプのエンティティの情報についてのクラスターを自動的に作成するために、工程404は実行される。工程404では、連想メモリに記憶されたデータエンティティを使用してクラスターを形成するために、工程410が実行される。さらに、工程412は、形成された各クラスターの、たとえば図1のアグリゲート値152などのアグリゲート値を識別するために、実行される。工程412では、選択された閾値よりも大きいアグリゲート値を有するクラスターが、レポートに選択される。
工程404に加えて、又は工程404に代えて、関心の特定のエリアに関連するデータエンティティのクラスターを作成するために、工程406が実行される。工程406では、連想メモリに記憶されたデータエンティティを使用してクラスターを形成するために、工程414が実行される。さらに、クラスターのデータエンティティから識別された検索語を使用して、任意の回数データエンティティのクラスターを改良するために、工程416が実行される。工程414及び工程416は、たとえば、図1のクエリ生成器131を使用して実行される。
本実施例では、工程404及び/又は工程406のレポートに選択されたクラスターを使用してレポートを生成するために、工程408が実行される。特に、レポートは、クラスターのデータエンティティに表示されるプロジェクト、タスク、及び納品物についての情報を含む。
このように、ポートフォリオマネージャーが類似である一又は複数の組織全域でプロジェクトを迅速に識別し且つ分類する又は「クラスター化する」ことができるように、種々の実施形態は、連想メモリ及びカスタムユーザインターフェースに結合されたエンティティ分析技術を使用できる。これらのプロジェクトは、関連した及び関連はしないが類似した属性の適合に基づきクラスター化される。さらに、種々の実施形態は、取り組みの強化及び/又は知識及びリソースの共有から恩恵を受けられる。
種々の実施形態は、ポートフォリオマネージャーが会社又は組織全域で関連した又は類似のプロジェクトの分類又は「クラスター化」を識別するのに必要な時間及び労力を削減可能なシステムを提供する。プロジェクト情報は、説明、タスク、納品物、及び/又は他の適する情報を含むことができる。実施形態により、他の種のプロジェクト情報が熟考される。多様なアプリケーション、在庫品及び特注品を使用して、プロジェクト情報が保持され追跡される。その結果、プロジェクト情報は、多様な形式で記憶される。
また、職場移動のペース、研究開発プロジェクトの固定されたカテゴリー化によるプロジェクト情報の分類、異なる事業所又は組織の習慣、セキュリティ、政策、及びことによると単なる認識不足を含む一又は複数の要因により、全社規模で、全てのプロジェクトを記憶することは、ポートフォリオマネージャーには極めて難しいだろう。さらに、これらの要因により、ポートフォリオマネージャーが、潜在的なコスト削減又は共有される知識からの効率促進を識別する「価値ある」情報を想起することは、極めて困難となるだろう。
従来のソリューションには、一又は複数の個人或いは組織の事業所全体により費やされる数ヶ月又は数年を含む広範囲な労力を要する、主として手作業による人材分析が含まれる。多数のアナリスト又は多数のポートフォリオマネージャーのような多数のリソースの使用により、暦時間が削減できる。しかしながら、多数のリソースを使用することにより、コスト及び効率に悪影響を及ぼすかもしれない。
ポートフォリオマネージャーが社内の事業所及び組織全域で方法及びアプリケーションを追跡する全てのプロジェクトを記憶できると想定すると、プロジェクト情報の検索及び収集のプロセスは、大部分が、多数のアプリケーション及び検索ツールの使用を含む手動タスクのままであろう。面倒なことに、アプリケーションを追跡する多数のプロジェクトは、プロジェクト情報を述べるときに共通の専門語を共有する又は共有しない多くの人により追加された多数のデータ記憶を意味するかもしれない。
たとえば、多数の個人は、同じ用語を述べるために同じ頭字語を使用しないかもしれないし、俗語を使用するかもしれないし、類義語を使用するかもしれないし、又は、非技術的用語などの予期せぬ名前によりある用語に言及するかもしれない。その結果、多数のプロジェクトにわたって、数多くの変数が存在することが、ポートフォリオマネージャーが各類似のプロジェクトレコードを収集し、次いで多くの個人により入力された多種多様な形式のアプリケーションのプロジェクトレコードから「知識」又は価値ある情報を記憶し引き出すことの妨げになるかもしれない。
ある会社が統一された検索機能を備えるただひとつのプロジェクト追跡アプリケーションを使用していたとしても、プロジェクト追跡アプリケーションは、プロジェクトレコード内のキーワードとたまたま適合する任意のキーワードの存在に基づいてプロジェクトの分類をリターンすることがある。ポートフォリオマネージャーには、リターンされたプロジェクトレコード間での類似点又は相違点を判定するすべが今でもないだろう。関連する又は類似のプロジェクト及び/又はこれらのプロジェクト間での類似の程度を識別するタスクは、各プロジェクトレコードが読み込まれ、プロジェクトレコードからのデータが要約され且つアグリゲートされることを要求する。
別の要因は、プロジェクトを再検討するポートフォリオマネージャーの経験である。追跡知識の開発及び組織又は会社の管理に多くの年数を費やした経験のあるポートフォリオマネージャーは、幅広い経験を持たないポートフォリオマネージャーよりもプロジェクト間での類似性を迅速に想起し認識することができる。その経験を得るためのコストは、時間、成功したプロジェクト及び失敗したプロジェクト両方の年数、利益及び損失、並びに下したすべての決定から学んだ教訓とされる。そのような知識を生産する人の経験を蓄積するために要する時間を短縮するために、分析により、このプロセスで助けとなる種々のツール使用が試みられた。アナリストが使用するツールは、ルールベースモデル、関係データベースとクエリシステム、並びにデータマイニングシステムである。
しかしながら、従来のシステムでは、全文読込みを行うことができない。その結果、これらのシステムは、プロジェクトエンティティなどのデータエンティティとそれらの属性(コスト、科学技術及び場所など)とを、複雑且つ繊細な方法で関係付ける能力が制限されることがある。
さらに、現在のデータマイニングソリューションはデータの縮小を行うため、縮小しければ役立つ情報を潜在的に削除することもある。たとえば、繰り返しの少ない所望のパターンを判定する際にしばしば重要となる細やかなデータは、多くの場合、失われてしまうかもしれない。その結果、ポートフォリオマネージャーは、実際に存在するとして、もしキーワードを含んでいたら警告されるが、実際にはその記述にキーワードを含まないプロジェクトを見落とすこともある。キーワードは、たとえば、頭字語であってもよい。また、データマイニングソリューションは、人的資源時間の観点から、時間とコストがかかるだろう。
さらに、従来のシステムでは、エンティティは既定の特徴により特徴づけられるように「強制される」ので、エンティティ間の連想データの多くは失われてしまうかもしれない。たとえば、多くのデータベースシステムは、選ばれるあるカテゴリーのみが許可されるドロップダウンメニューを備えることができる。これらのカテゴリーには、エンティティ間での全ての連想性に的確に対処できるほど十分な詳細が含まれない。この結果、所望の結果を判定する際に又は分析的プロセスを補助する際に大きな助けとなりうる関係が、除外されることもある。
たとえば、関係データベースは、プロジェクトAを「スペア追跡システム開発」と記述させる。自由テキストは、そのプロジェクトを「サプライヤーの会社情報をディスプレーするためのjavaベースのUIサブアプリケーション」と記述し、そのプロジェクトが実際何についてのものかをより分かりやすく示す。プロジェクトBは、関係データベースにより、「スペア追跡システム開発」と同様に記述される。しかしながら、プロジェクトBの自由テキストは、「RFテクニカル12タグ」とされる。
また、関係データベースは、プロジェクトCを「契約管理タスク」と記述させ、他方で、自由テキストは、「契約者の会社情報をディスプレーするためのjavaベースのUIサブアプリケーション」とされる。これらのプロジェクトの分析は、プロジェクトA及びプロジェクトBが同じデータベースカテゴリーに配列されていたとしても、プロジェクトA及びプロジェクトCは、プロジェクトA及びプロジェクトBよりもよりも関連性が強いことを示す。
さらに、たとえば技術の成熟により、ユーザにプロジェクトをカテゴリー化させることにより、プロジェクト追跡ソフトウェアは、カテゴリー化問題に貢献することもできる。選ぶべきカテゴリーがほとんど存在しないなら、ユーザは「最も」適合するカテゴリーを選択しているので、プロジェクトは間違ってカテゴリー化されるかもしれない。この場合、結果として、多くのクラスター化されたプロジェクトを含む2、3のカテゴリーがもたらされるが、その幾つかは不適切にクラスター化されたものとなる。
別の例として、定義されるカテゴリーが多すぎるときには、結果として、多くのカテゴリーがもたらされるが、その幾つかはおそらく無関係であり、もしあるにせよ、そのうちの2、3のクラスター化されたプロジェクトを含むだけである。さらに、ルールベースシステムは、脆弱でありビジネス状況の変化に無反応な傾向にある。
ここで述べられる種々の実施形態により、ポートフォリオマネージャー又はユーザは、組織又は会社全域で、最も類似するプロジェクトを識別することができる、又は関心の任意のエリアに関連したプロジェクトを見つけることができる。種々の実施形態において、多数のフォーマットの膨大なデータを迅速に評価して類似のプロジェクトを識別し且つ分類する又は「クラスター化する」ために、連想メモリ技術が活用される。これらの「クラスター化された」プロジェクトは、互いに関連している、又は関心のエリアに関連している。
一つの実施形態では、二つの異なるステップが使用される。第一のステップは、連想メモリの作成又は読み込みとされる。この第一のステップは、ここで述べられるように、図4の工程402を使用して実施される。第二のステップは、情報の分析とされる。第二のステップは、ユーザに二つのオプションを提供する。第一のオプションは、プロジェクトの情報に基づきプロジェクトのクラスターを作成することである。第一のオプションは、ここで述べられるように、工程404を使用して実施される。第二のオプションは、関心のエリアに関連するプロジェクトのクラスターを作成することである。この第二のオプションは、ここで述べられるように、工程406を使用して実施される。
第一のステップ、工程402では、事業所、組織、又は会社全域でプロジェクト追跡アプリケーションから現在のデータ及び過去のデータを集めることにより、特定の連想メモリが作成される。連想メモリは、エンティティ、エンティティの属性、及びデータソースに記述されたプロジェクトに関連する連想性/関係を記憶することができる。このようなエンティティは、データエンティティとも呼ばれる。これらのデータエンティティは、たとえば、プロジェクト、タスク、納品物、及び/又は他の適するエンティティを含むことができる。
属性は、たとえば、記述、作業分解図、及び/又は他の適する属性を含むことができる。記述は、たとえば、限定はしないが、「スペア追跡」又は「金融システム開発」とする。作業分解図は、たとえば、設計セキュリティユーザインターフェース、データ変換又は検査とする。
第二のステップの第一のオプション、工程404では、プロジェクト、タスク及び納品物を連想する情報すべてがいったんある期間記憶されると、データエンティティ間での高い値の相関関係を提供し、類似プロジェクトのクラスターを識別し且つ作成するために、連想メモリのエンティティ分析が使用される。この第一のオプションでは、各エンティティはすべての他のエンティティと比較され、コスト、類似技術及び/又はリソース、ベストプラクティス、及び/又は試みの重複などの情報を識別するために、高い相関関係を有するこれらのグループのエンティティが調査される。
一つの実施例として、会社内の第一の組織は、特定の状況と設定手順を必要とする航空機コンポーネントの受入検査を実行するために、検査施設の使用を要求する。コンポーネント及びプロジェクトが一見して無関係のようでも、会社の第二の組織は、第一の組織により開発される航空機のコンポーネントの検査に使用される状況と類似した検査状況を必要とするコンポーネントを開発することができる。第一の組織は、第二の組織により開発されたコンポーネント検査のために第二の組織が必要とする検査状況を認識しないかもしれない。
検査施設の使用を組み合わせることにより実現され得る時間及びリソースの節約は、種々のコンポーネントの生産コストにおいて実際のコスト削減を意味する。同様に、複数のソフトウェア開発チームが、他チームの取り組みに対する認識不足により、企業ライセンス購入時に、開発ツールのシングルライセンスコピーを購入していることもある。同時に多数のライセンスを購入すれば、ソフトウェアのコスト及び開発ツール搭載に必要な時間を削減することができる。たとえば、別個のソフトウェアパッケージを搭載することと比較して、単独のサーバーパッケジを搭載することにより、時間及びコストが削減される。両方の場合において、種々の実施形態は、プロジェクトの可視性及び「価値ある情報(actionable intelligence)」を提供し、会社のコスト削減をもたらすような詳細な情報に基づく決断を導くことができる。
第二のステップの第二のオプション、工程406では、検索語のリストからなる記述エンティティが開発される。記述エンティティは任意の特定のトピック又は関心のエリアに関連する。記述エンティティは、最大値まで連想メモリに対して反復的に改良される。要するに、意味のない又は正しくないエンティティ適合を生成することによりリターン減少に到達する前に、リストの用語は、最も多い数の類似した意味のある関連属性を識別できる。いったん記述エンティティが作成されてしまうと、記述エンティティは、検索語と適合する全てのプロジェクトを検索するために使用される。
種々の実施形態は、任意の規模の民間システム又は政府システム、工程、或いは製品に適用可能である。しかしながら、相乗効果の可能性が増加するとしても、クラスター識別プロセスは急激に難しくなるので、システム、工程又は製品のサイズ及び複雑さが増すにつれ、種々の実施形態により提供されるプロジェクトの管理方法及び装置の価値は、明らかに増加する。
特に、種々の実施形態では、エンティティ分析クラスターメモリが提供される。このエンティティ分析クラスターメモリは、高い類似性の研究開発プロジェクトを発見できる連想メモリである。
種々の実施形態は、任意のデータを限定することなく、テキストを認識可能な且つ比較可能なユニットに分解することにより、非構造で多義の自由テキストデータを処理する方法及び装置を提供することができる。さらに、種々の実施形態は、他の現在入手可能な検索ツールのような縮小的なアルゴリズム又は規則の使用を避けることができる。種々の実施形態は、ユーザにより生成されたクエリに含まれる用語に関連するエンティティの階層順のリストをリターンする。
種々の実施形態は、現在入手可能な手動の又は自動のツールよりも効率よく迅速にソリューションに達し且つクラスターを識別する方法及び装置を提供することができる。現在入手可能な関係データベース操作ツールは、キーワードを検索できる。しかしながら、その視点は、現在の問題に関連するエンティティではなく、関係データベース設計者のものとされる。関係データベースは、自由テキスト内のすべてのエンティティから構成されているわけではなく、それらが同じ用語を含むので、プロジェクトを独自に類似させる及び類似させないこれらの特徴を理解できないかもしれない。
図5は、一つの実施形態によるフローチャート形式でのプロジェクトの情報管理プロセスを示す。図5に示されたプロセスは、図1のプロジェクト管理システム104を使用して実施可能である。ここで使用されるように、「プロジェクト管理システム」という言葉は、図1のプロジェクト管理システム104に限定されないが、ここで述べられる工程を実施するために、非一時的なコンピュータ可読媒体とともに使用される任意のプロセッサ又は一組のプロセッサを備えることもできる。
さらに、図5に示されるプロセスは、たとえば、限定はされないが、図11のプロセッサユニット1104など、おそらくネットワーク化された環境又は分散環境で、一又は複数のプロセッサを使用して、実施することができる。図5に示されるプロセスは、ソフトウェア、ハードウェア、又はその組み合わせを使用して実施可能であるが、特に、連想メモリとともに使用可能である。
さらに、図5の一又は複数の工程はプロジェクト管理システムにより実行されるものとして述べられているが、ここで述べられる一又は複数の工程は、図1の連想メモリ130などの連想メモリにより実行される。さらに、一又は複数の工程は、プロジェクトマネージャー112、プロジェクト分析器114、図11のデータ処理システム1100により、又は任意の適するソフトウェアコンポーネント、ハードウェアコンポーネント、或いはそれらの組み合わせにより実行される。
プロセスは、自由テキストとしてプロジェクトの情報を受信するプロジェクト管理システムにより開始する(工程500)。工程500では、任意の数のプロジェクト追跡アプリケーションが、自由テキスト形式でプロジェクトの情報を読み込むために使用される。プロジェクト管理システムは、次いで、自由テキストをデータエンティティのタイプに解析する(工程502)。工程502では、タイプは、たとえば、プロジェクトエンティティ、タスクエンティティ、及び納品物エンティティを含む。実施形態では、自由テキスト形式での情報受信のみならず、ピクチャー、ビデオ、暗号化テキスト、及び多くの他のデータ形式を含む他のタイプの情報受信も熟考されている。
プロジェクト管理システムは、連想メモリにデータエンティティを記憶する(工程504)。このように、プロジェクト管理システムは、プロジェクトの情報をデータエンティティとして連想メモリに記憶する。
その後、プロジェクト管理システムは、データエンティティを分類するための任意の数の選択されたクライテリアを識別する(工程506)。プロジェクト管理システムは、次いで、任意の数のクラスターを形成するために任意の数の選択されたクライテリアを使用して、連想メモリに記憶されたデータエンティティを分類する(工程508)。次いで、プロジェクト管理システムは、任意の数のクラスターを使用してレポートを生成し(工程510)、プロセスはその後終了する。
図6は、一つの実施形態によるフローチャート形式でのデータエンティティのクラスターを形成する工程を示す。図6に示されるプロセスは、図5の工程508を実施するために使用される。
このプロセスは、図1のプロジェクト管理システム104のプロジェクト分析器114を使用して実施可能である。ここで使用されるように、「プロジェクト分析器」という言葉は、図1のプロジェクト分析器114に限定されないが、ここで述べられる工程を実施するために、非一時的なコンピュータ可読媒体とともに使用される任意のプロセッサ又は一組のプロセッサを備えることもできる。
さらに、図6に示されるプロセスは、たとえば、限定はされないが、図11のプロセッサユニット1104など、おそらくネットワーク化された環境又は分散環境で、一又は複数のプロセッサを使用して実施することができる。このように、図6に示されるプロセスは、ソフトウェア、ハードウェア、又はそれらの組み合わせを使用して実施可能であるが、特に、連想メモリとともに使用することができる。
さらに、図6の一又は複数の工程はプロジェクト分析器により実行されるものとして述べられているが、ここで述べられる一又は複数の工程は、図1の連想メモリ130などの連想メモリにより実行されてもよい。さらに、他の実施例では、一又は複数の工程は、プロジェクトマネージャー112、図11のデータ処理システム1100により、又は任意の適するソフトウェアコンポーネント、ハードウェアコンポーネント、或いはそれらの組み合わせにより実行することができる。
このプロセスは、連想メモリに記憶されたデータのデータエンティティについてのデータエンティティタイプを選択するプロジェクト分析器により開始する(工程600)。プロジェクト分析器は、次いで、選択されたタイプのデータエンティティを選択する(工程602)。次に、プロジェクト分析器は、データエンティティがすでにクラスターに属するかどうかを判定する(工程604)。
データエンティティがすでにクラスターに属するなら、プロジェクト分析器は、選択されたタイプの任意の付加的な未処理データエンティティが連想メモリに存在するかどうかを判定する(工程606)。付加的な未処理データエンティティが存在しなければ、プロジェクト分析器は、任意の付加的な未処理タイプのデータエンティティが連想メモリに存在するかどうかを判定する(工程608)。
付加的な未処理タイプのデータエンティティが存在しなければ、プロセスは終了する。そうでなければ、プロセスは上述のように工程600に戻る。再び工程606を参照すると、付加的な未処理データエンティティが存在するならば、プロセスは、上述のように工程602に戻る。
工程604を再び参照すると、データエンティティがまだクラスターに属していないなら、プロジェクト分析器は、データエンティティに固有のクラスター識別子を割り当てる(工程610)。工程610では、固有のクラスター識別子は、データエンティティが属するだろう特定のクラスターを識別する。
その後、プロジェクト分析器は、現在選択されているデータエンティティと連想メモリに記憶された選択された組のデータエンティティの各々との間の類似性スコアを識別するために、エンティティ分析エンジンを使用することができる(工程612)。これらの実施例では、選択された組のデータエンティティは、現在選択されているデータエンティティに類似するものとしてエンティティ分析エンジンにより識別されたゼロ又は一以上のデータエンティティを含むことができる。データエンティティは、図5の工程506で識別された任意の数の選択されたクライテリアに基づき、現在選択されているデータエンティティに類似のものとして識別される。
当然、他の実施例では、選択された組のデータエンティティは、別の方法で選択することができる。たとえば、選択された組のデータエンティティは、現在選択されているデータエンティティ以外の連想メモリに記憶された選択されたタイプのデータエンティティのすべてとすることができる。
プロジェクト分析器は、次いで、任意の付加的な未処理データエンティティが選択された組のデータエンティティに存在するかどうかを判定する(工程614)。工程614では、選択された組のデータエンティティが零組であるなら、プロジェクト分析器は、未処理データエンティティが選択された組のデータエンティティに存在しないと判定する。
未処理データエンティティが選択された組のデータエンティティに存在しないなら、プロジェクト分析器は、上述したように、工程606に進む。そうでなければ、プロジェクト分析器は、選択された組のデータエンティティに未処理データエンティティを選択する(工程616)。
次に、プロジェクト分析器は、選択された未処理データエンティティと現在選択されているデータエンティティとの間の類似性スコアが選択された閾値よりも大きいかどうかを判定する(工程618)。この選択された閾値は、これらの実施例ではユーザによって特定される。類似性スコアが選択された閾値よりも大きくなければ、工程は上述のように工程614に戻る。
そうではなく、類似性スコアが選択された閾値よりも大きいなら、選択された未処理データエンティティは、現在選択されているデータエンティティの類似データエンティティと見なされる。類似性スコアが選択された閾値よりも大きいなら、プロジェクト分析器は、現在選択されているデータエンティティに割り当てられた固有のクラスター識別子を類似データエンティティに割り当てる(工程620)。このように、工程620では、類似データエンティティは、現在選択されているデータエンティティとして同じクラスターに付加される。その後、プロセスは上述のように工程614に進む。
図7は、一つの実施形態によるフローチャート形式でのレポートの生成プロセスを示す。図7に示されるプロセスは、図5の工程510を実施するために使用される。
この工程は、図1のプロジェクト管理システム104のプロジェクト分析器114を使用して実施可能である。ここで使用されるように、「プロジェクト分析器」という言葉は、図1のプロジェクト分析器114に限定されず、ここで述べられる工程を実施するために、非一時的なコンピュータ可読媒体とともに使用される任意のプロセッサ又は一組のプロセッサを備えることもできる。
さらに、図7に示されるプロセスは、たとえば、限定はされないが、図11のプロセッサユニット1104など、おそらくネットワーク化された環境又は分散環境で、一又は複数のプロセッサを使用して、実施することができる。この方法では、図7に示されるプロセスは、ソフトウェア、ハードウェア、又はその組み合わせを使用して実施可能であるが、特に、連想メモリとともに使用可能である。
さらに、図7の一又は複数の工程はプロジェクト分析器により実行されるものとして述べられているが、以下で述べられる一又は複数の工程は、図1の連想メモリ130などの連想メモリにより実行されてもよい。さらに、他の実施例では、一又は複数の工程は、プロジェクトマネージャー112、図11のデータ処理システム1100により、又は任意の適するソフトウェアコンポーネント、ハードウェアコンポーネント、又はそれらの組み合わせにより実行される。
プロセスは、任意の数のクラスターのうちの一つを選択するプロジェクト分析器により開始する(工程700)。一つの実施例では、クラスターは、関心の特定のエリアに関連するプロジェクトを含むことができる。プロジェクト分析器は、次いで、クラスターのアグリゲート値をゼロに設定する(工程702)。プロジェクト分析器は、次いで、クラスターのデータエンティティを選択する(工程704)。一つの実施例では、このクラスターのデータエンティティは、たとえば、限定はしないが、プロジェクトとする。これらのプロジェクトの各々は、コスト属性を含む。この方法では、クラスターのアグリゲート値は、たとえば、クラスターのプロジェクトの総コストとする。
その後、プロジェクト分析器は、選択されたデータエンティティの値を識別し(工程706)、次いで、その値をアグリゲート値に付加する(工程708)。本実施例では、値は、選択されたデータエンティティの属性についてのものとする。たとえば、選択されたデータエンティティが特定のプロジェクトであるときに、値は特定のプロジェクトのコストについてのものとする。
プロジェクト分析器は、任意の付加的な未処理データエンティティがクラスターに存在するかどうかを判定する(工程710)。付加的な未処理データエンティティが存在するならば、プロセスは上述のように工程704に戻る。
そうでなければ、プロジェクト分析器は選択されたクラスターに連想させてアグリゲート値を記憶する(工程712)。プロジェクト分析器は、次いで、付加的な未処理クラスターが任意の数のクラスターに存在するかどうかを判定する(工程714)。付加的な未処理クラスターが存在するならば、プロセスは上述のように工程700に戻る。
そうでなければ、プロジェクト分析器は、選択された閾値よりも大きいアグリゲート値を含む任意の数のクラスターの各々のレポート情報を生成し(工程716)、その後プロセスは終了する。選択された情報は、たとえば、さらなる注意に値するほど高いプロジェクトの総コストとする。レポート情報は、たとえば、限定はされないが、クラスターの各プロジェクトのコスト、クラスターのプロジェクトの総コスト、及び他の適する情報とする。
場合によっては、任意の数のクラスターにおいて、選択された閾値よりも大きいアグリゲート値を含むものがないこともある。これらの場合には、レポート情報は、情報が入手不可能であることを示す。
図8は、一つの実施形態によるフローチャート形式での関心のエリアに関連するプロジェクトにどれほど費やされているかを判定するためのプロセスを示す。図8に示されたプロセスは、図1の連想メモリ130を使用して実施可能である。
さらに、図8に示されるプロセスは、たとえば、限定はされないが、図11のプロセッサユニット1104など、おそらくネットワーク化された環境又は分散環境で、一又は複数のプロセッサを使用して、実施することができる。この方法では、図8に示されるプロセスは、ソフトウェア、ハードウェア、又はその組み合わせを使用して実施可能であるが、特に、連想メモリとともに使用可能である。
さらに、図8の一又は複数の工程は連想メモリにより実行されるものとして述べられているが、以下で述べられる一又は複数の工程は、図1のプロジェクト管理システム104により実行することができる。また、一又は複数の工程は、プロジェクトマネージャー112、プロジェクト分析器114、図11のデータ処理システム1100により、又は任意の適するソフトウェアコンポーネント、ハードウェアコンポーネント、或いはそれらの組み合わせにより実行される。
プロセスは、クエリの任意の数の検索語を受信する連想メモリにより開始する(工程800)。本実施例では、任意の数の検索語は、ユーザにより入力されるユーザ入力で受信される。任意の数の検索語は、関心の特定のエリアに関連する検索語とする。要するに、入力されたクエリは、関心の特定のエリアに関連したプロジェクトを識別するために構成される。
連想メモリは、次いで、クエリの検索語に関連する連想メモリに記憶されたデータエンティティの属性のリストを生成する(工程802)。連想メモリは、次いで、ユーザ入力の受信を待つ(工程804)。ユーザ入力の受信に応じて、連想メモリは、ユーザがクエリについての任意の数の付加的な検索語を含むかどうかを判定する(工程806)。
ディスプレーされた属性リストの一又は複数の属性が関心のエリアに明らかに関連しているとユーザが判定したときには、ユーザは、クエリについての一又は複数の付加的な検索語を含むことができる。ユーザは、クエリについての付加的な検索語として一又は複数のこれらの属性を使用することができる。本実施例では、ユーザ入力がクエリについての任意の数の付加的な検索語を含んでいないときには、ユーザ入力は、クエリを使用して関心の特定のエリアに関連するプロジェクトの識別を開始するコマンドとする。
ユーザ入力が任意の数の付加的な検索語を含む場合には、プロジェクト分析器は付加的な検索語をクエリに付加し(工程808)、上述したように、プロセスは次いで工程802に戻る。そうでなければ、工程806において、ユーザ入力が任意の数の付加的な検索語を含まないならば、連想メモリは、現在のクエリを使用して関心の特定のエリアに関連するプロジェクトのリストを生成し(工程810)、その後プロセスは終了する。本実施例では、ユーザは、どのプロジェクトが関心の特定のエリアに対応するクラスターに属するかを識別するために生成されたプロジェクトのリストを使用できる。
種々の実施形態でのフローチャート及びブロック図は、実施形態の装置及び方法を実施可能な構造、機能、及び工程を示している。その際、フローチャート又はブロック図の各ブロックは、工程又はステップのモジュール、セグメント、機能及び/又は部分を表す。例えば、一又は複数のブロックは、ハードウェア内のプログラムコードとして、又はプログラムコードとハードウェアの組合せとして実施可能である。ハードウェアで実施されるときには、ハードウェアは、例えば、フローチャート又はブロック図の一又は複数の工程を実行するように製造又は構成された集積回路の形態をとることができる。
実施形態のいくつかの代替的な実施において、ブロックに記載された機能又は機能群は、図の中に記載の順序を逸脱して現れることがある。例えば、場合によっては、連続して示されている二つのブロックがほぼ同時に実行されてもよく、又は含まれる機能によっては、時にはブロックが逆の順番で実行されてもよい。また、フローチャートやブロック図のブロックに他のブロックが付加されてもよい。
たとえば、いくつかの実施例では、図7で述べられるプロセスは、選択されたグループのクラスターのためだけに実行されてもよい。いくつかの実施例では、図6で述べられるプロセス及び図7で述べられるプロセスは、図1のプロジェクト分析器114などのプロジェクト分析器によって実行することができる。
図9は、一つの実施形態による連想メモリを作成し読み込む擬似コードを示す。擬似コード900は、たとえば、限定はされないが、図1の連想メモリ130などの連想メモリを作成し読み込むために使用される。場合によっては、擬似コード900は、図4の工程402を実施するために使用される。
図10は、一つの実施形態によるクラスターを形成する擬似コードを示す。擬似コード1000は、図1の任意の数のクラスター134などのクラスターを形成するために使用される。場合によっては、擬似コード1000は、図4の工程410及び/又は工程414を実施するために使用されてもよい。
図11は、一つの実施形態によるデータ処理システムを示す。この実施例では、データ処理システム1100は、図1のコンピュータシステム110及び/又は図1のプロジェクト管理システム104の一又は複数のコンピュータを実施するために使用される。データ処理システム1100は、通信ファブリック1102を含み、これによりプロセッサユニット1104、メモリ1106、永続記憶装置1108、通信ユニット1110、入出力(I/O)ユニット1112、ディスプレー1114、及び連想メモリ1115の間での通信を提供する。これらの実施例では、連想メモリは、連想メモリ1115を使用して実施される。
プロセッサユニット1104は、メモリ1106に読み込み可能なソフトウェアに対する命令を実行する。プロセッサユニット1104は、特定の実施次第で、任意の数のプロセッサ、マルチプロセッサコア、又は別の種類のプロセッサとすることができる。アイテムを参照する際にここで使用されるように、「任意の数」のアイテムとは、一又は複数のアイテムを意味する。さらに、プロセッサユニット1104は、単一のチップ上に主要プロセッサと共に二次プロセッサが存在する任意の数の異種プロセッサシステムを使用して実施されてもよい。別の実施例として、プロセッサユニット1104は、同種のプロセッサを複数個含む対称型マルチプロセッサシステムとされる。
メモリ1106及び永続記憶装置1108は、記憶装置1116の例である。記憶装置は、例えば、限定しないが、データ、機能的な形式のプログラムコード、及び/又は他の種類の適する情報などの情報を、一時的に又は永続的に保存することができる任意のハードウェア部分である。このような実施例では、記憶装置1116は、コンピュータ可読記憶装置とも呼ばれる。このような実施例では、メモリ1106は、例えば、ランダムアクセスメモリか、或いは他のいずれかの適切な揮発性又は非揮発性の記憶装置とすることができる。永続記憶装置1108は、特定の実施次第で、様々な形態をとることができる。
例えば、永続記憶装置1108は、一又は複数のコンポーネント又は装置を備えることができる。例えば、永続記憶装置1108は、ハードドライブ、フラッシュメモリ、書換え形光ディスク、書換え可能磁気テープ、又はそれらの何らかの組み合わせとされる。永続記憶装置1108によって使用される媒体は、取り外し可能なものでもよい。例えば、取り外し可能なハードドライブを永続記憶装置1108に使用することができる。
このような実施例では、通信ユニット1110が、他のデータ処理システム又は装置との通信を提供する。このような実施例では、通信ユニット1110は、ネットワークインターフェースカードである。通信装置1110は、物理的及び無線の通信リンクのいずれか一方又は両方を使用することによって、通信を提供することができる。
入出力ユニット1112は、データ処理システム1100に接続される他の装置とのデータの入出力を可能にする。例えば、入出力ユニット1112は、キーボード、マウス、及び/又は別の適する入力装置によりユーザ入力のための接続を提供する。さらに、入出力ユニット1112は、プリンタに出力を送る。ディスプレー1114は、ユーザに対して情報をディスプレーする機構を提供する。
オペレーションシステム、アプリケーション、及び/又はプログラムについての命令は、記憶装置1116に格納されており、通信構造1102を介してプロセッサ装置1104と通信している。これらの実施例では、命令は、永続記憶装置1108上の機能形式とする。これらの命令は、プロセッサユニット1104により実行されるように、メモリ1106に読み込まれる。種々の実施形態のプロセスは、メモリ1106などのメモリに読み込まれるコンピュータで実施される命令を使用して、プロセッサユニット1104により実行される。
これらの命令は、プログラムコード、コンピュータ可用プログラムコード、又はコンピュータ可読プログラムコードと呼ばれ、プロセッサ装置1104のプロセッサによって読み込まれ実行される。種々の実施形態におけるプログラムコードは、例えば、メモリ1106又は永続記憶装置1108などの種々の物理媒体又はコンピュータ可読記憶媒体上で実施される。
プログラムコード1118は、選択的に着脱可能なコンピュータ可読媒体1120上に機能形式で配置され、プロセッサユニット1104が実行するためのデータ処理システム1100に読み込まれる又は転送される。プログラムコード1118及びコンピュータ可読媒体1120は、このような実施例では、コンピュータプログラム製品1122を形成する。一つの実施例では、コンピュータ可読媒体1120は、コンピュータ可読記憶媒体1124又はコンピュータ可読信号媒体1126とされる。コンピュータ可読記憶媒体1124は、例えば、永続記憶装置1108の一部であるハードドライブなどの記憶装置への転送のために、永続記憶装置1108の一部であるドライブ又は他の装置に挿入又は配置される光ディスク又は磁気ディスクを含むことができる。
コンピュータ可読記憶媒体1124は、データ処理システム1100に接続された、例えば、ハードドライブ、サムドライブ、又はフラッシュメモリなどの永続記憶装置の形態をとることもできる。場合によっては、コンピュータ可読記憶媒体1124には、データ処理システム1100から取り外し可能でないものもある。これらの実施例では、コンピュータ可読記憶媒体1124は、プログラムコード1118を伝搬又は転送する媒体ではなく、プログラムコード1118を記憶するために使用される物理記憶装置又は有形記憶装置とされる。コンピュータ可読記憶媒体1124は、コンピュータ可読有形記憶装置又はコンピュータ可読物理記憶装置と呼ばれることもある。すなわち、コンピュータ可読記憶媒体1124は、人が触れることのできる媒体である。
代替的には、プログラムコード1118は、コンピュータ可読信号媒体1126を使用してデータ処理システム1100に転送することができる。コンピュータ可読信号媒体1126は、たとえば、プログラムコード1118を含む伝搬されたデータ信号とする。例えば、コンピュータ可読信号媒体1126は、電磁信号、光信号、及び/又は任意の他の適する種類の信号とする。これらの信号は、無線通信リンク、光ファイバケーブル、同軸ケーブル、有線、及び/又は任意の他の適する種類の通信リンクなどの、通信リンクによって転送することができる。すなわち、実施例において、通信リンク及び/又は接続は、物理的なものであってもよく、又は無線であってもよい。
幾つかの実施形態では、プログラムコード1118は、コンピュータ可読信号媒体1126により、ネットワークを介して別の装置又はデータ処理システムから永続記憶装置1108にダウンロードされて、データ処理システム1100内で使用される。例えば、サーバデータ処理システムのコンピュータ可読記憶媒体に記憶されたプログラムコードは、ネットワークを介してサーバからデータ処理システム1100にダウンロードされる。プログラムコード1118を提供するデータ処理システムは、サーバコンピュータ、クライアントコンピュータ、又はプログラムコード1118を記憶及び転送可能な別の装置とすることができる。
データ処理システム1100ついて示される種々のコンポーネントは、種々の実施形態が実施される方法に対して物理的な又は構造的な制限を加えることを意図していない。種々の実施形態は、データ処理システム1100について示されるコンポーネントに加え、及び/又はそれらに代わるコンポーネントを含むデータ処理システムで実施することができる。図11に示される他のコンポーネントは、示された実施例とは異なることがある。種々の実施形態は、プログラムコードを実行できる任意のハードウェア装置又はシステムを用いて実施することができる。一つの実施例として、データ処理システムは、無機コンポーネントと一体化した有機コンポーネントを含んでいてもよく、及び/又は人間を除く有機コンポーネント全体から構成されてもよい。例えば、記憶装置は、有機半導体から構成されてもよい。
別の実施例では、プロセッサユニット1104は、特定用途向けに製造又は構成された回路を有するハードウェアユニットの形態をとることができる。この種のハードウェアは、工程を実行するように構成された記憶装置からメモリへとプログラムコードが読み込まれることを必要とせずに、工程を実行することができる。
例えば、プロセッサユニット1104がハードウェアユニットの形態をとるとき、プロセッサユニット1104は、回路システム、特定用途向け集積回路(ASIC)、プログラマブルロジック装置、又は任意の数の工程を実行するように構成された他の適切な種類のハードウェアとすることができる。プログラマブルロジック装置とともに、この装置は任意の数の工程を実行するように構成される。装置は、後で再構成することができるか、又は任意の数の工程を実行するように恒久的に構成することができる。プログラマブルロジック装置の例は、例えば、プログラマブルロジックアレイ、プログラマブルアレイロジック、フィールドプログラマブルロジックアレイ、フィールドプログラマブルゲートアレイ、及び他の適するハードウェア装置を含む。この種の実施により、種々の実施形態のプロセスはハードウェアユニットで実施されるため、プログラムコード1118は省略されてもよい。
さらに別の実施例では、プロセッサユニット1104は、コンピュータ及びハードウェアユニットにおいて見られるプロセッサの組み合わせを使用して実施することができる。プロセッサユニット1104は、任意の数のハードウェアユニットと、プログラムコード1118を実行するように構成された任意の数のプロセッサを備えることができる。図示された実施例では、任意の数のハードウェアユニットで実施可能なプロセッサもあれば、任意の数のプロセッサで実施可能なプロセッサもある。
別の実施例では、バスシステムは、通信ファブリック1102を実施するために使用することができ、且つ、システムバス又は入出力バスといった一又は複数のバスを含むことができる。言うまでもなく、バスシステムは、バスシステムに取り付けられた種々のコンポーネント又は装置の間でのデータ伝送を行う任意の適する種類のアーキテクチャを使用して実施できる。
さらに、通信装置は、データの送信、データの受信、又はデータの送受信を行う任意の数の装置を備えることができる。通信ユニットは、例えば、モデム又はネットワークアダプタ、2つのネットワークアダプタ、又はこれらの組み合わせとしてもよい。さらに、メモリは、例えば、通信ファブリック1102に備わっていることがあるインターフェース及びメモリ制御装置ハブにみられるような、メモリ1106又はキャッシュであってもよい。
態様、変形例、例、上述の本文及び図面で開示された実施形態は、以下のとおりである。一つの態様では、プロジェクト106の情報116の管理方法が開示され、その方法は、プロジェクト106の情報116をデータエンティティ120として連想メモリ130に記憶するステップであって、連想メモリ130は、データエンティティ120が複数のデータに含まれる複数の連想性を有する複数のデータを含み;連想メモリ130は、コンテンツアドレッサブル構造をさらに含み;且つ、連想メモリ130は、複数のデータ間で直接的関係及び間接的関係を含むグループから選択された少なくとも一つの関係に基づきクエリされるよう構成されることを特徴とするステップ、任意の数のクラスター134を形成するために連想メモリに記憶されたデータエンティティ120を分類するステップ、及び任意の数のクラスター134を使用してレポートを生成するステップを含む。
一つの変形例では、方法は、関心のエリア129に関連した連想メモリ130に記憶されたデータエンティティ120の部分を任意の数のクラスター134の一つに分類するための任意の数の選択されたクライテリア132を識別するステップをさらに含む。別の変形例では、方法において、任意の数のクラスター134を形成するために連想メモリ130に記憶されたデータエンティティ120を分類するステップは、任意の数の選択されたクライテリア132を使用して連想メモリ130に記憶されたデータエンティティ120からの関心のエリア129に関連する任意の数のデータエンティティ144を識別するステップを含む。さらに別の変形例では、方法は、識別された任意の数のデータエンティティ144に基づき一組の新たなクライテリア146を識別するステップ、及び関心のエリア129に関連した連想メモリ130に記憶されたデータエンティティ120の部分を任意の数のクラスター134のうちの一つに分類するための修正されたクライテリア147を形成するために、一組の新たなクライテリア146を任意の数の選択されたクライテリア132に付加するステップをさらに備える。
一つの例では、方法において、任意の数のクラスター134を形成するために連想メモリ130に記憶されたデータエンティティ120を分類するステップは、連想メモリ130に記憶されたデータエンティティ120の一つが任意の数のクラスター134のうちの一つに属するかどうかを判定するステップ、及びデータエンティティがクラスターに属すると判定されるときに、データエンティティ120の一つをクラスターに付加するステップを含む。一つの例では、方法において、連想メモリ130に記憶されたデータエンティティ120の一つが任意の数のクラスター134の一つに属するかどうかを判定するステップは、エンティティ分析エンジン136及びデータエンティティを連想する任意の数の属性を使用して類似性スコア142を形成するために、データエンティティをクラスターにすでに存在する任意の数のデータエンティティ144と比較するステップ、及び類似性スコア142が選択された閾値よりも大きいかどうかを判定するステップを含む。
一つの例では、方法において、データエンティティがクラスターに属すると判定されるときにデータエンティティ120の一つをクラスターに付加するステップは、類似性スコア142が選択された閾値よりも大きいときにデータエンティティをクラスターに付加するステップを含む。別の例では、方法において、プロジェクト106の情報116をデータエンティティ120として連想メモリ130に記憶するステップは、プロジェクト106の情報116を自由テキストとして受信するステップ、自由テキストをデータエンティティ120の第一のタイプ124、第二のタイプ126及び第三のタイプ128に解析するステップ、及びデータエンティティ120を連想メモリ130に記憶するステップを含む。さらに別の例では、方法において、第一のタイプ124はプロジェクトエンティティとし、第二のタイプ126はタスクエンティティとし、且つ第三のタイプ128は納品物エンティティとする。
一つの変形例では、方法は、ユーザにより入力されたクエリの形式で任意の数の選択されたクライテリア132を受信するステップをさらに含み、任意の数の選択されたクライテリア132は、関心のエリア129に関連した連想メモリ130に記憶されたデータエンティティ120の部分を任意の数のクラスター134の一つに分類するための任意の数の検索語を含む。別の変形例では、方法において、任意の数のクラスター134を使用してレポートを生成するステップは、任意の数のクラスター134の各クラスターのアグリゲート値152を計算するステップ、選択された閾値よりも大きいアグリゲート値152を含む任意の数のクラスター134の任意のクラスターをレポートを生成するために選択された一組のクラスターに付加するステップ、及び一組のクラスターのデータエンティティ120を使用してレポートを生成するステップを含む。
さらに別の変形例では、方法において、任意の数のクラスター134の一つについてのアグリゲート値152は、クラスターの任意の数のデータエンティティ144により共有された特定の属性タイプの属性についての値の合計とする。さらに別の変形例では、方法において、特定の属性タイプは、コスト、オフセットクレジット、公債、プロジェクトに関する任意の数の人々、プロジェクトのための任意の数のタスク、プロジェクト最終期限、プロジェクトで使用される特定タイプの任意の数の装置、材料のタイプ、識別番号のうちの一つから選択される。
一つの態様では、プロジェクト106の情報116の管理装置が開示され、装置は、プロジェクト106の情報116をデータエンティティとして連想メモリ130に記憶するように構成されたプロジェクトマネージャー112であって、連想メモリ130は、データエンティティ120が複数のデータに含まれる複数の連想性を含む複数のデータを含み;連想メモリ130は、コンテンツアドレッサブル構造をさらに含み;且つ、連想メモリ130は、複数のデータ間での直接的関係及び間接的関係を含むグループから選択された少なくともひとつの関係に基づきクエリされるように構成されることを特徴とするプロジェクトマネージャー112、及び任意の数のクラスター134を形成し且つ任意の数のクラスター134を使用してレポートを生成するために、連想メモリ130に記憶されたデータエンティティ120を分類するように構成されたプロジェクト分析器114を備える。一つの変形例では、装置は、ディスプレーシステム上でのディスプレーのために構成されたグラフィカルユーザインターフェースをさらに備え、グラフィカルユーザインターフェースは、関心のエリア129に関連する連想メモリ130に記憶されたデータエンティティ120の部分を任意の数のクラスター134の一つに分類するための任意の数の選択されたクライテリア132を識別するユーザ入力を受信するように構成される。
一つの例では、装置において、任意の数の選択されたクライテリア132を使用して連想メモリ130に記憶されたデータエンティティ120から関心のエリア129に関連する任意の数のデータエンティティ144を識別すること;識別された任意の数のデータエンティティ144に基づき一組の新たなクライテリア146を識別すること;及び関心のエリアに関連する連想メモリ130に記憶されたデータエンティティ120の部分を任意の数のクラスター134の一つに分類するための修正されたクライテリア147を形成するために、一組の新たなクライテリア146を任意の数の選択されたクライテリア132に付加することにより、プロジェクト分析器114は、任意の数のクラスター134を形成するために連想メモリ130に記憶されたデータエンティティ120を分類するようさらに構成される。一つの例では、装置において、プロジェクト分析器114は、連想メモリに記憶されたデータエンティティ120の一つが任意の数のクラスター134の一つに属するかどうかを判定し;且つ、データエンティティがクラスターに属すると判定されるときに、データエンティティ120の一つをクラスターに付加することにより、任意の数のクラスター134を形成するために、連想メモリ130に記憶されたデータエンティティ120を分類するようさらに構成される。
別の例では、装置において、プロジェクト分析器114は、エンティティ分析エンジン136及びデータエンティティを連想する任意の数の属性を使用して類似性スコア142を形成するために、データエンティティをクラスター内にすでに存在する任意の数のデータエンティティ144と比較すること;及び類似性スコア142が選択された閾値よりも大きいかどうかを判定することにより、連想メモリに記憶されたデータエンティティ120の一つが任意の数のクラスター134の一つに属するかどうかを判定するようさらに構成される。さらに別の例では、装置において、プロジェクト分析器114は、類似性スコア142が選択された閾値よりも大きいときに、データエンティティをクラスターに付加することにより、データエンティティ120の一つをクラスターに付加するようさらに構成される。
一つの態様では、コンピュータシステム110が開示され、コンピュータシステム110は、バス、バスに接続され且つプログラムコードを含む固定記憶装置、及びバスに接続されたプロセッサユニット1104を備え、プロセッサユニット1104は:データエンティティ120が複数のデータに含まれる複数の連想性を含む複数のデータを含み、コンテンツアドレッサブル構造をさらに含み、且つ複数のデータ間での直接的な関係及び間接的な関係を含むグループから選択された少なくともひとつの関係に基づきクエリされるように構成された連想メモリ130に、プロジェクト106の情報116をデータエンティティ120として記憶し;任意の数のクラスター134を形成するために連想メモリ130に記憶されたデータエンティティ120を分類し;且つ任意の数のクラスター134を使用してレポートを生成するために、プログラムコードを実行するように構成される。
したがって、種々の実施形態は、プロジェクト情報の管理方法及び装置を提供する。特に、種々の実施形態は、連想メモリに記憶されたプロジェクトについての情報を管理する方法及び装置を提供する。
一つの実施形態では、プロジェクトの情報管理方法が提供される。プロジェクトの情報は、データエンティティとして連想メモリに記憶される。連想メモリは、データエンティティが複数のデータに含まれる複数の連想性を有する複数のデータを含むことができる。さらに、連想メモリは、コンテンツアドレッサブル構造を含むことができる。連想メモリは、複数のデータ間での直接的関係及び間接的関係を含むグループから選択された少なくとも一つの関係に基づきクエリされるように構成される。任意の数のクラスターを形成するために、任意の数の選択されたクライテリアを使用して、連想メモリに記憶されたデータエンティティが分類される。任意の数のクラスターを使用して、レポートが生成される。
上述した種々の実施形態の説明は、例示及び説明を目的とするものであって、開示された形態における実施形態を包括する又は限定することを目的とするものではない。当業者には、多数の修正例及び変形例が明らかであろう。さらに、種々の実施形態は、他の実施形態に照らして別の利点を提供できる。選択された一又は複数の実施形態は、実施形態の原理、実際の用途を最も好ましく説明するため、及び他の当業者に対し、様々な実施形態の開示と、考慮される特定の用途に適した様々な修正との理解を促すために選択及び記述されている。