(57)【特許請求の範囲】
【請求項１】
データ処理装置によって実行される方法であって、前記方法が、
ユーザデバイスによって提出された検索要求に対する応答リソースのセットを指定するデータを受信するステップと、
データ処理装置によって、前記応答リソースのセットからの特定のリソースに対するリソース要求が前記ユーザデバイスを前記特定のリソースとは異なるリソースへリダイレクトさせることになることを判断するステップと、
前記判断に応答して、データ処理装置によって、前記異なるリソースへの参照を前記特定のリソースに関する検索結果に挿入するステップであって、前記参照が、前記検索結果とのユーザ対話に応答して前記異なるリソースに対するリソース要求を開始するように構成され、前記リソース要求が、前記特定のリソースに対するリソース要求とは独立して開始される、ステップと、
前記特定のリソースに関する前記検索結果を前記ユーザデバイスに提供するステップであって、前記検索結果が前記異なるリソースへの前記参照を含む、ステップと
を含む方法。
【請求項２】
前記特定のリソースに対する要求が前記ユーザデバイスを異なるリソースへリダイレクトさせることになることを判断するステップが、
前記ユーザデバイスがモバイルデバイスであることを判断するステップと、
モバイルデバイスからの前記特定のリソースに対するリソース要求が前記モバイルデバイスをリダイレクトさせることになることを判断するステップと
を含む、請求項1に記載の方法。
【請求項３】
モバイルデバイスからの前記特定のリソースに対するリソース要求が前記モバイルデバイスをリダイレクトさせることになることを判断するステップが、
リダイレクトリソースとして識別された1つまたは複数のリソースを指定するリダイレクトデータを受信するステップであって、リダイレクトリソースが、前記リダイレクトリソースに対するリソース要求に応答して少なくとも1つのユーザデバイスに異なるリソースを要求させることになるリソースである、ステップと、
前記特定のリソースに関する識別子が前記リダイレクトデータに含まれていることを判断するステップと、
前記特定のリソースに関する前記リダイレクトデータが、前記特定のリソースがモバイルデバイスからの前記特定のリソースに対する要求に応答して前記モバイルデバイスを前記異なるリソースへリダイレクトさせることを示すことを判断するステップと
を含む、請求項2に記載の方法。
【請求項４】
前記特定のリソースに関する前記リダイレクトデータが、前記特定のリソースが非モバイルデバイスからの前記特定のリソースに対するリソース要求に応答して前記非モバイルデバイスを前記異なるリソースへリダイレクトさせないことを示すことを判断するステップをさらに含む、請求項3に記載の方法。
【請求項５】
前記特定のリソースに関する検索結果を指定するデータを受信するステップであって、前記検索結果が前記特定のリソースへのリンクを含む、ステップと、
前記検索結果が非モバイルデバイスに提供されていることを判断するステップと、
前記検索結果を前記非モバイルデバイスに提供するステップであって、前記検索結果が前記特定のリソースへの前記リンクを含む、ステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
前記ユーザデバイスによって、前記特定のリソースに関する前記検索結果を受信するステップであって、前記検索結果が前記異なるリソースへの前記参照を含む、ステップと、
前記ユーザデバイスによって、前記検索結果とのユーザ対話が発生したことを判断するステップと、
前記ユーザデバイスによって、前記検索結果との前記ユーザ対話に応答して前記異なるリソースを要求するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
前記ユーザデバイスが前記特定のリソースに関するクッキーを記憶していることを判断するステップをさらに含み、前記特定のリソースに対する前記リソース要求が前記ユーザデバイスを異なるリソースへリダイレクトさせることになることを判断するステップが、前記異なるリソースが前記クッキーからの情報に少なくとも部分的に基づいて選択されることを判断するステップを含む、請求項1に記載の方法。
【請求項８】
前記ユーザデバイスから受信した言語設定データが前記ユーザデバイスのための特定の言語を指定することを判断するステップをさらに含み、前記特定のリソースに対する前記リソース要求が前記ユーザデバイスを異なるリソースへリダイレクトさせることになることを判断するステップが、前記異なるリソースが前記特定の言語を表す前記言語設定データを前記ユーザデバイスから受信することに少なくとも部分的に基づいて選択されることを判断するステップを含む、請求項1に記載の方法。
【請求項９】
データ処理装置によって、前記応答リソースのセットがブランドベースのリダイレクトリソースを含むことを判断するステップであって、前記ブランドベースのリダイレクトリソースが、特定のブランドのユーザデバイスを前記ブランドベースのリダイレクトリソースと異なるブランド特定のリソースへリダイレクトさせるリソースである、ステップと、
前記ブランドベースのリダイレクトリソースに関するブランドベースのリダイレクトデータが少なくとも1つのブランドのユーザデバイスに利用可能ではないことを判断するステップと、
前記ブランドベースのリダイレクトリソースに関する検索結果を前記ユーザデバイスに提供するステップであって、前記ブランドベースのリダイレクトリソースに関する前記検索結果が前記ブランドベースのリダイレクトリソースへの参照を含む、ステップと
を含む、請求項1に記載の方法。
【請求項１０】
データ処理装置によって、前記応答リソースのセットが言語ベースのリダイレクトリソースを含むことを判断するステップであって、前記言語ベースのリダイレクトリソースが、特定の言語設定データを有するユーザデバイスを前記言語ベースのリダイレクトリソースとは異なる言語特定のリソースへリダイレクトさせるリソースである、ステップと、
前記言語ベースのリダイレクトリソースに関する言語ベースのリダイレクトデータが少なくとも1つの言語設定に利用可能ではないことを判断するステップと、
前記言語ベースのリダイレクトリソースに関する検索結果を前記ユーザデバイスに提供するステップであって、前記言語ベースのリダイレクトリソースに関する前記検索結果が前記言語ベースのリダイレクトリソースへの参照を含む、ステップと
を含む、請求項1に記載の方法。
【請求項１１】
データ処理装置によって、前記応答リソースのセットが過渡的リダイレクトリソースを含むことを判断するステップであって、前記過渡的リダイレクトリソースがユーザデバイスを前記過渡的リダイレクトリソースとは異なる過渡的リソースへリダイレクトさせるリソースである、ステップと、
前記過渡的リダイレクトリソースに関する検索結果を前記ユーザデバイスに提供するステップであって、前記過渡的リダイレクトリソースに関する前記検索結果が前記過渡的リソースへの参照を含まない、ステップと
を含む、請求項1に記載の方法。
【請求項１２】
コンピュータプログラムで符号化されたコンピュータ記憶媒体であって、前記コンピュータプログラムが、データ処理装置によって実行されたとき、前記データ処理装置に動作を実行させる命令を備え、前記動作が、
ユーザデバイスによって提出された検索要求に対する応答リソースのセットを指定するデータを受信する動作と、
前記応答リソースのセットからの特定のリソースに対するリソース要求が前記ユーザデバイスを前記特定のリソースとは異なるリソースへリダイレクトさせることになることを判断する動作と、
前記判断に応答して、前記異なるリソースへの参照を前記特定のリソースに関する検索結果に挿入する動作であって、前記参照が、前記検索結果とのユーザ対話に応答して前記異なるリソースに対するリソース要求を開始するように構成され、前記リソース要求が、前記特定のリソースに対するリソース要求とは独立して開始される、動作と、
前記特定のリソースに関する前記検索結果を前記ユーザデバイスに提供する動作であって、前記検索結果が前記異なるリソースへの前記参照を含む、動作と
を含む、コンピュータ記憶媒体。
【請求項１３】
ユーザデバイスと、
前記ユーザデバイスと対話し、動作を実行するように動作可能な1つまたは複数のコンピュータと
を備えるシステムであって、前記動作が、
前記ユーザデバイスによって提出された検索要求に対する応答リソースのセットを指定するデータを受信する動作と、
前記応答リソースのセットからの特定のリソースに対するリソース要求が前記ユーザデバイスを前記特定のリソースとは異なるリソースへリダイレクトさせることになることを判断する動作と、
前記判断に応答して、前記異なるリソースへの参照を前記特定のリソースに関する検索結果に挿入する動作であって、前記参照が、前記検索結果とのユーザ対話に応答して前記異なるリソースに対するリソース要求を開始するように構成され、前記リソース要求が、前記特定のリソースに対するリソース要求とは独立して開始される、動作と、
前記特定のリソースに関する前記検索結果を前記ユーザデバイスに提供する動作であって、前記検索結果が前記異なるリソースへの前記参照を含む、動作と
を含む、システム。
【請求項１４】
前記特定のリソースに対する要求が前記ユーザデバイスを異なるリソースへリダイレクトさせることになることを判断する動作が、
前記ユーザデバイスがモバイルデバイスであることを判断する動作と、
モバイルデバイスからの前記特定のリソースに対するリソース要求が前記モバイルデバイスをリダイレクトさせることになることを判断する動作と
を含む、請求項13に記載のシステム。
【請求項１５】
モバイルデバイスからの前記特定のリソースに対するリソース要求が前記モバイルデバイスをリダイレクトさせることになることを判断する動作が、
リダイレクトリソースとして識別された1つまたは複数のリソースを指定するリダイレクトデータを受信する動作であって、リダイレクトリソースが、前記リダイレクトリソースに対するリソース要求に応答して少なくとも1つのユーザデバイスに異なるリソースを要求させることになるリソースである、動作と、
前記特定のリソースに関する識別子が前記リダイレクトデータに含まれていることを判断する動作と、
前記特定のリソースに関する前記リダイレクトデータが、前記特定のリソースがモバイルデバイスからの前記特定のリソースに対する要求に応答して前記モバイルデバイスを前記異なるリソースへリダイレクトさせることを示すことを判断する動作と
を含む、請求項14に記載のシステム。
【請求項１６】
前記1つまたは複数のコンピュータが、前記特定のリソースに関する前記リダイレクトデータが、前記特定のリソースが非モバイルデバイスからの前記特定のリソースに対するリソース要求に応答して前記非モバイルデバイスを前記異なるリソースへリダイレクトさせないことを示すことを判断する動作を含む動作を実行するようにさらに動作可能である、請求項15に記載のシステム。
【請求項１７】
前記1つまたは複数のコンピュータが、
前記特定のリソースに関する検索結果を指定するデータを受信する動作であって、前記検索結果が前記特定のリソースへのリンクを含む、動作と、
前記検索結果が非モバイルデバイスに提供されていることを判断する動作と、
前記検索結果を前記非モバイルデバイスに提供する動作であって、前記検索結果が前記特定のリソースへの前記リンクを含む、動作と
を含む動作を実行するようにさらに動作可能である、請求項16に記載のシステム。
【請求項１８】
前記ユーザデバイスが、
前記特定のリソースに関する前記検索結果を受信する動作であって、前記検索結果が前記異なるリソースへの前記参照を含む、動作と、
前記検索結果とのユーザ対話が発生したことを判断する動作と、
前記検索結果との前記ユーザ対話に応答して前記異なるリソースを要求する動作と
を含む動作を実行するようにさらに動作可能である、請求項13に記載のシステム。
【請求項１９】
前記1つまたは複数のコンピュータが、
前記ユーザデバイスが前記特定のリソースに関するクッキーを記憶していることを判断する動作を含む動作を実行するようにさらに動作可能であり、前記特定のリソースに対する前記リソース要求が前記ユーザデバイスを異なるリソースへリダイレクトさせることになることを判断する動作が、前記異なるリソースが前記クッキーからの情報に少なくとも部分的に基づいて選択されることを判断する動作を含む、請求項13に記載のシステム。
【請求項２０】
前記1つまたは複数のコンピュータが、
前記ユーザデバイスから受信した言語設定データが前記ユーザデバイスのための特定の言語を指定することを判断する動作を含む動作を実行するようにさらに動作可能であり、前記特定のリソースに対する前記リソース要求が前記ユーザデバイスを異なるリソースへリダイレクトさせることになることを判断する動作が、前記異なるリソースが前記特定の言語を表す前記言語設定データを前記ユーザデバイスから受信することに少なくとも部分的に基づいて選択されることを判断する動作を含む、請求項13に記載のシステム。
【請求項２１】
前記1つまたは複数のコンピュータが、
前記応答リソースのセットがブランドベースのリダイレクトリソースを含むことを判断する動作であって、前記ブランドベースのリダイレクトリソースが、特定のブランドのユーザデバイスを前記ブランドベースのリダイレクトリソースと異なるブランド特定のリソースへリダイレクトさせるリソースである、動作と、
前記ブランドベースのリダイレクトリソースに関するブランドベースのリダイレクトデータが少なくとも1つのブランドのユーザデバイスに利用可能ではないことを判断する動作と、
前記ブランドベースのリダイレクトリソースに関する検索結果を前記ユーザデバイスに提供する動作であって、前記ブランドベースのリダイレクトリソースに関する前記検索結果が前記ブランドベースのリダイレクトリソースへの参照を含む、動作と
を含む動作を実行するようにさらに動作可能である、請求項13に記載のシステム。
【請求項２２】
前記1つまたは複数のコンピュータが、
前記応答リソースのセットが言語ベースのリダイレクトリソースを含むことを判断する動作であって、前記言語ベースのリダイレクトリソースが、特定の言語設定データを有するユーザデバイスを前記言語ベースのリダイレクトリソースとは異なる言語特定のリソースへリダイレクトさせるリソースである、動作と、
前記言語ベースのリダイレクトリソースに関する言語ベースのリダイレクトデータが少なくとも1つの言語設定に利用可能ではないことを判断する動作と、
前記言語ベースのリダイレクトリソースに関する検索結果を前記ユーザデバイスに提供する動作であって、前記言語ベースのリダイレクトリソースに関する前記検索結果が前記言語ベースのリダイレクトリソースへの参照を含む、動作と
を含む動作を実行するようにさらに動作可能である、請求項13に記載のシステム。
【請求項２３】
前記1つまたは複数のコンピュータが、
前記応答リソースのセットが過渡的リダイレクトリソースを含むことを判断する動作であって、前記過渡的リダイレクトリソースがユーザデバイスを前記過渡的リダイレクトリソースとは異なる過渡的リソースへリダイレクトさせるリソースである、動作と、
前記過渡的リダイレクトリソースに関する検索結果を前記ユーザデバイスに提供する動作であって、前記過渡的リダイレクトリソースに関する前記検索結果が前記過渡的リソースへの参照を含まない、動作と
を含む動作を実行するようにさらに動作可能である、請求項13に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その両方が参照により全体が本明細書に組み込まれている、2011年12月7日に出願した「REDUCING REDIRECTS」と題する米国特許出願第61/567,758号、および、2012年6月27日に出願した「REDUCING REDIRECTS」と題する米国特許出願第13/534,640号の35U.S.C.§119(e)の下での利益を主張するものである。
【０００２】
本明細書は、データ処理および情報検索に関する。
【背景技術】
【０００３】
インターネットは、画像、ビデオ、もしくはオーディオファイル、および、特定の主題に関するウェブページ、書籍記事、または、ニュース記事などの幅広い種類のリソースへのアクセスを提供する。検索システムは、検索クエリに応答するリソースを識別することができ、識別したリソースを参照する検索結果を提供することができる。ユーザは、表示デバイス上の検索結果を見ることができ、検索結果との対話を介してリソースの提示を要求することができる。例えば、検索結果とのユーザ対話に応答して、検索結果によって参照されるリソースは、検索結果が提示されたディスプレイに提示され得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
一般に、本明細書で説明する主題の1つの革新的な態様は、ユーザデバイスによって提出された検索要求に対する応答リソースのセットを指定するデータを受信するアクションと、データ処理装置によって、応答リソースのセットからの特定のリソースに対するリソース要求がユーザデバイスを特定のリソースとは異なるリソースへリダイレクトさせることになることを判断するアクションと、判断に応答して、データ処理装置によって、異なるリソースへの参照を特定のリソースに関する検索結果に挿入するアクションであって、参照が、検索結果とのユーザ対話に応答して異なるリソースに対するリソース要求を開始するように構成され、リソース要求が、特定のリソースに対するリソース要求とは独立して開始される、アクションと、特定のリソースに関する検索結果をユーザデバイスに提供するアクションであって、検索結果が異なるリソースへの参照を含む、アクションとを含む方法において具体化され得る。この態様の他の実施形態は、コンピュータ記憶デバイス上に符号化された方法のアクションを実行するように構成された、対応するシステム、装置、およびコンピュータプログラムを含む。
【０００５】
これらおよび他の実施形態は、各々、以下の特徴の1つまたは複数をオプションで含むことができる。特定のリソースに対する要求がユーザデバイスを異なるリソースへリダイレクトさせることになることを判断することは、ユーザデバイスがモバイルデバイスであることを判断することと、モバイルデバイスからの特定のリソースに対するリソース要求がモバイルデバイスをリダイレクトさせることになることを判断することとを含むことができる。
【０００６】
モバイルデバイスからの特定のリソースに対するリソース要求がモバイルデバイスをリダイレクトさせることになることを判断することは、リダイレクトリソースとして識別された1つまたは複数のリソースを指定するリダイレクトデータを受信することであって、リダイレクトリソースが、リダイレクトリソースに対するリソース要求に応答して少なくとも1つのユーザデバイスに異なるリソースを要求させることになるリソースである、ことと、特定のリソースに関する識別子がリダイレクトデータに含まれていることを判断することと、特定のリソースに関するリダイレクトデータが、特定のリソースがモバイルデバイスからの特定のリソースに対する要求に応答してモバイルデバイスを異なるリソースへリダイレクトさせることを示すことを判断することとを含むことができる。
【０００７】
方法は、さらに、特定のリソースに関するリダイレクトデータが、特定のリソースが非モバイルデバイスからの特定のリソースに対するリソース要求に応答して非モバイルデバイスを異なるリソースへリダイレクトさせないことを示すことを判断するアクションを含むことができる。
【０００８】
方法は、さらに、特定のリソースに関する検索結果を指定するデータを受信するアクションであって、検索結果が特定のリソースへのリンクを含む、アクションと、検索結果が非モバイルデバイスに提供されていることを判断するアクションと、検索結果を非モバイルデバイスに提供するアクションであって、検索結果が特定のリソースへのリンクを含む、アクションとを含むことができる。
【０００９】
方法は、さらに、ユーザデバイスによって、特定のリソースに関する検索結果を受信するアクションであって、検索結果が異なるリソースへの参照を含む、アクションと、ユーザデバイスによって、検索結果とのユーザ対話が発生したことを判断するアクションと、ユーザデバイスによって、検索結果とのユーザ対話に応答して異なるリソースを要求するアクションとを含むことができる。
【００１０】
方法は、さらに、ユーザデバイスから受信した言語設定データがユーザデバイスのための特定の言語を指定することを判断するアクションを含むことができる。特定のリソースに対する要求がユーザデバイスを異なるリソースへリダイレクトさせることを判断することは、異なるリソースが特定の言語を表す言語設定データをユーザデバイスから受信することに少なくとも部分的に基づいて選択されることを判断することを含むことができる。
【００１１】
方法は、さらに、データ処理装置によって、応答リソースのセットがブランドベースのリダイレクトリソースを含むことを判断するアクションであって、ブランドベースのリダイレクトリソースが、特定のブランドのユーザデバイスをブランドベースのリダイレクトリソースと異なるブランド特定のリソースへリダイレクトさせるリソースである、アクションと、ブランドベースのリダイレクトリソースに関するブランドベースのリダイレクトデータが少なくとも1つのブランドのユーザデバイスに利用可能ではないことを判断するアクションと、ブランドベースのリダイレクトリソースに関する検索結果をユーザデバイスに提供するアクションであって、ブランドベースのリダイレクトリソースに関する検索結果がブランドベースのリダイレクトリソースへの参照を含む、アクションとを含むことができる。
【００１２】
方法は、さらに、データ処理装置によって、応答リソースのセットが言語ベースのリダイレクトリソースを含むことを判断するアクションであって、言語ベースのリダイレクトリソースが、特定の言語設定データを有するユーザデバイスを言語ベースのリダイレクトリソースとは異なる言語特定のリソースへリダイレクトさせるリソースである、アクションと、言語ベースのリダイレクトリソースに関する言語ベースのリダイレクトデータが少なくとも1つの言語設定に利用可能ではないことを判断するアクションと、言語ベースのリダイレクトリソースに関する検索結果をユーザデバイスに提供するアクションであって、言語ベースのリダイレクトリソースに関する検索結果が言語ベースのリダイレクトリソースへの参照を含む、アクションとを含むことができる。
【００１３】
方法は、さらに、データ処理装置によって、応答リソースのセットが過渡的リダイレクトリソースを含むことを判断するアクションであって、過渡的リダイレクトリソースがユーザデバイスを過渡的リダイレクトリソースとは異なる過渡的リソースへリダイレクトさせるリソースである、アクションと、
過渡的リダイレクトリソースに関する検索結果をユーザデバイスに提供するアクションであって、過渡的リダイレクトリソースに関する検索結果が過渡的リソースへの参照を含まない、アクションとを含むことができる。
【００１４】
本明細書で説明する主題の特定の実施形態は、以下の利点の1つまたは複数を実現するように実施され得る。モバイル検索結果(すなわち、モバイルコンピューティングデバイスに提供される検索結果)は、デスクトップリソース(すなわち、モバイルリソースとして識別されていないリソース)にリンクするのではなく、モバイルリソースとして識別されているリソースにリンクすることができる。モバイル検索結果をモバイルリソースにリンクすることは、モバイルコンピューティングデバイスが、モバイルリソースへリダイレクトされる前にデスクトップリソースを要求するのを防止することができる。モバイル検索結果のユーザ選択と、モバイルリソースの提示との間のリダイレクトの数を減らすことは、モバイルリソースを提示するために必要な時間量を低減することができる。
【００１５】
本明細書で説明する主題の1つまたは複数の実施形態の詳細は、添付図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１６】
【図１】検索システムが検索サービスを提供する例示的な環境のブロック図である。
【図２Ａ】リダイレクトリソースを識別するための例示的なデータフローのブロック図である。
【図２Ｂ】リダイレクトを低減するための例示的なデータフローのブロック図である。
【図３】リダイレクトを低減するための例示的なプロセスのフローチャートである。
【図４】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１７】
様々な図面中の同様の参照番号および名称は、同様の要素を示す。
【００１８】
検索クエリに応答して提供される検索結果は、検索クエリに応答するものとして識別されたリソース(例えば、少なくとも検索クエリに対するしきい値関連スコアを有するリソース)を指摘する。検索結果の各々は、一般に、検索クエリに応答するものとして識別されたリソースのうちの1つへのリンク(例えば、アクティブハイパーテキストリンク)を含み、検索結果とのユーザ対話は、検索結果がリンクされたリソースに対する要求を開始することになる。例えば、エレクトロニクス小売業者に関する検索結果は、検索結果とのユーザ対話に応答して、小売業者のウェブサイトのホームページに対する要求を開始するハイパーテキストリンクを含むことができる。
【００１９】
いくつかの状況では、特定のリソースに対する要求は、ユーザデバイスを別のリソース(すなわち、要求されたリソースとは異なるリソース)へリダイレクトさせる場合がある。例えば、いくつかの発行元は、携帯電話などのモバイルデバイスでの表示用にフォーマットされているモバイルリソースを作成し、特定のリソースに対するモバイルデバイスからの要求に応答して、モバイルデバイスをモバイルリソースへリダイレクトする。モバイルリソースは、モバイルデバイスでの提示用にフォーマットされていると判断されているリソースであり、リソースをモバイルリソースとして識別するデータは、それをそのようなものとして識別するために、リソースへの参照と共に記憶され得る。モバイルリソースは、非モバイルデバイス(すなわち、モバイルデバイスとして識別されていないデバイス)が他のリソースに対する要求に続いてリダイレクトされないときに、モバイルデバイスが別のリソースに対する要求に応答してリダイレクトされるリソースを含むことができる。
【００２０】
特定のリソースに対する要求がモバイルデバイスを別のリソースへリダイレクトさせると判断されたとき、特定のリソースに関する検索結果は、モバイルデバイスがそうでなければリダイレクトされることになる他のリソースへのリンク(または、別の参照)を含むことができる。例えば、他のリソースへのリンクは、モバイルデバイスが検索結果とのユーザ対話に応答して特定のリソースではなく他のリソースを要求するように、検索結果中に挿入され得る。
【００２１】
図1は、検索システム110が検索サービスを提供する例示的な環境100のブロック図である。例示的な環境100は、ウェブサイト104、ユーザデバイス106、および検索システム110を接続するネットワーク102、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはこれらの組み合わせを含む。ネットワーク102は、有線および/またはワイヤレス通信リンクを介してアクセスされ得る。例えば、スマートフォンなどのモバイルコンピューティングデバイスは、ネットワークにアクセスするためにセルラーネットワークを利用することができる。環境100は、数百万のウェブサイト104およびユーザデバイス106を含むことができる。
【００２２】
ウェブサイト104は、ドメイン名に関連付けられ、1つまたは複数のサービスによってホストされる1つまたは複数のリソース105である。例示的なウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびプログラム要素、例えば、スクリプトを含むことができる、ハイパーテキストマークアップ言語(HTML)でフォーマットされたウェブページの集合である。各ウェブサイト104は、発行元、例えば、ウェブページを管理および/または所有するエンティティによって維持される。
【００２３】
リソース105は、ネットワーク102を介して(例えば、ウェブサイト104によって)提供されるデータであり、それは、リソースアドレスに関連付けられている。リソース105は、2〜3例を挙げると、HTMLページ、ワードプロセッシング文書、ポータブルドキュメントフォーマット(PDF)文書、画像、ビデオ、および供給源を含む。リソース105は、コンテンツ、例えば、単語、フレーズ、画像、および音声を含むことができ、埋め込まれた情報(例えば、メタ情報およびハイパーリンク)、ならびに/または埋め込まれた命令(例えば、スクリプト)を含むことができる。
【００２４】
ユーザデバイス106は、ユーザの制御下にあり、ネットワーク102を介してリソース105を要求および受信することができる電子デバイスである。例示的なユーザデバイス106は、ネットワーク102を介してデータを送信および受信することができるパーソナルコンピュータ、モバイルコンピューティングデバイス(例えば、スマートフォン、および/またはタブレットコンピューティングデバイス)を含む。本文書を通じて使用されるモバイルコンピューティングデバイス(「モバイルデバイス」)という用語は、モバイル通信ネットワークを介して通信するように構成されたユーザデバイスを指す。スマートフォン(すなわち、インターネットを介して通信することができる電話機)は、モバイルデバイスの一例である。
【００２５】
ユーザデバイス106は、典型的には、ネットワーク102を介したデータの送信および受信を容易にするために、ユーザアプリケーション、例えば、ウェブブラウザを含む。モバイルデバイスは、ネットワーク102を介してデータを送信および受信するために「モバイルブラウザ」を利用することができる。本文書を通じて使用されるモバイルブラウザは、モバイルデバイスにインストールされたブラウザとして識別可能なブラウザである。モバイルブラウザは、例えば、ブラウザがブラウザのモバイルバージョンであることを示すバージョン番号または別の識別子に基づいて、そのように識別され得る。例えば、ブラウザ開発者は、特にモバイルデバイスで使用するためのモバイルブラウザを作成することができ、それによってモバイルブラウザがそのように識別され得るバージョン番号をそのモバイルブラウザに割り当てることができる。以下により詳細に説明するように、ブラウザのバージョン番号、および/またはブラウザについての他の情報は、ユーザデバイスからの通信に含まれるユーザエージェントヘッダに含まれ得る。
【００２６】
リソース105の検索を容易にするために、検索システム110は、ウェブサイト104で提供されるリソース105をクローリングおよびインデクシングすることによって、リソース105を識別する。リソース105についてのデータは、データが対応するリソースに基づいてインデクシングされ得る。インデクシングされ、オプションでキャッシュされたリソース105のコピーは、検索インデックス112に記憶される。
【００２７】
ユーザデバイス106は、検索クエリ109を検索システム110に提出する。これに応答して、検索システム110は、検索クエリ109に関連する(例えば、少なくとも検索クエリ109に関する最小規定関連スコアを有する)リソース105を識別するために、検索インデックス112にアクセスする。検索システム110は、リソース105を識別し、リソース105を識別する検索結果111を生成し、検索結果111をユーザデバイス106に返す。
【００２８】
検索結果111は、特定の検索クエリに応答するリソース105を識別する検索システム110によって生成されたデータであり、リソース105へのリンクを含むことができる。例示的な検索結果111は、ウェブページのタイトル、ウェブページから抽出されたテキストの断片または画像の一部、および、ウェブページのURLを含むことができる。
【００２９】
検索結果111(例えば、SR1、SR2、SR3)は、ユーザデバイスにおいて表示される検索結果ページ114内に提示される。検索結果(例えば、SR1 115)とのユーザ対話は、ユーザデバイス106に、検索結果によって参照されるリソース(例えば、リソースA 116)を要求させる。いくつかの実施態様では、ユーザデバイス106は、それとのユーザ対話が生じた検索結果によって指定されるユニフォームリソースロケータ(「URL」)において配置されたリソースに対するハイパーテキスト転送プロトコル(「http」)要求を提出する。例えば、検索結果SR1 115とのユーザ対話は、ユーザデバイス106に、検索結果SR1 115によって参照されるリソースA 116を要求させることができる。要求に応答して、リソースA 116の提示を引き起こすデータが、ユーザデバイス106によって受信され得、ユーザデバイス106においてリソースA 116を提示するために使用され得る。
【００３０】
いくつかのリソース要求に応答して、リダイレクト命令(例えば、ユーザデバイスに別のネットワーク上の場所からのデータを要求するように指示するデータ)が、リソースの提示を引き起こすデータの代わりに(または、それに加えて)ユーザデバイスに返される。例えば、リソースA 116に対する要求がユーザデバイスから受信されたとき、リダイレクト命令がユーザデバイス106に与えられ得、ユーザデバイスに、リソースB 118の提示を要求するように命令する。リダイレクト命令は、ユーザデバイス106がデータを要求することになるURL(または、別のネットワーク上の場所)を含むことができる。
【００３１】
リダイレクト命令は、様々な理由のためにユーザデバイスに供給され得る。例えば、リダイレクト命令は、ユーザデバイス106がデータを要求したネットワーク上の場所からデータが利用不可であるときに、ユーザデバイス106に供給され得る。リダイレクトは、また、特定のタイプのユーザデバイスに、その特定のタイプのユーザデバイスを、特定のデバイス上で表示するために作成されているリソースに向けようとして、供給され得る。
【００３２】
例えば、いくつかの発行元は、特定のウェブページ(または、別のリソース)の複数のバージョンを作成し、ウェブページの1つのバージョンは、モバイルデバイスでの表示用にフォーマットされ、ウェブページの別のバージョンは、非モバイルデバイス(すなわち、モバイルデバイスとして識別されていないデバイス)での表示用にフォーマットされる。この例では、モバイルデバイスでの表示用にフォーマットされたウェブページのバージョンは、非モバイルデバイスでの表示用にフォーマットされたウェブページのバージョンより少ないグラフィックスもしくはより低い解像度、より少ないマルチメディアコンテンツ、および/または異なるアスペクト比を使用することができる。上記のように、これらのリソースが、任意のコンピューティングデバイス上に提示され得るとしても、モバイルデバイスでの表示用にフォーマットされているリソースは、モバイルリソースと呼ばれ、非モバイルデバイスでの表示用にフォーマットされているリソースは、デスクトップリソース(例えば、デスクトップウェブページ)と呼ばれる。
【００３３】
発行元が、ウェブページ(または、他のリソース)の複数のバージョンを作成しているとき、デスクトップウェブページを要求するモバイルデバイスは、デスクトップウェブページに対応するモバイルウェブページに自動的にリダイレクトされ得る。例えば、リソースA 116が、検索結果SR1 115がリンクするデスクトップウェブページであり、ユーザデバイス106が、リソースA 116を要求したモバイルデバイスであると仮定する。この例では、モバイルデバイスは、デスクトップリソースではなく、モバイルリソースがモバイルデバイスにおいて提示されるように、リソースB 118を要求するように自動的にリダイレクトされ得る。
【００３４】
いくつかのリダイレクトは、リソースに対するユーザデバイスからの要求が受信されたそのユーザデバイスが、モバイルデバイスとして識別されているのか、または非モバイルデバイスとして識別されているのかに単独で(または、部分的にのみ)基づいて開始される。ユーザデバイスがモバイルデバイスであるか、またはデスクトップデバイスであるかを判断する例示的な技法は後述される。しかしながら、いくつかのリダイレクトは、ユーザデバイスに記憶されたクッキーなどのデータに基づき得る。例えば、検索プロバイダが、オンライン電子メールアカウント、オンラインショッピングカート、または他のオンラインサービス(例えば、ソーシャルネットワーク、ブログホスティング、画像共有サービス、および/もしくはビデオ共有サービス)などの他のオンラインサービスも提供する場合、オンライン検索プロバイダは、(例えば、ユーザにカスタマイズされた体験を容易にするために、ユーザの好みまたはアカウント情報を記憶することによって)ユーザの体験を増強するために、ユーザのデバイス上に1つまたは複数のクッキーを置くことができる。
【００３５】
クッキーは、(例えば、ユーザデバイスを匿名で識別する擬似乱数またはデータハッシュを使用して)ユーザデバイスを一意に識別するデータファイルである。ユーザデバイス上に置かれるクッキーは、一般に、ユーザデバイス上にクッキーを置いたエンティティによってのみアクセス可能である。例えば、検索サービスのプロバイダ(例えば、example.com)が特定のユーザデバイス上にクッキーを置く場合、検索サービスのプロバイダ(例えば、example.comサーバ)は、一般に、クッキーにアクセスすることができる唯一のエンティティであることになる。
【００３６】
クッキーは、以前に特定のウェブサイトにアクセスしたユーザを(すなわち、ユーザが、自分のデバイスにクッキーを記憶することに同意したと仮定して)識別するために使用され得る。例えば、ウェブベースのメールサービスのユーザは、ユーザが自分の電子メールアカウントに(例えば、ユーザ名およびパスワードを入力することによって)ログインするとき、自分のユーザデバイスに記憶されたクッキーを有することができる。電子メールアカウントへのアクセスの後の指定された期間の間、ユーザは、ユーザ名および/またはパスワードを再び手動で入力することなく、自分の電子メールアカウントに直接戻ることができ得る。
【００３７】
例えば、ウェブベースの電子メールサービスから移動(例えば、オンライン新聞または検索インターフェースに移動)した後、ユーザデバイスが、ウェブベースの電子メールサービスのためのログインページを要求すると仮定する。この例では、ユーザデバイスに記憶されたクッキーの検出(および、指定された期間が経過していないことの判断)に応じて、ユーザデバイスは、ユーザが自分のユーザ名またはパスワードを再入力することを必要とせずに、ユーザの電子メールアカウントを提示するウェブページにリダイレクトされ得る。ウェブベースの電子メールサービスが、例示の目的のために使用されているが、オンライン小売業者などの、クッキーを利用する他のオンラインサービスも、クッキーの検出に応答して、リダイレクトを開始することができる。
【００３８】
リソースは、ユーザデバイスのブランド(例えば、製造元)に基づいてユーザデバイスをリダイレクトすることもできる。例えば、携帯電話アプリケーション開発者は、ユーザデバイスが開発者によって作成されたアプリケーションを購入および/またはダウンロードすることを要求することができるウェブページを作成することができる。例示の目的のために、アプリケーション開発者は、それぞれが異なるオペレーティングシステム(または、同じオペレーティングシステムの異なるバージョン)を使用する2つ以上の異なるブランド(ブランドAおよびブランドB)の電話のためのアプリケーションの異なるバージョンを作成したと仮定する。この例では、アプリケーションのそれぞれのバージョンの各々に関するアプリケーションは、異なるネットワーク上の場所(例えば、アプリケーション市場のためのウェブページ)から利用可能であり得る。したがって、ブランドAのユーザデバイスを、ブランドAのユーザデバイスのために作成されたアプリケーションのバージョンが購入および/またはダウンロードされ得る別のウェブページ(例えば、ブランドAの電話機のためのアプリケーション市場)にリダイレクトする。同様に、ウェブページは、ブランドBのユーザデバイスを、ブランドBのユーザデバイスのために作成されたアプリケーションのバージョンが購入され得るウェブページ(例えば、ブランドBの電話機のためのアプリケーション市場)にリダイレクトするように構成され得る。
【００３９】
ユーザデバイスが行うように命令される各リダイレクトは、異なるネットワーク上の場所に記憶されたリソースに対する要求をもたらす。例えば、ユーザデバイスが、別のリソースへの要求に応答して、特定のリソースにリダイレクトされるとき、ユーザデバイスは、特定のリソースの提示を引き起こすデータを受信する前に、2つのリソース要求を行うことになる。ユーザデバイスが行うリダイレクトの数が増加するにつれて、最初のリソース要求とリソースの提示との間の待ち時間は、増加する。したがって、リソース要求とリソースの提示との間の待ち時間は、ユーザデバイスがリソースの提示の前に行う必要があるリダイレクトの数を低減することによって、低減され得る。
【００４０】
環境100は、ユーザデバイスによって実行されるリダイレクトの数を低減するリダイレクト低減装置120を含む。リダイレクト低減装置120は、検索結果によって参照されるリソースがリダイレクトリソース(すなわち、特定のリソースを要求するユーザデバイスを別のリソースへリダイレクトする特定のリソース)であるか否かを判断するために、リダイレクトデータを使用するデータ処理装置である。リダイレクト低減装置120は、ネットワーク102を介して検索システム110と通信する独立した装置として表されているが、いくつかの実施態様では、リダイレクト低減装置120は、検索システム110の一部、または別のシステムの一部として実現され得る。
【００４１】
リダイレクト低減装置120が、リダイレクトデータに少なくとも部分的に基づいて、リダイレクトリソースが特定の検索結果によって参照されている(例えば、リンクされている)と判断したとき、リダイレクト低減装置120は、特定の検索結果に、リダイレクトリソースがユーザデバイスをリダイレクトする先の異なるリソースへの参照(例えば、ハイパーテキストリンク)を挿入することができる。したがって、特定の検索結果とのユーザ対話は、リダイレクトリソースに対する要求ではなく、異なるリソースに対する要求を開始することになる。したがって、ユーザデバイスは、最初にリダイレクトリソースを要求することなく、異なるリソースを要求することができる。
【００４２】
リダイレクトデータは、例えば、リダイレクトデータストア122から取得され得る。リダイレクトデータストア122は、リダイレクトリソースのセットと、セット内の各リダイレクトリソースに関して、リダイレクトリソースがユーザデバイスをリダイレクトする先の異なるリソースとを指定するリダイレクトデータを記憶するデータストアである。例えば、リソースA 116を要求するユーザデバイスがリソースB 118へリダイレクトされる場合、リダイレクトデータストア122は、リソースA 116からリソースB 118へのリダイレクトを指定するリダイレクトデータを含むことになる。
【００４３】
いくつかの実施態様では、リダイレクトデータは、特定のリダイレクトリソースを要求するユーザデバイスのすべて、または適切なサブセットのみのいずれが、要求に応答してリダイレクトされるのかを指定することができる。例えば、モバイルデバイスとして識別されたデバイスのみが、リソースA 116に対する要求に応答してリソースB 118へリダイレクトされる場合、リソースAに関するリダイレクトデータは、リダイレクトが、モバイルデバイスから受信されているリソースA 116に対する要求を条件とすることを指定することができる。
【００４４】
リダイレクトデータは、さらに、リソースを要求したユーザデバイス上のクッキーの検出などの、他の要因をリダイレクトの条件とするか否かを指定することができる。例えば、リソースA 116からリソースB 118へのリダイレクトが、特定のクッキーがユーザデバイス上に記憶されていると判断されたときにのみ発生する場合、リソースAに関するリダイレクトデータは、リソースB 118へのリダイレクトが特定のクッキー(例えば、以前にリソースAの発行元によってユーザデバイス上に置かれたクッキー)の存在を条件とすることを指定することができる。リダイレクトデータは、特定のリダイレクトが発生するために満たされなければならない任意の他のリダイレクト条件を指定することもできる。
【００４５】
いくつかの実施態様では、リダイレクトデータは、ユーザデバイスを条件付きでリダイレクトするために、ユーザデバイスからの言語設定データがリソースによって使用されるか否かを指定することもできる。言語設定データは、検索要求および/またはリソースに対する要求と共にユーザデバイスから受信され得る。言語設定データは、情報がユーザデバイスにおいて提示される言語を示すデータである。例えば、「en」の言語設定は、ユーザデバイス上に提示される情報が英語で提示されることを示すことができ、「de」の言語設定は、情報がドイツ語で提示されることを示すことができる。いくつかの発行元は、例えば、ページの地域特定のバージョン、または、ページの言語特定のバージョンを提供するために、特定のページの異なるバージョンを作成することができる。したがって、発行元が特定のホームページ(例えば、example.com)に対する要求を受信したとき、発行元は、ユーザデバイスを言語特定のウェブページ(例えば、example.com/german)へリダイレクトすることができる。
【００４６】
図2Aは、リダイレクトリソースを識別するための例示的なデータフロー200のブロック図である。データフローは、リダイレクト低減装置120が発行元サーバ204からのリソースを要求するリソース要求A 202を開始することによって開始する。リソース要求Aは、例えば、ネットワーク上の場所example.com/page1に位置するリソースに対するhttp要求であり得る。example.com/page1に位置するリソースがリダイレクトリソースである場合、発行元サーバ204は、リソース要求A 202に、リダイレクト低減装置120が別のリソースを要求することになるネットワーク上の場所207を含むリダイレクト命令206で応答することになる。例えば、example.com/page1に位置するリソースに対する要求を受信することに応答して、発行元サーバ204は、リダイレクト低減装置120に、リソースの提示を引き起こすデータを提供するのではなく、example.com/page2からのデータを要求するように命令するリダイレクト命令206を提供することができる。
【００４７】
リダイレクト低減装置120がリダイレクト命令206を受信したとき、リダイレクト低減装置120は、別のリソース要求を開始する。例えば、リダイレクト低減装置120は、example.com/page2に位置するリソースを要求するリソース要求B 208を開始することができる。example.com/page2に位置するリソースがリダイレクトリソースではない場合、発行元サーバ204は、example.com/page2に位置するリソースの提示を引き起こすリソースデータ210を提供することによって、要求に応答することができる。しかしながら、example.com/page2に位置するリソースが別のリダイレクトリソースである場合、発行元サーバ204は、リダイレクト低減装置120を別のネットワーク上の場所にリダイレクトするリダイレクト命令を再び提供することになり、要求プロセスは、リソースが提示される、および/または、タイムアウト(例えば、リダイレクトの最大数、もしくは、最初のリソース要求の後の最大経過時間)が発生するまで、反復的に継続し得る。
【００４８】
リソースデータ210を受信することに応答して、リダイレクト低減装置120は、リソースデータ210がリダイレクト命令を含まないことを確認することができ、したがって、リソース要求B 208に応答して提供されたリソースが、リダイレクトリソースではなく、標準的なリソース(すなわち、リソース要求に応答してユーザデバイスをリダイレクトしないリソース)であると判断することができる。今度は、リダイレクト低減装置120は、リダイレクトデータ212をリダイレクトインデックス122に記憶することができる。この例では、記憶されるリダイレクトデータ212は、図2A中の表記「ページ1:ページ2」によって表されているように、example.com/page1(例えば、「ページ1」)に対する要求がユーザデバイスをexample.com/page2(例えば、「ページ2」)へリダイレクトすることになることを示すことができる。リダイレクトデータは、ユーザデバイスを他の標準的なリソース(例えば、それぞれ、ページ4およびページy)へリダイレクトする他のリダイレクトリソース(例えば、ページ3およびページx)を指定することもできる。複数のリダイレクトが、最初に要求されたリソース(例えば、ページx)と、リダイレクトリソースではないリソースの提示との間で発生する場合、各間にあるリダイレクトリソース(または、その適切なサブセット)を示すデータは、リダイレクトインデックス内に記憶され得ることに注意されたい。代替的に、または加えて、最初に要求されたリダイレクトリソース、および、最後のリダイレクトの後に提示された標準的なリソースのみを指定するリソースデータ212が、記憶され得る。
【００４９】
いくつかの実施態様では、複数のリダイレクト低減装置120が、同じリソースを要求するために使用される。これらの実施態様では、各リダイレクト低減装置120は、異なるリソースに対する異なるリダイレクト挙動が検出され得、特定のリソースが、デバイス単位で、リダイレクトリソースまたは標準的なリソースとして識別され得るように、異なるタイプのユーザデバイスをエミュレートすることができる。
【００５０】
例えば、あるリダイレクト低減装置120は、スマートフォンをエミュレートすることができ、別のリダイレクト低減装置は、デスクトップデバイスをエミュレートすることができる。この例では、リダイレクト低減装置の各々を使用して得られるリダイレクトデータ212は、リソースがリダイレクトを条件とするか否かを、リソースを要求したユーザデバイスのタイプに基づいて判断するために、比較され得る。例えば、特定のリソースが、モバイルデバイスをリダイレクトするが、デスクトップデバイスをリダイレクトしない場合、この条件付きリダイレクト挙動は、デスクトップデバイスをエミュレートするリダイレクト低減装置120と、モバイルデバイスをエミュレートするリダイレクト低減装置120との両方を使用して検出され得る。
【００５１】
リダイレクト低減装置120は、例えば、リソース要求が開始されたデバイスのタイプ、および/または、リソース要求を開始したデバイスについての他の詳細を指定するユーザエージェントヘッダ(または、他のデバイス識別データ)を使用して、特定のタイプのユーザデバイスをエミュレートすることができる。例えば、図3を参照してより詳細に説明するように、エージェントヘッダは、リソースを要求するユーザデバイスがモバイルデバイスであるのか、もしくはデスクトップデバイスであるのか、および/または、デバイスの製造元を発行元サーバ204が判断することを可能にする情報を指定することができる。したがって、リダイレクト低減装置によって使用されるユーザエージェントヘッダ(または、他のデバイス識別データ)に依存して、リソースを要求するリダイレクト低減装置120(または、別のデータ処理装置)は、リダイレクト低減装置120が異なるタイプのユーザデバイスに関するリダイレクトデータを取得することができるように、発行元サーバ204によって、モバイルデバイスまたはデスクトップデバイスと見なされ得る。各タイプのデバイスに関するリダイレクトデータは、各リダイレクトリソースのためのリダイレクトプロファイルを作成するために、リダイレクトインデックスに記憶され得る。
【００５２】
いくつかの実施態様では、リダイレクト低減装置120は、リダイレクトデータがある特定のブランド(または、モデル)のために収集されるように、その特定のブランド(または、モデル)のモバイルデバイスをエミュレートするように構成される。同様に、リダイレクト低減装置120は、リダイレクト低減装置120のための言語設定データが経時的に静的であるように、単一の言語(例えば、英語)で情報を提示するように、構成され得る。例えば、異なるユーザエージェントヘッダを使用して特定のリソースに対する複数の要求を開始する代わりに、リダイレクト低減装置120は、多くの異なるリソースに関するリダイレクトデータを取得するために必要な処理リソースを低減するために、各リソース要求に対して同じユーザエージェントヘッダを使用することができる。
【００５３】
リダイレクト低減装置120が、すべてのユーザデバイス構成の適切なサブセットのみをエミュレートするとき、特定のリダイレクトリソースに関するリダイレクトデータは、異なるタイプのユーザデバイスが異なるリソースへリダイレクトされるか否か、または、リダイレクトがユーザデバイスのための言語設定データを条件とするか否かを明示的に指定することができない可能性がある。例えば、リダイレクトデータは、(例えば、リダイレクト低減装置120がブランドAのユーザデバイスをエミュレートするように構成されていると仮定すると)ブランドAのユーザデバイスが特定のリソースに対する要求に応答して別のリソースへリダイレクトされることを指定することができるが、リダイレクトデータは、(例えば、リダイレクト低減装置120は、ブランドBのデバイスをエミュレートしながら特定のリソースを要求していない可能性があるので)ブランドBのユーザデバイスがリダイレクトされるかどうかを指定することができない可能性がある。同様に、リダイレクトデータは、特定の言語設定を使用するユーザデバイスがリダイレクトされるか否かを指定することができるが、他の言語設定を使用するユーザデバイスもリダイレクトされるか否かを指定しない。
【００５４】
いくつかの実施態様では、リダイレクト低減装置120は、特定のリソースがリダイレクトリソースとして識別されているにもかかわらず、特定のリソースに関する検索結果が(例えば、別のリソースではなく)特定のリソースにリンクし続けるべきであるか否かを判断するように構成され得る。いくつかの実施態様では、判断は、リソースに関するリダイレクトデータと、特定のリソースに関するリダイレクト鎖の解析とに少なくとも部分的に基づき得る。リダイレクト鎖は、ユーザデバイスが特定のリソースを要求するとき、ユーザデバイスによって要求される2つ以上のリソースを指定する。例えば、ユーザデバイスがリソースXを要求し、次いで、リソースYへリダイレクトされる場合、この例でのリダイレクト鎖は、リソースXのURLおよびリソースYのURLを含むことができる(例えば、http//:example.com/>http://example.com/BrandA_Store)。
【００５５】
いくつかの実施態様では、リダイレクトリソースが、「ブランドベース」のリダイレクトリソースであると判断され、部分的なブランドベースのリダイレクトデータのみが利用可能であるとき、リダイレクト低減装置120は、特定のリダイレクトリソースに関する検索結果が、特定のリダイレクトリソースへのリンクを含むことになると判断することができる。上記の例を続けると、リダイレクトデータを収集するリダイレクト低減装置120が、ブランドAのユーザデバイスのみをエミュレートし、ブランドBのデバイスをエミュレートしないように構成されたと仮定し、さらに、リソースYが、ブランドAのユーザデバイスのユーザがブランドAのデバイスのために作成されたアプリケーションをダウンロードすることができるアプリケーションストアのためのウェブページであったと仮定する。この例では、特定のリソースに関するリダイレクトデータは、リソースXを要求するブランドAのデバイスがリソースYへリダイレクトされることを指定することになるが、リダイレクト低減装置120が、部分的なブランドベースのリダイレクトデータのみが利用可能であることを判断することができるように、ブランドBのデバイスがリダイレクトされるか否か(または、どのリソースへリダイレクトされるか)を指定しないことになる。
【００５６】
これらの実施態様では、部分的なブランドベースのリダイレクトデータのみが利用可能なとき、リダイレクト低減装置120は、ユーザデバイスがリダイレクトされる先の異なるリソースがブランド特定のリソースであるか否かを判断するために、リダイレクトリソースおよび/またはリダイレクトリソースがユーザデバイスをリダイレクトする先の異なるリソースのURLおよび/またはコンテンツを検査することができる。例えば、異なるリソースのURLが特定のブランド、例えばブランドAへの参照を含み、リダイレクト低減装置120がブランドAのデバイス(すなわち、同じ特定のブランドのデバイス)をエミュレートしているものであった場合、異なるリソースは、ブランド特定のリソースであると判断され得る。同様に、リダイレクトリソースのコンテンツがブランド特定のサイトへのリンク、例えば、ブランドAの電話機のためのアプリケーションを販売するサイトへのリンクを含む場合、リダイレクトリソースによって開始されるリダイレクトは、ブランドベースのリダイレクトと見なされ得る。今度は、リダイレクトがブランドベースのリダイレクトであると判定され、ブランドベースのリダイレクトが少なくとも1つのブランドのユーザデバイス、例えば、ブランドBのユーザデバイスに利用可能ではなかったので、リダイレクト低減装置120は、リダイレクトリソースに関する検索結果がリダイレクトリソースへのリンクを含み続けることになる(すなわち、異なるリソースへのリンクを含むように変更されるのではない)と判断することができる。この判断の結果を表すデータ(例えば、ブランドベースのデータ)は、例えば、リダイレクトインデックス122に記憶され得る。
【００５７】
リダイレクト低減装置120は、言語ベースのリダイレクトリソースに関して同様の判断を行うように構成され得る。いくつかの実施態様では、リダイレクトが言語ベースのリダイレクトであると判断され、部分的な言語ベースのリダイレクトデータのみが利用可能である(すなわち、リダイレクトデータが少なくとも1つの言語設定には利用可能ではない)ときに、リダイレクト低減装置120は、言語ベースのリダイレクトリソースに関する検索結果を変更しないことになる。例えば、リダイレクト低減装置120は、言語ベースのリダイレクトデータが単一の言語に関してのみ利用可能であるように、静的言語設定データを使用すると仮定する。この例では、リダイレクトリソースに関するリダイレクトデータは、リダイレクト低減装置120と同じ言語設定データを有するユーザデバイスがリダイレクトされることになるか否かを指定することになるが、他の言語設定データを有する他のユーザデバイスもリダイレクトされることになるか、またはこれらの他のユーザデバイスがどこへリダイレクトされることになるのかを指定しないことになる。したがって、この例では、リダイレクト低減装置120は、部分的な言語ベースのリダイレクトデータのみが利用可能であると判断することができる。
【００５８】
いくつかの実施態様では、リダイレクト低減装置120は、部分的な言語ベースのリダイレクトデータのみが利用可能であるとき、リダイレクトリソースに関するURLおよび/またはコンテンツ言語を調べることができる。例えば、リダイレクト低減装置は、ページexample.com/page2がリダイレクトする先のURL example.com/page3/enを調べることができ、URLが英語の言語設定データに対応する文字「en」を含むと判断することができる。同様に、リダイレクト低減装置は、リソースの各々の言語が異なるか否かを判断するために、example.com/page2のテキストおよびexample.com/enのテキストを調べることができる。2つのページの言語が異なると判断された、または、ユーザデバイスがリダイレクトされる先のリソースのURLがユーザデバイスの言語設定データへの参照を含む場合、リダイレクト低減装置120は、リダイレクトを言語ベースのリダイレクトと見なすことができる。今度は、リダイレクトが言語ベースのリダイレクトであると判断され、部分的な言語ベースのリダイレクトデータのみが利用可能であると判断されたので、リダイレクト低減装置120は、リダイレクトリソースに関する検索結果がリダイレクトリソースへのリンクを含み続けることになる(すなわち、異なるリソースへのリンクを含むように変更されるのではない)と判断することができる。この判断の結果を指定するデータ(例えば、言語ベースのデータ)は、例えば、リダイレクトインデックス122に記憶され得る。
【００５９】
いくつかの実施態様では、リダイレクト低減装置120は、特定のリダイレクトリソースが過渡リダイレクトリソースと見なされるように、特定のリダイレクトリソースに関するリダイレクト鎖が過渡リンクを含むことを判断するように構成される。これらの実施態様では、リダイレクト低減装置120は、過渡リソースが、過渡リダイレクトリソースに関する検索結果によって参照されるのを防止することができ、どのリソースが過渡リダイレクトリソースに関する検索結果によって参照されるべきかを判断することができる。例えば、特定のリダイレクトリソースが以下のリダイレクト鎖、http://example.com>http://example.com/m>http://example.com/2011/1/1?id=xxxyyyzzzを含むと仮定する。この例では、リダイレクト低減装置120は、URL http://example.com/2011/1/1?id=xxxyyyzzzが他の既知の過渡リソース(例えば、指定された期間後に再配置または削除されるリソース)のURLと同様の構造を有すると判断することができ、したがって、example.comに関する検索結果が過渡リソースへのリンクを含むべきではないと判断することができる。したがって、リダイレクト低減装置120は、example.comに関する検索結果を変更したり、example.com/mに位置するリソースにリンクを挿入したりすることはできない。
【００６０】
リダイレクト低減装置120は、例えば、経時的に特定のリダイレクトリソースに関するリダイレクト鎖を比較することによって、過渡リソースを識別することもできる。例えば、example.comが、以下のリダイレクト鎖、http://example.com>http://example.com/m>http//example.com/2011/1/1?id=xxxyyyzzzを有すると最初に判断され、example.comに対する次の要求で、以下のリダイレクト鎖、http://example.com>http://example.com/m>http//example.com/2011/1/5?id=yyyxxxzzzを有すると判断されたと仮定する。この例では、リダイレクト鎖の各インスタンス中の最後のリンク(例えば、example.com/2011/1/1?id=xxxyyyzzzおよびexample.com//2011/1/5?id=yyyxxxzzz)は、リダイレクト低減装置120がこれらのリソースへのリンクをexample.comに関する検索結果に挿入することができないように、過渡リソースであると判断され得る。いくつかの実施態様では、リダイレクト鎖は、鎖中のリソースを過渡リソースとして分類するために、少なくとも最小限の指定された変化率を有することが要求され得る。この判断の結果を指定するデータ(例えば、過渡リソースデータ)は、例えば、リダイレクトインデックス122に記憶され得る。
【００６１】
図2Bは、リダイレクトを低減するための例示的なデータフロー250のブロック図である。データフロー250は、ユーザデバイス106がクエリ109を検索システム110に提出することによって開始する。クエリは、また、ユーザデバイス106または検索システム110のいずれかによってリダイレクト低減装置120に提供され得る。図1を参照して上記で説明したように、検索システム110は、検索クエリ109に応答するリソース(「応答リソース」)を識別し、応答リソースを参照する(例えば、リンクする)検索結果111を生成する。各検索結果は、例えば、検索結果とのユーザ対話に応じてユーザデバイスにハイパーテキストリンクで指定されたネットワーク上の場所にあるリソースに対する要求を開始させるハイパーテキストリンクを含むことができる。例えば、図2B中の検索結果SR1は、検索結果SR1とのユーザ対話がユーザデバイス106にexample.com/page1からのリソースを要求させるように、URL http://example.com/page1を含むハイパーテキストリンクを含むことができる。
【００６２】
検索システム110は、1つまたは複数の検索結果111を指定するデータをリダイレクト低減装置120に提供する。リダイレクト低減装置120は、検索結果によって参照されるいずれかのリソースがリダイレクトリソースであるか否かを判断するために、検索結果111によって参照される(例えば、リンクされた)リソースを、リダイレクトインデックス122にリストされたリダイレクトリソースのリストと比較することができる。例えば、リダイレクト低減装置120は、各検索結果のハイパーテキストリンク内のネットワーク上の場所(例えば、http://example.com/page1)を、リダイレクトインデックス122にリストされたリダイレクトリソースのネットワーク上の場所と比較することができる。検索結果111のうちの1つがリダイレクトリソースを参照すると判断された場合、その検索結果に関するハイパーテキストリンクは、リダイレクトリソースがユーザデバイスをリダイレクトする先の標準的なリソースへのハイパーテキストリンクに置き換えられ得る。したがって、その検索結果とのユーザ対話は、ユーザデバイスに、最初にリダイレクトリソースを要求することなく、標準的なリソースを要求させることになる。
【００６３】
例えば、SR1が、example.com/page1へのハイパーテキストリンクを含み、リダイレクト低減装置120が、example.com/page1に位置するリソースがリダイレクトインデックス122中にリダイレクトリソースとしてリストされていることを判断すると仮定する。さらに、リダイレクトインデックス122にしたがって、example.com/page1のリダイレクトリソースは、ユーザデバイスを、example.com/page2に位置する標準的なリソースへリダイレクトすると仮定する。この例では、リダイレクト低減装置120は、example.com/page2へのハイパーテキストリンクをSR1に挿入することができ、および/または、最初にSR1に含まれていたexample.com/page1へのハイパーテキストリンクを削除もしくは無効にすることができ、それによって、変更された検索結果222のセットを作成する。今度は、リダイレクト低減装置120は、変更された検索結果222のセットを、検索結果ページ114における提示のためにユーザデバイスに提供することができる。
【００６４】
ユーザがSR1 115の変更されたバージョンと対話するとき、example.com/page2へのハイパーテキストリンクは、ユーザデバイス106に、リソース要求B 208を発行元サーバ204へ提出させることになり、発行元サーバ204は、ユーザデバイス106に、example.com/page2に位置するリソースの提示を引き起こすリソースデータ210で応答することになる。したがって、この例では、SR1 115とのユーザ対話は、ユーザデバイス106に、example.com/page1に位置するリダイレクトリソースを最初に要求することなく、example.com/page2からのリソースを要求させることになり、これにより、ユーザデバイスが、example.com/page2に位置するリソースの提示前に行うことになるリダイレクトの数を低減する。
【００６５】
いくつかの実施態様では、検索結果が標準的なリソースにリンクする変更された検索になるとき、リダイレクトリソースに関する検索結果の視覚的外観は、変更されない。例えば、検索結果とのユーザ対話がexample.com/page2のリソースに対する要求を開始することになるとしても、変更後、SR1 115は、SR1がexample.com/page1に位置するリソースに関する検索結果であることを依然として視覚的に示すことができる。いくつかの実施態様では、変更された検索結果とのユーザ対話に応答して標準的なリソースが要求されることになるネットワーク上の場所が、変更された検索結果によって視覚的に参照されたネットワーク上の場所と一致するように、変更された検索結果は、視覚的に変更される。
【００６６】
図3は、リダイレクトを低減するための例示的なプロセス300のフローチャートである。プロセス300は、例えば、図1のリダイレクト低減装置120などのデータ処理装置によって実施され得る。プロセス300は、また、データ処理装置による命令の実行が、データ処理装置にプロセス300の動作を実行させるように、コンピュータ記憶媒体上に記憶された命令として実施され得る。
【００６７】
検索要求が、ユーザデバイスから受信される(302)。いくつかの実施態様では、検索要求は、検索クエリ(例えば、テキストおよび/または画像)を含み、検索クエリを用いて、検索結果が選択されることになる。検索要求は、例えば、インターネット接続性を有する「スマートフォン」などのモバイルデバイスから受信され得、セルラーネットワークまたは別のワイヤレスネットワークを介して受信され得る。検索要求は、例えば、図1の検索システム、および/またはリダイレクト装置120などの別のデータ処理装置によって受信され得る。リダイレクト装置120は、実際の検索要求を受信することなく、検索要求が受信されたことを指定するデータ、および/または、検索要求からのデータを受信することもできることに留意されたい。例えば、図1の検索システム110または別のデータ処理装置は、データをリダイレクト装置120に提供することができる。
【００６８】
ユーザデバイスに関するデバイス識別データが受信される(304)。デバイス識別データは、検索要求が開始されたおよび/または提出されたデバイスのタイプを指定するデータである。例えば、デバイス識別データは、ユーザデバイスの製造元(もしくは、ブランド)および/またはユーザデバイスのモデルを指定するユーザエージェントヘッダを含むことができる。ユーザエージェントヘッダは、例えば、特定の検索要求がBrand-X Phone Coによって製造されたユーザデバイスによって提出されたこと、および、モデル番号がBXP-100であることを指定するデータを含むことができる。
【００６９】
デバイス識別データは、また、ユーザデバイスのハードウェアおよび/またはソフトウェア構成を指定するバージョンデータを含むことができる。例えば、ユーザエージェントヘッダは、ユーザデバイスに現在インストールされているファームウェアのバージョンを指定するデータ、および/または、検索要求が開始されたブラウザについての情報を含むことができる。加えて、ユーザエージェントヘッダは、検索要求が提出されたブラウザのタイプを示すことができる。
【００７０】
デバイス識別データは、検索要求が開始されたユーザデバイスが、スマートフォンなどのモバイルデバイスであるか否か、または、ユーザデバイスがラップトップであるか、もしくはデスクトップデバイスであるのかを判断するために使用され得る。いくつかの実施態様では、ブランドおよびモデル情報は、モバイルデバイスのブランドおよびモデルのリストと相互参照され得る。例えば、Brand-X Phone Co.からのモデルBXP-100が、スマートフォンのリストに含まれていると仮定する。この例では、Brand-Xの製造元およびモデルBXP-100を指定するデバイス識別データを有するユーザデバイスから受信された検索要求は、モバイルユーザデバイスから受信されたと見なされ得る。
【００７１】
いくつかの実施態様では、検索要求を提出したユーザデバイスのタイプは、検索要求を提出するために使用されたブラウザのタイプに基づき得る。例えば、モバイルデバイスは、(例えば、デスクトップバージョンのブラウザではなく、および/またはそれに加えて)モバイルバージョンのブラウザを使用することができる。したがって、モバイルバージョンのブラウザを指定するエージェントユーザヘッダを有するユーザデバイスから受信された検索要求は、スマートフォンなどのモバイルデバイス、またはデスクトップコンピュータなどの非モバイルデバイスから受信されたと見なされ得る。
【００７２】
検索要求に対する応答リソースのセットを指定するデータが、受信される(306)。いくつかの実施態様では、応答リソースのセットを指定するデータは、リソースに関する検索結果のセットを指定するデータである。検索結果のセットを指定するデータは、例えば、検索要求に応答して検索結果を生成した検索システムから受信され得る。データは、各検索結果に対して、例えば、検索結果によって参照されるリソース、および/または、リソースのネットワーク上の場所を含む、検索結果によって特定される情報の任意のものを指定することができる。
【００７３】
1つまたは複数の応答リソースに対する要求がユーザデバイスを異なるリソースへリダイレクトさせるか否かの判断が行われる(308)。いくつかの実施態様では、判断は、リソースのセットからのリソースを参照してインデクシングおよび/または記憶されたリダイレクトデータに基づいて行われ得る。例えば、上記で説明したように、特定の応答リソースのネットワーク上の場所が、リダイレクトデータによって特定される既知のリダイレクトリソースのセットのネットワーク上の場所と比較され得る。特定の応答リソースのネットワーク上の場所(例えば、URL)が、リダイレクトリソースのうちの1つのネットワーク上の場所(例えば、URL)と一致しない場合、特定の応答リソースは、リダイレクトリソースではない(すなわち、標準的なリソースである)と見なされ得る。したがって、特定の応答リソースに対する要求は、ユーザデバイスを、特定の応答リソースのネットワーク上の場所に位置するものとは異なるリソースへリダイレクトさせないと判断され得る。セット中の応答リソースの各々がリダイレクトリソースではないと判断された場合、応答リソースのセットに関する検索結果が、ユーザデバイスに提供される(312)。
【００７４】
特定の応答リソースのネットワーク上の場所(例えば、URL)が、リダイレクトリソースのうちの1つのネットワーク上の場所(例えば、URL)と一致する(または、リダイレクトリソースであるとして別な方法で識別された)場合、特定の応答リソースは、リダイレクトリソースである(すなわち、ユーザデバイスを別のリソースへリダイレクトすることになる)と見なされ得る。したがって、特定の応答リソースに対する要求は、ユーザデバイスを特定の応答リソース以外の異なるリソースへリダイレクトさせるように判断され得る。
【００７５】
特定のリソースが、特定の応答リソースおよびリダイレクトリソースのネットワーク上の場所間の一致に基づいて、リダイレクトリソースであると判断された場合、以下により詳細に説明するように、異なるリソースへの参照が、特定のリソースに関する検索結果に挿入され得る(310)。しかしながら、異なるリソースへの参照を挿入する前に、さらなる判断が行われ得る。
【００７６】
上記で説明したように、特定の応答リソースがリダイレクトリソースであることの判断は、リダイレクトデータ中で特定されたURLと一致するURLを有する特定の応答リソースに加えて、要因を条件とすることができる。例えば、特定の応答リソースによるリダイレクトは、リソースを要求しているデバイスのタイプ(例えば、モバイルデバイス)、デバイスの製造元、ユーザデバイスが検索システムと特定の応答リソースとの両方を提供するエンティティによってユーザデバイス上に置かれたクッキーなどの特定のクッキー(または別のデータファイル)を記憶しているか否か、ならびに/または、ユーザデバイスから受信された言語設定データを条件とすることができる。したがって、特定の応答リソースに対する要求がユーザデバイスを異なるリソースへリダイレクトさせることになるか否かの判断は、ユーザデバイスの特性が、リダイレクト条件と呼ばれるリダイレクトのための条件に一致するか否かに、少なくとも部分的に基づき得る。
【００７７】
上記で説明したように、特定のリダイレクトリソースのリダイレクト条件は、例えば、特定のリダイレクトリソースのリダイレクトデータ中に記憶され得る。例えば、特定の応答リソースのリダイレクトデータは、特定の応答リソースが、すべてのユーザデバイス、モバイルデバイスのみ、非モバイルユーザデバイスのみ、または、モバイルおよび/もしくは非モバイルユーザデバイスのある組み合わせのいずれをリダイレクトするのかを(例えば、言語設定データ、製造元、またはクッキー状態、すなわち、ユーザデバイスが特定のクッキーを記憶しているか否かに基づいて)指定することができる。
【００７８】
いくつかの実施態様では、ユーザデバイスが(例えば、デバイス識別データに基づいて)モバイルユーザデバイスであると判断されたとき、特定の応答リソースがモバイルデバイスを異なるリソースへリダイレクトするか否かの判断が行われ得る。判断は、例えば、特定の応答リソースがモバイルデバイスを異なるリソースへリダイレクトすることを、特定の応答リソースのリダイレクトデータが示すか否かに基づいて行われ得る。(任意の他のリダイレクト条件が満たされていると仮定して)モバイルデバイスが異なるリソースへリダイレクトされると判断された場合、特定の応答リソースが非モバイルデバイスをリダイレクトするか否かとは無関係に、異なるリソースへの参照が特定の応答リソースに関する検索結果に挿入され得る(312)。モバイルデバイスが特定の応答リソースによって異なるリソースへリダイレクトされないと判断された場合、特定の応答リソースに関する検索結果は、異なるリソースへの参照を挿入することなく提供され得る。
【００７９】
ユーザデバイスが非モバイルユーザデバイス(すなわち、モバイルデバイスとして識別されていないユーザデバイス)であると判断されたとき、特定の応答リソースが非モバイルユーザデバイスを異なるリソースへリダイレクトするか否かの判断が同様に行われ得る。判断は、例えば、特定の応答リソースが非モバイルデバイスを異なるリソースへリダイレクトすることを、特定の応答リソースのリダイレクトデータが示すか否かに基づいて行われ得る。
【００８０】
(任意の他のリダイレクト条件が満たされていると仮定して)非モバイルデバイスが異なるリソースへリダイレクトされると判断された場合、特定の応答リソースがモバイルデバイスをリダイレクトするか否かとは無関係に、異なるリソースへの参照が特定の応答リソースに関する検索結果に挿入され得る(312)。非モバイルデバイスが特定の応答リソースによって異なるリソースへリダイレクトされないと判断された場合、特定の応答リソースに関する検索結果は、異なるリソースへの参照を挿入することなく非モバイルデバイスに提供され得る。したがって、モバイルデバイスに提供される特定の応答リソースに関する別の検索結果に異なるリソースへの参照が挿入されている場合でも、非モバイルデバイスに提供される特定の応答リソースに関する検索結果は、モバイルデバイスがリダイレクトされる先の異なるリソースへの参照を持たない可能性がある。したがって、同じリソースに関する異なる検索結果に含まれるリンクは、検索結果が提供されているデバイスのタイプに基づいて変化し得る。
【００８１】
同様の技術は、クッキーベースのリダイレクト条件が特定の応答リソースについて満たされているか否かを判断するために使用され得る。例えば、検索結果によって参照される特定の応答リソースに関するクッキーをユーザデバイスが記憶しているか否かの判断が行われ得る。上記で注意したように、特定の応答リソースに関するクッキーは、検索システムを提供するエンティティが特定の応答リソースを提供するのと同じエンティティであるときに、検索システムによって検出され得る。例えば、オンライン検索システムおよびオンラインビデオ共有サイトを提供するエンティティが、クッキーをユーザデバイス上に置いた場合、そのエンティティは、検索要求がユーザデバイスから受信されたときに、クッキーを検出することができる。
【００８２】
ユーザデバイスが特定の応答リソースに関するクッキーを記憶している場合、(任意の他のリダイレクト条件も満たされていると仮定して)特定の応答リソースがクッキーを記憶しているユーザデバイスをリダイレクトするか否かを判断するために、特定の応答リソースに関するリダイレクトデータが検査され得る。ユーザデバイスに記憶されているクッキーに基づいて、特定の応答リソースがユーザデバイスをリダイレクトさせないと判断された場合、特定の応答リソースに関する検索結果は、異なるリソースへの参照を挿入することなく提供され得る。しかしながら、特定の応答リソースがクッキーを記憶しているユーザデバイスを異なるリソースへリダイレクトすると判断された場合、異なるリソースへの参照が特定の応答リソースに関する検索結果に挿入される。
【００８３】
この例では、クッキーを記憶するユーザデバイスに提供される特定の応答リソースに関する検索結果は、異なるリソースへのリンクを含むことになり、クッキーを記憶しないユーザデバイスに提供される同じ特定の応答リソースに関する他の検索結果は、異なるリソースへのリンクを含まないことになる。したがって、クッキーを記憶するユーザデバイスに提供される特定の応答リソースに関する検索結果とのユーザ対話は、ユーザデバイスに、クッキーを記憶していないユーザデバイスに提供された同じ特定の応答リソースに関する検索結果とのユーザ対話を介して要求されたリソースとは異なるリソースを要求させることになる。
【００８４】
いくつかの実施態様では、特定の応答リソースによるリダイレクトが、ユーザデバイスから特定の言語設定データを受信することを条件とするか否かの判断。例えば、「en」の言語設定データを提供するユーザデバイスは、英語で公開されたウェブページへリダイレクトされ得、「fr」の言語設定データを提供するユーザデバイスは、フランス語で公開されたウェブページへリダイレクトされ得る。したがって、特定のユーザデバイスのリダイレクトは、リソースに対する要求および/または検索要求と共にユーザデバイスによって提供される言語設定データを条件とし得る。
【００８５】
検索結果がユーザデバイスに提供される(312)。少なくとも1つの応答リソースが、検索要求を提出したユーザデバイスに関するリダイレクトリソースとして識別された場合、検索結果は、変更された検索結果とのユーザ対話が、リダイレクトリソースを最初に要求することなく、異なるリソースに対する要求を開始することになるように、異なるリソース(すなわち、リダイレクトリソースとは異なる)への参照(例えば、ハイパーテキストリンク)が挿入されている少なくとも1つの変更された検索結果を含むことができる。応答リソースのいずれもがリダイレクトリソースとして識別されなかった場合、検索結果の各々は、異なるリソースへの新しい参照を挿入することなく、ユーザデバイスに提供され得る。
【００８６】
図4は、上記で説明した動作を実行するために使用され得る例示的なコンピュータシステム400のブロック図である。システム400は、プロセッサ410、メモリ420、記憶デバイス430、および入力/出力デバイス440を含む。構成要素410、420、430、および440の各々は、例えば、システムバス450を使用して相互接続され得る。プロセッサ410は、システム400内で実行するための命令を処理することができる。一実施態様では、プロセッサ410は、シングルスレッドプロセッサである。別の実施態様では、プロセッサ410は、マルチスレッドプロセッサである。プロセッサ410は、メモリ420または記憶デバイス430上に記憶された命令を処理することができる。
【００８７】
メモリ420は、システム400内の情報を記憶する。一実施態様では、メモリ420は、コンピュータ可読記憶媒体である。一実施態様では、メモリ420は、揮発性メモリユニットである。別の実施態様では、メモリ420は、不揮発性メモリユニットである。
【００８８】
記憶デバイス430は、システム400のための大容量ストレージを提供することができる。一実施態様では、記憶デバイス430は、コンピュータ可読記憶媒体である。様々な異なる実施態様では、記憶デバイス430は、例えば、ハードディスクデバイス、光ディスクデバイス、複数のコンピューティングデバイスによってネットワークを介して共有される記憶デバイス(例えば、クラウド記憶デバイス)、またはなにか他の大容量記憶デバイスを含むことができる。
【００８９】
入力/出力デバイス440は、システム400のための入力/出力動作を提供する。一実施態様では、入力/出力デバイス440は、1つまたは複数のネットワークインターフェースデバイス、例えば、イーサネット（登録商標）カード、シリアル通信デバイス、例えば、RS-232ポート、および/または、ワイヤレスインターフェースデバイス、例えば、802.11カードを含むことができる。別の実施態様では、入力/出力デバイスは、入力データを受信し、出力データを他の入力/出力デバイス、例えば、キーボード、プリンタ、および表示デバイス460に送信するように構成されたドライバデバイスを含むことができる。しかしながら、モバイルコンピューティングデバイス、モバイル通信デバイス、セットトップボックステレビジョンクライアントデバイスなどの他の実施態様も使用され得る。
【００９０】
例示的な処理システムが図4中に記載されているが、本明細書で説明する主題および機能的動作の実施態様は、本明細書で開示する構造およびそれらの構造的等価物を含む、他のタイプのデジタル電子回路網において、または、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、または、それらの1つもしくは複数の組み合わせにおいて実施され得る。
【００９１】
本明細書で説明する主題および動作の実施形態は、本明細書で開示する構造およびそれらの構造的等価物を含む、デジタル電子回路網において、または、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、または、それらの1つもしくは複数の組み合わせにおいて実施され得る。本明細書で説明する主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置によって実行するための、または、データ処理装置の動作を制御するために、コンピュータ記憶媒体上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実施され得る。代替的に、または加えて、プログラム命令は、データ処理装置によって実行するための適切な受信装置に送信するための情報を符号化するために生成された、人工的に生成された伝播信号、例えば、機械生成の電気、光、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらの1つもしくは複数の組み合わせであり得、または、これらに含まれ得る。その上、コンピュータ記憶媒体が伝播信号でないとき、コンピュータ記憶媒体は、人工的に生成された伝播信号中に符号化されたコンピュータプログラム命令の送信元または送信先であり得る。コンピュータ記憶媒体は、また、1つまたは複数の別個の物理的構成要素または媒体(例えば、複数のCD、ディスク、または他の記憶デバイス)であり得、またはこれらに含まれ得る。
【００９２】
本明細書で説明する動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶された、または他の送信元から受信されたデータに対してデータ処理装置によって実行される動作として実施され得る。
【００９３】
「データ処理装置」という用語は、例として、前述のプログラマブルプロセッサ、コンピュータ、システムオンチップ、もしくは複数のもの、または組み合わせを含む、データを処理するためのすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、また、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つもしくは複数の組み合わせを構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【００９４】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイルまたはインタプリタ言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で書かれ得、スタンドアロンプログラムとして、または、モジュール、構成要素、サブルーチン、オブジェクト、もしくは、コンピューティング環境で使用するのに適した他のユニットとしての形式を含む、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、対応する必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えばマークアップ言語文書に記憶された1つまたは複数のスクリプト)内に、問題のプログラム専用の単一のファイル内に、または、複数の連携ファイル(例えば、1つもしくは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)内に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに配置される、もしくは、複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【００９５】
本明細書で説明するプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能プロセッサによって実行され得る。プロセスおよび論理フローは、また、特定目的の論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置は、このような特定目的の論理回路網として実施され得る。
【００９６】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用マイクロプロセッサの両方、ならびに、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から、命令およびデータを受信することになる。コンピュータの必須要素は、命令にしたがってアクションを実行するためのプロセッサ、ならびに、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、また、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを、これらからデータを受信する、もしくはこれらにデータを送信する、またはその両方を行うために、含むことになり、または、これらに作動的に結合されることになる。しかしながら、コンピュータは、このようなデバイスを有する必要はない。その上、コンピュータは、別のデバイス、例えば、数例を挙げると、携帯電話、パーソナルデジタルアシスタント(PDA)、携帯オーディオもしくはビデオプレイヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または、携帯用記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)内に埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびに、CD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、特定目的の論理回路網によって補足され得、または、特定目的の論理回路網に組み込まれ得る。
【００９７】
ユーザとの対話を提供するために、本明細書に記載の主題の実施形態は、ユーザに対して情報を表示するための表示デバイス、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびに、それによってユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールを有するコンピュータ上で実施され得る。同様にユーザとの対話を提供するために、他の種類のデバイスが使用され得、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形態で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、デバイスから文書を受信することによって、例えば、ウェブブラウザから受信した要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【００９８】
本明細書で説明する主題の実施形態は、例えばデータサーバであるバックエンド構成要素を含むコンピューティングシステム、もしくは、例えばアプリケーションサーバであるミドルウェア構成要素を含むコンピューティングシステム、もしくは、例えばクライアントコンピュータ(ユーザが本明細書で説明する主題の実施態様と対話することができるグラフィカルユーザインタフェースまたはウェブブラウザを備えるクライアントコンピュータ)であるフロントエンド構成要素を含むコンピューティングシステム、もしくは、1つもしくは複数のこのようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステム内で実施され得る。システムの構成要素は、任意の形式または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、ならびに、ピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)を含む。
【００９９】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに離れており、典型的には、通信ネットワークを介して対話する。クライアントおよびサーバの関係は、個々のコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、(例えば、データを表示させ、クライアントデバイスと対話するユーザからのユーザ入力を受信する目的で)データ(例えば、HTMLページ)をクライアントデバイスに送信する。クライアントデバイスで生成されるデータ(例えば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され得る。
【０１００】
本明細書は、多くの特定の実施態様の詳細を含むが、これらは、任意の発明の、または特許請求され得るものの範囲に対する制限として解釈されるべきではなく、特定の発明の特定の実施形態に固有の特徴の説明として解釈されるべきである。別々の実施形態の文脈において本明細書で説明される特定の特徴は、また、単一の実施形態で組み合わせて実施され得る。逆に、単一の実施形態の文脈において説明される様々な特徴は、また、複数の実施形態で別々に、または、任意の適切な部分的組み合わせで実施され得る。さらに、特徴は、特定の組み合わせで作用するように上述され、そのように当初は特許請求されている場合があるが、特許請求された組み合わせからの1つまたは複数の特徴は、いくつかの場合、組み合わせから削除され得、特許請求された組み合わせは、部分的組み合わせ、または部分的組み合わせの変形例を対象とし得る。
【０１０１】
同様に、動作は、図面中に特定の順序で示されているが、これは、このような動作が図示された特定の順序もしくはシーケンシャルな順序で実行されること、または、所望の結果を達成するために図示されたすべての動作が実行されることを必要とすると理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記で説明した実施形態の様々なシステム構成要素の分離は、すべての実施形態でそのような分離を必要とすると理解されるべきではなく、説明したプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品に一緒に統合され得、または、複数のソフトウェア製品にパッケージ化され得ることが理解されるべきである。
【０１０２】
このように、主題の特定の実施形態を説明してきた。他の実施形態は、以下の特許請求の範囲内である。いくつかの場合、特許請求の範囲に記載のアクションは、異なる順序で実行され得、所望の結果を依然として達成することができる。加えて、添付の図面に示すプロセスは、所望の結果を達成するために、示された特定の順序、またはシーケンシャルな順序を必ずしも必要としない。特定の実施態様では、マルチタスクおよび並列処理が有利であり得る。
【符号の説明】
【０１０３】
100  環境
102  ネットワーク
104  ウェブサイト
105  リソース
106  ユーザデバイス
109  検索クエリ
110  検索システム
111  検索結果
112  検索インデックス
114  検索結果ページ
115  検索結果SR1
116  リソースA
118  リソースB
120  リダイレクト低減装置
122  リダイレクトデータストア
200  データフロー
202  リソース要求A
204  発行元サーバ
206  リダイレクト命令
207  ネットワーク上の場所
208  リソース要求B
210  リソースデータ
212  リダイレクトデータ
222  変更された検索結果
250  データフロー
400  システム
410  プロセッサ
420  メモリ
430  記憶デバイス
440  入力/出力デバイス
450  システムバス
460  表示デバイス
【図１】
0006001084.tif 000002
【図２Ａ】
0006001084.tif 000003
【図２Ｂ】
0006001084.tif 000004
【図３】
0006001084.tif 000005
【図４】
0006001084.tif 000006