JP2016197470A - リダイレクトの低減 - Google Patents

リダイレクトの低減 Download PDF

Info

Publication number
JP2016197470A
JP2016197470A JP2016165602A JP2016165602A JP2016197470A JP 2016197470 A JP2016197470 A JP 2016197470A JP 2016165602 A JP2016165602 A JP 2016165602A JP 2016165602 A JP2016165602 A JP 2016165602A JP 2016197470 A JP2016197470 A JP 2016197470A
Authority
JP
Japan
Prior art keywords
resource
user device
search
redirect
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016165602A
Other languages
English (en)
Other versions
JP6173546B2 (ja
Inventor
悠 菅原
Yu Sugawara
悠 菅原
義清 加藤
Yoshikiyo Kato
義清 加藤
今泉 竜一
Ryuichi Imaizumi
竜一 今泉
健一 福島
Kenichi Fukushima
健一 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2016197470A publication Critical patent/JP2016197470A/ja
Application granted granted Critical
Publication of JP6173546B2 publication Critical patent/JP6173546B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】検索結果を変更するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置を提供する。【解決手段】一態様では、方法は、ユーザデバイスによって提出された検索要求に対する応答リソースのセットを指定するデータを受信するステップを含む。応答リソースのセットからの特定のリソースに対するリソース要求がユーザデバイスを特定のリソースとは異なるリソースへリダイレクトさせることになることの判断が行われる。判断に応答して、異なるリソースへの参照が、特定のリソースに関する検索結果に挿入される。特定のリソースに関する検索結果が、ユーザデバイスに提供され、検索結果は、異なるリソースへの参照を含む。【選択図】図2B

Description

関連出願の相互参照
本出願は、その両方が参照により全体が本明細書に組み込まれている、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 表示デバイス

Claims (20)

  1. コンピュータ実施方法において、
    検索クエリを送信するステップと、
    前記検索クエリを送信する前記ステップに応答して、(i)前記検索クエリに応答して検索エンジンにより識別される第1リソースに関連するタイトル及びテキストの断片、及び(ii)前記第1リソースに対する要求が自動的にリダイレクトされるところの第2リソースへの参照を含む修正された検索結果を含む検索結果ページを受信するステップと、
    出力用の前記検索結果ページを提供するステップと、
    を具備することを特徴とするコンピュータ実施方法。
  2. 前記検索結果ページは、前記第1リソースへの参照の代わりに、前記第2リソースへの前記参照を含むことを特徴とする請求項1に記載の方法。
  3. 前記検索クエリを送信する前記ステップは、
    検索語、及びユーザデバイスが第1のタイプのユーザデバイスであることを示している識別データを、ユーザデバイスにより、検索システムへ送信するステップ、
    を具備し、
    前記第1リソースに対する要求は、前記第1のタイプのユーザデバイスを前記第2リソースへリダイレクトすることを特徴とする請求項1に記載の方法。
  4. 前記第1のタイプのユーザデバイスは、モバイルデバイスを具備することを特徴とする請求項3に記載の方法。
  5. 前記検索クエリを送信する前記ステップは、
    検索語、及びユーザデバイスが第1のタイプのユーザデバイスであることを示している識別データを、ユーザデバイス により、検索システムへ送信するステップ、
    を具備し、
    前記第1リソースは、前記第1のタイプのユーザデバイスへの提示用にフォーマットされていないが、前記第2リソースは、前記第1のタイプのユーザデバイスへの提示用にフォーマットされていることを特徴とする請求項1に記載の方法。
  6. 前記検索クエリを送信する前記ステップは、
    検索語、及びユーザデバイスが前記第1リソースに対するクッキーを格納することを示している識別データを、ユーザデバイスにより、検索システムへ送信するステップ、
    を具備し、
    前記第1リソースに対する要求は、前記第1リソースに対するクッキーを格納しているユーザデバイスを、前記第2リソースへリダイレクトすることを特徴とする請求項1に記載の方法。
  7. 前記第2リソースへの前記参照は、ハイパーリンクを具備することを特徴とする請求項1に記載の方法。
  8. 前記第2リソースは、ウェブページを具備することを特徴とする請求項1に記載の方法。
  9. システムであって、
    1つ又は複数のコンピュータと、
    前記1つ又は複数のコンピュータにより実行されたときに、前記1つ又は複数のコンピュータに、
    検索クエリを送信するステップと、
    前記検索クエリを送信する前記ステップに応答して、(i)前記検索クエリに応答して検索エンジンにより識別される第1リソースに関連するタイトル及びテキストの断片、及び(ii)前記第1リソースに対する要求が自動的にリダイレクトされるところの第2リソースへの参照を含む修正された検索結果を含む検索結果ページを受信するステップと、
    出力のための前記検索結果ページを提供するステップと、
    を具備する工程を実行させることが可能な命令を格納する1つ又は複数の記憶装置と、
    を具備することを特徴とするシステム。
  10. 前記検索結果ページは、前記第1リソースへの参照の代わりに前記第2リソースへの前記参照を含むことを特徴とする請求項9に記載のシステム。
  11. 前記検索クエリを送信する前記ステップは、
    検索語、及びユーザデバイスが第1のタイプのユーザデバイスであることを示している識別データを、ユーザデバイスにより、検索システムへ送信するステップ、
    を具備し、
    前記第1リソースに対する要求は、前記第1のタイプのユーザデバイスを前記第2リソースへリダイレクトすることを特徴とする請求項9に記載のシステム。
  12. 前記第1のタイプのユーザデバイスは、モバイルデバイスを具備することを特徴とする請求項11に記載のシステム。
  13. 前記検索クエリを送信する前記ステップは、
    検索語、及びユーザデバイスが第1のタイプのユーザデバイスであることを示している識別データを、ユーザデバイスにより、検索システムへ送信するステップ、
    を具備し、
    前記第1リソースは、前記第1のタイプのユーザデバイスへの提示用にフォーマットされていないが、前記第2リソースは、前記第1のタイプのユーザデバイスへの提示用にフォーマットされていることを特徴とする請求項9に記載のシステム。
  14. 前記検索クエリを送信する前記ステップは、
    検索語、及び、ユーザデバイスが前記第1リソースに対するクッキーを格納することを示している識別データを、ユーザデバイスにより、検索システムへ送信するステップ、
    を具備し、
    前記第1リソースに対する要求は、前記第1リソースに対するクッキーを格納しているユーザデバイスを、前記第2リソースへリダイレクトすることを特徴とする請求項9に記載のシステム。
  15. 前記第2リソースへの前記参照は、ハイパーリンクを具備することを特徴とする請求項9に記載のシステム。
  16. 前記第2リソースは、ウェブページを具備することを特徴とする請求項9に記載のシステム。
  17. 1つ又は複数のコンピュータにより実行されると、前記1つ又は複数のコンピュータに、
    検索クエリを送信するステップと、
    前記検索クエリを送信する前記ステップに応答して、(i)前記検索クエリに応答して検索エンジンにより識別される第1リソースに関連するタイトル及びテキストの断片、及び(ii)前記第1リソースに対する要求が自動的にリダイレクトされるところの第2リソースへの参照を含む修正された検索結果を含む検索結果ページを受信するステップと、
    出力用の前記検索結果ページを提供するステップと、
    を具備する工程を実行させる、前記1つ又は複数のコンピュータにより実行可能な命令を具備するソフトウェアを格納する非一時的コンピュータ可読媒体。
  18. 前記検索結果ページは、前記第1リソースへの参照の代わりに、前記第2リソースへの前記参照を含むことを特徴とする請求項17に記載の媒体。
  19. 前記検索クエリを送信する前記ステップは、
    検索語、及び、ユーザデバイスが第1のタイプのユーザデバイスであることを示している識別データを、ユーザデバイスにより、検索システムへ送信するステップ
    を具備し、
    前記第1リソースに対する要求は、前記第1のタイプのユーザデバイスを前記第2リソースへリダイレクトすることを特徴とする請求項17に記載の媒体。
  20. 前記第1のタイプのユーザデバイスは、モバイルデバイスを具備することを特徴とする請求項19に記載の媒体。
JP2016165602A 2011-12-07 2016-08-26 リダイレクトの低減 Active JP6173546B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161567758P 2011-12-07 2011-12-07
US61/567,758 2011-12-07
US13/534,640 US9342615B2 (en) 2011-12-07 2012-06-27 Reducing redirects
US13/534,640 2012-06-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014545956A Division JP6001084B2 (ja) 2011-12-07 2012-11-30 リダイレクトの低減

Publications (2)

Publication Number Publication Date
JP2016197470A true JP2016197470A (ja) 2016-11-24
JP6173546B2 JP6173546B2 (ja) 2017-08-02

Family

ID=48573001

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014545956A Active JP6001084B2 (ja) 2011-12-07 2012-11-30 リダイレクトの低減
JP2016165602A Active JP6173546B2 (ja) 2011-12-07 2016-08-26 リダイレクトの低減

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014545956A Active JP6001084B2 (ja) 2011-12-07 2012-11-30 リダイレクトの低減

Country Status (7)

Country Link
US (3) US9342615B2 (ja)
EP (1) EP2788900B1 (ja)
JP (2) JP6001084B2 (ja)
KR (1) KR102003491B1 (ja)
CN (1) CN104428765B (ja)
CA (1) CA2858062C (ja)
WO (1) WO2013085813A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101230585B1 (ko) * 2010-12-07 2013-02-06 주식회사 안랩 악성코드 치료 장치 및 방법
US9679568B1 (en) * 2012-06-01 2017-06-13 Google Inc. Training a dialog system using user feedback
US10007731B2 (en) * 2012-09-12 2018-06-26 Google Llc Deduplication in search results
US9563713B2 (en) 2012-10-10 2017-02-07 Microsoft Technology Licensing, Llc Automatic mobile application redirection
US9317272B2 (en) * 2013-03-15 2016-04-19 Yahoo! Inc. Computerized system and method for creating a resource URL for rendering the resource in a resource specific application
US20140379747A1 (en) * 2013-06-19 2014-12-25 Microsoft Corporation Identifying relevant apps in response to queries
US9798779B2 (en) 2014-04-14 2017-10-24 International Business Machines Corporation Obtaining desired web content for a mobile device
US9237204B1 (en) * 2014-07-30 2016-01-12 Iboss, Inc. Web redirection for caching
US10180985B2 (en) * 2015-02-19 2019-01-15 At&T Intellectual Property I, L.P. Apparatus and method for automatically redirecting a search
CN106330988B (zh) * 2015-06-16 2020-01-03 阿里巴巴集团控股有限公司 一种超文本传输请求的补发方法、装置及客户端
US10223460B2 (en) * 2015-08-25 2019-03-05 Google Llc Application partial deep link to a corresponding resource
KR102196403B1 (ko) * 2017-04-03 2020-12-29 구글 엘엘씨 재지향 감소
JP6471988B2 (ja) * 2017-07-11 2019-02-20 小林 潤 Snsサイトに対する自動投稿システム
US20200366668A1 (en) * 2018-03-07 2020-11-19 Intel Corporation Credential dependency encoding in restful system based on resources
US11182058B2 (en) * 2018-12-12 2021-11-23 Atlassian Pty Ltd. Knowledge management systems and methods
US20220269747A1 (en) * 2021-02-19 2022-08-25 Capital One Services, Llc Qr code access restriction without geolocation knowledge

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362599A (ja) * 2004-07-12 2004-12-24 Ec Japan Inc 文書出力装置および方法
JP2010123043A (ja) * 2008-11-21 2010-06-03 Mitsubishi Electric Corp URL変換装置、URL変換方法、URL変換プログラム及びWeb情報収集システム
JP2012501502A (ja) * 2008-08-26 2012-01-19 アリババ グループ ホールディング リミテッド Http要求のサーバ内リダイレクト

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1176432C (zh) * 1999-07-28 2004-11-17 国际商业机器公司 提供本国语言查询服务的方法和系统
US20030208472A1 (en) * 2000-04-11 2003-11-06 Pham Peter Manh Method and apparatus for transparent keyword-based hyperlink
US7679591B2 (en) * 2004-07-09 2010-03-16 Au Optronics Corporation Light emitting display device
JP2008527524A (ja) * 2005-01-10 2008-07-24 メリンゴ リミテッド 埋め込み型翻訳強化検索
US20070027857A1 (en) * 2005-07-28 2007-02-01 Li Deng System and method for searching multimedia and download the search result to mobile devices
US7663415B2 (en) * 2005-12-30 2010-02-16 Stmicroelectronics Pvt. Ltd. Phase locked loop (PLL) method and architecture
US20070220419A1 (en) * 2006-03-10 2007-09-20 Web.Com, Inc. Systems and Methods of Providing Web Content to Multiple Browser Device Types
US8577889B2 (en) * 2006-07-18 2013-11-05 Aol Inc. Searching for transient streaming multimedia resources
EP2126741A1 (en) * 2007-01-24 2009-12-02 Google Inc. Blending mobile search results
CN100518305C (zh) * 2007-04-09 2009-07-22 中兴通讯股份有限公司 一种内容分发网络系统及其内容和服务调度方法
US8424004B2 (en) 2007-06-23 2013-04-16 Microsoft Corporation High performance script behavior detection through browser shimming
WO2009001137A1 (en) * 2007-06-28 2008-12-31 Taptu Ltd Interactive web scraping of online content for search and display on mobile devices
AU2008286237A1 (en) * 2007-08-03 2009-02-12 Universal Vehicles Pty Ltd Evaluation of an attribute of an information object
US20090094224A1 (en) * 2007-10-05 2009-04-09 Google Inc. Collaborative search results
US7809697B1 (en) 2007-11-09 2010-10-05 Google Inc. Compressing hyperlinks in a hyperlink-based document
US9213685B2 (en) * 2010-07-13 2015-12-15 Motionpoint Corporation Dynamic language translation of web site content
JP5614149B2 (ja) * 2010-07-29 2014-10-29 コニカミノルタ株式会社 画像形成システム
US8977624B2 (en) * 2010-08-30 2015-03-10 Microsoft Technology Licensing, Llc Enhancing search-result relevance ranking using uniform resource locators for queries containing non-encoding characters
US9529578B2 (en) * 2010-10-20 2016-12-27 Hewlett Packard Enterprise Development Lp Automated service version upgrading
US8631394B2 (en) * 2011-01-13 2014-01-14 Facebook, Inc. Static resource processing
US8862777B2 (en) * 2011-04-01 2014-10-14 Verisign, Inc Systems, apparatus, and methods for mobile device detection
US9282158B2 (en) 2011-06-06 2016-03-08 Google Inc. Reducing redirects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362599A (ja) * 2004-07-12 2004-12-24 Ec Japan Inc 文書出力装置および方法
JP2012501502A (ja) * 2008-08-26 2012-01-19 アリババ グループ ホールディング リミテッド Http要求のサーバ内リダイレクト
JP2010123043A (ja) * 2008-11-21 2010-06-03 Mitsubishi Electric Corp URL変換装置、URL変換方法、URL変換プログラム及びWeb情報収集システム

Also Published As

Publication number Publication date
US9342615B2 (en) 2016-05-17
US10394909B2 (en) 2019-08-27
CN104428765B (zh) 2018-05-25
KR102003491B1 (ko) 2019-07-24
JP6001084B2 (ja) 2016-10-05
CA2858062A1 (en) 2013-06-13
CN104428765A (zh) 2015-03-18
WO2013085813A1 (en) 2013-06-13
CA2858062C (en) 2019-09-03
US20190340205A1 (en) 2019-11-07
US20160232250A1 (en) 2016-08-11
US20130151552A1 (en) 2013-06-13
JP6173546B2 (ja) 2017-08-02
JP2015501992A (ja) 2015-01-19
EP2788900A1 (en) 2014-10-15
EP2788900B1 (en) 2016-02-03
KR20140110917A (ko) 2014-09-17

Similar Documents

Publication Publication Date Title
JP6173546B2 (ja) リダイレクトの低減
JP6370408B2 (ja) ネイティブアプリケーションに関するディープリンク
US9547721B2 (en) Native application search results
KR102056881B1 (ko) 세트 내의 컨텐트 아이템들 사이에서의 네비게이팅
JP6363738B2 (ja) ネイティブアプリケーションに関する検索結果
US9146972B2 (en) Ranking of presentation modes for particular content
KR102454954B1 (ko) 검색 동작 출력 엘리먼트에 대한 액션 표시자
US10007731B2 (en) Deduplication in search results
US8429535B2 (en) Client utility interaction analysis
JP6410992B1 (ja) バックグラウンドにおけるネイティブアプリケーションの事前インスタンス化
CN107430614B (zh) 到对应资源的应用局部深度链接
US11003728B1 (en) Native application search results
JP6683835B2 (ja) 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減
JP7104091B2 (ja) 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減
RU2774319C2 (ru) Глубинные ссылки для нативных приложений
WO2013078591A1 (en) Grouping search results

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160830

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170704

R150 Certificate of patent or registration of utility model

Ref document number: 6173546

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250