JP2018525698A - 対応するリソースへのアプリケーション部分ディープリンク - Google Patents

対応するリソースへのアプリケーション部分ディープリンク Download PDF

Info

Publication number
JP2018525698A
JP2018525698A JP2017556914A JP2017556914A JP2018525698A JP 2018525698 A JP2018525698 A JP 2018525698A JP 2017556914 A JP2017556914 A JP 2017556914A JP 2017556914 A JP2017556914 A JP 2017556914A JP 2018525698 A JP2018525698 A JP 2018525698A
Authority
JP
Japan
Prior art keywords
content
native application
resource
partial
deep link
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
JP2017556914A
Other languages
English (en)
Other versions
JP6580708B2 (ja
Inventor
ドン・ハ・リ
ジェヒョン・ヨム
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 JP2018525698A publication Critical patent/JP2018525698A/ja
Application granted granted Critical
Publication of JP6580708B2 publication Critical patent/JP6580708B2/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/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/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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/951Indexing; Web crawling techniques
    • 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/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Abstract

リソースへの部分ディープリンクを生成するための方法、システム、および装置が提供される。ある態様では、システムは、リソースアドレスによって識別されるリソースが、部分識別子およびそれぞれの対応するネイティブアプリケーション部分ディープリンクを含むと決定する。各部分識別子は、ブラウザ環境においてレンダリングされるべきコンテンツの適切なサブセットであるコンテンツの一部を識別し、コンテンツの適切なサブセットは、他の部分識別子によって識別されるコンテンツの適切なサブセットとは異なる。ネイティブアプリケーション部分ディープリンクが、コンテンツの適切なサブセットを識別するために、部分識別子によって識別されるコンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションと、部分識別子に一意に対応するネイティブアプリケーションの部分ディープリンクとを識別する。本システムは、リソースアドレスをネイティブアプリケーション部分ディープリンクにマッピングするマッピングを生成する。

Description

本発明は、対応するリソースへのアプリケーション部分ディープリンクに関する。
インターネットは、広範な情報へのアクセスを提供する。たとえば、デジタル画像ファイル、ビデオおよび/またはオーディオファイル、ならびに特定の話題または特定のニュース記事のウェブページリソースは、インターネットを介してアクセス可能である。ウェブページリソースに関しては、これらのリソースの多くは、バンキング、ホテル予約、ショッピングなどの特定の機能を実行することを容易にするように、またはオンライン百科事典、映画データベースなどの構造化情報を提供するように設計されている。
インターネットを介してアクセス可能な特定のリソースを識別するための、様々な検索エンジンが利用可能である。これらの検索エンジンは、様々なウェブページリソースをクロールしてインデックス付けする。次いで、検索エンジンは、どのリソースが検索クエリに最も応答しているかを決定し、クエリに応答してリソースにリンクする検索結果を提供するために、インデックスを使用する。
タブレットコンピュータおよびスマートフォンの出現により、ウェブページリソースの使用によって容易にされた同じまたは同様の機能の実行を容易にする、および同じまたは同様のコンテンツを提供するネイティブアプリケーションが、現在大量に提供されている。
本明細書は、ウェブページ上の対応するコンテンツを有するネイティブアプリケーションコンテンツを識別することに関する。
一般に、本明細書に記載される主題の1つの革新的な態様は、リソースアドレスによって識別されるリソースが、ブラウザ環境においてレンダリングされるべきコンテンツを規定すると決定するステップであって、リソースが、複数の部分識別子およびそれぞれの対応するネイティブアプリケーション部分ディープリンクを含み、各部分識別子が各他の部分識別子とは異なり、部分識別子ごとに、部分識別子が、ブラウザ環境においてレンダリングされるべきコンテンツの適切なサブセットであるコンテンツの一部を識別し、コンテンツの適切なサブセットが、他の部分識別子によって識別されるコンテンツの適切なサブセットとは異なり、ネイティブアプリケーション部分ディープリンクが、コンテンツの適切なサブセットを識別するために、部分識別子によって識別されるコンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションと、部分識別子に一意に対応するネイティブアプリケーションの部分ディープリンクとを識別する、ステップと、データ処理装置によって、リソースアドレスをネイティブアプリケーション部分ディープリンクにマッピングするマッピングを生成するステップと、マッピングをマップインデックスに記憶するステップとの動作を含む方法において具体化することができる。
本明細書に記載される主題の別の革新的な態様は、検索クエリに応答してユーザデバイスにおいて複数の検索結果を受信するステップであって、少なくとも1つの検索結果が部分ディープリンクを含み、部分ディープリンクが、部分ディープリンクとは異なるリソースアドレスによって識別されるリソース内の部分識別子によって識別されるコンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションを識別し、コンテンツの一部が、リソースアドレスにおいてリソースの要求に応答するときに、ユーザデバイスによってレンダリングされるべきコンテンツのサブセットであり、検索結果の選択に応答して、部分ディープリンクが、ユーザデバイスにネイティブアプリケーションをインスタンス化させ、部分識別子によって識別されるコンテンツの一部を要求させる、ステップと、部分ディープリンクを含む検索結果を選択するステップと、選択に応答して、コンテンツの一部を要求および受信し、ネイティブアプリケーションのインスタンス内のコンテンツの一部を表示するステップとの動作を含む方法において具体化することができる。
本明細書に記載される主題の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装することができる。ネイティブアプリケーション環境をウェブページの対応する部分にマッピングすることによって、検索エンジンによる、より正確で効率的なコンテンツ検証が可能になる。コンテンツ検証により、コンテンツのネイティブアプリケーションのリンクをインデックス付けする前に、アプリケーションによって提示されたコンテンツが、ウェブサイトの対応する部分のコンテンツと一貫性があることが保証される。検証によって、クエリに応答してネイティブのアプリケーション検索結果を提供する際に、検索エンジンがユーザの情報ニーズを満たす情報へのアクセスを提供することが保証される。ユーザの情報ニーズのより良い/より迅速な満足は、計算資源、特に、通常であれば情報ニーズを満たすためにユーザによって実行される追加の/より長いブラウジング中に使用される計算資源の使用を減少させる可能性がある。加えて、コンテンツ検証はウェブページの一部に基づいているので、検証プロセスは、対応するウェブページのすべてのデータを考慮する検証プロセスよりもロバストである。これにより、コンテンツ検証の失敗が少なくなり、検証プロセスのステップが少なくなり、ひいては、コンテンツの検証およびインデックス付けのために必要なコンピュータリソースが解放される。これにより、コンテンツのインデックス付けおよび検索の技術分野が改善される。
いくつかの実装形態では、検索エンジンは、ウェブサイトおよびネイティブアプリケーションによって一貫した方法で提供されるコンテンツを1つのインデックスにインデックス付けするだけでよく、ウェブリソースのインデックスのためにあるインデックスを、およびネイティブアプリケーションのために別のインデックスを別々にインデックス付けする必要はない。これにより、2つのコーパスの全体的なメンテナンスが削減される。
いくつかの実装形態では、検証によって、ウェブリソースに一貫したコンテンツを提供することが知られているネイティブアプリケーションのネイティブアプリケーション検索結果の提供が容易になる。したがって、ウェブリソースはネイティブアプリケーションのスコアリングプロキシとして使用することができる。これにより、検索結果のスコアリングとランク付けを行う際に、ネイティブアプリケーションと対応するリソースとの間の一貫したスコアリングが可能になる。
最後に、様々なコンテンツ検証技法を使用することによって、検証プロセスは、ネイティブアプリケーションと対応するウェブリソースとの間の様々なフォーマットおよび表示の違いに関してロバストになる。
本明細書に記載される主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
ネイティブアプリケーション部分ディープリンクがリソースアドレスにマッピングされる環境のブロック図である。 ウェブページにおけるコンテンツ部分、およびコンテンツ部分のうちのいくつかのネイティブアプリケーションのおよび対応する環境インスタンスを示すブロック図である。 ネイティブアプリケーション部分ディープリンクをリソースアドレスにマッピングする例示的なプロセスのフローチャートである。 部分ディープリンクのネイティブアプリケーションコンテンツを検証するための例示的なプロセスの流れ図である。 リソースのコンテンツの適切なサブセットの1つを参照するネイティブアプリケーション部分ディープリンクをユーザデバイスに提供するための例示的なプロセスのフローチャートである。 検索結果におけるネイティブアプリケーション部分ディープリンクを提供するための例示的なプロセスのフローチャートである。
様々な図面における同様の参照番号および名称は、同様の要素を示す。
本明細書で使用される場合、ネイティブアプリケーションは、ネイティブアプリケーションの環境内のユーザデバイス上に表示するための環境インスタンスを生成し、ユーザデバイス上のブラウザアプリケーションとは独立して動作する。ネイティブアプリケーションは、特定のユーザデバイスオペレーティングシステムおよびマシンファームウェア上で動作するように特に設計されたアプリケーションである。したがって、ネイティブアプリケーションは、ブラウザベースのアプリケーションおよびブラウザレンダリングされたリソースとは異なる。後者は、インスタンス化またはレンダリングされるたびにウェブサーバからダウンロードされた、すべての、または少なくともいくつかの要素あるいは命令を必要とする。さらに、ブラウザベースのアプリケーションおよびブラウザレンダリングされたリソースは、ブラウザ内のすべてのウェブ対応モバイルデバイスによって処理することができ、したがってオペレーティングシステム固有のものではない。
モバイルデバイスおよびタブレットデバイスのネイティブアプリケーションは、通常、デスクトップデバイスまたはラップトップデバイスの表示領域よりもはるかに小さい表示領域を備える。したがって、デスクトップサイズのディスプレイ用に公開され、複数の異なるセクションを含むリソースは、ディスプレイがより小さいデバイス上では、ビューポート外でレンダリングされるべきコンテンツの複数のセクションを持つことがよくある。ユーザにとって関心がある可能性がある情報を見つけるために、ユーザはビューポート内をナビゲートしなければならないため、これはユーザの経験を低下させる。この問題は、ユーザが面白いと感じた情報の断片をそれ自体が含む可能性がある検索結果の選択に応答してリソースが提供されたときに悪化する。
本明細書では、ネイティブアプリケーション部分ディープリンクの存在を決定し、ネイティブアプリケーション部分ディープリンクを対応するリソースアドレスにマッピングするシステムを開示する。動作中、システムは、ブラウザ環境においてレンダリングされるべきコンテンツを規定するリソースアドレスによって識別されるリソースにアクセスする。本システムは、リソースが、部分識別子およびそれぞれの対応するネイティブアプリケーション部分ディープリンクを含むと決定する。各部分識別子は各他の部分識別子とは異なり、ブラウザ環境においてレンダリングされるべきコンテンツの一部を識別する。各部分識別子によって識別されるコンテンツは、他の部分識別子によって識別されるコンテンツとは異なる。ネイティブアプリケーション部分ディープリンクが、コンテンツの適切なサブセットを識別するために、部分識別子によって識別されるコンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションと、部分識別子に一意に対応するネイティブアプリケーションの部分ディープリンクとを識別する。本システムは、リソースアドレスをネイティブアプリケーション部分ディープリンクにマッピングし、そのマッピングをインデックスに記憶する。次いで、本システムは、部分ディープリンクにアクセスするときにネイティブアプリケーションによって提供されるコンテンツを、対応する部分識別子によって識別されるリソースのコンテンツと比較することによって、ネイティブアプリケーション部分ディープリンクのコンテンツを検証してもよい。
たとえば、レストランは、ウェブサイトおよび対応するネイティブアプリケーションを有してもよい。レストランウェブサイトでは、リソース(たとえば、ウェブページ)は、特定のレストランに関する情報を含んでもよく、またリソースの部分内にその特定のレストランのレビューが含まれてもよい。部分識別子は、リソースにおいて提供されるコンテンツの特定の部分を識別するために、リソースのハイパーテキストマークアップ言語(HTML)に含まれてもよい(たとえば、部分識別子がリソースのレビュー部分を識別してもよい)。部分識別子によって識別されるネイティブアプリケーション部分ディープリンクと、コンテンツの特定の部分が位置するリソースの関連するリソースアドレスとの間のマッピングを生成するために、たとえば、クローリング動作によってマッピングが実行されてもよい。後述するように、レストランのネイティブアプリケーションのネイティブアプリケーション部分ディープリンクが選択されると、ネイティブアプリケーションはディープリンクによって参照されるコンテンツを提示する。レストランレビュー部分コンテンツの場合、検索エンジンは、ネイティブアプリケーションのコンテンツを検証するために、部分識別子によってラベル付けされたウェブページのコンテンツ、ならびにネイティブアプリケーションによって提示されたコンテンツにアクセスしてもよい。
これらの特徴および追加の特徴は、以下でより詳細に説明される。
図1Aは、ネイティブアプリケーション部分ディープリンクがリソースアドレスにマッピングされる例示的な環境100のブロック図である。インターネットなどのコンピュータネットワーク102は、リソース発行者ウェブサイト104、アプリケーション発行者106、ユーザデバイス108、および検索システム130を接続する。
リソース発行者ウェブサイト104は、ドメインに関連付けられ、1つまたは複数の場所における1つまたは複数のサーバによってホストされる、1つまたは複数のウェブリソース105を含む。一般に、リソース発行者ウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびプログラミング要素を含むことができるハイパーテキストHTMLでフォーマットされたウェブページの集合体である。各ウェブサイト104は、ウェブサイト104を制御、管理、および/または所有するエンティティであるコンテンツ発行者によって維持される。
ウェブページリソースは、ネットワーク102を介して発行者ウェブサイト104によって提供されてもよく、リソースアドレス、たとえば、ユニフォームリソースロケータ(URL)を有する任意のデータである。ウェブリソースは、いくつか例を挙げると、HTMLページ、画像ファイル、ビデオファイル、オーディオファイル、およびフィードソースであってもよい。リソースは、埋込み情報、たとえば、メタ情報およびハイパーリンク、ならびに/または埋込み命令、たとえばクライアント側スクリプトを含んでもよい。より一般的には、「リソース」はネットワークを介して識別可能なものであり、またネイティブアプリケーションも含むことができる。
アプリケーション発行者ウェブサイト106はまた、1つまたは複数のウェブリソース105を含んでもよく、またネイティブアプリケーション107を提供する。上述のように、ネイティブアプリケーション107は、特定のユーザデバイスオペレーティングシステムおよびマシンファームウェア上で動作するように特に設計されたアプリケーションである。ネイティブアプリケーション107は、異なるプラットフォーム上で動作するように設計された複数のバージョンを含んでもよい。たとえば、映画データベースウェブサイトに対応するネイティブアプリケーションは、第1のタイプのスマートフォン上で動作する第1のネイティブアプリケーション、第2のタイプのスマートフォン上で動作する第2のネイティブアプリケーション、第1のタイプのタブレット上で動作する第3のネイティブアプリケーションなどを含んでもよい。
本明細書で使用される場合、「環境インスタンス」は、ネイティブアプリケーション内の表示環境であり、そこにテキスト、画像などのコンテンツが表示される。環境インスタンスは、特定のネイティブアプリケーションに固有であり、ネイティブアプリケーションは、ユーザデバイス108の特定のオペレーティングシステムに固有である。環境インスタンスは、環境インスタンスがネイティブアプリケーション内で生成され、ネイティブアプリケーションに固有のものである点で、レンダリングされたウェブリソースとは異なるが、ウェブリソースは、ウェブページリソースに互換性があり、ユーザデバイスのオペレーティングシステムから独立している任意のブラウザ環境においてレンダリングされてもよい。
ユーザデバイス108は、ユーザの制御下にある電子デバイスである。ユーザデバイス108は、典型的には、ネットワーク102を介してウェブページリソース105およびネイティブアプリケーション107を要求および受信することができる。例示的なユーザデバイス108は、パーソナルコンピュータ、モバイル通信デバイス、およびタブレットコンピュータを含む。
様々なウェブサイトおよびネイティブアプリケーション(および、任意選択で、他のデータソース)を検索するために、ユーザデバイス108は、検索クエリを検索システム130に提出する。クエリに応答してウェブリソース105およびネイティブアプリケーション107を検索するために、検索システム130は、アプリケーションインデックス114およびウェブインデックス116にアクセスする。アプリケーションインデックス114は、ネイティブアプリケーション107のアプリケーションページのインデックスであり、アプリケーションデータ抽出器およびプロセッサ110、ならびにインデクサ112を使用して構築される。ウェブインデックス116は、たとえば、発行者ウェブサイト104をクローリングすることから構築されたウェブリソース105のインデックスである。各クエリに応答して、検索システム130は、クエリに関連するリソースおよびネイティブアプリケーションを識別するために、ウェブインデックス116、および任意選択でアプリケーションインデックス114にアクセスする。別個のインデックスとして示されているが、ウェブインデックス116およびアプリケーションインデックス114は、単一のインデックスに組み合わせることができる。
検索システム130は、たとえば、リソースおよびアプリケーションをそれぞれウェブリソース検索結果およびネイティブアプリケーション検索結果の形式で識別してもよい。生成された後で、検索結果は、クエリが受信されたユーザデバイス108に提供される。
ウェブリソース検索結果は、検索システム130によって生成され、特定の検索クエリを満たすリソースのコンテンツに基づいてウェブリソースを識別するデータである。リソースのウェブリソース検索結果は、ウェブページタイトル、リソースから抽出されたテキストの断片、およびリソースのユニフォームリソース識別子(URI)、たとえばウェブページのユニフォームリソースロケータ(URL)を含むことができる。ウェブリソース検索結果は、ユーザデバイスにおいて選択されると、ユーザデバイスに、URLに位置するリソースを求める要求を生成させる。次いで、受信されたウェブリソースは、ブラウザアプリケーションに表示される。
ネイティブアプリケーションの検索結果は、ネイティブアプリケーションと、任意選択でネイティブアプリケーションディープリンクを指定する。ネイティブアプリケーションの検索結果は、ユーザデバイスにおいて選択されると、ユーザデバイスにインストールされたネイティブアプリケーションに、一貫したコンテンツを要求させる。ネイティブアプリケーションが要求されたコンテンツを受信すると、ネイティブアプリケーションは、ネイティブアプリケーションのユーザインターフェースにコンテンツを表示する。
いくつかの実装形態では、ウェブページの発行者は、ウェブページコード内に埋め込まれたネイティブアプリケーションの部分識別子およびディープリンクの使用によって、ウェブページ自体内のウェブページの特定の部分に対応するネイティブアプリケーションディープリンクを指定してもよい。そのようなディープリンクは、各部分ディープリンクがウェブページのコンテンツのサブ部分(すなわち、ウェブページコンテンツの適切なサブセット)に対応するので、「部分ディープリンク」と呼ばれる。マッピングシステム120は、ネイティブアプリケーションの部分識別子およびディープリンクにアクセスし、ウェブページリソースをそれぞれの部分ディープリンクにマッピングするマッピングデータ122を生成してもよい。
部分識別子を有するウェブページと、対応するネイティブアプリケーションとの間の関係は図1Bに示されており、図1Bは、ウェブページ150内のコンテンツ部分152、154、および156、ならびにコンテンツ部分のうちのいくつかのネイティブアプリケーションの対応する環境インスタンス164および166を示すブロック図である。ウェブページ150をレンダリングするために使用されるコードによって規定されるコンテンツ部分154および156は、対応するネイティブアプリケーションの部分識別子および部分ディープリンクによって識別される。部分ディープリンクは、ネイティブアプリケーションによってそれぞれアクセスされると、ネイティブアプリケーションに、対応するコンテンツ164および166を表示させる。ウェブページ150の別の部分152は、部分識別子を有さず、したがって、ウェブページ150の部分152内のコンテンツに対応する部分ディープリンクは存在しない。
マッピングシステム120は、ウェブページURLとアプリケーションURIとの間の関係を識別するために、ウェブインデックス116およびアプリケーションインデックス114にアクセスしてもよい。具体的には、マッピングシステム120は、リソースアドレスとネイティブアプリケーション部分ディープリンクとの間の関係を識別し、その結果をマッピングデータ122に記憶してもよい。
マッピングデータを生成するための1つの例示的なプロセスを、図2Aを参照して説明する。図2Aは、ネイティブアプリケーション部分ディープリンクをリソースアドレスにマッピングする例示的なプロセス200のフローチャートである。プロセス200は、たとえば、マッピングシステム120によって実装され得る。いくつかの実装形態では、例示的なプロセス200の動作は、非一時的コンピュータ可読媒体に記憶された命令として実装されてもよく、命令は、データ処理装置に例示的なプロセス200の動作を実行させる。
プロセス200は、リソースが、複数の部分識別子および対応するネイティブアプリケーション部分ディープリンクを含むと決定する(202)。たとえば、マークアップ言語リソース、たとえば、XHTML、HTML、XMLの文脈において、1つまたは複数の部分識別子がリソースに含まれてもよい。いくつかの実装形態では、部分識別子は、リソースのコード内のフラグメント属性によって識別されてもよい。他のタイプのリソースコードについては、リソースのコンテンツのサブ部分を識別する任意のデータ構造が、部分識別子として使用されてもよい。部分識別子は、任意のノード、サブノード、部分ノード、または任意の他のタイプのハイパーテキスト要素であってもよい。加えて、特定の部分の開始点および終了点のバイトインデックスなどの他のタイプの部分識別子が使用されてもよい。
たとえば、android.example.comのURLを有するリソースの次のマークアップ言語を考えてみる。
<html>
<head>
...
<link rel="alternate" href="androidapp://com.example.android/foo" />
<link rel="alternate" deeplinkid="bar" href="androidapp:// com.example.android/foo_bar" />
<link rel="alternate" deeplinkid="car" href="androidapp:// com.example.android/foo_car" />
<link rel="alternate" deeplinkid="dar" href="androidapp:// com.example.android/foo_dar" />
...
innerHTML A
</head>
<body>
innerHTML B
<deeplinkid id="bar" ...>
innerHTML C
</div>
<deeplinkid id="car" ...>
innerHTML D
</div>
<deeplinkid id="dar" ...>
innerHTML E
</div>
</body>
リソースは、リソースのコンテンツ全体に対する対応するディープリンクと、リソースの一部に対する3つの部分ディープリンクを含む。"link"タグは、ネイティブアプリケーション"androidapp"のページ全体のディープリンク"androidapp://com.example.android/foo"に使用される。ここでは、ページ全体のディープリンクは"foo"というステムを含む。このディープリンクの部分識別子がないため、ディープリンクはウェブページリソースに含まれるすべてのコンテンツを含む必要がある。
また、ネイティブアプリケーション用の3つの追加のディープリンク、"androidapp://com.example.android/foo_bar"、"androidapp://com.example.android/foo_car"、および"androidapp://com.example.android/foo_dar"がある。各それぞれの部分ディープリンクを宣言するために使用される各リンク属性は、属性"deeplinkid"によって識別される部分識別子を含む。マークアップ言語の場合、部分識別子はマークアップタグの形式であってもよい。それぞれの部分属性は、"bar"、"dar"、"car"である。ウェブページのコードでは、div属性"bar"、"dar"、および"car"があり、それぞれがHTMLのセクションを規定する。特に、div属性"bar"はinnerHTML Cに対応し、div属性"car"はinnerHTML Dに対応し、div属性"dar"はinnerHTML Dに対応する。
図示されている実装形態では、部分識別子の部分ディープリンクは、ディープリンク全体と、部分ディープリンクに付加された部分識別子とによって形成される。これは、システム120に、ネイティブアプリケーションによって示されるそれぞれのコンテンツを検証するために使用されるべきコンテンツは、ディープリンク"androidapp://com.example.android/foo_bar"にはinnerHTML Cのコンテンツであり、ディープリンク"androidapp://com.example.android/foo_car"にはinnerHTML Dのコンテンツであり、"androidapp://com.example.android/foo_dar"にはinnerHTML Eのコンテンツであることを示す。しかし、他の実装形態では、部分ディープリンクはまた、他の何らかの一意のテキストを有する部分識別子に一意に関連付けることもできる。たとえば、以下のスキームを使用することができる。
<html>
<head>
...
<link rel="alternate" href="androidapp://com.example.android/foo" />
<link rel="alternate" deeplinkid="bar" href="androidapp:// com.example.android/AA" />
<link rel="alternate" deeplinkid="car" href="androidapp:// com.example.android/BB" />
<link rel="alternate" deeplinkid="dar" href="androidapp:// com.example.android/CC" />
...
innerHTML A
</head>
<body>
innerHTML B
<deeplinkid id="bar" ...>
innerHTML C
</div>
<deeplinkid id="car" ...>
innerHTML D
</div>
<deeplinkid id="dar" ...>
innerHTML E
</div>
</body>
ここで、値AA、BB、およびCCは、部分識別子bar、car、およびdarにそれぞれ一意に対応する。
マッピングシステム120は、リソースに埋め込まれた部分識別子およびネイティブアプリケーションディープリンクを識別するために、検索システム130によって生成されたウェブインデックス116にアクセスしてもよい。
プロセス200は、リソースアドレスをネイティブアプリケーション部分ディープリンクにマッピングするマッピングを生成する(204)。部分識別子が見つかると、リソースアドレスとネイティブアプリケーション部分ディープリンクがマッピングされてもよく、マッピングデータ122のマッピングインデックスに記憶されてもよい。上記の例では、マッピングシステム120は、部分ディープリンクについて以下のマッピングを生成してもよい。
Figure 2018525698
いくつかの実装では、マッピングシステム120は、リソースアドレスとネイティブアプリケーション部分ディープリンクとの間のマッピングとともに、ネイティブアプリケーションディープリンクの部分識別子によって識別されるリソースのコンテンツをマッピングデータ122に記憶してもよい。上記の例では、マッピングシステム120は、各deeplinkid属性(たとえば、部分識別子"bar"からの"innerHTML C"のコンテンツなど)によって識別されるデータおよびHTMLコンテンツをキャプチャしてもよい。
いくつかの実装形態では、リソースのコンテンツは、ディープリンクがアクセスされるときにネイティブアプリケーションによって実際に提供されるコンテンツであってもよく、すなわち、ネイティブアプリケーションは、部分識別子によって識別されるコードフラグメントをレンダリングしてもよい。他の実装形態では、リソースの一部のコンテンツは、ネイティブアプリケーションの部分ディープリンクによって提供されるコンテンツを検証するために使用される。検証は、ウェブリソースで提供されるネイティブアプリケーション部分ディープリンクが、それが対応するウェブリソースの一部と一貫性があるコンテンツを実際に参照することを保証するために使用されてもよい。
ネイティブアプリケーション部分ディープリンクと、リソースにおけるコンテンツの対応する適切なサブセットとの間で分析されたコンテンツは一貫性がないと判定された場合、マッピングシステム120は、ネイティブアプリケーション部分ディープリンクが検索結果の一部として提示されることを防止するか、そうでなければ無効にしてもよい。
図2Bは、部分ディープリンクのネイティブアプリケーションコンテンツを検証するための例示的なプロセス250の流れ図である。プロセス250は、プロセス200が実装されるのと同じ方法で、データ通信における1つまたは複数のコンピュータのデータ処理装置において実装され得る。
プロセス250は、ネイティブアプリケーション用の第1の部分ディープリンクとウェブリソース用の第2のアドレスとのアドレスペアにアクセスする(252)。ペアごとに、第1の部分ディープリンクはネイティブアプリケーションによってアクセス可能であり、ネイティブアプリケーションが第1のコンテンツを受信する場所を指定し、各第2のアドレスは、それぞれが第2のコンテンツを提供するウェブリソースのアドレスである。やはり、アドレスペアは、上述したようにマッピングシステム120によって決定されてもよい。
プロセス250は、第1の部分ディープリンクの第1のコンテンツを受信する(254)。マッピングシステム120は、たとえば、ネイティブアプリケーションを実行し、ネイティブアプリケーションのコンテンツ要求に応答して受信されるデータを監視してもよい。コンテンツは様々な方法で収集することができる。たとえば、データ処理装置は、ネイティブアプリケーションのテキストハンドラ、リストハンドラ、およびビューハンドラに、処理のための余分なテキストおよび画像データを問い合せるように働くことができる。代替的または追加的に、コンテンツ要求に対する応答を監視し、応答からデータを抽出することができる。ネイティブアプリケーションに提供される、および/またはネイティブアプリケーションによって表示されるデータを収集する他の適切な方法も使用することができる。
プロセス250は、第2のアドレスの第2のコンテンツを受信する(256)。ウェブリソースの場合、ウェブリソース内の部分識別子によって識別されるコンテンツが第2のコンテンツとして抽出される。
プロセス250は、第1のコンテンツおよび第2のコンテンツが一貫したコンテンツであるかどうかを判定する(258)。エンティティマッチング、n-グラム類似性、フレーズマッチング、および特徴類似性などの1つまたは複数の比較プロセスが、第1のコンテンツと第2のコンテンツとの間の一貫性のしきい値レベルを示す場合、コンテンツは一貫性があると判定される。
プロセス250が、第1のコンテンツと第2のコンテンツとが一貫したコンテンツであると判定した場合、プロセス250は、アドレスペアを検証し、検証データをリソースインデックスに記憶する(260)。たとえば、ウェブインデックス116内のURLのレコードは、ネイティブアプリケーション部分ディープリンクのアドレスと、ネイティブアプリケーションの識別子とを含むように更新されてもよい。検索システム130は、検索結果を後で処理するとき、URLによって参照されるウェブリソースがウェブ検索結果としてユーザデバイスに提供されるべきである場合、対応するネイティブアプリケーション検索結果を生成することができる。
逆に、プロセス250が第1のコンテンツと第2のコンテンツとが一貫したコンテンツであると判定しない場合、プロセス250はアドレスペアを検証しない(262)。したがって、対応するウェブリソースと一貫性があるコンテンツを有していないと判定されたネイティブアプリケーションアドレスについては、そのアドレスに対するネイティブアプリケーション検索結果は生成されないことになる。
部分ディープリンクが検証されると、検索システム130は、部分ディープリンクが対応するリソースのコンテンツがクエリに応答すると判定された場合に、部分ディープリンクを提供してもよい。図3は、リソースのコンテンツの適切なサブセットの1つを参照するネイティブアプリケーション部分ディープリンクをユーザデバイス108に提供するための例示的なプロセス300のフローチャートである。いくつかの実装形態では、例示的なプロセス300の動作は、非一時的コンピュータ可読媒体に記憶された命令として実装することができ、命令は、データ処理装置に例示的なプロセス300の動作を実行させる。
リソースのコンテンツの適切なサブセットのうちの1つを参照するネイティブアプリケーションディープリンクは、ユーザデバイスに提供されると決定される(302)。たとえば、検索システム130は、部分ディープリンクが対応するリソースのコンテンツがクエリに応答すると決定され、ネイティブアプリケーション検索結果(または、ディープリンク)がユーザデバイスに提供されるべきであると決定してもよい。前者の決定は、部分識別子によって特定されたコンテンツの適切なサブセットのクエリに対する関連性スコアに基づいて行われてもよい。後者の決定は、たとえば、ユーザデバイスにインストールされているネイティブアプリケーションに基づいてもよい。
プロセス300は、コンテンツの特定の適切なサブセットを参照するネイティブアプリケーション部分ディープリンクを選択するために、マッピングインデックスにアクセスする(304)。部分識別子によって識別されるコンテンツの適切なサブセットを参照するネイティブアプリケーション部分ディープリンクを突き止めるために、マッピングデータ122内のマッピングインデックスがアクセスされてもよい。
次いで、プロセス300は、ネイティブアプリケーション部分ディープリンクをユーザデバイスに提供する(306)。部分ディープリンクは、別個のネイティブアプリケーション検索結果の一部として提供されてもよく、ウェブリソース検索結果における第2のリンクとして提供されてもよい。
図4は、検索結果におけるネイティブアプリケーション部分ディープリンクを提供するための別の例示的なプロセス400のフローチャートである。プロセス400は、ウェブリソースコンテンツに含まれている部分識別子に応答して、部分ネイティブアプリケーション検索結果を提供することができる。
プロセス400は、マッピングデータにアクセスし(402)、マッピングデータから、リソースのリソースアドレスがネイティブアプリケーション部分ディープリンクにマッピングされているかどうかを判定する(404)。
リソースアドレスがネイティブアプリケーション部分ディープリンクにマッピングされている場合、コンテンツの適切なサブセットへの参照と一致する部分識別子を含むマッピングされたネイティブアプリケーション部分ディープリンクが選択され(406)、検索結果に提供される。しかしながら、検索結果に提供されたリソースアドレスがネイティブアプリケーション部分ディープリンクにマッピングされていないと判定された場合、リソースのリソースアドレスのみが検索結果に提供される(408)。
本明細書に記載される主題および動作の実施形態は、本明細書に開示された構造およびそれらの構造的等価物を含む、デジタル電子回路、あるいはコンピュータソフトウェア、ファームウェア、またはハードウェア、あるいはそれらの1つまたは複数の組合せに実装することができる。本明細書に記載される主題の実施形態は、データ処理装置によって実行されるか、またはデータ処理装置の動作を制御するためにコンピュータ記憶媒体上に符号化された、1つまたは複数のコンピュータプログラム、すなわちコンピュータプログラム命令の1つまたは複数のモジュールとして実装することができる。代替的または追加的に、本プログラム命令は、人工的に生成された伝播信号、たとえばデータ処理装置による実行のための適切なレシーバ装置への送信のために情報を符号化するために生成された機械生成電気信号、光信号、または電磁信号において符号化することができる。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらの1つまたは複数の組合せであり得るか、またはそれらに含まれ得る。さらに、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝播信号において符号化されたコンピュータプログラム命令の発信元または宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理的コンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であり得るか、またはそれらに含まれ得る。
本明細書に記載される動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶されたデータ、または他のソースから受信したデータに対してデータ処理装置によって実行される動作として実装することができる。
「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ、チップ上のシステム、または前述のものの複数のもの、あるいはそれらの組合せを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。本装置はまた、ハードウェアに加えて、問題のコンピュータプログラムの実行環境を生成するコード、たとえば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらの1つまたは複数の組合せを含むことができる。本装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイラ型言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む、任意の形式のプログラミング言語で記述することができ、また、スタンドアロンプログラムとして、あるいはコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、オブジェクト、またはその他のユニットとして、を含む、任意の形式で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプト)を保持するファイルの一部、問題のプログラム専用の単一のファイル、あるいは複数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶することができる。コンピュータプログラムは、1台のコンピュータ、または1つのサイトに配置されるか複数のサイトに分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
本明細書に記載されるプロセスおよび論理フローは、入力データを操作して出力を生成することによって動作を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なプロセッサによって実行することができる。コンピュータプログラムの実行に適したプロセッサは、一例として、汎用マイクロプロセッサおよび専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読出し専用メモリまたはランダムアクセスメモリ、あるいはその両方から命令およびデータを受信する。コンピュータの本質的要素は、命令に従って動作を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、たとえば磁気ディスク、光磁気ディスク、または光ディスクを含むか、それらからデータを受信するように、またはそれらにデータを転送するように、あるいはその両方を行うように動作可能に結合される。しかしながら、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえばいくつか例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)レシーバ、あるいはポータブル記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に組み込まれ得る。コンピュータプログラム命令およびデータを記憶するために適したデバイスは、例としてたとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイスを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイス、内部ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路によって補完されてもよく、それに組み込まれてもよい。
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、たとえば、情報をユーザに表示するためのCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにユーザがコンピュータに入力を提供することができる、キーボード、および、たとえばマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上で実装することができる。ユーザとの対話を提供するために他の種類のデバイスをも使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザによって使用されるデバイスとの間で文書を送受信することによって、たとえば、ウェブブラウザから受信した要求に応答してユーザのユーザデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
本明細書に記載される主題の実施形態は、たとえば、データサーバとしてのバックエンドコンポーネントを含む、あるいは、たとえばアプリケーションサーバなどのミドルウェアコンポーネントを含む、あるいは、フロントエンドコンポーネント、たとえばグラフィカルユーザインターフェースを有するユーザコンピュータ、またはユーザが本明細書に記載される主題の実装と対話することができるウェブブラウザを含むコンピューティングシステム、あるいは1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せにおいて実装することができる。本システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク("LAN")およびワイドエリアネットワーク("WAN")、相互接続ネットワーク(たとえば、インターネット)、ならびにピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
コンピューティングシステムは、ユーザおよびサーバを含むことができる。ユーザおよびサーバは、一般に、互いに遠隔であり、典型的には通信ネットワークを通じて対話する。ユーザとサーバとの関係は、それぞれのコンピュータ上で動作し、互いにユーザ−サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、(たとえば、ユーザデバイスと対話するユーザにデータを表示し、また、そこからユーザ入力を受信する目的で)ユーザデバイスにデータ(たとえば、HTMLページ)を送信する。ユーザデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてユーザデバイスから受信することができる。
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、任意の発明の範囲または特許請求される可能性のあるものの範囲の限定として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書に記載される特定の特徴もまた、単一の実施形態において組み合わせて実装することができる。逆に、単一の実施形態の文脈において記載される様々な特徴もまた、複数の実施形態において別々に、または任意の適切なサブコンビネーションにおいて実装することができる。さらに、特徴は、特定の組合せにおいて作用するものとして上記で説明されており、最初はそのように特許請求されているが、場合によっては、特許請求された組合せからの1つまたは複数の特徴を組合せから切り出すことができ、特許請求された組合せは、サブコンビネーション、またはサブコンビネーションの変形に導かれてよい。
同様に、動作は特定の順序で図面に示されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序で、または順番に実行されること、あるいは図示されたすべての動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理および並列処理が有利な場合がある。さらに、上述の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品に一緒に統合することができるか、または複数のソフトウェア製品にパッケージ化することができることが理解されるべきである。
このように、主題の特定の実施形態について説明した。他の実施形態は、添付の特許請求の範囲内にある。場合によっては、特許請求の範囲に記載された動作を異なる順序で実行することができ、依然として所望の結果を達成することができる。加えて、添付の図面に示されるプロセスは、所望の結果を達成するために、示された特定の順序、または順番を必ずしも必要としない。特定の実装形態では、マルチタスク処理および並列処理が有利な場合がある。
100 環境
102 コンピュータネットワーク
104 リソース発行者ウェブサイト
105 ウェブリソース
106 アプリケーション発行者
106 アプリケーション発行者ウェブサイト
107 ネイティブアプリケーション
108 ユーザデバイス
110 アプリケーションデータ抽出器およびプロセッサ
112 インデクサ
114 アプリケーションインデックス
116 ウェブインデックス
120 マッピングシステム
122 マッピングデータ
130 検索システム
150 ウェブページ
152 コンテンツ部分
154 コンテンツ部分
156 コンテンツ部分
164 環境インスタンス
166 環境インスタンス
200 プロセス
250 プロセス
300 プロセス
400 プロセス

