JP6874212B2 - リンクに関連するコンテンツを取得するための方法、システム、および媒体 - Google Patents

リンクに関連するコンテンツを取得するための方法、システム、および媒体 Download PDF

Info

Publication number
JP6874212B2
JP6874212B2 JP2020507981A JP2020507981A JP6874212B2 JP 6874212 B2 JP6874212 B2 JP 6874212B2 JP 2020507981 A JP2020507981 A JP 2020507981A JP 2020507981 A JP2020507981 A JP 2020507981A JP 6874212 B2 JP6874212 B2 JP 6874212B2
Authority
JP
Japan
Prior art keywords
content
page
user device
presented
server
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.)
Active
Application number
JP2020507981A
Other languages
English (en)
Other versions
JP2020518088A (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 JP2020518088A publication Critical patent/JP2020518088A/ja
Application granted granted Critical
Publication of JP6874212B2 publication Critical patent/JP6874212B2/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/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • 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/954Navigation, e.g. using categorised browsing
    • 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/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • 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]
    • 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]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Description

開示する本主題は、リンクに関連するコンテンツを取得するための方法、システム、および媒体に関する。
人々はしばしば、ユーザデバイス上で実行されるアプリケーションを通じて、コンテンツを視聴する。例えば、人々は、モバイルデバイス(例えばモバイルフォンまたはタブレットコンピュータ)上で、ビデオ共有サービスまたはソーシャルネットワーキングサービスに関連するアプリケーションを通じて、ビデオを視聴することがある。場合によっては、コンテンツは、関連記事へのリンク、他のビデオへのリンク、他のユーザのプロファイルへのリンクなどのような、他のコンテンツへのリンクを含む場合がある。しかし、アプリケーションがリンクのコンテンツをフェッチし、それをアプリケーション内に提示することは、時間がかかる場合がある。
加えて、アプリケーション内での他のコンテンツへのこれらのリンクには、典型的には、モバイルデバイスのオペレーティングシステムとのいくらかの通信が関与する。例えば、アプリケーションの外部にあるオペレーティングシステムは、リンクが選択されたとの通知を受領して、そのようなリンクをどのように取り扱うべきかを決定することができる。この例を続けると、オペレーティングシステムは、リンクをオペレーティングシステムに送出したアプリケーションがリンクを取り扱うべきとの決定をすることができ、その決定に応答して、リンクをアプリケーションに送出し戻すことができる。
したがって、リンクに関連するコンテンツを取得するための方法、システム、および媒体を提供することが望ましい。
リンクに関連するコンテンツを取得するための方法、システム、および媒体が提供される。
開示する本主題のいくつかの実施形態では、リンクに関連するコンテンツを取得するための方法であって、ユーザデバイスからサーバに、ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するステップと、サーバから、ページに対応するコンテンツ、およびページに対応するコンテンツ内に含まれる1つまたは複数のリンクの、1つまたは複数のリンクの各々に関連する1つまたは複数のページタイプへのマッピングを受信するステップと、ユーザデバイス上に、受信したマッピングを格納するステップと、ページのコンテンツを、ユーザデバイス上に提示させるステップと、ページに対応するコンテンツ内に含まれる1つまたは複数のリンクのうちの選択された1つを受領するステップと、選択されたリンクに対応するページタイプを、格納されたマッピングに基づいて特定するステップと、サーバに、選択されたリンクに関連するコンテンツを求める要求を送信するステップと、サーバからの要求したコンテンツを待つ間に、特定されたページタイプに関連するユーザインターフェースのユーザインターフェース要素を、ユーザデバイス上に提示させるステップと、要求したコンテンツのサーバからの受信に応答して、受信したコンテンツをユーザインターフェース内に提示させるステップとを具備する方法が提供される。
開示する本主題のいくつかの実施形態では、リンクに関連するコンテンツを取得するためのシステムであって、ユーザデバイスからサーバに、ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信することと、サーバから、ページに対応するコンテンツ、およびページに対応するコンテンツ内に含まれる1つまたは複数のリンクの、1つまたは複数のリンクの各々に関連する1つまたは複数のページタイプへのマッピングを受信することと、ユーザデバイス上に、受信したマッピングを格納することと、ページのコンテンツを、ユーザデバイス上に提示させることと、ページに対応するコンテンツ内に含まれる1つまたは複数のリンクのうちの選択された1つを受領することと、選択されたリンクに対応するページタイプを、格納されたマッピングに基づいて特定することと、サーバに、選択されたリンクに関連するコンテンツを求める要求を送信することと、サーバからの要求したコンテンツを待つ間に、特定されたページタイプに関連するユーザインターフェースのユーザインターフェース要素を、ユーザデバイス上に提示させることと、要求したコンテンツのサーバからの受信に応答して、受信したコンテンツをユーザインターフェース内に提示させることとを行うように構成されたハードウェアプロセッサを具備するシステムが提供される。
開示する本主題のいくつかの実施形態により、プロセッサによって実行されると、リンクに関連するコンテンツを取得するための方法をプロセッサに実施させるコンピュータ実行可能命令を含む、非一時的コンピュータ可読媒体が提供される。いくつかの実施形態では、方法は、ユーザデバイスからサーバに、ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するステップと、サーバから、ページに対応するコンテンツ、およびページに対応するコンテンツ内に含まれる1つまたは複数のリンクの、1つまたは複数のリンクの各々に関連する1つまたは複数のページタイプへのマッピングを受信するステップと、ユーザデバイス上に、受信したマッピングを格納するステップと、ページのコンテンツを、ユーザデバイス上に提示させるステップと、ページに対応するコンテンツ内に含まれる1つまたは複数のリンクのうちの選択された1つを受領するステップと、選択されたリンクに対応するページタイプを、格納されたマッピングに基づいて特定するステップと、サーバに、選択されたリンクに関連するコンテンツを求める要求を送信するステップと、サーバからの要求したコンテンツを待つ間に、特定されたページタイプに関連するユーザインターフェースのユーザインターフェース要素を、ユーザデバイス上に提示させるステップと、要求したコンテンツのサーバからの受信に応答して、受信したコンテンツをユーザインターフェース内に提示させるステップとを具備する。
開示する本主題のいくつかの実施形態では、リンクに関連するコンテンツを取得するためのシステムであって、ユーザデバイスからサーバに、ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するための手段と、サーバから、ページに対応するコンテンツ、およびページに対応するコンテンツ内に含まれる1つまたは複数のリンクの、1つまたは複数のリンクの各々に関連する1つまたは複数のページタイプへのマッピングを受信するための手段と、ユーザデバイス上に、受信したマッピングを格納するための手段と、ページのコンテンツを、ユーザデバイス上に提示させるための手段と、ページに対応するコンテンツ内に含まれる1つまたは複数のリンクのうちの選択された1つを受領するための手段と、選択されたリンクに対応するページタイプを、格納されたマッピングに基づいて特定するための手段と、サーバに、選択されたリンクに関連するコンテンツを求める要求を送信するための手段と、サーバからの要求したコンテンツを待つ間に、特定されたページタイプに関連するユーザインターフェースのユーザインターフェース要素を、ユーザデバイス上に提示させるための手段と、要求したコンテンツのサーバからの受信に応答して、受信したコンテンツをユーザインターフェース内に提示させるための手段とを具備するシステムが提供される。
マッピングは、ページタイプを示す情報を具備してよい。ページタイプは、リンクに関連するページに使用されるユーザインターフェースタイプを特定する情報、より具体的には、コンテンツを待つ間に提示されるユーザ要素を特定するための情報を具備してよい。例えば、ページタイプは、提示される1つまたは複数のユーザインターフェース要素のセットを示し、または特定してよく、オプションで、位置情報など、これらの要素についての追加情報を含んでよい。これにより、ユーザインターフェースに対する変更ならびにレーテンシの低減が容易になり得る。したがって、例えば、ページタイプ情報は、ビデオプレーヤウィンドウの存在および/または位置、画像ウィンドウの存在および/または位置、テキストウィンドウの存在および/または位置、ウェブページウィンドウの存在および/または位置、情報共有ウィンドウの存在および/または位置、例えばメッセージを送信/受信するための通信ウィンドウの存在および/または位置、ロゴの存在および/または位置などのうちの1つまたは複数を示してよい。より一般には、ページタイプ情報は、ビデオ、オーディオ、AR/VR(拡張現実/仮想現実)などのような、提示される情報タイプを特定してよい。ユーザインターフェース要素は、選択されたリンクに関連するコンテンツを提示するために使用される、ページタイプによって特定されるユーザインターフェースを提示するために、使用されるものである。いくつかの実装形態では、ユーザインターフェース要素は、それらが前もって格納されていたユーザデバイスのローカルメモリから取得されるが、他の実装形態では、それらはユーザデバイスの外部の供給源から取得されてよい。ユーザインターフェース要素は、選択されたリンクに関連するページタイプにとって一般的なものであってよく、すなわち、コンテンツに非特有のものであってよい。
いくつかの実施形態では、ページが、ユーザデバイス上で実行されるアプリケーション内に提示される。いくつかの実施形態では、選択されたリンクに関連するコンテンツが、アプリケーションに関連しないエンティティによって提供されるサードパーティコンテンツである。いくつかの実施形態では、ページに対応するコンテンツ、および選択されたリンクに対応する受信したコンテンツが、ユーザデバイス上で実行されるアプリケーション内で実行される、ウェブブラウザアプリケーションまたはインターフェース内に提示される。
いくつかの実施形態では、システム/方法が、ページのコンテンツをユーザデバイス上に提示させる前に、ページに対応するコンテンツ内の1つまたは複数のリンクの各々についてイベントハンドラを挿入するための手段をさらに具備する。いくつかの実装形態では、この挿入がユーザデバイスによって実施されてよく、他の実装形態では、この挿入がサーバによって実施されてよい。イベントハンドラは、リンクが選択されたときに取られるべき1つまたは複数のアクションを指定する情報またはコードを具備してよい。アクションは、マッピングからページタイプを直接的または間接的に決定するアクションを含んでよく、次いで、関連する一般的なユーザインターフェース要素の提示を引き起こしてよい。いくつかの実施形態では、イベントハンドラは、選択されたリンクに対応するページタイプを特定する機能を示す。しかし、イベントハンドラを使用する以外のメカニズムを用いて、上で説明したシステムおよび方法を実装してもよい。
開示する本主題のさまざまな目的、特徴、および利点は、開示する本主題についての以下の詳細な説明を参照して、同様の参照番号が同様の要素を特定する添付の図面と併せて検討すれば、より完全に理解することができよう。
開示する本主題のいくつかの実施形態による、リンクを提示し、かつリンクに関連するコンテンツを提示するための、ユーザインターフェースの例を示す図である。 開示する本主題のいくつかの実施形態による、リンクを提示し、かつリンクに関連するコンテンツを提示するための、ユーザインターフェースの例を示す図である。 開示する本主題のいくつかの実施形態による、リンクに関連するコンテンツを取得するための本明細書において説明するメカニズムの実装に適した、説明のためのシステムの概略図である。 開示する本主題のいくつかの実施形態による、図2のサーバおよび/またはユーザデバイス内で使用することのできるハードウェアの詳細な例を示す図である。 開示する本主題のいくつかの実施形態による、リンクに関連するコンテンツを取得し、提示するための情報流れ図の、説明のための例を示す図である。 開示する本主題のいくつかの実施形態による、リンクに関連するコンテンツを取得し、提示するためのプロセスの、説明のための例を示す図である。
さまざまな実施形態によれば、リンクに関連するコンテンツを取得するための(方法、システム、および媒体を含むことのできる)メカニズムが提供される。
いくつかの実施形態では、本明細書において説明するメカニズムは、ページがユーザデバイス上に提示されるとの決定をすることができる。例えば、いくつかの実施形態では、ページは、ユーザデバイス上で実行されるアプリケーションを通じて提示されるページとすることができる。より特定の例として、ページは、アプリケーションに関連するサービスのホームページ、アプリケーションに関連する特定のコンテンツに対応するページ、および/または他の任意の適切なタイプのページとすることができる。メカニズムは次いで、ページのコンテンツならびにページ内に含まれるリンクのマッピングを要求するリモートプロシージャコール(RPC)を、サーバに送信することができる。リンクのマッピングは、リンクに関連するURLや、リンクに関連する対応するエンドポイントまたはページタイプなど、任意の適切な情報を示すことができる。例えば、リンクが特定のビデオ共有サービスによってホストされるビデオへのものである場合、URLは、リンクのロケーションを指定することができ、エンドポイントは、ビデオが、特定のビデオプレーヤウィンドウ、ビデオ共有サービスに関連する特定のロゴ、および/または他の任意の適切な要素を含むビデオ鑑賞ページ内に提示される、ということを示すことができる。ユーザデバイスは、コンテンツおよびマッピングを受信することができ、マッピングをユーザデバイスのローカルメモリ内に格納することができる。ページの提示中にページのリンクのうちの選択された1つの受領に応答して、ユーザデバイスは、格納されたマッピングを使用して、選択されたリンクに対応するコンテンツがそこに提示されるエンドポイントまたはページタイプを決定することができ、選択されたリンクに関連するコンテンツをサーバが送信するのを待つ間に、そのエンドポイントまたはページタイプに対応する要素をロードし始めることができる。
いくつかの実施形態では、ページに関連するコンテンツを、モバイルデバイス上で実行されるアプリケーション内に任意の適切な様式で提示することができる。例えば、いくつかの実施形態では、コンテンツは、WebViewアプリケーションや、アプリケーション内にレンダリングされた他の任意の適切なウェブブラウザなど、アプリケーション内で実行されるウェブブラウザインターフェース内に提示することができる。より特定の例として、いくつかの実施形態では、ページに関連するコンテンツは、アプリケーション内のWebView内に提示される、アプリケーションに関連しないサードパーティコンテンツとすることができる。この例を続けると、コンテンツ内のリンクは、アプリケーションを通じて提供される、アプリケーションに関連するビデオ共有サービスによって提供されるビデオへのものとすることができる。本明細書において説明するメカニズムは、WebViewを通じたビデオへのリンクの選択をインタセプトすることができ、ビデオがユーザデバイス上にバッファリングされている間に、ビデオ鑑賞ページに関連するユーザインターフェース要素をアプリケーション内にロードさせることができる。反対に、いくつかの実施形態では、ページのコンテンツをアプリケーション内に提示することができ、選択されたリンクが、アプリケーション内のWebView内にレンダリングされるサードパーティコンテンツに対応することができる。この例を続けると、ページのコンテンツ内のリンクの選択をインタセプトすることができ、サードパーティコンテンツがユーザデバイスに送信されている間に、WebViewに関連する要素をアプリケーション内にロードすることができる。
したがって、本明細書において説明するメカニズムは、アプリケーション内でリンクが選択されたときの応答のレーテンシを、コンテンツが提示されるページの要素をユーザデバイスがプレロードし始められるようにすることによって、低減させることができる。具体的には、いくつかの実施形態では、初期ページが最初に提示されるときにURLのエンドポイントへのマッピングをユーザデバイス上にローカルに格納しておくため、ユーザデバイスとサーバとの間の1つまたは複数のラウンドトリップメッセージをなくすことができる。加えて、本明細書において説明するメカニズムは、各ユーザデバイスにユーザデバイス上のアプリケーションに対するアップデートをダウンロードするように要求することなく、アプリケーションの開発者がユーザインターフェースの外観に、サーバによって供給されるコンテンツを通じて変更を加えられるようにすることができる。例えば、アプリケーション上に提示されるページ内のリンクに関するエンドポイント情報をサーバからユーザデバイスに送信することによって、ユーザデバイスにアプリケーションに対するアップデートをダウンロードするように要求するのではなく、サーバが、各エンドポイントに対応するユーザインターフェース要素についての情報(例えば、ビデオプレーヤウィンドウの外観、ロゴの外観もしくは位置、ディスカッションフォーラムの外観もしくは位置、および/または他の任意の適切な要素)を含めることができる。
図1Aに移ると、開示する本主題のいくつかの実施形態による、ユーザデバイス上に提示することのできるユーザインターフェースの、説明のための例100が示されている。図示のように、ユーザインターフェース100は、ページコンテンツ102およびリンク104を含むことができる。いくつかの実施形態では、ユーザインターフェース100は、アプリケーション、例えば図1Aに示すようにモバイルデバイス上で実行されるアプリケーション内に、提示することができる。
いくつかの実施形態では、ページコンテンツ102は、ビデオコンテンツ、画像、アニメーション、テキストコンテンツ、ウェブページからのコンテンツ、および/または他の任意の適切なタイプのコンテンツなど、任意の適切なタイプのコンテンツを含むことができる。コンテンツがビデオコンテンツを含む場合、ページコンテンツ102は、任意の適切なビデオプレーヤコントロール(例えば一時停止コントロール、音量コントロール、および/または他の任意の適切なタイプのコントロール)を含むことのできるビデオプレーヤウィンドウ内に提示することができる。
いくつかの実施形態では、リンク104は、任意の適切なタイプのリンクとすることができる。例えば、リンク104は、ウェブページへのリンク、メディアコンテンツアイテムへのリンク(例えばビデオ、画像、オーディオファイル、および/もしくは他の任意の適切なタイプのメディアコンテンツアイテムへのリンク)、チャットルームまたはディスカッションフォーラムへのリンク、ならびに/あるいは他の任意の適切なタイプのコンテンツへのリンクとすることができる。いくつかの実施形態では、リンク104は、ユーザインターフェース100がそれを通じて提示されているアプリケーション内のコンテンツにリンクすることができる。例えば、ユーザインターフェース100が、ビデオ共有サービスに関連するアプリケーション内に提示される場合、リンク104は、ビデオ共有サービスを通じてアクセスされる別のビデオへのリンク、ビデオ共有サービスを通じてアクセスされる情報のページへのリンク、ビデオ共有サービスのユーザのプロファイルへのリンク、および/または他の任意の適切なタイプのページなど、そのビデオ共有サービスに関連する別のページへのものとすることができる。それに加えてまたはその代わりに、いくつかの実施形態では、リンク104は、別のエンティティに関連するウェブページおよび/または他の任意の適切なタイプのコンテンツなど、アプリケーションに関連しないコンテンツにリンクすることができる。
いくつかの実施形態では、リンク104を選択すると、ユーザインターフェース150を提示させることができる。図示のように、いくつかの実施形態では、ユーザインターフェース150は、選択されたリンクに関連するコンテンツに対応することのできるリンクコンテンツ154を含むことができる。いくつかの実施形態では、図1Bに示すように、リンクコンテンツ154は、ユーザインターフェース100を提示したアプリケーション内に提示することができる、ということに留意されたい。例えば、いくつかの実施形態では、リンクコンテンツ154が、アプリケーションに関連しないウェブページを含んでいた場合でも、そのウェブページをアプリケーション内に(例えばアプリケーション内にレンダリングされたウェブブラウザウィンドウ内に)提示することができる。
図2に移ると、開示する本主題のいくつかの実施形態に従って使用することのできる、リンクに関連するコンテンツを取得し、提示するためのハードウェアの、説明のための例200が示されている。図示のように、ハードウェア200は、コンテンツサーバ202など、1つもしくは複数のサーバ、通信ネットワーク204、および/またはユーザデバイス208や210など、1つもしくは複数のユーザデバイス206を含むことができる。
いくつかの実施形態では、コンテンツサーバ202は、コンテンツを格納し、そのコンテンツを提示のためにユーザデバイスに送信するのに適した、任意のサーバとすることができる。例えば、いくつかの実施形態では、コンテンツサーバ202は、メディアコンテンツをユーザデバイス206に通信ネットワーク204を介してストリーミングするサーバとすることができる。いくつかの実施形態では、コンテンツサーバ202上のコンテンツは、ビデオコンテンツ、オーディオコンテンツ、映画、テレビ番組、ライブストリームコンテンツ(live-streamed content)、オーディオブック、および/または他の任意の適切なタイプのコンテンツなど、任意の適切なコンテンツとすることができる。いくつかの実施形態では、コンテンツサーバ202は省略することができる。
通信ネットワーク204は、いくつかの実施形態では、1つまたは複数の有線ネットワークおよび/またはワイヤレスネットワークの任意の適切な組合せとすることができる。例えば、通信ネットワーク204は、インターネット、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、ワイヤレスネットワーク、デジタル加入者回線(DSL)ネットワーク、フレームリレーネットワーク、非同期転送モード(ATM)ネットワーク、バーチャルプライベートネットワーク(VPN)、および/または他の任意の適切な通信ネットワークのうちのいずれか1つまたは複数を含むことができる。ユーザデバイス206は、1つまたは複数の通信リンク212によって通信ネットワーク204に接続され得、通信ネットワーク204は、1つまたは複数の通信リンク(例えば通信リンク214)を介してコンテンツサーバ202にリンクされ得る。通信リンク212および/または214は、ネットワークリンク、ダイヤルアップリンク、ワイヤレスリンク、ハードワイヤードリンク、他の任意の適切な通信リンク、またはそのようなリンクの任意の適切な組合せなど、ユーザデバイス206およびサーバ202の間でデータを通信するのに適した任意の通信リンクとすることができる。
いくつかの実施形態では、ユーザデバイス206は、オーディオコンテンツもしくはビデオコンテンツを視聴すること、コンテンツページ内のリンクの選択されたものを受領すること、および/または他の任意の適切な機能に適した、1つまたは複数のコンピューティングデバイスを含むことができる。例えば、いくつかの実施形態では、ユーザデバイス206は、スマートフォン、モバイルフォン、タブレットコンピュータ、ウェアラブルコンピュータ、ラップトップコンピュータ、車両(例えば、車、ボート、飛行機、もしくは他の任意の適切な車両)エンターテイメントシステム、ポータブルメディアプレーヤ、および/または他の任意の適切なモバイルデバイスなどのモバイルデバイスとして実装することができる。別の例として、いくつかの実施形態では、ユーザデバイス206は、デスクトップコンピュータ、セットトップボックス、テレビ、ストリーミングメディアプレーヤ、ゲームコンソール、および/または他の任意の適切な非モバイルデバイスなどの非モバイルデバイスとして実装することができる。
コンテンツサーバ202は、単一のデバイスとして示されているが、コンテンツサーバ202によって実施される機能は、いくつかの実施形態では、任意の適切な数のデバイスを使用して実施することができる。例えば、いくつかの実施形態では、複数のデバイスを使用して、コンテンツサーバ202によって実施される機能を実装することができる。
図2には2つのユーザデバイス208および210が示されているが、任意の適切な数のユーザデバイス、および/または任意の適切なタイプのユーザデバイスを、いくつかの実施形態では使用することができる。
コンテンツサーバ202およびユーザデバイス206は、いくつかの実施形態では、任意の適切なハードウェアを使用して実装することができる。例えば、いくつかの実施形態では、デバイス202および206は、任意の適切な汎用コンピュータまたは専用コンピュータを使用して実装することができる。例えば、サーバは、専用コンピュータを使用して実装されてよい。そのような任意の汎用コンピュータまたは専用コンピュータは、任意の適切なハードウェアを含むことができる。例えば、図3の例示的ハードウェア300内に示すように、そのようなハードウェアは、ハードウェアプロセッサ302、メモリおよび/または記憶装置304、入力デバイスコントローラ306、入力デバイス308、ディスプレイ/オーディオドライバ310、ディスプレイおよびオーディオ出力回路312、通信インターフェース314、アンテナ316、ならびにバス318を含むことができる。
ハードウェアプロセッサ302としては、いくつかの実施形態では、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、専用論理回路、および/または汎用コンピュータもしくは専用コンピュータの機能を制御するための他の任意の適切な回路など、任意の適切なハードウェアプロセッサがあり得る。いくつかの実施形態では、ハードウェアプロセッサ302は、(例えばコンテンツサーバ202などの)サーバのメモリおよび/または記憶装置304内に格納されたサーバプログラムによって制御することができる。例えば、このサーバプログラムは、ユーザデバイスからの要求の受信に応答して、コンテンツサーバ202のハードウェアプロセッサ302に、コンテンツおよび/またはコンテンツ内のリンクのマッピングをユーザデバイスに送信させることができる。いくつかの実施形態では、ハードウェアプロセッサ302は、ユーザデバイス206のメモリおよび/または記憶装置304内に格納されたコンピュータプログラムによって制御することができる。例えば、このコンピュータプログラムは、ユーザデバイス206のハードウェアプロセッサ302に、ページを提示させる、提示されたページ内のリンクの選択されたものを受領させる、リンクに関連するエンドポイントを特定させる、エンドポイントに関連するコンテンツを求める要求を、コンテンツサーバ202に送信させる、エンドポイントに関連するコンテンツを提示させる、かつ/または他の任意の適切な機能を実施させることができる。
メモリおよび/または記憶装置304は、いくつかの実施形態では、プログラム、データ、メディアコンテンツ、広告、および/または他の任意の適切な情報を格納するのに適した任意のメモリおよび/または記憶装置とすることができる。例えば、メモリおよび/または記憶装置304としては、ランダムアクセスメモリ、読出し専用メモリ、フラッシュメモリ、ハードディスク記憶装置、光学媒体、および/または他の任意の適切なメモリがあり得る。
入力デバイスコントローラ306は、いくつかの実施形態では、1つまたは複数の入力デバイス308からの入力を制御および受領するのに適した任意の回路とすることができる。例えば、入力デバイスコントローラ306は、タッチスクリーンからの、キーボードからの、マウスからの、1つもしくは複数のボタンからの、音声認識回路からの、マイクロホンからの、カメラからの、光センサからの、加速度計からの、温度センサからの、近接場センサからの、かつ/または他の任意のタイプの入力デバイスからの入力を受領するための回路とすることができる。
ディスプレイ/オーディオドライバ310は、いくつかの実施形態では、1つまたは複数のディスプレイ/オーディオ出力デバイス312への出力を制御および駆動するのに適した任意の回路とすることができる。例えば、ディスプレイ/オーディオドライバ310は、タッチスクリーン、フラットパネルディスプレイ、陰極線管ディスプレイ、プロジェクタ、1つもしくは複数のスピーカ、および/または他の任意の適切なディスプレイおよび/または提示デバイスを駆動するための回路とすることができる。
通信インターフェース314は、図2に示すネットワーク204など、1つまたは複数の通信ネットワークとインターフェースするのに適した任意の回路とすることができる。例えば、インターフェース314としては、ネットワークインターフェースカード回路、ワイヤレス通信回路、および/または他の任意の適切なタイプの通信ネットワーク回路があり得る。
アンテナ316は、いくつかの実施形態では、通信ネットワーク(例えば通信ネットワーク204)とワイヤレス通信するのに適した任意の1つまたは複数のアンテナとすることができる。いくつかの実施形態では、アンテナ316は省略することができる。
バス318は、いくつかの実施形態では、2つ以上の構成要素302と、304と、306と、310と、314との間で通信するのに適した任意のメカニズムとすることができる。
他の任意の適切な構成要素を、いくつかの実施形態によるハードウェア300内に含めることができる。
図4に移ると、開示する本主題のいくつかの実施形態による、リンクに関連するコンテンツを取得し、提示するための情報流れ図の、説明のための例400が示されている。図示のように、いくつかの実施形態では、情報流れ図400のブロックは、ユーザデバイス206およびコンテンツサーバ202上で実施することができる。
402において、ユーザデバイス206がコンテンツサーバ202に、ユーザデバイス206上に提示しようとするページに関連するコンテンツを要求するリモートプロシージャコール(RPC)を送信することができる。いくつかの実施形態では、RPCは、提示しようとするページの識別情報(例えばページに関連するURL、および/または他の任意の適切な識別情報)など、任意の適切な情報を含むことができる。いくつかの実施形態では、RPCは、ページがそこに提示されるアプリケーションを介して成すことができる。いくつかのそのような実施形態では、アプリケーションは、ビデオ共有サービスに関連するアプリケーション、ソーシャルネットワーキングサービスに関連するアプリケーション、および/または他の任意の適切なタイプのアプリケーションなど、ユーザデバイス206上で実行される任意の適切なアプリケーションとすることができる。
404において、コンテンツサーバ202がユーザデバイス206に、ページのコンテンツ、およびページ内に含まれるリンクのマッピングを送信することができる。いくつかの実施形態では、ページのコンテンツは、テキスト、画像、アニメーション、アイコン、ビデオ、および/または他の任意の適切なタイプのコンテンツなど、任意の適切なコンテンツを含むことができる。いくつかの実施形態では、ページのコンテンツは、ハイパーテキストマークアップ言語(HTML)形式および/または他の任意の適切な形式でなど、任意の適切な形式で送信することができる。いくつかの実施形態では、リンクのマッピングは、任意の適切な情報を含むことができる。例えば、いくつかの実施形態では、リンクのマッピングは、ページ内に含まれるリンクのうちの1つまたは複数に関するキー(key)-値ペアを示すことができ、ここでキーは、リンクのユニフォームリソースロケータ(URL)を示し、値は、URLに関連するエンドポイントを示す。より特定の例として、ページを提示するアプリケーションが、ビデオ共有サービスに関連するアプリケーションであり、リンクに対応するURLが、特定のビデオに関連するメインページへのものである場合、エンドポイントは、URLがビデオ鑑賞ページ(例えば、ビデオがそこに提示されるビデオプレーヤウィンドウを含むページ、ビデオに対してコメントするためのコメントセクションを含むページ、ビデオ共有サービスのロゴを含むページ、および/または他の任意の適切な要素を含むページ)に対応する、ということを示すことができる。
いくつかの実施形態では、コンテンツサーバ202がユーザデバイス206に、ユーザインターフェースのための任意のユーザインターフェース要素、またはリンクに関連するコンテンツがそこに提示されるユーザインターフェースをレンダリングするための命令を送信することができる、ということに留意されたい。例えば、いくつかの実施形態では、コンテンツサーバ202は、ビデオ共有サービスのロゴなど、ビデオ鑑賞ページに対応するユーザインターフェースのためのユーザインターフェース要素、コメントセクションをレンダリングするための命令、ビデオプレーヤウィンドウをレンダリングするための命令、および/または他の任意の適切な要素もしくは命令を送信することができる。それに加えてまたはその代わりに、いくつかの実施形態では、これらの要素または命令は、ユーザデバイス206によって、任意の適切な時間に、例えばページのコンテンツがそこに提示されるアプリケーションがダウンロードまたは最終更新された時間に、前もって受信されていてもよい。
406において、ユーザデバイス206が、受信したページコンテンツ、およびリンクのマッピングを、ユーザデバイス206のローカルメモリ(例えば図3に示し、上で図3に関して説明したメモリ304)内に格納することができる。
ユーザデバイス206が、408において、ページを提示させることができる。いくつかの実施形態では、ユーザデバイス206は、格納されたページコンテンツをメモリ304から取得して、そのページコンテンツを提示することができる。いくつかの実施形態では、ページは、任意の適切な様式で提示することができる。例えば、図1Aに示し、上で図1Aに関して説明したように、ページは、ユーザデバイス206上で実行されるアプリケーションのウィンドウ内に提示することができる。いくつかの実施形態では、提示されたページは、ビデオ、オーディオコンテンツ、テキスト、画像、グラフィック、アニメーション、アイコン、および/または他の任意の適切なコンテンツなど、任意の適切なコンテンツを含むことができる、ということに留意されたい。加えて、いくつかの実施形態では、提示されたページは、他のコンテンツへの任意の適切な数(例えば0個、1個、2個、5個、10個、および/または他の任意の適切な数)のリンクを含むことができる。いくつかの実施形態では、リンクは、アプリケーションに関連するコンテンツへのもの、またはアプリケーションに関連しないコンテンツへのリンクとすることができる。例えば、いくつかの実施形態では、リンクのうちの1つまたは複数を、アプリケーションまたはアプリケーション内のコンテンツの他の部分への(例えばアプリケーションの特定のセクションへの、アプリケーションによって表されるウェブサイトの別のページへの、かつ/またはアプリケーション内の他の任意の適切なリンクへの)ディープリンクとすることができる。反対に、いくつかの実施形態では、リンクのうちの1つまたは複数を、サードパーティによってホストされるウェブページや記事など、アプリケーションに関連しないサードパーティコンテンツへのリンクとすることができる。いくつかの実施形態では、提示されるページは、ユーザデバイス206上で実行されるアプリケーション内にレンダリングされたWebViewウェブブラウザ内に提示することができる。
ユーザデバイス206が、410において、ページ内に含まれるリンクの選択されたものを受領することができる。いくつかの実施形態では、リンクの選択されたものは、任意の適切な様式で受領することができる。例えば、いくつかの実施形態では、選択されたものは、ユーザデバイス206のユーザがページ内のリンクをタップまたはクリックすることに基づいて受領することができる。
ユーザデバイス206は、412において、リンクに関連するエンドポイントを、406においてローカルメモリ内に格納されたリンクのマッピングに基づいて特定することができる。いくつかの実施形態では、エンドポイントは、リンクに基づいてアプリケーション内に提示されるページタイプを示すことができる。例えば、アプリケーションが、ビデオ共有サービスに関連し、リンクが、アプリケーション内に提示されるビデオに対応する場合、エンドポイントは、リンクが、ビデオ鑑賞ページタイプに対応するページ(例えばビデオプレーヤウィンドウ、ビデオについての情報を提示するためのセクション、ビデオをホストするビデオ共有サービスに関連するロゴ、および/または他の任意の適切なコンテンツを含むページ)内に提示される、ということを示すことができる。より特定の例として、いくつかの実施形態では、エンドポイントは、リンクに関連するコンテンツが提示される特定のページタイプに対応する一般的なユーザインターフェース要素を示すことができる。
ユーザデバイス206が、414において、コンテンツサーバ202に、エンドポイントに関連するコンテンツを求める要求を送信することができる。例えば、いくつかの実施形態では、リンクがビデオへのリンクである場合、ユーザデバイス206は、ビデオに関連するデータをユーザデバイス206に送信し始めよとの要求を送信することができる。
いくつかの実施形態では、ユーザデバイス206は、コンテンツサーバ202からの、要求に対する応答を待つ間に、提示されるページタイプに関連するユーザインターフェースをロードし始めることができる、ということに留意されたい。例えば、ページタイプがビデオ鑑賞ページに対応する場合、ユーザデバイス206は、ビデオプレーヤウィンドウ、ビデオについての情報を提示するためのセクション、および/または他の任意の適切なタイプのコンテンツを含む、ビデオを提示するための一般的なユーザインターフェースを提示し始めることができる。
416において、コンテンツサーバ202が、受信した要求に対して、要求したコンテンツをユーザデバイス206に送信することによって応答することができる。要求したコンテンツが、ストリーミングされるメディアコンテンツ(例えばビデオコンテンツアイテム、オーディオコンテンツアイテム、ライブストリームビデオ、および/または他の任意の適切なタイプのメディアコンテンツ)を含む場合、コンテンツサーバ202は、要求したコンテンツに対応するデータのストリームを送信することができる。
418において、ユーザデバイス206が、受信したコンテンツを提示することができる。例えば、受信したコンテンツがビデオを含む場合、ユーザデバイス206はそのビデオを提示し始めることができる。別の例として、受信したコンテンツがウェブページのコンテンツを含む場合、ユーザデバイス206はそのウェブページを提示することができる。いくつかの実施形態では、受信したコンテンツは、図1Bに示し、上で図1Bに関して説明したように、ユーザデバイス206上で実行されるアプリケーション内に提示することができる。さらに、いくつかの実施形態では、受信したコンテンツは、アプリケーション内にレンダリングされたWebViewウェブブラウザ内に提示することができる。
図5に移ると、開示する本主題のいくつかの実施形態による、リンクに関連するコンテンツを取得し、提示するためのプロセスの、説明のための例500が示されている。いくつかの実施形態では、プロセス500のブロックは、ユーザデバイス206上で実施することができる。
プロセス500は、502において、ユーザデバイスからサーバに、ユーザデバイス上に提示しようとするページのコンテンツをフェッチするためのリモートプロシージャコール(RPC)を送信することから始めることができる。上で図4のブロック402に関して説明したように、RPCは、ページがそこに提示されるアプリケーションの識別子、ページに関連するURL、および/または他の任意の適切な情報など、任意の適切な情報を含むことができる。いくつかの実施形態では、ページは、ウェブページ、ビデオなどのメディアコンテンツアイテムを視聴するためのページ、ソーシャルネットワーキングサービスに関連するページ、および/または他の任意の適切なタイプのページなど、任意の適切なタイプのページとすることができる。
504において、プロセス500が、サーバから、ページに対応するコンテンツ、およびページ内に含まれるリンクのマッピングを含む、RPCに対する応答を受信することができる。ページに対応するコンテンツは、ビデオコンテンツ、画像、アイコン、アニメーション、グラフィック、テキスト、オーディオコンテンツ、および/または他の任意の適切なタイプのコンテンツなど、任意の適切なタイプのコンテンツを含むことができる。いくつかの実施形態では、ページに対応するコンテンツは、HTML形式および/または他の任意の適切な形式でなど、任意の適切な形式で受信することができる。いくつかの実施形態では、リンクのマッピングは、ページ内に含まれるリンクについての任意の適切な情報を含むことができる。例えば、上で図4に関して説明したように、情報は、リンクに関連するURL、およびURLに関連する対応するエンドポイントまたはページタイプを示すことができる。より特定の例として、リンクが、特定のビデオを視聴するためのページへのものである場合、URLは、「www.video.com/video1」であり得、URLに関連するエンドポイントまたはページタイプは、「ビデオ鑑賞ページ」であり得る。この例を続けると、ビデオ鑑賞ページエンドポイントは、ビデオがそこに提示されるビデオプレーヤウィンドウ、ビデオについての情報を提示するためのセクション、コメントセクション、ビデオの提供業者に関連するロゴ、および/または他の任意の適切なセクションもしくは要素など、このタイプのページに関連する特定のセクションまたはユーザインターフェース要素を示すことができる。別のより特定の例として、リンクが、提示されたページ上のコンテンツについての追加情報を提示するページへのものである場合、URLは、「www.video.com/videoinfo」であり得、URLに関連するエンドポイントまたはページタイプは、「ビデオ情報ページ」であり得る。この例を続けると、ビデオ情報ページエンドポイントは、ビデオに関連する画像を提示するためのセクション、ビデオについての情報に関連するテキストを提示するためのセクション、ビデオについて他の視聴者とディスカッションするためのセクション、および/または他の任意の適切なセクションもしくは要素など、このタイプのページに関連する特定のセ
クションまたはユーザインターフェース要素を示すことができる。いくつかの実施形態では、URLおよび対応するエンドポイントは、キー-値ペアなど、任意の適切な形式で格納することができる。
いくつかの実施形態では、リンクは、ページがそこに提示されているアプリケーションに関連するリンクに対応することができる、ということに留意されたい。例えば、アプリケーションが、ビデオ共有サービスに関連し、リンクが、ビデオ共有サービスによってホストされるビデオに対応する場合、エンドポイントは、ビデオ共有サービスに関連するビデオ鑑賞ページを示すことができ、ビデオ共有サービスに関連するロゴ、ビデオ共有サービスに特有の視覚的外観をもつビデオプレーヤウィンドウ、および/または他の任意の適切なセクションもしくは要素などの、セクションまたは要素を含むことができる。それに加えてまたはその代わりに、いくつかの実施形態では、リンクは、アプリケーションに関連しないページ、例えば別のエンティティに関連するウェブページまたは記事に対応することもできる。いくつかのそのような実施形態では、URLは、ウェブページまたは記事のロケーションを示すことができ、エンドポイントまたはページタイプは、ウェブページまたは記事が、アプリケーション内にレンダリングされたブラウザウィンドウ(例えばWebViewまたは他の任意の適切なブラウザウィンドウ)内に提示される、ということを示すことができる。
いくつかの実施形態では、ユーザデバイスは、受信したコンテンツ、およびリンクのマッピングを、任意の適切なロケーションに格納することができる。例えば、いくつかの実施形態では、ユーザデバイスは、受信したコンテンツ、およびリンクのマッピングを、ユーザデバイスのローカルメモリ(例えば図3に示し、上で図3に関して説明したメモリ304)内に格納することができる。
506において、プロセス500が、ユーザデバイス上へのページの提示を初期化することができる。例えば、いくつかの実施形態では、プロセス500は、ページに対応するコンテンツをユーザデバイスのローカルメモリ(例えば図3に示し、上で図3に関して説明したメモリ304)から取得することができる。
508において、プロセス500が、任意の適切なイベントハンドリング機能を、提示しようとするページに関連するHTMLコンテンツに挿入することができる。例えば、いくつかの実施形態では、プロセス500は、ページ内のリンクに対応する、リンクの選択されたものの受領に応答して取られるべき1つまたは複数のアクションを指定するイベントハンドラを挿入することができる。より特定の例として、いくつかの実施形態では、イベントハンドラは、対応するリンクが選択されたときに呼び出される機能を示すことのできる、「onclick」JavaScript(登録商標)イベントハンドラに対応することができる。具体的な例として、リンクに対応するHTMLタグが「<a href="www.video.com/video1">LINK</a>」である場合、プロセス500は、そのリンクが選択されたときにある機能が呼び出されるということを示すイベントハンドラを挿入することができる。この例を続けると、プロセス500は、このHTMLタグを「<a href=www.video.com/video1 onClick="exampleFunction()">LINK</a>」になるように修正することができる。上で説明した例は、JavaScript(登録商標)イベントハンドラを含んでいるが、いくつかの実施形態では、任意の適切な言語に対応するイベントハンドラを使用することができる、ということに留意されたい。加えて、いくつかの実施形態では、イベントハンドリング機能は、ユーザデバイスによって(例えばサーバからHTMLコンテンツを受信した後で)、またはサーバによって(例えばHTMLコンテンツをユーザデバイスに送信する前に)、挿入することができる。
プロセス500は次いで、ユーザデバイス上にページを提示させることができる。いくつかの実施形態では、ページは、ユーザデバイス上で実行されるアプリケーション内に提示することができる。加えて、いくつかの実施形態では、ページは、アプリケーション内のWebView内に提示することができる。
510において、プロセス500が、ユーザデバイスからリンクの選択されたものを受領することができる。例えば、いくつかの実施形態では、プロセス500は、ユーザデバイスのユーザが、ユーザデバイス上に提示されたページ内に含まれるリンクをタップし、クリックし、またはその他の方法で選択したとの通知を受領することができる。
512において、プロセス500が、選択されたリンクに対応するイベントハンドラを使用して、リンクに対応するエンドポイントを特定することができる。例えば、いくつかの実施形態では、イベントハンドラは、ブロック504において受信したマッピング内に示される、選択されたリンクのURLに対応するエンドポイントまたはページタイプを、呼び出されたときに特定するという機能を示すことができる。いくつかの実施形態では、イベントハンドラに関連する機能が、例えばモバイルデバイス上で実行されるアプリケーションに関連する第2の機能を呼び出すことができ、この第2の機能(例えばアプリケーションハンドラ)が次いで、マッピングに基づいてエンドポイントまたはページタイプを特定することができる、ということに留意されたい。それに加えてまたはその代わりに、いくつかの実施形態では、アプリケーションハンドラは、モバイルデバイス上で実行されるアプリケーション内にウェブブラウザインターフェースを提示するWebViewアプリケーションに関連付けられてもよい。
514において、プロセス500が、ブロック512において特定されたエンドポイントに基づいて、選択されたリンクに関連するページまたはコンテンツをプレロードし始めることができる。例えば、選択されたリンクが、提示されるビデオを示し、エンドポイントが、ビデオがビデオ鑑賞ページ内に提示される、ということを示す場合、プロセス500は、ビデオ鑑賞ページに対応するセクションまたは要素をロードし始めることができる。より特定の例として、ビデオ鑑賞ページに対応するロードされたセクションまたは要素は、ビデオがそこに提示されるビデオプレーヤウィンドウ、ビデオについての情報を提示するためのユーザインターフェースのセクション、ビデオの提供業者に関連するロゴ、ビデオに関連するコメントセクション、および/または他の任意の適切な要素など、特定のビデオに関係なくページ上に存在する一般的な要素とすることができる。いくつかの実施形態では、これらの要素は、ユーザデバイスのローカルメモリ(例えばメモリ304)からロードすることができる。
プロセス500が、516において、サーバに、選択されたリンクに関連するコンテンツを求める要求を送信することができる。いくつかの実施形態では、要求は、選択されたリンクに対応するURLの通知を含むことができる。いくつかの実施形態では、プロセス500は、サーバからの応答を待つ間に、上でブロック514に関して説明したようにページをプレロードし続けられる、ということに留意されたい。
518において、プロセス500が、要求したコンテンツをサーバから受信することができ、選択されたリンクに関連するコンテンツを提示することができる。上で図1Aに関して説明したように、コンテンツは、任意の適切な様式で提示することができる。例えば、図1Aに示すように、コンテンツは、リンクがそこから選択された、モバイルデバイス上で実行されるアプリケーション内に提示することができる。いくつかの実施形態では、コンテンツは、アプリケーション内にレンダリングされたウェブブラウザ内に提示することができる。例えば、選択されたリンクが、ウェブコンテンツ(例えばウェブページ、オンライン記事、および/または他の任意の適切なタイプのコンテンツ)に対応する場合、コンテンツは、ユーザデバイス上のアプリケーション内のWebView内に提示することができる。
いくつかの実施形態では、図4および図5のプロセスの上で説明したブロックのうちの少なくとも一部を、それらの図に示し、それらの図に関して説明した順序および順番に限定されない、任意の順序または順番で実行または実施することができる。また、図4および図5の上記のブロックの一部を、レーテンシおよび処理時間を低減させるために、必要に応じて実質的に同時に、または並列に、実行または実施することができる。それに加えてまたはその代わりに、図4および図5のプロセスの上で説明したブロックの一部を省略することもできる。
いくつかの実施形態では、任意の適切なコンピュータ可読媒体を使用して、本明細書における機能および/またはプロセスを実施するための命令を格納することができる。例えば、いくつかの実施形態では、コンピュータ可読媒体は、一時的または非一時的とすることができる。例えば、非一時的なコンピュータ可読媒体としては、(ハードディスク、フロッピーディスク、および/もしくは他の任意の適切な磁気媒体などの)非一時的な形態の磁気媒体、(コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、および/もしくは他の任意の適切な光学媒体などの)非一時的な形態の光学媒体、(フラッシュメモリ、電気的プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、および/もしくは他の任意の適切な半導体媒体などの)非一時的な形態の半導体媒体、瞬間的ではなくかつ伝送中に任意の外見上の永続性を欠かない、任意の適切な媒体、ならびに/または任意の適切な有形の媒体などの媒体があり得る。別の例として、一時的なコンピュータ可読媒体としては、ネットワーク上の信号、ワイヤ内の信号、導体内の信号、光ファイバ内の信号、回路内の信号、瞬間的でありかつ伝送中に任意の外見上の永続性を欠く、任意の適切な媒体内の信号、および/または任意の適切な無形の媒体内の信号があり得る。
本明細書において説明したシステムが、ユーザについての個人情報を収集するか、または個人情報を使用する場合、ユーザには、プログラムまたは機能がユーザ情報(例えばユーザのソーシャルネットワーク、社会的行為もしくは社会的活動、職業、ユーザの嗜好、またはユーザの現在位置についての情報)を収集するかどうかを制御する機会が与えられてよい。加えて、ある特定のデータが、格納または使用される前に、個人情報が取り除かれるように1つまたは複数の方途で処理されてよい。例えば、ユーザの識別情報は、ユーザにとってどんな個人情報も特定することができないように処理されてよく、または位置情報が得られる場合において、ユーザの地理的位置は、ユーザの特定の位置を特定することができないように(市、郵便番号、または州レベルなどに)一般化されてよい。したがって、ユーザは、コンテンツサーバによってユーザについてどのように情報が収集され、使用されるかについて、制御することができてよい。
したがって、リンクに関連するコンテンツを取得するための方法、システム、および媒体が提供される。
以上、本発明については、説明のための前述の実施形態の中で説明し図示してきたが、本開示は例として行われたにすぎないこと、また添付の特許請求の範囲によってのみ限定される本発明の趣旨および範囲から逸脱することなく、本発明の実装の詳細の多数の変更を行うことができることが、理解されよう。開示した実施形態の特徴は、さまざまに組み合わせ、再編成することが可能である。
100 説明のための例、ユーザインターフェース
102 ページコンテンツ
104 リンク
150 ユーザインターフェース
154 リンクコンテンツ
200 説明のための例、ハードウェア
202 コンテンツサーバ、デバイス
204 通信ネットワーク
206 ユーザデバイス
208 ユーザデバイス
210 ユーザデバイス
212 通信リンク
214 通信リンク
300 例示的ハードウェア
302 ハードウェアプロセッサ、構成要素
304 メモリおよび/または記憶装置、構成要素、メモリ
306 入力デバイスコントローラ、構成要素
308 入力デバイス
310 ディスプレイ/オーディオドライバ、構成要素
312 ディスプレイおよびオーディオ出力回路、ディスプレイ/オーディオ出力デバイス
314 通信インターフェース、構成要素
316 アンテナ
318 バス
400 説明のための例、情報流れ図
500 説明のための例、プロセス

