(57)【要約】システム、方法、および非一時的なコンピュータ可読媒体は、ディスプレイインタフェースを通じて、第１のコンテンツアイテムと第２のコンテンツアイテムとを少なくとも有するコンテンツフィードを提供することができる。第１のコンテンツアイテムは、閾値再生時間と関連付けることができる。第１のコンテンツアイテムがディスプレイインタフェースを通じて再生されているということを決定することができる。少なくとも１つのタッチスクリーンジェスチャは、ディスプレイインタフェースを通じて受信されることができる。第１のコンテンツアイテムが閾値再生時間再生されるまで、タッチスクリーンジェスチャへの応答を妨げることができる。
2018534650.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する方法であって、
コンピューティングデバイスが、ディスプレイインタフェースを通じて、第１のコンテンツアイテムと第２のコンテンツアイテムとを少なくとも有するコンテンツフィードを提供するステップであって、前記第１のコンテンツアイテムは、閾値再生時間と関連付けられる、前記提供するステップと、
前記コンピューティングデバイスが、前記第１のコンテンツアイテムが前記ディスプレイインタフェースを通じて再生されていることを決定するステップと、
前記コンピューティングデバイスが、少なくとも１つのタッチスクリーンジェスチャを、前記ディスプレイインタフェースを通じて受信するステップと、
前記コンピューティングデバイスが、前記第１のコンテンツアイテムが前記閾値再生時間だけ再生されるまで、前記タッチスクリーンジェスチャへの応答を妨げるステップと、を含む方法。
【請求項２】
前記タッチスクリーンジェスチャを受信すると、前記コンピューティングデバイスが、前記コンテンツフィードのブラウジングが無効にされていることを示す少なくとも１つのメッセージを、前記ディスプレイインタフェースを通じて提供するステップをさらに含む請求項１に記載の方法。
【請求項３】
前記タッチスクリーンジェスチャを受信すると、前記コンピューティングデバイスが、前記コンテンツフィードのブラウジングが有効にされるまでの残り時間量を示す少なくとも１つのメッセージを、前記ディスプレイインタフェースを通じて提供するステップをさらに含む請求項１に記載の方法。
【請求項４】
前記コンピューティングデバイスが、前記第１のコンテンツアイテムが前記閾値再生時間、前記ディスプレイインタフェースを通じて再生されたと決定するステップと、
前記コンピューティングデバイスが、前記第２のコンテンツアイテムに対する前記コンテンツフィードをブラウズするための、前記ディスプレイインタフェースを通じた第２のタッチスクリーンジェスチャを決定するステップと、
前記コンピューティングデバイスが、前記第２のコンテンツアイテムを前記ディスプレイインタフェースを通じて再生するステップと、をさらに含む請求項１に記載の方法。
【請求項５】
前記第２のコンテンツアイテムは、対応する閾値再生時間と関連付けられず、
前記方法は、
前記コンピューティングデバイスが、前記コンテンツフィード内の第３のコンテンツアイテムに対する前記コンテンツフィードをブラウズするための、前記ディスプレイインタフェースを通じた第３のタッチスクリーンジェスチャを決定するステップと、
前記コンピューティングデバイスが、前記ディスプレイインタフェースをアップデートして、前記コンテンツフィードを前記第３のコンテンツアイテムに進めるステップであって、前記コンテンツフィードを進めることは任意の期間妨げられない、前記進めるステップと、をさらに含む請求項４に記載の方法。
【請求項６】
前記第２のコンテンツアイテムの再生は、前記第２のコンテンツアイテムが前記ディスプレイインタフェースのビューポート領域内に入れば、自動的に開始される、請求項４に記載の方法。
【請求項７】
前記タッチスクリーンジェスチャは、ドラッグジェスチャ、スライドジェスチャ、スクロールジェスチャ、スワイプジェスチャ、タップジェスチャ、ピンチジェスチャ、スプレッドジェスチャ、回転ジェスチャ、またはフリックジェスチャのうちの少なくとも１つである、請求項１に記載の方法。
【請求項８】
前記第１のコンテンツアイテムの再生中、前記第２のコンテンツアイテムの少なくとも一部は、前記ディスプレイインタフェースを通じて目視可能である、請求項１に記載の方法。
【請求項９】
前記第２のコンテンツアイテムの一部に対応する前記コンテンツフィードの領域は、明るさのレベルを落として表示される、請求項８に記載の方法。
【請求項１０】
コンピューティングシステムが、前記コンテンツフィード内の１つまたは複数のコンテンツアイテムを取得するコストを満たす収益額を決定するステップと、
前記コンピューティングシステムが、前記収益額に少なくとも部分的に基づいて、前記閾値再生時間を決定するステップと、をさらに含む請求項１に記載の方法。
【請求項１１】
システムであって、
少なくとも１つのプロセッサと、
命令を格納するメモリと、を備え、
前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記システムに、
ディスプレイインタフェースを通じて、第１のコンテンツアイテムと第２のコンテンツアイテムとを少なくとも有するコンテンツフィードを提供することであって、前記第１のコンテンツアイテムは、閾値再生時間と関連付けられる、前記提供すること、
前記第１のコンテンツアイテムが前記ディスプレイインタフェースを通じて再生されていることを決定すること、
少なくとも１つのタッチスクリーンジェスチャを、前記ディスプレイインタフェースを通じて受信すること、
前記第１のコンテンツアイテムが前記閾値再生時間だけ再生されるまで、前記タッチスクリーンジェスチャへの応答を妨げること、を行わせる、システム。
【請求項１２】
前記命令は、前記システムに、
前記タッチスクリーンジェスチャを受信すると、前記コンテンツフィードのブラウジングが無効にされていることを示す少なくとも１つのメッセージを、前記ディスプレイインタフェースを通じて提供することをさらに行わせる、請求項１１に記載のシステム。
【請求項１３】
前記命令は、前記システムに、
前記タッチスクリーンジェスチャを受信すると、前記コンテンツフィードのブラウジングが有効にされるまでの残り時間量を示す少なくとも１つのメッセージを、前記ディスプレイインタフェースを通じて提供することをさらに行わせる、請求項１１に記載のシステム。
【請求項１４】
前記命令は、前記システムに、
前記第１のコンテンツアイテムが前記閾値再生時間、前記ディスプレイインタフェースを通じて再生されたと決定すること、
前記第２のコンテンツアイテムに対する前記コンテンツフィードをブラウズするための、前記ディスプレイインタフェースを通じた第２のタッチスクリーンジェスチャを決定すること、
前記第２のコンテンツアイテムを前記ディスプレイインタフェースを通じて再生すること、をさらに行わせる、請求項１１に記載のシステム。
【請求項１５】
前記第２のコンテンツアイテムは、対応する閾値再生時間と関連付けられず、前記命令は、前記システムに、
前記コンテンツフィード内の第３のコンテンツアイテムに対する前記コンテンツフィードをブラウズするための、前記ディスプレイインタフェースを通じた第３のタッチスクリーンジェスチャを決定すること、
前記ディスプレイインタフェースをアップデートして、前記コンテンツフィードを前記第３のコンテンツアイテムに進めることであって、前記コンテンツフィードを進めることは任意の期間妨げられない、こと、をさらに行わせる、請求項１４に記載のシステム。
【請求項１６】
命令を含む非一時的なコンピュータ可読記憶媒体であって、
前記命令は、コンピューティングシステムの少なくとも１つのプロセッサによって実行されると、前記コンピューティングシステムに、
ディスプレイインタフェースを通じて、第１のコンテンツアイテムと第２のコンテンツアイテムとを少なくとも有するコンテンツフィードを提供するステップであって、前記第１のコンテンツアイテムは、閾値再生時間と関連付けられる、前記提供するステップと、
前記第１のコンテンツアイテムが前記ディスプレイインタフェースを通じて再生されていることを決定するステップと、
少なくとも１つのタッチスクリーンジェスチャを、前記ディスプレイインタフェースを通じて受信するステップと、
前記第１のコンテンツアイテムが前記閾値再生時間だけ再生されるまで、前記タッチスクリーンジェスチャへの応答を妨げるステップと、を含む方法を行わせる、非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記命令は、前記コンピューティングシステムに、
前記タッチスクリーンジェスチャを受信すると、前記コンテンツフィードのブラウジングが無効にされていることを示す少なくとも１つのメッセージを、前記ディスプレイインタフェースを通じて提供することをさらに行わせる、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記命令は、前記コンピューティングシステムに、
前記タッチスクリーンジェスチャを受信すると、前記コンテンツフィードのブラウジングが有効にされるまでの残り時間量を示す少なくとも１つのメッセージを、前記ディスプレイインタフェースを通じて提供することをさらに行わせる、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記命令は、前記コンピューティングシステムに、
前記第１のコンテンツアイテムが前記閾値再生時間、前記ディスプレイインタフェースを通じて再生されたと決定すること、
前記第２のコンテンツアイテムに対する前記コンテンツフィードをブラウズするための、前記ディスプレイインタフェースを通じた第２のタッチスクリーンジェスチャを決定すること、
前記第２のコンテンツアイテムを前記ディスプレイインタフェースを通じて再生すること、をさらに行わせる、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
前記第２のコンテンツアイテムは、対応する閾値再生時間と関連付けられず、前記命令は、前記コンピューティングシステムに、
前記コンテンツフィード内の第３のコンテンツアイテムに対する前記コンテンツフィードをブラウズするための、前記ディスプレイインタフェースを通じた第３のタッチスクリーンジェスチャを決定すること、
前記ディスプレイインタフェースをアップデートして、前記コンテンツフィードを前記第３のコンテンツアイテムに進めることであって、前記コンテンツフィードを進めることは任意の期間妨げられない、前記進めること、をさらに行わせる、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンテンツ提示の分野に関する。より詳細には、本技術は、コンピューティングデバイスを通じて、コンテンツアイテムを提示するための技法に関する。
【背景技術】
【０００２】
今日、人々は、多種多様な目的のためにコンピューティングデバイス（またはコンピューティングシステム）を利用している。ユーザは、コンピューティングデバイスを操作して、例えば、相互に対話したり、コンテンツを作成したり、コンテンツを共有したり、情報にアクセスしたりすることができる。従来のアプローチでは、コンテンツアイテム（例えば、画像、映像、音声ファイルなど）は、コンテンツ共有プラットフォームを通じて、利用可能にすることができる。ユーザは、自身のコンピューティングデバイスを操作して、プラットフォームを通じて、コンテンツアイテムにアクセスすることができる。典型的には、コンテンツアイテムは、例えば、コンテンツのパブリッシャおよびコンテンツ共有プラットフォームのユーザを含む多様なエンティティにより、提供またはアップロードされることができる。場合によっては、コンテンツアイテムを、カテゴライズおよびキュレートまたはカテゴライズもしくはキュレートすることができる。
【０００３】
場合によっては、コンテンツアイテムにアクセスする場合、ユーザは、広告関係のコンテンツと共に提示される場合がある。実施態様に応じて、広告関係のコンテンツは、ユーザがコンテンツアイテムにアクセスするかもしくはこれを再生することができるようになる前（例えば、プレロール広告）、コンテンツアイテムにアクセスしているかもしくはこれを再生している間（例えば、ミッドロール広告）、またはコンテンツアイテムのアクセスもしくは再生が止まった後（例えば、エンドロール広告）に提示することができる。場合によっては、ユーザは、そのような広告関係のコンテンツの提示を回避するオプションを与えられることができる。例えば、利用可能な場合、コンピューティングデバイスを操作しているユーザは、「スキップ」オプションを選択して、広告コンテンツの提示を停止でき、その結果、広告に関係しないコンテンツにアクセスするか、またはこれを再生できる。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の多様な実施形態は、ディスプレイインタフェースを通じて、第１のコンテンツアイテムと第２のコンテンツアイテムとを少なくとも有するコンテンツフィードを提供するように構成された、システム、方法、および非一時的なコンピュータ可読媒体を含むことができる。第１のコンテンツアイテムは、閾値再生時間と関連付けることができる。第１のコンテンツアイテムがディスプレイインタフェースを通じて再生されているということを決定することができる。少なくとも１つのタッチスクリーンジェスチャは、ディスプレイインタフェースを通じて受信されることができる。第１のコンテンツアイテムが閾値再生時間再生されるまで、タッチスクリーンジェスチャへの応答を妨げることができる。
【０００５】
一実施形態において、タッチスクリーンジェスチャを受信すると、コンテンツフィードのブラウジングが無効にされていることを示す少なくとも１つのメッセージが、ディスプレイインタフェースを通じて提供される。
【０００６】
一実施形態において、タッチスクリーンジェスチャを受信すると、コンテンツフィードのブラウジングが有効にされるまでの残り時間量を示す少なくとも１つのメッセージが、ディスプレイインタフェースを通じて提供される。
【０００７】
一実施形態において、方法は、第１のコンテンツアイテムが閾値再生時間、ディスプレイインタフェースを通じて再生されたと決定するステップと、第２のコンテンツアイテムに対するコンテンツフィードをブラウズするための、ディスプレイインタフェースを通じた第２のタッチスクリーンジェスチャを決定するステップと、第２のコンテンツアイテムをディスプレイインタフェースを通じて再生するステップと、をさらに含む。
【０００８】
一実施形態において、第２のコンテンツアイテムは、対応する閾値再生時間と関連付けられず、方法は、コンテンツフィード内の第３のコンテンツアイテムに対するコンテンツフィードをブラウズするための、ディスプレイインタフェースを通じた第３のタッチスクリーンジェスチャを決定するステップと、ディスプレイインタフェースをアップデートして、コンテンツフィードを第３のコンテンツアイテムに進めるステップであって、コンテンツフィードを進めるステップは、任意の期間妨げられない、ステップと、をさらに含む。
【０００９】
一実施形態において、第２のコンテンツアイテムの再生は、第２のコンテンツアイテムがディスプレイインタフェースのビューポート領域内に入れば、自動的に開始される。
一実施形態において、タッチスクリーンジェスチャは、ドラッグジェスチャ、スライドジェスチャ、スクロールジェスチャ、スワイプジェスチャ、タップジェスチャ、ピンチジェスチャ、スプレッドジェスチャ、回転ジェスチャ、またはフリックジェスチャのうちの少なくとも１つである。
【００１０】
一実施形態において、第１のコンテンツアイテムの再生中、第２のコンテンツアイテムの少なくとも一部は、ディスプレイインタフェースを通じて目視可能である。
一実施形態において、第２のコンテンツアイテムの一部に対応するコンテンツフィードの領域は、明るさのレベルを落として表示される。
【００１１】
一実施形態において、方法は、コンテンツフィード内の１つまたは複数のコンテンツアイテムを取得するコストを満たす収益額を決定するステップと、収益額に少なくとも部分的に基づいて、閾値再生時間を決定するステップと、をさらに含む。
【００１２】
開示された技術の多くの他の特徴、応用、実施形態、および／または変形は、添付の図面および以下の詳細な説明から明らかとなることを理解されたい。開示された技術の原理から逸脱することなく、本明細書に記載の構造、システム、非一時的なコンピュータ可読媒体、および方法の追加の実施態様および代替の実施態様の両方または一方を採用することができる。
【図面の簡単な説明】
【００１３】
【図１】本開示の実施形態による、コンテンツをユーザに提供するように構成された例示的なコンテンツプロバイダモジュールを含む例示的なシステムの図である。
【図２】本開示の実施形態による、コンテンツアイテムにアクセスするためのインタフェースを提供するように構成されたインタフェースモジュールの図である。
【図３】本開示の実施形態による、コンテンツアイテムがコンテンツフィード内に提示されるインタフェースの例を示す図である。
【図４】本開示の実施形態による、広告関係のコンテンツアイテムがコンテンツフィード内に提示されているインタフェースの例を示す図である。
【図５Ａ】本開示の実施形態による、広告関係のコンテンツアイテムがコンテンツフィード内に提示されているインタフェースの他の例を示す図である。
【図５Ｂ】本開示の実施形態による、広告関係のコンテンツアイテムがコンテンツフィード内に提示されているインタフェースの他の例を示す図である。
【図６】本開示の実施形態による、インタフェースを通じて、コンテンツにアクセスしている間、ジェスチャを無効化するための方法の例を示す図である。
【図７】本開示の実施形態による、多様なシナリオで利用することができる例示的なソーシャルネットワーキングシステムを含む例示的なシステムのネットワーク図である。
【図８】本開示の実施形態による、多様なシナリオで利用可能なコンピュータシステムまたはコンピューティングデバイスの例を示す図である。
【発明を実施するための形態】
【００１４】
図面は、説明の目的のためだけに、開示された技術の多様な実施形態を示しており、図面は、同様の要素を識別するために同じ参照番号を使用している。当業者は、以下の説明から、本明細書に記載された開示技術の原理から逸脱することなく、図面に示された構造および方法の代替の実施形態を用いることができることを認識するであろう。
【００１５】
コンテンツの提示のためのアプローチ
人々は、多種多様な目的のためにコンピューティングデバイス（またはコンピューティングシステム）を使用する。上記のように、従来のアプローチでは、ユーザは、コンピューティングデバイスを利用して、コンテンツアイテム（例えば、ドキュメント、画像、映像、音声など）を他のユーザと共有することができる。従来のアプローチでは、コンテンツアイテム（例えば、画像、映像、音声ファイルなど）は、コンテンツ共有プラットフォームを通じて、利用可能にすることができる。ユーザは、自身のコンピューティングデバイスを操作して、プラットフォームを通じて、コンテンツアイテムにアクセスすることができる。典型的には、コンテンツアイテムは、例えば、コンテンツのパブリッシャ（content publisher）およびコンテンツ共有プラットフォームのユーザを含む多様なエンティティにより、提供またはアップロードされることができる。
【００１６】
場合によっては、コンテンツアイテムにアクセスする場合、ユーザは、広告関係のコンテンツと共に提示される場合がある。実施態様に応じて、広告関係のコンテンツは、ユーザがコンテンツアイテムにアクセスするかもしくはこれを再生することができるようになる前（例えば、プレロール広告）、コンテンツアイテムにアクセスしているかもしくはこれを再生している間（例えば、ミッドロール広告）、またはコンテンツアイテムのアクセスもしくは再生が止まった後（例えば、エンドロール広告）に提示することができる。場合によっては、ユーザは、そのような広告関係のコンテンツの提示を回避するオプションを与えられることができる。例えば、利用可能な場合、コンピューティングデバイスを操作しているユーザは、「スキップ」オプションを選択して、広告コンテンツの提示を停止でき、その結果、広告に関係しないコンテンツにアクセスするか、またはこれを再生できる。しかしながら、ユーザは、広告関係のコンテンツの提示が、閾値再生時間経過するまで、またはユーザがアクションを起こして、オプション（例えば、「スキップ」ボタン）を選択して、広告関係のコンテンツをスキップするまでのいずれか一方まで、所望のまたは選択されたコンテンツアイテムにアクセスすることが完全に不可能であるので、そのようなアプローチにより、ユーザは、所望のまたは選択されたコンテンツアイテムにアクセスすることを、おしつけがましい形で妨げられる。
【００１７】
改善されたアプローチにより、従来のアプローチに伴う上述の不便な点および他の不便な点を解消することができる。多様な実施形態では、コンピューティングデバイスを操作しているユーザは、コンテンツプロバイダのインタフェースと対話して、多様なコンテンツアイテム（例えば、画像、映像、音声ファイルなど）にアクセスすることができる。コンテンツアイテムは、コンテンツフィードの一部として、インタフェースを通じて、提示されることができる。ユーザは、例えば、コンピューティングデバイスの表示スクリーンを通じて、スクロールまたは何らかのジェスチャを実行することにより、コンテンツフィードをナビゲート（例えば、ブラウズ）して、コンテンツフィード内で利用可能な様々なコンテンツアイテムにアクセスすることができる。いくつかの実施形態では、ユーザは、スクロールジェスチャを実行して、コンテンツフィードを上下に動かすことによって、コンテンツフィードをナビゲートすることができる。コンテンツフィード（例えば、「チャンネル」）は、任意の数であってもよく、これらのコンテンツフィードは、カテゴライズされた任意の数のコンテンツアイテムを含むとともに特定のカテゴリ（例えば、スポーツ、エンターテイメント、ミュージックビデオなど）に対応すること、または、カテゴライズされた任意の数のコンテンツアイテムを含むかもしくは特定のカテゴリ（例えば、スポーツ、エンターテイメント、ミュージックビデオなど）に対応することができる。いくつかの実施形態では、コンテンツフィード内のコンテンツアイテム（例えば、アニメーション、映像、音声ファイルなど）は、コンテンツアイテムがインタフェースのビューポート領域（viewport region）内に位置付けられるとすぐに再生し始めることができる。ビューポート領域は、インタフェースがアクセスされているコンピューティングデバイスの表示スクリーンに対応する特定のセットのピクセル座標により定義することができる。
【００１８】
多様な実施形態では、広告関係のコンテンツアイテムは、フィードに含まれる様々なコンテンツアイテム間のコンテンツフィード内に挿入されてもよい。広告関係のコンテンツアイテムは、広告関係のコンテンツアイテムが、例えば、ユーザが該広告関係のコンテンツアイテムをスクロールした結果として、インタフェースのビューポート領域内に位置付けられたとき、インタフェースを通じて自動的に再生を開始することができる。広告関係のコンテンツアイテムは、閾値再生時間（例えば、５、６、７、または８秒間）、再生できる。いくつかの実施形態では、広告関係のコンテンツアイテムが再生されている間、ユーザは、コンテンツフィードをナビゲートすることが妨げられる。ユーザがコンテンツフィードをナビゲートすることが妨げられているとき、いくつかの実施形態では、コンピューティングデバイスの表示スクリーンを通じてユーザにより行われた任意のジェスチャ（例えば、スクローリングジェスチャ）は、無視される場合があり、広告関係のコンテンツアイテムは、閾値再生時間に達するまで、継続して再生される。いくつかの実施形態では、ユーザがコンテンツフィードをナビゲートすることが妨げられているとき、ユーザにより行われたジェスチャに対する任意のデフォルトの応答、または標準の応答が妨げられる。他の変形例が可能である。例えば、ユーザがコンテンツフィードをナビゲートすることが妨げられているとき、ユーザにより行われたジェスチャに対する任意のデフォルトの応答、または標準の応答の代わりに、異なる応答（例えば、弾性効果、または「ラバーバンド」効果）を生成することができる。いくつかの実施形態では、ユーザがコンテンツフィードをナビゲートすることが妨げられているとき、ユーザにより行われたジェスチャに対する任意のデフォルトの応答、または標準の応答は、（例えば、より遅い）閾値応答速度で、または閾値遅延期間の後、実行することができる。いくつかの実施形態では、広告関係のコンテンツアイテムの再生中にユーザがコンテンツフィードをナビゲートすることを試みた場合、広告関係のコンテンツアイテムが再生される閾値再生時間の残り時間の量を示すメッセージを表示してもよい。閾値再生時間が経過すると、いくつかの実施形態では、インタフェースは、自動的にアップデートされて、コンテンツフィード内の次のコンテンツアイテムを再生することができる。本開示で使用される例は、広告関係のコンテンツアイテムを具体的に引用するが、本明細書に記載のアプローチは、任意のタイプのコンテンツアイテムに対して適用することができる。換言すれば、任意のコンテンツアイテムは、閾値再生時間と関連付けることができ、ユーザジェスチャは、コンテンツアイテムが閾値再生時間再生されるまで無効にされてもよい。
【００１９】
図１は、本開示の実施形態による、コンテンツアイテムをユーザに提供するように構成された例示的なコンテンツプロバイダモジュール１０２を含む例示的なシステム１００を示す。図１の例に示されるように、コンテンツプロバイダモジュール１０２は、インタフェースモジュール１０４と、コンテンツモジュール１０６と、を含むことができる。場合によっては、例示的なシステム１００は、少なくとも１つのデータストア１０８を含むことができる。この図および本明細書におけるすべての図に示される構成要素（例えば、モジュール、要素など）は、単なる例示にすぎず、任意の他の実施態様は、追加の、より少ない、統合された、または異なる構成要素を含むことができる。いくつかの構成要素は、関連する詳細が不明瞭とならないように図示されない場合がある。
【００２０】
いくつかの実施形態では、コンテンツプロバイダモジュール１０２は、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせとして、部分的にまたは全体的に実装することができる。概して、本明細書で考察されるモジュールは、ソフトウェア、ハードウェア、またはこれらの任意の組み合わせと関連付けることができる。いくつかの実施態様において、モジュールの１つもしくは複数の機能、タスク、および／または動作を、ソフトウェアルーチン、ソフトウェアプロセス、ハードウェア、および／またはこれらの任意の組み合わせによって実行または行うことができる。場合によっては、コンテンツプロバイダモジュール１０２は、ユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上などの、１つまたは複数のコンピューティングデバイスまたはコンピューティングシステム上で実行しているソフトウェアとして、部分的にまたは全体的に実装することができる。例えば、コンテンツプロバイダモジュール１０２またはこの少なくとも一部は、図７のユーザデバイス７１０などのユーザコンピューティングデバイスまたはクライアントコンピューティングシステム上で稼動するアプリケーション（例えば、ａｐｐ）、プログラム、またはアプレットなどとして実装するか、またはこれらの中に実装することができる。さらに、コンテンツプロバイダモジュール１０２またはこの少なくとも一部は、ネットワークサーバまたはクラウドサーバなどの１つもしくは複数のサーバを含む１つもしくは複数のコンピューティングデバイスまたはコンピューティングシステムを使用して実装することができる。場合によっては、コンテンツプロバイダモジュール１０２は、図７のソーシャルネットワーキングシステム７３０などのソーシャルネットワーキングシステム（またはソーシャルネットワーキングサービス）内で部分的にまたは全体的に実装されるか、これと連結して部分的にまたは全体的に動作するように構成することができる。多くの変形例またはその他の可能性が存在し得ることを理解されたい。
【００２１】
多様な実施形態では、コンテンツプロバイダモジュール１０２は、インタフェースモジュール１０４およびコンテンツモジュール１０６を利用して、コンテンツアイテムをユーザに提供することができる。インタフェースモジュール１０４は、コンテンツアイテムが提示およびアクセスされることができるインタフェース（例えば、グラフィカルユーザインタフェース）を提供するように構成することができる。例えば、インタフェースは、ユーザにより操作されているコンピューティングデバイス上で実行しているソフトウェアアプリケーションを通じて提供されてもよい。ユーザは、例えば、コンピューティングデバイスの表示スクリーンを通じて、タッチスクリーンジェスチャを行うことにより、インタフェースと対話することができる。
【００２２】
上記のように、いくつかの実施形態では、コンテンツアイテムは、ユーザがコンテンツアイテムにアクセスするか、またはコンテンツアイテムを再生するためにナビゲートできるコンテンツフィードの一部として、インタフェースを通じて提示されることができる。例えば、コンテンツアイテムは、コンテンツアイテムがインタフェースのビューポート領域内に位置する場合、自動的に再生を開始できる。場合によっては、広告関係のコンテンツアイテムは、コンテンツフィードに含まれる異なるコンテンツアイテム間のコンテンツフィード内に挿入されてもよい。同様に、例えば、ユーザが広告関係のコンテンツアイテムをスクロールした結果として、インタフェースのビューポート領域内に該広告関係のコンテンツアイテムが位置付けられたとき、広告関係のコンテンツアイテムは、インタフェースを通じて自動的に再生を開始することができる。広告関係のコンテンツアイテムは、閾値再生時間（例えば、５、６、７、または８秒間）、再生できる。いくつかの実施形態では、広告関係のコンテンツアイテムが再生されている間、ユーザは、閾値再生時間が経過するまで、コンテンツフィードをナビゲートすることが妨げられる。インタフェースモジュール１０４に関するさらなる詳細は、図２を参照して以下に提供される。
【００２３】
コンテンツモジュール１０６は、インタフェースモジュール１０４により提供されたインタフェースを通じて、ユーザに対して提示することができる多様なタイプのコンテンツアイテムを提供するように構成されてもよい。コンテンツモジュール１０６により提供されるコンテンツアイテムは、１つもしくは複数のカテゴリにカテゴライズされるとともに１つもしくは複数のコンテンツフィード（例えば、チャンネル）に関連付けられること、または、１つもしくは複数のカテゴリにカテゴライズされるかもしくは１つもしくは複数のコンテンツフィード（例えば、チャンネル）に関連付けられることができる。さらに、各コンテンツフィードは、例を挙げると、特定のトピック、テーマ、および／またはエンティティ（例えば、コンテンツパブリッシャ）に関連付けられることができる。ユーザは、１つもしくは複数の様々なコンテンツフィードにアクセスするとともにこれらを購読して（subscribe）、または、１つもしくは複数の様々なコンテンツフィードにアクセスするかもしくはこれらを購読して、それぞれのコンテンツフィードに含まれる様々なコンテンツアイテムにアクセスすることができる。
【００２４】
いくつかの実施形態では、ユーザは、ユーザ用にカスタマイズされているそれぞれのコンテンツフィードにアクセスすることができる。例えば、コンテンツモジュール１０６は、ソーシャルネットワーキングシステムのユーザのコンテンツフィード内の潜在的な提示に関するコンテンツアイテムをランク付けするための機械学習モデルのトレーニング（および再トレーニング）を行うことができる。例えば、コンテンツモジュール１０６は、ユーザの多様な属性（例えば、年齢、興味、言語など）に基づいて、ユーザを、多様な組に分けることができ、ユーザのそれぞれの組に対する１つまたは複数のモデルを生成することができる。異なる属性を有するユーザは、コンテンツアイテムにより反映された異なるトピックに対する興味を反映できる異なる行動パターンを有し得る。その結果、異なる組のユーザに対してコンテンツアイテムをランク付けするための異なるモデルは、コンテンツアイテムのより正確なランク付けを提供することができ、ユーザが、ユーザに提示されたコンテンツアイテムに対して興味を持つこととなる可能性をさらに高めることができる。いくつかの実施形態では、モデルをトレーニングするために使用される機構は、コンテンツフィードのコンテンツアイテムとのユーザの対話を含むことができる。かかる対話は、例えば、コンテンツアイテム内のリンクを選択することと、コンテンツアイテムに対してコメントすることと、コンテンツアイテムを推奨するかまたはこれに「いいね！」を表明することと、コンテンツアイテムを他のエンティティ（例えば、ソーシャルネットワーキングシステム、ソーシャルつながり、もしくは「友達」などの他のユーザ）と共有することと、コンテンツアイテムを隠すことと、を含むことができる。コンテンツモジュール１０６は、ユーザのそれぞれの組に対するモデルを使用して、コンテンツアイテムに対するユーザの興味のレベルを決定することができる。各トピックに対するユーザの興味のレベルは、トピックのスコアにより示すことができる。ソーシャルネットワーキングシステムは、コンテンツアイテムによって反映された（１つまたは複数の）トピックおよび（１つまたは複数の）トピックに対するユーザの（１つまたは複数の）トピックスコアに基づいて、ユーザへの潜在的な提示についてコンテンツアイテムをランク付けすることができる。カスタマイズされたコンテンツフィードにおいて、選択された閾値を満たすランク付けを有するコンテンツアイテムを、ユーザに対して提示できる。
【００２５】
いくつかの実施形態では、コンテンツプロバイダモジュール１０２は、例示的なシステム１００における少なくとも１つのデータストア１０８と通信および動作または通信もしくは動作するように構成することができる。少なくとも１つのデータストア１０８は、多様なタイプのデータを記憶および維持するように構成することができる。多様な実施形態では、少なくとも１つのデータストア１０８は、コンテンツプロバイダモジュール１０２の機能および動作に関連するデータを格納することができる。そのようなデータの１つの例は、インタフェースモジュール１０４により提供されたインタフェースを通じてアクセスするために利用可能であるコンテンツアイテムである。いくつかの実施態様において、少なくとも１つのデータストア１０８は、ソーシャルネットワーキングシステム（例えば、図７のソーシャルネットワーキングシステム７３０）に関連付けられた情報を格納することができる。ソーシャルネットワーキングシステムに関連付けられた情報としては、ユーザ、ソーシャルつながり、ソーシャル対話、位置、ジオフェンスエリア（geo-fenced area）、地図、場所、イベント、ページ、グループ、投稿、通信、コンテンツ、フィード、アカウント設定、プライバシー設定、ソーシャルグラフについてのデータ、および多様な他のタイプのデータが挙げられる。いくつかの実施態様において、少なくとも１つのデータストア１０８は、ユーザ識別子、ユーザ情報、プロファイル情報、ユーザ指定の設定、ユーザによって生成または投稿されたコンテンツ、多様な他のタイプのユーザデータなどの、ユーザに関連付けられた情報を格納することができる。多くの変形例または他の可能性が存在し得ることを理解されたい。
【００２６】
図２は、本開示の実施形態による、コンテンツアイテムにアクセスするためのインタフェースを提供するように構成されたインタフェースモジュール２０２の例２００を示す。いくつかの実施形態では、図１のインタフェースモジュール１０４は、インタフェースモジュール２０２と共に実装されることができる。図２の例に示すように、インタフェースモジュール２０２は、コンテンツフィードモジュール２０４と、コンテンツブロッキングモジュール２０６と、コンテンツブロック期間モジュール２０８と、を含むことができる。
【００２７】
上記のように、インタフェースモジュール２０２は、コンテンツアイテム（例えば、画像、映像、音声ファイルなど）を提示し、これにアクセスすることができるインタフェース（例えば、グラフィカルユーザインタフェース）を提供するように構成することができる。多様な実施形態では、インタフェースモジュール２０２は、１つまたは複数のコンテンツフィード内にコンテンツアイテムを体系化および提示するように構成されたコンテンツフィードモジュール２０４を利用することができる。
【００２８】
いくつかの実施態様において、ユーザは、例えば、スクロールジェスチャを実行して、コンテンツフィードを上下に動かすことにより、コンテンツフィードに含まれる異なるコンテンツアイテムをブラウズすることができる。当然、インタフェースは、コンテンツフィードをナビゲートするために他のタイプのジェスチャを利用することができるように、異なって構成されてもよい。例えば、いくつかの実施態様において、ユーザは、スワイプジェスチャを実行して、コンテンツフィードを左右に動かすことにより、コンテンツフィード内のコンテンツアイテムをブラウズしてもよい。他の例示的なジェスチャとして、ドラッグジェスチャ、スライドジェスチャ、タップジェスチャ、ピンチジェスチャ、スプレッドジェスチャ、回転ジェスチャ、およびフリックジェスチャを挙げることができる。
【００２９】
いくつかの実施形態では、コンテンツフィードモジュール２０４は、コンテンツアイテムがインタフェースのビューポート領域内に位置付けられるとすぐに、コンテンツフィード内のコンテンツアイテム（例えば、アニメーション、映像、音声ファイルなど）を自動的に再生するように構成することができる。ビューポート領域は、コンテンツフィードがアクセスされているコンピューティングデバイスのインタフェースおよび表示スクリーンまたはインタフェースもしくは表示スクリーンの所定の領域に対応してもよい。例えば、ビューポート領域は、インタフェースがアクセスされているコンピューティングデバイスの表示スクリーンに対応する特定のセットのピクセル座標により定義されてもよい。実施態様に応じて、所定の領域は、表示スクリーンの上部、中間部、下部に概ね対応することができる。いくつかの実施態様において、所定領域は、インタフェースにアクセスするために使用されているコンピューティングデバイスの型、モデル、および／またはタイプに応じて多様であってもよい。
【００３０】
上記のように、広告関係のコンテンツアイテムは、コンテンツフィードに含まれる異なるコンテンツアイテム間において、コンテンツフィード内に挿入されてもよい。いくつかの実施形態では、コンテンツアイテムと同様に、コンテンツフィードモジュール２０４は、広告関係のコンテンツアイテムがインタフェースのビューポート領域内に位置付けられた場合、コンテンツフィードに含まれる広告関係のコンテンツアイテム（例えば、アニメーション、映像、音声ファイルなど）を自動的に再生するように構成することができる。ユーザは、コンテンツアイテムを選択することにより、例えば、タップジェスチャを実行することにより、再生されている広告関係のコンテンツアイテムに関係する追加情報を知ることができる。
【００３１】
実施態様に応じて、広告関係のコンテンツアイテムは、任意の好適な期間の閾値再生時間（例えば、５秒、６秒、７秒、８秒、１分など）の間、再生されることができる。いくつかの実施形態では、広告関係のコンテンツアイテムが再生されている場合、閾値再生時間が経過するまで、ユーザがコンテンツフィードをさらにナビゲートすることを妨げるようにコンテンツブロッキングモジュール２０６を構成することができる。このように、例えば、コンピューティングデバイスの表示スクリーンを通じて、ユーザにより行われる任意のジェスチャ（例えば、スクローリングジェスチャ、スワイピングジェスチャなど）は処理されず、広告関係のコンテンツアイテムは、閾値再生時間が経過するまで再生を継続する。他の事例では、広告関係のコンテンツアイテムの提示が、コンピューティングデバイスのインタフェースおよび表示スクリーンまたはインタフェースもしくは表示スクリーンの所定領域に対応する、所望のビューポート領域内に留まり、広告関係のコンテンツアイテムが、動きはするが、視野からは消えないように処理される限りにおいて、ユーザにより行われるかかるジェスチャが処理されてもよい。
【００３２】
いくつかの実施形態では、広告関係のコンテンツアイテムの再生中にユーザがコンテンツフィードをナビゲートするよう試みた場合、コンテンツブロッキングモジュール２０６は、広告関係のコンテンツアイテムが再生されているということを示すメッセージを表示することができる。メッセージは、例えば、広告関係のコンテンツアイテムが再生される閾値再生時間の残り時間の量の表示を含む追加情報を含むことができる。閾値再生時間が経過すると、いくつかの実施形態では、インタフェースは、コンテンツフィード内の次のコンテンツアイテムに進むために、自動的にアップデートされ、コンテンツアイテムがインタフェースのビューポート領域内に位置すると、コンテンツアイテムを自動的に再生し始めることができる。本明細書で使用する例は、広告関係のコンテンツアイテムに関して具体的に言及しているが、上記のように、説明したアプローチを、任意のタイプのコンテンツアイテムに適用してもよい。例えば、特定のコンテンツパブリッシャからのコンテンツアイテムが再生されている間、ユーザがコンテンツフィードをナビゲートすることを妨げるようにコンテンツブロッキングモジュール２０６を構成してもよい。いくつかの実施形態では、エンティティ（例えば、ソーシャルネットワーキングシステムのユーザ、または広告者）は、ユーザがコンテンツフィードをナビゲートすることが妨げられる本明細書に記載されるアプローチに代わって、嗜好を特定して、ユーザがコンテンツアイテムにアクセスするかもしくはこれを再生することができるようになる前（例えば、プレロール広告）、コンテンツアイテムにアクセスしているかもしくはこれを再生している間（例えば、ミッドロール広告）、またはコンテンツアイテムのアクセスもしくは再生が止まった後（例えば、エンドロール広告）に、広告関係コンテンツを代わりに提示することができる。
【００３３】
上記のように、閾値再生時間が経過するまで、広告関係のコンテンツアイテムが再生されている場合、ユーザがコンテンツフィードをナビゲートすることが妨げられるように（またはユーザがナビゲートすることを制限するように）、コンテンツブロッキングモジュール２０６を構成することができる。多様な実施形態では、任意の所与のコンテンツアイテムが、１つまたは複数の要因に基づいて、再生される閾値再生時間を変更するように、コンテンツブロック期間モジュール２０８を構成することができる。したがって、任意のコンテンツアイテムが再生される閾値再生時間を変更することにより、コンテンツブロック期間モジュール２０８は、コンテンツアイテムが再生されている間、ユーザがコンテンツフィードをさらにナビゲートすることを、コンテンツブロッキングモジュール２０６が妨げることとなる時間量を設定することができる。
【００３４】
場合によっては、コンテンツブロッキング期間モジュール２０８は、コンテンツアイテムに対して閾値再生時間を設定して、例えば、アクセスされているとともに提示されているコンテンツアイテム、または、アクセスされているかもしくは提示されているコンテンツアイテムを取得する任意のコストを満たす収益額を生み出すように構成することができる。例えば、より高い収益額は、広告関係のコンテンツアイテムに対してより長い閾値再生時間を設定することにより生み出すことができる。収益額は、例えば、例を挙げると、コストパーミル（CPM : cost per mille）、インプレッション単価、および／またはクリック単価を含む多様な方法で算出することができる。１つの例では、コンテンツフィード内のコンテンツアイテムを発行するコンテンツパブリッシャは、コンテンツフィード内に提示される任意の広告関係のコンテンツアイテムがＣＰＭ額３０ドルを達成すべきであると指定してもよい。この例では、コンテンツフィードに含まれる、広告関係のコンテンツアイテムに対する閾値再生時間を、ＣＰＭ額３０ドルを達成するように調節することができる。
【００３５】
図３は、本開示の実施形態による、コンテンツアイテム３０８、３１２がコンテンツフィード３０６（例えば、「エクストリーム・スポーツ（Ｅｘｔｒｅｍｅ  Ｓｐｏｒｔｓ）」トピックに関連付けられたコンテンツフィード）内に提示されるインタフェース３０４の例３００を示す。この例では、インタフェース３０４は、コンピューティングデバイス３０２の表示スクリーン上に提示されている。さらに、コンピューティングデバイス３０２上で実行しているアプリケーション（例えば、ウェブブラウザ、ソーシャルネットワーキングアプリケーションなど）を通じてインタフェース３０４を提供してもよい。コンピューティングデバイス３０２を操作しているユーザは、例えば、上下のスクロールジェスチャを実行することにより、コンテンツフィード３０６にわたってスクロールすることができる。図３の例では、コンテンツアイテム（例えば、映像）３０８は、インタフェース３０４のビューポート領域に位置しているとして図示され、その結果、該コンテンツアイテム３０８が再生されている。いくつかの実施形態では、コンテンツアイテムの再生中、コンテンツフィード３０６内の目視可能な他のコンテンツアイテムに対応するコンテンツフィード３０６の領域は、薄暗くされるか、または明るさのレベルを落として表示される。例えば、目視可能なコンテンツアイテムが画像の場合、コンテンツアイテム自身の一部分は、コンテンツフィード内で目視可能であってもよい。目視可能なコンテンツアイテムがアニメーションまたは映像の場合、アニメーションまたは映像に対応するフレームの一部が、コンテンツフィード内で目視可能であってもよい。このように、図３において、コンテンツアイテム３０８の再生中、コンテンツアイテム３１２は、薄暗くされるか、または明るさのレベルを落として表示される。いくつかの実施形態では、ユーザは、例えば、例を挙げると、コンテンツアイテム内のリンクを選択すること、コンテンツアイテムに対してコメントすること、コンテンツアイテムを推奨するかまたはこれに「いいね！」を表明すること、コンテンツアイテムを他のエンティティ（例えば、ソーシャルネットワーキングシステム、ソーシャルつながり、もしくは「友達」などの他のユーザ）と共有することにより、再生されているコンテンツアイテム３０８と対話すること３１０ができる。
【００３６】
図４は、本開示の実施形態による、広告関係のコンテンツアイテム４０８がコンテンツフィード４０６内に提示されているインタフェース４０４の例４００を示す。この例では、インタフェース４０４は、コンピューティングデバイス４０２の表示スクリーン上に提示されている。さらに、コンピューティングデバイス４０２上で実行しているアプリケーション（例えば、ウェブブラウザ、ソーシャルネットワーキングアプリケーションなど）を通じてインタフェース４０４を提供してもよい。図４の例では、コンテンツアイテム（例えば、映像）４０８は、インタフェース４０４のビューポート領域内に位置しているとして図示されている広告関係のコンテンツアイテムである。上記のように、広告関係のコンテンツアイテムは、インタフェースのビューポート領域内に位置する場合、自動的に再生されることができる。いくつかの実施形態では、広告関係のコンテンツアイテム４０８の再生中、コンピューティングデバイス４０２を操作しているユーザは、コンテンツフィード４０６をブラウズまたはナビゲートすることが妨げられる（かまたは制限される）。換言すれば、例えば、広告関係のコンテンツアイテム４０８に関連付けられた閾値再生時間が経過するまで、コンピューティングデバイスの表示スクリーン４０２を通じて、ユーザにより行われる任意のジェスチャにより、コンテンツフィード４０６は、次のコンテンツアイテム４１２へ進むこととならない。いくつかの実施形態では、例えば、広告関係のコンテンツアイテム４０８を次のコンテンツアイテム４１２に進めるよう試みて、ユーザがジェスチャを行った場合、図５Ａおよび図５Ｂの例に示すように、広告コンテンツが再生されていることを示すメッセージをユーザに対して提示してもよい。
【００３７】
図５Ａは、本開示の実施形態による、広告関係のコンテンツアイテム５０８がコンテンツフィード５０６内に提示されているインタフェース５０４の他の例を示す。この例では、インタフェース５０４は、コンピューティングデバイス５０２の表示スクリーン上に提示されている。図４を参照して説明したように、コンテンツアイテム（例えば、映像）５０８は、インタフェース５０４のビューポート領域内で再生中の、広告関係のコンテンツアイテムである。さらに、広告関係のコンテンツアイテム５０８の再生中、コンピューティングデバイス５０２を操作しているユーザは、コンテンツフィード５０６をブラウズまたはナビゲートすることが妨げられる。いくつかの実施形態では、ユーザが、例えば、ジェスチャを行って、広告関係のコンテンツアイテム５０８の再生を進めるかまたはその再生を停止しようとした場合、広告コンテンツが再生されていることを示すメッセージ５１２がユーザに対して提示されてもよい。メッセージ５１２は、広告が現在提示されていると示すことができ、また例えば、コンテンツフィード５０６内の次のコンテンツアイテム５１０、またはコンテンツアイテム５０８に先行するコンテンツフィード５０６内の任意のコンテンツアイテムを視聴するために、広告の再生が完了するまで、またはユーザがコンテンツフィード５０６をブラウズもしくはナビゲートすることを再度継続できるまでの残り時間量も示すことができる。
【００３８】
図５Ｂは、本開示の実施形態による、広告関係のコンテンツアイテム５５８がコンテンツフィード５５６内に提示されているインタフェース５５４の別の例を示す。この例では、インタフェース５５４は、コンピューティングデバイス５５２の表示スクリーン上に提示される。図４を参照して説明したように、コンテンツアイテム（例えば、映像）５５８は、インタフェース５５４のビューポート領域において再生中の、広告関係のコンテンツアイテムである。さらに、広告関係のコンテンツアイテム５５８の再生中、コンピューティングデバイス５５２を操作しているユーザは、コンテンツフィード５５６をブラウズまたはナビゲートすることが妨げられる。いくつかの実施形態では、ユーザが、例えば、ジェスチャを行って、広告関係のコンテンツアイテム５５８の再生を進めるかまたはその再生を停止しようとした場合、広告コンテンツが再生されていることを示すメッセージ５６２がユーザに対して提示されてもよい。メッセージ５６２は、広告が現在提示されていると示すことができ、また例えば、コンテンツフィード５５６内の次のコンテンツアイテム５６０、またはコンテンツアイテム５５８に先行するコンテンツフィード５５６内の任意のコンテンツアイテムを視聴するために、広告の再生が完了するまで、またはユーザがコンテンツフィード５５６をブラウズもしくはナビゲートすることを再度継続できるまでの残り時間量も示すことができる。いくつかの実施形態では、メッセージ５６２は、残り時間量をグラフィカルに示す円形のカウントダウンタイマを含む。
【００３９】
図６は、本開示の実施形態による、コンテンツアイテムを共有するためのソフトウェアアプリケーションを決定するための例示的な方法を示す。別段の記載がない限り、本明細書において考察される多様な実施形態の範囲内で、類似のもしくは代替の順序で、または並行して実行される、追加の、より少ない、または代替のステップが存在し得ることを理解されたい。ブロック６０２では、例示的な方法６００は、ディスプレイインタフェースを通じて、第１のコンテンツアイテムと第２のコンテンツアイテムとを少なくとも有するコンテンツフィードを提供することができる。第１のコンテンツアイテムは、閾値再生時間と関連付けることができる。ブロック６０４では、第１のコンテンツアイテムがディスプレイインタフェースを通じて再生されているということを決定することができる。ブロック６０６では、少なくとも１つのタッチスクリーンジェスチャを、ディスプレイインタフェースを通じて受信できる。ブロック６０８では、第１のコンテンツアイテムが閾値再生時間再生されるまで、タッチスクリーンジェスチャへの応答を妨げることができる。
【００４０】
本開示の様々な実施形態に関連する多くの他の使用、用途、および／または変形があり得ることが企図される。例えば、場合によっては、ユーザは、開示された技術を利用するか否かを選択することができる。また、開示された技術は、様々なプライバシー設定および嗜好が維持され、個人情報が漏洩するのを防止することを保証することもできる。別の例では、本開示の様々な実施形態は、学習、改善、および／または経時的に改良され得る。
【００４１】
ソーシャルネットワーキングシステム−例示的な実装形態
図７は、本開示の一実施形態による、向上したビデオ符号化のための様々な実施形態で利用され得る例示的なシステム７００のネットワーク図を示す。システム７００は、１つまたは複数のユーザデバイス７１０と、１つまたは複数の外部システム７２０と、ソーシャルネットワーキングシステム（ソーシャルネットワーキングサービス）７３０と、ネットワーク７５０とを含む。一実施形態では、前述の実施形態との関連で論じられたソーシャルネットワーキングサービス、プロバイダ、および／またはシステムは、ソーシャルネットワーキングシステム７３０として実装されてよい。例示の目的のために、図７によって示される、システム７００の実施形態は、単一の外部システム７２０と、単一のユーザデバイス７１０とを含む。ただし、他の実施形態において、システム７００は、より多くのユーザデバイス７１０、および／または、より多くの外部システム７２０を含んでもよい。特定の実施形態において、ソーシャルネットワーキングシステム７３０は、ソーシャルネットワークプロバイダによって運営されるのに対して、外部システム７２０は、異なるエンティティによって運営され得るという点で、ソーシャルネットワーキングシステム７３０とは別個のものである。しかしながら、様々な実施形態において、ソーシャルネットワーキングシステム７３０および外部システム７２０は、共に動作して、ソーシャルネットワーキングシステム７３０のユーザ（またはメンバー）に対してソーシャルネットワーキングサービスを提供する。この意味において、ソーシャルネットワーキングシステム７３０は、外部システム７２０などの他のシステムがインターネット上のユーザに対してソーシャルネットワーキングサービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供する。
【００４２】
ユーザデバイス７１０は、ユーザから入力を受信し、ネットワーク７５０を通じてデータを送受信することができる１つまたは複数のコンピューティングデバイス（またはコンピューティングシステム）を備える。一実施形態において、ユーザデバイス７１０は、例えば、マイクロソフトウィンドウズ（登録商標）と互換性のあるオペレーティングシステム（ＯＳ）、Ａｐｐｌｅ  ＯＳ  Ｘ、および／またはＬｉｎｕｘ（登録商標）ディストリビューションを実行する従来のコンピュータシステムである。別の実施形態において、ユーザデバイス７１０は、スマートフォン、タブレット、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、携帯電話、ラップトップコンピュータ、ウェアラブルデバイス（例えば、眼鏡、腕時計、ブレスレット、その他）、カメラ、機器、その他などのコンピュータ機能を有するコンピューティングデバイスまたはデバイスであってもよい。ユーザデバイス７１０は、ネットワーク７５０を通じて通信するように構成される。ユーザデバイス７１０は、アプリケーション、例えば、ユーザデバイス７１０のユーザがソーシャルネットワーキングシステム７３０と対話することを可能にするブラウザアプリケーションを実行することができる。別の実施形態において、ユーザデバイス７１０は、ｉＯＳおよびＡＮＤＲＯＩＤ（登録商標）などの、ユーザデバイス７１０のネイティブオペレーティングシステムによって提供されるアプリケーションプログラミングインタフェース（ＡＰＩ）を通じてソーシャルネットワーキングシステム７３０を対話する。ユーザデバイス７１０は、ネットワーク７５０を通じて外部システム７２０およびソーシャルネットワーキングシステム７３０と通信するように構成される。ネットワーク７５０は、有線通信システムおよび／または無線通信システムを使用する、ローカルエリアネットワークおよび／または広域ネットワークの任意の組み合わせを備え得る。
【００４３】
１つの実施形態において、ネットワーク７５０は、標準的な通信技術およびプロトコルを使用する。したがって、ネットワーク７５０は、イーサネット（登録商標）、８０２．１１、マイクロ波アクセスのための世界的相互運用性（ＷｉＭＡＸ：ｗｏｒｌｄｗｉｄｅ  ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  ｍｉｃｒｏｗａｖｅ  ａｃｃｅｓｓ）、３Ｇ、４Ｇ、ＣＤＭＡ、ＧＳＭ（登録商標）、ＬＴＥ、デジタル加入者線（ＤＳＬ：ｄｉｇｉｔａｌ  ｓｕｂｓｃｒｉｂｅｒ  ｌｉｎｅ）等などの技術を使用するリンクを含み得る。同様に、ネットワーク７５０上で使用されるネットワーキングプロトコルは、マルチプロトコルラベルスイッチング（ＭＰＬＳ：ｍｕｌｔｉｐｒｏｔｏｃｏｌ  ｌａｂｅｌ  ｓｗｉｔｃｈｉｎｇ）、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、簡易メール転送プロトコル（ＳＭＴＰ：ｓｉｍｐｌｅ  ｍａｉｌ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）、ファイル転送プロトコル（ＦＴＰ）などを含み得る。ネットワーク７５０上で交換されるデータは、ハイパーテキストマークアップ言語（ＨＴＭＬ）および拡張マークアップ言語（ＸＭＬ）を含む技術および／またはフォーマットを使用して表現され得る。また、全部または一部のリンクは、セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）、およびインターネットプロトコルセキュリティ（ＩＰｓｅｃ）などの従来の暗号化技術を使用して暗号化され得る。
【００４４】
１つの実施形態において、ユーザデバイス７１０は、外部システム７２０から、およびソーシャルネットワーキングシステム７３０から受信されるマークアップ言語文書７１４を、ブラウザアプリケーション７１２を使用して処理することによって、外部システム７２０からのコンテンツおよび／またはソーシャルネットワーキングシステム７３０からのコンテンツを表示し得る。マークアップ言語文書７１４は、コンテンツと、そのコンテンツのフォーマッティングまたは表示方法を記述する１つまたは複数の命令とを識別する。マークアップ言語文書７１４内に含まれる命令を実行することによって、ブラウザアプリケーション７１２は、マークアップ言語文書７１４によって記述されたフォーマットまたは表示方法を使用して、識別されたコンテンツを表示する。例えば、マークアップ言語文書７１４は、外部システム７２０およびソーシャルネットワーキングシステム７３０から得られたテキストおよび／または画像データを含む複数のフレームを有するウェブページを生成および表示するための命令を含む。様々な実施形態において、マークアップ言語文書７１４は、拡張マークアップ言語（ＸＭＬ）データ、拡張ハイパーテキストマークアップ言語（ＸＨＴＭＬ）データ、または、他のマークアップ言語データを含むデータファイルを備える。また、マークアップ言語文書７１４は、外部システム７２０とユーザデバイス７１０との間のデータ交換を容易にするためのジャバスクリプトオブジェクトノーテーション（ＪＳＯＮ：ＪａｖａＳｃｒｉｐｔ（登録商標）Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）データ、パディング付きのＪＳＯＮ（ＪＳＯＮＰ：ＪＳＯＮ  ｗｉｔｈ  ｐａｄｄｉｎｇ）データ、およびジャバスクリプトデータを含み得る。ユーザデバイス７１０上のブラウザアプリケーション７１２は、ジャバスクリプトコンパイラを使用して、マークアップ言語文書７１４を復号し得る。
【００４５】
マークアップ言語文書７１４は、ＦＬＡＳＨ（商標）アプリケーションまたはＵｎｉｔｙ（商標）アプリケーション、ＳｉｌｖｅｒＬｉｇｈｔ（商標）アプリケーションフレームワーク等などの、アプリケーションまたはアプリケーションフレームワークも含み、または、これらに対してもリンクし得る。
【００４６】
１つの実施形態において、ユーザデバイス７１０は、ユーザデバイス７１０のユーザがソーシャルネットワーキングシステム７３０へログインしたかを示すデータを含む、１つまたは複数のクッキー７１６も含む。クッキー７１６は、ソーシャルネットワーキングシステム７３０からユーザデバイス７１０へ通信されるデータのカスタム化を可能にし得る。
【００４７】
外部システム７２０は、１つまたは複数のウェブページ７２２ａ、７２２ｂを含む、１つまたは複数のウェブサーバを含む。１つまたは複数のウェブページ７２２ａ、７２２ｂは、ネットワーク７５０を使用して、ユーザデバイス７１０へ通信される。外部システム７２０は、ソーシャルネットワーキングシステム７３０とは別個である。例えば、外部システム７２０は、第１のドメインに対して関連付けられるが、ソーシャルネットワーキングシステム７３０は、別個のソーシャルネットワーキングドメインに対して関連付けられる。外部システム７２０に含まれるウェブページ７２２ａ、７２２ｂは、コンテンツを識別し、識別されたコンテンツのフォーマッティングおよび表示方法を特定する命令を含むマークアップ言語文書７１４を備える。前述したように、多くのバリエーションまたは他の可能性があり得ることを理解されたい。
【００４８】
ソーシャルネットワーキングシステム７３０は、複数のユーザを含み、ソーシャルネットワークのユーザに対して、ソーシャルネットワークの他のユーザと通信および対話するための能力を提供する、ソーシャルネットワークのための１つまたは複数のコンピューティングデバイスを含む。さらに詳細に説明されるように、ソーシャルネットワークは、グラフ、すなわち、エッジとノードとを含むデータ構造によって表現され得る。データベース、オブジェクト、クラス、メタ要素、ファイル、または任意の他のデータ構造を含むが、これらに限定されない、他のデータ構造も、ソーシャルネットワークを表現するために使用され得る。ソーシャルネットワーキングシステム７３０は、オペレータによって監督、管理、または制御されてよい。ソーシャルネットワーキングシステム７３０のオペレータは、ソーシャルネットワーキングシステム７３０内でコンテンツを管理し、ポリシを統制し、使用メトリクスを収集するための、人間、自動化されたアプリケーション、または一連のアプリケーションであってよい。任意のタイプのオペレータが使用されてよい。
【００４９】
ユーザは、ソーシャルネットワーキングシステム７３０に加入し、次いで、そのユーザがつなげられることを望む、ソーシャルネットワーキングシステム７３０の任意の数の他のユーザへのつながりを追加し得る。本明細書において、「友達」という用語は、ユーザがソーシャルネットワーキングシステム７３０を通じてつながり、関連、または関係を形成した、ソーシャルネットワーキングシステム７３０の任意の他のユーザに及ぶ。例えば、一実施形態において、ソーシャルネットワーキングシステム７３０内のユーザが、ソーシャルグラフ内のノードとして表現される場合、「友達」という用語は、２つのユーザノード間に形成され、かつ、２つのユーザノードを直接的に接続するエッジを指し得る。
【００５０】
つながりは、ユーザによって明示的に追加されても、または、ユーザの共通の特性（例えば、同じ教育機関の卒業生であるユーザ）に基づいて、ソーシャルネットワーキングシステム７３０によって自動的に作成されてもよい。例えば、第１のユーザは、友達になりたい特定の他のユーザを具体的に選択する。ソーシャルネットワーキングシステム７３０におけるつながりは、通常は双方向であるが、双方向である必要はなく、そのため、「ユーザ」および「友達」という用語は、枠組みに依存する。ソーシャルネットワーキングシステム７３０のユーザ間のつながりは、通常は、双務的（「二方向」）または「相互的」であるが、つながりは、片務的、または「一方向」であってもよい。例えば、ボブおよびジョーの両者が、ソーシャルネットワーキングシステム７３０のユーザであり、互いにつながっている場合、ボブおよびジョーは、互いのつながりである。他方で、ボブは、ジョーによってソーシャルネットワーキングシステム７３０へ通信されたデータを見るためにジョーとつながることを欲するが、ジョーは、相互的なつながりを形成することを欲しない場合、片務的なつながりが確立され得る。ユーザ間のつながりは、直接的なつながりであり得る。ただし、ソーシャルネットワーキングシステム７３０のいくつかの実施形態は、つながりが、１つまたは複数のつながりのレベルまたは分離度を通じた間接的なものとなることを可能にする。
【００５１】
ユーザ間のつながりを確立および維持し、ユーザ間の対話を可能にすることに加えて、ソーシャルネットワーキングシステム７３０は、ソーシャルネットワーキングシステム７３０によってサポートされる様々なタイプのアイテムに対してアクションを行うための能力をユーザに対して提供する。こうしたアイテムは、ソーシャルネットワーキングシステム７３０のユーザが所属し得るグループまたはネットワーク（すなわち、人々、エンティティ、およびコンセプトのソーシャルネットワーク）、ユーザが興味を持ち得るイベントまたはカレンダー入力、ユーザがソーシャルネットワーキングシステム７３０を通じて使用し得るコンピュータベースのアプリケーション、ソーシャルネットワーキングシステム７３０によって提供されるサービスを通じてまたはソーシャルネットワーキングシステム７３０を通じてユーザがアイテムを購入または販売することを可能にする取引、ならびにユーザがソーシャルネットワーキングシステム７３０内外で実行し得る広告との対話を含み得る。これらは、ユーザがソーシャルネットワーキングシステム７３０上で作用を与え得るアイテムのわずかな例にすぎず、多くの他の例が可能である。ユーザは、ソーシャルネットワーキングシステム７３０において、または、ソーシャルネットワーキングシステム７３０とは別個の外部システム７２０もしくはネットワーク７５０を通じてソーシャルネットワーキングシステム７３０に対して結合される外部システム７２０において表現されることが可能なありとあらゆるものと対話し得る。
【００５２】
ソーシャルネットワーキングシステム７３０は、多様なエンティティとリンクすることも可能である。例えば、ソーシャルネットワーキングシステム７３０は、ユーザが互いに対話すること、および、ＡＰＩ、ウェブサービス、または他の通信チャネルを通じて外部システム７２０または他のエンティティと対話することを可能にする。ソーシャルネットワーキングシステム７３０は、複数のエッジによって相互接続された複数のノードを備える「ソーシャルグラフ」を生成および維持する。ソーシャルグラフ内の各ノードは、別のノードに対して作用を与え得るエンティティおよび／または別のノードによって作用を与えられ得るエンティティを表現し得る。ソーシャルグラフは、様々なタイプのノードを含み得る。ノードのタイプの例は、ユーザ、人間以外のエンティティ、コンテンツアイテム、ウェブページ、グループ、アクティビティ、メッセージ、コンセプト、およびソーシャルネットワーキングシステム７３０内のオブジェクトによって表現され得る任意の他のものを含む。ソーシャルグラフ内の２つのノード間のエッジは、ノード関係から、またはノードのうちの一方によって他方に対して実行されたアクションから生じ得る、２つのノード間の特定の種類のつながり、または関連を表現し得る。いくつかのケースでは、ノード間のエッジは、重み付けされ得る。エッジの重みは、ノード間のつながりまたは関連の強度などの、そのエッジに対して関連付けられている属性を表現し得る。異なるタイプのエッジが、異なる重みと共に提供され得る。例えば、あるユーザが別のユーザに対して「いいね」を表明するときに作成されるエッジには、ある重みが与えられてよく、ユーザが別のユーザと友達になるときに作成されるエッジには、異なる重みが与えられてよい。
【００５３】
例として、第１のユーザが第２のユーザを友達として識別した場合、第１のユーザを表すノードと、第２のユーザを表す第２のノードとを接続するソーシャルグラフ中のエッジが生成される。様々なノードが互いに関係するかまたは対話するのに伴い、ソーシャルネットワーキングシステム７３０は、関係および対話を反映するように、様々なノードを接続するエッジを修正する。
【００５４】
ソーシャルネットワーキングシステム７３０は、ユーザによるソーシャルネットワーキングシステム７３０との対話を高める、ユーザにより生成されたコンテンツも含む。ユーザにより生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム７３０に対して追加し、アップロードし、送信し、または「投稿し」得るあらゆるものを含み得る。例えば、ユーザは、ユーザデバイス７１０からソーシャルネットワーキングシステム７３０への投稿を通信する。投稿は、ステータスアップデートもしくは他の文字情報などのデータ、位置情報、写真などの画像、映像、リンク、音楽、または、他の同様のデータおよび／もしくはメディアを含み得る。コンテンツも、第三者によってソーシャルネットワーキングシステム７３０に対して追加され得る。コンテンツ「アイテム」は、ソーシャルネットワーキングシステム７３０においてオブジェクトとして表現される。このようにして、ソーシャルネットワーキングシステム７３０のユーザは、様々な通信チャネルを通じて様々なタイプのテキストおよびコンテンツアイテムを投稿することによって、互いに通信することを促される。そのような通信は、ユーザ同士の対話を増加させ、ユーザがソーシャルネットワーキングシステム７３０と対話する頻度を増加させる。
【００５５】
ソーシャルネットワーキングシステム７３０は、ウェブサーバ７３２と、ＡＰＩ要求サーバ７３４と、ユーザプロファイルストア７３６と、つながりストア７３８と、アクションロガー７４０と、アクティビティログ７４２と、認証サーバ７４４とを含む。本発明の一実施形態において、ソーシャルネットワーキングシステム７３０は、様々なアプリケーションのための追加的な構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワークインタフェース、セキュリティ機構、負荷分散装置、フェイルオーバサーバ、管理およびネットワーク操作コンソールなどの他の構成要素は、本システムの詳細を曖昧にしないように、図示されていない。
【００５６】
ユーザプロファイルストア７３６は、ユーザによって申告され、またはソーシャルネットワーキングシステム７３０によって推測された職歴、学歴、趣味または嗜好、住所などの経歴的情報、人口学的情報、および他のタイプの記述的情報を含む、ユーザアカウントに関する情報を維持する。この情報は、各ユーザが一意に識別されるように、ユーザプロファイルストア７３６内に記憶される。ソーシャルネットワーキングシステム７３０は、異なるユーザ間の１つまたは複数のつながりを記述するデータも、つながりストア７３８内に記憶する。つながり情報は、同様または共通の職歴、グループメンバーシップ、趣味、または学歴を有するユーザを示し得る。また、ソーシャルネットワーキングシステム７３０は、ユーザの他のユーザとの関係をユーザが特定することを可能にする、異なるユーザ間におけるユーザによって定義されたつながりを含む。例えば、ユーザによって定義されたつながりは、友達、同僚、パートナー等などの、ユーザの実生活の関係と並行する、他のユーザとの関係をユーザが生成することを可能にする。ユーザは、予め定義されたタイプのつながりから選択しても、またはユーザ自身のつながりタイプを必要に応じて定義してもよい。非人間エンティティ、バケット、クラスタセンタ、画像、興味、ページ、外部システム、コンセプト等などの、ソーシャルネットワーキングシステム７３０内の他のノードとのつながりも、つながりストア７３８内に記憶される。
【００５７】
ソーシャルネットワーキングシステム７３０は、ユーザが対話し得るオブジェクトに関するデータを維持する。このデータを維持するために、ユーザプロファイルストア７３６およびつながりストア７３８は、ソーシャルネットワーキングシステム７３０によって維持されるオブジェクトの対応するタイプのインスタンスを記憶する。各オブジェクトタイプは、オブジェクトのタイプに適した情報を記憶するのに適した情報フィールドを有する。例えば、ユーザプロファイルストア７３６は、ユーザのアカウントおよびユーザのアカウントに関連した情報を記述するのに適したフィールドを有するデータ構造を含む。特定のタイプの新たなオブジェクトが作成される場合、ソーシャルネットワーキングシステム７３０は、対応するタイプの新たなデータ構造を初期化し、その新たなデータ構造に対して一意のオブジェクト識別子を割り当て、必要に応じて、そのオブジェクトに対してデータを追加することを開始する。これは、例えば、ユーザがソーシャルネットワーキングシステム７３０のユーザになった場合に発生し、ソーシャルネットワーキングシステム７３０は、ユーザプロファイルストア７３６内にユーザプロファイルの新たなインスタンスを生成し、ユーザアカウントに対して一意の識別子を割り当て、ユーザによって提供される情報をユーザアカウントのフィールドへ投入し始める。
【００５８】
つながりストア７３８は、他のユーザに対するユーザのつながり、外部システム７２０に対するつながり、または他のエンティティに対するつながりを記述するのに適したデータ構造を含む。つながりストア７３８は、つながりタイプもユーザのつながりと関連付け得る。つながりタイプは、ユーザのプライバシー設定と共に使用されて、ユーザに関する情報に対するアクセスを規制し得る。本発明の一実施形態において、ユーザプロファイルストア７３６およびつながりストア７３８は、連合データベースとして実装され得る。
【００５９】
つながりストア７３８、ユーザプロファイルストア７３６、およびアクティビティログ７４２内に記憶されるデータは、ノードを使用して、ノードを接続する様々なオブジェクトおよびエッジを識別して、異なるオブジェクト間の関係を識別するソーシャルグラフをソーシャルネットワーキングシステム７３０が生成することを可能にする。例えば、第１のユーザが、ソーシャルネットワーキングシステム７３０内で第２のユーザとのつながりを確立する場合、ユーザプロファイルストア７３６からの第１のユーザおよび第２のユーザのユーザアカウントは、ソーシャルグラフ内のノードとして動作し得る。つながりストア７３８によって記憶される、第１のユーザと第２のユーザとの間のつながりは、第１のユーザおよび第２のユーザに対して関連付けられるノード間のエッジである。この例を続けると、第２のユーザは、次いで、第１のユーザに対して、ソーシャルネットワーキングシステム７３０内でメッセージを送信し得る。メッセージを送信するアクションは、第１のユーザおよび第２のユーザを表現する、ソーシャルグラフ内の２つのノード間の別のエッジであり、メッセージを送信するアクションは、記憶され得る。また、メッセージ自体が、第１のユーザを表現するノードおよび第２のユーザを表現するノードに対して接続される別のノードとして、ソーシャルグラフにおいて識別され、ソーシャルグラフに含まれ得る。
【００６０】
別の例において、第１のユーザは、ソーシャルネットワーキングシステム７３０によって維持される画像において（または、代替的に、ソーシャルネットワーキングシステム７３０の外部の別のシステムによって維持される画像において）第２のユーザをタグ付けし得る。画像は、それ自体がソーシャルネットワーキングシステム７３０内のノードとして表現され得る。このタグ付けアクションは、ユーザの各々と画像との間にエッジを作成するだけでなく、第１のユーザと第２のユーザとの間のエッジも作成し得る。画像もソーシャルグラフ内のノードである。また別の例において、ユーザが、イベントへ参加することを確かめる場合、そのユーザおよびそのイベントは、ユーザプロファイルストア７３６から取得されるノードであり、そのイベントへの参加は、アクティビティログ７４２から得られ得るノード間のエッジである。ソーシャルグラフを生成および維持することによって、ソーシャルネットワーキングシステム７３０は、多くの異なるタイプのオブジェクトを記述するデータ、ならびに、それらのオブジェクト間の対話およびつながりを含み、社会的に関連する情報の豊富なソースを提供する。
【００６１】
ウェブサーバ７３２は、ソーシャルネットワーキングシステム７３０を、ネットワーク７５０を通じて、１つもしくは複数のユーザデバイス７１０および／または１つもしくは複数の外部システム７２０に対してリンクする。ウェブサーバ７３２は、ウェブページ、およびＪａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ、Ｆｌａｓｈ、ＸＭＬなどの他のウェブ関連コンテンツを供給する。ウェブサーバ７３２は、メールサーバを含み、または、ソーシャルネットワーキングシステム７３０と１つもしくは複数のユーザデバイス７１０との間のメッセージを受信およびルーティングするための他のメッセージング機能を含み得る。メッセージは、インスタントメッセージ、キューメッセージ（例えば、電子メール）、テキストおよびＳＭＳメッセージ、または任意の他の適切なメッセージングフォーマットであり得る。
【００６２】
ＡＰＩ要求サーバ７３４は、１つまたは複数の外部システム７２０およびユーザデバイス７１０が、１つまたは複数のＡＰＩ関数を呼び出すことによって、ソーシャルネットワーキングシステム７３０からのアクセス情報を呼び出すことを可能にする。ＡＰＩ要求サーバ７３４は、外部システム７２０が、ＡＰＩを呼び出すことによって、ソーシャルネットワーキングシステム７３０に対して情報を送信することも可能にし得る。外部システム７２０は、１つの実施形態において、ネットワーク７５０を通じてソーシャルネットワーキングシステム７３０へＡＰＩ要求を送信し、ＡＰＩ要求サーバ７３４は、そのＡＰＩ要求を受信する。ＡＰＩ要求サーバ７３４は、ＡＰＩ要求に対して関連付けられているＡＰＩを呼び出すことによって要求を処理して、適当な応答を生成する。ＡＰＩ要求サーバ７３４は、その適当な応答を、ネットワーク７５０を通じて外部システム７２０へ通信する。例えば、ＡＰＩ要求に応答して、ＡＰＩ要求サーバ７３４は、外部システム７２０に対してログインしたユーザのつながりなどの、ユーザに対して関連付けられているデータを収集し、収集されたデータを外部システム７２０へ通信する。別の実施形態において、ユーザデバイス７１０は、外部システム７２０と同じ手法で、ＡＰＩを通じてソーシャルネットワーキングシステム７３０と通信する。
【００６３】
アクションロガー７４０は、ソーシャルネットワーキングシステム７３０内での、および／またはソーシャルネットワーキングシステム７３０外でのユーザアクションに関する通信をウェブサーバ７３２から受信することが可能である。アクションロガー７４０は、ユーザアクションに関する情報をアクティビティログ７４２へ投入し、ソーシャルネットワーキングシステム７３０の内部で、およびソーシャルネットワーキングシステム７３０の外部で、そのユーザによって行われた様々なアクションをソーシャルネットワーキングシステム７３０が発見することを可能にする。特定のユーザが、ソーシャルネットワーキングシステム７３０上の別のノードに関して行う任意のアクションは、アクティビティログ７４２内または同様のデータベースもしくは他のデータレポジトリ内で維持される情報を通じて、各ユーザのアカウントに対して関連付けられ得る。識別および記憶される、ソーシャルネットワーキングシステム７３０内でユーザによって行われるアクションの例は、例えば、別のユーザに対するつながりを追加すること、別のユーザへメッセージを送信すること、別のユーザからのメッセージを読むこと、別のユーザに対して関連付けられるコンテンツを視聴すること、別のユーザによって投稿されたイベントに参加すること、画像を投稿すること、画像を投稿しようと試行すること、または、別のユーザもしくは別のオブジェクトと対話する他のアクションを含み得る。ユーザが、ソーシャルネットワーキングシステム７３０内でアクションを行う場合、そのアクションは、アクティビティログ７４２内に記録される。一実施形態において、ソーシャルネットワーキングシステム７３０は、アクティビティログ７４２をエントリのデータベースとして維持する。アクションが、ソーシャルネットワーキングシステム７３０内で行われる場合、そのアクションについてのエントリが、アクティビティログ７４２に対して追加される。アクティビティログ７４２は、アクションログと称され得る。
【００６４】
また、ユーザアクションは、ソーシャルネットワーキングシステム７３０とは別個の外部システム７２０などの、ソーシャルネットワーキングシステム７３０の外部のエンティティ内で発生するコンセプトおよびアクションに対して関連付けられ得る。例えば、アクションロガー７４０は、ユーザによる外部システム７２０との対話を記述するデータを、ウェブサーバ７３２から受信し得る。この例において、外部システム７２０は、ソーシャルグラフにおける構造化されたアクションおよびオブジェクトに従って、ユーザによる対話を報告する。
【００６５】
ユーザが外部システム７２０と対話するアクションの他の例は、ユーザが外部システム７２０もしくは別のエンティティにおいて興味を表現すること、外部システム７２０もしくは外部システム７２０内のウェブページ７２２ａと議論するソーシャルネットワーキングシステム７３０に対してユーザがコメントを投稿すること、ユーザがソーシャルネットワーキングシステム７３０に対してユニフォームリソースロケータ（ＵＲＬ）もしくは外部システム７２０に対して関連付けられる他の識別子を投稿すること、ユーザが外部システム７２０に対して関連付けられるイベントへ参加すること、または、外部システム７２０に関連する、ユーザによる任意の他のアクションを含む。したがって、アクティビティログ７４２は、ソーシャルネットワーキングシステム７３０のユーザと、ソーシャルネットワーキングシステム７３０とは別個の外部システム７２０との間の対話を記述するアクションを含み得る。
【００６６】
認証サーバ７４４は、ソーシャルネットワーキングシステム７３０のユーザの１つまたは複数のプライバシー設定を強化する。ユーザのプライバシー設定は、ユーザに対して関連付けられる特定の情報がどのように共有され得るかを決定する。プライバシー設定は、ユーザに対して関連付けられる特定の情報の仕様、および情報が共有され得る１つまたは複数のエンティティの仕様を備える。情報が共有され得るエンティティの例は、他のユーザ、アプリケーション、外部システム７２０、または、その情報に潜在的にアクセスし得る任意のエンティティを含み得る。ユーザによって共有され得る情報は、プロフィール写真などのユーザアカウント情報、ユーザに対して関連付けられる電話番号、ユーザのつながり、つながりを追加すること、ユーザプロフィール情報を変更することなどのユーザによって行われるアクション等を備える。
【００６７】
プライバシー設定仕様は、異なるレベルの粒度で提供され得る。例えば、プライバシー設定は、他のユーザと共有されるべき具体的な情報を識別し得る。プライバシー設定は、職場電話番号、または、プロフィール写真、自宅電話番号、およびステータスを含む個人情報などの関連情報の具体的なセットを識別する。代替的に、プライバシー設定は、ユーザに対して関連付けられる全ての情報に対して適用されてもよい。特定の情報にアクセスすることができるエンティティのセットの仕様も、様々なレベルの粒度で特定され得る。情報が共有され得るエンティティの様々なセットは、例えば、ユーザの全ての友達、友達の全ての友達、全てのアプリケーション、または全ての外部システム７２０を含み得る。１つの実施形態は、エンティティのセットの仕様がエンティティの一覧表を備えることを可能にする。例えば、ユーザは、一定の情報に対してアクセスすることを許可される外部システム７２０のリストを提供し得る。別の実施形態は、情報に対してアクセスすることを許可されない例外と共にエンティティのセットを仕様が備えることを可能にする。例えば、ユーザは、全ての外部システム７２０がユーザの職場情報に対してアクセスすることを許可し得るが、職場情報に対してアクセスすることを許可されない外部システム７２０のリストを特定し得る。一定の実施形態は、一定の情報に対してアクセスすることを許可されない例外のリストを「ブロックリスト」と呼ぶ。ユーザによって特定されるブロックリストに所属する外部システム７２０は、プライバシー設定において特定される情報に対してアクセスすることをブロックされる。情報の仕様の粒度と、情報が共有されるエンティティの仕様の粒度との様々な組み合わせが可能である。例えば、全ての個人情報は、友達と共有され得るのに対して、全ての職場情報は、友達の友達と共有され得る。
【００６８】
認証サーバ７４４は、ユーザに対して関連付けられる一定の情報がユーザの友達、外部システム７２０、ならびに／または他のアプリケーションおよびエンティティによってアクセスされ得るかを決定するためのロジックを含む。外部システム７２０は、ユーザの職場電話番号などの、ユーザのより個人的かつ機密的な情報に対してアクセスするために、認証サーバ７４４からの認証を必要とし得る。ユーザのプライバシー設定に基づいて、認証サーバ７４４は、別のユーザ、外部システム７２０、アプリケーション、または別のエンティティが、ユーザによって行われるアクションに関する情報を含む、ユーザに対して関連付けられる情報に対してアクセスすることを許可されているかを決定する。
【００６９】
いくつかの実施形態では、ソーシャルネットワーキングシステム７３０は、コンテンツプロバイダモジュール７４６を備えることができる。コンテンツプロバイダモジュール７４６は、例えば、図１のコンテンツプロバイダモジュール１０２として実装されてもよい。上述したように、多くの変形または他の可能性が存在し得ることを理解されたい。
【００７０】
ハードウェア実装形態
前述のプロセスおよび特徴は、多種多様なマシンおよびコンピュータシステムアーキテクチャによって、ならびに、多種多様なネットワークおよびコンピューティング環境において実装され得る。図８は、本発明に応じて本明細書に記載された１つまたは複数の実施形態を実装するために使用され得るコンピュータシステム８００の例を例示する。コンピュータシステム８００は、コンピュータシステム８００に対して、本明細書において議論されるプロセスおよび特徴を実行させるための命令のセットを含む。コンピュータシステム８００は、他のマシンへ接続され（例えば、ネットワーク化され）得る。ネットワーク化された配置において、コンピュータシステム８００は、クライアント／サーバネットワーク環境内のサーバマシンもしくはクライアントマシンの資格において動作し、または、ピアツーピア（もしくは分散）ネットワーク環境内のピアマシンとして動作し得る。本発明の一実施形態において、コンピュータシステム８００は、ソーシャルネットワーキングシステム７３０、ユーザデバイス７１０、外部システム８２０、またはこれらの構成要素であってもよい。本発明の一実施形態において、コンピュータシステム８００は、ソーシャルネットワーキングシステム７３０の全てまたは部分を構成する多くのサー間のうちの１つのサーバであってもよい。
【００７１】
コンピュータシステム８００は、プロセッサ８０２と、キャッシュ８０４と、コンピュータ読取可能な媒体上に記憶され、本明細書において説明されるプロセスおよび特徴へ向けられた、１つまたは複数の実行可能なモジュールおよびドライバとを含む。また、コンピュータシステム８００は、高性能入出力（Ｉ／Ｏ）バス８０６と、標準Ｉ／Ｏバス８０８とを含む。ホストブリッジ８１０は、プロセッサ８０２を高性能Ｉ／Ｏバス８０６に対して結合する一方で、Ｉ／Ｏバスブリッジ８１２は、２つのバス８０６および８０８を互いに結合する。システムメモリ８１４および１つまたは複数のネットワークインタフェース８１６は、高性能Ｉ／Ｏバス８０６へ結合される。コンピュータシステム８００は、ビデオメモリと、ビデオメモリに対して結合される表示デバイスとをさらに含んでもよい（図示せず）。マスストレージ８１８およびＩ／Ｏポート８２０は、標準Ｉ／Ｏバス８０８へ結合される。コンピュータシステム８００は、バス８０８に対して結合される、キーボードおよびポインティングデバイス、表示デバイス、または他の入出力デバイス（図示せず）を随意的に含んでもよい。全体的に、これらの要素は、カリフォルニア州サンタクララのインテルコーポレーション社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）によって製造されるｘ８６互換性のあるプロセッサ、カリフォルニア州サニーベルのアドバンストマイクロデバイス社（ＡＭＤ：Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ，Ｉｎｃ）によって製造されるｘ８６互換性のあるプロセッサ、および任意の他の適切なプロセッサを含むが、これらに限定されない、広範なカテゴリのコンピュータハードウェアシステムを表現することが意図される。
【００７２】
オペレーティングシステムは、ソフトウェアアプリケーション（図示せず）へのデータの入力およびソフトウェアアプリケーションからのデータの出力を含む、コンピュータシステム８００の動作を管理および制御する。オペレーティングシステムは、システム上で実行されているソフトウェアアプリケーションと、システムのハードウェア構成要素との間のインタフェースを提供する。任意の適切なオペレーティングシステム、例えば、ＬＩＮＵＸオペレーティングシステム、カリフォルニア州クパチーノのアップルコンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．）から市販されているアップルマッキントッシュオペレーティングシステム、ＵＮＩＸ（登録商標）オペレーティングシステム、マイクロソフト（登録商標）ウィンドウズ（登録商標）オペレーティングシステム、ＢＳＤオペレーティングシステム等などが使用され得る。他の実装も可能である。
【００７３】
コンピュータシステム８００の要素は、下記においてより詳細に説明される。具体的には、ネットワークインタフェース８１６は、コンピュータシステム８００と、幅広いネットワークのうちの任意のもの、例えば、イーサネット（例えば、ＩＥＥＥ８０２．３）ネットワーク、バックプレーン等などとの間の通信を提供する。マスストレージ８１８は、上記に識別されたそれぞれのコンピューティングシステムによって実装される上述されたプロセスおよび特徴を実行するためのデータおよびプログラミング命令のための永続的なストレージを提供するのに対して、システムメモリ８１４（例えば、ＤＲＡＭ）は、プロセッサ８０２によって実行される場合のデータおよびプログラミング命令のための一時的なストレージを提供する。Ｉ／Ｏポート８２０は、コンピュータシステム８００へ結合され得る付加的な周辺デバイス間の通信を提供する、１つまたは複数のシリアル通信ポートおよび／またはパラレル通信ポートであり得る。
【００７４】
コンピュータシステム８００は、多様なシステムアーキテクチャを含むことができ、コンピュータシステム８００の様々な構成要素は、再配置されてもよい。例えば、キャッシュ８０４は、プロセッサ８０２と共にチップ上に実装されてもよい。代替的に、キャッシュ８０４およびプロセッサ８０２は、「プロセッサモジュール」としてまとめられて、プロセッサ８０２が「プロセッサコア」と称されてもよい。さらに、本発明の一定の実施形態は、上記構成要素の全部を必要としなくても、または、含まなくてもよい。例えば、標準Ｉ／Ｏバス８０８へ結合される周辺デバイスは、高性能Ｉ／Ｏバス８０６へ結合されてもよい。また、いくつかの実施形態において、単一のバスのみが存在して、コンピュータシステム８００の構成要素が、その単一のバスへ結合されてもよい。さらに、コンピュータシステム８００は、付加的なプロセッサ、記憶デバイス、またはメモリなどの付加的な構成要素を含んでもよい。
【００７５】
一般に、本明細書において説明されるプロセスおよび特徴は、オペレーティングシステムの一部もしくは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、または「プログラム」と称される一連の命令として実装され得る。例えば、１つまたは複数のプログラムは、本明細書において説明される具体的なプロセスを実行するために使用され得る。プログラムは、典型的には、１つまたは複数のプロセッサによって読み出され、実行される場合に、コンピュータシステム８００に対して、本明細書において説明されるプロセスおよび特徴を実行するための動作を実行させる、１つまたは複数の命令を、コンピュータシステム８００内の様々なメモリおよび記憶デバイスにおいて備える。本明細書において説明されるプロセスおよび特徴は、ソフトウェア、ファームウェア、ハードウェア（例えば、特定用途向け集積回路）、または、これらの任意の組み合わせにおいて実装され得る。
【００７６】
１つの実施形態において、本明細書において説明されるプロセスおよび特徴は、分散コンピューティング環境において個々にまたはまとめて、コンピュータシステム８００によって実行される一連の実行可能なモジュールとして実装される。前述のモジュールは、ハードウェア、コンピュータ読取可能な媒体（もしくはマシン読取可能な媒体）上に記憶される実行可能なモジュール、または、両者の組み合わせによって実現され得る。例えば、モジュールは、プロセッサ８０２などの、ハードウェアシステム内のプロセッサによって実行されるべき複数の命令または一連の命令を備え得る。まず、一連の命令は、マスストレージ８１８などの記憶デバイス上に記憶され得る。ただし、一連の命令は、任意の適切なコンピュータ読取可能な記憶媒体上に記憶されてもよい。さらに、一連の命令は、局所的に記憶される必要はなく、ネットワーク上のサーバなどの遠隔記憶デバイスからネットワークインタフェース８１６を通じて受信されてもよい。命令は、マスストレージ８１８などの記憶デバイスからシステムメモリ８１４内へコピーされ、次いで、プロセッサ８０２によってアクセスされ、実行される。様々な実施形態において、１つまたは複数のモジュールは、並列処理環境内の複数のサーバなどの、１つまたは複数の位置における、１つまたは複数のプロセッサによって実行され得る。
【００７７】
コンピュータ読取可能な媒体の例は、揮発性メモリデバイスおよび不揮発性メモリデバイスなどの記録可能なタイプの媒体、ソリッドステートメモリ、フロッピー（登録商標）ディスクおよび他の取り外し可能なディスク、ハードディスクドライブ、磁気媒体、光ディスク（例えば、コンパクトディスク読取専用メモリ（ＣＤ  ＲＯＭＳ）、デジタル多用途ディスク（ＤＶＤ））、他の同様の非一時的で（もしくは一時的で）、有形の（もしくは無形の）記憶媒体、または、本明細書において説明されるプロセスおよび特徴のうちの任意の１つもしくは複数を実行すべく、コンピュータシステム８００による実行のために一連の命令を記憶し、符号化し、もしくは担持するのに適切な任意のタイプの媒体を含むが、これらに限定されない。
【００７８】
説明の目的のために、多くの具体的な詳細が、本説明の完全な理解を提供するために述べられている。しかしながら、こうした具体的な詳細なしに本開示の実施形態が実施され得ることは、当業者には明らかであろう。いくつかの例において、モジュール、構造、プロセス、特徴、およびデバイスは、本説明を曖昧にすることを回避するために、ブロック図の形式で示される。他の例において、機能ブロック図およびフロー図は、データおよび論理フローを表現するために示される。ブロック図およびフロー図の構成要素（例えば、モジュール、ブロック、構造、デバイス、特徴等）は、本明細書において明示的に説明および図示されたような手法以外の手法で、様々に組み合わされ、分離され、除去され、順序を並べ替えられ、置換されてもよい。
【００７９】
この明細書における、「１つの実施形態」、「一実施形態」、「他の実施形態」、「一連の実施形態」、「いくつかの実施形態」、「様々な実施形態」等への言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも１つの実施形態に含まれることを意味する。本明細書内の様々な部分における「１つの実施形態において」または「別の実施形態」という句の出現は、必ずしも全て同じ実施形態に言及するものとは限らず、別個の実施形態または代替的な実施形態は、他の実施形態と相互排他的ではない。さらに、「実施形態」等への明示的な言及が存在しても存在しなくても、様々な特徴が説明され、様々な特徴は、いくつかの実施形態において様々に組み合わされ、含まれ得るが、他の実施形態においては様々に省略され得る。同様に、いくつかの実施形態にとっては選好事項または要件であり得るが、他の実施形態にとっては選好事項または要件ではない、様々な特徴が説明される。
【００８０】
本明細書において使用される文言は、主に、読みやすさと教育的目的のために選択されており、発明の主題の輪郭を描くため、または境界線を描くために選択されたものではない。そのため、本発明の範囲は、この詳細な説明によって限定されるのではなく、むしろ、本明細書に基づく出願について発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、本発明の範囲の例示とはなるが、限定とはならないことが意図され、本発明の範囲は、下記の特許請求の範囲において述べられる。
【図１】
2018534650.tif 000003
【図２】
2018534650.tif 000004
【図３】
2018534650.tif 000005
【図４】
2018534650.tif 000006
【図５Ａ】
2018534650.tif 000007
【図５Ｂ】
2018534650.tif 000008
【図６】
2018534650.tif 000009
【図７】
2018534650.tif 000010
【図８】
2018534650.tif 000011
【国際調査報告】
2018534650.tif 000012
2018534650.tif 000013