Claims (20)

  1. データ処理装置によって、リソースアドレスによって識別されるリソースがブラウザ環境においてレンダリングされるべきコンテンツを規定すると決定するステップであって、前記リソースが複数の部分識別子およびそれぞれの対応するネイティブアプリケーション部分ディープリンクを含み、各部分識別子が各他の部分識別子とは異なり、部分識別子ごとに、
    前記部分識別子が、前記ブラウザ環境においてレンダリングされるべき前記コンテンツの適切なサブセットであるコンテンツの一部を識別し、前記コンテンツの適切なサブセットが前記他の部分識別子によって識別される前記コンテンツの適切なサブセットとは異なり、
    前記ネイティブアプリケーション部分ディープリンクが、前記コンテンツの適切なサブセットを識別するために、前記部分識別子によって識別される前記コンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションと、前記部分識別子に一意に対応する前記ネイティブアプリケーションの部分ディープリンクとを識別する、
    ステップと、
    前記データ処理装置によって、前記リソースアドレスを前記ネイティブアプリケーション部分ディープリンクにマッピングするマッピングを生成するステップと、
    前記マッピングをマップインデックスに記憶するステップと
    を備える、コンピュータ実装方法。
  2. 前記リソースの前記コンテンツの適切なサブセットのうちの1つを参照するネイティブアプリケーションディープリンクがユーザデバイスに提供されるべきであると決定するステップと、
    応答して、前記コンテンツの適切なサブセットのうちの前記1つを参照する前記ネイティブアプリケーション部分ディープリンクを選択するために、前記マッピングインデックスにアクセスするステップと、
    前記ネイティブアプリケーション部分ディープリンクを前記ユーザデバイスに提供するステップと
    をさらに備える、請求項1に記載の方法。
  3. 前記コンテンツの適切なサブセットのうちの前記1つを参照する前記ネイティブアプリケーション部分ディープリンクを選択するために前記マッピングインデックスにアクセスするステップが、
    前記リソースの前記リソースアドレスがネイティブアプリケーション部分ディープリンクにマッピングされているかどうかを判定するために、前記マップインデックスにアクセスするステップと、
    肯定的な判定に応答して、前記コンテンツの適切なサブセットへの前記参照に一致する部分識別子を含む前記ネイティブアプリケーション部分ディープリンクを選択するステップと
    を備える、請求項2に記載の方法。
  4. 前記検索結果が、前記ネイティブアプリケーション部分ディープリンクと、前記ネイティブアプリケーション部分ディープリンクにマッピングされた前記リソースアドレスへのリンクとを含む、請求項3に記載の方法。
  5. 前記部分識別子が、フラグメントインデックスおよびバイトインデックスの少なくとも1つである、請求項1から4のいずれか一項に記載の方法。
  6. 前記データ処理装置によって、前記リソース内の前記部分識別子によって指定されたコンテンツをキャプチャするステップであって、前記リソースが、前記ネイティブアプリケーション部分ディープリンクにマッピングされた前記リソースアドレスに関連付けられる、ステップと、
    前記データ処理装置によって、前記リソース内の前記部分識別子によって指定された前記キャプチャされたコンテンツを記憶するステップと
    をさらに含む、請求項1から5のいずれか一項に記載の方法。
  7. 前記データ処理装置によって、前記ネイティブアプリケーション部分ディープリンクページ内の前記コンテンツの少なくとも一部を識別するステップと、
    前記データ処理装置によって、前記ネイティブアプリケーションディープリンクページの前記識別されたコンテンツが、前記ネイティブアプリケーション部分ディープリンクにマッピングされた前記リソースアドレスに関連付けられる前記リソース内の前記コンテンツと一致すると判定するステップと
    をさらに含む、請求項1から6のいずれか一項に記載の方法。
  8. 前記マップインデックスから、前記リソースアドレスがマッピングされるリソースアドレスとネイティブアプリケーションディープリンクとを備える少なくとも1つのアドレスペアにアクセスするステップと、
    前記アドレスペアの前記ネイティブアプリケーション部分ディープリンクの選択に続いてネイティブアプリケーションによって提示されたコンテンツと、前記アドレスペアの前記リソースアドレスによって規定される前記リソースの一部との間の一貫性の検証を実行するステップと
    をさらに含む、請求項1から7のいずれか一項に記載の方法。
  9. 前記アドレスペアの前記ネイティブアプリケーション部分ディープリンクの選択に続いて前記ネイティブアプリケーションによって提示された前記コンテンツが、前記アドレスペアの前記リソースアドレスによって規定された前記リソースの前記一部と一致するという判定に対して、後で検索クエリに応答して検索結果を決定し提供する際に使用するために、前記アドレスペアの前記ネイティブアプリケーションディープリンクをインデックス付けすることによって応答するステップをさらに含む、請求項8に記載の方法。
  10. 前記アドレスペアのネイティブアプリケーション部分ディープリンクの選択に続いて前記ネイティブアプリケーションによって提示された前記コンテンツが、前記アドレスペアの前記リソースアドレスによって規定された前記リソースの前記一部と一致しないという判定に対して、検索クエリに応答して前記ネイティブアプリケーション部分ディープリンクが検索結果の一部として提示されることを防止するか、そうでなければ無効にすることによって応答するステップをさらに含む、請求項8または9に記載の方法。
  11. プロセッサと、
    前記プロセッサに結合され、かつ命令を記憶したコンピュータ可読媒体と
    を備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
    リソースアドレスによって識別されるリソースが、ブラウザ環境においてレンダリングされるべきコンテンツを規定すると決定することであって、前記リソースが、複数の部分識別子およびそれぞれの対応するネイティブアプリケーション部分ディープリンクを含み、各部分識別子が各他の部分識別子とは異なり、部分識別子ごとに、
    前記部分識別子が前記ブラウザ環境においてレンダリングされるべき前記コンテンツの適切なサブセットであるコンテンツの一部を識別し、前記前記コンテンツの適切なサブセットが前記他の部分識別子によって識別される前記コンテンツの適切なサブセットとは異なり、
    前記ネイティブアプリケーション部分ディープリンクが、前記コンテンツの適切なサブセットを識別するために、前記部分識別子によって識別される前記コンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションと、前記部分識別子に一意に対応する前記ネイティブアプリケーションの部分ディープリンクとを識別する、
    決定することと、
    前記リソースアドレスを前記ネイティブアプリケーション部分ディープリンクにマッピングするマッピングを生成することと、
    前記マッピングをマップインデックスに記憶することと
    を備える動作を実行させる、システム。
  12. 前記動作が、
    前記リソースの前記コンテンツの適切なサブセットのうちの1つを参照するネイティブアプリケーションディープリンクがユーザデバイスに提供されるべきであると決定することと、
    応答して、前記コンテンツの適切なサブセットのうちの前記1つを参照する前記ネイティブアプリケーション部分ディープリンクを選択するために、前記マッピングインデックスにアクセスすることと、
    前記ネイティブアプリケーション部分ディープリンクを前記ユーザデバイスに提供することと
    をさらに備える、請求項11に記載のシステム。
  13. 前記コンテンツの適切なサブセットのうちの前記1つを参照する前記ネイティブアプリケーション部分ディープリンクを選択するために前記マッピングインデックスにアクセスすることが、
    前記リソースの前記リソースアドレスがネイティブアプリケーション部分ディープリンクにマッピングされているかどうかを判定するために、前記マップインデックスにアクセスすることと、
    肯定的な判定に応答して、前記コンテンツの適切なサブセットへの前記参照に一致する部分識別子を含む前記ネイティブアプリケーション部分ディープリンクを選択することと
    を備える、請求項12に記載のシステム。
  14. 前記検索結果が、前記ネイティブアプリケーション部分ディープリンクと、前記ネイティブアプリケーション部分ディープリンクにマッピングされた前記リソースアドレスへのリンクとを含む、請求項13に記載のシステム。
  15. 前記部分識別子が、フラグメントインデックスおよびバイトインデックスの少なくとも1つである、請求項11から14のいずれか一項に記載のシステム。
  16. 前記動作が、
    前記データ処理装置によって、前記リソース内の前記部分識別子によって指定されたコンテンツをキャプチャすることであって、前記リソースが、前記ネイティブアプリケーション部分ディープリンクにマッピングされた前記リソースアドレスに関連付けられる、キャプチャすることと、
    前記データ処理装置によって、前記リソース内の前記部分識別子によって指定された前記キャプチャされたコンテンツを記憶することと
    をさらに含む、請求項11から15のいずれか一項に記載のシステム。
  17. 前記動作が、
    前記データ処理装置によって、前記ネイティブアプリケーション部分ディープリンクページ内の前記コンテンツの少なくとも一部を識別することと、
    前記データ処理装置によって、前記ネイティブアプリケーションディープリンクページの前記識別されたコンテンツが、前記ネイティブアプリケーション部分ディープリンクにマッピングされた前記リソースアドレスに関連付けられる前記リソース内の前記コンテンツと一致すると判定することと
    をさらに含む、請求項11から16のいずれか一項に記載のシステム。
  18. プロセッサによって実行されると、前記プロセッサに、
    リソースアドレスによって識別されるリソースが、ブラウザ環境においてレンダリングされるべきコンテンツを規定すると決定することであって、前記リソースが、複数の部分識別子およびそれぞれの対応するネイティブアプリケーション部分ディープリンクを含み、各部分識別子が各他の部分識別子とは異なり、部分識別子ごとに、
    前記部分識別子が、前記ブラウザ環境においてレンダリングされるべき前記コンテンツの適切なサブセットであるコンテンツの一部を識別し、前記コンテンツの適切なサブセットが、前記他の部分識別子によって識別される前記コンテンツの適切なサブセットとは異なり、
    前記ネイティブアプリケーション部分ディープリンクが、前記コンテンツの適切なサブセットを識別するために、前記部分識別子によって識別される前記コンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションと、前記部分識別子に一意に対応する前記ネイティブアプリケーションの部分ディープリンクとを識別する、
    決定することと、
    前記リソースアドレスを前記ネイティブアプリケーション部分ディープリンクにマッピングするマッピングを生成することと、
    前記マッピングをマップインデックスに記憶することと
    を備える動作を実行させる命令を記憶する、コンピュータ可読媒体。
  19. コンピュータ実装方法であって、
    ユーザデバイスにおいて、検索クエリに応答して、複数の検索結果を受信するステップであって、少なくとも1つの検索結果が部分ディープリンクを含み、
    前記部分ディープリンクが、前記部分ディープリンクとは異なるリソースアドレスによって識別されるリソース内の部分識別子によって識別されるコンテンツの一部をレンダリングするために使用されるべきネイティブアプリケーションを識別し、
    前記コンテンツの一部が、前記リソースアドレスにおいて前記リソースの要求に応答するときに、ユーザデバイスによってレンダリングされるべきコンテンツのサブセットであり、
    前記検索結果の選択に応答して、前記部分ディープリンクが、前記ユーザデバイスに前記ネイティブアプリケーションをインスタンス化させ、かつ前記部分識別子によって識別される前記コンテンツの一部を要求させる、ステップと、
    前記部分ディープリンクを含む前記検索結果を選択するステップと、
    前記選択に応答して、前記コンテンツの一部を要求および受信し、かつ前記ネイティブアプリケーションのインスタンス内の前記コンテンツの一部を表示するステップと
    を備える、方法。
  20. 前記部分識別子が部分識別子マークアップタグであるか、または前記部分識別子がバイトオフセットである、請求項19に記載の方法。