Claims (18)

  1. リンクに関連するコンテンツを取得する方法であって、
    ユーザデバイスからサーバに、前記ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するステップと、
    前記サーバから、前記ページに対応する前記コンテンツ、および前記ページに対応する前記コンテンツ内に含まれる1つまたは複数のリンク各々について1つのページタイプへのマッピングを受信するステップと、
    前記ユーザデバイス上に、前記受信したマッピングを格納するステップと、
    前記ページの前記コンテンツを、前記ユーザデバイス上に提示させるステップと、
    前記ページに対応する前記コンテンツ内に含まれる前記1つまたは複数のリンクのうちの選択された1つを受領するステップと、
    前記選択されたリンクに対応するページタイプを、前記格納されたマッピングに基づいて特定するステップと、
    前記サーバに、前記選択されたリンクに関連するコンテンツを求める要求を送信するステップと、
    前記サーバからの前記要求したコンテンツを待つ間に、前記特定されたページタイプにより示された、ユーザインターフェースのユーザインターフェース要素を、前記ユーザデバイス上に提示させるステップと、
    前記要求したコンテンツの前記サーバからの受信に応答して、前記受信したコンテンツを前記ユーザインターフェース内に提示させるステップとを含む、
    方法。
  2. 前記ページが、前記ユーザデバイス上で実行されるアプリケーション内に提示される、
    請求項1に記載の方法。
  3. 前記選択されたリンクに関連する前記コンテンツが、前記アプリケーションに関連しないエンティティによって提供されるサードパーティコンテンツである、
    請求項2に記載の方法。
  4. 前記ページに対応する前記コンテンツ、および前記選択されたリンクに対応する前記受信したコンテンツが、前記ユーザデバイス上で実行される前記アプリケーション内で実行される、ウェブブラウザアプリケーション内に提示される、
    請求項2または3に記載の方法。
  5. 前記ページの前記コンテンツを前記ユーザデバイス上に提示させる前に、前記ページに対応する前記コンテンツ内の前記1つまたは複数のリンクの各々についてイベントハンドラを挿入するステップをさらに含む、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記イベントハンドラが、前記選択されたリンクに対応する前記ページタイプを特定する機能を示す、
    請求項5に記載の方法。
  7. リンクに関連するコンテンツを取得するシステムであって、前記システムが、以下の動作を行うように構成されたハードウェアプロセッサを備え、前記動作が、
    ユーザデバイスからサーバに、前記ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信することと、
    前記サーバから、前記ページに対応する前記コンテンツ、および前記ページに対応する前記コンテンツ内に含まれる1つまたは複数のリンク各々について1つのページタイプへのマッピングを受信することと、
    前記ユーザデバイス上に、前記受信したマッピングを格納することと、
    前記ページの前記コンテンツを、前記ユーザデバイス上に提示させることと、
    前記ページに対応する前記コンテンツ内に含まれる前記1つまたは複数のリンクのうちの選択された1つを受領することと、
    前記選択されたリンクに対応するページタイプを、前記格納されたマッピングに基づいて特定することと、
    前記サーバに、前記選択されたリンクに関連するコンテンツを求める要求を送信することと、
    前記サーバからの前記要求したコンテンツを待つ間に、前記特定されたページタイプにより示された、ユーザインターフェースのユーザインターフェース要素を、前記ユーザデバイス上に提示させることと、
    前記要求したコンテンツの前記サーバからの受信に応答して、前記受信したコンテンツを前記ユーザインターフェース内に提示させることとを含む、
    システム。
  8. 前記ページが、前記ユーザデバイス上で実行されるアプリケーション内に提示される、
    請求項7に記載のシステム。
  9. 前記選択されたリンクに関連する前記コンテンツが、前記アプリケーションに関連しないエンティティによって提供されるサードパーティコンテンツである、
    請求項8に記載のシステム。
  10. 前記ページに対応する前記コンテンツ、および前記選択されたリンクに対応する受信したコンテンツが、前記ユーザデバイス上で実行される前記アプリケーション内で実行される、ウェブブラウザアプリケーション内に提示される、
    請求項8または9に記載のシステム。
  11. 前記ハードウェアプロセッサが、前記ページの前記コンテンツを前記ユーザデバイス上に提示させる前に、前記ページに対応する前記コンテンツ内の前記1つまたは複数のリンクの各々についてイベントハンドラを挿入するようにさらに構成される、
    請求項7から10のいずれか一項に記載のシステム。
  12. 前記イベントハンドラが、前記選択されたリンクに対応する前記ページタイプを特定する機能を示す、
    請求項11に記載のシステム。
  13. リンクに関連するコンテンツを取得する動作をプロセッサに実行させるためのコンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記動作が、
    ユーザデバイスからサーバに、前記ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するステップと、
    前記サーバから、前記ページに対応する前記コンテンツ、および前記ページに対応する前記コンテンツ内に含まれる1つまたは複数のリンク各々について1つのページタイプへのマッピングを受信するステップと、
    前記ユーザデバイス上に、前記受信したマッピングを格納するステップと、
    前記ページの前記コンテンツを、前記ユーザデバイス上に提示させるステップと、
    前記ページに対応する前記コンテンツ内に含まれる前記1つまたは複数のリンクのうちの選択された1つを受領するステップと、
    前記選択されたリンクに対応するページタイプを、前記格納されたマッピングに基づいて特定するステップと、
    前記サーバに、前記選択されたリンクに関連するコンテンツを求める要求を送信するステップと、
    前記サーバからの前記要求したコンテンツを待つ間に、前記特定されたページタイプにより示された、ユーザインターフェースのユーザインターフェース要素を、前記ユーザデバイス上に提示させるステップと、
    前記要求したコンテンツの前記サーバからの受信に応答して、前記受信したコンテンツを前記ユーザインターフェース内に提示させるステップとを含む、
    コンピュータ可読記憶媒体。
  14. 前記ページが、前記ユーザデバイス上で実行されるアプリケーション内に提示される、
    請求項13に記載のコンピュータ可読記憶媒体。
  15. 前記選択されたリンクに関連する前記コンテンツが、前記アプリケーションに関連しないエンティティによって提供されるサードパーティコンテンツである、
    請求項14に記載のコンピュータ可読記憶媒体。
  16. 前記ページに対応する前記コンテンツ、および前記選択されたリンクに対応する前記受信したコンテンツが、前記ユーザデバイス上で実行される前記アプリケーション内で実行される、ウェブブラウザアプリケーション内に提示される、
    請求項14または15に記載のコンピュータ可読記憶媒体。
  17. 前記動作が、
    前記ページの前記コンテンツを前記ユーザデバイス上に提示させる前に、前記ページに対応する前記コンテンツ内の前記1つまたは複数のリンクの各々についてイベントハンドラを挿入するステップをさらに含む、
    請求項13から16のいずれか一項に記載のコンピュータ可読記憶媒体。
  18. 前記イベントハンドラが、前記選択されたリンクに対応する前記ページタイプを特定する機能を示す、
    請求項17に記載のコンピュータ可読記憶媒体。
