(57)【要約】【課題】フレキシブルなイメージ・レイアウトを提供すること【解決手段】コンピューティング・デバイスの特定の実施形態が、ディスプレイ・グリッドの占有されていない位置を特定し、グリッドは、コンピューティング・デバイスに関連するスクリーンの表示可能な領域に関する仕様に対応する。イメージ要素が、グリッド内に配置するための候補として識別される。占有されていない位置および候補イメージ要素があるときに、候補イメージ要素の１つが、占有されていない位置のセットに適合し、そのセットの位置が、適合したイメージ要素によって占有されているとして指定される。適合は、位置のパターンに基づき、そのパターンは、イメージ要素のサイズおよび形状ならびにグリッドの位置のサイズを使用して特定される。グリッドの指定された位置で、適合した各イメージ要素の配置に従ってイメージ要素をレンダリングするためのレイアウト情報が提供される。【選択図】図１
2019096352.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
コンピューティング・デバイスによって、ディスプレイ・グリッドにおける占有されていない位置を特定する工程であって、該グリッドが、該コンピューティング・デバイスに関連付けられているスクリーンの表示可能な領域に関する仕様に対応する、前記占有されていない位置を特定する工程と、
該コンピューティング・デバイスによって、該グリッド内に配置するための候補である複数のイメージ要素を識別する工程と、
該占有されていない位置のうちの少なくとも１つ、および複数の候補イメージ要素のうちの少なくとも１つが存在するときに、
該コンピューティング・デバイスによって、該複数の候補イメージ要素のうちの１つを１組の占有されていない位置に適合させる工程、および
該コンピューティング・デバイスによって、該１組の占有されていない位置を、適合したイメージ要素によって占有されているものとして指定する工程と、
該コンピューティング・デバイスによって、該グリッドにおける指定された位置で、適合した各イメージ要素の配置に従って該イメージ要素をレンダリングするためのレイアウト情報を提供する工程と、を備える方法。
【請求項２】
イメージ要素は、
画像、地図、テキストのストーリ・ブロック、ドキュメントのページ、アイコン、もしくは任意のサムネイル・イメージ、またはそれらの任意の組合せを含む、請求項１に記載の方法。
【請求項３】
前記表示可能な領域に関する仕様は、
高さ、幅、対角線寸法、向き、またはスクリーン解像度を含む、請求項１に記載の方法。
【請求項４】
イメージ要素の属性は、
形状、サイズ、配置パターン、配置起点、ズーム倍率、またはズーム・パターンを含む、請求項１に記載の方法。
【請求項５】
前記複数の候補イメージ要素のうちの１つを前記１組の占有されていない位置に適合させる工程は、
前記イメージ要素に関して、前記イメージ要素のサイズおよび形状、ならびに前記グリッドにおける位置のサイズに基づいて位置のパターンを特定する工程と、
前記１組の占有されていない位置を位置のパターンに基づいて特定する工程とを含む、請求項４に記載の方法。
【請求項６】
前記１組の占有されていない位置に適合する複数の候補イメージ要素が存在し、該１組の占有されていない位置に適合している特定の候補イメージ要素が、１つまたは複数の配置ルールに従って選択される、請求項１に記載の方法。
【請求項７】
前記配置ルールによって、前記複数の候補イメージ要素を前記グリッド内に配置する順序が確立される、請求項６に記載の方法。
【請求項８】
前記複数の候補イメージ要素を前記グリッド内に配置する順序が、前記候補イメージ要素のランキングに基づき、該ランキングが、前記候補イメージ要素に関連付けられているソーシャルネットワーキング情報に基づく、請求項７に記載の方法。
【請求項９】
前記候補イメージ要素のランキングが、候補イメージ要素が前記グリッドにおける１組の位置に適合した後に毎回再査定される、請求項７に記載の方法。
【請求項１０】
前記配置ルールは、適合したイメージ要素が前記グリッドにおいて複数回現れることを禁止し、
前記方法が、
適合した各イメージ要素を、前記グリッド内に配置するための候補ではないとして指定する工程をさらに備える、請求項６に記載の方法。
【請求項１１】
前記候補イメージ要素に適合した複数の組の占有されていない位置が存在し、前記候補イメージ要素に適合した特定の組の占有されていない位置が、１つまたは複数の配置ルールに従って選択される、請求項１に記載の方法。
【請求項１２】
前記配置ルールによって、前記ディスプレイ・グリッドにおける位置を満たすための順序を確立される、請求項１１に記載の方法。
【請求項１３】
前記ディスプレイ・グリッドにおける位置を満たすための順序は、前記ディスプレイ・グリッドにおける始点に関する配置の方向経路、第１の軸に沿った配置に対する第２の軸に沿った配置の優先順位付け、または前記表示可能な領域の向きに基づく、請求項１２に記載の方法。
【請求項１４】
前記ディスプレイ・グリッドにおける位置を満たすための順序は、候補イメージ要素が前記グリッドにおける１組の位置に適合した後に毎回再査定される、請求項１２に記載の方法。
【請求項１５】
１つまたは複数の非一時的なコンピュータ可読記録媒体であって、
実行されたときに、
ディスプレイ・グリッドにおける占有されていない位置を特定する工程であって、該グリッドが、コンピューティング・デバイスに関連付けられているスクリーンの表示可能な領域に関する仕様に対応する、前記占有されていない位置を特定する工程と、
該グリッド内に配置する候補である複数のイメージ要素を識別する工程と、
該占有されていない位置のうちの少なくとも１つ、および複数の候補イメージ要素のうちの少なくとも１つが存在するときに、
該複数の候補イメージ要素のうちの１つを１組の占有されていない位置に適合させる工程、および
該１組の占有されていない位置を、適合したイメージ要素によって占有されているものとして指定する工程と、
該グリッドにおける指定された位置で、適合した各イメージ要素の配置に従って該イメージ要素をレンダリングするためのレイアウト情報を提供する工程と、を実行するように動作可能であるソフトウェアを実装する１つまたは複数の非一時的なコンピュータ可読記録媒体。
【請求項１６】
前記複数の候補イメージ要素のうちの１つを前記１組の占有されていない位置に適合させる工程を実行するように動作可能であるソフトウェアは、
前記イメージ要素に関して、前記イメージ要素のサイズおよび形状、ならびに前記グリッドにおける位置のサイズに基づいて位置のパターンを特定する工程と、
前記１組の占有されていない位置を位置のパターンに基づいて特定する工程と、を実行するように動作可能であるソフトウェアを含む、請求項１５に記載のコンピュータ可読記録媒体。
【請求項１７】
前記複数の候補イメージ要素を前記グリッド内に配置する順序が、前記候補イメージ要素のランキングに基づき、該ランキングが、前記候補イメージ要素に関連付けられているソーシャルネットワーキング情報に基づく、請求項１５に記載のコンピュータ可読記録媒体。
【請求項１８】
１つまたは複数のプロセッサと、
該１つまたは複数のプロセッサに接続され、該１つまたは複数のプロセッサによって実行可能な命令を含むメモリと、を備えるコンピューティング・デバイスであって、
該１つまたは複数のプロセッサが、該命令を実行したときに、
ディスプレイ・グリッドにおける占有されていない位置を特定する工程であって、該グリッドが、コンピューティング・デバイスに関連付けられているスクリーンの表示可能な領域に関する仕様に対応する、前記占有されていない位置を特定する工程と、
該グリッド内に配置する候補である複数のイメージ要素を識別する工程と、
該占有されていない位置のうちの少なくとも１つ、および複数の候補イメージ要素のうちの少なくとも１つが存在するときに、
前記複数の候補イメージ要素のうちの１つを１組の占有されていない位置に適合させる工程、および
該１組の占有されていない位置を、適合したイメージ要素によって占有されているものとして指定する工程と、
該グリッドにおける指定された位置で、適合した各イメージ要素の配置に従って該イメージ要素をレンダリングするためのレイアウト情報を提供する工程と、を実行するように動作可能である、コンピューティング・デバイス。
【請求項１９】
前記命令を実行したときに、前記複数の候補イメージ要素のうちの１つを前記１組の占有されていない位置に適合させる工程を実行するように動作可能であるプロセッサは、
前記イメージ要素に関して、前記イメージ要素のサイズおよび形状、ならびに前記グリッドにおける位置のサイズに基づいて位置のパターンを特定する工程と、
前記１組の占有されていない位置を位置のパターンに基づいて特定する工程と、を実行するように動作可能である、請求項１８に記載のコンピューティング・デバイス。
【請求項２０】
前記複数の候補イメージ要素を前記グリッド内に配置する順序が、前記候補イメージ要素のランキングに基づき、該ランキングが、前記候補イメージ要素に関連付けられているソーシャルネットワーキング情報に基づく、請求項１８に記載のコンピューティング・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、イメージ要素のアレイの表示をレンダリングすることに関する。
【背景技術】
【０００２】
ソーシャル・ネットワーキング・システム（ソーシャルネットワーキング・ウェブサイトを含むことができる）は、そのソーシャル・ネットワーキング・システムのユーザ（人または組織など）がそのソーシャル・ネットワーキング・システムと、およびそのソーシャル・ネットワーキング・システムを通じて互いに対話することを可能にすることができる。ソーシャル・ネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャル・ネットワーキング・システム内に格納することができる。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含むことができる。ソーシャル・ネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャル・ネットワーキング・システムのその他のユーザとの関係のレコードを作成および格納すること、ならびにサービス（たとえば、ウォール・ポスト、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
【０００３】
ソーシャル・ネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、１つまたは複数のネットワークを介して、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信することができる。ユーザは、自分のユーザ・プロフィールおよびソーシャル・ネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャル・ネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュースフィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
特定の実施形態が、イメージ要素のレイアウトを特定する。イメージ要素は、画像、地図、テキストのストーリ・ブロック、ドキュメントのページ、アイコン、もしくは任意のサムネイル・イメージ、またはそれらの任意の組合せを含む。イメージ要素は、コンピューティング・デバイスに関連付けられているスクリーンの表示可能な領域に関する仕様に対応するディスプレイ・グリッド内に配置される。表示可能な領域に関する仕様は、高さ、幅、対角線寸法、向き、またはスクリーン解像度を含むことができる。表示可能な領域は、スクリーン全体またはその一部分（たとえば、スクリーン上の１つのウィンドウ、または、水平なステータス・バーおよび垂直なメニュー・サイドバーによって占有されているスペースを考慮した後の残っている利用可能なスクリーン部分）を含むことができる。表示可能な領域に関する仕様は、表示可能な領域の高さ、幅、および／もしくは対角線寸法（これは、列の数、行の数、ピクセル、インチ、フィート、メートル系単位、もしくはその他の任意の従来の測定単位として明示されることが可能である）、スクリーンの向き（ポートレート・モードもしくはランドスケープ・モード）、またはスクリーン解像度を含むことができる。ディスプレイ・グリッドは、表示可能な領域に関する仕様に従って特定されることが可能である。
【０００５】
候補イメージ要素を占有されていない位置のセットに適合させることは、イメージ要素の属性、たとえば、形状、サイズ、配置パターン、配置起点、ズーム倍率、またはズーム・パターンに基づくことが可能である。適合させる工程は、イメージ要素に関して、そのイメージ要素のサイズおよび形状、ならびにグリッドにおける位置のサイズに基づいて位置のパターンを特定する工程と、次いで、占有されていない位置のセットを位置のパターンに基づいて特定する工程とを含むことができる。
【０００６】
占有されていない位置のセットに適合する複数の候補イメージ要素が存在する場合には、それらの占有されていない位置のセットに適合した特定の候補イメージ要素が、１つまたは複数の配置ルールに従って選択されることが可能である。それらの配置ルールは、候補イメージ要素をグリッド内に配置するための順序を確立することができる。候補イメージ要素をグリッド内に配置するための順序は、候補イメージ要素のランキングに基づくことが可能であり、そのランキングは、候補イメージ要素に関連付けられているソーシャルネットワーキング情報に基づく。候補イメージ要素のランキングは、候補イメージ要素がグリッドにおける位置のセットに適合した後に毎回再査定されることが可能である。配置ルールが、適合したイメージ要素がグリッドにおいて複数回現れることを禁止している場合には、適合した各イメージ要素は、もはやグリッド内に配置するための候補ではないとして指定されることが可能である。
【０００７】
候補イメージ要素に適合する占有されていない位置の複数のセットが存在する場合には、候補イメージ要素に適合した占有されていない位置の特定のセットが、１つまたは複数の配置ルールに従って選択されることが可能である。それらの配置ルールは、ディスプレイ・グリッドにおける位置を満たすための順序を確立することができる。ディスプレイ・グリッドにおける位置を満たすための順序は、ディスプレイ・グリッドにおける始点に関する配置の方向経路、第１の軸に沿った配置対第２の軸に沿った配置の優先順位付け、または表示可能な領域の向きに基づくことが可能である。ディスプレイ・グリッドにおける位置を満たすための順序は、候補イメージ要素がグリッドにおける位置のセットに適合した後に毎回再査定されることが可能である。
【０００８】
特定の実施形態においては、イメージ要素のレイアウトを特定するための工程は、スクリーンに関連付けられているコンピューティング・デバイスによって実行されることが可能である。特定の実施形態においては、コンピュータ・サーバが、クライアント・コンピューティング・デバイスに関連付けられているスクリーンの表示可能な領域に関する明示を得て、本明細書において記述されている工程を実行し、次いで、スクリーンに関連付けられているクライアント・デバイスにレイアウト情報を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】例示的なディスプレイ・グリッドおよびイメージ要素のシーケンスを示す図。
【図２】ディスプレイ・グリッドに関するイメージ要素のレイアウトを特定するための例示的な方法を示すフロー・チャート。
【図３Ａ】イメージ要素のレイアウト上での代替配置ルールの例示的な使用事例を示す図。
【図３Ｂ】イメージ要素のレイアウト上での代替配置ルールの例示的な使用事例を示す図。
【図４Ａ】イメージ要素のレイアウト上で特定のイメージ要素をズームインおよびズームアウトすることの例示的な使用事例を示す図。
【図４Ｂ】イメージ要素のレイアウト上で特定のイメージ要素をズームインおよびズームアウトすることの例示的な使用事例を示す図。
【図４Ｃ】イメージ要素のレイアウト上で特定のイメージ要素をズームインおよびズームアウトすることの例示的な使用事例を示す図。
【図４Ｄ】イメージ要素のレイアウト上で特定のイメージ要素をズームインおよびズームアウトすることの例示的な使用事例を示す図。
【図５Ａ】イメージ要素のレイアウト上でスクロールダウンすることの例示的な使用事例を示す図。
【図５Ｂ】イメージ要素のレイアウト上でスクロールダウンすることの例示的な使用事例を示す図。
【図６】ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。
【図７】例示的なソーシャル・グラフを示す図。
【図８】例示的なコンピュータ・システムを示す図。
【発明を実施するための形態】
【００１０】
特定の実施形態が、イメージ要素のレイアウトを特定する。イメージ要素は、コンピューティング・デバイスに関連付けられているスクリーンの表示可能な領域に関する仕様（specification）に対応するディスプレイ・グリッド内に配置される。表示可能な領域は、スクリーン全体またはその一部分（たとえば、スクリーン上の１つのウィンドウ、または、水平なステータス・バーおよび垂直なメニュー・サイドバーによって占有されているスペースを考慮した後の残っている利用可能なスクリーン部分（screen real estate））を含むことができる。表示可能な領域に関する仕様は、表示可能な領域の高さ、幅、および／もしくは対角線寸法（これは、列の数、行の数、ピクセル、インチ、フィート、メートル系単位、もしくはその他の任意の従来の測定単位として明示されることが可能である）、スクリーンの向き（ポートレート・モードもしくはランドスケープ・モード）、またはスクリーン解像度を含むことができる。ディスプレイ・グリッドは、表示可能な領域に関する仕様に従って特定されることが可能である。
【００１１】
図１は、例示的なディスプレイ・グリッドおよびイメージ要素のシーケンスを示している。例示的なコンピューティング・デバイス１００は、スクリーンを有しており、そのスクリーンにおいては、表示可能な領域１０１が、ディスプレイ・グリッドの表示を含んでおり、水平な領域１０２が、ステータス・バーの表示のために確保されている。図１において示されているディスプレイ・グリッドの表示における位置（position）は、破線のグリッド線によって描かれており、縦軸に沿ったロケーション（ロケーションＡ〜Ｋ）および横軸に沿ったロケーション（ロケーション１〜８）を示す座標によって識別されることが可能である。
【００１２】
イメージ要素は、任意の形状またはサイズのものであることが可能であり、それぞれのイメージ要素は、ディスプレイ・グリッドにおける１つまたは複数の位置を占有することが可能である。図１において示されているイメージ要素１１０〜１９５の例示的なシーケンスは、さまざまな形状、サイズ、および配置パターンのイメージ要素を含んでいる。
【００１３】
・イメージ要素１１０、１１５、１３５、１５０、１５５、１８０、および１８５はそれぞれ、ディスプレイ・グリッドにおける１つの位置を占有し、
・イメージ要素１２０、１３０、１４５、１７０、および１９０はそれぞれ、ディスプレイ・グリッドにおける２つの水平に隣接した位置を占有し、
・イメージ要素１２５、１６０、１６５、および１７５はそれぞれ、ディスプレイ・グリッドにおける２つの垂直に隣接した位置を占有し、
・イメージ要素１４０は、ディスプレイ・グリッドにおける４つの位置を占有し、それらの４つの位置は、横向きのＬ字形状で構成されており、
・イメージ要素１９５は、ディスプレイ・グリッドにおける４つの位置を占有し、それらの４つの位置は、逆さまのＴ字形状で構成されている。
【００１４】
イメージ要素は、任意のタイプのビジュアル・コンテンツのイメージを含むことができ、たとえば、その例としては、画像、ビデオ・フレーム、ビデオ、地図、テキスト・ブロック、ドキュメントのページ、スクリーン・ショット、または任意のサムネイル・イメージ表示があるが、それらには限定されない。イメージ要素のシーケンスは、任意のタイプのまたはタイプの組合せのイメージ要素を含むことができる。シーケンスにおけるイメージ要素の順序は、任意の様式で特定されることが可能である。
【００１５】
図２は、ディスプレイ・グリッドを使用してイメージ要素のレイアウトを特定するための例示的な方法を示すフロー・チャートである。候補イメージ要素をディスプレイ・グリッドにおける占有されていない位置に配置する際には、配置アルゴリズムが、候補イメージ要素と、１つまたは複数のグリッド位置の対応するセットとの間における適合（matching）を、それらの候補イメージ要素および配置ルールのセットに関する配置パターンに基づいて識別する。
【００１６】
工程２１０において、配置アルゴリズムは、ディスプレイ・グリッドにおける占有されていない位置を特定する。ディスプレイ・グリッドにおける位置は、ディスプレイ・グリッドの特定の領域が特定の目的で確保されていることに起因して、占有されているものとしてマークされている場合がある。たとえば、確保されている領域は、図３Ａ〜図３Ｂ（領域１０３）、図５Ａ〜図５Ｂ（領域１０４、１０５、および１０６）において示されているディスプレイ・グリッドにおいて占有されているものとしてマークされている。ディスプレイ・グリッドにおける位置は、候補イメージ要素がグリッドにおける占有されていない位置に適合される配置アルゴリズムのメイン・ループを開始する前に、グリッド内に配置された特定のイメージ要素によって占有されているものとしてマークされている場合もある。たとえば、図４Ａ〜図４Ｄは、ズームインするためのイメージを選択する（および選択解除する）ユーザ入力に応答して変化する漸進的なレイアウトを示しており、イメージ要素１９０Ａが図４Ａにおいて（４００％の）ズームイン用として選択された場合には、イメージ要素１９０Ａのズームインされたバージョンが生成され、および／または取り出され、次いで、イメージ要素のうちの残りを図４Ｂのディスプレイ・グリッドへとレイアウトすることを開始する前に、配置アルゴリズムは、イメージ要素１９０Ａのズームインされたバージョンをどこに配置するかを特定し、それらの位置（Ｃ３〜Ｃ６およびＤ３〜Ｄ６）を、占有されているものとしてマークする。
【００１７】
工程２２０において、配置アルゴリズムは、ディスプレイ・グリッド内に配置するための候補であるイメージ要素のグループを識別する。特定の実施形態においては、配置アルゴリズムは、複数のイメージを（たとえば、ローカル・データ・ストアから、および／またはリモート・サーバから）取り出し、次いで、それらのイメージ要素のそれぞれに関連付けられている情報に基づいて、それぞれのイメージ要素が、ディスプレイ・グリッド内に配置するための候補であるかどうかを特定することができる。特定の実施形態においては、イメージの特定は、１つもしくは複数のローカル・データ・ストアから、１つもしくは複数のリモート・データ・ストアから、１つもしくは複数のデータベースから、１つもしくは複数のサードパーティ・サーバから、または１つもしくは複数のＡＰＩにアクセスすることによってイメージを取り出すことまたは要求することを含むことができる。特定の実施形態においては、イメージの取り出しは、スクリーン・ショットを生成すること、サムネイルを生成すること、ビデオ・フレームを抽出すること、イメージを切りそろえること、イメージを縮小すること、イメージを１つのフォーマットから別のフォーマットへ（たとえば、ベクトルからラスタへ、またはＰＮＧ（Portable Networking Graphics）からＪＰＥＧ（Joint Photographic Experts Group）へ）変換することを含むことができる。
【００１８】
イメージ要素は、ソーシャルネットワーキング・コンテンツのイメージを含むことができる。そのようなイメージは、閲覧者に関連付けられているイメージ、ソーシャル・グラフにおいて閲覧者につながっているその他のユーザ（これは、特定の隔たり度合い内で閲覧者につながっているユーザ、特定のグループもしくは組織内のユーザ、特定の関心もしくはアフィニティを閲覧者と共有しているユーザ、もしくはユーザと類似したプロフィールもしくはターゲットとなる人口統計学的プロフィールを有しているユーザに限定されることが可能である）に関連付けられているイメージ、または閲覧者がフォローしている特定のユーザもしくはコンセプトに関連付けられているイメージを含むことができる。ソーシャル・グラフの例示的な実施形態については、図７に関連してさらに詳細に記述されている。ソーシャル・ネットワーキング・システムの例示的な実施形態については、図６に関連してさらに詳細に記述されている。
【００１９】
シーケンスにおけるイメージのセットは、オンライン・コンテンツの取り込まれたイメージのセットを含むことができる。特定の実施形態においては、イメージは、ウェブサイトのスクリーン・ショット、ウェブサイトの一部分、またはその他の何らかのタイプのオンライン・コンテンツのスクリーン・ショットを表すことができる。たとえば、イメージは、ユーザがフォローしているトピック、企業、政治家、または有名人に関する現在のニュース・ストーリのスクリーン・ショットを含むことができる。イメージ上でクリックすると、閲覧者は、スクリーン・ショットに関するウェブサイトへ導かれることが可能である。そのような取り込まれたイメージは、ウェブ・クローラ（web crawler）によって生成されること、またはサードパーティ・サーバから受け取られることが可能である。たとえば、配置アルゴリズムは、ソーシャルネットワーキング・ウェブサイトのユーザを含むものとしてタグ付けされている複数のイメージを取り出し、次いで、ロケーション情報に関連付けられているイメージ要素を候補として指定することができる。工程２１０に関連して言及されているように、候補イメージ要素のセットは、ディスプレイ・グリッド内に既に配置されているイメージ要素（たとえば、ズームインされたイメージ１９０Ａ）を含まないことが可能である。
【００２０】
工程２３０において、配置アルゴリズムは、それぞれの候補イメージ要素に関する配置パターンを特定する。イメージ要素の配置パターンは、イメージ要素によって占有されるグリッド位置のパターン（pattern of grid positions）を含む。特定の実施形態においては、配置パターンは、隣接したグリッド位置のセットを含まなければならず、その他の実施形態においては、イメージ要素によって占有される位置の配置パターンは、隣接したグリッド位置のセットを含む必要はない。特定の実施形態においては、イメージ要素（またはその一部分）が、座標のセット（たとえば、Ａ１）によって描かれているディスプレイ・スペースのセル全体を満たしていない場合に、イメージ要素の配置パターンを特定する工程は、座標によって示されているディスプレイ・スペースのセル全体を、イメージ要素（または、その部分）によって占有されているものとして指定することを含むことができる。たとえば、図１において示されているように、イメージ要素１９９は、グリッド位置Ｊ２およびＪ３の全体を満たしていないが、イメージ要素１９９は、グリッド位置Ｊ２およびＪ３を「占有している」ということにする。特定の実施形態においては、自分の占有されているグリッド位置の全体を満たしていないイメージ要素は、グリッド位置によって示されているディスプレイ・スペースのセルの（すべてではないにしても）より多くを満たすように、縮小されること、切りそろえられること、伸長されること、および／またはその他の形で修正されることが可能である。図１、図３Ａ〜図３Ｂ、図４Ａ〜図４Ｄ、および図５Ａ〜図５Ｂにおいて示されている例の目的から、それぞれのイメージ要素１１０〜１９５は、そのイメージ要素によって占有されているグリッド位置の全体を満たすように示されている。特定の実施形態においては、イメージ要素の配置パターンは、そのイメージ要素とともに（たとえば、そのイメージ要素に関連付けられているメタデータとして）格納されることが可能である。
【００２１】
工程２４０において、配置アルゴリズムは、候補イメージ要素をグリッドにおける占有されていない位置に配置するために、工程２５０〜２８０を実行するためのメイン・ループ（main loop）を開始する（配置アルゴリズムは、残っている候補イメージ要素および占有されていない位置がある限り、実行を続けることができる）。
【００２２】
工程２５０において、配置アルゴリズムは、候補イメージ要素を占有されていない位置のセットに適合させ、配置アルゴリズムは、候補イメージ要素と、１つまたは複数のグリッド位置の対応するセットとの間における適合を、候補イメージ要素の属性（たとえば、形状、サイズ、配置パターン、配置起点（placement origin）、ズーム倍率（zoom magnitude）、またはズーム・パターン）および配置ルールのセットに基づいて識別する。
【００２３】
特定の実施形態においては、配置アルゴリズムは、特定の候補イメージ要素に関する配置パターンに対応する占有されていない位置の第１のセットを見つけ出すことに焦点を合わせている。候補イメージ要素に適合する占有されていない位置の複数のセットが存在する場合には、１つまたは複数の配置ルールに従って、候補イメージ要素に適合した占有されていない位置の特定のセットが選択されることが可能である。そのような配置ルールは、ディスプレイ・グリッドにおける位置を満たすための順序を確立することができる。その順序は、１つまたは複数の要素に基づくことが可能であり、たとえば、それらの要素の例としては、ディスプレイ・グリッドにおける始点に関する配置の方向経路（directional path）（たとえば、ディスプレイ・グリッドの左上の隅、もしくはディスプレイ・グリッドの真ん中の中心点）および／もしくはグリッドを満たすパターン（たとえば、行もしくは列の端に達したときに、このパターンは、（１）従来のテキスト・レイアウト・パターン（text layout pattern）で次の行もしくは列の反対側の端にジャンプすること、もしくは（２）ジグザグ・パターンで次の行もしくは列へとＵターンすることが可能である）、第１の軸に沿った配置に対する第２の軸に沿った配置の優先順位付け、または表示可能な領域の向きがあるが、それらには限定されない。特定の実施形態においては、ディスプレイ・グリッドにおける位置を満たすための順序は、候補イメージ要素がグリッドにおける位置のセットに適合した後に毎回再査定されることが可能である。
【００２４】
代替実施形態においては、配置アルゴリズムは、特定の占有されていない位置を含む占有されていない位置の可能なセットに対応する配置パターンを有する第１の候補イメージ要素を見つけ出すことに焦点を合わせてもよい。複数の候補イメージ要素が、占有されていない位置のセットに適合している場合には、１つまたは複数の配置ルールに従って、占有されていない位置のセットに適合した特定の候補イメージ要素が選択されることが可能である。それらの配置ルールは、候補イメージ要素をグリッド内に配置するための順序を確立することができ、候補イメージ要素をグリッド内に配置するためのその順序は、候補イメージ要素のランキングに基づく。候補イメージ要素は、ランキング、順序（たとえば、時間的な順序）、その他などに基づいて、シーケンスへと編成されることが可能である。特定の実施形態においては、候補イメージ要素のランキングは、候補イメージ要素がグリッドにおける位置のセットに適合した後に毎回再査定されることが可能である。
【００２５】
イメージは、ユーザ、ユーザの好み、またはその他の要素に対する関連性に従って、候補となるべく選択されること、および／またはランク付けされることが可能である。特定の実施形態においては、イメージは、ソーシャルネットワーキング情報に従って選択されること、および／またはランク付けされることが可能である。ソーシャル・ネットワーキング・システムは、イメージに関するつながり値（connection value）に少なくとも部分的に基づいてそのイメージに関する関連性スコアを特定することができる。限定ではなく、例として、ソーシャル・グラフにおいて閲覧者につながっているユーザ・ノードに関連付けられている、イメージにおいて示されている人々の数が、つながり値に影響を与える場合がある。限定ではなく、例として、ソーシャル・グラフのユーザ・ノードと、閲覧者との間における隔たり度合いが、つながり値に影響を与える場合がある。別の例として、閲覧者と、ソーシャル・グラフ・ユーザのユーザ・ノードとの間におけるつながりのタイプが、つながり値に影響を与える場合がある。限定ではなく、例として、「友達」タイプのつながりは、「職場の同僚」タイプのつながりよりも高いつながり値に関連付けられることが可能である。
【００２６】
ソーシャル・ネットワーキング・システムは、イメージに関する関心値に少なくとも部分的に基づいてそのイメージに関する関連性スコアを特定することができる。関心値は、イメージに割り振られている１つまたは複数のカテゴリーが、閲覧者の関心に関連付けられている１つまたは複数のカテゴリーと一致しているかどうかに少なくとも部分的に基づくことが可能である。関心値は、イメージにおいて示されている人々、ロケーション、オブジェクト、またはアクションに割り振られている１つまたは複数のカテゴリーが、閲覧者の関心に関連付けられている１つまたは複数のカテゴリーと一致しているかどうかに少なくとも部分的に基づくことが可能である。関心値は、イメージに関連付けられているソーシャルネットワーキング情報、サード・パーティ情報、またはメタデータに割り振られている１つまたは複数のカテゴリーが、閲覧者の関心に関連付けられている１つまたは複数のカテゴリーと一致しているかどうかに少なくとも部分的に基づくことが可能である。
【００２７】
限定ではなく、例として、ソーシャル・グラフにおけるオブジェクトは、ユーザもしくはコンセプトのプロフィール、またはそのユーザにつながっているユーザ・ノードに関連付けられている情報を含むことができる。別の例として、アクションは、ユーザ・ノードを友達リストに登録すること／友達リストから削除すること、コンテンツ・オブジェクトに対して「いいね！」を表明すること、サード・パーティのファンになること、ソーシャル・ネットワーキング・システム１６０上のユーザのグループもしくはコミュニティーに参加すること、またはサード・パーティのウェブサイトを訪れることを含むことができる。別の例として、サード・パーティ情報は、サードパーティ・ウェブサイト上でのユーザのアクティビティーまたはユーザによる購入の情報を含むことができる。
【００２８】
関連性スコアの特定については、２０１０年１２月２２日に出願された「関連する通知をユーザのために通知とのユーザ対話に基づいて提供するためのタイミング（Ｔｉｍｉｎｇ  ｆｏｒ  Ｐｒｏｖｉｄｉｎｇ  Ｒｅｌｅｖａｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎｓ  ｆｏｒ  ａ  Ｕｓｅｒ  Ｂａｓｅｄ  ｏｎ  Ｕｓｅｒ  Ｉｎｔｅｒａｃｔｉｏｎ  ｗｉｔｈ  Ｎｏｔｉｆｉｃａｔｉｏｎｓ）」という名称の米国特許出願第１２／９７６，８５９号においてさらに詳細に論じられており、この米国特許出願は、本願明細書に援用されている。
【００２９】
関連性スコアは、上述のような、ソーシャル・グラフのオブジェクトに関するユーザにとってのアフィニティ（affinity）に少なくとも部分的に基づくことが可能である。限定ではなく、例として、過去、現在、または今後のコンテンツに関するアフィニティは、コンテンツ・エンジンの処理モジュールによって、ユーザ・アクティビティー、ソーシャル・グラフのユーザ・ノードのアクティビティ、もしくは関連付けられているつながり、またはそれらの任意の組合せに基づいて特定されることが可能である。アフィニティは、重み付けされたセットの予測関数を使用して計算されることが可能である。予測関数は、ユーザが特定のアクションを実行するかどうかを予測する。予測関数は、任意の数のアクションを予測することができ、それらのアクションは、ソーシャル・ネットワーキング・システムの内部または外部で生じる場合がある。アフィニティを特定して集約および統合されたデータを重み付けする際に、任意のタイプの変数が考慮されることが可能である。アフィニティの度合いの特定および使用については、２００６年８月１１日に出願されて米国特許第７，８２７，２０８号として発行された「ソーシャル・ネットワークのメンバー用にパーソナライズされたストーリのフィードを生成すること（Ｇｅｎｅｒａｔｉｎｇ  ａ  Ｆｅｅｄ  ｏｆ  Ｓｔｏｒｉｅｓ  Ｐｅｒｓｏｎａｌｉｚｅｄ  ｆｏｒ  Ｍｅｍｂｅｒｓ  ｏｆ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋ）」という名称の米国特許出願第１１／５０２，７５７号、２００９年１２月２３日に出願された「関連したソーシャル・ネットワーキング・システム・コンテンツおよび広告の選択および提示（Ｓｅｌｅｃｔｉｏｎ  ａｎｄ  Ｐｒｅｓｅｎｔａｔｉｏｎ  ｏｆ  Ｒｅｌａｔｅｄ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ  Ｃｏｎｔｅｎｔ  ａｎｄ  Ａｄｖｅｒｔｉｓｅｍｅｎｔｓ）」という名称の米国特許出願第１２／６４５，４８１号、２０１１年９月２８日に出願された「ソーシャル・ネットワーキング・システムにおけるソーシャルな対話の即座の推奨（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  ｏｆ  Ｓｏｃｉａｌ  Ｉｎｔｅｒａｃｔｉｏｎｓ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ）」という名称の米国特許出願第１３／２４７，８２５号、２０１０年１２月２２日に出願された「ロケーションおよびソーシャルな情報に基づいてユーザに提供される関連する通知を価格設定すること（Ｐｒｉｃｉｎｇ  Ｒｅｌｅｖａｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎｓ  Ｐｒｏｖｉｄｅｄ  ｔｏ  ａ  Ｕｓｅｒ  Ｂａｓｅｄ  ｏｎ  Ｌｏｃａｔｉｏｎ  ａｎｄ  Ｓｏｃｉａｌ  Ｉｎｆｏｒｍａｔｉｏｎ）」という名称の米国特許出願第１２／９７６，７５５号、２０１０年１２月２３日に出願された「ソーシャル・ネットワーキング・システムにおけるコンテキスト関連アフィニティ予測（Ｃｏｎｔｅｘｔｕａｌｌｙ  Ｒｅｌｅｖａｎｔ  Ａｆｆｉｎｉｔｙ  Ｐｒｅｄｉｃｔｉｏｎ  ｉｎ  ａ  Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｙｓｔｅｍ）」という名称の米国特許出願第１２／９７８，２６５号、ならびに２０１２年１０月１日に出願された「モバイル・デバイス関連のアフィニティの度合い（Ｍｏｂｉｌｅ  Ｄｅｖｉｃｅ���Ｒｅｌａｔｅｄ  Ｍｅａｓｕｒｅｓ  ｏｆ  Ａｆｆｉｎｉｔｙ）」という名称の米国特許出願第１３／６３２，８６９号という米国特許出願においてさらに詳細に説明されており、これらの米国特許出願はすべて、本願明細書に援用されている。
【００３０】
図３Ａ〜図３Ｂは、これらの２つの配置戦略の間における差異を示す例を提供する。特定の実施形態においては、この工程の一環として、配置アルゴリズムは、特定の候補イメージ要素が、占有されていない位置の残っているセットのいずれにも適合することが不可能であると特定した場合には、そのイメージ要素を候補イメージ要素のグループから除去することができる。
【００３１】
工程２６０において、配置アルゴリズムは、位置の適合したセットを、占有されているものとしてマークし、特定の実施形態においては、配置アルゴリズムは、位置の適合したセットを、適合したイメージ要素によって占有されているものとしてマークすることができる。
【００３２】
工程２７０において、（配置アルゴリズムが、イメージ要素がディスプレイ・グリッドにおいて１回現れることしか許可しないケースにおいては）配置アルゴリズムは、適合したイメージ要素を、候補イメージ要素のグループから除去することができる。
【００３３】
工程２８０において、配置アルゴリズムは、残っている候補イメージ要素および占有されていない位置があるかどうかに基づいて、メイン・ループを継続するかどうかを特定する。残っている占有されていない位置がいくらかあるが、残っている候補イメージ要素がない場合には、特定の実施形態は、イメージ要素の完全に満たされたレイアウトを提示できるように、候補イメージ要素のセットを繰り返すことができる。
【００３４】
工程２９０において、ループが完了して、配置アルゴリズムが、可能な最大数の候補イメージ要素を、グリッド位置の占有されていないセットに適合させると、それらのイメージ要素を、グリッドにおける位置に配置されるものとしてレンダリングするためのレイアウト情報が提供される。
【００３５】
特定の実施形態においては、方法２００の工程は、コンピュータ・サーバ上で実行されることが可能であり、そのコンピュータ・サーバは、隣接したイメージ要素のアレイを作成するための単なる情報を送信するか、または隣接したイメージ要素の実際のアレイ（イメージ要素そのものを含む）を送信する。特定の実施形態においては、方法２００の工程は、ユーザのコンピューティング・デバイス上で実行されることが可能である。そのような実施形態においては、ユーザは、シーケンスにおいてイメージを挿入または更新したい場合には、１つまたは複数のイメージ要素を求める要求を１つまたは複数のコンピュータ・サーバへ送信し、それらの１つまたは複数のイメージ要素をシーケンス内に挿入し、隣接したイメージ要素のアレイを再特定することができる。
【００３６】
図３Ａ〜図３Ｂは、イメージ要素のレイアウト上での代替配置ルールの例示的な使用事例を示している。図３Ａおよび図３Ｂの両方においては、確保されている領域１０３を含む同じディスプレイ・グリッドが、位置Ｄ３〜Ｇ６を占有しているものとしてマークされており、候補イメージ要素の同じシーケンスが、ディスプレイ・グリッドにおける位置に配置されるのに利用可能であった。しかしながら、図３Ａに関する配置ルールは、配置アルゴリズムが、シーケンスにおける次のイメージに適合することができる占有されていない位置の第１の最も上の最も左のセットを見つけ出さなければならないことを示し、その一方で、図３Ｂに関する配置ルールは、配置アルゴリズムが、最も上の最も左の占有されていない位置を含む占有されていない位置の可能なセット（possible set）に対応する配置パターンを有する第１の候補イメージ要素を見つけ出さなければならないことを示している。はじめの段階では、２つの異なる配置ルールの間にイメージ・レイアウトにおける差異はないように見えるが、イメージ要素１９５Ａの配置に伴って差異が現れ始める。
【００３７】
図３Ａにおけるレイアウトに関して適用される配置ルールは、シーケンスにおける次のイメージ要素に適合する占有されていない位置のセットを見つけ出すことに焦点を合わせているため、イメージ要素１９５Ａは、イメージ要素１９５Ａに関する配置パターンに対応したグリッドにおける占有されていない位置の第１のセット（Ｇ２およびＨ１〜３）に配置された。その一方で、図３Ｂにおけるレイアウトに関して適用される配置ルールは、特定の占有されていない位置（Ｇ１）を含む占有されていない位置のセットに対応する配置パターンを有するシーケンスにおける第１のイメージ要素を見つけ出すことに焦点を合わせており、イメージ要素１９５Ａの配置パターンは、位置Ｇ１を占有することの可能性を認めず、したがって、イメージ要素１３０Ｂは、Ｇ１およびＧ２を含む占有されていない位置のセットに適合し、その後にイメージ要素１９５Ａは、位置Ｇ７およびＨ６〜８を含む占有されていない位置のセットに適合する。
【００３８】
イメージ要素の配置起点は、そのイメージ要素に関する配置パターンにおける特定の位置の指定であり、この位置は、そのイメージ要素が配置されることになるディスプレイ・グリッドにおけるグリッド位置の特定のセットを識別する際の「先端（leading edge）」である。配置起点は、２つ以上のグリッド位置を含む配置パターンを有するイメージ要素にのみ適用される。
【００３９】
イメージ要素に関する配置起点は、イメージ要素をグリッド内に配置する際に適用される特定の配置ルールに基づいて変わる場合がある。たとえば、配置ルールは、典型的な左から右へ、上から下への英語のレイアウトに従って配置を示す場合がある。この例においては、図１からのイメージ要素１２０（その配置パターンは、２つの水平に隣接したグリッド位置を占有している）の配置起点は、２つのグリッド位置のうちの左のグリッド位置となり、その一方で、図１からのイメージ要素１２５（その配置パターンは、２つの垂直に隣接したグリッド位置を占めている）の配置起点は、２つのグリッド位置のうちの上のグリッド位置となる。しかしながら、典型的な上から下へ、右から左への中国語のテキスト・レイアウトに従って配置を示すために、異なる配置ルールが適用された場合には、イメージ要素１２０（その配置パターンは、２つの水平に隣接したグリッド位置を占有している）の配置起点は、２つのグリッド位置のうちの右のグリッド位置となり、その一方で、イメージ要素１２５（その配置パターンは、２つの垂直に隣接したグリッド位置を占めている）の配置起点は、２つのグリッド位置のうちの上のグリッド位置となる。
【００４０】
特定の実施形態においては、特定のタイプの（またはすべての）イメージ要素に関する配置起点が、（たとえば、構成設定において）示されることが可能である。１つの例示的な使用事例においては、シンプルな配置パターンを伴うイメージ要素、たとえば、イメージ要素１２０（２×１）、またはイメージ要素１２５（１×２）は、配置の方向経路に基づいて自動的に特定される配置起点を有することができ、その一方で、複雑な配置パターンを伴うイメージ要素、たとえば、イメージ要素１４０または１９５に関する配置起点の特定は、構成設定に、またはルールのさらに複雑なセットに基づくことが可能である。
【００４１】
図４Ａ〜図４Ｄは、イメージ要素のレイアウト上で特定のイメージ要素をズームインおよびズームアウトすることの例示的な使用事例を示している。図４Ａにおいては、イメージ要素がディスプレイ・グリッド内に配置されて、レイアウトが表示のためにレンダリングされた後に、ズームインするために（太字で示されている）イメージ要素１９０Ａを選択するユーザ入力が受け取られている。イメージ要素のズーム倍率は、ユーザがズームインするためにそのイメージ要素を選択した場合に、そのイメージ要素のサイズが増大される係数を確立する。イメージ要素１９０Ａのようなシンプルな要素に関しては、ズーム倍率は、ディスプレイ・グリッドの解像度に基づいて事前に特定されることが可能である。たとえば、イメージ要素１９０Ａはもともと、グリッドにおける２つの水平に隣接した位置を２×１の構成（Ｄ３〜Ｄ４）で占めていたが、ズームインされたイメージ要素１９０Ａは、図４Ｂにおいて示されているように、イメージ要素１９０Ａによって占有される位置の数をそれぞれの軸に沿って倍増させることによってズームインされて、以前よりも４倍大きな領域を占めている。イメージ要素のズーム・パターンは、ズームインされた際のそのイメージ要素に関する配置パターンである。図４Ｂにおいて示されている例においては、イメージ要素１９０Ａのズーム・パターンは、８つの隣接したグリッド位置を４×２の構成で含んでいる。
【００４２】
ユーザがズームインするためにイメージ要素１９０Ａを選択した後には、ズームインされたイメージ要素１９０Ａを収容するために特定のイメージ要素があちらこちらで移し替えられる必要が生じることになるという事実を考慮するために、イメージ要素のレイアウトがリフレッシュされなければならない。イメージ要素の全体的なレイアウトを実行する前に、ズームインされたイメージ要素１９０Ａによって占有されることになるグリッド位置が、占有されているものとしてマークされる。しかしながら、イメージ要素１９０Ａのズームインされたバージョンは、元のイメージ要素１９０Ａよりも多くのグリッド位置を占めるため、占有されることになる特定のグリッド位置が、イメージ要素の配置起点に基づいて選択されることが可能である。たとえば、イメージ要素１９０Ａに関する配置起点が、イメージ要素１９０Ａの最も下の最も左の隅をカバーするグリッド位置を含んでいる場合には、配置アルゴリズムは、イメージ要素１９０Ａの最も下の最も左の隅がグリッド位置Ｄ３にとどまるようにイメージ要素１９０Ａをレイアウトすることができる。
【００４３】
図４Ｂにおいて示されている例示的なレイアウトをレンダリングした後に、イメージ要素１８５Ｂ上にズームインするさらなるユーザ入力が受け取られる。図４Ｃにおいて示されているように、イメージ要素１８５Ｂは、「９」というズーム倍率（１×１から３×３）によってズームインされて、イメージ要素１８５Ｂによって占有される位置の数をそれぞれの軸に沿って３倍に増やすことによってズームインされた。（イメージ要素１８５Ｂはもともと、ディスプレイ・グリッドの１つのセルしか占めていなかったので）イメージ要素１８５Ｂは配置起点情報をまったく含んでいなかったため、イメージ要素１８５Ｂのズームインされたバージョンは、イメージ要素１８５Ｂの元のバージョンによって占有されていたグリッド位置（Ｉ２）を中心としている。イメージ要素１９０Ａと同様に、図４Ｃにおいて示されているようなディスプレイ・グリッドへとイメージ要素の全体的なレイアウトを実行する前に、ズームインされたイメージ要素１８５Ｂによって占有されることになるグリッド位置が、占有されているものとしてマークされる。図４Ｄは、イメージ要素１９０Ａからズームアウトするためのユーザ選択を受け取った後の更新されたレイアウトを示している。図４Ａ〜図４Ｄを通して見て取れるように、ズームインされたイメージのロケーションは、元のイメージ要素のロケーション、イメージのズーム倍率、ズーム・パターン、およびいずれかの配置起点情報に基づいて特定されることが可能である。
【００４４】
図５Ａ〜図５Ｂは、イメージ要素のレイアウトをスクロールダウンすることの例示的な使用事例を示している。図５Ａ〜図５Ｂにおけるイメージ要素のレイアウトは、典型的な上から下へ、右から左への中国語のテキスト・レイアウトに従ってイメージ要素の配置を示している。図５Ａ〜図５Ｂにおいて示されている例においては、グリッドは、ディスプレイ・グリッドにおける最も上の最も右の占有されていない位置におけるポイントからスタートして、配置の上から下へ、右から左への経路に対応する配置の方向経路に沿ってイメージ要素で満たされている。配置アルゴリズムは、横軸に沿った右から左への配置よりも、縦軸に沿った上から下への配置を優先することができる。図５Ａ〜図５Ｂは、いくつかの確保されている領域１０４、１０５、および１０６を示している。
【００４５】
図５Ａにおいて示されている表示をスクロールダウンするためのユーザ選択が受け取られた場合には、最も右の最も下の位置に配置されているイメージ要素が、スクロールダウンした後のイメージ要素を示す更新されたグリッドをレイアウトする際のレイアウト始点（layout starting point）として取り扱われることが可能である。レイアウトを実行する前に、図５Ｂにおいて示されている表示の新たなレイアウト始点からスタートして、イメージ要素１３０Ｂに関するグリッド位置が、（更新されたレイアウト用の最良の始点において）選択され、占有されているものとしてマークされる。その後、イメージ要素のレイアウトは、配置ルールに従って通常どおり進行する。
【００４６】
図６は、ソーシャル・ネットワーキング・システムに関連付けられている例示的なネットワーク環境６００を示している。ネットワーク環境６００は、ネットワーク６１０によって互いにつながっているクライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、およびサードパーティ・システム６７０を含む。図６は、クライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、サードパーティ・システム６７０、およびネットワーク６１０の特定の構成を示しているが、本開示は、クライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、サードパーティ・システム６７０、およびネットワーク６１０の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、およびサードパーティ・システム６７０のうちの複数は、ネットワーク６１０を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、およびサードパーティ・システム６７０のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図６は、特定の数のクライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、サードパーティ・システム６７０、およびネットワーク６１０を示しているが、本開示は、任意の適切な数のクライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、サードパーティ・システム６７０、およびネットワーク６１０を想定している。限定ではなく、例として、ネットワーク環境６００は、複数のクライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、サードパーティ・システム６７０、およびネットワーク６１０を含むことができる。
【００４７】
本開示は、任意の適切なネットワーク６１０を想定している。限定ではなく、例として、ネットワーク６１０の１つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイヤレスＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、ワイヤレスＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク６１０は、１つまたは複数のネットワーク６１０を含むことができる。
【００４８】
リンク６５０は、クライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、およびサードパーティ・システム６７０を通信ネットワーク６１０に、または互いに接続することができる。本開示は、任意の適切なリンク６５０を想定している。特定の実施形態においては、１つまたは複数のリンク６５０は、１つもしくは複数の有線リンク（たとえば、デジタル・サブスクライバ・ライン（ＤＳＬ）もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ）など）、ワイヤレス・リンク（たとえば、Ｗｉ−Ｆｉもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）など）、または光リンク（たとえば、同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタル階層（ＳＤＨ）など）を含む。特定の実施形態においては、１つまたは複数のリンク６５０はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク６５０、または複数のそのようなリンク６５０の組合せを含む。リンク６５０は、ネットワーク環境６００の全体を通じて必ずしも同じである必要はない。１つまたは複数の第１のリンク６５０は、１つまたは複数の点において１つまたは複数の第２のリンク６５０とは異なることが可能である。
【００４９】
特定の実施形態においては、クライアント・システム６３０は、クライアント・システム６３０によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム６３０は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、ｅブック・リーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム６３０を想定している。クライアント・システム６３０は、クライアント・システム６３０のネットワーク・ユーザがネットワーク６１０にアクセスすることを可能にすることができる。クライアント・システム６３０は、自分のユーザがその他のクライアント・システム６３０のその他のユーザと通信することを可能にすることができる。
【００５０】
特定の実施形態においては、クライアント６３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ（いずれも登録商標）などのウェブ・ブラウザ６３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲ（登録商標）などのその他の拡張を有することができる。クライアント・システム６３０のユーザは、ウェブ・ブラウザ６３２を特定のサーバ（サーバ６６２、またはサードパーティ・システム６７０に関連付けられているサーバなど）へ導くユニフォーム・リソース・ロケータ（ＵＲＬ）またはその他のアドレスを入力することができ、ウェブ・ブラウザ６３２は、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）要求を生成して、そのＨＴＴＰ要求をサーバに通信することができる。サーバは、そのＨＴＴＰ要求を受け入れて、そのＨＴＴＰ要求に応答して１つまたは複数のハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ファイルをクライアント・システム６３０に通信することができる。クライアント・システム６３０は、ユーザに提示するためにサーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、ＨＴＭＬファイル、拡張可能ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴ（登録商標）  ａｎｄ  ＸＭＬ）などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、（そのウェブページをレンダリングするためにブラウザが使用することができる）１つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
【００５１】
特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャル・ネットワーキング・システム６６０は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャル・ネットワーキング・システム６６０は、ネットワーク環境６００のその他のコンポーネントによって直接、またはネットワーク６１０を介してアクセスされることが可能である。特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、１つまたは複数のサーバ６６２を含むことができる。それぞれのサーバ６６２は、単一のサーバ、または複数のコンピュータもしくは複数のデータ・センターにわたる分散サーバであることが可能である。サーバ６６２は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Ｅｘｃｈａｎｇｅサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ６６２は、サーバ６６２によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、１つまたは複数のデータ・ストア６６４を含むことができる。データ・ストア６６４は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データ・ストア６６４内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア６６４は、リレーショナル・データベース、行のデータベース、相関関係データベース、あるいはその他の適切なデータベースであることが可能である。本開示は特定のタイプのデータベースを記述し、例示するが、本開示においては、任意の適切なタイプのデータベースが考えられる。特定の実施形態は、クライアント・システム６３０、ソーシャル・ネットワーキング・システム６６０、またはサードパーティ・システム６７０が、データ・ストア６６４内に格納されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインターフェースを提供することができる。
【００５２】
特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、１つまたは複数のソーシャル・グラフを１つまたは複数のデータ・ストア６６４内に格納することができる。特定の実施形態においては、ソーシャル・グラフは、複数のノード（複数のユーザ・ノード（それぞれが、特定のユーザに対応している）、または複数のコンセプト・ノード（それぞれが、特定のコンセプトに対応している）を含むことができる）と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャル・ネットワーキング・システム６６０は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャル・ネットワーキング・システム６６０を介してオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャル・ネットワーキング・システム６６０のその他の複数のユーザにつながり（すなわち、関係）を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャル・ネットワーキング・システム６６０を介して、つながり、関連付け、または関係を形成しているソーシャル・ネットワーキング・システム６６０のその他の任意のユーザを指すことができる。
【００５３】
特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、ソーシャル・ネットワーキング・システム６６０によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャル・ネットワーキング・システム６６０のユーザが属することが可能であるグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャル・ネットワーキング・システム６６０において、またはサードパーティ・システム６７０の外部システム（ソーシャル・ネットワーキング・システム６６０とは別個のものであって、ネットワーク６１０を介してソーシャル・ネットワーキング・システム６６０に結合されている）によって表されることが可能である任意のものと対話することができる。
【００５４】
特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャル・ネットワーキング・システム６６０は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム６７０もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース（ＡＰＩ）もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
【００５５】
特定の実施形態においては、サードパーティ・システム６７０は、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、１つもしくは複数のインターフェース（ＡＰＩを含むが、それには限定されない）、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または（たとえば、サーバが通信することができる）その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム６７０は、ソーシャル・ネットワーキング・システム６６０を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０およびサードパーティ・システム６７０は、ソーシャル・ネットワーキング・システム６６０またはサードパーティ・システム６７０のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャル・ネットワーキング・システム６６０は、サードパーティ・システム６７０などのその他のシステムがインターネットを介してソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
【００５６】
特定の実施形態においては、サードパーティ・システム６７０は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの１つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム６３０に通信されることが可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含むことができる。
【００５７】
特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャル・ネットワーキング・システム６６０とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャル・ネットワーキング・システム６６０に付加、アップロード、送信、または「ポスト」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・システム６３０からソーシャル・ネットワーキング・システム６６０へポストを通信する。ポストは、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサード・パーティによってソーシャル・ネットワーキング・システム６６０に付加されることも可能である。
【００５８】
特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可／プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの１つまたは複数を含むことができる。ソーシャル・ネットワーキング・システム６６０は、適切なコンポーネント、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、ユーザ・プロフィールを格納するための１つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、１つまたは複数のカテゴリーに関連した関心を含むことができる。カテゴリーは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね！」を表明した場合には、カテゴリーは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリーであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ（内部および外部の両方）の間におけるユーザ定義のつながりを含むこともできる。ネットワーク６１０を介してソーシャル・ネットワーキング・システム６６０を１つもしくは複数のクライアント・システム６３０または１つもしくは複数のサードパーティ・システム６７０にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャル・ネットワーキング・システム６６０と、１つまたは複数のクライアント・システム６３０との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。ＡＰＩ要求サーバは、サードパーティ・システム６７０が、１つまたは複数のＡＰＩを呼び出すことによってソーシャル・ネットワーキング・システム６６０からの情報にアクセスすることを可能にすることができる。ソーシャル・ネットワーキング・システム６６０の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム６３０に提供することができる。情報は、通知としてクライアント・システム６３０へ押し出されることが可能であり、または情報は、クライアント・システム６３０から受け取られた要求に応答してクライアント・システム６３０から引き出されることが可能である。ソーシャル・ネットワーキング・システム６６０のユーザの１つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを特定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャル・ネットワーキング・システム６６０によって記録されること、またはその他のシステム（たとえば、サードパーティ・システム６７０）と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティ・システム６７０などのサード・パーティから受け取られたコンテンツ・オブジェクトを格納するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム６３０から受け取られたロケーション情報を格納するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
【００５９】
図７は、例示的なソーシャル・グラフ７００を示している。特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、１つまたは複数のソーシャル・グラフ７００を１つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、ソーシャル・グラフ７００は、複数のノード（複数のユーザ・ノード７０２、または複数のコンセプト・ノード７０４を含むことができる）と、ノード同士をつなげる複数のエッジ７０６とを含むことができる。図７において示されている例示的なソーシャル・グラフ７００は、教示上の目的から、２次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０、クライアント・システム６３０、またはサードパーティ・システム６７０は、適切なアプリケーションに関してソーシャル・グラフ７００および関連したソーシャル・グラフ情報にアクセスすることができる。ソーシャル・グラフ７００のノードおよびエッジは、データ・オブジェクトとして、たとえば（ソーシャルグラフ・データベースなどの）データ・ストア内に格納されることが可能である。そのようなデータ・ストアは、ソーシャル・グラフ７００のノードまたはエッジの１つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
【００６０】
特定の実施形態においては、ユーザ・ノード７０２は、ソーシャル・ネットワーキング・システム６６０のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャル・ネットワーキング・システム６６０と、またはソーシャル・ネットワーキング・システム６６０を介して対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション）、または（たとえば、個人もしくはエンティティの）グループであることが可能である。特定の実施形態においては、あるユーザがソーシャル・ネットワーキング・システム６６０とのアカウントに登録した場合には、ソーシャル・ネットワーキング・システム６６０は、そのユーザに対応するユーザ・ノード７０２を作成し、そのユーザ・ノード７０２を１つまたは複数のデータ・ストア内に格納することができる。本明細書において記述されているユーザおよびユーザ・ノード７０２は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード７０２を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード７０２は、適切な場合には、ソーシャル・ネットワーキング・システム６６０に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザ・ノード７０２は、ユーザによって提供された情報、またはソーシャル・ネットワーキング・システム６６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード７０２は、ユーザに関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード７０２は、１つまたは複数のウェブページに対応することができる。
【００６１】
特定の実施形態においては、コンセプト・ノード７０４は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーク・システム６６０に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど）、エンティティ（たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャル・ネットワーキング・システム６６０内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース（たとえば、オーディオ・ファイル、ビデオ・ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメント、もしくはアプリケーションなど）、物的もしくは知的財産（たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など）、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード７０４は、ユーザによって提供されたコンセプトの情報、またはソーシャル・ネットワーキング・システム６６０を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、１つもしくは複数のイメージ（たとえば、本の表紙のイメージ）、ロケーション（たとえば、住所もしくは地理的ロケーション）、（ＵＲＬに関連付けられることが可能である）ウェブサイト、連絡先情報（たとえば、電話番号もしくはＥメール・アドレス）、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード７０４は、コンセプト・ノード７０４に関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード７０４は、１つまたは複数のウェブページに対応することができる。
【００６２】
特定の実施形態においては、ソーシャル・グラフ７００内のノードは、ウェブページ（「プロフィール・ページ」と呼ばれる場合もある）を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャル・ネットワーキング・システム６６０によってホストされること、またはソーシャル・ネットワーキング・システム６６０にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ６７０に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード７０４に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード７０２は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプト・ノード７０４は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、１人または複数のユーザが、特にコンセプト・ノード７０４に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
【００６３】
特定の実施形態においては、コンセプト・ノード７０４は、サードパーティ・システム６７０によってホストされているサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す（たとえば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装されることが可能である）その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティ・ウェブページは、「いいね！」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの１つ（たとえば、「食べる」）を選択することによってアクションを実行して、クライアント・システム６３０に、そのユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム６６０へ送信させることができる。そのメッセージに応答して、ソーシャル・ネットワーキング・システム６６０は、ユーザに対応するユーザ・ノード７０２と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード７０４との間においてエッジ（たとえば、「食べる」エッジ）を作成して、エッジ７０６を１つまたは複数のデータ・ストア内に格納することができる。
【００６４】
特定の実施形態においては、ソーシャル・グラフ７００内の１対のノードが、１つまたは複数のエッジ７０６によって互いにつながることが可能である。１対のノードをつなげるエッジ７０６は、それらの１対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ７０６は、１対のノードの間における関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャル・ネットワーキング・システム６６０は、「友達要求」を第２のユーザに送信することができる。第２のユーザがその「友達要求」を承認した場合には、ソーシャル・ネットワーキング・システム６６０は、ソーシャル・グラフ７００内で第１のユーザのユーザ・ノード７０２を第２のユーザのユーザ・ノード７０２につなげるエッジ２０６を作成して、エッジ７０６をソーシャル・グラフ情報としてデータ・ストア６６４のうちの１つまたは複数の中に格納することができる。図７の例においては、ソーシャル・グラフ７００は、ユーザ「Ａ」のユーザ・ノード７０２と、ユーザ「Ｂ」のユーザ・ノード７０２との間における友達関係を示すエッジ７０６と、ユーザ「Ｃ」のユーザ・ノード７０２と、ユーザ「Ｂ」のユーザ・ノード７０２との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード７０２同士をつなげる特定の属性を伴う特定のエッジ７０６を記述している、または示しているが、本開示は、ユーザ・ノード７０２同士をつなげる任意の適切な属性を伴う任意の適切なエッジ７０６を想定している。限定ではなく、例として、エッジ７０６は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、１つまたは複数のエッジ７０６によってソーシャル・グラフ７００内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。特定の実施形態においては、ユーザ・ノード７０２とコンセプト・ノード７０４との間におけるエッジ７０６は、ユーザ・ノード７０２に関連付けられているユーザによって、コンセプト・ノード７０４に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図７において示されているように、ユーザは、コンセプトに対して「いいね！を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジタイプまたはサブタイプに対応することができる。コンセプト・ノード７０４に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「いいね！」アイコンを含むことができる。別例として、クライアント・システムのソーシャライズされたダッシュは、選択可能な「チェックイン」アイコン（例えば、クリック可能な「チェックイン」アイコンなど）を含む。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャル・ネットワーキング・システム６６０は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ（例えば、ユーザ「Ｃ」）が、特定のアプリケーション（例えば、オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の曲（例えば「ランブル・オン」）を聴く場合がある。このケースにおいては、ソーシャル・ネットワーキング・システム６６０は、そのユーザに対応するユーザ・ノード７０２と、その曲およびアプリケーションに対応するコンセプト・ノード７０４との間において、（図７に示されているような）「聴いた」エッジ７０６および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示すことができる。その上、ソーシャル・ネットワーキング・システム６６０は、その曲に対応するコンセプト・ノード２０４と、そのアプリケーションに対応するコンセプト・ノード７０４との間において、（図７に示されているような）「再生した」エッジ７０６を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示すことができる。このケースにおいては、「再生した」エッジ７０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオ・ファイル（「イマジン」という曲）に関して実行されたアクションに対応する。本開示は、ユーザ・ノード７０２とコンセプト・ノード７０４とをつなげる特定の属性を伴う特定のエッジ７０６について記述しているが、本開示は、ユーザ・ノード７０２とコンセプト・ノード７０４とをつなげる任意の適切な属性を伴う任意の適切なエッジ７０６を想定している。その上、本開示は、単一の関係を表すユーザ・ノード７０２とコンセプト・ノード７０４との間におけるエッジについて記述しているが、本開示は、１つまたは複数の関係を表すユーザ・ノード７０２とコンセプト・ノード７０４との間におけるエッジを想定している。限定ではなく、例として、エッジ７０６は、ユーザが特定のコンセプトに対して「いいね！」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表すことができる。あるいは、別のエッジ７０６は、（図７において、ユーザ「Ｅ」を表すユーザ・ノード７０２と、「ＳＰＯＴＩＦＹ」を表すコンセプト・ノード７０４との間において示されているような）ユーザ・ノード７０２とコンセプト・ノード７０４との間におけるそれぞれのタイプの関係（または、単一の関係が複数集まったもの）を表すことができる。
【００６５】
特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、ソーシャル・グラフ７００内でユーザ・ノード７０２とコンセプト・ノード７０４との間においてエッジ７０６を作成することができる。限定ではなく、例として、（たとえば、ユーザのクライアント・システム６３０によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって）コンセプトプロフィール・ページを閲覧しているユーザは、「いいね！」アイコンをクリックまたは選択することにより、コンセプト・ノード７０４によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね！」アイコンをクリックまたは選択することは、ユーザのクライアント・システム６３０に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャル・ネットワーキング・システム６６０へ送信させることができる。そのメッセージに応答して、ソーシャル・ネットワーキング・システム６６０は、そのユーザとコンセプト・ノード７０４との間における「いいね！」エッジ７０６によって示されているように、そのユーザに関連付けられているユーザ・ノード７０２とコンセプト・ノード７０４との間においてエッジ７０６を作成することができる。特定の実施形態においては、ソーシャル・ネットワーキング・システム６６０は、エッジ７０６を１つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、エッジ７０６は、特定のユーザ・アクションに応答してソーシャル・ネットワーキング・システム６６０によって自動的に形成されることが可能である。限定ではなく、例として、第１のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ７０６は、第１のユーザに対応するユーザ・ノード７０２と、それらのコンセプトに対応するコンセプト・ノード７０４との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ７０６を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ７０６を形成することを想定している。
【００６６】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、互いについて様々なソーシャルグラフ・エンティティのソーシャル・グラフ・アフィニティ（本明細書では「アフィニティ（affinity）」と呼ばれる）を決定してよい。アフィニティは、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはそれらの任意の適切な組み合わせなど、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間における関係の強さまたは関心のレベルを表すことができる。また、アフィニティは、サードパーティ・システム６７０または他の適切なシステムに関連付けられているオブジェクトに関して決定されてもよい。各ユーザ、主題、またはコンテンツのタイプについて、ソーシャルグラフ・エンティティに対する総合アフィニティが確立されてもよい。総合アフィニティは、ソーシャルグラフ・エンティティに関連付けられているアクションまたは関係の継続的なモニタリングに基づき、変化し得る。本開示では特定の方式による特定のアフィニティの決定について記載するが、本開示では任意の適切な方式による任意の適切なアフィニティの決定が想定される。
【００６７】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、アフィニティ係数（本明細書では「係数」と呼ばれる）を用いてソーシャル・グラフ・アフィニティを測定または定量してよい。この係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さを表してよい、または定量してよい。また、この係数は、ユーザが特定のアクションを行う予測される確率を測定する確率または関数を表してもよく、この確率または関数は、そのアクションについてのそのユーザの関心に基づく。このようにして、ユーザの将来のアクションは、ユーザの以前のアクションに基づいて予測されることができ、その係数は少なくとも部分的にはユーザのアクションの履歴により計算され得る。係数は、オンライン・ソーシャル・ネットワークの内外の任意の数のアクションを予測するために用いられてよい。限定ではなく一例として、これらのアクションは、メッセージの送信、コンテンツのポスト、またはコンテンツに対するコメントなど、様々なタイプの通信、プロフィール・ページ、メディア、または他の適切なコンテンツのアクセスまたは閲覧など、様々なタイプの観察アクション、同じグループにある、同じ写真にタグ付けされる、同じロケーションにおいてチェックインされる、もしくは同じイベントに出席する、または他の適切なアクションなど、２つ以上のソーシャルグラフ・エンティティに関する様々なタイプの同時発生情報、または他の適切なアクションを含んでよい。本開示では特定の方式による特定のアフィニティの測定について記載するが、本開示では任意の適切な方式によるアフィニティの測定が想定される。
【００６８】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、係数を計算するために様々な因子を用いてよい。これらの因子は、例えば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはそれらの任意の組み合わせを含んでよい。特定の実施形態では、係数を計算するとき、様々な因子に異なる重み付けを行ってもよい。各因子の重みは静的であってもよく、例えば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどによって変化してもよい。因子のための格付け、そのユーザに対する総合的な係数を決定するべく、それらの重みにしたがって組み合わせられてもよい。限定ではなく一例として、特定のユーザ・アクションには格付けおよび重みの両方が割り当てられる一方、その特定のユーザ・アクションに関連付けられている関係には、格付けと相互に関連する重みとが割り当てられる（例えば、したがって重みが計１００％になる）。特定のオブジェクトに対するユーザの係数を計算するために、そのユーザのアクションに割り当てられた格付けが、例えば、総合的な係数の６０％を含む一方、そのユーザとそのオブジェクトとの間の関係は、総合的な係数の４０％を含んでもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、係数を計算するために用いられる様々な因子の重みを決定するときに、例えば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報に対する関係またはそれに関する情報がアクセスされたオブジェクトに対する関係、オブジェクトに接続されたソーシャルグラフ・エンティティに対する関係、ユーザ・アクションの短期的または長期的な平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組み合わせなど、様々な変数を考慮してもよい。限定ではなく一例として、係数は、係数を計算するとき、より最近のアクションがより関連性を有するように、特定のアクションによって提供される信号の強さを時間とともに減衰させる減衰因子を含んでもよい。格付けおよび重みは、その係数が基づくアクションの継続的なトラッキングに基づいて、継続的に更新されてもよい。任意のタイプのプロセスまたはアルゴリズムが、各因子およびそれらの因子に割り当てられる重みの格付けの割当、結合、平均化などに用いられてよい。特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、履歴のアクションおよび過去のユーザ応答、またはデータを様々なオプションに晒し応答を測定することによってユーザから集められたデータに基づきトレーニングされた機械学習アルゴリズムを用いて、係数を決定してもよい。本開示では特定の方式による特定の係数の計算について記載するが、本開示では任意の適切な方式による係数の計算が想定される。
【００６９】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、ユーザのアクションに基づき係数を計算してもよい。ソーシャル・ネットワーキング・システム６６０は、オンライン・ソーシャル・ネットワーク上、サードパーティ・システム６７０上、他の適切なシステム上、またはそれらの任意の組み合わせ上において、そのようなアクションを監視してよい。任意の適切なタイプのユーザ・アクションのトラッキングまたは監視が行われてよい。典型的なユーザ・アクションには、プロフィール・ページを閲覧すること、コンテンツを作成またはポストすること、コンテンツと対話すること、グループに参加すること、イベントへの参加をリストまたは確認すること、ロケーションにチェックインすること、特定のページに「いいね」と表明すること、ページを作成すること、およびソーシャル・アクションを行う他のタスクを実行することが含まれる。特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、特定のタイプのコンテンツを有するユーザのアクションに基づき、係数を計算してよい。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム６７０、または別の適切なシステムに関連付けられてよい。コンテンツは、ユーザ、プロフィール・ページ、ポスト、ニュース・ストーリ、ヘッドライン、インスタント・メッセージ、チャット・ルーム会話、電子メール、広告、写真、動画、音楽、他の適切なオブジェクト、またはそれらの任意の組み合わせを含んでよい。ソーシャル・ネットワーキング・システム６６０は、ユーザのアクションを、そのアクションのうちの１つ以上が主題、コンテンツ、他のユーザなどに対するアフィニティを示すか否かを判定するために分析してよい。限定ではなく一例として、ユーザが、「コーヒー」またはその変形に関係するコンテンツを頻繁にポストする場合、ソーシャル・ネットワーキング・システム６６０は、ユーザがコンセプト「コーヒー」に関して高い係数を有すると決定してもよい。特定のアクションまたはアクションのタイプは、他のアクションよりも大きな重み、より高い格付け、またはその両方を割り当てられ、これが総合的な計算された係数に影響を与えてもよい。限定ではなく一例として、第１のユーザが第２のユーザに電子メールを送る場合、そのアクションに対する重みまたは格付けは、第１のユーザが単に第２のユーザのユーザ・プロファイル・ページを閲覧する場合よりも高くてもよい。
【００７０】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、特定のオブジェクトの間の関係のタイプに基づき係数を計算してもよい。ソーシャル・グラフ７００を参照すると、ソーシャル・ネットワーキング・システム６６０は、係数を計算するとき、特定のユーザ・ノード７０２およびコンセプト・ノード７０４を接続するエッジ７０６の数および／またはタイプを分析してもよい。限定ではなく一例として、配偶者タイプのエッジ（２人のユーザが結婚していることを表す）によって接続されているユーザ・ノード７０２は、友達タイプのエッジによって接続されているユーザ・ノード７０２より高い係数を割り当てられてもよい。換言すれば、特定のユーザのアクション及び関係に割り当てられた重みに応じて、総合アフィニティは、ユーザの友達に関するコンテンツに対するよりもユーザの配偶者に関するコンテンツに対してより高くなるように決定されてもよい。特定の実施形態では、ユーザが別のオブジェクトと有する関係は、そのオブジェクトについての係数の計算に関して重みおよび／またはユーザのアクションの格付けに影響を与えてもよい。限定ではなく一例として、ユーザが第１の写真にタグ付けされているが、第２の写真にいいねと表明しかしない場合、コンテンツに対してタグ付けタイプの関係を有することにはコンテンツに対していいねタイプの関係を有するよりも高い重みおよび／または格付けが割り当てられることから、ソーシャル・ネットワーキング・システム１６０は、ユーザが第２の写真より第１の写真に関して高い係数を有すると決定してもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、１以上の第２のユーザが特定のオブジェクトに対して有する関係に基づき、第１のユーザのための係数を計算してもよい。換言すれば、他のユーザがオブジェクトに対して有する接続および係数は、そのオブジェクトに対する第１のユーザの係数に影響を与えてもよい。限定ではなく一例として、第１のユーザが１以上の第２のユーザに接続されるか、１以上の第２のユーザに対する高い係数を有し、それらの第２のユーザが特定のオブジェクトに接続されるか、特定のオブジェクトに対する高い係数を有する場合、ソーシャル・ネットワーキング・システム６６０は、その特定のオブジェクトに対して第１のユーザが比較的高い係数を有するべきであると決定してもよい。特定の実施形態では、係数は特定のオブジェクト間の隔たりの程度に基づいてもよい。係数が低いほど、ソーシャル・グラフ７００において第１のユーザに間接的に接続されているユーザのコンテンツ・オブジェクトへの関心を第１のユーザが共有する見込みが減少することを表してもよい。限定ではなく一例として、ソーシャル・グラフ７００においてより近くにある（すなわち、より隔たりの程度が小さい）ソーシャルグラフ・エンティティ同士は、ソーシャル・グラフ７００においてより遠くにあるエンティティ同士よりも高い係数を有してもよい。
【００７１】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、ロケーション情報に基づき係数を計算してもよい。互いに地理的に近くにあるオブジェクト同士は、より離れたオブジェクト同士よりも、より関連している、または互いにより高い関心を有すると考えられてよい。特定の実施形態では、特定のオブジェクトに対するユーザの係数は、そのユーザに関連付けられている現在のロケーション（またはそのユーザのクライアント・システム６３０のロケーション）に対するそのオブジェクトのロケーションの近接度に基づいてもよい。第１のユーザは、第１のユーザのより近くにある他のユーザまたはコンセプトに、より高い関心を有し得る。限定ではなく一例として、ユーザが空港から１マイル（約１．６ｋｍ）に位置し、ガソリン・スタンドから２マイル（約３．２ｋｍ）に位置する場合、ソーシャル・ネットワーキング・システム６６０は、そのユーザに対する空港の近接度に基づき、ユーザがガソリン・スタンドよりも空港に対しより高い係数を有すると決定してもよい。
【００７２】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、係数情報に基づきユーザに関する特定のアクションを行ってもよい。係数を用いて、ユーザが特定のアクションを行うか否かを、そのアクションについてのそのユーザの関心に基づき予測することができる。係数は、広告、検索結果、ニュース・ストーリ、メディア、メッセージ、通知、または他の適切なオブジェクトなど、ユーザに対する任意のタイプのオブジェクトを生成または提示するときに用いられてよい。また、適切な場合、係数は、そのようなオブジェクトのランクおよび順序を決定するためにも利用されて得る。このように、ソーシャル・ネットワーキング・システム６６０は、ユーザの関心および現在の状況に関連する情報を提供してもよく、それによって、それらがそのような関心を有する情報を見出す見込みを高める。特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、係数情報に基づきコンテンツを生成してもよい。コンテンツ・オブジェクトは、ユーザに特有の係数に基づき提供または選択されてもよい。限定ではなく一例として、係数はユーザに対するメディアを生成するために用いられてもよく、ユーザには、そのメディア・オブジェクトに関してそのユーザが高い総合係数を有するメディアが、提示される。限定ではなく別の一例として、限定ではなく一例として、係数はユーザに対する広告を生成するために用いられてもよく、ユーザには、その広告オブジェクトに関してそのユーザが高い総合係数を有する広告が、提示される。特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、係数情報に基づき検索結果を生成してもよい。特定のユーザのための検索結果は、問い合わせを行うユーザに関して検索結果に関連付けられている係数に基づき、得点またはランクを決定されてよい。限定ではなく一例として、より高い係数を有するオブジェクトに対応する検索結果は、より低い係数を有するオブジェクトに対応する結果よりも、検索結果のページにおいて、より高いランクを決定されてもよい。
【００７３】
特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、特定のシステムまたはプロセスからの係数の要求に応じて、係数を計算してもよい。ユーザが所与の状況において取り得る（あるいは対象となる）可能性の高いアクションを予測するために、任意のプロセスによって、ユーザの計算された係数が要求されてよい。また、この要求は、係数を計算するために用いられる様々な因子に用いる１組の重みを含んでもよい。この要求は、オンライン・ソーシャル・ネットワーク上で動作するプロセスから、サードパーティ・システム６７０から（例えば、ＡＰＩまたは他の通信チャンネルを介して）、または別の適切なシステムから届いてよい。要求に応じて、ソーシャル・ネットワーキング・システム６６０は、係数を計算してよい（または、係数が以前に計算され記憶されている場合、その係数情報にアクセスしてよい）。特定の実施形態では、ソーシャル・ネットワーキング・システム６６０は、特定のプロセスに関するアフィニティを測定してもよい。様々なプロセス（オンライン・ソーシャル・ネットワークに対して内外の両方）は、特定の１つのオブジェクトまたは複数のオブジェクトからなる組に対する係数を要求してもよい。ソーシャル・ネットワーキング・システム６６０は、アフィニティの尺度を要求した特定のプロセスに関連するアフィニティの尺度を提供してもよい。このように、各プロセスは、プロセスがアフィニティの尺度を用いる様々なコンテキストに適合するアフィニティの尺度を受信する。
【００７４】
ソーシャル・グラフ・アフィニティおよびアフィニティ係数に関して、特定の実施形態では、米国特許出願第１１／５０３０９３号（２００６年８月１１日提出）、米国特許出願第１２／９７７０２７号（２０１０年１２月２２日提出）、米国特許出願第１２／９７８２６５号（２０１０年１２月２３日受信）、および米国特許出願第１３／６３２８６９号、において開示されている１以上のシステム、構成要素、要素、機能、方法、動作、または工程を利用してよい。それらの文献の各々を引用によって本明細書に援用する。
【００７５】
図８は、例示的なコンピュータ・システム８００を示す。特定の実施形態では、１または複数のコンピュータ・システム８００は、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施する。特定の実施形態では、１または複数のコンピュータ・システム８００は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、１または複数のコンピュータ・システム８００上で動作するソフトウェアは、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、１または複数のコンピュータ・システム８００の１または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、１または複数のコンピュータ・システムを包含してもよい。
【００７６】
この開示は、任意の好適な数のコンピュータ・システム８００を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム８００を企図する。限定するものとしてではなく一例として、コンピュータ・システム８００は、組込みコンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータ・オン・モジュール（ＣＯＭ）またはシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、移動体電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらの２以上の組合せであってよい。適切な場合、コンピュータ・システム８００は、１または複数のコンピュータ・システム８００を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータ・センターに跨ってもよく、クラウド内にあってもよく、クラウドは、１または複数のネットワーク内で１または複数のクラウド・コンポーネントを含んでもよい。適切な場合、１または複数のコンピュータ・システム８００は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。限定するものとしてではなく一例として、１つまたは複数のコンピュータ・システム８００は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。１または複数のコンピュータ・システム８００は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている１または複数の方法の１または複数のステップを実施してもよい。
【００７７】
特定の実施形態では、コンピュータ・システム８００は、プロセッサ８０２、メモリ８０４、ストレージ８０６、入力／出力（Ｉ／Ｏ）インターフェース８０８、通信インターフェース８１０、およびバス８１２を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
【００７８】
特定の実施形態では、プロセッサ８０２は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ８０２は、内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６から命令を取り出し（またはフェッチし）、それらを復号および実行し、次いで、１または複数の結果を内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６に書き込む。特定の実施形態では、プロセッサ８０２は、データ、命令、またはアドレス用に１または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ８０２を企図する。限定するものとしてではなく一例として、プロセッサ８０２は、１または複数の命令キャッシュ、１または複数のデータ・キャッシュ、および１または複数の変換索引バッファ（ＴＬＢ）を含んでもよい。命令キャッシュ内の命令は、メモリ８０４またはストレージ８０６内の命令のコピーであってもよく、命令キャッシュは、プロセッサ８０２によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ８０２にて実行される命令が操作するための、メモリ８０４またはストレージ８０６内のデータのコピー、プロセッサ８０２で実行される後続の命令によるアクセスのための、またはメモリ８０４もしくはストレージ８０６に書き込むための、プロセッサ８０２で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ８０２による読出しまたは書込み動作を高速化する。ＴＬＢは、プロセッサ８０２のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ８０２は、データ、命令、またはアドレス用に１または複数の内部レジスタを含む。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ８０２を企図する。適切な場合、プロセッサ８０２は、１または複数の算術論理演算ユニット（ＡＬＵ）を含むことができ、マルチコア・プロセッサであってもよく、１または複数のプロセッサ８０２を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
【００７９】
特定の実施形態では、メモリ８０４は、プロセッサ８０２が実行するための命令、またはプロセッサ８０２が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム８００は、ストレージ８０６または別のソース（たとえば、別のコンピュータ・システム８００など）からメモリ８０４に命令をロードする。次いで、プロセッサ８０２は、メモリ８０４から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ８０２は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ８０２は、１または複数の結果（中間結果であることも最終結果であることもある）を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ８０２は、それらの結果の１または複数をメモリ８０４に書き込む。特定の実施形態では、プロセッサ８０２は、１もしくは複数の内部レジスタもしくは内部キャッシュ内、または（ストレージ８０６もしくは他の場所ではなく）メモリ８０４内の命令だけを実行し、１もしくは複数の内部レジスタもしくは内部キャッシュ内、または（ストレージ８０６もしくは他の場所ではなく）メモリ８０４内のデータだけを操作する。１または複数のメモリ・バス（それぞれがアドレス・バスとデータ・バスを含むことがある）がプロセッサ８０２をメモリ８０４に結合してもよい。バス８１２は、下記に記載されているように、１または複数のメモリ・バスを含んでもよい。特定の実施形態では、１または複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ８０２とメモリ８０４との間に存在し、プロセッサ８０２によって要求されるメモリ８０４へのアクセスを容易にする。特定の実施形態では、メモリ８０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合、揮発性メモリであり得る。適切な場合、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であってよい。さらに、適切な場合、このＲＡＭは、シングルポート型またはマルチポート型ＲＡＭであってよい。この開示は、任意の好適なＲＡＭを企図する。メモリ８０４は、適切な場合、１または複数のメモリ８０４を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
【００８０】
特定の実施形態では、ストレージ８０６は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ８０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらの２以上の組合せを含んでもよい。ストレージ８０６は、適切な場合、取外し式または非取外し式（または固定）媒体を含んでもよい。ストレージ８０６は、適切な場合、コンピュータ・システム８００に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ８０６は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ８０６は、読出し専用メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクプログラムドＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書き換え可能ＲＯＭ（ＥＡＲＯＭ）、もしくはフラッシュ・メモリ、またはこれらの２以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ８０６を企図する。ストレージ８０６は、適切な場合、プロセッサ８０２とストレージ８０６の間の通信を容易にする１または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ８０６は、１または複数のストレージ８０６を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
【００８１】
特定の実施形態では、Ｉ／Ｏインターフェース８０８は、コンピュータ・システム８００と１または複数のＩ／Ｏデバイスとの間の通信のために１または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム８００は、適切な場合、これらのＩ／Ｏデバイスの１または複数を含んでもよい。これらのＩ／Ｏデバイスの１または複数は、人とコンピュータ・システム８００の間の通信を可能にする。限定するものとしてではなく一例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なＩ／Ｏデバイス、またはこれらの２以上の組合せを含んでもよい。Ｉ／Ｏデバイスは、１または複数のセンサを含んでもよい。この開示は、任意の好適なＩ／Ｏデバイス、およびそれらのための任意の好適なＩ／Ｏインターフェース８０８を企図する。適切な場合、Ｉ／Ｏインターフェース８０８は、プロセッサ８０２がこれらのＩ／Ｏデバイスの１または複数を駆動することを可能にする１または複数のデバイスまたはソフトウェア・ドライバを含む。Ｉ／Ｏインターフェース８０８は、適切な場合、１または複数のＩ／Ｏインターフェース８０８を含んでもよい。この開示は、特定のＩ／Ｏインターフェースについて記載し示しているが、この開示は、任意の好適なＩ／Ｏインターフェースを企図する。
【００８２】
特定の実施形態では、通信インターフェース８１０は、コンピュータ・システム８００と１もしくは複数の他のコンピュータ・システム８００または１もしくは複数のネットワークとの間の通信（たとえば、パケットベースの通信など）のために１または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース８１０は、ＥＴＨＥＲＮＥＴ（登録商標）もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなど無線ネットワークとの通信のための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース８１０を企図する。限定するものとしてではなく一例として、コンピュータ・システム８００は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１もしくは複数の部分、あるいはこれらの２以上の組合せと通信する。これらのネットワークの１または複数のうちの１または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム８００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ＢＬＵＥＴＯＯＴＨ（登録商標）ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、携帯電話ネットワーク（たとえば、グローバル移動体通信システム（ＧＳＭ（登録商標））ネットワークなど）、もしくは他の好適な無線ネットワーク、またはこれらの２以上の組合せと通信する。コンピュータ・システム８００は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース８１０を含んでもよい。通信インターフェース８１０は、適切な場合、１または複数の通信インターフェース８１０を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
【００８３】
特定の実施形態では、バス８１２は、コンピュータ・システム８００の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス８１２は、アクセラレィティッド・グラフィックス・ポート（ＡＧＰ）もしくは他のグラフィックス・バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、フロントサイド・バス（ＦＳＢ）、ＨＴ（ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ）相互接続、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、インフィニバンド相互接続、ＬＰＣ（ｌｏｗ−ｐｉｎ−ｃｏｕｎｔ）バス、メモリ・バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、ＳＡＴＡ（ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）バス、ＶＬＢ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ）バス、もしくは別の好適なバス、またはこれらの２以上の組合せを含んでもよい。バス８１２は、適切な場合、１または複数のバス８１２を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
【００８４】
本明細書では、１または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、１または複数の半導体ベースの、もしくは他の集積回路（ＩＣ）（たとえば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ））、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの２以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【００８５】
本明細書では、「または（もしくは）」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的（ｉｎｃｌｕｓｉｖｅ）であり、排他的なものではない。したがって、本明細書では、「ＡまたはＢ」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「Ａ、Ｂ、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「ＡおよびＢ」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「ＡおよびＢを共同で、または個別的に」意味する。
【００８６】
この開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。
【図１】
2019096352.tif 000003
【図２】
2019096352.tif 000004
【図３Ａ】
2019096352.tif 000005
【図３Ｂ】
2019096352.tif 000006
【図４Ａ】
2019096352.tif 000007
【図４Ｂ】
2019096352.tif 000008
【図４Ｃ】
2019096352.tif 000009
【図４Ｄ】
2019096352.tif 000010
【図５Ａ】
2019096352.tif 000011
【図５Ｂ】
2019096352.tif 000012
【図６】
2019096352.tif 000013
【図７】
2019096352.tif 000014
【図８】
2019096352.tif 000015