(57)【要約】【解決手段】キャッシュクエリ要求の生成が開示されている。キャッシュクエリ要求の生成は、デバイスからユーザクエリを受信し、ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成し、表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成し、キャッシュに格納されているキャッシュクエリ要求に対応する検索結果を特定し、表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、キャッシュクエリ要求に対応する検索結果の少なくとも一部を抽出することを含む。【選択図】図３
2016531367.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
デバイスからユーザクエリを受信し、前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するよう構成されている受信モジュールと、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するよう構成されている変換モジュールと、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するよう構成されているクエリモジュールと、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するよう構成されている抽出・返送モジュールと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、前記ユーザクエリは、１または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、ページごと表示タイプ識別子を含む、システム。
【請求項３】
請求項１に記載のシステムであって、前記ユーザクエリは、１または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、カスケード表示タイプ識別子を含む、システム。
【請求項４】
請求項１に記載のシステムであって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている１または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
【請求項５】
請求項１に記載のシステムであって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている１または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
【請求項６】
請求項５に記載のシステムであって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、１）前記キャッシュ粒度の倍数であること、２）前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、３）前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、システム。
【請求項７】
請求項１に記載のシステムであって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、システム。
【請求項８】
請求項１に記載のシステムであって、前記抽出・返送モジュールは、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信するよう構成されている、システム。
【請求項９】
請求項１に記載のシステムであって、前記クエリモジュールは、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を、前記キャッシュに関連付けられている前記キーに対応する値として格納するよう構成されている、システム。
【請求項１０】
請求項１に記載のシステムであって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、システム。
【請求項１１】
請求項１に記載のシステムであって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求のそれぞれに関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、システム。
【請求項１２】
方法であって、
デバイスからユーザクエリを受信し、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成し、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成し、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定し、
１または複数のプロセッサを用いて、前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出すること、
を備える、方法。
【請求項１３】
請求項１２に記載の方法であって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている１または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
【請求項１４】
請求項１２に記載の方法であって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている１または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
【請求項１５】
請求項１４に記載の方法であって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、１）前記キャッシュ粒度の倍数であること、２）前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、３）前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、方法。
【請求項１６】
請求項１２に記載の方法であって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、方法。
【請求項１７】
請求項１２に記載の方法であって、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信することを備える、方法。
【請求項１８】
請求項１２に記載の方法であって、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュに関連付けられている前記キーに対応する値として格納すること、
を備える、方法。
【請求項１９】
請求項１２に記載の方法であって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、方法。
【請求項２０】
請求項１２に記載の方法であって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求に関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、方法。
【請求項２１】
コンピュータプログラム製品であって、持続性のコンピュータ読み取り可能な記憶媒体を備え、
デバイスからユーザクエリを受信するための命令と、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するための命令と、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するための命令と、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するための命令と、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するための命令と、
を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の相互参照
本願は、すべての目的のために参照により本明細書に組み込まれる、２０１３年８月２１日出願の発明の名称を「Ａ  ＳＥＡＲＣＨ  ＭＥＴＨＯＤ  ＡＮＤ  ＤＥＶＩＣＥ（検索方法および検索装置）」とする中国特許出願第２０１３１０３６７２２５．６号に基づく優先権を主張する。
【０００２】
本願は、データキャッシングの分野に関し、特に、検索データをキャッシュするための技術に関する。
【背景技術】
【０００３】
インターネット技術の発展とともに、情報をオンラインで検索することがユーザにとってごく日常的な出来事になってきた。一般には、ウェブサイトサービスシステムが、ユーザから検索クエリを受信し、これらの検索クエリに対応する検索結果をユーザに送り返す。検索結果の量はしばしば大量であり、１ウェブページまたは１インターフェース内に完全には表示できないので、ユーザがすべての検索結果を閲覧することを可能にする様々な検索結果表示方法がある。
【０００４】
検索結果ページ（ＳＲＰ）上に検索結果を表示する２つのタイプ例は、以下の通りである。１）ページごと表示、および、２）カスケード表示。ページごとの検索結果表示アプローチでは、ユーザは、１ページに表示できる検索結果を閲覧し、「次のページ」ボタンを選択することで、検索結果をリトリーブして次のページの検索結果を投入することができる。カスケードの検索結果表示アプローチでは、ユーザがウェブページの各新しい領域にスクロールダウンした時に、検索結果が動的にリトリーブされ表示される。返すべき検索結果がなくなるか、または、ユーザが検索結果ページから離れるまで、ユーザが検索結果ページの新しい領域にスクロールダウンするたびに、検索結果の新しいセットがリトリーブされ表示される。
【０００５】
従来、非モバイルデバイスの文脈で提示されるウェブサイトは、一般に、ページごとのアプローチを用いて検索結果を表示する。しかし、モバイルデバイスの文脈で提示されるウェブサイトは、一般に、カスケードのアプローチを用いて検索結果を表示する。
【０００６】
図１は、ユーザ検索要求を扱うためのウェブサイトサービスシステムの従来のシステムアーキテクチャの一実施形態を示す図である。
【０００７】
システム１００のウェブサイトサービスシステム１０８は、ネットワーク１０６を介して非モバイルデバイス１０２およびモバイルデバイス１０４から受信した検索要求を処理するよう構成されている。例えば、ウェブサイトサービスシステム１０８は、同じウェブサイトを運営するが、デバイスに関連付けられている表示タイプ（例えば、ページごとまたはカスケード）に基づいてデータをデバイスに送信するよう構成されている。例えば、非モバイルデバイス１０２からの検索要求に応答して、ウェブサイトサービスシステム１０８は、ページごと表示タイプで表示できる検索結果データを返すよう構成されている。しかし、モバイルデバイス１０４からの検索要求に応答して、ウェブサイトサービスシステム１０８は、カスケード表示タイプで表示できる検索結果データを返すよう構成されている。ユーザ要求に関連付けられている表示タイプ（例えば、ページごとまたはカスケード）を識別する情報が、ユーザ要求に含まれてよい。
【０００８】
ユーザが非モバイルデバイス１０２を通して検索を実行すると、（例えば、ＨＴＴＰ）要求が、ウェブサイトサービスシステム１０８のウェブサーバ１１０に送信される。ウェブサーバ１１０は、ユーザ要求を受信し、ユーザ要求に基づいて、ページごと表示タイプに関連付けられている検索要求を生成する。検索要求は、ユーザクエリキーワード、返されるよう要求された検索結果の開始位置、および、返されるよう要求された検索結果の量を含む。次いで、ウェブサーバ１１０は、検索要求を用いて、検索要求に対応する検索結果がキャッシュに格納されているか否か、すなわち、キャッシュヒットがあるか否かについて、キャッシュサーバ１３０にクエリする。キャッシュヒットがあった場合、ウェブサーバ１１０は、キャッシュサーバ１３０から検索結果を直接取得し、非モバイルデバイス１０２に送り返す。キャッシュヒットがなかった場合、ウェブサーバ１１０は、生成された検索要求に基づいて検索を実行して対応する検索結果を取得するよう検索エンジン１４０に要求する。次いで、ウェブサーバ１１０は、検索エンジン１４０によって取得された検索結果を非モバイルデバイス１０２に送り返す。検索エンジン１４０は、後の検索要求のために検索結果をキャッシュサーバ１３０に格納することもできる。
【０００９】
ユーザがモバイルデバイス１０４（例えば、モバイルデバイスにインストールされたアプリケーション）を通して検索を実行すると、（例えば、ＨＴＴＰ）要求が、ウェブサイトサービスシステム１０８のモバイルインターネットサーバ１２０に送信される。モバイルインターネットサーバ１２０は、ユーザ要求を受信し、ユーザ要求に基づいて、カスケード表示タイプに関連付けられている検索要求を生成する。検索要求は、さらに、ユーザクエリキーワード、要求検索結果開始位置、および、要求検索結果量を含む。次いで、モバイルインターネットサーバ１２０は、検索結果を用いて、キャッシュが検索要求に対応する検索結果を含むか否か、すなわち、キャッシュヒットがあるか否かについて、キャッシュサーバ１３０にクエリする。キャッシュヒットがあった場合、モバイルインターネットサーバ１２０は、キャッシュサーバ１３０から検索結果を直接取得し、モバイルデバイス１０４に送り返す。キャッシュヒットがなかった場合、モバイルインターネットサーバ１２０は、生成された検索要求に基づいて検索を実行して対応する検索結果を取得するよう検索エンジン１４０に要求する。次いで、モバイルインターネットウェブサーバ１２０は、検索エンジン１４０によって取得された検索結果をモバイルデバイス１０４に送り返す。検索エンジン１４０は、後の検索要求のために検索結果をキャッシュサーバ１３０に格納することもできる。
【００１０】
例えば、ユーザが、モバイルデバイスまたは非モバイルデバイスのいずれかで、「ａｐｐｌｅ  ｉＰｈｏｎｅ４」というキーワードを用いて電子商取引ウェブサイトで検索し、合計１８の商品が一致したと仮定する。
【００１１】
ページごと表示タイプでは、例えば、検索結果１ページに、最大１０の商品を表示できる。
【００１２】
検索結果の１ページ目は、「ａｐｐｌｅ  ｉＰｈｏｎｅ４」に一致する最初の１０の検索結果を表示する。対応する検索要求に含まれるキーワードは、「ａｐｐｌｅ  ｉＰｈｏｎｅ４」である。検索要求の開始位置パラメータは「０」であり、検索結果表示量（例えば、検索結果ページに表示できる商品の最大数）は「１０」である。したがって、検索エンジンによって構築された検索要求は、「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝１０」と表現されることができ、ここで、ｑは、ユーザ要求のキーワードを含み、ｓは、返すよう要求された検索結果の開始位置を含み、ｎは、返すよう要求された検索結果の量である。
【００１３】
検索エンジンによって送り返される結果は、（例えば、順位付けモデルによって順位付けされた検索結果の）上位１０までの検索結果である。
【００１４】
検索結果の２ページ目は、検索結果１１〜２０を表示し、対応する検索要求は「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝１０＆ｎ＝１０」と表現されうる。送り返される結果は、キーワード「ａｐｐｌｅ  ｉＰｈｏｎｅ４」に対する検索結果の合計が１８であるので、（例えば、順位付けモデルによって順位付けされた検索結果の）残り８の検索結果でありうる。
【００１５】
カスケード表示タイプでは、例えば、５商品が最初に表示され、その後、検索結果ページにさらなる検索結果をロードするごとに、３つの商品がロードされる。
【００１６】
最初にロードされる５商品について、対応する検索要求は、「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝５」と表現されうる。送り返される結果は、（例えば、順位付けモデルによって順位付けされた検索結果の）上位５までの検索結果である。
【００１７】
２回目のロードは、３商品を含み、対応する検索要求は「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝５＆ｎ＝３」と表現されうる。送り返される結果は、（例えば、順位付けモデルによって順位付けされた検索結果の）検索結果６〜８である。
【００１８】
３回目のロードは、３商品を含み、対応する検索要求は「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝８＆ｎ＝３」と表現されうる。送り返される結果は、（例えば、順位付けモデルによって順位付けされた検索結果の）検索結果９〜１１である。
【００１９】
開始位置パラメータおよび要求検索結果量パラメータが、異なる表示タイプに関連付けられているユーザ要求に対して異なる場合、検索エンジンによって生成される検索要求も異なる。ユーザが同じクエリ語を入力した場合でも、異なる表示タイプ（例えば、ページごとおよびカスケード）に関連付けられているユーザ要求を用いて、異なる検索要求が生成される。
【００２０】
一般に、キャッシュサーバがキャッシュされた検索結果のためのインデックスを格納する方法は、キー・値ペアを用いる方法である。キャッシュサーバが検索結果を格納する時、検索結果は、インデックス内のキーとして用いられる。キーに対応する値は、キーの検索要求に対応する検索結果である。すなわち、検索要求および検索結果は、キャッシュサーバ内で一対一のキー・値の対応関係を有する。異なる表示タイプ（ページごとおよびカスケードなど）に関して、異なる表示タイプに関連付けられているユーザ要求から生成された検索要求は異なるので、異なる検索要求の結果として得られる検索結果も異なる。その結果として、異なるユーザ要求に関連付けられている検索結果が重複している場合でも、ページごと表示を用いるデバイスからのユーザ要求に基づいてキャッシュに格納されているキー・値ペア、および、カスケード表示を用いるデバイスからのユーザ要求に基づいてキャッシュに格納されているキー・値ペアは異なる。かかる差異により、従来、異なる表示タイプを用いるデバイスは、キャッシュに格納されている検索結果を共有できない。したがって、検索結果表示タイプの差異は、これらの異なる表示技術に対して返された検索結果をキャッシュするキャッシュサーバでのキャッシュヒットの可能性を低下させることになる。
【００２１】
例えば、最初の期間に「ａｐｐｌｅ  ｉＰｈｏｎｅ４」というクエリ語を含むユーザ要求を送信したユーザのためにリトリーブされた検索結果を表示するために、ページごと表示タイプが用いられ、後の期間に「ａｐｐｌｅ  ｉＰｈｏｎｅ４」という同じクエリ語を含むユーザ要求を送信した同じユーザまたは別のユーザのためにリトリーブされた検索結果を表示するために、カスケード表示技術が用いられたとする。ページごと表示技術を用いたデバイスは、最初のページ検索結果を最初に表示する動作を実行し、その後、２ページ目の検索結果を閲覧するためのユーザ選択を受信する。カスケード表示技術を用いたデバイスは、最初のセットの検索結果をロードし、その後、検索結果のページをさらにスクロールダウンするユーザの動作に応答して、さらなるロードのための２つの次の要求を受信する。ページごと表示タイプおよびカスケード表示タイプにおいて上述したように、表示された検索結果とのユーザ相互作用の結果として、キャッシュサーバは、以下の表１に示すようにコンテンツを保存しうる。
【表１】
2016531367.tif 000003
【００２２】
上記のユーザ動作に対応する検索要求は「ａｐｐｌｅ  ｉＰｈｏｎｅ４」という同じキーワードを含むが、検索結果開始位置パラメータおよび検索結果量は、ページごと表示技術およびカスケード表示技術に関連付けられているユーザ要求で異なっている。したがって、かかるユーザ要求から生成された検索要求も異なる。キャッシュインデックス内に検索要求およびそれに対応する検索結果をキー・値ペアとして格納する従来技術を前提とすると、（表１の最初の３つのエントリに関連付けられている）以前の期間に取得されたページごと表示タイプに関連付けられている検索結果がすでにキャッシュ内に存在しても、カスケード表示技術に関連付けられているその後に受信された検索要求と一致する検索結果についてキャッシュが検索された時に、ページごと検索要求およびカスケード検索結果のフォーマットが異なることにより、後続のカスケード検索要求は、ページごと検索結果をキャッシュするために以前に用いられた検索結果の検索要求キーと一致しえない。したがって、以前にキャッシュされたページごとの検索結果は、後続のカスケードの検索要求には利用できず、結果として、検索エンジンによる検索を用いて後続のカスケード検索要求のために新しい検索結果が生成され、それらの検索結果は、（表１の残り２つのエントリに関連付けて）キャッシュに格納される。
【００２３】
上述の問題に対する速やかな解決策は、ページごと表示タイプによって用いられる検索結果の１ページに対する表示量を、カスケード表示タイプによって用いられる各ロードの表示量と同じにすることである。このように、ｓパラメータおよびｎパラメータが、これらの表示タイプの両方で一致するので、両タイプのために生成される検索結果が同じになる。
【００２４】
しかしながら、かかるアプローチは、ページごと表示タイプによって用いられる１ページの商品の表示量およびカスケード表示タイプによって用いられる各ロードの表示量が、それぞれのアプリケーションシナリオによって決定されることから、実際には実現不可能である。ページごと表示タイプおよびカスケード表示タイプが用いられる異なるアプリケーションシナリオの例は、以下の通りである：ページごと表示タイプは、しばしば、非モバイルデバイス（例えば、ラップトップまたはデスクトップコンピュータ）に用いられ、かかるデバイスは、ページごとに表示する検索結果をリトリーブすることが特定の動作コストを有するため、一般に、ページごとに多数の商品を要求する。カスケード表示タイプは、しばしば、モバイルデバイスに用いられ、かかるデバイスは、一般に、ネットワーク環境およびハードウェア制約のために要求ごとにリトリーブされる検索結果の許容量が小さい。要求される検索結果の量は、ネットワークリソースを効率的に利用できるように、必要に応じて決定される。２つの表示タイプは、独立して生じたそれぞれのニーズを有しているため、ページごと表示タイプおよびカスケード表示タイプの両方に一様な表示量を課すことが、各表示タイプが用いられる背景を妨げうる。
【図面の簡単な説明】
【００２５】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【００２６】
【図１】ユーザ検索要求を扱うためのウェブサイトサービスシステムの従来のシステムアーキテクチャの一実施形態を示す図。
【００２７】
【図２】キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図。
【００２８】
【図３】キャッシュクエリ要求を生成するための処理の一実施形態を示すフローチャート。
【００２９】
【図４】キャッシュクエリ要求を生成する処理の一例を示す図。
【００３０】
【図５】キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図。
【００３１】
【図６】キャッシュクエリ要求の生成を実施するためにプログラムされたコンピュータシステムの一実施形態を示す機能図。
【発明を実施するための形態】
【００３２】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００３３】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００３４】
キャッシュクエリ要求生成の実施形態を本明細書に記載する。ユーザクエリが、デバイスから受信される。表示タイプ固有検索要求が、ユーザクエリに少なくとも部分的に基づいて生成される。キャッシュクエリ要求が、表示タイプ固有検索要求および設定されたキャッシュ粒度に少なくとも部分的に基づいて生成される。様々な実施形態において、「キャッシュ粒度」は、各キャッシュクエリ要求に対してリトリーブできる検索結果の最大量を含む。様々な実施形態において、キャッシュは、キー・値ペアを用いて、格納されているコンテンツにインデックス付けし、ここで、キーは、キャッシュクエリ要求を含み、対応する値は、キャッシュクエリ要求に対応する以前に取得された検索結果を含む。現在のキャッシュクエリ要求に対応する検索結果がキャッシュ内で見いだされうるか否かが判定される。現在のキャッシュクエリ要求に対応する検索結果がキャッシュ内で見いだされうる場合、表示タイプ固有検索要求に関連付けられている見出された対応する検索結果の一部が抽出され、デバイスに送り返される。したがって、異なるフォーマットに関連付けられている異なる表示タイプ固有検索要求を統一フォーマットのキャッシュクエリ要求に変換することにより、異なる表示タイプ固有検索要求がキャッシュ済みのコンテンツを最終的に共有できるように、キャッシュクエリ要求に対応する検索結果をキャッシュに格納し、キャッシュからリトリーブすることができる。
【００３５】
図２は、キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図である。この例において、システム２００は、第１表示タイプデバイス２０２、第２表示タイプデバイス２０４、ネットワーク２０６、および、ウェブサイトサービスシステム２０８を備える。ウェブサービスシステム２０８は、ウェブサーバ２１０、モバイルインターネットサーバ２２０、キャッシュサーバ２３０、検索エンジン２４０、および、検索要求サーバ２５０を備える。ネットワーク２０６は、高速データネットワークおよび／または遠隔通信ネットワークを含む。
【００３６】
ウェブサービスシステム２０８は、ユーザが一致項目を検索できるウェブサイトの運営に関連する。例えば、ウェブサイトは、商品を含む検索結果をユーザが検索できる電子商取引ウェブサイトを含む。ユーザは、異なる表示タイプに関連付けられているデバイスを用いて、ウェブサイトにアクセスしうる。例えば、第１表示タイプは、最大数までの検索結果を一度にリトリーブして検索結果ページに表示できるページごと表示タイプである。ページごと表示タイプにおいて、同じユーザクエリに関連付けられている次の検索結果ページをリトリーブするために、ユーザは、現在表示されている検索結果ページで「次ページを見る」という選択可能な要素を選択できる。例えば、第２表示タイプは、ユーザが検索結果ページの各新しい領域にスクロールダウンした時に、さらなる検索結果が動的にロードされるカスケード表示タイプである。
【００３７】
いくつかの実施形態において、１つのデバイスが、複数の表示タイプを用いてもよく、ユーザクエリのソース（例えば、モバイルまたは非モバイルタイプのウェブブラウザアプリケーション、および／または、検索結果が要求されるウェブサイト）に応じて、特定の表示タイプに関連付けられている検索結果を要求してよい。しかしながら、説明のため、図２の例では、第１表示タイプデバイス２０２および第２表示タイプデバイス２０４の各々が、異なる表示タイプを用いることに関連している。
【００３８】
例えば、ページごと表示である第１表示タイプは、非モバイルデバイスまたは非モバイル表示フォーマットに関連し、カスケード表示である第２表示タイプは、モバイルデバイスまたはモバイル表示フォーマットに関連する。システム２００の例において、第１表示タイプデバイス２０２は、非モバイルデバイス（例えば、デスクトップコンピュータ）を含む、および／または、ページごと技術を用いてウェブサイトのための検索結果を表示するよう構成された非モバイルウェブブラウザアプリケーションを備える。ここで、ユーザによって閲覧を要求された各検索結果ページのために、検索結果がリトリーブされる。第２表示タイプデバイス２０４は、モバイルデバイス（例えば、スマートフォン、タブレットデバイス）を含む、および／または、カスケード技術を用いてウェブサイトのための検索結果を表示するよう構成されたモバイルウェブブラウザアプリケーションを備える。ここで、検索結果ページの各新しい部分への（例えば、スクロールダウンによる）ユーザアクセスに応答して、検索結果ページに検索結果が動的にロードされる。しかしながら、実際の実施例において、第１表示タイプデバイス２０２および第２表示タイプデバイス２０４は、異なる表示タイプを用いるよう構成された任意の他のペアのデバイスを含んでもよい。さらに、実際の実施例において、ページごとおよびカスケード以外の表示タイプが、第１表示タイプデバイス２０２および第２表示タイプデバイス２０４によって用いられてもよい。
【００３９】
ユーザは、第１表示タイプデバイス２０２または第２表示タイプデバイス２０４のいずれかを用いて、ウェブサイトにアクセスし、ユーザクエリをウェブサイトに送信できる。ユーザクエリは、ネットワーク２０６を介して送信され、ウェブサイトサービスシステム２０８で受信される。ユーザクエリは、ユーザによって入力されたクエリキーワードと、いくつかの実施形態において、表示タイプ識別子と、を含む。いくつかの実施形態において、表示タイプ識別子は、検索結果を表示するために用いられる第１表示タイプデバイス２０２で実行される非モバイルブラウザアプリケーションによって生成される。例えば、ユーザが第１表示タイプデバイス２０２（例えば、そのデバイスで実行されるウェブブラウザアプリケーション）を用いて、ユーザクエリを送信した場合、ウェブサイトサービスシステム２０８で受信されたユーザクエリは、クエリキーワードと、ページごと表示に関連付けられた識別子と、を含むことになる。ユーザクエリは、ＨＴＴＰ要求として送信されてよい。例えば、ユーザが第２表示タイプデバイス２０４（例えば、そのデバイスで実行されるモバイルアプリケーション）を用いて、ユーザクエリを送信した場合、ウェブサイトサービスシステム２０８で受信されたユーザクエリは、クエリキーワードと、カスケード表示に関連付けられた識別子と、を含むことになる。いくつかの実施形態において、表示タイプ識別子は、検索結果を表示するために用いられる第２表示タイプデバイス２０４で実行されるモバイルブラウザアプリケーションによって生成される。例えば、表示タイプ識別子は、ＨＴＴＰヘッダ値を含んでよい。いくつかの実施形態において、ウェブサービスシステム２０８は、第１表示タイプデバイス２０２および／または第２表示タイプデバイス２０４で実行されており、検索結果を表示するために用いられるブラウザアプリケーションのタイプ（例えば、モバイルまたは非モバイル）について（例えば、Ｊａｖａｓｃｒｉｐｔを用いて）クエリすることができる。検出されたブラウザアプリケーションに関連付けられている表示タイプは、利用されているブラウザアプリケーションの検出されたタイプ（例えば、モバイルまたは非モバイル）に基づいて決定されてよい。
【００４０】
ウェブサーバ２１０は、ページごと表示に関連付けられた識別子に関連付けられているユーザクエリを受信するよう構成されており、モバイルインターネットサーバ２２０は、カスケード表示に関連付けられた識別子に関連付けられているユーザクエリを受信するよう構成されている。ウェブサーバ２１０は、ページごと表示技術に関連付けられている第１の表示タイプ固有検索要求を生成するよう構成されている。第１の表示タイプ固有検索要求は、ユーザクエリからのクエリキーワード、要求検索結果開始位置パラメータ、および、ページごと表示に関連付けられている要求検索結果量を含む。同様に、モバイルインターネットサーバ２２０は、カスケード表示技術に関連付けられている第２の表示タイプ固有検索要求を生成するよう構成されている。第１の表示タイプ固有検索要求は、ユーザクエリからのクエリキーワード、要求検索結果開始位置パラメータ、および、カスケード表示に関連付けられている要求検索結果量を含む。様々な実施形態において、異なる表示タイプに関連付けられている検索要求に含まれる要求検索結果量は、異なるように構成されるため、異なる表示タイプに関連付けられている検索要求は、異なるフォーマットに関連する。例えば、ページごと表示に関連付けられている要求検索結果量は、各検索結果ページに１０件の検索結果を含み、カスケード表示に関連付けられている要求検索結果量は、検索結果ページへの最初の検索結果ロードについて５件の検索結果、および、同じ検索結果ページへの後続の各検索結果ロードについて３件の検索結果を含む。
【００４１】
検索要求サーバ２５０は、第１の表示タイプ固有検索要求および第２の表示タイプ固有検索要求を、それぞれ、ウェブサーバ２１０およびモバイルインターネットサーバ２２０から受信するよう構成されている。検索要求サーバ２５０は、異なるフォーマットに関連付けられている第１の表示タイプ固有検索要求および第２の表示タイプ固有検索要求の両方を統一フォーマットのクエリ要求（すなわち、キャッシュクエリ要求）に変換するよう構成されている。次いで、検索要求サーバ２５０は、キャッシュクエリ要求を用いて、キャッシュサーバ２３０に格納されている対応する検索結果をクエリし（例えば、検索要求サーバ２５０は、キャッシュクエリ要求に対応する検索結果がキャッシュに存在するか否かをクエリし）、対応する検索結果がキャッシュサーバ２３０で見つからない場合、検索要求サーバ２５０は、検索エンジン２４０がキャッシュクエリ要求に基づいて（例えば、検索結果のデータベース内で）検索を実行して、対応する検索結果を取得するように要求する。次いで、検索要求サーバ２５０は、取得された検索結果から第１／第２の表示タイプ固有検索要求に対応する検索結果を抽出して、キャッシュクエリ要求の元となった検索要求を送信したウェブサーバ２１０およびモバイルインターネットサーバ２２０のいずれかに送り返し、その結果、対応する検索結果が、ユーザクエリの由来するそれぞれの第１表示タイプデバイス２０２または第２表示タイプデバイス２０４に送り返されることが可能になる。また、検索要求サーバ２５０は、後のユーザクエリで用いるために、キャッシュクエリ要求に対して見つかった対応する検索結果をキャッシュサーバ２３０に格納する。後に詳述するように、検索要求サーバ２５０は、設定されたキャッシュ粒度に少なくとも部分的に基づいて、第１の表示タイプ固有検索要求または第２の表示タイプ固有検索要求のいずれかをキャッシュクエリ要求に変換するため、各キャッシュクエリ要求に対応してキャッシュサーバ２３０に格納される検索結果は、同じキャッシュ粒度で格納される。
【００４２】
第１の表示タイプ固有検索要求および第２の表示タイプ固有検索要求は、異なるパラメータ（例えば、異なる要求検索結果量の値）に関連するので、従来は、第１の表示タイプ固有検索要求および第２の表示タイプ固有検索要求の両方を同じキャッシュに格納される検索結果のインデックスキーとして用いることから、２つの異なる表示タイプに関連付けられているユーザクエリがキャッシュ済みの検索結果を共有することを可能にするのに困難があった。したがって、クエリキャッシュサーバ２３０への要求を用いる前に、第１の表示タイプ固有検索要求および第２の表示タイプ固有検索要求の各々をキャッシュクエリ要求に変換することにより、検索要求サーバ２５０は、キャッシュクエリ要求だけを用いて、クエリキャッシュサーバ２３０にクエリし、キャッシュサーバ２３０に格納されている対応する検索結果のインデックスキーとして格納することができる。
【００４３】
キャッシュサーバ２３０は、キー・値インデックスを用いて、キャッシュされたコンテンツを組織化する。様々な実施形態において、キー・値インデックス内で、各キーは、キャッシュクエリ要求を含み、キーに対応する値は、キャッシュクエリ要求に含まれるクエリキーワードパラメータ、開始位置パラメータ、および、要求検索結果量パラメータを用いて検索エンジン２４０によって見出された対応する検索結果を含む。
【００４４】
検索要求サーバ２５０は、設定されたキャッシュ粒度に少なくとも部分的に基づいて、第１の表示タイプ固有検索要求または第２の表示タイプ固有検索要求のいずれかをキャッシュクエリ要求に変換する。様々な実施形態において、「キャッシュ粒度」は、この特定のキャッシュ粒度設定を有するキャッシュサーバによって各キャッシュクエリ要求に対してリトリーブされうる検索結果の最大量を含む。いくつかの実施形態において、キャッシュ粒度は、特定のキャッシュサーバ（例えば、キャッシュサーバ２３０）で用いられるように構成される。いくつかの実施形態において、キャッシュ粒度は、複数のキャッシュサーバで用いられるように構成される。いくつかの実施形態において、キャッシュ粒度は、コンピュータプログラムまたはシステム管理者によって設定されうる。第１の表示タイプ固有検索要求または第２の表示タイプ固有検索要求に基づいて生成されたキャッシュクエリ要求は、第１の表示タイプ固有検索要求または第２の表示タイプ固有検索要求として同じクエリキーワードを含む。様々な実施形態において、キャッシュクエリ要求の開始位置パラメータは、設定されたキャッシュ粒度と、第１の表示タイプ固有検索要求または第２の表示タイプ固有検索要求の開始位置パラメータとに少なくとも部分的に基づいて決定される。様々な実施形態において、キャッシュクエリ要求の要求検索結果量パラメータは、キャッシュ粒度に少なくとも部分的に基づいて決定される。
【００４５】
キャッシュクエリ要求のための開始位置パラメータおよび要求検索結果量パラメータを、第１または第２の表示タイプ固有検索要求の対応するパラメータから決定する一例において、キャッシュクエリ要求内の要求検索結果量は、キャッシュ粒度によって規定された量に基づいて決定される。キャッシュクエリ要求内の開始位置パラメータは、キャッシュ粒度によって規定された量と、第１／第２の表示タイプ固有検索要求内の開始位置パラメータとに従って決定される。具体的には、キャッシュクエリ要求内の開始位置パラメータは、１）キャッシュ粒度によって規定された量の倍数、２）第１／第２の表示タイプ固有検索要求の開始位置パラメータ以下、かつ、３）キャッシュ粒度によって規定された量と加算された時に、合計が第１／第２の表示タイプ固有検索要求の開始位置以上になるような値に設定されうる。例えば、開始位置パラメータは、正の整数（０、１、２、３など）とキャッシュ粒度によって規定された量との積に等しくなるように調整されうる。
【００４６】
キャッシュクエリ要求に対応する検索結果がキャッシュサーバ２３０に存在する場合、キャッシュクエリ要求に対応する検索結果は、検索要求サーバ２５０によってキャッシュサーバ２３０から取得される。次いで、キャッシュクエリ要求の元となった第１または第２の表示タイプ固有検索要求によって要求された検索結果に対応する検索結果が、これらの検索結果から抽出され、それぞれの第１または第２の表示タイプ固有検索要求を送信したウェブサーバ２１０またはモバイルインターネットサーバ２２０のいずれかに送り返される。ウェブサーバ２１０またはモバイルインターネットサーバ２２０のいずれかである受信側は、検索結果を第１表示タイプデバイス２０２または第２表示タイプデバイス２０４にそれぞれ送り返す。
【００４７】
キャッシュクエリ要求に対応する検索結果がキャッシュサーバ２３０に存在しない場合、検索要求サーバ２５０は、対応する検索結果を取得するために、検索エンジン２４０がキャッシュクエリ要求に基づいて検索を実行することを要求する。次いで、キャッシュクエリ要求の元となった第１または第２の表示タイプ固有検索要求に対応する検索結果が、取得された検索結果から抽出され、それぞれの第１または第２の表示タイプ固有検索要求を送信したウェブサーバ２１０またはモバイルインターネットサーバ２２０のいずれかに送り返されるウェブサーバ２１０またはモバイルインターネットサーバ２２０のいずれかである受信側は、検索結果を第１表示タイプデバイス２０２または第２表示タイプデバイス２０４にそれぞれ送り返す。検索要求サーバ２５０は、さらに、後のキャッシュクエリ要求で用いるために、キャッシュクエリ要求に対して取得された対応する検索結果をキャッシュサーバ２３０に格納する。したがって、キャッシュクエリ要求が、第１表示タイプデバイス２０２からのユーザクエリに基づいてウェブサーバ２１０によって生成された第１の表示タイプ固有検索要求から生成されたのか、第２表示タイプデバイス２０４からのユーザクエリに基づいてモバイルインターネットサーバ２２０によって生成された第２の表示タイプ固有検索要求から生成されたのかに関わらず、キャッシュサーバ２３０に格納されている検索結果に関連付けられているすべてのキャッシュクエリ要求が、同じ要求検索結果量パラメータを含む（すべてのパラメータが、キャッシュ粒度によって規定された量に設定されるため）。
【００４８】
本明細書に記載するように、異なる表示タイプ固有検索要求をキャッシュクエリ要求（検索結果をキャッシュに格納し、検索結果をキャッシュからリトリーブするために用いられる）に変換することにより、キャッシュヒット率を高め、検索エンジン訪問回数を削減し、検索処理時間を短縮し、全体のユーザ体験を高めることができる。キャッシュヒットに関連付けられている検索結果を返すことは、一般に、（例えば、検索エンジンに検索の実行を要求することを含む）キャッシュミスに関連付けられている検索結果を返すことよりも効率的であるため、キャッシュヒット率を高めることが、検索処理時間を改善することになる。
【００４９】
図２に記載のウェブサイトサービスシステムのシステムアーキテクチャは、単に一例である。本願は、これに限定されない。図２に記載のウェブサイトサービスシステムの機能は、任意の適切なサーバシステム内に任意の形態で実現されてよい。例えば、図２の例では、検索要求サーバを説明しているが、検索要求サーバの機能は、例えば、ウェブサーバ、モバイルインターネットサーバ、検索エンジンサーバ、および、キャッシュサーバなど、ウェブサービスシステムの別のモジュールに統合されてもよい。例えば、ウェブサーバおよび／またはモバイルインターネットサーバが、本明細書に記載のキャッシュクエリおよび検索結果抽出を実施するために、第１または第２の表示タイプ固有検索要求をキャッシュクエリ要求に変換し、キャッシュサーバおよび検索エンジンサーバとのやり取りを完了させるように構成されてもよい。別の例では、検索エンジンサーバが、キャッシュクエリおよび検索結果抽出を実施するために、第１または第２の表示タイプ固有検索要求をキャッシュクエリ要求に変換し、キャッシュサーバとのやり取りを完了させるように構成されてもよい。さらに別の例では、キャッシュサーバが、検索結果を抽出するために、検索要求をキャッシュクエリ要求に変換し、キャッシュクエリおよび検索エンジンとのやり取りを完了させるように構成されてもよい。さらに、ウェブサイトサービスシステムは、カスケード表示タイプのためのモバイルインターネットサーバおよびページごと表示タイプのためのウェブサーバに加えて、任意のその他の表示タイプで用いるよう構成された他のサーバを備えるよう構成されてもよい。さらに、上述のアーキテクチャ内のキャッシュサーバは、ウェブサイトサービスシステムの単独の構成要素として機能するが、キャッシュサーバは、例えば、ウェブサーバ、モバイルインターネットサーバ、および／または、検索エンジンサーバと統合されてもよい。
【００５０】
図３は、キャッシュクエリ要求を生成するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理３００は、図２のシステム２００で実施される。具体的には、いくつかの実施形態において、処理３００は、図２のシステム２００のウェブサイトサービスシステム２０８で実施される。
【００５１】
工程３０２では、ユーザクエリが、デバイスから受信される。例えば、ユーザは、デバイスを用いてウェブサイトにアクセスし、検索入力ウィンドウを介して１または複数のクエリキーワードを送信しうる。ユーザクエリは、ラップトップまたはデスクトップコンピュータなどの非モバイルデバイスで実行されるウェブブラウザアプリケーションから生成されてよい。ユーザクエリは、スマートフォンまたはタブレットデバイスなどのモバイルデバイスで実行されるモバイルアプリケーションから生成されてもよい。例えば、ユーザクエリが送信されたデバイスで実行されるアプリケーションは、ページごと表示タイプ、カスケード表示タイプ、または、任意のその他の適切な表示タイプを用いるよう構成されてよい。
【００５２】
ユーザクエリは、ユーザによって送信されたクエリキーワードと、いくつかの実施形態において、ユーザクエリが生成されたデバイスおよび／またはユーザクエリが生成されたデバイスで実行されているブラウザアプリケーションによって用いられる検索結果表示タイプの識別子と、を備える。例えば、ページごと表示タイプを用いる非モバイルデバイスで実行されるウェブブラウザアプリケーションを介してユーザによって送信された検索クエリに応じて、クエリは、ページごと表示に関連付けられた識別子を含むように生成されうる。また、例えば、カスケード表示タイプを用いるモバイルデバイスで実行されるモバイルアプリケーションを介してユーザによって送信された検索クエリに応じて、クエリは、カスケード表示に関連付けられた識別子を含むように生成されうる。いくつかの実施形態において、ウェブサイトサービスシステムは、ユーザクエリを生成したデバイスで実行されるブラウザアプリケーションのタイプ（例えば、モバイルまたは非モバイル）をクエリすることに少なくとも部分的に基づいて、ユーザクエリに関連付けられている表示タイプ識別子を検出する。
【００５３】
工程３０４では、表示タイプ固有検索要求が、ユーザクエリに少なくとも部分的に基づいて生成される。異なる検索要求が、ユーザクエリに関連付けられている表示タイプに基づいて生成される。例えば、ページごと表示固有のフォーマットに関連付けられている検索要求が、ページごと表示タイプ識別子に関連付けられているユーザクエリに基づいて生成され、カスケード表示固有のフォーマットに関連付けられている検索要求が、カスケード表示タイプ識別子に関連付けられているユーザクエリに基づいて生成される。
【００５４】
表示タイプ固有検索要求は、少なくとも、クエリキーワードパラメータ、要求検索結果開始位置パラメータ、要求検索結果量パラメータを含んでよい。様々な実施形態において、開始「位置」パラメータとは、（例えば、データベーステーブル内に順序付けられた行または検索結果の順位の）並びの中での、返される最初の検索結果の位置のことである。ユーザクエリに応答して最初の検索結果セットを表示した後のユーザ動作により、さらなる検索結果が同じユーザクエリに対して取得されうるので、複数の表示タイプ固有検索結果が、同じユーザクエリに対して生成されうる。例えば、ページごとの結果表示では、最初の検索結果ページが取得され、要求側デバイスでユーザに表示された後に、ユーザは、次の検索結果ページを閲覧することを選択する場合があるため、別のページごと固有検索要求が、同じユーザクエリに対するさらなる検索結果をリトリーブするために生成されうる。同様に、例えば、カスケードの結果表示では、検索結果の最初のロードが取得され、要求側デバイスでユーザに表示された後に、ユーザは、検索結果の次のロードを閲覧するために検索結果ページをさらにスクロールダウンする場合があるため、別のカスケード固有検索要求が、同じユーザクエリに対するさらなる検索結果をリトリーブするために生成されうる。
【００５５】
表示タイプ固有検索要求のパラメータの値について、以下で詳述する。
【００５６】
様々な実施形態において、表示タイプ固有検索要求のクエリキーワードパラメータの値は、ユーザクエリのクエリキーワードに設定される。
【００５７】
様々な実施形態において、要求検索結果量パラメータの値は、ユーザクエリおよび／または検索結果ページに関する任意のユーザ動作に関連付けられている表示タイプ識別子に関連付けられている値に設定される。例えば、各ページが表示できる検索結果の最大数が、ページごと表示タイプにおいて１０であるとする。したがって、ページごと固有検索要求は、どの検索結果ページ（例えば、１ページ目、２ページ目、３ページ目など）が取得されている場合でも、１０に設定された要求検索結果量パラメータを含むことになる。例えば、カスケード表示において検索結果の最初のロードで検索結果ページにロードできる検索結果の最大数が５であり、最初のロードの後の検索結果の各ロードで検索結果ページにロードできる検索結果の最大数が３であるとする。したがって、カスケード固有検索要求は、ユーザクエリに対する検索結果の最初のロードについては、５に設定された要求検索結果量パラメータを含み、同じユーザクエリに対する検索結果の各後続のロードについては、３に設定された要求検索結果量パラメータを含むことになる。
【００５８】
例えば、ユーザクエリに含まれるユーザクエリキーワードが、「ａｐｐｌｅ  ｉＰｈｏｎｅ４」であるとする。ユーザクエリが、ページごと表示タイプに関連付けられた識別子に関連する場合、各ページが表示できる検索結果の最大数は１０である。したがって、生成されたページごと表示固有検索要求は、以下のように記録されうる：「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝１０」、ここで、ｑは、ユーザクエリキーワードであり、ｓは、返されるよう要求された検索結果の開始位置であり、ｎは、返されるよう要求された検索結果の量である。ユーザクエリが、カスケード表示タイプに関連付けられた識別子に関連する場合、検索結果の最初のロードで検索結果ページにロードできる検索結果の最大数は５である（そして、最初のロードの後の検索結果の各ロードで検索結果ページにロードできる検索結果の最大数は３である）。したがって、検索結果の最初のロードに対応するカスケード固有検索要求は、「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝５」として記録されることができ、ここで、ｑは、ユーザクエリキーワードであり、ｓは、返されるよう要求された検索結果の開始位置、ｎは、返されるよう要求された検索結果の量である。この例で示すように、異なる表示タイプに関連付けられているユーザクエリに基づいて生成された検索要求は、同じパラメータに対して異なる値を備えうる。
【００５９】
様々な実施形態において、要求検索結果開始位置パラメータの値は「０」に設定されるか、または、いずれかの値が、ユーザクエリに対して生成された最初の表示タイプ固有検索要求における検索結果のデフォルトの開始位置の値になる。次いで、表示された検索結果ページに関連するユーザ動作（例えば、次の検索結果ページを閲覧するためのユーザ選択、または、検索結果のさらなるロードを受信するための検索結果のユーザスクロールダウン）に応答して同じユーザクエリに対して生成される後続の各表示タイプ固有検索要求について、要求検索結果開始位置パラメータの値は、直前の表示タイプ固有検索要求からの要求検索結果開始位置パラメータの値と、直前の表示タイプ固有検索要求からの要求検索結果量パラメータの値との合計に設定される。例えば、ユーザクエリに対して生成される最初のページごと固有検索要求について、要求検索結果開始位置パラメータの値は「０」に設定され、同じユーザクエリに対して生成される２つ目のページごと表示固有検索要求について、要求検索結果開始位置パラメータの値は「１０」に設定される。同様に、例えば、ユーザクエリに対して生成される最初のカスケード固有検索要求について、要求検索結果開始位置パラメータの値は「０」に設定され、同じユーザクエリに対して生成される２つ目のカスケード表示固有検索要求について、要求検索結果開始位置パラメータの値は「５」に設定される。
【００６０】
工程３０６では、キャッシュクエリ要求が、表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて生成される。様々な実施形態において、異なる表示固有検索要求が、設定されたキャッシュ粒度に基づいてキャッシュクエリ要求に変換されることによって標準化される。結果として、異なるフォーマットを持つ検索要求が、統一フォーマットに変換され、したがって、キャッシュに格納されている検索要求を共有し、キャッシュヒット率を高めることができる。
【００６１】
工程３０４について上述したように、複数の表示タイプ固有検索要求が同じユーザクエリに対して生成されてよく、工程３０６について上述したように対応するキャッシュクエリ要求が、かかる表示タイプ固有検索要求の各々に対して生成されうる。
【００６２】
様々な実施形態において、「キャッシュ粒度」は、各キャッシュクエリ要求に対してリトリーブできる検索結果の最大量を指定する。いくつかの実施形態において、キャッシュ粒度は、特定のキャッシュサーバまたは複数のキャッシュサーバで用いられるよう構成されている。異なる表示タイプ固有検索要求が、統一キャッシュ粒度に従って、キャッシュクエリ要求に変換されてよい。
【００６３】
キャッシュクエリ要求は、少なくとも、クエリキーワードパラメータ、要求検索結果開始位置パラメータ、および、要求検索結果量パラメータを含む。キャッシュクエリ要求のパラメータの値について、以下で詳述する。
【００６４】
キャッシュクエリ要求のクエリキーワードパラメータの値は、表示タイプ固有検索要求のクエリキーワードを含む。
【００６５】
キャッシュクエリ要求内の要求検索結果量パラメータの値は、キャッシュ粒度によって規定された量に基づいて決定される。具体的には、例えば、キャッシュクエリ要求内の要求検索結果量パラメータの値は、キャッシュ粒度によって規定された量に設定されうる。
【００６６】
キャッシュクエリ要求内の開始位置パラメータの値は、キャッシュ粒度によって規定された量と、表示タイプ固有検索要求内の開始位置パラメータとに基づいて決定される。具体的には、キャッシュクエリ要求内の開始位置パラメータの値は、１）キャッシュ粒度の倍数、２）表示タイプ固有検索要求内の開始位置パラメータ以下、かつ、３）キャッシュ粒度によって規定された量に加算された時に、合計が表示タイプ固有検索要求内の開始位置パラメータの値以上になるような値に設定されうる。例えば、キャッシュ粒度によって規定された量が２０であると仮定する。この例において、キャッシュクエリ要求内の開始位置パラメータは、０、２０、４０、または、６０でありうる。さらに、表示タイプ固有検索要求内のクエリキーワードが「ａｐｐｌｅ  ｉＰｈｏｎｅ４」であり、初期の要求検索結果開始位置パラメータが５０であり、要求検索結果量が５であると仮定する。表示タイプ固有検索要求は、「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝５０＆ｎ＝５」と記録されうる。表示タイプ固有検索要求に従って、位置５１〜５５の検索結果が、ユーザに返すために要求される。この例において、表示タイプ固有検索要求に基づいて生成されたキャッシュクエリ要求は、「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝４０＆ｎ＝２０」と表現されうる。すなわち、キャッシュクエリ要求は、キャッシュが位置４１〜６０の関連検索結果を有するか否かをクエリする。この例のキャッシュクエリ要求によって示されるように、要求される検索結果の量ｎは、キャッシュ粒度によって規定された量「２０」に等しく設定されうる。
【００６７】
いくつかの実施形態において、キャッシュ粒度は、コンピュータプログラムまたはシステム管理者によって設定されうる。いくつかの実施形態において、キャッシュ粒度は、履歴ユーザ行動情報に基づいて設定されてよい。履歴ユーザ行動情報は、ユーザ検索動作、次ページ閲覧ユーザ選択動作、および、ウェブサイトでのスクロールダウンロードユーザ動作など、ユーザアクセス動作に関する統計情報を含みうる。いくつかの実施形態において、キャッシュ粒度を設定するために用いられる履歴ユーザ行動情報は、現在のユーザクエリの送信に関連するユーザに固有であり、したがって、そのユーザについて追跡された履歴ユーザ行動情報を含む。いくつかの実施形態において、キャッシュ粒度を設定するために用いられる履歴ユーザ行動情報は、現在のユーザクエリの送信に関連するユーザに固有ではなく、したがって、様々なユーザについて追跡された履歴ユーザ行動情報を含む。例えば、クエリキーワードのタイプに関して、ユーザ（または、用いられる履歴ユーザ動作行動が様々なユーザに対して固有であるか固有でないかによっては、複数のユーザ）が、複数の検索結果ページを閲覧する選択を好みうる。したがって、すでにキャッシュに格納されている検索結果で後続のページ検索要求を都合よく満たすことができるように、複数ページにわたって表示できる検索結果の量が、最初のページ検索要求中に直接要求されてもよい。したがって、かかる統計情報は、キャッシュ粒度を設定する根拠として利用できる。例えば、キャッシュ粒度は、キャッシュヒット率を高めるために、１検索結果ページに表示できる検索結果の量の倍数に設定されてよい。１検索結果ページに表示できる検索結果の量の倍数としてキャッシュ粒度を設定することは、特に、１つの表示技術における検索要求の処理を最適化するのに適している。
【００６８】
別の具体的な実施形態において、キャッシュ粒度は、異なる表示技術に関する異なる検索要求内で要求された検索結果の数に基づいて設定されてもよい。異なる表示タイプ固有検索要求が、キャッシュに格納されているコンテンツを効率的に共有できるようにするために、様々な実施形態において、キャッシュ粒度は、異なる表示タイプ固有検索要求の中で最大の要求検索結果量パラメータ以上に設定される。例えば、キャッシュ粒度は、異なる表示タイプ固有検索要求の中で最大の要求検索結果量パラメータの倍数に設定されてよい。例えば、ページごと技術でページあたりの表示量が１０であり、カスケード技術でロードあたりの表示量が３であると仮定する。そうすれば、キャッシュ粒度の量は、１０の倍数、すなわち、１０、２０、３０などに設定されうる。
【００６９】
例えば、最初の期間に「ａｐｐｌｅ  ｉＰｈｏｎｅ４」というクエリキーワードを含むユーザクエリを送信したユーザのためにリトリーブされた検索結果を表示するために、ページごと表示タイプが用いられ、後の期間に「ａｐｐｌｅ  ｉＰｈｏｎｅ４」という同じクエリ語を含むユーザクエリを送信した同じユーザまたは別のユーザのためにリトリーブされた検索結果を表示するために、カスケード表示タイプが用いられたとする。ページごと表示タイプを用いたデバイスは、最初のページ検索結果を最初に表示する動作を実行し、その後、２ページ目の検索結果を閲覧するためのユーザ選択を受信する。カスケード表示タイプを用いたデバイスは、検索結果ページをさらにスクロールダウンするユーザ動作に応答して、次に続く検索結果のセットをロードする。検索結果のページごと表示およびカスケード表示中の表示された検索結果との上述のユーザ相互作用の結果として、本明細書に記載のキャッシュサーバは、以下の表２に示すようにコンテンツを保存しうる。この例において、キャッシュ粒度は２０に設定され、各検索結果は商品を含む。
【表２】
2016531367.tif 000004
【００７０】
異なる表示タイプおよび異なる検索要求に関連する５アクセスは、１つの検索エンジン要求および１つのキャッシュされたキー・値ペア（キャッシュクエリ要求「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝２０」を含むキー、および、対応する商品１〜１８を含む値）しか必要としないことが、上記の表２における例からわかる。この例の第１のアクセス（最初の検索結果ページを閲覧するためのページごとのユーザ動作）の後、キャッシュサーバは、以下の表３に示すようにキー・値ペアを保存する。
【表３】
2016531367.tif 000005
【００７１】
したがって、キャッシュ粒度の量を異なる表示タイプ固有検索要求の中で最大の要求検索結果量の倍数に設定することにより、キャッシュヒット率を上げ、検索エンジンの検索回数を減らすことができる。
【００７２】
表２および表３に関する例に示されるように、キャッシュクエリ要求内で指定された要求検索結果量よりも、取得できる利用可能な検索結果が少ない場合がある。例えば、キャッシュクエリ要求内で指定された要求検索結果量よりも、利用可能な一致検索結果の数が少ない場合には、キャッシュクエリ要求内で要求検索結果量によって指定された量未満が、検索エンジンによって実際に取得されてもよい。例えば、表２および表３の例において、実際に取得できる検索結果の量は１８であり、これは、キャッシュクエリ要求内の要求検索結果量パラメータ（ｎ＝２０）よりも少ない。したがって、これらの例において、キャッシュ粒度は、各キャッシュクエリ要求に対応する検索結果の許可されたキャッシュ格納量を制限するために用いられるが、各キャッシュクエリ要求に対応してキャッシュに実際に格納されている検索結果の量と必ずしも等しくはない。したがって、様々な実施形態において、キャッシュに実際に格納されている各キャッシュクエリ要求に対応する検索結果の量は、キャッシュ粒度以下である。
【００７３】
より大きいキャッシュ粒度が必ずしも望ましくない場合がある。以下は、より大きいキャッシュ粒度を用いる効果をテストする実験解析の説明である。検索エンジン処理時間は、一般に、キャッシュ処理時間よりも長いと仮定される。検索エンジン処理時間は、「ｓ＋ｎ」に関連するが、キャッシュ処理時間は、一般に、一定である。表３に関して上述した例を用いて、各検索要求に対応する検索エンジン処理時間およびキャッシュサーバ処理時間が、以下の表４に示されている。
【表４】
2016531367.tif 000006
【００７４】
ユーザアクセス検索パターン１が以下のようであると仮定する：最初のページを閲覧するためのページごとユーザ動作１００回、２ページ目を閲覧するためのページごとユーザ動作５０回、カスケードの最初のロード８０回、２回目のロードの６０回、および、３回目のロード２０回。キャッシュ粒度が１０または２０である場合の総処理時間が、以下の表５に示されている。
【表５】
2016531367.tif 000007
【００７５】
ユーザアクセス検索パターン１については、より短い処理時間につながることから、好ましい粒度は２０である。
【００７６】
ユーザアクセス検索パターン２が以下のようであると仮定する：最初のページを閲覧するためのページごとユーザ動作１００回、２ページ目を閲覧するためのページごとユーザ動作２０回、カスケードの最初のロード８０回、２回目のロードの６０回、および、３回目のロード２０回。キャッシュ粒度が１０または２０である場合の総処理時間が、以下の表６に示されている。
【表６】
2016531367.tif 000008
【００７７】
ユーザアクセス検索パターン２については、より短い処理時間につながることから、好ましい粒度は１０である。
【００７８】
したがって、システム性能を最適化するために、キャッシュ粒度設定を構成する際に考慮されうる要素は、以下の内の１または複数を含む：検索エンジン処理時間、キャッシュサーバ処理時間、および、履歴ユーザ検索アクセスパターン。
【００７９】
（キャッシュクエリ要求に変換される前の）表示タイプ固有検索要求内の要求検索結果量も、様々な要素（例えば、検索エンジン処理時間、キャッシュサーバ処理時間、および、履歴ユーザ検索アクセスパターン）に基づいて構成できる。いくつかの実施形態において、異なる表示タイプ固有検索要求内の要求検索結果量のパラメータは、それら中で最大のかかるパラメータが他のパラメータの各々の倍数になるように構成される。具体的には、ページごと表示タイプにおいて検索結果ページに表示される要求検索結果の量またはカスケード表示タイプにおいて最初のロードで表示される要求検索結果の量を合理的に選択することにより、それらの中で最大の量が、常に、他の量の各々の倍数になりうる。このように、キャッシュへのアクセス頻度を削減できる。上記の例のように、ページごと表示タイプではページあたり１０商品が表示され、カスケード表示タイプではロードあたり３商品が表示される。したがって、カスケード表示タイプでは、商品１０〜１２が、４回目のロードで取得されうる。したがって、キャッシュは、２回アクセスされる必要がある。しかし、ページごと表示タイプでページあたり１０商品が表示され、カスケード表示タイプで各回に５商品がロードされる場合、キャッシュがアクセスされる必要があるのは１回だけである。したがって、キャッシュアクセス頻度は、上述のように、様々な異なる表示タイプ固有検索要求の要求検索結果量を設定することによってさらに削減されうる。
【００８０】
工程３０８では、キャッシュに格納されているキャッシュクエリ要求に対応する検索結果が特定される。様々な実施形態において、キャッシュは、キー・値ペア技術を用いてコンテンツにインデックス付けし、ここで、各キーは、キャッシュクエリ要求を含み、対応する値は、キャッシュクエリ要求を用いて検索エンジンによって以前に取得された検索結果を含む。したがって、キャッシュは、現在のキャッシュクエリ要求をキャッシュに関連する格納済みのキーと比較することによってクエリされてよい。一致するキーが存在し、したがって、キャッシュヒットがある場合、一致するキャッシュクエリ要求に対応する検索結果が、キャッシュ内で特定される。上記の表２に関する例に戻ると、２つ目の検索結果ページを閲覧するためのページごとユーザ動作は、キャッシュクエリ要求「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝２０」に関連する。この時点で、上記の表３に見られるように、このキャッシュクエリ要求に対応する検索結果は、最初のアクセス（最初の検索結果ページを閲覧するためのページごとユーザ動作）中にキャッシュ内にすでに格納されている。したがって、キャッシュクエリ要求「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝２０」に対応する検索結果は、２つ目のユーザ動作に対してキャッシュ内でルックアップされうる。
【００８１】
工程３１０では、キャッシュクエリ要求に対応する検索結果の少なくとも一部が、表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて抽出される。キャッシュクエリ要求に対応する検索結果がキャッシュから取得された後、キャッシュクエリ要求の元となった表示タイプ固有検索要求に関連付けられている適切な検索結果が、表示タイプ固有検索要求の開始位置パラメータおよび要求検索結果量パラメータに少なくとも部分的に基づいて抽出される。抽出された検索結果は、ユーザクエリを送信したデバイス（例えば、モバイルまたは非モバイル）に送り返される。
【００８２】
上記の表２に関する例に戻ると、２つ目の検索結果ページを閲覧するためのページごとユーザ動作は、キャッシュクエリ要求「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝２０」に関連する。（上記の表３に示すように）キャッシュ内のキャッシュクエリ要求「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝０＆ｎ＝２０」に対応する検索結果は、「商品１，商品２，商品３，商品４，商品５，商品６，商品７，商品８，商品９，商品１０，商品１１，商品１２，商品１３，商品１４，商品１５，商品１６，商品１７，商品１８」である。表示タイプ固有検索要求「ｑ＝ａｐｐｌｅ  ｉｐｈｏｎｅ４＆ｓ＝１０＆ｎ＝１０」内の要求検索結果の開始位置パラメータ（ｓ＝１０）および要求検索結果量（ｎ＝１０）に少なくとも部分的に基づいて、特定されたキャッシュ済みの検索結果から表示タイプ固有検索要求に対応する検索結果の一部（商品１１，商品１２，商品１３，商品１４，商品１５，商品１６，商品１７，商品１８）を抽出し、ユーザクエリが送信されたデバイスにそれらを送り返すことができる。
【００８３】
図４は、キャッシュクエリ要求を生成する処理の一例を示す図である。いくつかの実施形態において、処理４００は、図２のシステム２００で実施される。具体的には、いくつかの実施形態において、処理４００は、ウェブサイトサービスシステム２０８で実施される。いくつかの実施形態では、図３の処理３００が、処理４００を少なくとも部分的に用いて実施される。
【００８４】
工程４０２では、ユーザクエリが受信される。工程４０２は、図３の処理３００の工程３０２と同様に実施できる。
【００８５】
工程４０４では、表示タイプ固有検索要求が、ユーザクエリに少なくとも部分的に基づいて生成される。工程４０４は、図３の処理３００の工程３０４と同様に実施できる。図３の処理３００の工程３０４で上述したように、１または複数の表示タイプ固有検索要求が、同じユーザクエリに対応して生成されてよく、開始位置パラメータおよび／または要求検索結果量パラメータが、同じユーザクエリに基づいて生成された後続の各表示タイプ固有検索要求に対して更新されてよい。
【００８６】
工程４０６では、キャッシュクエリ要求が、表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて生成される。工程４０６は、図３の処理３００の工程３０６と同様に実施できる。
【００８７】
工程４０８では、キャッシュクエリ要求に対応する検索結果がキャッシュに格納されているか否かが判定される。キャッシュクエリ要求に対応する検索結果がキャッシュに格納されているとわかった場合（すなわち、キャッシュヒットの場合）、制御は、工程４１０に進む。逆に、キャッシュクエリ要求に対応する検索結果がキャッシュに格納されていないとわかった場合（すなわち、キャッシュミスの場合）、制御は、工程４１２に進む。キャッシュは、キー・値ペア技術を用いて、格納されているコンテンツにインデックス付けするよう構成されている。したがって、キャッシュは、現在のキャッシュクエリ要求をキャッシュに関連付けられている格納済みのキーと比較することによってクエリされてよい。一致するキーが存在し、したがって、キャッシュヒットがある場合、一致するキャッシュクエリ要求に対応する検索結果が、キャッシュ内で特定される。逆に、一致するキーが存在せず、したがって、キャッシュミスである場合、現行のキャッシュクエリ要求に対応する検索結果は、キャッシュ内に存在しない。
【００８８】
工程４１０では、キャッシュに格納されているキャッシュクエリ要求に対応する検索結果が特定される。キャッシュに格納されている現行のクエリ要求に対応する検索結果が特定される。工程４１０は、図３の処理３００の工程３０８と同様に実施できる。
【００８９】
工程４１２では、キャッシュクエリ要求に対応する検索結果が、検索エンジンを用いて取得される。検索エンジンは、キャッシュクエリ要求に含まれるクエリキーワードと一致する検索結果を見出し、キャッシュクエリ要求に含まれる要求検索結果量までの数の検索結果を返すために、検索を実行するよう要求されうる。上述のように、キャッシュクエリ要求に含まれる要求検索結果量は、設定されたキャッシュ粒度によって規定された量に等しくてよい。ただし、キャッシュクエリ要求に含まれるクエリキーワードに一致する検索結果の数は、検索エンジンによって取得できる一致結果の利用可能性に応じて、キャッシュ粒度によって規定された数以下でありうる。
【００９０】
工程４１４では、キャッシュクエリ要求に対応する取得済みの検索結果は、キャッシュに格納される。キャッシュクエリ要求と、検索エンジンを用いて取得されたキャッシュクエリ要求に対応する検索結果が、インデックスにおけるキー・値ペアとしてキャッシュに格納される。
【００９１】
工程４１６では、キャッシュクエリ要求に対応する検索結果の少なくとも一部が抽出される。表示タイプ固有検索要求に関連付けられているキャッシュクエリ要求に対応する検索結果の少なくとも一部が、表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび表示タイプ固有検索要求に関連付けられている要求検索結果量に少なくとも部分的に基づいて抽出される。工程４１６は、図３の処理３００の工程３１０と同様に実施できる。いくつかの別の実施形態において、キャッシュミスがあり、キャッシュクエリ要求に対応する検索結果が検索エンジンを用いて取得された場合、工程４１６の抽出は、工程４１４でキャッシュに検索結果を格納する前または少なくとも部分的に同時に実行されてよい。
【００９２】
工程４１８では、キャッシュクエリ要求に対応する検索結果から抽出された少なくとも一部は、ユーザクエリに関連するデバイスに送信される。
【００９３】
工程４２０では、ユーザクエリに対応する別の表示タイプ固有検索要求の生成を引き起こすよう構成されたユーザ動作が実行されたか否かが判定される。ユーザクエリに応答して最初の検索結果セットを表示した後のユーザ動作により、さらなる検索結果が同じユーザクエリに対して取得されうるので、複数の表示タイプ固有検索結果が、同じユーザクエリに対して生成されうる。例えば、ページごとの結果表示では、最初の検索結果ページが取得され、要求側デバイスでユーザに表示された後に、ユーザは、次の検索結果ページを閲覧することを選択する場合があるため、別のページごと固有検索要求が、さらなる検索結果をリトリーブするために生成されうる。同様に、例えば、カスケードの結果表示では、最初のロードの検索結果が取得され、要求側デバイスでユーザに表示された後に、ユーザは、次のロードの検索結果を閲覧するために検索結果ページをさらにスクロールダウンする場合があるため、別のカスケード固有検索要求が、さらなる検索結果をリトリーブするために生成されうる。かかるユーザ動作が実行された場合、制御は、工程４０４に戻される。逆に、かかるユーザ動作が実行されていない場合、処理４００は終了する。
【００９４】
図５は、キャッシュクエリ要求を生成するためのシステムの一実施形態を示す図である。例において、システム５００は、受信モジュール５１０、変換モジュール５２０、クエリモジュール５３０、および、抽出・返送モジュール５４０を備える。
【００９５】
モジュールは、１または複数のプロセッサ上で実行されるソフトウェアコンポーネントとして、設計されたプログラム可能論理デバイスおよび／または特定用途向け集積回路などのハードウェアとして実装されてよく、要素は、コンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワーク装置など）に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体（光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど）に格納することができるソフトウェア製品の形態で具現化されてよい。モジュールは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。
【００９６】
受信モジュール５１０は、ユーザクエリをデバイスから受信するよう構成されている。様々な実施形態において、受信モジュール５１０は、受信した各ユーザクエリに基づいて表示タイプ固有検索要求を生成するよう構成されている。変換モジュール５２０は、設定されたキャッシュ粒度に従って、表示タイプ固有検索要求をキャッシュクエリ要求に変換するよう構成されている。クエリモジュール５３０は、キャッシュのために格納されているキーとキャッシュクエリ要求を比較することによって、キャッシュ内でキャッシュクエリ要求に対応する検索結果をルックアップするよう構成されている。抽出・返送モジュール５４０は、キャッシュクエリ要求に対応する検索結果から表示タイプ固有検索要求に関連する検索結果を抽出するよう構成されている。
【００９７】
キャッシュクエリ要求に一致するキーがキャッシュに対して格納されていない場合、クエリモジュール５３０は、さらに、キャッシュクエリ要求に対応する検索結果を検索エンジンから取得し、キャッシュクエリ要求に対応する検索結果をキャッシュ内に格納するよう構成されている。
【００９８】
様々な実施形態において、表示タイプ固有検索要求は、少なくとも、クエリキーワードパラメータ、要求検索結果開始位置パラメータ、要求検索結果量パラメータを含む。様々な実施形態において、キャッシュクエリ要求は、少なくとも、ユーザクエリのクエリキーワードに設定されたクエリキーワードパラメータ、表示タイプ固有検索要求に含まれる開始位置とキャッシュ粒度とに基づいて設定された要求検索結果開始位置パラメータ、および、キャッシュ粒度に基づいて決定された要求検索結果量パラメータを含む。いくつかの実施形態において、キャッシュクエリ要求内の開始位置パラメータは、キャッシュ粒度の倍数に設定され、表示タイプ固有検索要求内の開始位置パラメータ以下であり、表示タイプ固有検索要求に含まれる開始位置に加算された時に、合計が表示タイプ固有検索要求内の開始位置パラメータ以上になる。いくつかの実施形態において、キャッシュクエリ要求内の要求検索結果量は、キャッシュ粒度によって規定された量に設定される。
【００９９】
いくつかの実施形態において、キャッシュ粒度は、異なる表示タイプ固有検索要求内の要求検索結果量に基づいて設定されうる。いくつかの実施形態において、キャッシュ粒度は、異なる表示タイプ固有検索要求の中で最大の要求検索結果量の倍数に基づいて設定されうる。いくつかの実施形態において、異なる表示タイプ固有検索要求内の要求検索結果量は、それらの中で最大のものが常に他の量の各々の倍数になるように設定される。
【０１００】
図６は、キャッシュクエリ要求の生成を実施するためにプログラムされたコンピュータシステムの一実施形態を示す機能図である。明らかに、メッセージに基づいて提示するメッセージデータを決定するために、他のコンピュータシステムアーキテクチャおよび構成を用いることも可能である。以下に述べるような様々なサブシステムを備えるコンピュータシステム６００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサまたは中央処理装置（ＣＰＵ）とも呼ばれる）６０２を備える。例えば、プロセッサ６０２は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ６０２は、コンピュータシステム６００の動作を制御する汎用デジタルプロセッサである。メモリ６１０から読み出された命令を用いて、プロセッサ６０２は、入力データの受信および操作、ならびに、出力デバイス（例えば、ディスプレイ６１８）上でのデータの出力および表示を制御する。いくつかの実施形態において、プロセッサ６０２は、キャッシュクエリ要求の生成を提供することを含む、および／または、提供するために用いられる。
【０１０１】
プロセッサ６０２は、メモリ６１０と双方向的に接続されており、メモリ６１０は、第１のプライマリストレージ領域（通例は、ランダムアクセスメモリ（ＲＡＭ））および第２のプライマリストレージ領域（通例は、リードオンリーメモリ（ＲＯＭ））を含みうる。当業者に周知のように、プライマリストレージは、一般的な記憶領域として、および、スクラッチパッドメモリとして利用可能であり、また、入力データおよび処理済みデータを格納するために利用可能である。プライマリストレージは、さらに、プロセッサ６０２上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納できる。また、当業者に周知のように、プライマリストレージは、通例、機能（例えば、プログラムされた命令）を実行するためにプロセッサ６０２によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、メモリ６１０は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述する任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ６０２は、頻繁に必要になるデータをキャッシュメモリ（図示せず）に直接的かつ非常に迅速に格納し取り出すことができる。
【０１０２】
着脱可能マスストレージデバイス６１２が、コンピュータシステム６００にさらなるデータ記憶容量を提供しており、プロセッサ６０２に対して双方向（読み出し／書き込み）または単方向（読み出しのみ）に接続されている。例えば、ストレージ６１２は、磁気テープ、フラッシュメモリ、ＰＣカード、携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体も含みうる。固定マスストレージ６２０も、例えば、さらなるデータ記憶容量を提供しうる。固定マスストレージ６２０の最も一般的な例は、ハードディスクドライブである。マスストレージ６１２、６２０は、一般に、プロセッサ６０２によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。マスストレージ６１２および６２０に保持された情報は、必要であれば、仮想メモリとしてのメモリ６１０（例えば、ＲＡＭ）の一部に標準的な方式で組み込まれてよいことが理解される。
【０１０３】
プロセッサ６０２がストレージサブシステムにアクセスできるようにすることに加えて、バス６１４は、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイ６１８、ネットワークインターフェース６１６、キーボード６０４、および、ポインティングデバイス６０８、ならびに、必要に応じて、補助入力／出力デバイスインターフェース、サウンドカード、スピーカ、および、その他のサブシステムを含みうる。例えば、ポインティングデバイス６０８は、マウス、スタイラス、トラックボール、または、タブレットであってよく、グラフィカルユーザインターフェースと相互作用するのに有用である。
【０１０４】
ネットワークインターフェース６１６は、図に示すように、ネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークにプロセッサ６０２を接続することを可能にする。例えば、ネットワークインターフェース６１６を通して、プロセッサ６０２は、方法／処理ステップを実行する過程で、別のネットワークから情報（例えば、データオブジェクトまたはプログラム命令）を受信したり、別のネットワークに情報を出力したりすることができる。情報は、しばしば、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード（または同様のデバイス）と、プロセッサ６０２によって実装（例えば、実行／実施）される適切なソフトウェアとを用いて、コンピュータシステム６００を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ６０２上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク（インターネット、イントラネットワーク、または、ローカルエリアネットワークなど）上で実行されてもよい。さらなるマスストレージデバイス（図示せず）が、ネットワークインターフェース６１６を通してプロセッサ６０２に接続されてもよい。
【０１０５】
補助Ｉ／Ｏデバイスインターフェース（図示せず）が、コンピュータシステム６００と共に用いられてよい。補助Ｉ／Ｏデバイスインターフェースは、プロセッサ６０２がデータを送信すること、ならびに、より典型的には、他のデバイス（マイクロホン、タッチセンサ方式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど）からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。
【０１０６】
いくつかの実施形態において、コンピュータ装置は、１または複数のプロセッサ（ＣＰＵ）と、入力／出力インターフェースと、ネットワークインターフェースと、メモリとを備える。メモリは、コンピュータ読み取り可能な媒体内の揮発性ストレージデバイス、ランダムアクセスメモリ（ＲＡＭ）、および／または、リードオンリーメモリ（ＲＯＭ）またはフラッシュメモリ（フラッシュＲＡＭ）などの不揮発性メモリなどの形態を含みうる。メモリは、コンピュータ読み取り可能な媒体の一例である。
【０１０７】
コンピュータ読み取り可能な媒体は、永続的および非永続的な媒体、着脱可能および着脱不可能な媒体を含み、任意の技術またはテクノロジーによって情報の格納を実現できる。情報は、コンピュータ読み取り可能なコマンド、データ構造、プログラムモジュール、または、その他のデータであってよい。コンピュータ記憶媒体の例は、以下を含むがこれらに限定されない：相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、その他のタイプのランダムアクセスメモリ、リードオンリーメモリ（ＲＯＭ）、電気消去可能プログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、または、その他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多機能ディスク（ＤＶＤ）、または、その他の光学ストレージ、磁気カセット、磁気テープまたは磁気ディスクメモリ、または、その他の磁気ストレージ装置、または、コンピュータにアクセス可能な情報を格納するために利用できる任意のその他の非伝送媒体。本明細書で規定されているように、コンピュータ読み取り可能な媒体は、変調データ信号および搬送波など、一時的なコンピュータ読み取り可能媒体を含まない。
【０１０８】
当業者は、本願の実施形態が、技術、システム、または、コンピュータソフトウェア製品として提供されうることを理解されたい。したがって、本願は、完全なハードウェア実施形態、完全なソフトウェア実施形態、もしくは、ソフトウェアおよびハードウェアを組み合わせた実施形態を取りうる。さらに、本願は、コンピュータ動作可能なプログラムコードを含む１または複数のコンピュータ動作可能な記憶媒体（磁気ディスク記憶デバイス、ＣＤ−ＲＯＭ、および、光学記憶デバイスを含むがこれらに限定されない）上に実装されたコンピュータプログラム製品の形態を取りうる。
【０１０９】
以上は、本願の実施形態にすぎず、本願を限定することはない。当業者にとって、本願は、様々な変形例および変更例を有しうる。本願の精神および原理の範囲内でなされた任意の変形、等価的な置換、または、改良はすべて、本願の請求項の範囲内に含まれる。
【０１１０】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
【図１】
2016531367.tif 000009
【図２】
2016531367.tif 000010
【図３】
2016531367.tif 000011
【図４】
2016531367.tif 000012
【図５】
2016531367.tif 000013
【図６】
2016531367.tif 000014
【手続補正書】
【提出日】平成28年3月29日(2016.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
デバイスからユーザクエリを受信し、前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するよう構成されている受信モジュールと、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するよう構成されている変換モジュールと、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するよう構成されているクエリモジュールと、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するよう構成されている抽出・返送モジュールと、
を備える、システム。
【請求項２】
請求項１に記載のシステムであって、前記ユーザクエリは、１または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、ページごと表示タイプ識別子を含む、システム。
【請求項３】
請求項１に記載のシステムであって、前記ユーザクエリは、１または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、カスケード表示タイプ識別子を含む、システム。
【請求項４】
請求項１に記載のシステムであって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている１または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
【請求項５】
請求項１に記載のシステムであって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている１または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
【請求項６】
請求項５に記載のシステムであって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、１）前記キャッシュ粒度の倍数であること、２）前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、３）前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、システム。
【請求項７】
請求項１に記載のシステムであって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、システム。
【請求項８】
請求項１に記載のシステムであって、前記抽出・返送モジュールは、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信するよう構成されている、システム。
【請求項９】
請求項１に記載のシステムであって、前記クエリモジュールは、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を、前記キャッシュに関連付けられている前記キーに対応する値として格納するよう構成されている、システム。
【請求項１０】
請求項１に記載のシステムであって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、システム。
【請求項１１】
請求項１に記載のシステムであって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求のそれぞれに関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、システム。
【請求項１２】
方法であって、
デバイスからユーザクエリを受信し、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成し、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成し、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定し、
１または複数のプロセッサを用いて、前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出すること、
を備える、方法。
【請求項１３】
請求項１２に記載の方法であって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている１または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
【請求項１４】
請求項１２に記載の方法であって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている１または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
【請求項１５】
請求項１４に記載の方法であって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、１）前記キャッシュ粒度の倍数であること、２）前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、３）前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、方法。
【請求項１６】
請求項１２に記載の方法であって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、方法。
【請求項１７】
請求項１２に記載の方法であって、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信することを備える、方法。
【請求項１８】
請求項１２に記載の方法であって、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュに関連付けられている前記キーに対応する値として格納すること、
を備える、方法。
【請求項１９】
請求項１２に記載の方法であって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、方法。
【請求項２０】
請求項１２に記載の方法であって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求に関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、方法。
【請求項２１】
コンピュータプログラムであって、
デバイスからユーザクエリを受信するための機能と、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するための機能と、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するための機能と、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するための機能と、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するための機能と、
をコンピュータによって実現させる、コンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例１：システムであって、
デバイスからユーザクエリを受信し、前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するよう構成されている受信モジュールと、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するよう構成されている変換モジュールと、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するよう構成されているクエリモジュールと、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するよう構成されている抽出・返送モジュールと、
を備える、システム。
適用例２：適用例１に記載のシステムであって、前記ユーザクエリは、１または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、ページごと表示タイプ識別子を含む、システム。
適用例３：適用例１に記載のシステムであって、前記ユーザクエリは、１または複数のクエリキーワードと、前記デバイスに関連付けられている表示タイプ識別子と、を含み、前記表示タイプ識別子は、カスケード表示タイプ識別子を含む、システム。
適用例４：適用例１に記載のシステムであって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている１または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
適用例５：適用例１に記載のシステムであって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている１または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定することを含む、システム。
適用例６：適用例５に記載のシステムであって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、１）前記キャッシュ粒度の倍数であること、２）前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、３）前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、システム。
適用例７：適用例１に記載のシステムであって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、システム。
適用例８：適用例１に記載のシステムであって、前記抽出・返送モジュールは、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信するよう構成されている、システム。
適用例９：適用例１に記載のシステムであって、前記クエリモジュールは、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を、前記キャッシュに関連付けられている前記キーに対応する値として格納するよう構成されている、システム。
適用例１０：適用例１に記載のシステムであって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、システム。
適用例１１：適用例１に記載のシステムであって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求のそれぞれに関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、システム。
適用例１２：方法であって、
デバイスからユーザクエリを受信し、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成し、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成し、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定し、
１または複数のプロセッサを用いて、前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出すること、
を備える、方法。
適用例１３：適用例１２に記載の方法であって、前記ユーザクエリに少なくとも部分的に基づいて前記表示タイプ固有検索要求を生成することは、
前記ユーザクエリに関連付けられている１または複数のクエリキーワードに基づいて、前記表示タイプ固有検索要求に関連付けられているクエリキーワードパラメータを決定し、
デフォルトの開始位置の値に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータを決定し、
前記表示タイプ識別子に関連付けて設定された要求検索結果量に少なくとも部分的に基づいて、前記表示タイプ固有検索要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
適用例１４：適用例１２に記載の方法であって、前記表示タイプ固有検索要求および前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求を生成することは、
前記表示タイプ固有検索要求に関連付けられている１または複数のクエリキーワードに基づいて、前記キャッシュクエリ要求に関連付けられているクエリキーワードパラメータを決定し、
前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータと、前記キャッシュ粒度とに少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータを決定し、
前記キャッシュ粒度に少なくとも部分的に基づいて、前記キャッシュクエリ要求に関連付けられている前記要求検索結果量パラメータを決定すること、
を含む、方法。
適用例１５：適用例１４に記載の方法であって、前記キャッシュクエリ要求に関連付けられている前記開始位置パラメータは、１）前記キャッシュ粒度の倍数であること、２）前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以下であること、かつ、３）前記キャッシュ粒度に加算された時に、合計が前記表示タイプ固有検索要求に関連付けられている前記開始位置パラメータ以上になることを含む、方法。
適用例１６：適用例１２に記載の方法であって、前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュ内で特定することは、前記キャッシュに関連付けて格納されているキーと前記キャッシュクエリを比較することを含む、方法。
適用例１７：適用例１２に記載の方法であって、さらに、前記キャッシュクエリ要求に対応する前記検索結果の前記抽出された少なくとも一部を前記デバイスに送信することを備える、方法。
適用例１８：適用例１２に記載の方法であって、さらに、
前記キャッシュクエリ要求に対応する前記検索結果が前記キャッシュに格納されていないと判定し、
前記判定に応答して、検索エンジンを用いて、前記キャッシュクエリ要求に対応する前記検索結果を取得し、
前記キャッシュクエリ要求を前記キャッシュに関連付けられているキーとして格納し、
前記キャッシュクエリ要求に対応する前記検索結果を前記キャッシュに関連付けられている前記キーに対応する値として格納すること、
を備える、方法。
適用例１９：適用例１２に記載の方法であって、前記キャッシュ粒度は、履歴ユーザ行動情報に少なくとも部分的に基づいて設定される、方法。
適用例２０：適用例１２に記載の方法であって、前記キャッシュ粒度は、複数の表示タイプ固有検索要求に関連付けられている複数の要求検索結果量パラメータに少なくとも部分的に基づいて設定される、方法。
適用例２１：コンピュータプログラム製品であって、持続性のコンピュータ読み取り可能な記憶媒体を備え、
デバイスからユーザクエリを受信するための命令と、
前記ユーザクエリに少なくとも部分的に基づいて表示タイプ固有検索要求を生成するための命令と、
前記表示タイプ固有検索要求およびキャッシュ粒度に少なくとも部分的に基づいて、キャッシュクエリ要求を生成するための命令と、
キャッシュに格納されている前記キャッシュクエリ要求に対応する検索結果を特定するための命令と、
前記表示タイプ固有検索要求に関連付けられている開始位置パラメータおよび前記表示タイプ固有検索要求に関連付けられている要求検索結果量パラメータに少なくとも部分的に基づいて、前記キャッシュクエリ要求に対応する前記検索結果の少なくとも一部を抽出するための命令と、
を備える、コンピュータプログラム製品。
【国際調査報告】
2016531367.tif 000015
2016531367.tif 000016