(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスが、前記コンピューティングデバイスに関連付けられている画面の表示可能領域におけるコンテンツレイアウトのための特定のコンテンツを求める要求をオペレーティングシステムから受信する工程であって、前記特定のコンテンツは、特定のタイプの表示オブジェクトに含まれることができる、受信する工程と、
前記コンピューティングデバイスが、アプリケーションに関連付けられている第１のリサイクラーに関連付けられている所定のアプリケーションに適合したリサイクルポリシーにストレージデバイスからアクセスする工程であって、前記アプリケーションに適合したリサイクルポリシーは、前記第１のリサイクラーに保持する表示オブジェクトの個数、前記第１のリサイクラーに記憶する表示オブジェクトのタイプ、前記第１のリサイクラー内の表示オブジェクトが再使用またはリサイクルに適切であるか否かの判定方法、および、前記第１のリサイクラー内の表示オブジェクトの再使用またはリサイクルの時期の１以上を管理する、前記ストレージデバイスからアクセスする工程と、
前記コンピューティングデバイスが、アプリケーションに適合したリサイクルポリシーに基づいて、前記アプリケーションに関連付けられている第１のリサイクラーが前記特定のコンテンツを含むためにリサイクルまたは再使用に適切である表示オブジェクトを含むことを判定する工程であって、前記表示オブジェクトは、前記特定のタイプの表示オブジェクトである場合、リサイクルまたは再使用に適切である、判定する工程と、
前記コンピューティングデバイスが、前記表示オブジェクトが前記特定のコンテンツを含んでいるか否かを判定する工程と、
前記コンピューティングデバイスが、前記表示オブジェクトが前記特定のコンテンツを含まないと判定すると、前記特定のコンテンツで前記表示オブジェクトを埋める工程と、
前記コンピューティングデバイスが、ラッパーオブジェクトの中に前記表示オブジェクトと１以上の追加の表示オブジェクトとをカプセル化する工程と、
前記コンピューティングデバイスが、前記表示オブジェクトと前記１以上の追加の表示オブジェクトとをカプセル化する前記ラッパーオブジェクトを前記オペレーティングシステムに表示のために戻す工程と、
前記コンピューティングデバイスが、前記表示オブジェクトが前記表示可能領域における前記コンテンツレイアウトのために必要でなくなったことを示す標識を受信する工程と、
前記コンピューティングデバイスが、前記表示オブジェクトを前記ラッパーオブジェクトから抽出する工程と、
前記コンピューティングデバイスが、前記表示オブジェクトを前記アプリケーションに関連付けられている前記第１のリサイクラーに記憶する工程と、
前記コンピューティングデバイスが、前記ラッパーオブジェクトを前記オペレーティングシステムに関連付けられている第２のリサイクラーに前記表示オブジェクトなしで記憶する工程と、からなる方法。
【請求項２】
前記アプリケーションに適合したリサイクルポリシーは、アプリケーション固有のリサイクルポリシー、デバイス固有のリサイクルポリシー、またはユーザ固有のリサイクルポリシーを含む、請求項１に記載の方法。
【請求項３】
前記表示オブジェクトは、前記コンテンツレイアウトにおける前記特定のコンテンツの位置、コンテンツの識別子、前記特定のコンテンツに基づいて生成されるハッシュキー、または前記特定のコンテンツに関係するアクティビティのタイムスタンプを含む、取り出しキーと関連付けて前記第１のリサイクラーに記憶される、請求項１に記載の方法。
【請求項４】
前記特定のコンテンツは、ソーシャルネットワーキング情報を含み、前記表示オブジェクトは、前記特定のコンテンツが関係するソーシャル・グラフにおける１以上の要素に関連付けられている識別子を含む取り出しキーと関連付けて前記第１のリサイクラーに記憶される、請求項１に記載の方法。
【請求項５】
ソフトウェアを具現化する１以上の非一時的コンピュータ可読記憶媒体であって、実行されたとき、
画面の表示可能領域におけるコンテンツレイアウトのための特定のコンテンツを求める要求をオペレーティングシステムから受信する工程であって、前記特定のコンテンツは、特定のタイプの表示オブジェクトに含まれることができる、受信する工程と、
アプリケーションに関連付けられている第１のリサイクラーに関連付けられている所定のアプリケーションに適合したリサイクルポリシーにストレージデバイスからアクセスする工程であって、前記アプリケーションに適合したリサイクルポリシーは、前記第１のリサイクラーに保持する表示オブジェクトの個数、前記第１のリサイクラーに記憶する表示オブジェクトのタイプ、前記第１のリサイクラー内の表示オブジェクトが再使用またはリサイクルに適切であるか否かの判定方法、および、前記第１のリサイクラー内の表示オブジェクトの再使用またはリサイクルの時期の１以上を管理する、前記ストレージデバイスからアクセスする工程と、
アプリケーションに適合したリサイクルポリシーに基づいて、前記アプリケーションに関連付けられている第１のリサイクラーが前記特定のコンテンツを含むためにリサイクルまたは再使用に適切である表示オブジェクトを含むことを判定する工程であって、前記表示オブジェクトは、前記特定のタイプの表示オブジェクトである場合、リサイクルまたは再使用に適切である、判定する工程と、
前記表示オブジェクトが前記特定のコンテンツを含んでいるか否かを判定する工程と、
前記表示オブジェクトが前記特定のコンテンツを含まないと判定すると、前記特定のコンテンツで前記表示オブジェクトを埋める工程と、
ラッパーオブジェクトの中に前記表示オブジェクトと１以上の追加の表示オブジェクトとをカプセル化する工程と、
前記表示オブジェクトと前記１以上の追加の表示オブジェクトとをカプセル化する前記ラッパーオブジェクトを前記オペレーティングシステムに表示のために戻す工程と、
前記表示オブジェクトが前記表示可能領域における前記コンテンツレイアウトのために必要でなくなったことを示す標識を受信する工程と、
前記表示オブジェクトを前記ラッパーオブジェクトから抽出する工程と、
前記表示オブジェクトを前記アプリケーションに関連付けられている前記第１のリサイクラーに記憶する工程と、
前記ラッパーオブジェクトを前記オペレーティングシステムに関連付けられている第２のリサイクラーに前記表示オブジェクトなしで記憶する工程と、が行われるように構成される、媒体。
【請求項６】
前記アプリケーションに適合したリサイクルポリシーは、アプリケーション固有のリサイクルポリシー、デバイス固有のリサイクルポリシー、またはユーザ固有のリサイクルポリシーを含む、請求項５に記載の媒体。
【請求項７】
前記表示オブジェクトは、前記コンテンツレイアウトにおける前記特定のコンテンツの位置、コンテンツの識別子、前記特定のコンテンツに基づいて生成されるハッシュキー、または前記特定のコンテンツに関係するアクティビティのタイムスタンプを含む、取り出しキーと関連付けて前記第１のリサイクラーに記憶される、請求項５に記載の媒体。
【請求項８】
前記特定のコンテンツは、ソーシャルネットワーキング情報を含み、前記表示オブジェクトは、前記特定のコンテンツが関係するソーシャル・グラフにおける１以上の要素に関連付けられている識別子を含む取り出しキーと関連付けて前記第１のリサイクラーに記憶される、請求項５に記載の媒体。
【請求項９】
システムであって、
１以上のプロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行可能な命令を含むメモリと、を備え、前記プロセッサは、前記命令を実行したとき、
画面の表示可能領域におけるコンテンツレイアウトのための特定のコンテンツを求める要求をオペレーティングシステムから受信する工程であって、前記特定のコンテンツは、特定のタイプの表示オブジェクトに含まれることができる、受信する工程と、
アプリケーションに関連付けられている第１のリサイクラーに関連付けられている所定のアプリケーションに適合したリサイクルポリシーにストレージデバイスからアクセスする工程であって、前記アプリケーションに適合したリサイクルポリシーは、前記第１のリサイクラーに保持する表示オブジェクトの個数、前記第１のリサイクラーに記憶する表示オブジェクトのタイプ、前記第１のリサイクラー内の表示オブジェクトが再使用またはリサイクルに適切であるか否かの判定方法、および、前記第１のリサイクラー内の表示オブジェクトの再使用またはリサイクルの時期の１以上を管理する、前記ストレージデバイスからアクセスする工程と、
アプリケーションに適合したリサイクルポリシーに基づいて、前記アプリケーションに関連付けられている第１のリサイクラーが前記特定のコンテンツを含むためにリサイクルまたは再使用に適切である表示オブジェクトを含むことを判定する工程であって、前記表示オブジェクトは、前記特定のタイプの表示オブジェクトである場合、リサイクルまたは再使用に適切である、判定する工程と、
前記表示オブジェクトが前記特定のコンテンツを含んでいるか否かを判定する工程と、
前記表示オブジェクトが前記特定のコンテンツを含まないと判定すると、前記特定のコンテンツで前記表示オブジェクトを埋める工程と、
ラッパーオブジェクトの中に前記表示オブジェクトと１以上の追加の表示オブジェクトとをカプセル化する工程と、
前記表示オブジェクトと前記１以上の追加の表示オブジェクトとをカプセル化する前記ラッパーオブジェクトを前記オペレーティングシステムに表示のために戻す工程と、
前記表示オブジェクトが前記表示可能領域における前記コンテンツレイアウトのために必要でなくなったことを示す標識を受信する工程と、
前記表示オブジェクトを前記ラッパーオブジェクトから抽出する工程と、
前記表示オブジェクトを前記アプリケーションに関連付けられている前記第１のリサイクラーに記憶する工程と、
前記ラッパーオブジェクトを前記オペレーティングシステムに関連付けられている第２のリサイクラーに前記表示オブジェクトなしで記憶する工程と、が行われるように構成される、システム。
【請求項１０】
前記アプリケーションに適合したリサイクルポリシーは、アプリケーション固有のリサイクルポリシー、デバイス固有のリサイクルポリシー、またはユーザ固有のリサイクルポリシーを含む、請求項９に記載のシステム。
【請求項１１】
前記表示オブジェクトは、前記コンテンツレイアウトにおける前記特定のコンテンツの位置、コンテンツの識別子、前記特定のコンテンツに基づいて生成されるハッシュキー、または前記特定のコンテンツに関係するアクティビティのタイムスタンプを含む、取り出しキーと関連付けて前記第１のリサイクラーに記憶される、請求項９に記載のシステム。
【請求項１２】
前記特定のコンテンツは、ソーシャルネットワーキング情報を含み、前記表示オブジェクトは、前記特定のコンテンツが関係するソーシャル・グラフにおける１以上の要素に関連付けられている識別子を含む取り出しキーと関連付けて前記第１のリサイクラーに記憶される、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にはオブジェクトのライフサイクル管理に関する。
【背景技術】
【０００２】
表示オブジェクトを作成し、それらをコンテンツで埋めることは、コンテンツ集約型アプリケーションのレイテンシの原因を有意に構成する場合がある。コンテンツレイアウトを、コンテンツが折り畳み（ユーザはコンテンツを閲覧するためにコンテンツレイアウトをスクロールする必要がある）の下に延びる特定の表示画面にレンダリングする際、表示オブジェクトは、それらが現れた時、作成され、コンテンツで埋められ、それらが見えなくなった時、リサイクルされる。オペレーティングシステムによって提供されたデフォルトのリサイクリングユーティリティは、かかるコンテンツ集約型アプリケーション、特に、最近要求された表示オブジェクトが短時間内に再度、恐らく繰り返して要求される場合のアプリケーションの要件に対して不十分であると分かる場合がある。
【発明の概要】
【０００３】
コンテンツ・アウェア様式の高価な表示オブジェクトの再使用およびリサイクルを容易にするために、アプリケーションは、アプリケーション固有のリサイクルポリシーを適用し、表示オブジェクトへのアクセス方法、およびそれをアプリケーションによって再使用するためにアプリケーションに適合したオブジェクトリサイクラーに変換する時期を決定する。表示対象の特定のコンテンツ要素の要求を受信すると、アプリケーションは、表示オブジェクトを作成し、表示オブジェクトをレンダリングする。それを表示用のオペレーティングシステムに戻す前に、アプリケーションは、アプリケーション固有のリサイクルポリシーに照らした表示オブジェクトの査定に応じて、安価に作成されたラッパーオブジェクトに表示オブジェクトを包含してもよい。オブジェクトをオペレーティングシステムのデフォルトのリサイクリングユーティリティに送信する準備として、オペレーティングシステムがオブジェクトの終了方法を呼び出す際、アプリケーションは、表示オブジェクトを抽出し、リサイクラーにおいてキャッシュに記憶し、オペレーティングシステムにそのデフォルトのリサイクルポリシーに従って（空の）ラッパーオブジェクトを廃棄させる。同一のコンテンツ要素が再び要求された場合、アプリケーションは、リサイクラーから表示オブジェクトを回収し、それをラッパーオブジェクト内に包含し、包まれた表示オブジェクトを戻す。
【図面の簡単な説明】
【０００４】
【図１Ａ】表示オブジェクトを用いてレンダリングされるコンテンツレイアウトのワイヤフレーム。
【図１Ｂ】図１Ａの詳細なセクションを示すワイヤフレーム。
【図２】アプリケーションによって制御されるオブジェクトのリサイクルの例示的な方法を示す。
【図３】ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。
【図４】例示的なソーシャル・グラフを示す図。
【図５】例示的なコンピュータ・システムを示す図。
【発明を実施するための形態】
【０００５】
デフォルトのリサイクリングユーティリティによる表示オブジェクトのリサイクルは、コンテンツベースのコンテキストか使用ベースのコンテキストかを意識することなく均一に取り扱われる場合がある。これにより、不要且つ高価なオペレーションを引き起こし、
必要であるよりも頻繁に表示オブジェクトが作成され、非効率にリサイクルされた表示オブジェクトをコンテンツで埋めることとなる。表示オブジェクトが非常に大きくなる可能性を有し（例えば、ＡＮＤＲＯＩＤ（登録商標）のＬｉｓｔＶｉｅｗオブジェクトまたはＧｒｉｄＶｉｅｗオブジェクト）、ユーザがリストまたは同じコンテンツ要素の前後のグリッドを繰り返しトラバースする場合、最近要求された表示オブジェクトを効率的に再使用するために失敗による不要なオペレーションを避けることがさらに所望される。
【０００６】
コンテンツ・アウェア様式の高価な表示オブジェクトの再使用およびリサイクルを容易にするために、アプリケーションは、アプリケーション固有のリサイクルポリシーを適用し、表示オブジェクトへのアクセス方法、およびそれをアプリケーションによって再使用するためにアプリケーションに適合したオブジェクトリサイクラーに変換する時期を決定することができる。表示対象の特定のコンテンツ要素の要求を受信すると、アプリケーションは、表示オブジェクトを作成し、表示オブジェクトをレンダリングする。それを表示用のオペレーティングシステムに戻す前に、アプリケーションは、アプリケーション固有のリサイクルポリシーに照らした表示オブジェクトの査定に応じて、安価に作成されたラッパーオブジェクトに表示オブジェクトを包含してもよい。オブジェクトをオペレーティングシステムのデフォルトのリサイクリングユーティリティに送信する準備として、オペレーティングシステムがオブジェクトの終了方法を呼び出す際、アプリケーションは、表示オブジェクトを抽出し、リサイクラーにおいてキャッシュに記憶し、オペレーティングシステムにそのデフォルトのリサイクルポリシーに従って（空の）ラッパーオブジェクトを廃棄させる。同一のコンテンツ要素が再び要求された場合、アプリケーションは、リサイクラーから表示オブジェクトを回収し、それをラッパーオブジェクト内に包含し、包まれた表示オブジェクトを戻す。ラッパーオブジェクトはそれ自身、新たに作成されてもよく、またはオペレーティングシステムのデフォルトのリサイクリングユーティリティによって提供されてもよい−新しいラッパーオブジェクトの作成による任意のレイテンシは、表示オブジェクトを作成するおよび埋める、あるいは作成するまたは埋める高価なオペレーションと比較して非常に変短い。
【０００７】
特定の実施形態において、リサイクラーは、任意の適切なデータ構造（例えば、ヒープ）を用いて実装されてもよく、任意の適切なデータ構造に表示オブジェクトは記憶され、リサイクラーから、アプリケーションに適した任意の取り出しキーを用いて取り出されてもよい。例えば、ソーシャル・ネットワーキング・システムによって提供される時系列順に整理されたニュースフィードのアプリケーションにおいて、ニュースフィードにおける各一覧は、ユーザのソーシャル・グラフにおけるつながりのアクティビティに関係し、各表示オブジェクトは、ニュースフィードアイテムＩＤ番号、ニュースフィードアイテムの要素に基づいて生成されたハッシュキー、ニュースフィードにおけるニュースフィードアイテムの位置、ニュースフィードアイテムに関連付けられているタイムスタンプ、特定のコンテンツが関係するソーシャル・グラフにおける任意の要素に関連付けられている識別子に基づいて生成された識別子、または特定のコンテンツが関係するソーシャル・グラフにおける任意の要素に関連付けられている情報に基づくハッシュキーを含む、取り出しキーと関連付けて記憶することができる。特定の実施形態において、アプリケーションの必要条件に基づいて、１つまたは複数のアプリケーション用リサイクラーが存在してもよい。例えば、アプリケーションは、表示オブジェクトのタイプごとに１つのリサイクラーを維持してもよい。他の例において、アプリケーションは、迅速に終了し、またしばしば更新されなければならない、あるいは迅速に終了するか、またはしばしば更新されなければならない表示オブジェクトに対して１つのリサイクラー、および、終了しない、またはより長期間有効であり続ける表示オブジェクトに対して他のリサイクラーを維持してもよい。当業者は、特定のアプリケーションの必要条件に応じて、任意の数のリサイクラーが利用されてもよいことに気付くであろう。
【０００８】
本明細書に記載される実施形態はまた、表示オブジェクトのサブ要素によって実施されてもよく、サブ要素のいくつかは、ネストされた表示オブジェクトを含んでもよい。
図１Ａは、コンテンツレイアウト１００の例示的なワイヤフレームを示すワイヤフレームであり、多数の表示オブジェクトに基づいてタブレット型デバイス上に表示するためにレンダリングされるソーシャル・ネットワーキング・システムのユーザ向けニュースフィード・ページである。（破線によって示される）コンテンツレイアウト１００の表示可能領域は、（折り畳みの上の）タブレット型デバイスの画面寸法内に適合することとなるコンテンツレイアウト１００の部分を含む。
【０００９】
コンテンツレイアウト１００は、ヘッダ領域１１０と、メニューバー１２０と、左側サイドバー１３０と、右側サイドバー１４０と、メイン・ボディ・エリア１５０と、を含む。各領域は、それ自身の表示オブジェクトに関連付けられ、各表示オブジェクトは、限定ではなく例として、イメージ、動画、テキスト、リンク、フォーム、および対話型要素など多数の要素を含むことができる。これらの要素の各々は、１つまたは複数のネストされた表示オブジェクトによって表されてもよい。
【００１０】
ヘッダ領域１１０に関連付けられている表示オブジェクトは、ソーシャル・ネットワーク・ユーザによって選択された、ソーシャル・ネットワーク・ユーザの対話型プロファイル写真１１２と、テキスト・ブロック１１４と、背景イメージ１１６と、テーマ音楽と、を含む。対話型プロファイル写真１１２は、イメージ、テキスト、リンク、およびＪＡＶＡ（登録商標）スクリプトコードを含み得る表示オブジェクトに基づいてレンダリングされ、マウスなどのポインティングデバイスがプロファイル写真上に移動すると現れるソーシャル・ネットワーク・ユーザのプロファイルの要約を表示するポップアップウィンドウをレンダリングする。
【００１１】
メニューバー１２０に関連付けられている表示オブジェクトは、５つのメニューオプション１２５Ａ〜１２５Ｆを含み、メニューオプションの各々は、イメージ、テキスト、およびリンクを含む。
【００１２】
左側サイドバー１３０に関連付けられている表示オブジェクトは、（スポンサー記事を含む）おすすめを含んでいるコンテンツを含み（１３５Ａ〜１３５Ｅのみが示されているが、もっと多くのおすすめがあってもよい）、おすすめの各々は、表示オブジェクトに基づいてレンダリングされる。おすすめ用の各々の表示オブジェクトは、対話型イメージと、タイトルと、おすすめ用のテキストと、おすすめに関係するさらなる情報を得るためのリンクと、を含んでもよい。ニュースフィードアイテム用の各表示オブジェクトはまた、１つまたは複数のイメージもしくは動画を含んでもよい。
【００１３】
右側サイドバー１４０に関連付けられている表示オブジェクトは、１つまたは複数の広告１４５用のコンテンツを含み、広告の各々は、表示オブジェクトに基づいてレンダリングされる。図１Ａに示される例に示されるように、広告１４５Ａは、折り畳みの上に現れ、一方、１４５Ｂは、まだ見えない。広告のコンテンツは、少なくともある程度、サードパーティの広告主によって決定されてもよい。
【００１４】
メイン・ボディ・エリア１５０に関連付けられている表示オブジェクトは、多数のニュースフィードアイテム（１５５Ａ〜１５５Ｅのみが示されているが、より多くのニュースフィードアイテムがあってもよい）を含み、ニュースフィードアイテムの各々は、ユーザの友人（すなわち、ソーシャル・グラフのつながり）に関係するアクティビティに関連付けられている表示オブジェクトに基づいてレンダリングされる。
【００１５】
図１Ｂは、図１Ａの詳細なセクション、すなわち、コンテンツレイアウト１００のメイ
ン・ボディ・エリア１５０におけるニュースフィードアイテム１５５Ｂ〜１５５Ｅを示すワイヤフレームである。図１Ａに示すように、（破線によって示される）コンテンツレイアウト１００の表示可能領域は、タブレット型デバイスの画面上に適合することとなるコンテンツレイアウト１００の一部を含む。
【００１６】
ニュースフィードアイテム１５５の各表示オブジェクトは、友人の対話型プロファイル写真１６０と、友人の名前１６５と、ニュースフィードアイテム用のテキスト１７０と、時間依存性情報１７５（例えば、一覧の、常時最新の閲覧数／コメント数／「いいね」の数、一覧の、閲覧／コメント／「いいね」の表明をした最新の１人または２人の短い一覧など）と、ニュースフィードアイテムに「いいね」を表明するためのリンク１８０と、ニュースフィードアイテムにコメントするためのリンク１８５と、ニュースフィードアイテムを「共有」するためのリンク１９０と、を含む。ニュースフィードアイテム用の各表示オブジェクトはまた、１つまたは複数のイメージ１９５または動画を含んでもよい。
【００１７】
各対話型プロファイル写真１６０は、イメージ、テキスト、リンク、およびＪＡＶＡスクリプトコードを含み得る表示オブジェクトに基づいてレンダリングされ、マウスなどのポインティングデバイスがプロファイル写真上に移動すると現れるソーシャル・ネットワーク・ユーザのプロファイルの要約を表示するポップアップウィンドウをレンダリングする。
【００１８】
図２は、アプリケーションによって制御されるオブジェクトのリサイクルの例示的な方法を示す。ステップ２１０において、アプリケーションは、要求されたコンテンツを含んでいる表示オブジェクトで応答する必要がある、特定のコンテンツ（例えば、ニュースフィードアイテム１５５Ｃ）の要求を受信する。上述したように、表示オブジェクトは、多数の要素を含んでもよく、要素はそれ自身、表示オブジェクトであってもよい。例えば、ニュースフィードアイテム１５５Ｃは、表示オブジェクトによってレンダリングされる対話型プロファイル写真１６０を含む。
【００１９】
ステップ２２０において、アプリケーションは、アプリケーションに適合したリサイクルポリシーに従って、再使用またはリサイクルに適切であり得る、表示オブジェクトがアプリケーションに適合したリサイクラー内にあるか否かを判定する。表示オブジェクトが現在要求されているコンテンツと同一のまたは同様のコンテンツを含んでいる場合、再使用に適切であり得る。表示オブジェクトが同一のタイプであるが、異なるコンテンツで埋められている場合、リサイクルに適切であり得る。この判定は、アプリケーション固有の、デバイス固有の、およびユーザ固有の、あるいはアプリケーション固有の、デバイス固有の、またはユーザ固有のリサイクルポリシーに依存し得る。特定の実施形態において、アプリケーションは、アプリケーションの必要条件、コンテンツのタイプ、デバイスの属性（例えば、利用可能なメモリおよびディスプレイ画面の寸法、あるいは利用可能なメモリまたはディスプレイ画面の寸法）、コンテンツの統計、使用パターンおよび嗜好、または任意の他の適する因子に従って、リサイクルポリシーを設定することができる。かかるポリシーは、リサイクラーに保持するオブジェクトの個数、リサイクラーに記憶するオブジェクトのタイプ、表示オブジェクトが再使用およびリサイクル、あるいは再使用またはリサイクルに適切であるか否かの判定方法、表示オブジェクトの再使用またはリサイクルの時期などを管理することができる。
【００２０】
ステップ２２５において、リサイクラーがヌルを返す２つの状況がある。第１の状況は、簡潔である−現在のタイプの表示オブジェクトがリサイクラーにおいて見つからなかった。第２の状況において、リサイクルに適切であるが再使用に適切ではない表示オブジェクトがリサイクラーにおいて見つかったが、しかし、リサイクルポリシーは、表示オブジェクトのリサイクルを禁止している。
【００２１】
例えば、図１Ｂに示されるニュースフィード・レイアウトにおいて、ユーザは、過去のニュースフィードアイテム１５５Ａを前に閲覧して、スクロールし、表示可能領域は、ニュースフィードアイテム１５５Ｂ〜１５５Ｅによって占有されている。これは、ニュースフィードアイテム１５５Ａ用の表示オブジェクトが以前生成され、コンテンツで埋められ、表示され、その後、リサイクラーに記憶されたであろうことを意味する。ユーザが下方へスクロールし、アプリケーションがニュースフィードアイテム１５５Ｆ用のコンテンツを含んでいる表示オブジェクトを求める要求を受信する場合、アプリケーションは、ニュースフィードアイテム１５５Ａ用の表示オブジェクトがニュースフィードアイテム１５５Ｆ用にリサイクルすることができるか否かを判定することとなる。（継続的なリサイクルではなく再使用を促進するために）多数の表示オブジェクトがリサイクラーに記憶される際、アプリケーションがオブジェクトのリサイクルのみを許可すると、リサイクラーは、ニュースフィードアイテム１５５Ｆのための新しい表示オブジェクトを作成するためにヌルを返すことができる（そして、ニュースフィードアイテム１５５Ａが再びすぐに要求されることを想定して、ニュースフィードアイテム１５５Ａ用の表示オブジェクトを保持することができる）。
【００２２】
どちらにしても、アプリケーションは、適するタイプの新しい表示オブジェクトを作成し、要求されたコンテンツを表示し、その後、要求されたコンテンツで表示オブジェクトを埋める（ステップ２５０）。新しい表示オブジェクトを作成することと、空の表示オブジェクトを埋めることとは両方とも高価なオペレーションであるため、これは、最も高価な方法である。したがって、アプリケーションは、リサイクラーに記憶されたその他の点では適切な表示オブジェクトをリサイクルすることを禁止する時期を決定する際、対立する優先事項を比較考慮する必要があり得る。
【００２３】
ステップ２３０において、適切な表示オブジェクトがリサイクラーにおいて利用可能な場合、アプリケーションは、表示オブジェクト内のコンテンツが要求されたコンテンツと同一かまたは類似しているか否かを判定する。
【００２４】
ステップ２３５において、表示オブジェクトが要求されたコンテンツと同一かまたは類似のコンテンツを含んでいる場合、アプリケーションは、この要求のために回収された表示オブジェクトを再使用することができる。例えば、図１Ｂに示されるニュースフィード・レイアウトにおいて、ユーザは、過去のニュースフィードアイテム１５５Ａを前に閲覧して、スクロールし、表示可能領域は、ニュースフィードアイテム１５５Ｂ〜１５５Ｅによって占有されている。これは、ニュースフィードアイテム１５５Ａ用の表示オブジェクトが以前生成され、コンテンツで埋められ、表示され、その後、リサイクラーに記憶されたであろうことを意味する。ユーザが上へスクロールして戻り、アプリケーションがニュースフィードアイテム１５５Ａ用のコンテンツを含んでいる表示オブジェクトを求める要求を受信する場合、ニュースフィードアイテム１５５Ａ用のコンテンツを含んでいる表示オブジェクトは、リサイクラーから回収され、再使用される。
【００２５】
回収された表示オブジェクトを再使用するために、必要に応じて、表示オブジェクトの時間依存性要素などの特定の要素を更新する必要があり得る（ステップ２４０）。例えば、ニュースフィードアイテム１５５は、時間依存性情報１７５（例えば、一覧の、常時最新の閲覧数／コメント数／「いいね」の数、一覧の、閲覧／コメント／「いいね」を表明した最新の１人または２人の短い一覧など）を更新する必要があり得る。場合によっては、表示オブジェクトに含まれているコンテンツは、要求されたコンテンツに非常に類似するが、厳密には同一ではない場合がある。一部の実施形態において、アプリケーションは、どの要素が更新される必要があるかを認識し、それらの要素だけを更新してもよい。一部の実施形態において、アプリケーションは、コンテンツの比較（例えば、ハッシュの比
較）を実施してもよく、更新すべき要素および更新しない要素を決定してもよい。一部の実施形態において、アプリケーションは、要求されたコンテンツに関連付けられているメタデータおよび属性、あるいはメタデータまたは属性に基づいて更新される必要がある要素を決定してもよい。
【００２６】
アプリケーションに適合したリサイクルポリシーは、必要に応じて特定の要素を更新するのに効率のよい時期および最初から表示オブジェクトを再度埋めるのにより効率のよい時期を決定するためのルールを適用してもよい（ステップ２５０参照）。それでも、新しい表示オブジェクトを作成することと、空の表示オブジェクトを埋め込むこととの２つの高価なオペレーションが排除されるので、表示オブジェクトの再使用は、典型的には最も安価な方法である。
【００２７】
ステップ２４５において、リサイクラーにおける表示オブジェクトが同一の表示オブジェクトのタイプであるが、要求されたコンテンツと同一または非常に類似したコンテンツで埋められない場合、アプリケーションは、この要求のための表示オブジェクトをリサイクルすることができる。例えば、図１Ｂに示されるニュースフィード・レイアウトにおいて、ユーザは、過去のニュースフィードアイテム１５５Ａを前に閲覧して、スクロールし、表示可能領域は、ニュースフィードアイテム１５５Ｂ〜１５５Ｅによって占有されている。これは、ニュースフィードアイテム１５５Ａ用の表示オブジェクトが以前生成され、コンテンツで埋められ、表示され、その後、リサイクラーに記憶されたであろうことを意味する。ユーザが下へスクロールし、アプリケーションがニュースフィードアイテム１５５Ｆのコンテンツを含んでいる表示オブジェクトを求める要求を受信すると、ニュースフィードアイテム１５５Ａ用のコンテンツを含んでいる表示オブジェクトがリサイクラーから回収され、（アプリケーションのリサイクルポリシーによって許可された場合）、ニュースフィードアイテム１５５Ｆ用にリサイクルすることができる。
【００２８】
この場合、アプリケーションは、最初から、要求されたコンテンツで表示オブジェクトを埋め（ステップ２５０）、それによって、表示オブジェクトに存在するコンテンツを全部ではないとしても大部分書き換える。これは、表示オブジェクトを埋めることは、高価なオペレーションであるので、表示オブジェクトの再使用より所望されないが、リサイクルすることによって、少なくとも新しい表示オブジェクトを作成するコストを回避することができる。特定の実施形態において、この時点で、ステップ２２０〜２７０は、表示オブジェクトのサブ要素で繰り返して実施されてもよく、サブ要素のいくつかは、それら自身、ネストされた表示オブジェクトを含んでもよい。
【００２９】
ステップ２６０において、アプリケーションは、ラッパーオブジェクト内に表示オブジェクトをカプセル化してもよい。特定の実施形態において、オペレーティングシステムによって提供されたデフォルトのリサイクリングユーティリティは、要求された表示オブジェクトに基づいてリサイクルされたラッパーオブジェクトを提供するよう試みてもよい。ラッパーオブジェクトが表示オブジェクトに提供される場合、アプリケーションは、提供されたラッパーオブジェクトを使用してもよく、そうでなければ、アプリケーションは、新しいラッパーオブジェクトを作成してもよい。ステップ２７０において、アプリケーションは、要求に応答してカプセル化された表示オブジェクトを戻す。
【００３０】
ステップ２８０において、アプリケーションは、表示オブジェクトが表示領域内のコンテンツレイアウトに必要でなくなったことを示す標識を受信する。ステップ２９０において、アプリケーションは、リサイクラー内に表示オブジェクトを記憶する。ラッパーオブジェクトが使用される場合、アプリケーションは、表示オブジェクトを記憶する前にラッパーオブジェクトから表示オブジェクトを抽出し、オペレーティングシステムによって提供されたデフォルトのリサイクリングユーティリティに現在空のラッパーオブジェクトを
リサイクルさせてもよい。
【００３１】
本明細書に開示される実施形態は、アプリケーションによって実施されているものとして記載されているが、当業者が認識するように、例示的な方法２００における多くのステップおよび本明細書に開示される他の実施形態は、１つまたは複数の抽象層において１つまたは複数のソフトウェア操作によって実施されてもよい。例えば、ＡＮＤＲＯＩＤオペレーティングシステムのコンテキスト内で、リサイクラーは、フラグメントのために提供されてもよく、またリサイクラーは、アクティビティのために提供されてもよい、あるいはリサイクラーは、フラグメントのために提供されてもよいか、またはリサイクラーは、アクティビティのために提供されてもよい。他の例において、リサイクラーの機能は、アプリケーションとは別に実行するソフトウェアによって実施されてもよい。
【００３２】
特定の実施形態は、適宜、図２の方法の１つまたは複数のステップを繰り返してもよい。本開示は、特定の順序で発生するように、図２の方法の特定のステップを記載および例示しているが、本開示は、任意の適切な順序で発生する図２の方法の任意の適切なステップを企図する。さらに、本開示は、図２の方法の特定のステップを遂行する特定の構成要素、デバイス、またはシステムを記載および例示しているが、本開示は、図２の方法の任意の適切なステップを遂行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組み合わせを企図する。
【００３３】
図３は、ソーシャル・ネットワーキング・システムに関連付けられている例示的ネットワーク環境３００を示す。ネットワーク環境３００は、ネットワーク３１０によって互いに接続された、クライアント・システム３３０と、ソーシャル・ネットワーキング・システム３６０と、サードパーティ・システム３７０とを含む。図３は、クライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、サードパーティ・システム３７０、およびネットワーク３１０の特定の配置を示しているが、この開示は、クライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、サードパーティ・システム３７０、およびネットワーク３１０の任意の好適な配置を検討する。例として、クライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、およびサードパーティ・システム３７０のうちの２つ以上が、ネットワーク３１０を介さずに、直接互いに接続されることもあるが、これらに限定するものではない。別の例として、クライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、およびサードパーティ・システム３７０のうちの２つ以上が、全体または一部において、互いと物理的にまたは論理的に同じ場所に配置されることがある。さらに、図３は、特定の数のクライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、サードパーティ・システム３７０、およびネットワーク３１０を示しているが、この開示は、任意の好適な数のクライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、サードパーティ・システム３７０、およびネットワーク３１０を検討する。例として、ネットワーク環境３００が、複数のクライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、サードパーティ・システム３７０、およびネットワーク３１０を含むことがあるが、これらに限定するものではない。コンピュータ・サーバおよびクライアント・デバイスなどの、ただしこれらに限定されない、コンピューティング・デバイスの諸実施形態については、本明細書の関連部分において図５に関してさらに詳細に説明する。
【００３４】
この開示は、任意の好適なネットワーク３１０を検討する。例として、ネットワーク３１０の１つまたは複数の部分は、アド・ホック・ネットワーク、インターネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インター
ネットの一部、公衆交換電話網（ＰＳＴＮ）の一部、携帯電話網、またはこれらの２つ以上の組合せを含むことができるが、これらに限定するものではない。ネットワーク３１０は、１つまたは複数のネットワーク３１０を含むことがある。
【００３５】
リンク３５０は、クライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、およびサードパーティ・システム３７０を、通信ネットワーク３１０に、または互いに接続することができる。この開示は、任意の好適なリンク３５０を検討する。特定の実施形態では、１つまたは複数のリンク３５０は、１つまたは複数の有線（例えばデジタル加入者線（ＤＳＬ）もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ：Ｄａｔａ  Ｏｖｅｒ  Ｃａｂｌｅ  Ｓｅｒｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）など）、無線（例えばＷｉ−Ｆｉもしくはワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ：Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）など）、または光（例えば同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタル階層（ＳＤＨ）など）リンクを含む。特定の実施形態では、１つまたは複数のリンク３５０が、それぞれアド・ホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部、ＰＳＴＮの一部、セル方式の技術によるネットワーク、衛星通信技術によるネットワーク、別のリンク３５０、または２つ以上のこのようなリンク３５０の組合せを含む。リンク３５０は、必ずしもネットワーク環境３００の全体にわたって同じである必要はない。１つまたは複数の第１のリンク３５０は、１つまたは複数の点において、１つまたは複数の第２のリンク３５０とは異なることがある。
【００３６】
特定の実施形態では、クライアント・システム３３０は、ハードウェア、ソフトウェア、または組み込まれた論理構成要素、もしくは２つ以上のこのような構成要素の組合せを含み、クライアント・システム３３０によって実行される、またはサポートされる適切な機能を実行することができる電子デバイスであることが可能である。例として、クライアント・システム３３０は、デスクトップ・コンピュータ、ノートブックもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータ、電子書籍リーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、携帯電話、スマートフォン、その他の好適な電子デバイス、またはそれらの任意の好適な組合せなどの、コンピュータ・システムを含むことができるが、これらに限定するものではない。この開示は、任意の好適なクライアント・システム３３０を検討する。クライアント・システム３３０は、クライアント・システム３３０におけるネットワーク・ユーザを、ネットワーク３１０にアクセスできるようにすることが可能である。クライアント・システム３３０は、そのユーザを他のユーザと通信できるようにすることができる。
【００３７】
特定の実施形態では、クライアント・システム３３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ３３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはツール・バーもしくはＹＡＨＯＯツール・バーのような他の拡張機能を有することもできる。クライアント・システム３３０におけるユーザが、統一資源位置指定子（ＵＲＬ）またはウェブ・ブラウザ３３２を特定のサーバ（サーバ３６２、もしくはサードパーティ・システム３７０に関連付けられているサーバなど）に誘導する他のアドレスを入力し、ウェブ・ブラウザ３３２は、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）要求を生成し、このＨＴＴＰ要求をサーバに伝えることができる。サーバは、ＨＴＴＰ要求を受け取り、ＨＴＴＰ要求に応じて１つまたは複数のハイパー・テキスト・マークアップ言語（ＴＨＭＬ）ファイルをクライアント・システム３３０に伝えることができる。クライアント・システム３３０は、ユーザに提示するためにサーバからのＨＴＭＬファイルに基づいてウェブ・ページをレンダリングすることができる。この開示は、任
意の好適なウェブページ・ファイルを検討する。例として、ウェブ・ページは、特定のニーズに従って、ＨＴＭＬファイル、拡張ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができるが、これらに限定するものではない。このようなページは、例えば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプト、ＡＪＡＸ（非同期ＪＡＶＡＳＲＩＰＴおよびＸＭＬ）など、マークアップ言語とスクリプトの組合せなどを実行することもできるが、これらに限定するものではない。本明細書では、ウェブ・ページへの言及は、（ブラウザがウェブ・ページをレンダリングするために使用することができる）１つまたは複数の対応するウェブページ・ファイルを含み、必要に応じて、逆もまた同様である。
【００３８】
特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、オンライン・ソーシャル・ネットワークをホストすることができるネットワーク・アドレス指定可能コンピューティング・システムとすることができる。ソーシャル・ネットワーキング・システム３６０は、例えばユーザ・プロフィール・データ、概念プロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係している他の好適なデータなどのソーシャル・ネットワーキング・データを生成し、記憶し、受信し、送信することができる。ソーシャル・ネットワーキング・システム３６０は、ネットワーク環境３００の他の構成要素によって直接に、またはネットワーク３１０を通じてアクセスされることが可能である。特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、１つまたは複数のサーバ３６２を含むことができる。各サーバ３６２は、単一の（ｕｎｉｔａｒｙ）サーバ、または複数のコンピュータもしくは複数のデータセンタにまたがる分散型のサーバであることが可能である。サーバ３６２は、例えば、本明細書に記載する機能もしくはプロセスを行うのに好適な、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、プロキシ・サーバ、別のサーバ、またはそれらの任意の組合せなどの様々なタイプとすることができるが、これらに限定するものではない。特定の実施形態では、各サーバ３６２は、ハードウェア、ソフトウェア、または組み込まれた論理構成要素、またはサーバ３６２によって実行される、もしくはサポートされる適切な機能を行うためのそのような構成要素の２つ以上の組合せを含むことができる。特定の実施形態では、ソーシャル・ネットワーキング・システム３６４は、１つまたは複数のデータ・ストア３６４を含むことができる。データ・ストア３６４は、様々なタイプの情報を記憶するために使用されることが可能である。特定の実施形態では、データ・ストア３６４に記憶される情報は、特定のデータ構造に従って整理されることが可能である。特定の実施形態では、各データ・ストア３６４が、リレーショナル、コラム、相関関係、または他の好適なデータベースを含むことができる。この開示は、特定のタイプのデータベースを説明する、または図示するが、この開示は、任意の好適なタイプのデータベースを検討する。特定の実施形態は、クライアント・システム３３０、ソーシャル・ネットワーキング・システム３６０、またはサードパーティ・システム３７０が、データ・ストア３６４に記憶された情報を管理し、取り出し、変更し、追加し、または削除することを可能にするインタフェースを提供することができる。
【００３９】
特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、１つまたは複数のデータ・ストア３６４に１つまたは複数のソーシャル・グラフを記憶することができる。特定の実施形態では、ソーシャル・グラフは、複数のノードを含むことができ、複数のノードは、複数のユーザ・ノード（それぞれが特定のユーザに対応する）、もしくは複数の概念ノード（それぞれが特定の概念に対応する）、およびノードを接続する複数のエッジを含むことができる。ユーザ・ノード、概念ノード、およびエッジを含んだソーシャル・グラフの実施形態については、本明細書の関連部分において図４に関してさらに詳細に説明する。ソーシャル・ネットワーキング・システム３６０が、オンライン・ソーシ
ャル・ネットワークのユーザに、他のユーザと通信し、対話する能力を提供することができる。特定の実施形態では、ユーザが、ソーシャル・ネットワーキング・システム３６０を通じてオンライン・ソーシャル・ネットワークに参加し、その後、ユーザがつながりたいと思うソーシャル・ネットワーキング・システム３６０の幾人かの他のユーザにつながり（ｃｏｎｎｅｃｔｉｏｎｓ）、例えば、関係（ｒｅｌａｔｉｏｎｓｈｉｐ）を追加することができる。本明細書で使用する「友人」という用語は、ユーザがソーシャル・ネットワーキング・システム３６０を通じてつながり、関連付け、または関係を形成したソーシャル・ネットワーキング・システム３６０の任意の他のユーザを指すことができる。
【００４０】
特定の実施形態では、ソーシャル・ネットワーキング・システム３６０が、ソーシャル・ネットワーキング・システム３６０によってサポートされる様々なタイプのアイテムまたはオブジェクトにアクションを行う能力をユーザに提供することができる。一例として、アイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム３６０のユーザが所属することができるグループまたはソーシャル・ネットワーク、ユーザが関心を持っている可能性があるイベントまたはカレンダー・エントリ、ユーザが使用することができるコンピュータ・ベースのアプリケーション、ユーザがサービスを通じてアイテムを購入するもしくは売ることができるようにするトランザクション、ユーザが行うことができる広告との対話、またはその他の好適なアイテムもしくはオブジェクトを含むことができるが、これらに限定するものではない。ユーザは、ソーシャル・ネットワーキング・システム３６０において、またはソーシャル・ネットワーキング・システム３６０から離れて、ネットワーク３１０を通じてソーシャル・ネットワーキング・システム３６０に結合されたサードパーティ・システム３７０の外部システムによって、表されることが可能であるいかなるものとも対話することができる。
【００４１】
特定の実施形態では、ソーシャル・ネットワーキング・システム３６０が、様々なエンティティをリンクさせることができることがある。例として、ソーシャル・ネットワーキング・システム３６０は、ユーザが互いと対話する、ならびにサードパーティ・システム３７０もしくは他のエンティティからコンテンツを受信することを可能にする、またはユーザがアプリケーション・プログラミング・インタフェース（ＡＰＩ）もしくは他の通信チャネルを通してこうしたエンティティと対話できるようにすることがあるが、これらに限定するものではない。
【００４２】
特定の実施形態では、サードパーティ・システム３７０が、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、ＡＰＩなどの、ただしこれに限定されない、１つもしくは複数のインタフェース、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または例えばサーバが通信することができるその他の好適な構成要素を含むことができる。サードパーティ・システム３７０が、ソーシャル・ネットワーキング・システム３６０を操作するエンティティとは異なるエンティティによって操作されることが可能である。しかしながら、特定の実施形態では、ソーシャル・ネットワーキング・システム３６０およびサードパーティ・システム３７０が、互いに連動して動作して、ソーシャル・ネットワーキング・システム３６０またはサードパーティ・システム３７０のユーザにソーシャル・ネットワーキング・サービスを提供することも可能である。この場合、ソーシャル・ネットワーキング・システム３６０は、プラットフォームまたはバックボーンを提供し、サードパーティ・システム３７０などの他のシステムがこれを使用して、インターネット全域にわたってユーザにソーシャル・ネットワーキング・サービスおよび機能を提供することができる。
【００４３】
特定の実施形態では、サードパーティ・システム３７０が、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダが、コンテンツ・オブジェクトの１つまたは複数のソースを含むこ
とができ、これがクライアント・システム３３０に伝えられることが可能である。例として、コンテンツ・オブジェクトは、例えば映画上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の好適な情報など、ユーザの関心となるものまたはアクティビティに関する情報を含むことができるが、これらに限定するものではない。別の例として、コンテンツ・オブジェクトは、クーポン、割引券、商品券、または他の好適なインセンティブ・オブジェクトなど、インセンティブ・コンテンツ・オブジェクトを含むことができるが、これらに限定するものではない。
【００４４】
特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、ユーザが生成したコンテンツ・オブジェクトも含み、ソーシャル・ネットワーキング・システム３６０とのユーザの対話を強化することができる。ユーザが生成したコンテンツは、ユーザがソーシャル・ネットワーキング・システム３６０に追加する、アップロードする、送信する、または「投稿する」ことができるいかなるものも含むことができる。例として、ユーザがクライアント・システム３３０からソーシャル・ネットワーキング・システム３６０へ投稿を伝えるが、これに限定するものではない。投稿は、ステータス更新などのデータもしくは他のテキストデータ、位置情報、写真、映像、リンク、音楽、または同様のデータもしくはメディアを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通して、サードパーティによってソーシャル・ネットワーキング・システム３６０に追加されることも可能である。
【００４５】
特定の実施形態では、ソーシャル・ネットワーキング・システム３６０が、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、次のうちの１つまたは複数を含むことができる：ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト公開ログ（ｔｈｉｒｄ−ｐａｒｔｙ−ｃｏｎｔｅｎｔ−ｏｂｊｅｃｔ−ｅｘｐｏｓｕｒｅ  ｌｏｇ）、インタフェース・モジュール、認証／プライバシー・サーバ、検索モジュール、広告ターゲット化モジュール、ユーザ・インタフェース・モジュール、ユーザ・プロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、または場所（ロケーション）ストアを含むことができる。ソーシャル・ネットワーキング・システム３６０は、ネットワーク・インタフェース、セキュリティ機構、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク操作コンソール、他の好適な構成要素、またはそれらの任意の好適な組合せを含むこともできる。特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、ユーザ・プロフィールを記憶するための１つまたは複数のユーザ・プロフィール・ストアを含むことができる。ユーザ・プロフィールは、例えば伝記的情報、人口統計情報、挙動情報、社会情報、または職歴、学歴、趣味もしくは好み、関心、親和性（ａｆｆｉｎｉｔｙ）、または場所など、他のタイプの記述的情報を含むことができる。関心情報は、１つまたは複数のカテゴリと関係する関心を含むことができる。カテゴリは、一般的な、または特有のものとすることができる。例として、ユーザが靴のブランドに関する記事に「いいね！」と表明する場合、カテゴリはブランドとする、または「靴」もしくは「衣服」の一般的なカテゴリとすることができるが、これらに限定するものではない。つながりストアが、ユーザに関するつながり情報を記憶するために使用されることが可能である。つながり情報は、同様のまたは共通の職歴、グループ・メンバシップ、趣味、学歴を有する、または何らかの関係のある、もしくは共通の属性を共有するユーザを含むことができる。つながり情報は、様々なユーザと（内部と外部の両方の）コンテンツとの間のユーザ定義のつながりを含むこともできる。ウェブ・サーバは、ネットワーク３１０を通じてソーシャル・ネットワーキング・システム３６０を１つもしくは複数のクライアント・システム３３０または１つもしくは複数のサードパーティ・システム３７０にリンクするために使用されることが可能である。ウェブ・サーバは、ソ
ーシャル・ネットワーキング・システム３６０と１つまたは複数のクライアント・システム３３０との間でメッセージを受信し、ルーティングするためのメール・サーバまたは他のメッセージング機能を含むことができる。ＡＰＩ要求サーバは、サードパーティ・システム３７０が、１つまたは複数のＡＰＩを呼び出すことによって、ソーシャル・ネットワーキング・システム６０からの情報にアクセスできるようにすることができる。アクション・ロガーを使用して、ソーシャル・ネットワーキング・システム３６０上の、またはこれを離れたユーザのアクションに関してウェブ・サーバから通信を受信することができる。アクション・ログと共に、サードパーティ・コンテンツ・オブジェクトへのユーザ公開に関するサードパーティ・コンテンツ・オブジェクトのログが保持され得る。通知コントローラが、コンテンツ・オブジェクトに関する情報をクライアント・システム３３０に提供することができる。情報は、通知としてクライアント・システム３３０にプッシュされることが可能である、または情報は、クライアント・システム３３０から受信される要求に応じてクライアント・システム３３０からプルされることが可能である。認証サーバは、ソーシャル・ネットワーキング・システム３６０のユーザの１つまたは複数のプライバシー設定を強化するために使用されることが可能である。ユーザのプライバシー設定により、ユーザに関連付けられている特定の情報をどのように共有できるかを決定する。認証サーバは、例えば、適切なプライバシー設定を設定することによって、ユーザがユーザのアクションをソーシャル・ネットワーキング・システム３６０に記録させる、または他のシステム（例えば、サードパーティ・システム３７０）と共有させることをオプト・インまたはオプト・アウトできるようにすることができる。サードパーティ・コンテンツ・オブジェクト・ストアが、サードパーティ・システム３７０などのサードパーティから受信されたコンテンツ・オブジェクトを記憶するために使用されることが可能である。ロケーション・ストアが、ユーザに関連付けられているクライアント・システム３３０から受信された場所情報を記憶するために使用されることが可能である。広告価格設定モジュールが、社会情報、現在の時刻、位置情報、または他の好適な情報を結合して、関連広告を通知の形式でユーザに提供することができる。
【００４６】
図４は、例示的ソーシャル・グラフ４００を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、１つまたは複数のデータ・ストアに１つまたは複数のソーシャル・グラフ４００を記憶することができる。特定の実施形態では、ソーシャル・グラフ４００は、複数のユーザ・ノード４０２もしくは複数の概念ノード４０４を含むことができる複数のノードと、ノードを接続する複数のエッジ４０６とを含むことができる。図４に示す例示的ソーシャル・グラフ４００は、説明のために２次元の視覚地図表現で示される。特定の実施形態では、ソーシャル・ネットワーキング・システム３６０、クライアント・システム３３０、またはサードパーティ・システム３７０は、ソーシャル・グラフ４００および好適なアプリケーションの関連するソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ４００のノードおよびエッジは、例えば（ソーシャル・グラフ・データベースなどの）データ・ストアに、データ・オブジェクトとして記憶されることが可能である。このようなデータ・ストアは、ソーシャル・グラフ４００のノードまたはエッジの１つまたは複数の検索可能なまたは問い合わせ可能なインデックスを含むことができる。
【００４７】
特定の実施形態では、ユーザ・ノード４０２が、ソーシャル・ネットワーキング・システム３６０のユーザに対応することができる。例として、ユーザが、ソーシャル・ネットワーキング・システム３６０とまたはこれを通じて対話するまたは通信する個人（人間のユーザ）、エンティティ（例えば、企業、会社、もしくはサードパーティ・アプリケーション）、または（例えば、個人もしくはエンティティの）グループであることが可能であるが、これらに限定するものではない。特定の実施形態では、ユーザがソーシャル・ネットワーキング・システム３６０でアカウントに登録するとき、ソーシャル・ネットワーキング・システム３６０が、ユーザに対応するユーザ・ノード４０２を作成し、このユーザ
・ノード４０２を１つまたは複数のデータ・ストアに記憶することができる。本明細書に記載するユーザおよびユーザ・ノード４０２は、必要に応じて、登録されたユーザ、および登録されたユーザに関連付けられているユーザ・ノード４０２を指すことができる。これに加えて、またはこれに代えて、本明細書に記載するユーザおよびユーザ・ノード４０２は、必要に応じて、ソーシャル・ネットワーキング・システム３６０に登録していないユーザを指すことができる。特定の実施形態では、ユーザ・ノード４０２が、ユーザによって提供される情報、またはソーシャル・ネットワーキング・システム３６０などの様々なシステムによって集められた情報に関連付けられてよい。例として、ユーザが、ユーザの名前、プロフィール写真、連絡先情報、誕生日、性別、結婚歴、家族状態、職業、学歴、好み、関心、または他の人口統計情報を提供することができるが、これらに限定するものではない。特定の実施形態では、ユーザ・ノード４０２は、ユーザに関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられてよい。特定の実施形態では、ユーザ・ノード４０２が、１つまたは複数のウェブ・ページと対応することがある。
【００４８】
特定の実施形態では、概念ノード４０４が、概念に対応することができる。例として、概念は、場所（例えば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（例えば、ソーシャル・ネットワーク・システム３６０に関連付けられているウェブサイト、もしくはウェブ・アプリケーション・サーバに関連付けられているサードパーティのウェブサイトなど）、エンティティ（例えば、人、会社、グループ、スポーツチーム、または有名人など）、ソーシャル・ネットワーキング・システム３６０内、もしくはウェブ・アプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース（例えば、音声ファイル、動画ファイル、デジタル写真、テキスト・ファイル、構造化文書、もしくはアプリケーションなど）、不動産もしくは知的財産（例えば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または著作物（ｗｒｉｔｔｅｎ  ｗｏｒｋ）など）、ゲーム、アクティビティ、アイデアもしくは理論、別の好適な概念、または２つ以上のこのような概念に対応することができるが、これらに限定するものではない。概念ノード４０４は、ユーザによって提供される概念の情報、または、ソーシャル・ネットワーキング・システム３６０を含めた様々なシステムによって収集される情報に関連付けられてよい。例として、概念の情報は、名前もしくはタイトル、１つもしくは複数の画像（例えば、本のカバー・ページの画像）、場所（例えば、アドレスもしくは地理的位置）、（ＵＲＬに関連付けられてよい）ウェブサイト、連絡先情報（例えば、電話番号もしくは電子メールアドレス）、他の好適な概念情報、またはこのような情報の任意の好適な組合せを含むことができるが、これらに限定するものではない。特定の実施形態では、概念ノード４０４は、概念ノード４０４に関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられてよい。特定の実施形態では、概念ノード４０４が、１つまたは複数のウェブ・ページと対応することがある。
【００４９】
特定の実施形態では、ソーシャル・グラフ４００のノードが、（「プロフィール・ページ」と呼ばれることがある）ウェブ・ページを表す、またはウェブ・ページによって表されることがある。プロフィール・ページは、ソーシャル・ネットワーキング・システム３６０によってホストされる、またはソーシャル・ネットワーキング・システム３６０にアクセス可能であることがある。プロフィール・ページは、サードパーティのサーバ３７０に関連付けられているサードパーティのウェブサイト上でホストされることもある。例として、特定の外部ウェブ・ページに対応するプロフィール・ページは、特定の外部ウェブ・ページであることが可能であり、プロフィール・ページは、特定の概念ノード４０４に対応することがあるが、これに限定するものではない。プロフィール・ページは、他のユーザのすべてによって、または選択されたサブセットによって閲覧可能であるものとすることができる。例として、ユーザ・ノード４０２が、対応するユーザ・プロフィール・ページを有することができ、対応するユーザがこれにコンテンツを追加する、宣言を行う、
またはその他の場合ユーザを表現することができるが、これに限定するものではない。別の例として、概念ノード４０４が、対応する概念プロフィール・ページを有することができ、これに１人または複数のユーザが、コンテンツを追加する、宣言を行う、または詳細には概念ノード４０４に対応する概念に関して自身を表現する、ことができるが、これに限定するものではない。
【００５０】
特定の実施形態では、概念ノード４０４が、サードパーティのシステム３７０によってホストされるサードパーティのウェブ・ページまたはリソースを表すことができる。サードパーティのウェブ・ページまたはリソースが、他の要素、コンテンツのうち、選択可能もしくは他のアイコン、またはアクションもしくはアクティビティを表す（例えば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実行されることが可能である）他の相互に実行可能な（ｉｎｔｅｒ−ａｃｔａｂｌｅ）オブジェクトを含むことができる。例として、サードパーティのウェブ・ページが、「いいね！」、「チェックイン」、「食べる」、「推奨」などの選択可能なアイコン、または別の好適なアクションもしくはアクティビティを含むことができるが、これに限定するものではない。サードパーティのウェブ・ページを閲覧しているユーザが、アイコン（例えば、「食べる」）の１つを選択することによって、クライアント・システム３３０にソーシャル・ネットワーキング・システム３６０まで、ユーザのアクションを示すメッセージを送信させるができる。メッセージに応答して、ソーシャル・ネットワーキング・システム３６０は、ユーザに対応するユーザ・ノード４０２と、サードパーティのウェブ・ページもしくはリソースに対応する概念ノード４０４との間にエッジ（例えば、「食べる」エッジ）を作成して、エッジ４０６を１つまたは複数のデータ・ストアに記憶することができる。
【００５１】
特定の実施形態では、ソーシャル・グラフ４００中のノードのペアが、１つまたは複数のエッジ４０６によって互いに接続されることが可能である。ノードのペアと接続しているエッジ４０６が、そのノードのペア間の関係を表すことができる。特定の実施形態では、エッジ４０６が、１つもしくは複数のデータ・オブジェクトまたはノードのペア間の関係に対応する属性を含む、または表すことができる。例として、第１のユーザが、第２のユーザは第１のユーザの「友人」であることを示すことができるが、これに限定するものではない。この表示に応答して、ソーシャル・ネットワーキング・システム３６０は、「友人リクエスト」を第２のユーザに送信することができる。第２のユーザが「友人リクエスト」を確認する場合、ソーシャル・ネットワーキング・システム３６０は、ソーシャル・グラフ４００において、第１のユーザのユーザ・ノード４０２を第２のユーザのユーザ・ノード４０２に接続するエッジ４０６を作成し、データ・ストア２４の１つまたは複数にソーシャル・グラフ情報としてエッジ４０６を記憶することがでる。図４の例では、ソーシャル・グラフ４００は、ユーザ「Ａ」のユーザ・ノード４０２とユーザ「Ｂ」のユーザ・ノード４０２との間の友人関係を示すエッジ４０６、およびユーザ「Ｃ」のユーザ・ノード４０２とユーザ「Ｂ」のユーザ・ノード４０２との間の友人関係を示すエッジを含んでいる。この開示は、特定のユーザ・ノード４０２を接続する特定の属性を有する特定のエッジ４０６を説明する、または例示するが、この開示は、ユーザ・ノード４０２を接続する任意の好適な属性を有する任意の好適なエッジ４０６を検討する。例として、エッジ４０６が、友人関係、家族関係、仕事もしくは雇用関係、ファン関係、フォロワー関係、訪問者関係、購読者関係、上司／部下関係、互恵関係、非互恵関係、その他の好適なタイプの関係、またはこのような関係の２つ以上を表すことができるが、これらに限定するものではない。さらに、この開示は、概して接続されているものとしてノードを説明するが、この開示は、接続されているものとしてユーザまたは概念も説明する。本明細書において、接続されているユーザまたは概念への言及は、必要に応じて、ソーシャル・グラフ４００において１つまたは複数のエッジ４０６で接続されているそうしたユーザまたは概念に対応するノードを指す。
【００５２】
特定の実施形態では、ユーザ・ノード４０２と概念ノード４０４との間のエッジ４０６は、ユーザ・ノード４０２に関連付けられているユーザによって、概念ノード４０４に関連付けられている概念に向かって行われる特定のアクションまたはアクティビティを表すことができる。例として、図４に示すように、ユーザが概念について、「『いいね！』する」、「参加した」、「プレイした」、「聴いた」、「調理した」、「働いた」、または「見た」とすることがあり、これらの各々がエッジ・タイプまたはサブタイプに対応することができるが、これらに限定するものではない。概念ノード４０４に対応する概念プロフィール・ページは、例えば、選択可能な「チェックイン」アイコン（例えば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加する」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後、各アクションに対応するユーザのアクションに応答して、ソーシャル・ネットワーキング・システム３６０が、「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。別の例として、ユーザ（ユーザ「Ｃ」）が、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の歌（「Ｒａｍｂｌｅ  Ｏｎ」）を聴くことがあるが、これに限定するものではない。この場合、ソーシャル・ネットワーキング・システム３６０が、ユーザに対応するユーザ・ノード４０２と、歌およびアプリケーションに対応する概念ノード４０４との間に（図４に示すように）「聴いた」エッジ４０６および「使用した」エッジを作成して、ユーザが歌を聴き、アプリケーションを使用したことを示すことができる。さらに、ソーシャル・ネットワーキング・システム３６０は、歌およびアプリケーションに対応する概念ノード４０４間に（図４に示すように）「プレイした」エッジ４０６を作成して、特定の歌が特定のアプリケーションによってプレイされたことを示すことができる。この場合、「プレイした」エッジ４０６が、外部音声ファイル（歌「Ｉｍａｇｉｎｅ」）に対して外部アプリケーション（ＳＰＯＴＩＦＹ）によって行われたアクションに対応する。この開示は、ユーザ・ノード４０２および概念ノード４０４を接続する特定の属性を有する特定のエッジ４０６を説明するが、この開示は、ユーザ・ノード４０２および概念ノード４０４を接続する任意の好適な属性を有する任意の好適なエッジ４０６を検討する。さらに、この開示は、単一の関係を表すユーザ・ノード４０２と概念ノード４０４との間のエッジを説明するが、この開示は、１つまたは複数の関係を表すユーザ・ノード４０２と概念ノード４０４との間のエッジを検討する。例として、エッジ４０６は、ユーザが「いいね！」と表明することと、特定の概念で使用したことをともに表すことがあるが、これに限定するものではない。あるいは、別のエッジ４０６は、（図４においてユーザ「Ｅ」のユーザ・ノード４０２と「ＳＰＯＴＩＦＹ」の概念ノード４０４との間に示すように）ユーザ・ノード４０２と概念ノード４０４との間の関係（または複数の単一関係）の各タイプを表すことができる。
【００５３】
特定の実施形態では、ソーシャル・ネットワーキング・システム３６０が、ソーシャル・グラフ４００においてユーザ・ノード４０２と概念ノード４０４との間にエッジ４０６を作成することができる。例として、（例えば、ウェブ・ブラウザまたはユーザのクライアント・システム３３０によってホストされる特殊用途のアプリケーションを使用することによって）概念プロフィールのページを見ているユーザが、「いいね！」アイコンをクリックすること、または選択することによって、概念ノード４０４によって表される概念に「いいね！」と表明することを示すことができ、これによりユーザのクライアント・システム３３０がソーシャル・ネットワーキング・システム３６０に、概念プロフィール・ページに関連付けられている概念にユーザが「いいね！」と表明していることを示すメッセージを送信するようにするが、これに限定するものではない。メッセージに応答して、ソーシャル・ネットワーキング・システム３６０が、ユーザと概念ノード４０４との間の「いいね！」エッジ４０６で示されるように、ユーザに関連付けられているユーザ・ノード４０２と、概念ノード４０４との間にエッジ４０６を作成することができる。特定の実施形態では、ソーシャル・ネットワーキング・システム３６０は、１つまたは複数のデータ・ストアにエッジ４０６を記憶することができる。特定の実施形態では、エッジ４０６
が、特定のユーザアクションに応答して、ソーシャル・ネットワーキング・システム３６０によって自動的に形成されることが可能である。例として、第１のユーザが写真をアップロードする、映画を見る、または歌を聴く場合、第１のユーザに対応するユーザ・ノード４０２とそれらの概念に対応する概念ノード４０４との間に、エッジ４０６が形成されることが可能であるが、これに限定するものではない。この開示は、特定の方法で特定のエッジ４０６を形成することを説明するが、この開示は、任意の方法で任意の好適なエッジ４０６を形成することを検討する。
【００５４】
特定の実施形態において、広告は、（ＨＴＭＬのリンクであってもよい）テキスト、（ＨＴＭＬのリンクであってもよい）１つもしくは複数のイメージ、１つもしくは複数の動画、オーディオ、１つもしくは複数のＡＤＯＢＥ  ＦＬＡＳＨファイル、これらの適切な組み合わせ、または１つもしくは複数のウェブ・ページに提示された任意の適切なデジタルフォーマットにおける、１つもしくは複数のｅメールにおける、もしくはユーザによって要求された検索結果に関する、任意の他の適切な広告であってもよい。加えてまたは代替として、広告は、１つまたは複数のスポンサー記事（例えば、ソーシャル・ネットワーキング・システム３６０に関するニュースフィードまたはティッカーアイテム）であってもよい。スポンサー記事は、広告主が、例えば、ユーザのプロファイルページもしくは他のページの事前に決められたエリア内に提示され、広告主に関連付けられている付加的な情報と共に提示され、他のユーザのニュースフィードもしくはティッカー内で上昇したもしくは他の方法で強調され、または他の方法で促進された、ソーシャルアクションを有することによって、促進するユーザによるソーシャルアクション（ページに「いいね」と表明すること、ページの投稿に「いいね」と表明することもしくはコメントすること、ページに関連付けられているイベントに返答を求めること、ページに投稿された質問に投票すること、場所にチェックインすること、アプリケーションを使用することもしくはゲームをすること、またはウェブサイトに「いいね」と表明することもしくはウェブサイトを共有することなど）であってもよい。広告主は、ソーシャルアクションが促進されるようお金を支払ってもよい。限定ではなく例として、広告は、検索結果ページの検索結果内に含まれていてもよく、スポンサーのコンテンツは、スポンサーなしのコンテンツより促進されてもよい。
【００５５】
特定の実施形態において、広告は、ソーシャル・ネットワーキング・システムのウェブ・ページ、サードパーティのウェブ・ページ、または他のページ内に表示するよう要求されてもよい。広告は、ページのトップのバナーエリア、ページの側部のコラム、ページのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、ポップアップウィンドウ、ドロップ・ダウン型メニュー、ページの入力フィールド、ページのコンテンツのトップの上、またはページに関する他の場所などページの専用部分に表示されてもよい。加えてまたは代替として、広告は、アプリケーション内に表示されてもよい。広告は、専用ページ内に表示されてもよく、ユーザに広告との対話、または広告を見ることを要求し、その後、ユーザは、ページにアクセスし、アプリケーションを利用することができる。ユーザは、例えば、ウェブ・ブラウザを通じて広告を閲覧することができる。
【００５６】
ユーザは、任意の適切な方法で広告と対話することができる。ユーザは、広告をクリックすることができ、または他の方法で選択することができる。広告を選択することによって、ユーザ（または、ブラウザまたはユーザによって使用されている他のアプリケーション）を広告に関連付けられているページに誘導することができる。広告に関連付けられているページにおいて、ユーザは、広告に関連付けられている製品もしくはサービスを購入すること、広告に関連付けられている情報を受信すること、または広告に関連付けられているニュースレターを購読することなど、付加的なアクションを取ることができる。オーディオまたは動画を有する広告は、（「再生ボタン」のような）広告の構成要素を選択することによって再生されてもよい。代替的に、広告を選択することによって、ソーシャル
・ネットワーキング・システム３６０は、ユーザの特定のアクションを実行または変更することができる。
【００５７】
広告はまた、ユーザが対話できるソーシャル・ネットワーキング・システムの機能を含んでもよい。限定ではなく例として、広告は、ユーザに「いいね」を押させることができ、または他の方法で推奨に関連付けられているアイコンもしくはリンクを選択することによって広告を推奨させることができる。限定ではなく他の例として、広告は、ユーザに広告主に関係するコンテンツを（例えば、クエリを実行することによって）検索させることができる。同様に、ユーザは、他のユーザと（例えば、ソーシャル・ネットワーキング・システム３６０を通じて）広告を共有することができ、または（例えば、ソーシャル・ネットワーキング・システム３６０を通じて）広告に関連付けられているイベントに返答を求めることができる。加えてまたは代替として、広告は、ユーザに対するソーシャル・ネットワーキング・システムのコンテキストを含んでもよい。限定ではなく例として、広告は、広告の主題に関連付けられているアクションをとった、ソーシャル・ネットワーキング・システム３６０内のユーザの友人に関する情報を表示してもよい。
【００５８】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、様々なソーシャル・グラフのエンティティの互いの（本明細書において「親和性」と呼ばれてもよい）ソーシャル・グラフ親和性を決定してもよい。親和性は、オンライン・ソーシャル・ネットワークに関連付けられているユーザ、コンセプト、コンテンツ、アクション、広告、他のオブジェクト、または任意の適切なそれらの組み合わせなどのオンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さまたは興味の度合いを表すことができる。親和性はまた、サードパーティ・システム３７０または他の適切なシステムに関連付けられているオブジェクトに対して決定されてもよい。各ユーザのソーシャル・グラフのエンティティの全体的な親和性、主題、またはコンテンツのタイプを確立することができる。全体的な親和性は、ソーシャル・グラフのエンティティに関連付けられているアクションまたは関係性の継続的なモニタリングに基づいて変更し得る。本開示が特定の方法で特定の親和性を決定することを記載しているが、本開示は、任意の適切な方法で任意の適切な親和性を決定することを企図する。
【００５９】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、（本明細書において「係数」と呼んでもよい）親和性の係数を用いてソーシャル・グラフの親和性を測定または数値化することができる。係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係性の強さを表すことができ、または数値化することができる。係数はまた、ユーザがアクションへのユーザの興味に基づいて特定のアクションを実施することとなる予測確率を測定する確率または関数を表すことができる。このように、ユーザの将来のアクションは、ユーザの以前のアクションに基づいて予測され、係数は、少なくとも部分的にユーザのアクションの履歴を算出することができる。係数を使用して、オンライン・ソーシャル・ネットワーク内またはその外側にあってもよい任意の数のアクションを予測することができる。限定ではなく例として、これらのアクションとして、メッセージを送信すること、コンテンツを投稿すること、もしくはコンテンツにコメントをすることなどの様々なタイプのコミュニケーション、プロファイルページ、メディア、もしくは他の適切なコンテンツにアクセスすることもしくはそれらを閲覧することなどの様々なタイプの観察アクション、同じグループにいること、同じ写真にタグ付けされること、同じ場所にチェックインすること、もしくは同じイベントに出席することなどの２つ以上のソーシャル・グラフのエンティティに関する様々なタイプの一致情報、または他の適切なアクションが挙げられる。本開示は、特定の方法で親和性を測定することを記載しているが、本開示は、任意の適切な方法で親和性を測定することを企図する。
【００６０】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、様々な因子を使用して、係数を算出することができる。これらの因子としては、例えば、ユーザアクション、オブジェクト間の関係性のタイプ、位置情報、他の適切な因子、またはそれらの任意の組み合わせが挙げられる。特定の実施形態において、異なる因子は、係数を算出する際、別様に重み付けされてもよい。各因子の重みは、静的であってもよく、または重みは、例えば、ユーザ、関係性のタイプ、アクションのタイプ、ユーザの場所などに従って変更してもよい。因子の評価は、それらの重みに従って組み合され、ユーザの総合係数を求めることができる。限定ではなく例として、特定のユーザアクションに評価および重みの両方が割り当てられてもよく、一方、特定のユーザアクションに関連付けられている関係性に評価および相関する重みが割り当てられる（例えば、全重みは１００％）。特定のオブジェクトに向かうユーザの係数を算出するために、ユーザのアクションに割り当てられた評価は、例えば、総合係数の６０％を含み、一方、ユーザとオブジェクトとの間の関係性は、総合係数の４０％を含む。特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、例えば、情報にアクセスしてからの時間、減衰因子、アクセス頻度、情報との関係性もしくは情報がアクセスされたオブジェクトとの関係性、オブジェクトに接続されたソーシャル・グラフのエンティティとの関係性、ユーザアクションの短期的もしくは長期的な平均、ユーザフィードバック、他の適切な変数、またはそれらの任意の組み合わせなどの係数を算出するために使用される様々な因子の重みを求める際に、様々な変数を検討することができる。限定ではなく例として、係数として、時間とともに減衰する特定のアクションによって提供された信号の強さを引き起こす減衰因子が挙げられ、その結果、係数を算出する際、より最新のアクションの関連性がより大きくなる。評価および重みは、係数が基づく、アクションの継続的な追跡に基づいて継続的に更新され得る。任意のタイプのプロセスまたはアルゴリズムが、各因子の評価および因子に割り当てられた重みを割り当て、組み合わせ、平均化するなどのために用いられてもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、アクション履歴および過去のユーザの応答に向けられた機械学習アルゴリズム、またはユーザに様々なオプションを経させて、応答を測定することによって、ユーザから集められたデータを用いて係数を求めてもよい。本開示は特定の方法で係数を算出することを記載しているが、本開示は、任意の適切な方法で係数を算出することを企図する。
【００６１】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、ユーザのアクションに基づいて係数を算出することができる。ソーシャル・ネットワーキング・システム３６０は、かかるアクションをオンライン・ソーシャル・ネットワーク上、サードパーティ・システム３７０上、他の適切なシステム上、またはそれらの任意の組み合わせで監視することができる。任意の適切なタイプのユーザアクションを追跡および監視することができる。典型的なユーザアクションとしては、プロファイルページを閲覧すること、コンテンツを作成または投稿すること、コンテンツと対話すること、グループに参加すること、イベントへの出席を記入および確認すること、場所にチェックインすること、特定のページに「いいね」と表明すること、ページを作成すること、ソーシャルアクションを促進する他のタスクを行うことが挙げられる。特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、特定のタイプのコンテンツを有するユーザのアクションに基づいて係数を算出することができる。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム３７０、または他の適切なシステムに関連付けることができる。コンテンツとしては、ユーザ、プロファイルページ、投稿、ニュース記事、ヘッドライン、インスタントメッセージ、チャットルームでの会話、ｅメール、広告、写真、動画、音楽、他の適切なオブジェクト、または任意のそれらの組み合わせが挙げられる。ソーシャル・ネットワーキング・システム３６０は、ユーザのアクションを分析し、アクションのうち１つまたは複数が主題、コンテンツ、他のユーザなどの親和性を示すかどうかを判定する。限定ではなく例として、ユーザが「コーヒー」またはその変形に関係するコンテンツを頻繁に投稿し得る場合、ソーシャル・ネットワーキング・シス
テム３６０は、ユーザが「コーヒー」という概念に関して高い係数を有すると判定することができる。特定のアクションまたはアクションのタイプに、他のアクションよりも高い重みおよび評価、あるいは重みまたは評価が割り当てられてもよく、それにより、算出された総合係数に影響を与えてもよい。限定ではなく例として、第１のユーザが第２のユーザにｅメールを送信する場合、第１のユーザが第２のユーザのユーザプロファイルページを閲覧する場合よりもアクションに対する重みまたは評価は高くなり得る。
【００６２】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、特定のオブジェクト間の関係性のタイプに基づいて係数を算出することができる。ソーシャル・グラフ４００を参照すると、ソーシャル・ネットワーキング・システム３６０は、係数を算出する際、特定のユーザ・ノード４０２とコンセプトノード４０４を接続するエッジ４０６の数およびタイプ、あるいは数またはタイプを分析することができる。限定ではなく例として、（２人のユーザが結婚していることを表す）配偶者タイプのエッジによって接続されているユーザ・ノード４０２は、友人タイプのエッジによって接続されているユーザ・ノード４０２よりも高い係数が割り当てられてもよい。言い換えると、アクションに割り当てられた重みおよび特定のユーザに対する関係性に応じて、全体的な親和性は、ユーザの友人に関するコンテンツよりもユーザの配偶者に関するコンテンツの方が高いと判定され得る。特定の実施形態において、ユーザが他のオブジェクトと有する関係性は、そのオブジェクトの係数の算出に関して、ユーザのアクションの重みおよび評価、あるいは重みまたは評価に影響を与え得る。限定ではなく例として、コンテンツとの「いいね」タイプの関係性よりもコンテンツとのタグ付けタイプの関係性に、より高い重みおよび評価、あるいは重みまたは評価が与えられるので、ユーザが第１の写真にタグ付けされたが、第２の写真に単に「いいね」と表明した場合、ソーシャル・ネットワーキング・システム３６０は、ユーザが第２の写真よりも第１の写真に関してより高い係数を有すると判定してもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、１人または複数の第２のユーザが特定のオブジェクトと有する関係性に基づいて第１のユーザの係数を算出することができる。言い換えると、他のユーザがオブジェクトと有するつながりおよび係数は、第１のユーザのオブジェクトの係数に影響を与え得る。限定ではなく例として、第１のユーザが１人もしくは複数の第２のユーザと接続されるか、または１人もしくは複数の第２のユーザに高い係数を有し、それらの第２のユーザが特定のオブジェクトに接続されるか、または特定のオブジェクトの高い係数を有する場合、ソーシャル・ネットワーキング・システム３６０は、第１のユーザがまた、特定のオブジェクトの比較的高い係数を有するべきであると判定することができる。特定の実施形態において、係数は、特定のオブジェクト間の隔たり次数に基づき得る。より低い係数は、第１のユーザが、ソーシャル・グラフ４００における第１のユーザに間接的につながっているユーザのコンテンツ・オブジェクトの興味を共有することとなる可能性が減少していることを表し得る。限定ではなく例として、ソーシャル・グラフ４００においてより近い（すなわち、隔たり次数が小さい）ソーシャル・グラフのエンティティは、ソーシャル・グラフ４００においてさらに離間しているエンティティよりも高い係数を有し得る。
【００６３】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、位置情報に基づいて係数を算出することができる。互いに地理的により近いオブジェクトは、より遠いオブジェクトよりも互いにより相関するか、または互いにより興味があると考えられ得る。特定の実施形態において、特定のオブジェクトに向かうユーザの係数は、ユーザ（またはユーザのクライアント・システム３００の場所）に関連付けられている現在の場所へのオブジェクトの場所の近接度に基づき得る。第１のユーザは、第１のユーザにより近い他のユーザまたはコンセプトにより興味があり得る。限定ではなく例として、ユーザが空港から１マイル（約１．６キロメートル）であり、ガソリンスタンドから２マイル（約３．２キロメートル）である場合、ソーシャル・ネットワーキング・システム３６０は、ユーザへの空港の近接度に基づいて、ガソリンスタンドよりも空港に対してより高い係
数を有すると判定することができる。
【００６４】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、係数情報に基づいて、ユーザに関して特定のアクションを行うことができる。係数を使用して、ユーザが特定のアクションを行うこととなるか否かを、アクションへのユーザの興味に基づいて予測することができる。ユーザに対して、広告、検索結果、ニュース記事、媒体、メッセージ、通知、または他の適切なオブジェクトなどの任意のタイプのオブジェクトを生成または提示する際、係数を使用することができる。また、係数を利用して、適宜、かかるオブジェクトをランク付け、および順序付けすることができる。このように、ソーシャル・ネットワーキング・システム３６０は、ユーザの興味および現在の状況に関連する情報を提供することができ、ユーザが興味のあるかかる情報を見つけることとなる可能性を増大させることができる。特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、係数情報に基づいてコンテンツを生成することができる。ユーザ固有の係数に基づいて、コンテンツのオブジェクトを提供または選択することができる。限定ではなく例として、係数を使用して、ユーザに対して媒体を生成することができ、ユーザが媒体のオブジェクトに関して高い総合係数を有する媒体をユーザに提示することができる。限定ではなく他の例として、係数を使用して、ユーザに対して広告を生成することができ、ユーザが広告されたオブジェクトに関して高い総合係数を有する広告をユーザに提示することができる。特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、係数情報に基づいて検索結果を生成することができる。特定のユーザに対する検索結果は、問い合わせをしているユーザに関する検索結果に関連付けられている係数に基づいて得点またはランク付けされ得る。限定ではなく例として、より低い係数を有するオブジェクトに対応する結果よりも、より高い係数を有するオブジェクトに対応する検索結果を検索結果ページ上により高くランク付けすることができる。
【００６５】
特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、特定のシステムまたはプロセスからの係数の要求に応答して係数を算出してもよい。ユーザが所与の状況において取り得る（またはユーザが主体であり得る）起こりそうなアクションを予測するために、任意のプロセスは、ユーザの算出された係数を要求してもよい。要求はまた、１組の重みを含み、係数を算出するために使用される様々な係数のために使用することができる。本要求は、オンライン・ソーシャル・ネットワーク上で稼働するプロセスから、（例えば、ＡＰＩ、または他の通信チャネルを経由して）サードパーティ・システム３７０から、または他の適切なシステムから生じ得る。要求に応答して、ソーシャル・ネットワーキング・システム３６０は、係数を算出することができる（または、以前に算出および記憶している場合、係数情報にアクセスすることができる）。特定の実施形態において、ソーシャル・ネットワーキング・システム３６０は、特定のプロセスに関する親和性を測定することができる。様々なプロセス（オンライン・ソーシャル・ネットワークの内側と外側の両方）は、特定のオブジェクトまたは１組のオブジェクトの係数を要求してもよい。ソーシャル・ネットワーキング・システム３６０は、親和性の測定を要求した特定のプロセスに関連する親和性の測定値を提供することができる。このように、各プロセスは、プロセスが親和性の測定値を使用することとなる様々なコンテキストに適合する親和性の測定値を受信する。
【００６６】
ソーシャル・グラフの親和性および親和性の係数に関して、特定の実施形態は、それぞれが参照により援用されている、２００６年８月１１日出願の米国特許出願第１１／５０３０９３号、２０１０年１２月２２日出願の米国特許出願第１２／９７７０２７号、２０１０年１２月２３日出願の米国特許出願第１２／９７８２６５号、および２０１２年１０月１日出願の米国特許出願第１３／６３２８６９号に開示されている、１つまたは複数のシステム、構成要素、要素、機能、方法、オペレーション、もしくはステップを利用することができる。
【００６７】
図５は、例示的コンピュータ・システム５００を示す。特定の実施形態では、１つまたは複数のコンピュータ・システム５００が、本明細書で説明する、または例示する１つまたは複数の方法の１つまたは複数のステップを行う。特定の実施形態では、１つまたは複数のコンピュータ・システム５００は、本明細書で説明する、または例示する機能を提供する。特定の実施形態では、１つまたは複数のコンピュータ・システム５００で動作しているソフトウェアが、本明細書で説明する、もしくは例示する１つもしくは複数の方法の１つもしくは複数のステップを行う、または本明細書で説明する、もしくは例示する機能を提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム５００の１つまたは複数の部分を含む。本明細書では、コンピュータ・システムへの言及は、コンピュータ・デバイスを含むことがあり、必要に応じて、逆もまた同様である。さらに、コンピュータ・システムへの言及は、必要に応じて、１つまたは複数のコンピュータ・システムを含むことがある。
【００６８】
この開示は、任意の好適な数のコンピュータ・システム５００を検討する。この開示は、任意の好適な物理的形状を呈するコンピュータ・システム５００を検討する。例として、コンピュータ・システム５００は、埋め込み式コンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングル・ボード・コンピュータ・システム（ＳＢＣ）（例えば、コンピュータ・オン・モジュール（ＣＯＭ）もしくはシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらの２つ以上の組合せとすることができるが、これらに限定するものではない。必要に応じて、コンピュータ・システム５００は、１つまたは複数のコンピュータ・システム５００含む、単一であるまたは分散される、複数の場所にわたる、複数のマシンにわたる、複数のデータセンタにわたる、または１つまたは複数のネットワークに１つもしくは複数のクラウド構成要素を含むことができるクラウドにあることが可能である。必要に応じて、１つまたは複数のコンピュータ・システム５００が、本明細書で説明する、または例示する１つまたは複数の方法の１つまたは複数のステップを、実質的な空間的または時間的制限なく行うことができる。例として、１つまたは複数のコンピュータ・システム５００が、リアル・タイムで、またはバッチ・モードで、本明細書で説明する、または例示する１つまたは複数の方法の１つまたは複数のステップを行うことができるが、これに限定するものではない。１つまたは複数のコンピュータ・システム５００は、必要に応じて、本明細書に記載する、または例示する１つまたは複数の方法の１つまたは複数のステップを、様々な時間に、または様々な場所で、行うことができる。
【００６９】
特定の実施形態では、コンピュータ・システム５００は、プロセッサ５０２と、メモリ５０４と、ストレージ５０６と、入力／出力（Ｉ／Ｏ）インタフェース５０８と、通信インタフェース５１０と、バス５１２とを含む。この開示は、特定の配置で特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明し、例示するが、この開示は、任意の好適な配置で任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータ・システムを検討する。
【００７０】
特定の実施形態では、プロセッサ５０２は、例えばコンピュータ・プログラムを作り上げる命令などの命令を実行するためのハードウェアを含む。例として、命令を実行するために、プロセッサ５０２は、内部レジスタ、内部キャッシュ、メモリ５０４、またはストレージ５０６から命令を取り出す（またはフェッチする）、これらを復号して実行する、次いで１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ５０４、またはストレージ５０６に書き込むことができるが、これらに限定するものではない。特定の実施
形態では、プロセッサ５０２は、データ、命令、またはアドレス用の１つまたは複数の内部キャッシュを含むことができる。この開示は、必要に応じて、任意の好適な数の任意の好適な内部キャッシュを含んだプロセッサ５０２を検討する。例として、プロセッサ５０２は、１つもしくは複数の命令キャッシュ、１つもしくは複数のデータ・キャッシュ、および１つもしくは複数のトランスレーション・ルックアサイド・バッファ（ＴＬＢ：ｔｒａｎｓｌａｔｉｏｎ  ｌｏｏｋａｓｉｄｅ  ｂｕｆｆｅｒｓ）を含むことができるが、これに限定するものではない。命令キャッシュ中の命令は、メモリ５０４またはストレージ５０６中の命令のコピーとすることができ、命令キャッシュは、プロセッサ５０２によるこれらの命令の取出をスピード・アップすることができる。データ・キャッシュ中のデータは、プロセッサ５０２で実行される命令が動作するためのメモリ５０４またはストレージ５０６中のデータのコピー、プロセッサ５０２で実行されるその後の命令によるアクセスのための、またはメモリ５０４もしくはストレージ５０６に書き込むための、プロセッサ５０２で実行された以前の命令の結果、あるいはその他の好適なデータであることがある。データ・キャッシュは、プロセッサ５０２による読み取り動作または書き込み動作をスピード・アップすることができる。ＴＬＢは、プロセッサ５０２の仮想アドレス変換をスピード・アップすることができる。特定の実施形態では、プロセッサ５０２は、データ、命令、またはアドレス用の１つまたは複数の内部レジスタを含むことができる。この開示は、必要に応じて、任意の好適な数の任意の好適な内部レジスタを含んだプロセッサ５０２を検討する。必要に応じて、プロセッサ５０２は、１つもしくは複数の算術論理演算ユニット（ＡＬＵ）を含む、マルチ・コア・プロセッサである、または１つもしくは複数のプロセッサ５０２を含むことができる。この開示は、特定のプロセッサを説明し、例示するが、この開示は、任意の好適なプロセッサを検討する。
【００７１】
特定の実施形態では、メモリ５０４は、プロセッサ５０２が実行する命令、またはプロセッサ５０２が動作するデータを記憶するためのメイン・メモリを含む。例として、コンピュータ・システム５００は、ストレージ５０６または別のソース（例えば、別のコンピュータ・システム５００など）からメモリ５０４に命令をロードすることができるが、これに限定するものではない。プロセッサ５０２は次いで、メモリ５０４から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ５０２は、内部レジスタまたは内部キャッシュから命令を取り出し、これを復号することができる。命令中に、または命令後に、プロセッサ５０２は、１つまたは複数の結果（中間結果または最終結果であることがある）を内部レジスタまたは内部キャッシュに書き込むことができる。プロセッサ５０２は次いで、これらの結果の１つまたは複数をメモリ５０４に書き込むことができる。特定の実施形態では、プロセッサ５０２は、１つもしくは複数の内部レジスタまたは内部キャッシュ中の、または（ストレージ５０６または他の場所とは対照的に）メモリ５０４中の命令のみを実行し、１つもしくは複数の内部レジスタまたは内部キャッシュ中の、または（ストレージ５０６または他の場所とは対照的に）メモリ５０４中のデータ上でのみ動作する。１つまたは複数のメモリ・バス（それぞれアドレス・バスと、データ・バスとを含むことができる）が、プロセッサ５０２をメモリ５０４に結合することができる。バス５１２は、以下に説明するように、１つまたは複数のメモリ・バスを含むことができる。特定の実施形態では、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ５０２とメモリ５０４との間にあり、プロセッサ５０２によって要求されるメモリ５０４へのアクセスを容易にする。特定の実施形態では、メモリ５０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、必要に応じて、揮発性メモリとすることができる。必要に応じてこのＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）、またはスタティックＲＡＭ（ＳＲＡＭ）とすることができる。さらに、必要に応じて、このＲＡＭは、シングル・ポートの、またはマルチ・ポートのＲＡＭとすることができる。この開示は、任意の好適なＲＡＭを検討する。メモリ５０４は、必要に応じて、１つまたは複数のメモリ５０４を含むことができる。この開示は、特定のメモリを説明し、例示するが、この開示は、任意の好適なメモリを検討する。
【００７２】
特定の実施形態では、ストレージ５０６は、データまたは命令用の大容量記憶装置を含む。例として、ストレージ５０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらの２つ以上の組合せを含むことができるが、これらに限定するものではない。ストレージ５０６は、必要に応じて、取り外し可能なまたは取り外し不可能な（または固定の）媒体を含むことができる。ストレージ５０６は、必要に応じて、コンピュータ・システム５００の内部に、または外部にあることが可能である。特定の実施形態では、ストレージ５０６は、不揮発性の、ソリッド・ステート・メモリである。特定の実施形態では、ストレージ５０６は、リード・オンリ・メモリ（ＲＯＭ）を含む。必要に応じて、このＲＯＭは、マスク・プログラムされたＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能なＰＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なＰＲＯＭ（ＥＥＰＲＯＭ）、電気的に書き換え可能なＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、またはこれらの２つ以上の組合せとすることができる。この開示は、任意の好適な物理的形状を呈する大容量記憶装置５０６を検討する。ストレージ５０６は、必要に応じて、プロセッサ５０２とストレージ５０６との通信を容易にする１つまたは複数のストレージ制御ユニットを含むことができる。必要に応じて、ストレージ５０６は、１つまたは複数のストレージ５０６を含むことができる。この開示は、特定のストレージを説明し、例示するが、この開示は、任意の好適なストレージを検討する。
【００７３】
特定の実施形態では、Ｉ／Ｏインタフェース５０８は、コンピュータ・システム５００と１つまたは複数のＩ／Ｏデバイスとの通信のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、または両方を含む。コンピュータ・システム５００は、必要に応じて、これらのＩ／Ｏデバイスの１つまたは複数を含むことができる。これらのＩ／Ｏデバイスの１つまたは複数が、人とコンピュータ・システム５００との通信を可能にすることができる。例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイク、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチルカメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なＩ／Ｏデバイス、またはこれらの２つ以上の組合せを含むことができるが、これらに限定するものではない。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含むことができる。この開示は、任意の好適なＩ／Ｏデバイス、およびそれらのための任意の好適なＩ／Ｏインタフェース５０８を検討する。必要に応じて、Ｉ／Ｏインタフェース５０８は、プロセッサ５０２がこれらのＩ／Ｏデバイスの１つまたは複数を駆動できるようにする１つもしくは複数のデバイスまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインタフェース５０８は、必要に応じて、１つまたは複数のＩ／Ｏインタフェース５０８を含むことができる。この開示は、特定のＩ／Ｏインタフェースを説明し、例示するが、この開示は、任意の好適なＩ／Ｏインタフェースを検討する。
【００７４】
特定の実施形態では、通信インタフェース５１０は、コンピュータ・システム５００と、１つもしくは複数の他のコンピュータ・システム５００または１つもしくは複数のネットワークとの通信（例えば、パケット・ベースの通信など）のための１つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、または両方を含む。例として、通信インタフェース５１０は、イーサネット（登録商標）もしくは他の有線によるネットワークと通信するための、ネットワーク・インタフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷｉ−Ｆｉネットワークなどの無線ネットワークと通信するための、無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含むことができるが、これらに限定するものではない。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インタフェース５１０を検討する。例として、コンピュータ・システム５００は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ
）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１つもしくは複数の部分、またはこれらの２つ以上の組合せと通信することができるが、これらに限定するものではない。これらのネットワークの１つまたは複数の１つまたは複数の部分は、有線または無線とすることができる。例として、コンピュータ・システム５００は、無線ＰＡＮ（ＷＰＡＮ）（例えば、ＢＬＵＥＴＯＯＴＨ（登録商標）  ＷＰＡＮなど）、Ｗｉ−Ｆｉネットワーク、Ｗｉ−ＭＡＸネットワーク、携帯電話ネットワーク（例えば、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））ネットワークなど）、または他の好適な無線ネットワーク、またはこれらの２つ以上の組合せと通信することができる。コンピュータ・システム５００は、必要に応じて、これらのネットワークのいずれかのための任意の好適な通信インタフェース５１０を含むことができる。通信インタフェース５１０は、必要に応じて、１つまたは複数の通信インタフェース５１０を含むことができる。この開示は、特定の通信インタフェースを説明し、例示するが、この開示は、任意の好適な通信インタフェースを検討する。
【００７５】
特定の実施形態では、バス５１２は、コンピュータ・システム５００の構成要素を互いに結合するハードウェア、ソフトウェア、または両方を含む。例として、バス５１２は、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ）もしくは他のグラフィックス・バス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロント・サイド・バス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）インターコネクト、業界標準アーキテクチャ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤインターコネクト、ロー・ピン・カウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアル・アドバンスト・テクノロジ・アーキテクチャ（ＳＡＴＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル（ＶＬＢ）バス、または別の好適なバス、またはこれらの２つ以上の組合せを含むことができるが、これらに限定するものではない。バス５１２は、必要に応じて、１つまたは複数のバス５１２を含むことができる。この開示は、特定のバスを説明し、例示するが、この開示は、任意の好適なバスまたはインターコネクトを検討する。
【００７６】
本明細書では、（１つまたは複数の）非一時的コンピュータ可読記憶媒体は、１つまたは複数の半導体ベースの、または他の集積回路（ＩＣ）（例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）もしくは特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッド・ステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬカードもしくはドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの２つ以上の任意の好適な組合せを含むことができる。非一時的コンピュータ可読記憶媒体は、必要に応じて、揮発性、不揮発性、または揮発性と不揮発性の組合せとすることができる。
【００７７】
本明細書では、「または」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、包括的であって、排他的ではない。従って、本明細書では、「ＡまたはＢ」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、「Ａ、Ｂ、または両方」を意味する。さらに、「および」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、共同的かつ個別的である。従って、本明細書では、「ＡおよびＢ」は、明示的に別段の指示がある、または文脈によって別段の指示がある場合を除き、「共同的にまたは個別的に、ＡおよびＢ」を意味する。
【００７８】
この開示の範囲は、本明細書に説明する、または例示する例示的実施形態へのすべての変化、代用、変形、改変、および変更を包むことを、当業者は理解するであろう。この開示の範囲は、本明細書に説明する、または例示する例示的実施形態に限定されない。さらに、この開示は、本明細書において特定の構成要素、要素、機能、動作、またはステップを含むものとして、各実施形態を説明し、例示するが、これらの実施形態のいずれも、本明細書のどこかに説明する、または例示する構成要素、要素、機能、動作、またはステップのいずれかのいかなる組合せまたは置換も含むことができることを、当業者は理解するであろう。さらに、添付の特許請求の範囲における、装置またはシステムまたは装置もしくはシステムの構成要素が、特定の機能を行うように適合される、整えられる、能力がある、構成される、有効にされる、動作可能である、または動作することへの言及は、装置、システム、または構成要素がそのように適合される、整えられる、能力がある、構成される、有効にされる、動作可能である、または動作する限り、その装置、システム、構成要素が、それ自体であれ、その特定の機能であれ、作動される、オンにされる、またはロック解除されることを含む。
例１に記載の発明は、
コンピューティングデバイスが、前記コンピューティングデバイスに関連付けられている画面の表示可能領域におけるコンテンツレイアウトのための特定のコンテンツを求める要求を受信する工程と、
前記コンピューティングデバイスが、アプリケーションに適合したリサイクルポリシーに基づいて、リサイクラーがリサイクルまたは再使用に適切である表示オブジェクトを含むか否かを判定する工程であって、前記表示オブジェクトは、前記特定のコンテンツを含んでいる、判定する工程と、を備え、
前記リサイクラーがリサイクルまたは再使用に適切である前記表示オブジェクトを含まない場合、
前記コンピューティングデバイスは、前記表示オブジェクトを作成し、
前記コンピューティングデバイスは、前記特定のコンテンツで前記表示オブジェクトを埋め、
前記リサイクラーがリサイクルまたは再使用に適切である表示オブジェクトを含む場合、
前記コンピューティングデバイスは、前記表示オブジェクトが前記特定のコンテンツを含んでいるか否かを判定し、
前記表示オブジェクトが前記特定のコンテンツを含んでいる場合、
前記コンピューティングデバイスは、必要に応じて前記表示オブジェクトの要素を更新し、
前記表示オブジェクトが前記特定のコンテンツを含んでいない場合、
前記コンピューティングデバイスは、前記特定のコンテンツで前記表示オブジェクトを埋め、
前記コンピューティングデバイスは、前記表示オブジェクトを戻す、方法である。
例２に記載の発明は、
前記表示オブジェクトが前記表示可能領域における前記コンテンツレイアウトのために必要でなくなったことを示す標識を受信する工程と、
前記リサイクラーに前記表示オブジェクトを記憶する、記憶工程とをさらに備える、例１に記載の方法である。
例３に記載の発明は、
前記表示オブジェクトを戻す前に前記表示オブジェクトをラッパーオブジェクト内にカプセル化する工程であって、前記表示オブジェクトを戻すことは、カプセル化された前記表示オブジェクトを戻すことを含む、カプセル化する工程と、
前記表示オブジェクトが前記コンピューティングデバイスによって必要でなくなったことを示す前記標識を受信する工程に際し、前記記憶工程の前に前記表示オブジェクトを前記ラッパーオブジェクトから抽出する、抽出工程とをさらに備える、例２に記載の方法である。
例４に記載の発明は、
前記抽出工程の後、前記ラッパーオブジェクトは、オペレーティングシステムによって管理されているリサイクリングユーティリティによってリサイクルされる、例３に記載の方法である。
例５に記載の発明は、
前記アプリケーションに適合したリサイクルポリシーは、アプリケーション固有のリサイクルポリシー、デバイス固有のリサイクルポリシー、またはユーザ固有のリサイクルポリシーを含む、例１に記載の方法である。
例６に記載の発明は、
前記表示オブジェクトは、前記コンテンツレイアウトにおける前記特定のコンテンツの位置、コンテンツの識別子、前記特定のコンテンツに基づいて生成されるハッシュキー、または前記特定のコンテンツに関係するアクティビティのタイムスタンプを含む、取り出しキーと関連付けて前記リサイクラーに記憶される、例１に記載の方法である。
例７に記載の発明は、
前記特定のコンテンツは、ソーシャルネットワーキング情報を含み、前記表示オブジェクトは、前記特定のコンテンツが関係するソーシャル・グラフにおける１以上の要素に関連付けられている識別子を含む取り出しキーと関連付けて前記リサイクラーに記憶される、例１に記載の方法である。
例８に記載の発明は、
１以上の非一時的コンピュータ可読記憶媒体であって、実行されたとき、
画面の表示可能領域におけるコンテンツレイアウトのための特定のコンテンツを求める要求を受信する工程と、
アプリケーションに適合したリサイクルポリシーに基づいて、リサイクラーがリサイクルまたは再使用に適切である表示オブジェクトを含むか否かを判定する工程であって、前記表示オブジェクトは、前記特定のコンテンツを含んでいる、判定する工程と、が行われるように構成され、
前記リサイクラーがリサイクルまたは再使用に適切である前記表示オブジェクトを含まない場合、
前記表示オブジェクトを作成し、
前記特定のコンテンツで前記表示オブジェクトを埋め、
前記リサイクラーがリサイクルまたは再使用に適切である表示オブジェクトを含む場合、
前記表示オブジェクトが前記特定のコンテンツを含んでいるか否かを判定し、
前記表示オブジェクトが前記特定のコンテンツを含んでいる場合、
必要に応じて前記表示オブジェクトの要素を更新し、
前記表示オブジェクトが前記特定のコンテンツを含んでいない場合、
前記特定のコンテンツで前記表示オブジェクトを埋め、
前記表示オブジェクトを戻すように動作可能であるソフトウェアを具現化する、媒体である。
例９に記載の発明は、
前記ソフトウェアは、実行されたとき、
前記表示オブジェクトが前記表示可能領域における前記コンテンツレイアウトのために必要でなくなったことを示す標識を受信する工程と、
前記リサイクラーに前記表示オブジェクトを記憶する、記憶工程とが行われるようさらに操作可能である、例８に記載の媒体である。
例１０に記載の発明は、
前記ソフトウェアは、実行されたとき、
前記表示オブジェクトを戻す前に前記表示オブジェクトをラッパーオブジェクト内にカプセル化する工程であって、戻された前記表示オブジェクトは、カプセル化された前記表示オブジェクトを含む、カプセル化する工程と、
前記表示オブジェクトが必要でなくなったことを示す前記標識を受信する工程に際し、前記記憶工程の前に前記表示オブジェクトを前記ラッパーオブジェクトから抽出する、抽出工程とが行われるようにさらに操作可能である、例９に記載の媒体である
例１１に記載の発明は、
前記抽出工程の後、前記ラッパーオブジェクトは、オペレーティングシステムによって管理されているリサイクリングユーティリティによってリサイクルされる、例１０に記載の媒体である。
例１２に記載の発明は、
前記アプリケーションに適合したリサイクルポリシーは、アプリケーション固有のリサイクルポリシー、デバイス固有のリサイクルポリシー、またはユーザ固有のリサイクルポリシーを含む、例８に記載の媒体である。
例１３に記載の発明は、
前記表示オブジェクトは、前記コンテンツレイアウトにおける前記特定のコンテンツの位置、コンテンツの識別子、前記特定のコンテンツに基づいて生成されるハッシュキー、または前記特定のコンテンツに関係するアクティビティのタイムスタンプを含む、取り出しキーと関連付けて前記リサイクラーに記憶される、例８に記載の媒体である。
例１４に記載の発明は、
前記特定のコンテンツは、ソーシャルネットワーキング情報を含み、前記表示オブジェクトは、前記特定のコンテンツが関係するソーシャル・グラフにおける１以上の要素に関連付けられている識別子を含む取り出しキーと関連付けて前記リサイクラーに記憶される、例８に記載の媒体である。
例１５に記載の発明は、
システムであって、
１以上のプロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行可能な命令を含むメモリと、を備え、前記プロセッサは、前記命令を実行したとき、
前記システムに関連付けられている画面の表示可能領域におけるコンテンツレイアウトのための特定のコンテンツを求める要求を受信する工程と、
アプリケーションに適合したリサイクルポリシーに基づいて、リサイクラーがリサイクルまたは再使用に適切である表示オブジェクトを含むか否かを判定する工程であって、前記表示オブジェクトは、前記特定のコンテンツを含んでいる、判定する工程と、が行われるように構成され、
前記リサイクラーがリサイクルまたは再使用に適切である前記表示オブジェクトを含まない場合、
前記表示オブジェクトを作成し、
前記特定のコンテンツで前記表示オブジェクトを埋め、
前記リサイクラーがリサイクルまたは再使用に適切である表示オブジェクトを含む場合、
前記表示オブジェクトが前記特定のコンテンツを含んでいるか否かを判定し、
前記表示オブジェクトが前記特定のコンテンツを含んでいる場合、
必要に応じて前記表示オブジェクトの要素を更新し、
前記表示オブジェクトが前記特定のコンテンツを含んでいない場合、
前記特定のコンテンツで前記表示オブジェクトを埋め、
前記表示オブジェクトを戻すように操作可能である、システムである。
例１６に記載の発明は、
前記プロセッサは、前記命令を実行したとき、
前記表示オブジェクトが前記表示可能領域における前記コンテンツレイアウトのために必要でなくなったことを示す標識を受信する工程と、
前記リサイクラーに前記表示オブジェクトを記憶する、記憶工程とが行われるようさらに操作可能である、例１５に記載のシステムである。
例１７に記載の発明は、
前記プロセッサは、前記命令を実行したとき、
前記表示オブジェクトを戻す前に前記表示オブジェクトをラッパーオブジェクト内にカプセル化する工程であって、戻された前記表示オブジェクトは、カプセル化された前記表示オブジェクトを含む、カプセル化する工程と、
前記表示オブジェクトが必要でなくなったことを示す前記標識を受信する工程に際し、前記記憶工程の前に前記表示オブジェクトを前記ラッパーオブジェクトから抽出する、抽出工程とが行われるようにさらに操作可能である、例１６に記載のシステムである。
例１８に記載の発明は、
前記抽出工程の後、前記ラッパーオブジェクトは、オペレーティングシステムによって管理されているリサイクリングユーティリティによってリサイクルされる、例１７に記載のシステムである。
例１９に記載の発明は、
前記アプリケーションに適合したリサイクルポリシーは、アプリケーション固有のリサイクルポリシー、デバイス固有のリサイクルポリシー、またはユーザ固有のリサイクルポリシーを含む、例１５に記載のシステムである。
例２０に記載の発明は、
前記表示オブジェクトは、前記コンテンツレイアウトにおける前記特定のコンテンツの位置、コンテンツの識別子、前記特定のコンテンツに基づいて生成されるハッシュキー、または前記特定のコンテンツに関係するアクティビティのタイムスタンプを含む、取り出しキーと関連付けて前記リサイクラーに記憶される、例１５に記載のシステムである。
【図１Ａ】
0006313425.tif 000002
【図１Ｂ】
0006313425.tif 000003
【図２】
0006313425.tif 000004
【図３】
0006313425.tif 000005
【図４】
0006313425.tif 000006
【図５】
0006313425.tif 000007