【手続補正書】
【提出日】平成24年5月9日(2012.5.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１又はそれより多くのプロセッサ及びメモリを含むコンピュータシステム内に実装された、仮想化データがオブジェクトにアクセスするデータプロバイダを作成することにより、前記オブジェクトの複数のプロパティのサブセットに前記オブジェクト全体を構築することなしにアクセスできるようにする方法であって、前記メモリは、前記１またはそれより多くのプロセッサにより実行された場合に、前記方法を実装する命令を格納し、前記方法は、
複数のプロパティを有するオブジェクトのシンタックスツリーの少なくとも部分を記述するデータ構造ステートメントを受信する前記１またはそれより多くのプロセッサを含むコンピュータシステムの動作であって、前記複数のプロパティの少なくとも１つの値はクエリ式の実行により決定でき、前記データ構造ステートメントは、
前記データ構造ステートメントによって前記構造が表されるオブジェクトのタイプの指標と、
各々が前記オブジェクトのプロパティを特定する１つまたは複数のプロパティ識別子と、
１またはそれより多くのマッピングであって、マッピングの各々は、プロパティ識別子を、対応するクエリ式にマッピングし、対応する前記クエリ式は、対応する前記プロパティ識別子によって特定される前記オブジェクトの前記プロパティについての値の計算の仕方を示す、マッピングと、
を含む、動作と、
前記データ構造ステートメントを受信することに応答して、データプロバイダを作成する前記コンピュータシステムの動作であって、前記データプロバイダがデータアクセスを前記オブジェクトに仮想化し、前記データ構造ステートメントに基づいてオブジェクトの構造の一部を作成することにより、オブジェクトにおけるクエリの遅延評価を容易にし、前記オブジェクトの前記構造の一部は、前記データ構造ステートメント全体を評価する必要なしにまたは前記オブジェクト全体を完全に構築する必要なしに前記オブジェクトの前記１またはそれより多くのプロパティに対応する１またはそれより多くのクエリ式を実行することにより前記オブジェクトの前記１またはそれより多くのプロパティの値へのアクセスを提供し、前記データプロバイダは、
前記データ構造ステートメントに対する参照であって、前記参照は、前記データ構造ステートメントのタイプ、プロパティ識別子、及び対応するマッピング手段への参照手段を中間的に含む、動作と
を含むことを特徴とするコンピュータシステム。
【請求項２】
前記データ構造ステートメントを受信する動作は、前記データ構造ステートメントによって記述された前記仮想化されたオブジェクトのプロパティに対するあらゆるクエリの提示の前に、評価のための前記データ構造ステートメントを提示するユーザ入力を受信する動作を含むことを特徴とする請求項１記載の方法。
【請求項３】
前記データ構造ステートメントを受信する動作は、既存のデータプロバイダから前記データ構造ステートメントを受信する動作を含み、前記データ構造ステートメントは、前記既存のデータプロバイダの前記プロパティのマッピング手段からのクエリ式内に含まれていることを特徴とする請求項１記載の方法。
【請求項４】
前記データプロバイダ内の前記プロパティの値を求めるデータコンシューマからの要求を受信する動作と、
前記特定されたプロパティに対応するクエリ式を見つけるために前記対応する１つまたは複数のマッピング手段を参照する動作と、
前記プロパティについてのプロパティ値を得るために前記クエリ式を評価する動作と、
前記プロパティ値を前記データコンシューマに返す動作と、
を含むことを特徴とする請求項１記載の方法。
【請求項５】
前記プロパティについてのプロパティ値を得るために前記クエリ式を評価する動作は、前記クエリ式を評価して前記プロパティについての実際のプロパティ値を得る動作を含むことを特徴とする請求項４記載の方法。
【請求項６】
前記クエリ式を評価して前記プロパティについての実際のプロパティ値を得る動作は、データレポジトリを参照する動作を含むことを特徴とする請求項５記載の方法。
【請求項７】
前記データレポジトリを参照する動作は、前記データレポジトリを参照して、前記データ構造ステートメントによって記述されているあらゆる他のプロパティの値を計算するためのデータにアクセスすることなしに、前記実際のプロパティ値を計算するためのデータにアクセスする動作を含むことを特徴とする請求項６記載の方法。
【請求項８】
前記クエリ式を評価して前記プロパティについてのプロパティ値を得る動作は、前記クエリ式を評価して更なるデータプロバイダを取得する動作を含み、前記更なるデータプロバイダは、前記データプロバイダからの前記プロパティ値を仮想化することを特徴とする請求項４記載の方法。
【請求項９】
前記クエリ式を評価して更なるデータプロバイダを取得する動作は、前記データプロバイダに含まれる更なるデータ構造ステートメントを評価して更なるデータプロバイダを作成する動作を含むことを特徴とする請求項８記載の方法。
【請求項１０】
プロセッサ及びメモリを含むコンピュータシステム内に実装された、データプロバイダを利用してオブジェクトへのデータアクセスを仮想化するクエリエバリュエータを使用してクエリに応答することにより、前記オブジェクトの全体を構成することなしに前記オブジェクトの複数のプロパティのサブセットがクエリエバリュエータにアクセスできるようにする方法であって、前記メモリは、前記１またはそれより多くのプロセッサにより実行された場合に、前記方法を実装する命令を格納し、前記方法は、
プロパティ値アクセスクエリを受信する１またはそれより多くのプロセッサを含むコンピュータシステムの動作であって、前記プロパティ値アクセスクエリは、前に受信した複数のプロパティを有するオブジェクトのシンタックスツリーの少なくとも一部を記述するデータ構造ステートメントにおいて特定されたプロパティのプロパティ値をクエリし、前記複数のプロパティの少なくとも１つの値はクエリ式の実行により決定できる、動作と、
前記プロパティ値アクセスクエリに含まれるデータに基づいて前記前に受信したデータ構造ステートメントから作成したデータプロバイダを特定する前記コンピュータシステムの動作であって、前記データプロバイダが前記オブジェクトへのデータアクセスを仮想化して、前記データ構造ステートメント基づいて前記オブジェクトの構造の一部を作成することにより前記オブジェクトにおけるクエリの遅延評価を容易にし、前記オブジェクトの前記構造の一部は、前記データ構造ステートメント全体を評価する必要なしにまたは前記オブジェクト全体を完全に作成する必要なしに前記オブジェクトの前記１またはそれより多くのプロパティに対応する１またはそれより多くのクエリ式を実行することにより前記オブジェクトの前記１またはそれより多くのプロパティの値へのアクセスを提供する、動作と
前記クエリエバリュエータに付随する既知の場所に前記特定されたデータプロバイダを配する前記コンピュータシステムの動作と、
前記プロパティ値アクセスクエリについてのデータコンシューマを作成する前記コンピュータシステムの動作と、
前記既知の場所から、前記特定されたデータプロバイダにアクセスする前記データコンシューマの動作と、
前記データプロバイダに、前記特定されたプロパティの前記プロパティ値を要求する前記データコンシューマの動作と、
前記データプロバイダから前記特定されたプロパティの前記プロパティ値を受信する前記データコンシューマの動作と、
更なる処理のために前記受信したプロパティ値を前記既知の場所に配する前記データコンシューマの動作と、
を含むことを特徴とする方法。
【請求項１１】
前記データプロバイダから前記特定されたプロパティの前記プロパティ値を受信する前記データコンシューマの前記動作は、前記データプロバイダから前記プロパティの前記実際のプロパティ値を受信する前記データコンシューマの動作を含むことを特徴とする請求項１０記載の方法。
【請求項１２】
前記データプロバイダから前記プロパティの前記実際のプロパティ値を受信する動作は、前記前に受信したデータ構造ステートメントによって記述された他のプロパティについてのクエリ式を評価する必要なしに前記プロパティの前記実際のプロパティ値を受信する動作を含むことを特徴とする請求項１０記載の方法。
【請求項１３】
前記データプロバイダから前記特定されたプロパティの前記プロパティ値を受信する前記データコンシューマの前記動作は、前記データプロバイダから更なるデータプロバイダを受信する前記データコンシューマの動作を含み、前記更なるデータプロバイダは、前記データプロバイダからの前記プロパティ値を仮想化することを特徴とする請求項１０記載
の方法。
【請求項１４】
前記更なる処理のために前記受信したプロパティ値を前記既知の場所に配する前記データコンシューマの前記動作は、前記既知の場所に前記プロパティの前記実際のプロパティ値を配する前記データコンシューマの動作を含むことを特徴とする請求項１０記載の方法。
【請求項１５】
前記更なる処理のために前記受信したプロパティ値を前記既知の場所に配する前記データコンシューマの前記動作は、前記既知の場所に更なるデータプロバイダを配する動作を含み、前記更なるデータプロバイダは、前記データプロバイダからの前記プロパティ値を仮想化することを特徴とする請求項１０記載の方法。
【請求項１６】
前記プロパティ値アクセスクエリについての更なるデータコンシューマを作成する動作と、
前記既知の場所から前記更なるデータプロバイダにアクセスする前記更なるデータコンシューマの動作と、
前記更なるデータプロバイダに前記特定されたプロパティの前記プロパティ値を要求する前記更なるデータコンシューマの動作と、
前記更なるデータプロバイダから前記特定されたプロパティの前記プロパティ値を受信する前記データコンシューマの動作と、
更なる処理のために前記受信したプロパティ値を前記既知の場所に配する前記データコンシューマの動作と、
を更に含むことを特徴とする請求項１５記載の方法。
【請求項１７】
前記プロパティの前記プロパティ値を受信する前記動作は、前記前に受信したデータ構造ステートメントによって記述されたプロパティについてのクエリ式を評価するためにデータレポジトリを参照する必要なしにかつ前記更なるデータ構造ステートステートメントによって記述された他のプロパティについてのクエリ式を評価する必要なしに、前記プロパティの前記実際のプロパティ値を受信する動作を含むことを特徴とする請求項１６記載の方法。
【請求項１８】
プロパティ値アクセスクエリを受信する動作であって、前記プロパティ値アクセスクエリは、前記データ構築ステートメントからのプロパティ識別子を含む、動作と、
前記プロパティ識別子に基づいて前記プロパティ値アクセスクエリに応答する前記最初のデータプロバイダを特定する動作と、
前記クエリエバリュエータに付随する既知の場所に前記最初のデータプロバイダを配する動作と、
前記プロパティ値アクセスクエリについてのデータコンシューマを作成する動作と、
前記既知の場所から、前記最初のデータプロバイダにアクセスする前記データコンシューマの動作と、
前記最初のデータプロバイダに、前記特定されたプロパティの前記プロパティ値を要求する前記データコンシューマの動作と、
前記前に受信したデータ構造ステートメントから、前記特定されたプロパティに対応するクエリ式を調べる前記最初のデータプロバイダの動作と、
前記クエリ式を評価して前記プロパティについてのプロパティ値を取得する動作と、
前記取得したプロパティ値を前記データコンシューマに返す前記最初のデータプロバイダの動作と、
更なる処理のために前記受信したプロパティ値を前記既知の場所に配する前記データコンシューマの動作と、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１９】
前記クエリ式を評価して前記プロパティについてのプロパティ値を取得する動作は、データベースのデータにアクセスする動作を含むことを特徴とする請求項１８記載の方法。
【請求項２０】
前記クエリ式を評価して前記プロパティについてのプロパティ値を取得する動作は、更なるデータプロバイダを構築する動作を含むことを特徴とする請求項１８記載の方法。