JP2017556914A 2015-08-25 2016-08-05 対応するリソースへのアプリケーション部分ディープリンク Active JP6580708B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/835,182 US10223460B2 (en) 2015-08-25 2015-08-25 Application partial deep link to a corresponding resource
US14/835,182 2015-08-25
PCT/US2016/045722 WO2017034780A1 (en) 2015-08-25 2016-08-05 Application partial deep link to a corresponding resource

Publications (2)

Publication Number Publication Date
JP2018525698A true JP2018525698A (ja) 2018-09-06
JP6580708B2 JP6580708B2 (ja) 2019-09-25

Family

ID=56740484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017556914A Active JP6580708B2 (ja) 2015-08-25 2016-08-05 対応するリソースへのアプリケーション部分ディープリンク

Country Status (6)

Country Link
US (1) US10223460B2 (ja)
EP (1) EP3238105B8 (ja)
JP (1) JP6580708B2 (ja)
KR (1) KR102023147B1 (ja)
CN (1) CN107430614B (ja)
WO (1) WO2017034780A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170103129A1 (en) * 2015-10-12 2017-04-13 Google Inc. Scoring content within native applications
US9984132B2 (en) * 2015-12-31 2018-05-29 Samsung Electronics Co., Ltd. Combining search results to generate customized software application functions
US10768795B2 (en) * 2016-02-16 2020-09-08 Bank Of America Corporation Integrated resource transfer application
EP3627322A4 (en) * 2017-06-14 2020-04-29 Beijing Xiaomi Mobile Software Co., Ltd. APPLICATION INTERACTION METHOD, INTERACTION METHOD AND DEVICE

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009530736A (ja) * 2006-03-17 2009-08-27 マイクロソフト コーポレーション 初期動的レンダリング制御データの推定
US8042036B1 (en) * 2006-07-20 2011-10-18 Adobe Systems Incorporated Generation of a URL containing a beginning and an ending point of a selected mark-up language document portion
US20130304729A1 (en) * 2012-05-11 2013-11-14 Microsoft Corporation Bidirectional mapping between applications and network content
US20140250106A1 (en) * 2013-03-01 2014-09-04 Quixey, Inc. Generating Search Results Containing State Links to Applications
JP2015501496A (ja) * 2011-11-01 2015-01-15 グーグル・インコーポレーテッド ウェブページからのアプリケーションの起動

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2415112A1 (en) 2002-12-24 2004-06-24 Gerald Michael O'brien System and method for real-time web fragment identification and extraction
US7984037B2 (en) 2004-07-16 2011-07-19 Canon Kabushiki Kaisha Method for evaluating xpath-like fragment identifiers of audio-visual content
GB0603463D0 (en) * 2006-02-21 2006-04-05 Instant Access Technologies Lt Accessing information
US7957280B2 (en) * 2006-06-16 2011-06-07 Bittorrent, Inc. Classification and verification of static file transfer protocols
JP2010527051A (ja) * 2007-03-30 2010-08-05 グーグル・インコーポレーテッド モバイル装置のための文書処理
CN101132420B (zh) * 2007-10-16 2012-03-14 杭州华三通信技术有限公司 一种基于ssl vpn的链接改写方法和设备
US8826145B1 (en) 2007-11-12 2014-09-02 Google Inc. Unified web and application framework
CN102483753A (zh) * 2009-05-27 2012-05-30 谷歌公司 搜索结果中的计算机应用数据
US20120011167A1 (en) * 2010-07-09 2012-01-12 Nokia Corporation Method and apparatus for aggregating and linking place data
US9317621B2 (en) * 2011-01-06 2016-04-19 Microsoft Technology Licensing, Llc Providing deep links in association with toolbars
KR101437828B1 (ko) * 2011-05-31 2014-09-03 주식회사 엔바이온 외부공기 유입을 최소화 한 고효율 축열식 연소설비
US9342615B2 (en) * 2011-12-07 2016-05-17 Google Inc. Reducing redirects
KR101882724B1 (ko) * 2011-12-21 2018-08-27 삼성전자 주식회사 카테고리 검색 방법 및 이를 지원하는 단말기
KR20140001347A (ko) * 2012-06-26 2014-01-07 가천대학교 산학협력단 이기종 출력 디바이스의 컨텐츠 연동 시스템
US9449094B2 (en) * 2012-07-13 2016-09-20 Google Inc. Navigating among content items in a set
US9436772B2 (en) 2012-08-21 2016-09-06 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Appending a uniform resource identifier (URI) fragment identifier to a uniform resource locator (URL)
US8510764B1 (en) * 2012-11-02 2013-08-13 Google Inc. Method and system for deep links in application contexts
US9935910B2 (en) * 2012-12-21 2018-04-03 Google Llc Recipient location aware notifications in response to related posts
US9002821B2 (en) * 2013-01-16 2015-04-07 Google Inc. Indexing application pages of native applications
US10177967B2 (en) 2013-03-15 2019-01-08 Jesse Lakes Redirection service resource locator mechanism
US8996520B2 (en) 2013-03-15 2015-03-31 Google Inc. Ranking of native application content
US9135346B2 (en) 2013-06-07 2015-09-15 Google Inc. Index data for native applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009530736A (ja) * 2006-03-17 2009-08-27 マイクロソフト コーポレーション 初期動的レンダリング制御データの推定
US8042036B1 (en) * 2006-07-20 2011-10-18 Adobe Systems Incorporated Generation of a URL containing a beginning and an ending point of a selected mark-up language document portion
JP2015501496A (ja) * 2011-11-01 2015-01-15 グーグル・インコーポレーテッド ウェブページからのアプリケーションの起動
US20130304729A1 (en) * 2012-05-11 2013-11-14 Microsoft Corporation Bidirectional mapping between applications and network content
US20140250106A1 (en) * 2013-03-01 2014-09-04 Quixey, Inc. Generating Search Results Containing State Links to Applications

