図1は、例示的モバイル・コンピューティング装置を示す。本開示は、任意の適切な物理形態をとるモバイル・コンピューティング装置10を企図する。特定の実施形態では、モバイル・コンピューティング装置10は、以下で説明するようなコンピューティング・システムでよい。限定ではなく例として、モバイル・コンピューティング装置10は、シングル・ボード・コンピュータ・システム(single-board computer system:SBC)(例えば、コンピュータ・オン・モジュール(computer-on-module:COM)やシステム・オン・モジュール(system-on-module:SOM)など)、ラップトップもしくはノートブック・コンピュータ・システム、携帯電話、スマートフォン、携帯情報端末(PDA)、タブレット・コンピュータ・システム、またはこれらの2つ以上の組合せでよい。特定の実施形態では、モバイル・コンピューティング装置10は、入力構成要素としてタッチ・センサ12を有することができる。図1の例では、タッチ・センサ12が、モバイル・コンピューティング装置10の前面に組み込まれる。容量性タッチ・センサの場合、送信電極と受信電極という2つのタイプの電極が存在することがある。これらの電極を、電気パルスで送信電極を駆動し、タッチまたは近接入力によって引き起こされた受信電極からのキャパシタンスの変化を測定するように構成されたコントローラに接続することができる。図1の例では、モバイル・コンピューティング装置10の1つまたは複数の側面に1つまたは複数のアンテナ14A〜Bを組み込むことができる。アンテナ14A〜Bは、電流を電波に変換し、電波を電流に変換する構成要素である。信号の送信中に、送信機は、発振無線周波数(oscillating radio frequency)(RF)電流をアンテナ14A〜Bの端子に印加し、アンテナ14A〜Bは、印加された電流のエネルギーを電磁(electromagnetic:EM)波として放射する。信号の受信中に、アンテナ14A〜Bは、入射EM波の電力を、アンテナ14A〜Bの端子で電圧に変換する。その電圧は、増幅のために受信機に送られる。
モバイル装置は、イーサネットまたは他のワイヤ・ベースのネットワークまたはワイヤレスNIC(WNIC)と通信するためのアンテナ14A〜B、例えばWI−FIネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレス・アダプタ、または第3世代移動体通信(3G)、Long Term Evolution(LTE)ネットワークなどのセルラ・ネットワークと通信するためのモデムに結合された通信構成要素を含むことができる。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信構成要素を企図する。限定ではなく例として、モバイル装置10は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、大都市圏ネットワーク(MAN)、またはインターネットの1つもしくは複数の部分、あるいはこれらのうちの2つ以上の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスでよい。別の例として、モバイル装置10は、ワイヤレスPAN(WPAN)(例えば、BLUETOOTH WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話網(例えば、移動体通信用グローバル・システム(GSM)、3G、またはLTEネットワークなど)、または他の適切なワイヤレス・ネットワーク、あるいはこれらのうちの2つ以上の組合せと通信することができる。モバイル・コンピューティング装置10は、適切な場合、これらのネットワークのいずれかに関する任意の適切な通信構成要素を含むことができる。
図2A〜2Bは、例示的なソーシャル・ネットワーキング・ユーザ「アリス・リデル(Alice Liddel)」に関連付けられるモバイル・コンピューティング装置10を示す。モバイル・コンピューティング装置10は、表示可能領域200およびナビゲーション・バー210を含む。特定の実施形態では、モバイル・コンピューティング装置10は、ユーザがモバイル・コンピューティング装置10上で実行されるアプリケーションとアクティブに対話していないときにモバイル・コンピューティング装置10上に表示することのできるユーザ・インターフェース(UI)である表示可能領域200内のソーシャル化ダッシュボード(socialized dashboard)、すなわち「ソーシャル化ダッシュ(socialized dash)」を表示することができる。特定の実施形態では、ソーシャル化ダッシュに常に(すなわち「永続的」に)アクセス可能にすることができる。限定ではなく例として、永続的UI(persistent UI)すなわちソーシャル化ダッシュは、以下で説明するように、モバイル・コンピューティング装置10のホームまたはデフォルト画面として機能するアプリケーションでよい。特定の実施形態では、表示可能領域200は、モバイル装置10のユーザに関連するイメージ(例えば、アリスのプロファイル写真)を表示することのできる制御バウブル(control bauble)220を含む。制御バウブル220は、モバイル・コンピューティング装置10に対するいくつかの異なるアクションを実施するための便利なショートカットを提供することができ、図2J〜2Mに関連してより詳細に説明される。特定の実施形態では、表示可能領域200はまた、ステータス領域230を含むことができる。ステータス領域230は、例えば、図2Aに示されるような現在時刻だけ、図2Bに示されるようなより詳細な情報などの様々なステータス情報を表示することができる。
図2Bに示されるように、特定の実施形態では、ソーシャル化ダッシュで表示されるいくつかの通知および/またはフィード・アイテム(feed item)240A〜240Eは、下にあるユーザ・インターフェースのオーバーレイ(overlay)として表示することができる(例えば、着信電子メール/テキスト/ボイスメール・メッセージに関する通知、チェック・イン/タグ/コメント/いいね/メッセージ/招待に関するソーシャル・アクション通知、およびアラーム/システム・アラート/リマインダ/ステータス・アラートに関する装置に基づく通知)。ソーシャル化ダッシュは、モバイル・コンピューティング装置10上にインストールされたアプリケーションから、または通信プロトコルを通じてソーシャル・ネットワーキング・システムまたはサード・パーティ・システムから、様々なタイプの着信メッセージ、ソーシャル活動通知、またはコンテンツ・オブジェクトを動的にアグリゲートすることができる。特定の実施形態では、モバイル・コンピューティング装置10のディスプレイをロックし、モバイル・コンピューティング装置10とのすべての対話または選択された対話を防止することができる。モバイル・コンピューティング装置10がロック・モードにあるとき、ソーシャル化ダッシュはロック画面として機能する。特定の実施形態では、ソーシャル化ダッシュがロック画面として機能しているとき、ユーザは、モバイル・コンピューティング装置10の通常動作中にユーザにとって利用可能なソーシャル化ダッシュのすべての機能のうちのすべてまたは一部分にアクセスすることができる。
特定の実施形態では、図2Aに示されるように、ソーシャル・ネットワーキング・システムとの対話に少なくとも部分的に基づいて、通知および/またはフィード・アイテム240を更新することができる。図2Bの例に示されるように、ソーシャル・ネットワーキング・システム上のコンテンツが、ソーシャル・グラフ情報に少なくとも部分的に基づいて、モバイル・コンピューティング装置10のユーザと関係を有するユーザによって生成されているとき、またはソーシャル・ネットワーキング・システムにアップロードされているとき、ニュース・フィードまたはティッカーに関連するソーシャル・アクション通知をリアル・タイムに追加することができる。別の例として、コンテンツ関連ソーシャル・ネットワーキング対話要素242を介するソーシャル・ネットワーキング・システムとの対話に応答して、ユーザに関連するニュース・フィードまたはティッカーをソーシャル・ネットワーキング・システム上でリアル・タイムに更新することができる。本開示はソーシャル化ダッシュ上に表示される特定のコンテンツ・オブジェクトとの特定の対話を説明するが、本開示は、ソーシャル化ダッシュ上に表示される任意の適切なコンテンツ・オブジェクトとの任意の適切な対話を企図する。さらに、本開示は、例えば株価アラート、ニュース通知、RSS(Really Simple Syndication)フィードなどの任意の適切なコンテンツ・オブジェクトを表示するエリアを有するソーシャル化ダッシュを企図する。
限定ではなく例として、着信メッセージは、電子メール、ショート・メッセージ・サービス(SMS)、またはマルチメディア・メッセージング・サービス(MMS)メッセージ、ボイス・メール、不在電話着信、インスタント・メッセージ(IM)、ソーシャル・ネットワーキング・システムの機能によって提供されるメッセージなどを含むことができる。別の例として、ソーシャル・アクション通知は、例えば、友達要求、ソーシャル・イベント、ソーシャル・カレンダなどの、ユーザに関係するソーシャル・ネットワーキング・システム上の他のユーザによるアクションの通知を含むことができる。別の例として、ソーシャル・アクション通知は、例えば、ソーシャル・ネットワーキング・システム上の他のユーザのステータス更新、コメント、ブログ投稿、または「いいね」などの、ソーシャル・ネットワーキング・システム上の他のユーザによるアクションの通知を含むことができる。図2Bの例では、通知および/またはフィード・アイテム240は、ソーシャル・ネットワーキング・システムによって提供されるニュース・フィードまたはティッカーに関連するニュース・フィードまたはティッカー・アイテムを含むことができる。特定の実施形態では、ニュース・フィードまたはティッカー・アイテムは、ソーシャル・グラフ内でモバイル・コンピューティング装置10のユーザにつながれるソーシャル・ネットワーキング・ユーザによるアクションに関係する情報に基づくことができる。
特定の実施形態では、例えばソーシャル・ネットワーキング・システムのサーバによって、モバイル・コンピューティング装置10にソーシャル・アクション通知を周期的にプッシュする(push)ことができる(すなわち、モバイル・コンピューティング装置10からの要求を最初に受信することなく、送信がサーバによって開始される)。代替または追加として、モバイル装置10は、モバイル・コンピューティング装置10に対するソーシャル・アクション通知をプルする(pull)ことができる(すなわち、サーバに要求を送るモバイル・コンピューティング装置10によって送信が開始される)。限定ではなく例として、通知および/またはフィード・アイテム240をモバイル・コンピューティング装置10上にインストールされたアプリケーションからネイティブに生成することができ、ソーシャル・ネットワーキング・システムと共に生成することができ、または例えばニュース・アグリゲータなどのサード・パーティ・システムによって生成することができる。本開示は、特定のコンテンツ・オブジェクトを表示するエリアを有するソーシャル化ダッシュを図示および説明するが、本開示は、例えば、株価アラート、ニュース通知、RSS(Really Simple Syndication)フィードなどの任意の適切なコンテンツ・オブジェクトを表示するエリアを有するソーシャル化ダッシュを企図する。
ソーシャル化ダッシュの特定の実施形態は、特定のユーザ(例えば、アリス)向けにモバイル・コンピューティング装置10をパーソナライズするために、(新聞ではなく、雑誌または卓上用大型豪華本のような)ユーザ・インターフェースの美的ルック・アンド・フィール(aesthetic look and feel)を強調する(図2A〜2Mに示されるような)「カバー・フィード」インターフェース(cover feed interface)250を備えることができる。図2A〜2Bに示される例では、カバー・フィード250は、アリスのソーシャル・ネットワーキング・プロファイルからの背景イメージ(例えば、アリスのアルバムのうちの1つからの写真)を含むコンテンツ・ボードを備える。
カバー・フィード250は、1つまたは複数のコンテンツ・ボードを備えることができ、各コンテンツ・ボードは、コンテンツ((図2A〜2M全体を通して示されるような)背景に表示するためのテキスト、ビデオ、イメージ、または株式ティッカー、ユーザの極近傍内に第1度のソーシャル・グラフつながりがある場合にその移動を追跡するマップ、ユーザのソーシャル・グラフつながりで使用されている上位10個の最も人気のあるハッシュタグを追跡するライブ・チャートなどのアプリケーション駆動型アニメーション・イメージなど)、コンテンツに関連する一般的情報(例えば、サイズ、ファイル・タイプ、イメージがキャプチャおよび/または投稿された日付および/または時刻、解像度、アスペクト比)、コンテンツに関連するソーシャル・ネットワーキング情報(例えば、(図2C〜2F、2H、2J、および2Lで示されるような)イメージに関連するキャプション(caption)、イメージ内に現れる人々またはオブジェクトを特定するタグおよびタグ付けされた各アイテムについての1点またはエリア座標、(図2C〜2Fおよび2Hに示されるような)どれほどの人々がイメージに「いいね」を表明し、イメージを検閲し、またはイメージに対してコメントしたかを示すステータス情報)、および/または限定ではなく例として、友達のポスティングに「いいね」を表明し、または友達のポスティングに対してコメントするためのボタンなどのソーシャル・ネットワーキング対話要素を組み込むことができる。特定の実施形態では、カバー・フィード250のコンテンツ・ボードは、モバイル・コンピューティング装置10上に格納された、モバイル・コンピューティング装置10から送られた、かつ/またはモバイル・コンピューティング装置10によって受信されたコンテンツ、ユーザのソーシャル・ネットワーキング・プロファイルおよび/またはソーシャル・グラフから取り出されたコンテンツ、ユーザの他のオンライン通信アカウントから取り出されたコンテンツ、ユーザに関連するとみなされるサード・パーティ・コンテンツ、スポンサー付きの記事、広告、またはユーザの現在位置に基づくコンテンツ(例えば、ユーザの位置の付近で行われようとしているイベント、現在位置についての気象条件または予報)を含むことができる。
限定ではなく例として、カバー・フィード250の背景イメージは、例えばプロファイル写真などの、ユーザのソーシャル・ネットワークIDに関連する写真でよい。いくつかの実施形態では、カバー・フィード250の背景イメージは、ソーシャル・ネットワークに関連する、スポンサー付きの記事または広告に関連する、あるいはサード・パーティ・ウェブサイトによって提供される背景イメージ、アイコン、ロゴ、またはアバタや、サード・パーティ・ウェブサイトのスクリーンショトなどの他のサード・パーティ・コンテンツに関連するソーシャル・グラフ内のノードによって表される別のユーザまたはエンティティまたは概念に関連する写真でよい。いくつかの実施形態では、カバー・フィード250の背景イメージはビデオまたはアニメーション・イメージでよい。いくつかの実施形態では、背景イメージの代わりに(またはそれに加えて)、ソーシャル化ダッシュはオーディオまたは他のマルチメディア効果を提示することができる。
特定の実施形態では、様々な装置状態(例えば、モバイル・コンピューティング装置10をロック/ロック解除したとき、ナビゲーション・バー210内の「ホーム」ボタン212を押したとき、モバイル・コンピューティング装置10を電源オンしたとき、アプリケーションを閉じたとき、モバイル・コンピューティング装置10をサイレントに切り換えたとき、ネットワーク接続性を動作不能/動作可能にしたとき)でソーシャル化ダッシュを表示することができる。特定の実施形態では、カバー・フィード250内に表示される特定のコンテンツ・ボードは、装置状態に応じて変化することがある(例えば、装置が電源オンされたばかりの場合、ユーザによってそのユーザ・プロファイルに格納されたイメージと共にコンテンツ・ボードを表示し、または装置の電池が低下している場合、またはネットワーク接続性を有さない場合、新しいコンテンツ・ボードを生成するために追加のコンテンツをダウンロードすることを中止して、キャッシュされたコンテンツ・ボードを単に利用する)。
図2C〜2Eは、ソーシャル対話機能を有するカバー・フィード250の例を示す。図2C〜2Eに示されるように、カバー・フィード250は、ユーザ「アリス」のソーシャルつながり(すなわち、マッド・ハッター(Mad Hatter))によって投稿されたコンテンツおよび関連情報を表示するコンテンツ・ボード、ならびにソーシャル対話機能(すなわち、コンテンツ関連ソーシャル・ネットワーキング対話要素242およびユーザ関連ソーシャル・ネットワーキング対話要素244)を含む。図2C〜2Dでは、コンテンツ・ボードは、ソーシャル・ネットワーキング・ユーザ「マッド・ハッター」によって投稿されたティー・パーティの背景イメージと共に投稿されたテキストを含むのに対して、図2Eでは、投稿されたテキストは何らかの特定のイメージに関連付けられず(例えば、テキストのみのステータス更新、またはマイクロ・ブロギング投稿)、したがってその代わりに、コンテンツ・ボードの背景イメージとして、テキストを投稿したユーザ(すなわち、ユーザ「マッド・ハッター」)のプロファイル写真などの別の写真を表示することができる。当初は、コンテンツ・ボード内に含まれる背景イメージを、(図2Cに示されるように)イメージの全体がはめ込まれるように、または(図2Dに示されるように)幾分ズームインされるように表示することができる。特定の実施形態では、ユーザは、背景イメージをズームインおよび/またはズームアウトすることができる。カバー・フィード250はまた、ティー・パーティのイメージ内でタグ付けされているソーシャル・ネットワーキング・ユーザを特定する情報と、ポスティングに関連する日付および位置情報254と、どれほどのソーシャル・ネットワーキング・ユーザがティー・パーティのイメージに「いいね」を表明し、またはイメージに対してコメントしたかを示し、それらのユーザのうちの何人かを特定するステータス情報256とを含むキャプション252をも含むことができる。
図2F〜2Hは、カバー・フィード250のコンテンツ・ボード間の遷移を示す。図2Fに示されるように、カバー・フィード250のコンテンツ・ボード250Aは、キャプション252Aと、日付および位置情報254Aと、ステータス情報256Aとを含む、マッド・ハッターによって投稿されたコンテンツを含む。図2Gは、コンテンツ・ボード250Aが画面から左側にスクロールし、コンテンツ・ボード250Bが右側から画面上にスクロールするときの例示的スクローリング遷移を示し、特定の実施形態では、様々な他のタイプの従来型遷移を含む、画面上に表示される2つのイメージ間の他のタイプの従来型遷移(例えば、ディゾルブ、スピンイン/アウト、跳ね返り、上/下または左/右方向のスクローリング、シャタリング)を実現することができる。特定の実施形態では、遷移は、例えば、ジェスチャ(例えば、スワイプ)または何らかの他のタイプのユーザ入力(例えば、クリック、シェイク、フリック)を検出したときなどに、手動モードで行うことができ、かつ/または自動モードで(例えば、所定の間隔で周期的に)行うことができる。特定の実施形態では、モバイル・コンピューティング装置10は、モバイル・コンピューティング装置10の状態変化を検出したとき、手動遷移モードと自動遷移モードとを切り換えることができる(例えば、ユーザの手の中に保持される間の手動モードから、装置10は、平坦な水平面上に置かれたとき、スタンド上に配置されたとき、充電のためにプラグ接続されたとき、またはロック画面が活動化されたときに自動モードに切り替わる)。特定の実施形態では、モバイル・コンピューティング装置10が自動遷移モードにあるとき、モバイル・コンピューティング装置10は、ユーザがもはや画面を閲覧していないことを検出したとき(例えば、近接センサを使用して、電話に応答している間にユーザがユーザの頭部のそばにモバイル・コンピューティング装置10を配置し、ユーザの頭部で画面を覆い、またはモバイル・コンピューティング装置10をケースやバッグなどの格納容器内に配置したことを検出したとき、ジャイロスコープを使用して、ユーザがモバイル・コンピューティング装置10を落とし、または表面上に画面側が下となるようにモバイル・コンピューティング装置10を裏返したことを検出したとき、画面がオフにされたこと、またはモバイル・コンピューティング装置10がサイレント/バイブレーション・モードに配置されたことを検出したとき、視線追跡センサを使用して、ユーザが画面から目をそらしたことを検出したとき、または(例えば、ユーザが別のユーザからのメッセージに対する応答をタイプしている途中に)ユーザがソーシャル対話機能のうちの1つを使用することに関与していることを検出したとき)に自動遷移を休止することができる。
図2J〜2Kは、ソーシャル化ダッシュの例示的appランチャ機能(app launcher feature)を示す。図2Jに示されるように、(図2Aおよび2Lにも示されている)制御バウブル220を、特定の機能(例えば、図2Kに示されるappランチャ、または図2Mに示されるチャット・インターフェース)にアクセスするためのショートカットとして使用することができる。特定の実施形態では、これらの特定の機能は、装置上に表示されるロック画面からアクセス可能にすることができる。図2Aおよび2Jに示される例では、ユーザが、図2Aに示されるような制御バウブル220をクリックし、指でタッチするか、または覆った後、図2Jに示されるように、異なる機能オプションが現れる。図2Jに示される例では、図2Mに示されるチャット・インターフェースにアクセスするためのアイコン222、図2Kに示されるappランチャにアクセスするためのアイコン224、または最後に使用したアプリケーションに戻るためのアイコン226という3つの機能オプションが提供される。特定の実施形態では、3つより多いか、または少ない機能オプションを提示することができ、特定の実施形態では、提示される機能オプションの数、どの機能オプションを提示するかの選択、および/または特定の機能オプションに関連するアイコン・イメージをユーザが構成することができ、例えば、ソーシャル・ネットワーキング・サイトにコンテンツを投稿するためのインターフェースを提示するようにアイコン224を再割当てすることができる。特定の実施形態では、ソーシャル・ネットワーキング・システムへのポスティングは、例えば、写真またはビデオをアップロードすること、ある場所でチェック・インすること、ユーザのステータスを更新すること、またはソーシャルつながり(すなわち、「友達」)によってソーシャル・ネットワーキング・システム上に投稿されたコンテンツに対するコメントをアップロードすることなどの機能を含むことができる。
図2Jに示される例では、機能オプション222、224、および226が出現した後、制御バウブルを使用して特定の機能オプションを選択することができ、例えば、ユーザがユーザの指を制御バウブル220上に配置して、機能オプション222、224、および226を出現させる場合、ユーザは、特定の機能オプションを選択するために、特定の機能オプション上に(例えば、図2Jに示されるように、アイコン224上に)制御バウブル220をドラッグすることができる。制御バウブル220をクリックまたはタップすることによって機能オプション222、224、および226が現れた場合などの特定の実施形態では、ユーザが行う必要があるのは、特定の機能オプションを選択するために特定の機能オプションをクリックまたはタップすることだけでよい。
図2Kは、異なるアプリケーションにアクセスするためのアイコン260が表示される例示的appランチャを示す。appランチャはまた、ステータス更新に関するソーシャル・ネットワーキング・システム上にコンテンツを投稿するためのアイコン262、モバイル・コンピューティング装置10のカメラにアクセスし、またはフォト・アルバムまたはギャラリーにアクセスするためのアイコン264、およびユーザの位置を含むコンテンツを投稿することによってソーシャル・ネットワーキング・システム上にユーザを容易に「チェック・インする(check in)」ためのアイコン266をも含むことができる。図2Kに示されるように、アイコン用の複数の画面を有するappランチャは、ページ・インジケータ268をさらに表示することができる。appランチャ・インターフェースは、図2Kに示されるように、カバー・フィード250の上部のオーバーレイとして現れることができる。特定の実施形態では、appランチャ・インターフェースは、モバイル・コンピューティング装置10にインストールされたすべてのアプリケーションを含むことができ、または最も頻繁に使用されるアプリケーションのみを含むことができ、または含めるようにユーザによって選択されたアプリケーションを含むことができる。
図2L〜2Mは、ソーシャル化ダッシュの例示的チャット機能を示す。図2Lに示される例では、機能オプション222、224、および226が現れた後、制御バウブルが使用されて、アイコン222(チャット・インターフェース)によって表される機能オプションが選択される。チャット・インターフェースは、図2Mに示されるように、カバー・フィード250の上部にオーバーレイとして現れることができる。図2Mに示される例示的チャット・インターフェースは、いくつかのユーザ関連ソーシャル・ネットワーキング対話要素244を含み、その対話要素244のそれぞれは、未読メッセージが待機中であり、それら対話要素244のうちのいくつが、各ユーザ関連ソーシャル・ネットワーキング対話要素244によって特定されるユーザについて存在するかをユーザ(アリス)に通知するフラグを有することができる。図2Mに示される例示的チャット・インターフェースはまた、チャット・メッセージ270、モバイル・コンピューティング装置10のユーザとチャットしているチャット参加者を特定するイメージ272、およびチャット入力エリア274をも含むことができる。
図2Nおよび2Pは、モバイル・アプリケーションの上部のソーシャル対話機能の例示的なオーバーレイを示す。図2Nおよび2Pに示されるように、ユーザ関連ソーシャル・ネットワーキング対話要素244は、モバイル・コンピューティング装置10上で実行中の任意の他のアプリケーション(図2Nおよび2Pに示される例示的アプリケーションでは、コンパス・アプリケーション)の上のオーバーレイとして現れることができる。図2Nおよび2Pにやはり示されるように、ユーザ関連ソーシャル・ネットワーキング対話要素244は、複数のユーザを特定し、特定したユーザのうちの1人または複数に関する1つまたは複数のソーシャル・ネットワーキング機能を提示することができる。特定の実施形態では、特定した異なるユーザについて機能の異なるセットを提供することができる。図2Pに示されるように、(図2Bからの)通知および/またはフィード・アイテム240Aおよび240Dも、アプリケーションの上のオーバーレイとして現れることができる。特定の実施形態では、下にあるアプリケーションが1人または複数のユーザを伴うか、関係するか、または特定する場合、ユーザ関連ソーシャル・ネットワーキング対話要素244は、下にあるアプリケーションのユーザを含め、ユーザ関連ソーシャル・ネットワーキング対話要素244を通じて利用可能にするために、下にあるアプリケーションのユーザを選択および特定することができる。
前述のように、ソーシャル化ダッシュは、例えば、カバー・フィード250内で表示されている特定のコンテンツ・ボードに関連して実施することのできる1つまたは複数のソーシャル・ネットワーキング機能に対応する1つまたは複数のコンテンツ関連ソーシャル・ネットワーキング対話要素242、および/または1つまたは複数の特定のソーシャル・ネットワーキング・ユーザに関係する(かつ、何らかの特定のコンテンツ・ボードに関係することがあるか、または関係しないことがある)1つまたは複数のソーシャル・ネットワーキング機能に対応することのできる1つまたは複数のユーザ関連ソーシャル・ネットワーキング対話要素244などのソーシャル対話機能を提供することができる。特定の実施形態では、特定のコンテンツ・ボードが、関連するユーザと何らかの関係を有する(例えば、コンテンツ・ボードで提示されるコンテンツが、ユーザを含むか、ユーザに関係するか、あるいはユーザを特定する)場合、特定のコンテンツ・ボードと共に、特定のユーザに関連するユーザ関連ソーシャル・ネットワーキング対話要素244を表示することもできる。
限定ではなく例として、図2C〜2Fおよび2Hの例示的ワイヤーフレーム(wireframe)で示されるように、コンテンツ・ボード関連ソーシャル・ネットワーキング対話要素242が、例えば、(コンテンツ・ボードでタグ付け/特定されるソーシャル・ネットワーキング・ユーザに関する)友達機能、(コンテンツ・ボードに「いいね」を表明するための)「いいね」機能、(コンテンツ・ボードに対してコメントするための)コメント機能などのソーシャル・ネットワーキング機能に対応することができる。特定の実施形態では、ソーシャル・ネットワーキング・システムの友達機能は、例えば、ユーザに友達要求を送ること、ユーザからの友達要求に応答すること、ソーシャル・ネットワーキング・システム上のユーザを検索すること、ソーシャル・ネットワーキング・システム上のユーザのユーザ・プロファイルにアクセスすることなどの機能を含むことができる。本明細書では、「友達」という用語は、モバイル・コンピューティング装置10に関連するユーザがソーシャル・ネットワーキング・システムを介してつながるか、関連付けるか、または関係を形成した、ソーシャル・ネットワーキング・システムの任意の他のユーザを指すことがある。
ユーザ関連ソーシャル・ネットワーキング対話要素244は、1人または複数の特定されたユーザに関する1つまたは複数のソーシャル・ネットワーキング機能を提供することができる。例えば、図2C〜2Fおよび2Hに示されるように、(「チャット・バウブル」として示される)各ユーザ関連ソーシャル・ネットワーキング対話要素244は、1人のユーザのみに関する機能を特定および提供することができ、または図2L〜2Mに示されるように、複数のソーシャル・ネットワーキング・ユーザに関する機能を特定および提供することができる。特定されたユーザは、モバイル・コンピューティング装置10の所有者(すなわち、アリス)のソーシャル・ネットワーキングつながりであることがあるか、またはそうではないことがある。
特定の実施形態では、ユーザ関連ソーシャル・ネットワーキング対話要素244のメッセージング機能は、例えば、特定されたユーザによって送られた最新のメッセージを表示すること、特定されたユーザにメッセージを書くこと、特定されたユーザからのメッセージに返信すること、特定されたユーザからの未読メッセージ数を閲覧すること、特定されたユーザに関するメッセージング許可を変更すること、特定されたユーザからのメッセージを拒否および/または削除すること、特定されたユーザに対するユーザの関係に関連する属性を更新すること(例えば、関係を「サッカー・チームメイト」とラベリングすること、および/または関係を「婚姻関係(Married To)」と分類すること)、特定されたユーザにつながるソーシャル・ネットワーキング招待を受諾/拒否すること、特定されたユーザについてのプロファイル情報を閲覧すること、または特定されたユーザをユーザのソーシャル・グラフから削除することを含むことができる。特定されたユーザに関連するユーザ関連ソーシャル・ネットワーキング対話要素244に、位置関連機能(例えば、マップ上の特定されたユーザの現在位置、またはユーザの住所への道順を突き止める)、カレンダ関連機能(例えば、特定されたユーザが送信側/受信側である1つまたは複数のイベントを持ち出し、または特定されたユーザのRSVPステータスを表示する)、または任意の他のタイプのユーザ関連ソーシャル・ネットワーキング機能(例えば、ソーシャル・ネットワーキング・ゲームまたはアプリケーションに関連するスコアまたはステータスを示す)などの別の機能を接続することができる。
ユーザ関連ソーシャル・ネットワーキング対話要素244は、図2C〜2Fおよび2Hに示されるように、カバー・フィード250の上のオーバーレイとして現れることができ、図2L〜2Mに示されるように、モバイル・コンピューティング装置10上で実行中の1つまたは複数のアプリケーションの上のオーバーレイとして現れることができ、またはモバイル・コンピューティング装置10上に提示される任意の他の適切なユーザ・インターフェースの上のオーバーレイとして現れることができる。
特定の実施形態では、モバイル・コンピューティング装置10のユーザは、ソーシャル・ネットワーキング・システムに関連するアプリケーションを立ち上げ、またはウェブ・ブラウザを使用することなく、ソーシャル対話機能242および244を通じてソーシャル・ネットワーキング・システムと対話することができる。限定ではなく例として、モバイル・コンピューティング装置10のユーザは、ソーシャル化ダッシュの特定のユーザ関連ソーシャル・ネットワーキング対話要素244をタップすることにより、ソーシャル・ネットワーキング・システムの別のユーザにメッセージを書くことができる。特定の実施形態では、ソーシャル・ネットワーキング対話要素244を使用して書かれたモバイル・コンピューティング装置10のユーザからのメッセージを、前述のように、通信プロトコルを使用してソーシャル・ネットワーキング・システムにリアル・タイムに送ることができる。本開示は、特定のコンピューティング・システムの特定の機能に対応するソーシャル対話機能を有するソーシャル化ダッシュを図示および説明するが、本開示は、例えば、1つまたは複数のソーシャル・ネットワーキングやサード・パーティ・システムなどの任意の適切なコンピューティング・システムの任意の適切な機能に対応する任意の適切な対話要素を有するソーシャル化ダッシュを企図する。
特定の実施形態では、モバイル・コンピューティング装置10のユーザは、アプリケーションを立ち上げ、または実行することなく、ソーシャル対話機能242および/または244ならびに/あるいは通知および/またはフィード・アイテム240を通じて、ソーシャル化ダッシュから直接的にソーシャル・ネットワーキング・システムと対話することができる。限定ではなく例として、モバイル・コンピューティング装置10のユーザは、ソーシャル・ネットワーキング・システムに関連するアプリケーションを立ち上げることなく、ソーシャル・ネットワーキング対話要素242を通じてソーシャル・ネットワーキング・システム上のステータス更新に対してコメントし、または「いいね」を表明することができる。特定の実施形態では、通知および/またはフィード・アイテム240は、モバイル装置10のユーザが着信メッセージと対話することを可能にするオプションを含むことができる。限定ではなく例として、着信メッセージがSMSメッセージの通知である場合、モバイル装置のユーザがSMSメッセージに応答して実施する特定のアクションをそれらから選択することのできる、例えば「応答」、「転送」、「削除」などのアクションに対応するオプションが存在することができ、その特定のアクションが別のアプリケーション(例えば、SMSアプリケーション)を立ち上げることができる。別の例として、着信メッセージが写真を含むニュース・フィード・アイテムである場合、ユーザは、所定のタッチ・ジェスチャを通じて、表示エリアの大部分またはすべてを覆うように写真を拡大し、次いで、例えばコメント、「いいね」、共有などの写真に関するソーシャル・ネットワーク対話を実施することができる。
別の例として、モバイル・コンピューティング装置10上で実行されるアプリケーションを使用した後、もしくは閉じた後、モバイル・コンピューティング装置10上の通話を完了した後、または任意の適切なアクションに応答して、ユーザが「ホーム」ボタン212を作動させることに応答してモバイル・コンピューティング装置10上に表示するように、永続的UIまたはソーシャル化ダッシュを提供することができる。特定の実施形態では、タッチ・センサ12を通じて検出された所定のジェスチャを実施することにより、アプリケーションとの対話中を含めていつでもソーシャル化ダッシュにアクセスすることができる。限定ではなく例として、ユーザは、以下で説明するように、表示エリアの上端をタップ・アンド・ホールドしてソーシャル化ダッシュをプルダウンし、それによってソーシャル化ダッシュのソーシャル・ネットワーキング対話要素および着信メッセージを表示することによってソーシャル化ダッシュにアクセスすることができる。本開示は、特定のタイプのコンピューティング装置を図示および説明するが、本開示は、例えば、パーソナル・コンピュータ、タブレット・コンピュータ、接続されたテレビジョン、スマートフォンなどの任意の適切なタイプのコンピューティング装置上で実装されたソーシャル化ダッシュを企図する。
特定の実施形態では、ソーシャル化ダッシュは、アプリケーション・ランチャとして機能することができ、アプリケーション・ランチャと統合することができ、またはアプリケーション・ランチャと共に働くことができる。図2J〜2Kの例では、ソーシャル化ダッシュのアプリケーション・ランチャは、モバイル・コンピューティング装置10上にインストールされたアプリケーション、またはモバイル・コンピューティング装置10の1機能にそれぞれ対応する、例えばアイコンなどの1つまたは複数のアプリケーション対話要素250を含むことができる。限定ではなく例として、例えば、図2Kに示されるようなアプリケーション・アイコン250をタップすることなどの所定のタッチ・ジェスチャを検出したことに応答して、モバイル・コンピューティング装置10のアプリケーションまたは機能を実行するか、または「立ち上げる」ことができる。
特定の実施形態では、例えば、ソーシャル化ダッシュのテンション・スクローリングなどの所定のタッチ・ジェスチャを実施することにより、ソーシャル化ダッシュのアプリケーション・ランチャ機能にアクセスすることができる。限定ではなく例として、テンション・スクローリングは、(例えば、図2Bに示されるような)通知および/またはニュース・フィード・アイテムをスクロールアップするためのタッチ・ジェスチャを実施すること、および通知および/またはニュース・フィード・アイテムを通り過ぎて引き続き上方にスクロールすることを含むことができる。別の例として、(例えば、ソーシャル化ダッシュの上端をタップ・アンド・ホールドしてソーシャル化ダッシュをプルダウンし、それによってソーシャル化ダッシュの下のアプリケーション対話要素56を表示することによって)ソーシャル化ダッシュを「プルダウン」することができる。さらに、ソーシャル化ダッシュは、ユーザが他のアプリケーションなどと対話することができるように、例えば画面の下端5%などを占有することができる。ユーザは、ソーシャル化ダッシュをドラッグしてその元の位置に戻し、それによってほぼ画面全体を覆うことができる。前述のように、モバイル・コンピューティング装置10がロック・モードにあるとき、ソーシャル化ダッシュはロック画面として機能することができる。特定の実施形態では、モバイル装置10のタッチ・センサによって検出される、例えばテンション・スクローリングなどの所定のタッチ入力を実施したことに応答して、モバイル・コンピューティング装置10をロック・モードから解放することができる。特定の実施形態では、ロック・モードからモバイル・コンピューティング装置10を解放することにより、モバイル・コンピューティング装置10との対話が可能となる。限定ではなく例として、図2Cに示されるように、ロック・モードからモバイル・コンピューティング装置10を解放することにより、ソーシャル化ダッシュのランチャ機能にアクセスすることができる。特定の実施形態では、モバイル・コンピューティング装置10が個人識別番号(PIN)ロックで保護される場合、モバイル・コンピューティング装置10は、ソーシャル化ダッシュから、ユーザがPINを与えてロック・モードからモバイル・コンピューティング装置10を解放するためのPIN画面に遷移することができる。
図3は、ソーシャル化ダッシュにカバー・フィードを提供する例示的方法のステップの流れ図である。前述のように、ソーシャル化ダッシュは、モバイル・コンピューティング装置10のオペレーティング・システムによって提示されるユーザ・インターフェース全体にわたってソーシャル・ネットワーキング・コンテンツおよびソーシャル・ネットワーキング機能を統合する(かつ、恐らくはそれを完全に覆い、または視覚的に目立たなくする)インターフェースをユーザに提示するように構成される。
ステップ310では、モバイル・コンピューティング装置10についての仕様および設定がソーシャル・ネットワーキング・システムに提供される。装置仕様および設定をソーシャル・ネットワーキング・ユーザのプロファイル内に格納する。特定の実施形態では、(例えば、ユーザがユーザのソーシャル・ネットワーキング・ユーザ識別子およびパスワードを使用して装置にログインした後に)装置仕様および設定をモバイル・コンピューティング装置10によって自動的に、(例えば、ソーシャル・ネットワーキング・ウェブサイトにログインしたときに、装置識別子をタイプインするユーザによって)手動で、またはサード・パーティ・ソース(例えば、ネットワーク・サービス・プロバイダ、装置小売業者)によって自動的に提供することができる。ソーシャル・ネットワーキング・システムが装置仕様および設定を認識すると、ソーシャル・ネットワーキング・システムは、装置の機能および/または制限(例えば、装置はタッチ・スクリーンを有するか?装置は画面の上のタッチ・ジェスチャ/3次元ジェスチャを検出することができるか?装置は視線を追跡することができるか?装置の画面は高解像度イメージ/3次元イメージ/ホログラフィック・イメージを表示することができるか?)についてソーシャル化ダッシュおよび/またはカバー・フィード250の特定の側面を事前構成することができる。
ステップ320では、カバー・フィードを含むソーシャル化ダッシュを提示するためにモバイル・コンピューティング装置10に情報を送ることに備えて、ソーシャル・ネットワーキング・サーバは、ユーザのソーシャル・ネットワーキング・アカウントに関してユーザによって構成された設定およびプリファレンス(preference)(例えば、第1度のつながりに関連するカバー・フィード内のコンテンツのみを表示する)、ユーザ・ステータス(例えば、通知を抑制すべきであることを示す「着信拒否(Do Not Disturb)」ステータス)、および/またはソーシャル・ネットワーキング情報(例えば、ソーシャル・グラフ情報、ソーシャルつながりによって最近投稿されたコンテンツ)などのユーザ情報を取り出す(retrieve)。
ステップ330では、ソーシャル・ネットワーキング・システムは、ユーザ情報および装置情報に基づいて、ユーザのソーシャル・ネットワークからコンテンツを取り出す。そのようなコンテンツは、コンテンツに関連するメタデータおよび他の情報を含む、任意のタイプのコンテンツを含むことができる。特定の実施形態では、コンテンツは、例えば、ユーザによって、ユーザのソーシャルつながりによって、ユーザがフォローしているか、もしくはアフィリエイトされるユーザもしくはエンティティによって、またはサード・パーティ(例えば、スポンサー付きの記事または広告)によって投稿または提供されたコンテンツを含むことができる。特定の実施形態では、取り出されたコンテンツがモバイル・コンピューティング装置10上の背景イメージとして使用するのに適したイメージを含まない場合(例えば、テキストのみのポスティング、または非互換のイメージ・タイプ)、ソーシャル・ネットワーキング・ウェブサイトは、背景イメージとして使用するために、取り出されたコンテンツに関連するイメージ(例えば、コンテンツを投稿したソーシャルつながりのユーザ・プロファイル・イメージ)を取り出すことができる。特定の実施形態では、ソーシャル・ネットワーキング・システムは、限定ではなく例として、(例えば、ユーザがコンテンツを精力的に、頻繁に投稿する多数のソーシャルつながりを有するために、利用可能なコンテンツが過剰にあるとき)以下の任意の数の要素に基づいて、コンテンツの取り出しを優先順位付け、制限、および/または制御することができる。(コンテンツを投稿したユーザ、コンテンツ内で直接的に特定されるユーザ、またはタグによってコンテンツに関連付けられるユーザに対する)分離度、(例えば、閲覧、クリック、「いいね」、コメント、レーティング、再ポスティングによって求められる)アフィニティ、関連性、新しさ、人気、(特定の位置に関連するコンテンツについての、ユーザの現在位置、ユーザの「ホーム」位置、またはユーザに関連する別の位置に対する)近接度、コンテンツ内で特定され、またはコンテンツに関連する他のユーザのプライバシー設定、あるいはコンテンツがスポンサー付きであるか否か。
ステップ340では、ソーシャル・ネットワーキング・システムは、必要な場合に、新しいコンテンツ・ボードを構成する。新しいコンテンツ・ボードを構成することは、ステップ330で取り出されたコンテンツ(例えば、ソーシャルつながりによって投稿されたイメージおよび付随するテキストと、時刻、日付、位置、ユーザ識別タグなどの投稿されたコンテンツに関連するメタデータと、投稿されたコンテンツに応答して投稿されたコンテンツ、投稿されたコンテンツの賛同/不賛同/人気/再配布/ダウンロードを示す統計、投稿されたコンテンツを含み、または参照するコンテンツ、例えばマッシュアップなどの関連ソーシャル・ネットワーキング情報)を利用することを含むことができる。特定の実施形態では、コンテンツ・ボードの構成は、モバイル・コンピューティング装置10にコンテンツを適合させるためのコンテンツの修正(例えば、イメージ・サイズ、解像度、アスペクト比、カラー、ファイル・サイズを修正する)、ユーザのプリファレンスおよび/または設定にコンテンツを適合させるためのコンテンツの修正(例えば、コンテンツに関連する特定の統計および/またはメタデータを表示する/隠す、コンテンツ内で特定され、またはコンテンツに関連する各ユーザについてのユーザ関連ソーシャル・ネットワーキング対話要素244を提供する、特定の語を編集する)、コンテンツ内で特定されるか、またはコンテンツに関連する他のユーザのプライバシー設定に従ってコンテンツ適合されるためのコンテンツの修正(例えば、他のユーザについての識別情報を隠す、他のユーザについての連絡先情報および/または機能を除去する、ユーザによるコメントを防止するために任意のコンテンツ関連ソーシャル・ネットワーキング対話要素242の表示を制限する)を含むことができる。
ステップ350では、ソーシャル・ネットワーキング・システムは、以前に構成したコンテンツ・ボード内に含まれるコンテンツに対する更新を構成する。例えば、「いいね」の数が変化した場合、またはコンテンツに応答する追加のコメントが投稿された場合、または他のユーザを特定する追加のタグが追加された場合、ソーシャル・ネットワーキング・システムは、任意のそのような修正または追加された情報で、関連する以前に構成したコンテンツ・ボード内のコンテンツについての更新を構成することができる。特定の実施形態では、以前に構成したコンテンツ・ボード内のコンテンツが、その後に削除されたコンテンツ・ポスティングによって提供された場合、ソーシャル・ネットワーキング・システムは、コンテンツ・ボードを削除するようにモバイル・コンピューティング装置10に指令するか、またはコンテンツがコンテンツの元のポスタ(original poster)によって除去されたことをユーザに通知するためにメッセージを表示すべきことを示す更新を構成することができる。
ステップ360では、ソーシャル・ネットワーキング・システムは、新しいコンテンツ・ボードおよびコンテンツ更新を装置に送る。特定の実施形態では、ソーシャル・ネットワーキング・システムは、新しいコンテンツを求めるモバイル・コンピューティング装置10からの要求の受信(例えば、モバイル・コンピューティング装置10上にローカルにキャッシュされる「フレッシュな」(新しい、または今のところまだ表示されていない)コンテンツ・ボード数が特定のしきい値未満に低下したとき)、モバイル・コンピューティング装置10からのイベント通知の受信(例えば、モバイル・コンピューティング装置10がオンにされたとき、Wi−Fiネットワーク接続を取得したとき、または無制限のデータ・アクセスを提供するネットワークに接続したとき)、または周期的間隔という1つまたは複数の条件が存在するときに、そのような新しいコンテンツおよび更新を送ることができる。任意のそのような周期的間隔は、データ使用量を制限し、またはイメージ品質を指定するための構成設定、装置ディスプレイ属性(例えば、解像度およびピクセル密度)、閲覧履歴、装置使用パターン、装置センサ入力、電池レベル、ネットワーク接続性、帯域幅可用性などのいくつかの要素に基づいて変動することがある。
ステップ370では、ソーシャル・ネットワーキング・システムは、ソーシャル化ダッシュを使用して、ユーザによって装置上に入力されたソーシャル・ネットワーキング・トランザクションを示す装置からデータを受信することができる。例えば、ユーザが、コンテンツに「いいね」を表明するか、コンテンツに対するコメントをサブミットするか、またはコンテンツに関連してタグ付けされたユーザに友達要求を送るために、コンテンツ関連ソーシャル・ネットワーキング対話要素242を使用してコンテンツ・ボードに応答する場合、ソーシャル・ネットワーキング・システムは、モバイル・コンピューティング装置10によって送られたデータを受信することができる。
ステップ380では、ソーシャル・ネットワーキング・システムは、受信したデータを使用してソーシャル・グラフを更新すること、かつ/または受信したデータに基づいてソーシャル・ネットワーキング・ユーザに通知を送ることを実行する。
特定の実施形態は、適切な場合、図3の方法の1つまたは複数のステップを反復することができる。本開示は、図3の方法の特定のステップが特定の順序で行われるものとして説明および図示するが、本開示は、任意の適切な順序で行われる図3の方法の任意の適切なステップを企図する。さらに、本開示は、図3の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明および図示するが、本開示は、図3の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
図4A〜4Fは、例示的コンテンツ・ボード順序付けアルゴリズムの動作中のカバー・フィードについてのコンテンツ・ボードの例示的キューの状態を示す。特定の実施形態では、ソーシャル・ネットワーキング・システムは、カバー・フィード内のコンテンツ・ボードに関連するコンテンツのランク付けを決定することができる。特定の実施形態では、ソーシャル・ネットワーキング・システムは、「最もフレッシュ(freshest)」で最も興味深いコンテンツがユーザに対する表示のためにコンテンツ・ボードのキュー内で昇格することを保証するように、カバー・フィード内のコンテンツ・ボードの表示についての順序を決定する。特定の実施形態では、コンテンツ・ランク付けの変化の結果、カバー・フィード内のコンテンツ・ボードの表示についての順序が変化することがある(または変化しないことがある)。特定の実施形態では、コンテンツ・ボード順序付けアルゴリズムをソーシャル・ネットワーキング・コンテンツおよび他の情報に適用して、ユーザによってどのコンテンツ・アイテムが既に閲覧されたか、(例えば、人気、関連性、ソーシャル・グラフつながり、アフィニティなど)前述の任意の要素、または上記で説明した任意のソーシャル・ネットワーキング情報に基づいて、コンテンツ・ボードについての順序を継続的に決定および更新することができる。例えば、ユーザが特定のコンテンツを閲覧した後は、コンテンツ・ボードの順序を更新することができ、その結果、フレッシュなコンテンツが、キュー内で以前に閲覧されたコンテンツの前方に昇格する。別の例では、以前にダウンロードされたコンテンツ・ボード内のコンテンツの人気が(例えば、ソーシャル・ネットワーキング・システムのユーザによって「いいね」が表明されること、かつ/またはコメントされることによって)高まるとき、キュー内の人気のあるコンテンツを人気の低いコンテンツの前方に昇格させるために、コンテンツ・ボードをキューの前方に移動するようにコンテンツ・ボードの順序を更新することができる。別の例では、以前にダウンロードされたコンテンツ・ボード内のコンテンツが、その後ユーザのソーシャルつながりを特定するものとしてタグ付けされる場合、より関連性の高いコンテンツを昇格させるために、キュー内の前方にコンテンツ・ボードを移動するようにコンテンツ・ボードの順序を更新することができる。特定の実施形態では、サード・パーティ・サイトおよび/または他のアプリケーション上のユーザの活動についての情報が、ランク付けのための要素でよく、例えば、ユーザがサード・パーティ・コンテンツ・サイト上またはユーザの装置上の別のアプリケーション内の特定のコンテンツを閲覧した場合、ランク付けをダウングレードすることができ、あるいはユーザが、特定のコンテンツに関係するサード・パーティ・サイト上またはユーザの装置上の別のアプリケーション内の特定のコンテンツ・チャネルに加入した場合、ランク付けをアップグレードすることができる。
特定の実施形態では、コンテンツを継続的にランク付けし、再順序付けすることができ、いくつかの実施形態では、コンテンツを周期的にランク付けおよび再順序付することができる(例えば、セッション当たり1回、または画面がオフまたはオンされるごとに1回)。特定の実施形態では、コンテンツ・ボードの順序に対する更新をモバイル・コンピューティング装置10に継続的かつ/または周期的に送ることができる。
図4A〜4Fに示されるコンテンツ・ボードの例示的なキューに適用される例示的なコンテンツ・ボード順序付けアルゴリズムの動作を示すために、コンテンツ・ボードの右上隅の白い星は、コンテンツ・ボードが表示されていないことを示し、コンテンツ・ボードの右上隅の暗い星は、コンテンツ・ボードが表示されたことを示し、コンテンツ・ボードの右上隅の円内の暗い星は、コンテンツ・ボードがモバイル・コンピューティング装置10の画面上に表示するために現在利用可能であることを示し、コンテンツ・ボードの左上隅の押しピンは、コンテンツ・ボードがカバー・フィードについてのキューの前方に「ピンニング」されている(pinned)ことを示す。表示のために現在利用可能なコンテンツ・ボードは、モバイル・コンピューティング装置10の画面上に現在表示することができ、モバイル・コンピューティング装置10の画面がオンにされた後に表示される次のコンテンツ・ボードでよく、またはカバー・フィードがモバイル・コンピューティング装置10上でアクティブとなった後に表示される次のコンテンツ・ボードでよい。
図4Aでは、コンテンツ・ボード400Cが、モバイル・コンピューティング装置10上に表示するために現在利用可能である。コンテンツ・ボード400Cは、コンテンツ・ボード400Aが装置上に表示された後に昇格し、次いでその後に、カバー・フィードがコンテンツ・ボード400Aからコンテンツ・ボード400Cに遷移した後に、キュー内に押し戻されたものである。コンテンツ・ボード400Aは以前に、コンテンツ・ボード順序付けアルゴリズムによって考慮された1つまたは複数の要素(例えば、ソーシャルつながりが描かれて以来、より人気があり、より関連性が高い、ソーシャル・ネットワーキング・システムにより最近になって投稿された)に基づいて、コンテンツ・ボード400Cの前方にランク付けされた。装置ステータス情報が、装置が現在縦向き(portrait orientation)に保持されていることを示すので、縦向きのイメージを有する任意のコンテンツ・ボードが、キュー内で、横向き(landscape orientation)のイメージを有する任意のコンテンツ・ボードの前方に昇格し、したがって、コンテンツ・ボード400Aが既に表示されているが、コンテンツ・ボード順序付けアルゴリズムは、コンテンツ・ボード400Bおよび400Dの前方にコンテンツ・ボード400Aを昇格させる。コンテンツ・ボード400Bは、コンテンツ・ボード順序付けアルゴリズムによって考慮される1つまたは複数の要素に基づいて、コンテンツ・ボード400Dの前方にランク付けされる。コンテンツ・ボード400E、400F、400G、および400Hは、完全にダウンロードされていないコンテンツ要素を含み、しがってキューの後方に降格している。
図4Bでは、(モバイル・コンピューティング装置10に完全にダウンロードされている)コンテンツ・ボード400Eが、モバイル・コンピューティング装置10上に表示するために現在利用可能である。コンテンツ・ボード400Cは、カバー・フィードがコンテンツ・ボード400Cからコンテンツ・ボード400Eに遷移した後に、キュー内に押し戻された。装置は現在縦向きに保持されているので、縦向きのイメージを有する任意のコンテンツ・ボードが、キュー内で、横向きのイメージを有する任意のコンテンツ・ボードの前方に昇格し、したがって、コンテンツ・ボード400Eは当初はコンテンツ・ボード400Bおよび400Dの後ろにランク付けされたが、コンテンツ・ボード順序付けアルゴリズムは、表示のためにコンテンツ・ボード400Bおよび400Dの前方にコンテンツ・ボード400Eを昇格させる(コンテンツ・ボード400Bおよび400Dはさらに、キュー内のコンテンツ・ボード400Aおよび400Cの後ろにとどまる)。コンテンツ・ボード400F、400G、および400Hは、まだ完全にダウンロードされていないコンテンツ要素を含み、したがってキューの後方にとどまる。
図4Cでは、装置ステータス情報は、装置がこのときに横向きに保持されていることを示し、したがってコンテンツ・ボード400Bおよび400Dはキューの前方に昇格しており、コンテンツ・ボード400Bは、モバイル・コンピューティング装置10上に表示するために現在利用可能である。カバー・フィードがコンテンツ・ボード400Eからコンテンツ・ボード400Bに遷移した後に、コンテンツ・ボード400Eは、キュー内で(以前に表示されたコンテンツ・ボード400A、400C、および400Eの後ろに)押し戻された。(完全にダウンロードされ、まだ表示されていない)コンテンツ・ボード400Fはこのとき、キュー内に(縦向きを有する以前に表示されたすべてのコンテンツ・ボードであるコンテンツ・ボード400A、400C、および400Eの前方に)現れる縦向きの第1のコンテンツ・ボードである。コンテンツ・ボード400Gおよび400Hは、まだ完全にダウンロードされていないコンテンツ要素を含み、したがってキューの後方にとどまる。
図4Dでは、コンテンツ・ボード400Aがキューの前方に「ピンニング」されており、したがってコンテンツ・ボード400Aは、(縦向きであるにも関わらず)キューの前方に存続する。特定の実施形態では、キューの前方にコンテンツ・ボードをピンニングした結果、ピンニングしたコンテンツ・ボードが、特定の指定された瞬間に(例えば、ロック画面を表示するとき)常にモバイル・コンピューティング装置10の画面上に現れることがある。この例では、モバイル・コンピューティング装置が、ユーザが装置をロック解除した後、キュー内の次のコンテンツ・ボード(400D)に遷移した。表示されたコンテンツ・ボード400Bが、キュー内のコンテンツ・ボード400Dの後ろに押し戻される。装置は依然として横向きに保持されているので、縦向きのイメージを有する任意のコンテンツ・ボードが、キュー内の横向きのイメージを有する任意のコンテンツ・ボードの後ろに押し戻される。このとき、ダウンロードが完了し、まだ表示されていないコンテンツ・ボード400Gが、コンテンツ・ボード順序付けアルゴリズムによって考慮される1つまたは複数の要素に基づいて、(例えば、コンテンツ・ボード400G内に含まれるコンテンツは、ソーシャル・ネットワーキング・システムに、より最近になって投稿されたものであり、最後のコンテンツ・ボード順序付け以来の「いいね」およびコメントの数に関してコンテンツ・ボード400F内に含まれるコンテンツに勝っているので)コンテンツ・ボード400Fの前方にランク付けされる。コンテンツ・ボード400Hは、完全にダウンロードされていないコンテンツ要素を含み、したがってキューの後方にとどまる。
図4Eでは、装置ステータス情報は、装置がこのときに縦向きに保持されていることを示すが、カバー・フィードも、装置の現在の向きに対応しない向きを有するコンテンツ・ボードに対して回転およびズームインするように再構成されており、したがって向きは、もはやコンテンツ・ボード順序付けアルゴリズムによって考慮されない。コンテンツ・ボード400Aは、キューの前方にピンニングされたままであり、ロック画面を過ぎると、非常に人気のあるコンテンツ・ボード400Gが、(人気の低いコンテンツ・ボード400Fの前方にあり)モバイル・コンピューティング装置10上に表示するために利用可能にされる。このとき、(完全にダウンロードされ、まだ表示されていない)コンテンツ・ボード400Hが、キュー内のコンテンツ・ボード400Fの直後に(かつ、すべての以前に表示されたコンテンツ・ボードの前方に)現れる。
特定の実施形態では、コンテンツ・ボードが表示前にズームインされるとき、表示可能領域200内に当初表示されるコンテンツ・ボードの部分は、ユーザ、ユーザのソーシャルつながり、または何らかの他の重要なアイテムを特定するものとしてタグ付けされたイメージの領域上に焦点を合わせることができる。図4Eおよび4Fに示される例示的コンテンツ・ボードでは、ズームインされたコンテンツ・ボードが、ユーザ「アリス」を特定するものとしてタグ付けされたイメージの領域上に焦点を合わせるようにズームインされている。
図4Fでは、コンテンツ・ボード400Aはもはやキューの前方に「ピンニング」されず、このときはコンテンツ・ボード400Fが、モバイル・コンピューティング装置10上に表示するために利用可能である。コンテンツ・ボード400Aは、キュー内の今のところまだ表示されていないコンテンツ・ボード400Hの後ろ、さらには既に表示されたコンテンツ・ボード400Gの後ろに押し戻され、コンテンツ・ボード400Gは、すべての他の既に表示されたコンテンツ・ボードの前方のキュー位置に保持される(この例では、カバー・フィード対話履歴は、ユーザ「アリス」がコンテンツ・ボード400Gを長く維持し、イメージ内の自分自身をタグ付けし、コンテンツ・ポスティングに「いいね」を表明し、アリスのコメントに対する何らかの応答が投稿されたときにそれについて通知するようにアリスが要求したコンテンツ・ポスティングに対するコメントをサブミットすることにより、コンテンツ・ボード400Gに高いレベルの関心を示したことを示す)。既に閲覧したコンテンツ・ボード400A、400C、400E、400B、および400Dは、モバイル・コンピューティング装置10上に当初表示された順序でコンテンツ・ボード400Gの後に続く。
図5は、モバイル・コンピューティング装置10のためのカバー・フィードをソーシャル化ダッシュに提供する例示的方法のステップの流れ図である。前述のように、ソーシャル化ダッシュは、モバイル・コンピューティング装置10のオペレーティング・システムによって提示されるユーザ・インターフェース全体にわたってソーシャル・ネットワーキング・コンテンツおよびソーシャル・ネットワーキング機能を統合する(かつ、恐らくはそれを完全に覆い、または視覚的に目立たなくする)インターフェースをユーザに提示するように構成される。
ステップ510では、ソーシャル・ネットワーキング・システムは、新しく投稿されたコンテンツと、以前に投稿されたコンテンツおよびユーザ・プロファイル情報に対する更新と、イベント、メッセージ、通知、および他のソーシャル・ネットワーキング情報とを求めて、ユーザのソーシャル・ネットワークを監視する。
ステップ520では、ソーシャル・ネットワーキング・システムは、モバイル・コンピューティング装置10からカバー・フィード対話の履歴(例えば、ログ)を受信する。カバー・フィード対話履歴は、ユーザがどのコンテンツ・ボードを閲覧したか、どのコンテンツ・ボードがダウンロードの完了を待機中のコンテンツを依然として有するか、コンテンツ・ボードについての現在の順序はどうかに関する情報、および恐らくは、例えば、ユーザが特定のコンテンツ・ボードをどれほどの期間閲覧したか、ユーザが(例えば、ソーシャル対話機能を使用して)コンテンツ・ボードと対話したかどうか、ユーザが(例えば、タッチ・スクリーン・ジェスチャ入力を与えることによって)スキップバックして以前に閲覧したコンテンツ・ボードを持ち出したかどうか、ユーザが特定のコンテンツ・ボードを「ブックマーク」し、または特定のコンテンツ・ボードを「ホーム」ページとして「ピンニング」し、または特定のコンテンツ・ボードを一般装置UI背景またはロック画面UI背景として設定したかどうかなどの他の情報を提供することができる。
ソーシャル・ネットワーキング・サーバはまた、(例えば、装置がオンにされた、装置画面が動作可能にされた、ネットワーク接続性が確立された)装置に基づくイベントのイベント・ログまたは装置に基づくイベントに関する通知も受信することができる。特定の実施形態では、そのようなイベントは、どのコンテンツ・ボードをカバー・フィード内に含めるべきか、およびコンテンツ・ボードの順序はどうあるべきかを再評価する指定された機会のうちの1つを構成することができる。ソーシャル・ネットワーキング・サーバはまた、装置ステータス情報(例えば、ユーザのソーシャルつながりに関係する最近の装置トランザクション(例えば、呼出し/テキスト/電子メール/カレンダ招待)の履歴ログ、装置が現在どのタイプのネットワークに接続されているか、どれほどのネットワーク帯域幅が装置に対して利用可能か、電池レベル、利用可能なメモリなど)も受信することができる。
ステップ530では、ソーシャル・ネットワーキング・システムは、図3のステップ330に関して以前に説明したように、カバー・フィード対話履歴にさらに基づいて、ユーザのソーシャル・ネットワークからコンテンツを取り出す。特定の実施形態では、装置情報は、任意の装置に基づくイベントについての受信した情報および装置ステータス情報をさらに含むことができる。
特定の実施形態では、ソーシャル・ネットワーキング・システムがコンテンツの取り出しを優先順位付け、制限、および/または制御するとき、考慮のための追加の要素は、限定ではなく例として、カバー・フィード対話履歴(例えば、ユーザが特定のソーシャルつながりがタグ付けされるあらゆるカバー・ボードに「いいね」を表明していた場合、ソーシャルつながりを特定し、またはソーシャルつながりに関係するコンテンツを探す)、装置に基づくイベント(例えば、ユーザが、特定のソーシャルつながりによって送られた、装置上で動作するゲームをプレイする招待を最近受諾した場合、ソーシャルつながりを特定し、またはソーシャルつながりに関係するコンテンツを探す)、または装置ステータス情報(例えば、装置が現在充電ドックに横向きにプラグ接続されている場合、横向きを有するイメージに関連するコンテンツを探す)を含むことができる。
ステップ540では、ソーシャル・ネットワーキング・システムは、必要な場合、新しいコンテンツ・ボードまたは以前に構成したコンテンツ・ボード内に含まれるコンテンツに対する更新を構成する。特定の実施形態では、コンテンツ・ボードの構成は、ステップ340に関して先に論じたようなコンテンツの修正および/または制限を含むことができ、恐らくは、カバー・フィード対話履歴(例えば、ユーザが特定のソーシャルつながりがタグ付けされるあらゆるカバー・ボードを削除するか、または隠していた場合、ソーシャルつながりを特定し、またはソーシャルつながりに関係する任意のコンテンツを除去する)、装置に基づくイベント(例えば、ユーザが最近、特定のソーシャルつながりからの複数の電話呼出しをアクティブに拒否した場合、ソーシャルつながりを特定する任意のソーシャル対話機能を抑制する)、または装置ステータス情報(例えば、装置が現在充電ドックに横向きにプラグ接続されている場合、イメージを横向きとなるように回転する)に基づいてコンテンツを修正および/または制限することも加えられる。特定の実施形態では、ソーシャル・ネットワーキング・システムはまた、追加の新しいコンテンツ・ボードを構成し、かつ/または以前に構成したコンテンツ・ボードを更新するか否かを決定するときに、サービス・プラン制限も考慮することができる(例えば、ユーザがユーザの月間データ転送限度に達するか、またはそれに近づいているとき)(例えば、ソーシャル・ネットワーキング・システムは、特定のコンテンツが受信した「いいね」の数を更新すること、その後削除されたポスティングからのコンテンツを含むコンテンツ・ボードを除去する命令と共に更新を送ることなど、コンテンツに対する小さい更新を単に構成することができる)。
ステップ550では、次いでソーシャル・ネットワーキング・システムは、カバー・フィード250内のコンテンツ・ボードについての順序を決定する。順序は、カバー・フィード対話履歴、(ユーザに関するソーシャル・ネットワーキング情報を含む)ユーザ情報、および/または装置情報に基づくことができる。図4A〜4Fに関して説明したように、順序は、限定ではなく例として、(例えば、閲覧されていない「フレッシュ」コンテンツの表示を昇格させるか、またはユーザが同様のコンテンツ・ボードに反復的に戻ったときに、特定の位置またはソーシャルつながりに関連するコンテンツを昇格させるために)カバー・フィード対話履歴、ソーシャル・ネットワーキング・システムに投稿されたコンテンツの新しさ、異なるコンテンツ・ボード内のコンテンツの人気、異なるコンテンツ・ボード内のコンテンツの(ユーザに対する)関連性、または装置に基づくイベント(例えば、ユーザが最近、特定のソーシャルつながりとSMSメッセージ/電子メール/電話呼出しを交換した場合、ソーシャルつながりを特定するか、またはソーシャルつながりに関するコンテンツの表示を昇格させる)を含む任意の数の要素に依存することができる。特定の実施形態では、ソーシャル・ネットワーキング・システムはまた、(例えば、モバイル・コンピューティング装置10がソーシャル・ネットワーキング・システムに対してそのような情報を利用可能にするとき)ステップ590で説明したクライアント側の考慮/要素に基づいてコンテンツ・ボードの順序を決定することができる。
ステップ560では、ソーシャル・ネットワーキング・システムは、カバー・フィード250内のコンテンツ・ボードについての順序をモバイル・コンピューティング装置10に送る。この時点で、装置に送るべき新しいコンテンツ・ボードおよび/または更新がある場合、そのようなデータも装置に送ることができる。
特定の実施形態では、コンテンツ・ボード順序評価は、部分的にサーバで行うことができ(次いでサーバは、コンテンツ・ボード順序と、任意の新しいコンテンツ・ボードと、キャッシュされたコンテンツ・ボードに対する任意の更新とをモバイル装置にプッシュする)、次いで部分的にモバイル装置で行うことができる(モバイル装置は、装置に基づく情報に従ってコンテンツ・ボード順序を再評価することができる)。コンテンツ・ボード順序評価の第1の段階は、例えば、ユーザに対する関連性および/またはユーザのグループ内の人気に従ってコンテンツ・ボードを昇格させることなどの、サーバによってより容易に評価することのできる特定の規則および/または原理を支持するために、サーバで行うことができる。コンテンツ・ボード順序評価の第2の段階は、例えば、そのすべての要素が完全にダウンロードされ、モバイル装置にキャッシュされたコンテンツ・ボードを昇格させること、その向きがモバイル装置の画面の現在の向きに対応する背景イメージを有するコンテンツ・ボードを昇格させることなどの、モバイル装置によってより容易に評価することのできる特定の規則および/または原理を支持するために、モバイル装置で行うことができる。他の規則および/または原理は、例えば、モバイル装置所有者のソーシャルつながりに関連するコンテンツを含むコンテンツ・ボードを昇格させることであって、モバイル装置がソーシャルつながりに関連する通信を最近受信または送信したこと、モバイル装置への、および/またはモバイル装置からのデータ転送が使用量しきい値に接近したとき、ならびに/あるいは装置の現ステータスが普通なら特定のコンテンツ・ボードの提示の助けにならない(例えば、背景「イメージ」が、装置にとって現在利用可能なものよりも多くのメモリ/プロセッサ能力/電池電力/ネットワーク帯域幅を必要とする高解像度ビデオ・クリップへのリンクである)とき、キャッシュされたコンテンツ・ボードを保持すること(および新しいコンテンツ・ボードを取り出すことを控えること)を含むことができる。さらに、ステップ530と同様に、特定の実施形態では、ソーシャル・ネットワーキング・システムは、コンテンツ・ボードについての順序を決定する場合、(例えば、ユーザがユーザの月間データ転送限度に達するか、またはそれに近づいているとき)サービス・プラン制限も考慮することができる。
そのような状況では、モバイル・コンピューティング装置10は、カバー・フィード・キュー内のコンテンツ・ボードの位置を押し戻すことができ、またはリソースのすべてが(少なくとも十分に)利用可能となるまで、ユーザにコンテンツ・ボードを提示することを単に遅延する(次いで、表示する順番が次となるようにコンテンツ・ボードをキューアップする(queue up))ことができる。モバイル・コンピューティング装置はまた、コンテンツ・ボードの順序を更新し、コンテンツ・ボードの更新後の順序をソーシャル・ネットワーキング・システムに送り戻すこともできる(ステップ570)。
特定の実施形態は、適切な場合、図5の方法の1つまたは複数のステップを反復することができる。本開示は、図5の方法の特定のステップが特定の順序で行われるものとして説明および図示するが、本開示は、任意の適切な順序で行われる図5の方法の任意の適切なステップを企図する。さらに、本開示は、図5の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明および図示するが、本開示は、図5の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
図6A〜6Cは、継続的、周期的、または不規則に(例えば、図6A〜6Cの7角星によって示されるように、プッシュ・イベントを送り出す)コンテンツ・サーバによって提供されるコンテンツおよび他のデータを受信および表示する間の、3つの例示的モバイル・コンピューティング装置(10A、10B、および10C)についてのリソース消費を示す並列イベント・タイムラインを示す。図6A〜6Cは、例示的な装置が、プッシュ・イベントを受信し、電池電力を消費し、装置の電池を充電しながら、異なるタイプのネットワーク接続を提供する異なるネットワーク環境間を遷移するときの、1日の持続時間にわたる装置10A〜10C間のリソース消費(特に、電池電力)の変動を示す。コンテンツ・サーバ(例えば、ソーシャル・ネットワーキング・システムに関連するサーバ)によって開始されるプッシュ・イベントは、コンテンツおよび/またはデータのプッシュ(例えば、新しいコンテンツ・ボード、以前にプッシュしたコンテンツ・ボードに対する更新、および更新後のコンテンツ・ボード順序付け)、コンテンツ・サーバに要求を送る装置によって取り出すためにそのようなコンテンツおよび/またはデータが利用可能であるという通知、ならびに/あるいはアクティブ状態に入り、利用可能なコンテンツおよび/またはデータをチェックするように受信側装置に指令する「起動コマンド」を含むことができる。装置によって受信される任意のそのようなコンテンツおよび/またはデータは、表示のためにキャッシュされる(例えば、表示のためにコンテンツ・ボードをカバー・フィード内にキャッシュする)。コンテンツがユーザに表示された後、必要な場合、新しいコンテンツのための空間を作るために、キャッシュからコンテンツを除去することができる。装置のキャッシュ内に常駐する、新しい、今のところまだ表示されていないコンテンツの減退およびフローが、灰色に陰影が付けられた領域によって示される。
装置10A〜10Cは、そのハードウェアおよびソフトウェア仕様および構成に関して様々である。その全電力消費プロファイルは、(装置ごとの、それぞれのプロセッサ、画面、および4G LTE/3G/802.11abgnネットワーク接続性に関する様々な無線による電力消費に関して)最も電力効率の高い装置10Aから、最も電力効率の低い装置10Cまでにおよぶ。この例では、装置10Bは装置10Cよりも25%電力効率が高く、装置10Aは装置10Cよりも50%電力効率が高い。さらに、この例では、各装置上に設けられる無線は、速度および電力消費が同一の装置上の他の無線に対して比較的同程度に変動し、例えば、すべての3つの装置にわたって、802.1n無線は最速の最大速度を実現するが、電力消費では3番目にランク付けされ(3G無線より低いが、802.11b無線よりも高い)、4G LTE無線は最も多くの電力を消費するが、最大速度に関して3番目にランク付けされる(3Gよりも高速だが、802.11bよりも低速である)。
図6A〜6Cでは、(ハードウェアおよびソフトウェア仕様および構成に関して変動する)これらの3つの装置間のリソース消費の変動の妥当な比較を確立するために、提示した例は、いくつかの仮定を行っている。第1に、これらの3つの例示的な装置のユーザは、これらの異なるネットワーク環境を通じて共に移動する(したがって、同時に同一のネットワークに接続する)。図6A〜6Cに示されるように、装置は、00:00から07:00まで802.11n Wi−Fiネットワーク(例えば、ホームWi−Fiネットワーク)に接続され、ユーザが802.11n Wi−Fiネットワークの範囲外に移動するとき、4G LTEネットワークに接続する。次いで13:00に、ユーザは4G LTEネットワークの範囲外に移動し、より旧式の3Gネットワークに接続する。最後に、19:00に、ユーザは、(例えば、カフェの)802.11b Wi−Fiネットワークの範囲内に移動する。第2に、任意の特定の装置が特定のネットワークに接続される期間全体において、安定した(consistent)レベルの帯域幅が、期間全体にわたって、すべての装置に提供される(例えば、装置10A〜10Cが4G LTEネットワークに接続される07:00から13:00まで、6時間の期間全体にわたって、各装置10A〜10Cに安定したレベルの帯域幅が提供される)。第3に、電池電力消費は主に、様々な無線の動作によって駆動され、任意の他の原因(例えば、プロセッサ、画面)による消費は無視される。第4に、各装置10A〜10Cは、プラグ接続され、充電中に電池電力を取り出すことなく、かつ充電工程を減速することなく、着信プッシュ・イベントを処理する。
図6Aは、コンテンツおよび他のデータをサービスする例示的デフォルト・スケジュールを使用してコンテンツ・サーバによってコンテンツおよび他のデータのサービスを受けている間の装置10A〜10Cについての電池電力消費を示す並列イベント・タイムラインを示す。図6Aに示される例では、コンテンツ・サーバは、1日全体にわたって、2時間ごとに、正時に(on the hour)2MBのコンテンツおよび/またはデータを周期的にプッシュする(装置10A〜10Cは受信する)。図6Aに示されるように、モバイル・コンピューティング装置10A〜10Cは、(データ転送が使用量限度に達する時点まで)プッシュされたコンテンツおよび/またはデータがコンテンツ・サーバから受信されるごとに電池電力を消費する(その結果、その時点の後には電池電力は消費されない)。さらに、装置10A〜10Cは、異なるネットワーク環境を通り(例えば、802.11nから4G LTE、3G、802.11bへ)、異なる電力消費プロファイルを有する異なる無線を利用しなければならず、(平均データ転送率は同じままであるにも関わらず)電池電力消費率がその異なる無線に応じて変動する。
電力消費に関して最も効率的である装置10Aは、充電に関しても最も効率的であり、したがって1日全体にわたって装置10Aを使用するために、装置10Aのユーザ(アリス・リデル)は、05:30に起きるときに装置10Aを1時間プラグ接続する必要があるだけである。装置10Aよりも電力効率の低い装置10Bは、16:20に「電池低下」警告を表示し、装置10Bのユーザ(ブランチ・ラパン(Blanche Lapin))に17:00から18:30まで装置10Bをプラグ接続して充電するように促し、18:30に装置10Bは別の位置に行く準備ができ、間もなく、802.11bネットワークの範囲内に到着する。最も効率の低い装置である装置10Cのユーザは、装置10Cの電力消費制限を非常に意識しているので、05:30まで、装置10Cはプラグ接続されて充電されたままであり、その後、電池が持続するのは、14:20に「電池低下」警告が表示されるまでだけである。次いで装置10Cは、15:00から18:30までプラグ接続されて充電され、それにより、22:06にデータ転送使用量限度に達するまで持続するのに十分な電力が供給される。この時間枠にわたる、新しい、表示されていないコンテンツの消費のユーザのパターンが、陰影が付けられた灰色の領域によって示されている。
図6Bおよび6Cは、コンテンツおよび他のデータをサービスする例示的なリソース制御アルゴリズムを使用してコンテンツ・サーバによってコンテンツおよび他のデータのサービスを受けている間の同一の3つの例示的な装置についての電池電力消費を示す並列イベント・タイムラインを示す。特定の実施形態では、リソース制御アルゴリズムは、電池寿命を延ばし、高解像度イメージを含むフレッシュ・コンテンツのユーザへの十分な供給を保つという競合する目標の平衡を取るように構成することができる。
図6Bは、電池寿命を伸ばし、高解像度イメージを含むフレッシュ・コンテンツのユーザへの十分な供給を保つという上記で説明した両方の目標を最大にするように構成される例示的なリソース制御アルゴリズムの動作を示す。図6Bに示されるシナリオは、図6Aに示されるような厳密に同一のイベントおよび環境のセット(新しい、閲覧されていないコンテンツの消費のユーザのパターン、充電イベントなど)を取り、例示的なリソース制御アルゴリズムを適用して、プッシュ・イベントのパターンを変更し、電池電力消費を最小限に抑え、新しい、閲覧されていないコンテンツの配信を最大にする。充電期間中に、コンテンツ・サーバは、電池が低下しているときに新しいコンテンツをプッシュすることなく、より長い期間にわたって進行することができるために、可能な限り多くの、新しいコンテンツおよび/またはデータをアクティブにプッシュする。
図6Cは、複数の装置にわたって比較的一様な電池消費率を促進するように構成される例示的なリソース制御アルゴリズムの動作を示す。図6Cに示されるように、(例えば、装置がプラグ接続されるかどうか、装置が低電力無線を使用してネットワークに接続されるかどうか、ユーザがコンテンツをアクティブに閲覧していたかどうかに基づいて)より戦略的なスケジュールを構成することを支持して、電力効率の高い装置よりも低い頻度で(かつ、低い定期性で)電力効率の低い装置を起動するようにプッシュ・イベントがスケジューリングされる。図からわかるように、装置がプラグ接続され、電池が充電されているとき(05:30から06:30までの期間中)、電力効率の高い装置10Aよりも頻繁に電力効率の低い装置10Bおよび10Cを起動するようにプッシュ・イベントが送られる。装置が低電力無線などによってネットワークに接続されるとき、やはり電力効率の高い装置10Aよりも頻繁に電力効率の低い装置10Bおよび10Cにプッシュ・イベントが送られる。最後に、コンテンツが表示されていない場合(例えば、06:30から12:30までの装置10Cに関して示されているように、装置のユーザが会議中または授業中であった可能性のあるとき)、特に装置がより高電力の無線の使用を必要とするネットワークに接続される場合、プッシュ・イベントが低い頻度で送られる(または完全に差し控えられる)。特定の実施形態では、装置認識不能(device-agnostic)電力しきい値を指定することができ(例えば、20%の充電残量)、それによって、電池の電力ステータスが電力しきい値に近く、装置が現在充電中ではないことを装置ステータス情報が示す場合、コンテンツ・サーバは、スケジュール内のプッシュ・イベントを停止し、またはプッシュ・イベントの頻度を削減することができる。
特定の実施形態では、サーバはまた、データ消費のコスト(例えば、従量制データ消費モデル)および/または(例えば、ネットワーク・サービス・プロバイダによって課される)データ使用量転送限度に基づいてプッシュ・イベントのスケジュールを修正することもできる。ロケール(locale)に基づいて(国内の典型的なデータ・プラン上限に関する仮定に基づいて)、かつ/または装置にとって利用可能なネットワークのタイプ(例えば、EDGE、GPRS、4G)に基づいて、データ消費のコストおよび/またはデータ使用量転送限度を推定することができる。ネットワーク・プロバイダまたは装置がユーザのサービス・プランについての実際のデータ使用量転送限度に関する情報を提供する場合、サーバは、特定の装置についてのプッシュ・イベント・スケジュールを決定するとき、リソース制御アルゴリズムでそのような情報を利用することができる。
特定の実施形態では、サーバはまた、(データ・プリフェッチング(data pre-fetching)を含む)それぞれの日に所与の装置によってダウンロードされるデータ量に関する1日の限度を課すこともできる。1日の上限を課すことにより、サーバは平滑化効果を達成することができ、ユーザは、1日ごとに少なくともある程度のデータ転送を利用することができる(例えば、それによって、月内に2週を残して1月ごとのデータ転送限度に陥ることを回避する)。さらに、サーバは、ユーザが装置上で実施することがある他の操作のために十分なデータ使用量が確保されることを保証することができる。データ使用量転送限度に関連する期間(例えば、日、月、年)の如何に関わらず、サーバは、期間が更新されるまで、(データ使用量転送限度を課すネットワークに接続中に)プッシュ・イベントを制限することができる。
装置が接続されるネットワークのタイプに基づいて、データ使用量に関する限度を調節することもできる。例えば、サーバは、装置が接続されるネットワークのタイプを検出し、Wi−Fiに接続されるとき、(Wi−Fi接続を使用するときは、通常はデータ転送に関する限度がなく、データ転送のための増分のコストがないため)50個のコンテンツ・アイテムをプリフェッチし、(通常はデータ転送使用量限度を課す)3Gネットワークに接続されるとき、3つのコンテンツ・アイテムのみをプリフェッチすることができる。
装置があるネットワーク(例えば、3Gネットワーク)についてのデータ転送使用量限度にあるとき、サーバは、装置が異なるネットワーク(例えば、Wi−Fiネットワーク)に接続されることを検出したときにプッシュ・イベントを開始することができるだけである。それらの記事(those stories)の後、その記事についてのイメージを有するが、見られていない、より古い記事を示し、次いで最後に、装置上で既に見られているイメージを有する記事を示す。経時的に、より多くのデータが利用可能になるにつれて、これらの新しい記事がイメージを得て、カバー・フィードの前方に自動的に移動する。
特定の実施形態では、サーバは、コストのかかる、または低帯域幅のネットワーク(例えば、4G LTE)に接続されるとき、ダウンスケールされたコンテンツを提供することもできる(例えば、イメージ・サイズ/解像度/タイプを低減し、ビデオ・ファイル全体の代わりに単一のプレビュー・フレームおよびビデオへのリンクを選択し、または音楽ファイルを4分から短い20秒だけのオーディオ・クリップを切り取る)。次いでサーバは、よりコストの低い/高帯域幅のネットワーク(例えば、802.11b Wi−Fiネットワーク)に接続されたとき、コンテンツのアップスケールされたバージョンを提供することができる。いくつかのバージョンのコンテンツを生成および格納し、次いでデータ転送使用量のカテゴリ(例えば、低、中、高)に分類することができる。例えば、大きい(1920×1080ピクセル)、高解像度のJoint Photographic Experts Group(JPEG)イメージを、装置が3Gネットワークに接続される間に装置に送られるコンテンツ・ボードに含めるための、より小さい(モバイル・コンピューティング装置10の画面のサイズに対して適切にスケーリングされた、800×480ピクセル)、低解像度圧縮JPEGイメージにダウンスケールすることができるが、装置がWi−Fiネットワークに接続した後は、サーバは、装置の新しいネットワーク・ステータスを検出し、元のバージョンのイメージを用いたコンテンツ・ボードに対する更新を送ることができる。
図7は、新しい、および/または更新されたコンテンツおよび/またはデータを装置に提供するスケジュールを修正するためにリソース制御アルゴリズムを適用することにより、サーバがクライアント側リソース消費を制御する例示的な方法のステップの流れ図である。ステップ710では、サーバは、装置および/または特定の装置機能(例えば、ネットワーキング・ラジオ、プロセッサ、ディスプレイ画面)についての電力消費プロファイルを含む装置仕様および装置設定を格納することができる。電力消費プロファイルは、装置全体または特定の装置機能の典型的な電力消費率に関する情報を含む。電力消費プロファイルは、異なる状況について異なる電力消費率を指定することができる(例えば、4G LTE無線の電力消費は、装置の現在位置に基づいて確実に変動することがある)。
ステップ720では、サーバは、電力ステータス(例えば、電池充電が現在40%であること、装置が現在プラグ接続され、充電中であること)およびネットワーク接続性(例えば、装置が接続されるネットワークのタイプ、ネットワークに接続するために装置がどの無線を利用しているか、検出した利用可能な帯域幅、装置が接続されるネットワークのコストがある場合にそのコスト、装置が接続されるネットワークのセキュリティ機能および設定)を含む装置ステータス情報を装置から受信することができる。
ステップ730では、サーバは、プッシュ・イベントの頻度を遅延または削減することが適切であり、かつ/または役立つかどうかを判定するために、例えば、装置キャッシュが高い割合のフレッシュ(新しく、閲覧されていない)コンテンツを含むかどうか、装置が現在接続されているネットワークに適用されるデータ転送使用量限度、および装置の現データ転送使用量ステータスなどの装置に基づく消費要素(device-based consumption factor)などの他の要素を評価する。
ステップ740では、サーバは、システム全体の消費要素(例えば、装置認識不能電力しきい値)を決定する。特定の実施形態では、例えば、(一般に)電力効率の高い装置を電力効率の低い装置よりも頻繁に起動し、プラグ接続され、電池を充電中のとき、電力効率の低い装置を電力効率の高い装置よりも頻繁に起動し、低電力無線によってネットワークに接続されるとき、電力効率の低い装置を電力効率の高い装置よりも頻繁に起動するなど、複数の装置にわたって比較的一様な電池消費率を促進するように電池電力消費を制御するようにリソース制御アルゴリズムをさらに構成することができる。そのような実施形態では、装置認識不能電力しきい値(device-agnostic power threshold)を指定することができ(例えば、20%の充電残量)、それによって、電池の電力ステータスが電力しきい値に近く、装置が現在充電中ではないことを装置ステータス情報が示す場合、コンテンツ・サーバは、スケジュール内のプッシュ・イベントを停止し、またはプッシュ・イベントの頻度を削減することができる。
ステップ750では、サーバは、リソース制御アルゴリズムを使用することにより、装置を起動し、コンテンツを提供するプッシュ・イベント・スケジュールを決定することができる。特定の実施形態では、コンテンツ・サーバは、各装置について、サーバ側コマンドを開始して装置を起動し、コンテンツおよび/または他のデータを装置にプッシュするサーバ側スケジュールを(リソース制御アルゴリズムを使用して)決定し、維持することができる。特定の実施形態では、コンテンツ・サーバは、クライアント側コマンドを開始してモバイル装置を起動し、コンテンツ・サーバからコンテンツおよび/または他のデータをプルするために、装置上にインストールされた機能と共に使用されるクライアント側スケジュールを各モバイル装置に送ることができる。これらの実施形態では、コンテンツ・サーバは、クライアント側スケジュールを維持し、更新後バージョンを装置に周期的に送ることができる。特定の実施形態では、装置によるリソース消費を制御するように、そのようなスケジュールを構成することができる。例えば、プッシュ・イベントのスケジュールは、電池寿命を延ばし(かつ、充電しきい値の超過を回避し)、かつ/またはネットワーク・データ転送使用量を低減する(かつ、ネットワーク・サービス・プロバイダによって課されるデータ転送限度の超過を回避する)ために、充電イベント、低電力無線を利用するネットワークへの接続性の期間、無料ネットワークおよび/または無制限のネットワーク(例えば、データ転送限度を有さないもの)への接続性の期間を活用することができる。
ステップ760では、サーバは、(例えば、カバー・フィードに関して上記で説明したような)ユーザ情報および装置情報に基づいて、ユーザに提供するコンテンツを特定する。例えば、ソーシャル・ネットワーキング・システムに関連するコンテンツ・サーバは、ユーザのソーシャルつながりによってソーシャル・ネットワーキング・システムに投稿されたコンテンツを取り出し、新しいコンテンツ・ボードを構成し、ユーザのモバイル・コンピューティング装置10上のカバー・フィードについての以前に提供したコンテンツ・ボードに対する更新を構成することができる。特定の実施形態では、サーバは、ユーザに提供する候補であるコンテンツを継続的に特定するが、実際には、(例えば、最もフレッシュなコンテンツが装置に送られることを保証するために、各プッシュ・イベントが行われる直前に)スケジュールに従ってユーザに提供される実際のコンテンツを取り出す/構成する/生成するだけでよい。
ステップ770では、サーバは、スケジュールに従ってプッシュ・イベント(例えば、モバイル・コンピューティング装置10を起動するコマンド、またはコンテンツが取り出しのために利用可能であるという通知)を装置に送る。装置がプッシュ・イベントを受信するとき、装置は、リソース制御アルゴリズムに対する入力(例えば、装置の電力ステータスおよびネットワーク接続性ステータス)を提供するために、(ステップ720で説明したように)サーバに情報を送り戻すことができる。代替実施形態では、サーバにプッシュ・イベントを送り出させるのではなく、サーバは、クライアント側コマンドを開始して、モバイル装置を起動し、サーバからコンテンツおよび/または他のデータをプルするスケジュールを維持し、装置に周期的に送ることができる。
特定の実施形態は、適切な場合、図7の方法の1つまたは複数のステップを反復することができる。本開示は、図7の方法の特定のステップが特定の順序で行われるものとして説明および図示するが、本開示は、任意の適切な順序で行われる図7の方法の任意の適切なステップを企図する。さらに、本開示は、図7の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明および図示するが、本開示は、図7の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
図8は、ソーシャル・ネットワーキング・システムに関連する例示的ネットワーク環境800を示す。ネットワーク環境800は、ネットワーク810によって互いに接続されたクライアント・システム830、ソーシャル・ネットワーキング・システム860、およびサード・パーティ・システム870を含む。図8は、クライアント・システム830、ソーシャル・ネットワーキング・システム860、サード・パーティ・システム870、およびネットワーク810の特定の構成を示すが、本開示は、クライアント・システム830、ソーシャル・ネットワーキング・システム860、サード・パーティ・システム870、およびネットワーク810の任意の適切な構成を企図する。限定ではなく例として、ネットワーク810を迂回して、クライアント・システム830、ソーシャル・ネットワーキング・システム860、およびサード・パーティ・システム870のうちの2つ以上を互いに直接的に接続することができる。別の例として、クライアント・システム830、ソーシャル・ネットワーキング・システム860、およびサード・パーティ・システム870のうちの2つ以上を、物理的または論理的に、全体的または部分的に共に配置することができる、さらに、図8は、特定の数のクライアント・システム830、ソーシャル・ネットワーキング・システム860、サード・パーティ・システム870、およびネットワーク810を示すが、本開示は、任意の適切な数のクライアント・システム830、ソーシャル・ネットワーキング・システム860、サード・パーティ・システム870、およびネットワーク810を企図する。限定ではなく例として、ネットワーク環境800は、複数のクライアント・システム830、ソーシャル・ネットワーキング・システム860、サード・パーティ・システム870、およびネットワーク810を含むことができる。
本開示は、任意の適切なネットワーク810を企図する。限定ではなく例として、ネットワーク810のうちの1つまたは複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network : VPN)、ローカル・エリア・ネットワーク(LAN)、ワイヤレスLAN(WLAN)、広域ネットワーク(WAN)、ワイヤレスWAN(WWAN)、大都市圏ネットワーク(metropolitan area network : MAN)、インターネットの一部、公衆交換電話網(PSTN)の一部、携帯電話網、またはこれらの2つ以上の組合せを含むことができる。ネットワーク810は、1つまたは複数のネットワーク810を含むことができる。
リンク850は、クライアント・システム830、ソーシャル・ネットワーキング・システム860、およびサード・パーティ・システム870を通信ネットワーク810に、または互いに接続することができる。本開示は、任意の適切なリンク850を企図する。特定の実施形態では、1つまたは複数のリンク850は、1つまたは複数のワイヤーライン(例えば、デジタル加入者線(DSL)またはデータ・オーバー・ケーブル・サービス・インターフェース仕様(DOCSIS:Data Over Cable Service Interface Specification)など)、ワイヤレス(例えば、Wi−Fiまたはマイクロ波アクセスのための世界的相互運用性(WiMAX:Worldwide Interoperability for Microwave Access)など)、または光(例えば、同期光ネットワーク(SONET)または同期デジタル階層(SDH)など)リンクを含む。特定の実施形態では、1つまたは複数のリンク850はそれぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部、PSTNの一部、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク850、または2つ以上のそのようなリンク850の組合せを含む。リンク850は、必ずしもネットワーク環境800全体を通じて同一である必要はない。1つまたは複数の第1のリンク850は、1つまたは複数の点で1つまたは複数の第2のリンク850と異なることがある。
特定の実施形態では、クライアント・システム830は、ハードウェア、ソフトウェア、もしくは組込み論理構成要素、または2つ以上のそのような構成要素の組合せを含み、クライアント・システム830によって実装またはサポートされる適切な機能を実施することができる電子装置でよい。限定ではなく例として、クライアント・システム830は、デスクトップ・コンピュータ、ノートブックもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータ、電子ブック・リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子装置、セルラ電話、スマートフォン、その他の適切な電子装置、またはこれらの任意の適切な組合せなどのコンピュータ・システムを含み得る。本開示は、任意の適切なクライアント・システム830を企図する。クライアント・システム830は、クライアント・システム830のネットワーク・ユーザがネットワーク810にアクセスすることを可能にし得る。クライアント・システム830は、そのクライアント・システム830のユーザがその他のクライアント・システム830のその他のユーザと通信することを可能にし得る。
特定の実施形態では、クライアント・システム830は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブ・ブラウザ832を含み、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBARなどのその他の拡張機能を有する。クライアント・システム830のユーザは、ウェブ・ブラウザ832を(サーバ862、またはサード・パーティ・システム170に関連するサーバなどの)特定のサーバに振り向けるユニフォーム・リソース・ロケータ(URL)またはその他のアドレスを入力し、ウェブ・ブラウザ832は、ハイパー・テキスト転送プロトコル(HTTP)要求を生成し、HTTP要求をサーバに伝達する。サーバは、HTTP要求を受け付け、HTTP要求に応じた1つまたは複数のハイパー・テキスト・マークアップ言語(HTML)ファイルをクライアント・システム830に伝達し得る。クライアント・システム830は、ユーザへの提示のためにサーバからのHTMLファイルに基づいてウェブ・ページをレンダリングし得る。本開示は、任意の適切なウェブ・ページ・ファイルを企図する。限定ではなく例として、ウェブ・ページは、特定の必要に応じて、HTMLファイル、拡張可能ハイパー・テキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングされ得る。そのようなページは、例えば、限定はしないが例えば、JAVASCRIPTで記述されたスクリプトなどのスクリプト、JAVA、MICROSOFT SILVERLIGHT、AJAX(非同期JAVASCRIPTおよびXML)などのマークアップ言語とスクリプトとの組合せなどを実行する。本明細書において、適切な場合、ウェブ・ページに対する参照は、(ブラウザがウェブ・ページをレンダリングするために使用し得る)1つまたは複数の対応するウェブ・ページ・ファイルを包含し、逆も同様である。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、オンライン・ソーシャル・ネットワークをホストすることができるネットワーク・アドレス指定可能コンピューティング・システムでよい。ソーシャル・ネットワーキング・システム860は、例えば、ユーザ・プロファイル・データ、概念(concept)プロファイル・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関する他の適切なデータなどのソーシャル・ネットワーキング・データを生成、格納、受信、および送信することができる。ネットワーク環境800のその他の構成要素により、直接的に、またはネットワーク810を介して、ソーシャル・ネットワーキング・システム860にアクセスすることができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、1つまたは複数のサーバ862を含むことができる。各サーバ862は、単一のサーバであるか、または複数のコンピュータもしくは複数のデータセンタにわたる分散型サーバである。サーバ862は、限定はしないが例えば、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、エクスチェンジ・サーバ(exchange server)、データベース・サーバ、プロキシ・サーバ、本明細書において説明される機能もしくは方法を実施するのに適切な別のサーバ、またはこれらの任意の組合せなどの様々なタイプである。特定の実施形態では、各サーバ862は、ハードウェア、ソフトウェア、もしくは組込み論理構成要素、またはサーバ862によって実装またはサポートされる適切な機能を実施するための2つ以上のそのような構成要素の組合せを含むことができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、1つまたは複数のデータ・ストア864を含むことができる。データ・ストア864は、様々なタイプの情報を記憶するために使用され得る。特定の実施形態では、データ・ストア864に記憶される情報は、特定のデータ構造にしたがって編成され得る。特定の実施形態では、各データ・ストア864は、リレーショナル・データベース、列指向データベース、相関データベース(correlation database)、または他の適切なデータベースである。本開示は、特定のタイプのデータベースを説明または図示するが、本開示は任意の適切なタイプのデータベースを企図する。特定の実施形態は、クライアント・システム830、ソーシャル・ネットワーキング・システム860、またはサード・パーティ・システム870がデータ・ストア864に記憶された情報を管理、検索、修正、追加、または削除することを可能にするインターフェースを提供し得る。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、1つまたは複数のデータ・ストア864に1つまたは複数のソーシャル・グラフを記憶し得る。特定の実施形態では、ソーシャル・グラフは、複数のノードと、ノードを接続する複数のエッジとを含み得る。複数のノードは、(それぞれが特定のユーザに対応する)複数のユーザ・ノードまたは(それぞれが特定の概念に対応する)複数の概念ノードを含み得る。ソーシャル・ネットワーキング・システム860は、オンライン・ソーシャル・ネットワークのユーザに他のユーザと通信および対話する能力を提供し得る。特定の実施形態では、ユーザは、ソーシャル・ネットワーキング・システム860を介してオンライン・ソーシャル・ネットワークに参加し、それから、それらのユーザがつなげられたいソーシャル・ネットワーキング・システム860の何人かの他のユーザへのつながり(例えば、関係)を追加し得る。本明細書において、「友達」という用語は、ソーシャル・ネットワーキング・システム860を介してユーザがつながり、関連付け、または関係を形成したソーシャル・ネットワーキング・システム860の任意の他のユーザを指すことがある。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、ソーシャル・ネットワーキング・システム860によってサポートされる様々なタイプのアイテム(item)またはオブジェクトに対するアクションを行う機能をユーザに提供し得る。限定ではなく例として、アイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム860のユーザが属するグループもしくはソーシャル・ネットワーク、ユーザが関心を持っているイベントもしくはカレンダのエントリ、ユーザが使用し得るコンピュータに基づくアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実施することができる広告とのインタラクション(interaction)、または他の適切なアイテムもしくはオブジェクトを含み得る。ユーザは、ソーシャル・ネットワーキング・システム860、またはソーシャル・ネットワーキング・システム860と分かれており、ネットワーク810を介してソーシャル・ネットワーキング・システム860に結合されるサード・パーティ・システム870の外部システムによって示され得る任意のものと対話することができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、様々なエンティティをリンクすることができる。限定ではなく例として、ソーシャル・ネットワーキング・システム860は、ユーザが互いに対話し、サード・パーティ・システム870もしくは他のエンティティからコンテンツを受信するか、またはユーザがアプリケーション・プログラミング・インターフェース(API)もしくは他の通信チャネルを通じてこれらのエンティティと対話することを可能にする。
特定の実施形態では、サード・パーティ・システム870は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、APIを含むがこれに限定されない1つもしくは複数のインターフェース、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または例えばサーバが通信することができる任意の他の適切な構成要素を含む。サード・パーティ・システム870は、ソーシャル・ネットワーキング・システム860を運用するエンティティとは異なるエンティティによって運用される。しかし、特定の実施形態では、ソーシャル・ネットワーキング・システム860およびサード・パーティ・システム870は、互いに連係して動作して、ソーシャル・ネットワーキング・システム860またはサード・パーティ・システム870のユーザにソーシャル・ネットワーキング・サービスを提供し得る。この意味で、ソーシャル・ネットワーキング・システム860は、サード・パーティ・システム870などの他のシステムがインターネットを介してユーザにソーシャル・ネットワーキング・サービスおよび機能を提供するために使用し得るプラットフォームまたはバックボーンを提供する。
特定の実施形態では、サード・パーティ・システム870は、サード・パーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サード・パーティ・コンテンツ・オブジェクト・プロバイダは、クライアント・システム830に伝達され得るコンテンツ・オブジェクトの1つまたは複数のソースを含むことができる。限定ではなく例として、コンテンツ・オブジェクトは、例えば、映画の上映時間、映画の批評、レストランの批評、レストランのメニュー、製品の情報および批評、または他の適切な情報などのユーザが関心を持っているものまたは活動に関する情報を含むことができる。限定ではなく別の例として、コンテンツ・オブジェクトは、クーポン、割引チケット、商品券、または他の適切なインセンティブ・オブジェクト(incentive object)などのインセンティブ・コンテンツ・オブジェクト(incentive content object)を含むことができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、ソーシャル・ネットワーキング・システム860とのユーザの対話を向上させ得るユーザによって生成されたコンテンツ・オブジェクトも含む。ユーザによって生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム860に追加、アップロード、送信、または「投稿」することができる任意のものを含む。限定ではなく例として、ユーザは、クライアント・システム830からソーシャル・ネットワーキング・システム860に投稿を伝達する。投稿は、最新の近況もしくは他のテキスト・データ、位置情報、フォト、ビデオ、リンク、音楽、または他の同様のデータもしくは媒体などのデータを含む。コンテンツは、ニュース・フィードまたはストリームなどの「通信チャネル」を通じてサード・パーティ・によってソーシャル・ネットワーキング・システム860に追加される。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含む。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、以下、すなわち、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランク付けエンジン(relevance−and−ranking engine)、コンテンツ・オブジェクト分類器、通知コントローラ、アクション・ログ、サード・パーティ・コンテンツ・オブジェクト露出ログ、推定モジュール、許可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール(advertisement−targeting module)、ユーザ・インターフェース・モジュール、ユーザ・プロファイル・ストア、つながりストア(connection store)、サード・パーティ・コンテンツ・ストア、または位置ストアのうちの1つまたは複数を含むことができる。ソーシャル・ネットワーキング・システム860は、ネットワーク・インターフェース、セキュリティ・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク操作コンソール、他の適切な構成要素、またはこれらの任意の適切な組合せなどの適切な構成要素も含む。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、ユーザ・プロファイルを記憶するための1つまたは複数のユーザ・プロファイル・ストアを含む。ユーザ・プロファイルは、例えば、経歴、人口統計情報、行動情報、ソーシャル情報(social information)、あるいは職歴、学歴、趣味もしくは好み、関心、アフィニティ(affinity)、または位置などの他のタイプの記述情報を含む。関心の情報は、1つまたは複数のカテゴリに関連する関心を含む。カテゴリは、大まかであるかまたは詳細である。限定ではなく例として、ユーザが、靴のブランドに関する記事「に対して『いいね』を表明する(like)」場合、カテゴリは、ブランドであるか、または大まかなカテゴリ「靴」もしくは「衣料品」である。つながりストアは、ユーザについてのつながり情報を記憶するために使用され得る。つながり情報は、同様のもしくは共通の職歴、グループへの所属、趣味、学歴を有するか、または何らかの形で関連があるか、もしくは共通の属性を共有するユーザを示す。つながり情報は、異なるユーザと(内部と外部との両方の)コンテンツとの間のユーザによって定義されたつながりも含む。ウェブ・サーバは、ソーシャル・ネットワーキング・システム860をネットワーク810を介して1つもしくは複数のクライアント・システム830または1つもしくは複数のサード・パーティ・システム870にリンクするために使用され得る。ウェブ・サーバは、メール・サーバ、またはメッセージを受信し、ソーシャル・ネットワーキング・システム860と1つまたは複数のクライアント・システム830との間でルーティングするための他のメッセージング機能を含む。API要求サーバは、サード・パーティ・システム870が1つまたは複数のAPIを呼び出すことによってソーシャル・ネットワーキング・システム860の情報にアクセスする。アクション・ロガーは、ソーシャル・ネットワーキング・システム860に対するユーザのアクションまたはソーシャル・ネットワーキング・システム860に対してではないユーザのアクションについてのウェブ・サーバからの通信を受信するために使用され得る。アクション・ログと併せて、ユーザに対するサード・パーティ・コンテンツ・オブジェクトの露出のサード・パーティ・コンテンツ・オブジェクト・ログが、保有され得る。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム830に提供し得る。情報は、クライアント・システム830に通知としてプッシュされるか、またはクライアント・システム830から受信された要求に応じてクライアント・システム830からプルされる。許可サーバは、ソーシャル・ネットワーキング・システム860のユーザの1つまたは複数のプライバシー設定を施行するために使用され得る。ユーザのプライバシー設定は、ユーザに関連する特定の情報がどのように共有され得るかを決定する。許可サーバは、ユーザが、例えば、適切なプライバシー設定を設定することによるなどしてそれらのユーザのアクションをソーシャル・ネットワーキング・システム860によってログに記録させるかまたは他のシステム(例えば、サード・パーティ・システム870)と共有させることを選択するかまたは選択しない。サード・パーティ・コンテンツ・オブジェクト・ストアは、サード・パーティ・システム870などのサード・パーティ・から受信されたコンテンツ・オブジェクトを記憶するために使用され得る。位置ストアは、ユーザに関連するクライアント・システム830から受信された位置情報を記憶するために使用され得る。広告値付けモジュール(advertisement−pricing module)は、ソーシャル情報、現在の時間、位置情報、または他の適切な情報を組み合わせて、関連する広告を通知の形態でユーザに提供し得る。
図9は、例示的なソーシャル・グラフ900を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、1つまたは複数のデータ・ストア(data store)内に1つまたは複数のソーシャル・グラフ900を格納することができる。特定の実施形態では、ソーシャル・グラフ900は、複数のノード(これは複数のユーザ・ノード902または複数の概念ノード(concept node)904を含むことができる)と、ノードを接続する複数のエッジ(edge)906とを含むことができる。図9に示される例示的なソーシャル・グラフ900は、説明のために、2次元視覚マップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム860、クライアント・システム830、またはサード・パーティ・システム870は、ソーシャル・グラフ900および適切なアプリケーションについての関連するソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ900のノードおよびエッジを、データ・オブジェクトとして、例えばデータ・ストア(ソーシャル・グラフ・データベースなど)内に格納することができる。そのようなデータ・ストアは、ソーシャル・グラフ900のノードまたはエッジの1つまたは複数の検索可能または照会可能な索引を含むことができる。
特定の実施形態では、ユーザ・ノード902は、ソーシャル・ネットワーキング・システム860のユーザに対応することができる。限定ではなく例として、ユーザは、ソーシャル・ネットワーキング・システム860と、またはソーシャル・ネットワーキング・システム860を介して対話または通信する個人(人間のユーザ)、エンティティ(例えば、企業、ビジネス、またはサード・パーティ・アプリケーション)、または(例えば、個人またはエンティティの)グループでよい。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム860にアカウントを登録するとき、ソーシャル・ネットワーキング・システム860は、ユーザに対応するユーザ・ノード902を作成し、1つまたは複数のデータ・ストア内にユーザ・ノード902を格納することができる。本明細書で説明するユーザおよびユーザ・ノード902は、適切な場合、登録されたユーザおよび登録されたユーザに関連するユーザ・ノード902を指す。追加または代替として、本明細書で説明するユーザおよびユーザ・ノード902は、適切な場合、ソーシャル・ネットワーキング・システム860に登録していないユーザを指す。特定の実施形態では、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム860を含む様々なシステムによって収集される情報に、ユーザ・ノード902を関連付けることができる。限定ではなく例として、ユーザは、ユーザの名前、プロファイル写真、連絡先情報、誕生日、性別、結婚状況、家族状況、職業、学歴、好み、関心、または他の人口統計情報を提供することができる。特定の実施形態では、ユーザに関連する情報に対応する1つまたは複数のデータ・オブジェクトにユーザ・ノード902を関連付けることができる。特定の実施形態では、ユーザ・ノード902は、1つまたは複数のウェブ・ページに対応することができる。
特定の実施形態では、概念ノード904は概念(concept)に対応することができる。限定ではなく例として、概念は、場所(例えば、映画館、レストラン、ランドマーク、または都市など)、ウェブサイト(例えば、ソーシャル・ネットワーク・システム860に関連するウェブサイトまたはウェブ・アプリケーション・サーバに関連するサード・パーティ・ウェブサイトなど)、エンティティ(例えば、人、会社、グループ、スポーツ・チーム、または有名人など)、ソーシャル・ネットワーキング・システム860内またはウェブ・アプリケーション・サーバなどの外部サーバ上に位置することのできるリソース(例えば、オーディオ・ファイル、ビデオ・ファイル、デジタル・フォト、テキスト・ファイル、構造化された文書、またはアプリケーションなど)、物的または知的財産(例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著作物など)、ゲーム、活動、アイデアまたは理論、他の適切な概念、あるいは2つ以上のそのような概念に対応することができる。ユーザによって提供される概念の情報、またはソーシャル・ネットワーキング・システム860を含む様々なシステムによって収集される情報に概念ノード904を関連付けることができる。限定ではなく例として、概念の情報は、名前またはタイトル、1つまたは複数のイメージ(例えば、本のカバー・ページのイメージ)、位置(例えば、住所または地理的位置)、ウェブサイト(それをURLに関連付けることができる)、連絡先情報(例えば、電話番号またはeメール・アドレス)、他の適切な概念情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態では、概念ノード904に関連する情報に対応する1つまたは複数のデータ・オブジェクトに概念ノード904を関連付けることができる。特定の実施形態では、概念ノード904は1つまたは複数のウェブ・ページに対応することができる。
特定の実施形態では、ソーシャル・グラフ900内のノードは、ウェブ・ページ(「プロファイル・ページ」と呼ばれることがある)を表すこと、またはウェブ・ページによって表すことができる。プロファイル・ページは、ソーシャル・ネットワーキング・システム860によってホストすること、またはソーシャル・ネットワーキング・システム860にとってアクセス可能にすることができる。プロファイル・ページはまた、サード・パーティ・サーバ870に関連するサード・パーティ・ウェブサイト上でホストすることもできる。限定ではなく例として、特定の外部ウェブ・ページに対応するプロファイル・ページは、特定の外部ウェブ・ページでよく、プロファイル・ページは、特定の概念ノード904に対応することができる。プロファイル・ページは、他のユーザのすべてまたは選択された一部分によって閲覧可能とすることができる。限定ではなく例として、ユーザ・ノード902は、対応するユーザがその中でコンテンツを追加し、宣言を行い、あるいはユーザ自身を表現することのできる、対応するユーザ・プロファイル・ページを有することができる。限定ではなく別の例として、概念ノード904は、特に概念ノード904に対応する概念に関連して、1人または複数のユーザがその中でコンテンツを追加し、宣言を行い、またはユーザ自身を表現することのできる、対応する概念プロファイル・ページを有することができる。
特定の実施形態では、概念ノード904は、サード・パーティ・システム870によってホストされるサード・パーティ・ウェブページまたはリソースを表すことができる。サード・パーティ・ウェブページまたはリソースは、他の要素において、コンテンツ、選択可能な、もしくは他のアイコン、またはアクションもしくは活動を表す(例えば、JAVA(登録商標)Script、AJAX、またはPHPコードで実装することのできる)他の対話型オブジェクトを含むことができる。限定ではなく例として、サード・パーティ・ウェブページは、「いいね」、「チェックイン(check in)」、「食べる(eat)」、「レコメンド(recommend)」、または別の適切なアクションもしくは活動などの、選択可能なアイコンを含むことができる。サード・パーティ・ウェブページを閲覧するユーザは、アイコンのうちの1つ(例えば、「食べる」)を選択し、クライアント・システム830に、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム860に送信させることによってアクションを実施することができる。メッセージに応答して、ソーシャル・ネットワーキング・システム860は、ユーザに対応するユーザ・ノード902と、サード・パーティ・ウェブページまたはリソースに対応する概念ノード904との間のエッジ(例えば、「食べる」エッジ)を作成し、1つまたは複数のデータ・ストア内にエッジ906を格納することができる。
特定の実施形態では、1つまたは複数のエッジ906によってソーシャル・グラフ900内の1対のノードを互いに接続することができる。1対のノードを接続するエッジ906は、その1対のノード間の関係を表すことができる。特定の実施形態では、エッジ906は、1対のノード間の関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むか、または表すことができる。限定ではなく例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム860は、第2のユーザに「友達要求」を送信することができる。第2のユーザが「友達要求」を確認した場合、ソーシャル・ネットワーキング・システム860は、第1のユーザのユーザ・ノード902をソーシャル・グラフ900内の第2のユーザのユーザ・ノード902に接続するエッジ906を作成し、データ・ストア94のうちの1つまたは複数の中にエッジ906をソーシャル・グラフ情報として格納することができる。図9の例では、ソーシャル・グラフ900は、ユーザ「A」とユーザ「B」のユーザ・ノード902間の友達関係を示すエッジ906と、ユーザ「C」とユーザ「B」のユーザ・ノード902間の友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード902を接続する特定の属性を有する特定のエッジ906を説明するかまたは図示するが、本開示は、ユーザ・ノード902を接続する任意の適切な属性を有する任意の適切なエッジ906を企図する。限定ではなく例として、エッジ906は、友達関係、家族関係、ビジネスまたは雇用関係、ファン関係(fan relationship)、フォロワ関係、ビジター関係(visitor relationship)、加入者関係、上位/従属関係、相互関係、非相互関係、別の適切なタイプの関係、または2つ以上のそのような関係を表すことができる。さらに、本開示は一般にノードが接続されているものとして説明するが、本開示はまた、ユーザまたは概念が接続されているものとして説明する。本明細書では、接続されているユーザまたは概念に対する参照は、適切な場合、1つまたは複数のエッジ906によってソーシャル・グラフ900内で接続されているユーザまたは概念に対応するノードを指すことがある。
特定の実施形態では、ユーザ・ノード902と概念ノード904との間のエッジ906は、概念ノード904に関連する概念に対する、ユーザ・ノード902に関連するユーザによって実施される特定のアクションまたは活動を表すことができる。限定ではなく例として、図9に示されるように、ユーザは、概念に対して「いいね」を表明し、概念に「出席し」、概念を「再生し」、概念を「聴取し」、概念を「調理し」、概念に「取り組み」、または概念を「視聴する」ことができ、そのそれぞれは、エッジ・タイプまたはサブタイプに対応することができる。概念ノード904に対応する概念プロファイル・ページは、例えば、選択可能な「チェックイン」アイコン(例えば、クリッカブル(clickable)「チェックイン」アイコンなど)または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム860は、それぞれのアクションに対応するユーザのアクションに応答して、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく別の例として、ユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して、特定の歌を聴取することができる(「Ramble On」)。この場合、ソーシャル・ネットワーキング・システム860は、(図9に示すように)ユーザに対応するユーザ・ノード902と、歌およびアプリケーションに対応する概念ノード904との間の「聴取済み(listened)」エッジ906および「使用済み(used)」エッジを作成し、ユーザが歌を聴取し、アプリケーションを使用したことを示すことができる。さらに、ソーシャル・ネットワーキング・システム860は、(図9に示すように)歌およびアプリケーションに対応する概念ノード904間の「再生済み(played)」エッジ906を作成し、特定の歌が特定のアプリケーションによって再生されたことを示すことができる。この場合、「再生済み」エッジ906は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(歌「イマジン」)に対して実施されたアクションに対応する。本開示は、ユーザ・ノード902および概念ノード904を接続する特定の属性を有する特定のエッジ906を説明するが、本開示は、ユーザ・ノード902および概念ノード904を接続する任意の適切な属性を有する任意の適切なエッジ906を企図する。さらに、本開示は単一の関係を表すユーザ・ノード902と概念ノード904との間のエッジを説明するが、本開示は、1つまたは複数の関係を表すユーザ・ノード902と概念ノード904との間のエッジを企図する。限定ではなく例として、エッジ906は、ユーザが特定の概念を好むこと、および特定の概念を使用したことの両方を表すことができる。あるいは、別のエッジ906は、(図9の、ユーザ「E」に関するユーザ・ノード902と、「SPOTIFY」に関する概念ノード904との間で示されるように)ユーザ・ノード902と概念ノード904との間の各タイプの関係(または複数の単一の関係)を表すことができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、ソーシャル・グラフ900内のユーザ・ノード902と概念ノード904との間のエッジ906を作成することができる。限定ではなく例として、(例えば、ユーザのクライアント・システム830によってホストされるウェブ・ブラウザまたは専用アプリケーションを使用することによって)概念プロファイル・ページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することにより、ユーザが概念ノード904によって表される概念を好むことを示すことができ、それによって、ユーザのクライアント・システム830に、ユーザが概念プロファイル・ページに関連する概念を好むことを示すメッセージをソーシャル・ネットワーキング・システム860に送信させることができる。メッセージに応答して、ソーシャル・ネットワーキング・システム860は、ユーザと概念ノード904との間の「いいね」エッジ906で示されるように、ユーザに関連するユーザ・ノード902と、概念ノード904との間のエッジ906を作成することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、1つまたは複数のデータ・ストア内にエッジ906を格納することができる。特定の実施形態では、特定のユーザ・アクションに応答して、エッジ906をソーシャル・ネットワーキング・システム860によって自動的に形成することができる。限定ではなく例として、第1のユーザが写真をアップロードし、映画を視聴し、または歌を聴取する場合、第1のユーザに対応するユーザ・ノード902と、これらの概念に対応する概念ノード904との間のエッジ906を形成することができる。本開示は、特定の方式で特定のエッジ906を形成することを説明するが、本開示は、任意の適切な方式で任意の適切なエッジ906を形成することを企図する。
特定の実施形態では、クライアント・デバイスまたはクライアント・デバイスのアプリケーションとのユーザのインタラクションについての情報が、クライアント・デバイスまたはアプリケーションに関連するプラットフォームの運用者によって受信および/または記憶され得る。限定ではなく例として、クライアント・システムは、デスクトップ・コンピュータ、ノートブックもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータ、電子ブック・リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子装置、セルラ電話、スマートフォン、その他の適切な電子装置、またはこれらの任意の適切な組合せなどのコンピュータ・システムを含むことができる。プラットフォームの運用者は、クライアントのオペレーティング・システムの運用者、クライアント・デバイスで実行される特定のアプリケーションもしくはソフトウェアの運用者、ソーシャル・ネットワークの運用者、クライアント・デバイスと通信するサーバの運用者、または任意の他の適切なプラットフォームの運用者でよい。プラットフォームの運用者は、アプリケーションがクライアント・デバイスとプラットフォームの運用者との間の通信に関する仕様に準拠するという要件など、クライアント・デバイスで実行されるアプリケーションが満たさなければならない特定の要件を指定し得る。仕様は、例えば、ソフトウェア開発キットによって記述される仕様、またはシングル・サイン・オン機能などの特定の特徴に関する要件など、任意の適切なタイプであり得る。追加的にまたは代替的に、プラットフォームの運用者は、特定のユーザがそのユーザのクライアント・デバイスにどのアプリケーションをインストールしたかについての情報など、クライアント・デバイスとのユーザのインタラクションについての情報を提供する統一資源識別子(「uniform resource identifier : URI」)スキームを実装し得る。
クライアント・デバイスとのユーザのインタラクションについての情報は、アプリケーションのインストールおよびアンインストール、アプリケーションの使用、購入履歴についての情報、または任意の他の適切な情報を含むことができる。特定の実施形態では、クライアント・デバイスとのユーザのインタラクションについての情報は、クライアント・デバイスに記憶され得る。特定の実施形態では、クライアント・デバイスとのユーザのインタラクションについての情報は、プラットフォームの運用者によって運用されるサーバに送信され、この情報は、サーバ、またはネットワーク運用者に関連する任意の他の適切な記憶媒体に記憶される。特定の実施形態では、クライアント・デバイスとのユーザのインタラクションについての情報は、クライアント・デバイスのローカルに記憶され、周期的にサーバに送信されるか、またはインタラクションが行われた後、直ちにサーバに送信される。暗号化、パスワード、「ハンドシェイク」の方法など、電子情報の安全な送信を保証するための任意の適切な方法が使用され得る。特定の実施形態では、クライアント・デバイスのユーザは、クライアント・デバイスとのユーザのインタラクションに関連する情報の配信および記憶を無効化、有効化、または制御する1つまたは複数のプライバシー・オプションを選択し得る。
特定の実施形態では、クライアント・デバイスとのユーザのインタラクションについての情報は、クライアント・デバイス、またはクライアント・デバイスのもしくはクライアント・デバイスによってアクセスされ得る特定のアプリケーションによるユーザの体験を向上させるために使用され得る。1例を挙げると、ユーザの体験は、広告または広告が示す製品がユーザにとってより価値が高く、例えば、ユーザにとってより面白い、関連性がある、魅力的である、または意義深いときに向上させられ得る。
特定の実施形態では、広告は、(HTMLのリンクが張られる)テキスト、(HTMLのリンクが張られる)1つもしくは複数のイメージ、1つもしくは複数のビデオ、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組合せ、あるいは1つもしくは複数のウェブ・ページで、1つもしくは複数の電子メールで、1つもしくは複数のアプリケーションで、またはユーザによって要求された検索結果に関連して示される任意の適切なデジタル・フォーマットの任意の他の適切な広告である。加えてまたは代替として、広告は、1つまたは複数のスポンサー付きの記事(story)(例えば、ニュース・フィード、またはソーシャル・ネットワーキング・システム860のティッカー・アイテム)である。スポンサー付きの記事は、例えば、ソーシャル・アクション(social action)をユーザのプロファイル・ページもしくは他のページの予め決められた領域内に示されるか、広告主に関連する追加の情報とともに示されるか、他のユーザのニュース・フィードもしくはティッカー内で大きくされる(bumped up)かもしくはその他の方法で強調されるか、またはその他の方法でプロモーションされるようにすることによって広告主がプロモーションするユーザによるソーシャル・アクション(ページ「に対して『いいね』を表明する」、ページの投稿「に対して『いいね』を表明する」かもしくはコメントする、ページに関連するイベントへの出欠の返事をする(RSVP)、ページに投稿された質問に投票する、ある場所にチェック・インする(check in)、アプリケーションを使用するかもしくはゲームをする、またはウェブサイト「に対して『いいね』を表明する」かもしくはウェブサイトを共有するなど)である。広告主は、ソーシャル・アクションをプロモーションさせるために料金を支払う。ソーシャル・アクションは、ソーシャル・ネットワーキング・システム860内でまたはソーシャル・ネットワーキング・システム860上でプロモーションされ得る。加えてまたは代替として、ソーシャル・アクションは、適切な場合、ソーシャル・ネットワーキング・システム860の外部でまたはソーシャル・ネットワーキング・システム860から外れてプロモーションされ得る。特定の実施形態では、ページは、会社、組織、またはブランドが記事を共有することおよび人とつながることを容易にするその会社、組織、またはブランドの(ソーシャル・ネットワーキング・システム860の中または外のウェブ・ページまたはウェブサイトなどの)オンライン表示である。ページは、例えば、アプリケーションを追加すること、記事を投稿すること、またはイベントをホストすることによってカスタマイズされ得る。
スポンサー付きの記事は、ユーザのニュース・フィードの記事から生成され、ソーシャル・ネットワーキング・システム860に関連するウェブ・ページを閲覧するときにユーザのウェブ・ブラウザの表示内の特定の領域にプロモーションされ得る。スポンサー付きの記事は、少なくとも部分的に、スポンサー付きの記事がユーザの友達、ファン・ページ、またはその他のつながりによるインタラクションもしくは提案を含む可能性があるので、ユーザによって閲覧される可能性がより高い。スポンサー付きの記事に関連して、特定の実施形態は、「Sponsored Stories Unit Creation from Organic Activity Stream」と題された、2011年12月15日に出願された米国特許出願第13/327557号、「Sponsored Stories Unit Creation from Organic Activity Stream」と題された、米国特許出願第13/020745号として2012年2月3日に出願された米国特許出願公開第2012/0203831号、または「Endorsement Subscriptions for Sponsored Stories」と題された、米国特許出願第13/044506号として2011年3月9日に出願された米国特許出願公開第2012/0233009号に開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用し、これらの特許出願および特許出願公開は、すべて、限定ではなく例として本願明細書に援用する。特定の実施形態では、スポンサー付きの記事は、限定ではなく例として本願明細書に援用する「Computer−Vision Content Detection for Sponsored Stories」と題された、2011年8月18日に出願された米国特許出願第13/212356号に開示されたように、広告主と明示的なつながりのないアップロードされたイメージまたはフォトの中の製品を検出するためにコンピュータ・ビジョン・アルゴリズムを利用し得る。スポンサー付きの記事とは対照的に、基本的記事(organic story)は、(例えば、ソーシャル・インタラクションおよびウェブ・ページまたは製品へのリンクなどの)スポンサー付きの記事と同じ情報を含み、スポンサー付きの記事と同じ方法で目標を定められ、スポンサー付きの記事と同じ領域に現れるが、基本的記事は、広告主によってプロモーションされない。基本的記事とスポンサー付きの記事との両方は、広告を閲覧するユーザとの関連性によってランク付けされ、基本的記事および/またはスポンサー付きの記事との両方は、このランクに基づいてユーザに対する表示のために選択される。
上述のように、広告は、(HTMLのリンクが張られる)テキスト、(HTMLのリンクが張られる)1つもしくは複数のイメージ、1つもしくは複数のビデオ、オーディオ、1つもしくは複数のADOBE FLASHファイル、これらの適切な組合せ、または任意の適切なデジタル・フォーマットの任意の他の適切な広告である。特定の実施形態では、広告は、サード・パーティのウェブ・ページ、ソーシャル・ネットワーキング・システムのウェブ・ページ、または他のページ内に表示するために要求される。広告は、ページの一番上のバナー領域内、ページの横のカラム内、ページのGUI内、ポップアップ・ウィンドウ内、ページのコンテンツの上、またはページに関連する他の場所などのページの専用の部分に表示することができる。加えてまたは代替として、広告は、アプリケーション内またはゲーム内に表示することができる。広告は、専用のページ内に表示され、ユーザがページにアクセスするか、アプリケーションを利用するか、またはゲームをプレイする前にユーザが広告と対話するかまたは広告を見ることを要求する。ユーザは、例えば、ウェブ・ブラウザを通じて広告を閲覧し得る。
ユーザは、任意の適切な方式で広告と対話することができる。ユーザは、広告をクリックあるいは選択することができ、広告は、広告に関連するページにユーザ(またはユーザが使用中のブラウザもしくは他のアプリケーション)を導くことができる。広告に関連するページで、ユーザは、広告に関連する製品またはサービスを購入すること、広告に関連する情報を受信すること、広告に関連するニュースレターを講読することなどの追加のアクションを取ることができる。広告の構成要素(「再生ボタン」など)を選択することによってオーディオまたはビデオ付きの広告を再生することができる。特定の実施形態では、広告は1つまたは複数のゲームを含むことができ、ユーザまたは他のアプリケーションは、広告に関連してそのゲームをプレイすることができる。広告は、広告内の調査または質問に応答する機能を含むことができる。
広告は、ユーザが対話することができるソーシャル・ネットワーキング・システム機能を含む可能性がある。例えば、広告は、ユーザが承認に関連するアイコンまたはリンクを選択することによって広告に対して「いいね」を表明するかまたは他の方法で承認することを可能にし得る。同様に、ユーザは、(例えば、ソーシャル・ネットワーキング・システム860を通じて)別のユーザと広告を共有するか、または(例えば、ソーシャル・ネットワーキング・システム860を通じて)広告に関連するイベントへの出欠の返事をし得る。加えてまたは代替として、広告は、ユーザを対象とするソーシャル・ネットワーキング・システムのコンテキストを含み得る。例えば、広告は、広告の対象に関連するアクションをとったソーシャル・ネットワーキング・システム860内のユーザの友達についての情報を表示し得る。
ソーシャル・ネットワーキング・システム機能またはコンテキストが、任意の適切な方法で広告に関連付けられ得る。例えば、(広告に関する入札を受信し、それに応じて広告を選択するためのハードウェア、ソフトウェア、またはその両方を含み得る)広告システムが、ユーザに広告を提供する前に、ソーシャル・ネットワーキング・システム860からソーシャル・ネットワーキング機能またはコンテキストを取り出し、取り出されたソーシャル・ネットワーキング機能またはコンテキストを広告に組み込むことができる。ソーシャル・ネットワーキング・システムの機能またはコンテキストを選択し、広告と共に提供する例は、「Providing Social Endorsements with Online advertising」と題された、米国特許出願第12/898662号として2010年10月5日に出願された米国特許出願公開第2012/0084160号、および「Selecting Social Endorsement Information for an Advertisement for Display to a Viewing User」と題された、米国特許出願第13/043424号として2011年3月8日に出願された米国特許出願公開第2012/0232998号に開示されており、これらの特許出願および特許出願公開は、限定ではなく単に例として本願明細書に援用する。ソーシャル・ネットワーキング・システムの機能またはコンテキストに関連付けられる広告とインタラクション(interacting)することは、インタラクションについての情報を、ソーシャル・ネットワーキング・システム860内のユーザのプロファイル・ページ内に表示させる可能性がある。
特定の実施形態は、広告をより関連性が高く、または有用であると感じる可能性がより高いユーザへの広告の配信を容易にすることができる。例えば、広告主は、その広告主の広告をより関連性があるかまたは有用であると思う可能性がより高いユーザを特定し、目標に定めることによってより高いコンバージョン率(およびしたがって広告からのより高い投資収益率(ROI))を実現し得る。広告主は、ソーシャル・ネットワーキング・システム860内のユーザ・プロファイル情報を使用して、そうしたユーザを特定することができる。加えてまたは代替として、ソーシャル・ネットワーキング・システム860は、ソーシャル・ネットワーキング・システム860内のユーザ・プロファイル情報を使用して、広告主のためのそうしたユーザを特定することができる。限定ではなく例として、特定の実施形態は、イベントの招待または提案、クーポン、取引、またはウィッシュ・リスト・アイテムに関する提案、友達の生活の出来事に関する提案、グループに関する提案、広告、またはソーシャル広告を用いてユーザを目標に定める可能性がある。そのように目標を定めることは、適切な場合、ソーシャル・ネットワーキング・システム860上でもしくはソーシャル・ネットワーキング・システム860内で、ソーシャル・ネットワーキング・システム860から外れてもしくはソーシャル・ネットワーキング・システム860の外部で、またはユーザのモバイル・コンピューティング装置上で行われ得る。ソーシャル・ネットワーキング・システム860上でまたはソーシャル・ネットワーキング・システム860内であるとき、そのように目標を定めることは、ユーザのニュース・フィード、検索結果、電子メールもしくは他の受信箱、または通知のチャネルを対象とする可能性があり、あるいは(同じ概念、ノード、もしくはオブジェクトに関連する広告を右側のレールに沿ってグループ化し得る)コンシェルジュもしくはグルーパ領域(concierge or grouper area)または(ユーザがウェブ・ページで閲覧しているものおよびユーザの現在のニュース・フィードに基づく可能性がある)ネットワーク・エゴ(network-ego)領域のウェブ・ページの右側などのソーシャル・ネットワーキング・システム860のウェブ・ページの特定の領域に現れる可能性がある。ソーシャル・ネットワーキング・システム860から外れてまたはソーシャル・ネットワーキング・システム860の外部であるとき、そのように目標を定めることは、例えば、広告交換またはソーシャル・プラグインを含むサード・パーティ・ウェブサイトを通じて提供される可能性がある。ユーザのモバイル・コンピューティング装置上のとき、そのように目標を定めることは、モバイル・コンピューティング装置へのプッシュ通知を通じて提供される可能性がある。
ユーザを特定し、目標に定めるために使用される目標決定基準は、ソーシャル・ネットワーキング・システム860上の明示的な明言されたユーザの関心、またはソーシャル・ネットワーキング・システム860上のノード、オブジェクト、エンティティ、ブランド、もしくはページへのユーザの明示的なつながりを含み得る。加えてまたは代替として、そのような目標決定基準は、(ユーザの履歴、人口統計、ソーシャルなもしくは他の活動、友達のソーシャルなもしくは他の活動、加入、または(例えば、共有された関心、つながり、もしくはイベントに基づく)ユーザに似た他のユーザの前述の項目のいずれかを分析することを含み得る)明示的なまたは推測されるユーザの関心またはつながりを含み得る。特定の実施形態は、プラットフォーム、および「いいね」インプレッション・データ、コンテキストの信号(例えば、「COCA−COLAに関するページを現在誰が閲覧しているかまたは最近閲覧したか?」)、薄いつながり(例えば、「チェック・イン」)、つながりに似たもの、ファン、抽出されたキーワード、EMU広告、推定広告、係数、アフィニティ、もしくは他のソーシャル・グラフ情報、友達の友達のつながり、ピンニングもしくはブースティング、取引、投票、世帯収入、社会的集団、もしくはグループ、イメージもしくは他の媒体内で検出された製品、ソーシャルまたはオープン・グラフのエッジ・タイプ、地理的予測、プロファイルもしくはページのビュー、最新の近況もしくは他のユーザの投稿(それらの分析は、自然言語処理もしくはキーワードの抽出を伴う可能性がある)、イベント情報、または協調フィルタリングを含み得るプラットフォームの目標決定を利用する可能性がある、ユーザを特定し、目標に定めることは、適宜、(ユーザのオプト・アウトなどの)プライバシー設定、データ・ハッシュ、またはデータの匿名化をも含む可能性がある。
ユーザを広告の目標に定めるために、特定の実施形態は、「Social Advertisements and Other informational Messages on a Social Networking Website and Advertising Model for Same」と題された、米国特許出願第12/193702号として2008年8月18日に出願された米国特許出願公開第2009/0119167号、「Targeting Advertisement in a Social Network」と題された、米国特許出願第12/195321号として2008年8月20日に出願された米国特許出願公開第2009/0070219号、「Targeting Social Advertising to Friends of Users Who Have Interacted With an Object Associated with the Advertising」と題された、米国特許出願第12/968786号として2010年12月15日に出願された米国特許出願公開第2012/0158501号、または「Contextually Relevant Affinity Prediction in a Social−Networking System」と題された、米国特許出願第12/978265号として2010年12月23日に出願された米国特許出願公開第2012/0166532号で開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用する可能性があり、これらの特許出願および特許出願公開は、すべて、限定ではなく例として本願明細書に援用する。
広告は、ウェブ・ブラウザもしくは他のアプリケーションのプラグイン、iframe要素、ニュース・フィード、ティッカー(例えば、電子メール、ショート・メッセージ・サービス(SMS)メッセージ、もしくは通知を含み得る)通知、または他の手段を用いて示されるかまたはそうでなければ配信される可能性がある。広告は、ユーザのモバイルまたは他のコンピューティング装置でユーザに示されるかまたはそうでなければ配信される可能性がある。広告を配信することに関連して、特定の実施形態は、以下、すなわち「Comment Plug−In for Third−Party System」と題された、米国特許出願第12/969368号として2010年12月15日に出願された米国特許出願公開第2012/0159635号、「Comment Ordering System」と題された、米国特許出願第12/969408号として2010年12月15日に出願された米国特許出願公開第2012/0158753号、「Dynamically Providing a News Feed About a User of a Social Network」と題された、米国特許出願第11/503242号として2006年8月11日に出願された米国特許第7,669,123号、「Providing a News Feed Based on User Affinity in a Social Network Environment」と題された、米国特許出願第11/503093号として2006年8月11日に出願された米国特許出願公開第2008/0040475号、「Action Clustering for News Feeds」と題された、米国特許出願第12/884010号として2010年9月16日に出願された米国特許出願公開第2012/0072428号、「Gathering Information about Connections in a Social Networking Service」と題された、米国特許出願第12/496606号として2009年7月1日に出願された米国特許出願公開第2001/0004692号、「Method and System for Tracking Changes to User Content in an Online Social Network」と題された、米国特許出願第11/531154号として2006年9月12日に出願された米国特許出願公開第2008/0065701号、「Feeding Updates to Landing Pages of Users of an Online Social Network from External Sources」と題された、米国特許出願第11/624088号として2007年1月17日に出願された米国特許出願公開第2008/0065604号、「Integrated Social−Network Environment」と題された、米国特許出願第12/763171号として2010年4月19日に出願された米国特許第8244848号、「Sharing of Location−Based Content Item in Social−Networking Service」と題された、米国特許出願第12/574614号として2009年10月6日に出願された米国特許出願公開第2011/0083101号、「Location Ranking Using Social−Graph Information」と題された、米国特許出願第12/858718号として2010年8月18日に出願された米国特許第8150844号、「Sending Notifications to Users Based on Users’ Notification Tolerance Levels」と題された、2011年3月18日に出願された米国特許出願第13/051286号、「Managing Notifications Pushed to User Devices」と題された、2011年4月28日に出願された米国特許出願第13/096184号、「Platform−Specific Notification Delivery Channel」と題された、2011年10月18日に出願された米国特許出願第13/276248号、または「Mobile Advertisement with Social Component for Geo−Social Networking System」と題された、米国特許出願第13/019061号として2011年2月1日に出願された米国特許出願公開第2012/0197709号で開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用することができ、これらの特許出願および特許出願公開は、すべて、限定ではなく例として本願明細書に援用する。本開示は、特定の広告が特定の方式で特定のコンテンツに関連して配信される特定の広告を説明または図示するが、任意の適切な方式で、本開示は任意の適切なコンテンツに関連して配信される任意の適切な広告を企図する。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、様々なソーシャル・グラフ・エンティティの、互いに対するソーシャル・グラフ・アフィニティ(本明細書では「アフィニティ(affinity)」と呼ぶことがある)を決定することができる。アフィニティは、オンライン・ソーシャル・ネットワークに関連するユーザ、概念、コンテンツ、アクション、広告、他のオブジェクト、またはそれらの任意の適切な組合せなどの、オンライン・ソーシャル・ネットワークに関連する特定のオブジェクト間の関係の強さまたは関心のレベルを表すことができる。サード・パーティ・システム870または他の適切なシステムに関連するオブジェクトに関してアフィニティを決定することもできる。ユーザ、主題、またはコンテンツのタイプごとのソーシャル・グラフ・エンティティについての全アフィニティを確立することができる。全アフィニティは、ソーシャル・グラフ・エンティティに関連するアクションまたは関係の継続した監視に基づいて変化することがある。本開示は、特定の方式で特定のアフィニティを求めることを説明するが、本開示は、任意の適切な方式で任意の適切なアフィニティを求めることを企図する。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、アフィニティ係数(本明細書では「係数(coefficient)」と呼ぶことがある)を使用してソーシャル・グラフ・アフィニティを測定または定量化することができる。係数は、オンライン・ソーシャル・ネットワークに関連する特定のオブジェクト間の関係の強さを表すか、または定量化することができる。係数はまた、アクションへのユーザの関心に基づいてユーザが特定のアクションを実施する予測確率を測定する確率または関数も表すことができる。このようにして、ユーザの以前のアクションに基づいてユーザの将来のアクションを予想することができ、ユーザのアクションの履歴に少なくとも部分的に基づいて係数を計算することができる。係数を使用して、オンライン・ソーシャル・ネットワーク内、またはオンライン・ソーシャル・ネットワーク外であることがある任意の数のアクションを予測することができる。限定ではなく例として、これらのアクションは、メッセージを送ること、コンテンツを投稿すること、コンテンツに対してコメントすることなどの様々なタイプの通信、プロファイル・ページ、メディア、または他の適切なコンテンツにアクセスし、またはそれを閲覧することなどの様々なタイプの観察アクション、同一グループ内にいること、同一の写真内でタグ付けされること、同一の位置でチェック・インすること、同一のイベントに出席することなどの2つ以上のソーシャル・グラフ・エンティティについての様々なタイプの一致情報、または他の適切なアクションを含むことができる。本開示は、特定の方式でアフィニティを測定することを説明するが、本開示は、任意の適切な方式でアフィニティを測定することを企図する。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、様々な要素を使用して係数を計算することができる。これらの要素は、例えば、ユーザ・アクション、オブジェクト間、位置情報間、他の適切な要素間の関係のタイプ、またはそれらの任意の組合せを含むことができる。特定の実施形態では、係数を計算するとき、異なる要素を異なるように重み付けすることができる。各要素についての重みは静的でよく、または重みは、例えば、ユーザ、関係のタイプ、アクションのタイプ、ユーザの位置などに従って変化することができる。要素の重みに従って要素についてのレーティング(rating)を組合せ、ユーザについての全体的係数を求めることができる。限定ではなく例として、特定のユーザ・アクションに、レーティングと重みをどちらも割り当てることができ、特定のユーザ・アクションに関連する関係に、レーティングおよび(例えば、重みの合計が100%となるような)相関する重みに割り当てられる。特定のオブジェクトに対するユーザの係数を計算するために、ユーザのアクションに割り当てられるレーティングが、例えば全体的係数の60%を含むことができ、ユーザとオブジェクトとの間の関係が、全体的係数の40%を含むことができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、係数を計算するのに使用される様々な要素についての重みを決定するときに、例えば、情報にアクセスされてからの時間、減衰要素、アクセスの頻度、情報に対する関係、もしくはそれについての情報にアクセスされたオブジェクトに対する関係、オブジェクトに接続されるソーシャル・グラフ・エンティティに対する関係、ユーザ・アクションの短期もしくは長期平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組合せなどの、様々な変数を考慮することができる。限定ではなく例として、係数を計算するときに、より最近のアクションがより関連性が高くなるように、係数は、特定のアクションによって供給される信号の強さを時間と共に減衰させる減衰要素を含むことができる。係数がそれに基づくアクションの継続した追跡に基づいて、レーティングおよび重みを継続的に更新することができる。各要素についてのレーティング、および要素に割り当てられる重みの割当て、組合せ、平均化などのために、任意のタイプの工程またはアルゴリズムを利用することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、履歴アクションおよび過去のユーザ応答に関してトレーニングされた機械学習アルゴリズムを使用して、またはユーザを様々なオプションにさらし、応答を測定することによってユーザからファーミングされたデータを使用して、係数を求めることができる。本開示は、特定の方式で係数を計算することを説明するが、本開示は、任意の適切な方式で係数を計算することを企図する。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、ユーザのアクションに基づいて係数を計算することができる。ソーシャル・ネットワーキング・システム860は、オンライン・ソーシャル・ネットワーク上、サード・パーティ・システム870上、他の適切なシステム上、またはそれらの任意の組合せの上のそのようなアクションを監視することができる。任意の適切なタイプのユーザ・アクションを追跡または監視することができる。典型的なユーザ・アクションは、プロファイル・ページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、グループに加わること、イベントへの出席リストおよび確認すること、位置でチェック・インすること、特定のページをリンクすること、ページを作成すること、ならびにソーシャル・アクションを容易にする他のタスクを実施することを含む。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、特定のタイプのコンテンツとの間のユーザのアクションに基づいて係数を計算することができる。オンライン・ソーシャル・ネットワーク、サード・パーティ・システム870、または別の適切なシステムにコンテンツを関連付けることができる。コンテンツは、ユーザ、プロファイル・ページ、投稿、ニュース記事、ヘッドライン、インスタント・メッセージ、チャットルーム会話、電子メール、広告、写真、ビデオ、音楽、他の適切なオブジェクト、またはそれらの任意の組合せを含むことができる。ソーシャル・ネットワーキング・システム860は、ユーザのアクションを解析して、アクションのうちの1つまたは複数が主題、コンテンツ、他のユーザなどに対するアフィニティを示すかどうかを判定することができる。限定ではなく例として、ユーザが「コーヒー」またはその変形に関するコンテンツを投稿することがある場合、ソーシャル・ネットワーキング・システム860は、ユーザが概念「コーヒー」に関する高い係数を有すると判定することができる。特定のアクションまたはアクションのタイプに、他のアクションよりも高い重みおよび/またはレーティングを割り当てることができ、それは、計算される全体的係数に影響を及ぼすことがある。限定ではなく例として、第1のユーザが第2のユーザに電子メールを送る場合、第1のユーザが第2のユーザについてのユーザ・プロファイル・プロファイル・ページを単に閲覧する場合よりも、アクションについての重みまたはレーティングを高くすることができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、特定のオブジェクト間の関係のタイプに基づいて係数を計算することができる。ソーシャル・グラフ900を参照すると、ソーシャル・ネットワーキング・システム860は、係数を計算するとき、特定のユーザ・ノード902および概念ノード904を接続するエッジ906の数および/またはタイプを解析する。限定ではなく例として、(2人のユーザが結婚していることを表す)配偶者タイプ・エッジによって接続されるユーザ・ノード902に、友達タイプ・エッジによって接続されるユーザ・ノード902よりも高い係数を割り当てることができる。言い換えれば、特定のユーザについてのアクションおよび関係に割り当てられる重みに応じて、ユーザの配偶者についてのコンテンツに関して、ユーザの友達についてのコンテンツに関してよりも全アフィニティが高いと判定することができる。特定の実施形態では、ユーザが別のオブジェクトとの間で有する関係が、そのオブジェクトについての係数を計算することに関して、ユーザのアクションの重みおよび/またはレーティングに影響を及ぼすことがある。限定ではなく例として、ユーザが第1の写真内でタグ付けされるが、単に第2の写真に「いいね」を表明する場合、ソーシャル・ネットワーキング・システム860は、コンテンツとのタグ付けタイプ関係(tagged-in-type relationship)を有することに、コンテンツとの「いいね」タイプ関係を有することよりも高い重みおよび/またはレーティングを割り当てることができるので、ユーザが、第1の写真に関して、第2の写真よりも高い係数を有すると判定することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、1つまたは複数の第2のユーザが特定のオブジェクトとの間で有する関係に基づいて、第1のユーザについての係数を計算することができる。言い換えれば、他のユーザがオブジェクトとの間で有する接続および係数が、オブジェクトについての第1のユーザの係数に影響を及ぼすことがある。限定ではなく例として、第1のユーザが1人または複数の第2のユーザに接続され、または1人または複数の第2のユーザについて高い係数を有し、そうした第2のユーザが特定のオブジェクトに接続され、または特定のオブジェクトについて高い係数を有する場合、ソーシャル・ネットワーキング・システム860は、第1のユーザがその特定のオブジェクトについても比較的高い係数を有するはずであると判定することができる。特定の実施形態では、係数は、特定のオブジェクト間の分離度に基づくことができる。低い係数は、第1のユーザがソーシャル・グラフ900内の第1のユーザに間接的につながるユーザのコンテンツ・オブジェクトへの関心を共有する可能性が低いことを表すことができる。限定ではなく例として、ソーシャル・グラフ900内で近い(すなわち、分離度が低い)各ソーシャル・グラフ・エンティティが、ソーシャル・グラフ900内でさらに離れている各エンティティよりも高い係数を有する。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、位置情報に基づいて係数を計算することができる。互いに地理的に近いオブジェクトは、より離れたオブジェクトよりも互いにより高く関係付けられ、またはより高い関心があるとみなすことができる。特定の実施形態では、特定のオブジェクトに対するユーザの係数は、ユーザに関連する現在位置(またはユーザのクライアント・システム830の位置)に対するオブジェクト位置の近接に基づくことができる。第1のユーザは、第1のユーザにより近い他のユーザまたは概念により関心を持つことがある。限定ではなく例として、ユーザが空港から1.6km(1マイル)であり、ガソリン・スタンドから3.2km(2マイル)である場合、ソーシャル・ネットワーキング・システム860は、ユーザに対する空港の近さに基づいて、ユーザがガソリン・スタンドよりも空港について高い係数を有すると判定することができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、係数情報に基づいて、ユーザに関する特定のアクションを実施することができる。係数を使用して、アクションへのユーザの関心に基づいて、ユーザが特定のアクションを実施するかどうかを予測することができる。広告、検索結果、ニュース記事、メディア、メッセージ、通知、または他の適切なオブジェクトなどの任意のタイプのオブジェクトを生成し、またはユーザに提示するときに、係数を使用することができる。係数を利用して、そのようなオブジェクトを適宜ランク付けおよび順序付けすることもできる。このようにして、ソーシャル・ネットワーキング・システム860は、ユーザの関心および現在の環境に関連する情報を提供し、そのような情報を興味深いと感じる可能性を高めることができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、係数情報に基づいてコンテンツを生成することができる。ユーザに特有の係数に基づいてコンテンツ・オブジェクトを提供または選択することができる。限定ではなく例として、係数を使用して、ユーザについてのメディアを生成することができ、ユーザがメディア・オブジェクトに関して高い全体的係数を有するメディアをユーザに提示することができる。限定ではなく別の例として、係数を使用して、ユーザに対する広告を生成することができ、広告するオブジェクトに関してユーザが高い全体的係数を有する広告をユーザに提示することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、係数情報に基づいて検索結果を生成することができる。照会するユーザに関する検索結果に関連する係数に基づいて、特定のユーザについての検索結果をスコアリングまたはランク付けすることができる。限定ではなく例として、高い係数を有するオブジェクトに対応する検索結果を、低い係数を有するオブジェクトに対応する結果よりも、検索結果ページ上で高くランク付けすることができる。
特定の実施形態では、ソーシャル・ネットワーキング・システム860は、特定のシステムまたは工程への係数を求める要求に応答して係数を計算することができる。所与の状況でユーザが取る可能性のある(または、ユーザがその対象となる可能性のある)、可能性の高いアクションを予測するために、任意の工程が、ユーザについての計算される係数を要求することができる。要求はまた、係数を計算するのに使用される様々な要素のために使用する重みのセットをも含むことができる。この要求は、オンライン・ソーシャル・ネットワーク上で実行中のプロセスから、(例えば、APIまたは他の通信チャネルを介して)サード・パーティ・システム870から、または別の適切なシステムから来ることがある。要求に応答して、ソーシャル・ネットワーキング・システム860は、係数を計算する(または、係数情報が以前に計算および格納された場合、係数情報にアクセスする)ことができる。特定の実施形態では、ソーシャル・ネットワーキング・システム860は、特定の工程に関するアフィニティを測定することができる。異なる工程(オンライン・ソーシャル・ネットワークの内部と外部の両方)が、特定のオブジェクトまたはオブジェクトのセットを求める係数を要求することができる。ソーシャル・ネットワーキング・システム860は、アフィニティの尺度を要求した特定の工程に関連するアフィニティの尺度を提供することができる。このようにして、各工程は、工程がアフィニティの尺度を使用する異なるコンテキストに対して調整されるアフィニティの尺度を受信する。
ソーシャル・グラフ・アフィニティおよびアフィニティ係数に関連して、特定の実施形態が、2006年8月11日に出願された米国特許出願第11/503093号、2010年12月22日に出願された米国特許出願第12/977027号、2010年12月23に出願された米国特許出願第12/978265号、および2012年10月01日に出願された米国特許出願第13/632869号に開示された1つまたは複数のシステム、構成要素、要素、機能、方法、動作、ステップを利用する可能性があり、これらの特許出願のそれぞれは、本願明細書に援用する。
図10は、例示的コンピュータ・システム1000を示す。特定の実施形態では、1つまたは複数のコンピュータ・システム1000が、本明細書において説明または例示された1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータ・システム1000が、本明細書において説明または図示された機能を提供する。特定の実施形態では、1つまたは複数のコンピュータ・システム1000で実行されるソフトウェアが、本明細書において説明もしくは図示された1つもしくは複数の方法の1つもしくは複数のステップを実施するか、または本明細書において説明もしくは図示された機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム1000の1つまたは複数の部分を含む。本明細書において、適切な場合、コンピュータ・システムに対する参照はコンピューティング装置を含む(encompass)ことができ、逆も同様である。さらに、適切な場合、コンピュータ・システムに対する参照は、1つまたは複数のコンピュータ・システムを含むことができる。
本開示は、任意の適切な数のコンピュータ・システム1000を企図する。本開示は、任意の適切な物理的形態をとるコンピュータ・システム1000を企図する。限定ではなく例として、コンピュータ・システム1000は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングル・ボード・コンピュータ・システム(SBC)(例えば、コンピュータ・オン・モジュール(COM)やシステム・オン・モジュール(SOM)など)デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話型キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの2つ以上の組合せでよい。適切な場合、コンピュータ・システム1000は、1つまたは複数のコンピュータ・システム1000を含むことができ、一体型または分散型でよく、複数の場所にわたるものでよく、複数のマシンにわたるものでよく、複数のデータセンタにわたるものでよく、またはクラウド内に常駐することができ、クラウドは、1つまたは複数のネットワーク内の1つまたは複数のクラウド構成要素を含むことができる。適切な場合、1つまたは複数のコンピュータ・システム1000は、実質的な空間的または時間的な限定なしに、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを実施することができる。限定ではなく例として、1つまたは複数のコンピュータ・システム1000は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップをリアル・タイムに、またはバッチ・モードで実施することができる。適切な場合、1つまたは複数のコンピュータ・システム1000は、本明細書で説明または図示される1つまたは複数の方法の1つまたは複数のステップを異なる時刻または異なる場所で実施することができる。
特定の実施形態では、コンピュータ・システム1000は、プロセッサ1002、メモリ1004、ストレージ1006、入力/出力(I/O)インターフェース1008、通信インターフェース1010、およびバス1012を含む。本開示は、特定の構成の、特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明および図示するが、本開示は、任意の適切な構成の、任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図する。
特定の実施形態では、プロセッサ1002は、コンピュータ・プログラムを構成するような命令を実行するハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ1002は、内部レジスタ、内部キャッシュ、メモリ1004、またはストレージ1006から命令を取り出し(またはフェッチし)、その命令を復号化および実行し、次いで内部レジスタ、内部キャッシュ、メモリ1004、またはストレージ1006に1つまたは複数の結果を書き込むことができる。特定の実施形態では、プロセッサ1002は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含む。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ1002を企図する。限定ではなく例として、プロセッサ1002は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(translation lookaside buffer : TLB)を含むことができる。命令キャッシュ内の命令は、メモリ1004またはストレージ1006内の命令のコピーでよく、命令キャッシュは、プロセッサ1002によるそうした命令の検索を加速することができる。データ・キャッシュ内のデータは、プロセッサ1002で実行中の命令が演算するためのメモリ1004またはストレージ1006内のデータ、プロセッサ1002で実行中の後続の命令によるアクセスのために、またはメモリ1004もしくはストレージ1006に書き込むために、プロセッサ1002で実行された以前の命令の結果、あるいは他の適切なデータのコピーでよい。データ・キャッシュは、プロセッサ1002による読取りまたは書込み演算を加速することができる。TLBは、プロセッサ1002のための仮想アドレス変換を加速することができる。特定の実施形態では、プロセッサ1002は、データ、命令、またはアドレス用の1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ1002を企図する。適切な場合、プロセッサ1002は、1つまたは複数の演算論理装置(ALU)を含むことができ、マルチコア・プロセッサでよく、または1つもしくは複数のプロセッサ1002を含むことができる。本開示は、特定のプロセッサを説明および図示するが、本開示は任意の適切なプロセッサを企図する。
特定の実施形態では、メモリ1004は、プロセッサ1002が実行するための命令、またはプロセッサ1002が演算するためのデータを格納するためのメイン・メモリを含む。限定ではなく例として、コンピュータ・システム1000は、ストレージ1006または別のソース(例えば、別のコンピュータ・システム1000など)からメモリ1004に命令をロードすることができる。次いで、プロセッサ1002は、メモリ1004から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ1002は、内部レジスタまたは内部キャッシュから命令を取り出し、その命令を復号化する。命令の実行中または実行後に、プロセッサ1002は、1つまたは複数の結果(これは中間結果または最終結果でよい)を内部レジスタまたは内部キャッシュに書き込む。次いでプロセッサ1002は、そうした結果の1つまたは複数をメモリ1004に書き込む。特定の実施形態では、プロセッサ1002は、(ストレージ1006またはその他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ1004内の命令のみを実行し、(ストレージ1006または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ1004内のデータのみに対して演算する。1つまたは複数のメモリ・バス(これはそれぞれアドレス・バスおよびデータ・バスを含むことができる)が、プロセッサ1002をメモリ1004に結合する。バス1012は、以下で説明するように、1つまたは複数のメモリ・バスを含む。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1002とメモリ1004との間に常駐し、プロセッサ1002によって要求されたメモリ1004へのアクセスを可能にする。特定の実施形態では、メモリ1004は、ランダム・アクセス・メモリ(RAM)を含む。適切な場合、このRAMは、揮発性メモリでよい。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)でよい。さらに、適切な場合、このRAMは、単一ポートまたはマルチポートでよい。本開示は、任意の適切なRAMを企図する。適切な場合、メモリ1004は、1つまたは複数のメモリ1004を含む。本開示は特定のメモリを説明および図示するが、任意の適切なメモリを企図する。
特定の実施形態では、ストレージ1006は、データまたは命令用のマス・ストレージを含む。限定ではなく例として、ストレージ1006は、ハード・ディスク・ドライブ(HDD)、フロッピィ・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、あるいはこれらのうちの2つ以上の組合せを含む。ストレージ1006は、適切な場合、取外し可能なまたは取外し不能(または固定)媒体を含む。ストレージ1006は、適切な場合、コンピュータ・システム1000の内部または外部でよい。特定の実施形態では、ストレージ1006は不揮発性固体メモリである。特定の実施形態では、ストレージ1006は、読取専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムされたROM(mask−programmed ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気消去可能PROM(EEPROM)、電気書換え可能ROM(EAROM:electrically alterable ROM)、またはフラッシュ・メモリ、あるいはこれらのうちの2つ以上の組合せでよい。本開示は、任意の適切な物理的形態をとるマス・ストレージ1006を企図する。適切な場合、ストレージ1006は、プロセッサ1002とストレージ1006との間の通信を可能にする1つまたは複数のストレージ制御ユニットを含む。適切な場合、ストレージ1006は、1つまたは複数のストレージ1006を含む。本開示は、特定のストレージを説明および図示するが、本開示は任意の適切なストレージを企図する。
特定の実施形態では、I/Oインターフェース1008は、コンピュータ・システム1000と1つまたは複数のI/O装置との間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム1000は、適切な場合、これらのI/O装置のうちの1つまたは複数を含む。これらのI/O装置のうちの1つまたは複数は、人とコンピュータ・システム1000との間の通信を可能にする。限定ではなく例として、I/O装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/O装置、またはこれらのうちの2つ以上の組合せを含む。I/O装置は1つまたは複数のセンサを含む。本開示は、任意の適切なI/O装置およびそのための任意の適切なI/Oインターフェース1008を企図する。適切な場合、I/Oインターフェース1008は、プロセッサ1002がこれらのI/O装置のうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含む。I/Oインターフェース1008は、適切な場合、1つまたは複数のI/Oインターフェース1008を含む。本開示は、特定のI/Oインターフェースを説明および図示するが、本開示は任意の適切なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース1010は、コンピュータ・システム1000と、1つまたは複数の別のコンピュータ・システム1000あるいは1つまたは複数のネットワークとの間の通信(例えば、パケット・ベースの通信など)用の1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、通信インターフェース1010は、イーサネットまたは他のワイヤ・ベースのネットワークと通信するネットワーク・インターフェース・コントローラ(NIC)またはネットワーク・アダプタ、あるいはWI−FIネットワークなどのワイヤレス・ネットワークと通信するワイヤレスNIC(WNIC)またはワイヤレス・アダプタを含む。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信インターフェース1010を企図する。限定ではなく例として、コンピュータ・システム1000は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、大都市圏ネットワーク(MAN)、またはインターネットの1つもしくは複数の部分、あるいはこれらのうちの2つ以上の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスでよい。1例を挙げると、コンピュータ・システム1000は、ワイヤレスPAN(WPAN)(例えば、BLUETOOTH WPANなど)、Wi−Fiネットワーク、WI−MAXネットワーク、携帯電話網(例えば、移動体通信用グローバル・システム(GSM)ネットワークなど)、または他の適切なワイヤレス・ネットワーク、あるいはこれらのうちの2つ以上の組合せと通信することができる。コンピュータ・システム1000は、適切な場合、これらのネットワークのいずれかに関する任意の適切な通信インターフェース1010を含む。通信インターフェース1010は、適切な場合、1つまたは複数の通信インターフェース1010を含む。本開示は、特定の通信インターフェースを説明および図示するが、本開示は任意の適切な通信インターフェースを企図する。
特定の実施形態では、バス1012は、コンピュータ・システム1000の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、バス1012は、アクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port : AGP)または他のグラフィックス・バス、拡張業界標準アーキテクチャ(EISA:Enhanced Industry Standard Architecture)バス、フロント・サイド・バス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、低ピン・カウント(LPC:low−pin−count)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、周辺装置相互接続(PCI)バス、PCI−Express(PCIe)バス、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA:serial advanced technology attachment)バス、映像電子機器標準協会(Video Electronics Standards Association)ローカル(VLB)バス、または別の適切なバス、あるいはこれらの2つ以上の組合せを含むことができる。バス1012は、適切な場合、1つまたは複数のバス1012を含むことができる。本開示は、特定のバスを説明および図示するが、任意の適切なバスまたは相互接続を企図する。
本明細書では、コンピュータ可読非一時的記憶媒体は、適切な場合、1つまたは複数の半導体ベースの、または他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、またはこれらの2つ以上の任意の適切な組合せを含むことができる。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「または」は排他的ではなく包含的である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AまたはB」は「A、B、またはその両方」を意味する。さらに、別段に明記されていない限り、または文脈によって示されていない限り、「および」は協同(joint)および個々(several)の両方である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「AおよびB」は、「AおよびBが一緒に、または個別に」(A and B, jointly or severally)を意味する。
本開示の範囲は、当業者なら理解するはずである、本明細書で説明または図示される例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または図示される例示的実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、またはステップを含むものとして説明および図示するが、これらの実施形態のいずれの、当業者なら理解するはずである、本明細書のどこかで説明または図示される構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは置換を含むことができる。さらに、特定の機能を実施するように適合され、配置され、実施することが可能であり、実施するように構成され、実施することが可能にされ、実施するように動作可能である装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求項の範囲での参照は、その装置、システム、または構成要素がそのように適合され、配置され、可能であり、構成され、可能にされ、動作可能にされる限り、その装置、システム、構成要素またはその特定の機能が活性化され、オンにされ、またはロック解除されるか否かに関わらず、その装置、システム、構成要素を包含する。