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