(57)【特許請求の範囲】
【請求項１】
リンクに関連するコンテンツを取得する方法であって、
ユーザデバイスからサーバに、前記ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するステップと、
前記サーバから、前記ページに対応する前記コンテンツ、および前記ページに対応する前記コンテンツ内に含まれる1つまたは複数のリンク各々について1つのページタイプへのマッピングを受信するステップと、
前記ユーザデバイス上に、前記受信したマッピングを格納するステップと、
前記ページの前記コンテンツを、前記ユーザデバイス上に提示させるステップと、
前記ページに対応する前記コンテンツ内に含まれる前記1つまたは複数のリンクのうちの選択された1つを受領するステップと、
前記選択されたリンクに対応するページタイプを、前記格納されたマッピングに基づいて特定するステップと、
前記サーバに、前記選択されたリンクに関連するコンテンツを求める要求を送信するステップと、
前記サーバからの前記要求したコンテンツを待つ間に、前記特定されたページタイプにより示された、ユーザインターフェースのユーザインターフェース要素を、前記ユーザデバイス上に提示させるステップと、
前記要求したコンテンツの前記サーバからの受信に応答して、前記受信したコンテンツを前記ユーザインターフェース内に提示させるステップとを含む、
方法。
【請求項２】
前記ページが、前記ユーザデバイス上で実行されるアプリケーション内に提示される、
請求項1に記載の方法。
【請求項３】
前記選択されたリンクに関連する前記コンテンツが、前記アプリケーションに関連しないエンティティによって提供されるサードパーティコンテンツである、
請求項2に記載の方法。
【請求項４】
前記ページに対応する前記コンテンツ、および前記選択されたリンクに対応する前記受信したコンテンツが、前記ユーザデバイス上で実行される前記アプリケーション内で実行される、ウェブブラウザアプリケーション内に提示される、
請求項2または3に記載の方法。
【請求項５】
前記ページの前記コンテンツを前記ユーザデバイス上に提示させる前に、前記ページに対応する前記コンテンツ内の前記1つまたは複数のリンクの各々についてイベントハンドラを挿入するステップをさらに含む、
請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記イベントハンドラが、前記選択されたリンクに対応する前記ページタイプを特定する機能を示す、
請求項5に記載の方法。
【請求項７】
リンクに関連するコンテンツを取得するシステムであって、前記システムが、以下の動作を行うように構成されたハードウェアプロセッサを備え、前記動作が、
ユーザデバイスからサーバに、前記ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信することと、
前記サーバから、前記ページに対応する前記コンテンツ、および前記ページに対応する前記コンテンツ内に含まれる1つまたは複数のリンク各々について1つのページタイプへのマッピングを受信することと、
前記ユーザデバイス上に、前記受信したマッピングを格納することと、
前記ページの前記コンテンツを、前記ユーザデバイス上に提示させることと、
前記ページに対応する前記コンテンツ内に含まれる前記1つまたは複数のリンクのうちの選択された1つを受領することと、
前記選択されたリンクに対応するページタイプを、前記格納されたマッピングに基づいて特定することと、
前記サーバに、前記選択されたリンクに関連するコンテンツを求める要求を送信することと、
前記サーバからの前記要求したコンテンツを待つ間に、前記特定されたページタイプにより示された、ユーザインターフェースのユーザインターフェース要素を、前記ユーザデバイス上に提示させることと、
前記要求したコンテンツの前記サーバからの受信に応答して、前記受信したコンテンツを前記ユーザインターフェース内に提示させることとを含む、
システム。
【請求項８】
前記ページが、前記ユーザデバイス上で実行されるアプリケーション内に提示される、
請求項7に記載のシステム。
【請求項９】
前記選択されたリンクに関連する前記コンテンツが、前記アプリケーションに関連しないエンティティによって提供されるサードパーティコンテンツである、
請求項8に記載のシステム。
【請求項１０】
前記ページに対応する前記コンテンツ、および前記選択されたリンクに対応する受信したコンテンツが、前記ユーザデバイス上で実行される前記アプリケーション内で実行される、ウェブブラウザアプリケーション内に提示される、
請求項8または9に記載のシステム。
【請求項１１】
前記ハードウェアプロセッサが、前記ページの前記コンテンツを前記ユーザデバイス上に提示させる前に、前記ページに対応する前記コンテンツ内の前記1つまたは複数のリンクの各々についてイベントハンドラを挿入するようにさらに構成される、
請求項7から10のいずれか一項に記載のシステム。
【請求項１２】
前記イベントハンドラが、前記選択されたリンクに対応する前記ページタイプを特定する機能を示す、
請求項11に記載のシステム。
【請求項１３】
リンクに関連するコンテンツを取得する動作をプロセッサに実行させるためのコンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記動作が、
ユーザデバイスからサーバに、前記ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するステップと、
前記サーバから、前記ページに対応する前記コンテンツ、および前記ページに対応する前記コンテンツ内に含まれる1つまたは複数のリンク各々について1つのページタイプへのマッピングを受信するステップと、
前記ユーザデバイス上に、前記受信したマッピングを格納するステップと、
前記ページの前記コンテンツを、前記ユーザデバイス上に提示させるステップと、
前記ページに対応する前記コンテンツ内に含まれる前記1つまたは複数のリンクのうちの選択された1つを受領するステップと、
前記選択されたリンクに対応するページタイプを、前記格納されたマッピングに基づいて特定するステップと、
前記サーバに、前記選択されたリンクに関連するコンテンツを求める要求を送信するステップと、
前記サーバからの前記要求したコンテンツを待つ間に、前記特定されたページタイプにより示された、ユーザインターフェースのユーザインターフェース要素を、前記ユーザデバイス上に提示させるステップと、
前記要求したコンテンツの前記サーバからの受信に応答して、前記受信したコンテンツを前記ユーザインターフェース内に提示させるステップとを含む、
コンピュータ可読記憶媒体。
【請求項１４】
前記ページが、前記ユーザデバイス上で実行されるアプリケーション内に提示される、
請求項13に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記選択されたリンクに関連する前記コンテンツが、前記アプリケーションに関連しないエンティティによって提供されるサードパーティコンテンツである、
請求項14に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記ページに対応する前記コンテンツ、および前記選択されたリンクに対応する前記受信したコンテンツが、前記ユーザデバイス上で実行される前記アプリケーション内で実行される、ウェブブラウザアプリケーション内に提示される、
請求項14または15に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記動作が、
前記ページの前記コンテンツを前記ユーザデバイス上に提示させる前に、前記ページに対応する前記コンテンツ内の前記1つまたは複数のリンクの各々についてイベントハンドラを挿入するステップをさらに含む、
請求項13から16のいずれか一項に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記イベントハンドラが、前記選択されたリンクに対応する前記ページタイプを特定する機能を示す、
請求項17に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示する本主題は、リンクに関連するコンテンツを取得するための方法、システム、および媒体に関する。
【背景技術】
【０００２】
人々はしばしば、ユーザデバイス上で実行されるアプリケーションを通じて、コンテンツを視聴する。例えば、人々は、モバイルデバイス(例えばモバイルフォンまたはタブレットコンピュータ)上で、ビデオ共有サービスまたはソーシャルネットワーキングサービスに関連するアプリケーションを通じて、ビデオを視聴することがある。場合によっては、コンテンツは、関連記事へのリンク、他のビデオへのリンク、他のユーザのプロファイルへのリンクなどのような、他のコンテンツへのリンクを含む場合がある。しかし、アプリケーションがリンクのコンテンツをフェッチし、それをアプリケーション内に提示することは、時間がかかる場合がある。
【０００３】
加えて、アプリケーション内での他のコンテンツへのこれらのリンクには、典型的には、モバイルデバイスのオペレーティングシステムとのいくらかの通信が関与する。例えば、アプリケーションの外部にあるオペレーティングシステムは、リンクが選択されたとの通知を受領して、そのようなリンクをどのように取り扱うべきかを決定することができる。この例を続けると、オペレーティングシステムは、リンクをオペレーティングシステムに送出したアプリケーションがリンクを取り扱うべきとの決定をすることができ、その決定に応答して、リンクをアプリケーションに送出し戻すことができる。
【０００４】
したがって、リンクに関連するコンテンツを取得するための方法、システム、および媒体を提供することが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００５】
リンクに関連するコンテンツを取得するための方法、システム、および媒体が提供される。
【０００６】
開示する本主題のいくつかの実施形態では、リンクに関連するコンテンツを取得するための方法であって、ユーザデバイスからサーバに、ユーザデバイス上に提示しようとするページに対応するコンテンツを求める要求を送信するステップと、サーバから、ページに対応するコンテンツ、およびページに対応するコンテンツ内に含まれる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  説明のための例、プロセス
【図１Ａ】
0006874212.tif 000002
【図１Ｂ】
0006874212.tif 000003
【図２】
0006874212.tif 000004
【図３】
0006874212.tif 000005
【図４】
0006874212.tif 000006
【図５】
0006874212.tif 000007