JP2020507981A 2017-04-24 2018-01-11 リンクに関連するコンテンツを取得するための方法、システム、および媒体 Active JP6874212B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/495,460 2017-04-24
US15/495,460 US10749988B2 (en) 2017-04-24 2017-04-24 Methods, systems, and media for retrieving content associated with links
PCT/US2018/013309 WO2018200047A1 (en) 2017-04-24 2018-01-11 Methods, systems, and media for retrieving content associated with links

Publications (2)

Publication Number Publication Date
JP2020518088A JP2020518088A (ja) 2020-06-18
JP6874212B2 true JP6874212B2 (ja) 2021-05-19

Family

ID=61157297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020507981A Active JP6874212B2 (ja) 2017-04-24 2018-01-11 リンクに関連するコンテンツを取得するための方法、システム、および媒体

Country Status (6)

Country Link
US (3) US10749988B2 (ja)
EP (1) EP3596626B1 (ja)
JP (1) JP6874212B2 (ja)
KR (1) KR102313254B1 (ja)
CN (2) CN117349471A (ja)
WO (1) WO2018200047A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749988B2 (en) 2017-04-24 2020-08-18 Google Llc Methods, systems, and media for retrieving content associated with links
WO2020143795A1 (zh) 2019-01-12 2020-07-16 北京字节跳动网络技术有限公司 一种视频上展示信息的方法、装置、设备和存储介质
US11526269B2 (en) * 2019-01-12 2022-12-13 Shanghai marine diesel engine research institute Video playing control method and apparatus, device, and storage medium

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101871A (ja) 1995-10-05 1997-04-15 Nec Corp ハイパーメディア装置
US6519648B1 (en) 2000-01-24 2003-02-11 Friskit, Inc. Streaming media search and continuous playback of multiple media resources located on a network
US7509374B2 (en) * 2005-09-09 2009-03-24 Alchemic Solutions Group, Inc. Systems and methods for creating customized applications
US9092239B2 (en) * 2006-05-02 2015-07-28 Core Wireless Licensing S.A.R.L. Configuring user interfaces in electronic devices
CN101075236A (zh) * 2006-06-12 2007-11-21 腾讯科技(深圳)有限公司 一种加快浏览器网页显示的装置和方法
US8671021B2 (en) * 2006-12-13 2014-03-11 Quickplay Media Inc. Consumption profile for mobile media
US8578261B1 (en) 2007-06-22 2013-11-05 Adobe Systems Incorporated Active preview of hyperlink content in browser supported file-format
KR101095163B1 (ko) * 2008-08-27 2011-12-16 에스케이플래닛 주식회사 위젯 실행을 위한 사용자 단말기와 스마트 카드 간 연동 시스템 및 그 방법
US20100107114A1 (en) * 2008-10-28 2010-04-29 Zachcial Slawomir In context web page localization
US8302014B2 (en) * 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
US20120166979A1 (en) * 2010-07-01 2012-06-28 Nokia Corporation Method and Apparatus for Enabling User Interface Customization
US20120192063A1 (en) * 2011-01-20 2012-07-26 Koren Ziv On-the-fly transformation of graphical representation of content
US9275162B2 (en) 2011-03-22 2016-03-01 Blackberry Limited Pre-caching web content for a mobile device
US8812658B1 (en) 2011-05-20 2014-08-19 Amazon Technologies, Inc. Pre-fetching of network page content
US20120331532A1 (en) * 2011-06-22 2012-12-27 TerraWi, Inc. Device-agnostic mobile device thin client computing methods and apparatus
US9582598B2 (en) * 2011-07-05 2017-02-28 Visa International Service Association Hybrid applications utilizing distributed models and views apparatuses, methods and systems
CN102446222B (zh) * 2011-12-22 2014-12-10 华为技术有限公司 一种网页内容预加载方法、装置及系统
US9606970B2 (en) * 2012-01-05 2017-03-28 Data Record Science Web browser device for structured data extraction and sharing via a social network
US8656265B1 (en) 2012-09-11 2014-02-18 Google Inc. Low-latency transition into embedded web view
US10296562B2 (en) * 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience
US20140359598A1 (en) 2013-05-29 2014-12-04 Microsoft Corporation Application installation from search results
US10025856B2 (en) * 2013-06-14 2018-07-17 Target Brands, Inc. Dynamic landing pages
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
CN103678479A (zh) * 2013-09-30 2014-03-26 北京搜狗科技发展有限公司 浏览器预读取加速方法、装置及浏览器
US9326026B2 (en) * 2013-10-31 2016-04-26 At&T Intellectual Property I, Lp Method and apparatus for content distribution over a network
US20150161282A1 (en) * 2013-12-11 2015-06-11 Yahoo! Inc. Method and System for Smart URL Shortening Service
CN103699674B (zh) * 2013-12-31 2018-04-13 优视科技有限公司 网页保存、网页打开方法及装置和网页浏览系统
CN104007990A (zh) * 2014-05-30 2014-08-27 北京金山网络科技有限公司 一种网页加载方法及浏览器
US20160021051A1 (en) * 2014-07-16 2016-01-21 Theplatform, Llc Providing Access To Content Via Social Media
KR20180004093A (ko) * 2014-10-29 2018-01-10 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 인스턴트 메시징 동안의 미디어 콘텐츠의 전송
CN105760405A (zh) * 2014-12-19 2016-07-13 阿里巴巴集团控股有限公司 用于加载web页面的网络资源获取方法、缓存方法及装置
US10296641B2 (en) 2014-12-23 2019-05-21 Samsung Electronics Co., Ltd. Techniques for efficient access of software application functionality in search
CN104866534A (zh) 2015-04-28 2015-08-26 北京奇虎科技有限公司 页面展示方法及装置
US9311168B1 (en) * 2015-09-30 2016-04-12 Google Inc. Deeplinking to multiple native applications
WO2017062680A1 (en) * 2015-10-07 2017-04-13 Impossible Ventures, LLC Automated sequential site navigation
US9923993B2 (en) * 2015-11-02 2018-03-20 Rockwell Automation Technologies, Inc. Self-describing diagnostic data for presentation on mobile devices
US10257342B2 (en) * 2016-03-31 2019-04-09 Microsoft Technology Licensing, Llc Validating stateful dynamic links in mobile applications
CN106095999A (zh) * 2016-06-22 2016-11-09 腾讯科技(深圳)有限公司 获取页面内容的方法及装置
CN106354879A (zh) * 2016-09-27 2017-01-25 北京奇虎科技有限公司 网页缓存方法及装置
US10749988B2 (en) 2017-04-24 2020-08-18 Google Llc Methods, systems, and media for retrieving content associated with links

