【手続補正書】
【提出日】令和2年5月28日(2020.5.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングデバイスが実行する方法であって、
プログラムコード内の複数のクエリを検出するステップと、
前記クエリが前記プログラムコード内で評価されるまでの遅延を拡大させるステップと、
前記プログラムコードの実行中に、前記複数のクエリが実行される前記コンピューティングデバイスの実行時の条件を決定するステップと、
遅延を拡大させた前記クエリが、データセットを取得し、前記データセットをソートし、ソートされた前記データセットのサブセットを利用するように構成されていることを決定するステップと、
前記プログラムコードの実行中に、決定された前記実行時の条件に関し、遅延を拡大させた前記クエリよりも効率的に評価する機能的に等価なクエリセットを、前記データセットの取得を最小化するルールに基づき生成するステップであって、前記ルールはルールセットに含まれ、前記ルールセットは、前記機能的に等価なクエリセットを、遅延を拡大させた前記クエリが、前記データセットを取得し、前記データセットをソートし、ソートされた前記データセットの前記サブセットを利用するように構成されていることを決定する前記ステップに応答して決定する、ステップと
を含み、
前記機能的に等価なクエリセットは、前記データセットの前記サブセットを、前記データセットの全体を取得すること及び前記データセットをソートすることの代わりに取得するよう構成された、方法。
【請求項２】
請求項１に記載の方法であって、前記クエリが前記プログラムコード内で評価されるまでの遅延を拡大させる前記ステップは、
前記クエリのうちの評価延期可能な１つまたは複数を検出するステップと、
前記１つまたは複数の評価延期可能なクエリを含む単一のクエリ式を形成するステップと
を含む、方法。
【請求項３】
請求項１に記載の方法であって、生成する前記ステップは、
複数のクエリコンポーネント間の共通の論理的な前後関係を決定するステップと、
前記共通の論理的な前後関係に対応する前記ルールセットの第２のルールを前記複数のクエリコンポーネントに適用するステップと
を含む、方法。
【請求項４】
請求項１に記載の方法であって、生成された前記機能的に等価なクエリセットは、前記複数のクエリのクエリ結果より少ないメモリ空間しか消費せずにクエリ結果を生成することと、前記複数のクエリより実行の時間がかからずにクエリ結果を生成することと、前記複数のクエリより少ないネットワーク帯域幅しか消費せずにクエリ結果を生成することと、前記複数のクエリより少ない処理能力しか消費せずにクエリ結果を生成することとのうちの少なくとも１つによって、前記複数のクエリよりも効率的に評価する、方法。
【請求項５】
請求項１に記載の方法であって、生成する前記ステップは、
複数の候補となる機能的に等価なクエリセットを生成するために、前記ルールセットのルールの複数の組合せのクエリコンポーネントへの適用を評価するステップと、
前記複数の候補となる機能的に等価なクエリセットのうち、最大効率ゲインを有する１つの候補となる機能的に等価なクエリセットを選択して、生成された前記機能的に等価なクエリセットとするステップと
を含む、方法。
【請求項６】
請求項１に記載の方法であって、生成する前記ステップは、
複数の候補となる機能的に等価なクエリセットを生成するために、前記ルールセットのルールの複数の組合せのクエリコンポーネントへの適用を、実行中に評価するステップと、
前記複数の候補となる機能的に等価なクエリセットのうち、最大効率ゲインを有する１つの候補となる機能的に等価なクエリセットを実行中に選択して、生成された前記機能的に等価なクエリセットとするステップと
を含む、方法。
【請求項７】
請求項６に記載の方法であって、前記候補となる機能的に等価なクエリセットのうちの１つまたは複数によってもたらされる効率性の向上は、実行時の実行条件に少なくとも部分的に依存する、方法。
【請求項８】
請求項１に記載の方法であって、
機械学習を使用して少なくとも１つのルールを生成して前記ルールセットに追加するステップ
をさらに含む方法。
【請求項９】
少なくとも１つのプロセッサ回路と、
プログラムを格納する少なくとも１つのメモリと
を含むコンピューティングデバイスであって、前記プログラムは前記少なくとも１つのプロセッサ回路に演算を行わせ、前記演算は、
前記プログラムに含まれるかまたは含まれないプログラムコード内の複数のクエリを検出するステップと、
前記クエリが前記プログラムコード内で評価されるまでの遅延を拡大させるステップと、
前記プログラムコードの実行中に、前記複数のクエリが実行される前記コンピューティングデバイスの実行時の条件を決定するステップと、
遅延を拡大させた前記クエリが、データセットを取得し、前記データセットをソートし、ソートされた前記データセットのサブセットを利用するように構成されていることを決定するステップと、
前記プログラムコードの実行中に、決定された前記実行時の条件に関し、遅延を拡大させた前記クエリよりも効率的に評価する機能的に等価なクエリセットを、前記データセットの取得を最小化するルールに基づき生成するステップであって、前記ルールはルールセットに含まれ、前記ルールセットは、前記機能的に等価なクエリセットを、遅延を拡大させた前記クエリが、前記データセットを取得し、前記データセットをソートし、ソートされた前記データセットの前記サブセットを利用するように構成されていることを決定する前記ステップに応答して決定する、ステップと
を含み、
前記機能的に等価なクエリセットは、前記データセットの前記サブセットを、前記データセットの全体を取得すること及び前記データセットをソートすることの代わりに取得するよう構成された、
コンピューティングデバイス。
【請求項１０】
請求項９に記載のコンピューティングデバイスであって、前記クエリが前記プログラムコード内で評価されるまでの遅延を拡大させる前記ステップは、
前記クエリのうちの評価延期可能な１つまたは複数を検出するステップと、
前記１つまたは複数の評価延期可能なクエリを含む単一のクエリ式を形成するステップと
を含む、コンピューティングデバイス。
【請求項１１】
請求項９に記載のコンピューティングデバイスであって、生成する前記ステップは、
複数のクエリコンポーネント間の共通の論理的な前後関係を決定するステップと、
前記共通の論理的な前後関係に対応する前記ルールセットの第２のルールを前記複数のクエリコンポーネントに適用するステップと
を含む、コンピューティングデバイス。
【請求項１２】
請求項９に記載のコンピューティングデバイスであって、生成する前記ステップは、
複数の候補となる機能的に等価なクエリセットを生成するために、前記ルールセットのルールの複数の組合せのクエリコンポーネントへの適用を評価するステップと、
前記複数の候補となる機能的に等価なクエリセットのうち、最大効率ゲインを有する１つの候補となる機能的に等価なクエリセットを選択して、生成された前記機能的に等価なクエリセットとするステップと
を含む、コンピューティングデバイス。
【請求項１３】
請求項９に記載のコンピューティングデバイスであって、生成する前記ステップは、
複数の候補となる機能的に等価なクエリセットを生成するために、前記ルールセットのルールの複数の組合せのクエリコンポーネントへの適用を、実行中に評価するステップと、
前記複数の候補となる機能的に等価なクエリセットのうち、最大効率ゲインを有する１つの候補となる機能的に等価なクエリセットを実行中に選択して、生成された前記機能的に等価なクエリセットとするステップと
を含む、コンピューティングデバイス。
【請求項１４】
請求項１３に記載のコンピューティングデバイスであって、前記候補となる機能的に等価なクエリセットのうちの１つまたは複数によってもたらされる効率性の向上は、実行時の実行条件に少なくとも部分的に依存する、コンピューティングデバイス。
【請求項１５】
請求項９に記載のコンピューティングデバイスであって、前記演算は、
機械学習を使用して少なくとも１つのルールを生成して前記ルールセットに追加するステップ
をさらに含む、コンピューティングデバイス。
【請求項１６】
少なくとも１つのプロセッサ回路と、
プログラムを格納する少なくとも１つのメモリと
を含むコンピューティングデバイスであって、前記プログラムは、前記少なくとも１つのプロセッサ回路を、
前記プログラムに含まれるかまたは含まれないプログラムコード内の複数のクエリを検出するよう構成されたクエリ検出器と、
前記クエリが前記プログラムコード内で評価されるまでの遅延を拡大させるように構成れた遅延エクステンダーと、
等価クエリセットジェネレーターと
として機能させ、前記等価クエリセットジェネレーターは、
前記プログラムコードの実行中に、前記複数のクエリが実行される前記コンピューティングデバイスの実行時の条件を決定することと、
遅延を拡大させた前記クエリが、データセットを取得し、前記データセットをソートし、ソートされた前記データセットのサブセットを利用するように構成されていることを決定することと、
前記プログラムコードの実行中に、決定された前記実行時の条件に関し、遅延を拡大させた前記クエリよりも効率的に評価する機能的に等価なクエリセットを、前記データセットの取得を最小化するルールに基づき生成することであって、前記ルールはルールセットに含まれ、前記ルールセットは、前記機能的に等価なクエリセットを、遅延を拡大させた前記クエリが、前記データセットを取得し、前記データセットをソートし、ソートされた前記データセットの前記サブセットを利用するように構成されていることの前記決定に応答して決定する、生成することと
を行うように構成され、
前記機能的に等価なクエリセットは、前記データセットの前記サブセットを、前記データセットの全体を取得すること及び前記データセットをソートすることの代わりに取得するよう構成された、
コンピューティングデバイス。
【請求項１７】
請求項１６に記載のコンピューティングデバイスであって、前記遅延エクステンダーは、
前記クエリのうちの評価延期可能な１つまたは複数を検出し、
前記１つまたは複数の評価延期可能なクエリを含む単一のクエリ式を形成する
ことによって遅延を拡大させるように構成された、コンピューティングデバイス。
【請求項１８】
請求項１６に記載のコンピューティングデバイスであって、前記等価クエリセットジェネレーターは、
複数のクエリコンポーネント間の共通の論理的な前後関係を決定し、
前記共通の論理的な前後関係に対応する前記ルールセットの第２のルールを前記複数のクエリコンポーネントに適用する
ことによって前記機能的に等価なクエリセットを生成するように構成された、コンピューティングデバイス。
【請求項１９】
請求項１６に記載のコンピューティングデバイスであって、前記等価クエリセットジェネレーターは、
複数の候補となる機能的に等価なクエリセットを生成するために、前記ルールセットのルールの複数の組合せのクエリコンポーネントへの適用を、実行中に評価し、
前記複数の候補となる機能的に等価なクエリセットのうち、最大効率ゲインを有する１つの候補となる機能的に等価なクエリセットを実行中に選択して、生成された前記機能的に等価なクエリセットとする
ことによって前記機能的に等価なクエリセットを生成するように構成された、コンピューティングデバイス。
【請求項２０】
請求項１９に記載のコンピューティングデバイスであって、前記候補となる機能的に等価なクエリセットのうちの１つまたは複数によってもたらされる効率性の向上は、実行時の実行条件に少なくとも部分的に依存する、コンピューティングデバイス。