(57)【要約】  データベースにデータを格納するための方法及び装置。データベースにデータを格納するための方法は、エンティティとエンティティに関連付けられた条件とを規定する構成データを使用する。その方法は、複数のデータアイテムを処理するステップを含む。処理ステップは、データアイテム毎に、条件が複数のデータアイテムの一つにより満たされているかどうかを判断することを含む。条件が、複数のデータアイテムの一つにより満たされている場合、その一つのデータアイテムに関連付けられたエンティティのインスタンスを生成する。【特許請求の範囲】
【請求項１】
エンティティ及び前記エンティティに関連付けられた条件を特定する構成データを使用して、データベースにデータを格納するための方法であって、
複数のデータアイテムを処理するステップと、
前記処理ステップは、データアイテム毎に、前記条件が前記複数のデータアイテムの一つによって満たされるかどうかを判断することを含み、
前記条件が前記複数のデータアイテムの一つによって満たされる場合、前記一つのデータアイテムに関連付けられたエンティティのインスタンスを生成するステップと、
を有する、方法。
【請求項２】
前記構成データが複数のエンティティを特定し、前記複数のエンティティのそれぞれが関連付けられた条件を有し、
前記処理ステップが、データアイテム毎に、前記複数のエンティティの一つに関連付けられた条件が、それぞれの前記データアイテムによって満たされるかどうかを判断することを含み、
前記条件の一つが満たされる場合、それぞれの前記データアイテムと前記満たされた条件とに関連付けられたエンティティのインスタンスを生成する、
請求項１に記載の方法。
【請求項３】
前記処理ステップは、データリポジトリの所定の位置に配置された複数のアイテムを処理することを含み、前記データアイテムのそれぞれは関連付けられた識別子を有する、請求項１又は請求項２に記載の方法。
【請求項４】
前記エンティティ又は各エンティティに関連付けられた前記条件は、テキスト文字列を含み、
前記条件は、前記テキスト文字列と所定の関係を有する識別子を含むデータアイテムによって満たされる、請求項３に記載の方法。
【請求項５】
前記所定の関係とは、前記識別子と前記テキスト文字列との間の合致の程度が所定値であることである、請求項４に記載の方法。
【請求項６】
前記テキスト文字列は、少なくとも１つのワイルドカード文字を含み、前記ワイルドカード文字は、前記識別子のいずれの文字にも合致するように構成される、請求項５に記載の方法。
【請求項７】
前記テキスト文字列は、少なくとも１つのマルチキャラクタワイルドカード文字を含み、前記マルチキャラクタワイルドカード文字は、前記識別子のゼロ以上の文字と合致するよう構成される、請求項５又は請求項６に記載の方法。
【請求項８】
生成された前記エンティティ内に前記データアイテムを格納するステップをさらに有する、請求項１から請求項７のいずれかの請求項に記載の方法。
【請求項９】
生成された前記エンティティ内に前記データアイテムに対する参照を格納するステップをさらに有する、請求項１から請求項７のいずれかの請求項に記載の方法。
【請求項１０】
前記複数のデータアイテムは、複数のファイルである、請求項１から請求項９のいずれかの請求項に記載の方法。
【請求項１１】
前記複数のファイルは、ファイルシステムの所定のディレクトリに格納される、請求項１０に記載の方法。
【請求項１２】
前記所定のディレクトリは、少なくとも１つのサブディレクトリを含み、前記サブディレクトリは、前記複数のファイルうち少なくともいくつかを含む、請求項１１に記載の方法。
【請求項１３】
前記所定のディレクトリに格納されたアイテムを処理するステップと、
処理された各アイテムについて、前記アイテムがサブディレクトリであるか又はファイルであるかを判断するステップと、
をさらに有し、
前記条件が前記判断に基づいている、請求項１２に記載の方法。
【請求項１４】
前記複数のファイルを処理するステップと、
前記複数のファイルのそれぞれに関連付けられたファイルの種類を判断するステップと、
をさらに有し、
前記条件が所定のファイルの種類を特定する、請求項１０から請求項１３のいずれかの請求項に記載の方法。
【請求項１５】
前記一つのデータアイテムに関連付けられたメタデータを生成するステップと、
前記エンティティの前記インスタンス内に前記メタデータを格納するステップと、
をさらに有する、請求項１から請求項１４のいずれかの請求項に記載の方法。
【請求項１６】
前記メタデータを生成するステップは、前記一つのデータアイテムに基づいて前記メタデータを生成することを含む、請求項１５に記載の方法。
【請求項１７】
前記一つのデータアイテムはファイルであり、前記メタデータを生成するステップは、前記ファイル名に基づいて前記メタデータを生成することを含む、請求項１６に記載の方法。
【請求項１８】
前記一つのデータアイテムはファイルであり、前記メタデータを生成するステップは、前記ファイルの種類に基づいてメタデータを生成することを含む、請求項１６又は請求項１７に記載の方法。
【請求項１９】
前記メタデータは、ファイルシステムのディレクトリ構造内の前記ファイルの位置に基づいている、請求項１６から請求項１８のいずれかの請求項に記載の方法。
【請求項２０】
前記データアイテムは画像である、請求項１から請求項１９のいずれかの請求項に記載の方法。
【請求項２１】
前記構成データは、前記エンティティ又は各エンティティに関わる少なくとも１つの関係を規定する、請求項１から請求項２０のいずれかの請求項に記載の方法。
【請求項２２】
前記関係は、エンティティの階層を規定する、請求項２１に記載の方法。
【請求項２３】
エンティティのインスタンスを生成するステップは、
エンティティの適切なインスタンスがより高い階層レベルに存在するかどうかを判断し、
前記エンティティのインスタンスが存在しないと判断した場合、より高い階層レベルでエンティティの前記インスタンスを生成する、
請求項２２に記載の方法。
【請求項２４】
前記構成データを規定するユーザ入力を受け付けるステップをさらに有する、請求項１から請求項２３のいずれかの請求項に記載の方法。
【請求項２５】
前記構成データは、前記少なくとも１つのエンティティに関わる関係を特定する、請求項１から請求項２４のいずれかの請求項に記載の方法。
【請求項２６】
前記構成データは、前記少なくとも１つのエンティティに関わるインヘリタンスの関係を特定する、請求項２５に記載の方法。
【請求項２７】
前記構成データは、前記エンティティを生成するときに投入される前記エンティティに関連付けられた複数のフィールドを特定する、請求項１から請求項２６のいずれかの請求項に記載の方法。
【請求項２８】
前記構成データは、さらに、前記複数のフィールドのうち少なくともいくつかについての値を特定する、請求項２７に記載の方法。
【請求項２９】
前記複数のフィールドのうち少なくともいくつかについて特定された前記値は、前記データアイテムを参照して規定される、請求項２８に記載の方法。
【請求項３０】
コンピュータプログラムを示すデータを格納するステップをさらに含み、
前記コンピュータプログラムは、前記エンティティに関連付けられたデータの操作又は表示を実行可能である、請求項１から請求項２９のいずれかの請求項に記載の方法。
【請求項３１】
請求項１から請求項３０のいずれかの請求項に記載の方法をコンピュータに実行させるように構成された、コンピュータ読み取り可能なプログラムコードを格納するコンピュータ読み取り可能な媒体。
【請求項３２】
データベースにデータを格納するためのコンピュータ装置であって、
プロセッサ読み取り可能な命令を含むプログラムメモリと、
前記プログラムメモリに格納された命令を読み出して実行するように構成されたプロセッサと、
を有し、
前記プロセッサ読み取り可能な命令は、請求項１から請求項３０に記載のいずれかの方法を実行するように前記プロセッサを制御する命令を含む、コンピュータ装置。
【請求項３３】
データベースにデータを格納する装置であって、
エンティティ及び前記エンティティに関連付けられた条件を特定する構成データを格納する記憶手段と、
複数のデータアイテムを処理するプロセッサと、
前記プロセッサは、データアイテム毎に、前記条件が前記複数のデータアイテムの一つによって満たされるかどうかを判断するように構成され、
前記条件が前記複数のデータアイテムの一つによって満たされる場合に、前記一つのデータアイテムに関連付けられた前記エンティティのインスタンスを生成する生成手段と、
を有する、装置。
【請求項３４】
前記構成データが複数のエンティティを特定し、前記複数のエンティティのそれぞれが関連付けられた条件を有し、
前記プロセッサが、データアイテム毎に、前記複数のエンティティの一つに関連付けられた条件が、それぞれの前記データアイテムによって満たされるかどうかを判断し、
前記生成手段は、前記条件の一つが満たされる場合、それぞれの前記データアイテムと前記満たされた条件とに関連付けられたエンティティのインスタンスを生成する、請求項３３に記載の装置。
【請求項３５】
前記複数のデータアイテムを格納するデータリポジトリを有し、各データアイテムは関連付けられた識別子を備え、
前記プロセッサは、データリポジトリの所定の位置に配置された複数のデータアイテムを処理する、請求項３３又は請求項３４に記載の装置。
【請求項３６】
前記生成手段は、生成された前記エンティティに前記データアイテムを格納する、請求項３３から請求項３５のいずれかの請求項に記載の装置。
【請求項３７】
前記生成手段は、生成された前記エンティティに前記データアイテムに対する参照を格納する、請求項３３から請求項３５のいずれかの請求項に記載の装置。
【請求項３８】
前記複数のデータアイテムは、複数のファイルである、請求項３３から請求項３７のいずれかの請求項に記載の装置。
【請求項３９】
複数のディレクトリを規定するファイルシステムをさらに有し、
前記複数のファイルは、前記ファイルシステムの所定のディレクトリに格納される、請求項３８に記載の装置。
【請求項４０】
前記所定のディレクトリは、少なくとも１つのサブディレクトリを含み、前記サブディレクトリは、前記複数のファイルのうち少なくともいくつかを含む、請求項３９に記載の装置。
【請求項４１】
前記プロセッサは、前記一つのデータアイテムに関連付けられたメタデータを生成し、
前記生成手段は、前記エンティティの前記インスタンス内に前記メタデータを格納する、請求項３３から請求項４０のいずれかの請求項に記載の装置。
【請求項４２】
前記データアイテムは画像である、請求項３３から請求項４１のいずれかの請求項に記載の装置。
【請求項４３】
前記構成データは、前記エンティティ又は各エンティティに関わる少なくとも１つの関係を規定する、請求項３３から請求項４２のいずれかの請求項に記載の装置。
【請求項４４】
前記関係は、エンティティの階層を規定する、請求項４３に記載の装置。
【請求項４５】
前記生成手段は、
エンティティの適切なインスタンスがより高い階層レベルに存在するかどうかを判断し、
前記エンティティのインスタンスが存在しないと判断した場合に、より高い階層レベルでエンティティの前記インスタンスを生成する、請求項４４に記載の装置。
【請求項４６】
構成データを受信するユーザ入力手段をさらに有する、請求項３３から請求項４５のいずれかの請求項に記載の装置。
【請求項４７】
前記構成データは、前記少なくとも１つのエンティティに関わる関係を特定する、請求項３３から請求項４６のいずれかの請求項に記載の装置。
【請求項４８】
前記構成データは、前記少なくとも１つのエンティティに関わるインヘリタンスの関係を特定する、請求項４７に記載の装置。
【請求項４９】
前記構成データは、前記エンティティを生成するときに投入される前記エンティティに関連付けられた複数のフィールドを特定する、請求項３３から請求項４８のいずれかの請求項に記載の装置。
【請求項５０】
前記構成データは、さらに、前記複数のフィールドの少なくともいくつかについての値を特定する、請求項４９に記載の装置。
【請求項５１】
前記複数のフィールドの少なくともいくつかについて特定された前記値は、前記データアイテムを参照して規定される、請求項５０に記載の装置。
【請求項５２】
データベースにデータを格納するための方法であって、
前記データを格納するためにインスタンス化されるエンティティを決定するステップと、
前記エンティティと少なくとも１つの他のエンティティとの間の少なくとも１つの関係を規定するデータを処理するステップと、
前記少なくとも１つの他のエンティティの適切なインスタンスが存在するかどうかを判断するステップと、
前記少なくとも１つのエンティティの適切なインスタンスが存在しないと判断した場合、前記少なくとも１つの他のエンティティのインスタンスを生成するステップと、を有する方法。
【請求項５３】
インスタンス化されるエンティティを決定するステップは、
複数のエンティティと各エンティティに関連付けられた条件とを特定する構成データを処理するステップと、
データアイテムを処理するステップと、
前記処理ステップは、条件が前記データアイテムによって満たされるかどうかを判断することを含み、
前記満たされた条件に関連付けられているエンティティのインスタンスを生成するステップと、
をさらに含む、請求項５２に記載の方法。
【請求項５４】
前記データを格納するためにインスタンス化される前記エンティティのインスタンスを生成するステップをさらに有する、請求項５２又は請求項５３に記載の方法。
【請求項５５】
前記データに関連するメタデータを生成するステップと、
前記メタデータを格納するステップと、をさらに有する請求項５４に記載の方法。
【請求項５６】
前記メタデータは前記データに基づいている、請求項５５に記載の方法。
【請求項５７】
請求項５３から請求項５６のいずれかの請求項に記載の方法をコンピュータに実行させるように構成された、コンピュータ読み取り可能なプログラムコードを格納する、コンピュータ読み取り可能な媒体。
【請求項５８】
データを格納するためのコンピュータ装置であって、
プロセッサ読み取り可能な命令を含むプログラムメモリと、
前記プログラムメモリに格納された命令を読み出して実行するプロセッサと、
を有し、
前記プロセッサ読み取り可能な命令は、請求項５３から請求項５７のいずれかの請求項に記載の方法を前記プロセッサに実行させる命令を含む、コンピュータ装置。
【請求項５９】
データベースにデータを格納するためのコンピュータシステムであって、
プロセッサを有し、前記プロセッサは、
前記データを格納するためにインスタンス化されるエンティティを決定し、
前記エンティティと少なくとも１つの他のエンティティとの間の少なくとも１つの関係を特定するデータを処理し、
前記少なくとも１つの他のエンティティの適切なインスタンスが存在するかどうかを判断し、
前記少なくとも１つのエンティティの適切なインスタンスが存在しないと決定した場合、前記少なくとも１つの他のエンティティの前記インスタンスを生成する、コンピュータシステム。
【請求項６０】
複数のエンティティと各エンティティに関連付けられた条件とを特定する構成データを用いて、データベースにデータを格納するための方法であって、
データアイテムを処理するステップと、
前記処理ステップは、前記データアイテムについて前記条件の一つが満たされているかどうかを判断することを含み、
前記条件が満たされている場合、前記一つのデータアイテムに関連付けられた、それぞれのエンティティのインスタンスを生成し、前記生成されたエンティティと少なくとも１つの他のエンティティとの間の少なくとも１つの関係を規定するデータを処理し、前記少なくとも１つの他のエンティティの適切なインスタンスが存在するかどうかを判断し、前記少なくとも１つのエンティティの適切なインスタンスが存在しないと判断した場合、前記少なくとも１つの他のエンティティの前記インスタンスを生成するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースにデータを格納する方法に関する。
【背景技術】
【０００２】
データベースにデータを格納することは周知である。一般的に、データベース管理システムを使用することにより、ユーザは、データベースにデータを入力し、データベースに格納されているデータにアクセスすることができる。データベースは、規則的な方法でデータアイテムを格納し、一般的には、機能性を提供して、データのインテグリティ（整合性）が保持されることを保証し、ある場合には、複数のユーザによるアクセスが正しく処理されることを保証する。
【０００３】
多くのデータベースは、リレーショナルデータベースとして知られている種類のものである。このようなデータベースにおいて、データは、複数のデータベースのテーブルに格納される。各テーブルは、複数のフィールドを特定する。各フィールドは特定のタイプ（種類）のデータを格納するよう設計されている。複数のレコードが、各データベースのテーブルに格納される。各レコードは、それぞれのフィールドに格納された値を有する。データベースのテーブル間の関係は特定され、これらの関係は、それぞれのテーブルに格納されたデータアイテム間の関係を規定する。同様に、テーブルの一つのテーブルのみに関わる関係が特定されうる。リレーショナルデータベースは、典型的に、ＳＱＬ（Structured Query Language）のようなデータベース定義言語で規定される。ＳＱＬは、データベースのテーブルが生成され、関係が特定され、及びデータベースのテーブルからデータを検索するクエリーが実行されることを可能にする。
【０００４】
データベース定義言語を使用して全てのデータ操作の動作を実行することは、データベース定義言語の構文と機能性の知識を持つ熟練したユーザしか、データベースを使用することができないことから考えると、好ましくない。この問題を克服するために、ＧＵＩ（Graphical User Interface）を備えた、幾つかのデータベースが提供されている。ＧＵＩは、容易に直感的に使用できるインターフェースを利用することによって、比較的に未熟なユーザがデータベース内のデータにアクセスし編集することを可能にする。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
当然のことながら、データベースに大量のデータを入力するのは、時間がかかる仕事である。ＧＵＩにより、比較的未熟なオペレータでもデータ入力を実行することが可能になるけれども、その仕事はそれでも時間がかかる。
【０００６】
上述したように、種々の異なるタイプのデータがデータベースに格納されうる。幾つかのデータベースは、画像格納用として設計されている。一般的に、デジタル画像は、コンピュータシステムの画像ファイルとして格納される。データベース管理システムを用いることにより、適切に画像の目録を作り、適切に画像の問い合わせを行い、及び画像に関連付けられたメタデータを格納することが可能となる。
【０００７】
当然のことながら、画像データベースにおいて、（例えば、ＧＵＩを利用して）画像ファイルの詳細をデータベースに入力するには、時間がかかる。同様に、画像に関連するメタデータを手動で生成することは、同じように大きな労働力を有するプロセスである。
【０００８】
本発明は、上記の問題の少なくともいくつかを除去し又は緩和することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、構成データを用いて、データベースにデータを格納するための方法及び装置を提供する。構成データは、エンティティと少なくともエンティティに関連付けられた条件とを特定する。その方法は、複数のデータアイテムを処理するステップを含む。処理ステップは、条件が複数のデータアイテムの一つによって満たされるかどうかを、データアイテム毎に判断することを含む。上記方法は、条件が複数のデータアイテムの一つによって満たされる場合に、一つのデータアイテムに関連付けられたエンティティのインスタンスを生成するステップを含む。
【００１０】
従って、本発明は、構成データを処理することにより、データベース内の適当なエンティティに、データアイテムを自動で追加する方法を提供する。これにより、このようなデータアイテムを手動で入力する必要がなくなる。
【００１１】
構成データは、複数のエンティティを規定してもよい。複数のエンティティのそれぞれが、関連付けられた条件を有してもよい。処理ステップは、データアイテム毎に、複数のエンティティの一つに関連付けられた条件が、それぞれのデータアイテムによって満たされるかどうかを判断することを含んでもよい。条件の一つが満たされる場合、それぞれのデータアイテムと満たされた条件とに関連付けられたエンティティのインスタンスが生成される。
【００１２】
処理ステップは、データリポジトリの所定の位置に配置された複数のアイテムを処理することを含んでもよい。各データアイテムは、関連付けられた識別子を備えてもよい。エンティティ又は各エンティティに関連付けられた条件は、テキスト文字列を含んでもよい。条件は、テキスト文字列と所定の関係を有する識別子を含むデータアイテムによって満たされてもよい。例えば、所定の関係とは、識別子とテキスト文字列との間の合致の程度が所定値であることであってもよい。テキスト文字列は、少なくとも１つのワイルドカード文字を含んでもよい。ワイルドカード文字は、識別子のどの文字に合致するように構成されても良いし、又は識別子のゼロ以上の文字と合致するように構成されても良い。
【００１３】
本発明のいくつかの実施形態では、データアイテムは、生成されたエンティティ内に格納され、他の実施形態では、データアイテムに対する参照が、生成されたエンティティ内に格納される。
【００１４】
複数のデータアイテムは、複数のファイルであっても良い。複数のファイルは、ファイルシステムの所定のディレクトリに格納されてもよい。所定のディレクトリは、少なくとも１つのサブディレクトリを含んでもよい。サブディレクトリは、複数のファイルのうち少なくともいくつかを含む。
【００１５】
上記方法は、所定のディレクトリに格納されたアイテムを処理するステップと、処理されたアイテム毎に、アイテムがサブディレクトリであるか又はファイルであるかを判断するステップとを含んでも良い。条件は、上記判断に基づいていてもよい。
【００１６】
上記方法は、複数のファイルを処理するステップと、複数のファイルのそれぞれに関連付けられたファイルの種類を判断するステップとを含んでも良い。条件が所定のファイルの種類を特定してもよい。
【００１７】
上記方法は、一つのデータアイテムに関連付けられたメタデータを生成するステップと、エンティティのインスタンス内にメタデータを格納するステップと、を含んでも良い。メタデータを生成するステップは、一つのデータアイテムに基づいて、及び／又はファイル名及び／又はファイルの種類に基づいて、メタデータを生成することを含んでも良い。
【００１８】
構成データは、エンティティ又は各エンティティに関わる少なくとも１つの関係を規定してもよい。その関係は、エンティティの階層を規定してもよい。エンティティのインスタンスを生成するステップは、エンティティの適切なインスタンスがより高い階層レベルに存在するかどうかを判断し、エンティティのインスタンスが存在しないと判断した場合に、より高い階層レベルでエンティティのインスタンスを生成することを、含んでもよい。
【００１９】
本発明の第２の態様によれば、データベースにデータを格納するための方法及び装置が提供される。その方法は、データを格納するためにインスタンス化されるエンティティを決定するステップと、そのエンティティと少なくとも１つの他のエンティティとの間の少なくとも１つの関係を規定するデータを処理するステップと、少なくとも１つの他のエンティティの適切なインスタンスが存在するかどうかを判断するステップと、少なくとも１つのエンティティの適切なインスタンスが存在しないこと判断した場合に、少なくとも１つの他のエンティティのインスタンスを生成するステップと、を有する。
【００２０】
インスタンス化されるエンティティを決定するステップは、複数のエンティティと各エンティティに関連付けられた条件とを特定する構成データを処理するステップと、データアイテムを処理するステップ（この処理ステップは、条件がデータアイテムによって満たされるかどうかを判断することを含む。）と、満たされた条件に関連付けられているエンティティのインスタンスを生成するステップと、を有しても良い。
【００２１】
本発明の第３の態様によれば、複数のエンティティと各エンティティに関連付けられた条件とを規定する構成データを用いて、データベースにデータを格納するための方法が提供される。その方法は、データアイテムを処理するステップを有し、処理ステップは、データアイテムについて条件の一つが満たされているかどうかを判断することを含み、条件が満たされている場合、一つのデータアイテムに関連付けられた、それぞれのエンティティのインスタンスを生成し、生成されたエンティティと少なくとも１つの他のエンティティとの間の少なくとも１つの関係を規定するデータを処理し、少なくとも１つの他のエンティティの適切なインスタンスが存在するかどうかを判断し、少なくとも１つのエンティティの適切なインスタンスが存在しないと判断した場合に、少なくとも１つの他のエンティティのインスタンスを生成するステップを有する。
【００２２】
本発明は、さらに上述した方法をコンピュータに実行させるように構成された、コンピュータ読み取り可能なプログラムコードを有するコンピュータ読み取り可能な媒体を提供する。
【００２３】
また、データベースにデータを格納するためのコンピュータ装置を提供する。コンピュータ装置は、プロセッサ読み取り可能な命令を含むプログラムメモリと、プログラムメモリに格納された命令を読み出して実行するプロセッサと、を有する。プロセッサ読み取り可能な命令は、上述した方法をプロセッサに実行させるように構成された命令を含む。
【００２４】
本発明の種々の態様は、方法、装置、システム、及びコンピュータプログラムを含む、複数の異なる手段で実行されうることに留意すべきである。コンピュータプログラムは、ディスクを含むどんな適当な搬送媒体に格納されうる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態を、一例として、添付の図を参照して説明する。
【００２６】
図１を参照すると、本発明を実行可能なコンピュータシステム１が概略的に示されている。コンピュータシステムは、プログラムメモリ２ａとデータメモリ２ｂとを含むランダムアクセスメモリ（ＲＡＭ）２を有する。中央処理装置（ＣＰＵ）３は、プログラムメモリ２ａに格納されている命令を読み出して実行する。コンピュータシステムは、さらに、ハードディスクドライブ４形式の不揮発性記憶装置と、Ｉ／Ｏインターフェース５とを有する。Ｉ／Ｏインターフェース５は、コンピュータシステム１へのデータ入力とコンピュータシステム１からのデータ出力とを制御する。具体的には、キーボード６などの入力装置から入力されたデータは、Ｉ／Ｏインターフェース５によって受信される。出力データは、Ｉ／Ｏインターフェース５に供給され、モニタ７などの出力装置に出力される。上述した構成要素は、通信バスにより互いに接続される。当然のことながら、図１に示す構成は例示的なものであり、当業者が容易に理解できる方法で変更可能である。
【００２７】
図２は、本発明の実施形態を概略的に示している。従来の方法で、データベース管理システム９により管理されるデータベース８に、データが格納されることがわかる。グラフィカルユーザインターフェース（ＧＵＩ）１０は、インターフェース１１を介して、データベース管理システム９の動作を制御する。本発明の好ましい実施形態において、データベース管理システム９はオラクル（Oracle）であり、インターフェース１１は、ＧＵＩ１０から受信された入力によって判断される方法で、データベース管理システム９に指令を送信する。
【００２８】
上述した実施形態において、データベース８は、臨床の研究に関連するデータを格納し、さらに特に臨床の研究に関連する画像を格納するように構成されている。図３は、エンティティがデータベース内でどのように構築されるかを示している。Studiesエンティティ１２は、全ての研究を示しており、全ての研究についてのデータがデータベース内に格納されている。Studiesエンティティ１２は、子として、基本的な画像を示すDrug1エンティティ１３と、Drug2の研究課題に関連する画像を示すDrug2エンティティ１４とを備えている。同様に、Drug2の研究課題のエンティティ１４は、Trial2エンティティ１５を子として備えている。Trial2エンティティは、臨床試験を示し、それぞれが臨床試験内の個々の被験者である複数の子を含んでいる。Person1エンティティ１６は、これらの子の一つである。
【００２９】
臨床試験（臨床試験についてのデータが図４に示されている。）は、創傷治癒に関連する。具体的には、被験者が創傷を被ると、創傷に対する反応が創傷後の複数の所定の時点で測定される。この測定を実行するために、画像が各時点で撮影される。すなわち、図３においては、Person1エンティティ１６が、子エンティティとして、創傷後ゼロ日を表すエンティティ１７と、創傷後１日を表すエンティティ１８と、創傷後７日を表すエンティティ１９と、創傷後８日を表すエンティティ２０と、創傷後１０日を表すエンティティ２１と、創傷後１７〜２４日を表すエンティティ２２とを備える。同様に、創傷後ゼロ日を表すエンティティ１７は、創傷前を表す子エンティティ２３と、創傷後５〜３０分を表すエンティティ２４と、創傷後１時間を表すエンティティ２５と、創傷後２時間を表すエンティティ２６と、創傷後３時間を表すエンティティ２７と、創傷後４時間を表すエンティティ２８と、を備える。Person1エンティティ１６の子エンティティのそれぞれは、適当な時点で被験者から撮影された画像を格納する。
【００３０】
データベース８は、複数の適当に配置されたテーブルにデータを格納するように構成されている。図４に、データベース８のエンティティ関係図を示す。エンティティ（Entity）テーブル３０は、格納されたデータで表されるエンティティを格納するのに用いられる。
【００３１】
図３に示されるエンティティが、図４のエンティティテーブル３０のレコードで全て表される。図５は、エンティティテーブルのフィールドを示す。エンティティテーブル３０は、テーブルの主キーとして作用するＩＤフィールドを含む。親＿ＩＤ（Parent_ID）フィールドは、図３に示すようなエンティティ間の階層関係を示すのに用いられる。例えば、SRN004エンティティ１６は、Trial1エンティティ１５を表すエンティティテーブル３０のレコードのＩＤに設定された親＿ＩＤフィールドを含む、エンティティテーブル３０のレコードで表される。エンティティテーブル３０は、名前（Name）フィールドを提供する。名前フィールドには、エンティティの名前が入力されうる。エンティティタイプ＿ＩＤ（EntityType_ID）フィールドにより、各エンティティは、（後述する）エンティティタイプ（EntityType）テーブル３１のレコードにより規定されるエンティティタイプに関連付けされる。図４から分かるように、各エンティティは一つのタイプに属し、複数のエンティティが同一のエンティティタイプに属する。図５に戻って、エンティティテーブル３０は、さらに適当な日付データを格納する作成日付（DateCreated）フィールドを有する。人＿ＩＤ（Person_ID）フィールドは、データベースにレコードを追加するユーザを識別する。サンプルトラッキング＿ＩＤ（SampleTracking_ID）フィールド、インデックス（Index）フィールド、残りの量（AmountRemaining）フィールド、及びユニット＿ＩＤ（Unit_ID）フィールドがさらに提供される。ロック（Locked）フィールドは、エンティティの構造がロックされているかどうかを特定する。
【００３２】
エンティティが関連付けされたエンティティタイプを持ち、エンティティタイプがエンティティタイプテーブル３１のレコードにより表されることが記載された。図６に、エンティティタイプテーブル３１のフィールドを示す。エンティティタイプテーブルが、主キーとして作用するＩＤフィールドと、異なるエンティティタイプの命名を可能とする名前フィールドと、を含むことがわかる。親＿ＩＤフィールドは、エンティティタイプの階層を生成するのに用いられる。例えば、“画像”と“臨床画像”などのエンティティタイプが生成されうる。このような場合、“臨床画像”が“画像”なら、“臨床画像”は“画像”に関連するエンティティタイプテーブルのレコードを指す親＿ＩＤの値を持つ。トップレベルのエンティティタイプは、−１に設定された親＿ＩＤを持つ。エンティティタイプテーブル３１は、さらにタイプ（種類：Type）フィールドを有する。以下のように、本発明の実施形態では、テンプレートエンティティを使用する。タイプフィールドの「Ｆ」の値は、ファイルに関連付けられたテンプレートエンティティを示しており、タイプフィールドの「Ｄ」の値は、ディレクトリに関連付けられたテンプレートエンティティを示している。タイプフィールドの「Ｕ」の値は、テンプレートエンティティではないことを示している。消費タイプ（ConsumerType）フィールドとユニットタイプ（UnitType）フィールドがさらに提供されるが、本発明の実施形態では使用しない。アイコン画像のＵＲＬ（IconImageURL）フィールドは、ＧＵＩ内のエンティティタイプを表すアイコンを提供する画像ファイルのパスを特定するのに用いられる。
【００３３】
図４に戻ると、エンティティタイプテーブル３１とエンティティタイプチルドレン（EntityTypeChildren）テーブル３２との間に関係が規定されることがわかる。図７に、エンティティタイプチルドレンテーブル３２の詳細を示す。図７から、このテーブルがエンティティ＿タイプ＿ＩＤ＿Ｐ（Entity_Type_ID_P）フィールドとエンティティ＿タイプ＿ＩＤ＿Ｃ（Entity_Type_ID_C）フィールドとを持つことがわかる。エンティティ＿タイプ＿ＩＤ＿Ｐフィールドは、親のエンティティタイプを特定し、エンティティ＿タイプ＿ＩＤ＿Ｃフィールドは、子のエンティティタイプを特定する。このテーブルは、エンティティタイプ間の関係を規定している。例えば、研究（study）は、実験（experiments）を含んでも良い。この場合、エンティティタイプチルドレンテーブルのレコードは、エンティティ＿タイプ＿ＩＤ＿Ｐフィールド内で特定される研究エンティティと、エンティティ＿タイプ＿ＩＤ＿Ｃフィールド内で特定される実験エンティティとを含む。このテーブルは、図３によって例示されたエンティティタイプの階層を表すために使用される。
【００３４】
エンティティタイプテーブル３１により規定されるエンティティは、複数のフィールドにより特徴付けられる。各フィールドは、エンティティタイプフィールド（EntityTypeField）テーブル３３のレコードにより示される。図４からわかるように、各エンティティタイプテーブルのレコードは、複数のエンティティタイプフィールドテーブルのレコードに関連付けられても良い。図８に、エンティティタイプフィールドテーブル３３のフィールドを示す。ＩＤフィールドは、主キーとして作用するために提供され、エンティティタイプ＿ＩＤ（EntityType_ID）フィールドは、レコードが関連付けられる特定のエンティティタイプを特定することがわかる。フィールド＿ＩＤ（Field_ID）フィールドは、（後述の）フィールド（Field）テーブル３４のレコードを特定する。必須（Required）フィールドは、レコードにより示されるフィールドが必須であるか任意であるかを示す。デフォルト値（DefaultValue）フィールドは、指定の値がないときのフィールドの値を提供する。プロフラム＿ＩＤ（Program_ID）フィールドは、（後述の）プログラム（Program）テーブル３５のレコードを特定するために使用される。エンティティタイプフィールドテーブルは、さらに、テーブルＶ（TableV）フィールドを含む。テーブルＶフィールドは、（後述の）ＧＵＩのコンテンツパネル（contents panel）上のテーブルへのエンティティの表示のされ方の構成を指定する。エンティティタイプ、エンティティ名、生成された日付、及びエンティティを生成した人だけでなく、付加的な情報が（エンティティタイプに従って）表示されうる。テーブルＶ欄は、各エンティティタイプフィールドについて、次の一つを含む：‘Ｍ’必須（これに関する値は、常にテーブルに表示される。）；‘Ｐ’優先（このフィールドに関する値は‘必須’フィールドが多すぎなければ表示される。また、‘任意’フィールドよりも優先される。）；‘Ｏ’任意（この値は、上述したフィールドが多すぎなければ表示される。）；‘Ｎ’なし（テーブルに決して表示されない。）
【００３５】
上述したように、エンティティタイプフィールドテーブル３３は、フィールドテーブル３４のレコードを参照する。図９に、フィールドテーブルのフィールドを示す。ＩＤフィールドは、フィールドテーブルの各レコードの固有の識別子を提供するために使用される。各フィールドは、名前（Name）フィールドにより表される名前を持つ。タイプ（Type）フィールドは、各フィールドに格納されるデータの種類を示す。データの種類は、下記に示す２桁の数字の値により示される。
STRING=0
INT=1
DOUBLE=2
CHAR=3
DATE=4
IMAGE=5
TEXT=6
HTML=7
XML=8
PROGRAM_RESULTS=9
【００３６】
テーブルは、さらに、フィールドが検索フィールドのときのために使用される検索値を格納する検索（LookUp）フィールドと、特定のレコードについての修正が可能かどうかを示す読み取り専用（ReadOnly）フィールドと、を有する。
【００３７】
上述したように、エンティティタイプフィールドテーブルは、また、図１０に示すプログラムテーブル３５と関係がある。プログラムテーブル３５は、ＩＤフィールドと名前（Name）フィールドとを含むことが分かる。テーブルは、さらに、コマンドパス（CommandPath）フィールドと拡張子（Extensions）フィールドとを含む。エンティティタイプテーブル３３のレコードの特定のプログラムを表すプログラムテーブル３５のレコードを特定することにより、特定のフィールドが、特定のプログラムに関連付けられる。これにより、プログラムを、そのフィールドに関連して起動することが可能となる。
【００３８】
エンティティが、エンティティテーブル３０のレコードにより表され、エンティティが、エンティティタイプテーブル３１のレコードにより表される関連付けされたエンティティタイプを持つことについて、上述した。また、特定のエンティティタイプが、エンティティタイプフィールドテーブル３３により表されるフィールドによって特徴付けられることについて説明した。エンティティ値（EntityValue）テーブル３６は、特定のエンティティのインスタンスに関する特定のフィールド値を格納する。このテーブルは、図１１に示されている。その図では、ＩＤフィールドは主キーを提供し、エンティティ＿ＩＤ（Entity_ID）フィールドは、エンティティテーブル３０のレコードを特定し、エンティティタイプフィールド＿ＩＤ（EntityTypeField_ID）フィールドは、エンティティタイプフィールドテーブル３３のレコードを特定することがわかる。値（Value）フィールドは、フィールド値を格納し、ロック（Locked）フィールドは、そのフィールド値がロックされているかどうかを示す。
【００３９】
図４に戻ると、エンティティテーブルがまたユニット（Unit）テーブル３７とも関係していることがわかる。
【００４０】
本発明の実施形態は、画像に関するデータを格納することに関係しているため、ユーザが１以上の画像を見ることができるように種々の機能性が提供される。これは、ライトボックスエンティティ（LightBoxEntity）テーブル３８とライトボックスセッション（LightBoxSession）テーブル３９とによりサポートされる。ライトボックスエンティティテーブル３８は、図１３に示されている。ＩＤの番号が主キーを提供することが分かる。ライトボックスＩＤ（LightBoxID）フィールドは、（後述の）ライトボックスセッションテーブル３９のフィールドに対する参照をつけ、エンティティＩＤ（EntityID）フィールドは、エンティティテーブル３０のレコードに対する参照を付ける。ライトボックスセッションは、格子（グリッド）状に配置された複数のサムネイル画像を含み、各画像は、ライトボックスエンティティテーブル３８のレコードにより示される。ライトボックスエンティティテーブル３８の行＿（Row_）と列＿（Col_）のフィールドは、特定のライトボックスエンティティのグリッド内の位置を表す。インデックス＿（Index_）フィールドがまた提供される。
【００４１】
上記のように、ライトボックスエンティティ（LightBoxEntity）のレコードは、図１４に示されるライトボックスセッションテーブル３９のレコードにより表されるライトボックスセッション（LightBoxSession）を規定するのに用いられる。ライトボックスセッションテーブルは、適当な日付と時間のデータを格納する、作成日時（Date_Time_Created）フィールドと修正日時（Date_Time_Amended）フィールドとを含む。名前（Name）フィールドは、ライトボックスセッションの名前を提供するのに用いられる。人＿ＩＤ（Person_ID）フィールドは、ライトボックスセッション（LightBoxSession）に関連付けられたユーザを識別するのに用いられる。ウィンドウサイズＸ（WindowSizeX）とウィンドウサイズＹ（WindowSizeY）のフィールドは、ライトボックスセッションを表示するウィンドウのサイズを規定する。行＿（Row_）と列＿（Col_）のフィールドは、画像が配置される行と列の数値を特定するのに用いられる。サムスケール（ThumbScale）フィールドは、画像の縮尺の程度を特定するのに用いられる。メモ（Notes）フィールドは、ライトボックスセッションに関係する注釈を格納するのに用いられる。パブリック＿（Public_）フィールドは、他のユーザが規定されたライトボックスセッションにアクセスできるかどうかを特定するのに用いられる。
【００４２】
後述するように、本発明は、テンプレートを使用して、データベースにデータを自動で投入することを可能にする。具体的には、テンプレートは、図３に示すようなエンティティの階層配置内の所望の記憶位置で画像に関するプロトタイプを提供し、適当なメタデータをその画像に関連付けるのに用いられる。テンプレートは、図１５に示すテンプレート（Template）テーブル４０により表される。ＩＤ（ID number）フィールドは、識別子を提供し、エンティティ＿ＩＤ（Entity_ID）フィールドは、テンプレートが関連付けられているエンティティを識別することがわかる。テンプレート＿エンティティ＿ＩＤ（Template_Entity_ID）フィールドがまた提供され、特定のテンプレートについてテンプレートツリーのルートでエンティティを識別するために使用される。名前（Name）フィールドは、テンプレートに名前を付け、後述するように、トップディレクトリ＿ＵＲＬ（TopDirectory_URL）フィールドは、テンプレートのベースディレクトリを特定する。ステータス（Status）フィールドは、テンプレートの状態のデータを提供する。具体的に、Statusフィールドは、試験がまだ着手されているかどうか（例えば、画像がまだ追加されるかどうか）、又は試験が完了しているかどうか（例えば、画像を検索する必要がないかどうか）を示す。
【００４３】
図４に戻ると、変更履歴（ChangeHistory）テーブル４１とエラーログ（ErrorLog）テーブル４２とが提供されることがわかる。変更履歴テーブル４１は、オーディットトレイル（監査の手掛かり）の機能を提供し、エラーログテーブル４２は、エラーの詳細を格納する。
【００４４】
データベース８の構造について上述した。以下、データベース８と組み合わせて用いられるＧＵＩ１０とインターフェース１１について説明する。ＧＵＩは、Javaプログラミング言語を用いて実行され、後述する、閲覧（ブラウジング）する、検索する、画像を見る、及び報告書を生成するためのマルチウィンドウの環境を提供する。本発明の詳細な実施形態は、ビットマップ（ＢＭＰ）、ＴＩＦＦ及びＰＮＧのフォーマットで格納された画像をサポートする。
【００４５】
図１６を参照すると、ＧＵＩ１０の一部を形成するウィンドウ４５が示されている。ウィンドウ４５は、３つの枠を有する。第１の枠４６は、エクスプローラタブ４７と検索タブ４８とを含む。エクスプローラタブ４７が図１６に示されており、上述したタイプの複数のエンティティの階層構造を示している。ウィンドウ４５は、第２の窓４９を含む。第２の窓４９は、第１の窓４６のエクスプローラタブ４７の中で選択されたエンティティの子とその内容に関する情報を表示する。図１６の例では、第２の窓４９は、第１の窓４６の中で示されるStudiesエンティティ５０の子の詳細を表示している。第３の窓５１は、第２の窓４９の中で現在選択されているエンティティに関する情報を表示する。選択されたエンティティに関連付けられた画像ファイルがある場合、この画像が表示される。選択されたエンティティに関連付けられたテキストファイルがある場合、そのテキストが表示される。ある場合には、エンティティは、容易に表示することができないデータ（例えば、ＭｉｃｒｏｓｏｆｔＴＭＥｘｃｅｌＴＭのような登録商標をもつファイルフォーマットで格納されたデータ）に関連付けされているかもしれない。このような場合、ＨＴＭＬリンクが、第３の領域５１内で提供される。このリンクが使用されることにより、適当なプログラムが起動され、関連付けされたデータを見ることができる。
【００４６】
図１７に、ＧＵＩ１０の一部であるウィンドウ５２を示す。ウィンドウ５２は、エンティティタイプの設定を可能にする。関連付けられたデータは、図４の適当なテーブルに格納されている。ウィンドウ５２は、領域５１の画像エンティティを選択し、図１７ａに示すメニューからタイプの設定オプションを選択することにより、表示される。ウィンドウ５２は、エンティティタイプの新規作成と、既存のエンティティタイプに関連付けされているデータの編集のために使用される。各エンティティタイプは、エンティティタイプテーブル３１（図４）のレコードにより示される。ウィンドウ５２を使用して入力及び編集されたデータは、そのテーブルの適当なレコードを編集するために用いられる。ウィンドウ５２は、ユーザが編集可能なテキストボックス５３を含むことがわかる。テキストボックス５３には、設定されるエンティティタイプの名前が入力される。別のテキストボックス５４が、エンティティタイプのアイコンを提供するファイルのパス名を入力するために提供される。テキストボックス５４は、ブラウズボタン５５を伴っている。ブラウズボタン５５を選択するとファイルエクスプローラウィンドウが表示される。ファイルエクスプローラウィンドウにより、適当なアイコンファイルが位置付けられ、そのパスがテキストボックス５４に挿入されうる。消費タイプが適当なドロップダウンリスト５６，５７から選択されうる。
【００４７】
ウィンドウ５２は、さらに、現在編集されているエンティティの親のエンティティの詳細を表示する領域５８を有する。領域５８は、親のエンティティに関連付けられている全てのデータを表示し、継承されるデータをユーザが見ることができるようにしている。
【００４８】
上述したように、エンティティは、実験に基づくデータの階層構造を構築するために用いられる。階層構造内のエンティティは、種々のエンティティタイプを有しても良い。領域５９は、現在編集されているエンティティタイプにどのエンティティタイプを追加するかを特定するために使用される。領域５９は、現在規定されているエンティティタイプのすべてを表示するリスト６０を含む。リスト６０の“画像（Image）”エンティティ６１が、このエンティティが関連付けされたサブタイプを持つことを示す“＋”記号と共に表示されていることがわかる。“＋”記号の使用については後述する。リスト６０のアイテム（項目）は、ユーザが選択可能である。ボタン６２を選択することにより、選択されたアイテムがリスト６０から領域６３に移動する。これにより、これらのエンティティが現在編集されているエンティティタイプに追加されうることを示す。領域６３のアイテムを選択し、ボタン６４を使用することにより、領域６３からアイテムを削除することができる（且つリスト６０に戻すことができる）。図示された例では、画像エンティティに追加されるタイプはないことがわかる。すなわち、全ての画像エンティティは、エンティティの階層の葉（leaf）である。ウィンドウ５２の領域５９を用いて特定されるエンティティタイプ間の階層関係は、上述した方法でエンティティタイプチルドレンテーブル３２（図４）のレコードにより表される。
【００４９】
ウィンドウ５２の領域６５は、現在編集されているエンティティタイプのサブタイプを特定するのに使用される。図では、編集されているエンティティタイプ“画像（Image）”が、“肉眼で見える（Macroscopic）”画像、“臨床画像（Clinical image）”、及び“顕微鏡で見える（Microscopic）”画像をサブタイプとして備えていることがわかる。“肉眼で見える”エンティティ及び“臨床画像”エンティティの横の“＋”記号は、これらのタイプが同様にサブタイプを備えることを示している。サブタイプを選択して、その後“削除”ボタン６６を選択することにより、そのサブタイプを削除することができる。“新規作成”ボタン６７は、現在編集されているエンティティタイプにさらなるサブタイプを追加するために選択できる。これにより、エンティティタイプテーブル３１（図４及び図６）に新しいレコードを生成することができる。このレコードは、初め、その親と同一となるように生成される。“編集”ボタン６８は、編集するために選択されたサブタイプに関連するデータを投入する、別のウィンドウ５２を表示することができる。“新規作成”ボタン６７は、その親と全く同一の子として生成される新しいサブタイプを生成するのに用いられ、それから、“編集”ボタン６８が、その子の詳細を編集するのに用いられうる。ここで用いられるサブタイプとインヘリタンス（継承）の概念は、例えば、Ｊａｖａ（登録商標）を含む多くのオブジェクト指向のコンピュータシステムにおいて用いられるものである。このタイプのインヘリタンスは、本発明の上述した実施形態において、エンティティタイプテーブル３１（図４）の親＿ＩＤフィールドを用いて、表されている。
【００５０】
上述したように、エンティティは複数のフィールドを持つ。ウィンドウ５２の領域６９は、このようなフィールドの詳細を特定するのに用いられる。図４に戻ると、フィールドは、フィールドテーブル３４のレコードにより規定され、且つ、エンティティタイプフィールドテーブル３３のレコードにより、特定のエンティティタイプ（エンティティタイプテーブル３１のレコードにより示される。）に関連付けられることが思い出される。フィールドテーブル３４の中で現在規定されている全てのフィールドが、リスト７０に表示される。フィールドはリスト７０の中で選択でき、ボタン７１を使用することにより、そのフィールドを現在編集されているエンティティタイプに関連付けることができる。領域７２内にフィールドの詳細が表示され、フィールドとエンティティタイプを関連付けるエンティティタイプフィールドテーブル３３に適当なレコードが生成される。領域７２に表示されるフィールドは、フィールド名７３により示される。チェックボックス７４は、そのフィールドについての値が必須かどうかを示すのに用いられうる。テキストボックス７５は、フィールドのデフォルト値を特定するのに用いられうる。テキストボックス７６は、エンティティタイプのインスタンスが選択されたときに、フィールド値がウィンドウ４５（図１６）の窓５１に表示されるべきかどうかを指定するのに用いられる。また、テキストボックス７７（一部分が図１６に示されている。）が提供される。これは、適切な場合（後述する）、フィールドに関連付けられたプログラムの詳細を提供する。当然のことながら、領域７２に入力されたデータは、エンティティタイプフィールドテーブル３３の適当なレコード内に格納される。
【００５１】
領域７２内のフィールドは、選択できる。ボタン７８を使用することにより、領域７２からフィールドを移動させて、対応するレコードをエンティティタイプフィールドテーブル３３から削除することができる。上述したように、領域７０に表示されるフィールドは、フィールドテーブル３４のレコードにより全て表される。領域７０内で選択されたいずれのフィールドも、フィールドを選択して、“フィールドの修正”ボタン７９を使用することにより、修正することができる。同様に、“フィールドの新規作成”ボタン８０を使用することにより、新しいフィールドを生成することができる。ボタン７９又はボタン８０が選択されると、図１８に示すウィンドウ８１が表示される。ボタン７９が選択された場合、編集されるフィールドに関連するデータと共にウィンドウ８１が表示される。一方、ボタン８０が選択された場合、ウィンドウ８１は空欄の状態で表示される。
【００５２】
図１８を参照すると、テキストボックス８２が、フィールド名を特定するために用いられ、フィールドのデータタイプが、ドロップダウンリスト８３を用いて選択可能であることがわかる。本発明の一実施形態において、ドロップダウンリストの値は、プログラムコードでハードコードされている。チェックボックス８４を選択することにより、フィールド値の変更ができないように指定することができる。領域８５は、検索フィールドに関する細目を特定するのに用いられる。一組のラジオボタン８６は、フィールドが検索フィールドであるかどうかを示す。リスト８７は、その検索のために使用される値を特定する。リスト８７のエントリは、フィールドテーブル３４の検索（LookUp）フィールドから得られる。フィールドの編集が完了すると、変更を受け付けるために適用ボタン８８を選択することができる。また、変更をキャンセルするためにキャンセルボタン８９を選択することができる。
【００５３】
図１７に戻ると、ウィンドウ５２が、さらに二つのボタン、“プログラムの新規作成”ボタン９０と“プログラムの修正”ボタン９１とを提供することがわかる。これらのボタンを使用することにより、どのプログラム（図４のプログラムテーブル３５のエントリにより表される。）を特定のエンティティタイプに関連付けるかを設定することができる。具体的には、フィールドがプログラム結果のリンク（Program Results Link）のタイプである場合、エンティティタイプフィールドテーブルの対応するレコードが、プログラムテーブル３５のプログラムを参照し、このプログラムの詳細が、ボタン９０及び９１を用いて特定又は修正されうる。
【００５４】
図１８ａは、プログラムの特徴を特定するのに用いられるウィンドウ９２を示している。ウィンドウ９２は、プログラムの名前を格納するためのテキストボックス９３と、プログラムに関連付けられたファイル拡張子を入力するためのテキストボックス９３ａと、を有する。テキストボックス９４は、ファイルエクスプローラウィンドウを表示するためのブラウズボタン９４ａを使用して、データを入力され、プログラムが格納される位置を格納する。ウィンドウ９２は、図１７に示すウィンドウ５２のボタン９０及び９１を選択することにより、表示される。
【００５５】
エンティティは、エンティティの階層を自動的に投入するのに使用されるテンプレートエンティティでありうることについて上述した。一般的な言い方をすると、このようなテンプレートは、ファイルシステム内に格納される適当な画像ファイルを位置付け、画像を格納するのに適当なエンティティを生成し、ある場合には、画像と共に格納される適当なメタデータを生成するのに用いられる。従って、（上述したように）エンティティタイプの適当な階層を生成すると、階層的に配置された集まりのテンプレートエンティティを含む適当なテンプレートが生成されうる。これらのテンプレートは、データを表すエンティティのプロトタイプとして作用する特定のエンティティタイプのテンプレートエンティティの階層的に配置された集まりである。このようなテンプレートの生成について、ＧＵＩ１０の一部を形成する図１９に示すウィンドウ９５を参照して、以下に説明する。ウィンドウ９５は、図１７ａに示す形式のドロップダウンメニューのテンプレートオプションを選択することにより表示される。
【００５６】
図１９を参照すると、ウィンドウ９５は、テキストボックス９６内でテンプレートについて名前が記入され、テキストボックス９７内でディレクトリのパス名が指定されることがわかる。パス名は、ファイルエクスプローラウィンドウを表示するためのブラウズボタン９８を選択することにより生成されうる。それから、ディレクトリが、そのファイルエクスプローラウィンドウから選択され、そのパスがテキストボックス９７に入力される。指定されたパス名は、画像を検索するときのルートディレクトリとして使用されるディレクトリのパス名となる。この情報は、テンプレートテーブル４０（図４）の適当なレコード内に格納される。
【００５７】
ウィンドウ９５は、窓９９を提供する。窓９９では、ルートテンプレートエンティティ１００に関連して、エンティティの階層が生成されうる。ユーザが、表示されているルートテンプレートエンティティ１００上で右クリックすることにより、窓９９からメニュー１０１が表示され、データを格納するエンティティの構造を生成することができるようになる。メニュー１０１は、階層にエンティティタイプを追加するのに用いられる“追加”ボタンを含む。適当なエンティティタイプは、サブメニュー１０２に列挙されており、上述したようにエンティティタイプ間で特定された階層関係により決定される。図示された実施形態において、一つの“グループ（Group）”エンティティが、ルートエンティティに追加されうる、ただ一つのテンプレートエンティティである場合、サブメニューが一つの“グループ”エンティティを含むことがわかる。
【００５８】
メニュー１０１は、さらに、特定のテンプレートエンティティ（後述する）を編集するためのオプションと、特定のテンプレートエンティティの名前を変更する又は削除するオプションとを提供する。また、切り取り、コピー、及び貼り付けのオプションが提供されており、“カットアンドペースト”機能を利用することができる。
【００５９】
メニュー１０１の‘上へ’及び‘下へ’オプションは、階層内で他の子と比較して、子の位置を変更する。メニュー１０１の‘履歴’項目の選択は、特定のエンティティに行われた変更のオーディットトレイルを示すウィンドウを表示する。このウィンドウは、図１９ａに示される。
【００６０】
上述した記述は、適当な関係を特定することにより、適当なエンティティタイプからテンプレートを生成することに関していた。これは、一組のラジオボタン１０３、１０４から第１のラジオボタン１０３を選択することにより促進される。しかしながら、ラジオボタン１０４が選択されると、テンプレートは、既存のテンプレート１０５のリストから選択された既存のテンプレートに基づいて生成されうる。これにより、新しいテンプレートを生成するのにかかる時間を低減する。リスト１０５に表示されるテンプレートは、データベースのテンプレートテーブルから読み込まれる。
【００６１】
図２０及び図２１を参照して、テンプレートエンティティの生成及び編集について、以下に説明する。まず、図２０を参照すると、テンプレートエンティティの詳細を指定及び編集するのに用いられるダイアログ１０６が示されている。これは、図２０のメニュー１０１の“編集”の選択に応じて表示される。ダイアログ１０６は、名前テキストボックス１０７を含む。名前テキストボックス１０７には、検索文字列が入力されうる。テンプレートが実行されるとき、この検索文字列は、ファイル名及びディレクトリ名と比較され、検索文字列と合致するファイル及び／又はディレクトリが、特定のエンティティのインスタンスとしてデータベースに追加される。検索文字列は、“ＬＧ０００”のような文字通りの文字列を含むことができる。このような文字列は、柔軟性がなく、ファイル名“ＬＧ０００”のみに合致する。しかし、検索文字列は、ワイルドカード文字を含んでもよい。例えば、検索文字列“＊ＬＧ０００＊”は、ファイル名の中でいかなる他の文字がこの文字列を囲んでいたとしても、“ＬＧ０００”を含む全てのファイル名に合致する。同様に、文字“＊”は、検索文字列内の他の位置でも用いることができる。さらに、文字“［”と“］”は、特別な意味を持つ。具体的には、数値の範囲が“［”と“］”の間で特定され、その範囲内の数値を含むファイルが検索文字列に合致する。例えば、検索文字列“＊Ａ［０−１００］＊”は、０から１００の範囲内の数値が後ろに続く“Ａ”の文字を含むファイル名に合致する。すなわち、“Ａ５”、“ＡＡ５０”、“Ａ５６”、“ＢＨＨＳＤＡ９０Ｓ．ＴＩＦＦ”を含むファイル名が指定された検索文字列に全て合致する。
【００６２】
テンプレートエンティティが検索文字列を指定しない場合があることに、留意すべきである。このようなエンティティは、階層レベルを指定するのに用いられ、直接格納されたデータを指定するものではない。例えば、図２に戻ると、特定の時点に関連付けられたディレクトリは、直接格納されたデータではなく、それ自身がデータを順に格納するフォルダを格納する。
【００６３】
ダイアログ１０６の中央部分１０８は、指定された検索文字列に合致するファイル名を示すエンティティに関連付けられるメタデータを特定するのに用いられる。この領域は、テンプレートエンティティに関連付けられたエンティティタイプについて指定されたフィールドに従って、動的に生成される。表示されたフィールドに入力された値は、テンプレートにより生成された全てのエンティティのフィールドに入力される。当然のことながら、フィールドのいくつかが検索フィールドであってもよい。例えば、図２０の例では、画像の説明（Image Description）フィールド１０９が検索フィールドであり、図２１（ダイアログ１０６の一部を示す。）に示すように、オプション１１０のメニューがテンプレートエンティティの制作者に表示される。
【００６４】
図２０に戻ると、タイプのドロップダウンリスト１１１が提供されている。このリスト１１１により、テンプレートエンティティが、ファイル又はディレクトリに合致するかどうか、又はある場合にはどちらにも合致しないという指定をすることができる。エンティティが、画像を保持するものではなく、単に実験用の構造を保つためのものである場合は、テンプレートエンティティは、エンティティのファイルにもディレクトリにも合致すべきでないことが妥当である。
【００６５】
上述したことから、階層構造を表すテンプレートを生成でき、テンプレートエンティティをその構造内のエンティティタイプに関連付けることができ、テンプレートエンティティが位置付けられた画像を示すエンティティを生成でき、その画像についての適切なメタデータを生成できることが分かる。以下、このようなテンプレートの使用について、図２２のフローチャートを参照して説明する。オブジェクト指向のコンピュータプログラムコードが、下記のフローチャートにより記述されるステップを実行するために書かれている。
【００６６】
図２２を参照すると、ステップＳ１でデータベース８との接続が確立される。ステップＳ２で、“アクティブ（Active）”のステータスを持つテンプレートテーブル４０のレコードにより表される全てのテンプレートが検索され、これらの検索されたテンプレートが順に処理される。ステップＳ３で、処理するテンプレートがさらにあるかどうかを判断するための確認が行われる。処理するテンプレートがなければ、ステップＳ４でデータベースへの接続が切断され、処理が終了する。処理するテンプレートがあれば、そのテンプレートの情報がステップＳ５で検索され、図２３のフローチャートで示すように、テンプレートにより指定されるディレクトリがステップＳ６で処理される。
【００６７】
図２３を参照すると、ステップＳ７で、指定されたディレクトリがファイルシステム内に存在することを確実にするための確認が行われる。ディレクトリが存在しなければ、ステップＳ８で処理が終了する。ディレクトリが存在すると仮定すると、処理がステップＳ９に進み、ディレクトリ内に存在するファイルとサブディレクトリのリストが取得される。ステップＳ１０〜Ｓ１２で、ディレクトリの中身の適切な並び替えが実行される。ステップＳ１０で、ディレクトリがファイル又はサブディレクトリを含むかどうかを判断するための確認が行われる。サブディレクトリは、ステップＳ１１で英数字順に並べ替えられ、ファイルはステップＳ１２で日付順に並べ替えられる。
【００６８】
それから、各ファイル又は各サブディレクトリは、順に処理される。ステップＳ１３で、処理されるファイル又はサブディレクトリがさらにあるかどうかを判断するための確認が行われる。処理されるファイル又はディレクトリがなければ、ステップＳ１４で処理は終了する。しかし、処理されるファイル又はディレクトリがさらに存在すれば、ステップＳ１５で、テンプレートにより特定される階層内の適当なテンプレートエンティティが捜し当てられる。この捜し当ては、捜し当てられたファイル又はディレクトリを、上述した検索文字列として作用する、各テンプレートエンティティの名前と比較することにより実行される。適当なテンプレートエンティティが見つからなければ（ステップＳ１６）、ファイルは処理されず、処理はステップＳ１３に戻る。ステップＳ１６で適当なテンプレートエンティティが見つかると、処理はステップＳ１７で継続され、テンプレートエンティティを示すエンティティが生成される。当然のことながら、エンティティの生成は、エンティティテーブル３０の新しいレコードの生成を必要とする。この新しいレコードは、識別子として作用するＩＤと共に入力される。名前フィールドとエンティティタイプ＿ＩＤフィールドの値は、合致したテンプレートエンティティから取得できる。作成日付フィールドの値は、自動的に設定されうる（ステップＳ１８）。さらに、エンティティ値テーブル３６においてリンクされたレコードが、生成されたエンティティのフィールド値を表すために生成されることが必要であってもよい。これらは、上述した方法で、テンプレートエンティティにより指定されたデータと共に入力されうる。
【００６９】
ステップ１９で、捜し当てられたファイルシステムのオブジェクトがファイルかどうかを判断するための確認が行われる。そのオブジェクトがファイルであれば、ステップＳ２０で、ファイルが画像ファイル（すなわち、システムにより画像ファイルのタイプとして認識されるファイルタイプを持つファイル）かどうかを判断するための確認が行われる。ファイルが画像ファイルであれば、ステップＳ２１でエンティティ値テーブル３６の適当なレコードにファイル名が入力され、処理がステップＳ２２に進む。捜し当てられたファイルシステムのオブジェクトが画像ファイルでなければ、処理は直接ステップＳ２２に進む。
【００７０】
ステップＳ２２で、生成されたエンティティの、テンプレートのルートに戻る階層パスが、エンティティテーブルの親＿ＩＤフィールドを使用して計算される。当然のことながら、エンティティは、階層内の介在レベルで生成されることを必要としてもよい。これは、ステップＳ２３で行われる。ステップＳ２４で、ステップＳ２３の処理がうまく完了したかどうかを確実にするための確認が行われる。処理が成功しなかった場合、ステップＳ１３に処理が戻る。そうでなければ、処理はＳ２５で継続し、ディレクトリが捜し当てられたかどうかを判断するための確認が行われる。捜し当てられたオブジェクトがディレクトリでなければ、処理は再度ステップＳ１３に戻る。捜し当てられたファイルシステムオブジェクトがディレクトリであれば、ディレクトリの内容が、カレントディレクトリに関する上述した方法により、ステップＳ２６で処理される。
【００７１】
図２４は、所定のファイルシステムオブジェクトについて、適当なテンプレートエンティティを捜し当てるステップ１５の処理を、さらに詳細に示している。ステップＳ２７で、現在処理されるテンプレート内にある全てのテンプレートエンティティが、検索される。現在処理されるテンプレートに関連付けられているテンプレートエンティティは、上述したようにテンプレート＿エンティティ＿ＩＤフィールドを用いて捜し当てられる。ステップＳ２８で、テンプレートがファイル（ディレクトリの対語である）に合致するように構成されているかどうかと、現在処理されているオブジェクトがファイルかどうかを判断するための確認が行われる。ステップＳ２９で、テンプレートがディレクトリに合致するように構成されているかどうかと、現在処理されているオブジェクトがディレクトリかどうかを判断するための同様の確認が行われる。これらの確認のいずれかが成功すれば、処理はステップＳ３０に進み、テンプレートエンティティに関連付けられた検索文字列が、現在処理されているファイルシステムオブジェクトの名前と比較される。ステップＳ３１で、合致についての確認が行われる。もし、合致していることが検出されると、捜し当てられたテンプレートエンティティは、ステップＳ３２に戻り、処理が終了する。
【００７２】
ステップＳ２８とステップＳ２９において、タイプの合致が見つからなければ、処理はステップＳ３３に進み、テンプレートがファイルとディレクトリのいずれにも関連付けられていなければ、現在処理されているファイルシステムオブジェクトが、テンプレートエンティティの検索文字列に合致する名前を持つかどうかを判断するための確認が行われる。合致すれば、処理は、再度ステップＳ３２に進み、捜し当てられたテンプレートエンティティが返される。
【００７３】
ステップＳ３３で合致が見つからなければ、現在処理されているテンプレートエンティティが、現在処理されているファイルシステムオブジェクトに合致しないことが判断されうる。ステップＳ３４で、処理するテンプレートエンティティがさらにあるかどうかを判断するための確認が行われる。さらに処理するテンプレートエンティティが見つからなければ、ＮＵＬＬの値がステップＳ３５で返される。さらに処理するテンプレートエンティティがあれば、図２４の処理が、ステップＳ３６でテンプレートエンティティの一つに適用される。ステップＳ３７で、ステップＳ３６の処理がＮＵＬＬで返されたかどうかを判断するための確認が行われる。ＮＵＬＬが返された場合は、処理はステップＳ３４に戻る。テンプレートエンティティが返された場合は、処理はステップＳ３８に進み、捜し当てられたテンプレートエンティティが返される。
【００７４】
図２５を参照すると、図２３のステップＳ２３の処理がさらに詳細に示されている。ステップＳ２３は、エンティティの必須の構造がより高い階層レベルで存在することを確実にすることに関することが、思い出される。ステップＳ３９で、全ての既存のエンティティがデータベースから検索される。ステップＳ４０で、処理されるエンティティをサポートするのに必要なエンティティの階層が決定され、これらのエンティティの一つが処理するために選択される。ステップＳ４１で、必須のテンプレートエンティティに対応するエンティティが存在するかどうかを判断するための確認が行われる。適当なエンティティが見つかれば、このエンティティは、ステップＳ４２で現在処理されているエンティティに関連付けられる。そうでなければ、適当なエンティティがステップＳ４３で生成される。
【００７５】
ステップＳ４４で、この生成された又は使用されたエンティティの構造が、上述した階層構造と対照して確認され、処理されるファイルを表すエンティティをサポートするのに必要な階層が生成されるまで、処理が続き、適当なエンティティがステップＳ２５で返される。
【００７６】
図２２〜図２５のフローチャートを参照して、本発明の実施形態で実行される処理を説明した。次に、本発明を実行するのに使用されるＪａｖａクラスについて、図２６〜図３１を参照して説明する。
【００７７】
まず、図２６を参照すると、本発明を実行するためのキーである、クラスの統一モデリング言語（ＵＭＬ）の図が示されている。階層的に配置された４つのクラスが示されていることがわかる。ImageBase.Wrapperクラス１２０は、３つのクラス、ImageBase.EntityValueクラス１２１とImageBase.Entityクラス１２２とImageBase.Templateクラス１２３、のスーパークラスである。以下、これらのクラスの使用について、さらに詳細を記述する。但し、ImageBase.Entityクラス１２２のインスタンス化により生成されるオブジェクトは、ImageBase.EntityValueクラス１２１のインスタンス化における複数のオブジェクトにより構成されることに留意すべきである。また、各ImageBase.Entityオブジェクトは、他のImageBase.Entityオブジェクトと複数の関係を持つことができ、これにより、階層を提供することに留意すべきである。さらに、ImageBase.Entityクラス１２２は、ImageBase.Templateクラス１２３のオブジェクトと一対一の関係を持つことに留意すべきである。テンプレートオブジェクトは、エンティティクラスのオブジェクトと２つの一対一の関係を持つ。一つはルートのテンプレートクラスであり、他方はテンプレートが表すエンティティである。
【００７８】
図２７を参照すると、DirectorySearcherオブジェクト１２４が示されている。DirectorySearcherオブジェクトは、上述したテンプレートを使用してデータベースのテーブルのデータ入力を引き起こす、main()メソッドを含む。これに関し、DirectorySearcherオブジェクトは、ImageBase.Templateクラス１２３のインスタンス化である、ImageBase.Templateオブジェクト１２３ａとの関係を持つことがわかる。各DirectorySearcherオブジェクトは、複数のImageBase.Templateオブジェクトとの関係を持つ。図２７は、上述したように適当に命名されたクラスのインスタンス化である、ImageBase.Templateオブジェクト１２３ａ、ImageBase.Entityオブジェクト１２２ａ、及びImageBase.EntityValueオブジェクト１２１ａ間の関係を示している。
【００７９】
図２７は、ImageBase.Templateオブジェクト１２３によりインスタンス化される特定のエンティティを表すさらなるImageBase.Entityオブジェクト１２２ｂを示している。ImageBase.Entityオブジェクトは、ImabeBase.EntityValueオブジェクト１２１ｂと関係がある。ImageBase.Entityオブジェクト１２２ａは、ImageBase.Templateオブジェクト１２３ａのテンプレートに関連付けられたエンティティを識別することに留意すべきである。その一方で、ImageBase.Entityオブジェクト１２２ｂは、ImageBase.Templateオブジェクト１２３ａにより表されるそれぞれのテンプレートの動作によりインスタンス化されるエンティティを表す。以下、これについて、図２８を参照して、さらに詳細を説明する。
【００８０】
図２８は、一つのテンプレートが形成される場合における、本発明の動作を示すシーケンス線図である。形成されたテンプレートは、トライアルエンティティ（TrialEntity）と命名された、関連付けられたエンティティと、ルートテンプレート（RootTemplate）と命名されたルートのテンプレートエンティティとを含む。
【００８１】
図２８を参照すると、DirectorySearcherオブジェクトに関連付けられたmain()メソッドが呼び出される。これにより、各テンプレートは順に処理される。但し、図示された実施形態の場合は、一つのテンプレートしか存在していないことに留意すべきである。DirectorySearcherオブジェクト１２４のmain()メソッドは、テンプレート（Template）オブジェクト１２７に関連付けられたreadDirectory()メソッドを呼び出す。これにより、順に、readDirectory()メソッドが、トライアルエンティティ（TrialEntity）オブジェクト１２８に対して呼び出される。トライアルエンティティオブジェクトは、処理されるディレクトリに関連付けられたエンティティである。トライアルエンティティオブジェクト１２８についてのreadDirectory()メソッドの呼び出しは、ルートテンプレート（RootTemplate）オブジェクト１２９についてのgetBestTemplateEntityFor()メソッドを順に呼び出して、読み出したディレクトリ内で捜し当てられたファイルを処理する。ファイルが、ルートテンプレートオブジェクト１２９のインスタンス化の基準を満足していなければ、getBestTemplateEntityFor()メソッドは、ルートテンプレートオブジェクト１２９の子（Child）エンティティ１３０に対して呼び出される。最下位の階層に達すると、子エンティティ１３０の識別子が、ルートテンプレートオブジェクト１２９に返される。ルートテンプレートオブジェクト１２９は、同様に、この参照をトライアルエンティティオブジェクト１２８に戻す。この段階で、子エンティティ１３０が、処理されるファイルを表すようにインスタンス化されるエンティティであることが決定されうる。トライアルエンティティオブジェクト１２８は、子エンティティ１３０に対してcopy()メソッドを呼び出す。それから、子エンティティ１３０は、子エンティティ１３１のコピーを生成するcreate()メソッドを呼び出す。また、トライアルエンティティオブジェクト１２８は、そのオブジェクトにより提供される、捜し当てられた画像の名前の詳細を提供するsetValueメソッドと、階層データを生成するgetRootToメソッドを使用して、生成されたエンティティ１３１の名前を設定する。これらのメソッドのそれぞれによって、子エンティティオブジェクト１３１からトライアルエンティティ１２８にデータが返される。このとき、処理は、テンプレート１２７を介して、DirectorySearcher１２４に返される。
【００８２】
一般論として、getBestTemplateForメソッドは、合致が見つかるまで、又は処理されるテンプレートエンティティがなくなるまで、順にテンプレートエンティティ内の各エンティティについて、再帰的に呼び出されることに留意すべきである。
【００８３】
Ｊａｖａクラスがどのように相互に作用して本発明の実施形態を実行するかについて記述した。次に、例示的な実施形態において生成されるオブジェクトについて説明する。図２９は、本発明の例示的な実施形態において生成されるオブジェクトを示すインスタンスの図である。Trial1templateオブジェクト１３２が、RootOfTemplateTreeオブジェクト１３３と関係していることがわかる。RootOfTemplateTreeオブジェクト１３３は、Trial1template１３２に関連付けられたオブジェクトである。RootOfTemplateTreeオブジェクトは、Trialエンティティ１３４をその子として持ち、Trialエンティティ１３４は同様にその子としてDay1エンティティ１３５を持つ。Day1エンティティ１３５は、２つの子エンティティ、Day1Rightエンティティ１３６とDay1Leftエンティティ１３７とを持つ。Day1Rightエンティティ１３６は、２つの関連付けられたエンティティ値１３８、１３９を持ち、Day1Leftエンティティは２つの関連付けられたエンティティ値１４０、１４１を持つことがわかる。
【００８４】
図３０は、図２９に示されたオブジェクトを使用して処理されうるディレクトリ構造の一部である。具体的には、ディレクトリ“0001”１４２は、２つの画像ファイル、第１の画像ファイル“0001Day1Left”１４３と第２の画像ファイル“0001Day1Right”１４４とを含む。Day1Rightエンティティ１３６とDay1Leftエンティティ１３７とに関連付けられた規則により、ルーチンとして、0001Day1Left画像１４３がDay1Leftエンティティ１３７に関連付けられ、0001Day1Rightファイル１４４がDay1Rightエンティティ１３６に関連付けられる。
【００８５】
図３１は、図３０に示されるものに関連するさらなるインスタンスの図である。第１のオブジェクト0001  １４５が、ディレクトリ“0001”１４２（図３０）を表すことがわかる。同様に、オブジェクト0002  １４６が、ディレクトリ“0002”１４７を表している。上述したタイプのテンプレートの動作により、ファイル１４３、１４４をそれぞれ表すようにインスタンス化されたオブジェクト１４９、１５０で、Day1エンティティオブジェクト１４８がインスタンス化されることがわかる。オブジェクト１４９、１５０のそれぞれは、エンティティ値（EntityValue）オブジェクトに関連付けられている。エンティティ値オブジェクト１５１、１５２は、オブジェクト１４９に関連付けられ、エンティティ値オブジェクト１５３、１５４は、オブジェクト１５０に関連付けられている。
【００８６】
本発明の好ましい実施形態について上述したけれども、これらの実施形態について、本発明の精神と範囲から離れることなしに、添付の特許請求の範囲で規定されるように、種々の変形が可能であることは明らかである。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施形態を実行するのに使用されるコンピュータシステムの概略図
【図２】本発明の実施形態の概略図
【図３】図２のデータベースによって表されるエンティティの概略図
【図４】本発明の実施形態において使用されるデータベースのエンティティの関係図
【図５】図４に示されるテーブルの概略図
【図６】図４に示されるテーブルの概略図
【図７】図４に示されるテーブルの概略図
【図８】図４に示されるテーブルの概略図
【図９】図４に示されるテーブルの概略図
【図１０】図４に示されるテーブルの概略図
【図１１】図４に示されるテーブルの概略図
【図１２】図４に示されるテーブルの概略図
【図１３】図４に示されるテーブルの概略図
【図１４】図４に示されるテーブルの概略図
【図１５】図４に示されるテーブルの概略図
【図１６】図４のデータベースに格納されるデータにアクセスするのに使用されるＧＵＩのスクリーンショット
【図１７】図４のデータベースに格納されるエンティティと関連するデータを見るのに用いられるＧＵＩのスクリーンショット
【図１７ａ】図１７で示されるＧＵＩにより提供されるメニューのスクリーンショット
【図１８】図１７のＧＵＩに示されるエンティティを形成するのに使用されるＧＵＩのスクリーンショット
【図１８ａ】プログラムの特徴を特定するのに用いられるＧＵＩのスクリーンショット
【図１９】図４のデータベースにデータを格納するのに使用されるテンプレートを規定するのに用いられるＧＵＩのスクリーンショット
【図１９ａ】オーディットトレイルを示すＧＵＩのスクリーンショット
【図２０】図１９のＧＵＩを用いて規定されるテンプレート内のテンプレートエンティティを構成するのに用いられるＧＵＩのスクリーンショット
【図２１】図２０のＧＵＩの一部を示すさらに詳細な図
【図２２】画像ファイルをエンティティの階層に追加するのに使用される方法のフローチャート
【図２３】図２２の方法の一部をさらに詳細に示すフローチャート
【図２４】図２３の方法の一部をさらに詳細に示すフローチャート
【図２５】図２３の方法の一部をさらに詳細に示すフローチャート
【図２６】本発明を実行するのに用いられるＪａｖａクラスのクラス図
【図２７】本発明の実施形態を用いたクラス間の関係を示すクラス図
【図２８】図２７のクラスがどのように相互に作用して本発明を実行するかを示すシーケンス線図
【図２９】本発明の典型的な実施形態のインスタンスの図
【図３０】図２９のインスタンス図により示される本発明の典型的な実施形態に関連付けられたスクリーンショット
【図３１】図２９のインスタンス図に関連するさらなるインスタンス図
【図１】
2009501989.tif 000002
【図２】
2009501989.tif 000003
【図３】
2009501989.tif 000004
【図４】
2009501989.tif 000005
【図５】
2009501989.tif 000006
【図６】
2009501989.tif 000007
【図７】
2009501989.tif 000008
【図８】
2009501989.tif 000009
【図９】
2009501989.tif 000010
【図１０】
2009501989.tif 000011
【図１１】
2009501989.tif 000012
【図１２】
2009501989.tif 000013
【図１３】
2009501989.tif 000014
【図１４】
2009501989.tif 000015
【図１５】
2009501989.tif 000016
【図１６】
2009501989.tif 000017
【図１７】
2009501989.tif 000018
【図１７ａ】
2009501989.tif 000019
【図１８】
2009501989.tif 000020
【図１８ａ】
2009501989.tif 000021
【図１９】
2009501989.tif 000022
【図１９ａ】
2009501989.tif 000023
【図２０】
2009501989.tif 000024
【図２１】
2009501989.tif 000025
【図２２】
2009501989.tif 000026
【図２３】
2009501989.tif 000027
【図２４】
2009501989.tif 000028
【図２５】
2009501989.tif 000029
【図２６】
2009501989.tif 000030
【図２７】
2009501989.tif 000031
【図２８】
2009501989.tif 000032
【図２９】
2009501989.tif 000033
【図３０】
2009501989.tif 000034
【図３１】
2009501989.tif 000035