Also Published As

Publication number Publication date
US20220150329A1 (en) 2022-05-12
EP3596626A1 (en) 2020-01-22
US11991262B2 (en) 2024-05-21
US11233877B2 (en) 2022-01-25
CN117349471A (zh) 2024-01-05
KR20190142363A (ko) 2019-12-26
KR102313254B1 (ko) 2021-10-18
CN110709834A (zh) 2020-01-17
CN110709834B (zh) 2023-10-03
US20200382619A1 (en) 2020-12-03
US10749988B2 (en) 2020-08-18
WO2018200047A1 (en) 2018-11-01
JP2020518088A (ja) 2020-06-18
US20180309849A1 (en) 2018-10-25
EP3596626B1 (en) 2023-04-19

Similar Documents

Publication Publication Date Title
US11985178B2 (en) Methods, systems and media for associating multiple users with a media presentation device
US11112942B2 (en) Providing content via multiple display devices
US11991262B2 (en) Methods, systems, and media for retrieving content associated with links
JP7426496B2 (ja) ビデオインタラクション方法、装置、電子デバイス、記憶媒体、コンピュータプログラム製品及びコンピュータプログラム
CN108475280B (zh) 用于使用第二屏幕设备来与内容交互的方法、系统和介质
US20170018002A1 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
US20160210665A1 (en) Methods, systems and media for presenting media content that was advertised on a second screen device using a primary device
US11329942B2 (en) Methods, systems, and media for presenting messages related to notifications
CN112242947B (zh) 信息处理方法、装置、设备及介质
US9948729B1 (en) Browsing session transfer using QR codes
CN114168018A (zh) 数据交互方法、装置、电子设备、存储介质和程序产品
US9332206B2 (en) Frame sharing
CN106462878B (zh) 用于在媒体内容的后台呈现期间呈现广告的方法、系统和介质
CN114556959A (zh) 允许第一屏幕设备上提供的媒体特征呈现在第二屏幕设备上
US20220058229A1 (en) Methods, systems, and media for updating a webpage rendered with cached content
US20170085959A1 (en) Adaptive multimedia display
CN115379245A (zh) 信息显示方法、装置和电子设备
US20170168994A1 (en) Method And Apparatus For Facilitating Visual Presentations
CN115767168A (zh) 直播内容显示方法、装置、介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210421

R150 Certificate of patent or registration of utility model

Ref document number: 6874212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250