特許第6062604号(P6062604)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フェイスブック,インク.の特許一覧

<>
  • 特許6062604-画像レイアウトの決定 図000006
  • 特許6062604-画像レイアウトの決定 図000007
  • 特許6062604-画像レイアウトの決定 図000008
  • 特許6062604-画像レイアウトの決定 図000009
  • 特許6062604-画像レイアウトの決定 図000010
  • 特許6062604-画像レイアウトの決定 図000011
  • 特許6062604-画像レイアウトの決定 図000012
  • 特許6062604-画像レイアウトの決定 図000013
  • 特許6062604-画像レイアウトの決定 図000014
  • 特許6062604-画像レイアウトの決定 図000015
  • 特許6062604-画像レイアウトの決定 図000016
  • 特許6062604-画像レイアウトの決定 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6062604
(24)【登録日】2016年12月22日
(45)【発行日】2017年1月18日
(54)【発明の名称】画像レイアウトの決定
(51)【国際特許分類】
   G06F 17/30 20060101AFI20170106BHJP
【FI】
   G06F17/30 419B
   G06F17/30 210D
   G06F17/30 170Z
【請求項の数】20
【全頁数】32
(21)【出願番号】特願2016-519566(P2016-519566)
(86)(22)【出願日】2014年6月9日
(65)【公表番号】特表2016-524243(P2016-524243A)
(43)【公表日】2016年8月12日
(86)【国際出願番号】US2014041457
(87)【国際公開番号】WO2014200879
(87)【国際公開日】20141218
【審査請求日】2016年6月17日
(31)【優先権主張番号】13/915,335
(32)【優先日】2013年6月11日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】シェドー、クリストファー セルジュ バンジャマン
【審査官】 田中 秀樹
(56)【参考文献】
【文献】 国際公開第2012/112780(WO,A1)
【文献】 米国特許出願公開第2008/0256439(US,A1)
【文献】 特表2014−506701(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
コンピューティング・デバイスが、1つの順序付けられたシーケンスを有する複数の画像要素にアクセスする工程と、
前記コンピューティング・デバイスが、前記画像要素の複数のクラスタを決定する工程であって、前記クラスタの各々は1つの線に配置された前記複数の画像要素のうちの1つ以上を含み、各クラスタ内の前記複数の画像要素は、その元のアスペクト比を保持しつつ実質的に同じ第1の寸法を有するようにスケーリングされるとともに、前記順序付けられたシーケンスを維持するように配置されており、前記クラスタの各々は実質的に同じ第2の寸法を有する、工程と、
前記コンピューティング・デバイスが、前記クラスタの各々についてのコストを決定する工程であって、1つのクラスタについての前記コストは、少なくとも部分的にはそのクラスタ内の各画像要素についてのコストの合計に基づき、前記クラスタ内の特定の画像要素についての前記コストは、少なくとも部分的にはソーシャル・ネットワーキング・システムのソーシャル・グラフにおけるユーザ・ノードとソーシャル・グラフの別のノードとの間の親和性係数に基づき、前記ユーザ・ノードは前記画像要素が表示されるユーザを表し、ソーシャル・グラフの前記別のノードは、前記特定の画像要素に関連付けられているコンセプトまたは別のユーザに関連付けられており、前記親和性係数は、少なくとも部分的には前記ユーザと前記コンセプトまたは前記別のユーザとの間の関係の強さに基づき、前記親和性係数は、前記親和性係数を時間とともに減衰させる減衰因子を含む、工程と、
前記コンピューティング・デバイスが、前記順序付けられたシーケンスを維持する前記クラスタに基づきグラフにアクセスする工程であって、前記グラフは複数の経路を含み、前記経路は各々、前記画像要素のレイアウトを表すとともに、前記経路に沿った前記クラスタのコストに基づく総コストを有する、グラフアクセス工程と、
前記コンピューティング・デバイスが、前記レイアウトのうちの好適な1つを決定するために最低の総コストを有する経路を識別する最低総コスト経路識別工程と、を備える方法。
【請求項2】
前記線は水平に配向させられており、
前記第1の寸法は各クラスタの前記画像要素の高さであり、
前記第2の寸法は前記クラスタの幅である、請求項1に記載の方法。
【請求項3】
前記線は垂直に配向させられており、
前記第1の寸法は各クラスタの前記画像要素の幅であり、
前記第2の寸法は前記クラスタの高さである、請求項1に記載の方法。
【請求項4】
前記コンピューティング・デバイスが、前記レイアウトのうちの好適な前記1つによる表示用に前記画像要素を提供する工程をさらに備える、請求項1に記載の方法。
【請求項5】
前記コンピューティング・デバイスが、一定の基準を満たさない1以上のクラスタを有する経路を前記複数の経路から除去する工程をさらに備える、請求項1に記載の方法。
【請求項6】
前記グラフにおけるノードは画像要素のクラスタを表し、
前記グラフにおけるエッジは画像要素間の改行を表す、請求項1に記載の方法。
【請求項7】
前記グラフにおけるノードは画像要素間の改行を表し、
前記グラフにおけるエッジは画像要素のクラスタを表す、請求項1に記載の方法。
【請求項8】
前記クラスタの各々についての前記コストは、少なくとも部分的には各クラスタの高さと目標の高との間の差にさらに基づく、請求項1に記載の方法。
【請求項9】
前記最低総コスト経路識別工程は、ダイクストラ法に基づきグラフを辿る工程を含む、請求項1に記載の方法。
【請求項10】
前記グラフは非巡回グラフである、請求項1に記載の方法。
【請求項11】
前記グラフアクセス工程は、前記グラフを構築する工程を含む、請求項1に記載の方法。
【請求項12】
ソフトウェアを具現する1以上の非一時的なコンピュータ可読記憶媒体であって、前記ソフトウェアは実行時、
1つの順序付けられたシーケンスを有する複数の画像要素にアクセスする工程と、
前記画像要素の複数のクラスタを決定する工程であって、前記クラスタの各々は1つの線に配置された前記複数の画像要素のうちの1つ以上を含み、各クラスタ内の前記複数の画像要素は、その元のアスペクト比を保持しつつ実質的に同じ第1の寸法を有するようにスケーリングされるとともに、前記順序付けられたシーケンスを維持するように配置されており、前記クラスタの各々は実質的に同じ第2の寸法を有する、工程と、
前記クラスタの各々についてのコストを決定する工程であって、1つのクラスタについての前記コストは、少なくとも部分的にはそのクラスタ内の各画像要素についてのコストの合計に基づき、前記クラスタ内の特定の画像要素についての前記コストは、少なくとも部分的にはソーシャル・ネットワーキング・システムのソーシャル・グラフにおけるユーザ・ノードとソーシャル・グラフの別のノードとの間の親和性係数に基づき、前記ユーザ・ノードは前記画像要素が表示されるユーザを表し、ソーシャル・グラフの前記別のノードは、前記特定の画像要素に関連付けられているコンセプトまたは別のユーザに関連付けられており、前記親和性係数は、少なくとも部分的には前記ユーザと前記コンセプトまたは前記別のユーザとの間の関係の強さに基づき、前記親和性係数は、前記親和性係数を時間とともに減衰させる減衰因子を含む、工程と、
前記順序付けられたシーケンスを維持する前記クラスタに基づきグラフにアクセスする工程であって、前記グラフは複数の経路を含み、前記経路は各々、前記画像要素のレイアウトを表すとともに、前記経路に沿った前記クラスタのコストに基づく総コストを有する、工程と、
前記レイアウトのうちの好適な1つを決定するために最低の総コストを有する経路を識別する最低総コスト経路識別工程と、を行うように構成されている、1以上の非一時的なコンピュータ可読記憶媒体。
【請求項13】
前記線は水平に配向させられており、
前記第1の寸法は各クラスタの前記画像要素の高さであり、
前記第2の寸法は前記クラスタの幅である、請求項12に記載の1以上の非一時的なコンピュータ可読記憶媒体。
【請求項14】
前記ソフトウェアは、実行時、一定の基準を満たさない1以上のクラスタを有する経路を前記複数の経路から除去する工程を行うようにさらに構成されている、請求項12に記載の1以上の非一時的なコンピュータ可読記憶媒体。
【請求項15】
前記クラスタの各々についての前記コストは、少なくとも部分的には各クラスタの高さと目標の高との間の差にさらに基づく、請求項12に記載の1以上の非一時的なコンピュータ可読記憶媒体。
【請求項16】
1つ以上のプロセッサと、
前記プロセッサに結合されており、前記プロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、前記プロセッサは、前記命令を実行する時、
1つの順序付けられたシーケンスを有する複数の画像要素にアクセスする工程と、
前記画像要素の複数のクラスタを決定する工程であって、前記クラスタの各々は1つの線に配置された前記複数の画像要素のうちの1つ以上を含み、各クラスタ内の前記複数の画像要素は、その元のアスペクト比を保持しつつ実質的に同じ第1の寸法を有するようにスケーリングされるとともに、前記順序付けられたシーケンスを維持するように配置されており、前記クラスタの各々は実質的に同じ第2の寸法を有する、工程と、
前記クラスタの各々についてのコストを決定する工程であって、1つのクラスタについての前記コストは、少なくとも部分的にはそのクラスタ内の各画像要素についてのコストの合計に基づき、前記クラスタ内の特定の画像要素についての前記コストは、少なくとも部分的にはソーシャル・ネットワーキング・システムのソーシャル・グラフにおけるユーザ・ノードとソーシャル・グラフの別のノードとの間の親和性係数に基づき、前記ユーザ・ノードは前記画像要素が表示されるユーザを表し、ソーシャル・グラフの前記別のノードは、前記特定の画像要素に関連付けられているコンセプトまたは別のユーザに関連付けられており、前記親和性係数は、少なくとも部分的には前記ユーザと前記コンセプトまたは前記別のユーザとの間の関係の強さに基づき、前記親和性係数は、前記親和性係数を時間とともに減衰させる減衰因子を含む、工程と、
前記順序付けられたシーケンスを維持する前記クラスタに基づきグラフにアクセスする工程であって、前記グラフは複数の経路を含み、前記経路は各々、前記画像要素のレイアウトを表すとともに、前記経路に沿った前記クラスタのコストに基づく総コストを有する、工程と、
前記レイアウトのうちの好適な1つを決定するために最低の総コストを有する経路を識別する最低総コスト経路識別工程と、を行うように動作可能である、システム。
【請求項17】
前記プロセッサは前記命令を実行するとき前記レイアウトのうちの好適な前記1つによる表示用に前記画像要素を提供する工程を行うようにさらに動作可能である、請求項16に記載のシステム。
【請求項18】
最低総コスト経路識別工程は、ダイクストラ法に基づきグラフを辿る工程を含む、請求項16に記載のシステム。
【請求項19】
前記親和性係数は、少なくとも部分的には、前記ユーザ、前記コンセプト、または前記別のユーザが前記特定の画像要素に示されているか否かにさらに基づく、請求項1に記載の方法。
【請求項20】
前記親和性係数は、少なくとも部分的には、前記ユーザ・ノードとソーシャル・グラフの前記別のノードとの間のソーシャル・グラフにおける隔たりの程度にさらに基づく、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に画像レイアウトに関する。
【背景技術】
【0002】
ソーシャル・ネットワーキング・ウェブサイトを含むソーシャル・ネットワーキング・システムは、そのユーザ(人または組織)がソーシャル・ネットワーキング・システムと、またソーシャル・ネットワーキング・システムを通じて互いに対話することを可能にする。
【0003】
ソーシャル・ネットワーキング・システムは、ユーザからの入力と共に、ソーシャル・ネットワーキング・システム内でそのユーザに関連付けられているユーザ・プロフィールを作成し記憶する。ユーザ・プロフィールは、人口統計情報、通信チャネル情報、およびユーザの個人的関心に関する情報を含んでもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力と共に、ソーシャル・ネットワーキング・システムの他のユーザとのユーザの関係の記録を作成および記憶し、サービス(たとえば、ウォール投稿、写真の共有、イベントの主催、メッセージング、ゲーム、または広告)を提供し、ユーザ間またはユーザの間でのソーシャル対話を容易にする。
【図面の簡単な説明】
【0004】
図1】画像要素の順序付けられたシーケンスの一例を示す図。
図2図1における画像要素の順序付けられたシーケンスから形成可能な画像クラスタ例を示す図。
図3】一例のグラフに配置された図2の画像クラスタを示す図。
図4図3のグラフを通じた最低コストの経路に基づく画像要素の表示の一例を示す図。
図5】特定の画像要素クラスタが考察から除去された図3のグラフを示す図。
図6】グラフの始点ノードからのコストを表す各ノードのコストの一例を加えた図5のグラフを示す図。
図7図6のグラフを通じた最低コストの経路に基づく画像要素の表示の一例を示す図。
図8】画像要素の順序付けられたシーケンスの好適なレイアウトを決定する一例の方法を示す図。
図9】グラフを通じた最低コストの経路を発見する一例の方法を示す図。
図10】ソーシャル・ネットワーキング・システムに関連付けられている一例のネットワーク環境を示す図。
図11】一例のソーシャル・グラフを示す図。
図12】一例のコンピュータ・システムを示す図。
【発明を実施するための形態】
【0005】
ソーシャル・ネットワーキング・システムは、1または複数のネットワークを通じて、そのサービスに関係するコンテンツまたはメッセージをユーザの移動体コンピューティング・デバイスまたは他のコンピューティング・デバイスに送信する。ユーザは、ソーシャル・ネットワーキング・システム内のそのユーザのユーザ・プロフィールおよび他のデータにアクセスするために、ユーザの移動体コンピューティング・デバイスまたは他のコンピューティング・デバイス上にソフトウェア・アプリケーションをインストールしてもよい。ソーシャル・ネットワーキング・システムは、ユーザに接続された他のユーザの集約されたストーリのニュースフィードなど、コンテンツ・オブジェクトのパーソナライズさ
れたセットを生成し、ユーザに対して表示してもよい。
【0006】
特定の実施形態は、費用関数によって決定されるレイアウトの総コストを最小化することに基づき、画像要素の順序付けられたシーケンスに対するレイアウトを決定する工程を含む。画像要素は、その順序付けられたシーケンスにしたがって、一方の寸法において拘束され、他方の寸法において変化する配置にレイアウトされる。画像要素は、ランドスケープ・フォーマットであっても、ポートレート・フォーマットであってもよく、アスペクト比は任意である。画像要素の好適なレイアウトを決定するとき、画像要素の順序付けられたシーケンスは、シーケンス中の選択された位置に改行を挿入することによって、クラスタへとグループ化されることができる。順序付けられたシーケンスにおける画像要素はグラフに対しマッピングされてもよく、グラフ中のノード間の遷移は候補改行位置を表し、各ノードは画像要素の候補クラスタを表す。どこに改行を挿入するか(またそれによってどの画像が一緒のクラスタとされるか)の決定は、費用関数にしたがって各あり得るクラスタを評価することによって決定されてもよい。特定の画像レイアウトに対する総コストは、その画像レイアウトを構成する各クラスタに対するコストの合計と等しい。画像要素の好適なレイアウトは、総コストを最小化する、グラフを通じた経路に相当する。最低コストの経路を発見するためにグラフを分析する前に、一定の基準を満たさない画像要素クラスタがさらなる考察から除去されてもよい。
【0007】
特定の実施形態は、画像要素の順序付けられたシーケンスに基づき画像要素のレイアウトをレンダリングすることを含む。画像要素は、画像要素の順序付けられたシーケンスがその元の順番から変化しない配置にレイアウトされてもよい。これに加えて、画像要素がその元のサイズより大きくまたは小さくスケーリングされることが可能である一方、各画像要素のアスペクト比およびフォーマットは保持され、画像要素の刈り込み(crop)は行われない。
【0008】
図1は、5つの画像要素110からなる画像要素の順序付けられたシーケンス100の一例を示す。各画像要素110に関連付けられているのは、画像属性120のリストである。画像属性120は、画像要素110に関する各種情報(画像サイズ、画像寸法、画像アスペクト比、画像の色もしくはトーン、または画像が得られたイベントもしくはロケーションを含むがそれらに限定されない)を格納してもよい。また、画像属性120は、画像要素110に関係する様々なソーシャル・ネットワーキング情報(ユーザに対する画像の関連性、画像が閲覧された回数、画像が「いいね(like)」を受けた回数(「いいね」フィーチャについては後述)、画像が受けたコメントの数、画像に対するソーシャル・ネットワーキング・スコア、または画像に対する親和性係数(後述)を含むがそれらに限定されない)を格納してもよい。本開示では特定の画像属性120について記載し示しているが、本開示では任意の適切な画像属性の任意の適切な組合せが想定される。画像要素110は、様々なサイズ、フォーマット、およびアスペクト比を有してよい。ここでアスペクト比とは、画像要素110の高さに対する幅の比率である。例えば、画像要素110aが2.4のアスペクト比を有するランドスケープ・フォーマットである一方、画像要素110eは0.9のアスペクト比を有するポートレート・フォーマットである。本開示では、5つの画像要素110の例を有する順序付けられたシーケンス100の一例について記載し示しているが、本開示では、任意の適切な数の画像要素を有する任意の画像要素の順序付けられたシーケンスが想定される。
【0009】
画像要素110は、限定ではなく例として、写真、動画フレーム、動画、マップ、テキストブロック、ドキュメントのページ、スクリーンショット、または任意のサムネイル画像表現など、任意のタイプの視覚的コンテンツの画像を含んでよい。画像要素100の順序付けられたシーケンスは、任意のタイプまたはタイプの組合せの画像要素110からなってよい。画像要素110またはクラスタ210(以下で定義)に対し適用される寸法の
パラメータである高さおよび幅は、実際の寸法の単位(例えば、インチまたはセンチメートル)、寸法に比例する任意の単位、ピクセル数に基づく単位、メモリに関する画像要素サイズに基づく単位(例えば、キロバイトまたはメガバイト)、画像要素がレンダリングされるディスプレイ寸法に基づく単位、または任意の他の適切な寸法の単位に関して示されてよい。
【0010】
画像要素110のレイアウトは、一方の寸法において拘束され、他方の寸法において変化してもよい。一実施形態では、画像要素110は、水平に配向させられた一連の行に連続して配置されてよく、各行は実質的に同じ幅を有し、各行は1つの線に配置された1以上の画像要素110から構成される。そのような一例の実施形態では、特定の行の画像要素110は全て実質的に同じ高さを有するが、異なる行は異なる高さを有することができる。別の一例の実施形態では、画像要素110は、垂直に配向された一連の列に配置されてよく、各列は実質的に同じ高さを有し、各列は1つの線に配置された1以上の画像要素110からなる。1つの列の画像要素110は全て実質的に同じ幅を有するが、異なる列は異なる幅を有することができる。本開示では、画像要素110が行に水平に配置された画像レイアウトについて記載し示しているが、本開示では、画像要素110が列に垂直に配置された画像レイアウトや、画像要素110が任意の適切な配向に沿った1つの線に配置された画像レイアウトが想定される。
【0011】
画像要素の順序付けられたシーケンス100に対する好適なレイアウトを決定するために、順序付けられたシーケンス100は、順序付けられたシーケンス100中の選択された位置に改行を挿入することによって、画像要素110の候補クラスタへとグループ化されることができる。画像要素110のクラスタは、順序付けられたシーケンス100からの1以上の画像要素110から構成され、1つのクラスタ内の画像要素110の順序は、順序付けられたシーケンス100内の順序と同じである。一般に、n個の画像要素110を有する順序付けられたシーケンス100については、
【0012】
【数1】
個の形成可能なクラスタが存在する。したがって、n=5個の画像要素110からなる順序付けられたシーケンス100については、15個の可能なクラスタが存在する。
【0013】
図2には、図1の順序付けられたシーケンスの例から形成可能な15個の可能な画像クラスタ210の例全てを示す。図2の例では、各候補クラスタ210は1〜5個の画像要素110から構成されており、特定のクラスタ210内の画像要素110は、全てのクラスタ210が実質的に同じ幅を有するようにスケーリングされることができる。特定のクラスタ210内の全ての画像要素110は実質的に同じ高さ(これはクラスタの高さでもある)を有するが、異なるクラスタ210については画像要素110の高さは変化することが可能である。例えば、クラスタ210oは1つの画像要素110eからなり、画像要素110eは1つのクラスタ210の幅を有するようにスケーリングされている。対照的に、クラスタ210eでは、画像要素110eは5つの画像要素110のうちの1つであり、画像要素110eは、クラスタ210oではそのサイズと比較して相当縮小されている。画像要素110は特定のクラスタ210にフィットするようにその元のサイズからスケーリングされることができるが、図2の例では、各画像要素110のアスペクト比およびフォーマットは保持され、画像要素110の刈り込みは行われない。各クラスタ210内では、画像要素110の順序は図1の順序付けられたシーケンス100におけるのと同じである。例えば、クラスタ210hは、画像要素110b,110c,110dから、
この順序でなる。クラスタ210hは、画像要素110a,110b間の改行と、画像要素110d,110e間の別の改行とに対応する。
【0014】
図3は、費用関数に基づき画像要素の順序付けられたシーケンス100に対する好適なレイアウトを決定するためにアルゴリズムをレンダリングする一例を示す。図3には5つの画像要素110を有する順序付けられたシーケンス100の一例を示しているが、本明細書に記載のレンダリング・アルゴリズムは、任意の数の画像要素を有する任意の順序付けられたシーケンスに対し一般化され適用されることが可能である。図3に示すレンダリング・アルゴリズムの例は、費用関数にしたがって図2の各候補クラスタ210にコストを割り当てることによって始まる。任意の従来の費用関数が利用されてよい。
【0015】
図3の例では、費用関数は、一例の目標高さ320に基づき、クラスタ高さと目標高さ320との間の差がより大きいほど、クラスタ・コストはより大きい。したがって、費用関数は、クラスタが目標高さ320からより大きく異なるほど、そのクラスタにより大きなペナルティを与えられる(より高いコストを割り当てることによって)。この例では、インデックスmによって識別され、クラスタ高さClusterHeight(m)を有する特定のクラスタ210に対する費用関数は、ClusterCost(m)=abs[ClusterHeight(m)−TargetHeight]として表現可能である。ここで「abs」は括弧内の式の絶対値を与え、TargetHeightは目標高さ320である。したがって、目標高さ320と同じ高さを有するクラスタ210は、零に等しいコストを有する。クラスタ210の高さと目標高さ320との間の差がより大きいほど、その特定のクラスタ210に対するコストはより大きい。図3の例では、ClusterCost(210e)=13であり、ClusterCost(210o)=88である。図3の例では、クラスタ210h,210l,210bは、比較的低いコスト2,3,4をそれぞれ有し、クラスタ210h,210l,210bが目標高さ320に近いことを示している。対照的に、クラスタ210f,210m,210oは目標高さ320を超えており、したがって比較的高いコスト57,58,88をそれぞれ有する。同様に、クラスタ210d,210eは目標高さ320より低く、また比較的高いコスト11,13をそれぞれ有する。したがって、例えば、目標クラスタ高さに基づき好適なレイアウトを識別するレンダリング・アルゴリズムは、クラスタ210h,210l,210bを好む傾向があり、クラスタ210f,210m,210o,210d,210eを好まない傾向がある。目標高さ320は様々な方法により選択可能な固定のパラメータであり、次の因子のうちの1以上の考察を含むがそれらに限定されない:ユーザの選好、順序付けられたシーケンス100を構成する画像要素110の1以上の属性120、または画像要素110がレンダリングされるディスプレイ画面の寸法または解像度。本開示では特定の目標高さ320の例について記載し示しているが、本開示では任意の適切な目標高さ320と、任意の特定の目標高さ320を選択するための適切な方法とが想定される。
【0016】
図3の例に示すように、画像要素110がレイアウトされることの可能な様々な方法により候補クラスタ210がリンクされるように、グラフが構築されることができる。グラフの各ノード(すなわち、頂点)は、関連するコストを有するクラスタ210を表すことができ、ノード間の遷移310(すなわち、エッジ)は、クラスタ210間の改行を表すことができる。グラフは有向非巡回グラフ(各遷移310(エッジ)が矢印によって示される方向を有し、自身にループして戻る経路を辿ることは不可能である)であってよい。画像要素110の特定のレイアウトに関連付けられている総コストは、グラフ上の経路(画像要素110の特定のレイアウトに対応する)を始点から終点まで辿るときに得られるクラスタ・コストの合計として定義されることができる。例えば、1つの可能な経路では、始点から遷移310bに沿ってクラスタ210bまで(コスト:4)、次に遷移310gに沿ってクラスタ210jまで(コスト:37)、次に遷移310oに沿ってクラスタ210nまで(コスト:19)、最後に遷移310sに沿って終点まで移動する。この経
路は、クラスタ210b,210j,210nから構成されるレイアウトに相当し、このレイアウトに関連付けられている総コストは60(=4+37+19)である。
【0017】
所与の費用関数について、最小の総コストで始点から終点までグラフを辿る経路は、画像要素110の好適なレイアウトに相当する。図3の例では、遷移310b,310g,310q(太線によって示されている)から構成されるグラフを通じた最低コストの経路は、クラスタ210b,210lに移動し、7の総コストを有する。同じ最低コストを各々有する2つ以上の経路をグラフが有する一例の状況では、好適なレイアウトを決定するためのレンダリング・アルゴリズムは、それらの最低コストの経路のうちの任意の1つを任意に選んでもよく、レンダリング・アルゴリズムは、最低コストの経路のうちの1つを選択するための任意の適切な基準を適用してもよい。
【0018】
図4は、一例のディスプレイ400上でレンダリングされる画像要素110のレイアウトの一例を示す。このレイアウトは図3のグラフを通じた最低コストの経路に対応する。この図4に示される好適なレイアウトの例は、クラスタ210b,210lから構成されており、この好適なレイアウトは、上述において定義した目標高さ費用関数の例にしたがう最小総コストを表す。画像要素110はその元のサイズからサイズ変更さ得るが、各画像要素110のアスペクト比は保持されており、画像要素110は刈り込まれていない。レイアウトにおける画像要素110の順序は、図1の順序付けられたシーケンス100における画像要素110の順序と同じである。クラスタ210b,210lは同じ幅を有する。特定のクラスタ内の画像要素110(例えば、クラスタ210lにおける画像要素110c,110d,110e)は、同じ高さを有するが、クラスタ210b,210lは異なる高さを有する。なお、上述において定義した目標高さ費用関数とは異なる別の費用関数は、グラフを通じた異なる最低コストの経路を、したがって、画像要素110の異なる好適なレイアウトを生成し得る。
【0019】
図2および図3の例では、2以上の画像要素110を有する各クラスタ210は、隣接した画像要素110同士の間に間隙を有するように示されている。本開示では、隣接した画像要素110同士の間に間隙を有しないクラスタ210や任意の適切なサイズの間隙を有するクラスタ210が想定される。図4のレイアウト例では、隣接した画像要素110同士の間の間隙や、クラスタ210b,210lの間の間隙が存在する。本開示では、隣接した画像要素110同士の間及び隣接したクラスタ210同士の間に間隙を有しないレイアウトや任意の適切なサイズの間隙を有するレイアウトが想定される。
【0020】
擬似コード例を、3つの例の費用関数の実施形態例について、以下に提示する。費用関数を適用する前に、クラスタ210における画像要素110は、全ての画像要素110が同じ高さを有するように、またクラスタ210の幅が所望の行幅にマッチするように、スケーリングされる。上述の1つの例の費用関数は、一例の目標高さ320に基づき、その費用関数に対する擬似コード例は以下のように示される:
【0021】
【表1】
別の例の目標高さ費用関数は、クラスタ高さと目標高さ320との間の差の平方として定義されることが可能である。この例の費用関数では、クラスタ高さと目標高さ320との間の差が増大するにつれ、以前に定義した目標高さ費用関数におけるように、クラスタのコストは一次でなく二次で増大する。一例の二次の目標高さの費用関数に対する擬似コ
ード例を以下に提示する:
【0022】
【表2】
クラスタ210の各画像要素110の面積と目標面積との間の差に基づくコストを割り当てる第3の費用関数の例を以下に提示する:
【0023】
【表3】
上述の目標高さおよび目標面積費用関数は、クラスタ210が目標高さ320に近い高さまたは目標面積を有する画像レイアウトを達成するために用いることの可能な多くの可能な費用関数のうちの単なる幾つかの例である。さらに、特定の実施形態では、次のうちの1以上を含むがそれらに限定されない任意の数の因子を考慮する多くの費用関数が定義されることができる:目標クラスタ高さ、最小クラスタ高さ、最大クラスタ高さ、各画像要素の目標面積、クラスタ当たりの画像要素の最小数(例えば、各クラスタが2以上の画像要素を有する必要がある)、クラスタ当たりの画像要素の最大数(例えば、クラスタ当たり4個以下の画像要素)、アスペクト比の保持、画像形式(ランドスケープまたはポートレート)、クラスタ中の画像要素の色またはトーン、画像要素がレンダリングされる表示画面の寸法および解像度、閲覧ユーザの選好、画像要素に関係するソーシャル・ネットワーキング情報、画像要素に関連付けられているユーザのソーシャル・ネットワーキング情報、または画像要素が表示されるユーザのソーシャル・ネットワーキング情報。本開示では特定の費用関数例について記載し示しているが、本開示では上述の因子のうちの1以上または任意の他の適切な因子に関係し得る任意の適切な費用関数が想定される。
【0024】
図5は、一部の画像要素クラスタ210が考察から除去された図3のグラフを示す。各クラスタ210のコストを計算してグラフを構築する前に、一定の基準を満たさない一部のクラスタ210はさらなる考察から除去されてもよい。考察からクラスタ210を除去することは、クラスタ210がグラフ上のノードとして利用可能でないことを意味し得る。一定のクラスタ210を評価して考察から除去するこの処理によって、グラフと、グラフを辿る最低コストの経路を発見する処理とを簡単にすることができる。図5の例では、最大の高さしきい値510より上の高さを有するクラスタ210(すなわち、クラスタ210f,210j,210m,210o)および最小の高さしきい値520より下の高さを有するクラスタ210(すなわち、クラスタ210d,210e,210i)が考察から除去されている。幾つかのクラスタ210を却下することによって、一定の他のクラスタ210は始点から到達不能となるか、終点に接続しない経路に沿う(すなわち、210hおよび210k)ので、それらのクラスタ210もグラフから除去されることが可能で
ある。本開示では、クラスタ210を考察から除去する特定の基準について記載し示しているが、本開示では考察からクラスタを除去するための任意の適切な基準が想定される。
【0025】
図5のグラフ例では、上述のものと異なる新たな費用関数の例がクラスタ210に適用されている。この費用関数は、各画像要素110に対するソーシャル・ネットワーキング・スコアに依存し、ソーシャル・ネットワーキング・スコアは、例えば、次のうちの1以上などソーシャル・ネットワーキングに関係する画像属性120を用いて計算されてよい:ユーザに対する画像の関連性、画像が閲覧された回数、画像が「いいね(like)」を受けた回数画像が受けたコメントの数、または画像に対する親和性係数(後述)。より低コストは、より高いソーシャル・ネットワーキング・スコアを示すので、より低コストのクラスタ210は、ビュー、いいね、またはコメントがより多い画像要素110を有し得る。図5のグラフ例では、クラスタ210aは3のコスト(画像要素110aに対する比較的高いソーシャル・ネットワーキング・スコアを示す)を有する一方、クラスタ210cは20のコスト(画像要素110a,110b,110cの組合せに対する比較的低いソーシャル・ネットワーキング・スコアを示す)を有する。したがって、画像要素110aは比較的高いソーシャル・ネットワーキング・スコアを有するが、画像要素110a,110b,110cに対する結合したソーシャル・ネットワーキング・スコアは、画像要素110b,110cに対するソーシャル・ネットワーキング・スコアが比較的低いため、比較的低くなり得る。本開示では特定のソーシャル・ネットワーキング・ベースの費用関数を記載し示しているが、本開示では、任意の適切なソーシャル・ネットワーキング因子に関係し得る任意の適切なソーシャル・ネットワーキング費用関数が想定される。
【0026】
図6は、異なるフォーマット例により書き直されているが同じ頂点およびエッジを有する図5のグラフ例を示す。各ノードのコストの加算は、始点からその特定のノードまで辿るコストを表す。最低の総コストを有するグラフを通じた経路は、太字で強調されており、始点からクラスタ210aまで、次いでクラスタ210gまで、次いでクラスタ210nまで辿り、次いで終点で完了する。その経路に沿ってグラフを辿る総コストは26であり、これは、クラスタ210a,210g,210nのコストの合計である。より高いコストを各々有する、グラフを通じた2つの他の経路が存在する。それらのより高いコストの経路のうちの一方はクラスタ210b,210lを辿り(総コスト27)、他方はクラスタ210c,210nを辿る(総コスト28)。
【0027】
図7は、一例のディスプレイ400上でレンダリングされる画像要素110のレイアウトの一例を示す。このレイアウトは図6のグラフを通じた最低コストの経路に対応する。この図7に示される好適なレイアウトの例は、クラスタ210a,210g,210nから構成されており、この好適なレイアウトは、上述のようなソーシャル・ネットワーキング費用関数にしたがう最小総コストを表す。画像要素110はその元のサイズからサイズ変更さ得るが、各画像要素110のアスペクト比は保持されており、画像要素110は刈り込まれていない。レイアウトにおける画像要素110の順序は、図1の順序付けられたシーケンス100における画像要素110の順序と同じである。クラスタ210a,210g,210nは同じ幅を有する。特定のクラスタ内の画像要素110(例えば、クラスタ210gにおける画像要素110b,110c)は、同じ高さを有するが、各クラスタは異なる高さを有してもよい。なお、画像要素110に対し適用されるソーシャル・ネットワーキング費用関数のこの例によって図7の好適なレイアウトの例が得られる一方、上述の目標高さ費用関数の例によって図4の好適なレイアウトの異なる例が得られる。このように、レンダリング・アルゴリズムによって識別される好適なレイアウトは、選択されている特定の費用関数に応じて異なってよい。
【0028】
図8は、画像要素110から構成される順序付けられたシーケンス100の好適なレイアウトを決定する一例の方法を示す。この方法は工程810にて開始することができ、画
像要素100の順序付けられたシーケンスがアクセスされる。工程820では、順序付けられたシーケンス100から形成可能な1以上の画像要素110を格納しているクラスタ210が決定される。各クラスタ210内の画像要素110は、順序付けられたシーケンス100における画像要素110と同じ順序を保持し得る。各クラスタ210内の画像要素110は、クラスタ210が実質的に同じ幅を有し、任意のクラスタ210内の画像要素110が実質的に同じ高さを有し、また画像要素110がそれらの元のアスペクト比を維持するように、スケーリングされることができる。各クラスタ210は、実質的に同じ高さを有する画像要素110を格納しているが、異なるクラスタ210における画像要素110は異なる高さを有してもよい。工程830では、一定の基準を満たさない任意のクラスタ210が考察から除去される。例えば、高さが大きすぎる、高さが小さすぎる、格納している画像要素が多すぎる、または格納している画像要素が少なすぎるクラスタ210は、考察から除去されてもよい。本開示では、一定のクラスタ210を評価して考察から除去するための任意の適切な基準が想定される。工程840では、各クラスタ210のコストが費用関数に基づいて決定される。工程850では、グラフが構築される。グラフの各ノード(すなわち、頂点)は、クラスタ210を表すことができ、ノード間の遷移310(すなわち、エッジ)は、クラスタ210間の改行を表すことができる。ノード間の遷移310は、順序付けられたシーケンス100の元の順序を保持してもよい。グラフは、始点から終点までグラフを辿る複数の経路からなることができる。各経路は画像要素110の可能なレイアウトを表し、各経路はその経路に沿ったクラスタ210のコストに基づく総コストを有する。
【0029】
工程860では、始点から終点までグラフを辿り最低の総コストを有する経路が識別される。この最低コストの経路は、費用関数に基づく、順序付けられたシーケンス100の好適なレイアウトに相当する。工程860の一例について、より詳細に以下に述べ、図9において(工程862〜876により)示す。工程880では、好適なレイアウトにより順序付けられたシーケンス100を表示するための情報は、ユーザまたはクライアント・システムに対し提供され、この点で方法は終了する。特定の実施形態では、適切な場合、図8の方法の1以上のステップを繰り返す。本開示では、図8の方法の特定のステップを特定の順番により発生するように記載し示しているが、本開示では、図8の方法の任意の適切なステップが任意の適切な順番により発生することが想定される。本開示では、図8の方法の特定の工程を含む、画像要素110から構成される順序付けられたシーケンス100の好適なレイアウトを決定する一例の方法を記載し示しているが、本開示では、任意の適切な工程を含む、画像要素から構成される順序付けられたシーケンス100の好適なレイアウトを決定するための任意の適切な方法が想定され、この方法は、適切な場合、図8の方法の工程の全てまたは一部を含んでもよく、図8の方法の工程を含まなくてもよい。さらにまた、本開示では、図8の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて記載し示しているが、本開示では、図8の方法の任意の適切なステップを実施する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せが想定される。一例として、図8の方法は、適切な場合、クライアント・コンピューティング・デバイス(スマートフォンなど)、サーバ・コンピューティング・デバイス(画像要素110から構成される順序付けられたシーケンス100を含む構造化ドキュメントをクライアント・コンピューティング・デバイスに提供しているソーシャル・ネットワーキング・システムのサーバ・コンピューティング・デバイスなど)、またはその2つの組合せによって実行されてよい。
【0030】
始点ノードから終点ノードまでグラフを辿る最低コストの経路を識別するための多数のアルゴリズムが存在する。幾つかのアルゴリズムの例は、次に限定されないが、ダイクストラ法、ベルマン−フォード法、A*(「エースター」と発音する)アルゴリズム、およびワーシャル−フロイド法を含む。図9は、始点から終点までグラフを辿り最低の総コストを有する経路を識別するための一例の方法の詳細(図8の工程860に対応する)を示
す。図9に示されている方法の例は、ダイクストラ法に基づく。本開示では、グラフを辿る最低コストの経路を発見するための特定のアルゴリズムを記載し示しているが、本開示では、最低コストの経路を発見するための任意の適切なアルゴリズムが想定される。グラフを辿る最低コストの経路を識別するための、ダイクストラ法に基づく、一例の方法は、工程862にて開始することができ、始点ノードが、訪問された全てのノードを格納しているセットに追加される。工程864では、始点ノードに接続され、最低のコストを有するノードが識別される。工程866では、工程864において識別された最低コストのノードに対し、そのコストのラベルが付けられ、訪問されたノードのセットに追加される。この点において、訪問されたノードのセットは、始点ノードと工程864において識別された1つのノードとを格納する。
【0031】
工程868では、訪問されたノードのセットが、終点ノードを格納しているか否かを判定するために評価される。していない場合、方法は工程870に進み、訪問されたノードのセット中の1つのノードに直接接続される(すなわち、1つの遷移310によって接続される)近隣ノードが識別される。工程872では、各近隣ノードに対し、始点ノードからのその最小コストのラベルが一時的に付けられる。工程874では、始点ノードからの最低コストを有する近隣ノードに対し、始点ノードからのそのコストのラベルが永続的に付けられ、訪問されたノードのセットに追加される。方法は、次いで工程868に戻り、訪問されたノードのセットが終点ノードを格納しているかどうかが評価される。そうでない場合、方法は、工程870,872,874によりグラフの探索を続行する。工程868では、訪問されたノードのセットが終点ノードを格納している場合、方法は工程876に進み、グラフを通じる最低コストの経路が、終点から始点に戻る最低コストの経路を後退することによって識別される。この点において、グラフを辿る最低コストの経路を識別するための方法の例は終了する。
【0032】
特定の実施形態では、順序付けられたシーケンス100または画像要素110にアクセスすることは、1以上のローカル・データストアから、1以上の遠隔のデータ・ストアから、1以上のデータベースから、1以上のサードパーティ・サーバから、または1以上のアプリケーション・プログラム・インタフェース(API)にアクセスすることによって、順序付けられたシーケンス100または画像要素110を取り出すことまたは要求することを含んでもよい。特定の実施形態では、順序付けられたシーケンス100または画像要素110の取り出しは、スクリーンショットを生成すること、サムネイルを生成すること、動画フレームを抽出すること、画像を刈り取ること、画像をスケーリングすること、画像を1つのフォーマットから別のフォーマットに変換すること(例えば、ベクターからラスター、またはPNG(Portable Networking Graphics)からJPEG(Joint Photographic Experts Group))を含んでよい。
【0033】
順序付けられたシーケンス100における画像要素110のセットは、ソーシャル・ネットワーキング・システムからの画像要素110を含んでよい。そのような画像要素110は、閲覧者に関連付けられている画像要素110、ソーシャル・グラフにおいて閲覧者に接続された他のユーザに関連付けられている画像要素110(特定の隔たりの程度内で閲覧者に接続されたユーザ、特定のグループまたは組織内のユーザ、閲覧者と特定の関心または親和性を共有するユーザ、またはそのユーザと同様のプロフィールもしくは目標の人口統計プロフィールを有するユーザに限定されてもよい)、または閲覧者がフォローしている特定のユーザまたは概念に関連付けられている画像要素110を含んでよい。ソーシャル・ネットワーキング・システムの実施形態の例について、図10に関連してさらに詳細に記載する。ソーシャル・グラフの実施形態の例について、図11に関連してさらに詳細に記載する。
【0034】
順序付けられたシーケンス100における画像要素110のセットは、オンライン・コンテンツのキャプチャされた画像要素110のセットを含んでもよい。特定の実施形態では、画像要素110は、ウェブサイトのスクリーンショット、ウェブサイトの一部、または何らかの他のタイプのオンライン・コンテンツのスクリーンショットを表してもよい。例えば、画像要素110は、ユーザがフォローしているトピック、企業、政治家、または有名人の現在のニュース・ストーリのスクリーンショットを含んでもよい。画像要素110をクリックすると、閲覧者は、そのスクリーンショットのウェブサイトに移動させられる。そうしたキャプチャされた画像要素110は、ウェブ・クローラによって生成されてもよく、サードパーティ・サーバから受信されてもよい。
【0035】
ソーシャル・ネットワーキング・スコアは、ユーザに対する関連性、ユーザの選好、または他の因子にしたがって画像要素110に対し割り当てられてよい。特定の実施形態では、画像要素110は、ソーシャル・ネットワーキング情報にしたがって割り当てられるソーシャル・ネットワーキング・スコアを有してよい。ソーシャル・ネットワーキング・システムは、画像要素110に対するつながり値に少なくとも部分的に基づき、画像要素110に対する関連性スコアを決定してよい。限定ではなく一例として、ソーシャル・グラフにおいて閲覧者に接続されたユーザ・ノードに関連付けられている画像要素110に示されている人の数は、つながり値に影響を与えることができる。限定ではなく一例として、ソーシャル・グラフのユーザ・ノードと閲覧者との間の隔たりの程度は、つながり値に影響を与えることができる。別の例として、閲覧者とソーシャルグラフ・ユーザのユーザ・ノードとの間のつながりのタイプが、つながり値に影響を与えてもよい。限定ではなく一例として、「友人(friendship)」タイプのつながりは、「同僚(work colleague)」タイプのつながりよりも高いつながり値に関連付けられてよい。
【0036】
ソーシャル・ネットワーキング・システムは、画像要素110に対する関心値に少なくとも部分的に基づき、画像要素110に対する関連性スコアを決定してよい。関心値は、少なくとも部分的には、画像要素110に割り当てられた1または複数のカテゴリが閲覧者の関心に関連付けられている1または複数のカテゴリに合致するか否かに基づいてよい。関心値は、少なくとも部分的には、画像要素110に示されている人、ロケーション、オブジェクト、またはアクションに割り当てられている1または複数のカテゴリが、閲覧者の関心に関連付けられている1または複数のカテゴリに合致するか否かに基づいてよい。関心値は、少なくとも部分的には、画像要素110に関連付けられているソーシャル・ネットワーキング情報、サードパーティ情報、またはメタデータに割り当てられた1または複数のカテゴリが閲覧者の関心に関連付けられている1または複数のカテゴリに合致するか否かに基づいてよい。
【0037】
限定ではなく一例として、ソーシャル・グラフにおけるオブジェクトは、ユーザまたは概念のプロフィール、またはそのユーザにつながっているユーザ・ノードに関連付けられている情報を含んでよい。別の例として、アクションは、ユーザ・ノードに対してともだちとなる(friending)/ともだちをやめる(unfriending)こと、コンテンツ・オブジェクトに対し「いいね」する(liking)こと、サードパーティのファンになること、ソーシャル・ネットワーキング・システム1060上のユーザのグループまたはコミュニティに参加すること、またはサードパーティのウェブサイトを訪問することを含んでよい。別の例として、サードパーティ情報は、サードパーティ・ウェブサイト上における、ユーザによるアクティビティまたはユーザによる購入の情報を含んでよい。
【0038】
関連性スコアの決定は、2010年12月22日出願の「通知とのユーザ対話に基づきユーザに対して関連する通知を提供するためのタイミング(Timing for Pr
oviding Relevant Notifications for a User Based on User Interaction with Notifications)」と題する米国特許出願第12/976,859号において、より詳細に説明されている。これを引用によって本明細書に援用する。
【0039】
関連性スコアは、後述のように、少なくとも部分的にはソーシャル・グラフのオブジェクトに関するユーザに対する親和性に対して基づいてもよい。限定ではなく一例として、過去、現在、または未来のコンテンツに対する親和性は、ユーザ・アクティビティ、ソーシャル・グラフのユーザ・ノードのアクティビティ、もしくは関連付けられているつながり、またはそれらの任意の組合せに基づき、コンテンツ・エンジンのプロセッシング・モジュールによって決定されてもよい。親和性は、予測関数の重み付けされたセットを用いて計算されてもよい。予測関数は、ユーザが特定のアクションを行うか否かを予測する。予測関数は任意の数のアクションを予測することができ、このアクションはオンライン・ソーシャル・ネットワーク内のアクションであっても、オンライン・ソーシャル・ネットワーク外のアクションであってもよい。集約された統合されたデータの重み付けを行うための親和性を決定するとき、任意のタイプの変数が考慮されてよい。親和性の測度の決定および使用については、次の米国特許出願において、より詳細に設営されており、それらの文献の全てを引用によって本明細書に援用する:2006年8月11日出願の「ソーシャル・ネットワークのメンバに対し個人化されたストーリのフィードの生成(Generating a Feed of Stories Personalized for
Members of a Social Network)」と題する米国特許出願第11/502,757号(米国特許第7,827,208号として発行)、2009年12月23日出願の「関連するソーシャル・ネットワーキング・システム・コンテンツおよび広告の選択および提示(Selection and Presentation of Related Social Networking System Content and Advertisements)」と題する米国特許出願第12/645,481号、2011年9月28日出願の「ソーシャル・ネットワーキング・システムにおけるソーシャル対話の即時の推薦(Instantaneous Recommendation of Social Interactions in a Social Networking System)」と題する米国特許出願第13/247,825号、2010年12月22日出願の「ロケーションおよびソーシャル情報に基づきユーザに提供される関連する通知の価格決定(Pricing Relevant Notifications Provided to a User Based on Location and Social Information)」と題する米国特許出願第12/976,755号、2010年12月23日出願の「ソーシャル・ネットワーキング・システムにおけるコンテキスト的に関連する親和性予測(Contextually Relevant Affinity Prediction in a Social Networking System)」と題する米国特許出願第12/978,265号、および2012年10月1日出願の「モバイル・デバイスに関連する親和性の測度(Mobile Device−Related Measures of Affinity)」と題する米国特許出願第13/632,869号。
【0040】
図10は、ソーシャル・ネットワーキング・システムに関連付けられている一例のネットワーク環境1000を示す。ネットワーク環境1000は、ネットワーク1010によって互いに接続されたユーザ1001、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、およびサードパーティ・システム1070を含む。図10には、ユーザ1001、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、サードパーティ・システム1070、およびネットワーク1010の特定の構成を示すが、本開示では、ユーザ1001、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、サードパーティ・シス
テム1070、およびネットワーク1010の任意の好適な構成が想定される。限定ではなく一例として、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、およびサードパーティ・システム1070のうちの2以上は、ネットワーク1010をバイパスすることによって互いに直接的につなげられてもよい。別の例として、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、およびサードパーティ・システム1070のうちの2以上が、全体としてまたは部分的に、物理的にまたは論理的に互いに同じ場所にあってもよい。さらに、図10では、特定の数のユーザ1001、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、サードパーティ・システム1070、およびネットワーク1010を示しているが、本開示では、任意の適切な数のユーザ1001、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、サードパーティ・システム1070、およびネットワーク1010が想定される。限定ではなく一例として、ネットワーク環境1000は、複数のユーザ1001、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、サードパーティ・システム1070、およびネットワーク1010を含んでもよい。
【0041】
特定の実施形態では、ユーザ1001は、ソーシャル・ネットワーキング・システム1060と、またはソーシャル・ネットワーキング・システム1060を通じて対話、すなわち通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティ・アプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。ソーシャル・ネットワーキング・システム1060は、たとえばユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関係する他の好適なデータなど、ソーシャル・ネットワーキング・データを生成、記憶、受信、および送信する。ソーシャル・ネットワーキング・システム1060は、ネットワーク環境1000の他の構成要素によって、直接的に、またはネットワーク1010を通じてアクセスされてもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、ユーザ1001がたとえば適切なプライバシ設定を設定することによってなど、自分達のアクションをソーシャル・ネットワーキング・システム1060によって記録させる、または他のシステム(たとえば、サードパーティ・システム1070)と共有させることについてオプトインまたはオプトアウトすることを可能にする認可サーバ(または他の適切な構成要素)を含んでもよい。ユーザのプライバシ設定は、そのユーザに関連付けられているどの情報が記録されるか、そのユーザに関連付けられている情報がどのように記録されるか、そのユーザに関連付けられている情報がいつ記録されるか、そのユーザに関連付けられている情報を誰が記録するか、そのユーザに関連付けられている情報が誰と共有されるか、およびそのユーザに関連付けられている情報が何の目的で記録され共有されるかを決定することができる。認可サーバは、ブロッキング、データのハッシュ化、匿名化、または他の適切な技術を通じて、ソーシャル・ネットワーキング・システム30のユーザの1以上のプライバシ設定を適切に実施するために用いられる。特定の実施形態では、サードパーティ・システム1070は、コンテンツ・サーバをホストするネットワークアドレス指定可能なコンピューティング・システムであってよい。サードパーティ・システム1070は、マルチメディア・コンテンツ(例えば、画像、動画、テキスト、ウェブサイト、対話型コンテンツ、ライブ・ストリーミング・コンテンツなど)を含むコンテンツを生成、記憶、受信、および送信することができる。サードパーティ・システム1070は、ネットワーク環境1000の他の構成要素によって、直接的に、またはネットワーク1010を通じてアクセスされてもよい。特定の実施形態では、1または複数のユーザ1001が1または複数のクライアント・システム1030を使用し、ソーシャル・ネットワーキング・システム1060またはサードパーティ・システム1070にア
クセスし、データを送り、それらからデータを受信してもよい。クライアント・システム1030は、ソーシャル・ネットワーキング・システム1060またはサードパーティ・システム1070に直接的に、ネットワーク1010を通じて、またはサードパーティ・システムを通じてアクセスしてもよい。限定ではなく一例として、クライアント・システム1030は、サードパーティ・システム1070にソーシャル・ネットワーキング・システム1060を通じてアクセスしてもよい。クライアント・システム1030は、たとえばパーソナル・コンピュータ、ラップトップ・コンピュータ、携帯電話、スマートフォン、またはタブレット・コンピュータなど、任意の好適なコンピューティング・デバイスであってよい。
【0042】
本開示では、任意の好適なネットワーク1010が想定される。限定ではなく一例として、ネットワーク1010の1または複数の部分は、アドホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線LAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、無線WAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、携帯電話ネットワーク、またはこれらの2以上の組合せを含んでもよい。ネットワーク1010は、1または複数のネットワーク1010を含んでもよい。
【0043】
リンク1050は、クライアント・システム1030、ソーシャル・ネットワーキング・システム1060、およびサードパーティ・システム1070を通信ネットワーク1010に、または互いに接続する。本開示では、任意の好適なリンク1050が想定される。特定の実施形態では、1または複数のリンク1050は、1または複数の有線(たとえば、デジタル加入者線(DSL)またはDOCSIS(Data Over Cable
Service Interface Specification)など)、無線(たとえば、Wi−FiまたはWiMAX(Worldwide interoperability for Microwave Access)など)、または光(たとえば、同期光ネットワーク(SONET)または同期デジタル・ハイアラーキ(SDH)など)リンクを含む。特定の実施形態では、1または複数のリンク1050は、それぞれ、アドホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラ技術ベースのネットワーク、衛星通信技術ベースのネットワーク、別のリンク1050、または2以上のそのようなリンク1050の組合せを含む。リンク1050は、必ずしもネットワーク環境1000全体を通じて同じであることを必要としない。1または複数の第1のリンク1050は、1または複数の点で1または複数の第2のリンク1050と異なってもよい。
【0044】
図11は、例示的なソーシャル・グラフ1100を示す。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、1または複数のソーシャル・グラフ1100を1または複数のデータ・ストア内に記憶する。特定の実施形態では、ソーシャル・グラフ1100は、複数のノード(複数のユーザ・ノード1102または複数のコンセプト・ノード1104を含んでもよい)と、それらのノードを接続する複数のエッジ1106とを含んでもよい。図11に示されている例示的なソーシャル・グラフ1100は、説明のために、2次元の視覚マップ表現で示されている。特定の実施形態では、ソーシャル・ネットワーキング・システム1060、クライアント・システム1030、またはサードパーティ・システム1070は、適切な用途のためにソーシャル・グラフ1100および関連するソーシャル・グラフ情報にアクセスする。ソーシャル・グラフ1100のノードおよびエッジは、データ・オブジェクトとして、たとえばデータ・ストア(ソーシャル・グラフ・データベースなど)内に記憶されてもよい。そのようなデータ・ストアは、ソーシャル・グラフ1100のノードまたはエッジの、1または複数の検索可能または照会
可能なインデックスを含んでもよい。
【0045】
特定の実施形態では、ユーザ・ノード1102は、ソーシャル・ネットワーキング・システム1060のユーザに対応する。限定ではなく一例として、ユーザは、ソーシャル・ネットワーキング・システム1060と、またはソーシャル・ネットワーキング・システム1060を通じて対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、事業者、またはサードパーティ・アプリケーション)、または(たとえば、個人またはエンティティの)グループであってよい。特定の実施形態では、ユーザがアカウントをソーシャル・ネットワーキング・システム1060に登録するとき、ソーシャル・ネットワーキング・システム1060は、そのユーザに対応するユーザ・ノード1102を作成し、そのユーザ・ノード1102を1または複数のデータ・ストア内に記憶する。本明細書に記載のユーザおよびユーザ・ノード1102は、適切な場合、登録されたユーザ、および登録されたユーザに関連付けられているユーザ・ノード1102に及ぶ。それに加えて、または代替として、本明細書に記載のユーザおよびユーザ・ノード1102は、適切な場合、ソーシャル・ネットワーキング・システム1060に登録しなかったユーザに及ぶ。特定の実施形態では、ユーザ・ノード1102は、ユーザによって提供された情報、またはソーシャル・ネットワーキング・システム1060を含む様々なシステムによって収集された情報に関連付けられてもよい。限定ではなく一例として、ユーザは、自分の名前、プロフィール写真、連絡先情報、誕生日、性別、婚姻状態、家族状態、雇用、学歴、好み、関心、または他の人口統計情報を提供してもよい。特定の実施形態では、ユーザ・ノード1102は、ユーザに関連付けられている情報に対応する1または複数のデータ・オブジェクトに関連付けられてもよい。特定の実施形態では、ユーザ・ノード1102は、1または複数のウェブ・ページに対応してもよい。
【0046】
特定の実施形態では、コンセプト・ノード1104は、コンセプトに対応する。限定ではなく一例として、コンセプトは、場所(たとえば、映画館、レストラン、目印、または都市など)、ウェブサイト(たとえば、ソーシャル・ネットワーキング・システム1060に関連付けられているウェブサイト、またはウェブアプリケーションサーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人、事業者、グループ、スポーツチーム、または有名人など)、ソーシャル・ネットワーキング・システム1060内、またはウェブアプリケーションサーバなど外部サーバ上に位置するリソース(たとえば、オーディオファイル、映像ファイル、デジタル写真、テキストファイル、構造化文書、またはアプリケーションなど)、実際の財産または知的財産(たとえば、彫刻、絵画、映画、ゲーム、楽曲、着想、写真、または書物など)、ゲーム、アクティビティ、着想もしくは理論、別の好適なコンセプト、または2以上のそのようなコンセプトに対応してもよい。コンセプト・ノード1104は、ユーザによって提供されたコンセプトの情報、またはソーシャル・ネットワーキング・システム1060を含む様々なシステムによって収集された情報に関連付けられてもよい。限定ではなく一例として、コンセプトの情報は、名前もしくはタイトル、1または複数の画像(たとえば、本の表紙の画像)、ロケーション(たとえば、住所または地理的ロケーション)、(URLに関連付けられる)ウェブサイト、連絡先情報(たとえば、電話番号または電子メール・アドレス)、他の好適なコンセプト情報、またはそのような情報の任意の好適な組合せを含んでもよい。特定の実施形態では、コンセプト・ノード1104は、コンセプト・ノード1104に関連付けられている情報に対応する1または複数のデータ・オブジェクトに関連付けられてもよい。特定の実施形態では、コンセプト・ノード1104は、1または複数のウェブ・ページに対応してもよい。
【0047】
特定の実施形態では、ソーシャル・グラフ1100内のノードは、ウェブ・ページを表しても、ウェブ・ページによって表されてもよい(「プロフィール・ページ」と呼ばれる)。プロフィール・ページは、ソーシャル・ネットワーキング・システム1060によっ
てホストされ、またはそこからアクセス可能であってもよい。また、プロフィール・ページは、サードパーティ・システム1070に関連付けられているサードパーティ・ウェブサイト上でホストされてもよい。限定ではなく一例として、特定の外部ウェブ・ページに対応するプロフィール・ページは、その特定の外部ウェブ・ページであってもよく、プロフィール・ページが、特定のコンセプト・ノード1104に対応してもよい。プロフィール・ページは、他のユーザのすべてまたは選択されたサブセットによって閲覧可能であってもよい。限定ではなく一例として、ユーザ・ノード1102は、対応するユーザがコンテンツを追加し、宣言をし、または他の方法で自分を表現する、対応するユーザプロフィールページを有してもよい。限定ではなく別の例として、コンセプト・ノード1104は、1または複数のユーザがコンセプト・ノード1104に対応するコンセプトに特に関連してコンテンツを追加し、宣言をし、またはユーザ自身を表現する、対応するコンセプトプロフィールページを有してもよい。
【0048】
特定の実施形態では、コンセプト・ノード1104は、サードパーティ・システム170によってホストされるサードパーティウェブページまたはリソースを表す。サードパーティウェブページまたはリソースは、要素の中でもとりわけ、コンテンツ、選択可能なアイコンもしくは他のアイコン、またはアクションもしくはアクティビティを表す(たとえば、JavaScript(登録商標)、AJAX、またはPHPコードにより実装される)他の対話可能なオブジェクトを含んでもよい。限定ではなく一例として、サードパーティウェブページは、「いいね」、「チェックイン」、「食べる」、「推奨する」、または別の好適なアクションまたはアクティビティなど、選択可能なアイコンを含んでもよい。サードパーティウェブページを閲覧するユーザは、アイコンの1つ(たとえば、「食べる」)を選択することによって、アクションを行う。これによって、クライアント・システム130は、ユーザのアクションを示すメッセージをソーシャル・ネットワーキング・システム1060へ送信する。ソーシャル・ネットワーキング・システム1060は、メッセージに応答して、ユーザに対応するユーザ・ノード1102とサードパーティウェブページまたはリソースに対応するコンセプト・ノード1104との間にエッジ(たとえば、「食べる」エッジ)を作成し、エッジ1106を1または複数のデータ・ストア内に記憶する。
【0049】
特定の実施形態では、ソーシャル・グラフ1100内の1対のノードが、1または複数のエッジ1106によって互いに接続されてもよい。1対のノードを接続するエッジ1106は、その対のノード間の関係を表す。特定の実施形態では、エッジ1106は、1対のノード間の関係に対応する1または複数のデータ・オブジェクトまたは属性を含み、または表してもよい。限定ではなく一例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを示してもよい。この示したことに応答して、ソーシャル・ネットワーキング・システム1060は、「友達要求」を第2のユーザに送信してもよい。第2のユーザが「友達要求」を確認した場合、ソーシャル・ネットワーキング・システム1060は、ソーシャル・グラフ1100内で第1のユーザのユーザ・ノード1102を第2のユーザのユーザ・ノード1102に接続するエッジ1106を作成し、エッジ1106をソーシャル・グラフ情報として記憶してもよい。図11の例では、ソーシャル・グラフ1100は、ユーザ「A」とユーザ「B」とのユーザ・ノード1102間の友達関係を示すエッジ1106と、ユーザ「C」とユーザ「B」とのユーザ・ノード1102間の友達関係を示すエッジとを含む。本開示では特定のユーザ・ノード1102を接続する特定の属性を有する特定のエッジ1106について記載し示しているが、本開示では、ユーザ・ノード1102を接続する任意の好適な属性を有する任意の好適なエッジ1106が想定される。限定ではなく一例として、エッジ1106は、友達関係、家族関係、仕事関係もしくは雇用関係、ファン関係、フォロワー関係、ビジタ関係、加入者関係、主従関係、相互的関係、非相互的関係、別の好適なタイプの関係、または2以上のそのような関係を表してもよい。さらに、本開示は一般にノードを接続されているものとして記載してい
るが、本開示は、ユーザまたはコンセプトも接続されているものとして記載している。本明細書では、接続されているユーザまたはコンセプトへの言及は、適切な場合、ソーシャル・グラフ1100内で1または複数のエッジ1106によって接続されているユーザまたはコンセプトに対応するノードに及ぶ。
【0050】
特定の実施形態では、ユーザ・ノード1102とコンセプト・ノード1104との間のエッジ1106は、コンセプト・ノード1104に関連付けられているコンセプトに向かってユーザ・ノード1102に関連付けられているユーザによって行われる特定のアクションまたはアクティビティを表してもよい。限定ではなく一例として、図11に示されているように、ユーザは、コンセプトに対して「いいね」と表明することができ、コンセプトに「通った」、コンセプトを「プレイした」、「聴いた」、「調理した」、コンセプトに「勤務した」、またはコンセプトを「見た」のであり、コンセプトのそれぞれは、エッジタイプまたはサブタイプに対応する。コンセプト・ノード1104に対応するコンセプトプロフィールページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリッカ可能な「チェックイン」アイコン)または選択可能な「お気に入りに追加」アイコンを含んでもよい。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャル・ネットワーキング・システム1060は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジ、または「チェックイン」エッジを作成する。限定ではなく別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(オンラインミュージックアプリケーションであるSPOTIFY)を使用して特定の楽曲(「イマジン」)を聴く。この場合には、ソーシャル・ネットワーキング・システム1060は、ユーザに対応するユーザ・ノード1102と楽曲およびアプリケーションに対応するコンセプト・ノード1104との間に「聴いた」エッジ1106および「使用した」エッジ(図11に図示)を作成し、ユーザがその楽曲を聞き、そのアプリケーションを使用したことを示す。さらに、ソーシャル・ネットワーキング・システム1060は、楽曲およびアプリケーションに対応するコンセプト・ノード1104間に「プレイした」エッジ1106(図11に図示)を作成し、特定の楽曲が特定のアプリケーションによってプレイされたことを示す。この場合には、「プレイした」エッジ1106は、外部アプリケーション(SPOTIFY)によって外部オーディオファイル(楽曲「イマジン」)に対して行われたアクションに対応する。本開示では、ユーザ・ノード1102とコンセプト・ノード1104とを接続する特定の属性を有する特定のエッジ1106について記載しているが、本開示では、ユーザ・ノード1102とコンセプト・ノード1104とを接続する任意の好適な属性を有する任意の好適なエッジ1106が想定される。さらに、本開示では、ユーザ・ノード1102とコンセプト・ノード1104の間の単一の関係を表すエッジについて記載しているが、本開示では、ユーザ・ノード1102とコンセプト・ノード1104との間の1または複数の関係を表すエッジが想定される。限定ではなく一例として、エッジ1106は、ユーザが「いいね」と表明したこと、および特定のコンセプトを使用したことの両方を表してもよい。あるいは、別のエッジ1106が、ユーザ・ノード1102とコンセプト・ノード1104(図11に示されているように、ユーザ「E」に関するユーザ・ノード1102と「SPOTIFY」に関するコンセプト・ノード1104)との間の関係の各タイプ(または単一の関係の複数)を表してもよい。
【0051】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、ソーシャル・グラフ1100内でユーザ・ノード1102とコンセプト・ノード1104との間にエッジ1106を作成する。限定ではなく一例として、(たとえば、ウェブブラウザまたはユーザのクライアント・システム1030によってホストされる専用アプリケーションを使用することによってなど)コンセプトプロフィールページを閲覧するユーザは、「いいね」アイコンをクリックまたは選択することによって、ユーザがコンセプト・ノード1104によって表されたコンセプトに対して「いいね」と表明することを示す。これによって、ユーザのクライアント・システム1030は、コンセプトプロフィールページに関
連付けられているコンセプトに対してユーザが「いいね」と表明することを示すメッセージをソーシャル・ネットワーキング・システム1060へ送信する。このメッセージに応答して、ソーシャル・ネットワーキング・システム1060は、ユーザとコンセプト・ノード1104との間の「いいね」エッジ1106によって示されているように、ユーザに関連付けられているユーザ・ノード1102とコンセプト・ノード1104との間にエッジ1106を作成してもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、エッジ1106を1または複数のデータ・ストア内に記憶してもよい。特定の実施形態では、エッジ1106は、特定のユーザ・アクションに応答してソーシャル・ネットワーキング・システム1060によって自動的に形成されてもよい。限定ではなく一例として、第1のユーザが写真をアップロードし、映画を見たか、または楽曲を聴いた場合、エッジ1106は、第1のユーザに対応するユーザ・ノード1102とそれらのコンセプトに対応するコンセプト・ノード1104との間に形成されてもよい。本開示では、特定のエッジ1106を特定の方法で形成することについて記載しているが、本開示では、任意の好適なエッジ1106を任意の好適な方法で形成することが想定される。
【0052】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、互いについて様々なソーシャルグラフ・エンティティのソーシャル・グラフ親和性(本明細書では「親和性」と呼ばれる)を決定してよい。親和性は、ユーザ、コンセプト、コンテンツ、アクション、広告、オンライン・ソーシャル・ネットワークに関連付けられている他のオブジェクト、またはそれらの任意の適切な組み合わせなど、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間における関係の強さまたは関心のレベルを表すことができる。また、親和性は、サードパーティ・システム1070または他の適切なシステムに関連付けられているオブジェクトに関して決定されてもよい。各ユーザ、主題、またはコンテンツのタイプについて、ソーシャルグラフ・エンティティに対する総合親和性が確立されてもよい。総合親和性は、ソーシャルグラフ・エンティティに関連付けられているアクションまたは関係の継続的なモニタリングに基づき、変化し得る。本開示では特定の方式による特定の親和性の決定について記載するが、本開示では任意の適切な方式による任意の適切な親和性の決定が想定される。
【0053】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、親和性係数(本明細書では「係数」と呼ばれる)を用いてソーシャル・グラフ親和性を測定または定量してよい。この係数は、オンライン・ソーシャル・ネットワークに関連付けられている特定のオブジェクト間の関係の強さを表してよい、または定量してよい。また、この係数は、ユーザが特定のアクションを行う予測される確率を測定する確率または関数を表してもよく、この確率または関数は、そのアクションについてのそのユーザの関心に基づく。このようにして、ユーザの将来のアクションは、ユーザの以前のアクションに基づいて予測されることができ、その係数は少なくとも部分的にはユーザのアクションの履歴により計算され得る。係数は、オンライン・ソーシャル・ネットワークの内外の任意の数のアクションを予測するために用いられてよい。限定ではなく一例として、これらのアクションは、メッセージの送信、コンテンツのポスト、またはコンテンツに対するコメントなど、様々なタイプの通信、プロフィール・ページ、メディア、または他の適切なコンテンツのアクセスまたは閲覧など、様々なタイプの観察アクション、同じグループにある、同じ写真にタグ付けされる、同じロケーションにおいてチェックインされる、もしくは同じイベントに出席する、または他の適切なアクションなど、2つ以上のソーシャルグラフ・エンティティに関する様々なタイプの同時発生情報、または他の適切なアクションを含んでよい。本開示では特定の方式による特定の親和性の測定について記載するが、本開示では任意の適切な方式による親和性の測定が想定される。
【0054】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、係数を計
算するために様々な因子を用いてよい。これらの因子は、例えば、ユーザ・アクション、オブジェクト間の関係のタイプ、ロケーション情報、他の適切な因子、またはそれらの任意の組み合わせを含んでよい。特定の実施形態では、係数を計算するとき、様々な因子に異なる重み付けを行ってもよい。各因子の重みは静的であってもよく、例えば、ユーザ、関係のタイプ、アクションのタイプ、ユーザのロケーションなどによって変化してもよい。因子のための格付け、そのユーザに対する総合的な係数を決定するべく、それらの重みにしたがって組み合わせられてもよい。限定ではなく一例として、特定のユーザ・アクションには格付けおよび重みの両方が割り当てられる一方、その特定のユーザ・アクションに関連付けられている関係には、格付けと相互に関連する重みとが割り当てられる(例えば、したがって重みが計100%になる)。特定のオブジェクトに対するユーザの係数を計算するために、そのユーザのアクションに割り当てられた格付けが、例えば、総合的な係数の60%を含む一方、そのユーザとそのオブジェクトとの間の関係は、総合的な係数の40%を含んでもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、係数を計算するために用いられる様々な因子の重みを決定するときに、例えば、情報がアクセスされてからの時間、減衰因子、アクセスの頻度、情報に対する関係またはそれに関する情報がアクセスされたオブジェクトに対する関係、オブジェクトに接続されたソーシャルグラフ・エンティティに対する関係、ユーザ・アクションの短期的または長期的な平均、ユーザ・フィードバック、他の適切な変数、またはそれらの任意の組み合わせなど、様々な変数を考慮してもよい。限定ではなく一例として、係数は、係数を計算するとき、より最近のアクションがより関連性を有するように、特定のアクションによって提供される信号の強さを時間とともに減衰させる減衰因子を含んでもよい。格付けおよび重みは、その係数が基づくアクションの継続的なトラッキングに基づいて、継続的に更新されてもよい。任意のタイプのプロセスまたはアルゴリズムが、各因子およびそれらの因子に割り当てられる重みの格付けの割当、結合、平均化などに用いられてよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、履歴のアクションおよび過去のユーザ応答、またはデータを様々なオプションに晒し応答を測定することによってユーザから集められたデータに基づきトレーニングされた機械学習アルゴリズムを用いて、係数を決定してもよい。本開示では特定の方式による特定の係数の計算について記載するが、本開示では任意の適切な方式による係数の計算が想定される。
【0055】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、ユーザのアクションに基づき係数を計算してもよい。ソーシャル・ネットワーキング・システム1060は、オンライン・ソーシャル・ネットワーク上、サードパーティ・システム1070上、他の適切なシステム上、またはそれらの任意の組み合わせ上において、そのようなアクションを監視してよい。任意の適切なタイプのユーザ・アクションのトラッキングまたは監視が行われてよい。典型的なユーザ・アクションには、プロフィール・ページを閲覧すること、コンテンツを作成またはポストすること、コンテンツと対話すること、画像にタグを付けるまたは画像によりタグを付けること、グループに参加すること、イベントへの参加をリストまたは確認すること、ロケーションにチェックインすること、特定のページに「いいね」と表明すること、ページを作成すること、およびソーシャル・アクションを行う他のタスクを実行することが含まれる。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、特定のタイプのコンテンツを有するユーザのアクションに基づき、係数を計算してよい。コンテンツは、オンライン・ソーシャル・ネットワーク、サードパーティ・システム1070、または別の適切なシステムに関連付けられてよい。コンテンツは、ユーザ、プロフィール・ページ、ポスト、ニュース・ストーリ、ヘッドライン、インスタント・メッセージ、チャット・ルーム会話、電子メール、広告、写真、動画、音楽、他の適切なオブジェクト、またはそれらの任意の組み合わせを含んでよい。ソーシャル・ネットワーキング・システム1060は、ユーザのアクションを、そのアクションのうちの1つ以上が主題、コンテンツ、他のユーザなどに対する親和性を示すか否かを判定するために分析してよい。限定ではなく一例として、ユーザが、「コーヒー
」またはその変形に関係するコンテンツを頻繁にポストする場合、ソーシャル・ネットワーキング・システム1060は、ユーザがコンセプト「コーヒー」に関して高い係数を有すると決定してもよい。特定のアクションまたはアクションのタイプは、他のアクションよりも大きな重み、より高い格付け、またはその両方を割り当てられ、これが総合的な計算された係数に影響を与えてもよい。限定ではなく一例として、第1のユーザが第2のユーザに電子メールを送る場合、そのアクションに対する重みまたは格付けは、第1のユーザが単に第2のユーザのユーザ・プロファイル・ページを閲覧する場合よりも高くてもよい。
【0056】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、特定のオブジェクトの間の関係のタイプに基づき係数を計算してもよい。ソーシャル・グラフ1100を参照すると、ソーシャル・ネットワーキング・システム1060は、係数を計算するとき、特定のユーザ・ノード1102およびコンセプト・ノード1104を接続するエッジ1106の数および/またはタイプを分析してもよい。限定ではなく一例として、配偶者タイプのエッジ(2人のユーザが結婚していることを表す)によって接続されているユーザ・ノード1102は、友達タイプのエッジによって接続されているユーザ・ノード1102より高い係数を割り当てられてもよい。換言すれば、特定のユーザのアクション及び関係に割り当てられた重みに応じて、総合親和性は、ユーザの友達に関するコンテンツに対するよりもユーザの配偶者に関するコンテンツに対してより高くなるように決定されてもよい。特定の実施形態では、ユーザが別のオブジェクトと有する関係は、そのオブジェクトについての係数の計算に関して重みおよび/またはユーザのアクションの格付けに影響を与えてもよい。限定ではなく一例として、ユーザが第1の写真にタグ付けされているが、第2の写真にいいねと表明しかしない場合、コンテンツに対してタグ付けタイプの関係を有することにはコンテンツに対していいねタイプの関係を有するよりも高い重みおよび/または格付けが割り当てられることから、ソーシャル・ネットワーキング・システム1060は、ユーザが第2の写真より第1の写真に関して高い係数を有すると決定してもよい。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、1以上の第2のユーザが特定のオブジェクトに対して有する関係に基づき、第1のユーザのための係数を計算してもよい。換言すれば、他のユーザがオブジェクトに対して有する接続および係数は、そのオブジェクトに対する第1のユーザの係数に影響を与えてもよい。限定ではなく一例として、第1のユーザが1以上の第2のユーザに接続されるか、1以上の第2のユーザに対する高い係数を有し、それらの第2のユーザが特定のオブジェクトに接続されるか、特定のオブジェクトに対する高い係数を有する場合、ソーシャル・ネットワーキング・システム1060は、その特定のオブジェクトに対して第1のユーザが比較的高い係数を有するべきであると決定してもよい。特定の実施形態では、係数は特定のオブジェクト間の隔たりの程度に基づいてもよい。係数が低いほど、ソーシャル・グラフ1100において第1のユーザに間接的に接続されているユーザのコンテンツ・オブジェクトへの関心を第1のユーザが共有する見込みが減少することを表してもよい。限定ではなく一例として、ソーシャル・グラフ1100においてより近くにある(すなわち、より隔たりの程度が小さい)ソーシャルグラフ・エンティティ同士は、ソーシャル・グラフ1100においてより遠くにあるエンティティ同士よりも高い係数を有してもよい。
【0057】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、ロケーション情報に基づき係数を計算してもよい。互いに地理的に近くにあるオブジェクト同士は、より離れたオブジェクト同士よりも、より関連している、または互いにより高い関心を有すると考えられてよい。特定の実施形態では、特定のオブジェクトに対するユーザの係数は、そのユーザに関連付けられている現在のロケーション(またはそのユーザのクライアント・システム1030のロケーション)に対するそのオブジェクトのロケーションの近接度に基づいてもよい。第1のユーザは、第1のユーザのより近くにある他のユーザまたはコンセプトに、より高い関心を有し得る。限定ではなく一例として、ユーザが空港か
ら1マイル(約1.6km)に位置し、ガソリン・スタンドから2マイル(約3.2km)に位置する場合、ソーシャル・ネットワーキング・システム1060は、そのユーザに対する空港の近接度に基づき、ユーザがガソリン・スタンドよりも空港に対しより高い係数を有すると決定してもよい。
【0058】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、係数情報に基づきユーザに関する特定のアクションを行ってもよい。係数を用いて、ユーザが特定のアクションを行うか否かを、そのアクションについてのそのユーザの関心に基づき予測することができる。係数は、広告、検索結果、ニュース・ストーリ、メディア、メッセージ、通知、または他の適切なオブジェクトなど、ユーザに対する任意のタイプのオブジェクトを生成または提示するときに用いられてよい。また、適切な場合、係数は、そのようなオブジェクトのランクおよび順序を決定するためにも利用されて得る。このように、ソーシャル・ネットワーキング・システム1060は、ユーザの関心および現在の状況に関連する情報を提供してもよく、それによって、それらがそのような関心を有する情報を見出す見込みを高める。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、係数情報に基づきコンテンツを生成してもよい。コンテンツ・オブジェクトは、ユーザに特有の係数に基づき提供または選択されてもよい。限定ではなく一例として、係数はユーザに対するメディアを生成するために用いられてもよく、ユーザには、そのメディア・オブジェクトに関してそのユーザが高い総合係数を有するメディアが、提示される。限定ではなく別の一例として、限定ではなく一例として、係数はユーザに対する広告を生成するために用いられてもよく、ユーザには、その広告オブジェクトに関してそのユーザが高い総合係数を有する広告が、提示される。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、係数情報に基づき検索結果を生成してもよい。特定のユーザのための検索結果は、問い合わせを行うユーザに関して検索結果に関連付けられている係数に基づき、得点またはランクを決定されてよい。限定ではなく一例として、より高い係数を有するオブジェクトに対応する検索結果は、より低い係数を有するオブジェクトに対応する結果よりも、検索結果のページにおいて、より高いランクを決定されてもよい。
【0059】
特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、特定のシステムまたはプロセスからの係数の要求に応じて、係数を計算してもよい。ユーザが所与の状況において取り得る(あるいは対象となる)可能性の高いアクションを予測するために、任意のプロセスによって、ユーザの計算された係数が要求されてよい。また、この要求は、係数を計算するために用いられる様々な因子に用いる1組の重みを含んでもよい。この要求は、オンライン・ソーシャル・ネットワーク上で動作するプロセスから、サードパーティ・システム1070から(例えば、APIまたは他の通信チャンネルを介して)、または別の適切なシステムから届いてよい。要求に応じて、ソーシャル・ネットワーキング・システム1060は、係数を計算してよい(または、係数が以前に計算され記憶されている場合、その係数情報にアクセスしてよい)。特定の実施形態では、ソーシャル・ネットワーキング・システム1060は、特定のプロセスに関する親和性を測定してもよい。様々なプロセス(オンライン・ソーシャル・ネットワークに対して内外の両方)は、特定の1つのオブジェクトまたは複数のオブジェクトからなる組に対する係数を要求してもよい。ソーシャル・ネットワーキング・システム1060は、親和性の尺度を要求した特定のプロセスに関連する親和性の尺度を提供してもよい。このように、各プロセスは、プロセスが親和性の尺度を用いる様々なコンテキストに適合する親和性の尺度を受信する。
【0060】
ソーシャル・グラフ親和性および親和性係数に関して、特定の実施形態では、米国特許出願第11/503093号(2006年8月11日提出)、米国特許出願第12/977027号(2010年12月22日提出)、米国特許出願第12/978265号(2
010年12月23日受信)、および米国特許出願第13/632869号、において開示されている1以上のシステム、構成要素、要素、機能、方法、動作、または工程を利用してよい。それらの文献の各々を引用によって本明細書に援用する。
【0061】
図12は、例示的なコンピュータ・システム1200を示す。特定の実施形態では、1または複数のコンピュータ・システム1200は、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施する。特定の実施形態では、1または複数のコンピュータ・システム1200は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、1または複数のコンピュータ・システム1200上で動作するソフトウェアは、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、1または複数のコンピュータ・システム1200の1または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、1または複数のコンピュータ・システムを包含してもよい。
【0062】
本開示では、任意の好適な数のコンピュータ・システム1200が想定される。本開示では、任意の好適な物理形態をとるコンピュータ・システム1200が想定される。限定ではなく一例として、コンピュータ・システム1200は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、移動体電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2以上の組合せであってよい。適切な場合、コンピュータ・システム1200は、1または複数のコンピュータ・システム1200を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータ・センタに跨ってもよく、クラウド内にあってもよく、クラウドは、1または複数のネットワーク内で1または複数のクラウド・コンポーネントを含んでもよい。適切な場合、1または複数のコンピュータ・システム1200は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。限定ではなく一例として、1つまたは複数のコンピュータ・システム1200は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。1または複数のコンピュータ・システム1200は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。
【0063】
特定の実施形態では、コンピュータ・システム1200は、プロセッサ1202、メモリ1204、ストレージ1206、入力/出力(I/O)インタフェース1208、通信インタフェース1210、およびバス1212を含む。本開示では、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、本開示では、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムが想定される。
【0064】
特定の実施形態では、プロセッサ1202は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定ではなく一例として、命令を実行するために、プロセッサ1202は、内部レジスタ、内部キャッシュ、メモリ1204、
またはストレージ1206から命令を取り出し(またはフェッチし)、それらを復号および実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ1204、またはストレージ1206に書き込む。特定の実施形態では、プロセッサ1202は、データ、命令、またはアドレス用に1または複数の内部キャッシュを含んでもよい。本開示では、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1202が想定される。限定ではなく一例として、プロセッサ1202は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の変換索引バッファ(TLB)を含んでもよい。命令キャッシュ内の命令は、メモリ1204またはストレージ1206内の命令のコピーであってもよく、命令キャッシュは、プロセッサ1202によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ1202にて実行される命令が操作するための、メモリ1204またはストレージ1206内のデータのコピー、プロセッサ1202で実行される後続の命令によるアクセスための、またはメモリ1204もしくはストレージ1206に書き込むための、プロセッサ1202で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ1202による読出しまたは書込み動作を高速化する。TLBは、プロセッサ1202のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ1202は、データ、命令、またはアドレス用に1または複数の内部レジスタを含む。本開示では、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1202が想定される。適切な場合、プロセッサ1202は、1または複数の算術論理演算ユニット(ALU)を含むことができ、マルチコア・プロセッサであってもよく、1または複数のプロセッサ1202を含んでもよい。本開示では、特定のプロセッサについて記載し示しているが、本開示では、任意の好適なプロセッサが想定される。
【0065】
特定の実施形態では、メモリ1204は、プロセッサ1202が実行するための命令、またはプロセッサ1202が操作するためのデータを記憶するための主記憶装置を含む。限定ではなく一例として、コンピュータ・システム1200は、ストレージ1206または別のソース(たとえば、別のコンピュータ・システム1200など)からメモリ1204に命令をロードする。次いで、プロセッサ1202は、メモリ1204から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ1202は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ1202は、1または複数の結果(中間結果であることも最終結果であることもある)を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ1202は、それらの結果の1または複数をメモリ1204に書き込む。特定の実施形態では、プロセッサ1202は、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ1206もしくは他の場所ではなく)メモリ1204内の命令だけを実行し、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ806もしくは他の場所ではなく)メモリ1204内のデータだけを操作する。1または複数のメモリ・バス(それぞれがアドレス・バスとデータ・バスを含むことがある)がプロセッサ1202をメモリ1204に結合してもよい。バス1212は、下記に記載されているように、1または複数のメモリ・バスを含んでもよい。特定の実施形態では、1または複数のメモリ管理ユニット(MMU)が、プロセッサ1202とメモリ1204との間に存在し、プロセッサ1202によって要求されるメモリ1204へのアクセスを容易にする。特定の実施形態では、メモリ1204は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、適切な場合、このRAMは、シングルポート型またはマルチポート型RAMであってよい。本開示では、任意の好適なRAMが想定される。メモリ1204は、適切な場合、1または複数のメモリ1204を含んでもよい。本開示では、特定のメモリについて記載し示しているが、本開示では、任意の好適なメモリが想定
される。
【0066】
特定の実施形態では、ストレージ1206は、データまたは命令用のマス・ストレージを含む。限定ではなく一例として、ストレージ1206は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらの2以上の組合せを含んでもよい。ストレージ1206は、適切な場合、取外し式または非取外し式(または固定)媒体を含んでもよい。ストレージ1206は、適切な場合、コンピュータ・システム1200に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ1206は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ1206は、読出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムドROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、もしくはフラッシュ・メモリ、またはこれらの2以上の組合せであってよい。本開示では、任意の好適な物理形態をとるマス・ストレージ1206が想定される。ストレージ1206は、適切な場合、プロセッサ1202とストレージ1206の間の通信を容易にする1または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ1206は、1または複数のストレージ1206を含んでもよい。本開示では、特定のストレージについて記載し示しているが、本開示では、任意の好適なストレージが想定される。
【0067】
特定の実施形態では、I/Oインタフェース1208は、コンピュータ・システム1200と1または複数のI/Oデバイスとの間の通信のために1または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム1200は、適切な場合、これらのI/Oデバイスの1または複数を含んでもよい。これらのI/Oデバイスの1または複数は、人とコンピュータ・システム1200の間の通信を可能にする。限定ではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2以上の組合せを含んでもよい。I/Oデバイスは、1または複数のセンサを含んでもよい。本開示では、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインタフェース1208が想定される。適切な場合、I/Oインタフェース1208は、プロセッサ1202がこれらのI/Oデバイスの1または複数を駆動することを可能にする1または複数のデバイスまたはソフトウェア・ドライバを含む。I/Oインタフェース1208は、適切な場合、1または複数のI/Oインタフェース1208を含んでもよい。本開示では、特定のI/Oインタフェースについて記載し示しているが、本開示では、任意の好適なI/Oインタフェースが想定される。
【0068】
特定の実施形態では、通信インタフェース1210は、コンピュータ・システム1200と1もしくは複数の他のコンピュータ・システム1200または1もしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のために1または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく一例として、通信インタフェース1210は、ETHERNET(登録商標)もしくは他の有線ベースのネットワークとの通信のためのインタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなど無線ネットワークとの通信のための無線NIC(WNIC)もしくは無線アダプタを含んでもよい。本開示では、任意の好適なネットワーク、およびそのための任意の好適な通信インタフェース1210が想定される。限定ではなく一例として、コンピュータ・システム1200は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカ
ル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1もしくは複数の部分、あるいはこれらの2以上の組合せと通信する。これらのネットワークの1または複数のうちの1または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム1200は、無線PAN(WPAN)(たとえば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話ネットワーク(たとえば、グローバル移動体通信システム(GSM(登録商標))ネットワークなど)、もしくは他の好適な無線ネットワーク、またはこれらの2以上の組合せと通信する。コンピュータ・システム1200は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インタフェース1210を含んでもよい。通信インタフェース1210は、適切な場合、1または複数の通信インタフェース1210を含んでもよい。本開示では、特定の通信インタフェースについて記載し示しているが、本開示では、任意の好適な通信インタフェースが想定される。
【0069】
特定の実施形態では、バス1212は、コンピュータ・システム1200の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく一例として、バス1212は、アクセラレィティッド・グラフィックス・ポート(AGP)もしくは他のグラフィックス・バス、EISA(Enhanced Industry Standard Architecture)バス、フロントサイド・バス(FSB)、HT(HYPERTRANSPORT)相互接続、ISA(Industry Standard Architecture)バス、インフィニバンド相互接続、LPC(low−pin−count)バス、メモリ・バス、MCA(Micro Channel Architecture)バス、PCI(Peripheral Component
Interconnect)バス、PCIエクスプレス(PCIe)バス、SATA(serial advanced technology attachment)バス、VLB(Video Electronics Standards Association local)バス、もしくは別の好適なバス、またはこれらの2以上の組合せを含んでもよい。バス1212は、適切な場合、1または複数のバス1212を含んでもよい。本開示では、特定のバスについて記載し示しているが、本開示では、任意の好適なバスまたは相互接続が想定される。
【0070】
本明細書では、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、1または複数の半導体ベースの、もしくは他の集積回路(IC)(たとえば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC))、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの2以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
【0071】
本明細書では、「または(もしくは)」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的(inclusive)であり、排他的なものではない。したがって、本明細書では、「AまたはB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「A、B、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「AおよびB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「AおよびB
を共同で、または個別的に」意味する。
【0072】
本開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。本開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、本開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。
図2
図4
図7
図1
図3
図5
図6
図8
図9
図10
図11
図12