Also Published As

Publication number Publication date
CN107430614A (zh) 2017-12-01
US20170061010A1 (en) 2017-03-02
JP6580708B2 (ja) 2019-09-25
KR102023147B1 (ko) 2019-11-04
US10223460B2 (en) 2019-03-05
EP3238105A1 (en) 2017-11-01
KR20170130603A (ko) 2017-11-28
EP3238105B8 (en) 2020-03-04
WO2017034780A1 (en) 2017-03-02
CN107430614B (zh) 2021-01-22
EP3238105B1 (en) 2019-12-11

Similar Documents

Publication Publication Date Title
KR102208988B1 (ko) 네이티브 어플리케이션들의 어플리케이션 페이지들을 인덱싱
US10068028B1 (en) Deep link verification for native applications
US9547721B2 (en) Native application search results
JP6370408B2 (ja) ネイティブアプリケーションに関するディープリンク
JP6363738B2 (ja) ネイティブアプリケーションに関する検索結果
US9146972B2 (en) Ranking of presentation modes for particular content
US20230106266A1 (en) Indexing Access Limited Native Applications
JP6580708B2 (ja) 対応するリソースへのアプリケーション部分ディープリンク
KR20180017182A (ko) 자동화된 정보 검색
US11003728B1 (en) Native application search results
RU2774319C2 (ru) Глубинные ссылки для нативных приложений

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190306

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: 20190805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190828

R150 Certificate of patent or registration of utility model

Ref document number: 6580708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250